(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2023-10-27
(45)【発行日】2023-11-07
(54)【発明の名称】ピクチャレベルまたはスライスレベルで適用される画像情報をシグナリングする方法及び装置
(51)【国際特許分類】
H04N 19/70 20140101AFI20231030BHJP
【FI】
H04N19/70
(21)【出願番号】P 2022535696
(86)(22)【出願日】2020-12-10
(86)【国際出願番号】 KR2020018067
(87)【国際公開番号】W WO2021118262
(87)【国際公開日】2021-06-17
【審査請求日】2022-06-10
(32)【優先日】2019-12-12
(33)【優先権主張国・地域又は機関】US
(73)【特許権者】
【識別番号】502032105
【氏名又は名称】エルジー エレクトロニクス インコーポレイティド
【氏名又は名称原語表記】LG ELECTRONICS INC.
【住所又は居所原語表記】128, Yeoui-daero, Yeongdeungpo-gu, 07336 Seoul,Republic of Korea
(74)【代理人】
【識別番号】100099759
【氏名又は名称】青木 篤
(74)【代理人】
【識別番号】100123582
【氏名又は名称】三橋 真二
(74)【代理人】
【識別番号】100165191
【氏名又は名称】河合 章
(74)【代理人】
【識別番号】100114018
【氏名又は名称】南山 知広
(74)【代理人】
【識別番号】100159259
【氏名又は名称】竹本 実
(72)【発明者】
【氏名】ヘンドリー ヘンドリー
(72)【発明者】
【氏名】キム スンファン
【審査官】岩井 健二
(56)【参考文献】
【文献】国際公開第2021/022264(WO,A1)
【文献】Martin Pettersson, Per Wennersten, Rickard Sjoberg, and Mitra Damghanian,AHG17: Parameters in PPS or slice headers,Joint Video Experts Team (JVET) of ITU-T SG 16 WP 3 and ISO/IEC JTC 1/SC 29/WG 11,JVET-O0238-v3,15th Meeting: Gothenburg, SE,2019年07月,pp.1-6
【文献】Hendry, Ye-Kui Wang, and Jianle Chen,AHG17: On Access Unit Delimiter and Picture Header,Joint Video Experts Team (JVET) of ITU-T SG 16 WP 3 and ISO/IEC JTC 1/SC 29/WG 11,JVET-P0120-v1,16th Meeting: Geneva, CH,2019年09月,pp.1-3
【文献】Benjamin Bross, Jianle Chen, Shan Liu, and Ye-Kui Wang,Versatile Video Coding (Draft 7),Joint Video Experts Team (JVET) of ITU-T SG 16 WP 3 and ISO/IEC JTC 1/SC 29/WG 11,JVET-P2001 (version 14),16th Meeting: Geneva, CH,2019年11月14日,pp.45-48,56-58,113-120,134-141
【文献】Hendry, Seung Hwan Kim, and SangHeon Lee,[AHG9]: On picture level and slice level tool parameters,Joint Video Experts Team (JVET) of ITU-T SG 16 WP 3 and ISO/IEC JTC 1/SC 29/WG 11,JVET-Q0200-r2,17th Meeting: Brussels, BE,2020年01月,pp.1-9
【文献】Jonatan Samuelsson, Sachin Deshpande, and Andrew Segall,AHG9: On Picture Header,Joint Video Experts Team (JVET) of ITU-T SG 16 WP 3 and ISO/IEC JTC 1/SC 29/WG 11,JVET-Q0259,17th Meeting: Brussels, BE,2019年12月,pp.1-10
(58)【調査した分野】(Int.Cl.,DB名)
H04N 19/00 - 19/98
(57)【特許請求の範囲】
【請求項1】
デコード装置によって行われる画像デコード方法において、
現在ブロックに対する少なくとも1つのツールがピクチャレベル
で適用されるかスライスレベルで適用される
かを表す指示情報を取得するステップと、
前記指示情報に基づいて、前記少なくとも1つのツールと関連した情報がピクチャヘッダ及びスライスヘッダのうちいずれのヘッダに存在するかを判断するステップと、
前記判断に基づいて、前記ピクチャヘッダ又は前記スライスヘッダから前記少なくとも1つのツールと関連した前記情報をパーシングするステップと、
前記少なくとも1つのツールと関連した前記情報に基づいて、前記現在ブロックをデコードするステップと、を含み、
前記指示情報は、PPS(Picture Parameter Set)に含まれる、画像デコード方法。
【請求項2】
エンコード装置によって行われる画像エンコード方法において、
現在ブロックに適用される少なくとも1つのツールがピクチャレベル
で適用されるかスライスレベルで適用される
かを表す指示情報を生成するステップと、
前記少なくとも1つのツールと関連した情報を生成するステップと、
前記指示情報及び前記少なくとも1つのツールと関連した前記情報を含む画像情報をエンコードするステップと、を含み、
前記指示情報は、前記少なくとも1つのツールと関連した前記情報がピクチャヘッダ及びスライスヘッダのうちいずれのヘッダに存在するかを表し、
前記指示情報は、PPS(Picture Parameter Set)に含まれる、画像エンコード方法。
【請求項3】
画像のためのデータの送信方法であって、
前記送信方法は、
現在ブロックに適用される少なくとも1つのツールがピクチャレベル
で適用されるかスライスレベルで適用される
かを表す指示情報を生成するステップと、前記少なくとも1つのツールと関連した情報を生成するステップと、前記指示情報及び前記少なくとも1つのツールと関連した前記情報を含む画像情報をエンコードするステップによってビットストリームを生成するステップと、を行うことによって生成された前記ビットストリームを取得するステップと、
前記ビットストリームを含む前記データを送信するステップと、を含み、
前記指示情報は、前記少なくとも1つのツールと関連した前記情報がピクチャヘッダ及びスライスヘッダのうちいずれのヘッダに存在するかを表し、
前記指示情報は、PPS(Picture Parameter Set)に含まれる、送信方法。
【発明の詳細な説明】
【技術分野】
【0001】
本開示は、画像コーディング技術に関し、画像コーディングシステムにおいてピクチャレベルまたはスライスレベルで適用される画像情報をシグナリングする方法及び装置に関する。
【背景技術】
【0002】
近年、HD(High Definition)画像及びUHD(Ultra High Definition)画像のような高解像度、高品質の画像に対する需要が様々な分野で増加している。画像データが高解像度、高品質になるほど、既存の画像データに比べて相対的に送信される情報量またはビット量が増加するため、既存の有無線広帯域回線のような媒体を利用して画像データを送信するか、既存の格納媒体を利用して画像データを格納する場合、送信費用と格納費用とが増加される。
【0003】
これにより、高解像度、高品質画像の情報を効果的に送信するか、格納し、再生するために高効率の画像圧縮技術が求められる。
【発明の概要】
【発明が解決しようとする課題】
【0004】
本開示の技術的課題は、画像コーディング効率を上げる方法及び装置を提供することにある。
【0005】
本開示の他の技術的課題は、ピクチャレベルまたはスライスレベルで適用される画像情報をシグナリングする方法及び装置を提供することにある。
【0006】
本開示のさらに他の技術的課題は、ピクチャレベルまたはスライスレベルで適用される画像情報に基づいて現在ブロックに対するデコードを行う方法及び装置を提供することにある。
【課題を解決するための手段】
【0007】
本開示の一実施形態によれば、デコード装置によって行われる画像デコード方法が提供される。前記方法は、現在ブロックに対する少なくとも1つのツール(tool)がピクチャレベルまたはスライスレベルで適用されるか否かを表す指示情報を取得するステップと、前記指示情報に基づいて前記少なくとも1つのツールと関連した情報がピクチャヘッダ(picture header)及びスライスヘッダ(slice header)のうち、いずれのヘッダに存在するかを判断するステップと、前記判断結果に基づいてピクチャヘッダ(picture header)またはスライスヘッダ(slice header)から前記少なくとも1つのツールと関連した情報をパーシングするステップと、前記少なくとも1つのツールと関連した情報に基づいて前記現在ブロックに対するデコードを行うステップとを含む。
【0008】
本開示の他の一実施形態によれば、エンコード装置によって行われる画像エンコード方法が提供される。前記方法は、現在ブロックに適用される少なくとも1つのツール(tool)がピクチャレベルまたはスライスレベルで適用されるか否かを表す指示情報を生成するステップと、前記少なくとも1つのツールと関連した情報を生成するステップと、前記指示情報及び前記少なくとも1つのツールと関連した情報を含む画像情報をエンコードするステップとを含み、前記指示情報は、前記少なくとも1つのツールと関連した情報がピクチャヘッダ(picture header)及びスライスヘッダ(slice header)のうち、いずれのヘッダに存在するかを表す。
【0009】
本開示のさらに他の一実施形態によれば、デコード装置によって画像デコード方法を行うように引き起こすエンコードされた画像情報を格納するコンピュータ読み取り可能なデジタル格納媒体が提供される。前記一実施形態に係るデコード方法は、現在ブロックに適用される少なくとも1つのツール(tool)がピクチャレベルまたはスライスレベルで適用されるか否かを表す指示情報を取得するステップと、前記指示情報に基づいて前記少なくとも1つのツールと関連した情報がピクチャヘッダ(picture header)及びスライスヘッダ(slice header)のうち、いずれのヘッダに存在するかを判断するステップと、前記判断結果に基づいてピクチャヘッダ(picture header)またはスライスヘッダ(slice header)から前記少なくとも1つのツールと関連した情報をパーシングするステップと、前記少なくとも1つのツールと関連した情報に基づいて前記現在ブロックに対するデコードを行うステップとを含む。
【発明の効果】
【0010】
本明細書によれば、全般的な画像/ビデオ圧縮効率を上げることができる。
【0011】
本明細書によれば、現在ブロックに対する少なくとも1つのツール(tool)がピクチャレベルまたはスライスレベルで適用されるか否かを表す指示情報に基づいて画像デコードの効率を上げることができる。
【図面の簡単な説明】
【0012】
【
図1】本開示が適用され得るビデオ/画像コーディングシステムの例を概略的に示す。
【
図2】本開示が適用され得るビデオ/画像エンコード装置の構成を概略的に説明する図である。
【
図3】本開示が適用され得るビデオ/画像デコード装置の構成を概略的に説明する図である。
【
図4】コーディングされたデータに対する階層構造を例示的に示す。
【
図5】デブロッキングフィルタリング実行方法の一実施形態を示すフローチャートである。
【
図6】ALF手順の一例を概略的に示すフローチャートである。
【
図8】一実施形態に係るエンコード装置の動作を示すフローチャートである。
【
図9】一実施形態に係るエンコード装置の構成を示すブロック図である。
【
図10】一実施形態に係るデコード装置の動作を示すフローチャートである。
【
図11】一実施形態に係るデコード装置の構成を示すブロック図である。
【
図12】本文書の開示が適用され得るコンテンツストリーミングシステムの例を示す。
【発明を実施するための形態】
【0013】
本文書は、様々な変更を加えることができ、種々の実施形態を有することができ、特定実施形態を図面に例示し、詳細に説明しようとする。しかしながら、これは、本文書を特定実施形態に限定しようとするものではない。本明細書で常用する用語は、単に特定の実施形態を説明するために使用されたものであって、本文書の技術的思想を限定しようとする意図で使用されるものではない。単数の表現は、文脈上明白に異なるように意味しない限り、複数の表現を含む。本明細書において「含む」または「有する」などの用語は、明細書上に記載された特徴、数字、ステップ、動作、構成要素、部品、またはこれらを組み合わせたものが存在することを指定しようとするものであり、1つまたはそれ以上の他の特徴や数字、ステップ、動作、構成要素、部品、またはこれらを組み合わせたものなどの存在または付加可能性を予め排除しないことと理解されるべきである。
【0014】
一方、本文書で説明される図面上の各構成は、互いに異なる特徴的な機能に関する説明の都合上、独立的に図示されたものであって、各構成が互いに別個のハードウェアや別個のソフトウェアで実現されるということを意味するものではない。例えば、各構成のうち、2つ以上の構成が結合されて1つの構成をなすこともでき、1つの構成を複数の構成に分けることもできる。各構成が統合及び/又は分離された実施形態も本文書の本質から外れない限り、本文書の権利範囲に含まれる。
【0015】
本明細書において「AまたはB(A or B)」は、「ただA」、「ただB」、または「AとBの両方」を意味することができる。別に表現すれば、本明細書において「AまたはB(A or B)」は、「A及び/又はB(A and/or B)」と解釈されることができる。例えば、本明細書において「A、B、またはC(A、B or C)」は、「ただA」、「ただB」、「ただC」、または「A、B、及びCの任意の全ての組み合わせ(any combination of A、B and C)」を意味することができる。
【0016】
本明細書において使用されるスラッシュ(/)やコンマ(comma)は、「及び/又は(and/or)」を意味することができる。例えば、「A/B」は、「A及び/又はB」を意味することができる。これにより、「A/B」は、「ただA」、「ただB」、または「AとBの両方」を意味することができる。例えば、「A、B、C」は、「A、B、またはC」を意味することができる。
【0017】
本明細書において、“少なくとも1つのA及びB(at least one of A and B)”は、“ただA”、“ただB”または“AとBの両方とも”を意味することができる。また、本明細書において、“少なくとも1つのAまたはB(at least one of A or B)”や“少なくとも1つのA及び/またはB(at least one of A and/or B)”という表現は、“少なくとも1つのA及びB(at least one of A and B)”と同じく解釈されることができる。
【0018】
また、本明細書において、“少なくとも1つのA、B及びC(at least one of A,B and C)”は、“ただA”、“ただB”、“ただC”、または“A、B及びCの任意の全ての組み合わせ(any combination of A、B and C)”を意味することができる。また、“少なくとも1つのA、BまたはC(at least one of A,B or C)”や“少なくとも1つのA、B及び/またはC(at least one of A,B and/or C)”は、“少なくとも1つのA、B及びC(at least one of A,B and C)”を意味することができる。
【0019】
また、本明細書で使われる括弧は、“例えば(for example)”を意味することができる。具体的に、“予測(イントラ予測)”で表示された場合、“予測”の一例として“イントラ予測”が提案されたものである。他の表現としては、本明細書の“予測”は、“イントラ予測”に制限(limit)されるものではなく、“イントラ予測”が“予測”の一例として提案されたものである。また、“予測(即ち、イントラ予測)”で表示された場合にも、“予測”の一例として“イントラ予測”が提案されたものである。
【0020】
本明細書において、1つの図面内で個別的に説明される技術的特徴は、個別的に実現されることもでき、同時に実現されることもできる。
【0021】
以下、添付した図面を参照して、本開示の望ましい実施形態をより詳細に説明する。以下、図面上の同じ構成要素に対しては同じ参照符号を使用し、同じ構成要素について重複した説明は省略されることができる。
【0022】
図1は、本開示が適用され得るビデオ/画像コーディングシステムの例を概略的に示す。
【0023】
図1に示すように、ビデオ/画像コーディングシステムは、第1の装置(ソースデバイス)及び第2の装置(受信デバイス)を含むことができる。ソースデバイスは、エンコードされたビデオ(video)/画像(image)情報またはデータをファイルまたはストリーミング形態でデジタル格納媒体またはネットワークを介して受信デバイスに伝達することができる。
【0024】
前記ソースデバイスは、ビデオソース、エンコード装置、送信部を含むことができる。前記受信デバイスは、受信部、デコード装置、及びレンダラを含むことができる。前記エンコード装置は、ビデオ/画像エンコード装置と呼ばれることができ、前記デコード装置は、ビデオ/画像デコード装置と呼ばれることができる。送信機は、エンコード装置に含まれることができる。受信機は、デコード装置に含まれることができる。レンダラは、ディスプレイ部を含むこともでき、ディスプレイ部は、別個のデバイスまたは外部コンポーネントで構成されることもできる。
【0025】
ビデオソースは、ビデオ/画像のキャプチャ、合成または生成過程などを介してビデオ/画像を取得することができる。ビデオソースは、ビデオ/画像キャプチャデバイス及び/またはビデオ/画像生成デバイスを含むことができる。ビデオ/画像キャプチャデバイスは、例えば、1つ以上のカメラ、以前にキャプチャされたビデオ/画像を含むビデオ/画像アーカイブなどを含むことができる。ビデオ/画像生成デバイスは、例えば、コンピュータ、タブレット、及びスマートフォンなどを含むことができ、(電子的に)ビデオ/画像を生成することができる。例えば、コンピュータなどを介して仮想のビデオ/画像が生成されることができ、この場合、ビデオ/画像キャプチャ過程を関連データが生成される過程に代替されることができる。
【0026】
エンコード装置は、入力ビデオ/画像をエンコードすることができる。エンコード装置は、圧縮及びコーディング効率のために、予測、変換、量子化など、一連の手順を実行することができる。エンコードされたデータ(エンコードされたビデオ/画像情報)は、ビットストリーム(bitstream)形態で出力されることができる。
【0027】
送信部は、ビットストリーム形態で出力されたエンコードされたビデオ/画像情報またはデータをファイルまたはストリーミング形態でデジタル格納媒体またはネットワークを介して受信デバイスの受信部に伝達することができる。デジタル格納媒体は、USB、SD、CD、DVD、ブルーレイ、HDD、SSDなど、多様な格納媒体を含むことができる。送信部は、予め決められたファイルフォーマットを介してメディアファイルを生成するためのエレメントを含むことができ、放送/通信ネットワークを介した送信のためのエレメントを含むことができる。受信部は、前記ビットストリームを受信/抽出してデコード装置に伝達することができる。
【0028】
デコード装置は、エンコード装置の動作に対応する逆量子化、逆変換、予測など、一連の手順を実行してビデオ/画像をデコードすることができる。
【0029】
レンダラは、デコードされたビデオ/画像をレンダリングすることができる。レンダリングされたビデオ/画像は、ディスプレイ部を介してディスプレイされることができる。
【0030】
この文書は、ビデオ/画像コーディングに関するものである。例えば、この文書において開示された方法/実施形態は、VVC(versatile video coding)標準、EVC(essential video coding)標準、AV1(AOMedia Video 1)標準、AVS2(2nd generation of audio video coding standard)、または次世代ビデオ/画像コーディング標準(例:H.267 or H.268等)に開示される方法に適用されることができる。
【0031】
この文書では、ビデオ/画像コーディングに関する様々な実施形態を提示し、他の言及がない限り、前記実施形態等は、互いに組み合わせられて行われることもできる。
【0032】
この文書においてビデオ(video)は、時間の流れによる一連の画像(image)等の集合を意味することができる。ピクチャ(picture)は、一般的に、特定時間帯の1つの画像を表す単位を意味し、スライス(slice)/タイル(tile)は、コーディングにおいてピクチャの一部を構成する単位である。スライス/タイルは、1つ以上のCTU(coding tree unit)を含むことができる。1つのピクチャは、1つ以上のスライス/タイルで構成されることができる。
【0033】
タイルは、特定タイル列及び特定タイル列以内のCTUの四角領域である(A tile is a rectangular region of CTUs within a particular tile column and a particular tile row in a picture)。前記タイル列は、CTUの四角領域であり、前記四角領域は、前記ピクチャの高さと同じ高さを有し、幅は、ピクチャパラメータセット内のシンタックス要素によって明示されることができる(The tile column is a rectangular region of CTUs having a height equal to the height of the picture and a width specified by syntax elements in the picture parameter set)。前記タイル行は、CTUの四角領域であり、前記四角領域は、ピクチャパラメータセット内のシンタックス要素によって明示される幅を有し、高さは、前記ピクチャの高さと同一であることができる(The tile row is a rectangular region of CTUs having a height specified by syntax elements in the picture parameter set and a width equal to the width of the picture)。タイルスキャンは、ピクチャをパーティショニングするCTUの特定順次的オーダリングを表すことができ、前記CTUは、タイル内のCTUラスタースキャンで連続的に整列されることができ、ピクチャ内のタイルは、前記ピクチャの前記タイルのラスタースキャンで連続的に整列されることができる(A tile scan is a specific sequential ordering of CTUs partitioning a picture in which the CTUs are ordered consecutively in CTU raster scan in a tile whereas tiles in a picture are ordered consecutively in a raster scan of the tiles of the picture)。スライスは、複数の完全なタイルまたは1つのNALユニットに含まれ得るピクチャの1つのタイル内の複数の連続的なCTU行を含むことができる。この文書においてタイルグループとスライスとは混用されることができる。例えば、本文書においてtile group/tile group headerは、slice/slice headerと呼ばれることができる。
【0034】
一方、1つのピクチャは、2つ以上のサブピクチャに区分されることができる。サブピクチャは、ピクチャ内の1つ以上のスライスの四角領域であることができる(an rectangular region of one or more slices within a picture)。
【0035】
ピクセル(pixel)またはペル(pel)は、1つのピクチャ(または、画像)を構成する最小の単位を意味することができる。また、ピクセルに対応する用語として「サンプル(sample)」が使用され得る。サンプルは、一般的に、ピクセルまたはピクセルの値を表すことができ、ルマ(luma)成分のピクセル/ピクセル値のみを表すことができ、クロマ(chroma)成分のピクセル/ピクセル値のみを表すこともできる。
【0036】
ユニット(unit)は、画像処理の基本単位を示すことができる。ユニットは、ピクチャの特定領域及び当該領域に関連した情報のうち少なくとも1つを含むことができる。1つのユニットは、1つのルマブロック及び2つのクロマ(例えば、cb、cr)ブロックを含むことができる。ユニットは、場合によって、ブロック(block)または領域(area)などの用語と混用して使用されることができる。一般的な場合、M×Nブロックは、M個の列とN個の行からなるサンプル(または、サンプルアレイ)、または変換係数(transform coefficient)の集合(または、アレイ)を含むことができる。
【0037】
図2は、本文書が適用されることができるビデオ/画像エンコード装置の構成を概略的に説明する図である。以下、ビデオエンコード装置とは、画像エンコード装置を含むことができる。
【0038】
図2に示すように、エンコード装置200は、画像分割部(image partitioner)210、予測部(predictor)220、レジデュアル処理部(residual processor)230、エントロピーエンコード部(entropy encoder)240、加算部(adder)250、フィルタリング部(filter)260、及びメモリ(memory)270を備えて構成されることができる。予測部220は、インター予測部221及びイントラ予測部222を備えることができる。レジデュアル処理部230は、変換部(transformer)232、量子化部(quantizer)233、逆量子化部(dequantizer)234、逆変換部(inverse transformer)235を備えることができる。レジデュアル処理部230は、減算部(subtractor、231)をさらに備えることができる。加算部250は、復元部(reconstructor)または復元ブロック生成部(recontructged block generator)と呼ばれることができる。上述した画像分割部210、予測部220、レジデュアル処理部230、エントロピーエンコード部240、加算部250、及びフィルタリング部260は、実施形態によって1つ以上のハードウェアコンポーネント(例えば、エンコーダチップセットまたはプロセッサ)によって構成されることができる。また、メモリ270は、DPB(decoded picture buffer)を備えることができ、デジタル格納媒体によって構成されることもできる。前記ハードウェアコンポーネントは、メモリ270を内/外部コンポーネントとしてさらに備えることもできる。
【0039】
画像分割部210は、エンコード装置200に入力された入力画像(または、ピクチャ、フレーム)を1つ以上の処理ユニット(processing unit)に分割することができる。一例として、前記処理ユニットは、コーディングユニット(coding unit、CU)と呼ばれることができる。この場合、コーディングユニットは、コーディングツリーユニット(coding tree unit、CTU)または最大コーディングユニット(largest coding unit、LCU)からQTBTTT(Quad-tree binary-tree ternary-tree)構造によって再帰的に(recursively)分割されることができる。例えば、1つのコーディングユニットは、クアッドツリー構造、バイナリツリー構造、及び/またはターナリ構造に基づいて下位(deeper)デプスの複数のコーディングユニットに分割されることができる。この場合、例えば、クアッドツリー構造が先に適用され、バイナリツリー構造及び/またはターナリ構造がその後に適用されることができる。または、バイナリツリー構造が先に適用されることもできる。それ以上分割されない最終コーディングユニットに基づいて本開示に係るコーディング手順が行われ得る。この場合、画像特性によるコーディング効率などに基づいて、最大コーディングユニットが最終コーディングユニットとして使用されることができ、または、必要に応じてコーディングユニットは、再帰的に(recursively)もっと下位デプスのコーディングユニットに分割されて最適のサイズのコーディングユニットが最終コーディングユニットとして使用されることができる。ここで、コーディング手順とは、後述する予測、変換、及び復元などの手順を含むことができる。他の例として、前記処理ユニットは、予測ユニット(PU:Prediction Unit)または変換ユニット(TU:Transform Unit)をさらに備えることができる。この場合、前記予測ユニット及び前記変換ユニットは、各々上述した最終コーディングユニットから分割またはパーティショニングされることができる。前記予測ユニットは、サンプル予測の単位であることができ、前記変換ユニットは、変換係数を導く単位及び/または変換係数からレジデュアル信号(residual signal)を導く単位であることができる。
【0040】
ユニットは、場合によって、ブロック(block)または領域(area)などの用語と混用して使用されることができる。一般的な場合、M×Nブロックは、M個の列とN個の行からなるサンプルまたは変換係数(transform coefficient)等の集合を示すことができる。サンプルは、一般的にピクセルまたはピクセルの値を示すことができ、輝度(luma)成分のピクセル/ピクセル値のみを示すことができ、彩度(chroma)成分のピクセル/ピクセル値のみを示すこともできる。サンプルは、1つのピクチャ(または、画像)をピクセル(pixel)またはペル(pel)に対応する用語として使用することができる。
【0041】
エンコード装置200は、入力画像信号(原本ブロック、原本サンプルアレイ)からインター予測部221またはイントラ予測部222から出力された予測信号(予測されたブロック、予測サンプルアレイ)を減算してレジデュアル信号(residual signal、残余ブロック、残余サンプルアレイ)を生成でき、生成されたレジデュアル信号は、変換部232に送信される。この場合、図示されたように、エンコード装置200内で入力画像信号(原本ブロック、原本サンプルアレイ)から予測信号(予測ブロック、予測サンプルアレイ)を減算するユニットは、減算部231と呼ばれることができる。予測部は、処理対象ブロック(以下、現在ブロックという)に対する予測を行い、前記現在ブロックに対する予測サンプルを含む予測されたブロック(predicted block)を生成できる。予測部は、現在ブロックまたはCU単位でイントラ予測が適用されるか、またはインター予測が適用されるか決定することができる。予測部は、各予測モードについての説明で後述するように、予測モード情報など、予測に関する様々な情報を生成してエントロピーエンコード部240に伝達することができる。予測に関する情報は、エントロピーエンコード部240でエンコードされてビットストリーム形態で出力されることができる。
【0042】
イントラ予測部222は、現在ピクチャ内のサンプルを参照して現在ブロックを予測することができる。前記参照されるサンプルは、予測モードによって前記現在ブロックの隣接(neighbor)に位置することができ、または、離れて位置することもできる。イントラ予測で予測モードは、複数の非方向性モードと複数の方向性モードとを含むことができる。非方向性モードは、例えば、DCモード及びプラナーモード(Planarモード)を含むことができる。方向性モードは、予測方向の細かい程度によって、例えば、33個の方向性予測モードまたは65個の方向性予測モードを含むことができる。ただし、これは、例示であり、設定によってそれ以上またはそれ以下の個数の方向性予測モードが使用され得る。イントラ予測部222は、隣接ブロックに適用された予測モードを用いて、現在ブロックに適用される予測モードを決定することもできる。
【0043】
インター予測部221は、参照ピクチャ上で動きベクトルにより特定される参照ブロック(参照サンプルアレイ)に基づいて、現在ブロックに対する予測されたブロックを導くことができる。このとき、インター予測モードで送信される動き情報の量を減らすために、隣接ブロックと現在ブロックとの間の動き情報の相関性に基づいて、動き情報をブロック、サブブロック、またはサンプル単位で予測することができる。前記動き情報は、動きベクトル及び参照ピクチャインデックスを含むことができる。前記動き情報は、インター予測方向(L0予測、L1予測、Bi予測等)情報をさらに含むことができる。インター予測の場合に、隣接ブロックは、現在ピクチャ内に存在する空間的隣接ブロック(spatial neighboring block)と参照ピクチャに存在する時間的隣接ブロック(temporal neighboring block)とを含むことができる。前記参照ブロックを含む参照ピクチャと前記時間的隣接ブロックを含む参照ピクチャとは同じであることができ、異なることもできる。前記時間的隣接ブロックは、同一位置参照ブロック(collocated reference block)、同一位置CU(col CU)などの名前で呼ばれることができ、前記時間的隣接ブロックを含む参照ピクチャは、同一位置ピクチャ(collocated picture、colPic)と呼ばれることもできる。例えば、インター予測部221は、隣接ブロックに基づいて動き情報候補リストを構成し、前記現在ブロックの動きベクトル及び/または参照ピクチャインデックスを導出するために、どの候補が使用されるかを指示する情報を生成することができる。様々な予測モードに基づいてインター予測が行われ得るし、例えば、スキップモードとマージモードとの場合に、インター予測部221は、隣接ブロックの動き情報を現在ブロックの動き情報として利用することができる。スキップモードの場合、マージモードとは異なり、レジデュアル信号が送信されないことがある。動き情報予測(motion vector prediction、MVP)モードの場合、隣接ブロックの動きベクトルを動きベクトル予測子(motion vector predictor)として用い、動きベクトル差分(motion vector difference)をシグナリングすることにより、現在ブロックの動きベクトルを指示することができる。
【0044】
予測部220は、後述する様々な予測方法に基づいて予測信号を生成できる。例えば、予測部は、1つのブロックに対する予測のためにイントラ予測またはインター予測を適用できるだけでなく、イントラ予測とインター予測とを同時に適用することができる。これは、combined inter and intra prediction(CIIP)と呼ばれることができる。また、予測部は、ブロックに対する予測のためにイントラブロックコピー(intra block copy、IBC)予測モードに基づくことができ、またはパレットモード(palette mode)に基づくこともできる。前記IBC予測モードまたはパレットモードは、例えば、SCC(screen content coding)などのように、ゲームなどのコンテンツ画像/動画コーディングのために使用されることができる。IBCは、基本的に現在ピクチャ内で予測を行うが、現在ピクチャ内で参照ブロックを導出する点においてインター予測と類似して行われることができる。すなわち、IBCは、本文書において説明されるインター予測技法のうち、少なくとも1つを利用できる。パレットモードは、イントラコーディングまたはイントラ予測の一例とみなすことができる。パレットモードが適用される場合、パレットテーブル及びパレットインデックスに関する情報に基づいてピクチャ内のサンプル値をシグナリングできる。
【0045】
前記予測部(インター予測部221及び/又は前記イントラ予測部222を備える)を介して生成された予測信号は、復元信号を生成するために利用されるか、レジデュアル信号を生成するために利用されることができる。変換部232は、レジデュアル信号に変換技法を適用して変換係数(transform coefficients)を生成できる。例えば、変換技法は、DCT(Discrete Cosine Transform)、DST(Discrete Sine Transform)、KLT(Karhunen-Loeve Transform)、GBT(Graph-Based Transform)、またはCNT(Conditionally Non-linear Transform)のうち、少なくとも1つを含むことができる。ここで、GBTは、ピクセル間の関係情報をグラフで表現するというとき、このグラフから得られた変換を意味する。CNTは、以前に復元された全てのピクセル(all previously reconstructed pixel)を用いて予測信号を生成し、それに基づいて取得される変換を意味する。また、変換過程は、正方形の同じサイズを有するピクセルブロックに適用されることができ、正方形でない可変サイズのブロックにも適用されることができる。
【0046】
量子化部233は、変換係数を量子化してエントロピーエンコード部240に送信され、エントロピーエンコード部240は、量子化された信号(量子化された変換係数に関する情報)をエンコードしてビットストリームに出力することができる。前記量子化された変換係数に関する情報は、レジデュアル情報と呼ばれることができる。量子化部233は、係数スキャン順序(scan order)に基づいてブロック形態の量子化された変換係数を1次元ベクトル形態に再整列することができ、前記1次元ベクトル形態の量子化された変換係数に基づいて前記量子化された変換係数に関する情報を生成することもできる。エントロピーエンコード部240は、例えば、指数ゴロム(exponential Golomb)、CAVLC(context-adaptive variable length coding)、CABAC(context-adaptive binary arithmetic coding)などのような様々なエンコード方法を行うことができる。エントロピーエンコード部240は、量子化された変換係数の他に、ビデオ/イメージ復元に必要な情報(例えば、シンタックス要素(syntax elements)の値等)を共にまたは別にエンコードすることもできる。エンコードされた情報(例:エンコードされたビデオ/画像情報)は、ビットストリーム形態でNAL(network abstraction layer)ユニット単位に送信または格納されることができる。前記ビデオ/画像情報は、アダプテーションパラメータセット(APS)、ピクチャパラメータセット(PPS)、シーケンスパラメータセット(SPS)、またはビデオパラメータセット(VPS)など、様々なパラメータセットに関する情報をさらに含むことができる。また、前記ビデオ/画像情報は、一般制限情報(general constraint information)をさらに含むことができる。本文書においてエンコード装置からデコード装置に伝達/シグナリングされる情報及び/又はシンタックス要素は、ビデオ/画像情報に含まれることができる。前記ビデオ/画像情報は、上述したエンコード手順を介してエンコードされて前記ビットストリームに含まれることができる。前記ビットストリームは、ネットワークを介して送信されることができ、またはデジタル格納媒体に格納されることができる。ここで、ネットワークは、放送網及び/又は通信網などを含むことができ、デジタル格納媒体は、USB、SD、CD、DVD、ブルーレイ、HDD、SSDなど、様々な格納媒体を含むことができる。エントロピーエンコード部240から出力された信号は、送信する送信部(図示せず)及び/又は格納する格納部(図示せず)がエンコード装置200の内/外部エレメントとして構成され得るし、または送信部は、エントロピーエンコード部240に含まれることもできる。
【0047】
量子化部233から出力された量子化された変換係数は、予測信号を生成するために用いられることができる。例えば、量子化された変換係数に逆量子化部234及び逆変換部235を介して逆量子化及び逆変換を適用することにより、レジデュアル信号(レジデュアルブロックまたはレジデュアルサンプル)を復元できる。加算部155は、復元されたレジデュアル信号をインター予測部221またはイントラ予測部222から出力された予測信号に加えることにより、復元(reconstructed)信号(復元ピクチャ、復元ブロック、復元サンプルアレイ)が生成され得る。スキップモードが適用された場合のように、処理対象ブロックに対するレジデュアルがない場合、予測されたブロックが復元ブロックとして使用されることができる。加算部250は、復元部または復元ブロック生成部と呼ばれることができる。生成された復元信号は、現在ピクチャ内の次の処理対象ブロックのイントラ予測のために使用されることができ、後述するように、フィルタリングを経て次のピクチャのインター予測のために使用されることもできる。
【0048】
一方、ピクチャエンコード及び/または復元過程でLMCS(luma mapping with chrom ascaling)が適用されることもできる。
【0049】
フィルタリング部260は、復元信号にフィルタリングを適用して主観的/客観的画質を向上させることができる。例えば、フィルタリング部260は、復元ピクチャに多様なフィルタリング方法を適用して修正された(modified)復元ピクチャを生成することができ、前記修正された復元ピクチャをメモリ270、具体的に、メモリ270のDPBに格納することができる。前記多様なフィルタリング方法は、例えば、デブロッキングフィルタリング、サンプル適応的オフセット(sample adaptive offset、SAO)、適応的ループフィルタ(adaptive loop filter)、両方向フィルタ(bilateral filter)などを含むことができる。フィルタリング部260は、各フィルタリング方法に対する説明で後述するように、フィルタリングに関する多様な情報を生成してエントロピーエンコード部290に伝達できる。フィルタリング関する情報は、エントロピーエンコード部290でエンコードされてビットストリーム形態で出力されることができる。
【0050】
メモリ270に送信された修正された復元ピクチャは、インター予測部280で参照ピクチャとして使われることができる。エンコード装置は、これを介してインター予測が適用される場合、エンコード装置200とデコード装置での予測ミスマッチを避けることができ、符号化効率も向上させることができる。
【0051】
メモリ270のDPBは、修正された復元ピクチャをインター予測部221での参照ピクチャとして使用するために格納することができる。メモリ270は、現在ピクチャ内の動き情報が導出された(または、エンコードされた)ブロックの動き情報及び/または既に復元されたピクチャ内のブロックの動き情報を格納することができる。前記格納された動き情報は、空間的隣接ブロックの動き情報または時間的隣接ブロックの動き情報として活用するためにインター予測部221に伝達できる。メモリ270は、現在ピクチャ内の復元されたブロックの復元サンプルを格納することができ、イントラ予測部222に伝達できる。
【0052】
図3は、本文書が適用されることができるビデオ/画像デコード装置の構成を概略的に説明する図である。
【0053】
図3に示すように、デコード装置300は、エントロピーデコード部(entropy decoder)310、レジデュアル処理部(residual processor)320、予測部(predictor)330、加算部(adder)340、フィルタリング部(filter)350、及びメモリ(memory)360を備えて構成されることができる。予測部330は、インター予測部331及びイントラ予測部332を備えることができる。レジデュアル処理部320は、逆量子化部(dequantizer)321及び逆変換部(inverse transformer)321を備えることができる。上述したエントロピーデコード部310、レジデュアル処理部320、予測部330、加算部340、及びフィルタリング部350は、実施形態によって1つのハードウェアコンポーネント(例えば、デコーダチップセットまたはプロセッサ)により構成されることができる。また、メモリ360は、DPB(decoded picture buffer)を備えることができ、デジタル格納媒体により構成されることもできる。前記ハードウェアコンポーネントは、メモリ360を内/外部コンポーネントとしてさらに備えることもできる。
【0054】
ビデオ/画像情報を含むビットストリームが入力されれば、デコード装置300は、
図3のエンコード装置でビデオ/画像情報が処理されたプロセスに対応して画像を復元することができる。例えば、デコード装置300は、前記ビットストリームから取得したブロック分割関連情報に基づいてユニット/ブロックを導出できる。デコード装置300は、エンコード装置で適用された処理ユニットを用いてデコードを行うことができる。したがって、デコードの処理ユニットは、例えば、コーディングユニットであることができ、コーディングユニットは、コーディングツリーユニットまたは最大コーディングユニットからクアッドツリー構造、バイナリツリー構造、及び/またはターナリツリー構造にしたがって分割されることができる。コーディングユニットから1つ以上の変換ユニットが導出され得る。そして、デコード装置300を介してデコード及び出力された復元画像信号は、再生装置を介して再生されることができる。
【0055】
デコード装置300は、
図3のエンコード装置から出力された信号をビットストリーム形態で受信することができ、受信された信号は、エントロピーデコード部310を介してデコードされることができる。例えば、エントロピーデコード部310は、前記ビットストリームをパーシングして画像復元(または、ピクチャ復元)に必要な情報(例:ビデオ/画像情報)を導出できる。前記ビデオ/画像情報は、アダプテーションパラメータセット(APS)、ピクチャパラメータセット(PPS)、シーケンスパラメータセット(SPS)、またはビデオパラメータセット(VPS)など、様々なパラメータセットに関する情報をさらに含むことができる。また、前記ビデオ/画像情報は、一般制限情報(general constraint information)をさらに含むことができる。デコード装置は、さらに前記パラメータセットに関する情報及び/又は前記一般制限情報に基づいてピクチャをデコードすることができる。本文書において後述されるシグナリング/受信される情報及び/又はシンタックス要素は、前記デコード手順を介してデコードされて、前記ビットストリームから取得されることができる。例えば、エントロピーデコード部310は、指数ゴロム符号化、CAVLCまたはCABACなどのコーディング方法を基にビットストリーム内の情報をデコードし、画像復元に必要なシンタックスエレメントの値、レジデュアルに関する変換係数の量子化された値などを出力することができる。より詳細に、CABACエントロピーデコード方法は、ビットストリームで各シンタックス要素に該当するビンを受信し、デコード対象シンタックス要素情報と周辺及びデコード対象ブロックのデコード情報あるいは以前ステップでデコードされたシンボル/ビンの情報を利用して文脈(コンテキスト、context)モデルを決定し、決定された文脈モデルによってビン(bin)の発生確率を予測してビンの算術デコード(arithmetic decoding)を行って、各シンタックス要素の値に該当するシンボルを生成できる。このとき、CABACエントロピーデコード方法は、文脈モデル決定後、次のシンボル/ビンの文脈モデルのためにデコードされたシンボル/ビンの情報を利用して文脈モデルをアップデートできる。エントロピーデコード部310でデコードされた情報のうち、予測に関する情報は、予測部(インター予測部332及びイントラ予測部331)に提供され、エントロピーデコード部310でエントロピーデコードが行われたレジデュアル値、すなわち、量子化された変換係数及び関連パラメータ情報は、レジデュアル処理部320に入力されることができる。レジデュアル処理部320は、レジデュアル信号(レジデュアルブロック、レジデュアルサンプル、レジデュアルサンプルアレイ)を導出できる。また、エントロピーデコード部310でデコードされた情報のうち、フィルタリングに関する情報は、フィルタリング部350に提供されることができる。一方、エンコード装置から出力された信号を受信する受信部(図示せず)がデコード装置300の内/外部エレメントとしてさらに構成されることができ、または、受信部は、エントロピーデコード部310の構成要素であることもできる。一方、本文書によるデコード装置は、ビデオ/画像/ピクチャデコード装置と呼ばれることができ、前記デコード装置は、情報デコーダ(ビデオ/画像/ピクチャ情報デコーダ)及びサンプルデコーダ(ビデオ/画像/ピクチャサンプルデコーダ)に区分することもできる。前記情報デコーダは、前記エントロピーデコード部310を備えることができ、前記サンプルデコーダは、前記逆量子化部321、逆変換部322、加算部340、フィルタリング部350、メモリ360、インター予測部332、及びイントラ予測部331のうち、少なくとも1つを備えることができる。
【0056】
逆量子化部321では、量子化された変換係数を逆量子化して変換係数を出力することができる。逆量子化部321は、量子化された変換係数を2次元のブロック形態で再整列することができる。この場合、前記再整列は、エンコード装置で行われた係数スキャン順序に基づいて再整列を行うことができる。逆量子化部321は、量子化パラメータ(例えば、量子化ステップサイズ情報)を用いて量子化された変換係数に対する逆量子化を行い、変換係数(transform coefficient)を取得することができる。
【0057】
逆変換部322では、変換係数を逆変換してレジデュアル信号(レジデュアルブロック、レジデュアルサンプルアレイ)を取得するようになる。
【0058】
予測部は、現在ブロックに対する予測を行い、前記現在ブロックに対する予測サンプルを含む予測されたブロック(predicted block)を生成することができる。予測部は、エントロピーデコード部310から出力された前記予測に関する情報に基づいて、前記現在ブロックにイントラ予測が適用されるか、または、インター予測が適用されるかを決定することができ、具体的なイントラ/インター予測モードを決定することができる。
【0059】
予測部330は、後述する様々な予測方法に基づいて予測信号を生成できる。例えば、予測部は、1つのブロックに対する予測のためにイントラ予測またはインター予測を適用できるだけでなく、イントラ予測とインター予測とを同時に適用することができる。これは、combined inter and intra prediction(CIIP)と呼ばれることができる。また、予測部は、ブロックに対する予測のためにイントラブロックコピー(intra block copy、IBC)予測モードに基づくことができ、またはパレットモード(palette mode)に基づくこともできる。前記IBC予測モードまたはパレットモードは、例えば、SCC(screen content coding)などのように、ゲームなどのコンテンツ画像/動画コーディングのために使用されることができる。IBCは、基本的に現在ピクチャ内で予測を行うが、現在ピクチャ内で参照ブロックを導出する点においてインター予測と類似して行われることができる。すなわち、IBCは、本文書において説明されるインター予測技法のうち、少なくとも1つを利用できる。パレットモードは、イントラコーディングまたはイントラ予測の一例とみなすことができる。パレットモードが適用される場合、パレットテーブル及びパレットインデックスに関する情報が前記ビデオ/画像情報に含まれてシグナリングされることができる。
【0060】
イントラ予測部332は、現在ピクチャ内のサンプルを参照して現在ブロックを予測することができる。前記参照されるサンプルは、予測モードによって前記現在ブロックの隣接(neighbor)に位置でき、または離れて位置することもできる。イントラ予測において、予測モードは、複数の非方向性モードと複数の方向性モードとを含むことができる。イントラ予測部332は、隣接ブロックに適用された予測モードを利用し、現在ブロックに適用される予測モードを決定することもできる。
【0061】
インター予測部331は、参照ピクチャ上で動きベクトルにより特定される参照ブロック(参照サンプルアレイ)に基づいて、現在ブロックに対する予測されたブロックを誘導することができる。このとき、インター予測モードで送信される動き情報の量を減らすために、隣接ブロックと現在ブロックとの間の動き情報の相関性に基づいて、動き情報をブロック、サブブロックまたはサンプル単位で予測できる。前記動き情報は、動きベクトル及び参照ピクチャインデックスを含むことができる。前記動き情報は、インター予測方向(L0予測、L1予測、Bi予測等)情報をさらに含むことができる。インター予測の場合に、隣接ブロックは、現在ピクチャ内に存在する空間的隣接ブロック(spatial neighboring block)と、参照ピクチャに存在する時間的隣接ブロック(temporal neighboring block)と、を含むことができる。例えば、インター予測部331は、隣接ブロックに基づいて動き情報候補リストを構成し、受信した候補選択情報に基づいて前記現在ブロックの動きベクトル及び/または参照ピクチャインデックスを導出することができる。多様な予測モードに基づいてインター予測が実行されることができ、前記予測に関する情報は、前記現在ブロックに対するインター予測のモードを指示する情報を含むことができる。
【0062】
加算部340は、取得されたレジデュアル信号を、予測部330から出力された予測信号(予測されたブロック、予測サンプルアレイ)に加えることによって復元信号(復元ピクチャ、復元ブロック、復元サンプルアレイ)を生成することができる。スキップモードが適用された場合のように処理対象ブロックに対するレジデュアルがない場合、予測されたブロックが復元ブロックとして使われることができる。
【0063】
加算部340は、復元部または復元ブロック生成部と呼ばれることができる。生成された復元信号は、現在ピクチャ内の次の処理対象ブロックのイントラ予測のために使われることができ、後述するように、フィルタリングを経て出力されることもでき、または、次のピクチャのインター予測のために使われることもできる。
【0064】
一方、ピクチャデコード過程でLMCS(luma mapping with chroma scaling)が適用されることもできる。
【0065】
フィルタリング部350は、復元信号にフィルタリングを適用して主観的/客観的画質を向上させることができる。例えば、フィルタリング部350は、復元ピクチャに多様なフィルタリング方法を適用して修正された(modified)復元ピクチャを生成することができ、前記修正された復元ピクチャをメモリ60、具体的に、メモリ360のDPBに送信できる。前記多様なフィルタリング方法は、例えば、デブロッキングフィルタリング、サンプル適応的オフセット(sample adaptive offset)、適応的ループフィルタ(adaptive loop filter)、両方向フィルタ(bilateral filter)などを含むことができる。
【0066】
メモリ360のDPBに格納された(修正された)復元ピクチャは、インター予測部331で参照ピクチャとして使われることができる。メモリ360は、現在ピクチャ内の動き情報が導出された(または、デコードされた)ブロックの動き情報及び/または既に復元されたピクチャ内のブロックの動き情報を格納することができる。前記格納された動き情報は、空間的隣接ブロックの動き情報または時間的隣接ブロックの動き情報として活用するためにインター予測部331に伝達できる。メモリ360は、現在ピクチャ内の復元されたブロックの復元サンプルを格納することができ、イントラ予測部332に伝達できる。
【0067】
本明細書において、エンコード装置100のフィルタリング部260、インター予測部221、及びイントラ予測部222で説明された実施形態等は、各々デコード装置300のフィルタリング部350、インター予測部332、及びイントラ予測部331にも同一または対応するように適用されることができる。
【0068】
一方、前述したように、ビデオコーディングを実行するにあたって圧縮効率を上げるために予測を実行する。それによって、コーディング対象ブロックである現在ブロックに対する予測サンプルを含む予測されたブロックを生成することができる。ここで、前記予測されたブロックは、空間ドメイン(または、ピクセルドメイン)での予測サンプルを含む。前記予測されたブロックは、エンコード装置及びデコード装置で同様に導出され、前記エンコード装置は、原本ブロックの原本サンプル値自体でない前記原本ブロックと前記予測されたブロックとの間のレジデュアルに関する情報(レジデュアル情報)をデコード装置にシグナリングすることで画像コーディング効率を上げることができる。デコード装置は、前記レジデュアル情報に基づいてレジデュアルサンプルを含むレジデュアルブロックを導出し、前記レジデュアルブロックと前記予測されたブロックを加算して復元サンプルを含む復元ブロックを生成することができ、復元ブロックを含む復元ピクチャを生成することができる。
【0069】
前記レジデュアル情報は、変換及び量子化手順を介して生成されることができる。例えば、エンコード装置は、前記原本ブロックと前記予測されたブロックとの間のレジデュアルブロックを導出し、前記レジデュアルブロックに含まれているレジデュアルサンプル(レジデュアルサンプルアレイ)に変換手順を実行して変換係数を導出し、前記変換係数に量子化手順を実行して量子化された変換係数を導出することで、関連したレジデュアル情報を(ビットストリームを介して)デコード装置にシグナリングすることができる。ここで、前記レジデュアル情報は、前記量子化された変換係数の値情報、位置情報、変換技法、変換カーネル、量子化パラメータなどの情報を含むことができる。デコード装置は、前記レジデュアル情報に基づいて逆量子化/逆変換手順を実行してレジデュアルサンプル(または、レジデュアルブロック)を導出することができる。デコード装置は、予測されたブロックと前記レジデュアルブロックに基づいて復元ピクチャを生成することができる。また、エンコード装置は、以後ピクチャのインター予測のための参照のために量子化された変換係数を逆量子化/逆変換してレジデュアルブロックを導出し、これに基づいて復元ピクチャを生成することができる。
【0070】
図4は、コーディングされたデータに対する階層構造を例示的に示す。
【0071】
図4に示すように、コーディングされたデータは、ビデオ/イメージのコーディング処理及びそれ自体を扱うVCL(video coding layer)と、コーディングされたビデオ/イメージのデータを格納し、送信する下位システムとの間にあるNAL(Network abstraction layer)とに区分されることができる。
【0072】
VCLは、シーケンスとピクチャなどのヘッダに該当するパラメータセット(ピクチャパラメータセット(PPS)、シーケンスパラメータセット(SPS)、ビデオパラメータセット(VPS)等)、及びビデオ/イメージのコーディング過程に付加的に必要なSEI(Supplemental enhancement information)メッセージを生成できる。SEIメッセージは、ビデオ/イメージに関する情報(スライスデータ)と分離されている。ビデオ/イメージに関する情報を含むVCLは、スライスデータとスライスヘッダとからなる。一方、スライスヘッダは、タイルグループヘッダ(tile group header)と称されることができ、スライスデータは、タイルグループデータ(tile group data)と称されることができる。
【0073】
NALでは、VCLで生成されたRBSP(Raw Byte Sequence Payload)にヘッダ情報(NALユニットヘッダ)を付加してNALユニットを生成できる。このとき、RBSPは、VCLで生成されたスライスデータ、パラメータセット、SEIメッセージなどをいう。NALユニットヘッダには、当該NALユニットに含まれるRBSPデータによって特定されるNALユニットタイプ情報を含むことができる。
【0074】
NALの基本単位であるNALユニットは、コーディングされた画像を所定の規格によるファイルフォーマット、RTP(Real-time Transport Protocol)、TS(Transport Stream)などのような下位システムのビット列にマッピングさせる役割をする。
【0075】
図示されたように、NALユニットは、VCLで生成されたRBSPによってVCL NALユニットとNon-VCL NALユニットとに区分されることができる。VCL NALユニットは、画像に関する情報(スライスデータ)を含んでいるNALユニットを意味することができ、Non-VCL NALユニットは、画像をデコードするために必要な情報(パラメータセットまたはSEIメッセージ)を含んでいるNALユニットを意味することができる。
【0076】
上述したVCL NALユニット、Non-VCL NALユニットは、下位システムのデータ規格によってヘッダ情報を付けてネットワークを介して送信されることができる。例えば、NALユニットは、H.266/VVCファイルフォーマット、RTP(Real-time Transport Protocol)、TS(Transport Stream)などのような所定規格のデータ形態に変形されて様々なネットワークを介して送信されることができる。
【0077】
上述したように、NALユニットは、当該NALユニットに含まれるRBSPデータ構造(structure)によってNALユニットタイプが特定され得るし、このようなNALユニットタイプに関する情報は、NALユニットヘッダに格納されてシグナリングされることができる。
【0078】
例えば、NALユニットが画像に関する情報(スライスデータ)を含むか否かによって、大別してVCL NALユニットタイプとNon-VCL NALユニットタイプとに分類されることができる。VCL NALユニットタイプは、VCL NALユニットが含むピクチャの性質及び種類などによって分類されることができ、Non-VCL NALユニットタイプは、パラメータセットの種類などによって分類されることができる。
【0079】
下記は、Non-VCL NALユニットタイプが含むパラメータセットの種類などによって特定されたNALユニットタイプの一例である。NALユニットタイプは、パラメータセットの種類などによって特定されることができる。例えば、NALユニットタイプは、APSを含むNALユニットに対するタイプであるAPS(Adaptation Parameter Set) NAL unit、DPSを含むNALユニットに対するタイプであるDPS(Decoding Parameter Set) NAL unit、VPSを含むNALユニットに対するタイプであるVPS(Video Parameter Set) NAL unit、SPSを含むNALユニットに対するタイプであるSPS(Sequence Parameter Set) NAL unit、及びPPSを含むNALユニットに対するタイプであるPPS(Picture Parameter Set) NAL unitのうち、いずれか1つに特定されることができる。
【0080】
上述したNALユニットタイプは、NALユニットタイプのためのシンタックス情報を有し、前記シンタックス情報は、NALユニットヘッダに格納されてシグナリングされることができる。例えば、前記シンタックス情報は、nal_unit_typeであることができ、NALユニットタイプは、nal_unit_type値に特定されることができる。
【0081】
一方、上述したように、1つのピクチャは、複数のスライスを含むことができ、1つのスライスは、スライスヘッダ及びスライスデータを含むことができる。この場合、1つのピクチャ内の複数のスライス(スライスヘッダ及びスライスデータ集合)に対して1つのピクチャヘッダがさらに付加され得る。前記ピクチャヘッダ(ピクチャヘッダシンタックス)は、前記ピクチャに共通的に適用できる情報/パラメータを含むことができる。前記スライスヘッダ(スライスヘッダシンタックス)は、前記スライスに共通的に適用できる情報/パラメータを含むことができる。前記APS(APSシンタックス)またはPPS(PPSシンタックス)は、1つ以上のスライスまたはピクチャに共通的に適用できる情報/パラメータを含むことができる。前記SPS(SPSシンタックス)は、1つ以上のシーケンスに共通的に適用できる情報/パラメータを含むことができる。前記VPS(VPSシンタックス)は、多重レイヤに共通的に適用できる情報/パラメータを含むことができる。前記DPS(DPSシンタックス)は、ビデオ全般に共通的に適用できる情報/パラメータを含むことができる。前記DPSは、CVS(coded video sequence)のコンカチネーション(concatenation)に関連した情報/パラメータを含むことができる。本文書において上位レベルシンタックス(High level syntax、HLS)とは、前記APSシンタックス、PPSシンタックス、SPSシンタックス、VPSシンタックス、DPSシンタックス、a picture header syntax、スライスヘッダシンタックスのうち、少なくとも1つを含むことができる。
【0082】
本文書においてエンコード装置からデコード装置にエンコードされてビットストリーム形態でシグナリングされる画像/ビデオ情報は、ピクチャ内のパーティショニング関連情報、イントラ/インター予測情報、レジデュアル情報、インループフィルタリング情報などを含むだけでなく、前記スライスヘッダに含まれた情報、前記Picture headerに含まれた情報、前記APSに含まれた情報、前記PPSに含まれた情報、SPSに含まれた情報、VPSに含まれた情報、及び/又はDPSに含まれた情報を含むことができる。また、前記画像/ビデオ情報は、NAL unit headerの情報をさらに含むことができる。
【0083】
一方、上述した内容のように、エンコード装置/デコード装置は、主観的/客観的画質を向上させるために、復元ピクチャに対してインループフィルタリング手順を行うことができる。インループフィルタリング手順を介して修正された復元ピクチャが生成され得るし、修正された復元ピクチャは、デコード装置で復号化ピクチャとして出力されることができ、また、エンコード装置/デコード装置の復号化ピクチャバッファまたはメモリに格納されることができる。また、後に修正された復元ピクチャは、符号化/復号化するとき、インター予測手順で参照ピクチャとして使用されることができる。インループフィルタリング手順は、上述したように、デブロッキングフィルタリング手順、サンプル適応オフセット(SAO)手順、及び/又は適応的ループフィルタ(ALF)手順を含むことができる。この場合、デブロッキングフィルタリング手順、サンプル適応オフセット(SAO)手順、及び適応的ループフィルタ(ALF)手順のうち1つまたは一部が順次適用されるか、全てが順次適用されることができる。例えば、復元されたピクチャにデブロッキングフィルタリング手順が適用された後、SAO手順が行われ得る。または、例えば、復元されたピクチャにデブロッキングフィルタリング手順が適用された後、ALF手順が行われ得る。これは、エンコード装置でも同様に行われることができる。
【0084】
デブロッキングフィルタリング手順は、復元されたピクチャでブロック間の境界で発生した歪みを除去する手順である。デブロッキングフィルタリング手順は、例えば、復元されたピクチャでターゲット境界(target boundary)を導出し、ターゲット境界に対する境界強度(boundary strength、bS)を決定し、bSに基づいてターゲット境界に対してデブロッキングフィルタリングを行うことができる。bSは、ターゲット境界に隣接した2つのブロックの予測モード、動きベクトル差、参照ピクチャが同じであるか否か、0でない有効係数が存在するか否かなどに基づいて決定されることができる。
【0085】
SAOは、復元されたピクチャと原本ピクチャとのオフセット差をサンプル単位で補償する方法である。例えば、SAOは、バンドオフセット、エッジオフセットなどのような類型によって適用されることができる。SAOによれば、サンプルは、SAOタイプによって互いに異なるカテゴリーに分類されることができ、カテゴリーによって各サンプルにオフセット値が追加され得る。SAOのためのフィルタリング情報は、SAO適用可否、SAOタイプ情報、SAOオフセット値情報を含むことができる。例えば、デブロッキングフィルタリングが適用された後の復元されたピクチャにSAOが適用され得る。
【0086】
ALF(Adaptive Loop Filter)手順は、フィルタ形状によるフィルタ係数に基づいてサンプル単位で復元されたピクチャをフィルタリングする手順である。エンコード装置は、復元されたピクチャと原本ピクチャとを比較して、ALFを適用するか否か、ALF形状及び/又はALFフィルタリング係数などを決定し、デコード装置にシグナリングすることができる。すなわち、ALFに対するフィルタリング情報は、ALF適用可否、ALFフィルタ形状情報、ALFフィルタリング係数情報などを含むことができる。ALF手順は、デブロッキングフィルタリングが適用された後、復元されたピクチャに適用されることができる。
【0087】
図5は、デブロッキングフィルタリング実行方法の一実施形態を示すフローチャートである。
【0088】
上述したように、エンコード装置/デコード装置は、ブロック単位でピクチャを復元できる。このようなブロック単位の画像復元が行われる場合、復元ピクチャ内のブロック間境界にはブロック歪みが発生しうる。したがって、エンコード装置及びデコード装置は、前記復元ピクチャでブロック間の境界(boundary)に発生するブロック歪みを除去するために、デブロッキングフィルタを用いることができる。
【0089】
したがって、エンコード装置/デコード装置は、復元ピクチャ内のデブロッキングフィルタリングが行われるブロック間境界を導出できる。一方、デブロッキングフィルタリングが行われる境界は、エッジ(edge)と呼ばれることができる。また、前記デブロッキングフィルタリングが行われる境界は、2つのタイプを含むことができ、前記2つのタイプは、垂直境界(vertical boundary)及び水平境界(horizontal boundary)であることができる。前記垂直境界は、垂直エッジ(vertical edge)と呼ばれることができ、前記水平境界は、水平エッジ(horizontal edge)と呼ばれることができる。エンコード装置/デコード装置は、垂直エッジに対するデブロッキングフィルタリングを行うことができ、水平エッジに対するデブロッキングフィルタリングを行うことができる。
【0090】
例えば、エンコード装置/デコード装置は、復元されたピクチャでフィルタリングするターゲット境界(target boundary)を導出できる(S510)。
【0091】
また、エンコード装置/デコード装置は、デブロッキングフィルタリングが行われる境界に対する境界強度(boundary strength、bS)を決定できる(S520)。bSは、バウンダリーフィルタリング強度(boundary filtering strength)と表すこともできる。例えば、ブロックPとブロックQとの間の境界(ブロックエッジ)に対するbS値を求める場合が仮定され得る。この場合、エンコード装置/デコード装置は、前記ブロックPと前記ブロックQとに基づいてブロックPとブロックQとの間の境界(ブロックエッジ)に対するbS値を求めることができる。例えば、bSは、次の表によって決定されることができる。
【0092】
【0093】
【0094】
ここで、pは、デブロッキングフィルタリング対象境界に隣接したブロックPのサンプルを表すことができ、qは、前記デブロッキングフィルタリング対象境界に隣接したブロックQのサンプルを表すことができる。
【0095】
また、例えば、前記p0は、前記デブロッキングフィルタリング対象境界の左側または上側に隣接したブロックのサンプルを表すことができ、前記q0は、前記デブロッキングフィルタリング対象境界の右側または下側に隣接したブロックのサンプルを表すことができる。一例として、前記対象境界の方向が垂直方向である場合(すなわち、前記対象境界が垂直境界である場合)、前記p0は、前記デブロッキングフィルタリング対象境界の左側に隣接したブロックのサンプルを表すことができ、前記q0は、前記デブロッキングフィルタリング対象境界の右側に隣接したブロックのサンプルを表すことができる。または、一例として、前記対象境界の方向が水平方向である場合(すなわち、前記対象境界が水平境界である場合)、前記p0は、前記デブロッキングフィルタリング対象境界の上側に隣接したブロックのサンプルを表すことができ、前記q0は、前記デブロッキングフィルタリング対象境界の下側に隣接したブロックのサンプルを表すことができる。
【0096】
さらに
図5を参照すれば、エンコード装置/デコード装置は、前記bSに基づいてデブロッキングフィルタリングを行うことができる(S530)。例えば、bS値が0であれば、対象境界にフィルタリングが適用されない。一方、前記決定されたbS値に基づいて、ブロック間の境界に適用されるフィルタが決定され得る。前記フィルタは、強いフィルタ(strong filter)及び弱いフィルタ(weak filter)に分けられることができる。エンコード装置/デコード装置は、復元ピクチャ内でブロック歪みが発生する確率が高い位置の境界とブロック歪みが発生する確率が低い位置の境界とに対して互いに異なるフィルタでフィルタリングを行うことにより、符号化効率を上げることができる。
【0097】
図6は、ALF手順の一例を概略的に示すフローチャートである。
図6に開示されたALF手順は、エンコード装置及びデコード装置で行われることができる。本文書においてコーディング装置は、前記エンコード装置及び/又はデコード装置を含むことができる。
【0098】
図6に示すように、コーディング装置は、ALFのためのフィルタを導出する(S610)。前記フィルタは、フィルタ係数を含むことができる。コーディング装置は、ALF適用可否を決定でき、前記ALFを適用することと判断した場合、前記ALFのためのフィルタ係数を含むフィルタを導出できる。ALFのためのフィルタ(係数)またはALFのためのフィルタ(係数)を導出するための情報は、ALFパラメータと呼ばれることができる。ALF適用可否に関する情報(例:ALF利用可能フラグ)及び前記フィルタを導出するためのALFデータがエンコード装置からデコード装置にシグナリングされ得る。ALFデータは、前記ALFのためのフィルタを導出するための情報を含むことができる。また、一例として、ALFの階層的制御のために、ALF利用可能フラグがSPS、ピクチャヘッダ、スライスヘッダ、及び/又はCTBレベルで各々シグナリングされることができる。
【0099】
前記ALFのためのフィルタを導出するために、現在ブロック(または、ALF対象ブロック)の活動性(activity)及び/又は方向性(directivity)が導出され、前記活動性及び/又は前記方向性に基づいて前記フィルタが導出され得る。例えば、ALF手順は、4×4ブロック(ルマ成分基準)単位に適用されることができる。前記現在ブロックまたはALF対象ブロックは、例えば、CUであることができ、または、CU内の4×4ブロックであることができる。具体的に、例えば、前記ALFデータに含まれた情報から導出される第1のフィルタと、予め定義された第2のフィルタとに基づいてALFのためのフィルタが導出され得るし、コーディング装置は、前記活動性及び/又は前記方向性に基づいて前記フィルタのうち1つを選択できる。コーディング装置は、前記選択されたフィルタに含まれたフィルタ係数を前記ALFのために用いることができる。
【0100】
コーディング装置は、前記フィルタに基づいてフィルタリングを行う(S620)。前記フィルタリングに基づいて修正された(modified)復元サンプルが導出され得る。例えば、前記フィルタ内の前記フィルタ係数は、フィルタ形状によって配置または割り当てられることができ、現在ブロック内の復元サンプルに対して前記フィルタリングが行われ得る。ここで、前記現在ブロック内の復元サンプルは、デブロッキングフィルタ手順及びSAO手順が完了した後の復元サンプルであることができる。一例として、1つのフィルタ形状が使用されるか、所定の複数のフィルタ形状の中で1つのフィルタ形状が選択されて使用されることができる。例えば、ルマ成分に対して適用されるフィルタ形状とクロマ成分に対して適用されるフィルタ形状とが異なることができる。例えば、ルマ成分に対して7×7ダイヤモンドフィルタ形状が使用され得るし、クロマ成分に対して5×5ダイヤモンドフィルタ形状が使用され得る。
【0101】
図7は、ALFのためのフィルタ形状の例を示す。(a)のC0~C11及び(b)のC0~C5は、各フィルタ形状内の位置に依存するフィルタ係数であることができる。
【0102】
図7の(a)は、7×7ダイヤモンドフィルタ形状を示し、(b)は、5×5ダイヤモンドフィルタ形状を示す。
図7においてフィルタ形状内のCnは、フィルタ係数を示す。前記Cnでnが同じ場合、これは、同じフィルタ係数が割り当てられ得ることを表す。本文書においてALFのフィルタ形状によってフィルタ係数が割り当てられる位置及び/又は単位は、フィルタタブと呼ばれることができる。このとき、それぞれのフィルタタブには、1つのフィルタ係数が割り当てられ得るし、フィルタタブが配列された形態は、フィルタ形状に該当することができる。フィルタ形状のセンターに位置したフィルタタブは、センターフィルタタブと呼ばれることができる。センターフィルタタブを基準に互いに対応する位置に存在する同じn値の2つのフィルタタブには、同じフィルタ係数が割り当てられ得る。例えば、7×7ダイヤモンドフィルタ形状の場合、25個のフィルタタブを含み、C0~C11のフィルタ係数が中央対称形態で割り当てられるので、13個のフィルタ係数だけで前記25個のフィルタタブにフィルタ係数を割り当てることができる。また、例えば、5×5ダイヤモンドフィルタ形状の場合、13個のフィルタタブを含み、C0~C5のフィルタ係数が中央対称形態で割り当てられるので、7個のフィルタ係数だけで前記13個のフィルタタブにフィルタ係数を割り当てることができる。例えば、シグナリングされるフィルタ係数に関する情報のデータ量を減らすために、7×7ダイヤモンドフィルタ形状に対する13個のフィルタ係数のうち、12個のフィルタ係数は、(明示的に)シグナリングされ、1個のフィルタ係数は、(暗黙的に)導出されることができる。また、例えば、5×5ダイヤモンドフィルタ形状に対する7個のフィルタ係数のうち、6個のフィルタ係数は、(明示的に)シグナリングされ、1個のフィルタ係数は、(暗黙的に)導出されることができる。
【0103】
本文書の一実施形態によれば、前記ALF手順のために使用されるALFパラメータがAPS(adaptation parameter set)を介してシグナリングされることができる。前記ALFパラメータは、前記ALFのためのフィルタ情報またはALFデータから導出されることができる。
【0104】
ALFは、上述したように、ビデオ/画像コーディングで適用されることができるインループフィルタリング技術(technique)のタイプである。ALFは、ウィーナー基盤(Wiener-based)適応的フィルタを使用して行われることができる。これは、原本サンプルとデコードされたサンプル(または、復元サンプル)との間のMSE(mean square error)を最小化するためであることができる。ALFツール(tool)のための上位レベルデザイン(high level design)は、SPS及び/又はスライスヘッダ(または、タイルグループヘッダ)で接近できるシンタックス要素を含む(incorporate)ことができる。
【0105】
一方、ピクチャヘッダは、ピクチャヘッダで適用されるシンタックス要素を含み、前記シンタックス要素は、ピクチャヘッダと関連したピクチャの全てのスライスに適用されることができる。特定シンタックス要素が特定スライスにのみ適用される場合には、特定シンタックス要素は、ピクチャヘッダでないスライスヘッダでシグナリングされなければならない。
【0106】
従来に、ピクチャエンコードまたはデコードのための種々のツール(tool)の活性化(enable)または非活性化(disable)のための制御フラグ及びパラメータのシグナリングは、ピクチャヘッダに存在することができ、また、スライスヘッダでオーバーライド(override)されることができた。このような方式は、ツール制御がピクチャレベルとスライスレベルとで共に行われることができる柔軟性を提供する。しかし、このような方式は、ピクチャヘッダを確認した後、スライスヘッダを確認しなければならないので、デコーダに負担を与えることができる。
【0107】
これにより、本発明の一実施形態は、少なくとも1つのツール(tool)がピクチャレベルまたはスライスレベルで適用されるか否かを表す指示情報を提案する。このとき、前記指示情報は、SPS(Sequence Parameter Set)及びPPS(Picture Parameter Set)のうち、いずれか1つに含まれることができる。すなわち、CLVS内で特定ツールが活性化されるとき、前記特定ツールがピクチャレベルまたはスライスレベルで適用されるか否かを表すための表示(indication)またはフラグは、SPSまたはPPSのようなパラメータセットでシグナリングされることができる。前記表示またはフラグは、1つのツールに対することでありうるが、これに制限されるものではない。例えば、特定ツールでない全てのツールがピクチャレベルまたはスライスレベルで適用されるか否かを表すための表示またはフラグがSPSまたはPPSのようなパラメータセットでシグナリングされ得る。
【0108】
ツールの活性化または非活性化のための制御フラグ及びパラメータは、ピクチャレベルまたはスライスレベルでシグナリングされることができるが、ピクチャレベル及びスライスレベルの両方でシグナリングされ得るものではない。例えば、特定ツールがピクチャレベルで適用されるかを表す指示情報を取得する場合、ツールの活性化または非活性化のための制御フラグ及びパラメータは、ピクチャヘッダのみでシグナリングされることができる。同様に、特定ツールがスライスレベルで適用されるかを表す指示情報を取得する場合、ツールの活性化または非活性化のための制御フラグ及びパラメータは、スライスヘッダのみでシグナリングされることができる。
【0109】
また、例えば、特定パラメータセットにおいてピクチャレベルで適用されることと指定されたツールは、他の同じ類型のパラメータセットにおいてスライスレベルで適用されることと指定されることができる。
【0110】
例えば、指示情報を含むPPSシンタックスは、次の表のとおりでありうる。
【0111】
【0112】
前記表2のシンタックスに含まれたシンタックス要素のセマンティクスは、例えば、下記の表3のように表すことができる。
【0113】
【0114】
前記表を参考すれば、指示情報は、参照ピクチャリスト(reference picture list)のシグナリングがピクチャレベルまたはスライスレベルで適用されるか否かを表すフラグを含むことができる。例えば、指示情報は、参照ピクチャリストのシグナリングと関連した情報がピクチャヘッダに存在するか、またはスライスヘッダに存在するかを指定できる。例えば、前記フラグは、rpl_present_in_ph_flagと称されることができる。前記フラグの値が1と同じ場合に基づいて、参照ピクチャリスト(reference picture list)のシグナリングと関連した情報は、ピクチャヘッダに存在し、前記フラグの値が0と同じ場合に基づいて、参照ピクチャリストのシグナリングと関連した情報は、スライスヘッダに存在することができる。
【0115】
また、指示情報は、SAO(Sample Adaptive Offset)手順がピクチャレベルまたはスライスレベルで適用されるか否かを表すフラグを含むことができる。例えば、指示情報は、SAO手順と関連した情報がピクチャヘッダに存在するか、またはスライスヘッダに存在するかを指定できる。例えば、前記フラグは、sao_present_in_ph_flagと称されることができる。前記フラグの値が1と同じ場合に基づいて、SAO手順と関連した情報はピクチャヘッダに存在し、前記フラグの値が0と同じ場合に基づいて、SAO手順と関連した情報はスライスヘッダに存在することができる。
【0116】
また、指示情報は、ALF(Adaptive Loop Filter)手順がピクチャレベルまたはスライスレベルで適用されるか否かを表すフラグを含むことができる。例えば、指示情報は、ALF手順と関連した情報がピクチャヘッダに存在するか、またはスライスヘッダに存在するかを指定できる。例えば、前記フラグは、alf_present_in_ph_flagと称されることができる。前記フラグの値が1と同じ場合に基づいて、ALF手順と関連した情報はピクチャヘッダに存在し、前記フラグの値が0と同じ場合に基づいて、ALF手順と関連した情報はスライスヘッダに存在することができる。
【0117】
また、指示情報は、デブロッキング(deblocking)手順がピクチャレベルまたはスライスレベルで適用されるか否かを表す少なくとも1つのフラグを含むことができる。例えば、前記少なくとも1つのフラグに基づいて、デブロッキング手順と関連した情報がピクチャヘッダ及びスライスヘッダのうち、いずれか1つに存在することができる。例えば、前記少なくとも1つのフラグは、deblocking_filter_ph_override_enabled_flagまたはdeblocking_filter_sh_override_enabled_flagと称されることができる。例えば、前記少なくとも1つのフラグの値が1と同じ場合に基づいてデブロッキング手順と関連したパラメータがピクチャヘッダに存在するか否かを表すフラグがピクチャヘッダに存在することができ、前記少なくとも1つのフラグの値が0と同じ場合に基づいて、デブロッキング手順と関連したパラメータがピクチャヘッダに存在するか否かを表すフラグがピクチャヘッダに存在しないことができる。
【0118】
または、前記少なくとも1つのフラグの値が1と同じ場合に基づいて、デブロッキング手順と関連したパラメータがスライスヘッダに存在するか否かを表すフラグがスライスヘッダに存在することができ、前記少なくとも1つのフラグの値が0と同じ場合に基づいてデブロッキング手順と関連したパラメータがスライスヘッダに存在するか否かを表すフラグがスライスヘッダに存在しないことができる。このとき、deblocking_filter_ph_override_enabled_flag及びdeblocking_filter_sh_override_enabled_flagの値が共に1と同じではないことができる。
【0119】
一方、ピクチャヘッダ(picture header)シンタックスは、次の表のとおりでありうる。
【0120】
【0121】
【0122】
前記表4のシンタックスに含まれたシンタックス要素のセマンティクスは、例えば、下記の表5のように表すことができる。
【0123】
【0124】
前記表を参考すれば、デブロッキング(deblocking)手順がピクチャレベルで適用されるか否かを表すフラグに該当するdeblocking_filter_ph_override_enabled_flagの値が1である場合に、pic_deblocking_filter_override_present_flagがシグナリングされ得る。pic_deblocking_filter_override_present_flagの値が1である場合、デブロッキング手順と関連したパラメータがピクチャヘッダに存在するか否かを表すフラグに該当するpic_deblocking_filter_override_flagがピクチャヘッダに存在することができる。または、pic_deblocking_filter_override_present_flagの値が0である場合、デブロッキング手順と関連したパラメータがピクチャヘッダに存在するか否かを表すフラグに該当するpic_deblocking_filter_override_flagがピクチャヘッダに存在しないことができる。
【0125】
また、デブロッキング手順と関連したパラメータがピクチャヘッダに存在するか否かを表すフラグに該当するpic_deblocking_filter_override_flagの値が1と同じ場合、デブロッキングパラメータがピクチャヘッダに存在することができる。pic_deblocking_filter_override_flagの値が0と同じ場合には、デブロッキングパラメータがピクチャヘッダに存在しないことができる
【0126】
また、pic_deblocking_filter_disabled_flagの値が1と同じ場合、ピクチャヘッダと連関したスライスに対してデブロッキングフィルタが適用されないことができる。pic_deblocking_filter_disabled_flagの値が0と同じ場合には、ピクチャヘッダと連関したスライスに対してデブロッキングフィルタが適用されることができる。
【0127】
また、pic_beta_offset_div2及びpic_tc_offset_div2は、ピクチャヘッダと連関したスライスに対してβ及びtC(2に割った値)に対するデブロッキングパラメータオフセットを指定できる。pic_beta_offset_div2及びpic_tc_offset_div2の値は、共に-6から6までの範囲内にある。
【0128】
一方、スライスヘッダ(slice header)シンタックスは、次の表のとおりでありうる。
【0129】
【0130】
【0131】
前記表6のシンタックスに含まれたシンタックス要素のセマンティクスは、例えば、下記の表7のように表すことができる。
【0132】
【0133】
前記表を参考すれば、デブロッキング(deblocking)手順がスライスレベルで適用されるか否かを表すフラグに該当するdeblocking_filter_sh_override_enabled_flagの値が1である場合に、slice_deblocking_filter_override_present_flagがシグナリングされ得る。slice_deblocking_filter_override_present_flagの値が1である場合、デブロッキング手順と関連したパラメータがスライスヘッダに存在するか否かを表すフラグに該当するslice_deblocking_filter_override_flagがスライスヘッダに存在することができる。または、slice_deblocking_filter_override_present_flagの値が0である場合、デブロッキング手順と関連したパラメータがスライスヘッダに存在するか否かを表すフラグに該当するslice_deblocking_filter_override_flagがピクチャヘッダに存在しないことができる。
【0134】
また、デブロッキング手順と関連したパラメータがスライスヘッダに存在するか否かを表すフラグに該当するslice_deblocking_filter_override_flagの値が1と同じ場合、デブロッキングパラメータがスライスヘッダに存在することができる。slice_deblocking_filter_override_flagの値が0と同じ場合には、デブロッキングパラメータがスライスヘッダに存在しないことができる。
【0135】
また、slice_deblocking_filter_disabled_flagの値が1と同じ場合、スライスヘッダと連関したスライスに対してデブロッキングフィルタが適用されないことができる。slice_deblocking_filter_disabled_flagの値が0と同じ場合には、スライスヘッダと連関したスライスに対してデブロッキングフィルタが適用されることができる。
【0136】
また、slice_beta_offset_div2及びslice_tc_offset_div2は、スライスに対してβ及びtC(2に割った値)に対するデブロッキングパラメータオフセットを指定できる。slice_beta_offset_div2及びslice_tc_offset_div2の値は、共に-6から6までの範囲内にある。
【0137】
図8は、一実施形態に係るエンコード装置の動作を示すフローチャートであり、
図9は、一実施形態に係るエンコード装置の構成を示すブロック図である。
【0138】
図8において開示された方法は、
図2または
図9において開示されたエンコード装置によって行われることができる。
図8のS810及びS820は、
図2に開示された画像予測部220、レジデュアル処理部230、またはフィルタリング部260によって行われることができ、S830は、
図2に開示されたエントロピーエンコード部240によって行われることができる。さらに、S810~S830による動作は、
図1~
図7において前述された内容のうち一部に基づいたものである。したがって、
図1~
図7において前述された内容と重複する具体的な内容は、説明を省略するか、簡単にする。
【0139】
図8に示すように、一実施形態に係るエンコード装置は、現在ブロックに適用される少なくとも1つのツール(tool)がピクチャレベルまたはスライスレベルで適用されるか否かを表す指示情報を生成できる(S810)。
【0140】
例えば、エンコード装置の画像予測部220は、参照ピクチャリスト(reference picture list)のシグナリングがピクチャレベルまたはスライスレベルで適用されるか否かを表すフラグを含む指示情報を生成できる。例えば、前記フラグの値が1と同じ場合に基づいて、前記参照ピクチャリスト(reference picture list)のシグナリングと関連した情報はピクチャヘッダに存在し、前記フラグの値が0と同じ場合に基づいて、前記参照ピクチャリストのシグナリングと関連した情報はスライスヘッダに存在することができる。
【0141】
例えば、エンコード装置のフィルタリング部260は、SAO(Sample Adaptive Offset)手順がピクチャレベルまたはスライスレベルで適用されるか否かを表すフラグを含む指示情報を生成できる。例えば、前記フラグの値が1と同じ場合に基づいて、前記SAO手順と関連した情報はピクチャヘッダに存在し、前記フラグの値が0と同じ場合に基づいて、SAO手順と関連した情報はスライスヘッダに存在することができる。
【0142】
例えば、エンコード装置のフィルタリング部260は、ALF(Adaptive Loop Filter)手順がピクチャレベルまたはスライスレベルで適用されるか否かを表すフラグを含む指示情報を生成できる。例えば、前記フラグの値が1と同じ場合に基づいて、前記ALF手順と関連した情報はピクチャヘッダに存在し、前記フラグの値が0と同じ場合に基づいて、ALF手順と関連した情報はスライスヘッダに存在することができる。
【0143】
または、例えば、エンコード装置のフィルタリング部260は、デブロッキング(deblocking)手順がピクチャレベルまたはスライスレベルで適用されるか否かを表す少なくとも1つのフラグを含む指示情報を生成できる。前記少なくとも1つのフラグに基づいて、前記デブロッキング手順と関連した情報がピクチャヘッダ及びスライスヘッダのうち、いずれか1つに存在することができる。例えば、前記少なくとも1つのフラグの値が1と同じ場合に基づいて、前記デブロッキング手順と関連したパラメータがピクチャヘッダに存在するか否かを表すフラグがピクチャヘッダに存在し、前記少なくとも1つのフラグの値が0と同じ場合に基づいて、前記デブロッキング手順と関連したパラメータがピクチャヘッダに存在するか否かを表すフラグがピクチャヘッダに存在しないことができる。
【0144】
一実施形態に係るエンコード装置は、少なくとも1つのツールと関連した情報を生成できる(S820)。例えば、エンコード装置の画像予測部220は、参照ピクチャリスト(reference picture list)のシグナリングと関連した情報を生成できる。または、例えば、エンコード装置のフィルタリング部260は、SAO手順と関連した情報、ALF手順と関連した情報、及びデブロッキング手順と関連した情報のうち、少なくとも1つを生成できる。
【0145】
一実施形態に係るエンコード装置は、指示情報及び少なくとも1つのツールと関連した情報を含む画像情報をエンコードできる(S830)。また、前記画像情報は、前記現在ブロックに対する予測情報を含むことができる。前記予測情報は、前記現在ブロックに行われるインター予測モードまたはイントラ予測モードに関する情報を含むことができる。また、前記画像情報は、エンコード装置のレジデュアル処理部230で原本サンプルから生成されたレジデュアル情報を含むことができる。
【0146】
一方、画像情報がエンコードされたビットストリームは、ネットワークまたは(デジタル)格納媒体を介してデコード装置に送信されることができる。ここで、ネットワークは、放送網及び/又は通信網などを含むことができ、デジタル格納媒体は、USB、SD、CD、DVD、ブルーレイ、HDD、SSDなど、様々な格納媒体を含むことができる。
【0147】
図10は、一実施形態に係るデコード装置の動作を示すフローチャートであり、
図11は、一実施形態に係るデコード装置の構成を示すブロック図である。
【0148】
図10において開示された方法は、
図3または
図11において開示されたデコード装置によって行われることができる。具体的に、S1010~S1030は、
図3に開示されたエントロピーデコード部310によって行われることができる。また、S1040は、
図3に開示された予測部330、レジデュアル処理部320、フィルタリング部350、または加算部340によって行われることができる。さらに、S1010及びS1040による動作は、
図1~
図7において前述された内容のうち一部に基づいたものである。したがって、
図1~
図7において前述された内容と重複する具体的な内容は説明を省略するか、簡単にする。
【0149】
一実施形態に係るデコード装置は、現在ブロックに対する少なくとも1つのツール(tool)がピクチャレベルまたはスライスレベルで適用されるか否かを表す指示情報を取得できる(S1010)。例えば、前記指示情報は、参照ピクチャリスト(reference picture list)のシグナリングがピクチャレベルまたはスライスレベルで適用されるか否かを表すフラグを含むことができる。例えば、前記指示情報は、SAO(Sample Adaptive Offset)手順がピクチャレベルまたはスライスレベルで適用されるか否かを表すフラグを含むことができる。例えば、前記指示情報は、ALF(Adaptive Loop Filter)手順がピクチャレベルまたはスライスレベルで適用されるか否かを表すフラグを含むことができる。または、例えば、前記指示情報は、デブロッキング(deblocking)手順がピクチャレベルまたはスライスレベルで適用されるか否かを表す少なくとも1つのフラグを含むことができる。
【0150】
一実施形態に係るデコード装置は、指示情報に基づいて少なくとも1つのツールと関連した情報がピクチャヘッダ(picture header)及びスライスヘッダ(slice header)のうち、いずれのヘッダに存在するかを判断できる(S1020)。
【0151】
例えば、参照ピクチャリストのシグナリングがピクチャレベルまたはスライスレベルで適用されるか否かを表すフラグの値が1と同じ場合に基づいて前記参照ピクチャリストのシグナリングと関連した情報はピクチャヘッダに存在し、前記フラグの値が0と同じ場合に基づいて前記参照ピクチャリストのシグナリングと関連した情報はスライスヘッダに存在すると判断することができる。
【0152】
例えば、SAO手順がピクチャレベルまたはスライスレベルで適用されるか否かを表すフラグの値が1と同じ場合に基づいて、前記SAO手順と関連した情報はピクチャヘッダに存在し、前記フラグの値が0と同じ場合に基づいて、SAO手順と関連した情報はスライスヘッダに存在すると判断することができる。
【0153】
例えば、ALF手順がピクチャレベルまたはスライスレベルで適用されるか否かを表すフラグの値が1と同じ場合に基づいて、前記ALF手順と関連した情報はピクチャヘッダに存在し、前記フラグの値が0と同じ場合に基づいて、ALF手順と関連した情報はスライスヘッダに存在すると判断することができる。
【0154】
または、例えば、デブロッキング手順がピクチャレベルまたはスライスレベルで適用されるか否かを表す少なくとも1つのフラグに基づいて前記デブロッキング手順と関連した情報がピクチャヘッダ及びスライスヘッダのうち、いずれか1つに存在することができる。例えば、前記少なくとも1つのフラグの値が1と同じ場合に基づいて、前記デブロッキング手順と関連したパラメータがピクチャヘッダに存在するか否かを表すフラグがピクチャヘッダに存在し、前記少なくとも1つのフラグの値が0と同じ場合に基づいて、前記デブロッキング手順と関連したパラメータがピクチャヘッダに存在するか否かを表すフラグがピクチャヘッダに存在しないと判断することができる。または、例えば、前記少なくとも1つのフラグの値が1と同じ場合に基づいて、前記デブロッキング手順と関連したパラメータがスライスヘッダに存在するか否かを表すフラグがスライスヘッダに存在し、前記少なくとも1つのフラグの値が0と同じ場合に基づいて、前記デブロッキング手順と関連したパラメータがスライスヘッダに存在するか否かを表すフラグがスライスヘッダに存在しないと判断することができる。
【0155】
一実施形態に係るデコード装置は、判断結果に基づいてピクチャヘッダ(picture header)またはスライスヘッダ(slice header)から少なくとも1つのツールと関連した情報をパーシングできる(S1030)。
【0156】
一実施形態に係るデコード装置は、少なくとも1つのツールと関連した情報に基づいて現在ブロックに対するデコードを行うことができる(S1040)。例えば、デコード装置の予測部330は、ピクチャヘッダ及びスライスヘッダのうち、いずれか1つを受信してパーシングした参照ピクチャリストのシグナリングと関連した情報に基づいて、現在ブロックに対する予測を行うことができる。例えば、デコード装置のフィルタリング部350は、ピクチャヘッダ及びスライスヘッダのうち、いずれか1つを受信してパーシングしたSAO手順と関連した情報に基づいて、復元サンプルに対するSAO手順を行うことができる。例えば、デコード装置のフィルタリング部350は、ピクチャヘッダ及びスライスヘッダのうち、いずれか1つを受信してパーシングしたALF手順と関連した情報に基づいて、復元サンプルに対するALF手順を行うことができる。または、例えば、デコード装置のフィルタリング部350は、ピクチャヘッダ及びスライスヘッダのうち、いずれか1つを受信してパーシングしたデブロッキング手順と関連した情報に基づいて、復元サンプルに対するデブロッキング手順を行うことができる。
【0157】
前述した実施形態において、方法は、一連のステップまたはブロックで流れ図に基づいて説明されているが、該当実施形態は、ステップの順序に限定されるものではなく、あるステップは、前述と異なるステップと、異なる順序にまたは同時に発生できる。また、当業者であれば、流れ図に示すステップが排他的でなく、他のステップが含まれ、または、流れ図の1つまたはそれ以上のステップが本文書の実施形態の範囲に影響を及ぼさずに削除可能であることを理解することができる。
【0158】
前述した本文書の実施形態による方法は、ソフトウェア形態で実現されることができ、本文書によるエンコード装置及び/またはデコード装置は、例えば、TV、コンピュータ、スマートフォン、セットトップボックス、ディスプレイ装置などの画像処理を実行する装置に含まれることができる。
【0159】
本文書において、実施形態がソフトウェアで実現される時、前述した方法は、前述した機能を遂行するモジュール(過程、機能など)で実現されることができる。モジュールは、メモリに格納され、プロセッサにより実行されることができる。メモリは、プロセッサの内部または外部にあり、よく知られた多様な手段でプロセッサと連結されることができる。プロセッサは、ASIC(application-specific integrated circuit)、他のチップセット、論理回路及び/またはデータ処理装置を含むことができる。メモリは、ROM(read-only memory)、RAM(random access memory)、フラッシュメモリ、メモリカード、格納媒体及び/または他の格納装置を含むことができる。即ち、本文書で説明した実施形態は、プロセッサ、マイクロプロセッサ、コントローラまたはチップ上で実現されて実行されることができる。例えば、各図面で示す機能ユニットは、コンピュータ、プロセッサ、マイクロプロセッサ、コントローラまたはチップ上で実現されて実行されることができる。この場合、実現のための情報(例えば、information on instructions)またはアルゴリズムがデジタル格納媒体に格納されることができる。
【0160】
また、本文書の実施形態が適用されるデコード装置及びエンコード装置は、マルチメディア放送送受信装置、モバイル通信端末、ホームシネマビデオ装置、デジタルシネマビデオ装置、監視用カメラ、ビデオ対話装置、ビデオ通信のようなリアルタイム通信装置、モバイルストリーミング装置、格納媒体、カムコーダ、注文型ビデオ(VoD)サービス提供装置、OTTビデオ(Over the top video)装置、インターネットストリーミングサービス提供装置、3次元(3D)ビデオ装置、VR(virtual reality)装置、AR(argumente reality)装置、画像電話ビデオ装置、運送手段端末(例えば、車両(自律走行車両を含む)端末、飛行機端末、船舶端末等)、及び医療用ビデオ装置などに含まれることができ、ビデオ信号またはデータ信号を処理するために使われることができる。例えば、OTTビデオ(Over the top video)装置として、ゲームコンソール、ブルーレイプレーヤ、インターネット接続TV、ホームシアターシステム、スマートフォン、タブレットPC、DVR(Digital Video Recorder)などを含むことができる。
【0161】
また、本文書の実施形態が適用される処理方法は、コンピュータで実行されるプログラムの形態で生産されることができ、コンピュータが読み取り可能な記録媒体に格納されることができる。また、本文書の実施形態によるデータ構造を有するマルチメディアデータもコンピュータが読み取り可能な記録媒体に格納されることができる。前記コンピュータが読み取り可能な記録媒体は、コンピュータで読みだすことができるデータが格納される全ての種類の格納装置及び分散格納装置を含む。前記コンピュータが読み取り可能な記録媒体は、例えば、ブルーレイディスク(BD)、汎用直列バス(USB)、ROM、PROM、EPROM、EEPROM、RAM、CD-ROM、磁気テープ、フロッピーディスク、及び光学的データ格納装置を含むことができる。また、前記コンピュータが読み取り可能な記録媒体は、搬送波(例えば、インターネットを介した送信)の形態で実現されたメディアを含む。また、エンコード方法で生成されたビットストリームがコンピュータが読み取り可能な記録媒体に格納され、または、有無線通信ネットワークを介して送信されることができる。
【0162】
また、本文書の実施形態は、プログラムコードによるコンピュータプログラム製品で実現されることができ、前記プログラムコードは、本文書の実施形態によりコンピュータで実行されることができる。前記プログラムコードは、コンピュータにより読み取り可能なキャリア上に格納されることができる。
【0163】
図12は、本文書の開示が適用され得るコンテンツストリーミングシステムの例を示す。
【0164】
図12に示すように、本開示が適用されるコンテンツストリーミングシステムは、大別してエンコードサーバ、ストリーミングサーバ、ウェブサーバ、メディア格納所、ユーザ装置、及びマルチメディア入力装置を含むことができる。
【0165】
前記エンコードサーバは、スマートフォン、カメラ、カムコーダなどのようなマルチメディア入力装置から入力されたコンテンツをデジタルデータで圧縮してビットストリームを生成し、これを前記ストリーミングサーバに送信する役割をする。他の例として、スマートフォン、カメラ、カムコーダなどのようなマルチメディア入力装置がビットストリームを直接生成する場合、前記エンコードサーバは省略されることができる。
【0166】
前記ビットストリームは、本文書の実施形態に適用されるエンコード方法またはビットストリーム生成方法により生成されることができ、前記ストリーミングサーバは、前記ビットストリームを送信または受信する過程で一時的に前記ビットストリームを格納することができる。
【0167】
前記ストリーミングサーバは、ウェブサーバを介したユーザ要請に基づいてマルチメディアデータをユーザ装置に送信し、前記ウェブサーバは、ユーザにどのようなサービスがあるかを知らせる媒介体役割をする。ユーザが前記ウェブサーバに所望のサービスを要請すると、前記ウェブサーバは、これをストリーミングサーバに伝達し、前記ストリーミングサーバは、ユーザにマルチメディアデータを送信する。このとき、前記コンテンツストリーミングシステムは、別途の制御サーバを含むことができ、この場合、前記制御サーバは、前記コンテンツストリーミングシステム内の各装置間の命令/応答を制御する役割をする。
【0168】
前記ストリーミングサーバは、メディア格納所及び/またはエンコードサーバからコンテンツを受信することができる。例えば、前記エンコードサーバからコンテンツを受信するようになる場合、前記コンテンツをリアルタイムで受信することができる。この場合、円滑なストリーミングサービスを提供するために、前記ストリーミングサーバは、前記ビットストリームを一定時間の間格納することができる。
【0169】
前記ユーザ装置の例として、携帯電話、スマートフォン(smart phone)、ノートブックコンピュータ(laptop computer)、デジタル放送用端末、PDA(personal digital assistants)、PMP(portable multimedia player)、ナビゲーション、スレートPC(slate PC)、タブレットPC(tablet PC)、ウルトラブック(ultrabook)、ウェアラブルデバイス(wearable device、例えば、ウォッチ型端末(smartwatch)、グラス型端末(smart glass)、HMD(head mounted display)、デジタルTV、デスクトップコンピュータ、デジタルサイニジがある。
【0170】
前記コンテンツストリーミングシステム内の各サーバは、分散サーバとして運営されることができ、この場合、各サーバで受信するデータは、分散処理されることができる。
【0171】
本明細書に記載された請求項は、多様な方式で組み合わせることができる。例えば、本明細書の方法請求項の技術的特徴が組み合わせて装置で実現されることができ、本明細書の装置請求項の技術的特徴が組み合わせて方法で実現されることができる。また、本明細書の方法請求項の技術的特徴と装置請求項の技術的特徴が組み合わせて装置で実現されることができ、本明細書の方法請求項の技術的特徴と装置請求項の技術的特徴が組み合わせて方法で実現されることができる。