(57)【特許請求の範囲】
【請求項１】
１つのピクチャを複数のマクロブロックに分割して符号化する画像処理装置において、
前記マクロブロックを直交変換した画素データの上下または左右方向に隣接する画素間の差分に基づく前記マクロブロックの画像の複雑さの度合いを示す第１のパラメータと、前記マクロブロック内の前記画素データの平均値と各前記画素データとの偏差、または、前記マクロブロックの前記画素データと１つ前のフレームの対応するマクロブロックの前記画素データとの差に基づく前記マクロブロックの画像の複雑さの度合いを示す第２のパラメータとを検出する検出手段と、
前記第１のパラメータを前記マクロブロックの画素の数で割り算した第１の平均値と、前記第２のパラメータを前記マクロブロックの画素の数で割り算した第２の平均値とから、所定の定数を乗じた前記第１の平均値と前記ピクチャの直前のIピクチャについての第２の平均値であって、加算できるように単位を調整した第２の平均値との和に、１つのGOP（Group of Picture）に含まれるIピクチャの数を乗じて得られた値と、前記定数を乗じた前記第１の平均値と前記ピクチャの直前のPピクチャについての第２の平均値であって、加算できるように単位を調整した第２の平均値との和に、１つのGOPに含まれるPピクチャの数を乗じて得られた値と、前記定数を乗じた前記第１の平均値と前記ピクチャの直前のBピクチャについての第２の平均値であって、加算できるように単位を調整した第２の平均値との和に、１つのGOPに含まれるBピクチャの数を乗じて得られた値との総和に対する、前記定数を乗じた前記第１の平均値と前記ピクチャについての前記第２の平均値であって、加算できるように単位を調整した前記第２の平均値との和の比率を、GOPの目標情報量に乗算することにより前記ピクチャの目標情報量を計算し、前記ピクチャの目標情報量、前記第１の平均値、および前記第２の平均値から、前記ピクチャに対する仮の量子化ステップを計算し、前記第１のパラメータと前記第１の平均値とから求められる係数を仮の量子化ステップに乗算することにより前記マクロブロックに対する量子化ステップを計算するとともに、１つの前記ピクチャの符号化中に前記ピクチャの発生情報量が前記目標情報量を超えた場合、１回だけ前記量子化ステップを大きくするように制御する制御手段と、
前記量子化ステップを用いて前記ピクチャを量子化する量子化手段と
を備えることを特徴とする画像処理装置。
【請求項２】
前記検出手段は、前記マクロブロックがイントラマクロブロックである場合、前記マクロブロック内の前記画素データの平均値と各前記画素データとの偏差に基づいて前記第２のパラメータを検出し、前記マクロブロックがノンイントラマクロブロックである場合、前記マクロブロックの前記画素データと１つ前のフレームの対応するマクロブロックの前記画素データとの差に基づいて前記第２のパラメータを検出する
ことを特徴とする請求項1に記載の画像処理装置。
【請求項３】
前記制御手段は、前記ピクチャを符号化した後、前記ピクチャの発生情報量が前記目標情報量より大きい場合、次のピクチャに用いる前記量子化ステップが大きくなるように制御し、前記ピクチャの発生情報量が前記目標情報量より小さい場合、次のピクチャに用いる前記量子化ステップが小さくなるように制御する
ことを特徴とする請求項1に記載の画像処理装置。
【請求項４】
１つのピクチャを複数のマクロブロックに分割して符号化する画像処理方法において、
前記マクロブロックを直交変換した画素データの上下または左右方向に隣接する画素間の差分に基づく前記マクロブロックの画像の複雑さの度合いを示す第１のパラメータと、前記マクロブロック内の前記画素データの平均値と各前記画素データとの偏差、または、前記マクロブロックの前記画素データと１つ前のフレームの対応するマクロブロックの前記画素データとの差に基づく前記マクロブロックの画像の複雑さの度合いを示す第２のパラメータとを検出する検出ステップと、
前記第１のパラメータを前記マクロブロックの画素の数で割り算した第１の平均値と、前記第２のパラメータを前記マクロブロックの画素の数で割り算した第２の平均値とから、所定の定数を乗じた前記第１の平均値と前記ピクチャの直前のIピクチャについての第２の平均値であって、加算できるように単位を調整した第２の平均値との和に、１つのGOP（Group of Picture）に含まれるIピクチャの数を乗じて得られた値と、前記定数を乗じた前記第１の平均値と前記ピクチャの直前のPピクチャについての第２の平均値であって、加算できるように単位を調整した第２の平均値との和に、１つのGOPに含まれるPピクチャの数を乗じて得られた値と、前記定数を乗じた前記第１の平均値と前記ピクチャの直前のBピクチャについての第２の平均値であって、加算できるように単位を調整した第２の平均値との和に、１つのGOPに含まれるBピクチャの数を乗じて得られた値との総和に対する、前記定数を乗じた前記第１の平均値と前記ピクチャについての前記第２の平均値であって、加算できるように単位を調整した前記第２の平均値との和の比率を、GOPの目標情報量に乗算することにより前記ピクチャの目標情報量を計算し、前記ピクチャの目標情報量、前記第１の平均値、および前記第２の平均値から、前記ピクチャに対する仮の量子化ステップを計算し、前記第１のパラメータと前記第１の平均値とから求められる係数を仮の量子化ステップに乗算することにより前記マクロブロックに対する量子化ステップを計算するとともに、１つの前記ピクチャの符号化中に前記ピクチャの発生情報量が前記目標情報量を超えた場合、１回だけ前記量子化ステップを大きくするように制御する制御ステップと、
前記量子化ステップを用いて前記ピクチャを量子化する量子化ステップと
を備えることを特徴とする画像処理方法。
【請求項５】
１つのピクチャを複数のマクロブロックに分割して符号化する画像処理装置に使用するコンピュータプログラムであって、
前記マクロブロックを直交変換した画素データの上下または左右方向に隣接する画素間の差分に基づく前記マクロブロックの画像の複雑さの度合いを示す第１のパラメータと、前記マクロブロック内の前記画素データの平均値と各前記画素データとの偏差、または、前記マクロブロックの前記画素データと１つ前のフレームの対応するマクロブロックの前記画素データとの差に基づく前記マクロブロックの画像の複雑さの度合いを示す第２のパラメータとを検出する検出ステップと、
前記第１のパラメータを前記マクロブロックの画素の数で割り算した第１の平均値と、前記第２のパラメータを前記マクロブロックの画素の数で割り算した第２の平均値とから、所定の定数を乗じた前記第１の平均値と前記ピクチャの直前のIピクチャについての第２の平均値であって、加算できるように単位を調整した第２の平均値との和に、１つのGOP（Group of Picture）に含まれるIピクチャの数を乗じて得られた値と、前記定数を乗じた前記第１の平均値と前記ピクチャの直前のPピクチャについての第２の平均値であって、加算できるように単位を調整した第２の平均値との和に、１つのGOPに含まれるPピクチャの数を乗じて得られた値と、前記定数を乗じた前記第１の平均値と前記ピクチャの直前のBピクチャについての第２の平均値であって、加算できるように単位を調整した第２の平均値との和に、１つのGOPに含まれるBピクチャの数を乗じて得られた値との総和に対する、前記定数を乗じた前記第１の平均値と前記ピクチャについての前記第２の平均値であって、加算できるように単位を調整した前記第２の平均値との和の比率を、GOPの目標情報量に乗算することにより前記ピクチャの目標情報量を計算し、前記ピクチャの目標情報量、前記第１の平均値、および前記第２の平均値から、前記ピクチャに対する仮の量子化ステップを計算し、前記第１のパラメータと前記第１の平均値とから求められる係数を仮の量子化ステップに乗算することにより前記マクロブロックに対する量子化ステップを計算するとともに、１つの前記ピクチャの符号化中に前記ピクチャの発生情報量が前記目標情報量を超えた場合、１回だけ前記量子化ステップを大きくするように制御する制御ステップと、
前記量子化ステップを用いて前記ピクチャを量子化する量子化ステップと
を備えるコンピュータプログラムが記録されている記録媒体。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、画像処理装置および方法、並びに記録媒体に関し、特に、ディジタル衛星放送システムのエンコードにおける、フィードフォワード系のレートコントロールに適用して好適な画像処理装置および方法、並びに記録媒体に関する。
【０００２】
【従来の技術】
MPEG2(Moving Picture Experrts Group Phase2)は、例えば、HDTV(High Definition Television)（商標）に代表されるディジタルテレビジョン放送の符号化方式として採用されている。ディジタルテレビジョン放送は、アナログテレビジョン放送に比べて、多チャンネル化が可能とされ、その結果、チャンネルあたりのコストを削減することができるだけでなく、映像、音声に限らず各種のデータ放送等のサービスを可能にする。
【０００３】
例えば、衛星放送に関しては、北米ではDirecTv（商標）、国内ではPerfecTv（商標）およびJSkyB（商標）をはじめとするいくつかの計画が一部実現されており、MPEG2を用いたディジタル放送はますます一般的になりつつある。
【０００４】
これら衛星放送においては、入力ソースをMPEG手法によりエンコードするエンコーダが使用されている。エンコーダでは、テレビジョン（以下、テレビという）画像をｍ×ｎ個のマクロブロックに分割し、各マクロブロック毎に、画素データを直交関数（例えばDCT(Discrete Cosine Transform)など）で変換して信号電力を集中させ、全体情報量を圧縮する。
【０００５】
例えば、MPEG2手法などに準拠して画像の圧縮、符号化を行う場合において、良好な画質の復号画像を得ることができるようにするためのアルゴリズムの１つとして、TM(Test Model)5が知られている。TM5は、３つのステップから構成され、各ステップでは次のような処理が行われる。
【０００６】
［ステップ１］
レートコントローラは、前回エンコードした同一のピクチャタイプのフレームのコンプレクシティ（Complexity）に基づいて、今回エンコードするフレームの目標符号量を設定する。
【０００７】
［ステップ２］
レートコントローラは、Ｉ，Ｐ，Ｂの各ピクチャタイプ別の目標符号量と発生符号量との差分を管理するための仮想バッファのデータ蓄積量をフィードバックし、そのデータ蓄積量に基づいて、実際の発生符号量が、ステップ１で設定された目標符号量に一致（ほぼ一致）するように、次にエンコードするマクロブロックについて、レート制御を行う。
【０００８】
［ステップ３］
量子化器は、視覚特性を考慮し、復号画像の画質が良好になるように、エンコード対象のマクロブロックの複雑さに基づいて、適応量子化を行う。
【０００９】
従って、TM5では、例えば、画像の複雑さに対応して変化するパラメータをＣとし、画像のアクティビティに対応するものを、発生符号量を目標符号量に一致させるためのパラメータをＱとして、仮想バッファのデータ蓄積量から決定された仮の量子化ステップに対応するものを、それぞれ用いることとすると、マクロブロックを量子化するための最終的な量子化ステップMQUANTは、例えば、次式に従って決定される。
MQUANT=ｆ（Ｃ，Ｑ）
なお、ｆ（Ｃ，Ｑ）は、引数ＣおよびＱに対応する値を、所定の範囲内の値に正規化したものを出力する関数である。
【００１０】
【発明が解決しようとする課題】
上述したように、TM5では、量子化ステップが、発生符号量を目標符号量に対応させるための変数Ｃと、画像の複雑さに対応する変数Ｑから決定される。
【００１１】
ところで、上述のステップ１、２で、レートコントローラが行うレートコントロールは、基本的には、バッファの中の占有量に基づいて発生情報量をコントロールするものであり、これはフィードバック制御である。
【００１２】
しかしながら、従来のフィードバック系のレートコントロールによると、ノイズが目立ち、高画質の復号画像を得ることが困難である課題があった。
【００１３】
本発明はこのような状況に鑑みてなされたものであり、フィードフォワード系に重きをおいてレートコントロールを行うことで、ノイズが少い、高画質の復号画像を得ることができるようにするものである。
【００１４】
【課題を解決するための手段】
請求項１に記載の画像処理装置は、マクロブロックを直交変換した画素データの上下または左右方向に隣接する画素間の差分に基づくマクロブロックの画像の複雑さの度合いを示す第１のパラメータと、マクロブロック内の画素データの平均値と各画素データとの偏差、または、マクロブロックの画素データと１つ前のフレームの対応するマクロブロックの画素データとの差に基づくマクロブロックの画像の複雑さの度合いを示す第２のパラメータとを検出する検出手段と、第１のパラメータをマクロブロックの画素の数で割り算した第１の平均値と、第２のパラメータをマクロブロックの画素の数で割り算した第２の平均値とから、所定の定数を乗じた第１の平均値とピクチャの直前のIピクチャについての第２の平均値であって、加算できるように単位を調整した第２の平均値との和に、１つのGOP（Group of Picture）に含まれるIピクチャの数を乗じて得られた値と、定数を乗じた第１の平均値とピクチャの直前のPピクチャについての第２の平均値であって、加算できるように単位を調整した第２の平均値との和に、１つのGOPに含まれるPピクチャの数を乗じて得られた値と、定数を乗じた第１の平均値とピクチャの直前のBピクチャについての第２の平均値であって、加算できるように単位を調整した第２の平均値との和に、１つのGOPに含まれるBピクチャの数を乗じて得られた値との総和に対する、定数を乗じた第１の平均値とピクチャについての第２の平均値であって、加算できるように単位を調整した第２の平均値との和の比率を、GOPの目標情報量に乗算することによりピクチャの目標情報量を計算し、ピクチャの目標情報量、第１の平均値、および第２の平均値から、ピクチャに対する仮の量子化ステップを計算し、第１のパラメータと第１の平均値とから求められる係数を仮の量子化ステップに乗算することによりマクロブロックに対する量子化ステップを計算するとともに、１つのピクチャの符号化中にピクチャの発生情報量が目標情報量を超えた場合、１回だけ量子化ステップを大きくするように制御する制御手段と、量子化ステップを用いてピクチャを量子化する量子化手段とを備えることを特徴とする。
【００１５】
請求項４に記載の画像処理方法は、マクロブロックを直交変換した画素データの上下または左右方向に隣接する画素間の差分に基づくマクロブロックの画像の複雑さの度合いを示す第１のパラメータと、マクロブロック内の画素データの平均値と各画素データとの偏差、または、マクロブロックの画素データと１つ前のフレームの対応するマクロブロックの画素データとの差に基づくマクロブロックの画像の複雑さの度合いを示す第２のパラメータとを検出する検出ステップと、第１のパラメータをマクロブロックの画素の数で割り算した第１の平均値と、第２のパラメータをマクロブロックの画素の数で割り算した第２の平均値とから、所定の定数を乗じた第１の平均値とピクチャの直前のIピクチャについての第２の平均値であって、加算できるように単位を調整した第２の平均値との和に、１つのGOP（Group of Picture）に含まれるIピクチャの数を乗じて得られた値と、定数を乗じた第１の平均値とピクチャの直前のPピクチャについての第２の平均値であって、加算できるように単位を調整した第２の平均値との和に、１つのGOPに含まれるPピクチャの数を乗じて得られた値と、定数を乗じた第１の平均値とピクチャの直前のBピクチャについての第２の平均値であって、加算できるように単位を調整した第２の平均値との和に、１つのGOPに含まれるBピクチャの数を乗じて得られた値との総和に対する、定数を乗じた第１の平均値とピクチャについての第２の平均値であって、加算できるように単位を調整した第２の平均値との和の比率を、GOPの目標情報量に乗算することによりピクチャの目標情報量を計算し、ピクチャの目標情報量、第１の平均値、および第２の平均値から、ピクチャに対する仮の量子化ステップを計算し、第１のパラメータと第１の平均値とから求められる係数を仮の量子化ステップに乗算することによりマクロブロックに対する量子化ステップを計算するとともに、１つのピクチャの符号化中にピクチャの発生情報量が目標情報量を超えた場合、１回だけ量子化ステップを大きくするように制御する制御ステップと、量子化ステップを用いてピクチャを量子化する量子化ステップとを備えることを特徴とする。
【００１６】
請求項５に記載の記録媒体は、マクロブロックを直交変換した画素データの上下または左右方向に隣接する画素間の差分に基づくマクロブロックの画像の複雑さの度合いを示す第１のパラメータと、マクロブロック内の画素データの平均値と各画素データとの偏差、または、マクロブロックの画素データと１つ前のフレームの対応するマクロブロックの画素データとの差に基づくマクロブロックの画像の複雑さの度合いを示す第２のパラメータとを検出する検出ステップと、第１のパラメータをマクロブロックの画素の数で割り算した第１の平均値と、第２のパラメータをマクロブロックの画素の数で割り算した第２の平均値とから、所定の定数を乗じた第１の平均値とピクチャの直前のIピクチャについての第２の平均値であって、加算できるように単位を調整した第２の平均値との和に、１つのGOP（Group of Picture）に含まれるIピクチャの数を乗じて得られた値と、定数を乗じた第１の平均値とピクチャの直前のPピクチャについての第２の平均値であって、加算できるように単位を調整した第２の平均値との和に、１つのGOPに含まれるPピクチャの数を乗じて得られた値と、定数を乗じた第１の平均値とピクチャの直前のBピクチャについての第２の平均値であって、加算できるように単位を調整した第２の平均値との和に、１つのGOPに含まれるBピクチャの数を乗じて得られた値との総和に対する、定数を乗じた第１の平均値とピクチャについての第２の平均値であって、加算できるように単位を調整した第２の平均値との和の比率を、GOPの目標情報量に乗算することによりピクチャの目標情報量を計算し、ピクチャの目標情報量、第１の平均値、および第２の平均値から、ピクチャに対する仮の量子化ステップを計算し、第１のパラメータと第１の平均値とから求められる係数を仮の量子化ステップに乗算することによりマクロブロックに対する量子化ステップを計算するとともに、１つのピクチャの符号化中にピクチャの発生情報量が目標情報量を超えた場合、１回だけ量子化ステップを大きくするように制御する制御ステップと、量子化ステップを用いてピクチャを量子化する量子化ステップとを備えるコンピュータプログラムが記録されていることを特徴とする。
【００１７】
請求項１に記載の画像処理装置、請求項４に記載の画像処理方法、および請求項５に記載の記録媒体においては、マクロブロックを直交変換した画素データの上下または左右方向に隣接する画素間の差分に基づくマクロブロックの画像の複雑さの度合いを示す第１のパラメータと、マクロブロック内の画素データの平均値と各画素データとの偏差、または、マクロブロックの画素データと１つ前のフレームの対応するマクロブロックの画素データとの差に基づくマクロブロックの画像の複雑さの度合いを示す第２のパラメータとが検出され、第１のパラメータをマクロブロックの画素の数で割り算した第１の平均値と、第２のパラメータをマクロブロックの画素の数で割り算した第２の平均値とから、所定の定数を乗じた第１の平均値とピクチャの直前のIピクチャについての第２の平均値であって、加算できるように単位を調整した第２の平均値との和に、１つのGOP（Group of Picture）に含まれるIピクチャの数を乗じて得られた値と、定数を乗じた第１の平均値とピクチャの直前のPピクチャについての第２の平均値であって、加算できるように単位を調整した第２の平均値との和に、１つのGOPに含まれるPピクチャの数を乗じて得られた値と、定数を乗じた第１の平均値とピクチャの直前のBピクチャについての第２の平均値であって、加算できるように単位を調整した第２の平均値との和に、１つのGOPに含まれるBピクチャの数を乗じて得られた値との総和に対する、定数を乗じた第１の平均値とピクチャについての第２の平均値であって、加算できるように単位を調整した第２の平均値との和の比率を、GOPの目標情報量に乗算することによりピクチャの目標情報量が計算され、ピクチャの目標情報量、第１の平均値、および第２の平均値から、ピクチャに対する仮の量子化ステップが計算され、第１のパラメータと第１の平均値とから求められる係数を仮の量子化ステップに乗算することによりマクロブロックに対する量子化ステップが計算されるとともに、１つのピクチャの符号化中にピクチャの発生情報量が目標情報量を超えた場合、１回だけ量子化ステップを大きくするように制御され、量子化ステップを用いてピクチャが量子化される。
【００１８】
【発明の実施の形態】
以下に本発明の実施の形態を説明するが、特許請求の範囲に記載の発明の各手段と以下の実施の形態との対応関係を明らかにするために、各手段の後の括弧内に、対応する実施の形態（但し一例）を付加して本発明の特徴を記述すると、次のようになる。但し勿論この記載は、各手段を記載したものに限定することを意味するものではない。
【００１９】
請求項１に記載の画像処理装置は、マクロブロックを直交変換した画素データの上下または左右方向に隣接する画素間の差分に基づくマクロブロックの画像の複雑さの度合いを示す第１のパラメータと、マクロブロック内の画素データの平均値と各画素データとの偏差、または、マクロブロックの画素データと１つ前のフレームの対応するマクロブロックの画素データとの差に基づくマクロブロックの画像の複雑さの度合いを示す第２のパラメータとを検出する検出手段（例えば、図１のパラメータ検出器１０）と、第１のパラメータをマクロブロックの画素の数で割り算した第１の平均値と、第２のパラメータをマクロブロックの画素の数で割り算した第２の平均値とから、所定の定数を乗じた第１の平均値とピクチャの直前のIピクチャについての第２の平均値であって、加算できるように単位を調整した第２の平均値との和に、１つのGOP（Group of Picture）に含まれるIピクチャの数を乗じて得られた値と、定数を乗じた第１の平均値とピクチャの直前のPピクチャについての第２の平均値であって、加算できるように単位を調整した第２の平均値との和に、１つのGOPに含まれるPピクチャの数を乗じて得られた値と、定数を乗じた第１の平均値とピクチャの直前のBピクチャについての第２の平均値であって、加算できるように単位を調整した第２の平均値との和に、１つのGOPに含まれるBピクチャの数を乗じて得られた値との総和に対する、定数を乗じた第１の平均値とピクチャについての第２の平均値であって、加算できるように単位を調整した第２の平均値との和の比率を、GOPの目標情報量に乗算することによりピクチャの目標情報量を計算し、ピクチャの目標情報量、第１の平均値、および第２の平均値から、ピクチャに対する仮の量子化ステップを計算し、第１のパラメータと第１の平均値とから求められる係数を仮の量子化ステップに乗算することによりマクロブロックに対する量子化ステップを計算するとともに、１つのピクチャの符号化中にピクチャの発生情報量が目標情報量を超えた場合、１回だけ量子化ステップを大きくするように制御する制御手段（例えば、図１のレートコントローラ１１）と、量子化ステップを用いてピクチャを量子化する量子化手段（例えば、図１の量子化器２）とを備えることを特徴とする。
【００２０】
以下、本発明を適用した画像処理装置の一実施の形態について図面を参照しながら説明する。図１は、本発明を適用した画像処理装置の構成を示すブロック図である。
【００２１】
演算器１は、入力された画像データから、動き補償器８により動き補償された予測画像データを減算し、その差分データを量子化器２に出力している。量子化器２は、入力された画像データを量子化し、可変長符号化器３と逆量子化器５に出力している。可変長符号化器３は、量子化器２より入力された量子化データと、動きベクトル検出器９より供給された動きベクトルを可変長符号化し、バッファ４に出力する。バッファ４は、入力された可変長符号化器３より供給された可変長データを所定の伝送路に出力する。
【００２２】
逆量子化器５は、量子化器２より入力された量子化データを逆量子化し、演算器６に出力する。演算器６は、動き補償器８により動き補償された予測画像データを、逆量子化器５より入力された差分データに加算して、元の画像データに変換して、フレームメモリ７に供給し、記憶させる。動きベクトル検出器９は、入力された画像データの動きベクトルを検出し、その動きベクトルを、動き補償器８と、可変長符号化器３に出力している。動き補償器８は、フレームメモリ７より読み出された画像データを、動きベクトルに対応して動き補償し、予測画像データを生成している。
【００２３】
パラメータ検出器１０は、入力された画像データの複雑さに対応するパラメータを、動きベクトル検出器９の出力を利用して検出し、レートコントローラ１１に出力している。レートコントローラ１１にはまた、バッファ４のデータの占有量に関するデータが供給されている。ECS(Encoder Control Subsystem)１２は、レートコントローラ１１に、ビットレートパラメータを供給する。レートコントローラ１１は、パラメータ検出器１０、バッファ４、およびECS１２からのデータに対応して、量子化器２の量子化ステップを制御するようになされている。
【００２４】
以上が送信側の構成であるが、次に、受信側の構成について説明する。バッファ３１は、伝送路を介して供給された符号化データを一旦記憶し、これを可変長復号器３２に出力している。可変長復号器３２は、入力された符号化データを復調し、画像データ成分を逆量子化器３３に供給し、動きベクトルを動き補償器３６に出力している。演算器３４は、動き補償器３６から供給された予測画像データを逆量子化器３３の出力に加算し、復号画像データとして出力する。この復号画像データは、フレームメモリ３５に供給され、記憶される。動き補償器３６は、フレームメモリ３５に記憶された画像データに動きベクトルに対応して動き補償を施し、予測データを生成している。
【００２５】
なお、通常、量子化データは、DCT変換された後、可変長符号に変換され、従って、逆量子化の前に、逆DCT変換がなされるが、簡単のため、ここでは省略している。
【００２６】
次に、その基本的な動作について説明する。送信側においては、動きベクトル検出器９は、入力された画像データの動きベクトルを検出し、動き補償器８に出力する。動き補償器８は、この動きベクトルに対応して、フレームメモリ７より読み出された画像データに対して動き補償を施し、予測画像データを生成して、演算器１に出力する。演算器１は、入力された画像データから予測画像データを減算し、量子化器２に出力する。量子化器２は、入力された画像データを量子化し、可変長符号化器３に出力する。可変長符号化器３は、量子化器２より入力された量子化データと、動きベクトル検出器９より供給された動きベクトルを可変長符号に変換し、バッファ４を介して伝送路に伝送する。
【００２７】
一方、量子化器２より出力された量子化データは、逆量子化器５で逆量子化された後、演算器６に入力される。演算器６は、逆量子化器５の出力に、動き補償器８が出力した予測画像データを加算し、元の画像データを復元して、フレームメモリ７に供給し、記憶させる。
【００２８】
一方、受信側においては、伝送路より伝送されてきた符号化データがバッファ３１に一旦記憶された後、可変長復号器３２に入力される。可変長復号器３２は、入力された符号化データを復号し、画像データ成分を逆量子化器３３に出力し、動きベクトルを動き補償器３６に供給する。逆量子化器３３は、入力された画像データを逆量子化し、演算器３４に出力する。動き補償器３６は、フレームメモリ３５に記憶されている画像データを動きベクトルに対応して動き補償し、予測画像データを生成して、演算器３４に出力する。演算器３４は、逆量子化器３３の出力と、動き補償器３６の出力する予測画像データとを加算し、元の画像データを復号して、出力する。この画像データはまた、予測画像データ生成のために、フレームメモリ３５に供給され、記憶される。
【００２９】
図２は、図１の画像処理装置の量子化器を制御する動作を説明するフローチャートである。
【００３０】
最初にステップＳ１において、レートコントローラ１１は、ピクチャの処理を始めてもよいか否かの判定を行う。ピクチャの処理を始めてはいけないと判定された場合（１つ前のピクチャの処理が終了してから、次のピクチャの処理の処理を開始するまでのブランクの期間である場合）は、ピクチャの処理を始めてもよいと判定されるまで待機する。ピクチャの処理を始めてもよいと判定された場合は、ステップＳ２に進み、レートコントローラ１１は、ピクチャ前処理を行う。次に、レートコントローラ１１は、ステップＳ３でマクロブロック処理を行う。レートコントローラ１１は、ステップＳ４で未処理のマクロブロックがまだあるか否かの判定を行う。未処理のマクロブロックがまだあると判定された場合は、ステップＳ３に戻り、レートコントローラ１１は未処理のマクロブロックがなくなるまで同様の処理を繰り返す。
【００３１】
未処理のマクロブロックがもうないと判定された場合は、ステップＳ５に進み、レートコントローラ１１は、ピクチャ後処理を行う。ステップＳ５の処理が終了すると、ステップＳ１に戻り、レートコントローラ１１は、次のピクチャの画像データを処理する。
【００３２】
次に、図３を参照して、図２のステップＳ２で、レートコントローラ１１が行う、ピクチャ前処理の詳細を説明する。
【００３３】
最初にステップＳ２１において、レートコントローラ１１は、パラメータ検出器１０から、処理対象となるピクチャ内のマクロブロックの、アクティビティの平均act-avg、および、maeの平均mae-avgの供給を受ける。
【００３４】
ここで、図１のパラメータ検出器１０が、act-avgとmae-avgを計算する場合の手順を、図４および図５を参照して説明する。上述したように、各フレームの入力画像はｍ×ｎ個のマクロブロックに分割され、各マクロブロック毎に、直交関数（例えばDCT(Discrete Cosine Transform)など）で変換されたり、動きベクトルの検出が行われたりする。図４は、画像内の、直交変換された、マクロブロックの画素データの例を示す図である。同図に示すように、１６×１６の画素で１個のマクロブロックが構成される。
【００３５】
パラメータ検出器１０は、図４に示す対象マクロブロックの画素データＡm,nより、アクティビティact（画像の複雑さの度合を示すパラメータ）を、式（１）に従って計算する。
【数１】
0004171934.tif 000002
パラメータ検出器１０はまた、マクロブロックがイントラマクロブロックの場合、対象マクロブロックの画素データＡm,nより、mae(mean absolute error)（actとは別の、マクロブロックの画像の複雑さの度合を示すパラメータ）を、式（２）と式（３）に従って計算する。
【数２】
0004171934.tif 000003
【００３６】
これに対して、対象マクロブロックがノンイントラマクロブロックである場合、maeは式（４）により計算される。
【数３】
0004171934.tif 000004
ここでＲm,nは、図５に示すように、１つ前のフレームの対象マクロブロックの、対応する画素データを表す。mae-aveは、このようにして求められたmaeのそのマクロブロックにおける総和を、画素数１６×１６で割り算して求められる。
【００３７】
図３に戻って、レートコントローラ１１は、ステップＳ２２で、式（５）に従って、ピクチャの目標情報量target-bit-pictureを計算する。
【数４】
0004171934.tif 000005
なお、式（５）内の、intは、括弧内の数値の整数をとる関数を意味する。また、括弧内の対数計算は、互いに算出方法の異なるact-avgとmae-avgとを、加算できるように単位を調整するためのものである。K3は定数である。mae-prevは、直前のピクチャのmaeを表す。iは、I-picture,P-picture,B-pictureを意味し、従って、mae-prev[i]は、mae-prev[I-picture],mae-prev[P-picture],または、mae-prev[B-picture]を意味する。Nは１GOPでの各ピクチャの数を意味し、通常のGOPの場合、N[I-picture]=1,N[P-picture]=4,N[B-picture]=10である。
【００３８】
この処理は、TM5のステップ１に対応する。本方法で使用されるmae-avgは、TM5のステップ１では見られなかった、フィードフォワード系のパラメータである。
【００３９】
レートコントローラ１１は、ステップＳ２３で、シーンチェンジか否かの判定を行う。シーンチェンジであると判定された場合は、ステップＳ２４に進み、レートコントローラ１１は、仮の量子化ステップに対応するパラメータ（TM５のステップ２で使用する変数に近い変数だが、計算方法が異なる）（reference-qsc）を、式（６）と式（７）に従って、初期化する。
【数５】
0004171934.tif 000006
なお、これらの式のK4,K5は定数である。target-bitはそのピクチャの目標発生情報量を表し、式（５）におけるtarget-bit-pictureと同一のものである。
【００４０】
式（６）内の量子化ステップqscの計算に用いられる対数計算、および、rc-parameterは、互いに算出方法の異なるact-avgとmae-avgとを、加算できるように単位を調整するためのものである。式（７）内のqs-tableは、ステップＳ２２で求めた目標情報量を、qsc(quantizer scale code)に変換するためのテーブルを意味する。また、量子化ステップqscは、画像の複雑さを示すパラメータのみにより、事前に仮に算出されるものである。この処理は、TM5のステップ１に対応するが、TM5では見られなかったフィードフォワード系の処理である。レートコントローラ１１は、さらに、ステップＳ２５に進み、画像を符号化したデータの発生符号量を目標符号量に一致させるための変数（m-param）を０とする。
【００４１】
ステップＳ２３で、シーンチェンジではないと判定された場合は、ステップＳ２６に進み、レートコントローラ１１は、Ｉ，Ｐ，Ｂのピクチャタイプの判定を行う。ピクチャタイプがＢピクチャであると判定された場合は、ステップＳ２７に進み、レートコントローラ１１は、以下の式（８）にに従い、発生符号量を目標符号量に一致させるための変数（m-param）を計算する。
m-param＝{mae-prev[B-PICTURE]}/{mae-prev[I-PICTURE]}           （８）
ピクチャタイプがＩピクチャであると判定された場合は、ステップＳ２８に進み、レートコントローラ１１は、式（９）と式（１０）に従って、reference-qsc（TM5のステップ２で使用する変数に近い変数だが、計算方法が異なる）を更新する。
【数６】
0004171934.tif 000007
【００４２】
ステップＳ２８の処理が終了した後、または、ステップＳ２６でピクチャタイプがＰピクチャであると判定された場合は（ステップＳ２８をスキップして）、ステップＳ２９に進み、レートコントローラ１１は、式（１１）に従い、m-paramを計算する。
m-param＝{mae-prev[P-PICTURE]}/{mae-prev[I-PICTURE]}          （１１）
【００４３】
ステップＳ２５，Ｓ２７，Ｓ２９の処理が終了した後、ステップＳ３０に進み、レートコントローラ１１は、量子化ステップの増加を示すパラメータqsc-upを０として、対象ピクチャの量子化の前処理を終了する。
【００４４】
次に、図６を参照して、図２のステップＳ３で、レートコントローラ１１が行うマクロブロック処理を説明する。
【００４５】
最初にステップＳ４１において、レートコントローラ１１は、パラメータ検出器１０より、（式（１）乃至式（４）により算出された）actおよびmaeの供給を受ける。レートコントローラ１１は、ステップＳ４２で、式（１２）に従い、アクティビティの予想値act'を計算する。
act'＝（act - act-ave）× m-param + act-ave                   （１２）
レートコントローラ１１は、ステップＳ４３で、式（１３）に従い、量子化ステップqscを計算する。
qsc＝{(2act' + act-ave)/(act' + 2act-ave)}×reference-qsc     （１３）
【００４６】
ここで用いられるact aveは、TM5では、以前に処理したピクチャのものを使用するが、本方法では、そのとき量子化処理されるピクチャのものを、処理前に、図３のステップＳ２１で予め算出して使用する点で、TM5のMQUANTとは異なる。
【００４７】
レートコントローラ１１は、ステップＳ４４で、式（１４）に従い、ピクチャにおける発生情報量を計算する。
picture-bit-generated = picture-bit-generated + bit-generated （１４）
なお、bit-generatedは、ピクチャ内の対象マクロブロックにおける発生情報量を意味する。レートコントローラ１１は、ステップＳ４５で、量子化ステップの増加を示すパラメータqsc-upが０か否かの判定を行う。qsc-up＝０と判定された場合は、ステップＳ４６に進み、レートコントローラ１１は、ステップＳ４４で計算した、ピクチャにおける発生情報量（マクロブロックにおけるものの累積値）picture-bit-generatedが、図３のステップＳ２２で計算された目標情報量target-bit-pictureより大きいか否かの判定を行う。
【００４８】
発生情報量が目標情報量より大きいと判定された場合は、ステップＳ４７に進み、レートコントローラ１１は、発生情報量を目標情報量に近づけるために、reference-qscを１だけインクリメントするとともに、qsc-up＝１とする。このreference-qscは、次回、図３のステップＳ２４またはステップＳ２８で使用される。なお、ステップＳ４６の判定に対し、TM5の、これと対応するステップ２では、ピクチャ毎ではなく、マクロブロック毎における発生情報量が目標情報量より大きいか否かの判定を行う。
【００４９】
ステップＳ４５で、qsc-upが０ではないと判定された場合、ステップＳ４６で、ピクチャ発生情報量（マクロブロックにおけるものの累積値）が目標情報量より大きくないと判定された場合、または、ステップＳ４７の処理が終了した後、レートコントローラ１１は、対象マクロブロックの処理を終了する。
【００５０】
次に、図７を参照して、図２のステップＳ５で、レートコントローラ１１が行うピクチャ後処理を説明する。
【００５１】
最初にステップＳ６１において、レートコントローラ１１は、式（１５）に従い、GOP（Group of Picture）単位での目標情報量target-bit-GOPを修正する。
0004171934.tif 000008
右辺の第２項は、ピクチャの目標情報量、第３項は、ピクチャの発生情報量を示す。
【００５２】
レートコントローラ１１は、ステップＳ６２で、ピクチャがＩピクチャまたはＰピクチャであるか否かの判定を行う。ピクチャがＩピクチャまたはＰピクチャであると判定された場合は、ステップＳ６３に進み、レートコントローラ１１は、それまでのactまたはmaeを、それぞれact-prevまたはmae-prevに設定し、その値を更新する。レートコントローラ１１は、ステップＳ６４で、発生情報量の累積値が目標情報量より大きいか否かの判定を行う。発生情報量が目標情報量より大きいと判定された場合は、ステップＳ６５に進み、レートコントローラ１１は、reference-qscおよびrc-parameterを１だけインクリメントする。この値は、次回、図３のステップＳ２４またはステップＳ２８で使用される。
【００５３】
発生情報量が目標情報量より大きくないと判定された場合は、ステップＳ６６に進み、レートコントローラ１１は、発生情報量が目標情報量より小さいか否かの判定を行う。発生情報量が目標情報量より小さいと判定された場合は、ステップＳ６７に進み、レートコントローラ１１は、GOPにおける発生情報量の累積値が目標情報量に近づくように、reference-qscおよびrc-parameterを１だけディクリメントし、ピクチャの後処理を終了する。この値は、次回、図３のステップＳ２４またはステップＳ２８で使用される。発生情報量が目標情報量より小さくないとステップＳ６６で判定された場合（すなわち、発生情報量と目標情報量が等しい場合）、reference-qscとrc-parameterはそのままとされる。
【００５４】
以上の図６のステップＳ４７、および図７のステップＳ６５，Ｓ６７の処理は、１ピクチャの処理中に、条件が一致したとき１回だけ行われる。これにより、各ピクチャを量子化する量子化器２のパラメータは、あまり変化しないように（パラメータの値が一定となるように）動作する。また、図３のステップＳ２１（act-avg,mae-avgの入力）、ステップＳ２２（目標情報量計算）、ステップＳ２４，Ｓ２８（reference-qscの計算）、ステップＳ２５，Ｓ２７，Ｓ２９（m-paramの計算）の処理により、フィードフォワード処理の比重が高くなっている。これにより、ノイズの少ない、高画質の画像を提供することが可能となる。
【００５５】
レートコントローラ１１は、以上のようにして、量子化器２の量子化ステップを出力qscで制御する。なお、ECS１２から供給されるビットレート、およびバッファ４から供給される占有量に関する情報は、レートコントローラ１１において、target-bitを決定するとき使用される。
【００５６】
なお、上記したような処理を行うコンピュータプログラムをユーザに提供する提供媒体としては、磁気ディスク、CD-ROM、固体メモリなどの記録媒体の他、ネットワーク、衛星などの通信媒体を利用することができる。
【００５７】
【発明の効果】
以上のように、請求項１に記載の画像処理装置、請求項４に記載の画像処理方法、および請求項５に記載の記録媒体によれば、ノイズが少ない、高画質の復号画像を提供することができる。
【図面の簡単な説明】
【図１】本発明を適用した画像処理装置の構成を示すブロック図である。
【図２】図１の画像処理装置のレートコントローラ１１の量子化器制御動作を説明するフローチャートである。
【図３】図２のステップＳ２のピクチャ前処理を説明するフローチャートである。
【図４】対象マクロブロックを説明する図である。
【図５】対象マクロブロックおよび検索マクロブロックを説明する図である。
【図６】図２のステップＳ３のマクロブロック処理を説明するフローチャートである。
【図７】図２のステップＳ５のピクチャ後処理を説明するフローチャートである。
【符号の説明】
１  演算器，  ２  量子化器，  ３  可変長符号化器，  ４  バッファ，  ５逆量子化器，  ６  演算器，  ７  フレームメモリ，  ８  動き補償器，  ９動きベクトル検出器，  １０  パラメータ検出器，  １１  レートコントローラ，  １２  ECS，  ３１  バッファ，  ３２  可変長復号器，  ３３  逆量子化器，  ３４  演算器，  ３５  フレームメモリ，  ３６  動き補償器
【図１】
0004171934.tif 000009
【図２】
0004171934.tif 000010
【図３】
0004171934.tif 000011
【図４】
0004171934.tif 000012
【図５】
0004171934.tif 000013
【図６】
0004171934.tif 000014
【図７】
0004171934.tif 000015