(57)【要約】【課題】動きベクトルの検出時間と検出精度が適正化された動画像符号化装置を提供する。【解決手段】符号化処理が済んだ第１符号化単位領域で検出した第１動きベクトルを利用して符号化処理が済んでいない第２符号化単位領域の第２動きベクトルを検出する動画像符号化装置１００であって、第１符号化単位領域及び第２符号化単位領域を含む一画像内の符号化処理の進捗に応じて、第２符号化単位領域が利用する第１動きベクトルの総数を増減させる増減制御回路１２２を有する動画像符号化装置１００である。【選択図】図１
2015142233.tif 000002
【特許請求の範囲】
【請求項１】
符号化処理が済んだ第１符号化単位領域で検出した第１動きベクトルを利用して前記符号化処理が済んでいない第２符号化単位領域の第２動きベクトルを検出する動画像符号化装置であって、
前記第１符号化単位領域及び前記第２符号化単位領域を含む一画像内の前記符号化処理の進捗に応じて、前記第２符号化単位領域が利用する前記第１動きベクトルの総数を増減させる増減制御手段
を有する動画像符号化装置。
【請求項２】
前記増減制御手段は、前記符号化処理の処理時間に対する前記符号化処理の進捗が予め設定された設定情報を下回っている場合、前記第１動きベクトルの総数を減らすことを特徴とする請求項１に記載の動画像符号化装置。
【請求項３】
前記増減制御手段は、前記符号化処理の処理時間に対する前記符号化処理の進捗が予め設定された設定情報を上回っている場合、前記第１動きベクトルの総数を増やすことを特徴とする請求項１又は２に記載の動画像符号化装置。
【請求項４】
前記増減制御手段は、前記第２符号化単位領域を縮小した縮小領域と該縮小領域が参照する第１参照領域との前記第２動きベクトルを検出する分割領域ごとの第１類似度に基づいて、各分割領域に前記第１動きベクトルの総数を配分することを特徴とする請求項１から３のいずれか１項に記載の動画像符号化装置。
【請求項５】
前記増減制御手段は、前記第１類似度が該第１類似度を判定する第１判定閾値以上であることにより前記縮小領域と前記第１参照領域とが類似していないと判断した場合、前記分割領域に配分する前記第１動きベクトルの数量を相対的に増やすことを特徴とする請求項４に記載の動画像符号化装置。
【請求項６】
前記増減制御手段は、前記第１類似度が該第１類似度を判定する第１判定閾値未満であることにより前記縮小領域と前記第１参照領域とが類似していると判断した場合、前記分割領域に配分する前記第１動きベクトルの数量を相対的に減らすことを特徴とする請求項４又は５に記載の動画像符号化装置。
【請求項７】
前記増減制御手段は、前記第１動きベクトルと関連付けられた前記第１符号化単位領域と該第１符号化単位領域が参照する第２参照領域との第２類似度が該第２類似度を判定する第２判定閾値以上であることにより前記第１符号化単位領域と前記第２参照領域とが類似していないと判断した場合、前記第２類似度と関連付けられた第１動きベクトルを前記第２符号化単位領域の利用対象から除外することを特徴とする請求項１から６のいずれか１項に記載の動画像符号化装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本件は、動画像符号化装置に関する。
【背景技術】
【０００２】
動画像の圧縮符号化方式として、H.264/Moving Picture Experts Group -4 Advanced Video Coding（Ｈ．２６４／ＭＰＥＧ−４ ＡＶＣ）やH.265/High Efficiency Video Coding（Ｈ．２６５／ＨＥＶＣ）が規格化されている。例えばＨ．２６５／ＨＥＶＣは、次世代のテレビとして予定されているUltra High Definition Television（ＵＨＤＴＶ：超高精細テレビ）に利用される。ＵＨＤＴＶでは４Ｋ（４，０９６×２，１６０画素または３，８４０×２，１６０画素）や８Ｋ（７，６８０×４，３２０画素）といった超高精細画像が取り扱われる。
【０００３】
動画像の符号化では、Motion Estimation（ＭＥ：動きベクトル検出）と呼ばれる演算で多くの電力が消費される。このため、上述した超高精細画像を取り扱う際には演算量を削減し消費電力を抑えてMotion Vector（ＭＶ：動きベクトル）を高精度に検出することが望まれる。
【０００４】
演算量を削減する動きベクトル検出として階層型動きベクトル検出がある。階層型動きベクトル検出では、まず、入力画像を縮小した縮小画像を利用して縮小画像による初段の動きベクトルが検出される。次に、初段の動きベクトルのベクトル先を基点に入力画像の動きベクトルの探索範囲が決定され、決定された探索範囲の中から次段の動きベクトルが検出される。そして、初段の動きベクトルと次段の動きベクトルから入力画像の最終的な動きベクトルが検出される。
【０００５】
一方、入力画像の動きベクトルの検出精度を向上させるべく、既に符号化処理が済んだ符号化単位領域で検出された入力画像の動きベクトルを利用して符号化処理が済んでいない符号化単位領域の動きベクトルを検出する技術がある。しかしながら、当該技術では、検出精度向上のために既に検出された動きベクトルの数を増やせば演算量も増加する。
【０００６】
演算量を抑えつつ、動きベクトルの検出精度向上を図った種々の技術も提案されている。例えば、縮小画像による初段の動きベクトルにおけるベクトル先の周囲のSum of Absolute Difference（ＳＡＤ：差分絶対値和）値を算出し、最小のＳＡＤ値となった周辺を入力画像の動きベクトルの探索範囲と決定する技術がある（例えば、特許文献１参照）。当該技術によれば、演算量が少ない縮小画像の動きベクトル検出により探索範囲が絞られ、動きベクトル検出全体の演算量も抑えられる。また、符号化開始から経過した時間を計時するとともに符号化したブロックの個数を計数し、経過時間と計数結果に応じて動きベクトルの探索回数を増減させる技術もある（例えば、特許文献２参照）。さらに、シーンチェンジに該当する画像を探索先とする動きベクトルは、動きベクトルの検出対象から除外する技術も知られている（例えば、特許文献３参照）。
【先行技術文献】
【特許文献】
【０００７】
【特許文献１】特開２０１０−７４４９６号公報
【特許文献２】特開２００９−６０５３６号公報
【特許文献３】特開平５−３０４６６４号公報
【発明の概要】
【発明が解決しようとする課題】
【０００８】
しかしながら、上述した技術において、例えば外乱などにより計画されていた演算時間が揺らぎ、符号化処理に遅延が発生した場合、演算量を削減することができないため、符号化処理の遅延は累積される。また、Ｈ．２６４／ＭＰＥＧ−４ ＡＶＣやＨ．２６５／ＨＥＶＣでは、動きベクトルを検出する領域のサイズが可変であるため、探索回数に対する符号化処理時間は必ずしも一定とならず、探索回数を増減させるだけでは演算時間を十分に制御することができない。
【０００９】
そこで、１つの側面では、本件は、動きベクトルの検出時間と検出精度が適正化された動画像符号化装置を提供することを目的とする。
【課題を解決するための手段】
【００１０】
本明細書に開示の動画像符号化装置は、符号化処理が済んだ第１符号化単位領域で検出した第１動きベクトルを利用して前記符号化処理が済んでいない第２符号化単位領域の第２動きベクトルを検出する動画像符号化装置であって、前記第１符号化単位領域及び前記第２符号化単位領域を含む一画像内の前記符号化処理の進捗に応じて、前記第２符号化単位領域が利用する前記第１動きベクトルの総数を増減させる増減制御手段を有する動画像符号化装置である。
【発明の効果】
【００１１】
本明細書に開示の動画像符号化装置によれば、動きベクトルの検出時間と検出精度が適正化される。
【図面の簡単な説明】
【００１２】
【図１】図１は、動画像符号化装置のブロック図の一例である。
【図２】図２は、符号化ツリー単位領域と符号化単位領域の関係の一例を説明するための図である。
【図３】図３は、増減制御回路の動作の一例を示すフローチャートである。
【図４】図４は、動きベクトルの総数の増減を説明するための図である。
【図５】図５は、動きベクトル分類処理の詳細を例示するフローチャートである。
【図６】図６は、動きベクトル分類処理の一例を説明する図である。
【図７】図７は、動きベクトル数決定処理の詳細を例示するフローチャートである。
【図８】図８は、動きベクトル数の決定を説明する図である。
【図９】図９は、符号化単位領域に配分された動きベクトル数の一例である。
【図１０】図１０は、最大動きベクトル数決定処理の詳細を例示するフローチャートである。
【図１１】図１１は、動きベクトル選択処理の詳細を例示するフローチャートである。
【図１２】図１２は、実施例と比較例の効果を対比して説明する図である。
【図１３】図１３は、実施例と比較例の効果を対比して説明する別の図である。
【発明を実施するための形態】
【００１３】
以下、本件を実施するための形態について図面を参照して説明する。
【００１４】
図１は、動画像符号化装置１００のブロック図の一例である。図２は、符号化ツリー単位領域１１と符号化単位領域１２の関係の一例を説明するための図である。
動画像符号化装置１００は、図１に示すように、減算部１０１、量子化部１０２、逆量子化部１０３、加算部１０４、画像内予測部１０５、ループフィルタ部１０６、画面間予測部１０７、縮小動きベクトル検出部１０８、等倍動きベクトル検出部１０９、スイッチ部１１０、エントロピー符号化部１１１、動きベクトル管理部１１２及び制御部１２０を含んでいる。動画像符号化装置１００は、例えばLarge Scale Integration（ＬＳＩ：大規模集積回路）によって実現される。また、減算部１０１，・・・，制御部１２０はそれぞれハードウェア回路によって実現される。
【００１５】
動画像符号化装置１００には、図１及び図２に示すように、動画像５が入力される。動画像５は、アナログの画像信号である。図２に示すように、動画像５は、時間的に連続する複数のピクチャ（静止画像）１０を含んでいる。ピクチャ１０はフレームと呼ばれることもある。動画像符号化装置１００に動画像５が入力されると、動画像５に含まれる複数のピクチャ１０は順にアナログの画像信号からデジタルの画像信号に変換される。デジタルの画像信号に変換されたピクチャ１０は、ピクチャの種類（例えばＩタイプ、Ｐタイプ、Ｂタイプ）に応じて、時間軸上の順序から符号化する順序に並び替えられる。並び替えられたピクチャ１０の符号化処理は、図２に示すように、正方の複数の符号化ツリー単位領域１１（最大６４画素×６４画素）毎に行われる。符号化ツリー単位領域１１は４種類の符号化単位領域１２（８画素×８画素〜６４画素×６４画素）に分割される。分割された符号化ツリー単位領域１１は減算部１０１、縮小動きベクトル検出部１０８及び等倍動きベクトル検出部に入力される。尚、符号化ツリー単位領域１１は、例えばCoding Tree Unit（ＣＴＵ：符号化ツリーユニット）又はMacro Block（ＭＢ：マクロブロック）と呼ばれる。符号化単位領域１２は、例えばCoding Unit（ＣＵ：符号化ユニット）やサブブロックと呼ばれる。
【００１６】
減算部１０１は、入力された現在（カレント）の符号化ツリー単位領域１１から、スイッチ部１１０から出力された後述するフレーム間予測領域又はフレーム内予測領域を減算する。フレーム間予測領域及びフレーム内予測領域は、いずれも過去の符号化ツリー単位領域１１に対応する。減算部１０１により、現在の符号化ツリー単位領域１１とフレーム間予測領域又はフレーム内予測領域との誤差領域が生成される。減算部１０１は生成した誤差領域を量子化部１０２に出力する。
【００１７】
量子化部１０２は、入力された誤差領域に対し符号化単位領域１２毎にDiscrete Cosine Transform（ＤＣＴ：離散コサイン変換）を実行する。これにより、各符号化単位領域１２は実空間領域から周波数領域に変換される。以下、周波数領域に変換された符号化単位領域１２をＤＣＴ係数と呼ぶ。量子化部１０２は、各ＤＣＴ係数をそれぞれ量子化パラメータ（ＱＰ）に応じて量子化する。量子化パラメータは、視覚特性や目標ビットレートに基づくパラメータである。量子化部１０２は、量子化した各ＤＣＴ係数を逆量子化部１０３及びエントロピー符号化部１１１に出力する。
【００１８】
逆量子化部１０３は、入力された各ＤＣＴ係数を逆量子化する。これにより、量子化前のＤＣＴ係数、すなわち周波数領域が再生される。逆量子化部１０３は、各周波数領域に対しInverse Discrete Cosine Transform（ＩＤＣＴ：逆離散コサイン変換）を実行する。これにより、各周波数領域は実空間領域にそれぞれ変換される。すなわち、符号化ツリー単位領域１１の一部を構成する誤差領域がそれぞれ再生される。逆量子化部１０３は、再生した誤差領域を符号化ツリー単位領域１１の大きさを有する誤差領域に戻し加算部１０４に出力する。
【００１９】
加算部１０４は、入力された誤差領域と、フレーム間予測領域又はフレーム内予測領域とを加算する。これにより、ＤＣＴにより失われた高周波成分を含まない符号化単位領域（以下、再生領域という。）が再生される。加算部１０４は、再生領域を画面内予測部１０５とループフィルタ部１０６に出力する。
【００２０】
画面内予測部１０５は、入力された再生領域に対しイントラ予測を符号化単位領域１２毎に行って、再生領域の予測結果としてフレーム内予測領域をスイッチ部１１０に出力する。
ループフィルタ部１０６は、入力された再生領域のノイズを低減する。ループフィルタ部１０６としては、例えばデブロッキングフィルタがある。ループフィルタ部１０６にSample Adaptive Offset（ＳＡＯ：画素適応オフセット）を含めてもよい。ループフィルタ部１０６は、ノイズを低減した再生領域を画面間予測部１０７、縮小動きベクトル検出部１０８及び等倍動きベクトル検出部１０９に出力する。ノイズを低減した再生領域は、縮小動きベクトル検出部１０８及び等倍動きベクトル検出部１０９において参照領域として利用される。尚、ループフィルタ部１０６は、ノイズを低減した再生領域を動画像符号化装置１００の外部に配置されたフレームメモリ（例えばSynchronous Dynamic Random Access Memory（ＳＤＲＡＭ））に出力してもよい。
画面間予測部１０７は、入力された再生領域と等倍動きベクトル検出部１０９によって検出された等倍画像の動きベクトルとに基づいて、動き補償予測（画面間予測）を行い、予測結果としてのフレーム間予測領域をスイッチ部１１０に出力する。
【００２１】
縮小動きベクトル検出部１０８は、現在（カレント）の符号化ツリー単位領域１１を縮小した縮小領域と入力された再生領域を縮小した再生縮小領域のとの差分により、縮小領域による初段の動きベクトルを検出する。検出の際には例えばブロックマッチング法が利用される。縮小動きベクトル検出部１０８は、初段の動きベクトルとその動きベクトルを検出した際のＳＡＤ値を動きベクトル管理部１１２に出力する。
【００２２】
等倍動きベクトル検出部１０９は、後述する制御部１２０から出力された探索範囲の中から動きベクトルを選択する。一方、探索範囲が存在しない場合には、現在の符号化ツリー単位領域１１と入力された再生領域との差分により、次段の動きベクトルを検出し、検出した次段の動きベクトルと動きベクトル管理部１１２によって管理された初段の動きベクトルを合成して、等倍画像の動きベクトルを検出する。等倍動きベクトル検出部１０９は、等倍画像の動きベクトルを画面間予測部１０７に出力する。また、等倍動きベクトル検出部１０９は、等倍画像の動きベクトルとその動きベクトルを検出した際のＳＡＤ値を動きベクトル管理部１１２に出力する。
【００２３】
スイッチ部１１０は、画面内予測部１０５から出力されたフレーム内予測領域と画面間予測部１０７から出力されたフレーム間予測領域のいずれかを減算部１０１及び加算部１０４に出力する。
エントロピー符号化部１１１は、量子化部１０２から出力されたＤＣＴ係数と等倍動きベクトル検出部１０９から出力された等倍画像の動きベクトルをエントロピー符号化する。エントロピー符号化には、例えばハフマン符号化や算術符号化などが利用される。エントロピー符号化部１１１は、符号化したＤＣＴ係数と等倍画像の動きベクトルを多重化し、ビットストリームとして符号出力する。
【００２４】
動きベクトル管理部１１２は、縮小動きベクトル検出部１０８から出力された初段の動きベクトル及びそのＳＡＤ値、並びに、等倍動きベクトル検出部１０９から出力された等倍画像の動きベクトル及びそのＳＡＤ値を管理する。動きベクトル管理部１１２には、例えばStatic Random Access Memory（ＳＲＡＭ）が利用される。
【００２５】
制御部１２０は、現在の符号化ツリー単位領域１１が探索する探索範囲を決定する。制御部１２０は、計時回路１２１と増減制御回路１２２を含んでいる。
計時回路１２１は、ピクチャ１０の符号化処理開始から経過した時間を計時し、経過時間に対する符号化処理の進捗率を計算する。計時回路１２１は、計算した進捗率を増減制御回路１２２に出力する。
増減制御回路１２２は、動きベクトル管理部１１２によって管理された初段の動きベクトル及びそのＳＡＤ値、並びに、等倍動きベクトル検出部１０９から出力された等倍画像の動きベクトル及びそのＳＡＤ値を取得する。そして、増減制御回路１２２は、符号化処理が済んだ符号化ツリー単位領域１１と符号化処理が済んでいない符号化ツリー単位領域１１を含む一ピクチャ１０内の符号化処理の進捗率に応じて、符号化処理が済んでいない符号化ツリー単位領域１１が利用する、符号化処理が済んだ符号化ツリー単位領域１１で検出された等倍画像の動きベクトルの総数を増減させる。例えば、増減制御回路１２２は、符号化処理の経過時間に対する符号化処理の進捗率が予め設定された設定情報としての進捗率閾値を下回っている場合、検出に利用する動きベクトルの総数を減らす。一方、増減制御回路１２２は、符号化処理の経過時間に対する符号化処理の進捗率が進捗率閾値を上回っている場合、検出に利用する動きベクトルの総数を増やす。
【００２６】
次に、図３及び図４を参照して、動画像符号化装置１００の動作について説明する。
【００２７】
図３は、増減制御回路１２２の動作の一例を示すフローチャートである。図４は、動きベクトルの総数の増減を説明するための図である。
図３に示すように、増減制御回路１２２は、まず、ピクチャ１０に対し新たに符号化処理を開始する度に計時回路１２１を再設定する（ステップＳ１０１）。これにより、ピクチャ１０に対して新たに行われる符号化処理に費やされる時間が計時される。次いで、増減制御回路１２２は、動きベクトル分類処理を実行する（ステップＳ１０２）。動きベクトル分類処理は、所定の条件に従って、動きベクトルを分類する処理である。尚、動きベクトル分類処理の詳細は後述する。
【００２８】
次いで、増減制御回路１２２は、ピクチャ内進捗率を算出する（ステップＳ１０３）。ピクチャ内進捗率は以下の数式（１）により算出される。
［ピクチャ内進捗率］
＝［符号化処理が済んだ符号化単位領域の数］
÷［ピクチャ内の符号化単位領域の総数］×１００・・・（１）
【００２９】
次いで、増減制御回路１２２は、符号化処理が済んでいない符号化ツリー単位領域１１（ＣＴＵ）が利用する動きベクトルの総数を決定する（ステップＳ１０４）。動きベクトルの総数は、以下の数式（２）により決定される。
［動きベクトルの総数］
＝［動きベクトルの総数］
＋重み係数Ａ×（［ピクチャ内進捗率］−［進捗率閾値］）・・・（２）
【００３０】
ここで、重み係数Ａは重み付けのために用いる正の定数である。例えば、設定情報として設定されたある時間の進捗率閾値が「４０％」、動きベクトルの総数の初期値が「３０」、重み係数Ａが「２５」である場合に、ピクチャ内進捗率が「２０％」であると、進捗率閾値をピクチャ内進捗率が下回る。すなわち、符号化処理に遅延が発生している。上述した数式（１）及び（２）によれば、図４に示すように、動きベクトルの総数は「２５」と決定される。すなわち、符号化処理が済んでいない符号化ツリー単位領域１１は、動きベクトルの総数が「３０」から「２５」に減る。逆に、符号化処理が進みすぎている場合には、進捗率閾値をピクチャ内進捗率が上回り、符号化処理が済んでいない符号化ツリー単位領域１１は、動きベクトルの総数が「３０」から「３３」等に増える。すなわち、符号化処理の進捗率に応じて、動きベクトルの総数を減らして演算量を減らし符号化処理の速度を上げたり、動きベクトルの総数を増やして演算量を増やし符号化処理の速度を下げたりすることで、符号化処理の速度が一定に保たれる。したがって、実時間の（リアルタイムな）符号化が実現され、リアルタイムエンコードが要求される撮像機器（例えばビデオカメラ）では有効になる。
【００３１】
次いで、増減制御回路１２２は、動きベクトル数決定処理を実行する（ステップＳ１０５）。動きベクトル数決定処理は、符号化ツリー単位領域１１に含まれる各符号化単位領域１２に配分する動きベクトル数を決定する処理である。尚、動きベクトル数決定処理の詳細は後述する。次いで、増減制御回路１２２は、動きベクトル選択処理を実行する（ステップＳ１０６）。動きベクトル選択処理は、分類された動きベクトルの中から、探索範囲として利用する動きベクトルを選択する処理である。選択された動きベクトルが探索範囲として等倍動きベクトル検出部１０９に出力される。
【００３２】
増減制御回路１２２は、次いで、符号化ツリー単位領域１１に含まれる全ての符号化単位領域１２（ＣＵ）に対して動きベクトルの選択が完了したか否かを判断する（ステップＳ１０７）。増減制御回路１２２は、全ての符号化単位領域１２に対して動きベクトルの選択が完了していないと判断した場合には（ステップＳ１０７：ＮＯ）、ステップＳ１０６の処理を繰り返す。符号化ツリー単位領域１１に含まれる全ての符号化単位領域１２に対する動きベクトルの選択が完了する。
【００３３】
一方、増減制御回路１２２は、全ての符号化単位領域１２に対して動きベクトルの選択が完了したと判断した場合には（ステップＳ１０７：ＹＥＳ）、次いで、ピクチャ１０に含まれる全ての符号化ツリー単位領域１１に対して、ステップＳ１０２〜Ｓ１０７の処理が完了したか否かを判断する（ステップＳ１０８）。増減制御回路１２２は、全ての符号化ツリー単位領域１１に対してこれらの処理が完了していないと判断した場合には（ステップＳ１０８：ＮＯ）、ステップＳ１０２〜ステップＳ１０７の処理を繰り返す。これにより、ピクチャ１０に含まれる全ての符号化ツリー単位領域１１に対し動きベクトルの総数が決定され、各符号化ツリー単位領域１１に含まれる全ての符号化単位領域１２に対する動きベクトルの選択が完了する。
【００３４】
一方、増減制御回路１２２は、全ての符号化ツリー単位領域１１に対して上述したステップＳ１０２〜ステップＳ１０７の処理が完了したと判断した場合には（ステップＳ１０８：ＹＥＳ）、次いで、動画像５に含まれる全てのピクチャ１０に対してステップＳ１０１〜ステップＳ１０８の処理が完了したか否かを判断する（ステップＳ１０９）。増減制御回路１２２は、全てのピクチャ１０に対してこれらの処理が完了していないと判断した場合には（ステップＳ１０９：ＮＯ）、ステップＳ１０１〜ステップＳ１０８の処理を繰り返す。一方、増減制御回路１２２は、全てのピクチャ１０に対してステップＳ１０１〜ステップＳ１０８の処理が完了したと判断した場合には（ステップＳ１０９：ＹＥＳ）、処理を終了する。これにより、動画像５に対し動きベクトルの総数を増減させる処理が完了する。
【００３５】
次に、図５及び図６を参照して、上述したステップＳ１０２の動きベクトル分類処理について説明する。
【００３６】
図５は、動きベクトル分類処理の詳細を例示するフローチャートである。図６は、動きベクトル分類処理の一例を説明する図である。動きベクトル分類処理は、増減制御回路１２２が取得した等倍画像の動きベクトル毎に実行される。
【００３７】
まず、図５に示すように、増減制御回路１２２は、動きベクトルの分類結果を格納する分類結果格納用リストを初期化する（ステップＳ２０１）。次いで、増減制御回路１２２は、動きベクトル管理部１１２から取得した等倍画像の動きベクトルがシーンチェンジに該当するピクチャ１０を参照しているか否かを判断する（ステップＳ２０２）。
【００３８】
例えば、図６（ａ）に示すように、符号化処理中のピクチャ１０に含まれる符号化ツリー単位領域１１が、取得した等倍画像の動きベクトルに基づいて識別番号「０」や識別番号「１」が付与された符号化処理済のピクチャ１０におけるベクトル先の領域を参照する。符号化ツリー単位領域１１とベクトル先の領域とのＳＡＤ値（等倍画像の動きベクトルのＳＡＤ値）が所定の判定閾値以上であることにより符号化ツリー単位領域１１とベクトル先の領域とが類似していないと判定した場合、等倍画像の動きベクトルがシーンチェンジに相当するピクチャ１０を参照していると判断し（ステップＳ２０２：ＹＥＳ）、該ＳＡＤ値と関連付けられた動きベクトルを符号化ツリー単位領域１１の利用対象から除外する（ステップＳ２０３）。これにより、図６（ｂ）に示すように、シーンチェンジに相当するピクチャ１０を参照している候補番号「４」の動きベクトルが利用対象から除外される。
【００３９】
一方、増減制御回路１２２は、等倍画像の動きベクトルがシーンチェンジに相当するピクチャ１０を参照していないと判断した場合（ステップＳ２０２：ＮＯ）、次いで、同じ識別番号を持つグループがあるか否かを判断する（ステップＳ２０４）。例えば、図６（ｂ）に示すように、分類結果格納用リストにまだ分類結果が格納されていない場合、増減制御回路１２２は、同じ識別番号を持つグループがないと判断し（ステップＳ２０４：ＮＯ）、分類処理の対象となっている等倍画像の動きベクトルを新しいグループに分類する（ステップＳ２０５）。例えば、分類処理の対象となっている等倍画像の動きベクトルとして、図６（ｂ）に示すように、候補番号「０」の動きベクトルが対象となっている場合、分類結果格納用リストにまだ分類結果が格納されていなければ、その動きベクトルはグループ番号「０」に分類される。
【００４０】
一方、増減制御回路１２２は、同じ識別番号を持つグループがあると判断した場合（ステップＳ２０４：ＹＥＳ）、次いで、ベクトル方向が近いグループがあるか否かを判断する（ステップＳ２０６）。当該判断は、例えばグループ内に存在する動きベクトルとのコサイン距離や動きベクトルとの差分ベクトルの正接等から求められる。増減制御回路１２２は、ベクトル方向が近いグループがないと判断した場合（ステップＳ２０６：ＮＯ）、分類処理の対象となっている等倍画像の動きベクトルを新しいグループに分類する（ステップＳ２０５）。一方、増減制御回路１２２は、ベクトル方向が近いグループがあると判断した場合（ステップＳ２０６：ＹＥＳ）、分類処理の対象となっている等倍画像の動きベクトルをそのグループに分類する（ステップＳ２０７）。
【００４１】
増減制御回路１２２は、ステップＳ２０３、Ｓ２０５又はＳ２０７の処理が完了すると、全ての動きベクトルの分類処理が完了したか否かを判断し（ステップＳ２０８）、全ての動きベクトルの分類処理が完了していないと判断した場合には（ステップＳ２０８：ＮＯ）、ステップＳ２０２〜Ｓ２０７の処理を繰り返す。そして、増減制御回路１２２は、全ての動きベクトルの分類処理が完了したと判断した場合には（ステップＳ２０８：ＹＥＳ）、動きベクトル分類処理を終了する。この結果、図６（ｂ）に示すように、同じ符号化処理済のピクチャ１０を参照する複数の動きベクトルがベクトルの方向に応じてさまざまなグループに分類される。
【００４２】
次に、図７乃至図９を参照して、上述したステップＳ１０５の動きベクトル数決定処理について説明する。
【００４３】
図７は、動きベクトル数決定処理の詳細を例示するフローチャートである。図８は、動きベクトル数の決定を説明する図である。図９は、符号化ツリー単位領域１１に配分された動きベクトル数の一例である。
【００４４】
まず、図７に示すように、増減制御回路１２２は、後述する各変数を初期化し（ステップＳ３０１）、次いで、処理対象の符号化単位領域１２を指定して、指定した符号化単位領域１２のＳＡＤ値が最小ＳＡＤ値より大きいか否かを判断する（ステップＳ３０２）。当該ＳＡＤ値は、縮小画像の動きベクトルのＳＡＤ値である。増減制御回路１２２は、決定処理の対象となる符号化単位領域１２のＳＡＤ値が最小ＳＡＤ閾値より大きいと判断した場合（ステップＳ３０２：ＹＥＳ）、変数としての合計ＳＡＤ値に符号化単位領域１２のＳＡＤ値を加算する（ステップＳ３０３）。すなわち、指定した符号化単位領域１２のＳＡＤ値が最小ＳＡＤ閾値以下である場合には、縮小画像の動きベクトルの精度は十分に高精度であると判断し、当該動きベクトルを利用して等倍画像の動きベクトルを探索すると判断する。
【００４５】
増減制御回路１２２は、ステップＳ３０２又はＳ３０３の処理が完了すると、次いで、全ての符号化単位領域１２（ＣＵ）に対しステップＳ３０２又はＳ３０３の処理が完了したか否かを判断する（ステップＳ３０４）。増減制御回路１２２は、全ての符号化単位領域１２に対しステップＳ３０２又はＳ３０３の処理が完了していないと判断した場合（ステップＳ３０４：ＮＯ）、ステップＳ３０２〜Ｓ３０３の処理を繰り返す。これにより、最小ＳＡＤ閾値以下を除く符号化ツリー単位領域１１に含まれるすべての検出対象領域１２のＳＡＤ値を合計した合計ＳＡＤ値が求められる。
【００４６】
増減制御回路１２２は、全ての符号化単位領域１２に対しステップＳ３０２又はＳ３０３の処理が完了したと判断した場合（ステップＳ３０４：ＹＥＳ）、最大動きベクトル数決定処理を実行する（ステップＳ３０５）。最大動きベクトル数決定処理は、符号化ツリー単位領域１１に含まれる各符号化単位領域１２に対し、最大でどの程度の数量の動きベクトル数を配分するかを決定する処理である。尚、最大動きベクトル数決定処理の詳細は後述する。
【００４７】
増減制御回路１２２は、ステップＳ３０５の処理が完了すると、次いで、決定した最大動きベクトル数を変数ｉに指定するとともに（ステップＳ３０６）、処理対象の符号化単位領域１２を指定し、処理対象として指定された符号化単位領域１２のＳＡＤ値が最小ＳＡＤ閾値より大きいか否かを判断する（ステップＳ３０７）。ここで、増減制御回路１２２は、指定した符号化単位領域１２のＳＡＤ値が最小ＳＡＤ閾値以下である場合には（ステップＳ３０７：ＮＯ）、後述するステップＳ３０８〜Ｓ３１０の処理をスキップする。すなわち、指定した符号化単位領域１２が最大動きベクトル数の配分先から除外される。これは上述したように、指定した符号化単位領域１２のＳＡＤ値が最小ＳＡＤ閾値以下である場合には、縮小画像の動きベクトルの精度は十分に高精度であると判断し、当該動きベクトルを利用して等倍画像の動きベクトルを探索するとためである。
【００４８】
一方、増減制御回路１２２は、処理対象として指定した符号化単位領域１２のＳＡＤ値が最小ＳＡＤ閾値より大きい場合には（ステップＳ３０７：ＹＥＳ）、次いで、不等式Ａを充足するか否かを判断する（ステップＳ３０８）。ここで、不等式Ａは、合計ＳＡＤ値を最大動きベクトル数で割り、得られた第１の値に変数ｉから１を引いた第２の値を掛け合わせた第３の値と指定した符号化単位領域１２のＳＡＤ値との大小関係を表す式である。例えば、最大動きベクトル数が「４」である場合に、合計ＳＡＤ値を最大動きベクトル数「４」で割ると、図８に示すように、ＳＡＤ値が４つの区間に均等に区分される。そして、１つ１つの区間の大きさが上述した第１の値となる。第１の値に最大動きベクトル数「４」から「１」を引いた第２の値「３」を掛け合わせると、図８において合計ＳＡＤ値と示された破線の左に隣接する破線位置が求められる。したがって、不等式Ａは、指定した符号化単位領域１２のＳＡＤ値と当該破線位置で示されるＳＡＤ値との大小関係を表すことになる。
【００４９】
ここで図７に戻り、増減制御回路１２２は、不等式Ａを充足すると判断した場合（ステップＳ３０８：ＹＥＳ）、処理対象として指定した符号化単位領域１２の動きベクトル数に１を加える（ステップＳ３０９）。すなわち、図８に示すように、処理対象として指定した符号化単位領域１２のＳＡＤ値と上述した破線位置（合計ＳＡＤ値と示された破線の左に隣接する破線位置）で示されるＳＡＤ値との大小関係において、指定した符号化単位領域１２のＳＡＤ値の方が破線位置で示されるＳＡＤ値より大きい場合、指定した符号化単位領域１２に１が加算される。一方、増減制御回路１２２は、不等式Ａを充足しないと判断した場合（ステップＳ３０８：ＮＯ）、ステップＳ３０９の処理をスキップする。
【００５０】
増減制御回路１２２は、ステップＳ３０８又はＳ３０９の処理が完了すると、次いで、符号化ツリー単位領域１１内のベクトル数の総和が決定総数であるか否かを判断する（ステップＳ３１０）。すなわち、増減制御回路１２２は、各符号化単位領域１２に加算された動きベクトル数の総和が、ステップＳ１０４の処理で決定された動きベクトルの総数であるか否かを判断する。例えば、決定された動きベクトルの総数が「２５」である場合に、１つの符号化単位領域１２に加算された動きベクトル数の総和を算出しても総数「２５」でない場合（例えばまだ「１」だけの場合）には、符号化単位領域１２に加算された動きベクトル数の総和が、ステップＳ１０４の処理で決定された動きベクトルの総数でないと判断される。
【００５１】
増減制御回路１２２は、符号化ツリー単位領域１１内のベクトル数の総和が決定総数でないと判断した場合（ステップＳ３１０：ＮＯ）、すべての符号化単位領域１２に対しステップＳ３０７〜Ｓ３１０の処理を完了したか否かを判断する（ステップＳ３１１）。増減制御回路１２２は、すべての符号化単位領域１２に対しステップＳ３０７〜Ｓ３１０の処理を完了していないと判断した場合（ステップＳ３１１：ＮＯ）、これらの処理を繰り返す。これにより、合計ＳＡＤ値とこれに隣接するＳＡＤ値（図８参照）の間に属するＳＡＤ値を有する各符号化単位領域１２に対し動きベクトル数「１」がそれぞれ加算される。
【００５２】
一方、増減制御回路１２２は、すべての符号化単位領域１２に対し「１」を加算したと判断した場合（ステップＳ３１１：ＹＥＳ）、又は、符号化ツリー単位領域１１内のベクトル数の総和が決定総数であると判断した場合（ステップＳ３１０：ＹＥＳ）、変数ｉが「１」であるか否かを判断する（ステップＳ３１２）。すなわち、指定した符号化単位領域１２に「１」を加算した結果、符号化ツリー単位領域１１内のベクトル数の総和が決定総数を超えることができないため、動きベクトル数「１」の加算を取り止めることで、総和が決定総数を超過することを防止している。このため、符号化ツリー単位領域１１内のベクトル数の総数が決定された総数を上回ることはない。
【００５３】
増減制御回路１２２は、変数ｉが「１」でないと判断した場合（ステップＳ３１２：ＮＯ）、変数ｉから「１」引いた値を新たな変数ｉとし（ステップＳ３１３）、ステップＳ３０７〜Ｓ３１１の処理を繰り返す。この結果、合計ＳＡＤ値とこれに隣接するＳＡＤ値（図８参照）の間に属するＳＡＤ値を有する各符号化単位領域１２に対しさらに動きベクトル数「１」がそれぞれ加算されるだけでなく、この隣接するＳＡＤ値とこれにさらに隣接するＳＡＤ値（図８参照）の間に属するＳＡＤ値を有する各符号化単位領域１２に対しても動きベクトル数「１」がそれぞれ加算される。すなわち、最初に動きベクトル数「４」が割り当てられるべきＳＡＤ値を有する各符号化単位領域１２に対し、動きベクトル数「１」が加算される。次に、動きベクトル数「４」、「３」が割り当てられるべきＳＡＤ値を有する各符号化単位領域１２に対し、動きベクトル数「１」が加算される。次に、動きベクトル数「４」、「３」、「２」が割り当てられるべきＳＡＤ値を有する各符号化単位領域１２に対し、動きベクトル数「１」が加算される。最後に、動きベクトル数「４」、「３」、「２」、「１」が割り当てられるべきＳＡＤ値を有する各符号化単位領域１２に対し、動きベクトル数「１」が加算される。したがって、動きベクトル数「４」が割り当てられるべきＳＡＤ値を有する各符号化単位領域１２に対しては動きベクトル数「４」が割り当てられ、以下同様に動きベクトル数「３」、「２」、「１」が割り当てられる。増減制御回路１２２は、変数ｉが「１」であると判断した場合（ステップＳ３１２：ＹＥＳ）、動きベクトル数決定処理を終了する。この結果、図９に示すように、符号化ツリー単位領域１１に総数「２５」が決定されている場合、各符号化単位領域１２には動きベクトル利用可能数として「０」〜「４」が配分される。特に、低類似度には相対的に多くのベクトル数が配分され、高類似度には相対的に少ないベクトル数が配分される。すなわち、類似度が低いほど多くのベクトル数を配分し、動きベクトルの検出精度の向上を図っている。
【００５４】
次に、図１０を参照して、上述したステップＳ３０５の最大動きベクトル数決定処理について説明する。
【００５５】
図１０は、最大動きベクトル数決定処理の詳細を例示するフローチャートである。
最大動きベクトル数決定処理では、まず、増減制御回路１２２は、動きベクトル候補の総数から利用対象外の候補数を除外した候補数を最大動きベクトル数と指定する（ステップＳ４０１）。例えば、図６（ｂ）に示すように、５つの動きベクトル候補がある場合、利用対象外となった候補番号「４」の動きベクトル候補を除外して最大動きベクトル数「４」を指定する。
【００５６】
次いで、増減制御回路１２２は、不等式Ｂを充足するか否かを判断する（ステップＳ４０２）。不等式Ｂは、動きベクトルの出現数の期待値に１つの符号化ツリー単位領域１１に含まれる検出単位領域数を掛け合わせた第４の値と、符号化ツリー単位領域１１が利用する動きベクトルの総数との大小関係を表す式である。例えば、最大動きベクトル総数が「４」である場合、各符号化単位領域１２に「４」〜「１」が均等に出現する場合、（４＋３＋２＋１）÷４＝２．５となる。すなわち、各符号化単位領域１２には期待値として動きベクトル数「２．５」が出現する。ここで、例えば図９に示すように、符号化ツリー単位領域１１に１０個の符号化単位領域１２（８個の小領域と２つの大領域）が含まれている場合、２．５×１０＝２５となる。したがって、符号化ツリー単位領域１１が利用する動きベクトルの総数が「２５」である場合、最大動きベクトル総数が「４」であれば動きベクトルの総数「２５」以下となって不等式Ｂを充足し（ステップＳ４０２：ＹＥＳ）、増減制御回路１２２は、最大動きベクトル総数「４」を出力する。
【００５７】
一方、例えば最大動きベクトル総数が「５」である場合、上述した期待値は同様の計算により３となる。したがって、符号化ツリー単位領域１１に１０個の符号化単位領域１２（８個の小領域と２つの大領域）が含まれている場合、３×１０＝３０となり、符号化ツリー単位領域１１が利用する動きベクトルの総数が「２５」あれば、不等式Ｂを充足しない（ステップＳ４０２：ＮＯ）、この場合、増減制御回路１２２は、最大動きベクトル総数から「１」を差し引き、新たな最大動きベクトル総数を算出する（ステップＳ４０３）。増減制御回路１２２は、算出した新たな最大動きベクトル数が「０」より大きければ（ステップＳ４０４：ＹＥＳ）、ステップＳ４０２〜Ｓ４０３の処理を繰り返す。この結果、最大動きベクトル数は、符号化ツリー単位領域１１が利用する動きベクトルの総数に応じた数値に収束する。すなわち、最大動きベクトル総数「４」に収束する。
【００５８】
次に、図１１を参照して、上述したステップＳ１０６の動きベクトル選択処理について説明する。
【００５９】
図１１は、動きベクトル選択処理の詳細を例示するフローチャートである。
動きベクトル選択処理では、まず、増減制御回路１２２は、後述する各変数を初期化し（ステップＳ５０１）、次いで、各動きベクトルの評価値を算出する（ステップＳ５０２）。具体的には、動きベクトルの方向、参照するピクチャ１０の種類、ＳＡＤ値などの評価値付与基準に基づいて評価値が算出される。
【００６０】
動きベクトルの方向であれば、現在の符号化ツリー単位領域１１の上又は左に隣接する符号化ツリー単位領域１１で決定された動きベクトルに対するＳＡＤ値を評価値として利用してもよい。また、類似した方向を指す動きベクトルが多ければ、その動きベクトルに対しその他の動きベクトルより大きな評価値が付与されるようにしてもよい。参照するピクチャ１０であれば、算出対象の動きベクトルが、隣接する符号化ツリー単位領域１１の動きベクトルと同じピクチャ１０を参照していれば、相対的に大きな評価値が付与されるようにしてもよい。全ての動きベクトル候補の中で同じピクチャ１０を参照する動きベクトル候補に相対的に大きな評価値が付与されるようにしてもよい。ＳＡＤ値であれば、ＳＡＤ値が大きいほど類似度が低いため相対的に小さな評価値が付与されるようにしてもよい。
【００６１】
以上説明した評価値付与基準に基づいて、増減制御回路１２２は、以下の数式（３）を利用して動きベクトルの評価値を算出する。
［動きベクトルの評価値］＝
重み係数Ｂ×［動きベクトルの方向に関する評価値］
＋重み係数Ｃ×［参照するピクチャ１０に関する評価値］
＋重み係数Ｄ×［ＳＡＤ値に関する評価値］・・・（３）
【００６２】
ここで、重み係数Ｂ，Ｃ，Ｄは重み付けに利用する正の定数である。例えば、（Ｂ，Ｃ，Ｄ）＝（１，０，０）であれば、動きベクトルの方向の類似度のみによる優先順位、（Ｂ，Ｃ，Ｄ）＝（１，１，２）であれば、ＳＡＤ値が小さい動きベクトルを重視した優先順位となる。
【００６３】
増減制御回路１２２は、ステップＳ５０２の処理が完了すると、次いで、最大の評価値となった動きベクトルを選択し（ステップＳ５０３）、選択した動きベクトルを動きベクトル格納用リストから削除する（ステップＳ５０４）。そして、増減制御回路１２２は、選択した動きベクトル数が最大の動きベクトル数に到達したか否か判断する（ステップＳ５０５）。すなわち、最大の動きベクトル数が「４」である場合、最大の評価値となった動きベクトルだけが選択されていた場合には、増減制御回路１２２は、選択した動きベクトル数が最大の動きベクトル数に到達していないと判断し（ステップＳ５０５：ＮＯ）、ステップＳ５０３〜Ｓ５０４の処理を繰り返す。この結果、最大の評価値となった動きベクトルのほかに、順に大きな評価値が付与された３つの動きベクトルが選択される。増減制御回路１２２は、選択した動きベクトル数が最大の動きベクトル数に到達したと判断した場合（ステップＳ５０５：ＹＥＳ）、動きベクトル選択処理を終了する。
【００６４】
次に、図１２を参照して、実施例の効果を比較例の効果と対比して説明する。
【００６５】
図１２は、実施例と比較例の効果を対比して説明する図である。
まず、図１２（ａ）に示すように、符号化ツリー単位領域１１の各符号化単位領域１２に動きベクトルの総数「３０」が所定の配分比率で配分されている。この状態で時刻ｔ１になるまで進捗率閾値に沿って符号化処理が進んでいる。ここで、実施例では、時刻ｔ１にメモリアクセス時間の揺らぎやサブブロック分割法による動きベクトル検出処理時間の揺らぎなどの外乱によって符号化処理に遅れが生じた場合、増減制御回路１２２は動きベクトルの総数を「３０」から「２５」に変更する。これにより、演算量が変更前と比べて減少し、符号化処理の速度が向上する。
【００６６】
また、増減制御回路１２２は、ＳＡＤ値が相対的に大きな符号化単位領域１２に対し、大きなベクトル数を配分する。この結果、例えば変更前には動きベクトル数「４」が配分されていた符号化単位領域１２に対し、変更後にも継続して動きベクトル数「４」が配分される。逆に、増減制御回路１２２は、ＳＡＤ値が相対的に小さな符号化単位領域１２に対し、小さなベクトル数を配分する。例えば変更前には動きベクトル数「３」〜「１」が配分されていた符号化単位領域１２に対し、変更後には動きベクトル数「２」〜「０」が配分される。すなわち、類似度が低い符号化単位領域１２では、多くの動きベクトルが利用され検出精度が向上する。一方、類似度が高い符号化単位領域１２では、動きベクトルの精度が高いため、多くの動きベクトルを利用しないで済む。動きベクトル数「１」であれば、評価値が最大となった動きベクトルが探索範囲として出力され、動きベクトル数「０」であれば、縮小画像の動きベクトルが利用されて等倍画像の動きベクトルが検出される。このような処理によって、図１２（ａ）に示すように、処理速度が一定に保たれる。
【００６７】
逆に、比較例では、図１２（ｂ）に示すように、図１２（ａ）と同様に符号化処理が進んでいる。ここで、時刻ｔ１に、上述した外乱によって符号化処理に遅れが生じた場合でも、動きベクトルの総数は「３０」から変更されない。これにより、演算量が変更前と比べて変わらず、符号化処理の遅延が累積する。
【００６８】
次に、図１３を参照して、別の視点から実施例の効果を比較例の効果と対比して説明する。
【００６９】
図１３は、実施例と比較例の効果を対比して説明する別の図である。
図１３に示すように、実施例では、動きベクトル数「０」が配分された符号化単位領域１２では、相対的に精度が高い縮小画像の動きベクトルが利用されて等倍画像の動きベクトルが検出される。一方、動きベクトル数「０」以外が配分された符号化単位領域１２では、配分された動きベクトルの数量に応じた動きベクトルが探索範囲として利用される。等倍動きベクトル検出部１０９では、探索範囲として決定された動きベクトルの中から動きベクトルが検出される。このように、ＳＡＤ値に応じて、縮小画像の動きベクトルと符号化済みの符号化ツリー単位領域１１で検出した動きベクトルが利用されるため、検出時間と検出精度の適正化が測れる。
【００７０】
一方、比較例１では、すべての符号化単位領域１２に対し動きベクトル数「０」が配分されている。このため、高精度だけでなく低精度の縮小画像の動きベクトルも利用されて、等倍画像の動きベクトルが検出されるため、等倍画像の動きベクトルの検出精度が低くなる。また、比較例２では、すべての符号化単位領域１２に対し動きベクトル数「５」が配分されている。このため、符号化済みの符号化ツリー単位領域１１で検出した動きベクトルが探索範囲として利用されて、等倍画像の動きベクトルが検出されるため、等倍画像の動きベクトルの検出精度は高くなるもの、実施例に比べて多くの検出時間が費やされる。
【００７１】
以上説明したように、本実施形態によれば、符号化処理が済んだ符号化ツリー単位領域１１で検出した動きベクトルを利用して符号化処理が済んでいない符号化ツリー単位領域１１の動きベクトルを検出する際、符号化処理の進捗率により符号化処理が済んでいない符号化ツリー単位領域１１が利用する動きベクトルの総数を増減させることで、検出時間と検出精度の適正化が図れる。
【００７２】
以上、本発明の好ましい実施形態について詳述したが、本発明に係る特定の実施形態に限定されるものではなく、特許請求の範囲に記載された本発明の要旨の範囲内において、種々の変形・変更が可能である。例えば、量子化部１０２で実行されるＤＣＴと量子化はそれぞれ別の回路で実現してもよい。同様に、逆量子化部１０３で実行されるＩＤＣＴと逆量子化についても別の回路で実現してもよい。また、上述した実施形態では、ＳＡＤ値を利用して類似度を説明したが、Sum of Absolute Transformed Difference（ＳＡＴＤ：変換差分絶対値和）値を利用してもよい。
【符号の説明】
【００７３】
１１  符号化ツリー単位領域（第１符号化単位領域、第２符号化単位領域）
１２  符号化単位領域（分割領域）
１００  動画像符号化装置
１２０  制御部
１２１  計時回路
１２２  増減制御回路（増減制御手段）
【図１】
2015142233.tif 000003
【図２】
2015142233.tif 000004
【図３】
2015142233.tif 000005
【図４】
2015142233.tif 000006
【図５】
2015142233.tif 000007
【図６】
2015142233.tif 000008
【図７】
2015142233.tif 000009
【図８】
2015142233.tif 000010
【図９】
2015142233.tif 000011
【図１０】
2015142233.tif 000012
【図１１】
2015142233.tif 000013
【図１２】
2015142233.tif 000014
【図１３】
2015142233.tif 000015