(57)【特許請求の範囲】
【請求項１】
画像データをブロック毎に符号化する画像符号化方法であって、
前記画像データを複数のブロックに分割する分割ステップと、
前記複数のブロックの１つである対象ブロックを予測することで予測ブロックを生成する予測ステップと、
前記対象ブロックと前記予測ブロックとの差分を算出する減算ステップと、
前記減算ステップで算出された差分を符号化する符号化ステップと、
前記符号化ステップで符号化された差分を復号する復号ステップと、
前記復号ステップで復号された差分と前記予測ブロックとを加算することで復号ブロックを生成する加算ステップとを含み、
前記予測ステップは、
前記対象ブロックに近接するブロックに対応する、前に生成された復号ブロック内のエッジを検出するエッジ検出ステップと、
前記予測ブロックを構成する予測画素毎に、前記対象ブロックに近接するブロックに含まれる画素に対応する、前に生成された復号画像データに含まれる複数の復号画素のうち、前記エッジ検出ステップで検出されたエッジの方向に平行で、前記予測画素を通過する線が通過する復号画素を含む少なくとも２つの復号画素の画素値の重み付け加算和を前記予測画素の画素値として算出することで、前記予測ブロックを生成する予測ブロック生成ステップとを含み、
前記重み付け加算和の算出に用いられる重みは、前記少なくとも２つの復号画素のそれぞれに対応し、対応する復号画素と前記線との距離が小さいほど、大きな値になるように決定される
画像符号化方法。
【請求項２】
前記エッジ検出ステップでは、互いに異なる方向を有する少なくとも２つのエッジを検出し、
前記予測ブロック生成ステップでは、前記エッジ検出ステップで検出されたエッジの方向毎に、対応する前記少なくとも２つの復号画素の重み付け加算和を算出し、算出した重み付け加算和の合成を行うことで、前記予測画素の画素値を算出する
請求項１記載の画像符号化方法。
【請求項３】
前記合成は、エッジの方向毎に算出された前記重み付け加算和の重み付け加算であり、
当該重み付け加算に用いられる重みであって、前記重み付け加算和のそれぞれに対応する重みは、前記予測画素の位置に基づいて決定される
請求項２記載の画像符号化方法。
【請求項４】
符号化された予測残差を含む画像データをブロック毎に復号する画像復号方法であって、
対象ブロックの前記予測残差を復号する復号ステップと、
前記対象ブロックを予測することで予測ブロックを生成する予測ステップと、
前記予測ステップで生成された予測ブロックと、前記復号ステップで復号された予測残差とを加算することで復号ブロックを生成する加算ステップとを含み、
前記予測ステップは、
前記対象ブロックに近接するブロックに対応する、前に生成された復号ブロック内のエッジを検出するエッジ検出ステップと、
前記予測ブロックを構成する予測画素毎に、前記対象ブロックに近接するブロックに含まれる画素に対応する、前に生成された復号画像データに含まれる複数の復号画素のうち、前記エッジ検出ステップで検出されたエッジの方向に平行で、前記予測画素を通過する線が通過する復号画素を含む少なくとも２つの復号画素の画素値の重み付け加算和を前記予測画素の画素値として算出することで、前記予測ブロックを生成する予測ブロック生成ステップとを含み、
前記重み付け加算和の算出に用いられる重みは、前記少なくとも２つの復号画素のそれぞれに対応し、対応する復号画素と前記線との距離が小さいほど、大きな値になるように決定される
画像復号方法。
【請求項５】
前記エッジ検出ステップでは、互いに異なる方向を有する少なくとも２つのエッジを検出し、
前記予測ブロック生成ステップでは、前記エッジ検出ステップで検出されたエッジの方向毎に、対応する前記少なくとも２つの復号画素の重み付け加算和を算出し、算出した重み付け加算和の合成を行うことで、前記予測画素の画素値を算出する
請求項４記載の画像復号方法。
【請求項６】
前記合成は、エッジの方向毎に算出された前記重み付け加算和の重み付け加算であり、
当該重み付け加算に用いられる重みであって、前記重み付け加算和のそれぞれに対応する重みは、前記予測画素の位置に基づいて決定される
請求項５記載の画像復号方法。
【請求項７】
画像データをブロック毎に符号化する画像符号化装置であって、
前記画像データを複数のブロックに分割する分割手段と、
前記複数のブロックの１つである対象ブロックを予測することで予測ブロックを生成する予測手段と、
前記対象ブロックと前記予測ブロックとの差分を算出する減算手段と、
前記減算手段によって算出された差分を符号化する符号化手段と、
前記符号化手段によって符号化された差分を復号する復号手段と、
前記復号手段によって復号された差分と前記予測ブロックとを加算することで復号ブロックを生成する加算手段とを備え、
前記予測手段は、
前記対象ブロックに近接するブロックに対応する、前に生成された復号ブロック内のエッジを検出するエッジ検出部と、
前記予測ブロックを構成する予測画素毎に、前記対象ブロックに近接するブロックに含まれる画素に対応する、前に生成された復号画像データに含まれる複数の復号画素のうち、前記エッジ検出部によって検出されたエッジの方向に平行で、前記予測画素を通過する線が通過する復号画素を含む少なくとも２つの復号画素の画素値の重み付け加算和を前記予測画素の画素値として算出することで、前記予測ブロックを生成する予測ブロック生成部とを有し、
前記重み付け加算和の算出に用いられる重みは、前記少なくとも２つの復号画素のそれぞれに対応し、対応する復号画素と前記線との距離が小さいほど、大きな値になるように決定される
画像符号化装置。
【請求項８】
符号化された予測残差を含む画像データをブロック毎に復号する画像復号装置であって、
対象ブロックの前記予測残差を復号する復号手段と、
前記対象ブロックを予測することで予測ブロックを生成する予測手段と、
前記予測手段によって生成された予測ブロックと、前記復号手段によって復号された予測残差とを加算することで復号ブロックを生成する加算手段とを備え、
前記予測手段は、
前記対象ブロックに近接するブロックに対応する、前に生成された復号ブロック内のエッジを検出するエッジ検出部と、
前記予測ブロックを構成する予測画素毎に、前記対象ブロックに近接するブロックに含まれる画素に対応する、前に生成された復号画像データに含まれる複数の復号画素のうち、前記エッジ検出部によって検出されたエッジの方向に平行で、前記予測画素を通過する線が通過する復号画素を含む少なくとも２つの復号画素の画素値の重み付け加算和を前記予測画素の画素値として算出することで、前記予測ブロックを生成する予測ブロック生成部とを有し、
前記重み付け加算和の算出に用いられる重みは、前記少なくとも２つの復号画素のそれぞれに対応し、対応する復号画素と前記線との距離が小さいほど、大きな値になるように決定される
画像復号装置。
【請求項９】
請求項７記載の画像符号化装置と、請求項８記載の画像復号装置とを備える
コーデック装置。
【請求項１０】
画像データをブロック毎に符号化する画像符号化方法をコンピュータに実行させるためのプログラムであって、
前記画像データを複数のブロックに分割する分割ステップと、
前記複数のブロックの１つである対象ブロックを予測することで予測ブロックを生成する予測ステップと、
前記対象ブロックと前記予測ブロックとの差分を算出する減算ステップと、
前記減算ステップで算出された差分を符号化する符号化ステップと、
前記符号化ステップで符号化された差分を復号する復号ステップと、
前記復号ステップで復号された差分と前記予測ブロックとを加算することで復号ブロックを生成する加算ステップとを前記コンピュータに実行させ、
前記予測ステップは、
前記対象ブロックに近接するブロックに対応する、前に生成された復号ブロック内のエッジを検出するエッジ検出ステップと、
前記予測ブロックを構成する予測画素毎に、前記対象ブロックに近接するブロックに含まれる画素に対応する、前に生成された復号画像データに含まれる複数の復号画素のうち、前記エッジ検出ステップで検出されたエッジの方向に平行で、前記予測画素を通過する線が通過する復号画素を含む少なくとも２つの復号画素の画素値の重み付け加算和を前記予測画素の画素値として算出することで、前記予測ブロックを生成する予測ブロック生成ステップとを含み、
前記重み付け加算和の算出に用いられる重みは、前記少なくとも２つの復号画素のそれぞれに対応し、対応する復号画素と前記線との距離が小さいほど、大きな値になるように決定される
プログラム。
【請求項１１】
符号化された予測残差を含む画像データをブロック毎に復号する画像復号方法をコンピュータに実行させるためのプログラムであって、
対象ブロックの前記予測残差を復号する復号ステップと、
前記対象ブロックを予測することで予測ブロックを生成する予測ステップと、
前記予測ステップで生成された予測ブロックと、前記復号ステップで復号された予測残差とを加算することで復号ブロックを生成する加算ステップとを前記コンピュータに実行させ、
前記予測ステップは、
前記対象ブロックに近接するブロックに対応する、前に生成された復号ブロック内のエッジを検出するエッジ検出ステップと、
前記予測ブロックを構成する予測画素毎に、前記対象ブロックに近接するブロックに含まれる画素に対応する、前に生成された復号画像データに含まれる複数の復号画素のうち、前記エッジ検出ステップで検出されたエッジの方向に平行で、前記予測画素を通過する線が通過する復号画素を含む少なくとも２つの復号画素の画素値の重み付け加算和を前記予測画素の画素値として算出することで、前記予測ブロックを生成する予測ブロック生成ステップとを含み、
前記重み付け加算和の算出に用いられる重みは、前記少なくとも２つの復号画素のそれぞれに対応し、対応する復号画素と前記線との距離が小さいほど、大きな値になるように決定される
プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、より良い符号化効率で画像及び映像データを圧縮符号化する画像符号化方法と、圧縮符号化された画像及び映像データを復元する画像復号方法と、対応する画像符号化装置及び画像復号装置に関する。
【背景技術】
【０００２】
インターネットを介したビデオ会議、デジタルビデオ放送、及び、映像コンテンツのストリーミングを含む、例えば、ビデオ・オン・デマンドタイプのサービスのためのアプリケーションの数は右肩上がりであり、これらのアプリケーションは、映像情報の送信に頼っている。映像データが送信され、又は、記録される時、かなりの量のデータは、限られたバンド幅の従来の伝送路を通って送信され、又は、限られたデータ容量の従来の記憶媒体に記憶される。従来の伝送チャネル及び記憶媒体に映像情報を送信及び記憶するためには、デジタルデータの量を圧縮又は削減することが不可欠である。
【０００３】
そこで、映像データの圧縮のために、複数の映像符号化規格が開発されている。このような映像符号化規格は、例えば、Ｈ．２６ｘで示されるＩＴＵ−Ｔ規格、及び、ＭＰＥＧ−ｘで示されるＩＳＯ／ＩＥＣ規格である。最新かつ最も進んだ映像符号化規格は、現在、Ｈ．２６４／ＭＰＥＧ−４  ＡＶＣで示される規格である（非特許文献１参照）。
【０００４】
これらの規格のほとんどの基礎をなす符号化アプローチは、以下の（ａ）〜（ｄ）で示される主な段階を含む予測符号化に基づいている。
【０００５】
（ａ）映像フレームのそれぞれをブロックレベルでデータ圧縮するために、映像フレームを画素のブロックに分割する。
【０００６】
（ｂ）先に符号化された映像データから個々のブロックを予測することで、時間的及び空間的冗長性を特定する。
【０００７】
（ｃ）映像データから予測データを減ずることで、特定された冗長性を除去する。
【０００８】
（ｄ）フーリエ変換、量子化、及び、エントロピー符号化によって、残りのデータを圧縮する。
【０００９】
現在の映像符号化規格では、各マクロブロックを予測するのに用いられる予測モードが異なる。ほとんどの映像符号化規格は、前に符号化及び復号されたフレームから映像データを予測するために動き検出及び動き補償を用いる（インターフレーム予測）。あるいは、ブロックデータは、同じフレームの隣接するブロックから外挿されてもよい（イントラフレーム予測）。Ｈ．２６４／ＡＶＣ規格は、例えば、外挿のために用いられる参照画素に対して、又は、画素が外挿される方向に対して、いくつかの異なるイントラフレーム予測モードを定義する。
【００１０】
図１Ａ及び図１Ｂは、Ｈ．２６４／ＡＶＣ規格で定められたイントラ予測モードを示す図である。図１Ａに示すように、４×４画素の対象ブロック１０は、予測される対象ブロック１０の上と左とに位置する１３個の参照画素２０を外挿することで予測される。この予測により、対象ブロック１０に対応する予測ブロックが生成される。このとき、外挿を実行するために、図１Ｂに示される８個のとり得る外挿方向（イントラ予測方向）から１つが選択される。あるいは、ＤＣ予測モードが選択されてもよい。ＤＣ予測モードでは、対象ブロック１０を予測するために参照画素の平均値を用いる。
【００１１】
イントラフレーム予測では、４×４、８×８又は１６×１６画素のサイズのサブブロックの空間予測が、自然画像に存在する空間的冗長性を低減するために実行される。既に符号化された周囲ブロックの画素値（参照画素の画素値）は、対象ブロックの画素値を予測するために用いられる。これらの参照画素は、予め定義された予測モードに従って外挿される。Ｈ．２６４／ＡＶＣ規格では、４×４及び８×８サイズのサブブロックのために９つの予測モードが、１６×１６画素サイズのマクロブロックのために４つの予測モードがある。
【００１２】
８×８画素より小さいサブブロックに対して、９つの予測モードは、方向性構造を予測するのに適した８つの予測方向（図１Ｂ参照）と、いわゆるＤＣ予測モードとから構成される。ＤＣ予測モードでは、対象ブロックの全ての画素は、周囲参照画素の平均値である単一の値で予測される。方向モードでは、参照画素が、対応する方向に沿って繰り返される。例えば、垂直モードの場合、対象ブロックのすぐ上の行の参照画素が、垂直方向に繰り返される（外挿される）。一方で、水平モードの場合、対象ブロックのすぐ左の列の画素が水平方向に繰り返される（外挿される）。残りのモードは、同様に派生する斜め方向モードである。
【先行技術文献】
【非特許文献】
【００１３】
【非特許文献１】ＩＳＯ／ＩＥＣ  １４４９６−１０「ＭＰＥＧ−４  Ｐａｒｔ  １０  Ａｄｖａｎｃｅｄ  Ｖｉｄｅｏ  Ｃｏｄｉｎｇ」
【発明の概要】
【発明が解決しようとする課題】
【００１４】
しかしながら、上記従来技術では、対象ブロックにシャープな直線のエッジが含まれ、適切な予測ブロックを生成することができない場合には、符号量が多くなる、又は、符号化画像内に歪みが生じるという課題がある。具体的には、以下の通りである。
【００１５】
従来の予め定義されたイントラ予測方向には、限界がある。すなわち、イントラ予測方向は、図１Ｂに示す８方向に限られている。したがって、上記従来技術では、８方向のいずれか１つの方向に従ったイントラ予測しか実行することができない。
【００１６】
シャープな直線のエッジがある場合、エッジの角度に最も近い角度を持つイントラ予測モードが、図１Ｂの８方向の中から選択され、選択された方向の予測モードに従って対象ブロックは予測される。しかし、予測モードの角度が、エッジの本当の角度からわずかに異なっている場合、予測ブロックは、実際のエッジの方向とは異なる方向にもエッジを含む。このため、対象ブロックから予測ブロックを減算することで算出される差分画像には、特に、参照画素から最も離れた画素で大きな高周波成分が生じる。
【００１７】
高周波成分は、通常符号化するのに多くのビットが必要であるので、発生する符号量が多くなる。あるいは、符号量の発生を抑えるために高周波成分をカットすると符号化画像内に歪みが生じる。
【００１８】
そこで、本発明は、上記課題を解決するためになされたものであって、より高い符号化効率が達成され、符号化歪みが抑制されるように、画像及び映像データを符号化する画像符号化方法、及び、符号化された画像及び映像データを復号する画像復号方法を提供することを目的とする。
【課題を解決するための手段】
【００１９】
上記課題を解決するため、本発明の画像符号化方法は、画像データをブロック毎に符号化する画像符号化方法であって、前記画像データを複数のブロックに分割する分割ステップと、前記複数のブロックの１つである対象ブロックを予測することで予測ブロックを生成する予測ステップと、前記対象ブロックと前記予測ブロックとの差分を算出する減算ステップと、前記減算ステップで算出された差分を符号化する符号化ステップと、前記符号化ステップで符号化された差分を復号する復号ステップと、前記復号ステップで復号された差分と前記予測ブロックとを加算することで復号ブロックを生成する加算ステップとを含み、前記予測ステップは、前記対象ブロックに近接するブロックに対応する、前に生成された復号ブロック内のエッジを検出するエッジ検出ステップと、前記予測ブロックを構成する予測画素毎に、前記対象ブロックに近接するブロックに含まれる画素に対応する、前に生成された復号画像データに含まれる複数の復号画素のうち、前記エッジ検出ステップで検出されたエッジの方向に平行で、前記予測画素を通過する線が通過する復号画素を含む少なくとも２つの復号画素の画素値の重み付け加算和を前記予測画素の画素値として算出することで、前記予測ブロックを生成する予測ブロック生成ステップとを含み、前記重み付け加算和の算出に用いられる重みは、前記少なくとも２つの復号画素のそれぞれに対応し、対応する復号画素と前記線との距離が小さいほど、大きな値になるように決定される。
また、本発明の画像符号化方法は、画像データをブロック毎に符号化する画像符号化方法であって、前記画像データを複数のブロックに分割する分割ステップと、前記複数のブロックの１つである対象ブロックを予測することで予測ブロックを生成する予測ステップと、前記対象ブロックと前記予測ブロックとの差分を算出する減算ステップと、前記減算ステップで算出された差分を符号化する符号化ステップと、前記符号化ステップで符号化された差分を復号する復号ステップと、前記予測ブロックと前記復号ステップで復号された差分とを加算する加算ステップとを含み、前記予測ステップは、前記対象ブロックに近接するブロックに対応する、前に生成された復号ブロック内のエッジを検出するエッジ検出ステップと、前記エッジ検出ステップで検出されたエッジの方向に沿って、前記対象ブロックに近接するブロックに含まれる画素に対応する、前に生成された復号画像データを外挿又は内挿することで前記予測ブロックを生成する予測ブロック生成ステップとを含んでもよい。
【００２０】
これにより、対象ブロックの周囲のブロックにおいて検出されたエッジの方向を予測方向として予測ブロックを生成することができる。このため、特に対象ピクチャがシャープなエッジを含む場合には、従来の予め定義された方向予測モードを用いて生成した予測ブロックよりも適切な予測ブロックを生成することができる。したがって、対象ブロックと予測ブロックとの差分である予測残差は小さくなるので、符号化歪みを抑制することができ、また、符号化効率を高めることができる。
【００２１】
また、前記予測ブロック生成ステップでは、前記復号画像データを線形に外挿又は内挿することで前記予測ブロックを生成してもよい。
【００２２】
また、前記予測ブロック生成ステップでは、前記予測ブロックを構成する予測画素毎に前記復号画像データに含まれる複数の復号画素の画素値の少なくとも２つの重み付け加算和を算出し、算出した重み付け加算和を外挿又は内挿することで、前記予測ブロックを生成し、前記重み付け加算和の算出に用いられる重みは、前記エッジ検出ステップで検出されたエッジの方向に基づいて決定されてもよい。
【００２３】
これにより、予測値の算出の対象となる予測画素を通り、検出されたエッジの方向の直線上に整数画素がない場合であっても、近傍の画素の重み付け加算和を算出することにより、適切な予測値を算出することができる。
【００２４】
また、前記重みのそれぞれは、前記予測画素の位置に対応して決定されてもよい。具体的には、前記予測画素と予測ブロック生成に用いられる前記復号画素の距離が小さいほど、大きな値になるように決定されてもよい。
【００２５】
また、前記エッジ検出ステップでは、互いに異なる方向を有する少なくとも２つのエッジを検出し、前記予測ブロック生成ステップでは、前記予測画素毎に、前記少なくとも２つのエッジそれぞれの方向に沿って外挿又は内挿するための前記複数の復号画素の画素値を合成し、合成した画素値を外挿又は内挿することで、前記予測ブロックを生成してもよい。
【００２６】
これにより、複数のエッジが対象ブロックの周囲のブロックにおいて検出された場合であっても、複数のエッジのそれぞれの方向に沿って予測値を算出することができるので、適切な予測値を算出することができる。
【００２７】
また、前記予測ブロック生成ステップでは、前記予測画素毎に、前記複数の復号画素の画素値のそれぞれに重みを乗じることで前記重み付け加算和を算出し、算出した重み付け加算和を外挿又は内挿することで、前記予測ブロックを生成し、前記重みのそれぞれは、当該重みに対応する復号画素から、前記少なくとも２つのエッジのいずれかが検出された復号ブロックまでの距離が小さいほど、大きな値になるように決定されてもよい。
【００２８】
また、前記重みのそれぞれは、当該重みに対応する復号画素から、前記少なくとも２つのエッジのいずれかの延長線までの距離が小さいほど、大きな値になるように決定されてもよい。
【００２９】
また、前記予測ステップは、さらに、エッジ予測モードを含む複数の予測モードから１つの予測モードを選択する予測モード選択ステップを含み、前記予測ブロック生成ステップでは、前記エッジ予測モードが選択された場合に、前記エッジ検出モードで検出されたエッジの方向に沿って前記復号画像データを外挿又は内挿することで、前記予測ブロックを生成してもよい。
【００３０】
これにより、エッジが検出された場合には検出されたエッジの方向に沿った外挿又は内挿を行うエッジ予測モードを実行することができ、エッジが検出されない場合には、通常の予測モードを実行することができる。
【００３１】
また、前記複数の予測モードは、さらに、ＤＣ予測モードと予め定義された複数の方向予測モードとを含み、前記予測ブロック生成ステップでは、前記ＤＣ予測モードが選択された場合には、前記復号画像データの平均値を算出することで前記予測ブロックを生成し、前記複数の方向予測モードの１つが選択された場合には、選択された方向予測モードに対応する方向に沿って前記復号画像データを外挿することで前記予測ブロックを生成してもよい。
【００３２】
また、前記予測モード選択ステップでは、前記エッジ検出ステップでエッジが検出された場合に、前記エッジ予測モードと前記複数の方向予測モードとの中から１つの予測モードを選択し、前記エッジ検出ステップでエッジが検出されない場合に、前記ＤＣ予測モードと前記複数の方向予測モードとの中から１つの予測モードを選択してもよい。
【００３３】
これにより、エッジが検出された場合にはエッジ予測モードと従来の方向予測モードとを予測モードの候補として最適な予測モードを選択することができ、エッジが検出されない場合にはＤＣ予測モードと従来の方向予測モードとを予測モードの候補として最適な予測モードを選択することができる。なお、エッジが検出された場合には、対象ブロックは平坦である可能性は低く、ＤＣ予測モードで生成した予測ブロックと対象ブロックとの差分は通常大きくなる。このため、符号化効率は悪くなるので、エッジが検出された場合にＤＣ予測モードが選択されることはほとんどないため、ＤＣ予測モードを予測モードの候補から除外することができる。
【００３４】
また、前記符号化ステップでは、さらに、前記予測モード選択ステップで前記複数の方向予測モードの１つが選択された場合、選択された方向予測モードを示すモード指示を符号化し、前記ＤＣ予測モード又は前記エッジ予測モードが選択された場合、前記ＤＣ予測モード及び前記エッジ予測モードのいずれかのモードであることを示すモード指示を符号化してもよい。
【００３５】
これにより、従来のＤＣ予測モードを示す情報をエッジ予測モードを示す情報として用いることができるので、符号化時にエッジ予測モードを示す情報を新たに符号化する必要がなく、符号化効率を高めることができる。上述のように、エッジが検出された場合などのようなエッジ予測モードが選択されうる場合に、ＤＣ予測モードが選択される可能性は低い。また、ＤＣ予測モードが選択されうる場合に、エッジ予測モードが選択される可能性も低い。したがって、予測モードの候補としてエッジ予測モードとＤＣ予測モードとの双方が必要となる場合はほとんどないため、ＤＣ予測モードを示す情報をエッジ予測モードを示す情報としても割り当てることができる。
【００３６】
また、前記予測モード選択ステップでは、前記エッジ検出ステップでエッジが検出され、かつ、検出されたエッジの方向が前記対象ブロックを指す場合に、前記エッジ予測モードと前記複数の方向予測モードとの中から１つの予測モードを選択し、前記エッジ検出ステップでエッジが検出されない場合、又は、エッジが検出され、検出されたエッジの方向が前記対象ブロックを指さない場合に、前記ＤＣ予測モードと前記複数の方向予測モードとの中から１つの予測モードを選択してもよい。
【００３７】
また、前記エッジ検出ステップは、前記対象ブロックに近接するブロックに対応する、前に生成（符号化及び復号）された復号ブロックの複数の画素のそれぞれに対応する勾配ベクトルを算出する勾配ベクトル算出ステップと、前記勾配ベクトル算出ステップで算出された勾配ベクトルのうち、ノルムが予め定められた閾値を超え、かつ、当該勾配ベクトルに直交する直交ベクトルが前記対象ブロックを指すという条件を満たす少なくとも１つの勾配ベクトルが存在するか否かを判定するベクトル判定ステップと、前記ベクトル判定ステップで前記条件を満たす少なくとも１つの勾配ベクトルが存在すると判定された場合、前記条件を満たす少なくとも１つの勾配ベクトルに直交する直交ベクトルの方向をエッジの方向とするエッジを検出するエッジ方向決定ステップとを含んでもよい。
【００３８】
これにより、対象ブロックからではなく周囲のブロックを利用してエッジを検出することができるので、エッジの方向を示す情報などのエッジ予測モードに必要な情報を復号器側に伝送する必要がなくなる。よって、符号化効率をより高めることができる。
【００３９】
また、前記エッジ方向決定ステップでは、前記条件を満たす少なくとも１つの勾配ベクトルのうち最大のノルムを有する勾配ベクトルから決められる方向を前記エッジの方向として決定してもよい。
【００４０】
また、前記エッジ方向決定ステップでは、前記条件を満たす少なくとも１つの勾配ベクトルのうち少なくとも１つの勾配ベクトルの方向を平均することで得られる方向から決められる方向を前記エッジの方向として決定してもよい。
【００４１】
また、本発明の画像復号方法は、符号化された予測残差を含む画像データをブロック毎に復号する画像復号方法であって、対象ブロックの前記予測残差を復号する復号ステップと、前記対象ブロックを予測することで予測ブロックを生成する予測ステップと、前記予測ステップで生成された予測ブロックと、前記復号ステップで復号された予測残差とを加算することで復号ブロックを生成する加算ステップとを含み、前記予測ステップは、前記対象ブロックに近接するブロックに対応する、前に生成された復号ブロック内のエッジを検出するエッジ検出ステップと、前記予測ブロックを構成する予測画素毎に、前記対象ブロックに近接するブロックに含まれる画素に対応する、前に生成された復号画像データに含まれる複数の復号画素のうち、前記エッジ検出ステップで検出されたエッジの方向に平行で、前記予測画素を通過する線が通過する復号画素を含む少なくとも２つの復号画素の画素値の重み付け加算和を前記予測画素の画素値として算出することで、前記予測ブロックを生成する予測ブロック生成ステップとを含み、前記重み付け加算和の算出に用いられる重みは、前記少なくとも２つの復号画素のそれぞれに対応し、対応する復号画素と前記線との距離が小さいほど、大きな値になるように決定される。
また、本発明の画像復号方法は、符号化された予測残差を含む画像データをブロック毎に復号する画像復号方法であって、対象ブロックの前記予測残差を復号する復号ステップと、前記対象ブロックを予測することで予測ブロックを生成する予測ステップと、前記予測ステップで生成された予測ブロックと、前記復号ステップで復号された予測残差とを加算することで復号ブロックを生成する加算ステップとを含み、前記予測ステップは、前記対象ブロックに近接するブロックに対応する、前に生成された復号ブロック内のエッジを検出するエッジ検出ステップと、前記エッジ検出ステップで検出されたエッジの方向に沿って、前記対象ブロックに近接するブロックに含まれる画素に対応する予測ブロック生成ステップとを含んでもよい。
【００４２】
これにより、対象ブロックの周囲のブロックにおいて検出されたエッジの方向を予測方向として予測ブロックを生成することができる。このため、特に対象ピクチャがシャープなエッジを含む場合には、従来の予め定義された方向予測モードを用いて生成した予測ブロックよりも適切な予測ブロックを生成することができる。したがって、対象ブロックと予測ブロックとの差分である予測残差は小さくなるので、符号化歪みを抑制することができる。
【００４３】
また、前記予測ブロック生成ステップでは、前記予測ブロックを構成する予測画素毎に前記復号画像データに含まれる複数の復号画素の画素値の少なくとも２つの重み付け加算和を算出し、算出した重み付け加算和を外挿又は内挿することで、前記予測ブロックを生成し、前記重み付け加算和の算出に用いられる重みは、前記エッジ検出ステップで検出されたエッジの方向に基づいて決定されてもよい。
【００４４】
これにより、予測値の算出の対象となる予測画素を通り、検出されたエッジの方向の直線上に整数画素がない場合であっても、近傍の画素の重み付け加算和を算出することにより、適切な予測値を算出することができる。
【００４５】
また、前記エッジ検出ステップでは、互いに異なる方向を有する少なくとも２つのエッジを検出し、前記予測ブロック生成ステップでは、前記予測画素毎に、前記少なくとも２つのエッジそれぞれの方向に沿って外挿又は内挿するための前記複数の復号画素の画素値を合成し、合成した画素値を外挿又は内挿することで、前記予測ブロックを生成してもよい。
【００４６】
これにより、複数のエッジが対象ブロックの周囲のブロックにおいて検出された場合であっても、複数のエッジのそれぞれの方向に沿って予測値を算出することができるので、適切な予測値を算出することができる。
【００４７】
また、前記予測ステップは、さらに、エッジ予測モードを含む複数の予測モードから１つの予測モードを選択する予測モード選択ステップを含み、前記予測ブロック生成ステップでは、前記エッジ予測モードが選択された場合に、前記エッジ検出モードで検出されたエッジの方向に沿って前記復号画像データを外挿又は内挿することで、前記予測ブロックを生成してもよい。
【００４８】
これにより、エッジが検出された場合には検出されたエッジの方向に沿った外挿又は内挿を行うエッジ予測モードを実行することができ、エッジが検出されない場合には、通常の予測モードを実行することができる。
【００４９】
また、前記予測モード選択ステップでは、前記エッジ検出ステップでエッジが検出された場合に、前記エッジ予測モードと前記複数の方向予測モードとの中から１つの予測モードを選択し、前記エッジ検出ステップでエッジが検出されない場合に、前記ＤＣ予測モードと前記複数の方向予測モードとの中から１つの予測モードを選択してもよい。
【００５０】
これにより、エッジが検出された場合にはエッジ予測モードと従来の方向予測モードとを予測モードの候補として最適な予測モードを選択することができ、エッジが検出されない場合にはＤＣ予測モードと従来の方向予測モードとを予測モードの候補として最適な予測モードを選択することができる。
【００５１】
また、前記画像データは、さらに、予測モードを示す予測モード指示を含み、前記予測モード選択ステップでは、前記予測モード指示が前記ＤＣ予測モード又は前記エッジ予測モードを示す場合であって、さらに、前記エッジ検出ステップでエッジが検出された場合には前記エッジ予測モードを選択し、前記エッジ検出ステップでエッジが検出されない場合には前記ＤＣ予測モードを選択してもよい。
【００５２】
これにより、従来のＤＣ予測モードを示す情報をエッジ予測モードを示す情報として符号化されたビットストリームを正しく復号することができるので、符号化時にエッジ予測モードを示す情報を新たに符号化する必要がなく、符号化効率を高めることができる。
【００５３】
また、前記エッジ検出ステップは、前記対象ブロックに近接するブロックに対応する、前に生成された復号ブロックの複数の画素のそれぞれに対応する勾配ベクトルを算出する勾配ベクトル算出ステップと、前記勾配ベクトル算出ステップで算出された勾配ベクトルのうち、ノルムが予め定められた閾値を超え、かつ、当該勾配ベクトルに直交する直交ベクトルが前記対象ブロックを指すという条件を満たす少なくとも１つの勾配ベクトルが存在するか否かを判定するベクトル判定ステップと、前記ベクトル判定ステップで前記条件を満たす少なくとも１つの勾配ベクトルが存在すると判定された場合、前記条件を満たす少なくとも１つの勾配ベクトルに直交する直交ベクトルの方向をエッジの方向とするエッジを検出するエッジ方向決定ステップとを含んでもよい。
【００５４】
これにより、対象ブロックからではなく周囲のブロックを利用してエッジを検出することができるので、エッジの方向を示す情報などのエッジ予測モードに必要な情報が符号化器側から伝送されなくても、正しくビットストリームを復号することができる。
【００５５】
なお、本発明は、画像符号化方法及び画像復号方法として実現できるだけではなく、当該画像符号化方法及び画像復号方法に含まれるそれぞれのステップを処理手段とする画像符号化装置及び画像復号装置として実現することもできる。また、これらステップをコンピュータに実行させるプログラムとして実現してもよい。さらに、当該プログラムを記録したコンピュータ読み取り可能なＣＤ−ＲＯＭ（Ｃｏｍｐａｃｔ  Ｄｉｓｃ−Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）などの記録媒体、並びに、当該プログラムを示す情報、データ又は信号として実現してもよい。そして、それらプログラム、情報、データ及び信号は、インターネットなどの通信ネットワークを介して配信してもよい。
【００５６】
また、上記の画像符号化装置及び画像復号装置を構成する構成要素の一部又は全部は、１個のシステムＬＳＩ（Ｌａｒｇｅ  Ｓｃａｌｅ  Ｉｎｔｅｇｒａｔｉｏｎ：大規模集積回路）から構成されていてもよい。システムＬＳＩは、複数の構成部を１個のチップ上に集積して製造された超多機能ＬＳＩであり、具体的には、マイクロプロセッサ、ＲＯＭ及びＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）などを含んで構成されるコンピュータシステムである。
【発明の効果】
【００５７】
本発明によれば、対象ブロックをより正確に予測することができるので、符号化歪みを抑制し、かつ、符号化効率を高めることができる。
【図面の簡単な説明】
【００５８】
【図１Ａ】図１Ａは、従来のＨ．２６４／ＡＶＣ規格に従ったイントラ予測が適用される対象ブロックと参照画素との関係の一例を示す図である。
【図１Ｂ】図１Ｂは、従来のＨ．２６４／ＡＶＣ規格に従ったイントラ予測モードセットに含まれる予測方向を示す図である。
【図２】図２は、本実施の形態のハイブリッド符号化を行う画像符号化装置の構成の一例を示すブロック図である。
【図３】図３は、本実施の形態の画像符号化装置が備えるイントラ予測モード決定部の詳細な構成の一例を示す図である。
【図４】図４は、エッジを検出し、検出したエッジの方向を推定する方法を示す概略図である。
【図５】図５は、本実施の形態の画像復号装置の構成の一例を示すブロック図である。
【図６】図６は、本実施の形態の画像復号装置が備えるイントラ予測部の詳細な構成の一例を示すブロック図である。
【図７】図７は、本実施の形態におけるエッジ検出処理を示すフローチャートである。
【図８】図８は、本実施の形態における予測モードセットを決定する処理を示すフローチャートである。
【図９】図９は、本実施の形態におけるイントラ予測に基づいた画像又は映像データの符号化処理を示すフローチャートである。
【図１０】図１０は、本実施の形態におけるエッジの角度の算出処理を示すフローチャートである。
【図１１Ａ】図１１Ａは、本実施の形態における前に符号化及び復号された画像データの外挿を用いて、エッジ予測モードに従って予測ブロックを生成する処理を示す概略図である。
【図１１Ｂ】図１１Ｂは、本実施の形態における前に符号化及び復号された画像データの外挿を用いて、エッジ予測モードに従って予測ブロックを生成する処理を示す異なる概略図である。
【図１２】図１２は、本実施の形態における前に符号化及び復号された画像データの内挿を用いたエッジ予測を示す概略図である。
【図１３】図１３は、本実施の形態におけるエッジ予測モードによる予測ブロックを生成する方法を示すフローチャートである。
【図１４】図１４は、本実施の形態における少なくとも２つのエッジに基づいたエッジ予測モードに従って予測ブロックを生成する処理を示す概略図である。
【図１５】図１５は、本実施の形態におけるイントラ予測に基づいて画像及び映像データを復号する処理を示すフローチャートである。
【図１６】図１６は、本実施の形態におけるイントラ予測方法を示すフローチャートである。
【図１７Ａ】図１７Ａは、フォアマンシーケンス（ＣＩＦ）の最初の１０フレームのレート／ディストーションカーブを示す図である。
【図１７Ｂ】図１７Ｂは、スピンカレンダーシーケンス（７２０ｐ）のレート／ディストーションカーブを示す図である。
【図１８】図１８は、エッジ予測モードを用いて符号化されたブロックの割合とビットレート減少率とを示す図である。
【図１９】図１９は、本実施の形態の画像符号化装置の異なる構成の一例を示すブロック図である。
【図２０】図２０は、本実施の形態におけるメモリに格納される画素の一例を示す概略図である。
【発明を実施するための形態】
【００５９】
本実施の形態の画像符号化装置及び画像復号装置は、画像及び映像データを符号化及び復号する際に、対象ブロックの周囲に位置する周囲ブロックに含まれるエッジを検出し、検出したエッジの方向をイントラ予測方向として用いるエッジ予測モードを利用することができる。つまり、本実施の形態では、シャープなエッジを含むピクチャをイントラ予測により符号化する際に、エッジの方向を考慮に入れたイントラ予測符号化を行うことができる。
【００６０】
図２は、本実施の形態のハイブリッド符号化を行う画像符号化装置１００の構成の一例を示すブロック図である。同図に示す画像符号化装置１００は、フレームメモリ１０１と、減算部１０２と、周波数変換部１０３と、量子化部１０４と、可変長符号化部１０５と、逆量子化部１０６と、逆周波数変換部１０７と、加算部１０８と、参照ピクチャメモリ１０９と、イントラ予測モード決定部１１０と、動き検出部１１１と、イントラ予測部１１２と、動き補償部１１３と、スイッチ１１４及び１１５と、制御部１１６と、確率テーブル保持部１１７と、符号化モード決定部１１８とを備える。なお、図２に示すように、周波数変換部１０３と量子化部１０４とは、差分符号化部１２０に含まれる。また、逆量子化部１０６と逆周波数変換部１０７とは、差分復号部１３０に含まれる。
【００６１】
以下では、画像符号化装置１００が複数のフレームから構成される入力映像データを符号化するときの動作に沿って、各処理部の処理について説明する。
【００６２】
入力映像データの各ピクチャは、フレームメモリ１０１に格納される。各ピクチャは、複数のブロックに分割され、フレームメモリ１０１からブロック単位で（例えば、水平１６画素、垂直１６画素のマクロブロック単位で）出力される。なお、入力映像データは、プログレッシブ形式及びインターレース形式のいずれでもよい。
【００６３】
各マクロブロックは、イントラ又はインター予測モードのいずれかで符号化される。まず、対象マクロブロックがイントラ予測モードで符号化される場合について説明する。
【００６４】
イントラ予測モード（イントラフレーム予測）の場合、フレームメモリ１０１から出力されたマクロブロックは、イントラ予測モード決定部１１０に入力される（このとき、スイッチ１１４は、制御部１１６によって端子“ａ”に接続される）。イントラ予測モード決定部１１０は、入力されたマクロブロックにどのようにイントラ予測を実行するかを決定する。具体的には、イントラ予測モード決定部１１０は、イントラ予測モード（ＩＰＭ：Ｉｎｔｒａ−Ｐｒｅｄｉｃｔｉｏｎ  Ｍｏｄｅ）として、イントラ予測ブロックサイズ（以下のサイズの１つ：水平４画素×垂直４画素、水平８画素×垂直８画素、水平１６画素×垂直１６画素）と、イントラ予測方向とを決定する必要がある。イントラ予測モード決定部１１０の詳細な構成については、図３を用いて後で説明する。
【００６５】
例えば、図１Ａに示す対象ブロック１０（水平４画素×垂直４画素）は、参照画素２０を用いて、８つの予め定義されたイントラ予測方向に従って、予測されてもよい。ここで、イントラ予測に用いられる参照画素２０（図１Ａで対角方向の網掛けされた四角）は、既に符号化及び復号され、参照ピクチャメモリ１０９に格納されているとする。決定されたイントラ予測モードＩＰＭを示す情報は、イントラ予測部１１２と符号化モード決定部１１８とに出力される。
【００６６】
イントラ予測部１１２は、イントラ予測モード決定部１１０によって決定されたイントラ予測モードＩＰＭに基づいて、参照ピクチャメモリ１０９からイントラ予測に用いられる参照画素（イントラ参照画素）を取得する。そして、イントラ予測部１１２は、参照画素の画素値を外挿又は内挿することでイントラ予測された画像ＩＰを生成し、生成したイントラ予測画像ＩＰを減算部１０２に出力する（このとき、スイッチ１１５は、制御部１１６によって端子“ａ”に接続される）。
【００６７】
減算部１０２は、フレームメモリ１０１から入力映像データに含まれるピクチャのマクロブロック（対象マクロブロック）と、イントラ予測部１１２によって生成されたイントラ予測画像ＩＰとを受け取る。そして、減算部１０２は、対象マクロブロックとイントラ予測画像ＩＰとの差分（予測残差とも記載）を算出することで差分画像を生成し、生成した差分画像を周波数変換部１０３に出力する。
【００６８】
周波数変換部１０３は、減算部１０２によって生成された差分画像に、離散コサイン変換などの周波数変換を実行することで周波数変換係数を生成し、生成した周波数変換係数を出力する。
【００６９】
量子化部１０４は、周波数変換部１０３によって生成された周波数変換係数の量子化を行い、量子化された周波数変換係数ＱＴを出力する。ここで、量子化は、予め定められた値（量子化ステップ）によって周波数変換係数を割り算する処理である。この量子化ステップは、制御部１１６によって与えられるとする（量子化ステップは、制御部１１６に入力される制御信号ＣＴＬに含まれてもよい）。量子化周波数変換係数ＱＴは、可変長符号化部１０５と逆量子化部１０６とに出力される。
【００７０】
逆量子化部１０６は、量子化周波数変換係数ＱＴを逆量子化し、逆量子化した周波数変換係数を逆周波数変換部１０７に出力する。このとき、量子化部１０４による量子化時に用いられた量子化ステップと同じ量子化ステップが、制御部１１６から逆量子化部１０６に入力される。
【００７１】
逆周波数変換部１０７は、逆量子化された周波数変換係数を逆周波数変換することで復号された差分画像ＬＤＤを生成する。逆周波数変換部１０７は、生成した復号差分画像ＬＤＤを加算部１０８に出力する。
【００７２】
加算部１０８は、復号差分画像ＬＤＤを予測画像ＩＰ又はＭＰに加算することで、復号画像ＬＤを生成する。加算部１０８は、生成した復号画像ＬＤを参照ピクチャメモリ１０９に格納する。参照ピクチャメモリ１０９に格納された復号画像ＬＤは、参照画像として後の符号化に用いられる。
【００７３】
可変長符号化部１０５は、量子化部１０４から入力される量子化周波数変換係数ＱＴに可変長符号化を実行し、イントラ予測モード決定部１１０から符号化モード決定部１１８を介して入力されるイントラ予測モードＩＰＭを示す情報を同様に処理し、符号化シーケンスとしても参照されるビットストリームを出力する。
【００７４】
ここで、可変長符号化部１０５が用いる可変長符号化方法の１つの方法として、動画像を符号化する国際規格Ｈ．２６４で採用されるコンテキスト適応型算術符号化方法がある。コンテキスト適応型算術符号化方法は、可変長符号化の対象データと、既に可変長符号化（コンテキスト適応型）が実行されたデータとに従って、算術符号化するために用いられる確率テーブルを切り替える方法である。例えば、量子化周波数変換係数ＱＴの可変長符号化を実行するためのコンテキストとして、イントラ予測のためのブロックサイズと、周波数変換のためのブロックサイズとなどが用いられる。ここでは、確率テーブルは、確率テーブル保持部１１７に保持される。
【００７５】
次に、対象マクロブロックがインター予測モードで符号化される場合について説明する。
【００７６】
インター予測モード（インターフレーム予測）の場合、フレームメモリ１０１から出力されるマクロブロックは、動き検出部１１１に入力される（このとき、スイッチ１１４は、制御部１１６によって端子“ｂ”に接続される）。動き検出部１１１は、入力されたマクロブロックに対して、参照ピクチャ（参照ピクチャメモリ１０９に保持された再構成されたピクチャで、符号化されるピクチャとは異なるピクチャ）に対する動き（動きベクトル）を検出する。動き検出では、以下に示す動きベクトルが一般的には選択される。すなわち、符号化されるブロックと予測画像との最小差分値と、動きベクトルの符号量の重みの最小和とを有する動きベクトルである。検出された動きベクトルは、動き補償部１１３と符号化モード決定部１１８とに出力される。
【００７７】
動き補償部１１３は、動き検出部１１１によって決定された動きベクトルに基づいて、インター予測に用いられる参照画素（インター参照画素）を参照ピクチャメモリ１０９から取得する。そして、動き補償部１１３は、予測画像ＭＰを生成し、生成した予測画像ＭＰを減算部１０２に出力する（このとき、スイッチ１１５は、制御部１１６によって端子“ｂ”に接続される）。
【００７８】
減算部１０２と、周波数変換部１０３と、量子化部１０４と、逆量子化部１０６と、逆周波数変換部１０７と、加算部１０８とによって実行される処理は、イントラ予測の場合に説明した処理と同じである。それゆえに、これらの処理についての説明はここでは省略する。
【００７９】
符号化モード決定部１１８は、イントラ予測モード決定部１１０と、動き検出部１１１と、量子化部１０４と、フレームメモリ１０１と、加算部１０８となどからの出力を用いて符号化されるマクロブロックの符号化モードを決定する。ここでは、イントラピクチャ予測符号化とインターピクチャ予測符号化とのいずれか１つが、符号化対象のマクロブロックの符号化に用いられる。符号化モード決定部１１８は、一般的に、生成されるビット量と符号化歪みとの重み和が最も小さくなる値を有する符号化モードが選択することで、符号化モードを決定する。イントラピクチャ予測符号化が符号化モードとして選択された場合、符号化モード決定部１１８は、符号化モードＭＤと、イントラ予測モードＩＰＭを示す情報（イントラ予測ブロックサイズ、イントラ予測方向など）とを可変長符号化部１０５に出力する。一方で、インターピクチャ予測符号化が符号化モードとして選択された場合、符号化モード決定部１１８は、符号化モードＭＤと動きベクトルＭＶとを可変長符号化部１０５に出力する。
【００８０】
例えば、Ｈ．２６４規格のビットレートと符号化歪みとを用いたコスト関数が、対象ブロックを符号化するための最良の予測モードを決定するために用いられてもよい。それぞれの予測モードに対して、差分画像が、直交変換され、量子化され、可変長符号化される。そして、それぞれの予測モードに対して、ビットレートと、符号化歪みとが計算される。なお、コスト関数として、例えば、式１で示されるラグランジュコスト関数Ｊが用いられる。
【００８１】
【数１】
0005530181.tif 000002
【００８２】
式１において、Ｒは、差分画像（予測残差とも記載）と予測モード情報とを符号化するのに用いられるビットレートであり、Ｄは、符号化歪みであり、λは、符号化するのに選択される量子化パラメータＱＰに応じて算出されるラグランジュ乗数である。符号化モード決定部１１８は、最も低いコスト関数Ｊが最も低くなる予測モードを、対象ブロックを予測する際の予測モードとして選択する。
【００８３】
なお、符号化モード決定部１１８は、最適な予測モードを選択するためにコスト関数Ｊを一時的に格納するメモリを備える。
【００８４】
可変長符号化部１０５は、量子化部１０４から入力される量子化周波数変換係数ＱＴと、符号化モード決定部１１８から出力される符号化モードＭＤとイントラ予測モードＩＰＭ又は動きベクトルＭＶとに可変長符号化を実行し、ビットストリームを出力する。
【００８５】
ここで、可変長符号化部１０５が、コンテキスト適応型算術符号化を用いて動きベクトルＭＶを符号化する場合、符号化された周辺ブロックの動きベクトルのサイズ（コンテキスト）に依存する確率テーブルを変更する方法が用いられることができる。ここでは、確率テーブルは、確率テーブル保持部１１７に保持される。
【００８６】
予測モードは、映像データを符号化する処理において符号化器（画像符号化装置１００）側で実行された予測を復号器（例えば、後述する画像復号装置３００（図５参照））側で再現するために、復号器によって必要とされる情報のフルセットを含む。それゆえに、予測モードは、マクロブロック毎に符号化モード、すなわち、イントラ及びインター予測のいずれが適用されたかを定義する。さらに、予測モードは、マクロブロックがどのようにサブ分割されたかについての情報を含む。Ｈ．２６４／ＡＶＣによると、１６×１６画素からなるマクロブロックは、例えば、イントラ予測の場合に、さらに、８×８又は４×４画素のブロックにサブ分割されてもよい。
【００８７】
符号化モードに依存して、予測モードは、さらに、動き補償に用いられる動きベクトルのセット、又は、対象ブロックをイントラ予測するのに適用されたイントラ予測モードを特定する情報を含んでいる。
【００８８】
続いて、本実施の形態のイントラ予測モード決定部１１０の詳細な構成について図３を用いて説明する。
【００８９】
図３は、イントラ予測モード決定部１１０の詳細な構成の一例を示すブロック図である。同図に示すように、イントラ予測モード決定部１１０は、エッジ検出部２０１と、方向判定部２０２と、ノルム判定部２０３と、予測モードセット決定部２０４と、予測モード選択部２０５とを備える。
【００９０】
エッジ検出部２０１は、参照ピクチャメモリ１０９から参照画像を読み出し、読み出した参照画像に含まれるエッジを検出する。例えば、エッジ検出部２０１は、参照画像の勾配ベクトル場を算出し、エッジの最大値を与える勾配のノルムを評価することによって検出する。エッジの方向は、対応する勾配の方向に直交するベクトルの方向である。
【００９１】
なお、エッジ検出処理に用いられる参照画像は、対象ブロックに直接隣接するブロックに属する画素のうち、既に符号化及び復号されているブロックに含まれる画素である。勾配値は、式２に示す垂直及び水平ソーベル演算子を用いて近接画素で算出される。
【００９２】
【数２】
0005530181.tif 000003
【００９３】
エッジ検出部２０１は、画素毎に、垂直ソーベル演算子及び水平ソーベル演算子を用いることで、対応する画素の垂直方向及び水平方向の勾配の大きさ（勾配値）をそれぞれ算出する。算出した垂直方向及び水平方向の勾配値のベクトル合成などを行うことで、画素毎に勾配の方向が決定される。
【００９４】
図４は、エッジを検出し、検出したエッジの方向を推定する方法を示す概略図である。左斜め下方向に網掛けされた領域は、勾配を計算するために考慮される周囲ブロック３０の画素を示す。エッジ検出部２０１は、図４の左斜め下方向に網掛けされた画素のそれぞれに対して、式２を用いて勾配値を算出する。そして、算出した勾配値に基づいて勾配の方向を算出し、勾配の方向に直交する方向をエッジの方向として決定する。このとき勾配の方向に直交する方向のベクトルをエッジベクトルとも記載する。なお、エッジベクトルのノルムは、例えば、当該エッジベクトルが検出された画素の勾配ベクトルのノルムと同じである。
【００９５】
図３に戻ると、方向判定部２０２は、エッジ検出部２０１によって検出されたエッジの方向が、イントラ予測の対象ブロックを指しているか否かを判定する。例えば、図４に示すエッジ４０が検出された場合、エッジ４０の延長線が対象ブロック１０に含まれるので、方向判定部２０２は、エッジ４０はイントラ予測の対象ブロック１０を指していると判定する。一方で、図４に示すエッジ４１が検出された場合、エッジ４１の延長線は対象ブロック１０に含まれないので、方向判定部２０２は、エッジ４１はイントラ予測の対象ブロック１０を指していないと判定する。
【００９６】
ノルム判定部２０３は、方向判定部２０２によってイントラ予測の対象ブロックを指していると判定されたエッジのノルムを算出し、算出したノルムが予め定められた閾値より大きいか否かを判定する。エッジのノルムとは、エッジベクトル又は勾配ベクトルのノルムである。ノルム判定部２０３は、算出したノルムが閾値より大きい場合に、エッジは検出されたと判定する。算出したノルムが閾値以下の場合に、エッジは検出されなかったと判定する。なお、このときに用いられる閾値は、例えば、異なる最大ベクトルノルムと、シャープなエッジ及び滑らかな領域の両方を含む異なるシーケンスとの違いの比較に基づいて、経験的に選択される。
【００９７】
予測モードセット決定部２０４は、対象ブロックを符号化する際に用いられる予測モードのセットをエッジが検出されたか否かに応じて決定する。具体的には、従来と同様にＤＣ予測モードと８つの方向モードとからなる予測モードセット（従来の予測モードセット）か、エッジ予測モードと８つの方向モードとからなる予測モードセット（新たな予測モードセット）かを決定する。
【００９８】
エッジベクトルのノルムが閾値以下であるとき、エッジは検出されないので、予測モードセット決定部２０４は、利用可能な予測モードセットとして、Ｈ．２６４映像符号化規格で用いられる９つの従来の予測モードセットに決定する。
【００９９】
エッジベクトル（又は、勾配ベクトル）のノルムが閾値より大きいとき、エッジは検出されるので、予測モードセット決定部２０４は、利用可能な予測モードセットとして、新たな予測モードセットに決定する。なお、エッジが検出された場合、対象ブロックは、方向性の強い構造を含む傾向にあるので、ＤＣ予測モードが対象ブロックを予測するのに良い候補ではないと考えられる。それゆえに、ＤＣ予測モードが、エッジ予測モードに置き換えられる。しかしながら、Ｈ．２６４映像符号化規格の残りの８つの方向性予測モードは、保持される。それらは、特に、前のブロック（エッジが検出されたブロック）と対象ブロックとの間でエッジの方向が変更した時に有用である。
【０１００】
予測モード選択部２０５は、予測モードセット決定部２０４によって決定された予測モードセットの中から１つの予測モードを選択する。
【０１０１】
以上のように本実施の形態の画像符号化装置１００は、対象ブロックを符号化する際に選択される予測モードとして、新たなエッジ予測モードを備える。さらに、エッジ予測モードに従って対象ブロックをイントラ符号化するために、対象ブロックの周囲のブロックからエッジを検出し、検出したエッジの方向をイントラ予測方向としてイントラ予測符号化を行う。本実施の形態の画像符号化装置１００の具体的な動作については、フローチャートを用いて後で説明する。
【０１０２】
次に、本実施の形態の画像復号装置３００の構成について説明する。
【０１０３】
図５は、本実施の形態の画像復号装置３００の構成の一例を示すブロック図である。同図に示す画像復号装置３００は、逆量子化部３０１と、逆周波数変換部３０２と、加算部３０３と、フレームメモリ３０４と、イントラ予測部３０５と、動き補償部３０６と、制御部３０７と、スイッチ３０８及び３０９とを備える。
【０１０４】
以下では、画像復号装置３００が、ビットストリーム（符号化された映像データ）を復号するときの動作に沿って、各処理部の処理について説明する。本実施の形態の画像復号装置３００は、予測残差を含む符号化映像データをブロック毎にイントラ又はインターフレーム予測符号化ブロックのいずれかとして復号する。符号化モードＭＤは、制御部３０７に入力され、イントラ予測モードＩＰＭ又は動きベクトルＭＶを示す情報は、スイッチ３０８に入力され、量子化周波数変換係数ＱＴは、逆量子化部３０１に入力される。
【０１０５】
制御部３０７は、符号化モードＭＤに基づいてスイッチ３０８及び３０９を制御する。符号化モードＭＤがイントラ予測符号化を示す場合、スイッチ３０８は、端子“ａ”に接続され、イントラ予測モードＩＰＭを示す情報がイントラ予測部３０５に入力される。符号化モードＭＤがインター予測符号化を示す場合、スイッチ３０８は、端子“ｂ”に接続され、動きベクトルＭＶが動き補償部３０６に入力される。
【０１０６】
対象ブロックがイントラ予測符号化ブロックの場合、スイッチ３０８及び３０９は、端子“ａ”に接続される。そして、イントラ予測モードを示す情報は、イントラ予測部３０５に入力され、量子化周波数変換係数ＱＴは、逆量子化部３０１に入力される。なお、量子化周波数変換係数ＱＴが、符号化器（例えば、画像符号化装置１００）によって符号化された予測誤差に相当する。
【０１０７】
イントラ予測部３０５は、入力されたイントラ予測モードに基づいて、イントラ予測参照画素をフレームメモリ３０４から取得し、イントラ予測された画像（予測ブロック）を生成し、加算部３０３にイントラ予測画像を出力する。
【０１０８】
逆量子化部３０１は、量子化周波数変換係数ＱＴを逆量子化し、逆量子化した周波数変換係数を逆周波数変換部３０２に出力する。そして、逆周波数変換部３０２は、逆量子化された周波数変換係数を逆周波数変換することで、復号された差分画像ＬＤＤを生成する。逆周波数変換部３０２は、生成した復号差分画像ＬＤＤを加算部３０３に出力する。
【０１０９】
加算部３０３は、復号差分画像ＬＤＤとイントラ予測画像ＩＰとを加算することで、復号画像ＬＤを生成する。生成した復号画像ＬＤは、フレームメモリ３０４に格納される。なお、フレームメモリ３０４に格納された復号画像は、後の復号で参照ピクチャとして用いられる。また、復号画像は、復号映像データを成すように出力される。
【０１１０】
対象ブロックがインター予測ブロックの場合、スイッチ３０８及び３０９は、端子“ｂ”に接続される。そして、動きベクトルＭＶを示す情報が動き補償部３０６に入力され、量子化周波数変換係数ＱＴが逆量子化部３０１に入力される。
【０１１１】
動き補償部３０６は、入力された動きベクトルＭＶに基づいて、参照画素をフレームメモリ３０４から取得し、予測されたピクチャを生成し、加算部３０３に予測ピクチャを出力する。
【０１１２】
逆量子化部３０１、逆周波数変換部３０２及び加算部３０３の処理は、イントラ予測ブロックの場合に説明した処理と同じである。復号画像ＬＤは、フレームメモリ３０４に格納される。フレームメモリ３０４に格納された復号画像は、後の復号で参照ピクチャとして用いられる。また、復号画像は、復号映像データを成すように出力される。
【０１１３】
続いて、本実施の形態のイントラ予測部３０５の詳細な構成について図６を用いて説明する。
【０１１４】
図６は、本実施の形態のイントラ予測部３０５の詳細な構成の一例を示す図である。同図に示すように、イントラ予測部３０５は、エッジ検出部４０１と、方向判定部４０２と、ノルム判定部４０３と、予測モード判定部４０４と、予測ブロック生成部４０５とを備える。
【０１１５】
エッジ検出部４０１は、予測モード判定部４０４によってイントラ予測モードがエッジ予測モード又はＤＣ予測モードであると判定された場合、フレームメモリ３０４から参照画像を読み出し、読み出した参照画像に含まれるエッジを検出する。具体的なエッジ検出処理は、エッジ検出部２０１と同様であり、後で詳しく説明する。
【０１１６】
方向判定部４０２は、エッジ検出部４０１によって検出されたエッジの方向が、イントラ予測の対象ブロックを指しているか否かを判定する。具体的なエッジの方向判定処理は、方向判定部２０２と同様であり、後で詳しく説明する。
【０１１７】
ノルム判定部４０３は、方向判定部４０２によってイントラ予測の対象ブロックを指していると判定されたエッジのノルムを算出し、算出したノルムが予め定められた閾値より大きいか否かを判定する。なお、このときに用いられる閾値は、符号化時のノルム判定処理で用いられた閾値と同じ閾値であることが望ましい。したがって、閾値が装置に固有の値でない場合は、符号化装置から送信される。具体的なノルム判定処理は、ノルム判定部２０３と同様であり、後で詳しく説明する。
【０１１８】
予測モード判定部４０４は、ビットストリームに含まれるイントラ予測モードＩＰＭを示す情報を取得し、イントラ予測モードがエッジ予測モード又はＤＣ予測モードであるかを判定する。エッジ予測モード又はＤＣ予測モードのいずれかである場合は、予測モード判定部４０４は、エッジ検出部４０１にエッジ検出処理を行わせる。そして、ノルム判定部４０３の判定結果に基づいて、イントラ予測モードがＤＣ予測モードであるかエッジ予測モードであるかを予測ブロック生成部４０５に通知する。
【０１１９】
なお、エッジ予測モード及びＤＣ予測モードのいずれでもない場合、すなわち、従来の方向予測モード（図１Ｂ）である場合、予測モード判定部４０４は、イントラ予測モードが方向予測モードであることを予測ブロック生成部４０５に通知する。
【０１２０】
予測ブロック生成部４０５は、予測モード判定部４０４から通知されるイントラ予測モードに従って予測ブロックを生成する。具体的には、フレームメモリ３０４から参照画素を読み出し、読み出した参照画素を外挿又は内挿することで予測ブロックを生成する。生成した予測ブロックは、スイッチ３０９を介して加算部３０３に出力される。
【０１２１】
以上のように、本実施の形態の画像復号装置３００は、対象ブロックを復号する際に選択される予測モードとして、新たなエッジ予測モードを備える。さらに、エッジ予測モードに従って対象ブロックを復号するために、対象ブロックの周囲のブロックからエッジを検出し、検出したエッジの方向をイントラ予測方向としてイントラ予測復号を行う。本実施の形態の画像復号装置３００の具体的な動作については、フローチャートを用いて後で説明する。
【０１２２】
続いて、本実施の形態の画像符号化装置１００の動作について説明する。まず、以下ではエッジ検出処理について図７を用いて説明する。図７は、本実施の形態のエッジ検出処理を示すフローチャートである。
【０１２３】
エッジ検出処理は、勾配を算出するために考慮される全ての画素（例えば、図４の左斜め下方向に網掛けされた画素）に対して実行される（Ｓ１０１）。
【０１２４】
エッジ検出部２０１は、対象画素位置の勾配ベクトルを式２のソーベル演算子を適用することで算出する（Ｓ１０２）。そして、エッジ検出部２０１は、算出した勾配ベクトルに直交するエッジベクトルを算出し、算出したエッジベクトルの方向を検出する（Ｓ１０３）。
【０１２５】
次に、方向判定部２０２は、勾配が対象ブロックを横切るエッジを示すか否か、すなわち、勾配ベクトルに直交するエッジベクトルが予測の対象ブロックを指しているか否かを判定する（Ｓ１０４）。エッジベクトルが予測の対象ブロックを指していない場合であって（Ｓ１０４でＮｏ）、かつ、次の画素がある場合（Ｓ１０５でＹｅｓ）、処理は次の画素に進む。すなわち、次の画素に対して、勾配ベクトルの算出（Ｓ１０２）から繰り返される。
【０１２６】
エッジベクトルが予測の対象ブロックを指している場合には（Ｓ１０４でＹｅｓ）、ノルム判定部２０３は、勾配ベクトルのノルムを算出する（Ｓ１０６）。そして、ノルム判定部２０３は、算出したノルムが予め定められた閾値より大きいか否かを判定する（Ｓ１０７）。算出したノルムが閾値以下である場合（Ｓ１０７でＮｏ）、かつ、次の画素がある場合（Ｓ１０５でＹｅｓ）、処理は次の画素に進む。すなわち、次の画素に対して、勾配ベクトルの算出（Ｓ１０２）から繰り返される。
【０１２７】
算出したノルムが閾値より大きい場合には（Ｓ１０７でＹｅｓ）、ノルム判定部２０３は、算出したノルムが、前に決定された全ての勾配ベクトルのうち最大ノルムを有する勾配ベクトルのノルムより大きいか否かを判定する（Ｓ１０８）。算出したノルムが最大ノルムより大きい場合は（Ｓ１０８でＹｅｓ）、当該勾配ベクトルを、新たな最大ベクトルとして設定する（Ｓ１０９）。
【０１２８】
そして、算出したノルムと最大ノルムとの比較結果に関わらず、ノルム判定部２０３は、画素のベクトルと位置とをメモリに格納する（Ｓ１１０）。このとき、メモリに格納する画素のベクトルは、エッジベクトルであることが望ましい。また、メモリは、例えばノルム判定部２０３が内部に備えるメモリである。
【０１２９】
そして、次の画素がある場合（Ｓ１０５でＹｅｓ）、処理は次の画素に進む。すなわち、次の画素に対して、勾配ベクトルの算出（Ｓ１０２）から繰り返される。
【０１３０】
以上のようにして、対象ブロック（対象ブロック１０）の周囲に位置する周囲ブロック（周囲ブロック３０）に含まれる画素であって、エッジ検出処理の対象となる全ての画素（図４の左斜め下方向に網掛けされた画素）に対して、エッジ検出処理が実行され、エッジが検出された画素の位置と、そのエッジベクトルとがメモリに格納される。
【０１３１】
また、本実施の形態によると、画像データのブロックを符号化するのに用いられるイントラ予測モードセットは、近接する前に符号化及び復号されたブロックに実行されるエッジ検出処理の結果に依存する。すなわち、対象ブロックからエッジを検出するのではなく、周囲ブロックからエッジを検出し、その検出結果に基づいて対象ブロックを符号化する際のイントラ予測モードセットを決定する。
【０１３２】
なお、上述のエッジ検出処理を画像復号装置３００が実行する場合も同様である。具体的には、エッジ検出部２０１、方向判定部２０２及びノルム判定部２０３のそれぞれが行う処理を、エッジ検出部４０１、方向判定部４０２及びノルム判定部４０３がそれぞれ実行する。
【０１３３】
続いて、イントラ予測モードセットを決定する処理について図８を用いて説明する。図８は、適切なイントラ予測モードセットを決定する処理を示すフローチャートである。
【０１３４】
まず始めに、図７のエッジ検出処理が、エッジ検出部２０１、方向判定部２０２及びノルム判定部２０３によって実行される（Ｓ２０１）。次に、予測モードセット決定部２０４は、少なくとも１つのエッジベクトルが格納されているか、すなわち、対象ブロックを指すエッジに対応する方向で閾値より大きなノルムを有するベクトルがあるかを判定する。
【０１３５】
少なくとも１つのエッジベクトルが格納されている場合、すなわち、エッジが検出された場合（Ｓ２０２でＹｅｓ）、イントラ予測モードセット決定部２０４は、利用可能なイントラ予測モードセットとして、新たな予測モードセットを選択する（Ｓ２０３）。新たな予測モードセットは、上述のように、８つの従来の予測方向（Ｈ．２６４符号化規格の方向性予測モード）と新たなエッジ予測モードとで構成される。
【０１３６】
エッジベクトルが１つも格納されていない場合、すなわち、エッジが検出されなかった場合（Ｓ２０２でＮｏ）、イントラ予測モードセット決定部２０４は、利用可能なイントラ予測モードのセットとして、従来の予測モードセットを選択する（Ｓ２０４）。従来の予測モードセットは、上述のように、Ｈ．２６４符号化器各の９つの従来の予測モード、すなわち、８つの従来の予測方向と従来のＤＣ予測モードとで構成される。
【０１３７】
以上のようにして、本実施の形態の画像符号化装置１００は、エッジが検出されたか否かに応じて、イントラ予測モードセットを決定する。すなわち、エッジが検出された場合は、エッジ予測モードを含むイントラ予測モードセットを選択し、エッジが検出されない場合は、ＤＣ予測モードを含むイントラ予測モードセットを選択する。
【０１３８】
なお、続く処理では、予測モード選択部２０５は、イントラ予測部１１２を用いてイントラ予測を実行するために、利用可能なイントラ予測モードのセットから１つのイントラ予測モードを選択する。
【０１３９】
続いて、本実施の形態の画像符号化装置１００のイントラ予測に基づいた符号化処理について図９を用いて説明する。図９は、本実施の形態において、イントラ予測に基づいて画像又は映像データを符号化する処理を示すフローチャートである。
【０１４０】
図９に示す符号化処理は、１６×１６画素のマクロブロック毎に実行される（Ｓ３０１）。さらに、マクロブロックを可能なサイズに分割した分割サイズ（４×４画素、８×８画素、１６×１６画素）毎に実行される（Ｓ３０２）。さらに、分割サイズを分割したブロック（４×４画素）毎に実行される（Ｓ３０３）。
【０１４１】
イントラ予測モード決定部１１０は、図８を用いて説明した処理を実行し、予測モードセット決定部２０４は、適したイントラ予測モードセットを選択する（Ｓ３０４）。そして、イントラ予測モードセットに含まれる各予測モードに対して以下の処理（Ｓ３０５〜Ｓ３１４）を実行することで、最適な予測モードが選択される。
【０１４２】
具体的には、まず、予測モード選択部２０５は、イントラ予測モードセットに含まれる９つの予測モードのうち１つの予測モードを、対象ブロックＢに対する対象予測モードとして選択する（Ｓ３０５）。選択した対象予測モードは、イントラ予測部１１２に出力される。
【０１４３】
イントラ予測部１１２は、対象予測モードに従って、対象ブロックＢに対応する予測ブロックＢpredを生成する（Ｓ３０６）。生成した予測ブロックＢpredは、減算部１０２に出力される。
【０１４４】
減算部１０２は、対象ブロックＢと予測ブロックＢpredとの差分、すなわち、予測残差（予測誤差）Ｂres＝Ｂ−Ｂpredを算出する（Ｓ３０７）。算出した予測残差Ｂresは、周波数変換部１０３に出力される。
【０１４５】
周波数変換部１０３は、算出した予測残差Ｂresを周波数変換し、周波数変換された予測残差（周波数変換係数）を量子化部１０４に出力する。量子化部１０４は、周波数変換された予測残差を量子化する（Ｓ３０８）。量子化により得られた量子化周波数変換係数ＱＴは、逆量子化部１０６と可変長符号化部１０５とに出力される。
【０１４６】
逆量子化部１０６は、量子化周波数変換係数ＱＴを逆量子化し、逆量子化された周波数変換係数を逆周波数変換部１０７に出力する。そして、逆周波数変換部１０７は、逆量子化された周波数変換係数を逆周波数変換することで、復号された差分ブロックＢresqを生成する（Ｓ３０９）。生成された差分ブロックＢresqは、加算部１０８に出力される。加算部１０８は、差分ブロックＢresqと予測ブロックＢpredとを加算することで、復号ブロックＢpred＋Ｂresqを生成する。
【０１４７】
符号化モード決定部１１８は、原ブロックである対象ブロックＢと再構成ブロックＢpred＋Ｂresqとの差分である符号化歪みＤ＝Ｂ−（Ｂpred＋Ｂresq）と、予測残差Ｂresと予測モードとを符号化するのに必要とされるビットレートの和であるビットレートＲ＝Ｒres＋Ｒmodeとを算出する（Ｓ３１０）。さらに、符号化モード決定部１１８は、算出した符号化歪みＤとビットレートＲとを用いて、コスト関数Ｊ＝Ｄ＋λＲを算出する（Ｓ３１１）。
【０１４８】
符号化モード決定部１１８は、算出したコスト関数Ｊの対象値が、前に格納されたコスト関数の最小値Ｊｍｉｎより小さいか否かを判定する（Ｓ３１２）。算出したコスト関数Ｊが最小値Ｊｍｉｎより小さい場合（Ｓ３１２でＹｅｓ）、符号化モード決定部１１８は、対象予測モードと対象分割サイズとをメモリに格納し、前に格納した最小値Ｊｍｉｎを、今回算出したコスト関数Ｊの対象値に更新する（Ｓ３１３）。
【０１４９】
続いて、次の予測モードがある場合、すなわち、決定された予測モードセットに含まれる複数の予測モードのうち、まだコスト関数Ｊが算出されていない予測モードがある場合（Ｓ３１４でＹｅｓ）、予測モード選択部２０５は、コスト関数Ｊが算出されていない予測モードを１つ選択する。そして、選択された予測モードを対象予測モードとして、予測ブロックの生成処理（Ｓ３０６）から繰り返される。
【０１５０】
全ての予測モードに対するコスト関数Ｊが算出された場合で（Ｓ３１４でＮｏ）、かつ、次のブロックがある場合（Ｓ３１５でＹｅｓ）、次のブロックを対象ブロックとして、予測モードセットの決定処理（Ｓ３０４）から繰り返される。なお、次のブロックがある場合とは、１つのマクロブロックに含まれる全てのブロックのうち、コスト関数の算出を行っていないブロックがある場合である。
【０１５１】
次のブロックがない場合で（Ｓ３１５でＮｏ）、次の分割サイズがある場合（Ｓ３１６でＹｅｓ）、マクロブロックを次の分割サイズで分割し、分割により得られたブロック毎に以上の処理が繰り返される。なお、次の分割サイズがある場合とは、１つのマクロブロックを分割可能な複数の分割サイズのうち、ブロック毎の処理が行われていない分割サイズがある場合である。例えば、１つのマクロブロックは、３通りの分割サイズ（４×４画素、８×８画素、１６×１６画素）に分割することができるので、３通りの分割サイズのそれぞれに対してブロック毎の処理が完了するまで処理（Ｓ３０２〜Ｓ３１６）が繰り返される。
【０１５２】
全ての分割サイズに対する処理が完了すると（Ｓ３１６でＮｏ）、符号化モード決定部１１８は、コスト関数の最も低い値を有する分割サイズと、対応する予測モードとを選択する（Ｓ３１７）。選択した分割サイズと予測モードとを示す情報は、可変長符号化部１０５に出力される。
【０１５３】
最後に、可変長符号化部１０５は、選択された分割サイズ、予測モード、及び、対応する残差とを符号化し、符号化により生成された結果を出力ビットストリームに書き込む（Ｓ３１８）。なお、可変長符号化部１０５は、例えば、統計的符号化器を用いて符号化する。
【０１５４】
このとき、符号化される予測モードを示す情報（モード指示）は、複数の方向予測モードが選択された場合は選択された方向予測モードを示す情報であり、ＤＣ予測モード又はエッジ予測モードが選択された場合はＤＣ予測モード及びエッジ予測モードのいずれかを示す情報である。すなわち、可変長符号化部１０５は、１つの符号語をＤＣ予測モードとエッジ予測モードとの双方に割り当てる。
【０１５５】
そして、次のマクロブロックがある場合（Ｓ３１９でＹｅｓ）、次のマクロブロックに対して以上に示す処理（Ｓ３０１〜Ｓ３１９）は繰り返される。
【０１５６】
以上のようにして、本実施の形態の画像符号化装置１００は、ブロック毎に予測モードを決定し、入力映像データを符号化する。上述のように、予測モードを選択する前に予測モードセットが決定される。本実施の形態では、選択候補となる予測モードセットは、従来の予測モードセットと新たな予測モードセットとがあり、新たな予測モードセットには、ＤＣ予測モードの代わりにエッジ予測モードが含まれる。
【０１５７】
このとき新たな予測モードであるエッジ予測モードを示す情報は、ＤＣ予測モードを示す情報と同一の符号語を用いて符号化される。したがって、この符号語を受け取った復号器側で、ＤＣ予測モードであるかエッジ予測モードであるかを判定する。これにより、エッジ予測モードを示す情報に新たな符号語を割り当てる必要がなくなるので、符号量の増加を防ぐことができる。
【０１５８】
以下では、新たなエッジ予測モードについてより詳細に説明する。
【０１５９】
上述したように周囲ブロックに含まれる、勾配の算出処理の対象となる画素毎に、勾配が算出され、イントラ予測部１１２は、最大ノルムを有するベクトルと、最大ノルムを有するベクトルが得られた画素に隣接する画素のベクトルとを用いてエッジの角度を算出する。具体的には、隣接画素のそれぞれに対して、対応するエッジベクトル（又は勾配ベクトル）のノルムは、最大ベクトルのノルムと比較される。隣接画素のエッジベクトルのノルムが、最大ベクトルのノルムの５０％より大きい場合のみ、当該隣接画素のエッジベクトルを利用するためにメモリに格納する。そして、イントラ予測部１１２は、メモリに格納された最大ベクトルと周囲ベクトルとのそれぞれの角度の平均を、新たなエッジ予測モードの方向の角度αとして算出する。具体的には、以下の図１０に示すフローチャートに従って実行される。
【０１６０】
図１０は、本実施の形態においてエッジの角度を算出する処理を示すフローチャートである。この処理は、図７を用いて説明したエッジ検出処理の結果に依存する。図７に示すエッジ検出処理を行った結果、閾値より大きいと判定された１つ以上のエッジベクトルと対応する画素の位置とが格納される。
【０１６１】
ノルム判定部２０３は、エッジ検出処理で検出された最大エッジベクトルの角度を算出し、メモリに格納する（Ｓ４０１）。そして、以下の処理は、最大エッジベクトルが算出された画素に隣接する全ての画素に対して実行される（Ｓ４０２）。すなわち、ノルム判定部２０３は、最大エッジベクトルが算出された画素に隣接する画素のうち、１つの画素の位置を対象画素位置として以下の処理を行う。
【０１６２】
次に、ノルム判定部２０３は、対象画素位置に対応するエッジベクトルがノルム判定部２０３の有するメモリに格納されるか否かを判定する（Ｓ４０３）。すなわち、閾値より大きいノルムを有し、かつ、対象ブロックを指すエッジベクトルが格納されているか否かを判定する。
【０１６３】
エッジベクトルが格納されている場合（Ｓ４０３でＹｅｓ）、ノルム判定部２０３は、このベクトルのノルムを算出する（Ｓ４０４）。そして、ノルム判定部２０３は、算出したノルムと最大エッジベクトルのノルムとを比較する（Ｓ４０５）。算出したノルムが最大ノルムの５０％より大きい場合（Ｓ４０５でＹｅｓ）、ノルム判定部２０３は、対象画素位置のベクトルの角度を算出し、メモリに格納する（Ｓ４０６）。
【０１６４】
以上の処理（Ｓ４０３〜Ｓ４０６）を全ての対象画素位置に対して実行する。次の画素がない場合、すなわち、全ての対象画素位置に対して処理が終了した場合（Ｓ４０７でＮｏ）、ノルム判定部２０３は、メモリに格納された角度を平均することで、エッジの角度を算出する（Ｓ４０８）。
【０１６５】
なお、図１０に示すような検出したエッジの角度を決定する上述の処理は、単なる例示である。本発明は、エッジを検出し、又は、その方向を決定するいかなる特定の方法にも限定されない。例えば、エッジの角度は、最大エッジベクトルのみの方向から決定されてもよい。あるいは、より多く又はより少ない数の近接するベクトル、又は、エッジに沿った他のベクトルの方向から決定されてもよい。また、メモリに格納するベクトルはエッジベクトルであるとしたが、勾配ベクトルであってもよい。
【０１６６】
予測モード選択部２０５がエッジ予測モードを選択した場合、イントラ予測部１１２は、以上のようにして決定したエッジの角度、すなわち、エッジの方向を予測方向として予測ブロックを生成する。なお、以上のエッジの角度算出処理をイントラ予測部１１２が行ってもよい。このとき、イントラ予測部１１２は、エッジ検出部２０１、方向判定部２０２及びノルム判定部２０３に相当する処理部を有する。
【０１６７】
なお、上述のエッジの角度算出処理を画像復号装置３００が実行する場合も同様である。具体的には、エッジ検出部２０１、方向判定部２０２及びノルム判定部２０３のそれぞれが行う処理を、エッジ検出部４０１、方向判定部４０２及びノルム判定部４０３がそれぞれ実行する。
【０１６８】
続いて、本実施の形態のエッジ予測モードに従って予測ブロックを生成する動作について図１１Ａ〜図１３を用いて説明する。
【０１６９】
図１１Ａ、図１１Ｂ及び図１２は、本実施の形態のエッジ予測モードを示す概略図である。このモードによれば、対象ブロックは、ある方向に沿って前に符号化及び復号された映像データを外挿又は内挿することによって予測される。従来の方向のイントラ予測モード（図１Ｂ）は、イントラ予測の方向が固定的であったのに対して、エッジ予測モードは、任意の方向に沿って対象ブロックを予測することができる。本実施の形態によれば、予測の方向は、前に符号化及び復号された画像データ内のエッジを検出することによって決定される。
【０１７０】
図１１Ａは、検出されたエッジの方向５０が対象ブロック１０の上境界を横切る場合の図である。図１１Ａに示すように、対象ブロック１０は、前に符号化及び復号された映像データを外挿することによって、具体的には、検出されたエッジの方向５０に沿って参照画素２０を連続させることによって、予測される。すなわち、イントラ予測部１１２は、エッジの方向から決定される参照画素２０の画素値（あるいは、２つ以上の参照画素２０から算出される補間値）を、予測ブロックを構成する画素の画素値（予測値）とすることで、予測ブロックを構成する。
【０１７１】
イントラ予測部１１２は、エッジのシャープさを保つために、参照画素２０の間の線形補間を、画素の予測値を算出するために用いる。図１１Ａに示すように、決定された角度αに沿った参照画素の平行移動は、整数画素位置に一致しない。
【０１７２】
位置（ｘ，ｙ）で予測する各画素に対して、参照位置ｘ−δxは、エッジの方向５０によって示されるエッジの角度αに依存して見つけられる。そして、参照位置の参照値は、２つの周囲の整数参照画素ａとｂとを線形補間することによって算出される。このように算出された参照値は、予測される画素の予測値ｐとして用いられる。なお、利用可能な参照画素は、対象ブロック１０に直接隣接する参照画素２０である。
【０１７３】
予測値ｐは、２つの参照画素の画素値ａとｂとの重み付け加算和として式３によって算出される。
【０１７４】
【数３】
0005530181.tif 000004
なお、ｗa＝δx−ｆｌｏｏｒ（δx）、ｗb＝ｃｅｉｌ（δx）−δx、かつδx＝ｙｃｏｔαである。
【０１７５】
水平方向の増加量δxは、検出されたエッジの角度αと、ブロック内の予測される画素の位置（ｘ，ｙ）とから算出される。なお、図１１Ａにおいて、位置（０，０）は、対象ブロック１０に隣接する参照画素２０の左上角の位置である。よって、同図において、予測値ｐの画素位置は、（３，２）で示される。
【０１７６】
画素を通過し、検出されたエッジに平行な線（エッジの方向５１）が、対象ブロックの上境界ではなく左境界を横切る場合、式３に類似の式が用いられる。図１１Ｂは、検出されたエッジの方向５１が対象ブロック１０の左境界を横切る場合の図である。ここで、垂直方向の増加量は、δyであり、参照画素値ｃとｄとを用いて位置（ｘ，ｙ）の画素に対する予測値ｐは、式４を用いて算出される。
【０１７７】
【数４】
0005530181.tif 000005
なお、ｗc＝δy−ｆｌｏｏｒ（δy）、ｗd＝ｃｅｉｌ（δy）−δy、かつδy＝ｘｔａｎαである。
【０１７８】
なお、図１１Ｂにおいて、位置（０，０）は、対象ブロック１０に隣接する参照画素２０の左上角の位置である。よって、同図において、予測値ｐの画素位置は、（４，４）で示される。
【０１７９】
図１２に示すように、画素を通過し、検出されたエッジに平行な線（エッジの方向５２）が、対象ブロックの左境界を横切るだけでなく、その上境界、又は、対象ブロックの右に位置するブロックの上境界を横切る場合、２つの関連のある参照位置（ａ及びｂと、ｃ及びｄ）があってもよい。この場合、両方の参照位置が予測に用いられるように、対象ブロック１０は、外挿ではなく、前に符号化及び復号された映像データの内挿によって予測されてもよい。予測値は、２つの参照位置の補間された画素値の線形補間の結果である。
【０１８０】
具体的には、予測値ｐは、例えば、式５のように、４つの参照画素値ａ、ｂ、ｃ及びｄの重み付け加算和として算出されてもよい。
【０１８１】
【数５】
0005530181.tif 000006
なお、ｗｕｐ＝Ｎ−ｙ、ｗｌｅｆｔ＝Ｎ−ｘ、かつ、Ｎ＝４またはＮ＝８であり、Ｎは、ブロックサイズに依存する。
【０１８２】
別の例として、２つの参照位置の本当の補間、すなわち、２つの参照位置間のユークリッド距離であるｗupとｗleftを算出してもよい。
【０１８３】
以上のように、本実施の形態では、イントラ予測部１１２は、検出されたエッジの方向に沿って、対象ブロックに近接するブロックに含まれる画素に対応する、前に生成（符号化及び復号）された復号画像データ（すなわち、参照画素（復号画素とも記載））を外挿又は内挿することで予測ブロックを生成する。このときの外挿又は内挿は、線形の外挿又は内挿である。
【０１８４】
より具体的には、予測ブロックを構成する予測画素毎に、複数の参照画素の画素値の少なくとも２つの重み付け加算和を算出し（式３、式４又は式５参照）、算出した重み付け加算和を外挿又は内挿することで、予測ブロックを生成する。このときの重み（ｗa、ｗb、ｗc及びｗd）は、エッジの方向に基づいて決定される。例えば、重みに対応する参照画素から、予測画素を通る直線であって、エッジの方向の直線（エッジの方向５０など）までの距離が小さいほど、大きな値になるように決定される。
【０１８５】
図１３は、本実施の形態におけるエッジ予測モードに従って予測値を算出する（すなわち、予測ブロックを生成する）方法を示すフローチャートである。
【０１８６】
まず始めに、例えば、図１０を用いて説明した処理に従って、イントラ予測部１１２は、エッジの角度を決定する（Ｓ５０１）。以下の処理は、予測される対象ブロックの全ての画素に対して実行される（Ｓ５０２）。
【０１８７】
イントラ予測部１１２は、例えば、図１１Ａに示すように、対象画素から、決定された角度が示す方向に上部の参照画素があるか否かを判定する（Ｓ５０３）。上部の参照画素がある場合（Ｓ５０３でＹｅｓ）、イントラ予測部１１２は、上部の参照値ｒupを式３に従って算出する（Ｓ５０４）。なお、ここでは、式３においてｐをｒupに置き換えることで上部の参照値ｒupを算出する。
【０１８８】
続いて、イントラ予測部１１２は、例えば、図１１Ｂに示すように、対象画素から、決定された角度が示す方向に左の参照画素があるか否かを判定する（Ｓ５０５）。左の参照画素がある場合（Ｓ５０５でＹｅｓ）、イントラ予測部１１２は、左の参照値ｒleftを式４に従って算出する（Ｓ５０６）。なお、ここでは、式４においてｐをｒleftに置き換えることで左の参照値ｒleftを算出する。
【０１８９】
そして、イントラ予測部１１２は、対象画素の予測値ｐを上部の参照値及び左の参照値の利用可能性に従って算出する（Ｓ５０７）。両方が利用可能である場合、予測値ｐは、ｐ＝（ｗupｒup＋ｗleftｒleft）／（ｗup＋ｗleft）により算出される。上部の参照値又は左の参照値のみが利用できる場合、予測値ｐはそれぞれ、ｐ＝ｒup及びｐ＝ｒleftである。双方共に利用できない場合、予測値ｐは、前に予測された、近接画素の平均値、すなわち、式６に従って算出される。
【０１９０】
【数６】
0005530181.tif 000007
なお、式６において、ｐ（ｘ，ｙ）は、位置（ｘ，ｙ）における予測値を表している。
【０１９１】
次の画素がある場合（Ｓ５０８でＹｅｓ）、以上の処理（Ｓ５０３〜Ｓ５０７）は、繰り返される。すなわち、対象ブロックに含まれる全ての画素について予測値が算出されるまで以上の処理が実行される。
【０１９２】
以上のように、本実施の形態の画像符号化装置１００は、エッジ予測モードが選択した場合、検出したエッジの方向に沿って予測値を算出することで予測ブロックを生成することができる。
【０１９３】
なお、上述の予測値の算出処理を画像復号装置３００が実行する場合も同様である。具体的には、イントラ予測部１１２が行う処理を、イントラ予測部３０５が実行する。
【０１９４】
また、以上に説明したように本実施の形態では、１つの方向に沿って予測ブロックを生成したが、複数の方向に沿って予測ブロックを生成してもよい。
【０１９５】
図１４は、本実施の形態において、予測画素が２つ以上の方向に従って予測されることを示す概略図である。例えば、同図に示すように、異なる方向であるが、対象ブロックを指す方向を有する２つの強いエッジ６１及び６２が２つの隣接しない対象画素６３及び６４に検出された場合、画素値は、前に復号された参照画素２０を、２つの方向のいずれか、又は、より好ましくは、２つのエッジの方向６５及び６６を合わせた方向に外挿又は内挿することによって予測されてもよい。例えば、２つのエッジの方向６５及び６６を合わせた方向は、式５のように重み付け加算和を算出することにより決定されてもよい。このとき、水平方向の増加分δx及び垂直方向の増加分δyはそれぞれ、第１及び第２エッジの方向６５及び６６（角度）から算出される。
【０１９６】
なお、本実施の形態では、予測に用いられるエッジ及び方向の数に対しては限定されることはなく、また、個々の結果を合成する方法に対しても限定されることはない。
【０１９７】
これらの複数のエッジのそれぞれのシャープさを保護するために、重み付け加算和の算出に用いられる重みは、検出されたエッジのそれぞれのまっすぐな延長線までの予測される各予測画素からの距離に従って計算されてもよい。例えば、重みのそれぞれは、重みに対応する参照画素（図１４のａ、ｂ、ｃ及びｄ）から、少なくとも２つのエッジのいずれかの延長線までの距離が小さいほど、大きな値になるように決定される。
【０１９８】
特に、重みｗｌｅｆｔ及びｗｕｐは、対象ブロックの左のブロックで検出されたエッジ（又は、エッジの延長線）が通過する全ての画素に対して、それぞれ１及び０に設定されてもよい。逆に、重みｗｌｅｆｔ及びｗｕｐは、対象ブロックの上のブロックで検出されたエッジ（又は、エッジの延長線）が通過する全ての画素に対して、それぞれ０及び１に設定されてもよい。すなわち、重みのそれぞれは、重みに対応する参照画素（図１４のａ、ｂ、ｃ及びｄ）から、少なくとも２つのエッジのいずれかが検出された復号ブロックまでの距離が小さいほど、大きな値になるように決定される。なお、残りの画素、すなわち、検出されたエッジ（又は、エッジの延長線）のいずれも通過しない画素に対する重みは、上述のように予測画素からの距離に基づいて設定されてもよい。
【０１９９】
次に、本実施の形態の画像復号装置３００のイントラ予測を用いた復号処理について図１５を用いて説明する。図１５は、本実施の形態におけるイントラ予測に基づいて画像及び映像データを復号する処理を示すフローチャートである。
【０２００】
図１５に示す復号処理は、１６×１６画素のマクロブロック毎に実行される（Ｓ６０１）。まず、分割サイズが、入力ビットストリームから読み出され、すなわち、統計的復号器を用いて復号される（Ｓ６０２）。そして、分割サイズに従って対象マクロブロックのブロック毎に復号処理は実行される（Ｓ６０３）。
【０２０１】
入力ビットストリームから対象ブロックの予測モードと符号化された予測誤差を示す残差情報とが読み出される（Ｓ６０４）。読み出された予測モードは、制御部３０７と、スイッチ３０８を介してイントラ予測部３０５又は動き補償部３０６に出力される。残差情報は、逆量子化部３０１に出力される。
【０２０２】
次に、イントラ予測部３０５又は動き補償部３０６は、読み出された予測モードに基づいて、対象ブロックに対応する予測ブロックを生成する（Ｓ６０５）。なお、この予測ブロックの生成処理のうち特にイントラ予測部３０５が実行する処理については、図１６を用いてより詳細に後で説明する。
【０２０３】
逆量子化部３０１は、残差情報を逆量子化し、逆量子化された残差情報を逆周波数変換部３０２に出力する。そして、逆周波数変換部３０２は、逆量子化された残差情報を逆周波数変換する（Ｓ６０６）。逆周波数変換により得られた復号差分画像は加算部３０３に出力される。
【０２０４】
加算部３０３は、予測ブロックと復号差分画像とを加算することで対象ブロックを再構成する（Ｓ６０７）。加算部３０３によって生成された復号画像は、フレームメモリ３０４に格納され、参照ピクチャとしてイントラ予測部３０５又は動き補償部３０６によって用いられる。
【０２０５】
そして、次のブロックがある場合（Ｓ６０８でＹｅｓ）、次のブロックに対して予測モードと予測残差との読み出し処理（Ｓ６０４）から繰り返される。次のブロックがない場合（Ｓ６０８でＮｏ）、かつ、次のマクロブロックがある場合（Ｓ６０９でＹｅｓ）、次のマクロブロックに対して分割サイズの読み出し処理（Ｓ６０２）から繰り返される。
【０２０６】
次に、本実施の形態の画像復号装置３００のイントラ予測処理について図１６を用いて説明する。図１６は、本実施の形態におけるイントラ予測処理を示すフローチャートである。なお、同図に示すイントラ予測処理は、予測ブロックを生成する際（図１５のＳ６０５）にイントラ予測部３０５によって行われる。
【０２０７】
予測モード判定部４０４は、予測モードが２であるか否か、すなわち、予測モードがＤＣ予測モード又はエッジ予測モードを示しているか否かを判定する（Ｓ７０１）。予測モードが２である場合（Ｓ７０１でＹｅｓ）、エッジ検出部４０１、方向判定部４０２及びノルム判定部４０３は、エッジ検出処理（図７）を実行する（Ｓ７０２）。
【０２０８】
エッジが検出された場合（Ｓ７０３でＹｅｓ）、予測モード判定部４０４は、エッジ予測モードを選択し、予測ブロック生成部４０５は、エッジ予測モードに従って予測ブロックを生成する（Ｓ７０４）。なお、このときの予測ブロックの生成処理は、図１３を用いて説明した通りである。
【０２０９】
エッジが検出されない場合（Ｓ７０３でＮｏ）、予測モード判定部４０４は、ＤＣ予測モードを選択し、予測ブロック生成部４０５は、従来のＤＣ予測モードに従って予測ブロックを生成する（Ｓ７０５）。
【０２１０】
予測モードが２ではない場合（Ｓ７０１でＮｏ）、予測モード判定部４０４は、予測モードが示す方向予測モードを選択し、予測ブロック生成部４０５は、従来の方向予測モードに従って予測ブロックを生成する（Ｓ７０６）。
【０２１１】
以上のように、本実施の形態の画像復号装置３００は、対象ブロックの予測モードを判定し、イントラ予測モードのモードが２である場合、すなわち、ＤＣ予測モードかエッジ予測モードかを示す予測モードである場合に、エッジ検出処理を行う。そして、エッジが検出された場合に、予測モードをエッジ予測モードであると判定し、エッジが検出されない場合に、予測モードをＤＣ予測モードであると判定する。
【０２１２】
これにより、エッジ予測モードに従って符号化されたビットストリームを正しく復号することができる。また、常にエッジ検出処理を行うのではなく、エッジ検出処理を行う場合を制限するので画像復号装置３００の処理負担を軽減することができ、復号処理に多くの時間が費やされることを防ぐことができる。
【０２１３】
以上のように、本実施の形態の画像符号化装置１００及び画像復号装置３００は、イントラ予測を行う際に新たなエッジ予測モードを利用することができる。これにより、特に、シャープな線形エッジを含む符号化対象ピクチャを符号化する際に、符号化効率をより高めることができる。
【０２１４】
また、本実施の形態の画像符号化装置１００は、新たなエッジ予測モードを示す情報をＤＣ予測モードを示す情報として符号化する。すなわち、従来のＤＣ予測モードと新たなエッジ予測モードとを伝送する際に、全く同一の符号を用いる。これにより、新たなエッジ予測モードを導入したことに伴う符号量は増加しない。
【０２１５】
さらに、本実施の形態の画像符号化装置１００は、対象ブロックの周囲のブロックからエッジの方向を検出するために、エッジの方向などのエッジ予測モードに必要な情報を符号化しない。さらに、画像復号装置３００は、画像符号化装置１００と同様にエッジ検出処理を行う処理部を備えることで、エッジ予測モードに必要な情報を伝送する必要もなくなる。
【０２１６】
したがって、本実施の形態の画像符号化装置１００と画像復号装置３００とを備えるコーデック装置では、新たなイントラ予測モードを導入するときのいかなる追加的な伝送オーバーヘッドも避けることができる。
【０２１７】
図１７Ａ、図１７Ｂ及び図１８は、本実施の形態の画像符号化装置１００による効果を説明するための図である。図１７Ａは、フォアマンのシーケンス（ＣＩＦ：Ｃｏｍｍｏｎ  Ｉｎｔｅｒｍｅｄｉａｔｅ  Ｆｏｒｍａｔ（解像度３５２×２８８））の最初の１０フレームを符号化したときのＰＳＮＲ（Ｐｅａｋ  Ｓｉｇｎａｌ−ｔｏ−Ｎｏｉｓｅ  Ｒａｔｉｏ）とビットレートとの関係を示す図である。図１７Ｂは、スピンカレンダーのシーケンスを符号化したときのＰＳＮＲとビットレートとの関係を示す図である。また、図１８は、様々なシーケンスに対するエッジ予測モードを用いて符号化されたブロックの割合とビットレート減少率とを示す図である。
【０２１８】
例えば、スピンカレンダーシーケンスを符号化した場合には、ビットレートの減少率は８％を超えており、多くのシャープなエッジを含むシーケンスに対して、充分に符号化効率が高められたことを示す。また、フォアマンシーケンスを符号化した場合は、３００フレーム（シーケンス全部）よりもシーケンスの最初の１０フレームだけに行われた場合に、より符号化効率が高められたことが分かった（６．４４％のビットレートの減少）。なぜなら、フォアマンシーケンスは、シーケンスの最初にシャープな線形エッジを多く含むためである。これらのフレームでは、エッジ予測モードがよく選択され（平均でブロックのおよそ１５％）、エッジがより適切に検出される。他方で、シーケンスの終わりにはほとんどエッジはない。これらのフレームでは、エッジ予測モードは、ほとんど用いられていない（平均でブロックのおよそ３〜４％）。このため、シーケンス全体での平均ビットレートの減少率は、３．３７％である。
【０２１９】
以上のことから、エッジ予測の実行は、大きく画像内容に依存していることも示している。すなわち、ほとんどエッジのない、又は、ボケたエッジを含む画像では、エッジ予測モードは、ほとんど用いられない。本実施の形態の画像符号化方法は、そのようなシーケンスにとって、従来の符号化方法と比較して有利な点はないが、不利な点もない。なぜなら、予測モードセットには、ＤＣ予測モードがほとんど常に用いられるからである。そのような画像は、Ｈ．２６４の９つの従来の予測モードで符号化される。
【０２２０】
次の表は、ビットレートの減少率とシミュレートされたシーケンスのＰＳＮＲ改良度との点から見た高精度エッジ予測技術の結果を示す。
【０２２１】
【表１】
0005530181.tif 000008
【０２２２】
表１に示すように、結果は、異なるシーケンス間で大きく異なっている。エッジ予測モードの使用の頻度と、最終的なゲインとの間に線形の関係はないが、最も良いゲインは、エッジ予測モードで簡単に予測されたエッジを多く含む画像に対して得られている。
【０２２３】
以上、本発明の画像符号化装置、画像復号装置及びこれらの方法について、実施の形態に基づいて説明したが、本発明は、これらの実施の形態に限定されるものではない。本発明の趣旨を逸脱しない限り、当業者が思いつく各種変形を当該実施の形態に施したものも、本発明の範囲内に含まれる。
【０２２４】
例えば、本実施の形態によれば、ソーベル演算子を用いて勾配を算出することで、エッジの検出を行った。しかしながら、本発明は、この点には限定されない。代わりに、検出されたエッジの方向性が算出されれば、どのようなエッジ検出ツールが用いられてもよい。ソーベル演算子は、可能なエッジ検出技術の一例に過ぎない。例えば、式７に示すプレウィット演算子を用いてもよい。
【０２２５】
【数７】
0005530181.tif 000009
【０２２６】
また、ローパスフィルタ（ＬＰＦ：Ｌｏｗ  Ｐａｓｓ  Ｆｉｌｔｅｒ）処理を行ったブロックに対して勾配を算出してもよい。具体的には、ローパスフィルタを構成するフィルタ係数とソーベル演算子又はプレウィット演算子とを畳み込んだ演算子を用いて勾配を算出することができる。したがって、例えば、本実施の形態では、エッジ検出部２０１又は４０１は、ソーベル演算子のみ、プレウィット演算子のみ、ソーベル演算子とローパスフィルタとの合成フィルタ、又は、プレウィット演算子とローパスフィルタとの合成フィルタの４種類の中から選択して、勾配を算出してもよい。いずれのフィルタを選択するかは、例えば、外部からのユーザの指示、又は、対象ピクチャの特徴に基づいて決定される。例えば、対象ピクチャに多くのノイズが含まれる場合、すなわち、対象ピクチャが平坦な画像でない場合は、ローパスフィルタを含むフィルタを用いる。
【０２２７】
また、本実施の形態の画像符号化装置１００は、ノルム判定部２０３又は４０３は、予め定められた閾値を用いてノルムの判定を行ったのに対して、シーケンス、ピクチャ、スライス、又は、ブロック単位で変更してもよい。この場合、決定した閾値をビットストリームに含めることで復号器側に伝送する必要がある。例えば、閾値を決定する単位に応じて、シーケンスパラメータセット（ＳＰＳ）、ピクチャパラメータセット（ＰＰＳ）、又はスライスヘッダ（ＳＨ）などに閾値を示す情報は含められる。
【０２２８】
図１９は、本実施の形態とは異なる形態の画像符号化装置５００の構成の一例を示すブロック図である。同図の画像符号化装置５００は、図２の画像符号化装置１００と比べて、可変長符号化部１０５の代わりに可変長符号化部５０５を備え、参照ピクチャメモリ１０９の代わりに参照ピクチャメモリ５０９を備え、イントラ予測モード決定部１１０の代わりにイントラ予測モード決定部５１０を備え、さらに新たに閾値決定部５１９を備える点が異なっている。以下では、図２の画像符号化装置１００と同じ点は説明を省略し、異なる点を中心に説明する。
【０２２９】
また、図１９に示すように、画像符号化装置５００は、外部からエッジ検出フラグを受け取ってもよい。エッジ検出フラグは、エッジ検出処理の有効又は無効を切り替えるためのフラグである。例えば、シーケンス、ピクチャ、又はスライス単位でエッジ検出処理の有効又は無効を切り替えることができる。
【０２３０】
可変長符号化部５０５は、可変長符号化部１０５の処理に加えて、さらに、閾値決定部５１９によって決定された閾値と、エッジ検出フラグとをビットストリームに含める。閾値を示す情報及びエッジ検出フラグは、例えば、ＳＰＳ、ＰＰＳ、ＳＨなどに含められる。
【０２３１】
参照ピクチャメモリ５０９は、加算部１０８によって生成された復号画像ＬＤを格納する。そして、イントラ予測モード決定部５１０、動き検出部１１１、イントラ予測部１１２、及び、動き補償部１１３だけでなく、閾値決定部５１９にも格納している復号画像ＬＤを参照ピクチャとして出力する。
【０２３２】
イントラ予測モード決定部５１０は、イントラ予測モード決定部１１０の処理に加えて、エッジ検出フラグを受け取る。そして、イントラ予測モード決定部５１０は、受け取ったエッジ検出フラグに応じて、エッジ検出処理の有効又は無効を切り替える。具体的には、エッジ検出フラグがエッジ検出処理の有効を示す場合には、上述したイントラ予測モード決定部１１０と同様の処理を行う。エッジ検出フラグがエッジ検出処理の無効を示す場合には、イントラ予測モードセットは常に従来のＤＣ予測モードと８つの方向予測モードとを含む予測モードセットに設定する。すなわち、エッジの検出処理を行わない。
【０２３３】
また、イントラ予測モード決定部５１０は、閾値決定部５１９によって決定された閾値を用いてノルムの判定を行う。具体的なノルムの判定処理については上述した内容と同じであるため、説明を省略する。
【０２３４】
閾値決定部５１９は、参照ピクチャメモリ５０９から参照ピクチャを読み出し、読み出した参照ピクチャの画像特徴量を算出することで、閾値を決定する。参照ピクチャの画像特徴量は、例えば、エッジ検出処理が行われる参照ピクチャの分散、強度などである。例えば、分散が大きいほど、ノルム判定に用いる閾値が大きな値になるように決定する。分散が大きいということは、参照ピクチャに多くのノイズが含まれることであり、エッジが誤検出されてしまう可能性が大きくなる。したがって、ノルム判定に用いる閾値を大きくすることで、エッジの誤検出される可能性を小さくすることができる。
【０２３５】
また、閾値決定部５１９は、前のピクチャに対するエッジ検出処理の結果に基づいて閾値を決定してもよい。例えば、前のピクチャに対して異なる方向のエッジが多く検出されるほど、閾値が大きな値になるように決定する。異なる方向のエッジが多く検出されるということは、ノイズなどの影響で正確なエッジが検出されていない可能性があるので、ノルム判定に用いる閾値を大きくすることで、エッジが誤検出される可能性を小さくすることができる。
【０２３６】
以上のように、図１９に示す画像符号化装置５００は、閾値を適応的に変更することができるので、より適切な閾値を決定することができ、より適切な予測ブロックを生成することができる。これにより、符号化歪みなどを削減することができる。
【０２３７】
また、本発明の効果が充分に得られない平坦な画像などに対しては、エッジ検出処理を無効にすることができるので、画像符号化装置１００に対する処理負担を軽減し、符号化処理の速度を高めることができる。
【０２３８】
また、エッジ検出フラグを復号器側にも伝送するので、復号器側で、エッジ検出処理が行われていないビットストリームに対してエッジ検出処理が行われることを防ぐことができる。
【０２３９】
なお、本実施の形態の画像復号装置３００では、エッジ検出処理を行うために、図１Ａに示す参照画素２０だけではなく、参照画素２０を含むブロックに含まれる全画素のデータを、フレームメモリ３０４に格納する必要がある。これに対して、周囲のブロックを復号すると同時に、すなわち、勾配の算出に必要な参照画素の画素値が得られると同時に、勾配の算出処理を行い、勾配の算出処理結果だけをフレームメモリ３０４に格納してもよい。このとき、例えば、閾値を超えたノルム（又は、勾配値）のみを格納することで、よりメモリ資源を節約することができる。あるいは、各ブロックの最大のノルムとその画素位置のみを格納してもよい。
【０２４０】
この場合、図２０に示すように、従来及び上述の説明と同様に、対象ブロック１０の直ぐ上の画素群７２に含まれる画素は、予測ブロックを生成する際に参照される参照画素として格納される。さらに、周囲ブロック３０に含まれる画素値ではなく、エッジの方向を算出する対象となる画素群７１の画素に対して算出したノルム（又は、勾配値）をフレームメモリ３０４又はノルム判定部４０３が備えるメモリなどに格納する。
【０２４１】
これにより、画像復号装置３００が備えるメモリ資源を有効に利用することができる。
【０２４２】
また、予測値を算出する上述の方法は、検出されたエッジの方向を正式に考慮に入れて、本発明の範囲内で、いかなる他の方法に置き換えられてもよい。具体的には、上記の説明で用いた参照画素より多くの参照画素、又は、別の参照画素を、予測される対象ブロックに近接する参照画素の代わりに用いてもよい。
【０２４３】
また、本発明は、Ｈ．２６４映像符号化規格に限定されず、上述の従来のイントラ予測モードセットに限定されない。事実、発明のエッジ予測モードは、空間予測を用いるいかなるブロックベースの映像符号化器に用いられてもよい。特に、ＤＣ予測モードの置き換えとしてエッジ予測モードを用いるのではなく、Ｈ．２６４／ＡＶＣの付加的モードとして用いることもできる。
【０２４４】
また、本発明のエッジ予測モードは、エッジ予測モードとＤＣ予測モードとを合わせた上述の伝送とは異なる伝送メカニズムと共に用いられてもよい。例えば、エッジ予測モードは、ＤＣ予測モードとは無関係の専用符号語によって伝送されてもよく、又は、予め定義された方向予測モードの１つ以上の組み合わせで伝送されてもよい。
【０２４５】
また、本発明は、映像符号化アプリケーションに限られず、ブロックベースの静止画像符号化に用いられてもよい。
【０２４６】
また、本発明は、上述したように、画像符号化装置、画像復号装置及びこれらの方法として実現できるだけではなく、本実施の形態の画像符号化方法及び画像復号方法のそれぞれをコンピュータに実行させるためのプログラムとして実現してもよい。また、当該プログラムを記録するコンピュータ読み取り可能なＣＤ−ＲＯＭなどの記録媒体として実現してもよい。さらに、当該プログラムを示す情報、データ又は信号として実現してもよい。そして、これらプログラム、情報、データ及び信号は、インターネットなどの通信ネットワークを介して配信されてもよい。
【０２４７】
また、本発明は、画像符号化装置及び画像復号装置のそれぞれを構成する構成要素の一部又は全部を、１個のシステムＬＳＩから構成してもよい。システムＬＳＩは、複数の構成部を１個のチップ上に集積して製造された超多機能ＬＳＩであり、具体的には、マイクロプロセッサ、ＲＯＭ及びＲＡＭなどを含んで構成されるコンピュータシステムである。
【０２４８】
要約すると、本発明は、画像及び映像データの符号化及び復号に関し、特に、前に符号化及び復号されたブロックの画像データから対象ブロックを予測する新たな空間予測モードに関する。この予測モードによれば、シャープなエッジを含むブロックは、エッジの正確な方向を考慮に入れることでより信頼性の高い予測が行われる。さらに、本発明では、新たな予測モードは、追加の伝送オーバーヘッドを必要としない。なぜなら、（１）エッジの方向は、前に符号化されたブロックから推定され、（２）新たな予測モードは、シャープなエッジを含むブロックに対する従来のＤＣ予測モードに置き換えることができるためである。
【産業上の利用可能性】
【０２４９】
本発明の画像符号化方法及び画像復号方法は、符号化効率をより高めることができるという効果を奏し、例えば、デジタルカメラ、デジタルテレビ、ＢＤ（Ｂｌｕ−ｒａｙ  Ｄｉｓｃ）レコーダなどに利用することができる。
【符号の説明】
【０２５０】
１０  対象ブロック
２０  参照画素
３０  周囲ブロック
４０、４１、６１、６２  エッジ
５０、５１、５２、６５、６６  エッジの方向
６３、６４  対象画素
７１、７２  画素群
１００、５００  画像符号化装置
１０１、３０４  フレームメモリ
１０２  減算部
１０３  周波数変換部
１０４  量子化部
１０５、５０５  可変長符号化部
１０６、３０１  逆量子化部
１０７、３０２  逆周波数変換部
１０８、３０３  加算部
１０９、５０９  参照ピクチャメモリ
１１０、５１０  イントラ予測モード決定部
１１１  動き検出部
１１２、３０５  イントラ予測部
１１３、３０６  動き補償部
１１４、１１５、３０８、３０９  スイッチ
１１６、３０７  制御部
１１７  確率テーブル保持部
１１８  符号化モード決定部
１２０  差分符号化部
１３０  差分復号部
２０１、４０１  エッジ検出部
２０２、４０２  方向判定部
２０３、４０３  ノルム判定部
２０４  予測モードセット決定部
２０５  予測モード選択部
３００  画像復号装置
４０４  予測モード判定部
４０５  予測ブロック生成部
５１９  閾値決定部
【図１Ａ】
0005530181.tif 000010
【図１Ｂ】
0005530181.tif 000011
【図２】
0005530181.tif 000012
【図３】
0005530181.tif 000013
【図４】
0005530181.tif 000014
【図５】
0005530181.tif 000015
【図６】
0005530181.tif 000016
【図７】
0005530181.tif 000017
【図８】
0005530181.tif 000018
【図９】
0005530181.tif 000019
【図１０】
0005530181.tif 000020
【図１１Ａ】
0005530181.tif 000021
【図１１Ｂ】
0005530181.tif 000022
【図１２】
0005530181.tif 000023
【図１３】
0005530181.tif 000024
【図１４】
0005530181.tif 000025
【図１５】
0005530181.tif 000026
【図１６】
0005530181.tif 000027
【図１７Ａ】
0005530181.tif 000028
【図１７Ｂ】
0005530181.tif 000029
【図１８】
0005530181.tif 000030
【図１９】
0005530181.tif 000031
【図２０】
0005530181.tif 000032