(57)【要約】【課題】  モード識別のための符号量を削減し、高効率のイントラ予測モード情報符号化・復号化を実現する。【解決手段】  入力画像を複数のブロックに分割し、各ブロックを同一サイズもしくは小さいサイズの処理ユニットに分割し、それぞれの処理ユニットを単位としてイントラ予測のモードを決定し、前記イントラ予測モードを保持し、当該処理ユニットの周辺の所定の１つ乃至は複数の処理ユニットのイントラ予測モードを得て当該処理ユニットのイントラ予測モードを推測し、決定されたイントラ予測のモードの結果と推測されたイントラ予測モードの結果が一致するか否かを比較し、比較結果を符号化しさらに比較結果が不一致の場合に決定された予測モードの結果を符号化し、当該処理ユニットの周辺の所定の１つ乃至は複数の処理ユニットのイントラ予測モードを得てモードを比較し、比較結果によって符号化を制御する。【選択図】  図１
2012147291.tif 000002
【特許請求の範囲】
【請求項１】
入力された画像を処理対象のブロックに分割する分割手段と、
前記分割手段によって分割された処理対象のブロックを単位として、該処理対象のブロックの画面内予測のモードを決定する予測モード決定手段と、
前記予測モード決定手段で決定されたイントラ予測モードを保持する保持手段と、
前記保持手段に保持された当該処理対象のブロックの周辺のブロックのイントラ予測モードに基づいて前記処理対象のブロックのイントラ予測モードを推測する予測モード推測手段と、
前記予測モード決定手段の結果と前記予測モード推測手段の結果が一致するか否かを判定する判定手段と、
前記判定手段の結果を符号化し、かつ、前記判定手段の結果が不一致の場合に予測モード決定手段の結果を符号化する符号化手段と、
前記保持手段から当該処理対象のブロックの周辺の所定の１つまたは複数の処理ユニットのイントラ予測モードを得てモードを比較するモード比較手段と、
前記モード比較手段の結果に基づいて前記符号化手段を制御する制御手段を有することを特徴とする画像符号化装置。
【請求項２】
入力された画像を処理対象のブロックに分割する分割工程と、
前記分割工程によって分割された処理対象のブロックを単位として、該処理対象のブロックの画面内予測のモードを決定する予測モード決定工程と、
前記予測モードを保持手段に保持する保持工程と、
前記保持手段に保持された当該処理対象のブロックの周辺のブロックのイントラ予測モードに基づいて前記処理対象のブロックのイントラ予測モードを推測する予測モード推測工程と、
前記予測モード決定工程の結果と前記予測モード推測工程の結果が一致するか否かを比較する比較工程と、
前記比較工程の結果を符号化しさらに前記比較工程の結果が不一致の場合に予測モード決定工程の結果を符号化する符号化工程を持つ画像符号化方法において、
前記保持工程から当該処理対象のブロックの周辺の所定の１つまたは複数の処理ユニットのイントラ予測モードを得てモードを比較するモード比較工程と、
前記モード比較工程の結果によって前記符号化工程を制御する制御工程を有することを特徴とする画像符号化方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は画像符号化装置、画像符号化方法及びプログラム、画像復号装置、画像復号方法及びプログラムに関し、特に画像中の画面内予測符号化方法に関する。
【背景技術】
【０００２】
動画像の圧縮記録方法として、Ｈ．２６４／ＭＰＥＧ−４  ＡＶＣ（以下Ｈ．２６４）が知られている。Ｈ．２６４符号化方式は１セグメント地上波デジタル放送などで広く使われている。Ｈ．２６４符号化方式の特徴は、従来の符号化方式に加えて４×４画素単位で整数変換を用い、イントラ予測（画面内予測）が複数用意されている点にある。また、ループ・フィルタを用い、前後に複数のフレームの参照を可能にしつつ、動き補償を７種類のサブブロックで行うという特徴がある。また、ＭＰＥＧ−４と同様に、１／４画素精度の動き補償を行うことができる。さらに、エントロピー符号化として、ユニバーサル可変長符号化やコンテキスト適応可変長符号化等を用いるという特徴がある。
【先行技術文献】
【非特許文献】
【０００３】
【非特許文献１】ＩＳＯ／ＩＥＣ１４４９６−１０：２００４Ｉｎｆｏｒｍａｔｉｏｎ  ｔｅｃｈｎｏｌｏｇｙ−−Ｃｏｄｉｎｇ  ｏｆ  ａｕｄｉｏ−ｖｉｓｕａｌ  ｏｂｊｅｃｔｓ−−Ｐａｒｔ１０：Ａｄｖａｎｃｅｄ  Ｖｉｄｅｏ  Ｃｏｄｉｎｇ
【非特許文献２】ＩＴＵ−Ｔ  Ｈ．２６４  Ａｄｖａｎｃｅｄ  ｖｉｄｅｏ  ｃｏｄｉｎｇ  ｆｏｒ  ｇｅｎｅｒｉｃ  ａｕｄｉｏｖｉｓｕａｌ  ｓｅｒｖｉｃｅｓ
【発明の概要】
【発明が解決しようとする課題】
【０００４】
Ｈ．２６４方式は、イントラ予測として複数のモードを持っているので、選ばれたモードの識別のためイントラ予測モード情報をサイド情報としてビットを割り当て、符号化しなければならなかった。例えば、イントラ予測は、マクロブロック内の各４×４画素ブロックのそれぞれについて周囲からのブロックの予測を行い、また、周囲のブロックの予測モードから当該画素ブロックの予測モードの推測を行う。そして予測されたモードと推測されたモードの一致／不一致を示すフラグ（ｐｒｅｖ＿ｉｎｔｒａ４ｘ４＿ｐｒｅｄ＿ｍｏｄｅ＿ｆｌａｇ）を１ビット付与する。その後、推測と一致しない場合には、ブロックごとに予測モードを示すフラグ（ｒｅｍ＿ｉｎｔｒａ４ｘ４＿ｐｒｅｄ＿ｍｏｄｅ）を３ビット付与することになっている。
【０００５】
したがって、本発明は上述した課題を解決するためになされたものであり、モード識別のための符号量を削減し、高効率のイントラ予測モード情報符号化・復号化を実現することを目的としている。
【課題を解決するための手段】
【０００６】
上述の問題点を解決するため、本発明の画像符号化装置は以下の構成を有する。すなわち、入力された画像を処理対象のブロックに分割する分割手段と、前記分割手段によって分割された処理対象のブロックを単位として、該処理対象のブロックの画面内予測のモードを決定する予測モード決定手段と、前記予測モード決定手段で決定されたイントラ予測モードを保持する保持手段と、前記保持手段に保持された当該処理対象のブロックの周辺ブロックのイントラ予測モードに基づいて前記処理対象のブロックのイントラ予測モードを推測する予測モード推測手段と、前記予測モード決定手段の結果と前記予測モード推測手段の結果が一致するか否かを判定する判定手段と、前記判定手段の結果を符号化し、かつ、前記判定手段の結果が不一致の場合に予測モード決定手段の結果を符号化する符号化手段と、前記モード保持手段から当該処理ユニットの周辺の所定の１つ乃至は複数の処理ユニットのイントラ予測モードを得てモードを比較するモード比較手段と、前記モード比較手段の結果に基づいて前記符号化手段を制御する制御手段を有することを特徴とする。
【発明の効果】
【０００７】
本発明では、処理ユニットの内部や周辺のイントラ予測モードを参照し、不要な符号化を行わないことで、モード識別のための符号量を削減し、高効率のイントラ予測モード情報符号化・復号化が可能になる。
【図面の簡単な説明】
【０００８】
【図１】実施形態１における画像符号化装置の構成を示すブロック図
【図２】モード決定・符号化部１０２の詳細構成を示すブロック図
【図３】ブロック内の処理ユニットの配置の一例を表す図
【図４】実施形態１に係る画像符号化装置における画像符号化処理を示すフローチャート
【図５】実施形態１におけるステップＳ４０２の詳細な処理を示すフローチャート
【図６】実施形態２におけるステップＳ４０２の詳細な処理を示すフローチャート
【図７】実施形態３に係る画像復号装置の構成を示すブロック図
【図８】イントラ予測モード復号部７０２の詳細構成を示すブロック図
【図９】実施形態３に係る画像復号装置における画像復号処理を示すフローチャート
【図１０】実施形態３におけるステップＳ９０２の詳細な処理を示すフローチャート
【図１１】実施形態４におけるステップＳ９０２の詳細な処理を示すフローチャート
【図１２】本発明の画像符号化装置、復号装置に適用可能なコンピュータのハードウェアの構成例を示すブロック図
【図１３】本発明の符号化データ配列の一例を表す図
【図１４】ブロック内の処理ユニットの配置の一例を表す図
【発明を実施するための形態】
【０００９】
以下、添付の図面を参照して、本願発明をその好適な実施形態に基づいて詳細に説明する。なお、以下の実施形態において示す構成は一例に過ぎず、本発明は図示された構成に限定されるものではない。
【００１０】
＜実施形態１＞
以下、本発明の実施形態を、図面を用いて説明する。図１は本発明を適用した、画像符号化装置を示すブロック図である。
【００１１】
図１において、１０１は入力映像を複数のブロックに分割するブロック分割部である。１０２は分割された各ブロックにおいて、該ブロックと同サイズもしくは小さなサイズで予測の単位である処理ユニットのサイズおよび各処理ユニットのイントラ予測モード（画面内予測モード）を決定し、符号化するモード決定・符号化部である。１０３は決定されたイントラ予測モードに基づいて当該処理ユニット単位でイントラ予測を行う予測部である。１０４は入力映像と予測の差分を変換・量子化する変換・量子化部である。１０５は変換・量子化部１０４の結果を符号化するエントロピー符号化部である。
【００１２】
以下に画像符号化装置における画像の符号化動作を説明する。また、本願発明は、説明を容易にするため、イントラ予測符号化の処理のみを説明するが、これに限定されずインター予測符号化の処理においても適用可能である。
【００１３】
入力された１フレーム分の画像データはブロック分割部１０１に入力され、ブロック単位に分割され、モード決定・符号化部１０２に出力される。モード決定・符号化部１０２ではブロック単位に分割された画像データは予測の単位となる処理ユニットの大きさについて、まず、ブロックを分割してブロックよりも小さいサイズの処理ユニットとするかブロックと同サイズの処理ユニットとするかを決定する。続いて、決定された処理ユニットに対してイントラ予測モードを決定し、そのイントラ予測モードを符号化する。決定されたイントラ予測モードは予測部１０３に出力され、符号化されたデータはエントロピー符号化部１０５に出力される。予測部１０３ではモード決定・符号化部１０２で決定したイントラ予測モードが入力され、決定された処理ユニット単位で予測が行われる。入力画像と予測との差分は変換・量子化部１０４に入力され、差分が変換・量子化される。量子化された係数データはエントロピー符号化部１０５に送られ、エントロピー符号化された後、イントラ予測モードの符号化データとともに出力される。
【００１４】
図２は本発明を適用した、モード決定・符号化部１０２の詳細なブロック図である。２０１はブロック単位に分割された画像データを入力として予測の単位となる処理ユニットの最適サイズを決定する分割・モード決定部である。また、分割・モード決定部は、各処理ユニットにおける最適なイントラ予測モードを決定する。最適なイントラ予測モードの決定方法に関しては、それぞれのイントラ予測モードについて予測値を計算し、最も入力画素に近い予測値を生成したモードに決定することが一般的であるが、これに限定されない。
【００１５】
２０２は分割・モード決定部２０１で決定されたイントラ予測モードの情報を保持しておくイントラ予測モード保持部である。２０３はイントラ予測モード保持部２０２から、符号化対象の処理ユニットの周辺の処理ユニットのイントラ予測モードを得て、当該処理ユニットのイントラ予測モードを推測するイントラ予測モード推測部である。２０４はイントラ予測モード決定部２０１の結果または後述する分割・モード再判定部の結果とイントラ予測モード推測部２０３の結果が一致するか否かを比較する推測判定部である。
【００１６】
２０５は推測判定部２０４の結果を符号化し、さらに推測判定部２０４の結果が不一致の場合に分割・モード決定部２０１の結果を符号化する符号化部である。２０６はイントラ予測モード保持部２０２からブロック分割部１０１で分割されたブロック単位に属する周辺の所定の処理ユニットのイントラ予測モードを得て、前記周辺の処理ユニットのイントラ予測モード同士の比較を行うブロック内モード比較部である。２０７はブロック内モード比較部の２０６の結果によってブロック内の処理ユニットサイズおよびイントラ予測モードを再判定する分割・モード再判定部である。
【００１７】
図３にイントラ予測モードの推測に関して、推測に用いる処理ユニットの配置の一例を示す。ここではＨ．２６４を例にとって説明するが、これに限定されない。Ｈ．２６４では、符号化を行う当該処理ユニットをＸとした時、直上の処理ユニットＢ、左の処理ユニットＥのイントラ予測モードから処理ユニットＸのイントラ予測モードを推測する。仮に処理ユニットＢ、Ｅが同一の上側の画素からの予測モード（モード０）であれば、当該処理ユニットＸのイントラ予測モードが同一の上側の画素からの予測、すなわちモード０であると推測する。
【００１８】
図２に戻り、推測判定部２０４では分割・モード決定部２０１または後述する分割・モード再判定部２０７の出力結果とイントラ予測モード推測部２０３の出力結果を入力して比較し、それらが一致するか否かの情報を符号化部２０５に出力する。推定判定部２０４は後述する分割・モード再判定部２０７の出力結果がブロック再分割とイントラ予測モードの再設定を行った場合には、分割・モード再判定部２０７の出力結果とイントラ予測モード推測部２０３の結果を比較する。
【００１９】
ブロック内モード比較部２０６は、同一ブロックに属する周辺の処理ユニットのイントラ予測モードの結果をイントラ予測モード保持部２０２から読み出し、比較を行う。例えば図３において処理ユニットＡ、Ｂ、Ｅ、Ｘが同一のブロックに属していた場合、処理ユニットＸを符号化する際には左上の単位ユニットＡ、直上の単位ユニットＢ、左の単位ユニットＥのイントラ予測モードの比較を行う。これらが同一のイントラ予測モードであれば一致とし、１つでも異なるものがあれば不一致とする周辺モード一致情報を生成する。生成された周辺モード一致情報は符号化部２０５に出力される。
【００２０】
ブロック内の処理ユニットの処理順序の一例について説明する。例えば図３において処理ユニットＡ、Ｂ、Ｅ、Ｘが同一のブロックに属していた場合、左上の処理ユニット（Ａ）、右上の単位ユニット（Ｂ）、左下の単位ユニット（Ｅ）、右下の単位ユニット（Ｘ）の順に処理が行われる。具体的な制御方法としては、符号化部２０５は、当該処理ユニットが１ブロック単位内の最終処理ユニットでない場合（図３ではＡ、Ｂ、Ｅの場合）に、推測判定部２０４の出力である一致情報を符号化するように制御する。さらに前記一致情報が不一致を示す場合に、これに加えて分割・モード決定部２０１の出力であるイントラ予測モードを示すインデックスを符号化するように制御する。一致を示す場合にはこの符号化は行われない。
【００２１】
また、符号化部２０５は、当該処理ユニットが１ブロック単位内の最終処理ユニットであり、かつブロック内モード比較部２０６の出力である周辺モード一致情報が不一致であった場合には、前述の最終処理ユニットではない場合と同様に処理する。すなわち推測判定部２０４の出力である一致情報を符号化するように制御する。さらに前記一致情報が不一致を示す場合に、これに加えて分割・モード決定部２０１の出力であるイントラ予測モードを示すインデックスを符号化するように制御する。一致を示す場合にはこの符号化は行われない。
【００２２】
一方、符号化部２０５は当該処理ユニットが１ブロック単位内の最終処理ユニットでありかつブロック内モード比較部２０６の出力である周辺モード一致情報が一致であった場合には下記のように制御する。すなわち推測判定部２０４の出力である一致情報を符号化せずに分割・モード決定部２０１の出力であるイントラ予測モードを示すインデックスを符号化するように制御する。
【００２３】
符号化部２０５は一致情報を予測モードフラグとして符号化し、必要な場合にはイントラ予測モードの識別に必要な情報を予測モードインデックスとして符号化する。
【００２４】
一方、分割・モード再判定部２０７は、ブロック内モード比較部２０６の出力であるブロック内モード一致情報を入力として、ブロック内の処理ユニット分割やイントラ予測モードの再判定を行う。具体的には、当該処理ユニットが１ブロック内の最終処理ユニットであり、ブロック内モード一致情報が一致だった場合、当該処理ユニットが属するブロックを分割せずにブロックと同一のサイズでイントラ予測を行う。また前記ブロック内で一致したイントラ予測を用いるようにブロック内の処理ユニット分割とイントラ予測モードを再設定する。そして再設定されたイントラ予測モードの情報はイントラ予測モード保持部２０２、推測判定部２０４および符号化部２０５に出力される。
以上、符号化の処理の流れを、図面を用いて説明する。
【００２５】
図４は、実施形態１に係る画像符号化装置における画像符号化処理を示すフローチャートである。
ステップＳ４０１において、ブロック分割部１０１は、フレーム単位の入力画像をブロック単位に分割する。ステップＳ４０２において、モード決定・符号化部１０２は、分割かれた各ブロックにおいて、予測の単位であり各ブロックと同サイズもしくは小さいサイズとなる処理ユニットのサイズを決定する。またモード決定・符号化部１０２は、各処理ユニットのイントラ予測モードを決定し、符号化する。
【００２６】
ステップＳ４０３において、予測部１０３は、ステップＳ４０２にて決定したイントラ予測モードに基づき予測を行う。ステップＳ４０４において変換・量子化部１０４は、入力画像と予測との差分を求め、その結果に対して変換・量子化を行う。さらに、ステップＳ４０５において、エントロピー符号化部１０５は、量子化した係数をエントロピー符号化する。ステップＳ４０６において、フレーム内の全てのブロックの符号化が終了したか否かの判定を行い、終了していれば全ての動作を停止して処理を終了し、そうでなければ次のブロックを対象としてステップＳ４０１に戻る。
【００２７】
図５はステップＳ４０２の実施形態１における詳細な処理を示すフローチャートである。
ステップＳ５０１にて、モード決定・符号化部１０２は、符号化対象のブロックに対し予測の単位となる最適な処理ユニットのサイズおよび各処理ユニットにおける最適なイントラ予測モードを決定する。イントラ予測モードは、周辺の画素値や符号化するブロックの画素値の特徴などから決定する。
【００２８】
ステップＳ５０２において、モード決定・符号化部１０２は、ステップＳ５０１の結果、符号化対象のブロックが複数の処理ユニットに分割できるか否かを判定し、分割できる場合はステップＳ５０３に進み、分割できない場合はステップＳ５０４に進む。
【００２９】
ステップＳ５０３において、モード決定・符号化部１０２は、周辺の処理ユニットのイントラ予測モードから符号化対象の処理ユニットのイントラ予測モードの推測を行う。
【００３０】
ステップＳ５０５においてモード決定・符号化部１０２は、符号化対象の処理ユニットがブロック内の最終処理ユニットか否かの判定を行い、最終処理ユニットの場合はステップＳ５０６へ進み、最終処理ユニットでない場合にはステップＳ５０７に進む。
【００３１】
ステップＳ５０６においてモード決定・符号化部１０２は、これまでに符号化されたブロック内の全ての処理ユニットのイントラ予測モードが同一か否かを判定し、一致する場合にはステップＳ５０８に進み、不一致の場合にはステップＳ５０７に進む。
【００３２】
ステップＳ５０７においてモード決定・符号化部１０２は、ステップＳ５０１で決定したイントラ予測モードとステップＳ５０３で推測したイントラ予測モードとが一致するか否かを判定する。一致する場合にはステップＳ５０９に進み、不一致の場合にはステップＳ５１０に進む。
【００３３】
ステップＳ５０８においてモード決定・符号化部１０２は、ステップＳ５０７と同様にステップＳ５０１で決定したイントラ予測モードとステップＳ５０３で推測したイントラ予測モードとが一致するか否かを判定する。一致する場合はステップＳ５１１に進み、不一致の場合はステップＳ５１２に進む。
【００３４】
ステップＳ５０９においてモード決定・符号化部１０２は、一致を示す予測モードフラグを符号化する。ステップＳ５１０においてモード決定・符号化部１０２は、不一致を示す予測モードフラグを符号化し、その後、ステップＳ５１２に進む。
【００３５】
ステップＳ５１２においてモード決定・符号化部１０２は、イントラ予測モードを識別するためのインデックスを符号化し、ステップ５１３に進む。一方、ステップＳ５０９では一致を示す予測モードフラグを符号化し、ステップＳ５１３に進む。
【００３６】
ステップＳ５１３においてブロック内の全ての処理ユニットの符号化が終了したか否かの判定を行い、終了していれば全ての動作を停止して処理を終了し、そうでなければブロック内の次の処理ユニットを対象としてステップＳ５０３に戻る。
【００３７】
ステップＳ５１１において処理ユニットのサイズをブロックと同一のサイズに設定しなおし、イントラ予測モードをステップＳ５０６で一致したブロック内の各処理ユニットのイントラ予測モードに設定しなおしステップＳ５０４に進む。
【００３８】
一方、ステップＳ５０２で符号化対象のブロックが複数の処理ユニットに分割できないと判断された場合以下の処理を行う。すなわちステップＳ５０４においてモード決定・符号化部１０２は、符号化するブロックと同一のサイズの処理ユニットを対象に周辺の処理ユニットのイントラ予測モードから符号化する処理ユニットのイントラ予測モードを推測する。
【００３９】
ステップＳ５１４においてステップＳ５０１で決定したイントラ予測モードとステップＳ５０４で推測したイントラ予測モードが一致するか否かの判定を行い、一致した場合はステップＳ５１５に進み、そうでない場合にはステップＳ５１６に進む。
【００４０】
ステップＳ５１５においてモード決定・符号化部１０２は、一致を示す予測モードフラグを符号化した後、処理を終了する。一方、ステップＳ５１６においてモード決定・符号化部１０２は、不一致を示す予測モードフラグを符号化し、ステップＳ５１７にて、イントラ予測モードを識別するためのインデックスを符号化した後、処理を終了する。
【００４１】
図１３（ａ）は従来の符号化方式、例えばＨ．２６４方式で符号化された符号化データ配列の一例である。これに対する、本発明で符号化された符号化データ配列の一例を図１３（ｂ）に示す。この例では、ブロック内の全ての処理ユニットのイントラ予測モードが一致する場合を想定しており、ブロック内の最初の処理ユニット以外の予測モードフラグ分のビット数が削減できる。
【００４２】
また、図１３（ｃ）は従来の符号化方式、例えばＨ．２６４方式で符号化された符号化データ配列の別の例である。これに対する、本発明で符号化された符号化データ配列の一例を図１３（ｄ）に示す。この例では、ブロック内の最終処理ユニットを除く全ての処理ユニットが一致し、最終処理ユニットのみが異なるイントラ予測モードとなる場合を想定しており、ブロック内の最終ブロックの予測モードフラグ分のビット数が削減できる。
【００４３】
なお、本実施例においてイントラ予測モード推測部２０３は隣接するブロックから符号化する処理ユニットのイントラ予測モードの推測を行った。しかしこれに限定されない。すなわち図３に示すように、符号化対象の処理ユニットがＸだった場合、Ｘの上側処理ユニットの右側の処理ユニットＣのイントラ予測モードや、隣接せずとも周辺の処理ユニット、Ｅの左側の処理ユニットＤのイントラ予測モードも含めて推測を行っても構わない。
【００４４】
なお、本実施形態においては、イントラ予測のみを用いるフレームを例にとって説明したが、インター予測を使用できるフレームにおいても対応できることは明らかである。
【００４５】
また、本実施形態ではブロックサイズを分割の有無の２種類で説明したが、これに限定されず、処理ユニットをさらに分割してももちろん構わない。また、ブロックの形状もこれに限定されず、長方形であったり、ブロック間でオーバーラップする部分があっても発明の本質は変わらない。
【００４６】
＜実施形態２＞
実施形態１の変形例として実施形態２を説明する。実施形態２が実施形態１と異なる点は、イントラ予測モード推測部２０３は推測されたイントラ予測モードを推測判定部２０４だけでなくブロック内モード比較部２０６にも出力する点にある。（不図示）
モード決定・符号化部１０２における符号化動作を以下で説明する。図２において分割・モード決定部２０１およびイントラ予測モード保持部２０１の動作は実施形態１と同様であるため、説明を省略する。イントラ予測モード推測部２０３では、当該処理ユニットのイントラ予測モードを推測するために当該処理ユニットの周辺の所定の処理ユニットのイントラ予測モードの情報をイントラ予測モード保持部２０２から入力する。イントラ予測モード推測部２０３は該周辺処理ユニットのイントラ予測モードから当該処理ユニットのイントラ予測モードを推測し、その結果を推測判定部２０４およびブロック内モード比較部２０６に出力する。
【００４７】
ブロック内モード比較部２０６では、まず、当該処理ユニットの周辺の所定の処理ユニットのイントラ予測モードをイントラ予測モード保持部２０２から入力する。合わせて、イントラ予測モード推測部２０３の結果である推測された当該処理ユニットのイントラ予測モードも入力する。それらが一致するか否かの情報である推測・周辺モード一致情報を符号化部２０５に出力する。すなわち、実施形態１の当該処理ユニットの周辺の所定の処理ユニットのイントラ予測モードが一致した上で、推測された当該処理ユニットのイントラ予測モードも一致した時に、推測・周辺モード一致情報は一致となる。いずれかのうち１つでも異なるイントラ予測モードがあった時に不一致となる。
【００４８】
符号化部２０５は実施形態１の周辺モード一致情報（一致／不一致）の代わりに、推測・周辺モード一致情報（一致／不一致）を受け取ることが異なるが動作は同じである。さらに、同一ブロックに属する処理ユニットのイントラ予測モードをイントラ予測モード保持部２０２から読み出し、ブロック内モード一致情報を生成し、分割・モード再判定部２０７に出力する。実施形態２におけるステップＳ４０２の処理について図面を用いて具体的に説明する。図６はステップＳ４０２の実施形態２における詳細な処理を示すフローチャートである。
【００４９】
ステップＳ５０６、Ｓ６０１以外の処理は実施形態１と同様であるため、説明を省略する。ステップＳ５０６においてモード決定・符号化部１０２は、ブロック内で既に符号化済みの処理ユニットのイントラ予測モードが全て一致するか否かを判定し、一致する場合にはステップＳ６０１に進み、不一致の場合にはステップＳ５０７に進む。
【００５０】
ステップＳ６０１において一致したブロック内の符号化済み処理ユニットのモードとステップ５０３で推測された処理ユニットのモードが一致するか否かを判定し、一致の場合にはステップ５０８に進み、不一致の場合にはステップ５０７に進む。
【００５１】
以上の構成と動作により、実施形態１と同様に、イントラ予測モードの識別に必要となるビット量が削減できる。さらには、ブロック内の処理ユニット分割の数が少ない場合で、当該ブロックの外の処理ユニットのイントラ予測モードを参照して最終処理ユニットのイントラ予測モードを推定する場合に生じる問題を解決できる。すなわち、図１４に示すような処理ユニット分割、例えば、長方形の処理ユニットＢとＸによって太枠で表されるブロックを構成する場合、ブロック内一致情報は参照する処理ユニットが処理ユニットＢのみであるため、必ず一致している。また、当該処理ユニットＸに関しては処理ユニットＢを参照してイントラ予測モードを決定する。一方、ブロック外の処理ユニットＥのイントラ予測モードと処理ユニットＢのイントラ予測モードから当該処理ユニットＸのイントラ予測モードを推測する。この場合、最終処理ユニットである処理ユニットＸのイントラモード予測モードの決定と推測で参照する処理ユニットが異なることが生じる。すなわち、実施形態１ではブロック内のイントラ予測モードが一致しているにも関わらず、推測と異なることがあるためビットの削減ができなくなる。本実施形態によって、この問題を回避し、好適にビットを削減することが可能になる。
【００５２】
なお、実施形態１と同様に、イントラ予測モード推測部２０３は隣接するブロックに参照は限定されず、隣接しない周辺の処理ユニットのイントラ予測モードを参照しても構わない。
【００５３】
＜実施形態３＞
図７は、本発明の実施形態３に係る画像復号装置の構成を示すブロック図である。本実施形態では、実施形態１で生成された符号化データの復号を説明する。
図５において、７０１は入力ストリームからブロック単位の情報を復号するブロック復号部である。７０２は各処理ユニットにおいてイントラ予測モードを復号するイントラ予測モード復号部である。７０３は各ブロック内に存在する処理ユニット単位の情報や係数を復号するエントロピー復号部である。７０４は復号された係数を逆量子化し、逆変換する逆量子化・逆変換部であり、７０５は逆量子化・逆変換部７０４の結果とイントラ予測モード復号部７０２の結果から復号画素データを再構成する画素データ再構成部である。
【００５４】
画像復号装置における画像の復号動作を以下で説明する。入力された１フレーム分の符号化データはブロック単位でブロック復号部７０１に入力され、ブロック単位の情報が復号される。上記のブロック単位の情報によって定まった処理ユニットの構造によって、処理ユニットごとに符号データが出力される。前記符号データはイントラ予測モード復号部７０２に入力され、イントラ予測モードの情報が復号され、画素データ再構成部７０５に出力される。一方で残りの符号データはエントロピー復号部７０３に出力される。エントロピー復号部７０３では、係数値が復号され出力される。係数値は逆量子化・逆変換部７０４に入力され、逆量子化、逆変換の過程を経て予測誤差データが出力される。イントラ予測モードの情報および予測誤差データは画素データ再構成部７０５に入力され、イントラ予測モードの情報から予測値を算出し、それを係数データと足し合わせることで復号画素データが再構成され、出力される。
【００５５】
図８は本発明を適用した、イントラ予測モード復号部７０２の詳細なブロック図である。図８において、８０１はイントラ予測モードを復号するイントラ予測復号部である。８０２は復号して得られたイントラ予測モードを保持しておくモード保持部であり、８０３は周辺の所定の処理ユニットのイントラ予測モードから復号する処理ユニットのイントラ予測モードを推測するイントラ予測モード推測部である。８０４はモード保持部８０２から周辺の所定の処理ユニットのイントラ予測モードを得て比較を行うブロック内モード比較部である。８０５は復号する処理ユニットがブロック内の最終処理ユニットか否かを判定する最終処理ユニット判定部である。これはブロックの復号状況から自動的に判定される。８０６はブロック内モード比較部８０４および最終処理ユニット判定部８０５の結果によってイントラ予測復号部８０６の動作を制御する復号制御部である。
【００５６】
以下、イントラ予測モード復号部７０２における復号動作を説明する。イントラ予測復号部８０１は当該処理ユニットに関する符号化データおよびイントラ予測モード推測部８０３の出力結果を入力として、復号制御部８０６の制御によってイントラ予測モードを復号し、出力する。モード保持部８０２ではイントラ予測復号部８０１の出力であるイントラ予測モードの情報を保持し、必要に応じてイントラ予測モード推測部８０３およびブロック内モード比較部８０４に周辺の所定の処理ユニットのイントラ予測モード情報を出力する。
【００５７】
イントラ予測モード推測部８０３では、復号する処理ユニットのイントラ予測モードを推測するために当該処理ユニットの周辺の所定の処理ユニットのイントラ予測モードをモード保持部８０２から入力する。これらのイントラ予測モードから推測された当該処理ユニットのイントラ予測モードをイントラ予測復号部８０１に出力する。
【００５８】
一方、ブロック内モード比較部８０４は当該処理ユニットの周辺の所定の処理ユニットのイントラ予測モードをモード保持部８０２から入力し、それらが一致するか否かの情報である周辺モード一致情報を復号制御部８０６に出力する。最終処理ユニット判定部８０５は当該復号対象の処理ユニットがブロック内最終処理ユニットか否かを判定した結果を最終処理ユニット情報として復号制御部８０６に出力する。
【００５９】
復号制御部８０６は、最終処理ユニット判定部８０５の出力である最終処理ユニット情報およびブロック内モード比較部８０４の出力である周辺モード一致情報を入力し、イントラ予測復号部８０１の動作を制御する。
【００６０】
まずは、最終処理ユニット情報により当該復号対象の処理ユニットがブロック内の最終処理ユニットでないと判断された場合、もしくは周辺モード一致情報が不一致であった場合について述べる。この場合、まず、イントラ予測復号部８０１は当該復号対象の処理ユニットのイントラ予測モードがイントラ予測モード推測部８０３で推測されたイントラ予測モードと一致するか否かの情報である予測モードフラグを復号し一致情報を取得する。
【００６１】
その一致情報が一致を示す場合には、イントラ予測モード推測部８０３の出力である推測されたイントラ予測モードを当該処理ユニットのイントラ予測モードとして出力する。また、一致情報が不一致であった場合には、さらにイントラ予測モードを識別するためのインデックスを復号し、イントラ予測モードを算出するようにイントラ予測復号部８０１を制御する。
【００６２】
一方、最終処理ユニット情報により当該処理ユニットがブロック内の最終処理ユニットであると判断され、かつ周辺モード一致情報が一致であった場合について述べる。イントラ予測復号部８０１は当該処理ユニットのイントラ予測モードがイントラ予測モード推測部８０３の出力である推測されたイントラ予測モードと予測モードフラグは不一致であるとみなすことができる。このため、続くイントラ予測モードを識別するためのインデックスを復号し、イントラ予測モードを算出するように制御する。
【００６３】
以上、復号の処理の流れを、図面を用いて説明する。図９は、実施形態３に係る画像復号装置における画像復号処理を示すフローチャートである。
まず、ステップＳ９０１においてブロック復号部７０１は、入力された符号化データからブロック単位の情報を復号しする。ステップＳ９０２においてイントラ予測モード復号部７０２は、各ブロック内に存在する予測の単位である各処理ユニットのイントラ予測モードを復号する。ステップＳ９０３においてエントロピー復号部７０３は、処理ユニット単位の情報や係数をエントロピー復号する。ステップＳ９０４において逆量子化・逆変換部７０４は、復号された予測誤差の逆量子化・逆変換を行う。ステップＳ９０５において画素データ再構成部７０５は、ステップＳ９０２の結果から予測値を算出し、それとステップＳ９０４の結果である係数値を足し合わせて再構成画素を算出する。ステップＳ９０６において画像復号装置は、ブロック内の全ての処理ユニットの復号が終了したか否かを判定する。終了していればステップＳ９０７に進む。そうでなければ処理の対象をブロック内の次の処理ユニットに移し、ステップＳ９０２に戻る。ステップＳ９０７ではフレーム内の全てのブロックの復号が終了したか否かを判定し、終了していれば全ての動作を停止して処理を終了する。そうでなければ処理の対象をフレーム内の次のブロックに移し、ステップＳ９０１に戻る。
【００６４】
図１０はステップＳ９０２の実施形態３における詳細な処理を示すフローチャートである。ステップＳ１００１においてイントラ予測モード復号部７０２は、周辺の処理ユニットのイントラ予測モードから復号する処理ユニットのイントラ予測モードの推測を行う。
【００６５】
ステップＳ１００２においてイントラ予測モード復号部７０２は、復号する処理ユニットがブロック内の最終処理ユニットか否かの判定を行い、最終処理ユニットの場合はステップＳ１００３に進み、最終処理ユニットでない場合にはステップＳ１００４に進む。
【００６６】
ステップＳ１００３において、イントラ予測モード復号部７０２は、ブロック内で既に復号済みの所定の処理ユニットのイントラ予測モードが全て一致するか否かを判定し、一致する場合にはステップＳ１００６に進み、不一致の場合にはステップＳ１００８に進む。
【００６７】
ステップＳ１００４において、イントラ予測モード復号部７０２は、復号する処理ユニットのイントラ予測モードがステップＳ１００１で推測されたイントラ予測モードと一致するか否かを示す予測モードフラグを復号する。
【００６８】
ステップＳ１００５において、イントラ予測モード復号部７０２は、前記予測モードフラグが一致を示すか否かを判定する。一致を示す場合にはステップＳ１００８に進み、不一致を示す場合にはステップＳ１００６に進む。
【００６９】
ステップＳ１００６において、イントラ予測モード復号部７０２は、イントラ予測モードを識別するための予測モードインデックスを復号する。一方、ステップＳ１００８において、イントラ予測モード復号部７０２は、ステップＳ１００１で推測された予測モードを復号する処理ユニットのイントラ予測モードと設定する。ステップＳ１００６またはステップＳ１００８の結果をもとに、ステップＳ１００７において、イントラ予測モード復号部７０２は、復号する処理ユニットのイントラ予測モードを決定した後、イントラ予測モードの復号処理を終了する。
【００７０】
以上の構成と動作により、実施形態１で生成されたイントラ予測モードの識別に必要となるビット量が削減された符号化データを復号することができる。
【００７１】
なお、本実施形態においては、イントラ予測のみを用いるフレームを例にとって説明したが、インター予測も使用できるフレームにおいても対応できることは明らかである。
【００７２】
＜実施形態４＞
本実施形態では、実施形態２で生成された符号化データの復号を図１１を用いて説明する。
本実施形態が実施形態３と異なる点は、イントラ予測モード推測部８０３は推測されたイントラ予測モードをイントラ予測復号部８０１だけでなくブロック内モード比較部８０４にも出力する点にある。（不図示）
図８を用いてイントラ予測モード復号部７０２における復号動作を以下で説明する。イントラ予測復号部８０１、モード保持部８０２の動作は実施形態３と同様であるため、説明を省略する。
【００７３】
イントラ予測モード推測部８０３は、当該復号対象の処理ユニットのイントラ予測モードを推測するために当該処理ユニットの周辺の所定の処理ユニットのイントラ予測モードをモード保持部８０２から入力する。またイントラ予測モード推測部８０３は、入力された周辺の所定の処理ユニットのイントラ予測モードから当該処理ユニットのイントラ予測モードを推測し、イントラ予測復号部８０１およびブロック内モード比較部８０４に出力する。
【００７４】
ブロック内モード比較部８０４は、当該復号対象の処理ユニットの周辺の所定の処理ユニットのイントラ予測モードをモード保持部８０２から入力する。同時に、イントラ予測モード推測部８０３で推測された当該処理ユニットのイントラ予測モードも入力し、それらが一致するか否かの推測・周辺モード一致情報を復号制御部８０６に出力する。復号制御部８０６、最終処理ユニット判定部８０５の動作は実施形態３と同様であるため、説明を省略する。
【００７５】
以上、復号の処理の流れを、図面を用いて説明する。実施形態４に係る画像復号装置における画像復号処理を示すフローチャートは、実施形態３と同様であるため、説明を省略する。図１１は本実施形態におけるステップＳ９０２の詳細な処理を示すフローチャートである。
【００７６】
ステップＳ１００３、Ｓ１１０１以外の処理は実施形態３と同様であるため、説明を省略する。
【００７７】
ステップＳ１００３においてブロック内で既に復号済みの周囲の所定の処理ユニットのイントラ予測モードが全て一致するか否かを判定し、一致する場合にはステップＳ１１０１に進み、不一致の場合にはステップＳ１００４に進む。
【００７８】
ステップＳ１１０１においてイントラ予測モード復号部７０２は、ブロック内の符号化済み処理ユニットのイントラ予測モードとステップＳ１００１で推測された処理ユニットのイントラ予測モードが一致するか否かを判定する。一致の場合にはステップＳ１００６に進み、不一致の場合にはステップＳ１００４に進む。以上の構成と動作により、実施形態２で生成されたイントラ予測モードの識別に必要となるビット量が削減された符号化データを復号することができる。すなわち、最終処理ブロックの復号時に、ブロック外処理ユニットのイントラ予測モードをイントラ予測に用いた符号化データも正しく復号することが可能になる。
【００７９】
＜実施形態５＞
図１、図２、図７、図８に示した各処理部はハードウェアでもって構成しているものとして上記実施形態では説明した。しかし、図１、図２、図７、図８に示した各処理部で行なう処理をコンピュータプログラムでもって構成しても良い。
【００８０】
図１２は、上記各実施形態に係る画像表示装置に適用可能なコンピュータのハードウェアの構成例を示すブロック図である。
【００８１】
ＣＰＵ１２０１は、ＲＡＭ１２０２やＲＯＭ１２０３に格納されているコンピュータプログラムやデータを用いてコンピュータ全体の制御を行うと共に、上記各実施形態に係る画像処理装置が行うものとして上述した各処理を実行する。即ち、ＣＰＵ１２０１は、図１、図８に示した各処理部として機能することになる。
【００８２】
ＲＡＭ１２０２は、外部記憶装置１２０６からロードされたコンピュータプログラムやデータ、Ｉ／Ｆ（インターフェース）１２０９を介して外部から取得したデータなどを一時的に記憶するためのエリアを有する。更に、ＲＡＭ１２０２は、ＣＰＵ１２０１が各種の処理を実行する際に用いるワークエリアを有する。即ち、ＲＡＭ１２０２は、例えば、フレームメモリとして割当てたり、その他の各種のエリアを適宜提供することができる。
【００８３】
ＲＯＭ１２０３には、本コンピュータの設定データや、ブートプログラムなどが格納されている。操作部１２０４は、キーボードやマウスなどにより構成されており、本コンピュータのユーザが操作することで、各種の指示をＣＰＵ１２０１に対して入力することができる。表示部１２０５は、ＣＰＵ１２０１による処理結果を表示する。また表示部１２０５は例えば液晶ディスプレイのようなホールド型の表示装置や、フィールドエミッションタイプの表示装置のようなインパルス型の表示装置で構成される。
【００８４】
外部記憶装置１２０６は、ハードディスクドライブ装置に代表される、大容量情報記憶装置である。外部記憶装置１２０６には、ＯＳ（オペレーティングシステム）や、図１、図２、図７、図８に示した各部の機能をＣＰＵ１２０１に実現させるためのコンピュータプログラムが保存されている。更には、外部記憶装置１２０６には、処理対象としての各画像データが保存されていても良い。
【００８５】
外部記憶装置１２０６に保存されているコンピュータプログラムやデータは、ＣＰＵ１２０１による制御に従って適宜ＲＡＭ１２０２にロードされ、ＣＰＵ１２０１による処理対象となる。Ｉ／Ｆ１２０７には、ＬＡＮやインターネット等のネットワーク、投影装置や表示装置などの他の機器を接続することができ、本コンピュータはこのＩ／Ｆ１２０７を介して様々な情報を取得したり、送出したりすることができる。１２０８は上述の各部を繋ぐバスである。
【００８６】
上述の構成からなる作動は前述のフローチャートで説明した作動をＣＰＵ１２０１が中心となってその制御を行う。
【００８７】
＜その他の実施形態＞
本発明の目的は、前述した機能を実現するコンピュータプログラムのコードを記録した記憶媒体を、システムに供給し、そのシステムがコンピュータプログラムのコードを読み出し実行することによっても達成される。この場合、記憶媒体から読み出されたコンピュータプログラムのコード自体が前述した実施形態の機能を実現し、そのコンピュータプログラムのコードを記憶した記憶媒体は本発明を構成する。また、そのプログラムのコードの指示に基づき、コンピュータ上で稼働しているオペレーティングシステム（ＯＳ）などが実際の処理の一部または全部を行い、その処理によって前述した機能が実現される場合も含まれる。
【００８８】
さらに、以下の形態で実現しても構わない。すなわち、記憶媒体から読み出されたコンピュータプログラムコードを、コンピュータに挿入された機能拡張カードやコンピュータに接続された機能拡張ユニットに備わるメモリに書込む。そして、そのコンピュータプログラムのコードの指示に基づき、その機能拡張カードや機能拡張ユニットに備わるＣＰＵなどが実際の処理の一部または全部を行って、前述した機能が実現される場合も含まれる。
【００８９】
本発明を上記記憶媒体に適用する場合、その記憶媒体には、先に説明したフローチャートに対応するコンピュータプログラムのコードが格納されることになる。
【図１】
2012147291.tif 000003
【図２】
2012147291.tif 000004
【図３】
2012147291.tif 000005
【図４】
2012147291.tif 000006
【図５】
2012147291.tif 000007
【図６】
2012147291.tif 000008
【図７】
2012147291.tif 000009
【図８】
2012147291.tif 000010
【図９】
2012147291.tif 000011
【図１０】
2012147291.tif 000012
【図１１】
2012147291.tif 000013
【図１２】
2012147291.tif 000014
【図１３】
2012147291.tif 000015
【図１４】
2012147291.tif 000016