(57)【要約】      （修正有）【課題】映像を符号化する手法及び、それらの装置に関し、発生符号量の予測に関する。発生符号量予測値を算出するための演算量が少なく、かつ、高精度で該予測値の算出を実現する、動画像符号化方法および動画像符号化装置を提供する。【解決手段】発生符号量を予測するための式を１箇所以上が折れ曲がった一次式にて構成する。また、折れ曲がりの位置を同一のSAD値とすることにより、二次の予測関数を用いた時よりも、演算量を低減する事が可能となる。【選択図】図３
2010124054.tif 000002
【特許請求の範囲】
【請求項１】
入力画像信号に対して参照画像及び参照画像と該入力画像との間の差分を用いて符号化を行う動画像符号化方法において、
評価値を用いて発生符号量の予測を行い、発生符号量を制御する動画像符号化方法であって、
前記評価値を複数の区分に分け、該複数の区分毎に前記評価値に基づいて発生符号量の予測値を演算する演算式を設け、前記演算式を、前記複数の区分毎に前記評価値の一次式で近似することを特徴とする動画像符号化方法。
【請求項２】
請求項１記載の動画像符号化方法において、
前記評価値と前記発生符号量の予測値の関係は、量子化値によって異なる傾き並びにＹ切片を持つ複数の区分を有する一次式であって、
前記異なる量子化値よって異なるそれぞれの一次式の、それぞれの区分を分ける評価値が、同一の値であることを特徴とする動画像符号化方法。
【請求項３】
請求項１又は請求項２のいずれかに記載の動画像符号化方法において、
前記評価値は、前記入力画像と前記予測画像とをそれぞれ、１又は複数の画素ブロックに分割し、該画素ブロック毎の差分絶対値和であることを特徴とする動画像符号化方法。
【請求項４】
請求項１又は請求項２のいずれかに記載の動画像符号化方法において、
前記評価値は、前記入力画像と前記予測画像とをそれぞれ、１又は複数の画素ブロックに分割し、該画素ブロック毎の差分値を変換し、該変換した差分値の絶対値和を取った値であることを特徴とする動画像符号化方法。
【請求項５】
請求項４に記載の動画像符号化方法において、
前記画素ブロック毎の差分値の変換は、アダマール変換であることを特徴とする動画像復号化方法。
【請求項６】
請求項４に記載の動画像符号化方法において、
前記画素ブロック毎の差分値の変換は、離散コサイン変換であることを特徴とする動画像復号化方法。
【請求項７】
画像データを入力し、該画像データを所定の画素数のマクロブロックに分割するマクロブロック分割部と、前記マクロブロックに分割された画像データと加算処理部から出力されるデータの差分信号から予測画像を生成する予測処理部と、前記マクロブロックに分割された画像データと前記予測画像との差分信号を出力する差分処理部と、前記差分信号を変換し量子化する変換・量子化部と、前記変換された信号を符号化する符号化部と、前記変換された信号を逆量子化し逆変換する逆量子化・逆変換部と、前記量子化・逆直交変換部の出力と前記予測画像を加算する加算処理部とを有する動画像符号化装置において、さらに、
前記予測処理部は、前記予測画像の生成時に、前記予測画像と前記マクロブロックに分割された画像データとの画素毎の差分値の絶対和を、評価値として出力し、
前記評価値と、前記符号化部から出力される符号化したデータの符号量とから、前記マクロブロック分割部から出力される画像データの量子化値を算出し、害算出された量子化値に基づいて、前記変換・量子化部の量子化値を定める発生符号量予測部を有したことを特徴とする動画像符号化装置。
【請求項８】
請求項７記載の動画像符号化装置において、
前記発生符号量予測部は、前記評価値に基づいて符号量予測値を算出するための対応テーブル、若しくは、演算処理部を備えたことを特徴とする動画像符号化装置。
【請求項９】
請求項８記載の動画像符号化装置において、
前記対応テーブル若しくは演算処理部は、前記評価値によって複数の区分に分割される閾値を具備し、該複数の区分それぞれについて前記評価値に基づく一次式を設け、該一次式によって、前記符号量予測値を算出することを特徴とする動画像符号化装置。
【請求項１０】
請求項７乃至９のいずれかに記載の動画像符号化装置において、前記変換・量子化部は、前記差分信号を、アダマール変換若しくは離散コサイン変換することを特徴とする動画像符号化装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、映像符号化方法及び装置に関わり、特に、発生符号量の予測に関する。
【背景技術】
【０００２】
従来から知られている MPEG-2 形式や MPEG-4 形式等で代表される画像符号化技術では、画像情報が一般的に持つ特性、すなわち隣接画素間とフレーム間に高い相関を持つという特性を利用し、更に人間の視覚にとって変化を知覚しにくい高周波成分などの冗長な情報を削減している。これにより、広い伝送帯域（たとえば、HD-SDI では約 1.5 Gbps ）にある入力映像を、低い伝送帯域（例えば、地上デジタル放送での約 15 Mbps ）に適用させることができるようにしている。
近年では、ISO/MPEG（ International Organization for Standardization / Moving Picture Experts Group ）と ITU-T/VCEG（International Telecommunication Union - Telecommunication standardization sector / Video Coding Experts Group ）の共同プロジェクトによって策定された H.264 / AVC 動画像符号化方式（以下、H.264 と称する）が、その優れた画質と優れた圧縮率性能によって、広く使用されるに至っている。
【０００３】
H.264 ではマクロブロックと呼ばれる 16 × 16 画素ブロック単位で符号化処理を行う。画面内あるいは画面間予測においては、16 × 16 画素や 4 × 4 画素、8 × 8 画素等にマクロブロックをブロック単位に分割し、各ブロック単位で予測処理を行い、予測画像との差分を DCT（ Discrete Cosine Transform ：離散コサイン変換）などの変換及び量子化処理を行った後に可変長符号化を行い、符号化を行うことが規定されている。
H.264 では、マクロブロックの画像の状態により発生符号量に違いが生じる。また、量子化を粗く施すことにより発生符号量を抑制することが可能である。しかしその際、画質が劣化するという副作用が生じる。そのため、与えられるビットレートを十分に使用し符号化を行うことが重要である。それ故、何らかの手段を用いて発生符号量を予測し、予測結果に基づいて量子化制御などを行い高画質かつ求められる符号量に調整することが行われる。
【０００４】
発生符号量の予測では、例えば、非特許文献１に記載のように、一般的に予測画像と対象マクロブロックの画像との各画素の差分値の絶対値和（ Sum of Absolute Difference ）以下、SAD と表記）を用いることが多い。図１にマクロブロック単位による、発生符号量と SAD 値の相関関係を示す分布の一例である。図１は、複数の異なる静止画像について、マクロブロック単位による発生符号量と SAD 値の関係をシミュレーションした結果に基づく模式図である。横軸が SAD 値、縦軸が発生符号量である。また、量子化値は固定である。
図１において、領域１０１内（網掛け部）に、発生符号量が分布している。この分布は、多少の違いはあるが、上に凸の曲線となっている。なお、網掛けは一様に配置されているが、実際の分布は、一様ではないことは言うまでもない。
非特許文献１では、上記図１に示すような、発生符号量予測値と SAD 値の相関関係をプロットし、最小二乗法近似を行い、２次関数にて近似すると記述されている。この場合、発生符号量予測値（ bits ）を近似するために、 SAD 値には、定数 a と b と c を用いた、式（１）の示すような関係となる。ここで、i は、0 〜 N−1 のいずれかのマクロブロックの SAD 値である（ N は自然数、0＜i＜N ）。
【０００５】
【数１】
2010124054.tif 000003
【０００６】
【非特許文献１】宮地  悟史、滝嶋  康弘、羽鳥  好律“画像性質とバッファ制約を考慮したH.264レート制御方式”、平成１７年、電子情報通信学会論文誌 D-II ，Vol.J88-D-II ，No.7 pp1114-1125（ 2005 ）
【発明の開示】
【発明が解決しようとする課題】
【０００７】
従来の技術では、発生符号量予測において予測精度の高いものの、演算量が非常に多い。マクロブロック（ MB ）単位で SAD 値を収集し、発生符号量予測を行うためには対象のマクロブロック数（ MB 数）を N として、上述の式（１）に基づいた、式（２）の演算が必要となる。
【０００８】
【数２】
2010124054.tif 000004
式（２）における係数は、Σ演算の外に出すことで、式（３）の演算式とすることができる。
【０００９】
【数３】
2010124054.tif 000005
式（３）で示されるように、SAD 値の２乗をマクロブロック数回演算するため、発生符号量予測値（ bits ）を算出するための演算量は、非常に多い。
本発明の目的は、発生符号量予測値を算出するための演算量が少なく、かつ、高精度で実現する、動画像符号化方法及び動画像符号化装置を提供することにある。
【課題を解決するための手段】
【００１０】
上記の目的を達成するため、本発明は、発生符号量を予測するための演算式を、複数の一次式にて構成したものである。
好ましくは、上記発明の演算式を、１箇所以上が折れ曲がった一次式にて構成する。また好ましくは、量子化値によって異なる複数の演算式における折れ曲がりの位置を、同一の SAD 値に設ける。
さらに好ましくは、折曲がり箇所を１箇所とし、折れ曲がり位置の SAD 値より小さな SAD 値を有するマクロブロック数を M（ M は自然数）とすると、発生符号量を予測するための演算式は、後述の式（４）のように示される。式（４）に示すように、折れ曲がりの位置（閾値）にてデータを分類し、SAD 値の平均値を用いることができ、式（２）若しくは式（３）と比較して、演算の回数を低減可能となる。
【発明の効果】
【００１１】
本発明の動画像符号化における符号化方法及び符号化装置によれば、発生符号量の予測を、高精度かつ低演算量にて実現することができる。
【発明を実施するための最良の形態】
【００１２】
［実施例１］
図２から図７を用いて本発明における符号化装置の第１の実施例を説明する。なお、本書では、既に説明した図１を含め、以降の各図の説明において、共通な機能を有する構成要素には同一の参照番号を付し、説明を省略する。
【００１３】
図２によって、本発明の符号化時の処理モジュール構成を説明する。図２は、本発明の動画像符号化装置の一実施例の構成を示すブロック図である。201 は入力画像データ、202 は予測処理部、203 は変換・量子化部、204 は可変長符号化部、205 は逆量子化・逆変換部、206 はフレームメモリ、207 はビットストリームデータ、208 は発生符号化量予測部、209 は閾値のデータ、210 はビットレートを示すデータ、211 はマクロブロック分割部、212 は差分処理部、213 は加算処理部、214 は予測部 202 から出力される SAD 値のデータ、215 はマクロブロック数を示すデータ、216 は符号量を示すデータ、217 は量子化値のデータ（符号量予測値を示すデータ）である。図２の動画像符号化装置は、例えば、LSI（ Large Scale Integrated circuit ）内に構成される。図２は、例えば、H.264 形式で符号化する動画像符号化装置である。
【００１４】
図２において、入力画像データ 201 は、マクロブロック分割部 211 に入力される。マクロブロック分割部 211 は、入力画像データ 201 を、16 × 16 画素毎に分割して、予測部 202 と差分処理部 212 に出力する。予測処理部 202 は、入力された画像データについて、フレームメモリ 206 のデータを参照して予測処理を実行し、その結果、予測画像データが差分処理部 212 に出力される。差分処理部 212 は、マクロブロック分割部 211 から入力された入力画像データと予測画像との差分データを変換・量子化部 203 に出力する。
変換・量子化部 203 は、差分処理部 212 から入力されたデータを、例えば、直交変換等によって変換し、更に量子化して、逆量子化・逆変換部 205 及び可変長符号化部 204 に出力する。可変長符号化部 204 は、入力されたデータを可変長符号化して、ビットストリームデータ 207 として出力する。また、可変長符号化部 204 は、可変長符号化したデータの符号量を示すデータ 216 を発生符号化量予測部 208 に出力する。
【００１５】
一方、逆量子化・逆変換部 205 は、変換及び量子化されたデータを逆量子化しさらに逆変換して、加算処理部 213 に出力する。加算処理部 213 は、逆量子化・逆変換部 205 から入力されたデータと、予測処理部から入力された予測画像データとを加算して、フレームメモリ 206 に出力する。フレームメモリ 206 は、次段階での予測のために入力されたデータを格納する。
【００１６】
また予測処理部 202 は、予測実行時に、発生符号量の予測に必要なデータ、例えば、SAD 値のデータ 214 を発生符号量予測部 208 に出力する。
発生符号量予測部 208 は、マクロブロック数を示すデータ 215 、閾値のデータ 209 、ビットレートを示すデータ 210 、可変長符号化したデータの符号量を示すデータ 216 、及び、SAD 値のデータ 214 に基づき、各マクロブロックの量子化値を定め、その量子化値のデータ 217 を変換・量子化部 203 に出力する。なお、発生符号量を予測するためのマクロブロック数のデータ 215 は、例えば、１列以上のマクロブロックラインを対象領域（例えば水平画素数が 1920 画素の場合、１マクロブロックラインの対象領域では、マクロブロック数が１２０である。）とする場合から、複数のフレームを対象領域とする場合まで、任意の数で良い。
発生符号量予測部 208 について、詳細を図３に示す。
【００１７】
図３によって、本発明の動画像符号化装置の発生符号量予測部の一実施例を説明する。図３は、図２の発生符号量予測部 208 の詳細を説明した図である。301 は閾値制御部、302 は SAD 値比較部、303 は SAD 値蓄積制御部、305 は区分１の SAD 値蓄積部、306 は区分１の SAD 平均値算出部、307 は区分１の符号量予測値算出部、308 は区分２の SAD 値蓄積部、309 は区分２の SAD 平均値算出部、310 は区分２の符号量予測値算出部、311 は SAD 値／符号量対応テーブル、312 は比重加算部、304 は量子化値決定部である。
【００１８】
図３の発生符号量予測部 208 において、閾値制御部 301 は、発生符号量予測部 208 の外部より入力された閾値のデータ 209 を保持し、SAD 値比較部 302 の要求に応じて閾値のデータを出力する。SAD 値比較部 302 は、発生符号量予測部 208 の外部より入力された SAD 値と閾値制御部 301 から入手した閾値のデータを比較し、SAD 値が閾値より大きいか小さいかの情報を SAD 値と共に、SAD 値蓄積制御部 303 に出力する。
SAD 値蓄積制御部 303 は、以下の２つの動作を行う。第１の動作は、SAD 値比較部 302 より入力された SAD 値、及び SAD 値と閾値の比較情報に基づき、当該マクロブロックを区分１か区分２に分類する選択を行い、当該マクロブロックの SAD 値を選択された区分に出力する。例えば、区分１に分類された場合には、当該マクロブロックの SAD 値を区分１の SAD 値蓄積部に出力し、区分２に分類された場合には、当該マクロブロックの SAD 値を区分２の SAD 値蓄積部 308 に出力する。第２の動作は、発生符号量予測部 208 の外部より入力された対象マクロブロック数を示すデータ 215 を保持し、SAD 値の蓄積動作を行ったマクロブロック数がデータ 215 の値と同一になった時に、区分１の SAD 値蓄積部 305 と区分２の SAD 値蓄積部 308 に SAD の総和と対象となるマクロブロック数の出力を命じるコマンド、及び、量子化値決定部 304 に量子化値決定の実行を命じるコマンドを出力する。
【００１９】
区分１の SAD 値蓄積部 305 は、SAD 値蓄積制御部 303 より入力された SAD 値の総和の演算、及びマクロブロック数のカウントを実行する。そして、SAD 値蓄積制御部 303 の要求に応じて SAD 値の総和並びに対象のマクロブロック数のデータを SAD 平均値算出１部 306 に出力する。
区分１の SAD 平均値算出部 306 は、区分１の SAD 値蓄積部 305 より入力された SAD 値の総和の演算、及びマクロブロック数のデータから SAD の平均値を算出し、算出した平均値のデータを区分１の符号量予測値さんしゅつ部 307 に出力する。
区分１の符号量予測値算出部 307 は、区分１の SAD 平均値算出部 306 より入力された SAD の平均値のデータを保持し、量子化値決定部 304 の要求に応じて、SAD の平均値のデータと量子化値決定部 304 から入手した推測量子化値のデータ並びに SAD 値／符号量対応テーブル 311 からの情報に基づいて符号量予測値のデータと対象マクロブロック数のデータを比重加算部 312 に出力する。
区分２の SAD 値蓄積部 308 、区分２の SAD 平均値算出部 309 と区分２の符号量予測値算出部 310 は、区分１の SAD 値蓄積部 305 、区分１の SAD 平均値算出部 306 、区分１の符号量予測値算出部 307 それぞれと同様の動作を区分２のデータに対して実行する。
【００２０】
SAD 値／符号量対応テーブル 311 は、量子化値決定部 304 より入力された量子化値のデータに基づき、SAD 値から発生符号量を予測するための情報を、区分１の符号量予測値算出部 307 と区分２の符号量予測値算出部 310 に出力する。
比重加算部 312 は、区分１の符号量予測値算出部 307 と区分２の符号量予測値算出部 310 より入力されたそれぞれの発生符号量予測値のデータと、マクロブロック数のデータから比重加算を行い、比重加算された発生符号量予測値のデータを量子化値決定部 304 に出力する。
量子化値決定部 304 は、SAD 値蓄積制御部 303 より量子化値決定コマンドが入力された時に動作を開始し、推測量子化値を定める。そして、量子化値決定部 304 は、区分１の符号量予測値算出部 307部 、区分２の符号量予測値算出部 310 、SAD 値／符号量対応テーブル 311 それぞれに、定めた推測量子化値を出力すると、同時に、実行要求を出力する。
【００２１】
即ち、量子化値決定部 304 は、発生符号量予測部 208 の外部より入力されるビットレートを示すデータ 319 及び符号量を示すデータ 216 から、対象領域の発生符号量を決定し、比重加算部 312 から入手する発生符号量予測値のデータとの比較により、対象領域の平均量子化値を決定する。決定された量子化値 217 は、発生符号量予測部 208 の外部（図２参照）に出力される。
なお、図２及び図３において、マクロブロック数示すデータ 215 、しきい値のデータ 209 、及びビットレートを示すデータ 210 は、ディップスイッチでデータを保持しても良いし、LSI のレジスタ内に保持しても良い。
【００２２】
図４によって、発生符号量予測にて説明した区分１と区分２についてさらに説明する。図４は、本発明の一実施例のマクロブロック単位での SAD 値と発生符号量予測値の関係を示す図である。横軸が SAD 値、縦軸が発生符号量予測値である。また、量子化値は固定である。
図４の SAD 値に対する発生符号量予測値は、図１で示した分布から、区分１と区分２の２つの一次式となるように、直線近似を行った結果である。401 は特定の SAD 値、402-1 と 402-2 は近似式を示す直線である。
即ち、図４の実施例における発生符号量予測値は、特定の SAD 値 401 にて折れ曲がりを持つ直線にて近似を行う。本実施例では、折れ曲がり点の数を１点としている。このため、SAD 値 401 を境界として、SAD 値 401 より SAD 値が小さい領域を、直線 402-1 で近似し、その領域を区分１としている。また、SAD 値 401 を境界として、SAD 値 401 より SAD 値が大きい領域を、直線 402-2 で近似し、その領域を区分２としている。なお、図２及び図３における閾値のデータ 209 が、SAD 値 401 のデータに相当する。式（４）は、SAD 値に対する発生符号量予測値（ bits ）について、図４のように２つの一次式（直線 402-1 及び直線 402-2 ））で近似した場合の一実施例である。
【００２３】
図４及び式（４）は、発生符号量予測値と SAD 値の関係をプロットした図１に示す分布のデータから、例えば、最小二乗法近似を行い、１次関数にて近似したものである。この場合、発生符号量予測値（ bits ）と SAD には、定数 b0 、b1 、c0 、及び c1 を用いている。定数 b0 と b1 は、それぞれの直線の傾きで、定数 c0 と c1 は、それぞれの直線のＹ切片である。ここで、N は全てのマクロブロックの数、M は区分１内の SAD 値を有するマクロブロックの数、N−M は区分２内の SAD 値を有するマクロブロックの数、i は、0 〜 N−1 のいずれかのマクロブロックの SAD 値である（ M 、及び N は自然数、0＜i＜N 、及び 0＜i＜M ）。
【００２４】
【数４】
2010124054.tif 000006
【００２５】
図５によって、発生符号量予測にて説明した区分１と区分２についてさらに説明する。図５は、本発明の一実施例で、量子化値をパラメータとした、マクロブロック単位での SAD 値と発生符号量予測値の関係を示す図である。横軸が SAD 値、縦軸が発生符号量予測値である。501 は特定の SAD 値（即ち、閾値）、502-1 及び 502-2 は、近似式を示す直線であり、直線502-1 は、区分１内（ SAD 値が閾値以下）の発生符号量予測値を算出するための一次式、直線502-2 は、区分２内（ SAD 値が閾値以上）の発生符号量予測値を算出するための一次式である。同様に、複数の異なる量子化値について、それぞれ区分１内の SAD 値によって発生符号量予測値を算出するための一次式を示す直線 503-1 、504-1、及び 505-1 、並びに、それぞれ区分２内の SAD 値によって発生符号量予測値を算出するための一次式を示す直線 503-2 、504-2、及び 505-2 を作成している。ここで、直線 502-1 と 502-2 で１つの量子化値の一次式を構成し、直線 503-1 と 503-2 、直線 504-1 と 504-2 、及び直線 505-1 と 505-2 でもそれぞれ１つの量子化値による一次式を構成している。
このように、図５の実施例では、異なる量子化値においても、区分１と区分２とに分類する特定の SAD 値（即ち、閾値）を同一としている。そのため、複数の量子化値をパラメータとして、発生符号量予測値を算出するために作成された一次式の組み合わせは、全て、同一の SAD 値で折れ曲がる複数の折れ線となる。これらの量子化値をパラメータとした、SAD 値に対応する発生符号量予測値は、テーブル化して図３の SAD 値／符号量対応テーブル 311 に格納される。また、その演算式のまま、として、図３の SAD 値／符号量対応テーブル 311 の替りに、演算処理を実行して発生符号量予測値を算出しても良い。
図５の実施例のように、量子化値の異なる複数の近似式を作成する場合に、特定の SAD 値（閾値）を同一の SAD 値に設けることによって、発生符号量予測値の算出に要する演算量が低減できる。
【００２６】
図６〜図８を用いて、本発明の発生符号化量予測部の一実施例の処理動作を説明する。図６は、本発明の一実施例の SAD 値の総和を演算する処理動作を説明するためのフローチャートである。図７は、本発明の一実施例の推定量子化値を定めたときの発生符号量予測処理動作を説明するためのフローチャートである。図８は、本発明の一実施例の平均量子化値の決定処理動作を説明するためのフローチャートである。図６〜図８の処理は、図３の発生符号化量予測部 208 が実行する。
【００２７】
図６を用いて、まず、SAD 値の総和を演算する処理動作について説明する。
最初に、ステップ 601 では、区分１の SAD 値蓄積メモリとマクロブロック（ MB ）数カウンタを初期化し、ステップ 602 では、区分２の SAD 値蓄積メモリとマクロブロック（ MB ）数カウンタを初期化する。なお、ステップ 601 とステップ 602 の処理の順番は、逆でも良いし、同時でも良い。
続いて、対象領域の MB を１つ選択し（ステップ 603 ）、選択した MB の SAD 値を読み込む（ステップ 604 ）。
続いて、ステップ 605 では、選択された MB の SAD 値と、設定された閾値との比較を行う。選択された MB の SAD 値が閾値未満の場合には、区分１を選択しステップ 606 の処理に移行する。閾値以上の場合には、区分２を選択しステップ 610 の処理に移行する。なお、この実施例では、閾値未満と以上とで、選択された MB の SAD 値を区分１か区分２かに選択したが、閾値以下を区分１とし、閾値超を区分２にしても良い。
【００２８】
ステップ 606 〜 609 では、区分１の MB 数カウンタを１増加し（ステップ 606 ）、区分１の SAD 値蓄積メモリより総和値を読み込む（ステップ 607 ）。そして、総和値に選択した MB の SAD 値を加算し（ステップ 608 ）、結果を区分１のメモリに書き込みステップ 614 の処理に移行する（ステップ 609 ）。
ステップ 610 〜 613 では、区分２の MB 数カウンタを１増加し（ステップ 610 ）、区分２の SAD 値蓄積メモリより総和値を読み込む（ステップ 611 ）。そして、総和値に選択した MB の SAD 値を加算し（ステップ 612 ）、結果を区分１のメモリに書き込みステップ 614 の処理に移行する（ステップ 613 ）。
ステップ 614 では、対象領域の処理の終了判定を行い、終了していない場合は、ステップ 603 に戻り、再度別の MB を選択し、ステップ 614 までの処理を繰り返す。また、対象領域の処理が終了したと判定した場合には、図６の処理を終了する。
【００２９】
次に、図７を用いて、推定量子化値を定めたときの発生符号量予測処理動作を説明する。まず、推定量子化値を選択し（ステップ 701 ）、区分１の SAD 値の総和と区分１のマクロブロック数のデータにより SAD の平均値を算出する（ステップ 702 ）。続いて、図５で説明した一次式（若しくは、SAD 値／符号量対応テーブル）を使用して、区分１の発生符号量予測値を算出する（ステップ 703 ）。さらに、区分２の SAD 値の総和と区分２のマクロブロック数のデータとより SAD の平均値を算出する（ステップ 704 ）。続いて、図５で説明した一次式（若しくは、SAD 値／符号量対応テーブル）を使用して、区分２の発生符号量予測値を算出する（ステップ 705 ）。最後に、区分１の発生符号量予測値と区分２の発生符号量予測値を、それぞれの区分のマクロブロック数を用いて加重平均をして、発生符号量予測値とする（ステップ 706 ）。
なお、ステップ 702 〜 703 の処理とステップ 704 〜 705 の処理の順番は、逆であっても良いし、同時に実行しても良い。
【００３０】
最後に、図８を用いて平均量子化値を決定する処理動作について説明する。
まず、ステップ 600 では、図６で説明した SAD 値の総和処理を実行する。
引き続いて、ステップ 700 では、図７で説明した推定量子化値を定めたときの発生符号量予測処理を実行する。
ステップ 801 では、上記ステップ 600 と 700 の処理の結果得られた発生符号量予測値と量子化値を保持する。そして、ステップ 802 では、実行すべき量子化値を満たしたかの判定を行い、満たしていない場合は、推定量子化値を定めたときの発生符号量予測処理（ステップ 700 ）に戻る。また、満たしている場合は、ステップ 803 の処理に移行する。そして、ステップ 803 では、量子化値を出力し、平均量子化値の決定処理を終了する。
【００３１】
なお、図６〜図８実施例では、SAD 値を用いて発生符号量を予測したが、SAD 値である必要はない。例えば、各画素の差分値をアダマール変換した後に絶対値和をとった値でも良いし、アダマール変換に替わり DCT 変換（離散コサイン変換）を適用しても良い。
また、SAD 値と発生符号量予測値の関係で折れ曲がり点は１点としたが、２点以上であっても良い。
［実施例２］
【００３２】
実施例１では、本発明の動画像符号化処理を、ハードウェアにて実装した場合を示したが、実施例２では、プロセッサに実装した例について説明する。
実施例１で説明した、閾値制御部 301 、SAD 値比較部 302 、SAD 値蓄積制御部 303 、区分１の SAD 値蓄積部 305 、区分１の SAD 平均値算出部 306 、区分１の符号量予測値算出部 307 、区分２の SAD 値蓄積部 308 、区分２の SAD 平均値算出部 309 、区分２の符号量予測値算出部 310 、SAD 値／符号量対応テーブル 311 、比重加算部 312 、及び量子化値決定部 304 の処理を、本実施例２では、発生符号化量予測部内のプロセッサが、図示しないメモリ中に予め格納されたプログラムを実行することによって達成される。また、プログラム実行中の間のデータについても、図示しないメモリなどを用いて一時的に保存される。
【００３３】
図９を用いて、プロセッサに実装した際のデータのフローに関して説明する。図９は、本発明の一実施例のデータフローを示す図である。図９の処理は、特に断らない限り、発生符号化量予測部が実行する。901 は予測処理のプロセス、902 は SAD 値比較処理のプロセス、903 は区分１と区分２の SAD 値蓄積制御処理のプロセス、904 は区分１の SAD 平均値算出処理のプロセス、905 は区分２の SAD 平均値算出処理のプロセス、906 は区分１の符号量予測値算出処理のプロセス、907 は区分２の符号量予測値算出処理のプロセス、908 は比重加算処理のプロセス、909 は量子化値決定処理のプロセス、910 は量子化処理のプロセス、911 は可変長符号化処理のプロセス、912 〜 926 はメモリである。
【００３４】
図９において、まず、SAD 値の総和の演算時のデータフローを説明する。
予測処理のプロセス 901 では、予測部（図２参照）が出力する SAD 値のデータをメモリ 912 に書き込む。
次に、SAD 値比較処理のプロセス 902 では、メモリ 912 の SAD 値のデータとメモリ 913 の閾値のデータを読み出し、SAD 値が閾値未満であるか閾値以上であるかを判定し、判定結果を SAD 値比較結果メモリ 914 に書き込む。即ち、プロセス 902 では、メモリ 912 に書き込まれた SAD 値のデータが、区分１内のデータか区分２内のデータかに分類する判定を行う。
SAD 蓄積制御処理のプロセス 903 は、メモリ 912 に書き込まれた SAD 値のデータとメモリ 914 に書き込まれた SAD 値の比較結果を読み出し、当該データが区分１のデータであれば、区分１の SAD 値メモリ 915 を選択し、区分２のデータであれば、区分２の SAD 値メモリ 916 を選択して、データの内容を読み出し、SAD 値を加算後、書き戻す。同時に、区分１と区分２の MB 数 を格納するメモリ 923 からデータを読み込み、比較結果に基づいて、該当するどちらかの区分の MB 数を１増加後、書き戻す。なお、比較結果に基づいて、メモリ 923 内のどちらかの MB 数のデータを読み込み、１増加後格納しても良い。
プロセッサ上では上記プロセスが、必要なマクロブロック数と同数回、実行される。
【００３５】
SAD 値の総和の演算が終了後、量子化値の決定処理を行う。そのデータフローは以下の通りである。
SAD 平均値算出処理プロセス 904 では、区分１の SAD 値メモリ 915 のデータ内容と、メモリ 923 のデータである区分１と区分２の MB 数を読み込み、平均値を算出し、メモリ 917 に SAD 平均値を書き込む。
同様に、SAD 平均値算出プロセス 905 では、区分２の SAD 値メモリ 916 のデータ内容と、メモリ 923 のデータである区分１と区分２の MB 数を読み込み、平均値を算出し、メモリ 918 に SAD 平均値を書き込む。
【００３６】
区分１の符号量予測値算出処理のプロセス 906 では、メモリ 917 内の SAD 平均値のデータと、メモリ 919 内の推定量子化値のデータとに基づいて、メモリ 920 の SAD 値／符号量対応テーブルから、区分１における発生符号量として、区分１の発生符号量予測値メモリ 921 に書き込む。同様に、区分２の符号量予測値算出処理のプロセス 907では、メモリ 918 内の SAD 平均値のデータと、メモリ 919 内の推定量子化値とに基づいて、メモリ 920 の SAD 値／符号量対応テーブルから、区分２における発生符号量として、区分２の発生符号量予測値メモリ 922 に書き込む。
【００３７】
比重加算処理プロセス 908 では、メモリ 921 内の区分１の発生符号量予測値のデータと、メモリ 922 内の区分２の発生符号量予測値のデータと、メモリ 923 内の区分１と区分２の MB 数のデータを読み出し、区分１と区分２の MB 数のデータに基づいて、区分１の発生符号量予測値のデータと区分２の発生符号量予測値のデータとの比重加算を行い、比重加算された発生符号量予測値のデータを発生符号量予測値のメモリ 924 に書き込む。
量子化値決定処理プロセス 909 では、メモリ 919 内の推定量子化値のデータと、メモリ 924 内の発生符号量予測値のデータと、メモリ 926 内の発生符号量実測値のデータとを読み出し、量子化値を決定し、決定した量子化値のデータをメモリ 925 に書き込む。
【００３８】
メモリ 925 に書き込まれた量子化値は、量子化処理のプロセス 910 で読み出され、使用される。
その後、可変長符号化処理プロセス 911 では、可変長符号化部（図２参照）が、可変長符号化を行って、データを動画像符号化装置から出力する。
本実施例における処理動作のフローは、実施例１と同じとなる。
【００３９】
なお、本実施例では全ての実行をプロセッサ上で行ったが、一部はプロセッサ以外のハードウェアでも良い。また、実行は複数のプロセッサに分けられても良い。また、データは同一のメモリモジュール上に配置してあるが、異なるメモリモジュールに配置しても良い。
【００４０】
以上、本発明の内容をまとめると、請求項１〜請求項１０の如く、
（１）本発明の動画像符号化方法は、入力画像信号に対して参照画像及び参照画像と該入力画像との間の差分を用いて符号化を行う動画像符号化方法において、評価値を用いて発生符号量の予測を行い、発生符号量を制御する動画像符号化方法であって、前記評価値を複数の区分に分け、該複数の区分毎に前記評価値に基づいて発生符号量の予測値を演算する演算式を設け、前記演算式を、前記複数の区分毎に前記評価値の一次式で近似するものである。
（２）上記（１）項において、好ましくは、前記評価値と前記発生符号量の予測値の関係は、量子化値によって異なる傾き並びにＹ切片を持つ複数の区分を有する一次式であって、前記異なる量子化値よって異なるそれぞれの一次式の、それぞれの区分を分ける評価値が、同一の値である。
（３）上記（１）項若しくは（２）項において、好ましくは、前記評価値は、前記入力画像と前記予測画像とをそれぞれ、１又は複数の画素ブロックに分割し、該画素ブロック毎の差分絶対値和である。
（４）上記（１）項若しくは（２）項において、好ましくは、前記評価値は、前記入力画像と前記予測画像とをそれぞれ、１又は複数の画素ブロックに分割し、該画素ブロック毎の差分値を変換し、該変換した差分値の絶対値和を取った値である。
（５）上記（４）項において、好ましくは、前記画素ブロック毎の差分値の変換は、アダマール変換である。
（６）上記（４）項において、好ましくは、前記画素ブロック毎の差分値の変換は、離散コサイン変換である。
【００４１】
（７）また、本発明の動画像符号化装置は、画像データを入力し、該画像データを所定の画素数のマクロブロックに分割するマクロブロック分割部と、前記マクロブロックに分割された画像データと加算処理部から出力されるデータの差分信号から予測画像を生成する予測処理部と、前記マクロブロックに分割された画像データと前記予測画像との差分信号を出力する差分処理部と、前記差分信号を変換し量子化する変換・量子化部と、前記変換された信号を符号化する符号化部と、前記変換された信号を逆量子化し逆変換する逆量子化・逆変換部と、前記量子化・逆直交変換部の出力と前記予測画像を加算する加算処理部とを有する動画像符号化装置において、さらに、前記予測処理部は、前記予測画像の生成時に、前記予測画像と前記マクロブロックに分割された画像データとの画素毎の差分値の絶対和を、評価値として出力し、前記評価値と、前記符号化部から出力される符号化したデータの符号量とから、前記マクロブロック分割部から出力される画像データの量子化値を算出し、害算出された量子化値に基づいて、前記変換・量子化部の量子化値を定める発生符号量予測部を有したものである。
（８）上記（７）項において、好ましくは、前記発生符号量予測部は、前記評価値に基づいて符号量予測値を算出するための対応テーブル、若しくは、演算処理部を備える。
（９）上記（８）項において、好ましくは、前記対応テーブル若しくは演算処理部は、前記評価値によって複数の区分に分割される閾値を具備し、該複数の区分それぞれについて前記評価値に基づく一次式を設け、該一次式によって、前記符号量予測値を算出する。
（１０）上記（７）項乃至（９）項のいずれかの動画像符号化装置において、好ましくは、前記変換・量子化部は、前記差分信号を、アダマール変換若しくは離散コサイン変換する。
【図面の簡単な説明】
【００４２】
【図１】マクロブロック単位での、SAD と発生符号量の関係の一例を示す図。
【図２】本発明の動画像符号化装置の一実施例の構成を示すブロック図。
【図３】本発明の動画像符号化装置の一実施例の発生符号量予測部の詳細を示すブロック図。
【図４】本発明の一実施例のマクロブロック単位での、SAD と発生符号量の関係を示す図。
【図５】本発明の一実施例のマクロブロック単位での、SAD と発生符号量の関係を示す図。
【図６】本発明の一実施例の SAD 値の総和を演算する処理動作を説明するためのフローチャート。
【図７】本発明の一実施例の推定量子化値を定めたときの発生符号量予測処理動作を説明するためのフローチャート。
【図８】本発明の一実施例の平均量子化値の決定処理動作を説明するためのフローチャート。
【図９】本発明の一実施例のデータフローを示す図。
【符号の説明】
【００４３】
201：入力画像データ、  202：予測処理部、  203：変換・量子化部、  204：可変長符号化部、  205：逆量子化・逆変換部、  206：フレームメモリ、  207：ビットストリームデータ、  208：発生符号化量予測部、  209：閾値のデータ、  210：ビットレートを示すデータ、  211：マクロブロック分割部、  212：差分処理部、  213：加算処理部、  214：SAD 値のデータ、  215：マクロブロック数を示すデータ、  216：符号量を示すデータ、  217：量子化値のデータ、  301：閾値制御部、  302：SAD 値比較部、  303：SAD 値蓄積制御部、  304：量子化値決定部、  305：区分１の SAD 値蓄積部、  306：区分１の SAD 平均値算出部、  307：区分１の符号量予測値算出部、  308：区分２の SAD 値蓄積部、  309：区分２の SAD 平均値算出部、  310：区分２の符号量予測値算出部、  311：SAD 値／符号量対応テーブル、  312：比重加算部、  401：特定の SAD 値、  402-1、402-2：近似式を示す直線、  501：特定の SAD 値、  502-1、502-2、503-1、503-2、504-1、504-2、505-1、505-2：近似式を示す直線、  901：予測処理のプロセス、  902：SAD 値比較処理のプロセス、  903：SAD 値蓄積制御処理のプロセス、  904、905：SAD 平均値算出処理のプロセス、  906、907：符号量予測値算出処理のプロセス、  908：比重加算処理のプロセス、  909：量子化値決定処理のプロセス、  910：量子化処理のプロセス、  911：可変長符号化処理のプロセス、  912〜926：メモリ。
【図１】
2010124054.tif 000007
【図２】
2010124054.tif 000008
【図３】
2010124054.tif 000009
【図４】
2010124054.tif 000010
【図５】
2010124054.tif 000011
【図６】
2010124054.tif 000012
【図７】
2010124054.tif 000013
【図８】
2010124054.tif 000014
【図９】
2010124054.tif 000015