專利名稱:編碼設(shè)備和編碼方法
技術(shù)領(lǐng)域:
本發(fā)明涉及一種編碼設(shè)備、編碼方法、解碼設(shè)備、解碼方法、記錄介質(zhì)以及程序。例如,本發(fā)明涉及一種適于以高壓縮比編碼圖像信號(hào)以進(jìn)行傳輸或存儲(chǔ)的編碼設(shè)備、編碼方 法、解碼設(shè)備、解碼方法、記錄介質(zhì)以及程序。
背景技術(shù):
當(dāng)今,廣播電臺(tái)進(jìn)行信息分發(fā)以及家庭進(jìn)行信息接收都正在廣泛使用例如符合 MPEG (運(yùn)動(dòng)圖像專家組)的設(shè)備和運(yùn)動(dòng)補(bǔ)償(motioncompensation),其中MPEG是基于諸如 離散余弦變換的正交變換的圖像壓縮標(biāo)準(zhǔn),而運(yùn)動(dòng)補(bǔ)償是利用特定于圖像信息的冗余度將 圖像處理成數(shù)字信號(hào),以進(jìn)行有效傳輸和累積這種數(shù)字信號(hào)。特別是,MPEG2(IS0/IEC 13818-2)壓縮技術(shù)是被確定為包括隔行掃描圖像和逐行 掃描圖像以及標(biāo)準(zhǔn)分辨率圖像和高清晰度圖像的通用圖像壓縮方案的標(biāo)準(zhǔn)。因此,專業(yè)人 員和一般消費(fèi)者廣泛使用MPEG2,例如在DVD (數(shù)字通用光盤)標(biāo)準(zhǔn)中看到的那樣。通過對(duì)具有720X480像素的標(biāo)準(zhǔn)分辨率的隔行掃描圖像分配例如4至8Mbps的 位速率,而對(duì)具有1920X1088像素的高清晰度的隔行掃描圖像分配例如18X22Mbps的位 速率,使用MPEG2壓縮方案可以實(shí)現(xiàn)高壓縮比和高圖像質(zhì)量。由于MPEG2主要在于適于廣播的高質(zhì)量編碼技術(shù),所以它不支持高壓縮比的編碼 方案。這就是MPEG4編碼系統(tǒng)被標(biāo)準(zhǔn)化為高壓縮比編碼方案的原因。在1998年12月,該 圖像編碼方案被批準(zhǔn)為國(guó)際標(biāo)準(zhǔn)IS0/IEC 14496-2。此外,ITU-T(國(guó)際電信聯(lián)盟_電信標(biāo)準(zhǔn)化部門)促進(jìn)對(duì)最初用于視頻會(huì)議的圖像 編碼的H. 26 (ITU-T Q6/16VCEG)進(jìn)行標(biāo)準(zhǔn)化。H. 26L被稱為實(shí)現(xiàn)高編碼效率的標(biāo)準(zhǔn),但是與已知的諸如MPEG2和MPEG4相比,它 需要對(duì)編碼處理過程和解密處理過程進(jìn)行大量算術(shù)運(yùn)算。此外,當(dāng)前的MPEG4活動(dòng)之一包括與ITU-T聯(lián)合促進(jìn)的增強(qiáng)壓縮視頻編碼聯(lián)合模 型(Joint Model of Enhanced-Compression VideoCoding),用于對(duì)實(shí)現(xiàn)基于H. 26L 的高編 碼效率并采用H. 26L不支持的功能的編碼方案進(jìn)行標(biāo)準(zhǔn)化?,F(xiàn)在,將參考圖1說明基于諸如離散余弦變換或Karhimen-L0eve變換的正交變換 的已知圖像信息編碼設(shè)備以及運(yùn)動(dòng)補(bǔ)償。圖1示出已知圖像信息編碼設(shè)備的典型結(jié)構(gòu)。在相關(guān)圖像信息編碼設(shè)備中,A/D變換部分1將作為模擬信號(hào)的輸入圖像信號(hào)變 換為數(shù)字信號(hào),然后,將該數(shù)字信號(hào)送到圖像分類緩沖器2。根據(jù)相關(guān)圖像信息編碼設(shè)備輸 出的圖像壓縮信息的G0P(圖像組),圖像分類緩沖器2對(duì)A/D變換部分1輸出的圖像信息 中的各幀進(jìn)行重新排列。
首先,說明被intra編碼(在圖像內(nèi)編碼)的圖像。在圖像分類緩沖器2中,通過加法器3,將要進(jìn)行intra編碼的圖像的圖像信息送到正交變換部分4。在正交變換部分4,對(duì)圖像信息進(jìn)行正交變換(例如,離散余弦變換或 Karhunen-Loeve變換),然后,將獲得的變換系數(shù)送到量化部分5。在量化部分5,在速率控 制部分8的控制下,根據(jù)累積(accumulate)在累積緩沖器7內(nèi)的變換系數(shù)數(shù)據(jù)的數(shù)量,對(duì) 正交變換部分4提供的變換系數(shù)進(jìn)行量化處理。在無損編碼部分6,根據(jù)量化部分5提供的量化變換系數(shù)、量化比例等,確定編碼 模式,然后,對(duì)確定的編碼模式進(jìn)行無損編碼(例如,可變長(zhǎng)度編碼或算術(shù)編碼),以形成要 存儲(chǔ)到圖像編碼單元的標(biāo)題的信息。此外,將被編碼的編碼模式送到累積緩沖器7進(jìn)行累 積。累積在累積緩沖器7內(nèi)的編碼的編碼模式被輸出到后續(xù)級(jí),作為圖像壓縮信息。此外,在無損編碼部分6,對(duì)量化的變換系數(shù)進(jìn)行無損編碼,并將編碼的變換系數(shù) 累積到累積緩沖器7。還將累積在累積緩沖器7內(nèi)的編碼變換系數(shù)輸出到后續(xù)級(jí),作為圖像 壓縮信息。在去量化部分9,對(duì)量化部分5量化的變換系數(shù)進(jìn)行去量化。在逆正交變換部分 10,對(duì)去量化變換系數(shù)進(jìn)行逆正交變換處理,然后,產(chǎn)生解碼的圖像信息。將產(chǎn)生的解碼的 圖像信息累積到幀存儲(chǔ)器11?,F(xiàn)在,說明被inter編碼(在圖像間進(jìn)行編碼)的圖像。在圖像分類緩沖器2,將 要進(jìn)行inter編碼的圖像的圖像信息送到加法器3和運(yùn)動(dòng)預(yù)測(cè)/補(bǔ)償部分12。在運(yùn)動(dòng)預(yù)測(cè)/補(bǔ)償部分12,從幀存儲(chǔ)器11讀出受到inter編碼且對(duì)應(yīng)于圖像分類 緩沖器2輸出的圖像的作為基準(zhǔn)的圖像信息,并對(duì)其進(jìn)行運(yùn)動(dòng)預(yù)測(cè)/補(bǔ)償處理,以產(chǎn)生基準(zhǔn) 圖像信息,之后,將該基準(zhǔn)圖像信息送到加法器3。此外,將通過在運(yùn)動(dòng)預(yù)測(cè)/補(bǔ)償部分12 內(nèi)進(jìn)行運(yùn)動(dòng)預(yù)測(cè)/補(bǔ)償處理獲得的運(yùn)動(dòng)矢量信息送到無損編碼部分6。在加法器3,根據(jù)圖像分類緩沖器輸出的、被進(jìn)行inter編碼處理的圖像的圖像 信息,將運(yùn)動(dòng)預(yù)測(cè)/補(bǔ)償部分12輸出的基準(zhǔn)圖像信息變換為微分信號(hào)(differential signal)0在對(duì)被inter編碼的圖像進(jìn)行處理時(shí),在正交變換部分4內(nèi)對(duì)微分信號(hào)進(jìn)行正交 變換,然后,將獲得的變換系數(shù)送到量化部分5。在量化部分5,在速率控制部分8的控制下, 對(duì)正交變換部分4提供的變換系數(shù)進(jìn)行量化處理。 在無損編碼部分6,根據(jù)變換系數(shù)和量化部分5量化的量化比例以及運(yùn)動(dòng)預(yù)測(cè)/補(bǔ) 償部分12輸出的運(yùn)動(dòng)矢量信息和其它信息,確定編碼模式。然后,對(duì)確定的編碼模式進(jìn)行 無損編碼,以產(chǎn)生要存儲(chǔ)到圖像編碼單元的標(biāo)題的信息。將編碼的編碼模式累積到累積緩 沖器7。輸出累積在累積緩沖器7內(nèi)的、被編碼的編碼模式,作為圖像壓縮信息。此外,在無損編碼部分6,對(duì)運(yùn)動(dòng)預(yù)測(cè)/補(bǔ)償部分12輸出的運(yùn)動(dòng)矢量信息進(jìn)行無損 編碼處理,以產(chǎn)生要存儲(chǔ)到圖像編碼單元的標(biāo)題的信息。在對(duì)被inter編碼的圖像進(jìn)行處理時(shí),以與intra編碼相同的處理方式,進(jìn)行去量 化部分9內(nèi)的處理以及后續(xù)處理,因此不作說明?,F(xiàn)在,將參考圖2說明接收?qǐng)D1所示已知圖像信息編碼設(shè)備輸出的圖像壓縮信息 的已知圖像信息解碼設(shè)備。圖2示出已知圖像信息解碼設(shè)備的典型結(jié)構(gòu)。在相關(guān)圖像信息解碼設(shè)備中,將已經(jīng)輸入的圖像壓縮信息臨時(shí)存儲(chǔ)到累積緩沖器21,并傳送到無損解碼部分22。根據(jù)圖像壓縮信息的預(yù)定格式,無損解碼部分22(例如,可 變長(zhǎng)度解碼或算術(shù)解碼)對(duì)圖像壓縮信息進(jìn)行無損解碼,以獲取存儲(chǔ)在標(biāo)題內(nèi)的編碼模式 信息,然后,將它送到去量化部分23。無損解碼部分22還獲取量化變換系數(shù),以將它送到去 量化部分23。此外,如果已經(jīng)對(duì)要編碼的幀進(jìn)行了 inter編碼,則無損解碼部分22還對(duì)存 儲(chǔ)到圖像壓縮信息的標(biāo)題的運(yùn)動(dòng)矢量信息進(jìn)行解碼處理,并將該信息送到運(yùn)動(dòng)預(yù)測(cè)/補(bǔ)償 部分28。去量化部分23對(duì)無損解碼部分22提供的量化變換系數(shù)進(jìn)行去量化,然后,將獲得 的變換系數(shù)送到逆正交變換部分24。根據(jù)圖像壓縮信息的預(yù)定格式,逆正交變換部分24對(duì) 變換系數(shù)進(jìn)行逆正交變換(例如,離散余弦逆變換或Karhunen-Loeve逆變換)。如果對(duì)相關(guān)幀進(jìn)行intra編碼,則通過加法器25,將被進(jìn)行逆正交變換的圖像信 息存儲(chǔ)到圖像分類緩沖器26,D/A變換部分27將它變換為模擬信號(hào),然后,將它輸出到后續(xù) 級(jí)。還將被逆正交變換的圖像信息存儲(chǔ)到幀存儲(chǔ)器29。 此外,如果對(duì)相關(guān)幀進(jìn)行了 inter編碼,則根據(jù)無損解碼部分22輸出的運(yùn)動(dòng)矢量 信息和存儲(chǔ)在幀存儲(chǔ)器29內(nèi)的圖像信息,運(yùn)動(dòng)預(yù)測(cè)/補(bǔ)償部分28產(chǎn)生基準(zhǔn)圖像,然后,將 它送到加法器25。在加法器25,將運(yùn)動(dòng)預(yù)測(cè)/補(bǔ)償部分28輸出的基準(zhǔn)圖像與逆正交變換 部分25的輸出組合在一起,以產(chǎn)生圖像信息。以對(duì)幀進(jìn)行intra編碼處理的同樣方式,進(jìn) 行其它處理,因此不對(duì)此作說明。根據(jù)H. 26L,將兩種類型的編碼定義為無損編碼方案UVLC (通用可變長(zhǎng)度代碼), 一種類型的可變長(zhǎng)度編碼,以及CABAC (基于上下文的自適應(yīng)二進(jìn)制算術(shù)編碼),一種類型 的算術(shù)編碼。因此,用戶可以選擇UVLC和CABAC之一作為無損編碼方案。在圖像壓縮信息 中,包括在RTP層的RTP參數(shù)設(shè)置分組內(nèi)的被稱為熵編碼的字段規(guī)定用于表示所采用的無 損編碼方案是UVLC還是CABAC的信息?,F(xiàn)在,將說明CABAC所屬的算術(shù)編碼。在算術(shù)編碼過程中,任何消息(包括多個(gè)字 母符號(hào))均被表示為一個(gè)半開間隔X < 1. 0中的點(diǎn),并根據(jù)該點(diǎn)的坐標(biāo)產(chǎn)生代碼。首先,根據(jù)包括在字母序列中的符號(hào)的出現(xiàn)概率,將半開間隔χ < 1. 0分割 為各子間隔,每個(gè)子間隔對(duì)應(yīng)于一個(gè)符號(hào)。圖3示出具有其相應(yīng)子間隔的符號(hào)S1至S7的出現(xiàn)概率的例子。在算術(shù)編碼過程 中,根據(jù)每個(gè)符號(hào)的累加出現(xiàn)概率,確定子間隔的上限和下限,如圖3所示。符號(hào)Si(i = 1, 2,... 7)的子間隔的下限等于先前符號(hào)Sg的上限,而符號(hào)Si的子間隔的上限等于通過將 符號(hào)Si的出現(xiàn)概率與符號(hào)Si的子間隔的下限相加獲得的值。我們假定輸入(S2S1S3S6S7)作為消息。在此,假定符號(hào)S7是表示消息結(jié)束的終端符 號(hào)??傊⒁栽摻K端符號(hào)結(jié)束。算術(shù)編碼方案計(jì)算對(duì)應(yīng)于包括在該消息(S2SlS3S6S7)內(nèi) 的每個(gè)符號(hào)的子間隔,如圖4所示。換句話說,與后續(xù)符號(hào)的累加出現(xiàn)概率成正比,分割如 圖3所示分配的間隔。最終獲得的子間隔是包括表示該消息的值的范圍。這樣,該范圍內(nèi) 的任何值均可以唯一地恢復(fù)相應(yīng)消息。然而,請(qǐng)注意,考慮到編碼效率,可以利用半開間隔 內(nèi)的2的冪表示的值表示該消息。更具體地說,在該例中,根據(jù)如下所示的表達(dá)式(1),利用如下所示的表達(dá)式(2) 獲得的值表示包括在半開間隔0. 21164 ^x <0. 2117內(nèi)的消息。<formula>formula see original document page 5</formula><formula>formula see original document page 6</formula>因此,對(duì)于對(duì)應(yīng)于消息(S2S1S3S6S7)的代碼長(zhǎng)度,12位的代碼長(zhǎng)度足夠,因此可以 表示從2-1到2_12的值,以將該消息(S2S1S3S6S7)編碼為(001101100011)?,F(xiàn)在,將說明H.26L定義的CABAC。文獻(xiàn)"Video CompressionUsing Context-Based Adaptive Arithmetic Coding”,Marpe 等,ICIOl (以下稱為文獻(xiàn) 1)對(duì) CABAC 進(jìn)行了詳細(xì)說 明。與也是在H. 26L內(nèi)定義的UVLC相比,CABAC具有以下3個(gè)特點(diǎn)。第一個(gè)特點(diǎn)是,能夠通過根據(jù)獨(dú)立概率模型,利用適于要編碼的每個(gè)符號(hào)的上下 文模型進(jìn)行算術(shù)編碼,來減小符號(hào)間的冗余度。第二個(gè)特點(diǎn)是,能夠在算術(shù)編碼過程中,對(duì)每個(gè)符號(hào)指定非整數(shù)值的位速率,即, 能夠?qū)崿F(xiàn)類似于熵的編碼效率的編碼效率。例如,運(yùn)動(dòng)矢量的統(tǒng)計(jì)數(shù)據(jù)在空間和時(shí)間上以及相對(duì)于位速率和序列是可變的。 第三個(gè)特點(diǎn)是能夠通過進(jìn)行自適應(yīng)編碼,響應(yīng)于這些改變來執(zhí)行編碼。圖5示出對(duì)其應(yīng)用CABAC的CABAC編碼器的典型結(jié)構(gòu)。在相關(guān)CABAC解碼器中, 上下文建模部分31首先根據(jù)歷史將圖像壓縮信息中任何語法單元(syntax element)的符 號(hào)變換為正確的上下文模型。這種建模過程被稱為上下文建模。下面將說明圖像壓縮信息 中的每個(gè)語法單元的上下文模型。二值化部分32 二值化未被二值化的符號(hào)。然后,在自適應(yīng)二進(jìn)制算術(shù)編碼部分 33,概率估計(jì)部分34對(duì)二值化符號(hào)進(jìn)行概率估計(jì),然后,根據(jù)該概率估計(jì)值,編碼引擎35進(jìn) 行自適應(yīng)算術(shù)編碼。進(jìn)行了自適應(yīng)算術(shù)編碼處理之后,更新相關(guān)模型,并且每個(gè)模型可根據(jù) 實(shí)際圖像壓縮信息的統(tǒng)計(jì)數(shù)據(jù)進(jìn)行編碼處理。在此,現(xiàn)在,將說明對(duì)作為圖像壓縮信息中的語法單元的MB_type (MB_type)、運(yùn)動(dòng) 矢量信息(MVD)以及基準(zhǔn)幀參數(shù)(Ref_frame)執(zhí)行算術(shù)編碼的上下文模型。分別對(duì)兩種情況intra編碼和inter編碼說明MB_type的上下文模型生成過程。如圖6所示,在intra幀排列宏塊A、B和C,根據(jù)如下所示的表達(dá)式(3),確定對(duì)應(yīng)于宏塊C的MB_type的上下文模型ctxjnb-typejntra (C)。intra幀宏塊的模式是 Intra4X4 或; Intral6\l0<formula>formula see original document page 6</formula>
在表達(dá)式(3)中,當(dāng)宏塊A是Intra4X4時(shí),A是0,或者當(dāng)宏塊A是Intral6Xl 時(shí),A是1。同樣,當(dāng)宏塊B是Intra4X4時(shí),B是0,或者當(dāng)宏塊B是Intral6Xl時(shí),B是1。 因此,上下文模型ctx_mb_type_intra(C)取0、1和2之一。如果如圖6所示,宏塊A、B和C排列在是P圖像的inter巾貞,則根據(jù)如下所示的表 達(dá)式(4)確定對(duì)應(yīng)于宏塊C的MB_type的上下文模型ctX_mb_type_inter (C)。如果相關(guān) inter幀是B圖像,則根據(jù)如下所示的表達(dá)式(5)確定上下文模型CtX_mb_type_inter (C)。ctx_mb_type_inter(C)= ((A==Skip) 0:1) + ((B == Skip) ? 0:1)…(4)ctx_mb_type_inter(C)= ((A == Direct) ? 0:1) + ((B == Direct) ? 0:1) …(5)在表達(dá)式(4)中,如果宏塊A處于跳越(Skip)模式,則算子((A = =Skip) ? 0:1) 表示0,或者如果宏塊A不處于跳越模式,則算子((A==Skip) ? 0:1)表示1。同樣,如 果宏塊B處于跳越(Skip)模式,則算子((B==Skip) ? 0:1)表示0,或者如果宏塊B不 處于跳越模式,則算子((B == Skip) ? 0:1)表示1。在表達(dá)式(5)中,如果宏塊A處于直接(Direct)模式,則算子((A== Direct) ? 0:1)表示0,或者如果宏塊A不處于直接(Direct)模式,則算子((A==Direct) ? 0:1) 表示1。同樣,如果宏塊B處于直接(Direct)模式,則算子((B==Direct) ? 0:1)表示 0,或者如果宏塊B不處于直接模式,則算子((B==Direct) ? 0:1)表示1。因此,對(duì)于P圖像和B圖像中的每個(gè),存在3種對(duì)應(yīng)于inter幀(P圖像)上的宏 塊 C 的 MB_type 的上下文模型 ctx_mb_type_inter (C)?,F(xiàn)在,將說明運(yùn)動(dòng)矢量信息(MVD)的上下文模型生成過程。從對(duì)應(yīng)于相鄰宏塊的運(yùn)動(dòng)矢量,將包括在圖像壓縮信息內(nèi)的、對(duì)應(yīng)于感興趣宏塊 的運(yùn)動(dòng)矢量信息編碼為預(yù)測(cè)誤差。根據(jù)如下所示的表達(dá)式(6),確定如7所示排列的宏塊 A、B和C中的感興趣宏塊C的評(píng)估函數(shù)ek(C)。在表達(dá)式(6)中,k = 0表示水平分量,而k =1表示垂直分量。 ek (C) = I mvdk (A) | +1 mvdk (B) |... (6)這里,Hivdk(A)和Hivdk(B)分別表示與宏塊C相鄰的宏塊A和B的運(yùn)動(dòng)矢量預(yù)測(cè)誤差。在表達(dá)式(6)中,如果宏塊C設(shè)置在圖像幀的左邊緣,S卩,如果不存在宏塊A和B 之一,則不能獲得與相應(yīng)運(yùn)動(dòng)矢量預(yù)測(cè)誤差I(lǐng)Wdk(A)或HlVdk⑶有關(guān)的信息,因此,忽略表達(dá) 式(6)右邊的相應(yīng)項(xiàng)。根據(jù)下面的表達(dá)式(7-1)至(7-3),確定上面描述的對(duì)應(yīng)于ek(C)的 上下文模型ctxjwd (C,k)。ctx_mvd(C, k) = 0 ek (C) < 3(7-1)ctx_mvd(C, k) = 1 32 < ek(C)(7-2)ctx_mvd(C, k) = 2 3 ^ ek (C) ^ 32(7-3)如圖8所示,進(jìn)行運(yùn)動(dòng)矢量信息(MVD)的上下文模型生成過程。更具體地說,宏塊C的運(yùn)動(dòng)矢量預(yù)測(cè)誤差HiVdk(C)被劃分為絕對(duì)值Imvdk(C) I和正負(fù)號(hào)。對(duì)絕對(duì)值Imvdk(C) 進(jìn)行二值化。利用上述上下文模型Ctxjwd(C,k),編碼二值化的絕對(duì)值Imvdk(C) I的第一 bin (最左邊的值)。利用上下文模型3,編碼第二 bin (從左側(cè)開始的第二個(gè)值)。同樣,分別利用上下文模型4和5,編碼第三和第四bin。利用上下文模型6,編碼第五bin和后續(xù) bin。利用上下文模型7,編碼mvdk(C)的正負(fù)號(hào)。如上所述,利用8種上下文模型,編碼運(yùn) 動(dòng)矢量信息(MVD)?,F(xiàn)在,將說明用于編碼基準(zhǔn)幀參數(shù)(Ref_frame)的上下文模型。當(dāng)兩個(gè)或者更多個(gè)基準(zhǔn)幀用于inter幀時(shí),對(duì)inter幀的每個(gè)宏塊設(shè)置與基準(zhǔn)幀有關(guān)的信息。如果對(duì)于如圖6所示排列的宏塊A、B和C,宏塊A和B的基準(zhǔn)幀參數(shù)被分別 表示為A和B,則根據(jù)如下所示的表達(dá)式(B)確定宏塊C的上下文模型CtX_ref_frame (C)。ctx_ref_frame (C) = ((A==O) ? 0 1)+2 ((B = = 0) ? 0:1)... (8)在表達(dá)式⑶中,當(dāng)宏塊A的基準(zhǔn)幀參數(shù)是0時(shí),算子((A==O) ? 0:1)是0,或 者當(dāng)宏塊A的基準(zhǔn)幀參數(shù)不是0時(shí),算子((A==O) ? 0:1)是1。同樣,當(dāng)宏塊B的基準(zhǔn) 幀參數(shù)是0時(shí),算子((B==O) ? 0:1)是0,或者當(dāng)宏塊B的基準(zhǔn)幀參數(shù)不是0時(shí),算子 ((B = = 0) ? 0:1)是 1。因此,根據(jù)表達(dá)式(8)確定4種用于編碼基準(zhǔn)幀參數(shù)(Ref_frame)的上下文模型。 此外,確定第二 bin的上下文模型和第三bin以及后續(xù)bin的上下文模型?,F(xiàn)在,說明用于對(duì)碼塊圖樣(CBP)、intra預(yù)測(cè)模式(IPRED)以及(RUN,LEVEL)信 息進(jìn)行算術(shù)編碼的上下文模型,其中所述碼塊圖樣是與根據(jù)H. 26L包括在圖像壓縮信息內(nèi) 的紋理信息有關(guān)的語法單元。從與碼塊圖樣有關(guān)的上下文模型開始進(jìn)行說明。下面確定處理不是IntraieX 16 宏塊的碼塊圖樣的過程。即,作為亮度信號(hào)的CBP位,Intral6X16宏塊的4個(gè)8X8塊的每一個(gè)內(nèi)分別包 括一個(gè)CBP位,即,全部4個(gè)CBP位。當(dāng)如圖6所示排列宏塊A、B和C時(shí),根據(jù)如下所示的 表達(dá)式(9),確定對(duì)應(yīng)于宏塊C的亮度信號(hào)的上下文模型CtX_Cbp_lUma(C)。ctx_cbp_luma (C) = A+2B. . . (9)在表達(dá)式(9)中,A表示宏塊A的亮度信號(hào)的CBP位,而B表示宏塊B的亮度信號(hào) 的CBP位。CBP字段內(nèi)的剩余2位與色度信號(hào)有關(guān)。根據(jù)如下所示的表達(dá)式(10),確定對(duì)應(yīng) 于宏塊C的色度信號(hào)的上下文模型ctX_Cbp_Chr0ma_Sig(C)。ctx_cbp_chroma_sig(C) = A+2B…(10)在表達(dá)式(10)中,A表示宏塊A的色度信號(hào)的CBP位,而B表示宏塊B的色度信 號(hào)的CBP位。在此,如果對(duì)應(yīng)于宏塊C的色度信號(hào)的上下文模型ctX_Cbp_Chr0ma_Sig(C)不是 0,即,如果存在色度信號(hào)的AC分量,則需要對(duì)根據(jù)如下所示的表達(dá)式(11)確定的宏塊C的 色度信號(hào)的AC分量的上下文模型ctx_cbp_chr0ma_ac (C)進(jìn)行編碼。ctx_cbp_chroma_ac (C) = A+2B…(11)在表達(dá)式(11)中,A表示對(duì)應(yīng)于宏塊A的cbp_chroma_ac判定,而B表示對(duì)應(yīng)于 宏塊B的cbp_chroma_ac判定。由于對(duì)intra宏塊和inter宏塊,分別確定根據(jù)表達(dá)式(9)至(11)確定的上下文 模型,所以確定全部24( = 2X3X4)種上下文模型。此外,對(duì)于Intral6X 16宏塊,對(duì)二值化AC判定,確定一種上下文模型,而對(duì)色度信號(hào)的每個(gè)分量,分別確定一種上下文模型?,F(xiàn)在,將說明與intra預(yù)測(cè)模式(IPRED)有關(guān)的上下文模型?,F(xiàn)在,將參考圖9和10說明H. 26L定義的6種intra預(yù)測(cè)模式(標(biāo)記0至5)。圖9示出存在于通過分割宏塊 產(chǎn)生的4 X 4塊內(nèi)的像素a至ρ和存在于相鄰4 X 4塊內(nèi)的像素A至I。圖10中的標(biāo)記1至 5表示具有不同方向的intra預(yù)測(cè)模式。標(biāo)記0表示的intra預(yù)測(cè)模式是DC預(yù)測(cè)模式(DC 預(yù)測(cè))。在標(biāo)記0的intra預(yù)測(cè)模式中,根據(jù)如下所示的表達(dá)式(12)預(yù)測(cè)像素a至ρ。像素a 至 ρ = (A+B+C+D+E+F+G+H) //8... (12)在表達(dá)式(12)至(15)中,A至I分別表示像素A至I,而符號(hào)“//”意味著這樣的 算術(shù)運(yùn)算,以使分割結(jié)果四舍五入為整數(shù)。在標(biāo)記0表示的intra預(yù)測(cè)模式下,如果在圖像幀內(nèi)不存在8個(gè)像素A至H的4 個(gè)像素(例如,像素A至D),則不需要表達(dá)式(12),而將剩余4個(gè)像素(在這種情況下,像 素E至H)的均值用作像素a至ρ的預(yù)測(cè)值。此外,如果在圖像幀內(nèi)不存在8個(gè)像素A至H 中的任何一個(gè),則不使用表達(dá)式(12),而將預(yù)定值(例如,128)用作像素a至ρ的預(yù)測(cè)值。標(biāo)記1表示的intra預(yù)測(cè)模式被稱為垂直/對(duì)角預(yù)測(cè)。僅當(dāng)圖像幀內(nèi)存在4個(gè)像 素A至D時(shí),使用標(biāo)記1的intra預(yù)測(cè)模式。在這種情況下,根據(jù)如下所示的表達(dá)式(13_1) 至(13-6)預(yù)測(cè)像素a至ρ。像素a = (A+B) //2. . . (13-1)像素e = B. . . (13-2)像素b,i = (B+C)//2. . . (13-3)像素f,m= C. . . (13-4)像素c,j = (C+D) //2. . . (13-5)像素d,g,h,k,1,η,ο,ρ = D· · · (13-6)標(biāo)記2表示的intra預(yù)測(cè)模式被稱為垂直預(yù)測(cè)。僅當(dāng)圖像幀內(nèi)存在4個(gè)像素A至 D時(shí),使用標(biāo)記2的intra預(yù)測(cè)模式。例如,像素A用作例如像素a、e、i和m的預(yù)測(cè)值,而 像素B用作例如像素b、f和η的預(yù)測(cè)值。標(biāo)記3表示的intra預(yù)測(cè)模式被稱為對(duì)角預(yù)測(cè)。僅當(dāng)圖像幀內(nèi)存在9個(gè)像素A 至I時(shí),使用標(biāo)記1的intra預(yù)測(cè)模式。在這種情況下,根據(jù)如下所示的表達(dá)式(14_1)至 (14-7)預(yù)測(cè)像素a至ρ。像素m = (H+2G+F)//4. · · (14-1)像素i,η = (G+2F+E) //4... (14-2)像素e,j,ο = (F+2E+I)//4. . . (14-3)像素a,f, k, ρ = (E+2I+A) //4. . . (14-4)像素b,g,1 = (I+2A+B) //4. . . (14-5)像素c,h = (A+2B+C)//4. · · (14-6)像素d = (B+2C+D) //4. · . (14-7)標(biāo)記4表示的intra預(yù)測(cè)模式被稱為水平預(yù)測(cè)。僅當(dāng)圖像幀內(nèi)存在4個(gè)像素E至 H時(shí),使用標(biāo)記4的intra預(yù)測(cè)模式。在這種情況下,像素E用作例如像素a、b、c和d的預(yù) 測(cè)值,而像素F用作例如像素e、f、g和h的預(yù)測(cè)值。
標(biāo)記5表示的intra預(yù)測(cè)模式被稱為水平/對(duì)角預(yù)測(cè)。僅當(dāng)圖像幀內(nèi)存在4個(gè)像 素E至H時(shí),使用標(biāo)記5的intra預(yù)測(cè)模式。在這種情況下,根據(jù)如下所示的表達(dá)式(15_1) 至(15-6)預(yù)測(cè)像素a至ρ。像素a=(E+F)//2. · · (15-1)像素b= F...(15-2)像素c,e = (F+G) //2. . . (15-3)像素f,d = G...(15-4)像素i,g = (G+H)//2. . . (15-5)像素h,j,k,l,m,n,o,p = H· · · (15-6)對(duì)標(biāo)記0至5的intra預(yù)測(cè)模式中的每個(gè)分別確定兩個(gè)上下文模型。更具體地 說,對(duì)于每種模式,兩個(gè)上下文模型之一是第一 bin,而對(duì)于每種模式,兩個(gè)上下文模型之另 一是第二 bin。除了這些上下文模型外,在IntraieX 16模式下,對(duì)兩位分別確定一個(gè)上下 文模型。因此,對(duì)intra預(yù)測(cè)模式總共確定14個(gè)上下文模型?,F(xiàn)在,將說明與(RUN、LEVEL)有關(guān)的上下文模型。在H.26L中,將圖IlA和IlB所示的兩種掃描方法定義為用于將二維離散余弦變 換系數(shù)重新排列為一維系數(shù)的方法。在不是其中量化參數(shù)QP小于24的情況下,圖IlA所 示的單掃描技術(shù)用于intra宏塊的亮度信號(hào)。在不能使用單掃描技術(shù)時(shí),使用圖IlB所示 的雙掃描技術(shù)。在量化參數(shù)QP為24或者更大的inter宏塊和intra宏塊,對(duì)于4X4宏塊,存在 一個(gè)非零系數(shù)的平均值,總之,一個(gè)一位EOB (塊末尾)信號(hào)足夠了。對(duì)于量化參數(shù)QP小于 24的intra宏塊亮度信號(hào),存在兩個(gè)或者更多個(gè)非零系數(shù),并且一個(gè)一位EOB信號(hào)不夠。這 是采用圖IlB所示雙掃描技術(shù)的原因。如圖12所示,根據(jù)上述掃描方法的區(qū)別、DC塊類型與AC塊類型之間的區(qū)別、亮度 信號(hào)與色度信號(hào)之間的區(qū)別以及intra宏塊與inter宏塊之間的區(qū)別,對(duì)(RUN,LEVEL)確 定9種上下文模型。將LEVEL信息分割為正負(fù)號(hào)和絕對(duì)值。根據(jù)圖12所示的相應(yīng)CtX_run_leVel,確 定4個(gè)上下文模型。更具體地說,對(duì)正負(fù)號(hào)確定第一上下文模型,對(duì)第一 bin確定第二上下 文模型,對(duì)第二 bin確定第二上下文模型以及對(duì)后續(xù)bin確定第四上下文模型。當(dāng)LEVEL不是0時(shí)(S卩,當(dāng)LEVEL不是EOB時(shí)),對(duì)以下描述的RUN編碼。對(duì)于 RUN,對(duì)圖12所示的每個(gè)CtX_run_leVel,確定兩個(gè)上下文模型一個(gè)用于第一 bin,而另一 個(gè)用于第二和后續(xù)bin?,F(xiàn)在說明用于與量化有關(guān)的參數(shù)Dquant的上下文模型,可以根據(jù)H. 26L在圖像壓 縮信息中的宏塊級(jí)設(shè)置該與量化有關(guān)的參數(shù)。當(dāng)宏塊的碼塊圖樣包括非零正交變換系數(shù),或者在對(duì)該宏塊進(jìn)行16X16Intra編碼時(shí),設(shè)置該參數(shù)Dquant。參數(shù)Dquant可以在-16至16的范圍內(nèi)。根據(jù)如下所示的、采用 圖像壓縮信息內(nèi)的參數(shù)Dquant的表達(dá)式(16),計(jì)算宏塊的量化參數(shù)QUANT_。QUANTnew = modulo32 (QUANTold+DQUANT+32) . · · (16)在表達(dá)式(16)中,QUANTold是用于先前編碼或解碼的量化參數(shù)。根據(jù)如下所示的表達(dá)式(17)確定如圖6所示排列的宏塊C的參數(shù)Dquant的第一上下文模型ctx_dquant (C)。<formula>formula see original document page 11</formula>…(17)在表達(dá)式(17)中,A表示宏塊A的參數(shù)Dquant的值。對(duì)第一 bin確定第二上下 文模型,而對(duì)第二和后續(xù)bin確定第二上下文模型。如果未對(duì)輸入到上述上下文模型的符號(hào)進(jìn)行二值化,則在可以將該符號(hào)輸入到上 下文模型之前,必須二值化該符號(hào)。根據(jù)圖13所示的關(guān)系,二值化非MB_type的語法單元。根據(jù)圖14A所示的關(guān)系對(duì)MB_type進(jìn)行二值化,其中對(duì)P圖像確定了 10種MB_ type。此外,根據(jù)圖14B所示的關(guān)系對(duì)MB_type進(jìn)行二值化,其中對(duì)B圖像確定17種MB_ type。利用預(yù)計(jì)算值,預(yù)初始化上述各種上下文模型的寄存器,并且當(dāng)對(duì)符號(hào)進(jìn)行編碼 時(shí),連續(xù)更新一系列上下文模型的各bin的出現(xiàn)頻率,以確定后續(xù)符號(hào)的編碼過程。如果給定上下文模型的出現(xiàn)頻率超過預(yù)定值,則頻率計(jì)數(shù)器遞減。通過這樣進(jìn)行 周期性縮放處理,容易處理符號(hào)的動(dòng)態(tài)出現(xiàn)率。對(duì)于H. 26L內(nèi)的二值化符號(hào)的算術(shù)編碼方案,從本說明書的開頭,就采用文獻(xiàn) "Arithmetic Coding for Data Compression,,(Witten etal.of the ACM,30(6), 1987, PP520-541)(以下稱為文獻(xiàn)2)中描述的方法。在MPEG2中,如果要輸入的圖像信號(hào)是隔行掃描格式,可以在宏塊級(jí)進(jìn)行場(chǎng)/幀自 適應(yīng)編碼處理。盡管當(dāng)前在H. 26L中沒有確定這種規(guī)范,但是文獻(xiàn)“InterlaceCoding Tools for H. 26L Video Coding (L. Wang et al.,VCEG-037, Dec. 2001) ” (以下稱為文獻(xiàn) 3)建議對(duì) H. 26L規(guī)范進(jìn)行擴(kuò)展,以在宏塊級(jí)支持場(chǎng)/幀自適應(yīng)編碼處理?,F(xiàn)在,將說明文獻(xiàn)3中建議的在宏塊級(jí)進(jìn)行場(chǎng)/幀自適應(yīng)編碼處理的過程。根據(jù)當(dāng)前的H. 26L,如圖15所示,有七種類型的模式(模式1至7)被定義為宏塊 也的運(yùn)動(dòng)預(yù)測(cè)/補(bǔ)償單元。文獻(xiàn)3建議將幀/場(chǎng)標(biāo)志設(shè)置在Run與MB_type之間,作為對(duì)應(yīng)于圖像壓縮信息 內(nèi)的宏塊的語法,如圖16所示。如果幀/場(chǎng)標(biāo)志的值是0,則它表示要對(duì)相關(guān)宏塊進(jìn)行基于 幀的編碼。相反,如果幀/場(chǎng)標(biāo)志的值是1,則它表示要對(duì)相關(guān)宏塊進(jìn)行基于場(chǎng)的編碼。如果幀/場(chǎng)標(biāo)志的值是1,即,如果進(jìn)行基于場(chǎng)的編碼,則按行重新排列宏塊內(nèi)的 各像素,如圖17所示。如果幀/場(chǎng)標(biāo)志的值是1,則將如圖18所示的5種類型的模式(模式Ia至5a), 即對(duì)應(yīng)于圖15所示的模式3至7的5種模式定義為宏塊中的運(yùn)動(dòng)預(yù)測(cè)/補(bǔ)償單元。例如,在圖18所示的模式2a,通過分割宏塊產(chǎn)生的4個(gè)8 X 8塊0至3中的塊0和 1屬于相同的場(chǎng)奇偶性,并且塊2和3屬于相同的場(chǎng)奇偶性。此外,例如,在圖18所示的模 式3a下,通過分割宏塊產(chǎn)生的8個(gè)4X8塊0至8中的塊0至3屬于相同的場(chǎng)奇偶性,而塊 4至7屬于相同的場(chǎng)奇偶性?,F(xiàn)在,將說明幀/場(chǎng)標(biāo)志的值是1時(shí)的intra預(yù)測(cè)模式。還是在幀/場(chǎng)標(biāo)志的值 是1時(shí),例如,利用設(shè)置在相鄰4 X 4塊上的像素A至I,對(duì)圖9所示的、設(shè)置在4 X 4塊內(nèi)的 像素a至P進(jìn)行intra預(yù)測(cè)。在這種情況下,應(yīng)該注意,所有像素a至ρ和像素A至I屬于 相同的場(chǎng)奇偶性。
現(xiàn)在,將參考圖19說明在像素A至I和像素a至ρ屬于同一個(gè)宏塊時(shí)的情況。利用設(shè)置在相鄰塊2、3和6的邊緣上的像素A至I,對(duì)存在于通過將宏塊分割為16份產(chǎn)生的 4 X 4塊7內(nèi)的像素a至ρ進(jìn)行intra預(yù)測(cè)。現(xiàn)在,將參考圖20A和20B說明在像素A至I屬于不同于像素a至ρ所屬宏塊的 宏塊的情況。圖20Α示出位于用于進(jìn)行處理的宏塊的左側(cè)和上方的宏塊的幀/場(chǎng)標(biāo)志值是1。 在這種情況下,根據(jù)將左側(cè)的宏塊分割為16份產(chǎn)生的4X4塊A內(nèi)的各像素以及將上面的 宏塊分割為16份產(chǎn)生的4X4宏塊B內(nèi)的各像素,對(duì)存在于通過將目標(biāo)宏塊分割為16份產(chǎn) 生的4X4塊C內(nèi)的各像素進(jìn)行intra預(yù)測(cè)。根據(jù)存在于4X4塊A’內(nèi)的各像素和存在于 4X4 ±夬B,內(nèi)的各像素,對(duì)存在于4X4塊C’內(nèi)的各像素進(jìn)行intra預(yù)測(cè)。圖20B示出其中用于進(jìn)行處理的目標(biāo)宏塊的幀/場(chǎng)標(biāo)志的值是1的例子,而左側(cè) 和上面的各宏塊的幀/場(chǎng)標(biāo)志的值是0。在這種情況下,根據(jù)將左側(cè)的宏塊分割為16份產(chǎn) 生的4X4塊A內(nèi)的各像素以及將上面的宏塊分割為16份產(chǎn)生的4X4宏塊B內(nèi)的各像素, 對(duì)存在于通過將目標(biāo)宏塊分割為16份產(chǎn)生的4X4 ±夬C內(nèi)的各像素進(jìn)行intra預(yù)測(cè)。根據(jù) 存在于4X4塊A’內(nèi)的各像素和存在于4X4塊B’內(nèi)的各像素,對(duì)存在于4X 4塊C’內(nèi)的 各像素進(jìn)行intra預(yù)測(cè)。現(xiàn)在,將參考圖21說明色度信號(hào)的intra預(yù)測(cè)過程。當(dāng)幀/場(chǎng)標(biāo)志的值是1時(shí), 僅確定色度信號(hào)的一種類型的intra預(yù)測(cè)模式。圖21中的A至D分別表示色度信號(hào)中的4X4 ±夬。塊A和B屬于第一場(chǎng),而塊C 和D屬于第二場(chǎng)。Stl至S2是存在于屬于第一場(chǎng)奇偶性并與塊A至D相鄰的塊內(nèi)的色度信 號(hào)的和。S3至S5是存在于屬于第二場(chǎng)奇偶性并與塊A至D相鄰的塊內(nèi)的色度信號(hào)的和。如果S。至S5全部存在于圖像幀內(nèi),則根據(jù)如下所示的表達(dá)式(18)預(yù)測(cè)分別對(duì)應(yīng) 于塊A至D的預(yù)測(cè)值A(chǔ)至D。a= (s0+s2+4) /8B = (s!+2)/4c= (s3+s5+4) /8d = (s4+2) /4. . . (18)如果S0至s5中僅s0、S1, S3以及s4存在于圖像幀中,則根據(jù)如下所示的表達(dá)式 (19),預(yù)測(cè)分別對(duì)應(yīng)于塊A至D的預(yù)測(cè)值A(chǔ)至D。A = (s0+2) /4B = (s!+2)/4c = (s3+2)/4d = (s4+2) /4...(19)如果S0至S5中僅S2和S5存在于圖像幀中,則根據(jù)如下所示的表達(dá)式(20),預(yù)測(cè) 對(duì)應(yīng)于塊A至D的預(yù)測(cè)值。a = (s2+2)/4b = (s2+2)/4c = (s5+2)/4
D = (s5+2)/4…(20)圖22示出在如上所述進(jìn)行了 intra預(yù)測(cè)后,對(duì)色度信號(hào)的剩余分量進(jìn)行編碼的方 法。更具體地說,分別對(duì)每個(gè)4X4塊進(jìn)行正交變換處理,利用第一場(chǎng)和第二場(chǎng)的DC分量產(chǎn) 生該圖所示的2X2塊,再次進(jìn)行正交變換處理。現(xiàn)在,說明當(dāng)幀/場(chǎng)標(biāo)志的值是1時(shí)進(jìn)行的運(yùn)動(dòng)預(yù)測(cè)/補(bǔ)償處理。當(dāng)幀/場(chǎng)標(biāo)志 的值是1時(shí),存在如下類型的運(yùn)動(dòng)預(yù)測(cè)/補(bǔ)償模式inter-16X16模式、inter-8X16模式、 inter-8X8 模式、inter_4X8 模式以及 inter_4X4 模式。例如,inter-16X 16模式是其中第一場(chǎng)的運(yùn)動(dòng)矢量信息、第二場(chǎng)的運(yùn)動(dòng)矢量信息 以及inter-8X16模式內(nèi)的基準(zhǔn)幀等效的模式。分別對(duì)Code_number 0至5分配這6種運(yùn)動(dòng)預(yù)測(cè)/補(bǔ)償模式。在當(dāng)前的H. 26L中,規(guī)定了允許提供如圖23所示的多個(gè)基準(zhǔn)幀的多幀預(yù)測(cè)過程。 在當(dāng)前的基于幀的H. 26L標(biāo)準(zhǔn)中,以這樣的方式在宏塊級(jí)確定與基準(zhǔn)幀有關(guān)的信息,以致 對(duì)先前編碼幀分配Code_number 0,而對(duì)位于具有Code_number 0的幀之前1倍至5倍的幀 分另丨J分配 Code_number 1 至 Code_number 5。相反,對(duì)于基于場(chǎng)的編碼過程,對(duì)先前編碼幀的第一場(chǎng)分配Codejumber 0,而對(duì) 同一個(gè)幀的第二場(chǎng)分配Code_number 1。對(duì)位于具有Code_number 0的幀之前的幀的第 一場(chǎng)分配Code_number 2,而對(duì)相關(guān)幀的第二場(chǎng)分配Code_number 3。對(duì)位于具有Code_ number2的幀之前的幀的第一場(chǎng)分配Code_number 4,而對(duì)相關(guān)幀的第二場(chǎng)分配Code_ number 5。此外,對(duì)于被進(jìn)行基于場(chǎng)編碼的宏塊,互相獨(dú)立地規(guī)定第一場(chǎng)的基準(zhǔn)場(chǎng)和第二場(chǎng) 的基準(zhǔn)場(chǎng)?,F(xiàn)在,將參考圖24說明當(dāng)前的H. 26L中規(guī)定的中值預(yù)測(cè)過程,然后,說明在幀/場(chǎng) 標(biāo)志的值是1時(shí)的運(yùn)動(dòng)矢量信息預(yù)測(cè)方法。利用與宏塊A至C相鄰的運(yùn)動(dòng)矢量信息的中值, 預(yù)測(cè)圖24所示的、對(duì)應(yīng)于16X 16宏塊E的16X16、8X8或4X4運(yùn)動(dòng)矢量信息。然而,對(duì)于中值計(jì)算過程,假定不存在于圖像幀內(nèi)的宏塊A至C之任一的運(yùn)動(dòng)矢量 信息值是0。例如,如果宏塊D、B和C不存在于圖像幀中,則對(duì)應(yīng)于宏塊A的運(yùn)動(dòng)矢量信息 用作預(yù)測(cè)值。此外,如果在該圖像幀內(nèi)不存在宏塊C,則利用宏塊D的,而非宏塊C的運(yùn)動(dòng)矢 量信息,計(jì)算中值。不需要宏塊A至D的基準(zhǔn)幀相同?,F(xiàn)在,將參考圖25A至25D說明在宏塊的塊大小是8X16、16X8、8X4或4X8時(shí) 的情況。假定如圖24所示排列感興趣宏塊E和相鄰宏塊A至D。圖25A示出其中宏塊El和E2的塊大小是8X16的例子。對(duì)于左側(cè)的宏塊Eljn 果左側(cè)的相鄰宏塊A與宏塊El參照同一個(gè)幀,則宏塊A的運(yùn)動(dòng)矢量信息用作預(yù)測(cè)值。如果 左側(cè)的相鄰宏塊A參照的幀不同于宏塊El參照的幀,則進(jìn)行上述中值預(yù)測(cè)。關(guān)于右側(cè)的宏塊E2,如果右上角的相鄰宏塊C與宏塊E2參照同一個(gè)宏塊,則宏塊C的運(yùn)動(dòng)矢量信息用作預(yù)測(cè)值。如果右上角的相鄰宏塊C參照的幀不同于宏塊E2參照的 幀,則進(jìn)行上述中值預(yù)測(cè)。圖25B示出其中宏塊El和E2的塊大小是16X8的例子。關(guān)于上部宏塊E1,如果 上面的相鄰宏塊B與宏塊El參照同一個(gè)幀,則宏塊B的運(yùn)動(dòng)矢量信息用作預(yù)測(cè)值。如果上面的相鄰宏塊B與宏塊El參照不同的幀,則進(jìn)行上述中值預(yù)測(cè)。關(guān)于上部宏塊E2,如果左側(cè)的相鄰宏塊A與宏塊E2參照同一個(gè)幀,則宏塊A的運(yùn) 動(dòng)矢量信息用作預(yù)測(cè)值。如果左側(cè)的相鄰宏塊A與宏塊E2參照不同的幀,則進(jìn)行上述中值 預(yù)測(cè)。圖25C示出其中宏塊E1至E8的塊大小是8X4的例子。對(duì)左側(cè)宏塊E1至E4進(jìn) 行上述中值預(yù)測(cè),而將左側(cè)宏塊E1至E4的運(yùn)動(dòng)矢量信息用作右側(cè)宏塊E5至E8的預(yù)測(cè)值。圖25D示出其中宏塊E1至E8的塊大小是4X8的例子。對(duì)上部宏塊E1至E4進(jìn) 行上述中值預(yù)測(cè),而將上部宏塊E1至E4的運(yùn)動(dòng)矢量信息用作下部宏塊E5至E8的預(yù)測(cè)值。此外,如果幀/場(chǎng)標(biāo)志的值是1,則根據(jù)上述方法,預(yù)測(cè)運(yùn)動(dòng)矢量信息的水平方向 分量。然而,關(guān)于垂直方向分量,將基于場(chǎng)的塊與基于幀的塊混合,然后,進(jìn)行如下處理。假 定如圖24所示排列感興趣宏塊E和相鄰宏塊A至D。當(dāng)在已經(jīng)對(duì)相鄰宏塊A至D之一進(jìn)行了基于場(chǎng)的編碼的情況下,對(duì)宏塊E進(jìn)行基 于幀的編碼時(shí),將第一場(chǎng)的運(yùn)動(dòng)矢量信息的垂直方向分量與第二場(chǎng)的運(yùn)動(dòng)矢量信息的垂直 方向分量之間的均值乘2,并且將該結(jié)果用做用于進(jìn)行預(yù)測(cè)處理的基于幀的運(yùn)動(dòng)矢量信息 的等效物。當(dāng)在已經(jīng)對(duì)相鄰宏塊A至D之一進(jìn)行了基于幀的編碼的情況下,對(duì)宏塊E進(jìn)行基 于場(chǎng)的編碼時(shí),將運(yùn)動(dòng)矢量信息的垂直方向分量值除2,并且將該結(jié)果用做用于進(jìn)行預(yù)測(cè)處 理的基于場(chǎng)的運(yùn)動(dòng)矢量信息的等效物。根據(jù)文獻(xiàn)3,添加在宏塊級(jí)進(jìn)行場(chǎng)/幀編碼所需的語法單元,此外,改變諸如運(yùn)動(dòng) 矢量信息的語法單元的語義。然而,在文獻(xiàn)3中,沒有引入新的上下文模型,或者未響應(yīng)于 上述添加和變更,對(duì)現(xiàn)有上下文模型進(jìn)行更新。因此,文獻(xiàn)3提供的信息不足以在宏塊級(jí)利 用CABAC方案進(jìn)行場(chǎng)/幀編碼。已知CABAC是可以實(shí)現(xiàn)較高編碼效率的方案,盡管與UVLC相比,它需要大量算術(shù) 運(yùn)算進(jìn)行編碼處理,因此,最好即使在輸入圖像信息具有隔行掃描格式時(shí),CABAC仍可以在 宏塊級(jí)進(jìn)行場(chǎng)/幀編碼。
發(fā)明內(nèi)容
鑒于上述情況,本發(fā)明的目的是即使在輸入圖像信息具有隔行掃描格式時(shí),也能 夠利用CABAC方案在宏塊級(jí)進(jìn)行場(chǎng)/幀編碼。根據(jù)本發(fā)明的編碼設(shè)備包括無損編碼裝置,用于利用與表示在宏塊級(jí)的編碼處 理是基于場(chǎng)還是基于幀的編碼處理的幀/場(chǎng)標(biāo)志對(duì)應(yīng)的上下文模型、與用于執(zhí)行基于幀 的編碼處理的語法單元對(duì)應(yīng)的上下文模型或與用于執(zhí)行基于場(chǎng)的編碼處理的語法單元對(duì) 應(yīng)的上下文模型,來執(zhí)行無損編碼處理,其中滿足表達(dá)式ctX_fifr_flag(C) = a+2b,其中 ctx_fifr_flag (C)是與宏塊C的幀/場(chǎng)標(biāo)志相關(guān)的上下文模型,而a和b是與宏塊C相鄰 的相應(yīng)宏塊A和B的幀/場(chǎng)標(biāo)志的值。與用于執(zhí)行基于場(chǎng)的編碼處理的語法單元對(duì)應(yīng)的上下文模型包括與I圖像的MB_ type、P/B圖像的MB_type、運(yùn)動(dòng)矢量信息、基準(zhǔn)場(chǎng)參數(shù)以及intra預(yù)測(cè)模式對(duì)應(yīng)的上下文模 型中至少之一。根據(jù)本發(fā)明的編碼方法包括無損編碼步驟,用于利用與表示在宏塊級(jí)的編碼處理是基于場(chǎng)還是基于幀的編碼處理的幀/場(chǎng)標(biāo)志對(duì)應(yīng)的上下文模型、與用于執(zhí)行基于幀的編碼處理的語法單元對(duì)應(yīng)的上下文模型或與用于執(zhí)行基于場(chǎng)的編碼處理的語法單元對(duì) 應(yīng)的上下文模型,來執(zhí)行無損編碼處理,其中滿足表達(dá)式ctX_fifr_flag(C) = a+2b,其中 ctx_fifr_flag (C)是與宏塊C的幀/場(chǎng)標(biāo)志相關(guān)的上下文模型,而a和b是與宏塊C相鄰 的相應(yīng)宏塊A和B的幀/場(chǎng)標(biāo)志的值。位于第一記錄介質(zhì)上的根據(jù)本發(fā)明的程序包括無損編碼步驟,用于利用與表示 在宏塊級(jí)的編碼處理是基于場(chǎng)還是基于幀的編碼處理的幀/場(chǎng)標(biāo)志對(duì)應(yīng)的上下文模型、與 用于執(zhí)行基于幀的編碼處理的語法單元對(duì)應(yīng)的上下文模型或與用于執(zhí)行基于場(chǎng)的編碼處 理的語法單元對(duì)應(yīng)的上下文模型,來執(zhí)行無損編碼處理。根據(jù)本發(fā)明的第一程序使計(jì)算機(jī)執(zhí)行無損編碼步驟,在該無損編碼步驟,利用與 表示在宏塊級(jí)的編碼處理是基于場(chǎng)還是基于幀的編碼處理的幀/場(chǎng)標(biāo)志對(duì)應(yīng)的上下文模 型、與用于執(zhí)行基于幀的編碼處理的語法單元對(duì)應(yīng)的上下文模型或與用于執(zhí)行基于場(chǎng)的編 碼處理的語法單元對(duì)應(yīng)的上下文模型,來執(zhí)行無損編碼處理。根據(jù)本發(fā)明的解碼設(shè)備包括解碼裝置,用于對(duì)利用與表示在宏塊級(jí)的編碼處理 是基于場(chǎng)還是基于幀的編碼處理的幀/場(chǎng)標(biāo)志對(duì)應(yīng)的上下文模型、與用于執(zhí)行基于幀的編 碼處理的語法單元對(duì)應(yīng)的上下文模型或與用于執(zhí)行基于場(chǎng)的編碼處理的語法單元對(duì)應(yīng)的 上下文模型進(jìn)行了編碼的圖像壓縮信息進(jìn)行解碼,其中滿足表達(dá)式ctX_fifr_flag(C)= a+2b,其中ctx_f ifr_f lag (C)是與宏塊C的幀/場(chǎng)標(biāo)志相關(guān)的上下文模型,而a和b是與 宏塊C相鄰的相應(yīng)宏塊A和B的幀/場(chǎng)標(biāo)志的值。根據(jù)本發(fā)明的解碼方法包括解碼步驟,用于對(duì)利用與表示在宏塊級(jí)的編碼處理 是基于場(chǎng)還是基于幀的編碼處理的幀/場(chǎng)標(biāo)志對(duì)應(yīng)的上下文模型、與用于執(zhí)行基于幀的編 碼處理的語法單元對(duì)應(yīng)的上下文模型或與用于執(zhí)行基于場(chǎng)的編碼處理的語法單元對(duì)應(yīng)的 上下文模型進(jìn)行了編碼的圖像壓縮信息進(jìn)行解碼,其中滿足表達(dá)式ctX_fifr_flag(C)= a+2b,其中ctx_f ifr_f lag (C)是與宏塊C的幀/場(chǎng)標(biāo)志相關(guān)的上下文模型,而a和b是與 宏塊C相鄰的相應(yīng)宏塊A和B的幀/場(chǎng)標(biāo)志的值。第二記錄介質(zhì)上的根據(jù)本發(fā)明的程序包括解碼步驟,用于對(duì)利用與表示在宏塊 級(jí)的編碼處理是基于場(chǎng)還是基于幀的編碼處理的幀/場(chǎng)標(biāo)志對(duì)應(yīng)的上下文模型、與用于執(zhí) 行基于幀的編碼處理的語法單元對(duì)應(yīng)的上下文模型或與用于執(zhí)行基于場(chǎng)的編碼處理的語 法單元對(duì)應(yīng)的上下文模型進(jìn)行了編碼的圖像壓縮信息進(jìn)行解碼。根據(jù)本發(fā)明的第二程序使計(jì)算機(jī)執(zhí)行解碼步驟,解碼步驟用于對(duì)利用與表示在宏 塊級(jí)的編碼處理是基于場(chǎng)還是基于幀的編碼處理的幀/場(chǎng)標(biāo)志對(duì)應(yīng)的上下文模型、與用于 執(zhí)行基于幀的編碼處理的語法單元對(duì)應(yīng)的上下文模型或與用于執(zhí)行基于場(chǎng)的編碼處理的 語法單元對(duì)應(yīng)的上下文模型進(jìn)行了編碼的圖像壓縮信息進(jìn)行解碼。在根據(jù)本發(fā)明的編碼設(shè)備、編碼方法以及第一程序中,利用對(duì)應(yīng)于表示在宏塊級(jí) 進(jìn)行的編碼處理是基于場(chǎng)還是基于幀的編碼的幀/場(chǎng)標(biāo)志的上下文模型、與用于進(jìn)行基于 幀的編碼處理的語法單元對(duì)應(yīng)的上下文模型或與用于進(jìn)行基于場(chǎng)的編碼處理的語法單元 對(duì)應(yīng)上下文模型,來進(jìn)行無損編碼。在根據(jù)本發(fā)明的解碼設(shè)備、解碼方法和第二程序中,對(duì)利用對(duì)應(yīng)于表示在宏塊級(jí) 進(jìn)行的編碼處理是基于場(chǎng)還是基于幀的編碼的幀/場(chǎng)標(biāo)志的上下文模型、與用于進(jìn)行基于幀的編碼處理的語法單元對(duì)應(yīng)的上下文模型或與用于進(jìn)行基于場(chǎng)的編碼處理的語法單元 對(duì)應(yīng)上下文模型進(jìn)行了編碼的圖象壓縮信息進(jìn)行解碼。編碼設(shè)備和解碼設(shè)備可以是互相獨(dú)立的設(shè)備,也可以是在信號(hào)處理設(shè)備內(nèi)進(jìn)行編 碼和解碼的模塊。
圖1是示出利用正交變換和運(yùn)動(dòng)補(bǔ)償進(jìn)行圖像壓縮的已知圖像信息編碼設(shè)備的 結(jié)構(gòu)的方框圖。圖2是示出與圖1所示圖像信息編碼設(shè)備對(duì)應(yīng)的圖像信息解碼設(shè)備的結(jié)構(gòu)的方框 圖。圖3是示出算術(shù)編碼中的符號(hào)出現(xiàn)概率與其相應(yīng)子間隔之間關(guān)系的例子。圖4是示出算術(shù)編碼的例子的示意圖。圖5是示出CABAC編碼器的典型結(jié)構(gòu)的方框圖。圖6是示出MB_type的上下文模型的示意圖。圖7是示出運(yùn)動(dòng)矢量信息MVD的上下文模型的示意圖。圖8是示出根據(jù)上下文模型對(duì)運(yùn)動(dòng)矢量信息MVD進(jìn)行編碼的示意圖。圖9是示出在H. 26L內(nèi)確定的intra預(yù)測(cè)模式的示意圖。圖10是示出標(biāo)記1至5表示的intra預(yù)測(cè)模式的各方向的示意圖。圖11A是示出在H.26L內(nèi)確定的單掃描技術(shù)的示意圖。圖11B是示出在H. 26L內(nèi)確定的雙掃描技術(shù)的示意圖。圖12是示出在H. 26L內(nèi)確定的對(duì)應(yīng)于(RUN,LEVEL)的上下文模型的示意圖。圖13是示出不是H. 26L中的MB_type的語法單元進(jìn)行的二值化過程的示意圖。圖14A是示出H. 26L中P圖像的MB_type的二值化過程的示意圖。圖14B是示出H. 26L中B圖像的MB_type的二值化過程的示意圖。圖15是示出作為宏塊中的運(yùn)動(dòng)預(yù)測(cè)/補(bǔ)償單元、在H. 26L內(nèi)確定的幾種模式的方 框圖。圖16是示出用于擴(kuò)展的圖像壓縮信息的語法,以致可以在宏塊級(jí)進(jìn)行場(chǎng)/幀自適 應(yīng)編碼的示意圖。圖17是示出在對(duì)宏塊進(jìn)行基于場(chǎng)的編碼時(shí),重新排列宏塊的各像素的示意圖。圖18是示出在對(duì)宏塊進(jìn)行基于場(chǎng)的編碼時(shí),被定義為運(yùn)動(dòng)預(yù)測(cè)/補(bǔ)償單元的5種 模式的示意圖。圖19是示出在對(duì)宏塊進(jìn)行基于場(chǎng)的編碼時(shí),intra預(yù)測(cè)的操作原理的示意圖。圖20A是示出在對(duì)宏塊進(jìn)行基于場(chǎng)的編碼時(shí),對(duì)宏塊進(jìn)行intra預(yù)測(cè)的操作原理 的示意圖。圖20B是示出在對(duì)宏塊進(jìn)行基于場(chǎng)的編碼時(shí),對(duì)宏塊進(jìn)行intra預(yù)測(cè)的操作原理 的示意圖。圖21是示出在對(duì)宏塊進(jìn)行基于場(chǎng)的編碼耐,對(duì)色度信號(hào)進(jìn)行intra預(yù)測(cè)的操作原 理的示意圖。圖22是示出在對(duì)宏塊進(jìn)行基于場(chǎng)的編碼時(shí),用于編碼色度信號(hào)的剩余分量的操作原理的示意圖。圖23是示出H. 26L規(guī)定的多幀預(yù)測(cè)的示意圖。圖24是示出在對(duì)宏塊進(jìn)行基于場(chǎng)的編碼時(shí),用于預(yù)測(cè)運(yùn)動(dòng)矢量信息的方法的示 意圖。圖25A是示出在H. 26L規(guī)定的預(yù)測(cè)模式下,產(chǎn)生運(yùn)動(dòng)矢量信息的預(yù)測(cè)值的示意圖。圖25B是示出在H. 26L規(guī)定的預(yù)測(cè)模式下,產(chǎn)生運(yùn)動(dòng)矢量信息的預(yù)測(cè)值的示意圖。圖25C是示出在H. 26L規(guī)定的預(yù)測(cè)模式下,產(chǎn)生運(yùn)動(dòng)矢量信息的預(yù)測(cè)值的示意圖。圖25D是示出在H. 26L規(guī)定的預(yù)測(cè)模式下,產(chǎn)生運(yùn)動(dòng)矢量信息的預(yù)測(cè)值的示意圖。圖26是示出根據(jù)本發(fā)明實(shí)施例的圖像信息編碼設(shè)備的典型結(jié)構(gòu)的方框圖。圖27是示出圖26所示算術(shù)編碼部分58的典型結(jié)構(gòu)的方框圖。圖28A是示出在對(duì)宏塊進(jìn)行基于場(chǎng)的編碼時(shí),用于二值化屬于P圖像的宏塊的MB_ type的表的圖。圖28B是示出在對(duì)宏塊進(jìn)行基于場(chǎng)的編碼時(shí),用于二值化屬于B圖像的宏塊的MB_ type的表的圖。圖29是示出根據(jù)本發(fā)明實(shí)施例的圖像信息解碼設(shè)備、對(duì)應(yīng)于圖26所示圖像信息 編碼設(shè)備的解碼設(shè)備的典型結(jié)構(gòu)。
具體實(shí)施例方式現(xiàn)在,將參考圖26說明對(duì)其應(yīng)用本發(fā)明的圖像信息編碼設(shè)備。即使在輸入圖像信 息基于隔行掃描格式時(shí),相關(guān)的圖像信息編碼設(shè)備也能夠采用CABAC方案進(jìn)行編碼。在相關(guān)的圖像信息編碼設(shè)備中,A/D變換部分51將作為模擬信號(hào)的輸入圖像信號(hào) 變換為數(shù)字信號(hào),然后,將它輸出到圖像分類緩沖器52。根據(jù)從相關(guān)的圖像信息編碼設(shè)備輸 出的圖像壓縮信息的G0P結(jié)構(gòu),圖像分類緩沖器52重新排列A/D變換部分51輸出的輸入 圖像,然后,將它輸出到加法器54。場(chǎng)/幀確定部分53確定基于幀的編碼和基于場(chǎng)的編碼哪個(gè)可以提供更高的編碼 效率,以對(duì)要處理的圖像的宏塊進(jìn)行編碼,產(chǎn)生正確的幀/場(chǎng)標(biāo)志,然后,將該結(jié)果輸出到 場(chǎng)/幀變換部分55和算術(shù)編碼部分58。在對(duì)要處理的宏塊進(jìn)行inter編碼時(shí),加法器54產(chǎn)生通過場(chǎng)/幀確定部分53的 輸入圖像與運(yùn)動(dòng)預(yù)測(cè)/補(bǔ)償部分64輸出的基準(zhǔn)圖像的微分圖像(differential image),然 后,將微分圖像輸出到場(chǎng)/幀變換部分55和正交變換部分56。另一方面,當(dāng)對(duì)要處理的宏 塊進(jìn)行intra編碼時(shí),加法器54通過場(chǎng)/幀確定部分53將輸入圖像原樣輸出到場(chǎng)/幀變 換部分55以及正交變換部分56。在對(duì)要處理的圖像進(jìn)行基于場(chǎng)的編碼時(shí),場(chǎng)/幀變換部分55將來自加法器的輸入 圖像變換為場(chǎng)結(jié)構(gòu),然后,將該結(jié)果輸出到正交變換部分56。正交變換部分56對(duì)輸入圖像 信息進(jìn)行正交變換(例如,離散余弦變換或Karhimen-Loeve變換),然后,將獲得的變換系 數(shù)提供給量化部分57。在速率控制部分65的控制下,量化部分57對(duì)正交變換部分56提供 的變換系數(shù)進(jìn)行量化處理。 根據(jù)CABAC方案,算術(shù)編碼部分58對(duì)從量化部分57和運(yùn)動(dòng)預(yù)測(cè)/補(bǔ)償部分64輸 入的每個(gè)語法單元以及來自場(chǎng)/幀確定部分53的幀/場(chǎng)標(biāo)志進(jìn)行算術(shù)編碼,然后,將該結(jié)果送到累積緩沖器59進(jìn)行累積。累積緩沖器59將累積的圖像壓縮信息輸出到后續(xù)級(jí)。去量化部分60去量化被量化的正交變換系數(shù),然后,將它輸出到逆正交變換部分 61。逆正交變換部分61對(duì)去量化變換系數(shù)進(jìn)行逆正交變換處理,產(chǎn)生解碼的圖像信息,將它送到幀存儲(chǔ)器62,進(jìn)行累積。在對(duì)要處理的宏塊進(jìn)行基于場(chǎng)的編碼時(shí),場(chǎng)/幀變換部分63將累積在幀存儲(chǔ)器62內(nèi)的解碼圖像信息變換為場(chǎng)結(jié)構(gòu),然后,將它輸出到運(yùn)動(dòng)預(yù)測(cè)/補(bǔ)償部分64。通過進(jìn)行運(yùn)動(dòng)預(yù)測(cè)處理,運(yùn)動(dòng)預(yù)測(cè)/補(bǔ)償部分64產(chǎn)生最佳預(yù)測(cè)模式信息和運(yùn)動(dòng)矢 量信息,然后,將它輸出到算術(shù)編碼部分58。此外,運(yùn)動(dòng)預(yù)測(cè)/補(bǔ)償部分64產(chǎn)生預(yù)測(cè)圖像, 以將它輸出到加法器54。根據(jù)累積在累積緩沖器59內(nèi)的數(shù)據(jù)的數(shù)量,速率控制部分65對(duì)量化部分57的操作進(jìn)行反饋控制。根據(jù)記錄在記錄介質(zhì)67上的控制程序,控制部分66對(duì) 相關(guān)的圖像信息編碼設(shè)備的每個(gè)部分進(jìn)行控制。現(xiàn)在,將參考圖27說明算術(shù)編碼部分58的操作原理。圖27示出算術(shù)編碼部分58 的典型結(jié)構(gòu)。在輸入圖像壓縮信息的語法單元中,首先利用算術(shù)編碼部分58內(nèi)的幀/場(chǎng)標(biāo) 志上下文模型91,對(duì)圖16所示的幀/場(chǎng)標(biāo)志進(jìn)行編碼。在對(duì)要處理的宏塊進(jìn)行基于幀的編碼時(shí),采用當(dāng)前的H.26L標(biāo)準(zhǔn)規(guī)定的基于幀的 上下文模型92。對(duì)于具有非二值化值的語法單元,這樣的值被二值化部分93 二值化,然后, 進(jìn)行算術(shù)編碼。另一方面,當(dāng)對(duì)要處理的宏塊進(jìn)行場(chǎng)編碼時(shí),對(duì)以下所述語法單元應(yīng)用基于場(chǎng)的 上下文模型94。對(duì)于具有非二值化值的語法單元,這樣的值被二值化部分95 二值化,然后, 進(jìn)行算術(shù)編碼。更具體地說,第一語法單元是I圖像的MB_type,第二語法單元是P/B圖像 的MB_type,第三語法單元是運(yùn)動(dòng)矢量信息,第四語法單元是基準(zhǔn)場(chǎng)參數(shù),第五語法單元是 intra預(yù)測(cè)模式。下面的描述假定如圖6所示排列宏塊A、B和C?,F(xiàn)在,說明與幀/場(chǎng)標(biāo)志有關(guān)的 上下文模型。根據(jù)如下所示的表達(dá)式(21),確定與宏塊C的幀/場(chǎng)標(biāo)志有關(guān)的上下文模型 ctx_fifr_flag(C)。ctx_fifr_flag(C) = a+2b...(21)在表達(dá)式(21)中,a和b分別是宏塊A和B的幀/場(chǎng)標(biāo)志的值?,F(xiàn)在,說明與I圖像的MB_type有關(guān)的上下文模型。在幀/場(chǎng)標(biāo)志是1時(shí),根據(jù)如 下所示的表達(dá)式(22),確定對(duì)應(yīng)于包括在I圖像內(nèi)的宏塊C的MB_type的上下文模型ctx_ mb_type_intra_field(C),與利用表達(dá)式(3)相同。ctx_mb_type_intra_field(C) = A+B. . . (22)表達(dá)式(22)中的A和B與表達(dá)式(3)中的各相應(yīng)部分相同。而與是否對(duì)相鄰宏 塊A和B進(jìn)行基于場(chǎng)的編碼或基于幀的編碼無關(guān)?,F(xiàn)在,說明與P/B圖像的MB_type有關(guān)的上下文模型。當(dāng)宏塊C包括在P圖像內(nèi)時(shí), 根據(jù)如下所示的表達(dá)式(23),確定對(duì)應(yīng)于宏塊C的MB_type的上下文模型ctX_mb_type_ inter_field(C)。此外,當(dāng)宏塊C包括在B圖像中時(shí),根據(jù)如下所示的表達(dá)式(24),確定對(duì) 應(yīng)于宏塊 C 的 MB_type 的上下文模型 ctx_mb_type_inter_f ield (C)。ctx_mb_type_inter_field (C)<formula>formula see original document page 18</formula>. . . (23)
18
ctx_mb_type_inter_field (C)= ((A == direct) ? 0:1)+2((B == direct) ? 0:1) . . . (24)表達(dá)式(23)中的算子((A= = skip) ? 0 1)和((B = = skip) ? 0:1)與表達(dá)式 ⑷中的算子相同,而表達(dá)式(24)中的算子((A = = Direct) ? 0 1)和((B = = Direct) ? 0:1)與表達(dá)式(5)中的算子相同。與是否對(duì)相鄰宏塊A和B進(jìn)行基于場(chǎng)的編碼還是基于幀 的編碼無關(guān)。根據(jù)圖28A所示的表,二值化未二值化的P圖像的MB_type。此外,根據(jù)圖28B所 示的表,二值化未二值化的B圖像的MB_type。在自適應(yīng)二進(jìn)制算術(shù)編碼部分96中,概率估計(jì)部分97對(duì)二值化符號(hào)進(jìn)行概率估 計(jì),然后,根據(jù)概率估計(jì),編碼引擎98進(jìn)行自適應(yīng)算術(shù)編碼。在進(jìn)行了自適應(yīng)算術(shù)編碼處理 后,更新相關(guān)模型。這使得每個(gè)模型能夠根據(jù)實(shí)際圖像壓縮信息的統(tǒng)計(jì)數(shù)據(jù)進(jìn)行編碼處理。對(duì)于對(duì)其進(jìn)行基于幀的編碼的宏塊,如果該宏塊屬于P圖像,則確定10種MB_ type。另一方面,對(duì)于對(duì)其進(jìn)行基于場(chǎng)的編碼的宏塊,如果宏塊屬于P圖像,則不定義上述 16種類型的模型中的16X16模式和8X16模式。總之,對(duì)于對(duì)其進(jìn)行了基于場(chǎng)的編碼的與 P圖像相關(guān)的宏塊,確定8種類型的MB_type。對(duì)于對(duì)其進(jìn)行基于幀的編碼的、與B圖像相關(guān)的宏塊,定義18種類型的MB_type。 另一方面,對(duì)于對(duì)其進(jìn)行了基于場(chǎng)的編碼并且屬于B圖像的宏塊,未在上述18種模式中確 定正向16X16模式、反向16X16模式、正向8X16模式以及反向8X16模式??傊瑢?duì)于 對(duì)其進(jìn)行了基于場(chǎng)的編碼的、與B圖像有關(guān)的宏塊,確定14種類型的MB_type。現(xiàn)在,將說明運(yùn)動(dòng)矢量信息的上下文模型。當(dāng)幀/場(chǎng)標(biāo)志的值是1時(shí),根據(jù)如下所 示的表達(dá)式(25-1)至(25-3),確定對(duì)應(yīng)于宏塊C的運(yùn)動(dòng)矢量信息的第一至第三上下文模型 ctx_mvd_field(C, k)。ctx_mvd_field(C, k) = 0ek(C) < 3(25-1)ctx_mvd_field(C, k) = 1 32 < ek(C)(25-2)ctx_mvd_field(C, k) = 2 3 彡 ek(C)彡 32(25-3)在表達(dá)式(25-1)至(25-3)中,根據(jù)如下所示的表達(dá)式(26),確定評(píng)估函數(shù)。宏塊 A和B存在于同一個(gè)奇偶場(chǎng)內(nèi)。ek(C) = mvdk(A) | + |mvdk(B) |. . . (26)如果對(duì)宏塊A進(jìn)行了基于幀的編碼,對(duì)于垂直方向分量的運(yùn)動(dòng)矢量信息mvdi (A), 將根據(jù)如下所示表達(dá)式(27)計(jì)算的mvdl field(A)代入表達(dá)式(26)。在對(duì)宏塊B進(jìn)行基于 幀的編碼時(shí),也可以應(yīng)用它。mvdlfield(A) = mvdLframe (A)/2 (27)相反,如果對(duì)宏塊C進(jìn)行基于幀的編碼,并且對(duì)相鄰塊A進(jìn)行基于場(chǎng)的編碼,則對(duì) 于mvdk(A)的水平方向分量和垂直方向分量,將根據(jù)表達(dá)式(28-1)和(28-2)計(jì)算的mvdk fr e(A)分別代入表達(dá)式(26)。mvd0frame (A) = (mvd0_top (A)+mvd0bottom (A))/2 (28—1)mvdLframe (A) = mvdi t。p (A) +mvdl bottom (A) (28-2)現(xiàn)在,說明與基準(zhǔn)場(chǎng)參數(shù)相關(guān)的上下文模型。當(dāng)幀/場(chǎng)標(biāo)志的值是1時(shí),根據(jù)如下所示的表達(dá)式(29-1),確定對(duì)應(yīng)于第一場(chǎng)的第一上下文模型ctX_ref_field_top(C)。此 夕卜,根據(jù)如下所示的表達(dá)式(29-2),定義對(duì)應(yīng)于第二場(chǎng)的第一上下文模型ctX_ref_field_ bot(C)。
ctx_ref_field_top(C) = at+2bt. · · (29—1)ctx_ref_field_bot(C) = ab+2bb· · · (29—2)在表達(dá)式(29-1)至(29-2)中,參數(shù)at與相鄰宏塊A的第一場(chǎng)相關(guān),參數(shù)ab與相 鄰宏塊A的第二場(chǎng)相關(guān),參數(shù)bt與相鄰宏塊B的第一場(chǎng)相關(guān),參數(shù)bb與相鄰宏塊B的第二 場(chǎng)相關(guān),正如如下所示的表達(dá)式(30-1)和(30-2)確定的那樣。at, ab, bt, bb = 0(當(dāng)基準(zhǔn)場(chǎng)是緊接先前編碼場(chǎng)時(shí))...(30-1)at, ab, bt, bb = 1(否則)...(30-2)以與利用表達(dá)式(8)所示的上下文模型CtX_ref_frame (C)同樣方式,分別確定對(duì) 應(yīng)于第二 bin和后續(xù)bin的上下文模型。然而,應(yīng)該注意,不是對(duì)幀而是對(duì)場(chǎng)分配要編碼的 Code—numberο現(xiàn)在,將說明與intra預(yù)測(cè)模式有關(guān)的上下文模型。在幀/場(chǎng)標(biāo)志的值是1時(shí),在 幀模式下,以與用于宏塊的上下文模型CtX_intra_pred(C)同樣的方式,定義與對(duì)應(yīng)于宏 塊C的intra預(yù)測(cè)模式相關(guān)的上下文模型ctX_intra_pred_f ield (C)。對(duì)相鄰宏塊A進(jìn)行 基于場(chǎng)的編碼還是進(jìn)行基于幀的編碼無關(guān)緊要。如上所述,通過引入新上下文模型并改變現(xiàn)有上下文模型,可以進(jìn)行采用CABAC 方案的場(chǎng)/幀編碼。圖29示出對(duì)應(yīng)于圖26所示圖像信息編碼設(shè)備的解碼設(shè)備的典型結(jié)構(gòu)。在相關(guān)的圖像信息解碼設(shè)備中,累積緩沖器101累積輸入圖像壓縮信息,然后,在 需要時(shí),將它輸出到算術(shù)解碼部分102。算術(shù)解碼部分102對(duì)根據(jù)CABAC方案編碼的圖像壓 縮信息進(jìn)行算術(shù)解碼,將解碼的幀/場(chǎng)標(biāo)志輸出到場(chǎng)/幀變換部分105和110,將量化的正 交變換系數(shù)輸出到去量化部分103,以及將預(yù)測(cè)模式信息和運(yùn)動(dòng)矢量信息輸出到運(yùn)動(dòng)預(yù)測(cè) /補(bǔ)償部分111。去量化部分103去量化算術(shù)解碼部分102解碼的被量化的正交變換系數(shù)。逆正交 變換部分104對(duì)去量化的正交變換系數(shù)進(jìn)行逆正交變換。如果已經(jīng)對(duì)要處理的宏塊進(jìn)行了 基于場(chǎng)的編碼,則場(chǎng)/幀變換部分105將作為逆正交變換的結(jié)果獲得的輸出圖像或微分圖 像變換為幀結(jié)構(gòu)。如果要處理的宏塊是inter宏塊,則加法器106將來自逆正交變換部分104的微 分圖像和來自運(yùn)動(dòng)預(yù)測(cè)/補(bǔ)償部分111的基準(zhǔn)圖像組合在一起,以產(chǎn)生輸出圖像。根據(jù)輸 入圖像壓縮信息的GOP結(jié)構(gòu),圖像分類緩沖器107重新排列輸出圖像,然后,將它輸出到D/ A變換部分108。D/A變換部分108將作為數(shù)字信號(hào)的輸出圖像變換為模擬信號(hào),然后,將它 輸出到后續(xù)級(jí)。幀存儲(chǔ)器109存儲(chǔ)加法器106產(chǎn)生的圖像信息,即從其產(chǎn)生基準(zhǔn)圖像的圖像信息。 在已對(duì)要處理的宏塊進(jìn)行基于場(chǎng)的編碼時(shí),場(chǎng)/幀變換部分110將存儲(chǔ)在幀存儲(chǔ)器111內(nèi) 的圖像信息變換為場(chǎng)結(jié)構(gòu)。根據(jù)包括在圖像壓縮信息內(nèi)的每個(gè)宏塊的預(yù)測(cè)模式信息和運(yùn)動(dòng)矢量信息,運(yùn)動(dòng)預(yù)測(cè)/補(bǔ)償部分ill利用存儲(chǔ)在幀存儲(chǔ)器內(nèi)的圖像信息產(chǎn)生基準(zhǔn)圖像,然 后,將該基準(zhǔn)圖像輸出到加法器106。根據(jù)如上構(gòu)造的圖像信息解碼設(shè)備,可以將圖26所示的圖像信息編碼設(shè)備輸出的圖像壓縮信息解碼為原始圖像信息。不僅可以利用硬件并且可以利用軟件實(shí)現(xiàn)上述一系列處理過程。如果利用軟件實(shí) 現(xiàn)這一系列處理過程,則將構(gòu)成該軟件的程序從圖26所示的記錄介質(zhì)67安裝到內(nèi)置在專 用硬件中的計(jì)算機(jī)內(nèi),或者安裝到例如需要安裝程序以執(zhí)行相應(yīng)功能的通用個(gè)人計(jì)算機(jī)。記錄介質(zhì)67可以是封裝介質(zhì),該封裝介質(zhì)包括磁盤(包括軟盤);光盤(包括 壓縮光盤-只讀存儲(chǔ)器,即,CD-ROM和數(shù)字通用光盤,S卩,DVD);磁光盤(包括小型光盤、即 MD);或者半導(dǎo)體存儲(chǔ)器,如果單獨(dú)由用戶計(jì)算機(jī)提供這種程序。如果通過預(yù)先安裝在用戶 計(jì)算機(jī)上的方式提供記錄介質(zhì)上的程序,則該記錄介質(zhì)可以是ROM或用戶計(jì)算機(jī)的硬盤。在本發(fā)明中,記錄在記錄介質(zhì)上的程序步驟可以采用也可以不采用所描述步驟的 時(shí)間順序。此外,可以并行執(zhí)行也可以互相獨(dú)立執(zhí)行各步驟。工業(yè)應(yīng)用如上所述,根據(jù)本發(fā)明,即使在輸入圖像信息具有隔行掃描格式時(shí),仍可以執(zhí)行采 用CABAC方案的場(chǎng)/幀編碼過程。此外,根據(jù)本發(fā)明,通過解碼具有在宏塊級(jí)利用CABAC方案進(jìn)行場(chǎng)/幀編碼的隔行 掃描格式的圖像信息的壓縮圖像信息,可以恢復(fù)隔行掃描格式的圖像信息。
權(quán)利要求
一種編碼設(shè)備,該編碼設(shè)備以圖像信息作為輸入在宏塊級(jí)執(zhí)行基于場(chǎng)或基于幀的編碼處理,其特征在于,具備第一生成單元,生成與場(chǎng)/幀標(biāo)記對(duì)應(yīng)的上下文模型,其中所述場(chǎng)/幀標(biāo)記表示將所述宏塊級(jí)的所述編碼處理設(shè)為所述基于場(chǎng)的編碼處理還是設(shè)為所述基于幀的編碼處理;第二生成單元,在對(duì)目前宏塊的相鄰宏塊進(jìn)行基于幀的編碼處理,并且對(duì)所述目前宏塊進(jìn)行基于場(chǎng)的編碼處理的情況下,將除以所述相鄰的宏塊的垂直方向分量的運(yùn)動(dòng)矢量信息而算出的值應(yīng)用于與目前宏塊的運(yùn)動(dòng)矢量相關(guān)的上下文模型中,根據(jù)與目前宏塊相鄰的宏塊的運(yùn)動(dòng)矢量信息生成與所述目前宏塊的語法要素對(duì)應(yīng)的上下文模型;以及編碼單元,利用來自所述第二生成單元的結(jié)果執(zhí)行所述編碼處理。
2.如權(quán)利要求1所述的編碼設(shè)備,其特征在于,所述第二生成單元將所述相鄰的宏塊的垂直方向分量的運(yùn)動(dòng)矢量信息除以2而算出 的值應(yīng)用于與目前宏塊的運(yùn)動(dòng)矢量相關(guān)的上下文模型中。
3.如權(quán)利要求1所述的編碼設(shè)備,其特征在于,所述第二生成單元根據(jù)對(duì)相鄰于所述目前宏塊的宏塊的運(yùn)動(dòng)矢量信息的絕對(duì)值和,生 成與目前宏塊C的運(yùn)動(dòng)矢量相關(guān)的上下文模型。
4.如權(quán)利要求1所述的編碼設(shè)備,其特征在于,所述第二生成單元在對(duì)所述目前宏塊C進(jìn)行基于場(chǎng)的編碼的情況下,根據(jù)利用 與所述目前宏塊C相鄰的宏塊A、B各自的運(yùn)動(dòng)矢量信息而算出的評(píng)估函數(shù)ek(C)= Imvdk(A) +Imvdk(B) |的值,生成與所述目前宏塊C的運(yùn)動(dòng)矢量信息對(duì)應(yīng)的第一至第三上下 文模型ctX_mVd_field(C,k),其中Imvdk㈧|和Imvdk(B) |是與宏塊C相鄰的相應(yīng)宏塊A 和宏塊B的運(yùn)動(dòng)矢量信息。
5.如權(quán)利要求4所述的編碼設(shè)備,其特征在于,如果對(duì)所述目前宏塊C進(jìn)行基于場(chǎng)的編 碼,并且已對(duì)與所述宏塊C相鄰的所述宏塊X進(jìn)行了基于幀的編碼,則通過根據(jù)表達(dá)式HlVd1 field(X) = Hivd1 frame(X)/2,將對(duì)應(yīng)于宏塊X的運(yùn)動(dòng)矢量的垂直分量Hivd1 fMme00換算為基于 場(chǎng)的編碼的等效值,來計(jì)算評(píng)估函數(shù)ek(C),其中X是A或B。
6.一種編碼方法,該編碼方法以圖像信息作為輸入在宏塊級(jí)執(zhí)行基于場(chǎng)或基于幀的編 碼處理,其特征在于,具備第一生成步驟,生成與場(chǎng)/幀標(biāo)記對(duì)應(yīng)的上下文模型,其中所述場(chǎng)/幀標(biāo)記表示將所述 宏塊級(jí)的所述編碼處理設(shè)為所述基于場(chǎng)的編碼處理還是設(shè)為所述基于幀的編碼處理;第二生成步驟,在對(duì)目前宏塊的相鄰宏塊進(jìn)行基于幀的編碼處理,并且對(duì)所述目前宏 塊進(jìn)行基于場(chǎng)的編碼處理的情況下,將除以所述相鄰的宏塊的垂直方向分量的運(yùn)動(dòng)矢量信 息而算出的值應(yīng)用于與目前宏塊的運(yùn)動(dòng)矢量相關(guān)的上下文模型中,根據(jù)與目前宏塊相鄰的 宏塊的運(yùn)動(dòng)矢量信息生成與所述目前宏塊的語法要素對(duì)應(yīng)的上下文模型;以及編碼步驟,利用來自所述第二生成步驟的結(jié)果執(zhí)行所述編碼處理。
全文摘要
最好應(yīng)用于對(duì)圖像信號(hào)編碼,以便以比傳統(tǒng)壓縮率高的壓縮率執(zhí)行傳輸或存儲(chǔ)的編碼設(shè)備和方法、解碼設(shè)備和方法、記錄介質(zhì)以及程序。在算術(shù)編碼單元(58),首先利用幀/場(chǎng)標(biāo)志上下文模型(91)對(duì)幀/場(chǎng)標(biāo)志(收到的圖像壓縮信息的語法單元之一)執(zhí)行編碼。在對(duì)要處理的宏塊進(jìn)行基于幀的編碼時(shí),應(yīng)用當(dāng)前由H.26L標(biāo)準(zhǔn)定義的幀基(frame base)上下文模型(92)。相反,在對(duì)要處理的宏塊執(zhí)行場(chǎng)編碼時(shí),對(duì)其它語法單元應(yīng)用場(chǎng)基上下文模型(94)。本發(fā)明可以應(yīng)用于用于對(duì)圖像信息編碼的編碼器和用于對(duì)圖像信息解碼的解碼器。
文檔編號(hào)H04N7/26GK101800898SQ200910222810
公開日2010年8月11日 申請(qǐng)日期2003年4月22日 優(yōu)先權(quán)日2002年4月26日
發(fā)明者佐藤數(shù)史, 春原修, 矢崎陽一, 鈴木輝彥 申請(qǐng)人:索尼株式會(huì)社