(57)【要約】【課題】  画像をブロック単位に分割し、動きベクトルを利用したフレーム間動き補償を行う画像符号化装置において、動きベクトル符号化効率の向上による高画質化の達成を少ない演算コストで実現するための画像符号化装置を提供する。【解決手段】  ブロック処理時点での発生符号量が目標符号量に対して上回っているとき、ブロックスキャン順で直前に処理した画像ブロックとブロックの属性を比較し、属性が一致した場合、その動きベクトル探索結果を当該ブロックの動きベクトルとしてそのまま用いる。【選択図】        図３
2006270390.tif 000002
【特許請求の範囲】
【請求項１】
画像をブロック単位に分割し、動きベクトルを利用したフレーム間動き補償を行う画像符号化装置において、
当該ブロックの属性を検出し、属性パラメータを出力するブロック属性検出部と、
当該ブロックの動きベクトル探索を行い、動きベクトルを出力するＭＶ探索処理部と、
当該フレームの属性パラメータおよび動きベクトルを保持するメモリと、
当該ブロックの符号化時点までの発生符号量を監視し、あらかじめ設定した目標符号量との比較結果を出力する符号量監視器と、
発生符号量が目標符号量を超え、且つブロックスキャン順序が１つないし複数前である近傍ブロックとの属性パラメータが一致する場合には、前記メモリに保持されている該近傍ブロックの動きベクトルを、そうでない場合は前記ＭＶ探索処理部によって得られた動きベクトルを出力するＭＶ符号化処理選択部と、
前記符号化処理選択部により選択された動きベクトルを用いてフレーム間符号化処理する符号化部とを有することを特徴とする画像符号化装置。
【請求項２】
ブロックの属性パラメータとして、各ブロックの色特性を用いることを特徴とする請求項１に記載の画像符号化装置。
【請求項３】
ブロックの属性パラメータ比較方法として、ブロック内各画素の色差成分を用いることを特徴とする請求項１または２に記載の画像符号化装置。
【請求項４】
ブロックの属性パラメータ比較方法として、ブロック内各画素の色差成分Ｃｂ，Ｃｒの平均値ＡｖｇＣｂ，ＡｖｇＣｒをブロック毎に算出し、平均値のブロック間の差がそれぞれ基準値以内であれば、当該ブロックと近傍ブロックを同一属性とみなすことを特徴とする請求項３に記載の画像符号化装置。
【請求項５】
ブロックの属性パラメータ比較方法として、肌色検出器を具備し、ブロック内各画素について肌色検出処理を行い、処理対象ブロックおよび比較対象ブロックがどちらも基準数以上の肌色画素を持つ場合に、当該ブロックと近傍ブロックを同一属性とみなすことを特徴とする請求項１または２に記載の画像符号化装置。
【請求項６】
ＭＶ符号化処理選択部において、近傍ブロックと当該ブロックが同一属性であるとき、近傍ブロックの動きベクトル探索結果を用いて符号化したときの符号化歪み値を求め、符号化歪み値が予め定めた値より小さいとき、近傍ブロックにおける動きベクトル検出結果を当該ブロックの動きベクトルとしてそのまま用いることを特徴とする請求項１乃至５のいずれかに記載の画像符号化装置。
【請求項７】
符号化歪み値の算出方法として、動きベクトルから得られた予測ブロックの画素サンプルと、当該ブロックの画素サンプルとの差分値における分散を用いることを特徴とする請求項６に記載の画像符号化装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は動画像を符号化する画像符号化装置に関する。
【背景技術】
【０００２】
撮影した動画像をデジタルデータとして記録・再生および伝送することが広く普及している。その際、データ量削減の観点から動画像に圧縮符号化処理を施して扱うことが一般的である。動画像の圧縮符号化方式としては、例えばＭＰＥＧ方式のように、空間方向（フレーム内）の相関を利用した直交変換符号化と、時間方向の相関（フレーム間）を利用した動き補償予測符号化の両方を用いることが多い。
【０００３】
ＭＰＥＧに用いられる動き補償予測符号化は、各フレームをブロック単位に分割し、前フレームと現フレーム、あるいは現フレームと次フレームとの間でブロックマッチングを行い、現フレームの各ブロックに対し検出した動きベクトルと、ブロックマッチングの誤差とを符号化する。
【０００４】
ここで、動きベクトルの符号化に関しては、隣接するブロック間での「動き」の相関が高いことを利用して、動きベクトルそのものでなく、直前の動きベクトルとの差分に対して符号化を行う。
【０００５】
例えば図２において１０１を過去のフレーム、１１１を現在のフレームとしたとき、過去のフレーム１０１に含まれる撮影対象（オブジェクト）１０２を構成するブロック１０３、１０４は、それぞれ現在のフレーム１１１における移動した撮影対象（オブジェクト）１１２の構成ブロック１１３，１１４にそれぞれ移動しているものと考えられ、動きベクトルはそれぞれ１１６，１１７となり、２つの動きベクトルは同一とみなせる。
【０００６】
この場合、１１３，１１４の各ブロックを符号化するときには、まずブロック１１３の動きベクトル（直前ブロックの動きベクトルとの差分値）、次にブロック１０３とのブロック誤差が符号化され、ブロックスキャン順で後に来るブロック１１４に関しては、動きベクトルが等しいため差分値の０、そしてブロック１０４とのブロック誤差が符号化される。ここで動きベクトル差分値の符号化に関しては、発生頻度の高い順に短い符合語を割り当てる可変長符号化（ＶＬＣ）がなされ、ベクトル差分が小さい順に短い符号が割り当てられている。
【０００７】
ブロック１１４の動きベクトルに関しては、探索処理時の条件次第では動きベクトル探索結果が動きベクトル１１８となる、すなわちブロック１０５との予測誤差のほうが小さくなるかもしれない。しかしこの場合は直前のブロック１１３の動きベクトルとの差分が０ではないため、差分ベクトル符号化における符号量は増大することになる。このように、単純なブロックマッチングのみで動きベクトルを探索することにより、撮影対象全体の動きに逆らう動きベクトルが発生し、差分ベクトル符号化時に符号量の増大をひきおこすことがある。
【０００８】
上述したように、動きベクトルがブロックスキャン順で直前のブロックに近いほど動きベクトルの符号化効率は向上する。しかしながら隣接ブロック間の動きベクトルが必ず相関関係をもつという保証は無く、動きベクトル符号化を優先するあまり、ブロック誤差が大きい、すなわち動き予測の位置として適切でない動きベクトルを選択すれば全体の符号化効率は悪化するので、ブロック誤差と差分ベクトル両方を減少させるバランスが肝心である。また、デジタルカメラ等の携帯機器における処理を考えた場合、回路規模や動作周波数、消費電力等の制約を考慮したシンプルな（演算回数の少ない）処理が望ましい。
【０００９】
符号化効率が向上するということは、同一ビットレートで考えた場合、符号化効率の向上により画質の低下を招かず浮いたビット分を他の符号化難易度の高いブロックに割り振ることが出来るので、動画像全体として高画質化を達成できるということである。
【００１０】
動きベクトルとブロック誤差の符号化双方で全体最適な動きベクトル探索処理を行うための手法として、特許文献１に開示されている「動きベクトル補正制御方式」では、まず通常の動きベクトル探索処理を行い、その結果が周辺ブロックと極端に異なり、かつ平坦な色調のブロックであった場合、平坦なブロックが多いために動きベクトルの誤検出が起きたと判断し、周辺ブロックの動きベクトル探索結果を当該ブロックにそのまま適用する。
【００１１】
また、特許文献２に開示されている「動きベクトルの検出方法および回路」では、隣接ブロックの各動きベクトルのうち予測誤差が最小、かつ所定値以下のものがあればそのまま当該ブロックの動きベクトルとして選択し、予測誤差が所定値を越えていれば、隣接ブロックで求めた動きベクトルの方向、速度から動きベクトル探索範囲を決定し動きベクトル探索を行う。隣接ブロック間の動きベクトルの相関性を利用した、動きベクトル探索におけるヒット率の向上を狙った動きベクトル探索方法である。
【特許文献１】特許第３４１８７９９号公報
【特許文献２】特開平２０００−２０１３２８号公報
【発明の開示】
【発明が解決しようとする課題】
【００１２】
しかしながら、特許文献１では、周辺ブロックの動きベクトルにそろえることで、ベクトルの「ばらつき」を減らす処理であるが、基本的には平坦な色調の画像に特化した補正処理である上に、ブロック処理毎に、周辺ブロックとの動きベクトルの比較、ブロック平坦度の判定処理を行う必要がある。また、特許文献２では、毎回隣接ブロックの動きベクトルの比較処理を行う必要がある。
【００１３】
すなわち、従来技術では、動きベクトルを探索する際の処理負荷が非常に大きなものであった。
【００１４】
本願発明では上述した問題を解決すべく、動きベクトル符号化効率の向上による高画質化の達成を少ない演算コストで実現するための画像符号化装置を提供する。
【課題を解決するための手段】
【００１５】
本発明の画像符号化装置は、画像をブロック単位に分割し、動きベクトルを利用したフレーム間動き補償を行う画像符号化装置において、当該ブロックの属性を検出し、属性パラメータを出力するブロック属性検出部と、当該ブロックの動きベクトル探索を行い、動きベクトルを出力するＭＶ探索処理部と、当該フレームの属性パラメータおよび動きベクトルを保持するメモリと、当該ブロックの符号化時点までの発生符号量を監視し、あらかじめ設定した目標符号量との比較結果を出力する符号量監視器と、発生符号量が目標符号量を超え、且つブロックスキャン順序が１つないし複数前である近傍ブロックとの属性パラメータが一致する場合には、前記メモリに保持されている該近傍ブロックの動きベクトルを、そうでない場合は前記ＭＶ探索処理部によって得られた動きベクトルを出力するＭＶ符号化処理選択部と、前記符号化処理選択部により選択された動きベクトルを用いてフレーム間符号化処理する符号化部とを有することを特徴とする。
【発明の効果】
【００１６】
本願の請求項１記載の発明によれば、当該ブロック処理時点での発生符号量が目標符号量に対して上回っているとき、ブロックスキャン順で直前に処理した画像ブロックとブロックの属性を比較し、属性が一致した場合、その動きベクトル探索結果を当該ブロックの動きベクトルとしてそのまま用いることで、動きベクトル再探索のためのブロックマッチング処理を行うことなく動きベクトルを置き換え、符号化効率を向上させることが出来る。
【００１７】
また本願の請求項２乃至４記載の発明によれば、ブロック間の属性比較指標として各ブロックの色特性を使用することで、複雑な判定処理を用いずにブロックごとの属性パラメータを算出できる。
【００１８】
また本願の請求項５記載の発明によれば、ブロックの属性比較を、符号化処理の他の部分と共用する肌色検出器を用いておこなうことで、回路規模の削減が可能である。
【００１９】
また本願の請求項６記載の発明によれば、ブロックスキャン順で直前に処理した画像ブロックの動きベクトル結果をそのまま当該ブロックに用いる場合の符号化歪み値を算出し、予め定めた基準値と比較した上で、動きベクトル置き換え処理を行うかどうかの判断をすることで、直前ブロックと動きベクトルが一致していない場合にブロック誤差が増加し全体として符号量が増えてしまうケースを阻止できる。
【００２０】
また本願の請求項７記載の発明によれば、ブロックスキャン順で直前のブロックの動きベクトル探索結果を当該ブロックに用いるかどうかの指標である符号化歪み値の算出に際し、ブロック間差分値の分散を用い、符号化処理の他の部分と共用する分散演算器を使用することで、回路規模の削減が可能である。
【発明を実施するための最良の形態】
【００２１】
以下本発明を実施するための最良の形態を、実施例により詳しく説明する。
【００２２】
図１は本発明の画像符号化装置の図面であり、本発明の特徴を最もよく表す。
【００２３】
図１において、動きベクトル探索器２００は、ブロック属性検出部２０１、ブロック属性・ＭＶ探索結果記憶メモリ２０２、ＭＶ符号化処理選択部２０３、ＭＶ探索処理部２０４より構成され、入力画像から各画像ブロック単位で画素データを読み出し、ブロック属性検出部２０１において処理対象画像ブロックの属性を検出し、ブロック属性・ＭＶ探索結果記憶メモリ２０２に書き込む。書き込まれた符号化対象ブロックの属性パラメータは、ＭＶ探索処理部において通常のＭＶ探索処理が行われた後、現時点での符号量が目標値を超えている場合に、ブロック処理判定部２０３により近傍ブロックの属性パラメータとともに読み出され、予め設定された基準により近傍ブロックと同一属性であるか否かが判定される。
【００２４】
ブロック属性の判定結果をもとに、ＭＶ探索処理部２０４では、近傍ブロックと同一属性のとき、近傍ブロックの動きベクトル探索結果をそのまま用いてブロック属性・ＭＶ探索結果記憶メモリ２０２から近傍画像ブロックの動きベクトル探索結果を読み出してそのまま出力する。近傍ブロックと同一属性でないときは、当該ブロックの動きベクトル探索処理結果をそのまま出力する。
【００２５】
当該ブロックの最終的な動きベクトル探索処理結果はブロック属性・ＭＶ探索結果記憶メモリ２０２に書き込まれたのち、符号化器２３０においてブロック単位で符号化される。その際に当該ブロックまでのフレーム全体の符号量が符号量監視器２２０においてカウントされ、次回のブロック処理判定部２０３の処理に用いる。
【実施例】
【００２６】
（実施の形態１）
図３は本願の発明の実施の形態１の動きベクトル探索器のフローチャートである。各フレームにおいて、ブロックスキャン順に１つずつブロックを選択し、動きベクトル探索処理を行った後、ブロック単位で符号化を行う。
【００２７】
まず処理３０１において、通常一般に用いられるような動きベクトル探索処理、すなわち参照フレームとのブロックマッチング処理がなされ、候補となる動きベクトルが求められた後、処理３０２で当該ブロックの属性パラメータが算出される。本実施例ではブロックの属性パラメータとして色情報を用いる。隣接ブロックとの色情報の一致、すなわち隣のブロックと同じ色であれば両者は同じ属性のブロック、すなわち同一のオブジェクトで、同一方向に運動しているとみなす。
【００２８】
図２で言えばブロック１１４と１１３の属性である色情報の一致をもって、２つのブロックが同じオブジェクト１１２に属し、同一の動きベクトルで動いていると判断することになる。
【００２９】
本実施例では色情報としてブロック内各画素の色差成分ＣｂおよびＣｒを用いる。
【００３０】
図５でＣｂ，Ｃｒそれぞれを軸に取ったとき、基準となる「色」を示す点５０１から、各成分がそれぞれしきい値Ｔｈｃｂ，Ｔｈｃｒだけ離れた範囲５０４内の値をとれば同一属性とする。
【００３１】
すなわち図５では点５０２は点５０１と同一属性であるが、点５０３は異なる属性である。本実施例では各ブロック内画素の色差成分の平均値ＡｖｇＣｂ，ＡｖｇＣｒを求め、参照フレームの色差成分平均値が当該フレームの色差成分平均値からしきい値Ｔｈｃｂ，Ｔｈｃｒまでの範囲に収まれば両ブロックは同一属性であるとみなす。
【００３２】
各ブロックでは後述する処理３０７において、それぞれのブロックが符号化された時点までの符号量が累算されている。分岐３０３では、１つ前までのブロックの符号量が、あらかじめ定めた目標ビットレートから求まる目標符号量に対して大きいか、小さいかの判定を行う。
【００３３】
目標符号量を超えている場合、分岐３０４に移り、そうでなければ３０４，３０５を飛ばして処理３０６に移る。分岐３０４では処理３０２でのブロック属性算出結果から、ブロックスキャン順で直前のブロックが同一属性、すなわち本実施例では同一色であるかどうかを判断し、同一であれば処理３０５へ、そうでなければ３０５を飛ばして処理３０６へ移る。処理３０５では、処理３０１で求めた通常の動きベクトル探索処理の結果を、同一属性とみなした直前ブロックの動きベクトル探索結果と置き換える。処理３０６では、選択された動きベクトル探索結果をもとに、参照フレーム中で動きベクトルの指し示すブロックと当該ブロックの差分を求めた後、ＤＣＴ演算や量子化、可変長符号化を施し当該ブロックの符号化処理を行う。処理３０７で、現フレームの当該ブロックまでの符号量を求めた後、フレーム中に未処理のブロックがなければ当該フレームの符号化を終了し次のフレームに移り、そうでなければブロックスキャン順に次のブロックを選択し、処理３０１に戻る。
【００３４】
図２のフレーム１１１の符号化処理において、ブロック１１３では動きベクトル１１６で符号化処理した後、ブロック１１４に移り、通常の動きベクトル探索処理の結果が動きベクトル１１８であった場合、動きベクトルの差分が０にならないため動きベクトルの符号化効率が低下するが、処理時点での符号量が目標値を超えている場合には、それぞれのブロック属性（色情報）をもとに、ブロック１１３と１１４は同一属性であると判断した後、ブロック１１３の動きベクトル探索結果をそのまま用いる。すなわちブロック１１４における処理では、通常の動きベクトル探索結果である動きベクトル１１８を、直前ブロックの動きベクトル探索結果である動きベクトル１１７に置き換えて符号化処理を行う。
【００３５】
符号量が目標値を超えた場合に、動きベクトル符号化の符号量低減を目的に、動きベクトル探索処理からやり直す処理をする場合、直前ブロックの動きベクトルをもとにブロックマッチング処理（ブロック間各画素での差分演算を行い極小値を求める）を行い、符号化まで行った後、あらためて符号量が減ったかどうかを確認する必要がある。これに比べて、本実施例では、色情報の演算という、例えばｎ×ｎで構成されるブロックの各画素のＣｂ，Ｃｒの平均値を求めるという簡単な演算処理で済むブロック間の属性判定をもとに、動きベクトルの結果をそのまま流用するだけであり、他に演算を必要としない。
【００３６】
以上により、動きベクトルの符号化処理について、少ない演算量で符号化効率を高くできる。
【００３７】
（実施の形態２）
図２で、オブジェクト１１２が人物の顔の部分を示しているとして、一様に肌色をしているとすれば、中に含まれるブロック１１３および１１４の同一属性の判定は、ブロック中の肌色成分を比較することで可能である。
【００３８】
また、肌色は人間の目に付きやすく、圧縮符号化の「あら」が目立ちやすいので、画像の肌色部分だけフィルタのかけ具合を変化させたり、割り当てる符号量を多くする等の特別な処理を加える目的で、肌色検出装置を備えた画像符号化装置が存在する。本実施例ではこの肌色検出装置をブロック間の属性比較に用いる、すなわち肌色であれば同一属性であるとみなしてブロックごとの符号化処理を行う。
【００３９】
以下、処理の流れは実施の形態１と同じなので省略する。他の処理に用いられる肌色検出装置を本実施例のブロック属性算出処理と兼用させることで、回路規模の削減が可能である。
【００４０】
（実施の形態３）
図４は本願の発明の実施の形態３の動きベクトル探索器のフローチャートである。処理４０１から４０５までは実施の形態１の処理３０１から３０５とそれぞれ等しいので説明は省略する。
【００４１】
直前ブロックまでの符号量が目標値を超え、かつ直前のブロックと同一属性であるとき、処理４０６で、直前ブロックの動きベクトル探索結果を用い、参照フレームとのブロックマッチング誤差を求め、さらにその分散値を求める。
【００４２】
ここで、古典的なＲａｔｅ−Ｄｉｓｔｏｒｔｉｏｎモデルの式を用いると、割り当てられた符号量をＲ，量子化ひずみ量をＤ，入力値の分散をＳとしたとき式（１）が成り立つ。
【００４３】
2006270390.tif 000003
【００４４】
（１）から、量子化ひずみ量は式（２）となる。
【００４５】
2006270390.tif 000004
【００４６】
式（２）を用いて量子化ひずみ量の概算を行い、直前ブロックの動きベクトル探索結果を用いた場合の符号化結果を判断した上で、実際に直前ブロックの探索結果を用いるか、当該ブロックの探索結果を用いるかを判断する。
【００４７】
例えば、直前ブロックの動きベクトル探索結果を用いて計算された式（１）があらかじめ定めた値以上になるなら、動きベクトルを流用することで符号化画像のひずみが大きくなる、すなわち同程度の画質にした場合の符号量が大きくなるので、直前ブロックの結果の流用より当該ブロックの動きベクトル探索結果をそのまま用いるべきと判断する。
【００４８】
以上により、ブロック差分値の分散を計算することで、実際に符号化した場合の結果を事前に予測できるため、動きベクトル選択の精度を向上させることが可能になる。
【００４９】
また、分散の算出処理は符号量制御に用いられることも多いので、分散用の演算回路を共用することにより回路規模の削減が図れる。
【図面の簡単な説明】
【００５０】
【図１】本願における画像符号化装置の動きベクトル探索器の構成の一例を表す図
【図２】本願における画像符号化装置の動きベクトル探索処理の一例を表す図
【図３】本願の実施の形態１、２の動きベクトル探索処理のフローチャートの一例を表す図
【図４】本願の実施の形態３の動きベクトル探索処理のフローチャートの一例を表す図
【図５】本願の実施の形態１の色差成分による属性判定の説明を表す図
【符号の説明】
【００５１】
２００  動きベクトル探索器
２０１  ブロック属性検出部
２０２  ブロック属性・ＭＶ探索結果メモリ
２０３  ＭＶ符号化処理選択部
２０４  ＭＶ探索処理部
２１０  フレームメモリ
２２０  符号量監視器
２３０  符号化器
【図１】
2006270390.tif 000005
【図３】
2006270390.tif 000006
【図４】
2006270390.tif 000007
【図５】
2006270390.tif 000008
【図２】
2006270390.tif 000009