(57)【要約】【課題】消費電力及びコストを増大させることなく、最適なイントラ予測モードを効率良く決定できるようにする。【解決手段】イントラ１６×１６予測では、フィルタ前参照フレームメモリ１１４に保存されている符号化済みの参照画素データを用いてCost値を算出し、イントラ４×４予測では、並列で処理を行うために、フレームメモリ１０１に保存されている原画像の画素データを用いてCost値を算出してイントラ予測モードを決定することにより、消費電力及びコストが大きくならないようにして、イントラ予測モードを効率良く決定できるようにする。【選択図】図１
2008252346.tif 000002
【特許請求の範囲】
【請求項１】
画像を構成する画素ブロックに対して、前記画素ブロックに隣接する復号済みの画素データと、複数の予測モードの中から選択された予測モードとに従って予測画像データを生成して符号化を行う画像符号化装置であって、
前記画素ブロックに隣接する符号化されていない原画像の画素データを用いて、前記複数の予測モードの中から符号化を行うための予測モードを決定するイントラ予測モード決定手段を有することを特徴とする画像符号化装置。
【請求項２】
前記画素ブロックが復号化されていない画素データに隣接するか否かを判断する判断手段を有し、
前記イントラ予測モード決定手段は、前記判断手段による判断の結果、前記画素ブロックが、復号化されていない画素データに隣接する場合には、前記画素ブロックに隣接する原画像の画素データを用い、前記画素ブロックが、復号化されていない画素データに隣接しない場合には、前記画素ブロックに隣接する復号済みの画素データを用いて予測モードを決定することを特徴とする請求項１に記載の画像符号化装置。
【請求項３】
前記イントラ予測モード決定手段は、前記画素ブロックのサイズに応じて、前記画素ブロックに隣接する復号済みの画素データを用いるか、前記画素ブロックに隣接する原画像の画素データを用いるかを選択して予測モードを決定することを特徴とする請求項１に記載の画像符号化装置。
【請求項４】
前記イントラ予測モード決定手段は、前記画素ブロックのサイズが所定のサイズより大きい場合には、前記画素ブロックに隣接する復号済みの画素データを用い、前記ブロックのサイズが前記所定のサイズ以下である場合には、前記画素ブロックに隣接する原画像の画素データを用いて予測モードを決定することを特徴とする請求項３に記載の画像符号化装置。
【請求項５】
前記イントラ予測モード決定手段は、前記画素ブロックのサイズに応じて、前記画素ブロックに隣接する原画像の画素データを用いるか、前記画素ブロックに隣接する復号済みの画素データを用いるかの選択の有無を決定することを特徴とする請求項２に記載の画像符号化装置。
【請求項６】
前記イントラ予測モード決定手段は、前記画素ブロックのサイズが所定のサイズより大きい場合には前記画素ブロックに隣接する復号済みの画素データを用い、前記画素ブロックのサイズが前記所定のサイズ以下である場合には前記画素ブロックに隣接する画素データが復号済みであるか否かに応じて、前記画素ブロックに隣接する原画像の画素データまたは復号済みの画素データを用いて予測モードを決定することを特徴とする請求項５に記載の画像符号化装置。
【請求項７】
画像を構成する画素ブロックに対して、前記画素ブロックに隣接する復号済みの画素データと、複数の予測モードの中から選択された予測モードとに従って予測画像データを生成して符号化を行う画像符号化方法であって、
前記画素ブロックに隣接する符号化されていない原画像の画素データを用いて、前記複数の予測モードの中から符号化を行うための予測モードを決定するイントラ予測モード決定工程を有することを特徴とする画像符号化方法。
【請求項８】
前記画素ブロックが、復号化されていない画素データに隣接するか否かを判断する判断工程を有し、
前記イントラ予測モード決定工程においては、前記判断工程における判断の結果、前記画素ブロックが、復号化されていない画素データに隣接する場合には、前記画素ブロックに隣接する原画像の画素データを用い、前記画素ブロックが、復号化されていない画素データに隣接しない場合には、前記画素ブロックに隣接する復号済みの画素データを用いて予測モードを決定することを特徴とする請求項７に記載の画像符号化方法。
【請求項９】
前記イントラ予測モード決定工程においては、前記画素ブロックのサイズに応じて、前記画素ブロックに隣接する復号済みの画素データを用いるか、前記画素ブロックに隣接する原画像の画素データを用いるかを選択して予測モードを決定することを特徴とする請求項７に記載の画像符号化方法。
【請求項１０】
前記イントラ予測モード決定工程においては、前記画素ブロックのサイズが所定のサイズより大きい場合には、前記画素ブロックに隣接する復号済みの画素データを用い、前記ブロックのサイズが前記所定のサイズ以下である場合には、前記画素ブロックに隣接する原画像の画素データを用いて予測モードを決定することを特徴とする請求項９に記載の画像符号化方法。
【請求項１１】
前記イントラ予測モード決定工程においては、前記画素ブロックのサイズに応じて、前記画素ブロックに隣接する原画像の画素データを用いるか、前記画素ブロックに隣接する復号済みの画素データを用いるかの選択の有無を決定することを特徴とする請求項８に記載の画像符号化方法。
【請求項１２】
前記イントラ予測モード決定工程においては、前記画素ブロックのサイズが所定のサイズより大きい場合には前記画素ブロックに隣接する復号済みの画素データを用い、前記画素ブロックのサイズが前記所定のサイズ以下である場合には前記画素ブロックに隣接する画素データが復号済みであるか否かに応じて、前記画素ブロックに隣接する原画像の画素データまたは復号済みの画素データを用いて予測モードを決定することを特徴とする請求項１１に記載の画像符号化方法。
【請求項１３】
画像を構成する画素ブロックに対して、前記画素ブロックに隣接する復号済みの画素データと、複数の予測モードの中から選択された予測モードとに従って予測画像データを生成して符号化を行うようにコンピュータに実行させるプログラムであって、
前記画素ブロックに隣接する符号化されていない原画像の画素データを用いて、前記複数の予測モードの中から符号化を行うための予測モードを決定するイントラ予測モード決定工程をコンピュータに実行させることを特徴とするプログラム。
【請求項１４】
請求項１３に記載のプログラムを記録したことを特徴とするコンピュータ読み取り可能な記録媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は画像符号化装置、画像符号化方法、プログラム、及び記録媒体に関し、特に、イントラ予測によって動画像を符号化・復号するために用いて好適な技術に関する。
【背景技術】
【０００２】
近年、マルチメディアに関連する情報のデジタル化が急進しており、それに伴い映像情報の高画質化に向けた要求が高まっている。具体的な例としては、放送メディアにおいて従来の７２０×４８０画素のＳＤ（標準画質）から、１９２０×１０８０画素のＨＤ（高画質）に移行が行われているところである。
【０００３】
しかしながら、この高画質への要求はデジタルデータの増大を同時に引き起こし、従来の性能を上回る圧縮符号化技術及び復号化技術が求められている。これらの要求に対し、ＩＴＵ−Ｔ  ＳＧ１６やＩＳＯ／ＩＥＣ  ＪＴＣ１／ＳＣ２９／ＷＧ１１の活動で画像間の相関を利用したフレーム間予測方式（インター予測方式）を用いた符号化圧縮方式の標準化作業が進められている。
【０００４】
この符号化圧縮方式の中でも、現状で最も高能率符号化を実現しているといわれる符号化方式にＨ．２６４／ＭＰＥＧ−４  ＰＡＲＴ１０：ＡＶＣ（以下、Ｈ．２６４と呼ぶ）がある。そして、Ｈ．２６４方式で導入された特徴的技術のひとつとして、フレーム内の相関を利用し、フレーム内画素値を用いて同一フレーム内の画素値を予測するイントラ予測方式がある。
【０００５】
なお、Ｈ．２６４のイントラ予測方式では、複数の予測ブロックサイズ／予測方向が規定されている（以下、イントラ予測モードと称す）。例えば、１６×１６画素のブロックデータを基に予測方向を決定するイントラ１６×１６予測には４種類の予測方向がある。また、４×４画素のブロックデータを基に予測方向を決定するイントラ４×４予測には９種類の予測方向がある。イントラ予測モードの詳細に関しては規格書や様々な技術文献に開示されているので詳細な説明は省略する。Ｈ．２６４ではこれらのイントラ予測モードから最も適切なものを選択することにより、高能率な符号化を実現している。
【０００６】
一般的にイントラ予測方式は、符号化済の隣接画素ブロックの情報を用いて、処理対象画素ブロックの予測を行っている。その際に、複数のイントラ予測モードの中から最適なイントラ予測モードを決定するために、多大な演算処理を必要とすることが知られている。そこで、イントラ予測に係る処理をなるべく軽減するための提案もなされている。例えば、特許文献１には、アダマール変換を用いて画像の特徴を検出することによって予測方向を判定し、イントラ予測モードを選択する技術が提案されている。
【０００７】
【特許文献１】特開２００６−５６５９号公報
【発明の開示】
【発明が解決しようとする課題】
【０００８】
このように、Ｈ．２６４方式では、多くのイントラ予測モードを有し、従来のＭＰＥＧに比べ、ブロックもより細分化されているため、イントラ予測モードを決定するまでに膨大な演算が必要であった。特に、リアルタイムで符号化処理をする場合などでは、符号化処理を高速に行うために非常に高速なプロセッサが必要になるなど、機器が高価になったり、消費電力が大きくなったりするという問題点があった。
【０００９】
そこで、符号化処理を高速化するために、複数のブロックの処理を並列で行うという手法が考えられる。しかし、複数のブロックの処理を並列で行うと、イントラ予測モード決定のために必要な符号化済の隣接画素ブロックのローカルデコード画素が生成されていない場合があった。その場合は、ローカルデコード画素が生成されるまで、イントラ予測モードを決定することができないので、イントラ予測モードを決定するための処理効率が低下してしまうという問題点があった。
【００１０】
以上より、低消費電力及び低コストを可能にすることと、最適なイントラ予測符号化を効率良く決定することを両立した動画像符号化装置の実現は非常に困難であった。また、特許文献１に記載されているように、画像の特徴を判定する回路を符号化回路の前段に設けることも有効ではあるが、そのような判定回路を設けると、電力消費やコスト増が無視できない程度に大きくなってしまう問題点があった。
【００１１】
本発明は前述の問題点に鑑み、消費電力及びコストを増大させることなく、最適なイントラ予測モードを効率良く決定できるようにすることを目的としている。
【課題を解決するための手段】
【００１２】
本発明の画像符号化装置は、画像を構成する画素ブロックに対して、前記画素ブロックに隣接する復号済みの画素データと、複数の予測モードの中から選択された予測モードとに従って予測画像データを生成して符号化を行う画像符号化装置であって、前記画素ブロックに隣接する符号化されていない原画像の画素データを用いて、前記複数の予測モードの中から符号化を行うための予測モードを決定するイントラ予測モード決定手段を有することを特徴とする。
【００１３】
本発明の画像符号化方法は、画像を構成する画素ブロックに対して、前記画素ブロックに隣接する復号済みの画素データと、複数の予測モードの中から選択された予測モードとに従って予測画像データを生成して符号化を行う画像符号化方法であって、前記画素ブロックに隣接する符号化されていない原画像の画素データを用いて、前記複数の予測モードの中から符号化を行うための予測モードを決定するイントラ予測モード決定工程を有することを特徴とする。
【００１４】
本発明のプログラムは、画像を構成する画素ブロックに対して、前記画素ブロックに隣接する復号済みの画素データと、複数の予測モードの中から選択された予測モードとに従って予測画像データを生成して符号化を行うようにコンピュータに実行させるプログラムであって、前記画素ブロックに隣接する符号化されていない原画像の画素データを用いて、前記複数の予測モードの中から符号化を行うための予測モードを決定するイントラ予測モード決定工程をコンピュータに実行させることを特徴とする。
【００１５】
本発明の記録媒体は、前記に記載のプログラムを記録したことを特徴とする。
【発明の効果】
【００１６】
本発明によれば、画素ブロックに隣接する符号化されていない原画像の画素データを用いて予測モードを決定するようにしたので、ローカルデコード画素が生成されていなくてもイントラ予測モードを決定することができる。したがって、消費電力及びコストを増大させることなく、最適なイントラ予測モードを効率良く決定することができる。これにより、符号化処理を高速に行うことができる。
【発明を実施するための最良の形態】
【００１７】
（第１の実施形態）
以下、図１〜図４、図７を参照しながら、本発明に係る画像符号化装置の好適な実施形態について詳細に説明する。
図１は、本実施形態に係る画像符号化装置の機能構成例を示すブロック図である。
図１に示すように、画像符号化装置１００は、フレームメモリ１０１と、フィルタ後参照フレームメモリ１０２と、動き予測部１０３と、動き補償部１０４と、イントラ予測部１０５と、直交変換部１０６と、量子化部１０７とを備えている。さらに、画像符号化装置１００は、エントロピー符号化部１０８と、逆量子化部１０９と、逆直交変換部１１０と、スイッチ１１１と、減算器１１２と、加算器１１３と、フィルタ前参照フレームメモリ１１４と、ループフィルタ１１５とを備えている。
【００１８】
以上のような構成において、まず、入力画像を符号化する方法について説明する。フレームメモリ１０１には、入力画像（原画像）が表示順に保存され、符号化対象ブロックを符号化順に動き予測部１０３、イントラ予測部１０５、及び減算器１１２に順次送信する。
【００１９】
フィルタ後参照フレームメモリ１０２には、フィルタ処理された符号化済み画像が参照画像として保存され、符号化対象ブロックの参照画像データを符号化順に動き予測部１０３、及び動き補償部１０４に順次送信する。また、フィルタ前参照フレームメモリ１１４には、フィルタ処理される前の符号化済み画像も参照画像データとして保存され、符号化対象ブロックの参照画像データを符号化順にイントラ予測部１０５に順次送信する。
【００２０】
減算器１１２は、フレームメモリ１０１から送信されてくる符号化対象ブロックから、スイッチ１１１から送信される予測画像ブロック（予測画像データ）を減算し、画像残差データを直交変換部１０６に出力する。なお、予測画像ブロックの生成方法については後述する。直交変換部１０６は、減算器１１２から出力された画像残差データを直交変換処理して、変換係数を量子化部１０７に送信する。
【００２１】
量子化部１０７は、直交変換部１０６から送信された変換係数を所定の量子化パラメータを用いて量子化し、エントロピー符号化部１０８及び逆量子化部１０９に送信する。エントロピー符号化部１０８は、量子化部１０７において量子化された変換係数を入力し、CAVLC、CABACなどのエントロピー符号化を施して符号化データとして出力する。
【００２２】
次に、量子化部１０７において量子化された変換係数を用いて参照画像データを生成する方法について説明する。逆量子化部１０９は、量子化部１０７において量子化された変換係数を逆量子化する。逆直交変換部１１０は、逆量子化部１０９において逆量子化された変換係数を逆直交変換し、復号残差データを生成して加算器１１３に送信する。
【００２３】
加算器１１３は、復号残差データと予測画像データとを加算して参照画像データを生成し、フィルタ前参照画像データとしてフィルタ前参照フレームメモリ１１４に保存する。また、参照画像データは、ループフィルタ１１５にも送信される。ループフィルタ１１５は、参照画像データをフィルタリングしてノイズを除去し、フィルタ後の参照画像データとしてフィルタ後参照フレームメモリ１０２に保存する。
【００２４】
次に、前述した入力画像データ、フィルタ前参照画像データ、及びフィルタ後参照画像データを用いて予測画像データを生成する方法について説明する。動き予測部１０３は、フレームメモリ１０１から送信される符号化対象ブロック、及びフィルタ後参照フレームメモリ１０２から送信されるフィルタ後参照画像データを用いて符号化対象ブロックのフィルタ後参照画像データでの動き量を表す動きベクトルを検出する。そして、フィルタ後参照画像データの番号とともに検出した動きベクトルを動き補償部１０４に送信する。
【００２５】
動き補償部１０４は、動き予測部１０３から送られた動きベクトルを用いて、フィルタ後参照フレームメモリ１０２中のフィルタ後参照画像データの番号で示される参照フレーム画像を参照して、各ブロックの予測画像データを生成する。そして、生成した予測画像データをスイッチ１１１に送信する。
【００２６】
一方、イントラ予測部１０５はイントラ予測モード決定手段として機能し、フレームメモリ１０１から送信される符号化対象ブロック、及び符号化対象ブロックの周辺の原画像データを用いてイントラ予測を行う。そして、適切なイントラ予測モードを選択して予測画像データを生成する。このように既に符号化済みの符号化対象ブロックの周辺画素を用いるのではなく、原画像の符号化対象ブロックの周辺画素データを用いることにより、符号化対象ブロックの周辺画素が符号化されていなくてもイントラ予測モードの決定が可能となる。これにより、符号化処理を高速化できる。
【００２７】
スイッチ１１１は、動き補償部１０４またはイントラ予測部１０５から送信される予測画像データのうち、適切な予測画像データを選択して減算器１１２に送信する。なお、適切な予測画像データを選択する方法は、例えば、符号化対象ブロックと参照画像データとの画像残差の絶対値和が小さいものを選択するなどの方法が挙げられるが、本実施形態では選択方法は何でもよい。
【００２８】
次に、イントラ予測部１０５で選択可能なイントラ予測モードによる予測画像データの生成方法について、図４を参照しながら説明する。
まず、イントラ１６×１６予測で選択可能なイントラ予測モードによる予測画像データの生成方法を説明する。ここで、符号化対象ブロックに属する画素データをP(x,y)とする。ここで、x，yはブロックを構成するマトリクス状の画素データの行方向及び列方向の位置を示し、０〜１５の整数である。また、符号化対象ブロックに垂直方向または水平方向に隣接する画素データをそれぞれ、P(x,-1)，P(-1,y)とする。なお、隣接する画素データは、前記符号化対象ブロックと異なるピクチャあるいは異なるスライスに属する場合などでは、「利用可能でない(unavailable)」と判断される。
【００２９】
［予測モード０］
予測モード０は、vertical（垂直）予測を行うモードであり、P(x,-1)が「利用可能」である場合に適用される。この場合に、vertical（垂直）予測では、予測画像データＰＩの画素データPred(x,y)を以下の数１に示す式を用いて生成する。
【００３０】
【数１】
2008252346.tif 000003
【００３１】
［予測モード１］
予測モード１は、horizontal（水平）予測を行うモードであり、P(-1,y)が「利用可能」である場合に適用される。この場合に、horizontal（水平）予測では、予測画像データＰＩの画素データPred(x,y)を以下の数２に示す式を用いて生成する。
【００３２】
【数２】
2008252346.tif 000004
【００３３】
［予測モード２］
予測モード２は、ＤＣ予測を行うモードであり、イントラ１６×１６予測では、予測画像データＰＩの画素データPred（x，y）を以下に説明するように生成する。まず、P(x,-1)、及びP(-1,y)の全てが「利用可能」である場合に、イントラ１６×１６予測では、予測画像データＰＩの画素データPred（x，y）を以下の数３に示す式を用いて生成する。
【００３４】
【数３】
2008252346.tif 000005
（ここで、「＞＞Ｘ」（Ｘ：自然数）とは、２Xで割って小数点以下を切り捨てるという意味である。以下も同様。）
【００３５】
P(x,-1)がunavailableである場合には、予測画像データＰＩの画素データPred（x，y）を以下の数４に示す式を用いて生成する。
【００３６】
【数４】
2008252346.tif 000006
【００３７】
一方、P(-1,y)がunavailableである場合には、予測画像データＰＩの画素データPred（x，y）を以下の数５に示す式を用いて生成する。
【００３８】
【数５】
2008252346.tif 000007
【００３９】
さらに、P(x,-1)、P(-1,y)がすべてunavailableである場合には、予測画像データＰＩの画素データPred（x，y）は「１２８」を用いる。
【００４０】
［予測モード３］
予測モード３は、plane予測を行うモードであり、P(x,-1)、P(-1,y)の全てが「利用可能」である場合に適用される。この場合に、plane予測では、予測画像データＰＩの画素データPred（x，y）を以下の数６に示す式を用いて生成する。
【００４１】
【数６】
2008252346.tif 000008
【００４２】
次に、イントラ４×４予測で選択可能な予測モードによる予測画像データの生成方法について、図４を参照しながら説明する。図４は、イントラ４×４予測の符号化処理対象となる４×４ブロックに属する画素データａ〜ｐと、当該ブロックデータの周囲に属する画素データＡ〜Ｍとの位置関係を示す図である。画素データａ〜ｐの予測値によって、予測画像データＰＩが生成される。なお、画素データＡ〜Ｍは、符号化対象ブロックと異なるピクチャあるいは異なるスライスに属する場合などに、「利用可能でない(unavailable)」であると判断される。
【００４３】
［予測モード０］
予測モード０は、vertical（垂直）予測を行うモードであり、図４に示す画素データＡ〜Ｄの全てが「利用可能」である場合に適用される。この場合、vertical予測は、符号化対象ブロックの画素データａ〜ｐの予測値を、画素データＡ〜Ｄを用いて以下のように生成する。
ａ，ｅ，ｉ，ｍ：Ａ、
ｂ，ｆ，ｊ，ｎ：Ｂ、
ｃ，ｇ，ｋ，ｏ：Ｃ、
ｄ，ｈ，ｌ，ｐ：Ｄ
【００４４】
［予測モード１］
予測モード１は、horizontal（水平）予測を行うモードであり、図４に示す画素データＩ〜Ｌの全てが「利用可能」である場合に適用される。この場合、horizontal予測は、符号化対象ブロックの画素データａ〜ｐの予測値を、画素データＩ〜Ｌを用いて以下のように生成する。
ａ，ｂ，ｃ，ｄ：Ｉ、
ｅ，ｆ，ｇ，ｈ：Ｊ、
ｉ，ｊ，ｋ，ｌ：Ｋ、
ｍ，ｎ，ｏ，ｐ：Ｌ
【００４５】
［予測モード２］
予測モード２は、ＤＣ予測を行うモードであり、図４に示す画素データＡ〜Ｄ、Ｉ〜Ｌの全てが「利用可能」である場合には、符号化対象ブロックの画素データａ〜ｐの予測値を、画素データＡ〜Ｄ、Ｉ〜Ｌを用いて以下の数７に示す式により生成する。
【００４６】
【数７】
2008252346.tif 000009
【００４７】
また、図４に示す画素データＡ〜Ｄの全てがunavailableである場合には、符号化対象ブロックの画素データａ〜ｐの予測値を、画素データＩ〜Ｌを用いて以下の数８に示す式により生成する。
【００４８】
【数８】
2008252346.tif 000010
【００４９】
一方、図４に示す画素データＩ〜Ｌの全てがunavailableである場合には、符号化対象ブロックの画素データａ〜ｐの予測値を、画素データＡ〜Ｄを用いて以下の数９に示す式により生成する。
【００５０】
【数９】
2008252346.tif 000011
【００５１】
さらに、図４に示す画素データＡ〜Ｄ、Ｉ〜Ｌの全てがunavailableである場合には、符号化対象ブロックの画素データａ〜ｐの予測値「１２８」を用いる。
【００５２】
［予測モード３］
予測モード３は、Diagonal_Down_Left予測を行うモードであり、図４に示す画素データＡ〜Ｄ、Ｉ〜Ｍの全てが「利用可能」である場合に適用される。この場合、Diagonal_Down_Left予測は、符号化対象ブロックの画素データａ〜ｐの予測値を、画素データＡ〜Ｄ、Ｉ〜Ｍを用いて以下の数１０に示す式により生成する。
【００５３】
【数１０】
2008252346.tif 000012
【００５４】
［予測モード４］
予測モード４は、Diagonal_Down_Right予測を行うモードであり、図４に示す画素データＡ〜Ｄ、Ｉ〜Ｍの全てが「利用可能」である場合に適用される。この場合に、符号化対象ブロックの画素データａ〜ｐの予測値を、画素データＡ〜Ｄ、Ｉ〜Ｍを用いて以下の数１１に示す式により生成する。
【００５５】
【数１１】
2008252346.tif 000013
【００５６】
［予測モード５］
予測モード５は、Diagonal_Vertical_Right予測を行うモードであり、図４に示す画素データＡ〜Ｄ、Ｉ〜Ｍの全てが「利用可能」である場合に適用される。この場合に、符号化対象ブロックの画素データａ〜ｐの予測値を、画素データＡ〜Ｄ、Ｉ〜Ｍを用いて以下の数１２に示す式により生成する。
【００５７】
【数１２】
2008252346.tif 000014
【００５８】
［予測モード６］
予測モード６は、Horizontal_Down予測を行うモードであり、図４に示す画素データＡ〜Ｄ、Ｉ〜Ｍの全てが「利用可能」である場合に適用される。この場合に、符号化対象ブロックの画素データａ〜ｐの予測値を、画素データＡ〜Ｄ、Ｉ〜Ｍを用いて以下の数１３に示す式により生成する。
【００５９】
【数１３】
2008252346.tif 000015
【００６０】
［予測モード７］
予測モード７は、Vertical_Left予測を行うモードであり、図４に示す画素データＡ〜Ｄ、Ｉ〜Ｍの全てが「利用可能」である場合に適用される。この場合に、符号化対象ブロックの画素データａ〜ｐの予測値を、画素データＡ〜Ｄ、Ｉ〜Ｍを用いて以下の数１４に示す式により生成する。
【００６１】
【数１４】
2008252346.tif 000016
【００６２】
［予測モード８］
予測モード８は、Horizontal_Up予測を行うモードであり、図４に示す画素データＡ〜Ｄ、Ｉ〜Ｍの全てが「利用可能」である場合に適用される。この場合に、符号化対象ブロックの画素データａ〜ｐの予測値を、画素データＡ〜Ｄ、Ｉ〜Ｍを用いて以下の数１７に示す式により生成する。
【００６３】
【数１５】
2008252346.tif 000017
【００６４】
なお、イントラ１６×１６予測において、予測モード１は、水平方向に高い相関（重み付け）を持たせたモードであり、予測モード０は垂直方向に高い相関（重み付け）を持たせたモードである。また、予測モード２及び３は水平方向、及び垂直方向の重み付けを殆ど行っていないモードである。
【００６５】
また、イントラ４×４予測において、予測モード１、６、及び８は、水平方向に高い相関（重み付け）を持たせたモードであり、予測モード０、５、及び７は、垂直方向に高い相関（重み付け）を持たせたモードである。また、予測モード２、３、及び４は、水平方向、及び垂直方向の重み付けを殆ど行っていないモードである。
【００６６】
以下、イントラ予測モードを決定するプロセスについて、図２に示すブロック図と、図３に示すフローチャートと、図７に示すマクロブロック内の４×４ブロックデータをイントラ予測する順序を説明する図とを参照しながら説明する。なお、本実施形態では、４×４ブロックデータの処理を並列処理によって実現するものとする。
【００６７】
図２は、本実施形態に係るイントラ予測部１０５の詳細な機能構成例を示すブロック図である。
図２に示すように、イントラ予測部１０５は、イントラ１６×１６予測部２０１と、イントラ４×４予測部２０２と、イントラ予測モード設定部２０３と、イントラ１６×１６モード別コスト保存部２０４とを備えている。さらに、イントラ予測部１０５は、イントラ４×４モード別コスト保存部２０５と、イントラ１６×１６ベストモード決定部２０６と、イントラ４×４ベストモード決定部２０７と、ベストイントラ予測モード決定部２０８とを備えている。なお、「コスト（Cost値）」とは、演算によって得られるいわゆる評価値を意味するものである。
【００６８】
次に、以上説明した構成において、イントラ予測モードを選択するプロセスについて、図３のフローチャートを参照しながら説明する。なお、本実施形態では、ブロック数の少ないイントラ１６×１６予測は、イントラ予測モードを順番に選択し、ブロック数の多いイントラ４×４予測は、処理を高速化するために、２並列で処理を行うものとする。
【００６９】
イントラ予測モード設定部２０３は、イントラ１６×１６予測部２０１に対して前記４種類の予測モードを順番に設定する。また、イントラ４×４予測部２０２に対して前記９種類の予測モードを順番に設定する。そして、イントラ予測部１０５外にあるフィルタ前参照フレームメモリ１１４から、設定されたイントラ予測モードで必要となる参照画像データをイントラ１６×１６予測部２０１に送信するよう指示する。また、イントラ予測部１０５外にあるフレームメモリ１０１に設定されたイントラ予測モードで必要となる参照画像データをイントラ４×４予測部２０２に送信するよう指示する（ステップＳ３０１）。
【００７０】
このように符号化対象ブロックの周辺ブロックが符号化されていない可能性のある４×４ブロックデータに対しては参照画像データとして、符号化済み周辺画素の代わりに、符号化対象ブロック周辺画素の原画像データを用いる。したがって、符号化対象ブロックの周辺画素が符号化されていなくてもイントラ予測モードの決定が可能となり、符号化処理を高速化できる。
【００７１】
イントラ１６×１６予測部２０１は、フィルタ前参照フレームメモリ１１４から送信される参照画像データを用いて前述した方法で各々の予測ブロックデータを生成する。また、イントラ４×４予測部２０２は、フレームメモリ１０１から送信される参照画像データを用いて前述した方法で各々の予測ブロックデータを生成する。
【００７２】
次に、イントラ予測部１０５外にあるフレームメモリ１０１から送信される符号化対象データと、エントロピー符号化部１０８で付加されるヘッダデータとを用いて設定された予測モードでの予測誤差（Cost値）を以下の数１８に示す式を用いて計算する。そして、イントラ１６×１６予測部２０１は、その時の予測サイズ別Cost値、及び予測モードをイントラ１６×１６モード別コスト保存部２０４に送信する。また、イントラ４×４予測部２０２は、その時の予測サイズ別Cost値、及び予測モードをイントラ４×４モード別コスト保存部２０５に送信する（ステップＳ３０２）。
【００７３】
【数１６】
2008252346.tif 000018
【００７４】
なお、数１６に示す式において、「ｎ」はイントラ１６×１６予測かイントラ４×４予測かに応じて「１６」か「４」の値を用いる。また、Org(i,j)は符号化対象データの左上を(0,0)として右下を（n,n）とした時の画素位置(i,j)の画素値、Pred(mode,i,j)は同様に予測画像データの画素位置(i,j)の画素値である。また、SAD0(mode)はヘッダデータのビット数を表し、QP0は量子化パラメータQPと実際に量子化に用いられる量子化スケールとを関連付ける係数である。
【００７５】
次に、ステップＳ３０３において、イントラ予測モード設定部２０３は、全てのモードで演算を行ったか否かを判定する。この判定の結果、演算を行っていないモードがある場合は、ステップＳ３０４に進み、イントラ予測モード設定部２０３は、選択された予測モードとは異なる予測モードを設定する。その後、ステップＳ３０２に戻り、イントラ１６×１６予測部２０１、またはイントラ４×４予測部２０２は、処理を繰り返す。
【００７６】
一方、ステップＳ３０３の判定の結果、全ての予測モードの予測誤差演算を行った場合は、イントラ１６×１６モード別コスト保存部２０４は、保存されている予測モード、及びCost値をイントラ１６×１６ベストモード決定部２０６に送信する。また、イントラ４×４モード別コスト保存部２０５は、保存されている予測モード、及びCost値をイントラ４×４ベストモード決定部２０７に送信する。そして、イントラ１６×１６ベストモード決定部２０６、及びイントラ４×４ベストモード決定部２０７はそれぞれ、送信されてきた予測モードから最もCost値の小さいものを予測サイズ別ベストモードとして選択する。そして、それぞれ選択した予測サイズ別ベストモードをCost値とともにベストイントラ予測モード決定部２０８に送信する（ステップＳ３０５）。
【００７７】
次に、ベストイントラ予測モード決定部２０８は、イントラ４×４ベストモード決定部２０７から送信されてくるCost値を１６×１６のブロックサイズに達するまで加算する（つまり１６×１６／４×４＝１６回加算する）。そして、イントラ１６×１６ベストモード決定部２０６から送信されてきたCost値と、イントラ４×４ベストモード決定部２０７から送信された１６個のCost値の和とを比較する。そして、値の小さい予測サイズのモードを最終的なイントラ予測モードとして決定し（ステップＳ３０６）、処理を終了する。
【００７８】
ここで、並列処理の一例を図７を参照しながら説明する。
図７に示す各ブロックに付した値「０」〜「１５」は、イントラ予測処理を行う順番を示している。ここで、「０」，「２」，「４」，「６」，「８」，「１０」，「１２」，「１４」を第１のグループに属する画素ブロックと定義し、「１」，「３」，「５」，「７」，「９」，「１１」，「１３」，「１５」を第２のグループに属する画素ブロックと定義する。本実施形態では、第１のグループと、第２のグループとで並列にイントラ予測処理を行うものとする。
【００７９】
つまり、並列処理の１段目に第１のグループに属する画素ブロック「０」と、第２のグループに属する画素ブロック「１」とが同時にイントラ予測処理される。同様に、２段目で画素ブロック「２」、及び画素ブロック「３」が並列に処理され、以降、３段目では画素ブロック「４」、画素ブロック「５」が並列に処理され、４段目以降は、画素ブロック「６」、及び画素ブロック「７」・・・と処理される。
【００８０】
ここで、第１のグループに属する画素ブロックの周辺ブロックの符号化は、当該画素ブロックよりも１段階以上前に処理が行われる。したがって、第１グループに属する画素ブロックの処理を開始するタイミングで、周辺の画素データは既に符号化されている復号済み画素データである。
【００８１】
例えば、図７に示す「６」番目に選択される画素ブロックをイントラ予測符号化することを考える。周辺画素データとして「１」、「３」、「４」、及び「５」番の画素ブロックに属する画素データが選択されるが、「６」番目に選択される画素ブロックよりも、それぞれ３段階、２段階、１段階前に符号化処理が行われている。したがって、符号化済みの画素データを用いたイントラ予測モード決定を行うことが可能である。
【００８２】
一方、第２のグループに属する画素ブロックの周辺ブロックの符号化は、当該画素ブロックと同時に符号化処理が行われるものがある。したがって、第２グループに属する画素ブロックの処理を開始するタイミングで、それに対応した周辺画素データは符号化されていない場合がある。
【００８３】
例えば、図７に示す「３」番目に選択される画素ブロックを符号化することを考える。周辺画素データとして、「０」、「１」、及び「２」番の画素ブロックに属する画素データが選択される。この場合、「２」番の画素ブロックは当該「３」番目に選択される画素ブロックと同時に符号化処理が開始される。したがって、「３」番目に選択される画素ブロックのイントラ予測モードを決定するタイミングで、「２」番の画素ブロックが符号化されておらず、符号化済みの周辺画素データを用いたイントラ予測モード決定を行うことができない。
【００８４】
しかしながら、本実施形態では、前述したように符号化対象ブロックの周辺画素の原画像データを用いてイントラ予測モードを決定しているため、イントラ予測モードを決定する際に並列処理化が可能となり、符号化処理を高速化できる。
【００８５】
また、本実施形態では、１６×１６イントラ予測、及び４×４イントラ予測を例に説明したが、他のブロックサイズの予測、例えば８×８イントラ予測にも適用することが可能である。その際に、８×８イントラ予測は１６×１６イントラ予測と同様に順次処理してもよいし、４×４イントラ予測のように並列化し、場合に応じて原画像データを用いてもよい。この場合、８×８サイズ以下では並列処理を行うこととなる。
【００８６】
（第２の実施形態）
次に、図５に示すブロック図、図６に示すフローチャート、及び図７を参照しながら、本発明に係る画像符号化装置のもう１つの実施形態について詳細に説明する。ただし、図５に示す本実施形態に係る画像符号化装置５００は、第１の実施形態とほぼ同じ構成であるが、周辺画素符号化有無判定部５０１を有する点が異なる。また、本実施形態に係るイントラ予測部１０５は、第１の実施形態と同じ構成であるが、周辺画素の符号化の有無に応じて予測画像を切り替える点が第１の実施形態と異なる。なお、イントラ予測部１０５、及び周辺画素符号化有無判定部５０１以外の構成の動作については、第１の実施形態と同様のため、説明を省略する。
【００８７】
図６は、本実施形態において、イントラ予測モードを決定する処理手順の一例を示すフローチャートである。
周辺画素符号化有無判定部５０１は判断手段として機能し、符号化対象のマクロブロック内の４×４ブロックのアドレスを基に、４×４ブロックが第１の実施形態で定義した図７に示す第１のグループ、または第２のグループのいずれに属するかを判定する。すなわち、復号化されていない画素データに隣接するか否かを判定する。そして、第１のグループに属する場合は、イントラ予測部１０５に対してフィルタ前参照フレームメモリ１１４から参照画像データを受信するよう指示する。また、第２のグループに属する場合は、イントラ予測部１０５に対してフレームメモリ１０１から参照画像データを受信するよう指示する（ステップＳ６０１）。
【００８８】
このような判定を行うことにより、符号化対象ブロックの周辺ブロックが符号化されている場合には参照画像データとして、符号化済み周辺画素データを選択し、符号化されていない場合には周辺画素の原画像の画素データを選択することができる。したがって、第１の実施形態より符号化効率の良いイントラ予測モードを決定することが可能となり、かつ符号化処理の高速化も維持できる。
【００８９】
また、本実施形態では、第１のグループと、第２のグループとに大きく分けて周辺画素データの符号化の有無を判定している。しかし、図７に示す「３」番目に選択されるブロックを符号化する際に、「２」番のブロックに属する周辺画素データは符号化されていないが、「０」、「１」番の画素ブロックに属する周辺画素データはすでに符号化済みである。この場合、「０」、「１」番の画素ブロックに属する周辺画素データは符号化済み画素データを用い、「２」番の画素ブロックに属する周辺画素データは原画像データを用いるというようにより細かい判定を行い、さらに高い符号化効率を実現するようにしてもよい。
【００９０】
次に、イントラ予測部１０５内のイントラ予測モード設定部２０３は、イントラ１６×１６予測部２０１に対して前記４種類の予測モードを順番に設定する。また、イントラ４×４予測部２０２に対して前記９種類の予測モードを順番に設定する。そして、フィルタ前参照フレームメモリ１１４に設定されたイントラ予測モードで必要となる参照画像データをイントラ１６×１６予測部２０１に送信するよう指示する。また、周辺画素符号化有無判定部５０１で指示されたフレームメモリ１０１またはフィルタ前参照フレームメモリ１１４に対して設定されたイントラ予測モードで必要な参照画像データをイントラ４×４予測部２０２に送信するよう指示する（ステップＳ６０２）。なお、次のステップＳ３０２以降の処理は第１の実施形態と同様であるため、説明を省略する。
【００９１】
なお、本実施形態では、１６×１６イントラ予測、及び４×４イントラ予測を例に説明したが、他のブロックサイズの予測、例えば８×８イントラ予測にも適用することが可能である。その際に、８×８イントラ予測は１６×１６イントラ予測と同様に順次処理してもよいし、４×４イントラ予測のように並列化し、場合に応じて原画像データを用いるか符号化済み周辺画素データを用いるかを選択してもよい。
【００９２】
以上のように本実施形態においては、画素ブロックに隣接する符号化されていない原画像の画素データを用いて、予測モードを決定するようにした。これにより、消費電力及びコストが大きくならないようにして、イントラ予測モードを効率的に決定することができる。したがって、符号化処理を高速に行うことができる。
【００９３】
（本発明に係る他の実施形態）
前述した本発明の実施形態における画像符号化装置を構成する各手段、並びに画像符号化方法の各工程は、コンピュータのＲＡＭやＲＯＭなどに記憶されたプログラムが動作することによって実現できる。このプログラム及び前記プログラムを記録（記憶）したコンピュータ読み取り可能な記録媒体（記憶媒体）は本発明に含まれる。
【００９４】
また、本発明は、例えば、システム、装置、方法、プログラムもしくは記録媒体（記憶媒体）等としての実施形態も可能であり、具体的には、複数の機器から構成されるシステムに適用してもよいし、また、一つの機器からなる装置に適用してもよい。
【００９５】
なお、本発明は、前述した実施形態の機能を実現するソフトウェアのプログラム（実施形態では図３、６に示すフローチャートに対応したプログラム）を、システムまたは装置に直接、または遠隔から供給する場合も含む。そして、そのシステムまたは装置のコンピュータが前記供給されたプログラムコードを読み出して実行することによっても達成される場合を含む。
【００９６】
したがって、本発明の機能処理をコンピュータで実現するために、前記コンピュータにインストールされるプログラムコード自体も本発明を実現するものである。つまり、本発明は、本発明の機能処理を実現するためのコンピュータプログラム自体も含まれる。
【００９７】
その場合、プログラムの機能を有していれば、オブジェクトコード、インタプリタにより実行されるプログラム、ＯＳに供給するスクリプトデータ等の形態であってもよい。
【００９８】
プログラムを供給するための記録媒体（記憶媒体）としては、例えば、フレキシブルディスク、ハードディスク、光ディスク、光磁気ディスクなどがある。さらに、ＭＯ、ＣＤ−ＲＯＭ、ＣＤ−Ｒ、ＣＤ−ＲＷ、磁気テープ、不揮発性のメモリカード、ＲＯＭ、ＤＶＤ（ＤＶＤ−ＲＯＭ、ＤＶＤ−Ｒ）などもある。
【００９９】
その他、プログラムの供給方法としては、クライアントコンピュータのブラウザを用いてインターネットのホームページに接続する方法がある。そして、前記ホームページから本発明のコンピュータプログラムそのもの、もしくは圧縮され自動インストール機能を含むファイルをハードディスク等の記録媒体（記憶媒体）にダウンロードすることによっても供給できる。
【０１００】
また、本発明のプログラムを構成するプログラムコードを複数のファイルに分割し、それぞれのファイルを異なるホームページからダウンロードすることによっても実現可能である。つまり、本発明の機能処理をコンピュータで実現するためのプログラムファイルを複数のユーザに対してダウンロードさせるＷＷＷサーバも、本発明に含まれるものである。
【０１０１】
また、その他の方法として、本発明のプログラムを暗号化してＣＤ−ＲＯＭ等の記録媒体に格納してユーザに配布し、所定の条件をクリアしたユーザに対し、インターネットを介してホームページから暗号化を解く鍵情報をダウンロードさせる。そして、その鍵情報を使用することにより暗号化されたプログラムを実行してコンピュータにインストールさせて実現することも可能である。
【０１０２】
また、コンピュータが、読み出したプログラムを実行することによって、前述した実施形態の機能が実現される。さらに、そのプログラムの指示に基づき、コンピュータ上で稼動しているＯＳなどが、実際の処理の一部または全部を行い、その処理によっても前述した実施形態の機能が実現され得る。
【０１０３】
さらに、その他の方法として、まず記録媒体（記憶媒体）から読み出されたプログラムが、コンピュータに挿入された機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わるメモリに書き込まれる。そして、そのプログラムの指示に基づき、その機能拡張ボードや機能拡張ユニットに備わるＣＰＵなどが実際の処理の一部または全部を行い、その処理によっても前述した実施形態の機能が実現される。
【図面の簡単な説明】
【０１０４】
【図１】本発明の第１の実施形態における画像符号化装置の機能構成例を示すブロック図である。
【図２】本発明の第１の実施形態における画像符号化装置のイントラ予測部の詳細な構成例を示すブロック図である。
【図３】本発明の第１の実施形態において、イントラ予測モードを決定する処理手順の一例を示すフローチャートである。
【図４】４×４ブロックと周辺画素データと位置関係を示す図である。
【図５】本発明の第２の実施形態における画像符号化装置の機能構成例を示すブロック図である。
【図６】本発明の第２の実施形態において、イントラ予測モードを決定する処理手順の一例を示すフローチャートである。
【図７】本発明の第１の実施形態において、マクロブロック内の４×４ブロックをイントラ予測する順序を示す図である。
【符号の説明】
【０１０５】
１００  画像符号化装置
１０１  フレームメモリ
１０２  フィルタ後参照フレームメモリ
１０３  動き予測部
１０４  動き補償部
１０５  イントラ予測部
１０６  直交変換部
１０７  量子化部
１０８  エントロピー符号化部
１０９  逆量子化部
１１０  逆直交変換部
１１１  スイッチ
１１２  減算器
１１３  加算器
１１４  フィルタ前参照フレームメモリ
１１５  ループフィルタ
【図１】
2008252346.tif 000019
【図２】
2008252346.tif 000020
【図３】
2008252346.tif 000021
【図４】
2008252346.tif 000022
【図５】
2008252346.tif 000023
【図６】
2008252346.tif 000024
【図７】
2008252346.tif 000025