(57)【要約】  ブロックに基づく映像コーディングにおいて用いられる符号化ブロックパターン（ＣＢＰ）に関する可変長コーディング（ＶＬＣ）技法が説明される。ＣＢＰのＶＬＣにおいては、発生する可能性がより高い変換係数のパターンは、より短い符号でコーディングされ、発生する可能性がより低い係数のパターンは、より長い符号でコーディングされる。この開示の技法により、幾つかの異なるＶＬＣテーブルがコーディングデバイスに格納される。符号化及び復号プロセス中に、所定の映像ブロックに関してＶＬＣテーブルのうちの１つが選択されてＣＢＰのコーディングを実行するために用いられる。前記テーブルは、ゼロでない変換係数を含む現在の映像ブロックに隣接する映像ブロックの数に基づいて選択することができる。前記技法は、スケーラブル映像コーディング（ＳＶＣ）における拡張層の映像ブロックのコーディングにおいて特に有用であることができる。【選択図】図７
2010531552.tif 000002
【特許請求の範囲】
【請求項１】
方法であって、
ゼロでない変換係数を含む現在の映像ブロックに隣接する映像ブロックの数に基づいて複数のテーブルから前記現在の映像ブロックに関する可変長コーディング（ＶＬＣ）テーブルを選択することと、
前記選択されたＶＬＣテーブルを用いて前記現在の映像ブロックの１つ以上の符号化ブロックパターン（ＣＢＰ）をコーディングすること、とを備える、方法。
【請求項２】
１つ以上のＣＢＰをコーディングすることは、前記ＣＢＰを符号化することを備える請求項１に記載の方法。
【請求項３】
１つ以上のＣＢＰをコーディングすることは、前記ＣＢＰを復号することを備える請求項１に記載の方法。
【請求項４】
ゼロでない変換係数を含む現在の映像ブロックに隣接する映像ブロックの数に基づいて前記現在の映像ブロックに関するテーブルインデックス値を計算することと、
前記テーブルインデックスに基づいて前記ＶＬＣテーブルを選択すること、とをさらに備える請求項１に記載の方法。
【請求項５】
前記現在の映像ブロックは、１６×１６マクロブロックを備え、前記隣接する映像ブロックは、前記現在の映像ブロックの左の第１の隣接マクロブロック及び前記現在の映像ブロックの上方の第２の隣接マクロブロックと関連づけられた８×８ルマブロックを備える請求項４に記載の方法。
【請求項６】
前記テーブルインデックス値は、
前記第１の隣接マクロブロック及び前記第２の隣接マクロブロックの両方に関してゼロでない変換係数の情報が存在するときにはＮ＝（Ｎ（１）＋Ｎ（ｕ））／２＋１として、  
ゼロ以外の変換係数の情報が前記第１の隣接マクロブロックに関して存在するが前記第２の隣接マクロブロックに関しては存在しないときにはＮ＝Ｎ（１）＋１として、及び、
ゼロでない変換係数の情報が前記第２の隣接マクロブロックに関して存在するが前記第１の隣接マクロブロックに関しては存在しないときにはＮ＝Ｎ（ｕ）＋１として計算され、
Ｎは、前記テーブルインデックス値を表し、Ｎ（１）は、ゼロでない変換係数を含む前記現在の映像ブロックの左の隣接ルマブロックの数を表し、Ｎ（ｕ）は、ゼロでない変換係数を含む前記現在の映像ブロックの上方の隣接ルマブロックの数を表す請求項５に記載の方法。
【請求項７】
前記複数のテーブルは、以下のテーブル１（表１−１、表１−２）から形成されたテーブルを備える。
【表１−１】
2010531552.tif 000005
【表１−２】
2010531552.tif 000006
前記複数のテーブルの各々は、テーブル１のテーブルインデックス列のうちの１つと結合されたテーブル１の符号番号列を備え、前記符号化ブロックパターンをコーディングすることは、前記計算されたテーブルインデックスに対応するテーブル１の列内に記入されたＣＢＰ値に関する符号番号を前記符号番号列から選択することを備える請求項６に記載の方法。
【請求項８】
前記現在の映像ブロックは、１６×１６マクロブロックを備え、前記隣接映像ブロックは、前記現在の映像ブロックの左の第１の隣接マクロブロック及び前記現在の映像ブロックの上方の第２の隣接マクロブロックと関連づけられた８×８ルマブロックと１つ以上の８×８クロマブロックとを備える請求項１に記載の方法。
【請求項９】
無線通信デバイス（ＷＣＤ）において実行される請求項１に記載の方法。
【請求項１０】
スケーラブルビデオコーディング（ＳＶＣ）において拡張層の映像ブロックに関して実行される請求項１に記載の方法。
【請求項１１】
デバイスであって、
ゼロでない変換係数を含む現在の映像ブロックに隣接する映像ブロックの数に基づいて複数のテーブルから前記現在の映像ブロックに関する可変長コーディング（ＶＬＣ）テーブルを選択し、
前記選択されたＶＬＣテーブルを用いて前記現在の映像ブロックの１つ以上の符号化ブロックパターン（ＣＢＰ）をコーディングするように構成された可変長コーディング（ＶＬＣ）ユニットを備えるデバイス。
【請求項１２】
前記ＶＬＣユニットは、前記１つ以上のＣＢＰを符号化する請求項１１に記載のデバイス。
【請求項１３】
前記ＶＬＣユニットは、前記１つ以上のＣＢＰを復号する請求項１１に記載のデバイス。
【請求項１４】
前記ＶＬＣユニットは、
ゼロでない変換係数を含む前記現在の映像ブロックに隣接する映像ブロックの数に基づいて前記現在の映像ブロックに関するテーブルインデックス値を計算し、
前記テーブルインデックスに基づいて前記ＶＬＣテーブルを選択するように構成される請求項１１に記載のデバイス。
【請求項１５】
前記現在の映像ブロックは、１６×１６マクロブロックを備え、前記隣接する映像ブロックは、前記現在の映像ブロックの左の第１の隣接マクロブロック及び前記現在の映像ブロックの上方の第２の隣接マクロブロックと関連づけられた８×８ルマブロックを備える請求項１４に記載のデバイス。
【請求項１６】
前記ＶＬＣユニットは、前記テーブルインデックス値を、
前記第１の隣接マクロブロック及び前記第２の隣接マクロブロックの両方に関してゼロでない変換係数の情報が存在するときにはＮ＝（Ｎ（１）＋Ｎ（ｕ））／２＋１として、  
ゼロでない変換係数の情報が前記第１の隣接マクロブロックに関して存在するが前記第２の隣接マクロブロックに関しては存在しないときにはＮ＝Ｎ（１）＋１として、及び、
ゼロでない変換係数の情報が前記第２の隣接マクロブロックに関して存在するが前記第１の隣接マクロブロックに関しては存在しないときにはＮ＝Ｎ（ｕ）＋１として計算され、
Ｎは、前記テーブルインデックスを表し、Ｎ（１）は、ゼロでない変換係数を含む前記現在の映像ブロックの左の隣接ルマブロックの数を表し、Ｎ（ｕ）は、ゼロでない変換係数を含む前記現在の映像ブロックの上方の隣接ルマブロックの数を表す請求項１５に記載のデバイス。
【請求項１７】
前記複数のテーブルは、以下のテーブル１（表２−１、表２−２）から形成されたテーブルを備える請求項１６に記載のデバイス。
【表２−１】
2010531552.tif 000007
【表２−２】
2010531552.tif 000008
前記複数のテーブルの各々は、テーブル１のテーブルインデックス列のうちの１つと結合されたテーブル１の符号番号列を備え、前記符号化ブロックパターンをコーディングすることは、前記計算されたテーブルインデックスに対応するテーブル１の列内に記入されたＣＢＰ値に関する符号番号を前記符号番号列から選択することを備える請求項１６に記載のデバイス。
【請求項１８】
前記デバイスは、前記複数のテーブルを格納するメモリを備え、前記ＶＬＣユニットは、
前記テーブルインデックス値を計算するテーブルインデックス計算ユニットと、
前記テーブルインデックスに基づいて前記複数のテーブルから前記ＶＬＣテーブルを選択し、前記選択されたＶＬＣテーブルを用いて前記現在の映像ブロックの前記ＣＢＰをコーディングするモジュールと、を備える請求項１４に記載のデバイス。
【請求項１９】
前記メモリは、前記デバイスの前記ＶＬＣユニット内に常駐する請求項１８に記載のデバイス。
【請求項２０】
前記現在の映像ブロックは、１６×１６マクロブロックを備え、前記隣接する映像ブロックは、前記現在の映像ブロックの左の第１の隣接マクロブロック及び前記現在の映像ブロックの上方の第２の隣接マクロブロックと関連づけられた８×８ルマブロックと１つ以上の８×８クロマブロックとを備える請求項１１に記載のデバイス。
【請求項２１】
前記デバイスは、
回路、及び
無線通信デバイスのうちの少なくとも１つを備える請求項１１に記載のデバイス。
【請求項２２】
前記現在の映像ブロックは、スケーラブルビデオコーディング（ＳＶＣ）において拡張層の映像ブロック備える請求項１１に記載のデバイス。
【請求項２３】
デバイスであって、
ゼロでない変換係数を含む現在の映像ブロックに隣接する映像ブロックの数に基づいて複数のテーブルから前記現在の映像ブロックに関する可変長コーディング（ＶＬＣ）テーブルを選択するための手段と、
前記選択されたＶＬＣテーブルを用いて前記現在の映像ブロックの１つ以上の符号化ブロックパターン（ＣＢＰ）をコーディングするための手段と、を備える、デバイス。
【請求項２４】
コンピュータによって読み取り可能な媒体であって、
映像コーディングデバイスにおいて実行された時点で、
ゼロでない変換係数を含む現在の映像ブロックに隣接する映像ブロックの数に基づいて複数のテーブルから前記現在の映像ブロックに関する可変長コーディング（ＶＬＣ）テーブルを選択し、
前記選択されたＶＬＣテーブルを用いて前記現在の映像ブロックの１つ以上の符号化ブロックパターン（ＣＢＰ）をコーディングすることを前記デバイスに行わせる命令を備える、コンピュータによって読み取り可能な媒体。
【請求項２５】
命令は、
ゼロでない変換係数を含む前記現在の映像ブロックに隣接する映像ブロックの数に基づいて前記現在の映像ブロックに関するテーブルインデックス値を計算し、
前記テーブルインデックスに基づいて前記ＶＬＣテーブルを選択することを前記デバイスに行わせる請求項２４に記載のコンピュータによって読み取り可能な媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本特許出願は、参照されることによってその全内容がここに組み入れられている、米国仮特許出願番号６０／８８３，５９１（出願日：２００７年１月８日）の利益を主張するものである。
【０００２】
この開示は、デジタル映像コーディングに関するものである。この開示は、より具体的には、映像情報をコーディングするために用いられる符号化ブロックパターン（ＣＢＰ）の可変長コーディング（ＶＬＣ）に関するものである。
【背景技術】
【０００３】
デジタル映像能力は、デジタルテレビ、デジタル直接放送システム、無線通信デバイス、無線放送システム、パーソナルデジタルアシスタント（ＰＤＡ）、ラップトップ又はデスクトップコンピュータ、デジタルカメラ、デジタル記録デバイス、ビデオゲーム装置、ビデオゲームコンソール、携帯電話、衛星無線電話、等を含む広範なデバイス内に組み込むことができる。デジタル映像デバイスは、デジタル映像をより効率的に送信及び受信するための映像圧縮技法、例えばＭＰＥＧ−２、ＭＰＥＧ−４、又はＨ．２６４／ＭＰＥＧ−４、Ｐａｒｔ１０、アドバンストビデオコーディング（ＡＶＣ）、を実装する。映像圧縮技法は、空間予測及び時間予測を行って映像信号に固有の冗長性を低減させる又は除去する。
【０００４】
映像コーディングにおいては、映像圧縮は、一般的には、空間予測と、動き推定と、動き補償と、を含む。イントラコーディングは、空間予測に依存し、所定の映像フレーム内の映像ブロック間における空間的冗長性を低減させる又は除去する。インターコーディングは、時間予測に依存し、映像シーケンスの連続する映像フレームから成る映像ブロック間における時間的冗長性を低減させる又は除去する。インターコーディングに関しては、映像符号器は、動き推定を行って２つ以上の隣接フレーム間におけるマッチする映像ブロックの移動を追跡する。動き推定は、１つ以上の基準フレーム内の対応する予測映像ブロックに関する映像ブロックの変位を示す動きベクトルを生成する。動き補償は、この動きベクトルを用いて基準フレームから予測映像ブロックを生成する。動き補償後は、原映像ブロックから予測映像ブロックを減じることによって残差（ｒｅｓｉｄｕａｌ）映像ブロックが形成される。
【０００５】
映像符号器は、通常は、変換、量子化及び可変長コーディング（ＶＬＣ）プロセスを適用して残差ブロックの通信と関連づけられたビットレートをさらに小さくする。ＶＬＣは、算術符号又は可変長符号を適用して変換演算及び量子化演算によって生成された残差係数をさらに圧縮することを含む。ＶＬＣの一例は、コンテキスト適応型可変長コーディング（ＣＡＶＬＣ）である。情報がいったんコーディングされた時点で、他のデバイスに送ることができる。受信デバイスにおいては、映像復号器が各々のブロックに関して動き情報及び残差情報を用いて逆演算を行い、符号化された映像を再構築する。
【０００６】
ある映像コーディングは、スケーラブルな技法を利用する。例えば、スケーラブルビデオコーディング（ＳＶＣ）は、基本層及び１つ以上のスケーラブル拡張層が用いられる映像コーディングを指す。ＳＶＣの場合は、基本層は、典型的には、基本レベルの品質を有する映像データを搬送する。１つ以上の拡張層は、より高い空間、時間及び／又はＳＮＲレベルをサポートするための追加の映像データを搬送する。基本層は、拡張層の送信よりも信頼できる形で送信することができる。例えば、基本層を送信するために変調信号の最も信頼できる部分を用いることができ、拡張層を送信するために変調信号のそれよりも信頼性が低い部分を用いることができる。
【発明の概要】
【０００７】
一般的には、この開示は、映像ブロックの符号化ブロックパターン（ＣＢＰ）をコーディングするための技法について説明する。ＣＢＰは、映像ブロック内の係数パターンにマッピングする情報を介してコーディングされる前記映像ブロック内の係数パターンを指す。異なるＣＢＰをコーディングするために、発生する可能性がより高い係数パターンはより短い符号でコーディングされ、発生する可能性がより低い係数パターンはより長い符号でコーディングされる可変長コーディング（ＶＬＣ）技法を用いることができる。コーディングされた映像ブロックは、ＣＢＰが用いられていることを示すためのフラグ又はその他の情報をヘッダ内に含めることができる。
【０００８】
この開示の技法により、幾つかの異なるＶＬＣテーブルがコーディングデバイス内に格納される。符号化プロセス及び復号プロセス中に、所定の映像ブロックに関して、前記ＶＬＣテーブルの１つが選択され、ＣＢＰのコーディングを行うために用いられる。前記テーブルは、コーディング効率を促進する形で選択することができる。そのために、前記技法は、映像フレーム内での空間的冗長性現象を利用することができる。具体的には、この開示の技法は、ゼロでない変換係数を含む現在の映像ブロックに隣接する映像ブロックの数に基づいて前記現在の映像ブロックのＣＢＰ  ＶＬＣに関するテーブル選択を行うことができる。前記技法は、スケーラブルビデオコーディング（ＳＶＣ）における拡張層の映像ブロックのコーディングにおいて特に有用であることができる。
【０００９】
一例においては、この開示は、ゼロでない変換係数を含む現在の映像ブロックに隣接する映像ブロックの数に基づいて複数のテーブルから前記現在の映像ブロックに関するＶＬＣテーブルを選択することと、前記選択されたＶＬＣテーブルを用いて前記現在の映像ブロックの１つ以上のＣＢＰをコーディングすること、とを備える方法を提供する。
【００１０】
他の例においては、この開示は、ゼロでない変換係数を含む現在の映像ブロックに隣接する映像ブロックの数に基づいて複数のテーブルから前記現在の映像ブロックに関するＶＬＣテーブルを選択し、前記選択されたＶＬＣテーブルを用いて前記現在の映像ブロックの１つ以上のＣＢＰをコーディングするように構成されたＶＬＣユニットを備えるデバイスを提供する。
【００１１】
他の例においては、この開示は、ゼロでない変換係数を含む現在の映像ブロックに隣接する映像ブロックの数に基づいて複数のテーブルから前記現在の映像ブロックに関するＶＬＣテーブルを選択するための手段と、前記選択されたＶＬＣテーブルを用いて前記現在の映像ブロックの１つ以上のＣＢＰをコーディングするための手段と、を備えるデバイスを提供する。
【００１２】
この開示において説明される技法は、ハードウェア、ソフトウェア、ファームウェア、又はそのいずれかの組み合わせにおいて実装することができる。ソフトウェア内に実装される場合は、前記ソフトウェアは、１つ以上のプロセッサ、例えば、マイクロプロセッサ、特定用途向け集積回路（ＡＳＩＣ）、フィールドプログラマブルゲートアレイ（ＦＰＧＡ）、又はデジタル信号プロセッサ（ＤＳＰ）等、において実行することができる。前記技法を実行するソフトウェアは、最初にコンピュータによって読み取り可能な媒体内に格納し、プロセッサにローディングして実行することができる。
【００１３】
従って、この開示は、映像コーディングデバイスにおいて実行された時点で、ゼロでない変換係数を含む現在の映像ブロックに隣接する映像ブロックの数に基づいて複数のテーブルから前記現在の映像ブロックに関するＶＬＣテーブルを選択すること、及び前記選択されたＶＬＣテーブルを用いて前記現在の映像ブロックの１つ以上のＣＢＰをコーディングすることを前記デバイスに行わせる命令を備えるコンピュータによって読み取り可能な媒体も企図する。いくつの場合においては、コンピュータによって読み取り可能な媒体は、製造者に対して販売すること及び／又は映像コーディングデバイスにおいて用いることができるコンピュータプログラム製品の一部を成すことができる。前記コンピュータプログラム製品は、コンピュータによって読み取り可能な媒体を含むことができ、幾つかの場合においてはパッケージング材料を含むこともできる。
【００１４】
その他の場合においては、この開示は、ここにおいて説明される技法のうちの１つ以上を実行するように構成された回路、例えば集積回路、チップセット、特定用途向け集積回路（ＡＳＩＣ）、フィールドプログラマブルゲートアレイ（ＦＰＧＡ）、論理、又はその様々な組み合わせ、を対象とすることができる。
【００１５】
開示の１つ以上の側面の詳細が添付図面及び以下の説明において示される。この開示において説明される技法のその他の特徴、目的、及び利点が、以下の説明と図面から、及び請求項から明確になるであろう。
【図面の簡単な説明】
【００１６】
【図１】映像符号化及び復号システムを示す典型的ブロック図である。
【図２】スケーラブル映像ビットストリームの基本層及び拡張層の映像フレームを示す概念図である。
【図３】この開示に一致する映像符号器の例を示すブロック図である。
【図４】この開示に一致する映像復号器の例を示すブロック図である。
【図５】可変長コーディング（ＶＬＣ）符号化ユニットの典型的ブロック図である。
【図６】ＶＬＣ復号ユニットの典型的ブロック図である。
【図７】この開示に一致する符号化ブロックパターン（ＣＢＰ）をコーディングするためのＶＬＣ技法を示す流れ図である。
【発明を実施するための形態】
【００１７】
図１は、映像符号化及び復号システム１０を示すブロック図である。図１に示されるように、システム１０は、通信チャネル１５を介して符号化された映像を受信デバイス１６に送信するソースデバイス１２を含む。ソースデバイス１２は、映像ソース２０と、映像符号器２２と、変調器／送信機２４と、を含むことができる。受信デバイス１６は、受信機／復調器２６と、映像復号器２８と、表示デバイス３０と、を含むことができる。システム１０は、映像情報の符号化ブロックパターン（ＣＢＰ）の可変長コーディング（ＶＬＣ）に関する技法を適用するように構成することができる。
【００１８】
ＣＢＰは、映像ブロック内の係数パターンにマッピングする情報を介してコーディングされる前記映像ブロック内の係数パターンを指す。幾つかのフォーマットにおいては、ＣＢＰは、４ビットの係数の組を備え、各映像ブロックに関して幾つかのＣＢＰがコーディングされる。しかしながら、より長い又はより短いＣＢＰを定義可能である。異なるＣＢＰをコーディングするために、発生する可能性がより高い係数パターンはより短い符号でコーディングされ、発生する可能性がより低い係数パターンはより長い符号でコーディングされるＶＬＣ技法を用いることができる。コーディングされた映像ブロックは、コーディング方式においてＣＢＰが用いられていることを示すためのフラグ又はその他の情報をヘッダ内に含めることができる。
【００１９】
この開示の技法により、幾つかの異なるＶＬＣテーブルがコーディングデバイス１２、１６の各々の映像符号器２２及び映像復号器２８内に格納される。符号化プロセス及び復号プロセス中に、所定の映像ブロックに関して、ＶＬＣテーブルのうちの１つが選択され、ＣＢＰの符号化又は復号を実行するために用いられる。符号化及び復号は、ここにおいては一般的にはコーディングと呼ぶことができる。このテーブルは、コーディング効率を促進する形で選択することができる。例えば、映像符号器２２及び映像復号器２８は、映像フレーム内での空間的冗長性現象を利用することができる。具体的には、映像符号器２２及び映像復号器２８は、ゼロでない変換係数を含む現在の映像ブロックに隣接する映像ブロックの数に基づいて前記現在の映像ブロックのＣＢＰ  ＶＬＣに関するテーブル選択を行うことができる。これらの技法は、スケーラブルビデオコーディング（ＳＶＣ）における拡張層の映像ブロックのコーディングにおいて特に有用であることができる。
【００２０】
図１の例においては、通信チャネル１５は、無線又は有線の通信媒体、例えば無線周波数（ＲＦ）スペクトル又は１つ以上の物理的送信ライン、又は無線媒体と有線媒体の組み合わせ、を備えることができる。通信チャネル１５は、パケットに基づくネットワーク、例えばローカルエリアネットワーク、ワイドエリアネットワーク、又はグローバルネットワーク、例えばインターネット、の一部を形成することができる。通信チャネル１５は、一般的には、ソースデバイス１２から受信デバイス１６に映像データを送信するための適切な通信媒体、又は異なる通信媒体の集合を表す。
【００２１】
ソースデバイス１２は、受信デバイス１６に送信するためのコーディングされた映像データを生成する。しかしながら、幾つかの場合においては、デバイス１２、１６は、実質的に対称的に動作することができる。例えば、デバイス１２、１６の各々は、映像符号化及び復号構成要素を含むことができる。従って、システム１０は、例えば映像ストリーミング、映像放送、又はビデオテレフォニーのための映像デバイス１２、１６間における１方向又は２方向の映像送信をサポートすることができる。
【００２２】
ソースデバイス１２の映像ソース２０は、映像キャプチャデバイス、例えばビデオカメラ、以前にキャプチャされた映像を含む映像アーカイブ、又は映像コンテンツプロバイダからの映像フィードを含むことができる。さらなる代替として、映像ソース２０は、コンピュータグラフィックに基づくデータをソース映像として生成すること、又はライブ映像とコンピュータによって生成された映像の組み合わせを生成することができる。幾つかの場合においては、映像ソース２０がビデオカメラである場合は、ソースデバイス１２及び受信デバイス１６は、いわゆるカメラフォン又はビデオフォンを形成することができる。各場合において、キャプチャされた、予めキャプチャされた又はコンピュータによって生成された映像は、映像ソースデバイス１２から変調器／送信機２２、通信チャネル１５及び受信機／復調器２６を介して映像受信デバイス１６の映像復号器２８に送信するために映像符号器２２によって符号化することができる。映像符号化及び復号プロセスは、ここにおいて説明されるように、これらのプロセスを改良するためにＣＢＰに関するＶＬＣ技法を実装することができる。表示デバイス３０は、復号された映像データをユーザーに表示し、及び様々な表示デバイス、例えば陰極線管、液晶ディスプレイ（ＬＣＤ）、プラズマディスプレイ、有機発光ダイオード（ＯＬＥＤ）ディスプレイ、又は他の型の表示デバイス、のうちのいずれかを備えることができる。
【００２３】
映像符号器２２及び映像復号器２８は、空間、時間及び／又は信号対雑音比（ＳＮＲ）スケーラビリティに関するスケーラブルビデオコーディング（ＳＶＣ）をサポートするように構成することができる。幾つかの場合においては、映像符号器２２及び映像復号器２８は、ＳＶＣに関する細粒度ＳＮＲスケーラビリティ（ＦＧＳ）コーディングをサポートするように構成することができる。符号器２２及び復号器２８は、基本層及び１つ以上のスケーラブル拡張層の符号化、送信及び復号をサポートすることによって様々なスケーラビリティ度をサポートすることができる。スケーラブル映像コーディングに関しては、基本層は、基準レベルの品質を有する映像データを搬送する。１つ以上の拡張層は、より高い空間、時間及び／又はＳＮＲレベルをサポートするための追加データを搬送する。基本層は、拡張層の送信よりも信頼できる形で送信することができる。例えば、基本層を送信するために変調信号の最も信頼できる部分を用いることができ、拡張層を送信するために変調信号の信頼性がより低い部分を用いることができる。
【００２４】
ＳＶＣをサポートするために、映像符号器２２は、基本層及び１つ以上の拡張層の符号化をそれぞれ行うための基本層符号器３２と１つ以上の拡張層符号器３４とを含むことができる。この開示の技法は、ゼロでない変換係数を含む現在の映像ブロックに隣接する映像ブロックの数に基づいてその現在の映像ブロックのＣＢＰ  ＶＬＣに関するテーブル選択を含み、ＳＶＣにおける拡張層の映像ブロックのコーディングにおいて特に有用であることができる。
【００２５】
映像復号器２８は、基本層及び拡張層の両方と関連づけられた映像ブロックを復号し、復号された映像を結合して映像シーケンスのフレームを再構築する結合された基本／拡張復号器を備えることができる。表示デバイス３０は、復号された映像シーケンスを受け取り、その映像シーケンスをユーザーに提示する。
【００２６】
映像符号器２２及び映像復号器２８は、映像圧縮基準、例えばＭＰＥＧ−２、ＭＰＥＧ−４、ＩＴＵ−Ｔ  Ｈ．２６３又はＩＴＵ−Ｔ  Ｈ．２６４／ＭＰＥＧ−４，Ｐａｒｔ１０、アドバンストビデオコーディング（ＡＶＣ）、等に従って動作することができる。図１には示されていないが、幾つかの側面においては、映像符号器２２及び映像復号器２８は、各々が、音声符号器及び復号器と統合することができ、及び、共通のデータストリーム又は別個のデータストリーム内における音声及び映像の両方の符号化を処理するための適切なＭＵＸ−ＤＥＭＵＸユニット、又はその他のハードウェアと、ソフトウェアとを含むことができる。該当する場合は、ＭＵＸ−ＤＥＭＵＸユニットは、ＩＴＵ  Ｈ．２２３マルチプレクサプロトコル、又はその他のプロトコル、例えばユーザーデータグラムプロトコル（ＵＤＰ）、に準拠することができる。
【００２７】
Ｈ．２６４／ＭＰＥＧ−４（ＡＶＣ）基準は、ＩＴＵビデオ・コーディング・エキスパーツ・グループ（ＶＣＥＧ）がＩＳＯ／ＩＥＣムービング・ピクチャ・エキスパーツ・グループ（ＭＰＥＧ）と共同で、ジョイントビデオチーム（ＪＶＴ）と呼ばれる共同パートナーシップの産物として策定したものである。幾つか側面においては、この開示において説明される技法は、一般的にはＨ．２６４基準に準拠するデバイスに適用することができる。Ｈ．２６４基準については、ＩＴＵ−研究グループによる２００５年３月付ＩＴＵ−Ｔ勧告Ｈ．２６４、一般的オーディオビジュアルサービスに関するアドバンストビデオコーディング、において説明されており、ここでは、Ｈ．２６４基準又はＨ．２６４仕様、又はＨ．２６４／ＡＶＣ基準又は仕様と呼ばれることがある。
【００２８】
ジョイントビデオチーム（ＪＶＴ）では、Ｈ．２６４／ＭＰＥＧ−４  ＡＶＣへのスケーラブルビデオコーディング（ＳＶＣ）拡張作業を継続中である。進展中のＳＶＣ拡張の仕様は、ジョイントドラフト（ＪＤ）の形になっている。ＪＶＴによって構築されたジョイントスケーラブルビデオモデル（ＪＳＶＭ）は、スケーラブル映像において用いるためのツールを実装しており、これらのツールは、システム１０内において、この開示において説明される様々なコーディングタスクに関して用いることができる。ジョイントドラフト文書、特に、ジョイントドラフト６（ＳＶＣ  ＪＤ６）、トーマス・ウィーガント（Thomas Wiegand）、ゲーリー・サリバン（Gary Sullivan）、ジュリアン・レイシェル（Julien Reichel）、ハイコ・シュワルツ（Heiko Schwarz）、及びマチアス・ウィーン（Mathias Wien）“Joint Draft 6: Scalable Video Coding”（ジョイントドラフト６：スケーラブルビデオコーディング）、JVT-S 201, April 2006, Genevaにおいて、及びジョイントドラフト９（ＳＶＣ  ＪＤ９）、トーマス・ウィーガント、ゲーリー・サリバン、ジュリアン・レイシェル、ハイコ・シュワルツ、及びマチアス・ウィーン“Joint Draft 9 of SVC Amendment”（ＳＶＣ修正ジョイントドラフト９）JVT-V 201, January 2007, Marrakech, Moroccoにおいて、細粒度ＳＮＲスケーラビリティ（ＦＧＳ）コーディングに関する詳細情報を見つけることができる。さらに、ここにおいて説明される技法の１つの実装のさらなる詳細を、モロッコのマラケシュで開催された第２２回会議において２００７年１月１３日〜１９日にマルタ・カルツェウィッツ（Marta Karczewicz）、ヒュクジュン・チュン（Hyukjune Chung）及びプーム・サゲトン（Phoom Sagetong）によってＩＳＯ／ＩＥＣ  ＭＰＥＧ及びＩＴＵ−Ｔ  ＶＣＥＧのＪＶＴに提出された提案文書ＪＶＴ−Ｖ０９２において見つけることができる。
【００２９】
幾つかの側面においては、映像放送に関して、この開示において説明される技法は、技術基準ＴＩＡ−１０９９（“ＦＬＯ仕様”）として発行予定の順方向リンク専用（ＦＬＯ）エアインタフェース仕様“Forward Link Only Air Interface Specification for Terrestrial Mobile Multimedia Multicast”（地上移動マルチメディアマルチキャストに関する順方向リンク専用エアインタフェース仕様）を用いて地上移動マルチメディアマルチキャスト（ＴＭ３）システムにおいてリアルタイム映像サービスを引き渡すための拡張Ｈ．２６４映像コーディングに対して適用することができる。すなわち、通信チャネル１５は、ＦＬＯ仕様に従って無線映像情報を放送するために用いられる無線情報チャネル、等を備えることができる。ＦＬＯ仕様は、ＦＬＯエアインタフェースに適するビットストリーム構文及び意味論及び復号プロセスを定義する例を含む。代替として、その他の基準、例えばＤＶＢ−Ｈ（デジタル映像放送−ハンドヘルド）、ＩＳＤＢ−Ｔ（総合サービスデジタル放送−地上）、又はＤＭＢ（デジタルメディア放送）、等に従って映像を放送することができる。従って、ソースデバイス１２は、モバイル無線端末、映像ストリーミングサーバー、又は映像放送サーバーであることができる。しかしながら、この開示において説明される技法は、特定の型の放送、マルチキャスト、又はポイント・ツー・ポイントシステムに限定されない。放送の場合は、ソースデバイス１２は、図１の受信デバイス１６と同様であることができる複数の受信デバイスに対して幾つかのチャネルの映像データを放送することができる。一例として、受信デバイス１６は、無線通信デバイス、例えばセルラーラジオテレフォンと共通して呼ばれるモバイルハンドセット、を備えることができる。
【００３０】
映像符号器２２及び映像復号器２８は、各々、１つ以上のマイクロプロセッサ、デジタル信号プロセッサ（ＤＳＰ）、特定用途向け集積回路（ＡＳＩＣ）、フィールドプログラマブルゲートアレイ（ＦＰＧＡ）、ディスクリートロジック、ソフトウェア、ハードウェア、ファームウェア又はその組み合わせとして実装することができる。映像符号器２２及び映像復号器２８の各々は、１つ以上の符号器又は復号器に含めることができ、これらのいずれも、各々のモバイルデバイス、加入者デバイス、放送デバイス、サーバー、等において結合された符号器／復号器（ＣＯＤＥＣ）の一部として統合することができる。さらに、ソースデバイス１２及び受信デバイス１６は、各々、符号された映像を適宜送信及び受信するための該当する変調、復調、周波数変換、フィルタリング、及び増幅器構成要素を含むことができ、無線通信をサポートする上で十分な無線周波数（ＲＦ）無線構成要素とアンテナとを含む。しかしながら、説明を容易にするため、該構成要素は、ソースデバイス１２の変調器／送信機２４及び図１の受信デバイス１６の受信機／復調器２６として要約されている。
【００３１】
映像シーケンスは、一連の映像フレームを含む。映像符号器２２は、映像データを符号化するために個々の映像フレーム内の画素ブロックに関して動作する。映像ブロックは、固定された又は可変のサイズを有することができ、規定されたコーディング基準に従ってサイズが異なることができる。各映像フレームは、一連のスライスを含む。各スライスは、一連のマクロブロックを含むことができ、これらのマクロブロックは、サブブロックに分けることができる。一例として、ＩＴＵ−Ｔ  Ｈ．２６４基準は、様々なブロックサイズ、例えばルマ成分に関しては１６×１６、８×８、４×４、及びクロマ成分に関しては８×８、におけるイントラ予測、及び様々なブロックサイズ、例えばルマ成分に関しては１６×１６、１６×８、８×１６、８×８、８×４、４×８及び４×４及びクロマ成分に関しては対応するスケーリングされたサイズにおけるインター予測をサポートする。
【００３２】
より小さい映像ブロックは、より良い解像度を提供することができ、より高い細密レベルを含む映像フレームの位置に関して用いることができる。一般的には、マクロブロック（ＭＢ）及び様々なサブブロックは、映像ブロックであるとみなすことができる。さらに、スライスは、一連の映像ブロック、例えばＭＢ及び／又はサブブロックであるとみなすことができる。各スライスは、独立して復号可能なユニットであることができる。予測後は、８×８残差ブロック又は４×４残差ブロックにおいて変換を行うことができ、及び、ｉｎｔｒａ＿１６×１６予測モデルが用いられる場合はクロマ成分又はルマ成分に関して４×４ブロックのＤＣ係数に対して追加変換を適用することができる。
【００３３】
イントラ及びインターに基づく予測コーディングに引き続き、追加のコーディング技法を送信されたビットストリームに適用することができる。これらの追加のコーディング技法は、変換技法（例えば、Ｈ．２６４／ＡＶＣ又は離散コサイン変換ＤＣＴにおいて用いられる４×４又は８×８整数変換）と、可変長コーディングと、を含むことができる。特に、この開示は、映像ブロックのＣＢＰをコーディングするための技法を提供し、符号器２２においてデータを符号化するために及び復号器２６においてデータを復号するために実行することができる。繰り返すと、ＣＢＰは、映像ブロック内における係数パターン、例えば離散コサイン変換された係数又は整数変換係数のパターン、を指す。異なるＣＢＰをコーディングするために、発生する可能性がより高い係数パターンはより短い符号でコーディングされ、発生する可能性がより低い係数パターンはより長い符号でコーディングされるＶＬＣ技法を用いることができる。コーディングされた映像ブロックは、コーディング方式においてＣＢＰが用いられていることを示すためのフラグ又はその他の情報をヘッダ内に含めることができる。
【００３４】
この開示の技法により、幾つかの異なるＶＬＣテーブルがソースデバイス１２及び受信デバイス１６内に格納される。符号化プロセス及び復号プロセス中に、所定の映像ブロックに関して、ＣＢＰのコーディングを行うためのＶＬＣテーブルが選択される。このテーブルは、映像フレーム内における空間冗長性現象を利用することによってコーディング効率を促進する形で選択することができる。具体的には、この開示の技法により、映像符号器２２及び映像復号器２８は、ゼロでない変換係数（例えば、ゼロでないＤＣＴ係数）を含む現在の映像ブロックに隣接する映像ブロックの数に基づいて現在の映像ブロックのＣＢＰ  ＶＬＣに関するテーブル選択を行うことができる。隣接ブロックは、以前にコーディングされたブロックを備えることができ、ゼロでない変換係数を含む隣接ブロック数は、現在の映像ブロックとその隣接ブロックとの間における空間的類似性の尤度に起因する優れたテーブル選択評価基準を現在の映像ブロックのＣＢＰコーディングに関して提供することができる。
【００３５】
一例においては、符号器２２及び復号器２８は、各々が、ゼロでない変換係数を含む現在の映像ブロックに隣接する映像ブロックの数に基づいて現在の映像ブロックに関するテーブルインデックス値を計算し、テーブルインデックスに基づいて複数のテーブルからＶＬＣテーブルを選択する逆数法（ｒｅｃｉｐｒｏｃａｌ  ｍｅｔｈｏｄ）を実行することができる。映像符号器２２は、選択されたＶＬＣテーブルを用いて現在の映像ブロックのＣＢＰを符号化し、映像復号器２８は、選択されたＶＬＣテーブルを用いて現在の映像ブロックのＣＢＰを復号する。符号器２２及び復号器２８は、同じ判定基準に基づいてテーブル選択を行うため、符号化プロセスにおいて所定の映像ブロックに関して選択された同じテーブルが復号プロセスにおいて識別及び選択され、それにより、符号器及び復号器によって適用されるコーディングプロセスが同期化状態にあるようにすべきである。
【００３６】
図２は、スケーラブル映像ビットストリームの基本層１７及び拡張層１８内の映像フレームを示す概略図である。上述されるように、この開示の技法は、拡張層の映像ブロックのコーディングにおいて特に有用であることができる。基本層１７は、第１のレベルの空間、時間、又はＳＮＲスケーラビリティを表す符号化された映像データを含むビットストリームを備えることができる。拡張層１８は、第２のレベルの空間−時間−ＳＮＲスケーラビリティを表す符号化された映像データを含むビットストリームを備えることができる。幾つかの場合においては、拡張層ビットストリームは、基本層と連携してしか復号することができず、独立して復号することはできない。拡張層１８は、基本層１７内の復号された映像データへの参照（ｒｅｆｅｒｅｎｃｅ）を含む。該参照は、最終的な復号された映像データを生成するために変換領域又は画素領域において用いてことができる。
【００３７】
基本層１７及び拡張層１８は、イントラ（Ｉ）フレームと、インター（Ｐ）フレームと、双方向（Ｂ）フレームと、を含むことができる。拡張層１８内のＰフレームは、基本層１７内のＰフレームへの参照に依存する。映像復号器は、拡張層１８及び基本層１７内のフレームを復号することにより、復号された映像の映像品質を向上させることができる。例えば、基本層１７は、１秒当たり１５フレームの最低フレームレートで符号化された映像を含むことができ、拡張層１８は、１秒当たり３０フレームのより高いフレームレートで符号化された映像を含むことができる。異なる品質レベルでの符号化をサポートするために、基本層１７及び拡張層１８は、より高い量子化パラメータ（ＱＰ）及びより低いＱＰによってそれぞれ符号化することができる。さらに、基本層１７は、拡張層１８の送信よりも信頼できる形で送信することができる。一例として、変調された信号の信頼性が最も高い部分を基本層１７を送信するために用いることができ、変調された信号の信頼性がより低い部分を拡張層１８を送信するために用いることができる。基本層及び拡張層は数多くの異なる方法で定義することが可能であるため、図２の例は単なる典型例である。
【００３８】
図３は、この開示と一致するデータを符号化するためのＶＬＣユニット４６を含む映像符号器５０の例を示すブロック図である。図３の映像符号器５０は、図１におけるソースデバイス１２の拡張層符号器３４に対応することができる。すなわち、単純化するため、図３には基本層符号化構成要素は示されていない。従って、映像符号器５０は、拡張層符号器であるとみなすことができる。幾つかの場合においては、映像符号器５０の例示される構成要素は、例えば基本層及び拡張層のスケーラブル映像コーディングをサポートするピラミッド式符号器設計において基本層符号化モジュール又はユニットと組み合わせて実装することも可能である。
【００３９】
映像符号器５０は、映像フレーム内におけるブロックのイントラコーディング及びインターコーディングを行うことができる。イントラコーディングは、空間予測に依存して、所定の映像フレーム内の映像における空間冗長性を低減させる又は除去する。インターコーディングは、時間予測に依存して、映像シーケンスの隣接フレーム内の映像における時間的冗長性を低減させる又は除去する。インターコーディングに関しては、映像符号器５０は、動き推定を行い、２つ以上の隣接フレーム間でのマッチする映像ブロックの移動を追跡する。イントラコーディングに関しては、コーディング対象ブロックに非常にマッチするフレーム内のその他のブロックを識別するための空間予測が用いられる。イントラコーディング空間予測構成要素は、図３には示されていない。
【００４０】
図３において示されるように、映像符号器５０は、符号化対象となる映像フレーム内の現在の映像ブロック３１（例えば、拡張層映像ブロック）を受け取る。図３の例においては、映像符号器５０は、動き推定ユニット３３と、基準フレーム格納装置３５と、動き補償ユニット３７と、ブロック変換ユニット３９と、量子化ユニット４１と、逆量子化ユニット４２と、逆変換ユニット４４と、ＶＬＣユニット４６と、を含む。ブロック境界をフィルタリングしてブロックノイズアーティファクトを除去するためのデブロッキングフィルタ（示されていない）を含めることもできる。映像符号器５０は、アナログ加算器４８とアナログ加算器５１とも含む。図３は、映像ブロックのインターコーディングに関する映像符号器５０の時間予測構成要素を示す。例示を容易にするために図３には示されていないが、映像符号器５０は、幾つかの映像ブロックのイントラコーディングに関する空間予測構成要素を含むこともできる。しかしながら、空間予測構成要素は、通常は、基本層コーディングのみに関して用いられる。
【００４１】
動き推定ユニット３３は、映像ブロック３１を１つ以上の隣接映像フレーム内のブロックと比較して１つ以上の動きベクトルを生成する。隣接フレーム又はフレーム（複数）は、基準フレーム格納装置３５から取り出すことができ、基準フレーム格納装置３５は、以前に符号化されたブロックから再構築された映像ブロックを格納するためのあらゆる型のメモリ又はデータ格納デバイスを備えることができる。動き推定は、可変サイズ、例えば１６×１６、１６×８、８×１６、８×８又はそれよりも小さいブロックサイズのブロックに関して行うことができる。動き推定ユニット３３は、例えばレート歪みモデルに基づいて現在の映像ブロック３１に最もマッチする隣接フレーム内のブロックを識別し、ブロック間での変位を決定する。この決定に基づき、動き推定ユニット３３は、現在の映像ブロック３１と現在の映像ブロック３１をコーディングするために用いられる予測ブロックとの間の変位の規模及び軌道を示す動きベクトル（ＭＶ）（又は双方向予測の場合は複数のＭＶ）を生成する。
【００４２】
動きベクトルは、１／２又は１／４の画素の精度、さらにはそれよりも高い精度を有することができ、映像符号器５０が整数の画素位置よりも高い精度で動きを追跡すること及びより良い予測ブロックを入手することを可能にする。部分画素値を有する動きベクトルが用いられるときには、動き補償ユニット３７において補間演算が行われる。動き推定ユニット３３は、レート歪みモデルを用いて映像ブロックに関する最良の動きベクトルを識別することができる。その結果得られた動きベクトルを用いて、動き補償ユニット３７は、動き補償によって予測映像ブロックを形成する。
【００４３】
映像符号器５０は、アナログ加算器４８において、動き補償ユニット３７によって生成された予測映像ブロックを原映像ブロックである現在の映像ブロック３１から減じることによって残差映像ブロックを形成する。ブロック変換ユニット３９は、残差ブロックに対して変換、例えば離散コサイン変換（ＤＣＴ）を適用し、残差変換ブロック係数を生成する。量子化ユニット４１は、残差変換ブロック係数を量子化してビットレートをさらに小さくする。アナログ加算器４９Ａは、例えば基本層符号器（示されていない）から基本層係数情報を受け取り、この基本層係数情報を拡張層コーディングにおいて供給するためにブロック変換ユニット３９と量子化ユニット４１との間に配置される。特に、アナログ加算器４９Ａは、基本層係数情報をブロック変換ユニット３９の出力から減じる。同様の方法で、アナログ加算器４９Ｂは、逆変換ユニット４４と逆量子化ユニット４２との間に配置され、基本層符号器（示されていない）から基本層係数情報を受け取る。アナログ加算器４９Ｂは、基本層係数情報を戻して逆量子化ユニット４２の出力に加える。
【００４４】
空間予測コーディングは、時間予測コーディングと非常に似た動作をする。しかしながら、時間予測コーディングは、コーディングを行う上で隣接フレーム（又はその他のコーディングされた単位）のブロックに依存し、空間予測は、コーディングを行う上で共通のフレーム（又はその他のコーディングされた単位）内のブロックに依存する。空間予測コーディングはイントラブロックをコーディングし、時間予測コーディングはインターブロックをコーディングする。繰り返すと、単純化のために図３には空間予測構成要素は示されていない。
【００４５】
ＶＬＣコーディングユニット４６は、量子化された変換係数を可変長コーディング法に従ってコーディングし、送信された情報のビットレートをさらに小さくする。特に、ＶＬＣコーディングユニット４６は、ＣＢＰをコーディングするためにこの開示の技法を適用する。このために、ＶＬＣコーディングユニット４６は、ゼロでない変換係数を含む現在の映像ブロックに隣接する映像ブロックの数に基づいて現在の映像ブロックに関するテーブルインデックス値を計算し、テーブルインデックスに基づいて複数のテーブルからＶＬＣテーブルを選択する。次に、ＶＬＣコーディングユニット４６は、選択されたＶＬＣテーブルを用いて現在の映像ブロックのＣＢＰを符号化する。選択されたＶＬＣテーブルは、現在の映像ブロックのＣＢＰに関するコーディング効率を促進することができる。テーブル選択を容易にするために隣接する映像ブロック（特に、ゼロでない変換係数を含む映像ブロック）を用いることは、隣接ブロック間における空間的類似性の確率が高いことに起因する好都合なテーブル選択機構を提供する。隣接する映像ブロックは、例えば、現在の映像ブロックのコーディング前に以前にコーディングされたブロックであることができる。
【００４６】
可変長コーディングに引き続き、符号化された映像を他のデバイスに送信することができる。さらに、逆量子化ユニット４２及び逆変換ユニット４４は、残差ブロックを再構築するために逆量子化及び逆変換をそれぞれ適用する。アナログ加算器５１は、再構築された残差ブロックを動き補償ユニット３７によって生成された動き補償予測ブロックに加え、基準フレーム格納装置３５に格納するための再構築された映像ブロックを生成する。再構築された映像ブロックは、後続する映像フレーム内のブロックを符号化するために動き推定ユニット３３及び動き補償ユニット３７によって用いられる。
【００４７】
図４は、図１の映像復号器２８、又は他のデバイスの復号器に対応することができる映像復号器６０の例を示すブロック図である。映像復号器６０は、拡張層映像ブロックに関して図３のＶＬＣ符号化ユニット４６の逆数関数を実行するＶＬＣ復号ユニット５２Ａを含む。すなわち、ＶＬＣ符号化ユニット４６と同様に、ＶＬＣ復号ユニット５２Ａは、ゼロ以外の変換係数を含む現在の映像ブロックに隣接する映像ブロックの数に基づいて現在の映像ブロックに関するテーブルインデックス値を計算し、テーブルインデックスに基づいて複数のテーブルからＶＬＣテーブルを選択する。次に、ＶＬＣ復号ユニット５２Ａは、選択されたＶＬＣテーブルを用いて現在の映像ブロックのＣＢＰを復号し、この選択されたＶＬＣテーブルは、符号化プロセス中にＶＬＣ符号化ユニット４６によって選択されたテーブルと同じであるべきである。
【００４８】
映像復号器６０は、基本層情報に関する他のＶＬＣユニット５２Ｂを含むこともできる。イントラ予測ユニット５５は、選択的に、基本層映像ブロックの空間復号を行うことができ、イントラ予測ユニット５５の出力は、加算器５３に提供することができる。拡張層経路は、逆量子化ユニット５８Ａを含むことができ、基本層経路は、逆量子化ユニット５６Ｂを含むことができる。基本層経路及び拡張層経路内の情報は、加算器５７によって結合することができる。
【００４９】
映像復号器６０は、映像フレーム内におけるブロックのイントラ復号及びインター復号を行うことができる。図４の例においては、映像復号器６０は、ＶＬＣユニット５２Ａ及び５２Ｂ（上述）と、動き補償ユニット５４と、逆量子化ユニット５６Ａ及び５６Ｂと、逆変換ユニット５８と、基準フレーム格納装置６２と、を含む。映像復号器６０は、アナログ加算器６４も含む。選択的に、映像復号器６０は、アナログ加算器６４の出力をフィルタリングするデブロッキングフィルタ（示されていない）を含むことができる。繰り返すと、アナログ加算器５７は、基本層経路及び拡張層経路内の情報を結合し、イントラ予測ユニット５５及び加算器５３は、基本層映像ブロックの空間復号を容易にする。
【００５０】
繰り返すと、拡張層映像ブロックに関して、ＶＬＣ復号ユニット５２Ａは、符号化された映像ビットストリームを受け取り、この開示において説明されるようにＣＢＰに関してＶＬＣ技法を適用する。このことは、量子化された残差係数、マクロブロック及びサブブロックコーディングモード及び動きベクトルとブロックパーティションを含むことができる動き情報を生成することができる。特に、ＶＬＣ復号ユニット５２Ａは、ゼロでない変換係数を有する隣接映像ブロック数に基づいた適応型ＶＬＣテーブル選択技法を用いる。この方法により、空間冗長性現象を用いてＣＢＰのＶＬＣに関するテーブルを選択することができる。
【００５１】
ＶＬＣユニット５２Ａによって行われた復号に引き続き、動き補償ユニット５４は、動きベクトル及び１つ以上の再構築された基準フレームを基準フレーム格納装置６２から受け取る。逆量子化ユニット５６Ａは、量子化されたブロック係数を逆量子化する、すなわち量子化を解除する。加算器５７による拡張層及び基本層情報の結合に引き続き、逆変換ユニット５８は、逆変換、例えば逆ＤＣＴを係数に適用して残差ブロックを生成する。動き補償ユニット５４は、アナログ加算器６４によって残差ブロックと合計された動き補償ブロックを生成して復号されたブロックを形成する。希望される場合は、ブロックノイズアーティファクトを除去するためにデブロッキングフィルタを適用して復号されたブロックをフィルタリングすることもできる。次に、フィルタリングされたブロックは、基準フレーム格納装置６２内に入れられ、基準フレーム格納装置６２は、動き補償から基準ブロックを提供し、さらにドライブ表示デバイス（例えば図１のデバイス３０）への復号された映像も生成する。
【００５２】
図５は、図３のＶＬＣ符号化ユニット４６に対応することができる典型的なＶＬＣ符号化ユニット７０を示すブロック図である。ＶＬＣ符号化ユニット７０は、ＣＢＰ  ＶＬＣ符号化モジュール７２と、テーブルインデックス計算ユニット７４と、を含む。ＣＢＰテーブル７６は、一般的には、いずれかの記憶場所において、例えば別個のメモリ記憶場所においてローカルで又はオフチップで、格納することができるテーブルを指す。ＣＢＰテーブル７６は、希望に応じて定期的に更新することができる。
【００５３】
ＣＢＰは、一方式に従ってコーディングされる映像ブロック内の係数パターンを指す。幾つかのパターンは、映像ブロック内において発生する可能性がその他のパターンよりもはるかに高いことがある。この要因に基づき、ＶＬＣを用いて、係数のパターンを認識して該パターンをＣＢＰとしてコーディングすることによってデータを圧縮することができる。ブロックヘッダ内の情報は、ＣＢＰがコーディング方式において用いられるという事実を識別することができる。
【００５４】
空間冗長性現象は、一般的には、空間的に非常に近接する映像ブロックは高いレベルの相関関係を有することになると予測する。この開示は、この現象に基づき、ＣＢＰの効率的なＶＬＣのためのテーブル選択を容易にするために隣接する映像ブロックを用いることを提案する。このことは、すべてのＣＢＰに関して固定されたマッピングを用いるか又はブロックの型（例えば、イントラブロック対インターブロック）に基づいてテーブルを用いる従来の技法に対するＣＢＰのＶＬＣの効率を向上させることができる。
【００５５】
ＶＬＣ符号化ユニット７０において、複数のＣＢＰテーブル７６が格納される。しかしながら、これらのテーブルは、代替として、別個の（例えばオフチップの）場所に格納することが可能である。テーブル計算ユニット７４は、ゼロでない変換係数を含む現在の映像ブロックに隣接する映像ブロックの数に基づいて現在の映像ブロックに関するテーブルインデックス値を計算する。次に、ＣＢＰ  ＶＣＬ符号化モジュール７２は、テーブルインデックスに基づいて複数のテーブル７６からＶＬＣテーブルを選択する。適切なテーブルを選択した時点で、ＣＢＰ  ＶＬＣ符号化モジュール７２は、選択されたＶＬＣテーブルを用いて現在の映像ブロックのＣＢＰを符号化する。
【００５６】
一例として、現在の映像ブロックは、１６×１６マクロブロックを備えることができ、隣接映像ブロックは、現在の映像ブロックの左の第１の隣接マクロブロック及び現在の映像ブロックの上方の第２の隣接マクロブロックと関連づけられた８×８ルマブロックを備える。ここにおいて説明される計算においては、クロマブロック（例えば、１６×１６のマクロブロックと関連づけられたサブサンプリングされた８×８クロマブロック）を隣接ブロックとして用いることもできる。ただし、テーブル選択に関しては、隣接ルマブロックのみを使用するだけで十分であることがある。この開示の技法は、非常に様々な映像ブロックサイズ及びコーディングフォーマットのうちのいずれかを用いて実装できるため、ここにおいて説明される隣接ブロックのブロックサイズ及び位置は、単なる典型例であるにすぎない。
【００５７】
さらなる例として、テーブルインデックス計算ユニット７４は、テーブルインデックスを、
第１の隣接マクロブロック及び第２の隣接マクロブロックの両方に関してゼロでない変換係数の情報が存在するときにはＮ＝（Ｎ（１）＋Ｎ（ｕ））／２＋１として、  
ゼロでない変換係数の情報が第１の隣接マクロブロックに関して存在するが第２の隣接マクロブロックに関しては存在しないときにはＮ＝Ｎ（１）＋１として、及び
ゼロでない変換係数の情報が第２の隣接マクロブロックに関して存在するが第１の隣接マクロブロックに関しては存在しないときにはＮ＝Ｎ（ｕ）＋１として計算することができる。この例においては、Ｎは、テーブルインデックスを表し、Ｎ（１）は、ゼロでない変換係数を含む現在の映像ブロックの左の隣接ルマブロックの数を表し、Ｎ（ｕ）は、ゼロでない変換係数を含む現在の映像ブロックの上方の隣接ルマブロックの数を表す。
【００５８】
複数のＣＢＰテーブルは、以下から形成されたテーブル１（表１−１、１−２）であることができる。
【表１−１】
2010531552.tif 000003
【表１−２】
2010531552.tif 000004
【００５９】
複数のＣＢＰテーブル７６の各々は、テーブル１のテーブルインデックス列のうちの１つと結合されたテーブル１の符号番号列を備えることができる。複数のテーブルは、個々に、テーブル１と同様に、又は他の方法で格納することができる。いずれの場合においても、ＣＢＰ  ＶＬＣ符号化モジュール７２は、計算されたテーブルインデックスに対応するテーブル１の列内に記入されたＣＢＰ値に関する符号番号を符号番号列から選択することによってＣＢＰを符号化することができる。ＣＢＰテーブル７６の更新は、必要に応じて又は希望に応じて行うことができ、テーブル内の値は、非常に広範な変動をすることがある。上のテーブル１は、使用可能である複数のテーブルの単なる典型例である。
【００６０】
繰り返すと、この開示の技法は、スケーラブルビデオコーディング（ＳＶＣ）に関して１つ以上の拡張層をコーディングする上で特に有用であることができる。この場合には、拡張層をコーディングする際にＣＢＰが用いられ、拡張層における該ＣＢＰのＶＬＣに関するテーブル選択は、ここにおいて説明される技法に従って行われる。これらのコーディング技法は、符号器及び復号器において実行される。従来は、ＣＢＰと符号番号との間の固定されたマッピングが用いられ、このことは、変化するシーンの特徴に適応できずその結果非効率的になる可能性がある。説明される技法は、イントラ及びインターコーディングされたブロックに関して異なるテーブルを用いる技法よりも効率的であることもできる。ほとんどの場合は、３つ以上のテーブルが格納され、テーブル選択は、３つ以上のテーブル間で行われる。テーブル１の例においては、５つの異なるＶＬＣテーブルが、符号番号列及び５つの異なるテーブルインデックス列によって定義される。
【００６１】
図６は、図４のＶＬＣ符号化ユニット５２に対応することができる典型的なＶＬＣ復号ユニット８０を示すブロック図である。ＶＬＣ復号ユニット８０は、ＶＬＣ符号化ユニット７０と実質的に同じであるが、ＶＬＣ符号化ユニット７０によって行われる符号化に関する逆数復号関数を実行する。従って、ＶＬＣ符号化ユニット７０は、量子化された残差係数を受け取ってビットストリームを生成する一方で、ＶＬＣ復号ユニット８０は、ビットストリームを受け取って量子化された残差係数を生成する。ＶＬＣ復号ユニットは、ＣＢＰ  ＶＬＣ復号モジュール８２と、テーブルインデックス計算ユニット８４と、を含む。ＣＢＰテーブル８６は、あらゆる記憶場所において、例えば別個のメモリ記憶場所においてローカル又はオフチップで、格納することができるテーブルを備える。ＣＢＰテーブル１０４は、希望に応じて、定期的に更新することができる。
【００６２】
ＶＬＣ符号化ユニット７０における場合と同様に、ＶＬＣ復号ユニット８０は、複数のＣＢＰテーブル８６へのアクセスを有する。繰り返すと、これらのテーブルは、ローカルで格納することができ、又は代替として別個の（例えば及びオフチップの）記憶場所に格納することが可能である。テーブル計算ユニット８４は、ゼロでない変換係数を含む現在の映像ブロックに隣接する映像ブロックの数に基づいて現在の映像ブロックに関するテーブルインデックス値を計算する。ブロックに基づく映像コーディングは、典型的には、左から右に及び上から下に順に行われるため、隣接映像ブロックは、現在の映像ブロックの左及び上方に所在するブロックを備えることができる。ＣＢＰ  ＶＣＬ復号モジュール８２は、テーブルインデックスに基づいて複数のテーブル８６からＶＬＣテーブルを選択する。適切なテーブルを選択した時点で、ＣＢＰ  ＶＬＣ復号モジュール８２は、選択されたＶＬＣテーブルを用いて現在の映像ブロックのＣＢＰを復号して適切な係数を生成する。
【００６３】
符号化プロセスにおける場合と同様に、復号プロセスにおいて、現在の映像ブロックは、１６×１６マクロブロックを備えることができ、隣接する映像ブロックは、現在の映像ブロックの左の第１の隣接マクロブロック及び現在の映像ブロックの上方の第２の隣接マクロブロックと関連づけられた８×８ルマブロックを備える。さらに、クロマブロック（例えば、１６×１６マクロブロックと関連づけられたサブサンプリングされた８×８クロマブロック）を用いることもできるが、テーブル選択に関しては、隣接ルマブロックのみを使用するだけで十分であることがある。繰り返すと、この開示の技法は、非常に様々な映像ブロックサイズ又はフォーマットのうちのいずれかを用いて実装できるため、ここにおいて記載されるブロックサイズは単なる典型例であるにすぎない。
【００６４】
テーブルインデックス計算ユニット８４は、テーブルインデックスを、
第１の隣接マクロブロック及び第２の隣接マクロブロックの両方に関してゼロでない変換係数の情報が存在するときにはＮ＝（Ｎ（１）＋Ｎ（ｕ））／２＋１として、  
ゼロでない変換係数の情報が第１の隣接マクロブロックに関して存在するが第２の隣接マクロブロックに関しては存在しないときにはＮ＝Ｎ（１）＋１として、及び
ゼロでない変換係数の情報が第２の隣接マクロブロックに関して存在するが第１のノード隣接マクロブロックに関しては存在しないときにはＮ＝Ｎ（ｕ）＋１として計算することができる。この例においては、Ｎは、テーブルインデックスを表し、Ｎ（１）は、ゼロでない変換係数を含む現在の映像ブロックの左の隣接ルマブロックの数を表し、Ｎ（ｕ）は、ゼロでない変換係数を含む現在の映像ブロックの上方の隣接ルマブロックの数を表す。
【００６５】
符号化例と同様に、復号に関して用いられる複数のＣＢＰテーブル８６の各々は、テーブル１のテーブルインデックス列のうちの１つと結合されたテーブル１の符号番号列を備えることができる。複数のテーブルは、個々に、テーブル１と同様に、又は他の方法で格納することができる。いずれの場合においても、ＣＢＰ  ＶＬＣ復号モジュール８２は、計算されたテーブルインデックスに対応するテーブル１の列内に記入されたＣＢＰ値に関する符号番号を符号番号列から選択することによってＣＢＰを復号することができる。ＣＢＰテーブル７６の更新は、必要に応じて行うことができ、テーブル内の値は、非常に広範な変動をすることがある。当然のことであるが、更新は、符号化デバイス及び復号デバイスの両方に搬送する必要がある。繰り返すと、テーブル１は、使用可能である複数のテーブルの単なる典型例である。
【００６６】
図７は、この開示と一致するＣＢＰをコーディングするためのＶＬＣ技法を示した流れ図である。図７に示される技法は、ＶＬＣ符号化ユニット７０又はＶＬＣ復号ユニット８０によって実行することができる。図７に示されるように、テーブルインデックス計算ユニット７４、８４は、ゼロでない変換係数を有する現在の映像ブロックに隣接する映像ブロックの数に基づいて現在の映像ブロックに関するテーブルインデックス値を計算する（９１）。ＣＢＰ  ＶＬＣコーディングモジュール７２、８４は、計算されたテーブルインデックス値に基づいて複数のＶＬＣテーブル７６、８６からＶＬＣテーブルを選択する。ＣＢＰ  ＶＬＣコーディングモジュール７２、８４は、選択されたＶＬＣテーブルに基づいて現在の映像ブロックのＣＢＰをコーディングする。モジュール７２は、符号化を行い、モジュール８２は、逆数復号を行う。
【００６７】
ここにおいて説明される技法は、ハードウェア、ソフトウェア、ファームウェア、又はそのいずれかの組み合わせにおいて実装することができる。モジュール又は構成要素として説明されるいずれの特徴も、統合された論理デバイス内においてまとめて又は個別であるが相互運用可能な論理デバイスとして別個に実装することができる。ソフトウェア内に実装された場合は、技法は、少なくとも部分的には、実行されたときに上述される方法のうちの１つ以上を実行する命令を備えるコンピュータによって読み取り可能な媒体によって実現することができる。コンピュータによって読み取り可能なデータ記憶媒体は、パッケージング材料を含むことができるコンピュータプログラム製品の一部を成すことができる。コンピュータによって読み取り可能な媒体は、ランダムアクセスメモリ（ＲＡＭ）、例えば同期的ダイナミックランダムアクセスメモリ（ＳＤＲＡＭ）、読み取り専用メモリ（ＲＯＭ）、非揮発性ランダムアクセスメモリ（ＮＶＲＡＭ）、電気的消去可能プログラマブル読み取り専用メモリ（ＥＥＰＲＯＭ）、フラッシュメモリ、磁気又は光学データ記憶媒体、等を備えることができる。これらの技法は、追加で又は代替として、少なくとも部分的には、命令又はデータ構造の形態で符号を搬送又は通信し、コンピュータによってアクセスすること、読み取ること、及び／又は実行することが可能なコンピュータによって読み取り可能な通信媒体によって実現することができる。
【００６８】
プログラムコードは、１つ以上のプロセッサ、例えば１つ以上のデジタル信号プロセッサ（ＤＳＰ）、汎用マイクロプロセッサ、特定用途向け集積回路（ＡＳＩＣ）、フィールドプログラマブルロジックアレイ（ＦＰＧＡ）、又はその他の同等の集積又は個別論理回路、によって実行することができる。従って、ここにおいて用いられる“プロセッサ”という用語は、上記の構造又はここにおいて説明される技法の実装に適したその他の構造のうちのいずれかを指すことができる。さらに、幾つかの側面においては、ここにおいて説明される機能は、符号化及び復号に関して構成された専用ソフトウェアモジュール又はハードウェアモジュール内において提供すること、又は結合された映像符号器−復号器（ＣＯＤＥＣ）内に組み入れることができる。
【００６９】
ハードウェア内に実装された場合は、この開示は、ここにおいて説明される技法のうちの１つ以上を実行するように構成された、回路、例えば集積回路、チップセット、特定用途向け集積回路（ＡＳＩＣ）、フィールドプログラマブルゲートアレイ（ＦＰＧＡ）、論理、又はその様々な組み合わせを対象とすることができる。
【００７０】
発明の様々な実施形態が説明されている。これらの及びその他の実施形態は、以下の請求項の適用範囲内である。
【図１】
2010531552.tif 000009
【図２】
2010531552.tif 000010
【図３】
2010531552.tif 000011
【図４】
2010531552.tif 000012
【図５】
2010531552.tif 000013
【図６】
2010531552.tif 000014
【図７】
2010531552.tif 000015
【国際調査報告】
2010531552.tif 000016
2010531552.tif 000017
2010531552.tif 000018