IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ インターデジタル ヴイシー ホールディングス, インコーポレイテッドの特許一覧

特許7572858ビデオ符号化および復号化におけるクロマ量子化パラメータ調整
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-10-16
(45)【発行日】2024-10-24
(54)【発明の名称】ビデオ符号化および復号化におけるクロマ量子化パラメータ調整
(51)【国際特許分類】
   H04N 19/126 20140101AFI20241017BHJP
   H04N 19/159 20140101ALI20241017BHJP
   H04N 19/176 20140101ALI20241017BHJP
   H04N 19/186 20140101ALI20241017BHJP
   H04N 19/46 20140101ALI20241017BHJP
【FI】
H04N19/126
H04N19/159
H04N19/176
H04N19/186
H04N19/46
【請求項の数】 6
(21)【出願番号】P 2020549756
(86)(22)【出願日】2019-03-27
(65)【公表番号】
(43)【公表日】2021-08-02
(86)【国際出願番号】 US2019024262
(87)【国際公開番号】W WO2019191218
(87)【国際公開日】2019-10-03
【審査請求日】2022-03-17
(31)【優先権主張番号】18305386.7
(32)【優先日】2018-03-30
(33)【優先権主張国・地域又は機関】EP
(31)【優先権主張番号】18305412.1
(32)【優先日】2018-04-06
(33)【優先権主張国・地域又は機関】EP
(31)【優先権主張番号】18305848.6
(32)【優先日】2018-07-02
(33)【優先権主張国・地域又は機関】EP
【前置審査】
(73)【特許権者】
【識別番号】518338149
【氏名又は名称】インターデジタル ヴイシー ホールディングス, インコーポレイテッド
(74)【代理人】
【識別番号】100079108
【弁理士】
【氏名又は名称】稲葉 良幸
(74)【代理人】
【識別番号】100109346
【弁理士】
【氏名又は名称】大貫 敏史
(74)【代理人】
【識別番号】100117189
【弁理士】
【氏名又は名称】江口 昭彦
(74)【代理人】
【識別番号】100134120
【弁理士】
【氏名又は名称】内藤 和彦
(74)【代理人】
【識別番号】100108213
【弁理士】
【氏名又は名称】阿部 豊隆
(72)【発明者】
【氏名】ルリアネック,ファブリス
(72)【発明者】
【氏名】ギャルピン,フランク
(72)【発明者】
【氏名】ポワリエ,タンギ
(72)【発明者】
【氏名】フランソワ,エドワール
【審査官】鉢呂 健
(56)【参考文献】
【文献】特開2010-187302(JP,A)
【文献】特表2017-520991(JP,A)
【文献】特開2017-216687(JP,A)
【文献】米国特許出願公開第2013/0329785(US,A1)
【文献】FRANCOIS, Edouard et al.,AHG5: on chroma QP for HEVC RExt,Joint Collaborative Team on Video Coding (JCT-VC) of ITU-T SG 16 WP 3 and ISO/IEC JTC 1/SC 29/WG 11 14th Meeting: Vienna, AT, 25 July - 2 Aug. 2013, [JCTVC-N0141],JCTVC-N0141 (version 2),ITU-T,2013年07月27日,<URL:http://phenix.it-sudparis.eu/jct/doc_end_user/documents/14_Vienna/wg11/JCTVC-N0141-v2.zip>: JCTVC-N0141_ChromaQPforRExt.doc.doc: pp.1-12
(58)【調査した分野】(Int.Cl.,DB名)
H04N 19/00-19/98
(57)【特許請求の範囲】
【請求項1】
方法であって、
画像のブロックに対して、クロマ量子化パラメータテーブルの複数のセットの中から選択されたクロマ量子化パラメータテーブルから少なくとも1つのクロマ量子化パラメータを選択することであって、前記クロマ量子化パラメータテーブルは、コード化効率を示す符号化性能レベルに基づいて選択され、クロマ量子化パラメータのセットが、前記画像が運動予測されるか否かに応じて異なる、ことと、
少なくとも1つの選択されたクロマ量子化パラメータに基づき、前記ブロックを符号化することであって、前記符号化することが、前記少なくとも1つの選択されたクロマ量子化パラメータに従って、前記ブロックのクロマ値を量子化することを含む、符号化することと、
少なくとも前記符号化されたブロックと、前記符号化性能レベルを表すメタデータと、を含む、ビットストリームを生成することと、
を含み、
前記クロマ量子化パラメータテーブルの複数のセットは、前記方法を実行するデバイス上に格納される、方法。
【請求項2】
前記符号化性能レベルが、コード化ツリー構成またはコード化モードもしくはパーティショニングモードに基づいて選択される、請求項1に記載の方法。
【請求項3】
デバイスであって、
クロマ量子化パラメータテーブルの複数のセットを格納する手段と、
画像のブロックに対して、クロマ量子化パラメータテーブルの複数のセットの中から選択されたクロマ量子化パラメータテーブルから少なくとも1つのクロマ量子化パラメータを選択する手段であって、前記クロマ量子化パラメータテーブルは、コード化効率を示す符号化性能レベルに基づいて選択され、クロマ量子化パラメータのセットが、前記画像が運動予測されるか否かに応じて異なる、手段と、
少なくとも1つの選択されたクロマ量子化パラメータに基づき、前記ブロックを符号化するための手段であって、前記符号化することが、前記少なくとも1つの選択されたクロマ量子化パラメータに従って、前記ブロックのクロマ値を量子化することを含む、符号化するための手段と、
少なくとも前記符号化されたブロックと、前記符号化性能レベルを表すメタデータと、を含む、ビットストリームを生成する手段と、
を備える、デバイス。
【請求項4】
前記符号化性能レベルが、コード化ツリー構成またはコード化モードもしくはパーティショニングモードに基づいて選択される、請求項に記載のデバイス。
【請求項5】
請求項1~2の少なくとも1つに記載の方法のステップを実施するためのプロセッサによって実行可能なプログラムコード命令を含む、コンピュータプログラム。
【請求項6】
非一時的コンピュータ可読媒体に格納され、請求項1~2の少なくとも1つに記載の方法のステップを実施するためのプロセッサによって実行可能なプログラムコード命令を含む、コンピュータプログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本実施形態の少なくとも1つは、概して、ビデオ符号化または復号化に関する。少なくとも1つの実施形態は、より具体的には、ビデオ符号化または復号化におけるクロマ量子化パラメータを調整するための方法、装置、および信号に関する。
【背景技術】
【0002】
高い圧縮効率を達成するために、画像およびビデオのコード化スキームは、通常、予測および変換を採用して、ビデオコンテンツの空間的および時間的冗長性を活用する。一般に、イントラまたはインター予測は、イントラまたはインターフレーム相関を活用するために使用され、次いで、元のブロックと予測されたブロックとの間の差、多くの場合予測誤差または予測残差と称される差が、変換され、量子化され、エントロピーコード化される。ビデオを再構成するために、圧縮データは、エントロピーコード化、量子化、変換、および予測に対応する逆プロセスによって復号化される。
【発明の概要】
【0003】
少なくとも1つの実施形態の第1の態様によれば、ビデオデータを符号化するための方法が提示され、方法は、画像のブロックに対して、符号化性能レベルに基づき、クロマ量子化パラメータの複数のセットの中から少なくとも1つの量子化パラメータを選択することであって、このクロマ量子化パラメータのセットが、その画像が運動予測されるか否かに応じて異なる、選択することと、少なくとも1つの選択されたクロマ量子化パラメータに基づき、前記ブロックを符号化することであって、この符号化することが、少なくとも1つの選択されたクロマ量子化パラメータに従って、前記ブロックのクロマ値を量子化することを含む、符号化することと、少なくとも前記符号化されたブロックと、前記少なくとも1つの選択されたクロマ量子化パラメータを表すメタデータと、を含む、ビットストリームを生成することと、を含む。
【0004】
少なくとも1つの実施形態の第2の態様によれば、ビデオデータを復号化するための方法が提示され、方法は、画像またはビデオのブロックのメタデータにアクセスすることであって、前記メタデータがクロマ量子化パラメータの複数のセットの中からの少なくとも1つのクロマ量子化パラメータの選択を表し、前記選択が、符号化性能レベルに基づく、アクセスすることと、少なくとも1つのクロマ量子化パラメータの前記選択を表す前記メタデータに従って、このブロックのクロマ値を脱量子化することと、を含む。
【0005】
少なくとも1つの実施形態の第3の態様によれば、符号化された画像に対する信号が提示され、信号は、符号化性能レベルに基づき、クロマ量子化パラメータの複数のセットの中から選択された少なくとも1つのクロマ量子化パラメータを表す情報を含み、このクロマ量子化パラメータのセットは、その画像が運動予測されるか否かに応じて異なり、前記選択することが画像の少なくとも1つのブロックに対するものである。
【0006】
少なくとも1つの実施形態の第4の態様によれば、ビデオデータを符号化するためのデバイスが提示され、デバイスは、画像のブロックに対して、符号化性能レベルに基づき、クロマ量子化パラメータの複数のセットの中から少なくとも1つのクロマ量子化パラメータを選択するための手段であって、このクロマ量子化パラメータのセットが、この画像が運動予測されるか否かに応じて異なる、選択するための手段と、少なくとも1つの選択されたクロマ量子化パラメータに基づき、前記ブロックを符号化するための手段であって、この符号化することが、前記少なくとも1つの選択されたクロマ量子化パラメータに従って、前記ブロックのクロマ値を量子化することを含む、符号化するための手段と、少なくとも前記符号化されたブロックと、前記少なくとも1つの選択されたクロマ量子化パラメータを表すメタデータと、を含む、ビットストリームを生成するための手段と、を備える。
【0007】
少なくとも1つの実施形態の第5の態様によれば、ビデオデータを復号化するためのデバイスが提示され、デバイスは、画像またはビデオのブロックのメタデータにアクセスするための手段であって、前記メタデータが、クロマ量子化パラメータの複数のセットの中からの少なくとも1つのクロマ量子化パラメータの選択を表し、前記選択が、符号化性能レベルに基づく、アクセスするための手段と、少なくとも1つのクロマ量子化パラメータの前記選択を表す前記メタデータに従って、このブロックのクロマ値を脱量子化するための手段と、を備える。
【0008】
少なくとも1つの実施形態の第6の態様によれば、ビデオデータを表示するためのデバイスが提示され、デバイスは、1つ以上のプロセッサであって、画像またはビデオのブロックのメタデータにアクセスすることであって、前記メタデータがクロマ量子化パラメータの複数のセットの中からの少なくとも1つのクロマ量子化パラメータの選択を表し、前記選択が、符号化性能レベルに基づく、アクセスすることと、少なくとも1つのクロマ量子化パラメータの前記選択を表す前記メタデータに従って、このブロックのクロマ値を脱量子化することと、この画像の複数のブロックの脱量子化されたクロマ値に基づき、再構成された画像を作り出すことと、を行うように構成された、1つ以上のプロセッサと、この再構成された画像を表示するように構成されたディスプレイと、を備える。
【0009】
少なくとも1つの実施形態の第7の態様によれば、ビデオデータを受信するためのデバイスが提示され、デバイスは、画像またはビデオを含む信号を無線通信経由で受信するように構成されたアンテナと、1つ以上のプロセッサであって、受信された画像またはビデオのブロックのメタデータにアクセスすることであって、前記メタデータが、クロマ量子化パラメータの複数のセットの中からの少なくとも1つのクロマ量子化パラメータの選択を表し、前記選択が、符号化性能レベルに基づく、アクセスすることと、少なくとも1つのクロマ量子化パラメータの前記選択を表す前記メタデータに従って、このブロックのクロマ値を脱量子化することと、この画像の複数のブロックの脱量子化されたクロマ値に基づき、再構成された画像を作り出すことと、を行うように構成された、1つ以上のプロセッサと、この再構成された画像を表示するように構成された出力と、を備える。
【0010】
少なくとも1つの実施形態の別の態様によれば、先行する請求項のいずれかに記載の方法または装置により生成されたデータコンテンツを含む、非一時的コンピュータ可読媒体が提示される。
【0011】
少なくとも1つの実施形態の別の態様によれば、少なくとも第1の態様に記載の方法のステップを実施するためのプロセッサによって実行可能なプログラムコード命令を含む、コンピュータプログラムが提示される。
【0012】
少なくとも1つの実施形態の別の態様によれば、非一時的コンピュータ可読媒体に格納され、少なくとも第1の態様に記載の方法のステップを実施するためのプロセッサによって実行可能なプログラムコード命令を含む、コンピュータプログラムが提示される。
【0013】
第1および第4の態様の変形実施形態によれば、符号化性能レベルが、コード化に関係する情報に従って自動的に選定され、前記情報が、コード化ツリー構成またはコード化モードもしくはパーティショニングモードに関係している。
【図面の簡単な説明】
【0014】
図1】高効率ビデオコード化(HEVC:High Efficiency Video Coding)エンコーダなどのビデオエンコーダ100の例を示す。
図2】HEVCデコーダなどのビデオデコーダ200の例のブロック図を示す。
図3】四分木プラス二分木(QTBT:Quad-Tree plus Binary-Tree)CTU表現の例を示す。
図4】コード化ユニットパーティショニングの拡張セットの例を示す。
図5】QTBT+ABTコード化構造を使用することによるコード化効率の向上を示す。
図6】クロマ量子化適合を実施する一実施形態において、QTBT+ABTコード化構造を使用することによるコード化効率の向上を示す。
図7A】クロマ成分のコード化と復号化に使用されるQPパラメータを決定するためにデコーダ側で使用されるプロセスの例を示す。
図7B】示す
図8】様々な態様および実施形態が実施されるシステムの例のブロック図を示す。
図9A】クロマ量子化適合を実施する一実施形態による符号化方法の一部の例のフローチャートを示す。
図9B】クロマ量子化適合を実施する一実施形態による復号化方法の一部の例のフローチャートを示す。
【発明を実施するための形態】
【0015】
少なくとも1つの実施形態において、コード化効率の改善は、以下に説明されるブロック分割のためのトポロジーの使用から生じる。特に、いくつかの実施形態では、ルマ成分よりもクロマ成分においてより大きな利得が得られる。結果として、1つ以上のクロマ成分からルマ成分へといくつかの利得をシフトさせることにより、得られるコード化利得のバランスをとることが重要である。これは、ある特定のレベルの品質では、クロマ成分の追加のコード化効率の改善による追加の視覚的利益は通常は得られないので、ある特定の実施形態では特に有益である。したがって、少なくとも1つの実施形態では、クロマ成分とルマ成分との間の更なる品質改善をトレードオフするような方法で量子化パラメータを採用することが提案されている。少なくとも1つのそのような実施形態では、クロマ成分およびルマ成分を含むコード化されたビットストリーム全体の全体的なビットレートが低減される。
【0016】
図1は、高効率ビデオコード化(HEVC)エンコーダなどのビデオエンコーダ100の例を示す。また、図1は、JVET(Joint Video Exploration Team)が開発中のJEM(Joint Exploration Model)エンコーダなどの、HEVC規格を改良したエンコーダまたはHEVCに類似した技術を採用したエンコーダを示し得る。
【0017】
本出願では、「再構成された(reconstructed)」および「復号化された(decoded)」という用語は、互換的に使用され得、「符号化された(encoded)」または「コード化された(coded)」という用語は、互換的に使用され得、「画像(image)」、「ピクチャ(picture)」および「フレーム(frame)」という用語は、互換的に使用され得る。必ずしもではないが、通常は、「再構成された」という用語は、エンコーダ側で使用され、一方で「復号化された」は、デコーダ側で使用される。
【0018】
符号化される前に、ビデオシーケンスは、前符号化処理(101)を経ることができる。これは、例えば、入力カラーピクチャに色変換(例えば、RGB4:4:4からYCbCr4:2:0への変換)を適用するか、または、圧縮により強い信号分布を得るために、入力ピクチャ成分の再マッピングを実行(例えば、色成分の1つのヒストグラム等化を使用する)することによって実行される。メタデータは、前処理に関連付けてビットストリームに添付することができる。
【0019】
HEVCでは、1つ以上のピクチャでビデオシーケンスを符号化するために、ピクチャは、各スライスが1つ以上のスライスセグメントを含むことができる1つ以上のスライスに分割される(102)。スライスセグメントは、コード化ユニットと、予測ユニットと、変換ユニットと、に編成される。HEVC仕様は、「ブロック」と「ユニット」とを区別しており、「ブロック」はサンプル配列内の特定の領域(例えば、ルマ、Y)をアドレス指定し、「ユニット」は、全ての符号化された色成分(Y、Cb、Cr、またはモノクロ)、シンタックス要素、およびブロックに関連付けられた予測データ(例えば、動きベクトル)の配列されたブロックを含む。
【0020】
HEVCでのコード化では、ピクチャは構成可能サイズで正方形のコード化ツリーブロック(CTB:Coding Tree Block)に分割され、コード化ツリーブロックの連続したセットはスライスにグループ化される。コード化ツリーユニット(CTU)は、符号化された色成分のCTBを包含する。CTBは、コード化ブロック(CB)への四分木分割のルートであり、コード化ブロックは1つ以上の予測ブロック(PB)に分割することができ、変換ブロック(TB)への四分木分割のルートを形成する。コード化ブロック、予測ブロック、および変換ブロックに対応して、コード化ユニット(CU)は、予測ユニット(PU)と、変換ユニット(TU)のツリー構造セットと、を含み、PUは、すべての色成分についての予測情報を含み、TUは、各色成分の残差のコード化シンタックス構造を含む。ルマ成分のCB、PB、およびTBのサイズは、対応するCU、PU、およびTUに適用される。本出願では、「ブロック(block)」という用語は、例えば、CTU、CU、PU、TU、CB、PB、およびTBのいずれかを指すために使用することができる。加えて、「ブロック」は、H.264/AVCまたは他のビデオコード化規格で指定されているマクロブロックおよびパーティションを指すためにも使用することができ、より一般的には、様々なサイズのデータのアレイを指すために使用することができる。
【0021】
エンコーダ100の例では、ピクチャは、後述するように、エンコーダ要素によって符号化される。符号化するピクチャは、CU単位で処理される。各CUは、イントラモードまたはインターモードのいずれかを使用して符号化される。CUがイントラモードで符号化されるとき、イントラ予測を実行する(160)。インターモードにおいて、動き推定(175)および動き補償(170)が実行される。エンコーダは、イントラモードまたはインターモードのどちらをCUの符号化に使用するかを判断し(105)、予測モードフラグによってイントラ/インター判断を示す。予測残差は、元の画像ブロックから予測されたブロックを減算することにより計算される(110)。
【0022】
イントラモードにおけるCUは、同じスライス内の再構成された隣接するサンプルから予測される。HEVCでは、DC、平面、および33角度予測モードを含む35イントラ予測モードのセットが利用可能である。イントラ予測参照は、現在のブロックに隣接する行および列から再構成される。参照は、以前に再構成されたブロックから利用可能なサンプルを使用して、水平および垂直方向にブロックサイズの2倍に拡張される。角度予測モードがイントラ予測に使用される場合、参照サンプルは、角度予測モードによって示される方向に沿ってコピーされ得る。
【0023】
現在のブロックに対して適用可能なルマイントラ予測モードは、2つの異なるオプションを使用してコード化され得る。適用可能なモードが3つの最確モード(MPM)の構成リストに含まれる場合、モードは、MPMリストのインデックスによって通知される。そうでなければ、モードは、モードインデックスの固定長2値化によって信号通知される。3つの最確モードは、上部および左側の隣接するブロックのイントラ予測モードから導出される。
【0024】
インターCUの場合、対応するコード化ブロックは、さらに1つ以上の予測ブロックに分割される。インター予測はPBレベルで実行され、対応するPUは、どのようにしてインター予測を実行するかに関する情報を包含する。動き情報(例えば、動きベクトルと参照ピクチャインデックス)は、2つの方法、すなわち「マージモード」と「高度動きベクトル予測(AMVP:Advanced Motion Vector Prediction)」で信号通知され得る。
【0025】
マージモードでは、ビデオエンコーダまたはデコーダは既にコード化されたブロックに基づいて候補リストを組み立て、ビデオエンコーダは、候補リスト内の候補の1つに対するインデックスを信号通知する。デコーダ側では、信号通知された候補に基づいて、動きベクトル(MV)および参照ピクチャインデックスが再構成される。
【0026】
AMVPでは、ビデオエンコーダまたはデコーダは、既にコード化されたブロックから判定された動きベクトルに基づいて、候補リストを組み立てる。次いで、ビデオエンコーダは、動きベクトル予測子(MVP)を識別するために候補リスト内のインデックスを信号通知し、動きベクトル差分(MVD)を信号通知する。デコーダ側では、動きベクトル(MV)は、MVP+MVDとして再構成される。また、適用可能な参照ピクチャインデックスは、AMVPのPUシンタックスで明示的にコード化される。
【0027】
次に、後述するクロマ量子化パラメータを適合させるための少なくとも1つの実施形態を含む予測残差は、変換(125)され、かつ量子化(130)される。変換は、一般に、分離可能な変換に基づいている。例えば、DCT変換は、最初に水平方向に適用され、次に垂直方向に適用される。JEMなどの最近のコーデックでは、両方向で使用される変換が異なる場合があり(例えば、一方の方向ではDCT、他方の方向ではDST)、これにより、2D変換の種類が豊富になるが、以前のコーデックでは、与えられたブロックサイズに対する2D変換の種類は、通常、限られている。
【0028】
量子化された変換係数に加えて、動きベクトルおよび他のシンタックス要素は、ビットストリームを出力するためにエントロピーコード化される(145)。また、エンコーダは、変換をスキップし、4x4TUベースで非変換残差信号に直接量子化を適用し得る。また、エンコーダは、変換および量子化の両方をバイパスしてもよく、すなわち、残差は、変換または量子化プロセスを適用せずに直接的にコード化される。直接PCMコード化では、予測は適用されず、コード化ユニットサンプルはビットストリームに直接コード化される。
【0029】
エンコーダは、符号化されたブロックを復号化して、さらに予測するための参照を提供する。量子化された変換係数は脱量子化され(140)、逆変換され(150)、予測残差を復号化する。復号化された予測残差と予測されたブロックとを組み合わせて(155)、画像ブロックが再構成される。ループ内フィルタ(165)は、再構成されたピクチャに適用され、例えば、デブロッキング/SAO(サンプル適合オフセット)フィルタリングを実行し、符号化アーティファクトを低減する。フィルタリングされた画像は、参照ピクチャバッファ(180)に保存される。
【0030】
図2は、HEVCデコーダなどのビデオデコーダ200の例のブロック図を示す。デコーダ200の例では、ビットストリームは、後述するデコーダ要素によって復号化される。ビデオデコーダ200は、一般に、図1で説明されたような符号化パスの逆の復号化パスを実行し、これは、ビデオデータの符号化の一部として、ビデオ復号化を実行する。また、図2は、HEVC規格を改良したデコーダ、またはJEMデコーダなどのHEVCに類似した技術を採用したデコーダを示し得る。
【0031】
特に、デコーダの入力は、ビデオエンコーダ100によって生成され得るビデオビットストリームを含む。ビットストリームは、まずエントロピー復号化され(230)、変換係数、動きベクトル、ピクチャパーティショニング情報、および他のコード化された情報が得られる。ピクチャパーティショニング情報は、CTUのサイズ、および、CTUがCUに分割される方法、適用可能な場合はPUにできる限り分割される方法を示す。したがって、デコーダは、復号化されたピクチャパーティショニング情報に従って、画像をCTUに分割(235)し、各CTUをCUに分割し得る。変換係数が、後述するクロマ量子化パラメータを適合させるための少なくとも1つの実施形態を含んで脱量子化され(240)、予測残差を復号化するために逆変換される(250)。
【0032】
復号化された予測残差と予測されたブロックとを組み合わせて(255)、画像ブロックが再構成される。予測ブロックは、イントラ予測(260)または動き補償予測(すなわち、インター予測)(275)から得られてもよい(270)。上記のように、AMVPおよびマージモード技法を使用して、動き補償のための動きベクトルを導出し得、これは、補間フィルタを使用して、参照ブロックのサブ整数サンプルの補間値を計算し得る。ループ内フィルタ(265)は、再構成された画像に適用される。フィルタリングされた画像は、参照ピクチャバッファ(280)に保存される。
【0033】
復号化されたピクチャは、さらに、後復号化処理(285)、例えば、逆色変換(例えば、YCbCr 4:2:0からRGB 4:4:4への変換)、または、前符号化処理(101)で実行された再マッピング処理の逆を実行する逆再マッピングを経ることができる。後復号化処理は、前符号化処理で導出され、ビットストリームで信号通知された、メタデータを使用し得る。
【0034】
新たに登場したビデオ圧縮ツールには、圧縮領域におけるコード化ツリーユニット表現が含まれており、より柔軟な方法でピクチャデータを表現することが提案されている。このコード化ツリーのより柔軟な表現の利点は、HEVC規格のCU/PU/TU配置と比較して圧縮効率が向上することである。
【0035】
図3は、四分木プラス二分木(QTBT)CTU表現の例を示す。四分木プラス二分木(QTBT)コード化ツールは、そのような柔軟性の向上を提供する。QTBTは、コード化ユニットを四分木方式と二分木方式の両方に分割できるコード化ツリーで構成されている。コード化ユニットの分割は、レート歪み最適化手順を介してエンコーダ側で決定され、レート歪みコストが最小となるCTUのQTBT表現が決定される。QTBT技術では、CUは正方形または長方形のどちらかの形状を有する。コード化ユニットのサイズは常に2の累乗であり、通常は4~128である。コード化ユニットのこの様々な長方形の形状に加えて、そのようなCTU表現には、HEVCと比較して次のような異なる特性を有する。CTUのQTBT分解は2つの段階から構成され、最初にCTUは四分木方式で分割され、その後、各四分木の葉は二分木方式でさらに分割することができる。これは図の右側に示されており、実線は四分木分解の段階を表し、破線は四分木の葉に空間的に埋め込まれた二分木分解を表す。イントラスライスでは、ルマブロックとクロマブロックのパーティショニング構造が分離され、独立して決定される。予測ユニットまたは変換ユニットへのCUパーティショニングは採用されない。言い換えれば、各コード化ユニットは、単一の予測ユニット(2Nx2Nの予測ユニットパーティション型)および単一の変換ユニット(変換ツリーへの分割なし)で体系的に構成されている。
【0036】
図4は、コード化ユニットパーティショニングの拡張セットの例を示す。非対称二分木分割モード(ABT)では、非対称二分割モードの1つを通して、例えばHOR_UP(horizontalーup)を通して分割されたと思われるサイズ
【数1】
(幅と高さ)を有する冗長コード化ユニットは、それぞれの長方形サイズ
【数2】
を有する2つのサブコード化ユニットにつながるであろう。さらに、CUのいわゆるトリプルツリーパーティショニングを使用して、図5に示される可能性のあるパーティショニングのセットを得ることができる。トリプルツリーは、考慮される配向(例えば、水平分割モードの場合はHOR_TRIPLE)で、CUを親CUと比較したサイズ(1/4、1/2、1/4)のツリーサブCUに分割することで構成される。
【0037】
図5は、QTBT+ABTコード化構造を使用することによるコード化効率の向上を示す。このようなコード化構造は、JVET-J0022で提案されている。図5の表は、第1の列にリスト化されている選択された画像のサブセットのコード化結果を示している。「参照」と題された第2の列では、いくつかのコード化パラメータに応じた参照エンコーダの符号化性能を表す数値が示されており、それぞれビットレート、Y、U、V成分のPSNR、符号化時間、および復号化時間を示している。「テスト済み」と題された第3の列では、数値は、「参照」符号化と同じ符号化パラメータでQTBT+ABTコード化構造を使用するように修正された参照エンコーダの符号化性能を表す。この第3の列には、それぞれビットレート、Y成分、U成分、V成分のPSNR、符号化時間、および復号化時間が示されている。第5の列では、数値は、Y、U、V成分のビットレートの向上を表している。
【0038】
標準コード化と比較して、コード化効率の向上が最後の列に示される。特に、いくつかの実施形態では、ルマ成分よりもクロマ成分の方が大きな利得が得られる。
【0039】
このような改善の恩恵を十分に受けるために、1つ以上のクロマ成分からルマ成分にいくつかの利得をシフトさせることによって、得られるコード化利得のバランスをとることが重要である。これは、ある特定の品質レベルでは、クロマ成分(複数可)における追加のコード化効率の改善による追加の視覚的利益は通常は得られないので、ある特定の実施形態では特に有益である。したがって、少なくとも1つの実施形態では、クロマ成分とルマ成分との間の更なる品質改善をトレードオフするような方法で量子化パラメータを採用することが提案されている。少なくとも1つのそのような実施形態では、クロマ成分およびルマ成分を含むコード化されたビットストリーム全体の全体的なビットレートが低減される。
【0040】
図6は、クロマ量子化適合をコード化実施した一実施形態における、QTBT+ABT構造を使用した場合のコード化効率の向上を示す。図6は、図5の構成で使用されるJVET-J0022のビデオコーデックを使用することによって得られるが、クロマ量子化適合が追加された、コード化効率性能を示す。図6の表は、第2の列に挙げられたいくつかのパラメータに従って、第1の列に挙げられた選択された画像のサブセットについてのコード化結果を示す。第3の列では、数値は、参照エンコーダのコード化性能を表し、それぞれビットレート、Y成分、U成分、およびV成分のPSNRを示す。第4の列では、数値は、QTBT+ABTコード化構造を使用するように修正された参照エンコーダの符号化性能を表す。この第4の列には、それぞれビットレート、Y成分、U成分、およびV成分のPSNRを示す。第5の列では、数値は、Y成分、U成分、およびV成分のビットレートの改善を表す。
【0041】
表は、図5と比較して、クロマコード化効率が適度に相対的に失われている、顕著なコード化効率の改善を示す。さらに、知覚的な観点からは、通常、ルマ成分の方がはるかに重要であるため、コード化効率の観点からクロマよりもルマを優先させることは非常に興味深い。
【0042】
一実施形態では、クロマ量子化パラメータの適合は、ビデオコード化スキームにおけるルマ成分とクロマ成分との間のビットレート配分をトレードオフすることを可能にし、それにより、ルマ成分のコード化効率がクロマ成分のコード化効率における制御されたペナルティで調整される。さらに、少なくとも1つの実施形態では、ルマ/クロマビットレートの配分の使用は、コード化および復号化において使用されているコード化ツールとは独立して行われる。
【0043】
第1の手法では、コード化されたビットストリームの高レベルシンタックス(シーケンスパラメータセット)で信号通知されている、周知のクロマQP(量子化パラメータ)オフセットシーケンスレベルパラメータを使用することを考慮する。このような手法の欠点は、クロマコード化効率の損失が大きくなり過ぎる可能性があり、制御が困難になることである。別の手法では、いわゆるクロマQPテーブルを使用することを考慮しており、これは、インタースライスにおいて、同じピクチャのルマスライスで使用されるQPを与えられた、クロマのスライスのQPを導出するために使用される。JEMでは、ルマスライスに関連付けられたQPを前提として、ルックアップテーブルを介してクロマスライスのQPが計算され、ここではクロマQPテーブルと呼ぶ。クロマQPテーブルは、同じピクチャのスライスのルマ成分で使用されているQPを前提として、スライスのクロマ成分のQPを導出するために使用される。このテーブルへのインデックス値は、考慮されるクロマ成分に関連付けられたいわゆるベースQP(すなわち、ベースクロマQP)であり、これは、対応するルマスライスQPと考慮されるスライスのクロマQPオフセットの合計として得られる。考慮されるスライスのこのクロマQPオフセットは、シーケンスレベルのクロマQPオフセットと考慮されるスライスに対応するスライスレベルのクロマQPデルタの合計として得られる。次に、インデックス値に対応する出力値は、クロマスライスを符号化または復号化するためのQP値として使用することができる。スライスQPは、例えばレート制御のために、ブロックレベルQP調整によってさらに修正されてもよいことに留意すべきである。
【0044】
JEMでは、使用されるクロマQPテーブルはクロマフォーマット(例えば、4:0:0、4:2:0、4:2:2など)にのみ依存するため、柔軟性が妨げられる。
【0045】
実施形態例では、異なる符号化構成に対して異なるクロマQPテーブルを使用することが提案されている。実際、ある特定のレベルのコード化効率に到達するためのコード化システムの構成は、使用されるパーティションのセットを含むであろう符号化パラメータの調整、およびいくつかの他のパラメータを含み得る。通常、CTUコード化ツリー表現で許容される最大ツリー深度は、全体的なコード化効率にも影響を与え、コード化効率とエンコーダ側での計算の複雑さとの間の所望のトレードオフに到達することを可能にする。
【0046】
様々な実施形態の一つの原理は、シーケンスをコード化または復号化するために使用されるコード化ツールから独立したいくつかの手段によって、所望のクロマQPテーブルの使用を信号通知することである。したがって、クロマQPテーブルは、エンコーダ側のコード化構成パラメータとして選定される。これは通常、シーケンスパラメータセット(SPS:Sequence Parameter Set)またはピクチャパラメータセット(PPS:Picture Parameter Set)で信号通知される、「コード化性能レベル」の高レベルシンタックス要素の形を取る。それは、デコーダで復号化され、エンコーダ側で使用されていたのと同じクロマQPテーブルに切り替わる。一実施形態では、テーブルの2つのセットが提案され、したがって、単純なバイナリフラグは、情報を運ぶのに十分である。他の実施形態では、テーブルの3つ以上のセットが提案され、したがって、整数値(または他のセットのうちの1つのセットを信号通知する他の方法)が必要となる。以下に示す例は、2つのテーブルのセットを示す。
【0047】
JEMで使用されるQP値の範囲は-6~51である。JEMで4:2:0カラーフォーマットに使用されるクロマQPテーブルは、58要素(つまり、可能なQP値ごとに1つのエントリ)で構成され、通常は以下のとおりである。
chromaQPTableJEM[0..57]=[0、1、2、3、4、5、6、7、8、9、10、11、12、13、14、15、16、17、18、19、
20、21、22、23、24、25、26、27、28、29、29、30、31、32、33、33、34、34、35、35、
36、36、37、37、38、39、40、41、42、43、44、45、46、47、48、49、50、51]
【0048】
一実施形態では、クロマQPテーブルのいくつかのセットを使用することが提案されている。テーブルは、最初にコード化の対象となる効率に関して区別され、次にそれらのスライスタイプ(Iスライスタイプまたは非Iスライスタイプの場合)に関して区別される。標準コード化効率レベルのクロマQPテーブルセットは以下の通りであり、Iスライスタイプと非Iスライスタイプの両方の値を含む。
chromaQPTableStandardPerf[2][0..57]=[
[0、1、2、3、4、5、6、7、8、9、10、11、12、13、14、15、16、17、18、19、
20、21、22、23、24、25、26、27、28、29、29、30、31、32、33、33、34、34、35、35、
36、36、37、37、38、39、40、41、42、43、44、45、46、47、48、49、50、51]、
[0、1、2、3、4、5、6、7、8、9、10、11、12、13、14、15、16、17、18、19、
20、21、22、23、24、25、26、27、28、29、29、30、31、32、33、33、34、35、36、36、
37、37、38、39、40、41、42、43、44、45、46、47、48、49、50、51、52、53]]
【0049】
高性能コード化効率レベルのクロマQPテーブルセットは以下のとおりである。
chromaQPTableHighPerf[2][0..57]=[
[0、1、2、3、4、5、6、7、8、9、10、11、12、13、14、15、16、17、18、19、
20,21,22,23,24,25,26,27,28,29,29,30,31,32,33,33,34,34,35,35、
36、36、37、37、38、39、40、41、42、43、44、45、46、47、48、49、50、51]、
[0、1、2、3、4、5、6、7、8、9、10、11、12、13、14、15、16、17、18、19、
20、21、22、23、24、25、26、27、28、29、29、30、31、32、33、34、35、35、36、37、
38、38、39、40、41、42、43、44、45、46、47、48、49、50、51、52、53、54]]
【0050】
クロマQPテーブルは、ゼロ以上の出力QPを含み、入力インデックスの関数として非減少性である。したがって、クロマQPテーブルへの各非ゼロ入力インデックスに対して、その出力整数値は、そのテーブルへの先行する入力インデックスに関連付けられた出力QP値以上である。
【0051】
標準性能テーブルセットと高性能テーブルセットとの間の違いは以下の通りである。高性能テーブルセットに含まれる出力QP値は、常に標準性能テーブルセットで同じ入力インデックス値を有する出力以上である。実際には、これは特に高いQP値に関係する。
【0052】
図示の例では、非Iスライスタイプに対応するテーブルの場合、高性能テーブルセットにおける出力QP値34から、標準性能テーブルセットで同じ入力インデックスを有する出力QP値は、33に等しい。次に、2つのテーブルにおけるその入力インデックスから、非Iスライスの高性能QPテーブルにおける出力QP値は、標準性能クロマQPテーブルセットにおける対応する出力QP値よりも厳密に言って高い。これは、高性能の場合にコード化効率が向上するのに従って、クロマ成分で匹敵するPSNR値を保ちながら、クロマ成分におけるビットレートを下げることができるという事実によって説明がつく。このように、ルマスライスにおける目標とする品質(PSNR)を保ちながら、全体的なビットレートが下げられる。クロマに対するコード化効率に何のペナルティも課さず、または限られたペナルティを課して、全体的なあるコード化利得が得られる。
【0053】
上記の2つのテーブルセットでは、二次元配列が使用される。この配列の第1の次元は、スライスタイプに対応し(例えば、0→I_SLICE、1→B_SLICE(より一般的には、非Iスライス))、第2の次元は、考慮されるスライスにおけるベースクロマQPに対応する。
【0054】
さらに以下で説明するように、クロマQPテーブルセットは、エンコーダおよびデコーダの両方に格納され得、エンコーダは、例えばフラグまたはインデックスを通して、どのテーブルセットがデコーダによって選択されるべきかをデコーダに示すことができる。代替として、テーブルセットが直接ビットストリームに符号化され得る。
【0055】
エンコーダ側では、エンコーダが、使用するクロマQPテーブルセットを選定する。この選択は、符号化構成パラメータ(通常、フラグ)を通して、ユーザによって行われ得、符号化構成パラメータは、符号化プロセス時、次に復号化プロセス時に高性能クロマQPテーブルセットを使用すべきか否かを示す。実施形態例では、ファイルの値の値を設定することによって、この選択が行われ、フラグが、フラグの値を解釈して、使用するクロマQPテーブルを選択する符号化デバイスによって読み取られる。実施形態例では、この選択は、エンコーダデバイスを操るグラフィカルユーザインタフェースを使用して符号化構成パラメータを選択するというユーザの手作業によって行われる。
【0056】
別の実施形態では、これは、ルマおよびクロマスライスで得られる測定コード化効率の関数として、エンコーダによって自動的に選択され得る。通常、これは、CbおよびCr成分で得られるPSNR値を確認することにあり得る。これら2つの値が対応するルマスライスで得られるPSNRよりもかなり高い場合、クロマ成分におけるQPを高めて、一部のビットを節約することが重要であり得る。そうする際、エンコーダは、高性能クロマQPテーブルセットを選択する可能性があり、次のSPS、PPS、またはスライスヘッダにさえもその使用を示す可能性がある。
【0057】
実施形態例では、標準レベルと高レベルの2つの性能レベルが考慮され、各設定で、異なるスライスタイプごとに2つのクロマQPテーブルが使用される。本技法が、他の設定数またはスライスタイプにも使用され得ることに留意されたい。この場合、1つの1ビットフラグでテーブルを信号通知することがもうできなくなり、値のより広い選択幅を提供するパラメータ、例えば整数を必要とする。さらに、クロマQPテーブルのサイズが58とは異なる可能性もあり、例えば、テーブルサイズがQP範囲に適合され得る。
【0058】
図7Aは、クロマ成分のコード化および復号化のために使用されるQPパラメータを決定するのに、デコーダ側で使用されるプロセスの例を示す。このプロセスへの入力は、考慮されるスライド用のベースクロマQP値に対応する(また、適合される値である)chromaQPと、スライスタイプを示す「I-SLICE」フラグと、高性能符号化効率が予想されるか否かを示す「HighPerformanceCodingFlag」と、である。ステップ700では、スライスタイプが確認され、I-SLICEの場合、ステップ710で、インデックス値が、I-SLICEセットに対応するセットを指し示す0に設定される。他の場合では、ステップ711では、インデックス値が、非I-SLICEセットに対応するセットを指し示す1に設定される。ステップ720では、「HighPerformanceCodingFlag」が確認される。このフラグが真に設定される場合、ステップ731では、outputChroma値が、このインデックスおよび入力値に従って、chromaQPTableHighPerfの値のセットから決定される。「HighPerformanceCodingFlag」が偽に設定される場合、ステップ730では、outputChroma値が、このインデックスおよび入力値に従って、chromaQPTableStandardPerfの値のセットから決定される。例えば、初期chromaQP値が57(したがって、考えられ得る「最も高い」値)である場合、高性能のI-SLICEでは、chromaQP値が54(最新のテーブルの最新の入力)に設定されることになる。これは、クロマ成分用のビットレートの低減をもたらすことになる。復号化された画像を作り出すのに、従来の復号化プロセスが使用される。
【0059】
見ての通り、このフラグは、規範的な意味合いでクロマQPテーブルの使用を余儀なくさせるのに使用される。
【0060】
少なくとも1つの実施形態によれば、クロマQPテーブルのうちの少なくとも2つのテーブル間での選定は、他のいくつかのコード化パラメータの関数として達成される。これらのコード化パラメータは、コード化ツリー構成に関係しているか、または、考慮されるビデオシーケンスのコード化に選定された有効なコード化モードのセットもしくは有効なパーティショニングモードのセットに関係している可能性がある。
【0061】
例として、考慮されるビデオコーデックで標準性能レベルを作り出し得るコード化パラメータは、以下のものであり得る。使用されるコード化ツリー構成は、スライスタイプおよび一時的な層に応じて異なる。ランダムアクセスシーケンスのピクチャごとに許容される最大四分木および二分木深度が図7Bに示され、標準性能レベル用のABTおよびコード化ツリー構成で詳細に示される。
【0062】
表1は、ランダムアクセスコード化構造に関する、スライスタイプ、一時的な層、成分に関して、中間複雑性プロファイルに使用される最大四分木深度および二分木深度を示す。この表で分かるように、最大許容四分木深度は、スライスタイプ、一時的なレベルおよび成分に応じて異なる。さらに、最大許容二分木深度は、スライスタイプ、スライスの一時的な層および四分木深度レベルに応じて異なる。
【表1】
【0063】
さらに、標準性能レベル符号化プロセスでは、ランダムアクセスイントラ周期をコード化する際、中間複雑性(ランダムアクセス)用のABTおよびコード化ツリー構成の四分木および二分木複数深度構成が開始構成として使用される。これは、イントラ周期の並行コード化が所望される場合、イントラ周期ごとに開始コード化ツリー構成として使用され得る。
【0064】
この開始構成に加えて、後続のピクチャには、考慮されるイントラ周期で、同じ一時的なレベルで既にコード化されたピクチャに使用された平均四分コード化ツリーおよび平均二分コード化ツリーに基づき、最大四分木深度および二分木深度の動的適合プロセスが採用される。
【0065】
さらに、考慮されるビデオコーデックで高性能レベルを作り出すことができるコード化パラメータは、通常、以下のものである。イントラ周期のコード化を開始すると、コード化ツリー構成は、標準性能構成に比べて、Bスライスに対して修正される。最大BT深度は、四分木深度レベル0を除いて、常に3に等しい。これは、下の表に対応する。
【表2】
【0066】
言い換えれば、最大BT深度は、コード化性能レベルを選択し、それにより対応するクロマQPテーブルを選択するのに使用され得るコード化ツリー構成に関係する1つのパラメータである。例えば、表1および表2によれば、最大BT深度が2に等しい場合、標準性能レベルクロマQPテーブルが選択され、最大BT深度が2より大きい場合、高性能レベルクロマQPテーブルが選択される。
【0067】
さらなる実施形態によれば、追加の低複雑性エンコーダ構成が使用され得る。この場合、標準エンコーダ性能レベルにリンクされる、前に提示されたクロマQPテーブルがこの低エンコーダ複雑性構成に採用され得る。代替として、低複雑性エンコーダ構成の場合、専用の第3のクロマQPテーブルが使用され得る。
【0068】
ここに導入される低複雑性エンコーダ構成は、以下の通常の符号化パラメータに対応する。パーティショニングモードレート歪み検索の組み合わせレベルは、いくつかのスライスでは、標準性能レベル構成に比べてさらに下げられ得る。通常、非対称二分木分割モードは、厳密に言えば0よりも大きい一時的な層を有するBスライスでは、無効化され得る。さらに、何らかのエンコーダ側レート歪み選択、それによりエンコーダ複雑性を伴う他のいくつかのコード化モードは、低複雑性エンコーダプロファイル/構成では無効化され得る。例えば、一時的な予測用のテンプレートベースの動き検索またはテンプレートベースのアフィン動きモデル検索のようないくつかのインターコード化ツールは、低複雑性プロファイルの場合に無効化され得る。言い換えれば、使用されるツールがより低い性能レベルのものである場合、低性能のクロマQPテーブルも選定される。
【0069】
少なくとも1つの実施形態によれば、標準性能のものと、高性能のものと、場合によっては低複雑性の付加的なものとの間でのクロマQPテーブルの選定は、コード化ツリー構成に従って、また場合によっては考慮されるスライスに許容されるパーティショニングモードに従って、各スライスにおいて動的に選定され得る。したがって、この実施形態では、使用されるクロマQPテーブルは、スライスによって異なる可能性がある。この場合、使用されるクロマQPテーブルは、スライスヘッダ、ピクチャヘッダ、またはスライスグループヘッダで信号通知され得る。
【0070】
最後の実施形態のさらなる代替実施形態によれば、クロマQPテーブルは、スライス、ピクチャ、またはタイルグループのヘッダで明確に信号通知されない可能性があるが、考慮されるスライスに使用されるコード化ツリー構成に従って、また場合によっては考慮されるスライスに許容されるコード化モードに従って、デコーダによって暗示される可能性もある。
【0071】
最後の実施形態と同様に、シーケンス全体、GOP(ピクチャグループ)またはイントラ周期で同じクロマQPテーブルが使用される場合、このシーケンス、イントラ周期またはGOPで使用されるクロマQPテーブルは、ヘッダデータで使用され、信号通知されるコード化ツリー構成の関数として、また場合によっては、考慮されるシーケンス、イントラ周期またはGOPのコード化/復号化に許容されるコード化モードの関数として、デコーダによって暗示される可能性もある。
【0072】
クロマ量子化パラメータを適合させる上記の方法を使用して、図1および図2に示されるようなJVETまたはHEVCエンコーダおよびデコーダの量子化および脱量子化モジュール(130、140、240)を修正することができる。さらに、本実施形態は、JVETまたはHEVCに限定されず、他の標準、推奨、およびそれらの拡張に適用することができる。上述の様々な実施形態は、個別にまたは組み合わせて使用することができる。
【0073】
図8は、様々な態様および実施形態が実施されるシステムの例のブロック図を示す。少なくとも1つの実施形態において、システム800は、下記の様々な構成要素を含むデバイスとして具体化され得、本出願に記載の態様のうちの1つ以上を実行するように構成される。このようなデバイスの例には、パーソナルコンピュータ、ラップトップコンピュータ、スマートフォン、タブレットコンピュータ、デジタルマルチメディアセットトップボックス、デジタルテレビ受像機、パーソナルビデオ記録システム、コネクテッド家電、およびサーバなどの様々な電子デバイスが含まれるが、これらに限定されるわけではない。システム800の要素は、単独でも組み合わせでも、1つの集積回路、複数のIC、および/またはディスクリート部品に具体化され得る。例えば、少なくとも1つの実施形態において、システム800の処理およびエンコーダ/デコーダ要素は、複数のICおよび/またはディスクリート部品にわたって分散している。様々な実施形態において、システム800は、他の同様のシステムに、または他の電子デバイスに、例えば通信バスを介して、または専用の入力および/または出力ポートを通して、通信可能に結合される。様々な実施形態において、システム800は、本文書に記載の態様のうちの1つ以上を実施するように構成される。
【0074】
システム800は、例えば本文書に記載の様々な態様を実施する際に、そこに読み込まれる命令を実行するように構成された少なくとも1つのプロセッサ810を含む。プロセッサ810は、埋め込みメモリ、入力出力インタフェース、および当技術分野で知られているような他の様々な回路機構を含み得る。システム800は、少なくとも1つのメモリ820(例えば、揮発性メモリデバイス、および/または不揮発性メモリデバイス)を含む。システム800は、記憶デバイス840を含み、記憶デバイス840には、EEPROM、ROM、PROM、RAM、DRAM、SRAM、フラッシュ、磁気ディスクドライブ、および/または光ディスクドライブが含まれるがこれらに限定されるわけではない、不揮発性メモリおよび/または揮発性メモリが含まれ得る。記憶デバイス840は、非限定的な例として、内部記憶デバイス、着脱可能記憶デバイス、および/またはネットワークアクセス可能記憶デバイスが含み得る。
【0075】
システム800は、例えば、符号化されたビデオまたは復号化されたビデオを提供するようにデータを処理するように構成されたエンコーダ/デコーダモジュール830を含み、エンコーダ/デコーダモジュール830は、独自のプロセッサおよびメモリを含み得る。エンコーダ/デコーダモジュール830は、符号化および/または復号化機能を実行するデバイスに含まれ得るモジュール(複数可)を表す。知られているように、デバイスは、符号化モジュールおよび復号化モジュールのうちの一方または両方を含み得る。また、エンコーダ/デコーダモジュール830は、システム800の別個の要素として実施されてもよく、当業者には知られているようなハードウェアとソフトウェアとの組み合わせとして、プロセッサ810内に組み込まれてもよい。
【0076】
本文書に記載の態様を実行するようにプロセッサ810またはエンコーダ/デコーダ830に読み込まれるプログラムコードは、記憶デバイス840に格納され、続いて、プロセッサ810による実行に向けてメモリ820に読み込まれ得る。様々な実施形態によれば、プロセッサ810、メモリ820、記憶デバイス840、およびエンコーダ/デコーダモジュール830のうちの1つ以上は、本文書に記載のプロセスの実行中、様々な項目のうちの1つ以上を格納することができる。このような格納される項目には、入力ビデオ、復号化されたビデオまたは復号化されたビデオの一部、ビットストリーム、行列、変数、また方程式、式、演算、およびオペレーショナルロジックの処理からの中間結果または最終結果が含まれ得るが、これらに限定されるわけではない。
【0077】
いくつかの実施形態において、プロセッサ810および/またはエンコーダ/デコーダモジュール830の内部のメモリを使用して、命令を格納し、また符号化中または復号化中に必要とされる処理のために、ワーキングメモリを提供する。しかしながら、他の実施形態において、処理デバイス(例えば、処理デバイスは、プロセッサ810またはエンコーダ/デコーダモジュール830のいずれかであり得る)の外部のメモリは、これらの機能のうちの1つ以上のために使用される。外部メモリは、メモリ820および/または記憶デバイス840であり得、例えば、ダイナミック揮発性メモリおよび/または不揮発性フラッシュメモリであり得る。いくつかの実施形態において、テレビのオペレーティングシステムを格納するのに外部不揮発性フラッシュメモリが使用される。少なくとも1つの実施形態において、RAMなどの高速外部ダイナミック揮発性メモリが、MPEG-2、HEVC、またはVVC(バーサタイルビデオコード化)など、ビデオコード化および復号化作業に、ワーキングメモリとして使用される。
【0078】
システム800の要素への入力は、ブロック866に示されるような様々な入力デバイスを通して提供され得る。このような入力デバイスには、(i)例えばブロードキャスタによって無線通信経由で、送信されたRF信号を受信するRF部、(ii)コンポジット入力端子、(iii)USB入力端子、および/または(iv)HDMI(登録商標)入力端子が含まれるが、これらに限定されるわけではない。
【0079】
様々な実施形態において、ブロック866の入力デバイスは、当技術分野で知られているような対応するそれぞれの入力処理要素を有する。例えば、RF部は、(i)所望の周波数を選択する(信号を選択する、またはある周波数帯域に信号を帯域制限する、とも呼ばれる)のに、(ii)選択された信号をダウンコンバートするのに、(iii)(例えば)ある特定の実施形態ではチャネルと呼ばれる場合がある信号周波数帯域を選択するように、より狭い周波数帯域に再び帯域制限するのに、(iv)ダウンコンバートされ、帯域制限された信号を復調するのに、(v)誤り訂正を実行するのに、また(vi)逆多重化して、所望のデータパケットストリームを選択するのに、必要な要素に関連付けられ得る。様々な実施形態のRF部には、これらの機能、例えば、周波数セレクタ、信号セレクタ、帯域リミッタ、チャネルセレクタ、フィルタ、ダウンコンバータ、復調器、誤り訂正器、およびデマルチプレクサの機能を実行する1つ以上の要素が含まれる。RF部には、例えば、受信された信号をより低い周波数に(例えば、中間周波数または近ベースバンド周波数)、またはベースバンドにダウンコンバートすることを含む、様々なこれらの機能を実行する波長調整器が含まれ得る。1つのセットトップボックス実施形態において、RF部およびその関連付けられた入力処理要素は、有線(例えば、ケーブル)媒体経由で送信されたRF信号を受信し、フィルタ処理し、ダウンコンバートし、また所望の周波数帯域に再びフィルタ処理することによって、周波数選択を実行する。様々な実施形態では、上記(および他の)要素の順番が並べ替えられ、これらの要素のうちのいくつかが取り除かれ、かつ/または同様または異なる機能を実行する他の要素が加えられる。要素を加えることには、既存の要素間に要素を挿入すること、例えば、増幅器およびアナログ-デジタル変換器を挿入することなどが含まれ得る。様々な実施形態において、RF部には、アンテナが含まれる。
【0080】
また、USBおよび/またはHDMI(登録商標)端子は、USBおよび/またはHDMI(登録商標)接続にわたる他の電子デバイスにシステム800を接続するためのそれぞれのインタフェースプロセッサを含み得る。入力処理の様々な態様、例えばリード・ソロモン誤り訂正が、例えば、必要に応じて、別個の入力処理IC内またはプロセッサ810内で実施され得ることを理解されたい。同様に、USBまたはHDMI(登録商標)インタフェース処理の態様が、必要に応じて、別個のインタフェースIC内またはプロセッサ810内で実施され得る。例えば、出力デバイス上の表示の必要に応じて、データストリームを処理するように、メモリおよび記憶要素と組んで動作するプロセッサ810、およびエンコーダ/デコーダ830を含む、様々な処理要素に、復調され、誤り訂正され、また逆多重化されたストリームが提供される。
【0081】
システム800の様々な要素は、一体型ハウジング内に提供され得、一体型ハウジング内では、様々な要素が相互接続しており、好適な接続配置を使用して、例えば、I2Cバス、配線、およびプリント回路基板を含む、当技術分野で知られているような内部バスを使用して、それら間でデータを送信することができる。
【0082】
システム800は、通信チャネル870を介して他のデバイスとの通信を可能にする通信インタフェース850を含む。通信インタフェース850には、通信チャネル870経由でデータを送受信するように構成されたトランシーバが含まれ得るが、これに限定されるわけではない。通信インタフェース850には、モデムまたはネットワークカードが含まれ得るが、これらに限定されるわけではなく、通信チャネル870は、例えば、有線および/または無線媒体内に実施され得る。
【0083】
様々な実施形態において、データは、IEEE802.11などのWi-Fiネットワークを使用して、システム800にストリーミングされる。これらの実施形態のWi-Fi信号は、Wi-Fi通信に適合された通信チャネル870および通信インタフェース850経由で受信される。これらの実施形態の通信チャネル870は、通常、アクセスポイントまたはルータに接続され、アクセスポイントまたはルータは、アプリケーションをストリーミングすることや他のオーバー・ザ・トップ通信を可能にするために、インターネットを含む外側ネットワークへのアクセスを提供する。他の実施形態は、入力ブロック866のHDMI(登録商標)接続経由でデータを配信するセットトップボックスを使用して、ストリーミングされたデータをシステム800に提供する。さらに他の実施形態は、入力ブロック866のRF接続を使用して、ストリーミングされたデータをシステム800に提供する。
【0084】
システム800は、ディスプレイ880、スピーカ882、および他の周辺機器884を含む、様々な出力デバイスに出力信号を提供することができる。他の周辺機器884には、様々な実施形態例において、スタンドアローンDVR、ディスクプレーヤ、ステレオシステム、照明システム、またシステム800の出力に基づき、機能を提供する他のデバイスが含まれる。様々な実施形態において、システム800と、ディスプレイ880、スピーカ882、または他の周辺機器884との間で、AVリンク、CEC、またはユーザの介入の有無に関わらず、デバイス・ツー・デバイス制御を可能にする他の通信プロトコルなどの信号通知を使用して、制御信号が通信される。出力デバイスは、それぞれのインタフェース860、862、および864を通して専用接続を介してシステム800に通信可能に結合され得る。代替として、出力デバイスは、通信インタフェース850を介して、通信チャネル870を使用してシステム800に接続され得る。ディスプレイ880およびスピーカ882は、例えば、テレビなどの電子デバイス内のシステム800の他の構成要素と、単一のユニットにおいて統合され得る。様々な実施形態において、ディスプレイインタフェース860には、例えば、タイミングコントローラ(T Con)チップなどのディスプレイドライバが含まれる。
【0085】
ディスプレイ880およびスピーカ882は、例えば、入力866のRF部が別個のセットトップボックスの一部である場合、他の構成要素のうちの1つ以上から代替的に分離され得る。ディスプレイ880およびスピーカ882が外部構成要素である様々な実施形態において、例えば、HDMI(登録商標)ポート、USBポート、またはコンポジット(COMP)出力を含む、専用出力接続を介して出力信号が提供され得る。
【0086】
本明細書で説明された実施態様は、例えば、方法もしくはプロセス、装置、ソフトウェアプログラム、データストリーム、または信号で実施され得る。考察される機能の実施は、単一の形態の実施態様(例えば、方法としてのみ考察される)の文脈でのみ考察されたとしても、他の形態(例えば、装置またはプログラム)で実施されてもよい。装置は、例えば、適切なハードウェア、ソフトウェア、およびファームウェアで実施され得る。これらの方法は、例えば装置で実施することができ、例えばコンピュータ、マイクロプロセッサ、集積回路、またはプログラマブルロジックデバイスを含む処理デバイスを広く指すプロセッサで実施することができる。プロセッサは、通信デバイスも含み、例えばコンピュータ、携帯電話、ポータブル/パーソナルデジタルアシスタンス(「PDA」)、およびエンドユーザ間の情報の伝達を容易にする他のデバイスも含む。
【0087】
図9Aは、クロマ量子化適合を実施する一実施形態による、符号化方法の例のフローチャートを示す。このような符号化方法は、図8に記載されるシステム800によって実行され得、より正確には、プロセッサ810によって実施され得る。少なくとも1つの実施形態において、ステップ910では、プロセッサ810が、使用すべきクロマQPテーブルセットを選択する。上述のように、この選択は、異なる技法を使用して、例えば、ユーザによって手動で、またはエンコーダによって自動的に、例えば、コード化ツリー構成に従って各スライスで動的に行われ得る。この選択が行われると、ステップ920において、クロマ成分に対して選択された量子化パラメータに従って符号化が実行され、クロマQPテーブルの選択物が、高レベルシンタックス要素で(例えば、次のSPS、PPS、またはスライスヘッダでも)信号通知される。
【0088】
図9Bは、クロマ量子化適合を実施する一実施形態による、復号化方法の一部の例のフローチャートを示す。このような復号化方法は、図8に記載されるシステム800によって実行され得、より正確には、プロセッサ810によって実施され得る。少なくとも1つの実施形態において、ステップ950では、信号にアクセスする(例えば、入力インタフェース上で受信する、または媒体サポートから読み取る)。高レベルシンタックス要素を抽出し、分析して、符号化デバイスで選択されたクロマ成分に対して量子化パラメータを決定する。ステップ960では、これらのパラメータを使用して、クロマ成分を脱量子化する。従来の復号化プロセスを使用して、例えば、デバイスに提供され得る、またはデバイスに表示され得る復号化された画像(図9Bには示されていない)を作り出す。
【0089】
「1つの実施形態(one embodiment)」もしくは「一実施形態(an embodiment)」、または「1つの実施態様(one implementation)」もしくは「一実施態様(an implementation)」、ならびにそれらの他変化形とは、実施形態に関連して述べられる特定の特徴、構造、特性などが少なくとも1つの実施形態に含まれることを意味する。したがって、本明細書全体にわたって様々な個所で現れる、「1つの実施形態において(in one embodiment)」もしくは「一実施形態において(in an embodiment)」、または「1つの実施態様において(in one implementation)」もしくは「一実施態様において(in an implementation)」、ならびにそれらの他変化形という言い回しが現れた場合、必ずしもすべてが同じ実施形態を言っているわけではない。
【0090】
また、本出願またはその請求項では、様々な情報を「確定する」と言うことがある。情報を確定することには、例えば、情報を価値判断すること、情報を推定すること、情報を予測すること、またはメモリから情報を検索することのうちの1つ以上が含まれ得る。
【0091】
さらに、本出願またはその請求項では、様々な情報に「アクセスする」と言うことがある。情報にアクセスすることには、例えば、情報を受信すること、情報を検索すること(例えば、メモリから)、情報を格納すること、情報を移動させること、情報をコピーすること、情報を推定すること、情報を予測すること、または情報を価値判断することのうちの1つ以上が含まれ得る。
【0092】
また、本出願またはその請求項では、様々な情報を「受信する」と言うことがある。受信することは、「アクセスする」と同様に、意味合いが広いことを意図している。情報を受信することには、例えば、情報にアクセスすること、または情報を検索すること(例えば、メモリまたは光媒体記憶域から)のうちの1つ以上が含まれ得る。さらに、「受信する」は、通常、例えば、情報を格納すること、情報を処理すること、情報を送信すること、情報を移動させること、情報をコピーすること、情報を消去すること、情報を推定すること、情報を確定すること、情報を予測すること、または情報を価値判断することなどの作業時に、何らかの形で伴う。
【0093】
例えば、「A/B」、「Aおよび/またはB」、ならびに「AおよびBのうちの少なくとも1つ」の場合、「/」、「および/または」、および「のうちの少なくとも1つ」のいずれかの使用は、最初に挙げた選択肢(A)のみの選択、または2番目に挙げた選択肢(B)のみの選択、両方の選択肢(AおよびB)の選択を網羅することを意図していることが理解されるべきである。さらなる例として、「A、B、および/またはC」ならびに「A、BおよびCのうちの少なくとも1つ」の場合、このような言い回しは、最初に挙げた選択肢(A)のみの選択、または2番目に挙げた選択肢(B)のみの選択、または3番目に挙げた(C)のみの選択、または最初および2番目に挙げた選択肢(AおよびB)のみの選択、または最初および3番目に挙げた選択肢(AおよびC)のみの選択、または2番目および3番目に挙げた選択肢(BおよびC)のみの選択、または全3つの選択肢(A、BおよびC)の選択、を網羅することを意図している。これは、当業者にはすぐに分かるように、挙げられる項目の数に関わらず適用することができる。
【0094】
当業者には明らかであるように、実施態様は、情報を伝達するようにフォーマットされる多種多様な信号を作り出すことができ、この情報は、例えば格納または送信することができる。情報は、例えば、方法を実行するための命令、または説明された実施態様のうちの1つによって作り出されたデータを含み得る。例えば、信号は、説明された実施形態のビットストリームを搬送するようにフォーマットされてもよい。そのような信号は、例えば、電磁波(例えば、スペクトルの無線周波数部分を使用して)として、またはベースバンド信号としてフォーマットされてもよい。フォーマットすることは、例えばデータストリームを符号化することと、搬送波を符号化データストリームで変調することと、を含むことができる。信号が伝達する情報は、例えばアナログ情報またはデジタル情報とすることができる。信号は、既知の如く、多種多様な異なる有線リンクまたは無線リンクを介して送信することができる。信号は、プロセッサ可読媒体に格納することができる。
【0095】
第1の態様による変形実施形態によれば、少なくとも前記符号化されたブロック、および前記少なくとも1つの選択されたクロマ量子化パラメータを表すメタデータを含む、ビットストリームを生成することをさらに含む、方法が提示される。
【0096】
第2の態様による変形実施形態によれば、画像の複数のブロックの脱量子化されたクロム値に基づき、再構成された画像を作り出すことをさらに含む、方法が提示される。
【0097】
第3の態様による変形実施形態によれば、画像の少なくとも1つのブロックの符号化をさらに含む、信号が提示される。
【0098】
第4の態様による変形実施形態によれば、少なくとも前記符号化されたブロック、および前記少なくとも1つの選択されたクロマ量子化パラメータを表すメタデータを含む、ビットストリームを生成するための手段をさらに備える、デバイスが提示される。
【0099】
第5の態様による変形実施形態によれば、画像の複数のブロックの脱量子化されたクロマ値に基づき、再構成された画像を作り出すことをさらに含む、デバイスが提示される。
図1
図2
図3
図4
図5-1】
図5-2】
図5-3】
図6-1】
図6-2】
図6-3】
図7A
図7B
図8
図9A
図9B