<第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画像)に変換される。
圧縮処理部112は、画像圧縮装置の一例であって、画像処理部111から出力される画像を圧縮符号化する。なお、圧縮処理部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の各部を示している。なお、第1実施形態では、圧縮元の画像がYUV画像の動画像である場合を説明する。動画像の場合、YUV画像の各フレームがそれぞれ圧縮処理の対象となる。
図2に示す第1実施形態での圧縮処理部112は、色成分分離部11、第1間引き部12、第2間引き部13、第1分離部14、第2分離部15、第1画像生成部16、第2画像生成部17、第1符号化部18、第2符号化部19、圧縮制御部20、多重化部21を有している。
色成分分離部11は、入力されるYUV画像のフレームを、輝度成分(Y)のチャネルと色差成分(U,V)のチャネルとに分離する。色成分分離部11の出力は、第1間引き部12および第2間引き部13にそれぞれ接続されている。色成分分離部11は、第1間引き部12にYUV画像のYチャネル(Y面)を出力し、第2間引き部13にYUV画像のUチャネル(U面)およびVチャネル(V面)を出力する。
なお、必要に応じて、色成分分離部11は、YUV画像の各チャネルの出力に2次元的なローパスフィルタ処理を施してもよい。これにより、例えば後述の間引きに起因する折り返し歪みの発生が抑制される。なお、ローパスフィルタは後述の間引きの特性に合わせて選択され、一例としてダイヤモンド型のローパスフィルタが適用される。
第1間引き部12は、間引き部の一例であって、YUV画像のYチャネルから標本点を抽出して輝度間引き画像を生成する。第1間引き部12は、Yチャネルにおいて奇数番目の行の標本点と偶数番目の行の標本点との位置が行方向(X方向)にずれるように、行方向に沿って標本点を離散的に抽出する。なお、第1間引き部12の出力は、第1分離部14に接続されている。
一例として、入力画像がYUV4:4:4形式、YUV4:2:2形式、YUV4:2:0形式である場合の間引きについてそれぞれ説明する。なお、以下の説明では輝度の標本点を図中丸印(○)で示し、色差の標本点を図中バツ印(×)で示すことがある。
図3は、YUV4:4:4形式の画像での間引き例を示す図である。図3(a)は、間引き前における標本点の例を示しており、図3(b)は、輝度間引き画像での標本点の例を示している。図3(a)では、輝度(Y)の標本点と、色差(U,V)の標本点とを重畳させて示している。また、図3(a)に示すYUV4:4:4形式の画像では、輝度(Y)および色差(U,V)の標本点に間引きはない。
入力画像がYUV4:4:4形式の場合、第1間引き部12は、Yチャネルの各行で標本点を1画素おきに離散的に抽出する。このとき、第1間引き部12は、奇数行の標本点と偶数行の標本点とが行方向(X方向)に1画素分ずれた状態となるように標本点を抽出する。したがって、図3(b)に示す輝度間引き画像では、間引き前の画像に対して、輝度の標本点が市松状に配置された状態となる。
図4は、YUV4:2:2形式の画像での間引き例を示す図である。図4(a)は、間引き前における標本点の例を示しており、図4(b)は、輝度間引き画像での標本点の例を示している。図4(a)では、輝度(Y)の標本点と、色差(U,V)の標本点とを重畳させて示している。また、図4(a)に示すYUV4:2:2形式の画像では、色差(U,V)の標本点が行方向(X方向)にのみ1/2間引かれている。
入力画像がYUV4:2:2形式の場合においても、第1間引き部12は、Yチャネルの標本点をYUV4:4:4形式の場合と同様に抽出する。したがって、図4(b)に示す輝度間引き画像では、図3(b)と輝度の標本点の配置が同じになる。
図5は、YUV4:2:0形式の画像での間引きの一例を示す図である。図5(a)は、間引き前における標本点の例を示しており、図5(b)は、輝度間引き画像での標本点の例を示している。また、図6は、YUV4:2:0形式の画像での間引きの別例を示す図である。図6(a)は、間引き前における標本点の例を示しており、図6(b)は、輝度間引き画像での標本点の例を示している。
図5(a)および図6(a)では、輝度(Y)の標本点と、色差(U,V)の標本点とを重畳させて示している。また、図5(a)および図6(a)に示すYUV4:2:0形式の画像では、色差(U,V)の標本点が行方向(X方向)および列方向(Y方向)にそれぞれ1/2間引かれている。なお、図5の場合には、色差(U,V)の標本点が輝度(Y)の標本点と重なる位置にある。一方、図6の場合には、色差(U,V)の標本点が列方向(Y方向)に0.5画素分ずれており、色差(U,V)の標本点が輝度(Y)の標本点とが重ならない。なお、図6(a)に示す色差(U,V)の標本点は、例えば、YUV4:4:4形式の画像から上下2つ分の標本点の色差を平均して生成すればよい。
入力画像がYUV4:2:0形式の場合においても、第1間引き部12は、Yチャネルの標本点をYUV4:4:4形式の場合と同様に抽出する。したがって、図5(b)および図6(b)に示す輝度間引き画像では、図3(b)と輝度の標本点の配置がそれぞれ同じになる。
第2間引き部13は、間引き部の一例であって、YUV画像のUチャネルおよびVチャネルから標本点を抽出して色差間引き画像を生成する。第2間引き部13は、UチャネルおよびVチャネルにおいて奇数番目の行の標本点と偶数番目の行の標本点との位置が行方向(X方向)にずれるように、行方向に沿って標本点を離散的に抽出する。上述の色差間引き画像はUチャネルおよびVチャネルでそれぞれ生成される。また、Uチャネルの色差間引き画像とVチャネルの色差間引き画像とは、標本点の抽出位置が同じとなる。なお、第2間引き部13の出力は、第2分離部15に接続されている。
ここで、図3(c)は、図3(a)の入力画像に対応する色差間引き画像での標本点の例を示している。入力画像がYUV4:4:4形式の場合、第2間引き部13は、U,Vチャネルの各行で標本点を1画素おきに離散的に抽出する。このとき、第2間引き部13は、奇数行の標本点と偶数行の標本点とが行方向(X方向)に1画素分ずれた状態となるように標本点を抽出する。したがって、図3(c)に示す色差間引き画像では、色差の標本点が市松状に配置された状態となる。なお、入力画像がYUV4:4:4形式の場合、輝度間引き画像(図3(b))と色差間引き画像(図3(c))との標本点の位置が同じとなる。
また、図4(c)は、図4(a)の入力画像に対応する色差間引き画像での標本点の例を示している。入力画像がYUV4:2:2形式の場合、第2間引き部13は、U,Vチャネルの各行で標本点を1つおきに離散的に抽出する。このとき、第2間引き部13は、奇数行の標本点と偶数行の標本点とが行方向(X方向)に1つずつずれた状態となるように標本点を抽出する。
YUV4:2:2形式の入力画像では、色差の標本点が行方向(X方向)に1/2間引かれている。したがって、図3(c)に示す色差間引き画像では、間引き前の画像に対して、色差の標本点が行方向(X方向)に3画素おきに抽出される。また、図3(c)に示す色差間引き画像では、奇数行と偶数行との間で色差の標本点が2画素分ずつずれた状態となる。
また、図5(c)は、図5(a)の入力画像に対応する色差間引き画像での標本点の例を示している。図6(c)は、図6(a)の入力画像に対応する色差間引き画像での標本点の例を示している。入力画像がYUV4:2:0形式の場合、第2間引き部13は、U,Vチャネルにおいて色差の標本点をもつ各行で標本点を1つおきに離散的に抽出する。このとき、第2間引き部13は、奇数番目の行の標本点と偶数番目の行の標本点とが行方向(X方向)に1つずつずれた状態となるように標本点を抽出する。
YUV4:2:0形式の入力画像では、色差の標本点が行方向(X方向)および列方向(Y方向)にそれぞれ1/2間引かれている。したがって、図5(c)に示す色差間引き画像では、色差の標本点をもつ行が1行おきに配置されている。また、図5(c)に示す色差間引き画像では、間引き前の画像に対して、色差の標本点が行方向(X方向)に3画素おきに抽出される。また、図5(c)に示す色差間引き画像では、奇数番目の行と偶数番目の行との間で色差の標本点が2画素分ずつずれた状態となる。
なお、図6(c)の色差間引き画像は、色差の標本点が列方向(Y方向)に0.5画素分ずれている点を除いて、図5(c)の色差間引き画像と標本点のパターンが共通する。そのため、図6(c)に関する重複説明は省略する。
第1分離部14は、第1画像生成部16および第2画像生成部17にそれぞれ接続されている。第1分離部14は、輝度間引き画像のうちで奇数番目の行の情報を第1画像生成部16に出力し、輝度間引き画像のうちで偶数番目の行の情報を第2画像生成部17に出力する。
第2分離部15は、第1画像生成部16および第2画像生成部17にそれぞれ接続されている。第2分離部15は、色差間引き画像のうちで奇数番目の行の情報を第1画像生成部16に出力し、色差間引き画像のうちで偶数番目の行の情報を第2画像生成部17に出力する。
第1画像生成部16は、輝度間引き画像および色差間引き画像からそれぞれ抽出された奇数番目の行の情報を用いて第1画像を生成する。第1画像生成部16は、第1符号化部18に接続されている。
第2画像生成部17は、輝度間引き画像および色差間引き画像からそれぞれ抽出された偶数番目の行の情報を用いて第2画像を生成する。第2画像生成部17は、第2符号化部19に接続されている。
ここで、第1画像および第2画像の例をそれぞれ説明する。第1画像および第2画像は、圧縮元の入力画像と同じデータ形式となるが、標本点の数はそれぞれ1/4となる。また、第1画像および第2画像は、間引きした画像の異なる行を抽出して生成されるため、両者の標本点のパターンが相違する。
図3(d)は、図3(a)に対応するYUV4:4:4形式の第1画像を示している。図3(e)は、図3(a)に対応するYUV4:4:4形式の第2画像を示している。図3の場合には、第1画像および第2画像のいずれでも輝度と色差の標本点の位置がそれぞれ一致する。また、第1画像と第2画像との間では、標本点の位置が行方向(X方向)および列方向(Y方向)に1画素ずつずれている。
また、図4(d)は、図4(a)に対応するYUV4:2:2形式の第1画像を示している。図4(e)は、図4(a)に対応するYUV4:2:2形式の第2画像を示している。図4の場合には、第1画像と第2画像との間では、輝度の標本点が行方向(X方向)および列方向(Y方向)に1画素ずつずれている。また、第1画像と第2画像との間では、色差の標本点が行方向(X方向)に2画素、列方向(Y方向)に1画素ずれている。
また、図5(d)は、図5(a)に対応するYUV4:2:0形式の第1画像を示している。図5(e)は、図5(a)に対応するYUV4:2:0形式の第2画像を示している。図5の場合には、第1画像と第2画像との間では、輝度の標本点が行方向(X方向)および列方向(Y方向)に1画素ずつずれている。また、第1画像と第2画像との間では、色差の標本点が行方向(X方向)に2画素、列方向(Y方向)に2画素ずれている。
また、図6(d)は、図6(a)に対応するYUV4:2:0形式の第1画像を示し、図6(e)は、図6(a)に対応するYUV4:2:0形式の第2画像を示している。図6の場合には、第1画像と第2画像との間では、輝度の標本点が行方向(X方向)および列方向(Y方向)に1画素ずつずれている。また、第1画像と第2画像との間では、色差の標本点が行方向(X方向)に2画素、列方向(Y方向)に2画素ずれている。なお、図6(d)の第1画像と、図6(e)の第2画像は、色差の標本点が列方向(Y方向)に0.5画素分ずれている点で、図5(d)、(e)とそれぞれ相違する。
第1符号化部18は、符号化部の一例であって、入力される第1画像を圧縮符号化する。例えば、第1符号化部18は、動画像の各フレームを所定サイズのブロック単位に分割し、動き補償予測を用いて動画像のデータを圧縮符号化する。なお、第1符号化部18の出力は、多重化部21に接続されている。以下の説明では、第1画像を符号化した情報を第1符号化情報とも称する。
第2符号化部19は、符号化部の一例であって、入力される第2画像を圧縮符号化する。第2符号化部19の構成は、第1符号化部18と同様である。なお、第2符号化部19の出力は、多重化部21に接続されている。以下の説明では、第2画像を符号化した情報を第2符号化情報とも称する。
圧縮制御部20は、動画像の圧縮のときに、圧縮処理部112の各部の動作を統括的に制御する。なお、図2では、圧縮制御部20と各部を接続する信号線の図示は、多重化部21を除いて適宜省略する。
また、圧縮制御部20は、第1画像、第2画像から間引き画像への復号方式を含む付帯情報を生成する。例えば、付帯情報は、圧縮元の画像のデータ形式や、輝度間引き画像および色差間引き画像での標本点の間引きパターンや、第1画像および第2画像での標本点の抽出パターンの情報を含む。
多重化部21は、出力部の一例であって、第1符号化情報や第2符号化情報をそれぞれサブピクチャ単位で多重化し、ピクチャ単位で出力する。また、多重化部21は、上述の付帯情報を、例えば符号化された画像のヘッダ領域に付与する。多重化部21は、上述の付帯情報を動画像のシーケンス単位で付与してもよい。なお、以下の説明では、圧縮処理部112で生成される圧縮された動画像のデータを圧縮動画像情報と称することがある。
次に、図7を参照しつつ、図2の符号化部(第1符号化部18、第2符号化部19)の構成例を説明する。図7では、ハードウェアやソフトウェアの連携によって実現される機能ブロックで符号化部の各部を示している。
ここで、動き補償予測を行う画像圧縮符号化方式としては、例えば、ISO/IEC13818−2に規定されるMPEG−2ビデオなどが知られている。上述の画像圧縮符号化方式では、Iピクチャ、Pピクチャ、Bピクチャを用いてフレーム内またはフレーム間で圧縮符号化が行われる。Iピクチャは画面内のみで完結する符号化により得られる画面内符号化画像である。Pピクチャは参照画像最大1枚を用いる予測符号化により得られる画面間予測符号化画像である。Bピクチャは参照画像最大2枚を用いる予測符号化により得られる画面間双予測符号化画像である。
符号化部(18、19)は、第1蓄積部31、減算部32、直交変換部33、量子化部34、可変長符号化部35、逆量子化部36、逆直交変換部37、加算部38、第2蓄積部39、予測情報生成部40、予測部41を有している。
第1蓄積部31は、入力される画像を蓄積する。例えば、第1符号化部18の場合、第1蓄積部31は第1画像を蓄積し、第2符号化部19の場合、第1蓄積部31は第2画像を蓄積する。第1蓄積部31に蓄積された画像は、符号化対象の画像として入力順に減算部32へ出力される。なお、符号化の完了した画像は第1蓄積部31から順次消去される。
減算部32は、PピクチャまたはBピクチャを生成するときには、入力された原画像と予測部41で生成された後述の予測値との差分信号(予測誤差値)を出力する。また、減算部32は、Iピクチャを生成するときには、入力された原画像の信号をそのまま出力する。
直交変換部33は、Iピクチャを生成するときには、減算部32をスルーして入力された原画像の信号に対して直交変換を行う。また、直交変換部33は、Pピクチャ又はBピクチャを生成するときには、上述の差分信号に対して直交変換を行う。
量子化部34は、直交変換部33から入力されたブロック単位の周波数係数(直交変換係数)を量子化係数に変換する。量子化部34の出力は、可変長符号化部35および逆量子化部36にそれぞれ入力される。
可変長符号化部35は、量子化係数や、動きベクトル等の予測情報を可変長符号化し、動画像の符号化ビットストリームを外部へ出力する。
逆量子化部36は、ブロック単位で量子化係数を逆量子化して周波数係数を復号する。逆直交変換部37は、逆量子化部36で復号された周波数係数を逆直交変換して予測誤差値(または原画像の信号)を復号する。
加算部38は、復号された予測誤差値と、予測部41で生成された後述の予測値とを加算する。そして、加算部38から出力されたピクチャの復号値(参照画像)は第2蓄積部39に蓄積される。なお、以後の動き補償予測で参照されない画像は第2蓄積部39から順次消去される。
予測情報生成部40は、第2蓄積部39の参照画像を用いて、符号化対象の画像を予測するための予測情報(動きベクトルなど)を生成する。予測情報は、予測部41および可変長符号化部35に出力される。
予測部41は、予測情報および参照画像に基づいて、符号化対象の画像をブロック単位で予測した予測値を出力する。この予測値は、減算部32および加算部38に出力される。
なお、或るブロックについて動き補償予測による予測誤差が所定条件より大きいと判断された場合、予測部41は、動き補償予測をせずにブロック内の画素を、所謂イントラマクロブロックとしてフレーム内圧縮符号化する。
次に、図8を参照しつつ、図1の復号処理部113の構成例を説明する。図8では、ハードウェアやソフトウェアの連携によって実現される機能ブロックで復号処理部113の各部を示している。
復号処理部113は、多重化分離部51、第1復号部52、第2復号部53、第1分離部54、第2分離部55、第1合成部56、第2合成部57、第1補間部58、第2補間部59、画像出力部60、復号制御部61を有している。なお、復号処理部113には、上述の圧縮動画像情報が入力される。
多重化分離部51は、第1復号部52、第2復号部53、復号制御部61に接続されている。多重化分離部51は、圧縮動画像情報から第1符号化情報、第2符号化情報および付帯情報をそれぞれ分離する。分離された第1符号化情報は第1復号部52に出力され、分離された第2符号化情報は第2復号部53に出力される。また、分離された付帯情報は復号制御部61に出力される。
第1復号部52は、復号部の一例であって、第1符号化情報から第1画像(図3(d),図4(d),図5(d),図6(d))を復号する。第1復号部52の出力は第1分離部54に接続されている。
第2復号部53は、復号部の一例であって、第2符号化情報から第2画像(図3(e),図4(e),図5(e),図6(e))を復号する。第2復号部53の出力は第2分離部55に接続されている。なお、第2復号部53の構成は、第1復号部52と同様である。
第1分離部54は、第1合成部56、第2合成部57に接続されている。第1分離部54は、入力された第1画像をYチャネルとU,Vチャネルとに分離する。第1画像のYチャネルは第1合成部56に出力され、第1画像のU,Vチャネルは第2合成部57に出力される。
第2分離部55は、第1合成部56、第2合成部57に接続されている。第2分離部55は、入力された第2画像をYチャネルとU,Vチャネルとに分離する。第2画像のYチャネルは第1合成部56に出力され、第2画像のU,Vチャネルは第2合成部57に出力される。
第1合成部56は、合成部の一例であって、付帯情報を用いて第1画像のYチャネルと第2画像のYチャネルとを合成する。これにより、第1合成部56は、輝度間引き画像(図3(b),図4(b),図5(b),図6(b))を復元する。なお、第1合成部56の出力は、第1補間部58に接続されている。
第2合成部57は、合成部の一例であって、付帯情報を用いて第1画像のUチャネルと第2画像のUチャネルとを合成する。また、第2合成部57は、付帯情報を用いて第1画像のVチャネルと第2画像のVチャネルとを合成する。これにより、第2合成部57は、上述の色差間引き画像(図3(c),図4(c),図5(c),図6(c))を復元する。なお、第2合成部57の出力は、第2補間部59に接続されている。
第1補間部58は、補間部の一例であって、復元された輝度間引き画像の標本点をフレーム内で補間する。これにより、第1補間部58は、輝度間引き画像(Y)を圧縮元の画像のYチャネルと同じ形式の輝度補間画像(Y)に変換する。なお、第1補間部58の出力は、画像出力部60に接続されている。
第2補間部59は、補間部の一例であって、復元されたU,Vチャネルの色差間引き画像の標本点をそれぞれフレーム内補間する。これにより、第2補間部59は、色差間引き画像(U,V)を圧縮元の画像のU,Vチャネルと同じ形式の色差補間画像(U,V)にそれぞれ変換する。なお、第2補間部59の出力は、画像出力部60に接続されている。
画像出力部60は、同じフレームの輝度補間画像と色差補間画像とを対応付けて、1つの復号フレームとして出力する。輝度補間画像は圧縮元の画像のYチャネルと同じ画像サイズであり、色差補間画像は圧縮元の画像のU,Vチャネルとそれぞれ同じ画像サイズである。そのため、復号フレームのYUVの各成分は、いずれも圧縮元の画像と同じ画像サイズに復元される。
ここで、上述の輝度補間画像、色差補間画像、復号フレームの例をそれぞれ説明する。なお、復号時の各画像の図面において、補間された輝度の標本点は破線の丸印で示し、補間された色差の標本点は破線のバツ印で示す。
図9(a)は、図3(a)に対応するYUV4:4:4形式の輝度補間画像を示している。図9(b)は、図3(a)に対応するYUV4:4:4形式の色差補間画像を示している。図9(c)は、図9(a)および図9(b)を用いた復号フレームを示している。
また、図10(a)は、図4(a)に対応するYUV4:2:2形式の輝度補間画像を示している。図10(b)は、図4(a)に対応するYUV4:2:2形式の色差補間画像を示している。図10(c)は、図10(a)および図10(b)を用いた復号フレームを示している。
また、図11(a)は、図5(a)に対応するYUV4:2:0形式の輝度補間画像を示している。図11(b)は、図5(a)に対応するYUV4:2:0形式の色差補間画像を示している。図11(c)は、図11(a)および図11(b)を用いた復号フレームを示している。
また、図12(a)は、図6(a)に対応するYUV4:2:0形式の輝度補間画像を示している。図12(b)は、図6(a)に対応するYUV4:2:0形式の色差補間画像を示している。図12(c)は、図12(a)および図12(b)を用いた復号フレームを示している。
復号制御部61は、動画像の復号のときに、復号処理部113の各部の動作を統括的に制御する。なお、図8では、復号制御部61と各部を接続する信号線の図示は、多重化分離部51を除いて適宜省略する。
また、復号制御部61は、圧縮動画像情報から分離された付帯情報を用いて、輝度間引き画像、色差間引き画像を復元する制御や、輝度補間画像、色差補間画像を生成する制御を実行する。
次に、図13を参照しつつ、図8の復号部(第1復号部52、第2復号部53)の構成例を説明する。図13では、ハードウェアやソフトウェアの連携によって実現される機能ブロックで復号部の各部を示している。なお、図13に示す復号部52、53の機能ブロックは、図7で示した符号化部18、19の同名称の機能ブロックと共有化されていてもよい。
復号部(52、53)は、符号復号部71、逆量子化部72、逆直交変換部73、加算部74、第1蓄積部75、第2蓄積部76、予測部77を有している。
符号復号部71は、入力される動画像の符号化ビットストリームを復号し、量子化係数や、動きベクトル等の予測情報を出力する。なお、復号された量子化係数は逆量子化部72に入力され、復号された予測情報は予測部77に入力される。
逆量子化部72は、ブロック単位で量子化係数を逆量子化して周波数係数を復号する。逆直交変換部73は、逆量子化部72で復号された周波数係数を逆直交変換して予測誤差値(または原画像の信号)を復号する。
加算部74は、復号された予測誤差値と、予測部77で生成された予測値とを加算することで、復号された画像をブロック単位で出力する。そして、加算部74から出力された画像の復号値は第1蓄積部75および第2蓄積部76にそれぞれ入力される。
第1蓄積部75は、復号した第1画像または第2画像を後段の回路(第1分離部54または第2分離部55)に出力するまで蓄積する。なお、後段の回路への出力が完了した画像は第1蓄積部75から順次消去される。また、第2蓄積部76は、画像の復号値を参照画像として蓄積する。なお、以後の動き補償予測で参照されない画像は第2蓄積部76から順次消去される。
予測部77は、予測情報および参照画像に基づいて、復号対象の画像をブロック単位で予測した予測値を加算部74に出力する。
(動画像の圧縮動作例)
以下、第1実施形態での動画像の圧縮動作例を説明する。
第1実施形態での電子カメラ100が動画撮影モード下で撮影指示を受け付けると、画像処理エンジン104は撮像素子102を駆動させて動画撮影を開始する。撮像素子102から出力される動画像のフレームは、信号処理部103および画像処理部111で一連の信号処理と画像処理が施された後に、圧縮処理部112で圧縮符号化される。そして、圧縮処理部112で圧縮された圧縮動画像情報は、画像処理エンジン104の制御により、記録I/F107に接続された記憶媒体110に記録される。
図14は、圧縮処理部112での動画像の圧縮動作例を示す流れ図である。
ステップ#101:圧縮処理部112の圧縮制御部20は、輝度間引き画像および色差間引き画像での標本点の間引きパターンの設定や、第1画像および第2画像の合成パターンの設定を実行する。なお、#101の設定は動画像の最初のフレームで1回のみ実行される。
ステップ#102:色成分分離部11は、必要に応じて、入力されるYUV画像のフレーム(図3(a),図4(a),図5(a),図6(a))にローパスフィルタ処理を施す。その後、色成分分離部11はYUV画像を輝度成分と色差成分とに分離する。YUV画像のYチャネルは第1間引き部12に出力され、YUV画像のU,Vチャネルは第2間引き部13に出力される。
ステップ#103:第1間引き部12は、Yチャネルから標本点を抽出して輝度間引き画像(図3(b),図4(b),図5(b),図6(b))を生成する。
ステップ#104:第2間引き部13は、U,Vチャネルから標本点を抽出して色差間引き画像(図3(c),図4(c),図5(c),図6(c))を生成する。なお、#103の処理と#104の処理は並列に実行されていてもよい。
ステップ#105:第1分離部14は、輝度間引き画像(#103)のうちで奇数番目の行の情報を第1画像生成部16に出力し、輝度間引き画像(#103)のうちで偶数番目の行の情報を第2画像生成部17に出力する。
ステップ#106:第2分離部15は、色差間引き画像(#104)のうちで奇数番目の行の情報を第1画像生成部16に出力し、色差間引き画像(#104)のうちで偶数番目の行の情報を第2画像生成部17に出力する。なお、#105の処理と#106の処理は並列に実行されていてもよい。
ステップ#107:第1画像生成部16は、輝度間引き画像および色差間引き画像からそれぞれ抽出された奇数番目の行の情報を用いて第1画像(図3(d),図4(d),図5(d),図6(d))を生成する。
ステップ#108:第2画像生成部17は、輝度間引き画像および色差間引き画像からそれぞれ抽出された偶数番目の行の情報を用いて第2画像(図3(e),図4(e),図5(e),図6(e))を生成する。なお、#107の処理と#108の処理は並列に実行されていてもよい。
ステップ#109:圧縮制御部20は、#101の設定に基づいて上述の付帯情報を生成する。なお、圧縮制御部20は、付帯情報を符号化してもよい。
ステップ#110:第1符号化部18は、例えばMPEG−2ビデオのメインプロファイルに準拠して第1画像(#107)を圧縮符号化する。これにより、第1符号化情報が生成される。ここで、第1実施形態での第1符号化部18は、異なるフレームの第1画像の間で動き補償予測を行うが、第1画像と第2画像との間では動き補償予測を行わない。
ステップ#111:第2符号化部19は、例えばMPEG−2ビデオのメインプロファイルに準拠して第2画像(#108)を圧縮符号化する。これにより、第2符号化情報が生成される。ここで、第1実施形態での第2符号化部19は、異なるフレームの第2画像の間で動き補償予測を行うが、第1画像と第2画像との間では動き補償予測を行わない。なお、#110の処理と#111の処理は並列に実行されていてもよい。
ここで、図15(a)〜(c)は、第1実施形態での動画像の符号化形式の例を示す図である。図15において「In」はn番目のIピクチャを示し、「Pn」はn番目のPピクチャを示し、「Bn」はn番目のBピクチャを示す。また、第1画像は下付き数字の「1」で示し、第2画像は下付き数字の「2」で示す。
図15(a)は、動画像の各フレームをIピクチャとして符号化する例を示している。図15(a)の場合は、画面内予測符号化のみであり、異なる画像との間で画面間予測符号化は行われない。
また、図15(b)は、IピクチャとPピクチャとの組み合わせで動画像を符号化する例を示している。Pピクチャの符号化では、時間軸方向で直前(直近の過去)のIピクチャまたはPピクチャを参照して、第1画像間または第2画像間でそれぞれ独立に画面間予測符号化が行われる。
また、図15(c)は、Iピクチャ、Pピクチャ、Bピクチャとの組み合わせで動画像を符号化する例を示している。図15(c)の場合、Iピクチャ、Pピクチャは2フレームおきに生成され、IピクチャまたはPピクチャの間に2フレーム分のBピクチャが挿入されている。Bピクチャの符号化では、時間軸方向で前後に隣り合うIピクチャおよびPピクチャを参照して、第1画像間または第2画像間でそれぞれ独立に画面間双予測符号化が行われる。
なお、Pピクチャを圧縮する場合、符号化部は、参照画像の候補のうちからブロックごとに参照画像を1つ選択し、その参照画像の復号値を用いて各ブロックの動き補償予測を行う。また、Bピクチャを圧縮する場合、符号化部は、参照画像の候補のうちからブロックごとに過去と未来の参照画像を1つずつ選択し、2つの参照画像の復号値を用いて各ブロックの動き補償予測を行う。
ステップ#112:多重化部21は、第1符号化情報と、第2符号化情報とをピクチャ単位で多重化するとともに、上述の付帯情報を付与して圧縮動画像情報を出力する。なお、圧縮動画像情報は、記憶媒体110に記録される。
ステップ#113:圧縮制御部20は、入力される動画像全体の圧縮が終了したか否かを判定する。上述の要件を満たす場合(YES側)、圧縮制御部20は圧縮動作を終了する。一方、上述の要件を満たさない場合(NO側)、#102に戻って次のフレームの圧縮が行われる。以上で、図14の説明を終了する。
(動画像の復号動作例)
以下、第1実施形態での動画像の復号動作例を説明する。
第1実施形態での電子カメラ100が圧縮処理部112で圧縮された圧縮動画像情報の再生指示を受け付けると、画像処理エンジン104は記録I/F107に接続された記憶媒体110から圧縮動画像情報を取得する。そして、復号処理部113は圧縮動画像情報を復号する。そして、復号された動画像は、画像処理エンジン104の制御により、例えばモニタ108で再生表示される。
図16は、復号処理部113での動画像の復号動作例を示す流れ図である。
ステップ#201:復号処理部113は、記憶媒体110から圧縮動画像情報を取得する。
ステップ#202:多重化分離部51は、圧縮動画像情報の1フレーム分の情報(第1符号化情報、第2符号化情報および付帯情報)を分離する。分離された第1符号化情報は第1復号部52に出力され、分離された第2符号化情報は第2復号部53に出力される。また、分離された付帯情報は復号制御部61に出力される。
ステップ#203:復号制御部61は、付帯情報を必要に応じて復号するとともに、付帯情報を参照する。これにより、復号制御部61は、輝度間引き画像および色差間引き画像での標本点の間引きパターンの情報や、第1画像および第2画像の合成パターンの情報を取得する。
ステップ#204:第1復号部52は、例えばMPEG−2ビデオのメインプロファイルに準拠して第1符号化情報から第1画像(図3(d),図4(d),図5(d),図6(d))を復号する。
ステップ#205:第2復号部53は、例えばMPEG−2ビデオのメインプロファイルに準拠して第2符号化情報から第2画像(図3(e),図4(e),図5(e),図6(e))を復号する。なお、#204の処理と#205の処理は並列に実行されていてもよい。
ステップ#206:第1分離部54は、入力された第1画像(#204)をYチャネルとU,Vチャネルとに分離する。第1画像のYチャネルは第1合成部56に出力され、第1画像のU,Vチャネルは第2合成部57に出力される。
ステップ#207:第2分離部55は、入力された第2画像(#205)をYチャネルとU,Vチャネルとに分離する。第2画像のYチャネルは第1合成部56に出力され、第2画像のU,Vチャネルは第2合成部57に出力される。なお、#206の処理と#207の処理は並列に実行されていてもよい。
ステップ#208:第1合成部56は、付帯情報を用いて第1画像のYチャネルと第2画像のYチャネルとを合成する。これにより、第1合成部56は、輝度間引き画像(図3(b),図4(b),図5(b),図6(b))を復元する。
例えば、第1合成部56は、第1画像からYチャネルの奇数番目の行の情報を取得し、第2画像からYチャネルの偶数番目の行の情報を取得する。そして、第1合成部56は、奇数番目の行の情報と偶数番目の行の情報とが列方向に交互に並ぶように並べ替えて輝度間引き画像を復元すればよい。
ステップ#209:第2合成部57は、付帯情報を用いて第1画像のU,Vチャネルと第2画像のU,Vチャネルとを合成する。これにより、第1合成部56は、U,Vチャネルの輝度間引き画像(図3(c),図4(c),図5(c),図6(c))をそれぞれ復元する。
例えば、第2合成部57は、第1画像からU,Vチャネルの奇数番目の行の情報をそれぞれ取得し、第2画像からU,Vチャネルの偶数番目の行の情報をそれぞれ取得する。そして、第2合成部57は、奇数番目の行の情報と偶数番目の行の情報とが列方向に交互に並ぶように並べ替えて色差間引き画像を復元すればよい。なお、#208の処理と#209の処理は並列に実行されていてもよい。
ステップ#210:第1補間部58は、#208で復元された輝度間引き画像の標本点をフレーム内補間する。これにより、第1補間部58は、Yチャネルの輝度間引き画像を輝度補間画像(図9(a),図10(a),図11(a),図12(a))に変換する。
図17は、補間部での補間処理の例を示す図である。一例として、図17の例では、輝度間引き画像において、標本点Y35、Y44、Y46、Y55に隣り合う標本点Y45をフレーム内補間する場合を考える。このとき、第1補間部52は、式(1)の演算により補間すべき標本点Y45の輝度成分を求めればよい。
ここで、本明細書の記載において、「Sγh」は、標本点γでの水平方向の相関を示し、「Sγv」は、標本点γでの垂直方向の相関を示す。また、「Kγh」は、標本点γでの水平方向の重み付け値を示し、「Kγv」は、標本点γでの垂直方向の重み付け値を示す。
ステップ#211:第2補間部59は、#209で復元された色差間引き画像の標本点をフレーム内補間する。これにより、第2補間部59は、U,Vチャネルの色差間引き画像をそれぞれ色差補間画像(図9(b),図10(b),図11(b),図12(b))に変換する。第2補間部59での補間処理は、第1補間部58での処理(図17参照)とほぼ同様であるので重複説明は省略する。なお、#210の処理と#211の処理は並列に実行されていてもよい。
ステップ#212:画像出力部60は、同じフレームの輝度補間画像と色差補間画像とを対応付けて、1つの復号フレーム(図9(c),図10(c),図11(c),図12(c))として出力する。
ステップ#213:復号制御部61は、圧縮動画像情報全体の復号が終了したか否かを判定する。上述の要件を満たす場合(YES側)、復号制御部61は復号動作を終了する。一方、上述の要件を満たさない場合(NO側)、#201に戻って次のフレームの復号が行われる。以上で、図16の説明を終了する。
(第1実施形態の作用効果)
以下、第1実施形態における作用効果を述べる。第1実施形態の電子カメラ100は、動画像の圧縮時において、奇数番目の行の標本点と偶数番目の行の標本点との位置が行方向にずれるように、YUV画像のYチャネルとU,Vチャネルとでそれぞれ標本点を間引きする。また、電子カメラ100は、上述の間引き後の輝度間引き画像と色差間引き画像とからそれぞれ奇数番目の行の標本点を抽出して第1画像を生成する。また、電子カメラ100は、上述の間引き後の輝度間引き画像と色差間引き画像とからそれぞれ偶数番目の行の標本点を抽出して第2画像を生成する。そして、電子カメラ100は、第1画像を符号化して第1符号化情報を生成し、第2画像を符号化して第2符号化情報を生成する。第1画像および第2画像は、圧縮元の画像に比べて標本点が1/4になるため、間引き前と比べて画像のデータ量は小さくなる。
また、例えば、斜め方向に間引きした画像の間隔を詰めた状態で圧縮する場合には、縦方向のエッジや横方向のエッジを含む画像では隣接する標本点との相関が低下し、圧縮時の符号化効率の低下や画質の劣化が生じうる。一方、第1実施形態では、斜め方向に間引きされた画像を第1画像および第2画像に分けて圧縮するので、上述の場合に比べて圧縮時の符号化効率の低下や画質の劣化を抑制できる。
また、第1実施形態の電子カメラ100は、圧縮動画像情報を復号するとき、第1画像および第2画像を並べ替えて輝度間引き画像と色差間引き画像とを復元する。そして、電子カメラ100は、輝度間引き画像と色差間引き画像をそれぞれ補間して、圧縮元の画像と同じ形式の復号フレームを出力する。なお、画像の間引きのパターンは、画像圧縮装置が圧縮動画像情報に付帯情報を付加することで、画像復号装置に対して明示的に告知できる。また、第1実施形態では、標本点のパターンの異なる2画像を用いて間引きした画像を復元し、この間引き画像を補間して復号フレームを生成するので、第1画像や第2画像をそのまま再生する場合と比べて画質が高くなる。
また、第1実施形態の圧縮動画像情報は、上述の復号処理部113を有していない一般の復号装置でも、MPEG−2ビデオのメインプロファイルに準拠して第1画像または第2画像の画質で復号、再生できる。
また、第1実施形態の圧縮動画像情報は、第1符号化情報と第2符号化情報とがそれぞれ独立して圧縮されるので、一方の符号化情報のみを用いて第1画像または第2画像の画質で画像の復号、再生をすることができる。例えば、通信回線を用いて動画像を転送する場合、低速度の回線では一方の符号化情報のみを送信し、高速度の回線では圧縮動画像情報を送信する等の使い分けができる。
<第2実施形態の説明>
第2実施形態は、第1実施形態の変形例であって、圧縮処理部112、復号処理部113の構成のみ相違する。そのため、以下の説明では、第1実施形態と共通する要素には、同一符号を付して重複説明は省略する。
図18は、第2実施形態での圧縮処理部112の構成例を示す図である。第2実施形態での圧縮処理部112は、色成分分離部11、第1間引き部12、第2間引き部13、第1分離部14、第2分離部15、第1画像生成部16、第2画像生成部17、圧縮制御部20、符号化処理部22を有している。
ここで、第2実施形態での圧縮処理部112のうち、色成分分離部11、第1間引き部12、第2間引き部13、第1分離部14、第2分離部15、第1画像生成部16、第2画像生成部17、圧縮制御部20の構成および機能は、第1実施形態と共通である。なお、第2実施形態での第1画像生成部16、第2画像生成部17の出力は、それぞれ符号化処理部22に接続されている。
符号化処理部22は、符号化部および出力部の一例であって、入力される第1画像および第2画像を圧縮符号化する機能と、付帯情報を付与する機能とを有する。符号化処理部22に内蔵される符号化部は、図7と同様に構成される。そのため、符号化処理部22に含まれる符号化部の各要素については重複説明を省略する。また、第2実施形態での符号化処理部22は、第1画像と第2画像との間で画面間双予測符号化を行う。
図19は、第2実施形態での復号処理部113の構成例を示す図である。第2実施形態での復号処理部113は、復号部62、第1分離部54、第2分離部55、第1合成部56、第2合成部57、第1補間部58、第2補間部59、画像出力部60、復号制御部61を有している。
ここで、第2実施形態での復号処理部113では、復号部62に圧縮動画像情報が入力される。復号部62は、図13と同様に構成される。そのため、復号部62の各要素については重複説明を省略する。また、復号部62は、画面間双予測符号化で符号化された第1画像および第2画像をそれぞれ復号する。そして、復号部62は、復号した第1画像を第1分離部54に出力し、復号した第2画像を第2分離部55に出力する。また、復号部62は、付帯情報を復号制御部61に出力する。
なお、第2実施形態での復号処理部113のうち、第1分離部54、第2分離部55、第1合成部56、第2合成部57、第1補間部58、第2補間部59、画像出力部60、復号制御部61の構成および機能は、第1実施形態と共通である。
(動画像の圧縮動作例)
以下、第2実施形態での動画像の圧縮動作例を説明する。図20は、第2実施形態の圧縮処理部112での動画像の圧縮動作例を示す流れ図である。なお、図20に示す#301から#308までの処理は、図14に示す#101から#109までの処理にそれぞれ対応するため、重複説明は省略する。
ステップ#310:符号化処理部22は、例えばMPEG−2ビデオのメインプロファイルに準拠して第1画像(#307)および第2画像(#308)を圧縮符号化する。これにより、第1符号化情報および第2符号化情報が生成される。
図21(a),(b)は、第2実施形態での動画像の符号化形式の例を示す図である。図21において「In」はn番目のIピクチャを示し、「Pn」はn番目のPピクチャを示し、「Bn」はn番目のBピクチャを示す。また、第1画像は下付き数字の「1」で示し、第2画像は下付き数字の「2」で示す。
図21(a)は、IピクチャとPピクチャとの組み合わせで動画像を符号化する例を示している。図21(a)の場合には、時間軸方向で過去の第1画像および第2画像を参照して画面間予測符号化が行われる。
図21(a)の場合、Pピクチャとなる第1画像の動き補償予測では、それぞれ1フレーム過去の第1画像(Iピクチャ/Pピクチャ)または第2画像(Pピクチャ)が参照画像の候補となる。また、Pピクチャとなる第2画像の動き補償予測では、1フレーム過去の第2画像(Pピクチャ)または同じフレームから分離された第1画像(Iピクチャ/Pピクチャ)が参照画像の候補となる。
また、図21(b)は、Iピクチャ、Pピクチャ、Bピクチャとの組み合わせで動画像を符号化する例を示している。図21(b)の場合、第1画像では、Iピクチャ、Pピクチャは2フレームおきに生成され、IピクチャまたはPピクチャの間に2フレーム分のBピクチャが挿入されている。また、第2画像では、Pピクチャのみが2フレームおきに生成され、Pピクチャの間に2フレーム分のBピクチャが挿入されている。
図21(b)の場合、Pピクチャとなる第1画像、第2画像の動き補償予測では、直前のIピクチャまたはPピクチャのフレームに対応する第1画像(Iピクチャ/Pピクチャ)または第2画像(Pピクチャ)が参照画像の候補となる。
また、図21(b)の場合、Bピクチャとなる第1画像,第2画像の動き補償予測では、(1)過去側で直近のIピクチャまたはPピクチャのフレームから分離した第1画像または第2画像のうち1つと、(2)未来側で直近のIピクチャまたはPピクチャのフレームから分離した第1画像または第2画像のうち1つとが、それぞれ参照画像の候補となる。
ところで、第1画像と第2画像で同じ位置の画素は圧縮元の画像では標本点の位置が相違する。
この標本点の位置の相違に起因して、画像の静止部分では、それぞれ異なるフレームの第1画像間もしくは第2画像間で動き補償を伴わないフレーム間予測により、比較的小さなフレーム間予測誤差を符号化することができる。
一方、画像の動き部分では、例えば、或るフレームの第1画像を動き補償予測する際に、異なるフレームの第1画像を参照して動き補償予測するよりも異なるフレームの第2画像を参照したほうが予測誤差を小さくできる場合や、或るフレームの第2画像を動き補償予測する際に、異なるフレームの第2画像よりも同じフレームの第1画像から動き補償予測したほうが予測誤差を小さくできる場合がある。前者のケースは、符号化対象の第1画像の動き部分が異なるフレームの第2画像の画素位置から動いた、もしくは、例えば、異なるフレームの第2画像の画素位置へ動く場合である。また、後者のケースは、符号化対象の第2画像の動き部分が絵柄の変化やオクージョンなどにより、異なるフレームの第2画像を参照する動き補償予測では予測誤差を小さくできない場合である。そのため、図21のように、第1画像、第2画像の参照画像をブロック単位で選択して動き補償予測することで、符号化効率を大幅に向上できる。
なお、同じフレームの他方の画像を参照して動き補償予測する場合、標本点の位置の相違を補償すればよい。以下の説明では、図面では画像上で標本点(画素P)の配列を丸印で示す。また、予測先画像の注目画素の位置に対する予測元画像の参照画素の位置ズレを、動きベクトルMV[x,y]と称する。動きベクトルMVは、右方向のズレによりxが増加し、左方向のズレによりxが減少する。同様に、動きベクトルMVは、下方向のズレによりyが増加し、上方向のズレによりyが減少する。
図22は、或るフレームの第2画像を、同じフレームの第1画像を参照して動き補償予測する例である。図22は、予測先画像(第2画像)の注目画素P2xでの画素値を、注目画素に隣接する予測元画像(第1画像)の4画素(P1a〜P1d)の平均値で求める例を示している。図22の場合、注目画素の画素値を4つの隣接画素の平均で予測するため、予測元画像の復号値に含まれる符号化歪みを抑制できる。
図22の例では、色配列の左上に第1画像のP1画素、色配列の右下に第2画像のP2画素が配置されている。図22の場合、第1画像の画素P1aと第2画像の画素P2xを同じ位置の標本点として符号化する。そのため、図22の例では、動きベクトルMVは[0.5,0.5]となる。
上述した図22の動き補償予測は、絵柄の変化が比較的に少ないブロックで選択される確率が高い。動画像には動きのない部分も数多く含まれるため、第1画像と第2画像との圧縮符号化では、図22の予測が選択される頻度も高くなる。そのため、符号化処理部22は、図22の動き補償予測の場合に最短の符号を割り当てて、圧縮効率を高めてもよい。
例えば、あるフレームの第2画像を、同じフレームの第1画像を参照して動き補償予測する場合、動きベクトルから[0.5,0.5]を一律に引く補正を行うと、MPEG−2ビデオなどで最短の符号割当となる[0,0]となるので、圧縮効率を高めることができる。なお、上述の補正をしたデータを復号するときには、復号時に[0.5,0.5]を加算補正すればよい。
また、図4、図5、図6で説明したように、圧縮元の画像のデータ形式に応じて、第1画像と第2画像の間で輝度の標本点に対する色差の標本点の配置がそれぞれ異なる場合がある。そのため、符号化処理部22は、圧縮元の画像のデータ形式に応じて、U,Vチャネルで適用する動きベクトルの補正量を求める必要がある。
一例として、YUV4:2:2形式の第1画像及び第2画像(図4(d),(e))においてU,Vチャネルの動き補償予測を行う場合には、第1画像と第2画像で色差の標本点がYチャネル換算で水平方向に0.5画素ずれている。また、YUV4:2:0形式の第1画像及び第2画像(図5(d),(e))においてU,Vチャネルの動き補償予測を行う場合には、第1画像と第2画像で色差の標本点がYチャネル換算で水平方向および垂直方向に0.5画素ずれている。一般に、U,Vチャネルの動き補償予測は、Yチャネルの動きベクトルをデータ形式に応じてスケーリングした動きベクトルを用いる。上述のずれを配慮しないままだと、ずれた動きベクトルでU,Vチャネルは動き補償予測されるので符号化効率が低下する。U,Vチャネルの動き補償予測において、データ形式に応じて、上述のずれを補正(すなわち、動きベクトルを補正)することで符号化効率を向上できる。
なお、第1画像と第2画像との動き補償予測での動きベクトルの補正は、予め圧縮方式で規格化してもよく、上述した動きベクトルの補正の要否を示す補正情報を符号化時に付与することで画像復号装置に対して明示してもよい。
ステップ#311:符号化処理部22は、第1符号化情報、第2符号化情報と、上述の付帯情報とをピクチャ単位で多重化した圧縮動画像情報を出力する。なお、圧縮動画像情報は、記憶媒体110に記録される。
ここで、#310において、第1画像と第2画像との動き補償予測を行った場合、圧縮制御部20は、上述した動きベクトルの補正の要否を示す補正情報を生成する。そして、#311での符号化処理部22は、上述の補正情報をさらに圧縮動画像情報に付与する。例えば、符号化処理部22は、MPEG−2ビデオのメインプロファイルに準拠して圧縮符号化する場合、ピクチャコーディングエクステンションに続くユーザデータの領域に上述の付帯情報や補正情報を含めることができる。
ステップ#312:圧縮制御部20は、入力される動画像全体の圧縮が終了したか否かを判定する。上述の要件を満たす場合(YES側)、圧縮制御部20は圧縮動作を終了する。一方、上述の要件を満たさない場合(NO側)、#302に戻って次のフレームの圧縮が行われる。以上で、図20の説明を終了する。
また、図23は、図20の#310での圧縮符号化処理の例を示す流れ図である。
ステップ#401:圧縮制御部20は、符号化の対象となる画像の種類(第1画像、第2画像)を識別する。また、圧縮制御部20は、符号化の対象となる画像の符号化形式(Iピクチャ、Pピクチャ、Bピクチャ)を決定する。
ステップ#402:圧縮制御部20は、符号化の対象となる画像と参照画像との組み合わせに応じて、圧縮時の動き補償予測での動きベクトルの補正の要否を決定する。
例えば、第1画像同士、第2画像同士で画面間予測符号化をする場合、符号化の対象となる画像と参照画像との間で標本点の位置は一致する。しかし、第1画像と第2画像との間で画面間予測符号化をする場合、符号化の対象となる画像と参照画像との間で標本点の位置にズレが生じる。したがって、後者の場合には、圧縮制御部20は、動き補償予測で動きベクトルを補正する設定を行う。
また、画像の輝度面と色差面との間で標本点のサンプリングが異なる場合、輝度成分で動き補償予測に用いた動きベクトルを、色差成分の動き補償予測にそのまま適用できない。したがって、この場合にも、圧縮制御部20は、動き補償予測で動きベクトルを補正する設定を行う。
ステップ#403:符号化処理部22は、符号化する画像のヘッダ領域の情報を符号化する。ここで、画像のヘッダ領域には、圧縮制御部20の制御により、符号化の対象となる画像の符号化形式(Iピクチャ、Pピクチャ、Bピクチャ)の情報や、付帯情報および補正情報が付与される。例えば、付帯情報には、符号化する画像が第1画像、第2画像のいずれであるかを示す識別子が含まれる。また、付帯情報には、圧縮元の画像のデータ形式を示す識別子や、輝度間引き画像や色差間引き画像での標本点の間引きパターンを示す識別子や、第1画像や第2画像での標本点の抽出パターンを示す識別子が含まれていてもよい。なお、補正情報は、例えば、上述した動きベクトルの補正の要否を示す識別子である。
また、例えば、#403での符号化処理部22は、MPEG−2ビデオのメインプロファイルに準拠して圧縮符号化する場合、ピクチャコーディングエクステンションに続くユーザデータの領域に上述の付帯情報や補正情報を含めればよい。
ステップ#404:符号化処理部22の予測情報生成部40は、PピクチャまたはBピクチャを生成する場合、参照画像を用いて、マクロブロックを動き補償予測する。また、予測情報生成部40は、Iピクチャを生成する場合には、マクロブロックの情報をスルー出力する。
ステップ#405:符号化処理部22の予測部41は、PピクチャまたはBピクチャを生成する場合、動き補償予測(#404)で得たマクロブロックの予測値を出力する。また、予測部41は、Iピクチャを生成する場合、予測値としてゼロ値を出力する。そして、減算部32は、画像の原信号から予測値を減算して予測誤差を出力する。
ステップ#406:符号化処理部22の直交変換部33は、予測誤差(#405)を直交変換する。
ステップ#407:符号化処理部22の量子化部34は、予測誤差の直交変換係数(#406)を量子化する。
ステップ#408:符号化処理部22の可変長符号化部35は、動きベクトルや参照画像等を示す予測情報や、量子化係数を可変長符号化する。#408の段階で、1ブロック分の符号化情報が後段の回路に出力される。
ステップ#409:符号化処理部22の逆量子化部36は、量子化係数を逆量子化する。
ステップ#410:符号化処理部22の逆直交変換部37は、逆量子化で求めた直交変換係数を逆直交変換して予測誤差を復号する。
ステップ#411:符号化処理部22の加算部38は、復号された予測誤差にマクロブロックの予測値を加算して、ピクチャの局部復号値を生成する。なお、上述の局部復号値は符号化処理部22の第2蓄積部39に蓄積される。
ステップ#412:圧縮制御部20は、1フレームの符号化が完了したか否かを判定する。上述の要件を満たす場合(YES側)には、#311に処理が復帰する。一方、上述の要件を満たさない場合(NO側)には、#404に戻って符号化処理部22は上述の動作を繰り返す。上述のループにより、符号化対象の画像がブロック単位で符号化されることとなる。以上で、図23の説明を終了する。
また、図24は、図23の#404での動き補償予測の処理例を示す流れ図である。
ステップ#501:符号化処理部22の予測情報生成部40は、マクロブロックの動きベクトル、予測モード、参照画像等の予測情報を生成する。
なお、第1画像と第2画像との間で動き補償予測を行う場合、#501での予測情報生成部40は、参照画像との画素位置のずれを補正するように、マクロブロックの動きベクトルをオフセット補正してもよい。
ステップ#502:符号化処理部22の予測情報生成部40は、マクロブロックをフレーム内符号化するか否か(すなわち、所謂イントラマクロブロックとして符号化するか否か)を判定する。例えば、動き補償予測しても所定条件より予測誤差を小さくできない場合などで、予測情報生成部40は、マクロブロックをフレーム内符号化すると判断する。上述の要件を満たす場合(YES側)には、図23の#405に処理が復帰する。なお、この場合には、予測情報生成部40はマクロブロックの情報をスルー出力する。一方、上述の要件を満たさない場合(NO側)には、#503に処理が移行する。
ステップ#503:符号化処理部22の予測情報生成部40は、上述の予測情報(#501)に基づいて、マクロブロックの輝度成分について動き補償予測を行う。
ステップ#504:符号化処理部22の予測情報生成部40は、マクロブロックの輝度成分の動きベクトルを、マクロブロックの色差成分に合わせて補正する。#504での予測情報生成部40は、画像の輝度面と色差面との標本点のサンプリングの違いに応じて動きベクトルを補正する。
例えば、YUV4:4:4形式の画像では、輝度成分の標本点と色差成分の標本点の重心が一致する。そのため、予測情報生成部40は、YUV4:4:4形式の場合、マクロブロックの輝度成分の動きベクトルを色差成分の予測にそのまま適用する。また、YUV4:2:2形式の画像では、上述のようにU,Vチャネルの動きベクトルは、Yチャネル換算で水平方向に0.5画素のずれ(MV[0.5,0])となる。そのため、予測情報生成部40は、YUV4:2:2形式の場合、マクロブロックの輝度成分の動きベクトルを水平方向に0.5画素ずらして色差成分の予測に適用する。また、YUV4:2:0形式の画像では、上述のようにU,Vチャネルの動きベクトルは、Yチャネル換算で水平方向および垂直方向に0.5画素のずれ(MV[0.5,0.5])となる。そのため、予測情報生成部40は、YUV4:2:0形式の場合、マクロブロックの輝度成分の動きベクトルを水平方向および垂直方向にそれぞれ0.5画素ずらして色差成分の予測に適用する。
ステップ#505:符号化処理部22の予測情報生成部40は、上述の補正後の予測情報(#504)に基づいて、マクロブロックの色差成分について動き補償予測を行う。その後、図23の#405に処理が復帰する。以上で、図24の説明を終了する。
(動画像の復号動作例)
以下、第2実施形態での動画像の復号動作例を説明する。図25は、第2実施形態の復号処理部113での動画像の復号動作例を示す流れ図である。
ステップ#601:復号処理部113は、記憶媒体110から圧縮動画像情報を取得する。
ステップ#602:復号部62は、圧縮動画像情報のうちから付帯情報および補正情報を取得する。付帯情報および補正情報は、復号制御部61に出力される。
ステップ#603:復号制御部61は、付帯情報および補正情報を参照する。これにより、復号制御部61は、動きベクトルの補正の要否を示す情報や、輝度間引き画像および色差間引き画像での標本点の間引きパターンの情報や、第1画像および第2画像の合成パターンの情報を取得する。
ステップ#604:復号部62は、例えばMPEG−2ビデオのメインプロファイルに準拠して第1符号化情報から第1画像(図3(d),図4(d),図5(d),図6(d))を復号する。また、復号部62は、例えばMPEG−2ビデオのメインプロファイルに準拠して第2符号化情報から第2画像(図3(e),図4(e),図5(e),図6(e))を復号する。なお、圧縮時に第1画像と第2画像との間で動き補償予測が行われている場合、復号制御部61の制御により、復号部62は上述の補正情報に基づいて動きベクトルの補正を実行する。
ステップ#605:第1分離部54は、入力された第1画像(#604)をYチャネルとU,Vチャネルとに分離する。第1画像のYチャネルは第1合成部56に出力され、第1画像のU,Vチャネルは第2合成部57に出力される。
ステップ#606:第2分離部55は、入力された第2画像(#605)をYチャネルとU,Vチャネルとに分離する。第2画像のYチャネルは第1合成部56に出力され、第2画像のU,Vチャネルは第2合成部57に出力される。なお、#605の処理と#606の処理は並列に実行されていてもよい。
ステップ#607:第1合成部56は、付帯情報を用いて第1画像のYチャネルと第2画像のYチャネルとを合成する。なお、#607の処理は、図16の#208の処理に対応するので重複説明は省略する。
ステップ#608:第2合成部57は、付帯情報を用いて第1画像のU,Vチャネルと第2画像のU,Vチャネルとを合成する。なお、#608の処理は、図16の#209の処理に対応するので重複説明は省略する。
ステップ#609:第1補間部58は、#607で復元された輝度間引き画像の標本点をフレーム内補間する。なお、#609の処理は、図16の#210の処理に対応するので重複説明は省略する。
ステップ#610:第2補間部59は、#608で復元された色差間引き画像の標本点をフレーム内補間する。なお、#410の処理は、図16の#211の処理に対応するので重複説明は省略する。
ステップ#611:画像出力部60は、同じフレームの輝度補間画像と色差補間画像とを対応付けて、1つの復号フレーム(図9(c),図10(c),図11(c),図12(c))として出力する。
ステップ#612:復号制御部61は、圧縮動画像情報全体の復号が終了したか否かを判定する。上述の要件を満たす場合(YES側)、復号制御部61は復号動作を終了する。一方、上述の要件を満たさない場合(NO側)、#601に戻って次のフレームの復号が行われる。以上で、図25の説明を終了する。
また、図26は、図25の#604での復号処理の例を示す流れ図である。
ステップ#701:復号制御部61は、#603で取得した情報に基づいて、復号する画像の符号化形式や、第1画像および第2画像間での動きベクトルの補正の要否や、輝度成分および色差成分間での動きベクトルの補正の要否を設定する。
ステップ#702:復号部62の符号復号部71は、或るマクロブロックの可変長符号を復号し、動きベクトルや参照画像等を示す予測情報や、量子化係数を取得する。
ステップ#703:復号部62の逆量子化部72は、マクロブロックの量子化係数(#702)を逆量子化する。
ステップ#704:復号部62の逆直交変換部73は、逆量子化(#703)で求めた直交変換係数を逆直交変換して予測誤差を復号する。
ステップ#705:復号部62の予測部77は、PピクチャまたはBピクチャを復号する場合、予測情報を用いてマクロブロックを動き補償予測し、マクロブロックの予測値を出力する。また、予測部77は、Iピクチャを復号する場合には、予測値としてゼロ値を出力する。
ステップ#706:復号部62の加算部74は、復号された予測誤差にマクロブロックの予測値を加算して、ピクチャの局部復号値を生成する。これにより、1つのマクロブロックの画像が復号された状態となる。なお、上述の局部復号値は第2蓄積部76に蓄積される。
ステップ#707:復号制御部61は、1フレームの復号が完了したか否かを判定する。上述の要件を満たす場合(YES側)には、#605に処理が復帰する。一方、上述の要件を満たさない場合(NO側)には、#702に戻って復号部62は上述の動作を繰り返す。上述のループにより、符号化された画像がブロック単位で復号されることとなる。以上で、図26の説明を終了する。
また、図27は、図26の#705での動き補償予測の処理例を示す流れ図である。
ステップ#801:復号部62の予測部77は、復号された予測情報(#702)に基づいて、マクロブロックの動きベクトル、予測モード、参照画像等を設定する。
ステップ#802:復号部62の予測部77は、復号するマクロブロックがフレーム内符号化されたイントラマクロブロックか否かを判定する。上述の要件を満たす場合(YES側)には、図26の#706に処理が復帰する。なお、#802のYES側の場合、上述のように予測部77は予測値としてゼロ値を出力する。一方、上述の要件を満たさない場合(NO側)には、#803に処理が移行する。
ステップ#803:復号部62の予測部77は、上述の予測情報に基づいて、マクロブロックの輝度成分について動き補償予測を行う。なお、第1画像と第2画像との間で動きベクトルMVを相殺するように圧縮時にオフセット補正をした場合(#501)、#803での予測部77は、上述のオフセット分を除去する補正を行う。例えば、予測部77は、マクロブロックの輝度成分の動きベクトルに上述の動きベクトルMVを加えればよい。これにより、第1画像と第2画像との間の動き補償予測において、復号時に画像を正しく復元できる。
ステップ#804:復号部62の予測部77は、マクロブロックの輝度成分の動きベクトルを、マクロブロックの色差成分に合わせて補正する。#804での予測部77は、画像の輝度面と色差面との標本点のサンプリングの違いに応じて動きベクトルを補正する。なお、#804の処理は、図24の#504の逆処理であるので説明を省略する。なお、上述の#504で動きベクトルの補正が行われていない場合には、#804の処理は省略される。
ステップ#805:復号部62の予測部77は、上述の補正後の予測情報(#804)を用いて、マクロブロックの色差成分について動き補償予測を行う。その後、図26の#706に処理が復帰する。以上で、図27の説明を終了する。
(第2実施形態の作用効果)
以下、第2実施形態における作用効果を述べる。第2実施形態では、上述の第1実施形態での作用効果に加え、第1画像と第2画像との間で動き補償予測を行うことで、動画像全体での符号化効率を向上させることができる。また、第2実施形態において、第1画像と第2画像との間で動き補償予測をするときに、動きベクトルを補正することで符号化効率を向上させることができる。このとき、上述の動きベクトルについて補正の有無を表す補正情報を動画像圧縮装置が付与することで、映像復号装置側で復号時に動きベクトルを適切に補正させることができる。
<第3実施形態の説明>
図28は、第3実施形態での装置構成例を示す図である。第3実施形態の装置は、上述の動画像圧縮装置、動画像復号装置として機能するコンピュータである。
図28に示すコンピュータ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実施形態または第2実施形態の画像処理部111、圧縮処理部112、復号処理部113として機能する。
メモリ205は、プログラムでの各種演算結果を一時的に記憶する。このメモリ205は、例えば揮発性のSDRAMである。
ここで、第3実施形態では、データ読込部202または記憶装置203から未圧縮の動画像情報を取得し、図14または図20に示す圧縮動作をCPU204が実施する。あるいは、データ読込部202または記憶装置203から上述の圧縮動画像情報を取得し、図16または図25に示す復号動作をCPU204が実施する。かかる第3実施形態においても、第1実施形態または第2実施形態とほぼ同様の効果を得ることができる。
<実施形態の補足事項>
(補足1):上述の実施形態では、YUV4:4:4形式、YUV4:2:2形式、YUV4:2:0形式の画像を圧縮する場合を説明した。しかし、本発明の適用はこれらのデータ形式に限定されない。
例えば、本発明をYUV4:0:0形式の画像に適用してもよい。この場合は、U,Vチャネルの情報がないモノクロ画像の場合である。したがって、圧縮元の画像のYチャネルのみを第1実施形態または第2実施形態と同様に符号化および復号化すればよい。
また、本発明の圧縮元の画像がRGB画像であってもよい。例えば、RGB4:4:4形式の画像の場合、Gを輝度面、R,Bを色差面とみなして第1実施形態または第2実施形態と同様に符号化および復号化すればよい。
(補足2):上述の実施形態では、MPEG−2ビデオのメインプロファイルに基づく圧縮符号化の例を説明した。しかし、本発明ではJPEG、AVC、その他の圧縮符号化を適用しても良いし、非圧縮符号化を適用しても良い。
(補足3):画像の間引きのパターンを示す付帯情報の付与は、上述の実施形態の例に限定されない。例えば、MPEG−2ビデオのテンポラルリファレンス情報から判断可能な間引きのパターンを示すフレーム運用規則を予め規定しておくことで、復号処理装置に対して画像の間引きのパターンを暗示的に告知することもできる。
(補足4):上述の実施形態では、圧縮元の画像が動画像である場合を説明した。しかし、本発明は静止画像の圧縮にも勿論適用できる。
以上の詳細な説明により、実施形態の特徴点および利点は明らかになるであろう。これは、特許請求の範囲が、その精神および権利範囲を逸脱しない範囲で前述のような実施形態の特徴点および利点にまで及ぶことを意図する。また、当該技術分野において通常の知識を有する者であれば、あらゆる改良および変更に容易に想到できるはずであり、発明性を有する実施形態の範囲を前述したものに限定する意図はなく、実施形態に開示された範囲に含まれる適当な改良物および均等物によることも可能である。