JP2005268879A - 画像符号化方法およびその装置 - Google Patents
画像符号化方法およびその装置 Download PDFInfo
- Publication number
- JP2005268879A JP2005268879A JP2004074280A JP2004074280A JP2005268879A JP 2005268879 A JP2005268879 A JP 2005268879A JP 2004074280 A JP2004074280 A JP 2004074280A JP 2004074280 A JP2004074280 A JP 2004074280A JP 2005268879 A JP2005268879 A JP 2005268879A
- Authority
- JP
- Japan
- Prior art keywords
- macroblock
- prediction
- error
- mode
- threshold value
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Withdrawn
Links
Images
Landscapes
- Compression Or Coding Systems Of Tv Signals (AREA)
Abstract
【課題】マクロブロックの符号化で複数のモードが選択可能な符号化において、マクロブロックのモード選択に要する計算量を削減することを目的とする。
【解決手段】本発明の方法によるマクロブロックモード選択方法は、予測画像を作成する予測ステップと、予測の誤差を求める誤差計算ステップと、予測の誤差としきい値を比較する比較ステップと、大きなサブマクロブロックから順に誤差としきい値を比較し、最初にしきい値以下になったサブマクロブロックをマクロブロックのエンコードモードとして選択する選択ステップとを備える。
【選択図】図1
【解決手段】本発明の方法によるマクロブロックモード選択方法は、予測画像を作成する予測ステップと、予測の誤差を求める誤差計算ステップと、予測の誤差としきい値を比較する比較ステップと、大きなサブマクロブロックから順に誤差としきい値を比較し、最初にしきい値以下になったサブマクロブロックをマクロブロックのエンコードモードとして選択する選択ステップとを備える。
【選択図】図1
Description
本発明は、動画像の符号化において複数のブロックサイズによるインターあるいはイントラ予測が可能な画像符号化装置、画像符号化方法、画像符号化プログラムに関するものである。
動画像の符号化方法として広く用いられているものにMPEG2がある。MPEG2は動き補償と離散コサイン変換(DCT)を基本とした符号化方法である。MPEG2は16画素×16画素のマクロブロック(MB)を単位として符号化される。16×16のマクロブロック単位で動き補償された後、8×8のブロック単位でDCTが行われる。その後、DCT係数が量子化され、ジグザグスキャンされ、可変長符号化される。
MPEG2よりもさらに圧縮率を向上させた符号化方法として、ITUによりH.264が標準化された。H.264の規格は非特許文献1に述べられている。H.264は動き補償とDCTを近似した4×4の整数変換を基本とした符号化方法である。H.264もMPEG2と同様に16×16のマクロブロックを基本単位として符号化する。
図2はH.264の符号化装置の基本構成図である。図を参照して符号化装置の動作を説明する。動き評価部17は入力されたビデオ信号より動きベクトルを求める。イントラ予測部18はエンコードするマクロブロックを含むフレームの既にエンコードされた領域から予測する。動き補償部19は既にエンコードされた他のフレームから動きベクトルによって予測する。エンコーダはマクロブロック(16×16)ごとにイントラ予測あるいは動き補償予測(インター予測)のいずれかを選択する。
入力画像とイントラ予測あるいは動き補償予測された画像との差分が変換部10により整数変換される。変換後の係数が量子化部11により量子化される。量子化された変換係数は逆量子化部13により逆量子化される。逆量子化後の係数は逆変換部14により逆変換される。
逆変換部14の出力は予測値と加算される。デブロッキングフィルタ15はブロックの境界部にローパスフィルタを掛けてブロック歪みを軽減する。フィルタを掛けた後の画像はビデオメモリ16に保存されて予測の参照画像として用いられる。
イントラ予測(フレーム内予測)は他のフレームを参照しないで、エンコードするマクロブロックを含むフレームの既にエンコードされた領域から予測する。イントラ予測にはイントラ16×16予測とイントラ4×4予測がある。イントラ4×4予測はマクロブロックを4×4の16個のブロックに分割して予測する。図4はマクロブロックの4×4ブロックへの分割の説明図である。
図5はイントラ16×16予測の説明図である。符号化するマクロブロックAの予測に用いるサンプルを黒丸”●”で示した。イントラ16×16予測ではこれらの33個のサンプルからマクロブロックAを予測する。イントラ16×16の予測方法は4種類あるが、本発明の本質と関係ないので、詳細は省く。
図6はイントラ4×4予測の説明図である。マクロブロックAの中のブロックaの予測に用いるサンプルを黒丸”●”で示した。イントラ4×4予測ではこれらの13個のサンプルからブロックaを予測する。イントラ4×4の予測方法は9種類あるが、本発明の本質と関係ないので、詳細は省く。
動き補償予測(フレーム間予測、インター予測)はエンコードされ、ローカルデコードされた他のフレームを用いて予測する。マクロブロックを分割したパーティションが動き補償に用いられる。図3はインター予測で用いられるパーティションを示す。
マクロブロックを分割する方法として、16×16の1個のサブマクロブロック、16×8の2個のサブマクロブロック、8×16の2個のサブマクロブロック、8×8の4個のサブマクロブロックがある。分割されたサブマクロブロックごとに異なる動きベクトル(MV)を持つことができる。8×8のサブマクロブロックはさらに分割することが可能で、分割方法として、8×8の1個のパーティション、8×4の2個のパーティション、4×8の2個のパーティション、4×4の4個のパーティションがある。分割されたパーティションごとに異なる動きベクトルを持つことができる。
以上説明したように、H.264ではマクロブロックのエンコード方法が多数存在する。多数のエンコード方法の中から適切な方法を選択することにより、圧縮率、画質を上げることができる。従来のマクロブロックのモード選択方法について、非特許文献2に基づいて説明する(非特許文献3にも同じ方法が述べられている。)。
非特許文献2のp.692からp.694に述べられている方法を説明する。モード選択のための”コスト関数”Jを次のように定義する。
J=D+λR
ここで、Dは歪み、Rは符号量である。λは”ラグランジュパラメタ”と呼ばれ、実験的に決められる。
ここで、Dは歪み、Rは符号量である。λは”ラグランジュパラメタ”と呼ばれ、実験的に決められる。
歪みDを求めるためにマクロブロックを実際にエンコード、デコードする。デコードしたマクロブロックと原画像マクロブロックの差分の2乗和を歪みDとする。符号量Rはマクロブロックを実際に符号化して求める。符号量には変換係数の符号量以外に動きベクトル等の符号量も含まれる。
以下の手順によりマクロブロックのエンコードモードを選択する。
(1)可能な全てのモードでエンコード、デコードし、歪みDと符号量Rを求める。
(2)全てのモードに対してコスト関数Jを求める。
(3)コスト関数Jが最小のモードを選択する。
以上のように、従来の方法では全てのモードで実際エンコード、デコードした結果を用いてモード選択を行うので、レート−歪みの特性に関して最適に近いモードを選択することができる。
図7は従来方法によって、Pピクチャ(Pスライス)のマクロブロックのモード選択の手順をフローチャートにしたものである。各モードに対する動きベクトルは予め求められているものとして、フローチャートには示していない。非特許文献2ではラグランジュパラメタを用いて動きベクトルを求めているが、動きベクトルの求め方の詳細は本発明とは関係ないので、動きベクトルの求め方については省略する。図は簡単のため、インター16×16、インター16×8、インター8×16、インター8×8の4種類の中から選択する場合の例を示した。用いるモードの種類が増えた場合も同様である。イントラモードも用いる場合はインターモードの選択の後にイントラとインターの選択を行う。
ITU-T H.264, Advanced Video Coding for Generic Audiovisual Services, 2003. Thomas Wiegand, Heiko Schwarz, Anthony Joch, Faouzi Kossentini and Gary J. Sullivan: Rate-Constrained Coder Control and Comparison of Video Coding Standards, IEEE Transactions on Circuits and Systems for Video Technology, July, 2003, Gary J. Sullivan and Thomas Wiegand: Rate-Distortion Optimization for Vido Compression, IEEE Signal Processing Magazine, Nov, 1998.
ITU-T H.264, Advanced Video Coding for Generic Audiovisual Services, 2003. Thomas Wiegand, Heiko Schwarz, Anthony Joch, Faouzi Kossentini and Gary J. Sullivan: Rate-Constrained Coder Control and Comparison of Video Coding Standards, IEEE Transactions on Circuits and Systems for Video Technology, July, 2003, Gary J. Sullivan and Thomas Wiegand: Rate-Distortion Optimization for Vido Compression, IEEE Signal Processing Magazine, Nov, 1998.
しかしながら、前記従来の方法では歪みと符号量を求めるために、マクロブロックの符号化において選択可能な全てのモードで実際にエンコード、デコードする必要がある。そのため、計算量が大きくなるという課題がある。
本発明は、前記従来の課題を解決するもので、マクロブロックのモード選択のための計算量が小さい画像符号化方法およびその装置を提供することを目的とする。
前記従来の課題を解決するために、本発明の画像符号化方法は、予測画像を作成する予測ステップと、予測の誤差を求める誤差計算ステップと、予測の誤差としきい値を比較する比較ステップと、大きなサブマクロブロックから順に誤差としきい値を比較し、最初にしきい値以下になったサブマクロブロックをマクロブロックのエンコードモードとして選択する選択ステップからなる。
本発明の画像符号化方法およびその装置によれば、マクロブロックの符号化モードの選択において、マクロブロックを実際にエンコード、デコードする必要がなく、マクロブロックのモード選択における計算量を削減することができる。また、全てのモードに対して動きベクトルを探索する必要がなくなり、動きベクトル探索の計算量を削減することができる。
以下本発明の実施の形態について、図面を参照しながら説明する。
(実施の形態1)
図1は本発明の実施の形態によるマクロブロックのエンコードモード選択方法のフローチャートである。図1はインター16×16、インター16×8、インター8×16、インター8×8の中から選択する場合について示したものである。本実施の形態ではマクロブロックに対する動きベクトル探索とエンコードモードの選択を同時に行う。
図1は本発明の実施の形態によるマクロブロックのエンコードモード選択方法のフローチャートである。図1はインター16×16、インター16×8、インター8×16、インター8×8の中から選択する場合について示したものである。本実施の形態ではマクロブロックに対する動きベクトル探索とエンコードモードの選択を同時に行う。
フローチャートに示されるように以下の手順に従ってエンコードモード選択が行われる(以下の説明では”インター”を省略する。)。
(1)16×16予測の動きベクトルを求める(ステップS10)。
(2)16×16予測の誤差を求める(ステップS11)。
(3)16×16の誤差をしきい値と比較し(ステップS12)、しきい値より小さいときは、16×16を選択して(ステップS13)、終了する。
(4)16×16の誤差がしきい値より大きいか等しいときは、16×8予測の動きベクトルを求める(ステップS14)。
(5)16×8予測の誤差を求める(ステップS15)。
(6)16×8の誤差としきい値を比較し(ステップS16)、しきい値より小さいときは、16×8を選択して(ステップS17)、終了する。
(7)16×8の誤差がしきい値より大きいか等しいときは、8×16予測の動きベクトルを求める(ステップS18)。
(8)8×16予測の誤差を求める(ステップS19)。
(9)8×16の誤差としきい値を比較し(ステップS20)、しきい値より小さいときは、8×16を選択して(ステップS21)、終了する。
(10)8×16の誤差がしきい値より大きいか等しいときは、8×8を選択し(ステップS22)、8×8予測の動きベクトルを求める(ステップS23)。
上の説明で”動きベクトルを求める”とは複数のブロックがある場合は、全てのブロックに対して動きベクトルを求めることを意味する。例えば、8×8の場合は、4個のブロックに対して動きベクトルを求める。
動きベクトルを求める一つの方法としてフルサーチと呼ばれる方法を用いた場合について説明する。第1段階では、符号化ブロック(16×16、16×8、8×16あるいは8×8)と参照フレーム内の同じサイズのブロックの差分を求め、誤差を計算する。誤差として差分の絶対値の和を用いることができる。参照フレーム内の探索範囲内の整数サンプル位置の全てのブロックとの誤差を求め、誤差が最も小さいブロックを選択する。第2段階では、第1段階で選択されたブロックの位置から1/2サンプルの位置のブロックに対して同様に誤差を求めて、誤差が最も小さいブロックを選択する。第3段階では、第2段階で選択されたブロックの位置から1/4サンプルの位置のブロックに対して同様に誤差を求め、誤差が最も小さいブロックを選択する。このようにしてH.264で用いられる1/4サンプルの動きベクトルを求めることができる。
上の説明で”誤差を求める”とは、複数のブロックがある場合は全てのブロックの誤差の合計を求めることを意味する。例えば、16×8の場合は2個のブロックが異なった動きベクトルを持つことができるので、2個のブロックに対して別々に誤差を求め、合計した値を上の説明中の”誤差”とする。個々のブロックに対する誤差として、符号化ブロックと予測ブロックの差分の絶対値の和(SAD)、あるいは符号化ブロックと予測ブロックの差分の2乗の和(SSD)を用いることができる。
ブロックの誤差1とそのブロックを複数のブロックに分割したときの誤差2(分割した複数のブロックの誤差の合計)を考える。動きベクトルの探索範囲は、基のブロックと分割したブロックで同じとする。このとき、必ず誤差2の方が誤差1より小さいか等しくなり、大きくなることはない。従って、ブロックを分割すると誤差が小さくなるので、変換係数の符号量は小さくなる可能性が高い。
一方、ブロックを分割するとブロックの数が多くなるので、動きベクトルの数が多くなり、動きベクトルの符号量が大きくなる。つまり、ブロックを小さく分割すると、変換係数の符号量では有利になるが、動きベクトルの符号量では不利になる。ブロックを小さく分割していくに従って、変換係数の符号量はしだいに減少し、動きベクトルの符号量はしだいに増加する。
本実施の形態のモード選択方法によれば、誤差がしきい値より小さいモードを選択するので、変換係数の符号量を抑えることができる。さらに、誤差がしきい値より小さい分割の中では最も大きいブロックを選択するので、動きベクトルの符号量を抑えることができる。その結果、全体の符号量を抑えることができる。
本実施の形態によれば、一部のモードに対して動きベクトルと誤差を求めることによりエンコードモードを選択することができる。従来方法のように全てのモードに対して動きベクトルを求め、エンコード、デコードして歪みと符号量を求める必要がない。従来方法より、計算量を大幅に削減することができるという効果がある。
本実施の形態によればエンコードモードが決定した後は、他のモードに対する動きベクトルを求める必要がない。一般に動きベクトル探索の計算量は大きいので、モードが決定したところで動きベクトル探索を打ち切ることにより、全てのモードで動きベクトルを探索する従来方法と比較して、動きベクトル探索の計算量を削減することができる。
本実施の形態の方法は、全てのモードでエンコード、デコードした結果から選択する従来方法と比較して、圧縮率がある程度低下する可能性があるが、計算量がはるかに小さいという利点がある。
なお、動きベクトルを求める方法は特定の方法に限定されない。動きベクトルを求める方法が他の方法であっても、本実施の形態のエンコードモード選択方法と組み合わせて、同様に実施可能である。
なお、本発明はモード選択における誤差の計算方法に依存しないので、誤差を計算する他の方法と組み合わせても同様に実施可能である。
なお、以上の説明では、インター16×8の後にインター8×16を調べたが、順序を逆にしても同様に実施可能である。
なお、イントラ予測も用いる場合は、本実施の形態の方法によりインター予測モードを選択したあとに、イントラモードとインターモードの選択を行う。
なお、本発明は、コンピュータとプログラムで実施されることがあり、そのプログラムは記録媒体に記録されることがある。このことは他の実施の形態にも共通する。
(実施の形態2)
実施の形態1では動きベクトル探索(動き評価)とマクロブロックのエンコードモード選択を同時に行ったが、本実施の形態では予め動きベクトルが求められている場合について説明する。以下、マクロブロックのモード選択に先だって動きベクトルが求められているとする。
実施の形態1では動きベクトル探索(動き評価)とマクロブロックのエンコードモード選択を同時に行ったが、本実施の形態では予め動きベクトルが求められている場合について説明する。以下、マクロブロックのモード選択に先だって動きベクトルが求められているとする。
図8は本実施の形態のフローチャートである。マクロブロックのエンコードモードとしてインター16×16、インター16×8、インター8×16、インター8×8のモードから選択する場合について説明する。
以下に処理手順を説明する。誤差の計算方法については実施の形態1と同様である。
(1)16×16予測の誤差を求める(ステップS50)。
(2)16×16の誤差をしきい値と比較し(ステップS51)、しきい値より小さいときは、16×16を選択して(ステップS52)、終了する。
(3)16×16の誤差がしきい値より大きいか等しいときは、16×8予測の誤差を求める(ステップS53)。
(4)16×8の誤差としきい値を比較し(ステップS54)、しきい値より小さいときは、16×8を選択して(ステップS55)、終了する。
(5)16×8の誤差がしきい値より大きいか等しいときは、8×16予測の誤差を求める(ステップS56)。
(6)8×16の誤差としきい値を比較し(ステップS57)、しきい値より小さいときは、8×16を選択して(ステップS58)、終了する。
(7)8×16の誤差がしきい値より大きいか等しいときは、8×8を選択する(ステップS59)。
上の方法により一部のモードについて誤差を求めるだけでマクロブロックのエンコードモードを選択することができる。全てのモードについてエンコード、デコードした結果からモードを選択する従来方法と比較して、本方法ははるかに小さい計算量でエンコードモードを選択することができる。
(実施の形態3)
H.264の規格では動き補償において、マクロブロックのエンコードモードがインター8×8であった場合、8×8のサブマクロブロックをさらに分割することができる。具体的には、8×8の1個のブロック、8×4の2個のブロック、4×8の2個のブロック、あるいは4×4の4個のブロックに分割して、分割した各ブロックごとに動き補償を行うことができる。
H.264の規格では動き補償において、マクロブロックのエンコードモードがインター8×8であった場合、8×8のサブマクロブロックをさらに分割することができる。具体的には、8×8の1個のブロック、8×4の2個のブロック、4×8の2個のブロック、あるいは4×4の4個のブロックに分割して、分割した各ブロックごとに動き補償を行うことができる。
本実施の形態はインター8×8のサブマクロブロックの分割方法の選択に関するものである。8×8のサブマクロブロックを分割したブロックに対する動きベクトルは予め求められているものとする。8×8のサブマクロブロックは4個あるが、ここでは1個のサブマクロブロックについて説明する。他のサブマクロブロックに対しても同様である。
図9は本実施の形態の処理手順のフローチャートである。誤差の計算方法は実施の形態1と同様である。
(1)8×8予測の誤差を求める(ステップS70)。
(2)8×8の誤差をしきい値と比較し(ステップS71)、しきい値より小さいときは、8×8を選択して(ステップS72)、終了する。
(3)8×8の誤差がしきい値より大きいか等しいときは、8×4予測の誤差を求める(ステップS73)。
(4)8×4の誤差としきい値を比較し(ステップS74)、しきい値より小さいときは、8×4を選択して(ステップS75)、終了する。
(5)8×4の誤差がしきい値より大きいか等しいときは、4×8予測の誤差を求める(ステップS76)。
(6)4×8の誤差としきい値を比較し(ステップS77)、しきい値より小さいときは、4×8を選択して(ステップS78)、終了する。
(7)4×8の誤差がしきい値より大きいか等しいときは、4×4を選択する(ステップS79)。
なお、本実施の形態では8×4の誤差の比較の後に4×8の誤差を比較したが、比較の順序を逆にしても同様に実施可能である。
なお、8×8のサブマクロブロックを分割した各ブロックに対する動きベクトルが予め求められていない場合は、実施の形態1と同様にモード選択と動きベクトル探索を同時に行うことにより実施可能である。
(実施の形態4)
イントラ予測はイントラ16×16とイントラ4×4の2つのモードがある。イントラ16×16予測には3種類の予測モードがあり、vertical、horizontal、DC、planeと呼ばれる。イントラ4×4予測には9種類の予測モードがあり、vertical、horizontal、DC、diagonal down left、diagonal down right、vertical right、horizontal down、vertical left、horizontal upと呼ばれる。予測モードの詳細は本発明の本質とは関係ないので省略する。
イントラ予測はイントラ16×16とイントラ4×4の2つのモードがある。イントラ16×16予測には3種類の予測モードがあり、vertical、horizontal、DC、planeと呼ばれる。イントラ4×4予測には9種類の予測モードがあり、vertical、horizontal、DC、diagonal down left、diagonal down right、vertical right、horizontal down、vertical left、horizontal upと呼ばれる。予測モードの詳細は本発明の本質とは関係ないので省略する。
図10はイントラ16×16とイントラ4×4の2つのモードから一つを選択する方法のフローチャートである。図に従って処理手順を説明する。
(1)イントラ16×16予測の全てのモードに対して誤差を求める(ステップS91)。
(2)最小の誤差を求め(ステップS92)、それをイントラ16×16予測の誤差とする。
(3)イントラ16×16の誤差をしきい値と比較し(ステップS93)、しきい値より小さいときはイントラ16×16を選択し(ステップS94)、終了する。
(4)イントラ16×16の誤差がしきい値より大きいか等しいときは、イントラ4×4予測を選択する(ステップS95)。
(5)16個の小ブロックに対して、イントラ4×4予測の全てのモードに対して誤差を求める(ステップS96)。
(6)各小ブロックに対して最小の誤差を求め(ステップS97)、それを16個の小ブロックの誤差の合計をイントラ4×4予測の誤差とする。
イントラ4×4予測の方が、小さなブロックごとに予測を行うので、誤差(16個の小ブロックの誤差の合計)はイントラ16×16予測の誤差より小さくなる可能性が高い。しかし、イントラ4×4は16個の小ブロックに対して予測モードの情報を送る必要があるので、予測モードの符号量が大きくなる。
つまり、イントラ16×16はイントラ4×4と比較して、予測モードの符号量が小さく、変換係数の符号量が大きくなる。イントラ16×16の誤差がしきい値よりも小さいときは、イントラ16×16の変換係数の符号量はある上限で抑えることができ、また、モード選択の符号量は小さい。このときは、イントラ4×4の誤差を調べなくても、イントラ16×16の方が符号量(変換係数の符号量とモードの符号量の和)が小さくなる可能性が高い。
また、イントラ4×4予測は小ブロックと予測モードの数が多いので、誤差が最小となる予測モードを求めるための計算量が大きくなる。本実施の形態では、イントラ16×16の誤差がしきい値より小さいときは、イントラ4×4の小ブロックの誤差を求める必要がないので、計算量が小さくなるという利点がある。
なお、インターモードも用いる場合は、本実施の形態の方法でイントラモードを選択した後に、イントラモードとインターモードの選択を行う。
(実施の形態5)
実施の形態1、2、3、4において、しきい値を固定としないで、符号化のビットレートに応じてしきい値を変更することが可能である。しきい値を変更する場合、以下の理由により、マクロブロック当りのビット量が小さいとき、しきい値が大きくなるように変更する。
実施の形態1、2、3、4において、しきい値を固定としないで、符号化のビットレートに応じてしきい値を変更することが可能である。しきい値を変更する場合、以下の理由により、マクロブロック当りのビット量が小さいとき、しきい値が大きくなるように変更する。
実施の形態1、2、3では、与えられたビット量を使って画質を上げるためには動きベクトル(MV)の符号量と変換係数の符号量にビットを適切に配分する必要がある。MVの符号量は分割されたブロックの個数によってほとんど決まり、符号化のビットレートには無関係である。変換係数の符号量は量子化ステップによって決まり、符号化のビットレートに影響される。
マクロブロック当りの符号量が小さい場合は、変換係数の符号量が小さくなる。そのとき、MVの符号量が大きいと変換係数に割り当てられる符号量が極端に小さくなってしまい、画質が大きく低下する。それを防ぐために、マクロブロック当りの符号量が小さい場合は、変換係数の符号量を確保するためにMVの符号量を抑える必要がある。
しきい値が小さいと、小さいブロックが選択されやすくなるのでブロックの個数が多くなる。ブロックの個数が多いと、動きベクトルの符号量が大きくなる。マクロブロック当りのビット量が小さい場合は、しきい値を大きくすることにより、分割されたブロック数を減らし、MVの符号量を抑えることができる。
実施の形態4ではイントラ予測のブロックの個数が多いとモード選択のための符号量が大きくなる。しきい値が小さいとブロックの個数が多くなり、変換係数の符号量が小さくなることは実施の形態1、2、3と同じである。従って、実施の形態1、2、3と同様に、実施の形態4においてもマクロブロック当りのビット量が小さいときはしきい値を大きくする。
(実施の形態6)
本実施の形態はマクロブロックモード選択部に関する。マクロブロックモード選択部は画像符号化装置を構成する一部として用いることができる。
本実施の形態はマクロブロックモード選択部に関する。マクロブロックモード選択部は画像符号化装置を構成する一部として用いることができる。
図11は本実施の形態におけるマクロブロックモード選択部の構成図である。図はマクロブロックのエンコードモードとして、インター16×16、インター16×8、インター8×16、インター8×8の中から選択する場合の例である。
以下、図に基づいて動作を説明する。入力ビデオデータが16×16動きベクトル探索部30、16×8動きベクトル探索部31、8×16動きベクトル探索部32、8×8動きベクトル探索部33に入力される。ビデオデータはビデオメモリ35にも入力される。ビデオメモリ35には過去の(符号化順で)フレームのデータが保存されている。
16×16動きベクトル探索部30は16×16のサイズの1個のブロックに対する動きベクトルを出力する。16×8動きベクトル探索部31は16×8のサイズの2個のブロックに対する動きベクトルを出力する。8×16動きベクトル探索部32は8×16のサイズの2個のブロックに対する動きベクトルを出力する。8×8動きベクトル探索部33は8×8のサイズの4個のブロックに対する動きベクトルを出力する。動きベクトルを求める方法はどのようなものであっても良い。一つの方法として実施の形態1で説明したフルサーチであっても良い。
参照フレームビデオメモリ36には既にエンコードされローカルデコードされた参照フレームが保存されている。モード選択部34は動きベクトルと参照フレームビデオメモリ36から入力された参照フレームから、動き補償を行って予測画像を作成する。動きベクトルが4種類あるので、4種類の予測画像を作成する。
モード選択部34は原画像と予測画像から差分を求める。差分の2乗の和を計算し、誤差の大きさとする。予測方法が4種類あるので、16×16、16×8、8×16、8×8の4種類の誤差を計算する。4種類の誤差としきい値を比較し、誤差がしきい値よりも小さいものの中で最も大きな動き補償サイズを選択する。全ての誤差がしきい値より大きいときは8×8を選択する。
本実施の形態によるマクロブロックモード選択部を用いることにより、大きいサイズの動き補償モードを優先的に選択することになるので、動きベクトルの個数を減らし、動きベクトルの符号量を抑えることができる。
なお、誤差の大きさとしては差分の2乗の和(SSD)を用いた場合について説明したが、誤差として差分の絶対値の和(SAD)あるいは他の値を用いた場合についても同様に実施可能である。
なお、図11は原画像どうしの比較によって動きベクトルを探索する場合について示している。探索に用いる画像として、原画像とローカルデコードされた画像を用いることも可能である。この場合、ビデオメモリ35に代って、参照フレームビデオメモリ36の画像が動きベクトル探索部に入力される。
本発明にかかる画像符号化方法およびその装置はマクロブロックのモード選択における計算量が小さいという特徴を有し、ビデオカメラ、テレビ電話等の符号化装置として有用である。また、計算量が小さくなるので消費電力を抑えることができ、低消費電力という効果が必要な携帯用機器等の用途にも適用できる。
10 変換部
11 量子化部
12 エントロピー符号化部
13 逆量子化部
14 逆変換部
15 デブロッキングフィルタ部
16 ビデオメモリ部
17 動き評価部
18 イントラ予測部
19 動き補償部
30 16×16動きベクトル探索部
31 16×8動きベクトル探索部
32 8×16動きベクトル探索部
33 8×8動きベクトル探索部
34 モード選択部
35 ビデオメモリ
36 参照フレームビデオメモリ
11 量子化部
12 エントロピー符号化部
13 逆量子化部
14 逆変換部
15 デブロッキングフィルタ部
16 ビデオメモリ部
17 動き評価部
18 イントラ予測部
19 動き補償部
30 16×16動きベクトル探索部
31 16×8動きベクトル探索部
32 8×16動きベクトル探索部
33 8×8動きベクトル探索部
34 モード選択部
35 ビデオメモリ
36 参照フレームビデオメモリ
Claims (9)
- マクロブロックを複数のモードで分割して予測することが可能な符号化方法において、マクロブロックの分割モードを選択する方法であって、
マクロブロックに対してインターあるいはイントラの予測を行って予測画像を作成する予測ステップと、
前記予測画像と原画像から予測誤差を求める誤差計算ステップと、
前記予測誤差としきい値とを比較する比較ステップと、
予測誤差がしきい値より小さい分割モードの中で最も大きい分割モードを選択する選択ステップと
を備えたマクロブロック符号化モード選択方法。 - マクロブロックのインター予測モードとして16×16、16×8、8×16、8×8を用いることが可能な
請求項1に記載のマクロブロック符号化モード選択方法。 - マクロブロックのインター予測モードとして8×8、8×4、4×8、4×4を用いることが可能な
請求項1に記載のマクロブロック符号化モード選択方法。 - マクロブロックのイントラ予測モードとして16×16、4×4を用いることが可能な
請求項1に記載のマクロブロック符号化モード選択方法。 - マクロブロック当りのビット量の割り当てが小さいとき、前記しきい値を大きくすることを特徴とする
請求項1に記載のマクロブロック符号化モード選択方法。 - マクロブロックを複数のモードで分割して予測することが可能な符号化方法において、マクロブロックの分割モードを選択するプログラムであって、
マクロブロックに対してインターあるいはイントラの予測を行って予測画像を作成する予測手順と、
前記予測画像と原画像から予測誤差を求める誤差計算手順と、
前記予測誤差としきい値とを比較する比較手順と、
予測誤差がしきい値より小さい分割モードの中で最も大きい分割モードを選択する選択手順と
をコンピュータに実行させるためのプログラム。 - 請求項6に記載のプログラムを格納した媒体。
- マクロブロックを複数のモードで分割して予測することが可能な符号化方法において、マクロブロックの分割モードを選択するモード選択装置であって、
マクロブロックに対して動きベクトルを求める動きベクトル探索手段と、
マクロブロックに対して動きベクトルを用いて予測し、予測誤差を計算し、予測誤差としきい値とを比較し、予測誤差がしきい値より小さい分割モードの中で最も大きい分割モードを選択するモード選択手段
を備えたマクロブロック符号化モード選択装置。 - マクロブロック当りのビット量の割り当てが小さいとき、前記しきい値を大きくすることを特徴とする
請求項8に記載のマクロブロック符号化モード選択装置。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2004074280A JP2005268879A (ja) | 2004-03-16 | 2004-03-16 | 画像符号化方法およびその装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2004074280A JP2005268879A (ja) | 2004-03-16 | 2004-03-16 | 画像符号化方法およびその装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2005268879A true JP2005268879A (ja) | 2005-09-29 |
JP2005268879A5 JP2005268879A5 (ja) | 2007-04-05 |
Family
ID=35093005
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2004074280A Withdrawn JP2005268879A (ja) | 2004-03-16 | 2004-03-16 | 画像符号化方法およびその装置 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2005268879A (ja) |
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2006025430A (ja) * | 2004-07-06 | 2006-01-26 | Thomson Licensing | 符号化モードを選択する方法及び装置 |
WO2007072895A1 (ja) * | 2005-12-21 | 2007-06-28 | Matsushita Electric Industrial Co., Ltd. | 画面内予測モード決定方法、画像符号化方法及び画像符号化装置 |
JP2008017209A (ja) * | 2006-07-06 | 2008-01-24 | Canon Inc | 動きベクトル検出装置、動きベクトル検出方法、コンピュータプログラム及び記憶媒体 |
JP2008092150A (ja) * | 2006-09-29 | 2008-04-17 | Canon Inc | 画像符号化装置、画像符号化方法 |
EP2207351A1 (en) * | 2007-10-15 | 2010-07-14 | Huawei Technologies Co., Ltd. | The video encoding and decoding method and corresponding codec based on the motion skip mode |
US7782952B2 (en) | 2005-10-25 | 2010-08-24 | Novatek Microelectronics Corp. | Apparatus and method for motion estimation supporting multiple video compression standards |
US8270490B2 (en) | 2006-07-06 | 2012-09-18 | Canon Kabushiki Kaisha | Motion vector detection apparatus, motion vector detection method, image encoding apparatus, image encoding method, and computer program |
-
2004
- 2004-03-16 JP JP2004074280A patent/JP2005268879A/ja not_active Withdrawn
Cited By (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2006025430A (ja) * | 2004-07-06 | 2006-01-26 | Thomson Licensing | 符号化モードを選択する方法及び装置 |
US8059722B2 (en) | 2004-07-06 | 2011-11-15 | Thomson Licensing | Method and device for choosing a mode of coding |
US7782952B2 (en) | 2005-10-25 | 2010-08-24 | Novatek Microelectronics Corp. | Apparatus and method for motion estimation supporting multiple video compression standards |
WO2007072895A1 (ja) * | 2005-12-21 | 2007-06-28 | Matsushita Electric Industrial Co., Ltd. | 画面内予測モード決定方法、画像符号化方法及び画像符号化装置 |
JP2008017209A (ja) * | 2006-07-06 | 2008-01-24 | Canon Inc | 動きベクトル検出装置、動きベクトル検出方法、コンピュータプログラム及び記憶媒体 |
US8270490B2 (en) | 2006-07-06 | 2012-09-18 | Canon Kabushiki Kaisha | Motion vector detection apparatus, motion vector detection method, image encoding apparatus, image encoding method, and computer program |
US9264735B2 (en) | 2006-07-06 | 2016-02-16 | Canon Kabushiki Kaisha | Image encoding apparatus and method for allowing motion vector detection |
JP2008092150A (ja) * | 2006-09-29 | 2008-04-17 | Canon Inc | 画像符号化装置、画像符号化方法 |
EP2207351A1 (en) * | 2007-10-15 | 2010-07-14 | Huawei Technologies Co., Ltd. | The video encoding and decoding method and corresponding codec based on the motion skip mode |
EP2207351A4 (en) * | 2007-10-15 | 2010-11-24 | Huawei Tech Co Ltd | METHOD OF VIDEO CODING AND DECODING AND COPY BASED ON MOTION CRASHING MODE |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR102412271B1 (ko) | 인루프 필터링을 적용한 예측 방법을 이용한 영상 부호화/복호화 방법 및 장치 | |
KR100739714B1 (ko) | 인트라 예측 모드 결정 방법 및 장치 | |
JP6164600B2 (ja) | ビデオ符号化での分割ブロック符号化方法、ビデオ復号化での分割ブロック復号化方法及びこれを実現する記録媒体 | |
US9210441B2 (en) | Fast mode-decision encoding for interframes | |
US9479786B2 (en) | Complexity allocation for video and image coding applications | |
KR101473278B1 (ko) | 화상 예측 부호화 장치, 화상 예측 복호 장치, 화상 예측 부호화 방법, 화상 예측 복호 방법, 화상 예측 부호화 프로그램, 및 화상 예측 복호 프로그램 | |
CN111373749B (zh) | 视频编码和解码中的低复杂度双向帧内预测的方法和装置 | |
US20060159354A1 (en) | Method and apparatus for predicting frequency transform coefficients in video codec, video encoder and decoder having the apparatus, and encoding and decoding method using the method | |
JP2009094828A (ja) | 画像符号化装置及び画像符号化方法、画像復号化装置及び画像復号化方法 | |
KR20090058954A (ko) | 사이드 매칭을 이용한 영상의 부호화 방법 및 장치, 그복호화 방법 및 장치 | |
TWI776071B (zh) | 用以編碼及解碼視訊取樣之轉換區塊的方法、設備和系統 | |
JPWO2010067529A1 (ja) | 動画像復号化方法及び装置、動画像符号化方法及び装置 | |
JP2007013298A (ja) | 画像符号化装置 | |
WO2018206396A1 (en) | Method and apparatus for intra prediction in video encoding and decoding | |
US20240187624A1 (en) | Methods and devices for decoder-side intra mode derivation | |
KR20070077609A (ko) | 인트라 예측 모드 결정 방법 및 장치 | |
JP2005268879A (ja) | 画像符号化方法およびその装置 | |
TWI776072B (zh) | 用以編碼及解碼視訊取樣之轉換區塊的方法、設備和系統 | |
KR100771640B1 (ko) | 고속 모드 결정 기능을 구비한 h.264 인코더 | |
KR101204788B1 (ko) | 영상의 공간 예측 부호화 방법, 부호화 장치, 복호화 방법및 복호화 장치 | |
JP2009049969A (ja) | 動画像符号化装置及び方法並びに動画像復号化装置及び方法 | |
JP5887012B2 (ja) | 画像復号化方法 | |
JP5937926B2 (ja) | 画像符号化装置、画像復号装置、画像符号化プログラム及び画像復号プログラム | |
JP5891333B2 (ja) | 画像復号化方法 | |
US20230136458A1 (en) | Method for image processing and apparatus for implementing the same |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20070215 |
|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20070215 |
|
RD01 | Notification of change of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7421 Effective date: 20070313 |
|
A761 | Written withdrawal of application |
Free format text: JAPANESE INTERMEDIATE CODE: A761 Effective date: 20071120 |