(57)【要約】【課題】コンテキスト適応型符号化方式により符号化されたデータを復号する際に、周辺のマクロブロックに関する情報に基づいて行われる処理を簡略化する。【解決手段】周辺マクロブロック情報保持部１２０は、フレーム幅に含まれるマクロブロック数Ｎに１を加えた数のメモリ領域を備え、それぞれ対応するマクロブロック情報を保持する。左端のメモリ領域は左端のマクロブロックのさらに左側にマクロブロックを仮想的に想定したものである。コンテキストインデックスインクリメント生成部１３０は、周辺マクロブロック情報保持部１２０のアドレスＸおよびＸ−１のマクロブロック情報を読み出し、コンテキストインデックスインクリメントを生成する。ＣｏｎｄＴｅｒｍ生成部１７０は、ＣＡＢＡＣ復号部１６０による復号結果に基づいて条件フラグを生成して、周辺マクロブロック情報保持部１２０のアドレスＸに上書きする。【選択図】図１
2009231914.tif 000002
【特許請求の範囲】
【請求項１】
フレームにおける画素群の水平方向のアドレスにより索引されて対応する画素群に関する情報を画素群情報として保持する複数のメモリ領域であって、左端には無効な画素群情報を示す値を保持するメモリ領域をさらに備える画素群情報保持手段と、
復号対象となる画素群のアドレスおよび当該アドレスの左隣のアドレスにより特定されるメモリ領域に保持される画素群情報を取得して前記復号対象となる画素群の復号に必要な情報を復号情報として生成する復号情報生成手段と、
前記復号情報に基づいて復号処理を行う復号処理手段と、
前記復号情報に基づく値から前記復号対象となる画素群に関する画素群情報を生成して前記画素群情報保持手段の前記復号対象となる画素群のアドレスにより特定されるメモリ領域に保持させることにより更新する画素群情報更新手段と
を具備する復号装置。
【請求項２】
前記画素群情報保持手段は、新たなフレームの復号処理が開始される際に無効な画素群情報を示す値に初期化される請求項１記載の復号装置。
【請求項３】
前記画素群情報保持手段は、新たなスライスの復号処理が開始される際に無効な画素群情報を示す値に初期化される請求項２記載の復号装置。
【請求項４】
フレームにおけるマクロブロックの水平方向のアドレスにより索引されて対応するマクロブロックのコンテキストインデックスインクリメントを生成するための条件フラグをマクロブロック情報として保持する複数のメモリ領域であって、左端には無効なマクロブロック情報を示す値を保持するメモリ領域をさらに備えるマクロブロック情報保持手段と、
復号対象となるマクロブロックのアドレスおよび当該アドレスの左隣のアドレスにより特定されるメモリ領域に保持される前記条件フラグから前記コンテキストインデックスインクリメントを生成するコンテキストインデックスインクリメント生成手段と、
前記コンテキストインデックスインクリメントから算出されたコンテキストインデックスによりＣＡＢＡＣ復号処理を行う復号処理手段と、
前記復号処理により復号された値から前記復号対象となるマクロブロックに関する前記条件フラグを生成して前記マクロブロック情報保持手段の前記復号対象となるマクロブロックのアドレスにより特定されるメモリ領域に保持させることにより更新するマクロブロック情報更新手段と
を具備する復号装置。
【請求項５】
フレームにおけるブロックの水平方向のアドレスにより索引されて対応するブロックの量子化されたＤＣＴ係数の個数をブロック情報として保持する複数のメモリ領域であって、左端には無効なブロック情報を示す値を保持するメモリ領域をさらに備えるブロック情報保持手段と、
復号対象となるブロックのアドレスおよび当該アドレスの左隣のアドレスにより特定されるメモリ領域に保持される前記量子化されたＤＣＴ係数の個数から可変長符号化テーブルを決定する可変長符号化テーブル決定手段と、
前記決定された可変長符号化テーブルによりＣＡＶＬＣ復号処理を行う復号処理手段と、
前記復号処理により復号された値から前記復号対象となるブロックの量子化されたＤＣＴ係数の個数を生成して前記ブロック情報保持手段の前記復号対象となるブロックのアドレスにより特定されるメモリ領域に保持させることにより更新するブロック情報更新手段と
を具備する復号装置。
【請求項６】
フレームにおける画素群の水平方向のアドレスにより索引されて対応する画素群に関する情報を画素群情報として保持する複数のメモリ領域であって、左端には無効な画素群情報を示す値を保持するメモリ領域をさらに備える画素群情報保持手段を有する復号装置における復号処理方法であって、
復号対象となる画素群のアドレスおよび当該アドレスの左隣のアドレスにより特定されるメモリ領域に保持される画素群情報を取得して前記復号対象となる画素群の復号に必要な情報を復号情報として生成する復号情報生成手順と、
前記復号情報に基づいて復号処理を行う復号処理手順と、
前記復号情報に基づく値から前記復号対象となる画素群に関する画素群情報を生成して前記画素群情報保持手段の前記復号対象となる画素群のアドレスにより特定されるメモリ領域に保持させることにより更新する画素群情報更新手順と
を具備する復号処理方法。
【請求項７】
フレームにおける画素群の水平方向のアドレスにより索引されて対応する画素群に関する情報を画素群情報として保持する複数のメモリ領域であって、左端には無効な画素群情報を示す値を保持するメモリ領域をさらに備える画素群情報保持手段を有する復号装置において、
復号対象となる画素群のアドレスおよび当該アドレスの左隣のアドレスにより特定されるメモリ領域に保持される画素群情報を取得して前記復号対象となる画素群の復号に必要な情報を復号情報として生成する復号情報生成手順と、
前記復号情報に基づいて復号処理を行う復号処理手順と、
前記復号情報に基づく値から前記復号対象となる画素群に関する画素群情報を生成して前記画素群情報保持手段の前記復号対象となる画素群のアドレスにより特定されるメモリ領域に保持させることにより更新する画素群情報更新手順と
をコンピュータに実行させるプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、復号装置に関し、特にコンテキスト適応型符号化方式により符号化されたデータを復号する復号装置、および、その処理方法ならびに当該方法をコンピュータに実行させるプログラムに関する。
【背景技術】
【０００２】
ＩＴＵ−Ｔ（International Telecommunication Union - Telecommunication standardization sector：国際電気通信連合の電気通信標準化部門）において標準化されたＨ．２６４では、高能率符号化方式として、コンテキスト適応型二値算術符号化方式（ＣＡＢＡＣ：Context-Adaptive Binary Arithmetic Coding）およびコンテキスト適応型可変長符号化方式（ＣＡＶＬＣ：Context-Adaptive Variable Length Coding）が設けられている（例えば、非特許文献１参照。）。これらの符号化方式では、符号化係数のコンテキストに応じて効率の良いアルゴリズムが適応的に選択される。
【０００３】
ＣＡＢＡＣ符号化方式では、マクロブロックを構成するパラメータ毎に符号化／復号の方法が定義されている。このパラメータは、シンタックス要素（ＳＥ：Syntax Element）と呼ばれる。復号を開始する際には、最初にシンタックス要素に対応したコンテキストインデックス（ｃｔｘＩｄｘ）を算出する必要がある。このコンテキストインデックスは、シンタックス要素の種別毎に決められている固有値であるコンテキストインデックスオフセット（ｃｔｘＩｄｘＯｆｆｓｅｔ）と、復号済みの周辺マクロブロック情報から得られるコンテキストインデックスインクリメント（ｃｔｘＩｄｘＩｎｃ）との和で与えられる。
ｃｔｘＩｄｘ＝ｃｔｘＩｄｘＯｆｆｓｅｔ＋ｃｔｘＩｄｘＩｎｃ
【０００４】
ここで、位置Ｃにおけるコンテキストインデックスインクリメント（ｃｔｘＩｄｘＩｎｃ）は、復号済みの左側マクロブロック（位置Ａ）と上側マクロブロック（位置Ｂ）のそれぞれのシンタックス要素ＳＥ＿ＡおよびＳＥ＿Ｂと、シンタックス要素の種別ごとに定義された条件フラグ生成関数ＣｏｎｄＴｅｒｍ（ＳＥ）とに基づいて、次式により与えられる（図１３（ａ））。
ｃｔｘＩｄｘＩｎｃ＝ＣｏｎｄＴｅｒｍ（ＳＥ＿Ａ）
＋ＣｏｎｄＴｅｒｍ（ＳＥ＿Ｂ）
【０００５】
なお、上側マクロブロックの重みを２倍にした以下の式を使用する場合もあるが、本質的な部分には影響ないため、以降の説明では省略する。
ｃｔｘＩｄｘＩｎｃ＝ＣｏｎｄＴｅｒｍ（ＳＥ＿Ａ）
＋２×ＣｏｎｄＴｅｒｍ（ＳＥ＿Ｂ）
【０００６】
マクロブロックのフレーム内の位置によっては、周辺マクロブロックが存在しない（ＮＡ：Not Available）ことがあるが、この場合はシンタックス要素毎の固有値ＣｏｎｄＴｅｒｍ＿ＮＡが使用される（図１３（ｂ）乃至（ｄ））。
ｃｔｘＩｄｘＩｎｃ＝ＣｏｎｄＴｅｒｍ（ＳＥ＿Ａ）＋ＣｏｎｄＴｅｒｍ＿ＮＡ
ｃｔｘＩｄｘＩｎｃ＝ＣｏｎｄＴｅｒｍ＿ＮＡ＋ＣｏｎｄＴｅｒｍ（ＳＥ＿Ａ）
ｃｔｘＩｄｘＩｎｃ＝ＣｏｎｄＴｅｒｍ＿ＮＡ＋ＣｏｎｄＴｅｒｍ＿ＮＡ
【０００７】
また、ＣＡＶＬＣ符号化方式においても、量子化されたＤＣＴ（Discrete Cosine Transform：離散コサイン変換）係数を復号する際、位置Ｃの復号に使用される可変長符号化（ＶＬＣ：Variable Length Coding）テーブルを選択するために、左側マクロブロック（位置Ａ）の量子化されたＤＣＴ係数の個数と、上側マクロブロック（位置Ｂ）の量子化されたＤＣＴ係数の個数と間の平均値が用いられる。すなわち、ＣＡＶＬＣ符号化方式においても、ＣＡＢＡＣ符号化方式の場合と同様に、左側マクロブロックおよび上側マクロブロックにおけるマクロブロック情報の参照が頻繁に発生する。
【非特許文献１】ＩＴＵ−Ｔ  Ｈ．２６４
【発明の開示】
【発明が解決しようとする課題】
【０００８】
このように、周辺マクロブロックの存在の有無により処理内容が切り替わる場合には、マクロブロック位置が上端や左端であるか否かを全マクロブロックについて判定し、処理方法を変更しなければならない。ＣＡＢＡＣ符号化方式における処理手順例を図１４に示す。
【０００９】
この従来の手順では、まず、左隣のアドレスＡを算出した上で（ステップＳ９８１）、アドレスＡが有効であれば（ステップＳ９８２）アドレスＡの条件フラグを生成し（ステップＳ９８３）、無効であれば無効を示す値を生成する（ステップＳ９８４）。また、上のアドレスＢを算出した上で（ステップＳ９８５）、アドレスＢが有効であれば（ステップＳ９８６）アドレスＢの条件フラグを生成し（ステップＳ９８７）、無効であれば無効を示す値を生成する（ステップＳ９８８）。このようにして生成された値を加算することによりコンテキストインデックスインクリメントが生成され（ステップＳ９９１）、コンテキストインデックスオフセットと加算されることによりコンテキストインデックスが生成される（ステップＳ９９２）。このコンテキストインデックスに基づいてＣＡＢＡＣ復号が行われる（ステップＳ９９３）。
【００１０】
また、周辺マクロブロックが存在する位置でも、別スライスのマクロブロック情報は無効（ＮＡ）として扱わなければならないため、１フレームが複数のスライスから構成される場合は、さらに複雑な判定処理が必要になる。
【００１１】
一方、条件フラグ生成関数ＣｏｎｄＴｅｒｍ（ＳＥ）に注目すると、ＳＥ値から条件フラグを生成するアルゴリズムは複雑な判定処理を含むものになっている。複雑な判定処理の例として、マクロブロックタイプ（ｍｂ＿ｔｙｐｅ）に対するＣｏｎｄＴｅｒｍ（ＳＥ）の処理内容を図１５に示す。
【００１２】
このマクロブロックタイプに対する条件フラグ（ｃｏｎｄＴｅｒｍＦｌａｇＮ）生成に際して、アドレスｍｂＡｄｄｒＮが利用可能でなければ（ステップＳ９７１）、条件フラグは「０」に設定される（ステップＳ９７７）。アドレスｍｂＡｄｄｒＮが利用可能な場合、コンテキストインデックスオフセットが「０」で、かつ、アドレスｍｂＡｄｄｒＮのマクロブロックタイプが「ＳＩ」であれば（ステップＳ９７３）、条件フラグは「０」に設定される（ステップＳ９７７）。また、コンテキストインデックスオフセットが「３」で、かつ、アドレスｍｂＡｄｄｒＮのマクロブロックタイプが「Ｉ＿ＮｘＮ」であれば（ステップＳ９７４）、条件フラグは「０」に設定される（ステップＳ９７７）。また、コンテキストインデックスオフセットが「２７」で、かつ、アドレスｍｂＡｄｄｒＮのマクロブロックタイプがスキップト（skipped）であれば（ステップＳ９７５）、条件フラグは「０」に設定される（ステップＳ９７７）。また、コンテキストインデックスオフセットが「２７」で、かつ、アドレスｍｂＡｄｄｒＮのマクロブロックタイプが「Ｂ＿Ｄｉｒｅｃｔ＿１６ｘ１６」であれば（ステップＳ９７６）、条件フラグは「０」に設定される（ステップＳ９７７）。これらの何れの条件にも合致しない場合には条件フラグは「１」に設定される（ステップＳ９７８）。
【００１３】
しかも、ほとんどの復号済みマクロブロックは左側および上側として２度参照されるため、関数も２度実行されることになる。図１６における位置Ａは、位置Ｃの左側として参照された後に、位置Ｅの上側として参照される。そのたびに上述の条件フラグ生成手順が実行されるため、全体の処理に時間を要することになる。
【００１４】
ここでは、ＣＡＢＡＣ符号化方式における処理を例示したが、ＣＡＶＬＣ符号化方式においても同様である。
【００１５】
本発明はこのような状況に鑑みてなされたものであり、コンテキスト適応型符号化方式により符号化されたデータを復号する際に、周辺のマクロブロックに関する情報に基づいて行われる処理を簡略化することを目的とする。
【課題を解決するための手段】
【００１６】
本発明は、上記課題を解決するためになされたものであり、その第１の側面は、フレームにおける画素群の水平方向のアドレスにより索引されて対応する画素群に関する情報を画素群情報として保持する複数のメモリ領域であって、左端には無効な画素群情報を示す値を保持するメモリ領域をさらに備える画素群情報保持手段と、復号対象となる画素群のアドレスおよび当該アドレスの左隣のアドレスにより特定されるメモリ領域に保持される画素群情報を取得して上記復号対象となる画素群の復号に必要な情報を復号情報として生成する復号情報生成手段と、上記復号情報に基づいて復号処理を行う復号処理手段と、上記復号情報に基づく値から上記復号対象となる画素群に関する画素群情報を生成して上記画素群情報保持手段の上記復号対象となる画素群のアドレスにより特定されるメモリ領域に保持させることにより更新する画素群情報更新手段とを具備する復号装置、その復号処理方法またはプログラムである。これにより、画素群情報保持手段から画素群に関する画素群情報を取得することによって、画素群の復号に必要な情報を簡易な処理により生成させるという作用をもたらす。
【００１７】
また、この第１の側面において、上記画素群情報保持手段は、新たなフレームまたはスライスの復号処理が開始される際に無効な画素群情報を示す値に初期化されてもよい。これにより、境界条件を判定することなく、画素群情報保持手段を単純に参照するだけで、画素群の復号に必要な情報を生成させるという作用をもたらす。
【００１８】
また、本発明の第２の側面は、フレームにおけるマクロブロックの水平方向のアドレスにより索引されて対応するマクロブロックのコンテキストインデックスインクリメントを生成するための条件フラグをマクロブロック情報として保持する複数のメモリ領域であって、左端には無効なマクロブロック情報を示す値を保持するメモリ領域をさらに備えるマクロブロック情報保持手段と、復号対象となるマクロブロックのアドレスおよび当該アドレスの左隣のアドレスにより特定されるメモリ領域に保持される上記条件フラグから上記コンテキストインデックスインクリメントを生成するコンテキストインデックスインクリメント生成手段と、上記コンテキストインデックスインクリメントから算出されたコンテキストインデックスによりＣＡＢＡＣ復号処理を行う復号処理手段と、上記復号処理により復号された値から上記復号対象となるマクロブロックに関する上記条件フラグを生成して上記マクロブロック情報保持手段の上記復号対象となるマクロブロックのアドレスにより特定されるメモリ領域に保持させることにより更新するマクロブロック情報更新手段とを具備する復号装置、その復号処理方法またはプログラムである。これにより、マクロブロック情報保持手段からマクロブロックに関するマクロブロック情報を取得することによって、マクロブロックの復号に必要な情報を簡易な処理により生成させるという作用をもたらす。
【００１９】
また、本発明の第３の側面は、フレームにおけるブロックの水平方向のアドレスにより索引されて対応するブロックの量子化されたＤＣＴ係数の個数をブロック情報として保持する複数のメモリ領域であって、左端には無効なブロック情報を示す値を保持するメモリ領域をさらに備えるブロック情報保持手段と、復号対象となるブロックのアドレスおよび当該アドレスの左隣のアドレスにより特定されるメモリ領域に保持される上記量子化されたＤＣＴ係数の個数から可変長符号化テーブルを決定する可変長符号化テーブル決定手段と、上記決定された可変長符号化テーブルによりＣＡＶＬＣ復号処理を行う復号処理手段と、上記復号処理により復号された値から上記復号対象となるブロックの量子化されたＤＣＴ係数の個数を生成して上記ブロック情報保持手段の上記復号対象となるブロックのアドレスにより特定されるメモリ領域に保持させることにより更新するブロック情報更新手段とを具備する復号装置、その復号処理方法またはプログラムである。これにより、ブロック情報保持手段からブロックに関するブロック情報を取得することによって、ブロックの復号に必要な情報を簡易な処理により生成させるという作用をもたらす。
【発明の効果】
【００２０】
本発明によれば、コンテキスト適応型符号化方式により符号化されたデータを復号する際に、周辺のマクロブロックに関する情報に基づいて行われる処理を簡略化することができるという優れた効果を奏し得る。
【発明を実施するための最良の形態】
【００２１】
次に本発明の実施の形態について図面を参照して詳細に説明する。
【００２２】
図１は、本発明の実施の形態における復号装置の第１の実施例による機能構成例を示す図である。この復号装置は、符号列入力部１１０と、周辺マクロブロック情報保持部１２０と、コンテキストインデックスインクリメント生成部１３０と、コンテキストインデックスオフセット保持部１４０と、コンテキストインデックス算出部１５０と、ＣＡＢＡＣ復号部１６０と、ＣｏｎｄＴｅｒｍ生成部１７０とを備える。
【００２３】
符号列入力部１１０は、ＣＡＢＡＣ符号化方式により符号化された符号列を入力データとして入力するものである。この符号列入力部１１０から入力された入力データは、ＣＡＢＡＣ復号部１６０に供給される。
【００２４】
周辺マクロブロック情報保持部１２０は、対象となるマクロブロックの周辺のマクロブロックに関する情報をマクロブロック情報として保持するものである。後述のように、Ｈ．２６４では、各フレームを１６ライン×１６画素からなるマクロブロックに分割して処理する。ＣＡＢＡＣ符号化方式では、コンテキストインデックスインクリメント（ｃｔｘＩｄｘＩｎｃ）を生成するために、左側および上側のマクロブロックのそれぞれのシンタックス要素による条件フラグ生成関数ＣｏｎｄＴｅｒｍ（ＳＥ）の値が必要になる。周辺マクロブロック情報保持部１２０は、この条件フラグ生成関数ＣｏｎｄＴｅｒｍ（ＳＥ）の値をマクロブロック情報として保持する。
【００２５】
コンテキストインデックスインクリメント生成部１３０は、周辺マクロブロック情報保持部１２０から条件フラグ生成関数の値を読み出して、これに基づいてコンテキストインデックスインクリメント（ｃｔｘＩｄｘＩｎｃ）を生成するものである。すなわち、対象となるマクロブロックの左側マクロブロック（位置Ａ）と上側マクロブロック（位置Ｂ）のそれぞれのシンタックス要素をＳＥ＿ＡおよびＳＥ＿Ｂとし、条件フラグ生成関数ＣｏｎｄＴｅｒｍ（ＳＥ＿Ａ）およびＣｏｎｄＴｅｒｍ（ＳＥ＿Ｂ）を周辺マクロブロック情報保持部１２０から読み出して、両者を加算することによりコンテキストインデックスインクリメントを算出する。条件フラグ生成関数ＣｏｎｄＴｅｒｍ（ＳＥ）の値は、「０」か「１」であるため、コンテキストインデックスインクリメントの値は、「０」乃至「２」を示す。コンテキストインデックスインクリメント生成部１３０は、このようにして生成したコンテキストインデックスインクリメントをコンテキストインデックス算出部１５０に供給する。
【００２６】
コンテキストインデックスオフセット保持部１４０は、シンタックス要素の種別毎にコンテキストインデックスオフセット（ｃｔｘＩｄｘＯｆｆｓｅｔ）を保持するものである。シンタックス要素の種別は、ＣＡＢＡＣ復号部１６０から指示される。このコンテキストインデックスオフセット保持部１４０は、シンタックス要素の種別に応じてコンテキストインデックスオフセットをコンテキストインデックス算出部１５０に供給する。
【００２７】
コンテキストインデックス算出部１５０は、コンテキストインデックスオフセット保持部１４０から供給されたコンテキストインデックスオフセットと、コンテキストインデックスインクリメント生成部１３０から供給されたコンテキストインデックスインクリメントとを加算することにより、コンテキストインデックス（ｃｔｘＩｄｘ）を算出するものである。このコンテキストインデックス算出部１５０により算出されたコンテキストインデックスはＣＡＢＡＣ復号部１６０に供給される。
【００２８】
ＣＡＢＡＣ復号部１６０は、コンテキストインデックス算出部１５０から供給されたコンテキストインデックスに基づいて、符号列入力部１１０からの入力データを復号するものである。ＣＡＢＡＣ復号部１６０は、入力データを復号して、シンタックス要素を出力する。
【００２９】
ＣｏｎｄＴｅｒｍ生成部１７０は、ＣＡＢＡＣ復号部１６０による復号結果に基づいて条件フラグ生成関数ＣｏｎｄＴｅｒｍ（ＳＥ）の値を生成するものである。このＣｏｎｄＴｅｒｍ生成部１７０によって生成された条件フラグの値は、周辺マクロブロック情報保持部１２０に保持される。なお、このＣｏｎｄＴｅｒｍ生成部１７０により生成される具体的な値および方法については後述する（図７参照）。
【００３０】
図２は、本発明の実施の形態における周辺マクロブロック情報保持部１２０の構成例を示す図である。この周辺マクロブロック情報保持部１２０は、シンタックス要素の種別毎に、フレーム幅に含まれるマクロブロック数Ｎに「１」を加えた数（すなわち、Ｎ＋１）のメモリ領域を備える。各メモリ領域には「−１」から「Ｎ−１」のインデックス番号が付与されており、水平方向のマクロブロックアドレスによりアクセスされる。これらのメモリ領域をＣＴ［−１］乃至ＣＴ［Ｎ−１］により表す。
【００３１】
フレームの左端のマクロブロックのインデックス番号は「０」であり、右端のマクロブロックのインデックス番号は「Ｎ−１」である。インデックス番号「−１」のメモリ領域ＣＴ［−１］は、左端のマクロブロックのさらに左側に仮想的に想定したマクロブロックのマクロブロック情報を保持するものであり、マクロブロック情報が無効であることを示す値を保持する。
【００３２】
この周辺マクロブロック情報保持部１２０では、ＣＡＢＡＣ復号部１６０から指示されたシンタックス要素の種別により、１ラインに対応するメモリ領域ＣＴ［−１］乃至ＣＴ［Ｎ−１］が用いられる。
【００３３】
また、この周辺マクロブロック情報保持部１２０は、新たなフレームの復号処理が開始される際、または、新たなスライスの復号処理が開始される際に、無効なマクロブロック情報を示す値に初期化される。これにより、復号対象のマクロブロックの位置を判定する処理、または、参照マクロブロックが同一スライスに含まれるか否かの判定処理が不要になる。
【００３４】
図３は、Ｈ．２６４におけるデータ構造の概要を示す図である。Ｈ．２６４では、符号化データのデータ列は、シーケンス層、ピクチャ層、スライス層およびマクロブロック層の４つの層に大別される。
【００３５】
シーケンス層に含まれる各ピクチャ２０は１枚の画像を表す。このピクチャ２０は複数のスライス３０に分割される。このスライス３０は、ピクチャ２０を１６ライン毎に帯状に分割したものである。
【００３６】
スライス３０は、複数のマクロブロック４０により構成される。マクロブロック４０は、画面上の縦１６ライン×横１６画素の領域に対応する画像データであり、縦１６ライン×横１６画素の輝度信号Ｙ、縦８ライン×横８画素の色差信号Ｃｒ、および、縦８ライン×横８画素の色差信号Ｃｂを有する。各マクロブロック４０は、ＤＣＴの処理単位として、縦４ライン×横４画素のブロックに分割される。
【００３７】
図４は、Ｈ．２６４におけるストリームの基本構造を示す図である。シーケンス層のレベルで見ると、シーケンスヘッダ１１の後、シーケンスデータが続く。また、ピクチャ層のレベルで見ると、ピクチャヘッダ２１の後、ピクチャデータが続く。また、スライス層のレベルで見ると、スライスヘッダ３１の後、スライスデータ３２が続く。シーケンスデータとして複数のピクチャを含み、また、ピクチャデータとして複数のスライスを含む場合がある。
【００３８】
図５は、Ｈ．２６４におけるスライスデータ３２の基本構造を示す図である。このスライスデータ３２以下のシンタックス要素がＣＡＢＡＣ復号される。
【００３９】
ここでは、スライスデータ３２の先頭にシンタックス要素ｍｂ＿ｓｋｉｐ＿ｆｌａｇ３４が存在する。このシンタックス要素ｍｂ＿ｓｋｉｐ＿ｆｌａｇは、マクロブロック層を参照するか否かを示すフラグである。このシンタックス要素ｍｂ＿ｓｋｉｐ＿ｆｌａｇが「１」であれば、その後のシンタックス要素ｍｂ＿ｆｉｅｌｄ＿ｄｅｃｏｄｉｎｇ＿ｆｌａｇ３６およびマクロブロック層４０はスキップされる（３５）。一方、シンタックス要素ｍｂ＿ｓｋｉｐ＿ｆｌａｇが「０」であればスキップされず、引き続きシンタックス要素ｍｂ＿ｆｉｅｌｄ＿ｄｅｃｏｄｉｎｇ＿ｆｌａｇ３６およびマクロブロック層４０が復号される。
【００４０】
シンタックス要素ｍｂ＿ｆｉｅｌｄ＿ｄｅｃｏｄｉｎｇ＿ｆｌａｇ３６は、２つのフィールドを独立した２つのピクチャとして扱うか、まとめて１つのフレームとして扱うかを指示するものである。このシンタックス要素ｍｂ＿ｆｉｅｌｄ＿ｄｅｃｏｄｉｎｇ＿ｆｌａｇ３６が「１」であれば２つのフィールドを独立した２つのピクチャとして扱い、「０」」であれば２つのフィールドをまとめて１つのフレームとして扱う。
【００４１】
シンタックス要素ｅｎｄ＿ｏｆ＿ｓｌｉｃｅ＿ｆｌａｇ３８は、スライスデータ３２の終了を示すフラグである。このシンタックス要素ｅｎｄ＿ｏｆ＿ｓｌｉｃｅ＿ｆｌａｇ３８が「１」であればこれ以上マクロブロックが続かないことを示し、「０」であればこのスライスにおいてさらに他のマクロブロックが続くことを示す（３９）。
【００４２】
図６は、Ｈ．２６４におけるマクロブロック層４０の基本構造を示す図である。ここでは、一例として、８×８画素のイントラ予測の場合を例に挙げて説明する。このイントラ予測とは、同じ画面内の画像を用いて、他の位置の画像を予測するものである。
【００４３】
ここでは、マクロブロック層４０の先頭にシンタックス要素ｍｂ＿ｔｙｐｅ４１が存在する。このシンタックス要素ｍｂ＿ｔｙｐｅ４１は、マクロブロックタイプを規定するものである。マクロブロックタイプは、属するスライスのスライスタイプにより異なる。この例では、Ｉスライスに属し、シンタックス要素ｍｂ＿ｔｙｐｅ４１は「０」、すなわち、Ｉ＿Ｎ×Ｎを示すものとする。
【００４４】
シンタックス要素ｔｒａｎｓｆｏｒｍ＿ｓｉｚｅ＿８ｘ８＿ｆｌａｇ４２は、このマクロブロックのＤＣＴサイズを示すものであり、「１」であれば８×８画素を表し、「０」であれば４×４画素を表す。
【００４５】
８×８イントラ予測モード４３は、このマクロブロックに含まれる８×８画素ブロックのそれぞれに対して画面内予測モードを規定するものである。
【００４６】
シンタックス要素ｉｎｔｒａ＿ｃｈｒｏｍａ＿ｐｒｅｄ＿ｍｏｄｅ４４は、このマクロブロックに対して色差信号の画面内予測モードを規定するものである。すなわち、予測モードが直流（ＤＣ）であれば「０」、水平（Ｈｏｒｉｚｏｎｔａｌ）であれば「１」、垂直（Ｖｅｒｔｉｃａｌ）であれば「２」、平面（Ｐｌａｎｅ）であれば「３」を示す。
【００４７】
シンタックス要素ｃｏｄｅｄ＿ｂｌｏｃｋ＿ｐａｔｔｅｒｎ４５は、このマクロブロックに含まれる各ブロックが非ゼロのＤＣＴ係数を含むか否かを示すものである。
【００４８】
シンタックス要素ｍｂ＿ｑｐ＿ｄｅｌｔａ４６は、このマクロブロックと、直前のマクロブロックの量子化パラメータＱＰの差分値を表すものである。直前のマクロブロックが存在しない場合には、このシンタックス要素ｍｂ＿ｑｐ＿ｄｅｌｔａ４６は「０」を示す。
【００４９】
残差データ（ｒｅｓｉｄｕａｌ）４７は、符号化データから予測データを差し引いたものである。Ｈ．２６４では、この残差データ４７がＤＣＴを経て量子化され、符号化される。
【００５０】
図７は、本発明の実施の形態における条件フラグ生成関数ＣｏｎｄＴｅｒｍ（ＳＥ）の値を示す図である。Ｈ．２６４では、シンタックス要素の値から条件フラグを生成するアルゴリズムは上述のように複雑な判定処理を含む。本発明の実施の形態では、ほとんどのシンタックス要素が、復号されたビット列の先頭のみの論理式により表現可能であることに着目し、これを利用して条件フラグを生成する。ここで、復号されたビット列の先頭を「ｂｉｎ０」として表す。
【００５１】
シンタックス要素のうち、ｍｂ＿ｆｉｅｌｄ＿ｄｅｃｏｄｉｎｇ＿ｆｌａｇ、ｍｂ＿ｔｙｐｅ、ｔｒａｎｓｆｏｒｍ＿ｓｉｚｅ＿８ｘ８＿ｆｌａｇ、ｉｎｔｒａ＿ｃｈｒｏｍａ＿ｐｒｅｄ＿ｍｏｄｅ、および、ｃｏｄｅｄ＿ｂｌｏｃｋ＿ｐａｔｔｅｒｎについては、条件フラグ生成関数ＣｏｎｄＴｅｒｍ（ＳＥ）の値は「ｂｉｎ０」となる。また、ｍｂ＿ｓｋｉｐ＿ｆｌａｇの場合、条件フラグ生成関数ＣｏｎｄＴｅｒｍ（ＳＥ）の値は「ｂｉｎ０」の反転値となる。また、ｍｂ＿ｑｐ＿ｄｅｌｔａの場合、条件フラグ生成関数ＣｏｎｄＴｅｒｍ（ＳＥ）の値は、ｍｂ＿ｑｐ＿ｄｅｌｔａがゼロでなければ「１」、ｍｂ＿ｑｐ＿ｄｅｌｔａがゼロであれば「０」となる。
【００５２】
また、マクロブロック内でシンタックス要素が復号されない場合は、その条件に対応した値を周辺マクロブロック情報保持部１２０に保持する。この場合の値は、シンタックス要素毎に決まった固有値になる。この固有値は、ｍｂ＿ｓｋｉｐ＿ｆｌａｇの場合には「１」であり、それ以外のシンタックス要素の場合には「０」である。
【００５３】
このように、条件フラグ生成関数ＣｏｎｄＴｅｒｍ（ＳＥ）の値としては、シンタックス要素が復号される場合には、完全に復号されたシンタックス要素ではなく、復号途中のビットを利用する。また、シンタックス要素が復号されない場合には、固有値を設定する。これにより、非常に簡単なアルゴリズムにより条件フラグ生成関数ＣｏｎｄＴｅｒｍ（ＳＥ）を実現することが可能になる。
【００５４】
図８は、本発明の実施の形態における周辺マクロブロック情報保持部１２０とマクロブロックの関係を示す図である。
【００５５】
コンテキストインデックスインクリメント生成部１３０においてコンテキストインデックスインクリメントを生成する際、対象となるマクロブロック（位置Ｃ）のアドレスＸが算出される。そして、このアドレスＸに基づいて周辺マクロブロック情報保持部１２０からＣＴ［Ｘ−１］およびＣＴ［Ｘ］が読み出される。ＣＴ［Ｘ−１］は左側のマクロブロック（位置Ａ）の条件フラグを示し、ＣＴ［Ｘ］は上側のマクロブロック（位置Ｂ）の条件フラグを示す。
【００５６】
ＣＡＢＡＣ復号部１６０における復号処理を経て、ＣｏｎｄＴｅｒｍ生成部１７０によって位置Ｃの条件フラグが生成されると（図７）、その条件フラグの値は周辺マクロブロック情報保持部１２０のＣＴ［Ｘ］に上書きされる。これにより、条件フラグ生成関数の実行回数を約半分に減らすことができる。
【００５７】
図９は、本発明の実施の形態における復号装置の第１の実施例による処理手順例を示す図である。
【００５８】
コンテキストインデックスインクリメント生成部１３０は、対象となるマクロブロック（位置Ｃ）のアドレスＸを算出する（ステップＳ９０１）。そして、コンテキストインデックスインクリメント生成部１３０は、周辺マクロブロック情報保持部１２０からＣＴ［Ｘ−１］およびＣＴ［Ｘ］を読み出して両者を加算することにより、位置Ｃのコンテキストインデックスインクリメント（ｃｔｘＩｄｘＩｎｃ＿Ｃ）を生成する（ステップＳ９０２）。
【００５９】
コンテキストインデックス算出部１５０は、ステップＳ９０２において生成されたコンテキストインデックスインクリメントに、シンタックス要素の種別毎に定められるコンテキストインデックスオフセットを加算することによって、位置Ｃのコンテキストインデックス（ｃｔｘＩｄｘ＿Ｃ）を算出する（ステップＳ９０３）。
【００６０】
ＣＡＢＡＣ復号部１６０は、ステップＳ９０３において算出されたコンテキストインデックスに基づいて入力データを復号して、位置Ｃのシンタックス要素を出力する（ステップＳ９０８）。また、ＣｏｎｄＴｅｒｍ生成部１７０は、ＣＡＢＡＣ復号部１６０による復号結果に基づいて条件フラグ生成関数ＣｏｎｄＴｅｒｍ（ＳＥ＿Ｃ）の値を生成し、周辺マクロブロック情報保持部１２０のＣＴ［Ｘ］に上書きする（ステップＳ９０９）。
【００６１】
このような処理手順により、従来のような判定処理を伴うことなく、条件フラグを生成することができる。具体的には、各マクロブロックにおける処理は、以下のように推移する。
【００６２】
まず、フレーム内の最初のマクロブロックを対象とする場合を想定する。このマクロブロックの水平方向アドレスは「０」である。また、このマクロブロックでは、左側、上側参照マクロブロック情報は共に無効である。本発明の実施の形態では、フレーム内のマクロブロック位置判定処理は行わずに、周辺マクロブロック情報保持部１２０のＣＴ［０］およびＣＴ［−１］を参照する。このとき、周辺マクロブロック情報保持部１２０の値は全て初期化により無効を示す値になっているため、単純に参照するだけで問題ないことが分かる。また、インデックスを「−１」に拡張してあるため、「−１」という特殊なアドレスが参照されても問題ない。続いて、参照値に基づいてコンテキストインデックスインクリメントが生成されてシンタックス要素が復号され、算出されたＣｏｎｄＴｅｒｍ（ＳＥ）値が周辺マクロブロック情報保持部１２０のＣＴ［０］に設定される。
【００６３】
次に、フレーム内の２番目（最初のマクロブロックの右隣）のマクロブロックを対象とする場合を想定する。このマクロブロックの水平方向アドレスは「１」である。また、このマクロブロックでは、上側参照マクロブロック情報は無効である。本発明の実施の形態では、フレーム内のマクロブロック位置判定処理は行わずに、周辺マクロブロック情報保持部１２０のＣＴ［１］およびＣＴ［０］を参照する。このとき、上側参照マクロブロックにあたるＣＴ［１］の値は、無効なマクロブロック情報を示す値に初期化されている。また、左側参照マクロブロックにあたるＣＴ［０］の値は、復号済みの左側マクロブロックの値で更新されている。したがって、このマクロブロックにおいても周辺マクロブロック情報保持部１２０の値を単純に参照するだけで問題ないことが分かる。以降、上端に位置するマクロブロックでは同様の処理が適用される。
【００６４】
次に、２段目の最初のマクロブロックを対象とする場合を想定する。このマクロブロックの水平方向アドレスは「０」である。また、このマクロブロックでは左側参照マクロブロック情報は無効である。本発明の実施の形態では、フレーム内のマクロブロック位置判定処理は行わずに、周辺マクロブロック情報保持部１２０のＣＴ［０］およびＣＴ［−１］を参照する。このとき、上側参照マクロブロックにあたるＣＴ［０］の値は、復号済みの上側マクロブロックの値で更新されている。一方、左側参照マクロブロックにあたるＣＴ［−１］の値は、初期化時のまま更新されていない。したがって、このマクロブロックにおいても周辺マクロブロック情報保持部１２０の値を単純に参照するだけで問題ないことが分かる。
【００６５】
このように、本発明の実施の形態の第１の実施例によれば、全てのマクロブロックにおいて、マクロブロック位置判定処理を行うことなく、周辺マクロブロック情報保持部１２０の値を参照することにより、コンテキストインデックスインクリメント生成部１３０においてコンテキストインデックスインクリメントを生成することができる。
【００６６】
次に、本発明の実施の形態の第２の実施例について説明する。上述の第１の実施例ではＣＡＢＡＣ符号化方式を想定したが、この第２の実施例ではＣＡＶＬＣ符号化方式を想定する。
【００６７】
図１０は、本発明の実施の形態における復号装置の第２の実施例による機能構成例を示す図である。この復号装置は、符号列入力部２１０と、周辺ブロック情報保持部２２０と、テーブル決定パラメータ生成部２３０と、可変長符号化テーブル決定部２５０と、ＣＡＶＬＣ復号部２６０と、非ゼロ係数生成部２７０とを備える。
【００６８】
符号列入力部２１０は、ＣＡＶＬＣ符号化方式により符号化された符号列を入力データとして入力するものである。この符号列入力部２１０から入力された入力データは、ＣＡＶＬＣ復号部２６０に供給される。
【００６９】
周辺ブロック情報保持部２２０は、対象となるブロックの周辺のブロックに関する情報をブロック情報として保持するものである。上述のように、Ｈ．２６４では、各フレームを１６ライン×１６画素からなるマクロブロックに分割し、さらにマクロブロック内の４ライン×４画素のブロックにおいて量子化されたＤＣＴ係数を復号する。ＣＡＶＬＣ符号化方式では、可変長符号化（ＶＬＣ）を行うための可変長符号化テーブルを適応的に選択する際、対象ブロックの左側および上側における量子化されたＤＣＴ係数のうちの非ゼロ係数の個数が必要になる。周辺ブロック情報保持部２２０は、この非ゼロ係数の個数をブロック情報として保持する。
【００７０】
この周辺ブロック情報保持部２２０の構成は、図２により説明した周辺マクロブロック情報保持部１２０の構成と同様である。但し、この周辺ブロック情報保持部２２０は、シンタックス要素毎に設ける必要はない。また、この周辺ブロック情報保持部２２０は、新たなフレームの復号処理が開始される際、または、新たなスライスの復号処理が開始される際に、無効なブロック情報を示す値に初期化される。これにより、復号対象のブロックの位置を判定する処理、または、参照ブロックが同一スライスに含まれるか否かの判定処理が不要になる。
【００７１】
テーブル決定パラメータ生成部２３０は、周辺ブロック情報保持部２２０から左側および上側のブロックの量子化されたＤＣＴ係数のうちの非ゼロ係数の個数を読み出して、これに基づいて可変長符号化テーブルを選択するためのパラメータを生成するものである。すなわち、対象となるブロック（位置Ｃ）の左側ブロック（位置Ａ）と上側ブロック（位置Ｂ）のそれぞれの非ゼロ係数の個数をｎＡおよびｎＢとすると、パラメータｎＣは、次式により与えられる。
ｎＣ＝（ｎＡ＋ｎＢ＋１）＞＞１
但し、「＞＞１」は、左側の数値を１ビット右シフトすることを意味する。すなわち、ｎＣは、ｎＡとｎＢの平均値（整数）として求められる。
【００７２】
可変長符号化テーブル決定部２５０は、テーブル決定パラメータ生成部２３０において生成されたパラメータｎＣに基づいて可変長符号化テーブルを決定するものである。具体的には、可変長符号化テーブルは、以下のように決定される。
０≦ｎＣ＜２；  テーブルＡ
２≦ｎＣ＜４；  テーブルＢ
４≦ｎＣ＜８；  テーブルＣ
８≦ｎＣ；      テーブルＤ
【００７３】
ＣＡＶＬＣ復号部２６０は、可変長符号化テーブル決定部２５０により決定された可変長符号化テーブルに基づいて、符号列入力部２１０からの入力データを復号するものである。
【００７４】
非ゼロ係数生成部２７０は、ＣＡＶＬＣ復号部２６０による復号結果に基づいて、対象となるブロック（位置Ｃ）の量子化されたＤＣＴ係数のうちの非ゼロ係数の個数を生成するものである。この非ゼロ係数生成部２７０によって生成された非ゼロ係数の個数は、周辺マクロブロック情報保持部１２０に保持される。なお、周辺のブロックが復号されなかった場合は、非ゼロ係数の個数は「０」としなければならない。したがって、復号時に復号されなかったブロックの情報は「０」に更新される。
【００７５】
図１１は、本発明の実施の形態における周辺ブロック情報保持部２２０とブロックの関係を示す図である。
【００７６】
可変長符号化テーブル決定部２５０において可変長符号化テーブルを決定する際、対象となるブロック（位置Ｃ）のアドレスＸが算出される。そして、このアドレスＸに基づいて周辺ブロック情報保持部２２０からＮＸ［Ｘ−１］およびＮＸ［Ｘ］が読み出される。ＮＸ［Ｘ−１］は左側のブロック（位置Ａ）の非ゼロ係数の個数を示し、ＮＸ［Ｘ］は上側のブロック（位置Ｂ）の非ゼロ係数の個数を示す。
【００７７】
ＣＡＶＬＣ復号部２６０における復号処理を経て、非ゼロ係数生成部２７０によって位置Ｃの非ゼロ係数の個数が生成されると、その非ゼロ係数の個数は周辺ブロック情報保持部２２０のＮＸ［Ｘ］に上書きされる。これにより、非ゼロ係数の個数を生成する回数を約半分に減らすことができる。
【００７８】
図１２は、本発明の実施の形態における復号装置の第２の実施例による処理手順例を示す図である。
【００７９】
テーブル決定パラメータ生成部２３０は、対象となるブロック（位置Ｃ）のアドレスＸを算出する（ステップＳ９１１）。そして、テーブル決定パラメータ生成部２３０は、周辺ブロック情報保持部２２０からＮＸ［Ｘ−１］およびＮＸ［Ｘ］を読み出して、両者を加算した値にさらに「１」を加算したものを１ビット右シフトすることにより、可変長符号化テーブルを選択するためのパラメータｎＣを生成する（ステップＳ９１２）。
【００８０】
可変長符号化テーブル決定部２５０は、パラメータｎＣに応じて可変長符号化テーブルを決定する（ステップＳ９１３乃至Ｓ９１７）。このようにして決定された可変長符号化テーブルに基づいて、ＣＡＶＬＣ復号部２６０は符号列入力部２１０からの入力データを復号する（ステップＳ９１８）。また、この復号結果に基づいて、非ゼロ係数生成部２７０は、対象となるブロック（位置Ｃ）の量子化されたＤＣＴ係数のうちの非ゼロ係数の個数を生成して、周辺ブロック情報保持部２２０のＮＸ［Ｘ］に上書きする（ステップＳ９１９）。
【００８１】
このように、本発明の実施の形態の第２の実施例によれば、全てのブロックにおいて、ブロック位置判定処理を行うことなく、周辺ブロック情報保持部２２０の値を参照することにより、可変長符号化テーブル決定部２５０において可変長符号化テーブルを決定することができる。
【００８２】
以上、本発明の実施の形態について、具体例により説明した。ＣＡＢＡＣ復号処理の際、スキップト（skipped）ではないマクロブロックには２０個から３０個のシンタックス要素が出現する。これらのシンタックス要素復号処理において、復号対象のマクロブロック位置判定処理（すなわち、左端および上端のチェック）と参照マクロブロックの同一スライス判定処理を行う必要がなくなる。本発明の実施の形態の処理方法を一般的なプロセッサのプログラム（ソフトウェア）として実装した場合、１マクロブロックあたりの分岐処理が６０から９０回削減されることになり、プログラムの実行サイクル数およびコードサイズを削減することができる。また、本発明の実施の形態の処理方法をハードウェアとして実装した場合、判定処理のための回路を削減することができる。ＣＡＶＬＣ復号処理の場合も同様である。
【００８３】
また、ＣｏｎｄＴｅｒｍ（ＳＥ）値を算出する部分をＣＡＢＡＣ復号と同時に実行し、もしくは、量子化されたＤＣＴ係数のうちの非ゼロ係数の個数を生成する部分をＣＡＶＬＣ復号と同時に実行することにより、算出アルゴリズムの簡略化、および、算出部分の実行回数の削減を図ることができる。したがって、この方法をソフトウェアまたはハードウェアに実装することで前述の効果はさらに大きくなる。
【００８４】
なお、本発明の実施の形態は本発明を具現化するための一例を示したものであり、以下に示すように特許請求の範囲における発明特定事項とそれぞれ対応関係を有するが、これに限定されるものではなく本発明の要旨を逸脱しない範囲において種々の変形を施すことができる。
【００８５】
すなわち、請求項１において、画素群情報保持手段は例えば周辺マクロブロック情報保持部１２０または周辺ブロック情報保持部２２０に対応する。また、復号情報生成手段は例えばコンテキストインデックスインクリメント生成部１３０またはテーブル決定パラメータ生成部２３０および可変長符号化テーブル決定部２５０に対応する。また、復号処理手段は例えばＣＡＢＡＣ復号部１６０またはＣＡＶＬＣ復号部２６０に対応する。また、画素群情報更新手段は例えばＣｏｎｄＴｅｒｍ生成部１７０または非ゼロ係数生成部２７０に対応する。
【００８６】
また、請求項４において、マクロブロック情報保持手段は例えば周辺マクロブロック情報保持部１２０に対応する。また、コンテキストインデックスインクリメント生成手段は例えばコンテキストインデックスインクリメント生成部１３０に対応する。また、復号処理手段は例えばＣＡＢＡＣ復号部１６０に対応する。また、マクロブロック情報更新手段は例えばＣｏｎｄＴｅｒｍ生成部１７０に対応する。
【００８７】
また、請求項５において、ブロック情報保持手段は例えば周辺ブロック情報保持部２２０に対応する。また、可変長符号化テーブル決定手段は例えばテーブル決定パラメータ生成部２３０および可変長符号化テーブル決定部２５０に対応する。また、復号処理手段は例えばＣＡＶＬＣ復号部２６０に対応する。また、ブロック情報更新手段は例えば非ゼロ係数生成部２７０に対応する。
【００８８】
また、請求項６および７において、画素群情報保持手段は例えば周辺マクロブロック情報保持部１２０または周辺ブロック情報保持部２２０に対応する。また、復号情報生成手順は例えばステップＳ９０２またはＳ９１２に対応する。また、復号処理手順は例えばステップＳ９０８またはＳ９１８に対応する。また、画素群情報更新手順は例えばステップＳ９０９またはＳ９１９に対応する。
【００８９】
なお、本発明の実施の形態において説明した処理手順は、これら一連の手順を有する方法として捉えてもよく、また、これら一連の手順をコンピュータに実行させるためのプログラム乃至そのプログラムを記憶する記録媒体として捉えてもよい。
【図面の簡単な説明】
【００９０】
【図１】本発明の実施の形態における復号装置の第１の実施例による機能構成例を示す図である。
【図２】本発明の実施の形態における周辺マクロブロック情報保持部１２０の構成例を示す図である。
【図３】Ｈ．２６４におけるデータ構造の概要を示す図である。
【図４】Ｈ．２６４におけるストリームの基本構造を示す図である。
【図５】Ｈ．２６４におけるスライスデータ３２の基本構造を示す図である。
【図６】Ｈ．２６４におけるマクロブロック層４０の基本構造を示す図である。
【図７】本発明の実施の形態における条件フラグ生成関数ＣｏｎｄＴｅｒｍ（ＳＥ）の値を示す図である。
【図８】本発明の実施の形態における周辺マクロブロック情報保持部１２０とマクロブロックの関係を示す図である。
【図９】本発明の実施の形態における復号装置の第１の実施例による処理手順例を示す図である。
【図１０】本発明の実施の形態における復号装置の第２の実施例による機能構成例を示す図である。
【図１１】本発明の実施の形態における周辺ブロック情報保持部２２０とブロックの関係を示す図である。
【図１２】本発明の実施の形態における復号装置の第２の実施例による処理手順例を示す図である。
【図１３】マクロブロックの位置関係を例示する図である。
【図１４】ＣＡＢＡＣ符号化方式における処理手順例を示す図である。
【図１５】マクロブロックタイプに対するＣｏｎｄＴｅｒｍ（ＳＥ）の処理手順例を示す図である。
【図１６】ＣｏｎｄＴｅｒｍ（ＳＥ）が２度実行される態様を示す図である。
【符号の説明】
【００９１】
１０  シーケンス（シーケンス層）
２０  ピクチャ（ピクチャ層）
３０  スライス（スライス層）
４０  マクロブロック（マクロブロック層）
１１０  符号列入力部
１２０  周辺マクロブロック情報保持部
１３０  コンテキストインデックスインクリメント生成部
１４０  コンテキストインデックスオフセット保持部
１５０  コンテキストインデックス算出部
１６０  ＣＡＢＡＣ復号部
１７０  ＣｏｎｄＴｅｒｍ生成部
２１０  符号列入力部
２２０  周辺ブロック情報保持部
２３０  テーブル決定パラメータ生成部
２５０  可変長符号化テーブル決定部
２６０  ＣＡＶＬＣ復号部
２７０  非ゼロ係数生成部
【図１】
2009231914.tif 000003
【図２】
2009231914.tif 000004
【図３】
2009231914.tif 000005
【図４】
2009231914.tif 000006
【図５】
2009231914.tif 000007
【図６】
2009231914.tif 000008
【図７】
2009231914.tif 000009
【図８】
2009231914.tif 000010
【図９】
2009231914.tif 000011
【図１０】
2009231914.tif 000012
【図１１】
2009231914.tif 000013
【図１２】
2009231914.tif 000014
【図１３】
2009231914.tif 000015
【図１４】
2009231914.tif 000016
【図１５】
2009231914.tif 000017
【図１６】
2009231914.tif 000018