本発明の実施の形態、本発明の利点については、添付された図面を参照しながら以下に詳細に説明する。
図1は、本発明の第1の実施の形態の映像符号化装置のハードウエア構成を説明するブロック図である。
第1の実施の形態の映像符号化装置101は、相互に通信可能に接続されたプロセッサ102、メモリ103、入力インターフェース(入力I/F)104及び出力インターフェース(出力I/F)106からなる。入力I/F104は、入力装置105に接続される。また、出力I/F106は、出力装置107に接続される。
プロセッサ102は、本発明の映像符号化の処理を行うプロセッサであり、メモリ103に格納されたプログラムを実行して、入力I/F104から受けたデータを符号化し、出力I/F106に送る。
メモリ103には、プロセッサ102が実行するプログラムが格納される。また、プロセッサ102が処理する対象となるデータが一時的に格納される。
映像符号化装置101には、プロセッサ102及びメモリ103が複数設けられてもよい。例えば、本発明の映像符号化の処理を行うプログラムの一部のみを実行する専用のプロセッサが設けられてもよい。また、同一の処理を行う専用のプロセッサが複数設けられてもよい。
プロセッサ102及びメモリ103は、単一のチップ上に実装されてもよい。
入力I/F104は、プロセッサ102が処理する映像データを入力装置105から受信するインターフェースである。
入力装置105は、映像符号化装置101が処理する映像信号を入力I/F104に入力する装置であり、例えば、ビデオカメラやTVチューナーである。この場合、入力I/F104は、例えば、ビデオキャプチャカードである。また、入力装置105は、符号化されていない映像データが格納された記憶装置であってもよい。この場合、入力I/F104は、例えば、SCSIインターフェースである。
出力I/F106は、プロセッサ102によって符号化されたデータを出力装置107に送信するインターフェースである。
出力装置107は、映像符号化装置101が符号化したデータの出力先であり、例えば、符号化したデータを格納する記憶装置である。この場合、出力I/F106は、例えば、SCSIインターフェースである。また、出力装置107は、LANやIPネットワーク等(図示省略)を介して出力I/F106と接続されたコンピュータ装置であってもよい。この場合、出力I/F106は、ネットワークインターフェースである。また、出力装置107は、電話通信網(図示省略)を介して出力I/F106と接続された受像装置であってもよい。この場合、出力I/F106は、電話信号の送信機である。また、出力装置107は、デジタルTV受像機であってもよい。この場合、出力I/F106は、デジタルTV信号の送信機である。
映像符号化装置101は、入力I/F104及び出力I/F106をそれぞれ複数備え、それぞれの入力I/F104及び出力I/F106に、異なる種類の入力装置及び出力装置が接続されてもよい。例えば、映像符号化装置101は、二つの出力I/F106を備え、一方にはハードディスク装置が接続され、もう一方には光磁気ディスク装置が接続されてもよい。また、一方にはハードディスク装置が接続され、もう一方にはLAN等を介してコンピュータ装置が接続されてもよい。
図2は、本発明の第1の実施の形態の映像符号化装置101の機能を説明するブロック図である。
映像符号化装置101は、原画像メモリ201、画像変換部202、符号化部203、モード制御部213及びモード選択部214からなる。ここで、原画像メモリ201は、メモリ103の一部の領域であり、画像変換部202、モード制御部213及びモード選択部214は、メモリ103に格納され、プロセッサ102によって実行されるプログラムである。また、符号化部203は、プロセッサ102によって実行されるプログラムである動き予測部204、イントラ予測部205、算術変換部206、量子化部207、係数符号化部208、逆量子化部209及び逆算術変換部210、並びに、メモリ103の一部の領域である復号画像メモリ211及び予測画像メモリ212からなる。
次に、映像符号化装置101の各部の機能を、画像を符号化する手順に沿って説明する。
原画像メモリ201は、符号化する原画像を一時的にバッファリングする。次に、画像変換部202は、原画像メモリ201から取得した画像のフレーム全体又は一部を変換処理する。ここで、フレームの一部とは、例えば、フレームを所定のサイズに分割したマクロブロック又はブロックでもよいし、所定の矩形領域でもよい。一般には、マクロブロック単位で符号化が行われる。
画像変換部202は、フレーム全体に対して変換処理を行ったデータをマクロブロック単位に分割して符号化部203に伝送してもよいし、フレームをマクロブロック単位に分割してから変換処理を行ってもよい。変換処理を行ったか否かの情報は、モード制御部213に伝送される。
画像変換部202が行う変換処理は、画像の方向を変換する処理である。画像の方向を変換する処理とは、例えば、線対称変換又は点対称変換である。線対称変換とは、例えば、フレームを左右に反転させる左右対称変換又はフレームを上下に反転させる上下対称変換である。点対称変換とは、例えば、フレームを回転させる回転変換である。画像変換部202は、これらの変換の組み合わせを行ってもよい。以下、例として、画像全体を左右対称変換した場合と、変換しない場合とを比較して、符号量が小さくなる方を選択する場合について説明する。
符号化部203は、画像変換部202から、左右対称変換した画像と、変換しない画像とを取得し、それぞれの画像を順次符号化する。また、符号化部203が複数設けられ、それぞれの画像を二つの符号化部203が並列に符号化してもよい。符号化部203が複数設けられる場合、映像符号化装置101には、符号化部203のプログラムのみを実行する専用のプロセッサ102が複数設けられる。
動き予測部204は、画像変換部202から取得した画像に対して、予測画像メモリ212及び復号画像メモリ211の画像を用いてフレーム間予測を行い、動きベクトル等の情報をモード制御部213に伝送し、予測によって得られた符号化ブロックの残差成分を算術変換部206に伝送する。
イントラ予測部205は、画像変換部202から取得した画像に対して、復号画像メモリ211の画像を用いてイントラ予測を行い、モードの情報等をモード制御部213に伝送し、予測によって得られた符号化ブロックの残差成分を算術変換部206に伝送する。
算術変換部206、量子化部207及び係数符号化部208は、従来の符号化装置と同じものであり、それぞれ、DCT演算、変換係数の量子化、及び、係数の符号への変換等を行う。また、逆量子化部209、逆算術変換部210も、従来の符号化装置と同じものであり、それぞれ、符号化されたデータを逆変換することによって画像情報に戻し、復号画像メモリ211及び予測画像メモリ212に格納する。
モード制御部213は、画像(フレーム)全体及び符号化途中のマクロブロックにおける符号化モードを管理する。画像全体に関しては、変換処理を行った画像に対する符号化プロセスと、変換処理を行っていない画像に対する符号化プロセスの情報を保持する。すなわち、変換処理を行った場合と、行わない場合のそれぞれについて、動き予測の基準となる情報(動きベクトル、参照フレームの情報等)や、イントラ符号化モード(イントラ予測の方向)の情報等を保持する。マクロブロックに関しては、現マクロブロックがイントラ符号化されるかフレーム間予測符号化されるかの情報、及び、これらに関係するイントラ符号化モード、動きベクトル、参照フレームの情報等を保持する。モード制御部213は、これらの情報をモード選択部214に伝送する。
モード選択部214は、画像全体及び符号化途中のマクロブロックに関する符号化データ並びに符号化モードの情報から、画像の符号化データを構成して出力する。画像変換部202による変換処理を行って符号化した場合の全体の符号量と、変換処理を行わないで符号化した場合の符号量とを比較し、小さい方の符号をストリームとして出力する。また、変換処理を行ったか否かのフラグ、及び、画像の一部の領域について変換した場合にはその領域の位置情報を、データとしてストリームに付加する。
変換処理を行ったか否かを示すフラグは、左右対称変換、上下対称変換については、それぞれ1ビットずつあればよい。回転変換の場合、時計周りに90度回転する毎に数を1ずつ増やすとすると、2ビットあれば360度の回転を表現できる。
図4は、本発明の第1の実施の形態の映像符号化の手順の説明図である。
まず、画像変換部202が符号化方式の判定を行う(ステップ401)。すなわち、フレーム全体に対して変換処理を行うか、マクロブロック単位で変換するか等の判定を行う。以下、例として、フレーム全体を変換する場合について説明する。変換処理を行うプロセスは、ステップ402に進み、変換処理を行わないプロセスはステップ404に進む。
ステップ402では、画像変換部202が入力画像の変換を行う。すなわち、フレームごとに、左右対称変換、上下対称変換、回転変換等を行う。続いて、ステップ403に進む。
ステップ403及びステップ404では、符号化部203が画像を符号化する。この符号化は、図2において説明した通りである。
次に、モード選択部214が符号量の比較及びモード判定を行う(ステップ405)。すなわち、図2において説明したように、変換処理を行ったプロセスと変換処理を行わなかったプロセスとで、符号化によって得られた符号量を比較し、符号量の少ないデータを出力すると判定する。
次に、モード選択部214が符号及びフラグを出力する(ステップ406)。図2において説明したように、ステップ405の判定に従い、変換処理を行ったか否かを示すフラグと、画像の一部の領域を変換処理した場合にはその領域の位置情報と、選択された符号化データをストリームとして出力する。以上で符号化処理が終了する。
図5は、本発明の第2の実施の形態の映像復号化装置のハードウエア構成を説明するブロック図である。
第2の実施の形態の映像復号化装置501は、相互に通信可能に接続されたプロセッサ502、メモリ503、入力インターフェース(入力I/F)504及び出力インターフェース(出力I/F)506からなる。入力I/F504は、入力装置505に接続される。また、出力I/F506は、出力装置507に接続される。
プロセッサ502は、本発明の映像復号化の処理を行うプロセッサであり、メモリ503に格納されたプログラムを実行して、入力I/F504から受けたデータを復号化し、出力I/F506に送る。
メモリ503には、プロセッサ502が実行するプログラムが格納される。また、プロセッサ502が処理する対象となるデータが一時的に格納される。
映像復号化装置501には、プロセッサ502及びメモリ503が複数設けられてもよい。例えば、本発明の映像復号化の処理を行うプログラムの一部のみを実行する専用のプロセッサが設けられてもよい。
プロセッサ502及びメモリ503は、単一のチップ上に実装されてもよい。
入力I/F504は、プロセッサ102が処理する符号化されたデータを入力装置505から受信するインターフェースである。
入力装置505は、映像復号化装置501が処理する符号化されたデータを入力I/F504に入力する装置であり、例えば、符号化されたデータが格納された記憶装置である。この場合、入力I/F504は、例えば、SCSIインターフェースである。また、入力装置505は、LANやIPネットワーク等(図示省略)を介して入力I/F504と接続されたコンピュータ装置であってもよい。この場合、入力I/F504は、ネットワークインターフェースである。また、入力装置505は、電話通信網(図示省略)を介して入力I/F504と接続された映像データ送信装置であってもよい。この場合、入力I/F504は、電話信号の受信機である。また、入力装置505は、デジタルTV放送局であってもよい。この場合、入力I/F504は、デジタルTVチューナーである。
出力I/F506は、プロセッサ502によって復号化されたデータを出力装置507に送信するインターフェースである。
出力装置507は、映像復号化装置501が復号化したデータの出力先であり、例えば、映像を出力するディスプレイである。この場合、出力I/F506は、例えば、ビデオカードである。また、出力装置507は、復号化したデータをストリーム記録する記憶装置である。この場合、出力I/F506は、例えば、SCSIインターフェースである。
映像復号化装置501は、入力I/F504及び出力I/F506をそれぞれ複数備え、それぞれの入力I/F504及び出力I/F506に、異なる種類の入力装置及び出力装置が接続されてもよい。例えば、映像符号化装置101は、二つの入力I/F504を備え、一方にはハードディスク装置が接続され、もう一方には光ディスク装置が接続されてもよい。また、一方にはハードディスク装置が接続され、もう一方にはLAN等を介してコンピュータ装置が接続されてもよい。
図6は、本発明の第2の実施の形態の映像復号化装置501の機能を説明するブロック図である。
映像復号化装置501は、ストリーム解析部601、モード判定部602、復号化部603、画像変換部610及び復号画像メモリ611からなる。ここで、ストリーム解析部601、モード判定部602、復号化部603及び画像変換部610は、メモリ503に格納され、プロセッサ502によって実行されるプログラムであり、復号画像メモリ611は、メモリ503の一部の領域である。また、復号化部603は、プロセッサ502によって実行されるプログラムである動き予測部604、イントラ予測部605、係数解析部606、逆量子化部607及び逆算術演算部608、並びに、メモリ503の一部の領域である予測画像メモリ609からなる。
第2の実施の形態の復号化装置501は、第1の実施の形態の映像符号化装置101によって符号化されたストリームを復号化することができる。次に、映像復号化装置501の各部の機能を、符号化されたストリームを復号化する手順に沿って説明する。
ストリーム解析部601は、入力された符号化ストリームのデータを解析し、フラグやデータの情報をモード判定部602に伝送する。ストリーム解析部601は、符号化装置101によって作成されたストリームのデータ、フラグを解析する。
次に、モード判定部602は、ストリーム解析部601によって解析された情報によって、動き予測やイントラ予測、画像変換に関するモードの制御を行う。符号化時に、画像に対して反転、回転等の変換処理が施されていることを示すフラグがストリームに付されている場合には、施された変換処理の種類の情報(例えば、左右対称変換が施されているか否かの情報等)を画像変換部610に伝送する。
動き予測部604は、モード判定部602から伝送された動きベクトル等の情報と予測画像メモリ609および復号画像メモリ611の画像とを用いてフレーム間予測を行い、予測情報を係数解析部606に伝送する。
イントラ予測部605は、モード判定部602から伝送されたイントラ符号化モード等の情報と復号画像メモリ611の画像とを用いてイントラ予測を行い、予測情報を係数解析部606に伝送する。
係数解析部606、逆量子化部607及び逆算術変換部608は、従来の復号化装置と同じものであり、それぞれ、予測情報と係数情報との合成、変換係数の逆量子化及びDCT演算等を行う。
画像変換部610は、モード判定部602から伝送された情報に従って、復号化された画像のフレーム全体又は一部を変換処理する。すなわち、上記図1及び図2の符号化装置101の画像変換部202が行った変換処理を元に戻す処理を行う。
復号画像メモリ611は、画像変換部610による変換処理後の復号画像を格納し、出力装置504に伝送して、復号化された画像の画面への表示やストリームへの出力を行う。
図7は、本発明の第2の実施の形態の映像復号化の手順の説明図である。
まず、ストリーム解析部601及びモード判定部602がストリーム及びフラグの解析を行う(ステップ701)。次に、復号化部603が画像を復号化する(ステップ702)。次に、画像変換部610が復号画像の変換を行い、復号画像メモリ611に格納する(ステップ703)。最後に、復号画像メモリ611に格納された画像を表示又はストリーム記録のために出力する(ステップ704)。以上で復号化処理が終了する。なお、上記の各部の処理の内容は、図6において説明した通りであるので、詳細な説明を省略する。
以上で説明した本発明の第1の実施の形態の映像符号化装置101及び第2の実施の形態の映像復号化装置501は、同一のハードウエアとして実装されてもよい。この場合、メモリ103(又は、メモリ503)には、図2及び図6において説明した各プログラムが格納されると共に、図2及び図6において説明した各領域が確保される。
以上の本発明の第1及び第2の実施の形態によれば、スキャン方向を変更することなく常に予測精度の高い方向にイントラ予測をすることによって符号化後の符号量を削減する(すなわち、圧縮率の高い)映像符号化装置と、これに対応する映像復号化装置を提供することができる。その結果、従来のイントラ予測と比較して、符号量が最大で約1割程度削減される。但し、符号量は原画像の内容に応じて変化するので、常時一定の削減量ではない。
図8は、本発明の第3の実施の形態のイントラ予測方法の説明図である。
本実施の形態は、予測ブロック802の画素の信号レベルを予測する際に、境界画素の信号レベルだけでなく、既に符号化された隣接ブロック801全体の画素の信号レベルを使用する方法であり、上記図2及び図6のイントラ予測部205及び605において用いられる。ここで、「予測ブロック」とは、符号化の対象であって、まだ符号化されていないブロックをいい、「隣接ブロック」とは、予測ブロックに隣接する符号化済みのブロックをいう。
予測の方向は、図3の306に示す通りである。本実施の形態では、説明を簡単にするため、一部の方向についての予測のみを記載するが、実際の予測では、予測の方向306の全てについて予測を行い、残差成分が最も小さくなる方向が選択される。ここで、予測とは、符号化の際には、予測ブロック802の各画素の実際の信号レベルと、予測に利用する隣接ブロックの画素の信号レベルから算出された予測値との差分(残差成分)を符号化する手順をいう。一方、復号化の際には、同様にして算出された予測値に、復号化された残差成分を加算することによって復号画像を得る手順をいう。以下、符号化の手順を説明する。
従来のイントラ予測方法は、境界画素のみを用いた予測方法である。例えば、垂直方向に予測する場合、予測ブロック802の真上にある隣接ブロック801の境界画素(最も下の一行の画素)を用いて、下方向に予測する。すなわち、予測ブロック802を4列に分割し、各画素の信号レベルの値から、その画素を含む列の上に接する境界画素の信号レベルの値を減算する。水平方向に予測する場合も同様に、予測ブロックの左側にある隣接ブロックの境界画素(最も右の一列の画素)を用いて、右方向に予測する。すなわち、予測ブロック802を4行に分割し、各画素の信号レベルの値から、その画素を含む行の左に接する境界画素の信号レベルの値を減算する。すなわち、上記のいずれの方向の予測においても、予測ブロックの画素の信号レベルを、境界画素の信号レベルと同じであると予測し、その予測値と実際の値との差(残差成分)を計算する。
一方、本発明の第3の実施の形態のイントラ予測方法は、境界画素だけでなく、隣接ブロックの内部の画素をも用いる複合画素による予測方法である。ここで、複合画素とは、予測ブロックの画素の予測に用いる複数のブロックをいい、例えば、水平方向に予測する場合、予測対象の行の左側に隣接する隣接ブロックの一行(803)である。この場合、複合画素803の値から補間式によって予測値を算出し、隣接する予測ブロックの一行の画素の値を予測する。この予測には、例えば、ニュートン前進補間式を用いる。例えば、隣接ブロックの複合画素と予測ブロックの予測対象の画素の番号nを0〜7として、画素nの信号レベルをynとし、n=0、1、2、3(符号化済み)からn=4、5、6、7(未符号化)を求める場合について説明する。この時、画素nの信号レベル予測値ynは、式(1)によって算出される。
残差成分は、予測ブロックの画素の値から、式(1)によって算出された予測値を減算して求める。例えば、n=7の場合、画素7の残差成分は、画素7の実際の値からy7を減算した値である。斜めの方向に予測する場合も、同様にして、予測対象となる予測ブロックの画素と、予測の基礎となる隣接ブロックの画素に、番号n(n=0〜7)を付して、式(1)によって予測値を算出する(805)。予測の対象となる画素が4より少ない場合は、nの範囲を制限して計算する。例えば、予測の対象となる画素が3である場合は、n=0〜6とする(806)。
式(1)は、ブロックサイズが4×4画素の場合に適用する数式の例であるが、本実施の形態の予測方法は、他のブロックサイズ(例えば、16×16画素等)の場合にも適用することができる。一般に、0からnまでの番号が付された画素について、画素0〜mの既知の信号レベルの値から、画素m+1〜nの信号レベルの値を予測する場合、予測値ynは、式(2)によって求めることができる。ここで、nCjは二項係数である。
次に、従来の予測方法による残差と本実施の形態の予測方法による残差とを比較する。従来の予測方法による信号レベル808は、画素3(境界画素)の信号レベルと同じである。一方、本実施の形態の予測方法による信号レベル809は、式(1)によって算出された値である。
例えば、画素0〜3の信号レベルが一定の割合で変化するとき、画素4〜7の実際の信号レベル810も、それに近い割合で変化することが多い。すなわち、実際の信号レベル810は、従来の予測方法による信号レベル808より本実施の形態の予測方法による信号レベル809に近いことが多い。その結果、従来の予測方法による残差811より本実施の形態の予測方法による残差812が小さくなり、符号量が少なくなる。なお、式(1)及び式(2)では、予測に全ての既知の画素の信号レベルを用いているが、一部の画素の信号レベルを用いて予測することもできる。
なお、本実施の形態には、最小二乗法を適用してもよい。この場合、既知の信号レベルから、最小二乗法による推定を行った一次式を用いる。例えば、上記と同様に、n=0、1、2、3のときの画素nの既知の信号レベルynに基づいて、n=4、5、6、7のときの画素nの信号レベルynを求める場合には、式(3)を用いる。ここで、mは、予測の基礎となる画素の数であり、この例では、m=4である。
図9は、本発明の第3の実施の形態のイントラ予測方法を適用するイントラ予測部205の機能を説明するブロック図である。
本実施の形態のイントラ予測部205は、既に符号化された隣接ブロックの信号レベルの情報907と現画像とに基づいて、予測ブロックのイントラ符号化モード(すなわち、上記図3の予測の方向306)を決定し、予測処理を行って、符号化モード及び残差成分の情報906をモード制御部213、及び算術変換部206に伝送する。
イントラ予測部205は、イントラ予測制御部901と、各符号化モードに対応する複数の予測部とによって構成される。これらの複数の予測部は、従来の境界画素を使用した予測をおこなうものと、本実施の形態の複合画素による予測を行うものに分類され、それぞれには、図2の予測の方向306に示す各方向に予測を行うものが含まれる。
図9には、説明を簡単にするため、境界画素を用いて垂直方向(図2の「0:Vertical」)に予測する垂直方向境界画素モード予測部902、境界画素を用いて水平方向(図2の「1:Horizontal」)に予測する水平方向境界画素モード予測部903、複合画素を用いて垂直方向に予測する垂直方向複合画素モード予測部904及び複合画素を用いて水平方向に予測する水平方向複合画素モード予測部905のみを示すが、実際には、図2の他の予測の方向306ごとに、境界画素を用いる予測部と、複合画素を用いる予測部とが設けられる。
イントラ予測制御部901は、イントラ予測方法の管理を行う。すなわち、予測ブロックに隣接するブロックが使用可能かどうかをチェックし、イントラ予測のための情報を制御する。
各モード予測部902〜905は、隣接ブロックの画素の信号レベルから予測ブロックの画素の信号レベルを予測して、実際の画素の信号レベルとの残差成分を算出する。次に、算出された残差成分が最も小さいモードの情報をモード制御部213に伝送し、そのモードで算出された残差成分を算術変換部206に伝送する。
垂直方向境界画素モード予測部902は、予測ブロックの上側の隣接ブロックの境界画素を用いて、下方向に予測する。水平方向境界画素モード予測部903は、予測ブロックの左側の隣接ブロックの境界画素を用いて、右方向に予測する。
垂直方向複合画素モード予測部904及び水平方向複合画素モード予測部905は、本
実施の形態の複合画素を用いたイントラ予測を行う。垂直方向複合画素モード予測部90
4は、予測ブロックの上側の隣接ブロックの複合画素(すなわち、境界画素及び内部にあ
る画素)を用いて、式(1)又は式(2)によって信号レベルの予測値を計算し、実際の信号レベルとの残差成分を求める。水平方向複合画素モード予測部905は、予測ブロックの左側の隣接ブロックの複合画素を用いて、式(1)又は式(2)によって信号レベルの予測値を計算し、実際の信号レベルとの残差成分を求める。
図10は、本発明の第3の実施の形態のイントラ予測の手順の説明図である。
まず、イントラ予測制御部901が、イントラ予測モードのチェックを行う(ステップ1001)。すなわち、隣接するブロックの画素が使用可能であるかどうかを判定し、その判定結果に基づいて、適用可能な予測の方向306及びそれぞれの予測の方向306において予測に使用する画素を特定する。
次に、モード予測部902〜905が、適用可能な予測の方向306について、イントラ予測を行う。図10では、例として、垂直方向及び水平方向のそれぞれについて、従来の境界画素を用いた予測と、本実施の形態の複合画素を用いた予測とを行う(ステップ1002〜1005)。
次に、ステップ1002〜1005の予測の結果から、最適なイントラ予測モードを選択する(ステップ1006)。ステップ1002〜1005の予測の結果、画素ごとの残差成分のモードごとの合計値が算出される。この合計値が小さいモードほど符号化後の符号量は小さくできるため、最も残差成分の合計値が小さいモードを最適なモードとして選択する。次に、選択された残差成分を算術変換部206に伝送し、選択されたモードの情報をモード制御部213に伝送する。さらに正確に判定するためには、モード選択部214が、算術変換部206による算術変換後の残差成分の合計値が最も小さいモードを最適なモードとして選択してもよい。以上で、イントラ予測処理が終了する。
モード選択部214は、選択された最適なモードを示すフラグを、出力する符号のストリームに付加する。
なお、図10においては、説明を簡単にするため、垂直方向及び水平方向の予測のみを記載したが、実際は、イントラ予測制御部901が適用可能と判定した全ての予測の方向について予測を行い、その結果から最適なモードを選択することができる。
図9及び図10は、映像符号化装置101について説明したが、本実施の形態のイントラ予測方法は、映像復号化装置501についても同様に適用することができる。この場合、イントラ予測部605は、従来の境界画素モード予測部に加えて、各予測の方向306ごとの複合画素モード予測部を備え、入力された符号化データの予測モードに従ってイントラ予測を行うことによって、本実施の形態のイントラ予測方法に対応した映像復号化装置501を実現することができる。
すなわち、モード判定部602は、復号化しようとする画像のストリームに付されたフラグを参照し、画像を符号化したときに選択されたイントラ予測モードを判定する。次に、イントラ予測部605は、判定されたイントラ予測モードに従って予測を行い、画像を復号化する。例えば、復号化しようとする画像が、右方向に境界画素モードの符号化がされていた場合は、予測ブロックの画素の信号レベルを、予測ブロックの左側の隣接ブロックの境界画素と同じと予測して、復号化する。また、例えば、復号化しようとする画像が、右方向に複合画素モードの符号化がされていた場合は、予測ブロックの画素の信号レベルを、予測ブロックの左側の隣接ブロックの複合画素に式(1)を適用して予測値を算出し、復号化する。
以上の本発明の第3の実施の形態によれば、複合画素(ブロック内部の画素)を用いて精度の高いイントラ予測をすることによって、符号化後の符号量を削減する(すなわち、圧縮率が高い)映像符号化装置、およびこれに対応した映像復号化装置を提供することができる。
図11は、本発明の第4の実施の形態のデータ記録媒体の説明図である。
データ記録媒体1101は、出力装置107又は入力装置505が記憶装置である場合の記録媒体であり、例えば、磁気ディスクである。本発明の第1の実施の形態の映像符号化装置101によって作成された符号化データは、データ記録媒体1101上にデータ列1102として記録される。データ列1102は、一定の文法に従う符号化ストリームとして記録される。以下、H.264/AVC規格の例について説明する。
H.264/AVCでは、ストリームは、シーケンスパラメータセット1103、ピクチャパラメータセット1104並びにスライス1105、1106及び1107によって構成される。以下、例として、1つのスライスに1つの画像(フレーム)が格納される場合について説明する。
フレーム全体に左右対称変換、上下対称変換又は回転変換等の変換処理が行われた場合のストリームでは、スライス1105の先頭にスライスヘッダ1108が記録され、スライスヘッダ1108の内部には、変換処理に関連するフラグ等の情報1109が格納される。この情報の内容としては、変換処理を行ったか否かを示すフラグと、画像の一部の領域を変換した場合には、その一部の領域の位置情報等が格納される。変換処理を行ったか否かを示すフラグは、左右対称変換、上下対称変換については、それぞれ1ビットずつあれば足りる。回転変換の場合、時計周りに90度回転する毎に数を1ずつ増やすとすると、2ビットあれば360度の回転を表現できる。変換処理を行った領域の位置情報は、例えば、画像における横座標、縦座標、幅、高さ等の情報である。また、マクロブロック毎に変換処理を行う場合には、スライスヘッダの代わりにマクロブロックのフラグを記録する部分にこれらの情報を格納することができる。
前述の変換処理を行ったか否かを示すフラグについては、これと一緒に、イントラ予測フレームのみにおいて変換処理した場合、インター予測フレームについても変換処理した場合、あるいは、GOP(グループオブピクチャ)単位で変換処理した場合等の情報を示すフラグを格納してもよい。尚、インター予測フレームについて変換を行う実施例については後述する。
また、本発明の第3の実施の形態のイントラ予測方法を適用する場合、H.264/AVC規格の符号化ストリームに複合画素を用いた新しいモードが追加される。この場合、従来のフラグ等の情報1109に、新しいモードを示す数値を追加して格納する。新しいモードの表現形式としては、複合画素を用いた予測であることを示すビットを追加してもよいし、各予測方向に対して、複合画素によるモード予測を行った場合の数値を割り当ててもよい。
図12は、本発明の第5の実施の形態のパケットの説明図である。
図12は、例として、映像符号化装置101の出力I/F106が、IPネットワークに送信するIPパケットを図11のデータ列1102から生成する手順を説明する図である。
まず、データ列1102は、所定のサイズに分割され、TCPヘッダ1204〜1206が付され、TCPセグメント1201〜1203が生成される。図12は、一つのスライスから一つのセグメントが生成される例を示す。このとき、各スライスに含まれるスライスヘッダ1108も、セグメントに含まれる。図11において説明したように、スライスヘッダ1108の内部には、変換処理に関連するフラグ等の情報1109が格納される。なお、図12では説明を省略するが、スライス1107以降についても同様にしてセグメントが生成される。
次に、各セグメントが所定のサイズに分割され、IPヘッダが付され、IPパケットが生成される。例えば、セグメント1202を所定のサイズに分割し、IPヘッダ1209及び1210を付して、IPパケット1207及び1208が生成される。ここでは、セグメント1202の一部から生成されたIPパケット1207及び1208のみを示すが、セグメント1202全体について、同様にしてIPパケットが生成される。また、図12では説明を省略するが、他のセグメント1201等も同様にして分割され、IPパケットが生成される。
IPパケット1209等は、例えば、映像符号化装置101の出力I/F106によって生成され、IPネットワーク(図示省略)を介して出力装置107に送信される。
また、IPパケット1209等は、データ列1102が格納された記憶装置と、データ列1102からIPパケット1209等を生成して送信する出力インターフェースとを備え、映像符号化機能を有しないパケット送信装置(図示省略)から送信されてもよい。
また、図12と同様にして、映像符号化装置101又はパケット送信装置は、データ列1102から無線パケットを生成し、無線パケット通信網を介して出力装置107に無線パケットを送信してもよい。
図13は、本発明の第6の実施の形態の映像符号化装置101の機能を説明するブロック図である。これは、図2において示した本発明の第1の実施の形態の映像符号化装置に関し、インター予測においても変換処理を行う場合について説明したものである。
映像符号化装置101は、原画像メモリ201、画像変換部202、符号化部1302、モード制御部213及びモード選択部214からなる。ここで、原画像メモリ201、画像変換部202、モード制御部213及びモード選択部214は、第1の実施の形態の映像符号化装置と同様である。第6の実施の形態の映像符号化装置では、符号化部1302の中に、モード制御部213によって制御される予測画像を反転変換させるための画像変換部1301を持つことを特徴とする。
画像変換部1301が行う変換処理は、前述の画像変換部202が行う処理と同様であるが、その対象は参照フレームである。すなわち、画像変換部1301は、例えば、参照フレームの線対称変換又は点対称変換を実行する。線対称変換とは、例えば、参照フレームを左右に反転させる左右対称変換又は参照フレームを上下に反転させる上下対称変換である。点対称変換とは、例えば、参照フレームを回転させる回転変換である。画像変換部1301は、これらの変換の組み合わせを行ってもよい。
なお、本実施の形態の映像符号化装置101は、図13に示すように、二つの画像変換部202及び1301を備える。しかし、これらは、物理的には一つの画像変換部であってもよい。すなわち、映像符号化装置101が一つの画像変換部を備え、その入出力を切り替えることによって、その画像変換部が画像変換部202及び画像変換部1301として使用されてもよい。
図14は、本発明の第6の実施の形態の映像符号化の手順の説明図である。これは、図4において示した本発明の第1の実施の形態の映像符号化の手順に関し、インター予測においても変換処理を行う場合について説明したものである。
この中で、第1の実施の形態の映像符号化と手順が異なるのは、ステップ403において既に左右対称変換された画像の符号化を行う前に、ステップ1401において画像変換部1301は、モード制御部213に伝送された変換処理を行ったか否かの情報に従って参照画像の変換を行う部分である。画像の変換方法については、ステップ402の変換方法と同様であり、処理内容は図13と同様である。
これにより、原画像メモリ201に格納される符号化フレームと、予測画像メモリ212に格納される参照フレームとを、画像変換部202及び1301が同じ方向に対して変換処理を行い符号化する。インター予測における動き予測等の処理は既存の方式と同様でよい。本実施例においても、画像全体を左右対称変換した場合と、変換しない場合とを比較して、同程度の画質に対して符号量が小さくなる方を選択する方法とすれば、符号化効率の良い方のデータを採用することができる。
図15は、本発明の第7の実施の形態の映像復号化装置501の機能を説明するブロック図である。これは、図6において示した本発明の第2の実施の形態の映像復号化装置に関し、インター予測においても変換処理を行う場合について説明したものである。
映像復号化装置501は、ストリーム解析部601、モード判定部602、復号化部1502、画像変換部610及び復号画像メモリ611からなる。ここで、ストリーム解析部601、モード判定部602、画像変換部610、及び復号画像メモリ611は第2の実施の形態の映像復号化装置と同様である。第7の実施の形態の映像復号化装置では、復号化部1502の中に、モード判定部602によって制御される予測画像(参照フレーム)を反転変換させるための画像変換部1501を持つことを特徴とする。画像変換部1501が行う変換処理は前述の画像変換部610が行う処理と同様である。
本発明によるインター予測の復号化では、モード判定部602が反転フラグを検出した場合、画像変換部610と復号化部の内部の画像変換部1501に対して変換処理を指示し、参照フレームに対して反転処理を行った後に、現フレームのインター予測及び復号化を行い、さらにできあがった画像を反転して出力する。
なお、本実施の形態の映像復号化装置501は、図15に示すように、二つの画像変換部610及び1501を備える。しかし、これらは、物理的には一つの画像変換部であってもよい。すなわち、映像復号化装置501が一つの画像変換部を備え、その入出力を切り替えることによって、その画像変換部が画像変換部610及び画像変換部1501として使用されてもよい。
図16は、本発明の第7の実施の形態の映像復号化の手順の説明図である。これは、図7において示した本発明の第2の実施の形態の映像復号化の手順に関し、インター予測においても変換処理が行われている場合について説明したものである。
この中で、第2の実施の形態の映像復号化と手順が異なるのは、ステップ702において画像復号化を行う前に、ステップ1601において参照フレームの変換を行う部分である。画像の変換方法については、ステップ703の変換方法と同様であり、処理内容は図15と同様である。
以上の本発明の第6及び第7の実施の形態によれば、スキャン方向を変更することなく常に予測精度の高い方向にインター予測をすることによって符号化後の符号量を削減する(すなわち、圧縮率の高い)映像符号化装置と、これに対応する映像復号化装置を提供することができる。その結果、従来の符号化方式と比較して、符号量が約1割程度削減可能となった。
なお、本発明は、H.264/AVCに限らず、種々の規格に基づいた映像符号化装置及び映像復号化装置等に適用することができる。