(57)【要約】【課題】ランモードを実行することによる符号量の増加を防ぎ、復号すべき符号化データの符号量を低減する。【解決手段】動画像復号装置１は、復号前のＴＴ情報ＴＴＩに含まれる係数符号化データＣ１０を逆順のジグザグスキャンにより復号してから逆スキャンする復号処理により係数行列ＭＸ１０を再現する動画像復号装置１において、｛ｒｕｎ，ｌｅｖｅｌ｝の組を復号するランモードを実行するランモード処理部３２２と、係数の値を１つずつ復号するレベルモードを実行するレベルモード処理部３２３と、上記復号処理において、上記ランモードを実行してから上記レベルモードを実行するか、上記ランモードの実行を省略して上記レベルモードを実行するかを制御する条件判定部３２１とを備える【選択図】図１
2012182753.tif 000002
【特許請求の範囲】
【請求項１】
画像データが符号化された符号化データに含まれる、符号化された量子化変換係数を所定の順序により復号および逆スキャンする復号処理により係数行列を再現する画像復号装置において、
次の非ゼロ係数までのゼロ係数の連なりの長さ、および、次の非ゼロ係数の値を復号するランモードを実行するランモード実行手段と、
係数の値を１つずつ復号するレベルモードを実行するレベルモード実行手段と、
上記復号処理において、上記ランモードを実行してから上記レベルモードを実行するか、上記ランモードの実行を省略して上記レベルモードを実行するかを制御する実行制御手段とを備えることを特徴とする画像復号装置。
【請求項２】
上記実行制御手段は、上記係数行列における、上記逆スキャン順上最後の非ゼロ係数を復号した時点で、上記符号化データから復号済みの参照可能な情報に基づいて上記制御を行うことを特徴とする請求項１に記載の画像復号装置。
【請求項３】
上記実行制御手段は、上記最後の非ゼロ係数の値および位置の少なくとも一方について所定範囲内にあるか否かを判定し、当該判定結果に応じて上記制御を行うことを特徴とする請求項２に記載の画像復号装置。
【請求項４】
上記実行制御手段は、復号済みの係数の値の出現状況に応じて、上記所定範囲を変更することを特徴とする請求項３に記載の画像復号装置。
【請求項５】
上記実行制御手段は、復号対象ブロックがイントラ予測方式であるか否かに応じて、上記制御を行うことを特徴とする請求項２から４のいずれか１項に記載の画像復号装置。
【請求項６】
上記実行制御手段は、復号対象ブロックが輝度画素ブロックおよび色差画素ブロックのいずれであるかに応じて、上記制御を行うことを特徴とする請求項２から４のいずれか１項に記載の画像復号装置。
【請求項７】
上記実行制御手段は、復号対象ブロックの大きさに応じて、上記制御を行うことを特徴とする請求項２から４のいずれか１項に記載の画像復号装置。
【請求項８】
上記実行制御手段は、上記符号化データに含まれる、上記ランモードの実行を省略して上記レベルモードを実行するか否かを示す制御フラグに従って、上記制御を行うことを特徴とする請求項２から４のいずれか１項に記載の画像復号装置。
【請求項９】
上記実行制御手段は、復号済みの隣接ブロックにおける符号量および係数の数の少なくとも一方について、所定範囲内にあるか否かを判定し、当該判定結果に応じて上記制御を行うことを特徴とする請求項２から７のいずれか１項に記載の画像復号装置。
【請求項１０】
画像データから予測画像を減じた予測残差を、直交変換し、量子化した変換係数からなる係数行列を所定の順序によりスキャンして符号化する符号化処理により符号化データを出力する画像符号化装置において、
次の非ゼロ係数までのゼロ係数の連なりの長さ、および、次の非ゼロ係数の値を符号化するランモードを実行するランモード実行手段と、
係数の値を１つずつ符号化するレベルモードを実行するレベルモード実行手段と、
上記符号化処理において、上記ランモードを実行してから上記レベルモードを実行するか、上記ランモードの実行を省略して上記レベルモードを実行するかを制御する実行制御手段とを備えることを特徴とする画像符号化装置。
【請求項１１】
画像データから予測画像を減じた予測残差を、直交変換し、量子化した変換係数からなる係数行列を所定の順序によりスキャンして符号化することにより生成される符号化データのデータ構造において、
画像データが符号化された符号化データに含まれる、符号化された量子化変換係数を復号および逆スキャンする復号処理により係数行列を再現する画像復号装置であって、次の非ゼロ係数までのゼロ係数の連なりの長さ、および、次の非ゼロ係数の値を復号するランモードと、係数の値を１つずつ復号するレベルモードとを実行可能な画像復号装置に、
上記復号処理において、上記ランモードを実行してから上記レベルモードを実行するか、上記ランモードの実行を省略して上記レベルモードを実行するかを判定させるための情報を含むことを特徴とする符号化データのデータ構造。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は係数行列を復号する画像復号装置、係数行列を符号化する画像符号化装置、および係数行列が符号化された符号化データのデータ構造に関する。
【背景技術】
【０００２】
動画像を効率的に伝送または記録するために、動画像を符号化することによって符号化データを生成する動画像符号化装置、および、当該符号化データを復号することによって復号画像を生成する動画像復号装置が用いられている。
【０００３】
具体的な動画像符号化方式としては、例えば、Ｈ．２６４／ＭＰＥＧ−４．ＡＶＣ（非特許文献１）がよく知られている。他にも、動画像符号化方式の例を挙げれば、ＶＣＥＧ（Video Coding Expert Group）における共同開発用コーデックであるＫＴＡソフトウェアに採用されている方式、および、その後継コーデックであるＴＭｕＣ（Test Model under Consideration）ソフトウェアに採用されている方式（非特許文献２）や、ＨＥＶＣ（High-Efficiency Video Coding）にて提案されている方式などが挙げられる（非特許文献３）。
【０００４】
これらの動画像符号化方式においては、原画像から予測画像を差し引いた予測残差を変換し、さらに量子化した変換係数を符号化して符号化データを生成する。
【０００５】
この予測残差の変換係数は、符号化データの大部分を占める。より具体的には、エンコード設定や、画像の特性にも依存するが、符号化データの５０〜８０％が変換係数に関する情報であるといわれている。このため、変換係数を効率よく符号化することが望まれている。
【０００６】
変換係数は、所定サイズの２次元行列の形式で表される。この行列の各要素を所定の順序がスキャンされて１次元配列に格納されたうえで、変換係数の符号化が行われる。
【０００７】
変換係数の具体的な符号化の方式としては、コンテキスト適応型可変長符号化（CALVC：Context-based Adaptive Variable Length Coding）、および、コンテキスト適応型２値算術符号化（CABAC：Context-based Adaptive Binary Arithmetic Coding）が知られている。
【０００８】
ＣＡＶＬＣでは、各変換係数をジグザグスキャンすることによって１次元のベクトルとした後、各変換係数の値を示すシンタックス、および、連続する０の長さ（ランとも呼ぶ）を表すシンタックス等が符号化される。
【０００９】
ＣＡＢＡＣでは、変換係数を表す各種のシンタックスに対して２値化処理が施され、この２値化処理によって得られた２値データが算術符号化される。ここで、上記各種のシンタックスとしては、変換係数が０であるか否かを示すフラグsig_flag、および、処理順で最後の変換係数であるか否かを示すフラグlast_flagなどが挙げられる。
【００１０】
以下、ＣＡＶＬＣについて、より詳しく説明する。ＣＡＶＬＣでは、各変換係数の絶対値（level）や正負（sign）、絶対値が０の係数（ゼロ係数とも称する）の連なりの長さ（０ラン；zero run）に基づいて可変長符号化を行う。さらにいえば、ＣＡＶＬＣでは、ランとレベルの符号化については、それぞれに対応したＶＬＣ（Variable Length Coding）テーブルを用いる。また、符号化の際には、符号化の状況に応じて、複数のＶＬＣテーブルのうちの１つが、適応的に選択されて符号化が行われる。
【００１１】
ここで、図１７を用いて、ＴＭｕＣおよびＨＥＶＣにおけるＶＬＣによる符号化方式について説明すると次のとおりである。図１７は、ＶＬＣによる符号化方式の処理の流れを示すフローチャートであり、（ａ）は、エンコーダ側の処理について示しており、（ｂ）は、デコーダ側の処理について示している。
【００１２】
図１７の（ａ）に示すように、エンコーダ側の符号化処理では、まず未処理の変換係数が、ランモードループＬＰ１００１にて処理される（Ｓ１００１）。そして、１組の｛ｒｕｎ，ｌｅｖｅｌ｝が符号化される（Ｓ１００２）。ここで、ｒｕｎとは、上述した非ゼロ係数の連なりの長さを示す情報である。また、ｌｅｖｅｌとは、次の非ゼロ係数の絶対値である。
【００１３】
次に、ランモードループＬＰ１００１の終了条件が判定される（Ｓ１００３）。終了判定については後に詳しく説明する。終了条件が満たされていない場合（Ｓ１００３においてＮＯ）、ループ終端（Ｓ１００４）からランモードループＬＰ１００１の先頭に戻って（Ｓ１００１）、さらにランモードの処理が継続される。
【００１４】
一方、終了条件が満たされている場合（Ｓ１００３においてＹＥＳ）、ランモードは終了し、続くレベルモードループＬＰ１００２に入る（Ｓ１００５）。
【００１５】
レベルモードループＬＰ１００２では、残りの変換係数を１個１個、個別に符号化する手順（Ｓ１００６）が繰り返し実行されて（Ｓ１００７からＳ１００５へ）、すべての係数が符号化されることにより符号化処理は終了する。
【００１６】
図１７の（ｂ）に示すように、デコーダ側の復号処理は、大まかな処理手順としては、エンコーダ側の符号化処理の手順と同様、ランモードループＬＰ２００１に続いてレベルモードループＬＰ２００２が実行される。より詳しくいえば、デコーダ側のステップＳ２００１〜Ｓ２００７は、ステップＳ２００２およびＳ２００６において、符号化処理の代わりに復号処理が実行される以外は、既に説明したステップＳ１００１〜Ｓ１００７と同様である。
【００１７】
次に、図１８を用いて、ランモードループの終了条件について説明する。ランモードの終了条件は、変換サイズにより異なるものが提案されている。
【００１８】
変換サイズが、４×４の場合、例えば、（Ａ）符号化した係数の絶対値が２以上であることが終了条件となる。
【００１９】
また、変換サイズが、８×８の場合、例えば、（Ｂ１）ＤＣ係数から数えた係数の位置（スキャン順）が閾値以下であること、または、（Ｂ２）符号化した係数のうち、絶対値が２以上のもののレベルを合計して３以上になることが終了条件となる。
【００２０】
なお、残りの係数の個数が０となる場合も、ランモードは終了して、これによって符号化処理が終了する。
【００２１】
このような終了条件が設定されているのは、次の理由による。まず、変換係数の絶対値の分布は、図１８に示す傾向がある。すなわち、同図に示すように、一般に直交変換による変換係数の絶対値は、低周波成分ほど大きく、高周波成分ほど小さくなる傾向がある。同図中に示す矢印は、この傾向を示している。
【００２２】
言い換えれば、係数の位置が、ＤＣ係数ＣＤＣに近いほど、係数の絶対値が大きい可能性が高い。
【００２３】
このため、符号化対象ブロックの符号化処理を通して、マクロ的にみて、変換係数ができるだけ単調減少傾向となるような順序で処理を実行する。すなわち、大きな値の出現しやすい低周波成分、より具体的にはＤＣ係数から、小さな値が出現しやすい高周波成分へ向けてスキャンを実行する。符号化処理は、スキャンとは逆に、マクロ的にみて、変換係数ができるだけ単調増加傾向となるよう高周波成分から低周波成分にかけて実行する。
【００２４】
このような符号化順序を採用しているため、Ｃ０を、スキャン順上、最後の変換係数（ＬａｓｔＣｏｅｆｆ）とすると（ＣＸは、最後の変換係数からｘ個目の変換係数（ゼロ係数を含む））、ある変換係数Ｃｎと、次の変換係数Ｃｍ（ただし、ｍ＞ｎ＞０）において、ａｂｓ（Ｃｍ）≧ａｂｓ（Ｃｎ）となる可能性が高いといえる（ただし、ａｂｓ（ｘ）は、ｘの絶対値を表す）。
【００２５】
このような傾向を考慮し、上記（Ａ）、（Ｂ１）および（Ｂ２）のように、変換係数の絶対値の値が大きくなる可能性が高い状況を終了条件として設定されている。
【先行技術文献】
【非特許文献】
【００２６】
【非特許文献１】「Recommendation ITU-T H.264」, Telecommunication Standardization Sector of ITU,03/2009
【非特許文献２】「Test Model under Consideration JCTVC-B205 draft007」,Joint Collaborative Team on Video Coding(JCT-VC) of ITU-T SG16 WP3 and ISO/IEC JTC1/SC29/WG11,2nd Mee-ting:Geneva,CH,07/2010
【非特許文献３】「WD1: Working Draft 1 of High-Efficiency Video Coding JCTVC-C403」, Joint Collaborative Team on Video Coding (JCT-VC)of ITU-T SG16 WP3 and ISO/IEC JTC1/SC29/WG113rd Meeting: Guangzhou, CN, 10/2010
【発明の概要】
【発明が解決しようとする課題】
【００２７】
しかしながら、従来のランモードおよびレベルモードによる変換係数の可変長符号化は、次の理由から非効率的なことがある。
【００２８】
すなわち、従来、ランモードの処理が一度は実行されてから、レベルモードが開始される処理手順となっていた。よって、最後から２番目の非ゼロ係数は、必ずランモードで符号化されていた。
【００２９】
このため、最後から２番目の非ゼロ係数の絶対値が１より大きい場合に、ランモードの符号化において、最後から２番目の非ゼロ係数に対して長い符号が割り当てられてしまうことで符号化効率が低下していた。
【００３０】
本発明は、上記の問題点に鑑みてなされたものであり、その目的は、ランモードを実行することによる符号量の増加を防ぎ、復号すべき符号化データの符号量を低減する画像復号装置等を実現することにある。
【課題を解決するための手段】
【００３１】
本発明に係る画像復号装置は、上記課題を解決するために、画像データが符号化された符号化データに含まれる、符号化された量子化変換係数を所定の順序により復号および逆スキャンする復号処理により係数行列を再現する画像復号装置において、次の非ゼロ係数までのゼロ係数の連なりの長さ、および、次の非ゼロ係数の値を復号するランモードを実行するランモード実行手段と、係数の値を１つずつ復号するレベルモードを実行するレベルモード実行手段と、上記復号処理において、上記ランモードを実行してから上記レベルモードを実行するか、上記ランモードの実行を省略して上記レベルモードを実行するかを制御する実行制御手段とを備えることを特徴とする。
【００３２】
上記構成によれば、符号化された量子化変換係数の復号処理において、適宜、上記ランモードを実行してから上記レベルモードを実行するか、上記ランモードの実行を省略して上記レベルモードを実行するかを切り替えることができる。
【００３３】
ここで、ランモードとは、次の非ゼロ係数までのゼロ係数の連なりの長さ、および、次の非ゼロ係数の値を復号するモードのことである。また、レベルモードとは、係数の値を１つずつ復号するモードのことである。
【００３４】
すでに説明したとおり、符号化処理は、一般的には、スキャン順上、最後の非ゼロ係数から逆順のジグザグスキャンの順序で実行される。ここで、最後の非ゼロ係数以後の符号化処理において、次の非ゼロ係数までのゼロ係数の連なりの長さ、および、次の非ゼロ係数の値を符号化するランモードで順次符号化を行ってから、係数の値を１つずつ符号化するレベルモードで順次符号化を行うと、最後から２番目の非ゼロ係数に長いコードが割り当てられることで符号化効率が低下する。
【００３５】
この場合、エンコーダ側では、ランモードによる符号化を省略してレベルモードによる符号化を行うほうが、符号化効率が良い場合がある。
【００３６】
上記構成によれば、エンコーダ側でランモードによる符号化を省略してレベルモードによる符号化が行われている場合、上記切り替え制御により、上記ランモードの実行を省略して上記レベルモードを実行して復号処理を行うことができる。
【００３７】
これにより、ランモードを実行することによる符号量の増加を防ぐとともに、復号すべき符号化データの符号量を低減することができるという効果を奏する。
【００３８】
本発明に係る画像復号装置では、上記実行制御手段は、上記係数行列における、上記逆スキャン順上最後の非ゼロ係数を復号した時点で、上記符号化データから復号済みの参照可能な情報に基づいて上記制御を行うことが好ましい。
【００３９】
上記構成によれば、上記係数行列における、上記逆スキャン順上最後の非ゼロ係数を復号した時点で、上記符号化データから復号済みの参照可能な情報に基づいて上記制御を行う。
【００４０】
上記情報とは、例えば、処理対象ブロックの予測情報、最後の非ゼロ係数の復号情報、その他エンコーダが符号化して伝送するフラグ等が挙げられる。
【００４１】
また、これらの情報を参照することにより、対象ブロックの係数行列に含まれる係数の絶対値が全体的に小さいか、あるいは大きいか、おおまかな傾向を把握することができる。
【００４２】
例えば、上述のとおり、ランモードでは、次の非ゼロ係数の絶対値が比較的大きい（例えば、“１”）場合、次の非ゼロ係数までのゼロ係数の連なりの長さ、および、次の非ゼロ係数の値を符号化する際に、長いビット列が割り当てられてしまうことがあり、このため符号化は符号化効率が悪くなる場合がある。
【００４３】
上記構成によれば、係数の絶対値が全体的に大きい場合、上記ランモードの実行を省略して上記レベルモードを実行するよう制御することができる。
【００４４】
また、係数の絶対値が全体的に小さい場合には、ランモードを実行してからレベルモードを実行するよう制御することもできる。
【００４５】
上記構成によれば、このように、係数の絶対値の大きさ等の最後の非ゼロ係数を復号した時点で、上記符号化データから復号済みの参照可能な情報に応じて、適宜制御を切り替えることができる。
【００４６】
本発明に係る画像復号装置では、上記実行制御手段は、上記最後の非ゼロ係数の値および位置の少なくとも一方について所定範囲内にあるか否かを判定し、当該判定結果に応じて上記制御を行うことが好ましい。
【００４７】
上記構成によれば、係数の絶対値の大きさ等の最後の非ゼロ係数を復号した時点で参照可能な情報のうち、最後の非ゼロ係数の値および位置の少なくとも一方を用いて上記切り替え制御を行う。
【００４８】
具体的には、最後の非ゼロ係数の絶対値の大きさが所定範囲にあるかを判定する。例えば、最後の非ゼロ係数の絶対値の大きさが１より大きいか否かを判定する。
【００４９】
また、最後の非ゼロ係数の位置が所定範囲にあるかを判定する。例えば、最後の非ゼロ係数の位置が、ＤＣ係数の近くかどうかを判定する。
【００５０】
これにより、係数の絶対値が全体的に大きいか否かを判定することができる。すなわち、最後の非ゼロ係数の絶対値の大きさが１より大きい場合、係数の絶対値が全体的に大きい可能性が高い。また、最後の非ゼロ係数の位置が、ＤＣ係数の近くにある場合、係数の絶対値が全体的に大きい可能性が高い。
【００５１】
最後の非ゼロ係数の絶対値の大きさの判定と、位置の判定とを組み合わせることも可能である。
【００５２】
上記構成によれば、このように、係数の絶対値が全体的に大きい可能性が高いと判定できる場合に、ランモードの実行を省略してレベルモードを実行することができる。
【００５３】
本発明に係る画像復号装置では、上記実行制御手段は、復号済みの係数の値の出現状況に応じて、上記所定範囲を変更することが好ましい。
【００５４】
上記構成によれば、判定に用いる範囲を、適宜変更することができる。これにより、より正確に、係数の絶対値が全体的に大きい可能性が高いか否かを判定することができる。
【００５５】
本発明に係る画像復号装置では、上記実行制御手段は、復号対象ブロックがイントラ予測方式であるか否かに応じて、上記制御を行うことが好ましい。
【００５６】
上記構成によれば、復号対象ブロックがイントラ予測方式であるか否かに応じて、上記制御を行う。復号対象ブロックがイントラ予測方式であるか否かの判定には、例えば、復号対象ブロックがイントラ予測方式であるか否かを示す情報を用いることができる。
【００５７】
復号対象ブロックがイントラ予測方式であるとき、非ゼロ係数の数が多くなる傾向がある。復号対象ブロックがイントラ予測方式であるか否かを判定することで、より正確に、係数の絶対値が全体的に大きい可能性が高いか否かを判定することができる。
【００５８】
本発明に係る画像復号装置では、上記実行制御手段は、復号対象ブロックが輝度画素ブロックと色差画素ブロックのいずれであるかに応じて、上記制御を行うことが好ましい。
【００５９】
上記構成によれば、復号対象ブロックが輝度画素ブロックおよび色差画素ブロックのいずれであるかに応じて、上記制御を行う。
【００６０】
復号対象ブロックが輝度画素ブロックおよび色差画素ブロックのいずれであるかを判定することで、係数の絶対値が全体的に大きい傾向があるか否かを判定することができる。
【００６１】
よって、係数の絶対値が全体的に大きい可能性が高いか否かに応じて上記制御を行うことができる。
【００６２】
本発明に係る画像復号装置では、上記実行制御手段は、復号対象ブロックの大きさに応じて、上記制御を行うことが好ましい。
【００６３】
上記構成によれば、復号対象ブロックの大きさに応じて、上記制御を行う。復号対象ブロックの大きさを判定することで、係数の絶対値が全体的に大きい傾向があるか否かを判定することができる。
【００６４】
よって、係数の絶対値が全体的に大きい可能性が高いか否かに応じて上記制御を行うことができる。
【００６５】
本発明に係る画像復号装置では、上記実行制御手段は、上記符号化データに含まれる、上記ランモードの実行を省略して上記レベルモードを実行するか否かを示す制御フラグに従って、上記制御を行うことが好ましい。
【００６６】
上記構成によれば、上記符号化データに含まれる制御フラグ従って上記制御を行う。これにより、係数の絶対値が全体的に大きい可能性が高いか否かを判定する処理を省略することができる。制御フラグは、例えば、エンコーダ側において符号化データに含められて供給される。
【００６７】
本発明に係る画像復号装置では、上記実行制御手段は、復号済みの隣接ブロックにおける符号量および係数の数の少なくとも一方について、所定範囲内にあるか否かを判定し、当該判定結果に応じて上記制御を行うことが好ましい。
【００６８】
上記構成によれば、復号済みの隣接ブロックにおける符号量および係数の数の少なくとも一方について、所定範囲内にあるか否かを判定し、当該判定結果に応じて上記制御を行う。
【００６９】
復号済みの隣接ブロックにおける符号量や係数の数が大きければ、復号対象ブロックにおいて、係数の絶対値が全体的に大きい場合がある。
【００７０】
上記構成によれば、より正確に、係数の絶対値が全体的に大きい可能性が高いか否かを判定することができる。
【００７１】
本発明に係る画像符号化装置は、上記課題を解決するために、画像データから予測画像を減じた予測残差を、直交変換し、量子化した変換係数からなる係数行列を所定の順序によりスキャンして符号化する符号化処理により符号化データを出力する画像符号化装置において、次の非ゼロ係数までのゼロ係数の連なりの長さ、および、次の非ゼロ係数の値を符号化するランモードを実行するランモード実行手段と、係数の値を１つずつ符号化するレベルモードを実行するレベルモード実行手段と、上記符号化処理において、上記ランモードを実行してから上記レベルモードを実行するか、上記ランモードの実行を省略して上記レベルモードを実行するかを制御する実行制御手段とを備えることを特徴とする。
【００７２】
本発明に係る符号化データのデータ構造は、上記課題を解決するために、画像データから予測画像を減じた予測残差を、直交変換し、量子化した変換係数からなる係数行列を所定の順序によりスキャンして符号化することにより生成される符号化データのデータ構造において、画像データが符号化された符号化データに含まれる、符号化された量子化変換係数を復号および逆スキャンする復号処理により係数行列を再現する画像復号装置であって、次の非ゼロ係数までのゼロ係数の連なりの長さ、および、次の非ゼロ係数の値を復号するランモードと、係数の値を１つずつ復号するレベルモードとを実行可能な画像復号装置に、上記復号処理において、上記ランモードを実行してから上記レベルモードを実行するか、上記ランモードの実行を省略して上記レベルモードを実行するかを判定させるための情報を含むことを特徴とする。
【００７３】
上記のように構成された画像符号化装置または符号化データのデータ構造によれば、本発明に係る画像復号装置と同様の効果を奏する。
【発明の効果】
【００７４】
本発明に係る画像復号装置は、次の非ゼロ係数までのゼロ係数の連なりの長さ、および、次の非ゼロ係数の値を復号するランモードを実行するランモード実行手段と、係数の値を１つずつ復号するレベルモードを実行するレベルモード実行手段と、上記復号処理において、上記ランモードを実行してから上記レベルモードを実行するか、上記ランモードの実行を省略して上記レベルモードを実行するかを制御する実行制御手段とを備える構成である。
【００７５】
本発明に係る画像符号化装置は、次の非ゼロ係数までのゼロ係数の連なりの長さ、および、次の非ゼロ係数の値を符号化するランモードを実行するランモード実行手段と、係数の値を１つずつ符号化するレベルモードを実行するレベルモード実行手段と、上記符号化処理において、上記ランモードを実行してから上記レベルモードを実行するか、上記ランモードの実行を省略して上記レベルモードを実行するかを制御する実行制御手段とを備える構成である。
【００７６】
本発明に係る符号化データのデータ構造は、画像データが符号化された符号化データに含まれる、符号化された量子化変換係数を復号および逆スキャンする復号処理により係数行列を再現する画像復号装置であって、次の非ゼロ係数までのゼロ係数の連なりの長さ、および、次の非ゼロ係数の値を復号するランモードと、係数の値を１つずつ復号するレベルモードとを実行可能な画像復号装置に、上記復号処理において、上記ランモードを実行してから上記レベルモードを実行するか、上記ランモードの実行を省略して上記レベルモードを実行するかを判定させるための情報を含むデータ構造である。
【００７７】
よって、ランモードを実行することによる符号量の増加を回避し、処理すべき符号化データの符号量を低減することができるという効果を奏する。
【図面の簡単な説明】
【００７８】
【図１】本発明の一実施形態に係る動画像復号装置が備えるＴＴ情報復号部の構成例について示す機能ブロック図である。
【図２】上記動画像復号装置の概略的構成について示した機能ブロック図である。
【図３】本発明の一実施形態に係る動画像符号化装置によって生成され、上記動画像復号装置によって復号される符号化データのデータ構成を示す図であり、（ａ）〜（ｄ）は、それぞれ、ピクチャレイヤ、スライスレイヤ、ツリーブロックレイヤ、およびＣＵレイヤを示す図である。
【図４】係数行列のスキャンについて説明する図であり、（ａ）は、８×８の係数行列のスキャン例を示しており、（ｂ）は、スキャン結果により得られる１次元配列について示している。
【図５】上記ＴＴ情報復号部が備える適応的残余係数復号部における適応的残余係数復号処理の流れについて例示したフローチャートである。
【図６】本発明の一実施形態に係る動画像符号化装置の構成例について示す機能ブロック図である。
【図７】上記動画像符号化装置が備える可変長符号化部の構成例について示すブロック図である。
【図８】上記可変長符号化部に含まれる適応的残余係数符号化部における適応的残余係数符号化処理の流れについて例示したフローチャートである。
【図９】上記可変長符号化部が備えるＴＴ情報符号化部における係数符号化処理のシンタックスの一例について示すシンタックステーブルである。
【図１０】４×４の係数行列の符号化処理において、スキャン順序上、４番目の位置に、最後の非ゼロ係数がある状況について示す図である。
【図１１】図１０に示す状況下で参照されるＶＬＣテーブルの構成例を示す図であり、（ａ）は、レベルワン−ラン符号化テーブルを示しており、（ｂ）は、レベル符号化テーブルを示している。
【図１２】図１０に示す状況下で参照されるＶＬＣテーブルの他の構成例を示す図であり、（ａ）は、レベルワン−ラン符号化テーブルを示しており、（ｂ）は、レベル符号化テーブルを示している。
【図１３】本発明の一実施形態に係る動画像復号装置が備えるＴＴ情報復号部の他の構成例について示す機能ブロック図である。
【図１４】本発明の一実施形態に係る動画像符号化装置が備える可変長符号化部の構成例について示すブロック図である。
【図１５】上記動画像復号装置側のＴＴ情報符号化部における符号化処理および上記動画像復号装置側のＴＴ情報復号部における復号処理の各々の流れについて示すフローチャートであり、（ａ）は、動画像符号化装置側の処理について示しており、（ｂ）は、動画像復号装置側の処理について示している。
【図１６】係数のスキャン順序の変更例を示す図であり、（ａ）は、１６×１６の係数行列を示しており、（ｂ）は、当該１６×１６の係数行列を分割して得られる４×４の係数ブロックを示しており、また、（ｃ）は、当該１６×１６の係数行列を、４×４の係数ブロックに分割してスキャン順序を変更する例を示している。
【図１７】従来のＶＬＣによる符号化方式について示すフローチャートであり、（ａ）は、エンコーダ側の処理について示しており、（ｂ）は、デコーダ側の処理について示している。
【図１８】変換係数の絶対値の分布傾向を示す図である。
【発明を実施するための形態】
【００７９】
〔１〕実施形態１
本発明の一実施形態について図１〜図１２を参照して説明する。まず、図２を参照しながら、動画像復号装置（画像復号装置）１および動画像符号化装置（画像符号化装置）２の概要について説明する。図２は、動画像復号装置１の概略的構成を示す機能ブロック図である。
【００８０】
図２に示す動画像復号装置１および動画像符号化装置２は、Ｈ．２６４／ＭＰＥＧ−４  ＡＶＣ規格に採用されている技術、ＶＣＥＧ（Video Coding Expert Group）における共同開発用コーデックであるＫＴＡソフトウェアに採用されている技術、および、その後継コーデックであるＴＭｕＣ（Test Model under Consideration）ソフトウェアに採用されている技術、ならびに、ＨＥＶＣ（High-Efficiency Video Coding）にて提案されている技術を実装している。
【００８１】
動画像復号装置１には、動画像符号化装置２が動画像を符号化した符号化データ＃１が入力される。動画像復号装置１は、入力された符号化データ＃１を復号して動画像＃２を外部に出力する。動画像復号装置１の詳細な説明に先立ち、符号化データ＃１の構成を以下に説明する。
【００８２】
〔符号化データの構成〕
図３を用いて、動画像符号化装置２によって生成され、動画像復号装置１によって復号される符号化データ＃１の構成例について説明する。符号化データ＃１は、例示的に、シーケンス、およびシーケンスを構成する複数のピクチャを含む。
【００８３】
符号化データ＃１におけるピクチャレイヤ以下の階層の構造を図３に示す。図３の（ａ）〜（ｄ）は、それぞれ、ピクチャＰＩＣＴを規定するピクチャレイヤ、スライスＳを規定するスライスレイヤ、ツリーブロック（Tree block）ＴＢＬＫを規定するツリーブロックレイヤ、ツリーブロックＴＢＬＫに含まれる符号化単位（Coding Unit；ＣＵ）を規定するＣＵレイヤを示す図である。
【００８４】
（ピクチャレイヤ）
ピクチャレイヤでは、処理対象のピクチャＰＩＣＴ（以下、対象ピクチャとも称する）を復号するために動画像復号装置１が参照するデータの集合が規定されている。ピクチャＰＩＣＴは、図３の（ａ）に示すように、ピクチャヘッダＰＨ、及び、スライスＳ1〜ＳNSを含んでいる（ＮＳはピクチャＰＩＣＴに含まれるスライスの総数）。
【００８５】
なお、以下、スライスＳ1〜ＳNSのそれぞれを区別する必要が無い場合、符号の添え字を省略して記述することがある。また、以下に説明する符号化データ＃１に含まれるデータであって、添え字を付している他のデータについても同様である。
【００８６】
ピクチャヘッダＰＨには、対象ピクチャの復号方法を決定するために動画像復号装置１が参照する符号化パラメータ群が含まれている。例えば、動画像符号化装置２が符号化の際に用いた可変長符号化のモードを示す符号化モード情報（entropy_coding_mode_flag）は、ピクチャヘッダＰＨに含まれる符号化パラメータの一例である。
【００８７】
entropy_coding_mode_flagが０の場合、当該ピクチャＰＩＣＴは、ＣＡＶＬＣ（Context-based Adaptive Variable Length Coding）によって符号化されている。また、entropy_coding_mode_flagが１である場合、当該ピクチャＰＩＣＴは、ＣＡＢＡＣ（Context-based Adaptive Binary Arithmetic Coding）によって符号化されている。
【００８８】
なお、ピクチャヘッダＰＨは、ピクチャー・パラメーター・セット（ＰＰＳ：Picture Parameter Set）とも称される。
【００８９】
（スライスレイヤ）
スライスレイヤでは、処理対象のスライスＳ（対象スライスとも称する）を復号するために動画像復号装置１が参照するデータの集合が規定されている。スライスＳは、図３の（ｂ）に示すように、スライスヘッダＳＨ、及び、ツリーブロックＴＢＬＫ1〜ＴＢＬＫNC（ＮＣはスライスＳに含まれるツリーブロックの総数）のシーケンスを含んでいる。
【００９０】
スライスヘッダＳＨには、対象スライスの復号方法を決定するために動画像復号装置１が参照する符号化パラメータ群が含まれる。スライスタイプを指定するスライスタイプ指定情報（slice_type）は、スライスヘッダＳＨに含まれる符号化パラメータの一例である。
【００９１】
スライスタイプ指定情報により指定可能なスライスタイプとしては、（１）符号化の際にイントラ予測のみを用いるＩスライス、（２）符号化の際に単方向予測、又は、イントラ予測を用いるＰスライス、（３）符号化の際に単方向予測、双方向予測、又は、イントラ予測を用いるＢスライスなどが挙げられる。
【００９２】
また、スライスヘッダＳＨには、動画像復号装置１の備えるループフィルタ（不図示）によって参照されるフィルタパラメータが含まれていてもよい。
【００９３】
（ツリーブロックレイヤ）
ツリーブロックレイヤでは、処理対象のツリーブロックＴＢＬＫ（以下、対象ツリーブロックとも称する）を復号するために動画像復号装置１が参照するデータの集合が規定されている。
【００９４】
ツリーブロックＴＢＬＫは、ツリーブロックヘッダＴＢＬＫＨと、符号化単位情報ＣＵ１〜ＣＵＮＬ（ＮＬはツリーブロックＴＢＬＫに含まれる符号化単位情報の総数）とを含む。ここで、まず、ツリーブロックＴＢＬＫと、符号化単位情報ＣＵとの関係について説明すると次のとおりである。
【００９５】
ツリーブロックＴＢＬＫは、イントラ予測またはインター予測、および、変換の各処理ためのブロックサイズを特定するためのパーティションに分割される。
【００９６】
ツリーブロックＴＢＬＫの上記パーティションは、再帰的な４分木分割により分割されている。この再帰的な４分木分割により得られる木構造のことを以下、符号化ツリー（coding tree）と称する。
【００９７】
以下、符号化ツリーの末端のノードであるリーフ（leaf）に対応するパーティションを、符号化ノード（coding node）として参照する。また、符号化ノードは、符号化処理の基本的な単位となるため、以下、符号化ノードのことを、符号化単位（ＣＵ）とも称する。
【００９８】
つまり、符号化単位情報（以下、ＣＵ情報と称する）ＣＵ１〜ＣＵＮＬは、ツリーブロックＴＢＬＫを再帰的に４分木分割して得られる各符号化ノード（符号化単位）に対応する情報である。
【００９９】
また、符号化ツリーのルート（root）は、ツリーブロックＴＢＬＫに対応付けられる。換言すれば、ツリーブロックＴＢＬＫは、複数の符号化ノードを再帰的に含む４分木分割の木構造の最上位ノードに対応付けられる。
【０１００】
なお、各符号化ノードのサイズは、当該符号化ノードが直接に属する符号化ノード（すなわち、当該符号化ノードの１階層上位のノードのパーティション）のサイズの縦横とも半分である。
【０１０１】
また、各符号化ノードのとり得るサイズは、符号化データ＃１のシーケンスパラメータセットＳＰＳに含まれる、符号化ノードのサイズ指定情報および最大階層深度（maximum hierarchical depth）に依存する。例えば、ツリーブロックＴＢＬＫのサイズが６４×６４画素であって、最大階層深度が３である場合には、当該ツリーブロックＴＢＬＫ以下の階層における符号化ノードは、３種類のサイズ、すなわち、６４×６４画素、３２×３２画素、および１６×１６画素の何れかをとり得る。
【０１０２】
（ツリーブロックヘッダ）
ツリーブロックヘッダＴＢＬＫＨには、対象ツリーブロックの復号方法を決定するために動画像復号装置１が参照する符号化パラメータが含まれる。具体的には、図３の（ｃ）に示すように、対象ツリーブロックの各ＣＵへの分割パターンを指定するツリーブロック分割情報ＳＰ＿ＴＢＬＫ、および、量子化ステップの大きさを指定する量子化パラメータ差分Δｑｐ（qp_delta）が含まれる。
【０１０３】
ツリーブロック分割情報ＳＰ＿ＴＢＬＫは、ツリーブロックを分割するための符号化ツリーを表す情報であり、具体的には、対象ツリーブロックに含まれる各ＣＵの形状、サイズ、および、対象ツリーブロック内での位置を指定する情報である。
【０１０４】
なお、ツリーブロック分割情報ＳＰ＿ＴＢＬＫは、ＣＵの形状やサイズを明示的に含んでいなくてもよい。例えばツリーブロック分割情報ＳＰ＿ＴＢＬＫは、対象ツリーブロック全体またはツリーブロックの部分領域を四分割するか否かを示すフラグ(split_coding_unit_flag)の集合であってもよい。その場合、ツリーブロックの形状やサイズを併用することで各ＣＵの形状やサイズを特定できる。
【０１０５】
また、量子化パラメータ差分Δｑｐは、対象ツリーブロックにおける量子化パラメータｑｐと、当該対象ツリーブロックの直前に符号化されたツリーブロックにおける量子化パラメータｑｐ’との差分ｑｐ−ｑｐ’である。
【０１０６】
（ＣＵレイヤ）
ＣＵレイヤでは、処理対象のＣＵ（以下、対象ＣＵとも称する）を復号するために動画像復号装置１が参照するデータの集合が規定されている。
【０１０７】
ここで、ＣＵ情報ＣＵに含まれるデータの具体的な内容の説明をする前に、ＣＵに含まれるデータの木構造について説明する。符号化ノードは、予測ツリー（prediction tree；ＰＴ）および変換ツリー（transform tree；ＴＴ）のルートのノードとなる。予測ツリーおよび変換ツリーについて説明すると次のとおりである。
【０１０８】
予測ツリーにおいては、符号化ノードが１または複数の予測ブロックに分割され、各予測ブロックの位置とサイズとが規定される。別の表現でいえば、予測ブロックは、符号化ノードを構成する１または複数の重複しない領域である。また、予測ツリーは、上述の分割により得られた１または複数の予測ブロックを含む。
【０１０９】
予測処理は、この予測ブロックごとに行われる。以下、予測の単位である予測ブロックのことを、予測単位（prediction unit；ＰＵ）とも称する。
【０１１０】
予測ツリーにおける分割の種類は、大まかにいえば、イントラ予測の場合と、インター予測の場合との２つがある。
【０１１１】
イントラ予測の場合、分割方法は、２Ｎ×２Ｎ（符号化ノードと同一サイズ）と、Ｎ×Ｎとがある。
【０１１２】
また、インター予測の場合、分割方法は、２Ｎ×２Ｎ（符号化ノードと同一サイズ）、２Ｎ×Ｎ、Ｎ×２Ｎ、および、Ｎ×Ｎなどがある。
【０１１３】
また、変換ツリーにおいては、符号化ノードが１または複数の変換ブロックに分割され、各変換ブロックの位置とサイズとが規定される。別の表現でいえば、変換ブロックは、符号化ノードを構成する１または複数の重複しない領域のことである。また、変換ツリーは、上述の分割より得られた１または複数の変換ブロックを含む。
【０１１４】
変換ツリーにおける分割には、符号化ノードと同一のサイズの領域を変換ブロックとして割り付けるものと、上述したツリーブロックの分割と同様、再帰的な４分木分割によるものがある。
【０１１５】
変換処理は、この変換ブロックごとに行われる。以下、変換の単位である変換ブロックのことを、変換単位（transform unit；ＴＵ）とも称する。
【０１１６】
（ＣＵ情報のデータ構造）
続いて、図３の（ｄ）を参照しながらＣＵ情報ＣＵに含まれるデータの具体的な内容について説明する。図３の（ｄ）に示すように、ＣＵ情報ＣＵは、具体的には、スキップフラグＳＫＩＰ、ＰＴ情報ＰＴＩ、および、ＴＴ情報ＴＴＩを含む。
【０１１７】
スキップフラグＳＫＩＰは、対象のＰＵについて、スキップモードが適用されているか否かを示すフラグであり、スキップフラグＳＫＩＰの値が１の場合、すなわち、対象ＣＵにスキップモードが適用されている場合、そのＣＵ情報ＣＵにおけるＰＴ情報ＰＴＩ、および、ＴＴ情報ＴＴＩは省略される。なお、スキップフラグＳＫＩＰは、Ｉスライスでは省略される。
【０１１８】
ＰＴ情報ＰＴＩは、ＣＵに含まれるＰＴに関する情報である。言い換えれば、ＰＴ情報ＰＴＩは、ＰＴに含まれる１または複数のＰＵそれぞれに関する情報の集合であり、動画像復号装置１により予測画像を生成する際に参照される。ＰＴ情報ＰＴＩは、図３の（ｄ）に示すように、予測タイプ情報ＰＴｙｐｅ、および、予測情報ＰＩｎｆｏを含んでいる。
【０１１９】
予測タイプ情報ＰＴｙｐｅは、対象ＰＵについての予測画像生成方法として、イントラ予測を用いるのか、または、インター予測を用いるのかを指定する情報である。
【０１２０】
予測情報ＰＩｎｆｏは、予測タイプ情報ＰＴｙｐｅが何れの予測方法を指定するのかに応じて、イントラ予測情報、または、インター予測情報より構成される。以下では、イントラ予測が適用されるＰＵをイントラＰＵとも呼称し、インター予測が適用されるＰＵをインターＰＵとも呼称する。
【０１２１】
また、予測情報ＰＩｎｆｏは、対象ＰＵの形状、サイズ、および、位置を指定する情報が含まれる。上述のとおり予測画像の生成は、ＰＵを単位として行われる。予測情報ＰＩｎｆｏの詳細については後述する。
【０１２２】
ＴＴ情報ＴＴＩは、ＣＵに含まれるＴＴに関する情報である。言い換えれば、ＴＴ情報ＴＴＩは、ＴＴに含まれる１または複数のＴＵそれぞれに関する情報の集合であり、動画像復号装置１により残差データを復号する際に参照される。なお、以下、ＴＵのことをブロックと称することもある。
【０１２３】
ＴＴ情報ＴＴＩは、図３の（ｄ）に示すように、対象ＣＵの各変換ブロックへの分割パターンを指定するＴＴ分割情報ＳＰ＿ＴＴ、および、量子化予測残差ＱＤ1〜ＱＤNT（ＮＴは、対象ＣＵに含まれるブロックの総数）を含んでいる。
【０１２４】
ＴＴ分割情報ＳＰ＿ＴＴは、具体的には、対象ＣＵに含まれる各ＴＵの形状、サイズ、および、対象ＣＵ内での位置を決定するための情報である。例えば、ＴＴ分割情報ＳＰ＿ＴＴは、対象となるノードの分割を行うのか否かを示す情報（split_transform_unit_flag）と、その分割の深度を示す情報（trafoDepth）とから実現することができる。
【０１２５】
また、例えば、ＣＵのサイズが、６４×６４の場合、分割により得られる各ＴＵは、３２×３２画素から２×２画素までのサイズをとり得る。
【０１２６】
各量子化予測残差ＱＤは、動画像符号化装置２が以下の処理１〜３を、処理対象のブロックである対象ブロックに施すことによって生成した符号化データである。
【０１２７】
処理１：符号化対象画像から予測画像を減算した予測残差をＤＣＴ変換（Discrete Cosine Transform）する；
処理２：処理１にて得られた変換係数を量子化する；
処理３：処理２にて量子化された変換係数を可変長符号化する；
なお、上述した量子化パラメータｑｐは、動画像符号化装置２が変換係数を量子化する際に用いた量子化ステップＱＰの大きさを表す（ＱＰ＝２qp/6）。
【０１２８】
（予測情報ＰＩｎｆｏ）
上述のとおり、予測情報ＰＩｎｆｏには、インター予測情報およびイントラ予測情報の２種類がある。
【０１２９】
インター予測情報には、動画像復号装置１が、インター予測によってインター予測画像を生成する際に参照される符号化パラメータが含まれる。より具体的には、インター予測情報には、対象ＣＵの各インターＰＵへの分割パターンを指定するインターＰＵ分割情報、および、各インターＰＵについてのインター予測パラメータが含まれる。
【０１３０】
インター予測パラメータには、参照画像インデックスと、推定動きベクトルインデックスと、動きベクトル残差とが含まれる。
【０１３１】
一方、イントラ予測情報には、動画像復号装置１が、イントラ予測によってイントラ予測画像を生成する際に参照される符号化パラメータが含まれる。より具体的には、イントラ予測情報には、対象ＣＵの各イントラＰＵへの分割パターンを指定するイントラＰＵ分割情報、および、各イントラＰＵについてのイントラ予測パラメータが含まれる。イントラ予測パラメータは、各イントラＰＵについてのイントラ予測方法（予測モード）を指定するためのパラメータである。
【０１３２】
〔動画像復号装置〕
以下では、本実施形態に係る動画像復号装置１の構成について、図１〜図５を参照して説明する。
【０１３３】
（動画像復号装置の概要）
動画像復号装置１は、ＰＵ毎に予測画像を生成し、生成された予測画像と、符号化データ＃１から復号された予測残差とを加算することによって復号画像＃２を生成し、生成された復号画像＃２を外部に出力する。
【０１３４】
ここで、予測画像の生成は、符号化データ＃１を復号することによって得られる符号化パラメータを参照して行われる。符号化パラメータとは、予測画像を生成するために参照されるパラメータのことである。符号化パラメータには、画面間予測において参照される動きベクトルや画面内予測において参照される予測モードなどの予測パラメータに加えて、ＰＵのサイズや形状、ブロックのサイズや形状、および、原画像と予測画像との残差データなどが含まれる。以下では、符号化パラメータに含まれる情報のうち、上記残差データを除く全ての情報の集合を、サイド情報と呼ぶ。
【０１３５】
また、以下では、上記ＰＵおよびＴＵが、ＣＵと同じサイズである場合を例に挙げ説明を行う。しかしながら、これに限定されるものではなく、ＰＵおよびＴＵがＣＵよりも小さい単位である場合に対しても適用することができる。
【０１３６】
また、以下では、復号の対象となるピクチャ（フレーム）、スライス、ツリーブロック、ブロック、および、ＰＵをそれぞれ、対象ピクチャ、対象スライス、対象ツリーブロック、対象ブロック、および、対象ＰＵと呼ぶことにする。
【０１３７】
なお、ツリーブロックのサイズは、例えば６４×６４画素であり、ＰＵのサイズは、例えば、６４×６４画素、３２×３２画素、１６×１６画素、８×８画素や４×４画素などである。しかしながら、これらのサイズは、単なる例示であり、ツリーブロックおよびＰＵのサイズは以上に示したサイズ以外のサイズであってもよい。
【０１３８】
（動画像復号装置の構成）
再び、図２を参照して、動画像復号装置１の概略的構成について説明すると次のとおりである。図２は、動画像復号装置１の概略的構成について示した機能ブロック図である。
【０１３９】
図２に示すように動画像復号装置１は、可変長符号逆多重化部１１、ＴＴ情報復号部１２、逆量子化・逆変換部１３、予測画像生成部１４、加算器１５およびフレームメモリ１６を備えている。
【０１４０】
［可変長符号逆多重化部］
可変長符号逆多重化部１１は、動画像復号装置１に入力された１フレーム分の符号化データ＃１を、逆多重化することで、図３に示した階層構造に含まれる各種情報に分離する。例えば、可変長符号逆多重化部１１は、各種ヘッダに含まれる情報を参照して、符号化データ＃１を、スライス、ツリーブロックに順次分離する。
【０１４１】
ここで、各種ヘッダには、（１）対象ピクチャのスライスへの分割方法についての情報、および（２）対象スライスに属するツリーブロックのサイズ、形状および対象スライス内での位置についての情報が含まれる。
【０１４２】
そして、可変長符号逆多重化部１１は、ツリーブロックヘッダＴＢＬＫＨに含まれるツリーブロック分割情報ＳＰ＿ＴＢＬＫを参照して、対象ツリーブロックを、ＣＵに分割する。また、可変長符号逆多重化部１１は、対象ＣＵについてＴＴ情報ＴＴＩ、およびＰＴ情報ＰＴＩを取得する。
【０１４３】
可変長符号逆多重化部１１は、対象ＣＵについて得られたＴＴ情報ＴＴＩをＴＴ情報復号部１２に供給する。また、可変長符号逆多重化部１１は、対象ＣＵについて得られたＰＴ情報ＰＴＩを予測画像生成部１４に供給する。
【０１４４】
［ＴＴ情報復号部］
ＴＴ情報復号部１２は、可変長符号逆多重化部１１から供給されるＴＴ情報ＴＴＩの復号を行う。
【０１４５】
具体的には、ＴＴ情報復号部１２は、まず、可変長符号逆多重化部１１から供給される、対象ＣＵについてのＴＴ情報ＴＴＩからＴＴ分割情報ＳＰ＿ＴＴを復号する。
【０１４６】
また、ＴＴ情報復号部１２は、復号したＴＴ分割情報ＳＰ＿ＴＴに従って、対象ＣＵを１または複数のブロックへと分割する。
【０１４７】
そして、ＴＴ情報復号部１２は、各ブロックについて、ＴＴ情報ＴＴＩから量子化予測残差ＱＤを復号する。ここで、各ブロックについての量子化予測残差ＱＤは、量子化された変換係数が２次元の行列に配列された形式で表現できる。以下、量子化された変換係数の２次元の行列表現のことを係数行列と称する。なお、ＴＴ情報復号部１２がＴＴ情報ＴＴＩから係数行列を得るための構成の詳細については後述する。
【０１４８】
ＴＴ情報復号部１２は、復号したＴＴ分割情報ＳＰ＿ＴＴ’および量子化予測残差ＱＤ’を含む復号済みＴＴ情報ＴＴＩ’を逆量子化・逆変換部１３に供給する。
【０１４９】
［逆量子化・逆変換部］
逆量子化・逆変換部１３は、ＴＴ情報復号部１２から供給される復号済みＴＴ情報ＴＴＩ’に基づいて対象ＣＵについて、ブロックごとに、量子化予測残差の逆量子化・逆変換を行う。逆量子化・逆変換部１３は、復号済みＴＴ情報ＴＴＩ’に含まれる量子化予測残差ＱＤ’を逆量子化および逆ＤＣＴ変換（Inverse Discrete Cosine Transform）することによって、各対象ＰＵについて、画素毎の予測残差Ｄを復元する。逆量子化・逆変換部１３は、復元した予測残差Ｄを加算器１５に供給する。
【０１５０】
［予測画像生成部］
予測画像生成部１４は、対象ＣＵに含まれる各ＰＵについて、当該ＰＵの周辺の復号済み画像である局所復号画像Ｐ’を参照して、イントラ予測またはインター予測により予測画像Ｐｒｅｄを生成する。
【０１５１】
予測画像生成部１４は、具体的には、次のように動作する。まず、予測画像生成部１４は、可変長符号逆多重化部１１から供給される、対象ＣＵについてのＰＴ情報ＰＴＩを復号する。続いて、予測画像生成部１４は、復号したＰＴ情報ＰＴＩに従って、対象ＣＵの各ＰＵへの分割パターンを決定する。さらに、予測画像生成部１４は、復号したＰＴ情報ＰＴＩに従って、各ＰＵの予測モードを選択して、選択した各予測モードを各ＰＵに割り付ける。
【０１５２】
そして、予測画像生成部１４は、各対象ＰＵについて、選択した予測モードと該ＰＵの周辺の局所復号画像Ｐ’の画素値とを参照して、予測画像Ｐｒｅｄを生成する。予測画像生成部１４は、対象ＣＵについて生成した予測画像Ｐｒｅｄを加算器１５に供給する。
【０１５３】
［加算器］
加算器１５は、予測画像生成部１４より供給される予測画像Ｐｒｅｄと、逆量子化・逆変換部１３より供給される予測残差Ｄとを加算することによって、対象ＣＵについての復号画像Ｐを生成する。
【０１５４】
［フレームメモリ］
フレームメモリ１６には、復号された復号画像Ｐが順次記録される。フレームメモリ１６には、対象ツリーブロックを復号する時点において、当該対象ツリーブロックよりも先に復号された全てのツリーブロック（例えば、ラスタスキャン順で先行する全てのツリーブロック）に対応する復号画像が記録されている。
【０１５５】
なお、動画像復号装置１において、画像内の全てのツリーブロックに対して、ツリーブロック単位の復号画像生成処理が終わった時点で、動画像復号装置１に入力された１フレーム分の符号化データ＃１に対応する復号画像＃２が外部に出力される。
【０１５６】
（係数のスキャンについて）
ここで、ＴＴ情報復号部１２の構成の詳細について説明する前に、まず、図４を用いて、量子化された変換係数のスキャンの例について説明する。図４は、量子化された変換係数のスキャンについて例示する図である。図４の（ａ）は、８×８の係数行列ＭＸ１０のスキャン例を示しており、同図の（ｂ）は、スキャン結果により得られる１次元配列ＡＲＲ１０について示している。
【０１５７】
上述のとおり、量子化された変換係数（以下、単に係数と称する）は、例えば、図４の（ａ）に示すような８×８の係数行列ＭＸ１０の形式で表現することができる。また、図４の（ａ）に示す数字は、スキャン順序である。
【０１５８】
係数の符号化においては、まず、図４の（ａ）に示すスキャン順序（点線矢印の順序でもある）で、係数行列ＭＸ１０がスキャンされる。スキャンとは、係数行列ＭＸ１０における座標を、１次元のスキャン順インデックスに変換する処理である。同図の（ａ）に示す数字の順序で係数がスキャンされることにより、係数が１次元配列ＡＲＲ１０に格納される。
【０１５９】
より具体的には、図４の（ａ）に示す係数行列ＭＸ１０の左上の“１”からスキャンが開始される。つまり、１番目にスキャンされるのは、ＤＣ成分の係数（以下、ＤＣ係数と称する）ＤＣである。
【０１６０】
続いて、ＤＣ係数ＤＣの右隣の“２”の位置からジグザグに係数がスキャンされる。そして、順に、係数が、“６４”の位置にある係数行列の最後の係数ＦＩＮまでスキャンされる。
【０１６１】
なお、ＤＣ係数ＤＣは、係数行列において座標（０，０）である。また、スキャン順インデックスは、図４の（ａ）に示す数字から１を引いたものである。ＤＣ係数ＤＣのスキャン順インデックスは、０であり、係数ＦＩＮのスキャン順インデックスは、６３である。
【０１６２】
これにより、図４の（ｂ）に示す１次元配列ＡＲＲ１０に、ＤＣ係数ＤＣから、係数ＦＩＮまでが格納される。
【０１６３】
ところで、高周波成分の係数の値は、ゼロまたはゼロに近くなる傾向がある一方で、低周波成分の係数の値は、ゼロでないまたは値が大きい可能性が高いという特性がある。このためジグザグスキャンは、低周波成分の係数を早くスキャンするスキャン順序となっている。
【０１６４】
“６４”までスキャンが完了し、すべての係数が１次元配列ＡＲＲ１０に格納されると、その後、符号化処理が開始される。
【０１６５】
符号化処理は、１次元配列ＡＲＲ１０のインデックスが大きい要素から開始される。符号化処理は、１次元配列ＡＲＲ１０のインデックス“６４”から“１”にかけて行われる。ここで、図４の（ａ）に示した係数行列ＭＸ１０を参照しながら説明すると、符号化処理は、スキャンとは逆の順序にて行われるといえる。
【０１６６】
以下において、この処理順序のことを逆順のジグザグスキャンとも呼ぶ。つまり、符号化処理は、係数行列に対して逆順のジグザグスキャンで行われる。また、符号化処理順序について説明する場合は、便宜的に、係数行列をベースに説明する。
【０１６７】
上述のとおり“６４”に近い位置にある係数は、高周波成分であるので、値が“０”であることが多い。よって、符号化処理おいては、このようなゼロ係数の符号化を省略し、ＤＣ係数からみて最後の非ゼロの係数を基点に行われる。
【０１６８】
なお、以上では、説明の便宜上、８×８の係数行列のスキャン例を示したが、４×４の係数行列をスキャンする場合についても同様のことが言える。また、スキャン順序をジグザグスキャン以外の方法、例えばラスタスキャンと同様の順序などに適応的に変更してもよい。
【０１６９】
（係数の符号化について）
以下において、動画像符号化装置２において符号化される係数符号化データについて説明する。上述のとおり符号化処理においては、まず、最後の非ゼロ係数が符号化される。続いて、所定の条件下において、ランモードによる符号化が行われる。ランモード終了条件が満たされることにより、ランモードが終了すると、残りの係数について、レベルモードによる符号化が行われる。このようにして全ての係数が符号化される。
【０１７０】
以下、最後の非ゼロ係数、ランモード、および、レベルモードで符号化されるデータについて説明する。
【０１７１】
［最後の非ゼロ係数］
最後の非ゼロ係数は、最後の非ゼロ係数の位置ｌａｓｔ＿ｐｏｓ、最後の非ゼロ係数のレベルｌｅｖｅｌ、最後の非ゼロ係数の正負符号ｓｉｇｎが符号化される。ここで係数のレベルとは、係数の絶対値を意味する。ｌａｓｔ＿ｐｏｓは、スキャン順インデックスの形式の値をとる。最後の非ゼロ係数が、スキャン順で１０番目（ＤＣ係数を１番目とする）であり、その値が“−１”である場合は次のとおりである。
【０１７２】
ｌａｓｔ＿ｐｏｓ：９
ｌｅｖｅｌ：１，ｓｉｇｎ：１
［ランモード］
所定の条件下、ランモードを実行する場合、以下の符号化が行われる。ランモードとは、連続するゼロ係数の数（０ラン）を符号化するモードである。どのような条件において、ランモードによる符号化が行われるかについては、後述する。
【０１７３】
ランモードでは、係数ごとに、０ランｒｕｎ、係数のレベルｌｅｖｅｌ、および係数の正負符号ｓｉｇｎが符号化される。次に符号化する非ゼロ係数が、前の非ゼロ係数との間に０を１つ挟んでおり、かつ値が“１”である場合は次のとおりである。
【０１７４】
ｒｕｎ：１，ｌｅｖｅｌ：１，ｓｉｇｎ：０
なお、非特許文献２では、ｌｅｖｅｌが２以上の係数が出現した場合を、ランモードの終了条件のひとつとして用いている。
【０１７５】
［レベルモード］
レベルモードとは、ゼロ係数であっても、１つずつ符号化するモードである。レベルモードでは、係数ごとに、係数のレベルｌｅｖｅｌ、および係数の正負符号ｓｉｇｎが符号化される。符号化する係数の値が“−６”である場合、および符号化する係数がゼロ係数（値が“０”）である場合はそれぞれ次のとおりである。
【０１７６】
ｌｅｖｅｌ：６，ｓｉｇｎ：１
ｌｅｖｅｌ：０
［備考］
なお、以上に示した符号化データは、単なる例示であり、シンタクス要素としては上記と異なる名称または定義により符号化されていてもよい。例えば、ランモードの係数のレベルｌｅｖｅｌは、ｉｓＬｅｖｅｌＯｎｅ（ｌｅｖｅｌは１）、および、これに追加してｌｅｖｅｌ＿ｍａｇｎｉｔｕｄｅ＿ｍｉｎｕｓ２（係数値が２以上の場合であり、符号化するのは２を引いたレベル）のシンタクス要素として符号化されていてもよい（非特許文献２の「ｌｅｖｅｌ＿ｍａｇｎｉｔｕｄｅ＿ｍｉｎｕｓ２」を参照）。
【０１７７】
なお、ｌｅｖｅｌは、最後の非ゼロ係数については、ｌａｓｔ＿ｐｏｓ＿ｌｅｖｅｌのシンタクス要素として符号化されていてもよい。
【０１７８】
また、非ランモードのｌｅｖｅｌは、ｌｅｖｅｌ＿ｍａｇｎｉｔｕｄｅのシンタクス要素として符号化されていてもよい。
【０１７９】
（ＴＴ情報復号部）
次に、図１を用いてＴＴ情報復号部１２の構成についてさらに詳しく説明する。図１は、ＴＴ情報復号部１２の構成例について示す機能ブロック図である。
【０１８０】
なお、以下では、ＴＴ情報復号部１２が、ＴＴ情報ＴＴＩに含まれる符号化データのうち、係数に関するデータを復号するための構成について説明する。言い換えれば、以下では、ＴＴ情報復号部１２が、符号化された量子化予測残差ＱＤ、すなわち係数符号化データＣ１０を復号するための構成について説明する。
【０１８１】
しかしながら、これに限られずＴＴ情報復号部１２は、符号化データに含まれる係数符号化データＣ１０以外のデータ、例えば、サイド情報等を復号することができる。
【０１８２】
図１に示すように、ＴＴ情報復号部１２は、最後の非ゼロ係数復号部１２１、適応的残余係数復号部１２２、逆スキャン部１２３およびＶＬＣ（Variable Length Coding）テーブルＴＢＬ１１を備える。
【０１８３】
最後の非ゼロ係数復号部１２１は、係数符号化データＣ１０から最後の非ゼロ係数を復号する。具体的には、最後の非ゼロ係数復号部１２１は、係数符号化データＣ１０に含まれる最後の非ゼロ係数の位置ｌａｓｔ＿ｐｏｓ、最後の非ゼロ係数のレベルｌｅｖｅｌ、および最後の非ゼロ係数の正負符号ｓｉｇｎを復号する。
【０１８４】
適応的残余係数復号部１２２は、ＶＬＣテーブルＴＢＬ１１を参照しながら、最後の非ゼロ係数の次の係数からＤＣ係数までの係数を適応的に復号する。適応的残余係数復号部１２２は、具体的には、条件判定部（実行制御手段）３２１、ランモード処理部（ランモード実行手段）３２２、およびレベルモード処理部（レベルモード実行手段）３２３を備える構成である。なお、ＤＣ係数はＤＣ係数のみまとめて別途処理することも可能である。
【０１８５】
条件判定部３２１は、最後の非ゼロ係数の復号が終わった時点で参照可能なデータに基づいて、ランモードを開始する条件が満たされているか否かを判定する。
【０１８６】
条件判定部３２１は、ランモードを開始する条件が満たされていると判定した場合、ランモード処理部３２２にランモードを開始するよう指示する。
【０１８７】
一方、条件判定部３２１は、ランモードを開始する条件が満たされていないと判定した場合、ランモード処理部３２２には指示を行うことなく、レベルモード処理部３２３に、レベルモードを開始するよう指示する。
【０１８８】
ランモード処理部３２２は、コンテキストに応じたＶＬＣテーブルＴＢＬ１１を参照しながら、ランモードによる復号を行う。すなわち、ランモード処理部３２２は、所定の条件が満たされるまで、０ランｒｕｎ、係数のレベルｌｅｖｅｌ、および係数の正負符号ｓｉｇｎを係数ごとに復号する。
【０１８９】
所定の条件としては、例えば、係数の値が閾値を超えるか否か、あるいは、所定の数だけ係数を復号したか否かなど挙げられる。所定の条件が満たされるとランモード処理部３２２は、ランモードによる復号を終了して、レベルモード処理部３２３にレベルモードを開始するよう指示する。
【０１９０】
レベルモード処理部３２３は、コンテキストに応じたＶＬＣテーブルＴＢＬ１１を参照しながら、レベルモード開始の指示を受けてレベルモードによる復号を行う。すなわち、レベルモード処理部３２３は、係数のレベルｌｅｖｅｌ、および係数の正負符号ｓｉｇｎを復号する。レベルモード処理部３２３は、係数を復号することにより、１次元配列を再現する。
【０１９１】
逆スキャン部１２３は、適応的残余係数復号部１２２が出力した１次元配列ＡＲＲ１０に対して逆スキャンを行うことにより、係数行列ＭＸ１０を再現する。逆スキャン部１２３の逆スキャンには、非特許文献２、３の技術を採用することができる。
【０１９２】
ＶＬＣテーブルＴＢＬ１１は、コード番号およびビット列からなるコードと、復号すべきパラメータとが対応付けられたテーブルである。ＶＬＣテーブルＴＢＬ１１には、最後の非ゼロ係数復号部１２１が参照するテーブルと、ランモード処理部３２２が参照するテーブルと、レベルモード処理部３２３が参照するテーブルとが含まれる。また、各部が参照するテーブルは、適応的な符号化ができるよう、コンテキストに応じて複数定義されている。
【０１９３】
（処理の流れ）
次に、図５を用いて、適応的残余係数復号部１２２における適応的残余係数復号処理の流れについて説明する。図５は、適応的残余係数復号部１２２における適応的残余係数復号処理の流れについて例示したフローチャートである。
【０１９４】
なお、適応的残余係数復号処理に先立って、最後の非ゼロ係数は、最後の非ゼロ係数復号部１２１により復号されているものとする。
【０１９５】
図５に示すように、適応的残余係数復号処理が開始されると、適応的残余係数復号部１２２では、条件判定部３２１が、最後の非ゼロ係数が復号された時点で参照可能なデータを参照して、ランモード開始条件を判定する（Ｓ１１）。
【０１９６】
最後の非ゼロ係数が復号された時点で参照可能なデータとは、例えば、対象ブロックの予測情報、最後の非ゼロ係数についての情報、その他エンコーダ側で符号化されていて既に復号されているフラグ等が挙げられる。なお、ランモード開始条件は、これらのデータから、「係数の絶対値が全体的に小さいと判断できる」ことである。この場合、０ランが、大きくなる可能性が高い。
【０１９７】
逆に、これらのデータから、「係数の絶対値が全体的に大きいと判断できる」場合、ランモード開始条件を満たさない。
【０１９８】
ここで、Ｓ１１において、条件判定部３２１が、ランモード開始条件が満たされていると判定した場合（Ｓ１１においてＹＥＳ）、ランモード処理部３２２によって、未処理の係数についてランモードループＬＰ１１が実行される（Ｓ１２）。すなわち、ランモード処理部３２２が、１組の｛ｒｕｎ，ｌｅｖｅｌ｝を復号する（Ｓ１３）。なお、係数の正負符号もこの段階で復号される。
【０１９９】
さらに、ランモード処理部３２２が、ランモードループＬＰ１１の終了条件を判定する（Ｓ１４）。
【０２００】
終了条件が満たされていない場合（Ｓ１４においてＮＯ）、ループ終端（Ｓ１５）からランモードループＬＰ１１の先頭に戻って（Ｓ１２）、さらにランモード処理部３２２によりランモードの処理が継続される。
【０２０１】
一方、終了条件が満たされている場合（Ｓ１４においてＹＥＳ）、ランモード処理部３２２は、ランモードを終了し、レベルモード処理部３２３にレベルモードを開始するよう指示する。これ応じて、レベルモード処理部３２３が、続くレベルモードループＬＰ１２を実行する（Ｓ１６）。
【０２０２】
レベルモードループＬＰ１２では、レベルモード処理部３２３が、残りの変換係数を１個１個、個別に復号する手順（Ｓ１７）を繰り返し実行する（Ｓ１８からＳ１６へ）。このようにして、すべての係数が復号されることにより復号処理は終了する。
【０２０３】
これに対して、Ｓ１１において、条件判定部３２１が、ランモード開始条件が満たされていないと判定した場合（Ｓ１１においてＮＯ）、ランモードループＬＰ１１は実行されずに、未処理の係数について上述のようにレベルモードループＬＰ１２が実行される。そして、すべての係数が復号されることにより復号処理は終了する。
【０２０４】
（具体例）
以上では、最後の非ゼロ係数Ｃ０（Ｃｘは、ゼロ係数を含めた、最後の非ゼロ係数からｘ番目の係数）が復号された後、ランモード開始条件を満たす場合、係数Ｃ１以降の復号をランモードで開始する構成について開示した。
【０２０５】
ここで、別の表現により、以上で開示した構成について説明すると次のとおりである。なお、逆スキャン順上、最後から２番目の非ゼロ係数Ｌ２Ｃｏｅｆｆが係数Ｃｎであるとする。
【０２０６】
このとき、係数Ｃ１〜Ｃｎ−１は、ゼロ係数であるので０ランは、ｎ−１である。よって、このとき、ランモードでは、ｒｕｎ＝ｎ−１と係数Ｃｎのｌｅｖｅｌ，ｓｉｇｎとが復号される。ランモード終了条件が満たされていなければさらにランモードによる復号が行われる。
【０２０７】
また、その一方で、ランモード開始条件を満たさない場合、ランモードの実行を省略して、レベルモードを開始し、係数Ｃ１〜Ｃｎのｌｅｖｅｌおよびｓｉｇｎを個別に復号することについて開示した。
【０２０８】
以下では、ランモードを開始するか否かを判定するためのランモード開始条件の具体的な実施例について説明する。ランモード開始条件の例として、以下に４つの例を挙げる。
【０２０９】
［１］係数のレベル
係数のレベルを基準とするランモード開始条件の場合、次の例が挙げられる。
【０２１０】
［１−１］ａｂｓ（Ｃ０）＝１（ａｂｓ（ｘ）：ｘの絶対値）
このランモード開始条件の場合、ａｂｓ（Ｃ０）＞１ならレベルモード、ａｂｓ（Ｃ０）＝１ならランモードを開始することになる。
【０２１１】
また、次のような変形例も可能である。
【０２１２】
［１−２］ａｂｓ（Ｃ０）≦Ｔｈ（Ｔｈ：所定の閾値）
このランモード開始条件の場合、ａｂｓ（Ｃ０）＞Ｔｈであれば、ランモードを開始せずに、レベルモードを開始する。
【０２１３】
［１−３］ａｂｓ（Ｃ０）≦Ｔｈ１｜｜ａｂｓ（Ｃ０）≧Ｔｈ２（Ｔｈｘ：所定の閾値，Ｔｈ１＜Ｔｈ２）
このランモード開始条件の場合、ａｂｓ（Ｃ０）＞Ｔｈ１＆＆ａｂｓ（Ｃ０）＜Ｔｈ２であるとき、すなわち、最後の非ゼロ係数の絶対値が所定の範囲であるとき、ランモードを開始せずに、レベルモードを開始する。逆に、最後の非ゼロ係数の絶対値が所定の範囲であるとき、ランモードを開始することも可能である。
【０２１４】
なお、上記において、“＆＆”は、論理積の演算子であり、“｜｜”は、論理和の演算子である。また、以下同様である。
【０２１５】
［１−４］ａｂｓ（Ｃ０）≠ｐ（ｐは、ｐ＞１を満たす所定の値）
このランモード開始条件の場合、ａｂｓ（Ｃ０）＝ｐであるときには、ランモードを開始せずに、レベルモードを開始する。なお、ランモード開始条件を、ａｂｓ（Ｃ０）＝ｐと変更してもよい。
【０２１６】
［２］係数のレベルおよび位置
係数のレベルおよび位置を基準とするランモード開始条件の場合、次の例が挙げられる。
【０２１７】
［２−１］ａｂｓ（Ｃ０）＝１｜｜ｐｏｓ（Ｃ０）≧Ｔｈｐ（Ｔｈｐは、所定の値）
上記ｐｏｓ（ｘ）は、係数ｘがＤＣ係数から数えてスキャン順序上何番目の係数かを表す。また、ｘ＝ＤＣのときｐｏｓ（ｘ）＝０とする。このランモード開始条件の場合、ａｂｓ（Ｃ０）＞１＆＆ｐｏｓ（Ｃ０）＜Ｔｈｐであるとき、ランモードを開始せずに、レベルモードを開始する。
【０２１８】
また、上記［１−２］〜［１−４］で示した変形例と同様に、［２−１］における“ｐｏｓ（Ｃ０）≧Ｔｈｐ”の条件を、以下のように変形例することも可能である。
【０２１９】
［２−２］ｐｏｓ（Ｃ０）≦Ｔｈｐ
このランモード開始条件の変形例の場合、“ａｂｓ（Ｃ０）＞１＆＆ｐｏｓ（Ｃ０）＞Ｔｈｐ”を満たすとき、ランモードを開始せずに、レベルモードを開始する。この変形例では、最後の非ゼロ係数の絶対値が比較的大きく（１より大きい）、なおかつその出現位置が、ＤＣ係数よりもある程度遠い位置にあるかどうかを判定する。
【０２２０】
マクロ的にみて、係数の値は、最後の非ゼロ係数からＤＣ係数にかけて、単調増加する傾向があるため、比較的大きな値を有する最後の非ゼロ係数が、例えば、高周波成分の領域に出現する場合、全体的に係数の値が大きくなる可能性が高い。
【０２２１】
つまり、この変形例では、このような傾向を検出することができる。
【０２２２】
［２−３］ｐｏｓ（Ｃ０）≦Ｔｈｐ１｜｜ｐｏｓ（Ｃ０）≧Ｔｈｐ２（Ｔｈｘ：所定の閾値，Ｔｈｐ１＜Ｔｈｐ２）
このランモード開始条件の変形例の場合、“ａｂｓ（Ｃ０）＞１＆＆ｐｏｓ（Ｃ０）＞Ｔｈｐ１＆＆ｐｏｓ（Ｃ０）＜Ｔｈｐ２”を満たすとき、すなわち、最後の非ゼロ係数の位置が所定の範囲であるとき、ランモードを開始せずに、レベルモードを開始する。ここで、最後の非ゼロ係数の位置が所定の範囲であるとき、ランモードを開始することも可能である。
【０２２３】
［２−４］ｐｏｓ（Ｃ０）≠ｐ１（ｐ１は、ｐ１＞１を満たす所定の値）
このランモード開始条件の変形例の場合、“ａｂｓ（Ｃ０）＞１＆＆ｐｏｓ（Ｃ０）＝ｐ１”を満たすときには、ランモードを開始せずに、レベルモードを開始する。
【０２２４】
なお、［２−１］〜［２−４］において、“ａｂｓ（Ｃ０）＝１｜｜”の条件を用いずに、ｐｏｓ（Ｃ０）に関する条件のみで、ランモード開始条件を判定してもよい。すなわち、最後の非ゼロ係数の位置のみをランモード開始条件で判定してもよい。
【０２２５】
［３］係数のレベルおよび予測情報
［３−１］ａｂｓ（Ｃ０）＝１｜｜“対象ブロックがイントラ予測でない”
このランモード開始条件では、最後の非ゼロ係数の絶対値に加えて、予測方式（イントラ予測かそれともインター予測か）を指定するパラメータを判定に用いる。
【０２２６】
“対象ブロックがイントラ予測でない”とは、例えば、“PredMode != MODE_INTRA”の条件が真である場合を指す。
【０２２７】
このランモード開始条件の場合、ａｂｓ（Ｃ０）＞１＆＆“対象ブロックがイントラ予測である”（例えば、“PredMode == MODE_INTRA”が真）とき、ランモードを開始せずに、レベルモードを開始する。
【０２２８】
イントラ予測の場合、非ゼロ係数が多くなりやすい傾向があるため、このランモード開始条件を採用することで、より正確に係数の絶対値が全体的に小さいか否かについて判定することができる。
【０２２９】
ランモード開始条件の判定では、予測方式を指定するパラメータ以外にも、変換対象画素の種類（輝度画素か色差画素か)、変換サイズ、イントラ予測方向、動きベクトル（ＭＶ）、参照画像（インデクスや、参照画像との表示順序におけるフレーム間隔）、スライスタイプ、量子化値（ＱＰ）などの各パラメータを用いることができる。また、ランモード開始条件の判定では、隣接ブロックの符号量や、係数の数などの対象ＣＵ以前に実行された符号化処理の状態に関する情報を用いてもよい。
【０２３０】
［４］係数のレベルおよび適応的条件
上記［１−２］にてａｂｓ（Ｃ０）＞Ｔｈであれば、ランモードを開始せずに、レベルモードを開始することについて説明した。このランモード開始条件において、閾値Ｔｈの値を、係数の絶対値の出現状況によって変動させてもよい。
【０２３１】
この場合、例えば、ランモードを開始する前に、Ｌ２Ｃｏｅｆｆである係数Ｃｍの絶対値を判定して、次のブロックの判定で使われる閾値Ｔｈの値を調整する。
【０２３２】
閾値Ｔｈの値を、増加させる場合および減少させる場合について以下に例示する。まず、閾値Ｔｈの値を、増加させる場合の例は次のとおりである。すなわち、係数Ｃ０の値から係数Ｃｍの値も大きくなると推定したが、実際の係数Ｃｍの値が、推定したほど大きくならなかった場合、閾値Ｔｈを増加させてもよい。
【０２３３】
より詳細には、次の条件式（１）が真である場合、Ｔｈの値に１を加算してもよい。
【０２３４】
ａｂｓ（Ｃ０）＞Ｔｈ＆＆ａｂｓ（Ｃｍ）＝１・・・（１）
最後の非ゼロ係数Ｃ０が閾値よりも大きい場合、Ｌ２Ｃｏｅｆｆである係数Ｃｍが１よりも大きい値となる可能性が高いと推定できる。条件式（１）では、このような状況下で、実際の係数Ｃｍの絶対値が、推定に反して、１である場合を検出している。
【０２３５】
もちろん、条件式（１）において、実際の係数Ｃｍの絶対値が所定値以下であるか否かを判定するよう変更してもかまわない。これにより推定が外れた場合、閾値を厳しくすることができる。
【０２３６】
一方、閾値Ｔｈの値を、減少させる場合の例は次のとおりである。すなわち、係数Ｃ０の値から係数Ｃｍは、大きくならないと推定したが、実際の係数Ｃｍの値が、推定よりも大きかった場合、閾値Ｔｈを減少させてもよい。
【０２３７】
より詳細には、次の条件式（２）が真である場合、Ｔｈの値から１を減じてもよい。
【０２３８】
ａｂｓ（Ｃ０）≦Ｔｈ＆＆ａｂｓ（Ｃｍ）＞１・・・（２）
最後の非ゼロ係数Ｃ０が閾値以下である場合、Ｌ２Ｃｏｅｆｆである係数Ｃｍが小さい値、例えば１になる可能性が高いと推定できる。条件式（２）では、このような状況下で、実際の係数Ｃｍの絶対値が、推定に反して、１より大きい場合を検出している。もちろん、条件式（２）において、実際の係数Ｃｍの絶対値が所定値より大きい否かを判定するよう変更してもかまわない。これにより推定が外れた場合、閾値を緩めることができる。
【０２３９】
なお、上記条件式（１）または（２）が真でなければ、一定の推定精度が得られていると考えられるため、閾値Ｔｈを調整しなくてもよい。
【０２４０】
また、閾値Ｔｈの調整は、所定の範囲内で行うようにすることが好ましい。例えば、閾値Ｔｈの上限値および下限値を設定しておき、閾値Ｔｈを増加または減少させるとき、閾値Ｔｈが上限値から下限値の間となるか否かを判定してもよい。そして、閾値Ｔｈが上限値から下限値の間とならない場合は、閾値Ｔｈの調整を行わなくてもよい。
【０２４１】
また、所定の処理単位ごとに閾値Ｔｈに初期値を設定してもよい。このように、閾値Ｔｈに上限値および下限値を設けたり、定期的に初期化を行ったりすることで、閾値Ｔｈが極端に大きくなったり小さくなったりすることを防ぐことができる。
【０２４２】
［その他］
なお、以上に説明した［１］〜［４］のランモード開始条件を組み合わせることも可能である。例えば、［２］と［３］とを組み合わせることにより、ａｂｓ（Ｃ０）、ｐｏｓ（Ｃ０）および予測方法の３つをランモード開始条件の判定で用いてもよい。
【０２４３】
また、［２］において、変換サイズ等に基づいて閾値Ｔｈｐを変更するよう構成してもよい。例えば、変換サイズが４×４であるときは、Ｔｈｐ＝６を設定し、変換サイズが８×８以上の変換は、Ｔｈｐ＝１６を設定することができる。このように、変換サイズが大きいときは、閾値Ｔｈｐには、大きな値を設定してもよい。
【０２４４】
また、［３］において、［４］で示した適応的な閾値調整を導入してもよい。
【０２４５】
また、条件判定部３２１は、符号化データに含まれている適応的に係数の復号処理を行うことを示すフラグに基づいて、ランモード開始条件を判定してもよい。例えば、条件判定部３２１は、上記フラグがオンであればランモード開始条件が満たされていると判定してもよい。また、上記フラグは、変換サイズや、予測方式単位で設定されていてもよい。
【０２４６】
〔動画像符号化装置〕
まず、以下では、本実施形態に係る動画像符号化装置２について、図６〜図１２を参照して説明する。
【０２４７】
（動画像符号化装置の概要）
動画像符号化装置２は、概略的に言えば、入力画像＃１０を符号化することによって符号化データ＃１を生成し、出力する装置である。
【０２４８】
（動画像符号化装置の構成）
まず、図６を用いて、動画像符号化装置２の構成例について説明する。図６は、動画像符号化装置２の構成について示す機能ブロック図である。図６に示すように、動画像符号化装置２は、符号化設定部２１、逆量子化・逆変換部２２、予測画像生成部２３、加算器２４、フレームメモリ２５、減算器２６、変換・量子化部２７、および可変長符号化部２８を備えている。
【０２４９】
符号化設定部２１は、入力画像＃１０に基づいて、符号化に関する画像データおよび各種の設定情報を生成する。
【０２５０】
具体的には、符号化設定部２１は、次の画像データおよび設定情報を生成する。
【０２５１】
まず、符号化設定部２１は、入力画像＃１０を、スライス単位、ツリーブロック単位に順次分割することにより、対象ＣＵについてのＣＵ画像＃１００を生成する。
【０２５２】
また、符号化設定部２１は、分割処理の結果に基づいて、ヘッダ情報Ｈ’を生成する。ヘッダ情報Ｈ’は、（１）対象スライスに属するツリーブロックのサイズ、形状および対象スライス内での位置についての情報、並びに、（２）各ツリーブロックに属するＣＵのサイズ、形状および対象ツリーブロック内での位置についてのＣＵ情報ＣＵ’を含んでいる。
【０２５３】
さらに、符号化設定部２１は、ＣＵ画像＃１００、および、ＣＵ情報ＣＵ’を参照して、ＰＴ設定情報ＰＴＩ’を生成する。ＰＴ設定情報ＰＴＩ’には、（１）対象ＣＵの各ＰＵへの可能な分割パターン、および、（２）各ＰＵに割り付ける可能な予測モード、の全ての組み合わせに関する情報が含まれる。
【０２５４】
符号化設定部２１は、ＣＵ画像＃１００を減算器２６に供給する。また、符号化設定部２１は、ヘッダ情報Ｈ’を可変長符号化部２８に供給する。また、符号化設定部２１は、ＰＴ設定情報ＰＴＩ’を予測画像生成部２３に供給する。
【０２５５】
逆量子化・逆変換部２２は、変換・量子化部２７より供給される、ブロック毎の量子化予測残差を、逆量子化、および、逆ＤＣＴ変換（Inverse Discrete Cosine Transform）することによって、ブロック毎の予測残差を復元する。
【０２５６】
また、逆量子化・逆変換部２２は、ブロック毎の予測残差を、ＴＴ分割情報（後述）により指定される分割パターンに従って統合し、対象ＣＵについての予測残差Ｄを生成する。逆量子化・逆変換部２２は、生成した対象ＣＵについての予測残差Ｄを、加算器２４に供給する。
【０２５７】
予測画像生成部２３は、フレームメモリ２５に記録されている局所復号画像Ｐ’、および、ＰＴ設定情報ＰＴＩ’を参照して、対象ＣＵについての予測画像Ｐｒｅｄを生成する。予測画像生成部２３は、予測画像生成処理により得られた予測パラメータを、ＰＴ設定情報ＰＴＩ’に設定し、設定後のＰＴ設定情報ＰＴＩ’を可変長符号化部２８に転送する。なお、予測画像生成部２３による予測画像生成処理は、動画像復号装置１の備える予測画像生成部１４と同様であるので、ここでは説明を省略する。
【０２５８】
加算器２４は、予測画像生成部２３より供給される予測画像Ｐｒｅｄと、逆量子化・逆変換部２２より供給される予測残差Ｄとを加算することによって、対象ＣＵについての復号画像Ｐを生成する。
【０２５９】
フレームメモリ２５には、復号された復号画像Ｐが順次記録される。フレームメモリ２５には、対象ツリーブロックを復号する時点において、当該対象ツリーブロックよりも先に復号された全てのツリーブロック（例えば、ラスタスキャン順で先行する全てのツリーブロック）に対応する復号画像が記録されている。
【０２６０】
減算器２６は、ＣＵ画像＃１００から予測画像Ｐｒｅｄを減算することによって、対象ＣＵについての予測残差Ｄを生成する。減算器２６は、生成した予測残差Ｄを、変換・量子化部２７に供給する。
【０２６１】
変換・量子化部２７は、予測残差Ｄに対して、ＤＣＴ変換（Discrete Cosine Transform）および量子化を行うことで量子化予測残差を生成する。
【０２６２】
具体的には、変換・量子化部２７は、ＣＵ画像＃１００、および、ＣＵ情報ＣＵ’を参照し、対象ＣＵの１または複数のブロックへの分割パターンを決定する。また、決定された分割パターンに従って、予測残差Ｄを、各ブロックについての予測残差に分割する。
【０２６３】
また、変換・量子化部２７は、各ブロックについての予測残差をＤＣＴ変換（Discrete Cosine Transform）することによって周波数領域における予測残差を生成した後、当該周波数領域における予測残差を量子化することによってブロック毎の量子化予測残差を生成する。
【０２６４】
また、変換・量子化部２７は、生成したブロック毎の量子化予測残差と、対象ＣＵの分割パターンを指定するＴＴ分割情報と、対象ＣＵの各ブロックへの可能な全分割パターンに関する情報とを含むＴＴ設定情報ＴＴＩ’を生成する。
【０２６５】
変換・量子化部２７は、生成したＴＴ設定情報ＴＴＩ’を、逆量子化・逆変換部２２、および、可変長符号化部２８に供給する。
【０２６６】
可変長符号化部２８は、ＴＴ設定情報ＴＴＩ’、ＰＴ設定情報ＰＴＩ’、およびヘッダ情報Ｈ’に基づいて符号化データ＃１を生成し、出力する。なお、可変長符号化部２８の詳細については以下に説明する。
【０２６７】
（可変長符号化部）
次に、図７を用いて可変長符号化部２８の構成についてさらに詳しく説明する。図７は、可変長符号化部２８の構成例について示すブロック図である。
【０２６８】
図７に示すように、可変長符号化部２８は、ＴＴ情報符号化部２８０、ヘッダ情報符号化部４０、ＰＴＩ情報符号化部４１、符号化データ多重化部４２を備える。
【０２６９】
ＴＴ情報符号化部２８０は、ＴＴ設定情報ＴＴＩ’を符号化して、符号化データ多重化部４２に供給する。また、ヘッダ情報符号化部４０は、ヘッダ情報Ｈ’を符号化して、符号化データ多重化部４２に供給する。また、ＰＴＩ情報符号化部４１は、ＰＴＩ情報ＰＴＩ’を符号化して符号化データ多重化部４２に供給する。
【０２７０】
符号化データ多重化部４２は、ＴＴ設定情報ＴＴＩ’、ヘッダ情報Ｈ’およびＰＴＩ情報ＰＴＩ’を多重化して符号化データ＃１を生成し、出力する。
【０２７１】
ここで、ＴＴ情報符号化部２８０の構成についてさらに詳しく説明すると次のとおりである。なお、以下では、ＴＴ設定情報ＴＴＩ’に含まれる量子化予測残差、すなわち係数行列ＭＸ１０を符号化して係数符号化データＣ１０を得るための構成について説明する。
【０２７２】
ＴＴ情報符号化部２８０は、スキャン部２８１、最後の非ゼロ係数符号化部２８２、適応的残余係数符号化部２８３、およびＶＬＣテーブルＴＢＬ２１を備える。
【０２７３】
スキャン部２８１は、係数行列ＭＸ１０に対してスキャンを行って、１次元配列に係数を格納する。
【０２７４】
最後の非ゼロ係数符号化部２８２は、係数行列ＭＸ１０に対して逆順のジグザグスキャンを行って検出した最後の非ゼロ係数を符号化する。具体的には、最後の非ゼロ係数符号化部２８２は、検出した係数の最後の非ゼロ係数の位置ｌａｓｔ＿ｐｏｓ、最後の非ゼロ係数のレベルｌｅｖｅｌ、および最後の非ゼロ係数の正負符号ｓｉｇｎを符号化して係数符号化データＣ１０に含める。
【０２７５】
適応的残余係数符号化部２８３は、ＶＬＣテーブルＴＢＬ２１を参照しながら、最後の非ゼロ係数の次の係数からＤＣ係数までの係数を適応的に符号化して係数符号化データＣ１０に含める。適応的残余係数符号化部２８３は、具体的には、条件判定部（実行制御手段）４３１、ランモード処理部（ランモード実行手段）４３２、およびレベルモード処理部（レベルモード実行手段）４３３を備える構成である。
【０２７６】
条件判定部４３１は、最後の非ゼロ係数の符号化が終わった時点で参照可能なデータに基づいて、ランモードを開始する条件が満たされているか否かを判定する。
【０２７７】
条件判定部４３１は、ランモードを開始する条件が満たされていると判定した場合、ランモード処理部４３２にランモードを開始するよう指示する。
【０２７８】
一方、条件判定部４３１は、ランモードを開始する条件が満たされていないと判定した場合、ランモード処理部４３２には指示を行うことなく、レベルモード処理部４３３に、レベルモードを開始するよう指示する。
【０２７９】
ランモード処理部４３２は、コンテキストに応じたＶＬＣテーブルＴＢＬ２１を参照しながら、ランモードによる符号化を行う。すなわち、ランモード処理部４３２は、所定の条件が満たされるまで、０ランｒｕｎ、係数のレベルｌｅｖｅｌ、および係数の正負符号ｓｉｇｎを係数ごとに符号化して、係数符号化データＣ１０に含める。
【０２８０】
所定の条件としては、例えば、係数の値が閾値を超えるか否か、あるいは、所定の数だけ係数を符号化したか否かなど挙げられる。所定の条件が満たされるとランモード処理部４３２は、ランモードによる符号化を終了して、レベルモード処理部４３３にレベルモードを開始するよう指示する。
【０２８１】
レベルモード処理部４３３は、コンテキストに応じたＶＬＣテーブルＴＢＬ２１を参照しながら、レベルモード開始の指示を受けてレベルモードによる符号化を行う。すなわち、レベルモード処理部４３３は、係数のレベルｌｅｖｅｌ、および係数の正負符号ｓｉｇｎを符号化する。レベルモード処理部４３３は、係数を符号化して、係数符号化データに含める。
【０２８２】
ＶＬＣテーブルＴＢＬ２１は、各パラメータと、符号化データのビット列との対応づけが定義されたテーブルである。
【０２８３】
また、ＶＬＣテーブルＴＢＬ２１には、最後の非ゼロ係数符号化部２８２が参照するテーブルと、ランモード処理部４３２が参照するテーブルと、レベルモード処理部４３３が参照するテーブルとが含まれる。また、各部が参照するテーブルは、適応的な符号化ができるよう、コンテキストに応じて複数定義されている。
【０２８４】
（処理の流れ）
次に、図８を用いて、適応的残余係数符号化部２８３における適応的残余係数符号化処理の流れについて説明する。図８は、適応的残余係数符号化部２８３における適応的残余係数符号化処理の流れについて例示したフローチャートである。なお、適応的残余係数符号化処理に先立って、最後の非ゼロ係数は、最後の非ゼロ係数符号化部２８２により符号化されているものとする。
【０２８５】
図８に示すように、適応的残余係数符号化処理が開始されると、適応的残余係数符号化部２８３では、条件判定部４３１が、最後の非ゼロ係数が符号化された時点で参照可能なデータを参照して、ランモード開始条件を判定する（Ｓ２１）。ランモード開始条件については、動画像復号装置１の説明において既に述べたものを採用することができるので、ここではその説明を省略する。
【０２８６】
最後の非ゼロ係数が符号化された時点で参照可能なデータとしては、例えば、対象ブロックの予測情報、最後の非ゼロ係数についての情報、その他動画像符号化装置２で符号化するフラグ等が挙げられる。
【０２８７】
さらにいえば、最後の非ゼロ係数が符号化された時点で参照可能なデータは、デコーダである動画像復号装置１においても、最後の非ゼロ係数が復号された時点で参照可能なデータである。これは、デコーダ側でも同じランモード開始条件で判定を行うためである。
【０２８８】
また、ランモード開始条件は、これらのデータから、「係数の絶対値が全体的に小さいと判断できる」ことである。この場合、０ランが、大きくなる可能性が高い。
【０２８９】
逆に、これらのデータから、「係数の絶対値が全体的に大きいと判断できる」場合、ランモード開始条件を満たさない。
【０２９０】
ここで、Ｓ２１において、条件判定部４３１が、ランモード開始条件が満たされていると判定した場合（Ｓ２１においてＹＥＳ）、ランモード処理部４３２によって、未処理の係数についてランモードループＬＰ２１が実行される（Ｓ２２）。すなわち、ランモード処理部４３２が、１組の｛ｒｕｎ，ｌｅｖｅｌ｝を符号化する（Ｓ２３）。なお、係数の正負符号もこの段階で符号化される。
【０２９１】
そして、ランモード処理部４３２が、ランモードループＬＰ２１の終了条件を判定する（Ｓ２４）。
【０２９２】
終了条件が満たされていない場合（Ｓ２４においてＮＯ）、ループ終端（Ｓ２５）からランモードループＬＰ２１の先頭に戻って（Ｓ２２）、さらにランモード処理部４３２によりランモードの処理が継続される。
【０２９３】
一方、終了条件が満たされている場合（Ｓ２４においてＹＥＳ）、ランモード処理部４３２は、ランモードを終了し、レベルモード処理部４２３にレベルモードを開始するよう指示する。これ応じて、レベルモード処理部４２３が、続くレベルモードループＬＰ２２を実行する（Ｓ２６）。
【０２９４】
レベルモードループＬＰ２２では、レベルモード処理部４２３が、残りの変換係数を１個１個、個別に符号化する手順（Ｓ２７）を繰り返し実行する（Ｓ２８からＳ２６へ）。このようにして、すべての係数が符号化されることにより符号化処理は終了する。
【０２９５】
これに対して、Ｓ２１において、条件判定部４３１が、ランモード開始条件が満たされていないと判定した場合（Ｓ２１においてＮＯ）、ランモードループＬＰ２１は実行されずに、未処理の係数について上述のようにレベルモードループＬＰ２２が実行される。そして、すべての係数が符号化されることにより符号化処理は終了する。
【０２９６】
（実施例）
以下において、動画像符号化装置２の具体的な実施例についてさらに説明する。
【０２９７】
（シンタックス）
図９に、動画像符号化装置２のＴＴ情報符号化部２８０における係数符号化処理のシンタックスの例について示す。図９は、ＴＴ情報符号化部２８０における係数符号化処理のシンタックスの一例について示すシンタックステーブルである。なお、以下の例では、ランモード開始条件は、上述した［１−１］であるとする。
【０２９８】
図９に示すように、ＳＹＮ２１では、最後の非ゼロ係数が符号化される。より詳細には、まず、“last_pos_table_idx”が符号化される。“last_pos_table_idx”は、最後の非ゼロ係数が１かどうかを示すフラグ（levelMagnitudeGreaterThanOneFlag）と、最後の非ゼロ係数の位置（last_pos）との組み合わせのインデックスを示すシンタクス要素である。この組み合わせは、テーブルに定義されており、インデックスにより組み合わせが特定される。
【０２９９】
そして、“levelMagnitudeGreaterThanOneFlag”が“１”である場合、最後の非ゼロ係数のレベルは１より大きいことが明らかので、２を引いた値が符号化される（last_pos_level）。
【０３００】
そして、最後の非ゼロ係数の正負符号が符号化される（last_pos_sign）。
【０３０１】
続く、ＳＹＮ２２では、ランモード開始条件が判定される。すなわち“LastCoeffLevel = 1”により、最後の非ゼロ係数の絶対値が１か否かが判定される。なお、この判定には、levelMagnitudeGreaterThanOneFlagを用いてもよい。
【０３０２】
そして、ランモード開始条件が真である場合、ｒｕｎＭｏｄｅに１が設定される。
【０３０３】
続く、ＳＹＮ２３およびＳＹＮ２４では、それぞれランモードおよびレベルモードが実行される。
【０３０４】
まず、ＳＹＮ２２において、ランモード開始条件が真であり、ｒｕｎＭｏｄｅに“１”が設定されている場合、ＳＹＮ２３にて、所定の条件下、ランモードのループが実行される。
【０３０５】
ここで、ＳＹＮ２３１の“ isLevelOne_run”は、次の係数が１かどうかを示すフラグ（isLevelOne）と、０ラン（run）との組み合わせを示すシンタクス要素である。また、ＳＹＮ２３２では、０が続くｒｕｎ分の処理がスキップされる。
【０３０６】
また、“isLevelOne”が“１”でない場合、係数のレベルが１より大きいので、実際の係数値から２が引かれた値（level_magnitude_minus2）と、その正負符号（level_sign）とが符号化される。
【０３０７】
一方、“isLevelOne”が“１”である場合、係数のレベルは１であることが明らかなので符号化せず、係数値の正負符号（level_sign）だけが符号化される。
【０３０８】
なお、ループの終了条件のうち“i<=i_max”について説明すると次のとおりである。対象ブロックが８×８のとき、まず、“i”の初期値は、“６３−last_pos”である。そして、“i_max”は、“６３”である。
【０３０９】
また、“runMode”は、ＳＹＮ２３のループ内で所定の条件が満たされると０になる。対象ブロックが８×８の場合、例えば、レベル２以上の係数が２個出現するか、または、レベル２以上の係数が出現したときに“i_max-i”が閾値以下になっていることが条件である。
【０３１０】
閾値は、係数の数が残りｎ個以下になるとランモードを終了するよう制御するためのものである。この閾値は、ブロックサイズや、予測モードがインターであるか、イントラであるか、輝度画素に関する変換係数であるか色差画素に関する変換係数であるか等、ブロックの属性や特徴に応じて決定される。例えば、イントラ予測のブロックのときは閾値ｎ＝０であり、レベル２以上の係数が１個でも出現すると、ランモードが終了する。
【０３１１】
ＳＹＮ２３のランモードのループが終了すると、ＳＹＮ２４のレベルモードのループに入り、残りの係数が符号化される。レベルモードは、“level_magnitude”のシンタックス要素と、“level_sign”のシンタックス要素とを含む。
【０３１２】
“level_magnitude”は、係数のレベルであり、このレベルが０でない場合、正負符号である“level_sign”が符号化される。
【０３１３】
（ＶＬＣテーブルの構成例）
以下において、図１０および図１１を用いて、具体的なＶＬＣテーブルの構成例について説明する。および、当該ＶＬＣテーブルを用いた符号化処理の例について説明する。
【０３１４】
まず、図１０を用いて、以下において示す符号化処理の状況について説明する。図１０は、４×４の係数行列の符号化処理において、スキャン順序上、４番目の位置に、最後の非ゼロ係数ＬａｓｔＣｏｅｆｆがある状況について示している。
【０３１５】
このとき、符号化処理は、逆順のジグザグスキャン順に、ＬａｓｔＣｏｅｆｆ、ｘ、ｙ、およびｚの順で行われる。なお、係数ｚは、ＤＣ係数である。
【０３１６】
以下の説明では、最後の非ゼロ係数ＬａｓｔＣｏｅｆｆが符号化済みであり、係数ｘを符号化する場合について説明する。なお、最後の非ゼロ係数ＬａｓｔＣｏｅｆｆの値および係数ｘの値は、ともに“＋２”であるとする。
【０３１７】
次に、図１１を用いて、ＶＬＣテーブルＴＢＬ２１の具体的構成例について説明する。図１１は、図１０に示す状況下で参照されるＶＬＣテーブルＴＢＬ２１の構成例を示す。
【０３１８】
ＶＬＣテーブルＴＢＬ２１は、具体的には、図１１の（ａ）に示すレベルワン−ラン符号化テーブルＴＢＬ２１１および同図の（ｂ）に示すレベル符号化テーブルＴＢＬ２１２を含む。
【０３１９】
図１１の（ａ）に示すレベルワン−ラン符号化テーブルＴＢＬ２１１は、ランモードにおいて、「ラン」、「次の非ゼロ係数の絶対値」の組み合わせを示す情報（isLevelOne_run）を符号化するために参照される。
【０３２０】
また、図１１の（ｂ）に示すレベル符号化テーブルＴＢＬ２１２は、レベルを符号化するために参照される。
【０３２１】
以下において、レベルワン−ラン符号化テーブルＴＢＬ２１１およびレベル符号化テーブルＴＢＬ２１２について、それぞれ具体的に説明する。
【０３２２】
図１１の（ａ）に示すように、レベルワン−ラン符号化テーブルＴＢＬ２１１では、「ラン」、「次の非ゼロ係数の絶対値」の組み合わせ（isLevelOne_run）と、「コード番号」と、および「ビット列」とが対応付けられている。
【０３２３】
レベルワン−ラン符号化テーブルＴＢＬ２１１では、例えば、「ラン」が“１”、「次の非ゼロ係数の絶対値」が“１”であるときのコード番号は、“２”であることが規定されている。また、レベルワン−ラン符号化テーブルＴＢＬ２１１では、コード番号“２”の場合、ランモード処理部３２２が符号化すべきビット列が、“００１”であることが規定されている。
【０３２４】
なお、「ラン」が３である場合は、ＤＣ係数含む全ての係数、すなわち係数ｘ、ｙ、ｚが、０である場合を示している。この場合、「次の非ゼロ係数の絶対値」が存在しない。このようなケースは、比較的多く発生するので、小さいコード番号が割り当てられているとともに、そのほかのエントリーと比べても短いビット列“１”が割り当てられている。
【０３２５】
また、図１１の（ｂ）に示すように、レベル符号化テーブルＴＢＬ２１２は、「値（レベル）」、「コード番号」、および「ビット列」のデータ項目から構成される。レベル符号化テーブルＴＢＬ２１２では、概ね、より大きい「値」に対して、より大きな「コード番号」およびより長い「ビット列」が割り当てられるように構成されている。
【０３２６】
さらに、図１１を参照しながら、図１０に示す状況において、ランモードを実行した場合、および、レベルモードを実行した場合についてそれぞれ説明する。
【０３２７】
［ランモードを実行した場合］
ランモードを実行した場合は次のとおりである。まず、「ラン（run）」および「次の非ゼロ係数の絶対値（isLevelOne）」の組み合わせから、レベルワン−ラン符号化テーブルＴＢＬ２１１における「コード番号」が特定される。
【０３２８】
そして、特定された「コード番号」に対応する「ビット列」を参照して、符号化を行う。
【０３２９】
図１０に示す例では、係数ｘの値が“＋２”であることから、ｒｕｎ＝０であり、ｉｓＬｅｖｅｌＯｎｅ＝ｆａｌｓｅであるから、レベルワン−ラン符号化テーブルＴＢＬ２１１よりコード番号は、“４”になる。また、コード番号“４”に対応するビット列は、“００００１”である。よって、５ビットのコードが符号化される。
【０３３０】
続いて、次のようにしてレベル符号化テーブルＴＢＬ２１２を参照して、係数のレベルが符号化される。まず、係数の「値（レベル）」に基づいて、レベル符号化テーブルＴＢＬ２１２を参照して「コード番号」を取得する。そして、特定された「コード番号」に対応する「ビット列」を参照して、符号化を行う。
【０３３１】
また、ランモードでは、係数ｘの絶対値から２を引いた値である“０”が符号化される（level_magnitude_minus2）。レベル符号化テーブルＴＢＬ２１２を参照し、“０”に対応するコード番号“０”を取得する。ここで、コード番号“０”に対応するビット列は、“１”である。よって、１ビットのコードが符号化される。
【０３３２】
さらに、係数の値の正負符号が符号化される。係数の値が正である時は、“０”が符号化され、負である場合は、“１”が符号化される。
【０３３３】
係数ｘの値の正負符号は、“正”であるので、ビット列“０”が符号化される。よって、１ビットのコードが符号化される。
【０３３４】
従って、ランモードを実行して係数ｘを符号化した場合、符号量は、合計７ビットとなる。
【０３３５】
［レベルモードを実行した場合］
レベルモードを実行した場合は次のとおりである。この場合、係数ｘの値が“＋２”であるので、レベル符号化テーブルＴＢＬ２１２から、対応するビット列“００１”を得る。また、正負符号の符号化により、ビット列“０”が符号化される。
【０３３６】
従って、レベルモードを実行して係数ｘを符号化した場合、符号化量は、合計４ビットになる。
【０３３７】
ここで、ランモードを実行した場合と、レベルモードを実行した場合とを比較すると次のとおりである。
【０３３８】
ランモードを実行した場合、係数ｘの絶対値は、２を引いて符号化されるため、１ビットの符号量で済む。これに対して、レベルモードを実行した場合、係数ｘの絶対値を符号化すると、符号化量は３ビットになる。
【０３３９】
しかし、ランモードを実行した場合、isLevelOne_runを符号化するため、isLevelOne_runの符号量の分だけ、全体の符号量が増大する。結果として、レベルモードを実行した場合よりもランモードを実行した場合のほうが、全体の符号量が多くなる。
【０３４０】
つまり、図１０に示す状況においては、図１１に示すＶＬＣテーブルを用いて符号化処理を行う場合、レベルモードを実行したほうが符号量は少なくて済む。
【０３４１】
［適応的残余係数符号化部の動作について］
次に、図１０に示す状況においては、図１１に示すＶＬＣテーブルを用いて符号化処理を行う場合の適応的残余係数符号化部２８３の動作について説明する。
【０３４２】
まず、条件判定部４３１が、ランモード開始条件を判定する。なお、ランモード開始条件は、上述の［１−１］であるとする。最後の非ゼロ係数ＬａｓｔＣｏｅｆｆの絶対値は、１より大きいので、ランモード開始条件を満たさない。
【０３４３】
よって、ランモードは開始されずに、レベルモードが実行される。すなわち、レベルモード処理部４３３が、係数ｘを符号化する。このため、レベルモード処理部４３３が実行する符号化処理における符号量は４ビットとなる。
【０３４４】
このように、適応的残余係数符号化部２８３によれば、図１０に示す状況において、ランモードを実行せずに、レベルモードを実行するので、符号量を少なくすることができる。また、動画像復号装置１が備える適応的残余係数復号部１２２についても同様である。
【０３４５】
（ＶＬＣテーブルの他の構成例）
次に、図１２を用いて、ＶＬＣテーブルＴＢＬ２１の具体的構成例について説明する。図１２は、図１０に示す状況下で参照されるＶＬＣテーブルＴＢＬ２１の他の構成例を示す。図１２の（ａ）は、ランモードにおいて、「ラン」、「次の非ゼロ係数の絶対値」の組み合わせを示す情報（isLevelOne_run）を符号化するために参照されるレベルワン−ラン符号化テーブルＴＢＬ２１１Ａを示しており、（ｂ）は、レベルを符号化するために参照されるレベル符号化テーブルＴＢＬ２１２Ａを示している。
【０３４６】
図１２の（ａ）に示すランモードテーブルでは、例えば、「ラン」が“１”、「次の非ゼロ係数の絶対値」が“１”であるときのコード番号は、“２”であることが規定されている。また、ランモードテーブルでは、コード番号“２”の場合、ランモード処理部３２２が符号化すべきビット列が、“１０”であることが規定されている。
【０３４７】
図１２の（ｂ）に示すレベルモードテーブルでは、まず、値が“０”の場合に、最も短いビット列“１”が割り当てられている。また、図１２の（ｂ）に示すレベルモードテーブルでは、値が、“１”〜“３”である場合は、それぞれ３ビットのビット列が割り当てられている。
【０３４８】
さらに、図１２を参照しながら、図１０に示す状況において、ランモードを実行した場合、および、レベルモードを実行した場合についてそれぞれ説明する。
【０３４９】
［ランモードを実行した場合］
ランモードを実行した場合は次のとおりである。まず、上述のとおり、レベルワン−ラン符号化テーブルＴＢＬ２１１Ａより、コード番号は、“４”であるから、これに対応するビット列は、“１１０１”となる。よって、４ビットのコードが符号化される。
【０３５０】
続いて、レベル符号化テーブルＴＢＬ２１２Ａが参照され、係数ｘの絶対値から２を引いた値である“０”に対応するビット列“１”が符号化される。ここでの符号量は１ビットである。
【０３５１】
また、係数ｘの正負符号が符号化される（１ビット）。以上により、ランモードを実行して係数ｘを符号化した場合、符号量は合計６ビットとなる。
【０３５２】
［レベルモードを実行した場合］
レベルモードを実行した場合は次のとおりである。この場合、係数ｘの値が“＋２”であるから、レベル符号化テーブルＴＢＬ２１２Ａから、対応するビット列は、“０１０”である。また、正負符号の符号化により、ビット列“０”が符号化される。
【０３５３】
従って、レベルモードを実行して係数ｘを符号化した場合、符号化量は、合計４ビットになる。
【０３５４】
図１０に示す状況において、図１２に示すＶＬＣテーブルを用いて符号化処理を行う場合、レベルモードを実行したほうが符号量は少なくて済む。
【０３５５】
この場合も、適応的残余係数符号化部２８３が、ランモードを実行せずに、レベルモードを実行するので、符号量を少なくすることができる。また、動画像復号装置１が備える適応的残余係数復号部１２２についても同様である。
【０３５６】
（作用・効果）
以上に示したように、動画像復号装置１は、動画像＃２が符号化された符号化データ＃１に含まれる、符号化された量子化変換係数を逆順のジグザグスキャンにより復号してから逆スキャンする復号処理により係数行列ＭＸ１０を再現する動画像復号装置１において、｛ｒｕｎ，ｌｅｖｅｌ｝の組を復号するランモードを実行するランモード処理部３２２と、係数の値を１つずつ復号するレベルモードを実行するレベルモード処理部３２３と、上記復号処理において、上記ランモードを実行してから上記レベルモードを実行するか、上記ランモードの実行を省略して上記レベルモードを実行するかを制御する条件判定部３２１とを備える構成である。
【０３５７】
また、以上に示したように、動画像符号化装置２は、入力画像＃１０から予測画像Ｐｒｅｄを減じた予測残差Ｄを、直交変換し、量子化した変換係数からなる係数行列ＭＸ１０をジグザグスキャンしたあと符号化する符号化処理により符号化データ＃１を出力する動画像符号化装置２において、｛ｒｕｎ，ｌｅｖｅｌ｝の組を符号化するランモードを実行するランモード処理部４３２と、係数の値を１つずつ符号化するレベルモードを実行するレベルモード処理部４３３と、上記符号化処理において、上記ランモードを実行してから上記レベルモードを実行するか、上記ランモードの実行を省略して上記レベルモードを実行するかを制御する条件判定部４３１とを備える構成である。
【０３５８】
以上の構成によれば、ランモードを実行することによる符号量の増加を回避し、復号すべき符号化データの符号量を低減することができるという効果を奏する。
【０３５９】
別の表現を用いれば、動画像符号化装置２は、最後から２番目の非ゼロ係数の絶対値が大きい可能性が高い場合に、符号化方法を適応的に選択し符号化効率の向上を図ることができる。
【０３６０】
また、動画像復号装置１は、上記動画像符号化装置２が適応的に符号化した符号化データを適切に復号することができる。
〔２〕実施形態２
本発明の他の実施形態について図１３〜図１５に基づいて説明すると、以下の通りである。なお、説明の便宜上、前記実施形態１にて説明した図面と同じ機能を有する部材については、同じ符号を付記し、その説明を省略する。
【０３６１】
本実施形態では、フラグに基づくランモード開始条件判定の動作制御について説明する。
【０３６２】
〔画像復号装置：ＴＴ情報復号部〕
まず、図１３を用いて、本実施形態に係るＴＴ情報復号部１２Ａの構成について説明する。図１３に示すＴＴ情報復号部１２Ａは、図１に示したＴＴ情報復号部１２の他の実施形態を示している。
【０３６３】
図１３に示すように、ＴＴ情報復号部１２Ａは、図１に示したＴＴ情報復号部１２において、処理判定部１２４および非適応的残余係数復号部１２５を追加したものである。ＴＴ情報復号部１２のそれ以外の構成は、ＴＴ情報復号部１２と同様である。以下、処理判定部１２４および非適応的残余係数復号部１２５について説明する。
【０３６４】
処理判定部１２４は、適応的に残余係数を復号するか否かを判定するものである。処理判定部１２４は、最後の非ゼロ係数復号部１２１と、適応的残余係数復号部１２２との間に設けられる。処理判定部１２４は、ＴＴ情報ＴＴＩからランモード開始条件判定の動作制御フラグを取得する。動作制御フラグは、ランモード開始条件判定をするか否かを示すフラグである。
【０３６５】
処理判定部１２４は、動作制御フラグがランモード開始条件判定をしないことを示す場合、非適応的残余係数復号部１２５に復号処理を実行するよう指示する。一方、処理判定部１２４は、動作制御フラグがランモード開始条件判定をすることを示す場合、適応的残余係数復号部１２２に復号処理を実行するよう指示する。
【０３６６】
非適応的残余係数復号部１２５は、ランモード開始条件の判定を行わないで、ランモードおよびレベルモードによる符号化処理を行うものである。
【０３６７】
非適応的残余係数復号部１２５は、ランモード処理部３５１およびレベルモード処理部３５２を備えている。すなわち、非適応的残余係数復号部１２５は、適応的残余係数復号部１２２と比較すれば、条件判定部３２１がない点で相違する。
【０３６８】
つまり、非適応的残余係数復号部１２５と、適応的残余係数復号部１２２との相違点は、非適応的残余係数復号部１２５が、ランモードを実行してから、レベルモードを実行するのに対して、適応的残余係数復号部１２２が、適応的にランモードを実行するところにある。
【０３６９】
なお、ランモード処理部３５１およびレベルモード処理部３５２の機能については、ランモード処理部３２２およびレベルモード処理部３２３と同様であるのでその説明を省略する。
【０３７０】
〔動画像符号化装置：ＴＴ情報符号化部〕
次に、図１４を用いて、本実施形態に係るＴＴ情報符号化部２８０Ａの構成について説明する。図１４に示すＴＴ情報符号化部２８０Ａは、図７に示したＴＴ情報符号化部２８０において、処理判定部２８４および非適応的残余係数符号化部２８５を追加したものである。
【０３７１】
ＴＴ情報符号化部２８０Ａのそれ以外の構成は、ＴＴ情報符号化部２８０と同様である。以下、処理判定部２８４および非適応的残余係数符号化部２８５について説明する。
【０３７２】
処理判定部２８４は、係数の絶対値の傾向に応じて適応的に残余係数を符号化するか否かを判定するものである。処理判定部２８４は、最後の非ゼロ係数符号化部２８２と、適応的残余係数符号化部２８３との間に設けられる。
【０３７３】
処理判定部２８４は、例えば、符号化処理前に全ての係数の絶対値を判定する。そして、全ての非ゼロ係数の絶対値が１であれば、処理判定部２８４は、適応的に残余係数を符号化しないことを決定する。一方、非ゼロ係数のなかに、１より大きい絶対値をもつものがあるとき、処理判定部２８４は、適応的に残余係数を符号化することを決定する。処理判定部２８４をこのように構成するのは、絶対値が１の係数しかない場合、長いランが期待されるためである。ここで適応的な符号化処理とは、ランモード開始条件判定を行って符号化処理することである。
【０３７４】
また、処理判定部１２４は、ランモード開始条件判定を行うか否かを示す動作制御フラグを符号化する。
【０３７５】
以上のように動画像符号化装置２において、ランモード開始条件判定を行うか否かを示す動作制御フラグを符号化し、動画像復号装置１において動作制御フラグに応じてランモード開始条件を判定してもよい。
【０３７６】
（処理の流れ）
次に、図１５を用いて、動画像符号化装置２が備えるＴＴ情報符号化部２８０Ａにおける符号化処理の流れと、動画像復号装置１が備えるＴＴ情報復号部１２Ａにおける復号処理の流れについて説明する。図１５は、ＴＴ情報符号化部２８０Ａにおける符号化処理およびＴＴ情報復号部１２Ａにおける復号処理の各々の流れについて示すフローチャートである。図１５の（ａ）は、ＴＴ情報符号化部２８０Ａにおける符号化処理の流れを示しており、同図の（ｂ）は、ＴＴ情報復号部１２Ａにおける復号処理の流れを示している。
【０３７７】
［動画像符号化装置：ＴＴ情報符号化部の処理の流れ］
図１５の（ａ）に示すように、まず、ＴＴ情報符号化部２８０Ａは、ランモード開始判定を行うか否かを判定する（Ｓ１０１）。
【０３７８】
ランモード開始判定を行わない場合（Ｓ１０１においてＮＯ）、非適応的残余係数符号化処理を実行する（Ｓ１０２）。ステップＳ１０２の処理内容については、図１７の（ａ）に示すＳ１００１〜Ｓ１００７と同様であるので、ここではその説明を省略する。
【０３７９】
一方、ランモード開始判定を行う場合（Ｓ１０１においてＹＥＳ）、適応的残余係数符号化処理を実行する（Ｓ１０３）。ステップＳ１０３の処理内容については、図８を用いて示したステップＳ２１〜Ｓ２８であるので、ここではその説明を省略する。
【０３８０】
なお、ＴＴ情報符号化部２８０Ａは、ランモード開始判定を行うか否かを示す動作制御フラグを符号化して出力する。
【０３８１】
〔画像復号装置：ＴＴ情報復号部の処理の流れ〕
図１５の（ｂ）に示すように、まず、ＴＴ情報復号部１２は、ランモード開始条件判定の動作制御フラグのオン／オフを判定する（Ｓ２０１）。
【０３８２】
動作制御フラグがオフである場合（Ｓ２０１においてＯＦＦ）、非適応的残余係数復号処理を実行する（Ｓ２０２）。ステップＳ２０２の処理内容については、図１７の（ｂ）に示すＳ２００１〜Ｓ２００７と同様であるので、ここではその説明を省略する。
【０３８３】
一方、動作制御フラグがオンである場合（Ｓ２０１においてＯＮ）、適応的残余係数符号処理を実行する（Ｓ２０３）。ステップＳ２０３の処理内容については、図５を用いて説明したＳ１１〜Ｓ１８であるので、ここではその説明を省略する。
【０３８４】
以上に示した構成によれば、ランモード開始条件判定を行うか否かを切り替えることができる。
〔その他の変形例〕
本発明は上述した実施形態に限定されるものではなく、請求項に示した範囲で種々の変更が可能である。すなわち、請求項に示した範囲で適宜変更した技術的手段を組み合わせて得られる実施形態についても本発明の技術的範囲に含まれる。
【０３８５】
例えば、上述の本実施形態に係る画像復号装置は、符号化データから動画像を復号するものとしたが、動画像を対象とするか静止画像を対象とするかを問わず、画像復号装置一般に適用できるものである。画像符号化装置についても同様である。
【０３８６】
また、以下の構成変更も可能である。
【０３８７】
（係数のスキャン順序の変更）
以下において、図１６を参照しながら、係数行列のサイズが４×４より大きい場合において、スキャン順序を変更する手法について説明する。
【０３８８】
図１６は、係数のスキャン順序の変更例を示す図である。図１６の（ａ）は、１６×１６の係数行列ＭＸ１００を示している。また、同図の（ｂ）は、１６×１６の係数行列ＭＸ１００を分割して得られる４×４の係数ブロックＭＸ１０１を示している。また、図１６の（ｃ）は、係数行列ＭＸ１００を、ブロックに分割してスキャン順序を変更する例を示している。
【０３８９】
図１６に示すように、変換係数を表す係数行列が４×４より大きくなる場合、４×４単位のブロックに区切って、ブロック単位で符号化する。
【０３９０】
具体的には、図１６の（ａ）に示すように、１６×１６の係数行列Ｍ１００を、４×４のブロックに区切る。１ブロックは、４×４のブロックになる。以下、この４×４のブロックを係数ブロックＭＸ１０１と称する。
【０３９１】
係数行列ＭＸ１００において、スキャンは、左上の係数ブロックＭＸ１０１から、図１６の（ａ）に矢印で示すスキャン順序により、係数ブロックＭＸ１０１単位でジグザグスキャンを実行する。
【０３９２】
そして、各係数ブロックＭＸ１０１では、図１６の（ｂ）に示すように、係数ブロックＭＸ１０１の左上の係数Ｃから図中に矢印で示すスキャン順序でジグザグスキャンを実行する。以上のスキャンの流れを、まとめて表したのが図１６の（ｃ）に示す図である。
【０３９３】
上記構成によれば、スキャン順を格納するテーブルを小さくすることができる。言い換えれば、係数を格納する１次元配列は、係数行列を区切った係数ブロックに合わせて用意しておけばよいので、係数を格納する１次元配列のサイズを小さくすることができる。なお、係数ブロックの位置に応じて、ランモード開始条件の判定をするか否かを変更してもよい。
【０３９４】
（動画像復号装置１および動画像符号化装置の実現手法について）
最後に、上述した動画像復号装置１および動画像符号化装置２の各ブロックは、集積回路（ＩＣチップ）上に形成された論理回路によってハードウェア的に実現してもよいし、ＣＰＵ（Central Processing Unit）を用いてソフトウェア的に実現してもよい。
【０３９５】
後者の場合、上記各装置は、各機能を実現するプログラムの命令を実行するＣＰＵ、上記プログラムを格納したＲＯＭ（Read Only Memory）、上記プログラムを展開するＲＡＭ（Random Access Memory）、上記プログラムおよび各種データを格納するメモリ等の記憶装置（記録媒体）などを備えている。そして、本発明の目的は、上述した機能を実現するソフトウェアである上記各装置の制御プログラムのプログラムコード（実行形式プログラム、中間コードプログラム、ソースプログラム）をコンピュータで読み取り可能に記録した記録媒体を、上記各装置に供給し、そのコンピュータ（またはＣＰＵやＭＰＵ）が記録媒体に記録されているプログラムコードを読み出し実行することによっても、達成可能である。
【０３９６】
上記記録媒体としては、例えば、磁気テープやカセットテープ等のテープ類、フロッピー（登録商標）ディスク／ハードディスク等の磁気ディスクやＣＤ−ＲＯＭ／ＭＯ／ＭＤ／ＤＶＤ／ＣＤ−Ｒ／ブルーレイディスク（登録商標）等の光ディスクを含むディスク類、ＩＣカード（メモリカードを含む）／光カード等のカード類、マスクＲＯＭ／ＥＰＲＯＭ／ＥＥＰＲＯＭ／フラッシュＲＯＭ等の半導体メモリ類、あるいはＰＬＤ（Programmable logic device）やＦＰＧＡ（Field Programmable Gate Array）等の論理回路類などを用いることができる。
【０３９７】
また、上記各装置を通信ネットワークと接続可能に構成し、上記プログラムコードを通信ネットワークを介して供給してもよい。この通信ネットワークは、プログラムコードを伝送可能であればよく、特に限定されない。例えば、インターネット、イントラネット、エキストラネット、ＬＡＮ、ＩＳＤＮ、ＶＡＮ、ＣＡＴＶ通信網、仮想専用網（Virtual Private Network）、電話回線網、移動体通信網、衛星通信網等が利用可能である。また、この通信ネットワークを構成する伝送媒体も、プログラムコードを伝送可能な媒体であればよく、特定の構成または種類のものに限定されない。例えば、ＩＥＥＥ１３９４、ＵＳＢ、電力線搬送、ケーブルＴＶ回線、電話線、ＡＤＳＬ（Asymmetric Digital Subscriber Line）回線等の有線でも、ＩｒＤＡやリモコンのような赤外線、Ｂｌｕｅｔｏｏｔｈ（登録商標）、ＩＥＥＥ８０２．１１無線、ＨＤＲ（High Data Rate）、ＮＦＣ（Near Field Communication）、ＤＬＮＡ（Digital Living Network Alliance）、携帯電話網、衛星回線、地上波デジタル網等の無線でも利用可能である。なお、本発明は、上記プログラムコードが電子的な伝送で具現化された、搬送波に埋め込まれたコンピュータデータ信号の形態でも実現され得る。
【産業上の利用可能性】
【０３９８】
本発明は、画像データが符号化された符号化データを復号する画像復号装置、および、画像データが符号化された符号化データを生成する画像符号化装置に好適に適用することができる。また、画像符号化装置によって生成され、画像復号装置によって参照される符号化データのデータ構造に好適に適用することができる。
【符号の説明】
【０３９９】
＃１  符号化データ
１  動画像復号装置（画像復号装置）
２  動画像符号化装置（画像符号化装置）
１２２  適応的残余係数復号部
２８３  適応的残余係数符号化部
３２１  条件判定部（実行制御手段）
３２２  ランモード処理部（ランモード実行手段）
３２３  レベルモード処理部（レベルモード実行手段）
４３１  条件判定部（実行制御手段）
４３２  ランモード処理部（ランモード実行手段）
４３３  レベルモード処理部（レベルモード実行手段）
ＴＢＬ１１  ＶＬＣテーブル
ＴＢＬ２１  ＶＬＣテーブル
【図１】
2012182753.tif 000003
【図２】
2012182753.tif 000004
【図３】
2012182753.tif 000005
【図４】
2012182753.tif 000006
【図５】
2012182753.tif 000007
【図６】
2012182753.tif 000008
【図７】
2012182753.tif 000009
【図８】
2012182753.tif 000010
【図９】
2012182753.tif 000011
【図１０】
2012182753.tif 000012
【図１１】
2012182753.tif 000013
【図１２】
2012182753.tif 000014
【図１３】
2012182753.tif 000015
【図１４】
2012182753.tif 000016
【図１５】
2012182753.tif 000017
【図１６】
2012182753.tif 000018
【図１７】
2012182753.tif 000019
【図１８】
2012182753.tif 000020