(57)【要約】【課題】  複数のモードを持つイントラ予測を行う符号化方式においては、参照する隣接画素が存在しない場合、選ばれない予測モードは禁止されているが、情報として冗長になっていた。【解決手段】  入力された画像を処理対象のブロックに分割し、分割された処理対象のブロックを単位として、該処理対象のブロックの画面内予測のモードを決定し、前記処理対象のブロックの周辺のブロックが参照可能か否かを判定し、判定の結果に基づいて、禁止されている符号を用いて所定の予測値を符号化する。【選択図】  図１
2012191295.tif 000002
【特許請求の範囲】
【請求項１】
入力された画像を処理対象の処理ユニットに分割する分割手段と、
前記処理対象の処理ユニットの周辺に位置する周辺ユニットから予測の方向を選択して前記処理ユニット内の画素値を予測する第１のイントラ予測手段と、
前記処理ユニットの周辺ユニットから参照する画素の平均値を算出して前記処理ユニット内の画素値を予測する第２のイントラ予測手段と、
複数の固定値から選択して予測値を決定する第３のイントラ予測手段と、
前記周辺ユニットが参照可能か否かを判定する判定手段と、
前記判定手段の結果に基づいて、前記第１のイントラ予測手段、前記第２のイントラ予測手段、前記第３のイントラ予測手段の結果を選択するイントラ予測モード決定手段と、
前記イントラ予測モード決定手段の結果を符号化するイントラ予測モード符号化手段を
有することを特徴とする画像符号化装置。
【請求項２】
前記イントラ予測モード符号化手段が、
前記判定手段の結果に基づいて、前記第１のイントラ予測手段にて参照が行えないモードを判定するモード判定手段と、
前記モード判定手段の結果に基づいて前記参照が行えないモードに対する符号を前記第３のイントラ予測手段で選択される固定値を表す符号とすることを特徴とする請求項１に記載の画像符号化装置
【請求項３】
復号の処理を行う処理ユニットの符号化データを入力する入力手段と、
前記処理対象の処理ユニットの周辺に位置する周辺ユニットが参照可能か否かを判定する判定手段と、
前記判定手段の結果に基づいて前記処理対象の処理ユニットのイントラ予測モード及び予測値を復号するイントラ予測モード復号手段と、
前記処理ユニットの周辺ユニットから予測の方向を選択し前記処理ユニット内の画素値を予測する第１のイントラ予測手段と、
前記周辺ユニットから参照する画素の平均値を算出して前記処理ユニット内の画素値を予測する第２のイントラ予測手段と、
復号された固定値によって予測値を決定する第３のイントラ予測手段と、
復号された前記イントラ予測モードに基づいて、前記第１のイントラ予測手段、前記第２のイントラ予測手段、前記第３のイントラ予測手段を選択する手段を有することを特徴とする画像復号装置。
【請求項４】
入力された画像を処理対象の処理ユニットに分割する分割工程と、
前記処理対象の処理ユニットの周辺に位置する周辺ユニットから予測の方向を選択して前記処理ユニット内の画素値を予測する第１のイントラ予測工程と、
前記処理ユニットの周辺ユニットから参照する画素の平均値を算出して前記処理ユニット内の画素値を予測する第２のイントラ予測工程と、
複数の固定値から選択して予測値を決定する第３のイントラ予測工程と、
前記周辺ユニットが参照可能か否かを判定する判定工程と、
前記判定工程の結果に基づいて、前記第１のイントラ予測工程、前記第２のイントラ予測工程、前記第３のイントラ予測工程の結果を選択するイントラ予測モード決定工程と、
前記イントラ予測モード決定工程の結果を符号化するイントラ予測モード符号化工程を有することを特徴とする画像符号化装置における画像符号化方法。
【請求項５】
復号の処理を行う処理ユニットの符号化データを入力する入力工程と、
前記処理対象の処理ユニットの周辺に位置する周辺ユニットが参照可能か否かを判定する判定工程と、
前記判定工程の結果に基づいて前記処理対象の処理ユニットのイントラ予測モード及び予測値を復号するイントラ予測モード復号工程と、
前記処理ユニットの周辺ユニットから予測の方向を選択し前記処理ユニット内の画素値を予測する第１のイントラ予測工程と、
前記周辺ユニットから参照する画素の平均値を算出して前記処理ユニット内の画素値を予測する第２のイントラ予測工程と、
復号された固定値によって予測値を決定する第３のイントラ予測工程と、
復号された前記イントラ予測モードに基づいて、前記第１のイントラ予測工程、前記第２のイントラ予測工程、前記第３のイントラ予測工程を選択する工程を有することを特徴とする画像復号装置における画像復号方法。
【請求項６】
コンピュータが読み出して実行することにより、前記コンピュータを、請求項１に記載の画像符号化装置として機能させることを特徴とするプログラム。
【請求項７】
コンピュータが読み出して実行することにより、前記コンピュータを、請求項３に記載の復号装置として機能させることを特徴とするプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は画像符号化装置、画像符号化方法及びプログラム、画像復号装置、画像復号方法及びプログラムに関し、特に画像中の画面内予測符号化方法に関する。
【背景技術】
【０００２】
動画像の圧縮記録方法として、Ｈ．２６４／ＭＰＥＧ−４  ＡＶＣ（以下Ｈ．２６４）が知られている。Ｈ．２６４は１セグメント地上波デジタル放送などで広く使われている。Ｈ．２６４の特徴は、従来の符号化方式に加えて４×４画素単位で整数変換を用い、イントラ予測が複数用意されている点にある。イントラ予測は４×４画素単位のほかに８×８画素単位でも用意されている。また、ループ・フィルタを用い、前後に複数のフレームの参照を可能にしつつ、動き補償を７種類のサブブロックで行うという特徴がある。また、ＭＰＥＧ−４と同様に、１／４画素精度の動き補償を行うことができる。さらに、エントロピー符号化として、ユニバーサル可変長符号化やコンテキスト適応可変長符号化等を用いるという特徴がある。
【先行技術文献】
【非特許文献】
【０００３】
【非特許文献１】ＩＳＯ／ＩＥＣ  １４４９６−１０；２００４  Ｉｎｆｏｒｍａｔｉｏｎ  ｔｅｃｈｎｏｌｏｇｙ――Ｃｏｄｉｎｇ  ｏｆ  ａｕｄｉｏ−ｖｉｓｕａｌ  ｏｂｊｅｃｔｓ  ――  Ｐａｒｔ  １０：  Ａｄｖａｎｃｅｄ  Ｖｉｄｅｏ  Ｃｏｄｉｎｇ
【非特許文献２】ＩＴＵ−Ｔ  Ｈ．２６４  Ａｄｖａｎｃｅｄ  ｖｉｄｅｏ  ｃｏｄｉｎｇ  ｆｏｒ  ｇｅｎｅｒｉｃ  ａｕｄｉｏｖｉｓｕａｌ  ｓｅｒｖｉｃｅｓ
【発明の概要】
【発明が解決しようとする課題】
【０００４】
図２５は従来のＨ．２６４のブロック図である。ブロック分割部１５０１は画像データをマクロブロックに分割し、処理ユニット分割部１５０２はブロック内を処理ユニットである４画素×４画素等のブロックに分割する。イントラ予測モード決定部１５０３は周辺の画素から処理対象のユニットのイントラ予測のモードを決定する。Ｈ．２６４の場合、予め決められた予測方向に周囲の所定の画素を参照する予測と、周囲の参照画素から平均値を求めて予測値とする予測がある。イントラ予測モード符号化部１５０４はイントラ予測モード決定部１５０３で決定されたモードを符号化する。Ｈ．２６４においてモードの符号化は、参照画素の有無にかかわらず、９つのモードの符号が割り当てられる。ただし、周辺の画素がなく参照画素が得られないモードに関しては符号として出力されない。しかし、符号として禁止されているだけで、周辺の画素がなく参照画素が得られないモードであっても、最大４ビットの符号を使用している。
したがって、本願発明では、参照画素がない場合に冗長になっている符号を用い、予測誤差を小さくすることによって、高効率のイントラ予測モード情報符号化・復号化を実現することを目的としている。
【課題を解決するための手段】
【０００５】
上述の問題点を解決するため、本発明の画像符号化装置は以下の構成を有する。すなわち、入力画像を大きさの異なる複数のブロックに分割し、前記分割されたブロック単位で画像を符号化する画像符号化方法において、処理対象ブロックの属性情報を取得する取得工程と、前記処理対象ブロックの画質を制御する制御パラメータを設定する設定工程と、前記属性情報に基づいて予測制御パラメータを決定する決定工程と、前記設定工程で算出された前記制御パラメータと前記予測制御パラメータとの差分値を算出する算出工程と、前記算出工程で算出された差分値を符号化する符号化工程とを備えることを特徴とする。
【発明の効果】
【０００６】
本発明により、予測誤差を抑えることで、高効率のイントラ予測モード情報符号化・復号化が可能になる。
【図面の簡単な説明】
【０００７】
【図１】実施形態１における画像符号化装置の構成を示すブロック図
【図２】イントラ予測方法の一例を示す図
【図３】実施形態１に係る画像符号化装置におけるイントラ予測モード決定部の詳細なブロック図
【図４】実施形態１に係る画像符号化装置における固定値選択予測器の詳細なブロック図
【図５】実施形態１に係る画像符号化装置における画像符号化処理を示すフローチャート
【図６】実施形態１におけるステップＳ３０３の詳細な処理を示すフローチャート
【図７】実施形態２におけるステップＳ３０３の処理を示すフローチャート
【図８】実施形態３に係る画像復号装置の構成を示すブロック図
【図９】実施形態３に係る画像符号化装置における固定値選択予測器の詳細なブロック図
【図１０】実施形態３に係る画像符号化装置における画像符号化処理を示すフローチャート
【図１１】実施形態４に係る画像符号化装置の構成を示すブロック図
【図１２】実施形態５に係る画像符号化装置の構成を示すブロック図
【図１３】実施形態６に係る画像復号装置の構成を示すブロック図
【図１４】実施形態６に係る画像復号装置におけるイントラ予測モード復号部の詳細なブロック図
【図１５】実施形態６に係る画像復号装置における固定値選択予測器の詳細なブロック図
【図１６】実施形態６に係る画像復号装置における画像復号処理を示すフローチャート
【図１７】実施形態６に係るステップＳ９０４の詳細な処理を示すフローチャート
【図１８】実施形態７に係るステップＳ９０４の別な処理を示すフローチャート
【図１９】実施形態７に係る画像復号装置の構成を示すブロック図
【図２０】実施形態７に係る画像符号化装置におけるイントラ予測モード復号部の詳細なブロック図
【図２１】実施形態７に係る画像復号装置における固定値選択予測器の詳細なブロック図
【図２２】実施形態７に係る画像復号装置における画像復号処理を示すフローチャート
【図２３】実施形態８に係る画像復号装置の構成を示すブロック図
【図２４】本発明の画像符号化装置、復号装置に適用可能なコンピュータのハードウェアの構成例を示すブロック図
【図２５】Ｈ．２６４のブロック図
【発明を実施するための形態】
【０００８】
以下、添付の図面を参照して、本願発明をその好適な実施形態に基づいて詳細に説明する。なお、以下の実施形態において示す構成は一例に過ぎず、本発明は図示された構成に限定されるものではない。
【０００９】
＜実施形態１＞
以下、本発明の実施形態を、図面を用いて説明する。図１は本実施形態の画像符号化装置を示すブロック図である。図１において、１０１は入力画像を複数のブロックに分割するブロック分割部である。説明を容易にするために、入力画像は８ビットの画素値を持つこととするが、これに限定されない。
【００１０】
１０２はブロック分割部１０１で分割された各ブロックを、該ブロックと同一サイズもしくはブロックよりも小さいサイズの処理ユニットに分割する処理ユニット分割部である。１０３は各処理ユニットにおいてイントラ予測モード（画面内予測モード）を決定し、予測誤差を出力するイントラ予測モード決定部である。１０４はイントラ予測モード決定部１０３で決定したイントラ予測モードを符号化するイントラ予測モード符号化部である。１０５はイントラ予測の予測誤差を変換・量子化する変換・量子化部であり、１０６は変換・量子化部１０５の結果を符号化するエントロピー符号化部である。１０７は符号化対象の処理ユニットの周辺の処理ユニット（周辺ユニット）が参照可能かを判定する周辺処理ユニット判定部である。１０８は予測・変換・量子化部１０５の逆の動作により、復号画像と同じ画像を生成する逆量子化・逆変換部である。１０９は逆量子化・逆変換部１０８の出力を格納する復号画像保持部である。
【００１１】
上記画像符号化装置における画像の符号化動作を以下に説明する。本実施形態では動画像データをフレーム単位に入力する構成となっているが、１フレーム分の静止画像データを入力する構成としても構わない。また、本願発明は、説明を容易にするため、イントラ予測符号化の処理のみを説明するが、これに限定されずインター予測符号化の処理においても適用可能である。
【００１２】
本実施形態では説明のため、ブロック分割部１０１においては８画素×８画素のブロックに分割するものとして説明するがこれに限定されない。またブロックの分割に関しては縦横１／２のサイズに４分割する方法を例にとって説明するが、これにブロックの形状、サイズは限定されない。
【００１３】
入力された１フレーム分の画像データはブロック分割部１０１に入力され、８画素×８画素のブロック単位に分割される。ブロック単位に分割された画像データはさらに処理ユニット分割部１０２に入力され、ブロック分割部１０１で分割されたブロックと同一もしくは小さい大きさの処理ユニット（４画素×４画素）に分割される。また、処理ユニット分割部１０２は、符号化対象の処理ユニットの位置を周辺処理ユニット判定部１０７に入力する。
【００１４】
具体的には、符号化対象の処理ユニット内の左上画素のフレーム内での垂直位置および水平位置を入力する方法などが考えられるがこれに限定されない。フレーム内での符号化対象ブロックのブロック番号およびブロック内での符号化対象処理ユニットの処理ユニット番号を入力する方法を用いてもよい。
【００１５】
周辺処理ユニット判定部１０７では、符号化対象の処理ユニットの位置とこれまでに符号化済みの処理ユニットの状況から、符号化対象の処理ユニットの周辺の処理ユニットが参照可能か否かを判定する。周辺処理ユニット判定部１０７は、判定した参照可能情報をイントラ予測モード決定部１０３およびイントラ予測モード符号化部１０４に出力する。
処理ユニット分割部１０２の結果である処理ユニット単位に分割された画像データおよび周辺処理ユニット判定部１０７の出力である参照可能情報はイントラ予測モード決定部１０３に入力される。
【００１６】
説明を簡単にするために、図２にイントラ予測方法の例を示す。図２（ａ）において、２０１はイントラ予測を行う処理ユニット（４画素×４画素）を表す。処理ユニット２０１内には４画素×４画素のａからｐまでの画素が含まれる。図２（ｂ）は垂直方向の予測の様子を表す図であり、処理ユニット２０１に隣接する空間的に上方の画素群２０２（Ｖ１からＶ４）から垂直方向の予測を行う。本予測を垂直予測（Ｖｅｒｔｉｃａｌ）モードと呼び、予測モード番号を０とする。図２（ｃ）は水平方向の予測の様子を表す図であり、処理ユニット２０１に隣接する左方の画素群２０３（Ｈ１からＨ４）から水平方向の予測を行う。本予測を水平予測（Ｈｏｒｉｚｏｎｔａｌ）モードと呼び、予測モード番号を１とする。図２（ｄ）は平均値予測の様子を表す図であり、処理ユニット２０１に隣接する上方と左方の画素群の平均値に基づいて予測を行う。すなわち、平均値をａｖｅとすると以下式（１）で表される。本予測を平均値予測モードと呼び、予測モード番号を２とする。
ａｖｅ  ＝  （Ｖ１＋Ｖ２＋Ｖ３＋Ｖ４＋Ｈ１＋Ｈ２＋Ｈ３＋Ｈ４）／８    （１）
なお、平均値予測モードについて、上方の画素群２０２や左方の画素群２０３が参照不能な場合、参照不能な画素群を除いた画素群の平均値を算出する。例えば、情報の画素群２０２に参照不能であり、左方の画素群２０３が参照可能な場合には、左方の画素群２０３（Ｈ１、Ｈ２、Ｈ３、Ｈ４）の平均値を算出する。さらに、上方の画素群、左方の画素群共に参照不能な場合（すなわちフレーム内最も左上の処理ユニット）には、予め決められた値（１２８）をａｖｅとして与える。
【００１７】
図２（ｅ）は左斜め下方向の予測の様子を表す図であり、処理ユニット２０１に隣接する空間的に上方の画素群２０２（Ｖ２からＶ４）と右上方の画素群２０４（Ｖ５からＶ８）から左斜め方向の予測を行う。本予測を左斜め下予測（Ｄｉａｇｏｎａｌ＿Ｄｏｗｎ＿Ｌｅｆｔ）モードと呼び、予測モード番号を３とする。
図２（ｆ）は右斜め下方向の予測の様子を表す図であり、処理ユニット２０１に隣接する空間的に上方の画素群２０２（Ｖ１、Ｖ２）と斜め上の画素（Ｃ０）と左方の画素群２０３（Ｈ１、Ｈ２）から斜め方向の予測を行う。本予測を右斜め下予測（Ｄｉａｇｏｎａｌ＿Ｄｏｗｎ＿Ｒｉｇｈｔ）モードと呼び、予測モード番号を４とする。
図２（ｇ）は垂直右斜め方向の予測の様子を表す図であり、処理ユニット２０１に隣接する空間的に上方の画素群２０２（Ｖ１からＶ３）と斜め上の画素（Ｃ０）から斜め方向の予測を行う。本予測を垂直右斜め予測（Ｖｅｒｔｉｃａｌ＿Ｒｉｇｈｔ）モードと呼び、予測モード番号を５とする。
図２（ｈ）は水平斜め下方向の予測の様子を表す図であり、処理ユニット２０１に隣接する空間的に左方の画素群２０３（Ｈ１からＨ３）と斜め上の画素（Ｃ０）から斜め下方向の予測を行う。本予測を水平斜め下予測（Ｈｏｒｉｚｏｎｔａｌ＿Ｄｏｗｎ）モードと呼び、予測モード番号を６とする。
図２（ｉ）は垂直左斜め方向の予測の様子を表す図であり、処理ユニット２０１に隣接する空間的に上方の画素群２０２（Ｖ２からＶ４）と右上方の画素２０４（Ｖ５）から斜め方向の予測を行う。本予測を垂直左斜め予測（Ｖｅｒｔｉｃａｌ＿Ｌｅｆｔ）モードと呼び、予測モード番号を７とする。
図２（ｊ）は水平斜め上方向の予測の様子を表す図であり、処理ユニット２０１に隣接する空間的に左方の画素群２０３（Ｈ２からＨ４）と左下方の画素２０６（Ｈ５）から斜め上方向の予測を行う。本予測を水平斜め上予測（Ｈｏｒｉｚｏｎｔａｌ＿Ｕｐ）モードと呼び、予測モード番号を８とする。
【００１８】
さらに、図２（ａ）において、上方の画素群２０２や左方の画素群２０３が参照不能な場合、予め決められた固定値群から予測値を選択して予測を行う。本予測を固定値選択予測モードと呼び、予測モード番号を９とする。
【００１９】
イントラ予測モード決定部１０３では以上の１０種類のイントラ予測モードから最適なイントラ予測モードが決定され、イントラ予測モード符号化部１０４、変換・量子化部１０５に出力される。さらにイントラ予測モード符号化部１０４は、イントラ予測モードを、符号化済みの処理ユニットのイントラ予測のモードとして保持し、次以降の判定の際に参照される。また、周辺処理ユニット判定部１０７では下記の５つの処理ユニット参照の可否を１ビットの情報で表すこととする。
（１）上方画素群２０２を含む処理ユニット
（２）左方画素群２０３を含む処理ユニット
（３）左上方画素２０５を含む処理ユニット
（４）左下方画素２０６を含む処理ユニット
（５）右上方画素２０４を含む処理ユニット
また、処理ユニットが参照可能な場合は１を参照が不可能な場合を０とする。これらの１ビット上記の順に並べた５ビットの情報を参照可否情報とする。ただし、参照する処理ユニット、ビットの構成はこれに限定されない。
【００２０】
一方、イントラ予測モード符号化部１０４では、周辺処理ユニット判定部１０７の出力である参照可能情報を入力としてイントラ予測モード決定部１０３の出力であるイントラ予測モードを所定の方法で符号化し、イントラ予測モード符号化データを得る。
【００２１】
図３にイントラ予測モード符号化部１０４の詳細なブロック図を示す。
図３において、１３０は画像データを入力する端子であり、処理ユニット分割部１０２から処理ユニットの画素値が入力される。１３１は、復号画像保持部１０９から、周辺の処理ブロックの復号結果である参照画素の画素値を入力する端子である。
１３３から１４２はそれぞれイントラ予測を行う予測器であるが、それぞれ端子１３０から処理ユニットの画素値を、端子１３１から参照画素を入力し、周辺処理ユニット判定部１０７から周辺の処理ユニットの参照可否情報を入力する。
【００２２】
１３３は垂直予測を行うＶｅｒｔｉｃａｌ予測器である。参照可否情報の先頭の第１ビットが１であれば、垂直方向の予測を行い、予測誤差を生成する。そうでなければ動作せず、出力も生成しない。
１３４は水平予測を行うＨｏｒｉｚｏｎｔａｌ予測器である。参照可否情報の第２ビットが１であれば、水平方向の予測を行い、予測誤差を生成する。そうでなければ動作せず、出力も生成しない。
１３５は左斜め下方向の予測を行うＤｉａｇｏｎａｌ＿Ｄｏｗｎ＿Ｌｅｆｔ予測器である。参照可否情報の第１ビットと第５ビットがともに１であれば、左斜め下方向の予測を行い、予測誤差を生成する。そうでなければ動作せず、出力も生成しない。
１３６は右斜め下方向の予測を行うＤｉａｇｏｎａｌ＿Ｄｏｗｎ＿Ｒｉｇｈｔ予測器である。参照可否情報の第１ビット、第２ビット、第３ビットが全て１であれば、右斜め下方向の予測を行い、予測誤差を生成する。そうでなければ動作せず、出力も生成しない。
１３７は垂直右斜め方向の予測を行うＶｅｒｔｉｃａｌ＿Ｒｉｇｈｔ予測器である。参照可否情報の第１ビットと第３ビットがともに１であれば、垂直右斜め方向の予測を行い、予測誤差を生成する。そうでなければ動作せず、出力も生成しない。
１３８は水平斜め下方向の予測を行うＨｏｒｉｚｏｎｔａｌ＿Ｄｏｗｎ予測器である。参照可否情報の第２ビットと第３ビットがともに１であれば、水平斜め下方向の予測を行い、予測誤差を生成する。そうでなければ動作せず、出力も生成しない。
１３９は垂直左斜め方向の予測を行うＶｅｒｔｉｃａｌ＿Ｌｅｆｔ予測器である。参照可否情報の第１ビットと第５ビットがともに１であれば、直左斜め方向の予測を行い、予測誤差を生成する。そうでなければ動作せず、出力も生成しない。
１４０は水平斜め上方向の予測を行うＨｏｒｉｚｏｎｔａｌ＿Ｕｐ予測器である。参照可否情報の第２ビットと第４ビットがともに１であれば、水平斜め上方向の予測を行い、予測誤差を生成する。そうでなければ動作せず、出力も生成しない。
１４１は平均値予測を行う平均値予測器である。参照可否情報の第１ビット、第２ビットがともに１であれば、（１）式に従って平均値予測を行う。予測誤差を生成する。そうでなければ、固定値の１２８を出力する。
１４２は固定値選択予測を行う固定値選択予測器である。参照可否情報のいずれかのビットが０であれば、予め決められた固定値から予測誤差を最小とする固定値とその固定値に基づいて最小となった予測誤差を出力する。そうでなければ動作せず、なにも出力しない。
１４３は各予測器から出力された予測誤差の中からその絶対値和が最小となるものを選択し、最小となった予測器の予測モードとその最小予測誤差を出力する予測モード決定器である。ただし、決定に関しては絶対値和に限定されない。１４４はイントラ予測モード符号を図１のエントロピー符号化部１０６に出力する端子である。１４５は図１の変換・量子化部１０５に予測値を出力する端子である。
【００２３】
図４に固定値選択予測器１４２の詳細なブロック図を示す。１５０は端子であり、図１の周辺処理ユニット判定部１０７で算出された参照可否情報を入力する。１６７は端子であり、図３の端子１３０経由で入力された処理ユニットの画素値が入力される。
【００２４】
１５１から１６６は固定値を格納した固定値テーブルである。各固定値テーブルでは、参照可否情報に基づいて複数個の固定値を格納している。この固定値の個数は、所定の処理ユニットが参照できない場合に使用できない予測モードの数に対応している。すなわち、所定の処理ユニットが参照できない場合に使用を禁止されている予測モードに割り当てられるビットに対して、該予測モードに代えて、最小予測誤差を最小にできる可能性のある固定値を割り当てている。
【００２５】
固定値テーブル１５１は参照可否情報が１１１１０の時に使われる固定値を格納する。すなわち、右上方の処理ユニットが参照できない場合、２つの固定値を格納する。例えば、０、２５５のような値でも良い。この値はこれに限定されず、６４、１９２といった値でも構わない。
固定値テーブル１５２は参照可否情報が１１１０１の時に使われる固定値を格納する。すなわち、左方の処理ユニットが参照できない場合、１つの固定値を格納する。例えば、１２８のような値でも良い。
固定値テーブル１５３は参照可否情報が１１１００の時に使われる固定値を格納する。すなわち、右上方と左下方の処理ユニットが参照できない場合、３つの予測値を格納する。例えば、６４，１２８、１９２のような値でも良い。
固定値テーブル１５４は参照可否情報が１１０１１の時に使われる固定値を格納する。すなわち、左上方の処理ユニットが参照できない場合、３つの固定値を格納する。例えば、６４，１２８、１９２のような値でも良い。
固定値テーブル１５５は参照可否情報が１１０１０の時に使われる固定値を格納する。すなわち、左上方と右上方の処理ユニットが参照できない場合、５つの固定値を格納する。例えば、０、６４、１２８、１９２、２５５のような値でも良い。
固定値テーブル１５６は参照可否情報が１１００１の時に使われる固定値を格納する。すなわち、左上方と左下方の処理ユニットが参照できない場合、４つの固定値を格納する。例えば、０、８５、１７０、２５５のような値でも良い。
固定値テーブル１５７は参照可否情報が１１０００の時に使われる固定値を格納する。すなわち、左上方と左下方と右上方の処理ユニットが参照できない場合、６つの固定値を格納する。例えば、０、５１、１０２、１５３、２０４、２５５のような値でも良い。
固定値テーブル１５８は参照可否情報が１０１１１または１０１０１の時に使われる固定値を格納する。すなわち、左方の処理ユニットが参照できない場合、または左方と左下方の処理ユニットが参照できない場合、４つの固定値を格納する。例えば、０、８５、１７０、２５５のような値でも良い。
固定値テーブル１５９は参照可否情報が１０１１０または１０１００の時に使われる固定値を格納する。すなわち、左方と右上方の処理ユニットが参照できない場合、または左方と左下方と右上方の処理ユニットが参照できない場合、６つの固定値を格納する。例えば、０、５１、１０２、１５３、２０４、２５５のような値でも良い。
固定値テーブル１６０は参照可否情報が１００１１または１０００１の時に使われる固定値を格納する。すなわち、左方と左上方の処理ユニットが参照できない場合、または左方と左上方と左下方の処理ユニットが参照できない場合、５つの固定値を格納する。例えば、０、６４、１２８、１９２、２５５のような値でも良い。
固定値テーブル１６１は参照可否情報が１００１０または１００００の時に使われる固定値を格納する。すなわち、上方と左上方の処理ユニットまたは上方の処理ユニットのみ参照できる場合、または上方の処理ユニットのみが参照できる場合、７つの固定値を格納する。例えば、０、４３、８５、１２８、１７０、２１３、２５５のような値でも良い。
固定値テーブル１６２は参照可否情報が０１１１１または０１１１０の時に使われる固定値を格納する。すなわち、上方の処理ユニットが参照できない場合、または上方と右上方の処理ユニットが参照できない場合、５つの固定値を格納する。例えば、０、６４、１２８、１９２、２５５のような値でも良い。
固定値テーブル１６３は参照可否情報が０１１０１または０１１００の時に使われる固定値を格納する。すなわち、上方と左下方の処理ユニットが参照できない場合、または上方と左下方と右上方の処理ユニットが参照できない場合、６つの固定値を格納する。例えば、０、５１、１０２、１５３、２０４、２５５のような値でも良い。
固定値テーブル１６４は参照可否情報が０１０１１または０１０１０の時に使われる固定値を格納する。すなわち、上方と左上方の処理ユニットが参照できない場合、または上方と左上方と右上方の処理ユニットが参照できない場合、６つの固定値を格納する。例えば、０、５１、１０２、１５３、２０４、２５５のような値でも良い。
固定値テーブル１６５は参照可否情報が０１００１または０１０００の時に使われる固定値を格納する。すなわち、左方の処理ユニットのみを参照できる場合、または左方と右上方の処理ユニットのみを参照できる場合、７つの固定値を格納する。例えば、０、４３、８５、１２８、１７０、２１３、２５５のような値でも良い。
固定値テーブル１６６は参照可否情報が００１１１，００１１０，００１０１、００１００、０００１１、０００１０，００００１，０００００の時に使われる固定値を格納する。すなわち、上方と左方の処理ユニットの両方が参照できない場合、８つの固定値を格納する。例えば、０、３６、７３、１０９、１４６、１８２、２１９、２５５のような値でも良い。
【００２６】
なお、各固定値テーブルが格納可能な固定値の個数は、上述で示した数以下であってももちろん構わない。また、割り当てる固定値の数が同じものを同じ固定値テーブルとしても構わない。
【００２７】
１６８は端子１５０から入力される参照可否情報によって、入力先を選択するセレクタである。１６９は入力されたそれぞれの固定値に対して、端子１６７から入力される画素値を用いて予測誤差を算出する予測誤差算出器である。１７０はそれぞれの固定値に対する予測誤差から最小値を選択し、その予測値を出力する予測値決定器である。１７１は選択された予測値と予測誤差の最小値を図３の予測モード決定器１４５に出力する端子である。
【００２８】
以上の構成において、セレクタ１６８は端子１５０から入力された参照可否情報に基づいて入力先を選択する。例えば、端子１５０から参照可否情報１１００１が入力されたら、固定値テーブル１５６を選択する。
【００２９】
予測誤差算出器１６９は固定値Ｐｉ（ｉは各固定値テーブルによって異なる）と画素値Ｘ（ｘ，ｙ）（但し、ｘ＝０…３、ｙ＝０…３）から予測誤差Ｅｉを（２）式に従って算出する。
Ｅｉ（ｘ，ｙ）＝（Ｘ（ｘ，ｙ）−Ｐｉ）    （２）
上記の入力に対してｉは０から３になり、固定値Ｐ０＝０、Ｐ１＝８５、Ｐ２＝１７０、Ｐ３＝２５５となる。算出された予測誤差Ｅｉと対応する固定値Ｐｉは予測値決定器１７０に入力される。予測誤差Ｅｉ（ｘ，ｙ）から（３）式に従って、それぞれの絶対値和Ａｉを算出する。
Ａｉ＝ΣΣＥｉ（ｘ，ｙ）    （３）
このＡｉが最小値となる予測誤差Ｅｍｉｎ（ｘ，ｙ）と固定値Ｐｍｉｎを求める。この予測誤差Ｅｍｉｎ（ｘ，ｙ）と固定値Ｐｍｉｎが端子１７０を介して図３の予測モード決定器１４３に入力される。
【００３０】
図３に戻り、各予測器は周辺処理ユニット判定部１０７から入力された参照可否情報を参考にそれぞれの処理ユニット単位で動作・非動作を行い、それぞれの予測モードでの予測誤差を算出する。予測モード決定器１４３は動作する予測器から予測誤差を入力する。固定値選択予測器１４２からは予測誤差を算出した固定値も入力する。その後、各予測器から入力された予測誤差の絶対値和をそれぞれ算出し、絶対値和が最小となると予測誤差を決定する。その予測誤差を算出した予測器の予測モードをイントラ予測モードとして決定し、その予測モード番号をイントラ予測モード符号化部１０４に入力する。また、その際の予測誤差は端子１４５を介して、変換・量子化部１０５にも入力される。
【００３１】
図１に戻り、イントラ予測モード符号化部１０４は入力された予測モード番号を符号化する。イントラ予測モード符号化部１０４では符号化済みの周囲のイントラ予測モードから符号化処理する処理ユニットのイントラ予測モードを予測する。予測の結果が実際の処理ユニットのイントラ予測モードと一致した場合は１を、そうでなければ０を予測モードフラグとして符号化する。予測モードフラグが０であれば、符号化済みの周囲のイントラ予測モードと固定値選択予測モードを除いた所定種類のモードを３ビットで符号化する。
【００３２】
イントラ予測モードとして予測モード番号９が入力された、すなわち固定値選択予測が選択された場合、入力された固定値を符号化する。イントラ予測モード符号化部１０４は周辺処理ユニット判定部１０７から参照可否情報を取得する。取得された参照可否情報によって、使用されない予測モードが存在するので、それらのモード判定を行う。表１に各参照可否情報によって使用されない予測モード番号を示す。
【００３３】
【表１】
2012191295.tif 000003
【００３４】
これらの不使用の予測モード番号に対して、固定値をあてはめる。例えば、参照可否情報１１００１の場合、不使用の予測モード番号は４、５、６、８の４つとなる。使用される固定値テーブルは固定値テーブル１５６であり、４つの予測値を格納しており、これを順にあてはめる。本実施形態では予測値を０、８５、１７０、２５５とした。したがって、予測モード番号４に予測値０を、予測モード番号５に予測値８５を、予測モード番号６に予測値１７０を、予測モード番号８に予測値２５５をあてはめる。
【００３５】
このようにて得られた予測モード番号を上記の方法で３ビットに符号化する。符号化されたデータはエントロピー符号化部１０６に入力される。また、イントラ予測モード決定部１０３で算出された予測誤差は変換・量子化部１０５に入力される。
【００３６】
変換・量子化部１０５ではその予測誤差が変換・量子化される。量子化された係数データはエントロピー符号化部１０６で符号化された後、イントラ予測モード符号化部１０４で符号化されたイントラ予測モード符号化データとともにビットストリームとして出力される。
【００３７】
図５は、実施形態１に係る画像符号化装置における画像符号化処理を示すフローチャートである。まず、ステップＳ３０１にて、ブロック分割部１０１は、フレーム単位の入力画像をブロック単位（８画素×８画素）に分割する。
【００３８】
ステップＳ３０２にて、処理ユニット分割部１０２はブロック分割部１０１にて分割されたそれぞれのブロックに対して、該ブロックと同一もしくは小さい大きさの処理ユニット（４画素×４画素）に分割する。
ステップＳ３０３にて、イントラ予測モード決定部１０３は、符号化対象の処理ユニットのイントラ予測モードの決定と符号化対象の処理ユニットの予測誤差の算出を行う。決定されたイントラ予測モードは保持される。また、イントラ予測モード符号化部１０４はイントラ予測モード決定部１０３で決定された予測モードの符号化を行う。本処理に関しての詳細は後述する。
ステップＳ３０４にて、変換・量子化部１０５は、入力された予測誤差の変換・量子化を行う。
【００３９】
次にステップＳ３０５にて、エントロピー符号化部１０６において、量子化された係数をエントロピー符号化し、イントラ予測モードの符号とともに出力する。また、同時に逆量子化・逆変換部１０８にて逆量子化、逆変換を行い、復号画像保持部１０９において保持し、以降の処理ユニットの予測に用いる。
【００４０】
ステップＳ３０６において、画像符号化装置は、ブロック内の全ての処理ユニットの符号化が終了したか否かの判定を行い、終了していればステップＳ３０７に進み、終了していなければ次の処理ユニットを対象としてステップＳ３０２に戻る。
ステップＳ３０７にて、画像符号化装置は、フレーム内の全てのブロックの符号化が終了したか否かの判定を行い、終了していれば全ての動作を停止して処理を終了し、そうでなければ次のブロックを対象としてステップＳ３０１に戻る。
【００４１】
図６はステップＳ３０３の詳細な処理を示すフローチャートである。まず、周辺処理ユニット判定部１０７は、ステップＳ４０１〜Ｓ４０３、Ｓ４４０〜Ｓ４５２で符号化対象の処理ユニットの周辺の所定の処理ユニットが参照可能か否かの判定を行う。
【００４２】
具体的にはステップＳ４０１において、符号化対象の処理ユニットの上方に存在する処理ユニットが参照可能か否かを判定し、参照可能な場合にはステップＳ４０２に進み、参照不可能の場合にはステップＳ４０３に進む。
ステップＳ４０２において、符号化対象の処理ユニットの左方に存在する処理ユニットが参照可能か否かを判定し、参照可能な場合にはステップＳ４４０に進み、参照不可能な場合にはステップＳ４４１に進む。
ステップＳ４０３においても、符号化する処理ユニットの左方に存在する処理ユニットが参照可能か否かを判定し、参照可能な場合にはステップＳ４４２に進み、参照不可能の場合にはステップＳ４１２に進む。
ステップＳ４４０、Ｓ４４１、Ｓ４４２において、符号化対象の処理ユニットの左上方に存在する処理ユニットが参照可能か否かを判定する。ステップＳ４４０では参照可能な場合にはステップＳ４４３に進み、参照不可能な場合にはステップＳ４４４に進む。ステップＳ４４１では参照可能な場合にはステップＳ４５１に進み、参照不可能な場合にはステップＳ４５２に進む。ステップＳ４４２では参照可能な場合にはステップＳ４４５に進み、参照不可能な場合にはステップＳ４４６に進む。
ステップＳ４４３、Ｓ４４４において、符号化対象の処理ユニットの左下方に存在する処理ユニットが参照可能か否かを判定する。ステップＳ４４３では参照可能な場合にはステップＳ４４７に進み、参照不可能な場合にはステップＳ４４８に進む。ステップＳ４４４では参照可能な場合にはステップＳ４４９に進み、参照不可能な場合にはステップＳ４５０に進む。
ステップＳ４４５〜Ｓ４５２において、符号化対象の処理ユニットの右上方に存在する処理ユニットが参照可能か否かを判定する。
ステップＳ４４５では参照可能な場合にはステップＳ４８６に進み、参照不可能な場合にはステップＳ４８９に進む。ステップＳ４４６では参照可能な場合にはステップＳ４９２に進み、参照不可能な場合にはステップＳ４９５に進む。ステップＳ４４７では参照可能な場合にはステップＳ４０４に進み、参照不可能な場合にはステップＳ４５３に進む。ステップＳ４４８では参照可能な場合にはステップＳ４５６に進み、参照不可能な場合にはステップＳ４５９に進む。ステップＳ４４９では参照可能な場合にはステップＳ４６２に進み、参照不可能な場合にはステップＳ４６５に進む。ステップＳ４５０では参照可能な場合にはステップＳ４６８に進み、参照不可能な場合にはステップＳ４７１に進む。ステップＳ４５１では参照可能な場合にはステップＳ４７４に進み、参照不可能な場合にはステップＳ４７７に進む。ステップＳ４５２では参照可能な場合にはステップＳ４８０に進み、参照不可能な場合にはステップＳ４８３に進む。
ステップＳ４０４において、周辺処理ユニットのいずれも参照可能なため、固定値選択予測モードを除く全てのイントラ予測モード（平均値予測モードと８方向の予測モード）の中から当該処理ユニットの最適なイントラ予測モードを決定する。最適なイントラ予測モードの決定方法に関しては、前述の通り、それぞれのイントラ予測モードについて予測誤差を計算し、最も予測誤差の小さい予測値を生成したモードに決定することが一般的であるが、これに限定されない。
ステップＳ４０５において、イントラ予測モード符号化部１０４は決定されたイントラ予測モード情報を前述の通り、１ビットの予測モードフラグとイントラ予測モードを表す３ビットに符号化する。
ステップＳ４５３では、参照可否情報は上方、左方、左上方、左下方の処理ユニットが参照可能で右上方処理ユニットが参照不可能な場合である。この場合、左斜め下予測モードと垂直左斜め予測モードは使用できない。これら以外の予測モードを用いてそれぞれの予測誤差を算出する。
ステップＳ４５４において、イントラ予測モード決定部１０３は、この状況で選択可能な６方向のイントラ予測モードと平均値予測モードと固定値選択予測モードによって算出された予測誤差から予測誤差を最小にするイントラ予測モードを選択する。
ステップＳ４５６では、参照可否情報は上方、左方、左上方、右上方の処理ユニットが参照可能で左下方処理ユニットが参照不可能な場合である。この場合、水平斜め上予測モードは使用できない。これ以外の予測モードを用いてそれぞれの予測誤差を算出する。
ステップＳ４５７において、イントラ予測モード決定部１０３は、この状況で選択可能な７方向のイントラ予測モードと平均値予測モードと固定値選択予測モードによって算出された予測誤差から予測誤差を最小にするイントラ予測モードを選択する。
ステップＳ４５９では、参照可否情報は上方、左方、左上方の処理ユニットが参照可能で左下方処理ユニットと右上方処理ユニットが参照不可能な場合である。この場合、左斜め下予測モード、垂直左斜め予測モード、水平斜め上予測モードは使用できない。これら以外の予測モードを用いてそれぞれの予測誤差を算出する。
ステップＳ４６０において、イントラ予測モード決定部１０３は、この状況で選択可能な５方向のイントラ予測モードと平均値予測モードと固定値選択予測モードによって算出された予測誤差から予測誤差を最小にするイントラ予測モードを選択する。
ステップＳ４６２では、参照可否情報は上方、左方、左下方、右上方の処理ユニットが参照可能で左上方処理ユニットが参照不可能な場合である。この場合、右斜め下予測モード、垂直右斜め予測モード、水平斜め下予測モードは使用できない。これら以外の予測モードを用いてそれぞれの予測誤差を算出する。
ステップＳ４６３において、イントラ予測モード決定部１０３は、この状況で選択可能な５方向のイントラ予測モードと平均値予測モードと固定値選択予測モードによって算出された予測誤差から予測誤差を最小にするイントラ予測モードを選択する。
ステップＳ４６５では、参照可否情報は上方、左方、左上方の処理ユニットが参照可能で左下方、右上方の処理ユニットが参照不可能な場合である。この場合、左斜め下予測モード、右斜め下予測モード、垂直右斜め予測モード、水平斜め下予測モード、垂直左斜め予測モードは使用できない。これら以外の予測モードを用いてそれぞれの予測誤差を算出する。
ステップＳ４６６において、イントラ予測モード決定部１０３は、この状況で選択可能な３方向のイントラ予測モードと平均値予測モードと固定値選択予測モードによって算出された予測誤差から予測誤差を最小にするイントラ予測モードを選択する。
ステップＳ４６８では、参照可否情報は上方、左方、右上方の処理ユニットが参照可能で左上方、左下方処理ユニットが参照不可能な場合である。この場合、右斜め下予測モード、垂直右斜め予測モード、水平斜め下予測モード、水平斜め上予測モードは使用できない。これ以外の予測モードを用いてそれぞれの予測誤差を算出する。
ステップＳ４６９において、イントラ予測モード決定部１０３は、この状況で選択可能な４方向のイントラ予測モードと平均値予測モードと固定値選択予測モードによって算出された予測誤差から予測誤差を最小にするイントラ予測モードを選択する。
ステップＳ４７１では、参照可否情報は上方、左方の処理ユニットが参照可能で左上方、左下方、右上方処理ユニットが参照不可能な場合である。この場合、垂直予測モード、水平予測モードのみが使用できる。これらの予測モードを用いてそれぞれの予測誤差を算出する。
ステップＳ４７２において、イントラ予測モード決定部１０３は、この状況で選択可能な２方向のイントラ予測モードと平均値予測モードと固定値選択予測モードによって算出された予測誤差から予測誤差を最小にするイントラ予測モードを選択する。
ステップＳ４７４では、参照可否情報は上方、左上方、右上方の処理ユニットが参照可能で左方処理ユニットが参照不可能な場合である。この場合、水平予測モード、右斜め下予測モード、水平斜め下予測モード、水平斜め上予測モードは使用できない。これ以外の予測モードを用いてそれぞれの予測誤差を算出する。
ステップＳ４７５において、イントラ予測モード決定部１０３は、この状況で選択可能な４方向のイントラ予測モードと平均値予測モードと固定値選択予測モードによって算出された予測誤差から予測誤差を最小にするイントラ予測モードを選択する。
ステップＳ４７７では、参照可否情報は上方、左上方の処理ユニットが参照可能で左方、右上方処理ユニットが参照不可能な場合である。この場合、垂直予測モードと垂直右斜め予測モードのみが使用できる。これらの予測モードを用いてそれぞれの予測誤差を算出する。
ステップＳ４７８において、イントラ予測モード決定部１０３は、この状況で選択可能な２方向のイントラ予測モードと平均値予測モードと固定値選択予測モードによって算出された予測誤差から予測誤差を最小にするイントラ予測モードを選択する。
ステップＳ４８０では、参照可否情報は上方、右上方の処理ユニットが参照可能で左方、左上方処理ユニットが参照不可能な場合である。この場合、垂直予測モード、左斜め下予測モード、垂直左斜め予測モードが使用できる。これらの予測モードを用いてそれぞれの予測誤差を算出する。
ステップＳ４８１において、イントラ予測モード決定部１０３は、この状況で選択可能な３方向のイントラ予測モードと平均値予測モードと固定値選択予測モードによって算出された予測誤差から予測誤差を最小にするイントラ予測モードを選択する。
ステップＳ４８３では、参照可否情報は上方処理ユニットが参照可能で左方、左上方、右上方処理ユニットが参照不可能な場合である。この場合、垂直予測モードのみが使用できる。この予測モードを用いてそれぞれの予測誤差を算出する。
ステップＳ４８４において、イントラ予測モード決定部１０３は、この状況で選択可能な垂直方向のイントラ予測モードと平均値予測モードと固定値選択予測モードによって算出された予測誤差から予測誤差を最小にするイントラ予測モードを選択する。
ステップＳ４８６では、参照可否情報は左方、左上方、左下方の処理ユニットが参照可能で上方処理ユニットが参照不可能な場合である。この場合、水平予測モード、水平斜め下予測モード、水平斜め上予測モードが使用できる。これらの予測モードを用いてそれぞれの予測誤差を算出する。
ステップＳ４８７において、イントラ予測モード決定部１０３は、この状況で選択可能な３方向のイントラ予測モードと平均値予測モードと固定値選択予測モードによって算出された予測誤差から予測誤差を最小にするイントラ予測モードを選択する。
ステップＳ４８９では、参照可否情報は左方、左上方の処理ユニットが参照可能で上方、左下方処理ユニットが参照不可能な場合である。この場合、水平予測モード、水平斜め下予測モードのみが使用できる。これらの予測モードを用いてそれぞれの予測誤差を算出する。
ステップＳ４９０において、イントラ予測モード決定部１０３は、この状況で選択可能な２方向のイントラ予測モードと平均値予測モードと固定値選択予測モードによって算出された予測誤差から予測誤差を最小にするイントラ予測モードを選択する。
ステップＳ４９２では、参照可否情報は左方、左下方の処理ユニットが参照可能で上方、左上方処理ユニットが参照不可能な場合である。この場合、水平予測モードと水平斜め上予測モードのみが使用できる。これ以外の予測モードを用いてそれぞれの予測誤差を算出する。
ステップＳ４９３において、イントラ予測モード決定部１０３は、この状況で選択可能な２方向のイントラ予測モードと平均値予測モードと固定値選択予測モードによって算出された予測誤差から予測誤差を最小にするイントラ予測モードを選択する。
ステップＳ４９５では、参照可否情報は左方の処理ユニットが参照可能で上方、左上方、左下方処理ユニットが参照不可能な場合である。この場合、水平予測モードのみが使用できる。この予測モードを用いてそれぞれの予測誤差を算出する。
ステップＳ４９６において、イントラ予測モード決定部１０３は、この状況で選択可能な水平方向のイントラ予測モードと平均値予測モードと固定値選択予測モードによって算出された予測誤差から予測誤差を最小にするイントラ予測モードを選択する。
ステップＳ４１２では、参照可否情報は周囲の処理ユニットの全てが参照不可能な場合である。この場合、予測値を１２８とする平均値予測モードか固定値選択予測モードを用いてそれぞれの予測誤差を算出する。
ステップＳ４１３において、イントラ予測モード決定部１０３は、この状況で前述の平均値予測モードと固定値選択予測モードによって算出された予測誤差から予測誤差を最小にするイントラ予測モードを選択する。
ステップＳ４５５、Ｓ４５８、Ｓ４６１、Ｓ４６４、Ｓ４６７、Ｓ４７０、Ｓ４７３、Ｓ４７６、Ｓ４７９、Ｓ４８２、Ｓ４８５、Ｓ４８８、Ｓ４９１、Ｓ４９４、Ｓ４９７、Ｓ４１４において、イントラ予測モードを符号化する。イントラ予測モード符号化部１０４は、固定値選択予測モード以外の場合にはその予測モード番号を符号化する。固定値選択予測モードの場合は使用不可能な予測モード番号にぞれぞれの予測値を割り当てて符号化する。
【００４３】
以上により、特にステップＳ４５３からステップＳ４９７とステップＳ４１２からステップＳ４１４の処理により、使用しないイントラ予測モードの代わりに固定値を選択して符号化することにより、イントラ予測において予測誤差を大きく抑制することができる。
【００４４】
なお、本実施形態においては、イントラ予測のみを用いるフレームを例にとって説明したが、インター予測を使用できるフレームにおいても対応できることは明らかである。さらに、本実施形態では説明のために分割ブロックを８画素×８画素、処理ユニットを４画素×４画素としたが、これに限定されない。例えば１６画素×１６画素等のブロックサイズへの変更が可能であり、また、ブロックの形状も正方形に限定されず、８画素×４画素などの長方形で発明の本質は変わらない。また、予測を４画素×４画素の場合のみ説明したが、ブロックを分割しない場合、８画素×８画素で予測を行っても、周囲のブロックの状態から同様に固定値選択予測を行えることは明らかである。
【００４５】
また、本実施形態ではぞれぞれの周囲ユニットで対象処理ユニットに隣接乃至は斜めに接している画素を参照したが、これに限定されない。例えば上方処理ユニット画素の内、処理ユニット２０１に隣接する上方画素群２０２のみを参照したがこれに限定されず、上方処理ユニットの他の画素を参照してももちろん構わない。
【００４６】
また、本実施形態では上方画素群２０２、左方画素群２０３、右上方画素群２０４、右上画素２０５、左下画素２０６を参照してイントラモード予測を行ったが、これに限定されない。また、予測モードもこれに限定されない本実施形態では４５度の角度によって予測を行ったがこれに限定されず、例えば１５度単位の角度によって方向を増やしても構わない。また、本実施形態では符号についてビットの割り当てを行ったが、これに限定されず、前に処理した処理ユニットの予測モード等を参照しての符号化や、算術符号を用いての符号化を行っても構わない。
【００４７】
また、参照の可否の判定の順はこれに限定されず、左方処理ユニットの参照の可否から判定しても構わない。また、ブロックサイズや形状及び予測の方向はこれに限定されない。また、本実施形態では不使用の全てのイントラ予測モード番号に予測値を割り当てたが、これに限定されず、不使用のイントラ予測モード番号が残っていても構わない。さらには他の用途にこれらの不使用のイントラ予測モード番号を割り当てても構わない。
【００４８】
＜実施形態２＞
実施形態１のステップＳ３０３においては、上方画素群２０２、左方画素群２０３、右上方画素群２０４、右上画素２０５、左下画素２０６の全てについて条件分岐を行い、符号化を行った。本実施形態では条件分岐を省略した場合について説明する。
【００４９】
図７は、図５のステップＳ３０３の実施形態２における詳細な処理を示すフローチャートある。図７において実施形態１の図６と同様の機能を果たす部分に関しては同じ番号を付与し、説明を省略する。
【００５０】
ステップＳ５０１からＳ５０６において、符号化対象の処理ユニットの左下方処理ユニットと右上処理ユニットが参照可能か否かを判定する。
ステップＳ５０１において、両方とも参照可能な場合にはステップＳ４０４に進み、いずれか一方でも参照不可能の場合にはステップＳ４５９に進む。ステップＳ５０２において、両方とも参照可能な場合にはステップＳ４６２に進み、いずれか一方でも参照不可能の場合にはステップＳ４７１に進む。ステップＳ５０３において、両方とも参照可能な場合にはステップＳ４７４に進み、いずれか一方でも参照不可能の場合にはステップＳ４７７に進む。ステップＳ５０４において、両方とも参照可能な場合にはステップＳ４６０に進み、いずれか一方でも参照不可能の場合にはステップＳ４８３に進む。ステップＳ５０５において、両方とも参照可能な場合にはステップＳ４８６に進み、いずれか一方でも参照不可能の場合にはステップＳ４８９に進む。ステップＳ５０６において、両方とも参照可能な場合にはステップＳ４９２に進み、いずれか一方でも参照不可能の場合にはステップＳ４９５に進む。ステップＳ４５９では実施形態１と同様に左下方処理ユニットと右上処理ユニットが両方とも参照できないとして予測を行う。すなわち、左斜め下予測モード、垂直左斜め予測モード、水平斜め上予測モードは使用できない。これら以外の予測モードを用いてそれぞれの予測誤差を算出する。
【００５１】
同様にステップＳ４７１、Ｓ４７７、Ｓ４８３、Ｓ４８９、Ｓ４９５において、左下方処理ユニットと右上処理ユニットが両方とも参照できないとして予測を行う。また、図４のセレクタ１６８は実施形態１と同様に参照可否情報によって入力先を選択する。参照可否情報の上位３ビットが１１１で下位２ビットいずれかが０であれば固定値テーブル１５３からの入力を選択する。
【００５２】
参照可否情報の上位３ビットが１１０で下位ビットが１１であれば固定値テーブル１５４からの入力を選択する。下位２ビットいずれかが０であれば固定値テーブル１５７からの入力を選択する。参照可否情報の上位３ビットが１０１で下位ビットが１１であれば固定値テーブル１５８からの入力を選択する。下位２ビットいずれかが０であれば固定値テーブル１５９からの入力を選択する。参照可否情報の上位３ビットが１００で下位ビットが１１であれば固定値テーブル１６０からの入力を選択する。下位２ビットいずれかが０であれば固定値テーブル１６１からの入力を選択する。参照可否情報の上位３ビットが０１１で下位ビットが１１であれば固定値テーブル１６２からの入力を選択する。下位２ビットいずれかが０であれば固定値テーブル１６３からの入力を選択する。参照可否情報の上位３ビットが０１０で下位ビットが１１であれば固定値テーブル１６４からの入力を選択する。下位２ビットいずれかが０であれば固定値テーブル１６５からの入力を選択する。参照可否情報の上位３ビットが０００であれば固定値テーブル１６６からの入力を選択する。従って、固定値テーブルについても固定値テーブル１５１、１５２、１５５、１５６は使用しない。
【００５３】
以上の構成と動作により、発生頻度が少ない画素群の参照情報をまとめることで、分岐の回数を削減でき演算量を抑えるとともに、固定値を格納しておくメモリ等の容量を削減する効果がある。
【００５４】
＜実施形態３＞
図８は本実施形態の画像符号化装置を示すブロック図である。図８において、実施形態１の図１と同様の機能を果たす部分に関しては同じ番号を付与し、説明を省略する。
【００５５】
２００は画像解析部であり、入力される画像を解析し、固定値選択予測を行う際の固定値を算出する。本実施形態では処理ユニット単位で処理ユニット内の平均値を算出し、解析するものとして説明を行うがこれに限定されない。２０３はイントラ予測モード決定部である。実施形態１のイントラ予測モード決定部１０３とは画像解析部２００の出力を入力することが異なる。２０６は固定値符号化部であり、画像解析部２００で算出された固定値を符号化する。
【００５６】
画像解析部２００は入力されるフレームデータを入力し、処理ユニット単位の平均値を算出する。画像解析部２００では各処理ユニットの平均値を算出すると同時に当該の処理ユニットの参照可否情報を算出する。
【００５７】
参照可否情報ごとに平均値のヒストグラムを生成する。例えば、参照可否情報が１１１１０であれば、算出された平均値のヒストグラムＨｉｓｔ＿１１１１０を生成する。また、参照可否情報の上位２ビットが００であれば、算出された平均値のヒストグラムＨｉｓｔ＿００を生成する。これは下位３ビットが変わっても固定値テーブル１６６を使用するからである。
【００５８】
その他、参照可否情報に基づいて固定値テーブルに対応して算出された平均値のヒストグラムを作成する。１フレーム分の処理ユニットの平均値の算出が終了し、各ヒストグラムが生成できたら、表１に従って、各不使用の予測モード番号の数の固定値を算出する。例えば、参照可否情報が１１００１であれば、４つの固定値を算出する。固定値の算出方法は特に限定しないが、ヒストグラムの中で極大値で頻度が高いものから４つ選択するとか、極大値が多い場合には値の近い極大値の平均値を選択するとかして決定する。
各参照可否情報で選択に用いられる固定値が算出できたら、イントラ予測モード決定部２０３と固定値符号化部２０６に出力する。
【００５９】
図９にイントラ予測モード決定部２０３の詳細なブロック図を示す。図９において、実施形態１の図４と同様の機能を果たす部分に関しては同じ番号を付与し、説明を省略する。
【００６０】
２５０は端子であり、画像解析部２００から予測値を入力する２５１はセレクタであり、端子１５０から入力される参照可否情報によって出力先を選択する。上記の構造において、端子１５０から順に参照可否情報が入力される。端子２５０から入力された固定値は参照可否情報に従って、各固定値テーブルに格納される。例えば、参照可否情報が１１００１であれば、固定値テーブル１５６を選択する。そして、４つの予測値が固定値テーブルに１５６に格納される。符号化時において、実施形態１とは読みだされる予測値があらかじめ決められた固定値ではないことが異なる。
【００６１】
図８に戻り、エントロピー符号化部２０６は画像解析部２００から入力された各予測値を符号化する。符号化方法は特に限定しない。そのまま値を送っても構わないし、小さいデータから差分を送っても構わない。符号化された各参照可否情報の固定値は外部に出力される。
【００６２】
図１０は、実施形態３に係る画像符号化装置における画像符号化処理を示すフローチャートである。図１０において、実施形態１の図５と同様の機能を果たす部分に関しては同じ番号を付与し、説明を省略する。
【００６３】
ステップＳ１３０１において、スライスやフレームの端部にあたる処理ユニットの平均値を算出し、ヒストグラムを生成する。
ステップＳ１３０２において、算出されたヒストグラムから固定値選択予測で用いる各参照可否情報に対応して選択される固定値を算出する。
ステップＳ１３０３において、算出された各固定値をイントラ予測モード決定部２０３の固定値テーブルに格納する。以下、実施形態１と同様に符号化を行う。
ステップＳ１３０４において各固定値選択予測モードで用いる固定値を符号化して出力する。
【００６４】
複数の参照可否情報をまとめて固定値テーブルに記録する固定値を算出したがこれに限定されない。例えば、参照可否情報毎にヒストグラムを生成して、固定値テーブル内に参照可否情報に従って固定値を記録しておき、固定値テーブルから参照可否情報に従って固定値を読み出しても構わない。例えば、固定値テーブル１６６に格納される固定値はヒストグラムＨｉｓｔ＿００から産出されるが、下位の３ビットに従って、８つのヒストグラムを生成して、それぞれ固定値を求めても良い。それぞれの固定値で個別に固定値テーブルを作成しても構わない。
【００６５】
なお、本実施形態では入力前の画面データから統計的に固定値を算出したがこれに限定されない。例えば前のフレームの復号画像から統計的に予測値を算出しても構わない。
また、画像データの１フレーム単位で予測値を決定して符号化したが、これに限定されず、スライスなどの領域を設定して領域ごとに予測値を決定し、符号化してももちろん構わない。
【００６６】
また、本実施形態において、固定値テーブルの全ての固定値を算出したが、これに限定されず、一部または全ての固定値が画像解析部２００の結果に依存しない固定値であっても構わない。
【００６７】
また、本実施形態において、算出した固定値を全て符号化する方法について述べたが、これに限定されない。例えば、画像全体の平均値を画像解析部２００で算出し、これをオフセット値として符号化して伝送し、オフセット値に対する線形または非線形な間隔を符号化側・復号側で定義しておき、各固定値を算出しても構わない。例えば、オフセット値として１００を送り、不使用の予測モードが５つあれば、０と２５５と１００を基本値としてその間の２／３の値、すなわち、６６と１５３を計算によって算出しても構わない。この場合、予測値の全てを送らず、オフセット値のみを符号化して送るので、符号量を減じることができる。
【００６８】
＜実施形態４＞
図１１は本実施形態の動画像を符号化する画像符号化装置を示すブロック図である。図１１において、実施形態３の図８と同様の機能を果たす部分に関しては同じ番号を付与し、説明を省略する。
図１１において、２０１は画像解析部であり、フレーム単位で符号化された処理ユニットの復号画素の平均値を参照可否情報毎に保持し、１フレームを行うたびに固定値を算出する。２１３はイントラ予測モード決定部であり、画像解析部２０１から出力される予測値で固定値テーブルを更新する。
符号化の際に、符号化対象ユニットのイントラ予測モードがイントラ予測モード決定部２１３で決定され、逆量子化・逆変換部１０８で復号画像を生成することができる。
【００６９】
画像解析部２０１は該当する符号化対象処理ユニットの復号画像から処理ユニット内の平均値を算出する。実施形態３と同様に算出された平均値を参照可否情報によってヒストグラムを生成する。前のフレームの符号化が終了したら、実施形態３と同様に予測値を算出する
イントラ予測モード決定部２０３の詳細なブロック図は図９に示した構造と同じである。算出された固定値はイントラ予測モード決定部２１３に入力され、各固定値テーブルに格納される。
【００７０】
以上の構成と動作により、予測値を前のフレームの復号画像から産出することにより、固定値よりも予測誤差を抑えることができ、符号化効率を向上させる効果がある。また、前のフレームの画素データを使用することにより、遅延を最小限に抑えることができる。また、固定値の決定方法をヒストグラムからの決定としたが、方法を復号側と同じにすることで、固定値の符号化を行わないことも可能である。また、処理ユニット毎に平均値の算出を行ったが、逆変換前のＤＣ成分を用いてももちろん構わない。
【００７１】
＜実施形態５＞
図１２は本実施形態の画像符号化装置を示すブロック図である。図１２において、実施形態３の図８と同様の機能を果たす部分に関しては同じ番号を付与し、説明を省略する。
図１２において、２２３はイントラ予測モード決定部であり、逆量子化・逆変換部１０８から出力される符号化対象処理ユニットの平均値によって、当該処理ユニットの参照可否情報によって選択された固定値テーブルの１つの値を更新する。
符号化の際に、符号化対象ユニットの予測誤差がイントラ予測モード決定部２２３で算出され、変換・量子化部１０５に入力される。また、イントラ予測モードはイントラ予測モード符号化部１０４に入力される。予測誤差は変換・量子化部１０５で変換され、量子化されて逆量子化・逆変換部１０８に入力される。逆量子化・逆変換部１０８では入力に対して逆量子化、逆変換を行い、復号画像を生成する。この時、直交変換のＤＣ成分は平均値を表している。このＤＣ成分を平均値としてイントラ予測モード決定部２２３に入力する。
【００７２】
イントラ予測モード決定部２２３の詳細なブロック図は図９に示した構造と同じである。固定値テーブル１５１から１６６において、本実施形態においては不使用イントラ予測モード番号の数から１少ない数の固定値が予め格納されており、残りの１つが求められた平均値で更新されることが実施形態３と異なる点である。例えば、参照可否情報が１１００１であれば、４つの固定値を用いることができる。このうち３つを０、１２８、２５５といった値に割り当て、残りの１つを端子２５０から入力される平均値によって更新する。
イントラ予測モード符号化部１０４では不使用のイントラ予測番号の若い（小さい）ものに更新される予測値を割り当てる。例えば、参照可否情報が１１００１であれば、不使用のイントラ予測番号は４、５、６、８であるが、不使用のイントラ予測番号４に更新される平均値を割り当てる。それ以外の不使用のイントラ予測番号５に０、６に１２８、８に２５５を割り当てる。
【００７３】
以上の構成と動作により、予測値を符号化された平均値を用いることにより、固定値よりも予測誤差を抑えることができ、符号化効率を向上させる効果がある。直前の復号画像の平均値を予測値に用いることにより、同じイントラ予測モードが連続する場合、相関の高い予測値を更新によって常に使用することでより一層の符号化効率の改善が行える効果がある。
【００７４】
また、本実施形態では求められた直前の平均値を同じ参照可否情報単位で予測値として更新したが、これに限定されない。例えば、直前に算出した平均値を全ての参照可否情報で用いても構わない。すなわち、参照可否情報に関係なく逆量子化・逆変換部１０８から主力される直前に算出された平均値を用いても構わない。
【００７５】
また、平均値を固定値予測の値の１つとしたが、これに限定されず、複数、例えば２つの固定値を更新するようにしてももちろん構わない。例えば、直前の平均値とその１つ前の平均値で更新しても構わない。
【００７６】
さらには、図１１の構成をとって、直前の平均値ではなく、同じ参照可否情報を持つ処理ユニットの平均値の平均を画像解析部２０１で生成して固定値予測の予測値として処理ユニット単位で更新しても構わない。
【００７７】
＜実施形態６＞
図１３は、本発明の実施形態５に係る画像復号装置の構成を示すブロック図である。本実施形態では、実施形態１で生成された符号化データの復号を例にとって説明する。
図１３において、８０１は入力ストリームからブロック単位の情報を復号するブロック復号部である。ブロック復号部８０１はその復号処理において、各処理ブロック位置の把握を容易に行える。また、前記処理ブロック位置情報の出力も行う。８０２は、ブロック復号部８０１でブロック復号された各ブロック内に存在する処理ユニット単位の情報や係数を復号するエントロピー復号部である。８０３は復号によって得られた量子化された係数値を逆量子化し、逆変換して予測誤差を再生する逆量子化・逆変換部である。８０４は各処理ユニットにおいてイントラ予測モードを復号し、予測値を生成するイントラ予測モード復号部である。８０５は逆量子化・逆変換部８０３から得られた予測誤差とイントラ予測モード復号部８０４で得られた予測値から復号画素データを再構成する画素データ再構成部である。８０７は復号対象の処理ユニットの周辺の所定の処理ユニットが参照可能か否かを判定する周辺処理ユニット判定部である。
【００７８】
図１４にイントラ予測モード復号部８０４の詳細なブロック図を示す。９０１は端子であり、画素データ再構成部８０５から復号する処理ユニットの周囲の復号済み参照画素を入力する。９０２は端子であり、エントロピー復号部８０２からイントラ予測モードの符号データを入力する。９０３は端子であり、周辺処理ユニット判定部８０７から参照可否情報を入力する。
【００７９】
９０４は参照可否情報とイントラ予測モードの符号データを入力して、イントラ予測モードを復号するイントラ予測モード復号器である。固定値選択予測モードは参照可否情報によって、不使用となるイントラ予測番号が入力された時点で判別される。この時、イントラ予測モード復号器９０４は復号されたイントラ予測番号を出力する。
９０５は垂直予測を行うＶｅｒｔｉｃａｌ予測器である。イントラ予測モード復号器９０４で垂直予測モードと復号された場合にのみ動作する。端子９０１から参照画素を入力し、垂直方向の予測を行い、予測値を生成する。そうでなければ動作せず、出力も生成しない。
９０６は水平予測を行うＨｏｒｉｚｏｎｔａｌ予測器である。イントラ予測モード復号器９０４で垂直予測モードと復号された場合にのみ動作する。端子９０１から参照画素を入力し、水平方向の予測を行い、予測値を生成する。そうでなければ動作せず、出力も生成しない。
９０７は左斜め下方向の予測を行うＤｉａｇｏｎａｌ＿Ｄｏｗｎ＿Ｌｅｆｔ予測器である。イントラ予測モード復号器９０４では左斜め下方向予測モードと復号された場合にのみ動作する。端子９０１から参照画素を入力し、左斜め下方向の予測を行い、予測値を生成する。そうでなければ動作せず、出力も生成しない。
９０８は右斜め下方向の予測を行うＤｉａｇｏｎａｌ＿Ｄｏｗｎ＿Ｒｉｇｈｔ予測器である。イントラ予測モード復号器９０４で右斜め下予測モードと復号された場合にのみ動作する。端子９０１から参照画素を入力し、右斜め下方向の予測を行い、予測値を生成する。そうでなければ動作せず、出力も生成しない。
９０９は垂直右斜め方向の予測を行うＶｅｒｔｉｃａｌ＿Ｒｉｇｈｔ予測器である。イントラ予測モード復号器９０４で垂直右斜め予測モードと復号された場合にのみ動作する。端子９０１から参照画素を入力し、垂直右斜め方向の予測を行い、予測値を生成する。そうでなければ動作せず、出力も生成しない。
９１０は水平斜め下方向の予測を行うＨｏｒｉｚｏｎｔａｌ＿Ｄｏｗｎ予測器である。イントラ予測モード復号器９０４で水平斜め下予測モードと復号された場合にのみ動作する。端子９０１から参照画素を入力し、水平斜め下方向の予測を行い、予測値を生成する。そうでなければ動作せず、出力も生成しない。
９１１は垂直左斜め方向の予測を行うＶｅｒｔｉｃａｌ＿Ｌｅｆｔ予測器である。端子９００から処理ユニットの予測値の画素値を、端子９０１から参照画素を入力し、イントラ予測モード復号器９０４で垂直左斜め方向予測モード、と復号された場合にのみ動作する。そうでなければ動作せず、出力も生成しない。前述の参照画素を参照して垂直左斜め方向の予測を行い、予測値を生成する。
９１２は水平斜め上方向の予測を行うＨｏｒｉｚｏｎｔａｌ＿Ｕｐ予測器である。イントラ予測モード復号器９０４で水平斜め上予測モードと復号された場合にのみ動作する。端子９０１から参照画素を入力し、水平斜め上方向の予測を行い、予測値を生成する。そうでなければ動作せず、出力も生成しない。
９１３は平均値予測を行う平均値予測器である。イントラ予測モード復号器９０４で平均値予測モードと復号された場合にのみ動作する。端子９０１から参照画素を入力し、（１）式に従って平均値予測を行う。ただし、端子９０３から入力された参照可否情報で上位２ビットのいずれかが０であれば、固定の予測値１２８を生成する。そうでなければ動作せず、出力も生成しない。
９１４は固定値選択予測を行う固定値選択予測器である。イントラ予測モード復号器９０４で固定値選択予測モードと復号された場合にのみ動作する。イントラ予測モード番号と参照可否情報から予め格納されている固定値を出力する。そうでなければ動作せず、出力も生成しない。
【００８０】
図１５に固定値選択予測器９１４の詳細なブロック図を示す。９２０は端子であり、図１４の端子９０３を介して周辺処理ユニット判定部８０７から参照可否情報を入力する。９２１は端子であり、イントラ予測モード復号器９０４からイントラ予測モード番号を入力する。９２２はセレクタであり、参照可否情報によって出力先を選択する。９２３から９３８までは固定値テーブルである。固定値テーブル９２３は参照可否情報が１１１１０の時に使われる固定値を格納する。
【００８１】
固定値テーブル９２４は参照可否情報が１１１０１の時に使われる固定値を格納する。固定値テーブル９２５は参照可否情報が１１１００の時に使われる固定値を格納する。固定値テーブル９２６は参照可否情報が１１０１１の時に使われる固定値を格納する。固定値テーブル９２７は参照可否情報が１１０１０の時に使われる固定値を格納する。固定値テーブル９２８は参照可否情報が１１００１の時に使われる固定値を格納する。固定値テーブル９２９は参照可否情報が１１０００の時に使われる固定値を格納する。固定値テーブル９３０は参照可否情報が１０１１１または１０１０１の時に使われる固定値を格納する。固定値テーブル９３１は参照可否情報が１０１１０または１０１００の時に使われる固定値を格納する。固定値テーブル９３２は参照可否情報が１００１１または１０００１の時に使われる固定値を格納する。固定値テーブル９３３は参照可否情報が１００１０または１００００の時に使われる固定値を格納する。固定値テーブル９３４は参照可否情報が０１１１１または０１１１０の時に使われる固定値を格納する。固定値テーブル９３５は参照可否情報が０１１０１または０１１００の時に使われる固定値を格納する。固定値テーブル９３６は参照可否情報が０１０１１または０１０１０の時に使われる固定値を格納する。固定値テーブル９３７は参照可否情報が０１００１または０１０００の時に使われる固定値を格納する。固定値テーブル９３８は参照可否情報の上位２ビットがともに０の時に使われる固定値を格納する。９３９はセレクタであり、参照可否情報によって入力先を選択する。セレクタ９２２とセレクタ９３９は同じ参照可否情報が入力されている。すなわち、固定値テーブルごとに決められた上位の参照可否情報に応じて当該の固定値テーブルを入出力先として選択する。９４０は端子であり、予測値を図１４のセレクタ９１５に出力する。
【００８２】
上記画像復号装置における画像の復号動作を以下に説明する。本実施形態では動画像ビットストリームをフレーム単位に入力する構成となっているが、１フレーム分の静止画像ビットストリームを入力する構成としても構わない。また、本発明は、説明を容易にするため、イントラ予測復号化の処理のみを説明するが、これに限定されずインター予測復号化処理においても適用可能である。
【００８３】
図１３において、入力された１フレーム分のストリームデータはブロック単位でブロック復号部８０１に入力され、ブロック単位の情報が復号される。上記のブロック単位の情報によって定まった処理ユニットの構造によって、処理ユニットごとに符号データが出力される。この際、処理ユニットの係数や、位置情報の復号によって処理ユニットの位置に関する情報も抽出され、周辺処理ユニット判定部８０７にも出力される。処理ユニットごとの符号データはエントロピー復号部８０２に入力され、イントラ予測モード符号を含む処理ユニット単位の情報や係数値が復号される。係数値は逆量子化・逆変換部８０３に入力され、逆量子化、逆変換の過程を経て予測誤差を表す画素データが出力される。処理ユニット単位の情報はイントラ予測モード復号部８０４に入力され、イントラ予測モードの情報から周辺の処理ユニットの画素値から予測値を算出する。画素データ再構成部８０５で予測値と予測誤差を加算し、復号画素データを再構成し、出力する。画素データ再構成部８０５は後の処理での参照を考慮して再構成された画素値を保持する。
【００８４】
図１６は、実施形態６に係る画像復号装置における画像復号処理を示すフローチャートである。
【００８５】
まず、ステップＳ９０１において、ブロック復号部８０１は、入力ストリームからブロック単位の情報を復号する。
ステップＳ９０２において、エントロピー復号部８０２は、各ブロック内に存在する処理ユニット単位の復号を行う。また、イントラ予測モードの符号を抽出し、他の情報や係数をエントロピー復号化する。
ステップＳ９０３において逆量子化・逆変換部８０３は、復号した係数データの逆量子化・逆変換を行い、予測誤差データを生成する。
ステップＳ９０４において、イントラ予測モード復号部８０４は、各処理ユニットのイントラ予測モードを後述する復号方法で復号し、イントラ予測モードを生成する。さらにその予測モードに従い、予測値を生成する。
ステップＳ９０５において画素データ再構成部８０５は、ステップＳ９０３の結果である予測誤差データとステップＳ９０４の結果である予測値から再構成画素を算出する。
ステップＳ９０６において、画像復号装置は、ブロック内の全ての処理ユニットの符号化が復号したか否かの判定を行い、終了していればステップＳ９０７に進み、終了していなければ次の処理ユニットを処理の対象としてステップＳ９０２に戻る。
ステップＳ９０７において画像復号装置は、フレーム内の全てのブロックの復号が終了したか否かの判定を行い、終了していれば全ての動作を停止して処理を終了し、そうでなければ次のブロックを処理の対象としてステップＳ９０１に戻る。
【００８６】
図１７はステップＳ９０４の詳細な処理を示すフローチャートである。まず、ステップＳ１００１〜Ｓ１００３、ステップＳ１０４０〜Ｓ１０５２では復号対象の処理ユニットの周辺の所定の処理ユニットが参照可能か否かの判定を行う。
【００８７】
具体的にはステップＳ１００１において、復号対象の処理ユニットの上方に存在する処理ユニットが参照可能か否かを判定し、参照可能な場合にはステップＳ１００２に進み、参照不可能の場合にはステップＳ１００３に進む。
ステップＳ１００２において、復号する処理ユニットの左方に存在する所定の処理ユニットが参照可能か否かを判定し、参照可能な場合にはステップＳ１０４０に進み、参照不可能な場合にはステップＳ１０４１に進む。
ステップＳ１００３においても、復号する処理ユニットの左方に存在する処理ユニットが参照可能か否かを判定し、参照可能な場合にはステップＳ１０４２に進み、参照不可能の場合にはステップＳ１０６８に進む。
ステップＳ１０４０、Ｓ１０４１、Ｓ１０４２において、符号化対象の処理ユニットの左上方に存在する処理ユニットが参照可能か否かを判定する。ステップＳ１０４０では参照可能な場合にはステップＳ１０４３に進み、参照不可能な場合にはステップＳ１０４４に進む。ステップＳ１０４１では参照可能な場合にはステップＳ１０５１に進み、参照不可能な場合にはステップＳ１０５２に進む。ステップＳ１０４２では参照可能な場合にはステップＳ１０４５に進み、参照不可能な場合にはステップＳ１０４６に進む。
ステップＳ１０４３、Ｓ１０４４において、符号化対象の処理ユニットの左下方に存在する処理ユニットが参照可能か否かを判定する。ステップＳ１０４３では参照可能な場合にはステップＳ１０４７に進み、参照不可能な場合にはステップＳ１０４８に進む。ステップＳ１０４４では参照可能な場合にはステップＳ１０４９に進み、参照不可能な場合にはステップＳ１０５０に進む。
ステップＳ１０４５〜Ｓ１０５２において、符号化対象の処理ユニットの右上方に存在する処理ユニットが参照可能か否かを判定する。
ステップＳ１０４５では参照可能な場合にはステップＳ１０６４に進み、参照不可能な場合にはステップＳ１０６５に進む。ステップＳ１０４６では参照可能な場合にはステップＳ１０６６に進み、参照不可能な場合にはステップＳ１０６７に進む。ステップＳ１０４７では参照可能な場合にはステップＳ１００４に進み、参照不可能な場合にはステップＳ１０５３に進む。ステップＳ１０４８では参照可能な場合にはステップＳ１０５４に進み、参照不可能な場合にはステップＳ１０５５に進む。ステップＳ１０４９では参照可能な場合にはステップＳ１０５６に進み、参照不可能な場合にはステップＳ１０５７に進む。ステップＳ１０５０では参照可能な場合にはステップＳ１０５８に進み、参照不可能な場合にはステップＳ１０５９に進む。ステップＳ１０５１では参照可能な場合にはステップＳ１０６０に進み、参照不可能な場合にはステップＳ１０６１に進む。ステップＳ１０５２では参照可能な場合にはステップＳ１０６２に進み、参照不可能な場合にはステップＳ１０６３に進む。
ステップＳ１００４において、イントラ予測モード復号器９０４は、復号する処理ユニットのイントラ予測モードを復号する。８方向の予測及び平均予測のいずれも可能なため、予測モードフラグをまず復号する。予測モードフラグの符号が１であれば、周囲の処理ユニットのイントラ予測モードを参照してイントラ予測モードを算出する。予測モードフラグの符号が“０”であれば、続く符号データを復号して残りの予測モードから当該処理ブロックに適用されたイントラ予測モードを決定する。
ステップＳ１００５において、イントラ予測モード復号器９０４は決定された予測モードに基づき、予測器を選択する。選択された予測器は端子９０１から入力される周囲の処理ユニットの参照画素から予測値を算出する。予測値はセレクタ９１５を介して端子９１６に出力される。
ステップＳ１０５３〜Ｓ１０６７において、イントラ予測モード復号器９０４は、復号する処理ユニットのイントラ予測モードを復号する。ステップＳ１０５３の場合、右上方処理ユニットの参照が不可能なため、６方向の予測、平均予測、固定値選択予測のいずれかが可能である。
ステップＳ１０５３の場合、右上方処理ユニットの参照が不可能なため、６方向の予測、平均予測、固定値選択予測のいずれかが可能である。ステップＳ１０５４の場合、左下方処理ユニットの参照が不可能なため、７方向の予測、平均予測、固定値選択予測のいずれかが可能である。ステップＳ１０５５の場合、左下方、右上方処理ユニットの参照が不可能なため、５方向の予測、平均予測、固定値選択予測のいずれかが可能である。ステップＳ１０５６の場合、左上方処理ユニットの参照が不可能なため、５方向の予測、平均予測、固定値選択予測のいずれかが可能である。ステップＳ１０５７の場合、左上方、右上方処理ユニットの参照が不可能なため、３方向の予測、平均予測、固定値選択予測のいずれかが可能である。ステップＳ１０５８の場合、左上方、左下方処理ユニットの参照が不可能なため、４方向の予測、平均予測、固定値選択予測のいずれかが可能である。ステップＳ１０５９の場合、左上方、左下方、右上方処理ユニットの参照が不可能なため、２方向の予測、平均予測、固定値選択予測のいずれかが可能である。ステップＳ１０６０の場合、左方処理ユニットの参照が不可能なため、４方向の予測、平均予測、固定値選択予測のいずれかが可能である。ステップＳ１０６１の場合、左方、右上方処理ユニットの参照が不可能なため、２方向の予測、平均予測、固定値選択予測のいずれかが可能である。ステップＳ１０６２の場合、左方、左上方処理ユニットの参照が不可能なため、３方向の予測、平均予測、固定値選択予測のいずれかが可能である。ステップＳ１０６３の場合、左方、左上方、右上方処理ユニットの参照が不可能なため、垂直方向の予測、平均予測、固定値選択予測のいずれかが可能である。ステップＳ１０６４の場合、上方処理ユニットの参照が不可能なため、３方向の予測、平均予測、固定値選択予測のいずれかが可能である。ステップＳ１０６５の場合、上方、左下方処理ユニットの参照が不可能なため、２方向の予測、平均予測、固定値選択予測のいずれかが可能である。ステップＳ１０６６の場合、上方、左上方処理ユニットの参照が不可能なため、２方向の予測、平均予測、固定値選択予測のいずれかが可能である。ステップＳ１０６７の場合、上方、左上方、左下方処理ユニットの参照が不可能なため、水平方向の予測、平均予測、固定値選択予測のいずれかが可能である。また、ステップＳ１０６８において、全ての方向の予測が行えないことから、平均予測か固定値選択予測のいずれかが可能である。
ステップＳ１０５３〜Ｓ１０６８において、イントラ予測モード復号器９０４は予測モードフラグをまず復号する。予測モードフラグの符号が１であれば、周囲の処理ユニットのイントラ予測モードを参照してイントラ予測モードを算出する。
【００８８】
予測モードフラグの符号が“０”であれば、続く符号データを復号して残りの予測モードから当該処理ブロックに適用されたイントラ予測モードを決定する。上記選択が可能なイントラ予測モード番号が復号された場合、その予測モードに基づき、図１４の予測器を選択する。選択された予測器は端子９０１から入力される周囲の処理ユニットの参照画素から予測値を算出する。予測値はセレクタ９１５を介して端子９１６に出力される。
【００８９】
また、上記選択が可能なイントラ予測モード番号以外が復号された場合、固定値選択予測モードが選択されたことが判明する。
【００９０】
ステップＳ１０６９〜Ｓ１０８４では図１４の固定値選択予測器９１４が選択される。選択ができないイントラ予測モード番号が入力された時、図１５の端子９２０から入力された参照可否情報に従ってセレクタ９２２と９３９で該当する固定値テーブルを選択する。端子９２１から入力されたイントラ予測モード番号に従って、固定値を読み出し、セレクタ９３９、端子９４０を介して出力する。この固定値は図１４のセレクタ９１５を介して端子９１６に出力される。
【００９１】
例えば、参照可否情報１１００１の場合、不使用の予測モード番号は４、５、６、８の４つとなる。入力された予測モード番号が４であれば予測値０を、５であれば予測値８５を、６であれば１７０を、８であれば予測値２５５を読み出し、出力する。
【００９２】
以上により、実施形態１で生成された各処理ユニットの参照の可否によって使用できるイントラ予測モードを使用しつつ、使用しないイントラ予測モードに対して複数の固定値を用いることで効率よく符号化された符号化データを復号することができる。
【００９３】
なお、本実施形態においては、イントラ予測のみを用いるフレームを例にとって説明したが、インター予測も使用できるフレームにおいても対応できることは明らかである。また、実施形態１と同様にブロックのサイズ、処理ユニットのサイズ、参照する処理ユニットとその画素の配置、符号についてはこれに限定されない。Ｈ．２６４と同じ参照方法をとっても構わないし、それ以外の参照の方式を行ってももちろん構わない。
【００９４】
＜実施形態７＞
本実施形態では、実施形態２で生成された符号化データの復号処理について説明する。画像復号装置の構成は実施形態６の図１３と同じである。イントラ予測モード復号部８０４の動作が実施形態６と異なる。
【００９５】
図１８は、図９のステップＳ９０４の実施形態７における詳細なイントラ予測モード復号処理を示すフローチャートある。図１８において実施形態６の図１７と同様の機能を果たす部分に関しては同じ番号を付与し、説明を省略する。
【００９６】
ステップＳ１５０１からＳ１５０６において、符号化対象の処理ユニットの左下方処理ユニットと右上処理ユニットが参照可能か否かを判定する。
ステップＳ１５０１において、両方とも参照可能な場合にはステップＳ１００４に進み、いずれか一方でも参照不可能の場合にはステップＳ１０５５に進む。ステップＳ１５０２において、両方とも参照可能な場合にはステップＳ１０５６に進み、いずれか一方でも参照不可能の場合にはステップＳ１０５９に進む。ステップＳ１５０３において、両方とも参照可能な場合にはステップＳ１０６０に進み、いずれか一方でも参照不可能の場合にはステップＳ１０６１に進む。ステップＳ１５０４において、両方とも参照可能な場合にはステップＳ１０６２に進み、いずれか一方でも参照不可能の場合にはステップＳ１０６３に進む。ステップＳ１５０５において、両方とも参照可能な場合にはステップＳ１０６４に進み、いずれか一方でも参照不可能の場合にはステップＳ１０６５に進む。ステップＳ１５０６において、両方とも参照可能な場合にはステップＳ１０６６に進み、いずれか一方でも参照不可能の場合にはステップＳ１０６７に進む。
【００９７】
ステップＳ１０５５では実施形態６と同様に左下方処理ユニットと右上処理ユニットが両方とも参照できないとして復号を行う。すなわち、左斜め下予測モード、垂直左斜め予測モード、水平斜め上予測モードは使用できない。これらの符号の場合は、固定値選択予測モードとなり、３つの固定値のいずれかが読み出される。
【００９８】
以上により、実施形態２で生成された各処理ユニットの参照の可否によって使用できるイントラ予測モードを使用しつつ、使用しないイントラ予測モードに対して複数の固定値を用いることで効率よく符号化された符号化データを復号することができる。また、発生頻度が少ない画素群の参照情報をまとめることで、復号側でも分岐の回数を削減でき演算量を抑えるとともに、予測値を格納しておくメモリ等の容量を削減する効果がある。
【００９９】
＜実施形態８＞
本実施形態では、実施形態３で生成された符号化データの復号処理について説明する。
【０１００】
図１９は本発明の実施形態８に係る画像復号装置の構成を示すブロック図である。本実施形態では、実施形態３で生成された符号化データの復号を例にとって説明する。実施形態７の図１３と同様の機能を果たす部分に関しては同じ番号を付与し、説明を省略する。８１０は固定値選択予測で用いる固定値を復号する固定値復号部である。８１４はイントラ予測モード復号部であり、図１３のイントラ予測モード復号部８０４とは固定値復号部８１０からの入力があることが異なる。
【０１０１】
図２０にイントラ予測モード復号部８１４の詳細なブロック図を示す。図２０において、実施形態６の図１４と同様の機能を果たす部分に関しては同じ番号を付与し、説明を省略する。９５１は端子であり、予測値復号部８１０から入力された予測値を入力する。９５４は固定値選択予測器であり、図１５の固定値選択予測器９１４とは端子９５１からの予測値を入力することが異なる。
【０１０２】
図２１に固定値選択予測器９５４の詳細なブロック図を示す。図２１において、実施形態６の図１５と同様の機能を果たす部分に関しては同じ番号を付与し、説明を省略する。９６１は端子であり、固定値復号部８１０から図２０の端子９５１を介して入力された固定値を入力する。９６２はスイッチであり、端子９２１からの入力と端子９６１からの入力を選択して出力する。スイッチ９６２は画像の復号前は端子９６１からの入力を選択する。処理ユニットの復号中は端子９２１からの入力を選択する。
【０１０３】
上記の構造において、図１９において固定値の符号化データが固定値復号部８１０に入力される。固定値復号部８１０ではこれらを復号してイントラ予測モード復号部８１４に入力する。イントラ予測モード復号部８１４において、固定値選択予測器９５４端子９５１から入力された固定値を端子９０３から入力される参照可否情報を入力し、参照可否情報に従って、固定値テーブル９２３から９３８に適宜格納する。
【０１０４】
図２２は、実施形態８に係る画像復号装置における画像復号処理を示すフローチャートである。図２２において、実施形態７の図１６と同様の機能を果たす部分に関しては同じ番号を付与し、説明を省略する。
【０１０５】
ステップＳ１９０１において、入力された固定値の符号化データを復号する。復号結果は参照可否情報毎に管理される。復号された固定値は端子９５１、端子９６１を介して図２１のスイッチ９６２に入力される。スイッチ９６２は処理ユニット単位の復号を行う前は端子９６１からの入力を選択して出力する。
【０１０６】
端子９２０から参照可否情報が入力され、セレクタ９２２は対応する固定値テーブルを出力先として選択する。復号された固定値は各固定値テーブルに格納され、全ての固定値の格納が終了したらスイッチ９６２は端子９２１からの入力を選択する。以下、実施形態６と同様に各ブロックの復号を行う。
【０１０７】
以上の構成と動作により、符号化された画像データに基づいて算出された固定値を用いることで、固定値選択予測で用いる固定値が予め決められた固定値である場合に比べ、より予測誤差を小さくすることができる。
【０１０８】
なお、本実施形態の復号装置は前のフレームから固定値を生成する実施形態４の符号化データも同様に復号することができる。さらには図２３のように構成することも可能である。８５０は再構成された処理ユニットの平均値を算出し、保持する平均値保持部である。
画素データ再構成部８０５から出力された処理ユニットの平均値を算出し、これを平均値保持部８５０で保持し、図１９の固定値復号部８１０からの出力の代わりにイントラ予測モード復号部８１４に入力する。入力された平均値は図２０の端子９５１を介して固定値選択予測器９５４に入力される。図２１に示すスイッチ９６２は処理単位ユニットの復号処理が終了後、端子９６１からの入力を受け付ける。端子９２０からは復号で使用した参照可否情報が入力されている。これによってセレクタ９２２は使用した固定値テーブルに対して復号して得られた平均値を固定値として格納する。
【０１０９】
このような構成をとることによって、実施形態５で生成された符号化データを復号することができる。これにより、直前の処理ユニットの平均値を固定値選択予測に用いることで固定値を動的に制御でき、符号化効率をより一層高めた符号化データを復号することが可能になる。
【０１１０】
＜実施形態９＞
図１、図８、図１１、図１２、図１３、図１９、図２３に示した各処理部はハードウェアでもって構成しているものとして上記実施形態では説明した。しかし、これらの図に示した各処理部で行なう処理をコンピュータプログラムでもって構成しても良い。
【０１１１】
図２４は、上記各実施形態に係る画像表示装置に適用可能なコンピュータのハードウェアの構成例を示すブロック図である。
【０１１２】
ＣＰＵ１４０１は、ＲＡＭ１４０２やＲＯＭ１４０３に格納されているコンピュータプログラムやデータを用いてコンピュータ全体の制御を行うと共に、上記各実施形態に係る画像処理装置が行うものとして上述した各処理を実行する。即ち、ＣＰＵ１４０１は、図１、図８、図１１、図１２、図１３、図１９、図２３に示した各処理部として機能することになる。
【０１１３】
ＲＡＭ１４０２は、外部記憶装置１４０６からロードされたコンピュータプログラムやデータ、Ｉ／Ｆ（インターフェース）１４０９を介して外部から取得したデータなどを一時的に記憶するためのエリアを有する。更に、ＲＡＭ１４０２は、ＣＰＵ１４０１が各種の処理を実行する際に用いるワークエリアを有する。即ち、ＲＡＭ１４０２は、例えば、フレームメモリとして割当てたり、その他の各種のエリアを適宜提供することができる。
【０１１４】
ＲＯＭ１４０３には、本コンピュータの設定データや、ブートプログラムなどが格納されている。操作部１４０４は、キーボードやマウスなどにより構成されており、本コンピュータのユーザが操作することで、各種の指示をＣＰＵ１４０１に対して入力することができる。表示部１４０５は、ＣＰＵ１４０１による処理結果を表示する。また表示部１４０５は例えば液晶ディスプレイのようなホールド型の表示装置や、フィールドエミッションタイプの表示装置のようなインパルス型の表示装置で構成される。
【０１１５】
外部記憶装置１４０６は、ハードディスクドライブ装置に代表される、大容量情報記憶装置である。外部記憶装置１４０６には、ＯＳ（オペレーティングシステム）や、図１、図８、図１１、図１２、図１３、図１９、図２３に示した各部の機能をＣＰＵ１４０１に実現させるためのコンピュータプログラムが保存されている。更には、外部記憶装置１４０６には、処理対象としての各画像データが保存されていても良い。
【０１１６】
外部記憶装置１４０６に保存されているコンピュータプログラムやデータは、ＣＰＵ１４０１による制御に従って適宜ＲＡＭ１４０２にロードされ、ＣＰＵ１４０１による処理対象となる。Ｉ／Ｆ１４０７には、ＬＡＮやインターネット等のネットワーク、投影装置や表示装置などの他の機器を接続することができ、本コンピュータはこのＩ／Ｆ１４０７を介して様々な情報を取得したり、送出したりすることができる。１４０８は上述の各部を繋ぐバスである。
【０１１７】
上述の構成からなる作動は前述のフローチャートで説明した作動をＣＰＵ１４０１が中心となってその制御を行う。
【０１１８】
＜その他の実施形態＞
本発明の目的は、前述した機能を実現するコンピュータプログラムのコードを記録した記憶媒体を、システムに供給し、そのシステムがコンピュータプログラムのコードを読み出し実行することによっても達成される。この場合、記憶媒体から読み出されたコンピュータプログラムのコード自体が前述した実施形態の機能を実現し、そのコンピュータプログラムのコードを記憶した記憶媒体は本発明を構成する。また、そのプログラムのコードの指示に基づき、コンピュータ上で稼働しているオペレーティングシステム（ＯＳ）などが実際の処理の一部または全部を行い、その処理によって前述した機能が実現される場合も含まれる。
【０１１９】
さらに、以下の形態で実現しても構わない。すなわち、記憶媒体から読み出されたコンピュータプログラムコードを、コンピュータに挿入された機能拡張カードやコンピュータに接続された機能拡張ユニットに備わるメモリに書込む。そして、そのコンピュータプログラムのコードの指示に基づき、その機能拡張カードや機能拡張ユニットに備わるＣＰＵなどが実際の処理の一部または全部を行って、前述した機能が実現される場合も含まれる。
【０１２０】
本発明を上記記憶媒体に適用する場合、その記憶媒体には、先に説明したフローチャートに対応するコンピュータプログラムのコードが格納されることになる。
【図１】
2012191295.tif 000004
【図２】
2012191295.tif 000005
【図３】
2012191295.tif 000006
【図４】
2012191295.tif 000007
【図５】
2012191295.tif 000008
【図６】
2012191295.tif 000009
【図７】
2012191295.tif 000010
【図８】
2012191295.tif 000011
【図９】
2012191295.tif 000012
【図１０】
2012191295.tif 000013
【図１１】
2012191295.tif 000014
【図１２】
2012191295.tif 000015
【図１３】
2012191295.tif 000016
【図１４】
2012191295.tif 000017
【図１５】
2012191295.tif 000018
【図１６】
2012191295.tif 000019
【図１７】
2012191295.tif 000020
【図１８】
2012191295.tif 000021
【図１９】
2012191295.tif 000022
【図２０】
2012191295.tif 000023
【図２１】
2012191295.tif 000024
【図２２】
2012191295.tif 000025
【図２３】
2012191295.tif 000026
【図２４】
2012191295.tif 000027
【図２５】
2012191295.tif 000028