(57)【特許請求の範囲】
【請求項１】
ビデオコーディングプロセスにおけるバイナリ算術コーディングプロセスを使用するビデオデータのエントロピーコーディングの方法であって、
前記バイナリ算術コーディングプロセスにおける高精細度（ＨＤ）ビデオコンテンツに関連するシンボルの確率状態を決定することと、前記確率状態は、前記ＨＤビデオコンテンツのための複数の確率状態から選択され、前記複数の確率状態の数は６４よりも多く、６４個の確率状態は高精細度（ＨＤ）ビデオコンテンツに関連する解像度よりも低い解像度をもつビデオコンテンツのために使用される確率状態の数を表し、
前記決定された確率状態を示すインデックスを、６４個のグループ化されたインデックスのうちの１つにマッピングすることと、前記６４個のグループ化されたインデックスのうちの少なくとも１つのグループ化されたインデックスは前記複数の確率状態のうちの少なくとも２つを表し、前記６４個のグループ化されたインデックスの各々は、テーブル中で、劣勢シンボルから優勢シンボルの範囲を識別する、
を備える、方法。
【請求項２】
前記複数の確率状態の前記数は１２８である、請求項１に記載の方法。
【請求項３】
前記グループ化されたインデックスと前記確率状態とに基づいて前記シンボルをコーディングすることをさらに備える、請求項１に記載の方法。
【請求項４】
前記シンボルをコーディングすることは、前記グループ化されたインデックスに基づく前記テーブルに従って前記シンボルをコーディングすることを備える、請求項３に記載の方法。
【請求項５】
前記シンボルをコーディングすることは、前記グループ化されたインデックスを生成するために、前記インデックスに対して実行された数学演算に従って前記シンボルをコーディングすることを備える、請求項３に記載の方法。
【請求項６】
前記マッピングすることは、前記テーブルに従って前記インデックスをグループ化されたインデックスにマッピングする、請求項１に記載の方法。
【請求項７】
前記マッピングすることは、数学演算に従って前記インデックスを前記グループ化されたインデックスにマッピングする、請求項１に記載の方法。
【請求項８】
前記マッピングすることは、２で割る演算に従って前記インデックスを前記グループ化されたインデックスにマッピングする、請求項７に記載の方法。
【請求項９】
前記マッピングすることは、線形マッピングに従って前記インデックスを前記グループ化されたインデックスにマッピングする、請求項１に記載の方法。
【請求項１０】
前記マッピングすることは、対数マッピングに従って前記インデックスを前記グループ化されたインデックスにマッピングする、請求項１に記載の方法。
【請求項１１】
前記マッピングすることは、区分的非線形マッピングに従って前記インデックスを前記グループ化されたインデックスにマッピングする、請求項１に記載の方法。
【請求項１２】
前記複数の確率状態は最も高い確率状態ｐ0を含む連続する確率状態であり、各確率状態は、前の確率状態をパラメータαで乗算することによって決定され、αは０．９４９３よりも大きく、ｐ0は０．５よりも小さい、請求項１に記載の方法。
【請求項１３】
αは約０．９６８９であり、ｐ0は約０．４９３である、請求項１２に記載の方法。
【請求項１４】
前記ビデオコーディングプロセスはビデオ符号化プロセスであり、前記方法は、
残差データを生成するためにビデオデータを符号化することと、
変換係数を生成するために残差データを変換することと、
前記シンボルを作成するために変換係数を２値化することと、
をさらに備える、請求項３に記載の方法。
【請求項１５】
前記ビデオコーディングプロセスはビデオ復号プロセスであり、前記グループ化されたインデックスと前記確率状態とに基づいて前記シンボルをコーディングすることは、復号されたビンを生成し、前記方法は、
前記シンボルを受信することと、
変換係数を生成するために前記復号されたビンを逆２値化することと、
残差データを生成するために前記変換係数を逆変換することと、
復号ビデオデータを生成するために前記残差データを復号することと、
をさらに備える、請求項３に記載の方法。
【請求項１６】
ビデオコーディングプロセスにおけるバイナリ算術コーディングプロセスを使用するビデオデータのエントロピーコーディングを実行するように構成された装置であって、
前記ビデオデータの少なくとも一部を記憶するように構成されたメモリと、
ビデオコーダと、を備え、前記ビデオコーダは、
前記バイナリ算術コーディングプロセスにおける高精細度（ＨＤ）ビデオコンテンツに関連するシンボルの確率状態を決定することと、前記確率状態は、前記ＨＤビデオコンテンツのための複数の確率状態から選択され、前記複数の確率状態の数は６４よりも多く、６４個の確率状態は高精細度（ＨＤ）ビデオコンテンツに関連する解像度よりも低い解像度をもつビデオコンテンツのために使用される確率状態の数を表し、
前記決定された確率状態を示すインデックスを、６４個のグループ化されたインデックスのうちの１つにマッピングすることと、前記６４個のグループ化されたインデックスのうちの少なくとも１つのグループ化されたインデックスは前記複数の確率状態のうちの少なくとも２つを表し、前記６４個のグループ化されたインデックスの各々は、テーブル中で、劣勢シンボルから優勢シンボルの範囲を識別する、
を行うように構成された、装置。
【請求項１７】
前記複数の確率状態の前記数は１２８である、請求項１６に記載の装置。
【請求項１８】
前記ビデオコーダは、前記グループ化されたインデックスと前記確率状態とに基づいて前記シンボルをコーディングするようにさらに構成された、請求項１６に記載の装置。
【請求項１９】
前記ビデオコーダは、前記グループ化されたインデックスに基づく前記テーブルに従って前記シンボルをコーディングするようにさらに構成された、請求項１８に記載の装置。
【請求項２０】
前記ビデオコーダは、前記グループ化されたインデックスを生成するために、前記インデックスに対して実行された数学演算に従って前記シンボルをコーディングするようにさらに構成された、請求項１８に記載の装置。
【請求項２１】
前記ビデオコーダは、前記テーブルに従って前記インデックスをグループ化されたインデックスにマッピングするように構成された、請求項１６に記載の装置。
【請求項２２】
前記ビデオコーダは、数学演算に従って前記インデックスを前記グループ化されたインデックスにマッピングするように構成された、請求項１６に記載の装置。
【請求項２３】
前記ビデオコーダは、２で割る演算に従って前記インデックスを前記グループ化されたインデックスにマッピングするように構成された、請求項２２に記載の装置。
【請求項２４】
前記ビデオコーダは、線形マッピングに従って前記インデックスを前記グループ化されたインデックスにマッピングするように構成された、請求項１６に記載の装置。
【請求項２５】
前記ビデオコーダは、対数マッピングに従って前記インデックスを前記グループ化されたインデックスにマッピングするように構成された、請求項１６に記載の装置。
【請求項２６】
前記ビデオコーダは、区分的非線形マッピングに従って前記インデックスを前記グループ化されたインデックスにマッピングするように構成された、請求項１６に記載の装置。
【請求項２７】
前記複数の確率状態は最も高い確率状態ｐ0を含む連続する確率状態であり、各確率状態は、前の確率状態をパラメータαで乗算することによって決定され、αが０．９４９３よりも大きく、ｐ0が０．５よりも小さい、請求項１６に記載の装置。
【請求項２８】
αは約０．９６８９であり、ｐ0は約０．４９３である、請求項２７に記載の装置。
【請求項２９】
前記ビデオコーディングプロセスはビデオ符号化プロセスであり、前記ビデオコーダはビデオエンコーダであり、前記ビデオエンコーダは、
残差データを生成するためにビデオデータを符号化することと、
変換係数を生成するために残差データを変換することと、
前記シンボルを作成するために変換係数を２値化することと、
を行うようにさらに構成された、請求項１８に記載の装置。
【請求項３０】
前記ビデオコーディングプロセスはビデオ復号プロセスであり、前記ビデオコーダはビデオデコーダであり、前記グループ化されたインデックスと前記確率状態とに基づいて前記シンボルをコーディングすることは、復号されたビンを生成し、前記ビデオデコーダは、
前記シンボルを受信することと、
変換係数を生成するために前記復号されたビンを逆２値化することと、
残差データを生成するために前記変換係数を逆変換することと、
復号ビデオデータを生成するために前記残差データを復号することと、
を行うようにさらに構成された、請求項１８に記載の装置。
【請求項３１】
ビデオコーディングプロセスにおけるバイナリ算術コーディングプロセスを使用するビデオデータのエントロピーコーディングを実行するように構成された装置であって、
前記バイナリ算術コーディングプロセスにおける高精細度（ＨＤ）ビデオコンテンツに関連するシンボルの確率状態を決定するための手段と、前記確率状態は、前記ＨＤビデオコンテンツのための複数の確率状態から選択され、前記複数の確率状態の数は６４よりも多く、６４個の確率状態は高精細度（ＨＤ）ビデオコンテンツに関連する解像度よりも低い解像度をもつビデオコンテンツのために使用される確率状態の数を表し、
前記決定された確率状態を示すインデックスを、６４個のグループ化されたインデックスのうちの１つにマッピングするための手段と、前記６４個のグループ化されたインデックスのうちの少なくとも１つのグループ化されたインデックスは前記複数の確率状態のうちの少なくとも２つを表し、前記６４個のグループ化されたインデックスの各々は、テーブル中で、劣勢シンボルから優勢シンボルの範囲を識別する、
を備える、装置。
【請求項３２】
前記複数の確率状態の前記数は１２８である、請求項３１に記載の装置。
【請求項３３】
前記グループ化されたインデックスと前記確率状態とに基づいて前記シンボルをコーディングするための手段をさらに備える、請求項３１に記載の装置。
【請求項３４】
前記複数の確率状態は最も高い確率状態ｐ0を含む連続する確率状態であり、各確率状態は、前の確率状態をパラメータαで乗算することによって決定され、αは０．９４９３よりも大きく、ｐ0は０．５よりも小さい、請求項３１に記載の装置。
【請求項３５】
αは約０．９６８９であり、ｐ0は約０．４９３である、請求項３４に記載の装置。
【請求項３６】
実行されたとき、ビデオコーディングプロセスにおけるバイナリ算術コーディングプロセスを使用するビデオデータのエントロピーコーディングを実行するように構成されたデバイスの１つまたは複数のプロセッサに、
前記バイナリ算術コーディングプロセスにおける高精細度（ＨＤ）ビデオコンテンツに関連するシンボルの確率状態を決定することと、前記確率状態は、前記ＨＤビデオコンテンツのための複数の確率状態から選択され、前記複数の確率状態の数は６４よりも多く、６４個の確率状態は高精細度（ＨＤ）ビデオコンテンツに関連する解像度よりも低い解像度をもつビデオコンテンツのために使用される確率状態の数を表し、
前記決定された確率状態を示すインデックスを、６４個のグループ化されたインデックスのうちの１つにマッピングすることと、前記６４個のグループ化されたインデックスのうちの少なくとも１つのグループ化されたインデックスは前記複数の確率状態のうちの少なくとも２つを表し、前記６４個のグループ化されたインデックスの各々は、テーブル中で、劣勢シンボルから優勢シンボルの範囲を識別する、
を行わせる命令を記憶するコンピュータ可読記憶媒体。
【請求項３７】
前記複数の確率状態の前記数は１２８である、請求項３６に記載のコンピュータ可読記憶媒体。
【請求項３８】
前記１つまたは複数のプロセッサに、前記グループ化されたインデックスと前記確率状態とに基づいて前記シンボルをコーディングさせるための命令をさらに備える、請求項３６に記載のコンピュータ可読記憶媒体。
【請求項３９】
前記複数の確率状態は最も高い確率状態ｐ0を含む連続する確率状態であり、各確率状態は、前の確率状態をパラメータαで乗算することによって決定され、αは０．９４９３よりも大きく、ｐ0は０．５よりも小さい、請求項３６に記載のコンピュータ可読記憶媒体。
【請求項４０】
αは約０．９６８９であり、ｐ0は約０．４９３である、請求項３９に記載のコンピュータ可読記憶媒体。
【発明の詳細な説明】
【優先権の主張】
【０００１】
本出願は、その内容全体が参照により本明細書に組み込まれる、２０１１年１０月２７日に出願された米国仮出願第６１／５５２，４２６号の利益を主張する。
【技術分野】
【０００２】
本開示は、ビデオコーディングに関し、より詳細には、ビデオデータのバイナリ算術コーディングのための技法に関する。
【背景技術】
【０００３】
[0003]デジタルビデオ機能は、デジタルテレビジョン、デジタルダイレクトブロードキャストシステム、ワイヤレスブロードキャストシステム、携帯情報端末（ＰＤＡ）、ラップトップまたはデスクトップコンピュータ、デジタルカメラ、デジタル記録デバイス、デジタルメディアプレーヤ、ビデオゲームデバイス、ビデオゲームコンソール、セルラー電話または衛星無線電話、ビデオ遠隔会議デバイスなどを含む、広範囲にわたるデバイスに組み込まれ得る。デジタルビデオデバイスは、デジタルビデオ情報をより効率的に送信、受信および記憶するための、ＭＰＥＧ−２、ＭＰＥＧ−４、ＩＴＵ−Ｔ  Ｈ．２６３、ＩＴＵ−Ｔ  Ｈ．２６４／ＭＰＥＧ−４，Ｐａｒｔ１０，Ａｄｖａｎｃｅｄ  Ｖｉｄｅｏ  Ｃｏｄｉｎｇ（ＡＶＣ）によって定義された規格、現在開発中の高効率ビデオコーディング（ＨＥＶＣ：High Efficiency Video Coding）規格、およびそのような規格の拡張に記載されているビデオ圧縮技法など、ビデオ圧縮技法を実装する。
【０００４】
[0004]ビデオ圧縮技法は、ビデオシーケンスに固有の冗長性を低減または除去するために空間的予測および／または時間的予測を含む。ブロックベースのビデオコーディングの場合、ビデオフレームまたはスライスはブロックに区分され得る。各ブロックはさらに区分され得る。イントラコード化（Ｉ）フレームまたはスライス中のブロックは、同じフレームまたはスライス中の隣接ブロック中の参照サンプルに対する空間的予測を使用して符号化される。インターコード化（ＰまたはＢ）フレームまたはスライス中のブロックは、同じフレームまたはスライス中の隣接ブロック中の参照サンプルに関する空間的予測、あるいは他の参照フレーム中の参照サンプルに関する時間的予測を使用し得る。空間的予測または時間的予測は、コーディングされるべきブロックの予測ブロックを生じる。残差データは、コーディングされるべき元のブロックと予測ブロックとの間のピクセル差分を表す。
【０００５】
[0005]インターコード化ブロックは、予測ブロックを形成する参照サンプルのブロックをポイントする動きベクトルと、コード化ブロックと予測ブロックとの間の差分を示す残差データとに従って符号化される。イントラコード化ブロックは、イントラコーディングモードと残差データとに従って符号化される。さらなる圧縮のために、残差データは、ピクセル領域から変換領域に変換されて、残差変換係数が得られ得、その残差変換係数は、次いで量子化され得る。最初は２次元アレイに構成される量子化された変換係数は、エントロピーコーディングのための変換係数の１次元ベクトルを生成するために、特定の順序で走査され得る。
【０００６】
[0006]残差変換係数、動きベクトル情報、シンタックス要素、および他の関連する情報をコーディングするために様々なエントロピーコーディングプロセスが使用され得る。様々なエントロピーコーディングおよび他のデータ圧縮プロセスの例としては、コンテキスト適応型可変長コーディング（ＣＡＶＬＣ：context-adaptive variable length coding）、コンテキスト適応型バイナリ算術コーディング（ＣＡＢＡＣ：context-adaptive binary arithmetic coding）、確率間隔区分エントロピーコーディング（ＰＩＰＥ：probability interval partitioning entropy coding）、ゴロム（Golomb）コーディング、ゴロムライス（Golomb-Rice）コーディング、および指数ゴロムコーディングがある。
【発明の概要】
【０００７】
[0007]概して、本開示では、ビデオコーディングにおけるバイナリ算術コーディングのための技法と、そのような技法を実行するためのビデオエンコーダおよびデコーダについて説明する。いくつかの例では、本技法は、相対的に小さいテーブルを維持しながら、より遅い適応レートを与え、より極端な（exterme）確率（すなわち、０および１により近い確率）に対応する、バイナリ算術コーディングをサポートし得る。
【０００８】
[0008]本技法は、テーブルがより遅い適応およびより低い確率を与えることができるように、増加した数の確率状態の使用を含み得る。いくつかの例では、最も高い確率の値（ｐ0）が、たとえば、１／２よりも低くなるように変更され得る。
【０００９】
[0009]別の例では、範囲テーブル中の状態の数の大きい増加を回避するために、本開示の技法は、劣勢シンボル（ＬＰＳ：least probable symbol）の範囲をインデックス付けするために他の従来の技法において使用されるものよりも小さいサイズ（すなわち、より少ない数のインデックス）に、確率状態を示すインデックスをマッピングすることを含め得る。
【００１０】
[0010]いくつかの例では、確率状態インデックスは、新しいインデックスを生成するために２で割られ得、新しいインデックスは範囲ＬＰＳテーブルのエントリとして使用され得る。この場合、範囲ＬＰＳテーブル中のエントリをインデックス付けするために確率状態σを使用する代わりに、本技法は、（σ＞＞１）、すなわち、２で割られ、より低い整数に丸められた状態を採用し得る。
【００１１】
[0011]状態インデックスのグループ化は、初期数の確率状態インデックスから、低減された数の確率状態インデックス（グループ化された状態インデックス）に進むテーブルとともに説明され得る。この種類のテーブルの使用は、追加のメモリという犠牲を払って、（除算または右シフトと比較して）性能を向上させ、それにより、メモリと性能との間の望ましい設計トレードオフがもたらされ得る。
【００１２】
[0012]範囲ＬＰＳテーブル中のエントリへの確率状態インデックスの線形マッピングが使用され得るが、非線形マッピングを行うことが望ましいこともある。たとえば、確率状態インデックスは、対数マッピングに従ってマッピングされ得る。対数マッピングは、いくつかの例では、区分的線形マッピングを使用して達成され得る。概して、対数マッピングまたは他のマッピングは、他の例では、事前計算されたマッピングテーブルなど、テーブルを使用して、または場合によっては１つまたは複数の数式の適用を介して定義され得る。
【００１３】
[0013]一例では、本開示では、ビデオコーディングプロセスにおけるバイナリ算術コーディングプロセスを使用するビデオデータのエントロピーコーディングの方法について説明する。本方法は、バイナリ算術コーディングプロセスにおけるシンボルの確率状態を決定することと、確率状態は複数の確率状態のうちの１つを備え、決定された確率状態を示すインデックスを、複数のグループ化されたインデックスのうちの１つにマッピングすることと、グループ化されたインデックスのうちの少なくとも１つは複数の確率状態のうちの少なくとも２つを表し、グループ化されたインデックスの各々はテーブル中の確率シンボルの範囲を識別する、を備える。
【００１４】
[0014]別の例では、本開示では、ビデオコーディングプロセスにおけるバイナリ算術コーディングプロセスを使用するビデオデータをエントロピーコーディングするように構成された装置について説明する。本装置は、バイナリ算術コーディングプロセスにおけるシンボルの確率状態を決定するための手段と、確率状態が複数の確率状態のうちの１つを備え、決定された確率状態を示すインデックスを、複数のグループ化されたインデックスのうちの１つにマッピングするための手段と、を備え、グループ化されたインデックスのうちの少なくとも１つは複数の確率状態のうちの少なくとも２つを表し、グループ化されたインデックスの各々はテーブル中の確率シンボルの範囲を識別する。
【００１５】
[0015]別の例では、本開示では、ビデオコーディングプロセスにおけるバイナリ算術コーディングプロセスを使用するビデオデータをエントロピーコーディングするように構成された装置について説明する。本装置は、バイナリ算術コーディングプロセスにおけるシンボルの確率状態を決定することと、確率状態は複数の確率状態のうちの１つを備え、決定された確率状態を示すインデックスを、複数のグループ化されたインデックスのうちの１つにマッピングすることと、を行うように構成されたビデオコーダを備え、グループ化されたインデックスのうちの少なくとも１つは複数の確率状態のうちの少なくとも２つを表し、グループ化されたインデックスの各々がテーブル中の確率シンボルの範囲を識別する。
【００１６】
[0016]別の例では、本開示では、実行されたとき、１つまたは複数のプロセッサに、ビデオコーディングプロセスにおけるバイナリ算術コーディングプロセスを使用してビデオデータをエントロピーコーディングさせる命令を記憶するコンピュータ可読記憶媒体について説明する。命令は、１つまたは複数のプロセッサに、バイナリ算術コーディングプロセスにおけるシンボルの確率状態を決定することと、確率状態が複数の確率状態のうちの１つを備え、決定された確率状態を示すインデックスを、複数のグループ化されたインデックスのうちの１つにマッピングすることと、を行わせ、グループ化されたインデックスのうちの少なくとも１つは複数の確率状態のうちの少なくとも２つを表し、グループ化されたインデックスの各々がテーブル中の確率シンボルの範囲を識別する。
【００１７】
[0017]１つまたは複数の例の詳細は、添付の図面および以下の説明に記載されている。他の特徴、目的、および利点は、説明および図面、ならびに特許請求の範囲から明らかになろう。
【図面の簡単な説明】
【００１８】
【図１】例示的なビデオ符号化および復号システムを示すブロック図。
【図２Ａ】バイナリ算術コーディングにおける範囲更新プロセスを示す概念図。
【図２Ｂ】バイナリ算術コーディングにおける範囲更新プロセスを示す概念図。
【図３】バイナリ算術コーディングにおける出力プロセスを示す概念図。
【図４】例示的なビデオエンコーダを示すブロック図。
【図５】ビデオエンコーダにおけるコンテキスト適応型バイナリ算術コーダを示すブロック図。
【図６】例示的なビデオデコーダを示すブロック図。
【図７】ビデオデコーダにおけるコンテキスト適応型バイナリ算術コーダを示すブロック図。
【図８】本開示の技法による例示的な方法を示すフローチャート。
【発明を実施するための形態】
【００１９】
[0026]本開示では、バイナリ算術コーディング（ＢＡＣ）のための技法について説明する。１つまたは複数の例では、本開示の技法は、ビデオコーディング中にコンテキスト適応型バイナリ算術コーディング（ＣＡＢＡＣ）プロセスにおいて使用され得る。たとえば、そのような技法は、そのような技法を実行するように構成されたビデオエンコーダおよびデコーダにおいて実行され得る。本開示で説明するコーディング技法はまた、他のタイプのデータコーディングに適用可能であり得る。本開示では、しかしながら、例示のためにビデオコーディングについて説明する。
【００２０】
[0027]Ｈ．２６４／ＡＶＣ（アドバンストビデオコーディング）において使用されるＢＡＣ手法と、新生の高効率ビデオコーディング（ＨＥＶＣ）規格のためのＢＡＣ提案とを含む、前に使用されたＢＡＣ手法の１つの問題は、そのようなＢＡＣ手法において使用されるいくつかのテーブルが、低解像度ビデオ（たとえば、共通中間フォーマット（ＣＩＦ：common intermediate format）および１／４ＣＩＦ（ＱＣＩＦ：quarter-CIF）ビデオ）のために調整されることである。現在、大量のビデオコンテンツは、高精細度（ＨＤ）であり、場合によっては、エクストラＨＤ、いわゆる２Ｋ、２１６０ｐ、２５４０ｐ、４Ｋ、４３２０ｐ、またはより一層高い解像度など、ＨＤよりも高い。ＨＤまたはＨＤよりも高いビデオコンテンツは、Ｈ．２６４／ＡＶＣのためのＢＡＣを開発するために使用される、１０年経ったＱＣＩＦシーケンスとは異なる統計値を有する。
【００２１】
[0028]したがって、ＢＡＣのために使用されるいくつかのテーブルは、この新しいコンテンツ（たとえば、ＨＤまたはエクストラＨＤコンテンツ）の特性に対応することができる変更から恩恵を受け得る。ＨＤコンテンツの普及は、ＢＡＣが以下の少なくとも２つの側面において異なるべきであることを暗示する。
【００２２】
１．ＢＡＣは、より遅い適応プロセスを有すべきであり、
２．ＢＡＣは、より極端な場合（歪んだ（skewed）確率）に対応すべきである。
【００２３】
[0029]本開示は、現在のＢＡＣ問題への解決策を提案する。様々な例では、本開示は、テーブルサイズを実際的レベルに保ちながら、より遅い適応を達成し、より歪んだ確率に対応するようにＢＡＣテーブルを変更することを提案する。言い換えれば、本開示では、相対的に小さいサイズのテーブルを使用しながら、より遅い適応を達成し、より極端な確率（すなわち、０および１により近い確率）に対応するための技法について説明する。
【００２４】
[0030]デジタルビデオデバイスは、デジタルビデオ情報をより効率的に符号化および復号するためのビデオ圧縮技法を実装する。ビデオ圧縮は、ビデオシーケンスに固有の冗長性を低減または除去するために空間的（フレーム内）予測および／または時間的（フレーム間）予測技法を適用し得る。
【００２５】
[0031]ＩＴＵ−Ｔ  Ｖｉｄｅｏ  Ｃｏｄｉｎｇ  Ｅｘｐｅｒｔｓ  Ｇｒｏｕｐ（ＶＣＥＧ）とＩＳＯ／ＩＥＣ  Ｍｏｔｉｏｎ  Ｐｉｃｔｕｒｅ  Ｅｘｐｅｒｔｓ  Ｇｒｏｕｐ（ＭＰＥＧ）とのＪｏｉｎｔ  Ｃｏｌｌａｂｏｒａｔｉｏｎ  Ｔｅａｍ  ｏｎ  Ｖｉｄｅｏ  Ｃｏｄｉｎｇ（ＪＣＴ−ＶＣ）によって開発されている新しいビデオコーディング規格、すなわち、高効率ビデオコーディング（ＨＥＶＣ）がある。「ＨＥＶＣ  Ｗｏｒｋｉｎｇ  Ｄｒａｆｔ  ８」または「ＷＤ８」と呼ばれるＨＥＶＣ規格の最近の草案は、文書ＪＣＴＶＣ−Ｊ１００３、Ｂｒｏｓｓら、「High efficiency video coding (HEVC) text specification draft 6」、ＩＴＵ−Ｔ  ＳＧ１６  ＷＰ３とＩＳＯ／ＩＥＣ  ＪＴＣ１／ＳＣ２９／ＷＧ１１のＪｏｉｎｔ  Ｃｏｌｌａｂｏｒａｔｉｖｅ  Ｔｅａｍ  ｏｎ  Ｖｉｄｅｏ  Ｃｏｄｉｎｇ  （ＪＣＴ−ＶＣ）、第１０回会合：スウェーデン、ストックホルム、２０１２年７月１１〜２０日に記載されており、この文書は２０１２年１０月２５日現在、http://phenix.int-evry.fr/jct/doc_end_user/documents/10_Stockholm/wg11/JCTVC-J1003-v8.zip.からダウンロード可能である。
【００２６】
[0032]ＨＥＶＣに従うビデオコーディングの場合、一例として、ビデオフレームがコーディングユニットに区分され得る。コーディングユニット（ＣＵ）は、概して、ビデオ圧縮のために様々なコーディングツールが適用される基本ユニットとして働く画像領域を指す。ＣＵは、通常、Ｙとして示され得るルミナンス成分と、ＣｒおよびＣｂとして示され得る２つのクロマ成分とを有する。ビデオサンプリングフォーマットに応じて、サンプルの数で表されるＣｒおよびＣｂ成分のサイズは、Ｙ成分のサイズと同じであるかまたはそれとは異なり得る。ＣＵは、一般に矩形であり、たとえば、ＩＴＵ−Ｔ  Ｈ．２６４などの他のビデオコーディング規格の下でのいわゆるマクロブロックと同様であると見なされ得る。
【００２７】
[0033]ＣＵ中のピクセルのルーマ成分およびクロマ成分は、異なるサブサンプリングフォーマットでコーディングされ得る。ＨＥＶＣのための１つの提案では、ピクセルのルーマ成分およびクロマ成分は、４：２：０フォーマットでコーディングされる。４：２：０ピクセルフォーマットでは、ピクセルの４×２ブロックごとに、８つのルーマ成分（各行に４つ）と、２つのクロマ成分（たとえば、４×２ブロックの第１の行に１つのＣｒクロマ成分および１つのＣｂクロマ成分）とがある。４×２ブロックの第２の行はクロマ情報を有しないであろう。したがって、ピクセルの４×２ブロックでは、クロマ成分は１／２水平解像度および１／２垂直解像度でサンプリングされる。しかしながら、ビデオコーディング技法は、４：２：０クロマサブサンプリングに限定されない。４：２：２および４：４：４を含む、他のサブサンプリングフォーマットが使用され得る。４：２：２ピクセルフォーマットでは、ピクセルの４×２ブロックごとに、８つのルーマ成分（各行に４つ）と、４つのクロマ成分（たとえば、４×２ブロックの第１の行および第２の行の各々に１つのＣｒクロマ成分および１つのＣｂクロマ成分）とがある。したがって、４：２：２フォーマットの場合、クロマ成分は１／２水平解像度およびフル垂直解像度でサンプリングされる。４：４：４ピクセルフォーマットはクロマ成分のサブサンプリングを伴わない。すなわち、ピクセルの４×２ブロックの場合、８つのルーマ成分と、８つのＣｒ成分と、８つのＣｂ成分とがある。これらまたは他のサンプリングフォーマットが使用され得る。
【００２８】
[0034]より良好なコーディング効率を達成するために、コーディングユニットは、ビデオコンテンツに応じて可変サイズを有し得る。さらに、コーディングユニットは、予測または変換のためにより小さいブロックに分割され得る。具体的には、各コーディングユニットは、予測ユニット（ＰＵ：prediction unit）と変換ユニット（ＴＵ：transform unit）とにさらに区分され得る。ＰＵは、Ｈ．２６４規格などの他のビデオコーディング規格の下でのいわゆるパーティションと同様であると見なされ得る。ＴＵは、変換係数を生成するために変換が適用される残差データのブロックを指す。
【００２９】
[0035]本出願では、例示のために、開発中のＨＥＶＣ規格の現在提案されている態様のいくつかに従うコーディングについて説明する。ただし、本開示で説明する技法は、Ｈ．２６４または他の規格に従って定義されるビデオコーディングプロセスあるいはプロプライエタリビデオコーディングプロセスなど、他のビデオコーディングプロセスのために有用であり得る。
【００３０】
[0036]ＨＥＶＣの規格化の取り組みは、ＨＥＶＣテストモデル（ＨＭ：HEVC Test Model）と呼ばれるビデオコーディングデバイスのモデルに基づく。ＨＭは、たとえば、ＩＴＵ−Ｔ  Ｈ．２６４／ＡＶＣによるデバイスに勝るビデオコーディングデバイスのいくつかの能力を仮定する。たとえば、Ｈ．２６４は９つのイントラ予測符号化モードを提供するが、ＨＭは３５個ものイントラ予測符号化モードを提供する。
【００３１】
[0037]ＨＭによれば、ＣＵは、１つまたは複数の予測ユニット（ＰＵ）および／または１つまたは複数の変換ユニット（ＴＵ）を含み得る。ビットストリーム内のシンタックスデータは、ピクセルの数に関して最大ＣＵである最大コーディングユニット（ＬＣＵ：largest coding unit）を定義し得る。概して、ＣＵは、ＣＵがサイズの差異を有しないことを除いて、Ｈ．２６４のマクロブロックと同様の目的を有する。したがって、ＣＵはサブＣＵに分割され得る。概して、本開示におけるＣＵへの言及は、ピクチャの最大コーディングユニットまたはＬＣＵのサブＣＵを指すことがある。ＬＣＵはサブＣＵに分割され得、各サブＣＵはさらにサブＣＵに分割され得る。ビットストリームのシンタックスデータは、ＣＵ深さと呼ばれる、ＬＣＵが分割され得る最大回数を定義し得る。それに応じて、ビットストリームは最小コーディングユニット（ＳＣＵ：smallest coding unit）をも定義し得る。本開示ではまた、ＣＵ、ＰＵ、またはＴＵのいずれかを指すために「ブロック」「パーティション」または「部分」という用語を使用する。概して、「部分」は、ビデオフレームの任意のサブセットを指し得る。
【００３２】
[0038]ＬＣＵは４分木データ構造に関連付けられ得る。概して、４分木データ構造はＣＵごとに１つのノードを含み、ルートノードはＬＣＵに対応する。ＣＵが４つのサブＣＵに分割された場合、ＣＵに対応するノードは４つのリーフノードを含み、リーフノードの各々はサブＣＵのうちの１つに対応する。４分木データ構造の各ノードは、対応するＣＵのシンタックスデータを与え得る。たとえば、４分木のノードは、そのノードに対応するＣＵがサブＣＵに分割されるかどうかを示す分割フラグを含み得る。ＣＵのシンタックス要素は、再帰的に定義され得、ＣＵがサブＣＵに分割されるかどうかに依存し得る。ＣＵがさらに分割されない場合、そのＣＵはリーフＣＵと呼ばれる。
【００３３】
[0039]その上、リーフＣＵのＴＵもそれぞれの４分木データ構造に関連付けられ得る。すなわち、リーフＣＵは、リーフＣＵがどのようにＴＵに区分されるかを示す４分木を含み得る。本開示では、ＬＣＵがどのように区分されるかを示す４分木をＣＵ４分木と呼び、リーフＣＵがどのようにＴＵに区分されるかを示す４分木をＴＵ４分木と呼ぶ。ＴＵ４分木のルートノードは概してリーフＣＵに対応し、ＣＵ４分木のルートノードは概してＬＣＵに対応する。分割されないＴＵ４分木のＴＵはリーフＴＵと呼ばれる。
【００３４】
[0040]リーフＣＵは、１つまたは複数の予測ユニット（ＰＵ）を含み得る。概して、ＰＵは、対応するＣＵの全部または一部分を表し、そのＰＵの参照サンプルを取り出すためのデータを含み得る。たとえば、ＰＵがインターモード符号化されるとき、ＰＵは、ＰＵの動きベクトルを定義するデータを含み得る。動きベクトルを定義するデータは、たとえば、動きベクトルの水平成分、動きベクトルの垂直成分、動きベクトルの解像度（たとえば、１／４ピクセル精度もしくは１／８ピクセル精度）、動きベクトルがポイントする参照フレーム、および／または動きベクトルの参照リスト（たとえば、リスト０もしくはリスト１）を記述し得る。（１つまたは複数の）ＰＵを定義するリーフＣＵのデータはまた、たとえば、ＣＵを１つまたは複数のＰＵに区分することを記述し得る。区分モードは、ＣＵが予測コーディングされないか、イントラ予測モード符号化されるか、またはインター予測モード符号化されるかに応じて異なり得る。イントラコーディングの場合、ＰＵは、以下で説明するリーフ変換ユニットと同じように扱われ得る。
【００３５】
[0041]ブロック（たとえば、ビデオデータの予測ユニット（ＰＵ））をコーディングするために、ブロックの予測子（predictor）が最初に導出される。予測子は、イントラ（Ｉ）予測（すなわち、空間的予測）またはインター（ＰまたはＢ）予測（すなわち、時間的予測）のいずれかを通して導出され得る。したがって、いくつかの予測ユニットは、同じフレーム中の隣接参照ブロックに関する空間的予測を使用してイントラコーディング（Ｉ）され得、他の予測ユニットは、他のフレーム中の参照ブロックに関してインターコーディング（ＰまたはＢ）され得る。予測のために使用される参照ブロックは、参照サンプルとしていわゆる整数ピクセル位置における実際のピクセル値、または参照サンプルとして分数ピクセル位置における補間によって生成される合成されたピクセル値を含み得る。
【００３６】
[0042]予測子が識別されると、元のビデオデータブロックとそれの予測子との間の差分が計算される。この差分は、予測残差とも呼ばれ、コーディングされるべきブロックのピクセルと、参照ブロック、すなわち、予測子の（上述のように、整数精度ピクセルまたは補間された分数精度ピクセルであり得る）対応する参照サンプルとの間のピクセル差分を指す。より良好な圧縮を達成するために、予測残差（すなわち、ピクセル差分値のアレイ）は、概して、たとえば、離散コサイン変換（ＤＣＴ）、整数変換、カルーネンレーベ（Karhunen-Loeve）（Ｋ−Ｌ）変換、ウェーブレット変換、または他の変換を使用してピクセル（すなわち、空間）領域から変換領域に変換され得る。変換領域は、たとえば、周波数領域であり得る。
【００３７】
[0043]インター予測を使用してＰＵをコーディングすることは、現在ブロックと参照フレーム中のブロックとの間の動きベクトルを計算することを伴う。動きベクトルは、動き推定（または動き探索）と呼ばれるプロセスを通して計算される。動きベクトルは、たとえば、参照フレームの参照サンプルに対する、現在フレーム中の予測ユニットの変位を示し得る。参照サンプルは、絶対値差分和（ＳＡＤ：sum of absolute difference）、２乗差分和（ＳＳＤ：sum of squared difference）、または他の差分メトリックによって決定され得るピクセル差分に関して、コーディングされているＰＵを含むＣＵの部分にぴったり一致することがわかるブロックであり得る。参照サンプルは、参照フレームまたは参照スライス内のどこにでも発生し得る。いくつかの例では、参照サンプルは、全体的にまたは部分的に補間され、分数ピクセル位置において発生し得る。現在部分に最も良く一致する参照フレームの部分を見つけると、エンコーダは、現在部分のための現在動きベクトルを、現在部分から参照フレーム中の一致する部分までの（たとえば、現在部分の中心から一致する部分の中心までの）ロケーションの差分として決定する。
【００３８】
[0044]いくつかの例では、エンコーダは、符号化ビデオビットストリーム中で、各部分について動きベクトルをシグナリングし得る。シグナリングされた動きベクトルは、ビデオデータを復号するために、デコーダによって動き補償を実行するために使用される。しかしながら、元の動きベクトルを直接シグナリングすると、一般に、情報を搬送するために多数のビットが必要なので、コーディングがあまり効率的でなくなることがある。
【００３９】
[0045]現在部分について動きベクトルを決定するために動き推定が実行されると、エンコーダは、参照フレーム中の一致する部分を現在部分と比較する。この比較は、一般に、上述のように、現在部分から参照フレーム中の（「参照サンプル」と通常呼ばれる）部分を減算することを伴い、いわゆる残差データを生じる。残差データは、現在部分と参照サンプルとの間のピクセル差分値を示す。エンコーダは、次いで、この残差データを空間領域から、周波数領域などの変換領域に変換する。通常、エンコーダは、この変換を達成するために、残差データに離散コサイン変換（ＤＣＴ）を適用する。得られた変換係数は異なる周波数を表し、エネルギーの大部分が、通常、数個の低周波係数に集中するので、エンコーダは、残差データの圧縮を可能にするためにこの変換を実行する。
【００４０】
[0046]一般に、得られた変換係数は、特に変換係数が最初に量子化される（丸められる）場合、エントロピーコーディングを可能にする方法で一緒にグループ化される。エンコーダは、次いで、ランレングスコーディングされた量子化変換係数をさらに圧縮するために統計的ロスレス（またはいわゆる「エントロピー」）符号化を実行する。ロスレスエントロピーコーディングを実行した後に、エンコーダは、符号化ビデオデータを含むビットストリームを生成する。エントロピーコーディングの例としては、ＣＡＢＡＣ、コンテキスト適応型可変長コーディング（ＣＡＶＬＣ）、確率間隔区分エントロピーコーディング（ＰＩＰＥ）、ゴロムコーディング、ゴロムライスコーディング、指数ゴロムコーディング、シンタックスベースコンテキスト適応型バイナリ算術コーディング（ＳＢＡＣ：syntax-based context-adaptive binary arithmetic coding）、または他のエントロピーコーディング方法がある。
【００４１】
[0047]図１は、本開示の例による、ビデオコーディングプロセスにおけるＢＡＣのための技法を利用するように構成され得る例示的なビデオ符号化および復号システム１０を示すブロック図である。図１に示すように、システム１０は、通信チャネル１６を介して符号化ビデオを宛先デバイス１４に送信するソースデバイス１２を含む。符号化ビデオデータはまた、記憶媒体３４またはファイルサーバ３６に記憶され得、必要に応じて宛先デバイス１４によってアクセスされ得る。記憶媒体またはファイルサーバに記憶されたとき、ビデオエンコーダ２０は、コード化ビデオデータを記憶媒体に記憶するための、ネットワークインターフェース、コンパクトディスク（ＣＤ）、Ｂｌｕ−ｒａｙ（登録商標）またはデジタルビデオディスク（ＤＶＤ）バーナーまたはスタンピングファシリティデバイス、あるいは他のデバイスなど、別のデバイスにコード化ビデオデータを与え得る。同様に、ネットワークインターフェース、ＣＤまたはＤＶＤリーダーなど、ビデオデコーダ３０とは別個のデバイスが、記憶媒体からコード化ビデオデータを取り出し、取り出されたデータをビデオデコーダ３０に与え得る。
【００４２】
[0048]ソースデバイス１２および宛先デバイス１４は、デスクトップコンピュータ、ノートブック（すなわち、ラップトップ）コンピュータ、タブレットコンピュータ、セットトップボックス、いわゆるスマートフォンなどの電話ハンドセット、テレビジョン、カメラ、ディスプレイデバイス、デジタルメディアプレーヤ、ビデオゲームコンソールなどを含む、広範囲にわたるデバイスのいずれかを備え得る。多くの場合、そのようなデバイスはワイヤレス通信が可能であり得る。したがって、通信チャネル１６は、符号化ビデオデータの送信に好適なワイヤレスチャネル、ワイヤードチャネル、またはワイヤレスチャネルとワイヤードチャネルとの組合せを備え得る。同様に、ファイルサーバ３６は、インターネット接続を含む任意の標準データ接続を介して宛先デバイス１４によってアクセスされ得る。これは、ファイルサーバに記憶された符号化ビデオデータにアクセスするのに好適である、ワイヤレスチャネル（たとえば、Ｗｉ−Ｆｉ（登録商標）接続）、ワイヤード接続（たとえば、ＤＳＬ、ケーブルモデムなど）、またはその両方の組合せを含み得る。
【００４３】
[0049]本開示の例による、ビデオコーディングプロセスにおけるＢＡＣのための技法は、オーバージエアテレビジョン放送、ケーブルテレビジョン送信、衛星テレビジョン送信、たとえばインターネットを介したストリーミングビデオ送信、データ記憶媒体に記憶するためのデジタルビデオの符号化、データ記憶媒体に記憶されたデジタルビデオの復号、または他の適用例など、様々なマルチメディア適用例のいずれかをサポートするビデオコーディングに適用され得る。いくつかの例では、システム１０は、ビデオストリーミング、ビデオ再生、ビデオブロードキャスティング、および／またはビデオテレフォニーなどの適用例をサポートするために、単方向または二方向のビデオ送信をサポートするように構成され得る。
【００４４】
[0050]図１の例では、ソースデバイス１２は、ビデオソース１８と、ビデオエンコーダ２０と、変調器／復調器２２と、送信機２４とを含む。ソースデバイス１２において、ビデオソース１８は、ビデオカメラなどのビデオキャプチャデバイス、以前にキャプチャされたビデオを含んでいるビデオアーカイブ、ビデオコンテンツプロバイダからビデオを受信するためのビデオフィードインターフェース、および／またはソースビデオとしてコンピュータグラフィックスデータを生成するためのコンピュータグラフィックスシステムなどのソース、あるいはそのようなソースの組合せを含み得る。一例として、ビデオソース１８がビデオカメラである場合、ソースデバイス１２および宛先デバイス１４は、いわゆるカメラフォンまたはビデオフォンを形成し得る。ただし、本開示で説明する技法は、概してビデオコーディングに適用可能であり得、ワイヤレスおよび／またはワイヤード適用例、あるいは符号化ビデオデータがローカルディスクに記憶された適用例に適用され得る。
【００４５】
[0051]キャプチャされたビデオ、以前にキャプチャされたビデオ、またはコンピュータ生成されたビデオは、ビデオエンコーダ２０によって符号化され得る。符号化されたビデオ情報は、ワイヤレス通信プロトコルなどの通信規格に従ってモデム２２によって変調され、送信機２４を介して宛先デバイス１４に送信され得る。モデム２２は、信号変調のために設計された様々なミキサ、フィルタ、増幅器または他の構成要素を含み得る。送信機２４は、増幅器、フィルタ、および１つまたは複数のアンテナを含む、データを送信するために設計された回路を含み得る。
【００４６】
[0052]ビデオエンコーダ２０によって符号化された、キャプチャされたビデオ、以前にキャプチャされたビデオ、またはコンピュータ生成されたビデオはまた、後で消費するために記憶媒体３４またはファイルサーバ３６に記憶され得る。記憶媒体３４は、Ｂｌｕ−ｒａｙディスク、ＤＶＤ、ＣＤ−ＲＯＭ、フラッシュメモリ、または符号化ビデオを記憶するための任意の他の好適なデジタル記憶媒体を含み得る。記憶媒体３４に記憶された符号化ビデオは、次いで、復号および再生のために宛先デバイス１４によってアクセスされ得る。
【００４７】
[0053]ファイルサーバ３６は、符号化ビデオを記憶することと、その符号化ビデオを宛先デバイス１４に送信することとが可能な任意のタイプのサーバであり得る。例示的なファイルサーバは、（たとえば、ウェブサイトのための）ウェブサーバ、ＦＴＰサーバ、ネットワーク接続ストレージ（ＮＡＳ）デバイス、ローカルディスクドライブ、または、符号化ビデオデータを記憶すること、および符号化ビデオデータを宛先デバイスに送信することが可能な任意の他のタイプのデバイスを含む。ファイルサーバ３６からの符号化ビデオデータの送信は、ストリーミング送信、ダウンロード送信、または両方の組合せであり得る。ファイルサーバ３６は、インターネット接続を含む任意の標準的なデータ接続を通じて宛先デバイス１４によってアクセスされ得る。これは、ファイルサーバに記憶された符号化ビデオデータにアクセスするのに適切である、ワイヤレスチャネル（たとえば、Ｗｉ−Ｆｉ接続）、ワイヤード接続（たとえば、ＤＳＬ、ケーブルモデム、イーサネット（登録商標）、ＵＳＢなど）、または両方の組合せを含み得る。
【００４８】
[0054]宛先デバイス１４は、図１の例では、受信機２６と、モデム２８と、ビデオデコーダ３０と、ディスプレイデバイス３２とを含む。宛先デバイス１４の受信機２６は、チャネル１６を介して情報を受信し、モデム２８はその情報を復調して、ビデオデコーダ３０のために復調されたビットストリームを生成する。チャネル１６を介して通信される情報は、ビデオデータを復号する際にビデオデコーダ３０が使用する、ビデオエンコーダ２０によって生成された様々なシンタックス情報を含み得る。そのようなシンタックスはまた、記憶媒体３４またはファイルサーバ３６に記憶された符号化ビデオデータとともに含まれ得る。ビデオエンコーダ２０およびビデオデコーダ３０の各々は、ビデオデータを符号化または復号することが可能であるそれぞれのエンコーダデコーダ（コーデック）の一部を形成し得る。
【００４９】
[0055]ディスプレイデバイス３２は、宛先デバイス１４と一体化されるかまたはその外部にあり得る。いくつかの例では、宛先デバイス１４は、一体型ディスプレイデバイスを含み、また、外部ディスプレイデバイスとインターフェースするように構成され得る。他の例では、宛先デバイス１４はディスプレイデバイスであり得る。概して、ディスプレイデバイス３２は、復号ビデオデータをユーザに対して表示し、液晶ディスプレイ（ＬＣＤ）、プラズマディスプレイ、有機発光ダイオード（ＯＬＥＤ）ディスプレイ、または別のタイプのディスプレイデバイスなど、様々なディスプレイデバイスのいずれかを備え得る。
【００５０】
[0056]図１の例では、通信チャネル１６は、無線周波数（ＲＦ）スペクトルあるいは１つまたは複数の物理伝送線路など、任意のワイヤレスまたはワイヤード通信媒体、あるいはワイヤレス媒体とワイヤード媒体との任意の組合せを備え得る。通信チャネル１６は、ローカルエリアネットワーク、ワイドエリアネットワーク、またはインターネットなどのグローバルネットワークなど、パケットベースネットワークの一部を形成し得る。通信チャネル１６は、概して、ワイヤード媒体またはワイヤレス媒体の任意の好適な組合せを含む、ビデオデータをソースデバイス１２から宛先デバイス１４に送信するのに好適な任意の通信媒体、または様々な通信媒体の集合体を表す。通信チャネル１６は、ソースデバイス１２から宛先デバイス１４への通信を可能にするのに有用であり得るルータ、スイッチ、基地局、または任意の他の機器を含み得る。
【００５１】
[0057]ビデオエンコーダ２０およびビデオデコーダ３０は、現在開発中のＨＥＶＣ規格など、ビデオ圧縮規格に従って動作し得、ＨＥＶＣテストモデル（ＨＭ）に準拠し得る。代替的に、ビデオエンコーダ２０およびビデオデコーダ３０は、代替的にＭＰＥＧ−４，Ｐａｒｔ１０，Ａｄｖａｎｃｅｄ  Ｖｉｄｅｏ  Ｃｏｄｉｎｇ（ＡＶＣ）と呼ばれるＩＴＵ−Ｔ  Ｈ．２６４規格など、他のプロプライエタリまたは業界標準、あるいはそのような規格の拡張に従って動作し得る。ただし、本開示の技法は、いかなる特定のコーディング規格にも限定されない。他の例にはＭＰＥＧ−２およびＩＴＵ−Ｔ  Ｈ．２６３がある。
【００５２】
[0058]図１には示されていないが、いくつかの態様では、ビデオエンコーダ２０およびビデオデコーダ３０は、それぞれオーディオエンコーダおよびデコーダと統合され得、適切なＭＵＸ−ＤＥＭＵＸユニット、または他のハードウェアおよびソフトウェアを含んで、共通のデータストリームまたは別個のデータストリーム中のオーディオとビデオの両方の符号化を処理し得る。適用可能な場合、いくつかの例では、ＭＵＸ−ＤＥＭＵＸユニットは、ＩＴＵ  Ｈ．２２３マルチプレクサプロトコル、またはユーザデータグラムプロトコル（ＵＤＰ）などの他のプロトコルに準拠し得る。
【００５３】
[0059]ビデオエンコーダ２０およびビデオデコーダ３０はそれぞれ、１つまたは複数のマイクロプロセッサ、デジタル信号プロセッサ（ＤＳＰ）、特定用途向け集積回路（ＡＳＩＣ）、フィールドプログラマブルゲートアレイ（ＦＰＧＡ）、ディスクリート論理、ソフトウェア、ハードウェア、ファームウェアなど、様々な好適なエンコーダ回路のいずれか、またはそれらの任意の組合せとして実装され得る。本技法が部分的にソフトウェアで実装されるとき、デバイスは、好適な非一時的コンピュータ可読媒体にソフトウェアの命令を記憶し、１つまたは複数のプロセッサを使用してその命令をハードウェアで実行して、本開示の技法を実行し得る。ビデオエンコーダ２０およびビデオデコーダ３０の各々は１つまたは複数のエンコーダまたはデコーダ中に含まれ得、そのいずれも、それぞれのデバイスにおいて複合エンコーダ／デコーダ（コーデック）の一部として統合され得る。
【００５４】
[0060]ビデオエンコーダ２０は、ビデオコーディングプロセスにおけるＢＡＣのための本開示の技法のいずれかまたはすべてを実装し得る。同様に、ビデオデコーダ３０は、ビデオコーディングプロセスにおけるＢＡＣのためのこれらの技法のいずれかまたはすべてを実装し得る。本開示で説明するビデオコーダは、ビデオエンコーダまたはビデオデコーダを指し得る。同様に、ビデオコーディングユニットは、ビデオエンコーダまたはビデオデコーダを指し得る。このコンテキストでは、ビデオコーディングユニットは、物理的ハードウェアであり、上記で説明したＣＵデータ構造とは異なる。同様に、ビデオコーディングはビデオ符号化またはビデオ復号を指し得る。
【００５５】
[0061]本開示の一例では、ビデオエンコーダ２０は、バイナリ算術コーディングプロセスにおけるシンボルの確率状態を決定することと、確率状態が複数の確率状態のうちの１つを備え、決定された確率状態を示すインデックスを、複数のグループ化されたインデックスのうちの１つにマッピングすることと、グループ化されたインデックスのうちの少なくとも１つは複数の確率状態のうちの少なくとも２つを表し、グループ化されたインデックスの各々はテーブル中の確率シンボルの範囲をポイントする、を行うように構成され得る。
【００５６】
[0062]同様に、本開示の別の例では、ビデオデコーダ３０は、バイナリ算術コーディングプロセスにおけるシンボルの確率状態を決定することと、確率状態が複数の確率状態のうちの１つを備え、決定された確率状態を示すインデックスを、複数のグループ化されたインデックスのうちの１つにマッピングすることと、グループ化されたインデックスのうちの少なくとも１つは複数の確率状態のうちの少なくとも２つを表し、グループ化されたインデックスの各々はテーブル中の確率シンボルの範囲をポイントする、を行うように構成され得る。
【００５７】
[0063]以下のセクションでは、ＢＡＣおよびＣＡＢＡＣ技法についてより詳細に説明する。ＢＡＣは、概して、再帰的間隔再分割プロシージャである。ＢＡＣは、Ｈ．２６４／ＡＶＣビデオコーディング規格では、および、現在、提案されているＨＥＶＣビデオコーディング規格では、ＣＡＢＡＣプロセスにおいてビンを符号化するために使用される。ＢＡＣコーダの出力は、最終コード化確率間隔内の確率の値または確率へのポインタを表すバイナリストリームである。確率間隔は、範囲と下端値(lower end value)とによって指定される。範囲は、確率間隔の外延（extension）である。低(low)は、コーディング間隔の下限である。
【００５８】
[0064]ビデオコーディングへの算術コーディングの適用は、参照により本明細書に組み込まれる、Ｄ．Ｍａｒｐｅ、Ｈ．Ｓｃｈｗａｒｚ、およびＴ．Ｗｉｅｇａｎｄ「Context-Based Adaptive Binary Arithmetic Coding in the H.264/AVC Video Compression Standard」、ＩＥＥＥ  Ｔｒａｎｓ．Ｃｉｒｃｕｉｔｓ  ａｎｄ  Ｓｙｓｔｅｍｓ  ｆｏｒ  Ｖｉｄｅｏ  Ｔｅｃｈｎｏｌｏｇｙ、ｖｏｌ．１３、ｎｏ．７、２００３年７月に記載されている。ＣＡＢＡＣにおける各コンテキスト（すなわち、確率モデル）は、状態によって表される。各状態（σ）は、特定のシンボル（たとえば、ビン）が劣勢シンボル（ＬＰＳ）である確率（ｐσ）を暗黙的に表す。シンボルは、ＬＰＳまたは優勢シンボル（ＭＰＳ：Most Probable Symbol）であり得る。シンボルはバイナリであり、したがって、ＭＰＳおよびＬＰＳは０または１であり得る。確率は、対応するコンテキストについて推定され、算術コーダを使用してシンボルをエントロピーコーディングするために（暗黙的に）使用される。
【００５９】
[0065]ＢＡＣのプロセスは、コーディングすべきコンテキストとコーディングされているビンの値とに応じて、それの内部値「範囲」および「低」を変更する状態機械によって処理される。コンテキストの状態（すなわち、それの確率）に応じて、範囲は、ｒａｎｇｅＭＰＳσ（状態σ中の優勢（the most probable）シンボルの範囲）と、ｒａｎｇｅＬＰＳσ（状態σ中の劣勢（the least probable）シンボルの範囲）とに分割される。理論上、確率状態σのｒａｎｇｅＬＰＳσ値は、次の乗算によって導出される。
【００６０】
ｒａｎｇｅＬＰＳσ＝範囲×ｐσ
式中、ｐσは、ＬＰＳを選択する確率である。もちろん、ＭＰＳの確率は１−ｐσである。すなわち、ｒａｎｇｅＭＰＳσは、ｒａｎｇｅＬＰＳσを引いた範囲に等しい。ＢＡＣは、コーディングすべきコンテキストビンの状態と、現在の範囲と、コーディングされている（すなわち、ＬＰＳまたはＭＰＳに等しいビンである）ビンの値とに応じて、範囲を反復的に更新する。
【００６１】
[0066]図２Ａおよび図２Ｂに、ビンｎにおけるこのプロセスの例を示す。図２Ａの例１００では、ビンＮにおいて、ビン２での範囲は、あるコンテキスト状態（σ）が与えられればＬＰＳ（ｐσ）の確率によって与えられるＲａｎｇｅＭＰＳとＲａｎｇｅＬＰＳとを含む。例１００は、ビンｎの値がＭＰＳに等しいときのビンｎ＋１における範囲の更新を示す。この例では、低（low）は同じままであるが、ビンｎ＋１における範囲の値は、ビンｎにおけるＲａｎｇｅＭＰＳの値まで低減される。図２Ｂの例１０２は、ビンｎにおける値がＭＰＳに等しくない（すなわち、ＬＰＳに等しい）ときのビンｎ＋１における範囲の更新を示す。この例では、低は、ビンｎにおけるＲａｎｇｅＬＰＳの低範囲値まで移動される。さらに、ビンｎ＋１における範囲の値は、ビンｎにおけるＲａｎｇｅＬＰＳの値まで低減される。
【００６２】
[0067]ＨＥＶＣビデオコーディングプロセスのための１つの提案では、範囲は９ビットを用いて、低（low）は１０ビットを用いて表される。範囲値および低（low）値を十分な精度に維持するための再正規化プロセスがある。再正規化は、範囲が２５６よりも小さいときはいつでも行われる。したがって、範囲は、再正規化の後に常に２５６に等しいかまたはそれよりも大きい。範囲の値および低の値に応じて、ＢＡＣは、ビットストリームに「０」または「１」を出力するか、または将来の出力のために保つべき（ＢＯ：ビットアウトスタンディング（bits−outstanding）と呼ばれる）内部変数を更新する。図３に、範囲に応じたＢＡＣ出力の例を示す。たとえば、範囲および低が、あるしきい値（たとえば、５１２）を上回るときは、「１」がビットストリームに出力される。範囲および低が、あるしきい値（たとえば、５１２）を下回るときは、「０」がビットストリームに出力される。範囲および低が、あるしきい値の間にあるときは、何もビットストリームに出力されない。代わりに、ＢＯ値が増分され、次のビンが符号化される。
【００６３】
[0068]Ｈ．２６４／ＡＶＣのＣＡＢＡＣコンテキストモデル、およびＨＥＶＣのためのいくつかの提案では、１２８の状態がある。０〜６３であり得る、（状態σによって示される）６４の可能なＬＰＳ確率がある。各ＭＰＳは０または１であり得る。したがって、１２８の状態は、６４の状態確率×ＭＰＳの２つの可能な値（０または１）である。したがって、状態は、７つのビットを用いてインデックス付けされ得る。
【００６４】
[0069]ＬＰＳ範囲（ｒａｎｇｅＬＰＳσ）を導出する計算を軽減するために、Ｈ．２６４／ＡＶＣおよびＨＥＶＣのためのいくつかの提案では、すべての場合の結果が近似として事前計算され、ルックアップテーブルに記憶される。したがって、ＬＰＳ範囲は、単純なテーブルルックアップを使用することによって乗算なしに取得され得る。この演算は多くのハードウェアアーキテクチャにおいて著しいレイテンシを引き起こし得るので、乗算を回避することは、いくつかのデバイスまたはアプリケーションにとって重要であり得る。
【００６５】
[0070]４列の事前計算されたＬＰＳ範囲テーブルが、乗算の代わりに使用される。範囲は４つのセグメントに分割される。セグメントインデックスは、クエスチョン（ｒａｎｇｅ＞＞６）＆３によって導出され得る。事実上、セグメントインデックスは、実際の範囲からビットをシフトし、ドロップすることによって導出される。以下の表１に、可能な範囲とそれらの対応するインデックスとを示す。
【表１】
0005917705.tif 000002
【００６６】
[0071]ＬＰＳ範囲テーブルは、その場合、６４のエントリ（確率状態ごとに１つ）×４（範囲インデックスごとに１つ）を有する。各エントリは、ＲａｎｇｅＬＰＳ、すなわち、範囲×ＬＰＳ確率の値である。このテーブルの一部の例を以下の表２に示す。表２は確率状態９〜１２を示す。ＨＥＶＣのための１つの提案では、確率状態は０〜６３にわたり得る。
【表２】
0005917705.tif 000003
【００６７】
[0072]各セグメント（すなわち、範囲値）中で、各確率状態σのＬＰＳ範囲はあらかじめ定義されている。言い換えれば、確率状態σのＬＰＳ範囲は、４つの値（すなわち、範囲インデックスごとに１つの値）に量子化される。所与のポイントにおいて使用される特定のＬＰＳ範囲は、範囲が属するセグメントに依存する。テーブル中で使用される可能なＬＰＳ範囲の数は、テーブル列の数（すなわち、可能なＬＰＳ範囲値の数）とＬＰＳ範囲精度との間のトレードオフである。概して、列が多くなると、ＬＰＳ範囲値の量子化誤差が小さくなるが、テーブルを記憶するためのより多くのメモリの必要が増加する。列が少なくなると、量子化誤差は増加するが、テーブルを記憶するために必要とされるメモリが低減される。
【００６８】
[0073]上記で説明したように、各ＬＰＳ確率状態は対応する確率を有する。各状態の確率は次のように導出される。
【００６９】
ｐσ = ασ-１
式中、状態σは０〜６３である。定数(は、各コンテキスト状態間の確率変化の量を表す。一例では、α＝０．９４９３、または、より正確には、α＝（０．０１８７５／０．５）1/63である。状態σ＝０における確率は０．５に等しい（すなわち、ｐ0＝１／２）。すなわち、コンテキスト状態０において、ＬＰＳとＭＰＳとは同程度の確率がある。各連続状態における確率は、αによって前の状態を乗算することによって導出される。したがって、コンテキスト状態α＝１におけるＬＰＳ発生の確率は、ｐ0＊０．９４９３（０．５＊０．９４９３＝．４７４６５）である。したがって、状態αのインデックスが増加するにつれて、ＬＰＳ発生の確率は下がる。
【００７０】
[0074]信号統計値（すなわち、前にコーディングされたビンの値）に続くために、確率状態が更新されるので、ＣＡＢＡＣは適応型である。更新プロセスは以下の通りである。所与の確率状態の場合、更新は、状態インデックスと、ＬＰＳまたはＭＰＳのいずれかとして識別された符号化シンボルの値とに依存する。更新プロセスの結果として、潜在的に変更されたＬＰＳ確率推定値と、必要な場合、変更されたＭＰＳ値とからなる新しい確率状態が導出される。
【００７１】
[0075]ビン値がＭＰＳに等しい場合、所与の状態インデックスが単に１だけ増分される。これは、ＬＰＳ確率がすでにそれの最小値にある（すなわち、最大ＭＰＳ確率に達した）、状態インデックス６２においてＭＰＳが発生した場合を除く、すべての状態についてである。この場合、ＬＰＳが参照されるまで状態インデックス６２が固定されたままであるか、または、最後のビン値が符号化される（最後のビン値の特殊な場合、状態６３が使用される）。ＬＰＳが発生したとき、状態インデックスは、下記の式に示すように、状態インデックスをある量だけ減分することによって変更される。このルールは、概して、ＬＰＳの各発生に適用されるが、以下の例外がある。同程度の確率がある（equi-probable）場合に対応する、インデックスσ＝０の状態において、ＬＰＳが符号化されたと仮定すると、状態インデックスは固定されたままであるが、ＭＰＳ値は、ＬＰＳとＭＰＳとの値が交換されるようにトグルされる。すべての他の場合には、たとえどのシンボルが符号化されたとしても、ＭＰＳ値は改変されない。ＬＰＳ確率についての遷移ルールの導出は、所与のＬＰＳ確率ｐoldとそれの更新された相対物ｐnewとの間の以下の関係に基づく。
【数１】
0005917705.tif 000004
【００７２】
[0076]ＣＡＢＡＣにおける確率推定プロセスの実際的実装形態に関して、すべての遷移ルールが、それぞれ６ビット符号なし整数値の６３のエントリを有する最大２つのテーブルによって実現され得ることに留意することが重要である。いくつかの例では、所与の状態インデックスσについて、ＬＰＳが観測された場合、新しい更新された状態インデックスＴｒａｎｓＩｄｘＬＰＳ［σ］を決定する、単一のテーブルＴｒａｎｓＩｄｘＬＰＳを用いて状態遷移が決定され得る。ＭＰＳ駆動型遷移（MPS-driven transitions）は、固定値１による状態インデックスの単純な（飽和した（saturated））増分によって取得され、その結果、更新された状態インデックスｍｉｎ（σ＋１，６２）が得られ得る。以下の表３は、部分的なＴｒａｎｓＩｄｘＬＰＳテーブルの例である。
【表３】
0005917705.tif 000005
【００７３】
[0077]以前のＢＡＣ手法（たとえば、Ｈ．２６４／ＡＶＣにおいて使用されるＢＡＣ手法）の１つの問題は、テーブルＲａｎｇｅＬＰＳおよびＴｒａｎｓＩｄｘＬＰＳが低解像度ビデオ（すなわち、共通中間フォーマット（ＣＩＦ）および１／４ＣＩＦ（ＱＣＩＦ）ビデオ）用に調整されることである。現在、大量のビデオコンテンツが高精細度（ＨＤ）であり、場合によっては、ＨＤよりも高い。ＨＤまたはＨＤよりも高い精細度のビデオコンテンツは、Ｈ．２６４／ＡＶＣを開発するために使用される、１０年経ったＱＣＩＦシーケンスとは異なる統計値を有する。
【００７４】
[0078]このように、Ｈ．２６４／ＡＶＣからのテーブルＲａｎｇｅＬＰＳおよびＴｒａｎｓＩｄｘＬＰＳは、状態間の適応を速すぎる方法で引き起こすことがある。すなわち、確率状態間の遷移は、特にＬＰＳが発生したとき、ＨＤビデオのより滑らかでより高解像度のコンテンツにとって大きすぎることがある。したがって、従来の技法に従って使用される確率モデルは、ＨＤおよびエクストラＨＤコンテンツの場合ほど正確ではない。さらに、ＨＤビデオコンテンツはより大きい範囲のピクセル値を含むので、Ｈ．２６４／ＡＶＣテーブルは、ＨＤコンテンツ中に存在し得るより極端な値に対応するのに十分なエントリを含まない。
【００７５】
[0079]したがって、この新しいコンテンツの特性に対応するために、ＲａｎｇｅＬＰＳテーブルおよびＴｒａｎｓＩｄｘＬＰＳテーブルが変更される必要がある。これはまた、ＢＡＣが少なくとも２つの側面において異なるべきであることを暗示する。１つの差異は、ＢＡＣプロセスが、より遅い適応プロセスを可能にするテーブルを使用すべきであること。別の差異は、ＢＡＣプロセスが、より極端な場合（すなわち、歪んだ確率）に対応すべきであること。
【００７６】
[0080]現在のＲａｎｇｅＬＰＳテーブルおよびＴｒａｎｓＩｄｘＬＰＳテーブルは、これらの目的を達成するために、単により多くの確率状態および範囲を含めることによって変更され得る。しかしながら、この解決策は、テーブルのサイズのかなりの増加を招く。より遅い適応は、現在使用されているパラメータα（たとえば、α＝０．９４９３）よりも１により近いパラメータαを使用することによって達成され得る。しかしながら、より大きい値αを使用することは、確率をよりゆっくり０に向かわせ、したがって、より多くの状態が必要とされる。さらに、より遅い適応を達成するために、可能な最も低い確率が、現在使用されている最低確率よりもはるかに低ければ有益である。したがって、その極めて低い確率値に達するために、さらにより多くの状態が必要とされ得る。
【００７７】
[0081]上記の問題に鑑みて、本開示では、テーブルサイズ（たとえば、ＲａｎｇｅＬＰＳテーブルおよびＴｒａｎｓＩｄｘＬＰＳテーブル）を実際的レベルに保ちながら、より遅い適応と、より歪んだ確率とを達成するようにＢＡＣを変更するための技法を提案する。言い換えれば、本開示は、相対的に小さいサイズのテーブルを使用しながら、より遅い適応と、より極端な確率（すなわち、０および１により近い確率）とを達成するための技法について説明する。
【００７８】
[0082]本開示で説明する技法は、より多い確率状態、たとえば、Ｈ．２６４／ＡＶＣを用いるＢＡＣ、またはＨＥＶＣのために現在提案されているＢＡＣにおいて使用されるよりも多い確率状態を使用し得る。この場合、ＴｒａｎｓＩｄｘＬＰＳテーブルは、より遅い適応とより低い確率とを得ることができる。一例では、本開示で説明する技法は、６４の代わりに１２８の確率状態を使用し得る。これは、テーブルＴｒａｎｓＩｄｘＬＰＳを６４エントリだけ増加させる（すなわち、６４の代わりに１２８のエントリ）。この増加は、より遅い適応とより低い最小確率とを可能にする。一例として、パラメータα＝０．９６８９を設定することによって、連続確率間の差はより小さくなる。さらに、最低最小確率は０．００９まで下がり、Ｈ．２６４／ＡＶＣの場合の約１／２（すなわち、０．０１８７５）である。また、状態およびα値の他の数が可能であるが、概して、状態の数は増加させられ得、αの値は、α＝０．９４９３のＨ．２６４／ＡＶＣの場合よりも１により近くなり得る。
【００７９】
[0083]ＨＤまたはエクストラＨＤコーディングを改善するために変更され得る別のパラメータは、パラメータｐ0である。ｐ0の値は、概して、ＬＰＳの最大確率を示す。この可能性を考慮する理由は、より低いｐ0を有することが、最小確率も低下することを意味するからである。ｐ0の値は、従来のＢＡＣプロセスにおいて０．５に設定される。本開示は、ｐ0に対して他の値を可能にする。０．５よりも低いｐ0の他の値を有することは、ＭＰＳ／ＬＰＳスワップが発生したとき、状態０でのより滑らかな遷移を可能にする。多くの他の例も使用され得るが、一例では、ｐ0が０．４９３に等しいことが提案される。
【００８０】
[0084]通常、各確率状態は、それ自体のエントリをＲａｎｇｅＬＰＳテーブル中に有する。テーブルサイズは次のように表され得る。
【００８１】
# probability states × # quantized range indexes（確率状態の数×量子化範囲インデックスの数）
これは、ＨＥＶＣのためのいくつかの提案では、６４×４＝２５６バイトである。本開示の例では、状態の数が増加するので（上記の例では２倍になる）、ＲａｎｇｅＬＰＳテーブルサイズは１２８×４＝５１２バイトであり得る。しかしながら、ＲａｎｇｅＬＰＳテーブルサイズのこの増加を回避するために、本開示はさらに、ＲａｎｇｅＬＰＳサイズをインデックス付けするために、確率状態インデックスを小さいサイズ（すなわち、数個のインデックス）にマッピングすることを提案する。言い換えれば、本開示は、状態遷移プロセスを範囲計算プロセスから分離することを提案する。これは、本例では、状態について範囲計算へのマップがあることを意味する。１つの特定の例では、本開示は、ビデオエンコーダ２０および／またはビデオデコーダ３０が、それによって、決定された確率状態を示すインデックスを複数のグループ化されたインデックス（たとえば、ＲａｎｇｅＬＰＳテーブルのためのグループ化されたインデックス）のうちの１つにマッピングするように構成される、プロセスを提案し、ここにおいて、グループ化されたインデックスのうちの少なくとも１つは、複数の確率状態のうちの少なくとも２つを表す。したがって、ＲａｎｇｅＬＰＳテーブル（または他のＢＡＣテーブル）は、存在する確率状態よりも少ないインデックスを使用し得る。
【００８２】
[0085]本開示の一例では、ＲａｎｇｅＬＰＳテーブルのエントリとして使用すべき新しいインデックスを生成するために、確率状態数が２で割られ得る。この場合、１２８の確率状態は６４のエントリに低減される。したがって、ＲａｎｇｅＬＰＳテーブルは、Ｈ．２６４／ＡＶＣにおいて使用される現在のサイズを保つことができる。したがって、範囲ＬＰＳテーブル中のエントリをインデックス付けするために確率状態σを使用する代わりに、本開示で説明する技法は（σ＞＞１）を採用し、すなわち、ＲａｎｇｅＬＰＳテーブルへのグループ化されたインデックスとして使用するために、状態σが２で割られ、より小さい整数に丸められる。所与の実装形態のためにＲａｎｇｅＬＰＳテーブルがより小さいことが望まれる場合、または状態の数がより大きい（たとえば、２５６の確率状態）場合、より大きい数での除算であり得る。このコンテキストでは、各グループ化されたインデックスは２つの確率状態を表す。本開示の他の例では、グループ化されたインデックスは、２つ以上の確率状態を表し得る。
【００８３】
[0086]最適エントロピーの観点から、除算または右ビットシフト演算の使用によるＲａｎｇｅＬＰＳテーブルの状態のグループ化は有益であり得るが、常に最適技法であるとは限らない。最適グループ化は、特に、状態の数およびパラメータαを含むいくつかのファクタに依存し得る。最も望ましい（場合によっては最適な）グループ化は、ビットシフト演算のような簡単な演算でないことがある。概して、総数の確率状態から低減された数の確率状態（すなわち、グループ化された状態）まで進むグループ化は、テーブルを用いて説明され得る。別の例では、本開示は、この種類のテーブルを使用することを提案する。この手法は、追加のメモリという犠牲を払って、（除算または右シフトと比較して）性能を向上させ得る。したがって、この例は、メモリと性能との間のトレードオフであり、線形マッピング例（すなわち、除算または右シフト）に勝るより良い性能を選好する。
【００８４】
[0087]したがって、ＲａｎｇｅＬＰＳテーブル中のエントリへの確率状態の線形マッピングが使用され得るが、非線形マッピングを行うことが望ましいことがある。たとえば、確率状態が対数マッピングに従ってマッピングされ得る。対数マッピングは、いくつかの例では、区分的線形マッピング技法を使用して達成され得る。概して、そのようなマッピングは、事前計算されたマッピングテーブルなど、テーブルを使用して定義され得る。
【００８５】
[0088]概して、本開示で説明する技法は、いくつかの例では、ビデオデータをエントロピーコーディングするための方法またはデバイスによって実行され得る。本方法は、バイナリ算術コーディングプロセスにおけるシンボルの確率状態を決定することと、確率状態が複数の確率状態のうちの１つを備え、決定された確率状態を示すインデックスを、複数のグループ化されたインデックスのうちの１つにマッピングすることと、グループ化されたインデックスのうちの少なくとも１つが複数の確率状態のうちの少なくとも２つを表し、グループ化されたインデックスの各々がテーブル中の劣勢シンボルの範囲を指す、を含み得る。
【００８６】
[0089]確率状態の数は６４よりも大きくなり得る。たとえば、確率状態の数は１２８であり得る。いくつかの例では、ＲａｎｇｅＬＰＳテーブルへの入力として使用されるグループ化されたインデックスの数は、６４である。特に、確率状態の数は１２８であり得、ＲａｎｇｅＬＰＳテーブルへの入力として使用されるグループ化されたインデックスの数は６４であり得る。シンボルは、グループ化されたインデックスに基づいて、たとえば、確率状態インデックスに基づくテーブルに従って、またはインデックスに基づく数学演算に従って、コーディングされ得る。決定された確率状態は、テーブルに従って、または数学演算に従って、複数のインデックスのうちの１つにマッピングする。マッピングは線形または非線形であり得る。たとえば、マッピングは、２で割る演算に従って実行され得る。いくつかの例では、マッピングは対数マッピングであり得る。いくつかの例では、区分的（piesewise）線形マッピングが、対数マッピングを定義するために使用され得る。いくつかの例では、ＬＰＳの最大確率の値ｐ0は、０．５よりも小さくなり得る。
【００８７】
[0090]本開示で説明する技法は、たとえば、ビデオエンコーダ、ビデオデコーダ、または、複合（combined）ビデオエンコーダ／デコーダ（コーデック）内で実行され得る。特に、そのような技法は、ビデオエンコーダのエントロピー符号化ユニット、および／またはビデオデコーダのエントロピー復号ユニットで実行され得る。本技法は、たとえば、現在開発中のＨＥＶＣ規格の態様によるビデオコーディングなど、ビデオコーディングをサポートするように構成され得るＣＡＢＡＣプロセス内で実行され得る。エントロピー符号化および復号ユニットは、たとえば、残差ビデオデータに関連する量子化変換係数、動きベクトル情報、シンタックス要素、およびビデオ符号化および／またはビデオ復号プロセス中で有用であり得る他のタイプの情報など、様々なビデオデータのうちのいずれかを符号化または復号するために、コーディングプロセスを相反するまたは逆の方向で適用し得る。
【００８８】
[0091]図４は、本開示で説明したように、ＢＡＣコーディングのための技法を利用するように構成され得るビデオエンコーダ２０の例を示すブロック図である。ビデオエンコーダ２０について、例示のためにＨＥＶＣコーディングのコンテキストにおいて説明するが、他のコーディング規格または方法に関して本開示を限定するものではない。ビデオエンコーダ２０は、ビデオフレーム内のＣＵのイントラコーディングおよびインターコーディングを実行し得る。イントラコーディングは、所与のビデオフレーム内のビデオデータの空間的冗長性を低減または除去するために空間的予測に依拠する。インターコーディングは、ビデオシーケンスの現在のフレームと前にコーディングされたフレームとの間の時間的冗長性を低減または除去するために時間的予測に依拠する。イントラモード（Ｉモード）は、いくつかの空間ベースのビデオ圧縮モードのいずれかを指し得る。単方向予測（Ｐモード）または双方向予測（Ｂモード）などのインターモードは、いくつかの時間ベースのビデオ圧縮モードのいずれかを指し得る。
【００８９】
[0092]図４に示すように、ビデオエンコーダ２０は、符号化されるべきビデオフレーム内の現在ビデオブロックを受信する。図４の例では、ビデオエンコーダ２０は、動き補償ユニット４４と、動き推定ユニット４２と、イントラ予測処理ユニット４６と、参照フレームメモリ６４と、加算器５０と、変換処理ユニット５２と、量子化ユニット５４と、エントロピー符号化ユニット５６とを含む。図４に示される変換処理ユニット５２は、残差データのブロックに実際の変換または変換の組合せを適用するユニットであり、ＣＵの変換ユニット（ＴＵ）と呼ばれることもある変換係数のブロックと混同されるべきでない。ビデオブロック復元のために、ビデオエンコーダ２０はまた、逆量子化ユニット５８と、逆変換処理ユニット６０と、加算器６２とを含む。再構成されたビデオからブロッキネスアーティファクトを除去するためにブロック境界をフィルタ処理するデブロッキングフィルタ（図４に図示せず）も含まれ得る。所望される場合、デブロッキングフィルタは、一般に、加算器６２の出力をフィルタ処理することになる。
【００９０】
[0093]符号化プロセス中に、ビデオエンコーダ２０は、コーディングされるべきビデオフレームまたはスライスを受信する。フレームまたはスライスは、複数のビデオブロック、たとえば、最大コーディングユニット（ＬＣＵ）に分割され得る。動き推定ユニット４２および動き補償ユニット４４は、時間圧縮を行うために、１つまたは複数の参照フレーム中の１つまたは複数のブロックに対する受信したビデオブロックのインター予測コーディングを実行する。イントラ予測処理ユニット４６は、空間圧縮を行うために、コーディングされるべきブロックと同じフレームまたはスライス中の１つまたは複数の隣接ブロックに対する受信したビデオブロックのイントラ予測コーディングを実行し得る。
【００９１】
[0094]モード選択ユニット４０は、たとえば、各モードについての誤差（すなわち、ひずみ）結果に基づいて、コーディングモードのうちの１つ、すなわち、イントラまたはインターを選択し得、得られたイントラまたはインター予測ブロック（たとえば、予測ユニット（ＰＵ））を、残差ブロックデータを生成するために加算器５０に与え、参照フレーム中で使用する符号化ブロックを再構成するために加算器６２に与える。加算器６２は、以下でより詳しく説明されるように、予測ブロックを、そのブロックについての、逆変換処理ユニット６０からの逆量子化され逆変換されたデータと合成して、符号化ブロックを再構成する。いくつかのビデオフレームはＩフレームに指定され得、Ｉフレーム中のすべてのブロックはイントラ予測モードで符号化される。場合によっては、たとえば、動き推定ユニット４２によって実行された動き探索によって得られたブロックの予測が不十分であったとき、イントラ予測処理ユニット４６は、ＰフレームまたはＢフレーム中のブロックのイントラ予測符号化を実行し得る。
【００９２】
[0095]動き推定ユニット４２と動き補償ユニット４４とは、高度に統合され得るが、概念的な目的のために別々に示してある。動き推定（または動き探索）は、ビデオブロックの動きを推定する動きベクトルを生成するプロセスである。動きベクトルは、たとえば、参照フレームの参照サンプルに対する、現在フレーム中の予測ユニットの変位を示し得る。動き推定ユニット４２は、予測ユニットを参照フレームメモリ６４に記憶された参照フレームの参照サンプルと比較することによってインターコード化フレームの予測ユニットの動きベクトルを計算する。参照サンプルは、絶対値差分和（ＳＡＤ）、２乗差分和（ＳＳＤ）、または他の差分メトリックによって決定され得るピクセル差分に関して、コーディングされているＰＵを含むＣＵの部分にぴったり一致することがわかるブロックであり得る。参照サンプルは、参照フレームまたは参照スライス内のどこにでも発生し得、必ずしも、参照フレームまたはスライスのブロック（たとえば、コーディングユニット）境界において発生するとは限らない。いくつかの例では、参照サンプルは分数ピクセル位置において発生し得る。
【００９３】
[0096]動き推定ユニット４２は、計算された動きベクトルと他のシンタックス要素とを、エントロピーコーディングユニット５６と動き補償ユニット４４とに送る。動きベクトルによって識別される参照フレームの部分は参照サンプルと呼ばれることがある。動き補償ユニット４４は、たとえば、ＰＵの動きベクトルによって識別される参照サンプルを取り出すことによって、現在ＣＵの予測ユニットについての予測値を計算し得る。
【００９４】
[0097]イントラ予測処理ユニット４６は、動き推定ユニット４２と動き補償ユニット４４とによって実行されるインター予測の代替として、受信したブロックに対してイントラ予測を実行し得る。イントラ予測処理ユニット４６は、隣接する、前にコーディングされたブロック、たとえば、ブロックについての左から右へ、上から下への符号化順序を仮定すると、現在ブロックの上、右上、左上、または左のブロックに対して受信ブロックを予測し得る。イントラ予測処理ユニット４６は多種多様なイントラ予測モードで構成され得る。たとえば、イントラ予測処理ユニット４６は、符号化されているＣＵのサイズに基づいて、一定数の方向性予測モード、たとえば、３５個の方向性予測モードで構成され得る。
【００９５】
[0098]イントラ予測処理ユニット４６は、たとえば、様々なイントラ予測モードの誤差値を計算し、最も低い誤差値を生じるモードを選択することによって、イントラ予測モードを選択し得る。方向性予測モードは、空間的に隣接するピクセルの値を合成し、その合成された値をＰＵ中の１つまたは複数のピクセル位置に適用するための機能を含み得る。ＰＵ中のすべてのピクセル位置の値が計算されると、イントラ予測ユニット４６は、ＰＵと符号化されるべき受信ブロックとの間のピクセル差分に基づいて予測モードの誤差値を計算し得る。イントラ予測処理ユニット４６は、許容できる誤差値を生じるイントラ予測モードが発見されるまでイントラ予測モードをテストし続け得る。イントラ予測処理ユニット４６は、次いで、ＰＵを加算器５０に送り得る。
【００９６】
[0099]ビデオエンコーダ２０は、コーディングされている元のビデオブロックから、動き補償ユニット４４またはイントラ予測処理ユニット４６によって計算された予測データを減算することによって残差ブロックを形成する。加算器５０は、この減算演算を実行する１つまたは複数の構成要素を表す。残差ブロックはピクセル差分値の２次元行列に対応し得、残差ブロック中の値の数は、残差ブロックに対応するＰＵ中のピクセルの数と同じである。残差ブロック中の値は、ＰＵ中のコロケート(co-located)ピクセルの値と、コーディングされるべき元のブロック中のコロケートピクセルの値との間の差分、すなわち、誤差に対応し得る。差分は、コーディングされるブロックのタイプに応じて、彩度の差分または輝度の差分であり得る。
【００９７】
[0100]変換処理ユニット５２は、残差ブロックから１つまたは複数の変換ユニット（ＴＵ）を形成し得る。変換処理ユニット５２は、複数の変換の中から変換を選択する。変換は、ブロックサイズ、コーディングモードなど、１つまたは複数のコーディング特性に基づいて選択され得る。変換処理ユニット５２は、次いで、選択された変換をＴＵに適用して、変換係数の２次元アレイを備えるビデオブロックを生成する。さらに、変換処理ユニット５２は、選択された変換パーティションを符号化ビデオビットストリーム中でシグナリングし得る。
【００９８】
[0101]変換処理ユニット５２は、得られた変換係数を量子化ユニット５４に送り得る。量子化ユニット５４は、次いで、その変換係数を量子化し得る。量子化行列は、対応する変換係数に適用されるべき量子化の量を決定するために、量子化パラメータとともに使用され得る値を指定し得る。エントロピー符号化ユニット５６が、走査モードに従って、行列中の量子化された変換係数の走査を実行し得る。本開示では、エントロピー符号化ユニット５６が走査を実行するものとして説明する。ただし、他の例では、量子化ユニット５４などの他の処理ユニットが走査を実行し得ることを理解されたい。
【００９９】
[0102]変換係数が１次元アレイに走査されると、エントロピー符号化ユニット５６は、コンテキスト適応型可変長コーディング（ＣＡＶＬＣ）、コンテキスト適応型バイナリ算術コーディング（ＣＡＢＡＣ）、確率間隔区分エントロピーコーディング（ＰＩＰＥ）、ゴロムコーディング、ゴロムライスコーディング、指数ゴロムコーディング、シンタックスベースコンテキスト適応型バイナリ算術コーディング（ＳＢＡＣ）、または別のエントロピーコーディング方法などのエントロピーコーディングを係数に適用し得る。本開示の例による、様々な異なるエントロピーコーディングプロセスを参照しているが、エントロピー符号化ユニット５６は、上記で説明したＢＡＣコーディングを実行するように構成され得る。
【０１００】
[0103]ＣＡＶＬＣを実行するために、エントロピー符号化ユニット５６は、送信されるべきシンボルの可変長コードを選択し得る。ＶＬＣのコードワードは、相対的により短いコードがより可能性が高いシンボルに対応し、より長いコードがより可能性が低いシンボルに対応するように構築され得る。このようにして、ＶＬＣの使用は、たとえば、送信されるべき各シンボルのために等長コードワードを使用するよりも、ビット節約を達成し得る。
【０１０１】
[0104]ＣＡＢＡＣを実行するために、エントロピー符号化ユニット５６は、送信されるべきシンボルを符号化するために、あるコンテキストに適用すべきコンテキストモデルを選択し得る。コンテキストは、たとえば、隣接値が非０か否かに関係し得る。エントロピー符号化ユニット５６はまた、選択された変換を表す信号など、シンタックス要素をエントロピー符号化し得る。エントロピー符号化ユニット５６によるエントロピーコーディングの後に、得られた符号化ビデオは、ビデオデコーダ３０などの別のデバイスに送信されるか、あるいは後で送信するかまたは取り出すためにアーカイブされ得る。
【０１０２】
[0105]図５は、本開示の技法による、ＣＡＢＡＣを実行するように構成され得る例示的なエントロピー符号化ユニット５６のブロック図である。シンタックス要素１１８が、エントロピー符号化ユニット５６に入力される。シンタックス要素がすでに２進値シンタックス要素（すなわち、０および１の値のみを有するシンタックス要素）である場合、２値化のステップはスキップされ得る。シンタックス要素が非２進値シンタックス要素（たとえば、変換係数レベルなど、複数のビットによって表されるシンタックス要素）である場合、非２進値シンタックス要素はバイナライザ１２０によって２値化される。バイナライザ１２０は、２値決定のシーケンスへの非２進値シンタックス要素のマッピングを実行する。これらの２値決定は、しばしば、「ビン」と呼ばれる。たとえば、変換係数レベルの場合、レベルの値は連続ビンに分割され、各ビンは、係数レベルの絶対値がある値よりも大きいか否かを示し得る。たとえば、（有効性フラグと呼ばれることがある）ビン０は、変換係数レベルの絶対値が０よりも大きいか否かを示す。ビン１は、変換係数レベルの絶対値が１よりも大きいか否か示す、などである。各非２進値シンタックス要素について、一意のマッピングが展開され得る。
【０１０３】
[0106]バイナライザ１２０によって生成された各ビンは、エントロピーコーディングユニット５６のバイナリ算術コーディング側に供給される。すなわち、非２進値シンタックス要素のあらかじめ決定されたセットの場合、各ビンタイプ（たとえば、ビン０）は、次のビンタイプ（たとえば、ビン１）の前にコーディングされる。コーディングは、通常モードまたはバイパスモードのいずれかで実行され得る。バイパスモードでは、バイパスコーディングエンジン１２６は、固定の確率モデルを使用して、たとえば、ゴロムライスコーディングまたは指数ゴロムコーディングを使用して、算術コーディングを実行する。バイパスモードは、概して、より予測可能なシンタックス要素に使用される。
【０１０４】
[0107]通常モードでのコーディングは、ＣＡＢＡＣを実行することを伴う。通常モードＣＡＢＡＣは、ビン値をコーディングするためのものであり、ビンの値の確率は、前にコーディングされたビンの値が与えられれば予測可能である。ＬＰＳであるビンの確率は、コンテキストモデラ１２２によって決定される。コンテキストモデラ１２２は、ビン値とコンテキストモデル（たとえば、確率状態σ）とを出力する。コンテキストモデルは、一連のビンの初期コンテキストモデルであり得、または前にコーディングされたビンのコード化値に基づいて決定され得る。上記で説明したように、コンテキストモデラは、前にコーディングされたビンがＭＰＳまたはＬＰＳであったか否かに基づいて、状態を更新し得る。
【０１０５】
[0108]コンテキストモデルおよび確率状態σがコンテキストモデラ１２２によって決定された後、通常コーディングエンジン１２４は、ビン値に対してＢＡＣを実行する。本開示の技法による、通常コーディングエンジン１２４は、６４の確率状態σよりも多くを含むＴｒａｎｓＩｄｘＬＰＳテーブル１３０を使用してＢＡＣを実行する。一例では、確率状態の数は１２８である。前のビン（ビンｎ）がＬＰＳであるとき、次のビン（ビンｎ＋１）のためにどの確率状態が使用されるのか決定するために、ＴｒａｎｓＩｄｘＬＰＳが使用される。通常コーディングエンジン１２４はまた、特定の確率状態σが与えられれば、ＬＰＳの範囲値を決定するためにＲａｎｇｅＬＰＳテーブル１２８を使用し得る。しかしながら、本開示の技法によれば、ＴｒａｎｓＩｄｘＬＰＳテーブル１３０のすべての可能な確率状態σを使用するのではなく、確率状態インデックスσが、ＲａｎｇｅＬＰＳテーブル中で使用するグループ化されたインデックスにマッピングされる。すなわち、ＲａｎｇｅＬＰＳテーブル１２８中への各インデックスは、総数の確率状態のうちの２つ以上を表し得る。グループ化されたインデックスへの確率状態インデックスσのマッピングは、線形（たとえば、２で割ることによって）であり得、または、非線形（たとえば、対数関数またはマッピングテーブル）であり得る。
【０１０６】
[0109]本開示の他の例では、連続確率状態間の差は、パラメータαを０．９４９３よりも大きくなるように設定することによって、より小さくなり得る。一例では、α＝０．９６８９である。本開示の別の例では、ＬＰＳ発生の最も高い確率（ｐ0）は、０．５よりも小さくなるように設定され得る。一例では、ｐ0が０．４９３に等しいことを提案する。
【０１０７】
[0110]図４に戻ると、場合によっては、エントロピー符号化ユニット５６またはビデオエンコーダ２０の別のユニットは、エントロピーコーディングに加えて他のコーディング機能を実行するように構成され得る。たとえば、エントロピー符号化ユニット５６はＣＵおよびＰＵのコード化ブロックパターン（ＣＢＰ）値を決定するように構成され得る。また、場合によっては、エントロピー符号化ユニット５６は係数のランレングスコーディングを実行し得る。さらに、エントロピー符号化ユニット５６、または他の処理ユニットはまた、量子化行列の値など、他のデータをコーディングし得る。
【０１０８】
[0111]逆量子化ユニット５８および逆変換処理ユニット６０は、それぞれ逆量子化および逆変換を適用して、たとえば参照ブロックとして後で使用するために、ピクセル領域において残差ブロックを再構成する。動き補償ユニット４４は、残差ブロックを参照フレームメモリ６４のフレームのうちの１つの予測ブロックに加算することによって参照ブロックを計算し得る。動き補償ユニット４４はまた、再構成された残差ブロックに１つまたは複数の補間フィルタを適用して、動き推定において使用するサブ整数ピクセル値を計算し得る。加算器６２は、再構成された残差ブロックを、動き補償ユニット４４によって生成された動き補償予測ブロックに加算して、参照フレームメモリ６４に記憶するための再構成されたビデオブロックを生成する。再構成されたビデオブロックは、後続のビデオフレーム中のブロックをインターコーディングするために動き推定ユニット４２および動き補償ユニット４４によって参照ブロックとして使用され得る。
【０１０９】
[0112]図６は、符号化ビデオシーケンスを復号するビデオデコーダ３０の一例を示すブロック図である。図６の例では、ビデオデコーダ３０は、エントロピー復号ユニット７０と、動き補償ユニット７２と、イントラ予測処理ニット７４と、逆量子化ユニット７６と、逆変換ユニット７８と、参照フレームメモリ８２と、加算器８０とを含む。ビデオデコーダ３０は、いくつかの例では、ビデオエンコーダ２０（図４参照）に関して説明した符号化パスとは概して逆の復号パスを実行し得る。エントロピー復号ユニット７０または別のコーディングユニットは、たとえば、ソースシンボルの修正されたマッピングを使用して、量子化行列値、またはビデオデータなどの他の値のために、上記で説明した修正されたマッピングの逆を使用するように構成される。特に、エントロピー復号ユニット７０は、エンコーダによって使用されたプロセスの概して逆であるプロセスを適用し得る。エントロピー復号ユニット７０は、変換係数の１次元アレイを取り出すために、符号化ビットストリームに対してエントロピー復号プロセスを実行する。使用されるエントロピー復号プロセスは、ビデオエンコーダ２０によって使用されたエントロピーコーディング（たとえば、ＣＡＢＡＣ、ＣＡＶＬＣ、ＰＩＰＥ、または上記の他のプロセスなど）に依存する。本開示で説明する技法による、エントロピー復号ユニット７０は、本開示で説明するように、たとえばＣＡＢＡＣプロセス内でＢＡＣプロセスを適用し得る。エンコーダによって使用されたエントロピーコーディングプロセスは、符号化ビットストリーム中でシグナリングされ得るか、または所定のプロセスであり得る。
【０１１０】
[0113]図７は、本開示の技法による、ＣＡＢＡＣを実行するように構成され得る例示的なエントロピー符号化ユニット７０のブロック図である。図７のエントロピー復号ユニット７０は、図５で説明したエントロピー符号化ユニット５６とは逆にＣＡＢＡＣを実行する。ビットストリーム２１８からのコード化ビットはエントロピー復号ユニット７０に入力される。コード化ビットは、それらがバイパスモードまたは通常モードを使用してエントロピーコーディングされたか否かに基づいて、コンテキストモデラ２２０またはバイパスコーディングエンジン２２２に供給される。コード化ビットがバイパスモードでコーディングされていた場合、バイパス復号エンジンは、たとえば、非２進シンタックス要素の２進値シンタックス要素またはビンを取り出すために、ゴロムライス復号または指数ゴロム復号を使用する。
【０１１１】
[0114]コーディングされたビットが通常モードでコーディングされていた場合、コンテキストモデラ２２０は、コード化ビットについての確率モデルを決定し得、通常復号エンジン２２４は、非２進値シンタックス要素のビン（または、２進値の場合、それら自体のシンタックス要素）を生成するために、コード化ビットを復号し得る。コンテキストモデルと確率状態σとがコンテキストモデラ２２０によって決定された後、通常復号エンジン２２４がビン値に対してＢＡＣを実行する。本開示の技法によれば、通常コーディングエンジン２２４は、６４より多い確率状態σを含むＴｒａｎｓＩｄｘＬＰＳテーブル２２８を使用してＢＡＣを実行する。本開示の技法に一致する確率状態の他の数が定義され得るが、一例では、確率状態の数は１２８である。前のビン（ビンｎ）がＬＰＳであるとき、次のビン（ビンｎ＋１）のためにどの確率状態が使用されるのか決定するために、ＴｒａｎｓＩｄｘＬＰＳが使用される。通常複合エンジン２２４はまた、特定の確率状態σが与えられれば、ＬＰＳの範囲値を決定するためにＲａｎｇｅＬＰＳテーブル２２６を使用し得る。しかしながら、本開示の技法によれば、ＴｒａｎｓＩｄｘＬＰＳテーブル２２８のすべての可能な確率状態σを使用するというよりむしろ、確率状態インデックスσが、ＲａｎｇｅＬＰＳテーブル２２６中で使用するグループ化されたインデックスにマッピングされる。すなわち、ＲａｎｇｅＬＰＳテーブル２２６中の各インデックスは、総数の確率状態のうちの２つ以上を表し得る。グループ化されたインデックスへの確率状態インデックスσのマッピングは、線形（たとえば、２で割ることによって）であり得、または、非線形（たとえば、対数関数またはマッピングテーブル）であり得る。
【０１１２】
[0115]本開示の他の例では、連続確率状態間の差は、パラメータαを０．９４９３よりも大きくなるように設定することによって、より小さくなり得る。一例では、α＝０．９６８９である。本開示の別の例では、ＬＰＳ発生の最も高い確率（ｐ0）は、０．５よりも小さくなるように設定され得る。一例では、ｐ0が０．４９３に等しいことを提案する。
【０１１３】
[0116]ビンが通常復号エンジン２２４によって復号された後、逆バイナライザ２３０は、ビンを変換して非２進値シンタックス要素の値に戻すために逆マッピングを実行し得る。
【０１１４】
[0117]図６に戻ると、いくつかの例では、エントロピー復号ユニット７０（または逆量子化ユニット７６）は、ビデオエンコーダ２０のエントロピー符号化ユニット５６（または量子化ユニット５４）によって使用された走査モードをミラーリングする走査を使用して受信値を走査し得る。係数の走査は逆量子化ユニット７６において実行され得るが、走査については、例示のために、エントロピー復号ユニット７０によって実行されるものとして説明する。さらに、説明しやすいように別個の機能ユニットとして示されているが、ビデオデコーダ３０のエントロピー復号ユニット７０、逆量子化ユニット７６、および他のユニットの構造および機能は互いに高度に統合され得る。
【０１１５】
[0118]逆量子化ユニット７６は、ビットストリーム中で与えられ、エントロピー復号ユニット７０によって復号された、量子化変換係数を逆量子化（inverse quantize）、すなわち、逆量子化（de-quantize）する。逆量子化プロセスは、たとえば、ＨＥＶＣのために提案されたプロセスまたはＨ．２６４復号規格によって定義されたプロセスと同様の、従来のプロセスを含み得る。逆量子化プロセスは、量子化の程度を決定し、同様に、適用されるべき逆量子化の程度を決定するための、ＣＵについてビデオエンコーダ２０によって計算される量子化パラメータＱＰの使用を含み得る。逆量子化ユニット７６は、係数が１次元アレイから２次元アレイに変換される前または変換された後に変換係数を逆量子化し得る。
【０１１６】
[0119]逆変換処理ユニット７８は、逆量子化された変換係数に逆変換を適用する。いくつかの例では、逆変換処理ユニット７８は、ビデオエンコーダ２０からのシグナリングに基づいて、あるいはブロックサイズ、コーディングモードなどの１つまたは複数のコーディング特性から変換を推論することによって、逆変換を決定し得る。いくつかの例では、逆変換処理ユニット７８は、現在ブロックを含むＬＣＵのための４分木のルートノードにおけるシグナリングされた変換に基づいて、現在ブロックに適用すべき変換を決定し得る。代替的に、変換は、ＬＣＵ４分木中のリーフノードＣＵのためのＴＵ４分木のルートにおいてシグナリングされ得る。いくつかの例では、逆変換処理ユニット７８は、逆変換処理ユニット７８が、復号されている現在ブロックの変換係数に２つ以上の逆変換を適用する、カスケード逆変換を適用し得る。
【０１１７】
[0120]さらに、逆変換処理ユニットは、逆変換を適用して、本開示の上記で説明した技法に従って変換ユニットパーティションを生成し得る。
【０１１８】
[0121]イントラ予測処理ユニット７４は、シグナリングされたイントラ予測モードと、現在フレームの前に復号されたブロックからのデータとに基づいて、現在フレームの現在ブロックについての予測データを生成し得る。取り出された動き予測方向、参照フレームインデックス、および計算された現在の動きベクトル（たとえば、統合モードに従って近隣のブロックからコピーされた動きベクトル）に基づいて、動き補償ユニットは、現在の部分の動き補償されたブロックを生成する。これらの動き補償ブロックは、本質的に、残差データを生成するために使用される予測ブロックを再現する。
【０１１９】
[0122]動き補償ユニット７２は、動き補償ブロックを生成し、場合によっては、補間フィルタに基づいて補間を実行し得る。サブピクセル精度をもつ動き推定に使用されるべき補間フィルタの識別子は、シンタックス要素中に含まれ得る。動き補償ユニット７２は、ビデオブロックの符号化中にビデオエンコーダ２０によって使用された補間フィルタを使用して、参照ブロックのサブ整数ピクセルの補間値を計算し得る。動き補償ユニット７２は、受信されたシンタックス情報に従って、ビデオエンコーダ２０によって使用された補間フィルタを決定し、その補間フィルタを使用して予測ブロックを生成し得る。
【０１２０】
[0123]さらに、動き補償ユニット７２およびイントラ予測処理ユニット７４は、ＨＥＶＣの例では、（たとえば、４分木によって与えられる）シンタックス情報の一部を使用して、符号化ビデオシーケンスの（１つまたは複数の）フレームを符号化するために使用されたＬＣＵのサイズを決定し得る。動き補償ユニット７２およびイントラ予測処理ユニット７４はまた、シンタックス情報を使用して、符号化ビデオシーケンスのフレームの各ＣＵがどのように分割されるか（および、同様に、サブＣＵがどのように分割されるか）を記述する分割情報を決定し得る。シンタックス情報はまた、各分割がどのように符号化されるかを示すモード（たとえば、イントラまたはインター予測、およびイントラ予測の場合はイントラ予測符号化モード）と、各インター符号化ＰＵについての１つまたは複数の参照フレーム（および／またはそれらの参照フレームの識別子を含んでいる参照リスト）と、符号化ビデオシーケンスを復号するための他の情報とを含み得る。
【０１２１】
[0124]加算器８０は、残差ブロックを、動き補償ユニット７２またはイントラ予測処理ユニット７４によって生成された対応する予測ブロックと合成して、復号ブロックを形成する。所望される場合、ブロッキネスアーティファクトを除去するために、復号ブロックをフィルタ処理するためにデブロッキングフィルタも適用され得る。復号ビデオブロックは、次いで、参照フレームメモリ８２に記憶され、参照フレームメモリ８２は、その後の動き補償のための参照ブロックを与え、また、（図１のディスプレイデバイス３２などの）ディスプレイデバイス上での提示のために復号ビデオを生成する。
【０１２２】
[0125]図８は、本開示の技法による例示的なコーディング方法を示すフローチャートである。図８の技法は、ビデオエンコーダ（たとえば、ビデオエンコーダ２０またはビデオデコーダ３０）の１つまたは複数の構成要素によって実行され得る。一例として、図８の方法は、ビデオエンコーダ２０のエントロピー符号化ユニット５６によっておよび／またはビデオデコーダ３０のエントロピー復号ユニット７０によって実行され得る。
【０１２３】
[0126]ビデオエンコーダ２０および／またはビデオデコーダ３０は、ビデオコーディングプロセスにおけるバイナリ算術コーディングプロセスを使用するビデオデータのエントロピーコーディングの方法を実行するように構成され得る。ビデオエンコーダ２０および／またはビデオデコーダ３０は、バイナリ算術コーディングプロセスにおけるシンボルの確率状態を決定するように構成され得、当該確率状態は複数の確率状態のうちの１つを備える（３２０）。ビデオエンコーダ２０および／またはビデオデコーダ３０は、決定された確率状態を示すインデックスを、複数のグループ化されたインデックスのうちの１つにマッピングするようにさらに構成され得、当該グループ化されたインデックスのうちの少なくとも１つが複数の確率状態のうちの少なくとも２つを表す（３２２）。グループ化されたインデックスの各々は、テーブル中の確率シンボルの範囲を識別する。
【０１２４】
[0127]確率状態インデックスを複数のグループ化されたインデックスのうちの１つにマッピングすることは、多くの方法のうちの１つで達成され得る。一例では、マッピングすることは、テーブルに従ってインデックスをグループ化されたインデックスにマッピングすることを備える。別の例では、マッピングすることは、数学演算に従ってインデックスをグループ化されたインデックスにマッピングすることを備える。さらに別の例では、マッピングすることは、２で割る演算に従ってインデックスをグループ化されたインデックスにマッピングすることを備える。別の例では、マッピングすることは、線形マッピングに従ってインデックスをグループ化されたインデックスにマッピングすることを備える。また別の例では、マッピングすることは、対数マッピングに従ってインデックスをグループ化されたインデックスにマッピングすることを備える。さらに別の例では、マッピングすることは、区分的非線形マッピングに従ってインデックスをグループ化されたインデックスにマッピングすることを備える。
【０１２５】
[0128]本開示の一例では、複数の確率状態の数は６４よりも大きい。より具体的な例では、複数の確率状態の数は１２８である。本開示の別の例では、グループ化されたインデックスの数は６４である。
【０１２６】
[0129]本開示の別の例では、複数の確率状態が、最も高い確率状態ｐ0を含み、連続確率状態は、前の確率状態をパラメータαで乗算することによって決定される。一例では、αは０．９４９３よりも大きく、ｐ0は０．５よりも小さい。より具体的な例では、αは約０．９６８９であり、ｐ0は約０．４９３である。
【０１２７】
[0130]ビデオエンコーダ２０および／またはビデオデコーダ３０は、グループ化されたインデックスと確率状態とに基づいてシンボルをコーディングするようにさらに構成され得る（３２４）。一例では、シンボルをコーディングすることは、グループ化されたインデックスに基づくテーブルに従ってシンボルをコーディングすることを含み得る。別の例では、シンボルをコーディングすることは、グループ化されたインデックスを生成するために、インデックスに対して実行された数学演算に従ってシンボルをコーディングすることを含み得る。
【０１２８】
[0131]図８の技法は、シンボルを符号化するために、ビデオエンコーダ２０によってビデオ符号化プロセスに実装され得る。一例では、シンボルは変換係数のレベルである。この例では、ビデオ符号化方法は、残差データを生成するためにビデオデータを符号化することと、変換係数を生成するために残差データを変換することと、シンボルを作成するために変換係数を２値化することとをさらに含み得る。
【０１２９】
[0132]図８の技法はまた、シンボルを復号するために、ビデオデコーダ３０によってビデオ復号プロセスに実装され得る。一例では、シンボルは変換係数のレベルである。一例では、シンボルは変換係数のレベルである。この例では、グループ化されたインデックスと確率状態と基づいてシンボルをコーディングすることは、復号されたビンを生成する。ビデオ復号方法は、シンボルを受信することと、変換係数を生成するために復号されたビンを逆２値化することと、残差データを生成するために変換係数を逆変換することと、復号ビデオデータを生成するために残差データを復号することとをさらに含み得る。
【０１３０】
[0133]１つまたは複数の例では、説明した機能は、ハードウェア、ソフトウェア、ファームウェア、またはそれらの任意の組合せで実装され得る。ソフトウェアで実装される場合、機能は、１つまたは複数の命令またはコードとしてコンピュータ可読媒体上に記憶されるか、あるいはコンピュータ可読媒体を介して送信され、ハードウェアベースの処理ユニットによって実行され得る。コンピュータ可読媒体は、たとえば、通信プロトコルに従って、ある場所から別の場所へのコンピュータプログラムの転送を可能にする任意の媒体を含む、データ記憶媒体または通信媒体などの有形媒体に対応するコンピュータ可読記憶媒体を含み得る。このようにして、コンピュータ可読媒体は、概して、（１）非一時的である有形コンピュータ可読記憶媒体、あるいは（２）信号または搬送波などの通信媒体に対応し得る。データ記憶媒体は、本開示で説明した技法の実装のための命令、コードおよび／またはデータ構造を取り出すために１つまたは複数のコンピュータあるいは１つまたは複数のプロセッサによってアクセスされ得る任意の利用可能な媒体であり得る。コンピュータプログラム製品はコンピュータ可読媒体を含み得る。
【０１３１】
[0134]限定ではなく例として、そのようなコンピュータ可読記憶媒体は、ＲＡＭ、ＲＯＭ、ＥＥＰＲＯＭ（登録商標）、ＣＤ−ＲＯＭまたは他の光ディスクストレージ、磁気ディスクストレージ、または他の磁気ストレージデバイス、フラッシュメモリ、あるいは命令またはデータ構造の形態の所望のプログラムコードを記憶するために使用され得、コンピュータによってアクセスされ得る、任意の他の媒体を備えることができる。また、いかなる接続もコンピュータ可読媒体と適切に呼ばれる。たとえば、命令が、同軸ケーブル、光ファイバーケーブル、ツイストペア、デジタル加入者回線（ＤＳＬ）、または赤外線、無線、およびマイクロ波などのワイヤレス技術を使用して、ウェブサイト、サーバ、または他のリモートソースから送信される場合、同軸ケーブル、光ファイバーケーブル、ツイストペア、ＤＳＬ、または赤外線、無線、およびマイクロ波などのワイヤレス技術は、媒体の定義に含まれる。ただし、コンピュータ可読記憶媒体およびデータ記憶媒体は、接続、搬送波、信号、または他の一時媒体を含まないが、代わりに非一時的有形記憶媒体を対象とすることを理解されたい。本明細書で使用するディスク（disk）およびディスク（disc）は、コンパクトディスク（disc）（ＣＤ）、レーザーディスク（登録商標）（disc）、光ディスク（disc）、デジタル多用途ディスク（disc）（ＤＶＤ）、フロッピー（登録商標）ディスク（disk）およびＢｌｕ−ｒａｙディスク（disc）を含み、ディスク（disk）は、通常、データを磁気的に再生し、ディスク（disc）は、データをレーザーで光学的に再生する。上記の組合せもコンピュータ可読媒体の範囲内に含めるべきである。
【０１３２】
[0135]命令は、１つまたは複数のデジタル信号プロセッサ（ＤＳＰ）などの１つまたは複数のプロセッサ、汎用マイクロプロセッサ、特定用途向け集積回路（ＡＳＩＣ）、フィールドプログラマブル論理アレイ（ＦＰＧＡ）、あるいは他の等価な集積回路またはディスクリート論理回路によって実行され得る。したがって、本明細書で使用する「プロセッサ」という用語は、前述の構造、または本明細書で説明する技法の実装に好適な他の構造のいずれかを指す。さらに、いくつかの態様では、本明細書で説明した機能は、符号化および復号のために構成された専用のハードウェアおよび／またはソフトウェアモジュール内に与えられ得、あるいは複合コーデックに組み込まれ得る。また、本技法は、１つまたは複数の回路または論理要素中に十分に実装され得る。
【０１３３】
[0136]本開示の技法は、ワイヤレスハンドセット、集積回路（ＩＣ）、またはＩＣのセット（たとえば、チップセット）を含む、多種多様なデバイスまたは装置において実装され得る。本開示では、開示する技法を実行するように構成されたデバイスの機能的態様を強調するために様々な構成要素、モジュール、またはユニットについて説明したが、それらの構成要素、モジュール、またはユニットを、必ずしも異なるハードウェアユニットによって実現する必要があるとは限らない。むしろ、上記で説明したように、様々なユニットが、好適なソフトウェアおよび／またはファームウェアとともに、上記で説明した１つまたは複数のプロセッサを含めて、コーデックハードウェアユニットにおいて組み合わせられるか、または相互動作ハードウェアユニットの集合によって与えられ得る。
【０１３４】
[0137]様々な例について説明した。これらおよび他の例は、以下の特許請求の範囲内に入る。
以下に、本願出願の当初の特許請求の範囲に記載された発明を付記する。
［１］  ビデオコーディングプロセスにおけるバイナリ算術コーディングプロセスを使用するビデオデータのエントロピーコーディングの方法であって、
バイナリ算術コーディングプロセスにおけるシンボルの確率状態を決定することと、前記確率状態は複数の確率状態のうちの１つを備え、
前記決定された確率状態を示すインデックスを、複数のグループ化されたインデックスのうちの１つにマッピングすることと、前記グループ化されたインデックスのうちの少なくとも１つは前記複数の確率状態のうちの少なくとも２つを表し、前記グループ化されたインデックスの各々はテーブル中の確率シンボルの範囲を識別する、
を備える、方法。
［２］  前記複数の確率状態の数は６４よりも大きい、［１］に記載の方法。
［３］  前記複数の確率状態の前記数は１２８である、［２］に記載の方法。
［４］  グループ化されたインデックスの数は６４である、［２］に記載の方法。
［５］  前記グループ化されたインデックスと前記確率状態とに基づいて前記シンボルをコーディングすることをさらに備える、［１］に記載の方法。
［６］  前記シンボルをコーディングすることは、前記グループ化されたインデックスに基づくテーブルに従って前記シンボルをコーディングすることを備える、［５］に記載の方法。
［７］  前記シンボルをコーディングすることは、前記グループ化されたインデックスを生成するために、前記インデックスに対して実行された数学演算に従って前記シンボルをコーディングすることを備える、［５］に記載の方法。
［８］  マッピングすることは、テーブルに従って前記インデックスをグループ化されたインデックスにマッピングすることを備える、［１］に記載の方法。
［９］  マッピングすることは、数学演算に従って前記インデックスを前記グループ化されたインデックスにマッピングすることを備える、［１］に記載の方法。
［１０］  マッピングすることは、２で割る演算に従って前記インデックスを前記グループ化されたインデックスにマッピングすることを備える、［９］に記載の方法。
［１１］  マッピングすることは、線形マッピングに従って前記インデックスを前記グループ化されたインデックスにマッピングすることを備える、［１］に記載の方法。
［１２］  マッピングすることは、対数マッピングに従って前記インデックスを前記グループ化されたインデックスにマッピングすることを備える、［１］に記載の方法。
［１３］  マッピングすることは、区分的非線形マッピングに従って前記インデックスを前記グループ化されたインデックスにマッピングすることを備える、［１］に記載の方法。
［１４］  前記複数の確率状態は最も高い確率状態ｐ0を含み、連続確率状態は、前の確率状態をパラメータαで乗算することによって決定され、αは０．９４９３よりも大きく、ｐ0は０．５よりも小さい、［１］に記載の方法。
［１５］  αは約０．９６８９であり、ｐ0は約０．４９３である、［１４］に記載の方法。
［１６］  前記ビデオコーディングプロセスはビデオ符号化プロセスであり、前記方法は、
残差データを生成するためにビデオデータを符号化することと、
変換係数を生成するために残差データを変換することと、
前記シンボルを作成するために変換係数を２値化することと、
をさらに備える、［５］に記載の方法。
［１７］  前記ビデオコーディングプロセスはビデオ復号プロセスであり、前記グループ化されたインデックスと前記確率状態とに基づいて前記シンボルをコーディングすることは、復号されたビンを生成し、前記方法は、
前記シンボルを受信することと、
変換係数を生成するために前記復号されたビンを逆２値化することと、
残差データを生成するために前記変換係数を逆変換することと、
復号ビデオデータを生成するために前記残差データを復号することと、
をさらに備える、［５］に記載の方法。
［１８］  ビデオコーディングプロセスにおけるバイナリ算術コーディングプロセスを使用するビデオデータのエントロピーコーディングを実行するように構成された装置であって、
バイナリ算術コーディングプロセスにおけるシンボルの確率状態を決定することと、前記確率状態は複数の確率状態のうちの１つを備え、
前記決定された確率状態を示すインデックスを、複数のグループ化されたインデックスのうちの１つにマッピングすることと、前記グループ化されたインデックスのうちの少なくとも１つは前記複数の確率状態のうちの少なくとも２つを表し、前記グループ化されたインデックスの各々はテーブル中の確率シンボルの範囲を識別する、
を行うように構成されビデオコーダ
を備える、装置。
［１９］  前記複数の確率状態の数は６４よりも大きい、［１８］に記載の装置。
［２０］  前記複数の確率状態の前記数は１２８である、［１９］に記載の装置。
［２１］  グループ化されたインデックスの数は６４である、［１９］に記載の装置。
［２２］  前記ビデオコーダは、前記グループ化されたインデックスと前記確率状態とに基づいて前記シンボルをコーディングするようにさらに構成された、［１８］に記載の装置。
［２３］  前記ビデオコーダは、前記グループ化されたインデックスに基づくテーブルに従って前記シンボルをコーディングするようにさらに構成された、［２２］に記載の装置。
［２４］  前記ビデオコーダは、前記グループ化されたインデックスを生成するために、前記インデックスに対して実行された数学演算に従って前記シンボルをコーディングするようにさらに構成された、［２２］に記載の装置。
［２５］  前記ビデオコーダは、テーブルに従って前記インデックスをグループ化されたインデックスにマッピングするようにさらに構成された、［１８］に記載の装置。
［２６］  前記ビデオコーダは、数学演算に従って前記インデックスを前記グループ化されたインデックスにマッピングするようにさらに構成された、［１８］に記載の装置。
［２７］  前記ビデオコーダは、２で割る演算に従って前記インデックスを前記グループ化されたインデックスにマッピングするようにさらに構成された、［２６］に記載の装置。
［２８］  前記ビデオコーダは、線形マッピングに従って前記インデックスを前記グループ化されたインデックスにマッピングするようにさらに構成された、［１８］に記載の装置。
［２９］  前記ビデオコーダは、対数マッピングに従って前記インデックスを前記グループ化されたインデックスにマッピングするようにさらに構成された、［１８］に記載の装置。
［３０］  前記ビデオコーダは、区分的非線形マッピングに従って前記インデックスを前記グループ化されたインデックスにマッピングするようにさらに構成された、［１８］記載の装置。
［３１］  前記複数の確率状態は最も高い確率状態ｐ0を含み、連続確率状態は、前の確率状態をパラメータαで乗算することによって決定され、αが０．９４９３よりも大きく、ｐ0が０．５よりも小さい、［１８］に記載の装置。
［３２］  αは約０．９６８９であり、ｐ0は約０．４９３である、［３１］に記載の装置。
［３３］  前記ビデオコーディングプロセスはビデオ符号化プロセスであり、前記ビデオコーダはビデオエンコーダであり、前記ビデオエンコーダは、
残差データを生成するためにビデオデータを符号化することと、
変換係数を生成するために残差データを変換することと、
前記シンボルを作成するために変換係数を２値化することと、
を行うようにさらに構成された、［２２］に記載の装置。
［３４］  前記ビデオコーディングプロセスはビデオ復号プロセスであり、前記ビデオコーダはビデオデコーダであり、前記グループ化されたインデックスと前記確率状態とに基づいて前記シンボルをコーディングすることは、復号されたビンを生成し、前記ビデオデコーダは、
前記シンボルを受信することと、
変換係数を生成するために前記復号されたビンを逆２値化することと、
残差データを生成するために前記変換係数を逆変換することと、
復号ビデオデータを生成するために前記残差データを復号することと、
を行うようにさらに構成された、［２２］に記載の装置。
［３５］  ビデオコーディングプロセスにおけるバイナリ算術コーディングプロセスを使用するビデオデータのエントロピーコーディングを実行するように構成された装置であって、
バイナリ算術コーディングプロセスにおけるシンボルの確率状態を決定するための手段と、前記確率状態は複数の確率状態のうちの１つを備え、
前記決定された確率状態を示すインデックスを、複数のグループ化されたインデックスのうちの１つにマッピングするための手段と、前記グループ化されたインデックスのうちの少なくとも１つは前記複数の確率状態のうちの少なくとも２つを表し、前記グループ化されたインデックスの各々はテーブル中の確率シンボルの範囲を識別する、
を備える、装置。
［３６］  前記複数の確率状態の数は６４よりも大きい、［３５］に記載の装置。
［３７］  前記複数の確率状態の前記数は１２８である、［３６］に記載の装置。
［３８］  グループ化されたインデックスの数は６４である、［３６］に記載の装置。
［３９］  前記グループ化されたインデックスと前記確率状態とに基づいて前記シンボルをコーディングするための手段をさらに備える、［３５］に記載の装置。
［４０］  前記複数の確率状態は最も高い確率状態ｐ0を含み、連続確率状態は、前の確率状態をパラメータαで乗算することによって決定され、αは０．９４９３よりも大きく、ｐ0は０．５よりも小さい、［３５］に記載の装置。
［４１］  αは約０．９６８９であり、ｐ0は約０．４９３である、［４０］に記載の装置。
［４２］  実行されたとき、ビデオコーディングプロセスにおけるバイナリ算術コーディングプロセスを使用するビデオデータのエントロピーコーディングを実行するように構成されたデバイスの１つまたは複数のプロセッサに、
バイナリ算術コーディングプロセスにおけるシンボルの確率状態を決定することと、前記確率状態は複数の確率状態のうちの１つを備え、
前記決定された確率状態を示すインデックスを、複数のグループ化されたインデックスのうちの１つにマッピングすることと、前記グループ化されたインデックスのうちの少なくとも１つは前記複数の確率状態のうちの少なくとも２つを表し、前記グループ化されたインデックスの各々はテーブル中の確率シンボルの範囲を識別する、
を行わせる命令を記憶するコンピュータ可読記憶媒体。
［４３］  前記複数の確率状態の数は６４よりも大きい、［４２］に記載のコンピュータ可読記憶媒体。
［４４］  前記複数の確率状態の前記数は１２８である、［４３］に記載のコンピュータ可読記憶媒体。
［４５］  グループ化されたインデックスの数は６４である、［４３］に記載のコンピュータ可読記憶媒体。
［４６］  前記１つまたは複数のプロセッサに、前記グループ化されたインデックスと前記確率状態とに基づいて前記シンボルをコーディングさせるための命令をさらに備える、［４２］に記載のコンピュータ可読記憶媒体。
［４７］  前記複数の確率状態は最も高い確率状態ｐ0を含み、連続確率状態は、前の確率状態をパラメータαで乗算することによって決定され、αは０．９４９３よりも大きく、ｐ0は０．５よりも小さい、［４２］に記載のコンピュータ可読記憶媒体。
［４８］  αは約０．９６８９であり、ｐ0は約０．４９３である、［４７］に記載のコンピュータ可読記憶媒体。
【図１】
0005917705.tif 000006
【図２Ａ】
0005917705.tif 000007
【図２Ｂ】
0005917705.tif 000008
【図３】
0005917705.tif 000009
【図４】
0005917705.tif 000010
【図６】
0005917705.tif 000011
【図８】
0005917705.tif 000012
【図５】
0005917705.tif 000013
【図７】
0005917705.tif 000014