量子化マトリックスの操作。 パート2

これは記事の続きで、Xvidを使用したビデオコーディングの理論と実践について詳しく説明するとともに、品質/サイズインジケーターが大きくなったマトリックスの改良版を紹介します。 カットの下の詳細。



最近、Xvidコーデックは7歳になりましたが、一般にこのビデオ圧縮の原理は15年間存在していましたが、ロシアのインターネットでのエンコーディングに関する情報はあまりありません。 シードについては、 ビデオ圧縮MPEG-4Xvidを読むことができます。



私は理論について簡単に触れます(これ以上正直に知りません)。 エンコードする前に、画像は8x8ブロックに分割され、各ブロックの輝度と色の平均値が検出され、すべてのピクセルは平均値への数学的依存に変換されます。 量子化マトリックスを使用した離散コサイン変換が、結果のマトリックスに適用されます。 キーフレームのイントラマトリックス、他の全員のインター。 マトリックスの左上隅は、それぞれ平均値とほとんど変わらない値を量子化するために使用され、右下隅は、平均値と大きく異なる値のために使用されます。 マトリックスの係数が大きいほど、輝度と色の値の粗大化が大きくなります。 オッズは8〜255の範囲です。 この量子化は終了せず、最終パッケージ化の前に、すべてのブロック値がXvidコーデック設定で指定された量子化器で除算されます。 写真のターゲット量子化器(赤で強調表示、写真マトリックスの後の写真)。



量子化とは、信号を粗​​くすることです。 エンコードの場合、信号値は特定の数で除算され、デコードの場合は乗算されます。 小数部分は破棄されるため、量子化器の値が大きいと多くの詳細が失われ、8x8ブロックが顕著になります。 しかし、ファイルサイズも非常に小さいです。 したがって、エンコードタスクは、小さなファイルの直角度を減らすことです。 そして、独自のマトリックスを開発することは必須です。



フレームの種類 。 簡単に言えば、フレームはキーであり、キーではありません。 非主要なものは主要なものに依存し、画像の変化(動き)を示します。 Xvid設定写真には、キーフレーム300の間隔の標準値が表示されます。設定は、メインのXvid設定ウィンドウの下部の「詳細」ボタンによって呼び出されます。 非キーフレームのスペースはキーフレームの5分の1であるため、ファイルサイズが小さいことが必要です。 300より大きい値は通常使用されません。この間隔は10〜12秒の表示に十分であるためです。 ボリュームに関しては、この設定のキーフレームは、オーディオを除くファイルの5〜7%を占めます。



以下の写真では、量子化マトリックスと量子化器の係数が画像の品質にどのように影響するかを示します。

実験では、次のイントラマトリックスを使用しました。





ご覧のとおり、最初の係数を最大にして、歪みが最大になる場所を確認しました。

300%のスケールのすべての写真。 これは圧縮前の写真です:





これは量子化器2の圧縮です。





これは量子化器4の圧縮です:





ご覧のとおり、量子化器4は正方形をより見やすくし、マトリックス内の係数255はほとんどの輝度と色の値を粗くして、ブロックが正方形のスポットに広がるようにします。 ブロックが丸い場合、それはボケのように見えます-背景は焦点が合っていません。 そして、写真の詳細がまだ見えるのは、残りの係数を最小限にしたためです。 コーデックの機能のために、量子化器1をカテゴリに分けて使用することは強くお勧めしません。ブロックが大幅に歪んでいるため、4つ以上は使用しません。



今、私のマトリックスについて。 彼女の新しい外観は次のとおりです。





3つのモードで適用できます。 すべてのモードの設定は同じですが、1つのパラメーター、メイン量子化器、ターゲット量子化器(赤で強調表示)を除きます。





赤で強調表示されている重要な設定は、写真のように設定することをお勧めします(詳細は最初の投稿で)。





1.品質。 ターゲット量子化器2。品質は優れており、ファイルサイズは80%です(同じ設定の標準H263マトリックスでエンコードする場合、ファイルサイズは100%と見なされます。このサイズから、すべてのモードで「ダンス」)。

2.妥協。 ターゲット量子化器3。品質は正常で、サイズは54%です。

3.圧縮されています。 ターゲット量子化器4.品質は満足のいくもので、サイズは40%です。



ご覧のとおり、3番目のモードでは、最初のファイル(オーディオなし)の2倍のファイルがありますが、品質が大幅に低下します。 「重要」という言葉には非常に相対的な意味がありますが。 実際には、別々のVirtualDubウィンドウで同時に開いたサンプルを、フレームごとに200%と300%のスケールで比較しました。 3番目のモードで解像度1280x720のムービーをエンコードし、プレーヤーで見るだけでは、違いに気付かないことがあります。 最初のモードは、低解像度のビデオや、非常に心のこもったビデオに推奨されます。 2番目のモードは、ほとんどの映画に適しています。3番目のモードは、高解像度ビデオ、または品質は重要ではないが素材自体のビデオに適しています。



3番目のモードを選択するときは、音質を忘れないでください。5:1 384 Kビット形式のオーディオは多くのスペースを占有するためです(通常、映画では300 MB)。 オーディオを任意の形式からmp3に転送するには、Format Factoryをお勧めします。 無料で、ビデオとオーディオをエンコードします。 詳細:通常のサウンドが保持される最小のmp3オーディオ形式は、モノラル48 Kbit 44 KHzです。 22 KHzでエンコードしないでください。ビットレートが非常に悪いためです。 また、より低い周波数のソースコードを持っているか、それを知らない場合は、48 KHzでエンコードしないでください。 通常、周波数を変更すると歪みが生じます。 44 KHzが最も安全な周波数です。



多くの人が疑問を抱くでしょう。なぜ一定の量子化器でコーディングする必要があるのでしょうか? 他のモード(2パスモード、固定ビットレート)では、量子化器を制御しないためです。 つまり、量子化器は主に直角度の原因です(上記の実験を参照)。 また、最初の投稿でXvidの高度な設定について読んでください。それらがないと、私のマトリックスを使用しても効果がありません。



健康のためのコード!



All Articles