專利名稱:生成偽雙向預(yù)測(cè)場(chǎng)圖像的制作方法
技術(shù)領(lǐng)域:
本發(fā)明的配置一般涉及一種視頻系統(tǒng),具體地說,涉及一種記錄或重放數(shù)字編碼視頻序列的視頻系統(tǒng)。
背景技術(shù):
在當(dāng)今的消費(fèi)電子市場(chǎng)上,數(shù)字電視(DTV)和高清晰度電視(HDTV)正日趨流行。這種電視的很多購買者也購買諸如數(shù)字視頻盤(DVD)記錄器或播放機(jī)的數(shù)字錄像機(jī)以便觀看先前記錄的節(jié)目或記錄他們所喜愛的節(jié)目。值得一提的是,一個(gè)DTV(或HDVD)和一個(gè)數(shù)字錄像機(jī)或播放機(jī)的結(jié)合可以是一個(gè)家庭影院娛樂系統(tǒng)的主要部分。
數(shù)字錄像機(jī)或播放機(jī)通常包含一個(gè)運(yùn)動(dòng)圖像專家組(MPEG)解碼器,用于對(duì)存儲(chǔ)在由錄像機(jī)或播放機(jī)播放的盤上的數(shù)字編碼多媒體數(shù)據(jù)解碼。如果數(shù)字錄像機(jī)或播放機(jī)被連接到一個(gè)傳統(tǒng)的(非DTV或非HDTV)電視上,則數(shù)字編碼信號(hào)將在該傳統(tǒng)電視上顯示之前被數(shù)字錄像機(jī)或播放機(jī)的MPEG解碼器解碼。但是,值得注意的是,很多DTV包含其自己的MPEG解碼器。因此,如果一個(gè)數(shù)字錄像機(jī)或播放機(jī)被連接到DTV上,從盤中讀出的視頻信號(hào)則由DTV的解碼器遠(yuǎn)程解碼。這種結(jié)構(gòu)可以被稱之為遠(yuǎn)程解碼器配置。
但是,利用遠(yuǎn)程DTV解碼器解碼數(shù)字編碼信號(hào)有一個(gè)嚴(yán)重的缺點(diǎn)。即在這種配置中執(zhí)行特技模式是非常困難的。特技模式可以是其中是以非正常速度或以非正向進(jìn)行播放的任何視頻播放。通常,一個(gè)特技模式包括諸如在慢動(dòng)作或定格特技模式期間重復(fù)視頻信號(hào)中的許多圖像。由于在數(shù)字錄像機(jī)或播放機(jī)和DTV之間的帶寬是受到限制的,所以,重復(fù)正在被饋送給DTV的信號(hào)中的圖像可能引起該信號(hào)超過傳輸信道的最大位速率極限。如果圖像是幀內(nèi)(I)圖像或預(yù)測(cè)(P)圖像,那么,由于這些圖像可以利用相對(duì)較大量的位來編碼,所以,上述問題將更加明顯。
此外,即使是在諸如快速運(yùn)動(dòng)特技模式期間的跳轉(zhuǎn)圖像的處理也可能引起視頻信號(hào)的平均位速率超過位速率。具體地,在快速運(yùn)動(dòng)特技模式期間將被跳轉(zhuǎn)的一組圖像(GOP)的第一圖像通常是一個(gè)雙向預(yù)測(cè)(B)圖像。由于該B圖像被跳過,所以,在GOP中剩余圖像的平均編碼數(shù)據(jù)量或每個(gè)圖像的平均位數(shù)增加。超過傳輸信道的位速率極限將導(dǎo)致緩存器溢出和在顯示特技模式視頻信號(hào)期間丟失圖像。
除了位速率的問題以外,對(duì)視頻信號(hào)進(jìn)行遠(yuǎn)程解碼還存在另一個(gè)缺點(diǎn)如果被重復(fù)的圖像包含一個(gè)運(yùn)動(dòng)目標(biāo),那么,在這種配置中非逐行圖像的重復(fù)顯示可能引起在顯示中出現(xiàn)的擺動(dòng)效應(yīng)。為了解釋這個(gè)缺點(diǎn),有必要簡(jiǎn)單地說明一下隔行掃描。
很多電視使用隔行掃描技術(shù)。在這種格式下,視頻信號(hào)通常被劃分成預(yù)定數(shù)量的水平行。在每個(gè)場(chǎng)周期期間,只有這些行的一半被掃描;通常,在首場(chǎng)周期期間內(nèi)掃描奇數(shù)行,而在下一個(gè)場(chǎng)周期期間內(nèi)掃描偶數(shù)行。每次掃描被稱之為一個(gè)場(chǎng),當(dāng)組合時(shí),兩個(gè)場(chǎng)形成一個(gè)完整的圖像或幀。對(duì)于一個(gè)NTSC系統(tǒng),每秒顯示60個(gè)場(chǎng),從而導(dǎo)致了每秒30幀的速率。
當(dāng)一個(gè)運(yùn)動(dòng)目標(biāo)在隔行掃描電視中的屏幕上運(yùn)動(dòng)時(shí),每個(gè)場(chǎng)將只顯示運(yùn)動(dòng)目標(biāo)的一部分。這個(gè)部分顯示是由于一個(gè)場(chǎng)只顯示整個(gè)圖像的隔行的水平行。例如,對(duì)于一個(gè)特定的場(chǎng)n,僅掃描奇數(shù)水平行,在場(chǎng)n中將被顯示的運(yùn)動(dòng)目標(biāo)的部分是在場(chǎng)n的奇數(shù)水平行擺動(dòng)期間被掃描的部分。下一個(gè)場(chǎng),即場(chǎng)n+1在1/60秒后被創(chuàng)建并且將顯示圖像的偶數(shù)水平行。由此,在場(chǎng)n+1中被顯示的運(yùn)動(dòng)目標(biāo)的部分就是在場(chǎng)n+1的偶數(shù)水平行擺動(dòng)期間被掃描的部分。雖然每個(gè)場(chǎng)在時(shí)間都是不同的,但由于場(chǎng)被顯示的速度,所以,人眼將場(chǎng)的連續(xù)顯示看作是平滑的運(yùn)動(dòng)。
如果一個(gè)觀眾激活一個(gè)特技模式,該特技模式視頻信號(hào)可以包含以隔行掃描格式所記錄的重復(fù)圖像。例如,觀眾對(duì)一個(gè)特定的圖像啟動(dòng)一個(gè)定格特技模式,那么,該圖像可以被重復(fù)發(fā)送給包含遠(yuǎn)程解碼器的DTV,并被解碼和顯示。但是,重復(fù)圖像的顯示是根據(jù)非逐行圖像的正常顯示進(jìn)行的,即,構(gòu)成非逐行圖像的場(chǎng)是被交替顯示的。
如上面說明的,如果一個(gè)運(yùn)動(dòng)目標(biāo)出現(xiàn)在以隔行掃描格式記錄的圖像中,那么,每個(gè)場(chǎng)都將在一個(gè)特定位置顯示運(yùn)動(dòng)目標(biāo)。由此,由于在定格特技模式期間這些場(chǎng)是被交替顯示的,顯示器上的運(yùn)動(dòng)目標(biāo)將迅速從該顯示器中的一個(gè)位置運(yùn)動(dòng)到另一個(gè)位置并再次返回;從效果上看,運(yùn)動(dòng)目標(biāo)出現(xiàn)振動(dòng)。這種振動(dòng)的產(chǎn)生是由于交織的場(chǎng)在時(shí)間上是不同的,和運(yùn)動(dòng)目標(biāo)出現(xiàn)在每個(gè)場(chǎng)的不同位置。
這個(gè)問題也存在于包括解交織器的DTV中。如在現(xiàn)有技術(shù)中已知的,一個(gè)解交織器能夠根據(jù)一個(gè)隔行掃描場(chǎng)來構(gòu)造完整的幀。因此,一個(gè)解交織器能夠從包括重復(fù)的非逐行幀的場(chǎng)構(gòu)造出完整的幀。不過,這些根據(jù)隔行掃描場(chǎng)構(gòu)造的完整幀也將以交替方式被顯示,從而可能產(chǎn)生振動(dòng)贗像。另外,這一振動(dòng)效應(yīng)不僅出現(xiàn)在定格特技模式中,也可能存在于其中重復(fù)非逐行圖像的任何其它特技模式中。因此,希望在不增加系統(tǒng)的成本和復(fù)雜性的情況下消除位速率問題以及振動(dòng)贗像。
發(fā)明內(nèi)容
本發(fā)明涉及一種生成偽雙向預(yù)測(cè)場(chǎng)圖像的方法。該方法包括下述步驟設(shè)置偽雙向預(yù)測(cè)場(chǎng)圖像的第一指示符的至少一部分來表明將不發(fā)生對(duì)剩余信號(hào)的編碼;和設(shè)置偽雙向預(yù)測(cè)場(chǎng)圖像的第二指示符的至少一部分來表明將從一個(gè)參考圖像的首場(chǎng)和尾場(chǎng)當(dāng)中的至少一個(gè)場(chǎng)預(yù)測(cè)偽雙向預(yù)測(cè)的場(chǎng)圖像,從而控制振動(dòng)贗像。設(shè)置第一指示符的步驟還包括設(shè)置偽雙向預(yù)測(cè)場(chǎng)圖像的第一指示符的至少一部分來表明將不會(huì)發(fā)生剩余信號(hào)的離散余弦變換DCT編碼。
另外,偽雙向預(yù)測(cè)場(chǎng)圖像可以包括多個(gè)宏塊和其中第一指示符的至少一部分被包含在一個(gè)宏塊標(biāo)題之內(nèi)。每個(gè)宏塊可以包含至少一個(gè)具有水平和垂直運(yùn)動(dòng)分量的運(yùn)動(dòng)矢量,和設(shè)置第一指示符的步驟可以包括設(shè)置第一指示符的至少一部分來表明水平和垂直運(yùn)動(dòng)分量是0的步驟。
在一種配置中,偽雙向預(yù)測(cè)場(chǎng)圖像可以是一個(gè)反向預(yù)測(cè)的場(chǎng)圖像,并且第一指示符的至少一部分可以包括motion_code
[1]
標(biāo)記和motion_code
[1][1]標(biāo)記。設(shè)置第一指示符的至少一部分的步驟可以包括將motion_code
[1]
標(biāo)記和motion_code
[1][1]標(biāo)記設(shè)置為值1的步驟。另外,偽雙向預(yù)測(cè)場(chǎng)圖像可以是一個(gè)正向預(yù)測(cè)的場(chǎng)圖像和第一指示符的至少一部分可以包括motion_code
標(biāo)記和motion_code
[1]標(biāo)記。設(shè)置宏塊標(biāo)題的至少一部分的步驟可以包括將motion_code
標(biāo)記和motion_code
[1]標(biāo)記設(shè)置為值1的步驟。
另一方面,參考圖像可以是一個(gè)幀內(nèi)圖像或一個(gè)預(yù)測(cè)圖像。另外,參考圖像可以是非逐行圖像、逐行圖像或場(chǎng)圖像。在另一方面,偽雙向預(yù)測(cè)場(chǎng)圖像可以是一個(gè)反向預(yù)測(cè)的場(chǎng)圖像,和被作為偽雙向預(yù)測(cè)場(chǎng)圖像預(yù)測(cè)依據(jù)的至少一個(gè)場(chǎng)可以是參考圖像的首場(chǎng)。
首場(chǎng)可以是一個(gè)頂場(chǎng),第二指示符的至少一部分可以位于一個(gè)宏塊標(biāo)題中,在該宏塊標(biāo)題中,第二指示符的至少一部分可以包括motion_vertical_field_select
[1]標(biāo)記。設(shè)置第二指示符的至少一部分的步驟可以包括將motion_vertical_field_select
[1]標(biāo)記設(shè)置為值0的步驟。在另一種配置中,首場(chǎng)可以是一個(gè)底場(chǎng),和第二指示符的至少一部分可以位于一個(gè)宏塊標(biāo)題中,在該宏塊標(biāo)題中,第二指示符的至少一部分可以包括motion_vertical_field_select
[1]標(biāo)記。設(shè)置第二指示符的至少一部分的步驟可以包括將motion_vertical_field_select
[1]標(biāo)記設(shè)置為值1的步驟。
還是在另一種配置中,偽雙向預(yù)測(cè)場(chǎng)圖像可以是一個(gè)正向預(yù)測(cè)場(chǎng)圖像,和作為預(yù)測(cè)偽雙向預(yù)測(cè)場(chǎng)圖像的依據(jù)的至少一個(gè)場(chǎng)是參考圖像的尾場(chǎng)。尾場(chǎng)可以是一個(gè)頂場(chǎng),第二指示符的至少一部分可以位于一個(gè)宏塊標(biāo)題中,在該宏塊標(biāo)題中,第二指示符的至少一部分包括motion_vertical_field_select
標(biāo)記。設(shè)置第二指示符的至少一部分的步驟可以包括將motion_vertical_field_select
標(biāo)記設(shè)置為值0的步驟。
另外,尾場(chǎng)可以是一個(gè)底場(chǎng),和第二指示符的至少一部分可以位于一個(gè)宏塊標(biāo)題中,在該宏塊標(biāo)題中,第二指示符的至少一部分可以包括motion_vertical_field_select
標(biāo)記。設(shè)置第二指示符的至少一部分的步驟可以包括將motion_vertical_field_select
標(biāo)記設(shè)置為值1的步驟。該方法還可以包括當(dāng)偽雙向預(yù)測(cè)場(chǎng)圖像和參考圖像的至少一個(gè)場(chǎng)具有相同的奇偶性時(shí)跳過至少一部分宏塊的步驟。
本發(fā)明還涉及一種用于生成偽雙向預(yù)測(cè)場(chǎng)圖像的系統(tǒng)。該系統(tǒng)包括一個(gè)用于從存儲(chǔ)媒體中讀出數(shù)據(jù)的控制器和一個(gè)處理器。處理器被編程以用于設(shè)置偽雙向預(yù)測(cè)場(chǎng)圖像的第一指示符的至少一部分來表明將不會(huì)發(fā)生對(duì)剩余信號(hào)的編碼,以及設(shè)置偽雙向預(yù)測(cè)場(chǎng)預(yù)測(cè)圖像的第二指示符的至少一部分來表明將從一個(gè)參考圖像的首場(chǎng)和尾場(chǎng)當(dāng)中的至少一個(gè)場(chǎng)預(yù)測(cè)偽雙向預(yù)測(cè)場(chǎng)圖像,以控制振動(dòng)贗像。該系統(tǒng)還包括用于執(zhí)行上述方法的適當(dāng)軟件和電路。
附圖簡(jiǎn)述
圖1的框圖示出了能夠根據(jù)本發(fā)明配置生成偽雙向預(yù)測(cè)圖像的系統(tǒng)。
圖2的流程圖示出了根據(jù)本發(fā)明的配置生成偽雙向預(yù)測(cè)圖像的操作。
圖3示出了典型MPEG語法的某些部分。
圖4A示出了包含非逐行圖像的典型組的一部分。
圖4B示出了用于根據(jù)非逐行參考圖像預(yù)測(cè)偽雙向預(yù)測(cè)場(chǎng)圖像的幾個(gè)途徑。
具體實(shí)施例方式
圖1以框圖的形式示出了根據(jù)本發(fā)明的配置用于實(shí)現(xiàn)各種先進(jìn)操作特征的系統(tǒng)100。但是,本發(fā)明并不局限于圖1所示的特定系統(tǒng),因?yàn)楸景l(fā)明可以使用任何可以接收數(shù)字編碼信號(hào)并將該信號(hào)傳輸給顯示器件的其它系統(tǒng)加以實(shí)現(xiàn)。另外,系統(tǒng)100也不局限于從/向任何特定類型的存儲(chǔ)媒體讀出/寫入數(shù)據(jù),因?yàn)橄到y(tǒng)100可以使用任何能夠存儲(chǔ)數(shù)字編碼數(shù)據(jù)的存儲(chǔ)媒體。
系統(tǒng)100可以包括一個(gè)用于從/向存儲(chǔ)媒體112讀出/寫入數(shù)據(jù)的控制器110。系統(tǒng)100還可以具有一個(gè)預(yù)處理引擎114、微處理器116、存儲(chǔ)器118、傳輸緩存器120和顯示器件122。預(yù)處理引擎114可以包含用于定位和設(shè)置或調(diào)節(jié)數(shù)字編碼視頻信號(hào)中的一個(gè)或多個(gè)特定標(biāo)記或參數(shù)以生成偽B場(chǎng)圖像的適當(dāng)軟件和電路。還可以提供一個(gè)控制和數(shù)據(jù)接口,用于允許微處理器116去控制控制器110和預(yù)處理引擎114的操作。在存儲(chǔ)器中可以提供使微處理器116執(zhí)行傳統(tǒng)操作的適當(dāng)軟件或固件。此外,可以根據(jù)本發(fā)明的配置為微處理器116提供多個(gè)程序例程。
應(yīng)當(dāng)理解,預(yù)處理引擎114和微處理器116的全部或部分可以是本發(fā)明構(gòu)思中的處理器124。此外,控制器110、預(yù)處理引擎114、微處理器116和傳輸緩存器120的全部或部分可以是本發(fā)明構(gòu)思中的位流源126。
在另一種配置中,顯示器件122包含它自己的解碼器123,用于解碼從存儲(chǔ)媒體112讀出并由位流源126處理的任一視頻信號(hào)的全部或部分。在這個(gè)特定的配置中,位流源126中的解碼器(未示出)通常不解碼從存儲(chǔ)媒體112中讀出的視頻信號(hào)。該特定的實(shí)施例可以稱之為遠(yuǎn)程解碼器配置。但是,應(yīng)當(dāng)注意,本發(fā)明并不局限預(yù)這種配置,因?yàn)楸景l(fā)明可以任何其它適當(dāng)?shù)南到y(tǒng)加以實(shí)現(xiàn)。
在操作過程中,控制器110可以從存儲(chǔ)媒體112中讀出包含多個(gè)圖像的視頻信號(hào)。這些圖像可以是非逐行圖像、逐行圖像或場(chǎng)圖像。在一種配置中,如果微處理器116接收一個(gè)特技模式命令,那么,微處理器116將發(fā)信號(hào)給預(yù)處理引擎114以通過定位和設(shè)置或調(diào)節(jié)例如這些場(chǎng)圖像的MPEG語法的若干預(yù)定標(biāo)記和參數(shù)生成可以根據(jù)數(shù)字編碼視頻信號(hào)中的多個(gè)圖像預(yù)測(cè)的偽B場(chǎng)圖像。然后,偽B場(chǎng)圖像可以被傳送給傳輸緩存器120并被傳送給顯示器件122。解碼器123可以解碼偽B場(chǎng)圖像,和顯示器件122可以顯示它們。
上面的討論是一旦微處理器116接收了一個(gè)特技模式命令如何生成偽B場(chǎng)圖像的例子。這種處理被稱之為“動(dòng)態(tài)式(on the fly)”生成偽B場(chǎng)圖像。但是,另一方面,預(yù)處理引擎114和微處理器116可以在啟動(dòng)特技模式命令之前生成偽B場(chǎng)圖像。作為一個(gè)例子,可以生成偽B場(chǎng)圖像,和微處理器116可以指令預(yù)處理引擎114將一個(gè)或多個(gè)偽B場(chǎng)圖像傳輸給存儲(chǔ)器118。在存儲(chǔ)器118處,偽B場(chǎng)圖像可以被存儲(chǔ),直到接收到一個(gè)特技模式命令為止,在此時(shí),微處理器116可以將偽B場(chǎng)圖像插入到視頻信號(hào)中。下面將更詳細(xì)地討論本發(fā)明的整個(gè)操作。
生成偽雙向預(yù)測(cè)場(chǎng)圖像參看圖2,方法200示出了一種可以用于生成偽B場(chǎng)圖像的途徑。在一個(gè)實(shí)施例中,可以利用遠(yuǎn)程解碼器配置來實(shí)施本發(fā)明。為實(shí)現(xiàn)本發(fā)明,一個(gè)遠(yuǎn)程解碼器配置可以是能夠?qū)崿F(xiàn)下述情況的任何一種系統(tǒng),即,在這種系統(tǒng)中,視頻信號(hào)中的至少一部分圖像可以由位于向解碼器提供圖像的位流源外部并不受該位流源控制的解碼器解碼。作為例子,該位流源可以是一個(gè)是能夠從一個(gè)光存儲(chǔ)媒體中讀出多媒體數(shù)據(jù)并經(jīng)傳輸信道將該數(shù)據(jù)傳輸給包含它自己解碼器的數(shù)字電視的光存儲(chǔ)媒體播放機(jī)或者記錄器。但是,應(yīng)當(dāng)理解,本發(fā)明并不局限于這個(gè)例子或者這種遠(yuǎn)程解碼器配置,因?yàn)榭梢允褂萌魏纹渌m當(dāng)?shù)南到y(tǒng)或配置實(shí)現(xiàn)本發(fā)明。
參看圖3,該圖示出了數(shù)字編碼圖像的典型MPEG語法300的一部分。根據(jù)本發(fā)明的配置,這個(gè)語法300可以表示偽B場(chǎng)圖像的語法。下面將結(jié)合圖2來討論圖3以便描述如何生成一個(gè)偽B場(chǎng)圖像。應(yīng)當(dāng)說明,這里將只討論與根據(jù)非逐行幀生成偽B場(chǎng)圖像、特別是可以減少振動(dòng)圖像贗像的偽B場(chǎng)圖像相關(guān)的語法300的這些部分。但是,對(duì)于本領(lǐng)域內(nèi)技術(shù)人員來講很明顯,這里沒有討論的語法300的部分經(jīng)過使用傳統(tǒng)的B場(chǎng)圖像已經(jīng)是公知的了,并且偽B場(chǎng)圖像可以依據(jù)逐行圖像和場(chǎng)圖像進(jìn)行預(yù)測(cè)。
參看圖2,在步驟210,開始用于從非逐行圖像生成偽B場(chǎng)圖像的處理。在步驟212,可以設(shè)置包含在語法300的圖像標(biāo)題310(見圖3)中的picture_coding_type參數(shù)(未示出),以表明偽B場(chǎng)圖像將是一個(gè)B圖像。picture_coding_type參數(shù)最好是一個(gè)3位的參數(shù),其值可以被設(shè)置為“011”。在步驟214,可以設(shè)置f_code參數(shù)。在圖3中,通常包括4位參數(shù)f_code
、f_code
[1]、f_code[1]
和f_code[1][1]的f_code參數(shù)312位于圖像編碼擴(kuò)展標(biāo)題314中。
偽B場(chǎng)圖像可以是一個(gè)單向預(yù)測(cè)圖像。單向預(yù)測(cè)圖像是根據(jù)僅僅一個(gè)圖像預(yù)測(cè)的,而傳統(tǒng)的B幀圖像通常是根據(jù)兩個(gè)單獨(dú)的圖像預(yù)測(cè)的。通常,單向偽B場(chǎng)圖像可以是正向預(yù)測(cè)偽B場(chǎng)圖像,也可以是反向預(yù)測(cè)的偽B場(chǎng)圖像。如果偽B場(chǎng)圖像是一個(gè)正向預(yù)測(cè)的偽B場(chǎng)圖像,那么,該偽B場(chǎng)圖像可以根據(jù)在該偽B場(chǎng)圖像之前(依顯示順序)的一個(gè)參考圖像進(jìn)行預(yù)測(cè)。相反,如果該偽B場(chǎng)圖像是一個(gè)反向預(yù)測(cè)的偽B場(chǎng)圖像,那么,該偽B場(chǎng)圖像可以根據(jù)在該偽B場(chǎng)圖像之后(依顯示順序)的一個(gè)參考圖像進(jìn)行預(yù)測(cè)。由于它們僅僅根據(jù)一個(gè)圖像進(jìn)行預(yù)測(cè),所以,單向預(yù)測(cè)偽B場(chǎng)圖像能夠適用于重復(fù)或復(fù)制圖像。
如果偽B場(chǎng)圖像是一個(gè)反向預(yù)測(cè)的場(chǎng)圖像,那么,可以將f_code
和f_code
[1]設(shè)置為“1111”的值,以表明沒有發(fā)生正向預(yù)測(cè)。另外,f_code[1]
和f_code[1][1]可以被設(shè)置為反映反向預(yù)測(cè)的運(yùn)動(dòng)矢量范圍值。相反,如果偽B場(chǎng)圖像是一個(gè)正向預(yù)測(cè)的場(chǎng)圖像,那么,f_code[1]
和f_code[1][1]可以被設(shè)置為“1111”的值,以表明不會(huì)發(fā)生反向預(yù)測(cè),和f_code
和f_code
[1]可以被設(shè)置為反映正向預(yù)測(cè)的運(yùn)動(dòng)矢量范圍值。
回過來參看方法200,在步驟216,picture_structue參數(shù)(圖3中的picture_structue 315)可以被設(shè)置為“01”或“10”的值。將picture_structue參數(shù)315設(shè)置為“01”值可以表明偽B場(chǎng)圖像是一個(gè)頂場(chǎng)圖像,將參數(shù)315設(shè)置為“10”值可以表明偽B場(chǎng)圖像是一個(gè)底場(chǎng)圖像。對(duì)于本發(fā)明和根據(jù)MPEG語法,設(shè)置picture_structue參數(shù)315為這些值中的哪一個(gè)是無關(guān)緊要的。如果偽B場(chǎng)圖像是根據(jù)非逐行圖像的場(chǎng)圖像預(yù)測(cè)的,那么,也可以應(yīng)用這個(gè)原理。例如,如果偽B場(chǎng)圖像將被依據(jù)一個(gè)非逐行圖像的頂場(chǎng)來預(yù)測(cè),那么,可以將picture_structue參數(shù)315設(shè)置為上述任一值,和偽B場(chǎng)圖像可以是一個(gè)頂場(chǎng)圖像或是一個(gè)底場(chǎng)圖像。
繼續(xù)方法200,可以將frame_pred_frame_dct 標(biāo)記(圖3中的frame_pred_frame_dct 標(biāo)記316)設(shè)置為“0”值,如在步驟218所示。當(dāng)構(gòu)造偽B場(chǎng)圖像時(shí),將frame_pred_frame_dct 標(biāo)記316設(shè)置為“0”值可以使解碼偽B場(chǎng)圖像的解碼器使用以場(chǎng)為基礎(chǔ)的預(yù)測(cè)。另外,如在步驟220所示,可以根據(jù)一個(gè)場(chǎng)圖像的MPEG語法,將top_field_first標(biāo)記(圖3中的top_field_first標(biāo)記319)設(shè)置為“0”值。
在方法200的步驟222處,可以將下列標(biāo)記設(shè)置為“0”值Q_scale_type(圖3中的Q_scale_type標(biāo)記320)、Intra_vic_format(圖3中的Intra_vic_format標(biāo)記322)和Alternate_scan(圖3中的Alternate_scan標(biāo)記324)。由于將不會(huì)發(fā)生對(duì)預(yù)測(cè)誤差和剩余信號(hào)的編碼,所以,這些標(biāo)記可以被設(shè)置為“0值。另外,由于剩余信號(hào)將不被編碼,所以,可以將Quantiser_scale_code參數(shù)(圖3中的Quantiser_scale_code參數(shù)326)設(shè)置為“00101”的值?;剡^來看圖3,Quantiser_scale_code參數(shù)326可以被定位在片段(slice)標(biāo)題327中(為簡(jiǎn)單起見,在語法300中僅示出了一個(gè)片段標(biāo)題327)。
由于偽B場(chǎng)圖像可能包括多個(gè)宏塊,所以,語法300可能包括多個(gè)宏塊標(biāo)題328,其中,每個(gè)宏塊標(biāo)題328都能夠與一個(gè)單一的宏塊相關(guān)聯(lián)(與片段標(biāo)題類似,為簡(jiǎn)化附圖,在語法300中僅僅示出了一個(gè)宏塊標(biāo)題328)。第一指示符可以被定位在宏塊標(biāo)題328內(nèi)。在一種配置中,第一指示符的一部分可以是macroblock_type參數(shù)330。參看圖2和3,在方法200的步驟224,可以設(shè)置macroblock_type參數(shù)330以表明將不會(huì)發(fā)生剩余信號(hào)的編碼。作為例子,在傳統(tǒng)的B場(chǎng)圖像中,通常使用離散余弦變換(DCT)對(duì)剩余信號(hào)進(jìn)行編碼。由此,在一種配置中,將不會(huì)發(fā)生對(duì)每個(gè)偽B場(chǎng)圖像的剩余信號(hào)進(jìn)行DCT編碼。但是,應(yīng)當(dāng)理解,本發(fā)明并不局限于這種考慮,因?yàn)榭梢栽O(shè)置任何其它適當(dāng)?shù)膮?shù)來表示不會(huì)發(fā)生利用DCT或任一其它算法對(duì)剩余信號(hào)編碼的情況。
在一種配置中,可以將macroblock_type參數(shù)330設(shè)置為“010”的值。這個(gè)設(shè)置指出下面的標(biāo)記(未示出)可以被設(shè)置為“0”macroblack_quant;macroblock_pattern;macroblock_intra;spatial_temporal_weight_code_flag和permitted_spatial_temporal_weight_classes。另外,這個(gè)設(shè)置可以指出macroblock_motion_backward標(biāo)記(未示出)可以被設(shè)置為當(dāng)偽B場(chǎng)圖像將被反向預(yù)測(cè)時(shí)使用的“1”值。在另一個(gè)例子中,可以將macroblock_type參數(shù)330的值設(shè)置為“0010”。在這個(gè)例子中,除了macroblock_motion_forward標(biāo)記(未示出)可以被設(shè)置為值“1”以取代macroblock_motion_backward標(biāo)記以外,該設(shè)置與上面討論的相同。
可以如在步驟226所示的那樣設(shè)置field_motion_type參數(shù)(圖3中的field_motion_type參數(shù)332)。這個(gè)設(shè)置可以指出預(yù)測(cè)的類型是以場(chǎng)為基礎(chǔ)的預(yù)測(cè),motion_vector_count是1,mv_format是場(chǎng)和dmv是“0”。繼續(xù)參看方法200,在步驟228,可以設(shè)置諸如motion_vertical_field_select標(biāo)記的第二指示符。
例如,參看圖3,可以設(shè)置motion_vertical_field_select
[1]標(biāo)記334和motion_vertical_field_select
標(biāo)記336以指出該參考圖像的哪個(gè)場(chǎng)將被用于預(yù)測(cè)偽B場(chǎng)圖像。motion_vertical_field_select
[1]標(biāo)記334與反向預(yù)測(cè)的偽B場(chǎng)圖像相關(guān)聯(lián),和motion_vertical_field_select
標(biāo)記336與正向預(yù)測(cè)的偽B場(chǎng)圖像相關(guān)聯(lián)。但是,第二指示符并不局限于這些標(biāo)記,任何其它適當(dāng)?shù)臉?biāo)記或參數(shù)都可以被用于執(zhí)行所希望的預(yù)測(cè)方案。
如現(xiàn)有技術(shù)已知的,根據(jù)一個(gè)參考圖像的場(chǎng)奇偶性和從參考圖像場(chǎng)預(yù)測(cè)的(非逐行幀圖像的)一個(gè)場(chǎng)或場(chǎng)圖像可以跳過數(shù)字編碼圖像的某些宏塊,作為例子,如果包含非逐行圖像的視頻信號(hào)正在被重放,那么,每個(gè)參考圖像和非參考圖像都可以具有一個(gè)頂場(chǎng)和一個(gè)底場(chǎng)。更具體地說,如果非參考圖像的底場(chǎng)是根據(jù)具有相同奇偶性的參考圖像的場(chǎng)預(yù)測(cè)的,那么,在這種情況下,參考圖像的場(chǎng)可以是一個(gè)底場(chǎng),那么,就可以跳過大量由非參考圖像的底場(chǎng)構(gòu)成的宏塊。
事實(shí)上,如果相關(guān)場(chǎng)具有相同的奇偶性,那么,由一個(gè)片段構(gòu)成的所有宏塊除了第一和最后一個(gè)宏塊以外都能夠被跳過。實(shí)際結(jié)果就是非參考圖像將包含比對(duì)這樣一個(gè)圖像進(jìn)行編碼通常所需更少的編碼信息。這個(gè)處理還被應(yīng)用于場(chǎng)圖像。對(duì)于本領(lǐng)域內(nèi)技術(shù)人員來講很明顯,在MPEG語法(未示出)中的macroblock_escape和macroblock_address_increment參數(shù)可以被操控以執(zhí)行這個(gè)處理。
關(guān)于跳轉(zhuǎn)宏塊的上述討論也適用于本發(fā)明。即,如果所生成的偽B場(chǎng)圖像是根據(jù)其中偽B場(chǎng)圖像的奇偶性與參考圖像的場(chǎng)的奇偶性相匹配的一個(gè)參考圖像預(yù)測(cè)的,那么,包括偽B場(chǎng)圖像的一個(gè)或多個(gè)宏塊能夠被跳過。如果偽B場(chǎng)圖像是根據(jù)具有相同奇偶性的一個(gè)參考場(chǎng)圖像預(yù)測(cè)的,那么,更可以產(chǎn)生相同的情況。跳轉(zhuǎn)偽B場(chǎng)圖像的多個(gè)宏塊可以產(chǎn)生包含非常少編碼信息的偽B場(chǎng)圖像,這可以協(xié)助減少被插入有這些圖像的視頻信號(hào)的被升高的位速率。
可以根據(jù)任何一個(gè)適當(dāng)?shù)膮⒖紙D像預(yù)測(cè)偽B場(chǎng)圖像。參考圖像可以例如是逐行圖像、非逐行圖像或甚至是場(chǎng)圖像。此外,參考圖像可以是例如幀內(nèi)圖像或預(yù)測(cè)圖像。如果參考圖像是一個(gè)非逐行圖像,則該參考圖像可以包括至少首場(chǎng)和尾場(chǎng)。首場(chǎng)可以是在構(gòu)成一個(gè)參考場(chǎng)的任一其它場(chǎng)之前被顯示的參考場(chǎng)的一個(gè)場(chǎng)。相反,尾場(chǎng)可以是包括參考圖像的場(chǎng)中最后顯示的參考圖像的一個(gè)場(chǎng)。
在很多情況下,參考圖像可以包括一個(gè)頂場(chǎng)和一個(gè)底場(chǎng),首場(chǎng)可以是頂場(chǎng),和尾場(chǎng)可以是底場(chǎng)。圖4A示出了這種配置的例子,該圖示出了依照顯示順序的一個(gè)圖像組400的一部分。圖像I2可以是一個(gè)能夠預(yù)測(cè)偽B場(chǎng)圖像的參考圖像(與可以采用GOP 400中的任何其它適當(dāng)?shù)膮⒖紙D像)。圖像I2可以包括頂場(chǎng)I2t和底場(chǎng)I2b,其中,字母“t”用于將一個(gè)場(chǎng)標(biāo)識(shí)為頂場(chǎng),和字母“b”用于將一個(gè)場(chǎng)標(biāo)識(shí)為底場(chǎng)。
在這個(gè)例子中,由于場(chǎng)I2t將是正常重放中被顯示圖像I2的首場(chǎng),所以,它可以是首場(chǎng)。類似的,由于場(chǎng)I2b是將被顯示圖像I2的尾場(chǎng),所以,它可以是尾場(chǎng)。當(dāng)然,本發(fā)明并不局限于這個(gè)例子,因?yàn)橐粋€(gè)參考圖像的任何一個(gè)其它適當(dāng)?shù)膱?chǎng)都可以是首場(chǎng)或尾場(chǎng)。例如,在某些情況下,圖像I2b可以是將被顯示圖像I2的首場(chǎng)和可以是一個(gè)首場(chǎng),圖像I2t可以是將被顯示的尾場(chǎng)和可以是一個(gè)尾場(chǎng)。
回過來看圖3,如果偽B場(chǎng)圖像是一個(gè)反向預(yù)測(cè)的場(chǎng)圖像和一個(gè)參考圖像的首場(chǎng)是一個(gè)頂場(chǎng),那么,可以將motion_vertical_field_select
[1]標(biāo)記334的值設(shè)置為“0”,以指出將根據(jù)參考圖像的頂場(chǎng)來預(yù)測(cè)偽B場(chǎng)圖像。另外,如果偽B場(chǎng)圖像是一個(gè)正向預(yù)測(cè)的偽B場(chǎng)圖像和參考圖像的尾場(chǎng)是一個(gè)底場(chǎng),那么,可以將motion_vertical_field_select
標(biāo)記的值設(shè)置為“1”,以指令一個(gè)解碼器根據(jù)參考圖像的底場(chǎng)來預(yù)測(cè)偽B場(chǎng)圖像。
圖4B示出了這些特定預(yù)測(cè)方案的例子。和圖4A所示類似,圖像I2可以是具有頂場(chǎng)I2t和底場(chǎng)I2b的一個(gè)參考圖像。根據(jù)本發(fā)明的配置,可以根據(jù)圖像I2的首場(chǎng)、在這種情況下是場(chǎng)I2t來預(yù)測(cè)反向預(yù)測(cè)的偽B場(chǎng)圖像Bdfb。字母“d”表示B圖像是一個(gè)偽B圖像,字母“f”表示圖像是一個(gè)場(chǎng)圖像,字母“b”將偽B場(chǎng)圖像指定為反向預(yù)測(cè)的偽B場(chǎng)圖像。
在另一種配置中,可以根據(jù)圖像I2的尾場(chǎng)、在這個(gè)例子中恰好是場(chǎng)I2b來預(yù)測(cè)正向預(yù)測(cè)的偽B場(chǎng)圖像Bdff。與上述類似,字母“d”和緊跟在字母“d”之后的字母“f”分別表示該圖像是一個(gè)偽B場(chǎng)圖像。第二個(gè)字母“f”表示偽B場(chǎng)圖像是一個(gè)正向預(yù)測(cè)的場(chǎng)圖像。應(yīng)當(dāng)理解,本發(fā)明并不局限于這些例子,作為一個(gè)偽B場(chǎng)圖像,不必考慮它是一個(gè)正向預(yù)測(cè)的還是一個(gè)反向預(yù)測(cè)的場(chǎng)圖像,可以根據(jù)參考圖像中任一其它適當(dāng)?shù)膱?chǎng)對(duì)其進(jìn)行預(yù)測(cè)。此外,參考圖像也不限于是I圖像,也可以是P圖像。
然而,根據(jù)上述例子對(duì)偽B場(chǎng)圖像進(jìn)行預(yù)測(cè)可以協(xié)助對(duì)振動(dòng)贗像的控制。由于能夠以限制運(yùn)動(dòng)目標(biāo)振動(dòng)量的方式顯示偽B場(chǎng)圖像和參考圖像的場(chǎng),所以對(duì)振動(dòng)贗像的控制是可能的。例如,如果偽B場(chǎng)圖像是一個(gè)反向預(yù)測(cè)的場(chǎng)圖像,那么,將對(duì)偽B場(chǎng)圖像和任何后續(xù)反向預(yù)測(cè)的偽B場(chǎng)圖像的預(yù)測(cè)限制為根據(jù)參考圖像的首場(chǎng)進(jìn)行預(yù)測(cè)將保證只發(fā)生運(yùn)動(dòng)目標(biāo)位置的單一移動(dòng)。不管有多少反向預(yù)測(cè)的偽B場(chǎng)圖像被插入到視頻信號(hào)中,這個(gè)原理都是適用的。
即,一個(gè)運(yùn)動(dòng)目標(biāo)將出現(xiàn)在每個(gè)反向預(yù)測(cè)的偽B場(chǎng)圖像和參考圖像的首場(chǎng)的單一位置處,并且當(dāng)顯示參考圖像的第二場(chǎng)時(shí)僅僅移動(dòng)到一個(gè)不同的位置處一次。這個(gè)討論也適用于根據(jù)參考圖像的第二場(chǎng)預(yù)測(cè)的正向預(yù)測(cè)的偽B場(chǎng)圖像中。如果正向預(yù)測(cè)的圖像是根據(jù)參考圖像的第二場(chǎng)預(yù)測(cè)的和反向預(yù)測(cè)的圖像是根據(jù)首場(chǎng)預(yù)測(cè)的,那么,也可以利用正向和反向預(yù)測(cè)的偽B場(chǎng)圖像的任一組合執(zhí)行運(yùn)動(dòng)目標(biāo)移動(dòng)的最小化。
繼續(xù)圖2的步驟228,第一指示符的另一部分包括幾個(gè)motion_code標(biāo)記,和可以設(shè)置這些motion_code標(biāo)記。例如,根據(jù)本發(fā)明的配置,偽B場(chǎng)圖像可以包括至少一個(gè)具有水平和垂直分量的運(yùn)動(dòng)矢量。如圖3所示,運(yùn)動(dòng)矢量可以包括motion_code
[1]
或
[1][1]標(biāo)記338和motion_code
或
[1]標(biāo)記340。motio_code
[1]
或
[1][1]標(biāo)記338是一個(gè)與反向預(yù)測(cè)的偽B場(chǎng)圖像相關(guān)的標(biāo)記,而motion_code
或
[1]標(biāo)記340是針對(duì)正向預(yù)測(cè)的偽B場(chǎng)圖像。在一種配置中,運(yùn)動(dòng)矢量的值可以被設(shè)置為“1”,借此表明該運(yùn)動(dòng)矢量的水平和垂直運(yùn)動(dòng)分量將具有0值。
將水平和垂直運(yùn)動(dòng)分量的值設(shè)置為“0”而不對(duì)剩余信號(hào)編碼允許偽B場(chǎng)圖像包括非常少的位,特別是當(dāng)與傳統(tǒng)的包括I、P或B場(chǎng)圖像的I、P或B圖像比較時(shí)更是如此。因此,這些圖像可以經(jīng)過一個(gè)傳輸線被發(fā)送給遠(yuǎn)程解碼器以減少特技模式視頻信號(hào)的平均位速率。但是,應(yīng)當(dāng)說明,根據(jù)一個(gè)參考圖像預(yù)測(cè)的偽B場(chǎng)圖像并不被限制到發(fā)生遠(yuǎn)程解碼的系統(tǒng)上,因?yàn)槿魏纹渌m當(dāng)?shù)呐渲枚伎梢允褂眠@些場(chǎng)圖像?;剡^來參看圖2,雖然方法200中沒有示出,但關(guān)于設(shè)置與偽B場(chǎng)圖像的宏塊相關(guān)聯(lián)的標(biāo)記或參數(shù)的每個(gè)步驟、即步驟224、226和228可以重復(fù)偽B場(chǎng)圖像的每個(gè)非跳轉(zhuǎn)宏塊。最后,方法200結(jié)束于步驟230。
雖然這里已經(jīng)結(jié)合實(shí)施例描述了本發(fā)明,但應(yīng)當(dāng)理解,前面的描述僅僅用于說明而不是對(duì)由權(quán)利要求書規(guī)定的本發(fā)明的范圍進(jìn)行限制。
權(quán)利要求
1.一種生成偽雙向預(yù)測(cè)場(chǎng)圖像的方法,包括如下步驟設(shè)置偽雙向預(yù)測(cè)場(chǎng)圖像的第一指示符的至少一部分來表明將不發(fā)生對(duì)剩余信號(hào)的編碼;和設(shè)置偽雙向預(yù)測(cè)場(chǎng)圖像的第二指示符的至少一部分來表明將從一個(gè)參考圖像的首場(chǎng)和尾場(chǎng)當(dāng)中的至少一個(gè)場(chǎng)預(yù)測(cè)偽雙向預(yù)測(cè)的場(chǎng)圖像,從而控制振動(dòng)贗像。
2.根據(jù)權(quán)利要求1所述的方法,其中,所述設(shè)置第一指示符的步驟還包括設(shè)置偽雙向預(yù)測(cè)場(chǎng)圖像的第一指示符的至少一部分來表明將不發(fā)生剩余信號(hào)的離散余弦變換DCT編碼。
3.根據(jù)權(quán)利要求1所述的方法,其中,偽雙向預(yù)測(cè)場(chǎng)圖像包括多個(gè)宏塊和其中第一指示符的至少一部分包含在一個(gè)宏塊標(biāo)題中。
4.根據(jù)權(quán)利要求3所述的方法,其中,每個(gè)宏塊包括至少一個(gè)具有水平和垂直運(yùn)動(dòng)分量的運(yùn)動(dòng)矢量和所述設(shè)置第一指示符的步驟包括設(shè)置第一指示符的至少一部分來表明水平和垂直運(yùn)動(dòng)矢量將是0的步驟。
5.根據(jù)權(quán)利要求4所述的方法,其中,偽雙向預(yù)測(cè)場(chǎng)圖像是一個(gè)反向預(yù)測(cè)場(chǎng)圖像和第一指示符的至少一部分包括motion_code
[1]
標(biāo)記和motion_code
[1][1]標(biāo)記,其中,設(shè)置第一指示符至少一部分的所述步驟包括將motion_code
[1]
標(biāo)記和motion_code
[1][1]標(biāo)記的值設(shè)置為1的步驟。
6.根據(jù)權(quán)利要求4所述的方法,其中,偽雙向預(yù)測(cè)場(chǎng)圖像是一個(gè)正向預(yù)測(cè)場(chǎng)圖像和第一指示符的至少一部分包括motion_code
標(biāo)記和motion_code
[1]標(biāo)記,其中,設(shè)置宏塊標(biāo)題的至少一部分的所述步驟包括將motion_code
標(biāo)記和motion_code
[1]標(biāo)記的值設(shè)置為1的步驟。
7.根據(jù)權(quán)利要求1所述的方法,其中,參考圖像是幀內(nèi)圖像和預(yù)測(cè)圖像中的至少一個(gè)。
8.根據(jù)權(quán)利要求1所述的方法,其中,參考圖像是非逐行圖像、逐行圖像和場(chǎng)圖像中的至少一個(gè)。
9.根據(jù)權(quán)利要求1所述的方法,其中,偽雙向預(yù)測(cè)場(chǎng)圖像是一個(gè)反向預(yù)測(cè)場(chǎng)圖像和用來預(yù)測(cè)偽雙向預(yù)測(cè)場(chǎng)圖像的至少一個(gè)場(chǎng)是參考圖像的首場(chǎng)。
10.根據(jù)權(quán)利要求9所述的方法,其中,首場(chǎng)是一個(gè)頂場(chǎng)和第二指示符的至少一部分位于一個(gè)宏塊標(biāo)題內(nèi),其中,第二指示符的至少一部分包括motion_vertical_field_select
[1]標(biāo)記,和其中,設(shè)置第二指示符的至少一部分的所述步驟包括將motion_vertical_field_select
[1]標(biāo)記的值設(shè)置為0的步驟。
11.根據(jù)權(quán)利要求9所述的方法,其中,首場(chǎng)是一個(gè)底場(chǎng)和第二指示符的至少一部分位于一個(gè)宏塊標(biāo)題內(nèi),其中,第二指示符的至少一部分包括motion_vertical_field_select
[1]標(biāo)記,和其中,設(shè)置第二指示符的至少一部分的所述步驟包括將motion_vertical_field_select
[1]標(biāo)記的值設(shè)置為1的步驟。
12.根據(jù)權(quán)利要求1所述的方法,其中,偽雙向預(yù)測(cè)場(chǎng)圖像是一個(gè)正向預(yù)測(cè)場(chǎng)圖像和用來預(yù)測(cè)偽雙向預(yù)測(cè)場(chǎng)圖像的至少一個(gè)場(chǎng)是參考圖像的尾場(chǎng)。
13.根據(jù)權(quán)利要求12所述的方法,其中,尾場(chǎng)是一個(gè)頂場(chǎng)和第二指示符的至少一部分位于一個(gè)宏塊標(biāo)題內(nèi),其中,第二指示符的至少一部分包括motion_vertical_field_select
標(biāo)記,和其中,設(shè)置第二指示符的至少一部分的所述步驟包括將motion_vertical_field_select
標(biāo)記的值設(shè)置為0的步驟。
14.根據(jù)權(quán)利要求12所述的方法,其中,尾場(chǎng)是一個(gè)底場(chǎng)和第二指示符的至少一部分位于一個(gè)宏塊標(biāo)題內(nèi),其中,第二指示符的至少一部分包括motion_vertical_field_select
標(biāo)記,和其中,設(shè)置第二指示符的至少一部分的所述步驟包括將motion_vertical_field_select
標(biāo)記的值設(shè)置為1的步驟。
15.根據(jù)權(quán)利要求3所述的方法,還包括當(dāng)偽雙向預(yù)測(cè)場(chǎng)圖像和參考圖像的至少一個(gè)場(chǎng)具有相同的奇偶性時(shí)跳過至少一部分宏塊的步驟。
16.一種用于生成偽雙向預(yù)測(cè)場(chǎng)圖像的系統(tǒng),包括控制器,用于從存儲(chǔ)媒體中讀出數(shù)據(jù);和處理器,其中,該處理器被編程,以用于設(shè)置偽雙向預(yù)測(cè)場(chǎng)圖像的第一指示符的至少一部分來表明將不會(huì)發(fā)生對(duì)剩余信號(hào)的編碼;和設(shè)置偽雙向預(yù)測(cè)場(chǎng)圖像的第二指示符的至少一部分來表明將從一個(gè)參考圖像的首場(chǎng)和尾場(chǎng)當(dāng)中的至少一個(gè)場(chǎng)預(yù)測(cè)偽雙向預(yù)測(cè)場(chǎng)圖像,以控制振動(dòng)贗像。
17.根據(jù)權(quán)利要求16所述的系統(tǒng),其中,處理器進(jìn)一步被編程,以設(shè)置偽雙向預(yù)測(cè)圖像的第一指示符的至少一部分,用以表明將不會(huì)發(fā)生對(duì)剩余信號(hào)進(jìn)行離散余弦變換DCT編碼。
18.根據(jù)權(quán)利要求16所述的系統(tǒng),其中,偽雙向預(yù)測(cè)場(chǎng)圖像包括多個(gè)宏塊和其中第一指示符的至少一部分包含在一個(gè)宏塊標(biāo)題內(nèi)。
19.根據(jù)權(quán)利要求18所述的系統(tǒng),其中,每個(gè)宏塊包含至少一個(gè)具有水平和垂直運(yùn)動(dòng)分量的運(yùn)動(dòng)矢量和處理器還被編程以設(shè)置第一指示符的至少一部分,用以表明水平和垂直運(yùn)動(dòng)分量將是0。
20.根據(jù)權(quán)利要求19所述的系統(tǒng),其中,偽雙向預(yù)測(cè)場(chǎng)圖像是一個(gè)反向預(yù)測(cè)場(chǎng)圖像和第一指示符的至少一部分包括motion_code
[1]
標(biāo)記和motion_code
[1][1]標(biāo)記,其中,處理器還被編程以將motion_code
[1]
標(biāo)記和motion_code
[1][1]標(biāo)記的值設(shè)置為l。
21.根據(jù)權(quán)利要求19所述的系統(tǒng),其中,偽雙向預(yù)測(cè)場(chǎng)圖像是一個(gè)正向預(yù)測(cè)場(chǎng)圖像和第一指示符的至少一部分包括motion_code
標(biāo)記和motion_code
[1]標(biāo)記,其中,處理器還被編程以將motion_code
標(biāo)記和motion_code
[1]標(biāo)記的值設(shè)置為1。
22.根據(jù)權(quán)利要求16所述的系統(tǒng),其中,參考圖像是幀內(nèi)圖像和預(yù)測(cè)圖像中的至少一個(gè)。
23.根據(jù)權(quán)利要求16所述的系統(tǒng),其中,參考圖像是非逐行圖像、逐行圖像和場(chǎng)圖像中的至少一個(gè)。
24.根據(jù)權(quán)利要求16所述的系統(tǒng),其中,偽雙向預(yù)測(cè)場(chǎng)圖像是一個(gè)反向預(yù)測(cè)場(chǎng)圖像和用來預(yù)測(cè)偽雙向預(yù)測(cè)場(chǎng)圖像的至少一個(gè)場(chǎng)是參考圖像的首場(chǎng)。
25.根據(jù)權(quán)利要求24所述的系統(tǒng),其中,首場(chǎng)是一個(gè)頂場(chǎng)和第二指示符的至少一部分位于一個(gè)宏塊標(biāo)題內(nèi),其中,第二指示符的至少一部分包括motion_vertical_field_select
[1]標(biāo)記,和其中,處理器被進(jìn)一步編程以將motion_vertical_field_select
[1]標(biāo)記的值設(shè)置為0。
26.根據(jù)權(quán)利要求24所述的系統(tǒng),其中,首場(chǎng)是一個(gè)底場(chǎng)和第二指示符的至少一部分位于一個(gè)宏塊標(biāo)題內(nèi),其中,第二指示符的至少一部分包括motion_vertical_field_select
[1]標(biāo)記,和其中,處理器被進(jìn)一步編程以將motion_vertical_field_select
[1]標(biāo)記的值設(shè)置為1。
27.根據(jù)權(quán)利要求16所述的系統(tǒng),其中,偽雙向預(yù)測(cè)場(chǎng)圖像是一個(gè)正向預(yù)測(cè)場(chǎng)圖像和用來預(yù)測(cè)偽雙向預(yù)測(cè)場(chǎng)圖像的至少一個(gè)場(chǎng)是參考圖像的尾場(chǎng)。
28.根據(jù)權(quán)利要求27所述的系統(tǒng),其中,尾場(chǎng)是一個(gè)頂場(chǎng)和第二指示符的至少一部分位于一個(gè)宏塊標(biāo)題內(nèi),其中,第二指示符的至少一部分包括motion_vertical_field_select
標(biāo)記,和其中,處理器進(jìn)一步被編程以將motion_vertical_field_select
標(biāo)記的值設(shè)置為0。
29.根據(jù)權(quán)利要求27所述的系統(tǒng),其中,尾場(chǎng)是一個(gè)底場(chǎng)和第二指示符的至少一部分位于一個(gè)宏塊標(biāo)題內(nèi),其中,第二指示符的至少一部分包括motion_vertical_field_select
標(biāo)記,和其中,處理器被進(jìn)一步編程以將motion_vertical_field_select
標(biāo)記的值設(shè)置為1。
30.根據(jù)權(quán)利要求18所述的系統(tǒng),其中,處理器進(jìn)一步被編程,以便當(dāng)偽雙向預(yù)測(cè)場(chǎng)圖像和參考圖像的至少一個(gè)場(chǎng)圖像具有相同的奇偶性時(shí)跳過至少一部分宏塊。
全文摘要
本發(fā)明涉及一種用于生成偽雙向預(yù)測(cè)(偽B)場(chǎng)圖像的方法(200)和系統(tǒng)(100)。該方法包括步驟設(shè)置(224、228)偽B場(chǎng)圖像第一指示符的至少一部分來表明將不會(huì)發(fā)生對(duì)剩余信號(hào)的編碼和設(shè)置(228)偽B場(chǎng)圖像的第二指示符的至少一部分來表明將從參考圖像的首場(chǎng)和尾場(chǎng)中的至少一個(gè)場(chǎng)預(yù)測(cè)偽B場(chǎng)圖像,從而控制振動(dòng)贗像。偽B場(chǎng)圖像可以是正向或反向預(yù)測(cè)的場(chǎng)圖像,和用于預(yù)測(cè)該偽B場(chǎng)圖像的至少一個(gè)場(chǎng)可以是參考圖像的首或尾場(chǎng)。
文檔編號(hào)H04N9/804GK1575552SQ02821142
公開日2005年2月2日 申請(qǐng)日期2002年10月22日 優(yōu)先權(quán)日2001年10月23日
發(fā)明者林書, 唐納德·H·威利斯 申請(qǐng)人:湯姆森特許公司