JP2006033141A - 画像処理装置、画像処理方法、プログラムおよび記録媒体 - Google Patents
画像処理装置、画像処理方法、プログラムおよび記録媒体 Download PDFInfo
- Publication number
- JP2006033141A JP2006033141A JP2004205758A JP2004205758A JP2006033141A JP 2006033141 A JP2006033141 A JP 2006033141A JP 2004205758 A JP2004205758 A JP 2004205758A JP 2004205758 A JP2004205758 A JP 2004205758A JP 2006033141 A JP2006033141 A JP 2006033141A
- Authority
- JP
- Japan
- Prior art keywords
- image
- picture
- frame
- frame image
- motion vector
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Withdrawn
Links
Images
Landscapes
- Television Systems (AREA)
- Editing Of Facsimile Originals (AREA)
- Compression Or Coding Systems Of Tv Signals (AREA)
- Controls And Circuits For Display Device (AREA)
- Television Signal Processing For Recording (AREA)
Abstract
【課題】 動きベクトル情報を用いた所定の符号化方法により圧縮された複数の画像から一の静止画像を生成する際に、効率的な画像処理を実行する画像処理装置の提供を目的とする。
【解決手段】 画像間の動きのベクトル情報を用いた所定の符号化方法により圧縮された動画像データを、動画像を構成する複数の静止画像としてのフレーム画像に復号し、該復号されたフレーム画像から所定数のフレーム画像を抽出し、当該所定数のフレーム画像を合成して一の静止画像を生成する画像処理装置であって、前記フレーム画像の合成に先立って、該フレーム画像間のずれ量を補正するずれ量補正手段を備え、該ずれ量補正手段は、前記フレーム画像に対応する前記動きのベクトル情報を抽出し、該動きのベクトル情報を参照して前記ずれ量の補正を実行する画像処理装置とする。
【選択図】 図3
【解決手段】 画像間の動きのベクトル情報を用いた所定の符号化方法により圧縮された動画像データを、動画像を構成する複数の静止画像としてのフレーム画像に復号し、該復号されたフレーム画像から所定数のフレーム画像を抽出し、当該所定数のフレーム画像を合成して一の静止画像を生成する画像処理装置であって、前記フレーム画像の合成に先立って、該フレーム画像間のずれ量を補正するずれ量補正手段を備え、該ずれ量補正手段は、前記フレーム画像に対応する前記動きのベクトル情報を抽出し、該動きのベクトル情報を参照して前記ずれ量の補正を実行する画像処理装置とする。
【選択図】 図3
Description
本発明は、画像間の動きのベクトル情報を用いた所定の符号化方法により圧縮された動画像データから得られる複数の画像を用いて一の静止画像を生成する画像処理装置,画像処理方法、コンピュータプログラムおよび記録媒体に関する。
従来から、複数の画像を合成して一枚の高解像度の画像を生成する画像処理装置および画像処理方法がある。例えば、デジタルビデオカメラで撮影された動画像を構成する複数のフレーム画像から、一のフレーム画像(基準フレーム画像)を決定し、決定した基準フレーム画像よりも高解像度(高い画素密度)の静止画像を生成する技術が知られている。この技術では、基準フレーム画像と共に静止画像を生成する素材となる複数の対象フレーム画像を決定し、基準フレーム画像と対象フレーム画像との間のずれ量をそれぞれ算出する。このずれ量に基づいて、各フレーム画像を合成して静止画像を生成している(例えば、特許文献1参照)。こうした画像の合成処理方法は、単に一のフレーム画像を解像度変換する方法に比べ、画像を高画質、鮮明なものとすることができるとされている。
こうした画像の合成処理において素材となる動画像の多くは、例えばMPEG(Moving Picture Expert Group)等に代表される動きベクトルを用いた符号化方式で圧縮された動画像である。MPEG形式では、隣接フレーム間の相関性を有効に利用し、動き補償予測を用いて動き部分についても差分を小さくすることで、符号化情報量を低減し、動画像全体を圧縮している。
しかしながら、こうした画像の合成処理方法では、基準フレーム画像と対象フレーム画像との間のずれ量を検出するのに時間がかかるという問題があった。例えば、画像間のずれを画素単位の粗いレベルで検出するとしても、1画素ずつ位置をずらして画像間のマッチングを行なう必要がある。こうした画像間のずれの探索には膨大な量の演算が必要であり、ずれ量の演算処理に時間がかかっていた。特に、MPEG形式で圧縮された画像を合成する場合は、圧縮画像を復号してフレーム画像を生成し、その上でフレーム画像間のずれ量の検出を行なっていた。MPEG形式の符号化された画像にはフレーム間における「動き」の情報を備えているにもかかわらず、その情報を有効に活用するといった着想はなかった。
本発明は、こうした問題を踏まえ、動きベクトル情報を用いた所定の符号化方法により圧縮された複数の画像から一の高解像度の画像を生成する際に、効率的な画像処理を実行することを目的とする。
本発明の画像処理装置は、上記課題に鑑み、以下の手法を採った。すなわち、画像間の動きのベクトル情報を用いた所定の符号化方法により圧縮された動画像データを、動画像を構成する複数の静止画像としてのフレーム画像に復号し、該復号されたフレーム画像から所定数のフレーム画像を抽出し、当該所定数のフレーム画像を合成して一の静止画像を生成する画像処理装置であって、前記フレーム画像の合成に先立って、該フレーム画像間のずれ量を補正するずれ量補正手段を備え、該ずれ量補正手段は、前記フレーム画像に対応する前記動きのベクトル情報を抽出し、該記動きのベクトル情報を参照して前記ずれ量の補正を実行することを要旨としている。
また、本発明の画像処理方法は、画像間の動きのベクトル情報を用いた所定の符号化方法により圧縮された動画像データから得られる所定数のフレーム画像を合成して、一の静止画像を生成する画像処理方法であって、前記符号化された動画像データを、動画像を構成する複数の静止画像としてのフレーム画像に復号し、前記復号されたフレーム画像から所定数のフレーム画像を抽出し、前記フレーム画像に対応する前記動きのベクトル情報を抽出し、前記動きのベクトル情報を参照して、前記フレーム画像間のずれ量を補正し、前記補正したフレーム画像を用いて合成し、前記一の静止画像を生成することを要旨としている。
本発明の画像処理装置および画像処理方法によれば、静止画像の生成に用いる複数のフレーム画像間のずれ量の補正に、所定の符号化方法により圧縮された動画像データの動きのベクトル情報を利用する。動きのベクトル情報は、例えばMPEG等の符号化方法において用いられ、所定のフレーム画像間における対象部分の位置の変化を表わしている。この動きのベクトル情報を参照し、所定フレーム画像間のずれ量を予測する。つまり、圧縮された動画像データが予め有するフレーム画像間の動きの情報を抽出し、これを基にして、フレーム画像間のずれ量を求め、補正をする。したがって、ずれ量の補正、特にずれ量の検出に関する処理を効率的に行なうことができ、画像処理全体の高速化に効果を奏する。加えて、元々圧縮時に付加された情報を利用することができ、省リソース化を図ることができる。
上記の構成を有する画像処理装置のずれ量補正手段は、所定の探索方法を用いて前記抽出されたフレーム画像間のずれ量を検出し、該ずれ量の補正を実行する手段であり、前記動きのベクトル情報から求めた所定値を該探索における初期値として使用するものとしても良い。
かかる画像処理装置によれば、フレーム画像間のずれ量の検出には、所定の探索方法を用いる。探索によるずれ量の検出では、所定の初期値から探索を開始し、ずれの少なくなる方向へ探索を進め、最終的にたどり着いた値が要求するずれ量となる。こうした探索方法における初期値を、動きのベクトル情報を利用して設定する。動きのベクトル情報は、所定のフレーム画像間における動き、つまり、ずれに関する情報となる。したがって、無作為に予め設定した初期値から探索を開始する場合に比べ、探索回数を低減することができ、探索時間を短縮することができる。
上記の構成を有する画像処理装置のずれ量補正手段は、前記動きのベクトル情報から求めた所定値を前記フレーム画像間の並進方向のずれ量として設定し、該ずれ量の補正を実行するとしても良い。
かかる画像処置装置によれば、動きのベクトル情報から求めた所定値を、フレーム画像間の並進方向のずれ量としてフレーム画像の合成に用いる。したがって、フレーム画像間のずれ量の算出に費やす処理時間を大きく短縮することができる。
上記の構成を有する画像処理装置における所定の符号化方法による動画像データは、MPEG規格またはH.26x規格に準拠して符号化された動画像データであり、前記動きのベクトル情報は、前記動画像データの各種ピクチャを構成する複数のマクロブロック内に備えられた動きベクトルであるものとすることができる。
かかる画像処置装置によれば、動画像の圧縮方式として代表されるMPEG−1,MPEG−2,MPEG−4などのMPEG規格またはH.261,H.263,H.264などのH.26x規格に準拠して符号化された動画像データを取り込み、当該動画像データの復号の際に用いる動きのベクトル情報からフレーム画像間のずれ量を補正する。かかる動画像データは、各種ピクチャから構成され、その各種ピクチャは複数のマクロブロックから構成されている。このマクロブロック内の動きベクトルをずれ量の補正に用いる。こうした代表的な圧縮方式の規格に準拠した動画像データを取扱うことで、容易に動きベクトルを取り出すことができる。取り出した動きベクトルを利用することで、効率的な画像処理を実行することができる。
上記の構成を有する画像処理装置において、更に、前記抽出した所定数のフレーム画像のピクチャ種別を判別し、該判別結果に基づいて、前記ずれ量の検出において動きベクトルを利用できるか否かを判断する判断手段を備えるものとしても良い。
MPEG規格またはH.26x規格により符号化された動画像データは、I,P,Bピクチャの3種類から構成される。Pピクチャは、IピクチャまたはPピクチャから順方向予測を行なうことで生成され、Bピクチャは、時間的に前後するIピクチャまたはPピクチャからの双方向予測を行なうことで生成される。上記の画像処理装置によれば、抽出したフレーム画像のピクチャ種別を判定する。判定したピクチャ種別によって、どの種別のピクチャと係わり合いがあるかを認識し、動きベクトルを利用できるか否かを判断する。したがって、画像処理の早い段階で、動きベクトルを利用するか否かを判断でき、処理の高速化に効果を奏する。
上記の構成を有する画像処理装置のずれ量補正手段は、前記動きベクトルを利用できると判断した場合には、前記ずれ量の検出の対象となる前記フレーム画像を構成する複数のマクロブロックから、該ずれ量の検出の基準となる該フレーム画像と参照関係を有する有効マクロブロックを選出し、該有効マクロブロック内の動きベクトルの平均値、または最多頻度値を前記動きのベクトル情報から求めた所定値として設定する手段を備えるものとしても良い。
かかる画像処理装置によれば、ずれ量の検出の基準となるフレーム画像と、対象となるフレーム画像とのピクチャ種別が互いに係わり合いのある参照関係を有する組み合わせであり、動きベクトルを利用できると判断した場合には、有効マクロブロック内の平均値、最多頻度値を初期値として探索を実行する。ピクチャを構成するマクロブロックには、そのピクチャと参照関係のあるピクチャを基にした種々の動きベクトルを備えたものが併存する場合がある。こうしたマクロブロックの中から、ずれ量の検出を行なうピクチャ同士に関係する動きベクトルを備えた有効マクロブロックを抽出する。この有効マクロブロック内の値の平均値、最多頻度値などの代表値を用いることで、ずれ量の検出に利用する値として、容易に、かつ、妥当な値を設定することができる。
上記の構成を有する画像処理装置における前記所定数のフレーム画像の抽出に際し、前記合成における基準のフレーム画像の候補として選択された一のフレーム画像のピクチャ種別を判別し、該判別結果に基づいて、該選択された一のフレーム画像を当該基準のフレーム画像とするか否かを決定するフレーム決定手段を備えるものとしても良い。
かかる画像処理装置によれば、基準のフレーム画像の候補として選択され一のフレーム画像のピクチャ種別を判別し、その結果に応じて基準のフレーム画像を決定する。例えば、選択されたフレーム画像のピクチャ種別が他のピクチャとの参照関係の低いBピクチャである場合には、参照関係の高いI,Pピクチャを抽出し、その中から再度基準のフレーム画像の候補を選択させるものとすることもできる。多数のピクチャとの参照関係を有するピクチャを基準のフレーム画像として選択させることで、動きベクトルの利用可能性を高めることができる。
上記の構成を有する画像処理装置のフレーム決定手段は、前記選択された一のフレーム画像のピクチャ種別がIピクチャまたはBピクチャである場合には、時系列順に配置される当該ピクチャの近傍に位置するPピクチャのフレーム画像を抽出し、該抽出したフレーム画像を当該基準のフレーム画像として決定するものとしても良い。
かかる画像処理装置によれば、IピクチャまたはBピクチャを選択した場合には、他のピクチャとの参照関係の高いPピクチャを基準のフレーム画像として抽出し直す。つまり、常に基準のフレーム画像にはPピクチャを設定する。参照関係の高いPピクチャを基準のフレーム画像とすることで、動きベクトルを有効に活用することができる。
上記の構成を有する画像処理装置のフレーム決定手段は、前記選択された一のフレーム画像のピクチャ種別がIピクチャまたはPピクチャである場合には、当該フレーム画像を前記基準のフレーム画像として決定し、該選択された一のフレーム画像のピクチャ種別がBピクチャである場合には、時系列順に配置される当該Bピクチャの近傍に位置するIピクチャまたはPピクチャのフレーム画像を抽出し、該抽出したフレーム画像を該基準のフレーム画像として決定するものとしても良い。
かかる画像処理装置によれば、I,Pピクチャが選択された場合には、これを基準のフレーム画像とし、Bピクチャが選択された場合には、I,Pピクチャを抽出し、これを基準のフレーム画像とする。したがって、他のピクチャとの参照関係が比較的高い画像を基準のフレーム画像として決定することができる。
上記の構成を有する画像処理装置のフレーム決定手段は、前記基準のフレーム画像に対して前記ずれ量を検出する対象となるフレーム画像の決定に際し、該基準のフレーム画像に対する前記有効マクロブロック数の多いピクチャであるフレーム画像を優先的に選択し、該対象のフレーム画像として決定するものとしても良い。
かかる画像処理装置によれば、基準のフレーム画像として決定された一のフレーム画像のピクチャに対して参照関係を有する複数のピクチャのうちから、有効マクロブロック数が多いピクチャを対象のフレーム画像として選択する。対象のフレーム画像が複数枚必要である場合には、有効マクロブロック数の多い順に、ピクチャを選択する。こうすることで、有効マクロブロック内の動きベクトルを有効に利用することができる。
本発明は、コンピュータプログラムおよびコンピュータプログラムを記録した媒体としても実装することができる。記録媒体としては、フレキシブルディスク,CD−ROM,DVD−ROM/RAM,光磁気ディスク、メモリカード、ハードディスクなどコンピュータが読取り可能な種々の媒体を利用することができる。
以下、本発明の実施の形態について、実施例に基づき以下の順序で説明する。
A.第1実施例:
A1.画像処理装置の構成:
A2.画像処理の概要:
A3.動きベクトル:
A4.ずれ量探索初期値設定処理:
A4−1.第1の具体例:
A4−2.第2の具体例:
A5.ずれ量検出:
B.第2実施例:
B1.フレーム画像選択処理:
C.変形例:
A.第1実施例:
A1.画像処理装置の構成:
A2.画像処理の概要:
A3.動きベクトル:
A4.ずれ量探索初期値設定処理:
A4−1.第1の具体例:
A4−2.第2の具体例:
A5.ずれ量検出:
B.第2実施例:
B1.フレーム画像選択処理:
C.変形例:
A.第1実施例:
A1.画像処理装置の構成:
図1は、本発明の第1実施例としての画像処理システム100を示す説明図である。図示するように、この画像処理システム100は、動画像データを供給する画像データベース20、画像データベース20から入力した動画像データに対して画像処理を実行する画像処理装置としてのパーソナルコンピュータ30、画像処理の実行をユーザが指示するためのユーザインターフェース40、画像処理を施した画像を出力するカラープリンタ50等から構成されている。
A1.画像処理装置の構成:
図1は、本発明の第1実施例としての画像処理システム100を示す説明図である。図示するように、この画像処理システム100は、動画像データを供給する画像データベース20、画像データベース20から入力した動画像データに対して画像処理を実行する画像処理装置としてのパーソナルコンピュータ30、画像処理の実行をユーザが指示するためのユーザインターフェース40、画像処理を施した画像を出力するカラープリンタ50等から構成されている。
画像データベース20は、デジタルビデオカメラ21,DVD23,ハードディスク24などの動画像データを取り扱う機器を有している。画像データベース20で取り扱う動画像データは、所定の符号化方式により圧縮されたものである。本実施例で取り扱う動画像データは、デジタルビデオカメラ21で取得し、MPEG−2形式(以下、MPEG形式と呼ぶ)で圧縮された動画像データである。なお、画像データベース20で取り扱う動画像データの符号化方式は、MPEG−1,MPEG−4,H.261,H.263,H.264など種々の規格に準拠したものであっても良い。
ユーザインターフェース40は、ユーザが画像処理の実行操作を行なうためのキーボード41やマウス42、画像処理を実行する前の静止画像や合成処理後の静止画像を表示するディスプレイ43などを備えている。
パーソナルコンピュータ30は、画像処理を実行するCPU31、ROM32、RAM33、画像処理のソフトウェアをインストールするハードディスク34、画像データベース20、ユーザインターフェース40やカラープリンタ50などの外部機器とやり取りするためのI/F回路部35等を有し、それぞれ内部バスにより接続されている。
ハードディスク34には、所定のオペレーションシステムや、このオペレーションシステム上で動作する画像処理のアプリケーションプログラムがインストールされている。この画像処理のプログラムは、動画像を構成する複数枚のフレーム画像から所定数のフレーム画像を合成して一枚の高解像度の静止画像を生成するプログラムである。CPU31は、こうしたプログラムをRAM33に展開して実行する。
A2.画像処理の概要:
図2は、第1実施例の画像処理の構成を示す説明図である。また、図3は第1実施例としての画像処理のフローチャートである。画像データベース20からパーソナルコンピュータ30に入力されたMPEG形式の動画像データは、図2に示すように、符号化されたデータを復号するMPEGデコーダを介して、時系列の連続するフレーム画像に変換される。パーソナルコンピュータ30はユーザの再生操作に応じて、ディスプレイ43上に時系列の連続するフレーム画像からなる動画像を再生する。
図2は、第1実施例の画像処理の構成を示す説明図である。また、図3は第1実施例としての画像処理のフローチャートである。画像データベース20からパーソナルコンピュータ30に入力されたMPEG形式の動画像データは、図2に示すように、符号化されたデータを復号するMPEGデコーダを介して、時系列の連続するフレーム画像に変換される。パーソナルコンピュータ30はユーザの再生操作に応じて、ディスプレイ43上に時系列の連続するフレーム画像からなる動画像を再生する。
ユーザは、再生された動画像から静止画像として出力を所望する一シーンを所定の操作により選択し、そのシーン(フレーム画像)を指定する。ユーザがそのフレーム画像を高解像度の静止画像として出力する高解像度化処理の実行を指示すると、図3に示したフローチャートがパーソナルコンピュータ30にて実行される。
パーソナルコンピュータ30は、指定されたフレーム画像から時系列順に、画像処理に使用するフレーム画像を抽出する(ステップS310)。第1実施例では、フレーム画像の指定の操作タイミングから時系列的に連続する4枚のフレーム画像を抽出するものとした。以下、この4枚のフレーム画像の内、ユーザが指定したもの(つまり、時系列で最初のもの)を基準フレーム画像Frと呼び、それ以外の3枚を対象フレーム画像Ftと呼ぶ。なお、抽出するフレーム画像の数はユーザが任意に設定できるものとしても良い。また、選択した基準フレーム画像Frの前後から対象フレーム画像Ftを抽出するのもとしても良いし、所定間隔後(例えば、2枚後)のフレーム画像を抽出するように予め設定するものとしても良い。
ここで抽出した対象フレーム画像Ftの符号化、復号の際に利用した動きベクトルを抽出する(ステップS315)。MPEG形式の符号化方法では、動き補償予測と呼ばれる技術を用いてフレーム画像を生成することで動画像全体の情報量を減らし、圧縮効率を向上させている。この動き補償予測を用いるフレーム画像には、あるフレーム画像間の動きの情報を示す「動きベクトル」を備えている。つまり、このステップでは、抽出した対象フレーム画像Ftと他のフレーム画像との間での「動き」に関する情報を取得する。
続いて、抽出した動きベクトルを参照して、フレーム画像間のずれ量を求める前処理としての探索初期値設定処理を実行する(ステップS320)。ここでのずれ量とは、パン、チルトといったカメラワークや、手ブレ等によるフレーム画像間の並進方向および回転方向の位置のずれを意味している。以下、この並進方向のずれを並進ずれ量(u,v)と、回転方向のずれを回転ずれ量δと、それぞれ示す。このステップでは、抽出した対象フレーム画像Ftと基準フレーム画像Frとの並進ずれ量(u,v)の探索の初期値を設定する。第1実施例では、MPEG形式の動画像データをMPEGデコーダを介して復号する際に用いた動きベクトルを、並進ずれ量(u,v)の探索の初期値として利用している。なお、動きベクトル、探索初期値設定処理については、後に詳しく説明する。
動きベクトルを参照して設定した並進ずれ量探索の初期値を用いて、ずれ量(u,v,δ)を検出する(ステップS325)。具体的には、設定した初期値からパターンマッチ法による並進ずれ量探索を実行し、概略の並進ずれ量(u,v)を把握する。その後、勾配法を用いた処理により、ずれ量(u,v,δ)を検出している。なお、勾配法、パターンマッチ法を用いたずれ量検出の手法については後述する。
続いて、検出されたずれ量(u,v,δ)に基づいて、対象フレーム画像Ftの補正を行なう(ステップS330)。図4は、フレーム画像間における並進ずれと回転ずれとの補正を示す概念図である。図示するように、基準フレーム画像Frの画像中心を原点として(x1,y1)の直交座標を設定し、対象フレーム画像Ftの画像中心を原点として(x2,y2)の直交座標を設定する。図4は、両フレーム画像の内容がほぼ重なり合うように、基準フレーム画像Frに対して対象フレーム画像Ftを並進方向に(u,v)、回転方向にδだけ移動させた状態を示している。こうしたずれ量(u,v,δ)の補正を3枚の対象フレーム画像Ftに施し、基準フレーム画像Frに対して、ずれ補正済みの対象フレーム画像Ftを重ね合わせる。
重ね合わせた複数のフレーム画像の画素を用いた所定の補間方法により、一の高画素密度の静止画像を生成する(ステップS340)。補間方法には、バイ・リニア法,バイ・キュービック法,ニアレストネイバ法などの既存の方法を用いることができる。本実施例の画像処理では、バイ・リニア法を用いて補間処理を実行し、基準フレーム画像Frに対して1.5倍密に高解像度変換された静止画像を生成している。パーソナルコンピュータ30は、こうして合成された静止画像をディスプレイ43上の所定の位置に表示すると共に、この処理を終了する。ユーザは、好みに応じて、この静止画像をカラープリンタ50やハードディスク34などに出力する操作を行なう。こうした補間処理を用いた画像処理では、MPEG形式で圧縮された画像が有するブロック歪を低減し、鮮明な静止画像を生成することができる。
A3.動きベクトル:
動きベクトルは、上述のようにMPEG形式での動画像の符号化、復号を行なう際に用いられる。MPEG形式では、圧縮効率を高めるため、I,P,Bの3種類の画像タイプ(ピクチャ)が用意されている。Iピクチャは、予測を使わず元のデータをそのまま符号化したものであり、Pピクチャは、時系列に順方向の動き補償予測を用いたもので、Bピクチャは双方向の動き補償予測を用いたものである。
動きベクトルは、上述のようにMPEG形式での動画像の符号化、復号を行なう際に用いられる。MPEG形式では、圧縮効率を高めるため、I,P,Bの3種類の画像タイプ(ピクチャ)が用意されている。Iピクチャは、予測を使わず元のデータをそのまま符号化したものであり、Pピクチャは、時系列に順方向の動き補償予測を用いたもので、Bピクチャは双方向の動き補償予測を用いたものである。
図5は、MPEG形式のデータ構造を示す説明図である。本実施例でパーソナルコンピュータ30に入力される動画像データは、図示するように、時系列に連続する複数枚のピクチャである。これらのピクチャは、GOP(Group of Pictures)と呼ばれるグループ単位で取り扱われる。一のGOP内には、最低1枚のIピクチャを備えており、例えばランダムアクセスのエントリポイントとして利用される。GOP内のピクチャ数Nや、I,Pピクチャの周期Mには特に制限はないが、本実施例ではN=9,M=3であるものとする。
図5の中段に示すピクチャ間の矢印は、GOP内の一部のピクチャの動き補償予測の方向を示している。例えば、P4ピクチャは、I1ピクチャを基準とする順方向の動きベクトルを備えており、I1ピクチャと動きベクトルとを加味した動き補償予測を行なうことで復号される。また、B3ピクチャは、I1ピクチャを基準とする順方向と、P4ピクチャを基準とする逆方向と(つまり、双方向)の動きベクトルを備えている。つまり、図示する矢印が繋ぐピクチャ間には参照関係があり、矢印先のピクチャは、矢印元のピクチャに対する動きベクトルを備えた組み合わせとなる。この矢印の本数が多いピクチャ(P4ピクチャ)は、参照関係の高いピクチャとなる。こうした各種ピクチャは、帯状の領域からなるスライス層から構成され、スライス層は16×16画素のマクロブロックMB単位で構成されている。このマクロブロックMBには、輝度情報、色差情報などと共に動きベクトルが含まれている。このようにある種別のピクチャは、特定の種別のピクチャとの間において動きベクトルを備えている。
本実施例の画像処理におけるずれ量の検出において、この動きベクトルを直接利用可能であるか否かは、基準フレーム画像Frのピクチャ種別と対象フレーム画像Ftのピクチャ種別との組み合わせにより判断している。
A4.ずれ量探索初期値設定処理:
図6は、並進方向のずれ量の探索初期値設定処理のフローチャートである。この処理は、図3のステップS320の処理の際に実行される。処理が開始されると、パーソナルコンピュータ30は、図3のステップS310にて取得された基準フレーム画像Frと対象フレーム画像Ftとのピクチャ種別を認識する(ステップS600)。フレーム画像に対するピクチャ種別は、MPEG形式データのスライス層の上位階層であるピクチャ層のヘッダ部分を参照することで認識できる。
図6は、並進方向のずれ量の探索初期値設定処理のフローチャートである。この処理は、図3のステップS320の処理の際に実行される。処理が開始されると、パーソナルコンピュータ30は、図3のステップS310にて取得された基準フレーム画像Frと対象フレーム画像Ftとのピクチャ種別を認識する(ステップS600)。フレーム画像に対するピクチャ種別は、MPEG形式データのスライス層の上位階層であるピクチャ層のヘッダ部分を参照することで認識できる。
続いて、認識した基準フレーム画像Frと対象フレーム画像Ftとのピクチャ種別の組み合わせが、並進ずれ量(u,v)の検出に有効な動きベクトルを有する組み合わせか否かを判断する(ステップS610)。
図7は、並進ずれ量(u,v)の検出において動きベクトルが利用できる組み合わせを示した説明図である。図中の「基準」とは「基準フレーム画像Fr」を、「対象」とは「対象フレーム画像Ft」を、それぞれ意味している。また、図中の丸印は、基準フレーム画像Frと対象フレーム画像Ftとの組み合わせが、参照関係のあるピクチャ同士の組み合わせ(図5に示した矢印で繋ぐピクチャ同士の組み合わせ)に該当し、動きベクトルが利用できる組み合わせであることを示している。例えば、基準フレーム画像FrがI1ピクチャである場合には、対象フレーム画像FtがB2,B3,P4ピクチャであれば、B2,B3,P4ピクチャのマクロブロックMB内の動きベクトルを利用できる。
ステップS610にて、有効な組み合わせであると判断した場合には、対応するマクロブロックMB内の動きベクトル値を抽出し、その平均値を並進ずれ量探索の初期値として設定し、NEXTに抜けて、この処理を終了する(ステップS620)。
他方、ステップS610にて、有効な組み合わせでないと判断した場合には、ゼロを並進ずれ量探索の初期値として設定し、NEXTに抜けて、この処理を終了する(ステップS630)。具体的には、図7に示した×印の組み合わせとなる場合、例えば、基準フレーム画像がB2ピクチャ、対象フレーム画像がB3ピクチャの組み合わせである場合には、初期値をゼロとする。
A4−1.第1の具体例:
ステップS610で判断される有効な組み合わせの第1の具体例として、基準フレーム画像FrがI1ピクチャ、対象フレーム画像Ftの一つがP4ピクチャである場合について以下に説明する。
ステップS610で判断される有効な組み合わせの第1の具体例として、基準フレーム画像FrがI1ピクチャ、対象フレーム画像Ftの一つがP4ピクチャである場合について以下に説明する。
図8は、P4ピクチャ(対象フレーム画像Ft)の一部を示す模式図である。図示するように、P4ピクチャは複数のマクロブロックMBから構成されている。各マクロブロックMBには、便宜上、番号を付している。マクロブロックMB中に記した「MV」は動きベクトルを備えていることを示し、斜線は基準フレーム画像Fr(この場合、I1ピクチャ)に対する動きベクトルであることを示している。つまり、斜線で示したマクロブロックMB内の値を利用する。なお、図中の「Intra」は動きベクトルを備えていない(一般に、フレーム内予測とも呼ぶ)ことを示している。
図9は、P4ピクチャのマクロブロックMB内の動きベクトル値を示す説明図である。図中の「No.」はマクロブロックMBの番号を、「Intra」は図8と同様、フレーム内予測を、「双方」とはP4ピクチャよりも時系列で前後、双方向のピクチャに対する動きベクトルを有することを、それぞれ示している。また、図中の「前方」とは、P4ピクチャよりも時系列で前のピクチャに対する動きベクトルであることを、「後方」とは、P4ピクチャよりも時系列で後のピクチャに対する動きベクトルであることを、それぞれ示している。こうした様々なピクチャに対する動きベクトルのうち、基準フレーム画像Frに対する動きベクトルを備えたマクロブロックMBのことを、以下、有効マクロブロックと呼ぶ。つまり、有効マクロブロックは、基準フレーム画像Frに対して参照関係のある動きベクトルを備えたマクロブロックである。
図9に示すように、対象フレーム画像FtであるP4ピクチャは、1〜16番までのマクロブロックMBのうち、6番と11番とのマクロブロックMBを除く他の全てのマクロブロックMBが有効マクロブロックである。したがって、14個の有効マクロブロック内の値を抽出し、その平均値(半画素単位で丸める)を算出すると、(3,−2)となる。
この平均値(3,−2)は、図10に示すように、基準フレーム画像FrであるI1ピクチャに対して、対象フレーム画像FtであるP4ピクチャは、略(3,−2)の並進ずれを生じていることを意味している。ここで算出した平均値を、前述の並進ずれ量探索の初期値として与え、探索を実行する。
有効マクロブロックの平均値、つまり、基準フレーム画像Frに対応する動きの情報から求めた値を初期値として与えるため、無関係な位置からの探索に比べ、探索回数を低減することができ、探索に費やす演算量、処理時間を低減することができる。すなわち、MPEG形式の符号化による動きベクトルという既存の情報を有効活用することで、画像処理の高速化、省リソース化を実現することがきる。なお、初期値には平均値に代えて、有効マクロブロックの値のうち、頻度が最多である値を用いるものとしても良い。
また、基準フレーム画像FrがP4ピクチャ、対象フレーム画像Ftの一つがI1ピクチャである場合についても、同様に処理することができる。この場合、I1ピクチャ自体は動きベクトルを持たないが、P4ピクチャの有効マクロブロックを利用するものとすれば良い。つまり、P4ピクチャの有効マクロブロック内の動きベクトル値の符号を反転して、I1ピクチャが仮想的に有する有効マクロブロックと捉えると、その平均値は(−3,2)となる。P4ピクチャを基準にして、I1ピクチャは(−3,2)の並進ずれ量を有することとなる。
A4−2.第2の具体例:
有効な組み合わせの第2の具体例として、基準フレーム画像FrがP4ピクチャ、対象フレーム画像FtがB2ピクチャである場合について以下に説明する。
有効な組み合わせの第2の具体例として、基準フレーム画像FrがP4ピクチャ、対象フレーム画像FtがB2ピクチャである場合について以下に説明する。
図11は、B2ピクチャの一部を示す模式図である。対象フレーム画像FtがB2ピクチャである場合も、図8に示したP4ピクチャの場合と基本的には同様である。図示するように、B2ピクチャは、1個の「Intra」マクロブロックMBと15個の「MV」マクロブロックMBとからなる。15個の「MV」マクロブロックMBがそれぞれ有する動きベクトルは、I1ピクチャのみを基準としたもの、P4ピクチャのみを基準としたもの、その両方の3つのタイプに分類される。
図12は、B2ピクチャのマクロブロックMB内の動きベクトル値を示す説明図である。図示するように、1,15,16番の3個のマクロブロックMBはP4ピクチャとの間の動きベクトルのみを備え、6,7,8,10番の4個のマクロブロックMBはI1ピクチャからの動きベクトル値と、P4ピクチャからの動きベクトル値との双方向からの値を有している。その他の動きベクトルを有するマクロブロックMBは、I1ピクチャとの間の動きベクトルは備えているものの、P4ピクチャに関する動きベクトルを備えていないため、ここでは有効マクロブロック(図11の斜線部分)とはならない。
図12に示す動きベクトル値のうち、7個の有効マクロブロック内の値を抽出し、その平均値(半画素単位で丸める)を算出すると、(−2,1.5)となる。この平均値(−2,1.5)は、基準フレーム画像FrであるP4ピクチャに対して、対象フレーム画像FtであるB2ピクチャは、略(−2,1.5)の並進ずれを生じていることを意味している。ここで算出した平均値を、並進ずれ量探索における初期値として与え、より詳細に並進ずれ量探索を実行する。こうすることで、探索に費やす処理時間を短縮することができる。
なお、上述の第1の具体例で説明したのと同様に、平均値に代えて頻度が最多である値を用いるものとしても良い。また、基準フレーム画像FrがB2ピクチャ、対象フレーム画像がP4である場合には、符号を反転して用いるものとすれば良い。
第1、第2の具体例では、有効マクロブロック内の値の平均値や最多頻度値を代表値として用いるものとしたが、代表値の設定はこれに限るものではない。例えば、有効マクロブロック内の値を検出した結果、ばらつきがある場合には、その分布を調べるなどの統計的手法により代表値を設定するものとしても良いし、ばらつきが大きいと判断した場合には代表値をゼロとしても良い。さらに、ピクチャの中央付近に重み付けをして代表値を設定するものとしても良い。
A5.ずれ量の検出:
ここで、本実施例の画像処理にて実行するフレーム画像間のずれ量の検出方法について説明する。本実施例では、フレーム画像間のずれ量を求めるのに、フレーム画像間の各画素の輝度を用いて1画素よりも細かい単位で画素の位置を推定する勾配法を用いている。図13は、この勾配法による並進ずれ量(u,v)の算出方法を示す説明図である。図13(a)には、各画像上の画素の輝度を示し、図13(b)には、勾配法の原理を示した。ここで、(x1i,y1i)は、基準フレーム画像Fr上の一の画素の座標を示し、Z1(x1i,y1i)は、その画素の輝度を表している。なお、ここでは、対象フレーム画像Ft上の座標(x2i,y2i)の画素が、基準フレーム画像Fr上の座標(x1i〜x1i+1,y1i〜y1i+1)の間にあるものとし、その座標を(x1i+Δx,y1i+Δy)とする。
ここで、本実施例の画像処理にて実行するフレーム画像間のずれ量の検出方法について説明する。本実施例では、フレーム画像間のずれ量を求めるのに、フレーム画像間の各画素の輝度を用いて1画素よりも細かい単位で画素の位置を推定する勾配法を用いている。図13は、この勾配法による並進ずれ量(u,v)の算出方法を示す説明図である。図13(a)には、各画像上の画素の輝度を示し、図13(b)には、勾配法の原理を示した。ここで、(x1i,y1i)は、基準フレーム画像Fr上の一の画素の座標を示し、Z1(x1i,y1i)は、その画素の輝度を表している。なお、ここでは、対象フレーム画像Ft上の座標(x2i,y2i)の画素が、基準フレーム画像Fr上の座標(x1i〜x1i+1,y1i〜y1i+1)の間にあるものとし、その座標を(x1i+Δx,y1i+Δy)とする。
図13(b)に示すように、対象フレーム画像Ftにおける座標(x2i,y2i)の画素が、基準フレーム画像Fr上の座標(x1i+Δx,y1i)にあるものとし、
Px=Z1(x1i+1,y1i)−Z1(x1i,y1i) ・・・(1)
とすると、
Px・Δx=Z2(x2i,y2i)−Z1(x1i,y1i) ・・・(2)
が成り立つ。この場合、Z1(x1i,y1i)およびZ2(x2i,y2i)を単にZ1,Z2と置くと、
{Px・Δx−(Z2−Z1)}2=0 ・・・(3)
を満たすΔxを求めれば、対象フレーム画像F2のx軸方向の並進ずれ量を求めることができる。実際には、各画素についてΔxを算出し、平均をとることとなる。
Px=Z1(x1i+1,y1i)−Z1(x1i,y1i) ・・・(1)
とすると、
Px・Δx=Z2(x2i,y2i)−Z1(x1i,y1i) ・・・(2)
が成り立つ。この場合、Z1(x1i,y1i)およびZ2(x2i,y2i)を単にZ1,Z2と置くと、
{Px・Δx−(Z2−Z1)}2=0 ・・・(3)
を満たすΔxを求めれば、対象フレーム画像F2のx軸方向の並進ずれ量を求めることができる。実際には、各画素についてΔxを算出し、平均をとることとなる。
同様にして、対象フレーム画像Ftにおける座標(x2i,y2i)の画素が、基準フレーム画像Fr上の座標(x1i,y1i+Δy)にあるものとし、
Py=Z1(x1i,y1i+1)−Z1(x1i,y1i) ・・・(4)
とすると、
Py・Δy=Z2(x2i,y2i)−Z1(x1i,y1i) ・・・(5)
が成り立つ。この場合、Z1(x1i,y1i)およびZ2(x2i,y2i)を単にZ1,Z2と置くと、
{Py・Δy−(Z2−Z1)}2=0 ・・・(6)
を満たすΔyを求めれば、対象フレーム画像Ftのy軸方向の並進ずれ量を求めることができる。実際には、各画素についてΔyを算出し、平均をとることとなる。
Py=Z1(x1i,y1i+1)−Z1(x1i,y1i) ・・・(4)
とすると、
Py・Δy=Z2(x2i,y2i)−Z1(x1i,y1i) ・・・(5)
が成り立つ。この場合、Z1(x1i,y1i)およびZ2(x2i,y2i)を単にZ1,Z2と置くと、
{Py・Δy−(Z2−Z1)}2=0 ・・・(6)
を満たすΔyを求めれば、対象フレーム画像Ftのy軸方向の並進ずれ量を求めることができる。実際には、各画素についてΔyを算出し、平均をとることとなる。
上記式(3)はx軸方向のみを、上記式(6)はy軸方向のみを考慮した場合であるため、これをx軸方向、y軸方向の両方向について拡張すると、
S2=Σ{Px・Δx+Py・Δy−(Z2−Z1)}2 ・・・(7)
を最小とするΔx,Δyを最小自乗法により求めれば良いこととなる。こうして求められたΔx,Δyが並進ずれ量u,vに相当する。
S2=Σ{Px・Δx+Py・Δy−(Z2−Z1)}2 ・・・(7)
を最小とするΔx,Δyを最小自乗法により求めれば良いこととなる。こうして求められたΔx,Δyが並進ずれ量u,vに相当する。
以上は、フレーム画像間において、単に並進ずれのみがある場合についての計算であるが、加えて、回転ずれ量δを考慮したずれ量の算出方法について説明する。図14は、画素の回転ずれ量を模式的に示す説明図である。図示するように、基準フレーム画像Frのある座標(x,y)の原点Oからの距離をr、x軸からの回転角度をθとすると、r、θは以下の一般式により求められる。
r=(x2+y2)1/2 ・・・(8)
θ=tan-1(x/y) ・・・(9)
r=(x2+y2)1/2 ・・・(8)
θ=tan-1(x/y) ・・・(9)
ここで、並進ずれが補正されているものとして、基準フレーム画像Frと対象フレーム画像Ftとの原点Oを合わせ、原点Oを中心に、対象フレーム画像Ftの座標(x1,y1)を角度δだけ回転させたときに、対象フレーム画像Ftの座標(x2,y2)と一致するものとする。この回転によるx軸方向の移動量Δxとy軸方向の移動量Δyは、以下の式により求められる。なお、回転ずれ量δは微小量であるとして、cosδ≒1、sinδ≒δの近似式を用いている。
Δx=x2−x1≒−r・δ・sinδ=−δ・y1 ・・・(10)
Δy=y2−y1≒r・δ・cosδ=δ・x1 ・・・(11)
Δx=x2−x1≒−r・δ・sinδ=−δ・y1 ・・・(10)
Δy=y2−y1≒r・δ・cosδ=δ・x1 ・・・(11)
そこで、上記式(7)における、Δx,Δyを、並進ずれ量u,vに回転ずれ量δを加味して表すと、以下の式となる。
Δx=u−δ・y1 ・・・(12)
Δy=v+δ・x1 ・・・(13)
これらを上記式(7)に代入すると、以下の一般式が得られる。
S2=Σ{Px・(u−δ・y)+Py・(v+δ・x)−(Z2−Z1)}2 ・・・(14)
Δx=u−δ・y1 ・・・(12)
Δy=v+δ・x1 ・・・(13)
これらを上記式(7)に代入すると、以下の一般式が得られる。
S2=Σ{Px・(u−δ・y)+Py・(v+δ・x)−(Z2−Z1)}2 ・・・(14)
すなわち、上記式(14)のS2を最小とするu,v,δを最小自乗法によって求めることにより、フレーム画像間の1画素未満のずれ量を精度良く検出することができる。
こうしたずれ量の検出に先立って、並進ずれ量(u,v)のみについて画素単位での大雑把なずれ量の検出を実行している。フレーム画像間の並進ずれ量(u,v)を大雑把に検出し、補正しておくことで、さらに精度の良いずれ量の検出値を得ることができる。こうした並進ずれ量(u,v)の検出手段として、パターンマッチ法を用いている。
図15は、パターンマッチ法により並進ずれ量(u,v)を検出する様子を示す模式図である。図15の上段に示すように、基準フレーム画像Frの各画素の輝度をZ1(x1i,y1i)、対象フレーム画像Ftにおける同じ位置の画素の輝度をZ2(x2i,y2i)と表わす。まず、基準フレーム画像Frの画素(x1i,y1i)を対象フレーム画像Ftの画素(x2i,y2i)に対応させる場合を基準(パターンマッチの初期値)とし、この基準と、基準フレーム画像Frの画素(x1i,y1i)を対象フレーム画像Ftの画素(x2i+1,y2i)、(x2i−1,y2i)、(x2i,y2i+1)、(x2i,y2i−1)に対応させる場合(4方向の場合)とにおいて、以下の値Lが最も小さくなる位置を求める。
L=|Z2i−Z1i| ・・・(15)
または、
L=(Z2i−Z1i)2 ・・・(16)
L=|Z2i−Z1i| ・・・(15)
または、
L=(Z2i−Z1i)2 ・・・(16)
例えば、初期値および4方向のそれぞれを比較し、対象フレーム画像Ftの画素(x2i−1,y2i)の値Lが最小となる場合には、基準フレーム画像Frの画素(x1i,y1i)を対象フレーム画像Ftの画素(x2i−1,y2i)に対応させる場合を基準とし、この基準と、その周囲4方向に該当する対象フレーム画像Ftの画素(x2i,y2i)、(x2i−2,y2i)、(x2i−1,y2i+1)、(x2i−1,y2i−1)に対応させる場合とにおいて、値Lが最も小さくなる位置を求める。このように、値Lが最小となる対象フレーム画像Ftの画素の探索を繰り返し行う。
例えば、対象フレーム画像Ftの画素(x2i−3,y2i−1)に対応する場合まで探索を繰り返した結果、周囲4方向に比較して、探索の基準の画素(x2i−3,y2i−1)の値Lが最小となるとき、探索をここで終了する。この探索終了時の(3,1)が対象フレーム画像Ftの並進ずれ量となる。
以上のパターンマッチ法による画素単位の並進ずれ量(u,v)の検出には、フレーム画像をある大きさのブロックに分割し、ブロック単位でのマッチングから概略の並進ずれを把握した上で画素単位のマッチングを行なう段階的な手法を用いるものとしても良いし、また、探索方向は、基準の画素の周囲8方向であっても良い。
こうした並進ずれ量探索では、初期値の設定が処理時間を左右する。つまり、1画素単位にずらして比較演算を行ない次に進む方向を決定するため、最終的に到達する値(最終値)に対して、最も遠い位置から探索を開始する場合と、最終値の近傍から探索を開始する場合とでは、探索回数が大きく異なる。本実施例では、処理演算時間に与える影響が大きい並進ずれ量探索の初期値に、上述の動きベクトルを利用する。こうすることで、探索回数を低減し、探索処理の時間を低減することがきる。
B.第2実施例:
第2実施例の画像処理では、図3に示した第1実施例の画像処理と同様、複数枚のフレーム画像から一の高解像度の静止画像を生成するが、第1実施例とは異なり、画像処理に有効なフレーム画像を選択する。つまり、図3のステップS310に示した基準フレーム画像,対象フレーム画像の取得処理に代えて、以下に説明するフレーム画像選択処理を実行する。なお、第2実施例の画像処理システムのハード構成については、第1実施例と同様であるため、符号を同一とし、説明を省略する。
第2実施例の画像処理では、図3に示した第1実施例の画像処理と同様、複数枚のフレーム画像から一の高解像度の静止画像を生成するが、第1実施例とは異なり、画像処理に有効なフレーム画像を選択する。つまり、図3のステップS310に示した基準フレーム画像,対象フレーム画像の取得処理に代えて、以下に説明するフレーム画像選択処理を実行する。なお、第2実施例の画像処理システムのハード構成については、第1実施例と同様であるため、符号を同一とし、説明を省略する。
B1.フレーム画像選択処理:
図16は、画像処理に有効な基準フレーム画像Frと対象フレーム画像Ftとを選択するフレーム画像選択処理のフローチャートである。この処理は、図3に示した処理と同様、ユーザが選択したフレーム画像について、高解像度化処理の実行を指示することでパーソナルコンピュータ30にて実行される。
図16は、画像処理に有効な基準フレーム画像Frと対象フレーム画像Ftとを選択するフレーム画像選択処理のフローチャートである。この処理は、図3に示した処理と同様、ユーザが選択したフレーム画像について、高解像度化処理の実行を指示することでパーソナルコンピュータ30にて実行される。
処理が開始されると、パーソナルコンピュータ30は、ユーザが選択したフレーム画像の画像タイプを判断する(ステップS800)。第1実施例では、ユーザが選択したフレーム画像を基本フレーム画像Frとして設定したが、ここではユーザが選択したものを選択フレーム画像Fsと設定する。パーソナルコンピュータ30は、選択フレーム画像Fsの画像タイプ、すなわち、I,P,Bピクチャのいずれに該当するかを判断している。画像タイプ(ピクチャ種別)は、ヘッダ部分から容易に読取ることができる。
ステップS800で、選択フレーム画像FsがI,Pピクチャのいずれかである場合には、そのまま選択フレーム画像Fsを基準フレーム画像Frとして設定する(ステップS810)。
他方、ステップS800で、選択フレーム画像FsがBピクチャである場合には、選択フレーム画像Fsの置き換え処理を実行する(ステップS815)。この処理は、ユーザが選択したフレーム画像(Bピクチャ)に対して最も時系列的に近いIピクチャまたはPピクチャを抽出し、選択フレーム画像Fsとして設定する処理である。こうして決定された選択フレーム画像Fsを基準フレーム画像Frとして設定する。
ここまでの処理では、ユーザが選択したフレーム画像に基づいて、常にIピクチャまたはPピクチャを基準フレーム画像Frとして設定する。図7に示した動きベクトルが利用できる組み合わせからも分かるように、Iピクチャ,Pピクチャは他のピクチャとの参照関係が高いピクチャである。こうした種別のピクチャを基準フレーム画像Frに用いることで、動きベクトルを有効に利用できる範囲を広げることができる。
ここでの処理では、Pピクチャに加え、Iピクチャも基準フレーム画像Frとなることがあるが、参照関係が最も高いPピクチャのみを常に基準フレーム画像Frとするものとしても良い。
なお、選択フレーム画像Fsの置き換え処理の際に、ユーザが選択したBピクチャの属するGOPの範囲内から、I,Pピクチャを抽出するように制限を設けることが好ましい。MPEG形式ではGOP単位でデータを取扱うため、GOP間をまたぐピクチャ同士には参照関係がないことがあり得るからである。
図16に戻り、パーソナルコンピュータ30は、対象フレーム画像Ftの候補となる候補フレーム画像Fkを抽出する(ステップS820)。具体的には、図7を参照して、設定された基準フレーム画像Frのピクチャ種別に対して有効な組み合わせに該当するピクチャを抽出している。例えば、ステップS810で設定された基準フレーム画像FrがI1ピクチャである場合には、B2,B3,P4ピクチャを候補フレーム画像Fkとして抽出し、基準フレーム画像FrがP4ピクチャである場合には、I1,B2,B3,B5,B6,P7ピクチャを候補フレーム画像Fkとして抽出する。
続いて、抽出した候補フレーム画像Fkについて、有効マクロブロック数nを算出する(ステップS830)。例えば、基準フレーム画像FrがI1ピクチャである場合には、候補フレーム画像FkであるB2,B3,P4ピクチャのそれぞれについて、I1ピクチャに対する動きベクトルを有する有効マクロブロック数nを求める。同様に、基準フレーム画像FrがP4ピクチャである場合には、候補フレーム画像FkであるI1,B2,B3,B5,B6,P7ピクチャのそれぞれについて、P4ピクチャに対する有効マクロブロック数nを求める。この場合、I1ピクチャ自体は動きベクトルを持っていないが、先に述べたように、P4ピクチャが有する有効マクロブロックより仮想的な有効マクロブロックを備えているとして、有効マクロブロック数nを算出する。
図17は、候補フレーム画像Fkと有効マクロブロック数nとの一例を示す説明図である。図17は、基準フレーク画像FrがP4ピクチャである場合の候補フレームが画像Fkを示している。例えば、フレーム画像が640×480画素のサイズである場合、1フレーム画像中に、16×16画素のマクロブロックが1200個存在する。図示するように、1200個のマクロブロックのうち、I1ピクチャであれば600個の有効マクロブロックが存在する。
こうして求めた有効マクロブロック数nを比較して、有効マクロブロック数nの多いものから優先順位を付ける(ステップS840)。図17の例では、上位から、I1,P7,B5,B3,B2,B6ピクチャの順序となる。
続いて、必要とする対象フレーム画像Ftの数に合わせて、高順位の候補フレーム画像Fkから順に、対象フレーム画像Ftとして設定する(ステップS850)。本実施例では対象フレーム画像Ftを3枚と設定しているため、図17の例では、I1,P7,B5ピクチャの3枚が対象フレーム画像Ftとして設定される。こうして動きベクトルを有効に利用できる基準フレーム画像Fr,対象フレーム画像Ftを設定し、NEXTに抜けて、一連の処理を終了する。基準フレーム画像Fr,対象フレーム画像Ftの設定の後は、図3に示したステップS320以降の処理を経て、高解像度の静止画像を生成する。
第2実施例の画像処理、特にフレーム画像選択処理によれば、画像処理の対象を、動きベクトルが有効に利用できる範囲から抽出する。したがって、並進ずれ量探索の有効な初期値を与え、計算量、計算時間の低減を確実に行なうことができる。
第2実施例では、基準フレーム画像Frの選定と、対象フレーム画像Ftの選定とを一つの処理としたが、それぞれ独立に実行するものとすることができる。例えば、基準フレーム画像Frをここに説明した処理により選定し、対象フレーム画像Ftは基準フレーム画像Frから時系列に連続する3枚としても良い。また、基準フレーク画像Frは、ユーザが選択したものとし、対象フレーム画像Ftをこの処理により選定するものとしても良い。
C.変形例:
本実施例では、図7に示した組み合わせから有効な組み合わせでないと判断した場合には、並進ずれ量探索の初期値としてゼロを設定したが、有効な組み合わせでない場合であっても、以下の手順により、動きベクトルを利用することができる。
本実施例では、図7に示した組み合わせから有効な組み合わせでないと判断した場合には、並進ずれ量探索の初期値としてゼロを設定したが、有効な組み合わせでない場合であっても、以下の手順により、動きベクトルを利用することができる。
例えば、基準フレーム画像FrがB2ピクチャで、対象フレーム画像FtがB3ピクチャである場合には、図7によれば有効な組み合わせとはならない。この場合、B2ピクチャとB3ピクチャとの生成の元となる共通のピクチャとしてI1ピクチャに着目する(図5参照)。
基準フレーム画像FrがI1ピクチャで、対象フレーム画像FtがB2ピクチャであると想定し、例えば有効マクロブロック内の動きベクトルの平均値(ub2,vb2)を求める。続いて、基準フレーム画像FrがI1ピクチャで、対象フレーム画像FtがB3ピクチャであると想定し、同様に有効マクロブロック内の動きベクトルの平均値(ub3,vb3)を求める。
こうして求めた動きベクトルの平均値の差分、つまり(ub3−ub2,vb3−vb2)を、基準フレーム画像FrがB2ピクチャで、対象フレーム画像FtがB3ピクチャである場合の並進ずれ量探索の初期値とすれば良い。
また、例えば、基準フレーム画像FrがB3ピクチャで、対象フレーム画像FtがB5ピクチャである場合には、共通のピクチャとしてP4ピクチャに着目する。基準フレーム画像FrがP4ピクチャで、対象フレーム画像FtがB3ピクチャであると想定し、例えば有効マクロブロック内の動きベクトルの平均値(ub4,vb4)を求める。続いて、基準フレーム画像FrがP4ピクチャで、対象フレーム画像FtがB5ピクチャであると想定し、同様に有効マクロブロック内の動きベクトルの平均値(ub5,vb5)を求める。
先の例と同様に、平均値の差分を求めるものとすれば良いが、B3ピクチャはP4ピクチャからの逆方向の動き補償予測を用いているため符号を反転して差分を求める。すなわち、(ub5+ub4,vb5+vb4)を、基準フレーム画像FrがB3ピクチャで、対象フレーム画像FtがB5ピクチャである場合の並進ずれ量探索の初期値とすれば良い。
図7に示した組み合わせにおいて、直接的には参照関係のある動きベクトルを備えていない組み合わせに該当するピクチャ同士を選択しても、選択したピクチャ同士に共通の参照関係のあるピクチャ選定し、それを用いることで、間接的にピクチャ間の動きベクトルを算出することができる。つまり、直接的に参照関係のない組み合わせでも、間接的に参照関係のある組み合わせであると判断することができ、間接的に有効マクロブロックを擬制して動きベクトルを算出できる。こうした手順を踏まえることで、MPEG形式の動画像データが持つ動きベクトルを有効に活用することができる。
本実施例では、MPEG形式の動画像データが持つ動きベクトルの平均値を並進ずれ量探索の初期値として利用するものとしたが、平均値を並進ずれ量(u,v)そのものとして、画像処理に用いるものとしても良い。動きベクトルの平均値による並進ずれ量(u,v)の精度が画像処理において許容できる範囲内であれば、その平均値を並進ずれ量(u,v)として用いることで、並進ずれに関する探索処理自体を省略することができ、処理時間を大幅に短縮することができる。
以上、本発明の実施の形態について説明したが、本発明はこうした実施の形態に何ら限定されるものではなく、本発明の趣旨を逸脱しない範囲内において様々な形態で実施し得ることはもちろんである。本実施例では、画像処理のプログラムをインストールしたパーソナルコンピュータを画像処理装置として説明したが、例えば、プリンタ,デジタルビデオカメラなど種々の機器に画像処理機能を備え、本発明の画像処理装置とするものであっても良い。
20...画像データベース
21...デジタルビデオカメラ
23...DVD
24...ハードディスク
30...パーソナルコンピュータ
31...CPU
32...ROM
33...RAM
34...ハードディスク
35...I/F回路部
40...ユーザインターフェース
41...キーボード
42...マウス
43...ディスプレイ
50...カラープリンタ
100...画像処理システム
21...デジタルビデオカメラ
23...DVD
24...ハードディスク
30...パーソナルコンピュータ
31...CPU
32...ROM
33...RAM
34...ハードディスク
35...I/F回路部
40...ユーザインターフェース
41...キーボード
42...マウス
43...ディスプレイ
50...カラープリンタ
100...画像処理システム
Claims (13)
- 画像間の動きのベクトル情報を用いた所定の符号化方法により圧縮された動画像データを、動画像を構成する複数の静止画像としてのフレーム画像に復号し、該復号されたフレーム画像から所定数のフレーム画像を抽出し、当該所定数のフレーム画像を合成して一の静止画像を生成する画像処理装置であって、
前記フレーム画像の合成に先立って、該フレーム画像間のずれ量を補正するずれ量補正手段を備え、
該ずれ量補正手段は、
前記フレーム画像に対応する前記動きのベクトル情報を抽出し、該動きのベクトル情報を参照して前記ずれ量の補正を実行する画像処理装置。 - 請求項1に記載の画像処理装置であって、
前記ずれ量補正手段は、所定の探索方法を用いて前記抽出されたフレーム画像間のずれ量を検出し、該ずれ量の補正を実行する手段であり、前記動きのベクトル情報から求めた所定値を該探索における初期値として使用する画像処理装置。 - 請求項1に記載の画像処理装置であって、
前記ずれ量補正手段は、前記動きのベクトル情報から求めた所定値を前記フレーム画像間の並進方向のずれ量として設定し、該ずれ量の補正を実行する画像処理装置。 - 請求項1ないし3のいずれかに記載の画像処理装置であって、
所定の符号化方法による動画像データは、ピクチャ構造を有する形式MPEG規格またはH.26x規格に準拠して符号化された動画像データであり、
前記動きのベクトル情報は、前記動画像データの各種ピクチャを構成する複数のマクロブロック内に備えられた動きベクトルである画像処理装置。 - 請求項4に記載の画像処理装置であって、更に、
前記抽出した所定数のフレーム画像のピクチャ種別を判別し、該判別結果に基づいて、前記ずれ量の検出において動きベクトルを利用できるか否かを判断する判断手段を備えた画像処理装置。 - 請求項5に記載の画像処理装置であって、
前記ずれ量補正手段は、前記動きベクトルを利用できると判断した場合には、前記ずれ量の検出の対象となる前記フレーム画像を構成する複数のマクロブロックから、該ずれ量の検出の基準となる該フレーム画像と参照関係を有する有効マクロブロックを選出し、該有効マクロブロック内の動きベクトルの平均値、または最多頻度値を前記動きのベクトル情報から求めた所定値として設定する手段を備えた画像処理装置。 - 請求項4ないし6のいずれかに記載の画像処理装置であって、
前記所定数のフレーム画像の抽出に際し、前記合成における基準のフレーム画像の候補として選択された一のフレーム画像のピクチャ種別を判別し、該判別結果に基づいて、該選択された一のフレーム画像を当該基準のフレーム画像とするか否かを決定するフレーム決定手段を備えた画像処理装置。 - 請求項7に記載の画像処理装置であって、
前記フレーム決定手段は、前記選択された一のフレーム画像のピクチャ種別がIピクチャまたはBピクチャである場合には、時系列順に配置される当該ピクチャの近傍に位置するPピクチャのフレーム画像を抽出し、該抽出したフレーム画像を当該基準のフレーム画像として決定する画像処理装置。 - 請求項7に記載の画像処理装置であって、
前記フレーム決定手段は、前記選択された一のフレーム画像のピクチャ種別がIピクチャまたはPピクチャである場合には、当該フレーム画像を前記基準のフレーム画像として決定し、該選択された一のフレーム画像のピクチャ種別がBピクチャである場合には、時系列順に配置される当該Bピクチャの近傍に位置するIピクチャまたはPピクチャのフレーム画像を抽出し、該抽出したフレーム画像を該基準のフレーム画像として決定する画像処理装置。 - 請求項7ないし9のいずれかに記載の画像処理装置であって、
前記フレーム決定手段は、前記基準のフレーム画像に対して前記ずれ量を検出する対象となるフレーム画像の決定に際し、該基準のフレーム画像に対する前記有効マクロブロック数の多いピクチャであるフレーム画像を優先的に選択し、該対象のフレーム画像として決定する画像処理装置。 - 画像間の動きのベクトル情報を用いた所定の符号化方法により圧縮された動画像データから得られる所定数のフレーム画像を合成して、一の静止画像を生成する画像処理方法であって、
前記符号化された動画像データを、動画像を構成する複数の静止画像としてのフレーム画像に復号し、
前記復号されたフレーム画像から所定数のフレーム画像を抽出し、
前記フレーム画像に対応する前記動きのベクトル情報を抽出し、
前記動きのベクトル情報を参照して、前記フレーム画像間のずれ量を補正し、
前記補正したフレーム画像を用いて合成し、前記一の静止画像を生成する
画像処理方法。 - 画像間の動きのベクトル情報を用いた所定の符号化方法により圧縮された動画像データから得られる所定数のフレーム画像を合成して、一の静止画像を生成する画像処理装置を制御するコンピュータプログラムであって、
前記符号化された動画像データを、動画像を構成する複数の静止画像としてのフレーム画像に復号する機能と、
前記復号されたフレーム画像から所定数のフレーム画像を抽出する機能と、
前記フレーム画像に対応する前記動きのベクトル情報を抽出する機能と、
前記動きのベクトル情報を参照して、前記フレーム画像間のずれ量を補正する機能と、
前記補正したフレーム画像を用いて合成し、前記一の静止画像を生成する機能と
をコンピュータに実現させるコンピュータプログラム。 - 請求項12に記載のコンピュータプログラムをコンピュータに読み取り可能に記録した記録媒体。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2004205758A JP2006033141A (ja) | 2004-07-13 | 2004-07-13 | 画像処理装置、画像処理方法、プログラムおよび記録媒体 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2004205758A JP2006033141A (ja) | 2004-07-13 | 2004-07-13 | 画像処理装置、画像処理方法、プログラムおよび記録媒体 |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2006033141A true JP2006033141A (ja) | 2006-02-02 |
Family
ID=35899003
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2004205758A Withdrawn JP2006033141A (ja) | 2004-07-13 | 2004-07-13 | 画像処理装置、画像処理方法、プログラムおよび記録媒体 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2006033141A (ja) |
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2008102904A1 (ja) * | 2007-02-19 | 2008-08-28 | Olympus Corporation | 動画像の動き情報を利用した画像処理装置及び画像処理方法 |
WO2009011442A1 (ja) * | 2007-07-19 | 2009-01-22 | Olympus Corporation | 画像処理方法、画像処理装置及びコンピュータ読取り可能な記録媒体 |
WO2009011443A1 (ja) * | 2007-07-19 | 2009-01-22 | Olympus Corporation | 画像処理方法、画像処理装置及びコンピュータ読み取り可能な記録媒体 |
JP2011514605A (ja) * | 2008-03-17 | 2011-05-06 | エーティーアイ・テクノロジーズ・ユーエルシー | 画像の超解像のための方法及び装置 |
US8078008B2 (en) | 2007-01-16 | 2011-12-13 | Seiko Epson Corporation | Device, method and program for processing image |
JP2013162357A (ja) * | 2012-02-06 | 2013-08-19 | Nikon Corp | 画像処理プログラム、画像処理装置、および撮像装置 |
JP2017163608A (ja) * | 2017-06-07 | 2017-09-14 | 株式会社ニコン | 画像処理プログラム、画像処理装置、および撮像装置 |
-
2004
- 2004-07-13 JP JP2004205758A patent/JP2006033141A/ja not_active Withdrawn
Cited By (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8078008B2 (en) | 2007-01-16 | 2011-12-13 | Seiko Epson Corporation | Device, method and program for processing image |
US8340465B2 (en) | 2007-01-16 | 2012-12-25 | Seiko Epson Corporation | Device, method and program for processing image |
WO2008102904A1 (ja) * | 2007-02-19 | 2008-08-28 | Olympus Corporation | 動画像の動き情報を利用した画像処理装置及び画像処理方法 |
WO2009011442A1 (ja) * | 2007-07-19 | 2009-01-22 | Olympus Corporation | 画像処理方法、画像処理装置及びコンピュータ読取り可能な記録媒体 |
WO2009011443A1 (ja) * | 2007-07-19 | 2009-01-22 | Olympus Corporation | 画像処理方法、画像処理装置及びコンピュータ読み取り可能な記録媒体 |
JP2009027443A (ja) * | 2007-07-19 | 2009-02-05 | Olympus Corp | 画像処理方法および画像処理装置 |
JP2009027446A (ja) * | 2007-07-19 | 2009-02-05 | Olympus Corp | 画像処理方法および画像処理装置 |
US8964843B2 (en) | 2007-07-19 | 2015-02-24 | Olympus Corporation | Image processing method, image processing apparatus and computer readable storage medium |
JP2011514605A (ja) * | 2008-03-17 | 2011-05-06 | エーティーアイ・テクノロジーズ・ユーエルシー | 画像の超解像のための方法及び装置 |
US8306121B2 (en) | 2008-03-17 | 2012-11-06 | Ati Technologies Ulc | Method and apparatus for super-resolution of images |
JP2013162357A (ja) * | 2012-02-06 | 2013-08-19 | Nikon Corp | 画像処理プログラム、画像処理装置、および撮像装置 |
JP2017163608A (ja) * | 2017-06-07 | 2017-09-14 | 株式会社ニコン | 画像処理プログラム、画像処理装置、および撮像装置 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US7672538B2 (en) | Generation of still image from a plurality of frame images | |
TWI451762B (zh) | 使用移動估計及補償的圖框速率轉換 | |
US7362379B2 (en) | Image processing apparatus and method, recording medium, and program | |
US20090110077A1 (en) | Image coding device, image coding method, and image coding integrated circuit | |
US8503531B2 (en) | Image processing apparatus and method, recording medium, and program | |
US8229233B2 (en) | Method and apparatus for estimating and compensating spatiotemporal motion of image | |
US8274602B2 (en) | Image processing apparatus and image processing method with redundant frame detection | |
JP2009147807A (ja) | 画像処理装置 | |
JP2009071689A (ja) | 画像処理装置、画像処理方法および撮像装置 | |
JP2009105533A (ja) | 画像処理装置、撮像装置、画像処理方法および撮像画像処理方法 | |
JP4155118B2 (ja) | 静止画合成装置、及び動画像からの静止画合成方法 | |
JP4626158B2 (ja) | 動きベクトル検出装置、および動きベクトル検出方法、並びにコンピュータ・プログラム | |
KR20090014371A (ko) | 움직임 검출 장치 | |
JP2006033141A (ja) | 画像処理装置、画像処理方法、プログラムおよび記録媒体 | |
WO2011074121A1 (ja) | 動きベクトル検出装置及び方法 | |
JP4944046B2 (ja) | 映像符号化方法,復号方法,符号化装置,復号装置,それらのプログラムおよびコンピュータ読み取り可能な記録媒体 | |
JP2010232710A (ja) | 画像処理装置および画像処理方法 | |
JP2006033142A (ja) | 動画像符号化装置、動画像符号化方法、プログラム、記録媒体、画像処理装置、および画像処理システム | |
JP2009130489A (ja) | 撮像装置、撮像記録方法、撮像画像記録再生装置および撮像画像記録再生方法 | |
JP2006033232A (ja) | 画像処理装置 | |
JP2009044361A (ja) | 画像処理装置および画像処理方法 | |
JP2009267726A (ja) | 動画像符号化装置、録画装置、動画像符号化方法、動画像符号化プログラム | |
JP2009272701A (ja) | 動きベクトル探索装置及びその制御方法 | |
JP2010021892A (ja) | 動きベクトル探索装置及びその制御方法、及び動画像撮像装置 | |
JP4420061B2 (ja) | 静止画合成装置、及び動画像からの静止画合成方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20070330 |
|
A761 | Written withdrawal of application |
Free format text: JAPANESE INTERMEDIATE CODE: A761 Effective date: 20071226 |