TWI853577B - 圖像編碼裝置、圖像解碼裝置、圖像編碼方法、圖像解碼方法 - Google Patents
圖像編碼裝置、圖像解碼裝置、圖像編碼方法、圖像解碼方法 Download PDFInfo
- Publication number
- TWI853577B TWI853577B TW112118744A TW112118744A TWI853577B TW I853577 B TWI853577 B TW I853577B TW 112118744 A TW112118744 A TW 112118744A TW 112118744 A TW112118744 A TW 112118744A TW I853577 B TWI853577 B TW I853577B
- Authority
- TW
- Taiwan
- Prior art keywords
- slice
- image
- block
- information
- brick
- Prior art date
Links
- 238000000034 method Methods 0.000 title claims description 47
- 238000012545 processing Methods 0.000 claims description 33
- 238000004590 computer program Methods 0.000 claims description 9
- 238000010200 validation analysis Methods 0.000 claims 3
- 239000011449 brick Substances 0.000 description 215
- 230000011218 segmentation Effects 0.000 description 55
- 238000013139 quantization Methods 0.000 description 41
- 230000009466 transformation Effects 0.000 description 33
- 230000008569 process Effects 0.000 description 23
- 238000000926 separation method Methods 0.000 description 22
- 238000003709 image segmentation Methods 0.000 description 17
- 230000008929 regeneration Effects 0.000 description 17
- 238000011069 regeneration method Methods 0.000 description 17
- 238000010586 diagram Methods 0.000 description 12
- 238000000638 solvent extraction Methods 0.000 description 6
- 230000006870 function Effects 0.000 description 5
- 239000013598 vector Substances 0.000 description 4
- 101100012902 Saccharomyces cerevisiae (strain ATCC 204508 / S288c) FIG2 gene Proteins 0.000 description 2
- 230000003044 adaptive effect Effects 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 238000005070 sampling Methods 0.000 description 2
- 230000003068 static effect Effects 0.000 description 2
- 101001121408 Homo sapiens L-amino-acid oxidase Proteins 0.000 description 1
- 102100026388 L-amino-acid oxidase Human genes 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000002250 progressing effect Effects 0.000 description 1
- 238000011002 quantification Methods 0.000 description 1
- 230000009467 reduction Effects 0.000 description 1
Images
Abstract
將圖像分割為複數個方塊,將該方塊分割為包含1個以上的由該方塊以下的大小的複數個區塊所成的區塊列的矩形區域。根據顯示圖像中的切片所含的矩形區域的個數的資訊,特定出該切片所含的矩形區域。根據該特定出的矩形區域中的垂直方向上的區塊的個數,特定出為了特定出切片中的區塊列的代碼資料的先頭位置用的資訊的個數。生成將特定出的個數的資訊、顯示切片所含的矩形區域的個數的資訊、和區塊列的代碼資料至少多工化的位元流。
Description
本發明涉及圖像的編碼/解碼技術。
動態圖像的壓縮記錄的編碼方式方面,已知HEVC(High Efficiency Video Coding)編碼方式(以下,記為HEVC)。在HEVC方面,為了編碼效率提升,採用比歷來的大區塊(16×16像素)大的尺寸的基本塊。此大的尺寸的基本塊稱為CTU(Coding Tree Unit),其尺寸最大為64×64像素。CTU進一步被分割為子塊,該子塊為用於執行預測、變換的單元。
此外,在HEVC,可將圖像分割為複數個方塊(tile)或切片(slice)而編碼。在各方塊間或切片間,資料的依存性少,可並列實施編碼解碼處理。作為方塊、切片分割的大的優點之一,舉例以多核的CPU等並列地執行處理,可縮短處理時間。
此外,各切片透過採用於HEVC的歷來的2值算術編碼的手法從而被編碼。亦即,各語法元素被2值化,生成2值訊號。於各語法元素,預先以表(以下,發生機率表)提供發生機率,2值訊號根據發生機率表被算術編碼。此發生機率表在解碼時作為解碼資訊而被使用於後續代碼的解碼。於編碼時作為編碼資訊被使用於後續的編碼。並且,每次進行編碼,根據被編碼的2值訊號是否為發生機率高的符號(symbol)如此之統計資訊而更新發生機率表。
此外,於HEVC存在稱為Wavefront Parallel Processing(以下,WPP)的用於並列處理熵編解碼的手法。在WPP,將在將預先指定的位置的區塊(block)進行編碼處理的時點的發生機率的表應用於下個列的左端的區塊,從而可在抑制編碼效率的降低之下進行以列單位的區塊的並列編碼處理。為了可進行以區塊列單位的並列處理,顯示位元流中的各區塊列的先頭位置的entry_point_offset_minus1及顯示其個數的num_entry_point_offsets被編碼於切片標頭。在專利文獻1,揭露與WPP關聯的技術。
近年來,作為HEVC的後繼,已展開進行更高效率的編碼方式的國際標準化之活動。在ISO/IEC與ITU-T之間設立JVET(Joint Video Experts Team),在VVC(Versatile Video Coding)編碼方式(以下,VVC)方面標準化正在進展。在VVC,正檢討將方塊進一步分割為由複數個區塊列構成的矩形(磚塊(brick))。並且,切片被構成為包含一個以上的磚塊。
[先前技術文獻]
[專利文獻]
[專利文獻1]日本特開2014-11638號公報
[發明所欲解決之問題]
於VVC,可預先導出構成切片的磚塊,再者該磚塊所內包的基本塊列的個數亦可從其他語法導出。為此,可將顯示屬於該切片的基本塊列的先頭位置的entry_point_offset_minus1的個數在不使用num_entry_point_offset之下導出。為此,num_entry_point_offset成為冗長的語法。在本發明,提供減少冗長的語法從而減少位元流的代碼量的技術。
[解決問題之技術手段]
本發明的一方案具備:分割手段,其將圖像分割為複數個方塊,將該方塊分割為包含1個以上的由該方塊以下的大小的複數個區塊所成的區塊列的矩形區域;特定手段,其根據顯示前述圖像中的切片所含的矩形區域的個數的資訊,特定出該切片所含的前述矩形區域,根據該特定出的前述矩形區域中的垂直方向上的區塊的個數,特定出為了特定出前述切片中的前述區塊列的代碼資料的先頭位置用的資訊的個數;和生成手段,其將為了特定出透過前述特定手段而特定出的個數的前述先頭位置用的前述資訊、顯示前述切片所含的矩形區域的個數的前述資訊、前述區塊列的代碼資料至少多工化,生成位元流。
[對照先前技術之功效]
依本發明的構成時,可減少冗長的語法從而減少位元流的代碼量。
本發明的其他特徵及優點將透過參照圖式下的以下的說明而明朗化。另外,圖式中,對相同或同樣的構成,標注相同的參考符號。
以下,參照圖式詳細說明實施方式。另外,以下的實施方式非限定申請專利範圍的發明者。於實施方式雖記載複數個特徵,惟不限於此等複數個特徵的全部為發明必須者,此外複數個特徵亦可任意進行組合。再者,圖式中,對相同或同樣的構成標注相同的參考符號,重複之說明省略。
[第1實施方式]
首先,就本實施方式相關的圖像編碼裝置的功能構成例,使用圖1的方塊圖進行說明。對圖像分割部102,輸入作為編碼對象的輸入圖像。輸入圖像可為構成動態圖像的各畫格的圖像,亦可為靜態圖像。圖像分割部102將輸入圖像分割為「一個或複數個方塊」。方塊為覆蓋輸入圖像內的矩形區域的連續的基本塊的集合。圖像分割部102進一步將個別的方塊分割為一個或複數個磚塊。磚塊為以方塊內的一個或複數個基本塊的列(基本塊列)構成的矩形區域(包含1個以上的由方塊以下的大小的複數個區塊所成的區塊列的矩形區域)。圖像分割部102進一步將輸入圖像分割為以「一個或複數個方塊」或「一個方塊內的一個以上的磚塊」構成的切片。切片為編碼的基本單位,附加按切片顯示切片的種類的資訊等的標頭資訊。於圖7示出將輸入圖像分割為4個方塊、4個切片、11個磚塊之例。分別分割成左上的方塊為1個磚塊、左下的方塊為2個磚塊、右上的方塊為5個磚塊、右下的方塊為3個磚塊。並且,被構成為,左的切片包含3個磚塊、右上的切片包含2個磚塊、右中央的切片包含3個磚塊、右下的切片包含3個磚塊。圖像分割部102就如此般分割的方塊、磚塊、切片的各者,將與大小相關的資訊作為分割資訊而輸出。
區塊分割部103將從圖像分割部102輸出的基本塊列的圖像(基本塊列圖像)分割為複數個基本塊,將基本塊單位的圖像(區塊圖像)輸出至後級。
預測部104將基本塊單位的圖像分割為子塊,以子塊單位進行畫格內預測(intra prediction)、畫格間預測(inter prediction)等,生成預測圖像。不進行跨越磚塊的畫格內預測(使用了其他磚塊的區塊的像素之畫格內預測)、跨越磚塊的動態向量的預測(使用了其他磚塊的區塊的動態向量之動態向量的預測)。再者,預測部104從輸入的圖像與預測圖像算出預測誤差而輸出。此外,預測部104亦與預測誤差一併輸出預測所需的資訊(預測資訊)如子塊分割方法、預測模式、動態向量等的資訊。
變換兼量化部105將預測誤差以子塊單位進行正交變換而求出變換係數,將該求出的變換係數量化而求出量化係數。反量化兼逆變換部106將從變換兼量化部105輸出的量化係數反量化而再生成變換係數,進一步將該再生成的變換係數進行逆正交變換而再生成預測誤差。
圖框記憶體108作用為儲存再生成的圖像的記憶體。圖像再生部107基於從預測部104輸出的預測資訊酌情參照圖框記憶體108而生成預測圖像,從該預測圖像與輸入的預測誤差生成再生圖像而輸出。
迴圈式濾波器部109對再生圖像進行去區塊濾波器、取樣自適應偏移等的迴圈式濾波器處理,輸出實施了該迴圈式濾波器處理的圖像(濾波圖像)。
編碼部110將從變換兼量化部105輸出的量化係數及從預測部104輸出的預測資訊進行編碼從而生成代碼資料(編碼資料),輸出該生成的代碼資料。
統合編碼部111使用從圖像分割部102輸出的分割資訊而生成標頭代碼資料,生成並輸出一位元流,該位元流包含該生成的標頭代碼資料、和從編碼部110輸出的代碼資料。控制部199為進行圖像編碼裝置整體的動作控制者,進行上述的圖像編碼裝置的各功能部的動作控制。
接著,就透過具有示於圖1的構成的圖像編碼裝置之對於輸入圖像的編碼處理進行說明。在本實施方式,為了使說明容易,僅說明畫格內預測編碼的處理,惟不限於此,亦可適用於畫格間預測編碼的處理。再者,在本實施方式為了進行具體的說明,區塊分割部103是作為將從圖像分割部102輸出的基本塊列圖像以「具有64×64像素的尺寸的基本塊」為單位進行分割者而進行說明。
圖像分割部102將輸入圖像分割為方塊、磚塊、切片。將透過圖像分割部102之輸入圖像的分割例示於圖8A、8B。在本實施方式如示於圖8A,將具有1152×1152像素的尺寸的輸入圖像分割為9個方塊(一個方塊的尺寸為384×384像素)。對各方塊從左上依柵格順序分配ID(方塊ID),左上的方塊的方塊ID為0、右下的方塊的方塊ID為8。
此外,將輸入圖像中的方塊、磚塊、切片的分割例示於圖8B。如示於圖8B,方塊ID=0的方塊及方塊ID=7的方塊分割為兩個磚塊(個別的磚塊的尺寸為384×192像素)。方塊ID=2的方塊分割為兩個磚塊(上側的磚塊的尺寸為384×128像素,下側的磚塊的尺寸為384×256像素)。方塊ID=3的方塊分割為3個磚塊(個別的磚塊的尺寸為384×128像素)。方塊ID=1、4、5、6、8的方塊未分割為磚塊(等價於將一個方塊分割為一個磚塊),其結果方塊=磚塊。對各磚塊在柵格順序的方塊之中從上依序分配ID。示於圖8B的BID為磚塊的ID。另外,輸入圖像分割為切片0~4。切片0為包含與BID=0對應的磚塊的切片,切片1為包含與BID=1對應的磚塊的切片,切片2為包含與BID=2對應的磚塊的切片。切片3為包含與BID=3~10對應的磚塊的切片,切片4為包含與BID=11~13對應的磚塊的切片。另外,對各切片,亦在柵格順序的切片之中從上依序分配ID,例如切片0指ID=0的切片,切片4指ID=4的切片。
並且,圖像分割部102就分割的方塊、磚塊、切片的各者,將與大小相關的資訊作為分割資訊輸出至統合編碼部111。此外,圖像分割部102將各磚塊分割為基本塊列圖像,將該分割的基本塊列圖像輸出至區塊分割部103。
區塊分割部103將從圖像分割部102輸出的基本塊列圖像分割為複數個基本塊,將作為基本塊單位的圖像之區塊圖像(64×64像素)對後級的預測部104輸出。
預測部104將基本塊單位的圖像分割為子塊,以子塊單位決定水平預測、垂直預測等的畫格內預測模式,從該決定的畫格內預測模式及編碼完的像素生成預測圖像。再者,預測部104從輸入的圖像與預測圖像算出預測誤差,將該算出的預測誤差對變換兼量化部105輸出。此外,預測部104使子塊分割方法、畫格內預測模式等的資訊為預測資訊,對編碼部110及圖像再生部107輸出。
變換兼量化部105將從預測部104輸出的預測誤差以子塊單位進行正交變換(與子塊的尺寸對應的正交變換處理)而求出變換係數(正交變換係數)。並且,變換兼量化部105將該求出的變換係數量化而求出量化係數。並且,變換兼量化部105將該求出的量化係數對編碼部110及反量化兼逆變換部106輸出。
反量化兼逆變換部106將從變換兼量化部105輸出的量化係數反量化而再生成變換係數,進一步將該再生成的變換係數進行逆正交變換而再生成預測誤差。然後,反量化兼逆變換部106將該再生成的預測誤差對圖像再生部107輸出。
圖像再生部107基於從預測部104輸出的預測資訊酌情參照圖框記憶體108而生成預測圖像,從該預測圖像和從反量化兼逆變換部106輸入的預測誤差生成再生圖像。並且,圖像再生部107將該生成的再生圖像儲存於圖框記憶體108。
迴圈式濾波器部109從圖框記憶體108讀出再生圖像,對該讀出的再生圖像進行去區塊濾波器、取樣自適應偏移等的迴圈式濾波器處理。並且,迴圈式濾波器部109將實施了該迴圈式濾波器處理的圖像再次儲存(再儲存)於圖框記憶體108。
編碼部110將從變換兼量化部105輸出的量化係數及從預測部104輸出的預測資訊進行熵編碼從而生成代碼資料。熵編碼的方法不特別指定,可使用哥倫布編碼、算術編碼、霍夫曼編碼等。並且,編碼部110將該生成的代碼資料對統合編碼部111輸出。
統合編碼部111使用從圖像分割部102輸出的分割資訊而生成標頭代碼資料,將該生成的標頭代碼資料和從編碼部110輸出的代碼資料多工化從而生成並輸出位元流。位元流的輸出目的地不限於特定的輸出目的地,可輸出(儲存)至圖像編碼裝置的內部或外部的記憶體,亦可經由LAN、網際網路等的網路對可與圖像編碼裝置通信的外部裝置進行發送。
接著,將統合編碼部111輸出的位元流(圖像編碼裝置進行編碼的依VVC的代碼資料)的格式的一例示於圖6。於圖6的位元流包含序列參數組(SPS),其為包含涉及序列的編碼的資訊的標頭資訊。此外,於圖6的位元流包含圖像參數組(PPS),其為包含涉及圖像的編碼之資訊的標頭資訊。此外,於圖6的位元流包含切片標頭(SLH),其為包含涉及切片的編碼的資訊的標頭資訊。此外,於圖6的位元流包含各磚塊(圖6中磚塊0~磚塊(N-1))的代碼資料。
於SPS,包含圖像尺寸資訊與基本塊資料分割資訊。於PPS,包含為方塊的分割資訊之方塊資料分割資訊、為磚塊的分割資訊之磚塊資料分割資訊、為切片的分割資訊之切片資料分割資訊0、和基本塊列資料同步化資訊。於SLH,包含切片資料分割資訊1與基本塊列資料位置資訊。
首先,說明有關SPS。於SPS包含為資訊601之pic_width_in_luma_samples及為資訊602之
pic_height_in_luma_samples作為圖像尺寸資訊。
pic_width_in_luma_samples表示輸入圖像的水平方向的尺寸(像素數),pic_height_in_luma_samples表示輸入圖像的垂直方向的尺寸(像素數)。在本實施方式,在輸入圖像方面使用圖8A、8B的輸入圖像,故
pic_width_in_luma_samples=1152、
pic_height_in_luma_samples=1152。此外,於SPS包含為資訊603之log2_ctu_size_minus2作為基本塊資料分割資訊。log2_ctu_size_minus2表示基本塊的尺寸。基本塊的垂直方向及水平方向的像素數以
1<<(log2_ctu_size_minus2+2)表示。在本實施方式,基本塊的尺寸為64×64像素,故log2_ctu_size_minus2的值為4。
接著,說明有關PPS。於PPS包含資訊604~607作為方塊資料分割資訊。資訊604為顯示輸入圖像是否被分割為複數個方塊而編碼的single_tile_in_pic_flag。single_tile_in_pic_flag=1的情況下,表示輸入圖像未被分割為複數個方塊而編碼。另一方面,single_tile_in_pic_flag=0的情況下,表示輸入圖像被分割為複數個方塊而編碼。
資訊605為在single_tile_in_pic_flag=0的情況下含於方塊資料分割資訊的資訊。資訊605為顯示各方塊是否具有相同的尺寸的uniform_tile_spacing_flag。uniform_tile_spacing_flag=1的情況下,表示各方塊具有相同的尺寸,uniform_tile_spacing_flag=0的情況下,表示存在尺寸不相同的方塊。
資訊606及資訊607為在
uniform_tile_spacing_flag=1的情況下含於方塊資料分割資訊的資訊。資訊606為顯示(方塊的水平方向的基本塊數-1)的tile_cols_width_minus1。資訊607為顯示(方塊的垂直方向的基本塊數-1)的tile_rows_height_minus1。輸入圖像的水平方向的方塊數被作為將輸入圖像的水平方向的基本塊數除以方塊的水平方向的基本塊數的情況下的商而獲得。因此除算產生餘數的情況下,使對商加1的數為「輸入圖像的水平方向的方塊數」。此外,輸入圖像的垂直方向的方塊數被作為將輸入圖像的垂直方向的基本塊數除以方塊的垂直方向的基本塊數的情況下的商而獲得。因此除算產生餘數的情況下,使對商加1的數為「輸入圖像的垂直方向的方塊數」。此外,輸入圖像內的總方塊數可透過計算輸入圖像的水平方向的方塊數×輸入圖像的垂直方向的方塊數從而求出。
另外,uniform_tile_spacing_flag=0的情況下,由於包含尺寸與其他不同的方塊,故使輸入圖像的水平方向上的方塊的個數、輸入圖像的垂直方向上的方塊的個數、各方塊的縱橫的尺寸為代碼。
此外,於PPS,包含資訊608~613作為磚塊資料分割資訊。資訊608為brick_splitting_present_flag。brick_splitting_present_flag=1的情況下,表示輸入圖像內的一個以上的方塊被分割為複數個磚塊。另一方面,brick_splitting_present_flag=0的情況下,表示在輸入圖像內的個別的方塊被以單一的磚塊而構成。
資訊609為在brick_splitting_present_flag=1的情況下含於磚塊資料分割資訊的資訊。資訊609為就個別的方塊顯示該方塊是否分割為複數個磚塊的brick_split_flag[]。將顯示第i個方塊是否分割為複數個磚塊的brick_split_flag[]記載為brick_split_flag[i]。brick_split_flag[i]=1的情況下,表示第i個方塊分割為複數個磚塊,brick_split_flag[i]=0的情況下,表示第i個方塊被以單一的磚塊而構成。
資訊610為在brick_split_flag[i]=1的情況下顯示構成第i個方塊的個別的磚塊的尺寸是否相同的uniform_brick_spacing_flag[i]。全部的i方面,
brick_split_flag[i]=0時,資訊610不含於磚塊資料分割資訊。資訊610就符合brick_split_flag[i]=1的i包含uniform_brick_spacing_flag[i]。在
uniform_brick_spacing_flag[i]=1的情況下,表示構成第i個方塊的個別的磚塊的尺寸相同。另一方面,在
uniform_brick_spacing_flag[i]=0的情況下,表示構成第i個方塊的磚塊之中存在尺寸與其他不同的磚塊。
資訊611為在uniform_brick_spacing_flag[i]= 1的情況下含於磚塊資料分割資訊的資訊。資訊611為顯示(第i個方塊中的磚塊的垂直方向的基本塊數-1)的brick_height_minus1[i]。
另外,磚塊的垂直方向的基本塊數可將該磚塊的垂直方向的像素數除以基本塊的垂直方向的像素數(本實施方式為64像素)從而求出。此外,構成方塊的磚塊數被作為將方塊的垂直方向的基本塊數除以磚塊的垂直方向的基本塊數的情況下的商而獲得。因此除算產生餘數的情況下,使對商加1的數為「構成方塊的磚塊數」。例如方塊的垂直方向的基本塊數為10,
brick_height_minus1的值為2。此時,此方塊從上依序分割為基本塊列數為3的磚塊、基本塊列數為3的磚塊、基本塊列數為3的磚塊、基本塊列數為1的磚塊的4個磚塊。
資訊612為就符合
uniform_brick_spacing_flag[i]=0的i顯示(構成第i個方塊的磚塊數-1)的num_brick_rows_minus1[i]。
另外,在本實施方式,在
uniform_brick_spacing_flag[i]=0的情況下,使顯示(構成第i個方塊的磚塊數-1)的num_brick_rows_minus1[i]含於磚塊資料分割資訊。然而,未限定於此。
例如設想在brick_split_flag[i]=1的時點構成第i個方塊的磚塊的個數為2以上。並且,亦可將顯示(構成該方塊的磚塊的個數-2)的num_brick_rows_minus2[i]代替num_brick_rows_minus1[i]而編碼。作成如此,使得可減少顯示構成該方塊的磚塊的個數的語法的位元數。例如,該方塊由2個磚塊構成,將num_brick_rows_minus1[i]進行哥倫布編碼的情況下,顯示「1」的「010」的3位元的資料被編碼。另一方面,將顯示(構成該方塊的磚塊的個數-2)的num_brick_rows_minus2[i]進行哥倫布編碼的情況下,顯示0的「0」的1位元的資料被編碼。
資訊613為就符合
uniform_brick_spacing_flag[i] =0的i顯示(第i個方塊中的第j個磚塊的垂直方向的基本塊數-1)的
brick_row_height_minus1[i][j]。
brick_row_height_minus1[i][j]為僅
num_brick_rows_minus1[i]的個數被編碼。另外,使用上述的num_brick_rows_minus2[i]的情況下,
brick_row_height_minus1[i][j]僅
num_brick_rows_minus2[i]+1的個數被編碼。方塊中的下端的磚塊的垂直方向的基本塊數可從該方塊的垂直方向的基本塊數減去「brick_row_height_minus1+1」的總和從而求出。例如,方塊的垂直方向的基本塊數=10、num_brick_rows_minus1=3、brick_row_height_minus1=2、1、2。此時,該方塊中的下端的磚塊的垂直方向的基本塊數為10-(3+2+3)=2。
此外,於PPS包含資訊614~618作為切片資料分割資訊0。資訊614為single_brick_per_slice_flag。single_brick_per_slice_flag=1的情況下,顯示輸入圖像內的全部的切片被以單一的磚塊而構成。亦即,顯示個別的切片被僅以一個的磚塊而構成。另一方面,
single_brick_per_slice_flag=0的情況下,顯示在輸入圖像中一個以上的切片被以複數個磚塊而構成。
資訊615為rect_slice_flag,為在
single_brick_per_slice_flag=0的情況下含於切片資料分割資訊0的資訊。rect_slice_flag顯示切片包含的方塊為柵格順序或矩形。圖9A顯示rect_slice_flag=0的情況下的方塊與切片的關係,顯示切片內的方塊被以柵格順序而編碼。另一方面,圖9B顯示rect_slice_flag=1的情況下的方塊與切片的關係,顯示切片內的複數個方塊為矩形狀。
資訊616為num_slices_in_pic_minus1,為rect_slice_flag=1且single_brick_per_slice_flag=0的情況下含於切片資料分割資訊0的資訊。
num_slices_in_pic_minus1顯示(輸入圖像中的切片的個數-1)。
資訊617為就輸入圖像中的個別的切片顯示該切片(第i個切片)的左上的磚塊的索引的
top_left_brick_idx[i]。
資訊618為顯示輸入圖像中第i個的切片中的左上的磚塊的索引與右下的磚塊的索引的差分的bottom_right_brick_idx_delta[i]。於此,「輸入圖像中第i個切片中的左上的磚塊」為該切片中最初被處理的磚塊。此外,「輸入圖像中第i個的切片中的右下的磚塊」為該切片中最後被處理的磚塊。其中,畫格內的最初的切片的左上的磚塊的索引決定為0,故最初的切片的top_left_brick_idx[0]不被編碼。
此外,於PPS,資訊619被編碼而包含作為基本塊列資料同步化資訊。資訊619為
entropy_coding_sync_enabled_flag。
entropy_coding_sync_enabled_flag=1的情況下,在將鄰接於上的基本塊列的既定位置的基本塊進行處理的時點的發生機率的表應用於左端的區塊。藉此,能以基本塊列單位進行熵編解碼的並列處理。
接著,說明有關SLH。於SLH,資訊620~621被編碼而包含作為切片資料分割資訊1。資訊620為在rect_slice_flag=1或輸入圖像中的磚塊的個數為2以上的情況下含於切片資料分割資訊1的slice_address。slice_address在rect_slice_flag=0的情況下顯示切片的先頭的BID,在rect_slice_flag=1的情況下顯示當前的切片的號碼。
資訊621為在rect_slice_flag=0且
single_brick_per_slice_flag=0的情況下含於切片資料分割資訊1的num_bricks_in_slice_minus1。
num_bricks_in_slice_minus1顯示(切片中的磚塊數-1)。
於SLH包含資訊622作為基本塊列資料位置資訊。資訊622為entry_point_offset_minus1[]。
entry_point_offset_minus1[]在
entropy_coding_sync_enabled_flag=1的情況下,僅(切片中的基本塊列數-1)的個數被編碼而含於基本塊列資料位置資訊。
entry_point_offset_minus1[]表示基本塊列的代碼資料的進入點,亦即表示基本塊列的代碼資料的先頭位置。entry_point_offset_minus1[j-1]顯示第j個基本塊列的代碼資料的進入點。第0個基本塊列的代碼資料的先頭位置與該基本塊列所屬的切片的代碼資料的先頭位置相同故省略之。並且,{第(j-1)個基本塊列的代碼資料的大小-1}被作為entry_point_offset_minus1[j-1]而編碼。
接著,在本實施方式就透過圖像編碼裝置之輸入圖像的編碼處理(具有圖6的構成的位元流的生成處理),依圖3的流程圖進行說明。
首先,在步驟S301,圖像分割部102將輸入圖像分割為方塊、磚塊、切片。並且,圖像分割部102就分割的方塊、磚塊、切片的各者,將與大小相關的資訊作為分割資訊輸出至統合編碼部111。此外,圖像分割部102將各磚塊分割為基本塊列圖像,將該分割的基本塊列圖像輸出至區塊分割部103。
在步驟S302,區塊分割部103將基本塊列圖像分割為複數個基本塊,將作為基本塊單位的圖像之區塊圖像對後級的預測部104輸出。
在步驟S303,預測部104將從區塊分割部103輸出的基本塊單位的圖像分割為子塊,以子塊單位決定畫格內預測模式,從該決定的畫格內預測模式及編碼完的像素生成預測圖像。再者,預測部104從輸入的圖像與預測圖像算出預測誤差,將該算出的預測誤差對變換兼量化部105輸出。此外,預測部104使子塊分割方法、畫格內預測模式等的資訊為預測資訊,對編碼部110及圖像再生部107輸出。
在步驟S304,變換兼量化部105將從預測部104輸出的預測誤差以子塊單位進行正交變換而求出變換係數(正交變換係數)。並且,變換兼量化部105將該求出的變換係數量化而求出量化係數。並且,變換兼量化部105將該求出的量化係數對編碼部110及反量化兼逆變換部106輸出。
在步驟S305,反量化兼逆變換部106將從變換兼量化部105輸出的量化係數反量化而再生成變換係數,進一步將該再生成的變換係數進行逆正交變換而再生成預測誤差。然後,反量化兼逆變換部106將該再生成的預測誤差對圖像再生部107輸出。
在步驟S306,圖像再生部107基於從預測部104輸出的預測資訊酌情參照圖框記憶體108而生成預測圖像,從該預測圖像和從反量化兼逆變換部106輸入的預測誤差,生成再生圖像。並且,圖像再生部107將該生成的再生圖像儲存於圖框記憶體108。
在步驟S307,編碼部110將從變換兼量化部105輸出的量化係數及從預測部104輸出的預測資訊進行熵編碼從而生成代碼資料。
於此,entropy_coding_sync_enabled_flag=1的情況下,在處理下個基本塊列的左端的基本塊之前應用在處理鄰接於上的基本塊列的既定的位置的基本塊的時點的發生機率表。在本實施方式,以
entropy_coding_sync_enabled_flag=1者進行說明。
在步驟S308,控制部199判斷切片內的全部的基本塊的編碼是否完成。此判斷的結果,切片內的全部的基本塊的編碼已完成的情況下,處理進至步驟S309。另一方面,切片內的基本塊之中殘留尚未編碼的基本塊(未編碼的基本塊)的情況下,為了將該未編碼的基本塊進行編碼,處理進至步驟S303。
在步驟S309,統合編碼部111使用從圖像分割部102輸出的分割資訊而生成標頭代碼資料,生成並輸出一位元流,該位元流包含該生成的標頭代碼資料和從編碼部110輸出的代碼資料。
將輸入圖像如示於圖8A、8B般進行分割的情況下,方塊資料分割資訊的single_tile_in_pic_flag為0、uniform_tile_spacing_flag為1。此外
tile_cols_width_minus1為5、tile_rows_height_minus1為5。
磚塊資料分割資訊的
brick_splitting_present_flag為1。此外,與方塊ID=1、4、5、6、8對應的方塊未分割為磚塊。然而,
brick_split_flag[1]、brick_split_flag[4]、
brick_split_flag[5]、brick_split_flag[6]、
brick_split_flag[8]為0。此外,與方塊ID=0、2、3、7對應的方塊分割為磚塊。然而,brick_split_flag[0]、
brick_split_flag[2]、brick_split_flag[3]、
brick_split_flag[7]為1。
此外,與方塊ID=0、3、7對應的方塊皆分割為相同尺寸的磚塊。然而,
uniform_brick_spacing_flag[0]、
uniform_brick_spacing_flag[3]、
uniform_brick_spacing_flag[7]皆為1。就與方塊ID=2對應的方塊,BID=3的磚塊的尺寸與BID=4的磚塊的尺寸不同。然而,uniform_brick_spacing_flag[2]為0。
brick_height_minus1[0]為2,
brick_height_minus1[3]為1。此外,
brick_height_minus1[7]為2。另外,brick_height_minus1在uniform_brick_spacing為1的情況下被編碼。
brick_row_height_minus1[2][0]為1。另外,非num_brick_rows_minus1[2],替而將上述的
num_brick_rows_minus2[2]的語法進行編碼的情況下,值成為0。
此外,在本實施方式,一個切片包含複數個磚塊,故切片資料分割資訊0中的
single_brick_per_slice_flag為0。此外,在本實施方式,切片以柵格順序內包複數個方塊(切片包含依柵格順序排列的方塊),故rect_slice_flag為0。
此情況下,作為SLH中的切片資料分割資訊,首先切片中的最初的BID(該切片中的磚塊的BID之中最小的BID)被編碼為slice_address。
就切片0,為該切片0中的最初的磚塊的BID之「0」被編碼為slice_address。就切片1,為該切片1中的最初的磚塊的BID之「1」被編碼為slice_address。就切片2,為該切片2中的最初的磚塊的BID之「2」被編碼為slice_address。就切片3,為該切片3中的最初的磚塊的BID之「3」被編碼為slice_address。就切片4,為該切片4中的最初的磚塊的BID之「11」被編碼為slice_address。
然後,各切片內包幾個磚塊被編碼為num_bricks_in_slice_minus1。含於切片0的磚塊僅為與BID=0對應的磚塊(僅單一的磚塊),故與切片0對應的num_bricks_in_slice_minus1為0。含於切片1的磚塊僅為與BID=1對應的磚塊(僅單一的磚塊),故與切片1對應的num_bricks_in_slice_minus1為0。含於切片2的磚塊僅為與BID=2對應的磚塊(僅單一的磚塊),故與切片2對應的num_bricks_in_slice_minus1為0。含於切片3的磚塊為與BID=3~10對應的磚塊(8個磚塊),故與切片3對應的num_bricks_in_slice_minus1為7。含於切片4的磚塊為與BID=11~13對應的磚塊(3個磚塊),故與切片4對應的num_bricks_in_slice_minus1為2。
接著,基本塊列資料位置資訊將從編碼部110送來的(切片中的(第(j-1)個基本塊列的代碼資料的大小-1)的值編碼為entry_point_offset_minus1[j-1]。切片中的entry_point_offset_minus1[]的個數與(切片中的基本塊列數-1)相等。
切片0以單一的磚塊而構成(對應的num_bricks_in_slice_minus1=0),
brick_height_minus1[0]=2。然而,該磚塊的基本塊列的個數為brick_height_minus1[0]+1=3(j的範圍為0~1)。
切片1以單一的磚塊而構成(對應的num_bricks_in_slice_minus1=0),
brick_height_minus1[0]=2、tile_rows_height_minus1=5。然而,該磚塊的基本塊列的個數為
tile_rows_height_minus1-brick_height_minus1[0]=3(j的範圍為0~1)。
切片2以單一的磚塊而構成(對應的num_bricks_in_slice_minus1=0),
brick_height_minus1[1]=5。然而,該磚塊的基本塊列的個數為brick_height_minus1[1]+1=6(j的範圍為0~4)。
切片3的情況下,對應的slice_address=3、對應的num_bricks_in_slice_minus1=7。然而,切片3以與BID=3~10(=slice_address+num_bricks_in_slice_minus1)對應的磚塊(8個磚塊)而構成。切片3中的基本塊列的個數為與BID=3~10的各者對應的磚塊的基本塊列的數的合計值。
與BID=3對應的磚塊的基本塊列的個數為brick_row_height_minus1[2][0]=1,故
brick_row_height_minus1[2][0]+1=2。
與BID=4對應的磚塊的基本塊列的個數可如下而導出。brick_row_height_minus1[2][0]=1、
num_brick_rows_minus1[2]=1、
tile_rows_height_minus1=5。然而,與BID=4對應的磚塊的基本塊列的個數為tile_rows_height_minus1-
brick_row_height_minus1[2][0]=4。
與BID=5~7的各者對應的磚塊的基本塊列的個數為brick_height_minus1[3]=1,故可得知
brick_height_minus1[3]+1=2。
與BID=8~10的各者對應的磚塊的基本塊列的個數為tile_rows_height_minus1=5,故可得知
tile_rows_height_minus1+1=6。
因此,切片3中的基本塊列的個數可導出為與BID=3~10的各者對應的磚塊的基本塊列的數的合計值(2+4+2+2+2+6+6+6)=30。j的範圍為0~28。
切片4的情況下,對應的slice_address=11、對應的num_bricks_in_slice_minus1=2。然而,切片4以與BID=11~13(=slice_address+num_bricks_in_slice_minus1)對應的磚塊(3個磚塊)而構成。切片4中的基本塊列的個數為與BID=11~13的各者對應的磚塊的基本塊列的數的合計值。
與BID=11~12的各者對應的磚塊的基本塊列的個數為brick_height_minus1[7]=2,故可得知
brick_height_minus1[7]+1=3。
與BID=13對應的磚塊的基本塊列的個數為tile_rows_height_minus1=5,故可得知
tile_rows_height_minus1+1=6。
因此,切片4中的基本塊列的個數可導出為與BID=11~13的各者對應的磚塊的基本塊列的數的合計值(3+3+6)=12。j的範圍為0~10。
透過如此的處理,確定各切片中的基本塊列數。在本實施方式,可從其他語法導出
entry_point_offset_minus1的個數,故不需要如歷來般將num_entry_point_offset編碼而予以含於標頭。因此,依本實施方式時,可削減位元流的資料量。
在步驟S310,控制部199判斷輸入圖像中的全部的基本塊的編碼是否完成。此判斷的結果,輸入圖像中的全部的基本塊的編碼完成的情況下,處理進至步驟S311。另一方面,輸入圖像中殘留尚未被編碼的基本塊的情況下,處理進至步驟S303,就尚未被編碼的基本塊進行之後的處理。
在步驟S311,迴圈式濾波器部109對在步驟S306生成的再生圖像進行迴圈式濾波器處理,輸出被實施該迴圈式濾波器處理的圖像。
如此般,依本實施方式時,可不用將顯示幾個顯示磚塊具有的基本塊列的代碼資料的先頭位置的資訊被編碼的資訊進行編碼而予以含於位元流,可生成可導出該資訊的位元流。
[第2實施方式]
在本實施方式,說明有關將透過涉及第1實施方式的圖像編碼裝置而生成的位元流進行解碼的圖像解碼裝置。另外,位元流的構成等與第1實施方式共通的要件方面如同在第1實施方式說明者,故說明省略。
就涉及本實施方式的圖像解碼裝置的功能構成例,使用圖2的方塊圖進行說明。分離解碼部202取得透過涉及第1實施方式的圖像編碼裝置而生成的位元流。位元流的取得方法不限於特定的取得方法。例如,可經由LAN、網際網路等的網路從圖像編碼裝置直接或間接地取得位元流,亦可取得保存於圖像解碼裝置的內部或外部的位元流。然後,分離解碼部202從該取得的位元流分離為與解碼處理相關的資訊、與係數相關的代碼資料,送往解碼部203。此外,分離解碼部202將位元流的標頭的代碼資料進行解碼。在本實施方式,將方塊、磚塊、切片、基本塊的大小等的與圖像的分割相關的標頭資訊進行解碼而生成分割資訊,將該生成的分割資訊輸出至圖像再生部205。亦即,分離解碼部202進行與圖1的統合編碼部111相反的動作。
解碼部203將從分離解碼部202輸出的代碼資料進行解碼而再生成量化係數及預測資訊。反量化兼逆變換部204對量化係數進行反量化而生成變換係數,對該生成的變換係數進行逆正交變換從而再生成預測誤差。
圖框記憶體206是為了儲存再生成的圖片的圖像資料用的記憶體。圖像再生部205根據輸入的預測資訊,酌情參照圖框記憶體206而生成預測圖像。並且,圖像再生部205從該生成的預測圖像與在反量化兼逆變換部204再生成的預測誤差生成再生圖像。並且,圖像再生部205就再生圖像,根據從分離解碼部202輸入的分割資訊,特定出方塊、磚塊、切片的輸入圖像中的位置而輸出。
迴圈式濾波器部207如同上述的迴圈式濾波器部109,對再生圖像進行去區塊濾波器等的迴圈式濾波器處理,輸出被實施迴圈式濾波器處理的圖像。控制部299為進行圖像解碼裝置整體的動作控制者,進行上述的圖像解碼裝置的各功能部的動作控制。
接著,就具有示於圖2的構成的圖像解碼裝置所為的位元流的解碼處理進行說明。在以下,雖以將位元流以畫格單位輸入至圖像解碼裝置者進行說明,惟亦可將1畫格份的靜態圖像的位元流輸入至圖像解碼裝置。此外,在本實施方式,為了使說明容易,雖僅說明畫格內預測解碼處理,惟不限定於此,亦可適用於畫格間預測解碼處理。
分離解碼部202從輸入的位元流分離為與解碼處理相關的資訊、與係數相關的代碼資料,送往解碼部203。此外,分離解碼部202將位元流的標頭的代碼資料進行解碼。更具體而言,分離解碼部202將圖6中的基本塊資料分割資訊、方塊資料分割資訊、磚塊資料分割資訊、切片資料分割資訊0、基本塊列資料同步化資訊、基本塊列資料位置資訊等解碼而生成分割資訊。然後,分離解碼部202將該生成的分割資訊輸出至圖像再生部205。此外,分離解碼部202再生成圖片資料的基本塊單位的代碼資料,輸出至解碼部203。
解碼部203將從分離解碼部202輸出的代碼資料進行解碼而再生成量化係數及預測資訊。再生成的量化係數被輸出至反量化兼逆變換部204,再生成的預測資訊被輸出至圖像再生部205。
反量化兼逆變換部204對輸入的量化係數進行反量化而生成變換係數,對該生成的變換係數進行逆正交變換從而再生成預測誤差。再生成的預測誤差被輸出至圖像再生部205。
圖像再生部205根據從分離解碼部202輸入的預測資訊,酌情參照圖框記憶體206而生成預測圖像。並且,圖像再生部205從該生成的預測圖像與在反量化兼逆變換部204再生成的預測誤差生成再生圖像。並且,圖像再生部205就再生圖像,根據從分離解碼部202輸入的分割資訊,特定出例如圖7的方塊、磚塊、切片的形狀及輸入圖像中的位置而輸出(儲存)至圖框記憶體206。儲存於圖框記憶體206的圖像用於預測之際的參照。
迴圈式濾波器部207對從圖框記憶體206讀出的再生圖像進行去區塊濾波器等的迴圈式濾波器處理,將被實施迴圈式濾波器處理的圖像輸出(儲存)至圖框記憶體206。
控制部299輸出儲存於圖框記憶體206的再生圖像。再生圖像的輸出目的地不限於特定的輸出目的地。例如控制部299亦可將該再生圖像輸出至圖像解碼裝置具有的顯示裝置而使該再生圖像顯示於該顯示裝置。此外,例如控制部299亦可經由LAN、網際網路等的網路而將再生圖像對外部的裝置進行發送。
接著,就涉及本實施方式的圖像解碼裝置所為的位元流的解碼處理(具有圖6的構成的位元流的解碼處理),依圖4的流程圖進行說明。
在步驟S401,分離解碼部202從輸入的位元流分離為與解碼處理相關的資訊、與係數相關的代碼資料,送往解碼部203。此外,分離解碼部202將位元流的標頭的代碼資料進行解碼。更具體而言,分離解碼部202將圖6中的基本塊資料分割資訊、方塊資料分割資訊、磚塊資料分割資訊、切片資料分割資訊、基本塊列資料同步化資訊、基本塊列資料位置資訊等解碼而生成分割資訊。然後,分離解碼部202將該生成的分割資訊輸出至圖像再生部205。此外,分離解碼部202再生成圖片資料的基本塊單位的代碼資料,輸出至解碼部203。
在本實施方式,為位元流的編碼源之輸入圖像的分割採示於圖8A、8B的分割。為位元流的編碼源之輸入圖像、涉及其分割的資訊可從分割資訊導出。
從含於圖像尺寸資訊的
pic_width_in_luma_samples,可特定出輸入圖像的水平方向的尺寸(橫尺寸)為1152像素。此外,從含於圖像尺寸資訊的pic_height_in_luma_samples,可特定出輸入圖像的垂直方向的尺寸(縱尺寸)為1152像素。
此外,基本塊資料分割資訊的
log2_ctu_size_minus2=4,故可將基本塊的尺寸從
1<<log2_ctu_size_minus2+2導出為64×64像素。
此外,方塊資料分割資訊的
single_tile_in_pic_flag=0,故可特定出輸入圖像被分割為複數個方塊。並且,uniform_tile_spacing_flag=1,故可特定出各方塊(端部以外)具有相同的尺寸。
此外,tile_cols_width_minus1=5、
tile_rows_height_minus1=5,故可特定出各方塊被以6×6個的基本塊而構成。亦即,可特定出各方塊被以384×384像素而構成。輸入圖像為1152×1152像素,故可得知該輸入圖像被分割為在水平方向上3個、在垂直方向上3個的9個方塊而編碼。
此外,磚塊資料分割資訊的
brick_splitting_present_flag=1,故可特定出輸入圖像中的至少一個方塊被分割為複數個磚塊。
此外,brick_split_flag[1]、
brick_split_flag[4]、brick_split_flag[5]、
brick_split_flag[6]、brick_split_flag[8]為0。藉此,可特定出與方塊ID=1、4、5、6、8對應的方塊未被分割為磚塊。在本實施方式,所有的方塊的基本塊列數為6,故可得知與方塊ID=1、4、5、6、8對應的方塊的磚塊的基本塊列數為6。
另一方面,brick_split_flag[0]、
brick_split_flag[2]、brick_split_flag[3]、
brick_split_flag[7]為1。藉此,可特定出與方塊ID=0、2、3、7對應的方塊被分割為磚塊。此外,
uniform_brick_spacing_flag[0]、
uniform_brick_spacing_flag[3]、
uniform_brick_spacing_flag[7]皆為1。藉此,可特定出與方塊ID=0、3、7對應的方塊皆被分割為相同尺寸的磚塊。
此外,brick_height_minus1[0]、
brick_height_minus1[7]皆為2。然而,可特定出與方塊ID=0對應的方塊及與方塊ID=7對應的方塊皆方塊內的磚塊的垂直方向的基本塊數為3。此外,可特定出與方塊ID=0對應的方塊及與方塊ID=7對應的方塊皆該方塊內的磚塊數為2(=方塊的基本塊列數(6)/方塊內的磚塊的垂直方向的基本塊數(3)」。
此外,brick_height_minus1[3]為1。然而,可特定出與方塊ID=3對應的方塊內的磚塊的垂直方向的基本塊數為2。此外,可特定出與方塊ID=3對應的方塊內的磚塊數為3(=方塊的基本塊列數(6)/方塊內的磚塊的垂直方向的基本塊數(2)」。
就與方塊ID=2對應的方塊,
num_brick_rows_minus1[2]=1,故可特定出該方塊被以兩個磚塊而構成。此外,uniform_brick_spacing_flag[2]=0。藉此,可特定出與方塊ID=2對應的方塊存在尺寸與其他不同的磚塊。並且,brick_row_height_minus1[2][0]=1、brick_row_height_minus1[2][1]=3、全部的方塊的垂直方向的基本塊數為6。藉此,可特定出與方塊ID=2對應的方塊從上依序被以垂直方向的基本塊數為2的磚塊、垂直方向的基本塊數為4的磚塊而構成。另外,亦可
brick_row_height_minus1[2][1]=3不編碼。原因在於,方塊中的磚塊的個數為2個的情況下,可從方塊的高度和方塊內的第1個磚塊的高度
(brick_row_height_minus1[2][0]=1)求出第2個磚塊的高度。
此外,切片資料分割資訊0中的
single_brick_per_slice_flag=0,故可特定出至少一個切片被以複數個磚塊而構成。在本實施方式,在
uniform_brick_spacing_flag[i]=0的情況下,使顯示(構成第i個方塊的磚塊數-1)的num_brick_rows_minus1[i]含於磚塊資料分割資訊。然而,未限定於此。
例如設想在brick_split_flag[i]=1的時點構成第i個方塊的磚塊的個數為2以上。並且,亦可將顯示(構成該方塊的磚塊的個數-2)的num_brick_rows_minus2[i]代替num_brick_rows_minus1[i]而解碼。作成如此,使得可將減少了顯示構成該方塊的磚塊的個數的語法的位元數的位元流進行解碼。
接著,求出各磚塊的左上及右下的邊界的座標。座標以輸入圖像的左上為原點,以基本塊的水平位置與垂直位置進行顯示。例如,從左第3個、從上第2個的基本塊的左上的邊界的座標為(3,2),右下的邊界的座標為(4,3)。
與方塊ID=0對應的方塊內的BID=0的磚塊的左上的邊界的座標為(0,0)。BID=0的磚塊的基本塊列數為3、全部的方塊的水平方向的基本塊數為6,故右下的邊界的座標為(3,3)。
與方塊ID=0對應的方塊內的BID=1的磚塊的左上的邊界的座標為(0,3)。BID=1的磚塊的基本塊列數為3、全部的方塊的水平方向的基本塊數為6,故右下的邊界的座標為(6,6)。
與方塊ID=1對應的方塊(BID=2的磚塊)的左上的邊界的座標為(6,0)。BID=2的磚塊的基本塊列數為6、全部的方塊的水平方向的基本塊數為6,故右下的邊界的座標為(12,6)。
與方塊ID=2對應的方塊內的BID=3的磚塊的左上的邊界的座標為(12,0)。BID=3的磚塊的基本塊列數為2,故右下的邊界的座標為(18,2)。
與方塊ID=2對應的方塊內的BID=4的磚塊的左上的邊界的座標為(12,2)。BID=4的磚塊的基本塊列數為4,故右下的邊界的座標為(18,6)。
與方塊ID=3對應的方塊內的BID=5的磚塊的左上的邊界的座標為(0,6)。BID=5的磚塊的基本塊列數為2,故右下的邊界的座標為(6,8)。
與方塊ID=3對應的方塊內的BID=6的磚塊的左上的邊界的座標為(0,8)。BID=6的磚塊的基本塊列數為2,故右下的邊界的座標為(6,10)。
與方塊ID=3對應的方塊內的BID=7的磚塊的左上的邊界的座標為(0,10)。BID=7的磚塊的基本塊列數為2,故右下的邊界的座標為(6,12)。
與方塊ID=4對應的方塊(BID=8的磚塊)的左上的邊界的座標為(6,6)。BID=8的磚塊的基本塊列數為6、全部的方塊的水平方向的基本塊數為6,故右下的邊界的座標為(12,12)。
與方塊ID=5對應的方塊(BID=9的磚塊)的左上的邊界的座標為(12,6)。BID=9的磚塊的基本塊列數為6、全部的方塊的水平方向的基本塊數為6,故右下的邊界的座標為(18,12)。
與方塊ID=6對應的方塊(BID=10的磚塊)的左上的邊界的座標為(0,12)。BID=10的磚塊的基本塊列數為6、全部的方塊的水平方向的基本塊數為6,故右下的邊界的座標為(6,18)。
與方塊ID=7對應的方塊內的BID=11的磚塊的左上的邊界的座標為(6,12)。BID=11的磚塊的基本塊列數為3、全部的方塊的水平方向的基本塊數為6,故右下的邊界的座標為(12,15)。
與方塊ID=7對應的方塊內的BID=12的磚塊的左上的邊界的座標為(6,15)。BID=12的磚塊的基本塊列數為3、全部的方塊的水平方向的基本塊數為6,故右下的邊界的座標為(12,18)。
與方塊ID=8對應的方塊(BID=13的磚塊)的左上的邊界的座標為(12,12)。BID=13的磚塊的基本塊列數為6、全部的方塊的水平方向的基本塊數為6,故右下的邊界的座標為(18,18)。
特定出含於各切片的磚塊。就切片0,
slice_address為0、num_bricks_in_slice_minus1為0,故可得知切片0僅以BID=0的磚塊而構成。
就切片1,slice_address為1、
num_bricks_in_slice_minus1為0,故可得知切片1僅以BID=1的磚塊而構成。
就切片2,slice_address為2、
num_bricks_in_slice_minus1為0,故可得知切片2僅以BID=2的磚塊而構成。
就切片3,slice_address為3、
num_bricks_in_slice_minus1為7。然而,可得知切片3以BID=3~10(=slice_address+num_bricks_in_slice_minus1)的磚塊而構成。
就切片4,slice_address為11、
num_bricks_in_slice_minus1為2。然而,可得知切片4以BID=11~13(=slice_address+num_bricks_in_slice_minus1)的磚塊而構成。
此外,entropy_coding_sync_enabled_flag為1。因此,可得知(切片中的第(j-1)個基本塊列的代碼資料的大小-1)被編碼為entry_point_offset_minus1[j-1]。該個數為(處理的切片的基本塊列數-1)。
就切片0,構成該切片0的BID=0的磚塊的基本塊列數=3,故3-1=2,j的範圍為0~1。就切片1,構成該切片1的BID=1的磚塊的基本塊列數=3,故3-1=2,j的範圍為0~1。就切片2,構成該切片2的BID=2的磚塊的基本塊列數=6,故6-1=5,j的範圍為0~4。就切片3,構成該切片3的BID=3~10的磚塊的基本塊列數的合計值為2+4+2+2+2+6+6+6=30,故j的範圍為0~28。
就切片4,構成該切片4的BID=11~13的磚塊的基本塊列數的合計值為3+3+6=12,故j的範圍為0~10。
透過以上,即使不如歷來般將
num_entry_point_offset進行編碼,仍可從其他語法導出entry_point_offset_minus1的個數。並且,可得知各基本塊列的資料的先頭位置,故可按基本塊列並列進行解碼處理。從分離解碼部202導出的分割資訊被送至圖像再生部205,在步驟S404使用於在輸入圖像內的作為處理對象的位置的特定。
在步驟S402,解碼部203將以分離解碼部202分離的代碼資料進行解碼而再生成量化係數及預測資訊。在步驟S403,反量化兼逆變換部204對輸入的量化係數進行反量化而生成變換係數,對該生成的變換係數進行逆正交變換從而再生成預測誤差。
在步驟S404,圖像再生部205根據從解碼部203輸入的預測資訊,酌情參照圖框記憶體206而生成預測圖像。並且,圖像再生部205從該生成的預測圖像與在反量化兼逆變換部204再生成的預測誤差生成再生圖像。並且,圖像再生部205就再生圖像,根據從分離解碼部202輸入的分割資訊,特定出方塊、磚塊、切片的輸入圖像中的位置而合成該位置,輸出(儲存)至圖框記憶體206。
在步驟S405,控制部299判斷是否將輸入圖像的全部的基本塊進行解碼。此判斷的結果,將輸入圖像的全部的基本塊進行解碼的情況下,處理進至步驟S406。另一方面,輸入圖像中殘留尚未解碼的基本塊的情況下,處理進至步驟S402,就尚未解碼的基本塊進行解碼處理。
在步驟S406,迴圈式濾波器部207對從圖框記憶體206讀出的再生圖像進行迴圈式濾波器處理,將被實施迴圈式濾波器處理的圖像輸出(儲存)至圖框記憶體206。
如此般,依本實施方式時,可從透過涉及第1實施方式的圖像編碼裝置而生成的「不含顯示幾個顯示磚塊具有的基本塊列的先頭位置的資訊被編碼的資訊的位元流」將輸入圖像進行解碼。
另外,涉及第1實施方式的圖像編碼裝置與涉及第2實施方式的圖像解碼裝置可為個別的裝置。此外,亦可將涉及第1實施方式的圖像編碼裝置與涉及第2實施方式的圖像解碼裝置統合為一個裝置。
[第3實施方式]
示於圖1、圖2的各功能部能以硬體實現,亦能以軟體實現一部分。後者的情況下,能以軟體(電腦程式)實現圖框記憶體108、圖框記憶體206以外的各功能部。可執行如此的電腦程式的電腦裝置可適用於上述的圖像編碼裝置、圖像解碼裝置。
就可適用於上述的圖像編碼裝置、圖像解碼裝置的電腦裝置的硬體構成例,使用圖5的方塊圖進行說明。另外,示於圖5的硬體構成僅為可適用於上述的圖像編碼裝置、圖像解碼裝置的電腦裝置的硬體構成的一例,可酌情變更/變形。
CPU501使用儲存於RAM502、ROM503的電腦程式、資料而執行各種的處理。據此,CPU501進行電腦裝置整體的動作控制,同時執行或控制作為上述的圖像編碼裝置、圖像解碼裝置進行者而說明的各處理。亦即,CPU501可作用為示於圖1、圖2的各功能部(圖框記憶體108、圖框記憶體206以外者)。
RAM502具有為了儲存從ROM503、外部記憶裝置506加載的電腦程式、資料用的區域、為了儲存經由I/F507從外部接收的資料用的區域。此外,RAM502具有CPU501在執行各種的處理之際使用的工作區。如此般,RAM502可酌情提供各種的區域。於ROM503,儲存電腦裝置的設定資料、啟動程序等。
操作部504為鍵盤、滑鼠、觸控面板畫面等的使用者介面,使用者進行操作從而可將各種的指示對CPU501輸入。
顯示部505由液晶畫面、觸控面板畫面等構成,可將CPU501所為的處理結果顯示為圖像、文字等。另外,顯示部505亦可為就圖像、文字進行投影的投影機等的裝置。
外部記憶裝置506為硬碟裝置等的大容量資訊記憶裝置。於外部記憶裝置506,保存OS(作業系統)、為了使CPU501執行或控制作為上述的圖像編碼裝置、圖像解碼裝置所進行者而上述的各處理用的電腦程式、資料。
於保存在外部記憶裝置506的電腦程式,包含為了使CPU501執行或控制在圖1、圖2中圖框記憶體108、圖框記憶體206以外的各功能部的功能用的電腦程式。此外,於保存於外部記憶裝置506的資料方面,包含上述的說明中作為已知的資訊而說明者、與編碼、解碼關聯的各種的資訊。
保存於外部記憶裝置506的電腦程式、資料是酌情依CPU501所為的控制而加載於RAM502,成為CPU501的處理對象。
圖1的圖像編碼裝置具有的圖框記憶體108、圖2的圖像編碼裝置具有的圖框記憶體206可使用上述的RAM502、外部記憶裝置506等的記憶體裝置而實現。
I/F507是為了進行與外部的裝置之間的資料通信用的介面。例如,將電腦裝置應用於圖像編碼裝置的情況下,圖像編碼裝置可將生成的位元流經由I/F507朝外部輸出。此外,將電腦裝置應用於圖像解碼裝置的情況下,圖像解碼裝置可經由I/F507接收位元流。此外,圖像解碼裝置可將就位元流進行解碼的結果經由I/F507朝外部發送。CPU501、RAM502、ROM503、操作部504、顯示部505、外部記憶裝置506、I/F507皆連接於匯流排508。
另外,於上述的說明中使用的具體的個數值是為了進行具體的說明而使用者,未意圖使上述的各實施方式限定於此等數值。此外,亦可酌情組合以上說明的各實施方式的一部分或全部。此外,亦可選擇性使用以上說明的各實施方式的一部分或全部。
(其他實施例)
本發明亦可將實現上述的實施方式的1個以上的功能的程式透過網路或記憶媒體而提供至系統或裝置,以該系統或裝置的電腦中的1個以上的處理器將程式讀出並執行的處理從而實現。此外,亦可透過實現1個以上的功能的電路(例如,ASIC)而實現。
發明不限於上述實施方式,在不從發明的精神及範圍脫離之下,可進行各種的變更及變形。因此,撰寫申請專利範圍以公開發明的範圍。
102:圖像分割部
103:區塊分割部
104:預測部
105:變換兼量化部
106:反量化兼逆變換部
107:圖像再生部
108:圖框記憶體
109:迴圈式濾波器部
110:編碼部
111:統合編碼部
圖式含於說明書中,構成其一部分,示出本發明的實施方式,與其記述一起用於說明本發明的原理。
[圖1]就圖像編碼裝置的功能構成例進行繪示的方塊圖。
[圖2]就圖像解碼裝置的功能構成例進行繪示的方塊圖。
[圖3]圖像編碼裝置所為之輸入圖像的編碼處理的流程圖。
[圖4]圖像解碼裝置所為之位元流的解碼處理的流程圖。
[圖5]就電腦裝置的硬體構成例進行繪示的方塊圖。
[圖6]就位元流的格式的一例進行繪示的圖。
[圖7]就輸入圖像的分割例進行繪示的圖。
[圖8A]就輸入圖像的分割例進行繪示的圖。
[圖8B]就輸入圖像的分割例進行繪示的圖。
[圖9A]就方塊與切片的關係進行繪示的圖。
[圖9B]就方塊與切片的關係進行繪示的圖。
102:圖像分割部
103:區塊分割部
104:預測部
105:變換兼量化部
106:反量化兼逆變換部
107:圖像再生部
108:圖框記憶體
109:迴圈式濾波器部
110:編碼部
111:統合編碼部
199:控制部
Claims (4)
- 一種圖像解碼裝置,從位元流將圖像進行解碼,前述位元流透過將包含矩形區域的圖像進行編碼從而獲得,前述矩形區域包含1個以上的由複數個區塊所成的區塊列,具備:解碼手段,其將和並列處理的有效化有關的entropy_coding_sync_enabled_flag進行解碼,將顯示使用切片成為矩形區域的第1模式或使用為和切片有關的模式且為和前述第1模式不同的模式的第2模式的rect_slice_flag從前述位元流的圖像參數集合進行解碼,將和前述圖像中的矩形區域的垂直方向上的區塊的數量對應的第1資訊進行解碼,將前述圖像中的切片所含的矩形區域的數量的第2資訊從前述位元流的切片標頭進行解碼,在前述圖像包含複數個矩形區域且前述rect_slice_flag顯示使用前述第2模式的情況下,將前述切片的位址從前述切片標頭進行解碼;以及特定手段,其在前述entropy_coding_sync_enabled_flag的值為1,前述rect_slice_flag顯示使用前述第2模式的情況下,基於前述切片的前述位址,基於和前述矩形區域中的垂直方向上的區塊的數量對應的前述第1資訊,及基於前述切片所含的前述矩形區域的數量的前述第2資訊,對前述切片,特定出供於特定出前述區塊列的代碼資料的先頭位置用的資訊的數量; 前述解碼手段,至少基於供於特定前述先頭位置用的資訊的數量,及至少基於供於特定出前述先頭位置用的資訊,解碼前述區塊列的代碼資料。
- 如請求項1的圖像解碼裝置,其中,前述解碼手段,並列地解碼前述矩形區域中的個別的區塊列。
- 一種圖像解碼方法,從位元流將圖像進行解碼,前述位元流透過將包含矩形區域的圖像進行編碼從而獲得,前述矩形區域包含1個以上的由複數個區塊所成的區塊列,具備:第1解碼程序,其為將和並列處理的有效化有關的entropy_coding_sync_enabled_flag進行解碼,將顯示使用切片成為矩形區域的第1模式或使用為和切片有關的模式且為和前述第1模式不同的模式的第2模式的rect_slice_flag從前述位元流的圖像參數集合進行解碼,將和前述圖像中的矩形區域的垂直方向上的區塊的數量對應的第1資訊進行解碼,將前述圖像中的切片所含的矩形區域的數量的第2資訊從前述位元流的切片標頭進行解碼,在前述圖像包含複數個矩形區域且前述rect_slice_flag顯示使用前述第2模式的情況下,將前述切片的位址從前述切片標頭進行解碼者;特定程序,其為在前述entropy_coding_sync_enabled_flag的值為1,前述rect_slice_flag顯示使用前述第2模式的情況下,基於前述切片的前述位址,基於和前述矩形區域中 的垂直方向上的區塊的數量對應的前述第1資訊,基於前述切片所含的前述矩形區域的數量的前述第2資訊,對前述切片,特定出供於特定出前述區塊列的代碼資料的先頭位置用的資訊的數量者;以及第2解碼程序,其為至少基於供於特定出前述先頭位置用的資訊的數量,及至少基於供於特定出前述先頭位置用的資訊,解碼前述區塊列的代碼資料者。
- 一種電腦程式,用於使電腦執行如請求項3的圖像解碼方法。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2019-115751 | 2019-06-21 | ||
JP2019115751A JP7403246B2 (ja) | 2019-06-21 | 2019-06-21 | 画像復号装置、画像復号方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
TW202339505A TW202339505A (zh) | 2023-10-01 |
TWI853577B true TWI853577B (zh) | 2024-08-21 |
Family
ID=
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20190075328A1 (en) | 2016-03-16 | 2019-03-07 | Mediatek Inc. | Method and apparatus of video data processing with restricted block size in video coding |
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20190075328A1 (en) | 2016-03-16 | 2019-03-07 | Mediatek Inc. | Method and apparatus of video data processing with restricted block size in video coding |
Non-Patent Citations (1)
Title |
---|
網路文獻 Y Ye-Kui Wang et al AHG12: Miscellaneous AHG12 topics Joint Video Experts Team (JVET) of ITU-T SG 16 WP 3 and ISO/IEC JTC 1/SC 29/WG 11, JVET-O0145-v1, 15th Meeting: Gothernburg, SE 3–12 July 2019 (document available on 2019-06-20 22:13:06) http://phenix.int-evry.fr/jvet/ |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR20210077799A (ko) | 부호화 장치, 부호화 방법 및 프로그램 | |
KR102668064B1 (ko) | 화상 부호화 장치, 화상 복호 장치, 화상 부호화 방법, 화상 복호 방법, 컴퓨터 프로그램을 저장하기 위한 컴퓨터 판독 가능한 비일시적 저장 매체 | |
JP2024019496A (ja) | 画像符号化装置、画像復号装置、画像符号化方法、画像復号方法 | |
TWI853577B (zh) | 圖像編碼裝置、圖像解碼裝置、圖像編碼方法、圖像解碼方法 | |
TWI809279B (zh) | 圖像編碼裝置、圖像解碼裝置、圖像編碼方法、圖像解碼方法 | |
TWI834910B (zh) | 影像編碼裝置、影像編碼方法及程式、影像解碼裝置、影像解碼方法及程式 |