專利名稱:對具有多個圖像的圖像序列進行編碼的方法及設備的制作方法
技術領域:
本發明涉及數字視頻內容的編碼和解碼。更具體來說,本發明涉及在如 MPEG-4PartlOAVC/H. 264視頻編碼標準中所使用的在圖像級上對數字視頻內容按幀模式和
場模式的編碼和解碼。
背景 視頻壓縮在許多當前和正在出現的產品中被使用。它是數字電視機頂盒(STB)、數
字衛星系統(DSS)、高清晰度電視(HDTV)解碼器、數字多用盤(DVD)播放器、視頻會議、因特
網視頻和多媒體內容、以及其它數字視頻應用的核心。如果沒有視頻壓縮,數字視頻內容就
可能極其龐大,使得難以、甚至不可能有效地存儲、傳送或觀看數字視頻內容。 數字視頻內容包含圖像流,所述圖像能被在電視接收器、計算機監視器或能顯示
數字視頻內容的其它某種電子裝置上顯示為一個影像。 一個在時間上在某特定圖像之前被
顯示的圖像,相對于該特定圖像來說,是在"向前的方向"上。同樣,一個在時間上在某特定
圖像之后被顯示的圖像,相對于該特定圖像來說,是在"向后的方向"上。 視頻壓縮是在一個視頻編碼過程中完成的,在該過程中每個圖像或者按幀或者按
兩個場被編碼。每個幀包含多行的空間信息。例如,一個典型的幀含有480個水平行。每
個場含有幀中行數的一半的行。例如,如果幀含有480個水平行,則每個場含有240個水平
行。在一個典型的配置中,一個場含有幀中的奇數編號的行,另一個場含有幀中的偶數編號
的行。在下文中以及在后附的權利要求書中,除非特別地另外指明,否則將把含有奇數編號
的行的場稱作"頂"(t op)場。同樣,在下文中以及在后附的權利要求書中,除非特別地另
外指明,否則將把含有偶數編號的行的場稱作"底"(bottom)場。這兩個場可被交織在一
起,形成一個交織幀。 支持視頻編碼的大體思想,是從數字視頻內容中除去"非必要的"的內容。被減少 的數據量于是要求更少的用于廣播或傳輸的帶寬。在壓縮的視頻數據被傳送后,必須對其 進行解碼,或解壓。在這個過程中,對所傳送的視頻數據進行處理,以生成被代入該視頻數 據的近似數據,用于代替在編碼過程中被去除的"非必要的"數據。 視頻編碼將數字視頻內容轉變成一種壓縮的形式,與不壓縮的數字視頻內容相 比,其能用較少空間存儲并用較少的帶寬傳送。這樣做是利用了視頻內容的圖像中的時間 上和空間上的冗余。可以將數字視頻內容存儲在諸如硬驅、DVD的存儲介質中,或者某個其 它的非易失性存儲單元中。 有許多壓縮數字視頻內容的視頻編碼方法。因此,開發出了視頻編碼標準來標準 化各種視頻編碼方法,以便壓縮的數字視頻內容以大多數視頻編碼器和解碼器能識別的格 式被提供。例如,運動圖像專家組(MPEG)和國際電信聯盟(ITU-T)已經開發了正在廣泛應 用的視頻編碼標準。這些標準的例子包括MPEG-1、 MPEG-2、 MPEG-4、 ITU-T H261和ITU-TH263標準。 多數現代視頻編碼標準一諸如由MPEG和ITU-T開發的視頻編碼標準一部分根據 的是一種具有運動補償(MC)算法的時間預測。具有運動補償的時間預測被用來在數字視 頻廣播中去除連續的圖像之間的時間冗余。 具有運動補償算法的時間預測一般利用一個或兩個基準圖像來編碼一個特定的 圖像。基準圖像是一個已經被編碼的圖像。通過把要被編碼的特定圖像與基準圖像中的一 個相比較,具有運動補償算法的時間預測能利用在該基準圖像與要被編碼的特定圖像之間 存在的時間冗余,并以高于不使用具有運動補償算法的時間預測編碼該圖像時的壓縮量來 編碼該圖像。基準圖像的其中之一可以位于相對要被編碼的特定圖像來說的向后方向上。 另一個基準圖像位于相對要被編碼的特定圖像來說的向前方向上。 然而,隨著對更高分辨率、更復雜圖像內容、更快傳送速度的需求的增加,對更好 的視頻編碼方法的需要也增加。為此,目前正在開發一種新的視頻編碼標準。這個新的視 頻編碼標準叫作MPEG-4Part 10AVC/H. 264標準。 該新的MPEG-4Part 10AVC/H. 264標準要求許多新的視頻壓縮方法。例如,新的 MPEG-4Part 10AVC/H. 264標準的特點之一時,它允許有多個基準圖像,而不是僅僅兩個基 準圖像。多個基準圖像的使用,允許編碼器找到與要被編碼的圖像最接近地匹配的基準圖 像,從而改善具有運動補償算法的時間預測的性能。通過在編碼過程中使用與要被編碼的 圖像最接近地匹配的基準圖像,在該圖像的編碼中就有可能獲得最大的壓縮量。基準圖像 被存儲在幀緩存器和/或場緩存器中。 如前文所述,編碼器能按一個幀或按兩個場來編碼一個圖像。如果在一個要被編 碼的圖像序列中,有些圖像被按幀編碼,有些圖像被按場編碼,則可能實現更大程度的壓 縮。
發明概要 在許多可能實施例的一個中,本發明提供一種數字視頻內容的編碼、解碼和位流 生成的方法。數字視頻內容包含一個圖像流,所述圖像分別可能是幀內的(intra)、預測的 (predicted)、或雙預測的(bi-predicted)圖像。每個圖像包含能被進一步劃分成更小的 塊的宏塊。該方法要求或者以幀模式或者以場模式編碼和解碼所述圖像流中的每個圖像。
附圖簡述 各附圖例示本發明的各種實施例,并且是說明書的一部分。連同以下說明各附圖, 展現和解釋本發明的原理。所例示的實施例都是本發明的例子,不限制本發明的范圍。
圖1表示由例如MPEG-4Part 10AVC/H. 264標準之類的示例性視頻編碼標準所定 義的、能被用來實現本發明的一個示例性的三種類型圖像的序列。 圖2表示的是按照本發明的實施例、優選地將每個圖像劃分成含有宏塊的片 (slices)。 圖3a表示的是按照本發明的實施例、可以將一個宏塊進一步劃分成16X8像素的 塊尺寸。 圖3b表示的是按照本發明的實施例、可以將一個宏塊進一步劃分成8X16像素的 塊尺寸。
圖3c表示的是按照本發明的實施例、可以將一個宏塊進一步劃分成8X8像素的塊 尺寸。 圖3d表示的是按照本發明的實施例、可以將一個宏塊進一步劃分成8X4像素的塊 尺寸。 圖3e表示的是按照本發明的實施例、可以將一個宏塊進一步劃分成4X8像素的塊 尺寸。 圖3f表示的是按照本發明的實施例、可以將一個宏塊進一步劃分成4X4像素的塊 尺寸。 圖4表示的是一個解釋本發明的實施例的使用具有運動補償的時間預測的圖像 構造例子。 圖5表示的是解釋按照本發明的實施例、在具有運動補償的時間預測中使用多個 基準圖像的優點的一個示例性圖像流。 圖6表示的是按照本發明的實施例、根據幀緩存器中的每個基準幀與正在以幀模
式被編碼的當前幀的距離向幀緩存器中的每個基準幀分配一個唯一的基準幀號。 圖7a表示按照本發明的實施例的一個示例性基準場編號配置,其中,給予場奇偶
性與當前場的相同的基準場比它們對應的第二場更小的編號。 圖7b表示一個示例性的基準場編號配置,其中,當前場是要被按兩個場編碼的圖 像的第二場。 圖8表示在按照本發明的實施例的場緩存器中的一個替代的基準場編號配置。
圖9表示一個直接模式矢量計算的方法,其中,當前宏塊和與其共同定位的 (co-located)宏塊二者都處于幀模式。 圖10表示一個直接模式矢量計算的方法,其中,當前宏塊和與其共同定位的宏塊 二者都處于場模式。 圖11表示另一個直接模式矢量計算的方法,其中,當前宏塊和與其共同定位的宏 塊二者都處于場模式。 圖12表示一個直接模式矢量計算的方法,其中,當前宏塊處于場模式,與其共同 定位的宏塊處于幀模式。 圖13表示一個直接模式矢量計算的方法,其中,當前宏塊處于幀模式,與其共同 定位的宏塊處于場模式。 圖14表示按照本發明實施例的在時間上的向前方向上具有兩個基準圖像的B圖像。 圖15表示按照本發明實施例的在時間上的向后方向上具有兩個基準圖像的B圖 像。 圖16表示在時間上的向前方向上具有一個前向基準圖像和在時間上的向后方向 具有一個后向基準圖像的B圖像。 在各附圖中,相同的標注號代表相似的一但未必是相同的一部件。
發明的實施例詳述 本發明提供一種在圖像級對包含一個圖像流的數字視頻內容的自適應幀/場 (AFF)編碼的方法。在圖像級上的AFF編碼過程中,要被編碼的圖像流中的每個圖像或者被按幀模式或者被按場模式編碼,而不管其它圖像的幀或場編碼模式。如果一個圖像是按幀 模式被編碼的,則構成一個交織幀的兩個場被共同地編碼。相反,如果一個圖像是按場模式 被編碼的,則構成一個交織幀的兩個場被分開編碼。編碼器確定對每個圖像來說幀模式編 碼和場模式編碼中的哪一種編碼更有益,并為該圖像選擇該種編碼模式。在幀模式與場模 式之間進行選擇的具體方法對本發明來說并不重要,因此將不再這里詳述。
如上所述,MPEG-4Part 10AVC/H. 264標準是一種編碼和壓縮數字視頻內容的新 標準。建立MPEG-4Part 10AVC/H. 264標準的文件在這里作為參考引用,包括聯合視頻組 (JVT) (Joint Video Team) 2002年8月10日發布的"Joint Final Committee Draft (JFCD) of JointVideo Specification"(ITU-T Rec. H. 264&IS0/IEC 14496-1OAVC)。該JVT由ISO 或MPEG和ITU-T的專家組成。由于MPEG-4Part 10AVC/H. 264標準的公開性質,本發明說 明書將不試圖展示MPEG-4PartlOAVC/H. 264視頻編碼的所有現有的方面,而是依賴該標準 的所引用的說明書。 盡管這個AFF編碼方法是與MPEG-4Part 10AVC/H. 264標準指南相容的,并且將要
利用后者作解釋,該方法也可以被修改得最適合于某個標準或應用。
現在將利用各附圖來解釋本發明的各優選實施例。 圖1表示由例如MPEG-4Part 10AVC/H. 264標準之類的示例性視頻編碼標準所定 義的、能被用來實現本發明的一個示例性的三種類型圖像的序列。如前文提到的那樣,編碼 器編碼圖像,解碼器解碼圖像。編碼器或解碼器可以是處理器、專用集成電路(ASIC)、現場 可編程門陣列(FPGA)、編解碼器(CODEC)、數字信號處理器(DSP)、或能編碼圖像流的某種 其它電子裝置。然而,在下文中以及在后附的權利要求書中,除非特別地另外指明,否則將 用術語"編碼器"來泛指編碼包含一個圖像流的數字視頻內容的所有電子裝置。同樣,在下 文中以及在后附的權利要求書中,除非特別地另外指明,否則將用術語"解碼器"來泛指解 碼包含一個圖像流的數字視頻內容的所有電子裝置。 如圖1中所示,優選地有三種類型的圖像能被用于視頻編碼方法中。定義三種類 性的圖像,以在利用具有運動補償的時間預測探索最大冗余減少的同時支持對被存儲的 數字視頻內容的隨機訪問。這三種類型的圖像是幀內(I)圖像(100)、預測的(P)圖像 (102a, b)、雙預測的(B)圖像(101a-d)。 I圖像(100)提供一個用于隨機訪問被存儲的數 字視頻內容的訪問點并且只能以輕微的壓縮被編碼。對幀內圖像(100)編碼時不參考基準 圖像。 編碼一個預測的圖像(102a,b)時,用一個已經被編碼的I、P或B圖像作為基準圖 像。該基準圖像可以在相對于正在被編碼的P圖像的向前或向后的時間方向上。預測的圖 像(102a,b)能被編碼得比幀內圖像(100)有更多的壓縮。 編碼 一 個雙預測的圖像(101a-d)時,使用兩個時間基準圖像(temporal reference pictures):—個前向基準圖像和一個后向基準圖像。前向基準圖像有時被稱作 過去基準圖像,后向基準圖像有時被稱作將來基準圖像。本發明的一個實施例是,前向基準 圖像和后向基準圖像可以位于相對于正在被編碼的B圖像的相同的時間方向上。雙預測的 圖像(101a-d)能被編碼得在這三種圖像類型中具有最大的壓縮。 這三種圖像類型之間的基準關系(103)在圖1中表示。例如,P圖像(102a)能被 用編碼的I圖像(100)作為其基準圖像而編碼。如圖1中所示,B圖像(101a-b)能被用編碼的I圖像(100)和/或編碼的P圖像(102a)作為其基準圖像而編碼。按照本發明的一 個實施例的原理,編碼的B圖像(lOla-d)也能被用作其它要被編碼的B圖像的基準圖像。 例如,圖1顯示,B圖像(101c)有兩個其它的B圖像(101b和101d)作為其基準圖像。
圖1中所示的1(100)、B(101a-d)及P(102a,b)圖像的數量和特定次序是作為一 個示例性的圖像配置而給出的,但是對于實現本發明來說并不是必需的。可以使用按任何 次序的任何數量的I、 B禾P P圖像,以最好地適合于特定的應用。MPEG-4Part 10AVC/H. 264 標準并不限制兩個基準圖像之間的B圖像數,也不限制兩個I圖像之間的圖像數。
圖2表示優選地將每個圖像劃分成片(202)。 一個片(202)含有一組宏塊(201)。 一個宏塊是一個矩形的像素組。如圖2中所示,一個優選的宏塊(201)大小是16X16像素。
圖3a-f表示可以將一個宏塊進一步劃分成大小更小的塊。例如,如圖3a-f中所 示,可以將一個宏塊進一步劃分成如下的塊尺寸16X8像素(圖3a ;300) 、8X16像素(圖 3b ;301) 、8X8像素(圖3c ;302) 、8X4像素(圖3d ;303) 、4X8像素(圖3e ;304)、或4X4像 素(圖3f ;305)。 圖4表示的是一個解釋本發明的實施例的使用具有運動補償的時間預測的圖像 構造例子。具有運動補償的時間預測假設,可以將一個當前圖像一圖像N(400)—局部地建 模為另一個圖像一圖像N-1(401)—的一個平移。圖像N-1(401)是用于對圖像N(400)的編 碼的基準圖像,可位于相對于圖像N(400)的向前或向后的時間方向上。
如圖4中所示,優選地將每個圖像劃分成含有宏塊(201a,b)的片。圖像N-1(401) 含有一個將要在圖像N(400)中被顯示的圖像(403)。如圖4中所示,圖像(403)在圖像 N(400)中將處于一個與它在圖像N-1(401)中所處的不同的時間位置(402)。圖像N(400) 的每個宏塊(201a)的圖像內容,是根據圖像N-1(401)的每個對應宏塊(201b)的圖像內容 預測的,具體是通過估計圖像(403)移動到其在圖像N(400)中的新的時間位置(402)所需 的圖像N-1(401)的每個宏塊(201b)的圖像內容的時間運動的量進行預測。實際被編碼并 傳送的,不是原始的圖像(402),而是圖像(402)與其預測(403)之間的差(404)。
對于圖像N(400)中的每個圖像(402)來說,時間預測常常可以由代表圖像(403) 移動到其在圖像N(400)中的新位置(402)所需的時間運動量的運動矢量表示。被用于具 有運動補償的時間預測的運動矢量(406)需要被編碼和傳送。 圖4表示圖像N(400)中的圖像(402)可由所述圖像和它的預測之間的差(404) 以及相關聯的運動矢量(406)表示。可以有不同的使用運動矢量進行編碼的具體方法以最 適于某一特定應用,所述具體方法可以由本領域熟練技術人員很容易地實現。
圖5表示的是解釋按照本發明的實施例、在具有運動補償的時間預測中使用多個 基準圖像的優點的一個示例性圖像流。多個基準圖像的使用,增加了圖像N(400)以可能最 大的壓縮被編碼的可能性。在這個例子中,圖像N-l (401) 、 N-2(500) 、 N-3(501)已經被編 碼。如圖5中所示,圖像N-3(501)中的一個圖像(540)與圖像N-2(500)和N-1(401)的圖 像(503,502)分別相比,和圖像N(400)中的圖像(402)更相似。多個基準圖像的使用,允 許用圖像N-3(501)而不是圖像N-1(401)作為基準圖像對圖像N(400)編碼。
現在將更詳細地解釋對一個圖像流的圖像級的AFF編碼。 一個交織序列的幀含有 兩個場,即交替的并在時間上間隔一個場周期的上場和下場。該場周期是幀周期時間的一 半。在圖像級AFF編碼過程中,一個交織幀的兩個場能被共同地或者分開地編碼。如果被共同地編碼,采用幀模式編碼。相反地,如果這兩個場被分開地編碼,則采用場模式編碼。
另一方面,固定的幀/場編碼,只以一種模式編碼一個圖像流的所有圖像。該模式可以是幀模式,也可以是場模式。圖像級的AFF編碼優選地是固定的幀/場編碼,因為它允許編碼器根據數字視頻材料的內容來選擇要用幀模式和場模式中的哪一個模式來編碼圖像流中的每個圖像。 幀模式編碼用已經被編碼了的圖像作為基準幀。該基準幀可以是任何編碼了的I 、P或B幀。在作為編碼器一部分的幀緩存器中存儲所述基準幀。本發明的一個實施例是,如圖6中的示例性格局所示的那樣,根據幀緩存器中的每個基準幀與正在以幀模式被編碼的當前圖像之間的距離,向幀緩存器中的每個基準幀分配一個唯一的基準幀號。例如,如圖6中所示,一個要按一個幀(600)編碼的當前圖像有多個在幀緩存器(601)中的基準幀(0-5)。圖6也示出了與該當前幀(600)和基準幀(0-5)對應的場(fl, f2)。用虛線標記的fl是第一場,用虛線標記的f2是第二場。第一場是在一個有兩個場的圖像中被編碼的第一個場。同樣,第二場是在一個有兩個場的圖像中被編碼的第二個場。本發明的一個實施例是,第一場可以是頂場或者是底場。在本發明的另一個實施例中,第二場也可以是頂場或者是底場。各幀由實線表示。如圖6中所示,基準幀0是時間上最靠近當前幀(600)的基準幀。基準幀在時間上離當前幀(600)越遠,其基準幀號越大。 按照本發明一個實施例的原理,一個被按一個幀編碼的B圖像可有多個前向和后
向的基準圖像。其中為每個所述前向和后向基準圖像分配唯一的編號。 在具有運動補償算法的時間預測中,對被按一個幀編碼的圖像中的每一個像素進
行子像素內插(sub-pel interpolation)。也可以通過重復幀邊界上的像素而對按幀編碼
的基準圖像施行填充。在具有運動補償算法的時間預測中,填充有時是適當的。可以對幀
塊應用循環濾波(loop filtering)或去分塊(de-blocking)方案,以解決相鄰塊的邊沿處
像素值不連續的問題。 按照本發明的另一個實施例,在AFF編碼過程中可以跳過一個P圖像中的一個宏塊。如果某宏塊被跳過,它的數據在對圖像的編碼過程中不被傳送。通過復制已經被最近編碼的I或P基準圖像中共同定位的具有運動補償的宏塊來重構P圖像中一個被跳過的宏塊。 場模式編碼用已經被編碼的圖像作為基準場。基準場可以是任何編碼的I、P或B場。基準場被存儲在作為編碼器一部分的場緩存器中。本發明的一個實施例是,根據場緩存器中的每個基準場與正在被作為兩個場編碼的當前圖像的距離向場緩存器中的每個基準場分配一個唯一的基準場號。圖7a和7b表示按照本發明的實施例的示例性基準場編號配置,其中,給予場奇偶性與當前場的相同的基準場比它們對應的第二場更小的號。如果兩個場都是頂場或者都是底場,則這兩個場具有相同的場奇偶性。在圖7a和7b的例子中,如果要被編碼的當前圖像的第一場是個頂場,則各基準圖像的第一場也是頂場。于是第二場則是底場。第一場也可以都是底場,而第二場可以都是頂場。 如圖7a中所示,一個要按場模式被編碼的當前圖像有多個在場緩存器(701)中的基準場(0-10)。用虛線標記的fl是第一場,用虛線標記的f2是第二場。與場對應的幀也在圖7a中顯示,并被用實線表示。如圖7a中所示,如果要被編碼的圖像的第一個場是當前幀(700),則向場緩存器(701)中的第一個圖像的第一場分配編號0,同時向場緩存器(701)中的第一個圖像的第二場分配編號1。基準場在時間上離當前場(700)越遠,其基準場號就越大。場緩存器中的各圖像的第一場比它們對應的第二場有更低的基準號。
圖7b表示一個示例性的基準場編號配置,其中,當前場(702)是要被按兩個場編碼的圖像的第二場。用虛線標記的H是第一場,用虛線標記的f2是第二場。當前圖像的第一場已經被編碼。如圖7b中所示,因為當前場(702)是個第二場,場緩存器(701)中的第一個圖像的第二場被分配編號O。當前圖像的第一已編碼的場被分配編號l。基準場在時間上離當前場(702)越遠,其基準場號就越大。場緩存器中的各圖像的第二場比它們對應的第一場有更低的基準號。 圖8表示在按照本發明的實施例的場緩存器中的一個替代的基準場編號配置。在
這個配置中,并不特殊對待場奇偶性與當前場的相同的場。例如,如圖8中所示,當前場
(800)是個第一場。場緩存器中的最近編碼的圖像的最近編碼的場被賦予基準號O。基準
場在時間上離當前場(800)越遠,其基準場號就越大,不管它們的場奇偶性如何。 按照本發明另一個實施例,如果編碼器為某個特定P圖像選擇場編碼,編碼器可
用被作為一個基準場編碼的第一場來對第二場編碼。如果該圖像是個B圖像,則被編碼的
第一場可被用作用于對第二場編碼的兩個基準場的其中之一。 對于自適應雙預測(ABP)來說,可以在場模式下編碼兩個基準圖像。在這種情況下,在計算被定標的(scaled)運動矢量時所用的時間距離是以場間隔計的。在ABP編碼過程中,兩個基準幀在相同的方向上。 在具有運動補償算法的時間預測中,對一個被按場模式編碼的圖像中的每一個像素進行子像素內插。也可以通過重復場邊界上的像素而對按場編碼的基準圖像施加填充。在具有運動補償算法的時間預測中,填充有時是適當的。可以對場塊應用循環濾波或去分塊方案,以解決相鄰塊的邊沿處像素值不連續的問題。 按照本發明的另一個實施例,在AFF編碼過程中可以跳過一個P圖像中的一個宏塊。如果某個宏塊被跳過,它的數據在對圖像的編碼過程中不被傳送。通過復制相同場奇偶性的最近編碼的I或P基準場中共同定位的具有運動補償的宏塊來重構P圖像中一個被跳過的宏塊。另一個實施例是,通過復制場奇偶性可能是不同的最近編碼的基準場中共同定位的宏塊來重構P圖像中該被跳過的宏塊。 本發明的另一個實施例是對B圖像的直接模式編碼。在直接模式編碼過程中,一個B圖像中的宏塊的前向和后向運動矢量是從在一個后向基準圖像的對應的、或共同定位的宏塊中所使用的運動矢量中被導出的。在兩個圖像中共同定位的宏塊在這兩個圖像中都占據相同的幾何位置。后向基準圖像有時被稱作前向基準圖像,盡管按照本發明一個實施例,后向基準圖像不必在時間上先于正在被編碼的當前圖像。 直接編碼模式比其它編碼方法有利,這是因為,在幀間模式編碼中,一個宏塊可以有多達16個運動矢量和多達4個基準幀。幀間模式編碼利用具有運動補償的時間預測編碼一個宏塊。如果用幀間編碼對一個宏塊進行編碼,MPEG-4Part 10AVC/H. 264標準允許圖3a-f的6個較小的塊尺寸(16X8像素、8X16像素、8X8像素、8X4像素、4X8像素、4X4像素)中的每一個有其自己的運動矢量。16X16像素的塊尺寸也可以有其自己的運動矢量。MPEG-4Part 10AVC/H. 264標準也允許16X16像素、16X8像素、8X16像素、8X8像素的塊尺寸有其自己的基準幀。因此,一個宏塊可以有多達16個運動矢量和多達4個基準幀。由于有這么多潛在運動矢量,從后向基準圖像的共同定位的宏塊的已經被計算的運動矢量導出一個要被編碼的宏塊的運動矢量是有利的。在直接模式編碼過程中,一個要被編碼的宏塊的前向運動矢量和后向運動矢量,被當作后向基準圖像中共同定位的宏塊的前向運動矢量的已定標的版本(scaled versions)計算。 在圖像級的AFF編碼中, 一個B圖像和它的后向基準圖像各自都能按幀模式或按場模式被編碼。因此,就幀編碼模式和場編碼模式而言,對該B圖像中的一對宏塊和在后向基準圖像中它的共同定位的一個宏塊來說,可能有四種不同組合。在第一種情形中,當前宏塊和它的共同定位的宏塊二者都是幀模式。在第二種情形中,當前宏塊和它的共同定位的宏塊二者都是場模式。在第三種情形中,當前宏塊是場模式,它的共同定位的宏塊是幀模式。最后,在第四種情形中,當前宏塊是幀模式,它的共同定位的宏塊是場模式。對要被編碼的宏塊的直接模式運動矢量計算的方法在這四種情形中的每一個中都不同。以下將詳細說明這4種對B圖像中的宏塊的直接模式運動矢量計算的方法。 將結合圖9說明在第一種情形中的直接模式矢量計算的方法。如圖9中所示,一個當前B圖像(900),要用一個已經被按幀模式編碼的后向基準圖像(901)和一個前向基準圖像(902)作為基準圖像,按幀模式被編碼。圖9中的各幀用豎實線表示,它們對應的場fl和f2用縱向虛線表示。按照本發明一個實施例,后向基準圖像(901)可以是一個已經被按幀模式編碼的I、P或B圖像。類似地,前向基準圖像(902)也可以是一個編碼的I、P或B圖像。 如圖9中所示,當前B圖像(900)中有一個塊(903),在后向基準圖像(901)中有與其共同定位的塊(904)。塊(903)和共同定位的塊(904)有相等的像素尺度。這些尺度可以是16X16像素、16X8像素、8X16像素、8X8像素、8X4像素、4X8像素、或4X4像素。按照本發明一個實施例,編碼器為當前B圖像(900)中的塊(903)導出兩個在具有運動補償算法的時間預測中使用的運動矢量。其中一個運動矢量MVp指向前向基準圖像(902)。另一個運動矢量MVe指向后向基準圖像(901)。這兩個運動矢量被按下面的公式計算
MVF = TRB MV/TRD MVB = (TRB_TRD) MV/TRD (公式1和2) 在公式1和2中,TRB是要被按幀模式編碼的當前B圖像(900)與前向基準圖像(902)之間的時間距離、該時間距離的近似值、與該時間距離成比例的距離、或與該時間距離的該近似值成比例的近似值。TR。是已經被按幀模式編碼的前向基準圖像(902)與后向基準圖像(901)之間的時間距離、該時間距離的近似值、與該時間距離成比例的距離、或與該時間距離的該近似值成比例的近似值。下面將解釋計算基準圖像之間的時間距離的優選方法。MV是已經為后向基準圖像(901)中的共同定位的塊(904)計算出來的、指向前向基準圖像(902)的運動矢量。 將結合圖10和11說明在第二種情形中的直接模式矢量計算的方法。如圖10和圖11中所示,一個當前B圖像(900),要用一個已經被按場模式編碼的后向基準圖像(901)和一個前向基準圖像(902)作為基準圖像,按場模式被編碼。圖10和11中的各幀用豎實線表示,它們對應的場fl和f2用縱向虛線表示。按照本發明一個實施例,后向基準圖像(901)可以是一個已經被按場模式編碼的I、 P或B圖像。類似地,前向基準圖像(902)也可以是一個編碼的I 、 P或B圖像。
如圖10中所示,當前B圖像(900)的第一場中有一個塊(905)。它的運動矢量是從后向基準圖像(901)中與其共同定位的塊(906)的前向運動矢量M^導出的。按照圖10中所示的實施例,共同定位的塊(906)位于一個與當前B圖像(900)中的塊(905)所在場的奇偶性相同的場中。塊(905)和共同定位的塊(906)有相等的像素尺度。這些尺度可以是16X16像素、16X8像素、8X16像素、8X8像素、8X4像素、4X8像素、或4X4像素。
按照本發明一個實施例,編碼器為當前B圖像(900)中的塊(905)導出兩個在具有運動補償算法的時間預測中使用的運動矢量。其中一個運動矢量MV^指向所指向的前向基準圖像(902)中的場。另一個運動矢量MV^指向后向基準圖像(901)中共同定位的塊(906)的場。這兩個運動矢量被按下面的公式計算
MVF, i = TRB, i MV乂TRd,丄 MVB, i = (TRB, 「TRD,》 MV乂TRd,丄 (公式3和4) 在公式3和4中,下標i是場標記(index)。第一場具有場標記l,第二場具有場標記2。因此,在圖10的示例性情形中,場標記之所以為l,是因為第一場正在被編碼。MVi是后向基準圖像(901)的場i中共同定位的宏塊的前向運動矢量。TR吣是當前B幀(900)的第i場與MVi所指向的基準場之間的時間距離、該時間距離的近似值、與該時間距離成比例的距離、或與該時間距離的該近似值成比例的近似值。TR。,i是后向基準圖像(901)的第i場與M、所指向的基準場之間的時間距離、該時間距離的近似值、與該時間距離成比例的距離、或與該時間距離的該近似值成比例的近似值。 如圖10中所示,當前B圖像(900)的第二場中有一個塊(907)。它在后向基準圖像(901)的第二場中有一個共同定位的塊(908)。如果該共同定位的塊(908)的前向運動矢量指向除其自己的圖像以外的任何圖像中的一個以前編碼的場,則前向運動矢量和后向運動矢量的計算遵循公式3和4,只是場標記等于2。 然而,如圖11中所示,按照本發明一個實施例,后向基準圖像(901)的第二場中的共同定位的塊(908)的前向運動矢量也可以指向同一個后向基準圖像(901)的第一場。圖ll表示共同定位的塊(908)有一個指向后向基準圖像(901)的第一場的前向運動矢量MV2。在這種情況下,當前塊(907)的兩個運動矢量按下式計算
MVF,2 = _TRB,2 MV2/TRD,2 MVB,2 = - (TRB,2+TRD,2) MV2/TRD,2 (公式5和6) 在公式5禾P 6中,TRB,2是當前B幀(900)的第2場與MV2所指向的基準場之間的時間距離、該時間距離的近似值、與該時間距離成比例的距離、或與該時間距離的該近似值成比例的近似值。TR。,2是后向基準圖像(901)的第2場與MV2所指向的基準場之間的時間距離、該時間距離的近似值、與該時間距離成比例的距離、或與該時間距離的該近似值成比例的近似值。如圖11中所示,在這種情況下,這兩個運動矢量都指向向后的方向。
將結合圖12說明在第三種情形中的直接模式矢量計算的方法。如圖12中所示,一個當前B圖像(900),要用一個已經被按幀模式編碼的后向基準圖像(901)和一個前向基準圖像(902)作為基準圖像,按場模式被編碼。圖12中的各幀用豎實線表示,它們對應的場fl和f2用縱向虛線表示。按照本發明一個實施例,后向基準圖像(901)可以是一個已經被按幀模式編碼的1、P或B圖像。類似地,前向基準圖像(902)也可以是一個編碼的I、P或B圖像。
如圖12中所示,當前B圖像(900)的第一場中有一個塊(905)。按照圖12中所示的實施例,共同定位的塊(904)是按幀模式編碼的。按照本發明一個實施例,編碼器為當前B圖像(900)中的塊(905)導出兩個在具有運動補償算法的時間預測中使用的運動矢量。如圖12中所示,其中一個運動矢量MVw指向前向基準圖像(902)中的具有與當前塊(905)的場奇偶性相同的奇偶性的場。在圖12的例子中,當前塊(905)位于當前B圖像(900)的第一場中。另一個運動矢量MV w指向后向基準圖像(901)中類似奇偶性的場。這兩個運動矢量被按下面的公式計算
MVF, i = TRB, i MV/TRD MVB, i = (TRB, 「TRD) MV/TRD(公式7和8) 在公式7和8中,MV是通過將共同定位的塊(904)的基于幀的前向運動矢量在縱向方向上除以2而得出的。這就彌補了事實上共同定位的塊(904)是幀模式的、而當前塊
(905) 是場模式的這樣的差異。下標i是場標記。第一場具有場標記l,第二場具有場標記2。因此,在圖12的示例性情形中,場標記之所以為1,是因為第一場正在被編碼。TR。是后向基準圖像(901)的第i場與前向基準幀(902)的第i場之間的時間距離、該時間距離的近似值、與該時間距離成比例的距離、或與該時間距離的該近似值成比例的近似值。TRB,i是當前B圖像(900)的第i場與后向基準圖像(901)中共同定位的塊(904)的基準幀的第i場之間的時間距離、該時間距離的近似值、與該時間距離成比例的距離、或與該時間距離的該近似值成比例的近似值。用相同的公式計算當前B圖像(900)中第二場中的塊(907)的運動矢量。 將結合圖13說明在第四種情形中的直接模式矢量計算的方法。如圖13中所示,一個當前B圖像(900),要用一個已經被按場模式編碼的后向基準圖像(901)和一個前向基準圖像(902)作為基準圖像,按幀模式被編碼。圖13中的各幀用豎實線表示,它們對應的場fl和f 2用縱向虛線表示。按照本發明一個實施例,后向基準圖像(901)可以是一個已經被按場模式編碼的1、P或B圖像。類似地,前向基準圖像(902)也可以是一個編碼的I、P或B圖像。 如圖13中所示,要被按幀編碼的當前B圖像(900)有一個塊(903)。它的運動矢量是從它在后向基準圖像(901)中共同定位的塊(906)的前向運動矢量MVJ尋出的。按照本發明一個實施例,編碼器為當前B圖像(900)中的塊(903)導出兩個在具有運動補償算法的時間預測中使用的運動矢量。這兩個運動矢量被按下面的公式計算
MVF = TRB MV乂TRd,工MVB = (TRb-TR。,》 MV/TR^ (公式9和10) 在公式9和10中,M^是通過將后向基準圖像(901)的第一場中共同定位的塊
(906) 的基于場的運動矢量在縱向方向上加倍而得出的。TRb是當前B圉像(900)和基準幀(902)之間的時間距離、該時間距離的近似值、與該時間距離成比例的距離、或與該時間距離的該近似值成比例的近似值,所述共同定位的塊(906)的前向運動矢量指向它的一個場。在圖13中,這個運動矢量是MV^ TR吣是后向基準圖像(901)的第一場與共同定位的塊(906)的前向運動矢量所指向的前向基準圖像(902)中的場之間的時間距離、該時間距離的近似值、與該時間距離成比例的距離、或與該時間距離的該近似值成比例的近似值。
本發明的另一個實施例將直接模式編碼擴展到P圖像。在圖像級的AFF編碼中,一個P圖像和它的前向基準圖像可以被按幀模式或者按場模式編碼。因此,就幀編碼模式和場編碼模式而言,對該P圖像中的一對宏塊和在前向基準圖像中它的共同定位的一個宏塊來說,可能有四種不同組合。第一種情形,當前宏塊和它的共同定位的宏塊二者都是幀模式。第二種情形,當前宏塊和它的共同定位的宏塊二者都是場模式。第三種情形,當前宏塊是場模式,它的共同定位的宏塊是幀模式。最后,第四種情形,當前宏塊是幀模式,它的共同定位的宏塊是場模式。P圖像中的塊只有一個運動矢量,即前向運用矢量。對要被編碼的宏塊的直接模式運動矢量計算的方法在這四種情形中的每一個中都不同。以下將詳細說明這4種對P圖像中的宏塊的直接模式運動矢量計算的方法。 第一種情形,當前P圖像和它的前向基準圖像二者都以幀模式被編碼。當前P圖
像的一個塊的前向基準圖像與前向基準圖像中它的共同定位的塊所使用的是同一個圖像。
當前塊的前向運動矢量MVp與它的共同定位的塊的前向運動矢量是相同的。 第二種情形,當前P圖像和它的前向基準圖像二者都以場模式被編碼。在對當前P
圖像的一個場中的一個塊的直接模式編碼中的運動矢量,是根據前向基準圖像中具有相同
奇偶性的場中的共同定位的塊的前向運動矢量計算出來的。當前P圖像的第i場的塊的前
向運動矢量MV F,i,與前向基準圖像中第i場中的它的共同定位的塊的前向運動矢量是相同的。 第三種情形,當前P圖像是場模式,后向基準圖像是幀模式。由于當前P圖像中的
其中一個場中的一個塊的共同定位的塊是按幀編碼的,通過將共同定位塊的運動矢量在縱
向方向上除以2,就得出當前P圖像中的其中一個場中的一個塊的前向運動矢量。 第四種情形,當前P圖像是幀模式,前向基準圖像是場模式。前向基準圖像的第一
場中的共同定位的塊,被用于計算按幀模式的當前P圖像中塊的前向運動矢量。通過將前
向基準圖像的第一場中的共同定位塊的基于場的運動矢量在縱向方向上加倍,就得出按幀
模式的當前P圖像中的一個塊的前向運動矢量MVp。 本發明的另一個實施例是多幀插值的(multi-frameinterpolative)預測模式(MFIP)。 MFIP是一種通用的幀插值預測架構。如前文解釋過的那樣,一個按幀模式或者按場模式編碼的B圖像有兩個按幀模式或者按場模式編碼的基準圖像。這兩個基準圖像可以都是前向基準圖像,如圖14中所示。圖14表示一個要被編碼的、有兩個基準圖像的B圖像(140)。其中一個基準圖像是前向基準圖像(141),另一個是后向基準圖像(142)。如圖14中所示,他們兩個都處于相同的時間上向前的方向上。這兩個基準圖像也可以雙雙都處于相同的時間上向后的方向上,如圖15中所示。在圖15中,B圖像(140)有兩個都在時間上向后的方向上的一個前向基準圖像(141)和一個后向基準圖像(142)。圖16表示本發明的另一個實施例。如圖16中所示,B圖像(140)具有在時間上向前的方向上的一個前向基準圖像(141)和在時間上向后的方向上的一個后向基準圖像(142)。 在MFIP中, 一個預測信號是運動補償信號的一個線性插值。 一個B圖像的MPIF
中的預測信號(pred)可以按下式計算 <formula>formula see original document page 14</formula>
在公式11中,變量refi和ref2是兩個基準圖像。變量巧和w2是加權因子。變量d的缺省值被設定為0。可以明確地為每個宏塊確定線性插值系數Wl、 w2、 d。如果re^和ref2兩個都是前向基準圖像或者都是后向基準圖像,則基準圖像re^是就時間距離來說更靠近B圖像的基準圖像。對于雙向的基準圖像來說,re^和ref2分別是前向基準圖像和后 向基準圖像。 —個MFIP宏塊的兩個運動矢量被彼此相對地編碼。ref2的運動矢量MV2,是用下 面的公式,通過將一個補償量DMV加到re^的成比例的運動矢量MVi而生成的MF2 =;1 + (公式12) 在公式12中,變量DMV是增量(S)運動矢量并是一個補償值。變量TI^和TR2分 別是當前圖像與最近的基準圖像re^和與最遠的基準圖像re&之間的時間距離、該時間距 離的近似值、與該時間距離成比例的距離、或與該時間距離的該近似值成比例的近似值。
在圖像級AFF中,一個B圖像可以被按一個B幀圖像或者按兩個B場圖像編碼。按 場模式處理MF IP—其中要被編碼的當前B圖像按場結構一的規則,在下文給出
用公式11生成預測信號。然而,refi和re&是由基準場編號ref」dx—fws和ref— idx_bwd標記的場。場re^和ref2既可以是頂場,也可以是底場。缺省的加權因子Wl和w2 分別是(.5, .5,0)和(2,-1,0)。 用公式12生成M、。由于兩個基準圖像都是場結構的,根據基準場和當前場之間 的時間距離確定TRi和TR2。 MFIP模式中基準場編號ref_idx_fwd和ref_idx_bwd的代碼編號(code number) 遵循對場圖像的已知的常規約定。 AFF編碼中的圖像之間的時間距離,可以用變量一時間基準(TR)—計算,或者通 過計算圖像編號并計算它們的差而計算。本發明的一個實施例是,對于圖像級AFF,TR按每 個場遞增l,并由一個常數(例如256)限制(wraped) 。 TR是場間隔(in field interval)。 設n為幀標記或幀號。變量n每幀遞增l。如果某個具有幀標記n的幀是按幀模式編碼的, 則這個幀的TR是2n。如果某個具有幀標記n的幀是按場模式編碼的,則這個幀的第一場的 TR是2n,第二場的TR是2n+l 。 前面所作的說明僅是為了解釋和描述本發明的實施例。上述說明并非是窮舉性 的,也不是要把本發明限制到所公開的任何具體形式。按照以上教導可以有許多修改和變 體。 選擇上述實施例加以說明是為了解釋本發明的原理和一些實際應用。前面的說明 使所述技術領域的其他熟練人員能把本發明應用于各種實施例并考慮到各種適合特定用 途的修改。本發明的范圍應由接下來的權利要求書限定。
權利要求
一種對具有多個圖像的圖像序列進行編碼的方法,包括以幀編碼模式編碼所述多個圖像中的至少一個圖像;以場編碼模式編碼所述多個圖像中的至少一個圖像;其中所述以幀編碼模式編碼和以場編碼模式編碼的步驟各自包括編碼或解碼,并且當所述多個圖像中的至少一個圖像以幀編碼模式編碼時,則所述多個圖像中的至少一個圖像以場編碼模式編碼,并且當所述多個圖像中的至少一個圖像以幀編碼模式解碼時,則所述多個圖像中的至少一個圖像以場編碼模式解碼。
2. 如權利要求l的方法,其中如果所述多個圖像的所述至少一個圖像中的圖像以幀編 碼方式編碼,則構成該圖像的兩個場被共同編碼,并且如果所述多個圖像的所述至少一個圖像中的圖像以場編碼模式編碼,則形成所述圖像 的兩個場被分開編碼,其中所述兩場中的一個場是頂場,另一個場是底場。
3. 如權利要求2的方法,其中在該幀編碼模式中,所述圖像被編碼為幀內(I)圖像、預 測的(P)圖像、或雙預測的(B)圖像之一 ;并且其中所述預測的(P)圖像或所述雙預測的(B)圖像使用幀內(I)圖像、預測的(P)圖 像、和雙預測的(B)圖像中的至少之一被編碼為已經編碼的基準圖像。
4. 如權利要求3的方法,其中所述基準圖像處在相對于所述預測的(P)圖像或所述雙 預測的(B)圖像的向前或向后時間方向上。
5. 如權利要求3的方法,其中所述雙預測的(B)圖像根據至少兩個時間基準圖像被編 碼,其中所述至少兩個時間基準圖像同時處在相對于所述雙預測的(B)圖像的相同或不同 時間方向上。
6. 如權利要求2的方法,其中在所述場編碼模式中,所述圖像的所述兩場的一個當前 場被編碼為幀內(I)場、預測的(P)場、或雙預測的(B)場之一 ;禾口其中所述預測的(P)場和所述雙預測的(B)場中至少之一根據幀內(I)場、預測的(P) 場、和雙向預測的(B)場中至少之一被編碼為已經編碼的基準場。
7. 如權利要求6的方法,其中所述基準場處在相對于所述預測的(P)場或所述雙預測 的(B)場的向前或向后時間方向上。
8. 如權利要求6的方法,其中所述雙預測的(B)場根據至少兩個時間基準場被編碼,其 中所述至少兩個時間基準場同時處在相對于所述雙預測的(B)場的相同或不同時間方向 上。
9. 如權利要求6的方法,其中如果所述多個圖像中的所述至少一個圖像的第一場被編 碼為基準場,則所述多個圖像中的所述至少一個圖像的所述第一場被用作 為對所述多個圖 像中的所述至少一個圖像的第二場進行編碼的基準場。
10. —種用于對具有多個圖像的圖像序列進行編碼的設備,包括 一個編碼單元,被配置成以幀編碼模式編碼所述多個圖像中的至少一個圖像,和以場編碼模式編碼所述多個圖像中的至少一個圖像;其中所述編碼單元被配置成執行編碼或解碼,或者執行編碼和解碼兩者; 其中當所述多個圖像中的至少一個圖像以幀編碼模式被編碼時,則所述多個圖像中的至少一個圖像以場編碼模式被編碼;當所述多個圖像中的至少一個圖像以幀編碼模式被解碼時,則所述多個圖像中的至少 一個圖像以場編碼模式被解碼。
11. 如權利要求10的設備,其中如果所述多個圖像中的至少一個圖像以所述幀編碼模 式被編碼,則構成所述圖像的兩個場被共同編碼;禾口其中如果所述多個圖像中的所述至少一個圖像以場編碼模式被編碼,則構成所述圖像 的兩場被分開編碼,其中所述兩場之一是頂場,并且另一個是底場。
12. 如權利要求ll的設備,其中在所述幀編碼模式中,所述圖像被編碼為幀內(I)圖 像、預測的(P)圖像、或雙預測的(B)圖像之一 ;禾口其中所述預測的(P)圖像和所述雙預測的(B)圖像中的至少一個使用幀內(I)圖像、 預測的(P)圖像和雙預測的(B)圖像中的至少一個被編碼為已經編碼的基準圖像。
13. 如權利要求12的設備,其中所述基準圖像處在相對于所述預測的(P)圖像或所述 雙預測的(B)圖像的向后或向前時間方向上。
14. 如權利要求12的設備,其中所述雙向預測的(B)圖像根據至少兩個時間基準圖像 被編碼,其中所述至少兩個時間基準圖像都同時處在相對于所述雙預測的(B)圖像的相同 或不同方向上。
15. 如權利要求ll的設備,其中在所述場編碼模式中,所述圖像的所述兩場中的當前 場被編碼為幀內(I)場、預測的(P)場、和雙預測的(B)場之一 ;禾口其中所述預測的(P)場和所述雙預測的(B)場中至少之一根據幀內(I)場、預測的(P) 場、和雙向預測的(B)場中至少之一被編碼為已經編碼的基準場。
16. 如權利要求15的設備,其中所述基準場處在相對于所述預測的(P)場或所述雙預 測的(B)場的向前或向后的時間方向上。
17. 如權利要求15的設備,其中所述雙預測的(B)場根據至少兩個時間基準場而被編 碼,其中所述至少兩個時間場同時處在相對于所述雙預測的(B)場的相同或相反方向上。
18. 如權利要求15的 備,其中如果所述多個圖像中的所述至少一個圖像的第一場被 編碼為基準場,則所述多個圖像中的所述至少一個圖像的所述第一場被使用作為對所述多 個圖像的所述至少一個圖像的第二場進行編碼的基準場。
全文摘要
一種編碼或解碼數字視頻內容的方法和系統。數字視頻內容包含一個圖像流,每個圖像可能是幀內的、預測的、或雙預測的圖像。每個圖像包含能被進一步劃分成更小的塊的宏塊。該方法要求以幀模式或場模式編碼和解碼所述圖像流中的每個圖像。
文檔編號H04N7/32GK101715137SQ20091025413
公開日2010年5月26日 申請日期2002年11月21日 優先權日2001年11月21日
發明者A·盧斯拉, K·帕努索龐, L·王, R·甘希, Y·于 申請人:通用儀器公司