ビデオ・エンコーダは効率的に保存または送信するための、オリジナルのビデオ・データを圧縮します。 ビデオ・エンコーダは、デジタル・テレビ送信機、ビデオ会議システム、ビデオ・サーバ、DVD レコーダなどのアプリケーションで使用されます。MPEG2 は最も一般的なエンコーディング方式であり、標準(SD)ビデオで効果的に機能します。しかし、ビデオ業界は高精細 (HD) ビデオに移行しつつあり、HD の高いデータ・レート要件を満たす効率的な圧縮方式が要求されています。これに応えて、MPEG (Moving Picture Experts Group) と ITU Video Coding Experts Group は H.264/MPEG4 AVC と呼ばれる次世代圧縮方式を開発しました。この方式は HD データ・レートを効果的に処理します。
MPEG エンコーダ
MPEG エンコーダは、デジタル化された RGB (Red-Green-Blue : 赤、緑、青) 形式、またはシリアル・デジタル・インタフェース (SDI) 形式のオリジナルのビデオを受信し、圧縮されたビデオを出力します。ビデオの圧縮は、人間がフレーム間の色の違いを認識できないという事実、およびビデオ・シーケンス内の連続するフレーム間で変化はほとんどないという事実を利用しています。図 1 に代表的な MPEG エンコーダの構成を示します。
図 1. H.264 MPEG エンコーダのブロック図

動き探索(motion estimation)/補償ブロックは、前のフレームから変化した、または動きがあったフレーム部分を識別し、変化した部分だけをコーディングします。このプロセスを開始するには、元の内容がすべて完全にコーディングされ、他のフレームに依存していないフレームが必要です。そのようなフレームは I フレーム (Intra-coded Frame) と呼ばれます。動き補償を使用して、I フレームから次の予測フレームが生成されます。
- P フレーム (Predicted Frame)
- B フレーム (Bidirectional Predicted Frame)
I フレームは独立してエンコードまたはデコードされる必要があるため、一般的にはエンコーディングのビット数が P フレームや B フレームよりも多くなります。GOP (Group Of Picture) は、ある I フレームから次の I フレームまでの一連の画像を指します。GOP のサイズはビデオ・シーケンスの送信に必要な全体的ビット・レートを定義します。GOP が長い場合は I フレーム数が少ないことを意味しており、したがって必要な帯域幅は減少します。逆もまた同様です。ただし、GOP が長いビデオ・シーケンスでは送信エラーが発生する可能性が高くなります。
離散コサイン変換 (DCT) は、フレーム内の隣接画素の値が似通っており、送信に対して冗長であることを認識します。DCT はマクロ・ブロックと呼ばれるフレーム内の 8x8 画素のブロックを取り出し、それを周波数ドメインに変換します。新しい H.264 規格では、16x16 画素から 4x4 画素までの異なるサイズの画素ブロックを利用できます。DCT の出力は 8x8 マトリックスの周波数係数です。画素の値を周波数ドメインに変換することにより、データの冗長性が観察しやすくなります。次に、DC またはゼロ係数と呼ばれる、これらの係数の平均が算出されます。残りの係数がゼロ係数を基準にして表現されます。マクロ・ブロック内の隣接画素の値は似通っており、これらの係数はほとんどがゼロになるため、これらの値を送信または保存すると冗長になります。
次のステップは、変換された係数の量子化です。量子化では、各サンプル係数が離散デジタル値から最も近いデジタル値に四捨五入されます。
量子化の次にエンコーディングが行われます。圧縮では、量子化された変換係数をコーディングする場合の無損失コーディング手法であるエントロピー・エンコーディング手法を使用します。VLC (Variable Length Coding) と BAC (Binary Arithmetic Coding) は MPEG4/H.264 方式で一般的に使用される 2 種類のエントロピー・コーディング手法です。VLC はデータ・エレメントに異なる長さのコードを割り当てます。頻繁に発生するエレメントには長さが短いコードを割り当て、あまり発生しないエレメントには長いコードを割り当てることにより、全体的なデータ・ビット数を減らします。BAC は各エレメントまたはシンボルではなく、パターンまたはメッセージ全体をコーディングします。H.264 規格では CAVLC (Context Aaptive VLC) と CABAC (Context Adaptive BAC) の両方の手法を使用します。
H.264/MPEG4 圧縮方式では、アプリケーションごとに異なるプロファイルが定義されています。H.264 規格のメイン・プロファイルは、制限された伝送帯域幅で品質を維持するブロードキャスト・アプリケーションに最適です。一方、ビデオ会議アプリケーションではレイテンシが低いことが要求されるため、H.264 規格のベースライン・プロファイルが適しています。
アルテラとパートナーが提供する関連 IP
アルテラはビデオ CODEC (COder/DECoder) ソリューションを専門とする IP (Intellectual Property) 開発者とパートナ関係を結んでおり、ビデオ・ブロードキャスト、ビデオ監視、会議システムなどのさまざまなアプリケーション市場向けのソリューションを提供します。また、ビデオのコーディングや処理に必要な多数の機能を備えた、ビデオおよび画像処理ライブラリを提供しています。
ビデオ・エンコーダ用多機能プログラマブル・ソリューション
Stratix® シリーズ FPGA の機能豊富なアーキテクチャは、デジタル・ビデオ制作および配信機器の開発に対して卓越したソリューションを提供します。Stratix シリーズ FPGAは統合化されたソリューションを提供し、ビデオ処理および I/O 機能を必要とするアプリケーションに最適です。
