VC-1

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プレーヤーの必須コーデックとすることを承認し、同年12月には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 DVDBlu-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日アーカイブ分)

もう一度検索

【記事の利用について】

タイトルと記事文章は、記事のあるページにリンクを張っていただければ、無料で利用できます。
※画像は、利用できませんのでご注意ください。

【リンクついて】

リンクフリーです。