(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2023-09-29
(45)【発行日】2023-10-10
(54)【発明の名称】映像の復号化方法及び装置
(51)【国際特許分類】
H04N 19/70 20140101AFI20231002BHJP
H04N 19/174 20140101ALI20231002BHJP
【FI】
H04N19/70
H04N19/174
(21)【出願番号】P 2021560581
(86)(22)【出願日】2020-12-16
(86)【国際出願番号】 KR2020018464
(87)【国際公開番号】W WO2021215614
(87)【国際公開日】2021-10-28
【審査請求日】2021-10-07
(31)【優先権主張番号】10-2020-0050298
(32)【優先日】2020-04-24
(33)【優先権主張国・地域又は機関】KR
(31)【優先権主張番号】10-2020-0153465
(32)【優先日】2020-11-17
(33)【優先権主張国・地域又は機関】KR
(31)【優先権主張番号】10-2020-0153467
(32)【優先日】2020-11-17
(33)【優先権主張国・地域又は機関】KR
(73)【特許権者】
【識別番号】521443508
【氏名又は名称】アティンス インコーポレーテッド
【氏名又は名称原語表記】ATINS INC.
【住所又は居所原語表記】(Sampyeong-dong, GyeonggiStartupCampus)3rd Floor, 2-dong, 20, Pangyo-ro 289beon-gil, Bundang-gu Seongnam-si Gyeonggi-do 13488 Korea
(74)【代理人】
【識別番号】110002262
【氏名又は名称】TRY国際弁理士法人
(72)【発明者】
【氏名】イ ソンヨン
【審査官】富樫 明
(56)【参考文献】
【文献】国際公開第2020/185922(WO,A1)
【文献】Benjamin Bross et al.,Versatile Video Coding (Draft 8),JVET-Q2001-vE (JVET-R0481-v1_IntegratedSpecText),2020年04月20日
(58)【調査した分野】(Int.Cl.,DB名)
H04N 19/00-19/98
(57)【特許請求の範囲】
【請求項1】
映像復号化装置が行う映像復号化方法であって、
現在のピクチャが互いに異なるNAL(Network Abstraction Layer)ユニットタイプを有するサブピクチャを含むか否かを示す第1フラグを取得するステップと、
前記サブピクチャが復号化過程で別個のピクチャとして取り扱われたか否かを示す第2フラグを取得するステップと、を含み、
前記第1フラグに基づいて前記ピクチャが互いに異なるNALユニットタイプを有するサブピクチャを含むと判断される場合、前記サブピクチャ中NALユニットタイプがRASL(Random Access Skipped Leading)のサブピクチャに対して前記第2フラグが第1値を有するように強制され、
前記第1値は前記サブピクチャが復号化過程で別個のピクチャとして取り扱われていることを示す映像復号化方法。
【請求項2】
前記ピクチャが、NALユニットタイプがRASLであるサブピクチャとNALユニットタイプがRADL(Random Access Decodable Leading)のサブピクチャを含む場合、前記ピクチャは復号化過程でRASLピクチャでとして取り扱われる請求項1に記載の映像復号化方法。
【請求項3】
前記RASLピクチャは復元過程がスキップ(skip)して出力されない可能性がある請求項2に記載の映像復号化方法。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、他のシーケンスとの合成のためのサブピクチャ分割方法及びビットストリームパッキングのためのスライス分割方法に関する。
【背景技術】
【0002】
高解像度、高品質映像に対する使用者の需要が増えている。高解像度映像の符号化データは、低解像度または中解像度映像の符号化データよりも多い情報量を有することにより、これを送信するか保存するための費用が増加するようになる。
【0003】
このような問題を解決するために高解像度映像の符号化データ量を効果的に減らすための符号化及び復号化方法の研究が続いている。
【発明の概要】
【発明が解決しようとする課題】
【0004】
この明細書は、他のシーケンスとの合成のためのサブピクチャ分割方法及びビットストリームパッキングのためのスライス分割方法を提示する。
【課題を解決するための手段】
【0005】
上記した問題を解決するための、本発明の一実施態様による映像復号化装置が行う映像復号化方法は、ビットストリームから現在NAL(network abstraction layer)ユニットのタイプを示すNALユニットタイプ情報を取得するステップと、前記NALユニットタイプ情報が、前記現在NALユニットのNALユニットタイプが映像スライスに対する符号化データであることを示す場合、現在ピクチャに混成NALユニットタイプ(mixed NAL unit type)が適用されるか否かに基づき、前記映像スライスを復号化するステップと、を含む。ここで、前記映像スライスを復号化するステップは、前記混成NALユニットタイプが適用されるか否かに基づき、前記現在NALユニットのNALユニットタイプが、前記現在映像スライスに対するサブピクチャの属性を示すか否かを決定することにより行われてもよい。
【0006】
また、上記した問題を解決するための本発明の一実施態様による映像復号化装置は、メモリ及び少なくとも一つのプロセッサを含む映像復号化装置であって、前記少なくとも一つのプロセッサは、ビットストリームから現在NALユニットのタイプを示すNALユニットタイプ情報を取得し、前記NALユニットタイプ情報が、前記現在NALユニットのNALユニットタイプが映像スライスに対する符号化データであることを示す場合、現在ピクチャに混成NALユニットタイプが適用されるか否かに基づき、前記映像スライスを復号化してもよい。このとき、前記映像スライスの復号化は、前記混成NALユニットタイプが適用されるか否かに基づき、前記現在NALユニットのNALユニットタイプが、前記現在映像スライスに対するサブピクチャの属性を示すか否かを決定することにより行われてもよい。
【0007】
また、上記した問題を解決するための本発明の一実施態様による映像符号化装置が行う映像符号化方法は、現在ピクチャが、混成NALユニットタイプに基づいて符号化される場合、前記ピクチャを分割するサブピクチャのタイプを決定するステップと、前記サブピクチャのタイプに基づき、前記サブピクチャを構成する少なくとも一つの現在映像スライスを符号化して、現在NALユニットを生成するステップと、を含んでもよい。ここで、前記映像スライスを符号化するステップは、前記現在ピクチャが、前記混成NALユニットタイプに基づいて符号化される場合、前記現在NALユニットのNALユニットタイプが、前記現在映像スライスに対するサブピクチャの属性を示すように符号化することにより行われてもよい。
【0008】
また、上記した問題を解決するための本発明の一実施態様による送信方法は、この開示の映像符号化装置または映像符号化方法により生成されたビットストリームを送信してもよい。
【0009】
また、上記した問題を解決するための本発明の一実施態様によるコンピュータで読取り可能な記録媒体は、この開示の映像符号化方法または映像符号化装置により生成されたビットストリームを保存してもよい。
【発明の効果】
【0010】
本発明は、多くの他のシーケンスとの合成により、一つのピクチャを生成する方法を提示する。シーケンス内のピクチャは、多数個のサブピクチャに分割され、他のピクチャの分割されたサブピクチャを合成して新たなピクチャを生成する。
【0011】
本発明の適用により、一つのピクチャを構成する二つ以上のサブピクチャに対するNALユニットタイプ値が互いに異なってもよい。これは、互いに異なったコンテンツの合成時、1枚のイメージを構成する多数個のサブピクチャのNUTを等しくする必要がないので、容易にイメージを構成/合成することができるという長所を有する。
【図面の簡単な説明】
【0012】
【
図1】本発明が適用されるビデオエンコーディング装置の構成を概略的に示す図である。
【
図2】ビデオエンコーディング装置により行われる映像エンコーディング方法の一例を示す図である。
【
図3】本発明が適用されるビデオデコーディング装置の構成を概略的に示す図である。
【
図4】デコーディング装置により行われる映像デコーディング方法の一例を示す図である。
【
図5】スライスのためのNALパケットの例示を示す図である。
【
図7】ディスプレイ出力順序及びデコーディング順序の一例を示す図である。
【
図8】リーディングピクチャ及びノーマルピクチャの一例を示す図である。
【
図9】RASLピクチャ及びRADLピクチャの一例を示す図である。
【
図10】スライスセグメントヘッダに対するシンタックスを示す図である。
【
図11】コンテンツ合成過程の一例を示す図である。
【
図12】サブピクチャID及びスライスアドレスの一例を示す図である。
【
図13】サブピクチャ/スライス別NUTの一例を示す図である。
【
図14】ピクチャパラメータセット(PPS)のシンタックスに対する一実施形態を示す図である。
【
図15】スライスヘッダのシンタックスに対する一実施形態を示す図である。
【
図16】ピクチャヘッダストラクチャーのシンタックスを示す図である。
【
図17】参照ピクチャリストを取得するためのシンタックスを示す図である。
【
図19】本発明の一実施形態による復号化方法及び符号化方法を説明する順序図である。
【
図20】本発明の一実施形態による復号化方法及び符号化方法を説明する順序図である。
【発明を実施するための形態】
【0013】
本発明は、様々な変更を加えてもよく、様々な実施形態を有してもよいので、特定の実施形態を図面に例示して詳細に説明する。しかし、これは、本発明を特定の実施形態に対して限定しようとするものではない。本明細書において用いる用語は、単に特定の実施形態を説明するために用いられたものであって、本発明の技術的思想を限定しようとする意図で用いられるものではない。単数の表現は、文脈上、明らかに異なる意味でない限り、複数の表現を含む。本明細書において「含む」または「有する」等の用語は、明細書上に記載された特徴、番号、ステップ、動作、構成要素、部品またはこれらの組合せが存在することを指定しようとするものであって、一つまたはそれ以上の他の特徴、番号、ステップ、動作、構成要素、部品又はこれらの組合せ等の存在又は付加の可能性を予め排除しないものと理解しなければならない。
【0014】
一方、本発明で説明される図面上の各構成は、別個の特徴的な機能に関する説明の便宜のために独立して示されたものであって、各構成が互いに別個のハードウェアまたは別個のソフトウェアで実現されることを意味するものではない。例えば、各構成のうち二つ以上の構成が結合されて一つの構成をなしてもよく、一つの構成が複数の構成に分けられてもよい。各構成が統合及び/または分離された実施形態も、本発明の本質から外れない限り、本発明の権利範囲に含まれる。
【0015】
以下、添付の図面を参照して、本発明の好ましい実施形態をさらに詳細に説明する。以下、図面上の同一の構成要素に対しては同一の参照符号を使用し、同一の構成要素に対して重複する説明は省略する。
【0016】
一方、本発明は、ビデオ/映像コーディングに関する。例えば、本発明に開示された方法/実施形態は、VVC(versatile video coding)標準、EVC(Essential Video Coding)標準、AV1(AOMedia Video 1)標準、AVS2(2nd generation of audio video coding standard)、または次世代ビデオ/イメージコーディング標準(例えば、H.267、H.268等)に開示された方法に適用され得る。
【0017】
この明細書において、アクセスユニット(Access unit;AU)は、DPB(Decoded picture buffer)から同じ時間に出力される互いに異なるレイヤに属する複数のピクチャセットを示す単位を意味する。ピクチャ(picture)は、一般に、特定時間帯の一つの映像を示す単位を意味し、スライス(slice)は、コーディングにおいて、ピクチャの一部を構成する単位である。一つのピクチャは、複数のスライスで構成されてもよく、必要に応じて、ピクチャ及びスライスは、互いに混用されもよい。
【0018】
ピクセル(pixel)またはペル(pel)は、一つのピクチャ(または映像)を構成する最小の単位を意味してもよい。また、ピクセルに対応する用語として「サンプル(sample)」が用いられてもよい。サンプルは、一般に、ピクセルまたはピクセルの値を示すか、輝度(luma)成分のピクセル/ピクセル値のみを示すか、彩度(chroma)成分のピクセル/ピクセル値のみを示してもよい。
【0019】
ユニット(unit)は、映像処理の基本単位を示す。ユニットは、ピクチャの特定領域及び当該領域に関する情報のうち少なくとも一つを含んでもよい。ユニットは、場合に応じて、ブロック(block)または領域(area)等の用語と混用してもよい。一般的な場合、M×Nブロックは、M個の列とN個の行からなるサンプルまたは変換係数(transform coefficient)の集合を示してもよい。
【0020】
図1は、本発明が適用されるビデオエンコーディング装置の構成を概略的に示す図である。
【0021】
図1を参照すると、ビデオエンコーディング装置100は、ピクチャ分割部105、予測部110、残差処理部120、エントロピーエンコーディング部130、加算部140、フィルタ部150、及びメモリ160を含んでもよい。残差処理部120は、減算部121、変換部122、量子化部123、再整列部124、逆量子化部125、及び逆変還部126を含んでもよい。
【0022】
ピクチャ分割部105は、入力されたピクチャを少なくとも一つの処理ユニット(processing unit)に分割する。
【0023】
一例として、処理ユニットは、コーディングユニット(coding unit、CU)と呼ばれてもよい。この場合、コーディングユニットは、コーディングツリーユニット(Coding Tree Unit)からQTBT(Quad-tree binary-tree)構造により再帰的に(recursively)分割されてもよい。例えば、一つのコーディングツリーユニットは、クアッドツリー構造及び/またはバイナリツリー構造に基づき、下位(deeper)デプスの複数のノードに分割されてもよい。この場合、例えば、クアッドツリー構造が先に適用され、バイナリツリー構造が後で適用されてもよい。あるいは、バイナリツリー構造が先に適用されてもよい。これ以上分割されないノードに対して復号化が行われてもよく、このように、これ以上分割されないノードに対してコーディングユニットが決定されてもよい。コーディングツリーユニットは、コーディングユニットの分割のための単位であることから、コーディングツリーユニットをコーディングユニットと名付けてもよい。この場合、コーディングツリーユニットの分割によりコーディングユニットが決定されることから、コーディングツリーユニットを最大コーディングユニット(largest coding unit、LCU)と名付けてもよい。
【0024】
このように、これ以上分割されない最終コーディングユニットに基づき、本発明によるコーディング手続きが行われてもよい。この場合、映像特性によるコーディング効率等に基づき、コーディングツリーユニットが直ちに最終コーディングユニットとして用いられてもよく、または必要に応じて、コーディングユニットは、再帰的にさらに下位デプスのコーディングユニットに分割されて、最適のサイズのコーディングユニットが最終コーディングユニットとして用いられてもよい。ここで、コーディング手続きとは、後述する予測、変換、及び復元等の手続きを含んでもよい。
【0025】
他の例として、処理ユニットは、コーディングユニット(coding unit、CU)、予測ユニット(prediction unit、PU)、または変換ユニット(transform unit、TU)を含んでもよい。コーディングユニットは、コーディングツリーユニットから、クアッドツリー構造により、下位デプスのコーディングユニットに分割(split)されてもよい。この場合、映像特性によるコーディング効率等に基づき、コーディングツリーユニットが直ちに最終コーディングユニットとして用いられてもよく、または必要に応じて、コーディングユニットは、再帰的にさらに下位デプスのコーディングユニットに分割されて、最適のサイズのコーディングユニットが最終コーディングユニットとして用いられてもよい。最小コーディングユニット(min coding unit、min CU)が設定された場合、コーディングユニットは、最小コーディングユニットよりもさらに小さなコーディングユニットに分割されない。ここで、最終コーディングユニットとは、予測ユニットまたは変換ユニットにパーティショニングまたは分割される基盤となるコーディングユニットを意味する。予測ユニットは、コーディングユニットからパーティショニング(partitioning)されるユニットであって、サンプル予測のユニットであってもよい。このとき、予測ユニットは、サブブロック(subblock)に分けられてもよい。変換ユニットは、コーディングユニットからクアッドツリー構造により分割されてもよく、変換係数を誘導するユニット及び/または変換係数から残差信号(residual signal)を誘導するユニットであってもよい。以下、コーディングユニットはコーディングブロック(coding block、CB)、予測ユニットは予測ブロック(prediction block、PB)、変換ユニットは変換ブロック(transform block、TB)と呼ばれてもよい。予測ブロックまたは予測ユニットは、ピクチャ内でブロック形態の特定の領域を意味し、予測サンプルのアレイ(array)を含んでもよい。また、変換ブロックまたは変換ユニットは、ピクチャ内でブロック形態の特定の領域を意味し、変換係数または残差サンプルのアレイを含んでもよい。
【0026】
予測部110は、処理対象ブロック(以下、現在ブロックという)に対する予測を行い、前記現在ブロックに対する予測サンプルを含む予測されたブロックを生成する。予測部110で行われる予測の単位は、コーディングブロックであってもよく、変換ブロックであってもよく、予測ブロックであってもよい。
【0027】
予測部110は、現在ブロックにイントラ予測が適用されるか、インター予測が適用されるかを決定する。一例として、予測部110は、CU単位でイントラ予測またはインター予測が適用されるかを決定する。
【0028】
イントラ予測の場合、予測部110は、現在ブロックが属するピクチャ(以下、現在ピクチャ)内の現在ブロック外部の参照サンプルに基づき、現在ブロックに対する予測サンプルを誘導することができる。このとき、予測部110は、(i)現在ブロックの隣接(neighboring)参照サンプルの平均(average)または補間(interpolation)に基づいて予測サンプルを誘導してもよく、(ii)現在ブロックの隣接参照サンプルのうち予測サンプルに対して特定の(予測)方向に存在する参照サンプルに基づいて前記予測サンプルを誘導してもよい。(i)の場合は、非方向性モードまたは非角度モードと呼ばれ、(ii)の場合は、方向性(directional)モードまたは角度(angular)モードと呼ばれる。イントラ予測における予測モードは、例えば、33個の方向性予測モードと少なくとも2個の非方向性モードを有してもよい。非方向性モードは、DC予測モード及びプラナーモード(Planarモード)を含んでもよい。予測部110は、隣接ブロックに適用された予測モードを用いて、現在ブロックに適用される予測モードを決定してもよい。
【0029】
インター予測の場合、予測部110は、参照ピクチャ上において、動きベクトルにより特定されるサンプルに基づき、現在ブロックに対する予測サンプルを誘導することができる。予測部110は、スキップ(skip)モード、マージ(merge)モード、及びMVP(motion vector prediction)モードのうちいずれか一つを適用して現在ブロックに対する予測サンプルを誘導することができる。スキップモード及びマージモードの場合、予測部110は、隣接ブロックの動き情報を現在ブロックの動き情報として用いてもよい。スキップモードの場合、マージモードとは異なり、予測サンプルと原本サンプルとの間の差(残差)が送信されない。MVPモードの場合、隣接ブロックの動きベクトルを動きベクトル予測子(Motion Vector Predictor)として用い、現在ブロックの動きベクトル予測子として用いて現在ブロックの動きベクトルを誘導することができる。
【0030】
インター予測の場合、隣接ブロックは、現在ピクチャ内に存在する空間的隣接ブロック(spatial neighboring block)及び参照ピクチャ(reference picture)に存在する時間的隣接ブロック(temporal neighboring block)を含んでもよい。前記時間的隣接ブロックを含む参照ピクチャは、同一位置ピクチャ(collocated picture、colPic)と呼ばれてもよい。動き情報(motion information)は、動きベクトル及び参照ピクチャインデックスを含んでもよい。予測モード情報及び動き情報等の情報は、(エントロピー)エンコーディングされてビットストリームの形態で出力されてもよい。
【0031】
スキップモード及びマージモードで時間的隣接ブロックの動き情報が用いられる場合、参照ピクチャリスト(reference picture list)上の最上位ピクチャが参照ピクチャとして用いられてもよい。参照ピクチャリストに含まれる参照ピクチャは、現在ピクチャと当該参照ピクチャとの間のPOC(Picture order count)の差に基づいて整列されてもよい。POCは、ピクチャのディスプレイ順序に対応し、コーディング順序と区分され得る。
【0032】
減算部121は、原本サンプルと予測サンプルとの間の差である残差サンプルを生成する。スキップモードが適用される場合は、前述したように残差サンプルを生成しなくてもよい。
【0033】
変換部122は、変換ブロック単位で残差サンプルを変換して変換係数(transform coefficient)を生成する。変換部122は、当該変換ブロックのサイズと、当該変換ブロックと空間的に重なるコーディングブロックまたは予測ブロックに適用された予測モードに応じて、変換を行うことができる。例えば、前記変換ブロックと重なる前記コーディングブロックまたは前記予測ブロックにイントラ予測が適用され、前記変換ブロックが4×4の残差アレイ(array)であれば、残差サンプルは、DST(Discrete Sine Transform)変換カーネルを用いて変換され、その他の場合であれば、残差サンプルは、DCT(Discrete Cosine Transform)変換カーネルを用いて変換される。
【0034】
量子化部123は、変換係数を量子化し、量子化された変換係数を生成する。
【0035】
再整列部124は、量子化された変換係数を再整列する。再整列部124は、係数スキャニング(scanning)方法により、ブロック形態の量子化された変換係数を1次元ベクトル形態で再整列できる。ここで、再整列部124は、別途の構成で説明したが、量子化部123の一部であってもよい。
【0036】
エントロピーエンコーディング部130は、量子化された変換係数に対するエントロピーエンコーディングを行う。エントロピーエンコーディングは、例えば、指数ゴロム(exponential Golomb)、CAVLC(context-adaptive variable length coding)、CABAC(context-adaptive binary arithmetic coding)等のようなエンコーディング方法を含んでもよい。エントロピーエンコーディング部130は、量子化された変換係数の他にビデオ復元に必要な情報(例えば、シンタックス要素(syntax element)の値等)を共にまたは別途にエンコーディングしてもよい。エントロピーエンコーディングされた情報は、ビットストリームの形態でNAL(network abstraction layer)ユニット単位で送信または保存されてもよい。
【0037】
逆量子化部125は、量子化部123で量子化された値(量子化された変換係数)を逆量子化し、逆変換部126は、逆量子化部125で逆量子化された値を逆変換して残差サンプルを生成する。
【0038】
加算部140は、残差サンプルと予測サンプルを合わせてピクチャを復元する。残差サンプルと予測サンプルは、ブロック単位で加えられて復元ブロックが生成される。ここで、加算部140は、別途の構成で説明したが、予測部110の一部であってもよい。一方、加算部140は、復元部または復元ブロック生成部とも呼ばれる。
【0039】
復元されたピクチャ(reconstructed picture)に対して、フィルタ部150は、デブロッキングフィルタ及び/またはサンプル適応オフセット(sample adaptive offset)を適用することができる。デブロッキングフィルタリング及び/またはサンプル適応オフセットにより、復元ピクチャ内のブロック境界のアーチファクトや量子化過程での歪みが補正され得る。サンプル適応オフセットは、サンプル単位で適用されてもよく、デブロッキングフィルタリングの過程が完了した後に適用されてもよい。フィルタ部150は、復元されたピクチャにALF(Adaptive Loop Filter)を適用することもできる。ALFは、デブロッキングフィルタ及び/またはサンプル適応オフセットが適用された後の復元されたピクチャに対して適用されてもよい。
【0040】
メモリ160は、復元ピクチャ(デコーディングされたピクチャ)またはエンコーディング/デコーディングに必要な情報を保存する。ここで、復元ピクチャは、前記フィルタ部150によりフィルタリング手続きが完了した復元ピクチャであってもよい。前記保存された復元ピクチャは、他のピクチャの(インター)予測のための参照ピクチャとして活用されてもよい。例えば、メモリ160は、インター予測に用いられる(参照)ピクチャを保存することができる。このとき、インター予測に用いられるピクチャは、参照ピクチャセット(reference picture set)または参照ピクチャリスト(reference picture list)により指定されてもよい。
【0041】
図2は、ビデオエンコーディング装置により行われる映像エンコーディング方法の一例を示す。
図2を参照すると、前記映像エンコーディング方法は、ブロックパーティショニング(block partitioning)、イントラ/インター予測、変換(transform)、量子化(quantization)、及びエントロピーエンコーディング(entropy encoding)過程を含んでもよい。例えば、現在ピクチャは、複数のブロックに分割されてもよく、イントラ/インター予測により、現在ブロックの予測ブロックが生成されてもよく、前記現在ブロックの入力ブロックと前記予測ブロックとの減算により、前記現在ブロックの残差ブロックが生成されてもよい。以降、前記残差ブロックに対する変換により、係数(coefficent)ブロック、すなわち、前記現在ブロックの変換係数が生成されてもよい。前記変換係数は、量子化及びエントロピーエンコーディングされて、ビットストリームに保存されてもよい。
【0042】
図3は、本発明が適用されるビデオデコーディング装置の構成を概略的に説明する図である。
【0043】
図3を参照すると、ビデオデコーディング装置300は、エントロピーデコーディング部310、残差処理部320、予測部330、加算部340、フィルタ部350、及びメモリ360を含んでもよい。ここで、残差処理部320は、再整列部321、逆量子化部322、逆変換部323を含んでもよい。
【0044】
ビデオ情報を含むビットストリームが入力されると、ビデオデコーディング装置300は、ビデオエンコーディング装置でビデオ情報が処理されたプロセスに対応してビデオを復元することができる。
【0045】
例えば、ビデオデコーディング装置300は、ビデオエンコーディング装置で適用された処理ユニットを用いてビデオデコーディングを行うことができる。従って、ビデオデコーディングの処理ユニットブロックは、一例としてコーディングユニットであってもよく、他の例としてコーディングユニット、予測ユニット、または変換ユニットであってもよい。コーディングユニットは、コーディングツリーユニットからクアッドツリー構造及び/またはバイナリツリー構造により分割されてもよい。
【0046】
予測ユニット及び変換ユニットが、場合に応じて、さらに使用されてもよく、この場合、予測ブロックは、コーディングユニットから導出またはパーティショニングされるブロックであって、サンプル予測のユニットであってもよい。このとき、予測ユニットは、サブブロックに分けられてもよい。変換ユニットは、コーディングユニットからクアッドツリー構造により分割されてもよく、変換係数を誘導するユニットまたは変換係数から残差信号を誘導するユニットであってもよい。
【0047】
エントロピーデコーディング部310は、ビットストリームをパーシングしてビデオ復元またはピクチャ復元に必要な情報を出力する。例えば、エントロピーデコーディング部310は、指数ゴロム符号化、CAVLCまたはCABAC等のコーディング方法に基づき、ビットストリーム内の情報をデコーディングし、ビデオ復元に必要なシンタックスエレメントの値、残差に対する変換係数の量子化された値を出力することができる。
【0048】
さらに詳しくは、CABACエントロピーデコーディング方法は、ビットストリームで各シンタックス要素に相当するビンを受信し、デコーディング対象シンタックス要素情報と隣接及びデコーディング対象ブロックのデコーディング情報または以前のステップでデコーディングされたシンボル/ビンの情報を用いてコンテキスト(context)モデルを決定し、決定されたコンテキストモデルにより、ビン(bin)の発生確率を予測してビンの算術符号化(arithmetic decoding)を行って各シンタックス要素の値に相当するシンボルを生成できる。このとき、CABACエントロピーデコーディング方法は、コンテキストモデルの決定後、次のシンボル/ビンのコンテキストモデルのためにデコーディングされたシンボル/ビンの情報を用いて、コンテキストモデルをアップデートすることができる。
【0049】
エントロピーデコーディング部310でデコーディングされた情報のうち予測に関する情報は、予測部330に提供され、エントロピーデコーディング部310でエントロピーデコーディングが行われた残差の値、即ち、量子化された変換係数は、再整列部421に入力される。
【0050】
再整列部421は、量子化されている変換係数を2次元のブロック形態で再整列する。再整列部421は、エンコーディング装置で行われた係数スキャニングに対応して再整列を行うことができる。ここで、再整列部321は、別途の構成で説明したが、逆量子化部322の一部であってもよい。
【0051】
逆量子化部322は、量子化されている変換係数を(逆)量子化パラメータに基づいて逆量子化して変換係数を出力することができる。このとき、量子化パラメータを誘導するための情報は、エンコーディング装置からシグナリングされてもよい。
【0052】
逆変換部323は、変換係数を逆変換して残差サンプルを誘導することができる。
【0053】
予測部330は、現在ブロックに対する予測を行い、前記現在ブロックに対する予測サンプルを含む予測されたブロックを生成することができる。予測部330で行われる予測の単位は、コーディングブロックであってもよく、変換ブロックであってもよく、予測ブロックであってもよい。
【0054】
予測部330は、前記予測に関する情報に基づき、イントラ予測を適用するか、インター予測を適用するかを決定する。このとき、イントラ予測とインター予測のうち、どれを適用するかを決定する単位と、予測サンプルを生成する単位とは異なる。併せて、インター予測及びイントラ予測において、予測サンプルを生成する単位も異なる。例えば、インター予測及びイントラ予測のうち、どれを適用するかは、CU単位で決定できる。また、例えば、インター予測において、PU単位で予測モードを決定して、予測サンプルを生成してもよく、イントラ予測において、PU単位で予測モードを決定して、TU単位で予測サンプルを生成してもよい。
【0055】
イントラ予測の場合、予測部330は、現在ピクチャ内の隣接参照サンプルに基づき、現在ブロックに対する予測サンプルを誘導することができる。予測部330は、現在ブロックの隣接参照サンプルに基づき、方向性モードまたは非方向性モードを適用して、現在ブロックに対する予測サンプルを誘導することができる。このとき、隣接ブロックのイントラ予測モードを用いて、現在ブロックに適用する予測モードが決定されてもよい。
【0056】
インター予測の場合、予測部330は、参照ピクチャ上において、動きベクトルにより参照ピクチャ上において特定されるサンプルに基づき、現在ブロックに対する予測サンプルを誘導することができる。予測部330は、スキップ(skip)モード、マージ(merge)モード、及びMVPモードのうち、いずれか一つを適用して、現在ブロックに対する予測サンプルを誘導することができる。このとき、ビデオエンコーディング装置から提供された現在ブロックのインター予測に必要な動き情報、例えば、動きベクトル、参照ピクチャインデックス等に関する情報は、前記予測に関する情報に基づいて取得または誘導されてもよい。
【0057】
スキップモード及びマージモードの場合、隣接ブロックの動き情報が現在ブロックの動き情報として用いられてもよい。このとき、隣接ブロックは、空間的隣接ブロックと時間的隣接ブロックを含んでもよい。
【0058】
予測部330は、可用の隣接ブロックの動き情報でマージ候補リストを構成し、マージインデックスがマージ候補リスト上において指示する情報を現在ブロックの動きベクトルとして用いてもよい。マージインデックスは、エンコーディング装置からシグナリングされてもよい。動き情報は、動きベクトルと参照ピクチャを含んでもよい。スキップモード及びマージモードにおいて、時間的隣接ブロックの動き情報が用いられる場合、参照ピクチャリスト上の最上位ピクチャが参照ピクチャとして用いられてもよい。
【0059】
スキップモードの場合、マージモードとは異なり、予測サンプルと原本サンプルとの間の差(残差)が送信されない。
【0060】
MVPモードの場合、隣接ブロックの動きベクトルを動きベクトル予測子(motion vector predictor)として用いて、現在ブロックの動きベクトルが誘導されてもよい。このとき、隣接ブロックは、空間的隣接ブロックと時間的隣接ブロックを含んでもよい。
【0061】
一例として、マージモードが適用される場合、復元された空間的隣接ブロックの動きベクトル及び/または時間的隣接ブロックであるColブロックに対応する動きベクトルを用いて、マージ候補リストが生成されてもよい。マージモードでは、マージ候補リストから選ばれた候補ブロックの動きベクトルが、現在ブロックの動きベクトルとして用いられる。前記予測に関する情報は、前記マージ候補リストに含まれた候補ブロックのうちから選ばれた最適の動きベクトルを有する候補ブロックを指示するマージインデックスを含んでもよい。このとき、予測部330は、前記マージインデックスを用いて、現在ブロックの動きベクトルを導出してもよい。
【0062】
他の例として、MVP(Motion Vector Prediction)モードが適用される場合、復元された空間的隣接ブロックの動きベクトル及び/または時間的隣接ブロックであるColブロックに対応する動きベクトルを用いて、動きベクトル予測子候補リストが生成されてもよい。即ち、復元された空間的隣接ブロックの動きベクトル及び/または時間的隣接ブロックであるColブロックに対応する動きベクトルは、動きベクトル候補として用いられてもよい。前記予測に関する情報は、前記リストに含まれた動きベクトル候補のうちから選択された最適の動きベクトルを指示する予測動きベクトルインデックスを含んでもよい。このとき、予測部330は、前記動きベクトルインデックスを用いて、動きベクトル候補リストに含まれている動きベクトル候補のうちから、現在ブロックの予測動きベクトルを選ぶことができる。エンコーディング装置の予測部は、現在ブロックの動きベクトルと動きベクトル予測子との間の動きベクトル差分(MVD)を求め、これをエンコーディングしてビットストリームの形態で出力する。即ち、MVDは、現在ブロックの動きベクトルから前記動きベクトル予測子を引いた値として求められる。このとき、予測部330は、前記予測に関する情報に含まれた動きベクトル差分を取得し、前記動きベクトル差分と前記動きベクトル予測子の加算により、現在ブロックの前記動きベクトルを導出することができる。また、予測部は、参照ピクチャを指示する参照ピクチャインデックス等を前記予測に関する情報から取得または誘導することができる。
【0063】
加算部340は、残差サンプルと予測サンプルを加算して現在ブロックまたは現在ピクチャを復元する。加算部440は、残差サンプルと予測サンプルをブロック単位で加算して現在ピクチャを復元してもよい。スキップモードが適用された場合は、残差が送信されないため、予測サンプルが復元サンプルとなる。ここでは、加算部340を別途の構成として説明したが、予測部330の一部であってもよい。一方、加算部340は、復元部または復元ブロック生成部とも呼ばれる。
【0064】
フィルタ部350は、復元されたピクチャにデブロッキングフィルタリングサンプル適応オフセット及び/またはALF等を適用してもよい。このとき、サンプル適応オフセットは、サンプル単位で適用されてもよく、デブロッキングフィルタリング以後に適用されてもよい。ALFは、デブロッキングフィルタリング及び/またはサンプル適応オフセット以後に適用されてもよい。
【0065】
メモリ360は、復元ピクチャ(デコーディングされたピクチャ)またはデコーディングに必要な情報を保存する。ここで、復元ピクチャは、前記フィルタ部350によりフィルタリング手続きが完了した復元ピクチャであってもよい。例えば、メモリ360は、インター予測に用いられるピクチャを保存してもよい。このとき、インター予測に用いられるピクチャは、参照ピクチャセットまたは参照ピクチャリストにより指定されてもよい。復元されたピクチャは、他のピクチャに対する参照ピクチャとして用いられてもよい。また、メモリ360は、復元されたピクチャを出力順序により出力してもよい。
【0066】
図4は、デコーディング装置により行われる映像デコーディング方法の一例を示す図である。
図4を参照すると、前記映像デコーディング方法は、エントロピーデコーディング(entropy decoding)、逆量子化(inverse quantization)、逆変換(inverse transform)、及びイントラ/インター予測過程を含んでもよい。例えば、デコーディング装置では、前記エンコーディング方法の逆過程が行われてもよい。具体的に、ビットストリームに対するエントロピーデコーディングにより量子化された変換係数が取得されてもよく、前記量子化された変換係数に対する逆量子化過程により、現在ブロックの係数ブロック、すなわち、変換係数が取得されてもよい。前記変換係数に対する逆変換により、前記現在ブロックの残差ブロックが導出されてもよく、イントラ/インター予測により導出された前記現在ブロックの予測ブロックと前記残差ブロックとの加算により、前記現在ブロックの復元ブロック(reconstructed block)が導出されてもよい。
【0067】
一方、後述する実施形態におけるオペレーターは、下記の表のように正義されてもよい。
【0068】
【0069】
表1を参照すると、Floor(x)は、x以下の最大の整数値を示し、Log2(u)は、uの2を底(base)とする対数値を示し、Ceil(x)は、x以上の最小の整数値を示す。例えば、Floor(5.93)の場合、5.93以下の最大の整数値は5であるので、5を示す。
【0070】
また、表1を参照すると、x>>yは、xをy番だけ右シフト(right shift)する演算子を示し、x<<yは、xをy番だけ左シフト(left shift)する演算子を示す。
【0071】
<導入>
HEVC標準は、二つのタイプの画面分割方法を提案する。
【0072】
1)スライス(slice):1枚のイメージをラスタースキャン(raster scan)順にCTU(coding tree unit)単位で分割して符号化/復号化する機能を提供し、スライスヘッダ(slice header)情報が存在する。
【0073】
2)タイル(tile):1枚のイメージをCTU単位で多数個の列(column)及び行(row)に区画して符号化/復号化する機能を提供する。区画方法は、均等分割または個別分割が全て可能である。タイルのためのヘッダは、別途に存在しない。
【0074】
スライスは、ビットストリーム(bit-stream)パッキング単位となる。すなわち、一つのスライスは、一つのNAL(network abstraction layer)ビットストリームで生成されてもよい。
図5のように、スライスのためのNALパケット(NAL packet)は、NALヘッダ(NAL header)、スライスヘッダ(slice header)、スライスデータ(slice data)順で構成される。このとき、NAL header情報には、NAL unit type(NUT)が存在する。
【0075】
一実施形態によるHEVC標準において提案するスライスのためのNUTは、表2のようである。表2において、インター予測が行われるインタースライス(inter slice)のためのNUTは、0番から9番までであり、イントラ予測が行われるイントラスライス(intra slice)のためのNUTは、16番から21番までである。ここで、インタースライスは、画面間予測方法で符号化されたことを意味し、イントラスライスは、画面内予測方法で符号化されたことを意味する。一つのスライスは、一つのNUTを有するように正義され、一つのピクチャ内の多数個のスライスは、全て同じNUT値を有するように設定されてもよい。例えば、一つのピクチャが4個のスライスに分割され、イントラ予測方式で符号化されたら、当該ピクチャ内の4個のスライスに対するNUT値は、全て同じに19:IDR_W_RADLに設定されてもよい。
【0076】
【0077】
前記表2において、略語は、下記のように正義される。
-TSA(Temporal sub-layer Switching Access)
-STSA(Step-wise Temporal sub-layer Switching Access)
-RADL(Random Access Decodable Leading)
-RASL(Random Access Skipped Leading)
-BLA(Broken Link Access)
-IDR(Instantaneous Decoding Refresh)
-CRA(Clean Random Access)
-LP(Leading Picture)
-_N(No reference)
-_R(Reference)
-_W_LP/RADL(With LP/RADL)
-_N_LP(No LP、without LP)
【0078】
イントラスライスに対するNUTであるBLA、IDR、及びCRAを、IRAP(Intra Random Access Point)と称する。IRAPは、ビットストリームの中間位置であり、ランダムアクセスが可能なピクチャを意味する。すなわち、ビデオ再生時、急な再生位置の変更が可能なピクチャをいう。イントラスライスは、Iスライスタイプでのみ存在する。
【0079】
インタースライスは、単方向予測(P:predictive)または両方向予測(B:bi-predictive)により、PスライスまたはBスライスに分けられる。予測及び符号化過程は、GOP(group of picture)単位で行われるが、HEVC標準は、階層的(hierarchical)GOP構造を用いて、予測を含む符号化/復号化過程を行う。
図6は、階層的GOP構造の一例を示し、各ピクチャは、予測方法によりI、P、またはBピクチャ(スライス)に分けられる。
【0080】
両方向予測を行うBスライス及び/または階層的GOP構造特性により、シーケンス内のピクチャのデコーディング順序とディスプレイ順序が異なる(
図7参考)。
図7において、IRAPは、イントラスライスを意味し、B及びPは、インタースライスを意味し、再生順序及び復元順序が完全に変わったことが確認される。
【0081】
インタースライスのうち、復元順序は、IRAPよりも遅く、再生順序は、IRAPよりも早いピクチャをLP(leading picture)という(
図8参考)。LPは、状況に応じて、RADL及びRASLに分けられる。ランダムアクセスが発生したとき、デコーディングが可能なLPをRADLと定義し、ランダムアクセス時、デコーディングが不可能であり、当該ピクチャの復元過程をスキップしなければならないLPをRASLと定義する。
図8において、同じ色のピクチャを一つのGOPと定義する。
【0082】
RADLとRASLの区分は、画面間予測時の参照ピクチャの位置により決定される(
図9参考)。すなわち、RASLは、当該GOPのほか、他のGOP内の復元ピクチャを参照ピクチャとして用いるか、他のGOP内の復元ピクチャを参照ピクチャとして用いて復元したピクチャを参照ピクチャとして用いるインターピクチャを意味する。この場合、他のGOP内の復元ピクチャを(直・間接的に)参照ピクチャとして用いることから、open GOPと称する。RASL及びRADLは、当該インタースライスに対するNUT情報に設定される。
【0083】
イントラスライスに対するNUTは、当該イントラスライスの再生順序及び/または復元順序上の先行及び/または後行するインタースライスのNUTにより、他のイントラスライスNUTに分けられる。IDR NUTを調べると、IDRは、RADLを有するIDR_W_RADL及びLPを有さないIDR_N_LPに分けられる。すなわち、IDRは、LPを有さないタイプであるか、LPのうちRADLのみを有するタイプであり、IDRは、RASLを有することができない。もう一方、CRAは、LPのうち、RADL及び/またはRASLを全て有するタイプである。すなわち、CRAは、open GOPを支援することができるタイプである。
【0084】
一般に、イントラスライスは、画面内予測のみを行うことにより、当該イントラスライスのための参照ピクチャ情報が必要でない。ここで、参照ピクチャは、画面間予測時に用いられる。しかし、CRA NUTスライスは、open GOP構造を支援する特徴により、CRAスライスは、イントラスライスであるにもかかわらず、参照ピクチャ情報を、当該CRAのNALビットストリームに挿入する。前記参照ピクチャ情報は、当該CRAスライスにおいて用いるためのものではなく、(復元順序上)当該CRA以後のインタースライスにおいて使用予定である参照ピクチャに対する情報である。これは、DPB(decoded picture buffer)において前記参照ピクチャが除去されないためである。例えば、当該イントラスライスのNUTがIDRである場合、DPBをリセットする。すなわち、当該時点のDPB内に存在する全ての復元ピクチャを除去する。
図10は、スライスセグメントヘッダに対するシンタックスを示す図である。
図10に示すように、当該スライスのNUTがIDRでなければ、参照ピクチャ情報をビットストリームに記述することができる。すなわち、当該スライスのNUTがCRAであれば、参照ピクチャ情報を記述することができる。
【0085】
本発明は、他のシーケンスとの合成のためのサブピクチャ分割方法及びビットストリームパッキングのためのスライス分割方法を提示する。
【0086】
本発明において、スライスは、符号化/復号化の領域を意味し、一つのNALビットストリームを生成するデータパッキング単位である。例えば、1枚のピクチャは、多数個のスライスに分割され、各スライスは、符号化過程を経て一つのNALパケットで生成される。
【0087】
本発明において、サブピクチャは、他のコンテンツとの合成のための領域区分である。
図11において、他のコンテンツとの合成の例示を示す。白、灰、及び黒の三つのコンテンツが存在し、各コンテンツの一つのイメージ(AU:access unit)は、四つのスライス領域に分けられてパケット生成され、
図11の右側のイメージのように、左上側部分は白色コンテンツ、左下側は灰色コンテンツ、右側は黒色コンテンツで合成して新たなイメージを生成してもよい。ここで、白色領域及び灰色領域は、一つのスライスで一つのサブピクチャが構成されており、黒色領域は、二つのスライスが一つのサブピクチャで構成されている。すなわち、一つのサブピクチャは、最小一つのスライスを含んでもよい。新たなイメージを作るために(コンテンツを合成するために)、BEAMer(Bit-stream Extractor And Merger)は、サブピクチャ単位で互いに異なるコンテンツから領域を抽出し、これを合成する。
図11において合成されたイメージは、四つのスライスに分割され、三つのサブピクチャで構成されてもよい。
【0088】
一つのサブピクチャは、同じサブピクチャID(sub picture ID)及び/またはサブピクチャインデックス(sub picture index)値を有する領域を意味する。言い換えれば、同じサブピクチャID及び/またはサブピクチャインデックス値を有する最小一つのスライスを一つのサブピクチャ領域と言える。ここで、スライスヘッダ情報のうち、サブピクチャID及び/またはサブピクチャインデックス値が含まれる。サブピクチャインデックス値は、ラスタースキャン順で設定されてもよい。
図12は、1枚のピクチャが6個の(四角形)スライス及び4個の(色別)サブピクチャ領域で構成された例を示す。ここで、A、B、C、Dは、サブピクチャIDに対する一例を示し、0、1は、当該サブピクチャ内のスライスアドレス(slice address)を示す。すなわち、スライスアドレス値は、当該サブピクチャ内のラスタースキャン順序上、スライスインデックス値である。例えば、B-0は、Bサブピクチャ内の0番目スライスを意味し、B-1は、Bサブピクチャ内の1番目スライスを意味する。
【0089】
本発明では、一つのイメージを構成する二つ以上のサブピクチャに対するNUT値が異なってもよい。例えば、
図12において、1枚のイメージ内の白色サブピクチャ(スライス)は、イントラスライスであってもよく、灰色サブピクチャ(スライス)及び黒色サブピクチャ(スライス)は、インタースライスであってもよい。
【0090】
これは、互いに異なるコンテンツの合成時、1枚のイメージを構成する多数個のサブピクチャのNUTを等しくする必要がないので、容易にイメージを構成/合成することができるという長所を有する。当該機能を単一ピクチャにおける混成NALユニットタイプピクチャ(mixed NAL Unit Type in a picture)と称し、簡略に混成NUT(mixed NUT)と名付けてもよい。mixed_nalu_type_in_pic_flagを置いて、当該機能のイネーブル(enabled)/ディスエーブル(disabled)を設定することができる。当該フラグは、SPS(sequence parameter set)、PPS(picture parameter set)、PH(picture header)、SH(slice header)のうち一つ以上の位置において正義され得る。例えば、当該フラグがPPSにおいて正義される場合、当該フラグは、pps_mixed_nalu_types_in_pic_flagと名付けられる。
【0091】
前記フラグ値がディスエーブルである場合(e.g.mixed_nalu_type_in_pic_flag==0)、当該ピクチャ内の全てのサブピクチャ及び/またはスライスに対するNUTが同じ値を有してもよい。例えば、一つのピクチャに対する全てのVCL(video coding layer)NALユニットに対するNUTは、同じ値を有するように設定されてもよい。また、ピクチャまたはピクチャユニット(PU、picture unit)は、それに対する符号化されたスライスNALユニットと同じNUTを有するものと参照されてもよい。ここで、VCLは、スライスデータ値を含むスライスに対するNALタイプを意味する。
【0092】
一方、前記フラグ値がイネーブルである場合(e.g.mixed_nalu_type_in_pic_flag==1)、当該ピクチャは、二つ以上のサブピクチャで構成されてよい。また、前記当該ピクチャは、他のNUT値を有してもよい。また、前記フラグ値がイネーブルである場合、前記当該ピクチャのVCL NALユニットは、GDR_NUTタイプのNUTを有さないように制限されてもよい。また、当該ピクチャのいずれか一つのVCL NALユニット(e.g.第1NALユニット)のNUT(e.g.第1NUT)が、IDR_W_RADL、IDR_N_LP、またはCRA_NUTのうちいずれか一つである場合、前記当該ピクチャの他のVCL NALユニット(e.g.第2NALユニット)のNUT(e.g.第2NUT)は、IDR_W_RADL、IDR_N_LP、CRA_NUT、またはTRAIL_NUTのうちいずれか一つに設定されるように制限されてもよい。例えば、第2NUTは、第1NUTまたはTRAIL_NUTのうち一つの値に設定されるように制限されてもよい。
【0093】
図12及び
図13を参照して、前記当該ピクチャのVCL NALユニットが、少なくとも二つの互いに異なるNUT値を有する例について説明する。一実施形態において、二つ以上のサブピクチャは、二つ以上の互いに異なるNUT値を有してよい。このとき、一つのサブピクチャに含まれた全てのスライスに対するNUT値は、等しく制限されてもよい。例えば、
図13に示すように、
図12のBサブピクチャ内の二つのスライスに対するNUT値は、CRAに等しく設定されてもよく、Cサブピクチャ内の二つのスライスに対するNUT値も、TRAILに等しく設定されてもよく、A、B、C、及びDサブピクチャは、少なくとも二つの互いに異なるNUT値を有するように設定されてもよい。これにより、
図13に示すように、A、C及びDサブピクチャ内のスライスに対するNUT値は、TRAILであり、BサブピクチャのNUTであるCRAとは異なるNUT値を有するように設定されてもよい。
【0094】
本発明において、イントラスライス及びインタースライスに対するNUTは、表3のようである。表3の実施形態のように、RADL、RASL、IDR、CRA等に対する正義及び機能は、HEVC標準(表1)と等しく設定されてもよい。表3の場合、混成NUTタイプが追加されている。表3において、mixed_nalu_type_in_pic_flagのディスエーブル値(e.g.0)は、(HEVCと同様に)ピクチャ内のスライスに対するNUTを示し、mixed_nalu_type_in_pic_flagのイネーブル値(e.g.1)は、サブピクチャ内のスライスに対するNUTを示す。例えば、mixed_nalu_type_in_pic_flagの値が0であり、VCL NALユニットのNUTがTRAIL_NUTである場合、現在ピクチャのNUTは、TRAIL_NUTと識別され、現在ピクチャに属する他のサブピクチャのNUTもTRAIL_NUTであるものに誘導されてもよい。また、mixed_nalu_type_in_pic_flagの値が1であり、VCL NALユニットのNUTがTRAIL_NUTである場合、現在サブピクチャのNUTは、TRAIL_NUTと識別され、現在ピクチャに属する他のサブピクチャのうち少なくとも一つのNUTは、TRAIL_NUTではないと予測される。
【0095】
【0096】
上述のように、mixed_nalu_type_in_pic_flagの値がイネーブルを示す場合(e.g.1)、一つのピクチャに属するいずれか一つのVCL NALユニット(e.g.第1NALユニット)が、NUT(e.g.第1NUT)としてIDR_W_RADL、IDR_N_LP、またはCRA_NUTのうちいずれか一つの値を有すれば、前記当該ピクチャの他のVCL NALユニットのうち少なくとも一つのVCL NALユニット(e.g.第2NALユニット)は、NUT(e.g.第2NUT)として、IDR_W_RADL、IDR_N_LP、CRA_NUT、またはTRAIL_NUTのうち、第1NUTではない、いずれか一つのNUT値を有してもよい。
【0097】
このように、一つのピクチャに属する第1サブピクチャに対するVCL NALユニット(e.g.第1NALユニット)が、NUT(e.g.第1NUT)としてIDR_W_RADL、IDR_N_LPまたはCRA_NUTのうちいずれか一つの値を有すれば、前記当該ピクチャの第2サブピクチャに対するVCL NALユニット(e.g.第2NALユニット)は、NUT(e.g.第2NUT)として、IDR_W_RADL、IDR_N_LP、CRA_NUT、またはTRAIL_NUTのうち、第1NUTではない、いずれか一つのNUT値を有してもよい。
【0098】
例えば、mixed_nalu_type_in_pic_flagの値が活性化を示す場合(e.g.1)、二つ以上のサブピクチャに対するVCL NALユニットのNUT値は、下記のように構成されてもよい。以下の説明は、例示であるだけで、これに制限されない。
【0099】
組合せ1)IRAP+non-IRAP(inter)
組合せ2)non_IRAP(inter)+non-IRAP(inter)
組合せ3)IRAP+IRAP=IDR+CRA(実施形態により制限される)
【0100】
組合せ1)は、ピクチャ内の最小一つのサブピクチャがIRAP(IDRまたはCRA)NUT値を有し、他の最小一つのサブピクチャがnon-IRAP(インタースライス)NUT値を有する実施形態である。ここで、インタースライスNUT値としては、LP(RASL及びRADL)を除いた値が許容されてもよい。例えば、インタースライスNUT値として、LP(RASLまたはRADL)は許容されないこともある。このように、IDRまたはCRAサブピクチャと関連したビットストリームには、RASL及びRADLサブピクチャが符号化されないように制限されてもよい。
【0101】
他の一実施形態において、インタースライスNUT値として、TRAIL値だけが許容されてもよい。あるいは、他の一実施形態において、インタースライスNUT値として、全てのインタースライスVCL NUTが許容されてもよい。
【0102】
組合せ2)は、ピクチャ内の最小一つのサブピクチャがnon-IRAP(インタースライス)NUT値を有し、他の最小一つのサブピクチャが他のnon-IRAP(インタースライス)NUT値を有する実施形態である。例えば、少なくとも一つのサブピクチャがRASL NUT値を有し、他の少なくとも一つのサブピクチャは、RADL NUT値を有してもよい。組合せ2)による実施形態の場合、実施形態により、以下のような制限が適用され得る。
【0103】
-一実施形態では、LP(RASL及びRADL)とnon-LP(TRAIL)が一緒に用いられない。例えば、最小一つのサブピクチャのNUTがRASL(またはRADL)でありながら、他の最小一つのサブピクチャのNUTがTRAILであってはならない。最小一つのサブピクチャのNUTがRASL(またはRADL)である場合、他の最小一つのサブピクチャのNUTとして、RASLまたはRADLは用いられてはならない。例えば、IRAPサブピクチャのリーディングサブピクチャは、RADLまたはRASLサブピクチャで強制されてもよい。
【0104】
-他の一実施形態では、LP(RASL及びRADL)とnon-LP(TRAIL)が一緒に用いられてもよい。例えば、最小一つのサブピクチャが、RASL(またはRADL)でありながら、他の最小一つのサブピクチャがTRAILであってもよい。
【0105】
-他の一実施形態では、例外的に条件2)の場合、全てのサブピクチャが同じインタースライスNUT値を有してもよい。例えば、ピクチャ内の全てのサブピクチャがTRAIL NUT値を有してもよい。他の例示として、ピクチャ内の全てのサブピクチャが、RASL(またはRADL)NUT値を有してもよい。
【0106】
組合せ3)は、ピクチャ内の全てのサブピクチャまたはスライスがIRAPで構成される実施形態を示す。例えば、第1サブピクチャ内のスライスに対するNUT値がIDR_W_RADL、IDR_N_LP、またはCRA_NUTである場合、第2サブピクチャ内のスライスに対するNUT値は、IDR_W_RADL、IDR_N_LP、及びCRA_NUTのうち、第1サブピクチャのNUTではない値で構成されてもよい。例えば、最小一つサブピクチャ内のスライスに対するNUT値がIDRでありながら、他の最小一つのサブピクチャ内のスライスに対するNUT値がCRAで構成されてもよい。
【0107】
一方、実施形態により、組合せ3)のような実施形態の適用は、制限されてもよい。一実施形態において、IRAPまたはGDRアクセスユニットに属するピクチャは、全て同じNUTを有するように制限されてもよい。すなわち、現在アクセスユニットがIRAPピクチャでのみ構成されるIRAPアクセスユニットであるか、現在アクセスユニットがGDRピクチャでのみ構成されるGDRアクセスユニットである場合、それに属するピクチャは、全て同じNUTを有するように制限されてもよい。例えば、最小一つのサブピクチャ内のスライスに対するNUT値がIDRでありながら、他の最小一つのサブピクチャ内のスライスに対するNUT値がCRAで構成されないように制限されてもよい。このように、組み合わせ3)が制限され、上記した組合せ1)及び組合せ2)が適用される場合、当該ピクチャ内の最小一つのサブピクチャは、non-IRAP(インタースライス)に対するNUT値を有するように制限されてもよい。例えば、符号化及び復号化過程において、当該ピクチャ内の全てのサブピクチャがIDRに対するNUT値を有さないように制限されてもよい。あるいは、当該ピクチャ内の一部のサブピクチャがIDRに対するNUT値を有し、他のサブピクチャがCRA NUT値を有さないように制限されてもよい。
【0108】
以下、ピクチャ内の混成NUT(mixed NAL unit type)が適用される場合における符号化情報のシグナリングのための関連シンタックス(syntax)及びセマンティック(semantics)について説明する。また、これを用いた復号化過程を説明する。上述のように、mixed_nalu_type_in_pic_flag=1である場合、NUTが叙述するピクチャは、サブピクチャを意味してもよい(表3参考)。
【0109】
一方、上記のように、mixed_nalu_type_in_pic_flagの値が、混成NUTが適用されることを示す場合、一つのピクチャは、少なくとも二つのサブピクチャに分割されてもよい。これにより、当該ピクチャに対するサブピクチャの情報がビットストリームによりシグナリングされてもよい。このような点において、mixed_nalu_type_in_pic_flagは、現在ピクチャが分割されるか否か示すことができる。例えば、mixed_nalu_type_in_pic_flagの値が、混成NUTが適用されることを示す場合、現在ピクチャは分割されることを示すことができる。
【0110】
以下、
図14のシンタックスを参照して説明する。
図14は、ピクチャパラメータセット(PPS)のシンタックスに対する一実施形態を示す図である。例えば、ビットストリームにより、現在ピクチャが分割されないか否かを示すフラグ(e.g.pps_no_pic_partition_flag)が、ピクチャパラメータセット(PPS)によりシグナリングされてもよい。pps_no_pic_partition_flagのイネーブルを示す値(e.g.1)は、現在PPSを参照するピクチャに対してピクチャの分割が適用されないことを示すことができる。pps_no_pic_partition_flagのディスエーブルを示す値(e.g.0)は、現在PPSを参照するピクチャに対してスライスまたはタイルを用いたピクチャの分割が適用されることを示すことができる。このような実施形態において、mixed_nalu_type_in_pic_flagの値が、混成NUTが適用されることを示す場合、pps_no_pic_partition_flagの値は、ディスエーブルを示す値(e.g.0)で強制されてもよい。
【0111】
pps_no_pic_partition_flagが、現在ピクチャが分割されることを示す場合、ビットストリームからサブピクチャの個数情報(e.g.pps_num_subpics_minus1)が取得されてもよい。pps_num_subpics_minus1は、現在ピクチャに含まれたサブピクチャの個数から1を引いた値を示すことができる。pps_no_pic_partition_flagが、現在ピクチャが分割されないことを示す場合、pps_num_subpics_minus1の値は、ビットストリームから取得されず、0に誘導されてもよい。このように決定されたサブピクチャの個数情報により、一つのピクチャに含まれたサブピクチャの個数だけ、各サブピクチャに対する符号化情報がシグナリングされてもよい。例えば、各サブピクチャを識別するためのサブピクチャ識別子(e.g.pps_subpic_id)及び/または各サブピクチャの符号化/復号化過程の独立の可否を知らせるフラグ(subpic_treated_as_pic_flag[i])値が指定されてシグナリングされてもよい。
【0112】
混成NUTは、一つのピクチャが二つ以上のサブピクチャで構成されたときに適用されてもよい。このとき、一つのピクチャに含まれたサブピクチャの個数(i)だけ、各サブピクチャの符号化/復号化過程の独立の可否を知らせるフラグ(subpic_treated_as_pic_flag[i])値が指定されてシグナリングされてもよい。一つのサブピクチャが独立的に復号化されたというのは、当該サブピクチャを別個のピクチャとして取り扱って復号化を行ったことを示す。すなわち、当該フラグ値がオンである場合(e.g.subpic_treated_as_pic_flag=1)、当該サブピクチャは、インループフィルタ(in-loop filter)過程を除いた他の全ての復号化過程において、他のサブピクチャとは独立的に復号化されてもよい。逆に、当該フラグ値がオフである場合(e.g.subpic_treated_as_pic_flag=0)、当該サブピクチャは、インター予測過程において、ピクチャ内の他のサブピクチャを参照してもよい。ここで、インループフィルタ過程に対しては、別途のフラグを置いて独立または参照の可否を制御することができる。当該フラグ(subpic_treated_as_pic_flag)は、SPS、PPS、及びPHのうち一つ以上の位置で正義されてもよい。例えば、当該フラグがSPSで正義される場合、当該フラグは、sps_subpic_treated_as_pic_flagと名付けられてもよい。
【0113】
また、本発明において、一つのピクチャ内の他のNUTが存在する場合(e.g.mixed_nalu_type_in_pic_flag=1)、一つのピクチャ内において、サブピクチャ間で異種のNUTが用いられなければならない特性により、前記ピクチャ内の各サブピクチャは、独立的に符号化/復号化されなければならない。例えば、mixed_nalu_type_in_pic_flag=1であるピクチャの場合、当該ピクチャ内に一つ以上のインター(PまたはB)スライスが含まれれば、当該ピクチャ内の全てのサブピクチャのsubpic_treated_as_pic_flag値は、1に設定されるか、1値に誘導されることが強制されてもよい。あるいは、mixed_nalu_type_in_pic_flag=1である場合、subpic_treated_as_pic_flagは、0値を有さないように強制されてもよい。例えば、mixed_nalu_type_in_pic_flag=1であるピクチャの場合、当該ピクチャ内の一つ以上のインタースライスが含まれれば、当該ピクチャに対する全てのサブピクチャに対して、パーシングされた値を問わず、subpic_treated_as_pic_flag値が1に再設定されてもよい。逆に、mixed_nalu_type_in_pic_flag=1でありながら、subpic_treated_as_pic_flag=0であるピクチャの場合、当該ピクチャ内にインタースライスが含まれてはならない。すなわち、mixed_nalu_type_in_pic_flag=1でありながら、subpic_treated_as_pic_flag=0であるピクチャの場合、当該ピクチャ内のスライスタイプは、イントラではなければならない。
【0114】
また、他の実施形態では、mixed_nalu_type_in_pic_flag=1である場合、現在ピクチャのNUTがRASLであれば、現在ピクチャに対するsubpic_treated_as_pic_flagは、1に設定されるように強制されてもよい。他の例示として、mixed_nalu_type_in_pic_flag=1である場合、現在ピクチャのNUTがRADLでありながら、参照するピクチャのNUTがRASLであれば、現在ピクチャに対するsubpic_treated_as_pic_flagは、1で強制されてもよい。
【0115】
混成NUT機能は、一つのピクチャ内の全てのサブピクチャ(またはスライス)がIRAPで構成されることを制限してもよい。このとき、一つのピクチャ内の全てのスライスがIRAPで構成されるか、当該ピクチャがGDR(Gradual Decoding Refresh)ピクチャであることを示すフラグ(gdr_or_irap_pic_flag)値は、0で強制されてもよい。すなわち、本発明において、一つのピクチャ内の他のNUTが存在する場合(mixed_nalu_type_in_pic_flag=1)、前記フラグ(gdr_or_irap_pic_flag)値は、0に設定されるか、0値に誘導されてもよい。あるいは、mixed_nalu_type_in_pic_flag=1である場合、gdr_or_irap_pic_flagは、1値を有するように強制されてもよい。前記フラグ(gdr_or_irap_pic_flag)は、SPS、PPS、及びPHのうち一つ以上の位置で正義されてもよい。
【0116】
また、混成NUT機能が適用されることにより、一つのピクチャ内の最小一つのサブピクチャが、IRAP(IDRまたはCRA)NUT値を有し、他の最小一つのサブピクチャがnon-IRAP(inter slice)NUT値を有してもよい。すなわち、一つのピクチャ内において、イントラスライスとインタースライスが同時に存在してもよい。既存のHEVC標準の場合、当該イントラスライスのNUTがIDRである場合、DPBをリセットした。これにより、当該時点のDPB内に存在する全ての復元ピクチャが除去された。
【0117】
しかし、本発明による場合、mixed_nalu_type_in_pic_flag=1である場合、一つのピクチャ内において、イントラスライスとインタースライスが同時に存在できるので、一つのピクチャがIDR NUTであっても、DPBをリセットできない場合が存在する。これにより、一実施形態では、当該スライスがIDR NUTである場合、CRAのように、参照ピクチャ情報(RPL:reference picture list)を、当該IDRのスライスヘッダ情報として、NALビットストリームに挿入してもよい。このため、IDR NUTであるにもかかわらず、RPL情報が存在することを知らせるフラグ(idr_rpl_present_flag)値が1に設定されてもよい。前記フラグ(idr_rpl_present_flag)値が1である場合、IDRのスライスヘッダ情報としてRPLが存在する。逆に、前記フラグ(idr_rpl_present_flag)値が0である場合、IDRのスライスヘッダ情報としてRPLが存在しない。
【0118】
一方、本発明において、一つのピクチャ内において他のNUTが存在しながら(mixed_nalu_type_in_pic_flag=1)、IDRピクチャのRPL情報を許容しない場合(idr_rpl_present_flag=0)、当該ピクチャに対するNUTは、IDR_W_RADLまたはIDR_N_LP値を有してはならない。
【0119】
前記フラグ(idr_rpl_present_flag)は、SPS、PPS、及びPHのうち一つ以上の位置で正義されてもよい。例えば、前記フラグがSPSで正義される場合、前記フラグは、sps_idr_rpl_present_flagと名付けられてもよい。例えば、現在スライスのNUTが、IDR_W_RADLまたはIDR_N_RADLであっても、sps_idr_rpl_present_flagの値により、RPLをシグナリングするために、
図15のスライスヘッダのシンタックスを用いて、スライスヘッダ情報がシグナリングされてもよい。ここで、sps_idr_rpl_present_flagの第1値(e.g.0)は、NUTがIDR_N_LPまたはIDR_W_RADLであるスライスのスライスヘッダにより、RPLシンタックス要素が提供されないことを示す。sps_idr_rpl_present_flagの第2値(e.g.1)は、NUTがIDR_N_LPまたはIDR_W_RADLであるスライスのスライスヘッダにより、RPLシンタックス要素が提供されることを示す。
【0120】
一方、他の一実施形態において、mixed_nalu_type_in_pic_flag=1である場合、RPLがピクチャヘッダ情報でシグナリングされてもよい。例えば、
図14におけるシンタックスの適用において、mixed_nalu_type_in_pic_flagの値が、混成NUTが適用されることを示す場合、pps_no_pic_partition_flagの値は、ディスエーブルを示す値(e.g.0)で強制されてもよい。また、これにより、RPL情報がピクチャヘッダから提供されるか否かを示すフラグ(pps_rpl_info_in_ph_flag)の値がビットストリームから取得されてもよい。pps_rpl_info_in_ph_flagがイネーブル(e.g.1)を示すと、RPL情報は、
図16及び
図17に示すように、ピクチャヘッダから取得されてもよい。このように、mixed_nalu_type_in_pic_flagの値に基づき、当該ピクチャのタイプを問わず、RPL情報が取得される。もう一方、pps_rpl_info_in_ph_flagがディスエーブル(e.g.0)を示すと、ピクチャヘッダからRPL情報を取得することができない。例えば、pps_rpl_info_in_ph_flag値が0でありながら、スライスNUTがIDR_N_LPまたはIDR_W_RADLであり、sps_idr_rpl_present_flagの値が0であれば、当該スライスのRPL情報は、取得されない。すなわち、当該スライスのRPL情報がないので、RPL情報は、初期化されて空いている(empty)ものに誘導されてもよい。
【0121】
上述のように、一つのピクチャは、異種のNALユニットでシグナリングされてもよい。このように、一つのピクチャをシグナリングするために互いに異なるNUTを有するNALユニットが用いられることから、NALユニットのタイプにより、ピクチャのタイプを決定するための方法が要求される。これにより、ランダムアクセス(RA:Random Access)時、当該ピクチャが正常に復元されて出力(output)可能であるか否かが決定されてもよい。
【0122】
一実施形態によるデコーディング過程において、一つのピクチャに対応するそれぞれのVCL NALユニットが、CRA_NUTタイプのNALユニットである場合、当該ピクチャは、CRAピクチャと決定されてもよい。また、一つのピクチャに対応するそれぞれのVCL NALユニットが、IDR_W_RADLであるか、IDR_N_LPタイプのNALユニットである場合、当該ピクチャは、IDRピクチャと決定されてもよい。また、一つのピクチャに対応するそれぞれのVCL NALユニットが、IDR_W_RADL、IDR_N_LP、またはCRA_NUTタイプのNALユニットである場合、当該ピクチャは、IRAPピクチャと決定されてもよい。
【0123】
また、一つのピクチャに対応するそれぞれのVCL NALユニットが、RADL_NUTタイプのNALユニットである場合、当該ピクチャは、RADL(Random Access decodable leading)ピクチャと決定されてもよい。また、一つのピクチャに対応するそれぞれのVCL NALユニットがTRAIL_NUTタイプのNALユニットである場合、当該ピクチャは、トレーイリング(trailing)ピクチャと決定されてもよい。また、一つのピクチャに対応するVCL NALユニットのうち少なくとも一つのVCL NALユニットのタイプがRASL_NUTタイプであり、他の全てのVCL NALユニットのタイプがRASL_NUTタイプであるか、RADL_NUTタイプである場合、前記当該ピクチャは、RASL(random access skipped leading)ピクチャと決定されてもよい。
【0124】
一方、他の一実施形態によるデコーディング過程において、一つのピクチャ内の最小一つのサブピクチャがRASLでありながら、他の最小一つのサブピクチャがRADLである場合、当該ピクチャは、RASLピクチャと決定されてもよい。例えば、一つのピクチャ内の最小一つのサブピクチャがRASLでありながら、他の最小一つのサブピクチャがRADLである場合、デコーディング過程中、当該ピクチャは、RASLピクチャに設定されてもよい。ここで、サブピクチャに対応するVCL NALユニットのタイプがRASL_NUTであれば、当該サブピクチャは、RASLと決定されてもよい。これにより、RA時、RASLサブピクチャ及びRADLサブピクチャは、全てRASLピクチャとして取り扱われてもよく、このため、当該ピクチャは、出力されなくてもよい。
【0125】
一方、他の一実施形態によるデコーディング過程において、一つのピクチャ内の最小一つのサブピクチャがRASLであれば、当該ピクチャは、RASLピクチャに設定されてもよい。例えば、一つのピクチャ内の最小一つのサブピクチャがRASLでありながら、他の最小一つのサブピクチャがTRAILである場合、デコーディング過程中、当該ピクチャは、RASLピクチャに設定されてもよい。これにより、RA時、当該ピクチャは、RASLピクチャとして取り扱われてもよく、当該ピクチャは、出力されなくてもよい。
【0126】
ここで、RAの発生は、当該インタースライス(RADL、RASL、またはTRAIL)と連結された(関連した)IRAPピクチャのNoOutputBeforeRecoveryFlag値と判断されてもよい。当該フラグ値が1である場合(NoOutputBeforeRecoveryFlag=1)、RAの発生を意味し、当該フラグ値が0である場合(NoOutputBeforeRecoveryFlag=0)、一般的な再生を意味する。当該フラグ値は、IRAPに対して、次のように設定されてもよい。
【0127】
-現在ピクチャがIRAPであるとき、NoOutputBeforeRecoveryFlag値の設定過程
1.ピクチャがビットストリームの一番目ピクチャであれば、NoOutputBeforeRecoveryFlagを1に設定
2.ピクチャがIDRであれば、NoOutputBeforeRecoveryFlagを1に設定
3.ピクチャがCRAでありながら、外部からRAを知らせれば、NoOutputBeforeRecoveryFlagを1に設定
4.ピクチャがCRAでありながら、外部からRAを知らせなければ、NoOutputBeforeRecoveryFlagを0に設定
【0128】
一実施形態において、復号化装置は、外部端末からランダムアクセスの発生をシグナリングされてもよい。例えば、外部端末は、ランダムアクセスの発生情報の値を1に設定して、復号化装置でシグナリングすることにより、ランダムアクセスの発生を復号化装置でシグナリングしてもよい。復号化装置は、外部端末からランダムアクセスの発生を受信したかを示すフラグのHandleCraAsClvsStartFlagの値を、外部端末から受信したランダムアクセスの発生情報により1に設定してもよい。復号化装置は、HandleCraAsClvsStartFlagの値と同じ値でNoOutputBeforeRecoveryFlagの値を設定してもよい。これにより、復号化装置は、現在ピクチャがCRAピクチャでありながら、HandleCraAsClvsStartFlagの値が1である場合、当該CRAピクチャについてランダムアクセスが発生したことを決定するか、当該CRAがビットストリームの最初に位置したものとして復号化を行ってもよい。
【0129】
RA時、現在ピクチャが出力されるか否を決定するフラグ(PictureOutputFlag)を設定する過程は、次のようである。例えば、現在ピクチャに対するPictureOutputFlagは、下記の順序により設定されてもよい。ここで、PictureOutputFlagの第1値(e.g.0)は、現在ピクチャが出力されないことを示す。PictureOutputFlagの第2値(e.g.1)は、現在ピクチャが出力されることを示す。
【0130】
(1)現在ピクチャがRASLでありながら、関連したIRAPピクチャのNoOutputBeforeRecoveryFlagが1であれば、PictureOutputFlagを0に設定する。
(2)現在ピクチャが、NoOutputBeforeRecoveryFlagの値が1であるGDRピクチャであるか、その復元ピクチャである場合、PictureOutputFlagは、0に設定する。
(3)その他、ビットストリーム内のpic_output_flag値と同じ値でPictureOutputFlagの値を設定する。ここで、pic_output_flagは、PH及びSHの一つ以上の位置で取得されてもよい。
【0131】
図18は、本発明で提示した互いに異なる三つのコンテンツの合成に対する例示を示す。
図18の(a)は、互いに異なる三つのコンテンツに対するシーケンスを示し、便宜上、一つのピクチャを一つのパケットと示したが、一つのピクチャは、多数個のスライスに分割されて、多数個のパレットが存在してもよい。
図18の(b)及び
図18の(c)は、
図18の(a)において点線で示したピクチャに対する合成されたイメージ結果を示す。
図18において同じ色は、同じピクチャ/サブピクチャ/スライスを意味する。また、Pスライス及びBスライスは、インターNUTのうち一つの値を有してもよい。
【0132】
上記のように、本発明により、多数個のコンテンツを合成するとき、必ずしもイントラスライス(ピクチャ)の位置を等しくする必要がなく、単純に階層的GOP構造を合わせることにより、ディレーなしに、速くて容易にコンテンツを合成することができる。
【0133】
符号化及び復号化の実施形態
以下、上述した方法により、映像復号化装置が映像を復号化する方法を説明する。
図19及び
図20は、本発明の一実施形態による復号化方法及び符号化方法を説明する順序図である。
【0134】
一実施形態による映像復号化装置は、メモリ及び少なくとも一つのプロセッサを含んでもよく、プロセッサの動作により、以下の復号化方法を行うことができる。先ず、復号化装置は、ビットストリームから現在NAL(network abstraction layer)ユニットのタイプを示すNALユニットタイプ情報を取得する(S1910)。
【0135】
次に、復号化装置は、NALユニットタイプ情報が、現在NALユニットのNALユニットタイプが映像スライスに対する符号化データであることを示す場合、現在ピクチャに混成NALユニットタイプ(mixed NAL unit type)が適用されるか否かに基づき、映像スライスを復号化する(S1920)。
【0136】
ここで、復号化装置は、混成NALユニットタイプが適用されるか否かに基づき、現在NALユニットのNALユニットタイプが、現在映像スライスに対するサブピクチャの属性を示すか否かを決定することにより、映像スライスの復号化を行うことができる。
【0137】
混成NALユニットタイプが適用されるか否かは、ピクチャパラメータセットから取得される第1フラグ(e.g.pps_mixed_nalu_types_in_pic_flag)に基づいて識別されてもよい。混成NALユニットタイプが適用される場合、現在映像スライスが属する現在ピクチャは、少なくとも二つのサブピクチャに分割されてもよい。
【0138】
さらには、混成NALユニットタイプが適用されるか否かに基づき、サブピクチャに対する復号化情報がビットストリームに含まれていてもよい。一実施形態において、ビットストリームから現在ピクチャが分割されないか否かを示す第2フラグ(e.g.pps_no_pic_partition_flag)が取得される。また、第2フラグが、現在ピクチャが分割可能であることを示す場合(e.g.pps_no_pic_partition_flag==0)、参照ピクチャリスト情報がピクチャヘッダから提供されるか否かを示す第3フラグ(e.g.pps_rpl_info_in_ph_flag)がビットストリームから取得される。
【0139】
このような例において、前記混成NALユニットタイプが適用される場合、現在ピクチャが少なくとも二つのサブピクチャへの分割が強制されることにより、第2フラグ(pps_no_pic_partition_flag)の値が0で強制され、参照ピクチャリスト情報がピクチャヘッダから提供されるか否かを示す第3フラグ(e.g.pps_rpl_info_in_ph_flag)が、ビットストリームから実際に取得された第2フラグ(pps_no_pic_partition_flag)の値を問わず、ビットストリームから取得される。これにより、第3フラグが、参照ピクチャリスト情報がピクチャヘッダから提供されることを示すと(e.g.pps_rpl_info_in_ph_flag==1)、ピクチャヘッダに関するビットストリームから参照ピクチャリスト情報が取得される。
【0140】
また、混成NALユニットタイプが適用される場合、現在ピクチャは、互いに異なるNALユニットタイプを有する第1サブピクチャ及び第2サブピクチャに基づき、復号化されてもよい。ここで、第1サブピクチャのNALユニットタイプが、IDR_W_RADL(Instantaneous Decoding Refresh_With_Random Access Decodable Leading)、IDR_N_LP(Instantaneous Decoding Refresh_No reference_Leading Picture)、及びCRA_NUT(Clean Random Access_NAL Unit Type)のうちいずれか一つの値を有する場合、第2サブピクチャNUTとして選択可能な可用(available)のNALユニットタイプは、IDR_W_RADL、IDR_N_LP、及びCRA_NUTのうち、第1サブピクチャから選択されなかったNALユニットタイプを含んでもよい。
【0141】
あるいは、第1サブピクチャのNALユニットタイプが、IDR_W_RADL(Instantaneous Decoding Refresh_With_Random Access Decodable Leading)、IDR_N_LP(Instantaneous Decoding Refresh_No reference_Leading Picture)、及びCRA_NUT(Clean Random Access_NAL Unit Type)のうちいずれか一つの値を有する場合、第2サブピクチャの可用のNALユニットタイプは、TRAIL_NUT(Trail_NAL Unit Type)を含んでもよい。
【0142】
一方、混成NALユニットタイプが適用される場合、現在ピクチャを構成する第1サブピクチャ及び第2サブピクチャは、独立的に復号化されてもよい。例えば、BまたはPスライスを含む第1サブピクチャ及び第2サブピクチャは、一つのピクチャとして取り扱われて復号化されてもよい。例えば、第1サブピクチャは、第2サブピクチャを参照ピクチャとして使用せずに復号化されてもよい。
【0143】
さらに詳しくは、第1サブピクチャが、復号化過程において、ピクチャとして取り扱われるか否かを示す第4フラグ(e.g.sps_subpic_treated_as_pic_flag)が、ビットストリームから取得されてもよい。第1サブピクチャが復号化過程において、ピクチャとして取り扱われることを第4フラグが示すと(e.g.sps_subpic_treated_as_pic_flag==1)、第1サブピクチャは、復号化過程において、ピクチャとして取り扱われて復号化されてもよい。このような過程において、現在ピクチャに混成NALユニットタイプが適用され、第1サブピクチャを含む現在ピクチャがPスライスまたはBスライスを少なくとも一つ含むと、第4フラグは、第1サブピクチャが、復号化過程において、ピクチャとして取り扱われることを示す値を有するように強制されてもよい。もう一方、現在ピクチャに混成NALユニットタイプが適用され、第1サブピクチャが、復号化過程において、ピクチャとして取り扱われないことを第4フラグが示すと(e.g.sps_subpic_treated_as_pic_flag==0)、現在ピクチャに属するスライスタイプは、イントラではなければならない。
【0144】
第1サブピクチャが、復号化過程において、ピクチャとして取り扱われることを第4フラグが示すと、第1サブピクチャの復号化過程が、他のサブピクチャから独立していることを決定することができる。例えば、第4フラグが、第1サブピクチャが、復号化過程において、他のサブピクチャから独立して復号化されることを示すと、第1サブピクチャは、他のサブピクチャを参照ピクチャとして使用せずに復号化されてもよい。
【0145】
また、第1サブピクチャがRASL(Random Access Skipped Leading)サブピクチャである場合、第2サブピクチャがRADL(Random Access Decodable Leading)サブピクチャであるか否かに基づき、現在ピクチャがRASLピクチャと決定されてもよい。ここで、第1サブピクチャに対応するNALユニットのタイプが、RASL_NUT(Random Access Skipped Leading_NAL Unit Type)である場合、第1サブピクチャは、RASLサブピクチャと決定されてもよい。
【0146】
また、第3フラグ(e.g.pps_rpl_info_in_ph_flag)が、参照ピクチャリスト情報がピクチャヘッダから取得されず、スライスヘッダから取得されることを示し(e.g.pps_rpl_info_in_ph_flag==0)、第1サブピクチャのNALユニットタイプがIDR_W_RADL(Instantaneous Decoding Refresh_With_Random Access Decodable Leading)及びIDR_N_LP(Instantaneous Decoding Refresh_No reference_Leading Picture)のうちいずれか一つの値を有する場合、IDRピクチャに対する参照ピクチャリスト(reference picture list)情報がスライスヘッダに存在するか否かを示す第5フラグ(e.g.sps_idr_rpl_present_flag)に基づき、スライスヘッダに関するビットストリームから参照ピクチャリスト情報が取得されてもよい。ここで、第5フラグは、シーケンスパラメータセットに関するビットストリームから取得されてもよい。
【0147】
一方、現在ピクチャに関連したIRAP(Intra Random Access Point)ピクチャに対してランダムアクセスが行われる場合、現在ピクチャがRASL(Random Access Skipped Leading)サブピクチャであれば、現在ピクチャは、出力(ディスプレイ)されなくてもよい。
【0148】
一実施形態による映像符号化装置は、メモリ及び少なくとも一つのプロセッサを含んでもよく、プロセッサの動作により、上述した復号化方法に対応する符号化方法を行うことができる。例えば、符号化装置は、現在ピクチャが混成NALユニットタイプに基づいて符号化される場合、ピクチャを分割するサブピクチャのタイプを決定する(S2010)。また、符号化装置は、サブピクチャのタイプに基づき、サブピクチャを構成する少なくとも一つの現在映像スライスを符号化して、現在NALユニットを生成する(S2020)。このとき、符号化装置は、現在ピクチャが混成NALユニットタイプに基づいて符号化される場合、現在NALユニットのNALユニットタイプが現在映像スライスに対するサブピクチャの属性を示すように符号化することにより、映像スライスを符号化する。
【0149】
また、本発明は、コンピュータで読取り可能な記録媒体に、コンピュータ(情報処理機能を有する装置を全て含む)で読取り可能なコードとして実現することが可能である。コンピュータで読取り可能な記録媒体は、コンピュータシステムにより読み取られるデータが保存される全ての種類の記録装置を含む。コンピュータで読取り可能な記録装置の例としては、ROM、RAM、CD-ROM、磁気テープ、フロッピーディスク、光データ保存装置等がある。
【0150】
本発明は、図面に示された実施形態を参考として説明されたが、これは、例示的なものに過ぎず、この技術分野における通常の知識を有する者であれば、これから様々な変形及び均等な他の実施形態が可能であることが理解されるであろう。従って、本発明の真正な技術的保護範囲は、添付された登録請求の範囲の技術的思想により定められなければならないであろう。