JP4708819B2 - 画像処理装置、方法、コンピュータプログラム及び記憶媒体 - Google Patents

画像処理装置、方法、コンピュータプログラム及び記憶媒体 Download PDF

Info

Publication number
JP4708819B2
JP4708819B2 JP2005071737A JP2005071737A JP4708819B2 JP 4708819 B2 JP4708819 B2 JP 4708819B2 JP 2005071737 A JP2005071737 A JP 2005071737A JP 2005071737 A JP2005071737 A JP 2005071737A JP 4708819 B2 JP4708819 B2 JP 4708819B2
Authority
JP
Japan
Prior art keywords
motion detection
pixel block
types
information
unit
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.)
Expired - Fee Related
Application number
JP2005071737A
Other languages
English (en)
Other versions
JP2006254370A5 (ja
JP2006254370A (ja
Inventor
浩文 竹井
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 JP2005071737A priority Critical patent/JP4708819B2/ja
Priority to US11/362,880 priority patent/US7760953B2/en
Priority to EP20060110889 priority patent/EP1703739B1/en
Priority to CNB2006100678532A priority patent/CN100518322C/zh
Publication of JP2006254370A publication Critical patent/JP2006254370A/ja
Publication of JP2006254370A5 publication Critical patent/JP2006254370A5/ja
Application granted granted Critical
Publication of JP4708819B2 publication Critical patent/JP4708819B2/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
    • H04N23/00Cameras or camera modules comprising electronic image sensors; Control thereof
    • H04N23/60Control of cameras or camera modules
    • H04N23/68Control of cameras or camera modules for stable pick-up of the scene, e.g. compensating for camera body vibrations
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N23/00Cameras or camera modules comprising electronic image sensors; Control thereof
    • H04N23/60Control of cameras or camera modules
    • H04N23/68Control of cameras or camera modules for stable pick-up of the scene, e.g. compensating for camera body vibrations
    • H04N23/681Motion detection
    • H04N23/6811Motion detection based on the image signal
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N23/00Cameras or camera modules comprising electronic image sensors; Control thereof
    • H04N23/60Control of cameras or camera modules
    • H04N23/68Control of cameras or camera modules for stable pick-up of the scene, e.g. compensating for camera body vibrations
    • H04N23/681Motion detection
    • H04N23/6812Motion detection based on additional sensors, e.g. acceleration sensors
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N23/00Cameras or camera modules comprising electronic image sensors; Control thereof
    • H04N23/60Control of cameras or camera modules
    • H04N23/68Control of cameras or camera modules for stable pick-up of the scene, e.g. compensating for camera body vibrations
    • H04N23/682Vibration or motion blur correction
    • H04N23/685Vibration or motion blur correction performed by mechanical compensation
    • H04N23/686Vibration or motion blur correction performed by mechanical compensation with a variable apex prism
    • 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
    • H04N5/145Movement estimation

Description

本発明は、画像処理装置、方法、コンピュータプログラム及び記憶媒体に関する。
画像を高能率符号化するための技術として、JPEGやMPEG1,2といった符号化方式が確立されている。各メーカーはこれらの符号化方式を利用して画像を記録可能としたディジタルカメラやディジタルビデオカメラといった撮像装置或いはDVDレコーダーなどを開発し、製品化しており、ユーザーはこれらの装置或いはパーソナルコンピュータやDVDプレーヤーなどを用いて簡単に画像を視聴することが可能となっている。
また上記したMPEG1,2などよりも更なる高圧縮が望める動画像の符号化方式が研究され続けてきており、近年ITU−T(国際電気通信連合 電気通信標準化部門)とISO(国際標準化機構)によりH.264/MPEG−4 part10という符号化方式(以下、H.264と称す)が標準化された。
そのH.264における動画像圧縮符号化装置の一般的な全体構成について図11のブロック図を参照して説明する。この動画像圧縮符号化装置は、カメラ部200、減算器2001、整数変換部2002、量子化部2003、エントロピー符号化部2004、逆量子化部2005、逆整数変換部2006、加算器2007、フレームメモリ2008及び2012、イントラ予測部2009、スイッチ2010及び2015、デブロッキングフィルタ2011、インター予測部2013、動き検出部2014から構成され、カメラ部200から入力された画像データを分割することによりブロックを構成し、ブロック単位に符号化処理を行い符号化データを出力する。続いて、H.264の符号化処理について説明する。
まず、減算器2001はカメラ部からの入力される画像データから予測画像データを減算し画像残差データを出力する。予測画像データの生成については後述する。整数変換部2002は、減算器2001から出力された画像残差データを、DCT変換等により直交変換処理して変換係数を出力する。そして、量子化部2003は上記変換係数を所定の量子化パラメータを用いて量子化する。エントロピー符号化部2004は、量子化部2003で量子化された変換係数を入力し、これをエントロピー符号化して符号化データとして出力する。
一方、量子化部2003で量子化された変換係数は予測画像データの生成にも使われる。逆量子化部2005は、量子化部2003で量子化された変換係数を逆量子化する。さらに、逆整数変換部2006は逆量子化部2005で逆量子化された変換係数を、逆DCT変換等により逆整数変換し、復号画像残差データとして出力する。加算器2007は、復号画像残差データと予測画像データとを加算し、再構成画像データとして出力する。
再構成画像データはフレームメモリ2008に記録されるとともに、デブロッキングフィルタ処理を行う場合はデブロッキングフィルタ2011を介して、デブロッキングフィルタ処理を行わない場合はデブロッキングフィルタ2011を介さずフレームメモリ2012に記録される。スイッチ2010は、デブロッキングフィルタ処理を行うか行わないか選択する選択部である。再構成画像データの中で、以降の予測で参照される可能性があるデータは、フレームメモリ2008または2012に参照フレームデータとして暫くの期間保存される。また、デブロッキングフィルタ2011はノイズを除去する為に用いられる。
イントラ予測部2009は、フレームメモリ2008に記録された画像データを用いてフレーム内予測処理を行い、予測画像データを生成する。また、インター予測部2013はフレームメモリ2012に記録された参照フレーム画像データを用いて動き検出部2014によって検出された動きベクトル情報に基づいてフレーム間予測処理を行い予測画像データを生成する。動き検出部2014は入力画像データにおける動きベクトルを検出し、検出した動きベクトル情報をインター予測部2013とエントロピー符号化部2004へ出力する。スイッチ2015は、イントラ予測、インター予測のどちらを用いるか選択するための選択部である。イントラ予測部2009からの出力とインター予測部2013からの出力の一方を選択して、選択された予測画像データを減算器2001、加算器2007へ出力する。以上が図11の画像圧縮符号化装置に関する説明である。
ここで、H.264における動き検出部2014の動作について説明する。H.264では図12に示すように、符号化対象フレーム(CF)内のマクロブロック毎に複数の参照フレーム(RF1〜RF5)から符号化効率の良い参照フレームを選択し、どのフレームを用いるかを指定することが可能である。このとき、符号化対象フレームCF内のマクロブロックについて、複数の参照フレームを選択しても良いし、また、同一フレーム内のマクロブロックであっても、異なる参照フレームを選択しても良い。
また図13(a)に示すように画像中の1つのマクロブロックは図13(b)に示すように16×16画素、16×8画素、8×16画素、8×8画素のいずれかに分割し、それぞれのマクロブロックパーティションで独立に動きベクトル及び参照フレームを持つことが可能である。8×8画素の場合には図13(c)に示すようにさらにそれぞれのマクロブロックパーティションを8×4画素、4×8画素、4×4画素のザブマクロブロックパィテーションに分割することが可能である。また動きベクトルの精度は6タップのFIRフィルタ処理等を行い1/4画素精度で求めることも可能である(特許文献1を参照)。
以上説明したようにH.264では、図13に示したように予測符号化を行う画素ブロック形状を複数用意し、細かい画素単位の動き検出を行う技術も導入されている。ここで、画素ブロックが細かくなれば、予測符号化のブロック数は増大する。また図12に示したように複数のフレームの中から符号化効率のよい参照画像フレームを選択するには、参照候補となる複数のフレーム全部に対して、フレーム間予測をする必要があり、処理負荷が増大している。
しかしながら、圧縮対象となる画像データを出力するカメラ部の状態によっては、複数種類ある画素ブロック形状を全て用いて動き検出を行う必要が無い場合もある。例えばフォーカスが合焦してない場合やカメラ部がパン、チルト動作をしている場合等は画像データ全体がぼやけていたり、極端に動いていたりするので細かな画素ブロック形状を用いて動き検出を行っても制度の高い動き情報が検出できない場合が多い。
同様に画像が暗い場合やカメラのアンプゲインを上げたことにより画像データ中にノイズが多く発生している場合は細かな画素ブロック形状を用いて動き検出を行っても正しい動き情報を検出できない場合が多い。またカメラ部の起動直後もカメラの画角が不安定だったり、露出レベルが不安定だったりする為に細かな画素ブロック形状を用いて動き検出を行っても正しい動き情報を検出できない場合が多い。
同符号化アルゴリズムを用いて、高画質画像データをよりコンパクトに記録するニーズの高いビデオカメラシステムにおいては、不要な動き検出を行うことは直接、モバイル機器を駆動するバッテリー消費量の増大に結びつくので、撮影時間の長期化に大きな障害となる。また同符号化アルゴリズムをソフトウェアで行う場合にも処理時間が不必要に長くなる等の問題が生じる。
特開2004−328633号公報
本発明は、かかる問題点に鑑みなされたものであり、不要な処理負荷を低減しつつ最適な動き検出を行う画像処理装置を提供しようとするものである。
そこで本発明は、
被写体を撮影する撮影手段において得られた動画像データと該撮影時における前記撮影手段のフォーカス制御に関する情報、防振及びパン・チルトに関する情報、露出制御に関する情報、前記撮影手段の起動開始から経過した時間情報のうち、いずれかを含む撮影時情報とを取得する取得手段と、前記動画像データについて複数種類の画素ブロック形状を用いて動き検出し、該動き検出の結果を用いて前記動画像データを符号化する符号化手段と、前記複数種類の画素ブロック形状の全てを用いて動き検出するべきか否かを、前記撮影時情報に基づいて判定する判定手段とを備え、前記判定手段により、前記複数種類の画素ブロック形状の全てを用いて動き検出するべきでないと判定された場合に、前記符号化手段は、前記複数種類の画素ブロック形状のうち一部を用いて前記動き検出を行うことを特徴とする。
本発明によれば、不要な処理負荷を低減しつつ最適な動き検出を行う画像処理装置を提供することができる。
以下、添付する図面を参照して、本発明の実施形態について説明する。
[第1の実施形態]
以下、本発明の第1の実施形態について説明する。図1は本発明が適用される画像処理装置の構成を示すブロック図である。ここで図1において、100は被写体を撮像し画像データとカメラ情報を出力する撮像手段としてのカメラ部である。本実施形態において、画像処理装置はカメラ部100を含む構成であっても良いし、カメラ部100と接続される構成であってもよい。
まず、このカメラ部100の構成について図2を用いて説明する。図2において、被写体の光学像は101に示すバリアングルプリズム(以下、VAPと記す)により撮影者の手ぶれによる振動が光学的に補正される。次に102のズームレンズによりズームやフォーカス調整が行われる。そして絞り103にて光量が調節され、104のCCD上に結像される。
CCDは105に示すタイミングジェネレータ(以下、TGと記す)にて所定のシャッター速度で駆動される。CCD104からの信号は106のA/D部で2重相関サンプリング(CDS)およびゲインコントロール(AGC)とA/D変換が行われる。ここで107はVAP101、ズームレンズ102、絞り103をそれぞれ駆動するドライブ回路である。
108はカメラ部100に対し各種の操作を行うスイッチ類が含まれる操作部、109は撮像装置100全体を統合的に制御するカメラCPUである。110は106でA/D変換された画像データに対して色補間処理、γ補正や各色信号のレベル調整等の処理を行いカメラ画像データを出力するカメラ信号処理部である。またCPU109内には撮像装置100におけるカメラ部(図2中101〜110)の各種制御を行うカメラ制御モジュールを有している。
カメラCPU109内のフォーカス制御部109aはズームレンズ102を制御しフォーカス調整やズーム調整を行うレンズ制御信号をドライブ回路107に対して出力する。防振制御部109bは画像処理や図示しないジャイロセンサーなど既知の方法によりカメラ部100の振動成分を求めVAPレンズ101を制御する防振制御信号をドライブ回路107に対して出力する。露出制御部109cは絞りやCCDのシャッター速度、ゲインコントロール(AGC)を制御して映像信号の露出レベルが適正になるように制御を行う。露出制御信号はドライブ回路107、TG105、A/D部106に対して出力される。
これらの制御モジュールの制御情報は、カメラ部100における撮影時における該カメラ部100の状況に関するカメラ情報として後述する画像処理装置にも出力される。次にこれらのカメラ情報を用いた本発明の画像処理装置の動作について図1、図3乃至図5を用いて説明する。
図1において、1001は後述する予測画像情報を減算する減算器、1002は画像の差分データに対して、DCT変換等により4×4の整数直交変換をする直交変換部、1003は整数直交変換された変換係数に対して所定の量子化スケールで量子化を施す量子化部、1004は量子化された変換係数に対して、エントロピー符号化処理を行ってデータ圧縮するエントロピー符号化部である。
1005は量子化された変換係数に対して所定の逆量子化処理を施す逆量子化部、1006は逆量子化された変換係数を逆DCT変換等により元の画像データ空間に戻す逆整数直交変換をする逆直交変換部、1007は画像データ空間に戻された画像差分情報に予測画像情報を加算する加算部である。1008は現フレーム中の既符号化済みとなった画像データを格納するフレームメモリであり、フレーム内予測符号化を行う際の参照データを格納するためのものである。1009はフレームメモリ1008に保持された画像データから予測データを生成するイントラ用予測データ生成部である。
1011は加算部1007により復元された画像データに対して所定のブロック単位の境界データにおける不連続性を補正するデブロッキングフィルタ部、1012はブロック境界補正処理が行われた復元画像データを予測画像情報の参照画像として利用するために保持するフレームメモリである。実施形態では、H.264に適用した例を説明しているので、このフレームメモリ1012は最大5フレーム分の画像データを記憶する容量を有する。
1014は入力された現在の画像データを複数形状のマクロブロック単位に分割し、各マクロブロック形状において参照フレームと相関の高い位置を検出する動き探索処理を行い、その位置の差分データをフレーム間の動き情報として検出する動き検出部である。1013は、動き検出部1014からの情報に基づき、フレームメモリ1012内の参照フレーム(5フレーム)中から、現フレーム中の注目ブロックのデータの予測画像情報を生成し、出力するインター予測部である。
1015は予測情報を選択するスイッチ部である。所定タイミングに応じて、入力端子1015a、1015bのいずれか一方を選択する。ここで、入力端子1015aが選択された場合には、イントラ(フレーム内)予測符号化が行われることになり、入力端子1015bが選択された場合にはインター(フレーム間)予測符号化が行われることになる。
なお、上記の1001乃至1015までの各ブロックに対応する機能は、例えば、各機能に対応するプログラムを画像処理装置内のCPUにおいて実行する形式において、又は、各機能を実現するために専用に設計されたハードウェアモジュールの形式において、更には、各機能を実現するようにプログラムされたプログラム可能な論理回路の形式において、実現することができる。
まず、本実施形態の画像処理装置全体の動作に関して説明する。カメラ部100から入力された画像データ(D1)に対しては、減算器1001により予測画像情報(D3)との間で減算処理が行われ、予測画像情報との差分データ(D2)が生成される。この差分データ(D2)は、変換部1002でDCT変換等により整数直交変換が施され、一般の画像空間からエネルギー集中を高めた変換係数の空間に直交変換される(D4)。変換された差分データ(D4)の変換係数は量子化部1003で所定のステップ幅で直交変換成分に応じて量子化される(D5)。量子化された変換係数データ(D5)はエントロピー符号化部1004で圧縮符号化される(D6)。さらに、エントロピー符号化部1004では、後述するインター符号化で参照されたフレーム番号の識別子もまた、多重化して圧縮符号化する。
次に、予測画像情報の処理について説明する。予測画像情報を生成する方式には、入力時の現画像内のデータから予測画像情報を生成するイントラ予測符号化方式と、入力時の現画像以外のフレーム画像データから予測画像情報を生成するインター符号化方式との二つがある。
まず、現入力画像内で処理が閉じているイントラ符号化予測方式について説明する。図1の量子化部1003で量子化された変換係数(D5)に対して、逆量子化部1005で逆量子化処理を行い変換係数(D7)を復元する。復元された変換係数(D7)は、逆整数直交変換部1006で逆DCT変換等により元の画像データ空間に戻され、予測画像情報との差分データ(D8)として復元される。この復元された差分データ(D8)に対して、減算器1001において差分データを生成する元となった予測画像情報(D3)を加算器1007で加算することにより、符号化対象ブロックの復元画像データ(D9)が得られる。但し、この時点の復元画像データ(D9)は、入力画像データ(D1)に対応する画像データであるものの、後述する予測情報の誤差や量子化処理における量子化誤差によって、入力画像データ(D1)よりも僅かに劣化している画像となっている。
この復元画像データ(D9)は、フレームメモリ1008に一旦取り込まれる。フレームメモリ1008に取り込まれた復元画像データ(D9)に対して、イントラ予測符号化部1009で所定のブロック単位に分割され、その後に入力される符号化対象ブロックの入力画像データ(D1)をの予測画像情報を生成するために利用される。イントラ予測符号化部1009において得られた予測画像情報は、スイッチ1015に送られる。
スイッチ1015では図示しないコントローラによって、予測画像情報の予測方法に応じて、スイッチを切り替える。前述してきたイントラ予測符号化方式の場合、スイッチは1015aに接続され、予測画像情報はイントラ予測方式による算出方法で得られたデータが送出される。このイントラ方式の予測画像情報は、減算器1001や加算器1007に送られ、画像データと予測画像差分データとの変換に使われる。
次に、現入力画像とは別の参照フレーム画像を用いて予測画像情報を生成するインター符号化予測方式について説明する。
イントラ予測符号化方式と、加算器1007までは同じなので説明を省略する。加算器1007で得られた復元画像データ(D9)は、後述するブロック単位の境界におけるデータの不連続性を排除するために、デブロッキングフィルタ部1011に送られる。デブロッキングフィルタ部1011では、ブロック境界に隣接する画素データに対して所定のフィルタ処理を施し、ブロック境界のデータの不連続性を抑圧する。
先に述べたように、加算器1007において復元される画像データ(D9)は入力画像よりも劣化した画像となっており、特に各処理において所定のブロック単位で処理される画像データは、ブロック境界でデータの不連続性が生じやすくブロック歪として画像認識されてしまう。そこで、デブロッキングフィルタ部1011におけるフィルタ処理よりブロック歪を低減させている。境界処理されたこの復元画像データ(D10)は、フレームメモリ1012に一旦取り込まれる。このフレームメモリ1012は、複数枚(本実施形態では5フレーム)の復元画像データを保持することが可能となっている。
一方、動き検出部1014では、入力画像(D1)を所定のブロック単位に分割し、複数の参照フレームとの相関の強い位置を探索する。
従来例でも説明したように、H.264では図12に示すようにマクロブロック毎に複数の参照フレームから符号化効率の良い参照フレームを選択し、どのフレームを用いるかを指定することが可能である。
また図13(a)に示すような画像において、画像中の1つのマクロブロック1301を、図13(b)に示すような画素ブロック形状(マクロブロックパーティション)により分割する。分割される画素ブロック形状には、16×16画素(1302)、16×8画素(1303)、8×16画素(1304)及び8×8画素(1305)が含まれる。また、分割されたマクロブロックパーティション毎に、独立に動きベクトル及び参照フレームを持つことが可能である。更に、マクロブロックパーティションのサイズが8×8画素(1305)の場合には、各マクロブロックパーティション(8×8画素)を、図13(c)に示すように8×4画素(1306)、4×8画素(1307)、4×4画素(1308)のサブマクロブロックパーティションに更に分割することが可能である。
動き検出部1014において、最も相関が強いと判断された位置と現行処理中のブロック位置との差分データは、動き情報としてインター予測部1013とエントロピー符号化部1004に送出される。また、同時に動き情報の生成に使った参照フレームの識別情報もまた、インター予測部1013とエントロピー符号化部1004に送出する。
インター予測部1013では、参照フレーム識別情報に応じた参照フレームの復元画像データをフレームメモリ1012から呼出し、復元画像データと動き情報から、現行画面の予測画像情報を予測する。
このように、インター予測符号化では、現行画像とは別のフレームの参照して、予測画像情報を作り出すところが、イントラ予測符号化とは異なる。
生成されたインター方式の予測符号化は、スイッチ1015で1015bに接続され、減算器1001や加算器1007に送られ、画像データと予測画像差分データとの変換に使われる。
以上のようにしてカメラ部100から入力された画像データ(D1)が圧縮符号化されるが、この中で、処理が比較的重いとされているのは動き検出部1014における動き検出情報の算出処理であり、本実施形態における特徴となる部分である。本実施形態に対応する動き検出情報の算出処理について、図3のフローチャートを参照して説明する。
動き検出処理が開始されると、ステップS301において、符号化対象フレームにおける最初の動き検出動作であるかどうかの判定をおこなう。即ち、本ステップでは、当該符号化対象フレームにおける最初のマクロブロックについての動き検出処理であるかが判定される。もし、最初の動き検出動作でないと判定された場合には(ステップS301において「NO」)、ステップS310に移行する。一方、新しい画像フレームに対する最初の動き検出動作であると判定された場合には(ステップS301において「YES」)、ステップS302に移行して、カメラ部100からフォーカス制御、防振制御、露出制御等のカメラ情報の読み込みを行う。
次に、S303では読み込んだカメラ情報のうちフォーカス制御に関する情報よりフォーカスが合焦状態か否かの判定を行う。もし、合焦状態であれば(ステップS303で「NO」)、ステップS304へ移行する。一方、合焦状態でなければ(ステップS303で「YES」)ステップS309へ移行する。
ここで、フォーカスが合焦状態か否かの判定は、例えば以下のように行うことができる。カメラCPU109は、カメラ信号処理部110から得られる画像データを高周波成分のみ通過させるハイパスフィルターに通し、ハイパスフィルターから出力される1画面分の出力信号を積分した値(以降"ハイパスフィルター積分値"と記す)の大きさで合焦状態を判定することができる。より具体的に、もしフォーカスが合焦しておらず、画像全体がぼやけている場合には画像信号中の高周波成分は少ない。
よって、ハイパスフィルターからの出力は低くなり、ハイパスフィルター積分値も小さくなる。一方、フォーカスが合焦している場合は、画像全体がくっきりとしているので画像信号中の高周波成分が多い。よって、ハイパスフィルターからの出力は高くなりハイパスフィルター積分値も大きくなる。このようにフォーカス制御情報としてハイパスフィルター積分値を用い、その値が所定のスレッシュ値よりも大きい場合は合焦状態と判定し、小さい場合は非合焦状態と判定することができる。
次に、ステップS304では、防振制御に関する情報に基づいてカメラ部100がパン・チルト状態か否かの判定を行う。もし、パン・チルト状態でなければ(ステップS304で「NO」)、ステップS305へ移行する。一方、パン・チルト状態であれば(ステップS304で「YES」)ステップS309へ移行する。
ここで、パン・チルト状態か否かの判定は、カメラ部100のジャイロセンサー(図2には不図示)からの出力を利用して、例えば以下のようにして行うことができる。このジャイロセンサーはカメラの手ぶれ補正のための振動検出に一般的に用いられており、カメラ部100には、縦方向の回転成分検出用と横方向の回転成分検出用の2つが取り付けられる。撮影時において、撮影者の手ぶれがある場合、ジャイロセンサーにおいては通常、周期的な上下方向や左右方向の回転成分が検出される。一方、パンやチルトが行われた場合には、ジャイロセンサーにおいては周期的な回転成分は検出されず、一定方向への回転成分が連続して検出される。
即ち、上方向への回転成分が連続して検出されれば、カメラ部100は上方向へチルトしていると判定することができる。また、右方向への回転成分が連続して検出される場合には、カメラ部100は右方向へパンしていると判定することができる。このようにジャイロセンサーからの出力を用いて、一定方向への回転成分が所定時間以上連続して検出された場合に、パン・チルト状態と判定することができる。
なお、手ぶれのような周期的な回転成分が検出されていても、その周期が所定値より長い場合や回転成分の大きさが所定値よりも大きいに場合には、手ぶれではなくパン・チルト状態と判定してもよい。
次に、ステップS305では露出制御に関する情報より被写体が低輝度か否かの判定を行う。もし、被写体が低輝度でなければ(ステップS305で「NO」)、ステップS306へ移行する。一方、被写体が低輝度であれば(ステップS305で「YES」)ステップS309へ移行する。
ここで、被写体が低輝度か否かの判定は、例えば、画像信号中の輝度信号成分を1画面分を積分した値(以降"輝度積分値"と記す)を用いて判定することが可能である。即ち、輝度積分値が所定の閾値値よりも小さい場合には、被写体が低輝度状態と判定することができる。
次にステップS306では、露出制御に関する情報よりカメラ部100がゲインアップ中であるか否かの判定を行う。もし、ゲインアップ中でなければ(ステップS306で「NO」)、ステップS307へ移行する。一方、ゲインアップ中であれば(ステップS306で「YES」)ステップS309へ移行する。
ここで、ゲインアップ中か否かの判定は、例えば、図2におけるカメラ部100のAGC(オートゲインコントロール)106からの制御情報を用いて行うことができる。一般的に被写体が暗くレンズの絞りを開放しても画像信号のレベルが小さい場合には、AGCの増幅率(ゲイン)を上げて電気的に画像信号のレベルを大きくする、所謂ゲインアップ状態となる。即ち、AGCへの制御情報を調べてAGCの増幅率が所定の値よりも高い場合はゲインアップ中と判定することができる。
次に、ステップS307ではカメラ部起動時間に関する情報よりカメラ部100が起動直後か否かの判定を行う。もし、カメラ部100が起動直後でなければ(ステップS307で「NO」)、ステップS308へ移行する。一方、起動直後であれば(ステップS307で「YES」)ステップS309へ移行する。
ここで、カメラ部が起動直後か否かの判定は、例えば、図2に示すカメラCPU109内のタイマー(図2では不図示)を用いて行うことができる。より具体的には、カメラ部100が起動、即ちカメラCPU109に電力が供給されると、カメラCPU109を、カメラCPU109内部のリセット処理によりタイマーの値をリセットし、その後時間の経過に応じてタイマーを自動的にカウントアップするように予め設定しておく。この場合に、カメラCPU109でカウントアップされたタイマーの値を調べ、タイマーの値が所定値よりも小さい場合はカメラ部が起動直後であると判定することができる。
ステップS309では、ステップS303乃至ステップS307における判定処理により、カメラ部100が、フォーカス非合焦状態、パン・チルト状態、被写体低輝度状態、ゲインアップ状態、或いは、起動直後のいずれかの状態であると判断された場合に、図13(c)で示したサブマクロブロックパーティションによる動き検出処理を許可する「サブマクロブロックパーティション使用許可フラグ」を禁止状態(Lo)に設定する。
一方、ステップS303乃至ステップS307における判定処理により、カメラ部100が、フォーカス合焦状態、パン・チルト状態、被写体低輝度状態、ゲインアップ状態及び起動直後のいずれでもないと判断された場合には、ステップS308の処理に移行し「サブマクロブロックパーティション使用許可フラグ」を許可状態(Hi)に設定する。
このように、本実施形態においては、カメラ情報に基づいて、複数種類の画素ブロック形状の全てを用いて動き検出処理を行うべきか否か、言い換えれば、複数種類の画素ブロック形状のうち一部のみを用いて動き検出処理を行うべきか否かを、ステップS303乃至ステップS309において判定している。
なお、本実施形態においては、1フレームの画像データに対し、カメラ情報の読み込み及び「サブマクロブロックパーティション使用許可フラグ」の設定処理を1回行っているが、カメラ情報を読み込む間隔はこれに限られない。例えば、数フレームに1回の割合でカメラ情報を読み込むようにしても良い。
以上のようにして、符号化対象画像フレームに対する「サブマクロブロックパーティション使用許可フラグ」の設定が終了すると、ステップS310へ移行する。S310では16×16画素のマクロブロックによる動き検出処理を行う。
この動き検出処理では、予測符号化ブロックの参照が可能な参照フレーム全てに対して動き検出を行う。H.264の規格によれば、最大で5枚の参照フレームに対して動き検出を行う。そして、各参照フレームに対して整数画素精度の動き情報、半画素精度の動き情報、1/4画素精度の動き情報を算出し、最も相関の強いものを選択して各参照フレームの動き情報とする。全参照フレームについての動き情報の算出が完了すると参照フレーム毎の動き情報を評価し、最も相関の強いものを選択して予測符号化ブロックの動き情報MV1を求める。
同様にステップS311では16×8画素のマクロブロックパーティションによる動き検出処理を行い、動き情報MV2を求める。次にステップS312では8×16画素のマクロブロックパーティションによる動き検出処理を行い、動き情報MV3を求める。更にステップS313で8×8画素のマクロブロックパーティションによる動き検出処理を行い、動き情報MV4を求める。
続いてステップS314では「サブマクロブロックパーティション使用許可フラグ」の状態をみて許可状態(Hi)か、禁止状態(Lo)であるかの判定を行う。「サブマクロブロックパーティション使用許可フラグ」が許可状態(Hi)である場合は(ステップS314において「YES」)、ステップS315に移行して8×4画素のサブマクロブロックパーティションによる動き検出処理を行い、動き情報MV_S1を求める。続くステップS316では、4×8画素のサブマクロブロックパーティションによる動き検出処理を行い、動き情報MV_S2を求める。更に、ステップS317にて、4×4画素のサブマクロブロックパーティションによる動き検出処理を行い、動き情報MV_S3を求める。
一方「サブマクロブロックパーティション使用許可フラグ」が禁止状態(Lo)である場合には(ステップS314において「NO」)、ステップS315乃至ステップS317におけるサブマクロブロックパーティションによる動き検出処理をステップを行わず、ステップS318に移行する。
このように、本実施形態では、カメラ部100が、フォーカス非合焦状態、パン・チルト状態、被写体低輝度状態、ゲインアップ状態、及び、起動直後のいずれかの状態に該当する場合には、細かな形状であるサブマクロブロックパーティションによる動き検出処理を行っても正しい動き情報が得られないため、当該動き検出処理を行わないように制御することができる。
その後、ステップS318では、ステップS310乃至ステップS313の処理において求められた各マクロブロックパーティションによる動き情報MV1乃至MV4、及び、「サブマクロブロックパーティション使用許可フラグ」が許可状態(Hi)の場合に、ステップS315〜S317の処理において求められた各サブマクロブロックパーティションによる情報MV_S1乃至MV_S3を評価する。
ここでの評価は、動き情報MV1乃至MV4及びSMV1乃至SMV3を算出した時の参照フレームとの相関が強いマクロブロック、及び、サブマクロブロックのパーティションの種類を選ぶことになる。動き情報が適宜選択されたら、ステップS319で選択されたマクロブロックパーティションにおける動き情報に基づいて、全ての予測符号化ブロックの参照関係を管理する参照リストを作成する。これらの処理を対象フレーム全ての画素に施して1フレーム分の動き検出処理が終了する。
以上説明したように、本実施形態では、カメラ部100から得られた情報によって、カメラ部100が、フォーカス非合焦状態、パン・チルト状態、被写体低輝度状態、ゲインアップ状態、起動直後のいずれかの状態にあり、細かなサブマクロブロックパーティションによる動き検出処理を行っても正しい動き情報が得られない場合に、不要な動き検出処理を抑制することができる。従って、動き検出における処理の負荷を低減することが可能となる。
なお、本実施形態において、図1ではカメラ情報が、カメラ部100からの画像データとは別個に、動き検出部1014へ直接入力される構成になっている。これに対し、図4に示すように、多重化部401と多重分離部402とをカメラ部100の出力側に配置して、カメラ部100から出力されるカメラ情報を画像データの付加データとすることで多重化部401において多重化し、その後、多重分離部402において、カメラ情報を画像データから分離する構成としても良い。
更に、本実施形態に対応する画像処理装置では、画像データとそれに対応するカメラ情報は必ずしも図1に示すようにカメラ部100から直接入力される必要はなく、符号化圧縮処理において画像データとカメラ情報とが利用可能で有ればよい。従って、図5に示すように、カメラ部100により撮影した画像データと、それに対応する付加データとしてのカメラ情報とを記録媒体501に記録し、記録媒体501から画像データとカメラ情報とを読み出して、符号化圧縮処理を行う構成としても良い。
また、本実施形態では、図3のステップS301乃至ステップS309で示したように、カメラ部100より得られたカメラ情報からサブマクロブロックパーティションの使用を許可するか、或いは、禁止するかを判定していた。しかし、これに限られることなく、例えば、当該許可/禁止の判定を予めカメラ部100の内部で行い、判定結果をカメラ情報の代わりにカメラ部100から得る構成としても良い。
また、本実施形態では、カメラ情報から細かな画素ブロック形状による動き検出処理を行っても正しい動き情報が得られないと予想される場合、3つの形状のサブマクロブロックパーティション全ての動き検出処理を行わないようにしたが、特に3つの形状でなくてもよいことは言うまでもない。例えば、一番小さな4×4画素のサブマクロブロックパーティションによる動き検出のみを行わないようにしてもよい。また、動き検出処理の抑制対象となるブロックはサブマクロブロックパーティションに限られるものではなく、マクロブロックパーティションについても動き検出処理を抑制し、一番大きな16×16画素のマクロブロックによる動き検出のみを行うようにしてもよい。
更に、正しい動き検出が行えない画素ブロック形状が特定できる情報であれば、使用するカメラ情報は前述したものに限らずとも良いのであり、例えば撮像素子のシャッター速度情報等を用いても良い。
[第2の実施形態]
以下、本発明の第2の実施形態について説明する。
第2の実施形態では、特に複数の画素ブロック形状に対応した動き検出を行う「動き検出部1014」をデジタル回路等のハードウェアにより実施した場合の消費電力低減に好適な本発明の実施形態について説明する。第2の実施形態におけるカメラ部をはじめとする全体の構成は、図1に示す第1の実施形態とほぼ一致するので詳細な説明は省略する。
本実施形態では、カメラ情報により複数の画素ブロック形状のうち、どの画素ブロック形状を用いて動き検出を行うかを決める「画素ブロック形状許可ビット」の設定を、画像処理装置内の不図示のCPUにより実施し、複数の画素ブロックによる動き検出、動きベクトルの評価はハードウェアにより実施する場合で説明する。
なお、CPUでの「画素ブロック形状許可ビット」の設定処理を図6のフローチャートに示し、それに対応して動作する動き検出部(図1における1014に相当)の詳細構成を示すハードウェアブロックを図7及び図8に示す。
まず、CPUでの「画素ブロック形状許可ビット」の設定処理を図6のフローチャートで説明する。図6において、ステップS601で画像フレームにおける最初の動き検出動作であるかどうかの判定をおこなう。もし、新しい画像フレームに対して最初に動き検出を行う場合(ステップS601において「YES」)には、ステップS602に移行し、最初の動き検出でない場合(ステップS601において「NO」)には、ステップS609に移行する。ステップS602では、フォーカス制御、防振制御、露出制御等のカメラ情報の読み込み処理を行う。
続いて、ステップS603では、ステップS602において読み込んだカメラ情報のうち、フォーカス制御に関する情報よりフォーカスが合焦状態か否かの判定を行う。ステップS604では防振制御に関する情報より、カメラ部100がパン・チルト状態か否かの判定を行う。ステップS605では露出制御に関する情報より、被写体が低輝度か否かの判定を行う。ステップS606では、露出制御に関する情報よりカメラ部100がゲインアップ中であるか否かの判定を行う。ステップS607では、カメラ部100の起動時間に関する情報よりカメラ部100が起動直後か否かの判定を行う。
尚、これらステップS603乃至ステップS607における各判定処理は、第1の実施形態における図3のステップS303乃至ステップS307と同様であるので、詳細な説明は省略する。
以上のステップS603乃至ステップS607における判定処理により、カメラ部100が、フォーカス非合焦状態、パン・チルト状態、被写体低輝度状態、ゲインアップ状態、又は、起動直後のいずれかの状態にあると判定された場合には、ステップS609の処理に移行し「画素ブロック形状許可ビット」をMSB"0001111"LSBとする。
ここで各ビットはそれぞれMSB側より4×4画素、4×8画素、8×4画素、8×8画素、8×16画素、16×8画素、16×16画素のサブマクロブロックパーティションやマクロブロックパーティションに対応する動き検出部の動作を許可するビットとなっており、ビットの値が"1"の場合は対応するマクロブロックパーティションによる動き検出部の動作を許可し、"0"の場合は禁止する。
一方、ステップS603乃至ステップS607の判定処理により、カメラ部100が、フォーカス非合焦状態、パン・チルト状態、被写体低輝度状態、ゲインアップ状態、又は、起動直後のいずれの状態でもないと判定された場合には、ステップS608の処理に移行し、「画素ブロック形状許可ビット」をMSB"1111111"LSBとする。そしてステップS610の処理では、以上により決定された「画素ブロック形状許可ビット」を動き検出部1014へ出力する。
このように、本実施形態においては、カメラ情報に基づいて、複数種類の画素ブロック形状のうち動き検出に用いるべき画素ブロック形状を、ステップS603乃至ステップS609において決定している。
次に、本実施形態に対応する動き検出部1014の構成について、図7を参照して説明する。図7は、複数の画素ブロック形状による動き検出と評価を行う動き検出部1014の詳細な構成の一例を示すブロックである。
図7において、700は複数の参照画像が記憶されている参照フレームメモリ(図1における1012に相当)、701は各動き検出部と参照フレームメモリとの間でデータのやりとりを行うデータバス、702は動きベクトルを求める対象マクロブロックの画像データが記憶されているマクロブロックメモリ、703は各動き検出部とマクロブロックメモリとの間でデータのやりとりを行うデータバスである。
704は、16×16画素のマクロブロックにより動き検出を行う動き検出部である。動き検出の動作は第1の実施形態と同様に最大で5枚の参照フレームに対して動き検出を行う。そして、各参照フレームに対して整数画素精度の動き情報、半画素精度の動き情報、1/4画素精度の動き情報を算出し、最も相関の強いものを選択して各参照フレームの動き情報とする。全参照フレームについての動き情報の算出が完了すると参照フレーム毎の動き情報を評価し、最も相関の強いものを選択して、予測符号化ブロックの動き情報MV1と参照フレーム情報とを出力する。
705は、16×8画素のマクロブロックパーティションによる動き検出を行う動き検出部であり、同様に動き情報MV2と参照フレーム情報を出力する。706は、8×16画素のマクロブロックパーティションによる動き検出を行う動き検出部であり、同様に動き情報MV3と参照フレーム情報とを出力する。707は、8×8画素のマクロブロックパーティションによる動き検出を行う動き検出部であり、同様に動き情報MV4と参照フレーム情報を出力する。708は、8×4画素のサブマクロブロックパーティションによる動き検出を行う動き検出部であり、同様に動き情報MV_S1と参照フレーム情報を出力する。709は、4×8画素のサブマクロブロックパーティションによる動き検出を行う動き検出部であり、同様に動き情報MV_S2と参照フレーム情報を出力する。710は、4×4画素のサブマクロブロックパーティションによる動き検出を行う動き検出部であり、動き情報MV_S3と参照フレーム情報を出力する。
711は、704乃至710の各動き検出部を動作させる為のクロックを分配するクロック分配器である。712は、動きベクトルの評価を行う動きベクトル評価部で、動き情報MV1〜MV4、SMV1〜SMV3を算出した時の参照フレームとの相関が強いマクロブロック及びサブマクロブロックのパーティションの種類を選択する。
動きベクトル評価部712において動き情報が適宜選択されると、選択されたマクロブロックパーティションにおける動き情報に基づいて、全ての予測符号化ブロックの参照関係を管理する参照リスト情報も出力される。これらの処理を対象フレーム全ての画素に施して、1フレーム分の動き検出処理が終了する。
ここで、クロック分配器711と動きベクトル評価部712には、図6のフローチャートに基づく処理で求められた「画素ブロック形状許可ビット」の値がそれぞれ入力される。
ここで、クロック分配器711の構成例を図8に示す。図8においてクロック入力は、SW1〜SW7で示すスイッチへ接続される。また、スイッチSW1〜SW7からの各出力は、それぞれ図7の704乃至710で示した複数の動き検出部へ出力される。スイッチSW1〜SW7は、対応する「マクロブロック形状許可ビット」が"1"の場合にオン状態となり、入力されたクロックを接続された動き検出部へ出力する。また、対応するマクロブロック形状許可ビットが"0"の場合にはスイッチがオフ状態となり入力されたクロックは動き検出部へ出力されない。
このように、動き検出部704乃至710は、複数種類の画素ブロック形状のそれぞれに対応する動き検出部であり、画素ブロック形状許可ビットに応じてクロックが入力された動き検出部のみが動作し、クロックが入力されない動き検出部は動作を停止する。また図7中、動きベクトル評価部712は入力された「画素ブロック形状許可ビット」の値が"1"である動き検出部からの動き情報と参照フレーム情報のみ用いて動き情報を評価する。
即ち、カメラ部100が、フォーカス非合焦状態、パン・チルト状態、被写体低輝度状態、ゲインアップ状態、又は起動直後のいずれかの状態にあると判定された場合には、CPUが「画素ブロック形状許可ビット」の値をMSB"0001111"LSBとして、動き検出部1014へ出力する。動き検出部は対応する「画素ブロック形状許可ビット」が"1"である動き検出部のみ動作し、その他の動き検出部は動作を停止する。この場合は、図7における、4×4画素動き検出部710、4×8画素動き検出部709及び8×4画素動き検出部708にはクロックが入力されない為動作が停止し、不要な電力消費を低減することが可能となる。
また、カメラ部100が、フォーカス合焦状態、パン・チルト状態、被写体低輝度状態、ゲインアップ状態又は起動直後のいずれの状態でもないと判定された場合には、CPUが「画素ブロック形状許可ビット」の値をMSB"1111111"LSBとして、動き検出部1014へ出力する。この場合は、全ての動き検出部704乃至710へクロックが供給される為、全ての動き検出部が動作する。
以上説明したように、カメラ部100から得られたカメラ情報によって、カメラ部100がフォーカス非合焦状態、パン・チルト状態、被写体低輝度状態、ゲインアップ状態、又は、起動直後のいずれかの状態にあり、細かな画素ブロックによる動き検出処理を行っても正しい動き情報が得られないと予測される場合、不要な当該動き検出処理を抑制して、電力消費を低減することが可能となる。
また、本実施形態では、図6のステップS601乃至ステップS610で示したように、取得されたカメラ情報から画像処理装置内のCPU(不図示)が「画素ブロック形状許可ビット」を設定していたが、図9に示すように、カメラ部100のカメラCPU109を画像ブロック形状許可ビット設定処理部901として機能させることにより、カメラ部100において画素ブロック形状許可ビットの設定を予め行い、「画素ブロック形状許可ビット」の値のみを動き検出部1014に入力する構成にしても良い。
また、本実施形態では、動き検出部1014の動作を停止させる手段としてクロックを供給しない例を説明した。しかし、本実施形態に対応する本発明の目的は、不要な動き検出部の動作を停止し、電力消費を低減させることにあり、その実現手段がクロック供給を制御する構成のみに限定されることはない。例えば、動き検出部1014へ供給する電源をカットする構成にしても良い。また、各動き検出部へクロックの供給は継続しても、実質的に動き検出部の内部動作を停止する構成にしても電力消費は低減できる。例えば、デジタル回路で広く用いられるフリップフロップ回路のイネーブル信号等を用いても動作を停止する構成にしても良い。
[第3の実施形態]
以下、本発明の第3の実施形態について説明する。
第3実施形態におけるカメラ部をはじめとする全体の構成は、図1に示す第1の実施形態と概略一致するので詳細な説明は省略する。本実施形態では、動き検出に用いる画素ブロック形状の種類をカメラ情報よって変更する際に、所定のカメラ情報のレベルに応じて、動き検出に用いない「一部の画素ブロック形状」の種類を随時変化させる点に特徴を有する。
ここで、カメラ情報には第1の実施形態で示したようにフォーカス制御、防振制御、露出制御など様々な情報があるが、本実施形態では説明を簡単化するために、防振制御に関する情報のみを用いた場合を説明する。
本実施形態に対応する動き検出処理について、図10のフローチャートを参照して以下に説明する。動き検出処理が開始されると、ステップS1001において、符号化対象フレームにおける最初の動き検出動作であるかどうかの判定をおこなう。もし、最初の動き検出動作でないと判定された場合には(ステップS1001において「NO」)、ステップS1003に移行する。一方、新しい画像フレームに対する最初の動き検出動作であると判定された場合には(ステップS1001において「YES」)、ステップS1002に移行して、防振制御に関する情報の読み込み処理を行う。
次に、ステップS1003では、16×16画素のマクロブロックによる動き検出処理を行う。動き検出処理では、予測符号化ブロックの参照が可能な参照フレーム全てに対して動き検出を行う。H.264の規格によれば、最大で5枚の参照フレームに対して動き検出を行う。そして、各参照フレームに対して整数画素精度の動き情報、半画素精度の動き情報、1/4画素精度の動き情報を算出し、最も相関の強いものを選択して各参照フレームの動き情報とする。全参照フレームについての動き情報の算出が完了すると参照フレーム毎の動き情報を評価し、最も相関の強いものを選択して予測符号化ブロックの動き情報MV1を求める。
次に、ステップS1004では、ステップS1002において読み込んだ防振制御に関する情報より、カメラ部100がパン・チルト状態であるか否かの判定を行う。この判定には、カメラ部100の「手ぶれ量」を所定の判定閾値TH3と比較することにより行う。なお「手ぶれ量」としては第1の実施形態で説明したように、図2のカメラ部100に一般的に設けられるジャイロセンサー(不図示)の出力を用いることができる。即ち、撮影者の手ぶれによる、周期的な上下方向や左右方向の回転成分の大きさや周期等を用いるとよい。
ここで、もし「手ぶれ量」が非常に大きく、ステップS1004において「手ぶれ量」がTH3より大きいと判定された場合には(ステップS1004において「YES」)、ステップS1014へ移行して、他の画素ブロック形状を利用した動き検出処理は行わない。一方、「手ぶれ量」がTH3より大きくないと判定された場合には(ステップS1004において「NO」)、ステップS1005へ移行する。なお、図10における「手ぶれ量」と比較される各判定閾値TH1、TH2及びTH3の大きさの関係は、以下に示す式1のようになる。
TH3 >> TH2 > TH1 (式1)
ステップS1005では、16×8画素のマクロブロックパーティションによる動き検出処理を行い、動き情報MV2を求める。次にステップS1006では8×16画素のマクロブロックパーティションによる動き検出処理を行い、動き情報MV3を求める。更に、ステップS1007では、「手ぶれ量」が所定の判定閾値TH2より大きいか否かの判定を行う。ここで、もし「手ぶれ量」が大きく「手ぶれ量」がTH2より大きいと判定された場合には(ステップS1007において「YES」)、ステップS1014へ移行し、他の画素ブロック形状を利用した動き検出処理は行わない。一方、「手ぶれ量」がTH2より大きくないと判定された場合には(ステップS1007において「NO」)、ステップS1008へ移行する。
ステップS1008では、8×8画素のマクロブロックパーティションによる動き検出処理を行い、動き情報MV4を求める。更に、ステップS1009では、「手ぶれ量」が所定の判定閾値TH1より大きいか否かの判定を行う。ここで、もし「手ぶれ量」がTH1より大きいと判定された場合には(ステップS1009において「YES」)、ステップS1014へ移行し、他の画素ブロック形状を利用した動き検出処理は行わない。一方、「手ぶれ量」がTH1より大きくないと判定された場合には(ステップS1009において「NO」)、ステップS1010へ移行する。
ステップS1010では、8×4画素のサブマクロブロックパーティションによる動き検出処理を行い、動き情報MV_S1を求める。次に、ステップS1011では4×8画素のサブマクロブロックパーティションによる動き検出処理を行い、動き情報MV_S2を求める。次に、ステップS1012では「手ぶれ量」が0であるか否かの判定を行う。もし、「手ぶれ量」が0でない場合には(ステップS1012において「NO」)、ステップS1014へ移行して、ステップS1013における4×4画素のサブマクロブロックパーティションによる動き検出処理を行わない。一方、「手ぶれ量」が0の場合には(ステップS1012において「YES」)、ステップS1013へ移行する。ステップS1013では、4×4画素のサブマクロブロックパーティションによる動き検出処理を行い、動き情報MV_S3を求める。
以上説明したように、本実施形態に対応する画像処理装置では、防振制御に関する「手ぶれ量」を所定の判定閾値TH1、TH2、TH3と比較して「手ぶれ量」のレベルを判定し、判定された「手ぶれ量」のレベルに応じて動き検出に用いる画素ブロック形状の種類を随時選択する。
即ち、本実施形態に対応する本発明では、「手ぶれ量」が下記の(式2)に示す関係の場合は16×16画素のマクロブロックのみによる動き検出処理を行う。
また、「手ぶれ量」が下記の(式3)に示す関係の場合は16×16画素、16×8画素、8×16画素のマクロブロックパーティションによる動き検出処理を行う。
更に、「手ぶれ量」が下記の(式4)に示す関係の場合は16×16画素、16×8画素、8×16画素、8×8画素のマクロブロックパーティションによる動き検出処理を行う。
そして、「手ぶれ量」が下記の(式5)に示す関係の場合は16×16画素、16×8画素、8×16画素、8×8画素のマクロブロックパーティションと、8×4画素、4×8画素のサブマクロブロックパーティションによる動き検出処理を行う。
最後に、「手ぶれ量」が下記の(式6)に示す関係の場合は全ての形状のマクロブロックパーティションとサブマクロブロックパーティションによる動き検出処理を行う。
「手ぶれ量」 > TH3 (式2)
TH3≧「手ぶれ量」 > TH2 (式3)
TH2≧「手ぶれ量」 > TH1 (式4)
TH1≧「手ぶれ量」 > 0 (式5)
「手ぶれ量」 = 0 (式6)
その後、ステップS1014の処理では、上記演算により求められた動き情報MV1〜MV4、MV_S1〜MV_S3を評価する。ここでの評価では、動き情報MV1〜MV4、SMV1〜SMV3を算出した時の参照フレームとの相関が強いマクロブロック及びサブマクロブロックのパーティションを選ぶことになる。
動き情報が適宜選択されると、ステップS1015で選択されたマクロブロックパーティションにおける動き情報に基づいて、全ての予測符号化ブロックの参照関係を管理する参照リストを作成する。これらの処理を対象フレーム全ての画素に施して1フレーム分の動き検出処理が終了する。
このように、本実施形態においては、カメラ情報の値が属する範囲を判定し、該カメラ情報の属する範囲に応じて、複数種類の画素ブロック形状のうち動き検出に用いるべき画素ブロック形状を、ステップS1003乃至ステップS1013において決定している。
以上説明したように、動き検出に用いる画素ブロック形状の種類をカメラ情報よって変更する際に、所定のカメラ情報の大きさやレベルに応じて、随時変更させることで、処理を行っても実際には正しい動き情報が得られないような不要な動き検出処理を抑制することができる。よって、動き検出における処理の負荷を低減することが可能となる。
また、本実施形態では「手ぶれ量」が式6に示す関係の場合に、全ての形状のマクロブロックパーティションとサブマクロブロックパーティションによる動き検出処理を行うようにしていたが、三脚で固定撮影したような状態と同等なことが判別できる情報がカメラ部から得られればその情報を用いるようにしてもよい。
また「手ぶれ量」が、式6に示した関係を所定の時間以上継続した場合、全ての形状のマクロブロックパーティションとサブマクロブロックパーティションによる動き検出処理を行うようにしても良い。
また本実施形態では、防振制御に関する情報のみを用いて説明したが、例えばカメラ部のアンプゲインのレベル、オートフォーカスの合焦レベルなどを用いて連続的に変化させてもよいし、それら複数のカメラ情報を演算し得られた値のレベルに応じて連続的に変化させるようにしても本実施形態の範疇に含まれることは言うまでもない。
[その他の実施形態]
また、本発明はカメラ部の信号処理や画像圧縮符号化処理等をハードウェアにより実施した場合でも、コンピュータを用いたソフトウェア処理にて実施した場合でも適用することができ、同様な効果を得ることが可能である。この場合、ソフトウェアのプログラムコード自体が前述した実施の形態の機能を実現することになり、そのプログラムコード自体、およびそのプログラムコードをコンピュータに供給するための手段、例えばかかるプログラムコードを格納した記憶媒体は本発明を構成する。かかるプログラムコードを記憶する記憶媒体としては、例えばフロッピー(登録商標)ディスク、ハードディスク、光ディスク、光磁気ディスク、CD−ROM、磁気テープ、不揮発性のメモリカード、ROM等を用いることができる。
また、コンピュータが供給されたプログラムコードを実行することにより、上述の実施の形態で説明機能が実現されるだけでなく、そのプログラムコードがコンピュータにおいて稼働しているOS(オペレーティングシステム)或いは他のアプリケーションソフト等の共同して上述の実施の形態で示した機能が実現される場合にもかかるプログラムコードは本発明の実施形態に含まれることは言うまでもない。
更に、供給されたプログラムコードがコンピュータの機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わるメモリに格納された後、そのプログラムコードの指示に基づいてその機能拡張ボードや機能拡張ユニットに備わるCPU等が実際の処理の一部または全部を行い、その処理によって上述した実施の形態の機能が実現される場合にも本発明に含まれる。
本発明の実施形態に対応する画像処理装置の構成の一例を示すブロック図である。 本発明の実施形態に対応するカメラ部100の構成の一例を示すブロック図である。 本発明の第1の実施形態に対応する動き検出処理の一例に対応するフローチャートである。 本発明の実施形態に対応する画像処理装置の他の構成例を示すブロック図である。 本発明の実施形態に対応する画像処理装置の更に他の構成例を示すブロック図である。 本発明の第2の実施形態に対応する動き検出処理一例に対応するフローチャートである。 本発明の第2の実施形態に対応する動き検出部1014の構成の一例を示すブロック図である。 本発明の第2の実施形態に対応するクロック分配器711の構成の一例を示すブロック図である。 本発明の第2の実施形態に対応する画像処理装置の他の構成例を示すブロック図である。 本発明の第3の実施形態に対応する動き検出処理の一例に対応するフローチャートである。 従来の画像処理装置の構成例を示すブロック図である。 複数の参照フレームから動き情報を検出する概念を説明するための図である。 予測符号化のマクロブロック、サブマクロブロックパーティションの分割パターンを示す図である。

Claims (12)

  1. 被写体を撮影する撮影手段において得られた動画像データと該撮影時における前記撮影手段のフォーカス制御に関する情報、防振及びパン・チルトに関する情報、露出制御に関する情報、前記撮影手段の起動開始から経過した時間情報のうち、いずれかを含む撮影時情報とを取得する取得手段と、
    前記動画像データについて複数種類の画素ブロック形状を用いて動き検出し、該動き検出の結果を用いて前記動画像データを符号化する符号化手段と、
    前記複数種類の画素ブロック形状の全てを用いて動き検出するべきか否かを、前記撮影時情報に基づいて判定する判定手段とを備え、
    前記判定手段により、前記複数種類の画素ブロック形状の全てを用いて動き検出するべきでないと判定された場合に、前記符号化手段は、前記複数種類の画素ブロック形状のうち一部を用いて前記動き検出を行うことを特徴とする画像処理装置。
  2. 前記判定手段は、前記撮影時情報に基づいて、前記複数種類の画素ブロック形状のうち前記動き検出に用いるべき画素ブロック形状を決定する第1の決定手段を備え、
    前記符号化手段は、前記判定手段により前記複数種類の画素ブロック形状の全てを用いて動き検出するべきでないと判定された場合に、前記第1の決定手段により決定された画素ブロック形状を用いて前記動き検出を行うことを特徴とする請求項1に記載の画像処理装置。
  3. 前記判定手段は、前記撮影時情報によって示される値が属する範囲を判定し、前記判定された範囲に応じて、前記複数種類の画素ブロック形状のうち前記動き検出に用いるべき画素ブロック形状を決定する第2の決定手段を備え、
    前記符号化手段は、前記判定手段により前記複数種類の画素ブロック形状の全てを用いて動き検出するべきでないと判定された場合に、前記第2の決定手段により決定された画素ブロック形状を用いて前記動き検出を行うことを特徴とする請求項1に記載の画像処理装置。
  4. 前記符号化手段は、前記複数種類の画素ブロック形状のそれぞれに対応する動き検出手段を備え、
    前記第1の決定手段又は第2の決定手段により決定された画素ブロック形状を用いて前記動き検出を行う場合に、前記決定された画素ブロック形状に対応する動き検出手段のみを動作させ、他の動き検出手段の動作を停止させることを特徴とする請求項2又は3に記載の画像処理装置。
  5. 前記判定手段により前記複数種類の画素ブロック形状の全てを用いて動き検出するべきでないと判定された場合に、前記符号化手段において前記動き検出のために用いられる画素ブロック形状には、前記複数種類の画素ブロック形状のうち少なくとも最小の画素ブロック形状は含まれないことを特徴とする請求項1乃至4のいずれか1項に記載の画像処理装置。
  6. 被写体を撮影する撮影部において得られた動画像データと、該撮影時における前記撮影部のフォーカス制御に関する情報、防振及びパン・チルトに関する情報、露出制御に関する情報、前記撮影の起動開始から経過した時間情報のうち、いずれかを含む撮影時情報とを取得する取得工程と、
    前記動画像データについて複数種類の画素ブロック形状を用いて動き検出し、該動き検出の結果を用いて前記動画像データを符号化する符号化工程と、
    前記複数種類の画素ブロック形状の全てを用いて動き検出するべきか否かを、前記撮影時情報に基づいて判定する判定工程とを備え、
    前記判定工程において、前記複数種類の画素ブロック形状の全てを用いて動き検出するべきでないと判定された場合に、前記符号化工程では、前記複数種類の画素ブロック形状のうち一部を用いて前記動き検出を行うことを特徴とする画像処理方法。
  7. 前記判定工程では、前記撮影時情報に基づいて、前記複数種類の画素ブロック形状のうち前記動き検出に用いるべき画素ブロック形状を決定する第1の決定工程を備え、
    前記符号化工程では、前記判定工程において前記複数種類の画素ブロック形状の全てを用いて動き検出するべきでないと判定された場合に、前記第1の決定工程において決定された画素ブロック形状を用いて前記動き検出を行うことを特徴とする請求項に記載の画像処理方法。
  8. 前記判定工程は、前記撮影時情報によって示される値が属する範囲を判定し、前記判定された範囲に応じて、前記複数種類の画素ブロック形状のうち前記動き検出に用いるべき画素ブロック形状を決定する第2の決定工程を備え、
    前記符号化工程では、前記判定工程において前記複数種類の画素ブロック形状の全てを用いて動き検出するべきでないと判定された場合に、前記第2の決定工程において決定された画素ブロック形状を用いて前記動き検出を行うことを特徴とする請求項に記載の画像処理方法。
  9. 前記符号化工程は、前記複数種類の画素ブロック形状のそれぞれに対応する動き検出工程を備え、
    前記第1の決定工程又は第2の決定工程において決定された画素ブロック形状を用いて前記動き検出を行う場合に、前記決定された画素ブロック形状に対応する動き検出工程のみを動作させ、他の動き検出工程を停止させることを特徴とする請求項又はに記載の画像処理方法。
  10. 前記判定工程において前記複数種類の画素ブロック形状の全てを用いて動き検出するべきでないと判定された場合に、前記符号化工程において前記動き検出のために用いられる画素ブロック形状には、前記複数種類の画素ブロック形状のうち少なくとも最小の画素ブロック形状は含まれないことを特徴とする請求項乃至のいずれか1項に記載の画像処理方法。
  11. 請求項乃至10のいずれか1項に記載の画像処理方法をコンピュータに実行させるためのコンピュータプログラム。
  12. 請求項11に記載のコンピュータプログラムを格納したコンピュータで読み取り可能な記憶媒体。
JP2005071737A 2005-03-14 2005-03-14 画像処理装置、方法、コンピュータプログラム及び記憶媒体 Expired - Fee Related JP4708819B2 (ja)

Priority Applications (4)

Application Number Priority Date Filing Date Title
JP2005071737A JP4708819B2 (ja) 2005-03-14 2005-03-14 画像処理装置、方法、コンピュータプログラム及び記憶媒体
US11/362,880 US7760953B2 (en) 2005-03-14 2006-02-28 Image processing apparatus and method, computer program, and storage medium with varied block shapes to execute motion detection
EP20060110889 EP1703739B1 (en) 2005-03-14 2006-03-09 Image processing apparatus and method, computer program, and storage medium for selecting pixel block shapes based on camera shooting information
CNB2006100678532A CN100518322C (zh) 2005-03-14 2006-03-14 图像处理装置和方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2005071737A JP4708819B2 (ja) 2005-03-14 2005-03-14 画像処理装置、方法、コンピュータプログラム及び記憶媒体

Publications (3)

Publication Number Publication Date
JP2006254370A JP2006254370A (ja) 2006-09-21
JP2006254370A5 JP2006254370A5 (ja) 2008-05-01
JP4708819B2 true JP4708819B2 (ja) 2011-06-22

Family

ID=36636174

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2005071737A Expired - Fee Related JP4708819B2 (ja) 2005-03-14 2005-03-14 画像処理装置、方法、コンピュータプログラム及び記憶媒体

Country Status (4)

Country Link
US (1) US7760953B2 (ja)
EP (1) EP1703739B1 (ja)
JP (1) JP4708819B2 (ja)
CN (1) CN100518322C (ja)

Families Citing this family (21)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008154024A (ja) * 2006-12-19 2008-07-03 Matsushita Electric Ind Co Ltd 撮像装置
US8233094B2 (en) * 2007-05-24 2012-07-31 Aptina Imaging Corporation Methods, systems and apparatuses for motion detection using auto-focus statistics
JP2009038509A (ja) 2007-07-31 2009-02-19 Sony Corp 動きベクトル検出装置及び動きベクトル検出方法
US8165209B2 (en) * 2007-09-24 2012-04-24 General Instrument Corporation Method and apparatus for providing a fast motion estimation process
WO2009093472A1 (ja) * 2008-01-24 2009-07-30 Panasonic Corporation 動画像圧縮装置
JP2009246935A (ja) * 2008-03-14 2009-10-22 Sanyo Electric Co Ltd 画像処理装置およびそれを搭載した撮像装置
US8488678B2 (en) 2008-04-01 2013-07-16 Canon Kabushiki Kaisha Moving image encoding apparatus and moving image encoding method
EP2277318B1 (fr) * 2008-04-15 2020-11-04 Orange Codage et decodage d'une image ou d'une sequence d'images decoupees selon des partitions de pixels de forme lineaire
JP5263763B2 (ja) * 2008-08-21 2013-08-14 株式会社ザクティ 電子カメラ
JP4623200B2 (ja) * 2008-10-27 2011-02-02 ソニー株式会社 画像処理装置、画像処理方法およびプログラム
US8964103B2 (en) * 2010-02-16 2015-02-24 Blackberry Limited Method and apparatus for reducing continuous autofocus power consumption
US8976856B2 (en) * 2010-09-30 2015-03-10 Apple Inc. Optimized deblocking filters
JP5943733B2 (ja) 2012-06-20 2016-07-05 キヤノン株式会社 画像符号化装置およびその制御方法ならびにプログラム
JP6740052B2 (ja) * 2016-08-02 2020-08-12 キヤノン株式会社 撮像装置およびその制御方法
EP3315901B1 (de) * 2016-10-27 2019-06-05 Pepperl & Fuchs GmbH Messvorrichtung und verfahren zur triangulationsmessung
US10999602B2 (en) 2016-12-23 2021-05-04 Apple Inc. Sphere projected motion estimation/compensation and mode decision
US11259046B2 (en) 2017-02-15 2022-02-22 Apple Inc. Processing of equirectangular object data to compensate for distortion by spherical projections
US10924747B2 (en) 2017-02-27 2021-02-16 Apple Inc. Video coding techniques for multi-view video
US11093752B2 (en) 2017-06-02 2021-08-17 Apple Inc. Object tracking in multi-view video
US20190005709A1 (en) * 2017-06-30 2019-01-03 Apple Inc. Techniques for Correction of Visual Artifacts in Multi-View Images
US10754242B2 (en) 2017-06-30 2020-08-25 Apple Inc. Adaptive resolution and projection format in multi-direction video

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0879764A (ja) * 1994-09-07 1996-03-22 Matsushita Electric Ind Co Ltd 動きベクトル検出装置
WO2004064398A1 (en) * 2003-01-10 2004-07-29 Thomson Licensing S.A. Fast mode decision making for interframe encoding
JP2004221744A (ja) * 2003-01-10 2004-08-05 Nippon Hoso Kyokai <Nhk> 動画像符号化装置、その方法及びそのプログラム、並びに、動画像復号装置、その方法及びそのプログラム

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5926209A (en) 1995-07-14 1999-07-20 Sensormatic Electronics Corporation Video camera apparatus with compression system responsive to video camera adjustment
JP3592025B2 (ja) 1997-03-11 2004-11-24 キヤノン株式会社 撮影画像記録装置
EP1138152B8 (en) * 1997-05-30 2007-02-14 MediaTek Inc. Method and apparatus for performing hierarchical motion estimation using nonlinear pyramid
JP2001145011A (ja) 1999-11-15 2001-05-25 Victor Co Of Japan Ltd 映像信号符号化装置
JP2002277736A (ja) * 2001-03-21 2002-09-25 Olympus Optical Co Ltd 撮像装置
JP3849461B2 (ja) * 2001-06-07 2006-11-22 ソニー株式会社 撮像装置及び撮像方法
JP3968712B2 (ja) 2003-04-28 2007-08-29 ソニー株式会社 動き予測補償装置及びその方法
KR20050045746A (ko) * 2003-11-12 2005-05-17 삼성전자주식회사 계층 구조의 가변 블록 크기를 이용한 움직임 추정 방법및 장치
US20060002474A1 (en) * 2004-06-26 2006-01-05 Oscar Chi-Lim Au Efficient multi-block motion estimation for video compression

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0879764A (ja) * 1994-09-07 1996-03-22 Matsushita Electric Ind Co Ltd 動きベクトル検出装置
WO2004064398A1 (en) * 2003-01-10 2004-07-29 Thomson Licensing S.A. Fast mode decision making for interframe encoding
JP2004221744A (ja) * 2003-01-10 2004-08-05 Nippon Hoso Kyokai <Nhk> 動画像符号化装置、その方法及びそのプログラム、並びに、動画像復号装置、その方法及びそのプログラム

Also Published As

Publication number Publication date
CN100518322C (zh) 2009-07-22
EP1703739B1 (en) 2013-05-29
EP1703739A1 (en) 2006-09-20
US7760953B2 (en) 2010-07-20
CN1835592A (zh) 2006-09-20
JP2006254370A (ja) 2006-09-21
US20060204043A1 (en) 2006-09-14

Similar Documents

Publication Publication Date Title
JP4708819B2 (ja) 画像処理装置、方法、コンピュータプログラム及び記憶媒体
US8780985B2 (en) Apparatus and method for prediction modes selection based on image direction information
JP5210091B2 (ja) 画像処理装置及びその制御方法、撮像装置、プログラム
WO2017060951A1 (ja) 画像圧縮装置、画像復号装置、および画像処理方法
JP3783238B2 (ja) 撮像システム、画像処理装置、符号化装置、符号化方法及びランダムノイズを除去する方法
US8503855B2 (en) Image processing apparatus, control method therefor, and program
JP2007082186A (ja) 撮像装置及びその制御方法及びプログラム及び記憶媒体
US8036281B2 (en) Image coding apparatus and image coding method
US8155185B2 (en) Image coding apparatus and method
US20050232503A1 (en) Encoding apparatus, encoding method, and storage medium
JP2007295370A (ja) 符号化装置および方法、並びにプログラム
US20100074597A1 (en) Image processing apparatus, image processing method, and program
JP2018050151A (ja) 画像符号化装置、画像符号化方法及びコンピュータプログラム
JP4585919B2 (ja) 画像符号化装置及び画像符号化方法
JP4795211B2 (ja) 画像符号化装置、画像符号化装置の制御方法、プログラム並びに記憶媒体
JPH09130748A (ja) 画像信号処理装置および記録/再生装置
JP4564856B2 (ja) 画像符号化装置及び撮像装置
JP2007214886A (ja) 画像処理装置
JP2005175974A (ja) 撮像装置
JP2004180345A (ja) 撮影画像記録装置
JP4574530B2 (ja) 画像符号化装置及び画像符号化方法
JP2009232004A (ja) 信号処理装置および信号処理方法、ならびに、撮像装置および撮像装置の制御方法
JP6016484B2 (ja) 符号化装置
JPH0865565A (ja) 撮像記録装置
JP2010226567A (ja) 動画像符号化装置

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20080311

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20080311

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20091201

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20100205

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20100405

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20100903

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20100928

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

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20110308

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20110317

LAPS Cancellation because of no payment of annual fees