專利名稱:將視頻幀從存儲器傳送到片內緩沖器供視頻處理的制作方法
技術領域:
本發(fā)明涉及使用多相濾波器對數字圖像或數字視頻進行垂直縮放的技術。
背景技術:
在獲得隨后應用于顯示屏的圖像或幀的最后象素之前,存在對輸入視頻執(zhí)行的數字處理的若干階段。大多數數字視頻播放器可以與不同類型的視頻源(包括不同的廣播和視頻編碼格式,例如全國電視標準委員會NTSC和運動圖象專家組MPEG格式)接口。因此通常在初始階段提供轉換器,以執(zhí)行從NTSC模擬信號或MPEG數字信號到未壓縮的數字視頻流的轉換。然后,該流被送到在此簡單地稱為數字電視(TV)芯片的集成電路(IC)。該數字TV芯片通常物理地位于個人計算機(PC)、電視機頂盒或顯示裝置內部。
數字電視芯片具有顯示處理引擎(DPE),也稱為視頻流水線或顯示處理流水線。該DPE接收未壓縮的視頻流,并處理該視頻流以使其適合特定的顯示裝置。該DPE也具有許多階段。這些階段其中之一可以執(zhí)行噪聲降低。另一個階段是加強該流,例如關于清晰度或對比度??梢栽O計二者以改善在顯示時該流將如何出現。該DPE還可以具有格式調整階段。格式調整階段改變視頻流的分辨率、它的刷新率、和/或它的掃描率以適合特定類型的顯示裝置(如高清晰度電視HDTV、顯示裝置、液晶顯示器(LCD)、等離子以及陰極射線管(CRT))。
通常由DPE以光柵掃描順序接收視頻流,例如,以沿顯示屏水平行從左到右(或從右到左)、從上到下(或從下到上)掃描的順序從外部存儲器進行傳送。外部存儲器可以包括片外隨機存取存儲器(RAM)裝置、如動態(tài)RAM器件。該存儲裝置可以是PC(如使用由位于美國加利福尼亞洲圣克拉拉市的因特爾公司(Intel Corp.,Santa Clara,California)制造的PENTIUM處理器)的主要或系統(tǒng)存儲器的一部分。增強流隨后可以由DPE直接傳送給顯示裝置。
發(fā)明內容
由DPE進行的格式調整可以部分地在縮放階段執(zhí)行??s放操作被設計為在水平和/或垂直方向上收縮或擴展視頻幀。在某些應用中,例如從舊的廣播電視標準轉換成HDTV,縮放操作需要具有更精細的粒度。精細粒度縮放通常使用特定類型的、被稱為多相濾波器的數字濾波器來執(zhí)行。
DPE可以實現垂直縮放,即如下地使用多相濾波器在幀的垂直方向上進行伸展或收縮??紤]具有5個本地(片內)行存儲器、每一個都足夠大以存儲充滿整個顯示屏的圖像或幀的整個水平行的像素的DPE。5個行存儲器中的每一個的輸出都耦合到5抽頭(5個輸入)的多相濾波器上。多相濾波器對于從行存儲器中獲得的5個輸入像素的每一列都在其輸出端產生單一的像素值。與光柵掃描順序一致,DPE通常從片外存儲器連續(xù)裝入圖像或幀的5個完整的行到其行存儲器中。一旦該行存儲器已經裝入完畢,則多相濾波器的輸出被啟用,并將多相濾波器的輸出作為一組新的像素值(對縮放圖像來說)。注意到,取決于向下縮放或向上縮放的大小,DPE可能需要將幀的附加行讀到其行存儲器(其可以替換較早前被讀取的行存儲器),以對縮放圖像產生更多或更少的輸出像素。
作為上述技術的一個例子,考慮具有1920×1080像素分辨率(適于HD電視)的視頻。在這種情況下,每個行存儲器大約2000像素寬,以適合1920像素(幀的水平寬度)的完整行。因此,對于8比特/像素的4∶2∶2的Y-Cr-Cb的顏色配置來說,該操作需要下列的行存儲器尺寸用于Y的行存儲器=5×1920×8=76800比特用于Cr的行存儲器=5×1920/2×8=38400比特用于Cb的行存儲器=5×1920/2×8=38400比特行存儲器總數=153600比特
通過實例而非限定的方式說明了本發(fā)明的實施例,附圖中相同的參考標記指示類似的元件。應該注意的是,在本公開中參考本發(fā)明的“一個”實施例不一定是相同的實施例,但它們指至少一個。
圖1是用于視頻處理的環(huán)境的框圖。
圖2顯示了已經被分成多個待連續(xù)傳送到片內緩沖器供視頻處理的條帶或區(qū)域的HD幀的一個例子。
圖3是包括處理器和視頻后處理芯片的系統(tǒng)的框圖。
圖4是用于處理視頻的方法的流程圖。
具體實施例方式
本發(fā)明的一個實施例針對使用多相濾波器對數字圖像或數字視頻進行垂直縮放的技術。對其它的實施例也進行了描述。
圖1是根據本發(fā)明實施例、用于視頻處理的環(huán)境的框圖。要顯示的視頻到達并作為被解碼、未被壓縮的幀116的流存儲在存儲器104中。在這種情況下,該存儲器104是片外存儲器,但它也可以選擇性地設置在片內。該存儲器104可以是一個足夠大以存儲實際大小的幀的存儲器,例如實際大小的幀的緩沖器。分離的數字電視(DTV)芯片108使用如上所述構成視頻流水線或顯示處理流水線的固件和/或硬件的組合對幀執(zhí)行視頻處理。將幀116按部分從存儲器傳送到對它們執(zhí)行視頻處理的DTV芯片。一旦處理完一部分,隨后就可以將結果傳回到存儲器或另一個位置,以應用于顯示屏(未示出)。DTV芯片硬件包括用于存儲正被處理的每個視頻幀的部分的片內緩沖器112。視頻處理可以包括使用N抽頭多相濾波器114所執(zhí)行的縮放。
來自存儲器的視頻幀像素數據的傳送(用于填充DTV芯片的片內緩沖器112供處理)可以發(fā)生在多個存儲器事務處理、例如多個存儲器突發(fā)(burst)傳輸中。例如,存儲器104可以包括對存儲器突發(fā)傳輸具有良好定義機制的雙數據率(DDR)隨機存取存儲器(RAM)。突發(fā)傳輸與確定的存儲器地址邊界對準。例如,突發(fā)可以是字對準的,也就是說,突發(fā)包括在給定地址開始的整數個字(其中每個字包括兩個或兩個以上字節(jié))??蛇x擇地,該突發(fā)傳輸可以是與存儲器的較大或較小的組塊對準。存儲器突發(fā)傳輸比使用多個較小事務處理傳送相同數量的字更有效率。
在圖1所描述的環(huán)境中的操作可以如下??梢詫γ總€幀連續(xù)地執(zhí)行在此描述的操作。存儲在存儲器104中的視頻幀116被分割成多個條帶或區(qū)域。每個條帶可以具有比全部水平屏幕寬度的一半還要小的寬度(以像素測量的)。每個條帶可以是存儲器的存儲器突發(fā)寬度(或也稱為存儲器突發(fā)尺寸)的整數倍(一倍或多倍)。像素數據可以以具有條帶尺寸大小(從寬度的觀點)的部分從存儲器被傳送。這有助于減少與從存儲器傳送有關的事務處理開銷。
如果條帶寬度是緩沖器112的寬度的整數倍,并且是突發(fā)尺寸的整數倍,那么因此可以避免與讀取超出填充緩沖器所需數據的過量數據(該數據基本上被丟棄)相關的存儲器存取損失,從而可以節(jié)省存儲器傳送周期。這種節(jié)省對于較大的幀(如,HD幀)以及對于高質量視頻的較高幀頻(如,大于每秒30幀)更加明顯。
除了節(jié)省與存儲器事務處理相關的開銷之外,本發(fā)明的實施例還考慮到減小的片內緩沖器或行存儲器尺寸,從而減少了對于視頻處理所需的芯片有效面積。例如,拿上述背景技術部分所描述的1920×1080HD視頻的情況來說,使用本發(fā)明實施例所需的行存儲器尺寸如下(對于5抽頭多相濾波器和4∶2∶2Y、Cr、Cb顏色配置以及8比特/像素的例子來說)用于4Y的行存儲器=5×64×8=2560用于Cr的行存儲器=5×64×8=2560用于Cb的行存儲器=5×64×8=2560行存儲器總數=7680比特其中,每個行存儲器僅為64字節(jié)寬。因此,這在本地或片內行存儲器的尺寸的節(jié)省上超過一個數量級。
現在參考圖2,顯示了被分割為M個條帶或區(qū)域204的實例幀116(用于HD電視的1920×1080像素分辨率)。在此情況下,每個條帶的寬度是相同的,在這個例子中,除了在幀的最右邊或最左邊的條帶(未示出)以外,均為64字節(jié)。在其它實施例中,幀可以被分割為具有不同條帶寬度的部分。圖2也顯示了如何以部分光柵掃描順序、在這種情況下為從左到右和從上到下的順序每次讀取條帶部分的一水平行??蛇x擇地,光柵掃描順序可以是從右到左和/或從下到上。每個條帶可以由DTV芯片108(圖1)順序地進行處理。注意一些條帶可以重疊,雖然為了更好的性能,它們不應該重疊并且應該對準(如圖2所示),這樣在相鄰的條帶或區(qū)域204之間才不會有間隙。
回到圖1,使用多相濾波器114在DTV芯片108中對條帶的已傳送部分執(zhí)行視頻處理。該多相濾波器是一個具有N抽頭的數字濾波器。當使用多相濾波器實現垂直縮放時,片內緩沖器112可以包括用于視頻的每種顏色或亮度分量的N個行存儲器112_1、112_2...112_N。在這種情況下,每次有N個水平行段被存儲在片內緩沖器中。應當注意到,這些是作為與填充整個顯示屏的視頻幀的全部或完整行相反的行段。通過典型的光柵掃描傳送,需要將全部行傳送到片內緩沖器。
為了產生多相濾波器的初始輸出,需要從給定的條帶或區(qū)域204中讀取一組初始N個行段(參見圖2)。一旦執(zhí)行上述操作,則以水平行形式獲取多相濾波器的輸出。例如,在這種情況下,對于每個已經裝入了64字節(jié)寬的N個行段的每一組,存在包括從多相濾波器取得的64字節(jié)的輸出行段122。在垂直縮放的情況下,取決于縮放因子,在處理完初始組之后,一個或多個附加的或新的行段需要裝入。因此,雖然條帶的一部分可以包括N個行段,但是隨后的部分可以僅僅是單獨的附加行段。以這種方式,將N個行段的窗口提供給垂直向下移動該條帶的多相濾波器,在每個位置提供64字節(jié)寬的輸出行段。在處理了整個第一區(qū)域204_1以后,操作移到區(qū)域204_2,并且以那種方式連續(xù)通過幀的剩余部分。注意到,在窗口的每個位置可以可選地裝入一組新的數字濾波器系數。
通常,可以根據存儲器總線寬度選擇條帶寬度,以將其有效地傳送到片內緩沖器。例如,條帶寬度可以是存儲器突發(fā)尺寸的整數倍。然而已經確定的是,存在外部存儲器,則行存儲器寬度不需要大于單個存儲器突發(fā)寬度。保持每個行存儲器寬度恰好等于單個存儲器突發(fā)寬度避免了與未對準的存儲器讀取相關的存取損失,但也可以是芯片有效面積和更大的緩沖之間理想的權衡。作為一個例子,對于64位的DDR存儲器和8位像素,條帶寬度應為64字節(jié),突發(fā)尺寸8字節(jié),并且片內緩沖器中的行存儲器寬度為8字節(jié)。
現在轉向圖3,顯示了具有視頻后處理芯片的計算機系統(tǒng)的框圖。該系統(tǒng)具有處理器304,其可以是由位于加利福尼亞洲圣克拉拉市的因特爾公司(Intel Corp.,of Santa Clara,California)制造的PENTIUM處理器。包括例如DDR RAM模塊的主存儲器308用于存儲要由處理器執(zhí)行的程序。視頻后處理芯片312對程序已請求的解碼的視頻執(zhí)行幀調整。該解碼的視頻可以是例如解碼的MPEG視頻或已經數字化的另一個原始視頻源。芯片312用于將幀“分割”或“劃分”成條帶,也就是說,如上所述存取采用條帶形式的每一個視頻幀,其中每個條帶可以具有主存儲器308的存儲器突發(fā)寬度的整數倍的寬度。作為選擇,每個條帶寬度可以是高速緩沖存儲器316的高速緩沖存儲器行的整數倍,其中高速緩沖存儲器316存儲最近由處理器使用的數據。芯片312具有允許將每個條帶從主存儲器連續(xù)傳送到芯片312、然后在芯片312中進行垂直縮放的機制。這是一個統(tǒng)一存儲器體系結構實施例的實例,其中主存儲器308具有幀緩沖器部分,以存儲用于傳送到后處理芯片312的視頻幀。這種視頻幀可以以光柵掃描的順序存儲在幀緩沖器部分。換句話說,可以以光柵掃描的順序將它們寫入幀緩沖器部分,也可以以光柵掃描的順序從中讀取。當然,為了垂直縮放的目的,然而不是每次讀取該幀的整行,而是每次讀取一個條帶(此處也稱為部分光柵掃描)。
可以通過將芯片312連接到主存儲器的直接存儲器存取(DMA)通道來實現傳送。關于垂直縮放,這可以如上所述通過具有N個抽頭的多相濾波器來執(zhí)行,其中每個抽頭與相應的片內行段緩沖器耦合。片內緩沖器用來存儲條帶的N個行段,其中每個行段緩沖器可以具有與存儲器突發(fā)寬度相同的寬度。
根據本發(fā)明的另一個實施例,幀緩沖存儲器是片內的,具有多相濾波器和它的片內/本地緩沖器。在那種情況下,片內緩沖器可以是通常位于片內DMA引擎內部的暫存器的一部分。
如上所述的垂直縮放由n個輸入的一維運算器來實現。在那種情況下,運算器的輸出像素取決于n象素的列,而不取決于那些鄰近的列??梢栽诘谝淮芜\算期間以這種方式處理整個幀。這可以與在其中應用另一個一維運算器的第二次運算結合,這次用于水平縮放。兩次運算的結合完成所希望的2維縮放。這種類型格式調整的應用是從NTSC 4∶3到HD 16∶9的轉換(通過2維按比例縮放)。
同時,可能存在一個以上輸入視頻流被饋送到DTV芯片的顯示處理流水線。例如,一個流要在在電視顯示設備上全屏顯示,而另一個流要作為畫中畫(PIP)或畫上畫(POP)在相同顯示屏上進行顯示。
現在參考圖4,顯示了根據本發(fā)明實施例、用于已解碼視頻的后處理的方法的流程圖。操作開始于將存儲在幀緩沖存儲器中的視頻幀分割為條帶或區(qū)域,每個條帶或區(qū)域具有存儲器突發(fā)尺寸的整數倍的寬度(404)。使用存儲器突發(fā)事務處理將條帶的一部分傳送到片內緩沖器(408)??梢詫σ褌魉偷牟糠謭?zhí)行多相濾波、例如垂直失真縮放(412)。如果那個部分是所給定條帶的最后一個(416),則該方法確定是否所有條帶都已經被處理(420)。如果不是,那么該方法移動到下一部分或下一條帶(424),并且對那個下一條帶的多個部分重復進行傳送和多相濾波操作408、412。
本發(fā)明的一個實施例可以是一種機器可讀介質,在其上存儲有編程處理器以執(zhí)行如上所述的某些操作的指令,例如,對從存儲器傳送來的圖像部分執(zhí)行諸如垂直縮放的圖像處理。在其它實施例中,這些操作中的一些可以由包含硬連線邏輯的特定硬件組件執(zhí)行。可選擇地,那些操作還可以由編程的計算機組件和定制的硬件組件的任何組合來執(zhí)行。
機器可讀介質可以包括以機器(如,計算機)可讀方式進行存儲或傳送信息的任何結構,不局限于小型只讀存儲器(CD-ROM)、只讀存儲器(ROM)、隨機存取存儲器(RAM)、可擦除可編程只讀存儲器(EPROM)以及通過互聯網的傳輸。
進一步,設計從創(chuàng)造到模擬到制造要經歷各種階段。表示設計的數據可以采用許多方式表示該設計。首先,如在模擬中有用的,可以使用硬件描述語言或其它功能描述語言來表示硬件。另外,具有邏輯和/或晶體管門電路的電路級模型可以在設計處理的某些階段進行制造。更進一步,大多數設計在某一階段達到表示在硬件模型中的各種裝置的物理布置的數據級別。在使用傳統(tǒng)的微電子制造技術的情況下,表示硬件模型的數據可以是指明用于制造集成電路的不同掩模層或掩模上各種特征有無的數據。在任何設計表示中,數據可以存儲在任何形式的機器可讀介質中。
本發(fā)明不局限于上述特定實施例。例如,雖然本發(fā)明的實施例在上文中通過參考視頻進行描述,但將幀分割為條帶并將條帶的部分傳送到片內緩沖器供進一步片內處理的技術也可以應用于靜止圖像。而且,任何參考“象素”不局限于上述使用的單獨的、8位值的例子。因此,其它實施例也落在權利要求的范圍內。
權利要求
1.一種方法,包括a)將存儲在幀緩沖存儲器中的視頻幀分割為多個條帶,每個條帶都具有小于要在顯示屏上顯示所述視頻幀的顯示屏的整個水平寬度的一半的寬度,并且是所述存儲器的存儲器突發(fā)寬度的整數倍;b)將所述條帶其中之一的一部分從所述存儲器傳送到片內緩沖器中;c)對已傳送的部分執(zhí)行多相濾波;以及對所述條帶其中之一的另外部分重復b)-c)。
2.根據權利要求1所述的方法,其中所述視頻幀是高清晰度(HD)視頻幀。
3.根據權利要求2所述的方法,其中垂直縮放是將HD轉換為全國電視標準委員會(NTSC)格式的幀調整操作中的一部分。
4.根據權利要求1所述的方法,其中所述視頻幀以光柵掃描順序存儲在所述存儲器中。
5.根據權利要求4所述的方法,其中所述部分被傳送到具有存儲器突發(fā)寬度的片內緩沖器的多個行段存儲器中。
6.一種方法,包括a)通過存儲器突發(fā)傳送將視頻幀的一部分從存儲器傳送到具有寬度為所述存儲器的存儲器突發(fā)寬度的片內緩沖器中;以及b)對已傳送的部分執(zhí)行視頻處理。
7.根據權利要求6所述的方法,其中所述視頻處理是垂直縮放。
8.根據權利要求7所述的方法,其中所述視頻幀以光柵掃描順序存儲在所述存儲器中。
9.根據權利要求8所述的方法,其中所述已傳送的部分具有多個以從上到下或從下到上的順序傳送的水平行。
10.根據權利要求9所述的方法,其中所述部分被傳送到具有存儲器突發(fā)寬度的片內緩沖器的多個行段存儲器中。
11.一種方法,包括根據存儲器存取模式,將存儲在幀緩沖器中的圖像幀傳送到不比條帶寬度寬的片內緩沖器中,所述存儲器存取模式將所述幀處理為多個條帶,每個條帶具有基于所述存儲器的存儲器總線寬度的寬度,并且每次傳送所述幀的條帶的一部分;以及對每個已傳送的部分連續(xù)執(zhí)行視頻處理。
12.根據權利要求11所述的方法,其中所述視頻處理是使用多相濾波的垂直縮放。
13.根據權利要求12所述的方法,其中所述視頻幀以光柵掃描順序存儲在所述存儲器中。
14.根據權利要求13所述的方法,其中所述已傳送的部分具有多個水平行段,每個都具有所述條帶寬度的寬度,以從上到下或從下到上的順序進行傳送。
15.一種集成電路(IC)裝置,包括片內緩沖器,用于存儲已存儲在外部存儲器中的視頻幀的像素數據,所述緩沖器具有多個行段存儲器,每個都具有高速緩沖存儲器行寬度和所述外部存儲器的存儲器突發(fā)寬度其中之一的寬度,所述IC裝置用于接收要從所述外部存儲器傳送到多個行段存儲器中的視頻幀的一部分;以及片內視頻處理多相濾波器,具有多個分別與所述多個行段存儲器相耦合的抽頭,以便對已傳送的部分進行操作。
16.根據權利要求15所述的IC裝置,其中每個行段存儲器包括片內RAM。
17.根據權利要求15所述的IC裝置,其中所述多相濾波器具有n個抽頭,其中n大于2并小于20。
18.根據權利要求17所述的IC裝置,其中所述IC裝置將所述視頻幀處理分割為多個垂直走向的條帶,每個條帶都具有高速緩沖存儲器行寬度和存儲器突發(fā)寬度其中之一的整數倍寬度。
19.根據權利要求18所述的IC裝置,其中所述IC裝置使用存儲器突發(fā)傳輸重復地從外部存儲器中讀取條帶的部分。
20.根據權利要求19所述的IC裝置,其中所述片內緩沖器被組織成Y、Cr和Cb組,以存儲所述視頻幀的像素數據。
21.一種系統(tǒng),包括處理器;高速緩沖存儲器,用于存儲處理器最近使用的數據;主存儲器,用于存儲要由處理器執(zhí)行的程序;以及視頻后處理芯片,用于對所述程序已請求的解碼未壓縮的視頻執(zhí)行幀調整,所述芯片將每個視頻幀處理劃分成多個條帶,其中每個條帶具有高速緩沖存儲器行寬度和所述主存儲器的存儲器突發(fā)寬度其中之一的整數倍寬度,并且從所述主存儲器接收每個條帶,并對每個已接收的條帶進行垂直縮放。
22.根據權利要求21所述的系統(tǒng),其中所述主存儲器具有幀緩沖器部分,以存儲用于傳送到所述視頻后處理芯片的視頻幀。
23.根據權利要求22所述的系統(tǒng),其中所述視頻幀以光柵掃描順序存儲在所述幀緩沖器部分。
24.根據權利要求23所述的系統(tǒng),其中所述主存儲器由隨機存取存儲器模塊構成。
25.根據權利要求21所述的系統(tǒng),其中所述視頻后處理芯片具有片內緩沖器,用于存儲條帶其中之一的一部分,所述片內緩沖器具有與高速緩沖存儲器行寬度或存儲器突發(fā)寬度相同的寬度。
26.一種機器可讀介質,包括存儲在其中的指令,當執(zhí)行時,開始多個突發(fā)存儲器讀取事務處理,以將圖像的一部分從外部存儲器傳送到具有與事務處理的存儲器突發(fā)寬度相同寬度的片內緩沖器中,并對已傳送的部分執(zhí)行多相濾波。
27.根據權利要求26所述的介質,進一步包括重復傳送所述圖像的另外部分并對已傳送的另外部分執(zhí)行多相濾波的指令。
28.根據權利要求27所述的介質,其中每個所述部分具有所述存儲器突發(fā)寬度的整數倍寬度。
29.根據權利要求28所述的介質,其中每個部分的寬度就是沿所述圖像的水平行段測量的寬度。
全文摘要
通過存儲器突發(fā)傳輸將視頻幀的一部分從存儲器傳送到片內緩沖器。片內緩沖器具有與存儲器的存儲器突發(fā)寬度相同的寬度。對已傳送的部分執(zhí)行視頻處理。其它實施例也被描述和要求。
文檔編號H04N7/015GK1784007SQ20051002301
公開日2006年6月7日 申請日期2005年10月29日 優(yōu)先權日2004年10月29日
發(fā)明者B·尼克爾森, S·王, S·喬德哈里, J·劉, S·庫魯帕蒂 申請人:英特爾公司