(57)【特許請求の範囲】
【請求項１】
スライスにおけるＬａｒｇｅｓｔ  Ｃｏｄｉｎｇ  Ｕｎｉｔ（ＬＣＵ）の行の先頭であるか否かを判定するステップと、
スライスタイプを識別するステップと、
前記スライスタイプに対応するＣＡＢＡＣ（Context-adaptive binary arithmetic coding）コンテキストを初期化するステップとを少なくとも含み、
前記スライスにおけるＬＣＵの行の先頭であると判定された場合、前記初期化するステップは、初期化テーブルを決定するための情報によって特定される初期化テーブルに基づいて、前記スライスタイプに対応する前記ＣＡＢＡＣコンテキストを初期化することを特徴とするコンテキストの初期化方法。
【請求項２】
前記スライスタイプとしてＩスライスタイプ以外のスライスタイプを識別する場合、前記初期化するステップは、前記情報を用いて特定される第１の初期化テーブルに基づいて、前記Ｉスライスタイプ以外のスライスタイプに対応するＣＡＢＡＣコンテキストを初期化することを特徴とする請求項１に記載のコンテキストの初期化方法。
【請求項３】
前記スライスタイプとしてＩスライスタイプを識別する場合、前記初期化するステップは、前記情報を用いることなく特定される第２の初期化テーブルに基づいて、前記Ｉスライスタイプに対応するＣＡＢＡＣコンテキストを初期化することを特徴とする請求項１又は２に記載のコンテキストの初期化方法。
【請求項４】
スライスにおけるＬａｒｇｅｓｔ  Ｃｏｄｉｎｇ  Ｕｎｉｔ（ＬＣＵ）の行の先頭であるか否かを判定するステップと、
スライスタイプを識別するステップと、
前記スライスタイプに対応するＣＡＢＡＣ（Context-adaptive binary arithmetic coding）コンテキストを初期化するステップと、
前記スライスを含む動画像を復号するステップとを少なくとも含み、
前記スライスにおけるＬＣＵの行の先頭であると判定された場合、前記初期化するステップは、初期化テーブルを決定するための情報によって特定される初期化テーブルに基づいて、前記スライスタイプに対応する前記ＣＡＢＡＣコンテキストを初期化することを特徴とする復号方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明の実施の形態は、一般に動画像符号化に関する。具体的には、本発明のいくつかの実施形態は、動画像の並列的な符号化および並列的な復号におけるコンテキストの初期化のための方法およびシステムに関する。
【背景技術】
【０００２】
Ｈ．２６４／ＭＰＥＧ−４  ＡＶＣ（Ｈ．２６４／ＡＶＣ）、およびＪＣＴ−ＶＣ  Ｔｅｓｔ  Ｍｏｄｅｌ  ｕｎｄｅｒ  Ｃｏｎｓｉｄｅｒａｔｉｏｎ（ＴＭｕＣ）等の最新の動画像符号化方法および規格は、複雑度が増大することを代償として、旧来の方法および規格に比べて、より高い符号化効率を提供する。動画像符号化方法および規格において画質および解像度に関する要求が増していることも、複雑度を増大させる要因である。並列復号処理をサポートしているデコーダにおいては、復号速度が向上し、必要なメモリ量が削減される。加えて、マルチコアプロセッサの進歩は、並列復号処理をサポートしているエンコーダおよびデコーダを望ましいものにしている。
【０００３】
Ｈ．２６４／ＭＰＥＧ−４  ＡＶＣ（非特許文献１）は、動画像のコーデック（コーダ／デコーダ）についての仕様書（当該仕様書の全体が、本明細書に組み込まれるものとする）であり、当該仕様書においては、効率的な圧縮を行うため、動画像シーケンスにおいて時間的および空間的な冗長性を削減するマクロブロック予測とそれに引き続く残差符号化が用いられている。
【０００４】
Ｔｅｓｔ  Ｍｏｄｅｌ  ｕｎｄｅｒ  Ｃｏｎｓｉｄｅｒａｔｉｏｎ（ＴＭｕＣ）（非特許文献２）は、ＪＣＴ−ＶＣの初期のテストモデル（当該テストモデルの全体が、本明細書に組み込まれるものとする）である。ＴＭｕＣは、符号化ツリーブロック（ＣＴＢ：Coding Tree Block）と呼ばれる、サイズ可変の基本的符号化ユニット（basic coding unit）を用いており、Ｈ．２６４／ＡＶＣに比べて、より高い柔軟性を提供する。
【先行技術文献】
【非特許文献】
【０００５】
【非特許文献１】“H.264: Advanced video coding for generic audiovisual services,” Joint Video Team of ITU-T VCEG and ISO/IEC MPEG, ITU-T Rec. H.264 and ISO/IEC 14496-10 (MPEG4 - Part 10), November 2007
【非特許文献２】“ Test Model under Consideration,” JCT-VC A205, June 16, 2010
【発明の概要】
【発明が解決しようとする課題】
【０００６】
しかしながら、Ｈ．２６４／ＡＶＣのデコーダおいて、エントロピー復号は、デコーダにおける全ての処理に先立って行う必要がある。したがって、エントロピー復号は、復号処理において、潜在的なボトルネックとなっている。
【０００７】
本発明は上記の問題に鑑みてなされたものであり、その主たる目的は、上記問題を解決することにある。
【課題を解決するための手段】
【０００８】
本発明のいくつかの実施の形態には、第１の領域の各ブロックの行の先頭であるか否かを判定するステップと、スライスタイプを識別するステップと、スライスタイプに対応するＣＡＢＡＣ（Context-adaptive binary arithmetic coding）コンテキストを初期化するステップとを少なくとも含み、第１の領域の各ブロックの行の先頭であると判定された場合、初期化するステップは、初期化テーブルを決定するための情報によって特定される初期化テーブルに基づいて、スライスタイプに対応する前記ＣＡＢＡＣコンテキストを初期化する。
また、スライスタイプとしてＩスライスタイプ以外のスライスタイプを識別する場合、初期化するステップは、情報を用いて特定される第１の初期化テーブルに基づいて、Ｉスライスタイプ以外のスライスタイプに対応するＣＡＢＡＣコンテキストを初期化する。
また、スライスタイプとしてＩスライスタイプを識別する場合、初期化するステップは、情報を用いることなく特定される第２の初期化テーブルに基づいて、Ｉスライスタイプに対応するＣＡＢＡＣコンテキストを初期化する。
また、本発明のいくつかの実施の形態には、第１の領域の各ブロックの行の先頭であるか否かを判定するステップと、スライスタイプを識別するステップと、スライスタイプに対応するＣＡＢＡＣ（Context-adaptive binary arithmetic coding）コンテキストを初期化するステップと、第１の領域を含む動画像を復号するステップとを少なくとも含み、第１の領域の各ブロックの行の先頭であると判定された場合、初期化するステップは、初期化テーブルを決定するための情報によって特定される初期化テーブルに基づいて、スライスタイプに対応する前記ＣＡＢＡＣコンテキストを初期化する。
本発明のいくつかの実施の形態には、並列的なエントロピー符号化のための方法およびシステムが含まれる。また、本発明のいくつかの実施の形態には、並列的なエントロピー復号のための方法およびシステムが含まれる。
【０００９】
本発明の第一の態様によれば、エントロピー符号化のために用いられる複数のコンテキストモデルは、エントロピースライスの始まりにおいて、コンテキストテーブルを用いて初期化される。
【００１０】
本発明の第二の態様によれば、エントロピー符号化のために用いられる複数のコンテキストモデルは、エントロピースライスにおけるある行の最初の基本ユニット（elementary unit）において、コンテキストテーブルを用いて初期化される。
【００１１】
本発明の一実施形態においては、動画像シーケンスにおける動画像フレームの復号方法であって、ビデオデコーダにて、エントロピースライスを受信する工程と、上記エントロピースライスにおけるスライスの始まりの基本ユニットを識別する工程と、上記スライスの始まりの基本ユニットのエントロピー復号に関連付けられたコンテキストモデルを、第１のコンテキストモデルに初期化する工程とを含んでいる、ことを特徴とする符号化方法を開示する。
【００１２】
本発明の一実施形態においては、動画像シーケンスの動画像フレームの復号方法であって、ビデオデコーダにて、エントロピースライスを受信する工程と、コンテキストテーブルリセットフラグのためのコンテキストテーブルリセットフラグの値を受信する工程と、上記エントロピースライスにおける第１の行スライスの基本ユニットを識別する工程と、上記コンテキストテーブルリセットフラグの値が、第１の値である場合に、上記第１の行の始まりの基本ユニットのエントロピー復号に関連付けられたコンテキストモデルを、第１のコンテキストモデルに初期化する工程とを含んでいる、ことを特徴とする符号化方法を開示する。
【００１３】
本発明の一実施形態においては、動画像シーケンスの動画像フレームの復号方法であって、エンコーダにて、動画像シーケンスのあるフレームを少なくとも１つの再構成スライスに分割することによって、第１の再構成スライスを生成する工程と、上記再構成スライスに関連付けられた第１のエントロピースライスを形成する工程と、上記第１のエントロピースライスに関連付けられた第１の行の始まりの基本ユニットを識別する工程と、上記動画像フレームに関連付けられたビットストリームにおいて、上記第１の行の始まりの基本ユニットに関連付けられた第１のコンテキストモデルを通知する工程とを含んでいる、ことを特徴とする符号化方法を開示する。
【００１４】
本発明についての、上述した若しくは他の目的、特性、および利点は、本発明についての以下の詳細な説明を、添付された図面と共に考慮することにより、より容易に理解されるであろう。
【発明の効果】
【００１５】
Ｈ．２６４／ＡＶＣにおいて、エントロピー復号は、復号処理における潜在的なボトルネックとなっている。本発明の一実施例における構成は、画像を再構成するために必要なエントロピー復号処理を並列に行うことを可能にしている。したがって、本発明に係る方法によれば、上記問題を解決することができる。
【図面の簡単な説明】
【００１６】
【図１】Ｈ．２６４／ＡＶＣ動画像エンコーダ（従来技術）を示す図である。
【図２】Ｈ．２６４／ＡＶＣ動画像デコーダ（従来技術）を示す図である。
【図３】例示的なスライスの構造（従来技術）を示す図である。
【図４】例示的なスライスグループの構造（従来技術）を示す図である。
【図５】本発明の実施の形態における例示的なスライス分割を示すものであって、１枚のピクチャが少なくとも１枚の再構成スライスに分割され、１枚の再構成スライスが１より多くのエントロピースライスに分割されていることを示す図である。
【図６】エントロピースライスを含む本発明の例示的な実施の形態を示すフローチャートである。
【図７】スライスの再構成に引き続いて行われる複数のエントロピースライスの並列的なエントロピー復号を含む本発明の例示的な実施の形態を示すフローチャートである。
【図８】エントロピースライスを構成するために行われるピクチャレベルでの予測データ／残差データの多重化を含む本発明の例示的な実施の形態を示すフローチャートである。
【図９】エントロピースライスを構成するために行われるピクチャレベルでの色平面の多重化を含む本発明の例示的な実施の形態を示すフローチャートである。
【図１０】エントロピー復号、エントロピースライスの形成、および、エントロピー符号化により行われるビットストリームのトランスコードを含む本発明の例示的な実施の形態を示すフローチャートである。
【図１１】再構成スライスの複数のエントロピースライスへの分割を含む本発明の例示的な実施の形態を示すフローチャートである。ここで、上記複数のエントロピースライスにおける各エントロピースライスに関連したビンの数は、ビンの所定の数を超過しない。
【図１２】再構成スライスの複数のエントロピースライスへの分割を含む本発明の例示的な実施の形態を示すフローチャートである。ここで、エントロピースライスにおけるビンの数が、ビンの所定の最大数に基づく閾値を超過するまで、ビンは上記エントロピースライスに関連付けられる。
【図１３】再構成スライスの複数のエントロピースライスへの分割を含む本発明の例示的な実施の形態を示すフローチャートである。ここで、上記複数のエントロピースライスにおける各エントロピースライスに関連したビンの数は、ビンの所定の数を超過せず、各再構成スライスは、所定の数以下のマクロブロックを含む。
【図１４】再構成スライスの複数のエントロピースライスへの分割を含む本発明の例示的な実施の形態を示すフローチャートである。ここで、エントロピースライスにおけるビンの数が、ビンの所定の最大数に基づく閾値を超過するまで、ビンは上記エントロピースライスに関連付けられ、各再構成スライスは、所定の数以下のマクロブロックを含む。
【図１５】再構成スライスの複数のエントロピースライスへの分割を含む本発明の例示的な実施の形態を示すフローチャートである。ここで、上記複数のエントロピースライスにおける各エントロピースライスに関連したビットの数は、ビットの所定の数を超過しない。
【図１６】再構成スライスの複数のエントロピースライスへの分割を含む本発明の例示的な実施の形態を示すフローチャートである。ここで、エントロピースライスにおけるビットの数が、ビットの所定の最大数に基づく閾値を超過するまで、ビットは上記エントロピースライスに関連付けられる。
【図１７】複数のビンコーダを含む本発明の例示的な実施の形態を示す図である。
【図１８】複数のコンテキスト適応ユニット（context-adaptation unit）を含む本発明の例示的な実施の形態を示す図である。
【図１９】複数のビンコーダ、および複数のコンテキスト適応ユニットを含む本発明の例示的な実施の形態を示す図である。
【図２０】再構成スライスの複数のエントロピースライスへの分割を含む本発明の例示的な実施の形態を示すフローチャートである。ここで、エントロピースライスのサイズは、エントロピースライスにおいて処理されるビンの数を制限するために、制限された各エントロピーコーダユニットにより制限される。
【図２１】再構成スライスの複数のエントロピースライスへの分割を含む本発明の例示的な実施の形態を示すフローチャートである。ここで、エントロピースライスのサイズは、エントロピースライスにおいて処理されるビンの数を制限するために、制限された各エントロピーコーダユニットにより制限される。
【図２２】複数のビンデコーダを含む本発明の例示的な実施の形態を示す図である。
【図２３】複数のコンテキスト適応ユニットを含む本発明の例示的な実施の形態を示す図である。
【図２４】複数のビンデコーダ、および複数のコンテキスト適応ユニットを含む本発明の例示的な実施の形態を示す図である。
【図２５】再構成ブロックの複数のエントロピースライスへの例示的な分割を示す図である。ここで、エントロピースライス内のマクロブロックは連続している。
【図２６】再構成ブロックの複数のエントロピースライスへの例示的な分割を示す図である。ここで、エントロピースライス内のマクロブロックは連続していない。
【図２７】エントロピー復号における再構成ブロックの複数のエントロピースライスへの例示的な分割に用いられる、切れ目なく連続していない近傍ブロックを示す図である。ここで、エントロピースライス内のマクロブロックは切れ目なく連続していない。
【図２８】エントロピースライス内のブロックのエントロピー復号、および再構成における、再構成ブロックの複数のエントロピースライスへの例示的な分割に用いられる、近傍ブロックを示す図である。ここで、エントロピースライス内のマクロブロックは切れ目なく連続していない。
【図２９】エントロピースライスヘッダロケーションの制約を示す例示的なビットストリームの例示的な一部を示す図である。
【図３０】エントロピースライスヘッダロケーションの制約を示す例示的なビットストリームの例示的な一部を示す図である。
【図３１】エントロピースライスヘッダを特定するためにビットストリームの一部を制約する処理を行うエントロピーデコーダを含む本発明の例示的な実施の形態を示すフローチャートである。
【図３２】エントロピースライスヘッダを特定するためにビットストリームの一部を制約する処理を行うエントロピーデコーダを含む本発明の例示的な実施の形態を示すフローチャートである。
【図３３】エントロピースライスヘッダを特定するためにビットストリームの一部を制約する処理を行うエントロピーデコーダを含む本発明の例示的な実施の形態を示すフローチャートである。
【図３４】本発明の実施の形態に従って、エントロピースライス内の例示的なコンテキストモデル初期化の概要を示す図である。
【発明を実施するための形態】
【００１７】
本発明の実施の形態は、図面を参照することにより最もよく理解されるであろう。なお、図面においては、同様の部分には、同様の番号を付すことにする。また、上記の図面は、明示的に詳細な説明の一部に組み込まれる。
【００１８】
本明細書の図面において一般的に記述および説明がなされているように、本発明の各要素は、様々な構成においてアレンジおよび設計が可能であることが容易に理解されるであろう。従って、以下に述べる、本発明に係る方法およびシステムの実施の形態についてのより詳細な記載は、本発明の範囲を限定するものではなく、単に、現段階における好ましい実施の形態を表現しているに過ぎない。
【００１９】
本発明の実施の形態における各要素は、ハードウエア、ファームウエア、および／または、ソフトウエアによって実現されてもよい。本明細書において例示的に開示される実施の形態は、これらの形態の一つを記述しているに過ぎず、当業者であれば、本発明の範囲内において、各要素を、これらの形態の何れにおいても実現することができることが理解されるものとする。
【００２０】
エントロピー符号化／復号を用いる任意のコーダ（coder）／デコーダ（decoder）（コーデック）は、本発明の実施の形態に含まれるが、本発明の多くの例示的な実施の形態は、Ｈ．２６４／ＡＶＣのエンコーダ、および、Ｈ．２６４／ＡＶＣのデコーダとの関連において説明される。これは、本発明の説明のためであり、本発明を限定するものではない。
【００２１】
本発明の多くの例示的な実施形態は、基本ユニット（elementary unit）としてのマクロブロックに関して記述されている。これは、説明のためであり、限定するものではない。
【００２２】
２００８年３月２８日に出願された"Methods and Systems for Parallel Video Encoding and Decoding"というタイトルの米国特許出願第１２／０５８，３０１号明細書は、参照することにより、その全体が本明細書に組み込まれるものとする。また、２００９年１０月１４日に出願された"Methods and Systems for Parallel Video Encoding and Decoding"というタイトルの米国特許出願第１２／５７９，２３６号明細書は、参照することにより、その全体が本明細書に組み込まれるものとする。
【００２３】
Ｈ．２６４／ＭＰＥＧ−４  ＡＶＣ（Ｈ．２６４／ＡＶＣ）、およびＴＭｕＣ等の最新の動画像符号化方法および規格は、複雑度が増大することを代償として、旧来の方法および規格に比べて、より高い符号化効率を提供する。動画像符号化方法および規格において画質および解像度に関する要求が増していることも、複雑度を増大させる要因である。並列復号処理をサポートしているデコーダにおいては、復号速度が向上し、必要なメモリ量が削減される。加えて、マルチコアプロセッサの進歩は、並列復号処理をサポートしているエンコーダおよびデコーダを望ましいものにしている。
【００２４】
Ｈ．２６４／ＡＶＣ、および、その他多くの動画像符号化規格および方法は、ブロックに基づくハイブリッド動画像符号化のアプローチに基づいている。それらにおいて、情報源符号化（source-coding）アルゴリズムは、（ａ）画像間（inter-picture、フレーム間（inter-frame）ともいう）予測、（ｂ）画像内（intra-picture、フレーム内（intra-frame）ともいう）予測、および、（ｃ）予測残差（prediction-residual）の変換符号化（transform coding）、のハイブリッドである。フレーム間予測は、時間方向の冗長性を利用するものであり、フレーム内および予測残差の変換符号化は、空間方向の冗長性を利用するものである。
【００２５】
図１は、例示的なＨ．２６４／ＡＶＣ動画像エンコーダ２のブロック図である。入力フレームと捉えることもできる入力画像（input picture、入力ピクチャ）４が、符号化の対象として存在している。予測信号（predicted signal）６、および、残差信号（residual signal）８が生成される。ここで、予測信号６は、フレーム間予測（inter-frame prediction）１０またはフレーム内予測（intra-frame prediction）１２の何れかに基づくものである。フレーム間予測１０は、蓄積された参照画像１６（参照フレームともいう）、および、入力フレーム（入力画像）４と参照フレーム（参照画像）１６との間の、動き検出処理を実行する動き検出１８の処理によって決定された動き情報１９、を用いる動き補償部１４によって決定される。フレーム内予測１２は、フレーム内予測部２０により復号信号２２を用いて決定される。残差信号８は、予測信号６から入力画像４を減算することによって決定される。残差信号８は、変換／スケール／量子化部２４により変換・スケール・量子化され、これにより、量子化された変換係数２６が生成される。復号信号２２は、量子化された変換係数２６を用いる逆（変換／スケール／量子化）部３０により生成される信号２８に、予測信号６を加算することによって生成される。動き情報１９、および、量子化された変換係数２６は、エントロピー符号化部３２によりエントロピー符号化され、圧縮された動画像ビットストリーム３４に書き込まれる。出力画像領域３８（例えば、参照フレームの一部）は、再構成されかつ予めフィルタリングされた信号２２を用いるデブロッキングフィルタ部３６によりエンコーダ２にて生成される。
【００２６】
図２は、例示的な２６４／ＡＶＣ動画像デコーダ５０のブロック図である。ビットストリームと捉えることもできる入力信号５２が、復号の対象として存在している。受信されたシンボルは、エントロピー復号部５４によりエントロピー復号され、これにより、（１）動き情報５６、および、（２）量子化およびスケーリングされた変換係数５８が生成される。動き情報５６は、動き補償部６０により、フレームメモリ６４内の参照フレーム８４の一部と結合され、フレーム間予測６８が生成される。量子化およびスケーリングされた変換係数５８は、逆（変換／スケール／量子化）部６２により逆量子化、（逆）スケーリング、および、逆変換され、これにより、復号された残差信号７０が生成される。残差信号７０は、予測信号７８に加算される。ここで、予測信号７８は、フレーム間予測信号６８、または、フレーム内予測信号７６の何れかである。フレーム内予測信号７６は、現フレームにおいて既に復号された情報７２からフレーム内予測部７４により予測される。加算された信号７２は、デブロッキングフィルタ８０によってフィルタされ、フィルタ済みの信号８２は、フレームメモリ６４に書き込まれる。
【００２７】
Ｈ．２６４／ＡＶＣにおいては、入力ピクチャは、固定サイズのマクロブロックに分割され、各マクロブロックは、輝度成分について１６×１６サンプル、および、２つの色差成分の各々について８×８サンプルの矩形状の画像領域をカバーする。他のコーデックおよび規格においては、マクロブロックとは異なる基本ユニットまたは基本的符号化ユニット、例えば符号化ツリーブロック（Coding Tree Block）を用いてもよい。Ｈ．２６４／ＡＶＣ規格における復号処理は、マクロブロックを単位として処理を行う仕様である。エントロピーデコーダ５４は、圧縮された動画像ビットストリーム５２のシンタックス要素を構文解析し、それらを逆多重化する。Ｈ．２６４／ＡＶＣは、エントロピー復号として、異なる２つの方法を用いる仕様である。その１つは、ＣＡＶＬＣと呼ばれる、コンテキストを適応的に切り替える可変長符号のセットを利用することに基づく複雑性の低い技術であり、もう１つは、ＣＡＢＡＣと呼ばれる、コンテキストに基づく適応的なバイナリー算術符号化を行う、より多くの計算量を要するアルゴリズムである。双方のエントロピー復号方法において、現シンボルの復号処理は、前に正しく復号されたシンボル、および、適応的にアップデートされるコンテキストモデルに依存する。加えて、例えば、予測データ情報、残差データ情報、および、異なる色平面（color planes）等の異なるデータ情報が共に多重化される。逆多重化は、各要素がエントロピー復号されるまで終了しない。
【００２８】
エントロピー復号の後、マクロブロックは、（１）逆量子化および逆変換を経た残差信号、および、（２）フレーム内予測信号およびフレーム間予測信号の何れかである予測信号、を得ることにより再構成される。ブロック歪みは、復号された各マクロブロックに対してデブロッキングフィルタを作用させることにより低減される。入力信号がエントロピー復号されるまでは、如何なる処理も始まることはない。したがって、エントロピー復号は、復号処理において、潜在的なボトルネックとなっている。
【００２９】
同様に、例えば、Ｈ．２６４／ＡＶＣにおけるレイヤ間予測、および、その他のスケーラブルなコーデックにおけるレイヤ間予測のような互いに異なる予測のメカニズムが許されるコーデックにおいて、エントロピー復号は、デコーダにおける全ての処理に先立って行う必要がある。したがって、エントロピー復号は、復号処理において、潜在的なボトルネックとなっている。
【００３０】
Ｈ．２６４／ＡＶＣにおいて、複数のマクロブロックを含む入力ピクチャは、１または複数のスライスに分割される。エンコーダおよびデコーダにて用いられる参照画像が同一であるとすると、１枚のスライスが示す画像の領域におけるサンプルの値は、他のスライスのデータを用いることなく正しく復号される。したがって、１枚のスライスに対するエントロピー復号、および、マクロブロックの再構成は、他のスライスに依存しない。特に、各スライスの開始において、エントロピー符号化の状態はリセットされる。他のスライスのデータは、エントロピー復号および再構成の双方に対して近傍の利用可能性を定義するときに、利用不可能とマークされる。Ｈ．２６４／ＡＶＣにおいて、スライスは、並列的にエントロピー復号および再構成される。スライス境界を跨ぐイントラ（画面内）予測および動きベクトル予測は、禁止されている。デブロッキングフィルタは、スライス境界を跨いだ情報を用いることができる。
【００３１】
図３は、例示的なビデオ画像（ビデオピクチャ）９０を示している。ビデオ画像９０は、水平方向に１１個、垂直方向に９個のマクロブロックを含んでいる（９個の例示的なマクロブロックに９１〜９９の番号を付している）。図３には、３枚の例示的なスライス：“スライス＃０”１００と示されている第１のスライス、“スライス＃１”１０１と示されている第２のスライス、および、“スライス＃２”１０２と示されている第３のスライス、が示されている。Ｈ．２６４／ＡＶＣデコーダは、３枚のスライス１００、１０１、１０２を並列的に復号および再構成することができる。各スライスの復号／再構成の処理の最初に、コンテキストモデルが初期化若しくはリセットされ、他のスライス内のマクロブロックは、エントロピー復号およびマクロブロックの再構成の双方に対して、利用不可能とマークされる。したがって、“スライス＃１”内のマクロブロック、例えば、９３の番号が付されたマクロブロック、に対して、“スライス＃０”内のマクロブロック（例えば、９１および９２の番号が付されたマクロブロック）は、コンテキストモデルの選択、および、再構成に用いられない。一方で、“スライス＃１”内のマクロブロック、例えば、９５の番号が付されたマクロブロックに対して、“スライス＃１”内の他のマクロブロック（例えば、９３および９４の番号が付されたマクロブロック）は、コンテキストモデルの選択、および、再構成に用いられる。従って、エントロピー復号、および、マクロブロックの再構成は、スライス内で、逐次的（serially）に行われる必要がある。スライスがフレキシブルなマクロブロック順序付け（flexible macroblock ordering(FMO)）を用いて定義されているものでない限り、スライス内のマクロブロックは、ラスタスキャン順に処理される。
【００３２】
フレキシブルなマクロブロック順序付けは、１枚のピクチャのスライスへの分割の態様を変更するスライスグループ（slice group）を定義する。スライスグループ内のマクロブロックは、マクロブロックからスライスグループへのマップ（macroblock-to-slice-group map）によって定義される。ここで、マクロブロックからスライスグループへのマップは、スライスヘッダにおけるピクチャパラメータセットおよび追加情報の内容によって示される。マクロブロックからスライスグループへのマップは、ピクチャ内の各マクロブロックについてのスライスグループ識別番号（slice-group identification number）により構成されている。スライスグループ識別番号は、各マクロブロックがどのスライスに属するものであるかを特定する。各スライスグループは、１または複数のスライスに分割が可能である。ここで、スライスは、あるスライスグループのマクロブロックのセットにおいてラスタスキャン順に処理される同じスライスグループ内の一連のマクロブロックよりなる。エントロピー復号、および、マクロブロックの再構成は、スライス内で、逐次的に行われる必要がある。
【００３３】
図４は、３つのスライスグループ：“スライスグループ＃０”１０３と示される第１のスライスグループ、“スライスグループ＃１”１０４と示される第２のスライスグループ、および、“スライスグループ＃２”１０５と示される第３のスライスグループ、への例示的なマクロブロックの配置を示している。これらのスライスグループ１０３、１０４、１０５は、それぞれ、ピクチャ９０における２つの前景領域（foreground regions）および、１つの背景領域（background region）に関連付けられている。
【００３４】
本発明のいくつかの実施の形態は、ピクチャを１または複数の再構成スライス（reconstruction slice）へ分割することを含んでいる。ここで、エンコーダおよびデコーダにて用いられる参照画像が同一であるとすると、再構成スライスは、該ピクチャ上の該再構成スライスによって表される領域におけるサンプルの値が他の再構成スライスからのデータを用いることなく正しく再構成されるという点で、自己完結的である。再構成スライスにおけるすべての再構成されたマクロブロックは、再構成のための近傍の定義付けにおいて、利用可能である。
【００３５】
本発明のいくつかの実施の形態は、再構成スライスを１より多くのエントロピースライス（entropy slice）に分割することを含んでいる。ここで、エントロピースライスは、該ピクチャ上の該エントロピースライスによって表される領域におけるシンボルの値が他のエントロピースライスからのデータを用いることなく正しくエントロピー復号されるという点で、自己完結的である。本発明のいくつかの実施の形態においては、各エントロピースライスの復号開始において、エントロピー符号化の状態はリセットされる。本発明のいくつかの実施の形態において、他のエントロピースライスのデータは、エントロピー復号のための近傍の利用可能性を定義するときに、利用不可能とマークされる。本発明のいくつかの実施の形態においては、他のエントロピースライスにおけるマクロブロックは、現ブロックのコンテキストモデルの選択において用いられることはない。本発明のいくつかの実施形態において、コンテキストモデルは、エントロピースライス内においてのみアップデートされる。本発明のこれらの実施の形態において、１枚のエントロピースライスに用いられる各エントロピーデコーダは、コンテキストモデルについての、自身のセットを保持する。
【００３６】
ＩＴＵ電気通信標準化部門（ITU Telecommunication Standardization Sector）の研究班１６（Study Group 16）による、２００８年４月の「並列的なエントロピー復号のためのエントロピースライス（Entropy slices for parallel entropy decoding）」と題された寄書４０５は、参照することによりその全体が本明細書に組み込まれるものとする。
【００３７】
本発明のいくつかの実施の形態は、ＣＡＢＡＣ符号化／復号を含んでいる。ＣＡＢＡＣ符号化処理は、以下の４つの基本的なステップ、すなわち、バイナリゼーション、コンテキストモデル選択、２値算術符号化、および確率のアップデートを含んでいる。
【００３８】
・バイナリゼーション（binarization）：２進値でないシンボル（non-binary-valued symbol）（例えば、変換係数、動きベクトル、または、その他の符号化データ）は、ビンストリング（bin string）、または、２値化シンボルとも呼ばれる２進符号（binary code）に変換される。２進値のシンタックス要素が与えられるとき、バイナリゼーションの最初のステップは省略されてもよい。２進値のシンタックス要素、または、２値化シンボルの要素が、ビンと見なされ得る。
【００３９】
各ビンに対して、以下のステップが実行される。
【００４０】
・コンテキストモデル選択：コンテキストモデルは、１またはそれ以上のビンに対しての確率モデルである。コンテキストモデルは、各ビンについて、該ビンが“１”および“０”の何れであるかの確率を含んでいる。モデルの選択は、直近に符号化されたデータシンボルの統計に依存して、通常、左隣および上隣のシンボルが利用可能であればそれらに基づいて、利用可能な複数のモデルの選択肢に対して行われる。
【００４１】
・２値算術符号化：算術コーダ（arithmetic coder）は、選択された確率モデルに従い、再帰的な区間の再分割に基づいて、各ビンを符号化する。
【００４２】
・確率のアップデート：選択されたコンテキストモデルは、実際の符号化された値に基づいてアップデートされる。
【００４３】
コンテキストの適応は、近傍のシンボルの値に基づくコンテキストモデル状態の選択処理、及び与えられたシンボルに割り当てられたモデル確率分布のアップデート処理を参照してもよい。ここで、コンテキストモデル状態は、単に、状態とも呼ばれ、ビンに関連付けられている。近傍のシンボルの位置は、コンテキストテンプレート（context template）にしたがって定義される。
【００４４】
ＣＡＢＡＣ符号化／復号を含む本発明のいくつかの実施の形態においては、エントロピースライスの復号開始において、全てのコンテキストモデルは初期化されるか、または、所定のモデルにリセットされる。
【００４５】
本発明のいくつかの実施の形態は、図５との関係において理解される。図５は、例示的なビデオフレーム（video frame、動画像フレーム）１１０を示している。ビデオフレーム１１０は、水平方向に１１個、垂直方向に９個のマクロブロックを含んでいる（９個の例示的なマクロブロックに１１５〜１２３の番号を付している）。図５には、３枚の例示的な再構成スライス：“Ｒ＿スライス＃０”１１１と示されている第１の再構成スライス、“Ｒ＿スライス＃１”１１２と示されている第２の再構成スライス、および、“Ｒ＿スライス＃２”１１３と示されている第３の再構成スライス、が示されている。図５には、さらに、第２の再構成スライス“Ｒ＿スライス＃１”１１２の、３枚のエントロピースライス：クロスハッチで表されており“Ｅ＿スライス＃０”と示されている第１のエントロピースライス１１４、垂直ハッチで表されており“Ｅ＿スライス＃１”と示されている第２のエントロピースライス１１５、および、斜めハッチで表されており“Ｅ＿スライス＃２”と示されている第３のエントロピースライス１１６、への分割が示されている。各エントロピースライス１１４、１１５、１１６は、並列的にエントロピー復号される。
【００４６】
本発明のいくつかの実施の形態においては、エントロピースライス内のマクロブロックからのデータのみが、該エントロピースライスのエントロピー復号を行っている間のコンテキストモデルの選択に対して利用可能である。他の全てのマクロブロックは、利用不可能とマークされる。この例示的な分割においては、１１７および１１８の番号が付されたマクロブロックは、１１９の番号が付されたマクロブロックの領域に対応するシンボルを復号するときには、コンテキストモデルの選択に利用不可能である。これは、１１７および１１８の番号が付されたマクロブロックは、マクロブロック１１９を含む該エントロピースライスの外に位置しているからである。しかしながら、これらのマクロブロック１１７、１１８は、マクロブロック１１９が再構成されるときには利用可能である。
【００４７】
本発明のいくつかの実施の形態においては、エンコーダは、再構成スライスをエントロピースライスに分割するか否かを決定し、その決定をシグナルとしてビットストリーム中に含める。本発明のいくつかの実施の形態においては、そのシグナルは、エントロピースライスフラグ（entropy-slice frag）を含んでいる。本発明のいくつかの実施の形態においては、該エントロピースライスフラグは、“entropy_slice_frag”と表される。
【００４８】
本発明のいくつかのデコーダの実施の形態は、図６との関係において記述される。これらの実施の形態においては、エントロピースライスフラグが分析（examine）され（ステップ１３０）、もし、該エントロピースライスフラグが、ピクチャまたは再構成スライスに関連付けられたエントロピースライスが存在しないことを示していれば（分岐１３２）、ヘッダは、標準的スライスヘッダ（regular slice header）として構文解析（parse）される（ステップ１３４）。エントロピーデコーダの状態はリセットされ（ステップ１３６）、エントロピー復号および再構成のための近傍情報（neighbor information）が定義される（ステップ１３８）。そして、スライスのデータがエントロピー復号され（ステップ１４０）、スライスが再構成される（ステップ１４２）。もし、該エントロピースライスフラグが、ピクチャに関連付けられたエントロピースライスが存在していることを示していれば（分岐１４６）、ヘッダは、エントロピースライスヘッダ（entropy-slice header）として構文解析される（ステップ１４８）。エントロピーデコーダの状態はリセットされ（ステップ１５０）、エントロピー復号のための近傍情報が定義され（ステップ１５２）、エントロピースライスのデータがエントロピー復号される（ステップ１５４）。そして、再構成のための近傍情報が定義され（ステップ１５６）、スライスが再構成される（ステップ１４２）。ステップ１４２におけるスライスの再構成の後に、次のスライスまたはピクチャが分析される（矢印１５８）。
【００４９】
本発明の他のいくつかのデコーダの実施の形態は、図７との関係において記述される。これらの実施の形態においては、デコーダは、並列的な復号を行うことが可能であり、自身の並列度（degree of parallelism）を定義する。例えば、並列的にＮ枚のエントロピースライスを復号することが可能なデコーダを考える。該デコーダは、Ｎ枚のエントロピースライスを識別する（ステップ１７０）。本発明のいくつかの実施の形態においては、現ピクチャ若しくは再構成スライスにおいて、Ｎ枚よりも少ないエントロピースライスが利用可能なとき、該デコーダは、次のピクチャ若しくは再構成スライスが利用可能であれば、それらからのエントロピースライスを復号する。他の実施の形態においては、デコーダは、次のピクチャ若しくは再構成スライスの一部を復号する前に、現ピクチャ若しくは再構成スライスが完全に処理されるまで待機する。Ｎ枚までのエントロピースライスを識別した後（ステップ１７０）、識別されたエントロピースライスの各々は、独立にエントロピー復号される。第１のエントロピースライスが復号される（ステップ１７２〜ステップ１７６）。第１のエントロピースライスの復号（ステップ１７２〜ステップ１７６）は、該デコーダの状態をリセットすることを含んでいる（ステップ１７２）。ＣＡＢＡＣエントロピー復号を含むいくつかの実施の形態においては、ＣＡＢＡＣの状態がリセットされる。第１のエントロピースライスのエントロピー復号のための近傍情報が定義され（ステップ１７４）、第１のエントロピースライスのデータが復号される（ステップ１７６）。Ｎ枚までのエントロピースライスの各々に対して、これらのステップが行われる（Ｎ番目のエントロピースライスに対してのステップ１７８〜ステップ１８２）。本発明のいくつかの実施の形態において、デコーダは、すべてのエントロピースライスがエントロピー復号されたときに、該エントロピースライスを再構成する（ステップ１８４）。本発明の他の実施の形態においては、デコーダは、１またはそれ以上のエントロピースライスが復号された後に、再構成（ステップ１８４）を開始する。
【００５０】
本発明のいくつかの実施の形態においては、Ｎ枚より多くのエントロピースライスが存在するときには、復号スレッド（decode thread）は、エントロピースライスのエントロピー復号が終了次第、次のエントロピースライスのエントロピー復号を開始する。従って、スレッドが複雑性の低いエントロピースライスのエントロピー復号を完了したとき、該スレッドは、他のスレッドが復号を完了するのを待つことなく、さらなるエントロピースライスの復号を開始する。
【００５１】
既存の規格若しくは方法を含む本発明のいくつかの実施の形態において、エントロピースライスは、そのような規格もしくは方法に従った標準的スライス（regular slice）のスライス特性（slice attributes）の多くを共有している。したがって、エントロピースライスは、小さなヘッダを必要とする。本発明のいくつかの実施の形態においては、エントロピースライスヘッダは、デコーダがエントロピースライスの始まりを識別し、エントロピー復号を開始することを許可する。いくつかの実施の形態においては、ピクチャ若しくは再構成スライスの始まりにおいて、エントロピースライスヘッダは、標準的ヘッダ（regular header）若しくは再構成スライスヘッダ（reconstruction slice header）である。
【００５２】
Ｈ．２６４／ＡＶＣコーデックを含む本発明のいくつかの実施の形態において、エントロピースライスは、既存のスライスヘッダに新たなビット“entropy_slice_flag”を追加することによって通知される。表１は、本発明の実施の形態に従ったエントロピースライスヘッダのシンタックスのリストを示している。表１においては、Ｃは、カテゴリ（Category）を示しており、記述子（Descriptor）ｕ（１）、ｕｅ（ｖ）は、固定長（fixed length）または可変長（variable length）の復号方法を示している。“entropy_slice_flag”を含む本発明の実施の形態により、改善された符号化効率が実現される。
【００５３】
“first_mb_in_slice”は、エントロピースライスヘッダに関連付けられたエントロピースライスにおける最初のマクロブロックのアドレスを特定する。いくつかの実施形態においては、エントロピースライスは、一連のマクロブロックを含んでいる。
【００５４】
“cabac_init_idc”は、コンテキストモードの初期化処理に用いられる初期化テーブル（initialization table）を決定するためのインデックスを特定する。
【００５５】
【表１】
0005938119.tif 000002
【００５６】
表１：エントロピースライスヘッダの例示的なシンタックステーブル
本発明のいくつかの実施の形態においては、エントロピースライスには、標準的スライスとは異なるネットワーク抽象レイヤ（NAL:network abstraction layer）ユニットタイプが割り当てられる。これらの実施の形態においては、デコーダは、標準的スライスと、エントロピースライスとを、ＮＡＬユニットタイプに基づいて識別することができる。これらの実施の形態においては、ビットフィールド（bit field）“entropy_slice_flag”は必要とされない。
【００５７】
本発明のいくつかの実施の形態においては、ビットフィールド“entropy_slice_flag”は全てのプロファイルにおいて送信されるわけではない。本発明のいくつかの実施の形態においては、ビットフィールド“entropy_slice_flag”は全てのベースラインプロファイルにおいて送信されるわけではないが、該ビットフィールド“entropy_slice_flag”は主要なプロファイル、拡張されたプロファイル、または専門的プロファイルのような高度なプロファイルにおいて送信される。本発明のいくつかの実施の形態においては、ビットフィールド“entropy_slice_flag”は、固定的な特性値よりも大きい特性に関連したビットストリームにおいて送信されるのみである。例示的な特性としては、空間解像度、フレームレート、ビット深度、ビットレート、および他のビットストリームの特性が挙げられる。本発明のいくつかの実施の形態においては、ビットフィールド“entropy_slice_flag”は、インタレース方式の１９２０×１０８０よりも大きい空間解像度に関連したビットストリームにおいて送信されるのみである。本発明のいくつかの実施の形態においては、ビットフィールド“entropy_slice_flag”は、プログレッシブ方式の１９２０×１０８０よりも大きい空間解像度に関連したビットストリームにおいて送信されるのみである。本発明のいくつかの実施の形態においては、ビットフィールド“entropy_slice_flag”が送信されない場合、デフォルト値が用いられる。
【００５８】
本発明のいくつかの実施の形態においては、エントロピースライスは、データ多重化を変更することによって構成される。本発明のいくつかの実施の形態においては、エントロピースライスに含まれる一群のシンボルはマクロブロックレベルで多重化される。本発明の別の実施の形態においては、エントロピースライスに含まれる一群のシンボルはピクチャレベルで多重化される。本発明の他の別の実施の形態においては、エントロピースライスに含まれる一群のシンボルはデータタイプにより多重化される。本発明の更なる別の実施の形態においては、エントロピースライスに含まれる一群のシンボルは上述したものの組み合わせによって多重化される。
【００５９】
ピクチャレベルでの多重化に基づきエントロピースライスを構成することを含む本発明のいくつかの実施の形態は、図８および図９との関係において理解される。図８に示されている本発明のいくつかの実施の形態においては、予測データ（prediction data）１９０、および、残差データ（residual data）１９２は、予測エンコーダ（prediction encoder）１９４、および、残差エンコーダ（residual encoder）１９６によって個別にエントロピー符号化され、符号化された予測データ、および、符号化された残差データは、ピクチャレベルマルチプレクサ（picture-level multiplexer）１９８によって、ピクチャレベルで多重化される。本発明のいくつかの実施の形態においては、ピクチャについての予測データ１９０は、第１のエントロピースライスに関連付けられており、ピクチャについての残差データ１９２は、第２のエントロピースライスに関連付けられている。符号化された予測データ、および、符号化されたエントロピーデータは、並列的に復号される。本発明のいくつかの実施の形態においては、予測データまたは残差データを含む各パーティションは、並列的に復号される複数のエントロピースライスに分割される。
【００６０】
図９に示されている本発明のいくつかの実施の形態においては、各色平面の残差、例えば、輝度残差２００、および、２つの色差残差２０２、２０４は、Ｙエンコーダ２０６、Ｕエンコーダ２０８、および、Ｖエンコーダ２１０によって個別にエントロピー符号化され、エントロピー符号化された各々の残差は、ピクチャレベルマルチプレクサ２１２によって、ピクチャレベルで多重化される。本発明のいくつかの実施の形態においては、ピクチャ２００についての輝度残差は、第１のエントロピースライスに関連付けられており、ピクチャ２０２についての第１の色差残差は、第２のエントロピースライスに関連付けられており、ピクチャ２０４についての第２の色差残差は、第３のエントロピースライスに関連付けられている。３枚の色平面についての符号化された残差データは、並列的に復号される。本発明のいくつかの実施の形態においては、色平面残差データを含む各パーティションは、並列的に復号される複数のエントロピースライスに分割される。本発明のいくつかの実施の形態においては、輝度残差２００は、色差残差２０２、２０４に比べて、相対的に多くのエントロピースライスを有している。
【００６１】
本発明のいくつかの実施の形態においては、圧縮された動画像（compressed-video）のビットストリームは、エントロピースライスを含むようにトランスコード（tran-scode）され、それによって、上述した本発明の実施の形態に含まれる、並列的なエントロピー復号が行われる。本発明のいくつかの実施の形態は、図１０との関係において記述される。エントロピースライスを有しない入力ビットストリームは、図１０に従って、ピクチャ毎に処理される。本発明のこれらの実施の形態においては、該入力ビットストリームからのピクチャは、エントロピー復号される（ステップ２２０）。符号化されたデータ、例えば、モードデータ、動き情報、残差情報、および、その他のデータが取得される。エントロピースライスが、該データから１枚ずつ構成される（ステップ２２２）。エントロピースライスに対応するエントロピースライスヘッダが、新たなビットストリームに書き込まれる（ステップ２２４）。エンコーダの状態がリセットされ、近傍情報が定義される（ステップ２２６）。エントロピースライスがエントロピー符号化され（ステップ２２８）、該新たなビットストリームに書き込まれる。構成されたエントロピースライスに取り込まれて（consumed）いないピクチャデータが存在する場合には（分岐２３２）、他のエントロピースライスがステップステップ２２２にて構成され、構成されたエントロピースライスに全てのピクチャデータが取り込まれる（分岐２３４）まで、ステップ２２４〜ステップ２３０の処理が続けられ、その後、次のピクチャが処理される。
【００６２】
本発明のいくつかの実施の形態においては、エンコーダが、再構成スライスを複数のエントロピースライスに分割する。各エントロピースライスのサイズは、ビンの固定的な数よりも小さいか、または、ビンの固定的な数を越えない。いくつかの実施の形態においては、エンコーダが各エントロピースライスのサイズを制限し、ビンの最大数がビットストリームにおいて通知される。他の実施の形態においては、エンコーダが各エントロピースライスのサイズを制限し、ビンの最大数が該エンコーダのプロファイルおよびレベルコンフォーマンスポイントにより規定される。例えば、Ｈ．２６４／ＡＶＣ動画像符号化用仕様書の付録Ａは、エントロピースライスにおいて許されるビンの最大数の規定を有するように拡張される。
【００６３】
本発明のいつくかの実施の形態においては、例えば、表２に示されるような表により、エントロピースライスにおいて許されるビンの最大数がエンコーダの各レベルコンフォーマンスポイントに対して示される。Ｍm.nは、レベルｍ．ｎのコンフォーマンスポイントに対する、エントロピースライスにおいて許されるビンの最大数を示す。
【００６４】
【表２】
0005938119.tif 000003
【００６５】
表２：各レベルに対するエントロピースライス毎のビンの最大数
エントロピースライスにおいて許されるビンの最大数の例としては、Ｍ1.1＝１，０００ビン、Ｍ1.2＝２，０００ビン、．．．、およびＭ5.1＝４０，０００ビンが挙げられる。エントロピースライスにおいて許されるビンの最大数の他の例としては、Ｍ1.1＝２，５００ビン、Ｍ1.2＝４，２００ビン、．．．、およびＭ5.1＝１５０，０００ビンが挙げられる。
【００６６】
いくつかの実施の形態においては、エントロピースライスにおいて許されるビンの最大数のセットが、ビットレート、画像サイズ、マクロブロックの数、および、他の符号化パラメータに基づいて、全てのレベルに対して規定される。本発明のいくつかの実施の形態において、エントロピースライスにおいて許されるビンの最大数は、全てのレベルに対して、同一の数に設定される。値の例としては、３８，０００ビンおよび１２０，０００ビンが挙げられる。
【００６７】
本発明のいくつかの実施の形態においては、エンコーダが、マクロブロックに関連したビンの最悪の場合の数を決定し、該エンコーダが、
【００６８】
【数１】
0005938119.tif 000004
【００６９】
で表されるマクロブロックに関連したビンを各エントロピースライスに書き込む。ここで、ESLICE_MaxNumberBinsは、エントロピースライスにおいて許されるビンの最大数を示し、BinsPerMBは、マクロブロックに関連したビンの最悪の場合の数を示す。いくつかの実施の形態においては、マクロブロックは、ラスタスキャン順に選択される。他の実施形態においては、マクロブロックは、所定の他の順に選択される。いくつかの実施の形態においては、マクロブロックに関連したビンの最悪の場合の数は、固定的な数である。他の実施形態においては、エンコーダは、予め処理されたマクロブロックのサイズの計測に基づいて、最悪の場合の数をアップデートする。
【００７０】
本発明のいくつかの実施の形態が、図１１に関連して記述される。これらの実施の形態においては、エンコーダが、再構成スライスに対して、該再構成スライスを複数のエントロピースライスに分割する。何れのエントロピースライスも、ビンの既定の数よりも大きいサイズではない。該エンコーダは、現エントロピースライスにおけるビンの数に関連したカウンタを０に初期化する（ステップ２４０）。カウンタ値は、図１１に関連して記述される本発明の実施の形態に係る以下の記述において、説明のためにＡと表記される。次のマクロブロックのシンタックス要素が得られる（ステップ２４２）。次のマクロブロックは、所定のマクロブロックの処理順に従って決定される。いくつかの実施の形態においては、マクロブロックの処理順は、ラスタスキャン順に対応するものである。マクロブロックにおける２進値でないシンタックス要素は、ビンストリングに変換される（ステップ２４４）。２進値のシンタックス要素は、変換を必要としない。マクロブロックに関連したビンの数が決定される（ステップ２４６）。マクロブロックに関連したビンの数には、２進値のシンタックス要素のビンと、２進値でないシンタックス要素に関連したビンストリングにおけるビンとが含まれる。マクロブロックに関連したビンの数は、図１１に関連して記述される本発明の実施の形態に関する以下の記述において、説明のためにｎｕｍと示される。
【００７１】
マクロブロックに関連したビンの数が、エントロピースライスに対し許されるビンの最大数を超過することなく（分岐２４９）、現エントロピースライスに関連した、蓄積されたビンの数に加算される（ステップ２４８）場合、現エントロピースライスに関連した蓄積されたビンの数が、マクロブロックに関連するビンを含むようにアップデートされる（ステップ２５０）。マクロブロックに関連したビンが、エントロピーエンコーダによりビットストリームに書き込まれ（ステップ２５２）、現エントロピースライスに関連付けられる。次のマクロブロックのシンタックス要素が得られ（ステップ２４２）、分割処理が続行される。
【００７２】
ステップ２４８において、マクロブロックに関連したビンの数の合計が、現エントロピースライスに関連した蓄積されたビンの数が、エントロピースライスに対して許されるビンの最大数を超過する（分岐２５３）場合、エンコーダは、現再構成スライスに関連した新エントロピースライスの処理を開始し（ステップ２５４）、現エントロピースライスの処理を終了する。その後、新しく開始されたエントロピースライスにおけるビンの数に関連したカウンタを０に初期化する（ステップ２５６）。現エントロピースライスに関連した蓄積されたビンの数は、マクロブロックに関連したビンを含むようにアップデートされる（ステップ２５０）。マクロブロックに関連したビンが、エントロピーエンコーダによりビットストリームに書き込まれ（ステップ２５２）、現エントロピースライスに関連付けられる。次のマクロブロックのシンタックス要素が得られ（ステップ２４２）、分割処理が続行される。
【００７３】
本発明のいくつかの実施の形態が、図１２に関連して記述される。これらの実施の形態においては、エンコーダが、再構成スライスに対し、該再構成スライスを複数のエントロピースライスに分割する。何れのエントロピースライスも、ビンの既定の最大数よりも大きいサイズではない。これらの実施の形態においては、エントロピースライスのサイズが、エントロピースライスにおいて許されるビンの既定の最大数に関連した閾値に到達するまで、エンコーダは、マクロブロックのシンタックス要素をエントロピースライスに関連付ける。いくつかの実施の形態においては、該閾値は、エントロピースライスにおいて許されるビンの最大数（the maximum number of bins）の割合である。１つの例示的な実施の形態においては、マクロブロックにおいて予想されるビンの最多数（the greatest number of bins）が、エントロピースライスにおいて許されるビンの最大数の１０％未満であるとすると、閾値は、エントロピースライスにおいて許されるビンの最大数の９０％である。他の例示的な実施の形態においては、閾値は、エントロピースライスにおいて許されるビンの最大数の割合である。該割合は、マクロブロックにおいて予想されるビンの最多数に基づくものである。これらの実施の形態においては、エントロピースライスのサイズが閾値サイズを超過すると、他のエントロピースライスが生成される。閾値サイズは、エントロピースライスがエントロピースライスにおいて許されるビンの最大数を超過しないことを保証するように選択される。いくつかの実施の形態においては、閾値サイズは、エントロピースライスにおいて許されるビンの最大数、および、マクロブロックに対し予想されるビンの最大数の推測値の関数である。
【００７４】
エンコーダは、現エントロピースライスにおけるビンの数に関係したカウンタを０に初期化する（ステップ２７０）。カウンタ値は、図１２に関連して記述される本発明の実施の形態に係る以下の記述において、説明のためにＡと表記される。次のマクロブロックのシンタックス要素が得られる（ステップ２７２）。次のマクロブロックが、所定のマクロブロックの処理順に従って決定される。いくつかの実施の形態においては、マクロブロックの処理順は、ラスタスキャン順と対応するものである。マクロブロックにおける２進値でないシンタックス要素が、ビンストリングに変換される（ステップ２７４）。２進値のシンタックス要素は、変換の必要がない。マクロブロックに関連したビンが、エントロピーエンコーダによりビットストリームに書き込まれ（ステップ２７６）、現エントロピースライスに関連付けられる。マクロブロックに関連したビンの数が決定され（ステップ２７８）、現エントロピースライスに関連した蓄積されたビンの数が、マクロブロックに関連したビンを含むようにアップデートされる（ステップ２８０）。ステップ２８２において、現エントロピースライスに関連した蓄積されたビンの数が、エントロピースライスにおいて許されるビンの最大数に基づいた、TH(MaxNumBins)と表記される閾値よりも大きい（分岐２８４）場合、エンコーダは新規のエントロピースライスの処理を開始し（ステップ２８６）、現エントロピースライスの処理を終了する。その後、新しく開始された現エントロピースライスにおけるビンの数に関連したカウンタを０に初期化する（ステップ２８８）。次のマクロブロックのシンタックス要素が得られ（ステップ２７２）、分割処理が続行される。現エントロピースライスに関連した蓄積されたビンの数が、エントロピースライスにおいて許されるビンの最大数に基づいた閾値以下である場合（分岐２８３）、次のマクロブロックのシンタックス要素が得られ（ステップ２７２）、分割処理が続行される。
【００７５】
本発明のいくつかの実施の形態においては、既定の数のマクロブロックが現再構成スライスに割り当てられたとき、エンコーダは、現再構成スライスの処理を終了し、新規の再構成スライスの処理を開始する。
【００７６】
本発明のいくつかの実施の形態が、図１３に関連して記述される。これらの実施の形態においては、既定の数のマクロブロックが現再構成スライスに割り当てられたとき、エンコーダは、現再構成スライスの処理を終了し、新規の再構成スライスの処理を開始する。エンコーダは、現再構成スライスにおけるマクロブロックの数に関連したカウンタを０に初期化する（ステップ３００）。カウンタ値は、図１３に関連して記述される本発明の実施の形態に係る以下の記述において、説明のためにＡＭＢと表記される。エンコーダは、現エントロピースライスにおけるビンの数に関連したカウンタを０に初期化する（ステップ３１０）。カウンタ値は、図１３に関連して記述される本発明の実施の形態に係る以下の記述において、説明のためにＡＢｉｎと表記される。ステップ３１２において、現再構成スライスにおけるマクロブロックの数に関連したカウンタのカウンタ値が、再構成スライスにおいて許されるマクロブロックの既定の最大数以上（分岐３３１）である場合、新規のエントロピースライスの処理が開始され（ステップ３３２）、現再構成スライスの処理、および、現エントロピースライスの処理を終了し、新規の再構成スライスの処理が開始される（ステップ３３４）。再構成スライスにおいて許されるマクロブロックの最大数は、図１３に関連して記述される本発明の実施の形態に係る以下の記述において、説明のためにMaxMBperRSliceと表記される。
【００７７】
現再構成スライスにおけるマクロブロックの数に関連したカウンタのカウンタ値が、再構成スライスにおいて許されるマクロブロックの既定の最大数未満である場合（分岐３１３）、次のマクロブロックのシンタックス要素が得られる（ステップ３１４）。次のマクロブロックは、所定のマクロブロックの処理順に従って決定される。いくつかの実施の形態においては、マクロブロックの処理順は、ラスタスキャン順に対応するものである。マクロブロックにおける２進値でないシンタックス要素が、ビンストリングに変換される（ステップ３１６）。２進値のシンタックス要素は、変換の必要がない。マクロブロックに関連したビンの数が決定される（ステップ３１８）。マクロブロックに関連したビンの数には、２進値のシンタックス要素のビンと、２進値でないシンタックス要素に関連したビンストリングにおけるビンとが含まれる。マクロブロックに関連したビンの数は、図１３に関連して記述される本発明の実施の形態に係る以下の記述において、説明のためにｎｕｍと表記される。
【００７８】
マクロブロックに関連したビンの数が、エントロピースライスに対し許されるビンの最大数を超過することなく（分岐３２１）、現エントロピースライスに関連した蓄積されたビンの数に追加される（ステップ３２０）場合、現エントロピースライスに関連した蓄積されたビンの数が、マクロブロックに関連したビンを含むようにアップデートされる（ステップ３２２）。マクロブロックに関連したビンが、エントロピーエンコーダによりビットストリームに書き込まれ（ステップ３２４）、現エントロピースライスに関連付けられる。現再構成スライスに関連したマクロブロックの数がインクリメントされる（ステップ３２６）。現再構成スライスに関連したマクロブロックの数が、再構成スライスにおいて許されるマクロブロックの既定の最大数と比較され（ステップ３１２）、分割処理が続行される。
【００７９】
ステップ３２０において、マクロブロックに関連したビンの数と、現エントロピースライスに関連した蓄積されたビンの数との合計が、エントロピースライスに対し許されるビンの最大数を超過する場合（分岐３２７）、エンコーダが、現再構成スライスに関連した現在の新規のエントロピースライスの処理を開始し（ステップ３２８）、現エントロピースライスにおけるビンの数に関連したカウンタが０に初期化される（ステップ３３０）。現エントロピースライスに関連した蓄積されたビンの数が、マクロブロックに関連したビンを含むようにアップデートされる（ステップ３２２）。マクロブロックに関連したビンが、エントロピーエンコーダによりビットストリームに書き込まれ（ステップ３２４）、現エントロピースライスに関連付けられる。現再構成スライスに関連したマクロブロックの数がインクリメントされる（ステップ３２６）。現再構成スライスに関連したマクロブロックの数が、再構成スライスにおいて許されるマクロブロックの既定の最大数と比較され（ステップ３１２）、分割処理が続行される。
【００８０】
本発明のいくつかの実施の形態が、図１４に関連して記述される。これらの実施の形態においては、既定の数のマクロブロックが現再構成スライスに割り当てられたとき、エンコーダが新規の再構成スライスの処理を開始する。これらの実施の形態において、エントロピースライスのサイズが、エントロピースライスにおいて許されるビンの既定の最大数に関連した閾値に到達するまで、エンコーダは、マクロブロックのシンタックス要素をエントロピースライスに関連付ける。いくつかの実施の形態において、該閾値は、エントロピースライスにおいて許されるビンの最大数の割合である。１つの例示的な実施の形態においては、マクロブロックにおいて予想されるビンの最多数が、エントロピースライスにおいて許されるビンの最大数の１０％未満であるとすると、閾値は、エントロピースライスにおいて許されるビンの最大数の９０％である。他の例示的な実施の形態においては、閾値は、エントロピースライスにおいて許されるビンの最大数の割合である。該割合は、マクロブロックにおいて予想されるビンの最多数に基づくものである。これらの実施の形態においては、エントロピースライスのサイズが閾値サイズを超過すると、他のエントロピースライスが生成される。閾値サイズは、エントロピースライスがエントロピースライスにおいて許されるビンの最大数を超過しないことを保証するように選択される。いくつかの実施の形態においては、閾値サイズは、エントロピースライスにおいて許されるビンの最大数、および、マクロブロックに対し予想されるビンの最大数の推測値の関数である。
【００８１】
エンコーダは、現再構成スライスにおけるマクロブロックの数に関連したカウンタを０に初期化する（ステップ３５０）。カウンタ値は、図１４に関連して記述される本発明の実施の形態に係る以下の記述において、説明のためにＡＭＢと表記される。エンコーダは、現エントロピースライスにおけるビンの数に関連したカウンタを０に初期化する（ステップ３５２）。カウンタ値は、図１４に関連して記述される本発明の実施の形態に係る以下の記述において、説明のためにＡＢｉｎと表記される。ステップ３５４において、現再構成スライスにおけるマクロブロックの数に関連したカウンタのカウンタ値が、再構成スライスにおいて許されるマクロブロックの既定の最大数以上である場合（分岐３７３）、新規のエントロピースライスの処理が開始され（ステップ３７４）、新規の再構成スライスの処理が開始される（ステップ３７６）。再構成スライスにおいて許されるマクロブロックの最大数は、図１４に関連して記述される本発明の実施の形態に係る以下の記述において、説明のためにMaxMBperRSliceと表記される。
【００８２】
現再構成スライスにおけるマクロブロックの数に関連したカウンタのカウンタ値が、再構成スライスにおいて許されるマクロブロックの既定の最大数未満である場合（分岐３５５）、次のマクロブロックのシンタックス要素が得られる（ステップ３５６）。次のマクロブロックは、マクロブロックの所定の処理順に従って決定される。いくつかの実施の形態においては、マクロブロックの処理順は、ラスタスキャン順に対応するものである。マクロブロックにおける２進値でないシンタックス要素が、ビンストリングに変換される（ステップ３５８）。２進値のシンタックス要素は、変換の必要がない。マクロブロックに関連したビンが、エントロピーエンコーダによりビットストリームに書き込まれ（ステップ３６０）、現エントロピースライスに関連付けられる。マクロブロックに関連したビンの数が決定される（ステップ３６２）。現エントロピースライスに関連した蓄積されたビンの数が、マクロブロックに関連したビンを含むようにアップデートされる（ステップ３６４）。ステップ３６６において、現エントロピースライスに関連した蓄積されたビンの数が、エントロピースライスにおいて許されるビンの最大数に基づいた、TH(MaxNumBins)と表記される閾値よりも大きい場合（分岐３６９）、エンコーダは新規のエントロピースライスの処理を開始し（ステップ３７０）、現エントロピースライスにおけるビンの数に関連したカウンタを０に初期化する（ステップ３７２）。現再構成スライスに関連したマクロブロックの数がインクリメントされる（ステップ３６８）。現再構成スライスに関連したマクロブロックの数が、再構成スライスにおいて許されるマクロブロックの既定の最大数と比較され（ステップ３５４）、分割処理が続行される。現エントロピースライスに関連した蓄積されたビンの数が、エントロピースライスにおいて許されるビンの最大数に基づいた閾値以下である場合（分岐３６７）、現再構成スライスに関連したマクロブロックの数がインクリメントされ（ステップ３６８）、現再構成スライスに関連したマクロブロックの数が、再構成スライスにおいて許されるマクロブロックの既定の最大数と比較され（ステップ３５４）、分割処理が続行される。
【００８３】
本発明の他の実施の形態においては、エンコーダが再構成スライスを複数のエントロピースライスに分割する。各エントロピースライスは、所定の数以下のビットに関係付けられる。
【００８４】
本発明のいくつかの実施の形態が、図１５に関連して記述される。これらの実施の形態においては、エンコーダが、再構成スライスに対し、該再構成スライスを複数のエントロピースライスに分割する。何れのエントロピースライスも、既定の（所定の）ビットの数よりも大きいサイズではない。エンコーダは、現エントロピースライスにおけるビットの数に関連したカウンタを０に初期化する（ステップ４００）。カウンタ値は、図１５に関連して記述される本発明の実施の形態に係る以下の記述において、説明のためにＡと表記される。次のマクロブロックのシンタックス要素が得られる（ステップ４０２）。次のマクロブロックは、マクロブロックの所定の処理順に従って決定される。いくつかの実施の形態においては、マクロブロックの処理順は、ラスタスキャン順に対応するものである。マクロブロックにおける２進値でないシンタックス要素が、ビンストリングに変換される（ステップ４０４）。２進値のシンタックス要素は、変換の必要がない。変換された２進値でない要素および２進値の要素である、マクロブロックに関連したビンが、エントロピーエンコーダに提供され、ビンがエントロピー符号化される（ステップ４０６）。マクロブロックに関連したビットの数が決定される（ステップ４０８）。マクロブロックに関連したビットの数は、図１５に関連して記述される本発明の実施の形態に係る以下の記述において、説明のためにｎｕｍと表記される。
【００８５】
マクロブロックに関連したビットの数が、エントロピースライスに対し許されるビットの最大数(the maximum number of bits)を超過することなく（分岐４１１）、現エントロピースライスに関連した蓄積されたビットの数に追加される場合（ステップ４１０）、現エントロピースライスに関連した蓄積されたビットの数が、マクロブロックに関連したビットを含むようにアップデートされる（ステップ４１２）。マクロブロックに関連したビットが、ビットストリームに書き込まれ（ステップ４１４）、現エントロピースライスに関連付けられる。次のマクロブロックのシンタックス要素が得られ（ステップ４０２）、分割処理が続行される。
【００８６】
ステップ４１０において、マクロブロックに関連したビットの数と、現エントロピースライスに関連した蓄積されたビットの数との合計が、エントロピースライスに対し許されるビットの最大数を超過する場合（分岐４１５）、エンコーダが、現再構成スライスに関連した新規のエントロピースライスの処理を開始し（ステップ４１６）、現エントロピースライスにおけるビットの数に関連したカウンタが０に初期化される（ステップ４１８）。現エントロピースライスに関連した蓄積されたビットの数が、マクロブロックに関連したビットを含むようにアップデートされる（ステップ４１２）。マクロブロックに関連したビットが、ビットストリームに書き込まれ（ステップ４１４）、現エントロピースライスに関連付けられる。次のマクロブロックのシンタックス要素が得られ（ステップ４０２）、分割処理が続行される。
【００８７】
本発明のいくつかの実施の形態が、図１６に関連して記述される。これらの実施の形態においては、エンコーダが、再構成スライスに対し、該再構成スライスを複数のエントロピースライスに分割する。何れのエントロピースライスも、ビットの既定の最大数よりも大きいサイズではない。これらの実施の形態においては、エントロピースライスのサイズが、エントロピースライスにおいて許されるビットの既定の最大数に関連した閾値に到達するまで、エンコーダは、マクロブロックのシンタックス要素をエントロピースライスに関連付ける。いくつかの実施の形態において、閾値は、エントロピースライスにおいて許されるビットの最大数の割合である。１つの例示的な実施の形態においては、マクロブロックにおいて予想されるビットの最多数(the greatest number of bits)が、エントロピースライスにおいて許されるビットの最大数の１０％未満であるとすると、閾値は、エントロピースライスにおいて許されるビットの最大数の９０％である。他の例示的な実施の形態においては、該閾値は、エントロピースライスにおいて許されるビットの最大数の割合である。該割合は、マクロブロックにおいて予想されるビットの最多数に基づくものである。これらの実施の形態においては、エントロピースライスのサイズが閾値サイズを超過すると、他のエントロピースライスが生成される。閾値サイズは、エントロピースライスがエントロピースライスにおいて許されるビットの最大数を超過しないことを保証するように選択される。いくつかの実施の形態においては、閾値サイズは、エントロピースライスにおいて許されるビットの最大数、および、マクロブロックに対し予想されるビット最大数の推測値の関数である。
【００８８】
エンコーダは、現エントロピースライスにおけるビットの数に関連したカウンタを０に初期化する（ステップ４４０）。カウンタ値は、図１６に関連して記述される本発明の実施の形態に係る以下の記述において、説明のためにＡと表記される。次のマクロブロックのシンタックス要素が得られる（ステップ４４２）。次のマクロブロックは、マクロブロックの所定の処理順に従って決定される。いくつかの実施形態においては、マクロブロックの処理順は、ラスタスキャン順に対応するものである。マクロブロックにおける２進値でないシンタックス要素が、ビンストリングに変換される（ステップ４４４）。２進値のシンタックス要素は、変換の必要がない。マクロブロックに関連したビンがエントロピー符号化され（ステップ４４６）、マクロブロックに関連したビンの数が決定される（ステップ４４８）。現エントロピースライスに関連した蓄積されたビットの数が、マクロブロックに関連したビンを含むようにアップデートされ（ステップ４５０）、マクロブロックに関連したエントロピー符号化されたビンが、ビットストリームに書き込まれる（ステップ４５２）。ステップ４５４において、現エントロピースライスに関連した蓄積されたビットの数が、エントロピースライスにおいて許されるビットの最大数に基づいた閾値よりも大きい場合（分岐４５６）、エンコーダが、新規のエントロピースライスの処理を開始し（ステップ４５８）、現エントロピースライスにおけるビットの数に関連したカウンタを０に初期化する（ステップ４６０）。次のマクロブロックのシンタックス要素が得られ（ステップ４４２）、分割処理が続行される。現エントロピースライスに関連した蓄積されたビットの数が、エントロピースライスにおいて許されるビットの最大数に基づいた閾値以下である場合（分岐４５５）、次のマクロブロックのシンタックス要素が得られ（ステップ４４２）、分割処理が続行される。
【００８９】
本発明の他の実施の形態においては、エンコーダが再構成スライスを複数のエントロピースライスに分割する。各エントロピースライスは、所定の数以下のマクロブロックに関連付けられる。
【００９０】
本発明のいくつかの実施の形態においては、エントロピースライスのサイズの制限に加えて、再構成スライスにおけるマクロブロックの最大数の制限が課せられる。
【００９１】
本発明のいくつかの実施の形態においては、エンコーダが再構成スライスを複数のエントロピースライスに分割する。各エントロピースライスのサイズは、マクロブロックの所定の数未満およびビンの所定の数未満に制限される。
【００９２】
本発明のいくつかの実施の形態においては、エンコーダが再構成スライスを複数のエントロピースライスに分割する。各エントロピースライスのサイズは、マクロブロックの所定の数未満およびビットの所定の数未満に制限される。
【００９３】
本発明のいくつかの実施の形態においては、エンコーダが再構成スライスを複数のエントロピースライスに分割する。各エントロピースライスのサイズは、マクロブロックの所定の数未満、ビンの所定の数未満、およびビットの所定の数未満に制限される。
【００９４】
本発明のいくつかの実施の形態においては、エントロピーコーダ（entropy coder）内のビン符号化（bin coding）は、並列化され、１以上のビンの並列符号化が許される。これは、符号化時間を短縮する。本発明のこれらの実施の形態は、図１７に示されたエントロピーコーダとの関係において理解される。これらの実施の形態において、エントロピーコーダ４８０は、コンテキスト適応ユニット（context-adaptation unit）４８２、状態に基づくビンコーダセレクタ（bin-coder selector）４８４、および複数（３つ図示）のビンコーダ（bin coder）４８６、４８８、５００を備えている。複数のビンコーダ４８６、４８８、５００は、ビンコーダユニット（bi-coder unit）とも呼ばれ、並列的に動作する。ビン５０２は、入力シンボル５０６からビン５０２を生成する二値化器（binarizer）５０４によって、エントロピーコーダ４８０が利用可能である。ビン５０２は、コンテキスト適応ユニット４８２、および、状態に基づくビンコーダセレクタ４８４が利用可能である。コンテキスト適応ユニット４８２は、コンテキストの適応処理を実行し、モデル状態（単に状態とも呼ぶ）５０８を生成する。モデル状態５０８は、ビン５０２が、ビンコーダ４８６、４８８、５００のうち、いずれに入力されるのかを選択するために用いられる。状態に基づくビンコーダセレクタ４８４は、ビン５０２を符号化するために、ビンコーダ４８６、４８８、５００のうち、生成されたモデル状態５０８に関連したビンコーダを選択する。いくつかの実施の形態（不図示）においては、生成された状態５０８は、選択されたビンコーダが利用可能になる。出力ビット５１０、５１２、５１４は、ビンコーダ４８６、４８８、５００により生成され、ビットストリームに含められる。本発明のいくつかの実施の形態においては、出力ビット５１０、５１２、５１４は、バッファされ、連結されてビットストリームに含められる。他の実施の形態においては、出力ビット５１０、５１２、５１４は、バッファされ、インターリーブ法に従ってビットストリームに含められる。
【００９５】
図１７に関連して記述された本発明の実施の形態によれば、第１のビンは、第１のビンに関連して生成された第１のモデル状態に応じて、第１のビンコーダに送られる。コンテキスト適応ユニット４８２は、第１のビンの処理が完了すると、第２のビンの処理を開始する。ここで、第２のビンの処理とは、第２のビンに関連して生成された第２のモデル状態に応じて第２のビンを第２のビンコーダに送る処理であり、１以上のビンの並列的な処理が実質的に許されている。
【００９６】
本発明の他の実施の形態においては、エントロピーコーダは、並列処理が可能な複数のコンテキスト適応ユニットと、１つのビンコーダを備えている。コンテキスト適応ユニットが、ビンコーダよりも長い処理時間を必要とするシステムにおいては、複数のコンテキスト適応ユニットが並列的に処理することにより、符号化時間を短縮する。本発明のこれらの実施の形態のいくつかは、図１８に示されたエントロピーコーダとの関係において理解される。これらの実施の形態において、エントロピーコーダ５３０は、複数（３つ図示）のコンテキスト適応ユニット（context-adaptation unit）５３２、５３４、５３６、コンテキスト適応ユニットセレクタ（context-adaptation unit selector）５３８、状態セレクタ（state selector）５４０、および、ビンコーダ（bin coder）５４２を備えている。ビン５４４は、入力シンボル５４８からビン５４４を生成する二値化器（binarizer）５４６によって、エントロピーコーダ５３０が利用可能である。ビン５４４は、コンテキスト適応ユニットセレクタ５３８、状態セレクタ５４０、および、ビンコーダ５４２が利用可能である。コンテキスト適応ユニットセレクタ５３８は、ビン５４４が入力され、状態値（state value）５５０、５５２、５５４を生成するコンテキスト適応ユニット５３２、５３４、５３６を選択またはスケジューリングするために用いられる。いくつかの例示的な実施の形態においては、コンテキスト適応ユニットセレクタ５３８は、ビンに関連したシンタックスに基づいて、コンテキスト適応ユニット５３２、５３４、５３６のうち、１つのコンテキスト適応ユニットを選択する。例えば、コンテキスト適応ユニット識別子（context-adaptation unit identifier）は、処理のためにビンが入力されるコンテキスト適応ユニットを識別するビンに関連付けられる。他の例示的な実施の形態においては、コンテキスト適応ユニットセレクタ５３８は、スケジューリング手順（scheduling protocol）または、コンテキスト適応ユニット５３２、５３４、５３６に関連した負荷バランシング制約（load-balancing constraint）に基づいて、コンテキスト適応ユニット５３２、５３４、５３６のうち、１つのコンテキスト適応ユニットを選択する。いくつかの実施の形態において、生成された状態値は、ビンコーダ５４２に渡される適切なタイミングにおいて、コンテキスト適応ユニットセレクタ５３８に用いられる判断基準に従って、状態セレクタ５４０により選択される。ビンコーダ５４２は、ビン５４４の符号化において、状態セレクタ５４０によって渡された状態値５５６を用いる。本発明の他の実施の形態（不図示）において、状態値は、ビンコーダにより要求されない。したがって、状態値は、ビンコーダが利用可能ではない。出力ビット５５８は、ビンコーダ５４２により生成され、ビットストリームに含められる。本発明のいくつかの実施の形態においては、出力ビット５５８は、バッファされ、連結されてビットストリームに含められる。他の実施の形態においては、出力ビット５５８は、バッファされ、インターリーブ法に従ってビットストリームに含められる。
【００９７】
本発明のさらなる他の実施の形態においては、エントロピーコーダは、並列処理が可能な複数のコンテキスト適応ユニットと、並列処理が可能な複数のビンコーダを備えている。本発明のこれらの実施の形態のいくつかは、図１９に示された例示的なエントロピーコーダとの関係において理解される。これらの実施の形態において、エントロピーコーダ５７０は、複数（３つ図示）のコンテキスト適応ユニット（context-adaptation unit）５７２、５７４、５７６、コンテキスト適応ユニットセレクタ（context-adaptation unit selector）５７８、状態セレクタ（state selector）５８０、状態に基づくビンコーダセレクタ（bin coder selector）５８２、および、複数の（３つ図示）ビンコーダ（bin coder）５８４、５８６、５８８を備えている。ビン５９０は、入力シンボル５９４からビン５９０を生成する二値化器（binarizer）５９２によって、エントロピーコーダ５７０が利用可能である。ビン５９０は、コンテキスト適応ユニットセレクタ５７８、状態セレクタ５８０、および、ビンコーダセレクタ５８２が利用可能である。コンテキスト適応ユニットセレクタ５７８は、ビン５９０が入力され、状態値（state value）５９６、５９８、６００を生成するコンテキスト適応ユニット５７２、５７４、５７６を選択またはスケジューリングするために用いられる。生成された状態値は、状態に基づくビンコーダセレクタ５８２に渡される適切なタイミングにおいて、状態セレクタ５８０により選択される。状態に基づくビンコーダセレクタ５８２は、ビンコーダ５８４、５８６、５８８の中からビン５９０が入力されるビンコーダを選択するために、状態セレクタ５８０により渡された状態値６０２を用いる。他の実施の形態（不図示）においては、状態値６０２は、選択されたビンコーダが利用可能になる。ビン５９０の符号化において、選択されたビンコーダは、状態値６０２を用いる。本発明の他の実施の形態（不図示）においては、状態値は、ビンコーダにより要求されない。したがって、状態値はビンコーダが利用可能である。出力ビット６０４、６０６、６０８は、ビンコーダ５８４、５８６、５５８により生成され、ビットストリームに含められる。本発明のいくつかの実施の形態においては、出力ビット６０４、６０６、６０８は、バッファされ、連結されてビットストリームに含められる。他の実施の形態においては、出力ビット６０４、６０６、６０８は、バッファされ、インターリーブ法に従ってビットストリームに含められる。
【００９８】
本発明の例示的な実施の形態は、並列処理が可能な複数の可変長符号化コーデックを備えている。
【００９９】
本発明の１つの例示的な実施の形態においては、ビンコーダは２値算術符号化（binary arithmetic coding）を備えている。本発明の他の実施の形態においては、ビンコーダは可変長符号化（variable length coding）を備えている。さらに、本発明の他の実施の形態においては、ビンコーダは、固定長符号化（fixed length coding）を備えている。
【０１００】
一般的に、エントロピーコーダは、Ｎca個（Ｎcaは１以上の整数）のコンテキスト適応ユニット、およびＮbc個（Ｎbcは１以上の整数）のビンコーダユニットを備えている。
【０１０１】
本発明のいくつかの実施の形態においては、エンコーダは、再構成スライスを複数のエントロピースライスに分割する。エントロピースライスの処理中に、Ｎca個のコンテキスト適応ユニット、およびＮbc個のビンコーダユニットのうちの１つまたはそれ以上のユニットの各々が処理するビンの数が制限数を越えないように、各エントロピースライスのサイズは制限される。そのように制限されたコンテキスト適応ユニット、およびビンコーダユニットは、制限されたエントロピーコーダユニット（restricted entropy-coder unit）と呼称してもよい。
【０１０２】
本発明のいくつかの実施の形態においては、エンコーダは、再構成スライスを複数のエントロピースライスに分割する。各エントロピースライスのサイズは、エントロピースライスの処理中に、Ｎca個のコンテキスト適応ユニットのうちのどのユニットも、Ｂca個を超えるビンを処理しないように制限される。本発明のいくつかの実施の形態においては、Ｂcaの値は例えば、ビットストリームにおいて、プロファイル制約（profile constraint）、レベル制約（level constraint）、または、他の標準メカニズム（normative mechanism）などにシグナル化される。
【０１０３】
本発明の他の実施の形態においては、エンコーダは、再構成スライスを複数のエントロピースライスに分割する。各エントロピースライスのサイズは、エントロピースライスの処理中に、Ｎbc個のビンコーダユニットのうちどのユニットも、Ｂbc個を超えるビンを処理しないように制限される。本発明のいくつかの実施の形態においては、Ｂbcの値は例えば、ビットストリームにおいて、プロファイル制約（profile constraint）、レベル制約（level constraint）、または、他の標準メカニズム（normative mechanism）などにシグナル化される。
【０１０４】
本発明のさらなる他の実施の形態においては、エンコーダは、再構成スライスを複数のエントロピースライスに分割する。エントロピースライスの処理中に、Ｎca個のコンテキスト適応ユニットのうちのどのユニットも、Ｂca個を超えるビンを処理しないように、そして、Ｎbc個のビンコーダユニットのうちのどのユニットも、Ｂbc個を超えるビンを処理しないように、各エントロピースライスのサイズは制限される。本発明のいくつかの実施の形態においては、Ｂbcの値、およびＢcaの値は例えば、ビットストリームにおいて、プロファイル制約（profile constraint）、レベル制約（level constraint）、または、他の標準メカニズム（normative mechanism）などにシグナル化される。
【０１０５】
本発明のさらなる他の実施の形態においては、エンコーダは、再構成スライスを複数のエントロピースライスに分割する。エントロピースライスの処理中に、１からＮcaまでの各ｉについてＮca個のコンテキスト適応ユニットのうちＮca (i)で示されるi番目のコンテキスト適応ユニットがＢca(i)個を超えるビンを処理しないように、そして、１からＮbcまでの各ｉについてＮbc個のビンコーダユニットのうちＮbc (i)で示されるi番目のビンコーダユニットがＢbc(i)個を超えるビンを処理しないように、各エントロピースライスのサイズは制限される。本発明のいくつかの実施の形態においては、Ｂbc(i)の値、およびＢca(i)の値は例えば、ビットストリームにおいて、プロファイル制約（profile constraint）、レベル制約（level constraint）、または、他の標準メカニズム（normative mechanism）などにシグナル化される。
【０１０６】
本発明のいくつかの例示的な実施の形態を、図２０に関連して説明する。これらの実施の形態においては、エンコーダが、ある再構成スライスについて、その再構成スライスを複数のエントロピースライスに分割する。Ｎca個のコンテキスト適応ユニット、およびＮbc個のビンコーダユニットのうちの１つまたはそれ以上のユニットが制限数以下のビンを処理するように、各エントロピースライスのサイズは制限される。エンコーダは、現エントロピースライスにおいて処理されたビンの数に関連した各制限されたエントロピーコーダユニットのカウンタを０に初期化する（ステップ６５０）。カウンタ値は、図２０に関連して記述される本発明の実施の形態に係る記述において、説明のためにＡと表記される。Ａは、現エントロピースライスについて、制限されたエントロピーユニットによって処理されたビンの累積数に応じた各ベクトル成分を含むベクトルを表す。次のマクロブロックのシンタックス要素が得られる（ステップ６５２）。次のマクロブロックは、所定のマクロブロックの処理順に従って決定される。いくつかの実施の形態においては、マクロブロックの処理順は、ラスタスキャン順に対応するものである。マクロブロックにおける２進値でないシンタックス要素は、ビンストリングに変換される（ステップ６５４）。２進値のシンタックス要素は、変換を必要としない。各制限されたエントロピーコーダユニットにより処理される、マクロブロックに関連したビンの数が決定される（ステップ６５６）。マクロブロックに関連したビンの数には、２進値のシンタックス要素のビンと、２進値でないシンタックス要素に関連したビンストリングにおけるビンとが含まれる。各制限されたエントロピーコーダユニットにより処理されたマクロブロックに関連したビンの数は、図２０に関連して記述される本発明の実施の形態に関する以降の記述において、説明のためにｎｕｍと表記される。ｎｕｍは、現マクロブロックについて、制限されたエントロピーコーダユニットにより処理されたビンの数に対応する各ベクトル成分を含むベクトルを表す。
【０１０７】
各制限されたエントロピーコーダユニットのマクロブロックに関連したビンの数が、いずれの制限されたエントロピーコーダユニットに対して許されるビンの最大数を超過することなく（分岐６５９）、各制限されたエントロピーコーダユニットの現エントロピースライスに関連した、蓄積されたビンの数に加算される（ステップ６５８）場合、現エントロピースライスに関連した蓄積されたビンの数が、マクロブロックに関連するビンを含むようにアップデートされる（ステップ６６０）。そして、マクロブロックに関連したビンが、エントロピーエンコーダによりビットストリームに書き込まれ（ステップ６６２）、現エントロピースライスに関連付けられる。次のマクロブロックのシンタックス要素が得られ（ステップ６５２）、分割処理が続行される。
【０１０８】
ステップ６５８において、マクロブロックに関連したビンの数の合計、および、現エントロピースライスに関連した蓄積されたビンの数が、いずれの制限されたエントロピーコーダユニットに対して許されるビンの最大数を超過する（分岐６６３）場合、エンコーダは、現再構成スライスに関連した新しいエントロピースライスの処理を開始し（ステップ６６４）、現エントロピースライスにおけるビンの数に関連したカウンタを０に初期化する（ステップ６６６）。現エントロピースライスに関連した蓄積されたビンの数は、マクロブロックに関連したビンを含むようにアップデートされる（ステップ６６０）。マクロブロックに関連したビンは、エントロピーエンコーダによりビットストリームに書き込まれ（ステップ６６２）、現エントロピースライスに関連付けられる。次のマクロブロックのシンタックス要素が得られ（ステップ６５２）、分割処理が続行される。
【０１０９】
本発明のいくつかの実施の形態が、図２１に関連して記述される。これらの実施の形態においては、エンコーダが、ある再構成スライスについて、その再構成スライスを複数のエントロピースライスに分割する。Ｎca個のコンテキスト適応ユニット、およびＮbc個のビンコーダユニットのうちの１つまたはそれ以上のユニットが処理するビンの数が制限数を越えないように、各エントロピースライスのサイズは制限される。エンコーダは、現エントロピースライスにおいて各制限されたエントロピーコーダユニットにより処理されたビンの数に関連した各制限されたエントロピーコーダユニットのカウンタを０に初期化する（ステップ７００）。カウンタ値は、図２１に関連して記述される本発明の実施の形態に係る以降の記述において、説明のためにＡと表記される。Ａは、現エントロピースライスの、制限されたエントロピーユニットによって処理されたビンの蓄積数に対応した各ベクトル成分を含むベクトルを表す。これらの実施の形態においては、制限されたエントロピーコーダユニットにより処理されたビンの数が、エントロピースライスにおいて、その制限されたエントロピーコーダユニットにより処理されることを許されるビンの既定の最大数に関連した閾値に到達するまで、エンコーダは、マクロブロックのシンタックス要素をエントロピースライスに関連付ける。いくつかの実施の形態においては、該閾値は、エントロピースライスにおいて、制限されたエントロピーコーダユニットにより処理されることを許されるビンの最大数（the maximum number of bins）の割合である。１つの例示的な実施の形態においては、マクロブロックにおいて、制限されたエントロピーコーダユニットにより処理されることが予想されるビンの最多数（the greatest number of bins）が、エントロピースライスにおいて、制限されたエントロピーコーダユニットにより処理されることを許されるビンの最大数の１０％未満であるとすると、閾値は、エントロピースライスにおいて、制限されたエントロピーコーダユニットにより処理されることを許されるビンの最大数の９０％である。他の例示的な実施の形態においては、閾値は、エントロピースライスにおいて、制限されたエントロピーコーダユニットにより処理されることを許されるビンの最大数の割合である。該割合は、マクロブロックにおいて、制限されたエントロピーコーダユニットにより処理されることが予想されるビンの最多数に基づくものである。これらの実施の形態においては、エントロピースライスのサイズが閾値サイズを超過すると、他のエントロピースライスが生成される。エントロピースライスが、そのエントロピースライスにおいて制限されたエントロピーコーダユニットのいずれか１つにより処理されることを許されるビンの最大数を超過しないことを保証するように、閾値サイズは選択される。いくつかの実施の形態においては、閾値サイズは、エントロピースライスにおいて許されるビンの最大数と、マクロブロックに対し予想されるビンの最大数の推測値との関数である。
【０１１０】
次のマクロブロックのシンタックス要素が得られる（ステップ７０２）。次のマクロブロックが、所定のマクロブロックの処理順に従って決定される。いくつかの実施の形態においては、マクロブロックの処理順は、ラスタスキャン順と対応するものである。マクロブロックにおける２進値でないシンタックス要素が、ビンストリングに変換される（ステップ７０４）。２進値のシンタックス要素は、変換の必要がない。マクロブロックに関連したビンが、エントロピーエンコーダによりビットストリームに書き込まれ（ステップ７０６）、現エントロピースライスに関連付けられる。各制限されたエントロピーコーダユニットにより処理されたマクロブロックに関連したビンの数が決定される（ステップ７０８）。マクロブロックに関連したビンの数には、２進値のシンタックス要素のビンと、２進値でないシンタックス要素に関連したビンストリングにおけるビンとが含まれる。各制限されたエントロピーコーダユニットにより処理されたマクロブロックに関連したビンの数は、図２１に関連して記述される本発明の実施の形態に関する以降の記述において、説明のためにｎｕｍと示される。ｎｕｍは、現マクロブロックについて、対応する制限されたエントロピーコーダユニットにより処理されたビンの数に対応する各ベクトル成分を含むベクトルを表す。各制限されたエントロピーコーダユニットにより処理された現エントロピースライスに関連した蓄積されたビンの数が、マクロブロックに関連したビンを含むようにアップデートされる（ステップ７１０）。ステップ７１２において、制限されたエントロピーコーダユニットにより処理された現エントロピースライスに関連した蓄積されたビンの数が、ある制限されたエントロピーコーダユニット i に対してTH(MaxNumBins)(i)と表記される閾値よりも大きい（分岐７１４）場合、エンコーダは新規のエントロピースライスの処理を開始し（ステップ７１６）、現エントロピースライスにおいて各制限されたエントロピーコーダユニットにより処理されたビンの数に関連したカウンタを０に初期化する（ステップ７１８）。次のマクロブロックのシンタックス要素が得られ（ステップ７０２）、分割処理が続行される。制限されたエントロピーコーダユニットにより処理された現エントロピースライスに関連した蓄積されたビンの数が、その閾値以下である場合（分岐７１３）、次のマクロブロックのシンタックス要素が得られ（ステップ７０２）、分割処理が続行される。
【０１１１】
本発明のいくつかの実施の形態は、上述したエントロピースライスの分割のための判断基準の組み合わせを備えている。
【０１１２】
本発明のいくつかの実施の形態では、エントロピースライスのサイズが第１の所定のサイズ未満に制限されるが、同様に、エントロピースライスのサイズが第２の所定のサイズを超過しないように制限されてもよいことは理解されるであろう。本明細書に記述されている実施の形態は、本発明に係る例示的な実施の形態であり、当業者であれば、エントロピースライスのサイズを制限する、本発明に係る均等な実施の形態が存在することは理解できるであろう。
【０１１３】
本発明のいくつかの実施の形態においては、新規のエントロピースライスの開始処理は、現スライスの終了処理、および、新規のエントロピースライスを現エントロピースライスとみなす処理を含んでいる。
【０１１４】
本発明のいくつかの実施の形態においては、エントロピースライス内の複数のビット復号は、複数のビンデコーダを備えるエントロピーデコーダ内において並列化されており、復号時間を短縮してもよい。本発明の例示的な実施の形態は、図２２に示された例示的なエントロピーデコーダ（entropy decoder）７５０との関係において理解される。エントロピーデコーダ７５０は、複数（３つ図示）のビンデコーダ（bin decoder）７６２、７６４、７６６を備えている。エントロピースライス内のビット７５２、および既に復号されたシンボル７５４は、エントロピーデコーダ７５０が利用可能である。コンテキスト適応ユニット（context-adaptation unit）７６０から生成されるコンテキスト状態（context state）７５８に基づいて、ビンデコーダ７６２、７６４、７６６のうち、いずれかを選択するビンデコーダセレクタ（bin-decoder selector）７５６は、ビット７５２を利用可能である。コンテキスト適応ユニット７６０は、コンテキスト適応ユニット７６０が利用可能なように予め復号されたシンボル７５４に基づいて、コンテキスト状態７５８を生成する。ビンデコーダセレクタ７５６は、コンテキスト状態７５８に基づいて、ビンデコーダ７６２、７６４、７６６のうち１つを割り当てる。復号されるビット７５２は、ビンデコーダセレクタ７５６により選択されたビンデコーダに渡される。ビンデコーダ７６２、７６４、７６６は復号されたビン７６８、７７０、７７２を生成する。復号されたビン７６８、７７０、７７２は、マルチプレクサ（multiplexer）７７４により多重化され、多重化されたビン７７６は、記号化器（symbolizer）７７８に送られる。記号化器７７８は、ビン７７６に対応するシンボル７５４を生成する。
【０１１５】
本発明のいくつかの実施の形態においては、エントロピースライス内の複数のビット復号は、複数のコンテキスト適応ユニットを備えるエントロピーデコーダ内において並列化されており、復号時間を短縮する。本発明の例示的な実施の形態は、図２３に示された例示的なエントロピーデコーダ８００との関係において理解される。エントロピーデコーダ（entropy decoder）８００は、複数（３つ図示）のコンテキスト適応ユニット（context-adaptation unit）８１４、８１６、８１８を備えている。エントロピースライス内のビット８０２、および既に復号されたシンボル８１０は、エントロピーデコーダ８００が利用可能である。ビット８０２は、複数のコンテキスト適応ユニット８１４、８１６、８１８から、入力ビットの復号処理のための１つのコンテキスト適応ユニットを選択するコンテキスト適応ユニットセレクタ（context-adaptation unit selector）８１２が利用可能である。本発明のいくつかの実施の形態においては、コンテキスト適応ユニットセレクタ８１２は、Ｎ番目のビットを受信する毎に、Ｎ番目のコンテキスト適応ユニットを選択する。選択されたコンテキスト適応ユニットは、選択されたコンテキスト適応ユニットが利用可能な既に復号されたシンボル８１０に基づいて、コンテキスト状態８２０、８２２、８２４を生成する。状態セレクタ８２６は、適切なタイミングで、入力ビットに関連して生成されたコンテキスト状態を選択する。本発明のいくつかの実施の形態においては、状態セレクタ８２６は、コンテキスト適応ユニットセレクタ８１２と同様の手順に従って、Ｎ番目のビットを受信する毎に、Ｎ番目のコンテキスト適応ユニットを選択する。選択された状態８２８は、ビンデコーダ８０４が利用可能になる。ビンデコーダ８０４は、ビット８０２を復号し、復号されたビン８０６を記号化器８０８に送る。記号化器８０８は、復号されたビン８０６に対応するシンボル８１０を生成する。
【０１１６】
本発明のいくつかの実施の形態においては、エントロピースライス内の複数のビット復号は、複数のコンテキスト適応ユニットと、複数のビンデコーダと、を備えるエントロピーデコーダ内において並列化されており、復号時間を短縮する。本発明の例示的な実施の形態は、図２４に示された例示的なエントロピーデコーダ８５０との関係において理解される。エントロピーデコーダ（entropy decoder）８５０は、複数（３つ図示）のコンテキスト適応ユニット（context-adaptation unit）８５２、８５４、８５６、および複数（３つ図示）のビンデコーダ（bin decoder）８５８、８６０、８６２を備えている。エントロピースライス内のビット８６４、および既に復号されたシンボル８６６は、エントロピーデコーダ８５０が利用可能になっている。ビット８６４は、複数のコンテキスト適応ユニット８５２、８５４、８５６から、入力ビットの復号処理のための１つのコンテキスト適応ユニットを選択するコンテキスト適応ユニットセレクタ（context-adaptation unit selector）８６８が利用可能になっている。本発明のいくつかの実施の形態においては、コンテキスト適応ユニットセレクタ８６８は、Ｎ番目のビットを受信する毎に、Ｎ番目のコンテキスト適応ユニットを選択する。選択されたコンテキスト適応ユニットは、選択されたコンテキスト適応ユニットが利用可能な既に復号されたシンボル８６６に基づいて、コンテキスト状態８７０、８７２、８７４を生成する。状態セレクタ８７６は、適切なタイミングで、入力ビットに関連して生成されたコンテキスト状態を選択する。本発明のいくつかの実施の形態においては、状態セレクタ８７６は、コンテキスト適応ユニットセレクタ８６８と同様の手順に従って、Ｎ番目のビットを受信する毎に、Ｎ番目のコンテキスト適応ユニットを選択する。選択された状態８７８は、ビンデコーダセレクタ（bin-decoder selector）８８０が利用可能になっている。ビンデコーダセレクタ８８０は、選択されたコンテキスト状態８７８に基づいて、ビンデコーダ８５８、８６０、８６２のうち１つを選択する。ビンデコーダセレクタ８８０は、コンテキスト状態８７８に基づいて、ビンデコーダ８５８、８６０、８６２のうち１つを割り当てる。復号されるビット８６４は、ビンデコーダセレクタ８８０により選択されたビンデコーダに渡される。ビンデコーダ８５８、８６０、８６２は、復号されたビン８８２、８８４、８８６を生成する。復号されたビン８８２、８８４、８８６は、マルチプレクサ８８８により多重化され、多重化されたビン８９０は、記号化器８９２へ送られる。記号化器８９２は、復号されたビン８９０に対応するシンボル８６６を生成する。
【０１１７】
本発明のいくつかの実施の形態においては、エンコーダは、再構成スライスを複数のエントロピースライスに分割する。該エントロピースライス内のマクロブロック群は、切れ目なく連続している。図２５は、クロスハッチ９５２で表されたエントロピースライス０、白色９５４で表されたエントロピースライス１、およびドットハッチ９５６で表されたエントロピースライス２、の３つのエントロピースライスに分割された例示的な再構成スライス９５０を示す。この例示的な再構成スライス９５０においては、エントロピースライス９５２、９５４、９５６の各エントロピースライス内のマクロブロック群は切れ目なく連続している。
【０１１８】
本発明の他の実施の形態においては、エンコーダは、再構成スライスを複数のエントロピースライスに分割する。該エントロピースライス内のマクロブロック群は、切れ目なく連続してはいない。図２６は、クロスハッチ９６２で表されたエントロピースライス０、白色９６４で表されたエントロピースライス１、およびドットハッチ９６６で表されたエントロピースライス２、の３つのエントロピースライスに分割された例示的な再構成スライス９６０を示す。この例示的な再構成スライス９６０においては、エントロピースライス９６２、９６４、９６６内のマクロブロック群は切れ目なく連続してはいない。エントロピースライス内のマクロブロック群が切れ目なく連続していない再構成スライスの分割は、インターリーブ分割（interleaved partition）と呼称してもよい。
【０１１９】
本発明のいくつかの実施の形態においては、エントロピースライス内の現ブロックのエントロピー復号の間、デコーダは、現ブロックのエントロピー復号に関係する情報を予測するために同じエントロピースライスの他のブロックを用いる。本発明のいくつかの実施の形態においては、再構成スライス内の現ブロックの再構成の間、同じ再構成スライス内の他のブロックは現ブロックの再構成に関係する情報を予測するために用いられる。
【０１２０】
再構成スライスがインターリーブ分割を含んでいる本発明のいくつかの実施の形態においては、エントロピースライス内の現ブロックの復号において用いられるエントロピースライス内の近傍ブロック群は、直接的に隣接していない（すなわち、切れ目なく連続していない）。図２７は、図２６に示された例示的なインターリーブ分割の状態を図示したものである。
【０１２１】
図２７において、エントロピースライス９６４内の現ブロック９７０に関して、現ブロック９７０のエントロピー復号に用いられる、エントロピースライス９６４内の左隣のブロック９７２は切れ目なく隣接している。現ブロック９７０のエントロピー復号に用いられる、同じエントロピースライス９６４内の上隣のブロック９７４は切れ目なく隣接してはいない。現ブロック９７０の再構成に関しては、再構成スライス９６０内の左隣のブロック９７２は切れ目なく隣接しており、再構成スライス９６０内の上隣のブロック９７６は切れ目なく隣接している。
【０１２２】
再構成スライスがインターリリーブ分割を含んでいる本発明のいくつかの実施の形態においては、エントロピースライス内の現ブロックの復号において用いられる、エントロピースライス内の適切な近傍ブロックが存在しないことがある。図２８は、図２６に示された例示的なインターリーブ分割に関し、このような状況を図示したものである。
【０１２３】
図２８において、エントロピースライス９６４内の現ブロック９８０に関して、現ブロック９８０のエントロピー復号に用いられる、エントロピースライス９６４内の左隣のブロックが存在しない。現ブロック９８０のエントロピー復号に用いられる、同じエントロピースライス９６４内の上隣のブロック９８２は切れ目なく隣接してはいない。現ブロック９８０の再構成に関しては、再構成スライス９６０内の左隣のブロック９８４は切れ目なく隣接しており、再構成スライス９６０内の上隣のブロック９８６は切れ目なく隣接している。
【０１２４】
本発明のいくつかの形態においては、デコーダは、エントロピースライスのロケーション（location）を識別するために、完全な入力ビットストリーム（incoming bitstream）を予め処理する。本発明のいくつかの実施の形態においては、デコーダは、再構成スライス内のエントロピースライスのロケーションを特定するために、再構成スライス全体に前処理を施す。いくつかの実施の形態においては、エントロピースライスのロケーションは、エントロピースライスヘッダのロケーションを特定することにより判定される。これらの実施の形態においては、デコーダは、ビットストリームにおけるビットを読み出し、既定のスタートコード値（start-code values）が識別される。
【０１２５】
他の実施の形態においては、エントロピースライスヘッダは、入力ビットストリーム内の既定の位置にあるビット範囲に制約される。他の実施の形態においては、エントロピースライスヘッダは、入力ビットストリーム内の既定の位置にあるバイト範囲に制約される。これらの実施の形態においては、ビットアラインの場合であってもバイトアラインの場合であっても、デコーダは、エントロピースライスの位置を判定するために入力ビットストリームの非常に多くの部分に前処理を施す必要がない。
【０１２６】
本発明のいくつかの実施の形態においては、エンコーダは、ビットストリームにおいて、エントロピースライスロケーション変数（entropy-slice-location parameter）とも呼ばれるエントロピースライスロケーション情報（entropy-slice-location information）を通知する。ここで、エントロピースライスロケーション情報は、エントロピースライスヘッダのロケーションを制限するものであり、例えば、オフセットおよび範囲の情報である。他の実施の形態においては、エントロピースライスロケーション情報は、ビットストリームにおいて通知されるのではなく、エントロピースライス変数（entropy-slice parameter）から決定される。ここで、エントロピースライス変数は、例えば、任意のエントロピースライスに許されるビンの固定数、任意のエントロピースライスに許されるビットの固定数、および他のエントロピースライス変数である。本発明のさらなる他の実施の形態においては、エントロピースライスロケーション情報は、他の標準の手段（normative means）により定義される。例えば、該情報は、プロファイル制約（profile constraint）、レベル制約（level constraint）、アプリケーション制約（application constraint）またはその他の制約において規定される。あるいは、該情報は、補足情報として通知されるか、または他の範囲外（out-of-bound）の手段によって通知される。
【０１２７】
本発明のいくつかの実施の形態においては、エントロピースライスロケーション変数の値の１セットは、ビットストリーム内の全てのエントロピースライスのために用いられる。他の実施の形態においては、エントロピースライスロケーション変数の値は、シーケンスの一部により表されるピクセル群について定義される。他の実施の形態においては、エントロピースライスロケーション変数の値は、ビットストリーム内の各画像について定義され、対応する画像内の全てのエントロピースライスのために用いられる。他の実施の形態においては、エントロピースライスロケーション変数の値は、ビットストリーム内の各再構成スライスについて定義され、対応する再構成スライス内の全てのエントロピースライスのために用いられる。さらなる他の実施の形態においては、エントロピースライスロケーション変数の値の複数のセットは、デコーダによって用いられる。さらなる他の実施の形態においては、エントロピースライスロケーション変数の値は、エントロピースライス識別子（entropy-slice identifier）に割り当てられる。例えば、第１のエントロピースライスヘッダはエントロピースライスロケーション変数の値の第１のセットを用い、第２のエントロピースライスヘッダはエントロピースライスロケーション変数の値の第２のセットを用い、一般的には、第Ｎ番目のエントロピースライスヘッダはエントロピースライスロケーション変数の値の第Ｎ番目のセットを用いる。本発明のいくつかの実施の形態においては、エントロピースライス変数の値は、フレーム識別子（frame identifier）に割り当てられる。１つの例示的な実施の形態においては、第１の画像は、エントロピースライス変数の値の第１のセットを用い、第２の画像は、エントロピースライス変数の値の第２のセットを用い、一般的には、第Ｎ番目の画像は、エントロピースライス変数の値の第Ｎ番目のセットを用いる。他の例示的な実施の形態においては、第１の形式の画像は、エントロピースライスロケーション変数の値の第１のセットを用い、第２の形式の画像は、エントロピースライスロケーション変数の値の第２のセットを用いる。画像の例示的な形式は、イントラ画像、予測画像、およびその他の形式の画像である。
【０１２８】
Ｈ．２６４／ＡＶＣコーデックを含む本発明のいくつかの実施の形態においては、エントロピースライスオフセット（entropy-slice offset）、およびエントロピースライス範囲（entropy-slice range）は、シーケンスパラメータセット（sequence parameter set）に“entropy_slice_offset”パラメータ、および、“entropy_slice_range”を追加することにより、シーケンスパラメータセットのローバイトシーケンスペイロード（ＲＢＳＰ：Raw Byte Sequence Payload）において通知される。表３は、本発明の実施の形態による、例示的なシーケンスパラメータセットのＲＢＳＰのシンタックスを示している。
【０１２９】
Ｈ．２６４／ＡＶＣコーデックを含む本発明のいくつかの実施の形態においては、エントロピースライスオフセット、およびエントロピースライス範囲は、ピクチャパラメータセット（picture parameter set）に“entropy_slice_offset”パラメータ、および“entropy_slice_range”を追加することにより、ピクチャパラメータセットのローバイトシーケンスペイロード（ＲＢＳＰ：Raw Byte Sequence Payload）において通知される。表４は、本発明の実施の形態による、例示的なピクチャパラメータセットのＲＢＳＰのシンタックスを示している。
【０１３０】
Ｈ．２６４／ＡＶＣコーデックを含む本発明のいくつかの実施の形態においては、エントロピースライスオフセット、およびエントロピースライス範囲は、スライスヘッダ（slice header）に“entropy_slice_offset”パラメータ、および“entropy_slice_range”を追加することにより、スライスヘッダにおいて通知される。表５は、本発明の実施の形態による、例示的なスライスヘッダのシンタックスを示している。
【０１３１】
本発明のいくつかの実施の形態においては、例えば、表６に示されるような表の通りに、エントロピースライスオフセット、およびエントロピースライス範囲が、エンコーダの各レベルのコンフォーマンスポイントについて示される。表６において、Ｏm.nは、レベルｍ．ｎのコンフォーマンスポイントのエントロピースライスオフセットを表しており、Ｒm.nは、ｍ．ｎのコンフォーマンスポイントのエントロピースライス範囲を表している。
【０１３２】
【表３】
0005938119.tif 000005
【０１３３】
表３：例示的なシーケンスパラメータセットのＲＢＳＰのシンタックス表
【０１３４】
【表４】
0005938119.tif 000006
【０１３５】
表４：例示的なピクチャパラメータセットのＲＢＳＰのシンタックス表
【０１３６】
【表５】
0005938119.tif 000007
【０１３７】
表５：スライスヘッダの例示的なシンタックス表
【０１３８】
【表６】
0005938119.tif 000008
【０１３９】
表６：各レベルにおける、例示的なエントロピースライスオフセットおよびエントロピースライス範囲
いくつかの実施の形態において、エントロピースライスロケーション情報は、エントロピースライスヘッダのロケーションを制約する情報を含んでいる。１つの例においては、エントロピースライスロケーション情報は、期間オフセットまたは基本オフセット（period or base offset）としても参照されるオフセットの値（offset value）、および、期間の偏差（deviation）またはオフセットとしても参照される範囲の値（range value）を含んでいる。エントロピースライスヘッダロケーションは、オフセット値および範囲値に基づいて制約される。
【０１４０】
本発明のいくつかの実施の形態においては、オフセット値および範囲値は、明示的に定義される。本発明の他の実施の形態においては、オフセット値および範囲値は、最小オフセット値および最大オフセット値として、非明示的に（implicitly）定義される。本発明のさらなる他の実施の形態においては、オフセット値および範囲値は、最大オフセット値および、最大オフセット値と最小オフセット値との差分（difference）として非明示的に定義される。本発明のさらなる他の実施の形態においては、オフセット値および範囲値は、最小オフセット値および、最小オフセット値と最大オフセット値との差分として非明示的に定義される。他の実施の形態においては、オフセット値および範囲値は、第３の値および、第３の値と、最大オフセット値と、最小オフセット値との差分として非明示的に定義される。さらなる他の実施の形態においては、オフセット値および範囲値は、対応する最小ビット値および最大ビット値（minimum and maximum bit-values）を制約するルックアップテーブル（a look-up table）へのインデックスによって定義される。いくつかの実施の形態においては、オフセット値および範囲値は、ルックアップツリー（look-up tree）に基づくオフセットを用いることにより定義される。いくつかの実施の形態においては、オフセット値および範囲値は、費用最小化インデックス法（cost-minimizing indexing）を用いることにより定義される。当業者であれば、範囲値およびオフセット値を非明示的に定義し、エンコーダおよびデコーダが既定のオフセット値および範囲値と同じ値により動作することを保障するための方法が対象分野において多数知られていることがわかるであろう。
【０１４１】
本発明のいくつかの実施の形態においては、範囲値の通知は任意である。いくつかの実施の形態においては、範囲値が通知されない場合、該範囲値は、既定の値に設定される。例示的な実施の形態においては、該既定の値は、０である。他の例示的な実施の形態においては、該既定の値は、０でない整数値である。
【０１４２】
図２９に関連して記述される例示的な実施の形態においては、再構成スライス内のスライス番号Ｎのエントロピースライスに関連したエントロピースライスヘッダは、再構成スライスヘッダの先頭からＮｋ−ｐビット目以降から、または、再構成スライスヘッダ内の他の固定ロケーションの後ろから開始するように制約される。ここで、ｋはオフセット値を表し、ｐは範囲を表す。Ｎｋ−ｐビット後のロケーションは測定され、参照ロケーション（reference location）として参照される。他の実施の形態においては、参照ロケーションは、特定の再構成スライスに対応しておらず、ビットストリーム内における、全てのエントロピースライスに対して同一の固定ロケーションである。他の実施の形態においては、エントロピースライスヘッダは、バイトアラインされて（byte aligned）おり、制約は、バイト数に関連する。図２９に関連して示された例は、ビットに関して記述されているが、当業者は他のバイトアラインの実施の形態を理解するであろう。
【０１４３】
図２９は、例示的なビットストリームの例示的な一部（portion）１０００の図の説明
である。ビットストリームの一部１０００は、黒色で塗りつぶされた長方形で表された１つの再構成スライスヘッダ１００２と、灰色で塗りつぶされた長方形で表された４つのエントロピースライスヘッダと、白と黒との薄い縞で表されたエントロピースライスの残りの部分とを含んでいる。第０番目のエントロピースライス１００３に対応するエントロピースライスヘッダは、第０番目のエントロピースライスヘッダとして参照され、第１番目のエントロピースライス１００４に対応するエントロピースライスヘッダは、第１番目のエントロピースライスヘッダとして参照され、第２番目のエントロピースライス１００５に対応するエントロピースライスヘッダは、第２番目のエントロピースライスヘッダとして参照され、第３番目のエントロピースライス１００６に対応するエントロピースライスヘッダは、第３番目のエントロピースライスヘッダとして参照される。この例において、参照ロケーションは、再構成スライスヘッダ１００２の先頭１００１である。本発明のいくつかの実施の形態においては、第０番目のエントロピースライス１００３に対応するエントロピースライスヘッダは、再構成スライスヘッダ１００２の直後に位置するように制約される。本発明のいくつかの実施の形態においては、第０番目のエントロピースライスに対応するエントロピースライスヘッダは、再構成スライスヘッダの一部である。すなわち、再構成スライスヘッダは、第０番目のエントロピースライスに対応するエントロピースライスヘッダとしての役目を果たすこともできる。これらの実施の形態においては、再構成スライスヘッダは、１つの再構成部（reconstruction portion）と、１つのエントロピー部（entropy portion）とを含んでいる。図２９に示された本発明のいくつかの実施の形態においては、第１のエントロピースライスヘッダ１００４は、参照ロケーション１００１からｋ−ｐビット目１００７の後に位置するように制約され、第２のエントロピースライスヘッダ１００５は、参照ロケーション１００１から２ｋ−ｐビット目１００８の後に位置するように制約され、第２のエントロピースライスヘッダ１００６は、参照ロケーション１００１から３ｋ−ｐビット目１００９の後に位置するように制約される。これらの実施の形態においては、エントロピースライスＮの復号処理を割り当てられたエントロピーデコーダは、参照ロケーション１００１からＮｋ−ｐビット目の後に位置する対応するエントロピースライスヘッダのサーチを開始する。
【０１４４】
本発明の他の実施の形態においては、エントロピースライスロケーション情報は、範囲パラメータ（range parameter）を含んでいない。これらの実施の形態においては、エントロピーデコーダは、参照ロケーションからＮｋビット目の後にあるＮ番目のエントロピースライスヘッダのサーチを開始する。
【０１４５】
図３０に関連して記述される他の例示的な実施の形態においては、再構成スライス内のスライス番号Ｎのエントロピースライスに関連したエントロピースライスヘッダは、再構成スライスヘッダの先頭からＮｋ−ｐビット目以降から、または、再構成スライスヘッダ内の他の固定ロケーションの後ろから開始するように制約される。ここで、ｋはオフセット値を表し、ｐは範囲を表す。エントロピースライスヘッダはさらに、制約された開始ロケーション（constrained starting location）から２ｐのビット範囲内に存在するように制約される。Ｎｋ−ｐビット後のロケーションは測定され、参照ロケーション（reference location）として参照される。他の実施の形態においては、参照ロケーションは、特定の再構成スライスに対応しておらず、ビットストリーム内の全てのエントロピースライスに対して同一の固定ロケーションである。他の実施の形態においては、エントロピースライスヘッダは、バイトアラインされ（byte aligned）おり、制約は、バイト数に関連する。図３０に関連して示された例は、ビットに関して記述されているが、当業者は他のバイトアラインの実施の形態を理解するであろう。
【０１４６】
図３０は、例示的なビットストリームの例示的な一部１０２０の図の説明である。ビットストリームの一部１０２０は、黒色で塗りつぶされた長方形で表された１つの再構成スライスヘッダ１０２２と、灰色で塗りつぶされた長方形で表された４つのエントロピースライスヘッダと、白と黒との薄い縞で表されたエントロピースライスの残りの部分とを含んでいる。第０番目のエントロピースライス１０２３に対応するエントロピースライスヘッダは、第０番目のエントロピースライスヘッダとして参照され、第１番目のエントロピースライス１０２４に対応するエントロピースライスヘッダは、第１番目のエントロピースライスヘッダとして参照され、第２番目のエントロピースライス１０２５に対応するエントロピースライスヘッダは、第２番目のエントロピースライスヘッダとして参照され、第３番目のエントロピースライス１０２６に対応するエントロピースライスヘッダは、第３番目のエントロピースライスヘッダとして参照される。この例において、参照ロケーションは、再構成スライスヘッダ１０２２の先頭１０２１である。本発明のいくつかの実施の形態においては、第０番目のエントロピースライス１０２３に対応するエントロピースライスヘッダは、再構成スライスヘッダ１０２２の直後に位置するように制約される。本発明のいくつかの実施の形態においては、第０番目のエントロピースライスに対応するエントロピースライスヘッダは、再構成スライスヘッダの一部である。これらの実施の形態においては、再構成スライスヘッダは、１つの再構成部（reconstruction portion）と、１つのエントロピー部（entropy portion）とを含んでいる。図３０に示された本発明のいくつかの実施の形態においては、第１のエントロピースライスヘッダ１０２４は、参照ロケーション１０２１から数えてｋ−ｐビット目１０２７からの２ｐビット１０３１の範囲内に位置するように制約され、第２のエントロピースライスヘッダ１０２５は、参照ロケーション１０２１から数えて２ｋ−ｐビット目１０２８からの２ｐビット１０３２の範囲内に位置するように制約され、第２のエントロピースライスヘッダ１０２６は、参照ロケーション１０２１から数えて３ｋ−ｐビット目１０２９からの２ｐビット１０３３の範囲内に位置するように制約される。これらの実施の形態においては、エントロピースライスＮの復号処理を割り当てられたエントロピーデコーダは、参照ロケーション１００１からＮｋ−ｐビット目より後ろにある対応するエントロピースライスヘッダのサーチを開始する。エントロピーデコーダは、エントロピースライスヘッダを特定するか、または、２ｐビット分をサーチした後にサーチを終了する。
【０１４７】
本発明のいくつかの実施形態は、図３１との関係において記述される。これらの実施の形態においては、エントロピーデコーダは、エントロピー復号するための現再構成ブロックにおけるエントロピースライスの番号を示すエントロピースライスナンバーを受信する（ステップ１０５０）。エントロピーデコーダは、エントロピースライスロケーション情報を特定する（ステップ１０５２）。本発明のいくつかの実施の形態においては、エントロピースライスロケーションパラメータとしても参照されるエントロピースライスロケーション情報は、ビットストリームにおいて通知される。デコーダは、ビットストリームの分析により、エントロピースライス情報を特定する（ステップ１０５２）。他の実施の形態においては、エントロピースライスロケーション情報は、ビットストリームにおいて通知されないが、エントロピースライスパラメータから、デコーダにより特定される（ステップ１０５２）。エントロピースライスパラメータは、例えば、任意のエントロピースライスに許されるビンの固定数、任意のエントロピースライスに許されるビットの固定数、および、その他のエントロピースライスパラメータである。本発明のさらなる他の実施の形態においては、エントロピースライスロケーション情報は、他の標準の手段（normative means）により定義され、特定される（ステップ１０５２）。例えば、該情報は、プロファイル制約（profile constraint）、レベル制約（level constraint）、アプリケーション制約（application constraint）、または他の制約において規定される。あるいは、該情報は、補足情報として通知されるか、または他の範囲外（out-of-bound）の手段によって通知される。
【０１４８】
エントロピーデコーダは、ビットストリームにおいて、エントロピースライスヘッダがエンコーダにより書き込まれてから制限される前にエントロピースライスサーチ開始ロケーションを計算する（ステップ１０５４）。本発明のいくつかの実施の形態においては、エントロピースライスサーチ開始ロケーションは、エントロピースライスロケーション情報により決定される、オフセット値および範囲値を用いることにより計算される（ステップ１０５４）。本発明の他の実施の形態においては、エントロピースライスサーチ開始ロケーションは、エントロピースライスロケーション情報により決定されるオフセット値を用いることにより計算される（ステップ１０５４）。エントロピーデコーダは、ビットストリームにおいて、エントロピースライスサーチ開始ロケーションに進み（ステップ１０５６）、ビットストリームを分析することでエントロピースライスヘッダを探す（ステップ１０５８）。本発明のいくつかの実施の形態においては、エントロピースライスヘッダは、スタートコード（start code）により示される。
【０１４９】
本発明のいくつかの実施の形態は、図３２との関係において記述される。これらの実施の形態においては、エントロピーデコーダは、現再構成ブロックにおけるエントロピー復号すべきエントロピースライスの番号を示すエントロピースライスナンバーを受信する（ステップ１０７０）。エントロピーデコーダは、エントロピースライスロケーション情報を特定する（ステップ１０７２）。本発明のいくつかの実施の形態においては、エントロピースライスロケーションパラメータとしても参照されるエントロピースライスロケーション情報は、ビットストリームにおいて通知される。デコーダは、ビットストリームの分析により、エントロピースライス情報を特定する（ステップ１０７２）。他の実施の形態においては、エントロピースライスロケーション情報は、ビットストリームにおいて通知されないが、エントロピースライスパラメータから、デコーダにより特定される（ステップ１０７２）。エントロピースライスパラメータは、例えば、任意のエントロピースライスに許されるビンの固定数、任意のエントロピースライスに許されるビットの固定数、および、その他のエントロピースライスパラメータである。本発明のさらなる他の実施の形態においては、エントロピースライスロケーション情報は、他の標準の手段（normative means）により定義され、特定される（ステップ１０７２）。例えば、該情報は、プロファイル制約（profile constraint）、レベル制約（level constraint）、アプリケーション制約（application constraint）、または他の制約において規定される。あるいは、該情報は、補足情報として通知されるか、または他の範囲外（out-of-bound）の手段によって通知される。
【０１５０】
エントロピーデコーダは、ビットストリームにおいて、エントロピースライスヘッダがエンコーダにより書き込まれてから制限される前にエントロピースライスサーチ開始ロケーションを計算する（ステップ１０７４）。本発明のいくつかの実施の形態においては、エントロピースライスサーチ開始ロケーションは、エントロピースライスロケーション情報により決定される、オフセット値および範囲値を用いることにより計算される（ステップ１０７４）。本発明の他の実施の形態においては、エントロピースライスサーチ開始ロケーションは、エントロピースライスロケーション情報により決定されるオフセット値を用いることにより計算される（ステップ１０７４）。エントロピーデコーダは、ビットストリームにおいて、エントロピースライスサーチ開始ロケーションに進み（ステップ１０７６）、ビットストリームを分析することでエントロピースライスヘッダを探す（ステップ１０７８）。本発明のいくつかの実施の形態においては、エントロピースライスヘッダは、スタートコード（start code）により示される。
【０１５１】
ビットストリームにおけるビットは、上記エントロピースライスサーチ開始ロケーションから始まるシーケンスにおいて分析される（ステップ１０７８）。ステップ１０８０において、エントロピースライスヘッダが特定される場合（分岐１０８１）、エントロピーデコーダは、特定されたエントロピースライスヘッダに対応するエントロピースライスをエントロピー復号する（ステップ１０８２）。ステップ１０８０において、エントロピースライスヘッダが特定されない場合（分岐１０８３）、エントロピーデコーダは、サーチを終了する（ステップ１０８４）。いくつかの実施の形態においては、エントロピースライスヘッダが１つも特定されない場合（ステップ１０８３）、エントロピーデコーダはエラーを示す。
【０１５２】
本発明のいくつかの実施の形態は、図３３との関係において記述される。これらの実施の形態においては、エントロピーデコーダは、現再構成ブロックにおけるエントロピー復号すべきエントロピースライスの番号を示すエントロピースライスナンバーを受信する（ステップ１１００）。エントロピーデコーダは、エントロピースライスロケーション情報を特定する（ステップ１１０２）。本発明のいくつかの実施の形態においては、エントロピースライスロケーションパラメータとしても参照されるエントロピースライスロケーション情報は、ビットストリームにおいて通知される。デコーダは、ビットストリームの分析により、エントロピースライス情報を特定する（ステップ１１０２）。他の実施の形態においては、エントロピースライスロケーション情報は、ビットストリームにおいて通知されないが、エントロピースライスパラメータから、デコーダにより特定される（ステップ１１０２）。エントロピースライスパラメータは、例えば、任意のエントロピースライスに許されるビンの固定数、任意のエントロピースライスに許されるビットの固定数、および、その他のエントロピースライスパラメータである。本発明のさらなる他の実施の形態においては、エントロピースライスロケーション情報は、他の標準の手段（normative means）により定義され、特定される（ステップ１１０２）。例えば、該情報は、プロファイル制約（profile constraint）、レベル制約（level constraint）、アプリケーション制約（application constraint）、またはその他の制約において規定される。あるいは、該情報は、補足情報として通知されるか、または他の範囲外（out-of-bound）の手段によって通知される。
【０１５３】
エントロピーデコーダは、ビットストリームにおいて、エントロピースライスヘッダがエンコーダにより書き込まれてから制限される前にエントロピースライスサーチ開始ロケーションを計算する（ステップ１１０４）。本発明のいくつかの実施の形態においては、エントロピースライスサーチ開始ロケーションは、エントロピースライスロケーション情報により決定される、オフセット値および範囲値を用いることにより計算される（ステップ１１０４）。本発明の他の実施の形態においては、エントロピースライスサーチ開始ロケーションは、エントロピースライスロケーション情報により決定されるオフセット値を用いることにより計算される（ステップ１１０４）。エントロピーデコーダは、ビットストリームにおいて、エントロピースライスサーチ開始ロケーションに進み（ステップ１１０６）、ビットストリームを分析することでエントロピースライスヘッダを探す（ステップ１１０８）。本発明のいくつかの実施の形態においては、エントロピースライスヘッダは、スタートコード（start code）により示される。
【０１５４】
ビットストリームにおけるビットは、上記エントロピースライスサーチ開始ロケーションから始まるシーケンスにおいて分析される（ステップ１１０８）。ステップ１１１０において、エントロピースライスヘッダが特定される場合（分岐１１１１）、エントロピーデコーダは、特定されたエントロピースライスヘッダに対応するエントロピースライスをエントロピー復号する（ステップ１１１２）。ステップ１１１０において、エントロピースライスヘッダが特定されない場合（分岐１１１３）であって、ステップ１１１４においてサーチ基準を満足した場合（分岐１１１５）、エントロピーデコーダは終了する（ステップ１１１６）。サーチ基準は、エントロピースライスヘッダの先頭にサーチすべき妥当なロケーション（valid locations）が残っているか否かを判定するための基準となる。図示しないいくつかの実施の形態においては、サーチ基準は、妥当なロケーションがまだ分析されていない場合に満足される。他の実施の形態においては、サーチ基準は、まだ分析（分岐１１１５）されていない妥当なロケーションが存在しない場合に満足され、サーチは終了する（ステップ１１１６）。いくつかの実施の形態においては、エントロピースライスヘッダが１つも特定されない場合（ステップ１１１５）、エントロピーデコーダはエラーを示す。ステップ１１１４において、サーチ基準を満足しない場合（分岐１１１７）、ビットストリームにおいて次のサーチロケーションに進んだ（ステップ１１１８）後に、ビットストリームの分析（ステップ１１０８）は継続する。
【０１５５】
本発明のいくつかの実施の形態においては、サーチ基準は、範囲値に関係している。例えば、エントロピースライスヘッダの開始のロケーションは、Ｎｋを中心とした２ｐビットの範囲に制約される。ここで、ｋはオフセット値を表し、ｐは範囲値を表し、Ｎは再構成スライス内のエントロピースライスナンバーを表す。これらの実施の形態においては、エントロピースライスＮに関連するエントロピースライスヘッダの開始のロケーションは、Ｎｋ−ｐからＮｋ＋ｐまでの範囲に制約される。いくつかの実施の形態においては、サーチ基準は、エントロピースライスのサイズに関する１または複数の制約に関係する。いくつかの実施の形態においては、サーチ基準は複数の制約の組み合わせに関係する。
【０１５６】
本発明のいくつかの実施の形態においては、エンコーダは、次のエントロピースライスヘッダに関する制約条件を満たすために、エントロピースライスにパディング処理（pad）を施す。
【０１５７】
本発明のいくつかの実施の形態においては、エンコーダは、次のエントロピースライスヘッダのロケーションに関する制約条件を満たすために、他のエントロピースライスサイズの制約条件（entropy-slice size restrictions）が満たされる前にエントロピースライスを終了する。
【０１５８】
本発明のいくつかの実施の形態においては、再構成スライス内の最後のエントロピースライスが、次のエントロピースライスヘッダのロケーションに関する制約を満たすために必要なビット数（または、バイトアラインの実施の形態においてはバイト数）を含んでいない場合、エンコーダは、次のエントロピースライスヘッダのロケーションに関する制約条件を満たすために、再構成スライス内の最後のエントロピースライスにパディング処理を施す。
【０１５９】
他の実施の形態においては、エントロピースライスヘッダは、ラストエントロピースライスフラグ（last-entropy-slice flag）を含んでいる。ラストエントロピースライスフラグの値は、エントロピースライスヘッダに対応するエントロピースライスが、再構成スライスにおける最後のエントロピースライスであるか否かを示している。いくつかの実施の形態においては、０のラストエントロピースライスフラグ値は、最後のエントロピースライスに対応する。他の実施の形態においては、１のラストエントロピースライスフラグ値が、最後のエントロピースライスに対応する。いくつかの実施の形態においては、エントロピースライスが再構成スライスにおける最後のエントロピースライスであることをラストエントロピースライスフラグの値が示している場合、続くエントロピースライスヘッダは、パディング処理が行われていない現エントロピースライスのすぐ後に位置される。
【０１６０】
表７は、“next_entropy_slice_flag”として参照されるラストエントロピースライスフラグを通知するための例示的なシンタックスおよびセマンティックスを示している。表７に示された例示的なシンタックスおよびセマンティックスを含む例示的な実施の形態においては、 “next_entropy_slice_flag”フラグは、現再構成スライスに対する追加のエントロピースライスが存在するか否かを示している。現再構成スライスに対する追加のエントロピースライスが存在しないことを“next_entropy_slice_flag”フラグが示している場合、ビットストリームにおける次のエントロピースライスヘッダのロケーションは、エントロピースライスロケーションパラメータにより制約されない。
【０１６１】
本発明のいくつかの実施の形態においては、エントロピースライスヘッダのロケーションは、エントロピースライスヘッダロケーションを指し示すルートノード（root node）を含むツリー形式にまとめられる。いくつかの実施の形態においては、ルートノードによって指し示されたエントロピースライスヘッダロケーションは、相対値（relative）である。他の実施の形態においては、ルートノードによって指し示されたエントロピースライスヘッダロケーションは、絶対値（absolute）である。ツリーの残りのノードは、親ノードに対するオフセット距離（offset distance）を含んでいる。ツリーは設計制約（design constraint）に従って、設計される。設計制約は、例えば、エントロピースライスヘッダロケーションを特定する平均時間を短縮するための制約、エントロピースライスヘッダロケーションを特定するために要する最長の時間を抑制するための制約、エントロピースライスの復号の好ましい順序を通知するための制約、ツリーの記憶コスト（ストレージコスト、storage cost）を最小化するための制約、および他の設計制約である。いくつかの実施の形態においては、ツリーにおける各ノードの子ノードの数は、エントロピースライスヘッダロケーションを特定する上で望ましい並列レベルに基づいて制御される。
【０１６２】
【表７】
0005938119.tif 000009
【０１６３】
表７：ラストエントロピースライスフラグの例示的なシンタックス表
本発明のいくつかの実施の形態においては、コンテキストモデルリセット条件（context-model-reset condition）を満たした時は必ず、エントロピースライス内のコンテキストモデルはリセットされる。これらの実施の形態のいくつかにおいては、コンテキストモデルのリセット後の値は、エントロピースライス内の近傍の基本ユニットのコンテキストモデルに基づく。近傍の基本ユニットが該エントロピースライス内に存在しない場合、デフォルト値が用いられる。他の実施の形態においては、コンテキストモデルはデフォルト値にリセットされる。さらなる他の実施の形態においては、コンテキストモデルは、識別子がビットストリーム内で通知されるコンテキストモデルに基づいてリセットされる。上記識別子は、複数の既定のコンテキストモデルのうちのいずれかを示している。既定のコンテキストモデルは、ビットストリームにおける１または複数のパラメータに依存する。例示的な実施の形態においては、コンテキストモデルは、複数の既定のコンテキストモデルのいずれかを示す、ビットストリーム内の通知された“cabac_init_idc”の値に基づいてリセットされる。
【０１６４】
いくつかの実施の形態においては、コンテキストテーブルは複数のコンテキストモデルの初期化のために用いられる。コンテキストテーブルは、コンテキストモデルのセットを参照する。いくつかの実施の形態においては、コンテキストテーブルにおけるコンテキストモデルのセットは、ビットストリームにおける１または複数のパラメータに基づく適応（adaptation）を受ける。上記のパラメータは、例えば、量子化パラメータ（quantization parameter）、スライスタイプパラメータ（slice type parameter）、または、その他のパラメータである。
【０１６５】
図３４に示された１つの例示的な実施の形態においては、エントロピースライス内のコンテキストモデルは、エントロピースライス内の先頭マクロブロックにおいてリセットされるのに加え、現マクロブロックが行の最初のマクロブロックである場合にもリセットされる。図３４は、３つのエントロピースライスに分割された、４８個のマクロブロック１２０８〜１２５５を含む例示的な再構成スライス１２００を示している。３つのエントロピースライスは、クロスハッチで示されているエントロピースライス“０”１２０２、白色で示されているエントロピースライス“１”１２０４、および、ドットハッチで示されているエントロピースライス“２”１２０６である。エントロピースライス“０”１２０２は、１５個のマクロブロック１２０８〜１２２２を含んでいる。エントロピースライス“１”１２０４は、１７個のマクロブロック１２２３〜１２３９を含んでおり、エントロピースライス“２”１２０６は、１６個のマクロブロック１２４０〜１２５５を含んでいる。コンテキストモデルがリセットされるマクロブロックは、太い黒色のエッジ１２６０〜１２６６で示されており、各エントロピースライスの先頭のマクロブロック１２０８、１２２３、１２４０、および、各行の最初のマクロブロック１２１６、１２２４、１２３２、１２４０、１２４８である。
【０１６６】
基本ユニット、例えば、エントロピースライスの先頭のマクロブロックは、スライス先頭基本ユニット（slice-start elementary unit）として呼称される。例えば、図３４の例示的な再構成スライス１２００におけるエントロピースライス１２０２、１０４、１２０６に対応するスライス開始基本ユニットは、それぞれ、１２０８、１２２３、および、１２４０である。エントロピースライスの行における最初の基本ユニットは、行先頭基本ユニット（row-start elementary unit）と呼称される。行先頭基本ユニットは、例えば、図３４におけるマクロブロック１２０８、１２１６、１２２４、１２３２、１２４０、および１２４８である。
【０１６７】
いくつかの実施の形態においては、コンテキストモデルは、近傍マクロブロックがエントロピースライス内に存在する場合は、近傍マクロブロックのコンテキストモデルに基づいてリセットされ、近傍マクロブロックがエントロピースライス内に存在しない場合には、デフォルト値に基づいてリセットされる。例えば、コンテキストモデルは、現マクロブロックの上隣のマクロブロックが同一のエントロピースライス内に存在する場合、現マクロブロックの上隣のマクロブロックのコンテキストモデルに基づいてリセットされるが、現マクロブロックの上隣のマクロブロックが同一のエントロピースライス内に存在しない場合、デフォルト値に設定される。
【０１６８】
他の例示的な実施の形態においては、エントロピースライス内のコンテキストモデルは、現基本ユニットが行の最初の基本ユニットである場合、リセットされる。他の実施の形態においては、コンテキストモデルリセット条件は、他の基準、例えば、エントロピースライス内で処理されるビンの数、スライス内で処理されるビットの数、現基本ユニットの空間的なロケーション、および、その他の基準に基づく。
【０１６９】
本発明のいくつかの実施の形態においては、コンテキストモデルリセットフラグ（context-model-reset flag）は、コンテキストモデルリセット条件を満たした時に必ず、エントロピースライス内のコンテキストモデルがリセットされるか否かを示すために用いられる。いくつかの実施の形態においては、コンテキストモデルリセットフラグは、エントロピースライスヘッダ内に存在する。他の実施の形態においては、コンテキストモデルリセットフラグは、再構成スライスヘッダ内に存在する。いくつかの実施の形態においては、コンテキストモデルリセットフラグは、二進値のフラグであり、コンテキストモデルリセット条件は、デフォルト条件（default condition）である。他の実施の形態においては
、コンテキストモデルリセットフラグは、コンテキストモデルリセット条件をさらに示す多値のフラグである。
【０１７０】
コンテキスト適応符号化（context-adaptive coding）、例えば、ＣＡＢＡＣ符号化、ＣＡＶ２Ｖ符号化、および、他のコンテキスト適応符号化を含む１つの例示的な実施の形態においては、“lcu_row_cabac_init_flag”フラグは、エントロピー復号が最大符号化ユニット（ＬＣＵ:largest coding unit）行の先頭において初期化されるか否かを示している。いくつかの実施の形態においては、ＬＣＵは、Ｈ．２６４において用いられるマクロブロックの概念をＨｉｇｈ  Ｅｆｆｉｃｉｅｎｃｙ  Ｖｉｄｅｏ  Ｃｏｄｉｎｇ（ＨＥＶＣ）のために一般化したものであり、画像は、ＬＣＵのシーケンスで構成される複数のスライスに分割される。他の実施の形態においては、ＬＣＵは、単一の伝送されるモード値（transmitted mode value）で表される、複数の画素ロケーションからなる最大ブロックである。他の実施の形態においては、ＬＣＵは、単一の伝送される予測モード値（transmitted prediction mode value）で表される複数の画素ロケーションからなる最大ブロックである。本発明のいくつかの実施の形態においては、“１”という“lcu_row_cabac_init_flag”フラグの値は、エントロピー符号化コンテキスト（entropy coding context）をリセットすることを示す。エントロピー符号化コンテキストは、エントロピーコーダに関連するすべてのコンテキストモデルのセットを表す。本発明のいくつかの実施の形態においては、“１”という “lcu_row_cabac_init_flag”フラグの値は、エントロピー符号化コンテキストをリセットし、適応スキャニング（adaptive scanning）をリセットすることを示す。適応スキャニングとは、既に伝送された変換係数（transform coefficient）の値に基づいて、コーデックが変換係数のスキャン順を適応させる処理を指す。１つの実施の形態においては、スキャン順は、係数重要度マップ（coefficient significance map）を生成することにより決定され、既定の値より大きい係数重要度（coefficient significance values）の値に対応する変換係数の値は、既定の値以下の係数重要度の値に対応する変換係数の値に先んじて伝送される。１つの実施の形態においては、既定の値より大きい変換係数の値に対応する係数重要度の値は、次第に増加する。他の実施の形態においては、既定の値以下の変換係数の値に対応する係数重要度の値は、次第に減少する。適応スキャニング処理は、係数重要度マップを既定の値に設定することによりリセットされる。いくつかの実施の形態においては、フラグが送られない場合における“lcu_row_cabac_init_flag”フラグのデフォルト値は、は“０”である。“lcu_row_cabac_init_idc_flag”フラグは、cabac_init_idcの値が各ＬＣＵ行の始まりにおいて伝送されるか否かを示している。いくつかの実施の形態においては、“lcu_row_cabac_init_idc_flag”フラグの値が“１”の場合に、cabac_init_idcの値は、各ＬＣＵ行の先頭において伝送される。いくつかの実施の形態においては、フラグが送られない場合における“lcu_row_cabac_init_idc_flag”フラグのデフォルト値は“０”である。いくつかの実施の形態においては、“cabac_init_idc_present_flag”フラグは、ＬＣＵに関するcabac_init_idcの値が伝送されるか否かを示している。いくつかの実施の形態においては、ＬＣＵに関するcabac_init_idcの値が伝送されない場合に、エントロピー符号化コンテキストは、ビットストリームにおけるcabac_init_idcに関する以前の値を用いることによりリセットされる。本発明のいくつかの実施の形態においては、“lcu_row_cabac_init_flag”、および、“lcu_row_cabac_init_idc_flag”は、通常のスライスヘッダにおいて、例えば、“entropy_slice_flag”の値が“０”の場合に通知される。表８および表９は、これらの実施の形態のための例示的なシンタックスを示している。本発明のいくつかの実施の形態においては、“lcu_row_cabac_init_flag”、および、“lcu_row_cabac_init_idc_flag”は、エントロピースライスヘッダにおいて、例えば、“entropy_slice_flag”の値が“１”の場合に通知される。表８は、例示的なスライスヘッダのシンタックスを示し、表９は、例示的なスライスデータのシンタックス（coding_unit）を示す。
【０１７１】
【表８】
0005938119.tif 000010
【０１７２】
表８：ＬＣＵ行の始まりにおけるエントロピー符号化の初期化を通知するための例示的なシンタックス表 
【０１７３】
【表９】
0005938119.tif 000011
【０１７４】
表９：ＬＣＵの初期コンテキスト（initial context）を通知するための例示的なシンタックス表
例えば、ＣＡＢＡＣ符号化、ＣＡＶ２Ｖ符号化、および、その他のコンテキスト適応符号化といったコンテキスト適応符号化を含む１つの例示的な実施の形態においては、“mb_row_cabac_init_flag”フラグは、エントロピー復号が行の最初のマクロブロックにおいて初期化されるか否かを示している。本発明のいくつかの実施の形態においては、“１”という“mb_row_cabac_init_flag”フラグの値は、各マクロブロック行の始まりにおいてエントロピー符号化コンテキストがリセットされることを示している。本発明の他の実施の形態においては、“１”という“mb_row_cabac_init_flag”フラグの値は、各マクロブロック行の始まりにおいてエントロピー符号化コンテキストがリセットされ、適応スキャニングがリセットされることを示している。いくつかの実施の形態においては、フラグが送られない場合における“mb_row_cabac_init_flag”フラグのデフォルト値は“０”である。“mb_row_cabac_init_idc_flag”フラグは、cabac_init_idcの値が各マクロブロック行の始まりにおいて伝送されるか否かを示している。いくつかの実施の形態においては、“mb_row_cabac_init_idc_flag”の値が“１”の場合に、cabac_init_valuesの値は、各マクロブロック行の始まりにおいて伝送される。いくつかの実施の形態においては、フラグが送られない場合における“mb_row_cabac_init_idc_flag”フラグのデフォルト値は“０”である。いくつかの実施の形態においては、“cabac_init_idc_present_flag”フラグは、マクロブロックに関するcabac_init_idcの値が伝送されるか否かを示している。いくつかの実施の形態においては、マクロブロックに関するcabac_init_idcの値が伝送されない場合に、エントロピー符号化コンテキストは、ビットストリームにおけるcabac_init_idcに関する以前の値を用いることによりリセットされる。本発明のいくつかの実施の形態においては、“mb_row_cabac_init_flag”フラグ、および、“mb_row_cabac_init_idc_flag”フラグは、通常のスライスヘッダにおいて、例えば、“entropy_slice_flag”の値が“０”の場合に通知される。本発明のいくつかの実施の形態においては、“mb_row_cabac_init_flag”フラグ、および、“mb_row_cabac_init_idc_flag”フラグは、エントロピースライスヘッダにおいて、例えば、“entropy_slice_flag”の値が“１”の場合に通知される。表１０および表１１は、これらの実施の形態のための例示的なシンタックスを示している。表１０は、例示的なスライスヘッダのシンタックスを示し、表１１は、例示的なスライスデータのシンタックス（coding_unit）を示す。
【０１７５】
【表１０】
0005938119.tif 000012
【０１７６】
表１０：マクロブロック行の始まりにおけるエントロピー符号化の初期化を通知するための例示的なシンタックス表 
【０１７７】
【表１１】
0005938119.tif 000013
【０１７８】
表１１：マクロブロックの初期コンテキストを通知するための例示的なシンタックス表
本発明のいくつかの実施の形態においては、ビットストリームにおけるエントロピースライスのロケーションは、ビットストリームにおいて通知される。いくつかの実施の形態においては、ビットストリームにおけるエントロピースライスのロケーションがビットストリームにおいて通知されるか否かを示すためにフラグが用いられる。いくつかの例示的な実施の形態は、“真”の場合に、ビットストリームにおけるエントロピースライスのロケーションがビットストリームにおいて通知されることを示す“entropy_slice_locations_flag”を含んでいる。いくつかの実施の形態においては、ロケーションデータ（location data）は、異なる方式で復号される。いくつかの実施の形態においては、ロケーションデータは、各再構成スライスにおいて送られる。他の実施の形態においては、ロケーションデータは、画像ごとに１度送られる。
【０１７９】
本発明のいくつかの実施の形態においては、ビットストリームにおけるＬＣＵ行のロケーションは、ビットストリームにおいて通知される。いくつかの実施の形態においては、ビットストリームにおける各行の最初のＬＣＵのロケーションがビットストリームにおいて通知されるか否かを示すためにフラグが用いられる。いくつかの例示的な実施の形態は、“真”の場合に、ビットストリームにおける各行の最初のＬＣＵのロケーションがビットストリームにおいて通知されることを示す“lcu_row_locations_flag”を含んでいる。いくつかの実施の形態においては、ロケーションデータは、異なる方式で復号される。いくつかの実施の形態においては、ロケーションデータは、各エントロピースライスにおいて送られる。他の実施の形態においては、ロケーションデータは、再構成スライスごとに１度送られる。
【０１８０】
表１２は、ビットストリームにおけるＬＣＵ行およびエントロピースライスのロケーションを通知するための例示的なシンタックス表を示している。この例示的なシンタックスに対するセマンティックスは以下の通りである。
【０１８１】
・“entropy_slice_locations_flag”は、エントロピースライスヘッダロケーションが伝送されるか否かを示している。“entropy_slice_locations_flag”の値が“１”に設定される場合に、エントロピースライスヘッダロケーションは伝送され、そうでない場合には伝送されない。“entropy_slice_locations_flag”のデフォルト値は“０”である。
【０１８２】
・“num_of_entropy_slice_minus1”は、再構成スライス内のエントロピースライスの数より１小さい値を示す。
【０１８３】
・“entropy_slice_offset[i]”は、ｉ番目のエントロピースライスの前のエントロピースライスからのオフセットを示している。
【０１８４】
・“lcu_row_locations_flag”は、ＬＣＵ行のロケーション情報が伝送されるか否かを示している。“lcu_row_locations_flag”の値が“１”に設定される場合に、ＬＣＵ行のロケーション情報は伝送され、そうでない場合には伝送されない。“lcu_row_locations_flag”のデフォルト値は“０”である。
【０１８５】
・“num_of_lcu_rows_minus1”は、エントロピースライス内のＬＣＵ行の数より１小さい値を示す。
【０１８６】
・“lcu_row_offset[i]”は、ｉ番目のＬＣＵ行の前のＬＣＵ行からのオフセットを示している。
【０１８７】
本発明のいくつかの実施の形態においては、表１２における“lcu”は、“macroblock”に置き換えられる。例えば、表１２における“first_lcu_in_slice”、“lcu_row_cabac_init_flag”、“lcu_row_cabac_init_idc_flag”、“lcu_row_locations_flag”、“lcu_row_locations() ”、“num_of_lcu_rows_minus1”、および、“lcu_row_offset[i]”は、それぞれ、“first_mb_in_slice”、“mb_row_cabac_init_flag”、“mb_row_cabac_init_idc_flag”、“mb_row_locations_flag”、“mb_row_locations() ”、“num_of_mb_rows_minus1”、および、“mb_row_offset[i]”に置き換えられる。
【０１８８】
【表１２】
0005938119.tif 000014
【０１８９】
表１２：ビットストリームにおける行の最初のＬＣＵのロケーションを通知するための例示的なシンタックス表
表１３は、全イントラ符号化に対するレート歪み性能の比較を示している。第３列の２つのサブ列に示した第１の比較は、スライスに対するエントロピー復号およびマクロブロックの再構成が他のスライスに依存しない複数のスライスを用いる符号化と、スライスを用いない符号化との比較である。この比較では、Ｈ．２６４／ＡＶＣジョイントモデル（ＪＭ）ソフトウエア・バージョン１３．０が用いられている。同一のビットレートに対しては、スライスを用いない符号化よりも複数のスライスを用いて符号化することにより、クオリティが平均的に−０．３３８０ｄＢ低下する。同一のクオリティレベルに対しては、スライスを用いない符号化よりも複数のスライスを用いて符号化することにより、ビットレートが平均的に７％増加する。
【０１９０】
第４列の２つのサブ列に示した第２の比較は、本発明の実施の形態に係る、複数のエントロピースライス（エントロピースライス毎に２行のマクロブロック）に分割された１つの再構成スライスを用いる符号化と、スライスを伴わないＪＭ１３．０を用いる符号化との比較である。同一のビットレートに対しては、スライスを用いない符号化よりも複数のエントロピースライスを伴う１つの再構成スライスを用いて符号化することにより、クオリティが平均的に−０．０８６０ｄＢ低下する。同一のクオリティレベルに対しては、スライスを用いない符号化よりも複数のエントロピースライスを伴う１つの再構成スライスを用いて符号化することにより、ビットレートが平均的に１．８３％増加する。
【０１９１】
【表１３】
0005938119.tif 000015
【０１９２】
表１３：全イントラ符号化におけるレート歪み性能の比較
表１４は、ＩＢＢＰ符号化に対するレート歪み性能の比較を示している。第３列の２つのサブ列に示した第１の比較は、スライスに対するエントロピー復号およびマクロブロックの再構成が他のスライスに依存しない複数のスライスを用いる符号化とスライスを用いない符号化との比較である。この比較では、Ｈ．２６４／ＡＶＣジョイントモデル（ＪＭ）ソフトウエア・バージョン１３．０が用いられている。同一のビットレートに対しては、複数のスライスを用いて符号化することにより、クオリティが平均的に−０．５４６０ｄＢ低下する。同一のクオリティレベルに対しては、スライスを用いない符号化よりも複数のスライスを用いて符号化することにより、ビットレートが平均的に２１．４１％増加する。
【０１９３】
第４列の２つのサブ列に示した第２の比較は、本発明の実施の形態に係る、複数のエントロピースライス（エントロピースライス毎に２行のマクロブロック）に分割された１つの再構成スライスを用いる符号化と、スライスを伴わないＪＭ１３．０を用いる符号化との比較である。同一のビットレートに対しては、スライスを用いない符号化よりも複数のエントロピースライスを伴う１つの再構成スライスを用いて符号化することにより、クオリティが平均的に−０．３１ｄＢ低下する。同一のクオリティレベルに対しては、スライスを用いない符号化よりも複数のエントロピースライスを伴う１つの再構成スライスを用いて符号化することにより、ビットレートが平均的に１１．４５％増加する。
【０１９４】
【表１４】
0005938119.tif 000016
【０１９５】
表１４：ＩＢＢＰ符号化におけるレート歪み性能の比較
結果を比較すると、１つの再構成スライスにおいて複数のエントロピースライスを用いる符号化は、全イントラ符号化およびＩＢＢＰ符号化の場合、それぞれ５．１７％および９．９６％のビットレートが低減される。これは、スライスに対するエントロピー復号および再構成が他のスライスに依存しないスライスを用いる符号化に対する比較である。但し、並列的な復号は、双方共に可能である。
【０１９６】
表１５は、全イントラ符号化およびＩＢＢＰ符号化に対するレート歪み性能の比較を示している。本表における比較は、スライスを用いない符号化と、本発明の実施の形態に係る、エントロピースライス毎に２６ｋのビンである最大サイズのエントロピースライスに分割された１つの再構成スライスを用いる符号化との比較である。第２列の２つのサブ列に見られる第１の比較は、全イントラ符号化を用いた比較である。同一のビットレートに対しては、複数のエントロピースライスを伴う再構成スライスを用いて符号化することにより、クオリティが平均的に−０．０６２ｄＢ低下する。同一のクオリティレベルに対しては、複数のエントロピースライスを伴う再構成スライスを用いて符号化することにより、ビットレートが平均的に１．８６％増加する。このようにして、２行のマクロブロックである固定的なエントロピースライスサイズのエントロピースライスよりも、エントロピースライス毎に２６ｋのビンである最大サイズのエントロピースライスを用いる全イントラ符号化に対して、凡そ０．６４％である平均的なビットレートの省力が存在する。
【０１９７】
第３列の２つのサブ列に見られる第２の比較は、ＩＢＢＰ符号化を用いた比較である。同一のビットレートに対しては、スライスを用いない符号化よりも複数のエントロピースライスを伴う１つの再構成スライスを用いて符号化することにより、クオリティが平均的に−０．０２２ｄＢ低下する。同一のクオリティレベルに対しては、スライスを用いない符号化よりも複数のエントロピースライスを伴う１つの再構成スライスを用いて符号化することにより、ビットレートが平均的に０．７８７％増加する。このようにして、２行のマクロブロックである固定的なエントロピースライスサイズのエントロピースライスよりも、エントロピースライス毎に２６ｋのビンである最大サイズのエントロピースライスを用いるＩＢＢＰ符号化に対して、凡そ１０．６６％である平均的なビットレートの省力が存在する。
【０１９８】
【表１５】
0005938119.tif 000017
【０１９９】
表１５：エントロピースライス毎に２６ｋのビン未満であるエントロピースライスを用いた全イントラ符号化およびＩＢＢＰ符号化におけるレート歪み性能の比較
エントロピースライスを用いることにより、並列的な復号が可能になり、再構成スライスを、マクロブロックの固定的な数であるエントロピースライスよりも各エントロピースライスがビンの最大数未満であるエントロピースライスに分割する符号化により、著しいビットレートの省力を提供する。
【０２００】
図面におけるフローチャートおよび図が特定の実行順を示しているが、該実行順が、図示されたものと異なってもよいことは理解されるであろう。１つの例としては、ブロックの実行順は、図示された順に関して変更されてもよい。また、他の例としては、図面において連続して図示された２つ以上のブロックは、同時に、または略同時に実行されてもよい。本明細書に記述の様々な論理的機能を実行するためのソフトウエア、ハードウエア、および／またはファームウエアは、先行技術の１つにより生成され得ることは、当業者であれば理解できるであろう。
【０２０１】
本発明のいくつかの実施の形態は、本明細書に記載した何れかの特徴および方法をコンピュータに実行させるためのプログラムに用いられる指令が記録されたコンピュータ読み取り可能な記録媒体を含むコンピュータプログラム製品を含んでいる。コンピュータ読み取り可能な記録媒体の例としては、フラッシュメモリ装置、ディスク型記録媒体（例えば、フロッピー（登録商標）ディスク、光ディスク、光磁気ディスク、ＤＶＤ、ＣＤ、マイクロドライブ（micro-drive）、および、その他のディスク型記録媒体）、ＲＯＭ、ＰＲＯＭ、ＥＰＲＯＭ、ＥＥＰＲＯＭ（登録商標）、ＲＡＭ、ＶＲＡＭ、ＤＲＡＭ、および、指令および/またはデータを記録するために適した媒体または装置などが挙げられるが、これらに限定されない。
【０２０２】
上記明細書において用いられた用語および表現は、あくまで説明のための用語として用いられているものであり、限定のためのものとして用いられているものではない。また、それらの用語および表現は、上述した特性若しくはその一部の等価性を排除するために用いられているものではない。本発明の範囲は、請求項によって定義され、また、請求項によってのみ限定されるものである。
【図１】
0005938119.tif 000018
【図２】
0005938119.tif 000019
【図３】
0005938119.tif 000020
【図４】
0005938119.tif 000021
【図５】
0005938119.tif 000022
【図６】
0005938119.tif 000023
【図７】
0005938119.tif 000024
【図８】
0005938119.tif 000025
【図９】
0005938119.tif 000026
【図１０】
0005938119.tif 000027
【図１１】
0005938119.tif 000028
【図１２】
0005938119.tif 000029
【図１３】
0005938119.tif 000030
【図１４】
0005938119.tif 000031
【図１５】
0005938119.tif 000032
【図１６】
0005938119.tif 000033
【図１７】
0005938119.tif 000034
【図１８】
0005938119.tif 000035
【図１９】
0005938119.tif 000036
【図２０】
0005938119.tif 000037
【図２１】
0005938119.tif 000038
【図２２】
0005938119.tif 000039
【図２３】
0005938119.tif 000040
【図２４】
0005938119.tif 000041
【図２５】
0005938119.tif 000042
【図２６】
0005938119.tif 000043
【図２７】
0005938119.tif 000044
【図２８】
0005938119.tif 000045
【図２９】
0005938119.tif 000046
【図３０】
0005938119.tif 000047
【図３１】
0005938119.tif 000048
【図３２】
0005938119.tif 000049
【図３３】
0005938119.tif 000050
【図３４】
0005938119.tif 000051