用於將一系列編碼圖像幀分別格式化為相應區域的電路和方法
2023-05-15 03:59:31
專利名稱:用於將一系列編碼圖像幀分別格式化為相應區域的電路和方法
技術領域:
本發明一般地涉及圖像處理電路和技術,更具體地說,本發明涉及用於將一系列編碼圖像幀分別格式化為相應的第一區域和第二區域的電路和方法。這種格式化過程有助於後續將另一個圖像(例如電子節目導視)覆蓋到視頻圖像上。
通常,人們看到的是各自為整體的一序列圖像幀6。但是人們有時希望在區域7和區域8之一內觀看另一種圖像,即覆蓋圖像。例如,在人們正在觀看區域7內的節目時(如果EPG是透明的,則還可以在區域8內觀看),人們希望在區域8內看到電子節目導視(EPG)。或者,在人們正在觀看區域7內的出售商品時(如果菜單是透明的,也可以在區域8內觀看),人們希望在區域8內觀看到網際網路訂貨菜單。因此,覆蓋圖像通常是與它所覆蓋的幀區域同樣大小或比它小的部分幀,但是覆蓋幀可以覆蓋整個圖像幀。但是,為簡便起見,將部分覆蓋幀和全部覆蓋幀都稱為「覆蓋幀」圖2示出了傳統電視接收機系統10的方框圖,該電視接收機系統10包括機頂盒11,例如有線電視(CATV)機頂盒或衛星電視機頂盒、遙控器12以及數字視頻顯示器13。通常,機頂盒11可以使人們在圖像幀6(如
圖1所示)序列的相應區域7內觀看覆蓋圖像,例如構成EPG的覆蓋圖像。機頂盒11包括處理電路14,處理電路14在輸入端15接收編碼的復用廣播視頻信號,在命令端16接收遙控器12發送的命令信號,並在輸出端17產生視頻顯示信號。廣播視頻信號包括一個或多個廣播頻道和一個或多個覆蓋幀,例如構成EPG的幀,並根據諸如運動圖像專家組(MPEG)標準(如下所述)的壓縮標準對廣播視頻信號進行編碼。根據選擇頻道和遙控器12發送的覆蓋命令,電路14使選中的頻道的圖像幀與一個或多個適當的覆蓋幀交融,並產生顯示信號作為這些交融圖像幀的序列。顯示器13從端17接收顯示信號,然後解碼、顯示交融圖像幀序列。
更具體地說,處理電路14包括命令解碼器18,命令解碼器18對遙控器12發送的命令進行解碼並產生相應控制信號(例如覆蓋信號)以控制處理電路14的其它部分。頻道選擇器20從端15接收廣播信號,並根據命令解碼器18輸出的頻道選擇信號,從廣播信號中分解出選中的頻道。根據解碼器18輸出的覆蓋信號,選擇器20還分解出選中的覆蓋幀。例如,選擇器20可以分解對應於選中的頻道的EPG。視頻解碼器22將選中的頻道的圖像幀解碼到像素域幀,即像素亮度值幀和像素色度值幀。根據覆蓋信號,視頻解碼器22還將選中的覆蓋幀解碼到像素域,並且覆蓋/視頻組合器24使解碼圖像幀與解碼覆蓋幀交融。相反,如果命令解碼器18不產生覆蓋信號,則選擇器20也不分解覆蓋幀,並且組合器24僅通過解碼器22輸出的解碼圖像幀。在一個實施例中,組合器24的輸出端直接連接到輸出端17。但是,因為有時不希望將解碼圖像幀(交融或未交融)直接連接到顯示器13,在另一個實施例中,電路14可以包括可選的再編碼器26,可選的再編碼器26對組合器24輸出的解碼圖像幀進行再編碼,然後將它們送到顯示器13。儘管如圖所示,處理電路14包括許多單獨電路模塊,但是它也可以包括一個或多個實現上述電路模塊18、20、22、24以及26的電路功能的處理器。
再參考圖2,在觀眾不希望觀看覆蓋幀期間的操作中,觀眾利用產生相應控制信號的遙控器12選擇頻道。通常是紅外檢測器的控制端16接收控制信號並將控制信號連接到命令解碼器18。根據該控制信號,解碼器18產生頻道選擇信號,通過分解廣播信號,頻道選擇信號使頻道選擇器20復原選中的頻道的編碼視頻信號。視頻解碼器22將復原的視頻信號編碼為像素值幀,組合器24將這些幀發送到可選的再編碼器26,可選的再編碼器26對這些幀進行再編碼並將再編碼視頻信號送到顯示器13。然而,如果省略再編碼器26,則組合器24將解碼幀直接送到顯示器13。
在觀眾希望觀看覆蓋幀期間的操作中,如上所述,利用遙控器12,觀眾選擇頻道並且還選擇一個覆蓋幀或一系列覆蓋幀,例如EPG。解碼器18產生選中的頻道信號和覆蓋信號,這兩個信號一起使頻道選擇器20復原選中的頻道的編碼視頻信號和含有一個覆蓋幀或多個覆蓋幀的編碼視頻信號。覆蓋信號使視頻解碼器22將頻道選擇器20輸出的復原頻道信號和覆蓋視頻信號解碼為相應幀序列,並使組合器24將覆蓋幀與頻道幀交融以產生交融幀。可選的再編碼器26對這些交融幀進行再編碼,並將它們送到顯示器13,顯示器13對再編碼交融幀進行解碼。然而,如果省略再編碼器26,則組合器24直接將交融幀送到顯示器13。
遺憾的是,機頂盒11不能利用顯示器13的解碼能力,它本身具有冗餘解碼電路系統,這樣會明顯增加機頂盒11的大小和成本。通常,顯示器13包括分別類似於機頂盒11的選擇選擇器20和解碼器22的頻道選擇與全解碼電路系統。因此,顯示器13通常可以直接接收編碼的復用廣播視頻信號,復原選中的頻道內的編碼視頻信號,以及解碼、顯示復原視頻信號的圖像幀。但是顯示器13通常不能將覆蓋幀與圖像幀交融。因此,為了實現此交融過程,機頂盒11與顯示器13具有同樣的解碼能力(解碼器22)。然而,觀眾通常要求在觀看節目時的較短時間內顯示覆蓋幀。因此,因為機頂盒11的交融能力僅需要少量時間,所以在大多數時間內機頂盒11的解碼能力較顯示器13的解碼能力更冗餘。也就是說,用戶購買了兩個全解碼器,而在大多數時間,有一個解碼器不工作。此外,如果要將編碼視頻信號送到顯示器13,則處理電路系統還要包括再編碼器26,再編碼器26更增加了機頂盒11的大小和成本。
為了幫助讀者更好地理解本發明說明書在以下討論的概念,以下將概況說明傳統視頻壓縮技術。
為了用電子方法通過較低帶寬頻道發送較高解析度的圖像,或者為了用電子方法將此圖像存儲到較小存儲空間,通常需要對表示圖像的數字數據進行壓縮。此圖像壓縮過程通常包括減少表示圖像的所需的數據位數。例如,對高清晰度電視(HDTV)視頻圖像進行壓縮以通過現有電視頻道傳輸它們。如果不進行壓縮,則HDTV視頻圖像需要比現有電視頻道的帶寬寬得多的帶寬。此外,為了將數據業務量和傳輸時間降低到可接受程度,在通過網際網路進行發送之前,要對圖像進行壓縮。或者,為了提高CD-ROM或伺服器的圖像存儲容量,在將圖像存儲到其上之前,可以對圖像進行壓縮。
現在參考圖3至圖6說明通用的、基於塊的運動圖像專家組(MPEG)壓縮標準,該標準包括MPEG-1和MPEG-2。為了說明問題,此說明基於利用MPEG420格式對Y、CB、CR色空間表示的視頻圖像進行壓縮。然而,所說明的概念也適用於其它MPEG格式、適用於用其它色空間表示的圖像、並且適用於基於塊的其它壓縮標準,例如通常用於壓縮靜止圖像的聯合圖像專家組(JPEG)標準。此外,儘管為了簡便起見,省略了MPEG標準和Y、CB、CR色空間的許多細節,但是這些細節眾所周知,並且在大量現有參考資料中對它們進行了說明。
再參考圖3至圖6,MPEG標準通常用於壓縮諸如在電視廣播中建立的瞬時圖像序列一本說明中為圖像幀。每個圖像幀均被分割為被稱為宏塊的子區,每個子區內包括一個或多個像素。圖3A示出了具有256個像素32的16像素×16像素宏塊30(未按比例示出了)。在MPEG標準中,宏塊始終為16×16像素,但是其它壓縮標準可以採用其它大小的宏塊。在原始圖像幀中,即在被壓縮前的幀中,每個像素32具有各自的亮度值Y和各自的色差值,即色度差值CB和CR。
參考圖3A至圖3D,在壓縮幀之前,根據原始幀的原始Y、CB和CR值產生數字亮度值(Y)和數字色度差值(CB和CR),即預壓縮值。在MPEG420格式中,預壓縮Y值與原始Y值相同。因此,每個像素32僅保持其原始亮度值Y。但是為了減少壓縮的數據量,MPEG420格式允許對各個由4個像素32組成的像素組34隻有一個預壓縮CB值就一個預壓縮CR值。分別根據相應像素組34內的4個像素32的原始CB值和CR值獲得各自的預壓縮CB值和CR值。例如,預壓縮CB值等於相應像素組34的4個像素32的原始CB值的平均值。參考圖3B至圖3D,將對宏塊10產生的預壓縮Y、CB以及CR值排列為一個預壓縮Y值(等於各像素32的原始Y值)的16×16矩陣36、一個預壓縮CB值(等於4個像素32組成的各像素組34的導出CB值)的8×8矩陣38以及一個預壓縮CR值(等於4個像素32組成的各像素組34的導出CR值)的8×8矩陣40。通常,將矩陣36、38以及40稱為數值「塊」。此外,因為便於對8×8像素值塊進行壓縮變換,而不便於對16×16塊進行壓縮變換,所以,將預壓縮Y值的塊36細分為4個8×8塊42a至42d,8×8塊42a至42d分別對應於宏塊30內的像素的8×8塊A至D。因此,參考圖3A至3D,對每個宏塊30產生6個預壓縮像素數據的8×8塊4個預壓縮Y值的8×8塊42a至42d,一個預壓縮CB值的8×8塊38以及一個預壓縮CR值的8×8塊40。
圖4示出了MPEG壓縮器50的方框圖,更多地將壓縮器稱為編碼器。通常,編碼器50將幀或幀序列的壓縮數據轉換為編碼數據,編碼數據利用比預壓縮數據少得多的數據位表示相同的一個幀或多個幀。為了實現此轉換過程,編碼器50減少或消除預壓縮數據內的多餘信息並利用有效變換與編碼技術重新格式化剩餘數據。
更具體地說,編碼器50包括幀重排序緩衝器52,幀重排序緩衝器52接收一個或多個幀的序列的預壓縮數據並將各幀重新排序為適當序列用於進行編碼。因此,重新排序序列通常不同於產生幀並顯示幀的序列。編碼器50將存儲的各幀分配到相應組,稱為圖像組(GOP),並將各幀標記為內(I)幀和非內(非I)幀。例如,對於總數為15個幀的GOP,每個GOP可以包括3個I幀和12個非I幀。編碼器50無需參考另一個幀就可以對I幀進行編碼,但是對非I幀進行編碼時通常要參考該GOP內的一個或多個其它幀。然而,編碼器50不參考不同GOP內的幀對非I幀進行編碼。
在對I幀進行編碼期間,表示I幀的預壓縮Y、CB和CR值的8×8塊(如圖3B至圖3D所示)通過加法器54到達離散餘弦變換器(DCT)56,離散餘弦變換器56將這些預壓縮值塊變換為包括一個DC(0頻率)係數和63個AC(非0頻率)係數的相應8×8塊。也就是說,在編碼器50對I幀進行編碼時,不需要加法器54,因此預壓縮值通過加法器54,而不與任何其它值相加。然而,如下所述,在編碼器50對非I幀進行編碼時通常需要加法器54。量化器58將各係數限制到各自的最大值,並通過相應的通路60和62提供量化AC係數和DC係數。預測編碼器64預測編碼DC係數,可變長度編碼器66將量化AC係數和量化、預測編碼DC係數轉換為可變長度碼,例如,霍夫曼碼。這些表示構成表示編碼I幀像素值的編碼數據。發送緩衝器68臨時存儲這些代碼以將編碼數據同步傳輸到解碼器(以下將參考圖6說明)。另一方面,如果編碼數據被存儲而非被發送,則編碼器66可以直接將可變長度碼送到諸如CD-ROM的存儲媒體。
如果在GOP內將I幀用作一個或多個非I幀的基準(通常是這樣),則因為如下原因,通過利用類似於或等同於解碼器(如圖6所示)所使用技術的解碼技術對編碼I幀進行解碼,編碼器50產生相應的基準幀。當對以I幀為基準的非I幀進行解碼時,解碼器只能使用解碼的I幀作為基準幀。因為MPEG編碼過程和解碼過程有損-即因為對AC和DC變換係數進行量化而丟失信息,所以解碼的I幀的像素值通常與I幀的預壓縮像素值不同。因此,在編碼期間,利用預壓縮I幀作為基準幀會在解碼的非I幀內產生附加贗象,因為解碼(解碼I幀)使用的基準幀與編碼(預壓縮I幀)使用的基準幀不同。
因此,為了為編碼器產生類似於或等同於解碼器使用的基準幀的基準幀,編碼器50包括去量化器70和反DCT72,它們非常類似於解碼器(如圖6所示)的去量化器和反DCT。去量化器70對量化器58輸出的量化DCT係數進行去量化,反DCT72將這些去量化DCT係數變換為解碼Y、CB和CR像素值的相應8×8塊,該8×8塊構成基準幀。然而,因為在量化期間發生丟失,所以一些或全部像素值可能與其相應預壓縮像素值不同,並且因此,基準幀可能與其上述說明的相應預壓縮幀不同。然後,解碼的像素值通過加法器74(在根據非I幀產生基準幀時使用的,如下所述)到達基準幀緩衝器76,基準幀緩衝器76存儲該基準幀。
在對非I幀進行編碼期間,編碼器50首先至少以兩種方式對非I幀的每個宏塊進行編碼上述說明的對I幀進行編碼的方式和以下進行說明的利用運動預測的方式。編碼器50保存並發送具有最少位的結果代碼。此技術保證利用最少位對非I幀宏塊進行編碼。
關於運動預測,如果在連續幀中,幀對象的相對位置發生變化,則其表現出運動。例如,如果一匹馬在屏幕上飛奔,則這匹馬表現出相對運動。或者,如果攝像機跟蹤這匹馬,則對於這匹馬,背景表現相對運動。通常,顯示對象的每個連續幀至少有一些像素宏塊與先前幀的像素宏塊相同。但是,通常,連續幀內這種匹配宏塊所佔據的相應幀位置與它們在先前幀內所佔據的相應幀位置不同。另一方面,包括部分靜止對象(例如樹)或背景景物(例如藍天)的宏塊可以佔據各連續幀內的相同幀位置,並且表現「0運動」。在兩種情況下,不單獨對各幀進行編碼,而取較少數據位以通知解碼器「幀1(非I幀)的宏塊R和Z分別與幀0(I幀)的S和T位置的宏塊相同」。將此「語句」被編碼為運動矢量。對於相對快速運動的對象,運動矢量的位置數值較大。相反,對於靜止的或相對慢速運動的對象或背景景物,運動矢量的位置數值相對較小甚或等於0。
圖5示出了以上述非I幀1和I幀0為基準的運動矢量概念。運動矢量MVR表示在幀0的位置S可以與幀1的位置R處的宏塊建立匹配關係。MVR具有3個分量。第一分量,在此為0,表示在其內存在匹配宏塊的幀(在此為幀0)。另外兩個分量,XR和YR一起包括表示在幀0內存在匹配宏塊的二維位置數值。因此,在此例中,因為幀0的位置S與幀1內的位置R具有相同X、Y坐標,XR=YR=0。相反,位置T的宏塊與和具有與位置T不同X、Y坐標的位置Z的宏塊匹配。因此,XZ和YZ表示相對於位置Z的位置T。例如,假定位置T在位置Z左側10個像素(負X方向)及其下方7個像素(負Y方向)。因此,MVZ=(0,-10,-7)。但是可以利用的其它運動矢量方案有許多,它們均基於相同的一般理論。
現在再參考圖4,詳細說明運動預測過程。在對非I幀進行編碼期間,運動預測器78將非I幀內宏塊的預壓縮Y值(在運動預測過程中不使用CB值和CR值)與基準幀內的相應宏塊的解碼Y值進行比較並識別匹配宏塊。對於在基準幀內存在匹配的非I幀內的各宏塊,運動預測器78產生用於識別基準幀和基準幀內的匹配宏塊的位置的運動矢量。因此,如下結合圖6所述,在對非I幀的這些運動編碼宏塊進行解碼期間,根據基準幀內的匹配宏塊,解碼器利用運動矢量來獲得運動編碼宏塊的像素值。預測編碼器64對運動矢量進行預測編碼,編碼器66產生編碼運動矢量的相應代碼並將這些代碼送到發送緩衝器48。
此外,因為非I幀內的宏塊與基準幀內的匹配宏塊通常相似但是不相同,所以編碼器50將這些差值與運動矢量一起編碼,因此該編碼器可以對它們進行計算。更具體地說,運動預測器78將基準幀的匹配宏塊的解碼Y值送到加法器54,加法器54逐像素地從非I幀的匹配宏塊的預壓縮Y值中減去這些Y值。將被稱為偏差的這些差值排列為8×8塊,並利用DCT56、量化器58、編碼器66以及緩衝器68,除了直接通過傳輸線60將偏差塊的量化DC係數連接到編碼器66之外,以上述同樣方式對它們進行處理,因此不利用預測編碼器44對它們進行預測編碼。
此外,還可以將非I幀用作基準幀。當將非I幀用作基準幀時,去量化器70和反DCT72對量化器58輸出的各量化偏差分別進行去量化和反變換。這樣此非I基準幀與因為上述原因由解碼器使用的非I基準幀相同。運動預測器78將根據其產生偏差的I基準幀的解碼Y值送到加法器74。加法器74將電路72輸出的相應偏差與I基準幀的這些解碼Y值相加以產生非I基準幀的相應Y值。然後,基準幀緩衝器76存儲此非I基準幀和I基準幀用於對連續非I幀進行編碼。
仍然參考圖4,編碼器50還包括速率控制器80以確保通常以固定速率發送編碼幀數據的發送緩衝器68絕對不出現溢出或空閒,即下溢。如果發生這兩種情況,則會將差錯引入編碼數據流。例如,如果緩衝器68溢出,則編碼器66輸出的數據會被丟失。因此,根據發送緩衝器68的充滿度,速率控制器80利用反饋修改量化器58使用的量化比例因數。緩衝器68越充滿,控制器80使比例因數越大,以致編碼器66產生的數據位越少。相反,緩衝器68越空閒,控制器80使比例因數越小,以致編碼器66產生的數據位越多。這種連續的調節確保緩衝器不溢出或下溢。
圖6示出了傳統MPEG解壓縮器82的方框圖,通常將MPEG解壓縮器82稱為解碼器,它可以對圖4所示的編碼器60編碼的幀進行解碼。
對於未進行運動預測的I幀和非I幀宏塊,可變長度解碼器84對從編碼器50接收的可變長度碼進行解碼。預測解碼器86對預測編碼的DC係數進行解碼,並且類似於或等同於圖4所示去量化器70的去量化器87對解碼的AC變換係數和DC變換係數進行去量化。類似於或等同於圖4所示反DCT72的反DCT88將去量化的係數變換為像素值。解碼像素值通過加法器90(在如下所述的對非I幀的運動預測宏塊進行解碼期間使用加法器90)到達幀重排序緩衝器92,幀重排序緩衝器92存儲解碼的幀並以適當順序排列它們以顯示在視頻顯示單元94上。如果解碼I幀用作基準幀,則還將它存儲到基準幀緩衝器96。
關於非I幀的運動預測宏塊,解碼器84、去量化器87以及反DCT88對上述結合圖4所述的偏差進行處理。預測解碼器86對運動矢量進行解碼,運動內插器98將根據運動矢量指向的基準幀宏塊獲得的像素值送到加法器90。加法器90將這些基準像素值與偏差相加以產生解碼宏塊像素值,並將這些解碼像素值送到幀重排序緩衝器92。如果將解碼非I幀用作基準幀,則將它存儲到基準幀緩衝器96。
參考圖4和圖6,儘管如上所述,編碼器50和解碼器82包括多個功能電路模塊,但是還可以以硬體、軟體或它們的組合方式實現編碼器50和解碼器82。例如,通常,利用用於實現相應電路模塊功能的相應的一個或多個處理器實現編碼器50和解碼器82。
在包括Peter D.Symes的「Video Compression」,McGraw-Hill 1998在內的許多出版物中對圖4和圖6所示的MPEG編碼器50和解碼器82以及MPEG標準進行了詳細說明,在此一併引用供參考。此外,還有其它眾所周知的基於塊的壓縮技術可以用於對圖像進行編碼和解碼。
這種處理電路可以將一系列圖像中的各圖像分別細分為獨立區域,每個獨立區域分別為其它圖像內相應區域的基準。因此,如果人們希望對這些區域之一進行調整,他僅需要解碼該區域而非解碼整個圖像。例如,假定我們希望將EPG與各序列圖像幀的同一個下部交融。他首先利用處理電路以這樣的方式再編碼這些幀,以致在一幀的下部與另一幀的下部之間沒有運動矢量。然後,他再編碼EPG和該幀的下部,將解碼EPG與幀下部交融,再編碼交融幀部分。因為不需要對該幀的上部進行解碼或再編碼,所以與對該幀進行全解碼的處理電路相比,該處理電路要求更低的解碼和編碼能力,並因此速度更快、更廉價,並且該處理電路具有較簡單的設計。因此,該處理電路要求更低的解碼和編碼能力,人們可以將下部幀解碼為變換域而非始終解碼為像素域。
圖3C和圖3D示出了分別對應於圖3A所示宏塊內像素組的傳統預壓縮色度值塊的示意圖;圖4示出了傳統MPEG編碼器的方框圖;圖5示出了說明傳統運動矢量概念的示意圖;圖6示出了傳統MPEG解碼器的方框圖;圖7示出了根據本發明實施例的圖像幀格式器的方框圖;圖8示出了圖7所示格式器產生的一組多區域圖像幀的示意圖;圖9示出了根據本發明實施例的機頂盒的方框圖;圖10示出了根據本發明另一個實施例的機頂盒的方框圖。
本發明的詳細說明將編碼圖像幀格式化為相應的多個獨立區域圖7示出了根據本發明實施例的圖像幀格式器100的方框圖。格式器100包括視頻處理電路1021至102N分別用于格式化從相應廣播網(例如FOX,CNN)接收的編碼視頻頻道信號。具體地說,處理電路102這樣對各相應頻道信號的各幀進行格式化,以致各幀分別具有多個獨立區域。然後,處理電路102將相應處理頻道信號1至N送到復用器104,復用器104將所有處理頻道信號合併為編碼的復用廣播視頻信號。儘管在此說明是對圖像幀進行格式化,格式器100還可以用於修改視頻場或靜止圖像。
作為例子,以下將詳細說明視頻處理電路1021的結構和運行過程,顯然,它與處理電路1022至102N類似。處理電路1021包括解碼器1081用於對頻道信號1進行解碼,在一個實施例中,根據等同於或類似於結合圖3至圖6描述的MPEG壓縮標準的壓縮標準,對頻道信號1進行編碼。運動矢量分析器1101接收解碼的頻道信號並識別具有從通過幀的一個區域指向同一個幀或另一個幀的不同區域的運動矢量的宏塊。也就是說,如果在同一個幀或另一個幀的不同區域內,宏塊具有指向基準宏塊的運動矢量,則分析器1101識別幀區域內的宏塊。多區域幀再編碼器1121這樣對識別宏塊進行再編碼,即沒有被識別的宏塊具有指向與含有被識別的宏塊的區域不同的幀區域的運動矢量。在一個實施例中,再編碼器1121這樣對幀區域內的識別宏塊進行再編碼,即使宏塊具有指向另一個幀的相同區域內的基準宏塊的運動矢量。例如,編碼器1121對宏塊進行編碼以使運動矢量具有位置值=(0,0)。在另一個實施例中,再編碼器112將被識別的宏塊作為I塊這樣進行再編碼,即使它沒有運動矢量。
以下將參考圖7至圖8,說明處理電路1021的處理過程。圖8示出了一組3個圖像幀114、116和118。在此例中,幀114是I幀,而幀116和幀118是非I幀。電路1021將幀114、幀116以及幀118分別格式化為多區域,在此為分別格式化為兩個區域120a和122a、120b和122b以及120c和122c。第一區域120a至120c(非陰影區)佔據幀114、116和118上相同的相應上部面積,第二區域122a至122c(陰影區)佔據幀114、116和118上相同的相應下部面積。兩組區域120a至120c和122a至122c均含有相應宏塊123。
解碼器1081對圖像幀、運動矢量以及頻道1信號的其它分量進行解碼。在一個實施例中,解碼器1081通常將各幀內的每個宏塊解碼為其相應像素值,即解碼到像素域。但是如下所述,因為解碼器1081不對要顯示的頻道1信號進行解碼,所以它通常僅將宏塊解碼為其DCT係數,即解碼到變換域。另一方面,如下所述,解碼器1081可以僅對幀內的某些宏塊進行解碼。與公知的解碼器相比,這種部分解碼通常可以降低解碼器1081的成本、複雜程度以及解碼時間。
然後,運動矢量分析器1101對解碼器1081輸出的解碼運動矢量進行檢驗並識別具有從第一區域120a至120c之一指向第二區域122a至122c之一的運動矢量的宏塊,反之亦然。例如,分析器1101識別解碼運動矢量124和126(如實線所示)作為「交叉邊界」矢量。具體地說,分析器1101確定解碼運動矢量124從幀116的區域120b內的宏塊123a指向幀114的區域122a內的基準宏塊123b。同樣,分析器1101確定解碼的運動矢量126從幀118的區域122c內的宏塊123c指向幀116的區域120b內的基準宏塊123d。(為了說明問題,分別對宏塊122a和122c與基準宏塊122b和122d之間的相對幀位置的各差別進行了放大)。因此,分析器1101識別運動矢量124和126作為第一區域120a至120c與第二區域122a至122c之間的交叉「邊界」,並通知再編碼器1121宏塊123a和123c具有交叉邊界運動矢量。
在一個實施例中,再編碼器1121對具有交叉邊界運動矢量的宏塊產生替換運動矢量。例如,再編碼器1121分別對宏塊123a和123d產生替換運動矢量128和130(如虛線所示)。具體地說,替換運動矢量從其區域120b內的宏塊123a指向區域120a內的基準宏塊123e,替換運動矢量130從其區域122c內的宏塊123c指向區域122b內的基準宏塊123f。因此,替換運動矢量128或130均不與第一區域120a至120c與第二區域122a至122c之間的邊界交叉。通過消除諸如運動矢量124和126的交叉邊界運動矢量,再編碼器1121對區域120a至120c進行再編碼,以致它們成為獨立區域122a至122c。也就是說,不參考第二區域122a至122c對第一區域120a至120c進行編碼,並且不參考第一區域120a至120c對第二區域122a至122c進行編碼。在MPEG術語中,通常將這種獨立區域稱為「片」。如下參考圖9所述,這種獨立編碼第一區域120a至120c和獨立編碼第二區域122a至122c可以使人們對一組區域進行修改,例如區域122a至122c,而不必對其它一組或多組區域,例如區域120a至120c,進行解碼。此外,如下所述,儘管所示的替換運動矢量128和130分別具有非0位置值和0位置值,但是在其它例子中,它們均可以具有非0位置值或0位置值。此外,儘管所示作為交叉邊界運動矢量124和126的替換運動矢量128和130分別指向相同幀114和116,但是在其它例子中,它們也可以指向不同幀。
在一個實施例中,通過利用傳統方法對最佳基準宏塊掃描適當幀區域並利用新基準宏塊對原始宏塊進行運動編碼,再編碼器1121產生替換運動矢量。例如,為了產生替換運動矢量128,再編碼器1121對區域120a進行掃描並確定宏塊123e為區域120a內的最佳基準宏塊。在一個實施例中,再編碼器1121開始對宏塊123g進行掃描,宏塊123g是區域120a內最接近原始基準宏塊123b的宏塊。因此,基準塊123e代替原始基準宏塊123b。如上結合圖4所述,利用替換基準塊123e代替基準塊123b,再編碼器1121對塊123a進行運動編碼。
為了使再編碼器1121完成此掃描過程和運動編碼過程,解碼器1081至少對識別宏塊、基準宏塊以及諸如區域120a的掃描區域內的宏塊進行解碼。例如,如果構建再編碼器1121以產生指向相同的相應各幀的替換運動矢量作為原始運動矢量,然後,構建解碼器1081以只對識別的宏塊和識別的運動矢量所指向的各幀進行解碼。另一方面,可以構建解碼器1081以只對識別的宏塊、基準宏塊以及對應於含有識別的宏塊的各區域的各所指幀的各區域進行解碼。例如,構建解碼器1081以識別替換運動矢量128指向區域120a,區域120a對應於識別的宏塊123a的區域120b。根據此識別過程,解碼器1081對宏塊123a和123b以及區域120a內的所有宏塊進行解碼,再編碼器1121對區域120a進行掃描。當然,可以構建解碼器1081以將所有幀作為整體進行解碼。
為了使解碼器1081確定對哪個宏塊進行解碼,在一個實施例中,解碼器1081與分析器1101以如下方式進行交互。首先,解碼器1081對幀運動矢量進行解碼。然後,分析器1101確定交叉邊界運動矢量、它們所屬的宏塊、它們所指的基準宏塊以及含有基準宏塊的幀掃描區域。
接著,運動分析器1101將具有交叉邊界運動矢量的宏塊、基準宏塊以及在運動再編碼期間由再編碼器112掃描的掃描區域內的宏塊的各標識送到解碼器1081。然後,解碼器1081對識別的宏塊進行解碼,並通過分析器1101將解碼宏塊送到再編碼器1121。
另一方面,為了降低其複雜程度並減少編碼時間,可以構建再編碼器1121以產生位置值為0的所有替換運動矢量。這樣就不需要對幀區域進行掃描,因為本來就知道替換基準宏塊。例如,為了產生如圖8所示位置值為0的替換運動矢量130,再編碼器1121不需要掃描最佳替換基準宏塊的區域122b,因為它不得不使用宏塊123f作為替換基準宏塊。也就是說,宏塊123f是可以向矢量130提供0位置值的唯一基準塊。因此,無需掃描區域122b,再編碼器112就可以選擇宏塊123f作為替換基準塊,並利用替換基準塊123f代替原始基準塊123d對宏塊123c進行編碼。儘管此不掃描編碼過程比上述掃描編碼過程速度更快、更簡單,但是與掃描編碼比較,不掃描編碼通常效率低,即每個像素產生的位更多。
在另一個實施例中,為了進一步降低其複雜程度並減少編碼時間,這樣構建再編碼器1121以對識別的宏塊進行編碼作為I編碼塊,以致它們沒有運動矢量。儘管與上述運動(非I)編碼技術比較,此編碼過程速度更快、更簡單,但是與運動編碼比較,它的效率通常較低。
除了對識別的宏塊進行再編碼之外,再編碼器1121還對替換運動矢量和頻道1信號的其它解碼部分進行再編碼,並將包括被格式化為獨立區域的再編碼圖像幀的再編碼頻道1信號送到復用器104。
關於上述幀格式化的實施例,構建解碼器1081以解碼到變換域或像素域。因為DCT是線性變換,所以再編碼器1121可以利用DCT係數和像素閥進行掃描、運動編碼以及I編碼。
此外,儘管如圖所示,處理電路1021包括單獨電路模塊1081、1101和1121,但是它還可以包括以硬體、軟體或硬體與軟體的組合形式實現這些電路模塊的功能的一個或多個相應處理器。此外,還可以以不同於上述順序的順序實現上述功能。
此外,儘管如圖所示,幀114、116以及118的上部和下部為矩形,但是也可以將區域120a至120c以及122a至122c定位在相應幀內的其它位置並且可以其它尺寸。因此,在一個實施例中,處理電路1021考慮到再編碼頻道信號內的區域尺寸和位置。如下結合圖9所述,在將覆蓋幀與圖像幀區域交融時,機頂盒可以利用此尺寸和位置信息。
如下結合圖9所述,使視頻處理電路1021至102N具有將圖像幀格式化為多個獨立區域的處理能力所增加的成本遠遠低於降低機頂盒(如圖9所示)的複雜程度和成本獲得的補償值。因此,實際上,節省的總成本非常多,因為對於通常安裝在有線公司辦公樓內的各幀格式器100,有成百、成千甚至百萬個機頂盒。因此,合併後機頂盒的成本節省遠大於在有線公司辦公樓內安裝一個格式器100所增加的成本。
修改圖像區域過程圖9示出了根據本發明實施例的電視接收機系統130的方框圖。系統130包括遙控器132和HDTV接收機/顯示器134,它們與圖2所示的遙控器12和接收機/顯示器13類似。該系統還包括機頂盒136,機頂盒136將覆蓋幀與相應圖像幀區域交融。作為例子,將參考圖8所示的幀114、116以及幀118並參考作為覆蓋幀的EGP,說明機頂盒136的結構和運行過程。然而,顯然,此說明可以應用於具有不同格式的圖像幀並可以應用於不同覆蓋幀。通常,在所說明的例子中,機頂盒136使EGP與幀114、116和118的區域122a至122c交融。因為獨立於區域120a至120c,對區域122a至122c進行編碼,所以機頂盒136僅需要對區域122a至122c進行解碼和再編碼。因此,因為機頂盒136不需要對區域120a至120c進行解碼和再編碼,所以與為了完成此交融過程必須將各幀作為整體進行解碼和再編碼的傳統機頂盒11(如圖2所示)比較,它可以具有非常低的處理能力,並且非常價廉。
系統130的機頂盒136包括處理電路138,處理電路138從有線公司或衛星公司接收編碼的復用廣播視頻信號。根據命令解碼器140輸出的頻道選擇信號,頻道選擇器142分解該廣播信號並將選中的視頻頻道信號送到覆蓋區解碼器144。
在觀眾希望觀看諸如EPG的覆蓋幀時,他操作遙控器132以產生覆蓋命令。根據此覆蓋命令,命令解碼器140產生覆蓋信號。根據覆蓋信號,解碼器144對覆蓋幀和與覆蓋幀交融的覆蓋幀區域進行解碼。例如,參考圖8,解碼器144分別對EPG和幀114、116以及118的覆蓋區122a至122c進行解碼。根據結合圖7說明的原因,解碼器144將EPG和覆蓋區122a至122c解碼到變換域或全部解碼到像素域。然而,解碼器144不對非覆蓋幀區域120a至120c進行解碼。因此,解碼器144將解碼的EPG和覆蓋幀區域122a至122c送到輸出端145,並將未解碼的非覆蓋區域120a至120c傳送到輸出端146。
覆蓋/區域組合器147與解碼器144的輸出端145相連,並以下述方式將解碼的覆蓋幀與解碼的幀覆蓋區域交融。例如,解碼器144將解碼的EPG與解碼的覆蓋幀區域122a至122c交融。
利用類似於結合圖4所述的傳統編碼方法,覆蓋區域再編碼器148對交融覆蓋幀區域進行再編碼。例如,再編碼器148對交融覆蓋幀區域122a至122c進行再編碼。
幀緩衝器150接收再編碼器148輸出的再編碼覆蓋幀區域,並接收覆蓋區域解碼器144通過輸出端146輸出的未解碼的非覆蓋幀區域。幀緩衝器將未解碼的幀區域和再編碼的幀區域存儲到相應緩衝區以「重新排列」圖像幀。例如,緩衝區150將未解碼的非覆蓋區域120a至120c存儲到第一組緩衝區,將再編碼覆蓋區域122a至122c存儲到第二組緩衝區(圖9中未示出的緩衝區)。然後,緩衝器150這樣將第一組緩衝區和第二組緩衝區的內容送到顯示器134,以致提供區域120a和122a作為一個幀等。
類似於圖4所示的速率控制器80的速率控制器154監視緩衝器150的充滿度,並通過控制再編碼器148的量化度,避免緩衝器150溢出或下溢。
顯示器134解碼並顯示機頂盒136輸出的重新排列圖像幀。在此例中,顯示器134分別顯示在區域122a、122b和122c內具有EPG的幀114、116和118。
因此,通過僅解碼並再編碼與覆蓋幀交融的覆蓋幀區域,與將各幀作為整體進行解碼和再編碼的處理電路比較,處理電路138具有非常簡單、價廉。
在結合圖7所述的一個實施例中,頻道信號包括區域122a至122c的位置(在相應幀內的)和尺寸,並且處理電路138利用此信息適當配置解碼器、組合器147、再編碼器148以及幀緩衝器150。這樣就可以允許有線運營商或衛星運營商改變區域122a至122c的大小或位置,而無需對機頂盒136的硬體進行修改。
在觀眾不希望看到諸如EPG的覆蓋幀時,處理電路138就不對頻道選擇器142輸出的編碼圖像幀進行處理,而是將它們送到幀緩衝器150。具體地說,遙控器132不產生覆蓋命令,並且命令解碼器140不產生覆蓋信號。在沒有覆蓋信號情況下,覆蓋區域解碼器144將頻道選擇器142輸出的先前編碼圖像幀作為整體送到輸出端146。例如,參考圖8,解碼器144不進行解碼,而是將未解碼幀區域120a至120c和122a至122c送到輸出端146。然而,在一個實施例中,解碼器44既不將EPG送到輸出端145,又不將EPG送到輸出端146。也就是說,解碼器144可以防止處理電路138將EPG送到顯示器134。此外,因為解碼器144不將解碼覆蓋幀區域和解碼幀區域送到輸出端145,所以可以有效關閉組合器147和再編碼器148。因此,幀緩衝器150從解碼器144的輸出端整體接收非解碼幀114、116和118,並將這些非解碼幀送到顯示器134。
仍然參考圖9,在本發明的一個實施例中,利用傳統α交融過程,覆蓋/幀區域組合器147將覆蓋幀與覆蓋幀區域逐像素交融。利用如下等式確定α交融過程(1)交融像素值=(α)×(幀像素值)+(1-α)×(覆蓋像素值)假定覆蓋圖像是EPG,如果特定EPG像素(覆蓋像素)是不透明的,則α=0,以致EPG像素從視線中完全遮擋重合覆蓋幀區域像素(幀像素)。也就是說,如果α=0,重合幀像素不可見,即是透明的。同樣,如果特定EPG像素是透明的,則α=1,以致重合幀像素是不透明的。如果0<α<1,當α從0開始增大時,EPG像素逐漸淡出,並且重合幀像素逐漸淡入。此外,因為α交融過程是線性函數,所以組合器147可以在變換域或在像素域內實現此過程。因此,如上所述,覆蓋區域解碼器144可以對解碼到變換域或像素域的區域122a至122c(如圖8所示)的宏塊進行解碼。
在覆蓋幀是透明的實施例中,再編碼器148提供較高量化電平數以在覆蓋幀區域內保留高頻。例如,參考圖8,此低量化度可以銳化覆蓋區域122a至122c內的EPG字符(圖8中未示出)邊緣。在某些情況下,這樣可以導致區域120a至120c與區域122a至122c具有不同量化電平。但是因為區域120a至120c和區域122a至122c是MPEG片,如上結合圖7至圖8所述,則在對幀114進行解碼期間,隨著顯示器134從一個片轉移到另一個片使(例如從區域120a轉移到122a時),顯示器134可以容易地改變其去量化電平。也就是說,顯示器134利用一組去量化電平對區域120a至120c進行解碼,利用另一組去量化電平對區域122a至122c進行解碼。在一個實施例中,解碼區域120a至120c所需的相應去量化電平通常由圖7所示的再編碼器1121產生並包括在頻道信號內,然後由處理電路138將它們送到顯示器134。同樣,解碼區域122a至122c所需的去量化電平由圖9所示的再編碼器148產生並與再編碼覆蓋幀區域合併在一起,然後有緩衝器150將它們送到顯示器134。
正如上述對圖像幀格式系統100所說明的那樣,再編碼器148可以以多種方式對與覆蓋幀區域交融的宏塊進行再編碼。例如,參考圖8,根據第一種技術,再編碼器148對區域122a至122c的所有宏塊進行再編碼作為I塊。或者,根據第二種技術,再編碼器148至少對這些宏塊中的一些宏塊進行再編碼,以致使它們具有位置值為0的運動矢量。如果EPG靜止且不透明,則這尤其有效,因為從一幀到另一幀,區域122a至122c內的所有宏塊均相同。
另一方面,如果EPG以公知的固定速率滾動,則根據第三種技術,根據滾動速率,再編碼器148至少對某些宏塊進行編碼以具有固定、非0位置值的運動矢量。也就是說,如果滾動速率是常數,則再編碼器148可以根據滾動速率計算一個幀的區域122內的宏塊在下一個幀的區域122內移動了多遠。如果EPG以垂直方向滾動,則運動矢量位置值將為(0,Y),其中Y值基於垂直滾動速率。相反,如果EPG以水平方向滾動,則運動矢量位置值為(X,0),其中X值基於水平滾動速率。如果EPG不透明,則此再編碼技術特別有效。然而,有時,EPG是透明的。也就是說,EPG字符是不透明的,但是字符之間的空間是透明的以顯示初始景物。因此,在此情況下,此再編碼技術通常無效,因為具有較大偏差。
根據第四種技術,利用上述結合圖4所述的滿度運動編碼過程,再編碼器148對交融覆蓋幀區域進行再編碼。例如,通過參考宏塊掃描區域122a並產生相應運動矢量和偏差,再編碼器148對區域122b進行再編碼。
通常,第一種技術需要的處理能力最低,但是效率也最低,第四種技術需要的處理能力最高,但是效率也最高,而第二種技術和第三種技術介於二者之間。因為速率控制器152保證緩衝器150不發生溢出,所以再編碼技術的效率越低,再編碼過程出現的丟失就越多。在觀看類似於EPG的覆蓋幀時,這些丟失現象會在覆蓋幀區域內表現出不希望的可見贗象。
仍然參考圖9,在要求覆蓋幀具有較高視覺質量或者覆蓋幀區域較大的實施例中,處理器138可以實現只I幀模式,在只I幀模式期間,處理器138「跳越」非覆蓋幀信息以減少再編碼頻道信號中的位數。通常被稱為「跳越背景」的此技術實際上可以保證幀緩衝器150在再編碼器148利用低量化度時不發生溢出,以產生高質量覆蓋幀區域。例如,參考圖8,組合器147將EPG與I幀的區域122(類似於幀114的區域122a)組合在一起,並只將這些修改的I幀存儲到幀緩衝器150內。通過重複發送最近的I幀,即當前I幀(或者通過指示顯示器134重複顯示當前I幀),直到組合器147和再編碼器148處理下一個I幀,緩衝器150將這些I幀送到顯示器134。因為GOP內的I幀與非I幀的之比較低,例如1/15,所以只I幀模式會導致在非EPG幀區域120內產生跳動。如果EPG是透明的,則還可以在EGP區域122背景內看到這種跳動。但是因為只在顯示器134顯示EPG時,才可以看到這種跳動,因為觀眾通常顯示EPG的時間只佔他/她總觀看時間中的一少部分時間,還因為觀眾大多將注意力集中在EPG,而非集中在背景,所以對於觀眾來說,在觀看EPG期間的跳動通常並不引人注意,或者說至少可以接受。
參考圖8和圖9,如果覆蓋幀透明,則修改只I幀的技術只跳越覆蓋區域內的背景。例如,覆蓋解碼器144僅將I幀的編碼非覆蓋區域120送到緩衝器150,但是繼續將EPG和所有幀的覆蓋區域122送到組合器147。組合器147和再編碼器148以上述方式運行,以致交融區域122具有正常運動。然後,緩衝器150將當前I幀的區域120與當前I幀和隨後的非I幀的區域122分別結合在一起。因此,顯示器134顯示在區域122內具有正常運動而僅在區域120內具有跳動的交融圖像幀。處理電路138還可以以這樣的方式將EPG與覆蓋區域122交融,以致處理後的幀在區域120內具有正常運動,而在區域122內具有跳動。
參考圖9,儘管如上所述,處理電路138包括單獨電路模塊140、142、144、147、148、150和152,但是它也可以包括一個或多個以硬體或軟體顯示實現這些電路模塊功能的處理器。此外,還可以以不同於上述說明的順序實現上述功能。不僅如此,儘管如圖所示,命令解碼器140和頻道選擇器142作為處理電路138的一部分,但是它們也可以獨立於電路138。
圖10示出了根據本發明另一個實施例的機頂盒160的方框圖。除了機頂盒160還將HDTV視頻信號轉換為標準電視(STV)(即低解析度)視頻信號用於在STV接收機/顯示器162上進行顯示之外,機頂盒160與圖9所示的機頂盒136相同。
機頂盒160包括處理電路164,除了處理電路164包括傳統解碼器166和傳統HDTV到STV轉換器168之外,處理電路164與圖9所示的處理電路138相同。轉換器168減少了像素數量,並因此降低了機頂盒160送到顯示器162的各幀的解析度。眾所周知,轉換器168可以在變換域或像素域內實現此減少過程。因此,解碼器166將選中的頻道信號的圖像幀解碼為轉換器168要求的域。此外,因為解碼器168以整體形式解碼各幀以使轉換器168降頻轉換各幀,電路164包括再編碼器170,再編碼器170對覆蓋幀區域和非覆蓋幀區域進行再編碼。
在觀眾不希望觀看覆蓋幀時,命令解碼器140產生非覆蓋信號。如果沒有覆蓋信號,則變換器168降頻轉換解碼器166輸出的解碼圖像幀,並通過傳輸線172,以各自整體形式將降頻變換幀送到再編碼器170。再編碼器170再編碼降頻轉換幀並將它們送到幀緩衝器150。顯示器162解碼並顯示緩衝器150輸出的再編碼幀。
在觀眾希望觀看覆蓋幀時,根據遙控器132發出的命令,命令解碼器140產生覆蓋信號。以圖8為例,根據覆蓋信號,轉換器168降頻轉換解碼器166輸出的解碼幀和解碼EPG,通過傳輸線172,將降頻轉換幀區域120a至120c送到再編碼器170,然後,通過傳輸線174,將降頻轉換幀區域122a至122c和降頻轉換的EPG送到覆蓋/幀組合器147。組合器147將EPG與區域122a至122c交融,如上參考圖9所述。以上述結合圖9所述的同樣方式,再編碼器170對解碼區域120a至120c以及交融區域122a至122c進行再編碼。再編碼器170將這些再編碼區域送到緩衝器150,緩衝器150存儲這些區域作為相應的再編碼幀以顯示在顯示器162上。速率控制器154可以防止緩衝器150發生溢出或下溢,如上結合圖9所述。
參考圖10,儘管如上所述,處理電路164包括單獨電路模塊140、142、147、150、154、166、168和170,但是它也可以包括一個或多個以硬體或軟體形式實現這些電路模塊功能的處理器。此外,還可以以不同於上述說明的順序實現上述功能。不僅如此,儘管如圖所示,命令解碼器140和頻道選擇器142是處理電路164的一部分,但是它們也可以獨立於電路164。
根據上述說明,儘管為了說明問題,在此對本發明的特定實施例進行了說明,但是,顯然,在本發明實質範圍內,還可以對它們進行各種變換。
權利要求
1.一種視頻處理電路,該視頻處理電路包括處理器,該處理器可以接收分別具有相應第一區域和第二區域的編碼圖像,並且可以接收圖像中第一圖像的第一區域的運動矢量,該處理器可以如果運動矢量指向圖像的第二區域,對第一圖像的第一區域進行再編碼,使得運動矢量不再指向圖像的第二區域。
2.根據權利要求1所述的視頻處理電路,其中如果運動矢量指向圖像的第二區域,則通過修改運動矢量以指向圖像的第一區域,處理器可以對第一圖像的部分第一區域進行再編碼。
3.根據權利要求1所述的視頻處理電路,其中如果運動矢量指向圖像的第二區域,則處理器可以對第一圖像的部分第一區域進行再編碼,以致第一圖像的第一區域沒有運動矢量。
4.根據權利要求1所述的視頻處理電路,其中如果運動矢量指向圖像的第二區域,則處理器可以對第一圖像的部分第一區域進行再編碼,使得運動矢量具有0位置值。
5.根據權利要求1所述的視頻處理電路,其中如果運動矢量指向圖像的第二區域,則處理器可以刪除該運動矢量。
6.根據權利要求1所述的視頻處理電路,其中處理器可以在變換域內對部分第一區域進行再編碼。
7.根據權利要求1所述的視頻處理電路,其中處理器可以在像素域內對部分第一區域進行再編碼。
8.一種視頻處理電路,該視頻處理電路包括處理器,該處理器可以接收分別具有相應第一區域和第二區域的編碼圖像,並可以接收一個或多個圖像的第一區域和第二區域的一個或多個運動矢量,該處理器可以識別從圖像第一區域指向圖像第二區域的運動矢量以及從圖像第二區域指向圖像第一區域的所有運動矢量;以及對具有識別的運動矢量的部分第一區域和部分第二區域進行再編碼,使得沒有運動矢量從圖像第一區域指向圖像第二區域,並且沒有運動矢量從圖像第二區域指向圖像第一區域。
9.根據權利要求8所述的視頻處理電路,其中處理器可以通過為每個部分分別計算相應替換運動矢量,對圖像的部分第一區域進行再編碼,各個替換運動矢量分別指向相應其它圖像的第一區域;以及通過為每個部分分別計算相應替換運動矢量,對圖像的部分第二區域進行再編碼,各個替換運動矢量分別指向相應其它圖像的第二區域。
10.根據權利要求8所述的視頻處理電路,其中處理器可以對具有識別的運動矢量的部分第一區域和部分第二區域進行再編碼,使得所有指向區域均沒有運動矢量。
11.根據權利要求8所述的視頻處理電路,其中處理器可以對具有識別的運動矢量的部分第一區域和部分第二區域進行再編碼,使得從圖像第一區域指向圖像第二區域的各運動矢量以及從圖像第二區域指向圖像第一區域的各運動矢量均具有0位置值。
12.根據權利要求8所述的視頻處理電路,其中處理器可以在變換域內識別運動矢量。
13.根據權利要求8所述的視頻處理電路,其中處理器可以在變換域內對部分第一區域和部分第二區域進行再編碼。
14.一種視頻處理電路,該視頻處理電路包括處理器,可以接收分別具有相應第一區域和第二區域的編碼圖像並接收一個或多個圖像的第一區域和第二區域的一個或多個運動矢量,該處理器可以識別具有指向相應第二區域的運動矢量的所有第一區域以及具有指向相應第一區域的運動矢量的所有第二區域;以及對識別的第一區域和第二區域進行再編碼,使得第一區域沒有指向第二區域的運動矢量並且第二區域沒有指向第一區域的運動矢量。
15.根據權利要求14所述的視頻處理電路,其中處理器可以通過為每個部分分別計算相應替換運動矢量,對該圖像的部分識別的第一區域進行再編碼,各個替換運動矢量分別指向相應其它圖像的第一區域;以及通過對每個部分分別計算相應替換運動矢量,對該圖像的部分識別的第二區域進行再編碼,各個替換運動矢量分別指向相應其它圖像的第二區域。
16.根據權利要求14所述的視頻處理電路,其中處理器可以對部分識別的第一區域和部分識別的第二區域進行再編碼,使得沒有識別的第一區域和識別的第二區域具有運動矢量。
17.根據權利要求14所述的視頻處理電路,其中處理器可以通過為每個部分分別計算相應替換運動矢量,對該圖像的部分識別的第一區域進行再編碼,各替換運動矢量分別具有0位置值;以及通過為每個部分分別計算相應替換運動矢量,對該圖像的部分識別的第二區域再編碼,各替換運動矢量分別具有0位置值。
18.根據權利要求14所述的視頻處理電路,其中處理器可以在變換域內識別第一區域和第二區域。
19.根據權利要求14所述的視頻處理電路,其中處理器可以在變換域內對部分識別的第一區域和部分識別的第二區域進行再編碼。
20.一種視頻處理電路,該視頻處理電路包括處理器,可以接收分別具有相應第一區域和第二區域的編碼圖像,將各第一區域和各第二區域分別分割為相應圖像子區,該處理器還可以接收圖像之一的第一區域內的子區的運動矢量,該處理器可以確定運動矢量指向的基準子區;以及如果基準子區位於另一個圖像的第二區域內,則對圖像子區進行再編碼,使得它沒有指向另一個圖像的第二區域的運動矢量。
21.根據權利要求20所述的視頻處理電路,其中如果基準子區位於另一個圖像的第二區域內,則通過為圖像子區計算替換運動矢量,處理器可以對圖像子區進行再編碼,替換運動矢量指向另一個圖像的第一區域內的替換基準子區。
22.根據權利要求20所述的視頻處理電路,其中如果基準子區位於另一個圖像的第二區域內,則通過為圖像子區計算替換運動矢量,處理器可以對圖像子區進行再編碼,替換運動矢量具有0位置值。
23.根據權利要求20所述的視頻處理電路,該處理器還可以將位於另一個圖像的第一區域內的圖像子區、基準子區以及掃描區解碼到變換域;以及其中如果基準子區位於另一個圖像的第二區域內,則通過在變換域內為圖像子區計算替換運動矢量,處理器可以對圖像子區進行再編碼,替換運動矢量指向位於掃描區內的替換基準子區。
24.根據權利要求20所述的視頻處理電路,該處理器還可以將位於另一個圖像的第一區域內的圖像子區、基準子區以及掃描區解碼到像素域;以及如果基準子區位於另一個圖像的第二區域內,則通過在像素域內為圖像予區計算替換運動矢量,處理器可以對圖像子區進行再編碼,替換運動矢量指向位於掃描區內的替換基準子區。
25.根據權利要求20所述的視頻處理電路,其中如果基準子區位於另一個圖像的第二區域內,則對處理器進行編程以通過對圖像子區進行內編碼來對圖像子區進行再編碼,使得該圖像子區沒有運動矢量。
26.根據權利要求20所述的視頻處理電路,該處理器還可以將圖像子區和基準子區解碼到變換域;以及如果基準子區位於另一個圖像的第二區域內,則通過在變換域內對圖像子區進行內編碼,而對圖像子區進行再編碼。
27.根據權利要求20所述的視頻處理電路,該處理器還可以將圖像子區和基準子區解碼到像素域;以及如果基準子區位於另一個圖像的第二區域內,則通過在像素域內對圖像子區進行內編碼,而對圖像子區進行再編碼。
28.根據權利要求20所述的視頻處理電路,該處理器還可以先解碼運動矢量,然後確定運動矢量指向的基準子區。
29.一種視頻處理電路,該視頻處理電路包括處理器,可以接收分別具有相應第一區域和第二區域的編碼圖像,將各個第一區域和各個第二區域分別分割為相應圖像子區,該處理器可以接收一個或多個圖像子區的一個或多個運動矢量,該處理器可以識別從圖像第一區域指向圖像第二區域或從圖像第二區域指向圖像第一區域的所有運動矢量;以及對具有識別的運動矢量的圖像子區進行再編碼,使得沒有圖像子區具有從圖像第一區域指向圖像第二區域或從圖像第二區域指向圖像第一區域的運動矢量。
30.根據權利要求29所述的視頻處理電路,其中處理器還可以通過為每個圖像子區分別計算相應替換運動矢量,對位於圖像的相應第一區域內並具有識別的運動矢量的圖像子區進行再編碼,各替換運動矢量分別指向相應其它圖像的第一區域;以及通過為每個圖像子區分別計算相應替換運動矢量,對位於圖像的相應第二區域內並具有識別的運動矢量的圖像子區進行再編碼,各替換運動矢量分別指向相應其它圖像的第二區域。
31.根據權利要求29所述的視頻處理電路,其中處理器可以通過為每個圖像子區分別計算替換運動矢量,對具有識別的運動矢量的圖像子區進行再編碼,各替換運動矢量分別具有0位置值。
32.根據權利要求29所述的視頻處理電路,其中通過對這些圖像子區進行內編碼,處理器可以對具有識別的運動矢量的圖像子區進行再編碼,使得所有這些圖像子區均沒有運動矢量。
33.根據權利要求29所述的視頻處理電路,其中圖像子區包括相應宏塊。
34.根據權利要求29所述的視頻處理電路,其中第一區域包括相應圖像的覆蓋區域。
35.根據權利要求29所述的視頻處理電路,其中第一區域包括相應圖像的電子節目導視顯示區。
36.一種視頻處理電路,該視頻處理電路包括處理器,該處理器可以接收分別具有相應第一區域和第二區域的編碼圖像,將第一區域和第二區域分別分割為相應圖像子區,該處理器可以接收一個或多個圖像子區的一個或多個運動矢量,該處理器可以識別具有從圖像第一區域指向圖像第二區域或從圖像第二區域指向圖像第一區域的運動矢量的圖像子區;以及對具有識別的運動矢量的圖像子區進行再編碼,使得沒有圖像子區具有從圖像第一區域指向圖像第二區域或從圖像第二區域指向圖像第一區域的運動矢量。
37.根據權利要求36所述的視頻處理電路,其中處理器可以通過為每個圖像子區分別計算相應替換運動矢量,對位於圖像第一區域內的識別圖像子區進行再編碼,各替換運動矢量分別指向相應其它圖像的第一區域;以及通過為每個圖像子區分別計算相應替換運動矢量,對位於圖像第二區域內的識別圖像子區進行再編碼,各替換運動矢量分別指向相應其它圖像的第二區域。
38.根據權利要求36所述的視頻處理電路,其中通過為每個圖像子區分別計算替換運動矢量,處理器可以對位於識別的圖像子區進行再編碼,各替換運動矢量分別具有0位置值。
39.根據權利要求36所述的視頻處理電路,其中通過對這些圖像子區進行內編碼,處理器可以對識別的圖像子區進行再編碼,使得所有這些圖像子區均沒有運動矢量。
40.一種方法,該方法包括接收分別具有相應第一區域和第二區域的編碼圖像;接收圖像中第一圖像第一區域的運動矢量;以及如果運動矢量指向圖像之一的第二區域,則對第一圖像的部分第一區域進行再編碼,使得第一圖像的第一區域沒有指向圖像之一的第二區域的運動矢量。
41.根據權利要求40所述的方法,其中再編碼過程包括修改指向圖像之一的第一區域的運動矢量的過程。
42.根據權利要求40所述的方法,其中再編碼過程包括對第一圖像的部分第一區域進行再編碼,使得第一圖像的第一區域沒有運動矢量的過程。
43.一種方法,該方法包括接收分別具有相應第一區域和第二區域的編碼圖像;接收一個或多個圖像的第一區域和第二區域的一個或多個運動矢量;識別從圖像第一區域指向圖像第二區域的運動矢量以及從圖像第二區域指向圖像第一區域的所有運動矢量;以及對具有識別的運動矢量的部分第一區域和部分第二區域進行再編碼,使得沒有從圖像第一區域指向圖像第二區域的運動矢量,也沒有從圖像第二區域指向圖像第一區域的運動矢量。
44.根據權利要求43所述的方法,其中對各圖像的部分第一區域進行再編碼的過程包括為每個部分分別計算相應替換運動矢量的過程,各替換運動矢量分別指向相應其它圖像的第一區域;以及對各圖像的部分第二區域進行再編碼的過程包括為每個部分分別計算相應替換運動矢量的過程,各替換運動矢量分別指向相應其它圖像的第二區域。
45.根據權利要求43所述的方法,其中再編碼過程包括對具有識別運動矢量的第一區域和第二區域進行再編碼,使得這些區域中沒有區域具有運動矢量的過程。
46.一種方法,該方法包括接收分別具有相應第一區域和第二區域的編碼圖像;接收一個或多個圖像的第一區域和第二區域的一個或多個運動矢量;識別具有指向相應第二區域的運動矢量的第一區域,並識別具有指向相應第一區域的運動矢量的第二區域;以及對部分識別的第一區域和部分識別的第二區域進行再編碼,使得識別的第一區域沒有指向第二區域的運動矢量,並且識別的第二區域沒有指向第一區域的運動矢量。
47.根據權利要求46所述的方法,其中對部分識別第一區域進行再編碼的過程包括為每個部分分別計算相應替換運動矢量的過程,各替換運動矢量分別指向相應其它圖像的第一區域;以及對部分識別第二區域進行再編碼的過程包括為每個部分分別計算相應替換運動矢量的過程,各替換運動矢量分別指向相應其它圖像的第二區域。
48.根據權利要求46所述的方法,其中再編碼過程包括對部分識別第一區域和部分識別第二區域進行再編碼,使得所有指向區域均沒有運動矢量的過程。
全文摘要
本發明披露的視頻處理電路包括處理器,該處理器接收具有第一區域和第二區域的編碼圖像,並接收圖像中第一圖像的第一區域的運動矢量。如果運動矢量指向圖像的第二區域,則該處理器至少對第一圖像的部分第一區域進行再編碼,使得第一圖像的第一區域沒有指向圖像的第二區域的運動矢量。
文檔編號H04N7/32GK1378749SQ00812350
公開日2002年11月6日 申請日期2000年8月31日 優先權日1999年9月3日
發明者文卡特·V·伊斯瓦爾, 約翰·S·奧唐奈, 拉馬錢德蘭·納塔拉詹, 羅伯特·J·戈夫 申請人:赤道技術公司