トップ :: H 電気 :: H04 電気通信技術




【発明の名称】 画像符号化装置
【発明者】 【氏名】田坂 啓

【氏名】荒川 博

【氏名】大古瀬 秀之

【要約】 【課題】予測残差による発生符号量見積もりでは、低レートの符号化において見積もり精度が低いという課題があった。

【構成】符号化器12は入力信号である被符号化画像11に対し、H.264などの画像符号化処理を行う。発生符号量予測器18は、予測残差発生符号量評価値生成部20、符号化条件発生符号量評価値生成部21、動きベクトル情報発生符号量評価値生成部22の評価値を基に、発生符号量を予測する。予測した発生符号量を符号化器12における符号化の制御に用いる。
【特許請求の範囲】
【請求項1】
発生符号量を予測して符号化制御を行う画像符号化装置であって、
入力画像に対して予測処理を施し、入力画像と予測画像との画素値の差分で表される予測残差を算出する予測残差算出手段と、
算出された前記予測残差とさらに、入力画像の符号化の条件を示す制御情報である符号化条件、および参照画像と入力画像との間の動きを示す動き予測情報のうちの少なくともいずれかの情報の値またはデータ量に基づいて、入力画像を符号化した際の発生符号量を予測する発生符号量予測手段と、
予測された前記発生符号量に基づいて、入力画像を符号化する符号化手段と
を備えることを特徴とする画像符号化装置。
【請求項2】
前記符号化手段は、2値化された予測残差、符号化条件及び動きベクトル情報を算術符号化する可変長符号化部を備える
ことを特徴とする請求項1記載の画像符号化装置。
【請求項3】
前記符号化手段は、予測された前記発生符号量が第1の閾値を超える場合、前記予測残差を量子化する際の量子化ステップの値を、より大きい値とし、予測された前記発生符号量が前記第1の閾値よりも小さい第2の閾値以下の場合、前記量子化ステップの値を、より小さい値とする
ことを特徴とする請求項1記載の画像符号化装置。
【請求項4】
前記発生符号量予測手段は、
前記予測残差とさらに、前記符号化条件および前記動き予測情報のうちの少なくともいずれかの値または前記データ量を評価値として算出する評価値算出手段と、
同一入力画像に対する前記評価値とそれに対応する実際の発生符号量との履歴から、前記評価値と前記発生符号量との関係を表す予測関数を生成する予測関数生成手段とを備え、
前記発生符号量予測手段は、算出された前記評価値に、前記予測関数を適用することにより入力画像の発生符号量を予測する
ことを特徴とする請求項1記載の画像符号化装置。
【請求項5】
前記発生符号量予測手段は、
前記予測残差とさらに、前記符号化条件および前記動き予測情報のうちの少なくともいずれかの値または前記データ量を評価値として算出する評価値算出手段と、
あらかじめ符号化シミュレーションにより求めた統計情報を利用して、前記評価値と前記発生符号量との関係を表す予測関数を生成して、保持する予測関数生成手段とを備え、
前記発生符号量予測手段は、今から符号化されようとするブロックについて算出された前記評価値に、符号化開始前に生成された前記予測関数を適用することにより入力画像の発生符号量を予測する
ことを特徴とする請求項1記載の画像符号化装置。
【請求項6】
前記予測関数生成手段は、前記統計情報を利用して、前記評価値と前記発生符号量との関係を表す予測関数を符号化条件ごとに生成して、保持し、
前記発生符号量予測手段は、今から符号化されようとするブロックの符号化条件ごとに、符号化開始前に生成された前記符号化条件に対応する予測関数を前記評価値に適用することにより、入力画像の発生符号量を予測する
ことを特徴とする請求項5記載の画像符号化装置。
【請求項7】
前記予測関数生成手段は、前記評価値とそれに対応する実際の発生符号量との複数の履歴から、最小二乗法により前記評価値と前記発生符号量との関係を示す予測関数を生成する
ことを特徴とする請求項4記載の画像符号化装置。
【請求項8】
前記予測関数生成手段は、前記評価値とそれに対応する実際の発生符号量との複数の履歴から、前記評価値の平均値と、前記発生符号量の平均値との組で表される座標上の点と原点を結ぶ直線を前記予測関数として生成する
ことを特徴とする請求項4記載の画像符号化装置。
【請求項9】
前記予測関数生成手段は、過去にさかのぼって直近の所定数のピクチャに対する前記評価値とそれに対応する実際の発生符号量との履歴から、前記予測関数を生成する
ことを特徴とする請求項4記載の画像符号化装置。
【請求項10】
前記発生符号量予測手段は、符号化対象ブロックがスキップモードで符号化される場合には符号化対象ブロックの前記符号化条件および前記動き予測情報のうち少なくとも1つから算出される評価値に、前記予測関数を適用することにより、前記符号化対象ブロックの発生符号量を予測する
ことを特徴とする請求項4記載の画像符号化装置。
【請求項11】
前記発生符号量予測手段は、符号化対象ピクチャがダイレクトモードで符号化される場合には符号化対象ピクチャの前記予測残差および前記符号化条件のうち少なくとも1つから算出される評価値に、前記予測関数を適用することにより、前記符号化対象ピクチャの発生符号量を予測する
ことを特徴とする請求項4記載の画像符号化装置。
【請求項12】
前記予測関数生成手段は、動き予測の際の符号化対象ピクチャと参照ピクチャとの時間距離が同じである符号化対象ブロックにつき、前記評価値とそれに対応する実際の発生符号量との履歴を蓄積して、参照ピクチャと符号化対象ピクチャとの時間距離が異なるごとに予測関数を生成し、
前記発生符号量予測手段は、参照ピクチャと符号化対象ピクチャとの前記時間距離に応じて前記予測関数を切替えて適用する
ことを特徴とする請求項4記載の画像符号化装置。
【請求項13】
前記予測関数生成手段は、符号化対象ピクチャがインターレース方式で符号化される場合、ファーストフィールドまたはセカンドフィールドごとに前記評価値とそれに対応する実際の発生符号量との履歴を蓄積して、それぞれの予測関数を生成し、
前記発生符号量予測手段は、符号化対象ピクチャがファーストフィールドかセカンドフィールドであるかに応じて前記予測関数を切替えて適用する
ことを特徴とする請求項4記載の画像符号化装置。
【請求項14】
前記予測関数生成手段は、符号化対象ピクチャが面内予測で符号化される場合と面間予測で符号化される場合とのそれぞれについて、前記評価値とそれに対応する実際の発生符号量との履歴を蓄積して、それぞれの予測関数を生成し、
前記発生符号量予測手段は、符号化対象ピクチャが面内予測か面間予測かに応じて前記予測関数を切替えて適用する
ことを特徴とする請求項4記載の画像符号化装置。
【請求項15】
前記予測関数生成手段は、符号化対象ピクチャのピクチャタイプ(I/P/B)ごと、またはスライスタイプ(I/P/B)ごとに前記評価値とそれに対応する実際の発生符号量との履歴を蓄積して、それぞれの予測関数を生成し、
前記発生符号量予測手段は、ピクチャタイプとスライスタイプのうち少なくとも1つに応じて前記予測関数を切替えて適用する
ことを特徴とする請求項4記載の画像符号化装置。
【請求項16】
前記予測関数生成手段は、参照ピクチャと符号化対象ピクチャとの時間距離、インターレース方式のフィールド、面内予測か面間予測か、およびピクチャタイプまたはスライスタイプのうちの任意の組み合わせごとに、前記評価値とそれに対応する実際の発生符号量との履歴を蓄積して、予測関数を生成し、
前記発生符号量予測手段は、前記組み合わせに応じて、前記予測関数を切替えて適用する
ことを特徴とする請求項4記載の画像符号化装置。
【請求項17】
前記予測関数生成手段は、ピクチャ内のスライス位置ごとに前記評価値とそれに対応する実際の発生符号量との履歴を蓄積して、予測関数を生成し、
前記発生符号量予測手段は、前記予測関数をピクチャ内のスライス位置に応じて切替えて適用する
ことを特徴とする請求項4記載の画像符号化装置。
【請求項18】
前記予測関数生成手段は、ピクチャ、スライス及びマクロブロックのいずれかを単位として、前記予測残差とさらに、前記符号化条件および前記動き予測情報のうちの少なくともいずれかの値を2値化する2値化部を備え、
前記予測関数生成手段は、2値化された前記いずれかのデータ量を前記評価値とし、前記評価値とそれに対応する実際の発生符号量との履歴を蓄積して、予測関数を生成し、
前記発生符号量予測手段は、前記予測関数を2値化された前記いずれかのデータ量に応じて切替えて適用する
ことを特徴とする請求項4記載の画像符号化装置。
【請求項19】
前記2値化部は、ピクチャを単位として2値化し、
前記予測関数生成手段は、2値化されたピクチャと同じピクチャタイプに属する符号化済みの2値化されたピクチャのデータ量を前記評価値として、前記評価値とそれに対応する実際の発生符号量との複数の履歴から、前記評価値の平均値と、前記発生符号量の平均値との組で表される座標上の点と原点を結ぶ直線を前記予測関数として生成する
ことを特徴とする請求項18記載の画像符号化装置。
【請求項20】
前記予測関数生成手段は、前記評価値が、それまでの評価値に対して所定の閾値を超えて変動した場合、前記予測関数を生成する
ことを特徴とする請求項19記載の画像符号化装置。
【請求項21】
発生符号量を予測して符号化制御を行う画像符号化方法であって、
入力画像に対して予測処理を施し、入力画像と予測画像との画素値の差分で表される予測残差を算出する予測残差算出ステップと、
算出された前記予測残差とさらに、入力画像の符号化の条件を示す制御情報である符号化条件、および参照画像と入力画像との間の動きを示す動き予測情報のうちの少なくともいずれかの情報の値またはデータ量に基づいて、入力画像を符号化した際の発生符号量を予測する発生符号量予測ステップと、
予測された前記発生符号量に基づいて、入力画像を符号化する符号化ステップと
を含むことを特徴とする画像符号化方法。
【請求項22】
発生符号量を予測して符号化制御を行う画像符号化装置のためのプログラムであって、
入力画像に対して予測処理を施し、入力画像と予測画像との画素値の差分で表される予測残差を算出する予測残差算出ステップと、算出された前記予測残差とさらに、入力画像の符号化の条件を示す制御情報である符号化条件、および参照画像と入力画像との間の動きを示す動き予測情報のうちの少なくともいずれかの情報の値またはデータ量に基づいて、入力画像を符号化した際の発生符号量を予測する発生符号量予測ステップと、予測された前記発生符号量に基づいて、入力画像を符号化する符号化ステップとをコンピュータに実行させるプログラム。
【発明の詳細な説明】【技術分野】
【0001】
本発明は、動画像の画像情報を符号化する画像符号化装置に関し、特に量子化されたDCT係数などを可変長符号化して出力する画像符号化装置に関する。
【背景技術】
【0002】
動画像の符号化技術において、符号化効率の向上が図られている。これにより、携帯電話機で滑らかな動きのテレビ電話を実現したり、高画質な動画像を撮影したりすることも可能になりつつある。このような符号化技術の進展において、最新の動画像圧縮符号化技術の国際基準であるH.264/MPEG-4 AVCでは、DCT係数や動きベクトルなど、シンタックスで伝送することが定められているシンタックス要素のエントロピー符号化方式として、単純な表による変換に代わってさらに符号化効率の高い符号化方式が用意されている。すなわち、CAVLC(Context-Adaptive Variable Length Coding)と呼ばれる可変長符号化方式や、CABAC(Context-Adaptive Binary Arithmetic Coding)と呼ばれる算術符号化方式である。これらのうち、CABACのような算術符号化方式は、定常的な信号を理論上、限界まで圧縮することが可能であるといわれている。またCABACは、上記のように符号化効率のよさがメリットであるが、処理が終わるまで発生符号量がわからないという欠点がある。そのためレート制御では、発生符号量を基に符号化制御を行うことが難しい。
【0003】
これに対し、従来技術では、動画像の画像情報を符号化する際に算出する予測画像と原画像の差分信号である予測残差を基に発生符号量を見積もっている(特許文献1参照。)。
【特許文献1】特開2005−203905号公報
【発明の開示】
【発明が解決しようとする課題】
【0004】
しかしながら、予測残差だけを基に発生符号量を見積ると見積もり精度が低下するという課題がある。すなわち、符号化情報の係数成分は、予測残差をDCT変換し、量子化し、符号化することで得られる。このため、高レートの符号化では符号化信号のほとんどの部分を、予測残差を表す係数成分が占めることになり、予測残差と符号化情報の係数成分に高い相関がある。従って、予測残差から発生符号量の精度のよい見積もりが可能である。しかし、低レートの符号化では、量子化における量子化ステップとして大きい値が選ばれたり、スキップモードやダイレクトモードなどが選択されたりする場合が多くなる。量子化ステップとして大きい値が選ばれると量子化後の予測残差の値が小さい値となり、予測残差のデータ量が小さくなる。また、スキップモードでは予測残差が符号化されないため予測残差のデータ量は0である。この結果、符号化情報に占める予測残差の係数成分の割合が低くなり、動きベクトルを示す情報や符号化条件を示すヘッダ情報などの割合が高くなるため、従来技術のように予測残差だけを用いた方法では、発生符号量の見積もり精度が低下してしまう。
【0005】
上記課題に鑑みて、本発明の目的は、低レートの符号化においても精度よく発生符号量を見積もることができる画像符号化装置を提供することである。
【課題を解決するための手段】
【0006】
上記課題を解決するために、本発明の画像符号化装置は、係数成分の符号量推定手段に加えて、動きベクトルの符号量推定手段と符号化条件の符号量推定手段のうち少なくとも1つに基づいて発生符号量を予測する発生符号量予測手段と前記発生符号量予測手段によって予測された予測発生符号量を符号化処理の制御に用いるレート制御手段とを備える。
【0007】
なお、本発明は、このような画像符号化装置として実現することができるだけでなく、このような画像符号化装置に備えられる特徴的な手段をステップとする画像情報符号化方法として実現したり、それらのステップをコンピュータに実行させるプログラムとして実現したりすることもできる。そして、そのようなプログラムは、CD−ROM等の記録媒体やインターネット等の伝送媒体を介して配信することができるのは言うまでもない。
【発明の効果】
【0008】
以上のように本発明によれば、低レートで符号化を行う場合でも精度よく発生符号量を見積もることが可能となる。さらに、レート制御においては、予測された発生符号量を用いて、最適な符号量を各符号化画像に配分することができるので、符号化画像の主観品質を向上せさることが可能となる。
【発明を実施するための最良の形態】
【0009】
以下、本発明に係る画像符号化装置について図面を参照しながら説明を行う。
【0010】
(実施の形態)
図1は、本実施の形態の画像符号化装置10の構成を示すブロック図である。同図に示すように、本実施の形態の画像符号化装置10は、予測残差とさらに、符号化条件および動き予測情報のうち少なくともいずれかに基づいて発生符号量を予測し、符号化制御を行う装置であって、入力画像11から符号化画像15を生成する。この画像符号化装置10は、符号化器12、イントラ予測器16、インター予測器17、予測残差発生符号量評価値生成部20、符号化条件発生符号量評価値生成部21、動きベクトル情報発生符号量評価値生成部22、発生符号量予測器18および符号化制御器19を備える。さらに、符号化器12は、イントラ予測器13、インター予測器14及び符号化部23を備える。ここで、イントラ予測器13、インター予測器14、イントラ予測器16及びインター予測器17は、請求項でいう「入力画像に対して予測処理を施し、入力画像と予測画像との画素値の差分で表される予測残差を算出する予測残差算出手段」に相当し、発生符号量予測器18は、請求項でいう「算出された前記予測残差とさらに、入力画像の符号化の条件を示す制御情報である符号化条件、および参照画像と入力画像との間の動きを示す動き予測情報のうちの少なくともいずれかの情報の値またはデータ量に基づいて、入力画像を符号化した際の発生符号量を予測する発生符号量予測手段」に相当し、符号化制御器19及び符号化部23は「予測された前記発生符号量に基づいて、入力画像を符号化する符号化手段」に相当する。また、符号化部23は、請求項でいう「2値化された予測残差、符号化条件及び動きベクトル情報を算術符号化する可変長符号化部」に相当する。さらに、符号化制御器19は、請求項でいう「予測された前記発生符号量が第1の閾値を超える場合、前記予測残差を量子化する際の量子化ステップの値を、より大きい値とし、予測された前記発生符号量が前記第1の閾値よりも小さい第2の閾値以下の場合、前記量子化ステップの値を、より小さい値とする前記符号化手段」に相当する。
【0011】
イントラ予測器13は、入力画像のイントラ予測(画面内予測)を行う処理部であり、イントラ予測を行った場合の予測残差及び符号化条件を出力する。インター予測器14は、入力画像のインター予測(画面間予測)を行う処理部であり、インター予測を行った場合の予測残差、符号化条件及び動きベクトル情報を出力する。符号化部23は、イントラ予測器13及びインター予測器14から入力される予測残差に、直交変換処理及び量子化処理及び可変長符号化処理を施す。また、イントラ予測器13及びインター予測器14から入力される符号化条件及びインター予測器14から入力される動きベクトル情報には可変長符号化処理を施し、可変長符号化された符号化条件及び動きベクトル情報を、可変長符号化された予測残差と合成して符号化画像15を出力する。直交変換処理とは、入力されるデータにDCT(Descrete Cosine Transform)変換や高速フーリエ変換などの直交変換を施して、その値を直交変換係数に変換する処理をいう。また、量子化処理は、入力される直交変換係数を量子化ステップで除算して、さらに丸め処理を行うことにより、整数化する処理をいう。さらに、可変長符号化処理は、量子化処理によって得られた量子化値を2値化し、CABACなどの算術符号化を行うことをいう。符号化器12は、符号化制御器19から入力される発生符号量制御パラメータに従って符号化部23の量子化処理における量子化ステップを変更する。また、符号化部23は、ブロック、スライスおよびピクチャなどの符号化の処理単位ごとに、符号化画像15の実際の発生符号量を発生符号量予測器18に出力する。符号化制御器19は、発生符号量予測器18で予測された発生符号量が第1の閾値を超える場合、符号化部23の量子化処理における量子化ステップを一段大きいステップに変更し、予測された発生符号量が第2の閾値(ただし、(第2の閾値)<(第1の閾値))以下の場合、符号化部23の量子化処理における量子化ステップを一段小さいステップに変更する。
【0012】
図2は、図1に示したイントラ予測器16、インター予測器17、予測残差発生符号量評価値生成部20、符号化条件発生符号量評価値生成部21及び動きベクトル情報発生符号量評価値生成部22のより詳細な構成を示すブロック図である。イントラ予測器16は、イントラ予測(画面内予測)を行った場合の入力画像の評価値を生成するための処理部であり、符号化器12内のイントラ予測器13よりも少ない画素数で予測を行うとしてもよいし、イントラ予測器13から予測残差及び符号化条件のデータだけをもらうものとしてもよい。このイントラ予測器16は、予測残差算出部31及び符号化条件生成部32を備え、予測結果として得られた予測残差及び符号化条件を発生符号量予測器18に出力する(信号線は図示を省略する)。評価値とは、入力画像を符号化した際に発生する発生符号量を評価するための値をいい、実際には評価値と発生符号量との関係を示す予測関数または近似曲線の変数をいう。予測残差算出部31は、入力画像にイントラ予測を行って、評価値となる予測残差を算出する。符号化条件生成部32は、イントラ予測を行なう際の符号化の条件であるブロックサイズ、予測方向、ピクチャタイプなどの情報を表す符号化条件を生成する。インター予測器17は、インター予測(画面間予測)を行った場合の入力画像の評価値を生成するための処理部であり、符号化器12内のインター予測器14よりも少ない画素数で予測を行うとしてもよいし、インター予測器14から予測残差、符号化条件及び動きベクトル情報のデータだけをもらうものとしてもよい。このインター予測器17は、予測残差算出部33、符号化条件生成部34及び動きベクトル情報生成部35を備え、予測結果として得られた予測残差、符号化条件及び動きベクトル情報を発生符号量予測器18に出力する(信号線は図示を省略する)。予測残差算出部33は、入力画像にインター予測を行って、評価値となる予測残差を算出する。符号化条件生成部34は、インター予測を行なう際の符号化の条件である例えば、ブロックサイズ、動き探索や動き補償を行うブロックサイズ、ダイレクトモードやスキップモードなどの符号化モード、ピクチャタイプなどの符号化の条件を表す符号化条件を生成する。動きベクトル情報生成部35は、符号化対象ブロックごとに参照ピクチャを探索して、符号化対象ブロックとの予測誤差が最も小さくなる予測画像を示す動きベクトルを検出し、検出された動きベクトルを示す動きベクトル情報を生成する。
【0013】
予測残差発生符号量評価値生成部20は、予測画像と入力画像との差分である予測残差から発生する発生符号量の評価値を生成する処理部であって、直交変換部36、量子化部37及び係数情報2値化部38を備える。直交変換部36は、予測残差発生符号量評価値生成部20に入力された予測残差に、直交変換を施し、予測残差の値を直交変換係数値に変換する。さらに、直交変換部36は、直交変換により得られた係数値を、評価値として発生符号量予測器18に出力する。なお、ここで、直交変換部36は、符号化器12の符号化部23からデータだけをもらう構成としてもよい。量子化部37は、直交変換部36から入力された係数値に量子化処理を施すことによって、得られた量子化値を係数情報2値化部38に出力する。また、量子化部37は、量子化処理によって得られた量子化値を、評価値として発生符号量予測器18に出力する。ここで、量子化部37は、符号化器12の符号化部23から量子化値のデータだけをもらう構成としてもよいし、固定の量子化ステップで量子化を行う処理部としてもよい。係数情報2値化部38は、量子化部37から入力される量子化値を2値化し、得られた2値化データを評価値として発生符号量予測器18に出力する。
【0014】
符号化条件発生符号量評価値生成部21は、符号化条件に基づく評価値を生成する処理部であって、符号化条件ビット量算出部39及び符号化条件2値化部40を備える。符号化条件ビット量算出部39は、イントラ予測器16の符号化条件生成部32とインター予測器17の符号化条件生成部34から入力される符号化条件のビット量を算出し、算出されたビット量を評価値として発生符号量予測器18に出力する。符号化条件2値化部40は、符号化条件生成部32及び符号化条件生成部34から入力された符号化条件を2値化し、2値で表される符号化条件を評価値として発生符号量予測器18に出力する。
【0015】
動きベクトル情報発生符号量評価値生成部22は、予測画像生成時に求めた動きベクトルや参照ピクチャを示す情報から発生する発生符号量の評価値を生成する処理部であって、動きベクトル情報ビット量算出部41及び動きベクトル情報2値化部42を備える。動きベクトル情報ビット量算出部41は、動きベクトル情報生成部35から入力される動きベクトル情報のビット量を算出し、算出したビット量を評価値として発生符号量予測器18に出力する。動きベクトル情報2値化部42は、動きベクトル情報生成部35から入力される動きベクトル情報を2値化し、2値で表される動きベクトル情報を評価値として発生符号量予測器18に出力する。
【0016】
図3は、図1に示した発生符号量予測器18のより詳細な構成を示すブロック図である。発生符号量予測器18は、評価値算出部43、符号量算出部44、予測関数切り替え部45、履歴蓄積部46及び予測関数生成部47を備える。評価値算出部43は、図2に示したイントラ予測器16、インター予測器17、予測残差発生符号量評価値生成部20、符号化条件発生符号量評価値生成部21及び動きベクトル情報発生符号量評価値生成部22の各処理部から入力される評価値を、符号化器12から履歴蓄積部46に入力される符号化対象ピクチャのブロック、スライス及びピクチャごとの実符号量と対応付けて履歴蓄積部46に蓄積する。また、符号化対象ブロックの発生符号量が、どの評価値の組み合わせに対する予測関数を用いて予測されるかに応じて、変数となる評価値を生成し、符号量算出部44に出力する。例えば、イントラ予測で、イントラ予測器16の予測残差として直交変換部36の出力である係数が使われる場合には、直交変換部36から入力された評価値と、符号化条件生成部32から入力された符号化条件である評価値とを加算して、予測関数の変数となる評価値を算出する。
【0017】
予測残差、符号化条件及び動きベクトル情報のいずれものデータの値が評価値となりうるのは、予測残差、符号化条件及び動きベクトル情報のいずれもの内容が数値で表現されているからである。大きな値の数値であれば、それを表現するためのビット量は大きくなり、小さな値の数値であれば、それを表現するためのビット量は小さくなる。従って、予測残差、符号化条件及び動きベクトル情報の内容を示す値そのものがデータ量を表していると考えてもよい。直交変換係数や量子化値などの中間段階のデータも、また、数値であり、符号化によって発生する発生符号量に対応していると考えられる。そして、直交変換係数や量子化値などの中間段階のデータは、イントラ予測器16またはインター予測器17よりも後段の処理結果であり、イントラ予測器16またはインター予測器17から出力される予測残差、符号化条件及び動きベクトル情報よりも、発生符号量により密接に関連していると考えてもよい。さらに、量子化された予測残差、符号化条件及び動きベクトル情報を2値化したデータでは、それらのデータ量と発生符号量との関係がより1対1に対応しやすい。従って、ここでは、符号化条件及び動きベクトル情報のいずれものデータの値そのもの及び2値化されたデータそのものを、符号化条件及び動きベクトル情報のビット量を表すものとして取り扱う。
【0018】
また、例えば、評価値算出部43は、インター予測の場合で、予測残差の評価値として量子化値のビット量が使われる場合には量子化部37から入力された量子化値のビット量を算出し、算出したビット量と、符号化条件ビット量算出部39から入力されるビット量と、動きベクトル情報ビット量算出部41から入力されるビット量とを加算し、予測関数の変数となる評価値を算出する。
【0019】
さらに、例えば、評価値算出部43は、イントラ予測の場合で、予測残差の評価値として係数情報2値化部38から入力される評価値が使われる場合には、符号化条件生成部32から符号化条件2値化部40を経て入力される評価値とを加算して、予測関数の変数となる評価値を算出する。
【0020】
符号量算出部44は、評価値算出部43から入力された評価値を、履歴蓄積部46に格納されている予測関数に代入して、符号化対象のブロック、スライスまたはピクチャのいずれかごとに発生符号量を算出する。
【0021】
予測関数切り替え部45は、イントラ予測器16またはインター予測器17から入力される符号化条件を参照して、あらかじめ定められた符号化条件の場合に予測関数を切り替える。予測関数を切り替える場合、あらかじめ予測関数を場合に応じて複数種類生成して履歴蓄積部46に格納しておくとしてもよいし、切り替えの都度、新たに予測関数を生成するとしてもよい。切り替えのタイミングの例として、予測関数切り替え部45は、フィールド構造で符号化が行われる場合には、符号化対象フィールドがファースト(1st)フィールドであるかセカンド(2nd)フィールドであるかに応じて予測関数を切り替える。また、別の例では、I、P、Bなどのピクチャタイプが切り替わるごとに予測関数を切り替える。さらに、例えば、イントラ予測の場合とインター予測の場合とで予測関数を切り替える。
【0022】
履歴蓄積部46は、図2に示したイントラ予測器16、インター予測器17、予測残差発生符号量評価値生成部20、符号化条件発生符号量評価値生成部21及び動きベクトル情報発生符号量評価値生成部22の各部から入力された評価値を、同じピクチャを符号化したときに発生した実符号量と対応付けて履歴を蓄積する。この実符号量は符号化器12から入力される。また、履歴蓄積部46は、蓄積されている履歴を元に、予測関数生成部47によって生成された予測関数を格納する。
【0023】
予測関数生成部47は、履歴蓄積部46に格納されている評価値と実符号量との組から、最小二乗法によって予測関数(回帰直線)を生成する。このとき、予測関数生成部47は、イントラ予測の場合には、予測残差を表すデータの値またはデータ量と、符号化条件を表すデータの値またはデータ量との和を評価値として、評価値と実符号量との組から、予測関数を生成する。また、インター予測の場合には、予測残差を表すデータの値またはデータ量と、符号化条件を表すデータの値またはデータ量と動きベクトル情報を表すデータの値またはデータ量との和を評価値として、評価値と実符号量との組から、予測関数を生成する。さらに、インター予測のスキップモードでは、予測残差を表すデータの値またはデータ量を例えば、「0」として、予測残差を表すデータの値またはデータ量と、符号化条件を表すデータの値またはデータ量と動きベクトル情報を表すデータの値またはデータ量との和である評価値を算出し、評価値と実符号量との組から、予測関数を生成する。インター予測のダイレクトモードでは、予測関数生成部47は、動きベクトル情報を表すデータの値またはデータ量を例えば、「0」として、評価値を算出し、予測関数を生成する。
【0024】
なお、実符号量と評価値の複数の組の平均値と符号化対象の画像の評価値が大きく異なるときは、予測関数を回帰直線とする代わりに、実符号量と評価値の複数の組の平均値と原点とを結ぶ直線としてもよい。
【0025】
図4は、図3に示した予測関数生成部47によって生成される予測関数(回帰直線)の一例を示す図である。同図にプロットされている5点は、例えば、直近5ピクチャの評価値と実際に発生した符号量である実符号量との組(以下、「サンプル点」という)を表している。例えば、イントラ予測の場合で、予測残差の評価値として係数情報2値化部38から入力される評価値が使われる場合には、符号化条件生成部32から符号化条件2値化部40を経て入力される評価値とを加算して、予測関数の変数となる評価値が算出される。直近5ピクチャについて、このように算出された評価値と、それらのピクチャを符号化して発生した実測の符号量との組であるサンプル点が5点で表されている。予測関数生成部47は、これらの5点に最小二乗法を適用して、いずれの点からも等距離になるように予測関数となる回帰直線を決定する。符号量算出部44は、これからイントラ予測される符号化対象ピクチャについて、評価値算出部43によって上記のように算出された評価値がXであった場合、予測関数の変数にXの値を代入してYという値が得られた場合、そのYを予測発生符号量として符号化制御器19に出力する。
【0026】
なお、図4では、予測関数生成部47が、直近5ピクチャのサンプル点から予測関数を生成する場合について説明したが、次の符号化対象ピクチャになる都度、サンプル点を増加して予測関数を生成するとしてもよい。符号化対象画像(ブロック、スライスまたはピクチャのいずれか)ごとにサンプル点を算出して予測関数を生成する場合についても同様である。また、予測関数生成部47は、符号化対象画像が切り替わるごとにサンプル点を増加せず、最新の一定数のサンプル点から新たな予測関数を作るとしてもよい。例えば、常に最新の直近5ピクチャのサンプル点から予測関数を生成するとしてもよい。
【0027】
図5は、符号化対象ピクチャから参照ピクチャまでの時間距離に応じて予測関数を切り替える方法を説明するための図である。ここで、予測関数生成部47は、請求項でいう「動き予測の際の符号化対象ピクチャと参照ピクチャとの時間距離が同じである符号化対象ブロックにつき、前記評価値とそれに対応する実際の発生符号量との履歴を蓄積して、参照ピクチャと符号化対象ピクチャとの時間距離が異なるごとに予測関数を生成する前記予測関数生成手段」に相当し、符号量算出部44は、請求項でいう「参照ピクチャと符号化対象ピクチャとの前記時間距離に応じて前記予測関数を切替えて適用する前記発生符号量予測手段」に相当する。
【0028】
以下では、IBBP構造で符号化した場合を例に説明する。同図では表示順にフレームを示している。同図において、インター予測器17における動きベクトル検出で、IBBP構造における2枚目のB2では、前方のI/P、B1、後方のPを参照することができるものとする。なお、これらの制約は、符号化規格に依存するので、ここで示しているものは一例である。
【0029】
同図において、B2(No.9)とB1(No.8)の時間距離を「1」と表すと、B2(No.9)とI/P(No.7)との時間距離は、「2」と表せる。同様に、B2(No.9)とI/P(No.10)との時間距離は「−1」と表せる。
【0030】
仮に太枠のB2(No.9)がB1(No.8)を参照した場合には、時間距離「1」用の予測関数を使用し、I/P(No.7)を参照した場合は、時間距離「2」用の予測関数を使用し、I/P(No.10)を参照した場合は、時間距離「−1」用の予測関数を使用して、符号量を推定する。
【0031】
ここで、同図では太枠のB2(No.9)が前方のB1(No.8)を参照しているので、時間距離「1」用の予測関数を使用する。この時間距離「1」用の予測関数は、予測するフレーム(符号化対象フレーム)より前に、時間距離「1」の参照ピクチャを参照してインター予測で符号化されたフレームの評価値と実符号量(実際に符号化した符号量)とから生成する。この場合の予測関数は、評価値と実符号量との関係を示す回帰式などを利用する。図では、No.9の符号化対象ピクチャより前に、太線の矢印を持つピクチャ(No.2、No.5、No.6、No.8)が時間距離「1」の参照ピクチャを参照している。従って、これらのピクチャのサンプル点(評価値、実符号量)の関係を満たす例えば、回帰直線を予測関数とし符号量を推定する。
【0032】
図6は、符号化対象ピクチャがフィールド構造で符号化される場合に、符号化対象ピクチャが1stフィールドであるか2ndフィールドであるかに応じて予測関数を切り替える方法を説明するための図である。同図では、符号化順にフィールド構造を示している。太枠の2ndフィールドがこれから符号量推定を行うフィールドとする。
【0033】
フィールド符号化を行う際に、1stフィールドの符号量推定には、1stフィールド用の予測関数を使用し、2ndフィールドの符号量推定には、2ndフィールド用の予測関数を使用し符号量を推定する。ここで、予測関数生成部47は、請求項でいう「符号化対象ピクチャがインターレース方式で符号化される場合、ファーストフィールドまたはセカンドフィールドごとに前記評価値とそれに対応する実際の発生符号量との履歴を蓄積して、それぞれの予測関数を生成する前記予測関数生成手段」に相当し、符号量算出部44は、請求項でいう「符号化対象ピクチャがファーストフィールドかセカンドフィールドであるかに応じて前記予測関数を切替えて適用する前記発生符号量予測手段」に相当する。
【0034】
1stフィールド用の予測関数は、予測するフィールドより前に符号化された1stフィールドの評価値と実符号量(実際に符号化した符号量)との関係を示す回帰式などを利用する。この図では2ndフィールドである符号化対象フィールドより前に、4フィールドの2ndフィールドが符号化済みである。予測関数生成部47は、例えば、この4フィールドのサンプル点(評価値、実符号量)の関係を示す予測関数を生成する。この場合、予測関数は、対数近似などの曲線近似でも複数の直線式による折れ線近似でもよい。
【0035】
図7は、符号化対象MB(マクロブロック)ごとに、イントラ予測されるMBであるかインタ予測されるMBであるかに応じて予測関数を切り替える方法を説明するための図である。ここで、予測関数生成部47は、請求項でいう「符号化対象ピクチャが面内予測で符号化される場合と面間予測で符号化される場合とのそれぞれについて、前記評価値とそれに対応する実際の発生符号量との履歴を蓄積して、それぞれの予測関数を生成する前記予測関数生成手段」に相当し、符号量算出部44は、請求項でいう「符号化対象ピクチャが面内予測か面間予測かに応じて前記予測関数を切替えて適用する前記発生符号量予測手段」に相当する。
【0036】
同図は、符号化対象MBごとにイントラ予測とインター予測とを切り替えて符号化されたピクチャを、符号化順に並べて示している。ここでは、各ピクチャをピクチャ1、ピクチャ2、ピクチャ3、・・・、ピクチャ(N-2)、ピクチャ(N-1)、ピクチャNと、ピクチャ番号で表す。図に示すピクチャNで、網かけのブロックはイントラ予測で符号化されたMB(イントラMB)を示し、それ以外はインター予測で符号化されたMB(インターMB)を示す。
【0037】
履歴蓄積部46は、このようなピクチャの評価値と実符号量とを履歴として管理する場合に、イントラMBのみの合計値とインターMBのみの合計値とを別の記憶領域に管理する。これを各ピクチャ番号毎に管理する。
【0038】
これに対し、評価値算出部43は、符号化対象MBがイントラMBである場合、ピクチャNのイントラMBのデータ値またはデータ量のみを合計し、評価値として算出する。予測関数生成部47は、ピクチャ1、ピクチャ2、ピクチャ3、・・・、ピクチャN-2、ピクチャN-1におけるそれぞれのピクチャのイントラMBのみの合計評価値と合計実符号量とをサンプル点とした、サンプル点の回帰式をイントラMB用の予測関数とする。符号量算出部44は、この予測関数に評価値算出部43で算出されたピクチャNのイントラMBの合計評価値を代入して、ピクチャNのイントラMBによる予測発生符号量を算出する。
【0039】
さらに、同様にインターMBについても求める。具体的には、評価値算出部43は、ピクチャNのインターMBのデータ値またはデータ量のみを合計し、合計評価値として算出する。予測関数生成部47は、ピクチャNより前に符号化された各ピクチャのインターMBのみの合計評価値と合計実符号量とをサンプル点とした、サンプル点の回帰式をインターMB用の予測関数とする。符号量算出部44は、このインターMB用の予測関数に、評価値算出部43で算出されたピクチャNのインターMBのデータ値またはデータ量のみを合計して得られる合計評価値を代入して、ピクチャNのインターMBによる予測発生符号量を算出する。符号量算出部44は、ピクチャNのインターMBによる予測発生符号量と、ピクチャNのイントラMBによる予測発生符号量とを加算して、ピクチャNの予測発生符号量を算出する。
【0040】
このように、二つの予測関数を用いて、ピクチャNのイントラMBのみの推定符号量と、インターMBのみの推定符号量を別々に算出することにより、イントラMBのサンプルの傾向とインターMBのサンプルの傾向をそれぞれに反映することができるため、符号量推定性能が向上するという効果がある。
【0041】
図8は、I、B、Pで示されるピクチャタイプに応じて予測関数を切り替え、予測発生符号量を算出する方法を示す図である。以下では、入力画像(VIN被符号化画像)をIBBP構造で符号化した場合を例として説明する。同図では、フレームを表示順に示している。ここで、予測関数生成部47は、請求項でいう「符号化対象ピクチャのピクチャタイプ(I/P/B)ごと、またはスライスタイプ(I/P/B)ごとに前記評価値とそれに対応する実際の発生符号量との履歴を蓄積して、それぞれの予測関数を生成する前記予測関数生成手段」に相当し、符号量算出部44は、請求項でいう「ピクチャタイプとスライスタイプのうち少なくとも1つに応じて前記予測関数を切替えて適用する前記発生符号量予測手段」に相当する。
【0042】
符号量算出部44は、IフレームではIフレーム用の予測関数を使用し、PフレームではPフレーム用の予測関数を使用し、BフレームではBフレーム用の予測関数を使用して、予測符号量を算出する。
【0043】
Pフレーム用の予測関数は、予測するフレームより前の符号化済みのPフレームの評価値と実符号量(実際に符号化した符号量)との関係を示す回帰式などを利用する。図のPフレーム(No.10)の符号量を推定するには、No.7とNo.4のPフレームのサンプル点(評価値、実符号量)の関係を示す式を予測関数として利用する。同様にB2(No.9)の符号量推定には、No.8、No.6、No.5、No.3、No.2のBフレームのサンプルの関係を示す式を予測関数として利用する。なお、BフレームではB1とB2を区別して、予測関数を算出するとしてもよい。
【0044】
図9(a)及び(b)は、ピクチャ内のスライスの位置に応じて予測関数を切り替え、予測発生符号量を算出する方法を示す図である。図9(a)は、符号化順に並べたピクチャと各ピクチャ内のスライスの位置を示す。以下では、ピクチャNをこれから符号量を推定するピクチャとし、既に符号化済みで、評価値と実符号量とがすでに算出されているピクチャ(N-1)、ピクチャ(N-2)、・・・、ピクチャ(N-5)からピクチャNの発生符号量を算出するものとする。ここで、予測関数生成部47は、請求項でいう「ピクチャ内のスライス位置ごとに前記評価値とそれに対応する実際の発生符号量との履歴を蓄積して、予測関数を生成する前記予測関数生成手段」に相当し、符号量算出部44は、請求項でいう「前記予測関数をピクチャ内のスライス位置に応じて切替えて適用する前記発生符号量予測手段」に相当する。
【0045】
まず、符号量算出部44は、ピクチャNのスライス1の推定符号量をピクチャ(N-1)、ピクチャ(N-2)、・・・、ピクチャ(N-5)のスライス1の評価値と実符号量の関係を示すスライス1用の予測関数から算出する。
【0046】
履歴蓄積部46は、ピクチャを4分の1に分割した各スライスの位置に応じて、各スライスの評価値と実符号量との組(サンプル点)を記憶量域に管理する。例えば、ピクチャNのスライス1の符号量を推定する場合、図の評価値と実符号量の関係を示す回帰式をスライス1用の予測関数とする。
【0047】
図9(b)では、予測関数は、スライスMのピクチャ番号が1から(N-1)のサンプル点(評価値、実符号量)の回帰直線を用いる。ここでは、回帰直線としたが、切片を省略した近似直線、対数近似曲線などでもかまわない。また、サンプル点は、スライスMよりも先に符号化されたピクチャ番号が1からN-1までの全てのピクチャを用いてもよいし、任意のサンプルの組み合わせでもかまわない。一例としては、直近の5サンプル(ピクチャ番号=N-1、N-2、N-3、N-4、N-5)を利用し、回帰直線を最小二乗法により算出する。ここで、直近の5サンプルから求められた回帰直線であるスライス1の予測関数をS1(v)などと表す。これは評価値vをパラメータとする関数を示す。
【0048】
これから符号量を推定するピクチャNのスライス1の推定符号量は、ピクチャNのスライス1の評価値をx1、推定符号量p1とすると以下となる。
【0049】
p1=S1(x1)
【0050】
同様に、ピクチャNのスライスm(m=1,2,3,4)の推定符号量は、以下となる。
【0051】
pm=Sm(xm)
【0052】
同様に、符号量算出部44は、ピクチャNのスライス2、スライス3及びスライス4の推定符号量を、ピクチャ(N-1)、ピクチャ(N-2)、・・・、ピクチャ(N-5)のそれぞれスライス2、スライス3及びスライス4の評価値と実符号量の関係を示すスライス2、スライス3及びスライス4用の予測関数から算出する。算出されたスライス1の予測発生符号量、スライス2の予測発生符号量、スライス3の予測発生符号量、及びスライス4の予測発生符号量を加算することにより、ピクチャNの発生符号量を算出することができる。
【0053】
ピクチャとは、フレームまたはフィールドを意味し、符号化する一枚の画像領域を示す。スライスとはピクチャをいくつかに分割した領域を示す。さらに、スライスはマクロブロックの集合からなる。マクロブロックとは、通常の符号化における数画素x数画素の領域を示す。
【0054】
このようなピクチャを、符号化順にピクチャ番号をピクチャ1、ピクチャ2、・・・、ピクチャNとする。また、ピクチャの上部より、順にスライス1、スライス2、・・・・、スライスNと表す。スライスの左端から順にマクロブロック1、マクロブロック2、・・・、マクロブロックNと表す。
【0055】
図10(a)(b)及び(c)は、履歴蓄積部46に蓄積される2値データ量と実符号量とのサンプル点の履歴を示す図である。図10(a)は、ピクチャを単位として、サンプル点が算出されている一例を示している。図10(b)は、スライスを単位としてサンプル点が算出されている一例を示している。図10(c)は、マクロブロックを単位としてサンプル点が算出されている一例を示している。ここで、係数情報2値化部38、符号化条件2値化部40及び動きベクトル情報ビット量算出部41は、請求項でいう「ピクチャ、スライス及びマクロブロックのいずれかを単位として、前記予測残差とさらに、前記符号化条件および前記動き予測情報のうちの少なくともいずれかの値を2値化する2値化部」に相当し、予測関数生成部47は、「2値化された前記いずれかのデータ量を前記評価値とし、前記評価値とそれに対応する実際の発生符号量との履歴を蓄積して、予測関数を生成する前記予測関数生成手段」に相当し、符号量算出部44は、「前記予測関数を2値化された前記いずれかのデータ量に応じて切替えて適用する前記発生符号量予測手段」に相当する。
【0056】
同図(a)(b)及び(c)に示すように、各ピクチャの2値データ量と実符号量とをサンプル点として、ピクチャ、スライス及びマクロブロックごとに予測関数を生成することができる。例えば、ピクチャNの発生符号量を予測する場合、図10(a)のサンプル点を用いて、ピクチャ(N-1)、ピクチャ(N-2)、・・・、ピクチャ1の2値データ量と実符号量の関係を示す予測関数を算出し、算出された予測関数を用いてピクチャ単位で発生符号量を予測することもできる。また、図10(b)のサンプル点を用いて、スライス(M-1)、スライス(M-2)、・・・、スライス1の2値データ量と実符号量の関係を示す予測関数を算出し、算出された予測関数を用いてスライス単位で発生符号量を予測することもできる。同様に、図10(c)のサンプル点を用いて、マクロブロック(L-1)、マクロブロック(L-2)、・・・、マクロブロック1の2値データ量と実符号量の関係を示す予測関数を算出し、算出された予測関数を用いてマクロブロック単位で発生符号量を予測することもできる。
【0057】
予測関数は、例えば、ピクチャ単位で発生符号量を予測する場合、ピクチャ番号が1からN-1のサンプル点(2値データ量、実符号量)の回帰直線を用いる。また、例えば、スライス単位で発生符号量を予測する場合、スライス番号が1からM-1のサンプル点(2値データ量、実符号量)の回帰直線を用いる。さらに、例えば、マクロブロック単位で発生符号量を予測する場合、マクロブロック番号が1からL-1のサンプル点(2値データ量、実符号量)の回帰直線を用いる。また、ここでは、回帰直線としたが、切片を省略した近似直線、対数近似曲線などでもかまわない。また、サンプル点はピクチャ番号が1からN-1の全てを用いても、任意のサンプルの組み合わせでもかまわない。一例としては、ピクチャNに対する直近の5サンプル(ピクチャ番号 N-1、N-2、N-3、N-4、N-5)を利用し、回帰直線を最小二乗法により算出するとしてもよい。また、発生符号量をスライス単位で予測する場合や、発生符号量をマクロブロック単位で予測する場合も同様である。
【0058】
なお、サンプルの選択の仕方としては、符号量を推定するピクチャと同一ピクチャタイプのサンプルのみを利用して、予測関数を算出することで、予測精度を向上させることができる。Pピクチャの符号量推定には、ピクチャ番号が1からN-1のサンプルのうちピクチャタイプがPピクチャであるサンプルを選別する。その後選別されたサンプルの回帰直線を算出する。ここで、係数情報2値化部38、符号化条件2値化部40及び動きベクトル情報ビット量算出部41は、請求項でいう「ピクチャを単位として2値化する2値化手段」に相当し、予測関数生成部47は、「2値化された同じピクチャタイプに属する符号化済みのピクチャのデータ量を前記評価値として、前記評価値とそれに対応する実際の発生符号量との複数の履歴から、前記評価値の平均値と、前記発生符号量の平均値との組で表される座標上の点と原点を結ぶ直線を前記予測関数として生成する前記予測関数生成手段」に相当する。
【0059】
また、スライス、マクロブロックに関しても同様に予測関数を算出することができる。
スライスでは、同一ピクチャ内のサンプルを利用する方法とことなるピクチャに属するサンプルを利用することが可能である。時間方向に相関が高い場合は異なるピクチャのサンプルを利用すると推定精度が向上する。また、空間方向に相関が高い場合は、同一ピクチャ内のサンプルを利用し、予測関数を作成すると推定精度が向上する。同様の効果がマクロブロックにおいても言える。
【0060】
さらに、シーンチェンジやフラッシュのような急激な輝度変化がおこると2値データ量が大きく変動することがある。このような場合には過去のピクチャのサンプルの傾向から外れる場合があり、推定精度が大幅に悪化する。先に示した例のピクチャNに対する直近の5サンプルを利用する場合では特に問題になる。このような場合は、他のサンプルから、2値データ量の近いサンプルをサーチし、そのサンプルのみから予測関数を算出することで、前述の方法より、推定精度を向上させることができる。この場合、予測関数には、2値データ量と実符号量の比を利用する。符号量を推定しようとするピクチャNの2値データ量に前述の比を乗算することで、推定符号量を求める。符号量の近いサンプルは1サンプルでも複数サンプルでもかまわない。複数サンプルを利用する場合は、複数サンプルの2値データ量と実符号量の比の平均や回帰直線なども利用することができる。
【0061】
また、符号化開始直後やシーンチェンジ直後の数ピクチャでは、評価値とそれに対応する実際の発生符号量との複数の履歴を利用する場合においても、十分な量の履歴が存在しないため、過去の傾向を示さないことがある。また、それ以外の場合でも、予測関数の作成において、評価値とそれに対応する実際の発生符号量との複数の履歴を利用しない又はできない場合には、あらかじめ符号化シミュレーションにより求めた統計情報を利用して作成した予測関数を用いるとしてもよい。そのような場合にも、符号化開始前に求めた予測関数を利用することで符号量推定性能を改善することが可能となる。また、この方法により、演算資源が乏しい場合などに予測関数の作成を省略できる。特に、ハードウエアの実装上の制約やソフトウエアの処理量の制約を受けた場合に有益である。
【0062】
具体的な予測関数作成の方法としては、事前に符号化シミュレーションを行い、その結果である評価値とそれに対応する実際の発生符号量との複数の履歴から、予測関数を作成しておく。作成した予測関数をROMなどの記憶領域上に格納しておき、必要に応じて読み出す。これにおいて、評価値算出部43は、請求項でいう「前記予測残差とさらに、前記符号化条件および前記動き予測情報のうちの少なくともいずれかの値または前記データ量を評価値として算出する評価値算出手段」に相当し、予測関数生成部47、履歴蓄積部46及びROMなどの記憶領域は、請求項でいう「あらかじめ符号化シミュレーションにより求めた統計情報を利用して、前記評価値と前記発生符号量との関係を表す予測関数を生成して、保持する予測関数生成手段」に相当し、発生符号量予測器18は請求項でいう「今から符号化されようとするブロックについて算出された前記評価値に、符号化開始前に生成された前記予測関数を適用することにより入力画像の発生符号量を予測する前記発生符号量予測手段」に相当する。
【0063】
ここでいう符号化シミュレーションとは、複数の入力画像を用いて、実際に画像符号化装置にて符号化を行い、実験データを収集することをさす。そして、事前に符号化シミュレーションを行った結果である評価値と、それに対応する実際の発生符号量との複数の履歴から評価値と発生符号量の比(以下、発生符号量比と呼ぶ)を算出しておく。ここでは、予測関数として発生符号量比を利用している。
【0064】
(推定符号量)=(発生符号量比)×(評価値) ....予測関数式
【0065】
上記の式に示すように、この発生符号量比と、符号化しようとするブロックの評価値との積を算出することにより、推定符号量を求めることができる。この発生符号量比を符号化条件ごとに求めておくことで、符号化開始前に求めた予測関数を利用した場合でも、より適応的な符号量推定が可能となる。ここで、予測関数生成部47は、請求項でいう「前記統計情報を利用して、前記評価値と前記発生符号量との関係を表す予測関数を符号化条件ごとに生成して、保持する前記予測関数生成手段」に相当し、発生符号量予測器18は、請求項でいう「今から符号化されようとするブロックの符号化条件ごとに、符号化開始前に生成された前記符号化条件に対応する予測関数を前記評価値に適用することにより、入力画像の発生符号量を予測する前記発生符号量予測手段」に相当する。
【0066】
以下に、符号化条件の一例を示す。ここでは、発生符号量比を符号化条件ごとに求めておくための符号化条件として、量子化ステップを用い、評価値として、予測残差の値と符号化条件の値と動き情報の値との和を用いた場合について、説明する。
【0067】
【表1】


【0068】
上記の表は、事前に符号化シミュレーションを行って統計的に求めた、量子化ステップ値と平均発生符号量比の関係を示す。以下、この表を「発生符号量比テーブル」と呼ぶ。発生符号量比テーブルの一行目は、量子化ステップを「10」に設定して符号化シミュレーションした結果の発生符号量比の平均値が「0.5」であることを示す。
【0069】
仮に、今から符号化しようとするブロックの量子化ステップが「20」でかつそのブロックの評価値が「1000」であった場合は、以下のように推定符号量を求める。
【0070】
(1)予測関数式の発生符号量比の値を発生符号量比テーブルの量子化ステップ「20」に対応する記憶領域から読み込む。(発生符号量比テーブルはROMなどに格納しておく)
(2)読み込んだ値と評価値の積を算出する。
(例によると、量子化ステップ「20」に対する発生符号量比は「0.7」)
推定符号量=0.7×1000=700[bit]
(3)700bitを推定符号量として、レート制御部に返す。
【0071】
なお、ここでは、発生符号量比テーブルとして、量子化ステップに対する発生符号量比を示したが、量子化パラメータに対する発生符号量比としてもよいし、他の複数の符号化条件の組み合わせを利用してもよい。複数の符号化条件の組み合わせの一例を示すと、面内予測/面間予測かつ量子化ステップなどがあげられる。量子化ステップ値と平均発生符号量比との関係を、イントラ予測とインター予測とで分けて集計し、それぞれに応じて発生符号量比と評価値の積を推定符号量とする。このように、予測関数を符号化条件で分類することで、発生符号量の推定精度を向上させることができる。
【0072】
なお、ここでは予測関数を発生符号量の比として説明したが、予測関数は発生符号量の比に限らず、他の予測関数を利用してもよい。
【0073】
なお、ブロック図(図1、2、3など)の各機能ブロックは典型的には集積回路であるLSIとして実現される。これらは個別に1チップ化されても良いし、一部又は全てを含むように1チップ化されても良い。(例えばメモリ以外の機能ブロックが1チップ化されていても良い。)
【0074】
ここでは、LSIとしたが、集積度の違いにより、IC、システムLSI、スーパーLSI、ウルトラLSIと呼称されることもある。
【0075】
また、集積回路化の手法はLSIに限るものではなく、専用回路又は汎用プロセサで実現してもよい。LSI製造後に、プログラムすることが可能なFPGA(Field Programmable Gate Array)や、LSI内部の回路セルの接続や設定を再構成可能なリコンフィギュラブル・プロセッサーを利用しても良い。
【0076】
さらには、半導体技術の進歩又は派生する別技術によりLSIに置き換わる集積回路化の技術が登場すれば、当然、その技術を用いて機能ブロックの集積化を行ってもよい。バイオ技術の適応等が可能性としてありえる。
【0077】
また、各機能ブロックのうち、符号化または復号化の対象となるデータを格納する手段だけ1チップ化せずに別構成としても良い。
【産業上の利用可能性】
【0078】
本発明に係る画像符号化装置は、通信機能を備えるパーソナルコンピュータ、PDA、ディジタル放送の放送局および携帯電話機などに備えられる画像符号化装置として有用である。
【図面の簡単な説明】
【0079】
【図1】本実施の形態の画像符号化装置10の構成を示すブロック図である。
【図2】図1に示したイントラ予測器16、インター予測器17、予測残差発生符号量評価値生成部20、符号化条件発生符号量評価値生成部21及び動きベクトル情報発生符号量評価値生成部22のより詳細な構成を示すブロック図である。
【図3】図1に示した発生符号量予測器18のより詳細な構成を示すブロック図である。
【図4】本実施の形態の画像符号化装置の構成を示すブロック図である。
【図5】符号化対象ピクチャから参照ピクチャまでの時間距離に応じて予測関数を切り替える方法を説明するための図である。
【図6】符号化対象ピクチャがフィールド構造で符号化される場合に、符号化対象ピクチャが1stフィールドであるか2ndフィールドであるかに応じて予測関数を切り替える方法を説明するための図である。
【図7】符号化対象MB(マクロブロック)ごとに、イントラ予測されるMBであるかインタ予測されるMBであるかに応じて予測関数を切り替える方法を説明するための図である。
【図8】I、B、Pで示されるピクチャタイプに応じて予測関数を切り替え、予測発生符号量を算出する方法を示す図である。
【図9】図9(a)及び(b)は、ピクチャ内のスライスの位置に応じて予測関数を切り替え、予測発生符号量を算出する方法を示す図である。
【図10】図10(a)(b)及び(c)は、履歴蓄積部46に蓄積される2値データ量と実符号量とのサンプル点の履歴を示す図である。
【符号の説明】
【0080】
11 VIN被符号化画像
12 符号化器
13 イントラ予測器
14 インター予測器
15 VOUT符号化画像
16 イントラ予測器
17 インター予測器
18 発生符号量予測器
19 符号化制御器
20 予測残差生成部
21 符号化条件生成部
22 動きベクトル情報生成部
【出願人】 【識別番号】000005821
【氏名又は名称】松下電器産業株式会社
【出願日】 平成18年7月27日(2006.7.27)
【代理人】 【識別番号】100109210
【弁理士】
【氏名又は名称】新居 広守


【公開番号】 特開2008−35134(P2008−35134A)
【公開日】 平成20年2月14日(2008.2.14)
【出願番号】 特願2006−205424(P2006−205424)