(57)【要約】【課題】イントラ予測を簡単な構成で行うことができるようにする。【解決手段】イントラ予測バッファ３１には、符号化対象画像における符号化対象ブロックの画像を保持させる。予測画作成部３２１は、符号化対象ブロック内の画素を用いてイントラ予測モード毎に予測画を作成する。予測モード導出部３２３は、符号化対象ブロックについて、符号化対象画像と符号化済み画像を用いてイントラ予測モード毎に符号化コストを算出して、この符号化コストが最小となるモードを符号化対象ブロックのイントラ予測モードとする。隣接ブロックの画素信号に換えてブロック内の画素信号を用いてイントラ予測が行われることから、記憶しておく画素信号の信号量を少なくできるので、イントラ予測を簡単な構成で行うことができる。【選択図】        図２
2010251953.tif 000002
【特許請求の範囲】
【請求項１】
符号化対象ブロック内の画素信号のうち、上端側の水平方向に並ぶ画素の画素信号と左端側の垂直方向に並ぶ画素の画素信号の少なくとも一方を用いてイントラ予測モード毎の予測画の作成を行う予測画作成部と、
前記符号化対象画像における符号化対象ブロックの画像と前記予測画作成部で作成された予測画を用いて、前記符号化対象ブロックのイントラ予測を行う予測モード導出部と
を有する画像符号化装置。
【請求項２】
前記予測画作成部は、前記符号化対象ブロック内における上端側の水平方向に並ぶ画素の画素信号または左端側の垂直方向に並ぶ画素の画素信号の何れかを用いるとき、該画素信号と前記符号化対象画像における前記符号化対象ブロックと隣接する画素信号を用いて前記予測画を作成する
請求項１記載の画像符号化装置。
【請求項３】
前記予測画作成部は、
前記符号化対象ブロック内における上端側の水平方向に並ぶ画素の画素信号を用いるとき、前記符号化対象画像における前記符号化対象ブロックの左側に隣接するブロックから、右端側の垂直方向に並ぶ画素の画素信号を用いて前記予測画を作成し、
前記符号化対象ブロック内における左端側の垂直方向に並ぶ画素の画素信号を用いるとき、前記符号化対象画像における前記符号化対象ブロックの上側に隣接するブロックから、下端側の水平方向に並ぶ画素の画素信号を用いて前記予測画を作成する
請求項２記載の画像符号化装置。
【請求項４】
前記予測画作成部は、１あるいは複数の前記符号化対象ブロックで構成されるマクロブロックの処理順方向に応じて、前記符号化対象ブロック内における上端側の水平方向に並ぶ画素の画素信号または左端側の垂直方向に並ぶ画素の画素信号を用いる
請求項３記載の画像符号化装置。
【請求項５】
前記予測画作成部は、
マクロブロックの処理順方向が水平方向であるとき、該マクロブロック内の前記符号化対象ブロックのイントラ予測では、前記符号化対象ブロック内における上端側の水平方向に並ぶ画素の画素信号を用い、
マクロブロックの処理順方向が垂直方向であるとき、該マクロブロック内の前記符号化対象ブロックのイントラ予測では、前記符号化対象ブロック内における左端側の垂直方向に並ぶ画素の画素信号を用いる
請求項４記載の画像符号化装置。
【請求項６】
前記予測画作成部は、
マクロブロックの処理順方向が水平方向であるとき、該マクロブロック内の上端の前記符号化対象ブロックのイントラ予測で、前記符号化対象ブロック内における上端側の水平方向に並ぶ画素の画素信号を用い、
マクロブロックの処理順方向が垂直方向であるとき、該マクロブロック内の左端の前記符号化対象ブロックのイントラ予測で、前記符号化対象ブロック内における左端側の垂直方向に並ぶ画素の画素信号を用いる
請求項５記載の画像符号化装置。
【請求項７】
前記予測モード導出部は、前記符号化対象ブロックについて、前記符号化対象画像と符号化済み画像を用いてイントラ予測モード毎の符号化コストを算出して、該符号化コストが最小となるモードを前記符号化対象ブロックのイントラ予測モードとする
請求項１記載の画像符号化装置。
【請求項８】
前記予測画作成部は、前記符号化対象ブロック内における上端側の水平方向に並ぶ画素の画素信号または左端側の垂直方向に並ぶ画素の画素信号の何れかを用いるとき、該画素信号と前記符号化対象画像における前記符号化対象ブロックと隣接する画素信号を用いて前記予測画の作成を行い、
前記予測モード導出部は、符号化対象ブロック内の画素を使用する予測モードに応じたオフセット加算処理を行って前記符号化コストを算出する
請求項７記載の画像符号化装置。
【請求項９】
予測画作成部で、符号化対象ブロック内の画素信号のうち、上端側の水平方向に並ぶ画素の画素信号と左端側の垂直方向に並ぶ画素の画素信号の少なくとも一方を用いてイントラ予測モード毎の予測画の作成を行うステップと、
予測モード導出部で、前記符号化対象画像における符号化対象ブロックの画像と前記予測画作成部で作成された予測画を用いて、前記符号化対象ブロックのイントラ予測を行うステップと
を具備する画像符号化方法。
【請求項１０】
コンピュータを、
符号化対象ブロック内の画素信号のうち、上端側の水平方向に並ぶ画素の画素信号と左端側の垂直方向に並ぶ画素の画素信号の少なくとも一方を用いてイントラ予測モード毎の予測画の作成を行う機能手段と、
前記符号化対象画像における符号化対象ブロックの画像と前記作成した予測画を用いて、前記符号化対象ブロックのイントラ予測を行う機能手段
として機能させるためのコンピュータ・プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、画像符号化装置と画像符号化方法およびコンピュータ・プログラムに関する。詳しくは、画像符号化におけるイントラ予測を簡単な構成で高速に行うことができるようにする。
【背景技術】
【０００２】
従来、例えば放送局等に係る動画の伝送、記録においては、画像信号の冗長性を有効に利用して効率よく画像信号を伝送、蓄積する技術の開発が進められている。このような技術では、例えばＭＰＥＧ（Moving Picture Experts Group）等の方式に準拠して、離散コサイン変換等の直交変換と動き補償とにより画像信号のデータ圧縮が行われている。
【０００３】
その一例であるＭＰＥＧ２（ISO/IEC 13818-2）は、汎用の画像符号化方式として定義された方式である。飛び越し走査方式、順次走査方式の双方に対応できるように、また標準解像度画像、高精細画像の双方に対応できるように定義されている。ＭＰＥＧ２は、種々のアプリケーションに広範に採用されている。
【０００４】
また、ＭＰＥＧ２よりもさらに一段と高い符号化効率を確保する符号化方式の標準化が、Joint Model of Enhanced-Compression Video Codingとして進められ、Ｈ．２６４／ＭＰＥＧ−４ＡＶＣ（ITU-T Rec. H.264 ISO/IEC 14496-10 AVC）規格として設定されている。
【０００５】
この種の符号化技術では、画面内予測（イントラ予測）と画面間予測（インター予測）が行われている。例えば、特許文献１では、イントラ予測対象のブロック（符号化対象ブロック）の左側に隣接する垂直方向の原画の画素信号と、符号化対象ブロックの上側に隣接する水平方向の原画の画素信号の、少なくとも一方を記憶する。この記憶した画素信号と、符号化と復号化を行うことで得られた符号化済み画像のブロック（符号化済みブロック）の画素信号を利用して、より少ないサイクル数でイントラ予測を行うことが開示されている。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特開２００７−１５０９１３号公報
【発明の概要】
【発明が解決しようとする課題】
【０００７】
ところで、引用文献１のように原画の画素信号と符号化済みブロックの画素信号を用いる場合、イントラ予測処理中は、これらの画素信号を記憶しておき、記憶している画素信号を用いて予測画の作成やイントラ予測モード毎の符号化コストの算出等を行う。このため、符号化画像の高解像度化に伴い、画素信号を記憶しておくために容量の大きなメモリが必要となってしまう。例えば、符号化対象画像（原画）の画像信号がＹＵＶ４２０方式で、１９２０画素×１０８０ラインであるとき、隣接するブロック内の下端の水平方向に並ぶ画素の画素信号は、３８４０画素（Ｙ＝１９２０画素，Ｃｂ＝９６０画素，Ｃｒ＝９６０画素）分の信号量となる。このため、符号化対象画像をマクロブロック単位で分割してラスタ・スキャン順にイントラ予測を行う場合、３８４０画素分の画素信号を記憶する必要がある。
【０００８】
そこで、この発明では、イントラ予測を簡単な構成で行うことができる画像符号化装置と画像符号化方法およびコンピュータ・プログラムを提供することを目的とする。
【課題を解決するための手段】
【０００９】
この発明の第１の側面は、符号化対象ブロック内の画素信号のうち、上端側の水平方向に並ぶ画素の画素信号と左端側の垂直方向に並ぶ画素の画素信号の少なくとも一方を用いてイントラ予測モード毎の予測画の作成を行う予測画作成部と、前記符号化対象画像における符号化対象ブロックの画像と前記予測画作成部で作成された予測画を用いて、前記符号化対象ブロックのイントラ予測を行う予測モード導出部とを有する画像符号化装置にある。
【００１０】
この発明においては、符号化対象ブロック内の画素、例えば符号化対象ブロック内における上端側の水平方向に並ぶ画素の画素信号と左端側の垂直方向に並ぶ画素の画素信号の少なくとも一方を符号化対象画像から用いて予測画が作成される。また、上端側と左端側の画素信号のいずれか一方が用いられる場合、この画像信号と符号化対象画像の符号化対象ブロックと隣接する画素信号を用いてイントラ予測モード毎の予測画が作成される。例えばマクロブロックの処理順方向が水平方向であるとき、符号化対象ブロック内における上端側の水平方向に並ぶ画素信号と、符号化対象画像における符号化対象ブロックの左側に隣接するブロックにおける右端側の垂直方向に並ぶ画素の画素信号を符号化対象画像から用いて予測画が作成される。また、マクロブロックの処理順方向が垂直方向であるとき、符号化対象ブロック内における左端側の垂直方向に並ぶ画素の画素信号と、符号化対象画像における符号化対象ブロックの上側に隣接するブロックにおける下端側の水平方向に並ぶ画素の画素信号を符号化対象画像から用いて予測画が作成される。さらに、符号化対象ブロックの符号化対象画像と符号化済み画像を用いてイントラ予測モード毎に符号化コストが算出されて、符号化コストが最小となるモードが符号化対象ブロックのイントラ予測モードに決定される。
【００１１】
この発明の第２の側面は、予測画作成部で、符号化対象ブロック内の画素信号のうち、上端側の水平方向に並ぶ画素の画素信号と左端側の垂直方向に並ぶ画素の画素信号の少なくとも一方を用いてイントラ予測モード毎の予測画の作成を行うステップと、予測モード導出部で、前記符号化対象画像における符号化対象ブロックの画像と前記予測画作成部で作成された予測画を用いて、前記符号化対象ブロックのイントラ予測を行うステップとを具備する画像符号化方法にある。
【００１２】
この発明の第３の側面は、コンピュータを、符号化対象ブロック内の画素信号のうち、上端側の水平方向に並ぶ画素の画素信号と左端側の垂直方向に並ぶ画素の画素信号の少なくとも一方を用いてイントラ予測モード毎の予測画の作成を行う機能手段と、前記符号化対象画像における符号化対象ブロックの画像と前記作成した予測画を用いて、前記符号化対象ブロックのイントラ予測を行う機能手段として機能させるためのコンピュータ・プログラムにある。
【００１３】
なお、本発明のコンピュータ・プログラムは、例えば、様々なプログラム・コードを実行可能な汎用コンピュータ・システムに対して、コンピュータ可読な形式で提供する記憶媒体、通信媒体、例えば、光ディスクや磁気ディスク、半導体メモリなどの記憶媒体、あるいは、ネットワークなどの通信媒体によって提供可能なコンピュータ・プログラムである。このようなプログラムをコンピュータ可読な形式で提供することにより、コンピュータ・システム上でプログラムに応じた処理が実現される。
【発明の効果】
【００１４】
この発明によれば、符号化対象ブロック内の画素信号のうち、上端側の水平方向に並ぶ画素の画素信号と左端側の垂直方向に並ぶ画素の画素信号の少なくとも一方を用いてイントラ予測モード毎の予測画が作成される。また、作成された予測画と符号化対象ブロックの画像を用いてイントラ予測が行われる。このため、イントラ予測を行う際に、予測画を作成するために記憶しておく画素信号の信号量を少なくできるので、イントラ予測を簡単な構成で行うことができる。
【図面の簡単な説明】
【００１５】
【図１】画像符号化装置の構成を示す図である。
【図２】イントラ予測バッファとイントラ予測部の第１の構成を示す図である。
【図３】イントラ予測における画素信号の位置関係を示した図である。
【図４】４×４イントラ予測モードを説明するための図である。
【図５】イントラ予測動作を示すフローチャートである。
【図６】４ｘ４ブロックにおける予測画作成用画素と符号化対象ブロックの画素との位置関係を示す図である。
【図７】１マクロブロックにおける予測画作成用画素と符号化対象ブロックの画素との位置関係を示す図である。
【図８】処理タイミングを説明するための図である。
【図９】イントラ予測バッファとイントラ予測部の第２の構成を示す図である。
【図１０】４×４イントラ予測モードを説明するための図である。
【図１１】オフセット加算処理を設けたイントラ予測動作を示すフローチャートである。
【図１２】マクロブロックの処理順序が水平方向とされている場合のイントラ予測動作を説明するための図である。
【図１３】マクロブロックの処理順序が水平方向とされている場合の他のイントラ予測動作を説明するための図である。
【図１４】マクロブロックの処理順序が垂直方向とされている場合のイントラ予測動作を説明するための図である。
【図１５】コンピュータ装置の構成を示す図である。
【発明を実施するための形態】
【００１６】
以下、発明を実施するための形態について説明する。なお、説明は以下の順序で行う。
１．画像処理装置の構成
２．画像処理装置における最適モードの選択動作
３．イントラ予測バッファとイントラ予測部の第１の構成
４．イントラ予測動作
５．イントラ予測バッファとイントラ予測部の第２の構成
６．イントラ予測動作
７．イントラ予測の他の動作
８．マクロブロックの処理順序の方向とイントラ予測動作
９．ソフトウェア処理で画像符号化を行う場合
【００１７】
＜１．画像符号化装置の構成＞
この発明の画像符号化装置は、符号化対象ブロック内の画素信号のうち、上端側の画素信号と左端側の画素信号の少なくとも一方を用いてイントラ予測モード毎の予測画の作成を行う。また、画像符号化装置は、作成した予測画と符号化対象画像における符号化対象ブロックの画像を用いて、符号化対象ブロックのイントラ予測を行う。
【００１８】
図１は、画像符号化装置の構成を示している。画像符号化装置１０は、アナログ／ディジタル変換部（Ａ／Ｄ変換部）１１、減算部１２、直交変換部１３、量子化部１４、可逆符号化部１５、蓄積バッファ１６、レート制御部１７を有している。さらに、画像符号化装置１０は、逆量子化部２１、逆直交変換部２２、加算部２３、デブロックフィルタ２４、フレームメモリ２５、イントラ予測バッファ３１、イントラ予測部３２を有している。
【００１９】
Ａ／Ｄ変換部１１は、アナログの画像信号をディジタルの画像信号に変換して減算部１２とイントラ予測バッファ３１に出力する。
【００２０】
減算部１２には、Ａ／Ｄ変換部１１から出力された画像信号と、後述するイントラ予測部３２で作成された予測画を示す画像信号が供給される。減算部１２は、イントラ符号化において、Ａ／Ｄ変換部１１から出力された画像信号とイントラ予測部３２で作成された予測画を示す画像像号との差分を示す差分信号を生成して出力する。
【００２１】
直交変換部１３は、減算部１２から出力された差分信号に対して、離散コサイン変換（DCT；Discrete Cosine Transform）、カルーネン・レーベ変換等の直交変換処理を行う。直交変換部１３は、直交変換処理を行うことにより得られた変換係数信号を量子化部１４に出力する。
【００２２】
量子化部１４には、直交変換部１３から出力された変換係数信号と、後述するレート制御部１７からレート制御信号が供給されている。量子化部１４は変換係数信号の量子化を行い、量子化信号を可逆符号化部１５と逆量子化部２１に出力する。また、量子化部１４は、レート制御部１７からのレート制御信号に基づき量子化パラメータ（例えば量子化スケール）を切り換えて、量子化信号のビットレートを変化させる。
【００２３】
可逆符号化部１５には、量子化部１４から出力された量子化信号と、後述するイントラ予測部３２から出力された符号化に関する情報が供給される。可逆符号化部１５は、量子化信号に対して例えば可変長符号化、または算術符号化等により可逆符号化処理を行う。また、可逆符号化部１５は、イントラ予測部３２からの符号化に関する情報を、ヘッダ情報として可逆符号化処理後の出力信号に付加して蓄積バッファ１６に出力する。
【００２４】
蓄積バッファ１６は、可逆符号化部１５からの出力信号を蓄積する。また、蓄積バッファ１６は、蓄積した出力信号を伝送路に応じた伝送速度で出力する。
【００２５】
レート制御部１７は、蓄積バッファ１６の空き容量の監視を行い、空き容量に応じてレート制御信号を生成して量子化部１４に出力する。レート制御部１７は、例えば蓄積バッファ１６から空き容量を示す情報を取得する。レート制御部１７は空き容量が少なくなっているとき、レート制御信号によって量子化信号のビットレートを低下させる。また、レート制御部１７は蓄積バッファ１６の空き容量が十分大きいとき、レート制御信号によって量子化信号のビットレートを高くする。
【００２６】
逆量子化部２１は、量子化部１４から供給された量子化信号の逆量子化処理を行う。逆量子化部２１は、逆量子化処理を行うことで得られた変換係数信号を逆直交変換部２２に出力する。
【００２７】
逆直交変換部２２は、逆量子化部２１から供給された変換係数信号の逆直交変換処理を行ことで、直交変換部１３に入力された差分信号の生成を行い、生成した差分信号を加算部２３に出力する。
【００２８】
加算部２３には、逆直交変換部２２から差分信号とイントラ予測部３２から予測値が供給される。加算部２３は、予測値と差分信号を加算して復号画像信号を生成してデブロックフィルタ２４に出力する。
【００２９】
デブロックフィルタ２４は、画像の符号化時に生じるブロック歪みを減少させるためのフィルタである。デブロックフィルタ２４は、加算部２３から供給された復号画像信号から適応的にブロック歪を除去するフィルタ処理を行い、フィルタ処理後の復号画像信号をフレームメモリ２５に出力する。
【００３０】
フレームメモリ２５は、デブロックフィルタ２４から供給された復号画像信号を保持する。すなわち、フレームメモリ２５には、符号化処理と復号化処理を行うことにより得られた符号化済みの画像が保持される。
【００３１】
イントラ予測バッファ３１は、符号化対象画像における符号化対象ブロックの画像を保持する。
【００３２】
イントラ予測部３２は、符号化対象ブロック内の画像信号を用いて予測画の作成を行う。イントラ予測部３２は、符号化対象ブロック内の画素信号のうち、上端側の水平方向に並ぶ画素の画素信号と左端側の垂直方向に並ぶ画素の画素信号の少なくとも一方を用いて予測画の作成を行う。さらに、イントラ予測部３２は、作成した予測画を減算部１２と加算部２３に出力する。ここで、イントラ予測部３２は、符号化対象ブロック内の画素信号として、符号化対象画像（原画）の画素信号、または符号化と復号化を行うことにより得た符号化済み画像の画素信号を用いる。
【００３３】
また、イントラ予測部３２は、符号化対象ブロックの符号化対象画像と符号化済み画像を用いて、符号化対象ブロック毎に最適なイントラ予測モードに決定する。さらに、イントラ予測部３２は、決定したイントラ予測モードで予測画の作成を行い、予測画を示す画像信号を減算部１２に出力する。
【００３４】
なお、図１では、デブロックフィルタ２４でフィルタ処理が行われた復号画像信号をイントラ予測部３２で用いる構成を示しているが、デブロックフィルタ２４でフィルタ処理が行われる前の画像信号を用いてイントラ予測を行うものとしてもよい。
【００３５】
＜２．画像処理装置における最適モードの選択動作＞
Ｈ．２６４／ＡＶＣでは、Joint Model（ＡＶＣ参照符号化方式）で高画質モード（High Complexity Mode）と高速モード（Low Complexity Mode）が定義されている。高画質モードはマルチパスエンコードを前提としたモードであり、高速モードは１パスエンコードを前提としたモードである。
【００３６】
高速モード（Low Complexity Mode）では、符号化効率を示すコスト関数を式（１）により定義し、該コスト関数を用いて予測モード毎に算出した符号化コスト（Ｃｏｓｔ値）の比較により最適な予測モードを導出する。
【００３７】
【数１】
2010251953.tif 000003
【００３８】
ここで、ＳＡ(Ｔ)Ｄ（SA(T)D:Sum of Absolute Transformed Difference）は、原画像と予測画像との誤差値であり、これら原画像と予測画像との間の、画素値差分値の絶対値誤差和が適用される。
【００３９】
ＳＡ(Ｔ)Ｄ０は、誤差値ＳＡ(Ｔ)Ｄに与えられるオフセット値であり、ヘッダビット、モード判定の際の重みとなるコストによるものであり、動きベクトル等の付加的な情報の伝送に供する信号量が示される。具体的には、絶対値誤差和ＳＡＤ（SAD:Sum of Absolute Difference）は、各符号化対象ブロックについて、式（２）により示され、それぞれ各予測モードにおける原画像と予測画像の差分値が適用される。
【００４０】
【数２】
2010251953.tif 000004
【００４１】
なお、この式（２）による絶対値誤差和ＳＡＤに代えて、式（３）による得られる差分加算値にＳＡ(Ｔ)Ｄ（mode）を用いてもよい。
【００４２】
【数３】
2010251953.tif 000005
【００４３】
Ｈａｄａｍａｒｄ()は、式（４）に示すように、対象の行列にアダマール変換行列を掛けるアダマール変換操作である。  
【００４４】
【数４】
2010251953.tif 000006
【００４５】
そして、アダマール変換行列は、式（５）により表され、ＨTは、アダマール変換行列の転置行列である。
【００４６】
【数５】
2010251953.tif 000007
【００４７】
オフセット値ＳＡ(Ｔ)Ｄ０は、前方向予測モードにおいては、式（６）で示される。
【００４８】
【数６】
2010251953.tif 000008
【００４９】
ここで、ＱＰ０（ＱＰ）は、量子化パラメータQPを量子化スケールに変換する関数であり、ＭＶＤＦＷは、前方向予測に係る動きベクトルであり、ビット・トゥ・コード（Bit to code）は、この動きベクトルに係るビットストリーム上の符号量である。
【００５０】
そして、オフセット値ＳＡ(Ｔ)Ｄ０は、後方向予測モードでは式（７）で示される。ここで、ＭＶＤＢＷは、後方向予測に係る動きベクトルである。
【００５１】
【数７】
2010251953.tif 000009
【００５２】
また、オフセット値ＳＡ(Ｔ)Ｄ０は、双方向予測モードでは式（８）で示される。
【００５３】
【数８】
2010251953.tif 000010
【００５４】
ここで、「Bit to code forward Blk size」、「Bit to code backward Blk size」は、それぞれ前方向予測および後方向予測に係る動き補償ブロックの情報の伝送に必要なビットストリーム上における符号量である。
【００５５】
そして、ダイレクトモードでは、オフセット値ＳＡ(Ｔ)Ｄ０は式（９）で示される。
【００５６】
【数９】
2010251953.tif 000011
【００５７】
イントラ４×４予測モードでは、オフセット値ＳＡ(Ｔ)Ｄ０は式（１０）で示される。
【００５８】
【数１０】
2010251953.tif 000012
【００５９】
なお、このコスト関数にあっては、動きベクトルの探索にも適用され、式（１１）で示されるように、Ｃｏｓｔ値を最小にする動きベクトルが検出される。  
【００６０】
【数１１】
2010251953.tif 000013
【００６１】
これにより、高速モード(Low Complexity Mode)において最適モードを検出する場合、画像符号化装置１０では、イントラ予測部３２において、イントラ符号化の全予測モードについてＣｏｓｔ値を計算する。そして、このＣｏｓｔ値の最も小さな予測モードをイントラ予測モードに決定する。
【００６２】
また、イントラ予測部３２は、高画質モードで符号化処理を行うものとしてもよい。この場合、符号化効率を示すコスト関数として、ビットレート−歪を最適化するために式（１２）に示す関数を用いる。イントラ予測部３２は、このコスト関数によって予測モード毎に算出したＣｏｓｔ値の比較により最適な予測モードを検出する。なお、式（１２）において、「Ｄ」は符号化により発生する誤差（二乗誤差または絶対値誤差）、「Ｒ」は発生符号量、「λ」はラグランジュ乗数である。
【００６３】
【数１２】
2010251953.tif 000014
【００６４】
＜３．イントラ予測バッファとイントラ予測部の第１の構成＞
図２は、イントラ予測バッファとイントラ予測部の構成を示している。なお、以下の説明は、高速モードで符号化処理を行う場合を示している。また、符号化対象ブロック内の画素信号として、符号化対象画像の画素信号を用いる場合を示している。
【００６５】
イントラ予測バッファ３１には、符号化対象ブロックの画像信号を記憶する対象ブロック画素領域３１１が設けられている。
【００６６】
イントラ予測部３２は、予測画作成部３２１、予測モード導出部３２３を有している。
【００６７】
予測画作成部３２１は、イントラ予測バッファ３１に記憶されている符号化対象ブロックの画像信号を用いてイントラ予測モード毎の予測画の作成を行い、作成した予測画を減算部１２と加算部２３に出力する。
【００６８】
予測モード導出部３２３は、ＳＡ(Ｔ)Ｄ演算部３２３ａとＣｏｓｔ導出部３２３ｂとＣｏｓｔ比較部３２３ｃを有している。
【００６９】
ＳＡ(Ｔ)Ｄ演算部３２３ａは、符号化対象ブロックについて符号化対象画像の画素信号と符号化済み画像の画素信号を用いて、ＳＡ(Ｔ)ＤとＳＡ(Ｔ)Ｄ０を算出する。さらにＳＡ(Ｔ)Ｄ演算部３２３ａは、算出したＳＡ(Ｔ)ＤとＳＡ(Ｔ)Ｄ０をＣｏｓｔ導出部３２３ｂに出力する。なお、ＳＡ(Ｔ)Ｄ演算部３２３ａは、ＳＡ(Ｔ)ＤとＳＡ(Ｔ)Ｄ０の算出を式（２）と式（１０）を用いてイントラ予測モード毎に各ブロックに対して行う。
【００７０】
Ｃｏｓｔ導出部３２３ｂは、ＳＡ(Ｔ)Ｄ演算部３２３ａから供給されたＳＡ(Ｔ)ＤとＳＡ(Ｔ)Ｄ０を用いて式（１）の演算を行い、Ｃｏｓｔ値を算出してＣｏｓｔ比較部３２３ｃに出力する。また、Ｃｏｓｔ導出部３２３ｂは、各ブロックに対してＣｏｓｔ値の算出をイントラ予測モード毎に行う。
【００７１】
Ｃｏｓｔ比較部３２３ｃは、Ｃｏｓｔ導出部３２３ｂで算出されたイントラ予測モード毎のＣｏｓｔ値を比較して、Ｃｏｓｔ値が最小となる予測モードを符号化対象ブロックにおける最適なイントラ予測モードに決定する。さらに、Ｃｏｓｔ比較部３２３ｃは、符号化対象ブロック毎に決定したイントラ予測モードを、予測画作成部３２１と可逆符号化部１５に通知する。
【００７２】
＜４．イントラ予測動作＞
次に、（１６×１６）画素のマクロブロックを（４×４）画素の符号化対象ブロックに分割して、符号化対象ブロック毎に輝度成分のイントラ予測モードを決定する場合について説明する。また、符号化対象ブロック内の画素信号として、上端側の水平方向に並ぶ画素の画素信号と左端側の垂直方向に並ぶ画素の画素信号を用いる。例えば、符号化対象ブロックが（４×４）画素であるとき、上端の水平方向に並ぶ画素の画素信号と左端の垂直方向に並ぶ画素の画素信号を用いる。なお、予測画の作成に用いる画素信号は上端や左端の画素信号に限られるものではなく、符号化対象ブロックが（８×８）画素や（１６×１６）画素のサイズとされているとき、上端から２ライン目や３ライン目の画素信号を用いてもよい。また、上端側や左端側の複数ラインの画素信号から予測画の作成に用いる画素信号を生成してもよい。
【００７３】
図３は、イントラ予測における画素信号の位置関係を示した図である。イントラ予測の処理対象となる（４×４）画素の符号化対象ブロックの上端と左端の画素信号は、画素信号ａ〜ｄ，ｉ，ｊ，ｋとする。また、符号化対象ブロックの左側と左上側と上側と右上側と右側に隣接するブロックの画素信号は、画素信号Ａ〜Ｍ，ｅ，ｆ，ｇ，ｈとする。なお、右側に隣接するブロックの画素信号を用いないでイントラ予測を行う場合、画素信号ｅ，ｆ，ｇ，ｈとして、符号化対象ブロックの右上端の画素信号ｄを用いる。
【００７４】
イントラ予測部３２の予測画作成部３２１は、符号化対象ブロック内の画素信号のうち、上端の画素信号と左端の画素信号の少なくとも一方を用いてイントラ予測モード毎の予測画の作成を行う。
【００７５】
図４は、４×４イントラ予測モードを説明するための図であり、符号化対象ブロック内の画素信号を用いて予測画を作成する場合を示している。例えば、上端の水平方向に並ぶ画素の画素信号と左端の垂直方向に並ぶ画素の画素信号の両方を用いて予測画を作成する。
【００７６】
図４の（Ａ）は、生成する画素信号の位置を示している。例えばブロックの左上端の画素は画素信号Ｐｒｅｄ（０，０）、左下端の画素は画素信号Ｐｒｅｄ（０，３）、右上端の画素は画素信号Ｐｒｅｄ（３，０）、右下端の画素は画素信号Ｐｒｅｄ（３，３）とする。
【００７７】
モード０：
モード０は「ｖｅｒｔｉｃａｌ（垂直）予測」である。予測画作成部３２１は、画素信号Ｐｒｅｄ（０，０）〜Ｐｒｅｄ（３，３）の予測値を、画素信号ａ，ｂ，ｃ，ｄを用いて図４の（Ｂ）および式（１３）のように生成する。なお、式（１３）における画素信号Ａは、符号化対象ブロック内の画素信号ａとする。また、画素信号Ｂ，Ｃ，Ｄは、符号化対象ブロック内の画素信号ｂ，ｃ，ｄとする。
【００７８】
【数１３】
2010251953.tif 000015
【００７９】
モード１：
モード１は「ｈｏｒｉｚｏｎｔａｌ（水平）予測」である。予測画作成部３２１は、画素信号Ｐｒｅｄ（０，０）〜Ｐｒｅｄ（３，３）の予測値を、画素信号ａ，ｊ，ｋ，ｌを用いて図４の（Ｃ）および式（１４）のように生成する。なお、式（１４）における画素信号Ｉは、符号化対象ブロック内の画素信号ａとする。また、画素信号Ｊ，Ｋ，Ｌは、符号化対象ブロック内の画素信号ｊ，ｌ，ｌとする。
【００８０】
【数１４】
2010251953.tif 000016
【００８１】
モード２：
モード２は「ＤＣ予測」である。予測画作成部３２１は、画素信号Ｐｒｅｄ（０，０）〜Ｐｒｅｄ（３，３）の予測値を、画素信号ａ〜ｄ，ｊ〜ｌを用いて図４の（Ｄ）および式（１５）のように生成する。なお、式（１５）における画素信号Ａは、符号化対象ブロック内の画素信号ａとする。また、画素信号Ｂ，Ｃ，Ｄ，Ｉ，Ｊ，Ｋ，Ｌは、符号化対象ブロック内の画素信号ｂ，ｃ，ｄ，ａ，ｊ，ｋ，ｌとする。
【００８２】
【数１５】
2010251953.tif 000017
【００８３】
モード３：
モード３は「ｄｉａｇｏｎａｌ  ｄｏｗｎ−ｌｅｆｔ予測」である。予測画作成部３２１は、画素信号Ｐｒｅｄ（０，０）〜Ｐｒｅｄ（３，３）の予測値を、画素信号ａ〜ｄまたは画素信号ａ〜ｈを用いて図４の（Ｅ）および式（１６）のように生成する。なお、式（１６）における画素信号Ａは、符号化対象ブロック内の画素信号ａとする。また、画素信号Ｂ，Ｃ，Ｄ，Ｅ，Ｆ，Ｇ，Ｈは、符号化対象ブロック内の画素信号ｂ，ｃ，ｄ，ｅ，ｆ，ｇ，ｈとする。また、右側に隣接するブロックの画素信号を用いないでイントラ予測を行う場合、画素信号Ｅ，Ｆ，Ｇ，Ｈは、それぞれ符号化対象ブロック内の画素信号ｄとする。
【００８４】
【数１６】
2010251953.tif 000018
【００８５】
モード４：
モード４は「ｄｉａｇｏｎａｌ  ｄｏｗｎ−ｒｉｇｈｔ予測」である。予測画作成部３２１は、画素信号Ｐｒｅｄ（０，０）〜Ｐｒｅｄ（３，３）の予測値を、画素信号ａ〜ｄ，ｊ〜ｌを用いて図４の（Ｆ）および式（１７）のように生成する。なお、式（１７）における画素信号Ａは、符号化対象ブロック内の画素信号ａとする。また、画素信号Ｂ，Ｃ，Ｄ，Ｉ，Ｊ，Ｋ，Ｌ，Ｍは、符号化対象ブロック内の画素信号ｂ，ｃ，ｄ，ａ，ｊ，ｋ，ｌ，ａとする。
【００８６】
【数１７】
2010251953.tif 000019
【００８７】
モード５：
モード５は「ｖｅｒｔｉｃａｌ−ｒｉｇｈｔ予測」である。予測画作成部３２１は、画素信号Ｐｒｅｄ（０，０）〜Ｐｒｅｄ（３，３）の予測値を、画素信号ａ〜ｄ，ｊ〜ｋを用いて図４の（Ｇ）および式（１８）のように生成する。なお、式（１８）における画素信号Ａは、符号化対象ブロック内の画素信号ａとする。また、画素信号Ｂ，Ｃ，Ｄ，Ｉ，Ｊ，Ｋ，Ｍは、符号化対象ブロック内の画素信号ｂ，ｃ，ｄ，ａ，ｊ，ｋ，ａとする。
【００８８】
【数１８】
2010251953.tif 000020
【００８９】
モード６：
モード６は「ｈｏｒｉｚｏｎｔａｌ−ｄｏｗｎ予測」である。予測画作成部３２１は、画素信号Ｐｒｅｄ（０，０）〜Ｐｒｅｄ（３，３）の予測値を、画素信号ａ〜ｃ，ｊ〜ｌを用いて図４の（Ｈ）および式（１９）のように生成する。なお、式（１９）における画素信号Ａは、符号化対象ブロック内の画素信号ａとする。また、画素信号Ｂ，Ｃ，Ｉ，Ｊ，Ｋ，Ｌ，Ｍは、符号化対象ブロック内の画素信号ｂ，ｃ，ａ，ｊ，ｋ，ｌ，ａとする。
【００９０】
【数１９】
2010251953.tif 000021
【００９１】
モード７：
モード７は「ｖｅｒｔｉｃａｌ−ｌｅｆｔ予測」である。予測画作成部３２１は、画素信号Ｐｒｅｄ（０，０）〜Ｐｒｅｄ（３，３）の予測値を、画素信号ａ〜ｄまたは画素信号ａ〜gを用いて図４の（Ｉ）および式（２０）のように生成する。なお、式（２０）における画素信号Ａは、符号化対象ブロック内の画素信号ａとする。また、画素信号Ｂ，Ｃ，Ｄ，Ｅ，Ｆ，Ｇは、符号化対象ブロック内の画素信号ｂ，ｃ，ｄ，ｅ，ｆ，ｇとする。さらに、右側に隣接するブロックの画素信号を用いないでイントラ予測を行う場合、画素信号Ｅ，Ｆ，Ｇは、それぞれ符号化対象ブロック内の画素信号ｄとする。
【００９２】
【数２０】
2010251953.tif 000022
【００９３】
モード８：
モード８は「ｈｏｒｉｚｏｎｔａｌ−ｕｐ予測」である。予測画作成部３２１は、画素信号Ｐｒｅｄ（０，０）〜Ｐｒｅｄ（３，３）の予測値を、画素信号ａ，ｊ〜ｌを用いて図４の（Ｊ）および式（２１）のように生成する。なお、式（２１）における画素信号Ｉは、符号化対象ブロック内の画素信号ａとする。また、画素信号Ｊ，Ｋ，Ｌは、符号化対象ブロック内の画素信号ｊ，ｋ，ｌとする。
【００９４】
【数２１】
2010251953.tif 000023
【００９５】
図５は、１つの符号化対象ブロックに対するイントラ予測動作を示すフローチャートである。
【００９６】
ステップＳＴ１でイントラ予測部３２は、符号化対象ブロックの画素信号の読み出しを行う。イントラ予測部３２は、イントラ予測バッファ３１に記憶している画素信号から、（４×４）画素である符号化対象ブロックの画素信号（輝度信号）をＳＡ(Ｔ)Ｄ演算部３２３ａに出力してステップＳＴ２に進む。
【００９７】
ステップＳＴ２でイントラ予測部３２は、ブロック内から予測画作成に必要な画素信号の読み出しを行う。イントラ予測部３２は、予測画作成に必要な画素信号（輝度信号）をイントラ予測バッファ３１から読み出して予測画作成部３２１に供給してステップＳＴ３に進む。
【００９８】
ステップＳＴ３〜ステップＳＴ７は、符号化対象ブロックに対して各イントラ予測モードで行う処理を示している。ステップＳＴ４でイントラ予測部３２は、予測画の作成を行いステップＳＴ５に進む。
【００９９】
ステップＳＴ５でイントラ予測部３２は、ＳＡ（Ｔ）Ｄの算出を行う。イントラ予測部３２のＳＡ(Ｔ)Ｄ演算部３２３ａは、符号化対象ブロックについて、符号化対象画像の画素信号とフレームメモリ２５に記憶されている符号化済み画像の画素信号を用いて、ＳＡ(Ｔ)Ｄを算出してステップＳＴ６に進む。
【０１００】
ステップＳＴ６でイントラ予測部３２は、Ｃｏｓｔ値の算出を行う。イントラ予測部３２のＣｏｓｔ導出部３２３ｂは、ステップＳＴ５で算出したＳＡ(Ｔ)Ｄを用いてＣｏｓｔ値を算出する。
【０１０１】
このステップＳＴ４〜６の処理を、イントラ予測モード毎に行い、全てのイントラ予測モードについてＣｏｓｔ値の算出が完了したときステップＳＴ７からステップＳＴ８に進む。
【０１０２】
ステップＳＴ８でイントラ予測部３２は、最適なイントラ予測モードの決定を行う。イントラ予測部３２のＣｏｓｔ比較部３２３ｃは、イントラ予測モード毎に算出されたＣｏｓｔ値を比較して、Ｃｏｓｔ値が最も小さいモードを、符号化対象ブロックにおける最適なイントラ予測モードに決定する。
【０１０３】
このような処理を、マクロブロックを構成する（４×４）画素のブロックに対して行うことで、マクロブロックのイントラ予測を行うことができる。なお、マクロブロックの処理を行う場合、輝度成分について（４×４）画素のブロック毎にイントラ予測を行うときは図５に示す処理が１６回行われる。輝度成分について（８×８）画素のブロック毎にイントラ予測を行うときは図５に示す処理が４回行われる。また、輝度成分について（１６×１６）画素のブロック毎にイントラ予測を行うときは図５に示す処理が１回行われる。さらに色差成分Ｃｂのイントラ予測を行うときは図５に示す処理が４回、色差成分Ｃｒのイントラ予測を行うときは図５に示す処理が４回行われる。
【０１０４】
図６は、４×４ブロックにおける予測画作成用画素と符号化対象ブロックの画素との位置関係を示している。なお、図６の（Ａ）は、符号化対象ブロック内の上端の水平方向に並ぶ画素と左端の垂直方向に並ぶ画素の画素信号、および右側に隣接する符号化対象ブロック内の上端の水平方向に並ぶ画素の画素信号を用いて予測画を作成する場合を示している。図６の（Ｂ）は、符号化対象ブロック内の上端の水平方向に並ぶ画素の画素信号と左端の垂直方向に並ぶ画素の画素信号を用いて予測画を作成する場合を示している。さらに、図６の（Ｃ）は、符号化対象ブロックと隣接するブロックの符号化対象画像の画素信号を用いて、予測画を作成する従来の特許文献１の方法を用いた場合を示している。
【０１０５】
図６の（Ｃ）に示す従来の方法の場合、符号化対象画像における符号化対象ブロックの上側に隣接するブロックにおける下端の水平方向９画素の画素信号と、左側に隣接するブロックにおける右端の垂直方向の画像信号を記憶しておかなければならない。しかし、図６の（Ａ）や図６の（Ｂ）に示す方法を用いることで、符号化対象ブロックの上側や左側に隣接するブロックの画素信号を記憶する必要がなく、簡単な構成でイントラ予測モードを決定できる。
【０１０６】
図７は、マクロブロックにおける予測画作成用画素と符号化対象ブロックの画素との位置関係を示している。なお、図７の（Ａ）は、符号化対象ブロック内の上端の水平方向に並ぶ画素の画素信号と左端の垂直方向に並ぶ画素の画素信号と、右側の符号化対象ブロック内における上端の水平方向に並ぶ画素の画素信号を用いて予測画を作成する場合を示している。図７の（Ｂ）は、符号化対象ブロック内の上端の水平方向に並ぶ画素の画素信号と左端の垂直方向に並ぶ画素の画素信号を用いて（４×４）画素の予測画を作成する場合を示している。さらに、図７の（Ｃ）は、符号化対象みブロックと隣接するブロックの符号化対象画像の画素信号を用いて（４×４）画素の予測画を作成する従来の特許文献１の方法を用いた場合を示している。
【０１０７】
図７の（Ｃ）に示す従来の方法を用いる場合、１つのマクロブロックの処理を最も効率化する場合には、１２５画素（＝２５画素＋１６画素×４ライン＋３画素×４×３）の符号化対象画像の画素信号を記憶するメモリが必要となる。しかし、図７の（Ａ）や図７の（Ｂ）に示す方法を用いることで、符号化対象ブロックの上側や左側に隣接するブロックの符号化対象画像の画素信号を記憶することなく、簡単な構成でイントラ予測モードを決定できる。
【０１０８】
図８は、処理タイミングを説明するための図である。１マクロブロック内の（４×４）画素のブロックのイントラ予測は、（４×４）画素のブロックの処理順序が図８の（Ａ）に示すように決められている。ここで、イントラ予測を「ＩＰＤ」、直交変換を「Ｔ」、量子化を「Ｑ」）、逆量子化を「ｉＱ」、逆直交変換を「ｉＴ」とする。フレームメモリ２５に保存されている符号化済みの画像を使用する場合、「ＩＰＤ」「Ｔ」「Ｑ」「ｉＱ」「ｉＴ」を行い、ＩＰＤの予測画とｉＴの逆直行変換後の係数を足し合わせた画素を使用する必要がある。また、「ＩＰＤ」を１サイクル、「Ｔ／Ｑ／ｉＱ／ｉＴ」を１サイクルで行うと、マクロブロックを構成する１６個のブロックについて図８（Ａ）に示す順番で処理する場合、イントラ予測処理を完了するには、図８の（Ｂ）のように３０サイクルが必要である。しかし、予測済みブロック内の画素信号を用いてイントラ予測を行うと、各ブロックの処理順の依存性がなくなるため、図８の（Ｃ）に示すようにイントラ予測を並列化して行うことが可能となり、２サイクルで処理を完了できる。したがって、速やかにイントラ予測を完了できる。
【０１０９】
なお、イントラ予測部３２は、符号化対象ブロック内の画素信号として、符号化済み画像の画素信号を用いる場合、図２の破線で示すように、フレームメモリ２５に記憶されている符号化済み画像から符号化対象ブロックの画素信号を読み出して予測画を生成する。また、イントラ予測部３２は、生成した予測画と符号化対象ブロックの符号化対象画像からＣｏｓｔ値を算出して、符号化対象ブロックにおける最適なイントラ予測モードを決定すればよい。
【０１１０】
＜５．イントラ予測バッファとイントラ予測部の第２の構成＞
図２に示す構成でイントラ予測を行う場合、イントラ予測を行うブロック内の画像と隣接するブロックにおける画像との相関が高いときには、ブロック内の画素信号を用いても隣接ブロックの画素信号を用いた場合と同様なイントラ予測結果を得ることができる。例えばイントラ予測を行うブロック内の上端と隣接ブロックの下端の画素信号がほぼ等しく、イントラ予測を行うブロック内の左端と隣接ブロックの右端の画素信号がほぼ等しい場合、隣接ブロックの画素信号を用いた場合と同様なイントラ予測結果が得られる。
【０１１１】
しかし、イントラ予測を行うブロック内の画像と隣接するブロックの画像との相関が低くなると、隣接ブロックの画素信号を用いた場合に比べてイントラ予測の精度の低下が想定される。そこで、イントラ予測では、符号化対象ブロック内における上端の画素信号または左端の画素信号と、符号化対象画像の符号化対象ブロックと隣接する画素信号を用いて予測画を作成することで、イントラ予測を行うようにしてもよい。
【０１１２】
図９は、イントラ予測バッファとイントラ予測部の他の構成として、符号化対象ブロック内における上端の画素信号または左端の画素信号と、符号化対象画像の符号化対象ブロックと隣接する画素信号を用いて予測画を作成する場合を示している。
【０１１３】
イントラ予測バッファ３１ａには、符号化対象ブロックの画像信号を記憶する対象ブロック画素領域３１１と、符号化対象画像において符号化対象ブロックと隣接する画像信号を記憶する隣接原画画素領域３１２が設けられている。
【０１１４】
イントラ予測部３２ａは、予測画作成部３２１ａ、予測モード導出部３２３を有している。
【０１１５】
予測画作成部３２１ａは、符号化対象ブロック内の画素信号だけでなく、イントラ予測バッファ３１ａの隣接原画画素領域３１２に記憶されている画素信号を用いて、イントラ予測モード毎に予測画を作成する。また、予測画作成部３２１ａは、符号化対象ブロック内の画素信号として、上端側の水平方向に並ぶ画素の画素信号と左端側の垂直方向に並ぶ画素の画素信号を用いる。また、予測画作成部３２１ａは、予測モード導出部３２３によって決定されたイントラ予測モードで予測画を作成して、作成した予測画を示す画像信号を減算部１２に出力する。予測画作成部３２１ａは、符号化対象ブロック内における上端の水平方向に並ぶ画素の画素信号を用いるとき、符号化対象ブロックの左側に隣接するブロックから、右端の垂直方向に並ぶ画素の画素信号を符号化対象画像から用いて予測画を作成する。また、予測画作成部３２１ａは、符号化対象ブロック内における左端の垂直方向に並ぶ画素の画素信号を用いるとき、符号化対象画像における符号化対象ブロックの上側に隣接するブロックから、下端の水平方向に並ぶ画素の画素信号を符号化対象画像から用いて予測画を作成する。
【０１１６】
予測モード導出部３２３は、ＳＡ(Ｔ)Ｄ演算部３２３ａとＣｏｓｔ導出部３２３ｂとＣｏｓｔ比較部３２３ｃを有している。
【０１１７】
ＳＡ(Ｔ)Ｄ演算部３２３ａは、符号化対象ブロックについて、符号化対象画像の画素信号と符号化済み画像の画素信号を用いてＳＡ(Ｔ)ＤとＳＡ(Ｔ)Ｄ０を算出する。さらにＳＡ(Ｔ)Ｄ演算部３２３ａは、算出したＳＡ(Ｔ)ＤとＳＡ(Ｔ)Ｄ０をＣｏｓｔ導出部３２３ｂに出力する。なお、ＳＡ(Ｔ)Ｄ演算部３２３ａは、ＳＡ(Ｔ)ＤとＳＡ(Ｔ)Ｄ０の算出を式（２）と式（１０）を用いてイントラ予測モード毎に各ブロックに対して行う。
【０１１８】
Ｃｏｓｔ導出部３２３ｂは、ＳＡ(Ｔ)Ｄ演算部３２３ａから供給されたＳＡ(Ｔ)ＤとＳＡ(Ｔ)Ｄ０を用いて式（１）の演算を行い、Ｃｏｓｔ値を算出してＣｏｓｔ比較部３２３ｃに出力する。また、Ｃｏｓｔ導出部３２３ｂは、各ブロックに対してＣｏｓｔ値の算出をイントラ予測モード毎に行う。
【０１１９】
Ｃｏｓｔ比較部３２３ｃは、Ｃｏｓｔ導出部３２３ｂで算出されたイントラ予測モード毎のＣｏｓｔ値を比較して、Ｃｏｓｔ値が最小となるイントラ予測モードを符号化対象ブロックにおける最適なイントラ予測モードに決定する。さらに、Ｃｏｓｔ比較部３２３ｃは、符号化対象ブロック毎に決定したイントラ予測モードを、予測画作成部３２１ａと可逆符号化部１５に通知する。
【０１２０】
＜６．イントラ予測の動作＞
イントラ予測バッファ３１ａとイントラ予測部３２ａは、予測画を作成するとき、マクロブロックの処理順方向に応じて、予測に用いる画素信号の選択や隣接原画画素領域３１２に記憶する画素信号の設定を行う。例えば、マクロブロックの処理を水平方向に順次行う場合、符号化対象ブロック内における上端の画素信号を用いる。また、符号化対象画像における符号化対象ブロックの左側に隣接するブロックの右端の垂直方向に並ぶ画素の画素信号を隣接原画画素領域３１２に記憶させる。
【０１２１】
図１０は、４×４イントラ予測モードを説明するための図である。なお、図１０は、予測画の作成に用いる画素信号として、符号化対象ブロック内の上端の水平方向に並ぶ画素の画素信号と、左側に隣接する隣接ブロックにおける符号化対象画像の右端の垂直方向に並ぶ画素の画素信号を用いて予測画を作成する場合を示している。
【０１２２】
図１０の（Ａ）は、生成する画素信号の位置を示している。例えばブロックの左上端の画素は画素信号Ｐｒｅｄ（０，０）、左下端の画素は画素信号Ｐｒｅｄ（０，３）、右上端の画素は画素信号Ｐｒｅｄ（３，０）、右下端の画素は画素信号Ｐｒｅｄ（３，３）とする。なお、モード０〜８において画素信号Ｐｒｅｄ（０，０）〜Ｐｒｅｄ（３，３）の予測値の算出式は、図４を用いた説明の場合と同様である。
【０１２３】
モード０：
モード０は「ｖｅｒｔｉｃａｌ（垂直）予測」である。予測画作成部３２１ａは、画素信号Ｐｒｅｄ（０，０）〜Ｐｒｅｄ（３，３）の予測値を、画素信号ａ，ｂ，ｃ，ｄを用いて図１０の（Ｂ）および式（１３）のように生成する。なお、式（１３）における画素信号Ａは、符号化対象ブロック内の画素信号ａとする。また、画素信号Ｂ，Ｃ，Ｄは、符号化対象ブロック内の画素信号ｂ，ｃ，ｄとする。
【０１２４】
モード１：
モード１は「ｈｏｒｉｚｏｎｔａｌ（水平）予測」である。予測画作成部３２１ａは、画素信号Ｐｒｅｄ（０，０）〜Ｐｒｅｄ（３，３）の予測値を、図１０の（Ｃ）および式（１４）のように、画素信号Ｉ，Ｊ，Ｋ，Ｌを用いて生成する。
【０１２５】
モード２：
モード２は「ＤＣ予測」である。予測画作成部３２１ａは、画素信号Ｐｒｅｄ（０，０）〜Ｐｒｅｄ（３，３）の予測値を、画素信号ａ〜ｄ，Ｉ〜Ｌを用いて図１０の（Ｄ）および式（１５）のように生成する。なお、式（１５）における画素信号Ａは、符号化対象ブロック内の画素信号ａとする。また、画素信号Ｂ，Ｃ，Ｄは、符号化対象ブロック内の画素信号ｂ，ｃ，ｄとする。
【０１２６】
モード３：
モード３は「ｄｉａｇｏｎａｌ  ｄｏｗｎ−ｌｅｆｔ予測」である。予測画作成部３２１ａは、画素信号Ｐｒｅｄ（０，０）〜Ｐｒｅｄ（３，３）の予測値を、画素信号ａ〜ｄまたは画素信号ａ〜ｈを用いて図１０の（Ｅ）および式（１６）のように生成する。なお、式（１６）における画素信号Ａは、符号化対象ブロック内の画素信号ａとする。また、画素信号Ｂ，Ｃ，Ｄ，Ｅ，Ｆ，Ｇ，Ｈは、符号化対象ブロック内の画素信号ｂ，ｃ，ｄ，ｅ，ｆ，ｇ，ｈとする。さらに、右側に隣接するブロックの画素信号を用いないでイントラ予測を行う場合、画素信号Ｅ，Ｆ，Ｇ，Ｈは、それぞれ符号化対象ブロック内の画素信号ｄとする。
【０１２７】
モード４：
モード４は「ｄｉａｇｏｎａｌ  ｄｏｗｎ−ｒｉｇｈｔ予測」である。予測画作成部３２１ａは、画素信号Ｐｒｅｄ（０，０）〜Ｐｒｅｄ（３，３）の予測値を、画素信号ａ〜ｄ，Ｉ〜Ｌを用いて図１０の（Ｆ）および式（１７）のように生成する。なお、式（１７）における画素信号Ａは、符号化対象ブロック内の画素信号ａとする。また、画素信号Ｂ，Ｃ，Ｄは、符号化対象ブロック内の画素信号ｂ，ｃ，ｄとする。さらに、画素信号Ｍとして隣接ブロックの画素信号である画素信号Ｉを用いる。
【０１２８】
モード５：
モード５は「ｖｅｒｔｉｃａｌ−ｒｉｇｈｔ予測」である。予測画作成部３２１ａは、画素信号Ｐｒｅｄ（０，０）〜Ｐｒｅｄ（３，３）の予測値を、画素信号ａ〜ｄ，Ｉ〜Ｋを用いて図１０の（Ｇ）および式（１８）のように生成する。なお、式（１８）における画素信号Ａは、符号化対象ブロック内の画素信号ａとする。また、画素信号Ｂ，Ｃ，Ｄ，は、符号化対象ブロック内の画素信号ｂ，ｃ，ｄとする。さらに、画素信号Ｍとして隣接ブロックの画素信号である画素信号Ｉを用いる。
【０１２９】
モード６：
モード６は「ｈｏｒｉｚｏｎｔａｌ−ｄｏｗｎ予測」である。予測画作成部３２１ａは、画素信号Ｐｒｅｄ（０，０）〜Ｐｒｅｄ（３，３）の予測値を、画素信号ａ〜ｃ，Ｉ〜Ｌを用いて図１０の（Ｈ）および式（１９）のように生成する。なお、式（１９）における画素信号Ａは、符号化対象ブロック内の画素信号ａとする。また、画素信号Ａ，Ｂ，Ｃ，Ｄは、符号化対象ブロック内の画素信号ａ，ｂ，ｃ，ｄとする。さらに、画素信号Ｍとして隣接ブロックの画素信号である画素信号Ｉを用いる。
【０１３０】
モード７：
モード７は「ｖｅｒｔｉｃａｌ−ｌｅｆｔ予測」である。予測画作成部３２１ａは、画素信号Ｐｒｅｄ（０，０）〜Ｐｒｅｄ（３，３）の予測値を、画素信号ａ〜ｄ，Ｉまたは画素信号ａ〜ｈ，Ｉを用いて図１０の（Ｉ）および式（２０）のように生成する。なお、式（２０）における画素信号Ａは、画素信号ａとする。また、画素信号Ｂ，Ｃ，Ｄ，Ｅ，Ｆ，Ｇは、画素信号ｂ，ｃ，ｄ，ｅ，ｆ，ｇとする。さらに、画素信号Ｍとして隣接ブロックの画素信号である画素信号Ｉを用いる。また、右側に隣接するブロックの画素信号を用いないでイントラ予測を行う場合、画素信号Ｅ，Ｆ，Ｇは、それぞれ符号化対象ブロック内の画素信号ｄとする。
【０１３１】
モード８：
モード８は「ｈｏｒｉｚｏｎｔａｌ−ｕｐ予測」である。予測画作成部３２１ａは、画素信号Ｐｒｅｄ（０，０）〜Ｐｒｅｄ（３，３）の予測値を、画素信号Ｉ〜Ｌを用いて図１０の（Ｊ）および式（２１）のように生成する。
【０１３２】
このように、上側または左側のいずれか一方の隣接ブロックの画素信号として、符号化対象画像の画素信号が用いられるので、ブロック内の画素信号のみを用いてイントラ予測を行う場合に比べて精度の低下を少なくすることが可能となる。
【０１３３】
＜７．イントラ予測の他の動作＞
ところで、図１０に示すように符号化対象ブロック内の画素と符号化対象画像における符号化対象ブロックと隣接する画素を使用する場合、隣接する画素に比べてブロック内の画素を用いた場合の画素の相関が高い。また、画素の相関が高いときはＳＡ（Ｔ）Ｄが低くなりがちである。例えば、モード０の「ｖｅｒｔｉｃａｌ予測」ではブロック内の画素を用いて予測画の作成を行い、モード１の「ｈｏｒｉｚｏｎｔａｌ予測」では隣接画素を用いて予測画を作成する。この場合、上端の１ラインにおける差分は、画素信号が等しいことから「０」となり、モード１に比べてモード０のＳＡ（Ｔ）Ｄが相対的に低くなって、ブロック内の画素を使用する予測モードが選択され易くなってしまう。
【０１３４】
そこで、ブロック内の画素を使用する予測モードとＳＡ（Ｔ）Ｄに応じてモード別オフセット量を算出して、このモード別オフセット量をＳＡ（Ｔ）Ｄに加算することでＳＡ（Ｔ）Ｄの補正を行う。表１は、図１０に示すように、ブロック内の上端の水平方向に並ぶ画素の画素信号を隣接ブロックの画素信号として用いる場合での各イントラ予測モードにおけるＳＡ（Ｔ）Ｄの補正式を例示している。
【０１３５】
【表１】
2010251953.tif 000024
【０１３６】
表１において、ブロック内の画素信号が用いられないモード２およびモード８では、モード別オフセット量を「０」とする。
【０１３７】
ブロック内の上端の画素信号を隣接ブロックの画素信号として用いる場合、モード０では、ブロック内の４ラインのうち１ラインが全く等しいことから略（１／４）×ＳＡ(Ｔ)Ｄの減少が想定される。また、隣接ブロックとは異なるブロック内の画素信号を用いていることから（１／４）の減少よりも小さい値例えば（１／８）を補正量として追加して、モード０のモード別オフセット量を例えば（３／８）×ＳＡ（Ｔ）Ｄとしている。モード３，モード７は、隣接するブロックの画素信号も用いることから、モード０よりもＳＡ(Ｔ)Ｄの減少が少ないことが想定されるので、モード別オフセット量を例えば（２／８）×ＳＡ（Ｔ）Ｄとしている。モード２，４，５，６では、左端の隣接ブロックの画素信号も用いられることから、モード別オフセット量を例えば（１／８）×ＳＡ（Ｔ）Ｄとしている。
【０１３８】
図１１は、オフセット加算処理を設けたイントラ予測動作を示すフローチャートである。モード別オフセット量は、ブロック内の画素を使用する予測モードとＳＡ（Ｔ）Ｄに応じて算出する。このモード別オフセット量をＳＡ（Ｔ）Ｄに加算してＳＡ（Ｔ）Ｄの補正を行い、補正後のＳＡ(Ｔ)Ｄを用いて符号化対象ブロックのイントラ予測を行う。
【０１３９】
ステップＳＴ１１でイントラ予測部３２ａは、符号化対象ブロックの画素信号の読み出しを行う。イントラ予測部３２ａは、イントラ予測バッファ３１ａに記憶している画素信号から、（４×４）画素である符号化対象ブロックの画素信号をＳＡ(Ｔ)Ｄ演算部３２３ａに出力してステップＳＴ１２に進む。
【０１４０】
ステップＳＴ１２でイントラ予測部３２ａは、予測画作成に必要な画素信号の読み出しを行う。イントラ予測部３２は、予測画作成に必要なブロック内の画素信号をフレームメモリ２５から読み出して予測画作成部３２１ａに供給する。また、イントラ予測部３２は、予測画作成に必要な隣接ブロックの画素信号をイントラ予測バッファ３１ａの隣接原画画素領域３１２から読み出して予測画作成部３２１ａに供給してステップＳＴ１３に進む。
【０１４１】
ステップＳＴ１３〜ステップＳＴ１８は、符号化対象ブロックに対して各イントラ予測モードで行う処理を示している。ステップＳＴ１４でイントラ予測部３２ａは、予測画の作成を行いステップＳＴ１５に進む。
【０１４２】
ステップＳＴ１５でイントラ予測部３２ａは、ＳＡ（Ｔ）Ｄの算出を行う。イントラ予測部３２ａのＳＡ(Ｔ)Ｄ演算部３２３ａは、符号化対象ブロックについて、符号化対象画像の画素信号とフレームメモリ２５に記憶されている符号化済み画像の画素信号を用いて、ＳＡ(Ｔ)Ｄを算出してステップＳＴ１６に進む。
【０１４３】
ステップＳＴ１６でイントラ予測部３２ａは、オフセット加算処理を行う。イントラ予測部３２ａのＣｏｓｔ導出部３２３ｂは、ブロック内の画素信号を用いて予測画の作成を行った場合、ＳＡ(Ｔ)Ｄとイントラ予測モードに応じたモード別オフセット量を算出する。また、Ｃｏｓｔ導出部３２３ｂは、算出したモード別オフセット量をＳＡ(Ｔ)Ｄに加算してステップＳＴ１７に進む。
【０１４４】
ステップＳＴ１７でイントラ予測部３２ａは、Ｃｏｓｔ値の算出を行う。イントラ予測部３２のＣｏｓｔ導出部３２３ｂは、ステップＳＴ１６でモード別オフセット量を加算したＳＡ(Ｔ)Ｄを用いてＣｏｓｔ値を算出する。
【０１４５】
このステップＳＴ１４〜１７の処理を、イントラ予測モード毎に行い、全てのイントラ予測モードについてＣｏｓｔ値の算出が完了したときステップＳＴ１８からステップＳＴ１９に進む。
【０１４６】
ステップＳＴ１９でイントラ予測部３２は、最適なイントラ予測モードの決定を行う。イントラ予測部３２のＣｏｓｔ比較部３２３ｃは、イントラ予測モード毎に算出されたＣｏｓｔ値を比較して、Ｃｏｓｔ値が最も小さいモードを、符号化対象ブロックにおける最適なイントラ予測モードに決定する。
【０１４７】
画像符号化装置は、このような処理を、マクロブロックを構成する（４×４）画素のブロックに対して行うことで、マクロブロックのイントラ予測を行うことができる。また、画像符号化装置は、符号化対象ブロック内の画素信号と符号化対象画像の画素信号を用いて予測画を作成するとき、ＳＡ(Ｔ)Ｄにモード別オフセット量を加算する。したがって、ブロック内の画素信号と符号化対象画像の画素信号を用いたことによる影響を軽減させたイントラ予測を行うことができる。
【０１４８】
＜８．マクロブロックの処理順序の方向とイントラ予測動作＞
また、イントラ予測部３２ａの予測画作成部３２１ａは、マクロブロックの処理順方向に応じて、符号化対象ブロック内における上端の水平方向に並ぶ画素の画素信号または左端の垂直方向に並ぶ画素の画素信号を用いる。
【０１４９】
マクロブロックの処理順序が水平方向とされている場合、処理中のマクロブロックと上側に位置するマクロブロックは処理順序が離れている。したがって、マクロブロックを水平方向に順次処理したとき、処理中のマクロブロックにおける上側の１ラインの画素信号を共用することは困難である。このため、イントラ予測部３２ａは、マクロブロック内の（４×４）画素の各ブロックについてイントラ予測を順次行う場合、マクロブロックの上端に位置するブロックにおいて、ブロック内の上側の水平方向に並ぶ画素の画素信号を用いる。例えば、図１２に示すように、マクロブロックの上端に位置するブロック０，１，４，５において、ブロック内の上側の水平方向に並ぶ画素の画素信号を用いる。また、ブロック２，３，６，７，８，９，１２，１３，１０，１１，１４，１５では、マクロブロック内である符号化対象画像の上側の隣接ブロックの画素信号を用いる。さらに、マクロブロックの左端に位置する位置するブロック０，２，８，１０において、左側の隣接ブロックの画素信号として符号化対象画像の画素信号（隣接マクロブロック画素の画素信号）を用いる。また、ブロック１，３，９，１１，４，６，１２，１４，５，７，１３，１５では、マクロブロック内である符号化対象画像の左側の隣接ブロックの画素信号を用いる。このように、符号化対象ブロック内の画素信号と、符号化対象画像における符号化対象ブロックと隣接するブロックの画素信号を用いてブロック毎にイントラ予測を行う。
【０１５０】
図１２に示す場合、マクロブロックの上側に隣接するブロックの画素信号としてブロック内の画素信号が用いられることから、符号化対象画像においてマクロブロックの上側に隣接する水平方向に並ぶ画素の画素信号を記憶しておく必要がない。したがって、記憶しておく画素信号の信号量を少なくしてイントラ予測を行うことができる。また、符号化対象画像の画素信号を用いることから、ブロック内の画素信号のみを用いたイントラ予測よりも精度の低下を少なくできる。
【０１５１】
また、符号化済み画像から予測画を生成する場合、図１３に示すように、マクロブロック内の各（４×４）画素のブロックに対して、左側の隣接ブロックの画像信号として符号化対象画像の画素信号を記憶させておく。また、この記憶されている画素信号とブロック内の画素信号を用いて（４×４）画素のブロックのイントラ予測を行えば、イントラ予測を並列化して行うことが可能であり、図８の（Ｃ）に示すように２サイクルで処理を完了することができる。
【０１５２】
さらに、マクロブロックの処理順序が垂直方向となる場合、ブロック内の左端の垂直方向に並ぶ画素の画素信号と、符号化対象画像における符号化対象ブロックの上側に隣接するブロックから下端の水平方向に並ぶ画素の画素信号を用いてイントラ予測を行う。図１４は、ＭＢＡＦＦ(Macro Block Adaptive Frame Field)モードにおけるマクロブロックアドレスを表している。ＭＢＡＦＦとは、Ｈ．２６４／ＡＶＣに特有の符号化モードであり、マクロブロックを縦方向に２つ合わせた単位で符号化を行うモードである。ＭＢＡＦＦモードでは、２つのマクロブロックが縦方向に並んでおり、マクロブロックの処理順序が垂直方向とされている。この場合、符号化対象ブロック内の左端の垂直方向に並ぶ画素の画素信号と、符号化対象画像における符号化対象ブロックの上側に隣接するブロックから下端の水平方向に並ぶ画素の画素信号を用いてイントラ予測を行う。
【０１５３】
なお、符号化対象ブロックのサイズは（４×４）画素のサイズに限られるものではなく、（８×８）画素や（１６×１６）画素のサイズであってもよい。さらに、輝度成分だけでなく色差成分についても上述のような処理を行うことで、簡単な構成でイントラ予測を行うことができる。
【０１５４】
＜９．ソフトウェア処理で画像符号化を行う場合＞
また、上述の一連の処理はハードウェアだけでなく、ソフトウェアあるいは両者の複合構成によって実行することが可能である。ソフトウェアによる処理を実行する場合は、処理シーケンスを記録したプログラムを、専用のハードウェアに組み込まれたコンピュータ内のメモリにインストールさせる。あるいは、各種処理が実行可能な汎用コンピュータにプログラムをインストールして実行させることが可能である。
【０１５５】
図１５は、上述した一連の処理をプログラムにより実行するコンピュータ装置の構成を例示した図である。コンピュータ装置６０のＣＰＵ６１は、ＲＯＭ６２、または記録部６８に記録されているコンピュータ・プログラムにしたがって各種の処理を実行する。
【０１５６】
ＲＡＭ６３には、ＣＰＵ６１が実行するコンピュータ・プログラムやデータなどが適宜記憶される。これらのＣＰＵ６１、ＲＯＭ６２、およびＲＡＭ６３は、バス６４により相互に接続されている。
【０１５７】
ＣＰＵ６１にはまた、バス６４を介して入出力インターフェース６５が接続されている。入出力インターフェース６５には、タッチパネルやキーボード、マウス、マイクロフォンなどの入力部６６、ディスプレイなどよりなる出力部６７が接続されている。ＣＰＵ６１は、入力部６６から入力される指令に対応して各種の処理を実行する。そして、ＣＰＵ６１は、処理の結果を出力部６７に出力する。
【０１５８】
入出力インターフェース６５に接続されている記録部６８は、例えばハードディスクからなり、ＣＰＵ６１が実行するコンピュータ・プログラムや各種のデータを記録する。通信部６９は、インターネットやローカルエリアネットワークなどのネットワークやディジタル放送といった有線または無線の通信経路を介して外部の装置と通信する。また、コンピュータ装置６０は、通信部６９を介してコンピュータ・プログラムを取得し、ＲＯＭ６２や記録部６８に記録してもよい。
【０１５９】
ドライブ７０は、磁気ディスク、光ディスク、光磁気ディスク、あるいは半導体メモリなどのリムーバブルメディア７２が装着されたとき、それらを駆動して、一時的あるいは永続的に記録されているコンピュータ・プログラムやデータなどを取得する。取得されたコンピュータ・プログラムやデータは、必要に応じてＲＯＭ６２やＲＡＭ６３または記録部６８に転送される。
【０１６０】
ＣＰＵ６１は、上述した一連の処理を行うコンピュータ・プログラムを読み出して実行して、記録部６８やリムーバブルメディア７２に記録されている画像信号や、通信部６９を介して供給された画像信号に対する符号化処理を行う。
【０１６１】
なお、本発明は、上述した発明の実施の形態に限定して解釈されるべきではない。この発明の実施の形態は、例示という形態で本発明を開示しており、本発明の要旨を逸脱しない範囲で当業者が実施の形態の修正や代用をなし得ることは自明である。すなわち、本発明の要旨を判断するためには、特許請求の範囲を参酌すべきである。
【産業上の利用可能性】
【０１６２】
この発明の画像符号化装置と画像符号化方法およびコンピュータ・プログラムによれば、符号化対象ブロック内の画素を用いてイントラ予測モード毎に予測画が作成されて、この予測画と符号化済み画像を用いてイントラ予測モード毎に符号化コストが算出されて、該符号化コストが最小となるモードが符号化対象ブロックのイントラ予測モードに決定される。このため、イントラ予測を簡単な構成で行うことができるようになり、画像信号の記録や画像信号の編集等を行う機器に好適である。
【符号の説明】
【０１６３】
１０・・・画像符号化装置、１１・・・Ａ／Ｄ変換部、１２・・・減算部、１３・・・直交変換部、１４・・・量子化部、１５・・・可逆符号化部、１６・・・蓄積バッファ、１７・・・レート制御部、２１・・・逆量子化部、２２・・・逆直交変換部、２３・・・加算部、２４・・・デブロックフィルタ、２５・・・フレームメモリ、３１，３１ａ・・・イントラ予測バッファ、３２，３２ａ・・・イントラ予測部、６０・・・コンピュータ装置、６１・・・ＣＰＵ、６２・・・ＲＯＭ、６３・・・ＲＡＭ、６４・・・バス、６５・・・入出力インターフェース、６６・・・入力部、６７・・・出力部、６８・・・記録部、６９・・・通信部、７０・・・ドライブ、７２・・・リムーバブルメディア、３１１・・・対象ブロック画素領域、３１２・・・隣接原画画素領域、３２１，３２１ａ・・・予測画作成部、３２３・・・予測モード導出部、３２３ａ・・・ＳＡ(Ｔ)Ｄ演算部、３２３ｂ・・・Ｃｏｓｔ導出部、３２３ｃ・・・Ｃｏｓｔ比較部
【図１】
2010251953.tif 000025
【図２】
2010251953.tif 000026
【図３】
2010251953.tif 000027
【図４】
2010251953.tif 000028
【図５】
2010251953.tif 000029
【図６】
2010251953.tif 000030
【図７】
2010251953.tif 000031
【図８】
2010251953.tif 000032
【図９】
2010251953.tif 000033
【図１０】
2010251953.tif 000034
【図１１】
2010251953.tif 000035
【図１２】
2010251953.tif 000036
【図１３】
2010251953.tif 000037
【図１４】
2010251953.tif 000038
【図１５】
2010251953.tif 000039