私は、イントラ予測部分の何かを改善するためにしばらくの間、HM参照ソフトウェアで作業してきました。新しいイントラ予測アルゴリズムがコードに追加され、私はエンコーダに私のアルゴリズムとHMのデフォルトアルゴリズム(もちろんRDCost
による)の中から選択させます。HM(HEVCテストモデル)に新しい構文要素を追加する方法
私は今必要なものは、デコーダは、エンコーダがレート歪みループで決定するのと同じアルゴリズムを実行することができるであろうように、各PUのためのフラグをシグナリングすることです。
私は適切にコード内で何を壊すことなく、ストリームにこの1ビットのフラグを追加するために行う必要があります正確に何を知りたいです。
、私は私の旗の統計情報を追跡するために、CABACコンテキストモデルを使用することを私は他に何をすべきと仮定:
TEncSbac.h
ファイルにContextModel3DBuffer m_cCUIntraAlgorithmSCModel
のような新しいコンテキストモデルを追加します。- HMが他のコンテキストモデルをどのように初期化するかを見て、(エンコーダ側とデコーダ側の両方で)モデルを適切に初期化する。
- それぞれ、エンコーダ側とデコーダ側で機能
m_pcBinIf->encodeBin(myFlag, cCUIntraAlgorithmSCModel)
とm_pcTDecBinIfdecodeBin(myFlag, cCUIntraAlgorithmSCModel)
を呼び出します。
私はこれらの3つの手順を取ることが、明らかにそれが何かを壊します。
PS:同等の可能性のあるシグナリング(すなわち、CABACコンテキストを使用しない)さえも有用であろう。私はこの旗を平和的に送りたいだけです!
ありがとうございます。