(57)【要約】【課題】復号処理の速度を向上させ、メモリ要件を低減することができる、並列復号に適しているビデオ復号方法を提供する。【解決手段】ビデオを復号する方法は、少なくとも１つのスライスと少なくとも１つのタイルとを含むビデオのフレームを受信するステップと、少なくとも１つのタイルの位置情報がスライス内で送信されているかどうかを示す第１の情報を受信するステップと、少なくとも１つのタイルの位置を含む第２の情報を受信するステップと、を含む。タイルの終端を示すフラグを受信した場合、ビットストリーム内のビットは、バイト・アラインされた位置まで読み込まれ、エントロピーデコーダにおける復号処理が初期化されるステップを備える。【選択図】なし【特許請求の範囲】
【請求項１】
ビデオを復号化する方法であって、
タイルが有効かどうかを示す第１フラグを復号し、タイルが有効であると示された場合、
（ａ）少なくとも１つのスライスと少なくとも１つのタイルとを含む前記ビデオのフレームを復号するステップであって、
前記少なくとも１つのタイルの特徴は、前記フレームの矩形領域であり、且つ複数の符号化単位を有することである、ステップと、
（ｂ）前記少なくとも１つのスライスのスライスヘッダーから、前記少なくとも１つのタイルの位置情報が前記スライスヘッダーにおいて送信されているかどうかを示す第１情報を復号するステップと、
（ｃ）前記第１情報が、前記少なくとも１つのタイルの位置情報が前記スライスヘッダーにおいて送信されていることを示す場合に、前記スライスヘッダーから、前記少なくとも１つのタイルの開始のバイト・アラインされた位置を示す第２情報を復号するステップと、
（ｄ）前記少なくとも１つのタイルの終端において、前記タイルの終端を示す第２フラグを復号し、かつ、前記タイルの開始のバイト・アラインされた位置に到達するまでパディングビットを復号するステップと、
（ｅ）前記少なくとも１つのタイルの各々の開始のバイト・アラインされた位置において、前記各ステップの復号におけるエントロピ復号処理を初期化するステップと、
（ｆ）前記少なくとも１つのタイルに含まれる前記複数の符号化単位を、ラスター走査の順序で復号するステップと、
を備える、方法。
【請求項２】
前記スライスは、少なくとも１つのタイルを含む、
請求項１に記載の方法。
【請求項３】
エントロピ初期化インジケータ値が前記スライスヘッダーから復号される、
請求項１に記載の方法。
【請求項４】
前記復号処理を初期化するステップは、前記エントロピ初期化インジケータ値に基づく
請求項３に記載の方法。
【請求項５】
ビデオを符号化する方法であって、
（ａ）少なくとも１つのスライスと少なくとも１つのタイルとを含む前記ビデオのフレームのビットストリームを符号化するステップであって、
前記少なくとも１つのタイルの特徴は、前記フレームの矩形領域であり、且つ複数の符号化単位を有することである、ステップと、
（ｂ）前記タイルが有効かどうかを示す第１フラグを符号化し、前記タイルが有効であると示された場合、前記少なくとも１つの前記タイルの位置情報が前記少なくとも１つのスライスのスライスヘッダーにおいて送信されているかどうかを示す第１情報であって前記スライスヘッダーにおいて送信される前記第１情報を符号化するステップと、
（ｃ）前記第１情報が、前記少なくとも１つのタイルの位置情報が前記スライスヘッダーにおいて送信されていることを示す場合に、前記少なくとも１つのタイルの開始のバイト・アラインされた位置を示す第２情報であって前記スライスヘッダーにおいて送信される前記第２情報を符号化するステップと、
（ｄ）前記少なくとも１つのタイルの終端において、前記タイルの終端を示す第２フラグを符号化し、かつ、前記タイルの開始のバイト・アラインされた位置に到達するまでパディングビットを符号化するステップと、
（ｅ）前記少なくとも１つのタイルの各々の開始のバイト・アラインされた位置において、前記各ステップの符号化におけるエントロピ符号化処理を初期化するステップと、
（ｆ）前記少なくとも１つのタイルに含まれる前記複数の符号化単位を、ラスター走査の順序で符号化するステップと、
を備える方法。
【請求項６】
ビデオを復号化するデコーダであって、回路及びメモリを備え、前記メモリは、前記回路と協働して前記デコーダに少なくとも、
タイルが有効かどうかを示す第１フラグを復号し、タイルが有効であると示された場合、少なくとも１つのスライスと少なくとも１つのタイルとを含む前記ビデオのフレームを復号するステップであって、前記少なくとも１つのタイルの特徴は、前記フレームの矩形領域であり、且つ複数の符号化単位を有することである、ステップと、
前記少なくとも１つのタイルの各々の開始のバイト・アラインされた位置において、前記デコーダにおけるエントロピ復号処理を初期化するステップと、
を実行させ、
前記デコーダは、
前記少なくとも１つのスライスのスライスヘッダーから、前記少なくとも１つのタイルの位置情報が前記スライスヘッダーにおいて送信されているかどうかを示す第１情報を復号し、
前記第１情報が、前記少なくとも１つのタイルの位置情報が前記スライスヘッダーにおいて送信されていることを示す場合に、前記スライスヘッダーから、前記少なくとも１つのタイルの開始のバイト・アラインされた位置を示す第２情報を復号し、
前記少なくとも１つのタイルの終端において、前記タイルの終端を示す第２フラグを復号し、かつ、前記タイルの開始のバイト・アラインされた位置に到達するまでパディングビットを復号し、
前記少なくとも１つのタイルに含まれる前記複数の符号化単位を、ラスター走査の順序で復号する、
デコーダ。
【請求項７】
ビデオを符号化するエンコーダであって、回路及びメモリを備え、前記メモリは、前記回路と協働して前記エンコーダに、
少なくとも１つのスライスと少なくとも１つのタイルとを含む前記ビデオのフレームのビットストリームを符号化するステップであって、前記少なくとも１つのタイルの特徴は、前記フレームの矩形領域であり、且つ複数の符号化単位を有することである、ステップと、
前記少なくとも１つのタイルの各々の開始のバイト・アラインされた位置において、前記エンコーダにおけるエントロピ符号化処理を初期化するステップと、
を少なくとも実行させ、
前記エンコーダは、
前記タイルが有効かどうかを示す第１フラグを符号化し、前記タイルが有効であると示された場合、前記少なくとも１つの前記タイルの位置情報が前記少なくとも１つのスライスのスライスヘッダーにおいて送信されているかどうかを示す第１情報であって前記スライスヘッダーにおいて送信される前記第１情報を符号化し、
前記第１情報が、前記少なくとも１つのタイルの位置情報が前記スライスヘッダーにおいて送信されていることを示す場合に、前記少なくとも１つのタイルの開始のバイト・アラインされた位置を示す第２情報であって前記スライスヘッダーにおいて送信される前記第２情報を符号化し、
前記少なくとも１つのタイルの終端において、前記タイルの終端を示す第２フラグを符号化し、かつ、前記タイルの開始のバイト・アラインされた位置までパディングビットを符号化し、
前記少なくとも１つのタイルに含まれる前記複数の符号化単位を、ラスター走査の順序で符号化する、
エンコーダ。
【請求項８】
請求項６に記載のデコーダとしてコンピュータを機能させるための復号プログラムを記録したコンピュータ読み取り可能な記録媒体。
【請求項９】
請求項７に記載のエンコーダとしてコンピュータを機能させるための符号化プログラムを記録したコンピュータ読み取り可能な記録媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
関連出願の相互参照は無い。
【背景技術】
【０００２】
本発明は、ビデオの符号化及び復号に関する。
【０００３】
デジタル・ビデオは、典型的には、一連の画像またはフレームとして表され、これらの各々が画素の配列を含む。各画素は、輝度及び／または色情報などの情報を含む。多くの場合、各画素は３色のセットとして表され、その各々は８ビットのカラー値によって定義される。
【０００４】
ビデオ符号化方式、例えば、Ｈ．２６４／ＭＰＥＧ−４  ＡＶＣ（Ｈ．２６４／ＡＶＣ）は、一般的に複雑性の増大と引き換えに、より高い符号化効率を提供する。また、ビデオ符号化方式に対しての、ビデオ品質の要求の増大と、ビデオ解像度の要求の増大も、符号化の複雑さを増大させることになる。並列復号に適しているビデオ・デコーダは、復号処理の速度を向上させ、メモリ要件を低減することができ、そして並列符号化に適しているビデオ・エンコーダは、符号化処理の速度を向上させ、メモリ要件を低減することができる。
【０００５】
Ｈ．２６４／ＭＰＥＧ−４  ＡＶＣ［ＩＴＵ−Ｔ  ＶＣＥＧ及びＩＳＯ／ＩＥＣ  ＭＰＥＧの合同ビデオ・チーム、「Ｈ．２６４：オーディオ・ビジュアル・サービス全般のための先進ビデオ符号化方式、（Ｈ．２６４：Ａｄｖａｎｃｅｄ  ｖｉｄｅｏ  ｃｏｄｉｎｇ  ｆｏｒ  ｇｅｎｅｒｉｃ  ａｕｄｉｏｖｉｓｕａｌ  ｓｅｒｖｉｃｅｓ）」ＩＴＵ−Ｔ  勧告  Ｈ．２６４及びＩＳＯ／ＩＥＣ  １４４９６−１０（ＭＰＥＧ４−第１０部），２００７年１１月］及び同様にＪＣＴ−ＶＣ，［「検討中のテスト・モデル案（Ｄｒａｆｔ  Ｔｅｓｔ  Ｍｏｄｅｌ  Ｕｎｄｅｒ  Ｃｏｎｓｉｄｅｒａｔｉｏｎ）」ＪＣＴＶＣ−Ａ２０５、ＪＣＴ−ＶＣ会議、ドレスデン、２０１０年４月（ＪＣＴ−ＶＣ）］は、圧縮効率のために、ビデオ・シーケンスにおいて、マクロブロック予測及びそれに続く残差符号化を使用し、時間的、空間的冗長性を低減するビデオ・コーデック（エンコーダ／デコーダ）の仕様であり、両方とも、その全体が参照により本明細書に組み込まれる。
【０００６】
本発明の前述の及び他の目的、特徴、及び利点は、添付の図面と併せて、本発明の以下の詳細の説明を考慮して、より容易に理解されるであろう。
【発明の概要】
【課題を解決するための手段】
【０００７】
本発明の１つの実施形態は、ビデオを復号する方法であって、
（ａ）少なくとも１つのスライスと少なくとも１つのタイルとを含む前記ビデオのフレームを受信するステップであって、
前記少なくとも１つのスライスの各々は、他の前記少なくとも１つのスライスとは独立に復号され、且つ前記少なくとも１つのタイルから構成され、
前記少なくとも１つのタイルの特徴は、前記フレームの矩形領域であり、且つラスター走査の順序に配置されている前記復号するための符号化単位を有することである、ステップと、
（ｂ）前記少なくとも１つのタイルの位置情報が前記スライス内で送信されているかどうかを示す第１の情報を受信するステップと、
（ｃ）前記少なくとも１つのタイルを復号することに適する第２の情報を受信するステップであって、
前記第２の情報は前記少なくとも１つのタイルの位置を含む、ステップと
を備える、ビデオを復号する方法を開示する。
【０００８】
本発明の別の実施形態は、ビデオを復号する方法であって、
（ａ）少なくとも１つのスライスと少なくとも１つのタイルとを含む前記ビデオのフレームを受信するステップであって、前記少なくとも１つのスライスの各々の特徴は、他の前記少なくとも１つのスライスとは独立に復号されることであり、前記少なくとも１つのタイルの各々の特徴は、前記フレームの矩形領域であり、且つラスター走査の順序に配置されている、前記復号するための符号化単位を有することであり、前記フレームの前記少なくとも１つのタイルは、前記フレームのラスター走査の順序に集合的に配置されている、ステップと、
（ｂ）前記タイルの少なくとも１つの最初の最大符号化単位からデータのセットを受信するステップであって、前記データのセットは、（１）最大符号化単位アドレスを表す値と、（２）スライス指標を表す値と、（３）量子化パラメータ情報を表す値とを含む、ステップと
を備える、ビデオを復号する方法を開示する。
【図面の簡単な説明】
【０００９】
【図１】Ｈ．２６４／ＡＶＣビデオ・エンコーダを示す。
【図２】Ｈ．２６４／ＡＶＣビデオ・デコーダを示す。
【図３】例示的なスライス構造を示す。
【図４】別の例示的なスライス構造を示す。
【図５】エントロピ・スライスの再構築を示す。
【図６】エントロピ・スライスの並列再構築を示す。
【図７】１つのスライスと９つのタイルを有するフレームを示す。
【図８】３つのスライスと３つのタイルを有するフレームを示す。
【図９Ａ】タイルに対してのエントロピの選択を示す。
【図９Ｂ】タイルに対してのエントロピの選択を示す。
【図１０Ａ】タイルに対しての別のエントロピの選択を示す。
【図１０Ｂ】タイルに対しての別のエントロピの選択を示す。
【図１１】タイルに対してのさらに別のエントロピの選択を示す。
【図１２Ａ】例示的なシンタックスを示す。
【図１２Ｂ】例示的なシンタックスを示す。
【図１３】タイルの開始に関する明示的な信号を示す。
【図１４】タイルの開始に関する黙示的な信号を示す。
【図１５】ライト・ウエイト・タイル・ヘッダーのセットを示す。
【図１６】スライス・パラメータ指標セットのセットを示す。
【図１７】タイル終了フラグを示す。
【発明を実施するための形態】
【００１０】
エントロピ符号化／復号を使用する任意のビデオ・コーダ／デコーダ（コーデック）が本明細書に記載の実施形態に適合可能であるが、例示的な実施形態を、単に例示の目的のためにＨ．２６４／ＡＶＣエンコーダとＨ．２６４／ＡＶＣデコーダに関連させて説明する。多数のビデオ符号化方式は、ブロック・ベースのハイブリッド・ビデオ符号化のアプローチに基づいており、情報源符号化方式は、フレーム間予測とも称されるピクチャ間予測、フレーム内予測とも称されるピクチャ内予測、及び予測残差の変換符号化のハイブリッドである。フレーム間予測は、時間的冗長性を利用するものであり、フレーム内と予測残差の変換符号化は空間的冗長性を利用するものである。
【００１１】
図１は、例示的なＨ．２６４／ＡＶＣビデオ・エンコーダ２を示す。フレームとも称される入力ピクチャ４を、符号化のために供給することができる。予測信号６及び残差信号８が生成され、予測信号６は、フレーム間予測１０またはフレーム内予測１２のいずれかに基づくものとすることができる。フレーム間予測１０は、１つ以上の記憶された、参照フレームとも称される参照ピクチャ１６、及び入力フレーム４と参照フレーム１６との間の動き推定セクション１８の処理によって決定される動き情報１９を使用する動き補償セクション１４によって決定することができる。フレーム内予測１２は、復号信号２２を使用してフレーム内予測セクション２０によって決定することができる。残差信号８は、予測信号６から入力フレーム４を減算することによって決定することができる。残差信号８は、変換／スケーリング／量子化セクション２４によって、変換、スケーリング、量子化され、量子化変換係数２６が生成される。復号信号２２は、予測信号６を、量子化変換係数２６を使用して逆（変換／スケーリング／量子化）セクション３０によって生成された信号２８に加算して生成することができる。動き情報１９と量子化変換係数２６を、エントロピ符号化セクション３２によって、エントロピ符号化し、圧縮ビデオ・ビットストリーム３４に書き込むことができる。例えば参照フレームの一部である出力画像領域３８は、エンコーダ２において、再構築されたフィルタ前の信号２２を使用してデブロッキング・フィルタ３６によって生成されてもよい。この出力フレームは、後続の入力ピクチャを符号化するための参照フレームとして使用することができる。
【００１２】
図２は、例示的なＨ．２６４／ＡＶＣビデオ・デコーダ５０を示す。ビットストリームとも称される入力信号５２を、復号のために供給することができる。受信したシンボルを、エントロピ復号セクション５４によってエントロピ復号し、動き情報５６と、イントラ予測情報５７と、量子化され、スケーリングされた変換係数５８とを生成することができる。動き情報５６は、動き補償セクション６０によってフレーム・メモリ６４に存在する１つ以上の参照フレーム８４の一部と組み合わせることができ、そしてフレーム間予測６８を生成することができる。量子化され、スケーリングされた変換係数５８を、逆量子化し、スケーリングし、逆変換し、復号された残差信号７０を生成することができる。残差信号７０を、予測信号、すなわちフレーム間予測信号６８またはフレーム内予測信号７６のいずれかに加算することができる。フレーム内予測情報は、フレーム内予測セクション７４によって、現フレームの既に復号された情報７２と組み合わされ、加算された信号７２を生成することができる。加算された信号７２は、デブロッキング・フィルタ８０でフィルタ処理し、フィルタ処理された信号８２は、フレーム・メモリ６４に書き込むことができる。
【００１３】
Ｈ．２６４／ＡＶＣにおいて、入力ピクチャは、固定サイズのマクロブロックに区分することができ、各マクロブロックは、輝度成分の１６×１６サンプルと、２つの色差成分の各々８×８サンプルとの矩形のピクチャ領域をカバーする。Ｈ．２６４／ＡＶＣ標準の復号処理は、マクロブロックの処理単位を規定している。エントロピ・デコーダ５４は、圧縮ビデオ・ビットストリーム５２のシンタックス要素を構文解析し、それらを多重分離する。Ｈ．２６４／ＡＶＣは、２つの異なるエントロピ復号方法、すなわち、ＣＡＶＬＣと呼ばれ、コンテキスト適応切り替え可変長符号のセットの使用に基づく複雑性の低い方式と、ＣＡＢＡＣと呼ばれ、計算量がより厳しく要求される、コンテキスト・ベースの適応型２値算術符号化の方式と、を指定する。そのようなエントロピ復号方式の両方において、現在のシンボルの復号は、前に正しく復号されたシンボルと、適応的に更新されたコンテキスト・モデルとに依存することができる。更に、例えば、予測データ情報、残差データ情報、異なる色平面などの異なるデータ情報は、一緒に多重化することができる。多重分離は、要素がエントロピ復号されるまで待つことが可能である。
【００１４】
エントロピ復号した後に、マクロブロックを、逆量子化及び逆変換を経た残差信号と、フレーム内予測信号またはフレーム間予測信号のいずれかの予測信号とを取得して再構築することができる。ブロック歪みは、復号されたマクロブロックにデブロッキング・フィルタを適用することにより低減できる。典型的には、そのような後続の処理は、入力信号がエントロピ復号された後に開始されるので、エントロピ復号が復号において潜在的ボトルネックとなってしまう。同様に、例えば、Ｈ．２６４／ＡＶＣにおけるレイヤー間予測または他のスケーリング可能なコーデックにおけるレイヤー間予測など、代替の予測メカニズムが使用されるコーデックにおいて、エントロピ復号は、デコーダにおける処理の前に行う必要がある場合があるので、エントロピ復号が潜在的ボトルネックとなる。
【００１５】
複数のマクロブロックを含む入力ピクチャは、１つまたは数個のスライスに区分することができる。１つのスライスが表すピクチャの領域におけるサンプルの値は、エンコーダとデコーダとで使用した参照ピクチャが同一であり、デブロッキング・フィルタリングがスライスの境界を越えた情報を使用しない場合、他のスライスからのデータを使わずに、適切に復号され得る。それ故に、１つのスライスに対するエントロピ復号とマクロブロックの再構築は、他のスライスに依存しない。特に、エントロピ復号状態は、各スライスの開始時にリセットしてもよい。エントロピ復号及び再構築の両方について、近傍の利用可能性を定義する時に、他のスライスのデータは、利用不可とマークすることができる。スライスは、並列に、エントロピ復号され、再構築することが可能である。イントラ予測及び動きベクトル予測は、好ましくは、スライスの境界を越えることは許可されない。これに対し、デブロッキング・フィルタリングは、スライス境界をまたがる情報を使用することができる。
【００１６】
図３は、水平方向に１１個のマクロブロックと垂直方向に９個のマクロブロックとを含む例示的なビデオ・ピクチャ９０を示す（９個の例示的なマクロブロックには９１〜９９とラベルが付けられている）。図３には、例示的な３つのスライスが示されており、第１のスライスは「スライス＃０」１００と示され、第２のスライスは「スライス＃１」１０１と示され、第３のスライスは「スライス＃２」１０２と示されている。Ｈ．２６４／ＡＶＣデコーダは、３つのスライス１００、１０１、１０２を並列に復号し、再構築することが可能である。各スライドは、逐次方式で走査線順に送信することができる。各スライスの復号／再構築の処理の開始時に、コンテキスト・モデルは、初期化またはリセットされ、他のスライスのマクロブロックは、エントロピ復号及びマクロブロック再構築の両方に対して利用不可とマークされる。従って、あるマクロブロック、例えば、「スライス＃１」内の９３とラベルが付いたマクロブロックに対して、「スライス＃０」内のマクロブロック（例えば、９１及び９２とラベルが付けられたマクロブロック）は、コンテキスト・モデルの選択または再構築に使用できない。一方、あるマクロブロック、例えば、「スライス＃１」内の９５とラベルが付いたマクロブロックに対して、「スライス＃１」内の他のマクロブロック（例えば、９３及び９４とラベルが付けられたマクロブロック）は、コンテキスト・モデルの選択または再構築に使用できる。従って、エントロピ復号及びマクロブロック再構築は、１つのスライス内において、逐次進行する。スライスがフレキシブル・マクロブロック順序（ＦＭＯ）を使用して定義されていない限り、スライス内のマクロブロックは、ラスター走査の順序で処理される。
【００１７】
フレキシブル・マクロブロック順序は、ピクチャがスライスに区分される方法を変更するためにスライス・グループを定義する。スライス・グループ内のマクロブロックは、マクロブロック対スライス・グループのマップで定義され、それは、スライス・ヘッダー内のピクチャ・パラメータ・セットの内容及び追加情報によって通知される。マクロブロック対スライス・グループのマップは、ピクチャ内の各マクロブロックに対するスライス・グループ識別番号から構成される。スライス・グループ識別番号は、関連するマクロブロックが属するスライス・グループを規定する。各スライス・グループは、１つ以上のスライスに区分することができ、１つのスライスは、同じスライス・グループ内のマクロブロックのシーケンスであり、該シーケンスは、特定のスライス・グループのマクロブロックのセット内でラスター走査の順序で処理される。エントロピ復号及びマクロブロック再構築は、１つのスライス・グループ内で逐次進行する。
【００１８】
図４は、３つのスライス・グループへのマクロブロックの割り当ての例示を示し、第１のスライス・グループは、「スライス・グループ＃０」１０３と表され、第２のスライス・グループは、「スライス・グループ＃１」１０４と表され、第３のスライス・グループは、「スライス・グループ＃２」１０５と表されている。これらのスライス・グループ１０３、１０４、１０５は、ピクチャ９０において、それぞれ、２つの前景領域と１つの背景領域とに関連するようにしてもよい。
【００１９】
ピクチャは、１つ以上の再構築スライスに区分することが可能で、再構築スライスは、エンコーダとデコーダとで使用された参照ピクチャが同一である場合、その再構築スライスが表すピクチャの領域のサンプルの値が他の再構築スライスからのデータを使わずに正しく再構築できるという意味で、自己完結型であり得る。再構築スライス内の全ての再構築マクロブロックは、再構築のための近傍の定義付けに利用可能であってもよい。
【００２０】
再構築スライスは、２つ以上のエントロピ・スライスに区分することが可能で、エントロピ・スライスは、エントロピ・スライスが表すピクチャの領域におけるシンボル値が他のエントロピ・スライスからのデータを使わずに、正しくエントロピ復号できるという意味で、自己完結型であり得る。エントロピ符号化状態は、各エントロピ・スライスの復号開始時にリセットすることができる。他のエントロピ・スライスのデータは、エントロピ復号のために近傍の利用可能性を定義する際に、利用不可とマークすることが可能である。他のエントロピ・スライスのマクロブロックは、現在のブロックのコンテキスト・モデルの選択に使用できない。コンテキスト・モデルは、エントロピ・スライス内においてのみ更新可能である。従って、エントロピ・スライスに関連した各エントロピ・デコーダは、それ自体のコンテキスト・モデルのセットを維持するとよい。
【００２１】
エンコーダは、再構築スライスをエントロピ・スライスに区分するか否かを決定し、その決定をビットストリーム中で通知することができる。その信号は、「ｅｎｔｒｏｐｙ＿ｓｌｉｃｅ＿ｆｌａｇ」と示すことができるエントロピ・スライス・フラグを含むことができる。図５を参照して、エントロピ・スライス・フラグを調べることができ（１３０）、エントロピ・スライス・フラグが、ピクチャまたは再構築スライスに関連したエントロピ・スライスが無い（１３２）ことを示す場合、ヘッダーは、通常のスライス・ヘッダーとして構文解析することができる（１３４）。エントロピ・デコーダ状態は、リセットすることが可能で（１３６）、エントロピ復号及び再構築のための近傍情報を定義することができる（１３８）。次いで、スライス・データをエントロピ復号することができ（１４０）、スライスを再構築することが可能である（１４２）。エントロピ・スライス・フラグが、ピクチャと関連したエントロピ・スライスまたは再構築スライスがある（１４６）ことを示す場合、ヘッダーは、エントロピ・スライス・ヘッダーとして構文解析することができる（１４８）。エントロピ・デコーダ状態は、リセットすることが可能で（１５０）、エントロピ復号のための近傍情報を定義することができ（１５２）、エントロピ・スライス・データを、エントロピ復号することができる（１５４）。次いで、再構築のための近傍情報を定義することが可能で（１５６）、スライスを再構築することができる（１４２）。スライスの再構築（１４２）後、次のスライスまたはピクチャが分析されてもよい（１５８）。
【００２２】
図６を参照して、デコーダは、並列復号が可能であり、それ自体の並列性の度合いを定義することができ、例えば、並列にＮ個のエントロピ・スライスを復号する能力を備えるデコーダを考慮する。このデコーダは、Ｎ個のエントロピ・スライスを識別することができる（１７０）。現在のピクチャまたは再構築スライスにおいて、Ｎ個より少ないエントロピ・スライスが利用可能である場合、デコーダは、後続のピクチャまたは再構築スライスからのエントロピ・スライスを、それらが利用可能であれば、復号することが可能である。あるいは、デコーダは、現在のピクチャまたは再構築スライスが完全に処理されるまで待って、その後、後続のピクチャまたは再構築スライスの部分を復号してもよい。最大Ｎ個のエントロピ・スライスの識別（１７０）後、識別されたエントロピ・スライスの各々を、独立にエントロピ復号してもよい。第１のエントロピ・スライスを復号することができる（１７２〜１７６）。第１のエントロピ・スライの復号（１７２〜１７６）は、デコーダ状態のリセット（１７２）を含むことが可能である。ＣＡＢＡＣエントロピ復号が使用される場合、ＣＡＢＡＣ状態をリセットすることができる。第１のエントロピ・スライスのエントロピ復号のための近傍情報を定義することができ（１７４）、第１のエントロピ・スライス・データを復号することが可能である（１７６）。最大Ｎ個までのエントロピ・スライスの各々に対して、これらのステップを実行することができる（Ｎ番目のエントロピ・スライスに対して１７８〜１８２）。エントロピ・スライスの全部または一部がエントロピ復号されると、デコーダは、エントロピ・スライスを再構築することができる（１８４）。
【００２３】
エントロピ・スライスがＮ個より多い場合、復号スレッドは、１個のエントロピ・スライスのエントロピ復号完了後に、次のエントロピ・スライスのエントロピ復号を開始することができる。従って、スレッドが低複雑性のエントロピ・スライスのエントロピ復号を終了すると、そのスレッドは他のスレッドの復号の終了を待たずに、別のエントロピ・スライスの復号を開始することができる。
【００２４】
図３に示すように、スライスの配置は、ラスター走査またはラスター走査順序としても知られている画像の走査順序に並んだ一対のマクロブロックの間に、各スライスを定義することに限定することができる。この走査順のスライスの配置は、計算効率は良いが、高効率の並列符号化と並列復号には適さない傾向がある。更に、このスライスの走査順序の定義は、符号化効率に非常に適した共通の特性を持っている可能性が高い、画像のより小さな局所領域をグループにしない傾向がある。図４に示したようなスライスの配置は、その配置において柔軟性は高いが、高効率の並列符号化と並列復号には適さない傾向がある。更に、この非常に柔軟なスライスの定義は、デコーダに実装するためには、計算上複雑である。
【００２５】
図７を参照すると、あるタイル方式では、画像が矩形（正方形を含む）領域のセットに分割されている。タイルの各々の中のマクロブロック（例えば、最大符号化単位）は、ラスター走査順序に符号化され、復号される。タイルの配置も同様に、ラスター走査順序に符号化され、復号される。従って、任意の適切な数（例えば、０以上）の列の境界があってもよいし、任意の適切な数（例えば、０以上）の行の境界があってもよい。従って、図７で示されている１つのスライスのように、フレームは、１つ以上のスライスを定義することが可能である。幾つかの実施形態において、異なるタイルに位置するマクロブロックは、近傍マクロブロック情報に依存する、イントラ予測、動き補償、エントロピ符号化コンテキスト選択または他の処理に利用可能ではない。
【００２６】
図８を参照すると、このタイル方式では、画像が３個の矩形列のセットに分割されて示されている。タイルの各々の中のマクロブロック（例えば、最大符号化単位）は、ラスター走査順序に符号化され、復号される。タイルも、同様にラスター走査順序で符号化され、復号される。１つ以上のスライスをタイルの走査順序で定義することができる。スライスの各々は独立に復号可能である。例えば、スライス１は、マクロブロック１〜９を含むように定義することができ、スライス２は、マクロブロック１０〜２８を含むように定義することができ、スライス３は、３個のタイルに跨るマクロブロック２９〜１２６を含むように定義することができる。タイルの使用により、フレームの、より局部的な領域のデータを処理することによって、符号化効率が促進される。
【００２７】
１つの実施形態において、エントロピ符号化・復号処理は、各タイルの開始時に初期化される。エンコーダにおいて、この初期化には、エントロピ・エンコーダ内の残りの情報をビットストリームに書き込む、フラッシングとして知られる処理と、あらかじめ定義され設定されたビットストリーム位置の１つに到達するために、ビットストリームに追加のデータをパディングする処理と、エントロピ・エンコーダを、所定の、またはエンコーダ及びデコーダの両方に知られている既知の状態に設定する処理とを含めることができる。多くの場合、既知の状態は、値のマトリックスの形である。更に、所定のビットストリームの位置は、ビットの倍数でアラインされた、すなわち、バイト・アラインされた位置とすることができる。デコーダにおいて、この初期化処理は、エントロピ・デコーダを、エンコーダ及びデコーダの両方に知られている既知の状態に設定し、ビットストリーム内のビットを、あらかじめ定義され設定されたビットストリーム位置を読み込むまで、無視する処理を含んでもよい。
【００２８】
幾つかの実施形態において、複数の既知の状態が、エンコーダとデコーダに対して利用可能であり、エントロピ符号化処理及び／またはエントロピ復号処理の初期化に使用することができる。従来から、初期化に使われる既知の状態は、エントロピ初期化インジケータ値を有するスライス・ヘッダーで通知されている。図７及び図８で示したタイル方式では、タイルとスライスとは互いにアラインされていない。従って、タイルとスライスとがアラインされていないので、従来は、スライス内の最初のマクロブロックと同一の位置にある、ラスター走査順序で最初のマクロブロックを含まないタイルに対して、エントロピ初期化インジケータ値は、送信されることはない。例えば、図７を参照すると、マクロブロック１は、スライス・ヘッダーで送信されるエントロピ初期化インジケータ値を使用して初期化されるが、次のタイルのマクロブロック１６に対して、同様なエントロピ初期化インジケータ値は無い。通常、同様なエントロピ初期化インジケータ情報は、単一のスライス（マクロブロック１に対するスライス・ヘッダーを有する）のタイルに対応するマクロブロック３４、４３、６３、８７、９９、１０９、及び１２１に対して、存在しない。
【００２９】
図８を参照すると、エントロピ初期化インジケータ値は、３つのスライスに対して同様に、スライス１のマクロブロック１に対するスライス・ヘッダーの中に提供され、スライス２のマクロブロック１０に対するスライス・ヘッダーの中に提供され、スライス３のマクロブロック２９に対するスライス・ヘッダーの中に提供されている。しかしながら、図７と同様の形で、エントロピ初期化インジケータ値が、中央のタイル（マクロブロック３７から始まっている）及び右側のタイル（マクロブロック１００から始まっている）には欠如している。中央及び右側のタイルに対してエントロピ初期化インジケータ値が無ければ、タイルのマクロブロックを、並列方式で高い符号化効率により効果的に符号化及び復号するのに問題がある。
【００３０】
１つのフレーム内に１つ以上のタイル及び１つ以上のスライスを使用しているシステムでは、エントロピ初期化インジケータ値をタイルの最初のマクロブロック（例えば、最大符号化単位）と共に提供するのが好ましい。図７のマクロブロック１６と共に、エントロピ初期化インジケータ値がエントロピ初期化情報を明示的に選択するために提供されている。その明示的決定には、いかなる適切な方式を使ってもよく、例えば、前のスライス・ヘッダー等の中にある前のエントロピ初期化インジケータ値を使用すべきであるということを示すこと、または、そうでなければ、それぞれのマクロブロック／タイルに関連付けられたエントロピ初期化インジケータ値を送信することが可能である。このように、スライスにエントロピ指標値を含むヘッダーを含めることを可能にしながら、タイルの最初のマクロブロックにも同様にエントロピ初期化インジケータ値を含めることができる。
【００３１】
図９Ａを参照して、この追加情報の符号化は次のようであってもよい。
Ｉｆ  （ｎｕｍ＿ｃｏｌｕｍｎ＿ｍｉｎｕｓ１＞０  ＆＆  ｎｕｍ＿ｒｏｗｓ＿ｍｉｎ１＞０）
ｔｈｅｎ
ｔｉｌｅ＿ｃａｂａｃ＿ｉｎｉｔ＿ｉｄｃ＿ｐｒｅｓｅｎｔ＿ｆｌａｇ
【００３２】
ｎｕｍ＿ｃｏｌｕｍｎ＿ｍｉｎｕｓ１＞０は、タイル内の列の数が０でないかを決定し、ｎｕｍ＿ｒｏｗｓ＿ｍｉｎ１＞０は、タイル内の行の数が０でないかを決定し、両者は実質的に、タイルが符号化／復号で使用されているかを決定する。タイルが使用されている場合、ｔｉｌｅ＿ｃａｂａｃ＿ｉｎｉｔ＿ｉｄｃ＿ｐｒｅｓｅｎｔ＿ｆｌａｇは、エントロピ初期化インジケータ値がエンコーダからデコーダに伝えられる方法を示すフラグである。例えば、フラグが第１の値に設定されている場合、前に送られたエントロピ初期化インジケータ値を使用するというような第１のオプションを選択することができる。具体的な例として、この前に送られたエントロピ初期化インジケータ値は、タイルの最初のマクロブロックを含んでいるスライスに対応するスライス・ヘッダーで送信されたエントロピ初期化インジケータ値に等しくすることが可能である。例えば、フラグが第２の値に設定されている場合、エントロピ初期化インジケータ値が、対応するタイルのビットストリームの中に提供されるというような第２のオプションが選択されてもよい。具体的な例として、エントロピ初期化インジケータ値は、タイルの最初のマクロブロックに対応するデータの中に提供される。
【００３３】
エントロピ初期化インジケータ値がエンコーダからデコーダに伝えられる方法を示すフラグを通知するシンタックスは、次のようにすることができる。
【００３４】
【数１】
2019017104.tif 000002
【００３５】
図９Ｂを参照して、シーケンス・パラメータ・セット（例えば、フレームのシーケンスに関する情報）及び／またはピクチャ・パラメータ・セット（例えば、特定のフレームに関する情報）に含まれるフラグのような他の方式が、タイルが使用されているかを決定するために使われてもよい。
【００３６】
シンタックスは、次のようにすることができる。
【００３７】
【数２】
2019017104.tif 000003
【００３８】
ｔｉｌｅ＿ｅｎａｂｌｅ＿ｆｌａｇは、タイルが現在のピクチャで使用されているかを決定する。
【００３９】
図１０Ａと１０Ｂを参照して、タイルに対する適切なエントロピ初期化インジケータ値情報を提供する方式は次のようにすることができる。
【００４０】
第１に、マクロブロック（例えば、符号化単位）が、タイルにおける最初のマクロブロックであるかどうかを確認する。それ故、この方式は、エントロピ初期化インジケータ値を含む可能性があるタイルの最初のマクロブロックを決定する。図７を参照すると、これは、マクロブロック１、１６、３４、４３、６３、８７、９９、１０９、及び１２１を指している。図８を参照すると、これは、マクロブロック１、３７及び１００を指している。
【００４１】
第２に、タイルの最初のマクロブロック（例えば、符号化単位）が、スライスの最初のマクロブロック（例えば、符号化単位）でないことを確認する。それ故、この方式は、スライス内のさらなるタイルを識別する。図７を参照すると、これは、マクロブロック１６、３４、４３、３、８７、９９、１０９、及び１２１を指している。図８を参照すると、これは、マクロブロック３７及び１００を指している。
【００４２】
第３に、ｔｉｌｅ＿ｃａｂａｃ＿ｉｎｉｔ＿ｉｄｃ＿ｆｌａｇが第１の値に等しいかどうか、且つタイルが有効かどうかを確認する。１つの特定の実施形態では、この値は０に等しい。第２の実施形態では、この値は１に等しい。更なる実施形態では、（ｎｕｍ＿ｃｏｌｕｍｎ＿ｍｉｎ１＞０  ＆＆  ｎｕｍ＿ｒｏｗｓ＿ｍｉｎ１＞０）の場合、タイルは有効化される。別の実施形態では、ｔｉｌｅ＿ｅｎａｂｌｅ＿ｆｌａｇが１に等しい場合に、タイルは有効化される。
【００４３】
そのように識別されたマクロブロックに対して、ｔｉｌｅ＿ｃａｂａｃ＿ｉｎｉｔ＿ｉｄｃ＿ｐｒｅｓｅｎｔ＿ｆｌａｇを設定することができる。
【００４４】
次いで、システムは、ｔｉｌｅ＿ｃａｂａｃ＿ｉｎｉｔ＿ｉｄｃ＿ｆｌａｇが存在し、且つ（ｎｕｍ＿ｃｏｌｕｍｎ＿ｍｉｎｕｓ１＞０  ＆＆  ｎｕｍ＿ｒｏｗｓ＿ｍｉｎ１＞０）である場合にのみ、ｔｉｌｅ＿ｃａｂａｃ＿ｉｎｉｔ＿ｉｄｃ＿ｐｒｅｓｅｎｔ＿ｆｌａｇの信号を送ればよい。それ故、システムは、タイルが使用されていて、フラグが、エントロピ情報が送信されていること（すなわち、ｃａｂａｃ＿ｉｎｉｔ＿ｉｄｃ  ｆｌａｇ）を示す場合のみ、エントロピ情報を送信する。
【００４５】
符号化シンタックスは、次のようにすることができる。
【００４６】
【数３】
2019017104.tif 000004
【００４７】
一般的に、スライスの最初のマクロブロックに関連していないタイルの最初のマクロブロック（例えば、符号化単位）に関連する１つ以上のフラグが、エントロピ初期化インジケータ値を定義することができる。フラグは、エントロピ初期化インジケータ値が前に提供された情報であるか、デフォルト値であるか、または提供されることになっているエントロピ初期化インジケータ値であるかを示すことができる。
【００４８】
再び図７を参照する。デコーダは、ピクチャ・フレーム内のマクロブロック１６の位置を知ってはいるが、エントロピ復号が原因で、マクロブロック１５がエントロピ復号されるまで、ビットストリームの中の、マクロブロック１６を記述するビットの位置が分からない。復号を行って次のマクロブロックを識別するこのやり方は、ビットのオーバヘッドが小さく保たれ、好ましい。しかしながら、タイルを並列に復号することには役立たない。フレームの中の特定のタイルに対してビットストリームの中の特定の位置を識別する能力を高めて、エントロピ復号の完了を待たずに、異なるタイルをデコーダで同時に並列に復号できるようにするために、ビットストリームの中でのタイルの位置を識別する信号をビットストリームの中に含めることが可能である。図１１を参照する。ビットストリームの中でのタイルの位置の通知は、スライスのヘッダーで提供されるのが好ましい。フラグが、ビットストリームの中でのタイルの位置がスライス内で送信されていることを示す場合、スライス内のタイル（群）それぞれの最初のマクロブロックの、スライス内での位置に加えて、フレーム内のそのようなタイルの数を含むことも好ましい。更に、所望であれば、選択されたタイルのセットに対してのみの位置情報が含まれてもよい。
【００４９】
符号化シンタックスは、次のようにすることができる。
【００５０】
【数４】
2019017104.tif 000005
【００５１】
タイル位置がビットストリームの中に送信されているかどうかを、ｔｉｌｅ＿ｌｏｃａｔｉｏｎｓ＿ｆｌａｇで通知する。ｔｉｌｅ＿ｏｆｆｓｅｔ［ｉ］は、絶対位置値または差分サイズ値（前に符号化されたタイルに対してのタイル・サイズの相違）または任意の適切な方式を使って、通知することができる。
【００５２】
この方式は、オーバヘッドは小さいが、エンコーダは、一般的には、全てのタイルが符号化されるまでビットストリームを送信できない。
【００５３】
幾つかの実施形態では、連続するタイルの、最大値とも称される最大絶対位置値または最大差分サイズ値に関するデータを含むのが好ましい。そのような情報により、エンコーダは、識別された最大値をサポートするために必要なビット数だけを送信でき、デコーダは、識別された最大値をサポートするために必要なビット数だけを受信できる。例えば、比較的小さい最大値に対しては、タイル位置情報には小さいビット深度のみが必要となる。例えば、比較的大きい最大値に対しては、タイル位置情報には大きいビット深度が必要となる。  
【００５４】
エントロピ復号を待たずに、デコーダにおいて異なるタイルを並列に処理できるように、異なるタイルを識別する能力を高める別の方式として、各タイルの開始に関連付けられた、ビットストリーム内のマーカーを使用してもよい。これらのタイル・マーカーは、ビットストリームのその特定の部分のエントロピ復号を待たないで、識別されるように、ビットストリーム内に含まれる。一実施形態では、マーカーは、０×０００００１で始まり、別の実施形態では、マーカーは、０×０００００２で始まり、別の実施形態では、マーカーは、０×０００００４または任意の他の適切なビットのシーケンスで始まる。更にマーカーは、タイル及び／またはタイルの最初のマクロブロックに関連付けられた追加のヘッダーを含むことができる。この方法で、結果としてビット・レートは増加するが、エンコーダは、全てのタイルが符号化されるのを待たずに、符号化後に各タイルをビットストリームに書き込むことができる。更に、バッファリングと併せて使用される場合は特に、デコーダは、より効率的な方法でビットストリームを構文解析し、異なるタイルを識別できる。
【００５５】
タイル・ヘッダーは、スライス・ヘッダーと同様であるが、典型的には、より少ない情報が含まれている。必要となる主要な情報は、次のブロックのマクロブロック番号とエントロピ初期化データとスライス指標（タイル内の最初の符号化単位（ＣＵ：ｃｏｄｉｎｇ  ｕｎｉｔ）が属するスライスを示す）である。そのようなタイル・ヘッダーの符号化シンタックスは、図１２Ａに示したようなものでもよい。あるいは、主要な情報には、初期量子化パラメータも含めることができる。そのようなタイル・ヘッダーの符号化シンタックスは、図１２Ｂに示したようなものでもよい。スライス・ヘッダーで送信されず、且つタイル・ヘッダーにない値は、スライス・ヘッダーに送信された値にリセットすることができる。
【００５６】
幾つかの実施形態では、マーカーは、ビットストリームに含まれ、タイルの開始部に関連付けられる。しかしながら、マーカーは、ビットストリーム内のすべてのタイルに含まれていなくてもよい。これは、エンコーダ及びデコーダが異なるレベルの並列処理で動作することを容易にする。例えば、エンコーダは、ビットストリームには４つのマーカーしか含まなくても、６４個のタイルを使用できる。これにより、６４の処理を並列に符号化することが可能になり、４つの処理を並列に復号することが可能になる。幾つかの実施形態では、ビットストリーム内のマーカーの数は、エンコーダとデコーダの両方に知られている方法で規定される。例えば、マーカーの数は、ビットストリーム内で通知することも、プロファイルまたはレベルで定義することもできる。
【００５７】
幾つかの実施形態では、位置データがビットストリームの中に含められ、タイルの開始部に関連付けられている。しかしながら、位置データは、ビットストリーム内のすべてのタイルに含まれていなくてもよい。これは、エンコーダ及びデコーダが異なるレベルの並列処理で動作することを容易にする。例えば、エンコーダは、ビットストリームには４つの位置しか含まなくても、６４個のタイルを使用できる。これは、６４の処理を並列に符号化することを可能にし、４つの処理を並列に復号することを可能にする。幾つかの実施形態では、ビットストリーム内の位置の数は、エンコーダ及びデコーダの両方に知られている方法で指定される。例えば、位置の数は、ビットストリーム内で通知することも、プロファイルまたはレベルで定義することもできる。
【００５８】
図１３を参照して、タイルの開始を明示的に識別する１つの例示的方式を示す。タイル指標の値が初期化され（ＴｉｌｅＩｄｘ＝０）、前のタイル位置の値が初期化され（ＰｒｅｖｉｏｕｓＬｏｃａｔｉｏｎ＝０）、前のタイル・サイズの値が初期化され（ＰｒｅｖｉｏｕｓＴｉｌｅＳｉｚｅ＝０）、タイルの数の値が初期化される（ＴｉｌｅＣｏｕｎｔ＝（ｎｕｍ＿ｃｏｌｕｍｎｓ＿ｍｉｎｕｓ１＋１）＊（ｎｕｍ＿ｒｏｗｓ＿ｍｉｎｕｓ１＋１）（３００）。タイル・データは、タイルの最初の最大符号化単位（ＬＣＵ）のビットストリームに書き込まれ（３１０）、それは、典型的には、ピクチャの先頭において、左上側の角のＬＣＵである。タイル・データは、タイル内の画素値を再構築するために必要なデータである。書き込まれるべき別のタイルがある場合（３２０）、値のセットを修正することができる。タイルの内の最大符号化単位の数を示す現在のタイル・サイズを更新することができる（ＣｕｒｒｅｎｔＴｉｌｅＳｉｚｅ  ＝  ＣｕｒｒｅｎｔＬｏｃａｔｉｏｎ  −  ＰｒｅｖｉｏｕｓＬｏｃａｔｉｏｎ）（３３０）。ここで、ＣｕｒｒｅｎｔＬｏｃａｔｉｏｎは、ビットストリーム内の現在のタイルの開始の位置である。別の実施形態では、現在のタイル・サイズは、タイル内の符号化単位の数を表すように更新することができる。現在のタイル・サイズと前のタイル・サイズの間のオフセットを表すタイル差分オフセット（３４０）は、更新することができる。前の位置は、現在の位置に設定することができ（ＰｒｅｖｉｏｕｓＬｏｃａｔｉｏｎ  ＝  ＣｕｒｒｅｎｔＬｏｃａｔｉｏｎ）、前のタイル・サイズは、現在のタイル・サイズに設定することができ（ＰｒｅｖｉｏｕｓＴｉｌｅＳｉｚｅ  ＝  ＣｕｒｒｅｎｔＴｉｌｅＳｉｚｅ）、タイル指標は、インクリメントすることができる（ＴｉｌｅＩｄｘ  ＝  ＴｉｌｅＩｄｘ  ＋  １）（３５０）。次のタイルの最初のＬＣＵは、データと共に書き込むことができる（３１０）。この再帰的な処理が、スライス内に書き込まれるべき追加のタイルがなくなる（３３５）まで、繰り返される。
【００５９】
タイル数が１より大きい場合（ＴｉｌｅＣｏｕｎｔ＞１）（３６０）、タイル位置情報フラグの存在が設定される（ＴｉｌｅＬｏｃａｔｉｏｎＩｎｆｏｒｍａｔｉｏｎＰｒｅｓｅｎｔＦｌａｇ  ＝  ．Ｔ．）（３７０）。更に、例えば、ＴｉｌｅＬｏｃａｔｉｏｎＩｎｆｏｒｍａｔｉｏｎＰｒｅｓｅｎｔＦｌａｇ、ＴｉｌｅＤｉｆｆｅｒｅｎｔｉａｌＯｆｆｓｅｔ［０］、ＴｉｌｅＤｉｆｆｅｒｅｎｔｉａｌＯｆｆｓｅｔ［１］、・・・、ＴｉｌｅＤｉｆｆｅｒｅｎｔｉａｌＯｆｆｓｅｔ［ＮｕｍｂｅｒＯｆＴｉｌｅｓＭｉｎｕｓ１］を含む値のセットが書き込まれてもよい（３８０）。ここに、ＮｕｍｂｅｒＯｆＴｉｌｅｓＭｉｎｕｓ１は、ＴｉｌｅＣｏｕｎｔー１に等しい。幾つかの実施形態では、値のセットは、スライス・ヘッダーに書き込まれる（３８０）。タイルが１つだけ存在する場合（３６０）、タイルに関係する追加のデータの格納はスキップされる（３８５）。幾つかの実施形態では、ＴｉｌｅＤｉｆｆｅｒｅｎｔｉａｌＯｆｆｓｅｔは、現在のスライス内のタイル・サイズを表す。
【００６０】
図１４を参照して、タイルの開始を黙示的に識別する例示的な方式を示す。タイル指標の値が初期化され（ＴｉｌｅＩｄｘ＝０）、前のタイル位置が初期化され（ＰｒｅｖｉｏｕｓＬｏｃａｔｉｏｎ＝０）、前のタイル・サイズが初期化される（ＰｒｅｖｉｏｕｓＴｉｌｅＳｉｚｅ＝０）（４００）。タイル・データは、タイルの最初の最大符号化単位（ＬＣＵ）のビットストリームに書き込まれ（４１０）、それは、典型的には、ピクチャの先頭において、左上側の角のＬＣＵである。書き込まれるべき別のタイルが存在する場合（４２０）、値のセットがタイルの符号化単位に書き込まれる（４２５）。書き込まれる値（４２５）は、マーカー及び／またはタイル・ヘッダー情報を含んでもよく、タイル・ヘッダーは、ｌｉｇｈｔｗｅｉｇｈｔ＿ｓｌｉｃｅ＿ｆｌａｇまたは等価なものを有するスライス・ヘッダーであってもよい。タイル・ヘッダー情報は、例えば、最大符号化単位アドレスと、スライス指標と、量子化パラメータ情報とを含んでもよい。次のタイルの最初のＬＣＵは、データと共に書き込まれる（４１０）。この再帰的な処理が、スライス内に書き込まれるべき追加のタイルがなくなる（４３０）まで、繰り返される。タイル開始位置の黙示的及び／または明示的な通知は、ビットストリームの中に含まれていると理解されたい。
【００６１】
図１５を参照して、タイル・ヘッダーは、ＬＣＵアドレス、スライス指標及び／または量子化パラメータ情報に加えて、１つ以上のタイル指標値を含むことができる。ＬＣＵアドレスは、タイル指標値ＴｉｌｅＩｄｘで置き換えられる場合がある。スライス指標は、ビットストリーム内で前に送信されたスライス・パラメータ・セットを指すスライス・パラメータ・セット指標で置き換えられる場合がある。スライス・パラメータ・セットは、量子化パラメータ、エントロピ・コーダ初期化パラメータ、参照リスト・パラメータ、またはループ・フィルタ・パラメータに対する値を含むことができるが、それに限定されない。タイル指標値は、例えば、タイル指標マイナス１のような、任意の適切な値とすることができる。この方法で、最初のタイルに番号０を付け、順次タイルに番号を付ける。タイル指標値を含むことにより、タイルの復号は、計算上の複雑性がより低下する。本発明の幾つかの実施形態では、タイル指標値は、ビットストリームまたはスライスの中の最初のタイルに対応しないタイル・ヘッダーにのみ存在する。
【００６２】
更に、特定のスライスに対して、スライス・ヘッダー内の現在の情報またはスライス・ヘッダー内の前に送信された情報のどちらを使うかを表すフラグがタイル・ヘッダーに含まれていてもよい。これは、システムの計算上の複雑性を更に低減すると共にビットストリームのビット・レートも低減する。
【００６３】
本発明の１つの実施形態では、フラグの存在は、ビットストリーム内においてｓｌｉｃｅ＿ｐａｒａｍｅｔｅｒ＿ｓｅｔ＿ｐｒｅｓｅｎｔ＿ｆｌａｇで表されてもよい。ｓｌｉｃｅ＿ｐａｒａｍｅｔｅｒ＿ｓｅｔ＿ｐｒｅｓｅｎｔ＿ｆｌａｇのシンタックスは、次のようであってもよい。
【００６４】
【表１】
2019017104.tif 000006
【００６５】
ｓｌｉｃｅ＿ｐａｒａｍｅｔｅｒ＿ｓｅｔ＿ｐｒｅｓｅｎｔ＿ｆｌａｇは、スライス・パラメータ・セットが送信されているかをビットストリーム内で通知する。１つの例示的シンタックスは、ピクチャ・パラメータ・セットに対してである。スライス・パラメータ・セット指標は、ｓｌｉｃｅ＿ｐａｒａｍｅｔｅｒ＿ｓｅｔ＿ｐｒｅｓｅｎｔ＿ｆｌａｇが、スライス・パラメータ・セットがビットストリーム内で送信されていることを表す場合にのみ、ビットストリーム内で送信される。「ｓｌｉｃｅ＿ｐａｒａｍｅｔｅｒ＿ｓｅｔ＿ｐｒｅｓｅｎｔ＿ｆｌａｇ」が存在し、且つＴＲＵＥ値に設定されている場合、ｓｌｉｃｅ＿ｐａｒａｍｅｔｅｒ＿ｓｅｔ＿ｆｌａｇが通知される。「ｓｌｉｃｅ＿ｐａｒａｍｅｔｅｒ＿ｓｅｔ＿ｐｒｅｓｅｎｔ＿ｆｌａｇ」が存在し、且つＦＡＬＳＥ値に設定されている場合、ｓｌｉｃｅ＿ｐａｒａｍｅｔｅｒ＿ｓｅｔ＿ｆｌａｇが通知されない。幾つかの実施形態では、「ｓｌｉｃｅ＿ｐａｒａｍｅｔｅｒ＿ｓｅｔ＿ｐｒｅｓｅｎｔ＿ｆｌａｇ」がＦＡＬＳＥ値に設定されている時、前に送信されたスライス・ヘッダーからの情報が使用される。幾つかの実施形態では、ＴＲＵＥ値は１に等しい場合がある。幾つかの実施形態では、ＦＡＬＳＥ値は０に等しい場合がある。以下に説明するように、この処理は、フラグｓｌｉｃｅ＿ｐａｒａｍｅｔｅｒ＿ｓｅｔ＿ｆｌａｇによって通知されたときに、幾つかのタイル・ヘッダーに対して、スキップしてもよい。本発明の幾つかの実施形態では、フラグｓｌｉｃｅ＿ｐａｒａｍｅｔｅｒ＿ｓｅｔ＿ｆｌａｇは、真値であると推測される。
【００６６】
図１６を参照して、タイル・ヘッダーは、スライス・パラメータ・セット指標値を含んでもよい。スライス・パラメータ・セット指標値は、前に送信されたスライス・ヘッダー内の情報である、スライス・パラメータ・セットの中の１つ以上のセットを指してもよい。スライス・パラメータ・セットの各々は、例えば、量子化パラメータ（ＱＰ）、コンテキスト・ベースの適応型２値算術符号化情報（ｃａｂａｃ＿ｉｎｉｔ＿ｉｄｃ）、参照ピクチャ・リスト修正、またはループ・フィルタ情報を含んでもよい。ループ・フィルタ情報は、典型的に、例えば、適応型ループ・フィルタ情報、サンプル適応型オフセット情報、デブロッキング・フィルタ情報を含む。
【００６７】
例示的なタイル・ヘッダーのシンタックスは、次のようである。
【００６８】
【表２】
2019017104.tif 000007
【００６９】
ｓｌｉｃｅ＿ｐａｒａｍｅｔｅｒ＿ｓｅｔ＿ｉｄは、スライス・パラメータ・セット指標値を表し、前に送信されたビットストリーム内の特定のスライス・パラメータ・セットを指す。図１６は、２つの異なるタイル・ヘッダーが、２つの異なるｓｌｉｃｅ＿ｐａｒａｍｅｔｅｒ＿ｓｅｔ＿ｉｄをどのように含み、前に送信されたビットストリーム内の２つの異なるスライス・パラメータ・セットをどのように参照するか、を示す。
【００７０】
ｔｉｌｅ＿ｉｄｘー１は、タイル指標マイナス１を指定することができる。ｔｉｌｅ＿ｉｄｘ−１は、符号なし数とすることができる。ｔｉｌｅ＿ｉｄｘー１は、ｖビットを使うことができ、ｖはピクチャ内のタイルの最大数に基づいて決められる。例えば、ｖは、ＲｏｕｎｄＡｂｏｖｅ（ｌｏｇ２（ＴｉｌｅＣｏｕｎｔー１））として計算することができる。ここで、ＲｏｕｎｄＡｂｏｖｅ（ｘ）は、ｘに等しいかまたはｘより大きい最初の整数値に丸めることを表す。
【００７１】
前に述べたように、ｓｌｉｃｅ＿ｐａｒａｍｅｔｅｒ＿ｓｅｔ＿ｆｌａｇは、ｓｌｉｃｅ＿ｐａｒａｍｅｔｅｒ＿ｓｅｔ＿ｉｄがビットストリーム内で送信されているかどうかを指定する。ｓｌｉｃｅ＿ｐａｒａｍｅｔｅｒ＿ｓｅｔ＿ｆｌａｇが第１の値である場合、ｓｌｉｃｅ＿ｐａｒａｍｅｔｅｒ＿ｓｅｔ＿ｉｄは、ビットストリームで送信されておらず、既存のアクティブなスライス・パラメータ・セットがタイルに対して使用される。１つの実施形態では、アクティブなスライス・パラメータ・セットは、前のタイルで使われたスライス・パラメータ・セットである。第２の実施形態では、アクティブなスライス・パラメータ・セットは、前のタイルの中の最後の符号化単位によって使用されたスライス・パラメータ・セットである。ｓｌｉｃｅ＿ｐａｒａｍｅｔｅｒ＿ｓｅｔ＿ｆｌａｇが、第２の値の場合、ｓｌｉｃｅ＿ｐａｒａｍｅｔｅｒ＿ｓｅｔ＿ｉｄがビットストリーム内で送信される。１つの実施形態では、第１と第２の値は、それぞれ、０及び１である。
【００７２】
ｓｌｉｃｅ＿ｐａｒａｍｅｔｅｒ＿ｓｅｔ＿ｉｄは、タイルによって参照されるスライス・パラメータ・セット識別子を指定する。
【００７３】
図１７を参照して、フラグを、タイルの終端を示すためにタイルの終端に含めてもよい。この方法で、タイルの終端を決定することに関する計算上の複雑さを簡単にできる。
【００７４】
幾つかのケースで、本記載は、スライス及び／またはタイルに適したデータを有するビットストリームを生成する方式を例示した。この情報が適切な方法でビットストリーム内に含まれていることによって、デコーダは、このデータを、同様に受信し、ビットストリームをより効果的に復号するために使用できる。
【００７５】
前述の明細書において用いた用語および表現は、限定ではなく説明のための用語としてその中で使用されており、そのような用語および表現の使用において、図示及び説明した特徴またはその一部の等価物を排除する意図はなく、本発明の範囲は以下の特許請求の範囲によってのみ規定され限定されることが分かる。
【図１】
2019017104.tif 000008
【図２】
2019017104.tif 000009
【図３】
2019017104.tif 000010
【図４】
2019017104.tif 000011
【図５】
2019017104.tif 000012
【図６】
2019017104.tif 000013
【図７】
2019017104.tif 000014
【図８】
2019017104.tif 000015
【図９Ａ】
2019017104.tif 000016
【図９Ｂ】
2019017104.tif 000017
【図１０Ａ】
2019017104.tif 000018
【図１０Ｂ】
2019017104.tif 000019
【図１１】
2019017104.tif 000020
【図１２Ａ】
2019017104.tif 000021
【図１２Ｂ】
2019017104.tif 000022
【図１３】
2019017104.tif 000023
【図１４】
2019017104.tif 000024
【図１５】
2019017104.tif 000025
【図１６】
2019017104.tif 000026
【図１７】
2019017104.tif 000027