VC-1:動画圧縮技術の詳細解説
VC-1は、
マイクロソフトが開発した
動画圧縮方式である
Windows Media Video 9を基に規格化されたものです。この規格は、
動画の復号処理、すなわちデコーダの設計に関する標準を定めており、符号化処理、つまりエンコーダの設計には言及していません。
Windows Media Videoは、Windows Media PlayerやWindows Media エンコーダーなどで利用される
コーデック全般を指します。
概要
2003年9月、
マイクロソフトは、米国映画テレビジョン技術者協会(
SMPTE)に
Windows Media Video 9の符号化技術にインタレース対応の拡張を加えたものを規格化し、VC-9として提出しました。
Windows Media Video 9に相当する部分はシンプルプロファイルおよびメインプロファイル、インタレース対応部分はアドバンスドプロファイルとして規定されています。
その後、規格名の番号が9であることへの指摘からVC-1に改称されました。
2004年2月、DVDフォーラムはVC-9(当時)と
MPEG-4 AVCを
HD DVDプレーヤーの必須
コーデックとすることを承認し、同年1
2月にはVC-1のアドバンスドプロファイルを採用することを決定しました。
Blu-ray Discでも同年
9月にVC-1と
MPEG-4 AVCの採用を決定しています。
2005年10月、
SMPTEでのVC-1規格化作業が完了し、
SMPTE 421Mとして発表されました。
2007年1月30日には、Windows Media Player 11 for Windows XPがWindows Vistaの発売に合わせて正式公開され、VC-1
コーデックが同梱され、より扱いやすくなりました。Windows Vistaには最初からWMP 11が含まれているため、VC-1
コーデックが標準で対応しています。
現在、ffmpegはエンコードをサポートしていますが、マルチプラットフォームでの再生には課題が残っており、普及率は
H.264に大きく遅れをとっています。
符号化技術
符号化技術そのものは
MPEG-4パート2をベースとしており、圧縮効率を高めるための様々な工夫が施されています。全ての符号化処理が16ビット整数で実現可能である点は
H.264との共通点であり、両者は技術面でも性能面でも比較の対象として取り上げられます。
整数変換
VC-1では、
H.264と同様に、浮動小数点精度の
離散コサイン変換(DCT)の代わりに整数変換を採用しています。画像の特徴に応じて、8×8、8×4、4×8、4×4の4種類の変換行列を選択できます。
H.264では整数変換のスケーリング演算と量子化が統合されているのに対し、VC-1の整数変換は単純にDCTの整数近似として定義されています。このため、変換行列の近似には、デコーダーに影響のない範囲での誤差が許容されます。
VC-1の
フレーム間予測方式は、
MPEG-4パート2とほぼ同等で、16×16または8×8の画素ブロックを単位とした動き補償を行います。
分数精度画素動き補償
VC-1では、ピクチャ単位で動きベクトルの画素精度を1/2または1/4から選択できます。
MPEG-4パート2ではストリーム単位でしか画素精度を選択できないのに対し、柔軟性が向上しています。また、デコーダー側の処理負荷を軽減するため、1/2画素精度の場合は、画素補間フィルタとしてバイキュービックフィルタまたはバイリニアフィルタを選択できます。
ハイブリッド動きベクトル予測
MPEG-4では、動きベクトルをより小さい表現で済むように、上、右上、左に隣接するブロックの動きベクトルのメジアン(中間値)を予測動きベクトルとして、実際の動きベクトルとの誤差を符号化します。これをメジアン予測と呼びます。一方、VC-1では、メジアン予測の代わりに、上または左のブロックの動きベクトルをそのまま予測値として利用できる「ハイブリッド動きベクトル予測」を採用しており、局所的に動きが大きく異なる場合に符号量を削減できます。
AC/DC予測
VC-1では、
フレーム間予測を用いないピクチャやブロックにおいて、
MPEG-4パート2と同様のAC/DC予測を採用しています。
MPEG-4との違いは、エントロピー符号化におけるハフマンテーブルを条件によって異なるものを利用する点です。
オーバーラップスムージング
VC-1では、ブロック境界での歪みを軽減するため、ブロック境界をスムージングするフィルタを動き補償の参照フレームに適用します。これは、
H.264で採用されているデブロッキングフィルタと同等の役割を果たしますが、
H.264に比べて単純な処理構造を持つのが特徴です。
ビットプレーン符号化
一般的にMPEG系の符号化方式では、16×16画素のマクロブロック単位で符号化モードやDCT係数、動きベクトルなどを符号化します。VC-1では、各マクロブロックに固定的に割り当てられる符号化モードのデータについては、ピクチャ単位でまとめて符号化するビットプレーン符号化を採用しています。スキップモードやハイブリッド動きベクトル予測などのデータが対象となります。
プロファイル
VC-1には、ベースラインプロファイル、メインプロファイル、アドバンスドプロファイルの3つのプロファイルがあります。ベースラインプロファイルは処理負荷の高いツールを省いたもので、メインプロファイルはインタレース対応以外の全てのツールを採用したものです。アドバンスドプロファイルはインタレース対応のための拡張プロファイルです。
Windows Media Video 9をベースとして後からインタレースに対応したため、アドバンスドプロファイルとメインプロファイルには互換性がないという特徴があります。
多重化フォーマット
映像と音声を多重化するシステムフォーマットとして、Windows MediaではASFがよく用いられます。
SMPTEでは、放送向けにVC-1を用いる際、MPEG-2 TSを用いるための勧告(
SMPTE RP227)を公開しています。
HD DVDと
Blu-ray DiscでもMPEG-2 TSを多重化フォーマットとして採用しています。
特許問題
マイクロソフトがプロプライエタリな製品技術として利用していた頃には表面化しなかった特許問題ですが、VC-1として
SMPTEに提出された際に、
MPEG-4をベースとした技術であることが判明し、関連特許のライセンスが問題となりました。この問題を解決するため、
2004年3月、MPEG LAがVC-9(当時)のライセンス管理を行うことを表明し、関連特許の募集を開始しました。
利用例
Blu-ray Disc
HD DVD
外部リンク
Windows Media Video 9 Advanced Profile Update Beta - ウェイバックマシン(2006年4月25日アーカイブ分)
Microsoft Windows Media:Windows Media Player 11 -
ウェイバックマシン(
2007年3月31日アーカイブ分)