<第1実施形態の説明>
図1は、撮像装置、動画像圧縮装置、動画像復号装置の一例である第1実施形態の電子カメラの構成例を示す図である。なお、第1実施形態の電子カメラ100は動画撮影機能を有している。
電子カメラ100は、撮像光学系101と、撮像素子102と、信号処理部103と、画像処理エンジン104と、第1メモリ105および第2メモリ106と、記録I/F107と、モニタ108と、操作部109とを有している。ここで、信号処理部103、第1メモリ105、第2メモリ106、記録I/F107、モニタ108および操作部109は、それぞれ画像処理エンジン104と接続されている。なお、操作部109は、ユーザの操作(例えば動画撮影の指示や、モード切り替えの指示など)を受け付けるスイッチである。
撮像光学系101は、例えばズームレンズやフォーカスレンズを含む複数のレンズで構成されている。なお、簡単のため、図1では撮像光学系101を1枚のレンズで図示する。
撮像素子102は、撮像光学系101を通過した光束による被写体の結像を撮像(撮影)するデバイスである。なお、電子カメラ100の撮影モードの1つである動画撮影モードでは、撮像素子102は、不揮発性の記憶媒体(110)への記録を伴う動画像の撮影を実行する。撮像素子102の出力は、画像処理エンジン104に接続されている。上述の撮像素子102は、順次走査方式の固体撮像素子(例えばCCD)であってもよく、XYアドレス方式の固体撮像素子(例えばCMOS)であってもよい。
ここで、撮像素子102の受光面には、複数の受光素子(画素)がマトリクス状に配列されている。そして、撮像素子102の画素には、それぞれが異なる色成分の光を透過させる複数種類のカラーフィルタが所定の色配列に従って配置される。そのため、撮像素子102の各画素は、カラーフィルタでの色分解によって各色成分に対応する電気信号を出力する。例えば、第1実施形態では、赤色(R)、緑色(G)、青色(B)のカラーフィルタが公知のベイヤ配列にしたがって受光面に周期的に配置されている。これにより、撮像素子102は、撮影時にカラーの画像を取得することができる。
信号処理部103は、撮像素子102から入力される画像信号に対して、アナログ信号処理(相関二重サンプリング、黒レベル補正など)と、A/D変換処理と、デジタル信号処理(欠陥画素補正など)とを順次施す。信号処理部103から出力される画像(RAW画像)のデータは、画像処理エンジン104に入力される。
画像処理エンジン104は、電子カメラ100の動作を統括的に制御するプロセッサである。例えば、画像処理エンジン104は、撮像素子102から入力される画像信号を用いて、オートフォーカス(AF)、自動露出(AE)の制御を行う。
また、画像処理エンジン104は、画像処理部111と、圧縮処理部112と、復号処理部113とを有する。
画像処理部111は、RAW画像に対して、例えば、色補間処理、階調変換処理、ホワイトバランス調整処理、色変換処理などを施す。上述の色補間処理により、ベイヤ配列で各色がモザイク状に配置された状態のRAW画像が、各画素でそれぞれRGBの情報を有するRGB画像に変換される。また、上述の色変換処理により、色補間後のRGB画像がYUV色空間のカラー画像(YUV画像)に変換される。なお、画像処理部111から出力されるYUV画像はYUV4:4:4形式の画像であって、各画素が輝度成分(Y)と2つの色差成分(U,V)の情報をそれぞれ有している。
圧縮処理部112は、動画像圧縮装置の一例であって、画像処理部111から出力されるYUV画像を圧縮符号化する。なお、圧縮処理部112の構成例については後述する。
復号処理部113は、動画像復号装置の一例であって、圧縮処理部112で圧縮符号化された動画像のデータを復号する。なお、復号処理部113の構成例については後述する。
なお、画像処理エンジン104に含まれる画像処理部111、圧縮処理部112および復号処理部113の機能ブロックは、ハードウェア的には任意のプロセッサ、メモリ、その他のLSIで実現でき、ソフトウェア的にはメモリにロードされたプログラムなどによって実現される。
第1メモリ105は、画像処理の前工程や後工程で画像のデータを一時的に記憶する。例えば、第1メモリ105は、揮発性の記憶媒体であるSDRAMである。また、第2メモリ106は、画像処理エンジン104で実行されるプログラムや、このプログラムで使用される各種データを記憶する。例えば、第2メモリ106は、フラッシュメモリ等の不揮発性メモリである。
記録I/F107は、不揮発性の記憶媒体110を接続するためのコネクタを有している。そして、記録I/F107は、コネクタに接続された記憶媒体110に対して動画像のデータの書き込み/読み込みを実行する。記憶媒体110は、ハードディスクや、半導体メモリを内蔵したメモリカードなどである。なお、図1では記憶媒体110の一例としてメモリカードを図示する。
モニタ108は、各種の画像を表示する表示デバイスである。例えば、モニタ108は、画像処理エンジン104の制御により、動画撮影時のビューファインダ表示や、撮影した動画像の再生表示を行う。
次に、図2を参照しつつ、図1の圧縮処理部112の構成例を説明する。図2では、ハードウェアやソフトウェアの連携によって実現される機能ブロックで圧縮処理部112の各部を示している。
圧縮処理部112は、フィルタ処理部11、第1スイッチ12、第1間引き部13、第2間引き部14、第2スイッチ15、符号化部16、圧縮制御部17を有している。
フィルタ処理部11は、入力されるYUV画像の色差成分に対して2次元的なローパスフィルタ処理を施す。フィルタ処理部11の出力は、第1スイッチ12に接続されている。
例えば、フィルタ処理部11は、YUV画像のうちでYチャネル(Y面)には処理を施さずにスルー出力する。一方、フィルタ処理部11は、YUV画像のUチャネル(U面)およびVチャネル(V面)には、2次元的なローパスフィルタ処理を施して出力する。これにより、例えば後述の色差間引きに起因する折り返し歪みの発生が抑制される。なお、上述のローパスフィルタは後述の色差間引きの特性に合わせて選択され、一例としてダイヤモンド型のローパスフィルタが適用される。
第1スイッチ12は、選択部の一例であって、1入力2出力のスイッチである。第1スイッチ12の一方の出力は第1間引き部13に接続され、第1スイッチの他方の出力は第2間引き部14に接続されている。そして、第1スイッチ12は、フィルタ処理部11から時系列に入力される複数のYUV画像を第1間引き部13または第2間引き部14に振り分ける。なお、第1実施形態において、第1スイッチ12は、YUV画像の動画像の各フレームを第1間引き部13と第2間引き部14とに交互に出力する。
第1間引き部13は、YUV画像から第1のパターンで色差成分を間引く色差間引き処理を行う。なお、以下の説明では、第1間引き部13で色差間引きされた画像を、第1間引き画像と称することがある。
例えば、第1間引き部13は、YUV画像のUチャネルおよびVチャネルにおいて、奇数行の標本点を行方向に沿って1画素おきに離散的に抽出する。そして、第1間引き部13は、UチャネルおよびVチャネルについては抽出した標本点の情報のみを後段に出力する。したがって、第1間引き部13の色差間引きでは、UチャネルおよびVチャネルの標本点が1/4に間引かれる。一方、第1間引き部13は、YUV画像のYチャネルの情報は間引きを行わずにスルー出力する。これにより、第1間引き画像は、YUV4:2:0形式に変換される。
ここで、図3(a)は、色差間引き前における標本点の例を示す図である。図3(b)は、第1間引き画像での標本点の例を示す図である。なお、図3の例では、輝度(Y)の標本点と、色差(U,V)の標本点とを重畳させて示している。
第2間引き部14は、YUV画像から第1のパターンと異なる第2のパターンで色差成分を間引く色差間引き処理を行う。なお、以下の説明では、第2間引き部14で色差間引きされた画像を、第2間引き画像と称することがある。
例えば、第2間引き部14は、YUV画像のUチャネルおよびVチャネルにおいて、偶数行の標本点を行方向に沿って1画素おきに離散的に抽出する。ここで、第2間引き部14で抽出される色差の標本点の位置は、第1間引き部13で抽出される色差の標本点の位置に対して行方向(X方向)に1画素分ずれている。そして、第2間引き部14は、UチャネルおよびVチャネルについては抽出した標本点の情報のみを後段に出力する。したがって、第2間引き部14の色差間引きでは、UチャネルおよびVチャネルの標本点が1/4に間引かれる。一方、第2間引き部14は、YUV画像のYチャネルの情報は間引きを行わずにスルー出力する。これにより、第1間引き画像の場合と同様に、第2間引き画像は、YUV4:2:0形式に変換される。
ここで、図3(c)は、第2間引き画像での標本点の例を示す図である。また、図3(d)は第1間引き画像および第2間引き画像の色差の標本点を重ねた状態を示す図である。
上述するように、第1間引き部13の色差間引きでは奇数行の色差の標本点が1画素おきに抽出され、第2間引き部14の色差間引きでは偶数行の色差の標本点が1画素おきに抽出される。そして、第2間引き部14で抽出される色差の標本点の位置は、第1間引き部13で抽出される色差の標本点の位置に対して行方向(X方向)に1画素分ずれている。したがって、第1間引き部13で抽出される色差の標本点と、第2間引き部14で抽出される色差の標本点とは空間方向で互いに重複しない位置関係にある。また、これらの標本点の位置を重ね合わせると、画像上で色差の標本点が市松状に配置された状態となる(図3(d)参照)。
第2スイッチ15は、第1スイッチ12に対応する2入力1出力のスイッチである。第2スイッチ15の一方の入力は第1間引き部13に接続され、第2スイッチ15の他方の出力は第2間引き部14に接続されている。第2スイッチ15の出力は、符号化部16に接続されている。そして、第2スイッチ15は第1スイッチ12に連動して動作する。すなわち、第1スイッチ12が第1間引き部13に接続されているときには第2スイッチ15は第1間引き部13に接続され、第1スイッチ12が第2間引き部14に接続されているときには第2スイッチ15は第2間引き部14に接続される。これにより、第1間引き部13から出力された第1間引き画像と、第2間引き部14から出力された第2間引き画像とが、動画像の時系列に沿って交互に符号化部16に入力される。
符号化部16は、時系列に入力されるYUV4:2:0形式の動画像を圧縮符号化する。例えば、符号化部16は、動画像の各フレームを所定サイズのブロック単位に分割し、動き補償予測を用いて動画像のデータを圧縮符号化する。なお、符号化部16の構成例については後述する。
また、以下の説明では、第1間引き画像を符号化した情報を第1符号化情報とも称し、第2間引き画像を符号化した情報を第2符号化情報とも称する。また、圧縮処理部112によって圧縮された動画像のデータを圧縮動画像情報と称することがある。
圧縮制御部17は、動画像の圧縮のときに、フィルタ処理部11、第1スイッチ12、第1間引き部13、第2間引き部14、第2スイッチ15、符号化部16の各動作を統括的に制御する。なお、圧縮制御部17の制御により、符号化部16は、色差間引きのパターンを示す付帯情報を、例えば符号化された画像のヘッダ領域などに付与する。
次に、図4を参照しつつ、図2の符号化部16の構成例を説明する。図4では、ハードウェアやソフトウェアの連携によって実現される機能ブロックで符号化部16の各部を示している。
ここで、動き補償予測を行う画像圧縮符号化方式としては、例えば、ISO/IEC13818−2に規定されるMPEG−2ビデオなどが知られている。上述の画像圧縮符号化方式では、Iピクチャ、Pピクチャ、Bピクチャを用いてフレーム内またはフレーム間で圧縮符号化が行われる。Iピクチャは画面内のみで完結する符号化により得られる画面内符号化画像である。Pピクチャは参照画像最大1枚を用いる予測符号化により得られる画面間予測符号化画像である。Bピクチャは参照画像最大2枚を用いる予測符号化により得られる画面間双予測符号化画像である。
符号化部16は、第1蓄積部21、減算部22、直交変換部23、量子化部24、可変長符号化部25、逆量子化部26、逆直交変換部27、加算部28、第2蓄積部29、予測情報生成部30、予測部31を有している。
第1蓄積部21は、第2スイッチ15から出力される色差間引き後の画像を蓄積する。第1蓄積部21に蓄積された画像は、符号化対象の画像として入力順に減算部22へ出力される。なお、符号化の完了した画像は第1蓄積部21から順次消去される。
減算部22は、PピクチャまたはBピクチャを生成するときには、入力された原画像と予測部31で生成された後述の予測値との差分信号(予測誤差値)を出力する。また、減算部22は、Iピクチャを生成するときには、入力された原画像の信号をそのまま出力する。
直交変換部23は、Iピクチャを生成するときには、減算部22をスルーして入力された原画像の信号に対して直交変換を行う。また、直交変換部23は、Pピクチャ又はBピクチャを生成するときには、上述の差分信号に対して直交変換を行う。
量子化部24は、直交変換部23から入力されたブロック単位の周波数係数(直交変換係数)を量子化係数に変換する。量子化部24の出力は、可変長符号化部25および逆量子化部26にそれぞれ入力される。
可変長符号化部25は、量子化係数や、動きベクトル等の予測情報を可変長符号化し、動画像の符号化ビットストリームを外部へ出力する。なお、可変長符号化部25は、上述の付帯情報の付与や、第1間引き画像と第2間引き画像との間で動き予測をする場合に色差成分での動きベクトルの補正の要否を示す補正情報の付与も行う。
例えば、可変長符号化部25は、MPEG−2ビデオのメインプロファイルに準拠して圧縮符号化する場合、ピクチャコーディングエクステンションに続くユーザデータの領域に上述の付帯情報や補正情報を含めてもよい。
逆量子化部26は、ブロック単位で量子化係数を逆量子化して周波数係数を復号する。逆直交変換部27は、逆量子化部26で復号された周波数係数を逆直交変換して予測誤差値(または原画像の信号)を復号する。
加算部28は、復号された予測誤差値と、予測部31で生成された後述の予測値とを加算する。そして、加算部28から出力されたピクチャの復号値(参照画像)は第2蓄積部29に蓄積される。なお、以後の動き補償予測で参照されない画像は第2蓄積部29から順次消去される。
予測情報生成部30は、第2蓄積部29の参照画像を用いて、符号化対象の画像を予測するための予測情報(動きベクトルなど)を生成する。予測情報は、予測部31および可変長符号化部25に出力される。
予測部31は、予測情報および参照画像に基づいて、符号化対象の画像をブロック単位で予測した予測値を出力する。この予測値は、減算部22および加算部28に出力される。
なお、或るブロックについて動き補償予測を行う場合、符号化対象の画像が予測値と完全に一致すると予測情報のみがデータ化される。また、符号化対象の画像が予測値と部分的に一致する場合、予測情報と差分の画像がデータ化される。また、符号化対象の画像が予測値からすべて外れる場合には、ブロック全体分の画像がすべてデータ化される。
次に、図5を参照しつつ、図1の復号処理部113の構成例を説明する。図5では、ハードウェアやソフトウェアの連携によって実現される機能ブロックで復号処理部113の各部を示している。
復号処理部113は、復号部41、補間部42、復号制御部43を有している。なお、復号処理部113には、圧縮動画像情報が入力される。
復号部41は、圧縮動画像情報に含まれる第1符号化情報から第1間引き画像を復号し、圧縮動画像情報に含まれる第2符号化情報から第2間引き画像を復号する。復号部41の出力は補間部42に接続されている。なお、復号部41の構成例については後述する。
補間部42は、それぞれYUV4:2:0形式の第1間引き画像または第2間引き画像のUチャネルおよびVチャネルに対して色差補間処理を施す。そして、補間部42は、第1間引き画像または第2間引き画像のYチャネル(Y面)には処理を施さずにスルー出力する。これにより、補間部42は、YUV4:4:4形式のカラー画像を出力する。
復号制御部43は、動画像の復号のときに、復号部41、補間部42の各動作を統括的に制御する。なお、復号制御部43の制御により、補間部42は画像のヘッダ領域を参照して、色差間引きのパターンを示す付帯情報を取得する。そして、補間部42は、上述の付帯情報に基づいて、色差補間処理に用いる画像の組み合わせを決定する。
次に、図6を参照しつつ、図5の復号部41の構成例を説明する。図6では、ハードウェアやソフトウェアの連携によって実現される機能ブロックで復号部41の各部を示している。なお、図6に示す復号部41の機能ブロックは、図4で示した符号化部16の同名称の機能ブロックと共有化されていてもよい。
復号部41は、符号復号部51、逆量子化部52、逆直交変換部53、加算部54、第1蓄積部55、第2蓄積部56、予測部57を有している。
符号復号部51は、入力される動画像の符号化ビットストリームを復号し、量子化係数や、動きベクトル等の予測情報を出力する。なお、復号された量子化係数は逆量子化部52に入力され、復号された予測情報は予測部57に入力される。なお、圧縮動画像情報が色差成分での動きベクトルの補正の要否を示す補正情報を含む場合、符号復号部51は、復号した上述の補正情報を予測部57に入力する。
逆量子化部52は、ブロック単位で量子化係数を逆量子化して周波数係数を復号する。逆直交変換部53は、逆量子化部52で復号された周波数係数を逆直交変換して予測誤差値(または原画像の信号)を復号する。
加算部54は、復号された予測誤差値と、予測部57で生成された予測値とを加算することで、復号された画像をブロック単位で出力する。そして、加算部54から出力された画像の復号値は第1蓄積部55および第2蓄積部56にそれぞれ入力される。
第1蓄積部55は、復号した第1間引き画像または第2間引き画像を補間部42に出力するまで蓄積する。なお、補間部42への出力が完了した画像は第1蓄積部55から順次消去される。また、第2蓄積部56は、画像の復号値を参照画像として蓄積する。なお、以後の動き補償予測で参照されない画像は第2蓄積部56から順次消去される。
予測部57は、予測情報および参照画像に基づいて、復号対象の画像をブロック単位で予測した予測値を加算部54に出力する。なお、予測部57は、復号対象の画像と予測元の画像との間で色差成分の間引きのパターンが異なるときに、間引きのパターンの違いに応じて色差成分の動きベクトルを補正する。
次に、図7を参照しつつ、図5の補間部42の構成例を説明する。図7では、ハードウェアやソフトウェアの連携によって実現される機能ブロックで補間部42の各部を示している。
補間部42は、蓄積部61、第1色差補間部62、色差合成部63、第2色差補間部64、重み付け調整部65、第1乗算部66、第2乗算部67、加算部68を有している。
蓄積部61は、色差補間処理で用いる第1間引き画像および第2間引き画像を一時的に蓄積する。例えば、色差補間処理では、時間軸方向で隣り合う第1間引き画像および第2間引き画像を使用するが、色差補間処理に使用されなくなった画像は蓄積部61から順次消去される。
第1色差補間部62は、異なるフレームの色差成分の情報を用いずに、色差補間の基準となる画像で間引きされた分の色差成分をフレーム内で補間し、YUV4:4:4形式の画像を出力する。なお、第1色差補間部62の出力は、第1乗算部66に接続されている。
色差合成部63は、色差間引きのパターンがそれぞれ異なり、時間軸方向で隣り合う2画像の色差成分を合成する。色差合成部63は、色差補間の基準となる画像で色差成分を完全に間引きした行の色差成分を時間軸方向で隣り合うフレームから補充する。なお、色差合成部63は、例えば、色差補間の基準となる画像に対して1フレーム過去の画像から色差成分を補充する。
例えば、色差補間の基準が第1間引き画像の場合、時間軸方向で隣り合う第2間引き画像から偶数行の色差成分の標本点が補充される。また、色差補間の基準が第2間引き画像の場合、時間軸方向で隣り合う第1間引き画像から奇数行の色差成分の標本点が補充される。これにより、色差合成部63から出力される画像では、色差成分の標本点が市松状に配列された状態となる(図3(d)参照)。
第2色差補間部64は、色差合成部63から出力される画像の色差成分を補間し、YUV4:4:4形式の画像を出力する。なお、第2色差補間部64の出力は、第2乗算部67に接続されている。
重み付け調整部65は、第1色差補間部62の色差成分と第2色差補間部64の色差成分とを加算するときの重み付け係数α,1−αを求める(但し、0≦α≦1)。ここで、重み付け調整部65は、画像の標本点ごとに上述の係数α,1−αをそれぞれ変化させる。例えば、重み付け調整部65は、標本点に対応した局所領域の輝度成分に応じて、上述の係数α,1−αを標本点ごとにそれぞれ求める。
第1乗算部66は、第1色差補間部62の色差成分に対して係数αを乗じる。また、第2乗算部67は、第2色差補間部64の色差成分に対して係数1−αを乗じる。また、加算部68は、係数αで重み付けされた第1乗算部66の色差成分と、係数1−αで重み付けされた第2乗算部67の色差成分を標本点ごとに加算する。そして、加算部68は、色差補間されたYUV4:4:4形式の画像を外部に出力する。
(動画像の圧縮動作例)
以下、第1実施形態での動画像の圧縮動作例を説明する。
第1実施形態での電子カメラ100が動画撮影モード下で撮影指示を受け付けると、画像処理エンジン104は撮像素子102を駆動させて動画撮影を開始する。撮像素子102から出力される動画像のフレームは、信号処理部103および画像処理部111で一連の信号処理と画像処理が施された後に、圧縮処理部112で圧縮符号化される。そして、圧縮処理部112で圧縮された圧縮動画像情報は、画像処理エンジン104の制御により、記録I/F107に接続された記憶媒体110に記録される。
図8は、圧縮処理部112での動画像の圧縮動作例を示す流れ図である。
ステップ#101:圧縮処理部112のフィルタ処理部11は、入力されるYUV画像の色差成分に対して2次元的なローパスフィルタ処理を施す。
ステップ#102:圧縮制御部17は、第1スイッチ12および第2スイッチ15をそれぞれ第1間引き部13側に切り替える。そして、第1間引き部13は、YUV画像から第1のパターンで色差成分を間引く色差間引き処理を行う。これにより、YUV4:2:0形式の第1間引き画像が生成される(図3(b)参照)。
ステップ#103:符号化部16は、入力された第1間引き画像を、例えばMPEG−2ビデオのメインプロファイルに準拠して圧縮符号化する。圧縮後の第1符号化情報は、記憶媒体110に記録される。
ステップ#104:圧縮制御部17は、入力される動画像全体の圧縮が終了したか否かを判定する。上述の要件を満たす場合(YES側)、圧縮制御部17は圧縮動作を終了する。一方、上述の要件を満たさない場合(NO側)、#105に処理が移行して次のフレームの圧縮が行われる。
ステップ#105:フィルタ処理部11は、入力されるYUV画像の色差成分に対して2次元的なローパスフィルタ処理を施す。
ステップ#106:圧縮制御部17は、第1スイッチ12および第2スイッチ15をそれぞれ第2間引き部14側に切り替える。そして、第2間引き部14は、YUV画像から第2のパターンで色差成分を間引く色差間引き処理を行う。これにより、YUV4:2:0形式の第2間引き画像が生成される(図3(c)参照)。
ステップ#107:符号化部16は、入力された第2間引き画像を、例えばMPEG−2ビデオのメインプロファイルに準拠して圧縮符号化する。圧縮後の第2符号化情報は、記憶媒体110に記録される。
ステップ#108:圧縮制御部17は、入力される動画像全体の圧縮が終了したか否かを判定する。上述の要件を満たす場合(YES側)、圧縮制御部17は圧縮動作を終了する。一方、上述の要件を満たさない場合(NO側)、#101に戻って次のフレームの圧縮が行われる。以上で、図8の説明を終了する。
また、図9は、図8の#103、#107での符号化処理の例を示す流れ図である。
ステップ#201:圧縮制御部17は、符号化の対象となる画像の符号化形式(Iピクチャ、Pピクチャ、Bピクチャ)を決定する。
ここで、図10(a)〜(c)は、動画像の符号化形式の例を示す図である。図10において「In」はn番目のIピクチャを示し、「Pn」はn番目のPピクチャを示し、「Bn」はn番目のBピクチャを示す。また、図10の例では、奇数番目のフレームが第1間引き画像であり、偶数番目のフレームが第2間引き画像である例を示す。
図10(a)は、動画像の各フレームをIピクチャとして符号化する例を示している。図10(a)の場合は、画面内予測符号化のみであり、第1間引き画像と第2間引き画像との間で画面間予測符号化は行われない。
また、図10(b)は、IピクチャとPピクチャとの組み合わせで動画像を符号化する例を示している。図10(b)の場合には、第1間引き画像と第2間引き画像との間で画面間予測符号化が行われる。
また、図10(c)は、Iピクチャ、Pピクチャ、Bピクチャとの組み合わせで動画像を符号化する例を示している。図10(c)の場合、Iピクチャ、Pピクチャは奇数番目のフレーム(第1間引き画像)であり、Bピクチャは偶数番目のフレーム(第2間引き画像)である。図10(c)のPピクチャの符号化では、色差間引きのパターンが同じ画像のみを参照して画面間予測符号化が行われる。一方、図10(c)のBピクチャの符号化では、時間軸方向で前後に隣り合う第1間引き画像を参照して、第2間引き画像に対して画面間双予測符号化が行われる。
ステップ#202:圧縮制御部17は、符号化の対象となる画像の色差間引きのパターン(第1間引き画像、第2間引き画像)を識別する。
ステップ#203:圧縮制御部17は、符号化の対象となる画像と参照画像との色差間引きのパターンに応じて、圧縮時の動き補償予測での色差成分の動きベクトルについて補正の要否を決定する。
例えば、色差間引きのパターンが同じ画像を参照画像として画面間予測符号化をする場合、符号化の対象となる画像と参照画像との間で標本点の位置は一致する。しかし、色差間引きのパターンが異なる画像を参照画像として画面間予測符号化をする場合、符号化の対象となる画像と参照画像との間で標本点の位置にズレが生じる。したがって、圧縮制御部17は、後者の場合(例えば、図10(b)のPピクチャの場合と、図10(c)のBピクチャの場合)には、動き補償予測での色差成分の動きベクトルを補正する設定を行う。
ステップ#204:符号化部16の可変長符号化部25は、圧縮制御部17の制御により、符号化する画像のヘッダ領域に付帯情報および補正情報を付与して符号化する。付帯情報は、例えば、第1間引き画像、第2間引き画像を示す識別子である。また、補正情報は、例えば、上述する色差成分の動きベクトルについて補正の要否を示す識別子である。
例えば、可変長符号化部25は、MPEG−2ビデオのメインプロファイルに準拠して圧縮符号化する場合、ピクチャコーディングエクステンションに続くユーザデータの領域に上述の付帯情報や補正情報を含める。
ステップ#205:予測情報生成部30は、PピクチャまたはBピクチャを生成する場合、参照画像を用いて、マクロブロックを動き補償予測する。また、予測情報生成部30は、Iピクチャを生成する場合には、マクロブロックの情報をスルー出力する。
ステップ#206:予測部31は、PピクチャまたはBピクチャを生成する場合、動き補償予測(#205)で得たマクロブロックの予測値を出力する。また、予測部31は、Iピクチャを生成する場合、予測値としてゼロ値を出力する。そして、減算部22は、画像の原信号から予測値を減算して予測誤差を出力する。
ステップ#207:直交変換部23は、予測誤差(#206)を直交変換する。
ステップ#208:量子化部24は、予測誤差の直交変換係数(#207)を量子化する。
ステップ#209:可変長符号化部25は、動きベクトルや参照画像等を示す予測情報や、量子化係数を可変長符号化する。#209の段階で、1ブロック分の符号化情報が符号化部16から出力される。
ステップ#210:逆量子化部26は、量子化係数を逆量子化する。
ステップ#211:逆直交変換部27は、逆量子化で求めた直交変換係数を逆直交変換して予測誤差を復号する。
ステップ#212:加算部28は、復号された予測誤差にマクロブロックの予測値を加算して、ピクチャの局部復号値を生成する。なお、上述の局部復号値は第2蓄積部29に蓄積される。
ステップ#213:圧縮制御部17は、1フレームの符号化が完了したか否かを判定する。上述の要件を満たす場合(YES側)には、#104または#108に処理が復帰する。一方、上述の要件を満たさない場合(NO側)には、#205に戻って符号化部16は上述の動作を繰り返す。上述のループにより、符号化対象の画像がブロック単位で符号化されることとなる。以上で、図9の説明を終了する。
また、図11は、図9の#205での動き補償予測の処理例を示す流れ図である。
ステップ#301:予測情報生成部30は、マクロブロックの動きベクトル、予測モード、参照画像等の予測情報を生成する。
ステップ#302:予測情報生成部30は、符号化形式がIピクチャか否かを判定する。上述の要件を満たす場合(YES側)には、図9の#206に処理が復帰する。なお、この場合には、予測情報生成部30はマクロブロックの情報をスルー出力する。一方、上述の要件を満たさない場合(NO側)には、#303に処理が移行する。
ステップ#303:予測情報生成部30は、上述の予測情報に基づいて、マクロブロックの輝度成分について動き補償予測を行う。
ステップ#304:予測情報生成部30は、図9の#203の処理に基づいて、色差成分の動きベクトルを補正する設定であるか否かを判定する。上述の要件を満たす場合(YES側)には、#305に処理が移行する。一方、上述の要件を満たさない場合(NO側)には、#307に処理が移行する。なお、#304のNO側の場合、色差成分の動きベクトルを補正することなく、色差成分について動き補償予測が行われる。
ステップ#305:予測情報生成部30は、符号化対象の画像と参照画像との色差間引きのパターンが異なるか否かを判定する。上述の要件を満たす場合(YES側)には、#306に処理が移行する。一方、上述の要件を満たさない場合(NO側)には、#307に処理が移行する。なお、#305のNO側の場合、色差成分の動きベクトルを補正することなく、色差成分について動き補償予測が行われる。
ステップ#306:予測情報生成部30は、参照画像との色差間引きのパターンの違いに応じて、色差成分の動きベクトルを補正する。
図12は、色差成分の動きベクトルの補正例を示す図である。図12は、予測先画像(第2間引き画像)の注目画素P2xでの色差成分の値を、注目画素に隣接する予測元画像(第1間引き画像)の4画素(P1a〜P1d)の平均値で求める例を示している。図12の場合、注目画素の画素値を4つの隣接画素の平均で予測するため、予測元画像の復号値に含まれる符号化歪みを抑制できる。
以下の説明に関し、図12では画像上で色差成分の標本点(画素P)の配列を丸印で示す。また、予測先画像の注目画素の位置に対する予測元画像の参照画素の位置ズレを、動きベクトルMV[x,y]と称する。動きベクトルMVは、右方向のズレによりxが増加し、左方向のズレによりxが減少する。同様に、動きベクトルMVは、下方向のズレによりyが増加し、上方向のズレによりyが減少する。
図12の例では、色配列の左上にP1画素、色配列の右下にP2画素が配置されている。図12の場合、画素P1aと画素P2xとが同じ標本点に属するが、注目画素(P2x)は補間により画素P1b〜P1dの影響を受ける。そのため、予測元画像での参照画素の範囲は、注目画素(P2x)の位置に対して右に0.5画素、下に0.5画素ずれる。よって、図12の例では、色差成分の動きベクトルMVは[0.5,0.5]となる。
#306での予測情報生成部30は、上述の動きベクトルMVを相殺するように、色差成分の動きベクトルを補正すればよい。
ステップ#307:予測情報生成部30は、上述の予測情報に基づいて、マクロブロックの色差成分について動き補償予測を行う。その後、図9の#206に処理が復帰する。以上で、図11の説明を終了する。
(動画像の復号動作例)
以下、第1実施形態での動画像の復号動作例を説明する。
第1実施形態での電子カメラ100が圧縮処理部112で圧縮された圧縮動画像情報の再生指示を受け付けると、画像処理エンジン104は記録I/F107に接続された記憶媒体110から圧縮動画像情報を取得する。そして、復号処理部113は圧縮動画像情報を復号する。そして、復号された動画像は、画像処理エンジン104の制御により、例えばモニタ108で再生表示される。
図13は、復号処理部113での動画像の復号動作例を示す流れ図である。
ステップ#401:復号処理部113は、記憶媒体110から圧縮動画像情報を取得する。そして、復号部41は、符号化情報から1フレーム分の間引き画像を復号する。
ステップ#402:補間部42は、復号されたYUV4:2:0形式の間引き画像に色差補間処理を施し、YUV4:4:4形式のカラー画像を出力する。
ステップ#403:復号制御部43は、取得した圧縮動画像情報の復号が終了したか否かを判定する。上述の要件を満たす場合(YES側)、復号制御部43は復号動作を終了する。一方、上述の要件を満たさない場合(NO側)、#401に戻って次のフレームの復号が行われる。以上で、図13の説明を終了する。
また、図14は、図13の#401での復号処理の例を示す流れ図である。
ステップ#501:符号復号部51は、符号化された画像のヘッダ領域の情報を復号する。これにより、復号制御部43は、ピクチャコーディングエクステンションに続くユーザデータの領域から、上述の付帯情報や補正情報をそれぞれ取得する。
ステップ#502:復号制御部43は、上述の補正情報に基づいて、復号時の動き補償予測での色差成分の動きベクトルについて補正の要否を決定する。例えば、圧縮時に色差成分の動きベクトルを補正している場合、復号制御部43は、復号時の動き補償予測でも色差成分の動きベクトルを補正する。
ステップ#503:符号復号部51は、或るマクロブロックの可変長符号を復号し、動きベクトルや参照画像等を示す予測情報や、量子化係数を取得する。
ステップ#504:逆量子化部52は、マクロブロックの量子化係数(#503)を逆量子化する。
ステップ#505:逆直交変換部53は、逆量子化(#504)で求めた直交変換係数を逆直交変換して予測誤差を復号する。
ステップ#506:予測部57は、PピクチャまたはBピクチャを復号する場合、予測情報を用いてマクロブロックを動き補償予測し、マクロブロックの予測値を出力する。また、予測部57は、Iピクチャを復号する場合には、予測値としてゼロ値を出力する。
ステップ#507:加算部54は、復号された予測誤差にマクロブロックの予測値を加算して、ピクチャの局部復号値を生成する。これにより、1つのマクロブロックの画像が復号された状態となる。なお、上述の局部復号値は第2蓄積部56に蓄積される。
ステップ#508:復号制御部43は、1フレームの復号が完了したか否かを判定する。上述の要件を満たす場合(YES側)には、#402に処理が復帰する。一方、上述の要件を満たさない場合(NO側)には、#503に戻って復号部41は上述の動作を繰り返す。上述のループにより、符号化された画像がブロック単位で復号されることとなる。以上で、図14の説明を終了する。
また、図15は、図14の#507での動き補償予測の処理例を示す流れ図である。
ステップ#601:予測部57は、復号された予測情報(#503)に基づいて、マクロブロックの動きベクトル、予測モード、参照画像等を設定する。
ステップ#602:予測部57は、ヘッダ領域の情報(#501)および予測情報(#503)に基づいて、復号対象の画像と参照画像の色差間引きのパターン(第1間引き画像、第2間引き画像)をそれぞれ識別する。
ステップ#603:予測部57は、上述の予測情報に基づいて、マクロブロックの輝度成分について動き補償予測を行う。
ステップ#604:予測部57は、図14の#502の処理に基づいて、色差成分の動きベクトルを補正する設定であるか否かを判定する。上述の要件を満たす場合(YES側)には、#605に処理が移行する。一方、上述の要件を満たさない場合(NO側)には、#607に処理が移行する。なお、#604のNO側の場合、色差成分の動きベクトルを補正することなく、色差成分について動き補償予測が行われる。
ステップ#605:予測部57は、復号対象の画像と参照画像との色差間引きのパターンが異なるか否かを判定する。上述の要件を満たす場合(YES側)には、#606に処理が移行する。一方、上述の要件を満たさない場合(NO側)には、#607に処理が移行する。なお、#605のNO側の場合、色差成分の動きベクトルを補正することなく、色差成分について動き補償予測が行われる。
ステップ#606:予測部57は、参照画像との色差間引きのパターンの違いに応じて、色差成分の動きベクトルを補正する。なお、#606での色差成分の動きベクトルの補正は、図11の#306の逆処理であるので重複説明を省略する。
ステップ#607:予測部57は、上述の予測情報に基づいて、マクロブロックの色差成分について動き補償予測を行う。その後、図14の#506に処理が復帰する。以上で、図15の説明を終了する。
また、図16は、図13の#402での色差補間処理の例を示す流れ図である。
ステップ#701:第1色差補間部62は、異なるフレームの色差成分の情報を用いずに、色差補間の基準となる画像で間引きされた分の色差成分をフレーム内で補間する。
図17は、第1色差補間部62で補間される色差成分の標本点を示す図である。一例として、図17に示す間引き画像で標本点C34、C43、C44の色差成分を補間する場合を考える。なお、標本点C33は、nフレーム目の間引き画像に含まれる色差の標本点である。このとき、第1色差補間部62は、式(1)〜式(4)の演算により補間すべき標本点の色差成分を求めればよい。
ここで、本明細書の記載において、「p」はフレーム内補間で求めた色差の値を示す。また、「Cγ[n]」は、nフレーム目の標本点γでの色差の値を示す。
なお、例えば、図3(b)に示す第1間引き画像を第1色差補間部62で色差補間した場合、色差補間後の画像は図18のようにYUV4:4:4形式となる。
ステップ#702:色差合成部63は、色差間引きのパターンがそれぞれ異なり、時間軸方向で隣り合う2画像の色差成分を合成する。色差合成部63から出力される画像では、色差成分の標本点が市松状に配列された状態となる(図3(d)参照)。
ステップ#703:第2色差補間部64は、色差合成部63から出力される画像(図3(d))の色差成分を補間する。
図19は、第2色差補間部64で補間される色差成分の標本点を示す図である。一例として、図19に示す標本点C34、C43の色差成分を補間する場合を考える。なお、標本点C33は、nフレーム目の間引き画像に含まれる色差の標本点であり、標本点C44は、n−1フレーム目の間引き画像から補充した色差の標本点である。このとき、第2色差補間部64は、式(5)〜式(8)の演算により補間すべき標本点の色差成分を求めればよい。
ここで、本明細書の記載において、「q」はフレーム間補間で求めた色差の値を示す。また、「Sγ[n]h」は、nフレーム目の標本点γでの水平方向の相関を示し、「Sγ[n]v」は、nフレーム目の標本点γでの垂直方向の相関を示す。また、「Kγ[n]h」は、nフレーム目の標本点γでの水平方向の重み付け値を示し、「Kγ[n]v」は、nフレーム目の標本点γでの垂直方向の重み付け値を示す。
なお、例えば、図3(d)に示す色差の標本点を合成した画像を第2色差補間部64で色差補間した場合、色差補間後の画像は図20のようにYUV4:4:4形式となる。
ステップ#704:重み付け調整部65は、標本点に対応した局所領域の輝度成分に応じて、上述の重み付け係数α,1−αを標本点ごとに求める。
例えば、重み付け調整部65は、重み付け係数を求める標本点を中心として3×3画素の局所領域を設定する。そして、重み付け調整部65は、上述の局所領域内で、前後2フレーム分の輝度成分の差分総和値から重み付け係数を求める。なお、図21は、後述する標本点C34を求めるときの局所領域の例を示す図である。図21では、標本点C34に対応する局所領域を破線で示す。
例えば、第2色差補間部64は、標本点C33、C34、C43、C44の重み付け係数を求めるときには、式(9)〜式(12)の演算を行えばよい。なお、標本点C33は、nフレーム目の間引き画像に含まれる色差の標本点である。
ここで、本明細書の記載において、「eγ」は標本点γでの輝度のフレーム間誤差を示す。また、「Yγ[n]」はnフレーム目の標本点γの輝度成分を示す。また、「MIN(δ)」は(δ)に含まれる最小値を返す関数である。なお、「Cγout」は、標本点γでの重み付け加算後の色差の出力値を示している。
ステップ#705:加算部68は、係数αで重み付けされた第1乗算部66の色差成分と、係数1−αで重み付けされた第2乗算部67の色差成分を標本点ごとに加算する。例えば、標本点C33、C34、C43、C44については、#705の加算部68は、上述の式(9)〜式(12)でC33out、C34out、C43out、C44outを求めればよい。そして、加算部68は、色差補間されたYUV4:4:4形式の画像を外部に出力する。なお、加算部68の出力画像における色差チャネルの例を図22に示す。以上で、図16の説明を終了する。
(第1実施形態の作用効果)
以下、第1実施形態における作用効果を述べる。第1実施形態の電子カメラ100は、動画像の圧縮時において、YUV4:4:4形式のYUV画像からそれぞれ色差間引きのパターンが異なるYUV4:2:0形式の第1間引き画像と第2間引き画像とを生成する。そして、電子カメラ100は、上述の第1間引き画像および第2間引き画像を時系列に沿って符号化する。符号化後の圧縮動画像情報はYUV4:2:0形式であるので、色差間引きをせずに符号化する場合と比べて情報量を大きく削減できる。
また、第1実施形態の電子カメラ100は、上述の圧縮動画像情報を復号するときに、色差間引きのパターンが異なる画像の色差成分の情報を用いて色差補間処理を行い、YUV4:4:4形式のカラー画像を復元する。これにより、YUV4:4:4形式の画像符号化を用いずに、色差間引きを伴う圧縮のときに生じる復号画像のエッジ部分での色にじみを抑制できる。なお、画像の色差間引きのパターンは、例えば、フレーム毎に色差間引きのパターンを表す付帯情報を動画像圧縮装置がユーザデータ領域に付加することで、動画像復号装置に対して明示的に告知できる。
また、第1実施形態で生成される圧縮動画像情報は、YUV4:2:0形式に準拠しているため、上述の色差補間処理に対応していない装置でも、YUV4:2:0形式の動画像としてそのまま復号できる。
また、第1実施形態において、動き補償予測において符号化対象のフレームと参照フレームの色差間引きのパターンが異なるときに、色差の動きベクトルを補正して動き補償予測することで符号化効率を向上させることができる。このとき、上述の色差の動きベクトルについて補正の有無を表す補正情報を動画像圧縮装置が付与することで、映像復号装置側で復号時に色差の動きベクトルを適切に補正させることができる。
<第2実施形態の説明>
図23は、第2実施形態での装置構成例を示す図である。第2実施形態の装置は、上述の動画像圧縮装置、動画像復号装置として機能するコンピュータである。
図23に示すコンピュータ201は、データ読込部202、記憶装置203、CPU204、メモリ205および入出力I/F206、バス207を有している。データ読込部202、記憶装置203、CPU204、メモリ205および入出力I/F206は、バス207を介して相互に接続されている。さらに、コンピュータ201には、入出力I/F206を介して、入力デバイス208(キーボード、ポインティングデバイスなど)とモニタ209とがそれぞれ接続されている。なお、入出力I/F206は、入力デバイス208からの各種入力を受け付けるとともに、モニタ209に対して表示用のデータを出力する。
データ読込部202は、未圧縮の動画像情報や、上述の圧縮動画像情報や、プログラムを外部から読み込むときに用いられる。データ読込部202は、例えば、着脱可能な記憶媒体からデータを取得する読込デバイス(光ディスク、磁気ディスク、光磁気ディスクの読込装置など)や、公知の通信規格に準拠して外部の装置と通信を行う通信デバイス(USBインターフェース、LANモジュール、無線LANモジュールなど)である。
記憶装置203は、例えば、ハードディスクや、不揮発性の半導体メモリなどの記憶媒体である。この記憶装置203には、上述のプログラムや、プログラムの実行に必要となる各種データが記憶されている。なお、記憶装置203には、データ読込部202から読み込んだ圧縮動画像情報などを記憶しておくこともできる。
CPU204は、コンピュータ201の各部を統括的に制御するプロセッサである。このCPU204は、プログラムの実行によって、第1実施形態の画像処理部111、圧縮処理部112、復号処理部113として機能する。
メモリ205は、プログラムでの各種演算結果を一時的に記憶する。このメモリ205は、例えば揮発性のSDRAMである。
ここで、第2実施形態では、データ読込部202または記憶装置203から未圧縮の動画像情報を取得し、CPU204が図8に示す圧縮動作を実施する。あるいは、データ読込部202または記憶装置203から上述の圧縮動画像情報を取得し、CPU204が図13に示す復号動作を実施する。かかる第2実施形態においても、第1実施形態とほぼ同様の効果を得ることができる。
<実施形態の補足事項>
(補足1):上述の実施形態では、2×2画素の左下と右上の色差の標本点を間引く色差間引きの例を説明したが、2×2画素の左上と右下の色差の標本点を間引くようにしてもよい。
(補足2):上述の実施形態では、MPEG−2ビデオのメインプロファイルに基づく圧縮符号化の例を説明した。しかし、本発明ではJPEG、AVC、その他のYUV4:2:0形式によるその他の圧縮符号化を適用しても良いし、非圧縮符号化を適用しても良い。
(補足3):画像の色差間引きのパターンを示す付帯情報の付与は、上述の実施形態の例に限定されない。例えば、MPEG−2ビデオのテンポラルリファレンス情報から判断可能な色差間引きのパターンを示すフレーム運用規則を予め規定しておくことで、復号処理装置に対して画像の色差間引きのパターンを暗示的に告知することもできる。
(補足4):上述の実施形態では、第1間引き画像と第2間引き画像とが交互に生成される例を説明した。しかし、本発明において、第1間引き画像と第2間引き画像とは必ずしも交互に生成されなくともよい。
図24は、動画像の符号化形式の別例を示す図である。図24は、第2間引き画像が2フレーム生成されるごとに、第1間引き画像が生成される例を示している。なお、図24の場合、第1間引き画像はIピクチャまたはPピクチャであり、第2間引き画像はBピクチャである。
(補足5):上述の実施形態では、補間部42が符号化対象の画像よりも1フレーム過去の画像を用いて色差補間処理を行う例を説明した。しかし、補間部42は、色差間引きのパターンが異なる画像であれば、上述の例に限定されずに参照画像を設定することができる。例えば、補間部42は、符号化対象の画像よりも数フレーム過去の画像や、符号化対象の画像よりも未来の画像を用いて色差補間処理を行ってもよい。
また、補間部42は、符号化対象の画像と時間軸方向に隣接し、それぞれ色差間引きのパターンが異なる複数の画像を用いて色差補間を行うようにしてもよい(図25参照)。
図25は、補間部42の別例を示す図である。図25の例では、図7に示す各部に加え、色差合成部69、第3色差補間部70、第3乗算部71、第4乗算部72をさらに有している。色差合成部69は、色差補間の基準となる画像に対して1フレーム未来の画像から色差成分を補充する点を除いて、色差合成部63と同様に機能する。また、第3色差補間部70は、色差合成部69から出力される画像の色差成分を補間し、YUV4:4:4形式の画像を出力する。
また、図25の重み付け調整部65は、第1色差補間部62の色差成分と第2色差補間部64の色差成分とを加算するときの重み付け係数α/2,(1−α)/2を標本点ごとに求める(但し、0≦α≦1)。また、重み付け調整部65は、第1色差補間部62の色差成分と第3色差補間部70の色差成分とを加算するときの重み付け係数β/2,(1−β)/2を標本点ごとに求める(但し、0≦β≦1)。そして、第3乗算部71は、第1色差補間部62の色差成分に対して係数β/2を乗じる。また、第4乗算部72は、第3色差補間部70の色差成分に対して係数(1−β)/2を乗じる。また、加算部68は、第1乗算部66から第4乗算部72までの各出力を加算する。
(補足6):本発明において、例えば、特開2008−109375に開示された複数フレームによる超解像処理を適用して色差補間を行い、色差間引き画像をYUV4:4:4形式に変換しても良い。この場合、色差の標本点の位置が異なる近隣フレームを用いることで、より効果的に色差を補間できる。
以上の詳細な説明により、実施形態の特徴点および利点は明らかになるであろう。これは、特許請求の範囲が、その精神および権利範囲を逸脱しない範囲で前述のような実施形態の特徴点および利点にまで及ぶことを意図する。また、当該技術分野において通常の知識を有する者であれば、あらゆる改良および変更に容易に想到できるはずであり、発明性を有する実施形態の範囲を前述したものに限定する意図はなく、実施形態に開示された範囲に含まれる適当な改良物および均等物によることも可能である。