(57)【要約】【課題】  目標符号量に応じた量子化ステップを高精度に設定する。【解決手段】  レート制御部112の係数保持部302は、動画像の解像度およびフレームの符号化方法に対応する複数の係数セットを格納する。係数選択部301は、符号化する動画像の解像度と符号化対象フレームの符号化方法に応じた係数セットを係数保持部302から選択する。特徴量抽出部304は、符号化対象フレームの特徴量を抽出する。QR曲線生成部303は、符号化対象フレームをフレーム間予測符号化する場合、選択された係数セットと特徴量から量子化ステップと発生符号量の関係を示す関数を生成する。モデル型Q決定部300は、QR曲線生成手段303が関数を生成する場合、その関数に基づき目標符号量に応じた量子化ステップを符号化対象フレームの符号化に設定する。【選択図】  図4
2008283560.tif 000002
【特許請求の範囲】
【請求項１】
動画像をフレーム単位に符号化する画像処理装置であって、
動画像の解像度およびフレームの符号化方法に対応する複数の係数セットを格納する一のメモリと、
符号化する動画像の解像度を示す情報を取得し、前記解像度と符号化対象フレームの符号化方法に応じた係数セットを前記一のメモリから選択する一の選択手段と、
前記符号化対象フレームの特徴量を抽出する抽出手段と、
前記符号化対象フレームをフレーム間予測符号化する場合、前記選択された係数セットと前記特徴量から量子化ステップと発生符号量の関係を示す関数を生成する生成手段と、
前記生成手段が関数を生成する場合、前記関数に基づき目標符号量に応じた量子化ステップを前記符号化対象フレームの符号化に設定する設定手段とを有することを特徴とする画像処理装置。
【請求項２】
動画像をフレーム単位に符号化する画像処理装置であって、
動画像の解像度および階調数、並びに、フレームの符号化方法に対応する複数の係数セットを格納する一のメモリと、
符号化する動画像の解像度および階調数を示す情報を取得し、前記解像度および階調数、並びに、符号化対象フレームの符号化方法に応じた係数セットを前記一のメモリから選択する一の選択手段と、
前記符号化対象フレームの特徴量を抽出する抽出手段と、
前記符号化対象フレームをフレーム間予測符号化する場合、前記選択された係数セットと前記特徴量から量子化ステップと発生符号量の関係を示す関数を生成する生成手段と、
前記生成手段が関数を生成する場合、前記関数に基づき目標符号量に応じた量子化ステップを前記符号化対象フレームの符号化に設定する設定手段とを有することを特徴とする画像処理装置。
【請求項３】
さらに、前記符号化対象フレームを符号化した場合の発生符号量を予測する予測手段を有し、
前記設定手段は、前記生成手段が関数を生成しない場合、前記予測手段の予測の結果に基づき、目標符号量に応じた量子化ステップを前記符号化対象フレームの符号化に設定することを特徴とする請求項1または請求項2に記載された画像処理装置。
【請求項４】
さらに、少なくともフレームの符号化方法に対応した、量子化ステップと発生符号量の関係を示す複数の関数を格納する二のメモリと、
前記符号化対象フレームの符号化方法に応じた関数を前記二のメモリから選択する二の選択手段とを有し、
前記設定手段は、前記生成手段が関数を生成しない場合、前記二の選択手段が選択した関数に基づき、目標符号量に応じた量子化ステップを前記符号化対象フレームの符号化に設定することを特徴とする請求項1または請求項2に記載された画像処理装置。
【請求項５】
前記生成手段は、前記符号化対象フレームをフレーム内符号化する場合、前記関数を生成しないことを特徴とする請求項1から請求項4の何れか一項に記載された画像処理装置。
【請求項６】
動画像の解像度およびフレームの符号化方法に対応する複数の係数セットを格納するメモリを備え、動画像をフレーム単位に符号化する画像処理装置の画像処理方法であって、
符号化する動画像の解像度を示す情報を取得し、前記解像度と符号化対象フレームの符号化方法に応じた係数セットを前記メモリから選択し、
前記符号化対象フレームの特徴量を抽出し、
前記符号化対象フレームをフレーム間予測符号化する場合、前記選択された係数セットと前記特徴量から量子化ステップと発生符号量の関係を示す関数を生成し、
前記関数を生成する場合、前記関数に基づき目標符号量に応じた量子化ステップを前記符号化対象フレームの符号化に設定することを特徴とする画像処理方法。
【請求項７】
動画像の解像度および階調数、並びに、フレームの符号化方法に対応する複数の係数セットを格納するメモリを備え、動画像をフレーム単位に符号化する画像処理装置の画像処理方法であって、
符号化する動画像の解像度および階調数を示す情報を取得し、前記解像度および階調数、並びに、符号化対象フレームの符号化方法に応じた係数セットを前記メモリから選択し、
前記符号化対象フレームの特徴量を抽出し、
前記符号化対象フレームをフレーム間予測符号化する場合、前記選択された係数セットと前記特徴量から量子化ステップと発生符号量の関係を示す関数を生成し、
前記関数を生成する場合、前記関数に基づき目標符号量に応じた量子化ステップを前記符号化対象フレームの符号化に設定することを特徴とする画像処理方法。
【請求項８】
コンピュータ装置を制御して、請求項1から請求項5の何れか一項に記載された画像処理装置の各手段として機能させることを特徴とするコンピュータプログラム。
【請求項９】
請求項8に記載されたコンピュータプログラムが記録されたことを特徴とするコンピュータが読み取り可能な記憶媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、動画像の符号化に関する。
【背景技術】
【０００２】
ディジタル化された動画像は情報量が多いため、記録・伝送するに当り、情報量を圧縮する技術が必要になる。最近は、動画像の入力出力機器の高解像度化、多階調化に伴い、動画像の情報量はさらに増え、動画像の圧縮は必須である。
【０００３】
動画像を圧縮符号化する装置は、転送レートが決まっている伝達経路に動画像を出力する場合、量子化ステップを制御するレート制御を行う。レート制御は、実際の符号化に先立ち、符号化するフレームの発生符号量を見積り、その見積結果に基づきデータ圧縮率（量子化ステップ）を制御する。
【０００４】
発生符号量の見積に、過去に符号化したフレームの発生符号量を利用する方法が考えられる。しかし、符号化対象のフレームがシーンチェンジ後、言い換えれば、符号化済みのフレームがシーンチェンジ前であると、符号の発生特性が異なる。従って、シーンチェンジが挟まると、発生符号量を正しく見積ることができない。勿論、符号化対象のフレームが動画像の先頭フレームであれば、符号化済みのフレームが存在しないため、発生符号量を見積ることはできない。
【０００５】
【特許文献１】特開2002-247584公報
【発明の開示】
【発明が解決しようとする課題】
【０００６】
本発明は、目標符号量に応じた量子化ステップを高精度に設定することを目的とする。
【０００７】
また、シーンチェンジを考慮して、目標符号量に応じた量子化ステップを設定することを他の目的とする。
【課題を解決するための手段】
【０００８】
本発明は、前記の目的を達成する一手段として、以下の構成を備える。
【０００９】
本発明にかかる画像処理は、動画像の解像度およびフレームの符号化方法に対応する複数の係数セットを格納するメモリを備え、動画像をフレーム単位に符号化する画像処理であって、符号化する動画像の解像度を示す情報を取得し、前記解像度と符号化対象フレームの符号化方法に応じた係数セットを前記メモリから選択し、前記符号化対象フレームの特徴量を抽出し、前記符号化対象フレームをフレーム間予測符号化する場合、前記選択された係数セットと前記特徴量から量子化ステップと発生符号量の関係を示す関数を生成し、前記関数を生成する場合、前記関数に基づき目標符号量に応じた量子化ステップを前記符号化対象フレームの符号化に設定することを特徴とする。
【発明の効果】
【００１０】
本発明によれば、目標符号量に応じた量子化ステップを高精度に設定することができる。
【００１１】
また、シーンチェンジを考慮して、目標符号量に応じた量子化ステップを設定することができる。
【発明を実施するための最良の形態】
【００１２】
以下、本発明にかかる実施例の画像処理を図面を参照して詳細に説明する。
【実施例１】
【００１３】
［装置の構成］
図1は動画像符号化装置の構成例を示すブロック図である。
【００１４】
入力部100は、時間方向に連続する複数フレームで構成されるディジタル動画像を入力する。減算部101は、入力部101から入力されるフレームと、予測画像保持部111から出力される予測値の差（以下、予測誤差）を算出する。
【００１５】
入力された動画像のフレームは、小さな矩形ブロックBij（例えば8×8、16×16画素など）に分割される。入力動画像がカラー画像の場合、矩形ブロックBijの集合であるマクロブロック(MBij＞Bij)単位に処理を行う。小矩形分割部116は、符号化モード判定部102の制御により、入力された動画像のフレームまたは減算部101が出力する予測誤差をMB単位に分割する。
【００１６】
予測方向決定部117は、フレーム単位に、フレーム内予測符号化とフレーム間予測符号化を選択する。直交変換部103は、MB単位に、符号化対象のMBを直交変換する。量子化部104は、レート制御部112の制御に従い、直交変換部103が出力する直交変換係数をスカラ量子化する。
【００１７】
可変長符号符号化部113は、量子化部104が出力する量子化値を可変長符号化し、バッファ114へ出力する。バッファ114は、符号化された複数のフレームをバッファして、レート制御部112の制御に従い、符号化された複数のフレームをデータ圧縮された動画像データとして出力部115に出力する。なお、レート制御部112の詳細は後述する。
【００１８】
逆量子化部105は、量子化部104が出力する量子化値を逆量子化して、直交変換係数を出力する。逆直交変換部106は、逆量子化部113が出力する直交変換係数を逆直交変換してMBまたは予測誤差を再生する。
【００１９】
加算器107は、符号化モード判定部102の制御により、逆直交変換部106が再生したMBと予測画像保持部111が保持する予測画像の対応ブロックを加算して符号化対象ブロックを再生し、フレームメモリ108の対応領域に格納する。または、逆直交変換部106が再生した予測誤差をフレームメモリ108の対応領域に格納する。
【００２０】
符号化モード判定部102は、直交変換部103に符号化対象にMBを直交変換させる場合は、再生された符号化対象のMBをフレームメモリ108に格納するように加算器107を制御する。また、直交変換部103に予測誤差を直交変換させる場合は、再生された予測誤差をフレームメモリ108に格納するように加算器107を制御する。つまり、フレームメモリ108は、ローカルデコードされたフレームを記憶する。
【００２１】
動きベクトル検出部109は、MB単位に、フレームメモリ108に記憶された一つ前の符号化対象フレーム（前フレーム）の符号化画像を参照して動きベクトルを検出する。その際、動きベクトル検出部109は、符号化対象のMBの周囲±15画素の範囲でブロックマッチングを行い、予測誤差の絶対和の平均が最小のブロックを予測ブロックとして、動きベクトルを検出する。
【００２２】
動き補償部110は、動きベクトル検出部109の検出情報（動きベクトル）を用いて、フレームメモリ108に格納された再生フレーム（参照フレーム）から予測画像を生成して予測画像保持部111に格納する。予測画像保持部111は、蓄積した予測画像を減算器101と加算器107に出力する。
【００２３】
［レート制御部］
図2はレート制御部112の構成例を示すブロック図である。
【００２４】
符号化開始時、目標符号量決定部202は所定の目標符号量を出力し、量子化ステップ決定部200は所定の量子化ステップを量子化部104に設定する。
【００２５】
目標符号量決定部202は、符号化が開始され、バッファ114に符号が蓄積されると、符号の蓄積状態から各フレームの目標符号量を出力する。量子化ステップ決定部200は、目標符号量に応じた量子化ステップを仮符号化部201に出力する。
【００２６】
仮符号化部201は、直交変換部103から入力した現フレームの直交変換係数を、量子化ステップ決定部200から入力される量子化ステップによって量子化する。さらに、量子化値を可変長符号化部113と同様の方法により符号化して、発生符号量を量子化ステップ決定部200に通知する。
【００２７】
量子化ステップ決定部200は、仮符号化部201から通知された発生符号量（以下、予測符号量）が目標符号量の許容範囲内にあれば、先の量子化ステップを量子化部104に設定して、現フレームの符号化を実行させる。一方、予測符号量が目標符号量の許容範囲外にある場合は、予測符号量に基づき、発生符号量が目標符号量の許容範囲内になるように調整した量子化ステップを量子化部104に設定して、現フレームの符号化を実行させる。
【００２８】
このような構成によれば、実際の符号化に必要な演算量の二倍近い演算を必要とするが、実際の符号化に先立ち、発生符号量を正確に見積ることができる。
【００２９】
図3はレート制御部112の別の構成例を示すブロック図である。
【００３０】
QR曲線保持部204は、実験的に求めた量子化ステップQと発生符号量Rの関係（QR曲線）を保持するメモリである。QR曲線は、フレーム内符号化するイントラピクチャ（Iピクチャ）、予測符号化ピクチャ（Pピクチャ）、双方向予測ピクチャ（Bピクチャ）といったピクチャの種類ごとに用意されている。なお、QR曲線は、量子化ステップQを変数とする多項式（QR関数、R=f(Q)）である。
【００３１】
QR曲線選択部203は、符号化モード判定部112が出力する現フレームのピクチャの種類を示す情報に基づき、QR曲線保持部204が保持するQR曲線の選択情報を出力する。量子化ステップ決定部200は、選択情報が示すQR曲線を参照して、目標符号量に応じた量子化ステップを量子化部104に設定して、現フレームの符号化を実行させる。
【００３２】
QR曲線は、動画像の解像度、階調数（ビット深さ）、動画像中のオブジェクトの特性によって変化するから、目標符号量が確実に得られる保証はない。しかし、図3に示すレート制御部112の構成は、図2に示すレート制御部112に比べて、演算コストを下げることができる。
【００３３】
また、QR曲線保持部204が格納するQR曲線をピクチャの種類だけでなく、動画像の解像度および階調数に対応させてもよい。その場合、QR曲線選択部203は、入力される動画像のヘッダ情報などから動画像の解像度および階調数を示す情報を取得し、ピクチャの種類、解像度、階調数に応じて、QR曲線を選択すればよい。なお、動画像の解像度および階調数が、QR曲線保持部204が保持するQR曲線の代表的な解像度および階調数に一致しない場合は、動画像の解像度および階調数に一番近い解像度および階調数のQR曲線を選択する。
【００３４】
図4はレート制御部112のさらに別の構成例を示すブロック図である。
【００３５】
係数保持部302は、動画像の解像度に応じた係数セットを保持するメモリである。係数セットは、予測符号化ピクチャ（Pピクチャ）、双方向予測ピクチャ（Bピクチャ）といったピクチャの種類ごとに、代表的な解像度および階調数ごとに用意されている。
【００３６】
係数選択部301は、入力される動画像のヘッダ情報などから動画像の解像度および階調数を示す情報を取得する。そして、符号化モード判定部112が出力する現フレームのピクチャの種類、解像度、階調数に応じて、係数保持部302が保持する係数セットを選択する。なお、動画像の解像度および階調数が、係数保持部302が保持する係数セットの代表的な解像度および階調数に一致しない場合は、動画像の解像度および階調数に一番近い解像度および階調数の係数セットを選択する。
【００３７】
特徴量抽出部304は、符号化モード判定部112が出力するピクチャの種類がIピクチャ以外の場合、現フレームの特徴量（例えば、MB単位の輝度の平均分散などの統計量）を抽出する。
【００３８】
QR曲線生成部303は、係数保持部302が出力する係数セット（係数選択部301が選択した係数セット）と、特徴量抽出部304が出力する特徴量からQR曲線（QR関数、R=f(Q)）を生成し、生成したQR曲線をモデル型Q決定部300に入力する。ただし、QR曲線を出力するのは、符号化モード判定部112が出力するピクチャの種類がIピクチャ以外の場合で、Iピクチャの場合はQR曲線を出力しない。
【００３９】
このように、現フレームが、動画像の先頭フレームやシーンチェンジ直後のIピクチャの場合は特徴量の抽出、QR曲線の生成と出力は行われない。また、QR曲線を生成するとは、量子化ステップQを変数とする多項式の係数を決定することである。
【００４０】
モデル型Q決定部300は、QR曲線生成部303からQR曲線が入力されていない場合は、例えば図2や図3で説明した量子化ステップの決定方法により決定した量子化ステップを量子化部104に設定して、現フレームの符号化を実行させる。一方、QR曲線生成部303からQR曲線が入力されている場合は、QR曲線から目標符号量に応じて決定した量子化ステップを量子化部104に設定して、現フレームの符号化を実行させる。
【００４１】
図5はモデルQ決定部300の処理を示すフローチャートである。なお、図5は1フレーム分の処理を示している。つまり、モデルQ決定部300は、フレームの数分、図5に示す処理を繰り返す。
【００４２】
モデルQ決定部300は、処理を開始すると、目標符号量決定部202から目標符号量Rtarを入力し(S1001)、QR曲線生成部303からQR曲線が入力されているか否かを判定する(S1002)。QR曲線が入力されていない場合は、例えば図2や図3で説明した量子化ステップの決定方法により量子化ステップを決定する(S1003)。
【００４３】
また、QR曲線が入力されている場合、モデルQ決定部300は、QR曲線に基づき目標符号量Rtarに応じた量子化ステップQを決定する(S1004)。
【００４４】
図6はモデルQ決定部300の構成例を示すブロック図である。
【００４５】
Q保持部403は、Q更新部404によって更新される量子化ステップQを保持するメモリである。R算出部401は、Q更新部404から入力される量子化ステップQと、QR曲線生成部303から入力されるQR関数（R=f(Q)）を用いて符号量Rを計算する。比較部402は、目標符号量決定部202から入力される目標符号量Rtarと、R算出部401から入力される符号量Rを比較する。Q更新部404は、比較部402の出力に応じてQ保持部403が保持する量子化ステップQを更新する。
【００４６】
Q更新部404は、Q保持部403が保持する量子化ステップQから所定値を減算する減算部405、Q保持部403が保持する量子化ステップQに所定値を加算する加算部406を備える。さらに、非各部402の出力に応じて、減算部405の減算結果、または、加算部406の加算結果を選択するセレクタ407を備える。
【００４７】
ステップS1004において、発生符号量Rを変数とする関数Q=f(R)によれば、目標符号量Rtarを満たす量子化ステップQの決定は容易である。しかし、量子化ステップQを変数とする関数R=f(Q)から目標符号量Rtarを満たす量子化ステップQを導き出すのは単純ではない。
【００４８】
図7は、QR関数R=f(Q)を使って、目標符号量Rtarに対応する量子化ステップQを決定する方法を説明する図である。ここでは、量子化ステップQが取り得る範囲は1〜51とする。
【００４９】
まず、図7(a)に示すように、Q更新部404は、Qの範囲の中央値である25を量子化ステップQの初期値としてQ保持部403に保存するとともに、R算出部401に符号量Rを計算させる。比較部402は、RとRtarを比較して比較結果を示す判定信号（三値）を出力する。比較部402は、例えば、図7(b)に示すR＞Rtarの場合は「2」を、図7(c)に示すR＜Rtarの場合は「1」を、R=Rtarの場合は「0」をそれぞれ出力する。
【００５０】
セレクタ407は、比較部402が「2」を出力する場合は加算部406の出力を選択し、比較部402が「1」を出力する場合は減算405の出力を選択する。言い換えれば、R＞Rtarの場合、加算部406は符号量Rを減らすために例えば現在の量子化ステップQに1を加えた量子化ステップQを選択する。また、R＜Rtarの場合、減算部405は符号量Rを増やすために例えば現在の量子化ステップQから1を減じた量子化ステップQを選択する。
【００５１】
Q更新部404は、R=Rtar（判定信号=0）になるか、判定信号が「2」から「1」または「1」から「2」になるまで、量子化ステップQの加算または減算を繰り返す。そして、判定信号が上記の条件を満たすと、その時点の量子化ステップQを量子化部104へ出力する。このように、関数f(Q)に量子化ステップQを代入して計算した符号量Rと、目標符号量Qtarを比較して、計算した符号量Rを目標符号量Rtarに段階的に近付けることで、目標符号量Rtarを満たす量子化ステップQを決定する
【００５２】
また、モデルQ決定部300における目標符号量Rに対応する量子化ステップQを求める方法に二分木法を用いて、量子化ステップの決定を高速化することも可能である。
【００５３】
二分木法によれば、量子化ステップの初期値QiによるR=f(Qi)とRtarを比較した結果がR=f(Qi)＜Rtarの場合、最大Q値をQiとし、Qiと最小Q値1の中央値QcによってR=f(Qc)を計算する。そして、R=f(Qc)＞Rtarの場合は、最小Q値をQcとし、Qcと最大Q値の中央値をQcにして、R=f(Qc)を計算する。こうして、R=f(Q)をRtarに近付けることで、目標符号量Rtarに対応する量子化ステップQを決定する。
【００５４】
［他の実施例］
なお、本発明は、複数の機器（例えばコンピュータ、インタフェイス機器、リーダ、プリンタなど）から構成されるシステムに適用しても、一つの機器からなる装置（例えば、複写機、ファクシミリ装置、制御装置など）に適用してもよい。
【００５５】
また、本発明の目的は、上記実施例の機能を実現するコンピュータプログラムを記録した記憶媒体をシステムまたは装置に供給し、そのシステムまたは装置のコンピュータ（CPUやMPU）が前記コンピュータプログラムを実行することでも達成される。この場合、記憶媒体から読み出されたソフトウェア自体が上記実施例の機能を実現することになり、そのコンピュータプログラムと、そのコンピュータプログラムを記憶する、コンピュータが読み取り可能な記憶媒体は本発明を構成する。
【００５６】
また、前記コンピュータプログラムの実行により上記機能が実現されるだけではない。つまり、そのコンピュータプログラムの指示により、コンピュータ上で稼働するオペレーティングシステム(OS)および/または第一、第二、第三、…のプログラムなどが実際の処理の一部または全部を行い、それによって上記機能が実現される場合も含む。
【００５７】
また、前記コンピュータプログラムがコンピュータに接続された機能拡張カードやユニットなどのデバイスのメモリに書き込まれていてもよい。つまり、そのコンピュータプログラムの指示により、第一、第二、第三、…のデバイスのCPUなどが実際の処理の一部または全部を行い、それによって上記機能が実現される場合も含む。
【００５８】
本発明を前記記憶媒体に適用する場合、その記憶媒体には、先に説明したフローチャートに対応または関連するコンピュータプログラムが格納される。
【図面の簡単な説明】
【００５９】
【図１】動画像符号化装置の構成例を示すブロック図、
【図２】レート制御部の構成例を示すブロック図、
【図３】レート制御部の構成例を示すブロック図、
【図４】レート制御部の構成例を示すブロック図、
【図５】モデル型Q決定部の処理を示すフローチャート、
【図６】モデル型Q決定部の構成例を示すブロック図、
【図７】QR関数を使って、目標符号量に対応する量子化ステップを決定する方法を説明する図である。
【図１】
2008283560.tif 000003
【図２】
2008283560.tif 000004
【図３】
2008283560.tif 000005
【図４】
2008283560.tif 000006
【図５】
2008283560.tif 000007
【図６】
2008283560.tif 000008
【図７】
2008283560.tif 000009