(57)【要約】【課題】入力となる画像情報が飛び越し走査フォーマットであった場合にも、CABAC方式を用いたマクロブロックレベルのフィールド／フレーム符号化を実現する。【解決手段】算術符号化部５８においては、入力される画像圧縮情報のシンタクス要素のうち、まず、frame／field flagがフレーム／フィールドフラグコンテクストモデル９１によって符号化される。そして、処理対象となるマクロブロックがフレームベース符号化される場合、現在Ｈ．２６Ｌの標準で定められているフレームベースのコンテキストモデル９２が適用される。一方、処理対象となるマクロブロックがフィールド符号化される場合、以下のシンタクス要素に関しては、フィールドベースのコンテキストモデル９４が適用される。本発明は、画像情報符号化装置および画像情報復号装置に適用できる。【選択図】図２７
2010252395.tif 000002
【特許請求の範囲】
【請求項１】
画像情報を符号化する符号化装置において、
前記画像情報の符号化の対象となる対象マクロブロックをフレームモードで符号化するかフィールドモードで符号化するかをマクロブロックレベルで示す符号化モード情報を用いて、前記対象マクロブロックに隣接する隣接マクロブロックの符号化モードと前記対象マクロブロックの符号化モードをそろえて、前記対象マクロブロックの動きベクトル情報に対応するコンテキストモデルを算出するコンテキストモデル手段と、
前記コンテキストモデル手段により算出された前記コンテキストモデルを用いて、前記画像情報にコンテキスト適応算術符号化を行うコンテキスト適応算術符号化手段と
を備える符号化装置。
【請求項２】
前記コンテキストモデル手段は、前記隣接マクロブロックの動きベクトル情報を前記対象マクロブロックの符号化モードにあわせるように換算して、前記対象マクロブロックの動きベクトル情報に対応するコンテキストモデルを算出する
請求項１に記載の符号化装置。
【請求項３】
前記コンテキストモデル手段は、前記符号化モード情報に応じて、前記隣接マクロブロックの動きベクトル情報をフレームモードにあわせるように換算する処理、若しくは、前記隣接マクロブロックの動きベクトル情報をフィールドモードにあわせるように換算する処理のいずれか一方を選択する
請求項２に記載の符号化装置。
【請求項４】
前記コンテキストモデル手段は、前記隣接マクロブロックがフィールドモードで符号化されており、前記対象マクロブロックをフレームモードで符号化する場合、前記隣接マクロブロックの動きベクトル情報をフレームモードにあわせるように換算する処理を選択する
請求項３に記載の符号化装置。
【請求項５】
前記コンテキストモデル手段は、前記隣接マクロブロックに対応する動きベクトル情報の垂直成分を２倍に換算して、前記対象マクロブロックの動きベクトル情報に対応するコンテキストモデルを算出する
請求項４に記載の符号化装置。
【請求項６】
前記コンテキストモデル手段は、トップフィールドの動きベクトル情報の垂直成分の値とボトムフィールドの動きベクトル情報の垂直成分の値とを加算する
請求項５に記載の符号化装置。
【請求項７】
前記コンテキストモデル手段は、前記隣接マクロブロックがフレームモードで符号化されており、前記対象マクロブロックをフィールドモードで符号化する場合、前記隣接マクロブロックの動きベクトル情報をフィールドモードにあわせるように換算する処理を選択する
請求項３に記載の符号化装置。
【請求項８】
前記コンテキストモデル手段は、前記隣接マクロブロックに対応する動きベクトル情報の垂直成分を２分の１倍に換算して、前記対象マクロブロックの動きベクトル情報に対応するコンテキストモデルを算出する
請求項７に記載の符号化装置。
【請求項９】
前記コンテキストモデル手段は、トップフィールドの動きベクトル情報の垂直成分の値とボトムフィールドの動きベクトル情報の垂直成分の値とを加算した値を、２分の１倍にする
請求項８に記載の符号化装置。
【請求項１０】
画像情報を符号化する符号化装置の符号化方法であって、
コンテキストモデル手段が、前記画像情報の符号化の対象となる対象マクロブロックをフレームモードで符号化するかフィールドモードで符号化するかをマクロブロックレベルで示す符号化モード情報を用いて、前記対象マクロブロックに隣接する隣接マクロブロックの符号化モードと前記対象マクロブロックの符号化モードをそろえて、前記対象マクロブロックの動きベクトル情報に対応するコンテキストモデルを算出し、
コンテキスト適応算術符号化手段が、算出された前記コンテキストモデルを用いて、前記画像情報にコンテキスト適応算術符号化を行う
符号化方法。
【請求項１１】
画像情報を符号化するコンピュータを、
前記画像情報の符号化の対象となる対象マクロブロックをフレームモードで符号化するかフィールドモードで符号化するかをマクロブロックレベルで示す符号化モード情報を用いて、前記対象マクロブロックに隣接する隣接マクロブロックの符号化モードと前記対象マクロブロックの符号化モードをそろえて、前記対象マクロブロックの動きベクトル情報に対応するコンテキストモデルを算出するコンテキストモデル手段、
前記コンテキストモデル手段により算出された前記コンテキストモデルを用いて、前記画像情報にコンテキスト適応算術符号化を行うコンテキスト適応算術符号化手段
として機能させるためのプログラムを記録したコンピュータ読み取り可能な記録媒体。
【請求項１２】
画像情報を符号化するコンピュータを、
前記画像情報の符号化の対象となる対象マクロブロックをフレームモードで符号化するかフィールドモードで符号化するかをマクロブロックレベルで示す符号化モード情報を用いて、前記対象マクロブロックに隣接する隣接マクロブロックの符号化モードと前記対象マクロブロックの符号化モードをそろえて、前記対象マクロブロックの動きベクトル情報に対応するコンテキストモデルを算出するコンテキストモデル手段、
前記コンテキストモデル手段により算出された前記コンテキストモデルを用いて、前記画像情報にコンテキスト適応算術符号化を行うコンテキスト適応算術符号化手段
として機能させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、符号化装置および方法に関し、例えば、画像信号を従来よりも高い圧縮率で符号化し、伝送または蓄積する場合に用いて好適な符号化装置および方法に関する。
【背景技術】
【０００２】
近年、画像をディジタル信号として取り扱い、当該ディジタル信号を効率よく伝送、蓄積することを目的として、画像情報特有の冗長性を利用して、離散コサイン変換等の直交変換と動き補償により圧縮するMPEG(Moving Picture Expert Group）等の方式に準拠した装置が、放送局などの情報配信、および一般家庭における情報受信の双方において普及しつつある。
【０００３】
特に、MPEG２(ISO/IEC 13818-2)圧縮方式は、汎用性がある画像圧縮方式として定義された規格であり、飛び越し走査画像および順次走査画像の双方、並びに標準解像度画像および高精細画像を網羅する標準であって、例えばDVD(Digital Versatile Disk)規格に代表されるように、プロフェッショナル用途およびコンシューマー用途の広範なアプリケーションに現在広く用いられている。
【０００４】
MPEG２圧縮方式を用いることにより、例えば、７２０×４８０画素を持つ標準解像度の飛び越し走査画像に対しては４乃至８Mbps、１９２０×１０８８画素を持つ高解像度の飛び越し走査画像に対しては１８乃至２２Mbpsの符号量（ビットレート）を割り当てることで、高い圧縮率と良好な画質の実現が可能である。
【０００５】
ところで、MPEG２は、主として放送用に適合する高画質符号化を対象としていたが、より高い圧縮率の符号化方式には対応していなかったので、より高い圧縮率の符号化方式として、MPEG４符号化方式の標準化が行われた。画像符号化方式に関しては、１９９８年１２月にISO/IEC 14496-2としてその規格が国際標準に承認された。
【０００６】
さらに、近年、テレビ会議用の画像符号化を当初の目的として、国際電気連合の電気通信標準化部門であるITU-T(International Telecommunication Union − Telecommunication Standardization Sector)によるＨ.２６Ｌ（ITU-T Q6/16 VCEG）と称される標準の規格化が進められている。
【０００７】
Ｈ．２６Ｌは、MPEG２やMPEG４などの従来の符号化方式に比較して、符号化処理、および復号処理により多くの演算量が必要となるが、より高い符号化効率が実現されることが知られている。
【０００８】
またさらに、現在、MPEG４の活動の一環としてITU-Tと共同で、Ｈ．２６Ｌに基づいた、Ｈ．２６Ｌではサポートされない機能を取り入れた、より高い符号化効率を実現する符号化技術の標準化が、Joint Model of Enhanced-Compression Video Codingとして進められている。
【０００９】
ここで、離散コサイン変換またはカルーネン・レーベ変換等の直交変換と動き補償とを利用した従来の画像情報符号化装置について、図１を参照して説明する。図１は、従来の画像情報符号化装置の構成の一例を示している。
【００１０】
当該画像情報符号化装置において、アナログ信号である入力画像信号は、Ａ／Ｄ変換部１によってディジタル信号に変換された後、画面並べ替えバッファ２に供給される。画面並べ替えバッファ２は、Ａ／Ｄ変換部１からの画像情報を、当該画像情報符号化装置が出力する画像圧縮情報のGOP(Group of Pictures)構造に応じて、フレームの並べ替えを行う。
【００１１】
まず、イントラ（画像内）符号化が行われる画像について説明する。画面並び替えバッファ２において、イントラ符号化が行われる画像については、その画像情報が加算器３を介して直交変換部４に供給される。
【００１２】
直交変換部４では、画像情報に対して直交変換（離散コサイン変換、またはカルーネン・レーベ変換等）が施され、得られた変換係数が量子化部５に供給される。量子化部５では、蓄積バッファ７に蓄積された変換係数のデータ量に基づくレート制御部８からの制御に従い、直交変換部４から供給された変換係数に対して量子化処理が施こされる。
【００１３】
可逆符号化部６では、量子化部５から供給された量子化された変換係数や量子化スケール等から符号化モードが決定され、決定された符号化モードに対して可逆符号化（可変長符号化、または算術符号化等）が施こされ、画像符号化単位のヘッダ部に挿入される情報が形成される。また、符号化された符号化モードは、蓄積バッファ７に供給されて蓄積される。蓄積バッファ７に蓄積された、符号化された符号化モードは、画像圧縮情報として後段に出力される。
【００１４】
また、可逆符号化部６では、量子化された変換係数に対して可逆符号化が施され、符号化された変換係数が蓄積バッファ７に蓄積させる。蓄積バッファ７に蓄積された、符号化された変換係数も、画像圧縮情報として後段に出力される。
【００１５】
逆量子化部９では、量子化部５によって量子化された変換係数が逆量子化される。逆直交変換部１０では、逆量子化された変換係数に対して逆直交変換処理が施されて復号画像情報が生成される。生成された復号画像情報は、フレームメモリ１１に蓄積される。
【００１６】
次に、インター（画像間）符号化が行われる画像について説明する。画面並び替えバッファ２において、インター符号化が行われる画像については、その画像情報が加算器３および動き予測・補償部１２に供給される。
【００１７】
動き予測・補償部１２では、画面並び替えバッファ２からのインター符号化が行われる画像に対応する、参照するための画像情報がフレームメモリ１１から読み出され、動き予測・補償処理を施して参照画像情報が生成され、加算器３に供給される。また、動き予測・補償部１２で動き予測・補償処理の際に得られた動きベクトル情報は、可逆符号化部６に供給される。
【００１８】
加算器３では、動き予測・補償部１２からの参照画像情報が、画面並び替えバッファ２からのインター符号化が行われる画像の画像情報との差分信号に変換される。
【００１９】
インター符号化が行われる画像を処理する場合、直交変換部４では、差分信号に対して直交変換が施され、得られる変換係数が量子化部５に供給される。量子化部５では、レート制御部８からの制御に従い、直交変換部４から供給された変換係数に対して量子化処理を施される。
【００２０】
可逆符号化部６では、量子化部５によって量子化された変換係数および量子化スケール、並びに動き予測・補償部１２から供給された動きベクトル情報等に基づいて符号化モードが決定され、決定された符号化モードに対して可逆符号化が施され、画像符号化単位のヘッダ部に挿入される情報が生成される。符号化された符号化モードは蓄積バッファ７に蓄積される。蓄積バッファ７に蓄積された符号化された符号化モードは、画像圧縮情報として出力される。
【００２１】
また、可逆符号化部６では、動き予測・補償部１２からの動きベクトル情報に対して可逆符号化処理が施され、画像符号化単位のヘッダ部に挿入される情報が生成される。
【００２２】
なお、インター符号化が行われる画像を処理する場合における逆量子化部９以降の処理については、イントラ符号化を施される画像を処理する場合と同様であるので、その説明を省略する。
【００２３】
次に、図１に示した従来の画像情報符号化装置が出力する画像圧縮情報を入力とし、画像信号を復元する従来の画像情報復号装置について、図２を参照して説明する。図２は、従来の画像情報復号装置の構成の一例を示している。
【００２４】
当該画像情報復号装置において、入力された画像圧縮情報は、蓄積バッファ２１に一時的に格納された後、可逆復号化部２２に転送される。可逆復号化部２２は、予め定められている画像圧縮情報のフォーマットに基づき、画像圧縮情報に対して可逆復号（可変長復号、または算術復号等）を施し、ヘッダ部に格納された符号化モード情報を取得して逆量子化部２３に供給する。また同様に、可逆復号化部２２は、量子化されている変換係数を取得して逆量子化部２３に供給する。さらに、可逆復号化部２２は、復号するフレームがインター符号化されたものである場合には、画像圧縮情報のヘッダ部に格納された動きベクトル情報についても復号し、その情報を動き予測・補償部２８に供給する。
【００２５】
逆量子化部２３は、可逆復号化部２２から供給された量子化されている変換係数を逆量子化し、得られる変換係数を逆直交変換部２４に供給する。逆直交変換部２４は、予め定められている画像圧縮情報のフォーマットに基づき、変換係数に対して逆直交変換（逆離散コサイン変換、または逆カルーネン・レーベ変換等）を施す。
【００２６】
ここで、対象となるフレームがイントラ符号化されたものである場合には、逆直交変換が施された画像情報は、加算器２５を介して画面並べ替えバッファ２６に格納され、Ｄ／Ａ変換部２７によってアナログ信号に変換されて後段に出力される。逆直交変換が施された画像情報は、フレームメモリ２９にも格納される。
【００２７】
また、対象となるフレームがインター符号化されたものである場合には、動き予測・補償部２８では、可逆復号化部２２からの動きベクトル情報とフレームメモリ２９に格納された画像情報とに基づいて参照画像が生成され、加算器２５に供給される。加算器２５では、動き予測・補償部２８からの参照画像と逆直交変換部２５の出力とが合成されて画像情報が生成される。なお、その他の処理については、イントラ符号化されたフレームと同様であるため、説明を省略する。
【００２８】
ところで、Ｈ．２６Ｌにおいては、可逆符号化方式として、可変長符号化の一種であるUVLC(Universal Variable Length Code)と、算術符号化の一種であるCABAC(Context-based adaptive binary arithmetic coding)の２種類が定義されており、ユーザは可逆符号化方式にUVLCまたはCABACの一方を選択して適用することが可能である。可逆符号化方式がUVLCであるかCABACであるかを示す情報は、画像圧縮情報中において、RTPレイヤのRTP Parameter Set Packetに含まれる、Entropy Codingと称されるフィールドにおいて指定される。
【００２９】
ここで、CABACが属する算術符号化について説明する。算術符号化においては、任意のメッセージ（複数のアルファベット記号から構成される）は半開区間０．０≦ｘ＜１．０上の１点として表され、この点の座標から符号が生成される。
【００３０】
まず、アルファベットを構成する記号の出現確率を元に、半開区間０．０≦ｘ＜１．０を、各記号に対応するサブ区間に分割する。
【００３１】
図３は、記号ｓ1乃至ｓ7の発生確率と、サブ区間の分割の一例を示している。算術符号化においては、図３に示すように、各記号の累積出現確率を元にサブ区間の上限と下限が決定される。記号ｓi（ｉ＝１，２，・・・，７）に対するサブ区間の下限は、記号ｓi-1のサブ区間の上限であり、記号ｓiに対応するサブ区間の上限は、そのサブ区間の下限に記号ｓiの出現確率を加えた値である。
【００３２】
いま、メッセージとして、（ｓ2ｓ1ｓ3ｓ6ｓ7）が入力されたものとする。ただし、記号ｓ7は、メッセージの終了を表す終端記号であり、終端記号が現れた時点でメッセージが終了するものとする。算術符号化法は、メッセージ（ｓ2ｓ1ｓ3ｓ6ｓ7）に対し、図４に示すように、メッセージを構成する各記号に対応するサブ区間の計算を実行する。すなわち、図３に割り当てられた区間を、次の記号の累積出現確率に応じて分割する。最終的に得られるサブ区間が、そのメッセージを表す値の含まれる区間となる。したがって、この区間内の値であれば一意にメッセージの復元を行うことができる。ただし、符号化の効率を考慮して、その半開区間内で２のべき乗表現が可能な数によってメッセージを表すようにする。
【００３３】
すなわち、この例では、次式（１）を考慮すると、次式（２）が半開区間０．２１１６４≦ｘ＜０．２１１７に含まれるメッセージを表す値となる。
【００３４】
２-1
＝０．５
２-2
＝０．２５
２-3
＝０．１２５
２-4
＝０．０６２５
２-5
＝０．０３１２５
２-6
＝０．０１５６２５
２-7
＝０．００７８１２５
２-8
＝０．００３９０６２５
２-9
＝０．００１９５３１２５
２-10＝０．０００９７６５６２５
２-11＝０．０００４８８２８１２５
２-12＝０．０００２４４１４０６２５
・
・
・
・・・（１）
２-3＋２-4＋２-6＋２-7＋２-11＋２-12＝０．２１１６６９９２１８７５
・・・（２）
【００３５】
したがって、メッセージ（ｓ2ｓ1ｓ3ｓ6ｓ7）に対応する符号の符号長は、２-1乃至２-12までを表現できるように１２ビットであればよく、メッセージ（ｓ2ｓ1ｓ3ｓ6ｓ7）は、（００１１０１１０００１１）に符号化される。
【００３６】
次に、Ｈ．２６Ｌで定義されているCABACについて説明する。なお、CABACの詳細については、非特許文献１に開示されている。CABACは、同じくＨ．２６Ｌで定義されているUVLCと比較して、以下の３つの特徴を有している。
【００３７】
第１の特徴は、符号化されるそれぞれの記号に対して適切なコンテキストモデルを用い、それぞれ独立した確率モデルに基づいた算術符号化を行うことで、シンボル間の冗長性を排除できることである。
【００３８】
第２の特徴は、算術符号化において、それぞれの記号に対して非整数値の符号量（ビット）を割り当てることが可能であり、エントロピに近い符号化効率を得ることが可能であることである。
【００３９】
第３の特徴は、例えば動きベクトルの統計データは、ビットレートやシーケンスのみならず、空間、時間的に異なるものであって一定ではないが、適応型符号化を行うことにより、これらの変化に追従した符号化が可能となることである。
【００４０】
図５は、CABACを適用したCABAC符号化器の一般的な構成を示している。当該CABAC符号化器において、コンテキストモデル化部３１は、画像圧縮情報における任意のシンタクス要素に関して、まず、過去の履歴に応じて、シンタクス要素のシンボル（記号）を適切なコンテキストモデルに変換する。このようなモデル化をコンテキストモデル化と称する。画像圧縮情報中のそれぞれのシンタクス要素に対するコンテキストモデルについては後述する。
【００４１】
２値化部３２は、２値化されていないシンボルを２値化する。適応２値算術符号化部３３では、２値化されたシンボルに対して、確率推定部３４によって確率推定がなされ、符号化エンジン３５によって確率推定に基づく適応算術符号化が施される。適応算術符号化処理が行われた後、関連するモデルの更新が行われるため、それぞれのモデルは実際の画像圧縮情報の統計に応じた符号化処理を行うことが可能となる。
【００４２】
ここで、画像圧縮情報中のシンタクス要素であるマクロブロックタイプMB_type(MB_type)、動きベクトル情報(MVD)、および参照フレームパラメータ(Ref_frame)を算術符号化するコンテキストモデルについて説明する。
【００４３】
MB_typeのコンテキストモデル生成について、イントラフレームとインターフレームに分けて説明する。
【００４４】
イントラフレームにおいて、図６に示すようにマクロブロックＡ，Ｂ，Ｃが配置されている場合、マクロブロックＣのMB_typeに対応するコンテキストモデルctx_mb_type_intra(C)は、次式（３）によって定義される。なお、イントラフレームにおいて、マクロブロックのモードは、Intra４×４、またはIntra１６×１６である。
ctx_mb_type_intra(C)＝Ａ＋Ｂ
・・・（３）
【００４５】
ただし、式（３）において、Ａは、マクロブロックＡがIntra４×４である場合には０であり、Intra１６×１６である場合には１である。同様に、Ｂは、マクロブロックＢがIntra４×４である場合には０であり、Intra１６×１６である場合には１である。したがって、コンテキストモデルctx_mb_type_intra(C)は、０，１，２のいずれかの値をとる。
【００４６】
インターフレームにおいて、図６に示すようにマクロブロックＡ，Ｂ，Ｃが配置されている場合、マクロブロックＣのMB_typeに対応するコンテキストモデルctx_mb_type_inter(C)は、当該インターフレームがＰピクチャである場合、次式（４）によって定義される。また、当該インターフレームがＢピクチャである場合、次式（５）によって定義される。
ctx_mb_type_inter(C)＝((A==Skip)?0:1)＋((B==Skip)?0:1)
・・・（４）
ctx_mb_type_inter(C)＝((A==Direct)?0:1)＋((B==Direct)?0:1)・・・（５）
【００４７】
ただし、式（４）において、演算子((A==Skip)?0:1)は、マクロブロックＡがSkipモードである場合には０を示し、マクロブロックＡがSkipモードではない場合には１を示すものとする。同様に、演算子((B==Skip)?0:1)は、マクロブロックＢがSkipモードである場合には０を示し、マクロブロックＢがSkipモードではない場合には１を示すものとする。
【００４８】
また、式（５）において、演算子((A==Direct)?0:1)は、マクロブロックＡがDirectモードである場合には０を示し、マクロブロックＡがDirectモードではない場合には１を示すものとする。演算子((B==Direct)?0:1)は、マクロブロックＢがDirectモードである場合には０を示し、マクロブロックＢがDirectモードではない場合には１を示すものとする。
【００４９】
したがって、インターフレーム（Ｐピクチャ）におけるマクロブロックＣのMB_typeに対応するコンテキストモデルctx_mb_type_inter(C)は、Ｐピクチャである場合とＢピクチャである場合に対して、それぞれ３種類の値を取ることになる。
【００５０】
次に、動きベクトル情報(MVD)のコンテキストモデル生成について説明する。
【００５１】
画像圧縮情報に含まれる、注目するマクロブロックに対応する動きベクトル情報は、隣接するマクロブロックに対応する動きベクトルとの予測誤差として符号化されている。いま、図７に示すように配置されているマクロブロックＡ，Ｂ，Ｃのうち、注目するマクロブロックＣに対する評価関数ｅk（Ｃ）を次式（６）によって定義する。ここで、ｋ＝０は水平成分、ｋ＝１は垂直成分を示す。
ｅk（Ｃ）＝｜ｍｖｄk（Ａ）｜＋｜ｍｖｄk（Ｂ）｜
・・・（６）
【００５２】
ただし、式（６）において、ｍｖｄk（Ａ），ｍｖｄk（Ｂ）は、それぞれ、マクロブロックＣに隣接するマクロブロックＡ，Ｂに対する動きベクトル予測誤差である。
【００５３】
なお、式（６）に関し、マクロブロックＣが画枠の左端に存在しており、マクロブロックＡ，Ｂの一方が存在しないような場合、動きベクトル予測誤差ｍｖｄk（Ａ）またはｍｖｄk（Ｂ）に関する情報を得ることができないので、式（６）の右辺における対応する項は無視する。このように定義されたｅk（Ｃ）に対応するコンテキストモデルctx_mvd(C,k)は、次式（７−１）乃至（７−３）のように定義される。
ctx_mvd(C,k)＝０
ｅk（Ｃ）＜３
・・・（７−１）
ctx_mvd(C,k)＝１
３２＜ｅk（Ｃ）
・・・（７−２）
ctx_mvd(C,k)＝２
３≦ｅk（Ｃ）≦３２
・・・（７−３）
【００５４】
動きベクトル情報(MVD)のコンテキストモデル生成は、図８に示すように行われる。すなわち、マクロブロックＣに対する動きベクトル予測誤差ｍｖｄk（Ｃ）は、絶対値｜ｍｖｄk（Ｃ）｜と符号に分離される。絶対値｜ｍｖｄk（Ｃ）｜は２値化される。２値化された絶対値｜ｍｖｄk（Ｃ）｜の第１のｂｉｎ（最左端の値）は、上述したコンテキストモデルctx_mvd(C,k)を用いて符号化する。第２のｂｉｎ（左端から２番目の値）はコンテキストモデル３を用いて符号化する。同様に、第３，４のｂｉｎは、それぞれコンテキストモデル４，５を用いて符号化する。第５以降のｂｉｎは、コンテキストモデル６を用いて符号化する。ｍｖｄk（Ｃ）の符号は、コンテキストモデル７を用いて符号化する。このように、運動ベクトル情報(MVD)は、８種類のコンテキストモデルを用いて符号化される。
【００５５】
次に、参照フレームパラメータ(Ref_frame)を符号化するコンテキストモデルについて説明する。
【００５６】
インターフレームに対して、２枚以上の参照フレームが用いられる場合、インターフレームの各マクロブロックに対して参照フレームに関する情報が設定される。図６に示すように配置されたマクロブロックＡ，Ｂ，Ｃにおいて、マクロブロックＡ，Ｂそれぞれに対する参照フレームパラメータをＡ，Ｂとした場合、マクロブロックＣに対するコンテキストモデルctx_ref_frame(C)は、次式（８）によって定義される。
ctx_ref_frame(C)＝((A==0)?0:1)＋２((B==0)?0:1)
・・・（８）
【００５７】
ただし、式（８）において、演算子((A==0)?0:1)は、マクロブロックＡの参照フレームパラメータ０である場合には０を示し、マクロブロックＡの参照フレームパラメータが０ではない場合には１を示すものとする。同様に、演算子((B==0)?0:1)は、マクロブロックＢの参照フレームパラメータ０である場合には０を示し、マクロブロックＢの参照フレームパラメータが０ではない場合には１を示すものとする。
【００５８】
参照フレームパラメータ(Ref_frame)を符号化するコンテキストモデルは、式（８）によって４種類が定義される。さらに、第２のｂｉｎに対するコンテキストモデル、および第３以降のｂｉｎに対するコンテキストモデルが定義される。
【００５９】
次に、Ｈ．２６Ｌの画像圧縮情報中に含まれるテキスチャ情報に関するシンタクス要素であるコードブロックパターン(CBR)、イントラ予測モード(IPRED)、および（RUN,LEVEL）情報を算出符号化するコンテキストモデルについて説明する。
【００６０】
始めに、コードブロックパターンに関するコンテキストモデルについて説明する。Intra１６×１６マクロブロック以外のコードブロックパターンに関する取り扱いは以下のように定義されている。
【００６１】
すなわち、輝度信号に関しては、Intra１６×１６マクロブロックに含まれる、４つの８×８ブロックそれぞれに対して１ビットずつ、合計４ビットのCBPビットが含まれている。図６に示すようにマクロブロックＡ，Ｂ，Ｃが配置されている場合、マクロブロックＣの輝度信号に対応するコンテキストモデルctx_cbp_luma(C)は、次式（９）によって定義される。
ctx_cbp_luma(C)＝Ａ＋２Ｂ
・・・（９）
ただし、式（９）において、Ａは、マクロブロックＡの輝度信号のCBPビットであり、Ｂは、マクロブロックＢの輝度信号のCBPビットである。
【００６２】
CBPフィールドの残り２ビットは色差信号に関するものである。マクロブロックＣの色差信号に対応するコンテキストモデルctx_cbp_chroma_sig(C)は、次式（１０）によって定義される。
ctx_cbp_chroma_sig(C)＝Ａ＋２Ｂ
・・・（１０）
ただし、式（１０）において、Ａは、マクロブロックＡの色差信号のCBPビットであり、Ｂは、マクロブロックＢの色差信号のCBPビットである。
【００６３】
ここで、マクロブロックＣの色差信号に対応するコンテキストモデルctx_cbp_chroma_sig(C)が０ではない場合、すなわち、色差信号のＡＣ成分が存在する場合、次式（１１）によって定義されるマクロブロックＣの色差信号のＡＣ成分に対応するコンテキストモデルctx_cbp_chroma_ac(C)が符号化される必要がある。
ctx_cbp_chroma_ac(C)＝Ａ＋２Ｂ
・・・（１１）ただし、式（１１）において、Ａは、マクロブロックＡに対応するcbp_chroma_ac decisionであり、Ｂは、マクロブロックＢに対応するcbp_chroma_ac decisionである。
【００６４】
式（９）乃至（１１）によって定義されるコンテキストモデルは、イントラマクロブロックとインターマクロブロックのそれぞれに対して別個に定義されるので、２４（＝２×３×４）種類のコンテキストモデルが定義されることになる。
【００６５】
さらに、Intra６×１６マクロブロックに対しては、２値化されたAC decisionに対して１種類のコンテキストモデルが定義され、色差信号の各成分それぞれに対して１種のコンテキストモデルが定義されている。
【００６６】
次に、イントラ予測モード(IPRED)に関するコンテキストモデルについて説明する。ここで、Ｈ．２６Ｌにおいて定義されている６種類（ラベル０乃至５）のイントラ予測モードについて、図９および図１０を参照して説明する。図９は、マクロブロックを分割した４×４ブロックに存在する画素ａ乃至ｐと、隣接する各４×４ブロック内に存在する画素Ａ乃至Ｉを示している。図１０のラベル１乃至５は、それぞれラベル１乃至５のイントラ予測モードの方向を示している。ラベル０のイントラ予測モードは、ＤＣ予測モード(DC Prediction)である。
【００６７】
ラベル０のイントラ予測モードにおいては、画素ａ乃至ｐが次式（１２）に従って予測される。
画素ａ乃至ｐ＝（Ａ＋Ｂ＋Ｃ＋Ｄ＋Ｅ＋Ｆ＋Ｇ＋Ｈ）//８
・・・（１２）ただし、式（１２）乃至次式（１５）において、Ａ乃至Ｉは、それぞれ画素Ａ乃至Ｉを示しており、記号”//”は、除算した結果を丸め込む演算を意味している。
【００６８】
なお、ラベル０のイントラ予測モードにおいて、８画素Ａ乃至Ｈのうち、４画素（例えば、画素Ａ乃至Ｄ）が画枠内に存在しない場合、式（１２）は用いられず、残りの４画素（いまの場合、画素Ｅ乃至Ｈ）の平均値が、画素ａ乃至ｐの予測値とされる。また、８画素Ａ乃至Ｈの全てが画枠内に存在しない場合も、式（１２）は用いられず、所定の値（例えば、１２８）が画素ａ乃至ｐの予測値とされる。
【００６９】
ラベル１のイントラ予測モードは、Vertical/Diagonal Predictionと称される。ラベル１のイントラ予測モードは、４画素Ａ乃至Ｄが画枠内に存在する場合にだけ用いられる。この場合、画素ａ乃至ｐのそれぞれが、次式（１３−１）乃至（１３−６）に従って予測される。
画素ａ
＝（Ａ＋Ｂ）//２
・・・（１３−１）
画素ｅ
＝Ｂ
・・・（１３−２）
画素ｂ，ｉ＝（Ｂ＋Ｃ）//２
・・・（１３−３）
画素ｆ，ｍ＝Ｃ
・・・（１３−４）
画素ｃ，ｊ＝（Ｃ＋Ｄ）//２
・・・（１３−５）
画素ｄ，ｇ，ｈ，ｋ，ｌ，ｎ，ｏ，ｐ
＝Ｄ
・・・（１３−６）
【００７０】
ラベル２のイントラ予測モードは、Vertical Predictionと称される。ラベル２のイントラ予測モードは、４画素Ａ乃至Ｄが画枠内に存在する場合にだけ用いられる。この場合、例えば、画素ａ，ｅ，ｉ，ｍの予測値として画素Ａが用いられ、画素ｂ，ｆ，ｊ，ｎの予測値として画素Ｂが用いられる。
【００７１】
ラベル３のイントラ予測モードは、Diagonal Predictionと称される。ラベル１のイントラ予測モードは、９画素Ａ乃至Ｉが画枠内に存在する場合にだけ用いられる。この場合、画素ａ乃至ｐのそれぞれが、次式（１４−１）乃至（１３−７）に従って予測される。
画素ｍ
＝（Ｈ＋２Ｇ＋Ｆ）//４
・・・（１４−１）
画素ｉ，ｎ
＝（Ｇ＋２Ｆ＋Ｅ）//４
・・・（１４−２）
画素ｅ，ｊ，ｏ
＝（Ｆ＋２Ｅ＋Ｉ）//４
・・・（１４−３）
画素ａ，ｆ，ｋ，ｐ＝（Ｅ＋２Ｉ＋Ａ）//４
・・・（１４−４）
画素ｂ，ｇ，ｌ
＝（Ｉ＋２Ａ＋Ｂ）//４
・・・（１４−５）
画素ｃ，ｈ
＝（Ａ＋２Ｂ＋Ｃ）//４
・・・（１４−６）
画素ｄ
＝（Ｂ＋２Ｃ＋Ｄ）//４
・・・（１４−７）
【００７２】
ラベル４のイントラ予測モードは、Horizontal Predictionと称される。ラベル４のイントラ予測モードは、４画素Ｅ乃至Ｈが画枠内に存在する場合にだけ用いられる。この場合、例えば、画素ａ，ｂ，ｃ，ｄの予測値として画素Ｅが用いられ、画素ｅ，ｆ，ｇ，ｈの予測値として画素Ｆが用いられる。
【００７３】
ラベル５のイントラ予測モードは、Horizontal/Diagonal Predictionと称される。ラベル５のイントラ予測モードは、４画素Ｅ乃至Ｈが画枠内に存在する場合にだけ用いられる。この場合、画素ａ乃至ｐのそれぞれが、次式（１５−１）乃至（１５−６）に従って予測される。
画素ａ
＝（Ｅ＋Ｆ）//２
・・・（１５−１）
画素ｂ
＝Ｆ
・・・（１５−２）
画素ｃ，ｅ＝（Ｆ＋Ｇ）//２
・・・（１５−３）
画素ｆ，ｄ＝Ｇ
・・・（１５−４）
画素ｉ，ｇ＝（Ｇ＋Ｈ）//２
・・・（１５−５）
画素ｈ，ｊ，ｋ，ｌ，ｍ，ｎ，ｏ，ｐ
＝Ｈ
・・・（１５−６）
【００７４】
ラベル０乃至５のイントラ予測モードに対しては、それぞれ２つのコンテキストモデルが定義されている。すなわち、１つは、それぞれのモードに対する第１のｂｉｎであり、もう１つは、それぞれのモードに対する第２のｂｉｎである。これらに加え、Intra１６×１６モードの２ビットに対して１つずつコンテキストモデルが定義されている。したがって、イントラ予測モードに対しては、合計１４のコンテキストモデルが定義されている。
【００７５】
次に、(RUN,LEVEL)に関するコンテキストモデルについて説明する。
【００７６】
Ｈ．２６Ｌにおいては、２次元離散コサイン変換係数を１次元に並べ替えるスキャン方式として、図１１Ａ，Ｂに示す２種類の方法が定義されている。図１１Ａに示すシングルスキャン方式は、イントラマクロブロックに対する輝度信号であって、かつ、量子化パラメータＱＰが２４よりも小さい場合以外に用いられる方式である。図１１Ｂに示すダブルスキャン方式は、シングルスキャン方式が用いられない場合に用いられる。
【００７７】
インターマクロブロックおよび量子化パラメータＱＰが２４以上であるイントラマクロブロックでは、平均して４×４マクロブロックに対する非零係数は１つであり、１ビットのEOB（End Of Block）信号で十分であるが、量子化パラメータＱＰが２４よりも小さいイントラマクロブロックの輝度信号に関しては、２つ以上の非零係数が存在するため、１ビットのEOB信号では不十分である。このため、図１１Ｂに示すダブルスキャン方式が用いられる。
【００７８】
(RUN,LEVEL)に対するコンテキストモデルは、図１２に示すように、上述したスキャン方式の区別、ＤＣ／ＡＣブロックタイプの区別、輝度信号／色差信号の区別、イントラマクロブロック／インターマクロブロックの区別に応じて９種類が定義されている。
【００７９】
LEVEL情報は符号と絶対値に分離される。図１２に示した対応するCtx_run_levelに応じて、４つのコンテキストモデルが定義される。すなわち、第１のコンテキストモデルは符号に対してのものであり、第２のコンテキストモデルは第１のｂｉｎに対してのものであり、第２のコンテキストモデルは第２のｂｉｎに対してのものであり、第４のコンテキストモデルはそれ以降のｂｉｎに対して定義されたものである。
【００８０】
LEVELが０ではない場合（EOBでない場合）には、以下に述べるRUNが符号化される。RUNに対してであるが、図１２に示された、それぞれのCtx_run_levelに対して、第1のｂｉｎと第２以降のｂｉｎについて、それぞれ２つずつのコンテキストモデルが定義されている。
【００８１】
Ｈ．２６Ｌの画像圧縮情報において、マクロブロックレベルで設定され得る、量子化に関するパラメータDquantに対するコンテキストモデルについて説明する。
【００８２】
パラメータDquantは、マクロブロックに対するコードブロックパターンが、非零の直交変換係数を含む場合、またはマクロブロックが１６×１６Intra Codedである場合に設定される。パラメータDquantは、−１６乃至１６の値を取り得る。マクロブロックに対する量子化パラメータQUANTnewは、画像圧縮情報中のパラメータDquantを用いた次式（１６）によって算出される。
QUANTnew＝modulo32（QUANTold＋Dquant＋３２）
・・・（１６）ただし、式（１６）において、QUANToldは、直前の符号化または復号に用いられた量子化パラメータである。
【００８３】
図６に示すように配置されたマクロブロックＣのパラメータDquantに対する第１のコンテキストモデルctx_dquant(C)は、次式（１７）のように定義される。
ctx_dquant(C)＝（Ａ！＝０）
・・・（１７）ただし、式（１７）において、Ａは、マクロブロックＡのパラメータDquantの値を示している。第１のｂｉｎに対しては第２のコンテキストモデルが、第２以降のｂｉｎに対しては第２のコンテキストモデルが定義されている。
【００８４】
以上説明した様々なコンテキストモデルに対し、入力となるシンボルが２値化されていない場合には、そのシンボルを入力前に２値化する必要がある。MB_type以外のシンタクス要素は、図１３に示す対応関係によって２値化される。
【００８５】
Ｐピクチャに対して１０種類定義されているMB_typeは、図１４Ａに示す対応関係によって２値化される。また、Ｂピクチャに対して１７種類定義されているMB_typeは、図１４Ｂに示す対応関係によって２値化される。
【００８６】
以上説明した様々なコンテキストモデルに対応するレジスタは、事前に計算された値によって予め初期化されており、各シンボルを符号化する際、一連のコンテキストモデルに対するｂｉｎの発生頻度が逐次更新され、次のシンボルの符号化を行う際の判定に用いられる。
【００８７】
しかしながら、与えられたコンテキストモデルに対する発生頻度が予め定められた値を超えた場合には、頻度カウンタは縮小処理が行われる。このように周期的にスケーリング処理を行うことで、動的なシンボルの発生に対応することを容易なものとしている。
【００８８】
Ｈ．２６Ｌにおいて、２値化されたシンボルの算術符号化方式については、現在のところ、非特許文献２に開示されている方法が適用されている。
【００８９】
ところで、MPEG２においては、入力となる画像信号が飛び越し走査フォーマットであった場合、マクロブロックレベルでフィールド／フレーム適応型符号化処理が可能とされている。
【００９０】
現在、Ｈ．２６Ｌにはそのような仕様は定義されていないが、非特許文献３には、Ｈ．２６Ｌの仕様を、マクロブロックレベルでフィールド／フレーム適応型符号化処理を可能とするように拡張することが提案されている。
【００９１】
非特許文献３に提案されている、マクロブロックレベルでフィールド／フレーム適応型符号化処理について説明する。
【００９２】
現在のＨ．２６Ｌにおいては、マクロブロックにおける動き予測・補償の単位として、図１５に示すような７種類のモード（mode１乃至７）が定義されている。
【００９３】
非特許文献３においては、画像圧縮情報のマクロブロックに対応するシンタクスとして、図１６に示すように、RunとMB_typeの間にFrame/Field Flagを持つことが提案されている。Frame/Field Flagの値が０である場合、当該マクロブロックはフレームベースの符号化が施されることを示し、Frame/Field Flagの値が１である場合、フィールドベースの符号化が施されることを示している。
【００９４】
Frame/Field Flagの値が１である場合（すなわち、フィールドベースの符号化が施される場合）、マクロブロック内の画素は、図１７に示すように行単位で画素の並べ替えが行われる。
【００９５】
Frame/Field Flagの値が１である場合、マクロブロックにおける動き予測・補償の単位として、図１５のmode３乃至７に相当する、図１８に示す５種類のモード（mode１ａ乃至５ａ）が定義されている。
【００９６】
例えば、図１８のmode２ａにおいて、マクロブロックを４分割した８×８ブロック０乃至３のうち、ブロック０，１は同一のフィールドパリティに属し、また、ブロック２，３は同一のフィールドパリティに属する。また例えば、図１８のmode３ａにおいて、マクロブロックを８分割した４×８ブロック０乃至８のうち、ブロック０乃至３は同一のフィールドパリティに属し、また、ブロック４乃至７は同一のフィールドパリティに属する。
【００９７】
Frame/Field Flagの値が１である場合のイントラ予測モードについて説明する。例えば、図９に示した４×４ブロックに位置する画素ａ乃至ｐは、Frame/Field Flagの値が１である場合においても、隣接する４×４ブロックに位置する画素Ａ乃至Ｉを用いてイントラ予測が行われるが、画素ａ乃至ｐ、および画素Ａ乃至Ｉが全て同一フィールドパリティに属していることが特徴である。
【００９８】
画素Ａ乃至Ｉが、画素ａ乃至ｐと同一のマクロブロックに属している場合について、図１９を参照して説明する。マクロブロックを１６分割した４×４ブロック７に存在する画素ａ乃至ｐは、隣接するブロック２，３，６の端に存在する画素Ａ乃至Ｉを用いてイントラ予測が行われる。
【００９９】
画素Ａ乃至Ｉが、画素ａ乃至ｐとは異なるマクロブロックに属する場合について、図２０を参照して説明する。
【０１００】
図２０Ａは、処理対象としているマクロブロックの左側のマクロブロックと、上側のマクロブロックに対するFrame/Field Flagの値がそれぞれ１である場合を示している。この場合、処理対象としているマクロブロックを１６分割した４×４ブロックＣに存在する画素のイントラ予測は、左側のマクロブロックを１６分割したブ４×４ブロックＡに存在する画素と、上側のマクロブロックを１６分割した４×４ブロックＢに存在する画素を用いて行われる。４×４ブロックＣ'に存在する画素のイントラ予測は、４×４ブロックＡ'に存在する画素と、４×４ブロックＢ'に存在する画素を用いて行われる。
【０１０１】
図２０Ｂは、処理対象としているマクロブロックに対するFrame/Field Flagの値が１であり、その左側および上側のマクロブロックに対するFrame/Field Flagの値がそれぞれ０である場合を示している。この場合、処理対象としているマクロブロックを１６分割した４×４ブロックＣに存在する画素のイントラ予測は、左側のマクロブロックを１６分割した４×４ブロックＡに存在する画素と、上側のマクロブロックを１６分割した４×４ブロックＢに存在する画素を用いて行われる。４×４ブロックＣ'に存在する画素のイントラ予測は、４×４ブロックＡ'に存在する画素と、４×４ブロックＢに存在する画素を用いて行われる。
【０１０２】
次に、色差信号のイントラ予測について、図２１を参照して説明する。Frame/Field Flagの値が１である場合、色差信号のイントラ予測モードは１種類だけが定義されている。
【０１０３】
図２１において、Ａ乃至Ｄは、それぞれ色差信号の４×４ブロックを示す。ブロックＡ，Ｂは、第１フィールドに属し、ブロックＣ，Ｄは、第２フィールドに属する。ｓ0乃至ｓ2は、ブロックＡ乃至Ｄに隣接するブロックのうち、第１フィールドパリティに属するブロックに存在する色差信号の合計値である。ｓ3至ｓ5は、ブロックＡ乃至Ｄに隣接するブロックのうち、第２フィールドパリティに属するブロックに存在する色差信号の合計値である。
【０１０４】
ブロックＡ乃至Ｄにそれぞれ対応する予測値Ａ乃至Ｄは、ｓ0乃至ｓ5が全て画枠内に存在する場合、次式（１８）に従って予測される。
Ａ＝（ｓ0＋ｓ2＋４）／８
Ｂ＝（ｓ1＋２）／４
Ｃ＝（ｓ3＋ｓ5＋４）／８
Ｄ＝（ｓ4＋２）／４
・・・（１８）
【０１０５】
ただし、ｓ0乃至ｓ5のうち、ｓ0，ｓ1，ｓ3，ｓ4だけが画枠内に存在する場合、ブロックＡ乃至Ｄにそれぞれ対応する予測値Ａ乃至Ｄは、次式（１９）に従って予測される。
Ａ＝（ｓ0＋２）／４
Ｂ＝（ｓ1＋２）／４
Ｃ＝（ｓ3＋２）／４
Ｄ＝（ｓ4＋２）／４
・・・（１９）
【０１０６】
さらに、ｓ0乃至ｓ5のうち、ｓ2ｓ5だけが画枠内に存在する場合、ブロックＡ乃至Ｄにそれぞれ対応する予測値は、次式（２０）に従って予測される。
Ａ＝（ｓ2＋２）／４
Ｂ＝（ｓ2＋２）／４
Ｃ＝（ｓ5＋２）／４
Ｄ＝（ｓ5＋２）／４
・・・（２０）
【０１０７】
図２２は、上述したようにイントラ予測された後の色差信号の残差成分を符号化する方法を示している。すなわち、それぞれの４×４ブロックに対して直交変換処理を施した後、第１フィールドおよび第２フィールドの直流成分を用いて図示するような２×２ブロックが生成され、再び直交変換処理が施される。
【０１０８】
次に、Frame/Field Flagの値が１である場合の動き予測・補償処理について説明する。Frame/Field Flagの値が１である場合、動き予測補償モードとしては、インター１６×１６モード、インター８×１６モード、インター８×８モード、インター４×８モード、インター４×４モードの６種類のモードが存在する。
【０１０９】
例えば、インター１６×１６モードは、インター８×１６モードにおける第１フィールドに対する動きベクトル情報、第２フィールドに対する動きベクトル情報、および参照フレームが同等であるモードである。
【０１１０】
これら６種類の動き予測補償モードに対して、それぞれCode_Number０乃至５が割り当てられている。
【０１１１】
現在のＨ．２６Ｌにおいては、図２３に示すような、複数の参照フレームを設けることができるマルチプルフレーム予測が規定されている。現在のフレームベースのＨ．２６Ｌの規格において、参照フレームに関する情報は、マクロブロックレベルで定義されており、直前に符号化されたフレームに対し、Code_Number０が割り当てられており、その１乃至５回前に符号化されたフレームに対し、それぞれCode_Number１乃至５が割り当てられている。
【０１１２】
これに対して、フィールドベース符号化を行う場合、直前に符号化されたフレームの第１フィールドに対してCode_Number０が割り当てられ、当該フレームの第２フィールドに対してCode_Number１が割り当てられる。その１回前に符号化されたフレームの第１フィールドに対してCode_Number２が割り当てられ、当該フレームの第２フィールドに対してCode_Number３が割り当てられる。さらに１回前に符号化されたフレームの第１フィールドに対してCode_Number４が割り当てられ、第２フィールドに対してCode_Number５が割り当てられる。
【０１１３】
また、フィールドベース符号化が行われるマクロブロックに対しては、第１フィールドに対する参照フィールドと、第２フィールドに対する参照フィールドが別個に規定される。
【０１１４】
次に、Frame/Field Flagの値が１である場合の動きベクトル情報予測方式について説明するが、その前に、現在のＨ．２６Ｌにおいて規定されているメディアン予測について、図２４を参照して説明する。図２４に示す１６×１６マクロブロックＥに対応する１６×１６、８×８、または４×４動きベクトル情報は、隣接するマクロブロックＡ乃至Ｃの動きベクトル情報のメディアンを用いて予測される。
【０１１５】
ただし、マクロブロックＡ乃至Ｃのうち、画枠内に存在しないものについては、対応する動きベクトル情報の値は０であるとしてメディアンを算出する。例えば、マクロブロックＤ，Ｂ，Ｃが画枠内に存在しない場合、予測値としてマクロブロックＡに対応する動きベクトル情報を用いる。また、マクロブロックＣが画枠内に存在しない場合、その代わりにマクロブロックＤの動きベクトル情報を用いてメディアンを算出する。
【０１１６】
なお、マクロブロックＡ乃至Ｄの参照フレームは必ずしも同一でなくてもよい。
【０１１７】
次に、マクロブロックのブロックサイズが、８×１６、１６×８、８×４、または４×８である場合について、図２５を参照して説明する。なお、注目するマクロブロックＥとこれに隣接するマクロブロックＡ乃至Ｄは、図２４に示すように配置されているとする。
【０１１８】
図２５Ａは、マクロブロックＥ１，Ｅ２のブロックサイズが８×１６である場合を示している。左側のマクロブロックＥ１に関しては、左に隣接するマクロブロックＡがマクロブロックＥ１と同じフレームを参照している場合、マクロブロックＡの動きベクトル情報が予測値として用いられる。左に隣接するマクロブロックＡがマクロブロックＥ１と異なるフレームを参照している場合、上述したメディアン予測が適用される。
【０１１９】
右側のマクロブロックＥ２に関しては、右上に隣接するマクロブロックＣがマクロブロックＥ２と同じフレームを参照している場合、マクロブロックＣの動きベクトル情報が予測値として用いられる。右上に隣接するマクロブロックＣがマクロブロックＥ２と異なるフレームを参照している場合、上述したメディアン予測が適用される。
【０１２０】
図２５Ｂは、マクロブロックＥ１，Ｅ２のブロックサイズが１６×８である場合を示している。上側のマクロブロックＥ１に関しては、上に隣接するマクロブロックＢがマクロブロックＥ１と同じフレームを参照している場合、マクロブロックＢの動きベクトル情報が予測値として用いられる。上に隣接するマクロブロックＢがマクロブロックＥ１と異なるフレームを参照している場合、上述したメディアン予測が適用される。
【０１２１】
下側のマクロブロックＥ２に関しては、左に隣接するマクロブロックＡがマクロブロックＥ２と同じフレームを参照している場合、マクロブロックＡの動きベクトル情報が予測値として用いられる。左に隣接するマクロブロックＡがマクロブロックＥ２と異なるフレームを参照している場合、上述したメディアン予測が適用される。
【０１２２】
図２５Ｃは、マクロブロックＥ１乃至Ｅ８のブロックサイズが８×４である場合を示している。左側のマクロブロックＥ１乃至Ｅ４に対しては、上述したメディアン予測が適用され、右側のマクロブロックＥ５乃至Ｅ８に対しては、左側のマクロブロックＥ１乃至Ｅ４の動きベクトル情報が予測値として用いられる。
【０１２３】
図２５Ｄは、マクロブロックＥ１乃至Ｅ８のブロックサイズが４×８である場合を示している。上側のマクロブロックＥ１乃至Ｅ４に対しては、上述したメディアン予測が適用され、下側のマクロブロックＥ５乃至Ｅ８に対しては、上側のマクロブロックＥ１乃至Ｅ４の動きベクトル情報が予測値として用いられる。
【０１２４】
Frame/Field Flagの値が１である場合においても、動きベクトル情報の水平方向成分の予測に関しては、上述の方式に準ずる。しかしながら、垂直方向成分に関しては、フィールドベースのブロックとフレームベースのブロックが混在するため、以下のような処理を行う。なお、注目するマクロブロックＥとこれに隣接するマクロブロックＡ乃至Ｄは、図２４に示すように配置されているとする。
【０１２５】
マクロブロックＥをフレームベース符号化する場合であって、隣接するマクロブロックＡ乃至Ｄのいずれかがフィールドベース符号化されている場合、第１フィールドに対する動きベクトル情報の垂直方向成分と、第２フィールドに対する動きベクトル情報の垂直方向成分の平均値の２倍を算出し、これをフレームベースの動きベクトル情報に相当するものとして予測処理を行う。
【０１２６】
マクロブロックＥをフィールドベース符号化する場合であって、隣接するブロックＡ乃至Ｄのいずれかがフレームベース符号化されている場合、動きベクトル情報の垂直方向成分の値を２で割った商を、フィールドベースの動きベクトルに相当するものとして予測処理を行う。
【先行技術文献】
【非特許文献】
【０１２７】
【非特許文献１】"Video Compression Using Context-Based Adaptive Arithmetic Coding",Marpe et al,ICIO1
【非特許文献２】"Arithmetic Coding for Data Compression",(Witten et al. Comm. of the ACM,30 (6),1987,pp520-541)
【非特許文献３】"Interlace Coding Tools for H.26L Video Coding(L.Wang et al.,VCEG-O37,Dec.2001)"
【発明の概要】
【発明が解決しようとする課題】
【０１２８】
ところで、非特許文献３においては、マクロブロックレベルのフィールド／フレーム符号化に必要なシンタクス要素が付加されており、また、動きベクトル情報等のシンタクス要素に関しても、そのセマンティクスが変更されているが、これに対して、新たなコンテキストモデルの導入、および既存のコンテキストモデルの変更がなされておらず、非特許文献３に提案された情報のみでは、CABAC方式を用いたマクロブロックレベルのフィールド／フレーム符号化を行うことが不可能である。
【０１２９】
CABAC方式は、UVLC方式に比較して符号化処理により多くの演算量を要するものの、より高い符号化効率を実現することが知られており、入力となる画像情報が飛び越し走査フォーマットであった場合にも、CABAC方式を用いたマクロブロックレベルのフィールド／フレーム符号化を実現できることが望ましい。
【０１３０】
本発明はこのような状況に鑑みてなされたものであり、入力となる画像情報が飛び越し走査フォーマットであった場合にも、CABAC方式を用いたマクロブロックレベルのフィールド／フレーム符号化を可能とすることを目的とする。
【課題を解決するための手段】
【０１３１】
本発明の一側面は、画像情報を符号化する符号化装置であって、前記画像情報の符号化の対象となる対象マクロブロックをフレームモードで符号化するかフィールドモードで符号化するかをマクロブロックレベルで示す符号化モード情報を用いて、前記対象マクロブロックに隣接する隣接マクロブロックの符号化モードと前記対象マクロブロックの符号化モードをそろえて、前記対象マクロブロックの動きベクトル情報に対応するコンテキストモデルを算出するコンテキストモデル手段と、前記コンテキストモデル手段により算出された前記コンテキストモデルを用いて、前記画像情報にコンテキスト適応算術符号化を行うコンテキスト適応算術符号化手段とを備える符号化装置である。
【０１３２】
前記コンテキストモデル手段は、前記隣接マクロブロックの動きベクトル情報を前記対象マクロブロックの符号化モードにあわせるように換算して、前記対象マクロブロックの動きベクトル情報に対応するコンテキストモデルを算出することができる。
【０１３３】
前記コンテキストモデル手段は、前記符号化モード情報に応じて、前記隣接マクロブロックの動きベクトル情報をフレームモードにあわせるように換算する処理、若しくは、前記隣接マクロブロックの動きベクトル情報をフィールドモードにあわせるように換算する処理のいずれか一方を選択することができる。
【０１３４】
前記コンテキストモデル手段は、前記隣接マクロブロックがフィールドモードで符号化されており、前記対象マクロブロックをフレームモードで符号化する場合、前記隣接マクロブロックの動きベクトル情報をフレームモードにあわせるように換算する処理を選択することができる。
【０１３５】
前記コンテキストモデル手段は、前記隣接マクロブロックに対応する動きベクトル情報の垂直成分を２倍に換算して、前記対象マクロブロックの動きベクトル情報に対応するコンテキストモデルを算出することができる。
【０１３６】
前記コンテキストモデル手段は、トップフィールドの動きベクトル情報の垂直成分の値とボトムフィールドの動きベクトル情報の垂直成分の値とを加算することができる。
【０１３７】
前記コンテキストモデル手段は、前記隣接マクロブロックがフレームモードで符号化されており、前記対象マクロブロックをフィールドモードで符号化する場合、前記隣接マクロブロックの動きベクトル情報をフィールドモードにあわせるように換算する処理を選択することができる。
【０１３８】
前記コンテキストモデル手段は、前記隣接マクロブロックに対応する動きベクトル情報の垂直成分を２分の１倍に換算して、前記対象マクロブロックの動きベクトル情報に対応するコンテキストモデルを算出することができる。
【０１３９】
前記コンテキストモデル手段は、トップフィールドの動きベクトル情報の垂直成分の値とボトムフィールドの動きベクトル情報の垂直成分の値とを加算した値を、２分の１倍にすることができる。
【０１４０】
本発明の一側面は、また、画像情報を符号化する符号化装置の符号化方法であって、コンテキストモデル手段が、前記画像情報の符号化の対象となる対象マクロブロックをフレームモードで符号化するかフィールドモードで符号化するかをマクロブロックレベルで示す符号化モード情報を用いて、前記対象マクロブロックに隣接する隣接マクロブロックの符号化モードと前記対象マクロブロックの符号化モードをそろえて、前記対象マクロブロックの動きベクトル情報に対応するコンテキストモデルを算出し、コンテキスト適応算術復号手段が、算出された前記コンテキストモデルを用いて、前記画像情報にコンテキスト適応算術符号化を行う符号化方法である。
【０１４１】
本発明の一側面は、さらに、画像情報を符号化するコンピュータを、前記画像情報の符号化の対象となる対象マクロブロックをフレームモードで符号化するかフィールドモードで符号化するかをマクロブロックレベルで示す符号化モード情報を用いて、前記対象マクロブロックに隣接する隣接マクロブロックの符号化モードと前記対象マクロブロックの符号化モードをそろえて、前記対象マクロブロックの動きベクトル情報に対応するコンテキストモデルを算出するコンテキストモデル手段、前記コンテキストモデル手段により算出された前記コンテキストモデルを用いて、前記画像情報にコンテキスト適応算術符号化を行うコンテキスト適応算術符号化手段として機能させるためのプログラムを記録したコンピュータ読み取り可能な記録媒体である。
【０１４２】
本発明の一側面は、また、画像情報を符号化するコンピュータを、前記画像情報の符号化の対象となる対象マクロブロックをフレームモードで符号化するかフィールドモードで符号化するかをマクロブロックレベルで示す符号化モード情報を用いて、前記対象マクロブロックに隣接する隣接マクロブロックの符号化モードと前記対象マクロブロックの符号化モードをそろえて、前記対象マクロブロックの動きベクトル情報に対応するコンテキストモデルを算出するコンテキストモデル手段、前記コンテキストモデル手段により算出された前記コンテキストモデルを用いて、前記画像情報にコンテキスト適応算術符号化を行うコンテキスト適応算術符号化手段として機能させるためのプログラムである。
【０１４３】
本発明の一側面においては、画像情報の符号化の対象となる対象マクロブロックをフレームモードで符号化するかフィールドモードで符号化するかをマクロブロックレベルで示す符号化モード情報が用いられて、対象マクロブロックに隣接する隣接マクロブロックの符号化モードと対象マクロブロックの符号化モードがそろえられて、対象マクロブロックの動きベクトル情報に対応するコンテキストモデルが算出され、その算出されたコンテキストモデルが用いられて、画像情報にコンテキスト適応算術符号化が行われる。
【発明の効果】
【０１４４】
以上のように、本発明によれば、入力となる画像情報が飛び越し走査フォーマットであった場合にも、CABAC方式を用いたマクロブロックレベルのフィールド／フレーム符号化を実現することが可能となる。
【図面の簡単な説明】
【０１４５】
【図１】直交変換処理と動き補償処理によって画像圧縮を実現する従来の画像情報符号化装置の構成を示すブロック図である。
【図２】図１の画像情報符号化装置に対応する画像情報復号装置の構成を示すブロック図である。
【図３】算術符号化処理における、記号の発生確率と割り当てられるサブ区間の対応関係の一例を示した図である。
【図４】算術符号化処理の一例を示す図である。
【図５】CABAC符号化器の一般的な構成を示すブロック図である。
【図６】MB_typeのコンテキストモデルを説明するための図である。
【図７】動きベクトル情報MVDのコンテキストモデルを説明するための図である。
【図８】動きベクトル情報MVDをコンテキストモデルに基づいて符号化する処理を説明するための図である。
【図９】Ｈ．２６Ｌで定義されているイントラ予測モードを説明するための図である。
【図１０】ラベル１乃至５のイントラ予測モードの方向を説明するための図である。
【図１１】Ｈ．２６Ｌで定義されているシングルスキャン方式およびダブルスキャン方式を説明するための図である。
【図１２】Ｈ．２６Ｌで定義されている、(RUN,LEVEL)に対応するコンテキストモデルを示す図である。
【図１３】Ｈ．２６Ｌにおける、MB_type以外のシンタクス要素を２値化する処理を説明するための図である。
【図１４】Ｈ．２６Ｌにおける、ＰピクチャおよびＢピクチャのMB_typeを２値化する処理を説明するための図である。
【図１５】Ｈ．２６Ｌにおいて定義されている、マクロブロックにおける動き予測・補償の単位として７種類のモードを示す図である。
【図１６】マクロブロックレベルのフィールド／フレーム適応符号化が行えるように拡張された画像圧縮情報のシンタクスを示す図である。
【図１７】マクロブロックをフィールドベースで符号化する場合における、マクロブロックの画素の並べ替えを説明するための図である。
【図１８】マクロブロックをフィールドベースで符号化する場合における、動き予測・補償の単位として定義されている５種類のモードを示す図である。
【図１９】マクロブロックをフィールドベースで符号化する場合における、マクロブロック内でイントラ予測を行う動作原理を説明するための図である。
【図２０】マクロブロックをフィールドベースで符号化する場合における、マクロブロックをまたがってイントラ予測を行う動作原理を説明するための図である。
【図２１】マクロブロックをフィールドベースで符号化する場合における、色差信号に対するイントラ予測を行う動作原理を説明するための図である。
【図２２】マクロブロックをフィールドベースで符号化する場合における、色差信号の残差成分を符号化する動作原理を説明するための図である。
【図２３】Ｈ．２６Ｌにおいて規定されているマルチプルフレーム予測を説明するための図である。
【図２４】マクロブロックをフィールドベースで符号化する場合における、動きベクトル情報の予測方式を説明するための図である。
【図２５】Ｈ．２６Ｌで定められている各予測モードにおける動きベクトル情報の予測値を生成する処理を説明するための図である。
【図２６】本発明の一実施の形態である画像情報符号化装置の構成例を示すブロック図である。
【図２７】図２６の算術符号化部５８の構成例を示すブロック図である。
【図２８】マクロブロックをフィールドベースで符号化する場合における、ＰピクチャおよびＢピクチャに属するマクロブロックのMB_typeを２値化するたためのテーブルを示す図である。
【図２９】図２６の画像情報符号化装置の対応する、本発明の一実施の形態である画像情報復号装置の構成例を示すブロック図である。
【発明を実施するための形態】
【０１４６】
以下、本発明を適用した画像情報符号化装置について、図２６を参照して説明する。当該画像情報符号化装置は、入力となる画像情報が飛び越し走査フォーマットであった場合にも、CABAC方式を用いて符号化処理を施すことができるものである。
【０１４７】
当該画像情報符号化装置において、Ａ／Ｄ変換部５１は、アナログ信号である入力画像信号をディジタル信号に変換して、画面並べ替えバッファ５２に出力する。画面並べ替えバッファ５２は、Ａ／Ｄ変換部５１からの入力画像情報を、当該画像情報符号化装置の出力となる画像圧縮情報のGOP構造に応じて並び替えて、加算器５４に出力する。
【０１４８】
フィールド／フレーム判定部５３は、処理対象の画像のマクロブロックを、フィールドベースで符号化する場合と、フレームベースで符号化する場合との符号化効率が高い方を判定し、対応するFrame/Field Flagを生成して、フィールド／フレーム変換部５５および算術符号化部５８に出力する。
【０１４９】
加算器５４は、処理対象のマクロブロックがインター符号化される場合、フィールド／フレーム判定部５３を介する入力画像と、動き予測・補償部６４からの参照画像との差分画像を生成して、フィールド／フレーム変換部５５および直交変換部５６に出力する。また、加算器５４は、処理対象のマクロブロックがイントラ符号化される場合、フィールド／フレーム判定部５３を介する入力画像をそのまま、フィールド／フレーム変換部５５および直交変換部５６に出力する。
【０１５０】
フィールド／フレーム変換部５５は、処理対象のマクロブロックがフィールドベースで符号化される場合、加算器５４からの入力画像をフィールド構造に変換して直交変換部５６に出力する。直交変換部５６は、入力される画像情報に対して直交変換（離散コサイン変換、またはカルーネン・レーベ変換等）を施し、得られる変換係数を量子化部５７に供給する。量子化部５７は、レート制御部６５らの制御に従い、直交変換部５６から供給された変換係数に対して量子化処理を施す。
【０１５１】
算術符号化部５８は、量子化部５７および動き予測・補償部６４から入力される各シンタクス要素、並びにフィールド／フレーム判定部５３からのFrame/Field FlagをCABAC方式に基づいて算術符号化し、蓄積バッファ５９に供給して蓄積させる。蓄積バッファ５９は、蓄積した画像圧縮情報を後段に出力する。
【０１５２】
逆量子化部６０は、量子化された直交変換係数を逆量子化して、逆直交変換部６１に出力する。逆直交変換部６１は、逆量子化された変換係数に対して逆直交変換処理を施して復号画像情報を生成し、フレームメモリ６２に供給して蓄積させる。フィールド／フレーム変換部６３は、処理対象とするマクロブロックをフィールドベースで符号化する場合、フレームメモリ６２に蓄積された復号画像情報をフィールド構造に変換して、動き予測・補償部６４に出力する。
【０１５３】
動き予測・補償部６４は、動き予測処理により、最適な予測モード情報および動きベクトル情報を生成して算術符号化部５８部に出力するとともに、予測画像を生成して加算器５４に出力する。レート制御部６５は、蓄積バッファ５９に蓄積されたデータ量に基づき、量子化部５７の動作のフィードバック制御を行う。制御部６６は、記録媒体６７に記録されている制御用プログラムに従い、当該画像情報符号化装置の各部を制御する。
【０１５４】
次に、算術符号化部５８の動作原理について、図２７を参照して説明する。図２７は、算術符号化部５８の構成例を示している。算術符号化部５８においては、入力される画像圧縮情報のシンタクス要素のうち、まず、図１６に示したframe／field flagが、フレーム／フィールドフラグコンテクストモデル９１によって符号化される。
【０１５５】
そして、処理対象となるマクロブロックがフレームベース符号化される場合、現在Ｈ．２６Ｌの標準で定められているフレームベースのコンテキストモデル９２が適用される。なお、２値化されていない値を持つシンタクス要素に関しては、２値化部９３によって２値化が施された後、算術符号化が行われる。
【０１５６】
一方、処理対象となるマクロブロックがフィールド符号化される場合、以下のシンタクス要素に関しては、フィールドベースのコンテキストモデル９４が適用される。なお、２値化されていない値を持つシンタクス要素に関しては、２値化部９５によって２値化が施された後、算術符号化が行われる。すなわち、第１のシンタクス要素は、Ｉピクチャに対するMB_typeであり、第２のシンタクス要素はＰ／Ｂピクチャに対するMB_typeであり、第３のシンタクス要素は動きベクトル情報であり、第４のシンタクス要素は参照フィールドパラメータであり、第５のシンタクスはイントラ予測モードである。
【０１５７】
以下、図６に示すようにマクロブロックＡ，Ｂ，Ｃが配置されているとする。frame／field flagに関するコンテキストモデルについて説明する。マクロブロックＣのframe／field flagに関するコンテキストモデルctx_fifr_flag(C)は、次式（２１）によって定義される。
ctx_fifr_flag(C)＝ａ＋２ｂ
・・・（２１）ただし、式（２１）において、ａ，ｂは、それぞれマクロブロックＡ，Ｂのframe／field flagの値である。
【０１５８】
次に、Ｉピクチャに対するMB_typeに関するコンテキストモデルについて説明する。frame／field flagが１である場合、Ｉピクチャに含まれるマクロブロックＣのMB_typeに対応するコンテキストモデルctx_mb_type_intra_field（C）は、式（３）と同様に次式（２２）によって定義される。
ctx_mb_type_intra_field（C）＝Ａ＋Ｂ
・・・（２２）ただし、式（２２）におけるＡ，Ｂは、式（３）におけるものと同様である。なお、隣接するマクロブロックＡ，Ｂは、フィールドベース符号化されていても、フレームベース符号化されていてもかまわない。
【０１５９】
次に、Ｐ／Ｂピクチャに対するMB_typeに関するコンテキストモデルについて説明する。マクロブロックＣがＰピクチャに含まれる場合、マクロブロックＣのMB_typeに対応するコンテキストモデルctx_mb_type_inter_field(C)は、次式（２３）によって定義される。また、Ｂピクチャに含まれる場合、次式（２４）によって定義される。
ctx_mb_type_inter_field(C)＝((A==skip)?0:1)＋２((B==skip)?0:1)
・・・（２３）
ctx_mb_type_inter_field(C)＝((A==Direct)?0:1)＋２((B==Direct)?0:1)
・・・（２４）
【０１６０】
ただし、式（２３）における演算子((A==skip)?0:1)，((A==skip)?0:1)は、式（４）におけるものと同様であり、式（２４）における演算子((A==Direct)?0:1)，((B==Direct)?0:1)は、式（５）におけるものと同様である。隣接するマクロブロックＡ，Ｂは、フィールドベース符号化されていても、フレームベース符号化されていてもかまわない。
【０１６１】
なお、２値化されていないＰピクチャのMB_typeは、図２８Ａに示すテーブルによって２値化される。また、２値化されていないＢピクチャのMB_typeは、図２８Ｂに示すテーブルによって２値化される。
【０１６２】
適応２値算術符号化部９６では、２値化されたシンボルに対して、確率推定部９７によって確率推定がなされ、符号化エンジン９８によって確率推定に基づく適応算術符号化が施される。適応算術符号化処理が行われた後、関連するモデルの更新が行われるため、それぞれのモデルは実際の画像圧縮情報の統計に応じた符号化処理を行うことが可能となる。
【０１６３】
フレームベース符号化されるマクロブロックに対しては、Ｐピクチャに属する場合、１０種類のMB_typeが定義されている。一方、フィールドベース符号化されるマクロブロックに対しては、Ｐピクチャに属する場合、前記１６種類のうち、１６×１６モード、および８×１６モードが定義されていない。すなわち、フィールドベース符号化されるマクロブロックに対しては、Ｐピクチャに関して８種類のMB_typeが定義されている。
【０１６４】
フレームベース符号化されるマクロブロックに対しては、Ｂピクチャに関して１８種類のMB_typeが定義されている。一方、フィールドベース符号化されるマクロブロックに対しては、Ｂピクチャに属する場合、前記１８種類のうち、前方向１６×１６モード、後方向１６×１６モード、前方向８×１６モード、および後方向８×１６モードが定義されていない。すなわち、フィールドベース符号化されるマクロブロックに対しては、Ｂピクチャに関して１４種類のMB_typeが定義されている。
【０１６５】
次に、動きベクトル情報のコンテキストモデルについて説明する。frame／field flagの値が１である場合、マクロブロックＣの動きベクトル情報に対応する第１乃至３のコンテキストモデルctx_mvd_field(C,k)は、次式（２５−１）乃至（２５−３）によって定義される。
ctx_mvd_field (C,k)＝０
ｅk（Ｃ）＜３
・・・（２５−１）
ctx_mvd_field (C,k)＝１
３２＜ｅk（Ｃ）
・・・（２５−２）
ctx_mvd_field (C,k)＝２
３≦ｅk（Ｃ）≦３２
・・・（２５−３）ただし、式（２５−１）乃至（２５−３）における評価関数ｅkは次式（２６）のように定義されている。マクロブロックＡ，Ｂは同じパリティフィールドにある。
ｅk（Ｃ）＝｜ｍｖｄk（Ａ）｜＋｜ｍｖｄk（Ｂ）｜
・・・（２６）
【０１６６】
ここで、マクロブロックＡがフレームベース符号化されたものである場合、垂直方向成分の動きベクトル情報ｍｖｄ1（Ａ）に関しては、次式（２７）を用いて算出したｍｖｄ1_field（Ａ）を式（２６）に適用する。また、マクロブロックＢがフレームベース符号化されたものである場合においても同様である。
ｍｖｄ1_field（Ａ）＝ｍｖｄ1_frame（Ａ）／２
・・・（２７）
【０１６７】
反対に、マクロブロックＣをフレームベース符号化する場合であって、隣接ブロックＡがフィールドベース符号化されたものである場合、ｍｖｄk（Ａ）の水平方向成分、垂直方向成分は、それぞれ次式（２８−１），（２８−２）を用いて算出したｍｖｄk_frame（Ａ）を式（２６）に適用する。
ｍｖｄ0_frame（Ａ）
＝（ｍｖｄ0_top（Ａ）＋ｍｖｄ0_bottom（Ａ））／２・・・（２８−１）
ｍｖｄ1_frame（Ａ）
＝ｍｖｄ1_top（Ａ）＋ｍｖｄ1_bottom（Ａ）
・・・（２８−２）
【０１６８】
次に、参照フィールドパラメータに関するコンテキストモデルについて説明する。frame／field flagの値が１である場合、第１フィールドに対応する第１のコンテキストモデルctx_ref_field_top(C)は、次式（２９−１）によって定義される。また、第２フィールドに対応する第１のコンテキストモデルctx_ref_field_bot(C)は、次式（２９−２）によって定義される。
ctx_ref_field_top(C)＝ａt＋２ｂt
・・・（２９−１）
ctx_ref_field_bot(C)＝ａb＋２ｂb
・・・（２９−２）
【０１６９】
ただし、式（２９−１），（２９−２）において、パラメータａtは、隣接するマクロブロックＡの第１フィールドに関するものであり、パラメータａbは、隣接するマクロブロックＡの第２フィールドに関するものであり、パラメータｂtは、隣接するマクロブロックＢの第１フィールドに関するものであり、パラメータｂbは、隣接するマクロブロックＢの第２フィールドに関するものであり、次式（３０−１），（３０−２）のように定義されている。
ａt，ａb，ｂt，ｂb
＝０
参照フィールドが最も直前に符号化されたものである場合
・・・（３０−１）
ａt，ａb，ｂt，ｂb
＝１
上記以外の場合
・・・（３０−２）
【０１７０】
第２以降のｂｉｎに対応するコンテキストモデルに関しては、それぞれ、式（８）に示したコンテキストモデルctx_ref_frame(C)と同様に定義される。ただし、符号化されるCode_numberは、フレームに対するものではなく、フィールドに対して割り当てられたものである。
【０１７１】
次に、イントラ予測モードに関するコンテキストモデルについて説明する。frame／field flagの値が１である場合、マクロブロックＣに対応するイントラ予測モードに関するコンテキストモデルctx_intra_pred_field(C)は、フレームモードのマクロブロックに対するコンテキストモデルctx_intra_pred(C)と同様に定義される。なお、隣接するマクロブロックＡ，Ｂは、フィールドベース符号化されていても、フレームベース符号化されていてもかまわない。
【０１７２】
以上説明したように、新たなコンテキストモデルを導入し、既存のコンテキストモデルを変更することにより、CABAC方式を用いたフィールド／フレーム符号化を行うことが可能となる。
【０１７３】
次に、図２９は、図２６の画像情報符号化装置に対応する画像情報復号装置の構成例を示している。
【０１７４】
当該画像情報復号装置において、蓄積バッファ１０１は、入力される画像圧縮情報を蓄積し、適宜、算術復号化部１０２に出力する。算術復号化部１０２は、CABAC方式に基づいて符号化されている画像圧縮情報に算術復号化処理を施し、復号したframe／field flagをフィールド／フレーム変換部１０５，１１０に出力し、量子化されている直交変換係数を逆量子化部１０３に出力し、予測モード情報および動きベクトル情報を動き予測・補償部１１１に出力する。
【０１７５】
逆量子化部１０３は、算術復号化部１０２によって復号された、量子化されている直交変換係数を逆量子化する。逆直交変換部１０４は、逆量子化された直交変換係数を逆直交変換する。フィールド／フレーム変換部１０５は、処理対象のマクロブロックがフィールドベースで符号化されている場合、逆直交変換の結果得られた出力画像または差分画像をフレーム構造に変換する。
【０１７６】
加算器１０６は、処理対象のマクロブロックがインターマクロブロックであった場合、逆直交変換部１０４からの差分画像と、動き予測・補償部１１１からの参照画像を合成して出力画像を生成する。画面並べ替えバッファ１０７は、入力された画像圧縮情報のGOP構造に応じて、出力画像を並べ替えてＤ／Ａ変換部１０８に出力する。Ｄ／Ａ変換部１０８は、ディジタル信号である出力画像をアナログ信号に変換して後段に出力する。
【０１７７】
フレームメモリ１０９は、加算器１０６が生成した、参照画像の元となる画像情報を格納する。フィールド／フレーム変換部１１０は、処理対象のマクロブロックがフィールドベースで符号化されている場合、フレームメモリ１１１に格納されている画像情報をフィールド構造に変換する。動き予測・補償部１１１は、画像圧縮情報に含まれる、マクロブロックごとの予測モード情報および動きベクトル情報に基づき、フレームメモリに格納された画像情報を元にいて参照画像を生成し、加算部１０６に出力する。
【０１７８】
以上説明したように構成される画像情報復号装置によれば、図２６の画像情報符号化装置が出力する画像圧縮情報を復号し、元の画像情報を得ることができる。
【０１７９】
上述した一連の処理は、ハードウェアにより実行させることもできるが、ソフトウェアにより実行させることもできる。一連の処理をソフトウェアにより実行させる場合には、そのソフトウェアを構成するプログラムが、専用のハードウェアに組み込まれているコンピュータ、または、各種のプログラムをインストールすることで、各種の機能を実行することが可能な、例えば汎用のパーソナルコンピュータなどに、例えば図２６の記録媒体６７からインストールされる。
【０１８０】
この記録媒体６７は、コンピュータとは別に、ユーザにプログラムを提供するために配布される、プログラムが記録されている磁気ディスク（フレキシブルディスクを含む）、光ディスク（CD-ROM(Compact Disc-Read Only Memory)、DVD(Digital Versatile Disc)を含む）、光磁気ディスク（ＭＤ(Mini Disc)を含む）、もしくは半導体メモリなどよりなるパッケージメディアにより構成されるだけでなく、コンピュータに予め組み込まれた状態でユーザに提供される、プログラムが記録されているROMやハードディスクなどで構成される。
【０１８１】
なお、本明細書において、記録媒体に記録されるプログラムを記述するステップは、記載された順序に従って時系列的に行われる処理はもちろん、必ずしも時系列的に処理されなくとも、並列的あるいは個別に実行される処理をも含むものである。
【符号の説明】
【０１８２】
５３  フィールド／フレーム判定部，  ５５  フィールド／フレーム変換部，  ５８  算術符号化部，  ６３  フィールド／フレーム変換部，  ６６  制御部，  ６７  記録媒体，  １０２  算術復号化部，  １０５  フィールド／フレーム変換部，  １１０  フィールド／フレーム変換部
【図１】
2010252395.tif 000003
【図２】
2010252395.tif 000004
【図３】
2010252395.tif 000005
【図４】
2010252395.tif 000006
【図５】
2010252395.tif 000007
【図６】
2010252395.tif 000008
【図７】
2010252395.tif 000009
【図８】
2010252395.tif 000010
【図９】
2010252395.tif 000011
【図１０】
2010252395.tif 000012
【図１１】
2010252395.tif 000013
【図１２】
2010252395.tif 000014
【図１３】
2010252395.tif 000015
【図１４】
2010252395.tif 000016
【図１５】
2010252395.tif 000017
【図１６】
2010252395.tif 000018
【図１７】
2010252395.tif 000019
【図１８】
2010252395.tif 000020
【図１９】
2010252395.tif 000021
【図２０】
2010252395.tif 000022
【図２１】
2010252395.tif 000023
【図２２】
2010252395.tif 000024
【図２３】
2010252395.tif 000025
【図２４】
2010252395.tif 000026
【図２５】
2010252395.tif 000027
【図２６】
2010252395.tif 000028
【図２７】
2010252395.tif 000029
【図２８】
2010252395.tif 000030
【図２９】
2010252395.tif 000031