トップページ Macで始めるDTV MacでTV録画 掲示板&ML 情報ひろば MacDTV.Search
MacDTV.com
DV Codecの仕組み
1999.04.13初稿
2004.08.30改訂
 MacDTV情報ひろばトップページ >> MacDTV研究室 >> [ DV Codecの仕組み ] sitemap

DV Codecについて、アナログでの代表的なCodecであるM-JPEGと比較しながら解説してゆきます。

まあわたしの記述には大間違いもあるかと思いますので、その時は笑い飛ばして下さい。
もちろん、正解をご指摘頂けると幸いです(笑)。

1. DVのフレームについて

DV Codecは、M-JPEGと同様、フレーム内圧縮(空間圧縮)です。フレーム間圧縮(時間圧縮)を採用しているMPEGやCinePakとは異なります。

一般的なアナログキャプチャリングシステムの場合、フレームは、水平640、垂直480の方形ピクセルからなります。

もちろん、業務用のD1なんかだと、水平720、垂直486の矩形(縦長の長方形)ピクセル(いわゆるD1フレーム)ですが...。

一方、DVフレームでは、水平720、垂直480の矩形ピクセルを採用しています。まあ、D1フレームをもとにしているのですね。

2. サンプリングの方法

アナログ信号をデジタイズする際、サンプリングを行いますが、これには、量子化ビット数とサンプリング周波数、のふたつのパラメータがあります。

量子化ビット数

これは、アナログ信号の縦軸(信号強度)を何段階に分割してデジタイズするか、という意味です。量子化ビット数は、M-JPEGでもDV Codecでも同じで、8ビットです。これだと256段階を表現できます。

サンプリング周波数

これは、アナログ信号の横軸方向(時間軸)において、どれくらいの時間頻度でサンプリングするか、というもの。

サンプリング周波数については、M-JPEGとDV Codecでは若干違いがあります。

一般的なM-JPEGシステムの場合、YUV=4:2:2で、これは、Y(輝度)については、全ドットサンプリングするが、UとV(色差)については、2ピクセルおきにサンプリングすることになります。

一方のDV Codecにおいては、YUV=4:1:1を採用しており、これだとUとV(色差)については4ピクセルおきにしかサンプリングしないことを意味しています。
Yのサンプリング周波数は、13.5 MHz、UとVのサンプリング周波数は3.375 MHzです。

Yのサンプリングの仕方

量子化ビット数(縦軸)は8ビットであり、256段階を表現出来る。

サンプリング周波数は13.5 MHz。
   

U、Vのサンプリングの仕方

量子化ビット数(縦軸)は8ビットであり、256段階を表現出来る。

サンプリング周波数は3.375 MHz。
つまりYの1/4の頻度でしかサンプリングしていない。

結局、

サンプリングの段階で、すでに肉眼で判らない程度に間引きサンプリング(4:1:1サンプリング)することで、データの量を減らしている

のですね。

サンプリング MacDTV.DICYUV 4:1:1サンプリング

3. 離散コサイン変換(DCT)について

FireWire経由でのDV転送の場合、25Mbpsであることはご存じだと思います。つまり、約127Mbpsを25Mbpsへと約5:1圧縮しています。この役割を果たすのがDV Codecです。

圧縮の基本アルゴリズムは、M-JPEGもDV Codecとも同様に、離散コサイン変換(Discrete Cosine Transform、以下DCT)とハフマン符合化を基本としています。

DCTでは、8×8ピクセルのブロックが基本単位になります。

DCTブロック

フレームを8×8ピクセルのブロック(DCTブロックという)に分割し、
DCTブロックを圧縮の基本単位とする。

   

ブロック中の64のデータに対してDCTという演算を行い、新たな8×8ピクセルのデータを生成させます。

離散コサイン変換(DCT)

 

 

この式の意味するところは、

原点C(0、0)に、ブロックの平均をおき、

それ以降の点には、平均からの変化率を並べてゆきます。また、原点から離れた点は、原点との変化率が小さいことになります。

このように、離散コサイン変換(DCT)自体には、圧縮の機能はありません。DCTとは、元の画像情報を別の座標系に変換して表現しているにすぎません。

また、DCT自体は、可逆です。逆DCT処理すると、劣化のない元画像が復元されます。

つまり、「DCTのために画質が劣化する」といった俗説は、正確な言い方ではありません。

DCTによる圧縮とは、これら原点からの変化率が小さい点(原点から離れた点)を丸める(近似する)ことによって行われます。

原点からの変化率が小さい点を丸めることは、「隣のピクセルと微妙に色が異なる」といったケースでこまかい描写が失われることを意味しています。

これが、俗にDCT劣化と呼ばれるものです。

4. マクロブロック、スーパーブロック...そして平準化

さて、ここで、DV CodecとM-JPEGの違いに触れることにしましょう。

例えば、M-JPEGでは、圧縮率5:1(約3MB/s強 1) )だと、エッジノイズが目立ち、画質は無残になります。いわゆるJPEGノイズというものの発生です。

1) S-VHSクオリティでは、M-JPEGでは4〜5MB/s必要といわれています。

JPEGノイズの原因は、DCTを利用した圧縮にあるので、
DVも、基本的にDCTを利用する以上、JPEGノイズ(のようなもの)の発生は、原理的に避けられません。

では、なぜ、約5:1圧縮 2) のDV Codecではエッジノイズが目立たず、これほどきれいなのでしょう。

2)127Mbps→25Mbps=3.3MB/s程度(音声分も合わせると、3.6MB/sになる)

これは、平準化という巧妙な仕組みがあるからです。

8×8ピクセル内でのDCT処理をするとなると、どうしてもエッジがにじみます。これは、各ブロック内で完結して、圧縮率を確保しなくてはならなくなるからです。
自然画の場合はこれでもいいです。隣のピクセルと色は大抵似ていますから。しかし、ビルと空の境界、あるいは、もっと苛酷な「テロップ」などを考えると、破綻します。いわゆるJPEGノイズです。

DVでは、DCTブロックを4つ分集めたものをマクロブロックと呼びます。

また、マクロブロックを27個集めたものをスーパーブロックといいます。つまり、1フレームには50個のスーパーブロックがあることになります。

   

さらに、5個のスーパーブロックを1組になっていています。の同じ組に属する5つのスーパーブロックは、1フレーム上ではこんな風に分散配置されています。

巧妙な仕組みとはこれからです。

この同じ組(計10組)の中で、圧縮率を融通し合う「平準化処理」を行うのです。

つまり、

テロップ部など圧縮率を上げたくないDCTブロックでは、低めの圧縮率に留めておく分、おなじスーパーブロックに属していて、圧縮率が余り高くなくてもよいDCTブロックでは、圧縮率をかせぐ、

といった融通をしているのです。

なお、DV Tape上では、1フレームを10トラックに記録していますが、それぞれのスーパーブロックの組が、1トラックに相当します。

例えば、DVカメラで早送り再生されるとき、ブロック状に順次再生されますよね。これは、こういった理由からです。スーパーブロックごとに間引き再生されているからです。

DV Tapeの早送り再生画面を、Macでアナログキャプチャーした例。
スーパーブロックの形が、はっきり見えますね。

最後に...

なかなか、巧妙なものですね。

結局、アナログM-JPEGにくらべ、デジタルDV Codecが画質がいい理由は、大きく3つの理由があります。

  フルデジタル処理だと、アナログノイズが混入する余地がない

  肉眼で判らない程度に間引きサンプリング(4:1:1サンプリング)している

  離散コサイン変換時の圧縮率を融通しあう、平準化という仕掛けがある

ことにあると言えます。

最後まで、おつきあい頂きまして、ありがとうございます。お疲れさまでした。実は、わたしも、調べるのに、正直、疲れました(笑)。

楽しんでいただけましたか??。ご感想など、MacDTV.forum(掲示板&メーリングリスト)に書き込んで頂けると幸いです。

  MacDTV.com
Copyright(C) Yasushi SATO All Right Reserved. 

MacDTV情報ひろばトップページ >> MacDTV研究室 >>  [ DV Codecの仕組み ]

MacDTV.comトップページに戻る
MacDTV.comトップページに戻る