(57)【要約】      （修正有）【課題】量子化ステップ決定する量子化制御において、画質を実質的保持しつつ、符号化ピクチャ以降の原画像データを先読みすることなく符号化する。【解決手段】画像符号化装置は、符号化するピクチャがI、P、Bピクチャのいずれであるかを検出するピクチャ判定部とそのピクチャ判定部にてピクチャがIピクチャと判定された場合には、過去に符号化されたIピクチャの発生符号量に基づいて目標符号量を決定し、PまたはBピクチャと判定された場合には、符号化済みピクチャの予測誤差情報から、符号化ピクチャの目標符号量を決定する目標符号量決定部を備える。そして、画面内ブロックの絵柄の複雑さを検出するアクティビティ演算部を備え、上記決定された目標符号量とアクティビティ情報からピクチャ内の量子化パラメータを決定する量子化制御部を備える。【選択図】図２
2007318617.tif 000002
【特許請求の範囲】
【請求項１】
一連のピクチャからなる動画像情報を符号化する画像符号化装置であって、
外部より入力されたピクチャの原画像を記憶する原画像記憶手段と、
前記原画像に基づいて、画面内予測を行うイントラ予測手段および画面間予測を行うインター予測手段と、
符号化する前記ピクチャの特徴量を算出する特徴量演算手段と、を備え、
前記イントラ予測手段または前記インター予測手段により生成された予測画像と前記原画像との差分に基づき、予測誤差情報を更新する予測誤差情報更新手段と、
前記更新された予測誤差情報および符号化を行ったピクチャの発生符号量に応じて、前記符号化するピクチャごとの目標符号量を決定する目標符号量決定手段と、
複数のブロックに分割された前記符号化するピクチャにおいて、前記特徴量および前記目標符号量に基づき、符号化する前記複数のブロック各々の量子化幅を決定する量子化制御手段とを有することを特徴とする画像符号化装置。
【請求項２】
請求項１記載の画像符号化装置において、
前記発生符号量を記憶するバッファを有し、
前記バッファが有する記憶容量の状態と予測誤差情報に基づいて、前記目標符号量が決定されることを特徴とする画像符号化装置。
【請求項３】
請求項１記載の画像符号化装置において、
前記予測誤差情報は、前記符号化するピクチャよりも以前に符号化された過去のピクチャに基づいて算出された値であることを特徴とする画像符号化装置。
【請求項４】
請求項１記載の画像符号化装置において、
前記過去のピクチャの発生符号量と前記ピクチャ内の量子化幅の平均値との乗算値を行う手段を有し、
前記符号化するピクチャが、画面内予測のときには、前記乗算値に基づいて目標符号量を決定することを特徴とする画像符号化装置。
【請求項５】
請求項１記載の画像符号化装置において、
前記過去のピクチャの予測誤差と前記符号化するピクチャの発生符号量との関係を定式化する手段を有し、
前記符号化するピクチャが、画面間予測のときには、前記関係式に基づいて目標符号量を決定することを特徴とする画像符号化装置。
【請求項６】
請求項１乃至５記載の画像符号化装置のいずれか一つにおいて、
前記符号化するピクチャが有する属性と前記符号化するピクチャの直前に符号化されたピクチャが有する属性との差分値を検出し、シーンチェンジの有無を検出するシーンチェンジ検出手段を備え、
前記差分値が所定の閾値より小さいと判定したときには、前記過去のピクチャの予測誤差情報と前記符号化するピクチャの発生符号量との関係式に基づいて目標符号量を決定することを特徴とする画像符号化装置。
【請求項７】
請求項６記載の画像符号化装置において、
前記シーンチェンジが検出された場合には、前記過去のピクチャの予測誤差情報と前記符号化するピクチャの発生符号量との関係式を更新することを特徴とする画像符号化装置。
【請求項８】
請求項６記載の画像符号化装置において、
前記符号化するピクチャの種類を判定するピクチャタイプ判定手段を有することを特徴とする画像符号化装置。
【請求項９】
請求項２記載の画像符号化装置において、
前記符号化するピクチャの直前に符号化されたピクチャの予測誤差と発生符号量の関係に基づき予め準備された関係式により前記目標符号量が決定されることを特徴とする画像符号化装置。
【請求項１０】
請求項１記載の画像符号化装置において、
前記符号化するピクチャの発生符号量の許容範囲を設け、
前記許容範囲に基づき、前記量子化幅の上限値、および下限値を決定することを特徴とする画像符号化装置。
【請求項１１】
請求項１０記載の画像符号化装置において、
前記ピクチャごとの発生符号量状況を検出する手段を有し、
前記発生符号量状況に基づいて、前記許容範囲が決定されることを特徴とする画像符号化装置。
【請求項１２】
請求項１記載の画像符号化装置において、
前記特徴量の最大値、最小値、および平均値をピクチャ単位で算出することを特徴とする画像符号化装置。
【請求項１３】
請求項１２記載の画像符号化装置において、
前記特徴量の最大値、および最小値に対して、前記量子化幅の最大値、および最小値をそれぞれ対応付けることにより、前記符号化するブロックの量子化幅を決定することを特徴とする画像符号化装置。
【請求項１４】
請求項１２記載の画像符号化装置において、
前記特徴量の最大値、最小値、および平均値に対して、前記量子化幅の最大値、最小値、および基準値をそれぞれ対応付けることにより、前記符号化するブロックの量子化幅を決定することを特徴とする画像符号化装置。
【請求項１５】
一連のピクチャからなる動画像情報を符号化するステップ有する動画像符号化プログラムであって、
外部より入力されたピクチャの原画像を記憶する原画像記憶手段を有し、
前記原画像に基づいて、画面ピクチャ内予測を行うイントラ予測ステップおよび画面予測を行うインター予測ステップと、
符号化する前記ピクチャの特徴量を算出する特徴量演算するステップと、を備え、
前記イントラ予測ステップまたは前記インター予測ステップにより生成された予測画像と前記原画像との差分に基づき、予測誤差情報を更新する予測誤差情報更新するステップと、
前記更新された予測誤差情報および符号化を行ったピクチャの発生符号量に応じて、前記符号化するピクチャごとの目標符号量を決定する目標符号量決定するステップと、
複数のブロックに分割された前記符号化するピクチャにおいて、前記特徴量および前記目標符号量に基づき、符号化する前記複数のブロック各々の量子化幅を制御するステップをコンピュータに実行させるための動画像符号化プログラム。
【請求項１６】
請求項１５記載の動画像符号化プログラムにおいて、
前記符号化するピクチャの種類を判定するピクチャタイプ判定ステップを有することを特徴とする動画像符号化プログラム。
【請求項１７】
請求項１６記載の動画像符号化プログラムにおいて、
前記符号化するピクチャが有する属性と前記符号化するピクチャの直前に符号化されたピクチャが有する属性との差分値を検出し、シーンチェンジの有無を検出するステップを備え、
前記差分値が所定の閾値より大きいと判定したときには、前記過去のピクチャの予測誤差情報と前記符号化するピクチャの発生符号量との関係式に基づいて目標符号量を決定するステップを有することを特徴とする動画像符号化プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、画像データを効率的に符号化するための画像符号化装置、及び画像符号化プログラムに関する。
【背景技術】
【０００２】
従来、画像データを効率的に符号化するための画像符号化の技術としては、MPEG（Moving Picture Experts Group）に代表される符号化方式がある。図１に一般的なMPEG規格における画像符号化装置の構成を示す。
【０００３】
図１に示す量子化制御部では、符号化されたデータを所定のデータ量で伝送するため、各ピクチャに対する割り当てデータ量（目標符号量）を制御する。例えば、MPEG符号化方式では、性質の異なる３種類のピクチャ(I、P、Bピクチャ)が存在するため、各ピクチャの種類によって目標符号量を決定する。即ちIまたはPピクチャをPまたはBピクチャの参照ピクチャとして用いる場合は、I、Pピクチャの目標符号量をBピクチャよりも多く割り当てる。
【０００４】
上記のような量子化制御方式としては、例えば特許文献１のように、符号化ピクチャの量子化パラメータを決定する際に、符号化ピクチャを含めた1GOP分の原画像データを先読みして、イントラ予測処理とインター予測誤処理を実施し、イントラ予測処理とインター予測誤処理によって得られる予測誤差の大きさに応じて各ピクチャへ符号量を割り当てる量子化制御方式が知られている。また、非特許文献２のように、符号化ピクチャの予測誤差情報と発生符号量の相関関係に着目し、符号化ピクチャの目標符号量を決定する量子化制御方式が知られている。
【０００５】
【特許文献１】特開2006-25077号公報
【非特許文献１】MPEG-2, Test Model 5(TM5), Doc.ISO/IEC JTC1/SC29/WG11/N0400, Test Model Editing Committee, Apr.1993
【非特許文献２】“画像性質とバッファ制約を考慮したH.264レート制御方式”,  電子情報通信学会論文誌,D-II,Vol.J88-D-II, 2005年, p.1114-1125
【発明の開示】
【発明が解決しようとする課題】
【０００６】
以下、MPEG-2規格にて用いられているMPEG-2  Test  Model  5方式を例に量子化制御部での動作を簡単に説明する。なお、詳細な動作説明は、後述する。
【０００７】
MPEG-2  Test  Model  5では、各ピクチャへの符号量割り当てを行うステップ１、仮想バッファを用いて、ピクチャ内の各ブロックへの量子化パラメータを決定するステップ２、ピクチャ内の視覚特性を考慮して各ブロックの量子化パラメータに重み付けを行うステップ３の３ステップの処理が行われている（非特許文献１参照）。
【０００８】
ところで、上記MPEG-2  Test  Model  5方式では、上記ステップ２の処理とステップ３の処理が相反して動作する場合がある。例えばステップ２において、符号化マクロブロックの符号量が多く発生した場合には、次に符号化するマクロブロックにおいて発生符号量を抑えようと量子化ステップが大きくなる方向に働く。そのとき、次に符号化するマクロブロックのアクティビティが小さい場合には、量子化ステップが小さくなる方向に働き、ステップ２とステップ３の制御が相殺されてしまうといった問題があった。
【０００９】
また、特許文献1の方式では、符号化ピクチャを含めて1GOP分の画像データを先読みして、イントラ予測またはインター予測誤処理を実施する必要があるため、処理時間が大幅にかかる。特に、HD(High Definition:高品位)画像などのサイズの大きい動画像データを符号化する際には、実時間で符号化処理を行うことが困難であるといった問題があった。
【００１０】
また、非特許文献２の方式においても、符号化ピクチャの画像データを先読みして、符号化ピクチャ内の全マクロブロックの予測誤差を算出した後に、符号化ピクチャの目標符号量を決定するため、マクロブロックごとに符号化処理を行うパイプライン処理には不適であるといった問題があった。
【００１１】
従って、本発明の目的は、かかる問題を解消し、画質を実質的に保持しながら、符号化ピクチャ以降の原画像データを先読みすることなく量子化制御を実施することを可能とした画像符号化装置および符号化方法を提供することである。
【課題を解決するための手段】
【００１２】
上記課題を解決するために、本発明の画像符号化装置は、符号化するピクチャがI、P、Bピクチャのいずれであるかを検出するピクチャ判定部とそのピクチャ判定部にてピクチャがIピクチャと判定された場合には、過去に符号化されたIピクチャの発生符号量に基づいて目標符号量を決定し、PまたはBピクチャと判定された場合には、符号化済みピクチャの予測誤差情報から、符号化ピクチャの目標符号量を決定する目標符号量決定部を備える。そして、画面内ブロックの絵柄の複雑さを検出するアクティビティ演算部を備え、上記決定された目標符号量とアクティビティ情報からピクチャ内の量子化パラメータを決定する量子化制御部を備える。
【００１３】
本発明の画像符号化方法は、シーンチェンジなどの符号化ピクチャと符号化済みピクチャとの相関が低い場合には、符号化済みピクチャの予測誤差情報と符号化ピクチャの発生符号量を推定する関係式を補正するように制御することが好ましい。
【発明の効果】
【００１４】
本発明によれば、MPEG規格をはじめとする動画像符号化方式における量子化ステップ決定する量子化制御において、画質を実質的保持しつつ、符号化ピクチャ以降の原画像データを先読みすることなくて符号化することが可能となる。
【発明を実施するための最良の形態】
【００１５】
図１に一般的なMPEG規格における画像符号化装置の構成を示す。同図において、101は入力された画像を記憶する原画像メモリである。102は、原画像データと過去に符号化されたデータから生成された予測画像データの差分を取る加算器である。103は加算器102で演算された差分データを周波数領域に変換する直交変換処理部であり、104は、103で直交変換されたデータを量子化する量子化部である。
【００１６】
また、105は、104で量子化されたデータを符号化する符号化部である。106は、105で符号化されたデータを伝送するために、蓄積されるバッファであり、107は104で量子化されたデータを逆量子化する逆量子化部である。108は107で逆量子化されたデータを逆変換する逆直交変換部である。109は、108にて逆直交変換されたデータに、フレームメモリに格納されている過去のピクチャデータを加算する加算器である。
【００１７】
また、110は、加算器109で演算された後の復号画像データを記憶するフレームメモリであり、111は、原画像データと復号画像データの近似している部分を検出し、その動き検出によって生成された動きベクトルに基づき、フレームメモリから原画像データに最も近い復号画像データを読み出して予測画像を生成する動き検出・動き補償部である。113は、原画像をある領域にブロック分割し、そのブロックの特徴量を決定するアクティビティ演算を行うアクティビティ演算部である。112は、量子化ステップを制御し、目標符号量および符号化画質の品質を決定する量子化制御部である。114は符号化ブロックの周囲の画素から予測画像を生成するイントラ予測部である。
【００１８】
次に、MPEG-2  Test  Model  5における各ステップの処理を説明する。
【００１９】
ステップ１では、まず、符号化ピクチャの発生符号量と画面の複雑さを示すパラメータXi、Xp、Xbを次式により求める。
【００２０】
【数１】
2007318617.tif 000003
【００２１】
ここで、Si、Sp、Sbはそれぞれ、I、P、Bピクチャ符号化時の発生符号量、Qi、Qp、QbはそれぞれI、P、Bピクチャの量子化パラメータの平均値である。また、パラメータXi、Xp、Xbの初期値は、次式で示される値が用いられる。
【００２２】
【数２】
2007318617.tif 000004
【００２３】
ここで、bit_rateは目標ビットレートである。
【００２４】
次に、Iピクチャの量子化パラメータとP、Bピクチャの各量子化パラメータとの比率Kp、Kbを決定し、各ピクチャの目標符号量を決定する。Kp、Kｂの値はそれぞれ次式に示す値が用いられる。
【００２５】
【数３】
2007318617.tif 000005
【００２６】
GOP(Group of Picture)内の各I、P、Bピクチャに対する目標符号量をTi、Tp、Tbとすると、それぞれ次式で表される。
【００２７】
【数４】
2007318617.tif 000006
【００２８】
ここで、Np、NbはGOP内でまだ符号化されていないP、Bピクチャの枚数であり、frame_rateはフレームレートである。また、Rは、GOP内に対して割り当てられる符号量であり、次式で更新される。
【００２９】
【数５】
2007318617.tif 000007
【００３０】
また、GOP内の最初のピクチャを符号化する際には、次式が用いられる。
【００３１】
【数６】
2007318617.tif 000008
【００３２】
NはGOP内のピクチャ数である。またシーケンスの最初でのRの初期値は0である。
【００３３】
ステップ２では、上記ステップ１で求められた各ピクチャに対する目標符号量と発生符号量とを一致させるため、ピクチャタイプごとに独立に設定した３種類の仮想バッファ容量に基づき、マクロブロック(MB: ピクチャ内を16×16画素単位で分割したブロック)ごとの量子化パラメータを決定する。I、P、Bピクチャの仮想バッファ占有量は、次式により求められる。
【００３４】
【数７】
2007318617.tif 000009
【００３５】
ここで、Bjはピクチャ先頭からj番目のマクロブロックまでの発生符号量、 はピクチャ内のマクロブロック数である。ｊ番目のマクロブロックの量子化パラメータを次式により計算する。
【００３６】
【数８】
2007318617.tif 000010
【００３７】
ここで、rはフィードバックの応答速度を制御するパラメータであり次式で与えられる。
【００３８】
【数９】
2007318617.tif 000011
【００３９】
なお、仮想バッファ占有量の初期値は、次式で与えられる。
【００４０】
【数１０】
2007318617.tif 000012
【００４１】
ステップ３では、平坦部では歪が目立ちやすく、絵柄の複雑な部分では目立ちにくいという人間の視覚特性を利用し、その判別のために、アクティビティと呼ばれる分散値を用いる。そして、アクティビティに基づいて量子化ステップを変更している。具体的な処理としては、マクロブロックを4分割し、8×8画素ブロック単位で輝度信号の分散値を計算する。分散値は、数式11の計算式で求める。ここで、変数nはマクロブロック内の8×8ブロックの位置であり、左上の8×8ブロックを1右上の8×8ブロックを2、左下の8×8ブロックを3、右下の8×8ブロックを4とする。また、Pn(x,y)は、ピクチャ内の(x,y)位置の輝度信号を示している。
【００４２】
【数１１】
2007318617.tif 000013
【００４３】
アクティビティは、数式12に示す式で算出する。
【００４４】
【数１２】
2007318617.tif 000014
【００４５】
ここで、最小値をとるのは、マクロブロック内の一部だけでも平坦部のある場合には量子化を細かくするためである。さらに量子化ステップの重み付け係数Nactを、下記の式で算出する。
【００４６】
【数１３】
2007318617.tif 000015
【００４７】
ここで、avg_actは、直前に符号化したピクチャのアクティビティの平均値である。
続いて、ステップ２で算出された量子化パラメータQPjに重み付け係数Ｎact を乗算符号化ブロックの量子化パラメータQPを算出する。
【００４８】
【数１４】
2007318617.tif 000016
【００４９】
このような方法により、視覚的劣化の目立ちにくい絵柄の複雑な部分では、荒く量子化を行い、また視覚的劣化の目立ちやすい平坦な領域においては細かく量子化して、発生符号量を制御する。
【００５０】
以下に、図を用いて、本発明の実施例を詳細に述べる。
＜実施例１＞
図２は、本発明による画像符号化装置の一実施例の構成を示すブロック構成図である。同図に示すように、本画像符号化装置は、従来の画像符号化装置のように、原画像メモリ101、加算器102、直交変換部103、量子化部104、符号化部105、バッファ106、逆量子化部107、逆直交変換部108、フレームメモリ110、動き検出・動き補償部111、量子化制御部112、アクティビティ演算部113、イントラ予測部114、シーンチェンジ検出部201、ピクチャタイプ判定部202、予測誤差情報算出部203、目標符号量決定部204から構成される。
【００５１】
上記構成において、シーンチェンジを検出するシーンチェンジ検出部201、符号化ピクチャの種類を判定するピクチャタイプ判定部202、イントラ予測または、インター予測処理によって選択された予測モードに基づいて生成された予測画像と原画像の差分平均値を更新する予測誤差情報更新部203、ピクチャごとの目標符号量を決定する目標符号量決定部204を除いては、従来知られている画像符号化装置と実質的に同じである。そこで、従来知られている処理部においては、図１と同じ番号を付し、説明を省略する。
【００５２】
以下、図３、図４、図５、図６を参照して本発明の主要部であるシーンチェンジ検出部201、ピクチャ判定部202、予測誤差情報算出部203、目標符号量決定部204における処理を中心に本実施例を説明する。図３は、本実施例における符号化処理の流れを示すフローチャート図である。
【００５３】
まず、ステップS301にて、符号化ピクチャと符号化ピクチャの直前に符号化されたピクチャとの相関をチェックし、シーンチェンジが起こったかどうかを判定する。シーンチェンジの判定においては、例えば符号化ピクチャと符号化ピクチャの直前に符号化されたピクチャとの輝度差分値を算出し、この輝度差分値がある閾値よりも大きい場合は、シーンチェンジが起こったものと判定する。ステップS301にてシーンチェンジが検出されなかった場合には、符号化ピクチャの目標符号量決定するステップS302に移る。以下、符号化ピクチャの目標符号量を決定する方法について説明する。
【００５４】
動画像符号化では、予測誤差が大きくなると予測誤差を符号化するのに必要な情報量が増加するため、発生符号量が増える。また、量子化ステップ幅が小さいほど、細かく量子化されることになり発生符号量が増える。以下、この量子化幅を決定するパラメータを量子化パラメータQPと呼ぶことにする。一例として、量子化パラメータQP1、QP2、QP3の関係が、QP1<QP2<QP3となっているとき、予測誤差と発生符号量の関係は図４のように近似できる。
【００５５】
このような画像符号化処理の特性に基づき、符号化ピクチャの前に符号化されたピクチャの予測誤差と発生符号量の関係を、予め統計的に求め、次式のように定式化しておく。
【００５６】
【数１５】
2007318617.tif 000017
【００５７】
ここで、Tは予測される符号化ピクチャの発生符号量、SADは過去に符号化されたピクチャ予測誤差平均値、a、bは量子化パラメータによって決まる変数である。各量子化パラメータに対応する変数a、bは、図１５に示すような対応表を作成し、目標符号量決定部内のメモリに記憶しておく。なお、数式15は１次式で表したが、２次式以上の多項式で表しても良い。その際、係数は次数に比例して増えることになる。そして、数式15を用いて算出される値をピクチャごとの目標符号量とする。
【００５８】
ここで、予測誤差情報を用いる過去の符号化ピクチャと符号化ピクチャが異なるピクチャタイプの場合、過去に符号化されたピクチャの予測誤差平均値と符号化ピクチャにおいて発生する符号量との相関が低くなるため、数式15を用いて目標符号量を決定することが難しくなる場合がある。そこで、例えば、図５に示すように、符号化ピクチャがIピクチャ(I1)であるとき、目標符号量をTiとすると、既に符号化済みのＩピクチャ（I0）の発生符号量とQPの平均値を乗算した値Xiから目標符号量Tiを次式のように求める。
【００５９】
【数１６】
2007318617.tif 000018
【００６０】
ここで、ave(QP)は、符号化するIピクチャ(I1)の直前に符号化されたピクチャ（P1）の量子化パラメータの平均値である。また、aはIピクチャの発生符号量を補正する重み付け係数である。
【００６１】
一方、符号化ピクチャがPピクチャ（P2）のとき、Pピクチャ（P2）符号化前に符号化されたピクチャがIピクチャ（I1）であるため、この場合は、Iピクチャ(I1)符号化前に符号化されたピクチャ（P1）の予測誤差平均値を用いて、数式15により目標符号量を決定する。同様に符号化するピクチャがBピクチャ（B2）のときは、Bピクチャ（B2）符号化前に符号化されたBピクチャ(B1)の予測誤差平均値を用いて、数式15により目標符号量を決定する。上記目標符号量は、次GOP全体の目標符号量決定に用いることもできる。例えば、過去に符号化されたピクチャの目標符号量をピクチャタイプ毎にメモリに格納しておく。そして、次GOP内のピクチャタイプの構成（I,B,B,P,B,B,P・・・）により、各ピクチャの枚数を計算し、上記目標符号量を加算することで、次GOP全体の目標符号量を決定することができる。
【００６２】
なお、上記予測誤差は、H.264符号化方式のように複数の予測モードが使用されている場合、イントラ予測またはインター予測処理によって選択された予測モードの中で、最も符号化効率が良くなる予測モードで生成された予測画像と原画像の差分絶対値和を用いる。なお、予測誤差は前記差分絶対値和に重み付けを行った値を用いても良い。また、上記、予測誤差は予測画像と原画像の差分絶対値和に代えて例えば予測誤差の二乗和を適用する場合等、必要に応じて種々のパラメータを広く適用することができる。また上記予測誤差平均値は、ピクチャ内の全マクロブロックの予測誤差平均ではなく、1マクロブロック置きに算出した予測誤差の平均値を用いても良い。また、上記予測誤差平均値は、イントラ予測画像を生成する際に用いるイントラ予測画像の予測誤差平均値とインター予測処理によって生成される予測誤差平均値をそれぞれ求め、状況に応じて切り替えても良い。
【００６３】
上記の方法により、符号化ピクチャの目標符号量を決定した後、次に、アクティビティ演算部113にて符号化マクロブロックのアクティビティを算出する（S303）。アクティビティの算出方法としては、例えば、数式11、12を用いて求める。なお、アクティビティは輝度値の分散値ではなく、輝度値の絶対差分和を用いても良い。
【００６４】
次に、ステップS302にて決定された目標符号量とステップS303にて算出されたアクティビティ情報に基づき、マクロブロックごとの量子化パラメータを決定する(S304)。マクロブロックごとの量子化パラメータの決定では、まず、ステップ302にて決定された目標符号量から、符号化ピクチャの量子化パラメータの基準値QPinitを求める。この量子化パラメータの基準値Qpinitの算出方法を述べる。
【００６５】
まず、図６に示すようにステップS302にて決定された目標符号量（BIT）と、符号化ピクチャを符号化前に符号化されたピクチャの予測誤差平均値（AVG_SAD）との交点Tを求める。次に、量子化パラメータとa、bの関係を記憶した対応表から、数式15示される直線を求め、交点Tをはさむ2直線に対応する量子化パラメータQP１、QP2を探索する。この量子化パラメータQP１とQP2をTの位置で内分した値を、量子化パラメータ基準値QPinitの値とする。ここで、図６に示す変数Dは、量子化パラメータと係数a、bの対応付けを行う対応表における記憶する量子化パラメータの間隔であり、記憶する量子化パラメータの値が5の場合はD=5となる。このように量子化パラメータ基準値Qpinitを決定した後、ステップS303にて算出されたアクティビティ情報に基づき、マクロブロックごとの量子化パラメータを決定する。具体的には、数式13および数式14により、量子化パラメータの重み付け係数Nactを算出し、量子化パラメータ基準値Qpinitに対してNactの重み付けをおこない、符号化マクロブロックの量子化パラメータを決定する。
【００６６】
次に、ステップS304にて符号化マクロブロックの量子化パラメータが決定した後、その量子化パラメータを用いて、従来の符号化装置と同様に、イントラ予測部114にてイントラ予測処理を、動き検出・動き補償部111にてインター予測処理を行い、予測誤差を直交変換部103にて直交変換、量子化部104にて量子化、符号化部105にて符号化を行うといった一連の符号化処理を行う（S305）。
【００６７】
次に、予測誤差情報更新部203にてピクチャの先頭マクロブロックから符号化マクロブロックまでの予測誤差の平均値を算出する（S306）。S303〜S306の処理をピクチャ内の全てのマクロブロックが終了するまで繰り返す。そして、ピクチャ内の全てのマクロブロックにおいて上記処理が終了した後、ステップS301に戻る。
【００６８】
次に、ステップ301にてシーンチェンジが検出された場合について説明する。シーンチェンジが検出された場合には、符号化ピクチャと過去の符号化ピクチャとの相関が低くなることが予想される。そのため、符号化ピクチャがPまたはBピクチャの場合には、イントラ予測モードが多く選択されることになる。そこで、このような場合には、数式16を用いて目標符号量を決定することにする。そして、シーンチェンジ後の符号化ピクチャにて目標符号量と実際の発生符号量との差が閾値THを超えたピクチャが続く場合には、図１５に示す係数a、bの値を目標符号量と実際の発生符号量との差が小さくなるように変更して、数式15の関係式を補正する（S309）。S301〜S309の処理をピクチャ内の全てのマクロブロックが終了するまで繰り返す。
【００６９】
本実施例では、符号化ピクチャの過去に符号化されたピクチャの予測誤差平均値を使用しているため、符号化ピクチャの画像データを先読みせずに、目標符号量と量子化パラメータを決定することができる。また、各ピクチャの目標符号量を決定した後に、アクティビティの大きさに応じたマクロブロックごとの量子化パラメータ決定処理に移るため、MPEG-2  Test  Model  5方式のように、ステップ２とステップ３の制御が相殺されるということは起こらない。
＜実施例２＞
本実施例では、ピクチャごとに発生する符号量の上限値と下限値を設定することにより、バッファ破綻を回避して安定して符号化することが可能な画像符号化装置について述べる。本実施例の画像符号化装置は図２と同様の構成である。
【００７０】
量子化制御処理では、デコーダのバッファ状態を仮想的にモデル化したものを破綻(オーバーフローまたはアンダーフロー)しないように符号化データを生成する必要がある。図７にバッファの概念図を示す。横軸は経過時間、縦軸はバッファ占有量であり、この仮想バッファを破綻しないように量子化パラメータを決定する必要がある。
【００７１】
図８は、本実施例における符号化処理の流れを示すフローチャート図である。まずステップS801にて、符号化直前のバッファ占有量の状況を確認する。一般にバッファ占有量は、情報量の多いIフレームにおいてバッファレベルが下がり、その後のPまたはBフレームにおいてバッファレベルを回復するように制御することが望ましい。そこで、例えば図７に示すようにバッファ占有量がオーバーフローリミット（Overflow Limit）とアンダーフローリミット(Underflow Limit)の間で推移するように量子化パラメータを決定する。
【００７２】
次にステップS802、S804にて符号化ピクチャの目標符号量と許容する発生符号量の上限値、下限値を決定する。以下、目標符号量および許容する発生符号量の上限値、下限値の決定方法について述べる。
Ｉピクチャ符号化時には、Ｉピクチャ符号化後のバッファ残量が、最小バッファレベルをなるべく下回らないように、目標符号量と許容する発生符号量の上限値と下限値を決定する。
【００７３】
図９にＩピクチャの目標符号量、許容する発生符号量の上限値と下限値の決定方法を示す。Bは、Ｉピクチャの符号化直前のバッファ占有量である。Ｉピクチャでの目標符号量Tiは、実施例1と同様に過去に符号化されたＩピクチャの発生符号量とQPの平均値を乗算した値Xiから数式16を用いて算出する。次に、ステップS801にて確認したバッファ占有量が最小バッファレベル(MinLevel)付近に位置する場合には、以下のように目標符号量を決定する。まず、B-Tiが最小バッファレベル(MinLevel)を下回らない場合（図９中(a)）には、目標符号量Tiは変更せずに、許容する発生符号量の上限値をa×Ti、許容する発生符号量の下限値をb×Tiとする。ここで、係数a、bはa>1、0<b<1の値をとる。一方、B-Tiが最小バッファレベルを下回る場合（図９中(b)）は、B-MinLevelを許容する発生符号量の上限値とし、ｃ×(B-MinLevel)を目標符号量、d×(B-MinLevel)を許容する発生符号量の下限値とする。ここで、係数c、dは、1>c>d>0である。
【００７４】
次にP、Bピクチャ符号化時の目標符号量および、許容する発生符号量の上限値、下限値の決定法について説明する。
P、Bピクチャ符号化時には、P、Bピクチャの発生符号量が、アンダーフローリミットを下回らないようにP、Bピクチャの目標符号量および許容する発生符号量の上限値、許容する発生符号量の下限値を決定する。
【００７５】
図１０にP、Bピクチャの目標符号量、許容する発生符号量の上限値、許容する発生符号量の下限値の決定方法を示す。Bは、P、Bピクチャの符号化直前のバッファ占有量である。P、Bピクチャでは、符号化ピクチャを符号化する前に符号化されたピクチャの予測誤差平均値と符号化ピクチャの発生符号量の相関が高いため、数式15を用いて算出された値を目標符号量Tとする。
【００７６】
次に、ステップS801にて確認したバッファ占有量がアンダーフローリミット境界付近に位置する場合には、以下のように目標符号量を決定する。まず、B-Tがバッファのアンダーフローリミット(UFL)を下回らない場合（図１０中(a)）には、目標Tは変更せずに、許容する発生符号量の上限値をa×T、許容する発生符号量の下限値をb×Tとする。ここで、係数a、bはa>1、0<b<1の値をとる。一方、B-Tがバッファのアンダーフローリミット(UFL)を下回る場合（図10中(b)）には、(B-UFL)を許容する発生符号量の上限値とし、c×(B-UFL)を目標符号量、d×(B-UFL)を許容する発生符号量の下限値とする。ここで、係数c、dは、1>c>d>0の値をとる。
【００７７】
次に、ステップS801にて確認したバッファ占有量Bが、オーバーフローリミット付近に位置する場合の処理について説明する。図１１にオーバーフローリミット付近での各ピクチャの目標符号量および許容する発生符号量の上限値、下限値の決定方法を示す。各ピクチャの目標符号量Tは、数式15または数式16を用いて算出された値を用いる。そして、B-Tがオーバーフローリミット(OFL)を上回らない場合は、目標符号量Tは変更せずに、許容する発生符号量の上限値をa×T、許容する発生符号量の下限値をb×T (図１１中(a))。ここで、係数a、bはa>1、0<b<1である。一方、B-Tがオーバーフローリミット(OFL)を上回る場合（図１１中(b)）は、B-OFLを許容する発生符号量の下限値とし、e×(B-UFL)を目標符号量、f×(B-UFL)を許容する発生符号量の上限値とする。ここで、係数e、fは、1<e<fである。
【００７８】
上述した方法により、符号化ピクチャの目標符号量および許容する符号量の上限値、下限値を決定した後、目標符号量から符号化ピクチャの量子化パラメータの基準値を決定し（S803）、許容する発生符号量の上限値、下限値から符号化ピクチャの量子化パラメータの最小値、最大値をそれぞれ決定する(S805)。符号化ピクチャの量子化パラメータの基準値、最大値、最小値を決定方法は、実施例１で述べた目標符号量から基準値QPinitを求める方法と同様の処理により求めることができる。
【００７９】
以上のようにして決定されたピクチャ内の量子化パラメータの基準値、最大値、最小値に基づき、マクロブロックごとの量子化パラメータを決定する。(S806) 
マクロブロックごとの量子化パラメータの決定では、実施例１と同様に量子化パラメータの基準値QPinitに対して、アクティビティの大きさに応じて重み付けを行い、マクロブロックごとのQPを決定する。即ち、数式11〜数式14の処理を適用してマクロブロックごとの量子化パラメータを算出する。このとき、算出されたマクロブロックの量子化パラメータQPがステップS805によって求められたピクチャ内の量子化パラメータの最大値QPmaxを超える場合は、QP=QPmaxとし、ピクチャ内の最小値QPminを下回る場合は、QP=QPminとする。本実施例により、バッファ破綻を回避して安定した量子化制御を行うことが可能となる。
＜実施例３＞
本実施例では、各マクロブロックの量子化パラメータを決定する方法について述べる。本実施例は、上記実施例にて述べた符号化装置と同様の構成である。まず、実施例２のステップS802、S804にて述べた方法により、目標符号量および、許容する発生符号量の上限値、下限値を求める(S1201)。次に、ステップS803、S805と同様の処理を実施することにより、符号化ピクチャの量子化パラメータ 基準値Qpinitおよび最大値QPmax、最小値QPminを求める。次にアクティビティ演算部113にて算出されるアクティビティ情報に基づき、アクティビティと量子化パラメータとの特性を決定する（S1202）。
【００８０】
具体的には、図１３に示すように量子化パラメータの最大値Qpmaxに対して符号化ピクチャを符号化する前に符号化されたピクチャのアクティビティの最大値Act_maxを、量子化パラメータの最小値QPminに対して符号化ピクチャを符号化する前に符号化されたピクチャのアクティビティの最小値Act_minを対応付ける。次にアクティビティ演算部113にて算出される符号化マクロブロックのアクティビティの大きさに応じて、量子化パラメータQPを決定する（S1203）。即ち、図１３に示すように、アクティビティの値ACTが領域Aにある場合は、QP=QPmin、領域Cにある場合には、QP=QPmaxとし、領域Bにある場合には、次式を用いて求める。
【００８１】
【数１７】
2007318617.tif 000019
【００８２】
量子化パラメータQPを決定した後、アクティビティ演算部113にて算出されるアクティビティの最大値、およびアクティビティの最小値を更新する(S1205)。上記ステップS1202〜S1205の処理をピクチャ内のすべてのマクロブロックに対して実施する。なお、アクティビティの最大値、最小値は、アクティビティの値にフィルタをかけた後の値を用いてもよい。
【００８３】
上記ステップ1202において決定するアクティビティとQP特性は、図１４に示すような特性にしても良い。即ち、符号化ピクチャの量子化パラメータ 基準値QPinit、最大値QPmax、最小値QPminにおいて、量子化パラメータの基準値Qpinitに対して符号化ピクチャを符号化する前のピクチャのアクティビティ平均値Act_avgを、最大値QPmaxに対して、符号化ピクチャを符号化する前のピクチャのアクティビティ最大値ACT_maxを、最小値QPminに対して符号化ピクチャを符号化する前のピクチャのアクティビティ最小値ACT_minを対応付ける。
【００８４】
そして、アクティビティ演算部113にて算出される符号化マクロブロックのアクティビティの大きさに応じて、量子化パラメータQPを決定する。即ち図１４に示すように、アクティビティの値ACTが領域Aにある場合は、QP=QPmin、領域Dにある場合には、QP=QPmaxとし、領域Bにある場合には、次式を用いて求める。
【００８５】
【数１８】
2007318617.tif 000020
【００８６】
また、領域Cにある場合には、次式を用いて求める。
【００８７】
【数１９】
2007318617.tif 000021
【００８８】
大抵の自然画像におけるアクティビティの分布の特徴としては、大抵のアクティビティ値は低い領域に集中する。本実施例により、アクティビティの高い領域と低い領域とで、アクティビティ値の変動に対する量子化パラメータの感度を変えることで、全ての領域のアクティビティ値に対して、アクティビティの差を反映した量子化パラメータの設定を行うことが可能となる。また、図１４中の点Qの位置を調整することで、ピクチャごとの発生符号量の増減が可能となる。即ち、Qが左上に移動するほど全体的にQPが高くなり発生符号量が抑制される。従って、ピクチャごとに目標符号量と発生符号量の差をフィードバックさせて符号量の調整を行うことができ、発生符号量の目標ビットレートへの追従性を向上させることが可能となる。
＜実施例４＞
本実施例においては、上記実施例における符号化処理を実行するステップ手順を記録したプログラムを作成することによりコンピュータで動作させることができる。なお、このような符号化処理を実行するプログラムを、インターネット等のネットワークを介してユーザがダウンロードして使用することができる。また記録媒体に記録して使用することができる。また、このような記録媒体としては、光ディスク、光磁気ディスク等の記録媒体に広く適用することができる。
【００８９】
また、上記実施例では、入力画像の単位をピクチャとして説明してきたが、ピクチャ内を複数の分割したスライス単位で符号化する場合にも適用できる。また、インタレース画像を入力データとして符号化する場合、フィールドとして符号化する場合においても適用できる。また、上記実施例においては、マクロブロック(16×16画素)単位で処理を行う場合について説明したが、32×32画素や8×8画素など、任意の大きさのブロックで処理を行う場合にも適用できる。本発明はH.264符号化方式をはじめとして、各種の画像データ、符号化方式において、広く適用することができる。
【図面の簡単な説明】
【００９０】
【図１】従来の画像符号化装置の構成を示すブロック図である。
【図２】本発明による画像符号化装置の第１、第２、第３の実施形態を示すブロック構成図である。
【図３】第１の実施形態での量子化ステップの設定のための処理の流れを示すフローチャートである。
【図４】符号化処理における予測誤差と発生符号量の関係を示した概念図である。
【図５】本発明において、符号化ピクチャと目標符号量算出に用いるピクチャとの位置関係を示した図である。
【図６】本発明において、目標符号量から量子化パラメータを算出する決定する方法を示した図である。
【図７】バッファ占有量の推移を示したバッファの概念図である。
【図８】第２の実施形態での量子化ステップの設定のための処理の流れを示すフローチャートである。
【図９】第２の実施形態におけるアンダーフロー境界でのIピクチャの目標符号量および許容する発生符号量の決定方法を示した図である。
【図１０】第２の実施形態におけるアンダーフロー境界でのP、Bピクチャの目標符号量および許容する発生符号量の決定方法を示した図である。
【図１１】第２の実施形態におけるオーバーフロー境界での各ピクチャの目標符号量および許容する発生符号量の決定方法を示した図である。
【図１２】第３の実施形態での量子化ステップの設定のための処理の流れを示すフローチャートである。
【図１３】第３の実施形態おけるアクティビティと量子化パラメータの特性を示した図である。
【図１４】第３の実施形態おけるアクティビティと量子化パラメータの特性を示した図である。
【図１５】本発明における予測誤差と発生符号量の関係を決定する対応表の一例である。
【符号の説明】
【００９１】
101…原画像メモリ、
102、109…加算器、
103…直行変換部、
104…量子化部、
105…符号化部、
106…バッファ、
107…逆量子化部、
108…逆直行変換部、
110…フレームメモリ、
111…動き検出・動き補償部、
112…量子化制御部、
113…アクティビティ演算部、
114…イントラ予測部、
201…シーンチェンジ検出部、
202…ピクチャタイプ判定部、
203…予測誤差情報更新部、
204…目標符号量決定部。
【図１】
2007318617.tif 000022
【図２】
2007318617.tif 000023
【図３】
2007318617.tif 000024
【図４】
2007318617.tif 000025
【図５】
2007318617.tif 000026
【図６】
2007318617.tif 000027
【図７】
2007318617.tif 000028
【図８】
2007318617.tif 000029
【図９】
2007318617.tif 000030
【図１０】
2007318617.tif 000031
【図１１】
2007318617.tif 000032
【図１２】
2007318617.tif 000033
【図１３】
2007318617.tif 000034
【図１４】
2007318617.tif 000035
【図１５】
2007318617.tif 000036