私とマルチメディアVIDEO-ITを取り巻く市場と技術MXFラボ

TOP
TOP > MPEGラボ > 第8回

WinPCLabs これでわかった!動画の秘密“MPEG”

2002年3月号掲載

第8回 MPEG-2の画質を決定する要素とは何か?

MPEG規格ではデータフォーマットとデコード(伸張再生処理)の方法だけが決められている。エンコード(圧縮処理)については決まりがない。規格通りのデータを出力すれば、どんな方法でエンコードしてもよい。エンコードは各社が工夫を凝らすことができるようになっているわけだ。今回は、このエンコードの仕組みを通して、MPEG-2の画質を決定するポイントは何かについて議論する。

■MPEGエンコードは、いかに情報量を減らすかがポイント

圧縮処理は、ビデオ信号の冗長な部分を減らす処理となる。1フレーム内、フレーム間のそれぞれ冗長な部分を見つけて、取り除くことになる。細かな映像や動きの激しい映像は冗長な部分が少ないため圧縮が難しい。どのように冗長な部分を取り除くかは、エンコーダごとに工夫をこらす処理だ。圧縮した結果は、エンコードビットレートで定まる、限られたデータ量の中に収めなくてはならない。フレームごとにデータ量が変化するため、この処理は1フレーム単位ではなく、複数のフレームにわたった処理となる。どのフレームにどの程度のデータ量を配分するか、また、1フレーム内の各領域にどのようにデータ量を配分するかも、エンコーダの裁量となる。必要なデータ量が配分できない場合、その分画質が落ちることになる。

従って、同じMPEG規格の圧縮でもエンコーダの処理方法によってかなり画質が異なる。1フレーム単位でデータ量が固定されたDV圧縮と比較すると、上記のようにMPEG圧縮は複雑でまた自由度が高いため、エンコーダやエンコード時の設定による違いが大きい。

■データ量の不足で起こる2種類の画面の粗れ

一番違いがあり、また分かりやすい違いの原因はエンコードビットレート、つまり1秒あたりのデータ量だ。ビットレートが小さくてデータ量が不足する場合、さまざまなノイズが画面上に現れ、画面が粗れる。通常、まず発生するのはモスキートノイズとよばれる細かなノイズだ。(写真1)これははっきりした輪郭の周りなどに発生する、蚊が飛んでいるような細かな画面の粗れを指す。

これよりもデータ量が不足すると、ブロックノイズが発生する。(写真2写真3)ブロックノイズは8ピクセル、16ピクセルの正方形の単位で画面上に現れる。本来、ビットレートが小さい場合は画面全体の鮮明度・解像度を落とすことでデータ量を減らすのが望ましい。つまりソフトタッチの映像にする。これにはフィルタ処理が必要となるが、装備しているエンコーダは少なく、モスキートノイズやブロックノイズが発生することが多い。

写真1 モスキートノイズの例 MPEG-2 Video 2Mbps
もやもやした部分がモスキートノイズ

写真2 ブロックノイズの例(1)
MPEG-2 Video 1.7Mbps:ブロックノイズが顕著

写真3 ブロックノイズの例(2)
MPEG-2 Video 6Mbps:ブロックノイズはほとんどわからない

■影響が大きいビデオ信号のバックグラウンドノイズ

入力する映像の内容による違いも大きい。スポーツなど動きの激しい映像は、MPEG圧縮するには厳しい。映像の種類の違いだけでなく、ビデオ信号に存在するバックグラウンドノイズもかなり画質に影響する。

アナログビデオ信号には、雑音的なバックグラウンドノイズがある。これはダビングを繰り返すと増えていく。MPEGエンコーダはこれらのノイズも一様に圧縮する。ノイズは細かな情報なので、どうしてもデータ量を必要とする。このためノイズにデータ量を食われてしまい、本来の映像に十分なデータ量の配分ができず、結果的には画質が劣化してしまう。

ビデオ信号のバックグラウンドノイズは、非常に細かなものなので、通常目に見えにくい。結構きれいに見えるビデオでも、ノイズが乗っていることがある。アナログとデジタルの差も大きく、アナログの場合、どうしてもノイズが乗ってしまう。

同じテレビ放送のビデオを圧縮する場合でも、受信状態によってノイズの量はかなり異なり、MPEGとしての画質は大きく左右される。

■エンコード時のパラメータによる違い

次に、少し細かくなるがエンコード時の設定やエンコーダの機能による違いを見ていこう。

まず、Bピクチャーを使うか使わないかで画質が異なる。MPEGでは、各フレームの内容が前後のフレームの内容と大きく変化しないという映像の性質を利用して冗長量を減らし圧縮する。あるフレームをデコードする際に、1つ前のフレームとの相関関係を利用する場合を、Pピクチャーと呼ぶ。(ここで使っている「ピクチャー」は「フレーム」とほぼ同義)。前のフレームだけでなく、後のフレームとの相関関係を利用する場合を、Bピクチャーと呼ぶ。前後のフレームとの相関関係を利用しない独立したフレームはIピクチャーという。Iはそのフレームのデータのみでデコードできるが、P、Bは前後のフレームのデータがないとデコードできない。Bピクチャーを使うとデータ量が少なくて済むが、Bピクチャーばかりが連続すると、デコード時の誤差が蓄積し、かえって画質が落ちる。このため、MPEG-1、MPEG-2で良く使われるのは2つのBをIもしくはPではさむパターンだ。このパターンはMP(Main Profile)と呼ばれる。

Bピクチャーを使う場合、エンコード時の演算量がかなり必要となる。ハードウェアエンコーダの場合は複雑な回路となるし、ソフトウェアエンコーダの場合は計算時間がかかる。このため、Bを使わずにI、Pのみを使うSP(Simple Profile)と呼ばれるパターンも使われている。

SPは、演算負荷が軽いので一部のエンコーダで使われているが、MPと比較すると同一ビットレートでの画質は落ちる。最近は安価なハードウェアエンコーダでもMPに対応しているのでSPが使われるケースは減っている。エンコード/デコードのための遅延時間はSPの方が短いため、双方向性が必要な応用分野ではSPのメリットもある。

PピクチャーやBピクチャーを利用するためには、エンコード時に前後のフレームとの相関関係を調べなくてはならない。このとき、画面上の同じ位置を比較するだけではなく、その周りとも比較する。画面に映っている物の動きを検出し、同じ物が少し離れた場所に見つかった場合、移動距離のみを記録するようにし、圧縮率を上げるためだ。この探索範囲はエンコーダごとに異なる。探索範囲が広いと計算量も増えるため、ハードウェアエンコーダでは探索範囲が制限されていることが多い。一般に探索範囲は広い方が画質は良いが、画面内で物が動く量から考えると、あまり広範囲を探索しても効果が少ない。

DVD-Videoなどでは、映像の複雑さに合わせてビットレートを変更するVBR (Variable Bit-Rate)でエンコードすることがある。VBRは映画のように緩急の大きな映像を限られたファイルサイズにエンコードする場合に効果がある。VBRでのエンコードは、上記のデータ量の配分をより広範囲にわたって調整する作業となる。適切に配分するために、エンコード処理を実質的に2回実行する2パスエンコードを行うことが多い。1パス目で必要なデータ量を計算し、配分を決め、2パス目で決められたデータ量に合わせてエンコードする。<

テレビ放送をリアルタイムに録画するような用途では、エンコード処理を2回行うことはできないため、1パス方式のVBRを使うことがある。1パスの場合は、今エンコードしているより後にくる映像の内容の予測がつかないため、データ量の配分に失敗することがあり、CBRを使う場合より画質が劣化することがある。

フレームレート(1秒当たりのフレーム数)も画質に大きく影響を与える。フレームレートが小さいと1フレーム当たりに使えるデータ量が増えるため、ビットレート当たりの画質は向上する。例えば、映像によっては毎秒15フレームとしてもあまり違和感がない。ただし、MPEG-2規格では自由なフレームレートは認められておらず、利用できるのは毎秒24フレーム以上の決められた値だけだ。DVD-Videoでは、毎秒30フレームのまま実質毎秒24フレームとする逆テレシネ機能を使って画質を向上させることがある。

 

(文/ 竹松 昇、(株)朋栄アイ・ビー・イー) ※編集の関係上、雑誌掲載内容と少し異なる個所があります。

このテーマを製品化すると Multi Video Processor Pro
Internet Video Processor Publish Edition
製品・システム・技術に関するお問い合わせ