(57)【要約】  本開示は、サイクル整列フラグメント（ＣＡＦ）を利用するＦＧＳ映像符号化技術を記述している。この技術では、ＦＧＳ映像データブロック係数およびシンタックスエレメントのサイクルベース符号化を実行し、送信用のフラグメントにサイクルをカプセル化することができる。この開示に従って、各フラグメントのペイロードの先頭が前記サイクルの一つの先頭に実質的に一致するように前記フラグメントをサイクル整列することができる。このように、符号化サイクルは個々のフラグメントによって即座にアクセスすることができる。前記サイクルの少なくともいくつかは、ブロックの別の一つに移動する前にブロックの各々の内部の所定スキャン位置をスキャンするベクトルモードコマンドで制御されてもよい。このようにして、サイクルの数を減らすことができ、フラグメントの数および関連するオーバーヘッドを削減することができる。他のフラグメントの復号を待つことなく各フラグメントが即座にアクセスされ復号されるように、ＣＡＦは互いに独立してエントロピー符号化されてもよい。独立エントロピー符号化は、フラグメントの並列復号および同時処理を可能にする。
2009544196.tif 000002
【特許請求の範囲】
【請求項１】
微細粒度スケーラビリティ（ＦＧＳ）映像データブロックをサイクルに符号化すること；および
各フラグメントの先頭が前記サイクルの一つの先頭に実質的に一致するように前記サイクルを複数のフラグメントにカプセル化することを含む映像符号化方法。
【請求項２】
前記カプセル化することは、各フラグメントのペイロードの先頭が前記サイクルの一つの先頭に実質的に一致するように前記サイクルを複数のフラグメントにカプセル化することを含む請求項１記載の方法。
【請求項３】
前記ＦＧＳ映像データブロックは変換係数のブロックを含み、前記ＦＧＳ映像データブロックを符号化することは前記ＦＧＳ映像データブロックに関連する前記係数を符号化することを含む請求項１記載の方法。
【請求項４】
前記ＦＧＳ映像データブロックは変換係数のブロックを含み、前記サイクルの少なくともいくつかは、複数の前記ＦＧＳ映像データブロックに関連する変換係数にまたがる請求項１記載の方法。
【請求項５】
前記ＦＧＳ映像データブロックは映像データのプログレッシブ・リファインメント（ＰＲ）スライスに相当する請求項１記載の方法。
【請求項６】
前記フラグメントにエントロピー符号化を適用すること；および
前記フラグメントの各々の前記エントロピー符号化に関連する符号化コンテキストをリセットすることをさらに含む請求項１記載の方法。
【請求項７】
前記エントロピー符号化をリセットすることは、
前記フラグメントの各々がエントロピー符号化された後、前記エントロピー符号化に適用するエントロピー符号器をフラッシュすること；および
前記フラグメントの各々がエントロピー符号化された後、前記エントロピー符号化により用いられる符号化コンテキストをリセットすることを含む請求項６記載の方法。
【請求項８】
前記ブロックの別の一つに移動する前に前記ブロックの各々の内部の所定スキャン位置をスキャンするベクトルモードにより前記サイクルの一つ以上を制御することをさらに含む請求項１記載の方法。
【請求項９】
前記ベクトルモードを伝える情報を符号化することをさらに含む請求項８の方法。
【請求項１０】
前記サイクルの各々は一つ以上の前記ブロックにおけるジグザグ順序スキャンの少なくとも一部を表わす請求項１記載の方法。
【請求項１１】
微細粒度スケーラビリティ（ＦＧＳ）映像データブロックをサイクルに符号化するサイクルベース符号化モジュール；および
各フラグメントの先頭が前記サイクルの一つの先頭に実質的に一致するように前記サイクルを複数のフラグメントにカプセル化するフラグメントモジュールを含む映像符号器。
【請求項１２】
前記フラグメントモジュールは、各フラグメントのペイロードの先頭が前記サイクルの一つの先頭に実質的に一致するように前記サイクルを複数のフラグメントにカプセル化する請求項１１記載の符号器。
【請求項１３】
前記ＦＧＳ映像データブロックは変換係数のブロックを含み、前記サイクルベース符号化モジュールは前記ＦＧＳ映像データブロックに関連する前記係数を符号化する請求項１１記載の映像符号器。
【請求項１４】
前記ＦＧＳ映像データブロックは変換係数のブロックを含み、前記サイクルの少なくともいくつかは、複数のＦＧＳ映像データブロックに関連する変換係数にまたがる請求項１１記載の映像符号器。
【請求項１５】
前記ＦＧＳ映像データブロックは映像データのプログレッシブリファインメント（ＰＲ）スライスに相当する請求項１１記載の映像符号器。
【請求項１６】
前記フラグメントにエントロピー符号化を適用し、前記フラグメントの各々のエントロピー符号化に関連する符号化コンテキストをリセットするエントロピー符号器モジュールをさらに含む請求項１１の映像符号器。
【請求項１７】
前記エントロピー符号器モジュールは、前記エントロピー符号化をリセットするために、前記フラグメントの各々がエントロピー符号化された後、前記エントロピー符号化に適用するエントロピー符号器をフラッシュし、前記フラグメントの各々がエントロピー符号化された後、前記エントロピー符号化により用いられる符号化コンテキストをリセットする請求項１６記載の映像符号器。
【請求項１８】
前記サイクルベース符号化モジュールは、前記ブロックの別の一つに移動する前に前記ブロックの各々の内部の所定スキャン位置をスキャンするベクトルモードにより前記サイクルの各々を制御する請求項１１記載の映像符号器。
【請求項１９】
前記符号化モジュールは前記ベクトルモードを伝える情報を符号化する請求項１８記載の映像符号器。
【請求項２０】
前記サイクルの各々は一つ以上の前記ブロックにおけるジグザグ順序スキャンの少なくとも一部を表わす請求項１１記載の映像符号器。
【請求項２１】
微細粒度スケーラビリティ（ＦＧＳ）映像データブロックをサイクルに符号化するための手段；および
各フラグメントの先頭が前記サイクルの一つの先頭に実質的に一致するように前記サイクルを複数のフラグメントにカプセル化するための手段を含む映像符号器。
【請求項２２】
前記カプセル化手段は、各フラグメントのペイロードの先頭が前記サイクルの一つの先頭に実質的に一致するように前記サイクルを複数のフラグメントにカプセル化するための手段を含む請求項２１記載の映像符号器。
【請求項２３】
前記ＦＧＳ映像データブロックは変換係数のブロックを含み、前記ＦＧＳ映像データブロックを符号化するための前記手段は、前記ＦＧＳ映像データブロックに関連する前記係数を符号化するための手段を含む請求項２１記載の映像符号器。
【請求項２４】
前記ＦＧＳ映像データブロックは変換係数のブロックを含み、前記サイクルの少なくともいくつかは、複数の前記ＦＧＳ映像データブロックに関連する変換係数にまたがる請求項２１の映像符号器。
【請求項２５】
前記ＦＧＳ映像データブロックは映像データのプログレッシブリファインメント（ＰＲ）スライスに相当する請求項２１記載の映像符号器。
【請求項２６】
前記フラグメントにエントロピー符号化を適用するための手段；および
前記フラグメントの各々のエントロピー符号化に関連する符号化コンテキストをリセットするための手段をさらに含む請求項２１記載の映像符号器。
【請求項２７】
前記エントロピー符号化をリセットするための手段は、
前記フラグメントの各々がエントロピー符号化された後、前記エントロピー符号化に適用するエントロピー符号器をフラッシュのための手段；および
前記フラグメントの各々がエントロピー符号化された後、前記エントロピー符号化により用いられる符号化コンテキストをリセットのための手段を含む請求項２６記載の映像符号器。
【請求項２８】
前記ブロックの別の一つに移動する前に前記ブロックの各々の内部の所定スキャン位置をスキャンするベクトルモードにより前記サイクルの一つ以上を制御するための手段をさらに含む請求項２１の映像符号器。
【請求項２９】
前記ベクトルモードを伝える情報を符号化するための手段をさらに含む請求項２８記載の映像符号器。
【請求項３０】
前記サイクルの各々は一つ以上の前記ブロックにおけるジグザグ順序スキャンの少なくとも一部を表わす請求項２１記載の映像符号器。
【請求項３１】
実行時に、プロセッサに対し、
微細粒度スケーラビリティ（ＦＧＳ）映像データブロックをサイクルに符号化させ；および
各フラグメントの先頭が前記サイクルの一つの先頭に実質的に一致するように前記サイクルを複数のフラグメントにカプセル化させる命令を含むコンピュータ可読媒体。
【請求項３２】
前記命令は、前記プロセッサに対し、各フラグメントのペイロードの先頭が前記サイクルの一つの先頭に実質的に一致するように前記サイクルを複数のフラグメントにカプセル化させる請求項３１記載のコンピュータ可読媒体。
【請求項３３】
前記ＦＧＳ映像データブロックは変換係数のブロックを含み、
前記命令は、前記プロセッサに対し、前記ＦＧＳ映像データブロックに関連する前記係数を符号化させる請求項３１記載のコンピュータ可読媒体。
【請求項３４】
前記ＦＧＳ映像データブロックは変換係数のブロックを含み、
前記サイクルの少なくともいくつかは、複数の前記ＦＧＳ映像データブロックに関連する変換係数にまたがる請求項３１記載のコンピュータ可読媒体。
【請求項３５】
前記ＦＧＳ映像データブロックは映像データのプログレッシブリファインメント（ＰＲ）スライスに相当する請求項３１記載のコンピュータ可読媒体。
【請求項３６】
前記命令は、前記プロセッサに対し、
前記フラグメントにエントロピー符号化を適用させ；および
前記フラグメントの各々のエントロピー符号化に関連する符号化コンテキストをリセットさせる請求項３１記載のコンピュータ可読媒体。
【請求項３７】
前記命令は前記プロセッサに対し、
前記フラグメントの各々がエントロピー符号化された後、前記エントロピー符号化に適用するエントロピー符号器をフラッシュさせ；および
前記フラグメントの各々がエントロピー符号化された後、前記エントロピー符号化により用いられる符号化コンテキストをリセットさせる請求項３６記載のコンピュータ可読媒体。
【請求項３８】
前記命令は、前記プロセッサに対し、前記ブロックの別の一つに移動する前に前記ブロックの各々の内部の所定スキャン位置をスキャンするベクトルモードにより前記サイクルの一つ以上を制御させる請求項３１記載のコンピュータ可読媒体。
【請求項３９】
前記命令は、前記プロセッサに対し、前記ベクトルモードを伝える情報を符号化させる請求項３８記載のコンピュータ可読媒体。
【請求項４０】
前記サイクルの各々は一つ以上の前記ブロックにおけるジグザグ順序スキャンの少なくとも一部を表わす請求項３１記載のコンピュータ可読媒体。
【請求項４１】
微細粒度スケーラビリティ（ＦＧＳ）映像データブロックを符号化する符号化サイクルを含むフラグメントを受け取ること；および
少なくともいくつかの前記フラグメントの少なくとも一部を同時に復号することを含み、前記フラグメントの各々の先頭が前記サイクルの一つの先頭に実質的に一致する映像復号方法。
【請求項４２】
前記フラグメントの各々のペイロードの先頭が前記サイクルの一つの先頭に実質的に一致する請求項４１記載の方法。
【請求項４３】
前記サイクルはＦＧＳ映像データブロックに関連する変換係数を符号化する請求項４１記載の方法。
【請求項４４】
前記サイクルの少なくともいくつかは、複数の前記ＦＧＳ映像データブロックに関連する変換係数にまたがる請求項４１記載の方法。
【請求項４５】
前記ＦＧＳ映像データブロックは映像データのプログレッシブリファインメント（ＰＲ）スライスに相当する請求項４１記載の方法。
【請求項４６】
前記フラグメントの各々がエントロピー符号化された後、前記フラグメントの各々のエントロピー符号化に関連する符号化コンテキストがリセットされる請求項４１記載の方法。
【請求項４７】
前記サイクルの各々は一つ以上の前記ブロックにおけるジグザグ順序スキャンの少なくとも一部を表わす請求項４１記載の方法。
【請求項４８】
微細粒度スケーラビリティ（ＦＧＳ）映像データブロックを符号化する符号化サイクルを含むフラグメントを受け取り、少なくともいくつかの前記フラグメントの少なくとも一部を同時に復号するサイクルベース復号モジュールを含み、前記フラグメントの各々の先頭が前記サイクルの一つの先頭に実質的に一致する映像復号器。
【請求項４９】
前記フラグメントの各々のペイロードの先頭が前記サイクルの一つの先頭に実質的に一致する請求項４８記載の復号器。
【請求項５０】
前記サイクルはＦＧＳ映像データブロックに関連する変換係数を符号化する請求項４８記載の映像復号器。
【請求項５１】
前記サイクルの少なくともいくつかは、複数の前記ＦＧＳ映像データブロックに関連する符号化係数にまたがる請求項４８記載の映像復号器。
【請求項５２】
前記ＦＧＳ映像データブロックは映像データのプログレッシブリファインメント（ＰＲ）スライスに相当する請求項４８記載の映像復号器。
【請求項５３】
前記フラグメントの各々がエントロピー符号化された後、前記フラグメントの各々のエントロピー符号化に関連する符号化コンテキストがリセットされる請求項４８記載の映像復号器。
【請求項５４】
前記フラグメントの各々がエントロピー符号化された後、前記フラグメントの各々のエントロピー符号化に関連する符号化コンテキストがリセットされる請求項４８記載の映像復号器。
【請求項５５】
前記サイクルの各々は一つ以上の前記ブロックにおけるジグザグ順序スキャンの少なくとも一部を表わす請求項４８記載の映像復号器。
【請求項５６】
微細粒度スケーラビリティ（ＦＧＳ）映像データブロックを符号化する符号化サイクルを含むフラグメントを受け取るための手段；および
少なくともいくつかの前記フラグメントの少なくとも一部を同時に復号のための手段を含み、前記フラグメントの各々の先頭が前記サイクルの一つの先頭に実質的に一致する映像復号器。
【請求項５７】
前記フラグメントの各々のペイロードの先頭が前記サイクルの一つの先頭に実質的に一致する請求項５６記載の映像復号器。
【請求項５８】
前記サイクルはＦＧＳ映像データブロックに関連する変換係数を符号化する請求項５６記載の映像復号器。
【請求項５９】
前記サイクルの少なくともいくつかは、複数の前記ＦＧＳ映像データブロックに関連する変換係数にまたがる請求項５６記載の映像復号器。
【請求項６０】
前記ＦＧＳ映像データブロックは映像データのプログレッシブリファインメント（ＰＲ）スライスに相当する請求項５６記載の映像復号器。
【請求項６１】
前記フラグメントの各々がエントロピー符号化された後、前記フラグメントの各々のエントロピー符号化に関連する符号化コンテキストがリセットされる請求項５６記載の映像復号器。
【請求項６２】
前記サイクルの各々は一つ以上の前記ブロックにおけるジグザグ順序スキャンの少なくとも一部を表わす請求項５６記載の映像復号器。
【請求項６３】
プロセッサに対し、
微細粒度スケーラビリティ（ＦＧＳ）映像データブロックを符号化する符号化サイクルを含むフラグメントを受け取らせ；および
少なくともいくつかの前記フラグメントの少なくとも一部を同時に復号する命令を含み、前記フラグメントの各々の先頭が前記サイクルの一つの先頭に実質的に一致するコンピュータ可読媒体。
【請求項６４】
前記フラグメントの各々のペイロードの先頭が前記サイクルの一つの先頭に実質的に一致する請求項６３記載のコンピュータ可読媒体。
【請求項６５】
前記サイクルはＦＧＳ映像データブロックに関連する変換係数を符号化する請求項６３記載のコンピュータ可読媒体。
【請求項６６】
前記サイクルの少なくともいくつかは、複数の前記ＦＧＳ映像データブロックに関連する変換係数にまたがる請求項６３記載のコンピュータ可読媒体。
【請求項６７】
前記ＦＧＳ映像データブロックは映像データのプログレッシブリファインメント（ＰＲ）スライスに相当する請求項６３記載のコンピュータ可読媒体。
【請求項６８】
前記フラグメントの各々がエントロピー符号化された後、前記フラグメントの各々のエントロピー符号化に関連する符号化コンテキストがリセットされる請求項６３記載のコンピュータ可読媒体。
【請求項６９】
前記サイクルの各々は一つ以上の前記ブロックにおけるジグザグ順序スキャンの少なくとも一部を表わす請求項６３記載のコンピュータ可読媒体。
サイクル整列フラグメントを用いる微細粒度スケーラビリティを備えた映像符号化
【発明の詳細な説明】
【関連文献】
【０００１】
本出願は２００６年７月１３日提出の米国仮出願第６０／８３０，８９１号、２００６年１１月２２日提出の米国仮出願第６０／８６６，９９９号、および２００７年５月１１日提出の米国仮出願第６０／９１７，５４２号の優先権を主張し、その全体がここに参照導入される。
【技術分野】
【０００２】
本開示は映像符号化に関し、特にデジタル映像のスケーラブル符号化に関する。
【背景技術】
【０００３】
デジタル映像能力は、デジタルテレビ、デジタル直接衛星放送システム、無線通信装置、携帯情報端末（ＰＤＡ）、ラップトップコンピュータ、デスクトップコンピュータ、デジタルカメラ、デジタル記録デバイス、セル無線電話機あるいは衛星無線電話機等の広範囲のデバイスに組み入れることができる。デジタル映像デバイスは、モーション映像シーケンスを効率的に生成し、修正し、送信し、格納し、記録および再生する際に、従来のアナログ映像システムを超える著しい進歩を与える。
【０００４】
微細粒度スケーラビリティ（ＦＧＳ）は、一般に、与えられたビットレート範囲内での映像画質の適切なデグラデーションを実現するために映像ビットストリームを任意に切り詰める（ｔｒｕｎｃａｔｅする）能力のことをいう。ＦＧＳ符号化映像ビットストリームは、指定された画質のベースレイヤ、およびベースレイヤにリンクされる一つ以上のエンハンスメントレイヤを含む。エンハンスメントレイヤは、ベースレイヤの画質をリファインするために追加のデータを含んでいる。いっそう多くのＦＧＳビットストリームが一つ以上のエンハンスメントレイヤを通じて受け取られ、復号されるにつれて、復号された映像の画質は改善する。
【発明の概要】
【０００５】
概して、本開示は、サイクル整列フラグメント（ＣＡＦ）を利用するＦＧＳ映像符号化技術を対象とする。ＦＧＳ映像符号化技術により、ＦＧＳ映像データブロック係数およびシンタックスエレメントのサイクルベースの符号化を実行し、その結果生じる符号化サイクルをネットワーク抽象レイヤ（ＮＡＬ）ユニットのようなネットワーク送信ユニットによる送信用のフラグメントにカプセル化することができる。この開示に従って、各フラグメントの先頭が前記サイクルの一つの先頭に実質的に一致するように前記フラグメントをサイクル整列することができる。このように、符号化サイクルは個々のフラグメントによって即座にアクセスすることができる。
【０００６】
前記サイクルの各々は一つ以上の変換係数ブロックにおけるジグザグ順序スキャンの少なくとも一部を表わしてもよい。前記サイクルの少なくともいくつかは複数のブロックに関連する符号化係数にまたがってもよい。前記ＦＧＳ映像データブロックは、映像データのＦＧＳスライスの一部を形成してもよい。ある態様では、ＦＧＳスライスをプログレッシブリファインメント（ＰＲ）スライスとしてもよいが、この開示はその点に関して限定的ではない。前記サイクルの少なくともいくつかは、前記ブロックの別の一つに移動する前に前記ブロックの各々の内部の所定スキャン位置をスキャンするベクトルモードコマンドで制御されてもよい。このようにして、ブロックを横断するのに必要なサイクルの数を減らすことができ、その結果、フラグメントの数を減らし、オーバーヘッドを削減することができる。
【０００７】
複数フラグメントが同時に復号されるように個別の符号化コンテキストを用いることにより、フラグメントを互いに独立してエントロピー符号化してもよい。フラグメントの各々に用いられるエントロピー符号化は、フラグメントの各々が他のフラグメントと無関係にエントロピー符号化されるように、次のフラグメントをエントロピー符号化する前にリセットしてもよい。例えば、エントロピー符号器をフラッシュしてもよく、フラグメントの各々がエントロピー符号化された後、エントロピー符号器によって用いられる符号化コンテキストをリセットしてもよい。必要ならば、複数フラグメントを同時に復号できるように、フラグメントの独立エントロピー符号化が、並列復号、および異なるフラグメントおよびフラグメント内サイクルの独立処理を可能にしてもよい。
【０００８】
ある態様では、この開示は、微細粒度スケーラビリティ（ＦＧＳ）映像データブロックをサイクルに符号化すること、および各フラグメントの先頭が前記サイクルの一つの先頭に実質的に一致するように前記サイクルを複数のフラグメントにカプセル化することを含む映像符号化方法を提供する。
【０００９】
別の態様では、この開示は、微細粒度スケーラビリティ（ＦＧＳ）映像データブロックをサイクルに符号化するサイクルベース符号化モジュール、および各フラグメントの先頭が前記サイクルの一つの先頭に実質的に一致するように前記サイクルを複数のフラグメントにカプセル化するフラグメントモジュールを含む映像符号器を提供する。
【００１０】
さらに別の態様では、この開示は、微細粒度スケーラビリティ（ＦＧＳ）映像データブロックを符号化する符号化サイクルを含むフラグメントを受け取ること、および少なくともいくつかの前記フラグメントの少なくとも一部を同時に復号することを含み、前記フラグメントの各々の先頭が前記サイクルの一つの先頭に実質的に一致する映像復号方法を提供する。
【００１１】
さらに別の態様では、この開示は、微細粒度スケーラビリティ（ＦＧＳ）映像データブロックを符号化する符号化サイクルを含むフラグメントを受け取り、少なくともいくつかの前記フラグメントの少なくとも一部を同時に復号するサイクルベース復号モジュールを含み、前記フラグメントの各々の先頭が前記サイクルの一つの先頭に実質的に一致する映像復号器を提供する。
【００１２】
この開示に記述された技術は、ハードウェア、ソフトウェア、ファームウェアあるいはそれらの任意の組み合わせで実装してもよい。ソフトウェアで実装する場合、該ソフトウェアは、マイクロプロセッサまたはデジタル信号プロセッサ（ＤＳＰ）のような、一つ以上のプロセッサ内で実行することができる。この技術を達成するソフトウェアが、当初はコンピュータ可読媒体に格納され、プロセッサ内にロードされて実行されるようにしてもよい。従って、この開示は、本開示で説明されているような技術を実行する命令を含むコンピュータ可読媒体をも意図する。
【００１３】
この開示の一つ以上の態様の詳細は添付の図面および以下の説明の中で述べられる。この開示の他の特徴、目的および利点は、詳細な説明、図面、および請求項から明らかである。
【図面の簡単な説明】
【００１４】
【図１】図１は、映像符号化および復号システムを示すブロック図である。
【図２】図２は、映像ビットストリームのマルチレイヤＦＧＳ符号化を示す図である。
【図３】図３は、映像フレームのＦＧＳ符号化のためのブロック係数のジグザグスキャンを示す図である。
【図４】図４は、ジグザグスキャン順序で配置された映像ブロックのためのＦＧＳスライス内の係数のサイクルベース符号化の例を示す図である。
【図５】図５は、送信順に配置された映像ブロックのためのＦＧＳスライス内の係数のサイクルベース符号化の例を示す図である。
【図６】図６は、ネットワーク抽象レイヤ（ＮＡＬ）ユニットによる送信に関する通常のフラグメントへの符号化サイクルのカプセル化を示す図である。
【図７】図７は、ネットワーク抽象レイヤ（ＮＡＬ）ユニットによる送信に関するサイクル整列フラグメント（ＣＡＦ）への符号化サイクルのカプセル化を示す図である。
【図８】図８は、符号化サイクルをＣＡＦにカプセル化するＦＧＳスライス符号器を示すブロック図である。
【図９】図９は、ＣＡＦにカプセル化した符号化サイクルを復号するＦＧＳスライス復号器を示すブロック図である。
【図１０】図１０は、ＣＡＦへの符号化サイクルのカプセル化を示すフロー図である。
【図１１】図１１は、ＣＡＦへの符号化サイクルのカプセル化をより詳細に示すフロー図である。
【図１２】図１２は、ＣＡＦ内のサイクルの復号を示すフロー図である。
【図１３】図１３は、ＣＡＦ内のサイクルの復号をより詳細に示すフロー図である。
【図１４】図１４は、通常のフラグメントおよびＣＡＦについてのパケット誤りの影響を示す図である。
【発明を実施するための最良の形態】
【００１５】
概して、本開示は、サイクル整列フラグメント（ＣＡＦ）を利用するＦＧＳ映像符号化技術を対象とする。ＦＧＳ映像符号化技術により、ＦＧＳ映像データブロック係数およびシンタックスエレメントのサイクルベースの符号化を実行し、その結果生じる符号化サイクルをネットワーク抽象レイヤ（ＮＡＬ）ユニットのようなネットワーク送信ユニットによる送信用のフラグメントにカプセル化することができる。この開示に従って、各フラグメントの先頭が前記サイクルの一つの先頭に実質的に一致するように前記フラグメントをサイクル整列することができる。このように、符号化サイクルは個々のフラグメントによって即座にアクセスすることができる。
【００１６】
前記サイクルの各々は一つ以上の変換係数ブロックにおけるジグザグ順序スキャンの少なくとも一部を表わしてもよい。前記サイクルの少なくともいくつかは複数のブロックに関連する符号化係数にまたがってもよい。前記ＦＧＳ映像データブロックは、映像データのＦＧＳスライスの一部を形成してもよい。ある態様では、前記ＦＧＳスライスをプログレッシブリファインメント（ＰＲ）スライスとしてもよいが、この開示において記述される技術は、必ずしもＰＲスライスに限定されない。前記サイクルの少なくともいくつかは、前記ブロックの別の一つに移動する前に前記ブロックの各々の内部の所定スキャン位置をスキャンするベクトルモードコマンドで制御されてもよい。このようにして、ブロックを横断するのに必要なサイクルの数を減らすことができ、その結果、フラグメントの数を減らし、オーバーヘッドを削減することができる。
【００１７】
他のフラグメントの復号が完了しなくても、あるフラグメントを復号できるような方法でフラグメントをエントロピー符号化してもよい。場合によって必要ならば、複数フラグメントを同時に復号してもよい。一例として、フラグメントの各々に用いられるエントロピー符号化は、フラグメントの各々が、他のフラグメントのエントロピー符号化コンテキストに依存しないエントロピー符号化コンテキストを持つように次のフラグメントをエントロピー符号化する前にリセットしてもよい。例えば、エントロピー符号器をフラッシュしてもよく、フラグメントの各々がエントロピー符号化された後、エントロピー符号器によって用いられる符号化コンテキストをリセットしてもよい。フラグメントの独立エントロピー符号化は並列復号を可能にし、異なるフラグメントおよびフラグメント内サイクルの処理を可能にする。従って、少なくともいくつかのフラグメントの少なくとも一部は（例えば、同時期にまたは他のフラグメントの復号の完了を待つことなく）同時に復号することができる。
【００１８】
いくつかのフラグメントは、互いが完全には独立していないかもしれない。例えば、もしブロックＡがフラグメント０に完全に復号されていれば、他のフラグメントにおいてブロックＡに関して復号される情報はないだろう。この場合、後のフラグメント１内のブロックＡのための情報の復号が、同ブロックのためのフラグメント０の復号する結果に左右されることがある。しかしながら、他の符号化コンテキストの独立を維持するようにしてもよい。例えば、フラグメント１の復号は、フラグメント１が復号される前にフラグメント０が完全に復号されるか、フラグメント０とフラグメント１が同時に復号されるかどうかによらず変わらない。従って、少なくともいくつかのフラグメントが少なくとも他のフラグメントの部分と同時に復号されてもよい。その結果、他のフラグメントの復号の完了を待つことは必要ではない。代わりに、上述したように、少なくともいくつかのフラグメントを、例えば他のフラグメントの復号の完了を待つことなく、他のフラグメントの少なくとも一部分の復号と平行して同時期に復号してもよい。
【００１９】
図１は映像符号化および復号システム１０を示すブロック図である。図１に示されるように、システム１０は送信チャンネル１６を通じてデスティネーションデバイス１４に符号化された映像を送信するソースデバイス１２を含んでいる。ソースデバイス１２は映像ソースデバイス１８および映像符号器２０を含んでいてもよい。デスティネーションデバイス１４は映像復号器２２および映像ディスプレイデバイス２４を含んでいてもよい。送信チャンネル１６は、有線または無線の通信媒体、有線または無線の媒体の任意の組み合わせであってもよい。ソースデバイス１２は、デスティネーションデバイス１４に送信するための映像を生成する。しかしながら、場合によってはデバイス１２および１４が実質的に対称的な態様で動作してもよい。例えば、各々のデバイス１２および１４が映像符号化および復号コンポーネントを含んでいてもよい。従って、システム１０が、映像デバイス１２、１４の間で例えば映像のストリーミング、映像放送あるいはテレビ電話のための一方向または二方向の映像伝送をサポートしてもよい。
【００２０】
映像ソース１８は、一つ以上のビデオカメラのようなビデオキャプチャーデバイス、前もってキャプチャーされた映像を含んでいる映像アーカイブ、あるいは映像コンテンツプロバイダーから供給されたライブ映像を含んでいてもよい。さらなる代替案として、映像ソース１８はソース映像としてのコンピュータグラフィックスベースのデータ、あるいはライブ映像とコンピュータ生成映像の組み合わせを生成してもよい。いずれの場合にも、キャプチャーされ、あるいは事前キャプチャーされるか、またはコンピュータで生成された映像は、送信チャンネル１６を通じて映像ソースデバイス１２から映像デスティネーションデバイス１４に送信するために映像符号器２０によって符号化される。ディスプレイデバイス２４は、液晶表示装置（ＬＣＤ）、プラズマディスプレイ表示装置、あるいは有機発光ダイオード（ＯＬＥＤ）ディスプレイのような様々なディスプレイ装置のうちの何かを含んでいてもよい。
【００２１】
映像符号器２０および映像復号器２２は、微細粒度の信号対雑音比（ＳＮＲ）スケーラビリティ（ＦＧＳ）映像符号化をサポートするように構成される。例えば、符号器２０および復号器２６は、ＦＧＳフォーマットによるスケーラブルエンハンスメントレイヤの符号化、送信、および復号をサポートすることにより、様々な度合いのスケーラビリティをサポートすることができる。スケーラブル符号化のために、ベースレイヤは最低画質レベルで映像データを運ぶ。より高い画質レベルをサポートするために一つ以上のエンハンスメントレイヤが付加的なビットストリームを運ぶ。従って信号対雑音比（ＳＮＲ）スケーラビリティをサポートするためにエンハンスメントレイヤ情報が提供されてもよい。さらに場合によっては、一つ以上のエンハンスメントレイヤによって運ばれた付加的なビットストリームがさらに高い空間スケーラビリティおよび／または一時的に高いスケーラビリティをサポートしてもよい。
【００２２】
映像符号器２０および映像復号器２６は、ＭＰＥＧ２、ＭＰＥＧ−４、ＩＴＵ−Ｔ  Ｈ．２６３、またはＩＴＵ−Ｔ  Ｈ．２６４／ＭＰＥＧ−４アドバンスト映像符号化（ＡＶＣ）のような画像圧縮標準によって動作してもよい。特に、映像符号器２０および映像復号器２６は、スケーラブル映像符号化（ＳＶＣ）のために、そのような標準の拡張を実装するように構成してもよい。図１には示さないが、いくつかの態様では、映像符号器２０および映像復号器２２は、それぞれ音声符号器および復号器と統合してもよく、共通のデータストリームまたは個別のデータストリーム内の音声および映像の両者の符号化を処理するために、適合するＭＵＸ−ＤＥＭＵＸユニットあるいは他のハードウェアおよびソフトウェアを含んでもよい。妥当な場合、ＭＵＸ−ＤＥＭＵＸユニットは、ＩＴＵ  Ｈ．２２３マルチプレクサープロトコル、あるいはユーザーデータグラムプロトコル（ＵＤＰ）のような他のプロトコルに準拠してもよい。
【００２３】
Ｈ．２６４／ＭＰＥＧ−４（ＡＶＣ）標準はＩＳＯ／ＩＥＣのムービングピクチャーエキスパートグループ（ＭＰＥＧ）と共にＩＴＵ−Ｔの映像符号化エキスパートグループ（ＶＣＥＧ）により、共同映像チーム（ＪＶＴ）として知られる共同パートナーシップの成果として策定された。ある態様では、この開示に記述された技術は、その他の点ではＨ．２６４標準に準拠するデバイス向けに低複雑度映像スケーラビリティ拡張をインプリメントするために適用することができる。例えば、映像スケーラビリティ拡張は、他の標準またはＨ．２６４標準の将来のバージョンまたは拡張のための潜在的な修正を意味してもよい。Ｈ．２６４標準は、ＩＴＵ−Ｔ研究会による２００５年３月付のＩＴＵ−Ｔ勧告Ｈ．２６４総括的な視聴覚サービスのための高度な映像符号化に記載されており、ここでは、Ｈ．２６４標準、Ｈ．２６４規格、Ｈ．２６４／ＡＶＣ標準、または標準または規格と称する。
【００２４】
共同映像チーム（ＪＶＴ）は、Ｈ．２６４／ＭＰＥＧ−４  ＡＶＣに対するスケーラブル映像符号化（ＳＶＣ）拡張への取り組みを続けている。Ｈ．２６４／ＭＰＥＧ−４ＡＶＣおよび発展するＳＶＣ拡張の両者の規格は共同ドラフト（ＪＤ）形式である。ＪＶＴによって作成された共同スケーラブル映像モデル（ＪＳＶＭ）は、スケーラブル映像での使用のためのツールを実装しており、この開示に記述された様々な符号化タスクのためにシステム１０内で用いられてもよい。微細粒度ＳＮＲスケーラビリティ（ＦＧＳ）符号化システムの一つの例に関する詳細情報は、共同ドラフト文書、特に共同ドラフト６（ＪＤ６），Ｔｈｏｍａｓ  Ｗｉｅｇａｎｄ，Ｇａｒｙ  Ｓｕｌｌｉｖａｎ，Ｊｕｌｉｅｎ  Ｒｅｉｃｈｅｌ，Ｈｅｉｋｏ  Ｓｃｈｗａｒｚ，  ａｎｄ  Ｍａｔｈｉａｓ  Ｗｉｅｎ，”Ｊｏｉｎｔ  Ｄｒａｆｔ  ６：Ｓｃａｌａｂｌｅ  Ｖｉｄｅｏ  Ｃｏｄｉｎｇ，”ＪＶＴ−Ｓ  ２０１，Ｊｏｉｎｔ  Ｖｉｄｅｏ  Ｔｅａｍ  （ＪＶＴ）  ｏｆ  ＩＳＯ／ＩＥＣ  ＭＰＥＧ  ａｎｄ  ＩＴＵ−Ｔ  ＶＣＥＧ，Ａｐｒｉｌ  ２００６，Ｇｅｎｅｖａ）、および共同ドラフト９（ＳＶＣ  ＪＤ９），Ｔｈｏｍａｓ  Ｗｉｅｇａｎｄ，Ｇａｒｙ  Ｓｕｌｌｉｖａｎ，Ｊｕｌｉｅｎ  Ｒｅｉｃｈｅｌ，Ｈｅｉｋｏ  Ｓｃｈｗａｒｚ，ａｎｄ  Ｍａｔｈｉａｓ  Ｗｉｅｎ，”Ｊｏｉｎｔ  Ｄｒａｆｔ  ９  ｏｆ  ＳＶＣ  Ａｍｅｎｄｍｅｎｔ，”ＪＶＴ−Ｖ  ２０１，Ｊｏｉｎｔ  Ｖｉｄｅｏ  Ｔｅａｍ  （ＪＶＴ）  ｏｆ  ＩＳＯ／ＩＥＣ  ＭＰＥＧ  ａｎｄ  ＩＴＵ−Ｔ  ＶＣＥＧ，Ｊａｎｕａｒｙ  ２００７，Ｍａｒｒａｋｅｃｈ，  Ｍｏｒｏｃｃｏで見つかる。
【００２５】
例えば、Ｈ．２６４／ＭＰＥＧ−４  ＡＶＣ標準に対するＳＶＣ拡張のＪＤ文書に従って、映像符号器２０がＦＧＳスライスを生成するように構成してもよい。ある態様では、ＦＧＳスライスはプログレッシブ・リファインメント（ＰＲ）スライスであってもよい。ＦＧＳスライスは、ほぼ任意に切り詰めることができる。映像復号器２２がＦＧＳスライスからより多くのビットを受け取って復号するにつれて、より良い画質を生成することができる。ＪＳＶＭにおけるＦＧＳ符号化は、フレームのある空間領域内のみへの集中とは対照的に、映像画質における改良は映像フレーム全体を横切って平等に広げられるという意味で設計された。ＦＧＳスライスの符号化および復号する際の複雑さは、計算およびメモリ要求の点から高くなりえる。さらに、ＦＧＳスライスの復号処理はＪＤ文書で規定されるように複雑になりえる。
【００２６】
映像放送向けのある態様では、この開示は、技術標準ＴＩＡ−１０９９（「ＦＬＯ規格」）として公表されるフォワードリンクオンリー（ＦＬＯ）エアーインターフェース規格「Ｆｏｒｗａｒｄ  Ｌｉｎｋ  Ｏｎｌｙ  Ａｉｒ  Ｉｎｔｅｒｆａｃｅ  Ｓｐｅｃｉｆｉｃａｔｉｏｎ  ｆｏｒ  Ｔｅｒｒｅｓｔｒｉａｌ  Ｍｏｂｉｌｅ  Ｍｕｌｔｉｍｅｄｉａ  Ｍｕｌｔｉｃａｓｔ」を用いるテレストリアルモバイルマルチメディアマルチキャスト（ＴＭ３）システムにおいてリアルタイム映像サービスを提供するためのエンハンストＨ．２６４映像符号化への応用を意図する。ＦＬＯ規格は、ビットストリームシンタックスおよびセマンティックスの定義例、およびＦＬＯエアーインターフェースに適した復号処理を含んでいる。あるいは、ＤＶＢ−Ｈ（デジタル映像ブロードキャスト携帯機器）、ＩＳＤＢ−Ｔ（統合サービスデジタルブロードキャスト−テレストリアル）、あるいはＤＭＢ（デジタル媒体ブロードキャスト）のような他の標準に従って映像が放送されてもよい。従って、ソースデバイス１２は、モバイルの無線電話、映像ストリーミングサーバあるいは映像ブロードキャストサーバーのようなモバイル無線端末であってもよい。しかしながら、この開示に記述された技術は、任意の特別のタイプのブロードキャスト、マルチキャストまたはポイント・ツー・ポイント方式に限定されない。
【００２７】
映像符号器２０および映像復号器２２の各々は一つ以上のマイクロプロセッサ、デジタル信号プロセッサ、特定用途向け集積回路（ＡＳＩＣ）、フィールドプログラム可能なゲートアレイ（ＦＰＧＡ）、ディスクリートロジック、ソフトウェア、ハードウェア、ファームウェアまたはそれらの任意の組み合わせとして実装してもよい。各々の映像符号器２０および映像復号器２２は１台以上の符号器または復号器に含まれていてもよく、そのいずれかが加入者装置、放送装置、サーバーなどにおいて結合型符号器／復号器（ＣＯＤＥＣ）の一部として統合されてもよい。さらに映像ソースデバイス１２および映像デスティネーションデバイス１４の各々が、適合する変調、復調、周波数変換、フィルタリング、および符号化映像の送信および受信用のアンプコンポーネントを含み、適用可能なラジオ周波数（ＲＦ）無線コンポーネントおよびアンテナを含んでもよい。しかしながら、図の簡単化のために、そのようなコンポーネントは図１には示さない。
【００２８】
映像シーケンスは一連の映像フレームを含んでいる。映像符号器２０は映像データを符号化するために個々の映像フレーム内のピクセルのブロックに対して作用する。映像ブロックは固定サイズまたは可変サイズであり、指定された符号化標準に従ってサイズが異なってもよい。一例として、ＩＴＵ−Ｔ  Ｈ．２６４標準は、ルマ成分および彩度成分のための対応するスケールドサイズに関して１６×１６、１６×８、８×１６、８×８、８×４、４×８、４×４のような様々なブロックサイズにおけるインター予測と同様に、ルマ成分に関して１６×１６、８×８、４×４、彩度成分に関して８ｘ８のように様々なブロックサイズにおけるイントラ予測をサポートする。より小さな映像ブロックは、よりよい解像度を提供することができ、より高レベルの詳細を含んでいる映像フレームのロケーションに用いられてもよい。予測の後、８ｘ８の残余ブロックまたは４ｘ４の残余ブロックで変換を実行してもよく、ｉｎｔｒａ＿１６ｘ１６予測モードが用いられる場合、付加的な変換を、彩度成分またはルマ成分に関して４ｘ４ブロックのＤＣ係数に適用してもよい。
【００２９】
図２は、映像ビットストリームのマルチレイヤＦＧＳ符号化を示す図である。図２に示されるように、映像ビットストリームのＦＧＳ符号化は、ベースレイヤ３０および１以上のエンハンスメントレイヤ３２Ａ−３２Ｎ（レイヤ３２と総称する）で起こる。ベースレイヤ３０は、与えられたビットレートについて、最低画質レベルで映像ビットストリームを符号化する一連のフレーム３４Ａ−３４Ｎを含んでいる。各々のエンハンスメントレイヤ３２は、ベースレイヤ３０によって提供される初期の画質を徐々に高めるために復号器２６によって用いられる付加的な映像ビットストリーム情報を提供する。映像復号器２２によって処理されるエンハンスメントレイヤ３２の数は、ソースデバイス１２によって送信され、デスティネーションデバイス１４によって受け取られたエンハンスメントレイヤの数、例えば与えられたチャンネル条件、他の制限に依存する。
【００３０】
概して、復号器２２によって処理される各それぞれのエンハンスメントレイヤ３２Ａ−３２Ｎ（すなわちその部分）は、この開示に従って、ベースレイヤ３０から得られた映像の画質をＳＮＲの点で漸増的に増す。またエンハンスメントレイヤ３２Ａ−３２Ｎは、空間および／または時間のスケーラビリティに関して利用されてもよい。個別のエンハンスメントレイヤとしてその全体における各エンハンスメントレイヤ３２Ａ−３２Ｎを処理する代わりに、システム１０は、一般化されたＦＧＳアプローチを用いて、スケーラビリティエンハンスメントレイヤが符号化され、送信され、処理されることを許容する。このように、ＳＮＲは微細粒度で計ることができ、エンハンスメントレイヤの部分的な復号により絶え間ない品質改善を提供する。復号されにつれて徐々に向上する画質をレイヤが提示するという意味では、エンハンスメントレイヤ３２Ａ−３２Ｎを階層的としてもよい。例えばすべてのエンハンスメントレイヤを復号することで最高画質が生成され、最初のエンハンスメントレイヤのみを復号すると、ベースレイヤのみの復号と比較して、インクメンタルに増加する画質が生成される。
【００３１】
図３は、映像フレームのＦＧＳ符号化のためのブロック４６Ａ−４６Ｃにおけるブロック係数のジグザグスキャンを示す図である。ＰＲスライスのようなＳＶＣのＦＧＳスライスは、変換係数のブロックベースの符号化に代わるサイクルベース符号化を用いて生成してもよい。ブロックを超えるサイクルベース符号化は、映像フレーム内のＳＮＲエンハンスメントの空間集中を低減する。各サイクルにおいて、ＦＧＳ構成の映像符号器２０は、変換係数のブロック内で高々一つの非ゼロ係数を符号化し、次のブロックに移動する。図３および図４に示されるように、サイクル０において、映像符号器２０はまず最初のブロック４６Ａ（つまりブロック０）において符号化ブロックフラグ（ＣＢＦ）を符号化する。ブロック０が非ゼロ有意係数を含んでいる場合、映像符号器２０は、図３に示されたジグザグスキャン順序内の最初の有意係数を符号化し終えるまで、同じブロックからの一つ以上の係数を符号化する。このプロセスは、例えば映像フレームまたは映像フレーム部分内のすべてのブロックがスキャンされるまで継続する。映像符号器２０は次の符号化サイクルすなわちサイクル１に入る。あるサイクルのスキャン位置の係数がリファインメント係数である場合、映像符号器２０はそのリファインメント係数だけを符号化し、次のブロックに移動する。
【００３２】
図３の例では、ブロック４６Ａ、４６Ｂおよび４６Ｃは、映像フレームのエンハンスメントレイヤＦＧＳスライス内の最初の３つのブロックであると仮定している。この例では、各ブロック４６Ａ、４６Ｂ、４６Ｃは変換係数の４×４ブロックとして表されている。ブロック４６Ａ、４６Ｂおよび４６Ｃは変換領域内に描かれている。従ってブロック４６Ａ、４６Ｂ、４６Ｃ内の各数または各変数は、損失がないエントロピー符号化プロセスによって符号化される量子化係数である。文字「ｓ」から始まるラベル付の係数は、例えばブロック４６Ａ内の参照数字４１によって示すように、非ゼロ有意係数である。このブロック４６Ａが、ＦＧＳ  ＳＮＲスケーラビリティエンハンスメントレイヤにあることから、ブロック内の各係数に関して、ベースレイヤにおいて対応する係数がある。
【００３３】
非ゼロ有意係数については、その値は非ゼロであり、それに対応するベースレイヤ係数はゼロである。例えば、係数「Ｓ０，１」はジグザグスキャンインデックス「１」でのブロック「０」における非ゼロ有意係数に相当する。「０」とラベルされた係数はゼロ係数であり、それに対応するベースレイヤ係数もまたゼロである。例えば、ブロック４６Ａ内の参照数字４３によって示すように文字「Ｒ，」で始まるラベル付の係数は、非ゼロすなわち有意である、対応するベースレイヤ係数を伴うリファインメント係数である。リファインメント係数の値はゼロまたは非ゼロのいずれかとなりえる。例えば、参照数字４３によって示すように係数「Ｒ２，２」は、ジグザグスキャンインデックス「２」のブロック「２」におけるリファインメント係数である。エンハンスメントレイヤＦＧＳスライス係数を分類する際に、有意性マップがしばしば用いられる。このマップは、既にベースレイヤにおいて有意になった係数の位置を示す。エンハンスメントレイヤ内のこれらの位置での係数はリファインメント係数である。
【００３４】
映像符号器２０はここに記載のとおり、例えばＩＴＵ−Ｔ  Ｈ．２６４標準で意図されたエントロピー符号器のように、ベースレイヤの符号化に用いられるエントロピー符号器に拡張を与える。特に、エンハンスメントレイヤにおいて映像符号器２０によって利用されるブロックの分割、変換、量子化は、ベースレイヤにおいて利用されるものと類似する。ゼロをより効率的に符号化するために、符号化ブロックフラグ（ＣＢＦ）および終了ブロック（ＥＯＢ）のようなシンタックスエレメントを用いることができる。また類似したシンタックスエレメントがベースレイヤ符号化において用いられる。ＣＢＦは、各ブロックに関して一度送られ、ブロック内の非ゼロ有意係数の存在を示す。ＣＢＦが０である場合には非ゼロ有意係数はなく、そうでない場合には少なくとも一つの非ゼロ有意係数がある。ＥＯＢフラグは、今まさに符号化された非ゼロ有意係数がスキャン順序内の最後の非ゼロ有意係数であるかどうかを示すために用いられる。
【００３５】
映像符号器２０によるベースレイヤ符号化とエンハンスメントレイヤ符号化の違いの一つは、ＦＧＳレイヤ内の他の係数および符号化順序からリファインメント係数を分離する点にある。ある態様では、映像符号器２０は個別のベースレイヤ符号化モジュールおよびエンハンスメントレイヤ符号化モジュールを含んでいてもよい。ベースレイヤでは、次のブロックが符号化される前に、ブロックは完全に符号化され、ブロックベース符号化を提供する。しかしながら、エンハンスメントレイヤ符号化については、異なるブロックからの係数はサイクルにおいて互いにインターリーブされ、サイクルベース符号化を提供する。上述したように、各サイクルにおいては、与えられたブロックからのいくつかの係数のみが符号化される。またこのように、映像符号器２０は、映像画質の改善は、ひとたびビットストリームを切り詰めると、より空間的に均一になることを保証する。
【００３６】
図４は、ジグザグスキャン順序で配置された映像ブロック４６Ａ−４６ＣのためのＦＧＳスライス内の係数およびシンタックスエレメントのサイクルベース符号化の一例を示す図である。この開示のある態様では、ＦＧＳスライスをＰＲスライスとしてもよいが、この開示に記述された技術は、ＰＲスライスへの応用に限定されない。図５は、送信順に配置された映像ブロックのためのＦＧＳスライス内の係数およびシンタックスエレメントのサイクルベース符号化の例を示す図である。図５は、サイクルに符号化されたシンタックスエレメントおよび係数が同じライン上で配置されるようにした図４の再配置を表わす。各係数は図４および５において箱によって表わされる。図４および図５の例では、単一サイクルにおける所与のブロックに関して高々一つの非ゼロ係数が符号化され、サイクルインデックスはジグザグスキャンインデックスと偶然同じである。ＦＧＳの異なるインプリメンテーションでは、非ゼロ係数をサイクルに符号化しなければならないことは必要とされない。また、有意係数と同じようにリファインメント係数を扱ってもよい。
【００３７】
図４に示すように、サイクル０に関して、ＣＢＦ（ＣＢＦ０，ＣＢＦ１，ＣＢＦ２）は、各ブロック４６Ａ，４６Ｂ，４６Ｂについて一度送られ、非ゼロ有意係数がブロック内にあることを示す。例えば、ＣＢＦ０／１は最初のブロック０に相当し、ブロック内に非ゼロ有意係数があることを示す。さらに、ブロック０からのゼロ係数「０」および非ゼロ係数「Ｓ０，１」（ジグザグスキャンインデックス「１」のブロック「０」内の非ゼロ有意係数に対応する）は、サイクル０に送られる。しかしながら、ＣＢＦ１／０は第２のブロック（ブロック１）に対応し、そのブロックには非ゼロ有意係数がないことを示す。従って、続くサイクルにおいてブロック１のために送られる係数はない。サイクル０はさらにＣＢＦ２／１を含み、ブロック２が非ゼロ有意係数Ｓ２，０を含んでいることを示し、および係数Ｓ２，０それ自体を含む。
【００３８】
サイクル１はブロック２に関してＥＯＢフラグ（ＥＯＢ２／０）を含み、サイクル０にちょうど符号化した非ゼロ有意係数すなわちＳ２，０は、スキャン順序における最後の非ゼロ有意係数ではないことを示す。残りのサイクルの間、ブロックの符号化は、スキャンジグザグ順序に従い続け、必要に応じてＣＢＦとＥＯＢのようなシンタックスエレメントを含む。そのプロセスはジグザグスキャン順にサイクル２−１５について継続する。ただし、サイクルはそれぞれ図４内の一つの矢遷移に対応する。図３、図４および図５の例は、図示のための映像フレームのエンハンスメントレイヤ内の最初の３つの４ｘ４ブロックに関係する。しかしながら、図４−図６に示した一般スキームは、映像フレームまたは映像フレーム部分内をまたがる多数のブロックと同様に、より大きなサイズのブロックに適用してもよい。
【００３９】
ＦＧＳスライスを符号化および復号する際の複雑さは、計算およびメモリ要求の点から高くなりえる。さらに、ＦＧＳスライスのための復号処理はＪＤ文書で規定されるように、複雑なものとなり得る。例えば、ＦＧＳスライスのＦＧＳ符号化は、前の符号化サイクルで各ブロックにおいて符号化された最後の係数の位置のような、中間の符号化状態情報を格納する大量のメモリを要するかも知れない。また、サイクルベース符号化プロセスの間、映像符号器２０がブロックを横切ってしばしばジャンプするのでＦＧＳ符号化が大量のメモリアクセスを要することがある。サブバンド順に係数を格納するのが効率的かもしれない。この場合、同じ周波数帯の係数を隣接して格納することができる。しかしながら、サブバンド順に係数を格納することはブロック変換と互換性がないかもしれず、異なる周波数の係数にアクセスするかも知れない。
【００４０】
異なるサイクルからのビットストリームに直接アクセスできるならば、ブロックを完全に復号した後、続いて、ベースレイヤにおけるブロックベース処理に類似する方法で処理できる。従って、異なるサイクルからのビットストリームを即座にアクセスする能力はＦＧＳスライス符号化プロセスの複雑さの軽減に有用である。この開示の典型的な態様に従って、映像符号器２０は、ＦＧＳ映像データブロック係数のサイクルベース符号化を実行し、ネットワーク抽象レイヤ（ＮＡＬ）ユニットのようなネットワーク送信ユニットを通じた送信のために、生じた符号化サイクルをフラグメント内にカプセル化するように構成してもよい。異なるサイクルからのビットストリームへの即座のアクセスを許容するために、この開示に従って、各フラグメントの先頭がサイクルの一つの先頭に実質的に一致するようにフラグメントをサイクル整列してもよい。このようにして、個々の符号化サイクルに関連するビットストリームは該フラグメントを通じて即座にアクセスすることができる。
【００４１】
Ｈ．２６４／ＭＰＥＧ−４  ＡＶＣ標準に対するＳＶＣ拡張の共同ドラフトは、部分的なＦＧＳレイヤを収容する「フラグメント」と呼ばれるデータユニットを定義する。フラグメントは、不用なＦＧＳストリームをカプセル化する手段として用いてもよい。符号化側では、例えば、映像符号器２０は、通常のＦＧＳ符号化プロセスを起動して一つのＦＧＳレイヤのビットストリームを生成することができる。ＦＧＳレイヤビットストリームが生成された後、映像符号器２０はビットストリームフラグメンテーションを適用することができる。復号側では、復号器２２は、あたかもビットストリームがフラグメントされなかったかのように、隣接したフラグメントを連結し、その結合ビットストリームを復号する。従って、普通、一つのフラグメントを処理するには、前のフラグメントの処理が完成していることが要求される。言いかえれば、通常のフラグメントは同時に復号することができない。代わりに、それらは復号に先だって連結されなれければならない。
【００４２】
この開示に従って、フラグメントは特定のＦＧＳ符号化サイクルに関連するビットストリーム部分へのダイレクトアクセスを提供するために修正され利用されてもよい。特に、符号化ビットストリームを一連のフラグメントに任意にカプセル化することに代えて、映像符号器２０は、フラグメント処理を制御し、フラグメントがＦＧＳ符号化サイクルとそろうようにする。整列（アライメント）とは、概して、フラグメントの先頭がサイクルのうちの一つの先頭と実質的に一致するように、フラグメントを形成することをいう。このように、サイクルに関連するビットストリームの先頭を、フラグメントの先頭を識別することによりアクセスすることができる。フラグメントは、フラグメントのペイロードに先行するヘッダーを含んでいてもよい。該ヘッダーは、フラグメントを識別する情報のような管理上の情報を伝えてもよい。フラグメントのペイロードは、概してフラグメントのコンテンツ部分のことをいい、符号化サイクルデータを運び、ヘッダー情報によって先行される。この開示の種々の態様に従って、各フラグメントの先頭がサイクルの一つの先頭に実質的に一致するように、サイクルを複数のフラグメントにカプセル化してもよい。従って、実質的な一致とは、各フラグメントの例えばヘッダー情報に続くペイロードの先頭が、サイクルのうちの一つの先頭と実質的に一致するようなカプセル化のことをいう。概して、ヘッダー情報の有無にかかわらず、それぞれのフラグメントを通じて符号化サイクルが即座にアクセスされるように、各フラグメントの先頭をサイクルの先頭に実質的に揃えてもよく、これにより少なくともいくつかのフラグメントの少なくとも一部の同時復号が可能になる。
【００４３】
サイクル整列フラグメント（ＣＡＦ）は、フラグメントの先頭がビットストリーム内の任意の未知点に対応してもよい通常のフラグメントとは異なる。代わりに、実質的にフラグメントの先頭でビットストリームの先頭にアクセスすることができるように、ＣＡＦはサイクルに揃えられる。さらにいくつかの態様において、連続フラグメントの部分に広げられるのではなく、サイクルがそれぞれ単一のフラグメント（場合により他のサイクルと共に）内に含まれるように、映像符号器２０がフラグメントを制御してもよい。ＣＡＦの生成は処理の複雑さを減らし、連続フラグメントの順次処理に代わる、連続フラグメントの並列処理を可能にする。
【００４４】
前のフラグメントの復号が終了するのを待たずに、サイクル整列フラグメント（ＣＡＦ）を復号することを可能にするために、映像符号器２０は、前のフラグメントが復号された後にだけ利用可能な情報を使用せずに、各ＣＡＦを符号化することができる。例えば、最初のフラグメントを終了した後、映像復号器２０は、フラグメントのエントロピー符号化に用いられるエントロピー符号器をフラッシュしてもよい。さらに、映像符号器２０は、次のフラグメントが符号化される前に、エントロピー符号化に関連する符号化コンテキストをリセットしてもよい。符号化コンテキストをリセットしエントロピー復号器をフラッシュすることによって、映像コーダー２０は、即座にアクセスすることができ、他のフラグメントの復号を待つことなく復号することができるＣＡＦを生成し、これによりＣＡＦの並列同時処理が可能である。例えば、一つのＣＡＦの復号を、別のＣＡＦの少なくとも一つの部分の復号と同時期に実行できるという意味において、復号を同時にすることができる。このように、前のフラグメントの復号の完了を待たずに、ＣＡＦを復号することができる。これは、通常は復号に先だって組み立て直される通常のフラグメントとは対照的である。
【００４５】
映像符号器２０は、コンテキスト適応可変長符号化（ＣＡＶＬＣ）として、またはコンテキスト適応バイナリ適応符号化（ＣＡＢＡＣ）としてエントロピー符号化を実装してもよい。通常のフラグメントと比較して、ＣＡＦは、フラッシュ動作およびエントロピー符号化に関連する符号化コンテキストのリセットによるいくらかのオーバーヘッドを示すかも知れない。ＣＡＶＬＣは単にフラッシュ動作によって影響され、平均してほぼ２分の１バイトの付加的なオーバーヘッドを生ずる。ＣＡＢＡＣについては、ＣＡＦは符号化コンテキストのリセットに起因する付加的なペナルティーを示す。付加的なＮＡＬヘッダーおよびフラグメントヘッダーに要するオーバーヘッドは、一般に、通常のフラグメントおよびＣＡＦのものと同じである。
【００４６】
サイクルがそれぞれＣＡＦとして符号化されるならば、各サイクルの長さは減少する傾向があるので、フラグメントのサイズをサイクルインデックスの増加とともに直ちに減少させることができる。この理由で、全面的なオーバーヘッドを減らすためにいくつかのサイクルをグループ化することが望ましいかもしれない。特に、いくつかのサイクルがグループ化される場合、フラグメントに関連するオーバーヘッドをサイクル間で分担することができる。もしサイクルがグループ化されなければ、多数のサイクルがそれ自身のフラグメントで運ばれることになり、各サイクルについてフラグメントオーバーヘッドが引き起こされる。事実、共通のフラグメント内のサイクルのグループ化は、例えばＪＶＴによって共同ドラフト６（ＪＤ６）に最近導入された例えばベクトルモードを用いて実現することができる。
【００４７】
ベクトルモードは、ＦＧＳ符号器の複雑さを減らす目的でＪＤ６に導入された。ベクトルモードでは、ＦＧＳ符号器は、次のブロックに移動する前に、プリセットされたスキャン位置に達するまで、与えられたサイクルにおいてブロックを処理する。言いかえれば、最初の有意係数を符号化した後に次のブロックに移動することに代えて、プリセットされたスキャン位置に達するまでサイクルがブロック内で継続する。ベクトルモードによれば、ブロック内の所与サイクルのスキャンデプスは増加する。従って、ＦＧＳ符号器がブロックをスキャンする平均回数を減らすことができる。ベクトルモードは、所与のサイクルにおいてスキャンされる係数の数を決定するベクトル長を定義してもよい。ベクトル長が１である場合、ベクトルモードは無効であり、ＦＧＳ符号器は通常通りに動作する。ベクトル長がブロック内の係数の数と等しい場合、ＦＧＳ符号器は通常のブロックベース符号器に縮退する。
【００４８】
ベクトルモードによっても、ＦＧＳ符号器がブロックを複数回訪れるという事実に変わりはない。しかしながら、ＦＧＳ符号器がブロックを訪れる回数を減らし符号化サイクルの数を減らすことによって、ある程度はサイクルベース符号化の複雑さを減らすことができる。サイクル整列フラグメントと共に用いられる場合、変更済のベクトルモードを同じようなサイズのフラグメントの生成に用いることができ、それによりフラグメントのオーバーヘッドが減る。非常に小さなサイクルサイズを備えた多数のフラグメントの代わりに、ベクトルモードは、サイクルの数を減らし、かつサイクルを提供するために必要とされるフラグメントの数が減るよう各サイクルの深さを増加させるために用いることができる。フラグメントの数が減少することにより、フラグメントオーバーヘッドのインスタンス数が減少し、結果として効率の向上になる。
【００４９】
ＪＤ６に記述されたベクトルモードでは、ベクトル長はシーケンスパラメータセットにおいて定義されている。変更済のベクトルモードでは、本開示で説明されているように、ベクトル長は、シーケンスパラメータセットではなくスライスヘッダーにおいて指定することができる。ベクトル長を用いることにより、映像符号器２２は、所与のサイクルにおいてより多くの係数を符号化するために個々のサイクルのスキャンデプスを増加させ、結果としてフラグメント数が減少することになる。一例として、特定のベクトル長は、固定されてもよく、またはコンテント、チャンネル条件、処理負荷または他の要因に基づいてダイナミックに調節してもよい。ベクトル長は、すべてのサイクルについて同じとするか、選択されたサイクルについて異ならせるか、最初のサイクルから最後のサイクルまでで徐々に変化するようにしてもよい。
【００５０】
図６は、ネットワーク抽象レイヤ（ＮＡＬ）ユニットによる送信に関する通常のフラグメントへの符号化サイクルのカプセル化を示す図である。図６に示されるように、連続のサイクル５０Ａ−５０Ｃによって運ばれたビットストリームはサイクル境界を考慮せずに連続フラグメント５２Ａ−５２Ｃに分割される。その結果、所与のフラグメント５２はそれぞれ、一つ以上のサイクル５０に関連するビットストリームの一部を含み、所与のサイクルのビットストリームの先頭についての表示を与えない。もっと正確に言えば、所与のサイクル５０の異なる部分が連続フラグメント５２の境界５６Ａ−５６Ｃを横切って分布してもよい。さらに、各フラグメント５２は、サイクル５０のビットストリーム内の未知の、概して任意の点から始まってもよく、その場合、サイクルにはフラグメントを通じて直接アクセスすることはできない。
【００５１】
連続フラグメント５２にまたがるサイクル５０のビットストリームにより、依存する方法で連続フラグメントを処理することが必要である。特に、サイクルのビットストリームを再生するために、連続フラグメント５２によって運ばれたビットストリームの任意の部分は、映像復号器２２によって連結される。第１と第２のフラグメント５２Ａおよび５２ＢがＣＹＣＬＥ１（５０Ａ）の部分を運ぶ場合、例えば、両方のフラグメントはサイクル１のビットストリームを再生するために処理され連結される。連結をサポートするためには、次のフラグメント５２Ｂ（ＦＲＡＧ２）を復号して処理できる以前に、フラグメント５２Ａ（ＦＲＡＧ１）を復号し、処理（５４Ａ）しなければならない。
【００５２】
従って、通常のフラグメント５２Ｂは同時に復号することができず処理することができない。さらに、後のフラグメント５２Ｂは、通常初期のフラグメント５２Ａのエントロピー符号化に依存する。従って、フラグメント５２Ｂは、フラグメント５２Ａの復号および処理が完了するのを待たねばならない。そのため図６内の処理動作５４Ａおよび５４Ｂ、５４Ｃの配置は、前のフラグメントの完成した処理に基づく、後のフラグメント５２の連続し依存する復号および処理を表す。フラグメント５２の順次処理は、図６の例で示されたように、コンピューティングおよびメモリの要求の観点から相当な計算上の複雑さを示す。
【００５３】
図７は、ネットワーク抽象レイヤ（ＮＡＬ）ユニットによる送信に関して、本開示の一観点に従うサイクル整列フラグメント（ＣＡＦ）への符号化サイクルのカプセル化を示す図である。図７の例では、映像符号器２０は、各フラグメントがサイクルの先頭５０Ａ−５０Ｅで始まるサイクル整列フラグメント５８Ａ−５８Ｃとなるように、フラグメント化を制御する。さらに、オプションとして、図７の例におけるサイクル５０は、サイクルの少なくともいくつかの長さが拡張されるようにベクトルモードを用いて作成してもよく、これによりサイクルを運ぶために必要なフラグメントの全体数および関連するオーバーヘッドが減る。
【００５４】
概して、各ＣＡＦ５８は、ＣＡＦの実質的に先頭で始まるサイクル５０を運ぶ。例えば、映像符号器２０は、フラグメントの各々の先頭、例えばフラグメントの各々のペイロードの先頭が、サイクルの一つの先頭と実質的に一致するように、サイクルを複数のＣＡＦ５８内にカプセル化してもよい。場合によっては、フラグメント５８内の空間を消費するヘッダーが、ペイロードの先頭に先行してもよい。サイクルの先頭５０をフラグメント５８の先頭と実質的に揃えることによって、サイクル５０に関連するビットストリームの先頭を即座に決定することができ、個体サイクルがアクセスされることを可能にする各ＣＡＦ５８が直接アクセスすることができるサイクル５０を運ぶので、サイクル５０に関連するビットストリームを再生するために連続フラグメントを連結する必要はない。代わりに、映像復号器２２は、プロセス動作６２Ａ−６２Ｃとして表わすように、フラグメント５８を同時に、例えば並列に復号し、かつ処理するように構成することができる。また、フラグメント５８は、復号の少なくとも一部および一つ以上の他のフラグメント処理によって同時期に並列に復号され処理されてもよい。しかしながら、いくつかのフラグメント５８をなお連続して復号し処理してもよい。
【００５５】
前のフラグメントが終了するのを待つことなく復号可能なＣＡＦを作成するために、映像符号器２０は前のフラグメントが復号された後のみ利用可能な情報を用いずにＣＡＦを符号化してもよい。従って、フラグメント先頭とサイクルの先頭を整列させることに加えて、映像符号器２０は、連続的に符号化されたフラグメント間のエントロピー符号化に関連する符号化コンテキストをリセットしてもよい。特に、最初のフラグメント用のエントロピー符号化が終了した後、映像符号器２０はＣＡＶＬＣまたはＣＡＢＡＣエントロピー符号器をフラッシュし、符号化コンテキストをリセットする。このようにして、サイクル整列フラグメントは以前に符号化されたフラグメントからのいかなる符号化情報にも依存せず、他のフラグメントと平行して復号し、処理することができる。
【００５６】
図８は、符号化サイクルをサイクル整列フラグメントにカプセル化するＦＧＳスライス符号器６４を示すブロック図である。ＦＧＳスライス符号器６４は、図１の映像符号器２０のようなデジタル映像符号器の一部を形成してもよい。図８に示されるように、ＦＧＳスライス符号器６４は変換モジュール６６、量子化モジュール６８、サイクルベース符号化モジュール７０、サイクル整列フラグメント化モジュール７２およびエントロピー符号化モジュール７４を含んでいてもよい。変換モジュール６６は、変換係数のブロックを生成するために映像符号器２２によって生成されたＦＧＳスライスのソース映像残余に空間変換を適用する。これにより生じた変換係数を量子化モジュール６８が量子化する。サイクルベース符号化モジュール７０は、例えば図３−図５に示したものと類似する態様で、変換係数のブロックをスキャンして符号化サイクルを生成する。
【００５７】
この開示の全体にわたって、モジュール、ブロックまたは構成要素としての異なる特徴の叙述は、映像符号器２０または映像復号器２２の異なる機能的な態様を強調することを意図し、個別のハードウェアおよび／またはソフトウェア構成要素によってそのようなモジュールを実現しなければならないと必ずしも意味しない。もっと正確に言えば、変換モジュール６６、量子化モジュール６８、サイクルベース符号化モジュール７０、サイクル整列フラグメント化モジュール７２およびエントロピー符号化モジュール７４のような一つ以上のモジュールに関連する機能性は、共通個別のハードウェアおよび／またはソフトウェア構成要素内に統合されてもよい。場合によっては、そのような特徴は、コンピュータにそのような特徴に起因する機能を実行させるように構成されたコードを含む、共通個別のソフトウェアまたはソフトウェアモジュールによって実現されてもよい。
【００５８】
サイクル整列フラグメント化モジュール７２は、符号化サイクルに関連するビットストリームをフラグメントに切る。フラグメントによって運ばれたペイロードの先頭とサイクルビットストリームの先頭が実質的に一致するように各フラグメントはサイクルをカプセル化する。サイクル整列フラグメント化モジュール７２は、ビットストリームを分析し、サイクル境界を検知してサイクル整列フラグメントを始動するように構成してもよい。エントロピー符号化モジュール７４は、サイクル整列フラグメント化モジュール７２によって生成されたフラグメントの各々に、ＣＡＶＬＣまたはＣＡＢＡＣ符号化のようなエントロピー符号化を適用する。特に、連続フラグメント間の相互依存をなくすために、エントロピー符号化モジュール７４は、各フラグメントがエントロピー符号化された後に、前の統計をフラッシュし、符号化コンテキストをリセットしてもよい。このようにして、少なくとも連続フラグメントのうちのいくつかを同時に復号し処理することができる。エントロピー符号化されたフラグメントは、ソースデバイス１２からデスティネーションデバイス１４への送信のために、ネットワーク抽象レイヤ（ＮＡＬ）ユニットのようなネットワーク送信ユニットに入れてもよい。
【００５９】
図９は、サイクル整列フラグメントにカプセル化した符号化サイクルを復号するＦＧＳスライス復号器７５を示すブロック図である。ＦＧＳスライス復号器７５は、図１の映像復号器２２のような映像復号器の一部を形成してもよい。図９に示すように、ＦＧＳスライス復号器７５は、エントロピー復号モジュール７６、サイクル整列デフラグメンテーションモジュール８０、サイクルベース復号モジュール８０、逆量子化モジュール８２、逆変換モジュール８４を含んでもよい。エントロピー復号モジュール７６は、符号化された映像フラグメントにエントロピー復号を適用する。特に、符号化された映像ＣＡＦは、ＣＡＦは他のＣＡＦのものと同じ符号化コンテキストを用いて符号化されず、ＣＡＦはそれぞれ特定のサイクルのビットストリームへのダイレクトアクセスを提供することから並列にエントロピー復号することができる。
【００６０】
サイクル整列デフラグメンテーションモジュール７８は、エントロピー復号されたフラグメントを処理して符号化映像ビットストリームを生成する。サイクルベース復号モジュール８０は、映像ビットストリームをスキャンして量子化変換係数を生成する。逆の量子化モジュール８２は変換係数を非量子化する。逆変換モジュール８４は、非量子化された変換係数に逆変換を適用して残余を再生する。ＣＡＦによれば、ＦＧＳスライスの復号処理を個別レイヤのそれに非常に類似するよう単純化することができる。一例として、いくつかの態様では、ＦＧＳスライスはＰＲスライスであってもよい。またＣＡＦは、本開示で説明されているように、ＦＧＳスライスのシンタックスの規格を著しく単純化することができる。
【００６１】
図１０は、本開示において述べられたサイクル整列フラグメント（ＣＡＦ）への符号化サイクルのカプセル化を示すフロー図である。ＣＡＦの生成は、図８のＦＧＳスライス符号器６４のような映像符号器２０に関連するＦＧＳスライス符号器内で実行されてもよい。ある態様では、ＦＧＳスライス符号器６４はＰＲスライス符号器であってもよい。図１０に示されるように、ＦＧＳスライス符号器６４はＦＧＳ映像データブロックをサイクル（８６）内に符号化し、該サイクルをサイクル整列フラグメント（８８）内にカプセル化し、該フラグメント（９０）をエントロピー符号化する。本開示で説明されているような、フラグメントはサイクルに関連するビットストリームの先頭が、サイクルのカプセル化に関係するフラグメントのペイロードの先頭と実質的に一致するという意味でサイクル整列される。
【００６２】
図１１は、サイクル整列フラグメントへの符号化サイクルのカプセル化をより詳細に示すフロー図である。また、ＣＡＦの生成は、図８のＦＧＳスライス符号器６４のような映像符号器２０に関連するＦＧＳスライス符号器内で実行されてもよい。図１１に示されるように、ＦＧＳスライス符号器６４は、残余映像ブロック（９２）について変換係数を得、ブロック（９４）を横切ってサイクルの変換係数をジグザグスキャンする。ＦＧＳスライス符号器６４はフラグメントを生成し、サイクル（９６）の先頭でフラグメントの先頭ペイロードを整列させて、フラグメント（９８）にサイクルをセットする。ＦＧＳスライス符号器６４はフラグメント（１００）をエントロピー符号化し、次にエントロピー符号器統計をフラッシュし、該フラグメントがエントロピー符号化された後のエントロピー符号化に関連する符号化コンテキスト（１０２）をリセットする。このように、エントロピー符号化される次のフラグメントは、前のフラグメントが完全に復号された後のみ利用可能な情報を要求しない。従って、複数フラグメントはＦＧＳスライス復号器７５によって並列して同時に復号することができ、いくつかのフラグメントの少なくとも一部の復号は少なくとも一つ以上の他のフラグメントの一部の復号と少なくとも部分的に同時である。
【００６３】
符号化されるべきサイクルがさらにある場合（１０４）、ＦＧＳスライス符号器６４は、残余のブロック（９４）を横切った係数のスキャンを継続し、動作９６、９８、１００、１０２を繰り返す。サイクルベース符号化が完了したならば、ＦＧＳスライス符号器６４は、さらなる残余のブロックについて（例えば映像フレームの別の部分、または後のフレームから）変換係数を得て、動作９６、９８、１００、１０２を繰り返す。プロセスの全体にわたって、ＦＧＳスライス符号器６４は、同時にフラグメントを処理することができ、フラグメント内のサイクルに関連するビットストリームに直接アクセスすることができるようにＣＡＦを生成する。ＣＡＦの生成により、処理が単純化され、計算およびメモリオーバーヘッドが削減される。
【００６４】
図１２は、サイクル整列フラグメント（ＣＡＦ）内のサイクルの復号を示すフロー図である。ＣＡＦ内のサイクルの復号は、図９のＦＧＳスライス符号器７５のような映像復号器２２に関連するＦＧＳスライス復号器内で実行されてもよい。図１２の例では、ＦＧＳスライス復号器７５は、チャンネル１６を通じて送信された到来映像とともにＣＡＦ（１０６）を受け取る。ＦＧＳスライス復号器１０６は、ＣＡＦ（１０８）をエントロピー復号し、すなわち、他のＣＡＦが完全に復号された後にのみ利用可能な情報なしに、少なくともいくつかのＣＡＦ（１１０）の少なくとも一部を同時に復号する。このように、ＦＧＳスライス復号器７５は並列にＣＡＦを復号し処理する。従って、複数のＣＡＦは、連続してではなく並列して同時に処理し復号することができる。いくつかのＣＡＦは、互いに、完全に独立していてもよい。他の場合では、後のＣＡＦ内のブロックのための情報の復号が同じブロック用の前のＣＡＦの復号に左右されるかも知れない。しかしながらこの場合、ＣＡＦのための他の符号化コンテキストは、前のＣＡＦは既に復号されたか、また前のＣＡＦが後のＣＡＦで同時に復号されるかどうかによらず、後のＣＡＦの復号が同じでありように、独立を維持することができる。
【００６５】
図１３は、ＣＡＦ内のサイクルの復号をより詳細に示すフロー図である。図１３に示されるように、ＦＧＳスライス復号器１０６はＣＡＦ（１１２）を得て、ＣＡＦ（１１４）をエントロピー復号することができる。ＦＧＳスライス復号器７５は、ＣＡＦ（１１６）によって運ばれたサイクルに関連するビットストリームに直接アクセスし、対応する残余の映像データを生成するためにサイクルビットストリーム（１１８）を復号することができる。より多くのＣＡＦが得られる場合（１２０）、ＦＧＳスライス復号器７５は次のＣＡＦ（１１２）を得て、図１３の動作、つまり動作１１４，１１６，１１８）を繰り返す。
【００６６】
図１４は、通常のフラグメントおよびサイクル整列フラグメント（ＣＡＦ）についてのパケット誤りの影響を示す図である。この開示に従うＣＡＦの使用により、処理を単純化しコンピュータおよびメモリの必要条件を下げることに加えて、ＦＧＳレイヤの誤り回復能を著しく改善することができる。図１４は一連の通常のフラグメント（ＦＲＡＧ０，ＦＲＡＧ１，ＦＲＡＧ２）および一連のＣＡＦ（ＣＡＦ０，ＣＡＦ１，ＣＡＦ２）を示している。Ｘによって示されるように、最初の通常のフラグメントＦＲＡＧ０の一部が破損している場合、その破損は後のフラグメントＦＲＡＧ１およびＦＲＡＧ２の全体を無用にする。言いかえれば、先に符号化されたＦＲＡＧ０内のある量の破損が、後に符号化されたＦＲＡＧ１およびＦＲＡＧ２の合計破損を生ずる。通常のフラグメントについては、前のＦＲＡＧ０および後のフラグメントＦＲＡＧ１およびＦＲＡＧ２は、実際に同じ符号化パスから生成される。従って、正常なＦＲＡＧ０の終端での誤りは、ＦＲＡＧ１およびＦＲＡＧ２内の情報をすべて破損する。何故なら、それらがエントロピー符号化の目的に関してＦＲＡＧ０に依存し、共通のサイクルビットストリームの異なる部分を含み得るからである。
【００６７】
対照的に、ＣＡＦについては、一つのフラグメントの破損は他のフラグメントを全く破損しないだろう。例えば、ＣＡＦ０の終わりに誤りがあれば、その誤りはＣＡＦ１およびＣＡＦ２内の対応する部分のみに影響する。ＣＡＦは、同時に符号化し、個別の符号化サイクルのビットストリームを運ぶことができる。従って、ＣＡＦのいずれも、エントロピー復号に関して別のＣＡＦからの情報を要しない。さらに、例えば変換係数の特別のブロックについて、符号化サイクルの終わりにおける情報の損失は、そのブロックの後のスキャン情報のみに影響するであろう。従って、悪くなったブロック以外の、１セットのブロックの後のスキャンに関連するビットストリームは、完全なままで直接アクセスされ、正確に復号することができる。従って、本開示で説明されているようなＣＡＦを用いることにより、符号化された映像内の誤り回復能を促進することができる。
【００６８】
ＣＡＦをサポートするために、以上で説明された特別のＦＧＳ符号化スキームについてさらなる修正が望ましいかもしれないし、また必要かもしれない。例えば、ＪＤ６によれば、変数「ｃｈｒｏｍａＳｔａｒｔＣｙｃｌｅ」はルマ係数の送信に関して彩度係数の送信を遅らせるために用いられる。ＪＳＶＭ内の現在のインプリメンテーションでは、ｃｈｒｏｍａＳｔａｒｔＣｙｃｌｅの値は最初の符号化サイクルから収集された統計に基づいて計算される。その後、ＦＧＳスライス符号器は最初の符号化サイクルの終わりに生じるｃｈｒｏｍａＳｔａｒｔＣｙｃｌｅ値を送る。複数のＣＡＦが同時に復号される場合、最初のフラグメントのスライスヘッダー内のｃｈｒｏｍａＳｔａｒｔＣｙｃｌｅ値を送ることが望ましいかもしれない。従って、最初のフラグメントのスライスヘッダー内のｃｈｒｏｍａＳｔａｒｔＣｙｃｌｅ値を送るように映像符号器２２をさらに構成してもよい。
【００６９】
さらに別の可能な修正は、彩度係数の送信に関する。オリジナルのＪＳＶＭでは、最後の彩度ＡＣ符号化サイクルが最後のルマ符号化サイクルでオーバーラップしないという可能性がある。この理由により、映像符号器２２は、彩度係数がルマ係数に遅れることなく送信されるように制約を強化するよう構成してもよいこのように、映像符号器２２は、最後のＡＣ符号化サイクルが最後のルマ符号化サイクルでオーバーラップすることを保証することができる。
【００７０】
さらなるリファインメントとして、エントロピー符号化を映像符号器２２において調整してもよい。コンテキストベースのＶＬＣ符号化スキームは、ＦＧＳビットストリームの生成におけるエントロピー符号化のために用いられてもよい。できるだけＣＡＦを分離するために、現在のスキャンインデックスがＶＬＣパラメータ検索のために用いられてもよい。最初の繰り返しは、他の符号化イテレーション（繰り返し）の場合のようなＥＯＢに対応するシンボルがないので、例外であるかもしれない。リファインメント係数が有意係数とは別々に符号化され、最初のスキャンすなわち最初のいくつかのスキャン位置にいくつかのリファインメント係数がある場合、最初のゼロ・ランを非ゼロのスキャン位置から開始できる。
【００７１】
いくつかの異なるアプローチがこの問題を処理するために用いられてもよい。最初のアプローチによれば、ブロックのための最初の繰り返しを常に処理するために、個別のビンが映像符号器２２に割り付けられてもよい。別のアプローチによれば、映像符号器２２は、ＶＬＣパラメータを検索するためにスキャンインデックスを用いてもよいが、シンボルセットがＥＯＢを挿入しないように最初の繰り返しにＥＯＢがないという知識を利用してもよい。３番目のアプローチによれば、最初の繰り返しにおける符号化されたブロックフラグ（ＣＢＦ）は、映像符号器２２によりＥＯＢとして扱うことができる。ＣＢＦが１である場合、値０のＥＯＢは最初の繰り返しのために送られる。そうでなければ、値１のＥＯＢは最初の繰り返しのために送られる。この３番目のアプローチを用いることにより、最初の繰り返しと他の繰り返しの間の差がほとんどなくなるかも知れない。
【００７２】
ＦＧＳ符号化の性能を改善するさらなる技術が提供されてもよい。以上で説明されるように、関係のあるブロックに有意係数があるかどうかをＣＢＦが示すことから、いかなる有意係数も符号化される前に、ＣＢＦを符号化することが望ましいかもしれない。場合によっては、ブロックがいくつかの先導するリファインメント係数を持ってもよい。例えば、まさに最初の係数がリファインメント係数であって、該リファインメント係数が有意係数とは別々に符号化される場合、ブロック用のＣＢＦを送ることができるのは、最初のリファインメント係数が送られた後である。その結果、ＣＢＦは、最初の符号化サイクルにおいて必ずしも符号化されるとは限らない。ＣＢＦが符号化されない場合、ＣＡＢＡＣエントロピー符号器を備えたＣＡＦのインプリメンテーションにはいくつかの問題が生じる。ＣＡＢＡＣエントロピー符号化では、ＣＢＦは、近隣のブロックのＣＢＦの値に基づくコンテキストにおいて符号化される。さらに、異なるコンテキストは、ルマ４ｘ４ブロック、彩度ＡＣブロック、彩度ＤＣのブロックなどのような異なるブロック型のＣＢＦを符号化するために用いられる。本開示で説明されているような低複雑度ＦＧＳ符号化システムでは、サイクル整列フラグメント内の符号化されたブロックフラグのすべては、それらが同じブロック内のいくつかのリファインメント係数の後に符号化される場合、単一の付加的なコンテキストにおいて、映像符号器２２によって符号化されてもよい。
【００７３】
一例として、ブロックにはリファインメント係数が一つあり、該リファインメント係数が最初のスキャン位置にあると仮定する。また、ブロックにはさらにいくつかの追加的な有意係数があるものと仮定する。この場合、映像符号器２２は、最初にリファインメント係数を符号化し、続いてブロックのＣＢＦを符号化するよう構成してもよい。ＣＢＦは新しく定義されたコンテキストにおいて符号化することができる。その後、ブロック中の有意係数は符号化される。
【００７４】
ＣＡＦのＣＡＢＡＣベースのインプリメンテーションで発生し得る別の問題もまたコンテキスト定義に関係する。ＣＡＢＡＣエントロピー符号化は、スキャン位置に基づいて定義されたコンテキストを用いて有意フラグおよび最後の有意フラグを符号化する。ＣＡＦの単純化されたインプリメンテーションでは、映像符号器２２内の各フラグメントに関してコンテキストの類似したセットを別々に維持することが望ましいかもしれない。個別のコンテキストセットの維持は追加のインプリメンテーションコストを必要とするかも知れない。しかしながら、サイクル整列フラグメントがない場合のように多くの符号化コンテキストが同じ量の係数を符号化するために用いられる場合、コンテキスト稀釈の問題があり、符号化パフォーマンスが低下することになる。映像符号器２２のＦＧＳスライス符号器では、複数の有意フラグに関して符号化コンテキストをグループ化することができる。
【００７５】
例えば、先頭サイクルのスキャン位置が３であり、あるフラグメントのベクトル長が３である場合、オリジナルの有意符号化コンテキストは位置３、４および５をスキャンするために用いられる。スキャン位置５を越えて、有意フラグのための符号化コンテキストを様々な方法でグループ化することができる。一つの例はしきい値Ｃ＞＝６を設定することである。スキャン位置がＣの前、またはＣである場合、個別のコンテキストが有意フラグを符号化するために用いられてもよい。Ｃの後のスキャン位置に対応するすべての有意フラグが、その後、単一のコンテキストにおいて符号化されてもよい。同様の方法を、最後の有意係数フラグを符号化することに関して付加的な符号化コンテキストを定義するために用いることができる。別の例において、スキャニングは、次の非ゼロ係数の位置の代わりに、ベクトル長により指定された範囲に制限してもよい。
【００７６】
以下に示すテーブル１は、この開示のいくつかの態様に従ってＣＡＦをサポートするために実行されてもよいシンタックス修正の例である。シンタックス修正は、Ｈ．２６４／ＭＰＥＧ−４  ＡＶＣ標準に対するＳＶＣ拡張の共同ドラフト６（ＪＤ６）で説明される適用可能なシンタックス、またはＪＶＳＭにおいて別途示されるシンタックスに関連してなされてもよい。特にそのＦＧＳ符号化スキームについては、ＦＧＳスライスもまたＰＲ（プログレッシブ・リファインメント）スライスと呼ばれてもよい。
【００７７】
この開示における様々なテーブルにおいて、特別の定めがない限り、シンタックスエレメントはすべて、ＩＴＵ−Ｔ  Ｈ．２６４標準、または例えばＪＶＳＭまたはＪＤ６として具体化されたＳＶＣ拡張（そのようなシンタックスエレメントがＨ．２６４標準において記述される限り）に示される適切なシンタックスおよびセマンティックスを持っていてもよい。概して、Ｈ．２６４標準またはＪＤ６に記述されないシンタックスエレメントおよびセマンティックスが、この開示において記述される。
【００７８】
この開示での様々なテーブルにおいて、「Ｃ」とマークされたカラムは、ＮＡＬユニットに存在するかも知れないシンタックスエレメントのカテゴリーをリストする。それはＨ．２６４標準におけるカテゴリーに準拠してもよい。さらに、ＦＧＳスライスＮＡＬユニットに含まれる生のビットシーケンスペイロード（ＲＢＳＰ）データ構造のシンタックスおよびセマンティックスによって決定されるとおり、シンタックスカテゴリー「すべて」を備えたシンタックスエレメントが存在してもよい。
【００７９】
特別にリストされたカテゴリーの任意のシンタックスエレメントの存在または欠如は、関連するＲＢＳＰデータ構造のシンタックスおよびセマンティックスから決定される。本開示で特別の定めがない限り、ディスクリプタカラムは、Ｈ．２６４標準またはＪＤ６において指定されるかも知れないディスクリプタに一般に準拠してもよいディスクリプタ例えばｆ（ｎ），ｕ（ｎ），ｂ（ｎ），ｕｅ（ｖ），ｓｅ（ｖ），ｍｅ（ｖ），ｃｅ（ｖ）を指定する。
【表１】
2009544196.tif 000003
【表２】
2009544196.tif 000004
【００８０】
テーブル１に示された新しいシンタックスエレメントまたは修正されたシンタックスエレメントのセマンティックス例をここに記述する。シーケンスパラメータセット中のシンタックスエレメント（それほど頻繁に送られない）は、以下の通りである。
【００８１】
シンタックスエレメントｐｒ＿ｉｎｆｏ＿ｐｒｅｓｅｎｔ＿ｆｌａｇは、ＰＲスライス復号のような、ＦＧＳスライス復号において用いられるシンタックスエレメントの存在を指定する。ｐｒ＿ｉｎｆｏ＿ｐｒｅｓｅｎｔ＿ｆｌａｇが０に等しい場合、ＦＧＳスライス復号に用いられる、さらなるシンタックスエレメントはシーケンスパラメータセットの中には存在しない。ｐｒ＿ｉｎｆｏ＿ｐｒｅｓｅｎｔ＿ｆｌａｇが１に等しい場合、ＣＡＦおよびＰＲのベクトルモードパラメータの使用法を指定するシンタックスエレメントは、シーケンスパラメータセットの中に存在する。ｐｒ＿ｉｎｆｏ＿ｐｒｅｓｅｎｔ＿ｆｌａｇが存在しない場合、それは０に等しいと考えてよい。
【００８２】
シンタックスエレメントｐｒ＿ｃｙｃｌｅ＿ａｌｉｇｎｅｄ＿ｆｒａｇｍｅｎｔ＿ｆｌａｇは、ＦＧＳスライス復号に関して、ＣＡＦを用いるブロックベース復号が起動されるべきかどうか指定する。ｐｒ＿ｃｙｃｌｅ＿ａｌｉｇｎｅｄ＿ｆｒａｇｍｅｎｔ＿ｆｌａｇの値が１に等しい場合、ブロックに基づいた、復号、ＣＡＦを用いることが起動されるものとする。ｐｒ＿ｃｙｃｌｅ＿ａｌｉｇｎｅｄ＿ｆｒａｇｍｅｎｔ＿ｆｌａｇが存在しない場合、それは１に等しいと考えられるものとする。
【００８３】
シンタックスエレメントｎｕｍ＿ｐｒ＿ｖｅｃｔｏｒ＿ｍｏｄｅｓ＿ｍｉｎｕｓ１は、シーケンスパラメータセット内に存在するベクトルモードパラメータの配列サイズを指定する。ベクトルモードパラメータはそれに続くシンタックスエレメントから導き出し、二次元配列ＳｃａｎＰｏｓＶｅｃｔＳｅｔに格納される。ただし、各一次元の配列ＳｃａｎＰｏｓＶｅｃｔＳｅｔ［ｉ］はｉ＝０，１，…ｎｕｍ＿ｐｒ＿ｖｅｃｔｏｒ＿ｍｏｄｅｓ＿ｍｉｎｕｓ１に関してｉ番目のベクトルモードに関係するパラメータを格納する。
【００８４】
変数ＮｕｍＰｒＶｅｃｔｏｒＭｏｄｅｓは以下のように導き出すことができる。シンタックスエレメントｎｕｍ＿ｐｒ＿ｖｅｃｔｏｒ＿ｍｏｄｅｓ＿ｍｉｎｕｓ１が存在する場合、ＮｕｍＰｒＶｅｃｔｏｒＭｏｄｅｓは（ｎｕｍ＿ｐｒ＿ｖｅｃｔｏｒ＿ｍｏｄｅｓ＿ｍｉｎｕｓ１＋１）に等しくなるように設定する。そうでなければ、ＮｕｍＰｒＶｅｃｔｏｒＭｏｄｅｓは１に等しい。
【００８５】
シンタックスエレメントｐｒ＿ｃｏｄｉｎｇ＿ｍｏｄｅ［ｉ］は、配列ＳｃａｎＰｏｓＶｅｃｔＳｅｔ［ｉ］を導き出すために、どのシンタックスエレメントが用いられるかを指定する。ｐｒ＿ｃｏｄｉｎｇ＿ｍｏｄｅ［ｉ］が０に等しい場合、配列ＳｃａｎＰｏｓＶｅｃｔＳｅｔ［ｉ］内のベクトルモードパラメータはシンタックスエレメントｇｒｏｕｐｉｎｇ＿ｓｉｚｅ＿ｍｉｎｕｓ１［ｉ］を用いて導き出される。ｐｒ＿ｃｏｄｉｎｇ＿ｍｏｄｅ［ｉ］が１に等しい場合、配列ＳｃａｎＰｏｓＶｅｃｔＳｅｔ［ｉ］内のベクトルモードパラメータは、配列ｒｅｖｅｒｓｅ＿ｐｒ＿ｖｅｃｔｏｒ＿ｌｅｎ＿ｍｉｎｕｓ１［ｉ］［ｋ］，ｋ＝０，…，ＮｕｍＰｏｓＶｅｃｔｏｒ［ｉ］−１を用いて導き出される。ｎｕｍ＿ｐｒ＿ｖｅｃｔｏｒ＿ｍｏｄｅｓ＿ｍｉｎｕｓ１が存在しない場合、ｐｒ＿ｃｏｄｉｎｇ＿ｍｏｄｅ［０］は０に等しくなるように設定される。
【００８６】
シンタックスエレメントｇｒｏｕｐｉｎｇ＿ｓｉｚｅ＿ｍｉｎｕｓ１［ｉ］は、各ベクトル内でグループ化されたスキャン位置の数マイナス１を指定する。ｎｕｍ＿ｐｒ＿ｖｅｃｔｏｒ＿ｍｏｄｅｓ＿ｍｉｎｕｓ１が存在しない場合、ｇｒｏｕｐｉｎｇ＿ｓｉｚｅ＿ｍｉｎｕｓ１［０］は１５に等しくなるように設定される。
【００８７】
シンタックスエレメントｒｅｖｅｒｓｅ＿ｐｒ＿ｖｅｃｔｏｒ＿ｌｅｎ＿ｍｉｎｕｓ１［ｉ］［ｋ］は、ＳｃａｎＰｏｓＶｅｃｔＳｅｔ［ｉ］［ＮｕｍＰｏｓＶｅｃｔｏｒ［ｉ］−１−ｋ］とＳｃａｎＰｏｓＶｅｃｔＳｅｔ［ｉ］［ＮｕｍＰｏｓＶｅｃｔｏｒ［ｉ］−ｋ］、マイナスの１の間のベクトル長を指定する。シンタックスエレメントｒｅｖｅｒｓｅ＿ｐｒ＿ｖｅｃｔｏｒ＿ｌｅｎ＿ｍｉｎｕｓ１［ｉ］［ｋ］はｃｅｉｌ（ｌｏｇ（ｒｅｍＶｅｃｔｏｒＬｅｎ−１）ビットを用いて、符号なしの値として復号されるものとする。
【００８８】
配列ＳｃａｎＰｏｓＶｅｃｔＳｅｔは以下のように導き出すことができる：
for( i = 0;  i  < NumPrVectorModes; i ++ ) {
if( pr_coding_mode[ i ] = = 0 ) {
posVectLen = grouping_size_minus1[ i ] + 1
NumPosVector[ i ] = 1 + 15 / posVectLen
for( j = 0; j < NumPosVector[ i ]; j ++ )
ScanPosVectSet[ i ] [ j ] =  j * posVectLen
ScanPosVectSet[ i ] [NumPosVector[ i ] ] = 16
}
else {
ScanPosVectSet[ i ] [ NumPosVector[ i ] ] =  16
for( j = NumPosVector[ i ] - 1; j >= 0; j ++ )
ScanPosVectSet[ i ] [ j ] = ScanPosVectSet[ i ] [ j + 1 ] -
( reverse_pr_vector_len_minus1[ i ] [ NumPosVector[ i ] - 1 - j ] + 1
}
スライスヘッダー中の対応するシンタックスエレメントを以下のように与えても良い。
【００８９】
シンタックスエレメントｐｒ＿ｖｅｃｔｏｒ＿ｍｏｄｅ＿ｉｄｘは、ベクトルモードパラメータを格納する配列ＳｃａｎＰｏｓＶｅｃｔＳｅｔへのインデックスを指定する。ｐｒ＿ｖｅｃｔｏｒ＿ｍｏｄｅ＿ｉｄｘの値は包括的に０から（ＮｕｍＰｒＶｅｃｔｏｒＭｏｄｅｓ−１）の範囲とする。ＳｃａｎＰｏｓＶｅｃｔＳｅｔ［ｐｒ＿ｖｅｃｔｏｒ＿ｍｏｄｅ＿ｉｄｘ］およびＮｕｍＰｏｓＶｅｃｔｏｒ［ｐｒ＿ｖｅｃｔｏｒ＿ｍｏｄｅ＿ｉｄｘ］は、現在のプログレッシブ・リファインメントスライスの復号に関して次のパラメータを導き出すのに使用される：
NumPrCycles,
ScanPosVectLuma[ cycleIdx ], cycleIdx = 0, …, NumPrCycles,
ScanPosVectLuma8x8[ cycleIdx ], cycleIdx = 0, …, NumPrCycles,
ScanPosVectChromaDC[ cycleIdx ], cycleIdx = 0, …, NumPrCycles,
ScanPosVectChromaAC[ cycleIdx ], cycleIdx = 0, …, NumPrCycles.
これらのパラメータは以下のように導き出されてもよい：
ScanPosVectLuma [ 0 ] = 0
ScanPosVectLuma8x8 [ 0 ] = 0
ScanPosVectChromaAC [ 0 ] = 1
ScanPosVectChromaDC [ 0 ] = 0
for( cycleIdx=1; cycleIdx <= NumPosVector[ pr_vector_mode_idx ]; cycleIdx ++ ) {
ScanPosVectLuma[cycleIdx]=ScanPosVectSet[pr_vector_mode_idx][cycleIdx]
ScanPosVectLuma8x8   [ cycleIdx ]=ScanPosVectLuma[ cycleIdx ] * 4
ScanPosVectChromaDC[ cycleIdx ]=ScanPosVectChromaDC[ cycleIdx - 1 ]
ScanPosVectChromaAC[ cycleIdx ] = ScanPosVectChromaAC[ cycleIdx - 1 ]
// find the start scanning position for chroma DC and chroma AC
if( luma_chroma_sep_flag = = 0 ) {
for( sIdx = ScanPosVectLuma[ cycleIdx - 1 ]; sIdx < ScanPosVectLuma[ cycleIdx ]; sIdx ++ ) {
if( ( ScanPosVectChromaDC[ cycleIdx ] < 4 ) && ( ( sIdx = = 0 ) || 
( ( sIdx >= ChromaStartCycle ) && ( ( scanIdx - ChromaStartCycle) % 2 = = 0 ) ) ) )
ScanPosVectChromaDC[ cycleIdx ] ++
if( (ScanPosVectChromaAC[ cycleIdx ] < 16 ) && ( ( sIdx > 0 ) && ( ( sIdx = = ChromaStartCycle ) || 
( sIdx >= ChromaStartCycle && ( ( sIdx - ChromaStartCycle) % 3 = = 1 ) ) ) ) )
ScanPosVectChromaAC[ cycleIdx ] ++
}
}
}
NumPrCycles = NumPosVector[ pr_vector_mode_idx ] + ( ( luma_chroma_sep_flag = = 1 ) ? 1 : 0 );
ScanPosVectLuma         [ NumPrCycles ] = 16;
ScanPosVectLuma8x8   [ NumPrCycles ] = 64;
ScanPosVectChromaDC[ NumPrCycles ] = 4
ScanPosVectChromaAC[ NumPrCycles ] = 16;
シンタックスエレメントＳｃａｎＰｏｓＶｅｃｔＬｕｍａ［ｉ］は、４ｘ４ルマブロックのインデックスｉの符号化サイクルにおける先頭スキャン位置を与える。ＳｃａｎＰｏｓＶｅｃｔＬｕｍａ８ｘ８［ｉ］は、８ｘ８ルマブロックのインデックスｉの符号化サイクルにおける先頭スキャン位置を与える。ＳｃａｎＰｏｓＶｅｃｔＣｈｒｏｍａＤＣ［ｉ］は、彩度ＤＣブロックのインデックスｉの符号化サイクルにおける先頭スキャン位置を与える。ＳｃａｎＰｏｓＶｅｃｔＣｈｒｏｍａＡＣ［ｉ］は、彩度ＡＣブロックのインデックスｉの符号化サイクルにおける先頭スキャン位置を与える。
【００９０】
異なるベクトルモード構成のシグナリングは、さらに下記のテーブル２に示されるようなスライスヘッダーにおいても行われ得る。従って、この変更済のベクトルモードでは、ベクトル長は、シーケンスパラメータセットではなくスライスヘッダーにおいて指定することができる。このアプローチは、スキャニングベクトルの新しいセットを生成するためにオーバーライドフラグを使用することを含んでいてもよい。複雑さとオーバーヘッド量との間のトレードオフが異なる他のアプローチを用いてベクトル長を伝えることもできる。従って、この開示は、テーブル２に示されるようなスライスヘッダー内でシグナリングする技術の例を含む、ベクトルモードのシグナリング（情報はベクトルモードをシグナルするために符号化される）について様々な技術のうちのいずれかを意図する。
【表３】
2009544196.tif 000005
【００９１】
ここで、ＦＧＳスライス内のマクロブロックヘッダーの定義について説明する。ＪＳＶＭにおいて、ある意味では、プログレッシブスライスのビットストリーム構造は、再構成映像の画質改善に直接寄与しないシンタックスエレメントができるだけ遅く送られるように設計された。ビットストリームが部分的に切り詰められる場合、再構成された映像は最高画質を持ち得る。下記のテーブル３は、ｆｇｓスライスの基本的なビットストリーム構造を備える擬似コードのセグメントを与える。下記のテーブル４は、ｆｇｓスライス中のマクロブロックヘッダー定義のためのシンタックスエレメント例を示す。
【表４】
2009544196.tif 000006
【００９２】
一例として、彩度ＣＢＰは彩度係数の直前であって同じマクロブロックにおける最初の符号化サイクルのルマ係数の後に送ってもよいが、ＡＶＣベースレイヤでは、彩度ＣＢＰはマクロブロックヘッダー中で送ることができる。別の例はデルタＱＰの送信である。エンハンスメントレイヤ中のマクロブロックが非ゼロ・ルマ係数および非ゼロ彩度ＤＣ係数のいずれも持っていないが、いくつかの非ゼロ彩度ＡＣ係数を持っており、ベースレイヤにおけるマクロブロックＣＢＰがゼロであるならば、彩度ＡＣ係数が符号化される直前に、デルタＱＰを送ってもよい。このアプローチは、これらのシンタックスエレメントが典型的にはＡＶＣベースレイヤ中で送られる方法とは非常に異なる。
【００９３】
テーブル３に以上示された擬似コードのセクションは、ＦＧＳスライスの基本的なビットストリーム構造を提供する。しかしながら、実際の符号化順序の単純な分析を実行してみると、これらシンタックスエレメントを送信する際の遅延は、実際にはあまりメリットがないかも知れない。
【００９４】
彩度に関連する２つのフラグ（ａｌｌｏｗ＿ｃｈｒｏｍａ＿ｄｃおよびａｌｌｏｗ＿ｃｈｒｏｍａ＿ａｃ）を、送信ルマ係数のレートに関して彩度係数を送信するレートの制御のために映像符号器２０において用いてもよい。符号化サイクル０では、以上述べられたシンタックスエレメントのすべてが最初のサイクルで送信されるように、これら二つのフラグを常に１にセットしてもよい。これらのシンタックスエレメントを送るときのビットは遅延するが、それでもマクロブロックの最初の符号化サイクル内で送信することができる。ビットストリームを切り詰める場合、ビットのこのマイナーシャッフルが符号化の性能にあまり影響を及ぼすべきでない。
【００９５】
以下のテーブル４に示すように、ＦＧＳスライスのＭＢヘッダーを定義してもよい。特に、ＭＢヘッダーのこの特別の例は、粒子の粗いＳＮＲスケーラビリティ（ＣＧＳ）レイヤのそれに類似する同じ構造を持ってもよい。
【表５】
2009544196.tif 000007
【００９６】
ＣＡＦおよび関連する符号化技術では、この開示で説明するように、ＦＧＳスライスのための復号処理は、個別のエンハンスメントレイヤ用の復号処理に類似してもよく、著しく単純化することができる。ＣＡＦおよび関連する技術は、ＦＧＳスライスのシンタックスの規格をさらに著しく単純化することができる。下記のテーブル５に示されるのは、この開示に記述されたＣＡＦおよび関連するマクロブロックヘッダーが使用される場合の、例えば映像復号器２２内の復号フローの例である。この開示で以上説明された改良または修正が用いられてもよいという点を除いて、リストされていないいくつかの機能はＳＶＣ  ＪＤの中で用いられる機能に類似してもよい。ＣＡＦは、異なるＦＧＳ符号化スキームでも動作することができる。
【００９７】
入力データ（つまりフラグメント内のデータ）のスイッチングはｒｅｓｉｄｕａｌ＿ｂｌｏｃｋ復号化機能の内部で処理されてもよい。入力バッファのスイッチングのコストはフレームベースの復号処理に関連するコストよりもはるかに少ない。
【表６】
2009544196.tif 000008
【表７】
2009544196.tif 000009
【００９８】
下記のテーブル６は、スケーラブルの拡張でのＦＧＳスライス残余ブロックデータのシンタックス例を示す。
【表８】
2009544196.tif 000010
【表９】
2009544196.tif 000011
【００９９】
下記のテーブル７は、有意係数のシンタックス例およびＦＧＳスライスデータＣＡＢＡＣシンタックスにおけるランを示す。
【表１０】
2009544196.tif 000012
【０１００】
下記テーブル８は、ＦＧＳスライスデータＣＡＶＬＣシンタックスにおけるランおよび有意係数のためのシンタックス例を示す。
【表１１】
2009544196.tif 000013
【０１０１】
この開示に記述されたいかなるデバイスも、無線電話機、携帯電話機、ラップトップコンピュータ、無線マルチメディア装置、無線通信パーソナルコンピュータ（ＰＣ）カード、携帯情報端末（ＰＤＡ）、外部または内蔵モデム、ゲーム機器、あるいは無線または有線チャネルを介して通信するあらゆるマルチメディアデバイスのような様々なタイプのデバイスを意味してもよい。そのようなデバイスは、アクセス端末（ＡＴ）、アクセスユニット、加入者ユニット、移動局、モバイルデバイス、モバイルユニット、携帯電話機、モバイル、リモートステーション、リモート端末、リモートユニット、ユーザデバイス、ユーザ機器、ハンドヘルド装置等のように様々な名前を持っていてもよい、
この開示でここに記述された技術は、ハードウェア、ソフトウェア、ファームウェアあるいはそれらの任意の組み合わせで実装してもよい。ソフトウェアで実装する場合、この技術の少なくとも一部を、一つ以上の格納または送信された命令またはプロセッサにかかる技術を実現させるコンピュータプログラム製品のコンピュータ可読媒体のコードによって実現してもよい。コンピュータ可読媒体は、コンピュータ記憶媒体、通信媒体あるいはその両方を含んでいてもよく、ある場所から別の場所へコンピュータプログラムの転送を促進するあらゆる媒体を含んでいてもよい。記憶媒体はコンピュータによってアクセスすることができるあらゆる利用可能な媒体であってもよい。
【０１０２】
限定ではなく例として、そのようなコンピュータ可読媒体は、ＲＡＭのようなデータ記憶媒体、同期型ダイナミックランダムアクセスメモリ（ＳＤＲＡＭ）、読み出し専用メモリ（ＲＯＭ）、不揮発性のランダムアクセスメモリ（ＮＶＲＡＭ）、ＲＯＭ、電気的消去プログラム可能型読出専用メモリ（ＥＥＰＲＯＭ）、ＥＥＰＲＯＭ、ＦＬＡＳＨメモリ、ＣＤ−ＲＯＭまたは他の光ディスク記憶装置、磁気ディスク記憶装置あるいは他の磁気記憶装置、あるいは所望のプログラムコードを命令の形態で搬送しまたは格納するために使用することができる他のコンピュータ可読データ保存媒体、あるいはコンピュータによってアクセスすることができるデータ構造を含むことができる。
【０１０３】
さらに、いかなる接続もコンピュータ可読媒体と称するのが適切である。例えば、同軸ケーブル、光ファイバケーブル、ツイストペア、デジタル加入者線（ＤＳＬ）、あるいは赤外線、電波およびマイクロ波のような無線技術を使用してソフトウェアがウェブサイト、サーバーあるいは他のリモートソースから送信される場合、同軸ケーブル、光ファイバケーブル、ツイストペア、ＤＳＬ、あるいは赤外線、電波およびマイクロ波のような無線技術は媒体の定義に含まれる。ここで使用されるディスク（ｄｉｓｋ）およびディスク（ｄｉｓｃ）は、コンパクトディスク（ＣＤ）、レーザーディスク（登録商標）、光ディスク、デジタルバーサタイルディスク（ＤＶＤ）、フロッピー（登録商標）ディスクおよびブルーレイディスクを含む。通常、ディスク（ｄｉｓｋ）は磁気的にデータを再生し、ディスク（ｄｉｓｃ）は光学的（例えばレーザ）にデータを再生する。また上記の組み合わせもコンピュータ可読媒体の範囲に含まれているべきである。
【０１０４】
コンピュータプログラム製品のコンピュータ可読媒体に関連するコードは、コンピュータ、例えば一つ以上のデジタル信号プロセッサ（ＤＳＰ）、汎用マイクロプロセッサ、特定用途向け集積回路（ＡＳＩＣ）、フィールドプログラマブルロジックアレイ（ＦＰＧＡ）、他の等価な集積あるいは個別の論理回路類のような一つ以上のプロセッサによって実行されてもよい。いくつかの態様では、ここに記述された機能性が、専用ソフトウェアモジュールまたは符号化および復号のために構成されたハードウェアモジュール内に設けられてもよく、あるいは複合型映像符号復号器（ＣＯＤＥＣ）に組み入れられてもよい。
【０１０５】
この開示の種々の態様を説明した。これらの態様および他の態様は添付の請求項の範囲内である。
【図１】
2009544196.tif 000014
【図２】
2009544196.tif 000015
【図３】
2009544196.tif 000016
【図４】
2009544196.tif 000017
【図５】
2009544196.tif 000018
【図６】
2009544196.tif 000019
【図７】
2009544196.tif 000020
【図８】
2009544196.tif 000021
【図９】
2009544196.tif 000022
【図１０】
2009544196.tif 000023
【図１１】
2009544196.tif 000024
【図１２】
2009544196.tif 000025
【図１３】
2009544196.tif 000026
【図１４】
2009544196.tif 000027
【国際調査報告】
2009544196.tif 000028
2009544196.tif 000029