(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2025102933
(43)【公開日】2025-07-08
(54)【発明の名称】画像データの符号化及び復号化
(51)【国際特許分類】
H04N 19/13 20140101AFI20250701BHJP
H04N 19/91 20140101ALI20250701BHJP
H04N 19/152 20140101ALI20250701BHJP
【FI】
H04N19/13
H04N19/91
H04N19/152
【審査請求】有
【請求項の数】16
【出願形態】OL
(21)【出願番号】P 2025061590
(22)【出願日】2025-04-03
(62)【分割の表示】P 2022517356の分割
【原出願日】2020-09-23
(31)【優先権主張番号】1913733.0
(32)【優先日】2019-09-24
(33)【優先権主張国・地域又は機関】GB
(71)【出願人】
【識別番号】000002185
【氏名又は名称】ソニーグループ株式会社
(74)【代理人】
【識別番号】110003339
【氏名又は名称】弁理士法人南青山国際特許事務所
(72)【発明者】
【氏名】シャーマン カール ジェームス
(72)【発明者】
【氏名】キーティング ステファン マーク
(72)【発明者】
【氏名】ブラウン エイドリアン リチャード
(57)【要約】 (修正有)
【課題】出力データ部のバイトサイズに対する二値化シンボルの数に対する上限を定義する制約を満たす画像データの符号化及び復号化を提供する。
【解決手段】エントロピーエンコーダが構成されている画像データ符号化装置において、コントローラ2020は、符号化された2値化シンボルを生成するエントロピーエンコーダと、出力データ部に適用可能な符号化属性を検出するように構成された属性検出器と、検出した符号化属性に応じて、2つ以上の制約の候補から選択する選択器とを具備し、出力データストリームは、出力データ部のバイトサイズに対する任意の個々の出力データ部のバイトサイズで表される二値化シンボルの数に対する上限を定義する制約を受け、この制約を満たすために、その出力データ部のバイト単位のサイズを増加させるために、制約を満たさない各出力データ部に対して、パディングデータを提供する。
【選択図】
図21
【特許請求の範囲】
【請求項1】
連続する出力データ部の符号化された2値化シンボルを生成するように画像データを表すデータ項目を選択的に符号化するように構成されたエントロピーエンコーダと、
所与の出力データ部に適用可能な符号化属性を検出するように構成された属性検出器と、
検出された符号化属性に応じて、前記所与の出力データ部と共に使用するための制約を、2つ以上の制約の候補から選択するように構成された選択器と
を具備し、
前記エントロピーエンコーダは、出力データストリームを生成するように構成されており、この出力データストリームは、その出力データ部のバイトサイズに対する任意の個々の出力データ部のバイトサイズで表される二値化シンボルの数に対する上限を定義する制約を受け、
この制約を満たすために、その出力データ部のバイト単位のサイズを増加させるために、制約を満たさない各出力データ部に対して、パディングデータを提供するように前記エントロピーエンコーダが構成されている
画像データ符号化装置。
【請求項2】
前記エントロピーエンコーダは、符号化された二値化シンボルを生成するために、第1の、コンテキスト適応二値算術符号化(CABAC)、符号化システム、または、第2の、バイパス、符号化システムによって符号化されるべき画像データを表すデータ項目を選択的に符号化するように構成されている
請求項1に記載の画像データ符号化装置。
【請求項3】
前記画像データは、1つ以上のピクチャを表し、各々のピクチャは、
(i)各ネットワークアブストラクションレイヤ(NAL)部内の1つ以上のスライスと、
(ii)ピクチャ領域のそれぞれの水平方向の境界及び垂直境界を定義し、それぞれのNALユニット内にカプセル化されるように制約されないゼロ個以上のタイルと、
を表すデータを含んでおり、
ピクチャの各スライスは、同じピクチャの他のスライスとは無関係に復号化可能であり、前記タイルは、同じピクチャの他のタイルとは無関係に復号化可能であり、
前記出力データ部は、1つ以上のピクチャ、スライス及びタイルを含む
請求項1に記載の画像データ符号化装置。
【請求項4】
前記第2の符号化システムは、固定された50%確率コンテキストモデルを使用する二値算術符号化システムである
請求項1に記載の画像データ符号化装置。
【請求項5】
前記制約は、
N <= K1 * B + (K2 * CU) (制約式1)
ここで、N=前記出力データ部の2値化シンボル数、
K1は定数、
B=前記出力データ部のエンコードされたバイト数、
K2は、前記画像データ符号化装置によって採用される最小サイズ符号化単位の特性に依存する変数であり、
CU=最小サイズの符号化単位数で表される前記出力データ部で表される前記ピクチャ、スライスまたはタイルのサイズである
ように定義される
請求項1に記載の画像データ符号化装置。
【請求項6】
少なくとも2つの候補制約が前記制約式1によって定義され、
一連の(K1、K2)のそれぞれが前記少なくとも2つの候補制約の各々に関連付けられ、
前記選択器が、前記所与の出力データ部のための一連の(K1、K2)を選択するように構成されている
請求項5に記載の画像データ符号化装置。
【請求項7】
前記コントローラは、前記所定の出力データ部を表す出力データストリームに関連して、前記所定の出力データ部に適用可能な前記符号化属性の表現を符号化するように構成されている
請求項1に記載の画像データ符号化装置。
【請求項8】
前記画像データ符号化装置は、従属量子化モードで選択的に動作するように構成された量子化部を含み、
前記符号化属性は、前記従属量子化モードが所与の出力データ部に関して有効か無効かを示す
請求項7に記載の画像データ符号化装置。
【請求項9】
前記エントロピーエンコーダは、
現在の出力データ部の符号化に対する所定の段階で、前記制約が前記現在の出力データ部によって満たされるかどうかを検出するように構成された検出器と、
挿入されるパディングデータを含む前記出力データ部が前記制約を満たすように、前記現在の出力データ部に十分なパディングデータを生成し、挿入するように構成されたパディングデータ生成器と
を含む
請求項1に記載の画像データ符号化装置。
【請求項10】
前記所定の段階が、前記現在の出力データ部を符号化した終端である
請求項6に記載の画像データ符号化装置。
【請求項11】
請求項1に記載の画像データ符号化装置を具備する、ビデオ記憶装置、キャプチャ装置、送受信装置。
【請求項12】
画像データを表すデータ項目を選択的に符号化して、連続する出力データ部の符号化された二値化シンボルを生成するステップと、
前記出力データ部のバイト単位のサイズに対して任意の個々の出力データ部によって表される2値化シンボルの数の上限を定義する制約を受ける出力データストリームを生成するステップと、
この制約を満たすために、その出力データ部のバイト単位のサイズを大きくするように、この制約を満たさない各出力データ部に対して、パディングデータを提供するステップと、
所与の出力データ部に適用可能な符号化属性を検出するステップと、
検出された符号化属性に応答して、所与の出力データ部と共に使用するための制約を、2つ以上の候補制約から選択するステップと
を含む
画像データ符号化方法。
【請求項13】
コンピュータによって実行されるときに、前記コンピュータに、請求項12に記載の方法を実行させるコンピュータソフトウェア。
【請求項14】
請求項13に記載のコンピュータソフトウェアを記憶する、機械読み取り可能な非一時的記憶媒体。
【請求項15】
請求項12に記載の方法に従って生成された符号化データを含むデータ信号。
【請求項16】
請求項15に記載のデータ信号を復号化するように構成された画像データデコーダ。
【発明の詳細な説明】
【技術分野】
【0001】
本開示は、画像データの符号化及び復号化に関する。
【背景技術】
【0002】
本明細書の「背景技術」の記載は、本出願における背景を一般的に説明するためのものである。本発明者らの技術は、この背景技術の欄で説明される範囲において、本出願の出願時点で従来技術でないのであれば従来技術と見なしてはならない説明の側面と同様に、明示又は黙示を問わず、本出願に対する従来技術として認められるものではない。
【0003】
ビデオデータを周波数領域表現に変換し、得られた周波数領域係数を量子化し、その後、当該量子化された係数に或る種のエントロピー符号化を適用するビデオデータ符号化システム及びビデオデータ復号化システムがいくつか存在する。これにより、ビデオデータを圧縮することができる。対応する復号化又は解凍技術を適用することにより、元のビデオデータを再構築して復元する。
【0004】
H.264/MPEG-4 AVCに対する後継技術として、H.265又はMPEG-H Part 2としても知られるHEVC(High Efficiency Video Coding)が提案されている。これは、HEVCのビデオ品質を向上させると共にデータ圧縮比をH.264の二倍にすること、及び、H.264を128×96~7680×4320画素解像度の範囲でスケーラブルとすることを目的としている。これは、概ね128キロビット/秒~800メガビット/秒のビットレートに相当する。
【発明の概要】
【発明が解決しようとする課題】
【0005】
本開示は、上記処理に伴う問題に対処する又はこれらの問題を軽減させることを目的とする。
【課題を解決するための手段】
【0006】
本開示は、連続する出力データ部の符号化された2値化シンボルを生成するように画像データを表すデータ項目を選択的に符号化するように構成されたエントロピーエンコーダと、
所与の出力データ部に適用可能な符号化属性を検出するように構成された属性検出器と、
検出された符号化属性に応じて、上記所与の出力データ部と共に使用するための制約を、2つ以上の制約の候補から選択するように構成された選択器と
を具備し、
上記エントロピーエンコーダは、出力データストリームを生成するように構成されており、この出力データストリームは、その出力データ部のバイトサイズに対する任意の個々の出力データ部のバイトサイズで表される二値化シンボルの数に対する上限を定義する制約を受け、
この制約を満たすために、その出力データ部のバイト単位のサイズを増加させるために、制約を満たさない各出力データ部に対して、パディングデータを提供するように上記エントロピーエンコーダが構成されている
画像データ符号化装置を提供する。
【0007】
本開示は、画像データを表すデータ項目を選択的に符号化して、連続する出力データ部の符号化された二値化シンボルを生成するステップと、
上記出力データ部のバイト単位のサイズに対して任意の個々の出力データ部によって表される2値化シンボルの数の上限を定義する制約を受ける出力データストリームを生成するステップと、
この制約を満たすために、その出力データ部のバイト単位のサイズを大きくするように、この制約を満たさない各出力データ部に対して、パディングデータを提供するステップと、
所与の出力データ部に適用可能な符号化属性を検出するステップと、
検出された符号化属性に応答して、所与の出力データ部と共に使用するための制約を、2つ以上の候補制約から選択するステップと
を含む
画像データ符号化方法をさらに提供する。
【0008】
本開示は、上述の方法又は装置によって生成されたデータ信号をデコードするための適切なデコード装置をさらに提供する。
【0009】
本開示のさらなるそれぞれの態様及び特徴は、添付の特許請求の範囲において定義される。
【0010】
なお、上述の一般的な説明及び以降の詳細な説明は、本技術の一例であり、本技術を限定するものではないことが理解されるべきである。
【図面の簡単な説明】
【0011】
添付図面と共に以下の詳細な説明を参照することによって、本技術の完全な理解及びその優位性の多くが容易に理解される。
【
図1】ビデオデータの圧縮及びビデオデータ解凍を行うオーディオ/ビデオ(A/V)データ送受信システムを示す概略図である。
【
図2】ビデオデータ解凍を行うビデオ表示システムを示す概略図である。
【
図3】ビデオデータの圧縮及びビデオデータ解凍を行うオーディオ/ビデオ記憶システムを示す概略図である。
【
図4】ビデオデータの圧縮を行うビデオカメラを示す概略図である。
【
図7】ビデオデータ圧縮及び解凍装置を示す概略図である。
【
図9】部分的に符号化された画像を示す概略図である。
【
図10】セットのあり得るイントラ予測方向を示す概略図である。
【
図12】別のセットの予測モードを示す概略図である。
【
図13】イントラ予測プロセスを示す概略図である。
【
図14】CABACエンコーダを示す概略図である。
【
図15】CABACエンコーディング手法を示す概略図である。
【
図16】CABACエンコーディング手法を示す概略図である。
【
図22】A及びBは、出力データ部を概略的に表している。
【
図23】一方法を示す模式的なフローチャートである。
【発明を実施するための形態】
【0012】
次に各図面を参照すると、
図1~
図4には、以下に説明する本技術の各実施形態に係る圧縮装置及び/又は解凍装置を利用する装置又はシステムが概略的に示されている。
【0013】
以下に説明する全てのデータ圧縮装置及び/又はデータ解凍装置は、ハードウェアで実現されてもよいし、例えば、特定用途向け集積回路(ASIC:Application Specific Integrated Circuit)又はフィールドプログラマブルゲートアレイ(FPGA:Field Programmable Gate Array)、或いはこれらの組み合わせ等のようなプログラム可能なハードウェアとして、汎用コンピュータ等の汎用データ処理装置上で動作するソフトウェアで実現されてもよい。
ソフトウェア及び/又はファームウェアで実現される実施形態の場合、このようなソフトウェア及び/又はファームフェア、並びに、このようなソフトウェア及び/又はファームウェアが記憶又は提供される非一時的なデータ記録媒体が本技術の実施形態と見なされることが理解されるであろう。
【0014】
図1は、ビデオデータの圧縮及びビデオデータ解凍を行うオーディオ/ビデオデータ送受信システムを示す概略図である。
【0015】
入力オーディオ/ビデオ信号10は、少なくともオーディオ/ビデオ信号10のビデオ要素を圧縮するビデオデータ圧縮装置20に供給され、例えば、ケーブル、光ファイバ、無線リンク等の送信ルート30に沿って送信される。圧縮された信号は、解凍装置40によって処理され、これにより、出力オーディオ/ビデオ信号50が提供される。リターンパスでは、圧縮装置60がオーディオ/ビデオ信号を圧縮し、当該オーディオ/ビデオ信号は送信ルート30に沿って解凍装置70に送信される。
【0016】
したがって、圧縮装置20及び解凍装置70は、送信リンクの1つのノードを構成することができる。また、解凍装置40及び圧縮装置60は、当該送信リンクの他の1つのノードを構成することができる。もちろん、送信リンクが単方向である場合は、これらのノードのうちの一方のノードのみが圧縮装置を必要とし、他方のノードのみが解凍装置を必要とすることになる。
【0017】
図2は、ビデオデータ解凍を行うビデオ表示システムを示す概略図である。具体的には、圧縮されたオーディオ/ビデオ信号100は解凍装置110によって処理され、これにより、表示装置120上で表示することができる解凍信号が提供される。
解凍装置110は、例えば、表示装置120と同じ筐体内に設けることにより、表示装置120と一体的に形成してもよい。或いは、解凍装置110は、(例えば)いわゆるセットトップボックス(STB:Set Top Box)として提供されてもよい。
なお、「セットトップ」という用語は、当該ボックスを表示装置120に対して特定の方向又は位置に配置する必要があることを意味するわけではない。この用語は、単に、周辺機器として表示部に接続可能なデバイスを示すために当該技術分野で使用されているに過ぎない。
【0018】
図3は、ビデオデータの圧縮及びビデオデータ解凍を行うオーディオ/ビデオ記憶システムを示す概略図である。入力オーディオ/ビデオ信号130は、圧縮信号を生成する圧縮装置140に供給され、例えば、磁気ディスク装置、光ディスク装置、磁気テープ装置、又は半導体メモリやその他の記憶装置等の固体記憶装置等の記憶装置150に記憶される。再生時においては、圧縮データが記憶装置150から読み出され、解凍装置160に送られて解凍される。これにより、出力オーディオ/ビデオ信号170が提供される。
【0019】
圧縮又は符号化された信号及び当該信号を記憶する非一過性の装置可読記憶媒体等の記憶媒体が本技術の実施形態として見なされることが理解されるであろう。
【0020】
図4は、ビデオデータの圧縮を行うビデオカメラを示す概略図である。
図4において、CCD(Charge Coupled Device)イメージセンサ及びそれに付随する制御及び読出電子機器等の画像キャプチャ装置180は、圧縮装置190に送るビデオ信号を生成する。1つ又は複数のマイクロフォン200は、圧縮装置190に送るオーディオ信号を生成する。圧縮装置190は、記憶及び/又は送信する(ステージ220として包括的に表す)圧縮オーディオ/ビデオ信号210を生成する。
【0021】
以下に説明する技術は、主に、ビデオデータの圧縮及び解凍に関する。オーディオデータの圧縮を行うために、以下に説明するビデオデータ圧縮技術と共に多くの既存の技術を用いて圧縮オーディオ/ビデオ信号を生成してもよいことが理解されるであろう。
したがって、オーディオデータの圧縮について別途説明は行わない。また、特に、放送品質ビデオデータにおいて、ビデオデータに関連するデータレートは一般的に、(圧縮及び非圧縮を問わず)オーディオデータに関連するデータレートよりもはるかに高いことも理解されるであろう。
したがって、非圧縮オーディオデータを圧縮ビデオデータに追加して圧縮オーディオ/ビデオ信号とすることができることが理解されるであろう。さらに、本発明の実施形態(
図1~
図4参照)はオーディオ/ビデオデータに関するものであるが、以下に説明する技術は、単にビデオデータを処理(すなわち、圧縮、解凍、記憶、表示、及び/又は送信)するシステムに使用してもよいことが理解されるであろう。
すなわち、これらの実施形態は、必ずしもオーディオデータ処理と関連している必要はなく、ビデオデータの圧縮に適用することができる。
【0022】
したがって、
図4は、画像センサと、以下で説明するタイプの符号化装置とを含むビデオキャプチャ装置の一例を提供する。したがって、
図2は、以下で説明するタイプの復号化装置の例と、復号化された画像が出力される表示装置を提供する。
【0023】
図2及び4の組み合わせは、画像センサ180及び符号化装置190、復号化装置110、及び、復号化された画像が出力される表示装置120を含むビデオキャプチャ装置を提供することができる。
【0024】
図5及び
図6は、装置20、60によって生成される(例えば)圧縮データ、装置110に入力される圧縮データ、又は、記憶媒体すなわちストレージ150、220を記憶する記憶媒体を示す概略図である。
図5は、磁気ディスク又は光ディスク等のディスク型記憶媒体を示す概略図である。
図6は、フラッシュメモリ等の固体記憶媒体を示す概略図である。なお、
図5及び
図6は、コンピュータによって実行されることによって後述の方法のうちの1つ又は複数の方法を当該コンピュータに実行させるコンピュータソフトウェアを記憶する非一過性の装置可読記憶媒体の例も示す。
【0025】
したがって、上記の構成は、本技術のいずれかを具体化するビデオ記憶装置、キャプチャ装置、送受信装置の例を提供する。
【0026】
図7は、ビデオデータ圧縮及び解凍装置の概略図である。
【0027】
制御部343は、ビデオデータ圧縮及び解凍装置の全体的な動作を制御する。制御部343は、特に、圧縮モードについて言えば、ブロックのサイズ及び形状等の種々の動作形態を選択する選択器として動作することによって、試行符号化処理を制御する。
また、制御部343は、ビデオデータが符号化されるに当たって損失が生じるか否かを制御する。この制御部は、画像エンコーダ又は画像デコーダ(場合による)の一部を構成すると見なされる。入力ビデオ信号300の連続画像は、加算部310及び画像予測部320に供給される。画像予測部320については、
図8を参照して後で詳述する。
画像エンコーダ又は画像デコーダ(場合による)は、
図8のイントラ画像予測部と共に、
図7に示す装置からの特徴を用いてもよい。しかしながら、この画像エンコーダ又は画像デコーダは、必ずしも
図7に示す全ての特徴を必要とするわけではない。
【0028】
加算部310は、「+」入力上で入力ビデオ信号300を受信し、「-」入力上で画像予測部320の出力を受信する事実上の減算(負の加算)動作を実行する。これにより、入力画像から予測画像が減算される。この結果、実画像と予測画像との差を表すいわゆる残差画像信号330が生成される。
【0029】
残差画像信号を生成する理由の1つは次の通りである。説明を行うデータ符号化技術、すなわち、残差画像信号に適用される技術は、符号化される画像において「エネルギ」が少ない場合に、より効率的に作用する傾向がある。ここで、「効率的」という用語は、生成した符号化データの量が少ないことを示す。特定の画像品質レベルにおいては、生成するデータができるだけ少ないことが望ましい(且つ、「効率的」と考えられる)。
残差画像における「エネルギ」は、残差画像に含まれる情報量に関連する。仮に、予測画像と実画像とが同一だとすると、これら2つの画像の差(すなわち、残差画像)は、ゼロの情報(ゼロエネルギ)を含み、非常に容易に少量の符号化データに符号化することができる。
一般的に、予測画像の内容が、符号化される画像の内容と同様になるように、予測処理を或る程度良好に実行することができる場合、残差画像データは、入力画像よりも情報が少なく(エネルギが少ない)、容易に少量の符号化データに符号化することができると予想される。
【0030】
(残差又は差分画像を符号化する)エンコーダとして動作する装置の残りの部分を説明する。残差画像データ330は、残差画像データのブロック又は領域の離散コサイン変換(DCT:Discrete Cosine Transform)表現を生成する変換部すなわち回路340に供給される。このDCT技術自体は広く知られているため、ここでは詳しく説明しない。
また、DCTの使用は、一構成例の例示に過ぎない。他の変換方式として、例えば、離散サイン変換(DST:Discrete Sine Transform)を用いることができるであろう。変換方式は、例えば、1つの変換方式に別の変換方式が(直接的又は間接的に)続く構成等、個々の変換方式を組み合わせてもよい。
変換方式の選択は、明示的に決定されてもよく、且つ/又は、エンコーダ及びデコーダを構成するのに用いられる付帯情報(side information)に依存してもよい。
【0031】
変換部340の出力、すなわち、画像データにおける各変換ブロックに対する一連のDCT係数は、量子化部350に供給される。量子化スケーリング要素による単純な乗算から、量子化パラメータの制御下における複雑なルックアップテーブルの応用に至るまで、様々な量子化技術がビデオデータ圧縮の分野において広く知られている。その目的として一般的なものには2つある。1つ目は、変換データが取り得る値を量子化処理により減少させることである。
2つ目は、変換データの値がゼロである可能性を量子化処理により増加させることである。これらにより、少量の圧縮ビデオデータの生成において、後述するエントロピー符号化処理をより効率的に行うことができる。
【0032】
スキャン部360により、データスキャン処理が適用される。スキャン処理の目的は、非ゼロの量子化変換係数をできるだけひとまとめにするため、また、もちろん、これにより、ゼロ値の係数をできるだけひとまとめにするために、量子化変換データを再整理することである。これらの機能により、いわゆるランレングス符号化又は同様の技術を効率的に適用することができる。
したがって、スキャン処理は、(a)スキャンの一部として全ての係数が一度は選択されるように、且つ、(b)スキャンにより所望の再整理を行うことができるように、「スキャン順」に従って、量子化変換データ、及び、特に、変換及び量子化された画像データのブロックに対応する係数のブロックから係数を選択することを含む。有効な結果をもたらすスキャン順の一例は、いわゆるUp-right Diagonalスキャン順である。
【0033】
スキャンされた係数は、その後、エントロピーエンコーダ(EE)370に送られる。この場合もやはり、各種エントロピー符号化を実行してもよい。2つの例は、いわゆるCABAC(Context Adaptive Binary Coding)システムの変形、及び、いわゆるCAVLC(Context Adaptive Variable-Length Coding)システムの変形である。一般的に、CABACは効率がよいと考えられている。或る研究では、CABACにおける符号化出力データの量は、同等の画像品質に対して、CAVLCよりも10~20%少ないことが示されている。
しかしながら、CAVLCが示す(実行する上での)複雑性のレベルは、CABACの複雑性のレベルよりもはるかに低いと考えられている。なお、スキャン処理及びエントロピー符号化処理は、別々の処理として示されているが、実際には、組み合わせるか、又は、一緒に扱うことができる。すなわち、エントロピーエンコーダへのデータの読み出しは、スキャン順で行うことができる。これは、後述する各逆処理の場合も同様である。
【0034】
エントロピーエンコーダ370の出力により、例えば、予測部320が予測画像を生成する方法を定義する(上述及び/又は後述の)追加データと共に、圧縮出力ビデオ信号380が提供される。
【0035】
一方、予測部320自体の動作は解凍された圧縮出力データに依存するため、リターンパスも提供される。
【0036】
この機能の理由は以下の通りである。解凍処理(後述する)における適切なステージで、解凍された残差データが生成される。この解凍残差データは、出力画像を生成するために、予測画像に追加する必要がある(なぜなら、元の残差データは、入力画像と予測画像との差であったため)。圧縮側と解凍側とでこの処理が同等となるように、予測部320によって生成される予測画像は、圧縮処理中及び解凍処理中において、同一であるべきである。
もちろん、装置は、解凍時において元の入力画像にアクセスすることができない。装置がアクセスすることができるのは、解凍画像のみである。したがって、圧縮時において、予測部320は、解凍された圧縮画像に基づいて(少なくともインター画像符号化について)その予測を行う。
【0037】
エントロピーエンコーダ370により実行されるエントロピー符号化処理は、(少なくともいくつかの例では)「無損失(lossless)」であると考えられる。すなわち、エントロピーエンコーダ370に最初に供給されたデータと全く同じデータに置き換えることができる。したがって、このような例では、リターンパスは、エントロピー符号化ステージよりも前に実装することができる。
実際、スキャン部360によって実行されるスキャン処理も無損失であると考えられるが、本実施形態では、リターンパス390は、量子化部350の出力から、補足逆量子化部420の入力までとされている。ステージによって損失が生じる又は損失が生じる可能性がある場合、当該ステージは、リターンパスによって形成されるフィードバックループに含めてもよい。
例えば、エントロピー符号化ステージは、例えば、ビットをパリティ情報において符号化する技術によって、少なくとも原理的には損失を生じるものとされ得る。このような例では、エントロピー符号化及び復号化は、フィードバックループの一部を形成する必要がある。
【0038】
一般的には、エントロピーデコーダ410、逆スキャン部400、逆量子化部420、逆変換部すなわち回路430は、それぞれ、エントロピーエンコーダ370、スキャン部360、量子化部350、及び変換部340の逆機能を提供する。ここでは、圧縮処理について説明を続け、入力圧縮ビデオ信号を解凍するための処理については、別途後述する。
【0039】
圧縮処理において、スキャンされた係数は、リターンパス390により量子化部350から、スキャン部360の逆動作を実行する逆量子化部420に送られる。逆量子化処理及び逆変換処理が逆量子化部420、逆変換部430により実行され、圧縮-解凍残差画像信号440が生成される。
【0040】
画像信号440は、加算部450で予測部320の出力に追加され、再構築出力画像460が生成される。これにより、後述するように、画像予測部320への1つの入力が構成される。
【0041】
受信した圧縮ビデオ信号470を解凍するために適用される処理について説明する。圧縮ビデオ信号470は、まず、エントロピーデコーダ410に供給され、そこから逆スキャン部400、逆量子化部420、及び逆変換部430の順に供給される。その後、加算部450によって画像予測部320の出力に追加される。
したがって、デコーダ側では、デコーダは、残差画像を再構築し、これを(ブロック単位で)(加算部450によって)予測画像に適用することで各ブロックを復号化する。端的に言うと、加算部450の出力460が出力解凍ビデオ信号480を形成する。
実際には、信号を出力する前に、さらに(例えば、フィルタ560を用いて)フィルタリングを任意選択で施してもよい。このフィルタ560は、
図8に示す。
図8に比べて全体的な構成を示す
図7では、フィルタ560は、見易さのために省略している。
【0042】
図7及び
図8に示す装置は、圧縮(符号化)装置又は解凍(復号化)装置として動作することができる。二種類の装置の機能が実質的に重複する。スキャン部360及びエントロピーエンコーダ370は、解凍モードでは使用されない。予測部320(後で詳述する)及び他の各部の動作は、受信した圧縮ビットストリームに含まれるモード及びパラメータ情報に従い、自らはこれらの情報を生成しない。
【0043】
図8は、予測画像の生成を示す概略図であり、特に、画像予測部320の動作を示している。
【0044】
2つの基本的な予測モードが画像予測部320によって実行される。2つの基本的な予測モードとは、いわゆるイントラ画像予測及びいわゆるインター画像予測又は動き補償(MC:Motion-Compensated)予測である。エンコーダ側では、これらの予測はそれぞれ、予測対象である現在のブロックについて予測方向を検出し、(同じ(イントラ)又は別の(インター)画像における)他のサンプルに応じてサンプルの予測ブロックを生成することを含む。加算部310又は450により、予測ブロックと実際のブロックとの差異を符号化又は復号化することで、ブロックをそれぞれ符号化又は復号化する。
【0045】
(デコーダ側又はエンコーダの逆復号化側では、この予測方向の検出は、どの方向がエンコーダで用いられたかを示す、エンコーダによる符号化データに関係付けられたデータに応じるものであってもよい。或いは、当該予測方向の検出は、エンコーダで決定された要素と同じものに応じるものであってもよい。)
【0046】
イントラ画像予測は、同一画像内から得られるデータにおける画像ブロック又は領域の内容の予測を基礎としている。これは、他のビデオ圧縮技術における、いわゆるIフレーム符号化に対応する。しかし、画像全体をイントラ符号化によって符号化するIフレーム符号化とは対照的に、本実施形態では、イントラ符号化及びインター符号化の選択を、ブロック毎に行うことができる。他の実施形態では、当該選択が依然として画像毎に行われる。
【0047】
動き補償予測は、インター画像予測の一例であり、他の隣接画像又は近接画像において、現在の画像において符号化される画像詳細のソースを定義しようとする動き情報が用いられる。したがって、理想的な例では、予測画像における画像データのブロックの内容は、隣接画像において同じ位置又はわずかに異なる位置に存在する対応ブロックを示す参照(動きベクトル)として、非常に容易に符号化することができる。
【0048】
「ブロックコピー」予測として知られる技術は、現在の予測ブロックを生成するためにコピーすべき、同一の画像内の現在の予測ブロックから変位した位置にある、サンプルから成るブロックを示すベクトルを用いるため、いくつかの点において、上記2つの予測のハイブリッドと言える。
【0049】
図8に戻る。
図8には(イントラ画像予測及びインター画像予測に対応する)2つの画像予測構成が示されており、その予測結果が、加算部310及び450に供給するための予測画像のブロックを提供するように、(例えば、制御部343の)モード信号510の制御下において乗算部500によって選択される。当該選択は、どちらを選択すれば最少の「エネルギ」(上述のように、符号化が必要な情報の量と考えてもよい)となるかに基づいて行われ、また、当該選択は、符号化出力データストリームでデコーダに通知される。
これに関して、例えば、入力画像から、2つのバージョンの予測画像の領域を試行減算し、差分画像の各ピクセル値を2乗し、乗算値を合計し、当該2つのバージョンのうち、その画像領域に関連する差分画像の平均乗算値が低いのはどちらのバージョンかを特定することによって、画像エネルギを検出することができる。他の例では、選択毎に又はあり得る選択毎に試行符号化を実行することができる。そして、符号化に必要なビット数及び当該画像に対する歪みのうちの一方又は両方に関する、あり得る選択毎の費用に応じて選択が行われる。
【0050】
イントラ予測システムでは、実際の予測は、信号460の一部として受信された画像ブロックに基づいて行われる。すなわち、予測は、解凍装置において全く同じ予測を行うことができるように、符号化-復号化画像ブロックに基づいて行われる。しかしながら、データを入力ビデオ信号300から導出して、イントラモード選択部520により、イントラ画像予測部530の動作を制御することもできる。
【0051】
インター画像予測では、動き補償(MC)予測部540は、例えば、動き推定部550によって入力ビデオ信号300から導出された動きベクトル等の動き情報を用いる。動き補償予測部540は、これら動きベクトルを再構築画像460に適用し、インター画像予測のブロックを生成する。
【0052】
したがって、イントラ画像予測部530及び動き補償予測部540(推定部550と共に動作する)はそれぞれ、予測対象である現在のブロックについての予測方向を検出する検出部として、また、予測方向によって画定される他のサンプルに応じてサンプルの予測ブロック(加算部310及び450に送る予測結果の一部をなす)を生成する生成部として動作する。
【0053】
ここで、信号460に適用される処理について説明する。まず、信号460は、フィルタ部560によって任意選択でフィルタリングされる。フィルタ部560については、以下でさらに詳細に説明する。この処理では、変換部340が実行する、ブロックに基づく処理及び後続の動作に対する影響を排除する、又は少なくとも軽減させるために「非ブロック化(deblocking)」フィルタが適用される。
サンプルアダプティブオフセッティング(SAO:Sample Adaptive Offsetting)フィルタを用いることも可能である。また、再構築信号460及び入力ビデオ信号300を処理することによって得られる係数を使用して、適応ループフィルタが任意選択で適用される。この適応ループフィルタは、公知の技術を使用して、フィルタリング対象のデータに対して適応フィルタ係数を適用するフィルタの一種である。すなわち、フィルタ係数は、各種要素に基づいて変化し得る。どのフィルタ係数を用いるかを定義するデータは、符号化出力データストリームの一部に挿入される。
【0054】
装置が解凍装置として動作している場合、フィルタ部560からのフィルタリングされた出力は、実際には、出力ビデオ信号480を形成する。この信号は、1つ又は複数の画像又はフレーム記憶部570に記憶される。連続画像の記憶は、動き補償予測処理、特に、動きベクトルの生成において必要となる。必要なメモリを確保するため、画像記憶部570に記憶される画像は、圧縮形式で保持され、その後、動きベクトルの生成に用いるために解凍されてもよい。
この特定の目的のために、公知のいかなる圧縮/解凍システムを用いてもよい。記憶画像は、より高い解像度の記憶画像を生成する補間フィルタ580に送られる。この例では、補間フィルタ580によって出力される補間画像の解像度が、輝度チャンネルが4:2:0である場合に画像記憶部570に記憶された画像の4倍(各寸法)となるように、色チャンネルが4:2:0である場合に画像記憶部570に記憶された画像の8倍(各寸法)となるように、中間サンプル(サブサンプル)が生成される。補間画像は、動き推定部550及び動き補償予測部540への入力として送られる。
【0055】
ここで、圧縮処理のために画像を分割する方法について説明する。基本的なレベルでは、圧縮対象の画像は、サンプルから成るブロック又は領域の配列として考えることができる。このような画像のブロック又は領域への分割は、参照によりその内容が本明細書に援用されるBross他著「High Efficiency Video Coding(HEVC)text specification draft 6」、JCTVC-H1003_d0(November 2011)に記載されているような決定木によって行うことができる。
いくつかの例では、結果として得られるブロック又は領域は、様々なサイズを有し、場合によっては、決定木により、全体的に当該画像内の画像特徴の配列に沿った形状を有する。これだけでも符号化効率を向上させることができる。というのも、類似の画像特徴を表す又はこれらに沿うサンプルは、このような構成によって、グループ化される傾向にあるからである。いくつかの例では、異なるサイズの正方形ブロック又は領域(例えば、4×4サンプル~例えば64×64、又はより大きいブロック)が、選択に利用可能である。
他の構成例では、(例えば、垂直方向又は水平方向に配向された)矩形ブロック等の異なる形状のブロック又は領域を用いることができる。他の非正方形及び非矩形ブロックも包含される。このような画像のブロック又は領域への分割結果として、(少なくとも本例では)画像のサンプルがそれぞれ1つの、さらには、1つのみの係るブロック又は領域サンプルに割り当てられる。
【0056】
これより、イントラ予測処理について説明する。一般的に、イントラ予測は、同一の画像において先に符号化及び復号化されたサンプルからサンプルの現在のブロックの予測結果を生成することを含む。
【0057】
図9は、部分的に符号化された画像800を示す概略図である。ここで、当該画像は、左上から右下に向かってブロック単位で符号化されている。画像全体の処理において符号化途中にあるブロックの一例を、ブロック810として示す。上方の影付き領域820からブロック810の左側までは既に符号化されている。ブロック810の内容のイントラ画像予測のために、影付き領域820のうちのいずれも利用することができるが、それより下方の影なし領域を利用することはできない。
【0058】
いくつかの例では、より大きいブロック(CU(Coding Unit)と称する)が、
図9を参照して説明した順序等の順序で符号化されるように、画像をブロック単位で符号化する。CU毎に、(行われたブロック分割処理に応じて)CUは、セットの2つ以上のより小さいブロック又はTU(Transform Unit)として処理される可能性がある。これによって、当該画像がCU単位で符号化されるような符号化の階層順が与えられる。
各CUは、可能性として、TU単位で符号化される。なお、現在のCTU(Coding Tree Unit)内の個々のTU(ブロック分割のツリー構造において最大のノード)について、上述した(CU毎の、次いで、TU毎の)符号化の階層順は、現在のCUにおいて先に符号化されたサンプルが存在し、当該TUの符号化に利用可能であり得ることを意味する。これらのサンプルは、例えば、当該TUの右上又は左下に存在する。
【0059】
ブロック810は、CUを表す。上述したように、イントラ画像予測処理のために、これは、セットのより小さい単位に細分化してもよい。現在のTU830の一例をCU810内に示す。より一般的には、画像は、シグナリング情報及び変換後のデータを効率的に符号化することができるように、領域又はサンプル群に分割される。情報のシグナリングは、当該変換の構造に対して、実際には、予測情報又は予測そのものの構造に対して、細分化されたものから成る異なるツリー構造を必要とし得る。
このような理由から、CUは、変換ブロック又は領域、予測ブロック又は領域及び予測情報の構造に対して異なるツリー構造を有し得る。HEVC等のいくつかの例では、当該構造は、葉ノードが1つ又は複数の予測単位及び1つ又は複数のTUを含む、CUのいわゆる四分木とすることができる。TUは、画像のルマ及びクロマ表現に対応する複数の変換ブロックを含むことができ、予測方式は、変換ブロックレベルで適用可能であると考えることができる。
いくつかの例では、特定のサンプル群に適用されるパラメータは、主にブロックレベルで定義されると考えることができる。このブロックレベルは、変換構造と同じ粒度ではない可能性がある。
【0060】
イントラ画像予測は、現在のTUを考慮する前に符号化されたサンプルを考慮する。当該サンプルは、現在のTUの上方及び/又は左側のサンプルである。必要なサンプルの予測元となるサンプルは、現在のTUに対して異なる位置又は方向に存在し得る。現在の予測単位に対していずれの方向が適しているかを決定するために、例示的なエンコーダのモード選択部520は、候補方向毎に利用可能なTU構造の組み合わせを全て試し、圧縮効率が最高となる予測方向及びTU構造を選択することができる。
【0061】
画像は、「スライス」毎に符号化されてもよい。一例では、スライスは、水平方向に隣接するCU群である。しかしながら、より一般的には、残差画像全体でスライスを構成することができ、或いは、スライスを単一のCU又はCUの行等とすることもできる。スライスは、独立した単位として符号化されるため、エラーに対する回復力が或る程度得られる。エンコーダ及びデコーダの状態は、スライス境界で完全にリセットされる。例えば、イントラ予測はスライス境界を跨いでは行われない。このため、スライス境界は、画像境界として処理される。
【0062】
図10は、考えられる(候補となる)セットの予測方向を示す概略図である。予測単位に対して方向候補を全て利用可能である。方向は、現在のブロック位置に対する水平及び垂直移動により決定されるが、予測「モード」として符号化される。当該セットの方向を
図11に示す。なお、いわゆるDCモードは、周囲にある上部及び左側のサンプルの単純算術平均を表す。また、
図10に示す方向のセットは一例に過ぎない。他の例では、
図12に概略的に示されているように、(例えば)65の角度モードにDC及びplanarを合わせたセット(合計67のモード)で一セットとする。他のモード数も採用可能である。
【0063】
一般的に、システムは、予測方向の検出後、予測方向によって確定された他のサンプルに応じてサンプルの予測ブロックを生成するように動作可能である。いくつかの例では、画像エンコーダは、画像のサンプル又は領域毎に選択された予測方向を識別するデータを符号化するように構成される(そして、画像デコーダは、そのようなデータを検出するように構成される)。
【0064】
図13は、イントラ予測処理を示す概略図である。このイントラ予測処理では、サンプルから成るブロック又は領域910のサンプル900を、当該サンプルに関連するイントラ予測モードによって確定された方向930に応じて同一の画像の他の参照サンプル920から導出する。本例の参照サンプル920は、対象のブロック910の上方及び左側のブロックが元となっており、サンプル900の予測値は、参照サンプル920に対して方向930に沿ってトラッキングすることによって得られる。
方向930は、単一の個別の参照サンプルを示してもよいが、より一般的には、周辺の参照サンプルの補間値を予測値として用いる。なお、ブロック910は、
図13に示すように正方形であってもよく、矩形等の他の形状であってもよい。
【0065】
図14は、CABACエントロピーエンコーダの動作を示す概略図である。
【0066】
CABACエンコーダは、バイナリデータ、すなわち、0及び1の2つのシンボルのみで表されるデータに関して動作する。当該エンコーダは、既に符号化されたデータに基づいて、次のデータに対する「コンテキスト」、すなわち、確率モデルを選択するいわゆるコンテキストモデリング処理を実行する。
コンテキストの選択は、既に復号化されたデータに基づいて、デコーダに渡される符号化データストリームに追加される(コンテキストを特定する)別のデータを必要とすることなく、デコーダにおいて同じ決定が行われるような決定論的な方法で実行される。
【0067】
図14を参照して、符号化される入力データは、既にバイナリ形式でない限りバイナリコンバータ1400に渡してもよい。データが既にバイナリ形式である場合、コンバータ1400は(図のスイッチ1410により)バイパスされる。本実施形態では、バイナリ形式への変換は、実際には、量子化DCT係数データを一連のバイナリ「マップ」として表現することにより行う。バイナリマップについては後述する。
【0068】
バイナリデータは、その後、(別々の経路として概略的に示されているが、後述する本発明のいくつかの実施形態では、わずかに異なるパラメータを用いるだけで同じ処理ステージで実際に実行することができる)「正規」経路及び「バイパス」経路の2つの処理経路のうちの1つにより処理してもよい。バイパス経路では、必ずしも正規経路と同じ形式のコンテキストモデリングを利用しないいわゆるバイパスコーダ1420が用いられる。
CABAC符号化のいくつかの例では、一連のデータを特に急速に処理する必要がある場合、当該バイパス経路を選択することができる。しかしながら、本実施形態では、いわゆる「バイパス」データの2つの特徴について言及する。1つ目の特徴は、バイパスデータは、50%の確率を表す固定コンテキストモデルを利用するだけでCABACエンコーダ(950,1460)により処理されることである。
2つ目の特徴は、バイパスデータは、一定のカテゴリのデータに関するということである。当該データの特定例は、係数符号データである。バイパス経路を選択しない場合、制御回路1435の制御下で動作する図に示すスイッチ1430,1440により正規経路が選択される。これには、コンテキストモデラ1450によって処理され、続いて符号化エンジン1460によって処理されるデータが含まれる。
【0069】
図14に示すエントロピーエンコーダは、ブロック全体が0値のデータから構成される場合、データのブロック(すなわち、例えば、残差画像のブロックに関する係数のブロックに対応するデータ)を単一値として符号化する。このカテゴリに含まれない各ブロック、すなわち、少なくともいくつかの非ゼロのデータを含むブロックに対しては、「重要性マップ(significance map)」を作成する。重要性マップは、符号化されるデータのブロックにおける各位置に対して、ブロック内の対応する係数が非ゼロであるか否かを示す。
バイナリ形式である重要性マップデータ自体は、CABAC符号化される。重要性マップを利用することは、重要性マップによってゼロであると示される大きさの係数に対してデータを符号化する必要はないため、圧縮に役立つ。また、重要性マップには、ブロックにおける最後の非ゼロ係数を示す特別なコードを含めることもできる。これにより、最後の高周波数/後置ゼロ(トレーリングゼロ)係数の全てを符号化から省略することができる。符号化ビットストリームにおいて、重要性マップの後には、重要性マップにより規定される非ゼロ係数の値を定義するデータが続く。
【0070】
また、別のレベルのマップデータも作成され、CABAC符号化される。その一例としては、重要性マップによって「非ゼロ」であると示されたマップ位置における係数データが実際には「1」の値を有するか否かをバイナリ値(1=yes,0=no)として定義するマップがある。他のマップは、重要性マップによって「非ゼロ」であると示されたマップ位置における係数データが実際には「2」の値を有するか否かを規定する。さらに別のマップは、重要性マップによって当該係数データが「非ゼロ」であると示されたこれらマップ位置に対し、当該データが「3以上の」値を有するか否かを示す。また、さらに別のマップは、「非ゼロ」として特定されたデータに対して、(+に対して1、-に対して0、あるいはその逆、等の所定のバイナリ表記を用いて)データ値の符号を示す。
【0071】
本発明の実施形態では、有意性マップおよび他のマップは、CABACエンコーダまたはバイパスエンコーダのいずれかに所定の方法で割り当てられ、すべて同じ初期データ項目の異なるそれぞれの属性または値範囲を表す。
1つの例では、少なくとも有意性マップはCABACエンコードされ、残りのマップの少なくとも一部(符号データなど)はバイパスエンコードされる。したがって、各データ項目は、データのそれぞれのサブセットに分割され、それぞれのサブセットは、第1の(例えば、CABAC)および第2の(例えば、バイパス)符号化システムによって符号化される。
データ、CABACおよびバイパス符号化の性質は、所定の量のCABAC符号化データに対して、同じ初期データ項目に関して可変量がゼロ以上のバイパスデータが生成されるようなものである。したがって、例えば、量子化された、再配列されたDCTデータが実質的にすべてゼロ値を含む場合、バイパスデータが生成されないか、または非常に少量のバイパスデータが生成されてもよい。
これは、バイパスデータは、有意性マップの値がゼロでないことを示しているマップ位置のみに関係するためである。別の例では、多くの高い値係数を有する量子化再順序付けDCTデータにおいて、かなりの量のバイパスデータが生成されてもよい。
【0072】
本発明の実施形態では、有意性マップ及び他のマップは、量子化されたDCT係数から、例えば、走査ユニット360によって生成され、CABAC符号化に供される前に、ジグザグ走査処理(又は、ジグザグ、水平ラスタ及び垂直ラスタ走査から選択される走査処理)に供される。
【0073】
一般的に、CABAC符号化は、前に符号化された他のデータに基づいて、符号化される次のビットのコンテキスト、すなわち確率モデルを予測することを含む。次のビットが確率モデルによって「最も可能性が高い」と識別されるビットと同じである場合、「次のビットが確率モデルと一致する」という情報の符号化は、大きな効率で符号化することができる。
「次のビットは確率モデルと一致しない」ことを符号化することは効率が悪いので、コンテキストデータの導出は、エンコーダの良好な動作にとって重要である。「適応」という用語は、(まだ符号化されていない)次のデータとの良好な一致を提供する試みにおいて、コンテキストまたは確率モデルが符号化の間に適応されるか、または、変化されることを意味する。
【0074】
単純な類推を用いて、書かれた英語では、文字"U"は比較的まれである。しかし、文字"Q"の直後の文字位置では、非常に一般的である。そのため、確率モデルでは「U」の確率を非常に低い値として設定できるが、現在の文字が「Q」の場合、次の文字としての「U」の確率モデルは、非常に高い確率値に設定できる。
【0075】
CABAC符号化は、現在の構成では、少なくとも有意性マップと、非ゼロ値が1か2かを示すマップのために使用される。
バイパス処理-これらの実施形態では、CABAC符号化と同一であるが、確率モデルが1sと0sの等しい(0.5:0.5)確率分布で固定されているという事実に対して、少なくとも符号データと、値が>2であるかどうかを示すマップのために使用される。>2として識別されるそれらのデータ位置に対して、別個のいわゆるエスケープデータエンコードを使用して、データの実際の値を符号化することができる。これには、Golomb-Rice符号化技術が含まれてもよい。
【0076】
CABACコンテキストモデリングとエンコード処理については、WD4: 高効率ビデオコーディングのWorking Draft 4、JCTVC-F803_d5、Draft ISO I/EC 23008-HEVC; 201x(E) 2011-10-28でさらに詳しく説明されている。
【0077】
ここで、
図15および
図16を参照すると、ビデオ符号化装置の一部を形成するエントロピーエンコーダは、第1の符号化システム(例えば、CABACエンコーダ1500のような算術符号化システム)と、(バイパスエンコーダ1510のような)第2の符号化システムとを含み、特定のデータワードまたは値がCABACエンコーダまたはバイパスエンコーダのいずれかによって最終出力データストリームに符号化されるが、両方では符号化されないように配置される。
【0078】
本発明の実施形態では、CABACエンコーダおよびバイパスエンコーダに渡されるデータ値は、初期入力データ(この例では再順序付けされた量子化されたDCTデータ)から分割または導出される順序付けられたデータ値のそれぞれのサブセットであり、入力データから生成された「マップ」のセットの異なるものを表す。
【0079】
模式図は、CABACエンコーダとバイパスエンコーダを別々の配置として扱う。これは、実際にはよく当てはまるが、
図16に概略的に示される別の可能性では、単一のCABACエンコーダ1620が、
図15のCABACエンコーダ1500およびバイパスエンコーダ1510の両方として使用される。
エンコーダ1620は、CABACエンコーダ1500のモードにあるとき(上述のように)適応コンテキストモデルで動作し、かつ、バイパスエンコーダ1510のモードにあるとき、固定された50%確率コンテキストモデルで動作するように、エンコーダ1630の制御下で動作する。
【0080】
第3の可能性は、2つの実質的に同一のCABACエンコーダを並列に(
図15の並列配置と同様に)動作させることができるという点で、これらの2つを組み合わせる。その差は、バイパスエンコーダ1510として動作するCABACエンコーダが、そのコンテキストモデルを50%の確率コンテキストモデルで固定しているという点である。
【0081】
CABAC符号化プロセスおよびバイパス符号化プロセスの出力は、それぞれのバッファ1540、1550に(一時的に少なくとも)格納することができる。
図16の場合、スイッチまたはデマルチプレクサ1660は、モード信号1630の制御の下で機能し、CABAC符号化データをバッファ1550にルーティングし、符号化データをバッファ1540にバイパスする。
【0082】
図17及び
図18は、ビデオデコーディング装置の一部を形成するエントロピーデコーダの例を概略的に示す。
図17を参照すると、それぞれのバッファ1710、1700は、CABACデコーダ1730およびバイパスデコーダ1720にデータを渡し、特定の符号化されたデータワードまたは値がCABACデコーダまたはバイパスデコーダのいずれかによって復号されるが、両方ではないように配置される。復号化されたデータは、ロジック1740によって、後続の復号化段階のための適切な順序に再順序付けされる。
【0083】
図17の概略図は、CABACデコーダとバイパスデコーダを別々の配置として扱っている。これは、実際にはよく当てはまるが、
図18に概略的に示される別の可能性においては、単一のCABACデコーダ1850が、
図17のCABACデコーダ1730およびバイパスデコーダ1720の両方として使用される。
デコーダ1850は、CABACデコーダ1730のモードにあるとき(上述のように)適応コンテキストモデルで動作し、かつ、バイパスエンコーダ1720のモードにあるとき、固定された50%確率コンテキストモデルで動作するように、デコーダ1860の制御下で動作する。
【0084】
前述のように、第3の可能性は、2つの実質的に同一のCABACデコーダを並列に動作させることができるという点で(
図17の並列配置に同様)、その差は、バイパスデコーダ1720として動作するCABACデコーダが、50%の確率コンテキストモデルで固定されたコンテキストモデルを有することである。
【0085】
図18の場合、スイッチまたはマルチプレクサ1870は、モード信号1860の制御下で作用して、CABAC符号化データを、適宜、バッファ1700またはバッファ1710からデコーダ1850にルーティングする。
【0086】
図19は、ピクチャ1900を概略的に示し、以下の議論に関連する各種ピクチャ分割スキームを示すために使用される。
【0087】
ピクチャの分割の一例は、スライスまたは「正規のスライス」にある。各正規スライスは、独自のネットワーク抽象化層(NAL)ユニットにカプセル化される。ピクチャ内の予測(例えば、サンプル内予測、動き情報予測、符号化モード予測)とスライス境界を越えるエントロピー符号化依存性は許可されない。つまり、通常のスライスは、同じピクチャ内の他の正規のスライスから独立して再構成できる。
いわゆるタイルは、ピクチャをタイルの行と列に分割するための水平方向の境界と垂直境界を定義する。正規のスライスに対応する方法では、インピクチャ予測依存性はタイル境界を越えて許可されず、エントロピーデコード依存性もない。ただし、タイルは、個々のNALユニットに含まれるように制約されない。
【0088】
一般的に言えば、1つのスライス内に複数のタイルがあったり、1つのタイル内に複数のスライスがあったり、1つのピクチャ内に1つ以上のスライスがあったりする。
【0089】
図19の概略例は、4つのスライス1910、1920、1930、1940を示し、スライス1940は、2つのタイル1950、1960を含む。しかしながら、言及されているように、これは単に任意の概略的な例である。
【0090】
いくつかの構成例では、以下の式に従って、スライスまたはピクチャに符号化され得るビンの数(EPまたはCABACのいずれか)に対して閾値が存在する。
【0091】
BinCountsinNalUnits <= (4/3) * NumBitsInVclNalUnits + (RawMinCuBits*PicSizelnMinCbsY)/32 (式1)
【0092】
式の右側は、2つの部分の合計に依存する。これらは、特定の画像領域の定数値(RawMinCuBits*PicSizelnMinCbsY)で、スライスまたはピクチャのサイズに関連し、スライスまたはピクチャの出力ストリームで符号化されたビット数である動的値(NumBitsInVclNalUnits)である。値4/3は、ビットごとのビンの数を表すことに注意する。
【0093】
RawMinCuBitsは最小サイズ(通常は4*4)の未加工のCUのビット数で、PicSizelnMinCbsYはスライスまたはピクチャの最小サイズCUの数である。
【0094】
この閾値を超えると、閾値が達成されるまで、CABACゼロワード(値00 00 03を持つ3バイト)がストリームに付加される。このようなゼロワードのそれぞれは、動的値を3ずつ増加させる。
【0095】
この制約は、以下のように表現されてもよい。
N <= K1 * B + (K2 * CU)
ここで、N=出力データ部の2値化シンボル数、
K1は定数、
B=出力データ部のエンコードされたバイト数、
K2は、画像データ符号化装置によって採用される最小サイズ符号化単位の特性に依存する変数であり、
CU=最小サイズの符号化単位数で表される出力データ部で表されるピクチャ、スライス、またはタイルのサイズである。
【0096】
以前に提案した例では、この閾値チェックをピクチャとスライスレベルで実行される。
【0097】
別の方法として、同一の閾値の次の式を使用してもよい。ここで、差異はビットではなくバイトへの参照にある。
BinCountsinNalUnits <= (32/3) * NumByteslnVclNalUnits +
(RawMinCuBits * PicSizelnMinCbsY)/32 (式2)
【0098】
式1の閾値(又は式2で等価に表される閾値)は、一様に、すなわち、他の符号化又は復号化パラメータ、属性等に関係なく適用され得る。
【0099】
このような閾値を使用する技術的正当性の一例は、閾値自体が、リアルタイムデコーダによって要求される処理性能の最大レベルを間接的に定義することである。リアルタイムデコーディングは、特定の出力フレームレート(たとえば、1秒あたりのフレーム数)を達成するために、時間内の各フレームをデコードすることに依存する。リアルタイムデコーダの処理性能に対する制約は、結果として生じるデコードされたデータの量ではなく、2値(バイナリ)をデコードする必要がある速度に左右される。
エンコーダ側で比較的簡単なレート制御を可能にするために、この状況を制御するために使用される技術は、スライスまたはピクチャあたりの2値の数を制限する(例えば、上限または閾値または制約として)ことである。その後、CABACデコーダによって要求される最大処理性能は、この制約のプロダクトまたは機能、および、スライスまたはピクチャがデコードされなければならない速度として考慮され得る。
【0100】
したがって、閾値(または上限または制約)を適切に設定することが重要である。閾値が高すぎると、リアルタイムデコーダの実装または正常な動作の課題が発生する可能性がある。同様に、誤った閾値または不適切な閾値の使用は、パディングデータの過剰な使用(例えば、符号化された出力データ部のサイズを増加させるために、符号化されたデータストリームの部分を占めることを単に目的とするダミーまたは他のデータ)につながる可能性があり、符号化の効率を低下させる。
【0101】
図19を参照して注記したように、ピクチャまたはスライスを複数のタイルに分割することができる。これが実行される理由の一例は、複数の同時(並列)デコーダの使用を可能にすることである。
【0102】
先に提案した配置下では、各タイルは必ずしも先に議論した閾値算出を満たさない。たとえば、タイルがピクチャのように単独で使用またはデコードされたり、異なるタイル(異なるクオンタイズパラメータや異なるソースなど)が一緒に合成されたりすると、合成されたスライスやピクチャが上記の仕様に準拠している保証がない場合がある。
【0103】
この問題に対処するために、例示的な実施形態では、CABAC閾値は、各スライスまたは画像単独の終わりではなく、各タイルの終わりに適用される。そのため、閾値の適用は、タイル、スライス、ピクチャのいずれかの符号化の最後に行われる。これを述べると、画像内の各タイルが閾値に準拠している場合、ピクチャ全体も準拠していなければならないと想定できるので、スライスまたはタイルに分割されたピクチャの場合、ピクチャの符号化の最後に閾値を再び適用する必要はない。
【0104】
「タイル」および「スライス」という用語は、独立して復号可能な単位を意味し、本出願の優先日に使用されている名称を表す。名称の後続または他の変化の場合、その配置は、そのような独立して復号可能な他のユニットに適用可能である。
したがって、例示的な構成では、出力データ部は独立して復号可能なデータユニットであってもよい。例えば、(出力データ部によって表される)画像部分は、画像、スライス、またはタイルのうちの1つであってもよい。
【0105】
上述の式を適用するために、動的値は、タイルの出力ストリームで符号化されたバイト数を表し、固定値はタイル内の最小サイズ符号化単位(CU)の数に依存する。
【0106】
図20は、このテストを実行するように構成された装置を概略的に示す。
図20を参照すると、入力2000において、CABAC/EP符号化ストリームがエンコーダから受信される。パディングデータ検出器2010は、スライスまたはタイルを符号化した終端などのスライスまたはタイルの完了を参照して、所定の段階で、上述した閾値算出が準拠しているかどうかを検出する。
コントローラ2020は、検出器2010による検出に応答してパディングデータジェネレータ(生成器)2030を制御し、上述したCABACゼロワードのようなパディングデータ2040を生成し、これを結合器2050によってストリームに付加して出力ストリーム2060を形成する。
ゼロワードの生成は、ゼロワードが付加されると、パディングデータ検出器2010が閾値に準拠しているかどうかを監視し続け、閾値に準拠した後、コントローラ2020にゼロワードの生成を中止させるように、検出器2010に信号を送り返すこともできる。
【0107】
他の例では、コントローラ2020は、出力データ部の生成中に、ここで説明する実施形態に関連してその出力データ部によって制約が満たされるかどうかの予測を生成するように構成された予測器としても機能してもよい。
【0108】
所定のステージは、例えば、n個(ここで、nは、1以上の整数)の符号化された2値毎であってもよいが、実施例では、所定のステージは、現在の出力データ部を符号化した終端である。
【0109】
したがって、
図20には、現在の出力データ部の符号化に対する所定の段階で、制約が現在の出力データ部によって満たされるかどうかを検出するように構成されたパディングデータ検出器2010の一例と、挿入されるパディングデータを含む出力データ部が制約を満たすように、現在の出力データ部に十分なパディングデータを生成し、挿入するように構成されたパディングデータ生成器2030とが開示されている。
【0110】
図21を参照すると、いくつかの例において、コントローラ2020は、所与の出力データ部に適用可能な符号化属性を検出するように構成された属性検出器2070と、検出された符号化属性に応じて、所与の出力データ部と共に使用するために、2つ以上の候補制約2082から制約を選択するように構成された選択器2080とを含む。
【0111】
また、コントローラ2020は、パディングデータ生成器2030の動作を制御するための制御信号を導出するために、現在選択されている制約から導出された閾値を、パディングデータ検出器2010による検出と比較するための比較器2090を含んでもよい。
【0112】
検出器2070によって検出される属性は、例えば、符号化属性(例えば、符号化モードまたはプロファイル、例えば、以下で論じるべき従属量子化の有効化)であってもよく、これは、現在のデータ値の量子化に使用する量子化パラメータの選択が、以前に符号化されたデータ値の特性に少なくとも一部依存し、その後符号化されたデータストリームに含まれるか、または、符号化されたデータストリームに関連するフラグデータ(概略的には2072として示される)によって表され、後にデコーダで検出可能となる動作モードである。
例えば、フラグデータは、出力データ部のヘッダデータ(例えば、スライスヘッダデータ)のようなヘッダデータに含まれてもよい。検出器2070は、それ自体がフラグデータを生成または挿入する必要はない。プロセスのこの態様は、本説明の利益のために単に概略的目的のために
図21に示されている。
属性は、(いくつかの例のように)属性が他の(例えば先行または後続の)出力データ部にも適用可能である場合であっても、所与の出力データ部に適用可能であると考えることができる。
【0113】
したがって、
図19および20(および以下で説明するもの)に関して説明した技法に従って動作する
図7および14の装置は、画像データ符号化装置の一例を提供する。この装置は、
画像データを表す連続するシンボルから二値化シンボルを表す出力データビットを生成するように構成された第1のデータエンコーダ1450、1460及び第2のデータエンコーダ1420を具備する。
第1のデータエンコーダは、符号化シンボルの数に対する可変データビットの比率で符号化シンボルを表す出力データビットを生成するように構成されている。
第2のデータエンコーダは、各符号化シンボルを表す固定数の出力データビットを生成するように構成されている。
エントロピーエンコーダは、(例えば、コントローラ2020及び/又はコントローラ1435を使用して)出力データストリームを生成するように構成されている。この出力データストリームは、制約を満たすために、その出力データ部のバイト単位のサイズを増加させるために、制約を満たさない各出力データ部に対して、パディングデータを提供するようにエントロピーエンコーダが構成されている、その出力データ部のバイトサイズに対する任意の個々の出力データ部のバイトサイズで表される二値化シンボルの数に対する上限を定義する制約を受ける。
装置は、
所与の出力データ部に適用可能な符号化属性を検出するように構成された属性検出器2070と、
検出された符号化属性に応じて、所与の出力データ部と共に使用するための制約を、2つ以上の候補制約から選択するように構成された選択器2080とを備える。
【0114】
図14に示される技術を使用して、第1のデータエンコーダ/デコーダは、コンテキスト適応二進算術符号化(CABAC)エンコーダ/デコーダであってもよい。第2のデータエンコーダ/デコーダは、バイパスエンコーダ/デコーダであってもよい。第2のデータエンコーダ/デコーダは、固定された50%確率コンテキストモデルを使用するバイナリ算術コーダ/デコーダであってもよい。
【0115】
閾値または制約の適用例は次のとおりである。
【0116】
一般的に、テストは「生成された出力データの量が閾値テストを満たしているか?」である。これは、例えば、出力データ部を符号化する最後に実行することができる。
【0117】
ここで論じた技術に従って動作する
図7の装置は、画像データ符号化装置の一例を提供する。
画像データ符号化装置は、連続する出力データ部の符号化された2値化シンボルを生成するように画像データを表すデータ項目を選択的に符号化するように構成されたエントロピーエンコーダを具備する。
エントロピーエンコーダは、出力データストリームを生成するように構成されており、この出力データストリームは、その出力データ部のバイトサイズに対する任意の個々の出力データ部のバイトサイズで表される二値化シンボルの数に対する上限を定義する制約を受け、
この制約を満たすために、その出力データ部のバイト単位のサイズを増加させるために、この制約を満たさない各出力データ部に対して、パディングデータを提供するようにエントロピーエンコーダが構成されている
画像データ符号化装置は、
所与の出力データ部に適用可能な符号化属性を検出するように構成された属性検出器と、
検出された符号化属性に応じて、所与の出力データ部と共に使用するための制約を、2つ以上の制約の候補から選択するように構成された選択器(セレクタ)とを備える。
【0118】
また、本開示は、本明細書に記載された方法または装置によって生成されたデータ信号をデコードするための適切なデコード装置を提供する。
【0119】
ここで、制約のさらなる例を説明する。
【0120】
上記の例では、単一の閾値導出または式が一貫して使用されている。以下に説明する代替例では、2つ以上の候補閾値または制約の間に選択肢が実装される。択一すなわち選択は、1つ以上の符号化属性(例えば、パラメータ、属性またはモード、例えば、フラグなどによってエンコーダ側からデコーダ側に信号を送られるパラメータまたはモード、または、エンコーダ側およびデコーダ側で対応するまたは一致する方法で派生可能なパラメータ、属性またはモード)に応答してもよい。
【0121】
閾値または制約のさらなる候補式の一例は、以下のとおりである。
BinCountsinNalUnits <= 10 * NumByteslnVclNalUnits +
(RawMinCuBits * PicSizelnMinCbsY)/16 (式3)
【0122】
したがって、この式3は、先に説明したように統一的に使用することができるが、実施例では、選択は、2つ以上の候補発現、例えば式1/2と式3との間で実施される。いくつかの例において、選択は、符号化されたデータストリームにおいて信号を送られるか、または、符号化されたデータストリームと共に信号を送られる所定の符号化属性が、エンコーダ側およびデコーダ側において、選択に対応する所定の属性のそれぞれの状態をもつ第1または第2の状態にあるかに依存して行われてもよい(例えば、式1/2または式3)。
【0123】
このような属性の例として、いわゆる"dep_quant_enabled_flag"がある。これは、スライスヘッダで、そのスライスヘッダが適用されるスライスに関して、従属量子化と呼ばれる技術が有効になっているかどうかを示す。
【0124】
dep_quant_enabled_flagを使用する代わりに、実際にはこの(dep_quant)ツールが有効かどうかではなく、ツールの可用性に依存する。したがって、例えばプロファイルの場合、プロファイル自体が「dep_quant_enabled_flagはオフであるべき(有効ではない)」を定義することがある。また、このような制約がないことがあり、dep_quantツールをオン(有効化)またはオフ(無効化)にすることができる。
したがって、この選択は、dep_quantツールが現在有効か無効かではなく、プロファイル制約で行うことができる。
【0125】
従属量子化は、「(参照によって本明細書に組み込まれる)Versatile Video Coding (Draft 5)、Bross et al、JVET-N1001-v10、July 2019」で定義されている。
例えば、セクション8.7.3を参照する。これは、例えば、前にエンコードされ、デコードされたサンプル値のプロパティ(例えば、パリティプロパティ)に応答して、デコード処理が複数の可能な量子化パラメータまたは一連の量子化パラメータの間で選択する技術に関する。したがって、dep_quant_enabled_flag = 1(有効)の場合、このような進行中の従属クオンタイズの選択が行われる。dep_quant_enabled_flag = 0(無効)の場合、このような進行中の従属クオンタイズの選択は行われない。
前述のように、フラグdep_quant_enabled_flagは(コーディング属性の例として)、たとえばスライスヘッダに用意されており、従属クオンタイズの有効化または無効化がスライス全体に適用されるようになっている。
【0126】
従属量子化が使用されている場合、または、少なくとも可能な場合には、従属量子化が適用されると、エンコードされた2値とデコードされた2値の間の期待される関係を変更できるという経験的観測のために、異なる制約が関連する可能性がある。
式(3)のような異なる制約は、従属量子化と共に使用するのにより適切であり得る。
【0127】
複数の候補制約が適用可能である場合、デコーダは、異なる利用可能な制約のより難しい(または最も難しい)下で生成された符号化データに対処するのに十分な処理能力、速度または容量を提供するために、設計制約を受けることが期待される。
【0128】
しかしながら、より一般的には、明示的にデータストリームの中で、あるいは、データストリームと一緒に信号を送られるか否かにかかわらず、このような任意の属性(例えば、フラグまたはパラメータ)を使用することができる。例えば、いわゆる「プロファイル」のそれぞれの異なるインスタンスに関して、異なる候補式を選択することができ、ここで、このコンテキストにおけるプロファイルは、ビット深度、クロミナンスサンプリング(例えば、4:0:0(モノクロ)、4:2:0、4:2:2、4:4:4等)、符号化タイプの制限(画像内符号化のみ等)等の、一連またはバスケット型のパラメータを定義する。
【0129】
例示的な実施形態では、関連閾値導出をその出力データ部に適用できるので、出力データ部の何らかの態様を定義する属性を便利に使用することができる。このコンテキストにおける出力データ部の例は、スライス、タイルまたはピクチャのようなそれぞれの画像部分を表す出力データ部を含むことができる。適切な属性のその他の例には、スライスの場合、スライスタイプがイントラのみ、または、制限されない(イントラを含むことができる)のいずれかがある。
タイルの例として、複数のソース(ソースごとに1つのタイル)からの画像の組成物のケースを考える。各タイルは、元のエンコード方法に応じて独自の閾値導出を有することができる。または、属性は、ピクチャ内の同じ位置にある前のタイル/出力データ部の属性の値を使用して決定することもできる。
【0130】
いくつかの例では、上記のように、制約または閾値は、次のような式によって定義される。
N <= K1 * B + (K2 * CU)
ここで、
N = 出力データ部の2値化シンボル数、
K1は定数、
B = 出力データ部の符号化されたバイト数、
K2は、画像データ符号化装置によって採用される最小サイズ符号化単位の特性に依存する変数である。
CU = 最小サイズの符号化単位数で表される出力データ部によって表されるピクチャ、スライス、またはタイルのサイズである。
【0131】
これは、実際には、上述の式1、式2および式3の一般化であることに留意されたい。K1及びK2を参照する制約候補のリストの一例は、次のとおりである。
【表1】
【0132】
式5の例に関して、変数vcIByteScaleFactorは、次のように表すことができる。
vcIByteScaleFactor = (32 + 4 * general_tier_flag) / 3
ここで、general_tier_flagは、エンコーディング層のインジケータであり、(少なくともいくつかの例では)0または1のフラグ値として変化する。0はいわゆるメイン層を示し、1はいわゆる高層を示す。
(符号化されるべき画像の最大寸法を表す) 特定の符号化レベルに対して、高層は一般にメイン層より高いビットレート表現に対応する。したがって、この例では、画像データ符号化装置は、少なくとも2つの候補符号化層から選択された符号化層で動作し、少なくとも定数K1が層パラメータに依存する、現在選択された符号化層を定義する層パラメータ(例えば、符号化された画像データまたはビットストリーム内でまたはこれに少なくとも関連して符号化される)を生成するように構成される。
例えば、層(ティア)パラメータが高いほど、特定の画像サイズに対して符号化された高品質の出力が示され、層パラメータに応じてパラメータK1が増加する場合がある。
【0133】
これにより、閾値を生成するために使用される処理、回路、コードまたは論理は、各ケースにおいて都合良く同一であるか、または実質的に同一であり、パラメータK1及びK2は、単に、例示式(1/2)~(7)の各々に関して変更される。しかしながら、上述の異なる候補閾値または制約の間のように、1つ以上の異なる式または表現(または潜在的に異なる固定閾値)を使用することができることが理解される。
【0134】
したがって、候補制約2082は、セレクタ2080によって選択されるべき(K1、K2)のペアとして記憶または表現することができる。(K1、K2)のペアは、予め定めて記憶することができ、エンコーダおよびデコーダ、または、ペア(または、所定のペアのより大きな一連のサブセットの指示)は、プロファイルまたはパラメータ設定データの(例えば)一部として、エンコーダからデコーダに送信することができる。
次いで、式 N <= K1* B + (K2 * CU)は、一般的に選択された(K1、K2)を使用して、比較器2090でテストすることができる。
【0135】
図22Aおよび22Bは、出力データ部の2つの概略的な例を提供し、ページを横切って拡張し、上述の技術によって提供および挿入されるバイナリ化データ2200及びパッドデータ2210を含む。パディングデータの量は、符号化される特定の画像データ(どの程度効率的に符号化できるかという点で)および使用中の制約によって決めることができる。
【0136】
図23は、画像データ符号化方法を示す模式的なフローチャートであり、この方法は、
(ステップ2300で)画像データを表すデータ項目を選択的に符号化して、連続する出力データ部の符号化された二値化シンボルを生成するステップと、
(ステップ2310で)その出力データ部のバイト単位のサイズに対して任意の個々の出力データ部によって表される2値化シンボルの数の上限を定義する制約を受ける出力データストリームを生成するステップと、
(ステップ2320で)この制約を満たすために、その出力データ部のバイト単位のサイズを大きくするように、この制約を満たさない各出力データ部に対して、パディングデータを提供するステップと、
(ステップ2330で)所与の出力データ部に適用可能な符号化属性を検出するステップと、
(ステップ2340で)検出された符号化属性に応答して、所与の出力データ部と共に使用するための制約を、2つ以上の候補制約から選択するステップと
を含む。
【0137】
また、例示的な実施形態は、本明細書に記載されたいずれか1つ以上の実施例の画像データ符号化装置を制御することによって生成された符号化信号を解釈し、復号化されたビデオ画像を出力するように構成された回路を含む画像デコーダを提供する。
【0138】
また、例示的な実施形態は、第1及び第2のデータエンコーダならびに本明細書に記載される実施例のいずれか1つ以上のコントローラを制御することによって生成された符号化信号を解釈し、復号化されたビデオ画像を出力するように構成された回路を含む画像デコーダを提供する。
【0139】
本明細書で説明された実施形態は、ハードウェア、ソフトウェア、ファームウェア、またはこれらの任意の組み合わせを含む任意の適切な形態で実装される。本明細書で記載された実施形態は、任意選択で、1つ以上のデータプロセッサおよび/またはデジタル信号プロセッサ上で実行されるコンピュータソフトウェアとして少なくとも部分的に実装され得る。
任意の実施形態における部品および構成要件が、任意の適切な方法で物理的に、機能的に、及び、論理的に実装される。実際、機能は、単一のユニットで、複数のユニットで、または他の機能ユニットの一部として実装され得る。したがって、本開示の実施形態は、単一のユニットで実装されてもよく、または異なるユニット、回路、および/またはプロセッサの間で物理的および機能的に分散されてもよい。
【0140】
上記の教示に照らして、本開示の多数の修正及び変動が可能であることは明らかであろう。したがって、付記された条項の範囲内で、技術は、本明細書に具体的に記載されている以外の方法で実施可能であることが理解されるべきである。
【0141】
各態様及び特徴は、以下の番号付き項によって定義される。
(1)連続する出力データ部の符号化された2値化シンボルを生成するように画像データを表すデータ項目を選択的に符号化するように構成されたエントロピーエンコーダと、
所与の出力データ部に適用可能な符号化属性を検出するように構成された属性検出器と、
検出された符号化属性に応じて、前記所与の出力データ部と共に使用するための制約を、2つ以上の制約の候補から選択するように構成された選択器と
を具備し、
前記エントロピーエンコーダは、出力データストリームを生成するように構成されており、この出力データストリームは、その出力データ部のバイトサイズに対する任意の個々の出力データ部のバイトサイズで表される二値化シンボルの数に対する上限を定義する制約を受け、
この制約を満たすために、その出力データ部のバイト単位のサイズを増加させるために、制約を満たさない各出力データ部に対して、パディングデータを提供するように前記エントロピーエンコーダが構成されている
画像データ符号化装置。
(2)前記エントロピーエンコーダは、符号化された二値化シンボルを生成するために、第1の、コンテキスト適応二値算術符号化(CABAC)、符号化システム、または、第2の、バイパス、符号化システムによって符号化されるべき画像データを表すデータ項目を選択的に符号化するように構成されている
(1)に記載の画像データ符号化装置。
(3)前記画像データは、1つ以上のピクチャを表し、各々のピクチャは、
(i)各ネットワークアブストラクションレイヤ(NAL)部内の1つ以上のスライスと、
(ii)ピクチャ領域のそれぞれの水平方向の境界及び垂直境界を定義し、それぞれのNALユニット内にカプセル化されるように制約されないゼロ個以上のタイルと、
を表すデータを含んでおり、
ピクチャの各スライスは、同じピクチャの他のスライスとは無関係に復号化可能であり、前記タイルは、同じピクチャの他のタイルとは無関係に復号化可能であり、
前記出力データ部は、1つ以上のピクチャ、スライス及びタイルを含む
(1)に記載の画像データ符号化装置。
(4)前記第2の符号化システムは、固定された50%確率コンテキストモデルを使用する二値算術符号化システムである
(1)または(2)に記載の画像データ符号化装置。
(5)前記制約は、
N <= K1 * B + (K2 * CU) (制約式1)
ここで、N=前記出力データ部の2値化シンボル数、
K1は定数、
B=前記出力データ部のエンコードされたバイト数、
K2は、前記画像データ符号化装置によって採用される最小サイズ符号化単位の特性に依存する変数であり、
CU=最小サイズの符号化単位数で表される前記出力データ部で表される前記ピクチャ、スライスまたはタイルのサイズである
ように定義される
(1)~(4)のいずれか1つに記載の画像データ符号化装置。
(6)少なくとも2つの候補制約が前記制約式1によって定義され、
一連の(K1、K2)のそれぞれが前記少なくとも2つの候補制約の各々に関連付けられ、
前記選択器が、前記所与の出力データ部のための一連の(K1、K2)を選択するように構成されている
(5)に記載の画像データ符号化装置。
(7)前記コントローラは、前記所定の出力データ部を表す出力データストリームに関連して、前記所定の出力データ部に適用可能な前記符号化属性の表現を符号化するように構成されている
(1)~(6)のいずれか1つに記載の画像データ符号化装置。
(8)前記画像データ符号化装置は、従属量子化モードで選択的に動作するように構成された量子化部を含み、
前記符号化属性は、前記従属量子化モードが所与の出力データ部に関して有効か無効かを示す
(7)に記載の画像データ符号化装置。
(9)前記エントロピーエンコーダは、
現在の出力データ部の符号化に対する所定の段階で、前記制約が前記現在の出力データ部によって満たされるかどうかを検出するように構成された検出器と、
挿入されるパディングデータを含む前記出力データ部が前記制約を満たすように、前記現在の出力データ部に十分なパディングデータを生成し、挿入するように構成されたパディングデータ生成器と
を含む
(1)~(8)のいずれか1つに記載の画像データ符号化装置。
(10)前記所定の段階が、前記現在の出力データ部を符号化した終端である
(6)に記載の画像データ符号化装置。
(11)(1)~(10)のいずれか1つに記載の画像データ符号化装置を具備する、ビデオ記憶装置、キャプチャ装置、送受信装置。
(12)画像データを表すデータ項目を選択的に符号化して、連続する出力データ部の符号化された二値化シンボルを生成するステップと、
前記出力データ部のバイト単位のサイズに対して任意の個々の出力データ部によって表される2値化シンボルの数の上限を定義する制約を受ける出力データストリームを生成するステップと、
この制約を満たすために、その出力データ部のバイト単位のサイズを大きくするように、この制約を満たさない各出力データ部に対して、パディングデータを提供するステップと、
所与の出力データ部に適用可能な符号化属性を検出するステップと、
検出された符号化属性に応答して、所与の出力データ部と共に使用するための制約を、2つ以上の候補制約から選択するステップと
を含む
画像データ符号化方法。
(13)コンピュータによって実行されるときに、前記コンピュータに、(12)に記載の方法を実行させるコンピュータソフトウェア。
(14)(13)に記載のコンピュータソフトウェアを記憶する、機械読み取り可能な非一時的記憶媒体。
(15)(12)に記載の方法に従って生成された符号化データを含むデータ信号。
(16)(15)に記載のデータ信号を復号化するように構成された画像データデコーダ。