專利名稱:圖像編碼/解碼設備和方法
技術領域:
本發(fā)明涉及視頻編碼/解碼設備和方法。更具體地說,本發(fā)明涉及一種能夠在以大于傳統(tǒng)宏塊的塊為單位對高清晰視頻進行編碼和解碼時根據(jù)所使用的擴展宏塊的大小和所劃分的子塊的大小來自適應地對量化參數(shù)進行編碼和解碼的視頻編碼/解碼設備和方法。
背景技術:
本部分的說明僅提供與本發(fā)明有關的背景信息,并不構成現(xiàn)有技術。針對壓縮視頻數(shù)據(jù)建立的技術標準當前包括H. 261、H. 263、H. 264、MPEG-2和MPEG-4。根據(jù)現(xiàn)有的視頻壓縮技術,在將各個圖像分割為由亮度分量的矩形16X16像素區(qū)域和色度分量的矩形8X8像素區(qū)域組成的固定大小宏塊之后,對各個圖像進行編碼。各個 宏塊的所有亮度分量和色度分量是空間或時間預測的,并且結果預測殘留在最終壓縮之前經歷變換、量化和熵編碼。H. 264/AVC壓縮標準的編碼設備將各個宏塊再次劃分為更小大小的16x16,8x8和4x4塊,以進入幀內預測編碼,其中,按照四個預測模式中的一個對16x16像素塊進行處理,按照九個預測模式中的一個對8x8像素塊和4x4像素塊進行處理。對于幀間預測編碼,各個宏塊可以在幀間預測編碼之前首先被劃分為像素大小16x16,16x8, 8x16, 8x8, 8x4, 4x8和4x4的塊。以8x8或4x4像素塊為單位執(zhí)行變換,并且變換系數(shù)的量化采用標量量化。H. 264/AVC以片或宏塊為單位發(fā)送量化參數(shù)(QP)。以利用式I計算出的差量量化參數(shù)來執(zhí)行以片單位為單位發(fā)送QP的操作。Δ QPslice = QPcur-26- Δ QPpps 式 I在式I中,QPcot是用于當前片的量化參數(shù),Λ QPpps是發(fā)送給圖片參數(shù)集合(PPS)的差量量化參數(shù)。AQPpps等于從用戶在編碼時輸入的量化參數(shù)值中減去26,如式2所示。Δ QPpps = QPuser-26 式 2以宏塊為單位發(fā)送的量化參數(shù)對先前編碼宏塊的量化參數(shù)之與當前宏塊的量化參數(shù)值之間的差量值進行編碼,如式3所示。XQPmb=QP^ -QPZ 式 3以宏塊為單位發(fā)送的量化參數(shù)根據(jù)塊類型和編碼塊模式(CBP)自適應地進行編碼。在幀內塊的情況下,針對所有宏塊,對通過式3計算出的量化參數(shù)的差量值進行編碼。在幀間塊的情況下,檢查CPB值以確定是否對量化參數(shù)進行編碼。如果當前宏塊沒有要解碼的量化變換系數(shù)數(shù)據(jù),則不發(fā)送量化參數(shù)。如果存在CBP,則利用式3來發(fā)送量化參數(shù)。然而,僅利用被認為是基本編碼單位的宏塊來設計基于H. 264/AVC的量化參數(shù)發(fā)送方法。近來,隨著用于編碼的視頻的分辨率不斷增大,基本編碼單位不限于宏塊,并且考慮使用擴展宏塊。因此,存在對于適用于此的最優(yōu)量化參數(shù)編碼方法的需要
發(fā)明內容
技術問題因此,為了解決上述問題,本發(fā)明試圖提供一種視頻編碼/解碼設備和方法,該視頻編碼/解碼設備和方法能夠在以大于傳統(tǒng)宏塊的塊為單位對高清晰視頻進行編碼和解碼時根據(jù)所使用的擴展宏塊的大小和所劃分的子塊的大小來自適應地對量化參數(shù)進行編碼和解碼。問題解決方案本發(fā)明的實施方式提供了一種視頻編碼/解碼設備,該視頻編碼/解碼設備包括視頻編碼器,其基于與視頻的擴展宏塊和子塊相關的附加信息對所述擴展宏塊的量化參數(shù)值與所述擴展宏塊中的子塊的量化參數(shù)值之間的差量值進行編碼;以及視頻解碼器,其對由所述視頻編碼器編碼的量化參數(shù)的差量值進行重構,基于重構的量化參數(shù)的差量值重構 殘留塊,并且基于重構的殘留塊重構所述視頻。本發(fā)明的另一實施方式提供了一種視頻編碼設備,該視頻編碼設備包括預測器,其通過預測具有預定大小的擴展宏塊被劃分成的子塊來生成預測子塊;減法器,其通過從所述子塊中減去所述預測子塊來生成殘留子塊;變換器/量化器,其通過根據(jù)所述子塊的大小對所述殘留塊進行變換/量化來生成量化變換系數(shù),并且基于與所述擴展宏塊和所述子塊相關的附加信息來確定各個量化參數(shù);以及編碼器,其通過對所述量化變換系數(shù)進行熵編碼來生成編碼數(shù)據(jù),并且對所確定的量化參數(shù)進行編碼。所述變換器/量化器可以利用包括與所述擴展宏塊和所述子塊相關的跳過模式信息、編碼塊模式(CBP)信息和與具有預定大小X的宏塊相關的CBPX標記信息中的至少一個的附加信息來對所述量化參數(shù)進行編碼。如果當前塊的編碼塊模式不是0,則所述變換器/量化器可以以所述當前塊為單
位來確定量化參數(shù)。如果當前塊的編碼塊模式不是0,則所述變換器/量化器可以按照各個子塊為單位基于所述當前塊中的所述各個子塊的附加信息來確定量化參數(shù)。如果當前塊的編碼塊模式不是0,則所述編碼器可以按照所述當前塊為單位對所述量化參數(shù)進行編碼。在預測當前塊的量化參數(shù)時,所述編碼器可以利用先前編碼的左側塊或上側塊的量化參數(shù)或者編碼序列中的在前塊的量化參數(shù)來執(zhí)行差量化。如果當前塊是幀間預測編碼模式,并且如果所述當前塊是跳過模式,則可以跳過對所述量化參數(shù)的確定和編碼。如果當前塊的編碼塊模式不是O并且所述當前塊中的第i個子塊的編碼塊模式不是0,則所述編碼器可以按照所述第i個子塊為單位對量化參數(shù)進行編碼。所述變換器/量化器可以針對所述當前塊中的所述子塊順序地確定量化參數(shù)。如果所述擴展宏塊中的所述子塊的編碼模式彼此不同,則所述變換器/量化器可以針對所述各個編碼模式確定至少一個量化參數(shù)。如果所述擴展宏塊被劃分為所述子塊,并且所述子塊在編碼之前被劃分為下級子塊,則所述變換器/量化器可以針對所述子塊的所述下級子塊確定量化參數(shù)的代表值,并且可以在序列頭或片段頭中發(fā)送用于對量化參數(shù)進行編碼的最小塊的大小或者可以利用所述編碼器與解碼器之間安排的塊大小而不發(fā)送附加信息。
本發(fā)明的另一實施方式提供了一種視頻解碼設備,該視頻解碼設備包括解碼器,其通過對編碼數(shù)據(jù)進行解碼來重構附加信息和量化變換系數(shù),并且重構基于當前塊的所述附加信息自適應確定并編碼的量化參數(shù);逆量化器/逆變換器,其通過對所述量化變換系數(shù)進行逆量化和逆變換來重構殘留塊;預測器,其利用所述當前塊的所述附加信息來生成預測塊;以及加法器,其通過將所述預測塊和所述殘留塊相加來重構所述當前塊。如果所述當前塊的編碼塊模式不是0,則所述解碼器可以按照所述當前塊為單位對所述量化參數(shù)進行解碼。如果所述當前塊是幀間預測編碼模式,并且如果所述當前塊是跳過模式,則可以跳過對所述量化參數(shù)的解碼。如果所述當前塊的編碼塊模式不是0,并且所述當前塊中的第i個子塊的編碼塊模式不是0,則所述解碼器可以按照所述第i個子塊為單位對量化參數(shù)進行解碼。所述解碼器可以對用于從序列頭或片段頭重構所述量化參數(shù)的最小子塊的大小 進行解碼。所述解碼器可以利用所述當前塊的在先解碼的左側塊和上側塊的量化參數(shù)或者解碼序列中的在先塊的量化參數(shù)來預測所述當前塊的量化參數(shù)。本發(fā)明的另一實施方式提供了一種視頻編碼/解碼方法,該視頻編碼/解碼方法包括以下步驟基于與視頻的擴展宏塊和所述擴展宏塊中的子塊相關的附加信息自適應地對量化參數(shù)進行編碼;以及重構通過所述視頻編碼步驟自適應地編碼的量化參數(shù),基于重構的量化參數(shù)來重構殘留塊,并且基于重構的殘留塊來重構所述視頻。本發(fā)明的另一實施方式提供了一種視頻編碼方法,該視頻編碼方法包括以下步驟通過預測擴展宏塊被劃分成的子塊來生成殘留子塊;通過從所述子塊中減去所預測的子塊來生成殘留子塊;通過根據(jù)所述子塊的大小對所述殘留塊進行變換/量化來生成量化變換系數(shù),并且基于與所述擴展宏塊和所述子塊相關的附加信息對量化參數(shù)進行編碼;以及通過對所述量化變換參數(shù)進行熵編碼來生成編碼數(shù)據(jù)。量化參數(shù)編碼的處理可以利用包括跳過模式信息、編碼塊模式(CBP)信息和關于所述擴展宏塊和所述子塊的CBPX標記信息中的至少一個的附加信息來對所述量化參數(shù)進行編碼。如果當前塊的編碼塊模式不是0,則量化參數(shù)編碼的處理可以按照所述當前塊為單位對量化參數(shù)進行編碼。如果當前塊的編碼塊模式不是0,則量化參數(shù)編碼的處理可以按照所述當前塊中的各個子塊為單位基于所述各個子塊的附加信息來對量化參數(shù)進行編碼。如果所述當前塊是幀間預測編碼模式,并且如果所述當前塊是跳過模式,則可以跳過對所述量化參數(shù)的編碼。如果當前塊的編碼塊模式不是O并且所述當前塊中的第i個子塊的編碼塊模式不是0,則量化參數(shù)編碼的處理可以按照所述第i個子塊為單位對量化參數(shù)進行編碼。所述量化參數(shù)編碼的處理可以針對所述當前塊中的所述子塊順序地對不同的量化參數(shù)的值進行編碼。如果所述擴展宏塊中的所述子塊的編碼模式彼此不同,則所述量化參數(shù)編碼的處理可以針對所述各個編碼模式對至少一個量化參數(shù)進行編碼。
如果所述擴展宏塊被劃分為所述子塊并且所述子塊在編碼之前被劃分為下級子塊,則所述量化參數(shù)編碼的處理可以針對所述子塊的所述下級子塊對量化參數(shù)的代表值進行編碼,并且可以在序列頭或片段頭中發(fā)送用于對量化參數(shù)進行編碼的最小塊的大小或者可以不利用安排在編碼器和解碼器之間的塊大小發(fā)送附加信息。在預測當前塊的量化參數(shù)中,所述量化參數(shù)編碼的處理可以利用在先編碼的左側塊或上側塊的量化參數(shù)或者編碼序列中在先的塊的量化參數(shù)來執(zhí)行差別化。本發(fā)明的另一實施方式提供了一種視頻解碼方法,該視頻解碼方法包括以下步驟通過對編碼數(shù)據(jù)進行解碼來重構附加信息和量化變換系數(shù),并且基于當前塊的所述附加信息來重構自適應地確定和編碼的量化參數(shù);通過對所述量化變換系數(shù)進行逆量化和逆變換來重構殘留塊;利用所述當前塊的所述附加信息生成預測塊;以及通過將所述預測塊與所述殘留塊相加來重構所述當前塊。如果所述當前塊的編碼塊模式不是0,則所述量化參數(shù)可以按照所述當前塊為單 位來進行重構。如果所述當前塊是幀間預測編碼模式,并且如果所述當前塊是跳過模式,則可以跳過對所述量化參數(shù)的解碼。如果所述當前塊的編碼塊模式不是O并且所述當前塊中的第i個子塊的編碼塊模式不是0,則所述量化參數(shù)按照所述第i個子塊為單位進行重構。所述量化參數(shù)重構步驟可以從序列頭或片段頭解碼用于重構所述量化參數(shù)的最小子塊的大小。所述量化參數(shù)重構的步驟可以利用所述當前塊的在先解碼的左側塊或上側塊的量化參數(shù)或者解碼序列中在先的塊的量化參數(shù)來預測所述當前塊的量化參數(shù)。有益效果根據(jù)上述的本發(fā)明的實施方式,可以針對要編碼或要解碼的擴展宏塊自適應地使用一個或更多個量化參數(shù),使得各個子塊的編碼/解碼效率可以最大化。此外,根據(jù)本發(fā)明的實施方式,針對作為視頻編碼的主要技術的比特分配和控制技術的開發(fā),可以容易地實現(xiàn)更加有效和復雜的算法。
是例示了本發(fā)明的實施方式中使用的擴展宏塊的示例以及針對幀內預測編碼和幀間預測編碼劃分擴展宏塊的處理的示例的圖;圖3是例示了根據(jù)本發(fā)明的實施方式的4x4和8x8塊的亮度分量的幀內預測模式中的九個預測方向和預測模式編號的圖;圖4是例示了根據(jù)本發(fā)明的另一實施方式的16x16塊的亮度分量的幀內預測模式中的四個預測方向和預測模式編號的例示圖;圖5是例示了根據(jù)本發(fā)明的另一實施方式的除4x4、8x8和16x16塊以外的塊的亮度分量的幀內預測模式中的三個預測方向和預測模式編號的圖;圖6是例示了根據(jù)本發(fā)明的實施方式的N/2xN/2塊的亮度分量的幀內預測模式中的四個預測方向和預測模式編號的圖;圖7是例示了由根據(jù)本發(fā)明的實施方式的編碼器進行的編碼量化參數(shù)的方法的流程圖;圖8是例示了 32x32像素塊的CBP和編碼模式的示例的圖;圖9是例示了由圖1的視頻編碼設備進行的·編碼視頻的方法的流程圖;圖10是例示了根據(jù)本發(fā)明的實施方式的視頻解碼設備的示意性構造的框圖;圖11是例示了由圖10的視頻解碼設備進行的解碼視頻的方法的流程圖。
具體實施例方式下文描述的根據(jù)實施方式的視頻編碼設備和視頻解碼設備可以是個人計算機(PC)、筆記本或膝上型計算機、個人數(shù)字助理(PDA)、便攜式多媒體播放器(PMP)、便攜式游戲機(PSP)或無線通信終端、智能電話等,并且可以表示配備有例如諸如用于在各種裝置或有線/無線通信網絡之間進行通信的調制解調器的通信裝置、用于存儲用于對視頻和相關數(shù)據(jù)進行編碼或解碼的各種程序的存儲器以及用于執(zhí)行這些程序以進行操作和控制的微處理器的各種設備。此外,由視頻編碼設備編碼為比特流的視頻可以實時或非實時地發(fā)送給用于在經由有線/無線通信網絡發(fā)送視頻之后對該視頻進行解碼以將其重構和再現(xiàn)為視頻的視頻解碼設備,其中,所述有線/無線通信網絡包括互聯(lián)網、短距離無線通信網絡、無線LAN網絡、也稱為WiMax網絡的WiBiO (無線寬帶)、移動通信網絡以及陸地線電話網絡或諸如電纜或USB (通用串行總線)的通信接口。圖1是例示了根據(jù)本發(fā)明的實施方式的視頻編碼設備的示意性構造的框圖。根據(jù)本發(fā)明的實施方式的視頻編碼設備100可以包括預測器110、減法器120、變換器/量化器130、編碼器140、逆量化器/逆變換器150、加法器160、濾波器170和圖片緩沖器180。預測器110可以包括幀內預測器112和幀間預測器114。幀間預測器114可以包括運動估計器116和運動補償器118。輸入視頻可以按照幀或字段為單位輸入到視頻編碼設備100,或者可以在被劃分為具有NxN像素(N:大于或等于16的整數(shù))的宏塊之后輸入到視頻編碼設備100。這里,具有NxN像素(N:大于16的整數(shù))的宏塊將被稱作擴展宏塊(EMB)。例如,擴展宏塊可以包括諸如64x64和32x32的大小的方形像素塊。如果輸入視頻是諸如4Kx2K視頻的高分辨率視頻,則輸入視頻可以在被劃分為具有NxN像素(N:大于16的整數(shù))的擴展宏塊之后被編碼,從而實現(xiàn)視頻壓縮效率的提高。以下描述的宏塊是指NxM像素塊(N和M是大于或等于16的整數(shù),并且可以彼此不同)。如果N和M大于16,則NxM像素塊是指擴展宏塊。S卩,在以下描述中,術語“宏塊”和術語“擴展宏塊”是互換使用的,并且不限于16x16像素塊。如果高分辨率輸入視頻是4:2:0格式的,則宏塊包括具有NxN像素的亮度塊和具有兩個Ν/2χΝ/2像素的色度塊。通過擴展宏塊對高分辨率視頻的壓縮效率的提高可以通過以下描述的特定實施方式來實現(xiàn)。圖2是例示了本發(fā)明的實施方式中使用的擴展宏塊的示例以及針對幀內預測編碼和幀間預測編碼劃分擴展宏塊的示例性處理的圖。高分辨率輸入視頻可以按照擴展宏塊為單位進行編碼/解碼,擴展宏塊可以在幀內預測編碼或幀間預測編碼之前被劃分為子塊。例如,如圖2所示,如果擴展宏塊是32x32像素塊,則擴展宏塊可以在編碼之前被劃分為16x16子塊,并且16x16子塊可以在編碼之前被劃分為諸如16x8,8x16, 8x8, 8x4, 4x8和4x4的更小子塊。盡管圖2例示了擴展宏塊是32x32像素塊的情況,但是擴展宏塊的大小不限于此,還可以使用更大的像素塊。此外,盡管圖2例示了擴展宏塊在編碼之前被劃分為諸如16x16像素塊的正方形子塊,但是擴展宏塊還可以在編碼之前被劃分為矩形子塊。例如,32x32像素的擴展宏塊可以在編碼之前被劃分為兩個16x8子塊或兩個8x16子塊。圖1的視頻編碼設備中的預測器110的幀內預測器112利用當前要編碼的塊(下文稱作“當前塊”)的相鄰像素生成基準塊,并且通過將該當前塊與基準塊相比較來確定幀內預測模式。這里,相鄰像素是指與當前塊相鄰的塊中的像素,并且包含與當前塊相鄰的塊中并且與當前塊相鄰的相鄰像素。假設擴展宏塊針對亮度分量被劃分為4x 4像素單位的子塊,以執(zhí)行幀內預測。在該情況下,如圖3所示,從根據(jù)亮度分量的幀內預測模式的九個預測方向(根據(jù)預測模式O至8的預測方向)當中選擇針對各個4x4像素當前塊而言最合適的預測方向,并且所選擇的預測方向被用于對當前塊進行幀內預測編碼。包括當前塊的左側塊的四個相鄰像素和當前塊的上側塊的四個相鄰像素的八個相鄰像素的平均值被計算為由預測模式2表示的平均值,以預測當前塊的所有4x4像素。在位于圖片的左側邊界的塊和位于圖片的上側邊界的塊的情況下,左側塊和上側塊位于圖片的外部。在該情況下,由于不能指代偏離圖片邊界的塊,所以預測方向的使用受到了限制。例如,指代上級塊的像素的預測模式0、3、4、5、6和7的預測方向不能用在圖片的最上級塊中。尤其是,在DC模式的情況下,僅參照沒有偏離圖片邊界的像素來預測當前塊。如果與當前塊相鄰的左側塊和上側塊不可用,則將值128用作DC值。在當前塊的所選擇的預測方向與當前塊的左側塊和上側塊當中的具有較小預測模式的塊的預測方向之間進行比較。如果兩個預測方向相同,則對指示從相鄰塊估計的當前塊的預測方向與當前塊的所選擇的預測方向是否相同的預測模式標記進行編碼,以指示所選擇的預測方向與所估計的預測方向相同。如果從相鄰塊估計的當前塊的預測方向與當前塊的所選擇的預測方向不同,則預測模式標記被編碼,以指示該差異。指示九個預測模式中除與當前塊的所估計的預測方向相對應的預測模式以外的剩余八個預測模式中的哪一個是當前塊的所選擇的預測方向的預測模式信息(其可以通過例如3比特來表示)被編碼。假設擴展宏塊針對亮度分量被劃分為8x8像素的子塊,以執(zhí)行幀內預測。在該情況下,與以4x4像素為單位的幀內預測類似,針對亮度分量以8x8像素為單位的幀內預測使用如圖3所示的九個預測方向。除了塊大小的差異(4x4像素和8x8像素)以外,計算預測像素的方法與以4x4像素為單位的幀內預測編碼的情況相同。假設擴展宏塊針對亮度分量被劃分為16x16像素的子塊,以執(zhí)行幀內預測。在該情況下,在圖4所示的四個預測方向當中,選擇了提供最高編碼效率的預測方向。根據(jù)所選擇的預測方向,從包括16x16像素當前塊的上側16x16像素塊中的16個相鄰像素和16x16像素當前塊的左側16x16像素塊中的16個相鄰像素在內的32個相鄰像素對16x16像素塊進行預測編碼。參照圖4,在與預測模式3對應的平面預測的情況下,在預測之前按對角方向對當前塊的上側塊中的相鄰像素和當前塊的左側塊中的相鄰像素進行插值。在與預測模式2對應的平均值預測的情況下,通過當前塊的所有16x16像素來預測當前塊的上側塊中的16個相鄰像素和當前塊的左側塊中的16個相鄰像素的平均值。這里,如果當前塊位于圖片的最上位置,則當前塊的左側塊中的16個相鄰像素的平均值被用作預測值。如果當前塊位于圖片中的最左位置,則當前塊的上側塊中的16個相鄰像素的平均值被用作預測值。如果當前塊的左側塊和上側塊不可用,則值128被用作預測值。16x16像素塊的預測模式不被預測編碼,并且所選擇的預測模式的編號被編碼為預測模式信息(其通過例如2比特來表示)。如果除上述4x4像素塊、8x8像素塊或16x16像素塊以外,擴展宏塊被劃分為子塊以執(zhí)行幀內預測,則可以通過如圖5所示的三個預測方向和預測模式編號來表示亮度分量的幀內預測模式。如果除上述4x4像素塊、8x8像素塊或16x16像素塊以外,擴展宏塊被劃分為剩余子塊以執(zhí)行幀內預測,并且如果相關子塊的大小是mxn (η和m是小于N的整數(shù),并且N是大于或等于16的整數(shù)),則根據(jù)從圖5所示的三個預測方向當中選擇的提供最高編碼效率的預測方向,從當前塊的上側塊中的m個相鄰像素和當前塊的左側塊中的η個相 鄰像素對mxn像素塊進行幀內預測編碼。在與預測模式2對應的平均值預測的情況下,當前塊的上側塊中的m個相鄰像素和當前塊的左側塊中的η個相鄰像素的平均值被用來對當前塊進行預測編碼。這里,如果當前塊位于圖片中的最上位置,則當前塊的左側塊中的η個相鄰像素的平均值被用作當前塊的預測值。如果當前塊位于圖片中的最左位置,則當前塊的上側塊中的m個相鄰像素的平均值被用作當前塊的預測值。如果當前塊的左側塊和上側塊是不可用的,則值128被用作當前塊的預測值。如果當前塊的所選擇的預測方向與當前塊的左側塊和上側塊中的具有較小預測模式編號的塊的預測方向相同,則指示從當前塊的相鄰塊估計的當前塊的預測方向與當前塊的所選擇的預測方向是否相同的預測模式標記(其通過例如I比特來表示)被編碼為指示當前塊的所選擇的預測方向與當前塊的所估計的預測方向相同的信息。由于mxn像素塊的可用預測模式編號是O至2,如果利用當前塊的左側塊和上側塊估計的當前塊的預測模式編號大于或等于3,則當前塊的預測方向可以使用預測模式編號2(DC模式)。例如,如果從相鄰塊估計的當前塊的預測模式編號是4,則當前塊的預測模式編號被設置為2,以對指示當前塊的所估計的預測方向是否與當前塊的所選擇的預測方向相同的預測模式標記(其通過例如I比特來表示)進行編碼。這里,擴展宏塊的幀內預測可以按照16x16或更小像素塊為單位,即,按照4x4像素塊、8x8像素塊、16x16像素塊或mxn像素塊(這里,m Φ η,并且m和η是小于16的數(shù))??梢园凑咋?2χΝ/2像素塊為單位執(zhí)行色度分量的幀內預測。如圖6所示,可以使用諸如平均值預測、水平預測、垂直預測和平面預測的四個預測方向??梢园凑?x8像素塊為單位來執(zhí)行色度分量的幀內預測。圖6例示了根據(jù)本發(fā)明的實施方式與色度分量的四個幀內預測模式相對應的預測方向和預測模式編號。參照圖6,除了塊大小(16x16像素和8x8像素)的差異以外,針對與預測模式3對應的平面預測的預測值計算方法和與預測模式O對應的平均值預測與按照16x16像素為單位的亮度分量的幀內預測編碼方法的情況相同??梢元毩⒂诹炼刃盘柕念A測模式來選擇色度信號的預測模式。存在兩種類型的色度信號,即,U和V,但是預測方法是相同的。色度信號的預測模式是針對U和V各一個。各個色度信號的預測模式不經過預測編碼,并且選擇的預測模式編號僅僅通過2比特來表示。根據(jù)如上所述確定的幀內預測模式,幀內預測器112通過預測當前塊來生成預測塊。減法器120通過從當前塊中減去預測塊來生成殘留塊。變換器/量化器130通過對殘留塊進行變換和量化來生成量化變換系數(shù)。編碼器140通過對所述量化變換系數(shù)進行熵編碼來生成編碼后數(shù)據(jù)。變換器/量化器130可以對選擇了以8x8,8x16或16x8像素為單位的幀內預測的當前塊的殘留塊進行4x4變換,并且對選擇了以8x8,8x16或16x8像素為單位的幀內預測的當前塊的殘留塊進行8x8變換。此外,變換器/量化器130可以對選擇了以16x16或更多像素為單位的幀內預測的當前塊的殘留塊進行16x16變換。在該情況下,由于幀內預測的單位和子塊的大小相同,所以可以根據(jù)子塊的塊大小來確定變換類型。這里,進行了 16x16變換的具有16x16像素的殘留塊(下文稱為“16x16像素殘留 塊”)被再次劃分為十六個具有4x4像素的殘留塊(下文稱為“4x4像素殘留塊”),并且可以對4x4像素殘留塊進行4x4變換。此后,具有4x4變換系數(shù)的變換塊(下文稱作“DC分量塊”)僅由通過對各個4x4像素殘留塊進行4x4變換而生成的均具有4x4像素的變換塊(下文稱為“4x4像素變換塊”)的十六個DC分量構成,并且再次對DC分量塊進行4x4變換。這里,用于對DC分量塊進行變換的變換類型可以不同于用于對殘留塊進行變換的變換類型。即,可以對4x4像素殘留塊進行4x4離散余弦變換(DCT),并且可以對DC分量塊進行4x4哈達瑪變換。例如,選擇了以16x32像素為單位的幀內預測的當前塊的16x32像素殘留塊被劃分為兩個16x16像素殘留塊,并且各個16x16像素殘留塊以4x4像素為單位進行4x4變換。此后,DC分量塊由16x16像素殘留塊中的各個4x4變換塊的DC分量構成,并且對DC分量塊再次進行4x4變換。在色度信號的情況下,如同以16x16或更多像素為單位的幀內預測,進行4x4變換,接著再次對DC分量塊進行4x4變換。然而,色度分量的宏塊的殘留塊被劃分為具有8x8像素的殘留塊(下文稱為“8x8像素殘留塊”),并且對各個8x8像素殘留塊中的四個4x4像素殘留塊進行4x4變換。具有2x2變換系數(shù)的DC分量塊由8x8像素殘留塊中的四個4x4像素殘留塊的DC分量構成,并且可以對DC分量塊進行2x2變換。在該情況下,類似地,對8x8像素殘留塊的4x4變換類型與對DC分量塊的2x2變換類型可以不同。取代針對擴展塊確定最優(yōu)塊類型接著根據(jù)上述變換類型進行變換,可以根據(jù)以16x16像素塊為單位的幀內預測中所使用的子塊的大小來選擇并使用高效率變換類型。即,變換器/量化器130可以按照16x16像素塊為單位進行一個或更多個變換和量化,選擇最高效率的變換類型,并且根據(jù)所選擇的變換類型來生成變換/量化變換系數(shù)。在該情況下,編碼器140可以通過生成用于識別針對各個塊選擇的變換的類型的變換類型并且對其進行編碼來生成變換類型數(shù)據(jù)。變換類型數(shù)據(jù)被包括在編碼后數(shù)據(jù)中。然而,不同的變換不能用在16x16像素塊中。更具體地說,如果16x16像素塊被劃分為8x8像素塊,并且如果四個8x8像素塊中的一個或更多個被劃分為小于8x8像素塊的子塊,則對16x16像素塊僅進行4x4變換。在該情況下,不對變換類型進行編碼。此外,如果16x16像素塊被劃分為四個8x8像素塊,則可以對16x16像素塊進行4x4變換和8x8變換,以選擇要求最低編碼開銷的變換類型,并且可以對指示所選擇變換的類型的變換類型(其可以通過例如I比特來表示)進行編碼。此外,如果16x16像素塊被劃分為兩個8x16像素子塊,則可以對16x16像素子塊的殘留塊進行4x4變換、8x8變換和8x16變換,以選擇要求最低編碼開銷的變換類型,并且如果16x16像素塊被劃分為兩個16x8像素子塊,則可以對16x16像素子塊的殘留塊進行4x4變換、8x8變換和16x8變換,以選擇要求最低編碼開銷的變換類型,并且可以對指示所選擇變換的類型的變換類型(其可以通過例如I比特或2比特來表示)進行編碼??梢詫?6x16或更多的像素塊的殘留塊進行4x4變換、8x8變換和16x16變換,以選擇要求最低編碼開銷的變換類型,并且可以對指示所選擇變換的類型的變換類型(其可以通過例如I比特或2比特來表示)進行編碼。再次參照圖1,預測器110的幀間預測器114的運動估計器116檢測與作為當前圖片中的當前編碼目標的當前塊最類似的塊,即,基準圖片中的基準塊,并且輸出代表基準塊相對于當前塊的相對位置的運動向量(MV)。這個處理被稱為運動估計。運動估計通過將宏塊中的子塊與圖片緩沖器180中的一個或更多個基準圖片進行比較來生成運動向量。8x8 像素塊可以使用不同的基準圖片,但是8x8像素塊中的子塊使用相同的基準圖片。運動向量由編碼器140進行編碼,并被包括在編碼后數(shù)據(jù)中。編碼器140使用當前塊的相鄰塊的運動向量的平均值作為預測運動向量(PMV)。編碼器140通過僅對作為預測運動向量與當前塊的運動向量之間的差向量的差運動向量(DMV)進行編碼來生成運動信息。這里,除了差運動向量以外,編碼器140還可以對基準圖片索引進行編碼。S卩,運動信息可以包括差運動向量和基準圖片索引。編碼器140可以通過對運動信息進行編碼來生成運動信息數(shù)據(jù),并且將運動信息數(shù)據(jù)包括在編碼后數(shù)據(jù)中。在本發(fā)明的一個實施方式中,針對作為16x16或更多像素塊的擴展宏塊使用跳過模式。跳過模式是不對諸如塊類型信息、運動信息或變換系數(shù)信息的特定信息進行編碼的模式。如果當前要編碼的塊是跳過模式,則可以僅對指示當前塊是跳過模式的信息進行編碼,并且可以不對諸如塊類型、運動信息和變換系數(shù)的其它信息進行編碼。另選地,可以僅對當前塊的運動信息進行編碼,并且可以不對諸如類型信息和變換系數(shù)的信息進行編碼?;蛘撸梢詢H對當前塊的變換類型和變換系數(shù)進行編碼,并且可以不對類型信息和運動信息進行編碼。如果作為16x16或更多像素塊的擴展宏塊是跳過宏塊,則預測運動向量被用來進行運動估計和補償。然而,如果用來確定預測運動向量的一個或更多個運動向量是0,則預測運動向量被確定為O。例如,如果相鄰塊A、B和C的運動向量分別為mvA(0, 10),mvB(l, 10)和mvC(2,10),則當前塊的預測運動向量是(0,10)。減法器120通過從當前塊中減去由當前向量的估計運動向量指示的基準塊來生成殘留塊。變換器/量化器130對由減法器120生成的殘留塊進行變換和量化。編碼器140通過對量化變換系數(shù)進行熵編碼來生成編碼后數(shù)據(jù)。這里,變換器/量化器130根據(jù)當前塊的大小進行一個或更多個變換和量化,選擇最高效率的變換類型,并且根據(jù)所選擇的變換類型來生成量化變換系數(shù)。編碼器140通過生成用于識別針對各個塊選擇的變換的類型的變換類型并對其進行編碼來生成變換類型數(shù)據(jù)。變換類型數(shù)據(jù)可以被包括在編碼后數(shù)據(jù)中。然而,不同的變換不能用于16x16像素塊。如同幀內預測快中描述的變換方法,如果16x16像素子塊被劃分為8x8像素子塊,并且如果四個8x8像素子塊中的一個或更多個被劃分為小于8x8像素塊的子塊,則對16x16像素子塊的殘留塊僅進行4x4變換。在該情況下,不對變換類型進行編碼。如果16x16像素子塊被劃分為四個8x8像素子塊,則對16x16像素子塊的殘留塊進行4x4變換和8x8變換,以選擇要求低編碼開銷的變換類型,并且對指示選擇的變換的類型的變換類型(其可以通過例如I比特來表示)進行編碼。如果16x16像素子塊被劃分為兩個8x16像素子塊,則對16x16像素子塊的殘留塊進行4x4變換、8x8變換和8x16變換,以選擇要求最低編碼開銷的變換類型,并且如果16x16像素子塊被劃分為兩個16x8像素子塊,則對16x16像素子塊的殘留塊進行4x4變換、8x8變換和16x8變換,以選擇要求最低編碼開銷的變換類型,并且對指示所選擇變換的類型的變換類型(其可以通過例如I比特或2比特來表示)進行編碼。對16x16或更多像素子塊進行4x4變換、8x8變換和16x16變換,以選擇要求最低編碼開銷的變換類型,并且對指示所選擇變換的類型的變換類型(其可以通過例如I比特或2比特來表示)進行編碼。由變換器/量化器130變換/量化過的殘留塊被逆變換器/逆量化器150逆變換 /逆量化,以重構殘留塊。加法器160通過將所重構的殘留塊與由預測器110預測的預測塊相加來重構當前塊。編碼器140通過對由變換器/量化器130量化的變換系數(shù)進行熵編碼來生成編碼后數(shù)據(jù)。將正交變換分量除以量化步長并且將該結果近似為代表性整數(shù)值的處理被稱為量化,并且該代表性整數(shù)值被稱為量化值。相反,將量化值乘以量化步長以恢復正交變換分量的處理被稱為逆量化。當應用量化處理時,可以提高效率,因為正交變換分量可以表示為更小的整數(shù)值,并且相比對未量化分量進行編碼的情況,可以利用更小數(shù)量的比特來進行編碼。此外,可以通過改變量化步長的大小來調節(jié)壓縮率。除了減少了信息量以外,考慮到其它物理介質或數(shù)據(jù)傳輸信道提供的帶寬,應當進行量化來在預定范圍內提高最佳圖片質量。原因在于通過相同信道帶寬可獲得的圖片質量可以根據(jù)應用的量化參數(shù)值而改變。如果擴展宏塊是32x32像素塊,則可以通過擴展宏塊標記(extended_mb_flag)來指示是按照32x32像素塊為單位還是按照16x16像素塊為單位進行編碼。例如,如果擴展宏塊標記是I,則可以指示按照32x32像素塊為單位進行編碼;并且如果擴展宏塊標記是O,則可以指示按照16x16像素塊為單位進行編碼。此外,如果擴展宏塊標記是0,則可以對擴展宏塊中的各個劃分的16x16像素塊進行幀內預測編碼或幀間預測編碼。此外,各個16x16像素塊可以在編碼之前被劃分為更小的子塊。如果擴展宏塊是幀間模式,則擴展宏塊可以在幀內預測編碼或幀間預測編碼之前以16x16像素塊為單位進行劃分。即,如果擴展宏塊是幀間預測編碼的,則在幀內預測編碼模式和幀間預測編碼模式這兩種模式下擴展宏塊中的各個16x16像素塊可以共存。此外,如果擴展宏塊是幀內預測編碼的,則擴展宏塊中的所有各個16x16像素塊可以按照幀內預測編碼模式進行編碼。本發(fā)明的實施方式提出了一種從編碼中應用的基本編碼塊單元到預定大小的最小塊單元自適應地編碼量化參數(shù)的方法。圖7是例示了由根據(jù)本發(fā)明的實施方式的變換器/量化器130進行的編碼量化參數(shù)的方法的流程圖。這里,假設擴展宏塊的大小是32x32塊,用于量化參數(shù)的傳輸?shù)淖钚K單元是16x16塊,并且相關塊的編碼塊模式(CBP)和編碼模式如圖8所示進行確定。這里,CBP是指示相關塊是否包括非零量化變換系數(shù)的信息,并且按照諸如32x32或16x16像素塊的預定大小的塊為單位對其進行編碼。圖8所示的針對幀間預測編碼模式的擴展宏塊的量化參數(shù)的編碼可以基于要編碼的塊的跳過模式和/或CBP信息來確定。跳過模式是不對諸如塊類型信息、運動信息或變換系數(shù)信息的特定信息進行編碼的模式。CBP可以按照16x16像素塊為單位進行編碼。在該情況下,可以每8x8像素塊使用I比特,以指示16x16像素塊中是否每8x8像素塊存在非零變換系數(shù)。針對色度分量,I比特可以用來指示兩個2x2色度分量DC塊中是否存在非零變換系數(shù),并且I比特可以用來指示兩個8x8色度分量AC塊中是否存在非零變換系數(shù)。如果擴展宏塊在編碼之前被劃分為大于16x16像素的塊,例如,如果擴展宏塊是64x64像素塊,并且在編碼之前被劃分為四個32x32像素塊,則CBPX標記可以用來指示要編碼的塊的子塊中是否存在要編碼的非零系數(shù)。這里,X是表示編碼目標的大小的整數(shù)。64x64像素塊可以用CBP64標記來表示,32x32像素塊可以用CBP32標記來表示。此外,CBPX標記 可以用諸如O或I的I比特來表示。例如,如果32x32像素塊中存在非零變換系數(shù),則可以在編碼之前用I來表示CBP32標記。如果子塊的大小不是32x32,32x16和16x32中的一個,則CBP可以被編碼。這里,如果子塊的大小不是32x32,32x16和16x32像素中的一個,則可以確定子塊的大小是否為16x16,16x8或8x16像素。如果子塊是16x16,16x8或8x16像素塊,并且如果相關塊中存在非零編碼系數(shù),則CBP16標記(其用例如諸如“I”的I比特來表示)可以被編碼。如果不是,則可以在不使用CBP標記的情況下按照16x16像素塊為單位對CBP進行編碼。如果CBP標記被編碼,并且如果CBP標記不是0,則變換類型可以被編碼。尤其是,如果16x16像素塊被劃分為四個8x8像素塊,并且如果編碼后的CBP不是0,則可以對按照16x16像素塊為單位應用的變換類型進行編碼。在變換類型被編碼之后,根據(jù)變換類型對CBP進行編碼。如果使用16x16變換,則色度分量的僅兩個CBP比特被編碼;并且如果使用8x16變換或16x8變換,則指示16x16像素塊中的兩個8x16或16x8像素塊是否具有非零變換系數(shù)的兩個CBP比特被編碼。然而,例外是,如果兩個分割塊當中的第一分割塊的CBP比特是0,則第二分割塊的CBP比特不被編碼。如果32x32像素擴展宏塊是幀內塊(S701 ),則如圖8所示,幀間塊和幀內塊可以在擴展宏塊中共存。如果幀間預測編碼模式的擴展宏塊的CBP不是O并且32x32像素塊不是跳過模式(S703),則編碼器140以32x32像素塊為單位對量化參數(shù)進行編碼(S705)。如果擴展宏塊是幀內塊并且?guī)瑑阮A測編碼模式的擴展宏塊的CBP不是O (S707),則編碼器140以32x32像素塊為單位對量化參數(shù)進行編碼(S705)。這里,如式4所示,編碼器140對先前編碼的32x32塊相對于量化參數(shù)值的差值進行編碼。AOii2 ^ OC-QIZy 式 4在圖7中,ext_mb_cbp表示以作為擴展宏塊的32x32像素塊為單位的CBP。ext_skip_flag是指示作為擴展宏塊的32x32像素塊是否為跳過模式的標記。如果32x32像素塊不是跳過模式,則其可以用O來表示。
在對通過式4計算的AQP32值進行編碼之后,編碼器140將O分配給當前要編碼的塊的序列,即,32x32像素塊中的第一 16x16子塊,并且開始針對32x32像素塊中的劃分的16x16子塊的量化參數(shù)編碼處理(S709)。在圖7中,32x32像素擴展宏塊中的第i個16x16子塊的編碼類型用mb_type[i]來表示。然而,子塊的大小不限于16x16像素塊。例如,如果擴展宏塊是64x64像素塊,則擴展宏塊中的子塊可以是32x32像素塊。如果擴展宏塊中的第i個子塊的編碼模式是幀間預測模式(S711),則編碼器140確定32x32像素塊中的第i個16x16像素塊是否為跳過模式(S713),并且確定不是跳過模式的第i個16x16像素塊中是否存在非零量化變換系數(shù)(S715)。skip_flag[i]是指示32x32像素塊中的第i個16x16像素塊是否為跳過模式的句法,并且mb_cbp[i]表示32x32像素塊中的第i個16x16像素塊的CBP。如果32x32像素塊中的第i個16x16像素塊不是跳過模式并且不包括量化變換系數(shù)(步驟S713和步驟S715),即,如果CBP大于0,則編碼器140以第i個16x16像素塊為單 位對量化參數(shù)進行編碼(S717)。S卩,要編碼的16x16塊是跳過模式或者如果CBP值為0,則相關塊的量化參數(shù)不被編碼。如果相關塊不是跳過模式并且CBP值不為0,則在編碼之前從32x32塊的量化參數(shù)中減去16x16塊的量化參數(shù),如式5所示。在該情況下,如果擴展宏塊中的子塊是幀內塊,并且如果第i個16x16子塊的CBP值不是0,則在編碼之前從32x32塊的量化參數(shù)中減去相關子塊的量化參數(shù)。Am = QI^-OIZ 式 5在式5中,ΔρΡ/6是當前32x32塊中的第i個16x16塊的差量化參數(shù)值,并且ρ/ ;表示當前32x32塊中的第i個16x16塊的量化參數(shù)值。按照這種方式,32x32像素塊中的各個16x16像素塊的量化參數(shù)被順序編碼。在32x32像素塊中的最后一個16x16像素塊的量化參數(shù)被編碼之后,擴展宏塊的量化參數(shù)的編碼結束(S719)。盡管在圖7中假設擴展宏塊是32x32像素塊,但是擴展宏塊的大小不限于32x32像素塊。例如,擴展宏塊可以是64x64像素塊、128x128像素塊或更大的像素塊。針對這種擴展宏塊,可以通過從擴展宏塊的量化參數(shù)中減去子塊的量化參數(shù)來進行對量化參數(shù)的編碼。例如,如果擴展宏塊是64x64像素塊,并且如果擴展宏塊的CBP不是O并且64x64像素塊不是跳過模式,則編碼器140以64x64像素塊為單位對量化參數(shù)進行編碼。這里,針對擴展宏塊,可以如式6所述對相對于先前編碼的64x64塊的量化參數(shù)值的差值進行編碼。在該示例中,已經對擴展宏塊的量化參數(shù)被編碼的情況進行了描述。然而,可以利用先前編碼的上側子塊或左側子塊的量化參數(shù)或者相對于擴展宏塊的子塊在編碼序列中在先的子塊的量化參數(shù)來預測當前子塊的量化參數(shù)。^QPm=QPZ-QC,式 6在對通過式6計算的Λ QP64值進行編碼之后,編碼器140開始針對64x64像素塊中的劃分的32x32子塊的量化參數(shù)編碼處理。這里,序列O被分配給第一 32x32子塊。在該情況下,如果在序列頭或片段頭中進行編碼或者如果預定的最小量化編碼塊的大小是64x64,則不再對量化參數(shù)進行編碼。編碼器140確定64x64像素塊的第i個32x32像素塊是否為跳過模式,并且確定不是跳過模式的第i個32x32像素塊中是否存在非零量化變換系數(shù)。如果64x64像素塊中的第i個32x32像素塊不是跳過模式并且不包括量化變換系數(shù),即,如果CBP大于0,則編碼器140以第i個32x32像素塊為單位對量化參數(shù)進行編碼。即,要編碼的32x32塊是跳過模式或者如果CBP值為0,則不對相關塊的量化參數(shù)進行編碼。如果相關塊不是跳過模式并且CBP值不是0,則在編碼之前從64x64塊的量化參數(shù)中減去32x32塊的量化參數(shù),如式7所示。這里,利用上級塊的量化參數(shù)來預測當前量化參數(shù)的技術僅是一個示例。可以通過差分(differentiate )先前編碼的上側子塊或左側子塊的量化參數(shù)或者編碼序列中在先的子塊的量化參數(shù)來對當前塊的量化參數(shù)進行編碼。AQf1:, - OiK, C 式 7在式7中,是當前64x64塊中的第i個32x32塊的差量化參數(shù)值,并且δ盡表示當前64x64塊中的第i個32x32塊的量化參數(shù)值。這里,針對小于第 i個32x32像素塊的子塊的量化參數(shù)編碼處理與參照圖7所述的相同。按照該方式,對64x64像素塊中的各個32x32像素塊的量化參數(shù)進行順序編碼。如果特定的32x32子塊被編碼為更小子塊,則圖7的方法被應用于32x32塊,以對量化參數(shù)進行編碼。當特定子塊在編碼之前被劃分為更小子塊時,反復應用圖7的處理。在對64x64像素塊中的最后一個32x32像素塊的量化參數(shù)進行編碼之后,結束對相關擴展宏塊的量化參數(shù)的編碼。這里,盡管已經將對量化參數(shù)的編碼描述為對要編碼的擴展宏塊的量化參數(shù)值與初步劃分的塊的量化參數(shù)值之間的差值進行編碼,即,如果擴展宏塊的大小是64x64像素塊,則對擴展宏塊的量化參數(shù)值與初步劃分的32x32像素塊的量化參數(shù)值之間的差值進行編碼,但是對量化參數(shù)的差值的編碼不限于此。例如,可以對64x64像素塊的量化參數(shù)值與32x32像素塊中的16x16像素塊的量化參數(shù)值之間的差值進行編碼。此外,可以使用利用相鄰子塊的量化參數(shù)預測。這樣,本發(fā)明的實施方式可以應用于各種大小的宏塊。例如,如果擴展宏塊的大小是64x64塊,并且如果64x64像素塊不是跳過模式并且如上所述CBP不為0,則在對64x64像素塊的量化參數(shù)進行編碼之后,可以按照如上所述相同的方式對64x64像素塊中的各個32x32像素塊的量化參數(shù)進行編碼。在該情況下,可以按照16x16像素塊為單位進行基于CBP信息的量化參數(shù)編碼。然而,用于量化參數(shù)編碼的最小塊單位不限于16x16塊,而是在一些情況下可以是8x8像素塊或4x4像素塊。用于量化參數(shù)編碼的最小塊單位可以編碼在序列頭或片段頭中,并且可以使用編碼器與解碼器之間安排的大小。此外,盡管圖7例示了32x32像素塊被劃分為四個16x16像素塊,以對量化參數(shù)進行編碼,但是劃分的塊的數(shù)量不限于此。例如,32x32像素塊可以被劃分為兩個32x 16像素塊或兩個16x32像素塊,以對量化參數(shù)進行編碼,并且32x32像素塊中的各個16x16像素塊可以被劃分為諸如16x8像素塊、8x16像素塊和8x8像素塊的更小像素塊,以對量化參數(shù)進行編碼。此外,盡管圖7例示了 32x32像素塊被劃分為四個16x16像素塊,以對量化參數(shù)進行編碼,但是可以根據(jù)擴展宏塊的劃分級別對與編碼層或要編碼的像素塊對應的具有預定大小NxM (N可以等于或不同于M)的像素塊的量化參數(shù)進行編碼。此外,盡管圖7例示了基于CBP信息以及關于要編碼的塊是否為跳過模式的信息來確定是否對量化參數(shù)進行編碼,但是是否對量化參數(shù)進行編碼還可以通過其它句法或參數(shù)以及基于跳過模式信息和CBP信息來確定。
此外,盡管圖7例示了通過與先前塊的量化參數(shù)的差分來對最上塊的量化參數(shù)進行編碼,但是對量化參數(shù)的編碼不限于此。例如,可以通過包括差分的其它操作來對量化參數(shù)進行編碼,可以按照片為單位或者通過包括差分的任何其它操作和量化參數(shù)值來對最上塊的量化參數(shù)進行編碼。濾波器170利用解塊濾波器對通過積累由加法器160重構的當前塊而生成的圖片進行濾波。經濾波的圖片被存儲在圖片緩沖器180中,并被用作下一圖片的基準圖片。圖9是例示了由圖1的視頻編碼設備進行的視頻編碼的方法的流程圖。參照圖9,預測器110通過預測擴展宏塊劃分的子塊來生成預測子塊(S901)。減法器120通過從由預測器110劃分的子塊中減去生成的預測子塊來生成殘留子塊(S903)。變換器/量化器130通過根據(jù)子塊的大小對殘留子塊進行變 換/量化來生成量化變換系數(shù),并且基于與子塊和擴展宏塊相關的附加信息來確定量化參數(shù)(S905)。編碼器140可以利用包括與子塊和擴展宏塊相關的跳過模式信息、CBP信息和CBPX標記信息中的至少一個的附加信息來對量化參數(shù)進行編碼。此外,如果當前塊的編碼塊模式不是0,則編碼器140可以按照當前塊為單位對量化參數(shù)進行編碼。此外,如果當前塊的編碼塊模式不是0,則編碼器140可以基于當前塊中的各個子塊的附加信息以各個子塊為單位對量化參數(shù)進行編碼。此外,編碼器140可以順序地對當前塊中的子塊的量化參數(shù)進行編碼。此外,如果擴展宏塊中的子塊的編碼模式彼此不同,則編碼器140可以對針對各個編碼模式的至少一個量化參數(shù)進行編碼。此外,如果擴展宏塊被劃分為子塊,并且該子塊在編碼之前被劃分為較低子塊,則編碼器140可以對在針對子塊的較低子塊的量化參數(shù)的代表性值進行編碼。編碼器140通過對量化變換系數(shù)進行熵編碼來生成編碼后數(shù)據(jù)(S907)。此外,如果當前塊的編碼塊模式不是0,則編碼器140可以按照當前塊為單位對量化參數(shù)進行編碼。此外,如果當前塊是幀間預測編碼模式,并且如果當前塊是跳過模式,則編碼器140可以跳過對量化參數(shù)的確定或編碼。此外,如果當前塊的編碼塊模式不是0,并且如果當前塊中的第i個子塊的編碼塊模式不是0,則編碼器140可以按照第i個子塊為單位對量化參數(shù)進行編碼。圖10是例示了根據(jù)本發(fā)明的實施方式的視頻解碼設備的示意性構造的框圖,并且圖11是例示了由圖10的視頻解碼設備進行的視頻解碼的方法的流程圖。根據(jù)本發(fā)明的實施方式的視頻解碼設備1000可以包括解碼器1010、逆量化器/逆變換器1020、預測器1030和加法器1040。此外,視頻解碼設備1000還可以包括濾波器1050和圖片緩沖器1060。解碼器1010通過對編碼后數(shù)據(jù)進行解碼來重構附加信息和量化變換系數(shù),并且基于當前塊的附加信息來重構自適應確定和編碼的量化參數(shù)的差值(S1101)。量化參數(shù)的差值是指由視頻編碼設備100編碼的擴展宏塊的量化參數(shù)值與擴展宏塊中的子塊的量化參數(shù)值之間的差值。這里,如果當前塊的編碼塊模式不是0,則解碼器1010可以按照當前塊為單位對量化參數(shù)的差值進行解碼。此外,如果當前塊是幀間預測編碼模式,并且如果當前塊是跳過模式,則解碼器1010可以跳過對量化參數(shù)的解碼。此外,如果當前塊的編碼塊模式不是0,并且如果當前塊中的第i個子塊的編碼塊模式不是0,則解碼器1010可以按照第i個子塊為單位對量化參數(shù)的差值進行解碼。
這里,解碼器1010可以被構造為從序列頭或片段頭解碼用于重構量化參數(shù)的最小子塊的大小。此外,解碼器1010可以被構造為利用當前塊的先前解碼左側塊和上側塊的量化參數(shù)或者解碼序列中在前的塊的量化參數(shù)來預測當前塊的量化參數(shù)。逆量化器/逆變換器1020通過對量化變換系數(shù)進行逆量化和逆變換來重構殘留塊(S1103)。預測器1030利用當前塊的重構的附加信息來生成預測塊(S1105)。預測器1030的預測塊生成方法與視頻編碼設備100的預測器110的預測塊生成方法相同。加法器1040通過將預測塊與殘留塊相加來重構當前塊(S1107)。
盡管已經針對例示了性目的描述了本發(fā)明的示例性方面,但是本領域技術人員將理解,無需脫離本發(fā)明的實質特性,可以進行各種修改、添加和替換。因此,本發(fā)明的示例性方面不是針對限制目的而描述的。因此,本發(fā)明的范圍不由以上方面而由權利要求及其等同物限定。工業(yè)實用性如上所述,本發(fā)明的實施方式對于在按照大于傳統(tǒng)宏塊的塊為單位的高分辨率視頻編碼和解碼時,根據(jù)使用的擴展宏塊的大小和劃分的子塊的大小對量化參數(shù)自適應地編碼和解碼非常有用。相關申請的交叉引用如果適用,本申請在35U. S. C§ 119(a)要求2010年5月19日在韓國提交的專利申請No. 10-2010-0046828以及2011年5月3日在韓國提交的專利申請No. 10-2011-0041832的優(yōu)先權,通過引用將其全部內容并入本文。此外,該非臨時申請以基于韓國專利申請相同的原因要求在除美國以外的國家的優(yōu)先權,并且通過引用將其全部內容并入本文。
權利要求
1.一種視頻編碼/解碼設備,該視頻編碼/解碼設備包括視頻編碼器,其基于與視頻的宏塊和宏塊中的子塊有關的附加信息對所述宏塊的量化參數(shù)值與所述子塊的量化參數(shù)值之間的差值進行編碼;以及視頻解碼器,其對由所述視頻編碼器編碼的量化參數(shù)的差值進行重構,基于重構的量化參數(shù)的差值來重構殘留塊,并且基于重構的殘留塊來重構所述視頻。
2.一種視頻編碼設備,該視頻編碼設備包括預測器,其通過預測宏塊被劃分成的子塊來生成預測子塊;減法器,其通過從所述子塊中減去所述預測子塊來生成殘留子塊;變換器/量化器,其通過根據(jù)所述子塊的大小對所述殘留塊進行變換/量化來生成量化變換系數(shù),并且基于與所述宏塊和所述子塊有關的附加信息來確定各個量化參數(shù);以及編碼器,其通過對所述量化變換系數(shù)進行熵編碼來生成編碼后數(shù)據(jù),并且對所述宏塊的量化參數(shù)值與所述子塊的量化參數(shù)值之間的差值進行編碼。
3.根據(jù)權利要求2所述的視頻編碼設備,其中,所述編碼器利用包括與所述宏塊和所述子塊有關的SKIP模式信息、編碼塊模式CBP信息和CBPX標記信息中的至少一個的附加信息來對所述宏塊的量化參數(shù)值與所述子塊的量化參數(shù)值之間的差值進行編碼。
4.根據(jù)權利要求2所述的視頻編碼設備,其中,如果當前塊的編碼塊模式不是0,則所述編碼器以所述當前塊為單位對量化參數(shù)的差值進行編碼。
5.根據(jù)權利要求2所述的視頻編碼設備,其中,如果當前塊的編碼塊模式不是0,則所述編碼器按照所述當前塊中的各個子塊為單位基于所述各個子塊的附加信息來對量化參數(shù)的差值進行編碼。
6.根據(jù)權利要求2所述的視頻編碼設備,其中,在預測當前塊的量化參數(shù)時,所述編碼器利用先前編碼的左側塊或上側塊的量化參數(shù)或者在編碼序列中在前的塊的量化參數(shù)來執(zhí)行差值化。
7.根據(jù)權利要求4所述的視頻編碼設備,其中,如果當前塊是幀間預測編碼模式并且如果所述當前塊是SKIP模式,則跳過對所述量化參數(shù)的編碼。
8.根據(jù)權利要求2所述的視頻編碼設備,其中,如果當前塊的編碼塊模式不是O并且所述當前塊中的第i個子塊的編碼塊模式不是0,則所述編碼器按照所述第i個子塊為單位對量化參數(shù)的差值進行編碼。
9.根據(jù)權利要求6所述的視頻編碼設備,其中,所述編碼器針對所述當前塊中的所述子塊順序地對量化參數(shù)的差值進行編碼。
10.根據(jù)權利要求2所述的視頻編碼設備,其中,如果所述宏塊中的所述子塊的編碼模式彼此不同,則所述編碼器針對所述各個編碼模式對至少一個量化參數(shù)的差值進行編碼。
11.根據(jù)權利要求2所述的視頻編碼設備,其中,如果所述宏塊被劃分為所述子塊并且所述子塊在編碼之前被劃分為下級子塊,則所述編碼器針對所述子塊的所述下級子塊對量化參數(shù)的代表值進行編碼。
12.根據(jù)權利要求11所述的視頻編碼設備,其中,所述編碼器在序列頭或片段頭中對用于將所述子塊的量化參數(shù)編碼為針對所述下級子塊的所述量化參數(shù)的代表值的最小子塊的大小進行編碼。
13.—種視頻解碼設備,該視頻解碼設備包括解碼器,其通過對編碼后數(shù)據(jù)進行解碼來重構附加信息和量化變換系數(shù),并且重構基于當前塊的所述附加信息而自適應確定并編碼的量化參數(shù)的差值;逆量化器/逆變換器,其通過對所述量化變換系數(shù)和所述量化參數(shù)的差值進行逆量化和逆變換來重構殘留塊;預測器,其利用基于所述當前塊重構的所述附加信息來生成預測塊;以及加法器,其通過將所述預測塊和所述殘留塊相加來重構所述當前塊。
14.根據(jù)權利要求13所述的視頻解碼設備,其中,如果所述當前塊的編碼塊模式不是 0,則所述解碼器按照所述當前塊為單位對所述量化參數(shù)的差值進行解碼。
15.根據(jù)權利要求13所述的視頻解碼設備,其中,如果所述當前塊是幀間預測編碼模式并且如果所述當前塊是SKIP模式,則跳過對所述量化參數(shù)的解碼。
16.根據(jù)權利要求13所述的視頻解碼設備,其中,如果所述當前塊的編碼塊模式不是O 并且所述當前塊中的第i個子塊的編碼塊模式不是0,則按照所述第i個子塊為單位對所述量化參數(shù)的差值進行解碼。
17.根據(jù)權利要求13所述的視頻解碼設備,其中,所述解碼器從序列頭或片段頭解碼出用于重構所述量化參數(shù)的最小子塊的大小。
18.根據(jù)權利要求13所述的視頻解碼設備,其中,所述解碼器利用所述當前塊的在先解碼的左側塊或上側塊的量化參數(shù)或者在解碼序列中在先的塊的量化參數(shù)來預測所述當前塊的量化參數(shù)。
19.一種視頻編碼/解碼方法,該視頻編碼/解碼方法包括以下步驟視頻編碼步驟,基于與視頻的宏塊和宏塊中的子塊有關的附加信息自適應地對所述宏塊的量化參數(shù)值與所述子塊的量化參數(shù)值之間的差值進行編碼;以及重構通過所述視頻編碼步驟自適應地編碼的量化參數(shù)的差值,基于重構的量化參數(shù)來重構殘留塊,并且基于重構的殘留塊來重構所述視頻。
20.一種視頻編碼方法,該視頻編碼方法包括以下步驟通過預測宏塊被劃分成的子塊來生成預測子塊;通過從所述子塊中減去所述預測子塊來生成殘留子塊;通過根據(jù)所述子塊的大小對所述殘留塊進行變換/量化來生成量化變換系數(shù),并且基于與所述宏塊和所述子塊有關的附加信息來確定各個量化參數(shù);以及通過對所述量化變換參數(shù)進行熵編碼來生成編碼后數(shù)據(jù),并且對所述宏塊的量化參數(shù)值與所述子塊的量化參數(shù)值之間的差值進行編碼。
21.根據(jù)權利要求20所述的視頻編碼方法,其中,所述量化參數(shù)編碼的處理利用包括與所述宏塊和所述子塊有關的SKIP模式信息、編碼塊模式CBP信息和CBPX標記信息中的至少一個的附加信息來對所述宏塊的所述量化參數(shù)值與所述子塊的所述量化參數(shù)值之間的差值進行編碼。
22.根據(jù)權利要求20所述的視頻編碼方法,其中,如果當前塊的編碼塊模式不是0,則所述量化參數(shù)編碼的處理按照所述當前塊為單位對量化參數(shù)的差值進行編碼。
23.根據(jù)權利要求20所述的視頻編碼方法,其中,如果當前塊的編碼塊模式不是0,則所述量化參數(shù)編碼的處理按照所述當前塊中的各個子塊為單位基于所述各個子塊的附加信息來對量化參數(shù)的差值進行編碼。
24.根據(jù)權利要求22或21所述的視頻編碼方法,其中,如果所述當前塊是幀間預測編碼模式并且如果所述當前塊是SKIP模式,則跳過對所述量化參數(shù)的編碼。
25.根據(jù)權利要求20所述的視頻編碼方法,其中,如果當前塊的編碼塊模式不是O并且所述當前塊中的第i個子塊的編碼塊模式不是0,則所述量化參數(shù)編碼的處理按照所述第i個子塊為單位對量化參數(shù)的差值進行編碼。
26.根據(jù)權利要求25所述的視頻編碼方法,其中,所述量化參數(shù)編碼的處理針對所述當前塊中的所述子塊順序地對量化參數(shù)的差值進行編碼。
27.根據(jù)權利要求20所述的視頻編碼方法,其中,如果所述宏塊中的所述子塊的編碼模式彼此不同,則所述量化參數(shù)編碼的處理針對所述各個編碼模式對至少一個量化參數(shù)的差值進行編碼。
28.根據(jù)權利要求20所述的視頻編碼方法,其中,如果所述宏塊被劃分為所述子塊并且所述子塊在編碼之前被劃分為下級子塊,則所述量化參數(shù)編碼的處理針對所述子塊的所述下級子塊對量化參數(shù)的代表值進行編碼。
29.根據(jù)權利要求28所述的視頻編碼方法,其中,所述量化參數(shù)編碼的處理在序列頭或片段頭中對用于將所述子塊的量化參數(shù)編碼為針對所述下級子塊的所述量化參數(shù)的代表值的最小子塊的大小進行編碼。
30.根據(jù)權利要求20所述的視頻編碼方法,其中,在預測當前塊的量化參數(shù)時,所述量化參數(shù)編碼的處理利用在先編碼的左側塊或上側塊的量化參數(shù)或者編碼序列中在先的塊的量化參數(shù)來執(zhí)行差值化。
31.一種視頻解碼方法,該視頻解碼方法包括以下步驟通過對編碼后數(shù)據(jù)進行解碼來重構附加信息和量化變換系數(shù),并且重構基于當前塊的所述附加信息而自適應確定并編碼的量化參數(shù)的差值;通過對所述量化變換系數(shù)和所述量化參數(shù)的差值進行逆量化和逆變換來重構殘留塊;利用所述當前塊的所述附加信息來生成預測塊;以及通過將所述預測塊與所述殘留塊相加來重構所述當前塊。
32.根據(jù)權利要求31所述的視頻解碼方法,其中,如果所述當前塊的編碼塊模式不是0,則按照所述當前塊為單位來重構所述量化參數(shù)的差值。
33.根據(jù)權利要求31所述的視頻解碼方法,其中,如果所述當前塊是幀間預測編碼模式并且如果所述當前塊是SKIP模式,則跳過對所述量化參數(shù)的解碼。
34.根據(jù)權利要求31所述的視頻解碼方法,其中,如果所述當前塊的編碼塊模式不是O并且所述當前塊中的第i個子塊的編碼塊模式不是0,則按照所述第i個子塊為單位來重構所述量化參數(shù)的差值。
35.根據(jù)權利要求31所述的視頻解碼方法,其中,所述量化參數(shù)重構的處理從序列頭或片段頭解碼出用于重構所述量化參數(shù)的最小子塊的大小。
36.根據(jù)權利要求31所述的視頻解碼方法,其中,所述量化參數(shù)重構的處理利用所述當前塊的在先解碼的左側塊或上側塊的量化參數(shù)或者解碼序列中在先的塊的量化參數(shù)來預測所述當前塊的量化參數(shù)。
全文摘要
公開了一種視頻編碼/解碼設備和方法。根據(jù)本發(fā)明的一個實施方式,所述視頻編碼/解碼設備包括視頻編碼器,其基于與視頻的宏塊和劃分的子塊相關的附加信息對所述宏塊的量化參數(shù)值與所述擴展宏塊中的劃分的子塊的量化參數(shù)值之間的差量值進行編碼;以及視頻解碼器,其對由所述視頻編碼器編碼的量化參數(shù)的差量值進行恢復,基于恢復的量化參數(shù)的差量值來恢復殘留塊,并且基于恢復的殘留塊來恢復視頻。
文檔編號H04N7/26GK103004194SQ201180035106
公開日2013年3月27日 申請日期2011年5月3日 優(yōu)先權日2010年5月19日
發(fā)明者宋振翰, 林晶娟, 韓鐘基, 李英烈, 文柱禧, 金海光, 全炳宇, 徐鉆源, 樸亨美 申請人:Sk電信有限公司