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