この記事は、LiveVideoStackCon2020オンラインサミットにおけるMango TVのオーディオ・ビデオ技術専門家であるTan Songのスピーチを編集したもので、Mango TVのエンジニアリング研究開発の経験と主観的関心領域に基づくビデオコーディング技術の詳細な分析を組み合わせたものです。
文/タン・ソング
照合 / LiveVideoStack
![]
皆さん、こんにちは。今回は、Mango TVのオーディオとビデオ技術研究開発チームの実践を組み合わせて、主観映像符号化技術を詳しく分析します。内容は上記の4つの部分からなり、主観的な関心領域符号化の技術で遭遇したいくつかの問題や考え方に焦点を当てます。
Gの文脈におけるビデオ運用プラットフォームの新たな課題
![]
5G時代の到来に伴い、ユーザーは4K、8K、高フレームレート、HDRなど、より多くのビデオ画質体験を求めるようになっています。ラジオ映画テレビ総局(GARFT)がテレビで放送する4K UHDビデオの仕様では、100メガバイトを超えるビデオビットレートが必要です。インターネットビデオアプリケーションは、規範的な基準を持っていませんが、修飾された再生経験の要件を満たすために、ビデオビットレートはまた、CDNのコストで、短期的にビデオオペレーティングプラットフォームにつながる指数関数的な成長の傾向を示すでしょう、ユーザーの再生の遅れの2つの側面は、より深刻な課題に直面するでしょう。
![]
問題と課題
2.1 人間の目の視覚プロセス
![]
人間の目の視覚プロセスは、大まかに網膜の撮像、脳が情報を受け取って予備分析、視覚的な注意の集まりを発生させ、最終的に注目領域に注意を払います。例えば、人が車を運転している時、前方の道路と車は主観的な注意と関心の領域であり、周辺領域は非注意の領域です。
![]
2.2 主観的関心領域データの抽出
![]
主観的関心領域データセットは、一般的にアイトラッカーによって取得されます。アイトラッカーとは、眼球運動を記録するための装置で、特殊なメガネ、記録モジュール、制御ソフト、データ解析ソフトを含みます。制御ソフトウェアは、見ているオブジェクトと眼球行動のデータを正確に同期させる必要があるため、非常に重要なコンポーネントです。
![]
主観映像符号化の工学的応用
3.1 設計の背景
![]
関心領域ベースのビデオコーディングは、人間の目の主観的な関心領域と非関心領域の存在を利用して、主観的な関心領域と非関心領域のビットレートの割り当てに一定の補正を行い、主観的な関心領域に多くのビットレートを割り当て、主観的にビデオの品質を向上させることです。つまり、x264エンコーダーやx265エンコーダーにとって、ビデオの各フレームの各ピクセルが等しく重要です。したがって、異なるピクセルの重みを区別するためにエンコーダのエンジニアリング開発を行う必要があり、その目的は、主観的な品質を向上させるために同じビットレートを達成するか、またはビットレートを削減し、運用コストを削減するために同じ経験を達成することです。
3.2 ROI エンコーダ実装アーキテクチャ設計
![]
ROIはビデオの前処理とビデオエンコードの2段階で行われます。
前処理段階は主にROI領域のエンハンスメント、つまりイメージレベルのエンハンスメントを行い、非ROI領域のイメージレベル、ノイズリダクション、スキニングなどの処理を行います。ビデオエンコーディングをしたことがある友人は、高周波は実際にはエンコーディングに不親切であり、低周波はエンコーディングに友好的であることを明確にする必要があります。非ROI領域のノイズリダクションとスキニングの後、それらの多くは比較的友好的な低周波領域になります。そうすると、同じPSNRや客観的指標の下では、ビットレートは大幅に低下します。
映像符号化の段階では、AQを通じてQP値を調整し、ビットレート割り当ての補正を実現することが主な目的です。すなわち、主観的な関心領域と非関心領域に対して異なるQP調整を行い、QPが小さいほど画質が良く、ビットレートが高くなり、QPが大きいほどマクロブロックで得られるビットレートが小さくなり、画質が悪くなります。このような調整により、ROIの重み調整が実現されます。
3.3 ROI 領域の定義
![]
ROIコーディングは、センターエリアROI、顔ROI、字幕ROIなどに関する限り、それほど新しい概念ではありません。
センターROIは経験に基づいており、通常のビデオ撮影では、最も重要なコンテンツは通常画面の中央に配置されます。顔ROIもそのような経験的な判断に基づいています。一般的に言って、キャラクターはビデオコンテンツの主役であることが多いです。
字幕のROIは非常に重要な側面であり、主観的な調査が行われました:全く同じビデオ画面に異なる明瞭度の字幕を提供し、主観的なブラインドテストを行いました。その結果、「明瞭な字幕」の動画を「より質の高い」動画だと思う人の割合が有意に高いことがわかりました。
ディープラーニングに基づくROI領域特定は、現在より効果的なツールです。
3.4 ディープラーニングによるROIの認識技術
![]
ディープラーニングに基づくROIの特定は、技術的には2つのカテゴリーに分けられ、1つは関心領域に基づくヒートマップ検出であり、もう1つは有意なオブジェクトのセグメンテーションです。実用的な理解を通じて、この2つは適用シーンがやや異なると考えられています。関心領域のヒートマップは長い動画エピソードに適しており、有意なオブジェクトのセグメンテーションは、実際の人が自撮りしている小さな動画のようなシーンに適していると考えられています。
3.4.1 重要なオブジェクトのセグメンテーション
![]
なぜ、顕著なオブジェクトのセグメンテーションは、ライブストリーミングやライブ自撮りミニビデオに適しているのでしょうか?
第一は、割合のイメージ領域内の前景が一般的に大きいです。第二は、前景と背景の相関が比較的弱く、絶対的なステータスの重要性のコンテンツの前景です。このように、我々は前景の重要な領域の画質を向上させるために、より多くのイメージの詳細な損失と背景の符号化圧縮を行うことができますし、行わなければなりません。
3.4.2 関心領域の熱検出
![]
エピソードの長いビデオ番組は、画面全体の関連性が強く、多点のROI領域が存在するという特徴があるため、実写ビデオのように非ROI領域を過剰に減衰させることでROI領域を補うことはできず、非ROI領域の減衰が主観的にわからないように、より多くの非ROI領域を使用することで、より小さなROI領域を補う必要があります。注目のヒートマップはこの要求特性を満たしています。
3.5 ROIコードの最初のバージョンのエンジニアリングプロセス
![]
これは ROI コードのエンジニアリング中に実装された最初のバージョンです。最初の実装は ROI 要素の処理でした。ROI のヒートマップは元のマップから分析され、ヒートマップは二値化され、ROI の面積シェアを制御された閾値範囲に腐食させるために膨張されます。最後に、マクロブロックレベルのデータ構造化が行われます。これは最終的にコード化されたマクロブロックにマッピングする必要があるためで、ここにはROI領域と非ROI領域の面積シェアを制御するための閾値パラメータがあります。面積が小さすぎると、ROI強化の効果はあまり明らかではありませんが、面積が大きすぎると、ROI領域が細部の非ROI領域や実現の品質を犠牲にしてイメージの品質を向上させるために、これは非ROI領域の品質の非常に明白な低下につながる、さらに低下しきい値に主観的嫌悪に到達する場合は、これらの悪い、突然のイメージに注意を引き付ける、ROI符号化の目的は達成されていません。
![]
エンジニアリングの実装では、x264 と 265 エンコーダに ROI コーディングを実装します。エンコーダは現在のフレームのROI分析結果のメタデータを読み込み、QP補正はAQによってビデオエンコーダに実装され、ROI領域のQPは低減され、エンコーディング品質は向上し、同時にビットレートはより多く消費されます。フレーム全体のビットレート制御は x264 と x265 ネイティブビットレート制御アルゴリズムによって処理されます。
3.6 バイナリROIの失敗例
![]
最初のバージョンを行った結果、これは2値のROIであるため、ROI領域と非ROI領域は0と1の差であり、その結果、アーティキュレーションにおけるROI領域と非ROI領域の間の遷移が滑らかでない場合、画質のコントラストが顕著に跳ね上がることがわかりました。2つ目の問題は、非ROI領域のQP調整がx264、x265エンコーダのネイティブビットレート制御に引き渡され、ROI領域のQP調整がネイティブビットレート制御アルゴリズムの数学的関係を破壊するため、シーンによっては非ROI領域でスラギー感が出る現象が発生することです。以上が2つの失敗例です。
3.7 グレースケールROIの反復バージョン
![]
グレイスケールROIは、ROI領域と非ROI領域の間のROI強度のグレイスケール遷移を実現し、2つの領域のエッジの品質に大きなギャップによる画質の急激なコントラストを避けるために、QPが滑らかに調整されます。
3.7.1 グレースケール ROI の計算プロセス
![]
グレイスケールROI符号率制御の計算プロセス:計算の目的はQP補正値QP'を得ることであり、Sijは対応するマクロブロックのグレイスケールROI値、つまり0から255の範囲にあるたった今のROIのグレイスケール値です。p%は実際にはROIエリアの面積占有率であり、b%はROIエリアの符号率、つまりp%の面積占有率を持つROIエリアのb%に与えられる符号率です。p% は ROI 領域の面積占有率、b% は ROI 領域の符号率、つまり p% の面積占有率を持つ ROI 領域には b% の符号率が与えられるということ。現在使用されているpの値は20%、bの値は30%で、20%のエリア補正では30%の符号率が与えられます。同時に、非ROIエリアのQPに逆アクティブ補正が行われます。
![]
この反復バージョンでは、画質のROI領域と非ROI領域間のスムーズな移行が達成され、非ROI領域でのスラッジは大幅に低減されます。
3.8 効果の評価
![]
このビデオは ROI エンコーディングをガイドするためにエンコーダーに送られた ROI グレイスケールマップデータの実例です。わかりやすく直感的に理解できるように、この例では非ROI領域はグレースケールで表示され、ROI領域は元の色のまま表示されています。
![]
上図は ROI エンコードと非 ROI エンコードの実際の結果を比較したものです。ROIエンコードされたバージョンは符号化率を10%下げますが、この条件下でも主観的な品質は非ROIエンコードされたバージョンより高いです。
問題と課題
![]
ROIエンコード映像品質の機械評価は、主に主観的な評価を通して手作業で行われています。バッチ自動生産の条件下で、ROIエンコード映像品質の機械評価をいかにうまく行うかは、非常に挑戦的で価値のある仕事です。