欧美在线观看视频网站,亚洲熟妇色自偷自拍另类,啪啪伊人网,中文字幕第13亚洲另类,中文成人久久久久影院免费观看 ,精品人妻人人做人人爽,亚洲a视频

低復(fù)雜度熵編碼/解碼方法和設(shè)備與流程

文檔序號:12279707閱讀:170來源:國知局
低復(fù)雜度熵編碼/解碼方法和設(shè)備與流程

技術(shù)領(lǐng)域

示例性實施例涉及一種熵編碼和熵解碼方法和設(shè)備,更具體地講,涉及一種用于對通過對圖像進(jìn)行編碼而產(chǎn)生的預(yù)定的語法元素進(jìn)行熵編碼和熵解碼的方法和設(shè)備。



背景技術(shù):

一種編解碼器(諸如,運(yùn)動圖像專家組(MPEG)-4H.264/MPEG-4高級視頻編碼(AVC))通過使用基于上下文的自適應(yīng)可變長編碼(CAVLC)和基于上下文的自適應(yīng)二進(jìn)制算術(shù)編碼(CABAC)對語法元素進(jìn)行熵編碼/解碼。然而,在以上描述的基于上下文的自適應(yīng)熵編碼/解碼中,將會頻繁地執(zhí)行存儲器訪問。



技術(shù)實現(xiàn)要素:

技術(shù)方案

示例性實施例包括有效地執(zhí)行熵編碼/解碼的方法和設(shè)備、以及記錄有用于執(zhí)行所述方法的計算機(jī)程序的計算機(jī)可讀記錄介質(zhì)。

有益效果

如上所述,可通過使用低復(fù)雜度硬件以高的速度對圖像數(shù)據(jù)進(jìn)行熵編碼或熵解碼,而在編碼期間圖像的壓縮率不會顯著地降低。

附圖說明

通過參考附圖詳細(xì)描述以上和其它方面的示例性實施例,以上和其它方面將會變得更加清楚,在附圖中:

圖1是根據(jù)示例性實施例的對圖像進(jìn)行編碼的設(shè)備的框圖;

圖2是根據(jù)示例性實施例的對圖像進(jìn)行解碼的設(shè)備的框圖;

圖3示出根據(jù)示例性實施例的分層編碼單元;

圖4是根據(jù)示例性實施例的基于編碼單元的圖像編碼器的框圖;

圖5是根據(jù)示例性實施例的基于編碼單元的圖像解碼器的框圖;

圖6示出根據(jù)示例性實施例的最大編碼單元、子編碼單元和預(yù)測單元;

圖7示出根據(jù)示例性實施例的編碼單元和變換單元;

圖8A到圖8D示出根據(jù)示例性實施例的編碼單元、預(yù)測單元和變換單元的劃分形狀;

圖9是根據(jù)示例性實施例的熵編碼設(shè)備的框圖;

圖10示出根據(jù)示例性實施例的共享上下文模型的方法;

圖11示出根據(jù)示例性實施例的共享上下文模型的方法;

圖12是根據(jù)示例性實施例的熵解碼設(shè)備的框圖;

圖13是示出根據(jù)示例性實施例的熵編碼方法的流程圖;

圖14是示出根據(jù)示例性實施例的熵解碼方法的流程圖。

最佳模式

根據(jù)示例性實施例的一方面,提供一種對圖像數(shù)據(jù)進(jìn)行熵編碼的方法,所述方法包括:將用于對圖像數(shù)據(jù)的第一塊的語法元素進(jìn)行熵編碼的當(dāng)前上下文模型以及用于對圖像數(shù)據(jù)的與第一塊相鄰的第二塊的語法元素進(jìn)行熵編碼的第二上下文模型設(shè)置為與用于對與第一塊相鄰的先前編碼的塊的語法元素進(jìn)行熵編碼的先前上下文模型相同;基于所述當(dāng)前上下文模型對第一塊的語法元素和第二塊的語法元素進(jìn)行熵編碼。

所述方法還可包括:將第一塊和第二塊組合為上下文單元,并且第一塊是所述上下文單元中的在第二塊之前被編碼的塊。

設(shè)置當(dāng)前上下文模型的步驟可包括:將用于對第一塊的語法元素進(jìn)行熵編碼的上下文索引設(shè)置為與用于對先前編碼的塊的語法元素進(jìn)行熵編碼的上下文索引相同。

對第一塊的語法元素進(jìn)行熵編碼的步驟可包括:基于所述上下文索引對第一塊的語法元素執(zhí)行基于上下文的自適應(yīng)二進(jìn)制算術(shù)編碼。

對第一塊的語法元素進(jìn)行熵編碼的步驟可包括:基于指示與所述上下文索引相應(yīng)的最可能的符號的信息以及指示最可能的符號的發(fā)生概率的信息對第一塊的語法元素執(zhí)行算術(shù)編碼。

對第一塊的語法元素進(jìn)行熵編碼的步驟還可包括:基于算術(shù)編碼的結(jié)果,更新指示最可能的符號的信息以及指示最可能的符號的發(fā)生概率的信息中的至少一個。

對第一塊的語法元素進(jìn)行熵編碼的步驟還可包括:基于所述上下文索引對第一塊的語法元素執(zhí)行基于上下文的自適應(yīng)可變長編碼(CAVLC)。

根據(jù)示例性實施例的另一方面,提供一種對圖像數(shù)據(jù)進(jìn)行熵解碼的方法,所述方法包括:將用于對圖像數(shù)據(jù)的第一塊的語法元素進(jìn)行熵解碼的當(dāng)前上下文模型以及用于對圖像數(shù)據(jù)的與第一塊相鄰的第二塊的語法元素進(jìn)行熵解碼的第二上下文模型設(shè)置為與用于對與第一塊相鄰的先前解碼的塊的語法元素進(jìn)行熵解碼的先前上下文模型相同;基于所述當(dāng)前上下文模型對第一塊的語法元素和第二塊的語法元素進(jìn)行熵解碼。

根據(jù)示例性實施例的另一方面,提供一種用于對圖像數(shù)據(jù)進(jìn)行熵編碼的設(shè)備,所述設(shè)備包括:上下文建模單元,將用于對圖像數(shù)據(jù)的第一塊的語法元素進(jìn)行熵編碼的當(dāng)前上下文模型以及用于對圖像數(shù)據(jù)的與第一塊相鄰的第二塊的語法元素進(jìn)行熵編碼的第二上下文模型設(shè)置為與用于對與第一塊相鄰的先前編碼的塊的語法元素進(jìn)行熵編碼的先前上下文模型相同;熵編碼器,基于所述當(dāng)前上下文模型對第一塊的語法元素和第二塊的語法元素進(jìn)行熵編碼。

根據(jù)示例性實施例的另一方面,提供一種用于對圖像數(shù)據(jù)進(jìn)行熵解碼的設(shè)備,所述設(shè)備包括:上下文建模單元,將用于對圖像數(shù)據(jù)的第一塊的語法元素進(jìn)行熵解碼的當(dāng)前上下文模型以及用于對圖像數(shù)據(jù)的與第一塊相鄰的第二塊的語法元素進(jìn)行熵解碼的第二上下文模型設(shè)置為與用于對與第一塊相鄰的先前解碼的塊的語法元素進(jìn)行熵解碼的先前上下文模型相同;熵解碼器,基于所述當(dāng)前上下文模型對第一塊的語法元素和第二塊的語法元素進(jìn)行熵解碼。

根據(jù)示例性實施例的另一方面,提供一種計算機(jī)可讀記錄介質(zhì),所述計算機(jī)可讀記錄介質(zhì)上具有用于執(zhí)行對圖像數(shù)據(jù)進(jìn)行熵編碼的方法或?qū)D像數(shù)據(jù)進(jìn)行熵解碼的方法的計算機(jī)程序。

具體實施方式

以下,將參照附圖更全面地描述一個或多個示例性實施例。當(dāng)諸如“…中的至少一個”的表述位于一系列元素之后時,其修飾整個一系列元素,而不是修飾列出的單個元素。在本說明書中,“圖像”可表示視頻的靜止圖像或運(yùn)動圖像(即,視頻本身)。

圖1是根據(jù)示例性實施例的對圖像進(jìn)行編碼的設(shè)備100的框圖。

參照圖1,對圖像進(jìn)行編碼的設(shè)備100包括最大編碼單元劃分器110、編碼深度確定器120、圖像數(shù)據(jù)編碼器130和編碼信息編碼器140。

最大編碼單元劃分器110可基于最大編碼單元(即,當(dāng)前幀或當(dāng)前條帶的編碼單元中具有最大尺寸的編碼單元)劃分當(dāng)前幀或當(dāng)前條帶。也就是說,最大編碼單元劃分器110可將當(dāng)前幀或當(dāng)前條帶劃分為至少一個最大編碼單元。

根據(jù)示例性實施例,可使用最大編碼單元和深度表示編碼單元。如上所述,最大編碼單元表示當(dāng)前幀的編碼單元中具有最大尺寸的編碼單元,深度表示分層減小編碼單元的程度。隨著深度的增加,編碼單元可從最大編碼單元減小到最小編碼單元,其中,最大編碼單元的深度是最小深度并且最小編碼單元的深度是最大深度。由于編碼單元的尺寸隨著深度的增加從最大編碼單元的尺寸減小,因此第k深度的子編碼單元可包括多個第(k+n)深度的子編碼單元(k和n是等于或大于1的整數(shù))。

根據(jù)將被編碼的幀的尺寸的增加,按照更大的編碼單元對圖像進(jìn)行編碼可產(chǎn)生更高的圖像壓縮率。然而,如果僅使用大的編碼單元對圖像進(jìn)行編碼,則由于連續(xù)改變圖像特征而不能有效地對圖像進(jìn)行編碼。

例如,當(dāng)對平滑區(qū)域(諸如,海面或天空)進(jìn)行編碼時,編碼單元的尺寸越大,圖像的壓縮率可增加的越多。然而,當(dāng)對復(fù)雜區(qū)域(諸如,人或建筑物)進(jìn)行編碼時,編碼單元的尺寸越小,圖像的壓縮率可增加的越多。

因此,根據(jù)示例性實施例,可針對每個幀或每個條帶設(shè)置最大圖像編碼單元和最大深度。因此,針對第一幀或第一條帶的最大編碼單元和最大深度可與針對第二幀或第二條帶的最大編碼單元和最大深度不同。由于最大深度表示編碼單元可減小的最大次數(shù),因此可根據(jù)最大深度可變地設(shè)置包括在最大圖像編碼單元中的每個最小編碼單元的尺寸。可針對每個幀或每個條帶、或針對每個最大編碼單元單獨地確定最大深度。

編碼深度確定器120確定最大編碼單元的劃分形狀??苫诼适д?RD)代價的計算確定劃分形狀。確定的最大編碼單元的劃分形狀被提供給編碼信息編碼器140,根據(jù)最大編碼單元的圖像數(shù)據(jù)被提供給圖像數(shù)據(jù)編碼器130。

最大編碼單元可被劃分為子編碼單元,子編碼單元根據(jù)不同的深度具有不同的尺寸,并且可基于具有不同的尺寸的處理單元對包括在最大編碼單元中的具有不同尺寸的子編碼單元進(jìn)行預(yù)測或頻率變換。換句話說,設(shè)備100可基于具有多種尺寸和多種形狀的處理單元執(zhí)行關(guān)于圖像編碼的多個處理操作。為了對圖像數(shù)據(jù)進(jìn)行編碼,執(zhí)行處理操作(諸如,預(yù)測、變換和熵編碼中的至少一個),其中,具有相同的尺寸或不同的尺寸的處理單元可被用于每個操作。

例如,用于對圖像進(jìn)行編碼的設(shè)備100可選擇與編碼單元不同的處理單元,以預(yù)測所述編碼單元。

當(dāng)編碼單元的尺寸是2N×2N(其中,N是正整數(shù))時,用于預(yù)測的處理單元可以是2N×2N、2N×N、N×2N和N×N。換句話說,可基于具有這樣的形狀的處理單元執(zhí)行運(yùn)動預(yù)測:編碼單元的高度和寬度中的至少一個被二等分。以下,作為預(yù)測的基礎(chǔ)的處理單元被稱為“預(yù)測單元”。

預(yù)測模式可以是幀內(nèi)模式、幀間模式、跳過模式中的至少一個,可僅針對具有特定尺寸或特定形狀的預(yù)測單元執(zhí)行特定預(yù)測模式。例如,可僅針對形狀是正方形的尺寸為2N×2N和N×N的預(yù)測單元執(zhí)行幀內(nèi)模式。另外,可僅針對尺寸為2N×2N的預(yù)測單元執(zhí)行跳過模式。如果在編碼單元中存在多個預(yù)測單元,則可在針對每個預(yù)測單元執(zhí)行預(yù)測之后,選擇具有最小編碼錯誤的預(yù)測模式。

可選地,用于對圖像進(jìn)行編碼的設(shè)備100可基于具有與編碼單元的尺寸不同的尺寸的處理單元對圖像數(shù)據(jù)執(zhí)行變換。對于編碼單元中的變換,可基于具有與編碼單元的尺寸相同的尺寸或小于編碼單元的尺寸的尺寸的處理單元執(zhí)行所述變換。以下,作為變換的基礎(chǔ)的處理單元被稱為“變換單元”。變換可以是離散余弦變換(DCT)或Karhunen Loeve變換(KLT)、或任何其它定點空間變換。

編碼深度確定器120可使用基于拉格朗日乘子的RD優(yōu)化來確定包括在最大編碼單元中的子編碼單元。換句話說,編碼深度確定器120可確定從最大編碼單元劃分的多個子編碼單元的形狀,其中,多個子編碼單元具有根據(jù)它們的深度的尺寸。圖像數(shù)據(jù)編碼器130通過基于由編碼深度確定器120確定的劃分形狀對最大編碼單元進(jìn)行編碼來輸出比特流。

編碼信息編碼器140對關(guān)于由編碼深度確定器120確定的最大編碼單元的編碼模式的信息進(jìn)行編碼。換句話說,編碼信息編碼器140通過對關(guān)于最大編碼單元的劃分形狀的信息、關(guān)于最大深度的信息和關(guān)于每個深度的子編碼單元的編碼模式的信息進(jìn)行編碼來輸出比特流。關(guān)于子編碼單元的編碼模式的信息可包括:關(guān)于子編碼單元的預(yù)測單元的信息、關(guān)于每個預(yù)測單元的預(yù)測模式的信息和關(guān)于子編碼單元的變換單元的信息。

關(guān)于最大編碼單元的劃分形狀的信息可以是這樣的信息,例如,表示每個編碼單元是否被劃分的標(biāo)志信息。例如,當(dāng)對最大編碼單元進(jìn)行劃分和編碼時,對表示最大編碼單元是否被劃分的信息進(jìn)行編碼。另外,當(dāng)對從最大編碼單元劃分的子編碼單元進(jìn)行劃分和編碼時,對表示子編碼單元是否被劃分的信息進(jìn)行編碼。

由于針對每個最大編碼單元存在具有不同的尺寸的子編碼單元,并且必須針對每個子編碼單元確定關(guān)于編碼模式的信息,所以可針對一個最大編碼單元確定表示至少一個編碼模式的信息。

設(shè)備100可通過根據(jù)深度的增加將最大編碼單元的高度和寬度兩者二等分(即,將最大編碼單元四等分)來產(chǎn)生子編碼單元。也就是說,當(dāng)?shù)趉深度的編碼單元的尺寸是2N×2N時,第(k+1)深度的編碼單元的尺寸是N×N。

因此,用于對圖像進(jìn)行編碼的設(shè)備100可考慮圖像特征,基于最大編碼單元的尺寸和最大深度確定每個最大編碼單元的最佳劃分形狀。通過考慮圖像特征動態(tài)地調(diào)整最大編碼單元的尺寸并通過將最大編碼單元劃分為不同深度的子編碼單元對圖像進(jìn)行編碼,可對具有各種分辨率的圖像進(jìn)行更有效的編碼。

圖2是根據(jù)示例性實施例的對圖像進(jìn)行解碼的設(shè)備200的框圖。

參照圖2,對圖像進(jìn)行解碼的設(shè)備200包括:圖像數(shù)據(jù)獲取單元210、編碼信息提取器220和圖像數(shù)據(jù)解碼器230。

圖像數(shù)據(jù)獲取單元210獲得由設(shè)備200接收的比特流,對接收的比特流進(jìn)行解析,以獲得根據(jù)最大編碼單元的圖像數(shù)據(jù),并將圖像數(shù)據(jù)輸出到圖像數(shù)據(jù)解碼器230。圖像數(shù)據(jù)獲取單元210可從當(dāng)前幀或當(dāng)前條帶的頭提取關(guān)于當(dāng)前幀或當(dāng)前條帶的最大編碼單元的信息。換句話說,圖像數(shù)據(jù)獲取單元210按照最大編碼單元對比特流進(jìn)行劃分,從而圖像數(shù)據(jù)解碼器230可根據(jù)最大編碼單元對圖像數(shù)據(jù)進(jìn)行解碼。

編碼信息提取器220通過對接收的比特流進(jìn)行解析來從當(dāng)前幀的頭提取以下信息:表示最大編碼單元的信息、表示最大深度的信息、表示最大編碼單元的劃分形狀的信息、表示子編碼單元的編碼模式的信息。表示劃分形狀的信息和表示編碼模式的信息被提供給圖像數(shù)據(jù)解碼器230。

表示最大編碼單元的劃分形狀的信息可包括在最大編碼單元中包括的表示根據(jù)深度具有不同尺寸的子編碼單元的信息,并且可以是表示每個編碼單元是否被劃分的信息(例如,標(biāo)志信息)。

表示編碼模式的信息可包括關(guān)于根據(jù)子編碼單元的預(yù)測單元的信息、關(guān)于預(yù)測模式的信息和關(guān)于變換單元的信息。

圖像數(shù)據(jù)解碼器230通過基于由編碼信息提取器220提取的信息對每個最大編碼單元的圖像數(shù)據(jù)進(jìn)行解碼來恢復(fù)當(dāng)前幀。

圖像數(shù)據(jù)解碼器230可基于關(guān)于最大編碼單元的劃分形狀的信息對包括在最大編碼單元中的子編碼單元進(jìn)行解碼。解碼處理可包括:包括幀內(nèi)預(yù)測和運(yùn)動補(bǔ)償?shù)念A(yù)測處理和逆變換處理。

圖像數(shù)據(jù)解碼器230可基于關(guān)于預(yù)測單元的信息和關(guān)于預(yù)測模式的信息執(zhí)行幀內(nèi)預(yù)測或幀間預(yù)測,以對預(yù)測單元進(jìn)行預(yù)測。圖像數(shù)據(jù)解碼器230還可基于關(guān)于子編碼單元的變換單元的信息針對每個子編碼單元執(zhí)行逆變換。

圖3示出根據(jù)示例性實施例的分層編碼單元。

參照圖3,分層編碼單元可包括寬度×高度是64×64、32×32、16×16、8×8和4×4的編碼單元。除具有完全正方形狀的這些編碼單元以外,可還存在寬度×高度是64×32、32×64、32×16、16×32、16×8、8×16、8×4和4×8的編碼單元。

參照圖3,針對分辨率為1920×1080的圖像數(shù)據(jù)310,最大編碼單元的尺寸被設(shè)置為64×64,最大深度被設(shè)置為2。

針對分辨率為1920×1080的圖像數(shù)據(jù)320,最大編碼單元的尺寸被設(shè)置為64×64,最大深度被設(shè)置為3。針對分辨率為352×288的圖像數(shù)據(jù)330,最大編碼單元的尺寸被設(shè)置為16×16,最大深度被設(shè)置為2。

當(dāng)分辨率高或者數(shù)據(jù)量大時,編碼單元的最大尺寸可以相對大以增加壓縮率并精確地反映圖像特征。因此,針對具有比圖像數(shù)據(jù)330更高的分辨率的圖像數(shù)據(jù)310和圖像數(shù)據(jù)320,64×64可被選擇為最大編碼單元的尺寸。

最大深度表示分層編碼單元中的層的總數(shù)。由于圖像數(shù)據(jù)310的最大深度是2,所以圖像數(shù)據(jù)310的編碼單元315根據(jù)深度的增加可包括長軸尺寸為64的最大編碼單元和長軸尺寸為32和16的子編碼單元。

另一方面,由于圖像數(shù)據(jù)330的最大深度是1,因此圖像數(shù)據(jù)330的編碼單元335根據(jù)深度的增加可包括長軸尺寸為16的最大編碼單元和長軸尺寸為8和4的編碼單元。

然而,由于圖像數(shù)據(jù)320的最大深度是3,因此圖像數(shù)據(jù)320的編碼單元325根據(jù)深度的增加可包括長軸尺寸為64的最大編碼單元和長軸尺寸為32、16、8和4的子編碼單元。由于隨著深度增加基于更小的子編碼單元對圖像進(jìn)行編碼,因此示例性實施例適于對包括多個更小場景的圖像進(jìn)行編碼。

圖4是根據(jù)示例性實施例的基于編碼單元的圖像編碼器400的框圖。

幀內(nèi)預(yù)測單元410在當(dāng)前幀405中對幀內(nèi)模式的預(yù)測單元執(zhí)行幀內(nèi)預(yù)測.運(yùn)動估計器420和運(yùn)動補(bǔ)償器425使用當(dāng)前幀405和參考幀495對幀間模式的預(yù)測單元執(zhí)行幀間預(yù)測和運(yùn)動補(bǔ)償。

基于從幀內(nèi)預(yù)測單元410、運(yùn)動估計器420和運(yùn)動補(bǔ)償器425輸出的預(yù)測單元產(chǎn)生殘差值,并且產(chǎn)生的殘差值通過經(jīng)過變換器430和量化器440被輸出為量化的變換系數(shù)。

量化的變換系數(shù)通過經(jīng)過反量化器460和逆變換器470被恢復(fù)為殘差值,通過經(jīng)過去塊單元480和環(huán)路濾波單元490對恢復(fù)的殘差值進(jìn)行后處理,并且恢復(fù)的殘差值被輸出為參考幀495。量化的變換系數(shù)可通過經(jīng)過熵編碼器450被輸出為比特流455。

為了基于根據(jù)示例性實施例的編碼方法執(zhí)行編碼,圖像編碼器400的組件(即,幀內(nèi)預(yù)測單元410、運(yùn)動估計器420、運(yùn)動補(bǔ)償器425、變換器430、量化器440、熵編碼器450、反量化器460、逆變換器470、去塊單元480和環(huán)路濾波單元490)基于最大編碼單元、根據(jù)深度的子編碼單元、預(yù)測單元和變換單元執(zhí)行圖像編碼處理。

圖5是根據(jù)示例性實施例的基于編碼單元的圖像解碼器500的框圖。

參照圖5,比特流505經(jīng)過解析器510,其中,解析器510對比特流進(jìn)行解析,以提取將被解碼的編碼的圖像數(shù)據(jù)和所述解碼所必須的編碼信息。編碼的圖像數(shù)據(jù)通過經(jīng)過熵解碼器520和反量化器530被輸出為反量化的數(shù)據(jù),并通過經(jīng)過逆變換器540被恢復(fù)為殘差值。通過將殘差值添加到幀內(nèi)預(yù)測單元550的幀內(nèi)預(yù)測結(jié)果或運(yùn)動補(bǔ)償單元560的運(yùn)動補(bǔ)償結(jié)果來根據(jù)編碼單元恢復(fù)殘差值?;謴?fù)的編碼單元通過經(jīng)過去塊單元570和環(huán)路濾波單元580被用于下一個編碼單元或下一個幀585、595的預(yù)測。

為了基于根據(jù)示例性實施例的解碼方法執(zhí)行解碼,圖像解碼器500的組件(即,解析器510、熵解碼器520、反量化器530、逆變換器540、幀內(nèi)預(yù)測單元550、運(yùn)動補(bǔ)償器560、去塊單元570和環(huán)路濾波單元580)基于最大編碼單元、根據(jù)深度的子編碼單元、預(yù)測單元和變換單元執(zhí)行圖像解碼處理。

具體來講,幀內(nèi)預(yù)測單元550和運(yùn)動補(bǔ)償器560通過考慮最大編碼單元和深度來確定子編碼單元中的預(yù)測單元和預(yù)測模式,逆變換器540通過考慮變換單元的尺寸執(zhí)行逆變換。

圖6示出根據(jù)示例性實施例的最大編碼單元、子編碼單元和預(yù)測單元。

圖1中示出的用于對圖像進(jìn)行編碼的設(shè)備100和圖2中示出的用于對圖像進(jìn)行解碼的設(shè)備200考慮圖像特征,使用分層編碼單元執(zhí)行編碼和解碼??筛鶕?jù)圖像特征適應(yīng)性地設(shè)置最大編碼單元和最大深度,或者可根據(jù)用戶的輸入設(shè)置最大編碼單元和最大深度。

在圖6中,分層編碼單元結(jié)構(gòu)600具有最大編碼單元610,其中,最大編碼單元610的高度和寬度是64且最大深度是4。深度沿著分層編碼單元結(jié)構(gòu)600的縱軸增加,并且隨著深度增加,子編碼單元620到650的高度和寬度減小。沿著分層編碼單元結(jié)構(gòu)600的橫軸示出最大編碼單元610和子編碼單元620到子編碼單元650的預(yù)測單元。

最大編碼單元610的深度為0且編碼單元的尺寸(即,高度和寬度)為64×64。深度沿著縱軸增加,存在尺寸為32×32且深度為1的子編碼單元620、尺寸為16×16且深度為2的子編碼單元630、尺寸為8×8且深度為3的子編碼單元640和尺寸為4×4且深度為4的子編碼單元650。尺寸為4×4且深度為4的子編碼單元650是最小編碼單元,并且最小編碼單元可被劃分為預(yù)測單元,其中,每個預(yù)測單元小于最小編碼單元。

參照圖6,根據(jù)每個深度沿著橫軸示出預(yù)測單元的示例。也就是說,深度為0的最大編碼單元610的預(yù)測單元可以是尺寸與編碼單元610相等(即,64×64)的預(yù)測單元、或尺寸小于尺寸為64×64的編碼單元610的以下預(yù)測單元:尺寸為64×32的預(yù)測單元612、尺寸為32×64的預(yù)測單元614、或尺寸為32×32的預(yù)測單元616。

深度為1且尺寸為32×32的編碼單元620的預(yù)測單元可以是尺寸與編碼單元620相等(即,32×32)的預(yù)測單元、或尺寸小于尺寸為32×32的編碼單元620的以下預(yù)測單元:尺寸為32×16的預(yù)測單元622、尺寸為16×32的預(yù)測單元624、或尺寸為16×16的預(yù)測單元626。

深度為2且尺寸為16×16的編碼單元630的預(yù)測單元可以是尺寸與編碼單元630相等(即,16×16)的預(yù)測單元、或尺寸小于尺寸為16×16的編碼單元630的以下預(yù)測單元:尺寸為16×8的預(yù)測單元632、尺寸為8×16的預(yù)測單元634、或尺寸為8×8的預(yù)測單元636。

深度為3且尺寸為8×8的編碼單元640的預(yù)測單元可以是尺寸與編碼單元640相等(即,8×8)的預(yù)測單元、或尺寸小于尺寸為8×8的編碼單元640的以下預(yù)測單元:尺寸為8×4的預(yù)測單元642、尺寸為4×8的預(yù)測單元644、或尺寸為4×4的預(yù)測單元646。

最后,深度為4且尺寸為4×4的編碼單元650是最小編碼單元和最大深度的編碼單元,并且編碼單元650的預(yù)測單元可以是尺寸為4×4的預(yù)測單元650、尺寸為4×2的預(yù)測單元652、尺寸為2×4的預(yù)測單元654或尺寸為2×2的預(yù)測單元656。

圖7示出根據(jù)示例性實施例的編碼單元和變換單元。

圖1中示出的用于對圖像進(jìn)行編碼的設(shè)備100和圖2中示出的用于對圖像進(jìn)行解碼的設(shè)備200使用最大編碼單元或從最大編碼單元劃分的等于或小于最大編碼單元的子編碼單元來執(zhí)行編碼和解碼。在編碼和解碼過程中,將用于變換的變換單元的尺寸選擇為不大于相應(yīng)的編碼單元的尺寸。例如,參照圖7,當(dāng)當(dāng)前編碼單元710的尺寸為64×64時,可使用尺寸為32×32的變換單元720執(zhí)行變換。

圖8A到圖8D示出根據(jù)示例性實施例的編碼單元、預(yù)測單元和變換單元的劃分形狀。

圖8A和圖8B分別示出根據(jù)示例性實施例的編碼單元和預(yù)測單元。

圖8A示出由圖1中示出的用于對圖像進(jìn)行編碼的設(shè)備100選擇的以對最大編碼單元810進(jìn)行編碼的劃分形狀。設(shè)備100將最大編碼單元810劃分為多種形狀,執(zhí)行編碼,通過基于R-D代價對多種劃分形狀的編碼結(jié)果進(jìn)行相互比較來選擇最佳劃分形狀。當(dāng)對最大編碼單元810進(jìn)行編碼最佳時,可對最大編碼單元810進(jìn)行編碼而不需如圖8A到圖8D所示劃分最大編碼單元810。

參照圖8A,通過將最大編碼單元810劃分為深度等于或大于1的子編碼單元對深度為0的最大編碼單元810進(jìn)行編碼。也就是說,將最大編碼單元810劃分為深度為1的4個子編碼單元,并且將深度為1的所有或一些子編碼單元劃分為深度為2的子編碼單元。

將深度為1的子編碼單元中位于右上側(cè)的子編碼單元和位于左下側(cè)的子編碼單元劃分為深度等于或大于2的子編碼單元??蓪⑸疃鹊扔诨虼笥?的一些子編碼單元劃分為深度為等于或大于3的子編碼單元。

圖8B示出最大編碼單元的預(yù)測單元的劃分形狀。

參照圖8B,可以以與最大編碼單元810的劃分不同的配置,來劃分最大編碼單元810的預(yù)測單元860。換句話說,每個子編碼單元的預(yù)測單元可小于相應(yīng)的子編碼單元。

例如,深度為1的子編碼單元中位于右下側(cè)的子編碼單元854的預(yù)測單元可小于子編碼單元854。另外,深度為2的子編碼單元814、816、818、828、850和852中的一些子編碼單元814、816、850和852的預(yù)測單元可分別小于子編碼單元814、816、850和852。

另外,深度為3的子編碼單元822、832和848的預(yù)測單元可分別小于子編碼單元822、832和848。所述預(yù)測單元可具有這樣的形狀:各個子編碼單元沿著高度或?qū)挾鹊姆较虮欢确?;或者所述預(yù)測單元可具有這樣的形狀:各個子編碼單元沿著高度和寬度的方向被四等分。

圖8C和圖8D分別示出根據(jù)示例性實施例的預(yù)測單元和變換單元。

圖8C示出圖8B中示出的最大編碼單元810的預(yù)測單元的劃分形狀,圖8D示出最大編碼單元810的變換單元的劃分形狀。

參照圖8D,可與預(yù)測單元860不同地設(shè)置變換單元870的劃分形狀。

例如,即使在圖8C中深度為1的編碼單元854的預(yù)測單元被選擇為具有編碼單元854的高度被二等分的形狀,,也可在圖8D中選擇具有與編碼單元854相同的尺寸的變換單元。也就是說,圖8A中的編碼單元854的尺寸和形狀與圖8D的變換單元854的尺寸和形狀相同,但圖8B和圖8C中的預(yù)測單元854的尺寸和形狀與圖8A中的編碼單元854和圖8D中的變換單元的尺寸和形狀不同。同樣地,即使深度為2的編碼單元814和編碼單元850的預(yù)測單元被選擇為具有編碼單元814和850的每個的高度被二等分的形狀,也可選擇具有與編碼單元814和編碼單元850中的每個編碼單元的原始尺寸相同的尺寸的變換單元。

可選擇具有小于預(yù)測單元的尺寸的變換單元。例如,當(dāng)深度為2的編碼單元852的預(yù)測單元被選擇為具有編碼單元852的寬度被二等分的形狀時,,可選擇具有沿高度和寬度方向?qū)⒕幋a單元852四等分的形狀的變換單元,其中,所述變換單元具有小于預(yù)測單元的形狀的尺寸。

圖9是根據(jù)示例性實施例的熵編碼設(shè)備900的框圖。

參照圖9,熵編碼設(shè)備900包括上下文建模單元910和熵編碼器920。熵編碼設(shè)備900可相應(yīng)于圖4中示出的熵編碼器450。

上下文建模單元910設(shè)置用于對關(guān)于當(dāng)前塊的數(shù)據(jù)進(jìn)行熵編碼的上下文模型。關(guān)于當(dāng)前塊的數(shù)據(jù)包括與指示對當(dāng)前塊進(jìn)行編碼的方法的信息和殘差數(shù)據(jù)有關(guān)的各種語法元素。指示對當(dāng)前塊進(jìn)行編碼的方法的信息可以是用于描述對當(dāng)前塊進(jìn)行編碼的方法的頭信息(諸如,指示塊類型的信息、指示預(yù)測模式的信息等),殘差數(shù)據(jù)可以是指示通過對殘差值執(zhí)行變換而產(chǎn)生的變換系數(shù)的信息(諸如,編碼塊模式(CBP)、有效的映射(significance map)、級別信息(level information)等)。

分別對語法元素執(zhí)行熵編碼和熵解碼。詳細(xì)地,使用針對每個語法元素的不同的上下文函數(shù)計算上下文索引,使用基于上下文的自適應(yīng)二進(jìn)制算數(shù)編碼(CABAC)或基于上下文的自適應(yīng)可變長編碼(CAVLC)執(zhí)行熵編碼和熵解碼。因此,在下文中,當(dāng)前塊的熵編碼或熵解碼是指針對當(dāng)前塊的預(yù)定的語法元素的熵編碼或熵解碼,并且預(yù)定的語法元素是指多種語法元素之一。

一種現(xiàn)有技術(shù)的編解碼器(諸如,運(yùn)動圖像專家組(MPEG)-4H.264/MPEG-4高級視頻編碼(AVC))通過參考與當(dāng)前塊相鄰的先前編碼的塊的語法元素來執(zhí)行上下文建模,從而對當(dāng)前塊的預(yù)定的語法元素進(jìn)行熵編碼。上下文建模是指設(shè)置用于對當(dāng)前塊進(jìn)行熵編碼的上下文模型,設(shè)置上下文模型的操作包括計算上下文索引的操作。

然而,當(dāng)通過參考先前編碼的塊的語法元素來對當(dāng)前進(jìn)行熵編碼時,發(fā)生存儲器的頻繁的訪問。另外,由于為了參考先前編碼的塊的語法元素,語法元素應(yīng)被連續(xù)地存儲在存儲器中,因此熵編碼需要大容量的存儲器。當(dāng)所有的塊被熵編碼時,上下文建模單元910不是重復(fù)地執(zhí)行上下文建模,而是通過對預(yù)定數(shù)量的塊進(jìn)行組合來設(shè)置作為用于執(zhí)行上下文建模的單元的上下文單元,并對上下文單元僅執(zhí)行一次上下文建模。將參照圖10和圖11詳細(xì)描述上述處理。

圖10示出根據(jù)示例性實施例的共享上下文模型的方法。

一種現(xiàn)有技術(shù)的編解碼器(諸如,MPEG-4H.264/MPEG-4AVC)參考與當(dāng)前塊左側(cè)相鄰的先前編碼的塊和/或與當(dāng)前塊的上側(cè)相鄰的先前編碼的塊,從而對當(dāng)前塊進(jìn)行熵編碼。換句話說,為了對塊X1 1010的語法元素A進(jìn)行熵編碼,將與塊X1 1010的左側(cè)相鄰的先前編碼的塊A 1020的語法元素A和/或與塊X1 1010的上側(cè)相鄰的先前編碼的塊B 1030的語法元素A代入到預(yù)定的上下文函數(shù),并基于所述代入計算用于對塊X1 1010的語法元素A進(jìn)行熵編碼的上下文索引。上下文函數(shù)是用于確定上下文索引的函數(shù),并可針對每個語法元素被確定。

另外,在現(xiàn)有技術(shù)的編解碼器中,當(dāng)完成塊X1 1010的熵編碼并且塊X2 1012的語法元素被熵編碼時,將與塊X2 1012相鄰的先前編碼的塊X1 1010的語法元素A和塊C 1040的語法元素A代入到上下文函數(shù),從而可基于所述代入計算上下文索引。

然而,上下文建模單元910將塊X1 1010、塊X2 1012、塊X3 1014和塊X4 1016組合為一個上下文單元1000,并對該上下文單元1000執(zhí)行上下文建模。例如,當(dāng)通過對上下文單元1000中的被最初編碼的塊X1 1010執(zhí)行上下文建模來計算預(yù)定的上下文索引時,上下文建模單元910不單獨計算用于執(zhí)行上下文建模的上下文單元1000的其它塊1012至1016的上下文索引。上下文單元1000中的其它塊1012至1016的上下文索引被設(shè)置為與塊X1 1010的上下文索引相同(即,相等)。

不需要重復(fù)地執(zhí)行上下文建模以對塊X2 1012進(jìn)行熵編碼,并且可通過使用用于對塊X1 1010進(jìn)行熵編碼的上下文索引來對塊X2 1012進(jìn)行熵編碼。上下文單元1000的設(shè)置中沒有任何限制,并且將連續(xù)編碼的塊組合為一個組的所有方法可用于設(shè)置上下文單元1000。指示設(shè)置上下文單元1000的方法的信息可連同熵編碼的結(jié)果一起被編碼,并可被插入到圖像數(shù)據(jù)中。然而,當(dāng)通過使用相同的方法由編碼器和解碼器設(shè)置上下文單元1000時,可不必對指示設(shè)置上下文單元1000的方法的信息進(jìn)行編碼。

由于如圖10所示對上下文單元1000中的四個塊執(zhí)行上下文建模,因此當(dāng)執(zhí)行上下文建模時,避免發(fā)生延時,并且可以以更高的速度執(zhí)行熵編碼。另外,由于相鄰塊可具有相似的特性的概率很高,因此即使相鄰的塊共享上下文索引并被熵編碼,編碼的壓縮率也不會降低。

圖11示出根據(jù)示例性實施例的共享上下文模型的方法。

參照圖11,作為用于執(zhí)行上下文建模的單元的上下文單元1100可被設(shè)置為與以上參照圖1至圖8描述的最大編碼單元相同。換句話說,為了對圖11中示出的塊1110至1130進(jìn)行熵編碼,上下文建模單元910僅執(zhí)行一次上下文建模。

為了對最大編碼單元中被最初編碼的塊X1 1110的語法元素A進(jìn)行熵編碼,將塊A1140的語法元素A和塊B 1150的語法元素A代入到預(yù)定的上下文函數(shù),并且基于所述代入計算塊X1 1110的上下文索引。隨后,將用于對其它塊1112至1130的語法元素A進(jìn)行熵編碼的上下文索引設(shè)置為與塊X1 1110的上下文索引相同。對包括在最大編碼單元中的多個塊1110至1130僅執(zhí)行一次上下文建模,以避免由于頻繁的上下文建模引起的低效率。

返回參照圖9,熵編碼器920基于由上下文建模單元910設(shè)置的上下文模型對關(guān)于當(dāng)前塊的數(shù)據(jù)進(jìn)行熵編碼,從而產(chǎn)生比特流。熵編碼器920對當(dāng)前塊的預(yù)定的語法元素進(jìn)行熵編碼。

當(dāng)當(dāng)前塊是上下文單元1000或1100的初始塊時,上下文建模單元910基于與當(dāng)前塊相鄰的至少一個先前編碼的塊設(shè)置用于對當(dāng)前塊進(jìn)行熵編碼的上下文模型,并且熵編碼器920根據(jù)設(shè)置的上下文模型對當(dāng)前塊進(jìn)行熵編碼。

當(dāng)當(dāng)前塊不是上下文單元1000或1100的初始塊1010或1110時,上下文建模單元910將用于對當(dāng)前塊進(jìn)行熵編碼的上下文模型設(shè)置為與用于對初始塊1010或1110進(jìn)行熵編碼的上下文模型相同,熵編碼器920根據(jù)設(shè)置的上下文模型對當(dāng)前塊進(jìn)行熵編碼。熵編碼是基于上下文的自適應(yīng)熵編碼,并且基于上下文的自適應(yīng)熵編碼包括CABAC和/或CAVLC。

關(guān)于CABAC,熵編碼器920基于關(guān)于最可能的符號的信息并基于關(guān)于最可能的符號的發(fā)生概率的信息執(zhí)行算術(shù)編碼,其中,最可能的符號對應(yīng)于由上下文建模單元910計算的上下文索引。當(dāng)上下文索引在上下文單元1000或1100中被設(shè)置時,與上下文索引相應(yīng)的最可能的符號以及最可能的符號的發(fā)生概率被確定。熵編碼器920基于確定的最可能的符號和確定的最可能的符號的發(fā)生概率,來對上下文單元1000或1100的所有塊執(zhí)行熵編碼。

當(dāng)完成當(dāng)前塊的熵編碼時,熵編碼器920可更新最可能的符號和最可能符號的發(fā)生概率中的至少一個。如果最可能的符號已根據(jù)當(dāng)前塊的熵編碼的結(jié)果被改變,則熵編碼器920改變關(guān)于與由上下文建模單元910設(shè)置的上下文索引相應(yīng)的最可能的符號的信息。另外,熵編碼器920根據(jù)當(dāng)前塊的熵編碼的結(jié)果更新最可能的符號的發(fā)生概率,其中,所述最可能的符號相應(yīng)于由上下文建模單元910設(shè)置的上下文索引。

每當(dāng)對塊進(jìn)行熵編碼時,或者在每個預(yù)定的更新時間段中,可執(zhí)行更新。當(dāng)在每個預(yù)定的更新時間段中執(zhí)行更新時,熵編碼器920可基于上下文單元1000或1100的預(yù)定的塊的熵編碼的結(jié)果來執(zhí)行更新。在圖10的上下文單元1000的情況下,熵編碼器920可對上下文單元1000的初始塊1010進(jìn)行熵編碼,并隨后可基于熵編碼的結(jié)果執(zhí)行更新,或者,熵編碼器920可對上下文單元100的最后塊1016進(jìn)行熵編碼,并隨后可基于熵編碼的結(jié)果執(zhí)行更新。

在CAVLC中,熵編碼器920可基于由上下文建模單元910設(shè)置的上下文模型選擇可變長編碼表。根據(jù)CAVLC,可通過參考與當(dāng)前塊的左側(cè)相鄰的先前編碼的塊或與當(dāng)前塊的上側(cè)相鄰的先前編碼的塊,來選擇用于對當(dāng)前塊進(jìn)行熵編碼的可變長編碼表。對于更有效的可變長編碼,可通過參考先前編碼的塊來選擇多個可變長編碼表之一,從而可執(zhí)行適應(yīng)于上下文的熵編碼。

然而,根據(jù)示例性實施例,由于不是通過針對每個塊反復(fù)地選擇可變長編碼表,而是通過針對包括在上下文單元1000或1100中的所有的塊僅選擇一次可變長編碼表,對上下文單元1000或1100僅執(zhí)行一次上下文建模,因此熵編碼器920可根據(jù)上下文單元1000或1100中選擇的可變長編碼表對當(dāng)前塊執(zhí)行熵編碼。

圖12是根據(jù)本發(fā)明的實施例的熵解碼設(shè)備1200的框圖。

參照圖12,根據(jù)示例性實施例的熵解碼設(shè)備1200包括上下文建模單元1210和熵解碼器1220。熵解碼設(shè)備1200可相應(yīng)于圖5中示出的熵解碼器520。圖12的熵解碼設(shè)備1200是用于對以上參照圖9至圖11描述的熵編碼設(shè)備900的熵編碼執(zhí)行逆操作的設(shè)備。

上下文建模單元1210設(shè)置用于對關(guān)于當(dāng)前塊的比特流進(jìn)行熵解碼的上下文模型。關(guān)于當(dāng)前塊的比特流是通過對多種語法元素進(jìn)行熵編碼而產(chǎn)生的比特流,其中,所述多種語法元素包括指示對當(dāng)前塊進(jìn)行編碼的方法的信息和殘差數(shù)據(jù)。

用于熵解碼的上下文建模是與用于熵編碼的上下文建模相應(yīng)的操作。因此,當(dāng)當(dāng)前塊是上下文單元1000或1100中的初始熵解碼的塊1010或1110時,上下文建模單元1210基于與當(dāng)前塊相鄰的至少一個先前解碼的塊,來設(shè)置用于對當(dāng)前塊進(jìn)行熵解碼的上下文模型。另外,當(dāng)當(dāng)前塊不是上下文單元1000或1100中的初始熵編碼的塊1010或1110時,上下文建模單元1210將上下文模型設(shè)置為與上下文單元1000或1100的初始熵解碼的塊1010或1110的上下文模型相同。如上所述,上下文模型可以是上下文索引。對于設(shè)置上下文單元的方法沒有限制。然而,如以上參照圖11所述,上下文單元1100可被設(shè)置為與最大編碼單元相同。

熵解碼器1220根據(jù)由上下文建模單元1210設(shè)置的上下文模型對當(dāng)前塊進(jìn)行熵解碼。熵解碼器1220根據(jù)由上下文建模單元1210計算的上下文索引,對當(dāng)前塊執(zhí)行基于上下文的自適應(yīng)熵解碼?;谏舷挛牡淖赃m應(yīng)熵解碼包括基于上下文的二進(jìn)制算術(shù)解碼或基于上下文的自適應(yīng)可變長解碼。

當(dāng)當(dāng)前塊是上下文單元1000或1100的初始塊時,上下文建模單元1210基于與當(dāng)前塊相鄰的至少一個先前解碼的塊設(shè)置用于對當(dāng)前塊進(jìn)行熵解碼的上下文模型,并且熵解碼器1220根據(jù)設(shè)置的上下文模型對當(dāng)前塊進(jìn)行熵解碼。

當(dāng)當(dāng)前塊不是上下文單元1000或1100的初始塊1010或1110時,上下文建模單元1210將用于對當(dāng)前塊進(jìn)行熵解碼的上下文模型設(shè)置為與用于對初始塊1010或1110進(jìn)行熵解碼的上下文模型相同,熵解碼器1220根據(jù)設(shè)置的上下文模型對當(dāng)前塊進(jìn)行熵解碼。

在基于上下文的自適應(yīng)二進(jìn)制算術(shù)解碼中,熵解碼器1220基于這樣的信息執(zhí)行算術(shù)解碼,其中,所述信息是指指示與由上下文建模單元1210計算的上下文索引相應(yīng)的最可能的符號的信息以及指示最可能的符號的發(fā)生概率的信息。當(dāng)上下文索引被設(shè)置為上下文單元1000或1100時,與上下文索引相應(yīng)的最可能的符號以及最可能的符號的發(fā)生概率被確定。

熵解碼器1220基于確定的最可能的符號和確定的最可能的符號的發(fā)生概率,來對上下文單元1000或1100的所有塊執(zhí)行熵解碼。

當(dāng)完成當(dāng)前塊的熵解碼時,熵解碼器1220可更新最可能的符號和最可能的符號的發(fā)生概率中的至少一個。如果最可能的符號已根據(jù)當(dāng)前塊的熵解碼的結(jié)果被改變,則熵解碼器1220改變指示與由上下文建模單元1210設(shè)置的上下文索引相應(yīng)的最可能的符號的信息。另外,熵解碼器1220根據(jù)當(dāng)前塊的熵解碼的結(jié)果更新最可能的符號的發(fā)生概率,其中,所述最可能的符號相應(yīng)于由上下文建模單元1210設(shè)置的上下文索引。以與熵編碼器920相同的方式執(zhí)行更新。換句話說,每當(dāng)執(zhí)行熵解碼時,或者在每個預(yù)定的更新時間段中,可執(zhí)行更新。

在基于上下文的自適應(yīng)可變長解碼中,熵解碼器1220可基于由上下文建模單元1210設(shè)置的上下文模型選擇可變長解碼表。由于對上下文單元1000或1100僅執(zhí)行一次上下文建模,因此不是對所有的塊重復(fù)執(zhí)行可變長解碼表的選擇,而是針對包括在上下文單元1000或1100中的所有的塊僅選擇一次可變長解碼表,使得熵解碼器1220可根據(jù)上下文單元1000或1100中選擇的可變長解碼表對當(dāng)前塊執(zhí)行熵解碼。

圖13是示出根據(jù)示例性實施例的熵編碼方法的流程圖。

參照圖13,在操作1310,圖9的熵編碼設(shè)備900確定是否執(zhí)行上下文建模,以便對當(dāng)前塊進(jìn)行熵編碼。當(dāng)當(dāng)前塊是上下文單元1000或1100中的初始熵編碼的塊時,上下文建模應(yīng)被執(zhí)行,以便對當(dāng)前塊的預(yù)定的語法元素進(jìn)行熵編碼,并且當(dāng)當(dāng)前塊不是上下文單元1000或1100中的初始熵編碼的塊時,上下文建模不需要被執(zhí)行。

作為在操作1310的確定的結(jié)果,如果確定為了對當(dāng)前塊進(jìn)行熵編碼需要執(zhí)行上下文建模,則在操作1320,熵編碼設(shè)備900設(shè)置用于對當(dāng)前塊進(jìn)行熵編碼的上下文模型。熵編碼設(shè)備900將與當(dāng)前塊相鄰的至少一個先前編碼的塊的語法元素代入到預(yù)定的上下文函數(shù),從而計算上下文索引。

作為在操作1310的確定的結(jié)果,如果確定為了對當(dāng)前塊進(jìn)行熵編碼不需要執(zhí)行上下文建模,則在操作1330,熵編碼設(shè)備900將當(dāng)前塊的上下文模型設(shè)置為和與當(dāng)前塊相鄰的先前編碼的塊的上下文模型相同??蓪⒂糜趯Ξ?dāng)前塊進(jìn)行熵編碼的上下文索引設(shè)置為與包括當(dāng)前塊的上下文單元1000或1100中的初始熵編碼的塊1010或1110的上下文索引相同。

在操作1340,熵編碼設(shè)備900根據(jù)在操作1320或1330設(shè)置的上下文模型對當(dāng)前塊進(jìn)行熵編碼。熵編碼可以是CABAC或CAVLC。

圖14是示出根據(jù)示例性實施例的熵解碼方法的流程圖。

參照圖14,在操作1410,圖12的熵解碼設(shè)備1200確定是否執(zhí)行上下文建模,以便對當(dāng)前塊進(jìn)行熵解碼。當(dāng)當(dāng)前塊是上下文單元1000或1100中的初始熵解碼的塊時,上下文建模應(yīng)被執(zhí)行,以便對當(dāng)前塊的預(yù)定的語法元素進(jìn)行熵解碼,當(dāng)當(dāng)前塊不是上下文單元1000或1100中的初始熵解碼的塊時,上下文建模不需要被執(zhí)行。

作為在操作1410的確定的結(jié)果,如果確定為了對當(dāng)前塊進(jìn)行熵解碼需要執(zhí)行上下文建模,則在操作1420,熵解碼設(shè)備1200設(shè)置用于對當(dāng)前塊進(jìn)行熵解碼的上下文模型。熵解碼設(shè)備900將與當(dāng)前塊相鄰的至少一個先前解碼的塊的語法元素代入到預(yù)定的上下文函數(shù),從而計算上下文索引。

作為在操作1410的確定的結(jié)果,如果確定為了對當(dāng)前塊進(jìn)行熵解碼不需要執(zhí)行上下文建模,則在操作1430,熵解碼設(shè)備900將當(dāng)前塊的上下文模型設(shè)置為和與當(dāng)前塊相鄰的先前解碼的塊的上下文模型相同??蓪⒂糜趯Ξ?dāng)前塊進(jìn)行熵編碼的上下文索引設(shè)置為與包括當(dāng)前塊的上下文單元1000或1100中的初始熵解碼的塊1010或1110的上下文索引相同。

在操作1440,熵解碼設(shè)備1200根據(jù)在操作1420或1430設(shè)置的上下文模型對當(dāng)前塊進(jìn)行熵解碼。熵解碼可以是基于上下文的自適應(yīng)二進(jìn)制算術(shù)解碼或基于上下文的自適應(yīng)可變長解碼。

如上所述,可通過使用低復(fù)雜度硬件以高的速度對圖像數(shù)據(jù)進(jìn)行熵編碼或熵解碼,而在編碼期間圖像的壓縮率不會顯著地降低。

雖然已參考附圖具體地示出和描述了示例性實施例,但本領(lǐng)域的普通技術(shù)人員將理解,在不脫離由權(quán)利要求及其等同物限定的本發(fā)明的精神和范圍的情況下,可在形式和細(xì)節(jié)上對示例性實施例進(jìn)行各種改變。

圖1、圖2、圖4、圖5、圖9和圖12中示出的用于對圖像進(jìn)行編碼的設(shè)備、用于對圖像進(jìn)行解碼的設(shè)備、熵編碼設(shè)備和熵解碼設(shè)備可包括連接到設(shè)備或編碼器的每個單元的總線、與所述總線連接的至少一個處理器,用于執(zhí)行命令的處理器以及與總線連接的用于存儲命令、接收的消息和產(chǎn)生的消息的存儲器。

示例性實施例還可被實施為計算機(jī)可讀記錄介質(zhì)上的計算機(jī)可讀代碼。計算機(jī)可讀記錄介質(zhì)是可存儲數(shù)據(jù)的任何數(shù)據(jù)存儲裝置,其中,所述數(shù)據(jù)可在被存儲之后被計算機(jī)系統(tǒng)讀取,以執(zhí)行計算機(jī)可讀代碼。計算機(jī)可讀記錄介質(zhì)的示例包括只讀存儲器(ROM)、隨機(jī)存取存儲器(RAM)、CD-ROM、磁帶、軟盤和光數(shù)據(jù)存儲裝置。計算機(jī)可讀記錄介質(zhì)還可分布于聯(lián)網(wǎng)的計算機(jī)系統(tǒng),從而以分布的方式存儲和執(zhí)行計算機(jī)可讀代碼??蛇x擇地,示例性實施例可被實施為計算機(jī)可讀傳輸介質(zhì)(諸如,信號或載波),以在網(wǎng)絡(luò)(諸如,互聯(lián)網(wǎng))上傳輸。

當(dāng)前第1頁1 2 3 
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1
太白县| 南涧| 吴旗县| 和顺县| 布尔津县| 吉木乃县| 林甸县| 舒兰市| 绍兴市| 五寨县| 古浪县| 攀枝花市| 杂多县| 枣强县| 宾阳县| 清河县| 秦安县| 临泉县| 棋牌| 鄂尔多斯市| 永德县| 乌鲁木齐县| 长汀县| 钟祥市| 济宁市| 手机| 泰兴市| 土默特左旗| 视频| 宁乡县| 通化县| 榆林市| 宜春市| 岚皋县| 唐海县| 安庆市| 神农架林区| 昭平县| 原阳县| 方山县| 高平市|