(57)【要約】【課題】入力画像に応じた適切な符号化構造の選択、前処理制御及び符号量配分を可能にすると共に、符号化バッファの制約を守った適切な符号量配分を実現して符号化画像の品質を向上させることができる動画像符号化装置及び方法を提供する。【解決手段】入力画像に対する事前解析によって決定された前処理後の画像を再度事前解析して前処理された画像に応じた符号化制御情報を生成する。そして、該符号化制御情報に基づいて前処理画像を符号化する。さらに、事前解析情報に基づいた符号量の割り当て結果から符号化バッファのバッファ占有量の推移を予測し、符号化バッファの制約に違反しないように目標符号量を調整する。【選択図】  図１
2005094458.tif 000002
【特許請求の範囲】
【請求項１】
動画像である入力画像を符号化するための動画像符号化装置であって、
複数画像から成る前記入力画像を解析して予め設定した所定の符号化単位毎に第１の特徴量を求める第１の事前解析手段と、
前記第１の特徴量に基づいて前記符号化単位毎の符号化に用いる符号化構造を決定する符号化構造設定手段と、
前記第１の特徴量に基づいて前記符号化単位毎に施す加工処理である前処理を決定する前処理制御手段と、
前記入力画像を解析する期間だけ該入力画像を遅延させる第１の遅延手段と、
前記第１の遅延手段で遅延された入力画像に前記前処理制御手段で決定した前処理を施す前処理手段と、
前記符号化構造設定手段で決定した符号化構造に基づいて前記前処理された画像を解析して前記符号化単位毎に第２の特徴量を求める第２の事前解析手段と、
前記符号化構造設定手段で決定した符号化構造、前記前処理制御手段で決定した前処理、前記第１の特徴量及び前記第２の特徴量に基づいて前記符号化単位毎の符号化に用いる目標符号量を決定する目標符号量設定手段と、
前記前処理された画像を解析する期間だけ該前処理された画像を遅延させる第２の遅延手段と、
前記符号化構造設定手段で決定した符号化構造及び前記目標符号量に基づいて前記前処理された画像を符号化する符号化手段と、
を有する動画像符号化装置。
【請求項２】
動画像である入力画像を符号化するための動画像符号化装置であって、
複数画像から成る前記入力画像を予め設定した所定の期間毎に解析して画像毎の第１の特徴量を求める第１の事前解析手段と、
前記第１の特徴量に基づいて前記画像毎の符号化に用いる符号化構造を決定する符号化構造設定手段と、
前記第１の特徴量に基づいて前記画像毎に施す加工処理である前処理を決定する前処理制御手段と、
前記入力画像を解析する期間だけ該入力画像を遅延させる第１の遅延手段と、
前記第１の遅延手段で遅延された入力画像に前記前処理制御手段で決定した前処理を施す前処理手段と、
前記符号化構造設定手段で決定した符号化構造に基づいて前記前処理された画像を前記所定の期間で解析して前記画像毎の第２の特徴量を求める第２の事前解析手段と、
前記符号化構造設定手段で決定した符号化構造、前記前処理制御手段で決定した前処理、前記第１の特徴量及び前記第２の特徴量に基づいて前記画像毎の符号化に用いる目標符号量を決定する目標符号量設定手段と、
前記前処理された画像を解析する期間だけ該前処理された画像を遅延させる第２の遅延手段と、
前記符号化構造設定手段で決定した符号化構造及び前記目標符号量に基づいて前記前処理された画像を符号化する符号化手段と、
を有する動画像符号化装置。
【請求項３】
動画像である入力画像を符号化するための動画像符号化装置であって、
複数画像から成る前記入力画像を全ての期間で解析して画像毎の第１の特徴量を求める第１の事前解析手段と、
前記第１の特徴量に基づいて前記画像毎の符号化に用いる符号化構造を決定する符号化構造設定手段と、
前記符号化構造設定手段で決定した符号化構造を蓄積する符号化構造情報蓄積手段と、
前記第１の特徴量に基づいて前記画像毎に施す加工処理である前処理を決定する前処理制御手段と、
前記前処理制御手段で決定した前処理を蓄積する前処理制御情報蓄積手段と、
前記前処理制御手段で決定した前処理を前記画像毎に施す前処理手段と、
前記符号化構造設定手段で決定した符号化構造に基づいて前記前処理された画像を全ての期間で解析して前記画像毎の第２の特徴量を求める第２の事前解析手段と、
前記符号化構造設定手段で決定した符号化構造、前記前処理制御手段で決定した前処理、前記第１の特徴量及び前記第２の特徴量に基づいて前記画像毎の符号化に用いる目標符号量を決定する目標符号量設定手段と、
前記目標符号量設定手段で決定した目標符号量を蓄積する符号化制御情報蓄積手段と、
前記符号化構造設定手段で決定した符号化構造及び前記目標符号量に基づいて前記前処理された画像を符号化する符号化手段と、
を有する動画像符号化装置。
【請求項４】
前記目標符号量設定手段は、
複数画像から成るピクチャ群の目標符号量を決定し、
該ピクチャ群の目標符号量に応じて前記ピクチャ群内の各画像の目標符号量をそれぞれ決定する請求項１または２記載の動画像符号化装置。
【請求項５】
前記目標符号量設定手段は、
前記画像毎に割り当てた前記目標符号量に基づいて、符号化後の画像データを一時的に蓄積する符号化バッファのバッファ占有量の推移を計算し、
前記符号化バッファのオーバーフロー及びアンダーフローを回避するように前記目標符号量を調整する請求項１乃至３のいずれか１項記載の動画像符号化装置。
【請求項６】
前記目標符号量設定手段は、
前記画像毎に割り当てた前記目標符号量に基づいて、符号化後の画像データを一時的に蓄積する符号化バッファのバッファ占有量の推移を計算し、
前記バッファ占有量の最大値及び最小値の振れ幅が予め設定された所定の範囲内に収まるように前記目標符号量を調整する請求項１乃至３のいずれか１項記載の動画像符号化装置。
【請求項７】
所定の処理を実行するための処理装置を備え、
前記処理装置により動画像である入力画像を符号化するための動画像符号化方法であって、
複数画像から成る前記入力画像を解析して予め設定した所定の符号化単位毎に第１の特徴量を求める第１の事前解析工程と、
前記第１の特徴量に基づいて前記符号化単位毎の符号化に用いる符号化構造を決定する符号化構造設定工程と、
前記第１の特徴量に基づいて前記符号化単位毎に施す加工処理である前処理を決定する前処理制御工程と、
前記入力画像を解析する期間だけ該入力画像を遅延させる第１の遅延工程と、
前記第１の遅延工程で遅延された入力画像に前記前処理制御工程で決定した前処理を施す前処理工程と、
前記符号化構造設定工程で決定した符号化構造に基づいて前記前処理された画像を解析して前記符号化単位毎に第２の特徴量を求める第２の事前解析工程と、
前記符号化構造設定工程で決定した符号化構造、前記前処理制御工程で決定した前処理、前記第１の特徴量及び前記第２の特徴量に基づいて前記符号化単位毎の符号化に用いる目標符号量を決定する目標符号量設定工程と、
前記前処理された画像を解析する期間だけ該前処理された画像を遅延させる第２の遅延工程と、
前記符号化構造設定工程で決定した符号化構造及び前記目標符号量に基づいて前記前処理された画像を符号化する符号化工程と、
を有する動画像符号化方法。
【請求項８】
所定の処理を実行するための処理装置を備え、
前記処理装置により動画像である入力画像を符号化するための動画像符号化方法であって、
複数画像から成る前記入力画像を予め設定した所定の期間毎に解析して画像毎の第１の特徴量を求める第１の事前解析工程と、
前記第１の特徴量に基づいて前記画像毎の符号化に用いる符号化構造を決定する符号化構造設定工程と、
前記第１の特徴量に基づいて前記画像毎に施す加工処理である前処理を決定する前処理制御工程と、
前記入力画像を解析する期間だけ該入力画像を遅延させる第１の遅延工程と、
前記第１の遅延工程で遅延された入力画像に前記前処理制御手段で決定した前処理を施す前処理工程と、
前記符号化構造設定工程で決定した符号化構造に基づいて前記前処理された画像を前記所定の期間で解析して前記画像毎の第２の特徴量を求める第２の事前解析工程と、
前記符号化構造設定工程で決定した符号化構造、前記前処理制御工程で決定した前処理、前記第１の特徴量及び前記第２の特徴量に基づいて前記画像毎の符号化に用いる目標符号量を決定する目標符号量設定工程と、
前記前処理された画像を解析する期間だけ該前処理された画像を遅延させる第２の遅延工程と、
前記符号化構造設定工程で決定した符号化構造及び前記目標符号量に基づいて前記前処理された画像を符号化する符号化工程と、
を有する動画像符号化方法。
【請求項９】
所定の処理を実行するための処理装置と、
前記処理装置の処理結果を蓄積するための記憶装置と、
を備え、
前記処理装置により動画像である入力画像を符号化するための動画像符号化方法であって、
複数画像から成る前記入力画像を全ての期間で解析して画像毎の第１の特徴量を求める第１の事前解析工程と、
前記第１の特徴量に基づいて前記画像毎の符号化に用いる符号化構造を決定する符号化構造設定工程と、
前記符号化構造設定工程で決定した符号化構造を前記記憶装置に蓄積する符号化構造情報蓄積工程と、
前記第１の特徴量に基づいて前記画像毎に施す加工処理である前処理を決定する前処理制御工程と、
前記前処理制御手段で決定した前処理を前記記憶装置に蓄積する前処理制御情報蓄積工程と、
前記前処理制御工程で決定した前処理を前記画像毎に施す前処理工程と、
前記符号化構造設定工程で決定した符号化構造に基づいて前記前処理された画像を全ての期間で解析して前記画像毎の第２の特徴量を求める第２の事前解析工程と、
前記符号化構造設定工程で決定した符号化構造、前記前処理制御工程で決定した前処理、前記第１の特徴量及び前記第２の特徴量に基づいて前記画像毎の符号化に用いる目標符号量を決定する目標符号量設定工程と、
前記目標符号量設定工程で決定した目標符号量を蓄積する符号化制御情報蓄積工程と、
前記符号化構造設定工程で決定した符号化構造及び前記目標符号量に基づいて前記前処理された画像を符号化する符号化工程と、
を有する動画像符号化方法。
【請求項１０】
前記目標符号量設定工程は、
複数画像から成るピクチャ群の目標符号量を決定し、
該ピクチャ群の目標符号量に応じて前記ピクチャ群内の各画像の目標符号量をそれぞれ決定する請求項７または８記載の動画像符号化方法。
【請求項１１】
前記目標符号量設定工程は、
前記画像毎に割り当てた前記目標符号量に基づいて、符号化後の画像データを一時的に蓄積する符号化バッファのバッファ占有量の推移を計算し、
前記符号化バッファのオーバーフロー及びアンダーフローを回避するように前記目標符号量を調整する請求項７乃至９のいずれか１項記載の動画像符号化方法。
【請求項１２】
前記目標符号量設定工程は、
前記画像毎に割り当てた前記目標符号量に基づいて、符号化後の画像データを一時的に蓄積する符号化バッファのバッファ占有量の推移を計算し、
前記バッファ占有量の最大値及び最小値の振れ幅が予め設定された所定の範囲内に収まるように前記目標符号量を調整する請求項７乃至９のいずれか１項記載の動画像符号化方法。
【請求項１３】
コンピュータに動画像である入力画像を符号化させるためのプログラムであって、
複数画像から成る前記入力画像を解析して予め設定した所定の符号化単位毎に第１の特徴量を求める第１の事前解析工程と、
前記第１の特徴量に基づいて前記符号化単位毎の符号化に用いる符号化構造を決定する符号化構造設定工程と、
前記第１の特徴量に基づいて前記符号化単位毎に施す加工処理である前処理を決定する前処理制御工程と、
前記入力画像を解析する期間だけ該入力画像を遅延させる第１の遅延工程と、
前記第１の遅延工程で遅延された入力画像に前記前処理制御工程で決定した前処理を施す前処理工程と、
前記符号化構造設定工程で決定した符号化構造に基づいて前記前処理された画像を解析して前記符号化単位毎に第２の特徴量を求める第２の事前解析工程と、
前記符号化構造設定工程で決定した符号化構造、前記前処理制御工程で決定した前処理、前記第１の特徴量及び前記第２の特徴量に基づいて前記符号化単位毎の符号化に用いる目標符号量を決定する目標符号量設定工程と、
前記前処理された画像を解析する期間だけ該前処理された画像を遅延させる第２の遅延工程と、
前記符号化構造設定工程で決定した符号化構造及び前記目標符号量に基づいて前記前処理された画像を符号化する符号化工程と、
をコンピュータに実行させるためのプログラム。
【請求項１４】
コンピュータに動画像である入力画像を符号化させるためのプログラムであって、
複数画像から成る前記入力画像を予め設定した所定の期間毎に解析して画像毎の第１の特徴量を求める第１の事前解析工程と、
前記第１の特徴量に基づいて前記画像毎の符号化に用いる符号化構造を決定する符号化構造設定工程と、
前記第１の特徴量に基づいて前記画像毎に施す加工処理である前処理を決定する前処理制御工程と、
前記入力画像を解析する期間だけ該入力画像を遅延させる第１の遅延工程と、
前記第１の遅延工程で遅延された入力画像に前記前処理制御手段で決定した前処理を施す前処理工程と、
前記符号化構造設定工程で決定した符号化構造に基づいて前記前処理された画像を前記所定の期間で解析して前記画像毎の第２の特徴量を求める第２の事前解析工程と、
前記符号化構造設定工程で決定した符号化構造、前記前処理制御工程で決定した前処理、前記第１の特徴量及び前記第２の特徴量に基づいて前記画像毎の符号化に用いる目標符号量を決定する目標符号量設定工程と、
前記前処理された画像を解析する期間だけ該前処理された画像を遅延させる第２の遅延工程と、
前記符号化構造設定工程で決定した符号化構造及び前記目標符号量に基づいて前記前処理された画像を符号化する符号化工程と、
をコンピュータに実行させるためのプログラム。
【請求項１５】
コンピュータに動画像である入力画像を符号化させるためのプログラムであって、
複数画像から成る前記入力画像を全ての期間で解析して画像毎の第１の特徴量を求める第１の事前解析工程と、
前記第１の特徴量に基づいて前記画像毎の符号化に用いる符号化構造を決定する符号化構造設定工程と、
前記符号化構造設定工程で決定した符号化構造を記憶装置に蓄積する符号化構造情報蓄積工程と、
前記第１の特徴量に基づいて前記画像毎に施す加工処理である前処理を決定する前処理制御工程と、
前記前処理制御手段で決定した前処理を前記記憶装置に蓄積する前処理制御情報蓄積工程と、
前記前処理制御工程で決定した前処理を前記画像毎に施す前処理工程と、
前記符号化構造設定工程で決定した符号化構造に基づいて前記前処理された画像を全ての期間で解析して前記画像毎の第２の特徴量を求める第２の事前解析工程と、
前記符号化構造設定工程で決定した符号化構造、前記前処理制御工程で決定した前処理、前記第１の特徴量及び前記第２の特徴量に基づいて前記画像毎の符号化に用いる目標符号量を決定する目標符号量設定工程と、
前記目標符号量設定工程で決定した目標符号量を蓄積する符号化制御情報蓄積工程と、
前記符号化構造設定工程で決定した符号化構造及び前記目標符号量に基づいて前記前処理された画像を符号化する符号化工程と、
をコンピュータに実行させるためのプログラム。
【請求項１６】
前記目標符号量設定工程として、
複数画像から成るピクチャ群の目標符号量を決定し、
該ピクチャ群の目標符号量に応じて前記ピクチャ群内の各画像の目標符号量をそれぞれ決定する処理をコンピュータに実行させるための請求項１３または１４記載のプログラム。
【請求項１７】
前記目標符号量設定工程として、
前記画像毎に割り当てた前記目標符号量に基づいて、符号化後の画像データを一時的に蓄積する符号化バッファのバッファ占有量の推移を計算し、
前記符号化バッファのオーバーフロー及びアンダーフローを回避するように前記目標符号量を調整する処理をコンピュータに実行させるための請求項１３乃至１５のいずれか１項記載のプログラム。
【請求項１８】
前記目標符号量設定工程として、
前記画像毎に割り当てた前記目標符号量に基づいて、符号化後の画像データを一時的に蓄積する符号化バッファのバッファ占有量の推移を計算し、
前記バッファ占有量の最大値及び最小値の振れ幅が予め設定された所定の範囲内に収まるように前記目標符号量を調整する処理をコンピュータに実行させるための請求項１３乃至１５のいずれか１項記載のプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ＭＰＥＧ（Moving Picture Expert Group）方式等に代表される、動画像を符号化するための動画像符号化装置及び方法に関する。
【背景技術】
【０００２】
一般に、ディジタルデータからなる動画像を光ディスク等のメディアにそのまま記録すると膨大な量のメモリが必要になる。そのため、動画像を符号化し、効率的に圧縮してメディアに蓄積する技術が極めて重要になる。ここで、「動画像の符号化」とは、動画像を構成する各画像の性質（共通点や違い等）を利用して、画像をより少ない符号量（ビット数）で表現する技術である。
【０００３】
従来の動画像の符号化方法としては、例えば、特許文献１に記載された技術（以下、第１従来例と称す）が知られている。第１従来例は、入力画像（１パス目）を解析して符号化劣化の目立ちやすさを反映させたパラメータである符号化難易度を算出し、算出した符号化難易度に基づき同じ入力画像（２パス目）の符号化及びプレフィルタ制御を実行する２パス方式の符号化方法である。
【０００４】
第１従来例の符号化方法を適用した動画像符号化装置は、図３０に示すように、事前解析手段８０１、制御手段８０２、遅延手段８０４、プレフィルタ８０５、及び符号化手段８０６を有する構成である。
【０００５】
事前解析手段８０１は１パス目の入力画像から符号化難易度を算出する。制御手段８０２は、事前解析手段８０１で算出された符号化難易度に基づきプレフィルタ８０５の特性及び目標符号量（符号化の割り当てビット量）を決定する。遅延手段８０４は、事前解析手段８０１及び制御手段８０２による処理が終了するまで入力画像のプレフィルタ８０５への入力を遅延させる。プレフィルタ８０５は、制御手段８０２で決定したフィルタ特性にしたがって遅延された入力画像の帯域をローパスフィルタにより制限する。符号化手段８０６はプレフィルタ８０５で処理された入力画像を制御手段８０２で決定した目標符号量に一致するように符号化する。
【０００６】
また、従来の他の動画像の符号化方法として、特許文献２に記載された技術（以下、第２従来例と称す）が知られている。第２従来例は、入力画像（１パス目）を符号化（第１の符号化）してＭＰＥＧで定義されるＧＯＰ（Group Of Picture）構造を決定し、該ＧＯＰ構造に基づいて入力画像（２パス目）を再び符号化する（第２の符号化）。そして、第２の符号化結果から入力画像の所定期間毎の目標符号量を決定し、３パス目の入力画像を目標符号量に一致するように符号化（第３の符号化）する３パス方式の符号化方法である。
【０００７】
第２従来例の符号化方法を適用した動画像符号化装置は、図３１に示すように、第１の符号化手段９０１、ＧＯＰ構造設定手段９０２、第２の符号化手段９０６、目標データ量制御手段９０７、及び第３の符号化手段９０９を有する構成である。
【０００８】
第１の符号化手段９０１は、１パス目の入力画像を予め設定したＧＯＰ構造で符号化する。ＧＯＰ構造設定手段９０２は、第１の符号化手段９０１の処理結果に基づいて場面の変化（シーンチェンジ）を検出し、以降の処理で用いるＧＯＰ構造（Ｎ値、Ｍ値）を決定する。
【０００９】
第２の符号化手段９０６は、２パス目の入力画像をＧＯＰ構造設定手段９０２で決定したＧＯＰ構造にしたがって符号化する。目標データ量制御手段９０７は第２の符号化手段９０６の処理結果に基づいて入力画像の所定期間毎の目標符号量を決定する。第３の符号化手段９０９は、３パス目の入力画像を目標データ量制御手段９０７で決定した目標符号量に一致するように符号化する。
【特許文献１】特開平１０−３０２３９６号公報
【特許文献２】特開平８−２６５７４７号公報
【発明の開示】
【発明が解決しようとする課題】
【００１０】
上述した従来の動画像符号化装置のうち、第１従来例の動画像符号化装置では、プレフィルタ処理により画像の性質が変化するにも関わらず、フィルタ処理前の画像解析結果に基づいて符号化するため、適切に符号化できない問題がある。
【００１１】
一方、第２従来例の動画像符号化装置では、符号化構造としてＧＯＰ構造の制御だけが示され、他の符号化構造が選択できない問題がある。また、３パス目の入力画像に対する符号化では、２パス目の入力画像を所定期間毎に事前解析した結果しか利用しないため、例えば１パス目の入力画像の性質がシーンチェンジ等によって変化した場合に、その解析結果が３パス目の入力画像の符号化に反映されず、適切に符号化できない場合がある。
【００１２】
また、上記第１従来例及び第２従来例の動画像符号化装置では、画面毎の符号化難易度に応じて符号量を配分するが（目標符号量の設定）、符号配分結果によるバッファ占有量の推移については何ら考慮していない。そのため、符号化後の画像データを一時的に蓄積する符号化バッファの容量に制約がある場合に、符号化バッファがオーバーフローやアンダーフローを起こすおそれがある。一般に、動画像符号化装置は、符号化バッファのオーバーフローやアンダーフローを回避するための機能を備えているが、符号化によって実際に発生した符号量が目標符号量と大きく異なると符号量を正確に制御できなくなる。すなわち、オーバーフローやアンダーフローを回避するための処理により本来割り当てるべき量と違う符号量が割り当てられるため、符号化による画質の劣化が増大する。
【００１３】
さらに、第１従来例及び第２従来例の動画像符号化装置では、所定期間あたりの特徴量に応じて符号量を割り当てているが、シーンの特性やＭＰＥＧで定義される各ピクチャタイプの特性の違いを考慮していないため、ピクチャタイプ毎に最適な目標符号量を設定できない問題がある。
【００１４】
本発明は上記したような従来の技術が有する問題点を解決するためになされたものであり、入力画像応じた適切な符号化構造の選択、前処理制御及び符号量配分を可能にすると共に、符号化バッファの制約を守った適切な符号量配分を実現して符号化画像の品質を向上させることができる動画像符号化装置及び方法を提供することを目的とする。
【課題を解決するための手段】
【００１５】
上記目的を達成するため本発明の動画像符号化装置は、動画像である入力画像を符号化するための動画像符号化装置であって、
複数画像から成る前記入力画像を解析して予め設定した所定の符号化単位毎に第１の特徴量を求める第１の事前解析手段と、
前記第１の特徴量に基づいて前記符号化単位毎の符号化に用いる符号化構造を決定する符号化構造設定手段と、
前記第１の特徴量に基づいて前記符号化単位毎に施す加工処理である前処理を決定する前処理制御手段と、
前記入力画像を解析する期間だけ該入力画像を遅延させる第１の遅延手段と、
前記第１の遅延手段で遅延された入力画像に前記前処理制御手段で決定した前処理を施す前処理手段と、
前記符号化構造設定手段で決定した符号化構造に基づいて前記前処理された画像を解析して前記符号化単位毎に第２の特徴量を求める第２の事前解析手段と、
前記符号化構造設定手段で決定した符号化構造、前記前処理制御手段で決定した前処理、前記第１の特徴量及び前記第２の特徴量に基づいて前記符号化単位毎の符号化に用いる目標符号量を決定する目標符号量設定手段と、
前記前処理された画像を解析する期間だけ該前処理された画像を遅延させる第２の遅延手段と、
前記符号化構造設定手段で決定した符号化構造及び前記目標符号量に基づいて前記前処理された画像を符号化する符号化手段と、
を有する構成である。
【００１６】
または、動画像である入力画像を符号化するための動画像符号化装置であって、
複数画像から成る前記入力画像を予め設定した所定の期間毎に解析して画像毎の第１の特徴量を求める第１の事前解析手段と、
前記第１の特徴量に基づいて前記画像毎の符号化に用いる符号化構造を決定する符号化構造設定手段と、
前記第１の特徴量に基づいて前記画像毎に施す加工処理である前処理を決定する前処理制御手段と、
前記入力画像を解析する期間だけ該入力画像を遅延させる第１の遅延手段と、
前記第１の遅延手段で遅延された入力画像に前記前処理制御手段で決定した前処理を施す前処理手段と、
前記符号化構造設定手段で決定した符号化構造に基づいて前記前処理された画像を前記所定の期間で解析して前記画像毎の第２の特徴量を求める第２の事前解析手段と、
前記符号化構造設定手段で決定した符号化構造、前記前処理制御手段で決定した前処理、前記第１の特徴量及び前記第２の特徴量に基づいて前記画像毎の符号化に用いる目標符号量を決定する目標符号量設定手段と、
前記前処理された画像を解析する期間だけ該前処理された画像を遅延させる第２の遅延手段と、
前記符号化構造設定手段で決定した符号化構造及び前記目標符号量に基づいて前記前処理された画像を符号化する符号化手段と、
を有する構成である。
【００１７】
または、動画像である入力画像を符号化するための動画像符号化装置であって、
複数画像から成る前記入力画像を全ての期間で解析して画像毎の第１の特徴量を求める第１の事前解析手段と、
前記第１の特徴量に基づいて前記画像毎の符号化に用いる符号化構造を決定する符号化構造設定手段と、
前記符号化構造設定手段で決定した符号化構造を蓄積する符号化構造情報蓄積手段と、
前記第１の特徴量に基づいて前記画像毎に施す加工処理である前処理を決定する前処理制御手段と、
前記前処理制御手段で決定した前処理を蓄積する前処理制御情報蓄積手段と、
前記前処理制御手段で決定した前処理を前記画像毎に施す前処理手段と、
前記符号化構造設定手段で決定した符号化構造に基づいて前記前処理された画像を全ての期間で解析して前記画像毎の第２の特徴量を求める第２の事前解析手段と、
前記符号化構造設定手段で決定した符号化構造、前記前処理制御手段で決定した前処理、前記第１の特徴量及び前記第２の特徴量に基づいて前記画像毎の符号化に用いる目標符号量を決定する目標符号量設定手段と、
前記目標符号量設定手段で決定した目標符号量を蓄積する符号化制御情報蓄積手段と、
前記符号化構造設定手段で決定した符号化構造及び前記目標符号量に基づいて前記前処理された画像を符号化する符号化手段と、
を有する構成である。
【００１８】
このとき、前記目標符号量設定手段は、
複数画像から成るピクチャ群の目標符号量を決定し、
該ピクチャ群の目標符号量に応じて前記ピクチャ群内の各画像の目標符号量をそれぞれ決定してもよく、
前記画像毎に割り当てた前記目標符号量に基づいて、符号化後の画像データを一時的に蓄積する符号化バッファのバッファ占有量の推移を計算し、
前記符号化バッファのオーバーフロー及びアンダーフローを回避するように前記目標符号量を調整してもよく、
前記画像毎に割り当てた前記目標符号量に基づいて、符号化後の画像データを一時的に蓄積する符号化バッファのバッファ占有量の推移を計算し、
前記バッファ占有量の最大値及び最小値の振れ幅が予め設定された所定の範囲内に収まるように前記目標符号量を調整してもよい。
【００１９】
一方、本発明の動画像符号化方法は、所定の処理を実行するための処理装置を備え、
前記処理装置により動画像である入力画像を符号化するための動画像符号化方法であって、
複数画像から成る前記入力画像を解析して予め設定した所定の符号化単位毎に第１の特徴量を求める第１の事前解析工程と、
前記第１の特徴量に基づいて前記符号化単位毎の符号化に用いる符号化構造を決定する符号化構造設定工程と、
前記第１の特徴量に基づいて前記符号化単位毎に施す加工処理である前処理を決定する前処理制御工程と、
前記入力画像を解析する期間だけ該入力画像を遅延させる第１の遅延工程と、
前記第１の遅延工程で遅延された入力画像に前記前処理制御工程で決定した前処理を施す前処理工程と、
前記符号化構造設定工程で決定した符号化構造に基づいて前記前処理された画像を解析して前記符号化単位毎に第２の特徴量を求める第２の事前解析工程と、
前記符号化構造設定工程で決定した符号化構造、前記前処理制御工程で決定した前処理、前記第１の特徴量及び前記第２の特徴量に基づいて前記符号化単位毎の符号化に用いる目標符号量を決定する目標符号量設定工程と、
前記前処理された画像を解析する期間だけ該前処理された画像を遅延させる第２の遅延工程と、
前記符号化構造設定工程で決定した符号化構造及び前記目標符号量に基づいて前記前処理された画像を符号化する符号化工程と、
を有する方法である。
【００２０】
または、所定の処理を実行するための処理装置を備え、
前記処理装置により動画像である入力画像を符号化するための動画像符号化方法であって、
複数画像から成る前記入力画像を予め設定した所定の期間毎に解析して画像毎の第１の特徴量を求める第１の事前解析工程と、
前記第１の特徴量に基づいて前記画像毎の符号化に用いる符号化構造を決定する符号化構造設定工程と、
前記第１の特徴量に基づいて前記画像毎に施す加工処理である前処理を決定する前処理制御工程と、
前記入力画像を解析する期間だけ該入力画像を遅延させる第１の遅延工程と、
前記第１の遅延工程で遅延された入力画像に前記前処理制御手段で決定した前処理を施す前処理工程と、
前記符号化構造設定工程で決定した符号化構造に基づいて前記前処理された画像を前記所定の期間で解析して前記画像毎の第２の特徴量を求める第２の事前解析工程と、
前記符号化構造設定工程で決定した符号化構造、前記前処理制御工程で決定した前処理、前記第１の特徴量及び前記第２の特徴量に基づいて前記画像毎の符号化に用いる目標符号量を決定する目標符号量設定工程と、
前記前処理された画像を解析する期間だけ該前処理された画像を遅延させる第２の遅延工程と、
前記符号化構造設定工程で決定した符号化構造及び前記目標符号量に基づいて前記前処理された画像を符号化する符号化工程と、
を有する方法である。
【００２１】
または、所定の処理を実行するための処理装置と、
前記処理装置の処理結果を蓄積するための記憶装置と、
を備え、
前記処理装置により動画像である入力画像を符号化するための動画像符号化方法であって、
複数画像から成る前記入力画像を全ての期間で解析して画像毎の第１の特徴量を求める第１の事前解析工程と、
前記第１の特徴量に基づいて前記画像毎の符号化に用いる符号化構造を決定する符号化構造設定工程と、
前記符号化構造設定工程で決定した符号化構造を前記記憶装置に蓄積する符号化構造情報蓄積工程と、
前記第１の特徴量に基づいて前記画像毎に施す加工処理である前処理を決定する前処理制御工程と、
前記前処理制御手段で決定した前処理を前記記憶装置に蓄積する前処理制御情報蓄積工程と、
前記前処理制御工程で決定した前処理を前記画像毎に施す前処理工程と、
前記符号化構造設定工程で決定した符号化構造に基づいて前記前処理された画像を全ての期間で解析して前記画像毎の第２の特徴量を求める第２の事前解析工程と、
前記符号化構造設定工程で決定した符号化構造、前記前処理制御工程で決定した前処理、前記第１の特徴量及び前記第２の特徴量に基づいて前記画像毎の符号化に用いる目標符号量を決定する目標符号量設定工程と、
前記目標符号量設定工程で決定した目標符号量を蓄積する符号化制御情報蓄積工程と、
前記符号化構造設定工程で決定した符号化構造及び前記目標符号量に基づいて前記前処理された画像を符号化する符号化工程と、
を有する方法である。
【００２２】
このとき、前記目標符号量設定工程は、
複数画像から成るピクチャ群の目標符号量を決定し、
該ピクチャ群の目標符号量に応じて前記ピクチャ群内の各画像の目標符号量をそれぞれ決定してもよく、
前記画像毎に割り当てた前記目標符号量に基づいて、符号化後の画像データを一時的に蓄積する符号化バッファのバッファ占有量の推移を計算し、
前記符号化バッファのオーバーフロー及びアンダーフローを回避するように前記目標符号量を調整してもよく、
前記画像毎に割り当てた前記目標符号量に基づいて、符号化後の画像データを一時的に蓄積する符号化バッファのバッファ占有量の推移を計算し、
前記バッファ占有量の最大値及び最小値の振れ幅が予め設定された所定の範囲内に収まるように前記目標符号量を調整してもよい。
【発明の効果】
【００２３】
本発明の第１の効果は、入力画像に応じた適切な符号化構造の選択、前処理制御及び符号量配分が可能になり、符号化画像の品質が向上する。
【００２４】
その理由は、前処理によって加工された入力画像に対して再度事前解析を行うため、実際に符号化される画像の性質を予め正確に得られるからである。また、１パス目の事前解析結果を、例えば動き探索範囲の制御やフレーム・フィールド構造の制御及び画像サイズの制御に用い、２パス目の事前解析結果と供に３パス目の目標符号量の設定処理で利用するからである。さらに、事前解析として符号化処理を行わずに、例えば、シーンチェンジ検出や冗長フィールド検出等、符号化処理だけでは正確に得ることが難しい特徴量をそれに特化した処理で得ているからである。また、画像毎の目標符号量の決定には、複数の画像から構成されるピクチャ群の目標符号量を決定し、ピクチャ群の目標符号量に応じてピクチャ群内の各画像の目標符号量をそれぞれ決定することで、ピクチャタイプの違いに依存しない、シーンの特徴に応じた符号量配分、及びピクチャタイプ毎の特性の違いを考慮した符号量配分が実現できるからである。
【００２５】
本発明の第２の効果は、バッファ制約を守った適切な符号量配分が実現できることである。
【００２６】
その理由は、事前解析情報に基づいた符号量の割り当てを、当該期間全ての画像に対して行い、その結果から符号化バッファのバッファ占有量の推移を予測し、符号化バッファの制約に違反しないように目標符号量を調整するため、予め符号化バッファの制約を遵守した符号量の割り当てが可能になる。そのため、符号化で実際に発生する符号量を目標符号量に近づけることができるため、画面の複雑度に応じて符号量が配分され、同じビットレートにおける符号化後の画質に改善が期待できる。
【発明を実施するための最良の形態】
【００２７】
次に本発明について図面を参照して詳細に説明する。
【００２８】
なお、以下では動画像の符号化方式としてＭＰＥＧ２を用いる場合で説明する。
【００２９】
［第１の実施の形態］
図１は本発明の動画像符号化装置の第１の実施の形態の構成を示すブロック図である。
【００３０】
図１に示すように、第１の実施の形態の動画像符号化装置は、第１の事前解析手段１０１、符号化構造設定手段１０２、前処理制御手段１０３、第１の遅延手段１０４、前処理手段１０５、第２の事前解析手段１０６、目標符号量設定手段１０７、第２の遅延手段１０８、及び符号化手段１０９を有する構成である。
【００３１】
第１の事前解析手段１０１は、予め設定された所定期間毎に入力される複数フレームから成る入力画像を解析し、符合化単位であるフレーム内あるいはフレーム間の入力画像の特徴量をそれぞれ抽出して第１の解析情報として出力する。符号化構造設定手段１０２は、第１の解析情報に基づいて、第２の事前解析手段１０６、目標符号量設定手段１０７及び符号化手段１０９で用いる符号化構造を決定する。また、前処理制御手段１０３は、第１の解析情報に基づいて前処理手段１０５で用いる前処理制御方法を決定する。
【００３２】
第１の遅延手段１０４は、第１の事前解析手段１０１による処理期間だけ入力画像を遅延させて前処理手段１０５に供給する。前処理手段１０５は、第１の遅延手段１０４により遅延された入力画像に対して前処理制御手段１０３で決定した前処理制御方法にしたがって前処理を施し、前処理画像として出力する。
【００３３】
第２の事前解析手段１０６は、符号化構造設定手段１０２で設定された符号化構造に基づいて第１の事前解析手段１０１の処理期間と同期間の前処理画像を事前解析し、第２の解析情報として出力する。
【００３４】
目標符号量設定手段１０７は、符号化構造設定手段１０２、前処理制御手段１０３、第１の事前解析手段１０１及び第２の事前解析手段１０６で決定した符号化構造、前処理方法、第１の解析情報、及び第２の解析情報に基づいて、符号化手段１０９で用いる目標符号量を決定する。前処理された入力画像は、第２の遅延手段１０８により第２の事前解析手段１０６の処理期間だけ遅延される。
【００３５】
符号化手段１０９は、第２の遅延手段１０８から出力された前処理画像を、符号化構造設定手段１０２及び目標符号量設定手段１０７で決定した符号化構造及び目標符号量に基づいて所定の符号化単位毎に符号化し、符号化後の画像データである符号化ビットストリームを出力する。
【００３６】
なお、上記第１の事前解析手段１０１、符号化構造設定手段１０２、前処理制御手段１０３、第１の遅延手段１０４、前処理手段１０５、第２の事前解析手段１０６、目標符号量設定手段１０７、第２の遅延手段１０８、及び符号化手段１０９は、例えば、演算機能やメモリ機能を備えたＬＳＩ（Large scale Integrated Circuit）によって構成されてもよい。または、プログラムにしたがって処理を実行するＣＰＵ、該ＣＰＵの処理に必要なデータを保持する記憶装置、プログラムを保持する記録媒体、入力画像を取り込むための入力装置や符号化後の画像データを出力するための出力装置とのインタフェースであるＩ／Ｏ部、及びネットワークを介してサーバ装置等とのデータ通信を可能にする通信装置等を備えたコンピュータによって構成されてもよい。その場合、ＣＰＵは、上記記録媒体からプログラムを主記憶装置にロードし、該プログラムにしたがって処理を実行することで、上記各手段の機能をそれぞれ実現する。
【００３７】
入力画像の符号化単位は、例えばフレーム単位、フィールド単位、１画面をさらに細分化した画像単位等に設定すればよく、入力画像の解析期間はハードウェアの処理能力やバッファ容量等に応じて適宜設定すればよい。
【００３８】
次に、図２を参照して図１に示した本実施形態の動画像符号化装置の動作について説明する。なお、図２は、次のパスの入力画像に対する符号化処理の前にＬ（Ｌは整正数）フレーム分の入力画像を事前解析し、第１の遅延手段１０４及び第２の遅延手段１０８の遅延量をそのＬフレーム分の入力画像の事前解析期間にそれぞれ一致させた例である。
【００３９】
図２に示すように、本実施形態の動画像符号化装置では、最初に、１パス目の入力画像についてＭＰＥＧで定義されるピクチャ毎に解析し、第Ｌフレームまでの解析情報を用いて２パス目の入力画像の第１フレームを符号化する。
【００４０】
次に、２パス目の入力画像についてピクチャ毎に解析し、１パス目の入力画像の第２Ｌフレームまでの解析情報及び２パス目の入力画像の第Ｌフレームまでの解析情報をそれぞれ用いて３パス目の入力画像の第１フレームを符号化する。
【００４１】
続いて、１パス目の入力画像の第Ｌ＋１フレームまでの解析情報を用いて２パス目の入力画像の第２フレームを符号化し、１パス目の入力画像の第２Ｌ＋１フレームまでの解析情報及び２パス目の入力画像の第Ｌ＋１フレームまでの解析情報をそれぞれ用いて３パス目の入力画像の第２フレームを符号化する。
【００４２】
以降、同様の処理を繰り返し、１パス目の入力画像の第Ｊ＋Ｌ−１フレームまでの解析情報を用いて２パス目の入力画像の第Ｊフレームを符号化し、１パス目の入力画像の第Ｊ＋２Ｌ−１フレームまでの解析情報及び２パス目の入力画像の第Ｊ＋Ｌ−１フレームまでの解析情報をそれぞれ用いて３パス目の入力画像の第Ｊフレームを符号化する。
【００４３】
以上のように、本実施形態の動画像符号化装置では、３パス目の入力画像の符号化処理時に、１パス目の入力画像の解析情報及び２パス目の入力画像の解析情報をそれぞれ用いることで、２パス目の入力画像の事前解析情報だけを利用する第２従来例よりも多くの入力画像の解析情報を利用できるため、より適切な符号化が可能になる。なお、図２に示す例では、１パス目の入力画像に対する２パス目の入力画像の遅延量と、２パス目の入力画像に対する３パス目の入力画像の遅延量とを同じ値に設定しているが、これらの遅延量は異なっていてもよい。
【００４４】
図３は第１の実施の形態の動画像符号化装置の処理手順を示すフローチャートである。
【００４５】
図３に示すように、第１の実施の形態の動画像符号化装置では、まずステップＳ１０１にて、１パス目の入力画像を事前解析し、第１の解析情報を出力する。
【００４６】
次に、ステップＳ１０２にて、第１の解析情報に基づいて符号化構造を決定する。また、ステップＳ１０３にて、第１の解析情報に基づき前処理方法を決定し、ステップＳ１０５にて、該前処理方法にしたがって入力画像に前処理を施す。
【００４７】
次に、ステップＳ１０６にて、決定した符号化構造により前処理された入力画像を事前解析し、第２の解析情報を出力する。
【００４８】
続いて、ステップＳ１０７にて、第１の解析情報及び第２の解析情報を用いて入力画像毎の目標符号量を設定する。
【００４９】
最後に、ステップＳ１０９にて、設定された符号化構造により前処理された入力画像を目標符号量に一致するように符号化する。
【００５０】
以下、図１に示した第１の実施の形態の動画像符号化装置の各構成手段における処理について、図面を用いてより具体的に説明する。
【００５１】
（１）第１の事前解析手段
（第１実施例）
図４は図１に示した第１の事前解析手段の第１実施例の構成を示すブロック図である。
【００５２】
第１実施例の第１の事前解析手段１０１は、アクティビティ、フレーム間の予測誤差、フレーム間相関、複雑度、及び動きベクトル統計量を入力画像の特徴量として算出するための手段をそれぞれ有する構成である。
【００５３】
アクティビティ計算手段１００１は、画面毎のアクティビティを算出する。アクティビティＡの値は、例えば次式に示す入力画像の輝度信号の分散値を用いる。
【００５４】
【数１】
2005094458.tif 000003
【００５５】
ここで、Ｉ（ｘ，ｙ）は画像の位置（ｘ，ｙ）における画素値、Ｈは水平方向の画面サイズを示し、Ｖは垂直方向の画面サイズを示す。
【００５６】
また、Ｍは画素値の画面内平均値であり、
【００５７】
【数２】
2005094458.tif 000004
【００５８】
で算出する。
【００５９】
なお、アクティビティＡの値は、次式に示すように画面内輝度信号の平均偏差の絶対値平均でもよい。
【００６０】
【数３】
2005094458.tif 000005
【００６１】
また、アクティビティＡの値は、次式に示す隣接画素間差分絶対値和でもよい。
【００６２】
【数４】
2005094458.tif 000006
【００６３】
フレーム間予測手段１００２は、過去の入力画像を参照画像に用いてフレーム間予測画像を生成する。ここでは、ＭＰＥＧ方式における通常の符号化処理と同様に、画面を複数のブロックに分割し、予め設定された符号化構造及び探索範囲に基づいて動きベクトル探索を行い、ブロック毎に動きベクトルを算出する。そして、動きベクトルの算出結果を基に動き補償フレーム間予測画像を生成し、フレーム間予測誤差Ｅを算出する。
【００６４】
フレーム間予測誤差Ｅは、例えば次式で示すようにフレーム間予測画像と現画像間の誤差の２乗和平均で求める。
【００６５】
【数５】
2005094458.tif 000007
【００６６】
ここで、Ｐ（ｘ，ｙ）は予測画像であり、Ｉ（ｘ，ｙ）は対応する現画像である。
【００６７】
また、フレーム間予測誤差Ｅは、次式で示すようにフレーム間予測画像と現画像間の差分絶対値和平均で求めてもよい。
【００６８】
【数６】
2005094458.tif 000008
【００６９】
フレーム間相関推定手段１００３は、アクティビティ計算手段１００１で算出されたアクティビティＡとフレーム間予測手段１０１２で算出されたフレーム間予測誤差Ｅとを用いて次式に示すフレーム間相関を示す尺度ρを計算する。
【００７０】
【数７】
2005094458.tif 000009
【００７１】
複雑度推定手段１００４は、アクティビティＡとフレーム間予測誤差Ｅからピクチャタイプ毎の複雑度を計算する。複雑度は、アクティビティＡ及びフレーム間予測誤差Ｅと相関があることが分かっているため、これらの値から推定できる。例えば、Ｉピクチャの複雑度Ｘｉ、Ｐピクチャの複雑度Ｘｐ、及びＢピクチャの複雑度Ｘｂは、
【００７２】
【数８】
2005094458.tif 000010
【００７３】
で推定する。ここで、ａｉ、ａｐ、ａｂ、ｂｉ、ｂｐ、ｂｂはそれぞれ推定係数であり、予め定めた一定値を用いてもよく、符号化によって得られた実測値に基づき逐次計算して更新してもよい。
【００７４】
動きベクトル統計量計算手段１００５は、画像間の差から検出した動きベクトルの統計量を出力する。例えば、ＭＰＥＧ２で規定された領域であるマクロブロック毎に検出した動きベクトルの平均値、あるいはマクロブロック毎に検出した動きベクトルのヒストグラムを算出する。
【００７５】
（第２実施例）
図５は図１に示した第１の事前解析手段の第２実施例の構成を示すブロック図である。
【００７６】
第２実施例の第１の事前解析手段１０１は、予め定めた符号化構造により符号化を行い、特徴量として画面毎の平均量子化幅、発生符号量、複雑度、フレーム間相関、動きベクトル統計量、及び符号化誤差を算出するための手段をそれぞれ有する構成である。
【００７７】
符号化手段１００６は、予め設定された符号化構造にしたがって入力画像を符号化する。例えば、入力画像を予め設定された固定の量子化幅で符号化し、画面毎の発生符号量を計測して出力する。あるいは、入力画像を予め設定されたビットレートで符号化し、量子化幅の画面毎の平均値と画面毎の発生符号量とを計測して出力する。また、符号化手段１００６は、入力画像のフレーム間予測を行い、マクロブロック毎に検出した動きベクトル情報を生成する。そして、入力画像と符号化画像との差分を符号化誤差として出力する。
【００７８】
複雑度計算手段１００７は、固定値の量子化幅Ｑ、あるいは量子化幅の画面毎の平均値Ｑと画面毎の発生符号量Ｓとから画面毎の複雑度Ｘを次式で計算する。
【００７９】
【数９】
2005094458.tif 000011
【００８０】
また、必要であれば、ＧＯＰ毎の複雑度Ｘｇｏｐを算出する。
【００８１】
ＧＯＰ毎の複雑度Ｘｇｏｐは、固定値の量子化幅Ｑ、あるいは量子化幅のＧＯＰ毎の平均値ＱｇｏｐとＧＯＰ毎の発生符号量Ｓｇｏｐとを用いて次式で計算する。
【００８２】
【数１０】
2005094458.tif 000012
【００８３】
動きベクトル統計量計算手段１００８は、図３に示した第１実施例と同様の処理を実行することで、検出した動きベクトルの統計量を算出する。
【００８４】
フレーム間相関推定手段１００９は、算出した画面毎の複雑度Ｘから次式に示すフレーム間相関を示す尺度ρを計算する。
【００８５】
【数１１】
2005094458.tif 000013
【００８６】
ここで、ＸｐはＰピクチャの複雑度、ＸｉはＩピクチャの複雑度であり、それぞれ最新の値を用いる。
【００８７】
（第３実施例）
図６は図１に示した第１の事前解析手段の第３実施例の構成を示すブロック図である。
【００８８】
第３実施例の第１の事前解析手段１０１は、入力画像のフレーム間差分からシーンチェンジ及び冗長フィールドを検出し、それらの検出結果を出力するための手段をそれぞれ有する構成である。
【００８９】
フレーム間差分計算手段１０１０は、入力画像のフレーム間差分を入力画像のフィールド単位で算出する。
【００９０】
図７に示すように、入力画像の１フレームが２つのフィールドから構成されている場合（飛び越し走査）、フィールド単位によるフレーム間差分の値は、入力フィールドと同一フレームの直前フィールドとの差分を計算することで求める。例えば、フィールド３の画像入力時にはフィールド１とフィールド３のフレーム間差分を算出し、フィールド４の画像入力時にはフィールド２とフィールド４のフレーム間差分を算出する。
【００９１】
具体的には、フレーム間差分Ｄを次式で算出する。
【００９２】
【数１２】
2005094458.tif 000014
【００９３】
ここで、ｐ（ｘ，ｙ）は入力フィールドの画素値、ｐ’（ｘ，ｙ）は同一フレームの直前フィールドの画素値である。また、ｈは１フィールドの水平方向の画面サイズを示し、ｖは垂直方向の画面サイズを示す。
【００９４】
シーンチェンジ検出手段１０１１は、フレーム間差分Ｄの値から場面（シーン）が変化したフィールドを検出する。例えば、予め所定のしきい値を定めておき、フレーム間差分Ｄが該しきい値よりも大きく変化した場合はシーンチェンジが有ると判定する。なお、しきい値は固定値でもよく、場面に応じて変更してもよい。
【００９５】
図８はシーンチェンジの検出例を示す模式図である。
【００９６】
図８に示すように、例えばフィールド５から場面が変化している場合、フィールド３、５のフレーム間差分の値と、フィールド４、６のフレーム間差分の値とが大きく異なる。シーンチェンジ検出手段１０１１は、このフレーム間差分の変化を検出することでシーンチェンジを検出する。
【００９７】
冗長フィールド検出手段１０１２は、フレーム間差分Ｄの値から同じ画像を繰り返している冗長フィールドを検出する。冗長フィールドは、例えば１秒間に２４コマの映画フィルムソースを１秒間に約３０フレームのテレビジョン映像信号に変換する場合に、フィルム２コマ（４フィールド分）から５フィールドのテレビジョン映像を作るために挿入される繰り返しフィールドである。
【００９８】
図９は冗長フィールドの検出例を示す模式図である。
【００９９】
例えば、２４コマの映画フィルムソースを３０フレームのテレビジョン映像信号に変換する場合、テレビジョン映像信号のフィールド１、２には映画フィルムソースの１コマ目が挿入され、フィールド３にはフィールド１と同じ画像信号が挿入される。また、テレビジョン映像信号のフィールド４、５には映画フィルムソースの２コマ目が挿入され、テレビジョン映像信号のフィールド６、７には映画フィルムソースの３コマ目が挿入され、フィールド８にはフィールド６と同じ画像信号が挿入される。さらに、テレビジョン映像信号のフィールド９、１０には映画フィルムソースの４コマ目が挿入される。以降、上記処理と同様にテレビジョン映像信号の各フィールドに映画フィルムソースが挿入される。
【０１００】
冗長フィールドは、例えば予め所定のしきい値を定めておき、フレーム間差分Ｄと該しきい値とを比較することで検出する。すなわち、フレーム間差分Ｄがしきい値以下である場合は、該当するフィールドが冗長フィールドであると判定する。この冗長フィールドの検出に用いるしきい値は、固定値であってもよく、場面に応じて変更してもよい。
【０１０１】
図９に示す例では、フィールド３がフィールド１の繰り返し画像であるため、フィールド１とフィールド３のフレーム間差分Ｄの値がしきい値以下となり、フィールド３が冗長フィールドであると判定される。
【０１０２】
なお、第１の事前解析手段１０１は、上記第１実施例〜第３実施例で示した構成のうち、一部の手段によって得られる解析情報だけを出力してもよく、図４〜図６に示した構成を任意に組み合わせて得られる解析情報を出力してもよい。
【０１０３】
（２）符号化構造設定手段
（第１実施例）
図１０は図１に示した符号化構造設定手段の第１実施例の構成を示すブロック図である。
【０１０４】
図１０に示すように、第１実施例の符号化構造設定手段１０２は、フレーム間の相関尺度から前方向予測フレーム（Ｐピクチャ）の間隔（Ｍ値）を決定して出力するＭ値設定手段１０２０を備えた構成である。
【０１０５】
動画像の符号化方式としてＭＰＥＧ２を採用する場合、ピクチャタイプには、Ｉピクチャ、Ｐピクチャ、及びＢピクチャの３種類が使える。第１実施例の符号化構造設定手段１０２は、Ｉピクチャについてピクチャ内符号化を行い、フレーム間の予測は行わない。また、Ｐピクチャについては直前のＩピクチャまたはＰピクチャを参照して前方向予測のみのフレーム間予測を行う。また、Ｂピクチャについては前後のＩピクチャまたはＰピクチャを参照して前方向予測、後ろ方向予測、両方向予測のフレーム間予測を行う。
【０１０６】
ピクチャタイプの配置は任意に選択できるが、周期的に配置する構造が一般的である。このとき、ＩピクチャまたはＰピクチャのフレーム間隔をＭ値とすると、このＭ値で符号化構造が示される。
【０１０７】
例えば、図１１に示すように、Ｍ＝３では、Ｐピクチャ（Ｉピクチャ）のフレーム間隔が３であり、それらの間に２枚のＢピクチャが挟まれた構造である（図１１（ａ）参照）。また、Ｍ＝１は、Ｐピクチャ（Ｉピクチャ）のフレーム間隔が１であり、Ｂピクチャを使用しない構造である（図１１（ｂ）参照）。
【０１０８】
一般に、フレーム間隔が長くなるとフレーム間予測性能が低下するが、フレーム間相関が高ければＢピクチャを利用することで予測性能が向上する。逆に、フレーム間相関が低ければＰピクチャの間隔を短くすることで予測性能が向上する。そのため、フレーム間相関に基づいてＭ値を変化させ、符号化構造を適応的に変えることが好ましい。例えば、図１１に示すように、符号化構造をＭ＝１またはＭ＝３に適応的に切り換える（図１１（ｃ）参照）。
【０１０９】
フレーム間の相関は、上記尺度ρの値が大きいほど低く、尺度ρの値が小さいほど高いことを示している。そこで、単調に減少する関数ｆを用いてＭ値を決定する。
【０１１０】
Ｍ＝ｆ（ρ）
あるいは、選択できるＭ値を限定し（例えば、Ｍ＝３またはＭ＝１のみ使用）、尺度ρの値に対するしきい値を定め、尺度ρが該しきい値より大きければ小さなＭ値、すなわちＭ＝１を選択し、尺度ρがしきい値より小さければ大きなＭ値、すなわちＭ＝３を選択してもよい。
【０１１１】
以上説明したように、ＩピクチャまたはＰピクチャのフレーム間隔（Ｍ値）を制御することで効率のよい動画像の符号化が実現できる。
【０１１２】
（第２実施例）
図１２は図１に示した符号化構造設定手段の第２実施例の構成を示すブロック図である。
【０１１３】
図１２に示すように、第２実施例の符号化構造設定手段１０２は、動きベクトル統計量から動き探索範囲（動き探索パラメータ）を決定して出力する動き探索パラメータ設定手段１０２１を備えた構成である。例えば、画像中の動き探索範囲を固定の大きさ及び形状に設定し、その中心位置が移動できるようにする。このとき、探索範囲の移動量を動きベクトルの統計量から決定する。
【０１１４】
図１３は第２実施例の符号化構造設定手段の探索範囲の設定例を示す模式図である。
【０１１５】
動き探索範囲は、動きベクトルの検出対象ブロックを中心に上下左右に対称な領域に設定するのが一般的であり、例えば、図１３の点線で示す領域が探索範囲となる。しかしながら、動きベクトルがある方向に偏って存在する場合、同じ演算量で同じ面積を探索するならば、動きベクトルの偏りがある方向に探索範囲を移動させた方が、より大きな動きベクトルの検出が可能になる。
【０１１６】
動き探索範囲の移動量は、動きベクトル統計量として、例えば動きベクトルの平均値を取得し、その値を用いる。あるいは動きベクトルのヒストグラムを生成し、度数の最も高い動きベクトルの位置に対する移動量を用いる。あるいは動きベクトルのヒストグラムを生成し、水平方向、垂直方向それぞれの動きベクトルの検出範囲を求め、その中心位置に対する移動量を用いてもよい。
【０１１７】
動き探索範囲の他の設定例として、探索範囲の大きさを制限し、形状を変える方法もある。例えば、横方向の動きに偏っている場合は、図１４に示すように、通常の探索範囲と面積が等しく、かつ横長の探索範囲を設定して動きベクトル探索を行う。あるいは、図１５に示すように、通常の探索範囲と面積が等しく、かつより実際の動きに近い方向の動きベクトルが探索可能な形状の探索領域を設定する。
【０１１８】
動き探索範囲の形状は、動きベクトル統計量として、例えば動きベクトルのヒストグラムを生成し、この値に基づいて設定する。具体的には、予め複数種類の形状パターンを用意しておき、ヒストグラムから検出ベクトルの網羅率を算出し、最も適合する（最も網羅率が高い）形状を選択する。
【０１１９】
また、動き探索範囲の他の設定例として、探索範囲の大きさを縮小できるようにして、予測効率が最も高い最小限の探索範囲に設定する方法もある。これは、動きベクトルを符号化する場合に、大きな動きベクトルの符号化には多くの符号量が必要になるため、予測性能が上がっても符号化効率が低下するためである。本実施例では、大きな動きベクトルを符号化する必要がない場合に探索範囲を小さくする。探索範囲は、ＭＰＥＧ２ではｆｃｏｄｅによって段階的に設定され、大きなｆｃｏｄｅを使うと大きい動きベクトルが符号化できるが、ベクトル符号量は増加する。探索範囲の大きさは、例えば動きベクトルのヒストグラムを生成し、該ヒストグラムを参照して、ｆｃｏｄｅの組み合わせで定義される複数の探索範囲のうち、検出可能な動きベクトルをある割合以上含む最小の探索範囲を選択することで決定する。図１６に示すように、ｆｃｏｄｅの組み合わせによって制限探索範囲１〜３に設定できる場合、それぞれの探索範囲に含まれる検出ベクトルの割合を計算し、ほぼ全数の検出ベクトルの探索が可能な最小探索範囲を選択する。
【０１２０】
なお、ｆｃｏｄｅで定義される探索範囲は、適用するビデオ符号化方式に依存するが、水平方向及び垂直方向共に同一でもよく、水平方向及び垂直方向で異なっていてもよい。さらに、動き探索パラメータは、探索範囲の移動や探索範囲を変形させる手法と組み合わせて設定してもよく、Ｍ値の適応選択制御と組み合わせてもよい。ここで、第１の事前解析手段で用いるＭ値と第２の事前解析手段や符号化手段で用いるＭ値とが異なる場合は、参照するフレーム間隔に応じて探索範囲の大きさを調整してもよい。
【０１２１】
なお、第１の事前解析手段１０１の処理で用いる動き探索範囲は、第２の事前解析手段１０６や符号化手段１０９の処理で用いる動き探索範囲よりも広いことが望ましい。特に、第１の事前解析手段１０１の処理で用いる動き探索範囲は、移動あるいは変形させることで探索可能な範囲を全て網羅していることが望ましい。第１の事前解析手段１０１の処理で用いる動き探索範囲が第２の事前解析手段１０６や符号化手段１０９の処理で用いる動き探索範囲と同等以下である場合は、その範囲内で最適な探索範囲を推定する。
【０１２２】
以上説明したように動き探索範囲を制御し、動き検出の可能性が高い探索範囲を設定することで、適切な動きベクトルが検出され、動き補償フレーム間予測性能が向上する。また、探索範囲を必要最小限に設定することで、動きベクトルの符号量を最小にできるため、動き補償フレーム間予測の処理効率が向上する。
【０１２３】
（第３実施例）
図１７は図１に示した符号化構造設定手段の第３実施例の構成を示すブロック図である。
【０１２４】
図１７に示すように、第３実施例の符号化構造設定手段１０２は、シーンチェンジ検出結果に基づいてＩピクチャを指定して出力するＮ値及びフレーム・フィールド構造設定手段１０２２を備えた構成である。
【０１２５】
通常、Ｉピクチャは所定の周期で挿入され、その間隔はＮ値で表記される。場面が変わる場合、フレーム間予測が効かないため、フレーム内符号化ピクチャ（Ｉピクチャ）を選択する。本実施例では、例えば、場面が変わった直後のＰピクチャをＩピクチャに変更し、Ｎ値を可変にする。
【０１２６】
図１８は第３実施例の符号化構造設定手段によるＩピクチャの挿入例を示す模式図である。
【０１２７】
図１８（ａ）は、Ｎ＝９、Ｍ＝３のＧＯＰ構造を示し、９フレーム間隔でＩピクチャが挿入される例である。ここで、図の黒い三角形の位置でシーンチェンジが検出された場合、図１８（ｂ）、（ｃ）、（ｄ）に示すように、その位置にＩピクチャが挿入される。
【０１２８】
Ｉピクチャ挿入以降のＧＯＰ構造は、いくつかの形態が考えられる。
【０１２９】
例えば、図１８（ｂ）では、Ｉピクチャを挿入しても以降のＩピクチャの位置は従来のままである。一方、図１８（ｃ）では、Ｉピクチャを挿入すると、そこから新たにＮ＝９の間隔でＩピクチャが挿入される。また、図１８（ｄ）では、Ｉピクチャを挿入すると、次のＩピクチャをＰピクチャに変更する例である。
【０１３０】
以上のように、動き補償フレーム間予測が効かないフレームを検出してフレーム内符号化ピクチャ（Ｉピクチャ）を挿入することで、効率的な符号化が実現できる。
【０１３１】
また、本実施例では、ＭＰＥＧ２のようにフレーム構造とフィールド構造とが利用できる符号化方式の場合、フレーム構造とフィールド構造とをフレーム毎に適宜選択する。例えば、フレーム構造を基本にして符号化しているとき、フレームを構成する２つのフィールドのうち、第１フィールドと第２フィールド間でシーンチェンジを検出した場合は、そのフレームについてフィールド構造を選択して符号化する。具体的には、図１９に示すように、フィールド３とフィールド４間でシーンチェンジを検出した場合、フィールド３とフィールド４からなるフレームはフィールド構造を選択して符号化する。
【０１３２】
以上のように、フレーム構造による符号化に適さないフレームを検出した場合は、そのフレームをフィールド構造で符号化することで効率的な符号化が可能になる。
【０１３３】
（第４実施例）
図２０は図１に示した符号化構造設定手段の第４実施例の構成を示すブロック図である。
【０１３４】
図２０に示すように、第４実施例の符号化構造設定手段１０２は、冗長フィールド検出結果に基づいてフレーム構成情報を出力するフレーム構成設定手段１０２３を備えた構成である。また、それに伴ってフィールドリピート情報、１ｓｔフィールド情報、及びフレームレート情報をそれぞれ出力する。
【０１３５】
例えば、図２１に示すように、フィールド３、８、１３が冗長フィールドであると検出した場合、フィールド１、２、フィールド４、５、フィールド６、７、フィールド９、１０でそれぞれフレームを構成して冗長フィールドを取り除き、そのフレーム構成情報を出力する。さらに、それに対応したフィールドリピート情報、１ｓｔフィールド位相情報、及びフレームレート情報を出力する。このように、冗長フィールドを検出して取り除くことで効率的な符号化が可能になる。
【０１３６】
なお、符号化構造設定手段１０２は、上記第１実施例〜第４実施例で示した構成のうち、一部の手段によって得られる処理結果だけを出力してもよく、上記第１実施例〜第４実施例で示した構成を任意に組み合わせて得られる処理結果を出力してもよい。
【０１３７】
（３）前処理制御手段
（第１実施例）
図２２は図１に示した前処理制御手段の第１実施例の構成を示すブロック図である。
【０１３８】
図２２に示すように、第１実施例の前処理制御手段１０３は、入力画像の特徴量から前処理フィルタの特性を決定するフィルタ特性制御手段１０３１を備えた構成である。本実施例で用いる特徴量には、複雑度、アクティビティ、フレーム間予測誤差量、発生符号量、符号化誤差量等がある。
【０１３９】
フィルタ特性制御手段１０３１は、例えば、入力画像の情報量が多い場合に、ローパスフィルタを通して帯域を制限することで符号化時の劣化を軽減する。具体的には、複雑度、アクティビティ、予測誤差量、発生符号量、あるいは符号化誤差量の大きさに比例して強く帯域を制限（より低いカットオフ周波数に設定）するローパスフィルタを用いる。
【０１４０】
（第２実施例）
図２３は図１に示した前処理制御手段の第２実施例の構成を示すブロック図である。
【０１４１】
図２３に示すように、第２実施例の前処理制御手段１０３は、入力画像の特徴量から画像サイズを決定する解像度制御手段１０３２を備えた構成である。本実施例で用いる特徴量には、複雑度、アクティビティ、予測誤差量、発生符号量、符号化誤差量等がある。
【０１４２】
解像度制御手段１０３２は、例えば、入力画像の情報量が多い場合に、画面に対する表示サイズ（画像サイズ）を小さくして画素数を減らすことで符号化画質の劣化を軽減する。具体的には、複雑度、アクティビティ、予測誤差量、発生符号量、あるいは符号化誤差量の値が大きいほど解像度を下げて画像サイズを小さくし、少ない画素数で符号化する。
【０１４３】
なお、前処理制御手段１０３は、入力画像の特徴量から画像のフレームレートを決定してもよい。この処理で用いる入力画像の特徴量には、複雑度、アクティビティ、予測誤差量、発生符号量、符号化誤差量等がある。
【０１４４】
この場合、例えば、入力画像の情報量が多いときに、符号化するフレーム数（画面数）を減らすことで符号化画質の劣化を軽減する。具体的には、複雑度、アクティビティ、予測誤差量、発生符号量、符号化誤差量の値が大きいほどフレームレートを下げ、単位時間当たりの画面数を少なくして符号化する。
【０１４５】
以上説明したように、第１の解析情報に対する符号化の前処理として、帯域制限、画像サイズ変換、あるいはフレームレート変換を実施することで、入力画像信号の情報量を低減しつつ符号化による大きな画質劣化を抑制できる。
【０１４６】
なお、前処理制御手段１０３は、上記構成のうち、一部の手段によって得られる処理結果だけを出力してもよく、これらを任意に組み合わせて得られる処理結果を出力してもよい。
【０１４７】
（４）第２の事前解析手段
（第１実施例）
図２４は図１に示した第２の事前解析手段の第１実施例の構成を示すブロック図である。
【０１４８】
第１実施例の第２の事前解析手段１０６は、前処理された入力画像毎のアクティビティを算出するアクティビティ計算手段と、過去に入力された前処理画像を参照画像として、符号化構造設定手段１０２で決定された符号化構造に基づき動きベクトル探索を行い、動きベクトルを生成して動き補償フレーム間予測画像を作成し、フレーム間予測誤差を計算するフレーム間予測手段と、アクティビティ及びフレーム間予測誤差から符号化構造設定手段１０２で決定されたピクチャタイプに応じてそれぞれの画面の複雑度を推定する複雑度推定手段とを有する構成である。
【０１４９】
アクティビティ及びフレーム間予測誤差の計算方法、並びに複雑度の推定方法としては、上記第１の事前解析手段１０１と同様の方法を用いればよい。
【０１５０】
（第２実施例）
図２５は図１に示した第２の事前解析手段の第２実施例の構成を示すブロック図である。
【０１５１】
第２実施例の第２の事前解析手段１０６は、予め設定された符号化方法及び符号化構造設定手段１０２で決定した符号化構造にしたがって前処理画像を符号化する符号化手段１０６４と、画面毎の複雑度を算出する複雑度計算手段１０６５とを有する構成である。
【０１５２】
符号化手段１０６４は、例えば、固定の量子化幅で符号化して画面毎の発生符号量を計測する。あるいは予め設定されたビットレートで符号化し、量子化幅の画面毎の平均値と画面毎の発生符号量とを計測して出力する。
【０１５３】
複雑度計算手段１０６５は、固定の量子化幅Ｑあるいは量子化幅の画面毎の平均値Ｑ及び発生符号量Ｓから画面毎の複雑度Ｘを次式で計算する。
【０１５４】
【数１３】
2005094458.tif 000015
【０１５５】
なお、第２の事前解析手段１０６は、上記第１実施例及び第２実施例で示した構成のうち、一部の手段によって得られる解析情報だけを出力してもよく、図２４、図２５に示した構成を任意に組み合わせて得られる解析情報を出力してもよい。
【０１５６】
（５）目標符号量設定手段
図２６は図１に示した目標符号量設定手段の一構成例を示すブロック図である。
【０１５７】
図２６に示すように、本実施例の目標符号量設定手段１０７は、符号量初期配分決定手段１０７１、バッファ制約調整手段１０７２、及び制御パラメータ計算手段１０７３を備えた構成である。本実施例では、第２の事前解析手段１０６によりＬフレーム分の入力画像について解析されているものとする。このとき、符号量初期配分決定手段１０７１は、期間Ｌの総符号量を第２の事前解析手段１０６で算出された複雑度Ｘにしたがって配分する。
【０１５８】
例えば、符号量初期配分決定手段１０７１により符号量を複雑度Ｘに比例して配分した場合、第ｊレームからＬフレームまでの期間の目標符号量Ｔ［ｊ］は次式のようになる。
【０１５９】
【数１４】
2005094458.tif 000016
【０１６０】
ここで、Ｘａは期間Ｌの複雑度の総和である。
【０１６１】
【数１５】
2005094458.tif 000017
【０１６２】
Ｒａはその期間に割り当て可能な総符号量であり、ビットレートをＲとすると、次式で求まる。
【０１６３】
【数１６】
2005094458.tif 000018
【０１６４】
あるいは、それまでに実際に発生した符号量と目標符号量との差をDiffとしたとき、その値で補正した次式を用いて算出してもよい。
【０１６５】
【数１７】
2005094458.tif 000019
【０１６６】
ここで、ｇ（Ｄｉｆｆ）は差分から補正量を決めるための関数であり、Diffに正の相関がある関数である。
【０１６７】
さらに、期間Ｌに配分する符号量は、第１の事前解析手段１０１で算出された複雑度及び第２の事前解析手段１０６で算出された複雑度に応じて決めてもよい。その場合、図２に示したように、第１の事前解析手段１０１の解析結果は２Ｌフレーム先まで利用できる。
【０１６８】
いま、フレームｊからｊ＋Ｌ−１までの期間１とフレームｊ＋Ｌからｊ＋２Ｌ−１までの期間２とで符号化構造の設定及び前処理内容が同じとする。ここで、第１の事前解析手段１０１で算出された複雑度をＸ’［ｉ］とすると、
【０１６９】
【数１８】
2005094458.tif 000020
【０１７０】
を定義し、
【０１７１】
【数１９】
2005094458.tif 000021
【０１７２】
により符号量を配分する。
【０１７３】
期間１と期間２の符号化構造の設定、あるいは前処理の処理内容が異なる場合は、その差異による複雑度の変化の補正関数ｈを予め定めておき、
【０１７４】
【数２０】
2005094458.tif 000022
【０１７５】
により符号量の配分を決定する。
【０１７６】
以上のように、事前解析結果に基づいて符号量を配分することで、必要な符号量を適切に配分できるようになる。
【０１７７】
なお、符号量初期配分決定手段１０７１は、符号量をＸ＾ｐに比例して配分してもよい。
すなわち、
【０１７８】
【数２１】
2005094458.tif 000023
【０１７９】
とし、Ｙ［ｉ］をＸ［ｉ］の代わりに用いてもよい。
【０１８０】
人間の視覚は、情報量が多いシーンでは劣化が見え難くなる性質を有している。したがって、複雑度Ｘに単純に比例するのではなく、複雑度Ｘのｐ乗（ｐ＜１．０）に比例するように符号量を配分する。このように、人の視覚特性を考慮して符号量を配分することで、符号化画質が向上する。
【０１８１】
また、符号量初期配分決定手段１０７１は、事前解析期間をＧＯＰ単位とし、各ＧＯＰの複雑度の計算結果に基づいてＧＯＰ毎の目標符号量を決定し、各ＧＯＰにおけるピクチャ毎に配分する符号量を決定してもよい。
【０１８２】
例えば、第ｋのＧＯＰの複雑度をＸｇｏｐ［ｋ］、第ｋの目標符号量をＴｇｏｐ［ｋ］としたとき、
【０１８３】
【数２２】
2005094458.tif 000024
【０１８４】
により目標符号量を決定する。ここで、Ｘｇ［ｋ］は、第ｋのＧＯＰにおける各ピクチャの複雑度の総和である。
【０１８５】
または、ピクチャタイプ毎の符号化特性を考慮して、
【０１８６】
【数２３】
2005094458.tif 000025
【０１８７】
としてもよい。ここで、Ｋ［ｉ］は第ｉピクチャのピクチャタイプに依存した重みとする。また、Ｘｋｇ［ｋ］は第ｋのＧＯＰのピクチャの複雑度とピクチャタイプに依存した重みとの積の総和である。
【０１８８】
これにより、ＧＯＰ単位ではピクチャタイプに依存する差異を考慮せずにシーンの符号化の難易度に応じた配分を行い、ＧＯＰ内部ではピクチャタイプに応じた配分比率で符号量を割り当てることができるため、シーンの特性及びピクチャタイプの特性に応じた符号量の配分が可能になる。なお、複雑度の代わりに固定の量子化幅で符号化したときに得られる発生符号量を用いてもよい。
【０１８９】
バッファ制約調整手段１０７２は、符号量初期配分決定手段１０７１により配分された所定期間内の符号量が符号化バッファの制約を満たしているか否かを観測し、満たしていない場合は割り当て符号量を調整する。すなわち、符号化バッファでオーバーフローやアンダーフローが発生しないように目標符号量を調整する。具体的には、初期配分による割り当て符号量から次式によりピクチャ毎のバッファ占有量ＢＯＣを算出する。
【０１９０】
【数２４】
2005094458.tif 000026
【０１９１】
Ｒｆｒａｍｅは、本実施例の符号化時に使用するビットレートＲから算出されるフレームあたりの符号量であり、次式で示される。
【０１９２】
【数２５】
2005094458.tif 000027
【０１９３】
ここで、ｆｒａｍｅｒａｔｅ（フレームレート）は単位時間当たりのフレーム数である。また、バッファ占有量の蓄積下限値ＢＯＣ［０］＝０とする。
【０１９４】
バッファ制約調整手段１０７２は、符号化バッファの蓄積上限値をＢとしたとき、割り当て期間内において、ＢＯＣ［ｊ］がＢ−Ｒｆｒａｍｅより小さいか否かを確認する。この値を越えていれば符号化バッファがオーバーフローを起こす符号量であるため、ＢＯＣ［ｊ］が最大となる以前のフレームの割り当て符号量を減らしてオーバーフローが起きないようにする。減らした符号量はそれ以降のフレームに加えて再配分する。
【０１９５】
また、バッファ制約調整手段は、ＢＯＣ［ｊ］が０より大きいか否かを確認する。この値を下回っていれば符号化バッファがアンダーフローを起こす符号量であるため、ＢＯＣ［ｊ］が最小となる以前のフレームの割り当て符号量を増やしてアンダーフローが起きないようにする。増やした符号量はそれ以降のフレームから差し引いて再配分する。
【０１９６】
図２７はバッファ制約調整手段による符号化バッファのオーバーフロー及びアンダーフローの回避処理を説明するための模式図である。
【０１９７】
まず、バッファ制約調整手段は、符号量の初期割り当てによるＢＯＣの推移を計算する。続いて、ＢＯＣの最大値及び最小値をそれぞれ計算する。ここで、ＢＯＣの最大値＋Ｒｆｒａｍｅがバッファサイズを超えている場合はオーバーフローするため、そのときの時間ｊｏを求める。また、ＢＯＣの最小値が０未満の場合はアンダーフローするため、そのときの時間ｊｕを求める。
【０１９８】
例えば、図２７に示すように、先に時間ｊｏでオーバーフローすることが判明した場合、期間ｊからｊｏまでの割り当て符号量を時間ｊｏでオーバーフローしないように減らす。減らした符号量は期間ｊｏ＋１からｊ＋Ｌ−１に割り当てる。すなわち、バッファサイズを越えないように期間１の総符号量を計算し、その符号量で期間１内に再配分する。期間１で減らした符号量は期間２に割り当て、期間２内で再配分する。
【０１９９】
バッファ制約調整手段は、調整後の割り当て符号量により再度ＢＯＣの推移を計算し、オーバーフローあるいはアンダーフローの有無を調べる。その結果、先に時間ｊｕでアンダーフローすることが判明した場合、時間ｊｏまでは調整済みなので、期間ｊｏ＋１からｊｕまでの割り当て符号量を時間ｊｕでアンダーフローしないように増やす。増やした符号量は期間ｊｕ＋１からｊ＋Ｌ−１で減らす。すなわち、図２７に示す期間１の割り当て符号量はそのままで、目標符号量Ｔ［ｊ］が０未満にならないように期間３の総符号量を計算し、その符号量で期間３内に再配分する。期間３で増やした符号量は期間４から減らし、期間４内で再配分する。バッファ制約調整手段は、調整後の割り当て符号量により再度ＢＯＣの推移を計算し、オーバーフローあるいはアンダーフローの有無を調べる。以降、符号化バッファのオーバーフローあるいはアンダーフローがなくなるまで同様の処理を繰り返す。
【０２００】
なお、符号量の調整時には、符号化バッファの蓄積上限値及び蓄積下限値に任意のマージンを設定してもよい。また、割り当て期間を１フレームずつずらし、１フレーム毎に割り当て符号量を更新する場合は、割り当て期間の最初のフレームの割り当て符号量が決まれば、以降のフレームに対する符号量の調整は省略してもよい。
【０２０１】
バッファ制約調整手段の他の例として、ＢＯＣの振れ幅のみ制限するように調整する手法もある。すなわち、ＢＯＣの最大値及び最小値をそれぞれ測定し、それらの差が指定範囲以内に収まるようにする。そのため、符号量の初期配分にてＢＯＣの最大値と最小値の差を測定し、その差と予め指定した値を比較し、これを越えている場合に、最大値、最小値を含む期間の割り当て符号量が指定範囲内に収まるように増減させ、それ以外の期間の符号量を該増減量にしたがって調整する。
【０２０２】
例えば、図２７に示すように、符号量が時間ｊｏで最大となり、時間ｊｕで最小となり、ＢＯＣ［ｊｏ］とＢＯＣ［ｊｕ］との差が指定範囲を越え、かつ符号量が先に最大となる場合、期間ｊｏからｊｕでは割り当て符号量が多いため、その期間３に割り当てる符号量をＢＯＣの指定範囲内で減らし、調整後の符号量によって期間３に再配分する。期間３において減らした分は、その他の期間である、期間１、期間４を増やし、これらの期間についても調整後の符号量で再配分する。
【０２０３】
そして、再度、それぞれの期間のＢＯＣを計算してＢＯＣの最大値、最小値を測定し、その差が指定範囲内であるか否かを調べ、指定の範囲内に収まるまで上記処理を繰り返す。
【０２０４】
以上のように、バッファ制約を考慮して符号量を配分することで、バッファ制約条件がある場合にそれを遵守しつつ符号量を割り当てることができる。
【０２０５】
制御パラメータ計算手段１０７３は、バッファ制約調整手段による調整後の割り当て符号量を目標符号量として出力する。また、それから求められる目標ＢＯＣを出力する。さらに、目標符号量Ｔに合わせた量子化幅Ｑを第２の事前解析手段で求めた複雑度Ｘを用いて
Ｑ＝Ｘ／Ｔ
で計算し、その計算結果を出力する。これら目標符号量、量子化幅、及び目標ＢＯＣを目標符号量制御情報とする。
【０２０６】
（６）符号化手段
符号化手段１０９は、目標符号量設定手段からの目標符号量制御情報に基づき、第２の遅延手段１０８で遅延された前処理画像を符号化して、符号化データを出力する。
【０２０７】
図２８は図１に示した符号化手段の一構成例を示すブロック図である。
【０２０８】
図２８に示すように、符号化手段１０９は、符号量制御手段１０９１、動画像符号化手段１０９２及び符号化バッファ１０９３を有する構成である。
【０２０９】
符号量制御手段１０９１は、符号化構造設定手段１０２で決定した符号化構造、目標符号量設定手段１０７で算出した目標符号量制御情報、及び符号化中の状態に基づいて量子化スケールを計算し、動画像符号化手段１０９２に供給する。そして、動画像符号化手段１０９２の符号化処理で実際に発生した符号量（発生符号量）を計測する。発生符号量と割り当てた符号量（目標符号量）とに差がある場合は、所定のビットレートに近づくように発生符号量を制御する。
【０２１０】
例えば、１画面をさらに細分化した所定の符号化単位毎に目標符号量を分配し、細分化した符号化単位毎の目標符号量と発生符号量との差を累積し、差の累積が所定値を超過すれば、以降の符号化処理では量子化スケールを大きくして符号の発生を抑制する。逆に差の累積が所定値を下回っていれば、以降の符号化処理では量子化スケールを小さくして符号の発生を多くする。
【０２１１】
また、符号化バッファ１０９３のバッファ占有量を監視し、発生符号量により符号化バッファがオーバーフローあるいはアンダーフローしないように、量子化スケールの調整やスタッフィング等を制御する。例えば、オーバーフローを回避するためには、量子化スケールを大きくして符号の発生を抑制する。あるいは、符号化すべき情報を削減して発生符号量を抑制する。また、アンダーフローを回避するためには、量子化スケールを小さくして符号の発生を多くする。あるいは、スタッフィングを行って発生符号量を増大させる。
【０２１２】
動画像符号化手段１０９２は、符号量制御手段から与えられたパラメータを用いて前処理画像を符号化し、符号化データを生成するとともに、発生符号量を符号量制御手段１０９１に通知する。
【０２１３】
符号化バッファ１０９３は、動画像符号化手段で符号化されたデータを蓄積し、一定のビットレートで出力する。この符号化バッファ１０９３により画像毎の発生符号量の変動を吸収する。
【０２１４】
［第２の実施の形態］
図２９は本発明の動画像符号化装置の第２の実施の形態の構成を示すブロック図である。
【０２１５】
第２の実施の形態の動画像符号化装置では、予め入力画像のシーケンス全体が既知であり、フレーム数も有限であり、かつ既知であるとする。このとき、各パスは独立に動作させることができる。
【０２１６】
まず、１パス目の動作として、第１の事前解析手段２０１にて入力画像全体を一度に解析して第１の解析情報を出力し、第１の解析情報を用いて符号化構造設定手段２０２で符号化構造を設定し、符号化構造情報蓄積手段３０１に蓄積する。それとともに、第１の解析情報を用いて前処理制御手段２０３で前処理制御情報を生成し、前処理制御情報蓄積手段３０２に蓄積する。
【０２１７】
次に、２パス目の動作として、前処理制御情報蓄積手段３０２に蓄積された前処理制御情報にしたがって前処理手段２０５により入力画像を前処理する。
【０２１８】
次に、第２の事前解析手段２０６により、符号化構造情報蓄積手段３０１に蓄積された符号化構造にしたがって前処理画像を解析し、第２の解析情報を出力する。
【０２１９】
目標符号量設定手段２０７は、第２の解析情報を用いて目標符号量情報を生成し、符号化制御情報蓄積手段３０３に蓄積する。
【０２２０】
最後に、３パス目の動作として、符号化手段２０９にて符号化構造情報蓄積手段３０１に蓄積された符号化構造情報、及び目標符号量情報蓄積手段３０３に蓄積された目標符号量情報にしたがって前処理手段２０５にて前処理された画像を符号化し、符号化データを出力する。
【０２２１】
第１の事前解析手段２０１、符号化構造設定手段２０２、前処理制御手段２０３、前処理手段２０５、第２の事前解析手段２０６、目標符号量設定手段２０７、及び符号化手段２０９のその他の処理は第１の実施の形態と同様であるため、その説明は省略する。
【０２２２】
第２の実施の形態の動画像符号化装置は、入力画像全体を解析し、入力画像全体に符号量を配分し、そのあと入力画像全体を符号化する、図２に示す事前解析期間Ｌをシーケンス全体の期間とするものである。この場合、入力画像を３度入力することになり、符号化時間も第１の実施の形態の３倍以上必要になる。また、入力画像全体が既知である必要があるため、リアルタイム処理ができず、非リアルタイム処理向きの構成である。しかしながら、シーケンス全体の特徴量を考慮して符号量を配分できるため、より適切な符号量の割り当てが可能になる。
【０２２３】
なお、各パスの切り分け方法は、同等に動作するものであれば本実施形態に限るものではない。例えば、１パス目は第１の事前解析手段で解析情報を生成して蓄積しておき、２パス目で蓄積した事前解析情報を用いて符号化制御情報や前処理情報を作成しながら、前処理及び第２の事前解析手段を実行してもよい。
【０２２４】
さらに、一部のパスだけを独立して実行し、他のパスを固定された遅延量で並行して動作させてもよい。例えば、１パス目だけを独立に実行し、第２、第３のパスを固定遅延で並行して動作させてもよく、第１、第２のパスを固定遅延で並行して動作させ、３パス目だけを独立して実行してもよい。
【０２２５】
また、上記第１の事前解析手段２０１、符号化構造設定手段２０２、前処理制御手段２０３、前処理手段２０５、第２の事前解析手段２０６、目標符号量設定手段２０７、及び符号化手段２０９は、例えば、演算機能やメモリ機能を備えたＬＳＩ（Large scale Integrated Circuit）によって構成されてもよい。また、符号化構造情報蓄積手段３０１、前処理制御情報蓄積手段３０２及び目標符号量情報蓄積手段３０３は、電気的に書き換え可能な半導体記憶装置等によって構成されてもよい。または、プログラムにしたがって処理を実行するＣＰＵ、該ＣＰＵの処理に必要なデータを保持する記憶装置、プログラムを保持する記録媒体、入力画像を取り込むための入力装置や符号化後の画像データを出力するための出力装置とのインタフェースであるＩ／Ｏ部、及びネットワークを介してサーバ装置等とのデータ通信を可能にする通信装置等を備えたコンピュータによって構成されてもよい。その場合、ＣＰＵは、上記記録媒体からプログラムを主記憶装置にロードし、該プログラムにしたがって処理を実行することで、上記各手段の機能をそれぞれ実現する。
【０２２６】
以上、本発明の動画像符号化装置について、ＭＰＥＧ２方式で符号化する場合を想定して説明したが、本発明の動画像符号化装置に適用する符号化方式はこれに限るものではない。例えば、ＭＰＥＧ１、ＭＰＥＧ４、Ｈ．２６１、Ｈ．２６３、Ｈ．２６４等を用いてもよい。
【図面の簡単な説明】
【０２２７】
【図１】本発明の動画像符号化装置の第１の実施の形態の構成を示すブロック図である。
【図２】本発明の動画像符号化装置の第１の実施の形態の動作を説明する模式図である。
【図３】第１の実施の形態の動画像符号化装置の処理手順を示すフローチャートである。
【図４】図１に示した第１の事前解析手段の第１実施例の構成を示すブロック図である。
【図５】図１に示した第１の事前解析手段の第２実施例の構成を示すブロック図である。
【図６】図１に示した第１の事前解析手段の第３実施例の構成を示すブロック図である。
【図７】１フレームが２つのフィールドから構成された入力画像を示す模式図である。
【図８】図６に示す第３実施例の第１の事前解析手段によるシーンチェンジの検出例を示す模式図である。
【図９】図６に示す第３実施例の第１の事前解析手段による冗長フィールドの検出例を示す模式図である。
【図１０】図１に示した符号化構造設定手段の第１実施例の構成を示すブロック図である。
【図１１】ＭＰＥＧ２で定義されるピクチャタイプの構造例を示す模式図である。
【図１２】図１に示した符号化構造設定手段の第２実施例の構成を示すブロック図である。
【図１３】図１２に示した第２実施例の符号化構造設定手段の探索範囲の設定例を示す模式図である。
【図１４】図１２に示した第２実施例の符号化構造設定手段の探索範囲の他の設定例を示す模式図である。
【図１５】図１２に示した第２実施例の符号化構造設定手段の探索範囲の他の設定例を示す模式図である。
【図１６】図１２に示した第２実施例の符号化構造設定手段の探索範囲の他の設定例を示す模式図である。
【図１７】図１に示した符号化構造設定手段の第３実施例の構成を示すブロック図である。
【図１８】図１７に示した第３実施例の符号化構造設定手段によるＩピクチャの挿入例を示す模式図である。
【図１９】図１７に示した第３実施例の符号化構造設定手段によるシーンチェンジの検出例を示す模式図である。
【図２０】図１に示した符号化構造設定手段の第４実施例の構成を示すブロック図である。
【図２１】図２０に示した第４実施例の符号化構造設定手段による冗長フレームの検出例を示す模式図である。
【図２２】図１に示した前処理制御手段の第１実施例の構成を示すブロック図である。
【図２３】図１に示した前処理制御手段の第２実施例の構成を示すブロック図である。
【図２４】図１に示した第２の事前解析手段の第１実施例の構成を示すブロック図である。
【図２５】図１に示した第２の事前解析手段の第２実施例の構成を示すブロック図である。
【図２６】図１に示した目標符号量設定手段の一構成例を示すブロック図である。
【図２７】図２６に示すバッファ制約調整手段による符号化バッファのオーバーフロー及びアンダーフローの回避処理を説明するための模式図である。
【図２８】図１に示した符号化手段の一構成例を示すブロック図である。
【図２９】本発明の動画像符号化装置の第２の実施の形態の構成を示すブロック図である。
【図３０】第１従来例の動画像符号化装置の構成を示すブロック図である。
【図３１】第２従来例の動画像符号化装置の構成を示すブロック図である。
【符号の説明】
【０２２８】
１０１、２０１    第１の事前解析手段
１０２、２０２    符号化構造設定手段
１０３、２０３    前処理制御手段
１０４    第１の遅延手段
１０５、２０５    前処理手段
１０６、２０６    第２の事前解析手段
１０７、２０７    目標符号量設定手段
１０８    第２の遅延手段
１０９、２０９、１００６、１０６４    符号化手段
３０１    符号化構造情報蓄積手段
３０２    前処理制御情報蓄積手段
３０３    目標符号量情報蓄積手段
１００１、１０６１    アクティビティ計算手段
１００２、１０６２    フレーム間予測手段
１００３、１００９    フレーム間相関推定手段
１００４、１０６３    複雑度推定手段
１００５、１００８    動きベクトル統計量計算手段
１００７、１０６５    複雑度計算手段
１０１０    フレーム間差分計算手段
１０１１    シーンチェンジ検出手段
１０１２    冗長フィールド検出手段
１０２０    Ｍ値設定手段
１０２１    動きパラメータ設定手段
１０２２    Ｎ値及びフレーム・フィールド構造設定手段
１０２３    フレーム構成設定手段
１０３１    フィルタ特性計算手段
１０３２    解像度計算手段
１０７１    符号量初期配分決定手段
１０７２    バッファ制約調整手段
１０７３    制御パラメータ計算手段
１０９１    符号量制御手段
１０９２    動画像符号化手段
１０９３    符号化バッファ
【図１】
2005094458.tif 000028
【図２】
2005094458.tif 000029
【図３】
2005094458.tif 000030
【図４】
2005094458.tif 000031
【図５】
2005094458.tif 000032
【図６】
2005094458.tif 000033
【図７】
2005094458.tif 000034
【図８】
2005094458.tif 000035
【図９】
2005094458.tif 000036
【図１０】
2005094458.tif 000037
【図１１】
2005094458.tif 000038
【図１２】
2005094458.tif 000039
【図１３】
2005094458.tif 000040
【図１４】
2005094458.tif 000041
【図１５】
2005094458.tif 000042
【図１６】
2005094458.tif 000043
【図１７】
2005094458.tif 000044
【図１８】
2005094458.tif 000045
【図１９】
2005094458.tif 000046
【図２０】
2005094458.tif 000047
【図２１】
2005094458.tif 000048
【図２２】
2005094458.tif 000049
【図２３】
2005094458.tif 000050
【図２４】
2005094458.tif 000051
【図２５】
2005094458.tif 000052
【図２６】
2005094458.tif 000053
【図２７】
2005094458.tif 000054
【図２８】
2005094458.tif 000055
【図２９】
2005094458.tif 000056
【図３０】
2005094458.tif 000057
【図３１】
2005094458.tif 000058