Q12:圧縮技術の基本的な技術「DCT(離散コサイン変換)」とは?
H.264/AVCという最新の圧縮技術で必要となる圧縮技術の基本的な要素のうち、「DCT(離散コサイン変換)」について説明してください。
前回「Q&Aで学ぶH.264/AVC(11):圧縮技術の基本的な要素は?」において、H.264/AVCでも使われている圧縮の基本的な5つの技術のうち、
【基本要素1】予測:2つの予測技術
【基本要素2】動き補償フレーム間予測
【基本要素3】双方向動き補償フレーム間予測
について説明しました。
今回は、
【基本要素4】変換:DCT(離散コサイン変換)
について、説明します。
【基本要素4】変換:DCT(離散コサイン変換)
[1]変換とは?
変換とは、圧縮しようとする情報を、より大幅に圧縮しやすくする(より圧縮率を高める)ために、その意味内容が失われない別の情報表現の形に変化させる技術のことです。例えば、「A」という文字を「10010」という別の情報表現に変化させ、意味内容が失われないで、より圧縮できるようにする仕組みのことです。
1つのフレーム(画面)の中では、画面の中のある画素値とその周辺の画素値は似通っていますので、この事実を利用し、圧縮しやすい状況を作ります。例えば、圧縮処理をしようとする画面内の、ある範囲にある複数の画素を集めて画素ブロック(画素の固まり。例えば8画素×8ライン=64個の画素の固まり。後述)を構成し、この画素ブロックを圧縮しやすくするために、例えば次に説明するように、有名なDCT(ディー・シー・ティー。Discrete Cosine Transform、離散コサイン変換、後出の図1-13参照)のような「数学的な変換」の仕組みを利用することによって、画素ブロック内の「冗長な成分」を容易に取り除くことができるようになります。
一般に、画像圧縮符号化とは、「モノクロのアナログ画像」の場合は、デジタル化して得られた画素の明るさ(輝度信号Y)を表す値(この値のみ)を入力して、符号器(エンコーダ)で、より情報量の少ないデジタル符号列(圧縮符号化された画素のビット列あるいはバイト列)を出力するための処理のことです。「カラーのアナログ画像」の場合は、この輝度信号(Y)に2種類の色の強さ(色差信号:Cb,Cr)を表す値が加わります。
[2]画像の「周波数」が「高い、低い」とは?
(1)相関関係が非常に高い絵柄=空間周波数成分が低い絵柄
ここで、DCTの原理を理解するために、まず画面に表示される画像の「周波数」について説明しましょう。図1-12(1)に示すように、例えば表示される画面が、絵柄のない真っ白な画面(白が連続している画面)の場合は、画面の中で隣り合っている色(画素)は、まったく同じ色(白)となります。このような状態のことを画像圧縮技術では、お互いに「相関関係が非常に高い絵柄」と言います。これを、周波数的に表現すると、ほとんど画面の中に変化がない状態なので、「周波数成分が低い絵柄」と言います。より専門的には空間周波数(画面内の周波数という意味)が低い絵柄と言います。
(2)相関関係が非常に低い絵柄=空間周波数が非常に高い絵柄
これとは、逆に図1-12(3)のように、同一画面内に正反対の色である白と黒が交互に頻繁に登場する、すなわち激しい変化が次々に登場する市松模様のような画面は、画面内の「相関関係が非常に低い絵柄」と言います。これを、周波数的に表現すると、激しい変化が次々に登場する画面なので、「空間周波数が非常に高い絵柄」と言います。
以上のことから、私たちの身の回りにある「自然の風景」などは、上記に示した2つの例の中間にある、なだらかな変化のある絵柄(そこそこの空間周波数をもつ絵柄)ということになります〔図1-12(2)〕。