(57)【特許請求の範囲】
【請求項１】
入力画像データを複数枚蓄える画像データ蓄積手段と、
上記画像データ蓄積手段に蓄積された複数枚の画像データから、当該入力画像データのフレーム内符号化による圧縮後のデータ量を予測するための画像自身の情報量を示す第１のパラメータ、フレーム間予測符号化による圧縮後のデータ量を予測するための画像の差分情報量を示す第２のパラメータ及び画像カウントのための画像情報を出力する画像情報評価手段と、
上記画像データ蓄積手段に蓄積された複数枚の画像データの画像間の相関情報として、上記画像情報評価手段からの上記第２のパラメータを用いてシーンチェンジを検出する画像間相関検出手段と、
画像データに直交変換処理を施し、直交変換係数を生成する直交変換手段と、
上記直交変換手段により生成された直交変換係数を、所定の量子化ステップで量子化する量子化手段と、
上記画像情報評価手段によって得られた画像情報と上記画像間相関検出手段からの画像間の相関情報であるシーンチェンジの検出出力とに基づいて、フレーム内符号化若しくはフレーム間予測符号化を選択する圧縮方法選択手段と、
上記画像情報評価手段によって得られた上記第１、第２のパラメータと上記圧縮方法選択手段からのフレーム内符号化かフレーム間予測符号化かの圧縮方法の選択情報とに基づいて、フレーム内符号化が選択されたフレームに対しては第１のパラメータの画像内の総和である第１の画像情報量パラメータ、フレーム間予測符号化が選択されたフレームに対しては第２のパラメータの画像内の総和である第２の画像情報量パラメータをそれぞれ用い、所定の複数フレームについての画像情報量パラメータの合計値を求め、上記所定の複数フレームで一定のデータ量とするような量子化手段における量子化の際の各フレームに対するビット割り当てを決定し、この決定されたビット割り当てに応じて上記量子化手段における所定の量子化ステップを制御する量子化ステップ制御手段とを有し、
上記圧縮方法選択手段は、上記画像情報のカウント値により定期的に選択されるフレーム内符号化に対して上記シーンチェンジの検出時にはフレーム内符号化を選択すると共に、上記シーンチェンジ検出によるフレーム内符号化の近傍に上記定期的なフレーム内符号化がきた場合、当該定期的なフレーム内符号化を取り止め、フレーム間予測符号化を選択することを特徴とする画像符号化装置。
【請求項２】
上記画像情報評価手段は、上記第２のパラメータとして前後の画像についてそれぞれ動きベクトル補償後の画像との差分値を求め、上記画像間相関検出手段は、それぞれこの差分値の画像全体での総和である上記第２の画像情報量パラメータを求めて、さらに当該前後の画像での上記第２の画像情報量パラメータの比を求めることにより上記シーンチェンジを検出することを特徴とする請求項１記載の画像符号化装置。
【請求項３】
上記画像データ蓄積手段は、フレーム内符号化が定期的に行われる周期の略２倍分の画像データを蓄積することを特徴とする請求項１記載の画像符号化装置。
【請求項４】
入力画像データを複数枚蓄える画像データ蓄積手段に蓄積された複数枚の画像データから、当該入力画像データのフレーム内符号化による圧縮後のデータ量を予測するための画像自身の情報量を示す第１のパラメータ、フレーム間予測符号化による圧縮後のデータ量を予測するための画像の差分情報量を示す第２のパラメータ及び画像カウントのための画像情報を出力する画像情報評価工程と、
上記画像データ蓄積手段に蓄積された複数枚の画像データの画像間の相関情報として、上記画像情報評価工程からの上記第２のパラメータを用いてシーンチェンジを検出する画像間相関検出工程と、
上記画像情報評価工程にて得られた画像情報と上記画像間相関検出工程にて得られた画像間の相関情報であるシーンチェンジの検出出力とに基づいて、フレーム内符号化若しくはフレーム間予測符号化を選択する圧縮方法選択工程と、
画像データに直交変換処理を施し、直交変換係数を生成する直交変換工程と、
上記画像情報評価工程にて得られた上記第１、第２のパラメータと上記圧縮方法選択工程にて選択されたフレーム内符号化かフレーム間予測符号化かの圧縮方法の選択情報とに基づいて、フレーム内符号化が選択されたフレームに対しては第１のパラメータの画像内の総和である第１の画像情報量パラメータ、フレーム間予測符号化が選択されたフレームに対しては第２のパラメータの画像内の総和である第２の画像情報量パラメータをそれぞれ用い、所定の複数フレームについての画像情報量パラメータの合計値を求め、上記所定の複数フレームで一定のデータ量とするような量子化の際の各フレームに対するビット割り当てを決定し、この決定されたビット割り当てに応じて所定の量子化ステップを制御する量子化ステップ制御工程と、
上記直交変換工程にて生成された直交変換係数を、上記所定の量子化ステップで量子化する量子化工程とを有し、
上記圧縮方法選択工程では、上記画像情報のカウント値により定期的に選択されるフレーム内符号化に対して上記シーンチェンジの検出時にはフレーム内符号化を選択すると共に、上記シーンチェンジ検出によるフレーム内符号化の近傍に上記定期的なフレーム内符号化がきた場合、当該定期的なフレーム内符号化を取り止め、フレーム間予測符号化を選択することを特徴とする画像符号化方法。
【請求項５】
上記画像情報評価工程では、上記第２のパラメータとして前後の画像についてそれぞれ動きベクトル補償後の画像との差分値を求め、上記画像間相関検出工程では、それぞれこの差分値の画像全体での総和である上記第２の画像情報量パラメータを求めて、さらに当該前後の画像での上記第２の画像情報量パラメータの比を求めることにより上記シーンチェンジが検出されることを特徴とする請求項４記載の画像符号化方法。
【請求項６】
上記画像データ蓄積手段は、フレーム内符号化が定期的に行われる周期の略２倍分の画像データを蓄積することを特徴とする請求項４記載の画像符号化方法。
【発明の詳細な説明】
【０００１】
【産業上の利用分野】
本発明は、例えば画像を圧縮符号化する場合に用いて好適な画像符号化装置及びその方法に関する。
【０００２】
【従来の技術】
従来の例えば画像を圧縮符号化する場合に用いて好適な画像符号化装置の構成例を図３に示す。
【０００３】
この図３の画像符号化装置において、入力端子１には、図４に示すように、
輝度成分(Y)     352(H)×240(V)×30フレーム
クロマ成分(Cb)  174(H)×120(V)×30フレーム
クロマ成分(Cr)  174(H)×120(V)×30フレーム
のピクセル数にディジタル化された画像データが供給される。
【０００４】
上記入力端子１に供給された入力画像データは、当該入力画像データを一時的に蓄えて然るべき順番に入れ替えるためのフレームメモリ１０を介して、動き検出器２０とブロック分割器１１に送られる。
【０００５】
当該ブロック分割器１１は、フレームメモリ１０から供給されたそれぞれのフレームを、図５に示すように、輝度成分(Y) ，クロマ成分(Cr),(Cb) それぞれを８×８ピクセルのブロックに分割する。なお、輝度成分(Y) の４つのブロック(Y0,Y1,Y2,Y3）と１つのクロマ成分(Cb)のブロックと、１つのクロマ成分(Cr)のブロックからなる合計６つのブロック(Y0,Y1,Y2,Y3,Cb,Cr) は、マクロブロック(MB)と呼ばれている。
【０００６】
このブロック分割器１１からのマクロブロック単位のデータは差分器１２に送られる。
【０００７】
この差分器１２では、ブロック分割器１１からのデータと後述するフレーム間予測画像データとの差分をとり、その出力を後述するフレーム間予測符号化がなされるフレームのデータとして切換スイッチ１３の被切換端子ｂに送る。また、当該切換スイッチ１３の被切換端子ａには、上記ブロック分割器１１からのデータが後述するフレーム内符号化がなされるフレームのデータとして供給される。
【０００８】
上記切換スイッチ１３を介したブロック単位のデータはＤＣＴ回路１４によって離散コサイン変換（ＤＣＴ）処理され、そのＤＣＴ係数が量子化器１５に送られる。当該量子化器１５では、所定の量子化ステップ幅で上記ＤＣＴ出力を量子化し、この量子化した係数がジグザグスキャン回路１６に送られる。
【０００９】
当該ジグザグスキャン回路１６では、上記量子化係数を図６に示すようにいわゆるジグザグスキャンによって並べ換え、その出力を可変長符号化回路１７に送る。この可変長符号化回路１７では、上記ジグザグスキャン回路１６の出力データを可変長符号化（ＶＬＣ）し、その出力を出力バッファ１８に送ると共に、当該可変長符号化処理により発生した符号量を示す情報を、量子化ステップ制御器１９に送る。量子化ステップ制御器１９は、可変長符号化回路１７からの符号量を示す情報に基づいて量子化器１５の量子化ステップ幅を制御する。また、上記出力バッファ１８から出力されたデータは圧縮符号化がなされた符号化出力として出力端子２から出力される。
【００１０】
また、上記量子化器１５からの出力は、逆量子化器２７によって逆量子化され、さらに逆ＤＣＴ回路２６によって逆ＤＣＴ処理される。当該逆ＤＣＴ回路２６の出力は、加算器２５に送られる。
【００１１】
この加算器２５には、フレーム間予測符号化のフレームのときにオンとなる切換スイッチ２４を介した動き補償器２１からのフレーム間予測画像データも供給され、当該データと上記逆ＤＣＴ回路２６の出力データとの加算が行われる。この加算器２５の出力データは、フレームメモリ２２に一時的に蓄えられた後、動き補償器２１に送られる。
【００１２】
当該動き補償器２１は、上記動き検出器２０によって検出された動きベクトルに基づいて動き補償を行い、これによって得たフレーム間予測画像データを出力する。
【００１３】
以下、上記図３の従来の画像符号化装置の具体的な動作について詳細に説明する。ここで、説明のために以下のように各フレームの呼び名を定義する。
【００１４】
先ず、表示順にフレームを並べたとき、それぞれを
Ｉ０，Ｂ１，Ｂ２，Ｐ３，Ｂ４，Ｂ５，Ｐ６，Ｂ７，Ｂ８，Ｉ９，Ｂ１０，Ｂ１１，Ｂ１２，・・・・・
と呼ぶこととする。これらのフレームのうち、Ｉ，Ｐ，Ｂは、後に説明するが、圧縮方法の種類を示し、これらＩ，Ｐ，Ｂの次の数字は、単純に表示順を示している。
【００１５】
カラー動画像符号化方式の国際標準化作業グループであるいわゆるＭＰＥＧ（Moving Picture Expert Group)のうちＭＰＥＧ１では、この様な画像を圧縮するために、以下のようにすることが規定されている。
【００１６】
先ず、Ｉ０の画像を圧縮する。
【００１７】
次に、Ｐ３の画像を圧縮するのだが、Ｐ３そのものを圧縮するのではなく、Ｐ３とＩ０の画像との差分データを圧縮する。
【００１８】
その次に、Ｂ１の画像を圧縮するのだが、Ｂ１そのものを圧縮するのではなく、Ｂ１とＩ０或いは、Ｂ１とＰ３との差分データ或いはＩ０とＰ３の平均値との差分（いずれか情報の少ない方）を圧縮する。
【００１９】
その次に、Ｂ２の画像を圧縮するのだが、Ｂ２そのものを圧縮するのではなく、Ｂ２とＩ０或いは、Ｂ２とＰ３との差分データ或いはＩ０とＰ３の平均値との差分（どちらか情報の少ない方を選んで）を圧縮する。
【００２０】
次に、Ｐ６の画像を圧縮するのだが、Ｐ６そのものを圧縮するのではなく、Ｐ６とＰ３の画像との差分データを圧縮する。
【００２１】
上述したような処理を順番に並べて表すと、
0003954656.tif 000002
となる。このようにエンコード順は、
Ｉ０，Ｐ３，Ｂ１，Ｂ２，Ｐ６，Ｂ４，Ｂ５，Ｐ９，Ｂ７，Ｂ８，Ｉ９，Ｐ１２，Ｂ１０，Ｂ１１，・・・・
のように、表示順とは順番が入れ替わる。圧縮後のデータ（符号化データ）はこの順番に並ぶことになる。
【００２２】
以下、上述したことを図３の構成の動作と共にさらに詳しく述べる。
【００２３】
１枚目の画像（すなわちＩ０）のエンコードでは、先ず、上記フレームメモリ１０から１枚目に圧縮すべき画像のデータが、ブロック分割器１１によってブロック化される。このブロック分割器１１からは、前記Ｙ０，Ｙ１，Ｙ２，Ｙ３，Ｃｂ，Ｃｒの順にブロック毎のデータが出力され、被切換端子ａ側に切り換えられた切換スイッチ１３を介してＤＣＴ回路１４に送られる。このＤＣＴ回路１４では、それぞれのブロックについて縦横２次元の離散コサイン変換処理を行う。これにより、空間軸であったデータが周波数軸に変換される。
【００２４】
このＤＣＴ回路１４からのＤＣＴ係数は、量子化器１５に送られ、当該量子化器１５で所定の量子化ステップ幅で量子化される。その後、ジグザグスキャン回路１６によって図６のようにジグザグ順に並べ変えられる。このようにジグザグ順に並べると、後ろへ行くほど、その係数は周波数成分の高い係数となるから、一般的に係数の値は後ろの方が小さくなる傾向にある。したがって、ある値Ｓで量子化すると、後ろへ行くほど、その結果は０になる頻度が増し、結果的に高域の成分が切り落とされることになる。
【００２５】
その後、この量子化後の係数は、可変長符号化（ＶＬＣ）回路１７へ送られ、ここでいわゆるハフマンコーディングが施される。この結果得られる圧縮されたビットストリームは、出力バッファ１８に一旦蓄えられた後、一定のビットレートで送出される。当該出力バッファ１８は、不規則に発生するビットストリームを一定のビットレートで送出できるようにするための緩衝のためのメモリである。
【００２６】
以上の様に１枚の画像だけ単独で圧縮することをフレーム内（イントラ：Intra ）符号化と言い、この画像をＩピクチャと呼ぶ。
【００２７】
したがって、デコーダが上記のＩピクチャのビットストリームを受信した場合は、以上に述べたことを逆にたどり、１枚目の画像を完成させる。
【００２８】
次に、２枚目の画像（すなわちＰ３）のエンコードでは、以下のようになされる。
【００２９】
すなわち、この２枚目以降もＩピクチャとして圧縮してビットストリームを作っても良いが圧縮率を上げるには、連続する画像の内容には相関があることを利用して、以下の様な方法で圧縮する。
【００３０】
先ず、動き検出器２０では、２枚目の画像を構成するマクロブロック毎に、１枚目の画像（Ｉ０）の中からそれに良く似たパターンを捜し出し、それを動きベクトルという（ｘ，ｙ）の相対位置の座標として表現する。
【００３１】
また、２枚目の画像ではそれぞれのブロックを、上記Ｉピクチャの場合のようにそのままＤＣＴ回路１４に送るのではなく、そのブロック毎の動きベクトルに従って一枚目の画像から引っ張ってきたブロックとの差分のデータ（差分器１２による差分データ）を、ＤＣＴ回路１４へ送るようにする。なお、動きベクトルの検出方法としては、ＩＳＯ／ＩＥＣ  11172-2 annex D.6.2 に詳細に述べられているためここでは省略する。
【００３２】
ここで、例えば上記動きベクトルによって示された一枚目の画像のパターンと、これから圧縮しようとするブロックのパターンとの間で、相関が非常に強くなっていれば、その差分データは非常に小さくなり、したがって、上記フレーム内（イントラ）符号化で圧縮するよりも、上記動きベクトルと上記差分データとを符号化した方が、圧縮後のデータ量は小さくなる。
【００３３】
このような圧縮方法を、フレーム間（インター：Inter)予測符号化と呼んでいる。ただし、常に差分データが少なくなるわけではなく、絵柄（画像内容）によっては、差分を取るよりも、上記フレーム内符号化で圧縮した方が、圧縮率が上がる場合がある。このような場合は、上記フレーム内符号化で圧縮する。フレーム間予測符号化にするか、フレーム内符号化にするかは、マクロブロック毎に異なる。
【００３４】
以上のことを図３の画像符号化装置（エンコーダ）に即して説明すると、先ず、フレーム間予測符号化を行うためには、エンコーダ側でたえずデコーダ側で作られる画像と同じ画像を作って置く必要がある。
【００３５】
そのためにエンコーダ内には、デコーダと同じ回路が存在する。その回路をローカルデコーダ（局部復号器）と呼ぶ。図３の逆量子化器２７と逆ＤＣＴ回路２６と加算器２５とフレームメモリ２２と動き補償器２１が当該ローカルデコーダに対応し、フレームメモリ２２内に記憶される画像のことをローカルデコーデッドピクチャ（Local decoded picture)又はローカルデコーデッドデータ(Local decoded data)と呼ぶ。これに対して、圧縮前の画像のデータは、オリジナルピクチャ(Original picture)又はオリジナルデータ(Original data) と呼ぶ。
【００３６】
なお、前述した１枚目のＩピクチャの圧縮時にも、上記ローカルデコーダを通して復号化された１枚目の画像が、上記フレームメモリ２２内に格納される。ここで、注意すべきことは、このローカルデコーダによって得られる画像は、圧縮前の画像ではなく、圧縮後復元した画像であり、圧縮による画質劣化のある、デコーダが復号化する画像とまったく同じ画像であるということである。
【００３７】
このような状態のエンコーダに２枚目の画像（Ｐ３）のデータ(Original data）が入ってくるわけだが（この段階ですでに、動きベクトルは検出済でなければならない）、データはブロック毎に動きベクトルを持ち、このベクトルが動き補償器（MC:Motion Compensation）２１に与えられる。当該動き補償回路２１は、その動きベクトルの示すローカルデコーデッドピクチャ上のデータ（動き補償データ：MC data:１マクロブロック）を上記フレーム間予測画像データとして出力する。
【００３８】
上記２枚目のオリジナルデータとこの動き補償データ（フレーム間予測画像データ）のピクセル毎の、差分器１２による差分データが、上記ＤＣＴ回路１４に入力される。それからの後の圧縮方法は、基本的にＩピクチャと同じである。上述のような圧縮方法によって圧縮する画像をＰピクチャ（Predicted picture)と呼ぶ。
【００３９】
さらに詳しく説明すると、Ｐピクチャにおいてすべてのマクロブロックがフレーム間予測符号化で圧縮するとは限らず、フレーム内符号化で圧縮する方が効率が良いと判断されるときは、そのマクロブロックは当該フレーム内符号化で符号化を行う。
【００４０】
すなわち、Ｐピクチャにおいても、マクロブロック毎に、フレーム内符号化によるか（このマクロブロックをイントラマクロブロックと呼ぶ）、又はフレーム間予測符号化によるか（このマクロブロックをインターマクロブロックと呼ぶ）のどちらかを選択して圧縮を行う。
【００４１】
上述のように、上記ローカルデコーダでは、量子化器１５の出力が、逆量子化器２７で逆量子化され、さらに逆ＤＣＴ回路２６で逆ＤＣＴ処理された後、エンコード時に動き補償データ（MC data ）と足され最終的なローカルデコーデッドピクチャとなる。
【００４２】
次に、３枚目の画像（すなわちＢ１）のエンコードでは、以下のようになされる。
【００４３】
上記３枚目の画像（Ｂ１）のエンコードでは、Ｉ０，Ｐ３の２枚の画像それぞれに対する動きベクトルを探索する。ここで、Ｉ０に対する動きベクトルをフォワードベクトル（forward Vector）ＭＶｆ(x,y) と呼び、Ｐ３に対する動きベクトルをバックワードベクトル（Backward Vector)ＭＶｂ(x,y) と呼ぶ。
【００４４】
この３枚目の画像についても差分データを圧縮するわけであるが、どのデータを圧縮するのかが、問題である。この場合も一番情報量が少なくなるものとの差分を取れば良い。このときの圧縮方法の選択肢としては、
（１）フォワードベクトルＭＶｆ(x,y) の示すＩ０上のデータとの差分
（２）バックワードベクトルＭＶｂ(x,y) の示すＰ３上のデータとの差分
（３）フォワードベクトルＭＶｆ(x,y) の示すＩ０上のデータとバックワードベクトルＭＶｂ(x,y) の示すＰ３上のデータの平均値との差分
（４）差分データは使わない（フレーム内符号化）
の４つである。マクロブロック毎にこの４種類の圧縮方法から一つが選択される。上記圧縮方法の選択肢のうちの（１），（２），（３）の場合は、それぞれの動きベクトルも動き補償器２１に送られ、差分器２１ではその動き補償データとの差分をとり、これがＤＣＴ回路１４に送られる。上記圧縮方法の選択肢のうちの（４）の場合は、そのままのデータがＤＣＴ回路１４へ送られる。
【００４５】
上述した１枚目、２枚目のエンコードの処理の結果、ローカルデコーデッドピクチャを格納するフレームメモリ２２には、Ｉ０，Ｐ３の２枚のピクチャが、復元されているのでこのようなことが可能である。
【００４６】
次に、４枚目の画像（すなわちＢ２）のエンコードでは、以下のようになされる。
【００４７】
上記４枚目の画像（Ｂ２）のエンコードでは、上述した３枚目（Ｂ１）のエンコード方法のところの説明文で、Ｂ１をＢ２に置き換えたこと以外は、上記３枚目のエンコードと同じ方法で圧縮する。
【００４８】
次に、５枚目の画像（すなわちＰ６）のエンコードでは、以下のようになされる。
【００４９】
上記５枚目の画像（Ｐ６）のエンコードでは、上述した２枚目（Ｐ３）のエンコード方法のところの説明文で、Ｐ３をＰ６に、Ｉ０をＰ３に置き換えただけで、他は同じ説明となる。
【００５０】
６枚目以降は、上述の繰り返しとなるので説明は省略する。
【００５１】
また、ＭＰＥＧにおいては、ＧＯＰ（Group Of Picture）と呼ばれるものが規定されている。
【００５２】
すなわち、何枚かのピクチャの集まりがグループオブピクチャ（ＧＯＰ）と呼ばれており、当該ＧＯＰは符号化データ（圧縮後のデータ）上で見て連続した画像の集まりでなくてはならないものである。また、ＧＯＰはランダムアクセスを考慮したもので、そのためには符号化データ上で見てＧＯＰの最初に来るピクチャは上記Ｉピクチャである必要がある。さらに、表示順（ディスプレイ順）でＧＯＰの最後は、Ｉ又はＰピクチャでなくてはならない。
【００５３】
図７には、最初が４枚のピクチャからなるＧＯＰで、それ以降が６枚のピクチャからなるＧＯＰとなる例を挙げる。なお、図７のＡはディスプレイ順を示し、図７のＢは符号化データ順を示している。
【００５４】
この図７において、ＧＯＰ２に注目すると、Ｂ４，Ｂ５はＰ３，Ｉ６から形成されるため、例えばランダムアクセスでＩ６にアクセスされると、Ｐ３が無いため、Ｂ４，Ｂ５は正しく復号化できない。このようにＧＯＰ内だけで正しく復号化できないＧＯＰは、クローズドＧＯＰ（Closed GOP）でないという。
【００５５】
これに対し、もしＢ４，Ｂ５がＩ６だけしか参照していないとしならば、例えばランダムアクセスでＩ６にアクセスしても、Ｐ３は必要ないため、これらＢ４，Ｂ５は正しく復号化できることになる。このようにＧＯＰ内だけの情報で、完全に復号化できるＧＯＰをクローズドＧＯＰ（Closed GOP）と呼ぶ。
【００５６】
以上のような圧縮方法の選択の中から一番効率の良い方法で圧縮するわけであるが、その結果発生する符号化データ（Coded data）の量は、入力画像にも依存し、実際に圧縮してみないと判らない。
【００５７】
しかし、圧縮後のデータのビットレートを一定にするためにコントロールすることも必要である。当該コントロールを行うためのパラメータは、量子化器１５に与える前記符号量を表す情報としての量子化ステップ（又は量子化スケール：Q-scale ）である。同じ圧縮方法でも、上記量子化ステップを大きくすれば発生ビット量は減り、小さくすれば増える。
【００５８】
この量子化ステップの値は、次のようにして制御する。
【００５９】
エンコーダには、圧縮後のデータを一定のビットレートにするために、出力に緩衝バッファ（出力バッファ１８）が設けられており、これによって画像毎のある程度のデータ発生量の差は吸収できるようになされている。
【００６０】
しかし、定められたビットレートを超えるようなデータの発生が続けば、出力バッファ１８の残量が増加し、ついにはオーバーフローを起こすことになる。逆にビットレートを下回るデータの発生が続けば出力バッファ１８の残量は減少し、最後にはアンダーフローを引き起こすことになる。
【００６１】
したがって、エンコーダは、出力バッファ１８の残量をフィードバックすることにより、前記量子化ステップ制御器１９が量子化器１５の量子化ステップをコントロールし、ここで出力バッファ１８の残量が少なくなればあまり圧縮しないように量子化ステップを小さくなるよう制御し、出力バッファ１８の残量が多くなれば圧縮率を高くするように量子化ステップを大きくするようにコントロールを行うようにしている。
【００６２】
また、前述した圧縮方法（前記フレーム内符号化やフレーム間予測符号化）によって発生する符号化データ量の範囲には、大きな差がある。
【００６３】
特にフレーム内符号化方式で圧縮をすると大量のデータが発生するため、出力バッファ１８の空き容量が小さい場合には量子化ステップサイズを大きくしなければならず、場合によっては量子化ステップサイズを最大にしてもバッファ１８のオーバーフローを招くかもしれない。よしんばバッファ１８に収まったとしても量子化ステップが大きければフレーム内符号化の画像は後のフレーム間予測符号化の画質に影響するので、フレーム内符号化での圧縮を行う前には出力バッファ１８に十分な空き容量が必要である。
【００６４】
したがって、予め定められた順序の圧縮方法を決めておき、フレーム内符号化の前には十分な出力バッファ１８の空き容量を確保するように、量子化ステップ制御器１９は量子化ステップサイズのフィードバックコントロールを行うようにしている。
【００６５】
以上のようにして一定レートの符号化データに抑えることが可能となる。
【００６６】
【発明が解決しようとする課題】
ところで、上述した従来の方法では、以下の理由により高画質を得られないことが欠点となっている。
【００６７】
すなわち、出力バッファの残量をフィードバックすることによって量子化ステップをコントロールする従来の方法では、フィードバックに基本的に遅延があるため入力画像の急激な情報量変化に追随できない。そのため、入力画像の情報量が急激に増加した場合、大量の圧縮データが発生し、バッファの残量を大幅に減らし、時にはオーバーフローを引き起こす。また、オーバーフローしなかったとしても、出力バッファの残量は非常に少なくなっているので、次に圧縮される画像は量子化ステップが大きくなり、その結果画質の低下を招くことになる。逆に、入力画像の情報量が急激に減少した場合、発生する圧縮データは小さなものになるにもかかわらず、上記遅延のために量子化ステップはすぐには小さくならないので、当該遅延の間の画質を上げることができない。
【００６８】
また、一般に入力画像は様々で、同じ圧縮率であっても同じ画質を得られるとは限らない。それは画像の情報量そのものの違いや、圧縮方法に依存した特徴（前後で相関が高い等）に依存するからである。したがって、画質を均質に圧縮するには画像に適応的に圧縮方法、圧縮率などを変えなければならない。
【００６９】
さらに、時々刻々情報量の変化する入力画像を一定のビットレートで平均的に高画質に圧縮するためには、出力バッファによって低ビットレートを維持できる範囲でかつ画質が均質になるように、情報量の多い画像（絵）には多めの圧縮データを許し、情報量の少ない画像には少なめの圧縮データにすることが必要だが、次のような場合に従来の方法ではそれができない。
【００７０】
例えば、情報量の少ない画像が連続し、そのあとで急に情報量の多い画像が入ってくる場合を考えると、先に供給される情報量の少ない画像に対しては量子化ステップをあまり小さくし過ぎず、その後に続く情報量が多い画像が符号化されるまで出力バッファの残量を低く保つべきであるのに、前述した出力バッファ残量をフィードバックする方式では、上記情報量が少ない画像が連続するうちに出力バッファの残量を増加させてしまうようになる。
【００７１】
逆に、情報量が多い画像の後に情報量の少ない画像が続く場合では、先に供給される情報量の多い画像を大きな量子化ステップで圧縮して出力バッファの残量を減らさなくても、その後に続くのは情報量の少ない画像なのでオーバーフローし難いはずであるが、上記出力バッファ残量フィードバック方式では、続く画像の情報量がわからないためバッファの残量を減らす方向、すなわち量子化ステップを大きくする方向に制御し、画質を低下させてしまう。
【００７２】
さらに、入力画像の情報量の急激な変化の顕著な例がシーンチェンジであるが、シーンチェンジは前の画像との相関が極めて低いため、フレーム内符号化で圧縮したほうが効率良く圧縮できるが、予め情報量を知っており、かつ前後の画像のそれとの比較ができなければシーンチェンジかどうか、すなわち、フレーム内符号化で圧縮するか、あるいはフレーム間予測符号化で圧縮するか判断することができない。
【００７３】
またさらに、フレーム内符号化で圧縮をするには出力バッファに十分な空き容量が必要であるが、前の画像の画質を著しく損なうことなく出力バッファに十分な空き容量を確保するためには、充分前のフレームから準備を行い、当該出力バッファの残量を減らしておかなければならない。したがって、フレーム内符号化で圧縮をすることは圧縮を行うよりも充分以前に判っていなければならない。
【００７４】
そこで、本発明は、上述のような実情に鑑みて提案されたものであり、効率の良い画像圧縮が可能で、全体的に画質を向上させることができる画像符号化装置及びその方法を提供することを目的とするものである。
【００７５】
【課題を解決するための手段】
本発明の画像符号化装置は、上述した目的を達成するために提案されたものであり、入力画像データを複数枚蓄える画像データ蓄積手段と、上記画像データ蓄積手段に蓄積された複数枚の画像データから、当該入力画像データのフレーム内符号化による圧縮後のデータ量を予測するための画像自身の情報量を示す第１のパラメータ、フレーム間予測符号化による圧縮後のデータ量を予測するための画像の差分情報量を示す第２のパラメータ及び画像カウントのための画像情報を出力する画像情報評価手段と、上記画像データ蓄積手段に蓄積された複数枚の画像データの画像間の相関情報として、上記画像情報評価手段からの上記第２のパラメータを用いてシーンチェンジを検出する画像間相関検出手段と、画像データに直交変換処理を施し、直交変換係数を生成する直交変換手段と、上記直交変換手段により生成された直交変換係数を、所定の量子化ステップで量子化する量子化手段と、上記画像情報評価手段によって得られた画像情報と上記画像間相関検出手段からの画像間の相関情報であるシーンチェンジの検出出力とに基づいて、フレーム内符号化若しくはフレーム間予測符号化を選択する圧縮方法選択手段と、上記画像情報評価手段によって得られた上記第１、第２のパラメータと上記圧縮方法選択手段からのフレーム内符号化かフレーム間予測符号化かの圧縮方法の選択情報とに基づいて、フレーム内符号化が選択されたフレームに対しては第１のパラメータの画像内の総和である第１の画像情報量パラメータ、フレーム間予測符号化が選択されたフレームに対しては第２のパラメータの画像内の総和である第２の画像情報量パラメータをそれぞれ用い、所定の複数フレームについての画像情報量パラメータの合計値を求め、上記所定の複数フレームで一定のデータ量とするような量子化手段における量子化の際の各フレームに対するビット割り当てを決定し、この決定されたビット割り当てに応じて上記量子化手段における所定の量子化ステップを制御する量子化ステップ制御手段とを有し、上記圧縮方法選択手段は、上記画像情報のカウント値により定期的に選択されるフレーム内符号化に対して上記シーンチェンジの検出時にはフレーム内符号化を選択すると共に、上記シーンチェンジ検出によるフレーム内符号化の近傍に上記定期的なフレーム内符号化がきた場合、当該定期的なフレーム内符号化を取り止め、フレーム間予測符号化を選択することを特徴としている。
【００７７】
また、本発明に画像符号化方法は、入力画像データを複数枚蓄える画像データ蓄積手段に蓄積された複数枚の画像データから、当該入力画像データのフレーム内符号化による圧縮後のデータ量を予測するための画像自身の情報量を示す第１のパラメータ、フレーム間予測符号化による圧縮後のデータ量を予測するための画像の差分情報量を示す第２のパラメータ及び画像カウントのための画像情報を出力する画像情報評価工程と、上記画像データ蓄積手段に蓄積された複数枚の画像データの画像間の相関情報として、上記画像情報評価工程からの上記第２のパラメータを用いてシーンチェンジを検出する画像間相関検出工程と、上記画像情報評価工程にて得られた画像情報と上記画像間相関検出工程にて得られた画像間の相関情報であるシーンチェンジの検出出力とに基づいて、フレーム内符号化若しくはフレーム間予測符号化を選択する圧縮方法選択工程と、画像データに直交変換処理を施し、直交変換係数を生成する直交変換工程と、上記画像情報評価工程にて得られた上記第１、第２のパラメータと上記圧縮方法選択工程にて選択されたフレーム内符号化かフレーム間予測符号化かの圧縮方法の選択情報とに基づいて、フレーム内符号化が選択されたフレームに対しては第１のパラメータの画像内の総和である第１の画像情報量パラメータ、フレーム間予測符号化が選択されたフレームに対しては第２のパラメータの画像内の総和である第２の画像情報量パラメータをそれぞれ用い、所定の複数フレームについての画像情報量パラメータの合計値を求め、上記所定の複数フレームで一定のデータ量とするような量子化の際の各フレームに対するビット割り当てを決定し、この決定されたビット割り当てに応じて所定の量子化ステップを制御する量子化ステップ制御工程と、上記直交変換工程にて生成された直交変換係数を、上記所定の量子化ステップで量子化する量子化工程とを有し、上記圧縮方法選択工程では、上記画像情報のカウント値により定期的に選択されるフレーム内符号化に対して上記シーンチェンジの検出時にはフレーム内符号化を選択すると共に、上記シーンチェンジ検出によるフレーム内符号化の近傍に上記定期的なフレーム内符号化がきた場合、当該定期的なフレーム内符号化を取り止め、フレーム間予測符号化を選択することを特徴とする。
【００７８】
【作用】
本発明によれば、入力画像データを複数枚蓄えることで入力と圧縮の処理（出力）に遅延を生じさせることができる。また、入力画像データの情報量を評価することで、符号化に先立って入力画像データが本来持っている情報量の大小を画像数枚先まで事前に見積もることができ、これにより、より正確に圧縮後のデータサイズを予測することが可能になり、したがって、一定の出力ビットレートにすることや、例えば出力バッファの残量制御などが容易になる。また、入力画像データの評価値や相関情報に基づいて適応的に圧縮方法を選択することで、効率的に圧縮をすることができるようになる。
【００７９】
また、シーンチェンジなどの画像間の相関が著しく低いときには、圧縮方法としてフレーム内符号化を選択することで画質の劣化を抑えている。
【００８０】
さらに、情報量の評価値と圧縮方法の選択情報とに基づいて、量子化手段における量子化の際のビット割り当てを決定し、この割り当て量のビットを発生させるために過去の配分量と発生量とから予測して量子化ステップサイズを決定することにより、効率的なビット配分を行っている。
【００８１】
【実施例】
以下、図面を参照し、本発明の実施例について詳述する。
【００８２】
図１には本発明実施例の画像符号化装置の概略構成を示す。なお、この図１において、前述した図３と同じ構成については同一の指示符号を付してその説明については省略する。
【００８３】
この図１の構成において、前記図３の構成に追加された構成要素は画像情報評価回路５０とシーンチェンジ検出回路３１と圧縮方法選択回路３２であり、また、フレームメモリ４０と量子化ステップ制御器３９が変更されている。
【００８４】
すなわち、本発明実施例の画像符号化装置は、入力画像データを複数フレーム分蓄える画像データ蓄積手段であるフレームメモリ４０と、上記フレームメモリ４０に蓄積された複数枚の画像データから当該入力画像データの情報量を評価する画像情報評価回路５０と、上記フレームメモリ４０に蓄積された複数フレームのの画像データから画像間の相関を検出する画像間相関検出手段であるシーンチェンジ検出回路３１と、画像データに直交変換（例えばＤＣＴ）処理を施しそのＤＣＴ係数を生成する直交変換手段であるＤＣＴ回路１４と、上記ＤＣＴ回路１４によって生成されたＤＣＴ係数を、所定の量子化ステップで量子化する量子化器１５と、上記画像情報評価回路５０によって得られた情報量の評価値と上記シーンチェンジ検出回路３１からの画像間の相関情報とに基づいて、適応的に画像データの圧縮方法（フレーム内符号化／フレーム間予測符号化）を選択する圧縮方法選択回路３２と、上記画像情報評価回路５０によって得られた情報量の評価値と上記圧縮方法選択回路３２からの圧縮方法の選択情報とに基づいて、適応的に上記量子化器１５における所定の量子化ステップを制御する量子化ステップ制御器３９とを有することを特徴とするものである。
【００８５】
この図１において、先ず、入力端子１から入力された入力画像データは、フレームメモリ４０に蓄えられる。このフレームメモリ４０は、図３のフレームメモリ１０とは異なり、所定数のフレームを蓄積できるものである。このときの蓄積する所定数としては、多過ぎるとフレームメモリ４０が大規模になってしまうので好ましくない。上記所定数として効率的な長さ（フレーム数）は、ビットレートと出力バッファ１８の容量、フレーム内符号化の圧縮方式の画像同士の間隔（ほとんどの場合ＧＯＰの長さといっても差し支えない）に大きく依存する。これは圧縮方法及び圧縮率の違いから生ずる圧縮データの大きさのむらを上記出力バッファ１８によって吸収し、定ビットレートにすることができる範囲が、上記ビットレート及び出力バッファ容量とフレーム内符号化がなされる画像同士の間隔等の条件によって制約されるからである。
【００８６】
ところで、一般的にフレーム内符号化方式で圧縮することは定期的に行われる（これがＧＯＰの区切りになることが多い）ものであり、このフレーム内符号化の圧縮方式は当該圧縮後のデータ量が他の方式（フレーム間予測符号化）に比べてかなり大きいものである。このため、当該フレーム内符号化による圧縮画像同士（或いはＧＯＰ）の間隔で情報量を調べ、データ量の配分をするのは、一つの合理的な方法である。
【００８７】
しかし、本実施例の方式では、後述するようにシーンチェンジ等によって前後の画像の相関が著しく低くなった場合にもフレーム内符号化方式で圧縮するようにしており、このようにシーンチェンジ部分でフレーム内符号化を行うようにすると、例えば、当該シーンチェンジに基づくフレーム内符号化画像の近傍に前記定期的なフレーム内符号化がきた場合、当該定期的に行われるフレーム内符号化の画像に対しては、定ビットレート或いは均質な画質の維持が困難になるため、フレーム内符号化による圧縮である必然性を失い、当該フレーム内符号化で圧縮することを取り止める必要がでてくる。
【００８８】
したがって、上記フレームメモリ４０の記憶可能な容量（上記所定数）は、上述のようにシーンチェンジが上記定期的に行われるはずであるフレーム内符号化の画像の近傍にくる場合があることを考慮して、当該定期的にフレーム内符号化で圧縮を行う周期の２倍程度とすることが適当である。
【００８９】
もちろん、上記所定数は一例であり、これに限定されることはなく様々な条件に合わせて変更することは可能である。
【００９０】
上記フレームメモリ４０に蓄積された画像データは、適宜、画像情報評価回路５０に送られる。
【００９１】
ここで、当該画像情報評価回路５０は、大別して２通りのパラメータを算出するものである。
【００９２】
第１のパラメータは、フレーム内符号化で圧縮を行った場合の圧縮後のデータ量を予測することが可能なように、その画像自身の情報量を示すものである。この第１のパラメータとしては、例えば、フレームメモリ４０から供給された画像データに対して、ＤＣＴ処理をブロック毎に行い、そのＤＣＴ係数の和や統計をとったものとしたり、また、それでは規模が大きくなる場合には、平均自乗誤差のブロック毎の和を求めたものとする。いずれにしても、当該画像情報評価回路５０では、画像の情報量を表し、圧縮後のデーター量を類推するに足るパラメータを算出する。
【００９３】
第２のパラメータは、フレーム間予測符号化で圧縮を行った場合の圧縮後のデータ量を予測することが可能な、画像の差分情報量を示すものである。この場合のパラメータとしては、例えば、フレームメモリ４０に格納された画像と動き補償後の画像との差分値のブロック内の和を用いる。このパラメータ算出の際には、一般的な動きベクトル検出回路（動き検出器２０）で得られる動きベクトルが検出された最小誤差を利用することができる。
【００９４】
上記画像情報評価回路５０によって上述したようにして算出された画像情報の評価値（パラメータ）は、次に説明するシーンチェンジ検出回路３１と、量子化ステップ制御器３９とに送られる。
【００９５】
また、画像情報評価回路５０からは、後述する圧縮方法選択回路３２においてＧＯＰの長さを決定する際に画像のカウントを行うため、その圧縮方法選択回路３２に対して画像情報も送られる。
【００９６】
次に、シーンチェンジ検出回路３１は、上記画像情報評価回路５０の出力（第２のパラメータ）を用いてシーンチェンジを検出するものである。
【００９７】
ここで、当該シーンチェンジ検出回路３１においてシーンチェンジを検出する目的は、フレーム間予測符号化かフレーム内符号化のいずれかの圧縮方式を決定するための判断材料にすることが主である。それは、シーンチェンジ部分のように前後で相関の極めて低い画像では、フレーム間予測符号化で圧縮するよりもフレーム内符号化で圧縮する方が効率良く圧縮できるからである。また、シーンチェンジ部分では、圧縮後のデータも大きなものとなるため、データ量配分や出力バッファマネジメントの観点からも当該シーンチェンジを把握することは重要である。
【００９８】
上述のようなシーンチェンジは前後の画像で相関が著しく損なわれる所に存在するものであるため、当該シーンチェンジ部分は、例えば、前後の画像についてそれぞれ例えば動きベクトル補償後の画像との差分値を求め、それぞれこの差分値の画像全体での総和を求めて、さらに当該前後の画像での上記総和の比を求めるなどして検出できる。
【００９９】
このようなことから、本実施例のシーンチェンジ検出回路３１では、上記画像情報評価回路５０の出力を用いてシーンチェンジを検出するようにしている。すなわち、上記画像情報評価回路５０は、前述のように動き補償後の画像の差分値のブロック内の和を第２のパラメータとして出力するため、当該シーンチェンジ検出回路３１では、当該差分値のブロック内の和を用いて、上述のシーンチェンジ検出のための演算を行うことができる。
【０１００】
次に、圧縮方法選択回路３２について説明する。
【０１０１】
当該圧縮方法選択回路３２は、上記シーンチェンジ検出回路３１からのシーンチェンジ検出出力と、画像情報評価回路５０からの画像情報をカウントしたカウント値とに基づいて、フレーム内符号化／フレーム間予測符号化（Ｐ，Ｂピクチャ）のいずれの圧縮方式で圧縮を行うのかを選択する回路である。
【０１０２】
ここで、フレーム内符号化方式による圧縮画像は少なくともＧＯＰの最初になければならない。また、ＧＯＰはランダムアクセスを考慮してある程度の間隔となされているので、必然的にＩピクチャは当該間隔で定期的に発生するものであり、また、本実施例ではシーンチェンジ等によっても発生するものである。
【０１０３】
このようなことから、当該圧縮方法選択回路３２では、上記画像情報評価回路５０からの画像情報のカウントを行うと共に、上記シーンチェンジ検出回路３１からのシーンチェンジ検出出力が当該圧縮方法選択回路３２に加えられる。これにより当該圧縮方法選択回路３２では、上記画像のカウント値から定期的なフレーム内符号化を選択すると共にシーンチェンジ検出時にもフレーム内符号化を選択（すなわちＧＯＰの間隔を決定する）し、それら以外ではフレーム間予測符号化を選択するようにしている。
【０１０４】
この圧縮方法選択回路３２は、上記圧縮方法の選択に応じて前記切換スイッチ１３と２４の切換制御を行うと共に、その選択結果を示す情報を量子化ステップ制御器３９に送る。
【０１０５】
また、上記量子化ステップ制御器３９は、前記画像情報評価回路５０からの評価値（パラメータ）から画像の情報量、さらにはシーンチェンジのように前後の画像の相関が極めて低くなる所を知ると共に、圧縮方法選択回路３２からの選択結果を示す情報からフレーム内符号化かフレーム間予測符号化のいずれが選択された画像であるかも知ることができる。
【０１０６】
したがって、当該量子化ステップ制御器３９においては、出力バッファ１８の残量のみをフィードバックする従来の量子化ステップ制御に比べて、入力画像の急激な情報量変化に追随できることになり、また、画像の情報量の変化に応じて適切な量子化ステップ制御が可能で、さらに、フレーム内符号化／フレーム間予測符号化の圧縮方法に応じて適切な量子化ステップ制御も可能となる。
【０１０７】
次に本実施例の各主要構成要素における処理の流れを、図２のフローチャートに沿ってより詳細に説明する。
【０１０８】
先ず、ステップＳ１では、入力端子１に入力された画像データが順次フレームメモリ４０へ格納される。
【０１０９】
ここで、先に述べたようにＩピクチャの頻度や間隔の決定が画質に影響を及ぼすので、これに関係して符号化に先だってＧＯＰを決めておく必要があり、また、レートコントロール（量子化ステップ制御によるビットレートのコントロール）をするために符号化に先だって１ＧＯＰ分の画像についての情報を収集しなければならない。このように、次々と入力されてくる画像データに対してその間に分析を行い、符号化するまでの十分な遅延時間を稼ぐため、大量のフレームメモリ４０を用いる。
【０１１０】
次に、ステップＳ２では、動き検出器２０において、フレーム間予測符号化で圧縮するために必要な動きベクトルを検出する。すなわち、このステップＳ２では、予め定められたスケジュールでフレームメモリ４０中の各画像データをＰピクチャ或いはＢピクチャとして圧縮符号化できるように、動き検出（モーションエスティメーション）を行う。
【０１１１】
ここで、動き検出を行う画像については、Ｉピクチャを規定しない。それはどの画像データがＩピクチャになるのかこの時点では確定していないからであり、またＩピクチャは動き補償を必要としないため、後にどの画像データでもＩピクチャにすることが可能だからである。
【０１１２】
上記画像情報評価回路５０は、上記動き検出をする際に用いられる最小歪み（Minimum Distortion）或いは誤差の絶対値和（ＡＤ：Absolute Difference ）と呼ばれるものを符号化に用いるパラメータの一つ（第２のパラメータ）として読み出し格納する。
【０１１３】
この第２のパラメータは、前述したようにシーンチェンジの判定やフレーム間予測符号化で圧縮する場合の画像の相関も考慮した情報量の推定に用いるものである。
【０１１４】
この第２のパラメータはまた、後述するようにマクロブロックタイプを決定するためにも使われる。
【０１１５】
第２のパラメータである画像の情報量を推定するパラメータＳＡＤは、式(1) に示すように、一つの画像内の上記誤差の絶対値和（ＡＤ）を合計したものである。
【０１１６】
ＳＡＤ＝ΣＡＤ        (1)
次に、画像情報評価回路５０では、ステップＳ３のように、上記動き検出で得られたパラメータ以外に、誤差の平均絶対値和（ＭＡＤ：Mean Absolute Difference）、アクティビティ（Activity）を各画像毎に評価する。
【０１１７】
上記誤差の平均絶対値和（ＭＡＤ）はＩピクチャの情報量を推定するためのパラメータで、下記の式(2) によって８×８画素のブロック毎に求め、必要に応じてマクロブロック或いは画面で集計を行う。このパラメータはまた、マクロブロックタイプを決定するために使われる。
【０１１８】
【数１】
0003954656.tif 000003
【０１１９】
これをさらに、式(3) のように、マクロブロック内のブロックについて合計したものを用いてマクロブロックの判定に用いる。
【０１２０】
ＭＡＤ＝Σ blockＭＡＤ    (3)
またさらに、式(4) のように、マクロブロックの値を一つの画像内で合計してその値を、その画像の（Ｉピクチャとしての）情報量を表すパラメータＳＭＡＤとする。
【０１２１】
ＳＭＡＤ＝ΣＭＡＤ        (4)
また、上記アクティビティは、一つの画面の中でそのマクロブロックの画像の状態に応じてよりきめ細かに量子化ステップを制御することによって画質を維持しながらより圧縮効率を高めるために、その画像の状態を定量化するためのパラメータである。
【０１２２】
例えば一つのブロック内で画像が画素のレベル変化の少ない平坦な部分では量子化による歪みが目立ち易く、量子化ステップを小さくしてやるべきで、逆にレベル変化が多い複雑なパターンのブロックでは量子化歪みは目立ち難く、情報量も多いので量子化ステップを大きくするべきである。
【０１２３】
そこで、例えばブロックの平坦度を表すパラメータをこのアクティビティとして用いるようにしている。
【０１２４】
次に、圧縮方法選択回路３２においては、ステップＳ４でＧＯＰ長の決定を行い、ステップＳ５で圧縮方法の選択（ピクチャタイプの決定）を行う。
【０１２５】
ここでは、すでに述べたように、符号化に際してランダムアクセス性を考慮して適当なフレーム数毎にＧＯＰを区切る。このとき少なくともＧＯＰの符号順で最初のピクチャはＩピクチャでなければならないから、ピクチャの数をカウントし定期的にピクチャタイプをＩピクチャにする。
【０１２６】
一方、前記シーンチェンジによって前後のピクチャで相関が低くなった場合、これも先に述べたようにＩピクチャで圧縮符号化すると効率が良い。しかしながら、Ｉピクチャは圧縮率が低いため、低ビットレートにおいては頻繁に現れると画質の低下を招く。したがってシーンチェンジ検出回路３１によってシーンチェンジが検出された場合、圧縮方法選択回路３２は、Ｉピクチャ同士の間隔を適度に保つよう適応的にＧＯＰの長さを決める。
【０１２７】
次に、ステップＳ６では、マクロブロックタイプの判定を行う。すなわち、圧縮方法選択回路３２では、当該ステップＳ６においてマクロブロック毎の圧縮方法とマクロブロックタイプとを決める。
【０１２８】
前述のように既に求めた上記誤差の平均絶対値和（ＭＡＤ）と誤差の絶対値和（ＡＤ）は、それぞれフレーム内符号化／フレーム間予測符号化で圧縮したときの圧縮後のデータ量に関係するので、この２つのパラメータを比較すればフレーム内符号化／フレーム間予測符号化のどちらのマクロブロックタイプがより少ないデータ量になるか判定できる。
【０１２９】
次のステップＳ７では、量子化ステップ制御器３９において、レートコントロールのためのビット配分を行う。
【０１３０】
各ピクチャ毎の圧縮符号化された後のデータサイズは、その符号化方式や元々の画像データが持つ情報量、前後の相関などによって大きく変動する。平均的な画質を保つようにするならばことさらである。
【０１３１】
各ピクチャ毎の圧縮符号化された後のデータサイズのむらは出力バッファ１８によってある程度吸収されるが、平均的には一定のビットレートにしなければならない。したがって、ある区間を定めればその間のピクチャのトータルの圧縮後のデータ量が決まる。そこで、既に決定しているピクチャタイプと、予め調べておいた画像の情報量パラメータとを用いて各ピクチャ毎に圧縮後のデータ量、すなわち各ピクチャが使用可能なビットの量を決める。
【０１３２】
このとき、例えば情報量の少ない画像やＢピクチャには少なく、情報量の多い画像やＩピクチャには多くする。これをビット配分と呼ぶ。これによって画質のばらつきを抑え、なおかつ一定レートに保つことが容易になる。
【０１３３】
本実施例ではＧＯＰをビット配分の区間として、次の式(5) ，式(6) のようにビット配分を行う。
【０１３４】
Total Bit Count ＝（Bit Rate [bit/s]× Number Of Picture In GOP [picture])／（Picture Rate [picture/s]）   [bit]                (5)
Available Bits＝（Total Bit Count ×ターゲットの画像情報量パラメータ）／画像情報量パラメータのＧＯＰ合計値）  [bit]             (6)
なお、この式(6) で使用している情報量パラメータは、先に述べたパラメータＳＭＡＤ，ＳＡＤを用い、これに圧縮するピクチャタイプ別の乗数をかけたものである。また、上記乗数は各ピクチャタイプ間のパラメータと画質との関係を調整するものである。
【０１３５】
なお、上記式(6) の上記画像情報量パラメータのＧＯＰ合計値は、式(7) に示すようにして求める。
【０１３６】
画像情報量パラメータのＧＯＰ合計値＝Ki×ΣSMAD＋Kp×ΣSADp＋Kb×ΣSADb
SADp: ＰピクチャのＳＡＤ
SADb: ＢピクチャのＳＡＤ              (7)
上記量子化ステップ制御器３９においては、次のステップＳ８で基本量子化ステップの決定を行う。
【０１３７】
すなわち、ピクチャタイプが決まれば、情報量パラメータと量子化ステップから量子化後のデータサイズをある程度予測できる。したがって、情報量パラメータと量子化後のデータ量が決まっていれば量子化ステップを逆算することができる。量子化ステップ制御器３９は、このようにして求めた量子化ステップをそのピクチャの基本量子化ステップとする。
【０１３８】
次に、量子化ステップ制御器３９は、ステップＳ９において画面内の量子化ステップの制御を行う。
【０１３９】
先に述べたように画面内の量子化ステップを各ブロック毎に、なるべく画質を高く、しかも圧縮効率を高くするように制御する。すなわち、量子化ステップ制御器３９では、上記アクティビティやマクロブロックタイプなどの情報をもとに基本量子化ステップを加減することで量子化器１５に対する量子化ステップの制御を行う。
【０１４０】
次のステップＳ１０では、可変長符号化回路１７において符号化を行う。
【０１４１】
ここまでで圧縮符号化の全てのパラメータが決まっているので、これ以後は、ＭＰＥＧの規則にしたがって圧縮符号化する。
【０１４２】
最後に、ステップＳ１１では、前述した各パラメータの更新を行う。
【０１４３】
画像情報量と基本量子化ステップ、圧縮後のデータ量の関係は、圧縮する画像に依存する。したがって、その関係を表す式に用いるパラメータ、予測パラメータを圧縮後の実際のデータ量をフィードバックしてやることにより学習させ、予測の精度を向上させている。
【０１４４】
上述したようなことから、本発明実施例の画像符号化装置においては、数フレーム分のフレームメモリ４０を備えて入力画像データを複数フレーム蓄えることによって、入力と圧縮の処理（出力）に遅延を生じさせることができる。さらに画像情報評価回路５０で入力画像データの情報量を評価することで、符号化に先立って入力画像データが本来持っている情報量の大小を画像数枚先まで事前に見積もることができ、これにより、より正確に圧縮後のデータサイズを予測することが可能になり、したがって、一定の出力ビットレートにすることや、例えば出力バッファの残量制御などが容易になる。また、シーンチェンジ検出回路３１で画像間の相関等を調べ、上記評価値や相関情報に基づいて、圧縮方法選択回路３２で適応的に圧縮方法を選択する共に、量子化ステップ制御器３９で適応的に量子化器１５での量子化ステップ幅を変えるようにしているため、効率的に圧縮をすることができ、情報量及び圧縮方法の違いなどに応じてデータ発生量が適応的に配分され、画質の急激な変化（画質のむら）が減り、画質が均質に、かつ全体的に向上する。
【０１４５】
言い換えれば、本発明実施例装置によれば、符号化に先だって入力画像データが本来持っている情報量の大小を数フレーム先まで事前に見積もり、それに合わせてビット量をそれぞれの画像に配分し、そのとき、配分したビット量の総和から導かれるビットレートが一定になるようにしている。また、割り当て量のビットが発生するように過去の割当量とビット発生量から予測してステップサイズを決定している。これによって、緩衝用の出力バッファ１８の効果を期待できる近傍に存在する画像間では当該バッファ１８を効果的に利用できる。
【０１４６】
また、シーンチェンジなどによって前後の画像間の相関が著しく低いときには、圧縮方法としてフレーム内符号化を選択して画質の劣化を抑えている。
【０１４７】
さらに、情報量の評価値と圧縮方法の選択情報とに基づいて、量子化手段における量子化の際のビット割り当てを決定し、この割り当て量のビットを発生させるために過去の配分量と発生量とから予測して量子化ステップサイズを決定することにより、効率的な圧縮率でかつ連続した画像でより均質な画質を得て、全体的な画質を向上できるようになる。
【０１４８】
すなわち、本発明実施例の画像符号化装置においては、圧縮処理を行う画像のある枚数先のフレームまで画像の情報量、前後の相関等など画像についての情報を調べ、効率的な圧縮方法を自動的に選択するため、同じレートで画質が向上する。なおかつ、他の圧縮方式に比べて圧縮効率の極めて悪いフレーム内符号化で圧縮するシーンチェンジ等前後の相関の低い画像をＧＯＰの先頭のＩピクチャとすることが可能なため、そのような画像が入力された場合でも高画質を維持することができる。また、一定レートを保つようにしながら画像の情報量に応じたビット量の配分をすることにより効率的な圧縮率、かつ連続した画像でより均質な画質が得られ、全体的に画質が向上する。
【０１４９】
【発明の効果】
本発明の画像符号化装置及びその方法においては、入力画像データを複数枚蓄えることで入力と圧縮の処理（出力）に遅延を生じさせることが可能となる。また、入力画像データの情報量を評価することで、符号化に先立って入力画像データが本来持っている情報量の大小を画像数枚先まで事前に見積もることができ、これにより、より正確に圧縮後のデータサイズを予測することが可能になり、したがって、一定の出力ビットレートにすることや、例えば出力バッファの残量制御などが容易である。また、入力画像データの評価値や相関情報に基づいて適応的に圧縮方法を選択することで、効率的に圧縮をすることができ、出力ビットレートが同じでも画質を向上させることが可能となる。
【０１５０】
また、シーンチェンジなどの画像間の相関が著しく低いときには、圧縮方法としてフレーム内符号化を選択して画質の劣化を抑えることができ、さらに、情報量の評価値と圧縮方法の選択情報とに基づいて、量子化手段における量子化の際のビット割り当てを決定し、この割り当て量のビットを発生させるために過去の配分量と発生量とから予測して量子化ステップサイズを決定することにより、効率的な圧縮率でかつ連続した画像でより均質な画質を得て、全体的な画質を向上できるようになる。
【図面の簡単な説明】
【図１】本発明実施例の画像符号化装置の概略構成を示すブロック回路図である。
【図２】本実施例装置の動作を説明するためのフローチャートである。
【図３】従来の画像符号化装置の概略構成を示すブロック回路図である。
【図４】画像の解像度と構成について説明するための図である。
【図５】マクロブロックとブロックについて説明するための図である。
【図６】ジグザグスキャンについて説明するための図である。
【図７】ＧＯＰの一例について説明するための図である。
【符号の説明】
２２，４０  フレームメモリ
１１  ブロック分割器
１２  差分器
１３，２４  スイッチ
１４  ＤＣＴ回路
１５  量子化器
１６  ジグザグスキャン回路
１７  可変長符号化回路
１８  出力バッファ
１９，３９  量子化ステップ制御器
２０  動き検出器
２１  動き補償器
２５  加算器
２６  逆ＤＣＴ回路
２７  逆量子化器
３１  シーンチェンジ検出回路
３２  圧縮方法選択回路
５０  画像情報評価回路
【図１】
0003954656.tif 000004
【図２】
0003954656.tif 000005
【図３】
0003954656.tif 000006
【図４】
0003954656.tif 000007
【図５】
0003954656.tif 000008
【図６】
0003954656.tif 000009
【図７】
0003954656.tif 000010