欧美在线观看视频网站,亚洲熟妇色自偷自拍另类,啪啪伊人网,中文字幕第13亚洲另类,中文成人久久久久影院免费观看 ,精品人妻人人做人人爽,亚洲a视频

可編程視頻處理和視頻存儲(chǔ)結(jié)構(gòu)的制作方法

文檔序號(hào):7609738閱讀:285來(lái)源:國(guó)知局
專利名稱:可編程視頻處理和視頻存儲(chǔ)結(jié)構(gòu)的制作方法
技術(shù)領(lǐng)域
本發(fā)明一般涉及電子數(shù)據(jù)處理,更具體地說(shuō),涉及可編程視頻處理和視頻存儲(chǔ)結(jié)構(gòu)。
背景技術(shù)
已經(jīng)開發(fā)了許多不同的電子設(shè)備來(lái)協(xié)助觀眾記錄和觀看視頻。一種需求在增加的此類設(shè)備是數(shù)字視頻錄像機(jī),它允許用戶暫停實(shí)況轉(zhuǎn)播的電視、回退等。


通過(guò)參考說(shuō)明本發(fā)明實(shí)施例的以下描述和附圖,將最好地理解本發(fā)明的實(shí)施例。本文所含附圖的編號(hào)方式是一個(gè)附圖中的給定參考號(hào)的第一個(gè)數(shù)字與該附圖的編號(hào)相關(guān)。例如,在圖1中可以找到系統(tǒng)100。但是,對(duì)于不同附圖中相同的那些部件,參考號(hào)是相同的。在附圖中圖1圖示根據(jù)本發(fā)明一個(gè)實(shí)施例的系統(tǒng)配置的簡(jiǎn)化框圖,包括可編程視頻處理和視頻存儲(chǔ)結(jié)構(gòu)。
圖2圖示根據(jù)本發(fā)明一個(gè)實(shí)施例的可編程處理單元更詳細(xì)框圖。
圖3圖示根據(jù)本發(fā)明一個(gè)實(shí)施例的可編程處理器的更詳細(xì)框圖。
圖4圖示根據(jù)本發(fā)明一個(gè)實(shí)施例的可編程處理器的端口環(huán)和相關(guān)端口。
圖5圖示根據(jù)本發(fā)明一個(gè)實(shí)施例的發(fā)射器或接收器端口內(nèi)的FIFO存儲(chǔ)器和該存儲(chǔ)器的相關(guān)接口信號(hào)。
圖6圖示根據(jù)本發(fā)明一個(gè)實(shí)施例的接收器端口以及相關(guān)接口信號(hào)的更詳細(xì)框圖。
圖7A-7G圖示根據(jù)本發(fā)明一個(gè)實(shí)施例的與不同發(fā)射器端口通信的接收器端口的更詳細(xì)框圖。
圖8圖示根據(jù)本發(fā)明一個(gè)實(shí)施例的發(fā)射器端口以及相關(guān)接口信號(hào)的更具體的框圖。
圖9A-9E圖示根據(jù)本發(fā)明一個(gè)實(shí)施例的與使用不同接口信號(hào)的不同接收器端口通信的發(fā)射器端口的更詳細(xì)框圖。
圖10圖示根據(jù)本發(fā)明一個(gè)實(shí)施例用于從源可編程處理器到目的可編程處理器的給定邏輯連接的許多不同路由。
圖11圖示根據(jù)本發(fā)明一個(gè)實(shí)施例用于可編程處理單元內(nèi)建立和初始化邏輯連接的流程圖。
圖12圖示根據(jù)本發(fā)明一個(gè)實(shí)施例用于可編程處理單元處理數(shù)據(jù)的流程圖。
圖13A-13B圖示根據(jù)本發(fā)明實(shí)施例用于可編程處理器中的不同端口的存儲(chǔ)器之間通信的流程圖。
圖14圖示根據(jù)本發(fā)明一個(gè)實(shí)施例的可編程處理單元的多模式操作的流程圖。
具體實(shí)施例方式
描述了用于可編程視頻處理和視頻存儲(chǔ)結(jié)構(gòu)的方法、裝置和系統(tǒng)。在下文描述中,闡述了大量具體細(xì)節(jié)。但是,要理解,本發(fā)明的實(shí)施例可不依據(jù)這些具體細(xì)節(jié)來(lái)實(shí)施。在其它示例中,沒(méi)有詳細(xì)示出已熟知的電路、結(jié)構(gòu)和技術(shù),以便不模糊對(duì)本說(shuō)明書的理解。雖然是參考視頻處理和存儲(chǔ)來(lái)描述的,但是本發(fā)明的實(shí)施例并不局限于此。例如,本發(fā)明的實(shí)施例可以包括作為視頻和/或音頻一部分的音頻元數(shù)據(jù)等的處理和存儲(chǔ)(例如關(guān)閉字幕等)。
本詳細(xì)說(shuō)明分成兩個(gè)部分。在第一部分中,給出硬件和操作環(huán)境。在第二部分中,給出可編程視頻處理和視頻存儲(chǔ)結(jié)構(gòu)的可編程處理單元的操作。此外,還對(duì)第一部分和第二部分進(jìn)行了劃分。第一部分被分成系統(tǒng)的說(shuō)明、可編程處理單元的說(shuō)明、可編程處理器的說(shuō)明、端口環(huán)和可編程處理器端口的說(shuō)明以及可編程處理器之間邏輯連接的說(shuō)明。第二部分被分成可編程處理器之間數(shù)據(jù)傳輸操作的說(shuō)明以及可編程處理單元多模式操作的說(shuō)明。
硬件和操作環(huán)境在這一部分中,給出硬件和操作環(huán)境。
系統(tǒng)說(shuō)明圖1圖示根據(jù)本發(fā)明一個(gè)實(shí)施例的系統(tǒng)配置的簡(jiǎn)化框圖,包括可編程視頻處理和視頻存儲(chǔ)結(jié)構(gòu)。如圖所示,圖1圖示系統(tǒng)100,它包括視頻調(diào)諧器102、視頻信號(hào)處理器104、可編程處理單元106、存儲(chǔ)器108、視頻顯示處理器110和視頻顯示器112。在一個(gè)實(shí)施例中,系統(tǒng)100可包括可設(shè)在任何數(shù)量不同觀看設(shè)備如不同類型電視、計(jì)算機(jī)監(jiān)視器等內(nèi)的組件。在另一個(gè)實(shí)施例中,這些組件的一部分可以是機(jī)頂盒、媒體中心等的一部分。例如,視頻調(diào)諧器102、視頻信號(hào)處理器104、可編程處理單元106和存儲(chǔ)器108可設(shè)在機(jī)頂盒內(nèi),而視頻顯示處理器110和視頻顯示器112設(shè)在顯示設(shè)備(例如電視)內(nèi)。在一個(gè)實(shí)施例中,存儲(chǔ)器108可以是不同類型的隨機(jī)存取存儲(chǔ)器(RAM)。例如,存儲(chǔ)器108可以是同步動(dòng)態(tài)RAM(SDRAM)、DRAM、雙倍數(shù)據(jù)速率(DDR)同步動(dòng)態(tài)RAM(SDRAM)等。
視頻調(diào)諧器102連接到視頻信號(hào)處理器104。視頻信號(hào)處理器104連接到可編程處理單元106??删幊烫幚韱卧?06連接到存儲(chǔ)器108和視頻顯示處理器110。視頻顯示處理器110連接到視頻顯示器112。連接視頻調(diào)諧器102以接收信號(hào)114。在一個(gè)實(shí)施例中,信號(hào)114是射頻(RF)信號(hào)。視頻調(diào)諧器102基于當(dāng)前為在視頻顯示器112上觀看而選擇的頻道,接收信號(hào)114,并將信號(hào)114轉(zhuǎn)換成模擬視頻信號(hào)116。
視頻信號(hào)處理器104接收模擬視頻信號(hào)116,并將模擬視頻信號(hào)116轉(zhuǎn)換成數(shù)字視頻信號(hào)118。在一個(gè)實(shí)施例中,在模擬視頻信號(hào)116轉(zhuǎn)換成數(shù)字視頻信號(hào)118前,視頻信號(hào)處理器104對(duì)模擬視頻信號(hào)116濾波。例如,視頻信號(hào)處理器104可對(duì)模擬視頻信號(hào)116濾波,以從相鄰頻道移除噪聲。在一個(gè)實(shí)施例中,視頻信號(hào)處理器104對(duì)模擬視頻信號(hào)116濾波,以移除來(lái)自音頻信號(hào)的噪聲。數(shù)字視頻信號(hào)118可以是可包含用于在視頻顯示器112上顯示的同步信號(hào)的數(shù)據(jù)流。
可編程處理單元106接收數(shù)字視頻信號(hào)118。如下文進(jìn)一步描述的,在一個(gè)實(shí)施例中,可編程處理單元106根據(jù)系統(tǒng)100的當(dāng)前模式執(zhí)行不同的操作。在一個(gè)此類實(shí)施例中,可編程處理單元106以如下兩種模式其中之一操作1)存儲(chǔ)模式以及2)圖像處理模式。在存儲(chǔ)模式中,系統(tǒng)100的用戶可能正在保存或重放已接收到系統(tǒng)100中的視頻。在一個(gè)實(shí)施例中,可編程處理單元106將視頻存儲(chǔ)在存儲(chǔ)器108中。為了圖示,假定系統(tǒng)100是電視的一部分。用戶可保存正在信號(hào)114上接收的視頻。例如,用戶可將正在視頻顯示器112上顯示的視頻暫停一給定時(shí)間段。此外,在存儲(chǔ)模式中,用戶可重放在視頻顯示器112上顯示的視頻,由此使輸入視頻的存儲(chǔ)被存儲(chǔ)在存儲(chǔ)器108中。
在一個(gè)實(shí)施例中,如果用戶未將可編程處理單元106置于存儲(chǔ)模式,則可編程處理單元106處于圖像處理模式。在一個(gè)實(shí)施例中,編程處理單元106保持在存儲(chǔ)模式,直到存儲(chǔ)器108不包含所存儲(chǔ)的視頻以供顯示為止。當(dāng)用戶未在嘗試重放保存在存儲(chǔ)器108內(nèi)的視頻,或用戶未在嘗試將正在接收到系統(tǒng)100中的視頻保存在存儲(chǔ)器108時(shí),可以啟動(dòng)圖像處理模式。如下文進(jìn)一步描述的,在一個(gè)此類實(shí)施例中,可編程處理單元106對(duì)輸入視頻信號(hào)執(zhí)行增強(qiáng)的視頻處理。這種增強(qiáng)可以包括減少重影、噪聲、點(diǎn)蠕動(dòng)等??删幊烫幚韱卧?06可以使用存儲(chǔ)器108來(lái)存儲(chǔ)輸入視頻的多個(gè)幀。因此,可編程處理單元106可以執(zhí)行多個(gè)幀上圖像的增強(qiáng)。例如,可編程處理單元106可在多個(gè)幀上執(zhí)行時(shí)間噪聲減少。下文將更詳細(xì)地描述可編程處理單元106及其中的操作。
視頻顯示處理器110從可編程處理單元106接收視頻,并可對(duì)該視頻執(zhí)行許多操作,以便在視頻顯示器112上顯示。例如,視頻顯示處理器110可基于色彩設(shè)置、對(duì)比度設(shè)置等來(lái)調(diào)節(jié)視頻。連接視頻顯示器112,以從視頻顯示處理器110接收信號(hào)。雖然視頻顯示器112可以是許多不同類型的顯示器,但在一個(gè)實(shí)施例中,視頻顯示器112可以是陰極射線管(CRT)、等離子顯示器、液晶顯示器(LCD)等。
因此,本發(fā)明的實(shí)施例包括靈活的可編程結(jié)構(gòu),以基于操作模式來(lái)提供備選功能。此類功能包括數(shù)字視頻錄像機(jī)的操作以及考慮到對(duì)視頻的增強(qiáng)圖像處理的操作。因此,結(jié)合本發(fā)明實(shí)施例的顯示設(shè)備可提供對(duì)廣播內(nèi)容的給定頻道的回退、暫停、快進(jìn)和播放功能,以及廣播內(nèi)容的改進(jìn)的圖像質(zhì)量。
可編程處理單元的說(shuō)明現(xiàn)在描述可編程處理單元106的一個(gè)實(shí)施例。具體來(lái)說(shuō),圖2圖示了根據(jù)本發(fā)明一個(gè)實(shí)施例的可編程處理單元的更詳細(xì)框圖。如圖所示,可編程處理單元106包括可編程處理器202A-202H。可編程處理器202A-202H分別包括端口環(huán)250A-250H。如下文進(jìn)一步描述的,端口環(huán)250A-250H包括許多端口,通過(guò)這些端口可編程處理器202A-202H傳送接口(控制和數(shù)據(jù))信號(hào)。在一個(gè)實(shí)施例中,給定的端口環(huán)250包括8個(gè)I/O端口,其中每個(gè)此類I/O端口是雙向連接,以便可以經(jīng)由兩個(gè)單獨(dú)的單向數(shù)據(jù)總線同時(shí)發(fā)送和接收數(shù)據(jù)。換言之,I/O端口包括發(fā)射器端口和接收器端口。
可編程處理單元106還包括直接存儲(chǔ)器存取(DMA)單元204、DMA單元210、存儲(chǔ)器接口206、輸入/輸出(I/O)接口208以及主機(jī)處理器214。雖然圖2圖示了8個(gè)可編程處理器202,但是實(shí)施例并不局限于此,因?yàn)榭蓪⒏蠛?或更小數(shù)量的此類元件結(jié)合到可編程處理單元106的實(shí)施例中。在一個(gè)實(shí)施例中,主機(jī)處理器214可以是不同類型的通用處理器。I/O接口208提供了至可編程處理單元106的I/O設(shè)備或外圍組件的接口。I/O接口208可包括任何適當(dāng)?shù)慕涌诳刂破?,以提供至可編程處理單?06的不同組件的任何適當(dāng)?shù)耐ㄐ沛溌?。一個(gè)實(shí)施例的I/O接口208為許多接口的其中之一提供適當(dāng)?shù)闹俨煤途彌_。
如圖所示,可編程處理器202A-202H之間的互連提供了點(diǎn)到點(diǎn)最近相鄰配置,其中給定的可編程處理器202在物理上連接到可編程處理單元106內(nèi)的四個(gè)其它部件(例如不同的可編程處理器202、DMA單元204)。換言之,給定可編程處理器204并非在物理上連接到可編程處理單元106內(nèi)的每個(gè)其它可編程處理器204。如下文進(jìn)一步描述的,可經(jīng)由一系列中間可編程處理器202將數(shù)據(jù)從源可編程處理器202發(fā)送到目的可編程處理器202。在一個(gè)實(shí)施例中,經(jīng)由一系列中間可編程處理器202的傳送是這樣的使得數(shù)據(jù)經(jīng)由端口環(huán)250在中間可編程處理器202的接收器端口上接收,并在中間可編程處理器202的發(fā)射器端口上輸出。因此,中間可編程處理器202內(nèi)沒(méi)有處理器部件對(duì)數(shù)據(jù)執(zhí)行作為將數(shù)據(jù)從源傳送到目的可編程處理器202的一部分的處理操作。
經(jīng)由端口環(huán)250A,可編程處理器202A通過(guò)兩個(gè)I/O端口連接到I/O接口208,并通過(guò)不同的I/O端口連接到可編程處理器202D的端口環(huán)250D。經(jīng)由端口環(huán)250A,可編程處理器202A通過(guò)兩個(gè)其它不同的I/O端口連接到DMA單元204。經(jīng)由端口環(huán)250A,可編程處理器202A還通過(guò)另外兩個(gè)不同的I/O端口連接到可編程處理器202B的端口環(huán)250B。再者,經(jīng)由端口環(huán)250A,可編程處理器202A還通過(guò)兩個(gè)其它I/O端口連接到可編程處理器202E的端口環(huán)250E。
經(jīng)由端口環(huán)250B,可編程處理器202B通過(guò)兩個(gè)不同的I/O端口連接到DMA單元204。經(jīng)由端口環(huán)250B,可編程處理器202B還通過(guò)兩個(gè)其它不同的I/O端口連接到可編程處理器202C的端口環(huán)250C。經(jīng)由端口環(huán)250B,可編程處理器202B通過(guò)另外兩個(gè)不同的I/O端口連接到可編程處理器202F的端口環(huán)250F。
經(jīng)由端口環(huán)250C,可編程處理器202C通過(guò)兩個(gè)不同的I/O端口連接到DMA單元204。經(jīng)由端口環(huán)250C,可編程處理器202C還通過(guò)兩個(gè)其它不同的I/O端口連接到可編程處理器202D的端口環(huán)250D。經(jīng)由端口環(huán)250C,可編程處理器202C通過(guò)另外兩個(gè)不同的I/O端口連接到可編程處理器202G的端口環(huán)250G。
經(jīng)由端口環(huán)250D,可編程處理器202D通過(guò)兩個(gè)不同的I/O端口連接到DMA單元204。經(jīng)由端口環(huán)250D,可編程處理器202D還通過(guò)兩個(gè)I/O端口連接到DMA單元210,并通過(guò)不同的I/O端口連接到可編程處理器202A的端口環(huán)250A。經(jīng)由端口環(huán)250D,可編程處理器202D通過(guò)另外兩個(gè)不同的I/O端口連接到可編程處理器202H的端口環(huán)250H。
經(jīng)由端口環(huán)250E,可編程處理器202E通過(guò)兩個(gè)I/O端口連接到I/O接口208,并通過(guò)不同的I/O端口連接到可編程處理器202H的端口環(huán)250H。經(jīng)由端口環(huán)250E,可編程處理器202E還通過(guò)另外兩個(gè)不同的I/O端口連接到可編程處理器202F的端口環(huán)250F。再者,經(jīng)由端口環(huán)250E,可編程處理器202E還通過(guò)兩個(gè)其它的I/O端口連接到可編程處理器202A的端口環(huán)250A。
經(jīng)由端口環(huán)250F,可編程處理器202F通過(guò)兩個(gè)其它不同的I/O端口連接到可編程處理器202G的端口環(huán)250G。經(jīng)由端口環(huán)250F,可編程處理器202F通過(guò)另外兩個(gè)不同的I/O端口連接到可編程處理器202B的端口環(huán)250B。
經(jīng)由端口環(huán)250G,可編程處理器202G通過(guò)兩個(gè)不同的I/O端口連接到可編程處理器202H的端口環(huán)250H。經(jīng)由端口環(huán)250G,可編程處理器202G通過(guò)另外兩個(gè)不同的I/O端口連接到可編程處理器202C的端口環(huán)250C。
經(jīng)由端口環(huán)250H,可編程處理器202H還通過(guò)兩個(gè)I/O端口連接到DMA單元212,并通過(guò)不同的I/O端口連接到可編程處理器202E的端口環(huán)250E。經(jīng)由端口環(huán)250H,可編程處理器202H還通過(guò)另外兩個(gè)不同的I/O端口連接到可編程處理器202D的端口環(huán)250D。
I/O接口208還可以在外部連接到不同的外部設(shè)備。在一個(gè)實(shí)施例中,在外部連接I/O接口208,以從視頻信號(hào)處理器104接收數(shù)字視頻信號(hào)118,并在外部連接I/O接口208,以向視頻顯示處理器110傳送數(shù)字視頻信號(hào)118。在一個(gè)實(shí)施例中,I/O接口208可以在外部連接到其它可編程處理單元106,由此允許擴(kuò)充可一起傳遞和處理圖像數(shù)據(jù)的可編程處理器202的數(shù)量。在一個(gè)實(shí)施例中,可將許多可編程處理單元106菊鏈到一起,以便允許處理許多不同可編程處理單元106上的數(shù)據(jù)。
DMA單元204連接到存儲(chǔ)器接口206。存儲(chǔ)器接口206連接到存儲(chǔ)器108。如下文更詳細(xì)描述的,可經(jīng)由DMA單元204和存儲(chǔ)器接口206將數(shù)據(jù)(例如來(lái)自可編程處理器202其中之一的處理操作結(jié)果的輸出)存儲(chǔ)到存儲(chǔ)器108中,并從中讀取數(shù)據(jù)。
主機(jī)處理器214連接到內(nèi)部全局總線216。雖然圖2中未示出,但是內(nèi)部全局總線216連接到可編程處理單元106內(nèi)的不同部件。因此,主機(jī)處理器214可直接與可編程處理單元106內(nèi)的不同部件的每一個(gè)通信/對(duì)其進(jìn)行配置。
可編程處理器的說(shuō)明圖3是根據(jù)本發(fā)明一個(gè)實(shí)施例的可編程處理器的更詳細(xì)框圖。具體來(lái)說(shuō),圖3圖示了根據(jù)本發(fā)明一個(gè)實(shí)施例的可編程處理器202其中之一的更詳細(xì)框圖。
可編程處理器202包括輸入處理器部件302、輸出處理器部件304、多個(gè)處理器部件306A-306C、多個(gè)寄存器308、多個(gè)加速器單元310A-310B、存儲(chǔ)器314和存儲(chǔ)器控制器316。輸入處理器部件302、輸出處理器部件304、處理器部件306A-306C、加速器單元310A-310B和存儲(chǔ)器314(經(jīng)由存儲(chǔ)器控制器316)連接到寄存器308。寄存器308使處理器部件302、304和306、加速器單元310A-310B以及存儲(chǔ)器314能夠交換數(shù)據(jù),并可用作給定處理器部件302、304和306以及加速器單元310A-310B的通用寄存器。此外,處理器部件302、304和306以及加速器單元310A-310B可包括多個(gè)局部寄存器(未示出)。
在一個(gè)實(shí)施例中,輸入處理器部件302、輸出處理器部件304以及處理器部件306A-306C包括用于數(shù)據(jù)處理的指令存儲(chǔ)器和算術(shù)邏輯單元(ALU)。輸入處理器部件302和輸出處理器部件304通過(guò)端口環(huán)250連接到可編程處理器202的端口,以分別接收輸入到可編程處理器202的數(shù)據(jù)和發(fā)送從可編程處理器202輸出的數(shù)據(jù)(結(jié)合圖4-9對(duì)此予以更詳細(xì)描述)。除了數(shù)據(jù)的輸入和輸出,輸入處理器部件302和/或輸出處理器部件304可處理該數(shù)據(jù)(類似于處理器部件306A-306C提供的處理)。不同的處理器部件306A-306C可以是通用處理器部件或?qū)S锰幚砥鞑考@?,處理器部?06A-306C可以是乘法累計(jì)(MAC)處理器部件,它包括用于通用處理的指令集以及用于MAC功能的指令集。處理器部件306A-306C可以是通用處理器部件與專用處理器部件的組合。例如,處理器部件306A和306C可以是MAC處理器部件,而處理器部件306B可以是通用處理器部件。雖然圖3圖示了可編程處理器202內(nèi)的5個(gè)處理器部件,但是在其它實(shí)施例中,可以將更大和/或更小數(shù)量的此類處理器部件結(jié)合到可編程處理器202中。
輸入處理器部件302是作為輸入端口的具有端口接口的通用處理器部件。在一個(gè)實(shí)施例中,輸入處理器部件302內(nèi)的指令具有作為附加輸入操作數(shù)的端口,以及寄存器308和輸入處理器部件302內(nèi)的局部寄存器。輸出處理器部件304是作為輸出端口的具有端口接口的通用處理器部件。在一個(gè)實(shí)施例中,輸出處理器部件304內(nèi)的指令具有作為附加輸出操作數(shù)的端口,以及寄存器308和輸出處理器部件304內(nèi)的局部寄存器。
端口環(huán)和可編程處理器的端口圖4是根據(jù)本發(fā)明一個(gè)實(shí)施例的可編程處理器的端口環(huán)和相關(guān)聯(lián)的端口。連接可編程處理器202,以通過(guò)端口環(huán)250往返于端口404A-404H輸入和輸出數(shù)據(jù)。如圖所示,在一個(gè)實(shí)施例中,端口404A-404H是雙向數(shù)據(jù)連接,允許數(shù)據(jù)從一個(gè)可編程處理器202流到不同的單元(諸如不同的可編程處理器202、DMA單元204、I/O接口208)。
給定端口404A-404H包括接收器端口和發(fā)射器端口,分別用于將數(shù)據(jù)接收到端口404和將數(shù)據(jù)從端口404傳送出去。具體來(lái)說(shuō),端口404A-404H分別包括接收器端口406A-406H和發(fā)射器端口408A-408H。下文結(jié)合圖6和圖7分別描述接收器端口的實(shí)施例和發(fā)射器端口的實(shí)施例。在一個(gè)實(shí)施例中,可編程處理器202通過(guò)端口404A-404H連接到相鄰(最近鄰域)可編程處理器202(如圖2所示)。
現(xiàn)在將描述(端口404之一內(nèi))包括FIFO存儲(chǔ)器的接收器和發(fā)射器端口的一個(gè)實(shí)施例。圖5圖示了根據(jù)本發(fā)明一個(gè)實(shí)施例的發(fā)射器或接收器端口內(nèi)的FIFO存儲(chǔ)器以及該存儲(chǔ)器的相關(guān)接口信號(hào)。
如圖所示,F(xiàn)IFO存儲(chǔ)器500接收init_in信號(hào)506,并傳送init_out信號(hào)510,它們(如下文更詳細(xì)描述的)是用于初始化和生成用于通過(guò)不同可編程處理器202傳送數(shù)據(jù)的邏輯連接的控制信號(hào)。FIFO存儲(chǔ)器500接收data_in信號(hào)502,它將數(shù)據(jù)輸入到FIFO存儲(chǔ)器500的入口的其中之一。
FIFO存儲(chǔ)器500還圖示了多個(gè)許可/請(qǐng)求信號(hào)。如下文進(jìn)一步描述的,在一個(gè)實(shí)施例中,端口404使用“握手”協(xié)議來(lái)基于這些許可/請(qǐng)求信號(hào)傳輸數(shù)據(jù)。因此,該許可/接收協(xié)議考慮到數(shù)據(jù)驅(qū)動(dòng)結(jié)構(gòu),其中圖像處理操作由此類操作執(zhí)行的數(shù)據(jù)來(lái)驅(qū)動(dòng)。
FIFO存儲(chǔ)器500接收request_in信號(hào)504,它是在將數(shù)據(jù)輸入到FIFO存儲(chǔ)器500的入口的不同端口上來(lái)自FIFO存儲(chǔ)器的控制信號(hào)。FIFO存儲(chǔ)器500響應(yīng)于request_in信號(hào)504,向該FIFO存儲(chǔ)器傳送grant_in信號(hào)508,指示該FIFO存儲(chǔ)器可將數(shù)據(jù)傳送到FIFO存儲(chǔ)器500中。
FIFO存儲(chǔ)器500向不同端口的FIFO存儲(chǔ)器傳送request_out信號(hào)512,以請(qǐng)求從FIFO存儲(chǔ)器500向該FIFO存儲(chǔ)器傳輸數(shù)據(jù)。FIFO存儲(chǔ)器500響應(yīng)于request_out信號(hào)512,從該FIFO存儲(chǔ)器接收grant_out信號(hào)516。該grant_out信號(hào)516向FIFO存儲(chǔ)器500告知,不同的FIFO存儲(chǔ)器將從FIFO存儲(chǔ)器500接收數(shù)據(jù)。FIFO存儲(chǔ)器500傳送data_out信號(hào)510,它將數(shù)據(jù)傳送到響應(yīng)于request_out信號(hào)512(通過(guò)grant_out信號(hào)516)許可數(shù)據(jù)傳輸?shù)牟煌腇IFO存儲(chǔ)器。
圖6是根據(jù)本發(fā)明一個(gè)實(shí)施例的接收器端口以及相關(guān)接口信號(hào)的更詳細(xì)框圖。具體來(lái)說(shuō),圖6圖示了接收器端口406(包括接收器FIFO604)和相關(guān)接口信號(hào)的一個(gè)實(shí)施例。接收器端口406在端口404(如圖4所示)的其中之一內(nèi),并將數(shù)據(jù)接收到可編程處理器202中。
連接接收器FIFO 604,以往返于發(fā)射器端口408接收和發(fā)送接口信號(hào)(grant_in信號(hào)508、data_in信號(hào)502、request_in信號(hào)504以及init_in信號(hào)506),該發(fā)射器端口408對(duì)于可編程處理器202的端口環(huán)250是外部的。還連接接收器FIFO 604,以從發(fā)射器端口408接收和傳送接口信號(hào)(多個(gè)grant_out信號(hào)516A-516N、data_out信號(hào)510、request_out信號(hào)512和init_out信號(hào)514),該發(fā)射器端口408對(duì)于可編程處理器202的端口環(huán)250或可編程處理器202內(nèi)的處理器部件是內(nèi)部的。如圖所示,grant_out信號(hào)516A-516N被接收到多路復(fù)用器602中。接收器端口406使用選擇信號(hào)606使多路復(fù)用器602選擇要輸入到接收器FIFO 604中的grant_out信號(hào)516A-516N的其中之一。如上所述,主機(jī)處理器214配置可編程處理器1202,其中可通過(guò)邏輯連接輸入來(lái)自可編程處理器202中一個(gè)處理器部件的輸出,以由不同可編程處理器202中的不同處理器部件來(lái)處理。因此,主機(jī)處理器214使接收器端口406斷言選擇信號(hào)606,以從適當(dāng)?shù)陌l(fā)射器端口408/輸入處理器部件302中選擇grant_out信號(hào)516。
如所述,可將來(lái)自第一可編程處理器202中的第一處理操作的輸出轉(zhuǎn)發(fā)到第二可編程處理器202,在其中執(zhí)行第二處理操作。在一個(gè)實(shí)施例中,通過(guò)邏輯連接來(lái)傳送該輸出,該邏輯連接包括多個(gè)可編程處理器202的多個(gè)端口404。在一個(gè)實(shí)施例中,通過(guò)不同的端口404傳送初始化信號(hào),通過(guò)該不同的端口404對(duì)于給定邏輯連接傳送數(shù)據(jù)。如上所述,可編程處理單元106的結(jié)構(gòu)是這樣的使給定可編程處理器202不直接連接到每個(gè)其它可編程處理器202。相反,將可編程處理器202連接到相鄰(最近鄰域)設(shè)備。因此,如果要將數(shù)據(jù)從一個(gè)可編程處理器202傳送到另一個(gè)可編程處理器202,則通過(guò)該數(shù)據(jù)從源可編程處理器202到目的可編程處理器202所經(jīng)過(guò)的不同可編程處理器202的不同端口建立邏輯連接。
返回圖2進(jìn)行說(shuō)明,假定要將來(lái)自可編程處理器202C內(nèi)的處理器部件的輸出傳送到可編程處理器202E內(nèi)的處理器部件以便進(jìn)一步處理??蓮目删幊烫幚砥?02C到可編程處理器202E建立多個(gè)邏輯連接的其中之一。邏輯連接的一個(gè)示例是從可編程處理器202C到可編程處理器202B到可編程處理器202A到可編程處理器202E。邏輯連接的一個(gè)不同示例是從可編程處理器202C到可編程處理器202G到可編程處理器202F到可編程處理器202E。在一個(gè)實(shí)施例中,主機(jī)處理器214基于可使用相同通信路徑的其它有源邏輯連接來(lái)確定邏輯連接的選擇。例如,如果其它邏輯連接正在使用可編程處理器202B至可編程處理器202A之間的端口,主機(jī)處理器214可以選擇后一示例邏輯連接來(lái)減少數(shù)據(jù)處理操作的等待時(shí)間。
在一個(gè)實(shí)施例中,初始化數(shù)據(jù)始發(fā)的端口404。該初始化信號(hào)將通過(guò)整個(gè)邏輯連接來(lái)傳播,由此對(duì)于該給定邏輯連接初始化數(shù)據(jù)路徑。將該初始化信號(hào)寄存,并通過(guò)不同端口404傳遞,如同該初始化信號(hào)是數(shù)據(jù)一樣,以便防止傳播延遲通過(guò)長(zhǎng)的邏輯連接而累積。在一個(gè)實(shí)施例中,該初始化可以包括刷新(flush)邏輯連接中所用的接收器和發(fā)射器FIFO。因此,如果這些FIFO內(nèi)有任何來(lái)自先前邏輯連接的數(shù)據(jù),則該初始化使得從其中刪除該數(shù)據(jù)。在一個(gè)實(shí)施例中,以該方式處理這些不同接口信號(hào),以排除通過(guò)邏輯連接的大組合延遲。因此,通過(guò)點(diǎn)到點(diǎn)連接處理不同可編程處理器202之間的路由選擇,這些點(diǎn)到點(diǎn)連接寄存在作為邏輯連接一部分的不同端口404中。
為了說(shuō)明,圖7A-7G圖示了根據(jù)本發(fā)明一個(gè)實(shí)施例與不同發(fā)射器端口通信的接收器端口的更詳細(xì)框圖。具體來(lái)說(shuō),圖7A-7D圖示了接收器端口406的更詳細(xì)框圖,該接收器端口406與對(duì)于端口環(huán)250B是外部的發(fā)射器端口408A通信。圖7E-7G圖示了接收器端口406的更詳細(xì)框圖,該接收器端口406與對(duì)于端口環(huán)250B是內(nèi)部的發(fā)射器端口408B通信。
圖7A-7G圖示可編程處理器202A和可編程處理器202B。可編程處理器202A和可編程處理器202B分別包括端口環(huán)250A和端口環(huán)250B。此外,可編程處理器202A-202B包括多個(gè)接收器和發(fā)射器端口。具體來(lái)說(shuō),給定的端口404(如圖4所示)包括發(fā)射器端口和接收器端口。但是,為了簡(jiǎn)明起見,圖7A-7G圖示了給定端口404的發(fā)射器端口或接收器端口。可編程處理器202A的端口環(huán)250A包括發(fā)射器端口408A??删幊烫幚砥?02B的端口環(huán)250B包括接收器端口406和發(fā)射器端口408B。
圖7A圖示了發(fā)射器端口408A將init_in信號(hào)506發(fā)送到接收器端口406,以刷新作為邏輯連接一部分的FIFO(在其自身與接收器端口406之間)。再者,圖7A圖示了接收器端口406將通過(guò)邏輯連接的該初始化作為init_out信號(hào)514通過(guò)端口環(huán)250B轉(zhuǎn)發(fā)到發(fā)射器端口408B。因此,該邏輯連接的一部分包括發(fā)射器端口408A、接收器端口406和發(fā)射器端口408B。該邏輯連接可包括多個(gè)其它可編程處理器202。因此,該初始化可能已被發(fā)射器端口408通過(guò)端口環(huán)250A的內(nèi)部接收器端口406的其中之一從不同的可編程處理器202接收到。此外,發(fā)射器端口408B可將該初始化轉(zhuǎn)發(fā)到另一個(gè)可編程處理器202。一旦邏輯連接的初始化完成,則可通過(guò)該邏輯連接傳送數(shù)據(jù)。
圖7B圖示了發(fā)射器端口408A使用request_in信號(hào)504來(lái)請(qǐng)求將數(shù)據(jù)輸入到接收器端口406。圖7C圖示了,響應(yīng)request_in信號(hào)504,并在接收器端口406的接收器FIFO 604中提供存儲(chǔ)之后,接收器端口406使用grant_in信號(hào)508向發(fā)射器端口408A指示,發(fā)射器端口408A可將數(shù)據(jù)傳送到接收器端口406中。圖7D圖示了,當(dāng)request_in信號(hào)504和grant_in信號(hào)516在控制可編程處理單元106的時(shí)鐘信號(hào)的活動(dòng)沿上是活動(dòng)的時(shí),發(fā)射器端口408A使用data_in信號(hào)502將用于存儲(chǔ)的數(shù)據(jù)傳送到接收器端口406的接收器FIFO 604中。
此外,如圖6所示,接收器端口406往返于發(fā)射器端口408B傳送和接收接口信號(hào),這兩個(gè)端口都是相同端口環(huán)250的一部分。圖7E-7G圖示了此類通信。
圖7E圖示了接收器端口406使用request_out信號(hào)512來(lái)請(qǐng)求將數(shù)據(jù)輸入到發(fā)射器端口408B(端口環(huán)250B的內(nèi)部發(fā)射器端口的其中之一)。圖7F圖示了,響應(yīng)request_out信號(hào)512,發(fā)射器端口408B將grant_out信號(hào)516傳送回接收器端口406。圖7G圖示了,當(dāng)request_out信號(hào)512和grant_out信號(hào)516在控制可編程處理單元106的時(shí)鐘信號(hào)的活動(dòng)沿上是活動(dòng)的時(shí),接收器端口406使用data_out信號(hào)510將數(shù)據(jù)傳送到發(fā)射器端口408B。
此外,雖然圖7E-7G未示出,但是接收器端口406可往返于可編程處理器202B的輸入處理器部件302(圖3內(nèi)示出的)傳送/接收這些接口信號(hào)(request_out信號(hào)512、grant_out信號(hào)516和data_out信號(hào)510)。如果要將接收器FIFO 604內(nèi)的數(shù)據(jù)輸入到該可編程處理器202內(nèi)的處理器部件(輸入處理器部件302、輸出處理器部件304和/或處理器部件306A-306C)以在其中進(jìn)行處理,則接收器端口406將request_out信號(hào)512傳送到輸入處理器部件302。如果要將接收器端口406內(nèi)的數(shù)據(jù)傳送到對(duì)于可編程處理器202(例如不同的可編程處理器202、DMA單元204的其中之一或外部接口208的其中之一)是外部的設(shè)備,則接收器端口406將request_out信號(hào)512傳送到適當(dāng)?shù)陌l(fā)射器端口408(作為邏輯連接一部分的端口)。
圖8圖示了根據(jù)本發(fā)明一個(gè)實(shí)施例的發(fā)射器端口以及相關(guān)接口信號(hào)的更詳細(xì)框圖。具體來(lái)說(shuō),圖8圖示了發(fā)射器端口408(包括發(fā)射器FIFO 806)和相關(guān)接口信號(hào)的一個(gè)實(shí)施例。發(fā)射器端口408在端口404(如圖4所示)的其中之一內(nèi),并將數(shù)據(jù)從可編程處理器202傳送出去。
如圖所示,從對(duì)于可編程處理器202是內(nèi)部的接收器端口406(即,對(duì)于可編程處理器202的端口環(huán)250是內(nèi)部的)其中之一,將多個(gè)init_in信號(hào)506A-506H、多個(gè)data_in信號(hào)502A-502H和多個(gè)request_in信號(hào)504A-504H輸入到發(fā)射器端口408。此外,還將grant_out信號(hào)516、request_out信號(hào)512、data_out信號(hào)510和init_out信號(hào)514從發(fā)射器端口408輸出到對(duì)于該可編程處理器202的端口環(huán)250是外部的接收器端口406。
連接發(fā)射器FIFO 806,以分別通過(guò)多路復(fù)用器804A、多路復(fù)用器804B和多路復(fù)用器804C從對(duì)于可編程處理器202或輸出處理器部件304(圖8中未示出)的端口環(huán)250是內(nèi)部的多個(gè)接收器端口接收接口信號(hào)(多個(gè)init_in信號(hào)506A-506H、多個(gè)data_in信號(hào)502A-502H和多個(gè)request_in信號(hào)504A-504H)。
為了說(shuō)明,圖9A-9E圖示了根據(jù)本發(fā)明一個(gè)實(shí)施例與使用不同接口信號(hào)的不同接收器端口通信的發(fā)射器端口的更詳細(xì)框圖。具體來(lái)說(shuō),圖9A圖示了從對(duì)于發(fā)射器端口408相關(guān)聯(lián)的可編程處理器202的端口環(huán)250是內(nèi)部的部件接收接口信號(hào)的發(fā)射器端口408的更詳細(xì)框圖。圖9B-9E圖示了從對(duì)于發(fā)射器端口408相關(guān)聯(lián)的可編程處理器202的端口環(huán)250是外部的接收器端口406接收接口信號(hào)的發(fā)射器端口408的更詳細(xì)框圖。
圖9A-7E圖示了可編程處理器202A和可編程處理器202B??删幊烫幚砥?02A和可編程處理器202B分別包括端口環(huán)250A和端口環(huán)250B。此外,可編程處理器202A-202B包括多個(gè)接收器和發(fā)射器端口。具體來(lái)說(shuō),給定的端口404(如圖4所示)包括發(fā)射器端口和接收器端口。但是,為了簡(jiǎn)明起見,圖9A-9E圖示了給定端口404的發(fā)射器端口或接收器端口??删幊烫幚砥?02A的端口環(huán)250A包括接收器端口406B-406H和發(fā)射器端口408??删幊烫幚砥?02B的端口環(huán)250B包括接收器端口406A。
就圖9A而言,連接輸出處理器部件304(在可編程處理器202A內(nèi)),以傳送init_in信號(hào)506A、data_in信號(hào)502A和request_in信號(hào)504A。接收器端口406B傳送init_in信號(hào)506B、data_in信號(hào)502B和request_in信號(hào)504B。接收器端口406C傳送init_in信號(hào)506C、data_in信號(hào)502C和request_in信號(hào)504C。接收器端口406D傳送init_in信號(hào)506D、data_in信號(hào)502D和request_in信號(hào)504D。接收器端口406E傳送init_in信號(hào)506E、data_in信號(hào)502E和request_in信號(hào)504E。接收器端口406F傳送init_in信號(hào)506F、data_in信號(hào)502F和request_in信號(hào)504F。接收器端口406G傳送init_in信號(hào)506G、data_in信號(hào)502G和request_in信號(hào)504G。接收器端口406H傳送init_in信號(hào)506H、data_in信號(hào)502H和request_in信號(hào)504H。
就圖8而言,發(fā)射器端口408內(nèi)的發(fā)射器FIFO 806使用選擇信號(hào)802使多路復(fù)用器804A-804C選擇init_in信號(hào)506的其中之一、data_in信號(hào)502的其中之一和request_in信號(hào)504的其中之一。如上所述,主機(jī)處理器108配置可編程處理單元106,其中可通過(guò)邏輯連接輸入來(lái)自可編程處理器202中的一個(gè)處理器部件的輸出,以供不同可編程處理器202中的不同處理器部件來(lái)處理。因此,主機(jī)處理器108使發(fā)射器FIFO 806斷言選擇信號(hào)802,以從適當(dāng)?shù)脑粗羞x擇init_in信號(hào)506、data_in信號(hào)502和request_in信號(hào)504。返回到圖2來(lái)幫助說(shuō)明,如果接收器端口將數(shù)據(jù)接收到可編程處理器202B且要通過(guò)可編程處理器202B中的發(fā)射器端口408將數(shù)據(jù)輸出到可編程處理器202A中的接收器端口,則主機(jī)處理器108會(huì)配置該發(fā)射器端口408來(lái)從該接收器端口選擇信號(hào)606。
因此,選擇的接收器端口406(或選擇的輸出處理器部件304)使用init_in信號(hào)506來(lái)初始化邏輯連接。在一個(gè)實(shí)施例中,該初始化可包括刷新邏輯連接中用到的端口中的接收器和發(fā)射器FIFO。因此,如果這些FIFO內(nèi)有任何數(shù)據(jù)(該初始化之前),則該初始化使得從其中刪除數(shù)據(jù)。此外,選擇的接收器端口406(或選擇的輸出處理器部件304)使用request_in信號(hào)504來(lái)請(qǐng)求將數(shù)據(jù)輸入到發(fā)射器端口408的發(fā)射器FIFO 806。選擇的接收器端口406(或選擇的輸出處理器部件304)使用data_in信號(hào)502來(lái)將數(shù)據(jù)傳送到發(fā)射器FIFO806中。
此外,如圖8所示,發(fā)射器端口408從不同的可編程處理器202(可編程處理器202B)的接收器端口406A傳送和接收接口信號(hào)。圖9E-9E圖示了此類通信。
圖9B圖示了發(fā)射器端口408將init_out信號(hào)514輸出到接收器端口406A,其在該數(shù)據(jù)傳輸之前被連接,以生成邏輯連接(如上所述)。圖9C圖示了發(fā)射器端口408輸出request_out信號(hào)512來(lái)請(qǐng)求將數(shù)據(jù)輸入到接收器端口406A的接收器FIFO。圖9D圖示了,作為響應(yīng),在接收器端口406A的接收器FIFO中有可用的空間之后,接收器端口406A輸出由發(fā)射器端口408接收的grant_out信號(hào)516。圖9E圖示了,作為響應(yīng),發(fā)射器端口408使用data_out信號(hào)510將數(shù)據(jù)從發(fā)射器FIFO 806輸出到接收器端口406A的接收器FIFO。
可編程處理器之間的邏輯連接圖10圖示了根據(jù)本發(fā)明一個(gè)實(shí)施例用于從源可編程處理器到目的可編程處理器的給定邏輯連接的許多不同路由。如上所述,主機(jī)處理器108可以為從源可編程處理器202到目的可編程處理器202傳輸數(shù)據(jù)而建立多個(gè)邏輯連接。具體來(lái)說(shuō),由第一可編程處理器202中部件的一個(gè)處理操作的輸出可被用作由第二可編程處理器202中部件的不同處理操作的輸入。
例如,假定可編程處理單元106處于圖像處理模式(下文對(duì)此予以更詳細(xì)描述)。第一可編程處理器202可執(zhí)行操作,以減少視頻中的重影,而第二可編程處理器202從第一可編程處理器202接收輸出,并可執(zhí)行操作,以減少視頻中的噪聲。第三可編程處理器202可以從第二可編程處理器202接收輸出,并可執(zhí)行操作,以減少視頻中的點(diǎn)蠕動(dòng)。在一個(gè)實(shí)施例中,不同的可編程處理器202執(zhí)行不同的數(shù)據(jù)操作,因?yàn)?如下文更詳細(xì)描述)一個(gè)可編程處理器202可具有用于執(zhí)行給定操作的專用硬件加速器。
此外,雖然該示例說(shuō)明了一個(gè)可編程處理器202中操作的輸出被直接傳送到不同的可編程處理器202,但是本發(fā)明的實(shí)施例并不局限于此。在一個(gè)實(shí)施例中,一個(gè)可編程處理器202可將操作的輸出傳送到存儲(chǔ)器104的其中之一。因此,第二可編程處理器202可以從存儲(chǔ)器404中檢索已存儲(chǔ)的數(shù)據(jù)。在第二可編程處理器202在其操作之前可能需要來(lái)自第一操作的一定數(shù)量的輸出時(shí),可以使用此類操作。例如,第二可編程處理器202可以在視頻的多個(gè)幀上執(zhí)行時(shí)間噪聲減少操作。因此,第一可編程處理器202的輸出被存儲(chǔ)在存儲(chǔ)器108中,直到已經(jīng)處理了預(yù)定數(shù)量的幀為止。繼續(xù)該示例,第一可編程處理器202可繼續(xù)執(zhí)行輸入視頻的重影減少操作,而同時(shí)第二可編程處理器202可以執(zhí)行輸出視頻的時(shí)間噪聲減少操作(如上所述)。相似地,在存儲(chǔ)模式期間(下文對(duì)此予以進(jìn)一步描述),可編程處理單元106可以在不同可編程處理器202上執(zhí)行多個(gè)操作。
因?yàn)樘幚砥鞯慕Y(jié)構(gòu)具有點(diǎn)到點(diǎn)配置(如圖2所示),所以第一可編程處理器202可不直接連接到第二可編程處理器202。因此,建立通過(guò)一個(gè)到多個(gè)中間可編程處理器202從第一可編程處理器202(源可編程處理器202)到第二可編程處理器202(目的可編程處理器202)的邏輯連接。
圖10圖示了圖2的可編程處理單元106,連同從可編程處理器202A到可編程處理器202H的給定邏輯連接的五個(gè)不同路由。
邏輯連接的第一路由1002起始于可編程處理器202A(源可編程處理器),并經(jīng)過(guò)可編程處理器202D(第一中間可編程處理器)的端口環(huán)250D,并完成于可編程處理器202H(目的可編程處理器)的端口環(huán)250H。具體來(lái)說(shuō),將數(shù)據(jù)從可編程處理器202A的端口環(huán)250A的發(fā)射器端口傳送到可編程處理器202D的端口環(huán)250E的接收器端口。可編程處理器202D的端口環(huán)250D的接收器端口將數(shù)據(jù)傳送到可編程處理器202D的端口環(huán)250D的發(fā)射器端口(通過(guò)可編程處理器202D的端口環(huán)250D)??删幊烫幚砥?02D的端口環(huán)250D的該發(fā)射器端口將數(shù)據(jù)傳送到可編程處理器202H的端口環(huán)250H的接收器端口。
邏輯連接的第二路由1004起始于可編程處理器202A(源可編程處理器),并經(jīng)過(guò)可編程處理器202E(第一中間可編程處理器),并完成于可編程處理器202H(目的可編程處理器)。具體來(lái)說(shuō),將數(shù)據(jù)從可編程處理器202A的端口環(huán)250A的發(fā)射器端口傳送到可編程處理器202E的端口環(huán)250E的接收器端口??删幊烫幚砥?02E的端口環(huán)250E的接收器端口將數(shù)據(jù)傳送到可編程處理器202E的端口環(huán)250E的發(fā)射器端口(通過(guò)可編程處理器202E的端口環(huán)250E)??删幊烫幚砥?02E的端口環(huán)250E的該發(fā)射器端口將數(shù)據(jù)傳送到可編程處理器202H的端口環(huán)250H的接收器端口。
邏輯連接的第三路由1006起始于可編程處理器202A(源可編程處理器),并經(jīng)過(guò)可編程處理器202E(第一中間可編程處理器),通過(guò)可編程處理器202F(第二中間可編程處理器),通過(guò)可編程處理器202G(第三中間可編程處理器),并完成于可編程處理器202H(目的可編程處理器)。具體來(lái)說(shuō),將數(shù)據(jù)從可編程處理器202A的端口環(huán)250A的發(fā)射器端口傳送到可編程處理器202E的端口環(huán)250E的接收器端口。可編程處理器202E的端口環(huán)250E的接收器端口將數(shù)據(jù)傳送到可編程處理器202E的端口環(huán)250E的發(fā)射器端口(通過(guò)可編程處理器202E的端口環(huán)250E)??删幊烫幚砥?02E的端口環(huán)250E的該發(fā)射器端口將數(shù)據(jù)傳送到可編程處理器202F的端口環(huán)250F的接收器端口。可編程處理器202F的端口環(huán)250F的接收器端口將數(shù)據(jù)傳送到可編程處理器202F的端口環(huán)250F的發(fā)射器端口(通過(guò)可編程處理器202F的端口環(huán)250F)??删幊烫幚砥?02F的端口環(huán)250F的該發(fā)射器端口將數(shù)據(jù)傳送到可編程處理器202G的端口環(huán)250G的接收器端口??删幊烫幚砥?02G的端口環(huán)250G的接收器端口將數(shù)據(jù)傳送到可編程處理器202G的端口環(huán)250G的發(fā)射器端口(通過(guò)可編程處理器202G的端口環(huán)250G)??删幊烫幚砥?02G的端口環(huán)250G的該發(fā)射器端口將該數(shù)據(jù)傳送到可編程處理器202H的端口環(huán)250H的接收器端口。
邏輯連接的第四路由1008起始于可編程處理器202A(源可編程處理器),并經(jīng)過(guò)可編程處理器202B(第一中間可編程處理器),通過(guò)可編程處理器202C(第二中間可編程處理器),通過(guò)可編程處理器202D(第三中間可編程處理器),并完成于可編程處理器202H(目的可編程處理器)。具體來(lái)說(shuō),將數(shù)據(jù)從可編程處理器202A的端口環(huán)250A的發(fā)射器端口傳送到可編程處理器202B的端口環(huán)250B的接收器端口。可編程處理器202B的端口環(huán)250B的接收器端口將數(shù)據(jù)傳送到可編程處理器202B的端口環(huán)250B的發(fā)射器端口(通過(guò)可編程處理器202B的端口環(huán)250B)。可編程處理器202B的端口環(huán)250B的該發(fā)射器端口將數(shù)據(jù)傳送到可編程處理器202C的端口環(huán)250C的接收器端口??删幊烫幚砥?02C的端口環(huán)250C的接收器端口將數(shù)據(jù)傳送到可編程處理器202C的端口環(huán)250C的發(fā)射器端口(通過(guò)可編程處理器202C的端口環(huán)250C)。可編程處理器202C的端口環(huán)250C的該發(fā)射器端口將數(shù)據(jù)傳送到可編程處理器202D的端口環(huán)250D的接收器端口。可編程處理器202D的端口環(huán)250D的接收器端口將數(shù)據(jù)傳送到可編程處理器202D的端口環(huán)250D的發(fā)射器端口(通過(guò)可編程處理器202D的端口環(huán)250D)??删幊烫幚砥?02D的端口環(huán)250D的該發(fā)射器端口將數(shù)據(jù)傳送到可編程處理器202H的端口環(huán)250H的接收器端口。
邏輯連接的第五路由1010起始于可編程處理器202A(源可編程處理器),并經(jīng)過(guò)可編程處理器202B(第一中間可編程處理器),通過(guò)可編程處理器202F(第二中間可編程處理器),通過(guò)可編程處理器202G(第三中間可編程處理器),并完成于可編程處理器202H(目的可編程處理器)。因此,如圖所示,可使用一個(gè)到多個(gè)不同的路由來(lái)建立兩個(gè)不同可編程處理器202之間的邏輯連接。具體來(lái)說(shuō),將數(shù)據(jù)從可編程處理器202A的端口環(huán)250A的發(fā)射器端口傳送到可編程處理器202B的端口環(huán)250B的接收器端口。可編程處理器202B的端口環(huán)250B的接收器端口將數(shù)據(jù)傳送到可編程處理器202B的端口環(huán)250B的發(fā)射器端口(通過(guò)可編程處理器202B的端口環(huán)250B)。可編程處理器202B的端口環(huán)250B的該發(fā)射器端口將數(shù)據(jù)傳送到可編程處理器202F的端口環(huán)250F的接收器端口??删幊烫幚砥?02F的端口環(huán)250F的接收器端口將數(shù)據(jù)傳送到可編程處理器202F的端口環(huán)250F的發(fā)射器端口(通過(guò)可編程處理器202F的端口環(huán)250F)??删幊烫幚砥?02F的端口環(huán)250F的該發(fā)射器端口將數(shù)據(jù)傳送到可編程處理器202G的端口環(huán)250G的接收器端口??删幊烫幚砥?02G的端口環(huán)250G的接收器端口將數(shù)據(jù)傳送到可編程處理器202G的端口環(huán)250G的發(fā)射器端口(通過(guò)可編程處理器202G的端口環(huán)250G)??删幊烫幚砥?02G的端口環(huán)250G的該發(fā)射器端口將數(shù)據(jù)傳送到可編程處理器202H的端口環(huán)250H的接收器端口。
如上所述,通過(guò)中間可編程處理器202的行程經(jīng)過(guò)端口環(huán)250的端口404,而不經(jīng)過(guò)對(duì)于可編程處理器202是內(nèi)部的處理器部件或其它組件。因此,中間可編程處理器202內(nèi)的處理器部件不對(duì)從源可編程處理器202傳送到目的可編程處理器202的數(shù)據(jù)執(zhí)行任何類型的操作。
因此,該結(jié)構(gòu)使用可配置的硬件化點(diǎn)到點(diǎn)連接的組合。發(fā)射器端口連接到預(yù)定義的目的,這允許直接連線可編程處理單元106的小片(die)。但是,給定發(fā)射器端口可以為所傳送的數(shù)據(jù)選擇幾個(gè)源的其中之一。接收器端口又使它的數(shù)據(jù)可提供給多個(gè)發(fā)射器端口。該結(jié)構(gòu)允許在可編程處理器202的端口環(huán)250內(nèi)有效地路由數(shù)據(jù)和控制。此外,通過(guò)邏輯連接傳遞初始化信號(hào)允許單點(diǎn)清除數(shù)據(jù)源處數(shù)據(jù)要經(jīng)過(guò)的邏輯路徑,并確保在數(shù)據(jù)傳輸之前或之后不必清除或清空中間連接。此外,對(duì)于傳送不確定量的數(shù)據(jù)并進(jìn)行備份或遲延(stall)的邏輯連接,可以用始發(fā)于源并經(jīng)過(guò)該邏輯連接的單個(gè)命令來(lái)清除它。
可編程處理單元的的操作現(xiàn)在描述根據(jù)一個(gè)實(shí)施例的可編程處理單元106的操作。
可編程處理器之間的數(shù)據(jù)傳輸操作圖11圖示了根據(jù)本發(fā)明一個(gè)實(shí)施例用于在可編程處理單元內(nèi)建立和初始化邏輯連接的流程圖。
在框1102,接收為數(shù)據(jù)傳輸而要建立的邏輯連接的配置數(shù)據(jù)。參考圖2,不同的可編程處理器202(源可編程處理器、中間可編程處理器和目的可編程處理器)接收為數(shù)據(jù)傳輸而要建立的邏輯連接的配置數(shù)據(jù)。在一個(gè)實(shí)施例中,主機(jī)處理器108通過(guò)內(nèi)部全局總線212將該配置數(shù)據(jù)傳送到這些可編程處理器202。在一個(gè)實(shí)施例中,主機(jī)處理器108還可將微代碼下載到作為邏輯連接一部分的可編程處理器202中。例如,主機(jī)處理器108可將特定應(yīng)用程序下載到源和/或目的可編程處理器202。控制在框1104繼續(xù)。
在框1104中,建立邏輯連接。參考圖6和8,接收器端口406和發(fā)射器端口408(通過(guò)其傳送數(shù)據(jù)作為邏輯連接的一部分)基于接收的配置數(shù)據(jù)建立邏輯連接。如上所述,接收器端口406使用選擇信號(hào)606確定多路復(fù)用器602將選擇哪個(gè)grant_out信號(hào)516。例如,如果要將接收到接收器端口406A的數(shù)據(jù)輸出到發(fā)射器端口408D,則配置數(shù)據(jù)使接收器端口406A使用選擇信號(hào)606選擇與發(fā)射器端口408D相關(guān)聯(lián)的grant_out信號(hào)516。相似地,發(fā)射器端口408使用選擇信號(hào)802來(lái)確定將分別由多路復(fù)用器804C、多路復(fù)用器804B和多路復(fù)用器804A選擇request_in信號(hào)504、data_in信號(hào)502和init_in信號(hào)506中的哪個(gè)??刂圃诳?106繼續(xù)。
在框1106中,初始化該邏輯連接。參考圖2、6和8,要發(fā)起該邏輯連接的源可編程處理器202的發(fā)射器端口408將init_out信號(hào)514發(fā)送到參與該邏輯連接的下一個(gè)源可編程處理器202的接收器端口406。該接收器端口406將該信號(hào)作為init_in信號(hào)506接收,并將init_out信號(hào)514輸出到該原可編程處理器202內(nèi)的發(fā)射器端口。這種init_out信號(hào)514的傳送和init_in信號(hào)506的接收沿著該邏輯連接繼續(xù),直到到達(dá)目的可編程處理器202的發(fā)射器端口408為止。因此,該初始化信號(hào)初始化參與該邏輯連接的不同端口。在一個(gè)實(shí)施例中,該初始化可以包括刷新邏輯連接中用到的接收器和發(fā)射器FIFO。因此,如果這些FIFO內(nèi)有來(lái)自先前邏輯連接的任何數(shù)據(jù),則該初始化使得從其中刪除數(shù)據(jù)。
在一個(gè)實(shí)施例中,由可編程處理單元106內(nèi)的不同可編程處理器202中的不同組件執(zhí)行/運(yùn)行一系列處理操作。第一處理操作的輸出用作第二處理操作的輸入等等。如上所述,為將數(shù)據(jù)傳送到不同的可編程處理器202,建立邏輯連接。因此,為從可編程處理單元106中的一個(gè)部件向可編程處理單元106中的不同部件的每個(gè)傳輸,建立一個(gè)邏輯連接?,F(xiàn)在描述可編程處理單元106中數(shù)據(jù)處理的一個(gè)實(shí)施例。圖12圖示了根據(jù)本發(fā)明一個(gè)實(shí)施例用于可編程處理單元處理數(shù)據(jù)的流程圖。具體來(lái)說(shuō),流程圖1200描述了根據(jù)本發(fā)明一個(gè)實(shí)施例在可編程處理單元106內(nèi)由可編程處理器202之一處理數(shù)據(jù)。
在框1202中,接收數(shù)據(jù)流。參考圖2,可編程處理器202的第一個(gè)從多個(gè)源的其中之一接收數(shù)據(jù)流。例如,可編程處理器202A可以從外部源(例如視頻信號(hào)處理器104)接收數(shù)據(jù)流??删幊烫幚砥?02A還可以通過(guò)存儲(chǔ)器接口206和DMA單元204從存儲(chǔ)器108接收數(shù)據(jù)流??刂圃诳?204繼續(xù)。
在框1204中,在第一可編程處理器中處理數(shù)據(jù)流。參考圖2,第一可編程處理器202內(nèi)的組件(例如處理器部件302、304、306A-306C的其中之一或加速器單元310A-310B的其中之一)執(zhí)行第一處理操作。輸入處理器部件302通過(guò)接收器端口406接收數(shù)據(jù)。在一個(gè)實(shí)施例中,處理器部件302、304、306A-306C中的任一個(gè)對(duì)接收的數(shù)據(jù)執(zhí)行/運(yùn)行處理操作。在一個(gè)實(shí)施例中,作為該處理操作相關(guān)聯(lián)的邏輯連接配置的一部分,主機(jī)處理器214可以指示第一可編程處理器202中的哪個(gè)組件將執(zhí)行/運(yùn)行該處理操作。因此,輸入處理器部件302可將數(shù)據(jù)存儲(chǔ)在存儲(chǔ)器314中,其中指定的組件檢索數(shù)據(jù),并對(duì)此類數(shù)據(jù)執(zhí)行/運(yùn)行第一處理操作。第一可編程處理器202可以輸出處理數(shù)據(jù)流的一部分的結(jié)果,而繼續(xù)處理數(shù)據(jù)流的不同部分。例如,第一可編程處理器202可以輸出處理視頻的第一幀的結(jié)果,而繼續(xù)處理該視頻的后續(xù)幀??刂圃诳?206繼續(xù)。
在框1206,通過(guò)邏輯連接將處理操作的輸出傳送/轉(zhuǎn)發(fā)到不同的可編程處理器或存儲(chǔ)器。參考圖2和3,輸出處理器部件304(在執(zhí)行/運(yùn)行第一處理操作的可編程處理器202中)通過(guò)作為配置的邏輯連接一部分的發(fā)射器端口408將處理操作的結(jié)果傳送/轉(zhuǎn)發(fā)到不同的可編程處理器202,或通過(guò)配置的邏輯連接傳送/轉(zhuǎn)發(fā)到存儲(chǔ)器108??刂圃诳?208繼續(xù)。
在框1208中,在不同的可編程處理器中處理該結(jié)果。與第一可編程處理器(在框1204中所述)中的處理相似,不同可編程處理器202內(nèi)的組件(例如處理器部件302、304、306A-306C的其中之一或加速器單元310A-310B的其中之一)執(zhí)行不同的圖像處理操作??刂圃诳?210繼續(xù)。
在框1210中,就數(shù)據(jù)流的處理操作是否完成作出判斷。具體來(lái)說(shuō),正在處理一部分?jǐn)?shù)據(jù)流的當(dāng)前可編程處理器202判斷,是否要基于從主機(jī)處理器214接收的配置數(shù)據(jù)將其操作的輸出通過(guò)邏輯連接傳送到不同的可編程處理器202或存儲(chǔ)器108。具體來(lái)說(shuō),主機(jī)處理器214可將可編程處理單元106配置為接收數(shù)據(jù)流,并在五個(gè)不同的可編程處理器202中執(zhí)行五個(gè)不同的壓縮/存儲(chǔ)處理操作。因此,主機(jī)處理器214將不同的邏輯連接配置為按給定次序?qū)?shù)據(jù)傳送到五個(gè)不同的可編程處理器202。當(dāng)確定對(duì)于數(shù)據(jù)流尚未完成處理操作時(shí),控制在框1006繼續(xù),其中將處理的結(jié)果輸出到不同的可編程處理器202或存儲(chǔ)器108???206和1206的操作繼續(xù),直到對(duì)于數(shù)據(jù)流完成了處理操作為止。
在框1212中,當(dāng)確定對(duì)于數(shù)據(jù)流完成了處理操作時(shí),輸出結(jié)果。參考圖2,在一個(gè)實(shí)施例中,如果當(dāng)前模式是存儲(chǔ)模式,則處理數(shù)據(jù)流的可編程處理器鏈中的最后一個(gè)可編程處理器202將結(jié)果輸出到存儲(chǔ)器108。參考圖1,在一個(gè)實(shí)施例中,如果當(dāng)前模式是圖像處理模式,則最后一個(gè)可編程處理器202通過(guò)I/O接口208將結(jié)果輸出到視頻顯示處理器110。
現(xiàn)在將描述可編程處理器202的不同端口之間基于握手協(xié)議傳輸數(shù)據(jù)的操作的一個(gè)實(shí)施例。具體來(lái)說(shuō),圖13A-13B圖示了根據(jù)本發(fā)明實(shí)施例用于可編程處理器中不同端口的存儲(chǔ)器之間通信的流程圖。通過(guò)示例方式而非限定方式,流程圖1300和1330的操作描述為這些不同端口內(nèi)的FIFO存儲(chǔ)器具有2的深度(即,兩入口FIFO)。圖13A圖示了將數(shù)據(jù)接收到端口存儲(chǔ)器的流程圖,而圖13B圖示了將數(shù)據(jù)傳送出端口存儲(chǔ)器的流程圖。
在框1302中,將接收數(shù)據(jù)的請(qǐng)求接收到可編程處理器的端口環(huán)的接收器端口。參考圖6,接收器端口406接收請(qǐng)求,以通過(guò)request_in信號(hào)504接收數(shù)據(jù)。如上所述,連接到接收器端口406的發(fā)射器端口408傳送該請(qǐng)求??刂圃诳?304繼續(xù)。
在框1304中,就接收器端口的接收器FIFO是否已滿作出判斷。參考圖6,接收器端口406判斷接收器FIFO 406是否已滿。當(dāng)確定接收器端口406的接收器FIFO 604已滿時(shí),控制在框1304繼續(xù),其中再次作出該判斷。在一個(gè)實(shí)施例中,該請(qǐng)求可在預(yù)定時(shí)段之后超時(shí),其中向主機(jī)處理器108發(fā)出警報(bào),并中止流程圖1300的操作。
在框1306中,當(dāng)確定接收器端口406的接收器FIFO 604未滿時(shí),就接收器FIFO是否半滿作出判斷。如上所述,接收器FIFO 604描述為具有2的深度。參考圖6,接收器端口406判斷接收器FIFO 604是否半滿。換言之,接收器端口406判斷接收器FIFO 604是空的還是在一個(gè)入口中有數(shù)據(jù)。當(dāng)確定接收器FIFO不是半滿(即,接收器FIFO是空的)時(shí),控制在框1310繼續(xù),下文對(duì)此予以更詳細(xì)描述。
在框1308中,當(dāng)確定接收器FIFO是半滿時(shí),將存儲(chǔ)在接收器FIFO中的第一入口中的數(shù)據(jù)移到接收器FIFO中的第二入口。參考圖6,接收器端口406將第一入口中存儲(chǔ)的數(shù)據(jù)移到接收器FIFO 604中的第二入口??刂圃诳?310繼續(xù)。
在框1310中,向在請(qǐng)求發(fā)射器端口(請(qǐng)求向接收器端口發(fā)送數(shù)據(jù)的發(fā)射器端口)發(fā)送許可。參考圖6,接收器端口406通過(guò)grant_in信號(hào)508將許可傳送到發(fā)射器端口408,由此指示發(fā)射器端口408可將數(shù)據(jù)傳送到接收器FIFO 604中。控制在框1312繼續(xù)。
在框1312中,將接收的數(shù)據(jù)存儲(chǔ)在接收器端口的接收器FIFO中。參考圖6,接收器端口406將接收的數(shù)據(jù)存儲(chǔ)在接收器FIFO 604的第一入口中,其是通過(guò)data_in信號(hào)502從發(fā)射器端口408接收的。
現(xiàn)結(jié)合圖13B的流程圖1330描述數(shù)據(jù)傳送出端口存儲(chǔ)器的實(shí)施例。在框1332中,傳送將數(shù)據(jù)輸出到接收器端口的請(qǐng)求。參考圖8,發(fā)射器端口408通過(guò)request_out信號(hào)512將輸出數(shù)據(jù)的請(qǐng)求傳送到(發(fā)射器端口408連接到的)接收器端口406??刂圃诳?334繼續(xù)。
在框1334中,就是否已從接收器端口接收到許可作出判斷。參考圖8,發(fā)射器端口408基于grant_out信號(hào)516的值判斷是否已從接收器端口406接收到許可。當(dāng)確定尚未從接收器端口406接收到許可時(shí),控制在框1334繼續(xù),其中發(fā)射器端口408再次作出該判斷。在一個(gè)實(shí)施例中,此許可的檢查可能在預(yù)定時(shí)間之后超時(shí),其中向主機(jī)處理器108發(fā)出警報(bào),并中止流程圖1300的操作。
在框1336中,當(dāng)確定已從接收器端口接收到許可時(shí),就發(fā)射器FIFO是否半滿作出判斷。參考圖8,發(fā)射器端口408判斷發(fā)射器FIFO706是否半滿。因?yàn)橐呀?jīng)啟動(dòng)了流程圖1330的操作,所以假定是發(fā)射器FIFO 706是非空的。
在框1338中,當(dāng)確定發(fā)射器FIFO不是半滿(發(fā)射器FIFO是滿的)時(shí),將來(lái)自發(fā)射器FIFO第二入口的數(shù)據(jù)輸出到接收器FIFO。參考圖8,發(fā)射器端口408通過(guò)data_out信號(hào)510將數(shù)據(jù)從發(fā)射器FIFO706的第二入口輸出到接收器FIFO,由此完成流程圖1330的操作。
在框1340中,當(dāng)確定發(fā)射器FIFO是半滿時(shí),將來(lái)自發(fā)射器FIFO第一入口的數(shù)據(jù)輸出到接收器FIFO。參考圖8,發(fā)射器端口408通過(guò)data_out信號(hào)510將數(shù)據(jù)從發(fā)射器FIFO 706的第一入口輸出到接收器FIFO,由此完成流程圖1330的操作。
雖然流程圖1300和1330描述作為不同端口環(huán)一部分的接收器端口和發(fā)射器端口之間的通信,但是所述的握手協(xié)議操作還可應(yīng)用于作為同一端口環(huán)一部分的接收器端口和發(fā)射器端口之間的通信。此外,此類握手協(xié)議操作可應(yīng)用于將數(shù)據(jù)分別輸入到輸入處理器部件302和輸出到輸出處理器部件304。
因此,如圖13A-13B所示,在一個(gè)實(shí)施例中,用于圖像處理操作的數(shù)據(jù)驅(qū)動(dòng)的結(jié)構(gòu)是基于該握手協(xié)議來(lái)通過(guò)邏輯連接的不同端口傳送數(shù)據(jù)。氣泡是沒(méi)有數(shù)據(jù)事務(wù)處理發(fā)生的時(shí)鐘周期(即,在給定時(shí)鐘周期內(nèi)數(shù)據(jù)未移動(dòng))。例如,在開始數(shù)據(jù)未準(zhǔn)備要傳送,和/或在邏輯連接的末端未檢索到數(shù)據(jù)。因此,在邏輯連接中可能有空位置,因?yàn)閿?shù)據(jù)未進(jìn)入邏輯連接中。此外,如上所述,如果因?yàn)樵纯删幊烫幚砥骰蚰康目删幊烫幚砥魃系臄?shù)據(jù)遲延條件的原因在邏輯連接中形成氣泡,則數(shù)據(jù)暫停單個(gè)時(shí)鐘周期。換言之,接收器和發(fā)射器端口內(nèi)的FIFO存儲(chǔ)器使邏輯連接中可以有不是因邏輯連接內(nèi)停止和重啟數(shù)據(jù)流而產(chǎn)生的氣泡。本發(fā)明的實(shí)施例是這樣的使氣泡不在氣泡外強(qiáng)制邏輯連接的任一端處有延遲。氣泡無(wú)需可編程處理單元106重新同步(其可能需要比與氣泡自身相關(guān)聯(lián)的時(shí)鐘周期數(shù)更多的時(shí)鐘周期來(lái)恢復(fù))。
可編程處理單元的多模式操作現(xiàn)在描述可編程處理單元106的多模式操作。圖14圖示了根據(jù)本發(fā)明一個(gè)實(shí)施例的可編程處理單元的多模式操作的流程圖。
在流程圖1400的框1402中,接收視頻。參考圖1的實(shí)施例,可編程處理單元106通過(guò)I/O接口208從視頻信號(hào)處理器104接收視頻。在一個(gè)實(shí)施例中,接收的視頻是數(shù)字?jǐn)?shù)據(jù)流。
在框1404,就系統(tǒng)是否處于存儲(chǔ)模式作出判斷。參考圖2的實(shí)施例,主機(jī)處理器214作出該判斷。在一個(gè)實(shí)施例中,系統(tǒng)100處于如下兩種模式其中之一1)存儲(chǔ)模式或2)圖像處理模式。主機(jī)處理器214可基于來(lái)自系統(tǒng)100的用戶的輸入來(lái)作出該判斷。在一個(gè)實(shí)施例中,系統(tǒng)100在電視內(nèi)(或?yàn)闄C(jī)頂盒或與之連接的媒體中心的一部分),其中用戶使用遙控器來(lái)選擇當(dāng)前模式。例如,用戶可在暫停將視頻顯示到視頻顯示器112時(shí)使系統(tǒng)100處于存儲(chǔ)模式。用戶還可在回退正在視頻顯示器112上顯示的視頻時(shí)使系統(tǒng)100處于存儲(chǔ)模式。因此,主機(jī)處理器214從用戶那接收該輸入。在一個(gè)實(shí)施例中,系統(tǒng)100內(nèi)的I/O邏輯(未示出)可以接收和處理系統(tǒng)100的輸入。這種I/O邏輯可將該輸入轉(zhuǎn)發(fā)到主機(jī)處理器214。
在一個(gè)實(shí)施例中,系統(tǒng)100的當(dāng)前模式保持在存儲(chǔ)模式,直到存儲(chǔ)器108沒(méi)有其中存儲(chǔ)的視頻為止。例如,如果用戶取消視頻顯示器112上顯示的暫停操作(由此恢復(fù)顯示),則系統(tǒng)100繼續(xù)存儲(chǔ)模式,直到存儲(chǔ)器108不包括存儲(chǔ)的視頻為止。因此,如果存儲(chǔ)器108包括存儲(chǔ)的視頻,則系統(tǒng)100可保持在存儲(chǔ)模式,直到用戶執(zhí)行快進(jìn)操作(例如跳過(guò)商業(yè)廣告節(jié)目)為止。這種操作使從存儲(chǔ)器108輸出視頻的速率超過(guò)在其中輸入輸入視頻的速率。
當(dāng)確定系統(tǒng)100的當(dāng)前模式不是存儲(chǔ)模式(而是圖像處理模式)時(shí),控制在框1412繼續(xù),下文對(duì)此予以更詳細(xì)描述。當(dāng)確定系統(tǒng)100的當(dāng)前模式是存儲(chǔ)模式時(shí),控制在框1406和1410繼續(xù),現(xiàn)在對(duì)此予以描述。
在操作1406中,壓縮視頻。參考圖2和3的實(shí)施例,一個(gè)或多個(gè)可編程處理器202中的一個(gè)或多個(gè)處理器部件壓縮該視頻。在一個(gè)實(shí)施例中,作為視頻壓縮的一部分,可以執(zhí)行多個(gè)不同的噪聲減少操作。在一個(gè)實(shí)施例中,壓縮視頻可包括圖像縮放、幀速率降低等。返回到圖2以幫助說(shuō)明,可編程處理器202A中的處理器部件可以執(zhí)行噪聲減少操作??删幊烫幚砥?02E可接收來(lái)自該噪聲減少操作的輸出??删幊烫幚砥?02E中的處理器部件可以通過(guò)圖像縮放操作來(lái)縮減視頻中的圖像。可編程處理器202H可以接收來(lái)自該圖像縮放操作的輸出??删幊烫幚砥?02H中的處理器部件可進(jìn)一步通過(guò)幀速率降低操作來(lái)壓縮視頻。
因此,如本示例所述的,在一個(gè)實(shí)施例中,主機(jī)處理器214將適當(dāng)?shù)奈⒋a下載到適當(dāng)?shù)目删幊烫幚砥?02中。具體來(lái)說(shuō),當(dāng)系統(tǒng)100的當(dāng)前模式改變時(shí),主機(jī)處理器214可將微代碼下載到可編程處理器202中。例如,假定可編程處理器202中的處理器部件已配置為,作為圖像處理模式的一部分,執(zhí)行增強(qiáng)的視頻處理操作(下文對(duì)此進(jìn)一步描述)。因此,在將系統(tǒng)100的當(dāng)前模式改為存儲(chǔ)模式之后,主機(jī)處理器214可將微代碼下載到可編程處理器202H中,以進(jìn)行幀速率降低操作。
此外,主機(jī)處理器214還可配置可編程處理器202之間的邏輯連接,以便進(jìn)行處理(如上文結(jié)合圖10的描述所述)。在一個(gè)實(shí)施例中,可編程處理器202的至少其中之一可配置為將其結(jié)果存儲(chǔ)在存儲(chǔ)器108中,隨后由不同的可編程處理器202來(lái)檢索。例如,如果在多個(gè)視頻幀上執(zhí)行壓縮操作的其中之一,則可在由不同的可編程處理器202處理之前,將給定數(shù)量的視頻幀存儲(chǔ)在存儲(chǔ)器108中。
返回到有關(guān)不同可編程處理器中的處理器部件執(zhí)行不同壓縮操作的上述示例,主機(jī)處理器214建立從I/O接口208到可編程處理器202A的邏輯連接。主機(jī)處理器214還建立從可編程處理器202A到可編程處理器202E的邏輯連接。主機(jī)處理器214還建立從可編程處理器202E到可編程處理器202H的邏輯連接??刂圃诳?408繼續(xù)。
在框1408中,存儲(chǔ)壓縮的視頻。參考圖2的實(shí)施例,可編程處理器202的其中之一存儲(chǔ)壓縮的視頻。如上所述,在一個(gè)實(shí)施例中,由可編程處理器202的至少其中之一對(duì)視頻執(zhí)行多個(gè)壓縮操作。完成壓縮操作的可編程處理器202可將壓縮的視頻存儲(chǔ)在存儲(chǔ)器108中。返回到與框1406相關(guān)的上述示例,在完成幀速率降低操作之后,可編程處理器202通過(guò)(如上所述給定可編程處理器202與存儲(chǔ)器108之間的)邏輯連接將該結(jié)果存儲(chǔ)在存儲(chǔ)器108中。
在框1410中,基于控制輸入,顯示視頻(與增強(qiáng)視頻處理無(wú)關(guān))。如上所述,在一個(gè)實(shí)施例中,系統(tǒng)100是電視或其它觀看設(shè)備的一部分。此類設(shè)備的用戶控制視頻在視頻顯示器112上的顯示。例如,用戶可使用遙控器在視頻顯示器112上暫停、重放、快進(jìn)或播放視頻。因此,從用戶那接收控制輸入,并將其傳送到主機(jī)處理器214。如果控制輸入是播放視頻,則主機(jī)處理器214建立多個(gè)邏輯連接,以解壓存儲(chǔ)在存儲(chǔ)器108中的視頻,并將這種視頻輸出到視頻顯示處理器110,以便在視頻顯示器112上顯示。
為了說(shuō)明,假定執(zhí)行圖像縮放操作和幀速率降低操作來(lái)壓縮存儲(chǔ)在存儲(chǔ)器108中的視頻。因此,主機(jī)處理器214在要執(zhí)行解壓操作的可編程處理器202之間建立邏輯連接。例如,可在存儲(chǔ)器108與可編程處理器202F之間建立邏輯連接??删幊烫幚砥?02F中的處理器部件可以從存儲(chǔ)器108中檢索壓縮視頻,并將幀插入回視頻中(例如使用內(nèi)插法)。可在可編程處理器202F與可編程處理器202D之間建立不同的邏輯連接。通過(guò)建立的邏輯連接,將來(lái)自可編程處理器202F的結(jié)果的視頻傳送到可編程處理器202D。可編程處理器202D可以執(zhí)行圖像縮放操作,以增大視頻的圖像尺寸。可以在可編程處理器202D與I/O接口208之間建立另一邏輯連接。通過(guò)所建立的邏輯連接將來(lái)自可編程處理器202D的結(jié)果的視頻傳送到I/O接口208。從其中將視頻輸出到視頻顯示處理器110。
雖然是以壓縮操作與解壓操作的數(shù)量之間存在一對(duì)一關(guān)系進(jìn)行描述的,但是實(shí)施例并不局限于此。返回上述示例來(lái)說(shuō)明,在一個(gè)實(shí)施例中,不執(zhí)行將幀插入回視頻,以便增加解壓和顯示的執(zhí)行。
就基于控制輸入顯示視頻而言(在框1410中),可以暫停視頻在視頻顯示器112上的顯示。因此,不執(zhí)行上述的解壓操作。此外,可編程處理單元106繼續(xù)壓縮輸入視頻,并將其存儲(chǔ)到存儲(chǔ)器108中(如框1406和1408中所述)。
基于控制輸入,可以重放視頻在視頻顯示器112上的顯示。主機(jī)處理器214接收指示要重放視頻的控制輸入。由此,主機(jī)處理器214配置可編程處理器108,以逆序解壓和顯示先前的幀,直到改變控制輸入或存儲(chǔ)器108沒(méi)有包括任何存儲(chǔ)的視頻為止。
基于控制輸入,可以快進(jìn)視頻在視頻顯示器112上的顯示,直到輸入視頻是正在顯示的內(nèi)容為止。例如,系統(tǒng)100的用戶可能希望跳過(guò)商業(yè)廣告節(jié)目。因此,主機(jī)處理器214配置可編程處理器108以比播放視頻時(shí)更快的速率解壓和顯示視頻。
返回到流程圖1400,在框1412中,當(dāng)確定系統(tǒng)100不處于存儲(chǔ)模式(而是圖像處理模式)時(shí),執(zhí)行增強(qiáng)的視頻處理。參考圖2的實(shí)施例,一個(gè)或多個(gè)可編程處理器202中的一個(gè)或多個(gè)處理器部件執(zhí)行增強(qiáng)的視頻處理。在一個(gè)實(shí)施例中,增強(qiáng)的視頻處理包括重影減少操作、噪聲減少操作(空間上、時(shí)間上等)、點(diǎn)蠕動(dòng)減少操作等。
返回到圖2以幫助說(shuō)明,在一個(gè)實(shí)施例中,主機(jī)處理器214在I/O接口208與參與增強(qiáng)視頻處理的不同可編程處理器202之間建立邏輯連接(如上所述)。此外,主機(jī)處理器214可下載要作為部分增強(qiáng)視頻處理操作執(zhí)行的微代碼。例如,假定可編程處理器202B配置為執(zhí)行重影減少操作;可編程處理器202H配置為執(zhí)行空間噪聲減少操作;可編程處理器202C配置為執(zhí)行時(shí)間噪聲減少操作;以及可編程處理器202E配置為執(zhí)行點(diǎn)蠕動(dòng)減少操作。
因此,主機(jī)處理器214可將微代碼下載到可編程處理器202B、可編程處理器202H、可編程處理器202C和/或可編程處理器202E。主機(jī)處理器214還建立從(接收數(shù)據(jù)的)I/O接口208到(執(zhí)行重影減少操作的)可編程處理器202B的邏輯連接。主機(jī)處理器214還建立從可編程處理器202B到(執(zhí)行空間噪聲減少操作的)可編程處理器202H的邏輯連接。另外,假定時(shí)間噪聲減少操作在多個(gè)視頻數(shù)據(jù)幀上執(zhí)行,主機(jī)處理器214建立從可編程處理器202H到(在時(shí)間噪聲減少操作之前用于存儲(chǔ)多個(gè)視頻數(shù)據(jù)幀的)存儲(chǔ)器108的邏輯連接。主機(jī)處理器214還建立從存儲(chǔ)器108到可編程處理器202C的邏輯連接。因此,在已將來(lái)自可編程處理器202H的輸出的給定數(shù)量的視頻數(shù)據(jù)幀存儲(chǔ)在存儲(chǔ)器108中之后,將這些幀輸入到(執(zhí)行時(shí)間噪聲減少操作的)可編程處理器202C。主機(jī)處理器214還建立從可編程處理器202C與(執(zhí)行點(diǎn)蠕動(dòng)減少操作的)可編程處理器202E的邏輯連接。主機(jī)處理器還建立從可編程處理器202E到I/O接口208的邏輯連接,在I/O接口208輸出視頻數(shù)據(jù)用于顯示。
在框1414中,顯示經(jīng)過(guò)增強(qiáng)視頻處理的視頻。參考圖1和2的實(shí)施例,I/O接口208將用于顯示的視頻數(shù)據(jù)輸出到視頻顯示處理器110。
另外,在一個(gè)實(shí)施例中,在改變系統(tǒng)100的當(dāng)前模式之后,當(dāng)前操作被中斷,且控制在點(diǎn)1處繼續(xù),其中在框1404就系統(tǒng)模式作出判斷。例如,如果當(dāng)前模式是圖像處理模式,且用戶選擇暫停按鈕以暫停視頻顯示器112上的顯示,則當(dāng)前模式改變?yōu)榇鎯?chǔ)模式,且控制被中斷,并在點(diǎn)1處繼續(xù)。
雖然流程圖1400圖示了在存儲(chǔ)之前壓縮視頻,但是本發(fā)明的實(shí)施例并不局限于此。在另一個(gè)實(shí)施例中,接收視頻,并將其存儲(chǔ)在存儲(chǔ)器108中,而不執(zhí)行壓縮操作。
在描述中,闡述了大量具體細(xì)節(jié),如邏輯實(shí)現(xiàn)、操作碼、指定操作數(shù)的組件、資源分區(qū)/共享/復(fù)制實(shí)現(xiàn)、系統(tǒng)組件的類型和相互關(guān)系以及邏輯分區(qū)/集成選擇,以便提供對(duì)本發(fā)明更透徹的理解。但是本領(lǐng)域人員將認(rèn)識(shí)到,本發(fā)明的實(shí)施例可以在沒(méi)有此類具體細(xì)節(jié)的情況下實(shí)施。在其它示例中,沒(méi)有詳細(xì)地示出控制結(jié)構(gòu)、門級(jí)電路和完整的軟件指令序列,以便不模糊本發(fā)明的實(shí)施例。本領(lǐng)域技術(shù)人員用所含的描述將能夠在無(wú)不當(dāng)實(shí)驗(yàn)的情況下實(shí)現(xiàn)適當(dāng)?shù)墓δ堋?br> 本說(shuō)明書中提及“一個(gè)實(shí)施例”、“實(shí)施例”、“示例實(shí)施例”等是指所述的實(shí)施例可包括特定的特性、結(jié)構(gòu)或特征,但是每個(gè)實(shí)施例可并不一定都包括該特定特性、結(jié)構(gòu)或特征。而且,此類短語(yǔ)不一定涉及相同的實(shí)施例。再者,當(dāng)結(jié)合一個(gè)實(shí)施例來(lái)描述特定特性、結(jié)構(gòu)或特征時(shí),提出應(yīng)在本領(lǐng)域技術(shù)人員的知識(shí)范圍內(nèi),結(jié)合無(wú)論明確描述與否的其它實(shí)施例影響這種特定特性、結(jié)構(gòu)或特征。
本發(fā)明實(shí)施例包括可以在機(jī)器可讀介質(zhì)提供的機(jī)器可執(zhí)行指令中實(shí)施的特性、方法或過(guò)程。機(jī)器可讀介質(zhì)包括任何以機(jī)器(例如計(jì)算機(jī)、網(wǎng)絡(luò)設(shè)備、個(gè)人數(shù)字助理、制造工具、具有一組一個(gè)或多個(gè)處理器的任何設(shè)備等)可訪問(wèn)形式提供(即存儲(chǔ)和/或傳送)信息的機(jī)構(gòu)。在一個(gè)示范實(shí)施例中,機(jī)器可讀介質(zhì)包括易失和/或非易失性介質(zhì)(例如只讀存儲(chǔ)器(ROM)、隨機(jī)存取存儲(chǔ)器(RAM)、磁盤存儲(chǔ)介質(zhì)、光存儲(chǔ)介質(zhì)、閃速存儲(chǔ)器設(shè)備等),以及電、光、聲或其它形式的傳播信號(hào)(例如載波、紅外信號(hào)、數(shù)字信號(hào)等)。
此類指令用于使得用這些指令編程的通用或?qū)S锰幚砥鱽?lái)執(zhí)行本發(fā)明實(shí)施例的方法或過(guò)程?;蛘?,由包括執(zhí)行這些操作的硬連線邏輯的特定硬件組件,或由編程數(shù)據(jù)處理組件與特定硬件組件的任何組合,來(lái)執(zhí)行本發(fā)明實(shí)施例的特性或操作。本發(fā)明的實(shí)施例包括本文進(jìn)一步描述的軟件、數(shù)據(jù)處理硬件、數(shù)據(jù)處理系統(tǒng)實(shí)現(xiàn)的方法以及各種處理操作。
多個(gè)附圖示出了根據(jù)本發(fā)明實(shí)施例用于可編程視頻處理/存儲(chǔ)結(jié)構(gòu)的系統(tǒng)和裝置的框圖。多個(gè)附圖示出了說(shuō)明可編程視頻處理/存儲(chǔ)結(jié)構(gòu)的操作的流程圖。這些流程圖的操作將參考框圖中所示的系統(tǒng)/裝置來(lái)描述。但是,應(yīng)該理解,流程圖的操作可以由不是參考這些框圖所述的那些的系統(tǒng)和裝置實(shí)施例來(lái)執(zhí)行,且參考這些系統(tǒng)/裝置論述的實(shí)施例可以執(zhí)行不同于參考這些流程圖論述的那些的操作。
鑒于對(duì)本文所述實(shí)施例的各種置換,該詳細(xì)描述僅視為說(shuō)明性的,而不應(yīng)視為限制本發(fā)明的范圍。為了說(shuō)明,雖然參考了可編程處理單元106來(lái)描述操作,但是本發(fā)明的實(shí)施例并不局限于此。例如,在一個(gè)實(shí)施例中,可以由在單個(gè)通用處理器中執(zhí)行的軟件應(yīng)用程序來(lái)執(zhí)行這些多模式操作。而且,雖然是參考視頻處理來(lái)描述的,但是本發(fā)明的實(shí)施例并不局限于此。例如,在一個(gè)實(shí)施例中,這些多模式操作可應(yīng)用于處理諸如音頻、音頻和視頻組合等的其它類型數(shù)據(jù)。為了進(jìn)一步說(shuō)明對(duì)本文所述實(shí)施例的可能置換,雖然參考兩種模式來(lái)描述多模式操作,但是本發(fā)明的實(shí)施例并不局限于此,因?yàn)榭梢允歉鄶?shù)量的此類模式。例如,在一個(gè)實(shí)施例中,可編程處理單元106的第三種模式可以包括視頻處理的其它方面。再者,雖然就接收RF信號(hào)和生成模擬信號(hào)的模擬調(diào)諧器來(lái)描述實(shí)施例,但是本發(fā)明的實(shí)施例并不局限于此。例如,在一個(gè)實(shí)施例中,視頻調(diào)諧器102可以是接收RF信號(hào)和生成數(shù)字信號(hào)的數(shù)字調(diào)諧器。因此本發(fā)明所要求的是所附權(quán)利要求及其等效項(xiàng)范圍和精神內(nèi)的所有此類修改。因此,說(shuō)明書和附圖應(yīng)視為說(shuō)明性的,而非限制性意義的。
權(quán)利要求
1.一種方法,包括將視頻接收到視頻顯示設(shè)備中;當(dāng)確定所述視頻顯示設(shè)備處于存儲(chǔ)模式時(shí),由至少一個(gè)處理器將所述視頻存儲(chǔ)到存儲(chǔ)器中;以及當(dāng)確定所述視頻顯示設(shè)備處于圖像處理模式時(shí),用所述至少一個(gè)處理器對(duì)所述視頻執(zhí)行增強(qiáng)圖像處理。
2.如權(quán)利要求1所述的方法,還包括當(dāng)確定所述視頻顯示設(shè)備處于所述存儲(chǔ)模式時(shí),在將所述視頻存儲(chǔ)到所述存儲(chǔ)器之前,由所述至少一個(gè)處理器壓縮所述視頻。
3.如權(quán)利要求2所述的方法,其中由所述至少一個(gè)處理器壓縮所述視頻包括由所述至少一個(gè)處理器的第一處理器對(duì)所述視頻執(zhí)行幀降低。
4.如權(quán)利要求3所述的方法,其中由所述至少一個(gè)處理器壓縮所述視頻包括由所述至少一個(gè)處理器的第二處理器縮放所述視頻。
5.如權(quán)利要求1所述的方法,其中對(duì)所述視頻執(zhí)行增強(qiáng)圖像處理包括執(zhí)行重影減少操作。
6.如權(quán)利要求1所述的方法,其中對(duì)所述視頻執(zhí)行增強(qiáng)圖像處理包括執(zhí)行噪聲減少操作。
7.如權(quán)利要求1所述的方法,其中用所述至少一個(gè)處理器對(duì)所述視頻執(zhí)行增強(qiáng)圖像處理包括用所述至少一個(gè)處理器的第一處理器對(duì)所述視頻執(zhí)行第一增強(qiáng)圖像處理操作,以及用所述至少一個(gè)處理器的第二處理器對(duì)所述視頻執(zhí)行第二增強(qiáng)圖像處理操作。
8.如權(quán)利要求7所述的方法,還包括通過(guò)包括經(jīng)由第三處理器的路徑的邏輯連接,將第一增強(qiáng)圖像處理操作的輸出從第一處理器傳送到第二處理器,其中作為通過(guò)所述邏輯連接傳送所述輸出的一部分,第三處理器不配置為對(duì)所述輸出執(zhí)行處理操作。
9.一種裝置,包括連接到存儲(chǔ)器的輸入/輸出接口;以及第一可編程處理器,用于在所述裝置的當(dāng)前模式是圖像處理模式的情況下,對(duì)視頻執(zhí)行第一增強(qiáng)圖像處理操作,并且其中在所述裝置的當(dāng)前模式是存儲(chǔ)模式的情況下,第一可編程處理器將所述視頻存儲(chǔ)到所述存儲(chǔ)器。
10.如權(quán)利要求9所述的裝置,還包括第二可編程處理器,用于在所述裝置的當(dāng)前模式是所述圖像處理模式的情況下,對(duì)所述視頻執(zhí)行第二增強(qiáng)圖像處理操作,并且其中在所述裝置的當(dāng)前模式是存儲(chǔ)模式的情況下,在將所述視頻存儲(chǔ)到所述存儲(chǔ)器之前,第二處理器對(duì)所述視頻執(zhí)行視頻壓縮操作。
11.如權(quán)利要求10所述的裝置,其中所述視頻壓縮操作是從由圖像縮放操作和幀速率降低操作組成的組中選擇的。
12.如權(quán)利要求10所述的裝置,還包括第三可編程處理器,用于在所述裝置的當(dāng)前模式是所述圖像處理模式的情況下,對(duì)所述視頻執(zhí)行第三增強(qiáng)圖像處理操作,并且其中在所述裝置的當(dāng)前模式是所述存儲(chǔ)模式的情況下,在所述視頻壓縮操作之前,第三處理器對(duì)所述視頻執(zhí)行噪聲減少操作。
13.如權(quán)利要求9所述的裝置,還包括主機(jī)處理器,用于從包括所述裝置的視頻顯示設(shè)備的用戶接收控制輸入,其中所述控制輸入使所述當(dāng)前模式改變,其中在所述控制輸入使得從所述當(dāng)前模式改變的情況下,所述主機(jī)處理器更新第一可編程處理器中的微代碼。
14.一種裝置,包括存儲(chǔ)器;第一可編程處理器,用于在所述裝置的當(dāng)前模式是圖像處理模式的情況下,對(duì)視頻執(zhí)行第一增強(qiáng)圖像處理操作,并且其中在所述裝置的當(dāng)前模式是存儲(chǔ)模式的情況下,第一可編程處理器將對(duì)所述視頻執(zhí)行壓縮操作;以及第二可編程處理器,用于在所述裝置的當(dāng)前模式是所述圖像處理模式的情況下,通過(guò)包括經(jīng)由第三可編程處理器的路徑的第一邏輯連接,接收來(lái)自第一增強(qiáng)圖像處理操作的輸出,并對(duì)所述視頻執(zhí)行第二增強(qiáng)圖像處理操作,并且其中在所述裝置的當(dāng)前模式是所述存儲(chǔ)模式的情況下,第二可編程處理器通過(guò)包括經(jīng)由第四可編程處理器的路徑的第二邏輯連接,接收來(lái)自所述壓縮操作的輸出,并將所述視頻存儲(chǔ)到所述存儲(chǔ)器中。
15.如權(quán)利要求14所述的裝置,還包括主機(jī)處理器,用于從包括所述裝置的視頻顯示設(shè)備的用戶接收控制輸入,其中所述控制輸入使所述當(dāng)前模式改變,其中在所述裝置的當(dāng)前模式是所述存儲(chǔ)模式的情況下,所述主機(jī)處理器創(chuàng)建第一邏輯連接,在所述裝置的當(dāng)前模式是圖像處理模式的情況下,所述主機(jī)處理器創(chuàng)建第二邏輯連接。
16.如權(quán)利要求15所述的裝置,其中在所述控制輸入使得從所述當(dāng)前模式改變的情況下,所述主機(jī)處理器更新第一可編程處理器和第二可編程處理器中的微代碼。
17.如權(quán)利要求16所述的裝置,其中使所述當(dāng)前模式是所述存儲(chǔ)模式的所述控制輸入是對(duì)所述視頻顯示設(shè)備的顯示器上所述視頻顯示的暫停操作。
18.如權(quán)利要求16所述的裝置,其中使所述當(dāng)前模式是所述存儲(chǔ)模式的所述控制輸入是對(duì)所述視頻顯示設(shè)備的顯示器上所述視頻顯示的回退操作。
19.一種系統(tǒng),包括視頻調(diào)諧器,用于接收信號(hào),其中所述視頻調(diào)諧器以一個(gè)頻率從所述信號(hào)中提取模擬視頻信號(hào);視頻信號(hào)處理器,用于接收所述模擬視頻信號(hào),并將所述模擬視頻信號(hào)轉(zhuǎn)換成數(shù)字視頻信號(hào);雙倍數(shù)據(jù)速率(DDR)隨機(jī)存取存儲(chǔ)器(RAM);以及可編程處理單元,具有至少一個(gè)可編程處理器和主機(jī)處理器,其中所述主機(jī)處理器配置所述至少一個(gè)可編程處理器,以在所述系統(tǒng)處于存儲(chǔ)模式的情況下,壓縮所述數(shù)字視頻信號(hào)并將其存儲(chǔ)在所述DDR RAM中,并且其中所述主機(jī)處理器配置所述至少一個(gè)可編程處理器,以在所述系統(tǒng)處于圖像處理模式的情況下,執(zhí)行至少一個(gè)圖像處理操作。
20.如權(quán)利要求19所述的系統(tǒng),其中所述至少一個(gè)可編程處理器在所述數(shù)字視頻信號(hào)的多個(gè)幀上執(zhí)行所述至少一個(gè)圖像處理操作。
21.如權(quán)利要求19所述的系統(tǒng),其中所述至少一個(gè)可編程處理器的第一可編程處理器將所述至少一個(gè)圖像處理操作的第一圖像處理操作的結(jié)果存儲(chǔ)在所述DDR RAM中,并且其中所述至少一個(gè)可編程處理器的第二可編程處理器從所述DDR RAM中檢索所述結(jié)果,并執(zhí)行所述至少一個(gè)圖像處理操作的第二圖像處理操作。
22.如權(quán)利要求19所述的系統(tǒng),其中所述至少一個(gè)圖像處理操作是從由重影減少操作、時(shí)間噪聲減少操作和空間噪聲減少操作組成的組中選擇的。
23.一種提供指令的機(jī)器可讀介質(zhì),所述指令在由機(jī)器運(yùn)行時(shí),使所述機(jī)器執(zhí)行包括如下操作的操作將視頻接收到視頻顯示設(shè)備中;當(dāng)確定所述視頻顯示設(shè)備處于存儲(chǔ)模式時(shí),由至少一個(gè)處理器將所述視頻存儲(chǔ)到存儲(chǔ)器中;以及當(dāng)確定所述視頻顯示設(shè)備處于圖像處理模式時(shí),用所述至少一個(gè)處理器對(duì)所述視頻執(zhí)行增強(qiáng)圖像處理。
24.如權(quán)利要求23所述的機(jī)器可讀介質(zhì),還包括當(dāng)確定所述視頻顯示設(shè)備處于所述存儲(chǔ)模式時(shí),在將所述視頻存儲(chǔ)到所述存儲(chǔ)器之前,由所述至少一個(gè)處理器壓縮所述視頻。
25.如權(quán)利要求24所述的機(jī)器可讀介質(zhì),其中由所述至少一個(gè)處理器壓縮所述視頻包括由所述至少一個(gè)處理器的第一處理器對(duì)所述視頻執(zhí)行幀降低。
26.如權(quán)利要求25所述的機(jī)器可讀介質(zhì),其中由所述至少一個(gè)處理器壓縮所述視頻包括由所述至少一個(gè)處理器的第二處理器縮放所述視頻。
27.如權(quán)利要求23所述的機(jī)器可讀介質(zhì),其中對(duì)所述視頻執(zhí)行增強(qiáng)圖像處理包括執(zhí)行重影減少操作。
28.如權(quán)利要求23所述的機(jī)器可讀介質(zhì),其中對(duì)所述視頻執(zhí)行增強(qiáng)圖像處理包括執(zhí)行噪聲減少操作。
29.如權(quán)利要求23所述的機(jī)器可讀介質(zhì),其中用所述至少一個(gè)處理器對(duì)所述視頻執(zhí)行增強(qiáng)圖像處理包括用所述至少一個(gè)處理器的第一處理器對(duì)所述視頻執(zhí)行第一增強(qiáng)圖像處理操作,以及用所述至少一個(gè)處理器的第二處理器對(duì)所述視頻執(zhí)行第二增強(qiáng)圖像處理操作。
30.如權(quán)利要求29所述的機(jī)器可讀介質(zhì),還包括通過(guò)包括經(jīng)由第三處理器的路徑的邏輯連接,將第一增強(qiáng)圖像處理操作的輸出從第一處理器傳送到第二處理器,其中作為通過(guò)所述邏輯連接傳送所述輸出的一部分,第三處理器不配置為對(duì)所述輸出執(zhí)行處理操作。
全文摘要
在一個(gè)實(shí)施例中,一種方法包括將視頻接收到視頻顯示設(shè)備中。該方法還包括當(dāng)確定視頻顯示設(shè)備處于存儲(chǔ)模式時(shí),由至少一個(gè)處理器將所述視頻存儲(chǔ)到存儲(chǔ)器中。此外,該方法還包括當(dāng)確定所述視頻顯示設(shè)備處于圖像處理模式時(shí),用至少一個(gè)處理器對(duì)視頻執(zhí)行增強(qiáng)圖像處理。
文檔編號(hào)H04N5/926GK1902921SQ200480039178
公開日2007年1月24日 申請(qǐng)日期2004年12月24日 優(yōu)先權(quán)日2003年12月31日
發(fā)明者L·利平科特 申請(qǐng)人:英特爾公司
網(wǎng)友詢問(wèn)留言 已有0條留言
  • 還沒(méi)有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
1
若羌县| 泾阳县| 鹤庆县| 肇州县| 屏东县| 平昌县| 连南| 墨竹工卡县| 台安县| 浪卡子县| 通榆县| 广元市| 芦溪县| 喀喇沁旗| 谢通门县| 昌邑市| 武安市| 自治县| 浦县| 岳普湖县| 读书| 怀来县| 宁城县| 玉树县| 莱阳市| 杭锦旗| 泸溪县| 方城县| 惠水县| 洪湖市| 岢岚县| 宁南县| 景洪市| 如东县| 峨眉山市| 鄄城县| 孝昌县| 永定县| 邵东县| 万年县| 泊头市|