JP2008067353A - 動きベクトル検出装置及び動きベクトル検出方法 - Google Patents

動きベクトル検出装置及び動きベクトル検出方法 Download PDF

Info

Publication number
JP2008067353A
JP2008067353A JP2007167461A JP2007167461A JP2008067353A JP 2008067353 A JP2008067353 A JP 2008067353A JP 2007167461 A JP2007167461 A JP 2007167461A JP 2007167461 A JP2007167461 A JP 2007167461A JP 2008067353 A JP2008067353 A JP 2008067353A
Authority
JP
Japan
Prior art keywords
motion vector
image
encoding target
candidate
target image
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.)
Granted
Application number
JP2007167461A
Other languages
English (en)
Other versions
JP2008067353A5 (ja
JP4804423B2 (ja
Inventor
Daisuke Sakamoto
大輔 坂本
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Canon Inc
Original Assignee
Canon Inc
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Canon Inc filed Critical Canon Inc
Priority to JP2007167461A priority Critical patent/JP4804423B2/ja
Priority to US11/828,517 priority patent/US8345761B2/en
Publication of JP2008067353A publication Critical patent/JP2008067353A/ja
Publication of JP2008067353A5 publication Critical patent/JP2008067353A5/ja
Application granted granted Critical
Publication of JP4804423B2 publication Critical patent/JP4804423B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N5/00Details of television systems
    • H04N5/14Picture signal circuitry for video frequency region
    • H04N5/144Movement detection

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)

Abstract

【課題】 動きベクトルの検出精度を向上させつつ、当該動きベクトルを検出する際の演算量の増大を抑制する。
【解決手段】 符号化対象画像と、複数の参照候補画像のそれぞれとの間で動きベクトルを探索する際に、動きベクトル検出器12kは、符号化対象画像から各参照候補画像までの時間的な距離と、各参照候補画像の符号化タイプとに応じて実行する演算の量を変更する。
【選択図】 図9

Description

本発明は、動きベクトル検出装置及び動きベクトル検出方法に関し、特に、画面間の動きベクトルを検出するために用いて好適なものである。
近年、マルチメディアに関連する情報のデジタル化が急進している。これに伴い、映像情報の高画質化への要求が高まっている。例えば、従来の720×480画素のSD(Standard Definition)から、1920×1080画素のHD(High Definition)に放送メディアが移行されつつある。しかしながら、このような映像情報の高画質化への要求は、同時にデジタルデータの増大化を引き起こす。従って、従来技術の性能を上回る圧縮符号化技術及び復号化技術が要求されている。
これらの要求に対し、ITU−T SG16や、ISO/IEC JTC1/SC29/WG11の活動で、ピクチャ間の相関性を利用するピクチャ間予測を用いた符号化方式の標準化作業が進められている。このような符号化方式の中で、現状、最も高能率で符号化できるといわれる符号化方式として、H.264/MPEG−4 PART10(AVC)がある。以下の説明では、この符号化方式をH.264と称する。
H.264では、画面間の動きベクトルを検出するための参照画像を比較的自由に選べるようになった。更に、H.264では、マクロブロック単位或いはそれ以下の単位まで符号化対象の画像を分割して動きベクトルを検出することにより、従来よりも細かい単位で動きベクトルを検出できるようになった。これによって、発生する符号量をより低減させることができるようになった。
H.264を用いた技術として、特許文献1には、複数のフレームメモリを有し、符号化対象の画像を符号化する場合に参照する画像を、前記複数のフレームメモリ内に格納された複数の画像から選択する構成が開示されている。
MPEG−1、MPEG−2、MPEG−4等の従来の符号化方式は、動きの予測を行う場合の機能として、過去の画像から未来の画像を予測する順方向予測の機能と、未来の画像から過去の画像を予測する逆方向予測の機能とを有している。ここで、未来の画像から過去の画像を予測するとは、符号化をスキップした画像を現在の画像から予測することである。なお、以下の説明では、MPEG−1、MPEG−2、MPEG−4等の従来の符号化方式を、MPEG符号化方式と総称する。
符号化対象となる画像と時間的に近傍に位置する画像ほど、多くの場合、画像間の相関性が高いと考えられる。そこで、MPEG符号化方式における順方向予測及び逆方向予測では、通常、符号化対象となる画像の近傍に位置するIピクチャ又はPピクチャを参照画像として用いる。
しかしながら、MPEG符号化方式のコーデック(符号化/復号化器)を搭載するビデオカメラでは、動画像の撮影時にパン・チルト等のカメラの動きが速い場合や、カットチェンジ直後の画像のように画像間の変化が急激な場合がある。このような場合には、時間的に近傍な画像であっても画像間の相関性が低くなる。従って、動き補償予測の利点が活用できないという問題があった。
この問題を改善できると目される技術がH.264で採用された予測方式である。H.264では、近傍の画像のみならず、時間的に離れた位置の画像に対しても予測符号化を行い、近傍の画像よりも符号化効率の向上が見込まれるのであれば、離れた位置の画像を参照画像として利用することができる。
特開2005−184694号公報
前述したように、H.264では、動画像を撮影したカメラの動きが速い場合や、カットチェンジが発生した場合でも、入力された画像と、既に符号化された画像との誤差が最小となる画像を自由に参照画像として選択できる。これにより、動き補償予測の精度を高めることが可能である。
しかしながら、既に符号化された画像の全てに対して、入力画像との誤差が最小となる画像を選択する演算を行うと、参照候補となる画像の数に比例して演算量が増大し、符号化に時間がかかるという問題がある。
また、ビデオカメラ等のモバイル機器の場合には、演算負荷が増大すると、駆動するバッテリーの消費量が増大する。従って、撮影できる時間が短くなってしまうという問題がある。
本発明は、このような問題点に鑑みてなされたものであり、動きベクトルの検出精度を向上させつつ、当該動きベクトルを検出する際の演算量の増大を抑制することを目的とする。
上記の目的を達成するために、本発明に係る動きベクトル検出装置は、画面間の動きベクトルを検出する動きベクトル検出装置であって、符号化対象画像と、前記符号化対象画像によって参照される参照画像の候補である複数の候補画像のそれぞれとの間の時間的な距離を演算する演算手段と、前記符号化対象画像と、前記複数の候補画像のそれぞれとの間で動きベクトルを探索し、探索した結果に基づいて動きベクトルを検出する動きベクトル検出手段とを有し、前記符号化対象画像と、前記複数の候補画像のそれぞれとの間で動きベクトルを探索する際に、前記動きベクトル検出手段は、前記演算手段によって演算された各候補画像に対する時間的な距離と前記各候補画像の符号化タイプとに応じて実行する演算の量を変更することを特徴とする。
また、本発明に係る動きベクトル検出装置は、画面間の動きベクトルを検出する動きベクトル検出装置であって、符号化対象画像と、前記符号化対象画像によって参照される参照画像の候補である複数の候補画像のそれぞれとの間の時間的な距離を演算する演算手段と、前記符号化対象画像と、前記複数の候補画像のそれぞれとの間で動きベクトルを探索し、探索した結果に基づいて動きベクトルを検出する動きベクトル検出手段と、前記符号化対象画像と、前記複数の候補画像とをそれぞれ縮小処理する画像縮小手段と、前記符号化対象画像、及び前記複数の候補画像を前記画像縮小手段が縮小処理するときの各画像の縮小率を、前記演算手段により演算された時間的な距離に応じて決定する決定手段とを有し、前記動きベクトル検出手段は、前記符号化対象画像と、前記複数の候補画像のそれぞれとの間における動きベクトルの探索を、前記画像縮小手段によって縮小処理された複数の縮小画像を用いて実行することを特徴とする。
また、本発明に係る動きベクトル検出装置は、画面間の動きベクトルを検出する動きベクトル検出装置であって、符号化対象画像と、前記符号化対象画像によって参照される参照画像の候補である複数の候補画像のそれぞれとの間の時間的な距離を演算する演算手段と、前記符号化対象画像と、前記複数の候補画像のそれぞれとの間で動きベクトルを探索し、探索した結果に基づいて動きベクトルを検出する動きベクトル検出手段とを有し、前記符号化対象画像と、前記複数の候補画像のそれぞれとの間で動きベクトルを探索する際に、前記動きベクトル検出手段は、前記演算手段が演算した各候補画像に対する時間的な距離と前記各候補画像のピーク信号対雑音比(PSNR)の値とに応じて実行する演算の量を変更することを特徴とする。
また、本発明に係る動きベクトル検出方法は、画面間の動きベクトルを検出する動きベクトル検出方法であって、符号化対象画像と、前記符号化対象画像によって参照される参照画像の候補である複数の候補画像のそれぞれとの間の時間的な距離を演算する演算工程と、前記符号化対象画像と、前記複数の候補画像のそれぞれとの間で動きベクトルを探索し、探索した結果に基づいて動きベクトルを検出する動きベクトル検出工程とを有し、前記符号化対象画像と、前記複数の候補画像のそれぞれとの間で動きベクトルを探索する際に、前記動きベクトル検出工程で実行する演算の量が、前記演算工程で演算された各候補画像に対する時間的な距離と前記各候補画像の符号化タイプとに応じて変更されることを特徴とする。
また、本発明に係る動きベクトル検出方法は、画面間の動きベクトルを検出する動きベクトル検出方法であって、符号化対象画像と、前記符号化対象画像によって参照される参照画像の候補である複数の候補画像のそれぞれとの間の時間的な距離を演算する演算工程と、前記符号化対象画像と、前記複数の候補画像のそれぞれとの間で動きベクトルを探索し、探索した結果に基づいて動きベクトルを検出する動きベクトル検出工程と、前記符号化対象画像と、前記複数の候補画像とをそれぞれ縮小処理する縮小工程と、前記符号化対象画像、及び前記複数の候補画像を前記縮小処理するときの各画像の縮小率を、前記演算工程で演算された時間的な距離に応じて決定する決定工程とを有し、前記動きベクトル検出工程において、前記符号化対象画像と、前記複数の候補画像のそれぞれとの間における動きベクトルの探索を、前記縮小処理された複数の縮小画像を用いて実行することを特徴とする。
また、本発明に係る動きベクトル検出方法は、画面間の動きベクトルを検出する動きベクトル検出方法であって、符号化対象画像と、前記符号化対象画像によって参照される参照画像の候補である複数の候補画像のそれぞれとの間の時間的な距離を演算する演算工程と、前記符号化対象画像と、前記複数の候補画像のそれぞれとの間で動きベクトルを探索し、探索した結果に基づいて動きベクトルを検出する動きベクトル検出工程とを有し、前記符号化対象画像と、前記複数の候補画像のそれぞれとの間で動きベクトルを探索する際に、前記動きベクトル検出工程で実行する演算の量が、前記演算工程で演算された各候補画像に対する時間的な距離と前記各候補画像のピーク信号対雑音比(PSNR)の値とに応じて変更されることを特徴とする。
本発明によれば、動きベクトルの検出精度を向上させつつ、動きベクトルを検出する際の演算量の増大を抑制することができる。
(第1の実施形態)
以下に、図面を参照しながら、本発明の第1の実施形態について説明する。
図1は、本実施形態におけるビデオカメラ装置10の構成の一例を示す図である。なお、本実施形態では、H.264で符号化を行うビデオカメラ装置10を例に挙げて説明を行う。
図1において、撮像部11は、例えば、レンズ等で構成される光学系、光電変換素子、A/D変換回路等を用いてデジタルの撮像画像データを生成し、生成した撮像画像データを不図示の画像メモリに格納する。信号処理部12は、表示や記録等を行うための所望の形式となるように、画像メモリから読み出された撮像画像データに対して、種々の信号処理や変換を行う。信号処理部12の詳細については、図2を用いて後述する。
記録部13は、画像データ等を記録媒体に記録したり、記録媒体から画像データ等を読み出したりするためのものである。記録媒体としては、例えば半導体メモリを用いることができる。
システム制御部14は、ビデオカメラ装置10全体の制御及び各種演算を行うためのものである。このシステム制御部14は、例えば、CPU、ROM、及びRAMを備え、CPUがROMに記憶されているプログラムを、RAMを用いて実行することにより、ビデオカメラ装置10全体の制御及び各種演算を行う。
表示部15は、信号処理部12で処理された信号や、システム制御部14で演算された信号を入力し、入力した信号に基づく画像をLCD(Liquid Crystal Display)等の表示装置に表示する。
操作部16は、ビデオカメラ装置10の電源をオン・オフするためのメインスイッチや、撮影(記録)の開始・終了を指示するためのスイッチ等、ユーザがビデオカメラ装置10に対する動作指示を行うための各種のスイッチを有する。
なお、信号処理部12、記録部13、システム制御部14、表示部15、及び操作部16間の信号の入出力は、バス17を介して行われる。
図2は、本実施形態に係る信号処理部12の構成を示すブロック図である。なお、以下の説明では符号化対象画像や、予測に用いられる参照画像(参照候補画像)を、それぞれフレーム画像(単にフレームと称す)を例にして説明する。そして、画面間、すなわちフレーム間の動きベクトルを検出する例について説明する。
図2において、セレクタ12aは、フレーム内符号化/フレーム間符号化の各符号化モードに応じて、撮像部11内の画像メモリから読み出された撮像画像データの出力先を選択する。イントラ予測器12bは、撮像画像データをセレクタ12aから入力し、入力した撮像画像データに対して、H.264符号化方式によるイントラ予測処理を実行する。
減算器12cは、セレクタ12aより出力された撮像画像データから、動き補償器12lより出力された予測画像データを減算して、動き予測誤差データを算出する。変換器12dは、減算器12cやイントラ予測器12bから出力されたデータに対して直交変換を施し、この直交変換により得られる直交変換係数を量子化器12eへ出力する。量子化器12eは、直交変換係数を量子化し、量子化した全ての直交変換係数をスキャン処理器12fと逆量子化器12hとに出力する。
スキャン処理器12fは、符号化モードに応じて、量子化された直交変換係数に対してジグザグスキャン等のスキャン処理を行う。エントロピー符号化器12gは、スキャン処理器12fからの出力をエントロピー符号化し、エントロピー符号化されたデータ(符号化データ)をバス・インタフェース(I/F)12nに出力する。バスI/F12nに出力された符号化データは、バス17を介して記録部13に供給され、記録部13によって記録される。なお、記録部13によって記録された符号化データを、更にハードディスクや光ディスク等の記録媒体に移動して記録する構成にしても良い。
逆量子化器12hは、量子化された直交変換係数を量子化器12eから入力して、逆量子化する。逆変換器12iは、逆量子化器12hで逆量子化された直交変換係数を逆直交変換し、減算器12cで得られた動き予測誤差データを復号化する。加算器12jは、逆変換器12iから出力された予測誤差データと、動き補償器12lから出力された予測画像データとを加算して、復元画像(ローカルデコード画像)を生成する。生成された復元画像のデータはバスI/F12nに出力される。バスI/F12nに出力されたデータは、参照画像データとして、記録部13に設けられたフレームメモリに、フレーム単位で記録される。なお、以下の説明では、記録部13に設けられたフレームメモリに記録された参照画像データを、必要に応じて参照候補フレームと称する。
動きベクトル検出器12kは、符号化対象フレームと、複数の参照候補フレームとに基づいて、最適な動きベクトルを演算する。本実施形態の動きベクトル検出器12kは、システム制御部14からバスI/F12nを介して、符号化対象となる符号化対象フレームの番号と、参照候補フレームの番号とを入力し、入力した番号を用いて探索精度を決定する。なお、動きベクトル検出器12kの詳細については、図3等を用いて後述する。
動き補償器12lは、動きベクトル検出器12kで演算された動きベクトルと、予測誤差の最も小さい参照候補フレームとを用いて、予測画像データを生成する。動き符号化器12mは、動きベクトル検出器12kで演算された動きベクトルを符号化してバスI/F12nに出力する。バスI/F12nに出力された符号化された動きベクトルは、前記符号化データと関連付けて記録部13に記録される。
なお、本実施形態では、過去のフレームを参照する順方向予測、過去と未来のフレームを参照する双方向予測、及び未来のフレームを参照する逆方向予測の何れの方式も用いることができる。また、図2に示したもの以外の装置が、信号処理部12に設けられていてもよい。
次に、動きベクトル検出器12kの詳細について説明する。図3は、本実施形態に係る動きベクトル検出器12kの構成を示すブロック図である。図3の動きベクトル検出器12kは、H.264又はそれに関連する符号化方式の符号化装置に適用して好適なものであり、またそのような符号化装置はビデオカメラ装置等に用いて好適なものである。
図3において、動きベクトル検出器12kは、符号化対象フレーム保存部100と、参照候補フレーム保存部101と、探索精度決定部102と、動きベクトル演算部103とを備えて構成されている。
符号化対象フレーム保存部100には、動きベクトルの探索で用いられるフレームであって、これから符号化しようとしている符号化対象フレーム300が保存される。参照候補フレーム保存部101には、複数の参照候補フレーム301が保存される。
図4は、符号化対象フレームと参照候補フレームとの関係の一例を概念的に示した図である。
図4の例では、符号化対象フレーム300に対する参照フレームの候補として、3枚の選択可能な参照候補フレーム301a〜301cがある。フレーム番号で言うと、参照候補フレーム番号303が「0」〜「2」、符号化対象フレーム番号302が「3」の場合を一例として示している。また、図4に示す3t、2t、tは、それぞれ符号化対象フレーム300から、参照候補フレーム301a、301b、301cまでの時間的な距離(時間間隔)を表している。
図5は、本実施形態に係る動きベクトル検出器12kの動作の一例について説明するフローチャートである。図5のフローチャートを参照しながら、図3に示す動きベクトル検出器12kの動作の一例について説明する。
探索精度決定部102は、システム制御部14から、バスI/F12nを介して、符号化対象フレーム番号302と、参照候補フレーム番号303とが指定されるまで待機する(ステップS101)。
ステップS101において、符号化対象フレーム番号302と、参照候補フレーム番号303とが指定されると、探索精度決定部102は、符号化対象フレーム300と、参照候補フレーム301a〜301cとの間の時間的な距離を演算する(ステップS102)。
そして、探索精度決定部102は、符号化対象フレーム300と参照候補フレーム301a〜301cとの間の時間的な距離に応じて、動きベクトルの探索精度を変化させる(ステップS103)。
具体的に、図4に示した例の場合、参照候補フレーム番号303が「2」の参照候補フレーム301cと、符号化対象フレーム番号302が「3」の符号化対象フレーム300との間の時間的な距離は「t」と短いので、最適な動きベクトルが見つかる確率が大きい。従って、探索精度決定部102は、例えば、縦方向、横方向共に、1画素精度の詳細な探索を行うように動きベクトル演算部103に指示を出す。
一方、参照候補フレーム番号303が「0」の参照候補フレーム301aと、符号化対象フレーム番号302が「3」の符号化対象フレーム300との間の時間的な距離は「3t」であり遠く離れている。このため、参照候補フレーム301aで最適な動きベクトルが見つかる確率は、参照候補フレーム301cで最適な動きベクトルが見つかる確率よりも低いと考えられる。従って、探索精度決定部102は、例えば、縦方向、横方向共に、1画素飛びの精度の粗い探索を行うように動きベクトル演算部103に指示を出す。また、探索精度決定部102は、例えば、参照候補フレーム301cのときと探索範囲を同じにするように動きベクトル演算部103に指示を出す。
このように参照候補フレーム301aで動きベクトルを探索する場合には、参照候補フレーム301cで動きベクトルを探索する場合と、動きベクトルの探索範囲を同じにする。更に、動きベクトルの探索精度を縦方向、横方向共に、参照候補フレーム301cで動きベクトルを探索する場合の1/2にする。このため、参照候補フレーム301aで動きベクトルを探索した場合には、参照候補フレーム301cで動きベクトルを探索する場合に比べ、演算量を1/4に削減することが出来る。
また、参照候補フレーム番号303が「1」の参照候補フレーム301bと、符号化対象フレーム番号302が「3」の符号化対象フレーム300との間の時間的な距離は「2t」である。このように、参照候補フレーム301bと符号化対象フレーム300との間の時間的な距離は、参照候補フレーム301aと符号化対象フレーム300との間ほどでは無いがやや離れている。このため、参照候補フレーム301bで最適な動きベクトルが見つかる確率は、参照候補フレーム301aで最適な動きベクトルが見つかる確率よりも高いが、参照候補フレーム301cで最適な動きベクトルが見つかる確率よりも低いと考えられる。
そこで、探索精度決定部102は、例えば、縦方向の探索精度を1画素毎とし、横方向の探索精度を1画素飛びとするように動きベクトル演算部103に指示を出す。また、探索精度決定部102は、例えば、参照候補フレーム301cのときと探索範囲を同じにするように動きベクトル演算部103に指示を出す。
このように参照候補フレーム301bを探索する場合には、参照候補フレーム301cを探索する場合と、動きベクトルの探索範囲と縦方向の探索精度とを同じにすると共に、横方向の探索精度を、参照候補フレーム301cを探索する場合の1/2にする。このため、参照候補フレーム301bで動きベクトルを探索した場合には、参照候補フレーム301cで探索を行った場合に比べ、演算量を1/2に削減することが出来る。
以上のようにして、動きベクトルの探索精度が探索精度決定部102により決定されると、動きベクトル演算部103は、動きベクトル304を決定する(ステップS104)。具体的に動きベクトル演算部103は、符号化対象フレーム保存部100に保存されている符号化対象フレーム300に含まれる各マクロブロックに対し、参照候補フレーム保存部101に保存された参照候補フレーム301内で探索を行い、動きベクトルを推定する。ここで、例えば、N×N(Nは自然数)サイズのマクロブロックの動きベクトルを、マクロブロックよりも±P画素だけ広い範囲で探索するとすると(pは自然数)、探索範囲は以下の(1)式で表される。
探索範囲=(N+2p)×(N+2p) ・・・(1)
動きベクトル演算部103は、動きベクトルの候補になり得る(2p+1)個の位置で相関係数を計算した後、最大相関度を示す位置を動きベクトルとして決定する。
最大相関度を有する動きベクトルを推定するために、動きベクトル演算部103は、例えば、MSE(Mean Square Error)、MAE(Mean Absolute Error)、又はMAD(Mean Absolute Difference)等の評価関数を用いる。例えば、MSEは以下の(2)式で表され、MAEは以下の(3)式で表される。
Figure 2008067353
ここで、Srefは、参照フレームを示し、Scur,kは、動きベクトルが探索されている現在のフレームにおけるk番目のマクロブロックを示す。(i,j)は、動きベクトルが探索されている現在のフレームのk番目のマクロブロックにおける参照フレームの空間的な位置を示す。
また、X及びYは、動きベクトル探索範囲の水平画素数及び垂直画素数である。g及びhは、探索精度決定部102からの指示された横方向の探索精度及び縦方向の探索精度を示す係数(何画素毎に演算を行うかを示す係数)である。
また、x、yは、それぞれ以下の(4)式、(5)式で表される。
x=g×u ・・・(4)
y=h×v ・・・(5)
更にx、y、g、hは、以下の(6)式〜(9)式を満たす自然数である。
0≦x≦X ・・・(6)
1≦g≦X ・・・(7)
0≦y≦Y ・・・(8)
1≦h≦Y ・・・(9)
また、U、Vは、それぞれ以下の(10)式、(11)式で表される。
U=X−|i| ・・・(10)
V=Y−|j| ・・・(11)
(2)式や(3)式で表される評価関数は、画素の差に基づいたものである。従って、動きベクトル演算部103は、最も小さいMAE値やMSE値を有する場合(LRV値となる場合)の動きベクトルを、現在のマクロブロックにおける最終的な動きベクトルとして選定する。なお、図3に示したもの以外の機能が、動きベクトル検出器12kに設けられていてもよい。
以上のように本実施形態では、符号化対象フレーム300と、参照候補フレーム301a〜301cとの時間的な距離に応じて、動きベクトルの探索精度を変化させるようにした。例えば、符号化対象フレーム300と、参照候補フレーム301cとの間の時間的な距離は「t」であり短いので、最適な動きベクトルが見つかる確率が高い。従って、探索精度決定部102は、例えば、縦横共に、1画素精度の詳細な探索を行う。一方、符号化対象フレーム300と、参照候補フレーム301aとの間の時間的な距離は「3t」であり遠く離れているので、最適な動きベクトルが見つかる確率が低い。従って、探索精度決定部102は、例えば参照候補フレーム301cのときと探索範囲を同じにし、且つ、縦横共に、1画素飛びの精度の粗い探索を行う。
以上のように、時間的に離れた画像に対して符号化を行う際に、最適な動きベクトルが見つかる確率に応じて、動きベクトルの探索精度を変化させる。従って、時間的に離れた画像についても動きベクトルの探索範囲とすることで、動きベクトルの検出精度を向上させられるとともに、且つ、動きベクトルの探索精度を変化させることによって、動きベクトルを検出する際の演算量を削減できる。これにより、例えば、駆動するバッテリーの消費量が増大して撮影時間が短くなってしまうことを可及的に防止することができる。
なお、本実施形態では、時間的な距離に応じて、探索精度がそれぞれ、縦方向、横方向共に1画素とした場合と、縦方向、横方向共に1画素飛びにした場合と、縦方向を1画素、横方向を1画素飛びにした場合とを例に挙げて示した。しかしながら、探索精度はこれらに限定されない。例えば、縦方向、横方向共に2画素飛びにする等してもよい。また、本実施形態では、参照候補フレームの数が3枚の場合を例に挙げて説明したが、参照候補フレームの数はこれに限定されない。例えば、参照候補フレームの数を増やしてもよい。参照候補フレームの数を増やした場合には、探索精度を更に段階的に変化させることも可能である。
(第2の実施形態)
次に、本発明の第2の実施形態について説明する。前述した第1の実施形態では、符号化対象フレーム300と、参照候補フレーム301a〜301cとの時間的な距離に応じて、動きベクトルの探索精度を変化させるようにした。これに対して、本実施形態では、符号化対象フレーム300と、参照候補フレーム301a〜301cとの時間的な距離に応じて、符号化対象フレーム300と、参照候補フレーム301a〜301cの縮小率を変化させるようにした。このように、本実施形態と第1の実施形態とは、符号化対象フレーム300と、参照候補フレーム301a〜301cとを用いた処理の方法が主として異なる。従って、以下の説明において第1の実施形態と同一の部分については、図1〜図5に付した符号と同一の符号を付す等して詳細な説明を省略する。
図6は、本実施形態に係る動きベクトル検出器12kの構成の一例を示すブロック図である。図7は、本実施形態に係る動きベクトル検出器12kの動作の一例について説明するフローチャートである。図4及び図7を参照しながら、図6に示す動きベクトル検出器12kの動作について説明する。
縮小率決定部402は、システム制御部14から、バスI/F12nを介して、符号化対象フレーム番号302と、参照候補フレーム番号303とが指定されるまで待機する(ステップS401)。ステップS401において、符号化対象フレーム番号302と、参照候補フレーム番号303とが指定されると、縮小率決定部402は、符号化対象フレーム300と、参照候補フレーム301a〜301cとの間の時間的な距離を演算する(ステップS402)。
そして、縮小率決定部402は、符号化対象フレーム300と参照候補フレーム301a〜301cとの間の時間的な距離に応じて、符号化対象フレーム300の画像と、参照候補フレーム301a〜301cの画像の縮小率を決定する(ステップS403)。
縮小率決定部402は、符号化対象フレーム300と参照候補フレーム301a〜301cとの間の時間的な距離が短いほど縮小率を小さくし、符号化対象フレーム300と参照候補フレーム301a〜301cとの間の時間的な距離が長いほど縮小率を大きくする。
具体的に、図4に示した例の場合、参照候補フレーム番号303が「2」の参照候補フレーム301cと、符号化対象フレーム番号302が「3」の符号化対象フレーム300との間の時間的な距離は「t」と短いので、最適な動きベクトルが見つかる確率が大きい。従って、縮小率決定部402は、画像の縮小を行わずに、符号化対象フレーム300の画像と参照候補フレーム301a〜301cの画像とをそのまま用いて動きベクトルの探索を行うように動きベクトル演算部103に指示を出す。
一方、参照候補フレーム番号303が「0」の参照候補フレーム301aと、符号化対象フレーム番号302が「3」の符号化対象フレーム300との間の時間的な距離は「3t」であり遠く離れている。このため、参照候補フレーム301aで最適な動きベクトルが見つかる確率は、参照候補フレーム301cで最適な動きベクトルが見つかる確率よりも低いと考えられる。従って、縮小率決定部402は、例えば、符号化対象フレーム300の画像と参照候補フレーム301a〜301cの画像とを、それぞれ縦方向、横方向共に1/2倍に縮小するように縮小フレーム作成部404に指示を出す。縮小フレーム作成部404は、画像縮小手段である。
また、縮小率決定部402は、例えば、参照候補フレーム301cのときと探索範囲を同じにするように動きベクトル演算部103に指示を出す。従って、縦方向及び横方向の画素数が共に1/2倍になる。このため、参照候補フレーム301aで動きベクトルを探索する場合には、参照候補フレーム301cで動きベクトルを探索する場合に比べ、演算量を1/4に削減することが出来る。
また、参照候補フレーム番号303が「1」の参照候補フレーム301bと、符号化対象フレーム番号302が「3」の符号化対象フレーム300との間の時間的な距離は「2t」である。このように、参照候補フレーム301bと符号化対象フレーム300との間の時間的な距離は、参照候補フレーム301aと符号化対象フレーム300との間ほどでは無いがやや離れている。このため、参照候補フレーム301bで最適な動きベクトルが見つかる確率は、参照候補フレーム301aで最適な動きベクトルが見つかる確率よりも高いが、参照候補フレーム301cで最適な動きベクトルが見つかる確率よりも低いと考えられる。
そこで、縮小率決定部402は、例えば、符号化対象フレーム300の画像と参照候補フレーム301a〜301cの画像とを、縦方向では縮小せず、横方向では1/2倍に縮小するように縮小フレーム作成部404に指示を出す。また、縮小率決定部402は、例えば、参照候補フレーム301cのときと探索範囲を同じにするように縮小フレーム作成部404に指示を出す。従って、横方向の画素数が1/2倍になる。このため、参照候補フレーム301bで動きベクトルを探索した場合には、参照候補フレーム301cで動きベクトルを探索した場合に比べ、演算量を1/2に削減することが出来る。
以上のようにして、符号化対象フレーム300の画像と、参照候補フレーム301a〜301cの画像の縮小率が決定されると、ステップS404に進む。そして、縮小フレーム作成部404は、縮小率決定部402によって決定された縮小率に従い、符号化対象フレーム300の画像と、参照候補フレーム301a〜301cの各画像を縮小処理して、複数の縮小画像を生成する(ステップS404)。
図8は、本実施形態に係る符号化対象フレーム300の縮小画像と、参照候補フレーム301a〜301cの縮小画像の一例を示す図である。
例えば、図8に示す原画像801を、縦横共に1/2倍に縮小して縮小画像802aを生成する場合には、隣接する縦・横各々の2画素の画素値を足して4で割ることで縮小画像802aを生成する。例えば、縮小画像802aにおける画素A’は、原画像801の画素A、B、E、Fの画素値を足して4で割る((A+B+E+F)/4)ことで生成することが出来る。また、縮小画像802aにおける画素B’は、原画像801の画素C、D、G、Hの画素値を足して4で割る((C+D+G+H)/4)ことで生成することが出来る。
一方、図8に示す原画像801を、横方向だけ1/2倍に縮小して縮小画像802bを生成する場合には、横方向に隣接する2画素の画素値を足して2で割ることで縮小画像802bを生成する。例えば、縮小画像802bにおける画素A”は、原画像801の画素A、Bの画素値を足して2で割る((A+B)/2)ことで生成することが出来る。また、縮小画像802bにおける画素B”は、原画像801の画素C、Dの画素値を足して2で割る((C+D)/2)ことで生成することが出来る。
以上のようにして、縮小フレーム作成部404によって、符号化対象フレーム300の縮小画像と、参照候補フレーム301a〜301cの縮小画像とが作成されると、符号化対象フレーム300の縮小画像は、縮小符号化対象フレーム保存部405に保存される。更に、参照候補フレーム301a〜301cの縮小画像は、縮小参照候補フレーム保存部406に保存される。
次に、動きベクトル演算部407は、動きベクトル408を決定する(ステップS405)。ここで、動きベクトル演算部407は、画像の縮小を行わないことが縮小率決定部402から指示された場合には、縮小画像を用いずに、第1の実施形態の動きベクトル演算部103と同じ動作を行う。
一方、画像の縮小を行うことが縮小率決定部402から指示された場合、動きベクトル演算部407は、まず、縮小符号化対象フレーム保存部405から、符号化対象フレーム300の縮小画像のマクロブロックを読み出す。次に、動きベクトル演算部407は、読み出したマクロブロックに対し、縮小参照候補フレーム保存部406から読み出した参照候補フレーム301a〜301cの縮小画像の範囲内で動きベクトルの探索を行い、その結果に基づいて動きベクトルを推定する。なお、最大相関度を有する動きベクトルを推定する方法は第1の実施形態で説明した方法と同じである。
なお、図6に示した以外の機能が、動きベクトル検出器に設けられていてもよい。
以上のように本実施形態では、符号化対象フレーム300と、参照候補フレーム301a〜301cとの時間的な距離に応じて、符号化対象フレーム300の縮小率と、参照候補フレーム301a〜301cの縮小率とを変化させるようにした。例えば、符号化対象フレーム300と、参照候補フレーム301cとの間の時間的な距離は「t」であり短いので、符号化対象フレーム300の画像と、参照候補フレーム301cの画像とを縮小しない。一方、符号化対象フレーム300と、参照候補フレーム301aとの間の時間的な距離は「3t」であり遠く離れているので、最適な動きベクトルが見つかる確率が低い。従って、符号化対象フレーム300の画像と、参照候補フレーム301cの画像とを縦横共に1/2倍に縮小した縮小画像を生成し、生成した縮小画像を用いて動きベクトルを決定する。
以上のように、時間的に離れた画像に対して符号化を行う際に、最適な動きベクトルが見つかる確率に応じて、符号化対象フレーム300の縮小率と、参照候補フレーム301a〜301cの縮小率とを変化させる。従って、第1の実施形態と同様に、動きベクトルの検出精度を向上させられるとともに、動きベクトルを検出する際の演算量の増大とを可及的に防止することができる。これにより、例えば、駆動するバッテリーの消費量が増大して撮影時間が短くなってしまうことを可及的に防止することができる。
なお、本実施形態では、時間的な距離に応じて、符号化対象フレーム300の画像と、参照候補フレーム301a〜301cの画像とを、縦横共に1/2倍に縮小する場合と、縦を縮小せずに横方向のみを1/2倍に縮小する場合を例に挙げて示した。しかしながら、符号化対象フレーム300の画像の縮小率と、参照候補フレーム301a〜301cの画像の縮小率とは、これに限定されない。例えば、符号化対象フレーム300の画像と、参照候補フレーム301a〜301cの画像とを、縦横共に1/3倍或いは1/4倍に縮小する等してもよい。また、本実施形態でも、参照候補フレームの数が3枚の場合を例に挙げて説明したが、参照候補フレームの数はこれに限定されない。例えば、参照候補フレームの数を増やしてもよい。参照候補フレームの数を増やした場合には、縮小率を更に段階的に変化させることも可能である。
(第3の実施形態)
次に、本発明の第3の実施形態について説明する。前述した第1の実施形態では、符号化対象フレーム300と、参照候補フレーム301a〜301cとの時間的な距離のみに応じて、動きベクトルの探索精度を変化させるようにした。それに対して、本実施形態では、第1の実施形態と同様の構成を有するが、符号化対象フレーム300と、参照候補フレーム301a〜301cとの時間的な距離に加え、参照候補フレームの符号化タイプに応じて、動きベクトルの探索精度を変化させる。従って、以下の説明において第1の実施形態と異なる動作を行う探索精度決定部102以外の部分については、図1〜図5に付した符号と同一の符号を付す等して詳細な説明を省略する。なお、H.264等の符号化方式では、ピクチャよりも小さい、1つ以上のマクロブロックから成るスライス単位での符号化が可能なので、前記符号化タイプを“ピクチャタイプ”以外に、“スライスタイプ”と置き換えて解釈しても良い。なお、以下ではスライスタイプを例に説明する。
図9は、本実施形態に係る動きベクトル検出器12kの構成の一例を示すブロック図である。図10は、本実施形態に係る動きベクトル検出器12kの動作の一例について説明するフローチャートである。図10を参照しながら、図9に示す動きベクトル検出器12kの動作について説明する。
探索精度決定部102は、システム制御部14から、バスI/F12nを介して、符号化対象フレーム番号302、参照候補フレーム番号303、及び参照候補フレームのスライスタイプ901が指定されるまで待機する(ステップS1001)。
ステップS1001において、符号化対象フレーム番号302、参照候補フレーム番号303、及び参照候補フレームのスライスタイプ901が指定される。すると、探索精度決定部102は、符号化対象フレーム300と、参照候補フレーム301との間の時間的な距離tdを演算する(ステップS1002)。探索精度決定部102は、演算されたtdに基づいて、第1の実施形態と同様に、符号化対象フレーム300と、参照候補フレーム301との時間的な距離に応じて探索精度を段階的に変化させる。さらに探索精度決定部102は、参照候補フレームのスライスタイプ901に応じて探索精度を変化させる。
すなわち、探索精度決定部102は、参照候補フレームのスライスタイプ901がIスライスかどうかを判定する(ステップS1003)。参照候補フレームスライスタイプ901がIスライスであった場合(ステップS1003でYES)には、探索精度決定部102は、tdから2tを引く処理を行う(ステップS1004)。
Iスライスは一般的に割り当てられる符号量が多く、画質の良い参照候補フレームである可能性が高い。そこで、探索精度決定部102は、Iスライスならば、時間的な距離が離れている場合であっても、このように2tを引くことで探索精度が高くなるようにする。参照候補フレームのスライスタイプ901がIスライスでない場合(ステップS1003でNO)には、ステップS1005へ進む。
続いて、探索精度決定部102は、参照候補フレームのスライスタイプ901がPスライスかどうかを判定する(ステップS1005)。参照候補フレームスライスタイプ901がPスライスであった場合(ステップS1005でYES)には、探索精度決定部102は、tdからtを引く処理を行う(ステップS1006)。PスライスはIスライスと比べると画質が劣るが、Bスライスよりは画質が良い場合が多い。そこで、探索精度決定部102は、Pスライスならば、時間的な距離が離れている場合であっても、Iスライスほど探索精度を高めないが、Bスライスよりは探索精度を高めるように、tを引くことで探索精度が高くなるようにする。
参照候補フレームのスライスタイプがPスライスでない場合(ステップS1005でNO)には、ステップS1007へ進む。すなわち、参照候補フレームスライスタイプ901がI,P以外のBスライスであった場合には、探索精度決定部102は、探索精度を高めるような重み付け処理は行わずに、フレーム間の時間的な距離に応じてのみ探索精度を決定する。
なお、従来のMPEGにおいてはH.264のBスライスとほぼ等価となるBピクチャは参照フレームに設定することが出来ないが、H.264においてはBスライスも参照フレームに設定することが可能であるため、参照候補フレームに加えることが可能である。
以上のようにして求めたtdに応じて、探索精度決定部102は、動きベクトルの探索精度を変化させる(ステップS1007)。
図11は、本実施形態に係る符号化対象フレームと参照候補フレームとの関係の一例を示した図である。図11に示した例の場合、符号化対象フレーム番号302が「3」の符号化対象フレーム300に対する、参照候補フレーム番号303が「2」の参照候補フレーム301cとの時間的な距離tdは「t」である。また、参照候補フレーム番号303が「1」の参照候補フレーム301bとの時間的な距離tdは「2t」である。また、参照候補フレーム番号303が「0」の参照候補フレーム301aとの時間的な距離tdは「3t」である。
しかしながら参照候補フレーム301cはIスライスであるので2tを減じてtd=tと変更され、また参照候補フレーム301bはPスライスであるのでtを減じてtd=tと変更される。従って、図11に示した例の場合、参照候補フレーム301a、参照候補フレーム301b、及び参照候補フレーム301cのいずれも、td=tとなる。
すなわち、本実施形態では、第1の実施形態の効果に加えて、参照候補フレームがIスライスならば、時間的にかなり離れたフレームであっても探索精度を直前のフレームと同等に高くすることができる。また参照候補フレームがPスライスならば、少々時間的に離れたフレームであっても探索精度を直前のフレームと同等に高くすることができる。なお、その際、探索回数の総数は第1の実施形態と変わらないようにする。
動きベクトルの探索精度が探索精度決定部102により決定されると、動きベクトル演算部103は、動きベクトル304を決定する(ステップS1008)。なお、動きベクトルを求める具体的な処理は第1の実施形態と同様のため説明を省略する。
以上のように本実施形態では、符号化対象フレーム300と、参照候補フレーム301(301a〜301c)との時間的な距離に加え、参照候補フレーム301a〜301cのスライスタイプ901も考慮する。そして、最適な動きベクトルが見つかる確率に応じて、動きベクトルの探索精度を変化させる。
従って、時間的に離れた画像についても動きベクトルの探索範囲とすることで、動きベクトルの検出精度を向上させられるとともに、且つ、動きベクトルの探索精度を変化させることによって、動きベクトルを検出する際の演算量を削減できる。さらに、参照候補フレームのスライスタイプ(ピクチャタイプ)を考慮することにより、動きベクトルの探索精度をより高めることができる。これにより、例えば、駆動するバッテリーの消費量が増大して撮影時間が短くなってしまうことを可及的に防止することができる。
なお、本実施形態では、tdから減ずる値としてIスライスならば「2t」、Pスライスならば「t」を減じたが、これらの値は一例であって、数値が限定されるものではない。例えば、Iスライス時に「t」、Pスライス時に「0.5t」を減ずるように設定しても良い。
また、本実施形態では、動きベクトルの探索精度を変化させたが、第2の実施形態のように符号化対象フレーム300の縮小率と、参照候補フレーム301a〜301cの縮小率を、参照候補フレームのスライスタイプ(ピクチャタイプ)に応じて変化させても良い。
(第4の実施形態)
次に、本発明の第4の実施形態について説明する。前述した第1の実施形態では、符号化対象フレーム300と、参照候補フレーム301a〜301cとの時間的な距離のみに応じて、動きベクトルの探索精度を変化させるようにした。それに対して、本実施形態では第1の実施形態と同様の構成を有するが、信号処理部12内にピーク信号対雑音比(PSNR:peak signal−to−noise ratio)演算部12oを有する。そして、符号化対象フレーム300と、参照候補フレーム301a〜301cとの時間的な距離に加え、参照候補フレームのPSNRに応じて、動きベクトルの探索精度を変化させる。従って、以下の説明において第1の実施形態と異なる動作を行う探索精度決定部102およびPSNR演算部12o以外の部分については、図1〜図5に付した符号と同一の符号を付す等して詳細な説明を省略する。
図12は、本実施形態に係る信号処理部12の構成の一例を示すブロック図である。本実施形態では、信号処理部12のうち、第1の実施形態と構成の異なるPSNR演算部12oの動作についてのみ説明し、第1の実施形態と同じ動作を行う他の構成要素の説明については省略する。
図12においてPSNR演算部12oは、撮像部11から入来する符号化前の画像データと、加算器12jから入来する復元画像データとを比較し、画像の劣化具合の指標となるピーク信号対雑音比(PSNR)の値を、以下の(12)式より算出する。
Figure 2008067353
ここで、NおよびMはそれぞれ画像の縦と横の画素数を表す。また、p(i,j)は符号化前の画像データにおける位置(i,j)の画素値を表し、p'(i,j)は復元画像データにおける位置(i,j)の画素値を表す。Tは、画像の階調数−1(8ビット/ピクセル画像ではT=255)を表す。
PSNR演算部12oによって求められたPSNRの値は、図12における動きベクトル検出器12kに送信され、動きベクトルの探索精度を変化させるために使用される。
図13は、本実施形態に係る動きベクトル検出器12kの構成を示すブロック図である。また、図14は、本実施形態に係る動きベクトル検出器12kの動作の一例について説明するフローチャートである。図14を参照しながら、図13に示す動きベクトル検出器12kの動作について説明する。
探索精度決定部102は、システム制御部14から、バスI/F12nを介して、符号化対象フレーム番号302、参照候補フレーム番号303、及び参照候補フレームのPSNRの値1301が指定されるまで待機する(ステップS1401)。
ステップS1401において、符号化対象フレーム番号302、参照候補フレーム番号303、及び参照候補フレームのPSNR1301が指定される。すると、探索精度決定部102は、符号化対象フレーム300と、参照候補フレーム301との間の時間的な距離tdを演算する(ステップS1402)。探索精度決定部102は、演算されたtdに基づいて、第1の実施形態と同様に、符号化対象フレーム300と、参照候補フレーム301との時間的な距離に応じて探索精度を段階的に変化させる。さらに、探索精度決定部102は、参照候補フレームのPSNR1301に応じて探索精度を変化させる。
すなわち、探索精度決定部102は、参照候補フレームのPSNR1301が所定の閾値Th1よりも大きいかどうかを判定する(ステップS1403)。参照候補フレームのPSNR1301が所定の閾値Th1より大きい場合、すなわちPSNR>Th1を満たす場合(ステップS1403でYES)には、探索精度決定部102は、tdからtを引く処理を行う(ステップS1404)。
一般的にPSNRが高い場合には参照候補フレームの劣化が少なく、参照フレームとして適切である可能性が高い。そこで、探索精度決定部102は、PSNR>Th1を満たすならば、フレーム間の時間的な距離が離れている場合であっても、このようにtを引くことで探索精度が高くなるようにする。
前記閾値Th1は、例えばSD(Standard Definition)で画質の実用レベルと言われる30(dB)等の固定値に設定できる。もしほとんどの復元画像のPSNRが30(dB)に満たない場合を考慮するならば、復元画像のPSNRの平均値を随時更新しながら求める可変閾値として用いても良い。参照候補フレームのPSNR1301が、PSNR>Th1を満たさない場合(ステップS1403でNO)には、ステップS1405へ進む。
続いて、探索精度決定部102は、参照候補フレームのPSNR1301が所定の閾値Th2(但し、Th2<Th1)よりも小さいかどうかを判定する(ステップS1405)。参照候補フレームのPSNR1301が所定の閾値Th2より小さい場合、すなわちPSNR<Th2を満たす場合(ステップS1405でYES)には、探索精度決定部102は、tdにtを加える処理を行う(ステップS1406)。閾値Th2の設定については、閾値Th1のときと同様である。
一般的にPSNRが低い場合には参照候補フレームの劣化が大きく、参照フレームとして不適切である可能性が高い。そこで、探索精度決定部102は、PSNR<Th2を満たすならば、フレーム間の時間的な距離が近い場合であっても、このようにtを加えることで探索精度が低くなるようにする。
参照候補フレームのPSNR1301が、PSNR<Th2を満たさない場合(ステップS1405でNO)には、ステップS1407へ進む。すなわち、PSNRが高くも低くもない中間状態にある場合には、探索精度決定部102は、フレーム間の時間的な距離に応じてのみ探索精度を決定する。
以上のようにして求めたtdに応じて、探索精度決定部102は、動きベクトルの探索精度を変化させる(ステップS1407)。
このように、本実施形態では、第1の実施形態の効果に加えて、参照候補フレームのPSNRが大きい値ならば、時間的に離れたフレームであっても探索精度を高くすることができる。また参照候補フレームのPSNRが小さい値ならば、時間的に近いフレームであっても探索精度を低くすることができる。
動きベクトルの探索精度が探索精度決定部102により決定されると、動きベクトル演算部103は、動きベクトル304を決定する(ステップS1408)。なお、動きベクトルを求める具体的な処理は第1の実施形態と同様のため説明を省略する。
以上のように本実施形態では、符号化対象フレーム300と、参照候補フレーム301(301a〜301c)との時間的な距離に加え、参照候補フレーム301a〜301cのPSNR値1301も考慮する。そして、最適な動きベクトルが見つかる確率に応じて、動きベクトルの探索精度を変化させる。
従って、時間的に離れた画像についても動きベクトルの探索範囲とすることで、動きベクトルの検出精度を向上させられるとともに、且つ、動きベクトルの探索精度を変化させることによって、動きベクトルを検出する際の演算量を削減できる。さらに、参照候補フレームのPSNR値を考慮することにより、動きベクトルの探索精度をより高め、かつ、より効率的に演算を削減することができる。これにより、例えば、駆動するバッテリーの消費量が増大して撮影時間が短くなってしまうことを可及的に防止することができる。
なお、本実施形態では、PSNRが高い場合にtdから減ずる値として「t」を減じたが、これらの値は一例であって数値が限定されるものではない。例えば、「0.5t」を減ずるように設定しても良い。
さらに、本実施形態ではPSNR値に応じてtdに補正をかけて、探索精度を決定(変更)したが、別の方法として、tdに応じてPSNR値自体に補正をかけてもよい。この場合には、補正後のPSNRによって探索精度を決定しても良い。
つまり、tdが大きく、参照候補フレームまでの時間的距離が大きい場合には、探索精度決定部102は、PSNRから大きな値を引くような補正をかける。また、tdが小さく、参照候補フレームまでの時間的距離が小さい場合には、探索精度決定部102は、PSNRに補正をかけない等を行う。そして、探索精度決定部102は、補正後のPSNRが大きいときは、探索精度を高くし、小さいときは探索精度を低くするように決定する。
また、本実施形態では、動きベクトルの探索精度を変化させたが、第2の実施形態のように、符号化対象フレーム300の画像の縮小率と、参照候補フレーム301a〜301cの画像の縮小率を、参照候補フレームのPSNRに応じて変化させても良い。
(本発明の他の実施形態)
前述した実施形態の機能を実現するべく各種のデバイスを動作させるように、該各種デバイスと接続された装置あるいはシステム内のコンピュータに対し、前記実施形態の機能を実現するためのソフトウェアのプログラムコードを供給してもよい。そのシステムあるいは装置のコンピュータ(CPUあるいはMPU)に格納されたプログラムに従って前記各種デバイスを動作させることによって実施したものも、本発明の範疇に含まれる。
また、この場合、前記ソフトウェアのプログラムコード自体が前述した実施形態の機能を実現することになる。また、そのプログラムコード自体、及びそのプログラムコードをコンピュータに供給するための手段、例えば、かかるプログラムコードを格納した記録媒体は本発明を構成する。かかるプログラムコードを記憶する記録媒体としては、例えばフレキシブルディスク、ハードディスク、光ディスク、光磁気ディスク、CD−ROM、磁気テープ、不揮発性のメモリカード、ROM等を用いることができる。
また、コンピュータが供給されたプログラムコードを実行することにより、前述の実施形態の機能が実現されるだけでない。そのプログラムコードがコンピュータにおいて稼働しているオペレーティングシステムあるいは他のアプリケーションソフト等と共同して前述の実施形態の機能が実現される場合にもかかるプログラムコードは本発明の実施形態に含まれることは言うまでもない。
さらに、供給されたプログラムコードがコンピュータの機能拡張ボードに備わるメモリに格納された後、そのプログラムコードの指示に基づいてその機能拡張ボードに備わるCPUが実際の処理の一部または全部を行う。その処理によって前述した実施形態の機能が実現される場合にも本発明に含まれることは言うまでもない。
また、供給されたプログラムコードがコンピュータに接続された機能拡張ユニットに備わるメモリに格納された後、そのプログラムコードの指示に基づいて機能拡張ユニットに備わるCPU等が実際の処理の一部または全部を行う。その処理によって前述した実施形態の機能が実現される場合にも本発明に含まれることは言うまでもない。
なお、前述した各実施形態は、何れも本発明を実施するにあたっての具体化の例を示したものに過ぎず、これらによって本発明の技術的範囲が限定的に解釈されてはならないものである。すなわち、本発明はその技術思想、またはその主要な特徴から逸脱することなく、様々な形で実施することができる。
本発明の第1の実施形態に係るビデオカメラ装置の構成を示すブロック図である。 本発明の第1の実施形態に係る信号処理部の構成を示すブロック図である。 本発明の第1の実施形態に係る動きベクトル検出器の構成を示すブロック図である。 本発明の第1の実施形態に係る符号化対象フレームと参照候補フレームとの関係の一例を示した図である。 本発明の第1の実施形態に係る動きベクトル検出器の動作の一例について説明するフローチャートである。 本発明の第2の実施形態に係る動きベクトル検出器の構成を示すブロック図である。 本発明の第2の実施形態に係る動きベクトル検出器の動作の一例について説明するフローチャートである。 本発明の第2の実施形態に係る縮小画像の一例を示す図である。 本発明の第3の実施形態に係る動きベクトル検出器の構成を示すブロック図である。 本発明の第3の実施形態に係る動きベクトル検出器の動作の一例について説明するフローチャートである。 本発明の第3の実施形態に係る符号化対象フレームと参照候補フレームとの関係の一例を示した図である。 本発明の第4の実施形態に係る信号処理部の構成を示すブロック図である。 本発明の第4の実施形態に係る動きベクトル検出器の構成を示すブロック図である。 本発明の第4の実施形態に係る動きベクトル検出器の動作の一例について説明するフローチャートである。
符号の説明
11 撮像部
12 信号処理部
13 記録部
14 システム制御部
15 表示部
16 操作部
17 バス
12k 動きベクトル検出器
100 符号化対象フレーム保存部
101 参照候補フレーム保存部
102 探索精度決定部
103 動きベクトル演算部
300 符号化対象フレーム
301 参照候補フレーム
302 符号化対象フレーム番号
303 参照候補フレーム番号
304 動きベクトル
402 縮小率決定部
404 縮小フレーム作成部
405 縮小符号化対象フレーム保存部
406 縮小参照候補フレーム保存部
407 動きベクトル演算部
408 動きベクトル
901 参照候補フレーム
1301 参照候補フレームのPSNR

Claims (16)

  1. 画面間の動きベクトルを検出する動きベクトル検出装置であって、
    符号化対象画像と、前記符号化対象画像によって参照される参照画像の候補である複数の候補画像のそれぞれとの間の時間的な距離を演算する演算手段と、
    前記符号化対象画像と、前記複数の候補画像のそれぞれとの間で動きベクトルを探索し、探索した結果に基づいて動きベクトルを検出する動きベクトル検出手段とを有し、
    前記符号化対象画像と、前記複数の候補画像のそれぞれとの間で動きベクトルを探索する際に、前記動きベクトル検出手段は、前記演算手段によって演算された各候補画像に対する時間的な距離と前記各候補画像の符号化タイプとに応じて実行する演算の量を変更することを特徴とする動きベクトル検出装置。
  2. 前記符号化対象画像と、前記複数の候補画像のそれぞれとの間における動きベクトルの探索精度を、前記演算手段により演算された前記各候補画像に対する時間的な距離と前記各候補画像の符号化タイプとに応じて決定する決定手段をさらに有し、
    前記動きベクトル検出手段は、前記符号化対象画像と前記複数の候補画像のそれぞれとの間における動きベクトルの探索を、前記決定手段により決定された探索精度で実行することを特徴とする請求項1に記載の動きベクトル検出装置。
  3. 前記決定手段は、前記演算手段により演算された前記各候補画像に対する時間的な距離が短いほど、前記動きベクトルの探索精度を高くし、前記演算手段により演算された前記各候補画像に対する時間的な距離が長いほど、前記動きベクトルの探索精度を低くすることを特徴とする請求項2に記載の動きベクトル検出装置。
  4. 前記決定手段は、前記候補画像の符号化タイプがB<P<Iの順で前記動きベクトルの探索精度を高くすることを特徴とする請求項3に記載の動きベクトル検出装置。
  5. 前記候補画像の符号化タイプは、スライスタイプ又はピクチャタイプであることを特徴とする請求項4に記載の動きベクトル検出装置。
  6. 画面間の動きベクトルを検出する動きベクトル検出装置であって、
    符号化対象画像と、前記符号化対象画像によって参照される参照画像の候補である複数の候補画像のそれぞれとの間の時間的な距離を演算する演算手段と、
    前記符号化対象画像と、前記複数の候補画像のそれぞれとの間で動きベクトルを探索し、探索した結果に基づいて動きベクトルを検出する動きベクトル検出手段と、
    前記符号化対象画像と、前記複数の候補画像とをそれぞれ縮小処理する画像縮小手段と、
    前記符号化対象画像、及び前記複数の候補画像を前記画像縮小手段が縮小処理するときの各画像の縮小率を、前記演算手段により演算された時間的な距離に応じて決定する決定手段とを有し、
    前記動きベクトル検出手段は、前記符号化対象画像と、前記複数の候補画像のそれぞれとの間における動きベクトルの探索を、前記画像縮小手段によって縮小処理された複数の縮小画像を用いて実行することを特徴とする動きベクトル検出装置。
  7. 前記決定手段は、前記演算手段により演算された各候補画像に対する時間的な距離が短いほど、候補画像の縮小率を小さくし、前記演算手段により演算された前記各候補画像に対する時間的な距離が長いほど、候補画像の縮小率を大きくすることを特徴とする請求項6に記載の動きベクトル検出装置。
  8. 画面間の動きベクトルを検出する動きベクトル検出装置であって、
    符号化対象画像と、前記符号化対象画像によって参照される参照画像の候補である複数の候補画像のそれぞれとの間の時間的な距離を演算する演算手段と、
    前記符号化対象画像と、前記複数の候補画像のそれぞれとの間で動きベクトルを探索し、探索した結果に基づいて動きベクトルを検出する動きベクトル検出手段とを有し、
    前記符号化対象画像と、前記複数の候補画像のそれぞれとの間で動きベクトルを探索する際に、前記動きベクトル検出手段は、前記演算手段が演算した各候補画像に対する時間的な距離と前記各候補画像のピーク信号対雑音比(PSNR)の値とに応じて実行する演算の量を変更することを特徴とする動きベクトル検出装置。
  9. 前記符号化対象画像と、前記複数の候補画像のそれぞれとの間における動きベクトルの探索精度を、前記演算手段により演算された前記各候補画像に対する時間的な距離と前記各候補画像のPSNRの値とに応じて決定する決定手段をさらに有し、
    前記動きベクトル検出手段は、前記符号化対象画像と前記複数の候補画像のそれぞれとの間における動きベクトルの探索を、前記決定手段により決定された探索精度で実行することを特徴とする請求項8に記載の動きベクトル検出装置。
  10. 前記決定手段は、前記演算手段により演算された前記各候補画像に対する時間的な距離が短いほど、前記動きベクトルの探索精度を高くし、前記演算手段により演算された前記各候補画像に対する時間的な距離が長いほど、前記動きベクトルの探索精度を低くすることを特徴とする請求項9に記載の動きベクトル検出装置。
  11. 前記決定手段は、前記候補画像のPSNRの値が所定の閾値Th1よりも大きいときは、前記動きベクトルの探索精度を高くすることを特徴とする請求項10に記載の動きベクトル検出装置。
  12. 前記決定手段は、前記候補画像のPSNRの値が所定の閾値Th2よりも小さいときは、前記動きベクトルの探索精度を低くすることを特徴とする請求項10に記載の動きベクトル検出装置。
  13. 前記決定手段は、前記候補画像のPSNRの値が所定の閾値Th1よりも大きいときは、前記動きベクトルの探索精度を高くし、前記候補画像のPSNRの値が所定の閾値Th2よりも小さいときは、前記動きベクトルの探索精度を低くすることを特徴とする請求項10に記載の動きベクトル検出装置。
  14. 画面間の動きベクトルを検出する動きベクトル検出方法であって、
    符号化対象画像と、前記符号化対象画像によって参照される参照画像の候補である複数の候補画像のそれぞれとの間の時間的な距離を演算する演算工程と、
    前記符号化対象画像と、前記複数の候補画像のそれぞれとの間で動きベクトルを探索し、探索した結果に基づいて動きベクトルを検出する動きベクトル検出工程とを有し、
    前記符号化対象画像と、前記複数の候補画像のそれぞれとの間で動きベクトルを探索する際に、前記動きベクトル検出工程で実行する演算の量が、前記演算工程で演算された各候補画像に対する時間的な距離と前記各候補画像の符号化タイプとに応じて変更されることを特徴とする動きベクトル検出方法。
  15. 画面間の動きベクトルを検出する動きベクトル検出方法であって、
    符号化対象画像と、前記符号化対象画像によって参照される参照画像の候補である複数の候補画像のそれぞれとの間の時間的な距離を演算する演算工程と、
    前記符号化対象画像と、前記複数の候補画像のそれぞれとの間で動きベクトルを探索し、探索した結果に基づいて動きベクトルを検出する動きベクトル検出工程と、
    前記符号化対象画像と、前記複数の候補画像とをそれぞれ縮小処理する縮小工程と、
    前記符号化対象画像、及び前記複数の候補画像を前記縮小処理するときの各画像の縮小率を、前記演算工程で演算された時間的な距離に応じて決定する決定工程とを有し、
    前記動きベクトル検出工程において、前記符号化対象画像と、前記複数の候補画像のそれぞれとの間における動きベクトルの探索を、前記縮小処理された複数の縮小画像を用いて実行することを特徴とする動きベクトル検出方法。
  16. 画面間の動きベクトルを検出する動きベクトル検出方法であって、
    符号化対象画像と、前記符号化対象画像によって参照される参照画像の候補である複数の候補画像のそれぞれとの間の時間的な距離を演算する演算工程と、
    前記符号化対象画像と、前記複数の候補画像のそれぞれとの間で動きベクトルを探索し、探索した結果に基づいて動きベクトルを検出する動きベクトル検出工程とを有し、
    前記符号化対象画像と、前記複数の候補画像のそれぞれとの間で動きベクトルを探索する際に、前記動きベクトル検出工程で実行する演算の量が、前記演算工程で演算された各候補画像に対する時間的な距離と前記各候補画像のピーク信号対雑音比(PSNR)の値とに応じて変更されることを特徴とする動きベクトル検出方法。
JP2007167461A 2006-08-08 2007-06-26 動きベクトル検出装置及び動きベクトル検出方法 Expired - Fee Related JP4804423B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2007167461A JP4804423B2 (ja) 2006-08-08 2007-06-26 動きベクトル検出装置及び動きベクトル検出方法
US11/828,517 US8345761B2 (en) 2006-08-08 2007-07-26 Motion vector detection apparatus and motion vector detection method

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
JP2006215966 2006-08-08
JP2006215966 2006-08-08
JP2007167461A JP4804423B2 (ja) 2006-08-08 2007-06-26 動きベクトル検出装置及び動きベクトル検出方法

Related Child Applications (1)

Application Number Title Priority Date Filing Date
JP2011171130A Division JP5328854B2 (ja) 2006-08-08 2011-08-04 動きベクトル検出装置及び動きベクトル検出方法

Publications (3)

Publication Number Publication Date
JP2008067353A true JP2008067353A (ja) 2008-03-21
JP2008067353A5 JP2008067353A5 (ja) 2010-07-29
JP4804423B2 JP4804423B2 (ja) 2011-11-02

Family

ID=39050347

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2007167461A Expired - Fee Related JP4804423B2 (ja) 2006-08-08 2007-06-26 動きベクトル検出装置及び動きベクトル検出方法

Country Status (2)

Country Link
US (1) US8345761B2 (ja)
JP (1) JP4804423B2 (ja)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2015073192A (ja) * 2013-10-02 2015-04-16 日本電信電話株式会社 映像符号化装置及び映像符号化プログラム
JP2016010014A (ja) * 2014-06-24 2016-01-18 キヤノン株式会社 撮像装置及びその制御方法、プログラム、記憶媒体
JP2017225199A (ja) * 2017-09-28 2017-12-21 日本電信電話株式会社 映像符号化装置及び映像符号化プログラム
JP2018067949A (ja) * 2009-10-14 2018-04-26 トムソン ライセンシングThomson Licensing 動き情報の適応型符号化方法及び装置

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1879384B1 (en) * 2006-07-13 2009-05-13 Axis AB Improved pre-alarm video buffer
JP2009182623A (ja) * 2008-01-30 2009-08-13 Panasonic Corp 画像符号化方法
KR102559063B1 (ko) 2017-02-24 2023-07-24 주식회사 케이티 비디오 신호 처리 방법 및 장치
WO2020093164A1 (en) 2018-11-07 2020-05-14 Genetec Inc. Methods and systems for detection of anomalous motion in a video stream and for creating a video summary
JP7324065B2 (ja) * 2019-06-26 2023-08-09 キヤノン株式会社 動きベクトル検出装置、撮像装置、動きベクトル検出方法、及びプログラム

Citations (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH09130808A (ja) * 1995-11-02 1997-05-16 Graphics Commun Lab:Kk 動画像圧縮方法および装置
JPH09168153A (ja) * 1995-12-15 1997-06-24 Matsushita Electric Ind Co Ltd 動き検出方法
JPH11127437A (ja) * 1997-10-21 1999-05-11 Nec Corp 動画像符号化方法および装置
JP2000308064A (ja) * 1999-04-22 2000-11-02 Mitsubishi Electric Corp 動きベクトル検出装置
JP2003143609A (ja) * 2001-08-21 2003-05-16 Canon Inc 画像処理装置、画像処理方法、記録媒体及びプログラム
JP2003169337A (ja) * 2001-09-18 2003-06-13 Matsushita Electric Ind Co Ltd 画像符号化方法および画像復号化方法
JP2004007337A (ja) * 2002-04-25 2004-01-08 Sony Corp 画像処理装置およびその方法
JP2005184694A (ja) * 2003-12-22 2005-07-07 Canon Inc 動画像符号化装置及びその制御方法、プログラム
JP2006191175A (ja) * 2004-12-28 2006-07-20 Matsushita Electric Ind Co Ltd 画像符号化装置及び方法
JP2006295528A (ja) * 2005-04-11 2006-10-26 Pioneer Electronic Corp 画像信号処理方法

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6091460A (en) * 1994-03-31 2000-07-18 Mitsubishi Denki Kabushiki Kaisha Video signal encoding method and system
US7170934B2 (en) * 2002-12-20 2007-01-30 Lsi Logic Corporation Method and/or apparatus for motion estimation using a hierarchical search followed by a computation split for different block sizes
US7864898B2 (en) * 2006-05-17 2011-01-04 Sirf Technology Holdings, Inc. Systems and methods for signal acquistion in navigational satellite signal receivers

Patent Citations (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH09130808A (ja) * 1995-11-02 1997-05-16 Graphics Commun Lab:Kk 動画像圧縮方法および装置
JPH09168153A (ja) * 1995-12-15 1997-06-24 Matsushita Electric Ind Co Ltd 動き検出方法
JPH11127437A (ja) * 1997-10-21 1999-05-11 Nec Corp 動画像符号化方法および装置
JP2000308064A (ja) * 1999-04-22 2000-11-02 Mitsubishi Electric Corp 動きベクトル検出装置
JP2003143609A (ja) * 2001-08-21 2003-05-16 Canon Inc 画像処理装置、画像処理方法、記録媒体及びプログラム
JP2003169337A (ja) * 2001-09-18 2003-06-13 Matsushita Electric Ind Co Ltd 画像符号化方法および画像復号化方法
JP2004007337A (ja) * 2002-04-25 2004-01-08 Sony Corp 画像処理装置およびその方法
JP2005184694A (ja) * 2003-12-22 2005-07-07 Canon Inc 動画像符号化装置及びその制御方法、プログラム
JP2006191175A (ja) * 2004-12-28 2006-07-20 Matsushita Electric Ind Co Ltd 画像符号化装置及び方法
JP2006295528A (ja) * 2005-04-11 2006-10-26 Pioneer Electronic Corp 画像信号処理方法

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2018067949A (ja) * 2009-10-14 2018-04-26 トムソン ライセンシングThomson Licensing 動き情報の適応型符号化方法及び装置
JP2015073192A (ja) * 2013-10-02 2015-04-16 日本電信電話株式会社 映像符号化装置及び映像符号化プログラム
JP2016010014A (ja) * 2014-06-24 2016-01-18 キヤノン株式会社 撮像装置及びその制御方法、プログラム、記憶媒体
JP2017225199A (ja) * 2017-09-28 2017-12-21 日本電信電話株式会社 映像符号化装置及び映像符号化プログラム

Also Published As

Publication number Publication date
US20080036916A1 (en) 2008-02-14
JP4804423B2 (ja) 2011-11-02
US8345761B2 (en) 2013-01-01

Similar Documents

Publication Publication Date Title
JP5328854B2 (ja) 動きベクトル検出装置及び動きベクトル検出方法
JP4804423B2 (ja) 動きベクトル検出装置及び動きベクトル検出方法
RU2310231C2 (ru) Пространственно-временное прогнозирование для двунаправлено прогнозируемых (в) изображений и прогнозирование вектора движения для компенсации движения множественных изображений с помощью эталона
US9544588B2 (en) Method and apparatus for encoding/decoding motion vector
US8428136B2 (en) Dynamic image encoding method and device and program using the same
JP2022537064A (ja) エンコーダ、デコーダ、および対応する方法
JP5173409B2 (ja) 符号化装置および符号化装置を備えた動画像記録システム
KR101390620B1 (ko) 비디오 인코딩을 위한 전력 효율적인 움직임 추정 기법
JP2007067731A (ja) 符号化方法
JP6149707B2 (ja) 動画像符号化装置、動画像符号化方法、動画像符号化プログラム、及び動画像撮影装置
US8514935B2 (en) Image coding apparatus, image coding method, integrated circuit, and camera
JP2008227670A (ja) 画像符号化装置
JP2007251497A (ja) 動画像符号化方法、動画像符号化装置、動画像符号化プログラム
KR20070057212A (ko) 부호화 장치, 부호화 방법, 부호화 방법의 프로그램 및부호화 방법의 프로그램을 기록한 기록 매체
US20120008685A1 (en) Image coding device and image coding method
JP2010063092A (ja) 画像符号化装置、画像符号化方法、画像符号化集積回路およびカメラ
US20080063065A1 (en) Fast Motion Estimation for Multiple Reference Pictures
JP2007228560A (ja) 動画像符号化方法および動画像符号化装置
JP2005303994A (ja) 動画符号化装置
JP5322956B2 (ja) 画像符号化装置および画像符号化方法
JP2008141407A (ja) 符号化方式変換装置及び符号化方式変換方法
JP4561701B2 (ja) 動画像符号化装置
JP2008099175A (ja) 動画符号化装置および動画符号化方法
JP6016484B2 (ja) 符号化装置
JP2008028882A (ja) 動画像符号化装置

Legal Events

Date Code Title Description
RD04 Notification of resignation of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7424

Effective date: 20100201

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20100611

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20100611

RD01 Notification of change of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7421

Effective date: 20100630

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20110523

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20110531

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20110701

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20110719

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20110809

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20140819

Year of fee payment: 3

LAPS Cancellation because of no payment of annual fees