2006.06.01 Apple ProRes 422のホワイトペーパー その1

カテゴリ [ Mac ] and [ DTV ]

Final Cut Studio 2の目玉機能のひとつ、ProRes422について、ホワイトペーパー(技術情報)が公開されましたので、読んでみて、いくつかの感想をば。

フレーム内圧縮

これだけ圧縮率を稼いでいるのに、フレーム内圧縮であることに驚きます。

4ページに「Iフレームのみのエンコーディング」と書いてあり、これは、フレーム内圧縮のことと読み取れます。でも、そしたら、なんでストレートに「フレーム内圧縮」と書かないのか、という疑問も(Iフレームのみ、なんて書くと、P, Bフレームも存在しているかのようにも読める)。
まあ、今年のNABでPanasonicが発表したP2 AVC- Intraもフレーム内圧縮なので、フレーム内圧縮のことをI-frame onlyと呼ぶのが最近のはやりなのでしょうか。(MPEGなどフレーム間圧縮のことをlong GOPと呼ぶように)。

どうやってこれだけ圧縮率を稼いでいるのか(しかも、画質が低下しないって!!)。JPEG2000のようにWaveletを利用しているのか、P2 AVC- IntraのようにH.264なのか。

4ページに「複雑な動きの映像もブロックノイズが発生しません」とも書いてありますが、
まず、
「複雑な動きの映像も」という部分は、「フレーム内圧縮なので、動き(前後のフレーム)の影響を受けない」と読み取りました。

フレーム間圧縮の代表格MPEGでは、動きがあるシーンは、とたんに画質が落ちブロックノイズが発生します。それに対して、...という読み方。

次の「ブロックノイズが発生しません」という部分は、

フレーム内圧縮の代表格であるDVやMotion-JPEGは、8×8のDCTブロック単位で処理をするため、原理的にブロックノイズが避けきれない。しかし、ProRes422では、
Wavelet系のようにブロック単位ではなくフレーム全体を単位に処理をするか、または、
H.264のように、ブロック単位で処理はするが、その後ブロックノイズが目立たなくするするためのフィルタがある、のどちらか

と読みました。

パフォーマンス

9ページに「プロセッサ数とデコード時間」の関係が例示されています。これを見ると、プロセッサ数とともに、性能がスケーラブルに向上しています。マルチコアCPU時代にふさわしい性能です。

通常の作業では、プロセッサ数を増やしていっても、ある程度の個数までいくと、性能が頭打ちになることが多いです。実際、たいていの作業では、4 Core Mac Proに比べて8 Core Mac Proの性能は延びません。
ところが、ProRes422のデコード処理の性能はスケーラブルである結果が出ていますので、マルチコア・マルチプロセッサに最適化されているものと思われます。この事にも、フレーム内圧縮が貢献しているはずです。

フレーム間圧縮だと、GOP単位で処理しないといけない。一方、フレーム内圧縮だと、フレーム単位で処理をこなしてゆけばよいので、小回りが効く。

....とまあ、まずは、ProRes422の仕組みにますます興味を持ちました。だって、これだけ圧縮率を稼げるフレーム内圧縮というのは、ホントに驚きなんですもの。ともかく、実験して検証してみたいものです。

そういえば、Waveletを利用しているApple Pixlet Codecはどうなっちゃったのかな??。
参考)M
acDTV.実験室Pixletの研究

 

続きます

[ 前の日 ]   [ Mac.una Matata !!トップページ ]   [ 次の日 ]

この記事のURL: http://www.macdtv.com/Macunamatata/Articles/20070601/index.html