(57)【特許請求の範囲】
【請求項１】
符号化が行われていない第１の画像を符号化するために、前記第１の画像に含まれる第１のブロックに対してイントラ予測処理を行う制御手段と、
前記第１の画像から最も近い時間で符号化が行われた第２の画像に含まれる第２のブロックの位置を、前記第２の画像に対する前記第１の画像の位置の差を示すグローバルベクトルに応じて移動させた位置にある第３のブロックを検出する第１の検出手段と、
前記第３のブロックで用いられたイントラ予測処理を検出する第２の検出手段とを有し、
前記制御手段は、前記第３のブロックで用いられたイントラ予測処理を前記第１のブロックに行い、
前記第２のブロックは、前記第２の画像において、前記第１のブロックの位置と同一の位置にあることを特徴とする画像符号化装置。
【請求項２】
前記第３のブロックで用いられたイントラ予測処理が第１の処理である場合、前記制御手段は、前記第１の処理による前記第１のブロックの予測誤差と、前記第１の処理と異なる第２の処理による前記第１のブロックの予測誤差との比較に応じて、前記第１の処理及び前記第２の処理のいずれか一つを前記第１のブロックに行うことを特徴とする請求項１に記載の画像符号化装置。
【請求項３】
前記第３のブロックに行われたイントラ予測処理が前記第１の処理である場合、前記第１の処理による前記第１のブロックの予測誤差が、前記第２の処理による前記第１のブロックの予測誤差よりも小さいとき、前記制御手段は、前記第１の処理を前記第１のブロックに行うことを特徴とする請求項２に記載の画像符号化装置。
【請求項４】
前記第３のブロックに行われたイントラ予測処理が前記第１の処理である場合、前記第１の処理による前記第１のブロックの予測誤差が、前記第２の処理による前記第１のブロックの予測誤差よりも小さくないとき、前記制御手段は、前記第２の処理を前記第１のブロックに行うことを特徴とする請求項２または３に記載の画像符号化装置。
【請求項５】
前記第１のブロックは、所定の画素を含むことを特徴とする請求項１から４のいずれか１項に記載の画像符号化装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、画像符号化装置に関する。
【背景技術】
【０００２】
近年、マルチメディアに関連する情報のデジタル化が急進しており、それに伴い映像情報の高画質化に向けた要求が高まっている。具体的な例として、放送メディアにおいては、従来の７２０×４８０画素のＳＤ（Standard Definition）方式から、１９２０×１０８０画素のＨＤ（high definition）方式に移行が行われつつあることを挙げることができる。
【０００３】
しかしながら、この高画質への要求は、デジタルデータの増大を同時に引き起こす問題点がある。これを解消するために、従来の性能を上回る圧縮符号化技術及び復号化技術が求められている。これらの要求に対し、ＩＴＵ−Ｔ ＳＧ１６やＩＳＯ／ＩＥＣ ＪＴＣ１／ＳＣ２９／ＷＧ１１の活動で、画像間の相関を利用したフレーム間予測を用いた符号化圧縮方式の標準化作業が進められている。
【０００４】
この中でも、現状最も高能率符号化を実現しているといわれる符号化方式にＨ．２６４／ＭＰＥＧ−４ ＰＡＲＴ１０（ＡＶＣ）（以下、Ｈ．２６４と呼ぶ）がある。また、この中で新たに導入された技術のひとつとして、フレーム内の相関を利用し、フレーム内画素値を用いて同一フレーム内の画素値を予測するイントラ予測が導入されている。
【０００５】
なお、イントラ予測には,複数の予測ブロックサイズ・予測方向（以下、イントラ予測モード）が存在する。例えば、「１６×１６画素」のブロックデータを基に予測方向を決定するイントラ１６×１６予測には４種類の予測方向がある。また、「４×４画素」のブロックデータを基に予測方向を決定するイントラ４×４予測には９種類の予測方向がある。
【０００６】
Ｈ．２６４では、これらのイントラ予測モードから最も適切なものを選択することにより、高能率な符号化を実現している。一般的には、一通りのイントラ予測処理を試行して、最適なイントラ予測モードを選択する手法が用いられている。さらには、特許文献１には撮影情報を用いて最適なイントラ予測モードを選択する方法が提案されている。また、特許文献２には、画像のパターンを判定して最適なイントラ予測モードを選択する方法がそれぞれ提案されている。
【０００７】
【特許文献１】特開２００６−２１７１５８号公報
【特許文献２】特開２００６−００５６５９号公報
【発明の開示】
【発明が解決しようとする課題】
【０００８】
前述したように、前記のイントラ予測において最適なイントラ予測モードを求めるためには、最適なイントラ予測モードを選択する必要がある。このために、ＩＴＵ−Ｔ ＳＧ１６やＩＳＯ／ＩＥＣが提供するＨ．２６４のリファレンスソフトモデルＪＭ（Ｊｏｉｎｔ Ｍｏｄｅｌ）においては、全てのイントラ予測モードに対して演算を行い、最適なイントラ予測モードを選択している。
【０００９】
しかしながら、符号化対象ブロックに対してイントラ１６×１６予測、イントラ４×４予測で定められたすべてのイントラ予測モードに対して演算を行うためには膨大な処理時間を必要とする。このため、特にイントラ予測モードの選択の他に、動きベクトルを算出する必要があるＰピクチャやＢピクチャにおいては、リアルタイムで符号化処理を行うことは困難であった。
【００１０】
また、演算負荷の増大は消費電力の増大に結びつくので、ビデオカメラなどのモバイル機器の場合には、機器の動作可能時間が短くなってしまう問題があった。さらに、前記特許文献１の手法では、撮影情報の入手が必須であり、特許文献２の手法では、画像パターンを判定する手段が必要である問題点があった。
【００１１】
本発明は、少ない演算負荷によって、符号化を行うことを目的とする。
【課題を解決するための手段】
【００１２】
本発明に係る画像符号化装置は、符号化が行われていない第１の画像を符号化するために、前記第１の画像に含まれる第１のブロックに対してイントラ予測処理を行う制御手段と、前記第１の画像から最も近い時間で符号化が行われた第２の画像に含まれる第２のブロックの位置を、前記第２の画像に対する前記第１の画像の位置の差を示すグローバルベクトルに応じて移動させた位置にある第３のブロックを検出する第１の検出手段と、前記第３のブロックで用いられたイントラ予測処理を検出する第２の検出手段とを有し、前記制御手段は、前記第３のブロックで用いられたイントラ予測処理を前記第１のブロックに行い、前記第２のブロックは、前記第２の画像において、前記第１のブロックの位置と同一の位置にあることを特徴とする。
【発明の効果】
【００１５】
本発明によれば、少ない演算負荷によって、符号化を行うことができる。
【発明を実施するための最良の形態】
【００１６】
（第１の実施形態）
以下に図１〜図４を参照しながら、本発明にかかる画像符号化装置の好適な第１の実施形態について詳細に説明する。
図１は、本実施形態に係る画像符号化装置の構成例を説明するブロック図である。図１に示すように、本実施形態に係る画像符号化装置はフレームメモリ１０１、フィルタ後参照フレームメモリ１０２を備えている。
【００１７】
また、動き予測部１０３、動き補償部１０４、イントラ予測部１０５、直交変換部１０６、量子化部１０７、エントロピー符号化部１０８、逆量子化部１０９、逆直交変換部１１０、スイッチ１１１、減算器１１２、加算器１１３を備えている。また、フィルタ前参照フレームメモリ１１４、ループフィルタ１１５、イントラ予測モード保存部１１６とを備えている。
【００１８】
このように構成された本実施形態の画像符号化装置において、まず入力画像を符号化する方法について述べる。
フレームメモリ１０１には入力画像が表示順に保存され、符号化対象ブロックを動き予測部１０３、イントラ予測部１０５、減算器１１２に対して符号化順に並べ替えて順次送信する。
【００１９】
減算器１１２はフレームメモリ１０１から送信されてくる符号化対象ブロックからスイッチ１１１から送信されてくる予測画像ブロックを減算し、画像残差データを出力する。なお、予測画像ブロックの生成方法については後述する。
【００２０】
直交変換部１０６では減算器１１２から出力された画像残差データを直交変換処理して、変換係数を量子化部１０７に送信する。量子化部１０７は、直交変換部変換係数を所定の量子化パラメータを用いて量子化し、エントロピー符号化部１０８及び逆量子化部１０９に送信する。
【００２１】
エントロピー符号化部１０８は量子化部１０７で量子化された変換係数を入力し、CAVLC（Context-Based Adaptive Variable Length）、CABAC（Context-based Adaptive Binary Arithmetic Coding）などのエントロピー符号化を施して、符号化データとして出力する。続いて、量子化部１０７で量子化された変換係数を用いて参照画像データを生成する方法について述べる。
【００２２】
逆量子化部１０９は、量子化部１０７から送信されてくる量子化された変換係数を逆量子化する。逆直交変換部１１０は逆量子化部１０９で逆量子化された変換係数を逆直交変換し、復号残差データを生成し加算器１１３に送信する。
【００２３】
加算器１１３は復号残差データと後述する予測画像データとを加算し参照画像データを生成し、フィルタ前参照フレームメモリ１１４に保存する。また、ループフィルタ１１５に送信される。ループフィルタ１１５は、参照画像データをフィルタリングしてノイズを除去しフィルタ後の参照画像データをフィルタ後参照フレームメモリ１０２に保存する。
【００２４】
続いて、前記入力画像データ及び前記フィルタ前参照画像データ、前記フィルタ後参照画像データを用いて前記予測画像データを生成する方法について述べる。
動き予測部１０３は、フレームメモリ１０１から送信される符号化対象ブロック及びフィルタ後参照フレームメモリ１０２から送信されるフィルタ後参照画像データを用いて符号化対象ブロックのフィルタ後参照画像データでの動き量を表す動きベクトルを検出する。そして、検出した動きベクトルを、フィルタ後参照フレーム画像データ番号とともに動き補償部１０４に送信する。
【００２５】
動き補償部１０４は、動き予測部１０３から送られた動きベクトルを用いて、フィルタ後参照フレームメモリ１０２中のフィルタ後参照フレーム画像データ番号で示される参照フレーム画像を参照する。そして、各ブロックの予測画像データを生成し、スイッチ１１１に送信する。
【００２６】
一方、イントラ予測部１０５はフレームメモリ１０１から送信される符号化対象ブロック、及びフィルタ前参照フレームメモリ１１４から送信される、既に符号化済みの符号化対象ブロックの周辺画素を用いて画面内予測（イントラ予測）を行う。そして、複数のイントラ予測モードの中から適切なイントラ予測モードを選択して予測画像データを生成し、スイッチ１１１に送信するとともにイントラ予測モード保存部１１６に選択された予測モードの情報を保存する。なお、本実施形態の特徴である適切なイントラ予測モードを選択する方法については後に詳細に述べる。
【００２７】
スイッチ１１１は、動き補償部１０４及びイントラ予測部１０５から送信されてくる予測画像データのうち、適切な予測画像を選択して減算器１１２に送信する。なお、適切な予測画像を選択する方法は、例えば符号化対象ブロックと参照画像データの画像残差の絶対値和が小さい方を選択するなどの方法が挙げられるが、本実施形態の画像符号化装置では選択方法は問わない。
【００２８】
次に、イントラ予測部１０５で使用可能な予測モードによる予測画像の生成方法について図４を用いながら説明する。
まず、イントラ１６×１６予測で選択可能な予測モードによる予測画像の生成方法を説明する。ここで、符号化対象ブロックに属する画素データをP(x、y)とする。なお、x、yはブロックを構成するマトリクス状の画素データの行方向及び列方向の位置を示し、０〜１５の整数である。
【００２９】
符号化対象ブロックに隣接する画素データを、P(x、-１)、P(-１、y)とする。また、画素データは、前記符号化対象ブロックと異なるピクチャあるいは異なるスライスに属する場合などに、「利用可能でない(unavailable) 」であると判断される。
【００３０】
（予測モード０）：
予測モード０は、vertical（垂直）予測であり、P(x、-１)が「利用可能」である場合に適用される。この場合に、vertical（垂直）予測では、予測画像データPIの画素データPred(x、y)を数１のように生成する。
【００３１】
【数１】
0004971817.tif 000002
【００３２】
（予測モード１）：
予測モード１は、horizontal（水平）予測であり、P(-１、y)が「利用可能」である場合に適用される。この場合に、horizontal（水平）予測では、予測画像データPIの画素データPred(x、y)を数２のように生成する。
【００３３】
【数２】
0004971817.tif 000003
【００３４】
（予測モード２）：
予測モード２は、DC予測であり、イントラ１６×１６予測では、予測画像データPIの画素データPred（x、y）を式３のように生成する。先ず、P(x、-１)及びP(-１、y)の全てが「利用可能」である場合に、イントラ１６×１６予測では、予測画像データPIの画素データPred（x、y）を数３のように生成する。
【００３５】
【数３】
0004971817.tif 000004
【００３６】
【数４】
0004971817.tif 000005
【００３７】
【数５】
0004971817.tif 000006
【００３８】
（予測モード３）：
予測モード３は、plane予測であり、P(x、-１)、P(-１、y)の全てが前記「利用可能」である場合に適用される。この場合に、plane予測では、予測画像データPIの画素データPred（x、y）を数６のように生成する。
【００３９】
【数６】
0004971817.tif 000007
【００４０】
続いて、図４を用いながら、イントラ４×４予測で選択可能な予測モードによる予測ブロックデータの生成方法を説明する。
図４は、イントラ４×４予測の符号化処理対象となる４×４のブロックに属する画素データａ〜ｐと、当該ブロックデータの周囲に属する画素データＡ〜Ｍとの位置関係を説明するための図である。画素データａ〜ｐの予測値によって、予測画像データＰＩが生成される。なお、画素データＡ〜Ｍは、前記処理対象のブロックと異なるピクチャあるいは異なるスライスに属する場合などに、「利用可能でない(unavailable) 」であると判断される。
【００４１】
（予測モード０）：
予測モード０は、vertical（垂直）予測であり、図４に示す画素データＡ、Ｂ、Ｃ、Ｄの全てが前記「利用可能」である場合に適用される。この場合、vertical予測は、符号化対象ブロックの画素データａ〜ｐの予測値を、画素データＡ、Ｂ、Ｃ、Ｄを用いて数７のように生成する。
【００４２】
【数７】
0004971817.tif 000008
【００４３】
（予測モード１）：
予測モード１は、horizontal（水平）予測であり、図４に示す画素データＩ、Ｊ、Ｋ、Ｌの全てが前記「利用可能」である場合に適用される。この場合、horizontal予測は、符号化対象ブロック画素データａ〜ｐの予測値を、画素データＩ、Ｊ、Ｋ、Ｌを用いて数８のように生成する。
【００４４】
【数８】
0004971817.tif 000009
【００４５】
（予測モード２）：
予測モード２は、DC予測であり、図４に示す画素データＡ、Ｂ、Ｃ、Ｄ、Ｉ、Ｊ、Ｋ、Ｌの全てが前記「利用可能」である場合には、符号化対象ブロック画素データａ〜ｐの予測値を、画素データＡ、Ｂ、Ｃ、Ｄ、Ｉ、Ｊ、Ｋ、Ｌを用いて数９のように生成する。
【００４６】
【数９】
0004971817.tif 000010
【００４７】
また、図４に示す画素データＡ、Ｂ、Ｃ、Ｄの全てが前記「利用可能」でない場合には、符号化対象ブロック画素データａ〜ｐの予測値を、画素データＡ、Ｂ、Ｃ、Ｄを用いて数１０のように生成する。
【００４８】
【数１０】
0004971817.tif 000011
【００４９】
また、図４に示す画素データＩ、Ｊ、Ｋ、Ｌの全てが前記「利用可能」でない場合には、符号化対象ブロック画素データａ〜ｐの予測値を、画素データＩ、Ｊ、Ｋ、Ｌを用いて数１１のように生成する。
【００５０】
【数１１】
0004971817.tif 000012
【００５１】
また、図４に示す画素データＡ、Ｂ、Ｃ、Ｄ、Ｉ、Ｊ、Ｋ、Ｌの全てが前記「利用可能」でない場合には、符号化対象ブロック画素データａ〜ｐの予測値「１２８」を用いる。
【００５２】
（予測モード３）：
予測モード３は、Ｄ、Ｉagonal＿Down＿Left予測であり、図４に示す画素データＡ、Ｂ、Ｃ、Ｄ、Ｉ、Ｊ、Ｋ、Ｌ、Ｍの全てが前記「利用可能」である場合に適用される。この場合、Ｄ、Ｉagonal＿Down＿Left予測は、符号化対象ブロック画素データａ〜ｐの予測値を、画素データＡ、Ｂ、Ｃ、Ｄ、Ｉ、Ｊ、Ｋ、Ｌ、Ｍを用いて数１２のように生成する。
【００５３】
【数１２】
0004971817.tif 000013
【００５４】
（予測モード４）：
予測モード４は、Ｄ、Ｉagonal＿Down＿Right予測であり、図４に示す画素データＡ、Ｂ、Ｃ、Ｄ、Ｉ、Ｊ、Ｋ、Ｌ、Ｍの全てが前記「利用可能」である場合に適用される。
この場合に、符号化対象ブロック画素データａ〜ｐの予測値を、画素データＡ、Ｂ、Ｃ、Ｄ、Ｉ、Ｊ、Ｋ、Ｌ、Ｍを用いて数１３のように生成する。
【００５５】
【数１３】
0004971817.tif 000014
【００５６】
（予測モード５）：
予測モード５は、Ｄ、Ｉagonal＿Vertical＿Right予測であり、図４に示す画素データＡ、Ｂ、Ｃ、Ｄ、Ｉ、Ｊ、Ｋ、Ｌ、Ｍの全てが前記「利用可能」である場合に適用される。
この場合に、符号化対象ブロック画素データａ〜ｐの予測値を、画素データＡ、Ｂ、Ｃ、Ｄ、Ｉ、Ｊ、Ｋ、Ｌ、Ｍを用いて数１４のように生成する。
【００５７】
【数１４】
0004971817.tif 000015
【００５８】
（予測モード６）：
予測モード６は、Horizontal＿Down予測であり、図４に示す画素データＡ、Ｂ、Ｃ、Ｄ、Ｉ、Ｊ、Ｋ、Ｌ、Ｍの全てが前記「利用可能」である場合に適用される。この場合に、符号化対象ブロック画素データａ〜ｐの予測値を、画素データＡ、Ｂ、Ｃ、Ｄ、Ｉ、Ｊ、Ｋ、Ｌ、Ｍを用いて数１５のように生成する。
【００５９】
【数１５】
0004971817.tif 000016
【００６０】
（予測モード７）：
予測モード７は、Vertical＿Left予測であり、図４に示す画素データＡ、Ｂ、Ｃ、Ｄ、Ｉ、Ｊ、Ｋ、Ｌ、Ｍの全てが前記「利用可能」である場合に適用される。この場合に、符号化対象ブロック画素データａ〜ｐの予測値を、画素データＡ、Ｂ、Ｃ、Ｄ、Ｉ、Ｊ、Ｋ、Ｌ、Ｍを用いて数１６のように生成する。
【００６１】
【数１６】
0004971817.tif 000017
【００６２】
（予測モード８）：
予測モード８は、Horizontal＿Up予測であり、図４に示す画素データＡ、Ｂ、Ｃ、Ｄ、Ｉ、Ｊ、Ｋ、Ｌ、Ｍの全てが前記「利用可能」である場合に適用される。この場合に、符号化対象ブロック画素データａ〜ｐの予測値を、画素データＡ、Ｂ、Ｃ、Ｄ、Ｉ、Ｊ、Ｋ、Ｌ、Ｍを用いて数１７のように生成する。
【００６３】
【数１７】
0004971817.tif 000018
【００６４】
なお、イントラ１６×１６予測のモード１は水平方向に高い相関（重み付け）を持たせたモードであり、モード０は垂直方向に高い相関（重み付け）を持たせたモードである。また、モード２、３は水平及び垂直方向の重み付けを殆ど行っていないモードである。
【００６５】
イントラ４×４予測のモード１、６、８は水平方向に高い相関（重み付け）を持たせたモードであり、モード０、５、７は垂直方向に高い相関（重み付け）を持たせたモードである。また、モード２、４、３は水平及び垂直方向の重み付けを殆ど行っていないモードである。
【００６６】
次に、本実施形態の最も特徴的な部分である前述のイントラ予測モードを選択するプロセスについて、図２のイントラ予測部のブロック図、図３のフローチャートを用いて説明する。なお、本実施形態ではリアルタイムで符号化を行うには全ての予測モードでの予測誤差演算を行えないものとする。
【００６７】
図２は、本実施形態に係るイントラ予測部１０５の構成例を示すブロック図である。図２に示すように、本実施形態に係るイントラ予測部１０５は、イントラ１６×１６予測部２０１、イントラ４×４予測部２０２、イントラ予測モード決定部２０３を備えている。更に、イントラ１６×１６モード別コスト保存部２０４、イントラ４×４モード別コスト保存部２０５、イントラ１６×１６ベストモード決定部２０６、イントラ４×４ベストモード決定部２０７、イントラベスト予測モード決定部２０８とを備えている。なお、ここでいう"コスト"とは、各モードに対する演算によって得られるいわゆる評価値である。
【００６８】
係る構成において、イントラ予測モードを選択するプロセスについて説明する。
最初に、イントラ予測部１０５外にあるイントラ予測モード保存部１１６に保存してある予測モードをイントラ１６×１６ブロックサイズ、イントラ４×４ブロックサイズ別にイントラ予測モード決定部２０３に送信する。なお、イントラ予測モード保存部１１６から送信する予測モードは、符号化して復号化済みの時間的に最も近いピクチャの同位置にあるブロックで用いられた予測モードである（図３のステップＳ３０１）。
【００６９】
時間的に近いピクチャ間の相関は高く同位置の画像データが大きく変化していない可能性が高い。そのため、符号化して復号化済みの時間的に最も近いピクチャの同位置にあるブロックで用いられた予測モードで符号化すると符号化効率が良い可能性が高い。以上の理由から、最初に選択するイントラ予測モードの候補として符号化して復号化済みの時間的に最も近いピクチャの同位置にあるブロックで用いられた予測モードが用いられる。
【００７０】
なお、一番初めのＩピクチャ（スライス）など、符号化して復号化済みのピクチャが無い場合には任意の予測モードを最初に選択するイントラ予測モードの候補としてよい。あるいは、インター予測のする必要が無くＰ、Ｂピクチャ（スライス）に比べ、処理時間に余裕のあるＩピクチャ（スライス）においてはＰ、Ｂピクチャより多くの予測モードを演算できるようにして補ってもよい。
【００７１】
イントラ予測モード決定部２０３は、イントラ予測モード保存部１１６から送信されてきた予測モードで予測誤差演算を行うようにイントラ１６×１６予測部２０１、イントラ４×４予測部２０２に指示する。また、イントラ予測部１０５外にあるフィルタ前参照フレームメモリ１１４に、イントラ予測モード保存部１１６から送信されてきた予測モードで必要となる画素データをイントラ１６×１６予測部２０１、イントラ４×４予測部２０２に送信するように指示する。
【００７２】
イントラ１６×１６予測部２０１、イントラ４×４予測部２０２はイントラ予測部１０５外にあるフィルタ前参照フレームメモリ１１４から送信されてくる予測画像データを用いて前記の方法で各々の予測ブロックデータを生成する。
【００７３】
続いて、イントラ予測部１０５外にあるフレームメモリ１０１から送信される符号化対象データ、更にエントロピー符号化部１０８で付加されるヘッダデータを用いて設定された予測モードでの予測誤差Ｃｏｓｔを、「数１８」を用いて計算する。また、その時の予測サイズ別Ｃｏｓｔ、予測モードをイントラ１６×１６モード別コスト保存部２０４、イントラ４×４モード別コスト保存部２０５に送信して保存する（図３のステップＳ３０２）。
【００７４】
【数１８】
0004971817.tif 000019
【００７５】
なお、数１８において「ｎ」はイントラ１６×１６の予測か，イントラ４×４の予測かで「１６」か「４」の値を取る。また、Ｏｒｇ（ｉ、ｊ）は符号化対象データの左上を(０、０)として右下を（ｎ、ｎ）とした時の画素位置（ｉ，ｊ）の画素値、Ｐｒｅｄ（ｍｏｄｅ，ｉ，ｊ）は，同様に予測画像データの画素位置（ｉ，ｊ）の画素値である。また、ＳＡＤ0（ｍｏｄｅ）はヘッダデータのビット数を表し、ＱＰ0は量子化パラメータＱＰと実際に量子化に用いられる量子化スケールを関連付ける係数である。
【００７６】
続いて、設定された予測モードの予測誤差演算が予め定めた所定の回数に達するまで、イントラ予測モード決定部２０３は選択された予測モードとは異なる予測モードをイントラ１６×１６予測部２０１、イントラ４×４予測部２０２に送信する。そして、前記ステップＳ３０２の処理を繰り返す（図３のテップＳ３０３、ステップＳ３０４）。但し、送信回数は、全ての予測モードでの予測誤差演算回数より少ない回数とする。また、前記予測モードについて、この場合は、符号化対象ピクチャから時間的に最も近い符号化済みピクチャにおける、符号化対象ブロックとの同位置にあるブロックで用いられた予測モードとする。
【００７７】
設定された予測モードの予測誤差演算が所定の回数に達したら、イントラ１６×１６モード別コスト保存部２０４、イントラ４×４モード別コスト保存部２０５は保存されている予測モード、予測誤差Ｃｏｓｔを送信する。本実施形態においては、イントラ１６×１６ベストモード決定部２０６、イントラ４×４ベストモード決定部２０７に送信する。
【００７８】
イントラ１６×１６ベストモード決定部２０６、イントラ４×４ベストモード決定部２０７は送信されてきた予測モードから最も予測誤差Ｃｏｓｔの小さいものを予測サイズ別ベストモードとして選択する。そして、予測誤差Ｃｏｓｔとともにイントラベスト予測モード決定部２０８に送信する（図３のステップＳ３０５）。また、イントラ予測モード保存部１１６に予測サイズ別に予測モードを同時に送信して保存する（図３のステップＳ３０６）。
【００７９】
イントラベスト予測モード決定部２０８は、イントラ４×４ベストモード決定部２０７から送信されてくる予測誤差Ｃｏｓｔを「１６×１６のブロックサイズ」に達するまで加算する（つまり、１６×１６/(４×４)＝１６回加算する）。その後、イントラ１６×１６ベストモード決定部２０６から送信されてきた予測誤差Ｃｏｓｔと、イントラ４×４ベストモード決定部２０７から送信されてきた１６個の予測誤差Ｃｏｓｔの和とを比較する。そして、誤差値の小さい方の予測サイズのモードを最終的なイントラ予測モードとして決定する（ステップＳ３０７）。
【００８０】
以上、述べたように、本実施形態の画像符号化装置においては、符号化対象ピクチャ内に規定された複数の画素から成るブロックごとに複数種のイントラ予測モードの中から、予め定めた数だけ予測モードの候補を選択する。そして、予測誤差演算を行い、演算結果の誤差値が小さい予測モードを選択する予測モード選択手段を備える。前記予測モード選択手段は、符号化対象ピクチャから時間的に最も近い符号化済みピクチャにおける、符号化対象ブロックと同位置にあるブロックで、予測誤差値の最も小さい予測サイズのモードをイントラ予測モードとして選択する。前記予測モード選択手段は、前記符号化対象ピクチャから時間的に最も近い符号化済みピクチャの同位置にあるブロックで、最も予測誤差の小さかった予測モードを符号化対象ブロックのイントラ予測モードの候補として優先的に選択する。
【００８１】
本実施形態のように、時間的に最も近い符号化済みピクチャの同位置にあるブロックで用いられた予測モードで符号化すると符号化効率が良い可能性が高い。このため、本実施形態においては、時間的に最も近い符号化済みピクチャの同位置にあるブロックで用いられた予測モードを候補として優先的に選択する。これにより、全ての予測モードでの予測誤差演算をリアルタイムに行えない場合でも高い符号化効率を保つことができる。また、全ての予測モードでの予測誤差演算をリアルタイムに行える場合には、予測誤差演算の回数を減らすことが可能となり、画像符号化装置の消費電力を削減することが可能になる。
【００８２】
（第２の実施形態）
次に、図５のブロック図、図６のフローチャート、図７の特性図を参照しながら、本発明にかかる画像符号化装置のもう一つの実施形態について詳細に説明する。ただし、図５に示す第２の実施形態に係る画像符号化装置は第１の実施形態とほぼ同じ構造を有するが、グローバルベクトル演算部５０１を有する点が異なる。
【００８３】
また、第２の実施形態に係るイントラ予測部１０５は、第１の実施形態のものと同じ構造を有するが、本実施形態においては、グローバルベクトルを用いて予測モードの候補を選択する点が第１の実施形態と異なる。なお、イントラ予測部１０５、グローバルベクトル演算部５０１以外の構成の動作については第１の実施形態と同様のため説明を省く。
【００８４】
グローバルベクトル演算部５０１は、符号化済みでかつ復号済みで時間的に符号化対象ピクチャから最も近いピクチャ（以下、参照ピクチャ）をフィルタ後参照フレームメモリ１０２から受信し、同時に符号化対象ピクチャをフレームメモリ１０１から受信する。そして、符号化対象ピクチャの画素値全てと、参照ピクチャの画素値全てを用いて参照ピクチャに対する符号化対象ピクチャの空間的な位置の差を示すグローバルベクトルを演算する。例えば、次のようなMSE(Mean Square Error)(数１９)、MAE(Mean Absolute Error)（数２０）、あるいはMAD(Mean Absolute difference)などの評価関数を用いて演算する。
【００８５】
【数１９】
0004971817.tif 000020
【００８６】
【数２０】
0004971817.tif 000021
【００８７】
ここで、Ｓcurは符号化対象ピクチャでの（ｍ、ｎ）番目の画素値、Ｓrefは参照ピクチャでの（ｍ、ｎ）番目の画素値を示す。（ｉ、ｊ）は参照ピクチャに対する符号化対象ピクチャの空間的な位置をそれぞれ示している。
【００８８】
ＭＡＥ値を例にした場合の、グローバルベクトルの選定方法の例を図７に示す。参照フレームを所定の方向に１画素ずつずらしていき、画素の移動距離ごとにＭＡＥ値の総和の平均を取る。そして平均ＭＡＥ値が最小となるときの移動量がグローバルベクトルの選定基準となる。この処理を、例えば所定の方向と直交する他の方向についても実行し、この方向で平均ＭＡＥ値が最小となる移動量が求まれば、２つの移動量とその移動方向からグローバルベクトルを決定することができる（図６のステップＳ６０１）。
【００８９】
本実施形態では、１ピクチャの画素値全てを用いて１つグローバルベクトルを算出した。この他に、例えばピクチャの縦方向を３等分、横方向を３等分し９つグのローバルベクトルを求めるなどピクチャを複数のエリアに分割し、各エリアでグローバルベクトルを算出してもよい。グローバルベクトル演算部５０１は算出したグローバルベクトルをイントラ予測モード保存部１１６に送信する。
【００９０】
イントラ予測モード保存部１１６は、保存してある予測モードを最初にイントラ１６×１６予測サイズ、イントラ４×４予測サイズ別にイントラ予測モード決定部２０３に送信する。なお、送信する予測モードは時間的に最も近い符号化済みピクチャの同位置にあるブロックからグローバルベクトル分ずらした位置にあるブロックで用いられた予測モードである（図６のステップＳ６０２）。
【００９１】
なお、時間的に近いピクチャであっても、例えば撮像装置がパンしている場合など大きな動きがある場合には、最も近いピクチャの同位置にあるブロックであっても相関が低くなってしまう。そのような場合にもグローバルベクトルを用いてピクチャ間の動き分だけ符号化対象ブロックの位置を補正することで、相関の高いブロックを選択することができる。
【００９２】
以上の理由から最初に選択するイントラ予測モードの候補として、時間的に最も近い符号化済みピクチャの同位置にあるブロックからグローバルベクトル分だけずらしたブロックで用いられた予測モードを用いる。
【００９３】
なお、一番、最初のＩピクチャなど既に符号化済みのピクチャが無い場合には任意の予測モードを最初に選択するイントラ予測モードの候補としてもよい。あるいは、イントラ予測のする必要が無くＰ、Ｂピクチャ（スライス）に比べ、処理時間に余裕のあるＩピクチャ（スライス）においてはＰ、Ｂピクチャより多くの予測モードを演算できるようにして補ってもよい。
【００９４】
また、グローバルベクトルの分だけ位置をずらした結果、ブロックの位置がピクチャ外を指し示すような場合には、例えば、第１の実施形態で挙げた時間的に最も近い符号化済みピクチャの同位置にあるブロックで用いた予測モードを用いてもよい。また、隣接するブロックで用いられた予測モードを用いてもよいが、方法は問わない。これ以降の処理は第１の実施形態と同様のため、説明を省く。
【００９５】
なお、本実施形態で用いた予測モードの他に、第１の実施形態で挙げた時間的に最も近い符号化済みピクチャの同位置にあるブロックで用いた予測モードを用いてもよい。その場合、本実施形態の予測モードと第１の実施形態の予測モードを選択する順番は問わない。当然、二つの手法で選択された予測モードが同じ場合には予測誤差演算以降の処理は一度行えばよい。
【００９６】
第１の実施形態の手法を併用することで本実施形態での効果に加え、第１の実施形態で挙げた効果も期待することができる。また、前記第１及び第２の実施形態の手法で選択された予測モード以外の予測モードを予測モードの候補として、必ず一つは選ぶようにするとよい。
【００９７】
第１及び第２の実施形態の手法で選択された予測モードだけで符号化を行っていると全てのピクチャで予測モードが二通りしか選ばれず、結果として符号化効率の低下に繋がる可能性がある。このように、予測モードを選択することで全てのピクチャで予測モードがずっと同じものになることを防ぐことができる。
【００９８】
（本発明に係る他の実施形態）
前述した本発明の実施形態における画像符号化装置を構成する予測モード選択手段及び予測モード決定手段は、コンピュータのＲＡＭやＲＯＭなどに記憶されたプログラムが動作することによって実現できる。また、画像符号化方法の予測モード選択工程及び予測モード決定工程も、コンピュータのＲＡＭやＲＯＭなどに記憶されたプログラムが動作することによって実現できる。このプログラム及び前記プログラムを記憶したコンピュータ読み取り可能な記憶媒体は本発明に含まれる。
【００９９】
また、本発明は、例えば、システム、装置、方法、プログラムもしくは記憶媒体等としての実施形態も可能である。具体的には、複数の機器から構成されるシステムに適用してもよいし、また、一つの機器からなる装置に適用してもよい。
【０１００】
なお、本発明は、前述した実施形態の機能を実現するソフトウェアのプログラム（実施形態では図３及び図６に示すフローチャートに対応したプログラム）を、システムあるいは装置に直接されてもよい。あるいは遠隔から供給し、そのシステムあるいは装置のコンピュータが前記供給されたプログラムコードを読み出して実行することによっても達成される場合を含む。
【０１０１】
したがって、本発明の機能処理をコンピュータで実現するために、前記コンピュータにインストールされるプログラムコード自体も本発明を実現するものである。つまり、本発明は、本発明の機能処理を実現するためのコンピュータプログラム自体も含まれる。
【０１０２】
その場合、プログラムの機能を有していれば、オブジェクトコード、インタプリタにより実行されるプログラム、ＯＳに供給するスクリプトデータ等の形態であってもよい。
【０１０３】
プログラムを供給するための記憶媒体としては、例えば、フロッピー（登録商標）ディスク、ハードディスク、光ディスク、光磁気ディスク、ＭＯ、ＣＤ−ＲＯＭ、ＣＤ−Ｒ、ＣＤ−ＲＷなどである。また、磁気テープ、不揮発性のメモリカード、ＲＯＭ、ＤＶＤ（ＤＶＤ−ＲＯＭ、ＤＶＤ−Ｒ）なども含む。
【０１０４】
その他、プログラムの供給方法としては、クライアントコンピュータのブラウザを用いてインターネットのホームページに接続し、前記ホームページから本発明のコンピュータプログラムそのものをダウンロードすることによっても供給できる。もしくは、圧縮され自動インストール機能を含むファイルをハードディスク等の記憶媒体にダウンロードすることによっても供給できる。
【０１０５】
また、本発明のプログラムを構成するプログラムコードを複数のファイルに分割し、それぞれのファイルを異なるホームページからダウンロードすることによっても実現可能である。つまり、本発明の機能処理をコンピュータで実現するためのプログラムファイルを複数のユーザに対してダウンロードさせるＷＷＷサーバも、本発明に含まれるものである。
【０１０６】
また、本発明のプログラムを暗号化してＣＤ−ＲＯＭ等の記憶媒体に格納してユーザに配布し、所定の条件をクリアしたユーザに対し、インターネットを介してホームページから暗号化を解く鍵情報をダウンロードさせる。そして、その鍵情報を使用することにより暗号化されたプログラムを実行してコンピュータにインストールさせて実現することも可能である。
【０１０７】
また、コンピュータが、読み出したプログラムを実行することによって、前述した実施形態の機能が実現される。その他、そのプログラムの指示に基づき、コンピュータ上で稼動しているＯＳなどが、実際の処理の一部または全部を行い、その処理によっても前述した実施形態の機能が実現され得る。
【０１０８】
さらに、記憶媒体から読み出されたプログラムが、コンピュータに挿入された機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わるメモリに書き込まれる。そして、その後、そのプログラムの指示に基づき、その機能拡張ボードや機能拡張ユニットに備わるＣＰＵなどが実際の処理の一部または全部を行い、その処理によっても前述した実施形態の機能が実現される。
【図面の簡単な説明】
【０１０９】
【図１】本発明の第１実施形態における画像符号化装置の概略の構成を示すブロック図である。
【図２】本発明の第１実施形態における画像符号化装置のイントラ予測部の概略の構成を示すブロック図である。
【図３】本発明の第１実施形態に係る画像符号化装置のイントラ予測部の動作を説明するフローチャートである。
【図４】本発明の実施形態におけるイントラ予測の予測モードを説明するための図である。
【図５】本発明の第２実施形態における画像符号化装置の概略の構成を示すブロック図である。
【図６】本発明の第２実施形態に係る画像符号化装置のイントラ予測部の動作を説明するフローチャートである。
【図７】本発明の第２の実施形態に係るグローバルベクトルの決定方法を説明するための図である。
【符号の説明】
【０１１０】
１０１  フレームメモリ
１０２  フィルタ後参照フレームメモリ
１０３  動き予測部
１０４  動き補償部
１０５  イントラ予測部
１０６  直交変換部
１０７  量子化部
１０８  エントロピー符号化部
１０９  逆量子化部
１１０  逆直交変換部
１１１  スイッチ
１１２  減算器
１１３  加算器
１１４  フィルタ前参照フレームメモリ
１１５  ループフィルタ
１１６  イントラ予測モード保存部
２０１  イントラ１６×１６予測部
２０２  イントラ４×４予測部
２０３  イントラ予測モード決定部
２０４  イントラ１６×１６モード別コスト保存部
２０５  イントラ４×４モード別コスト保存部
２０６  イントラ１６×１６ベストモード決定部
２０７  イントラ４×４ベストモード決定部
２０８  イントラベストモード決定部
５０１  グローバルベクトル演算部
【図１】
0004971817.tif 000022
【図２】
0004971817.tif 000023
【図３】
0004971817.tif 000024
【図４】
0004971817.tif 000025
【図５】
0004971817.tif 000026
【図６】
0004971817.tif 000027
【図７】
0004971817.tif 000028