説明

動画像符号化装置

【課題】高能率の動画像符号化を可能にし、かつ高能率符号化の符号化モードを判定するに際し、符号化を実行しなければならない符号化モードの数の低減を可能にすること。
【解決手段】第1モード符号化器20は、第1符号化モードで動画像の符号化を実行し、符号化後の画素データと制御データを出力する。コスト関数計算器40は、第1符号化モードでのコスト関数の値を計算し、符号化モード選択器50は、該コスト関数の値と各符号化モードごとの閾値を比較して、実行する符号化モードを判定する。該判定に従い第2〜第nモード符号化器30は符号化を実行する。最終モード判定器60は、符号化を実行した符号化モードのうちコスト関数の値が最小となる符号化モードを最終モードとして選択する。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、動画像符号化装置に関し、特に、複数の符号化モードにより符号化を行う符号化手段を備え、動画像信号の高能率符号化を達成するために符号化モードの判定を必要とする動画像符号化装置に関する。
【背景技術】
【0002】
従来、複数の符号化モードにより符号化を行う符号化手段を備え、それらの符号化モードのうち高能率符号化を達成する符号化モードを判定し、これにより判定された符号化モードで動画像信号を符号化する動画像符号化装置が知られている。
【0003】
例えば、画像符号化の国際標準であるH.264では、動き補償を行う面積単位を8×8画素、8×16画素、16×8画素、16×16画素の4種類のブロックサイズとする符号化モードがあり、そのうちから符号化効率の高いブロックサイズを選択して符号化を行う。また、8×8画素のブロックサイズが選択される場合は、各ブロックを4×4画素、4×8画素、8×4画素に分割することも可能である。
【0004】
また、フレーム内符号化の符号化効率を向上させる方法として、隣接するブロックの特徴に基づいて予測符号化を行う予測符号化を行うフレーム内予測符号化がある。例えば、H.264では符号化するブロックに隣接する画素値に基づいて予測画像を生成し、その予測画像との誤差を符号化する。この符号化においても、ブロックを4×4画素とする符号化モードや16×16画素とする符号化モードがある。
【0005】
複数の符号化モードから高能率符号化を達成する符号化モードを判定する基準としてはコスト関数が知られている。コスト関数は、H.264参照ソフトウェアJM(http://iphome.hhi.de/suehring/tml/index.htm)にみられるように、下記式で表される。
RDCost=D+λR
【0006】
ここで、Dは、画素データから計算されるものであり、例えば予測誤差のSAD(差分絶対値和)である。また、λは、QP(量子化パラメータ)から計算されるものであり、JMではλ(QP)=(0.85×2(QP−12)/3)1/2である。また、Rは、制御データから計算されるものであり、制御データ(動きベクトルやモード番号など)の符号量である。
【0007】
通常、Dを小さくしようとして高度な符号化モードを選択すると、制御データの符号量Rが大きくなり、かえって全体の圧縮率が低下してしまうという結果を招いてしまう。このため、DとRのトレードオフを考慮するためにRDCost最小化を符号化モード判定の基準とする。RDCost最小化を基準として符号化モードを判定する方式には、以下の2つの方式(1),(2)がある。
(1)第1の方式: 全ての符号化モード(第1〜第n符号化モード)で符号化を実行し、各符号化モードでのコスト関数の値を計算し、該値が最小となる符号化モードを選択する総当り方式。
(2)第2の方式: 第1符号化モード(SKipモード)でのコスト関数の値がモード判定閾値より小さい場合は第1符号化モードで確定する。ここでのモード判定閾値は、第2〜第n符号化モードでのコスト関数の理論上の最小値であり、N×λ(QP)(N:定数)で表される。確定しなかった場合には、他の符号化モードでの符号化を実行し、例えば「第2符号化モードでのコスト<第3符号化モードでのコスト」ならば第4符号化モード以降の符号化を行なわない方式。第2の方式は、非特許文献1に記載されている。
【非特許文献1】P. Yiny, H.-Y. C. Tourapis et al, “FAST MODE DECISION AND MOTION ESTIMATION FOR JVT/H.264”, IEEE Trans. ICIP 2003
【発明の開示】
【発明が解決しようとする課題】
【0008】
しかしながら、第1の方式では、全ての符号化モードで符号化を実行してコスト関数の値を計算しなければならないため、計算量が膨大になり処理速度が低下するという課題がある。
【0009】
第2の方式では、モード判定閾値が第2〜第n符号化モードでのコスト関数の理論上の最小値、すなわちD=0かつR=(最低の制御データ符号量)におけるRDCostの値であり、処理を行なわないと判定される確率が低くなる。実際には、コスト関数の理論上の値よりもある程度大きな値でも符号化モード間でのコスト関数の値の大きさに差が無いことが多く、もう少し大きな値をモード判定閾値にしてもよい場合がある。
【0010】
また、第2の方式では、第1符号化モードでの符号化の段階では「第1符号化モードのみで符号化する」か「他の全ての符号化モードでも符号化する」かのどちらかという選択肢しか存在しないため、符号化モードの省略が効率的ではないという課題がある。
【0011】
さらに、第2の方式では、 第1符号化モードでのコスト関数の値とモード判定閾値を比較して第1符号化モードと確定しなかった場合には、他の複数の符号化モードで符号化を実行しないと他の符号化モードでの符号化を判定できず、どの符号化が高能率であるかを効率的に判定できないという課題もある。
【0012】
本発明の目的は、上記課題を解決し、符号化効率を殆ど落とすことなく高能率で動画像符号化を行うことができ、かつ高能率符号化を達成するために符号化モードを判定するに際し、符号化を実行しなければならない符号化モードの数を低減することができる動画像符号化装置を提供することにある。
【課題を解決するための手段】
【0013】
上記課題を解決するため、本発明は、第1〜第n(nは2以上の自然数)符号化モードのうち1つのモードを選択して符号化を行なう手段を有し、量子化パラメータの値に基づいて画質および圧縮率を制御する機能を有する動画像符号化装置において、第1符号化モードで動画像の符号化を実行し、符号化後の画素データと制御データを出力する第1モード符号化手段と、コスト関数計算手段と、符号化を実行する符号化モードを判定する符号化モード選択手段と、第2〜第nモード符号化手段と、最終モード選択手段とを備え、前記コスト関数計算手段は、前記第1モード符号化手段によって出力された画素データと制御データ、および量子化パラメータに基づいて第1符号化モードでのコスト関数の値を計算し、また、符号化モード選択手段により実行することと判定された符号化モードでのコスト関数の値を計算し、前記符号化モード選択手段は、前記コスト関数計算手段により求められた、少なくとも第1符号化モードでのコスト関数の値に応じて第2〜第nの符号化モードのうち符号化を実行する符号化モードを判定し、前記第2〜第nモード符号化手段のうち前記符号化モード選択手段により実行することと判定された符号化モードでの符号化を実行する符号化手段は符号化を実行し、それ以外の符号化手段は符号化を実行せず、前記最終モード選択手段は、符号化を実行した符号化手段の符号化モードにおいてコスト関数の値が最小となる符号化モードを最終モードとして選択することを第1の特徴としている。
【0014】
また、本発明は、前記第1の符号化モードが、全ての符号化モードのうちでコスト関数の最小値が最も小さい値をとることが予測される符号化モードであることを第2の特徴としている。
【0015】
また、本発明は、前記第1の符号化モードが、全ての符号化モードのうちで符号化処理が最もシンプルな符号化モードであることを第3の特徴としている。
【0016】
また、本発明は、前記符号化モード選択手段が、第2〜第nの符号化モードそれぞれに対して異なるモード判定閾値を与え、第1モード符号化手段において求められたコスト関数の値よりモード判定閾値が小さい符号化モードで符号化を実行するものとして判定するようにすることを第4の特徴としている。
【0017】
また、本発明は、前記モード判定閾値が、量子化パラメータの値に応じて異なる値をとることを第5の特徴としている。
【0018】
また、本発明は、前記モード判定閾値が、前記コスト関数と同様の関数に、符号化モードごとに与えられた定数を与えることによって計算される値であることを第6の特徴としている。
【0019】
また、本発明は、前記符号化モード選択手段が、モード判定閾値に0を超える任意の実数値の係数を乗算してモード判定閾値を調節することによって、符号化後の画質および符号化速度を調節する機能を有することを第7の特徴としている。
【0020】
また、本発明は、前記第2〜第nモード符号化手段が、前記符号化モード選択手段ににより実行することと判定された符号化モードのうちの1つで符号化を実行し、前記符号化モード選択手段は、該符号化モードにおいて前記コスト関数計算手段により求められたコスト関数の値に基づいてさらに符号化を実行する符号化モードを選択することを第7の特徴としている。
【発明の効果】
【0021】
本発明では、符号化モードごとに適切なモード判定閾値を用い、コスト関数による符号化モード判定を行なうため、画質を損なうことなく、動画像の符号化をより高速に実行することが可能になる。
【0022】
また、符号化モード判定のための閾値を調節することによって、利用目的に応じて、画質を優先して符号化するか、処理速度を優先して符号化するかのどちらかを任意に選択することも可能になる。
【発明を実施するための最良の形態】
【0023】
以下、図面を参照して本発明を説明する。以下では、動画像符号化方式としてH.264/MPEG-4 AVC(Advanced Video Coding)を用い、フレーム間予測符号化方式を用い、一種類以上の大きさに固定されたブロック(矩形画素領域)を単位として符号化を行なうものとして説明するが、本発明は、これに限定されるものではない。
【0024】
図1は、本発明に係る動画像符号化装置の第1の実施形態を示すブロック図である。第1の実施形態の動画像符号化装置は、フレーム記憶メモリ10、第1モード符号化器20、第2〜第nモード符号化器30、コスト関数計算器40、符号化モード選択器50、最終モード判定器60、および切替スイッチ70、80を備える。
【0025】
フレーム記憶メモリ10は、入力される画像信号を記憶する。第1モード符号化器20は、画像信号を第1符号化モードで符号化し、第2〜第nモード符号化器30は、画像信号を第2〜第nの符号化モードでそれぞれ符号化する。
【0026】
コスト関数計算器40は、第1モード符号化器20によって出力された画素データと制御データ、および量子化パラメータに基づいてコスト関数を計算する。量子化パラメータは、出力側バッファメモリの符号化データ占有率を符号化制御部にフィードバックすることにより符号化制御部から出力されるが、図示を省略している。
【0027】
符号化モード選択器50は、コスト関数計算器40で求められたコスト関数の値に応じて第2〜第n符号化モードのうち符号化を実行する符号化モードを判定し、この判定結果に従って切替スイッチ70を切り替えることにより、符号化を実行することとされた第2〜第nモード符号化器30を選択する。
【0028】
最終符号化モード判定器60は、第1〜第nモード符号化手段のうち、符号化が実行された符号化モードについてコスト関数の値が最小となる符号化モードを最終モードと判定し、該最終モードでの符号化を実行する第1〜第nモード符号化器20、30からの出力が出力画像信号として送出されるように切替スイッチ80を切り替える。
【0029】
図2は、第1の実施形態の動作を示すフローチャートである。まず、入力画像信号をフレーム記憶メモリ10に記憶した後、第1モード符号化器20に入力し、第1符号化モードで符号化する(S01)。ここで、第1符号化モードとしては、RDCostの最小値が最も小さくなるモードを選択する。例えばH.264の場合、Skipモードは動きベクトルもモード番号も含まず、R=0となるので、第1の符号化モードとしてSkipモードを選択すればよい。
【0030】
第1モード符号化器20からは画素データD(例えばフレーム間予測符号化の場合は予測誤差の差分絶対値和(SAD))と制御データR(動きベクトルやモード番号の符号量)が出力される。これらのデータをコスト関数計算器40に入力する。コスト関数計算器40には第1モード符号化器20での量子化パラメータQPも入力する。
【0031】
コスト関数計算器40は、画素データDと制御データR、量子化パラメータQPに基づいて第1符号化モードでのRDCost(1)を計算し、符号化モード選択器50に出力する(S02)。
【0032】
符号化モード選択器50は、まず、第2〜第n符号化モードに対する閾値Thr(mode)を下記式により求める。この閾値Thr(mode)は、符号化モードごと、量子化パラメータの値に応じて異なる値となる。また、D(mode)やR(mode)は、符号化モードごとに異なる適宜の値であり、例えば各モードごとの予測誤差や制御データ量の実測値から統計的に得ることができる。
Thr(mode)=D(mode)+λ(QP)×R(mode)
【0033】
ここで、第N符号化モード(Nは2以上nまでの自然数)に対する閾値をThr(N)とすると、Thr(N)>RDCost(1)であれば、第N符号化モードでの符号化は実行しないものとして判定する。すなわち、第1モード符号化で求められたコスト関数の値よりThr(N)が小さい符号化モードで符号化を実行するものとして判定する。この判定結果に従って切替スイッチ70を切り替えることにより、符号化を実行しないものとして判定された符号化モード以外の符号化モードでの符号化が実行されるように符号化器30を選択する(S03)。
【0034】
第Nの符号化モードに対する閾値としては、Thr(N)に代えてα×Thr(N)(α>0)を用いることもできる。この場合、αに小さい値を代入すると、符号化を実行しないものと判定されるモードが減少し、処理速度が低下するが画質は向上する。逆に、αに大きい値を代入すると、符号化を実行しないものと判定されるモードが増加し、処理速度が上昇するが画質は低下する。
【0035】
符号化を実行するものと判定された符号化モードの符号化器30は符号化を実行する(S04)。それ以外の符号化モードの符号化器30は符号化を実行しない。
【0036】
コスト関数計算器40は、符号化を実行するものと判定された符号化モードでのRDCostを計算し(S05)、それらの計算値を第1符号化モードで計算されたRDCost(1)とともに最終モード判定器60に出力する。
最終モード判定器60は、入力されたRDCostのうち最も小さい値を示す符号化モードを最終モードとして決定する(S06)。これにより決定された符号化モードで符号化された出力が出力画像信号として送出されるように切替スイッチ80を切り替える。
【0037】
図3は、本発明に係る動画像符号化装置の第2の実施形態を示すブロック図であり、図1と同一あるいは同等部分には同じ符号を付してある。第2の実施形態は、第1符号化モードでのコスト関数の値に応じて第2〜第nの符号化モードのうち符号化を実行する符号化モードを判定し、そのうちの1つの符号化モードで符号化を実行した後、さらに該符号化モードでのコスト関数の値に応じて符号化を実行する符号化モードを選択するという処理を繰り返すことにより、符号化処理を実行する符号化モードを削減するようにしている点で第1の実施形態と異なる。
【0038】
図4は、第2の実施形態の動作を示すフローチャートであり、図2と同一あるいは同等部分には同じ符号を付してある。まず、切替スイッチ70によりフレーム記憶メモリ10に第1モード符号化器20を接続し、画像信号を第1符号化モードで符号化し(S01)、続いてコスト関数計算器40で第1符号化モードでのRDCost(1)を計算し、それを符号化モード判定器50に出力する(S02)。
【0039】
符号化モード選択器50は、第1の実施形態と同様に、符号化を実行する符号化モードを選択する(S03)。次に、実行するものと選択された符号化モードで、まだ実行されていない符号化モードがあるかを判定する(S07)。まだ実行されていない符号化モードがある(残りの符号化モード数≠0)と判定した場合には、それらのうちの1つの符号化モードで符号化を実行し(S04)、コスト関数計算器40で該符号化モードでのRDCostを計算する(S05)。
【0040】
ここで求めたRDCostを符号化モード選択器50に出力する。符号化モード選択器50は、入力されたRDCostに基づいて符号化を実行しない符号化モードの判定を再び行なって符号化を実行する符号化モードを選択する(S03)。この選択により符号化するモードの数がさらに削減される。
【0041】
以上のようにしてコスト関数計算(S02,S05)に基づく符号化モード選択(S03)と選択されたモードでの符号化(S04)を繰り返し、残りのモード数が0となった場合(S07で、残りの符号化モード数=0と判定された場合)、 最終モード判定器60は、入力されたRDCostのうち最も小さい値を示す符号化モードを最終モードとして決定する(S06)。これにより決定された符号化モードで符号化された出力が出力画像信号として送出されるように切替スイッチ80を切り替える。
【0042】
上記実施形態では、第1の符号化モードを、全ての符号化モードのうちでコスト関数の最小値が最も小さい値をとることが予測される符号化モードとしているが、第1の符号化モードを、全ての符号化モードのうちで符号化処理が最もシンプルな符号化モードにしてもよい。この場合、複雑な符号化処理を行う他の符号化モードが符号化実行対象外となることがあるので、符号化処理の高速化が期待できる。
【図面の簡単な説明】
【0043】
【図1】本発明に係る動画像符号化装置の第1の実施形態を示すブロック図である。
【図2】第1の実施形態の動作を示すフローチャートである。
【図3】本発明に係る動画像符号化装置の第2の実施形態を示すブロック図である。
【図4】第2の実施形態の動作を示すフローチャートである。
【符号の説明】
【0044】
10・・・フレーム記憶メモリ、20・・・第1モード符号化器、30・・・第2〜第nモード符号化器、40・・・コスト関数計算器、50・・・符号化モード選択器、60・・・最終モード判定器、70,80・・・切替スイッチ

【特許請求の範囲】
【請求項1】
第1〜第n(nは2以上の自然数)符号化モードのうち1つのモードを選択して符号化を行なう手段を有し、量子化パラメータの値に基づいて画質および圧縮率を制御する機能を有する動画像符号化装置において、
第1符号化モードで動画像の符号化を実行し、符号化後の画素データと制御データを出力する第1モード符号化手段と、
コスト関数計算手段と、
符号化を実行する符号化モードを判定する符号化モード選択手段と、
第2〜第nモード符号化手段と、
最終モード選択手段とを備え、
前記コスト関数計算手段は、前記第1モード符号化手段によって出力された画素データと制御データ、および量子化パラメータに基づいて第1符号化モードでのコスト関数の値を計算し、また、符号化モード選択手段により実行することと判定された符号化モードでのコスト関数の値を計算し、
前記符号化モード選択手段は、前記コスト関数計算手段により求められた、少なくとも第1符号化モードでのコスト関数の値に応じて第2〜第nの符号化モードのうち符号化を実行する符号化モードを判定し、
前記第2〜第nモード符号化手段のうち前記符号化モード選択手段により実行することと判定された符号化モードでの符号化を実行する符号化手段は符号化を実行し、それ以外の符号化手段は符号化を実行せず、
前記最終モード選択手段は、符号化を実行した符号化手段の符号化モードにおいてコスト関数の値が最小となる符号化モードを最終モードとして選択することを特徴とする動画像符号化装置。
【請求項2】
前記第1の符号化モードは、全ての符号化モードのうちでコスト関数の最小値が最も小さい値をとることが予測される符号化モードであることを特徴とする請求項1に記載の動画像符号化装置。
【請求項3】
前記第1の符号化モードは、全ての符号化モードのうちで符号化処理が最もシンプルな符号化モードであることを特徴とする請求項1に記載の動画像符号化装置。
【請求項4】
前記符号化モード選択手段は、第2〜第nの符号化モードそれぞれに対して異なるモード判定閾値を与え、第1モード符号化手段において求められたコスト関数の値よりモード判定閾値が小さい符号化モードで符号化を実行するものとして判定することを特徴とする請求項1に記載の動画像符号化装置。
【請求項5】
前記モード判定閾値は、量子化パラメータの値に応じて異なる値をとることを特徴とする請求項4に記載の動画像符号化装置。
【請求項6】
前記モード判定閾値は、前記コスト関数と同様の関数に、符号化モードごとに与えられた定数を与えることによって計算される値であることを特徴とする請求項4または5に記載の動画像符号化装置。
【請求項7】
前記符号化モード選択手段は、モード判定閾値に0を超える任意の実数値の係数を乗算してモード判定閾値を調節することによって、符号化後の画質および符号化速度を調節する機能を有することを特徴とする請求項4ないし6のいずれかに記載の動画像符号化装置。
【請求項8】
前記第2〜第nモード符号化手段は、前記符号化モード選択手段ににより実行することと判定された符号化モードのうちの1つで符号化を実行し、前記符号化モード選択手段は、該符号化モードにおいて前記コスト関数計算手段により求められたコスト関数の値に基づいてさらに符号化を実行する符号化モードを選択することを特徴とする請求項1ないし3のいずれかに記載の動画像符号化装置。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate