雑誌無償購読申込み 最新号 バックナンバー 広告資料請求 EDN Japanについて お問合せ
雑誌無償購読申し込み
メールニュースレター登録
登録内容変更
アナログ IC/ディスクリート
電源/電池/コントローラー
PLD / メモリー
組み込みシステム
コンピュータ&ボード
EDA/IP/CAE/ソフトウェア
電子部品
計測器
ディスプレイ
デジタル家電
通信・ネットワーク
カーエレクトロニクス/産業機器
EDN Japan 記事検索
検索方法の詳細
雑誌無償購読申込み ニュースレター登録 この記事に対する感想/ご意見
designfeature
2004年3月号
H.264の登場で
映像圧縮性能が飛躍的に進歩


次世代の映像符号化方式として、「H.264」が電子機器開発の現場で注目を集めている。MPEG2やMPEG4に比べて、データ圧縮率は2〜3倍、画質についても2倍程度の向上が見込めるからだ。フレーム間予測の導入やエントロピー符号化の工夫などで実現した。ただし課題もある。処理が複雑になるため、演算量が増える。いかにして半導体チップに集積するか。今後の課題になる。

ディディエ・ルガール*1) 米LSIロジック社
Didier LeGall LSI Logic Corp.
 映像のデジタル化の進展が著しい。これに伴い、コンテンツ制作者やコンテンツ配給業者、エンド・ユーザーなど、誰もが映像の高画質化と大画面化を希望し始めた。言い換えれば、1秒間に処理できる画素数の増加を要求していることになる。
 例えば、次のような映像を仮定してみよう。リフレッシュ速度は30フレーム/秒、色数は24ビット(RGB各8ビット)、画素数は720×480とする。すなわち一般的なテレビ放送の映像である。この映像を圧縮せずにデータ転送しようとすると、248Mビット/秒以上の帯域幅が必要になる。映像が高品位(HD*)TV放送だとすれば、必要な帯域幅はこれの約5倍にもなる。こうした高い帯域幅のデータは、現在利用できる通信チャンネルでは伝送できない。従って、映像圧縮技術の採用が唯一の選択肢となる。特にHDTV放送のデータ伝送には、圧縮技術は不可欠である。
Advertisement
 こうした要求に対応するため、ISO*のMPEG(Moving Picture Experts Group)とITU-T*の2つの団体は、10年以上も前から圧縮技術の標準化に取り組んできた。この標準化作業によって、高い圧縮率を必要とする市場の要求に応えてきたのだ。MPEG2は、最も成功した圧縮技術の標準規格と言えるだろう。現在では、DVDプレーヤーやケーブル/衛星放送を介したデジタル・テレビ受像機、セットトップ・ボックスなどの用途に使われている。しかし通信事業者はMPEG2の動作点を次第に下げており、画像品質に影響を与え始めている。一方、エンド・ユーザー側では、ブロッキングやリンギング、ドリフティングといった、圧縮に伴う画像品質の劣化を気にするようになっている。MPEG2の標準化以降に上記の2つの団体は、MPEG4 ASP(Advanced Simple Profile)とH.263と呼ぶ圧縮技術を標準化した。しかしこの圧縮技術では、表面化してきた新たな要求には対応しきれない。MPEG2の後継仕様が登場すべき、環境が整ってきたと言えるだろう。
 新たな要求とは何か。例えばADSL*を利用したHDTV放送の伝送や、VoIP*サービスの実現だ。衛星放送のコストは、相対的に上昇しつつある。その結果、十分なチャンネル数の確保や、HDTV放送の伝送を最も低いコストで実行する方法は、MPEG2に比べて圧縮率が2倍と高い技術を採用することだということが次第に明らかになっている。同様な議論はケーブル・テレビ放送においても成り立つ。さらにインターネットを介したコンテンツ配信においては絶対的な条件となる。
 映像圧縮技術が今後も帯域幅の増加に対する要求を満たし続ける限り、HD-DVD*がDVDを駆逐し、数10億米ドルの市場を作るという見方は衆目の一致するところだろう。一方、複数のユーザーが帯域を共有するIEEE802.11e(無線LAN)のホット・スポットや、家庭内の無線ネットワークでは、さらに高いハードルに対する技術的なチャレンジが必要だ。
 H.264/MPEG4 AVC(Advanced Video Coding)規格は、圧縮率と映像品質ともに従来方式に比べて2倍以上の性能を実現できる。符号化効率と映像品質において、MPEG2 /H.262規格以降、最も著しい改良を実現した規格である。この規格を使えば、エンジニアはさまざまな技術的なチャレンジにおいて成功を収めることができるだろう*2)

スペーシャルな冗長性に注目

 一般に圧縮とは、信号中の冗長な部分を探し出して削除し、これにビット・ストリームを解凍して元の画像に戻すための指示を加えたものと定義できる。
 冗長性は4つのタイプに分けることができる。スペーシャル(spatial)とテンポラル(temporal)、サイコビジュアル(psychovisual)、スタティスティカル(statistical)である。スペーシャルな冗長性とは、ある画素が隣接した画素と同じ場合である。例えば、変化がない平坦な背景がこれに当たる。テンポラルな冗長性とは、映像のフレーム間で画素の位置変化がない(動きがない)ような場合である。風景が代表例である。風景は、カメラの位置が変わらない限り映像が変化しない。このため、フレームごとに同じ画素を符号化/復号化する必要はない。
 サイコビジュアルな冗長性とは、人間が有する視覚システムの特徴を利用して検出するものだ。例えば、人間の目は、色相の変化よりも輝度の変化を認識する能力が高い。従って、色深度の情報をある程度省略しても、人間はそれを認識できない。スタティスティカルな冗長性では、映像の中で頻繁に繰り返される要素を利用する。この要素をコンパクトに表現することで、信号全体の大きさを圧縮する。
この4つの冗長性の中で、最も大きな割合を占めるのはテンポラルな成分である。H.264における性能向上は、テンポラルな冗長性を除去する技術を大きく改善したことが寄与した。しかし、ほかの冗長性を除去する新技術を導入した効果も小さくない。

H.264の詳細に迫る

 H.264で採用した映像圧縮は、インタラクティブな動作セットから構成されている。最初に、映像フレームを複数の画素ブロックに分割する。さらに各画素ブロックに対してフレーム間の動きを評価して、テンポラル、もしくはスペーシャルな冗長性が含まれているかどうかを判断する。このとき別の処理では、離散コサイン変換(DCT*)によって動き補償を施されたデータの逆相関を演算する。この結果、係数が最も小さい数式が得られる。こうしてスペーシャルな冗長性を取り除く。
 次に、映像圧縮回路において、サイコビジュアルな冗長性モデルに基づいて、DCTの係数を量子化する。さらにエントロピー符号化によってスタティスティカルな冗長性を取り除き、圧縮した映像を表示するために必要な平均ビット数を減らす。このときモード判定とも呼ばれる符号化制御、もしくは速度制御によって、最も圧縮効率が高いモードを選択する。図1に圧縮の概念図を示す。

フレーム間予測を導入

 テンポラルな冗長性は、以下の2つの処理によって減らす、もしくは除去する。1つはフレーム間の画素ブロックの動きを予測することである。もう1つは、ベクトルの変位分だけを符号化することである。すなわち画素ブロックの詳細情報は符号化しない。
 次に、これらの処理の手順を説明する。まず、映像フレームをブロックに分割する。MPEG2では、動き補償を行うブロック(マクロブロック)の単位を16×16画素だけとしていた。しかしH.264では、マクロブロックの内部で16×16、16×8、8×16、8×8、8×4、4×8、4×4の画素ブロックを活用できるオプションを備えている。動き予測は、現在のフレームと直前に符号化したフレームを比較して、完全に一致するブロックを検出することで実行する。この処理の結果として符号化された画像はPフレームと呼ぶ。
 動き予測は、2つのフレームの調査(searching)により得られた画素を結合することでも実行できる。この場合、符号化した画像はBフレームと呼ぶ。なおMPEG2では、2つのフレームは時間的に1つ前のフレームと1つ将来のフレームを使用するという制約があった。これに対してH.264では、Bフレームで代表させることで、この制約条件を除いている。
 あるフレームから次のフレームに移行する際に、どのブロックが移動したかを正確に把握する必要がある。従って、調査は重要な機能になる。画素の一部として定義できるサブピクセルを使えば、動き予測の処理を大幅に改善できる。H.264の動き予測の精度は高い。MPEG2では1/2画素だったが、H.264では1/4画素である。動きベクトルの水平方向と垂直方向の両方に対して実行するからだ。
 H.264は、PフレームとBフレームを使って周期的な動きを検出し、符号化する。Bマクロブロックは、Pマクロブロックよりも優れた性能を示すことがある。しかし従来の方法のままで使うと、復号化の際に遅延が大きくなってしまう。この遅延は、H.264では過去のBフレームを復号化する前に、将来のPフレームを復号化する必要があることから発生するものだ。複数のフレームを使用することで、H.264では平行移動やオクリュージョン(隠れ領域)に対する優れた性能を実現している。
 直前に復号化されたフレーム内に適切に表示されていなかったブロックが存在する場合、動き補償は圧縮に対してほとんど貢献できない。例えば、カメラのパンニング操作や、直前まで何もなかった背景に突然物体が浮かび上がった場合などである。こういった場合に対してH.264では、スペーシャルな冗長性を取り除くためにフレーム間予測を利用する。すなわちH.264はMPEG2と同様に、画素ドメインでスペーシャルな冗長性を取り除く。周波数ドメインで排他的に取り除くわけではない。このためH.264は、静止画像の圧縮規格「JPEG2000*」と同等の圧縮性能を実現できる。
 フレーム間予測は、画素ブロックのレベルで動作する。まず隣接したブロックから隣り合った画素を推定することで現在のブロックを予測する。次に予測したブロックと実際のブロックとの間の差に関する情報を符号化する。このフレーム間予測は、平坦な背景を含む画像を符号化する際に特に有効である(図2)

4×4の整数変換を利用

 従来のMPEGとH.26x規格で最も知られている特徴は、量子化作業の前段階として、動き予測とフレーム間予測から得た映像情報を周波数ドメインに変換するためにDCTを採用したことだろう。広く用いられている8×8のDCTは、浮動小数点演算に似た正確な演算の利用を想定している。こうした正確な演算を利用すると、符号化や復号化において、逆DCT演算が一致しないという問題が発生する。この不一致は、画像に「ドリフト」という現象を発生させる。特にビット・レートが低いストリーミング・データを表示する場合に、目に見える画像劣化として現れる。
 H.264では、DCTに似た4×4の整数変換を使うことで、動き補償を施したデータを周波数ドメインに変換している。この新しいアルゴリズムの主なメリットは、処理ブロックを小さくしたことでブロッキングやリンギングといったアーティファクト(人工的)な影響が小さくなることだ。さらに整数の係数を使っているため、浮動小数点の係数を使った場合に避けることができない丸め誤差を除去できるというメリットもある。この丸め誤差が存在すると、MPEG2やMPEG4ではドリフトというアーティファクトな影響を発生させることが起こり得る。

人間の目の特性を利用する

 サイコビジュアルな冗長性は、人間の目の特性を利用した圧縮方式である。直線的な遅い変化(一定の低い周波数情報)に対する人間の目の鋭敏性と、織り目がち密なじゅうたんのような高い周波数の情報に対する鈍感性を利用する。
 人間の目は、クロミナンス(色情報)信号の空間的な解像度に対する感度が低い。このため民生用の映像アプリケーションでは、一般にクロミナンス信号を水平/垂直方向ともに1/2に間引いて標本化(サンプリング)している。こうした変換を行った後の出力は、すべての周波数に対する情報を備えている。このため、そのほかの圧縮を行う余地を残していることになる。
 量子化プロセスでは、各DCT係数を離散的なレベルにマッピングする処理を行う。すなわち、量子化によって高い周波数の情報を取り除く。H.264では、4×4変換をクロマ(色相と色彩)予測ブロック用に8×8変換に、ルマ(明度)予測ブロック用に16×16変換に拡張している。こうして2×2と4×4の整数変換を、人間の目が最も敏感な低い周波数情報に割り当てている。
 クロマは、すでに2対1の割合で間引きされている。このためクロマの量子化には、小さな変換が使える。一方、ルマは大きな変換を使うためデータの忠実度が低下する。しかし人間の目は、その影響を判別できない。量子化は、人間が見えない情報を選択的に取り除くことでビット・レートを制御する際に有用である。

エントロピー符号化を工夫

 エントロピー符号化では、動きベクトルを表すシンボルと量子化された係数、マクロブロック・ヘッダーを実際のビットにマッピングする処理を実行する(図3)。圧縮技術に関する規格においては、エントロピー符号化に対して共通の目標を掲げている。すなわち圧縮した映像を表示する際に必要な平均ビット数を少なくすることだ。従来の規格ではVLC*(可変長符号化)テーブルを用いて、この目標を達成していた。VLCテーブルを使う目的は、頻繁に発生するシンボルに対してコードが短いワードの使用を保証することにある。例えば、小さな係数値といったシンボルに対して有用である。
 しかしVLCテーブルの代わりに、算術符号化を使うことも可能だ。この算術符号化は、静止画像に対する圧縮規格であるJPEGではオプションとして導入されていたが、H.264で初めて映像圧縮に採用された。
 どちらの方法を採用するにせよ、エントロピー符号化を始める前にはまず、量子化されたDCT係数をジグザグにスキャンすることで1次元の配列に並び替える(シリアル化)。こうして得られた直列係数の最初の値は、直流の係数である。その後に連なる係数は交流の係数で、低い周波数成分から高い周波数成分へと並んでいる。高い周波数成分の係数は、ゼロが多くなるため、ランレングス(連長)圧縮符号化を使って、連続したゼロを1つのグループにまとめる。こうして効率的なエントロピー符号化を実現する。
 MPEG2におけるシリアル化は、その係数が動き予測から得たものなのか、フレーム間予測マクロブロックから得たものなのかに依存する。一方、H.264におけるシリアル化は、以下の条件のみに依存する。すなわちその係数は、同じ映像フィールド(フィールド・マクロブロック)から符号化したサンプルを使って求めたものか、最上位と最下位の映像フィールドの両方を含むフレームから求めたものか、である。
 H.264ではCABAC*と呼ぶ算術符号を導入した。CABACを使えば、シンボル確率が50%以上の場合でVLCよりも高い圧縮効率が得られる。この理由は、CABACを使えばシンボルを1ビット以下で表現できるからだ。CABACでは、こうした作業に変動シンボル確率分布を適用し、シンボル間の相関を利用することで管理している。表1にVLCとCABACの違いを示す。なおH.264では、CAVLC*もサポートしている。これを使えば、CABACほどのコストを掛けずに、VLCよりも高い圧縮効率を実現できる。

デブロッキング・フィルターを使う

 符号化アルゴリズムに多くのオプションやモードを導入すると、不連続性が発生する機会が増える。例えば、異なったモードを使って隣接したマクロブロックを符号化するとアーティファクトが発生する。符号化器は、動き予測モード(フレーム内)やスペーシャル・モード(フレーム間)、スキップ・モード(マクロブロック全体をスキップする)を駆使して、マクロブロックを圧縮する。この結果、異なったモードで圧縮した2つのブロックに隣接した画素は、非常に近い値になるべきであっても、異なった値になってしまう。さらに変換/量子化プロセスや、ブロック間の動きベクトルの違いによって、ブロックの境界にアーティファクトが発生することもある。
 H.264では、こうしたアーティファクトを除去するために、デブロッキング・フィルターを導入した。このフィルターは、16×16のマクロブロックと4×4ブロックの境界の両方に対して機能する。例えば、マクロブロックの場合は、動き予測やフレーム間予測、量子化スケールに起因するアーティファクトを除去できる。小型なブロックの場合は、変換/量子化によって発生したり、隣接ブロック間の動きベクトルの違いによって発生するアーティファクトに対して効果がある。
 一般にループ・フィルターは、コンテント適応型非線形フィルターを利用して、境界の両側に存在する2つの画素の一方を修正する機能を果たす。この結果、表示品質を改善できるだけでなく、符号化効率も高められる。なぜならば、動き補償においてデブロッキング・フィルターを通した復号化フレームを利用できるからだ。なおループ・フィルターと呼ばれる理由は、符号化器の内部において繰り返し動作する復号化器と復号化ループが、デブロッキング・フィルターを利用することにある。

半導体チップへの搭載が課題に

 すでに説明したように、H.264はMPEG2などの方式に比べて、2〜3倍の圧縮率が得られるというメリットがある。しかし、ユーザーはこのメリットと、アルゴリズムの複雑さのバランスを検討する必要がある。アルゴリズムの複雑さが高いと、半導体チップにおいて、チップ面積が大きくなる、動作周波数が高くなる、といった問題を引き起こすからだ。ただしMPEG2との比較で考えた場合、H.264の複雑さの増加分は制御できる範囲にあると言ってよい。従って、こうしたトレード・オフは産業界にとってプラスに働くことは間違いない。しかし、半導体への集積は決して簡単ではない。規格内容と半導体設計、製造プロセスに対する完全な理解が要求される。H.264の機能を半導体チップに搭載するには、最もコスト・パフォーマンスが高いアプローチを選択しなければならない。それには、半導体設計に関する十分な経験が必要となる。
 今後も上記のトレード・オフに関する検討が進むことだろう。例えば、異なるモードで圧縮したマクロブロックを同時に処理できる新しいオプションが実現されれば、大きな成果となる。

用語解説 / 会社情報
ディディエ・ルガール*1)
ディディエ・ルガール(Didier LeGall)氏は、米LSIロジック社のブロードバンド・エンタテインメント部門で技術/ビジネス開発を担当するバイス・プレジデント。DVD装置や映像周辺機器、ビデオ・レコーダー、映像制作機器、放送機器などのデジタル映像関連製品を担当している。同氏は、ISO(国際標準化機構)のMPEG標準化委員会の創設当時からのメンバーである。1995年からは「MPEG-Videoグループ」の委員長を努めている。米カリフォルニア大学ロサンゼルス校(UCLA)から電気工学の博士号を取得している。
▲本文へ戻る
【HD】
high difinition
高品位、高解像度。
▲本文へ戻る
【ISO】
International Organization for Standardization
国際標準化機構。ホームページは、http://www.iso.ch/
▲本文へ戻る
【ITU-T】
International Telecommunication Union、Telecommunication Standardization sector
国際通信連合(ITU)の下部組織で、通信関連の標準化を担当する。ホームページはhttp://www.itu.int/ITU-T/
▲本文へ戻る
【ADSL】
asymmetric digital subscriber line
▲本文へ戻る
【VoIP】
voice over IP
▲本文へ戻る
【HD-DVD】
high difinition DVD
現行のDVDよりも記録容量が高い次世代DVD規格。この次世代規格には、2つの候補が名乗りを上げている。1つは、東芝やNECなどが開発を進めている「HD DVD」。もう1つはソニーや松下電器産業、オランダのフィリップス社などが開発を進めている「ブルーレイディスク(Blu-ray Disc)」である。本稿では、どちらか一方の規格を指しているのではなく、次世代DVD規格を総称して「HD-DVD」と呼んでいるようだ。
▲本文へ戻る
*2)参考文献
Cote, Guy, and Lowell Winger, "Recent Advances in Video Compression Standards," IEEE Canadian Review, Spring 2002.
▲本文へ戻る
【DCT】
discrete cosine transform
離散コサイン変換
▲本文へ戻る
【JPEG2000】
ISOとITU-Tの共同組織であるJPEG(Joint Photographic Experts Group)によって、2001年1月に規格化された静止画像向け画像圧縮方式。従来のJPEG規格を発展させたもの。ウエーブレット変換を導入することなどで、高圧縮率、高画質を実現した。
▲本文へ戻る
【VLC】
variable length code
可変長コード
▲本文へ戻る
【CABAC】
Context Adaptive Binary-Arithmetic Coding
算術符号化方式の1つ。
▲本文へ戻る
【CAVLC】
Context-Adaptive Variable Length Coding
コンテキストによって係数テーブルを切り替える符号化方式。
▲本文へ戻る
雑誌無償購読申込み ニュースレター登録 この記事に対する感想/ご意見
Reed Electronics Group
Electronic BUSINESS Japan | Design News Japan | Semiconductor INTERNATIONAL | DETAIL JAPAN
EDN Japanについて | 広告掲載について | サイトマップ | お問合せ
 Copyright (C) 2000-2007 Reed Business Information Japan K.K. 
個人情報に関する方針 | 著作権・リンクについて | 会社情報