(57)【特許請求の範囲】
【請求項１】
画面内予測処理を行う動画像復号化方法であって、
前記復号化対象ブロックに隣接する既に復号化された複数の隣接ブロックのうち、同一の予測方向または同一のブロックサイズを有するブロックの個数に基づき推定容易か否かを判定する判定ステップと、
前記判定ステップの判定結果に基づいて、前記復号化対象ブロックの予測方向データまたはブロックサイズデータを復号化する復号化ステップと、
前記復号化ステップにおいて復号化された予測方向データまたはブロックサイズデータに基づいて画面内予測を行い、復号化画像データを生成する生成ステップと
を備え、
前記判定ステップにおいて、前記複数の隣接ブロックのうち、同一の予測方向または同一のブロックサイズを有するブロックが二つ以上ある場合、推定容易と判定し、該予測方向または該ブロックサイズを前記復号化対象ブロックの推定予測方向または推定ブロックサイズとし、
前記復号化ステップにおいて、前記推定予測方向データまたは前記推定ブロックサイズに基づいて生成され、符号化ストリームに含まれるビット構成情報に基づいて、前記復号化対象ブロックの予測方向データまたは前記ブロックサイズデータを復号化し、
前記判定ステップにおいて、前記複数の隣接ブロックに、同一の予測方向データまたは同一のブロックサイズを有する二つ以上のブロックが存在しない場合、推定非容易と判定し、
前記復号化ステップにおいて、前記ビット構成情報に基づく復号化を行わない
ことを特徴とする動画像復号化方法。
【請求項２】
前記判定ステップにおいて、推定非容易と判定した場合、
前記復号化ステップにおいて、前記復号化対象ブロックの予測方向データまたはブロックサイズデータを可変長復号処理により復号化する
ことを特徴とする請求項１記載の動画像復号化方法。
【請求項３】
画面内予測処理を行う動画像符号化方法であって、
前記符号化対象ブロックに隣接する既に符号化された複数の隣接ブロックのうち、同一の予測方向または同一のブロックサイズを有するブロックの個数に基づき推定容易か否かを判定する判定ステップと、
前記判定ステップの判定結果に基づいて、前記符号化対象ブロックの予測方向データまたはブロックサイズデータを符号化する符号化ステップと
を備え、
前記判定ステップにおいて、前記複数の隣接ブロックのうち、同一の予測方向または同一のブロックサイズを有するブロックが二つ以上ある場合、推定容易と判定し、該予測方向または該ブロックサイズを前記符号化対象ブロックの推定予測方向または推定ブロックサイズとし、
前記符号化ステップにおいて、前記推定予測方向データまたは前記推定ブロックサイズに基くビット構成情報として、前記符号化対象ブロックの予測方向データまたは前記ブロックサイズデータを符号化し、
前記判定ステップにおいて、前記複数の隣接ブロックに同一の予測方向データまたは同一のブロックサイズを有する二つ以上のブロックが存在しない場合、推定非容易と判定し、
前記符号化ステップにおいて、前記ビット構成情報の符号化を行わない
ことを特徴とする動画像符号化方法。
【請求項４】
前記判定ステップにおいて、推定非容易と判定した場合、
前記符号化ステップにおいて、前記符号化対象ブロックの予測方向データまたはブロックサイズデータを可変長符号化処理により符号化する
ことを特徴とする請求項３記載の動画像符号化方法。
【請求項５】
画面内予測処理を行う動画像復号化装置であって、
前記復号化対象ブロックに隣接する既に復号化された複数の隣接ブロックのうち、同一の予測方向または同一のブロックサイズを有するブロックの個数に基づき推定容易か否かを判定する判定部と、
前記判定部の判定結果に基づいて、前記復号化対象ブロックの予測方向データまたはブロックサイズデータを復号化する復号化部と、
前記復号化部において復号化された予測方向データまたはブロックサイズデータに基づいて画面内予測を行い、復号化画像を生成する復号画像生成部と
を備え、
前記判定部は、前記複数の隣接ブロックのうち、同一の予測方向または同一のブロックサイズを有するブロックが二つ以上ある場合、推定容易と判定し、該予測方向または該ブロックサイズを前記復号化対象ブロックの推定予測方向または推定ブロックサイズとし、
前記復号化部は、前記推定予測方向データまたは前記推定ブロックサイズに基づいて生成され、符号化ストリームに含まれるビット構成情報に基づいて、前記復号化対象ブロックの予測方向データまたは前記ブロックサイズデータを復号化し、
前記判定部が、前記複数の隣接ブロックに、同一の予測方向データまたは同一のブロックサイズを有する二つ以上のブロックが存在しない場合、推定非容易と判定し、
前記復号化部は、前記ビット構成情報に基づく復号化を行わない
ことを特徴とする動画像復号化装置。
【請求項６】
前記判定部が、推定非容易と判定した場合、
前記復号化部は、前記復号化対象ブロックの予測方向データまたはブロックサイズデータを可変長復号処理により復号化する
ことを特徴とする請求項５記載の動画像復号化装置。
【請求項７】
画面内予測処理を行う動画像符号化装置であって、
前記符号化対象ブロックに隣接する既に符号化された複数の隣接ブロックのうち、同一の予測方向または同一のブロックサイズを有するブロックの個数に基づき推定容易か否かを判定する判定部と、
前記判定部の判定結果に基づいて、前記符号化対象ブロックの予測方向データまたはブロックサイズデータを符号化する符号化部と
を備え、
前記判定部は、前記複数の隣接ブロックのうち、同一の予測方向または同一のブロックサイズを有するブロックが二つ以上ある場合、推定容易と判定し、該予測方向または該ブロックサイズを前記符号化対象ブロックの推定予測方向または推定ブロックサイズとし、
前記符号化部は、前記推定予測方向データまたは前記推定ブロックサイズに基くビット構成情報として、前記符号化対象ブロックの予測方向データまたは前記ブロックサイズデータを符号化し、
前記判定部が、前記複数の隣接ブロックに同一の予測方向データまたは同一のブロックサイズを有する二つ以上のブロックが存在しない場合、推定非容易と判定し、
前記符号化部は、前記ビット構成情報の符号化を行わない
ことを特徴とする動画像符号化装置。
【請求項８】
前記判定部が、推定非容易と判定した場合、
前記符号化部は、前記符号化対象ブロックの予測方向データまたはブロックサイズデータを可変長符号化処理により符号化する
ことを特徴とする請求項７記載の動画像符号化装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は動画像を符号化する動画像符号化技術および動画像を復号化する動画像復号化技術に関する。
【背景技術】
【０００２】
大容量の動画像情報をデジタルデータ化して記録、伝達する手法として、MPEG (Moving Picture Experts Group)方式等の符号化方式が策定され、MPEG-1規格、MPEG-2規格、MPEG-4規格、H.264/AVC(Advanced Video Coding)規格等が知られている。【０００３】
H.264/AVCでは、画面内予測符号化や画面間予測符号化等の予測符号化を用いる事で、圧縮効率を向上させている。このとき、予測符号化には様々な方向が存在し、これらをブロック単位で使い分けて符号化する。このとき、対象ブロックにおいて利用した予測方向を表す符号を別途符号化する必要があり符号量が増大するといった課題があった。【０００４】
また、各予測符号化では、マクロブロック毎に複数の画素値予測方法とブロックサイズを切り替えながら予測を行うため、画素値予測方法とブロックサイズ情報を、マクロブロック毎に符号化する必要があった。【０００５】
この課題に対し、例えば非特許文献1には、画面内予測符号化の際の予測方向の符号化において、利用できる予測方向数の少ない画面端のブロックについて予測方向を表すための符号を短くすることによって符号量を減らすことが開示されている。
【先行技術文献】
【非特許文献】
【０００６】
【非特許文献１】Jamil-ur-Rehman and Zhang Ye, “Efficient Techniques for Signalling Intra Prediction Modes of H.264/Mpeg-4 Part 10”, Proc. ICICIC2006, August, 2006.
【発明の概要】
【発明が解決しようとする課題】
【０００７】
しかし、非特許文献1に記載の技術は画面端のブロックにしか適用できず、圧縮効率向上の効果は少ないという課題があった。【０００８】
本発明は、上記課題を鑑みてなされたものであり、その目的は、動画像の符号化・復号化処理においてより符号量を低減することである。
【課題を解決するための手段】
【０００９】
上記の課題を解決するために、本発明の一実施の態様は、例えば特許請求の範囲に記載されるように構成すればよい。
【発明の効果】
【００１０】
動画像の符号化・復号化処理においてより符号量を低減することができる。
【図面の簡単な説明】
【００１１】
【図１】実施例１に係る画像符号化装置のブロック図の一例
【図２】実施例１に係る画面内予測符号化装置のブロック図の一例
【図３】実施例１に係る画像復号化装置のブロック図の一例
【図４】実施例１に係る画面内予測復号化装置のブロック図の一例
【図５】H.264/AVCに係る画面内予測符号化処理の概念的な説明図
【図６】H.264/AVCに係る予測方向の符号化処理の概念的な説明図
【図７】H.264/AVCに係る画面内予測復号化処理の概念的な説明図
【図８】実施例１に係る予測方向の符号化の一例の説明図
【図９】実施例１に係る画像符号化装置の流れ図
【図１０】実施例１に係る画面内符号化装置の流れ図
【図１１】実施例１に係る画像復号化装置の流れ図
【図１２】実施例１に係る画面内復号化装置の流れ図
【図１３】H.264/AVCで用いる予測符号化処理の概念的な説明図
【図１４】実施例２に係るブロックタイプの符号化に関する実施例の説明図
【図１５】実施例２に係る可変長符号化装置のブロック図
【図１６】実施例２に係る可変長復号化装置のブロック図
【図１７】実施例２に係る可変長符号化装置の流れ図
【図１８】実施例２に係る可変長復号化装置の流れ図
【発明を実施するための形態】
【００１２】
以下、本発明の実施例について図面を参照して説明する。
【００１３】
図5は、H.264/AVCによる画面内予測符号化処理の動作について概念的に示したものである。
【００１４】
H.264/AVCでは、符号化対象画像に対してラスタースキャンの順序に従って符号化処理を行い(501)、符号化対象ブロックの左、左上、上、右上に隣接する符号化済みブロックについての復号化画像を用いて予測処理を行う。当該予測処理は、符号化済みブロックに含まれる13個の画素の画素値を利用し(502)、予測方向ベクトルを傾きとする同一直線上の画素は、すべて同一画素に基づいて予測される。例えば(503)に示すように、符号化対象ブロックの画素B、C、D、Eは、すべて同一画素を参照して予測符号化処理が行われる。まず、符号化対象ブロックの画素B、C、D、Eと画素Bの直上の画素を復号化した値A’との差分(予測差分)b、c、d、eを算出する。次に、縦、横、斜めなど、8種類の予測方向候補の中から一つの予測方向をブロック単位で選択し、前記予測差分と選択した一の予測方向を示す予測方向値とを符号化する。ただし、H.264/AVCでは、上記特定の予測方向に沿った予測処理の他に、参照画素の平均値によって符号化対象ブロックに含まれるすべての画素を予測する「DC予測」を利用することができる(504)。
【００１５】
図7は、H.264/AVCによる画面内予測復号化処理の動作について概念的に示したものである。
【００１６】
復号化処理も符号化処理と同様に、ラスタースキャンの順序に従って復号化処理を行う (701)。次に、復号化済みの参照画素と予測差分とを用いて符号化処理の逆手順を行う。すなわち、予測差分値と参照画素値とを予測方向に沿って加算することにより復号化画像を取得する。例えば(702)は、復号化対象ブロックの予測差分b’、ｃ’、ｄ’、ｅ’(それぞれ、上記図5のb、c、d、eが復号化され量子化誤差を含んだもの)に対して、復号化済みの参照画素A’を加算することにより、復号化画素B’、Ｃ’、Ｄ’、Ｅ’（それぞれ、上記図5のB、C、D、Eに対する復号化画素）を取得する過程を示している。
【００１７】
以上のように、H.264/AVCによる画面内予測符号化処理では、参照画素から予測方向に沿った位置にある画素を、当該参照画素に基づいて予測するといった単方向による方法を採用している。この場合、予測処理の単位となるブロックごとに、どの予測方向に沿って予測処理を行うのかについての情報を符号化ストリームに付加する必要があった。
【００１８】
図6は、H.264/AVCによる画面内予測方式における予測方向の符号化方法について示したものである。
【００１９】
H.264/AVCは、対象ブロックの予測方向が隣接するブロックの予測方向と相関が高いことに着目し、符号化済みの隣接ブロックにおける予測方向から符号化対象ブロックの予測方向を推定する。すなわち、(601)に示すように、符号化対象ブロックの左側に隣接するブロックAの予測方向と、同じく対象ブロックの上側に隣接するブロックBの予測方向とを参照し、この2つの予測方向のうち予測方向値が小さい予測方向を対象ブロックにおける予測方向の予測値(隣接方向)とする(602)。
【００２０】
(603)は、予測方法を表すビット構成の詳細を示している。H.264/AVCでは、対象ブロックにおける予測方向と隣接ブロックにおける予測方向とが同じ場合には、対象ブロックにおける予測方向と隣接ブロックにおける予測方向とが同じ予測方向であることを示す情報 (1ビット)を符号化する。
【００２１】
一方、両者が異なる場合には、対象ブロックにおける予測方向と隣接ブロックにおける予測方向とが異なるという情報を符号化した後、実際の予測方向（8方向＋DC予測の9通りの予測方向のうち、隣接ブロックにおける予測方向を除く8通り）を3ビットで符号化する。
【００２２】
この場合、予測方向を表すために多くの符号を必要とし、例えば4×4画素サイズのブロック単位で画面内予測を行った場合、一つのマクロブロックあたり最大で64ビットの符号が発生する。
【実施例１】
【００２３】
実施例１は、画面内予測において、対象ブロックの予測方向の符号化処理および復号化処理に本発明を用いる例である。本実施例では、対象ブロックに隣接するブロックの予測方向データを用いて、対象ブロックの予測方向が推定容易であるか否かを判定する。対象ブロックの予測方向が推定容易であると判定された場合と対象ブロックの予測方向が推定非容易であると判定された場合とで、対象ブロックにおける予測方向データの符号化処理及び復号化処理方法を切り換える。【００２４】
以下、本実施例についてさらに詳細に説明する。【００２５】
図8は、符号化対象ブロックの予測方向が推定容易か否かの判定方法の一例、及び予測方向符号化方法Ａと予測方向符号化方法Ｂとについて示した図である。図8を用いて、符号化対象ブロックの予測方向が推定容易か否かの判定方法について説明する。【００２６】
符号化対象ブロックの予測方向が推定容易か否かの判定は、画像ブロック説明図(801)に示すように、符号化対象ブロックの左側、上側、左上側、右上側に隣接する符号化済みの隣接ブロックA、B、C、Dの予測方向MA、MB、MC、MDを用いる。すなわち、予測方向MA、MB、MC、MDにおいて、Ｎ個（Ｎは２以上４以下の整数）以上同一の予測方向Ｍが存在する場合は、符号化対象ブロックの予測方向の推定が容易であると判定し、予測方向符号化方法Ａを用いて、符号化対象ブロックの予測方向データを符号化する。【００２７】
また、例えば、スライス端や画面端などに符号化対象ブロックが存在するなど、隣接ブロックの予測方向情報を符号化対象ブロックの予測方向として利用できない場合は、符号化対象ブロックの予測方向の推定が容易であると判定し、予測方向符号化方法Ａを用いて、符号化対象ブロックの予測方向データを符号化する。【００２８】
なお、上記のどちらの場合にも該当しないブロックに関しては、予測方向の推定が非容易であると判定し、予測方向符号化方法Ｂ(803)を選択し、可変長符号化を行う。【００２９】
上述した判定方法により予測方向符号化方法Ａを選択した場合は、予測方向選択処理に移る。すなわち、符号化対象ブロックの左側、上側、左上側、右上側に隣接する符号化済みの隣接ブロックA、B、C、Dの予測方向MA、MB、MC、MDのうちいずれかの予測方向を所定の方法で選択し、選択した隣接ブロックの予測方向を符号化対象ブロックの推定予測方向とする。【００３０】
ここで、当該所定の選択方法は、符号化側と復号化側の両方で同様の処理が実現できる方法であれば、どのような選択方法でも良いが、例えばMA、MB、MC、MDのうち最も予測方向値の小さい予測方向を選択する方法や、MA、MB、MC、MDのうち最も多い予測方向を選択する方法などを用いればよい。【００３１】
さらに、予測方向符号化方法Ａを選択した場合の符号化処理においては、符号化対象ブロックの左側、上側、左上側、右上側に隣接する符号化済みの隣接ブロックA、B、C、Dを隣接ブロックとして用いて符号化処理を行っても良いし、従来の通り符号化対象ブロックの左側および上側に隣接する符号化済みの隣接ブロックA、Bのみを隣接ブロックとして用いて符号化処理を行っても良い。【００３２】
次に、予測方向符号化方法Ａについてさらに詳細に説明する。予測方向符号化方法Ａは、隣接ブロックの予測方向情報を用いて推定予測情報を決定し、当該推定予測情報を用いて符号化対象ブロックの予測方向データを符号化する方法である。【００３３】
図8のビット構成図(802)は、予測方向符号化方法Ａにおける符号化対象ブロックの予測方向データの符号化のためのビット構成の詳細を示した図である。【００３４】
符号化対象ブロックにおける予測方向と、隣接ブロックにおける予測方向（推定予測方向）とが同じ方向である場合は、符号化対象ブロックにおける予測方向と隣接ブロックにおける予測方向（推定予測方向）とが同じ予測方向であることを示す情報(1ビット)を符号化する。【００３５】
一方、符号化対象ブロックにおける予測方向と隣接ブロックにおける予測方向（推定予測方向）とが異なる場合は、符号化対象ブロックにおける予測方向と隣接ブロックにおける予測方向（推定予測方向）とが異なることを示す情報を符号化した後、実際の予測方向（8方向＋DC予測の9通りの予測方向のうち、隣接ブロックにおける予測方向（推定予測方向）を除く8通り）を3ビットで符号化する。【００３６】
次に、予測方向符号化方法Ｂについてさらに詳細に説明する。予測方向符号化方法Ｂは、隣接ブロックの予測方向データに基づいて符号化対象ブロックの予測方向データを推定せず、符号化対象ブロックの予測方向データを単独で符号化する方法である。【００３７】
図8の表(803)は、予測方向符号化方法Ｂに用いる可変長符号表の一例である。予測方向符号化方法Ｂは、表(803)のような可変長符号表にしたがって符号化対象ブロックの予測方向データを可変長符号化する。表(803)のような可変長符号表を用いる場合、予測方向符号化方法Ａのように１ビットのみで示すことのできるモードはないが、隣接モードと異なる予測方向であっても一部のモードは４ビットよりも小さい２ビットか３ビットで示すことができる。よって、４ビットよりも小さいビットで示すことができるモードの数が予測方向符号化方法Ａよりも多い。ここで、本実施例で予測方向符号化方法Ｂが用いられる場合は、そもそも上述のとおり対象ブロックの予測方向が推定非容易であると判定された場合であるので、対象ブロックの予測方向が隣接ブロックの予測方向に一致する確立が低い場合である。すなわちこの場合、仮に予測方向符号化方法Ａを用いると、予測方向の符号量が１ビットである確率よりも４ビットである確率が高い。よって、このような場合に、予測方向符号化方法Ｂを用いることで、予測方向を２ビットまたは３ビットの符号量で符号化する確率を向上させることは、符号量の低減に効果的である。なお、表(803)の可変長符号表は一例であり、同様の効果を得るものであれば、他のパターンでもかまわない。【００３８】
以上において、本実施例における符号化処理について説明したが、復号化処理の際には対応する符号化方法と逆の処理を行うことで復号化処理を行うことができる。すなわち、本実施例における復号化処理は、隣接する復号化済みブロックの予測方向情報を用いて復号化対象ブロックの予測方向が推定容易か否かを判定し、復号化対象ブロックの予測方向の推定が容易であると判定した場合には、ビット構成(802)に示すビット構成にしたがって復号化対象ブロックの予測方向データの復号化を行う。一方、復号化対象ブロックの予測方向の推定が非容易であると判定した場合には、表(803)に示す可変長符号表に基づいて復号化対象ブロックの予測方向データの復号化を行う。【００３９】
次に、本実施例における動画像符号化装置について図１を用いて説明する。【００４０】
本実施例における動画像符号化装置は、入力された原画像(101)を保持する入力画像メモリ(102)と、入力画像を小領域に分割するブロック分割部(103)と、ブロック単位で動きを検出する動き探索部(104)と、同じくブロック単位で画面内予測処理(図7に記載)を行う画面内予測部(106)と、動き探索部(104)にて検出された動き量を基にブロック単位で画面間予測を行う画面間予測部(107)と、画像の性質に合った予測符号化手段を選択するモード選択部(108)と、予測差分データを生成する減算部(109)と、予測差分データに対して符号化処理を行う周波数変換部(110)および量子化処理部(111)と、記号の発生確率に応じた符号化処理を行う可変長符号化部(112)と、符号化した予測差分データを復号化する逆量子化処理部(113)および逆周波数変換部(114)と、復号化された予測差分データを用いて復号化画像を生成する加算部(115)と、復号化画像を格納する参照画像メモリ(116)とを有する。【００４１】
入力画像メモリ(102)は原画像(101)の中から一枚の画像を符号化対象画像として保持し、これをブロック分割部(103)にて細かなブロックに分割し、動き探索部(104)および画面内予測部(106)に出力する。動き探索部(104)は、参照画像メモリ(116)に格納されている復号化済み画像を用いて該当ブロックの動き量を計算し、動きベクトルデータとして画面間予測部(107)に出力する。画面内予測部(106)および画面間予測部(107)は、画面内予測処理および画面間予測処理をブロック単位で行う。モード選択部(108)は、上記の画面内予測処理および画面間予測処理のうちから最適な予測処理を選択する。モード選択部(108)は、選択した予測処理についての予測画像を減算部(109)へ出力する。ここで、画面内予測処理が選択された場合は、モード選択部(108)は、後述する符号化された予測方向データを可変長復号化部(112)に出力する。減算部(109)は、入力画像と、上記の最適な予測符号化処理による予測画像との予測差分データを生成し、周波数変換部(110)に出力する。周波数変換部(110)および量子化処理部(111)は、送られてきた予測差分データに対して指定された大きさのブロック単位でそれぞれDCT(Discrete Cosine Transformation：離散コサイン変換)などの周波数変換処理および量子化処理を行い、可変長符号化処理部(112)および逆量子化処理部(113)に出力する。可変長符号化処理部(112)は、周波数変換係数によって表される予測差分情報を、例えば画面内予測符号化における予測方向や画面間予測符号化における動きベクトルなど、予測復号化に必要な情報とともに、記号の発生確率に基づいて可変長符号化を行い、符号化ストリームを生成する。また、逆量子化処理部(113)および逆周波数変換部(114)は、量子化後の周波数変換係数に対して、それぞれ逆量子化およびIDCT(Inverse DCT：逆DCT)などの逆周波数変換を行い、予測差分を取得して加算部 (115)に出力する。加算部(115)は、復号化画像を生成して参照画像メモリ(116)に出力する。参照画像メモリ(116)は、復号化画像を格納する。【００４２】
図2は、本実施例における動画像符号化装置の画面内予測部(106)の詳細を示した図である。【００４３】
ここで、画面内予測部(106)には、例えば図1に示すブロック分割部(103)にて分割された画像が入力される。当該入力画像は、方向別予測部(201)に入力される。方向別予測部(201)は、ブロック分割部(103)から入力される入力画像のブロックに対して、参照画像メモリに記憶される符号化済み隣接ブロックの復号画像の画素値を用いて各予測方向についての予測画像を生成して予測処理を行う。この符号化処理には図5にて説明したH.264/AVCによる符号化方法を用いる。この予測結果が予測方向決定部(202)に入力される。予測結果としては、入力画像のブロックと予測画像の差分や、予測画像そのものなどが考えられる。予測方向決定部(202)は、符号化効率が最も良くなる予測方向を選択し、その方向を符号化対象ブロックの予測方向として決定する。ここで、予測方向決定部(202)は決定した予測方向についての予測画像をモード選択部(108)へ出力する。また、決定した予測方向の情報を予測方向推定難易度判定部(203)に出力する。また、予測方向記憶メモリ(206)は、決定された予測方向を記憶する。予測方向推定難易度判定部(203)は、周囲の符号化済みのブロックの予測方向情報を予測方向記憶メモリ(206)から読み出し、読み出した予測方向情報から符号化対象ブロックの予測方向が推定容易か否かを判定する。この判定方法には、例えば図8にて説明した方法を用いれば良い。当該判定結果に基づいて、予測方向の符号化方式を切替える。【００４４】
例えば、符号化対象ブロックの予測方向の推定が容易であると判定された場合には、予測方向データの符号化処理は予測方向予測符号化部(205)によって行われる。予測方向予測符号化部(205)は、例えば図8(802)の方法(予測方向符号化方法Ａ)を用いて予測方向データの符号化を行う。【００４５】
一方、符号化対象ブロックの予測方向の推定が非容易であると判断された場合は、予測方向データの符号化処理は予測方向可変長符号化部(204)によって行われる。予測方向可変長符号化部(204)は、例えば図8(803)の方法(予測方向符号化方法Ｂ)を用いて予測方向の符号化を行う。【００４６】
予測方向可変長符号化部(204)または予測方向予測符号化部(205)は、以上のように符号化された予測方向データをモード選択部(108)へ出力する。なお、図2の例では、予測方向データの符号化処理を画面内予測部(106)にて行っているが、この符号化処理は可変長符号化部(112)で行うこともできるし、別の構成部で行っても良い。【００４７】
次に、本実施例における動画像復号化装置の一例を、図3を用いて説明する。本実施例における動画像復号化装置は、例えば図1に示す動画像符号化装置によって生成された符号化ストリーム(301)に対して可変長符号化の逆の手順を行う可変長復号化部(302)と、予測差分データを復号化する逆量子化処理部(303)および逆周波数変換部(304)と、画面内予測処理を行う画面内予測部(306)と、画面間予測を行う画面間予測部(307)と、復号化画像を生成する加算部(308)と、復号化画像を格納する参照画像メモリ(309)とを有する。【００４８】
可変長復号化部(302)は、符号化ストリーム(301)を可変長復号化し、予測差分の周波数変換係数成分と、予測方向や動きベクトルなどの予測処理に必要な情報を取得する。予測差分の周波数変換係数成分は逆量子化処理部(303)に出力される。予測方向や動きベクトルなどは、予測手段に応じて画面内予測部(306)または画面間予測部(307)に出力される。続いて、逆量子化処理部(303)および逆周波数変換部(304)は、予測差分情報に対してそれぞれ逆量子化と逆周波数変換を行い、予測差分データを復号化する。画面内予測部(306)または画面間予測部(307)は、可変長復号化部(302)から入力されたデータに基づいて参照画像メモリ(309)に格納された復号化画像を参照して予測処理を行う。加算部(308)は、復号化画像を生成する。参照画像メモリ(309)は、復号化画像を格納する。【００４９】
図4は、本実施例における動画像復号化装置の画面内予測部(306)の詳細を示した図である。【００５０】
ここで、予測方向推定難易度判定部(401)は、周囲の復号化済みのブロックの予測方向の情報を予測方向記憶メモリ(405)から読み出し、読み出した情報に基づいて、復号化対象ブロックの予測方向の推定が容易か否かを判定する。この判定方法には、例えば図8にて説明した方法を用いれば良い。当該判定結果に基づいて、可変長復号化部（302）から入力される復号化対象ブロックの予測方向データの出力先を切替える。すなわち、復号化方式を切り替える。【００５１】
例えば、復号化対象ブロックの予測方向の推定が容易であると判定された場合は、予測方向データの復号化は予測方向予測復号化部(403)によって行われる。予測方向予測復号化部(403)は、例えば図8(802)の方法(予測方向符号化方法Ａ)に対応する復号化方式を用いて予測方向データの復号化処理を行う。【００５２】
一方、復号化対象ブロックの予測方向の推定が非容易であると判定された場合は、予測方向データの復号化処理は予測方向可変長復号化部(402)にて行われる。予測方向可変長復号化部(402)は、例えば図8(803)の方法(予測方向符号化方法Ｂ)に対応する復号化方式を用いて予測方向データの復号化処理を行う。【００５３】
以上のように復号化処理された予測方向データが画面内予測画像生成部(404)に入力される。また、予測方向記憶メモリ(405)に復号化処理された予測方向データを格納する。画面内予測画像生成部(404)は、参照画像メモリ(309)から入力される隣接ブロックの復号画像の画素値と、復号化処理された予測方向データとに基づいて、画面内予測画像を加算部(308)へ出力する。【００５４】
なお、図4の例では画面内予測部(306)において予測方向データの復号化処理を行っているが、この復号化処理は可変長復号化部(302)で行うこともできるし、別の構成部で行っても良い。【００５５】
次に、本実施例の動画像符号化装置の1フレームの符号化処理手順について、図9を用いて説明する。【００５６】
まず、符号化対象となるフレーム内に存在するすべてのブロックに対して(901)、以下の処理を行う。すなわち、該当ブロックに対して一度すべての符号化方向(予測方法とブロックサイズの組み合わせ)に対して予測符号化処理を行って予測差分を算出し、最も符号化効率が高い符号化方向を選択する。【００５７】
上記予測符号化処理においては、画面内予測符号化処理(904)または画面間予測符号化処理(907)を行い、最適な予測符号化処理を選択することによって、画像の性質に応じて効率良く符号化する。【００５８】
上記多数の符号化方向の中から最も符号化効率の高いものを選択する際には(908)、例えば画質歪みと符号量の関係から最適な符号化方向を決定するRD-Optimization方式を利用することによって、効率良く符号化できる。RD-Optimization方式の詳細については参考文献１に記載されている。
（参考文献１）G. Sullivan and T.Wiegand : “Rate-Distortion Optimization for Video Compression”, IEEE Signal Processing Magazine, vol.15, no.6, pp.74-90, 1998. 
続いて、選択した符号化方向に基づいて生成された予測差分データに対して周波数変換 (909)と量子化処理(910)を行い、さらに可変長符号化を行うことによって符号化ストリームを生成する(911)。【００５９】
一方、量子化済みの周波数変換係数に対しては逆量子化処理(912)と逆周波数変換処理(913)を行って予測差分データを復号化し、復号化画像を生成して参照画像メモリに格納する(914)。以上の処理をすべてのブロックに対して完了すれば、画像1フレーム分の符号化は終了する(915)。【００６０】
次に、図9の画面内予測符号化処理(904)の処理手順の詳細について、図10を用いて説明する。【００６１】
まず、符号化対象となるブロックにおいて、全ての予測方向に対して(1001)、画面内予測処理(1002)を行う。その中から最適な予測方向を選択する(1003)。また、既に符号化済みの周囲のブロックの情報から、予測方向の推定が容易か否かを判定し(1004)、容易であれば予測方向符号化方法Ａを用いて符号化を行い(1005)、容易でなければ予測方向符号化方法Ｂを用いて符号化を行えば(1006)、１ブロック分の予測方向の符号化は終了する(1007)。【００６２】
なお、図10の例では画面内予測符号化処理(904)において予測方向データの符号化処理を行っているが、この符号化は可変長符号化処理(911)で行うこともできるし、別の処理内で行っても良い。【００６３】
次に、図3に示す動画像復号化装置における1フレームの復号化処理手順について図11を用いて説明する。【００６４】
まず、1フレーム内のすべてのブロックに対して、以下の処理を行う(1101)。すなわち、入力ストリームに対して可変長復号化処理を行い(1102)、逆量子化処理(1103)および逆周波数変換処理(1104)を行い、予測差分データを復号化する。続いて、対象ブロックが予測符号化されている予測モードを、符号化ストリームに含まれる情報に基づいて判定し、当該判定結果に基づいて、画面内予測復号化処理(1108)または画面間予測復号化処理(1109)を行って予測画像を生成し、上述の復号化した予測差分データと加算して復号化画像を生成する。生成した復号化画像を参照画像メモリに格納する。以上の処理をフレーム中のすべてのブロックに対して完了すれば、画像1フレーム分の復号化が終了する(1110)。【００６５】
次に、図11の画面内予測復号化処理(1106)の処理手順の詳細について、図12を用いて説明する。【００６６】
まず対象ブロックの周辺に位置する復号化済みのブロックの予測方向から、対象ブロックの予測方向の推定が容易か否かを判定する(1201)。この際、対象ブロックの予測方向の推定が容易であれば予測方向符号化方法Ａに対応する復号化を実行し(1202)、容易でなければ予測方向符号化方法Ｂに対応する復号化処理を実行する(1203)。最後に復号化された予測方向データを基に予測復号化処理を行えば(1204)、１ブロック分の画面内予測復号化処理は終了する(1205)。【００６７】
なお、図12の例では画面内予測復号化処理(1106)において予測方向データの復号化を行っているが、この復号化は可変長復号化処理(1102)で行うこともできるし、別の処理内で行っても良い。【００６８】
本実施例では周波数変換の一例としてDCTを挙げているが、DST(Discrete Sine Transformation：離散サイン変換)、WT(Wavelet Transformation：ウェーブレット変換)、DFT(Discrete Fourier Transformation：離散フーリエ変換)、KLT(Karhunen-Loeve Transformation：カルーネン-レーブ変換)など、画素間相関除去に利用する直交変換ならどんなものでも構わない。【００６９】
特に周波数変換を施さずに予測差分そのものに対して符号化を行っても構わない。さらに、可変長符号化も特に行わなくて良い。【００７０】
また、実施例では特に4×4画素サイズのブロック単位で予測を行う場合について記載しているが、例えば8×8画素サイズや16×16画素サイズなど、どのようなサイズのブロックに対して本発明を適用しても良い。【００７１】
また、本実施例ではH.264/AVCで定められている8方向に沿って予測を行っているが、方向数を増やしても減らしても構わない。【００７２】
以上説明した実施例１に係る動画像符号化装置、動画像符号化方法、動画像復号化装置、動画像復号化方法によれば、動画像の符号化・復号化処理においてより符号量を低減することが可能となる。
【実施例２】
【００７３】
実施例２では予測符号化に用いるマクロブロックのサイズ及び予測方法(画面内予測、画面間予測)などの予測モード情報の符号化処理に対して、実施例１のような選択的な符号化処理を用いる例について述べる。【００７４】
図13はH.264/AVC における、Baselineプロファイルで利用可能な符号化モードの種類を示す。H.264/AVCでは、16×16画素サイズのマクロブロックごとに符号化モードを決定する。ここでは、画面内ブロックの画素相関を利用して圧縮を行う画面内予測(Intra予測)、および画面間ブロックの画素相関を利用する画面間予測(Inter予測)のうちどちらの予測方法を適用するか、ならびに予測に利用するブロックのサイズを決定する。H.264/AVCでは、画面間の画素値予測方法として、1枚の参照画像を指定する順方向予測(Predictive予測)と、2枚の参照画像を指定することが可能な双方向予測(Bi-directional predictive予測)を規定しているが、Baselineプロファイルを利用する場合は、Predictive予測のみが利用可能となっている。【００７５】
各フレームでは、画面左上のマクロブロックから右下のマクロブロックに向かってラスター走査の順番に従って順次符号化が行われる。マクロブロックはさらに小さなサイズのブロックに分割することが可能であり、あらかじめ予測方法の種類ごとに定められたいくつかのサイズの中から最適なものを選んで符号化を行う。画面内予測の場合、16×16画素 (I16×16モード)と4×4画素(I4×4モード)の2種類のブロックサイズを利用することができ、いずれか適した方のモードが使われる。一方、画面間予測では、16×16画素(P16×16モード)、16×8画素(P16×8モード)、8×16画素(P8×16モード)、8×8画素(P8×8モード)のサイズが用意されており、8×8画素サイズの場合はさらに8×8画素、8×4画素、4×8画素、4×4画素サイズのサブマクロブロックに分割することが可能である。さらに、16×16画素のブロックサイズに対しては動きベクトル情報を符号化しないPSkipモードを、8×8画素サイズに対しては参照フレーム番号を符号化しないP8×8ref0モードを用意している。【００７６】
各マクロブロックに対して、以上で述べた予測方法およびブロックサイズを決定し、その情報を符号化する。上記で挙げた予測方法(画面内予測、画面間予測)とブロックサイズの組合せ(例えばI16×16モードやI4×4モード等)をブロックタイプと呼ぶ。【００７７】
ここで、図14を用いて、本実施例に係るブロックタイプの符号化方法を説明する。図14の画像ブロック説明図(1401)、ビット構成図(1402)、可変長符号表(1403)は、それぞれ、実施例１の図8の画像ブロック説明図(801),ビット構成図(802)、可変長符号表(803)に対応する。【００７８】
図14(実施例２)と図8（実施例１）を比較すれば明らかなとおり、両者の相違は、図8の「予測方向」を「ブロックタイプ」に変更すれば、図14に示すブロックタイプの符号化方法が実現できる。【００７９】
具体的には、画像ブロック説明図(1401)に示すように、対象ブロックに対してそれぞれ左側、上側、左上側、右上側に隣接する符号化済みの隣接ブロックA、B、C、Dの復号化画像を利用して対象ブロックのブロックタイプを推定する。この際に推定が容易か否かによってブロックタイプの符号化方式を切替える。ブロックタイプの推定が容易である場合には、ブロックタイプ符号化方法Ａを用い、隣接ブロックのブロックタイプを用いた予測結果に基づいて対象ブロックのブロックタイプを符号化する。一方、ブロックタイプの推定が容易でない場合にはブロックタイプ符号化方法Ｂを用い、隣接ブロックから推定せずにブロックタイプを単独で符号化する。この推定難易度の判定は、例えば、周囲の符号化済みの隣接ブロックA、B、C、D、のブロックタイプMSA、MSB、MSC、MSDから多数決を行い、N(Ｎは2以上の整数)個以上同じブロックタイプが存在する場合にはブロックタイプの推定が容易であり、それ以外の場合は容易でないとする、などの方法で行うことができる。【００８０】
ビット構成図(1402)は、ブロックタイプ符号化方法Ａの際の予測方法を表すビット構成の詳細を示している。ブロックタイプ符号化方法Ａでは、隣接モード（推定ブロックタイプ）を決定する必要があるが、これは例えば周囲ブロックのブロックタイプのうち、最も多く現れるブロックタイプを隣接モード（推定ブロックタイプ）とする、などの方法で決定することが可能である。【００８１】
表(1403)は、ブロックタイプ符号化方法Ｂの際に用いる可変長符号表の一例を示す。ブロックタイプ符号化方法Ｂでは、ブロックタイプを(1403)のような可変長符号表に従って、可変長符号化する。表(1403)の可変長符号表は一例であり、他のパターンを用いてもよい。【００８２】
また、以上では符号化について述べたが、復号化の際には対応する符号化方法と逆の処理を行うことで復号化を行うことができる。【００８３】
すなわち、隣接する復号化済みブロックのブロックタイプ情報を利用して対象ブロックのブロックタイプの推定難易度を判定し、ブロックタイプの推定が容易である場合にはビット構成図(1402)のビット構成に従いブロックタイプの復号化を行う。一方、ブロックタイプの推定が容易でない場合には表(1403)の符号表を基にブロックタイプの復号化を行うことで、ブロックタイプの復号化を行うことができる。【００８４】
本実施例における画像符号化装置は、実施例1の図1の画像符号化装置において、可変長符号化部(112)を図15に示す構成とすれば実現できる。その他の構成は、実施例１の図１の構成と同一であるため、説明を省略する。【００８５】
図15において、可変長符号化部(112)には、例えば図1に示す量子化処理部部(103)にて量子化されたデータが入力される。入力されるデータのうちブロックタイプ情報はブロックタイプ記憶メモリ(1505)に記憶される。ブロックタイプ推定難易度判定部(1501)で、周囲の符号化済みのブロックタイプの情報をブロックタイプ記憶メモリ(1505)から読み出し、読み出した情報を基に対象ブロックのブロックタイプの推定難易度を判定する。推定難易度を判定は、例えば図14にて説明した方法を使うことができる。この判定を基にブロックタイプの符号化方式を切替える。【００８６】
例えば、ブロックタイプの推定が容易であると判定された場合には、ブロックタイプの符号化はブロックタイプ予測符号化部(1503)によって行われる。ブロックタイプ予測符号化部(1503)では、図14のビット構成図(1402)に示す方法(ブロックタイプ符号化方法Ａ)を用いてブロックタイプの符号化を行う。【００８７】
また、例えば、ブロックタイプの推定が容易でないと判断された場合には、ブロックタイプの符号化はブロックタイプ可変長符号化部(1502)によって行われる。ブロックタイプ可変長符号化部(1502)では、例えば図14の表(1403)を用いる可変長符号化方法(ブロックタイプ符号化方法Ｂ)を用いてブロックタイプの符号化を行う。【００８８】
以上説明したように、ブロック毎にブロックタイプの符号化方法を選択しながら、符号化を行う。【００８９】
また同時にブロックタイプ以外の可変長符号化部(1504)において、ブロックタイプ以外のデータの可変長符号化を行い、この結果とブロックタイプを符号化した結果を出力値とする。図15の例ではブロックタイプの符号化を可変長符号化部(112)にて行っているが、モード選択部(108)で符号化を行うこともできるし、別の構成部で行っても良い。【００９０】
次に、本実施例における画像復号化装置は、実施例1の図３の画像復号化装置において、可変長符号化部(302)を図16に示す構成とすれば実現できる。その他の構成は、実施例１の図３の構成と同一であるため、説明を省略する。【００９１】
図16において、ブロックタイプ推定難易度判定部(1601)では、周囲の復号化済みのブロックのブロックタイプの情報をブロックタイプ記憶メモリ(1605)から読み出し、読み出した情報を基に対象ブロックのブロックタイプの推定難易度を判定する。この方法は例えば図14にて説明した方法を使うことができる。この判定を基に、ブロックタイプの復号化方式を切替える。【００９２】
例えばブロックタイプの推定が容易であると判定された場合には、ブロックタイプの復号化はブロックタイプ予測復号化部(1603)によって行われる。ブロックタイプ予測復号化部(1603)では、例えば図14のビット構成図(1402)に示す方法(ブロックタイプ符号化方法Ａ)に対応する復号化方式を用いて復号化を行う。【００９３】
また、ブロックタイプの推定が容易でないと判断された場合には、ブロックタイプの復号化はブロックタイプ可変長復号化部(1602)によって行われる。ブロックタイプ可変長復号化部(1602)では、例えば図14の表(1403)を用いる可変長復号化方法(ブロックタイプ符号化方法Ｂ)に対応する復号化方式を用いてブロックタイプの復号化を行う。【００９４】
以上のように復号化されたブロックタイプはブロックタイプ記憶メモリ(1605)に記憶される。【００９５】
またブロックタイプ以外の可変長復号化部(1604)において、ブロックタイプ以外のデータの可変長復号化を行い、ブロックタイプ以外のデータの復号結果とブロックタイプの復号結果とを出力する。【００９６】
図16の例ではブロックタイプの復号化を可変長復号化部(302)にて行っているが、画面内予測部(306)および画面間予測部(307)で復号化を行うこともできるし、別の構成部で行っても良い。【００９７】
本実施例に係る動画像符号化装置の1フレームの符号化処理手順については、実施例１における図9のうち可変長符号化処理(911)の詳細を図17に示す内容とればよい。その他の処理は実施例１と同様のため説明を省略する。【００９８】
図17においては、まず、符号化対象となるブロックにおいて、既に符号化済みの周囲のブロックの情報から、ブロックタイプの推定が容易かどうかを判定する(1701)。容易であればブロックタイプ符号化方法Ａを用いて符号化を実行する(1702)。容易でなければブロックタイプ符号化方法Ｂを用いて符号化を実行する(1703)。最後にブロックタイプ以外の可変長符号化処理を実行して(1704)、１ブロック分の可変長符号化は終了する(1705)。【００９９】
図17の例では可変長符号化処理(911)においてブロックタイプの符号化を行っているが、この符号化は符号化モード選択処理(908)で行うこともできるし、別の処理内で行っても良い。【０１００】
本実施例に係る動画像復号化装置の1フレームの復号化処理手順については、実施例１における図11のうち可変長復号化処理(1102)の詳細を図18に示す内容とればよい。その他の処理は実施例１と同様のため説明を省略する。【０１０１】
図18において、まず、復号化対象となるブロックについて、既に復号化済みの周囲のブロックの情報から、ブロックタイプの推定が容易かどうかを判定する(1801)。容易であればブロックタイプ符号化方法Ａに対応する復号化方式を用いて復号化を実行する(1802)。容易でなければブロックタイプ符号化方法Ｂに対応する復号化方式を用いて復号化を実行する(1803)。最後にブロックタイプ以外の可変長復号化処理を実行して(1804)、１ブロック分の可変長復号化は終了する(1805)。【０１０２】
図18の例では可変長復号化処理(1102)においてブロックタイプの復号化を行っているが、この復号化は画面内予測復号化処理(1106)および画面内予測復号化処理(1109)で行うこともできるし、別の処理内で行っても良い。【０１０３】
本実施例では周波数変換の一例としてDCTを挙げているが、DST(Discrete Sine Transformation：離散サイン変換)、WT(Wavelet Transformation：ウェーブレット変換)、DFT(Discrete Fourier Transformation：離散フーリエ変換)、KLT(Karhunen-Loeve Transformation：カルーネン-レーブ変換)など、画素間相関除去に利用する直交変換ならどんなものでも構わない。特に周波数変換を施さずに予測差分そのものに対して符号化を行っても構わない。【０１０４】
さらに、可変長符号化も特に行わなくて良い。また、実施例ではH.264/AVCで定められている8方向に沿って予測を行っているが、方向数を増やしても減らしても構わない。【０１０５】
また、実施例では一部のブロックタイプの例を挙げているが、他のブロックタイプを用いても構わない。【０１０６】
以上の２つの実施例では、画面内予測の際の予測方向の符号化および復号化と、予測符号化の際のブロックタイプの符号化および復号化に本発明を適用する例について示したが、例えば、周波数係数の有無を表すCBP(Coded Block Pattern)や動きベクトルなど、ブロック単位で符号化する必要がある情報の符号化処理および復号化処理であれば、他の情報であっても本発明を適用できる。
【産業上の利用可能性】
【０１０７】
本発明は動画像を符号化する動画像符号化技術および動画像を復号化する動画像復号化技術として有用である。
【符号の説明】
【０１０８】
101…原画像、102…原画像メモリ、103…ブロック分割部、104…動き探索部、106…画面内予測部、107…画面間予測部、108…方向選択部、109…減算部、110…周波数変換部、111…量子化処理部、112…可変長符号化部、113…逆量子化処理部、114…逆周波数変換部、115…加算部、116…参照画像メモリ、201…方向別予測部、202…予測方向決定部、203…予測方向推定難易度決定部、204…予測方向可変長符号化部、205…予測方向予測符号化部、206…予測方向記憶メモリ、207…画面内予測画像生成部、301…符号化ストリーム、302…可変長復号化部、303…逆量子化処理部、304…逆周波数変換部、306…画面内予測部、307…画面間予測部、308…加算部、309…参照画像メモリ、401…予測方向推定難易度判定部、402…予測方向可変長復号化部、403…予測方向予測復号化部、404…画面内予測画像生成部、405…予測方向記憶メモリ、1501…ブロックタイプ推定難易度判定部、1502…ブロックタイプ可変調符号化部、1503…ブロックタイプ予測符号化部、1504…ブロックタイプ以外の可変長符号化部、1505…ブロックタイプ記憶メモリ、1601…ブロックタイプ推定難易度判定部、1602…ブロックタイプ可変調復号化部、1603…ブロックタイプ予測復号化部、1604…ブロックタイプ以外の可変長復号化部、1605…ブロックタイプ記憶メモリ。
【図１】
0005400798.tif 000002
【図２】
0005400798.tif 000003
【図３】
0005400798.tif 000004
【図４】
0005400798.tif 000005
【図５】
0005400798.tif 000006
【図６】
0005400798.tif 000007
【図７】
0005400798.tif 000008
【図８】
0005400798.tif 000009
【図９】
0005400798.tif 000010
【図１０】
0005400798.tif 000011
【図１１】
0005400798.tif 000012
【図１２】
0005400798.tif 000013
【図１３】
0005400798.tif 000014
【図１４】
0005400798.tif 000015
【図１５】
0005400798.tif 000016
【図１６】
0005400798.tif 000017
【図１７】
0005400798.tif 000018
【図１８】
0005400798.tif 000019