動画のデコードの

HPの4700(いつもこういう書き方ですいません 検索にかかってしまうので)に乗っているATIはMPEGのデコード機能を持っています。これは補助機能なのかフルでコードなのかわかりませんが、恐らくMPEG1の再生はフルフレームで実行してくれるのでしょう。
台湾でMPEG1のVIDEO CDを買ってくればSDにコピーで楽に出来そうなのですが・・・
動画の記録方式にも沢山有って、現在MPEG2がDVDビデオで利用されているために一般的になっているようです。
MPEG2は高画質なビデオを提供してくれますので(って最近はもっと綺麗なものが沢山・・)最近良く利用するのですが これも、録画にも再生にも多くのCPUパワーを利用します。
もし、VIDEO CD全盛の頃にDVDに相当するドライブが有ってもCPUのせいできっとちゃんと再生できなかった事でしょう。いま、テレビを録画するのに I/Oデータのキャプチャーカードを利用しているのですが、これにはハードウエアーデコーダーを搭載したカードなので画面表示を切った状態で録画した場合にはCPUのパフォーマンスメーターの表示は 2000+のathlonでも、10%に達する事は有りません。
ところが、ソフトウエアーで圧縮すると 目一杯振り切りますからかなり重たいタスクなんでしょう。
大きく違ってないだろうから、ぼそぼそと書きますが、動画はやはり生のデータで記録するのが一番綺麗なのではと思うのですが・・まあ、アナログとデジタルを比べられるものではないですがVHSのビデオカセットで2時間録画のもの録画を(結構汚いですけど)しているのですが ここ二記録できるデータ量は正確に比較できませんがD−VHSというdata専用の記録テープだと50Gぐらいの記録量ですから 1時間25Gですか?
そのままだと、1GのSDを持っていても動画の持ち歩きなんてとても出来ない。
で、最初は解像度を下げた動画、当然ストリーミングなんて出来ないのでCDで配布していたものは今見るとびっくりするぐらい小さく、640x400というJ STANDERDと悪口音聞こえた PC98でみればそこそこの感動が有りました。
ところがそれでは困るので、徐々に圧縮が始まります。最初は音声と動画を分離して音声に強力な圧縮をかけていたり、ひどいのになると(すいません 当時はそれでよかったんです)画面の周りの解像度が落ちて、真ん中の解像度を保つなんて手法もありました。
そのうち、少し変わった事を考える人が出てきまして、画像をコマごとにJPEGで圧縮して記録してそれを再生する・・・・。しかし、その為にはCPUパワーが。
規格(ってたいしたものではないですねその時は)が出来ても再生できる機械が追いついてくるのを待って、次は、前のコマと次のコマの差分を取って圧縮すると言う方法がでてきます。
これも、大きくCPUのパワーを消費します。
しかし、ここでの問題は出来上がった動画のサイズが予測できない事や、よく考えて下さい、途中からの再生が出来ないんです。
前のコマとの差を記録する、そして出来た次のコマと その次のコマを比較してその差を記録する。っと、ずーっと続くわけですから じゃあ、途中でここから再生!! とか巻き戻し!! とかってやると ??が発生します。
常に、1から正順に再生する必要が出来てきます。
それでは困るので、まず特定のタイミングで静止画を記録し、その差分を・・・で、また適当な時間で静止画を記録して・・・と続けると途中からの再生も可能になります。
まあ、巻き戻し早送りはCPUパワー待ちなんですが。
そして、安定しないデータ量を制御するために、静止画から静止画までの間に記録されるデータの量を特定してその範囲で押さえると圧縮後のデータサイズを特定できます。
で、ようやくMPEGの圧縮になるのですが 所々に埋め込まれた静止画をキーフレームといい、その間の圧縮されたデータサイズの上限でビットレートという言葉が発生するのです。
で、ここで気に成りませんか?
前のコマと、次のコマの間に、例えば「ハニ〜フラ〜ッシュ」みたいな画面が点滅する画像があると前のデータとの差分が当然大きくなります。そうすると 次のキーフレームまでのデーター量は決められていますから そこで大きくデータ量を消費した時には、せっかく服が飛び散っても、データ量が足りないので大きなモザイクのようになって見えなくなります。ブロックノイズと言いますが こういった事でも発生します。
でも、記録するほうも馬鹿じゃないので、途中でたりなくなりそうであればもっと規制をきつくしたりと微調整を常時行って記録しますのであまり発生しませんが、低いビットレートで記録すると発生しやすくなります。
勿論、もっと厳密にいえば 一度圧縮してみてその平均値を計算して圧縮しなおせば結果的にもっと良い結果が得られます。そういう方式を 2PASSという言い方をしますがそういうやり方もあります。
もっといえば、キーフレームからキーフレームではなく、あるブロック単位で何フレームかをまとめて、平均的にビットレートを制限する方法もあり こういう手法を可変ビットレート(まあ、これだけじゃないけど)VBRという言い方をしたりもします。
で、ようやくハニーちゃんの変身が見られるようになります。
で、いまDiv−XやXVDやWMVとか良くPPCやPALMで使う動画形態は、MPEG4系(って本家は何時決まるんだろう?)で、今度はオブジェクト毎に分けてって言い方は解りにくいので、例えばスーパーマンが横向きに飛んでいる時には スーパーマンは動きません。背景だけが流れてゆきます。
背景もエンパイヤ−ステートビルは、右から左に流れるだけですから同じ形をしています。
と、部品毎に分けて変更された部分だけを記録すると もう少しぎゅっと圧縮されます。
ようやくこれで、携帯できるビデオが・・・
って、今日は自分の意見が無いまま文章が終わってしまった。
きっと、ハニーちゃんのせいかな?