專利名稱:用于具有嵌入的重新定尺寸的mpeg解碼的交織活動區域的檢測和適當的內插的制作方法
背景技術:
本發明總的涉及視頻壓縮,更具體地,涉及具有嵌入的重新定尺寸的MPEG解碼,包括檢測和內插在交織的視頻中的活動區域,以便消除在輸出視頻中的不規則性。
引入離散余弦變換(DCT)和運動預測的視頻壓縮是在多個國際標準(諸如MPEG-1,MPEG-2,MPEG-4,和H.262)中采用的技術。在各種DCT/運動預測視頻編碼方案中間,MPEG-2是在DVD、衛星DTV廣播、和用于數字電視的美國ATSC標準中最廣泛使用的。
在某些應用中,希望以比接收到的更小的分辨率顯示解碼的視頻。例如,在高清晰度電視(HDTV)應用中,對具有高清晰度(HD)能力和標準清晰度(SD)格式輸出的低成本MPEG解碼器有增長的興趣。
在以上的應用中,MPEG-2解碼器被配置成包括按比例縮小器(downscaler),以便把HD的分辨率減小到SD格式。這種按比例縮小在解碼環路外部地或內部地執行。然而,希望在解碼環路中內部地嵌入按比例縮小,以便減小對于執行解碼所需要的存儲器和計算功率。
具有嵌入的重新定尺寸的MPEG-2解碼器的一個例子被示于
圖1。如圖所示,解碼器包括由可變長度解碼器(VLD)2、逆掃描和逆量化(ISIQ)單元4、和4×4逆離散余弦變換(IDCT)單元6組成的第一路徑。還包括由VLD 2、按比例縮小器10和1/4象素運動補償單元12組成的第二路徑。還包括加法器8,它組合第一和第二路徑的輸出,產生輸出視頻。
在運行期間,第一路徑2,4,6產生內部編碼的幀和殘余誤差幀,以及第二路徑2,10,12通過對被存儲在幀存儲器14中的參考幀執行運動補償而產生運動補償的殘余幀。
具體地,按比例縮小器10把運動矢量按比例縮小到第一路徑的減小的分辨率。由于這個按比例縮小,運動矢量現在具有1/4象素分辨率。這意味著,當執行運動補償時,能夠從參考幀檢索非整數象素位置,諸如,“1/4”、“1/2”或“3/4”象素位置。
而且,1/4象素MC單元12然后按照解碼的運動矢量從被存儲在幀存儲器14中的參考幀檢索數據。如果運動矢量(MV)是整數值,則MC單元12將只檢索在由MV表示的象素位置處開始的象素值。如果MV不是整數值,則MC單元12將檢索在與由MV表示的象素位置相鄰的整數象素位置處的象素值,以及執行內插,計算在非整數象素位置處的象素值。由這種內插得出的象素值是相應于非整數MV的實際的數據。
還應當指出,MPEG-2支持交織的視頻。因此,在解碼器一側,執行場MC或幀MC,取決于在編碼器一側進行的哪種MC。從圖2可以看到,在場MC的情形下,來自每個場的數據被分開地獲取,然后被交織到數據塊中。在幀MC的情形下,來自兩個場的交織的數據同時被獲取。
發明概要本發明涉及用于解碼交織的視頻幀的方法。該方法包括按比例縮小運動矢量,以便產生減小的分辨率的運動矢量。另外,檢測在交織的視頻參考幀中的活動區域和修正減小的分辨率的運動矢量,以便產生修正的運動矢量。而且,按照修正的運動矢量,從交織的視頻參考幀中檢索象素值。
本發明還涉及解碼器。解碼器包括用于產生殘余誤差幀的第一路徑和用于產生運動補償的殘余幀的第二路徑。
還包括加法器,用于組合殘余誤差幀和運動補償的殘余幀。
第二路徑包括按比例縮小器,用于產生減小的分辨率的運動矢量。第二路徑還包括運動補償單元,用于檢測交織的視頻參考幀中的活動區域、產生修正的運動矢量、和按照修正的運動矢量從交織的視頻參考幀中檢索象素值。
附圖簡述現在參照附圖,在所有圖上,相同的數字表示相應的部件圖1是具有嵌入的重新定尺寸的MPEG-2解碼器的方框圖;圖2是表示場運動補償與幀運動補償之間的差別的圖;圖3是在具有嵌入的重新定尺寸的MPEG解碼中可能出現的不規則性的例子;
圖4是按照本發明的、具有嵌入的重新定尺寸的MPEG-2解碼器的一個例子;圖5是按照本發明的、檢測和內插在交織的視頻中的活動區域的一個例子的流程圖;圖6是表示按照本發明的、用于修正MV的一個事例的圖;圖7是表示按照本發明的、用于修正MV的另一個事例的圖;圖8是表示按照本發明的、用于修正MV的再一個事例的圖;圖9是表示在交織的視頻中的活動區域的數據塊的一個例子;圖10是按照本發明的、用于檢測在交織的視頻中的活動區域的偽代碼的一個例子;以及圖11是按照本發明的一個系統的一個例子的方框圖。
詳細描述如前所述,具有嵌入的重新定尺寸的MPEG-2解碼是對于其中解碼的視頻的輸出分辨率要求被減小的應用的合乎需要的配置。具體地,這種配置是合乎需要的,因為比起外部縮放來說,它減小解碼時所需要的存儲器和計算功率。
然而,嵌入的重新定尺寸需要運動補償以減小的分辨率被執行。
在某些情形下,以減小的分辨率執行運動補償并不存在問題。然而,如果執行幀MC,則在輸出視頻中可能出現不規則性。這樣的不規則性的一個例子示于圖3。正如在這個例子中可看到的,輸出視頻包括多個不規則性,被稱為交織塊人造物15。這些不規則性15與在作為用于執行運動補償的參考幀被使用的交織的視頻幀中的運動有關。
具體地,在包括運動的交織的視頻幀的區域中,在兩個場之間出現突然的顏色差別。這變換成在這些活動區域中兩個場的象素值之間的大的差別。在幀MC的情形下,如果被解碼的運動矢量不是整數,則需要在兩個場的象素之間的內插。由于在具有嵌入的重新定尺寸的MPEG-2解碼時該運動矢量被按比例縮小,這使得在執行內插時其中的一個象素被過加權。因此,這種過加權是圖3所示的交織塊的人造物15的一個原因。在沒有運動的區域中,不會出現這樣的不規則性,因為在相應的區域的象素值之間只有小的差別。
為了避免這種過加權問題,解碼器被配置成把所有非整數運動矢量舍入到最接近的1/2象素。然而,發現這不是好的解決辦法,因為它在沒有運動的區域中造成問題。為了避免這些問題,本發明針對具有嵌入的重新定尺寸的MPEG解碼,包括檢測和內插交織的視頻中的活動區域。
圖4上示出按照本發明的、具有嵌入的重新定尺寸的MPEG-2解碼器的一個例子。如圖所示,按照本發明的解碼器,除了1/4象素MC單元16以外,是與圖1的相同的。和圖1上一樣,解碼器包括用于產生內部編碼的幀和殘余誤差幀的第一路徑2,4,6和用于產生運動補償的殘余幀的第二路徑2,10,16。還包括加法器8,用于組合第一和第二路徑的輸出來產生輸出視頻。
另外,在運行期間,按比例縮小器10把運動矢量縮放到第一路徑的減小的分辨率。然而,本發明的不同點在于,1/4象素MC單元16用來在執行運動補償時檢測和內插活動區域。
1/4象素MC單元16如何運行的一個例子示于圖5。在這個例子中,1/4象素MC單元16在宏塊級上處理視頻序列。因此,步驟18-32是對于每個宏塊執行的,直至在被處理的視頻序列中沒有留下宏塊為止。正如可以看到的,在步驟18,確定對于每個宏塊是否已執行幀MC。這是通過檢驗每個宏塊的標題而完成的。在MPEG-2中,宏塊標題包括一個區,表示在編碼器一側執行的是場MC還是幀MC。
在步驟18,如果確定對于特定的宏塊沒有執行幀MC,則方法跳到步驟30,以通常的方式從參考幀中檢索數據。正如前面描述的,交織塊的人造物只由于幀MC的結果才出現。替換地,如果在步驟18中幀MC已被執行,則方法將進到步驟20。
在步驟20,檢測每個宏塊的MV是否指向交織的視頻參考幀中的活動區域。如前所述,正是這些活動區域的內插造成交織塊的人造物。為了檢測活動區域,在每個運動矢量所指向的參考幀的區域上,計算兩個場之間的差值。如果差值很小,則該區域不是活動區域,以及方法跳到步驟30,以通常的方式檢索數據。如果差值是大的,則該區域是活動區域,方法將進到步驟22。
在步驟22,檢驗相應于參考幀的活動區域的每個運動矢量(MV)的垂直分量的數值。這時,應當指出,MV的分辨率已被按比例縮小到解碼器的第一路徑的分辨率。取決于它的數值,在三種情形的一種情形下,運動矢量(MV)的垂直分量將被修正,以便消除交織塊的人造物。
如果MV包括“1/4”或“3/4”象素位置,則方法進到步驟26(情形2)。在步驟26,“1/4”或“3/4”位置的MV將被改變到“1/2”位置。例如,MV=1.25被改變為“1.5”數值,或MV=3.75被改變為“3.5”數值。為了說明這種情形,圖6表示在減小的分辨率(a)和完全分辨率(b)的情形下的一列象素。每個條表示整個或子象素位置。條的高度表示象素的幅度。
在完全分辨率6(b)中,MV指向“1/2”象素位置,因此兩個交織的場被平均,導致在兩個場之間進行內插后獲取的“平坦的”象素值。在減小的分辨率6(a)中,由于按比例縮小,1/2象素MV已被減小到“1/4”象素MV。因此,在兩個場之間進行內插后,被檢索的象素值在減小的分辨率下不是“平坦的”。這是因為在執行內插時給予接近于由MV指示的象素位置的象素更多的加權。為了得到相同的“平坦的”象素值,必須與在完全分辨率時一樣,給予每個場相等的加權。在本例中,這是通過把“1/4”或“3/4”的MV改變到“1/2”數值而完成的。
回過來參考圖5,如果MV指向1/2象素位置,則方法進到步驟28(情形3)。在步驟28,“1/2”位置的MV被改變到最接近的奇數整數位置。例如,MV=1.5被改變到“1”,或MV=3.5被改變到“3”。為了說明這種情形,圖7示出在減小的分辨率(a)和完全分辨率(b)的情形下的一列象素。
在完全分辨率7(b)中,MV指向在底部場中的象素,以及象素值以顛倒的場的次序被檢索。在減小的分辨率7(a)中,由于按比例縮小,MV現在指向“1/2”象素位置。因此,在兩個場之間進行內插,這導致被檢索的象素值是兩個場的平均值。然而,與在完全分辨率時一樣,象素值應當以顛倒的場的次序被檢索。在本例中,這是通過把“1/2”的MV改變到“1”的數值而完成的。
如果MV是奇數整數,方法將進到步驟24(情形1)。在步驟24,奇數整數MV將被改變到最接近的偶數整數位置。例如,如果MV=3,則它被改變到“2”或“4”。為了說明這種情形,圖8示出在減小的分辨率(a)和完全分辨率(b)的情形下的一列象素。
在完全分辨率8(b)中,MV=2以及指向在頂部場中的象素。因此,在完全分辨率的情形下,象素值以前向次序被檢索。在減小的分辨率8(a)中,由于按比例縮小,MV=1,以及指向底部場中的象素。然而,這是不正確的,因為與在完全分辨率時一樣,象素值應當從頂部場開始被檢索。在本例中,這是通過把“1”的MV改變到“0”或“2”的數值而完成的。
回過來參考圖5,在三種情形24,26,28之一的情形下修正MV以后,方法將進到步驟30。在步驟30,來自參考幀的數據將按照在三種情形之一的情形下修正的MV被檢索,正如以上描述的。因為MV已被修正,這樣,數據將類似于完全分辨率那樣被檢索,得到的輸出視頻不應當包括任何交織的塊的人造物。
在執行步驟30后,方法將進到步驟32,查明是否序列的結尾。如果還有宏塊要處理,則方法將循環回到步驟18,以及重復上述的步驟。如果沒有宏塊留下,則方法將進到步驟34以及停止。
在圖5的步驟20,檢測每個宏塊的MV是否指向交織的視頻參考幀中的活動區域。如前所述,這是通過計算在由每個MV所指向的區域處的兩個場之間的差值而完成的。表示活動區域的數據塊的例子示于圖8。在這個塊中,深色的行表示頂部場,而淺色的行表示底部場。正如可以看到的,在這兩個場之間有突然的顏色改變。所以,通過取兩個場之間的差值,將產生大的數值,指示這個特定的區域是活動區域。
用于執行步驟20的偽代碼的一個例子示于圖9。在第一行,變量“diff”初始地被設置為零。在第四行,計算在數據塊的兩個場之間的差值。正如可以看到的,在兩個場的相鄰的象素(j,j+1)之間的差值,對于在第2行選擇的數據塊的每列(i)被計算和被積累。應當指出,所取的差值不是絕對差。還應當指出,在第2行選擇的列(i)越多,得到的檢測結果越精確。然而,為了減小計算量,在第2行可選擇有限數目的列(i)。例如,可以只選擇第一列,最后一列和中間的或每第三列(i),來執行這個檢測。
在第五行,差值(diff)被平均。這是必須的,以便把差值(diff)按比例縮放到第六行的門限值。在本例中,平均值是通過把差值(diff)除以所選擇的列數和在每列中的象素對的數目(h/2)而被計算的。
在第六行,差值的絕對值abs(diff)與門限值進行比較。在本例中,門限值是一對象素之間的差值,諸如二十(20)。如果abs(diff)超過門限值,則這表示已檢測到活動區域。如果abs(diff)沒有超過門限值,則這表示沒有檢測到活動區域。
圖11上示出其中可以實施包括按照本發明的、檢測和內插交織的視頻中的活動區域的MPEG解碼的系統的一個例子。例如,該系統可表示電視機,機頂盒,臺式計算機,膝上或掌上電腦,個人數字助理(PDA),視頻/圖象貯存設備,諸如盒式錄像機(VCR),數字錄像機(DVR),TiVO裝置等等,以及這些和其他設備的一部分或組合。系統包括一個或多個視頻源36,一個或多個輸入/輸出設備44,處理器38和存儲器40。
視頻/圖象源36可表示例如電視接收機,VCR或其他視頻/圖象貯存設備。替換地,源36可表示一個或多個網絡連接,用于從服務器或通過全球計算機通信網,諸如互聯網,廣域網,城域網,局域網,地面廣播系統,有線網,衛星網,無線網,或電話網,以及這些和其他類型的網絡的一部分或組合,從服務器接收視頻。
輸入/輸出設備44,處理器38和存儲器40通過通信媒體46進行通信。通信媒體可表示例如總線,通信網,電路、電路卡或其他設備的一個或多個內部連接,以及這些和其他通信媒體的一部分和組合。來自源36的輸入視頻數據按照被存儲在存儲器40中和由處理器38執行的一個或多個軟件程序被處理,以便產生輸出的視頻/圖象,提供到顯示設備42。
在一個實施例中,圖4的解碼是通過由系統執行的、計算機可讀出的代碼被實施的。代碼可被存儲在存儲器40中,或從存儲器媒體,諸如CD-ROM或軟盤,被讀出/下載。在其它實施例中,可以使用硬件電路,代替軟件指令或與之相組合,來實施本發明。
雖然上面通過特定的例子描述了本發明,但將會看到,本發明并不打算被約束或被限于這里揭示的例子。例如,本發明是通過使用MPEG框架被描述的。然而,應當指出,這里描述的概念和方法也可應用于任何DCT/運動預測方案,以及在更一般的意義上,其中允許不同的從屬關系間的圖象類型的任何基于幀的視頻壓縮方案。所以,本發明打算覆蓋被包括在附屬權利要求的精神和范圍內的本發明的各種結構和修正。
權利要求
1.用于解碼交織視頻幀的方法,該方法包括以下步驟-按比例縮小運動矢量,以便產生減小的分辨率的運動矢量;-檢測交織的視頻參考幀中的活動區域;-修正減小的分辨率的運動矢量,以便產生修正的運動矢量;以及-按照修正的運動矢量,以便從交織的視頻參考幀中檢索象素值。
2.權利要求1的方法,其中減小的分辨率的運動矢量被修正,以使得在執行內插時,來自每個場的象素被給予相等的加權因子。
3.權利要求1的方法,其中減小的分辨率的運動矢量被修正,以使得象素值按正確的場次序被檢索。
4.權利要求1的方法,其中減小的分辨率的運動矢量的垂直分量通過把奇數整數改變到最接近的偶數整數而被修正。
5.權利要求1的方法,其中減小的分辨率的運動矢量的垂直分量通過把“1/4”象素位置改變到“1/2”象素位置而被修正。
6.權利要求1的方法,其中減小的分辨率的運動矢量的垂直分量通過把“3/4”象素位置改變到“1/2”象素位置而被修正。
7.權利要求1的方法,其中減小的分辨率的運動矢量的垂直分量通過把“1/2”象素位置改變到最接近的奇數整數位置而被修正。
8.權利要求1的方法,還包括確定幀運動補償是否對于視頻序列的每個宏塊被執行。
9.權利要求1的方法,其中檢測在交織的視頻參考幀中的活動區域包括計算在相應于運動矢量的交織的視頻參考幀的區域處兩個場之間的差值;以及把兩個場之間的差值與預定的門限值進行比較。
10.權利要求9的方法,其兩個場之間的差值是通過積累在交織的視頻參考幀的區域的至少一列中兩個場的相鄰的象素之間的差值而被計算的;存儲器媒體包括用于解碼交織的視頻幀的代碼,所述代碼包括用于按比例縮小運動矢量以產生減小的分辨率的運動矢量的代碼;用于檢測在交織的視頻參考幀中的活動區域的代碼;用于修正減小的分辨率的運動矢量以產生修正的運動矢量的代碼;以及用于按照修正的運動矢量從交織的視頻參考幀中檢索象素值的代碼。
11.解碼器,包括用于產生殘余誤差幀的第一路徑;用于產生運動補償的殘余幀的第二路徑;以及加法器,用于組合殘余誤差幀和運動補償的殘余幀;其中第二路徑包括按比例縮小器,用于產生減小的分辨率的運動矢量;運動補償單元,用于檢測在交織的視頻參考幀中的活動區域,產生修正的運動矢量和按照該修正的運動矢量從交織的視頻參考幀中檢索象素值。
全文摘要
本發明涉及具有嵌入的重新定尺寸的MPEG解碼,包括檢測和內插交織的視頻中的活動區域,以便消除輸出視頻中的不規則性。按照本發明,解碼包括按比例縮小運動矢量。還包括,檢測交織的視頻參考幀中的活動區域和修正減小了分辨率的運動矢量。并且還包括,按照修正的運動矢量,從交織的視頻參考幀中檢索象素值。
文檔編號G06T9/00GK1465185SQ02802269
公開日2003年12月31日 申請日期2002年4月23日 優先權日2001年5月1日
發明者Z·鐘, Y·陳, T·-H·藍 申請人:皇家菲利浦電子有限公司