予測差分もしくは原画像に対して周波数変換を行う周波数変換部と、該周波数変換部が出力する変換係数に対して量子化を行う量子化部と、該変換係数に対して補正を行う変換係数補正部と、該補正された変換係数に対し符号の発生確率に応じた符号化を施す可変長符号化部とを有し、該変換係数補正部は、該補正に用いる値として複数の候補を生成し、該複数の候補の中から可変長符号化の効率が最も高くなる1つの値を探索し、該1つの値を補正値として量子化前もしくは量子化後の前記変換係数に対して補正を行い、前記可変長符号化部は、該補正された前記変換係数に符号化を施して、符号化ストリームとして出力することを特徴とする画像符号化装置。前記変換係数補正部は、前記複数の候補を、遺伝的アルゴリズム若しくは勾配法によって動的に生成することを特徴とする請求項2記載の画像符号化装置。前記変換係数補正部は、前記補正値を探索する際に、補正された前記変換係数を可変長符号化した場合の符号量と、該補正された前記変換係数を用いて画像を復号した場合の歪み量とを、パラメータとしてコスト計算を行うことを特徴とする請求項2記載の画像符号化装置。前記変換係数補正部は、最適な補正値を探索する際に、補正された前記変換係数を可変長符号化した場合の符号量と、補正された前記変換係数を逆量子化した時の歪み量をパラメータとしてコスト計算を行うことを特徴とする請求項2記載の画像符号化装置。前記変換係数補正部は、最適な補正値を探索する際に、補正された前記変換係数を可変長符号化した場合の符号量と、補正値の大きさをパラメータとしてコスト計算を行うことを特徴とする請求項2記載の画像符号化装置。しかしながら、従来の予測と変換を基本とするハイブリッド画像符号化では、可変長符号化の性能がDCT係数の分布に大きく依存し、符号化性能を大きく左右する。予測差分情報が大きいため切り捨てた場合、高周波成分だけを対象にした係数補正しか行わない。そのため高周波成分に電力が集中した場合に十分に対処できず、場合によっては著しく符号化効率が低下するという問題があった。一方で、符号量と画質のトレードオフを適正に評価することができれば、高周波成分だけでなく、低~中程度の周波数成分に対しても係数操作を行うことにより、符号化効率の向上を見込むことができる。本発明では、上記DCT係数の補正を適正に行うことにより、符号化効率を向上させた動画像符号化装置等を提供することを目的とする。本発明に係る動画像符号化装置あるいは方法は、予測差分もしくは原画像に対して周波数変換を行う周波数変換部と、該周波数変換部が出力する変換係数に対して量子化を行う量子化部と、該変換係数に対して補正を行う変換係数補正部と、該補正された変換係数に対し符号の発生確率に応じた符号化を施す可変長符号化部とを有し、該変換係数補正部は、該補正に用いる値として複数の候補を生成し、該複数の候補の中から可変長符号化の効率が最も高くなる1つの値を探索し、該1つの値を補正値として量子化前もしくは量子化後の前記変換係数に対して補正を行い、前記可変長符号化部は、該補正された前記変換係数に符号化を施して、符号化ストリームとして出力することを特徴とする。上記補正値には、もしそれが最適であれば、何も補正しない補正値も含まれうる。また、前記変換係数補正部は、前記複数の候補を、遺伝的アルゴリズム若しくは勾配法によって動的に生成することを特徴とする。また、前記変換係数補正部は、前記補正値を探索する際に、補正された前記変換係数を可変長符号化した場合の符号量と、該補正された前記変換係数を用いて画像を復号した場合の歪み量とを、パラメータとしてコスト計算を行う。或いは、前記変換係数補正部は、最適な補正値を探索する際に、補正された前記変換係数を可変長符号化した場合の符号量と、補正された前記変換係数を逆量子化した時の歪み量をパラメータとしてコスト計算を行うことを特徴とする請求項2記載の画像符号化装置。或いは、変換係数補正部は、最適な補正値を探索する際に、補正された前記変換係数を可変長符号化した場合の符号量と、補正値の大きさをパラメータとしてコスト計算を行う。本発明によれば、DCT係数の適切な補正により、少ない符号量で高画質の復号画像を得ることができる。以下、本発明の実施例に係る動画像符号化装置を、図面を参照して説明する。本例の動画像符号化装置は、H264AVC等のハイブリッド符号化方式に基づいて符号化を行うものであり、最初に、H264AVC符号化について概説する。MPEG4やH264AVCなどのハイブリッド符号化方式では、符号化処理が完了した画像情報を利用して符号化対象画像を予測し、原画像との予測差分を符号化することによって、動画像の持つ冗長性を減らして符号量を削減している。ここでは、動画像の局所的性質を利用したきめ細かな予測を実現するために、画像を細かく分割したブロック単位で予測が行われる。上記予測差分は、周波数変換手法の一つであるDCTにより周波数成分変換係数に分解され、その係数値が符号化される。以下、上記の規格に合わせてDCTを周波数変換方式として用いた場合について説明する。図5は、予測差分がDCTにより周波数成分に分解される様子について概念的に示している。DCTは、基底信号603の係数値による加重和によって入力信号を表現する周波数変換の一手法であり、予測差分601に対してDCTを適用することによりその係数値602が低周波成分に偏る性質を利用して、係数値を効率的に符号化している。図6に、各ブロックに対する予測差分信号の符号化手順について示す。まず対象ブロックの予測差分601に対してDCTを施し、取得されたDCT係数602に対して量子化を行う。続いて、量子化後のDCT係数603に対し、低周波成分から高周波成分に向かって2次元的なジグザグ方向のスキャン604を行って係数値を一次元展開し、取得された1次元データに対して可変長符号化605を施して符号語を生成する。図7は、本発明の実施形態において、DCT係数に対して補正を行って符号化効率を高める方法の概念図である。ここでは、例として量子化後のDCT係数に対して補正を行う方法について示している。まず、量子化済みDCT係数603に対する補正値の候補702を複数用意し、これらの中から符号化効率を最も高められる最適解703を決定するための補正係数探索を行う。次に、得られた補正係数703を量子化済みDCT係数603に足し合わせることによりDCT係数の補正を行い、補正済みDCT係数704を取得する。以後、この補正済みDCT係数に対して通常の符号化処理1次元展開、VLCを行い、符号語を生成する。補正係数としては、量子化済みDCT係数に現れる大きさが2や1の要素1つを1や0に置き換えるようなものを用いれば符号量の低下が十分期待でき、複数の非ゼロの要素を有するものを多数試行することで量子化による欠損を補って歪を小さくするような補正係数が見つかる可能性もある。図8は、本発明の実施形態における、補正係数探索処理の概念図である。まず、補正係数の候補801の中から一つを選び802、量子化済みDCT係数603に足し合わせて、補正係数候補で補正したDCT係数804を生成する。続いて、これに対して逆量子化および逆DCTを施し、補正後係数候補を用いた予測差分の復号値805を取得する。これと符号化前の予測差分806を比較807し、それらの差分値として表される誤差808を計算する。誤差としては、例えば以下に示すブロック内各画素値の絶対値誤差和SADumofAbsoluteDifferenceや二乗誤差和SSDumofSquaredDifferenceを用いると効果的である。ここで、pは座標における予測差分806の値を、qは座標における予測差分の復号値805の値を示している。一方、補正後係数候補804に対して一次元展開を行い、VLCを施して符号量810を計測する。最後に、計測した誤差808と符号量810をもとにコスト計算を行う。例えば、以下に示すコスト値を利用すると効果的である。ただし、DistはSADやSSDなどの誤差値、Rateは符号量、Weight1は重み係数を表す。ここで、Weight1の値を調整することにより、画質と符号量のトレードオフを制御することができる。例えば画質を多少劣化させても符号量を大幅に低下させたければ、コスト値に対する符号量の寄与率が大きくなるようにWeigh1の値を高めに設定すればよい。または、画質歪みと符号量の統計的性質から誤差と符号量のトレードオフについて適正に評価するため、非特許文献1に記載されているRDOptimization方式を利用してコスト計算してもよい。以上の処理を補正係数の候補すべてに対して実施し、その結果コスト値を最小にする候補を最適な補正係数として決定する。なお、補正係数候補の生成や選出の仕方により、いくつかの補正係数探索処理が考えられる。図9~図11を参照して、3種類の方法に分けて説明する。図9は、補正係数候補の決定過程の一例を示す図である。例えば4×4サイズのブロック単位でDCTを施す場合、DCT係数901も4×4サイズの行列となる。この場合、補正係数も4×4サイズの行列として計算する。簡単のため、補正係数行列の各要素が取り得る値を±1101の3種類に限定すると、902に示す通りの候補が存在する。この中からコスト値を最小とする補正係数行列903を決定し、補正を行う904。しかし、この例では、通りの候補すべてに対してコスト計算を行う必要があるため、莫大な計算量が必要となる。さらに、現実には補正係数行列の各要素が取り得る値の範囲は上記の例よりもさらに広く、補正係数探索のための計算量は、各要素が取り得る値の数に対して指数関数的に増大する。そのため、図9のようにすべての候補に対してコスト計算を行うことは現実的ではない。そこで、効率的な探索アルゴリズムを利用することにより、探索精度の低下を抑えつつ計算量を大幅に削減する方法について、以下に述べる。図10は、遺伝的アルゴリズムを応用した補正係数行列の決定方法の模式図である。遺伝的アルゴリズムは、データ列を遺伝子として見立てた複数の個体に対し、選択、交叉、突然変異などの遺伝子操作を繰り返すことにより、適応度の高い個体が選択淘汰されていく自然界の様子を模した探索アルゴリズムである。ここでは、個体として補正係数行列の候補を、適応度としてコスト値の逆数を設定している。例えば、第n世代として1001に示す6種類の個体が選ばれているとする。ここで、次世代の個体集合を決定するために、遺伝子操作を行う。まず、適応度に応じて現世代の個体を次世代に残す選択処理により、例えば適応度の最も高い2つの個体A1002およびB1003が残る。続いて、2種類の異なる個体に対して、一部のデータ列を入れ替える交叉処理では、例えば個体Cの第2行および第3行を個体Dと入れ替えた1004と、個体Aの第2列および第4列を個体Cと入れ替えた1005を生成する。この場合、交叉を行う個体は無作為に選択してもよいが、各個体の選択確率がその適応度に応じて偏った分布になるように抽出するとより効果的である。また、どの行もしくは列のデータを入れ替えるかについても、無作為に決定すると効果的である。続いて、個体のデータ列の一部が突発的に別の値に変化する突然変異処理では、例えば個体Aの第23成分と44成分の値が変化した1006を生成する。この場合も、突然変異を起こす個体と、データ列のどの値を変化させるかについては、無作為もしくは適応度に応じて決定すると良い。なお、交叉と突然変異を組み合わせて1007のような個体を生成するのも効果的である。以上のように、第n世代の個体に対して遺伝子操作を行って生成される第n1世代の個体1008を各個体の適応度によって整列すると、全体的に第n世代よりも適応度が上昇していることがわかる。この処理を、適応度が十分大きくなるか収束するまで繰り返し、最終的に最も適応度の高い個体が最適解となる。図11は、勾配法を応用した補正係数行列の決定方法の模式図である。ここでは、局所的なコスト分布の傾きに応じて解の推定値を繰り返し更新する。すなわち、現時点での推定値に対して、局所的な周辺探索を行い、コスト関数を最小化する方向に推定値を更新していく。例えば、第n回目の試行後によって補正係数行列1101が最適解として推定されているとする。第n1回目の試行では、任意の成分、例えば第11成分の値を変化させた補正係数行列1102~1104を用いてコスト値を計算し、その結果補正係数行列1104のコストが最も小さかった場合、これを第n1番目の推定結果とする。この処理を、変化させる成分を変えながらコスト値が十分小さくなるか収束するまで繰り返す。なお、この方法は局所解に陥りやすいため、初期推定値を変化させて何度か上記探索処理を行い、得られた複数解の中からコストを最小化するものを最終的に選択すると効果的である。これらの全試行に拠らない方法においても、同時に封数の補正係数候補が挙がることがある。ハードウェアに実装する際は、複数の候補について並列処理できるようにしてもよい。図12は、補正係数の値域について、その一例を示している。補正係数の値は量子化パラメータによって変化するが、例えば1201に示すように補正係数行列のすべての要素について±10109...0...910の範囲で変化させると効果的である。また、DCT係数の低周波成分に対して強い補正を行うと画質に大きく影響するため、あまり大きな値で補正を行うことは望ましくない。そのため、1202に示すように、周波数成分によって補正係数の値の範囲に差を設けると効果的である。図1は、実施例1に係る動画像符号化装置のブロック図である。本例の動画像符号化装置は、入力された原画像101を保持する入力画像メモリ102と、入力画像を小領域に分割するブロック分割部103と、ブロック単位で過去のフレームからの動き量を探索する動き探索部104と、ブロック単位で画面内予測を行う画面内予測部105と、動き探索部104にて検出された動き量をもとにブロック単位で画面間予測を行う画面間予測部106と、画像の性質に合った予測モード予測手段およびブロックサイズを決定するモード選択部107と、予測差分を生成するための減算部108と、予測差分を量子化済み変換係数へ処理する周波数変換部109および量子化処理部110と、変換係数に補正を加える変換係数部111と、補正済みDCT係数等を符号の発生確率に応じて適応的符号化する可変長符号化部112と、補正済み変換係数から予測差分を復元復号化する逆量子化処理部113および逆周波数変換部114と、復元された予測差分を用いて復号化画像を生成するための加算部115と、復号化画像を保持して後の予測に活用するための参照画像メモリ116を有する。入力画像メモリ102は、原画像101映像41と同義の中から一枚の画像を符号化対象画像として保持し、これをブロック分割部103にて細かなブロックに分割し、動き探索部104、画面内予測部105、画面間予測部106、および減算部108に渡す。動き探索部104では、参照画像メモリ116に格納されている復号化済み画像を用いて該当ブロックの動き量を計算し、動きベクトルを画面間予測部106に渡す。画面内予測部105および画面間予測部106は、それぞれ、周辺ブロックの原画像を用いた画面内予測処理および符号化済みの別画像を参照した画面間予測処理を、複数のブロックサイズで実行する。モード選択部107は、両予測部において複数のブロックサイズで実行された中から、最適な予測モードを選択し、その予測画像を減算部108および加算部115に送る。減算部108は、対象ブロックの原画像と、モード選択部107で選択された予測画像との差分予測差分を生成し、周波数変換部109に渡す。周波数変換部109および量子化処理部110は、送られてきた予測差分に対して指定された大きさのブロック単位で、DCTなどによる周波数変換および量子化マトリクスによる量子化処理をそれぞれ行い、得られた変換係数あるいは量子化済み変換係数を変換係数補正部113に渡す。変換係数補正部111は、量子化済みの変換係数に対し、最適な補正値を決定して補正を行い、可変長符号化部112および逆量子化部113に渡す。可変長符号化処理部112では、補正済みの変換係数と動きベクトルなどのヘッダ情報を、記号の発生確率に基づいて符号化を行って符号化ストリームを生成する。また、逆量子化処理部113および逆周波数変換部114では、量子化後の周波数変換係数に対して、それぞれ逆量子化および逆DCTなどの逆周波数変換を施し、予測差分を取得して加算部115に送る。加算部115では、予測画像と復号化済み予測差分を加算して復号化画像を生成し、参照画像メモリ116に格納する。図2は、実施例1の変換係数補正部111について、その詳細の一例を示したものである。変換係数補正部111は、補正係数候補を生成する補正係数候補生成部201と、補正係数候補と変換係数を足し合わせるための加算器202と、変換係数に対して符号化を行う可変長符号化部203と、予測差分を復号化するための逆量子化処理部204および逆周波数変換部205と、符号化前の予測差分と復号化済み予測差分の差分値を計算するための誤差計算部206と、コスト計算を行うためのコスト評価部207と、コスト最小の補正係数候補を格納するための最適補正係数格納部208と、最適な補正係数を用いて変換係数を補正する加算部209を有する。補正係数候補生成部201は、補正係数候補を生成して1つずつ加算部202へ送る。加算部202では、取得した補正係数候補を量子化処理部110から送られてきた量子化済み変換係数と足し合わせて、可変長符号化部203および逆量子化処理部204へ送る。可変長符号化部203では、送られてきた補正後係数候補に対して符号化を行い、符号量を計測してコスト評価部207へ送る。一方で、逆量子化処理部204および逆周波数変換部205では、同じ補正後係数候補に対して逆量子化および逆周波数変換を施して予測差分を復号し、誤差計算部206へ送る。誤差計算部206では、式1、[式2]等により予測差分の復号値と符号化前の予測差分に対して誤差計算を行い、コスト評価部207へ送る。コスト評価部207では、送られてきた符号量と誤差情報を用いて[式3]等の計算式にてコスト計算を行い、それがこれまでに計算されたどの補正係数候補のコストよりも小さければ、その補正係数とコスト値を最適補正係数格納部へ送る。補正係数候補生成部201が出すすべての候補に対して上記処理を完了した時点で、最適補正係数格納部208に格納されている補正係数は加算部209へ送られ、量子化処理部110から送られてくる量子化済み変換係数と足し合わされ補正済み変換係数として可変長符号化部112へと送られる。図13は、実施例1における1フレームの符号化処理手順について示している。まず、符号化対象となるフレーム内に存在するすべてのブロックに対して1301、以下の処理を行う。すなわち、該当ブロックに対して一度すべての符号化モードに対して予測処理を実行し、予測差分を計算する。ここでは、予測方法として、画面内予測1302、および画面間予測1303を実施し、すべての符号化モードの中から最適なモードを選択するモード選択処理1304を行う。続いて、選択された符号化モードの予測差分に対して、周波数変換処理1305および量子化処理1306を施して量子化済み変換係数を算出する。続いて、変換係数を補正するための補正係数を決定するための補正係数探索処理を行う1307。すなわち、補正係数の候補を1つ算出し1308、量子化済み変換係数と足し合わせて補正後係数候補を生成する1309。さらに、補正後係数候補に対して可変長符号化を施して符号量を計算する一方1310、同じ補正後係数候補に対して逆量子化および逆周波数変換を施して予測誤差の復号値を取得する1311。これと予測差分との誤差を計算し1312、上記符号量と誤差情報を用いてコスト計算を行う1313。さらに、算出されたコスト値がこれまでで最小なら1314、補正係数とコスト値を更新する1315。上記処理をすべての補正係数候補に対して行い、コストが最小となる係数を最適な補正係数とする。続いて、上記最適補正係数で変換係数を補正し1316、可変長符号化処理1317を施して符号化ストリームを生成する。一方で、補正済み変換係数に対して逆量子化処理1318と逆周波数変換処理1319を施して予測差分を復号化し、復号化画像を生成して参照画像メモリに格納する1320。以上の処理をすべてのブロックに対して完了すれば、画像1フレーム分の符号化は終了する1321。なお、ループ21307の終了条件として、コスト値が所定値以下になること、試行回数が上限に達すること、などを含めてもよく、試行回数の上限は、入力画像102メモリに溜まった処理待ち画像の量に応じて設定することができる。またループ2において、また1310で得られる可変長符号化の符号量が、試行済みの補正後係数候補の符号量或いは補正係数を用いないときの符号量を超えた時点で、現在の補正係数候補を諦め次の候補を試行するようにしてもよい。後述の実施例2以降では、本フローチャートのうちで補正係数を決定する補正係数探索処理のみ異なるため、ループ21307のみ示しその他の動作は図13と同様とする。実施例2に係る補正係数探索処理は、実施例1に対し、画質の劣化を周波数領域で評価するように変更し、計算量を削減したものである。なお、実施例2以降では、実施例1に対し変換係数補正部111の細部が異なる他は、実施例1と同様の構成であり、それらの部分の説明は割愛する。図14に、実施例2による補正係数探索処理について示す。まず、補正係数の候補1401の中から一つの候補1402を選び、量子化済みDCT係数603に足し合わせて補正後係数候補1404を生成する。続いて、これに対して逆量子化を施し、補正後係数候補を用いた場合のDCT係数の復号値1405を取得する。これと量子化前のDCT係数1406を比較し、それらの差分値として表される誤差1408を計算する。誤差としては、先に述べた絶対値誤差和SADや二乗誤差和SSDを利用できる。また、DCT係数については、低周波成分の誤差が画質に与える影響が大きいため、低周波成分の誤差に対する重みを大きく設定するとさらに効果的である、SADおよびSSDに対してそれぞれ重みを設定したWSAD、WSSDは以下の通りである。ただし、Pは量子化前DCT係数1406の成分を、Qは補正したDCT係数の逆量子化値1405の成分を、関数Wは、iおよびjが大きいほど値が小さくなる関数である。一方、補正後係数候補1404に対して一次元展開を行い、VLCを施して符号量1410を計測する。最後に、計測した誤差1408と符号量1410をもとにコスト計算を行う。ここでは、例えば以下に示すコスト値を利用すると効果的である。ただし、DistはSADやSSD、WSAD、WSSDなどの誤差値、Rateは符号量、Weight2は重み係数を表す。ここでも、Weight2の値を調整することにより、画質と符号量のトレードオフを制御することができる。例えば画質を多少劣化させても符号量を大幅に低下させたければ、コスト値に対する符号量の寄与率が大きくなるようにWeigh2の値を高めに設定すればよい。図3は、実施例2における変換係数補正111Aについて、その詳細の一例を示したものである。変換係数補正部111Aは、実施例1の変換係数補正部111に替えて設けられるものであり、補正係数候補を生成する補正係数候補生成部301と、補正係数候補と変換係数を足し合わせるための加算器302と、変換係数に対して符号化を行う可変長符号化部303と、変換係数を復号化するための逆量子化処理部304と、量子化前の変換係数と復号化済み変換係数の差分値を計算するための誤差計算部305と、コスト計算を行うためのコスト評価部306と、コスト最小の補正係数候補を格納するための最適補正係数格納部307と、最適な補正係数を用いて変換係数を補正する加算部308を有する。補正係数候補生成部301は、補正係数候補を生成して1つずつ加算部302へ送る。加算部302では、取得した補正係数候補を量子化処理部110から送られてきた量子化済み変換係数と足し合わせて、可変長符号化部303および逆量子化処理部304へ送る。可変長符号化部303では、送られてきた補正後係数候補に対して符号化を行い、符号量を計測してコスト評価部306へ送る。一方で、逆量子化処理部304では、同じ補正後係数候補に対して逆量子化を施して変換係数を復号し、誤差計算部305へ送る。誤差計算部305では、[式1][式2][式4][式5]等により変換係数の復号値と量子化前変換係数の誤差計算を行い、コスト評価部306へ送る。コスト評価部306では、送られてきた符号量と誤差情報を用いて[式6]等の計算式にてコスト計算を行い、これまでに計算されたどの補正係数候補のコストよりも小さければ、その補正係数とコスト値を最適補正係数格納部307へ送る。補正係数候補生成部301が出すすべての候補に対して上記処理を完了した時点で、最適補正係数格納部307に格納されている補正係数は加算部308へと送られ、量子化処理部110から送られてくる量子化済み変換係数と足し合わされて補正済み変換係数として可変長符号化部112へと送られる。図15は、実施例2における補正係数の決定処理手順について説明している。まず、補正係数の候補を1つ算出し1501、量子化済み変換係数と足し合わせて補正後係数候補を生成する1502。さらに、補正後係数候補に対して可変長符号化を施して符号量を計算する一方1503、同じ補正後係数候補に対して逆量子化を施して変換係数の復号値を取得する1504。これと量子化前変換係数との誤差を計算し1505、上記符号量と誤差情報を用いてコスト計算を行う1506。さらに、算出されたコスト値がこれまでで最小なら1507、補正係数とコスト値を更新する1508。上記処理をすべての補正係数候補に対して終了すれば、コストが最小となる係数を最適な補正係数として補正係数の決定処理を終了する。実施例2による補正係数探索処理でもなお、補正係数候補のそれぞれについて補正処理、逆量子化、可変長符号化を行う必要があった。本実施例3では、さらに逆量子化を行うことなく探索処理を可能にする方法について示す。図16に、実施例3による補正係数探索処理について示す。まず、補正係数の候補1601の中から一つを選び1602、量子化済みDCT係数603に足し合わせて補正後係数候補1604を生成する。続いて、補正係数候補1602の大きさを計算する1605。補正係数候補の大きさとしては、補正係数行列の各要素の絶対値和SAEumofAbsoluteElementや、低周波数成分に大きな重みを設定した重みつき絶対値和WSAEを利用すると効果的である。ただし、sは補正係数候補1602の成分を、関数Wは、iおよびjが大きいほど値が小さくなる関数であるとする。一方、補正後係数候補1404に対して一次元展開を行い、VLCを施して符号量1607を計測する。最後に、計測した補正係数の大きさ1605と符号量1607をもとにコスト計算を行う。ここでは、例えば以下に示すコスト値を利用すると効果的である。ただし、DistはSAEやWSAEなどの補正係数候補の大きさ、Rateは符号量、Weight3は重み係数を表す。ここでも、Weight3の値を調整することにより、画質と符号量のトレードオフを制御することができる。例えば画質を多少劣化させても符号量を大幅に低下させたければ、コスト値に対する符号量の寄与率が大きくなるようにWeigh3の値を高めに設定すればよい。図4は、本実施例3における変換係数補正部111Bについて、その詳細の一例を示したものである。変換係数補正部111Bは、補正係数候補を生成する補正係数候補生成部401と、補正係数候補の大きさを計算するための補正係数加算器402と、補正係数候補と変換係数を足し合わせるための加算器403と、変換係数に対して符号化を行う可変長符号化部404と、コスト計算を行うためのコスト評価部405と、コスト最小の補正係数候補を格納するための最適補正係数格納部406と、最適な補正係数を用いて変換係数を補正する加算部407を有する。補正係数候補生成部401は、補正係数候補を生成して1つずつ加算部402へ送る。加算部402では、取得した補正係数候補を量子化処理部110から送られてきた量子化済み変換係数と足し合わせて、補正係数加算部403および可変長符号化部404へ送る。補正係数加算部403では、[式7][式8]等により補正係数候補の大きさを計算し、コスト評価部407へ送る。可変長符号化部404では、補正後係数候補に対して符号化を行い、符号量を計測してコスト評価部405へ送る。コスト評価部405では、送られてきた符号量と補正係数候補の大きさを用いて[式9]等の計算式にてコスト計算を行い、これまでに計算されたどの補正係数候補のコストよりも小さければ、その補正係数とコスト値を最適補正係数格納部406へ送る。補正係数候補生成部401が出すすべての候補に対して上記処理を完了した時点で、最適補正係数格納部406に格納されている補正係数は加算部407へと送られ、量子化処理部110から送られてくる量子化済み変換係数と足し合わされて補正済み変換係数として可変長符号化部112へと送られる。図17は、実施例3における補正係数の決定処理手順について説明している。まず、補正係数の候補を1つ算出し1701、量子化済み変換係数と足し合わせて補正後係数候補を生成する1702。さらに、補正後係数候補に対して可変長符号化を施して符号量を計算する一方1703、補正係数候補の大きさを算出する1704。続いて上記符号量と補正係数の大きさを用いてコスト計算を行う1705。算出されたコスト値がこれまでで最小なら1706、補正係数とコスト値を更新する1707。上記処理をすべての補正係数候補に対して終了すれば、コストが最小となる係数を最適な補正係数として補正係数の決定処理を終了する。上記の実施例1~3実施例で使用される重み関数Wは、どのようなものでも構わないが、以下にその一例を示す。図18は、実施例4に係る動画像符号化装置のブロック図であり、実施例1の動画像符号化装置に、第1パス符号化部141と、選択部142を追加し、明示的に2パス符号化を行う構成が示されている。第1パス符号化部141は、DCT係数の補正を行わない従来のH264符号化ストリームを出力する部分であり、ブロック分割部103~量子化処理部110及び逆量子化処理部113~参照画像メモリ116の構成を備えている。以下、ブロック分割部103~参照画像メモリ116の構成を、便宜的に第2パス符号化部と呼ぶ。本例では、第1及び第2パス符号化部はCABACが利用できる。第1パス符号化部141はまた、符号化中に決定した各種符号化パラメータ、動き情報等を、第2パス符号化部のために出力する。選択部142は、マクロブロック単位或いはそれよりも大きな単位以下、選択単位と呼ぶで、第1パス符号化部141と第2パス符号化部可変長符号化部112から入力される符号化ストリームの内、望ましい一方を選択して出力するとともに、選択されたパスの符号化結果を他方のパスの参照画像メモリにコピーするなどして、第1及び第2パスとの間で参照画像を同じに保つ制御を行う。選択部142は、コスト評価部207と同様のコスト評価部247を有しており、コスト評価部247は、入力画像メモリから読み出した原画像と、各パスの参照画像メモリなどから読み出した符号化結果の部分画像とから、各パスの歪みを計測するとともに、各パスの符号化ストリームの量を計測し、R-D最適化等の手法に基づき、どちらのパスのコストが低いかを判断する。歪は、視覚特性を考慮して計測することが望ましく、視覚的に重要でない画像領域であることが分っている場合、第2パス符号化部を一時的に停止させてもよい。次に、本例の動作を説明する。第2パス符号化部は、第1パス符号化部141よりも1ブロックから選択単位程度の時間遅れて動作し、第1パス符号化部141の符号化結果レートと歪、マクロブロックのパーティショニング、ブロックの予測モード選択などを参照しつつ、より高い効率を目指してチューニングされた符号化を行う。DCT係数の補正はチューニングの対象の1つであり、各ブロックで常に行う必要なく、第1パスにおいて選択単位中でコストが顕著に大きかった1つのブロックのみで行うようにしてもよい。また1つのブロックにおいて補正係数703を試行する回数は1回だけにしてもよく、その場合は確実に符号量或いは歪の低減が期待できる補正係数を用いることが望ましい。選択単位は一例として、レート制御におけるBasicUnitの様な、1ないし複数のマクロブロックからなる単位とすることができる。上記の実施例1~3では、どれも予測および周波数変換をブロック単位で行っているが、それ以外にも例えば画像の背景から分離したオブジェクト単位で算出しても良い。また、周波数変換の一例としてDCTを挙げているが、DST、WT、DFT、KLTなど、画素間相関除去に利用する直交変換ならどんなものでも構わない。これらの実施例では、図7のように量子化後のDCT係数に対して補正を行うものとして説明したが、図19に示すように、量子化前のDCT係数に対して補正を行っても良い。この場合、量子化前のDCT係数1801に対して補正係数探索1802を行い、得られた補正係数1803を量子化前DCT係数に足し合わせることによりDCT係数の補正を行う。補正済みDCT係数1804に対しては、通常の符号化処理を行い、符号語を生成する。また、例えばMPEG1やMPEG2のイントラ符号化のように、特に予測を行わずに原画像に対して周波数変換を施しても構わない。可変長符号化も特に行わなくて良い。