JP2008172581A - 画像符号化装置及び画像符号化プログラム - Google Patents
画像符号化装置及び画像符号化プログラム Download PDFInfo
- Publication number
- JP2008172581A JP2008172581A JP2007004449A JP2007004449A JP2008172581A JP 2008172581 A JP2008172581 A JP 2008172581A JP 2007004449 A JP2007004449 A JP 2007004449A JP 2007004449 A JP2007004449 A JP 2007004449A JP 2008172581 A JP2008172581 A JP 2008172581A
- Authority
- JP
- Japan
- Prior art keywords
- prediction
- pixel
- prediction mode
- value
- input
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Abstract
【課題】イントラ予測を用いた画像符号化装置において、予測モード判定の精度を低下させずに少ない演算量で予測モード判定を可能とする画像符号化装置を提供する。
【解決手段】画像符号化装置は、入力した動画像の画素値をブロック単位で直交変換する入力画素変換手段(11)と、ブロックの隣接画素の画素値を用いて複数の予測モードについて、ブロック単位の動画像の予測画素値を直交変換した値を演算する予測画素変換手段(12〜15)と、複数の予測モード毎に、入力画素変換手段(11)からの出力と、予測画素変換手段(12〜15)からの出力との差分を求める差分手段(16)と、複数の予測モード毎の差分手段の出力から一つの予測モードを決定する予測モード判定手段(10)とを備える。
【選択図】図2
【解決手段】画像符号化装置は、入力した動画像の画素値をブロック単位で直交変換する入力画素変換手段(11)と、ブロックの隣接画素の画素値を用いて複数の予測モードについて、ブロック単位の動画像の予測画素値を直交変換した値を演算する予測画素変換手段(12〜15)と、複数の予測モード毎に、入力画素変換手段(11)からの出力と、予測画素変換手段(12〜15)からの出力との差分を求める差分手段(16)と、複数の予測モード毎の差分手段の出力から一つの予測モードを決定する予測モード判定手段(10)とを備える。
【選択図】図2
Description
本発明は画像符号化装置に関し、特にイントラ予測符号化を用いた符号化装置に関する。
動画像をディジタル化して伝送及び記録する装置では、膨大なデータ量を処理する必要があることから、通常、画像を圧縮してデータ量を小さくした後、動画像の伝送及び記録を行う。
放送用の分野においては、インサート編集などのフレーム単位の編集が多用されるため、フレーム間の相関を利用しないイントラフレーム方式の圧縮方式が採用されている。
例えば、DVCPRO方式の圧縮では、水平方向に720画素の輝度信号と、水平方向に180画素の色信号(以下「4:1:1信号」と称す。)を入力し、水平方向に32画素、垂直方向に16画素の単位マクロブロックを構成し、そして、単位マクロブロックにおいて水平8画素×垂直8画素を1ブロックとし、4ブロックの輝度信号と、1ブロックのCb色信号と、1ブロックのCr色信号とをそれぞれDCT変換し、その後に量子化、可変長符号化することにより、データ量を約1/5に圧縮している。DVCPRO方式の圧縮はVTR用の圧縮方式であり、磁気テープ傷やヘッド目詰まりに起因するバーストエラーの影響を最小化するために、隣接ブロックの相関を利用しない、誤り伝播が少ない圧縮方式を採用している。
しかしながら、HDD(ハードディスクドライブ)や半導体メモリなどの比較的エラーの少ない記録メディアの大容量化が進むに連れ、放送用の画像圧縮方式は、フレーム内で、隣接ブロックの相関を利用して圧縮率を高める方式の検討が進められつつある。次世代動画像符号化方式H.264では、ブロック間の相関を利用したイントラ予測符号化が採用されている。
図10に、従来のイントラ予測方法によりイントラ予測を実施するイントラ予測部の構成を示す。イントラ予測部9は事前に分割されたブロック単位の画像データに対して、複数の予測モードを用いて画素値の予測を行う。すなわち、イントラ予測部9は、ブロック単位で、隣接画素の値を受け、各予測モード毎に画像データを予測する。そして、事前にブロック化された入力画素データと、イントラ予測部9で予測された予測データとの差分を予測モード毎に算出する。その後、予測モード毎に算出した差分に対して2次元アダマール変換を実施し、各要素の絶対値の和を計算する。そして、予測モード間で、計算された各要素の絶対値の和を比較することにより、1つの最適な予測モードを決定する。
従来の画像符号化装置では、以上のようにして決定された最適なイントラ予測モードを用いて予測画素値を算出する。その後、入力画像データと、最適なイントラ予測モードの予測画素値との差分行列をブロック毎にDCT変換(離散コサイン変換)し、さらにDCT変換後に量子化、エントロピー符号化処理をして圧縮データとして出力する。このように、イントラ予測した画素値と入力画像データの差分を圧縮していくことから、予測モード判定において予測誤差行列の大きさが最小な予測モードを選択することが、圧縮効率を高めるための重要な要素である。
JVT(Joint Video Team)が作成したH.264のReferenceプログラムでは、各モードの予測誤差行列をDCTブロック毎に2次元アダマール変換し、2次元アダマール変換後の行列要素の絶対値を加算した結果、最小となる予測モードを採用している。
上記の方法では、以下のステップを実行する必要があり、計算量が膨大となり、ハードウェア化が非常に困難であった。
(1)各予測モードにおいて、ブロック毎に、隣接画素から予測画素行列を求めるステップ
(2)各予測モードにおいて、ブロック毎に、現画像と(1)で求めた予測画素の差分を要素とした予測誤差行列を求めるステップ
(3)各予測モードにおいて、ブロック毎に、(2)で求めた予測誤差行列を2次元アダマール変換するステップ
(4)各予測モードにおいて、ブロック毎に、(3)のアダマール変換後の行列の各要素の絶対値を加算するステップ
(5)(4)の結果より、誤差が最小となる予測モードを選択するステップ
(1)各予測モードにおいて、ブロック毎に、隣接画素から予測画素行列を求めるステップ
(2)各予測モードにおいて、ブロック毎に、現画像と(1)で求めた予測画素の差分を要素とした予測誤差行列を求めるステップ
(3)各予測モードにおいて、ブロック毎に、(2)で求めた予測誤差行列を2次元アダマール変換するステップ
(4)各予測モードにおいて、ブロック毎に、(3)のアダマール変換後の行列の各要素の絶対値を加算するステップ
(5)(4)の結果より、誤差が最小となる予測モードを選択するステップ
上記課題を解決するため、特許文献1では、マクロブロック内の画素データの水平および垂直の差分和を検出し、その差分和を基にマクロブロックの相関方向を特定することにより、予測モードを決定している。
特開2004−304724号
しかしながら、特許文献1の手法では概略の予測モードは判定できるが、水平または垂直方向の差分和の偏りが少ないマクロブロックの場合は、必ずしも予測誤差が最小になるとは限らない。この結果、最適な予測モードが選択されない場合は、圧縮効率を低下させる要因となる、といった課題があった。
本発明の目的は、イントラ予測を用いた画像符号化装置において、予測モード判定の精度を低下させずに少ない演算量で予測モード判定を可能とする画像符号化装置を提供することにある。
本発明の第1の態様において、動画像データを入力し、複数の予測モードの中の少なくとも一つの予測モードを用いて所定のブロック単位の動画像データを各ブロックの周辺画素から予測し、予測した動画像データを用いて前記入力した動画像データを符号化する画像符号化装置が提供される。画像符号化装置は、入力した動画像の画素値を、ブロック単位で直交変換する入力画素変換手段と、ブロックの隣接画素の画素値を用いて複数の予測モードについて、ブロック単位の動画像の予測画素値を直交変換した値を演算する予測画素変換手段と、複数の予測モード毎に、入力画素変換手段からの出力と、予測画素変換手段からの出力との差分を求める差分手段と、複数の予測モード毎の差分手段の出力から一つの予測モードを決定する予測モード判定手段とを備える。
予測画素変換手段は、隣接画素からDC予測モードで予測した画素値の直交変換後の値を求めるDC予測用変換手段と、隣接画素から水平予測モードで予測した画素値の直交変換後の値を求める水平予測用変換手段と、隣接画素から垂直予測モードで予測した画素値の直交変換後の値を求める垂直予測用変換手段と、隣接画素から平面予測モードで予測した画素値の直交変換後の値を求める平面予測用変換手段とを含んでもよい。
予測画素変換手段は、隣接画素のDC成分、隣接画素の低域水平成分、隣接画素の低域垂直成分のそれぞれに対して2次元直交変換を実施し、その2次元直交変換の結果の総和を求めることによって、予測画素値を直交変換した値を求めてもよい。
入力画素変換手段及び予測画素変換手段により実行される直交変換は、2次元アダマール変換であってもよい。
予測画素変換手段は、所定の計算式に前記ブロックの隣接画素を代入することにより、予測画素値を直交変換した値を求めてもよい。
入力画素変換手段は、2次元直交変換行列の低域成分のみの演算を行ってもよい。
H.264に準拠したイントラ予測により画素値を予測してもよい。
本発明の第2の態様において、動画像データを入力し、複数の予測モードの中の少なくとも一つの予測モードを用いて所定のブロック単位の動画像データを各ブロックの周辺画素から予測し、予測した動画像データを用いて前記入力した動画像データを符号化するための画像符号化プログラムが提供される。その画像符号化プログラムは、プログラミング可能な制御手段に、入力した動画像の画素値をブロック単位で直交変換する入力画素変換手順と、ブロックの隣接画素の画素値を用いて、複数の予測モードについて、ブロック単位の動画像の予測画素値を直交変換した値を演算する予測画素変換手順と、複数の予測モード毎に、入力画素変換手順により得られる出力と、予測画素変換手順により得られる出力との差分を求める差分手順と、複数の予測モード毎の差分手段の出力から一つの予測モードを決定する予測モード判定手順とを実行させる。
本発明の画像符号化装置によれば、演算量の多い直交変換演算を入力画素に対してのみ実施する。これにより、予測モード判定の精度を低下させずに、予測モード毎に直交変換を実施する従来の手法と比較して大幅に計算量を低減できる。
また、予測画素演算が複雑な予測モードにおいても、予測画素の導出式を2次元直交変換の導出を容易に実施できる複数の成分に分解することによって、等価的に導出可能であり、予測モード毎に直交変換を実施する従来の手法と比較して大幅に計算量を低減できる。さらに、従来の方式が複数の予測モードにおける予測画素をすべて算出してから予測誤差の直交変換を実施するのに対して、隣接画素の値から容易に予測誤差の直交変換後の値を得られるため、より計算量を低減できる。
以上より、最適なイントラ予測モードを効率よく求めることができるので、ハードウェアの規模縮小、低消費電力化、ソフトウェアの高速化が実現できる。
以下、添付の図面を参照して本発明の実施形態について説明する。
1.画像符号化装置の構成
図1に、本発明に係る画像符号化装置の構成を示す。画像符号化装置は、入力した画像データをブロック化するブロッキング部1と、入力した画像データの画素値と予測した画素値との差分を算出する差分算出部2と、差分に対してDCT変換処理を行うDCT部3と、DCT変換後の値を量子化する量子化部4と、量子化されたデータを符号化する符号化部5とを備える。さらに、画像符号化装置は、イントラ予測を行うための構成要素として、逆量子化処理を行う逆量子化部6と、逆DCT変換処理を行う逆DCT部7と、隣接画素の画素値を記憶する隣接画素記憶部8と、H.264のイントラ予測方式にしたがい複数の予測モードに対してイントラ予測を行い、最適な予測モードを判定する予測モード判定部10とを備える。
図1に、本発明に係る画像符号化装置の構成を示す。画像符号化装置は、入力した画像データをブロック化するブロッキング部1と、入力した画像データの画素値と予測した画素値との差分を算出する差分算出部2と、差分に対してDCT変換処理を行うDCT部3と、DCT変換後の値を量子化する量子化部4と、量子化されたデータを符号化する符号化部5とを備える。さらに、画像符号化装置は、イントラ予測を行うための構成要素として、逆量子化処理を行う逆量子化部6と、逆DCT変換処理を行う逆DCT部7と、隣接画素の画素値を記憶する隣接画素記憶部8と、H.264のイントラ予測方式にしたがい複数の予測モードに対してイントラ予測を行い、最適な予測モードを判定する予測モード判定部10とを備える。
以上のように構成される画像符号化装置の全体動作は概ね以下のとおりである。
ブロッキング部1は画像データを入力し、入力画像データを、輝度信号について水平16画素×垂直16画素からなるブロック単位に分割する。差分算出部2は、ブロック単位で、予測モード判定部10により決定された予測モードで生成された予測画素と、入力画像データの画素との差分を計算する。DCT変換部3は、差分算出部2の出力データに対して、直交変換を行う。量子化部4はDCT変換部3の出力データに対して量子化を行う。符号化部5は、量子化部4の出力を算術符号等の可変長符号によって符号化し、圧縮画像データとして出力する。
ブロッキング部1は画像データを入力し、入力画像データを、輝度信号について水平16画素×垂直16画素からなるブロック単位に分割する。差分算出部2は、ブロック単位で、予測モード判定部10により決定された予測モードで生成された予測画素と、入力画像データの画素との差分を計算する。DCT変換部3は、差分算出部2の出力データに対して、直交変換を行う。量子化部4はDCT変換部3の出力データに対して量子化を行う。符号化部5は、量子化部4の出力を算術符号等の可変長符号によって符号化し、圧縮画像データとして出力する。
また、画像符号化装置においてイントラ予測を行うため、逆量子化部6は量子化部4の出力に対して逆量子化を施す。逆DCT部7は逆量子化部6の出力に対して逆DCT変換を行う。隣接画素記憶部8は逆DCT部7によって得られたデータから、次のブロック境界に関するデータ(隣接画素のデータ)を一時的に記憶する。
予測モード判定部10は隣接画素記憶部8に一時的に記憶されている、ブロックの隣接画素のデータの直交変換を行うとともに、入力画素データの画素データの直交変換を行う。その後、予測モード判定部10は、予測モード毎に、予測した画素値と入力した画素値との差分を計算し、差分値が最も小さい予測モードを最適な予測モードとして決定する。予測モード判定部10で決定された最適な予測モードにしたがい差分算出部2が画素の予測を行う。
2.予測モード判定部
イントラ予測モードの判定を行う予測モード判定部10の構成、動作の詳細を説明する。予測モード判定部10は、イントラ予測モードとして、DC予測モード、垂直予測モード、水平予測モード、及び平面予測モードの4つのモードを実装し、入力画素に基づき複数の予測モードの中から最適なイントラ予測モードを決定する。なお、以下では、色信号についての予測モード判定部10による予測モードの判定動作について説明する。
イントラ予測モードの判定を行う予測モード判定部10の構成、動作の詳細を説明する。予測モード判定部10は、イントラ予測モードとして、DC予測モード、垂直予測モード、水平予測モード、及び平面予測モードの4つのモードを実装し、入力画素に基づき複数の予測モードの中から最適なイントラ予測モードを決定する。なお、以下では、色信号についての予測モード判定部10による予測モードの判定動作について説明する。
図2に予測モード判定部10の構成を示す。予測モード判定部10は、2次元アダマール変換部11と、4つの変形アダマール変換部12〜15と、差分算出部16と、比較部17とを備える。
2次元アダマール変換部11は入力画像データの2次元アダマール変換(直交変換)を行う。DC予測モードに対する変形アダマール変換部12は、隣接画素データを用いてDC予測モードで予測された予測画素データをアダマール変換して得られる結果を、所定の計算式を用いて等価的に求める。垂直予測モードに対する変形アダマール変換部13は、隣接画素データを用いて垂直予測モードで予測された予測画素データをアダマール変換して得られる結果を、所定の計算式を用いて等価的に求める。水平予測モードに対する変形アダマール変換部14は、隣接画素データを用いて水平予測モードで予測された予測画素データをアダマール変換して得られる結果を、所定の計算式を用いて等価的に求める。平面予測モードに対する変形アダマール変換部15は、隣接画素データを用いて平面予測モードで予測された予測画素データをアダマール変換して得られる結果を、所定の計算式を用いて等価的に求める。各変形アダマール変換部12〜15の動作の詳細は後述する。差分算出部16は、2次元アダマール変換部11の出力と、各変形アダマール変換部12〜15それぞれからの出力との差分を求め、2次元行列の各要素の絶対値和を計算する。比較部17は、差分算出部16からの各予測モードに対する差分を比較して、絶対値和の最小な予測モードを最適な予測モードとして決定する
2.1 イントラ予測
最初にイントラ予測について説明する。H.264のハイ・プロファイルでは、放送用の画質に対応するため、4:2:2方式の画像データの圧縮をサポートしている。4:2:2方式の水平方向の有効画素は、輝度信号については720画素、Cb,Crの各色信号については360画素であり、水平16画素×垂直16画素の輝度信号と、水平8画素×垂直16画素のCb/Cr色信号からなるマクロブロックが圧縮の基本単位となる。図3は、H.264のマクロブロックの構成図である。同図(a)は輝度信号の構成を示し、同図(b)はCbおよびCrからなる色信号の構成を示す。同図に示すように、輝度信号に関して、単位マクロブロックは、水平8画素×垂直8画素からなる、4個のDCTブロックY0〜Y3によって構成される。Cb/Crの各色信号に関して、単位ブロックは、水平4画素×垂直4画素からなる、8個のDCTブロックC0〜C7によって構成されている。
最初にイントラ予測について説明する。H.264のハイ・プロファイルでは、放送用の画質に対応するため、4:2:2方式の画像データの圧縮をサポートしている。4:2:2方式の水平方向の有効画素は、輝度信号については720画素、Cb,Crの各色信号については360画素であり、水平16画素×垂直16画素の輝度信号と、水平8画素×垂直16画素のCb/Cr色信号からなるマクロブロックが圧縮の基本単位となる。図3は、H.264のマクロブロックの構成図である。同図(a)は輝度信号の構成を示し、同図(b)はCbおよびCrからなる色信号の構成を示す。同図に示すように、輝度信号に関して、単位マクロブロックは、水平8画素×垂直8画素からなる、4個のDCTブロックY0〜Y3によって構成される。Cb/Crの各色信号に関して、単位ブロックは、水平4画素×垂直4画素からなる、8個のDCTブロックC0〜C7によって構成されている。
次に、色信号のイントラ予測について図4、5を参照して説明する。図4は、色信号のマクロブロックとその隣接画素を示した図である。同図において、マクロブロックは8つのDCTブロックC0〜C7で構成され、そのマクロブロックの垂直及び水平方向に隣接画素p(x,y)(x=-1,y=-1〜15;y=-1,x=-1〜7)を考える。
図5は各予測モード毎のイントラ予測の概念を説明した図である。図5(a)は色信号のDCTブロック(4×4画素)とその隣接画素とを示す。図4に示すマクロブロック内の8個のDCTブロックC0〜C7において、各DCTブロック毎に隣接ブロックの定義と、隣接画素を使用した予測画素の定義式は異なるが、以下の説明では、代表例としてDCTブロックC0を用いてイントラ予測について説明する。
図5(a)に示すDCTブロックは4×4画素ブロックであり、16個の画素a〜pを含む。このDCTブロックの垂直方向において隣接画素A〜Dが、水平方向において隣接画素E〜Hが隣接する。
図5(b)は垂直(Vertical)予測、図5(c)は水平(Horizontal)予測、図5(d)はDC予測、図5(e)は平面(Plane)予測の概念を説明した図である。各予測モードにおいて、図5(a)の隣接ブロックA〜Dの水平画素群と同図の隣接ブロックE〜Hの垂直画素群とから、図5(a)に示すブロック内の画素a〜pの値を予測する。
以下、図5の(b)、(c)、(d)、(e)に示す各イントラ予測モードにおけるブロック内画素の予測値は以下のように算出できる。なお、以下の式は、図4に示すブロックC0に対する計算式であるが、他のブロックについてもほぼ同様の計算式で求められる。
i)垂直予測モード
画素a、e、i、m = P(0,-1)
画素b、 f、 j、 n = P(1,-1)
画素c、 g、 k、 o = P(2,-1)
画素d、 h、 l、 p = P(3,-1)
ii)水平予測モード
画素a、b、c、d = P(-1,0)
画素e、f、g、h = P(-1,1)
画素i、j、k、l = P(-1,2)
画素m、n、o、p = P(-1,3)
iii)DC予測モード
画素a〜p={P(0,-1)+P(1,-1)+P(2,-1)+P(3,-1)
+P(-1,0)+P(-1,1)+P(-1,2)+P(-1,3)}/8
iv)平面予測モード
画素p(x、y)={α+β(x-3)+γ(y-7)}/32
(0≦x≦7,0≦y≦15) (1)
上記の式(1)において、x及びyは、図4に示すマクロブロック内の画素位置を示す。例えば、図3のDCTブロックC0について、図5(a)の符号aで示す位置(x,y)=(0,0)である。同様に符号bで示す位置は(1,0)、符号cで示す位置は(2,0)、符号dで示す位置は(3,0)、符号eで示す位置は(0,1)、…、符号pで示す位置は(3,3)となる。
画素a、e、i、m = P(0,-1)
画素b、 f、 j、 n = P(1,-1)
画素c、 g、 k、 o = P(2,-1)
画素d、 h、 l、 p = P(3,-1)
ii)水平予測モード
画素a、b、c、d = P(-1,0)
画素e、f、g、h = P(-1,1)
画素i、j、k、l = P(-1,2)
画素m、n、o、p = P(-1,3)
iii)DC予測モード
画素a〜p={P(0,-1)+P(1,-1)+P(2,-1)+P(3,-1)
+P(-1,0)+P(-1,1)+P(-1,2)+P(-1,3)}/8
iv)平面予測モード
画素p(x、y)={α+β(x-3)+γ(y-7)}/32
(0≦x≦7,0≦y≦15) (1)
上記の式(1)において、x及びyは、図4に示すマクロブロック内の画素位置を示す。例えば、図3のDCTブロックC0について、図5(a)の符号aで示す位置(x,y)=(0,0)である。同様に符号bで示す位置は(1,0)、符号cで示す位置は(2,0)、符号dで示す位置は(3,0)、符号eで示す位置は(0,1)、…、符号pで示す位置は(3,3)となる。
同様に、DCTブロックC1について、図5(a)の符号aで示す位置(x,y)=(4,0)、符号bで示す位置は(5,0)、符号cで示す位置は(6,0)、符号dで示す位置は(7,0)、符号eで示す位置は(4,1)、…、符号pで示す位置は(7,3)となる。さらに、DCTブロックC7について、符号aで示す位置(x,y)=(4,12)、符号bで示す位置は(5,12)、符号cで示す位置は(6,12)、符号dで示す位置は(7,12)、符号eで示す位置は(4,13)、…、符号pで示す位置は(7,15)となる。
また、式(1)において、α、β、γは次式で得られる。
α=16{P(-1,15)+P(7,-1)}
β=(34×H+32)/64
γ=(5×V+32)/64
ここで、P(-1,15)、P(7,1)は図4で示す隣接画素の値、H、Vは下記に示す値である。
H=Σ{(x+1)(P(4+x,-1)−P(2-x,-1))}(x=0,1,2,3)
V=Σ{(y+1)(P(-1,8+y)−P(-1,6-y))}(x=0,1,2,3,4,5,6,7)
α=16{P(-1,15)+P(7,-1)}
β=(34×H+32)/64
γ=(5×V+32)/64
ここで、P(-1,15)、P(7,1)は図4で示す隣接画素の値、H、Vは下記に示す値である。
H=Σ{(x+1)(P(4+x,-1)−P(2-x,-1))}(x=0,1,2,3)
V=Σ{(y+1)(P(-1,8+y)−P(-1,6-y))}(x=0,1,2,3,4,5,6,7)
上記のようにα、β、γは、マクロブロックの隣接画素と、そのDCTブロックのマクロブロック内での位置が決定すれば、定数となるパラメータである。
2.2 イントラ予測判定部によるイントラ予測
前述のように、予測モード判定部10は、1)DC予測、2)水平予測、3)垂直予測、4)平面予測の4つのモードを実装しており、4つの予測モードの中で最適な予測モードを1つ抽出し、抽出した最適な予測モードの情報を差分算出部2に出力する。
前述のように、予測モード判定部10は、1)DC予測、2)水平予測、3)垂直予測、4)平面予測の4つのモードを実装しており、4つの予測モードの中で最適な予測モードを1つ抽出し、抽出した最適な予測モードの情報を差分算出部2に出力する。
本実施形態では、最適予測モードの判定に2次元アダマール変換を利用している。H.264においては、入力画像データと予測画素データの差分を符号化するため、ラスタ側の水平4画素×垂直4画素からなる16画素の短冊系のブロック単位にアダマール変換をおこなうことにより、最適予測モードを求めることが定められている。
16画素からなるブロックの入力画像データの2次元行列をX、そのブロックの予測画素の2次元行列をPとすると、入力画像データと予測画素データの差分行列Yは次式で表される。
Y=X−P
Y=X−P
アダマール変換行列をHとすると、Yを2次元アダマール変換した予測誤差行列Aは次式となる。
A=H(X−P)H (2)
ここで、
H(i,0)=(1,1,1,1) (0≦i≦3) (2−1)
H(i,1)=(1,1,-1,-1) (0≦i≦3) (2−2)
H(i,2)=(1,-1,-1,1) (0≦i≦3) (2−3)
H(i,3)=(1,-1,1,-1) (0≦i≦3) (2−4)
A=H(X−P)H (2)
ここで、
H(i,0)=(1,1,1,1) (0≦i≦3) (2−1)
H(i,1)=(1,1,-1,-1) (0≦i≦3) (2−2)
H(i,2)=(1,-1,-1,1) (0≦i≦3) (2−3)
H(i,3)=(1,-1,1,-1) (0≦i≦3) (2−4)
従来の最適予測モードの判定では、上記行列Aの各要素の絶対値の和を計算していた。すなわち、色信号の場合、マクロブロックを構成する全てのDCTブロックの予測誤差行列Aの有意係数の絶対値和(ABS_BLK)を求め、ABS_BLKを、1つのDCTブロック内に含まれるマクロブロックの個数分加算して、各予測モードの予測誤差の電力値(Σ(ABS_BLK))を求める。そして、各予測モードの予測誤差の電力値Σ(ABS_BLK)が最小となる予測モードを選択して、最適予測モードとしていた。
これに対して、本発明では、式(2)を以下のように変形し、入力画素データ、予測画素それぞれに2次元アダマール変換を実施し、その後にそれらの差分を求めることによって、予測誤差の2次元アダマール変換行列Aを求める。
A=H(X−P)H=HXH−HPH (3)
A=H(X−P)H=HXH−HPH (3)
すなわち、本実施形態では、まず、入力画素データ及び各予測モード毎の予測画素データのそれぞれについてアダマール変換を行い、変換後の入力画素データ(HXH)と、変換後の各予測モードでの予測画素データ(HPH)との差分(A)を求め、各差分に基づいて最適な予測モードを決定する。
2.2.1 変形アダマール変換
予測モード判定部10における各変形アダマール変換部12〜15による、画素データの2次元アダマール変換(HXH)について説明する。
予測モード判定部10における各変形アダマール変換部12〜15による、画素データの2次元アダマール変換(HXH)について説明する。
2次元画素データ行列はランダムな値であるため、2次元アダマール変換を施した画素データの2次元アダマール変換結果もランダムな値となる。しかしながら、上記の各予測モードにより予測された隣接画素の2次元アダマール変換結果を算出するために、全係数を求める必要はなく、低域係数のみを算出すればよい。
すなわち、予測画素データはブロックの隣接画素から作成されるため、予測画素行列を構成する各々の係数の相関性は大きい。よって、予測画素行列にアダマール変換を一旦施せば、アダマール変換後の予測画素行列の各要素は、単純な式で導出可能である。
以下、各予測モードでの予測画素データの2次元アダマール変換の計算方法について述べる。本実施形態では、DC予測モードの変形アダマール変換部12、垂直予測モードの変形アダマール変換部13、水平予測モードの変形アダマール変換部14、及び平面予測モードの変形アダマール変換部15は、隣接画素データを入力し、隣接画素データから各予測モードで予測画素データを求め、その予測画素データについて変形アダマール変換を実施する。
(1)DC予測
図6を参照し、DC予測モードの変形アダマール変換部12によるアダマール変換処理を説明する。同図(a)は、4×4画素のDCTブロックをDC予測して得られる予測画素行列を示した図である。同図(b)は、同図(a)に示す予測画素行列を2次元アダマール変換した後の周波数軸行列である。
図6を参照し、DC予測モードの変形アダマール変換部12によるアダマール変換処理を説明する。同図(a)は、4×4画素のDCTブロックをDC予測して得られる予測画素行列を示した図である。同図(b)は、同図(a)に示す予測画素行列を2次元アダマール変換した後の周波数軸行列である。
図6(a)に示すように、DC予測された予測画素行列の要素である予測画素Prev_DC(i,j)(i,j=0,1,2,3)は次式で表される。
Prev_DC(i,j)={P(0,-1)+P(1,-1)+P(2,-1)+P(3,-1)
+P(-1,0)+P(-1,1)+P(-1,2)+P(-1,3)}/8
=M (i,j=0,1,2,3)
Prev_DC(i,j)={P(0,-1)+P(1,-1)+P(2,-1)+P(3,-1)
+P(-1,0)+P(-1,1)+P(-1,2)+P(-1,3)}/8
=M (i,j=0,1,2,3)
上記DC予測された画素を2次元アダマール変換した値A_DC(i,j) (i,j=0,1,2,3)は次式で表される。
A_DC(0,0)=2×{P(0,-1)+P(1,-1)+P(2,-1)+P(3,-1)
+P(-1,0)+P(-1,1)+P(-1,2)+P(-1,3)}
=16×M
A_DC(i,j)=0 (i,j=0,1,2,3、但し、i=j=0の場合を除く)
A_DC(0,0)=2×{P(0,-1)+P(1,-1)+P(2,-1)+P(3,-1)
+P(-1,0)+P(-1,1)+P(-1,2)+P(-1,3)}
=16×M
A_DC(i,j)=0 (i,j=0,1,2,3、但し、i=j=0の場合を除く)
以上のように、DC予測による予測画素行列をアダマール変換した後の行列は、実質的に1つの係数(16M)を求めることで得られる。
(2)垂直予測
図7を参照し、垂直予測モードの変形アダマール変換部13によるアダマール変換処理を説明する。同図(a)は、4×4画素のDCTブロックを垂直予測して得られる予測画素行列を示した図である。同図(b)は、同図(a)に示す予測画素行列を2次元アダマール変換した後の周波数軸行列である。
図7を参照し、垂直予測モードの変形アダマール変換部13によるアダマール変換処理を説明する。同図(a)は、4×4画素のDCTブロックを垂直予測して得られる予測画素行列を示した図である。同図(b)は、同図(a)に示す予測画素行列を2次元アダマール変換した後の周波数軸行列である。
図7(a)に示すように、垂直予測された予測画素Prev_V(i,j)(i,j=0,1,2,3)は次式で表される。
Prev_V(0,j)=P(0,-1)=A (j=0,1,2,3)
Prev_V(1,j)=P(1,-1)=B (j=0,1,2,3)
Prev_V(2,j)=P(2,-1)=C (j=0,1,2,3)
Prev_V(3,j)=P(3,-1)=D (j=0,1,2,3)
Prev_V(0,j)=P(0,-1)=A (j=0,1,2,3)
Prev_V(1,j)=P(1,-1)=B (j=0,1,2,3)
Prev_V(2,j)=P(2,-1)=C (j=0,1,2,3)
Prev_V(3,j)=P(3,-1)=D (j=0,1,2,3)
上記の垂直予測された予測画素を2次元アダマール変換した値A_V(i,j) (i,j=0,1,2,3)は次式で表される。
A_V(0,0)=4×(A+B+C+D)=V0
A_V(1,0)=4×(A+B-C-D)=V1
A_V(2,0)=4×(A-B-C+D)=V2
A-V(3,0)=4×(A-B+C-D)=V3
A_V(i,j)=0(i=0,1,2,3;j=1,2,3)
A_V(0,0)=4×(A+B+C+D)=V0
A_V(1,0)=4×(A+B-C-D)=V1
A_V(2,0)=4×(A-B-C+D)=V2
A-V(3,0)=4×(A-B+C-D)=V3
A_V(i,j)=0(i=0,1,2,3;j=1,2,3)
以上のように、垂直予測による予測画素行列をアダマール変換した後の行列は、実質的に4つの係数(V0,V1,V2,V3)を求めることで得られる。
(3)水平予測
図8を参照し、水平予測モードの変形アダマール変換部14によるアダマール変換処理を説明する。同図(a)は、4×4画素のDCTブロックを水平予測して得られる予測画素行列を示した図である。同図(b)は同図(a)に示す予測画素行列を2次元アダマール変換した後の周波数軸行列である。
図8を参照し、水平予測モードの変形アダマール変換部14によるアダマール変換処理を説明する。同図(a)は、4×4画素のDCTブロックを水平予測して得られる予測画素行列を示した図である。同図(b)は同図(a)に示す予測画素行列を2次元アダマール変換した後の周波数軸行列である。
図8(a)に示すように、水平予測された予測画素Prev_H(i,j)(i,j=0,1,2,3)は次式で表される。
Prev_H(i,0)=P(-1,0)=E (i=0,1,2,3)
Prev_H(i,1)=P(-1,1)=F (i=0,1,2,3)
Prev_H(i,2)=P(-1,2)=G (i=0,1,2,3)
Prev_H(i,3)=P(-1,3)=H (i=0,1,2,3)
Prev_H(i,0)=P(-1,0)=E (i=0,1,2,3)
Prev_H(i,1)=P(-1,1)=F (i=0,1,2,3)
Prev_H(i,2)=P(-1,2)=G (i=0,1,2,3)
Prev_H(i,3)=P(-1,3)=H (i=0,1,2,3)
上記水平予測された画素を2次元アダマール変換した値A_H(i,j)(i,j=0,1,2,3)は次式で表される。
A_H(0,0)=4×(E+F+G+H)=H0
A_H(0,1)=4×(E+F-G-H)=H1
A_H(0,2)=4×(E-F-G+H)=H2
A_H(0,3)=4×(E-F+G-H)=H3
A_H(i,j)=0(i=1,2,3;j=0,1,2,3)
A_H(0,0)=4×(E+F+G+H)=H0
A_H(0,1)=4×(E+F-G-H)=H1
A_H(0,2)=4×(E-F-G+H)=H2
A_H(0,3)=4×(E-F+G-H)=H3
A_H(i,j)=0(i=1,2,3;j=0,1,2,3)
以上のように、水平予測による予測画素行列をアダマール変換した後の行列は、実質的に4つの係数(H0,H1,H2,H3)を求めることで得られる。
(4)平面予測
図9を参照し、平面予測モードの変形アダマール変換部15によるアダマール変換処理を説明する。平面予測による予測画素をp(x,y)とすると、その計算式は次式となる。
p(x、y)=α+β(x-3)+γ(y-7)+16 (0≦x≦7,0≦y≦15) (4)
ここで、α、β、γは、マクロブロックの隣接画素から計算する値で、同一マクロブロックにおいては固定値である。
図9を参照し、平面予測モードの変形アダマール変換部15によるアダマール変換処理を説明する。平面予測による予測画素をp(x,y)とすると、その計算式は次式となる。
p(x、y)=α+β(x-3)+γ(y-7)+16 (0≦x≦7,0≦y≦15) (4)
ここで、α、β、γは、マクロブロックの隣接画素から計算する値で、同一マクロブロックにおいては固定値である。
図4の各DCTブロックC0〜C7の左上の画素の座標(x0,y0)は以下のようになる。
DCTブロックC0の(x0、y0)=(0,0)
DCTブロックC1の(x0、y0)=(4,0)
DCTブロックC2の(x0、y0)=(0,4)
DCTブロックC3の(x0、y0)=(4,4)
DCTブロックC4の(x0、y0)=(0,8)
DCTブロックC5の(x0、y0)=(4,8)
DCTブロックC6の(x0、y0)=(0,12)
DCTブロックC7の(x0、y0)=(4,12)
DCTブロックC0の(x0、y0)=(0,0)
DCTブロックC1の(x0、y0)=(4,0)
DCTブロックC2の(x0、y0)=(0,4)
DCTブロックC3の(x0、y0)=(4,4)
DCTブロックC4の(x0、y0)=(0,8)
DCTブロックC5の(x0、y0)=(4,8)
DCTブロックC6の(x0、y0)=(0,12)
DCTブロックC7の(x0、y0)=(4,12)
式(4)は以下のように変換される。
p(x1,y1)=α+β(x1+x0-3)+γ(y1+y0-7) (4−1)
式(4−1)において、(x1,y1)は(0≦x1、y1≦3を満たす整数)であり、各DCTブロック内の2次元座標である。
p(x1,y1)=α+β(x1+x0-3)+γ(y1+y0-7) (4−1)
式(4−1)において、(x1,y1)は(0≦x1、y1≦3を満たす整数)であり、各DCTブロック内の2次元座標である。
各DCTブロックにおいて(x0,y0)は2次元定数であることから、式(4−1)をさらに変形すると、以下のようになる。
p(x1,y1)=α+β(x0-3)+γ(y0-7)+β×x1+γ×y1 (4−2)
p(x1,y1)=α+β(x0-3)+γ(y0-7)+β×x1+γ×y1 (4−2)
式(4−2)において、{α+β(x0-3)+γ(y0-7)}の項はブロックで一意に定まる定数であり、式(4−2)はさらに以下にように変形できる。
p(x1,y1)=k+β×x1+γ×y1 (4−3)
ここで、k=α+β(x0-3)+γ(y0-7) (kは定数)
p(x1,y1)=k+β×x1+γ×y1 (4−3)
ここで、k=α+β(x0-3)+γ(y0-7) (kは定数)
よって、平面予測による予測画素行列Prev_pln(i,j)(i,j=0,1,2,3)は以下のような式に分解できる。
Prev_pln(i,j)=P_DC(i,j)+P_V(i,j)+P_H(i,j) (5)
P_DC(i,j)=k
P_V(0,j)=0
P_V(1,j)=β
P_V(2,j)=2β
P_V(3,j)=3β
P_H(i,0)=0
P_H(i,1)=γ
P_H(i,2)=2γ
P_H(i,3)=3γ
Prev_pln(i,j)=P_DC(i,j)+P_V(i,j)+P_H(i,j) (5)
P_DC(i,j)=k
P_V(0,j)=0
P_V(1,j)=β
P_V(2,j)=2β
P_V(3,j)=3β
P_H(i,0)=0
P_H(i,1)=γ
P_H(i,2)=2γ
P_H(i,3)=3γ
図9は、式(5)を展開した結果の行列式を表す。同図(a)はP_DC成分からなる2次元行列、同図(b)はP_V成分からなる2次元行列、同図(c)はP_H成分からなる2次元行列をそれぞれ示す。また、同図(d)は、同図(a)に示す行列を2次元アダマール変換した後の変換行列を示し、同図(e)は同図(b)に示す行列を2次元アダマール変換した後の変換行列を示し、同図(f)は同図(c)に示す行列を2次元アダマール変換した後の変換行列を示した図である。
アダマール変換においては次式が成立する。
H(Prev_Pln)H=H(P_DC+P_V+P_H)H
=H(P_DC)H+H(P_V)H+H(P_H)H (6)
H(Prev_Pln)H=H(P_DC+P_V+P_H)H
=H(P_DC)H+H(P_V)H+H(P_H)H (6)
式(6)の第1項であるH(P−DC)HをA_DC(i,j)(i,j=0,1,2,3)とすると、次式が得られる。
A_DC(0,0)=16k
A_DC(i,j)=0 (i,j=0,1,2,3、但し、i=j=0の場合を除く)
A_DC(0,0)=16k
A_DC(i,j)=0 (i,j=0,1,2,3、但し、i=j=0の場合を除く)
また、式(6)の第2項であるH(P_V)HをA_V(i,j)(i,j=0,1,2,3)とすると、次式が得られる。
A_V(0,0)=24β
A_V(1,0)=-16β
A_V(2,0)=0
A_V(3,0)=-8β
A_V(i,j)=0 (i=0,1,2,3; j=1,2,3)
A_V(0,0)=24β
A_V(1,0)=-16β
A_V(2,0)=0
A_V(3,0)=-8β
A_V(i,j)=0 (i=0,1,2,3; j=1,2,3)
また、式(6)の第3項であるH(P_H)Hを A_H(i,j)(i,j=0,1,2,3)とすると、次式が得られる。
A_H(0,0)=24γ
A_H(0,1)=-16γ
A_H(0,2)=0
A_H(0,3)=-8γ
A_H(i,j)=0 (i=1,2,3; j=0,1,2,3)
A_H(0,0)=24γ
A_H(0,1)=-16γ
A_H(0,2)=0
A_H(0,3)=-8γ
A_H(i,j)=0 (i=1,2,3; j=0,1,2,3)
よって、Planeで予測される予測画素を2次元アダマール変換した値をA_Plnとすると、次式が得られる。
A_Pln(i,j)=A_DC(i,j)+A_V(i,j)+A_H(i,j) (i,j=0,1,2,3)
A_Pln(i,j)=A_DC(i,j)+A_V(i,j)+A_H(i,j) (i,j=0,1,2,3)
各項は以下のようになる。
A_Pln(0,0)=16k+24β+24γ
A_Pln(1,0)=−16β
A_Pln(2,0)=0
A_Pln(3,0)=−8β
A_Pln(0,1)=−16
A_Pln(0,2)=0
A_Pln(0,3)=−8γ
A_Pln(i,j)=0 (i,j=1,2,3)
A_Pln(0,0)=16k+24β+24γ
A_Pln(1,0)=−16β
A_Pln(2,0)=0
A_Pln(3,0)=−8β
A_Pln(0,1)=−16
A_Pln(0,2)=0
A_Pln(0,3)=−8γ
A_Pln(i,j)=0 (i,j=1,2,3)
以上のように、平面予測による予測画素行列をアダマール変換した後の行列は、実質的に5つの係数(16k+24β+24γ、−16β、−8β、−16γ、−8γ)を求めることで得られる。
したがって、各予測モードによるイントラ予測画素を2次元アダマール変換した場合に、有意係数を持つ行列要素は16係数の中の最大5個に限定される。
3.各予測モードの予測誤差の各要素
上述のように式(3)のHPH項は簡単な式に変換できる。よって、各予測モードについての予測誤差の各要素は式(3)より以下のように導出できる。
上述のように式(3)のHPH項は簡単な式に変換できる。よって、各予測モードについての予測誤差の各要素は式(3)より以下のように導出できる。
(a)DC予測モードの予測誤差
DC予測モードの予測誤差の各要素S_DC(i,j)(i,j=0,1,2,3)は次式で表される。
S_DC(0,0)=HXH(0,0)−16M
S_DC(i,j)=HXH(i,j) (i,j=0,1,2,3、但し、i=j=0の場合を除く)
DC予測モードの予測誤差の各要素S_DC(i,j)(i,j=0,1,2,3)は次式で表される。
S_DC(0,0)=HXH(0,0)−16M
S_DC(i,j)=HXH(i,j) (i,j=0,1,2,3、但し、i=j=0の場合を除く)
(b)垂直予測モードの予測誤差
垂直予測モードの予測誤差の各要素S_V(i,j)(i,j=0,1,2,3)は次式で表される。
S_V(0,0)=HXH(0,0)−V0
S_V(1,0)=HXH(1,0)−V1
S_V(2,0)=HXH(2,0)−V2
S_V(3,0)=HXH(3,0)−V3
S_V(i,j)=HXH(i,j) (i=0,1,2,3;j=1,2,3)
垂直予測モードの予測誤差の各要素S_V(i,j)(i,j=0,1,2,3)は次式で表される。
S_V(0,0)=HXH(0,0)−V0
S_V(1,0)=HXH(1,0)−V1
S_V(2,0)=HXH(2,0)−V2
S_V(3,0)=HXH(3,0)−V3
S_V(i,j)=HXH(i,j) (i=0,1,2,3;j=1,2,3)
(c)水平予測モードの予測誤差
水平予測モードの予測誤差の各要素S_H(i,j)(i,j=0,1,2,3)は次式で表される。
S_H(0,0)=HXH(0,0)−H0
S_H(1,0)=HXH(0,1)−H1
S_H(2,0)=HXH(0,2)−H2
S_H(3,0)=HXH(0,3)−H3
S_H(i,j)=HXH(i,j) (i=1,2,3;j=0,1,2,3)
水平予測モードの予測誤差の各要素S_H(i,j)(i,j=0,1,2,3)は次式で表される。
S_H(0,0)=HXH(0,0)−H0
S_H(1,0)=HXH(0,1)−H1
S_H(2,0)=HXH(0,2)−H2
S_H(3,0)=HXH(0,3)−H3
S_H(i,j)=HXH(i,j) (i=1,2,3;j=0,1,2,3)
(d)平面予測モードの予測誤差
平面予測モードの予測誤差の各要素S_Pln(i,j)(i,j=0,1,2,3)は次式で表される。
S_Pln(0,0)=HXH(0,0)−(16k+24β+24γ)
S_Pln(1,0)=HXH(1,0)+16β
S_Pln(2,0)=HXH(2,0)
S_Pln(3,0)=HXH(3,0)+8β
S_Pln(1,0)=HXH(0,1)+16γ
S_Pln(2,0)=HXH(0,2)
S_Pln(3,0)=HXH(0,3)+8γ
S_Pln(i,j)=HXH(i,j) (i=1,2,3;j=1,2,3)
平面予測モードの予測誤差の各要素S_Pln(i,j)(i,j=0,1,2,3)は次式で表される。
S_Pln(0,0)=HXH(0,0)−(16k+24β+24γ)
S_Pln(1,0)=HXH(1,0)+16β
S_Pln(2,0)=HXH(2,0)
S_Pln(3,0)=HXH(3,0)+8β
S_Pln(1,0)=HXH(0,1)+16γ
S_Pln(2,0)=HXH(0,2)
S_Pln(3,0)=HXH(0,3)+8γ
S_Pln(i,j)=HXH(i,j) (i=1,2,3;j=1,2,3)
予測モード判定部10は、各予測モードにおいて、マクロブロック毎に、予測誤差行列の各要素の絶対値を加算し、誤差の加算値が最小となる予測モードを最適な予測モードとして選択する。
なお、HXH(i,j) (i=1,2,3;j=1,2,3)の項は、予測モードに関わらない項であるので計算は不要である。ゆえに、入力画素データの2次元アダマール変換(HXH)において、アダマール変換の低域係数(i=0またはj=0)のみを求めるようにすれば、さらに演算量を削減できる。
4.他の直交変換への適用
以上、2次元直交変換の一例としてアダマール変換を用いて説明したが、本発明の思想は他の2次元直交変換(例えばDCT、FFT)に対しても適用でき、同様の効果を得ることができる。以下、2次元直交変換の他の例としてDCTを用いた場合について説明する。4×4画素の2次元DCT行列をDとすると、Dは以下のように表現できる。
D(i,0)=(a, a, a, a) (0≦i≦3)
D(i,1)=(b, c, -c, -b) (0≦i≦3)
D(i,2)=(a, -a, -a, a) (0≦i≦3)
D(i,3)=(c, -b, b, -c) (0≦i≦3)
a=1/2
b=√(1/2)×cos(π/8)
c=√(1/2)×cos(3π/8)
以上、2次元直交変換の一例としてアダマール変換を用いて説明したが、本発明の思想は他の2次元直交変換(例えばDCT、FFT)に対しても適用でき、同様の効果を得ることができる。以下、2次元直交変換の他の例としてDCTを用いた場合について説明する。4×4画素の2次元DCT行列をDとすると、Dは以下のように表現できる。
D(i,0)=(a, a, a, a) (0≦i≦3)
D(i,1)=(b, c, -c, -b) (0≦i≦3)
D(i,2)=(a, -a, -a, a) (0≦i≦3)
D(i,3)=(c, -b, b, -c) (0≦i≦3)
a=1/2
b=√(1/2)×cos(π/8)
c=√(1/2)×cos(3π/8)
また、DCT行列Dの転置行列Dtは、
Dt(i,0)=(a, b, a, c) (0≦i≦3)
Dt(i,1)=(a, c, -a, -b) (0≦i≦3)
Dt(i,2)=(a, -c, -a, b) (0≦i≦3)
Dt(i,3)=(a, -b, a, -c) (0≦i≦3)
Dt(i,0)=(a, b, a, c) (0≦i≦3)
Dt(i,1)=(a, c, -a, -b) (0≦i≦3)
Dt(i,2)=(a, -c, -a, b) (0≦i≦3)
Dt(i,3)=(a, -b, a, -c) (0≦i≦3)
よって、アダマール変換の(式2−1)に相当する式は次式となる。
A=D(X−P)Dt=DXDt−DPDt
A=D(X−P)Dt=DXDt−DPDt
予測画素データのDCT変換(DPDt)を以下に示す。
(a)DC予測モード
DC予測モードの2次元DCT変換値D_DC(i,j)(i,j=0,1,2,3)は以下のとおりである。
D_DC(0,0)=16×a×a×M (Mはブロック隣接画素の平均値)
D_DC(i,j)=(0,0) (i,j=0,1,2,3、但し、i=j=0の場合を除く)
(a)DC予測モード
DC予測モードの2次元DCT変換値D_DC(i,j)(i,j=0,1,2,3)は以下のとおりである。
D_DC(0,0)=16×a×a×M (Mはブロック隣接画素の平均値)
D_DC(i,j)=(0,0) (i,j=0,1,2,3、但し、i=j=0の場合を除く)
(b)垂直予測モード
垂直予測モードで予測された予測画素Prev_V(i,j)(i,j=0,1,2,3)は次式で得られる。
Prev_V(0,j)=P(0,-1)= A (j=0,1,2,3)
Prev_V(1,j)=P(1,-1)= B (j=0,1,2,3)
Prev_V(2,j)=P(2,-1)= C (j=0,1,2,3)
Prev_V(3,j)=P(3,-1)= D (j=0,1,2,3)
垂直予測モードで予測された予測画素Prev_V(i,j)(i,j=0,1,2,3)は次式で得られる。
Prev_V(0,j)=P(0,-1)= A (j=0,1,2,3)
Prev_V(1,j)=P(1,-1)= B (j=0,1,2,3)
Prev_V(2,j)=P(2,-1)= C (j=0,1,2,3)
Prev_V(3,j)=P(3,-1)= D (j=0,1,2,3)
上記予測画素を2次元DCT変換した値D_V(i,j) (i,j=0,1,2,3)は次式で得られる。
D_V(0,0)=4×a×a×(A+D)+4×a×a×(B+C)
D_V(1,0)=4×a×b×(A-D)+4×a×c×(B-C)
D_V(2,0)=4×a×a×(A+D)-4×a×a×(B+C)
D-V(3,0)=4×a×c×(A-D)-4×a×b×(B-C)
D_V(i,j)=0 (i=0,1,2,3;j=1,2,3)
D_V(0,0)=4×a×a×(A+D)+4×a×a×(B+C)
D_V(1,0)=4×a×b×(A-D)+4×a×c×(B-C)
D_V(2,0)=4×a×a×(A+D)-4×a×a×(B+C)
D-V(3,0)=4×a×c×(A-D)-4×a×b×(B-C)
D_V(i,j)=0 (i=0,1,2,3;j=1,2,3)
(c)水平予測モード
水平予測モードで予測された予測画素Prev_H(i,j)(i,j=0,1,2,3)は次式で得られる。
Prev_H(i,0)=P(-1,0)=E (i=0,1,2,3)
Prev_H(i,1)=P(-1,1)=F (i=0,1,2,3)
Prev_H(i,2)=P(-1,2)=G (i=0,1,2,3)
Prev_H(i,3)=P(-1,3)=H (i=0,1,2,3)
水平予測モードで予測された予測画素Prev_H(i,j)(i,j=0,1,2,3)は次式で得られる。
Prev_H(i,0)=P(-1,0)=E (i=0,1,2,3)
Prev_H(i,1)=P(-1,1)=F (i=0,1,2,3)
Prev_H(i,2)=P(-1,2)=G (i=0,1,2,3)
Prev_H(i,3)=P(-1,3)=H (i=0,1,2,3)
上記予測画素を2次元アダマール変換した値D_H(i,j)(i,j=0,1,2,3)は次式で得られる。
D_H(0,0)=4×a×a×(E+H)+4×a×a×(F+G)
D_H(0,1)=4×a×b×(E-H)+4×a×c×(F-G)
D_H(0,2)=4×a×a×(E+H)-4×a×a×(F+G)
D_H(0,3)=4×a×c×(E-H)-4×a×c×(F-G)
D_H(i,j)=0(i=1,2,3;j=0,1,2,3)
D_H(0,0)=4×a×a×(E+H)+4×a×a×(F+G)
D_H(0,1)=4×a×b×(E-H)+4×a×c×(F-G)
D_H(0,2)=4×a×a×(E+H)-4×a×a×(F+G)
D_H(0,3)=4×a×c×(E-H)-4×a×c×(F-G)
D_H(i,j)=0(i=1,2,3;j=0,1,2,3)
(d)平面予測モード
平面予測モードについても、予測画素をDC予測モードの項、水平予測モードの項、垂直予測モードの項に分解できるので、これらの予測モードと同様の結果が得られる。
平面予測モードについても、予測画素をDC予測モードの項、水平予測モードの項、垂直予測モードの項に分解できるので、これらの予測モードと同様の結果が得られる。
以上のように、アダマール変換以外の他の2次元直交変換(DCT)についても、本発明の思想を適用でき、ハードウェアの規模縮小、低消費電力化、ソフトウェアの高速化が実現できることが証明される。
5.まとめ
以上のように、本実施形態の画像符号化装置は、符号化対象のブロックの隣接画素から予測画素データの2次元周波数成分を演算する直交変換手段をイントラ予測モード毎に設け、その直交変換手段は入力した隣接画素のデータから等価的に直交変換出力を算出する。この構成によれば、入力画素に対してのみ、画素行列の全要素について演算量の多い2次元直交変換演算を行い、予測画素に対しては画素行列の全要素について演算量の多い2次元直交変換演算を行う必要がないので、従来の手法と比較して大幅に演算量を低減することができる。
5.まとめ
以上のように、本実施形態の画像符号化装置は、符号化対象のブロックの隣接画素から予測画素データの2次元周波数成分を演算する直交変換手段をイントラ予測モード毎に設け、その直交変換手段は入力した隣接画素のデータから等価的に直交変換出力を算出する。この構成によれば、入力画素に対してのみ、画素行列の全要素について演算量の多い2次元直交変換演算を行い、予測画素に対しては画素行列の全要素について演算量の多い2次元直交変換演算を行う必要がないので、従来の手法と比較して大幅に演算量を低減することができる。
また、予測画素演算が複雑な予測モードにおいても、予測画素の導出式を、2次元直交変換の導出が容易となる複数の成分に分解することによって等価的に導出可能であり、予測モード毎に直交変換を実施する従来の手法と比較して大幅に演算量を低減することができる。
さらに、従来の方式では、複数の予測モードにおける予測画素をすべて算出してから予測誤差の直交変換を実施するのに対して、本発明によれば、隣接画素の代入のみで予測誤差の直交変換を実施できるため、より演算量を低減することができる。
以上のように、最適なイントラ予測モードを効率よく求めることができるので、ハードウェアの規模縮小、低消費電力化、ソフトウェアの高速化が実現できる。
なお、本実施の形態では、変形アダマール変換を並列に実施する場合について説明したが、シリアルに実施してもよいことはいうまでもない。
また、本実施の形態では、上記機能をハードウェアにより実現する例を説明したが、上記機能は、ソフトウェアを実装したCPU,MPU等のプロセッサによっても同様に実現することができることは言うまでもない。
さらに、本実施の形態では、イントラ予測をH.264の色信号に適用する例を説明したが、イントラ予測をH.264の輝度信号に適用してもよい。また、本発明の思想を別の圧縮方式の最適イントラ予測モードの抽出において適用することもできる。
本発明は、イントラ予測において、予測モード判定の精度を低下させずに、予測モード判定にかかる演算量を減少させることができる。よって、低消費電力が要求されるハードウェアによる符号化装置、より高速な処理が要求されるソフトウェアによる符号化装置に有用である。
1 ブロッキング部
2 差分算出部
3 DCT部
4 量子化部
5 符号化部
6 逆量子化部
7 逆DCT部
8 隣接画素記憶部
10 予測モード判定部
11 2次元アダマール変換部
12 DC予測の変形アダマール変換部
13 垂直予測の変形アダマール変換部
14 水平予測の変形アダマール変換部
15 平面予測の変形アダマール変換部
16 差分算出部
17 比較部
2 差分算出部
3 DCT部
4 量子化部
5 符号化部
6 逆量子化部
7 逆DCT部
8 隣接画素記憶部
10 予測モード判定部
11 2次元アダマール変換部
12 DC予測の変形アダマール変換部
13 垂直予測の変形アダマール変換部
14 水平予測の変形アダマール変換部
15 平面予測の変形アダマール変換部
16 差分算出部
17 比較部
Claims (14)
- 動画像データを入力し、複数の予測モードの中の少なくとも一つの予測モードを用いて所定のブロック単位の動画像データを各ブロックの周辺画素から予測し、予測した動画像データを用いて前記入力した動画像データを符号化する画像符号化装置であって、
入力した動画像の画素値をブロック単位で直交変換する入力画素変換手段と、
前記ブロックの隣接画素の画素値を用いて、前記複数の予測モードについて、前記ブロック単位の動画像の予測画素値を直交変換した値を演算する予測画素変換手段と、
前記複数の予測モード毎に、前記入力画素変換手段からの出力と、前記予測画素変換手段からの出力との差分を求める差分手段と、
前記複数の予測モード毎の前記差分手段の出力から、前記一つの予測モードを決定する予測モード判定手段と
を備えたことを特徴とする画像符号化装置。 - 前記予測画素変換手段は、
前記隣接画素からDC予測モードで予測した画素値の直交変換後の値を求めるDC予測用変換手段と、
前記隣接画素から水平予測モードで予測した画素値の直交変換後の値を求める水平予測用変換手段と、
前記隣接画素から垂直予測モードで予測した画素値の直交変換後の値を求める垂直予測用変換手段と、
前記隣接画素から平面予測モードで予測した画素値の直交変換後の値を求める平面予測用変換手段と
を含むことを特徴とした請求項1に記載の画像符号化装置。 - 前記予測画素変換手段は、隣接画素のDC成分、隣接画素の低域水平成分、隣接画素の低域垂直成分のそれぞれに対して2次元直交変換を実施し、その2次元直交変換の結果の総和を求めることによって、前記予測画素値を直交変換した値を求めることを特徴とした請求項1に記載の画像符号化装置。
- 前記入力画素変換手段及び予測画素変換手段により実行される直交変換は、2次元アダマール変換である、ことを特徴とした請求項1記載の画像符号化装置。
- 前記予測画素変換手段は、所定の計算式に前記ブロックの隣接画素を代入することにより、前記予測画素値を直交変換した値を求める、ことを特徴とした請求項3または4に記載の画像符号化装置。
- 前記入力画素変換手段は、2次元直交変換行列の低域成分のみの演算を行うことを特徴とした請求項1ないし5のいずれかに記載の画像符号化装置。
- H.264に準拠したイントラ予測により画素値を予測することを特徴とした請求項1ないし6のいずれかに記載の画像符号化装置。
- 動画像データを入力し、複数の予測モードの中の少なくとも一つの予測モードを用いて所定のブロック単位の動画像データを各ブロックの周辺画素から予測し、予測した動画像データを用いて前記入力した動画像データを符号化するためのプログラムであって、
プログラミング可能な制御手段に、
入力した動画像の画素値をブロック単位で直交変換する入力画素変換手順と、
前記ブロックの隣接画素の画素値を用いて、前記複数の予測モードについて、前記ブロック単位の動画像の予測画素値を直交変換した値を演算する予測画素変換手順と、
前記複数の予測モード毎に、前記入力画素変換手順により得られる出力と、前記予測画素変換手順により得られる出力との差分を求める差分手順と、
前記複数の予測モード毎の前記差分手段の出力から、前記一つの予測モードを決定する予測モード判定手順とを実行させる、
ことを特徴とする画像符号化プログラム。 - 前記複数の予測モードには、DC予測モード、水平予測モード、垂直予測モード及び平面予測モードが含まれる、ことを特徴とした請求項8に記載の画像符号化プログラム。
- 前記予測画素変換手順は、隣接画素のDC成分、隣接画素の低域水平成分、隣接画素の低域垂直成分のそれぞれに対して2次元直交変換を実施し、その2次元直交変換の結果の総和を求めることによって、前記予測画素値を直交変換した値を求めることを特徴とした請求項8に記載の画像符号化プログラム。
- 前記入力画素変換手順及び予測画素変換手順により実行される直交変換は、2次元アダマール変換である、ことを特徴とした請求項8記載の画像符号化プログラム。
- 前記予測画素変換手順は、所定の計算式に前記ブロックの隣接画素を代入することにより、前記予測画素値を直交変換した値を求める、ことを特徴とした請求項10または11に記載の画像符号化プログラム。
- 前記入力画素変換手順は、2次元直交変換行列の低域成分のみの演算を行うことを特徴とした請求項8ないし12のいずれかに記載の画像符号化プログラム。
- H.264に準拠したイントラ予測により画素値を予測することを特徴とした請求項8ないし13のいずれかに記載の画像符号プログラム。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2007004449A JP2008172581A (ja) | 2007-01-12 | 2007-01-12 | 画像符号化装置及び画像符号化プログラム |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2007004449A JP2008172581A (ja) | 2007-01-12 | 2007-01-12 | 画像符号化装置及び画像符号化プログラム |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2008172581A true JP2008172581A (ja) | 2008-07-24 |
Family
ID=39700245
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2007004449A Pending JP2008172581A (ja) | 2007-01-12 | 2007-01-12 | 画像符号化装置及び画像符号化プログラム |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2008172581A (ja) |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2010258984A (ja) * | 2009-04-28 | 2010-11-11 | Renesas Electronics Corp | 画像符号化装置および画像符号化方法 |
JP2010273110A (ja) * | 2009-05-21 | 2010-12-02 | Renesas Electronics Corp | 画像符号化装置および画像符号化方法 |
JP2010283495A (ja) * | 2009-06-03 | 2010-12-16 | Fujitsu Ltd | 動画像符号化装置及び動画像符号化方法 |
JP2011188130A (ja) * | 2010-03-05 | 2011-09-22 | Nippon Hoso Kyokai <Nhk> | イントラ予測装置、符号化器、復号器及びプログラム |
JP2012505618A (ja) * | 2008-10-14 | 2012-03-01 | フランス・テレコム | 1つ以上の所定の予測因子の除外を伴う符号化及び復号 |
-
2007
- 2007-01-12 JP JP2007004449A patent/JP2008172581A/ja active Pending
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2012505618A (ja) * | 2008-10-14 | 2012-03-01 | フランス・テレコム | 1つ以上の所定の予測因子の除外を伴う符号化及び復号 |
JP2010258984A (ja) * | 2009-04-28 | 2010-11-11 | Renesas Electronics Corp | 画像符号化装置および画像符号化方法 |
JP2010273110A (ja) * | 2009-05-21 | 2010-12-02 | Renesas Electronics Corp | 画像符号化装置および画像符号化方法 |
JP2010283495A (ja) * | 2009-06-03 | 2010-12-16 | Fujitsu Ltd | 動画像符号化装置及び動画像符号化方法 |
JP2011188130A (ja) * | 2010-03-05 | 2011-09-22 | Nippon Hoso Kyokai <Nhk> | イントラ予測装置、符号化器、復号器及びプログラム |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR102646890B1 (ko) | 영상을 부호화 또는 복호화하는 방법 및 장치 | |
US9053544B2 (en) | Methods and apparatuses for encoding/decoding high resolution images | |
JP4707118B2 (ja) | 動画像符号化装置および動画像復号装置のイントラ予測方式 | |
US20070171978A1 (en) | Image encoding apparatus, image encoding method and program thereof | |
KR20060126254A (ko) | 영상의 대칭성을 이용한 인트라 예측 방법, 이를 이용한영상의 복호화, 부호화 방법 및 장치 | |
JP6114782B2 (ja) | 画像の圧縮 | |
JP2009017534A (ja) | 画像予測符号化装置、画像予測復号装置、画像予測符号化方法、画像予測復号方法、画像予測符号化プログラム、及び画像予測復号プログラム | |
JP2008172581A (ja) | 画像符号化装置及び画像符号化プログラム | |
JPWO2006100946A1 (ja) | 画像信号再符号化装置及び画像信号再符号化方法 | |
JP2010183162A (ja) | 動画像符号化装置 | |
JP4898415B2 (ja) | 動画像符号化装置及び動画像符号化方法 | |
JP2010258576A (ja) | シーンチェンジ検出装置および映像記録装置 | |
JP2010098633A (ja) | 予測符号化装置および予測符号化方法 | |
JP2006005659A (ja) | 画像符号化装置及びその方法 | |
JP2010278519A (ja) | 動きベクトル検出装置 | |
JP2008306413A (ja) | 画像符号化装置および画像符号化方法 | |
JP4971817B2 (ja) | 画像符号化装置 | |
JP2013121044A (ja) | 画像符号化装置及び画像符号化方法 | |
JP2008301270A (ja) | 動画像符号化装置及び動画像符号化方法 | |
JP7310919B2 (ja) | フィルタ生成方法、フィルタ生成装置及びプログラム | |
JP5108828B2 (ja) | 画像符号化装置 | |
US20240064331A1 (en) | Image decoding apparatus and method and image encoding apparatus and method | |
JP2010010768A (ja) | 画像符号化装置及び画像符号化方法 | |
JP2009021786A (ja) | 画像符号化装置及び画像符号化方法 | |
JP2006074520A (ja) | 動きベクトル検出装置 |