H.264とは
デジタルビデオの新規格
DivX® 7は、高画質ビデオのための最先端のデジタルエンコード形式であるH.264規格に準拠しています。H.264がそれほど優れている理由は何でしょうか? 一言でいえば、H.264は、卓越したビデオ品質を低いビットレートで実現する強力な圧縮技術の規格です。
より詳しい説明としては、H.264は、柔軟なビットストリーム制御により、ローパワーの携帯電話からハイパワーのブルーレイデバイスに至るさまざまなデバイスで、高品質のビデオを実現するものです。それこそが、H.264規格が、DV(多くの家庭用ビデオカメラに採用されている規格)やMPEG-2(DVDビデオおよび一部のケーブルテレビやデジタル放送の規格)といった、現在主流となっている形式のいくつかに取って代わろうとしている理由です。つまり、H.264は、ハンドヘルドから高画質デバイスまで、あらゆるプラットフォームに適した規格なのです。
<ここから専門家向け> 先へ進む前の注意書き: H.264が何であるのか、そして私たちがH.264を優れた規格と考える理由の概要だけを知りたいという方には、上記の説明で十分におわかりいただけたのではないかと思います。他方、ビデオ圧縮の専門的な詳細、およびH.264が原始的なビデオエンコーディングの世界にもたらす進歩についての技術的な説明を読みたいという方は、以後にお進みください。<ここまで専門的向け>
デジタルビデオ圧縮: 基礎知識
デジタルビデオは、帯域幅やメディア容量を節約するために圧縮されます。エンコードとデコードは、コーデック(compression-decompression) が行います。コーデックが準拠する圧縮規格が高度なものになると、それまでと同じ帯域幅を使用して、より高品質のビデオを伝送できるようになります。
H.264規格では、ビデオを再現するために必要な情報の量が少なくなります。エンコーダーは、画像画像をグリッド状のブロックに分解し、前後のフレームの各ブロックにおいて適合するテクスチャーを検索して(動き検出手法と呼ばれます)、各フレームを処理します。適合するものが検出されると、デコーダーは、適合する参照テクスチャーを指し示すベクトルと、テクスチャーの軽微な差異があった場合にこれを補正するための一定の情報のみを使用して、現在のフレームの中にブロックのテクスチャーを再現できます。動き検出により適合するものが検出されなかった場合、エンコーダーは同じフレーム内の隣接するブロックのテクスチャーを使用して、ブロックのテクスチャーを予測し、予測したテクスチャーと実際のテクスチャーの差異を保存します。この方法は、テクスチャーを直接保存するよりも効率的ですが、動き検出よりもコストが高くなります。エンコーダーは、「非可逆」圧縮として機能します。エンコーダーの目的は、元の画像画像を正確に再現することではなく、可能な限り最良のビジュアル品質を保持しながらデータレートを下げるために最適な手段を選択することです。適切に設定すれば、未加工データを基準とした圧縮率が100:1に達した時でさえも、差異をほとんど感知できない程度にとどめることが可能です。
H.264規格では、先行規格に準拠した場合に比べて大幅なパフォーマンスの向上が実現します。たとえば、標準的なDVDには、MPEG-2(映画DVDで広く使用されている規格)コーデックを使用して圧縮した場合は2時間の映画を1本保存できますが、H.264コーデックを使用して圧縮すれば4時間分の映画を保存できます。H.264に準拠した新しいDivX 7コーデックは、H.264の先行規格であるMPEG-4 ASPに準拠しているDivX 6コーデックよりもさらに効率性が高くなっています。
H.264の新機能
H.264には、DivX 6(ASP)コーデックに比べてより優れた画質と圧縮を実現する、さまざまな新機能があります。
- ループ内でのブロック解除
ブロック解除は、デコードにより生成された画像内画像内のブロッキングアーティファクトを削除しようとするもので、CPU負荷の高い手法です。DivX ASPでは、ブロック解除を、再生中の画質を向上させるためのオプションの後処理手法として使用しています。これは通常CPUの利用可能状況に応じて適用されます。その結果、高速なコンピューターでは可能な限り最高水準の映像を表示し、低速なコンピューターでは後処理工程に戻ってよりスムーズな再生を達成することができます。H.264では、エンコード過程とデコード過程の両方で、すべてのフレーム上でブロック解除を行うこととされています。その結果、参照画像内のノイズが少なくなるため、エンコードの効率性が向上します。ただし、低速なシステムで再生パフォーマンスを向上させるためにブロック解除をオフにすることはできません。
- 4分の1ピクセルの動き検出
DivX ASPのエンコーダーは、前後のフレーム内でブロックを検索する際に、動きベクトルを2分の1ピクセルの精度で決定します。2分の1ピクセルでの検索は、2分の1ピクセルの精度の動きベクトルからテクスチャーをエンコードして再構成する過程でも、また再生中でも、高速に実行できます。H.264では、動き検出に4分の1ピクセルの精度を採用しています。その結果、エンコード中の検索時間がより長くなり、また再生中のテクスチャー再構成が複雑になります。処理の負荷はより高くなるものの、予測が正確になるほど、よりシャープな映像と効率性の向上が実現します。
- より小さいブロックサイズによる予測の向上
ASPでもH.264でも、基本ブロックサイズを16x16ピクセルとしています。ASPでは、ブロックは8x8のパーティション4つに分割できますが、H.264では、4x4ピクセルまでのブロック分割が可能です。ブロックサイズが小さくなると、空間解像度が低い領域でメリットが得られるため、標準画質やモバイル向けのコンテンツに特に有用です。またH.264では、フレーム内での予測における柔軟性が大きく向上しており、動き検出で検出されない場合やキーフレームが符号化されている場合に、ASP規格の場合よりもはるかに効率的にブロックテクスチャーを保存することができます。 - より多くの参照画像
ASP規格とH.264規格のいずれも、動き検出を使用して、各フレームを効率的に符号化し、既にデコードされた画像からテクスチャーを移動することにより新しいフレームを再構成します。ASP規格では、フレーム内の参照が認められるのは直後または直前のフレームに対してのみであり、直後および直前の両方を参照するフレームを被参照フレームとすることはできませんでした。この制約は大きな問題でした。ストリームをデコードするのに必要なメモリーが制限され、また動き検索中にエンコーダーが時間を費やす可能性のある参照フレームの数が減るからです。H.264規格では、1つのフレームが多数の過去および将来のフレームを参照すること、およびすべてのフレームタイプを被参照画像とすることを認めることにより、参照画像のシステムを大幅に拡張しています。その結果、エンコーダーが動き検索中により適切な適合テクスチャーを検出することにより効率性の向上を達成する機会が得られるほか、検索時間も長くなります。デコーダーも、参照画像を保存するためのより多くのメモリーを提供する必要があります。1080ピクセルでビデオを再生する場合、参照画像ごとに、標準画質ビデオに比べて6倍ものメモリーが必要となります。
DivX 7のH.264実装における特徴
よくある誤解は、H.264は1つの形だけをとる形式であるという考えです。H.264の実装形態によって実現される機能セットはさまざまで、それらの機能セットは厳密には相互のサブセットとはいえません。その結果、相互運用性の問題が生じます。私たちは、H.264形式を1つの形に統一して、ユーザーがビデオカメラ、ポータブルメディアプレイヤー、テレビなどでシームレスにデジタルメディアを作成したり再生したりできるようにしたいと考えています。H.264形式の強力な圧縮機能と拡張性によりDivXは、パソコンで、リビングルームで、外出先で、最高画質の映画館さながらのビデオ体験を提供できるようになります。
さらに詳しい情報は、DivX LabsのDivXコミュニティーで最新情報をご覧ください。
