(57)【特許請求の範囲】
【請求項１】
フレーム画像を所定サイズのブロックに分割し、前記ブロック毎に画像データを符号化する符号化方法であって、
前記ブロック内にある画像の画像データを前記フレーム画像または他のフレーム画像にある他のブロックと比較して動きを検出し、動き補償について用意された複数の符号化モードから前記画像データに適用する符号化モードを選択して、前記画像データに対する動き補償を行う動き補償ステップと、
所定の２値化テーブルを用いて選択された前記符号化モードを示す符号化モード情報及び前記画像データを２値化して２値化パターンを生成するとともに、所定の確率テーブルを用いた算術符号化によって前記２値化パターンを可変長符号化して、符号化データを生成する符号化ステップとを備え、
前記符号化ステップにおいて、前記符号化モード情報に対応する前記２値化パターンに含まれる２値化符号のそれぞれについて、前記ブロックの隣接ブロックで選択された符号化モードを参照して、適用する前記確率テーブルを切り換えるとともに、
前記符号化ステップにおいて、前記複数の符号化モードのそれぞれに対して、スキップモード、インターモード、イントラモードの違い、及び動き補償用ブロックへの区分数の違いに基づいて複雑度を設定しておき、前記隣接ブロックで選択された符号化モードに対応する前記複雑度を参照して、前記確率テーブルを切り換えることを特徴とする画像符号化方法。
【請求項２】
前記符号化ステップにおいて、前記複数の符号化モードのそれぞれに対して、さらに前記動き補償用ブロックへの区分方向の違いに基づいて前記複雑度を設定することを特徴とする請求項１記載の画像符号化方法。
【請求項３】
前記複数の符号化モードは、前記動き補償を行うとともに前記ブロック内にある画像の動き補償用ブロックへの区分方法が互いに異なる２以上の符号化モードを含むことを特徴とする請求項１または２記載の画像符号化方法。
【請求項４】
前記複数の符号化モードは、前記動き補償に使用する参照フレームと同位置の画像をコピーするスキップモードを含むことを特徴とする請求項１〜３のいずれか一項記載の画像符号化方法。
【請求項５】
フレーム画像を所定サイズのブロックに分割し、前記ブロック毎に画像データを符号化した符号化データを復号する復号方法であって、
所定の確率テーブルを用いた逆算術符号化によって前記符号化データを可変長復号して２値化パターンを生成するとともに、所定の２値化テーブルを用いて前記２値化パターンを逆２値化して、符号化モード情報及び前記ブロック内にある画像の画像データを生成する復号ステップと、
動き補償について用意された複数の符号化モードから前記符号化モード情報が示す選択された符号化モードを適用して、前記画像データに対する動き補償を行う動き補償ステップとを備え、
前記復号ステップにおいて、前記符号化モード情報に対応する前記２値化パターンに含まれる２値化符号のそれぞれについて、前記ブロックの隣接ブロックで選択された符号化モードを参照して、適用する前記確率テーブルを切り換えるとともに、
前記復号ステップにおいて、前記複数の符号化モードのそれぞれに対して、スキップモード、インターモード、イントラモードの違い、及び動き補償用ブロックへの区分数の違いに基づいて複雑度を設定しておき、前記隣接ブロックで選択された符号化モードに対応する前記複雑度を参照して、前記確率テーブルを切り換えることを特徴とする画像復号方法。
【請求項６】
前記復号ステップにおいて、前記複数の符号化モードのそれぞれに対して、さらに前記動き補償用ブロックへの区分方向の違いに基づいて前記複雑度を設定することを特徴とする請求項５記載の画像復号方法。
【請求項７】
前記複数の符号化モードは、前記動き補償を行うとともに前記ブロック内にある画像の動き補償用ブロックへの区分方法が互いに異なる２以上の符号化モードを含むことを特徴とする請求項５または６記載の画像復号方法。
【請求項８】
前記複数の符号化モードは、前記動き補償に使用する参照フレームと同位置の画像をコピーするスキップモードを含むことを特徴とする請求項５〜７のいずれか一項記載の画像復号方法。
【請求項９】
フレーム画像を所定サイズのブロックに分割し、前記ブロック毎に画像データを符号化する符号化装置であって、
前記ブロック内にある画像の画像データを前記フレーム画像または他のフレーム画像にある他のブロックと比較して動きを検出し、動き補償について用意された複数の符号化モードから前記画像データに適用する符号化モードを選択して、前記画像データに対する動き補償を行う動き補償手段と、
所定の２値化テーブルを用いて選択された前記符号化モードを示す符号化モード情報及び前記画像データを２値化して２値化パターンを生成するとともに、所定の確率テーブルを用いた算術符号化によって前記２値化パターンを可変長符号化して、符号化データを生成する符号化手段とを備え、
前記符号化手段は、前記符号化モード情報に対応する前記２値化パターンに含まれる２値化符号のそれぞれについて、前記ブロックの隣接ブロックで選択された符号化モードを参照して、適用する前記確率テーブルを切り換えるとともに、
前記符号化手段は、前記複数の符号化モードのそれぞれに対して、スキップモード、インターモード、イントラモードの違い、及び動き補償用ブロックへの区分数の違いに基づいて複雑度を設定しておき、前記隣接ブロックで選択された符号化モードに対応する前記複雑度を参照して、前記確率テーブルを切り換えることを特徴とする画像符号化装置。
【請求項１０】
前記符号化手段は、前記複数の符号化モードのそれぞれに対して、さらに前記動き補償用ブロックへの区分方向の違いに基づいて前記複雑度を設定することを特徴とする請求項９記載の画像符号化装置。
【請求項１１】
前記複数の符号化モードは、前記動き補償を行うとともに前記ブロック内にある画像の動き補償用ブロックへの区分方法が互いに異なる２以上の符号化モードを含むことを特徴とする請求項９または１０記載の画像符号化装置。
【請求項１２】
前記複数の符号化モードは、前記動き補償に使用する参照フレームと同位置の画像をコピーするスキップモードを含むことを特徴とする請求項９〜１１のいずれか一項記載の画像符号化装置。
【請求項１３】
フレーム画像を所定サイズのブロックに分割し、前記ブロック毎に画像データを符号化した符号化データを復号する復号装置であって、
所定の確率テーブルを用いた逆算術符号化によって前記符号化データを可変長復号して２値化パターンを生成するとともに、所定の２値化テーブルを用いて前記２値化パターンを逆２値化して、符号化モード情報及び前記ブロック内にある画像の画像データを生成する復号手段と、
動き補償について用意された複数の符号化モードから前記符号化モード情報が示す選択された符号化モードを適用して、前記画像データに対する動き補償を行う動き補償手段とを備え、
前記復号手段は、前記符号化モード情報に対応する前記２値化パターンに含まれる２値化符号のそれぞれについて、前記ブロックの隣接ブロックで選択された符号化モードを参照して、適用する前記確率テーブルを切り換えるとともに、
前記復号手段は、前記複数の符号化モードのそれぞれに対して、スキップモード、インターモード、イントラモードの違い、及び動き補償用ブロックへの区分数の違いに基づいて複雑度を設定しておき、前記隣接ブロックで選択された符号化モードに対応する前記複雑度を参照して、前記確率テーブルを切り換えることを特徴とする画像復号装置。
【請求項１４】
前記復号手段は、前記複数の符号化モードのそれぞれに対して、さらに前記動き補償用ブロックへの区分方向の違いに基づいて前記複雑度を設定することを特徴とする請求項１３記載の画像復号装置。
【請求項１５】
前記複数の符号化モードは、前記動き補償を行うとともに前記ブロック内にある画像の動き補償用ブロックへの区分方法が互いに異なる２以上の符号化モードを含むことを特徴とする請求項１３または１４記載の画像復号装置。
【請求項１６】
前記複数の符号化モードは、前記動き補償に使用する参照フレームと同位置の画像をコピーするスキップモードを含むことを特徴とする請求項１３〜１５のいずれか一項記載の画像復号装置。
【請求項１７】
請求項１〜４のいずれか一項記載の画像符号化方法をコンピュータに実行させるための画像符号化プログラム。
【請求項１８】
請求項５〜８のいずれか一項記載の画像復号方法をコンピュータに実行させるための画像復号プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、モバイル映像伝送システムなどの画像伝送システムに好適に適用することが可能な画像符号化方法、画像復号方法、画像符号化装置、画像復号装置、及びプログラムに関するものである。
【背景技術】
【０００２】
従来、動画像の符号化方式として、ＩＴＵ−Ｔ  Ｈ．２６ｘやＭＰＥＧシリーズなどの標準動画像符号化方式が知られている。これらの画像符号化方式においては、符号化対象として入力されたフレーム画像に対して、他のフレーム画像との間で動き補償（ＭＣ：Motion Compensation）フレーム間予測を行って、画像データを動きベクトルと差分（予測残差）フレーム画像へと変換することが行われている。このような動き補償により、符号化対象となるフレーム画像から時間的変化についての冗長度を除くことが可能となり、画像符号化によるデータ圧縮の効率などが向上される。
【０００３】
また、動き補償によって生成された画像データである差分フレーム画像は、さらに直交変換及び可変長符号化されて、画像伝送に用いられる圧縮データである符号化データとなる。このような可変長符号化方法の１つとして、算術符号化（ＡＣ：Arithmetic Coding）が用いられている。
【０００４】
一般に、複数種類のシンボルを組み合わせた情報源系列（シンボル系列）に対して算術符号化を行う場合、まず、［０．０，１．０）の数直線（確率数直線）上において、それぞれのシンボルに対して、シンボルの出現確率に応じて一定の区間を割り当てる。このとき、シンボルと数直線上の区間との対応関係を表したものは、確率テーブルと呼ばれる。算術符号化によって情報源系列を可変長符号化する際には、この確率テーブルを参照することによって、情報源系列を数直線上で表現した符号語が生成される。
【０００５】
ここで、図１〜図３を参照して、算術符号化について説明する。具体的には、文字列「ＡＲＩＴＨＭＥＴＩＣ」を符号化対象の情報源系列とし、その算術符号化を例として説明する。
【０００６】
上記した情報源系列内には、Ａ、Ｃ、Ｅ、Ｈ、Ｉ、Ｍ、Ｒ、Ｔの８種類の文字（シンボル）が現れる。これらの文字に対し、図１の表に示すように、［０．０，１．０）の数直線（確率数直線）上で、文字列における各文字の出現確率に比例した区間長となるようにそれぞれ区間を割り当てる。この文字と数直線上の区間との対応関係を表す図１に示した表が、算術符号化に用いられる確率テーブルとなる。
【０００７】
図２は、図１に示した確率テーブルを用いた文字列「ＡＲＩＴＨＭＥＴＩＣ」の符号化について示す図である。算術符号化においては、確率テーブルに基づいた区間縮小操作を、情報源系列に含まれる各シンボルに対して順次行うことによって、情報源系列を符号化した符号語を生成する。
【０００８】
図２に示した例では、まず、符号化対象である文字列「ＡＲＩＴＨＭＥＴＩＣ」の第１の文字「Ａ」に対して、図１に示した確率テーブルを参照して、数直線上の区間［０，１）を各文字に対応する８個の区間に区分する。そして、それらの区間のうちで、文字「Ａ」に対応する区間［０．０，０．１）へと区間を縮小する。次に、第２の文字「Ｒ」に対して、確率テーブルを参照して、区間［０．０，０．１）を８個の区間に区分する。そして、それらの区間のうちで、文字「Ｒ」に対応する区間［０．０７，０．０８）へと区間を縮小する。
【０００９】
以下、この区間縮小による符号化操作を各文字に対して順次行っていく。そして、最終的に得られた数直線上の区間［０．０７５７４５１５３６，０．０７５７４５１５５２）において、その区間内にある数値「０．０７５７４５１５３６」が、文字列「ＡＲＩＴＨＭＥＴＩＣ」を算術符号化した符号語として生成される。
【００１０】
図３は、図１に示した確率テーブルを用いた符号語「０．０７５７４５１５３６」の文字列「ＡＲＩＴＨＭＥＴＩＣ」への復号について示す図である。
【００１１】
図３に示した例では、まず、復号対象である符号語「０．０７５７４５１５３６」に対して、図１に示した確率テーブルを参照して、符号語が含まれている区間長０．１の区間［０．０，０．１）を特定する。そして、特定された区間に対応する文字「Ａ」を第１の文字として出力するとともに、（符号語−下限）／（区間長）によって、新たな符号語「０．７５７４５１５３６」を生成する。次に、符号語「０．７５７４５１５３６」に対して、確率テーブルを参照して、符号語が含まれている区間長０．１の区間［０．７，０．８）を特定する。そして、特定された区間に対応する文字「Ｒ」を第２の文字として出力するとともに、新たな符号語「０．５７４５１５３６」を生成する。
【００１２】
以下、この復号操作を符号語に対して順次行っていく。そして、算術符号化された符号語「０．０７５７４５１５３６」から、文字列「ＡＲＩＴＨＭＥＴＩＣ」が復元される。
【００１３】
このように、算術符号化を用いた情報源系列の可変長符号化では、情報源系列に含まれるシンボルと数直線上の区間とを対応付けることにより、任意の情報源系列を［０．０，１．０）の数直線上の符号語によって表現することができる。また、シンボルと区間とを対応付ける確率テーブルを各シンボルの出現確率に応じて設定することにより、情報源系列の可変長符号化を効率良く行って、符号化によるデータ圧縮の効率を向上することができる。
【非特許文献１】
VCEG-M10 H.26L Test Model Long Term Number 8 (TML-8) draft0
【発明の開示】
【発明が解決しようとする課題】
【００１４】
図４は、上述した算術符号化による可変長符号化を用いた画像符号化方法の一例を示すフローチャートである。図４に示した画像符号化方法では、ＩＴＵ−Ｔ  Ｈ．２６Ｌ映像符号化方式（VCEG-M10 H.26L Test Model Long Term Number 8 (TML-8) draft0 を参照）で用いられているコンテキストモデリングを用いたＣＡＢＡＣ（Context-based Adaptive Binary Arithmetic Coding）と呼ばれる方法によって、画像データの算術符号化を行っている。
【００１５】
画像データの符号化においては、まず、符号化対象の画像を所定サイズのブロックに分割し、ブロック毎にイントラフレーム符号化（Intra-Frame Coding、フレーム内符号化）やインターフレーム符号化（Inter-Frame Coding、フレーム間符号化）、ＤＣＴ等の直交変換などの必要なデータ変換処理を行って、ブロック内にある画像を表す画像データを生成する。そして、その画像データに対して、算術符号化などを用いて可変長符号化を行って、データ圧縮された符号化データが生成される。
【００１６】
図４に示した画像符号化方法においては、特に、あらかじめ固定に設定された条件によって符号化を行うのではなく、ブロック毎の画像データを符号化する際に、コンテキストモデリングを行っている（ステップＳ９０１、Context Modeling）。コンテキストモデリングを用いた算術符号化では、画像データの符号化に用いる確率テーブルについて、符号化対象のブロックでの画像データに対して適用する確率テーブルが、隣接ブロックでの画像符号化の処理結果などの符号化条件を参照して切り換えて設定される。
【００１７】
コンテキストモデリングによる確率テーブルの設定を終了したら、符号化対象の画像データ（例えば複数のＤＣＴ係数）を２値化して、伝送すべきデータ系列を生成する（Ｓ９０２、Binarization）。そして、２値化されたデータ系列に対して算術符号化を行って（Ｓ９０３、Adaptive Binary Arithmetic Coding）、符号化データを得る。
【００１８】
具体的には、２値化されたデータ系列の各ビットに対し、コンテキストモデリングによって設定された確率テーブルを割り当てて確率評価を行う（Ｓ９０４、Probability Estimation）。そして、割り当てられた確率テーブルを用いてデータ系列を算術符号化し、符号化データである数直線上の符号語を生成する（Ｓ９０５、Arithmetic Coding）。また、算術符号化の処理結果に基づいて、符号化したビットの発生頻度などの情報を確率テーブルへとフィードバックすることによって確率評価を更新し、符号化の傾向を確率テーブルに反映させる（Ｓ９０６、Probability Estimation Update）。
【００１９】
コンテキストモデリングを用いた算術符号化による上記の画像符号化方法によれば、符号化条件や処理結果に応じて使用する確率テーブルを切り換えることによって、符号化データでの冗長度を低減することが可能である。
【００２０】
一方、画像符号化において上述した動き補償を行う場合、動き補償での補償条件や方法が異なる複数の符号化モードを用意しておき、その中から各画像データに適用する符号化モードを選択して動き補償を行う場合がある。このような場合には、選択された符号化モードを示す符号化モード情報も画像データとともに可変長符号化されて、符号化データに多重化される。したがって、符号化データでの冗長度の低減については、この符号化モード情報についても冗長度の除去を行って、符号化データでのデータ圧縮の効率を向上することが必要となる。
【００２１】
本発明は、以上の問題点を解決するためになされたものであり、符号化データに多重化される符号化モード情報に対するデータ圧縮の効率を向上することが可能な画像符号化方法、画像復号方法、画像符号化装置、画像復号装置、及びプログラムを提供することを目的とする。
【課題を解決するための手段】
【００２２】
このような目的を達成するために、本発明による画像符号化方法は、フレーム画像を所定サイズのブロックに分割し、ブロック毎に画像データを符号化する符号化方法であって、（１）ブロック内にある画像の画像データをフレーム画像または他のフレーム画像にある他のブロックと比較して動きを検出し、動き補償について用意された複数の符号化モードから画像データに適用する符号化モードを選択して、画像データに対する動き補償を行う動き補償ステップと、（２）所定の２値化テーブルを用いて選択された符号化モードを示す符号化モード情報及び画像データを２値化して２値化パターンを生成するとともに、所定の確率テーブルを用いた算術符号化によって２値化パターンを可変長符号化して、符号化データを生成する符号化ステップとを備え、（３）符号化ステップにおいて、符号化モード情報に対応する２値化パターンに含まれる２値化符号のそれぞれについて、ブロックの隣接ブロックで選択された符号化モードを参照して、適用する確率テーブルを切り換えるとともに、（４）符号化ステップにおいて、複数の符号化モードのそれぞれに対して、スキップモード、インターモード、イントラモードの違い、及び動き補償用ブロックへの区分数の違いに基づいて複雑度を設定しておき、隣接ブロックで選択された符号化モードに対応する複雑度を参照して、確率テーブルを切り換えることを特徴とする。
【００２３】
同様に、本発明による画像符号化装置は、フレーム画像を所定サイズのブロックに分割し、ブロック毎に画像データを符号化する符号化装置であって、（１）ブロック内にある画像の画像データをフレーム画像または他のフレーム画像にある他のブロックと比較して動きを検出し、動き補償について用意された複数の符号化モードから画像データに適用する符号化モードを選択して、画像データに対する動き補償を行う動き補償手段と、（２）所定の２値化テーブルを用いて選択された符号化モードを示す符号化モード情報及び画像データを２値化して２値化パターンを生成するとともに、所定の確率テーブルを用いた算術符号化によって２値化パターンを可変長符号化して、符号化データを生成する符号化手段とを備え、（３）符号化手段は、符号化モード情報に対応する２値化パターンに含まれる２値化符号のそれぞれについて、ブロックの隣接ブロックで選択された符号化モードを参照して、適用する確率テーブルを切り換えるとともに、（４）符号化手段は、複数の符号化モードのそれぞれに対して、スキップモード、インターモード、イントラモードの違い、及び動き補償用ブロックへの区分数の違いに基づいて複雑度を設定しておき、隣接ブロックで選択された符号化モードに対応する複雑度を参照して、確率テーブルを切り換え
ることを特徴とする。
【００２４】
また、本発明による画像符号化プログラムは、上記した画像符号化方法をコンピュータに実行させることを特徴とする。
【００２５】
上記した画像符号化方法、装置、及びプログラムにおいては、動き補償での補償条件や方法が異なる複数の符号化モードから適用する符号化モードを選択して動き補償を行った後、動き補償がされた画像データと、動き補償に適用された符号化モードを示す符号化モード情報とを算術符号化し多重化して、データ圧縮された符号化データを生成する。そして、符号化モード情報の算術符号化において、符号化モード情報が２値化された２値化パターンに含まれる２値化符号のそれぞれについて、隣接ブロックでの処理結果を参照しつつ確率テーブルを切り換えて、算術符号化を行うこととしている。
【００２６】
これにより、２値化パターンでの２値化符号のそれぞれの符号位置や、隣接ブロックで選択された符号化モードなどが、算術符号化での符号化条件に対して反映される。したがって、符号化モード情報の冗長度を効果的に除去して、符号化データでのデータ圧縮の効率を向上することが可能となる。
【００２７】
また、本発明による画像復号方法は、フレーム画像を所定サイズのブロックに分割し、ブロック毎に画像データを符号化した符号化データを復号する復号方法であって、（１）所定の確率テーブルを用いた逆算術符号化によって符号化データを可変長復号して２値化パターンを生成するとともに、所定の２値化テーブルを用いて２値化パターンを逆２値化して、符号化モード情報及びブロック内にある画像の画像データを生成する復号ステップと、（２）動き補償について用意された複数の符号化モードから符号化モード情報が示す選択された符号化モードを適用して、画像データに対する動き補償を行う動き補償ステップとを備え、（３）復号ステップにおいて、符号化モード情報に対応する２値化パターンに含まれる２値化符号のそれぞれについて、ブロックの隣接ブロックで選択された符号化モードを参照して、適用する確率テーブルを切り換えるとともに、（４）復号ステップにおいて、複数の符号化モードのそれぞれに対して、スキップモード、インターモード、イントラモードの違い、及び動き補償用ブロックへの区分数の違いに基づいて複雑度を設定しておき、隣接ブロックで選択された符号化モードに対応する複雑度を参照して、確率テーブルを切り換えることを特徴とする。
【００２８】
同様に、本発明による画像復号装置は、フレーム画像を所定サイズのブロックに分割し、ブロック毎に画像データを符号化した符号化データを復号する復号装置であって、（１）所定の確率テーブルを用いた逆算術符号化によって符号化データを可変長復号して２値化パターンを生成するとともに、所定の２値化テーブルを用いて２値化パターンを逆２値化して、符号化モード情報及びブロック内にある画像の画像データを生成する復号手段と、（２）動き補償について用意された複数の符号化モードから符号化モード情報が示す選択された符号化モードを適用して、画像データに対する動き補償を行う動き補償手段とを備え、（３）復号手段は、符号化モード情報に対応する２値化パターンに含まれる２値化符号のそれぞれについて、ブロックの隣接ブロックで選択された符号化モードを参照して、適用する確率テーブルを切り換えるとともに、（４）復号手段は、複数の符号化モードのそれぞれに対して、スキップモード、インターモード、イントラモードの違い、及び動き補償用ブロックへの区分数の違いに基づいて複雑度を設定しておき、隣接ブロックで選択された符号化モードに対応する複雑度を参照して、確率テーブルを切り換えることを特徴とする。
【００２９】
また、本発明による画像復号プログラムは、上記した画像復号方法をコンピュータに実行させることを特徴とする。
【００３０】
上記した画像復号方法、装置、及びプログラムにおいては、データ圧縮された符号化データを逆算術符号化及び逆２値化することによって符号化モード情報及び画像データを復号した後、符号化モード情報が示す符号化モードを適用して動き補償を行う。そして、符号化データの逆算術符号化において、上述した算術符号化の場合と同様に、符号化モード情報が２値化された２値化パターンに含まれる２値化符号のそれぞれについて、隣接ブロックでの処理結果を参照しつつ確率テーブルを切り換えて、逆算術符号化を行うこととしている。
【００３１】
これにより、２値化パターンでの２値化符号のそれぞれの符号位置や、隣接ブロックで選択された符号化モードなどが、逆算術符号化での復号条件に対して反映される。したがって、符号化モード情報の冗長度を効果的に除去して、符号化データでのデータ圧縮の効率が向上された符号化データから、データを好適に復元することが可能となる。
【００３２】
また、符号化方法、復号方法、及び符号化装置、復号装置は、複数の符号化モードが、動き補償を行うとともにブロック内にある画像の動き補償用ブロックへの区分方法が互いに異なる２以上の符号化モードを含むことが好ましい。
【００３３】
動き補償用ブロックは、符号化対象となっているブロック内を１または複数のブロックに区分して、その区分された動き補償用ブロック毎に動きベクトルの付与を行うためのものである。このような動き補償用ブロックに対し、ブロック区分が異なる２以上の符号化モードを含む上記の複数の符号化モードについて、隣接ブロックで選択された符号化モードを参照して確率テーブルの切り換えを行うことにより、動き補償用ブロックの区分方法を含む動き補償の条件に応じて符号化データでの冗長度を低減させて、そのデータ圧縮の効率をさらに向上することができる。
【００３４】
また、複数の符号化モードは、動き補償に使用する参照フレームと同位置の画像をコピーするスキップモードを含むことが好ましい。ただし、このスキップモードについては、複数の符号化モードにスキップモードが含まれない構成としても良い。
【００３５】
また、画像伝送システムとしては、フレーム画像を所定サイズのブロックに分割し、ブロック毎に画像データを符号化した符号化データによってフレーム画像を伝送する画像伝送システムであって、（１）フレーム画像から符号化データを生成して出力する上記した画像符号化装置と、（２）画像符号化装置からの符号化データを入力してフレーム画像を復元する上記した画像復号装置とを備えることが好ましい。
【００３６】
このような画像伝送システムによれば、符号化データに多重化される符号化モード情報に対するデータ圧縮の効率が向上された符号化データを用いて、効率的に画像を伝送することができる。
【発明の効果】
【００３７】
本発明による画像符号化方法、画像復号方法、画像符号化装置、画像復号装置、及びプログラムは、符号化データに多重化される符号化モード情報に対するデータ圧縮の効率を向上することが可能な方法及び装置等として利用可能である。
【発明を実施するための最良の形態】
【００３８】
以下、図面とともに本発明による画像符号化方法、画像復号方法、画像符号化装置、画像復号装置、及びプログラムの好適な実施形態について詳細に説明する。なお、図面の説明においては同一要素には同一符号を付し、重複する説明を省略する。また、図面の寸法比率は、説明のものと必ずしも一致していない。
【００３９】
まず、画像符号化方法及び画像符号化装置について説明する。
【００４０】
図５は、本発明による画像符号化方法の一実施形態を概略的に示すフローチャートである。本符号化方法は、動画像などでのフレーム画像である入力フレーム画像Ｄ１に対して所定の変換処理操作及び符号化処理操作を行って、モバイル映像伝送システムなどの画像伝送システムにおいて伝送可能なデータ圧縮された符号化データＤ７を生成する画像符号化方法である。
【００４１】
図５に示した画像符号化方法においては、まず、入力フレーム画像Ｄ１に対して所定のデータ処理操作を行って画像データを変換し、空間座標によって表された画像データ（空間画像データ）Ｄ５とする（ステップＳ１０１、動き補償ステップ）。ここでのデータ処理操作としては、具体的には、動画像でのフレーム画像に対してインターフレーム符号化（フレーム間符号化）を行う場合の動き補償（ＭＣ：Motion Compensation）フレーム間予測が行われる。この動き補償は、フレーム画像を所定サイズ（所定の画素数）で分割したブロック毎に、ブロック内にある画像の画像データに対して行われる。
【００４２】
ここで、本実施形態の画像符号化方法においては、このフレーム画像の動き補償について、動き補償での補償条件や方法が異なる複数の符号化モードが用意されている。動き補償フレーム間予測では、ブロック内にある画像の画像データをフレーム画像または他のフレーム画像にある他のブロックと比較して、画像の動きを検出し、その検出結果に基づいて、用意された複数の符号化モードから画像データに適用する符号化モードを選択する。
【００４３】
そして、選択された符号化モードを適用して画像データの動き補償を行って、動きベクトルと、差分フレーム画像である空間画像データＤ５とを生成する。また、選択された符号化モードを示す情報は、符号化モード情報Ｄ３となる。
【００４４】
次に、空間画像データＤ５に対して直交変換操作を行って、空間周波数によって表された画像データ（周波数画像データ）である複数の直交変換係数Ｄ６を生成する（Ｓ１０２、直交変換ステップ）。この直交変換は、フレーム画像を分割したブロック毎に行われ、入力フレーム画像Ｄ１に含まれる各ブロックに対して、それぞれ直交変換係数Ｄ６が得られる。また、この直交変換係数に対して、必要に応じて量子化操作がさらに行われ、符号化対象となる直交変換係数（量子化係数）が生成される。
【００４５】
続いて、複数の直交変換係数Ｄ６に対して算術符号化を用いて可変長符号化を行い、圧縮データである符号化データＤ７を生成する（Ｓ１０３、符号化ステップ）。また、動き補償に対して選択された符号化モードを示す符号化モード情報Ｄ３も、直交変換係数Ｄ６とともに算術符号化を用いて可変長符号化され、符号化データＤ７に多重化される。
【００４６】
具体的には、まず、符号化モード情報Ｄ３と、画像データである直交変換係数Ｄ６とがそれぞれ所定の２値化テーブルを用いて２値化されて、２値化パターンが生成される（Ｓ１０４、２値化ステップ）。そして、符号化モード情報Ｄ３と直交変換係数Ｄ６とに対応する２値化パターンそれぞれに対して、適用する確率テーブルが所定の確率テーブルに設定され、その確率テーブルを用いて２値化パターンが算術符号化されて（Ｓ１０５、算術符号化ステップ）、符号化データＤ７が生成される。
【００４７】
ここで、本実施形態の画像符号化方法においては、２値化パターンに対して算術符号化を行う際に、符号化モード情報に対応する２値化パターンに含まれる２値化符号のそれぞれについて、符号化対象のブロックの隣接ブロックで選択された符号化モードを参照して、各２値化符号に適用する確率テーブルを切り換えている。
【００４８】
本実施形態による画像符号化方法の効果について説明する。
【００４９】
図５に示した画像符号化方法においては、動き補償での補償条件や方法が異なる複数の符号化モードから適用する符号化モードを選択して動き補償を行った後、動き補償がされた画像データＤ６と、動き補償に用いられた符号化モードを示す符号化モード情報Ｄ３とを算術符号化し多重化して、データ圧縮された符号化データＤ７を生成する。そして、符号化モード情報Ｄ３の算術符号化において、符号化モード情報Ｄ３が２値化された２値化パターンに含まれる２値化符号のそれぞれについて、隣接ブロックでの処理結果を参照しつつ確率テーブルを切り換えて、算術符号化を行うこととしている。
【００５０】
このように、符号化モード情報に対応する２値化パターンでの２値化符号のそれぞれに対して確率テーブルを適宜切り換えるコンテキストモデリングを行うことにより、２値化パターンでの２値化符号のそれぞれの符号位置や、隣接ブロックで選択された符号化モードなどが、算術符号化での符号化条件に対して好適に反映される。したがって、符号化モード情報Ｄ３の冗長度を効果的に除去して、符号化データＤ７でのデータ圧縮の効率を向上することが可能となる。
【００５１】
また、適用する符号化モードを選択するために用意される複数の符号化モードについては、動き補償を行うとともにブロック内にある画像の動き補償用ブロックへの区分方法が互いに異なる２以上の符号化モードを含むことが好ましい。
【００５２】
動き補償用ブロックは、符号化対象となっているブロック内を１または複数のブロックに区分して、その区分された動き補償用ブロック毎に動きベクトルの付与を行うためのものである。このような動き補償用ブロックに対し、ブロック区分が異なる２以上の符号化モードを含む上記の複数の符号化モードについて、隣接ブロックで選択された符号化モードを参照して確率テーブルの切り換えを行うことにより、動き補償用ブロックの区分方法を含む動き補償の条件に応じて符号化データでの冗長度を低減させて、そのデータ圧縮の効率をさらに向上することができる。
【００５３】
また、複数の符号化モードは、動き補償に使用する参照フレームと同位置の画像をコピーするスキップモードを含むことが好ましい。ただし、このスキップモードについては、複数の符号化モードにスキップモードが含まれない構成としても良い。なお、具体的な符号化モードや、確率テーブルの切り換え方法等については、詳しく後述する。
【００５４】
図６は、本発明による画像符号化装置の一実施形態の構成を示すブロック図である。以下、図６に示した画像符号化装置を参照しつつ、図５に示した画像符号化方法についてさらに説明する。なお、以下においては、符号化対象として画像符号化装置に入力される入力フレーム画像Ｄ１について、時系列のフレーム画像からなる動画像を想定している。
【００５５】
符号化対象として入力された入力フレーム画像Ｄ１は、まず、１６画素×１６ラインのサイズで正方形の画像ブロックへと分割される。この画像ブロックは、動き補償などのデータ処理の単位となる画像ブロックであり、マクロブロックと呼ばれる。なお、後述するＤＣＴ（直交変換）では、例えばＨ．２６Ｌ符号化方式では、４画素×４ラインのサイズのＤＣＴブロックが用いられる。この場合、１個のマクロブロックは、ＤＣＴにおいて、１６個の輝度（Luma）ブロックと、８個の色差（Chroma）ブロックとを有する。画像符号化はこれらのブロック毎に行われる。
【００５６】
フレーム画像Ｄ１は、動き検出部１１及び動き補償部１２からなる動き補償手段へと入力される。まず、フレーム画像Ｄ１は動き検出部１１に入力され、マクロブロック毎に画像の動きが検出される。動き検出部１１は、動きを検出しようとするマクロブロックでの画像データと、入力フレーム画像または他のフレーム画像にある他のマクロブロックでの画像データとを比較して、画像の動きを示す動きベクトルＤ２を検出する。
【００５７】
具体的には、動き検出部１１では、符号化済のフレーム画像としてフレームメモリ２０に格納されている局所復号画像Ｄ８内の所定の画像領域を参照して、現在の符号化対象となっている入力フレーム画像Ｄ１のマクロブロックと類似するパターンを見つけ出す。そして、その類似パターンとマクロブロックとの間の空間的な移動量によって、動きベクトルＤ２を決定する。
【００５８】
また、このとき、動き補償について用意された複数の符号化モードから、マクロブロックでの動き補償に用いられる符号化モードが選択される。図７Ａ〜図７Ｊは、動き補償について用意される符号化モードの一例を示す模式図である。この図７Ａ〜図７Ｊに例示した複数の符号化モードでは、１個のスキップ（Ｓｋｉｐ）モード０と、７個のインターモード１〜７と、２個のイントラモード８、９との１０個の符号化モードが、動き補償に対して用意されている。
【００５９】
このうち、スキップモード０は、画像の動きが検出されず、動き補償に使用する参照フレームと同位置の画像をコピーするモードである。
【００６０】
また、インターモード１〜７は、それぞれ異なる動き補償用ブロックへのブロック区分を用いてインターフレーム符号化（フレーム間符号化）を行う場合のモードである。それぞれでの動き補償用ブロックについては、図７Ｂ〜図７Ｈに示すように、モード１では、１６×１６のサイズで１個のブロックが用いられる。モード２では、１６×８のサイズで２個のブロックが用いられる。モード３では、８×１６のサイズで２個のブロックが用いられる。モード４では、８×８のサイズで４個のブロックが用いられる。モード５では、８×４のサイズで８個のブロックが用いられる。モード６では、４×８のサイズで８個のブロックが用いられる。モード７では、４×４のサイズで１６個のブロックが用いられる。
【００６１】
上記した動きベクトルＤ２は、選択されたインターモードにおける区分された動き補償用ブロック毎に付与され、したがって、各マクロブロックに対して、区分されたブロックの個数分の動きベクトルＤ２が付与される。なお、各動き補償用ブロックへの動きベクトルＤ２の付与の順序については、例えば、図７Ａ〜図７Ｊ中の各符号化モードにおいて、ブロック内の数字によって示した順序で行われる。
【００６２】
また、イントラモード８、９は、それぞれ異なるブロック区分を用いてイントラフレーム符号化（フレーム内符号化）を行う場合のモードである。それぞれでのブロックについては、図７Ｉ、図７Ｊに示すように、モード８では、４×４のサイズで１６個のブロックが用いられる。モード９では、１６×１６のサイズで１個のブロックが用いられる。
【００６３】
符号化モードが選択され、各動き補償用ブロックに対して動きベクトルＤ２が求められたら、動き補償部１２において、動き検出部１１からの動きベクトルＤ２と、フレームメモリ２０からの局所復号画像Ｄ８とを用いて、動き予測画像を生成する。フレーム画像Ｄ１に含まれる全てのマクロブロックについて動きベクトルＤ２を決定して動き予測画像を生成することにより、入力フレーム画像Ｄ１に対する予測フレーム画像Ｄ４が得られる。
【００６４】
続いて、減算器１３において、入力フレーム画像Ｄ１と予測フレーム画像Ｄ４との間の差分（予測残差）フレーム画像Ｄ５が生成される。また、予測フレーム画像Ｄ４が作成されていない場合には、入力フレーム画像Ｄ１がそのままフレーム画像Ｄ５とされる。この空間画像データであるフレーム画像Ｄ５が、以後の直交変換及び算術符号化の対象となる。
【００６５】
差分フレーム画像Ｄ５の画像データは、直交変換部（直交変換手段）１４へと入力される。直交変換部１４では、差分フレーム画像Ｄ５に対して、マクロブロックに含まれる直交変換ブロック（例えば１６個の輝度ブロックと８個の色差ブロック）毎に直交変換が行われて、周波数画像データである直交変換係数が生成される。また、この直交変換係数は、量子化部１５において所定の量子化パラメータによって量子化されて、算術符号化の対象の画像データとなる最終的な直交変換係数（量子化係数）Ｄ６が得られる。
【００６６】
図８Ａ及び図８Ｂは、画像データの直交変換について示す図である。フレーム画像Ｄ５内にある直交変換用に分割された各ブロックの画像データは空間画像データであり、図８Ａに４×４の画像成分によって例示するように、水平座標と垂直座標とで規定される４×４の空間画像成分ａ１１〜ａ４４によって表される。直交変換部１４は、この空間画像データを所定の変換方法で直交変換することによって、図８Ｂに示す画像データへと変換する。この画像データは周波数画像データであり、水平周波数と垂直周波数とで規定される４×４の周波数画像成分である直交変換係数ｆ１１〜ｆ４４によって表される。
【００６７】
具体的な直交変換としては、例えば、離散コサイン変換（ＤＣＴ：Discrete Cosine Transform）を適用することができる。ＤＣＴは、フーリエ変換のコサインの項を用いる直交変換であり、画像符号化において多く用いられている。空間画像データに対してＤＣＴを行うことにより、周波数画像データであるＤＣＴ係数ｆ１１〜ｆ４４が生成される。なお、ＤＣＴにおいては、例えばＨ．２６Ｌ符号化方式では、直交変換用のブロックとして、図８Ａ及び図８Ｂに示したように４×４のＤＣＴブロックが用いられる。
【００６８】
直交変換部１４及び量子化部１５によって生成された直交変換係数Ｄ６は、可変長符号化部（符号化手段）１６において、所定の確率テーブルを用いた算術符号化によって可変長符号化される。これにより、入力フレーム画像Ｄ１の圧縮データである符号化データＤ７が生成される。
【００６９】
また、可変長符号化部１６には、直交変換係数Ｄ６に加えて、動き検出部１１によって検出された動きベクトルＤ２と、動き検出部１１において選択された符号化モードを示す符号化モード情報Ｄ３とが入力されている。これらの動きベクトルＤ２及び符号化モード情報Ｄ３は、可変長符号化部１６において、直交変換係数Ｄ６と同様に、所定の確率テーブルを用いた算術符号化によって可変長符号化されて、符号化データＤ７に多重化される。
【００７０】
ここで、可変長符号化部１６において算術符号化に用いられる確率テーブルの設定については、図５に示した画像符号化方法に関して上述した通りである。動きベクトルＤ２及び符号化モード情報Ｄ３の算術符号化においては、通常は、直交変換係数Ｄ６の算術符号化とは異なる確率テーブルが用いられ、符号化モード情報Ｄ３に適用する確率テーブルについては、上述のように隣接ブロックでの処理結果を参照しての切り換えが行われる。また、直交変換係数Ｄ６の算術符号化においても、輝度ブロックの算術符号化と色差ブロックの算術符号化とで、異なる確率テーブルを用いても良い。
【００７１】
また、直交変換部１４及び量子化部１５によって生成された直交変換係数Ｄ６は、本画像符号化装置内において、逆量子化部１７及び逆直交変換部１８によって復号される。そして、復号された画像データと予測フレーム画像Ｄ４とが加算器１９において加算されて、局所復号画像Ｄ８が生成される。この局所復号画像Ｄ８はフレームメモリ２０に格納されて、他のフレーム画像の動き補償に利用される。
【００７２】
次に、画像復号方法及び画像復号装置について説明する。
【００７３】
図９は、本発明による画像復号方法の一実施形態を概略的に示すフローチャートである。本復号方法は、図５に示した画像符号化方法によって生成された符号化データＤ７に対して所定の復号処理操作及び変換処理操作を行って、入力フレーム画像Ｄ１に対応する画像として出力フレーム画像Ｄ１０を復元する画像復号方法である。
【００７４】
図９に示した画像復号方法においては、まず、符号化データＤ７に対して逆算術符号化を用いて可変長復号を行い、複数の直交変換係数（量子化係数）Ｄ６を生成する（Ｓ２０１、復号ステップ）。また、動き補償に対して選択された符号化モードを示す符号化モード情報Ｄ３も、直交変換係数Ｄ６とともに逆算術符号化を用いて符号化データＤ７から復号される。
【００７５】
具体的には、まず、符号化データＤ７に対して適用する確率テーブルが所定の確率テーブルに設定され、その確率テーブルを用いて符号化データＤ７が逆算術符号化されて（Ｓ２０２、逆算術符号化ステップ）、符号化モード情報Ｄ３と直交変換係数Ｄ６とに対応する２値化パターンがそれぞれ生成される。そして、符号化モード情報Ｄ３と直交変換係数Ｄ６とに対応する２値化パターンが、それぞれ所定の２値化テーブルを用いて逆２値化されて、符号化データ情報Ｄ３及び直交変換係数Ｄ６が生成される（Ｓ２０３、逆２値化ステップ）。
【００７６】
ここで、本実施形態の画像復号方法においては、符号化データＤ７に対して逆算術符号化を行う際に、符号化モード情報に対応する２値化パターンに含まれる２値化符号のそれぞれについて、符号化対象のブロックの隣接ブロックで選択された符号化モードを参照して、各２値化符号に適用する確率テーブルを切り換えている。
【００７７】
次に、複数の直交変換係数Ｄ６に対して逆量子化操作及び逆直交変換操作を順次行って、空間画像データＤ９を生成する（Ｓ２０４、逆直交変換ステップ）。そして、空間画像データＤ９に対して符号化モード情報Ｄ３が示す符号化モードを適用して動き補償を行い、出力フレーム画像Ｄ１０を復元する（Ｓ２０５、動き補償ステップ）。
【００７８】
本実施形態による画像復号方法の効果について説明する。
【００７９】
図９に示した画像復号方法においては、データ圧縮された符号化データＤ７を逆算術符号化及び逆２値化することによって符号化モード情報Ｄ３及び画像データＤ６を復号した後、符号化モード情報Ｄ３が示す符号化モードを適用して動き補償を行う。そして、符号化データＤ７の逆算術符号化において、上述した算術符号化の場合と同様に、符号化モード情報Ｄ３が２値化された２値化パターンに含まれる２値化符号のそれぞれについて、隣接ブロックでの処理結果を参照しつつ確率テーブルを切り換えて、逆算術符号化を行うこととしている。
【００８０】
このように、符号化モード情報に対応する２値化パターンでの２値化符号のそれぞれに対して確率テーブルを適宜切り換えるコンテキストモデリングを行うことにより、２値化パターンでの２値化符号のそれぞれの符号位置や、隣接ブロックで選択された符号化モードなどが、逆算術符号化での復号条件に対して好適に反映される。したがって、符号化モード情報Ｄ３の冗長度を効果的に除去して、データ圧縮の効率が向上された符号化データＤ７から、データを好適に復元することが可能となる。
【００８１】
図１０は、本発明による画像復号装置の一実施形態の構成を示すブロック図である。
【００８２】
復号対象として入力された符号化データＤ７は可変長復号部（復号手段）２１に入力されて所定の確率テーブルを用いた逆算術符号化によって可変長復号され、複数の直交変換係数Ｄ６等が生成される。可変長復号部２１は、データ圧縮された符号化データＤ７について、フレーム画像の先頭を示す同期ワードを検出し、以後、マクロブロック毎に符号化データＤ７に含まれている各データを復号して、周波数画像データである直交変換係数Ｄ６、動きベクトルＤ２、及び符号化モード情報Ｄ３等を生成する。なお、算術符号化に用いる確率テーブルは、上述のように適宜切り換えられる。
【００８３】
可変長復号部２１において復号された直交変換係数Ｄ６は、逆量子化部２２及び逆直交変換部（逆直交変換手段）２３によって逆量子化、逆直交変換される。これにより、空間画像データである復元差分フレーム画像Ｄ９が生成される。この復元差分フレーム画像Ｄ９は、符号化前の差分フレーム画像Ｄ５に対応したフレーム画像である。
【００８４】
一方、動きベクトルＤ２及び符号化モード情報Ｄ３は、動き補償部２４へと入力される。動き補償部２４では、符号化モード情報Ｄ３が示す符号化モードによって画像の動き補償が行われ、可変長復号部２１からの動きベクトルＤ２と、フレームメモリ２５に格納されている他のフレーム画像とを用いて、予測フレーム画像Ｄ４が生成される。そして、加算器２６において、復元差分フレーム画像Ｄ９と予測フレーム画像Ｄ４とが加算されて、復元されたフレーム画像が出力フレーム画像Ｄ１０として出力される。
【００８５】
ここで、上記した画像符号化装置において実行される画像符号化方法に対応する処理は、画像符号化をコンピュータに実行させるための画像符号化プログラムによって実現可能である。また、画像復号装置において実行させる画像復号方法に対応する処理は、画像復号をコンピュータに実行させるための画像復号プログラムによって実現可能である。
【００８６】
例えば、画像符号化装置は、画像符号化の処理動作に必要な各ソフトウェアプログラムなどが記憶させるＲＯＭと、プログラム実行中に一時的にデータが記憶されるＲＡＭとが接続されたＣＰＵによって構成することができる。このような構成において、ＣＰＵによって所定の画像符号化プログラムを実行することにより、画像符号化装置を実現することができる。
【００８７】
同様に、画像復号装置は、画像復号の処理動作に必要な各ソフトウェアプログラムなどが記憶されるＲＯＭと、プログラム実行中に一時的にデータが記憶されるＲＡＭとが接続されたＣＰＵによって構成することができる。このような構成において、ＣＰＵによって所定の画像復号プログラムを実行することにより、画像復号装置を実現することができる。
【００８８】
また、画像符号化または画像復号のための各処理をＣＰＵに実行させるための上記したプログラムは、コンピュータ読取可能な記録媒体に記録して頒布することが可能である。このような記録媒体には、例えば、ハードディスク及びフレキシブルディスクなどの磁気媒体、ＣＤ−ＲＯＭ及びＤＶＤ−ＲＯＭなどの光学媒体、フロプティカルディスクなどの磁気光学媒体、あるいは、プログラム命令を実行または格納するように特別に配置された、例えばＲＡＭ、ＲＯＭ、及び半導体不揮発性メモリなどのハードウェアデバイスなどが含まれる。
【００８９】
また、画像符号化または画像復号をコンピュータに実行させるための上記したプログラムは、搬送波に包含されるコンピュータデータ信号とすることが可能である。これにより、画像符号化プログラムまたは画像復号プログラムを、有線または無線の搬送路等を介して搬送することができる。
【００９０】
以下、図５、図６に示した画像符号化方法及び画像符号化装置における画像データ及び符号化モード情報の算術符号化（可変長符号化）の手順、及びその好適な符号化条件について、ＩＴＵ−Ｔ  Ｈ．２６Ｌ符号化方式を例として、具体例を示しつつ説明する。なお、以下に説明する符号化方法及び符号化条件については、図９、図１０に示した画像復号方法及び画像復号装置に対しても同様に適用することが可能である。また、具体的な符号化方式については、上記したＨ．２６Ｌ符号化方式には限定されない。
【００９１】
まず、図１１Ａ〜図１１Ｄを参照して、画像データである直交変換係数の算術符号化の手順について説明しておく。ここでは、空間画像データを周波数画像データへと変換する直交変換としては、ＤＣＴを想定する。図１１Ａは、図８Ｂに示した４×４のＤＣＴ係数（量子化係数）ｆ１１〜ｆ４４の具体的な一数値例を示している。画像符号化装置の可変長符号化部では、このようなＤＣＴ係数に対して所定の処理手順で算術符号化を行って、符号化データを生成する。
【００９２】
係数ｆｉｊの添字の値ｉ、ｊが対応する垂直周波数、水平周波数をそれぞれ表しているＤＣＴ係数ｆ１１〜ｆ４４においては、空間画像データでの画像成分ａ１１〜ａ４４（図８Ａ参照）とは異なり、各ＤＣＴ係数が、その係数値の大きさなどについて、対応する空間周波数の値に依存したデータ特性を有している。一般に、自然画像においては、低周波数域で大きい直交変換の係数値が得られ、高周波数になるにしたがって係数値が小さくなる。
【００９３】
ＤＣＴ係数の算術符号化の処理手順においては、まず、２次元データであるＤＣＴ係数ｆ１１〜ｆ４４が、図１１Ｂに示すジグザグ・スキャンによって、１次元データへと変換される。このジグザグ・スキャンでは、スキャン後の１次元データが低周波数域から高周波数域へと移行していくデータ列となるように、ＤＣＴ係数がスキャンされる。これにより、低周波数域から高周波数域へとＤＣＴ係数が並ぶ、図１１Ｃに示す１次元データが得られる。
【００９４】
このＤＣＴ係数の１次元データは、そのデータ量を低減するため、さらに、図１１Ｄに示すＬｅｖｅｌ（レベル）及びＲｕｎ（ラン）からなるデータへと変換される。ここで、Ｌｅｖｅｌは、複数のＤＣＴ係数のうちで０でない係数値を持つＤＣＴ係数での係数レベルを示す。また、Ｒｕｎは、０でないＤＣＴ係数の直前にある係数値が０のデータの数であるランレングスを示す。
【００９５】
例えば、図１１Ａに示したＤＣＴ係数のデータ例では、図１１Ｃに示すように、１６個のＤＣＴ係数ｆ１１〜ｆ４４が、０でない係数値を持つＤＣＴ係数の出現位置に基づいて、係数ｆ１１からなる係数群ｓ１、係数ｆ１２、ｆ２１からなる係数群ｓ２、係数ｆ３１〜ｆ１３からなる係数群ｓ３、係数ｆ１４〜ｆ３２からなる係数群ｓ４、及び係数ｆ４１〜ｆ４４からなる係数群ｓ５へと区分される。
【００９６】
そして、これらの係数群ｓ１〜ｓ５に対して、図１１Ｄに示すように、それぞれＬｅｖｅｌ値及びＲｕｎ値が求められる。具体的には、係数群ｓ１では、Ｌｅｖｅｌ値がｆ１１＝１０、Ｒｕｎ値が０である。また、係数群ｓ２では、Ｌｅｖｅｌ値がｆ２１＝２、Ｒｕｎ値が１である。また、係数群ｓ３では、Ｌｅｖｅｌ値がｆ１３＝−１、Ｒｕｎ値が２である。また、係数群ｓ４では、Ｌｅｖｅｌ値がｆ３２＝１、Ｒｕｎ値が２である。
【００９７】
また、最後の係数群ｓ５は、全ての係数ｆ４１〜ｆ４４の係数値が０となっている係数群であり、図１１Ａに示したＤＣＴ係数における有効なデータの終端（ＥＯＢ：End of Block）となっている。したがって、この係数群ｓ５では、ＥＯＢ符号を意味する０をＬｅｖｅｌ値とする。
【００９８】
図１１Ｄに示したＬｅｖｅｌ及びＲｕｎからなるデータは、所定の２値化テーブルを用いて２値化され、算術符号化の対象となる２値化パターンが作成される。各Ｌｅｖｅｌ及びＲｕｎのデータがそれぞれ２値化されたら、それらのデータをｓ１のＬｅｖｅｌ、ｓ１のＲｕｎ、ｓ２のＬｅｖｅｌ、ｓ２のＲｕｎ、…、ｓ５のＬｅｖｅｌの順で、所定の確率テーブルを用いて算術符号化して、図１１Ａの直交変換係数に対応する符号化データである符号語を生成する。
【００９９】
次に、図１２〜図１５を参照して、動き補償について選択された符号化データを示す符号化データ情報の算術符号化の手順について説明する。ここでは、動き補償について用意される複数の符号化モードとしては、図７Ａ〜図７Ｊに示した１０個の符号化モード０〜９、すなわち１個のスキップモード０、７個のインターモード１〜７、及び２個のイントラモード８、９を想定する。
【０１００】
ここで、図７Ａ〜図７Ｊに示した複数の符号化モードは、動き補償に使用する参照フレームと同位置の画像をコピーするスキップモードと、動き補償を行うとともにブロック内にある画像の動き補償用ブロックへの区分方法が互いに異なる２以上の符号化モードとを含んで設定されている。動き補償用ブロックは、上記したように、符号化対象となっているブロック内を１または複数のブロックに区分して、その区分された動き補償用ブロック毎に動きベクトルの付与を行うためのものである。
【０１０１】
このような動き補償用ブロックに対し、ブロック区分が異なる２以上の符号化モードを含む図７Ａ〜図７Ｊに示した複数の符号化モードについて、隣接ブロックで選択された符号化モードを参照して確率テーブルの切り換えを行うことにより、動き補償用ブロックの区分方法を含む動き補償の条件に応じて符号化データでの冗長度を低減させて、そのデータ圧縮の効率をさらに向上することができる。なお、スキップモードについては不要であれば設けない構成としても良い。
【０１０２】
図７Ａ〜図７Ｊに示した１０個の符号化モード０〜９で、どの符号化モードが選択されたかを特定するための符号化モード情報の可変長符号化では、まず、所定の２値化テーブルを用いて符号化モード情報が２値化され、算術符号化の直接の対象となる２値化パターンが作成される。図１２は、図７Ａ〜図７Ｊに示した符号化モードを示す符号化モード情報の２値化に用いられる２値化テーブルの一例を示す表である。
【０１０３】
符号化モード情報が２値化されたら、得られた２値化パターンを所定の確率テーブルを用いて算術符号化して、符号化モード情報に対応する符号化データである符号語を生成する。ここで、符号化モード情報の算術符号化に適用される確率テーブルについては、２値化パターンに含まれる２値化符号それぞれの２値化パターン内での符号位置（図１２に示すＢｉｎ＿ｎｏ．）毎に、異なる確率テーブルを用いても良い。あるいは、各符号位置で共通の確率テーブルを用いても良い。
【０１０４】
さらに、図５、図６に示した画像符号化方法及び画像符号化装置においては、上述したように、この符号化モード情報の算術符号化において、符号化モード情報の２値化パターンに含まれる２値化符号のそれぞれについて、符号化対象のブロックの隣接ブロックで、複数の符号化モードのどの符号化モードが選択されたかを参照して確率テーブルを切り換えて、算術符号化を行っている。
【０１０５】
ここで、図７Ａ〜図７Ｊに示した１０個の符号化モードのうちで、動き補償用ブロックの区分方法が異なる７個のインターモード１〜７について考えると、これらのインターモードからどの符号化モードが選択されるかは、検出される画像の動きの度合に依存する。
【０１０６】
例えば、フレーム画像中で背景部分などの動きが単純な画像領域では、全体として動きベクトルを付与すれば充分に動き補償が可能である。したがってこの場合には、１６×１６のモード１などのブロック区分数が少ないインターモードが選択される。一方、動きが複雑で激しい画像領域では、動きベクトルを細かく付与して動き補償を行う必要がある。したがってこの場合には、４×４のモード７などのブロック区分数が多いインターモード、あるいはイントラモードが選択される。
【０１０７】
そして、このような画像中での動きが単純または複雑な画像領域は、複数のマクロブロックにわたって広がる画像領域となっていることが多い。このため、あるブロックで動き補償用ブロックの区分数が少ないインターモードが選択されていれば、隣接するブロックでも同様に区分数が少ないインターモードが選択される可能性が高い。これは、区分数が多い符号化モードについても同様である。すなわち、隣接するブロック同士では、選択される符号化モードに一定の相関が存在する。
【０１０８】
この符号化モード選択の特性を利用し、隣接ブロックでの符号化モードの選択結果を参照して符号化モード情報に適用する確率テーブルを切り換えて算術符号化を行えば、符号化モード情報の冗長度を効果的に除去することができ、符号化データでのデータ圧縮の効率を向上することができる。
【０１０９】
この確率テーブルの切り換えについては、具体的には、例えば図１３に示すように、符号化対象のブロックＣに対して、左側に位置する隣接ブロックＡ及び上側に位置する隣接ブロックＢを考え、これらの隣接ブロックＡ、Ｂでの処理結果を参照する方法がある。
【０１１０】
すなわち、隣接ブロックＡ、Ｂにおいて選択された符号化モードを参照して、ブロックＣでの符号化モード情報の２値化パターンに含まれる２値化符号のそれぞれに対して適用する確率テーブルを切り換える。このようなコンテキストモデリングによる確率テーブルの切り換えは、例えば、図４に示したコンテキストモデリングを用いた符号化方法（ＣＡＢＡＣ）などによって行うことができる。
【０１１１】
また、隣接ブロックでの処理結果の参照方法としては、隣接ブロックで選択された符号化モードを直接に参照しても良い。
【０１１２】
あるいは、動き補償について用意されている複数の符号化モードのそれぞれに対してあらかじめ複雑度を設定しておき、隣接ブロックで選択された符号化モードに対応する複雑度を参照して、確率テーブルを切り換える方法を用いることができる。このように、複数の符号化モードのそれぞれに対して複雑度を設定しておくことにより、隣接ブロックで選択された符号化モードなどの条件を、算術符号化での符号化条件に対して好適に反映させることができる。
【０１１３】
図１４は、図７Ａ〜図７Ｊに示した複数の符号化モードのそれぞれに対して設定される複雑度の例を示す表である。図１４に示した設定例では、スキップモード／インターモード／イントラモードの違い、及び動き補償用ブロックへの区分数の違いに基づいて、数字が大きいほど複雑度が高くなるように各符号化モードに対する複雑度０〜７を設定している。
【０１１４】
具体的には、スキップモード０の複雑度が０、区分数１のイントラモード９での複雑度が１、区分数１のインターモード１での複雑度が２、区分数２のインターモード２及び３での複雑度が３、区分数４のインターモード４での複雑度が４、区分数８のインターモード５及び６での複雑度が５、区分数１６のインターモード７での複雑度が６、区分数１６のイントラモード８での複雑度が７に設定されている。
【０１１５】
ただし、各符号化モードに対する複雑度の設定については、図１４に示した以外の設定を用いることも可能である。例えば、図１４に示した例では、横方向にブロック区分を行っているモード２（図７Ｃ）と、縦方向にブロック区分を行っているモード３（図７Ｄ）とに対して、同一の複雑度を設定している。これに対して、区分方向の違いによって異なる複雑度を設定しても良い。これは、モード２、３以外の各モードについても同様である。また、区分方向以外の条件を参照して複雑度を設定しても良い。
【０１１６】
図１５は、隣接ブロックで選択された符号化モードに対応する複雑度と、符号化対象のブロックで選択される符号化モードとの相関を示すグラフである。このグラフにおいて、横軸は、符号化対象のブロックで選択される符号化モードを示している。ただし、ここでは、インターモードの符号化モード１〜７について示している。また、縦軸は、各符号化モードが選択される確率を示している。
【０１１７】
具体的には、図１５中に示されている各グラフでは、図１３に示した隣接ブロックの参照方法において、隣接ブロックＡ、Ｂでそれぞれ選択された符号化モードの複雑度の平均値について着目している。そして、隣接ブロックＡ、Ｂでの複雑度の平均値が図１４に示した複雑度の設定において０、１、２、３、４、５であった場合について、それぞれブロックＣで選択される符号化モードの選択確率のグラフを示している。
【０１１８】
図１５のグラフに示すように、隣接ブロックで選択された符号化モードの複雑度が０〜２で低い場合には、符号化対象のブロックにおいて区分数が少ないインターモード１が選択される確率が大きくなっている。これに対して、隣接ブロックで選択された符号化モードの複雑度が３〜５で高い場合には、符号化対象のブロックにおいて区分数が少ないインターモード１が選択される確率は小さい。隣接するブロック同士での、選択される符号化モードのこのような相関を利用すれば、符号化モード情報の２値化パターンに含まれる各２値化符号に対する確率テーブルを切り換えることにより、符号化モード情報の冗長度を除去することが可能である。
【０１１９】
図１６は、上記した符号化モード情報の２値化符号に対する確率テーブルの切り換えによる符号量の低減効果について示す表である。この表では、従来のＨ．２６Ｌ符号化方式のＣＡＢＡＣを用いて画像を符号化した場合の符号量、符号化モード情報の２値化パターンでの各２値化符号に対する確率テーブルを切り換える本発明の方法を用いて画像を符号化した場合の符号量、及び確率テーブルを切り換える方法を用いたことによる符号量の低減率を示している。
【０１２０】
ここで、符号量の低減率をみるための符号化対象の画像データ、及び画像符号化に用いる量子化パラメータＱＰについては、（ａ）テスト画像「Foreman」でＱＰ＝２４、（ｂ）テスト画像「Stefan」でＱＰ＝２４、及び（ｃ）テスト画像「Stefan」でＱＰ＝１６、の３つの条件で画像符号化を行った。
【０１２１】
図１６の表に示すように、３つの条件での画像符号化のすべてにおいて、確率テーブルの切り換えによる符号量の低減効果が得られている。
【０１２２】
なお、符号化モード情報の２値化パターンに含まれる各２値化符号に対する確率テーブルの切り換えについては、上述した画像符号化方法及び装置では、例えばＢｉｎ＿ｎｏ．１（符号位置１、図１２参照）の２値化符号のみについて確率テーブルの切り換えを行うのではなく、２値化パターンに含まれる２値化符号のそれぞれについて確率テーブルを切り換えている。
【０１２３】
例えば、図１２に示した２値化テーブルでは、選択された符号化モードによって２値化パターンのパターン長が異なっている。これに対して、２値化符号のそれぞれについて確率テーブルを切り換えることにより、複数の符号化モードのいずれが選択された場合であっても、その符号化モードでのデータ圧縮の効率を向上することができる。ただし、この確率テーブルの切り換えについては、複数の２値化符号の全体として切り換えても良く、あるいは、２値化符号のそれぞれで別個に切り換えても良い。
【０１２４】
ここで、２値化符号に適用する確率テーブルの切り換えについては、２値化符号の２値化パターンでの符号位置（Ｂｉｎ＿ｎｏ．）と、その２値化符号によって区別される符号化モードとの相関を考慮して、確率テーブルを切り換えることが好ましい。このように、２値化パターンに含まれる２値化符号の、それぞれの符号位置に応じた符号化モードとの対応関係を考慮して確率テーブルを切り換えることにより、隣接ブロックで選択された符号化モードなどの条件を、算術符号化での符号化条件に対して好適に反映させることができる。
【０１２５】
このような確率テーブルの切り換え方法の具体例について、図１７を参照して説明する。図１７は、図７Ａ〜図７Ｊに示した符号化モードを示す符号化モード情報の２値化に用いられる２値化テーブルの他の例を示す表である。
【０１２６】
図１７に示した２値化テーブルにおける２値化パターンでは、その１ビット目であるＢｉｎ＿ｎｏ．１の２値化符号は、符号化モードがスキップモード０か、それ以外のモード１〜９かを示すビットとなっている。したがって、このビットに対しては、例えば、隣接ブロックＡ、Ｂがスキップモード０であるかどうかなどによって３つの確率テーブルを切り換える。
【０１２７】
また、２ビット目であるＢｉｎ＿ｎｏ．２の２値化符号は、１ビット目が「１」であった場合に、符号化モードが１６×１６のインターモード１か、それ以外のモード２〜９かを示すビットとなっている。したがって、このビットに対しては、隣接ブロックがスキップモード０または１６×１６のインターモード１か、それ以外かによって確率テーブルを切り換える。なお、１６×１６のインターモード１は、背景などの比較的動きの単純な画像部分や、動きの少ない画像部分に多く発生するため、スキップモード０との相関性が高い。
【０１２８】
具体的には、例えば、隣接マクロブロックＡ、Ｂでのモードについて、スキップモード０、１６×１６のインターモード１、画面外であれば０、それ以外であれば１としたときのＡ＋Ｂの大きさによって３つの確率テーブルを切り換える。Ａ＋Ｂ＝０のときには０となる確率が大きい確率テーブルとし、Ａ＋Ｂ＝２のときには１となる確率が大きい確率テーブルとする。なお、このような方法は、３ビット目以降についても同様に適用可能である。
【０１２９】
３ビット目であるＢｉｎ＿ｎｏ．３の２値化符号は、２ビット目が「１」であった場合に、符号化モードが１６×８のインターモード２または８×１６のインターモード３か、それ以外のモード４〜９かを示すビットとなっている。したがって、このビットに対しては、１ビット目、２ビット目とは異なる確率テーブルを用いる。
【０１３０】
また、４ビット目であるＢｉｎ＿ｎｏ．４の２値化符号は、３ビット目が「１」であった場合に、インターモード４〜７か、イントラモード８、９かを示すビットとなっている。したがって、このビットに対しては、１ビット目、２ビット目、及び３ビット目とは異なる確率テーブルを用いる。
【０１３１】
また、上記以外のビットは、１〜４ビット目までで大まかに分けた符号化モード情報を、細かく識別するために使用されるビットであり、インターモード４〜７では２ビット、イントラモード８、９では１ビット使用される。これらのビットについては、例えば、すべて同じ確率テーブルを用いる。
【０１３２】
図１８は、本発明による画像伝送システム（例えばモバイル映像伝送システム）の一実施形態の構成を示す模式図である。本画像伝送システムは、図５に示した画像符号化方法が実現される画像符号化装置（例えば図６に示す画像符号化装置）１と、図９に示した画像復号方法が実現される画像復号装置（例えば図１０に示す画像復号装置）２とを備えて構成される。
【０１３３】
本システムにおいて、入力フレーム画像Ｄ１は、画像符号化装置１において符号化されて符号化データＤ７が生成され、有線または無線の所定の伝送路へと出力される。そして、画像符号化装置１から伝送路を伝送された符号化データＤ７は、画像復号装置２に入力され、出力フレーム画像Ｄ１０として復元される。
【０１３４】
このような画像伝送システムによれば、符号化データに多重化される符号化モード情報に対するデータ圧縮の効率が向上された符号化データを用いて、効率的に画像を伝送することができる。
【産業上の利用可能性】
【０１３５】
本発明による画像符号化方法、画像復号方法、画像符号化装置、画像復号装置、及びプログラムは、符号化データに多重化される符号化モード情報に対するデータ圧縮の効率を向上することが可能な方法及び装置等として利用可能である。
【０１３６】
すなわち、符号化モード情報と符号化データとの間での可変長符号化または復号において、符号化対象となっているブロックの隣接ブロックで選択された符号化モードを参照し、符号化モード情報に対応する２値化パターンに含まれる２値化符号のそれぞれについて、算術符号化に用いる確率テーブルを切り換える構成によれば、２値化パターンでの２値化符号のそれぞれの符号位置や、隣接ブロックで選択された符号化モードなどが、算術符号化での符号化条件に対して好適に反映される。したがって、符号化モード情報の冗長度を効果的に除去して、符号化データでのデータ圧縮の効率を向上することが可能となる。
【図面の簡単な説明】
【０１３７】
【図１】算術符号化に用いられる確率テーブルの一例を示す表である。
【図２】図１に示した確率テーブルを用いた文字列の符号化について示す図である。
【図３】図１に示した確率テーブルを用いた文字列の復号について示す図である。
【図４】算術符号化を用いた画像符号化方法の一例を示すフローチャートである。
【図５】画像符号化方法の一実施形態を概略的に示すフローチャートである。
【図６】画像符号化装置の一実施形態の構成を示すブロック図である。
【図７Ａ】動き補償に用いられる符号化モードの一例を示す模式図である。
【図７Ｂ】動き補償に用いられる符号化モードの一例を示す模式図である。
【図７Ｃ】動き補償に用いられる符号化モードの一例を示す模式図である。
【図７Ｄ】動き補償に用いられる符号化モードの一例を示す模式図である。
【図７Ｅ】動き補償に用いられる符号化モードの一例を示す模式図である。
【図７Ｆ】動き補償に用いられる符号化モードの一例を示す模式図である。
【図７Ｇ】動き補償に用いられる符号化モードの一例を示す模式図である。
【図７Ｈ】動き補償に用いられる符号化モードの一例を示す模式図である。
【図７Ｉ】動き補償に用いられる符号化モードの一例を示す模式図である。
【図７Ｊ】動き補償に用いられる符号化モードの一例を示す模式図である。
【図８Ａ】画像データの直交変換について示す図である。
【図８Ｂ】画像データの直交変換について示す図である。
【図９】画像復号方法の一実施形態を概略的に示すフローチャートである。
【図１０】画像復号装置の一実施形態の構成を示すブロック図である。
【図１１Ａ】ＤＣＴ係数の算術符号化について示す図である。
【図１１Ｂ】ＤＣＴ係数の算術符号化について示す図である。
【図１１Ｃ】ＤＣＴ係数の算術符号化について示す図である。
【図１１Ｄ】ＤＣＴ係数の算術符号化について示す図である。
【図１２】符号化モード情報の２値化に用いられる２値化テーブルの例を示す表である。
【図１３】符号化対象のブロックＣに対して、隣接ブロックＡ、Ｂを参照するコンテキストモデリングについて示す図である。
【図１４】図７Ａ〜図７Ｊに示した複数の符号化モードのそれぞれに対して設定される複雑度の例を示す表である。
【図１５】隣接ブロックで選択された符号化モードに対応する複雑度と、符号化対象のブロックで選択される符号化モードとの相関を示すグラフである。
【図１６】符号化モード情報に対する確率テーブルの切り換えによる符号量の低減効果について示す表である。
【図１７】符号化モード情報の２値化に用いられる２値化テーブルの他の例を示す表である。
【図１８】画像伝送システムの一実施形態の構成を示す模式図である。
【符号の説明】
【０１３８】
１１…動き検出部、１２…動き補償部、１３…減算器、１４…直交変換部、１５…量子化部、１６…可変長符号化部、１７…逆量子化部、１８…逆直交変換部、１９…加算器、２０…フレームメモリ、  ２１…可変長復号部、２２…逆量子化部、２３…逆直交変換部、２４…動き補償部、２５…フレームメモリ、２６…加算器、  Ｄ１…入力フレーム画像、Ｄ２…動きベクトル、Ｄ３…符号化モード情報、Ｄ４…予測フレーム画像、Ｄ５…差分フレーム画像、Ｄ６…直交変換係数、Ｄ７…符号化データ、Ｄ８…局所復号画像、Ｄ９…復元差分フレーム画像、Ｄ１０…出力フレーム画像。
【図１】
0003764458.tif 000002
【図２】
0003764458.tif 000003
【図３】
0003764458.tif 000004
【図４】
0003764458.tif 000005
【図５】
0003764458.tif 000006
【図６】
0003764458.tif 000007
【図７Ａ】
0003764458.tif 000008
【図７Ｂ】
0003764458.tif 000009
【図７Ｃ】
0003764458.tif 000010
【図７Ｄ】
0003764458.tif 000011
【図７Ｅ】
0003764458.tif 000012
【図７Ｆ】
0003764458.tif 000013
【図７Ｇ】
0003764458.tif 000014
【図７Ｈ】
0003764458.tif 000015
【図７Ｉ】
0003764458.tif 000016
【図７Ｊ】
0003764458.tif 000017
【図８Ａ】
0003764458.tif 000018
【図８Ｂ】
0003764458.tif 000019
【図９】
0003764458.tif 000020
【図１０】
0003764458.tif 000021
【図１１Ａ】
0003764458.tif 000022
【図１１Ｂ】
0003764458.tif 000023
【図１１Ｃ】
0003764458.tif 000024
【図１１Ｄ】
0003764458.tif 000025
【図１２】
0003764458.tif 000026
【図１３】
0003764458.tif 000027
【図１４】
0003764458.tif 000028
【図１５】
0003764458.tif 000029
【図１６】
0003764458.tif 000030
【図１７】
0003764458.tif 000031
【図１８】
0003764458.tif 000032