【文献】
SHEN, Xiaolin and YU, Lu,CU splitting early termination based on weighted SVM,EURASIP Journal on Image and Video Processing 2013,2013年 1月 9日,2013: 4,pp. 1-11,<DOI: 10.1186/1687-5281-2013-4>,URL,http://jivp.eurasipjournals.com/content/2013/1/4
【文献】
LI, Kang and WANG, Jian,Fast CU-splitting decisions based on data mining,2016 IEEE International Conference on Consumer Electronics-China (ICCE-China),IEEE,2017年 2月13日,pp. 1-5,<DOI: 10.1109/ICCE-China.2016.7849745>,URL,https://ieeexplore.ieee.org/stamp/stamp.jsp?tp=&arnumber=7849745
(58)【調査した分野】(Int.Cl.,DB名)
前記処理対象符号化ユニット及び前記処理対象符号化ユニットの存在する符号化ツリーユニットの近隣符号化ツリーユニットから、所定タイプの符号化情報特徴をそれぞれ抽出する前に、
前記処理対象符号化ユニットの符号化深さが0であるか否かを判断し、YESであれば、前記処理対象符号化ユニット及び前記処理対象符号化ユニットの存在する符号化ツリーユニットの近隣符号化ツリーユニットから、所定タイプの符号化情報特徴をそれぞれ抽出するステップを実行すること、をさらに含む、ことを特徴とする請求項1に記載の方法。
前記予測モデルは、Pフレーム予測モデルとBフレーム予測モデルとを含み、前記Pフレーム予測モデルの事前トレーニング時に使用されるトレーニングサンプルは、Pフレームビデオ画像に属する符号化ユニットから抽出した前記所定タイプの符号化情報特徴であり、前記Bフレーム予測モデルの事前トレーニング時に使用されるトレーニングサンプルは、Bフレームビデオ画像に属する符号化ユニットから抽出した前記所定タイプの符号化情報特徴であり、
前記予測特徴ベクトルサンプルを事前トレーニングされた予測モデルに入力し、前記予測モデルから出力される予測結果を得ることは、
前記処理対象符号化ユニットの属するビデオフレーム画像のタイプがPフレームかそれともBフレームかを特定することと、
Pフレームであれば、前記予測特徴ベクトルサンプルを前記Pフレーム予測モデルに入力し、前記Pフレーム予測モデルから出力される予測結果を得ることと、
Bフレームであれば、前記予測特徴ベクトルサンプルを前記Bフレーム予測モデルに入力し、前記Bフレーム予測モデルから出力される予測結果を得ることと、を含む、ことを特徴とする請求項1乃至3のうちのいずれか一項に記載の方法。
前記予測モデルは、Pフレーム予測モデルとBフレーム予測モデルとを含み、前記Pフレーム予測モデルの事前トレーニング時に使用されるトレーニングサンプルは、Pフレームビデオ画像に属する符号化ユニットから抽出した前記所定タイプの符号化情報特徴であり、前記Bフレーム予測モデルの事前トレーニング時に使用されるトレーニングサンプルは、Bフレームビデオ画像に属する符号化ユニットから抽出した前記所定タイプの符号化情報特徴であり、
前記モデル予測ユニットは、
前記処理対象符号化ユニットの属するビデオフレーム画像のタイプがPフレームかそれともBフレームかを特定するフレームタイプ特定ユニットと、
前記フレームタイプ特定ユニットによってPフレームであると特定された場合に、前記予測特徴ベクトルサンプルを前記Pフレーム予測モデルに入力し、前記Pフレーム予測モデルから出力される予測結果を得るPフレームモデル予測ユニットと、
前記フレームタイプ特定ユニットによってBフレームであると特定された場合に、前記予測特徴ベクトルサンプルを前記Bフレーム予測モデルに入力し、前記Bフレーム予測モデルから出力される予測結果を得るBフレームモデル予測ユニットと、を含む、ことを特徴とする請求項5乃至7のうちのいずれか一項に記載の装置。
【発明を実施するための形態】
【0014】
以下、本願の実施例の図面を結合して本願の実施例中の技術的構成を明瞭かつ完全に説明する。説明する実施例は本願の実施例の一部に過ぎず、全部でないことは、言うまでもないことである。当業者が本願の実施例に基づいて、創造的な労働無しに得られた他の実施例も、全て本願の保護範囲内に含まれる。
【0015】
本願の実施例は、サーバに基づいて実現されるビデオエンコーダに適用可能な符号化ユニットの深さ特定ソリューションを提供する。このサーバのハードウェア構造は、コンピュータ、ノートパソコン等の処理装置であることができ、本願の符号化ユニットの深さ特定方法の紹介に先立って、まずサーバのハードウェア構造を紹介する。
図3に示すように、このサーバは、
プロセッサ1と、通信インターフェース2と、メモリ3と、通信バス4と、ディスプレイ5とを備えることができる。
【0016】
プロセッサ1、通信インターフェース2、メモリ3およびディスプレイ5は通信バス4を介して相互間の通信を達成する。
【0017】
次に、サーバのハードウェア構造を結合して、本願の符号化ユニットの深さ特定方法を紹介し、
図4に示すように、この方法は、以下のステップS100〜ステップS120を含む。
【0018】
ステップS100:処理対象符号化ユニットの現在の最適モードの残差係数を特定する。
【0019】
具体的には、処理対象符号化ユニットについて、標準プロトコルに基づいて候補mv(motion vector、動きベクトル)リストを構築し、そして、リストにおける各mvをトラバースし、做動き補償を行い、予測値を得て、その後、予測値と処理対象符号化ユニットの原画素との差分の二乗和(SSD、Sum of Squared Difference)を算出し、対応するmvのインデックスでトラバースされたビット数bitsを推定し、レート歪みコストrdcostの最小値に対応するmvを見つけ、最適モードのmvになる。ここで、
rdcost=SSD+λ*bit(λは定数である)。
【0020】
さらに、最適なmvに対応するSSDを算出した結果を変換し量化して、残差係数を得る。残差係数が0であれば、処理対象符号化ユニットがskipブロックであることが示され、そうでなければ、mergeブロックである。
【0021】
なお、残差係数が0であれば、処理対象符号化ユニットがskipブロックであることが示され、CU分割を直接終了してもよく、そうでなければ、処理対象符号化ユニットCUの分割予測を行う必要があることが示唆される。
【0022】
具体的な実施にあたり、予め通信インターフェース2によって処理対象ビデオフレーム画像をメモリ3に記憶することができる。符号化時に、プロセッサ1は、通信バス4を介して、メモリに記憶された処理対象ビデオフレーム画像を取得し、複数の符号化ユニットに分割し、その中から処理対象符号化ユニットを特定し、処理対象符号化ユニットの現在の最適モードの残差係数を特定する。
【0023】
オプションとして、通信インターフェース2は通信モジュールのインターフェース、例えば、GSM(登録商標)モジュールのインターフェースであってもよい。
【0024】
オプションとして、プロセッサ1は、中央処理装置CPU又は特定用途向け集積回路ASIC(Application Specific Integrated Circuit)であるか、或いは、本願の実施例を実施する1つ又は複数の集積回路として構成されてもよい。
【0025】
ステップS110:前記残差係数が0でない場合に、前記処理対象符号化ユニット及び前記処理対象符号化ユニットの存在する符号化ツリーユニットの近隣符号化ツリーユニットから、所定タイプの符号化情報特徴をそれぞれ取得して、予測特徴ベクトルサンプルを構成する。
【0026】
具体的には、本ステップで取得された符号化情報特徴のタイプと、予測モデルのトレーニング過程に使用されるトレーニングサンプルのタイプとが同じである。本願では、各タイプの符号化情報特徴テンプレートを予め設定することができ、さらに、符号化情報特徴テンプレートに従って、前記処理対象符号化ユニット及び前記処理対象符号化ユニットの存在する符号化ツリーユニットの近隣符号化ツリーユニットから符号化情報特徴を取得し、取得された符号化情報特徴によって予測特徴ベクトルサンプルが構成される。符号化情報特徴の取得対象は、処理対象符号化ユニットCU、および、処理対象符号化ユニットCUの存在する符号化ツリーユニットCTUの近隣符号化ツリーユニットCTUである。
【0027】
具体的な実施にあたり、メモリ3に各タイプの符号化情報特徴テンプレートを予め記憶することができ、さらに、プロセッサ1は符号化情報特徴テンプレートに従って、処理対象符号化ユニット及び前記処理対象符号化ユニットの存在する符号化ツリーユニットの近隣符号化ツリーユニットから符号化情報特徴を取得して、予測特徴ベクトルサンプルを構成することができる。
【0028】
ステップS120:前記予測特徴ベクトルサンプルを事前トレーニングされた予測モデルに入力し、前記予測モデルから出力される予測結果を得て、前記予測結果は、前記処理対象符号化ユニットの深さ分割を行う必要があるか否かを示すためである。
【0029】
前記予測モデルは、分類結果で標識されたトレーニングサンプルを用いて事前トレーニングしたものであり、前記トレーニングサンプルは、前記所定タイプの符号化情報特徴を含む。
【0030】
具体的な実施にあたり、予測モデルをメモリ3に予め記憶することができる。予測時に、プロセッサ1は、前記予測特徴ベクトルサンプルを事前トレーニングされた予測モデルに入力し、前記予測モデルから出力される予測結果を得て、ディスプレイ5を介して出力し表示する。
【0031】
予測モデルは、SVM(Support Vector Machine、サポートベクトルマシン)モデル、又は、ニューラルネットワークモデル機械学習モデル等であることができる。
【0032】
本願の実施例に提供される符号化ユニットの深さ特定方法によれば、分類結果で標識されたトレーニングサンプルを用いて予測モデルを予めトレーニングし、このトレーニングサンプルは、所定タイプの符号化情報特徴を含み、さらに、処理対象符号化ユニットの現在の最適モードの残差係数が0でないと特定された場合に、処理対象符号化ユニットがskip符号化ユニットではなく、符号化深さの予測を行う必要があることが示唆され、さらに、処理対象符号化ユニット及びその存在する符号化ツリーユニットの近隣符号化ツリーユニットから、所定タイプの符号化情報特徴を取得して、予測特徴ベクトルサンプルを構成し、予測モデルに入力し、機械学習予測モデルを用いて処理対象符号化ユニットの深さ分割を行う必要があるか否かを予測する。本願では、予測結果から、処理対象符号化ユニットの深さ分割を行う必要がないことが示唆される場合に、処理対象符号化ユニットの深さ分割及びレート歪みコストの算出や比較を行う必要がなく、従来技術に比べその符号化予測時間が大幅に削減されるとともに、計算リソースが低減され、計算の複雑さが軽減される。
【0033】
オプションとして、符号化全過程においてIフレームの占める比率が小さいため、本願では、非Iフレームビデオ画像に属する処理対象符号化ユニットのみについて深さ特定を行ってもよく、つまり、上記処理対象符号化ユニットは非Iフレームビデオ画像に属する。
【0034】
本願の他の実施例において、他の符号化ユニットの深さ特定方法を紹介し、
図5に示すように、この方法は、以下のステップS200〜ステップS230を含む。
【0035】
ステップS200:処理対象符号化ユニットの現在の最適モードの残差係数を特定する。
【0036】
ステップS210:前記残差係数が0でない場合に、前記処理対象符号化ユニットの符号化深さが0であるか否かを判断し、YESであれば、ステップS220を実行する。
【0037】
具体的には、処理対象符号化ユニットの符号化深さが0であれば、処理対象符号化ユニットが最大符号化ユニットLCUであることが示され、つまり、符号化ツリーユニットCTUの分割を行っていない。
【0038】
本実施例において、処理対象符号化ユニットの符号化深さが0であると特定された場合に、後述する予測モデルを用いて処理対象符号化ユニットの深さ分割を行う必要があるか否かを予測する操作を実行する。
【0039】
なお、符号化深さが0でない処理対象符号化ユニットについて、予測モデルを用いて予測する中、その算出過程も複雑であり、本願では、他の方式で予測することができ、詳しくは、明細書の後述する関連紹介を参照する。
【0040】
ステップS220:前記処理対象符号化ユニット及び前記処理対象符号化ユニットの存在する符号化ツリーユニットの近隣符号化ツリーユニットから、所定タイプの符号化情報特徴をそれぞれ取得して、予測特徴ベクトルサンプルを構成する。
【0041】
ステップS230:前記予測特徴ベクトルサンプルを事前トレーニングされた予測モデルに入力し、前記予測モデルから出力される予測結果を得て、前記予測結果は、前記処理対象符号化ユニットの深さ分割を行う必要があるか否かを示すためである。
【0042】
前記予測モデルは、分類結果で標識されたトレーニングサンプルを用いて事前トレーニングしたものであり、前記トレーニングサンプルは、前記所定タイプの符号化情報特徴を含む。
【0043】
前の実施例に比べ、本実施例において、予測モデルを用いて符号化深さの予測を行う判断条件が追加され、即ち、処理対象符号化ユニットの符号化深さが0であると特定された場合に、モデル予測過程を実行する。符号化深さが0でない処理対象符号化ユニットについて、予測モデルを用いて予測する中、その算出過程も複雑であり、本願では、他の方式で予測することができ、詳しくは、明細書の後述する関連紹介を参照する。
【0044】
本願の他の実施例において、予測モデルを紹介する。
【0045】
ビデオコードストリームにおけるBフレームとPフレームの誤差積算周期が異なるため、予測モデルの予測結果をより正確にするために、本願では、予測モデルがPフレーム予測モデルとBフレーム予測モデルを含むとしてもよい。
【0046】
ただし、
Pフレーム予測モデルの事前トレーニング時に使用されるトレーニングサンプルは、Pフレームビデオ画像に属する符号化ユニットから抽出した所定タイプの符号化情報特徴である。
【0047】
Bフレーム予測モデルの事前トレーニング時に使用されるトレーニングサンプルは、Bフレームビデオ画像に属する符号化ユニットから抽出した前記所定タイプの符号化情報特徴である。
【0048】
上記ステップS230において、前記予測特徴ベクトルサンプルを事前トレーニングされた予測モデルに入力し、前記予測モデルから出力される予測結果を得る過程は、具体的には、以下のステップにより実現される。
【0049】
S1:前記処理対象符号化ユニットの属するビデオフレーム画像のタイプがPフレームかそれともBフレームかを特定する。
【0050】
S2:Pフレームであれば、前記予測特徴ベクトルサンプルを前記Pフレーム予測モデルに入力し、前記Pフレーム予測モデルから出力される予測結果を得る。
【0051】
S3:Bフレームであれば、前記予測特徴ベクトルサンプルを前記Bフレーム予測モデルに入力し、前記Bフレーム予測モデルから出力される予測結果を得る。
【0052】
本願では、Bフレーム及びPフレームビデオ画像に含まれる処理対象符号化ユニットに対して異なる予測モデルを用いて予測することで、予測結果の正確度を向上させている。
【0053】
次に、本願の予測モデルの確立過程を紹介する。
【0054】
一、トレーニング特徴の取得
まず、予測モデルのトレーニング時に使用されるトレーニングサンプルを紹介する。処理対象符号化ユニットを現在符号化ユニットとして定義し、処理対象符号化ユニットの存在する符号化ツリーユニットの近隣符号化ツリーユニットを現在符号化ユニットの近隣符号化ツリーユニットとして定義すれば、本願では、予測モデルのトレーニング時に使用される所定タイプの符号化情報特徴は、
1、現在符号化ユニットのコスト(curr_merge_rdcost)
2、現在符号化ユニットの歪み(curr_merge_distortion)
3、現在符号化ユニットの量化係数(curr_qp)
4、現在符号化ユニットの分散(curr_var)
5、現在符号化ユニットの近隣符号化ツリーユニットのコスト(around_rdcost)
6、現在符号化ユニットの近隣符号化ツリーユニットの深さ情報(around_depth)、を含むことができる。
【0055】
現在符号化ユニットの近隣符号化ツリーユニットは、現在符号化ユニットの存在する符号化ツリーユニットの上側の近隣符号化ツリーユニット及び左側の近隣符号化ツリーユニットであることができ、上記符号化情報特徴5は、具体的には、
51、現在符号化ユニットの左側の近隣符号化ツリーユニットのコスト(left_rdcost)
52、現在符号化ユニットの上側の近隣符号化ツリーユニットのコスト(above_rdcost)、を含むことができる。
【0056】
上記符号化情報特徴6は、具体的には、
61、現在符号化ユニットの左側の近隣符号化ツリーユニットの深さ情報(left_depth)
62、現在符号化ユニットの上側の近隣符号化ツリーユニットの深さ情報(above_depth)、を含むことができる。
【0057】
なお、予測モデルのトレーニング時に使用される符号化情報特徴のタイプと、処理対象符号化ユニットがモデル予測を行う時に取得した符号化情報特徴のタイプとは一致しなければならない。
【0058】
これに基づいて、本願では、異なる場面でのビデオコードストリームシーケンスを選択することができ、シーケンスに含まれるトレーニングされる符号化ユニットごとに、上記各タイプの符号化情報特徴をオフラインで抽出し、実際の符号化過程において、トレーニングされる符号化ユニットの深さ分割を行ったか否かを記録し、YESであれば、トレーニングされる符号化ユニットの分類結果を第1標識値として標識し、NOであれば、トレーニングされる符号化ユニットの分類結果を第2標識値として標識する。第1標識値は1であることができ、第2標識値は−1であることができる。
【0059】
トレーニングされる符号化ユニットで取得された各タイプの符号化情報特徴からトレーニング特徴ベクトルを構成し、トレーニング特徴ベクトル及びトレーニングされる符号化ユニットの分類結果からトレーニングサンプルを構成する。
【0060】
なお、Bフレーム予測モデルとPフレーム予測モデルとは個別にトレーニングされるため、BフレームとPフレームの符号化情報特徴も個別に抽出されるべきである。そして、本実施例では、符号化深さが0であるトレーニングされる符号化ユニットのみを抽出してもよく、トレーニングした予測モデルは、符号化深さが0である処理対象符号化ユニットのみについて予測する。
【0061】
二、モデルのトレーニング
本実施例では、SVMモデルでトレーニングすることができ、サードパーティによるオープンソースソフトウェアを用いて、オフラインでトレーニングする。
【0062】
S1:トレーニングサンプルの組み合わせ。1:1の割合で、分類結果がそれぞれ深さ分割を必要とすること及び深さ分割を必要としないことであるトレーニングサンプルを取得し、そして入れ替えて全トレーニングサンプルセットになる。
【0063】
S2:トレーニングサンプルの標準化。整理しておくトレーニングサンプルを標準化し、トレーニングサンプルを区間[−1,1]にマッピングする。
【0064】
本ステップにおいて、トレーニングサンプルの標準化操作を行うのは、データ形式を統一するためであり、予測の正確度を向上させることができる。
【0065】
S3:モデルのトレーニング。サードパーティによるオープンソースソフトウェアを呼び出し、RBFカーネルを用いて、Bフレームに属するトレーニングサンプル、Pフレームに属するトレーニングサンプルを個別にトレーニングし、最後にBフレーム予測モデル及びPフレーム予測モデルをそれぞれ得て、mode_B_cu64*64及びmode_P_cu64*64として記する。
【0066】
本願の更なる実施例において、更なる符号化ユニットの深さ特定方法を紹介し、
図6に示すように、この方法は、以下のステップS300〜ステップS360を含む。
【0067】
ステップS300:処理対象符号化ユニットの現在の最適モードの残差係数を特定する。
【0068】
ステップS310:前記残差係数が0でない場合に、前記処理対象符号化ユニットの符号化深さが0であるか否かを判断し、YESであれば、ステップS320を実行し、NOであれば、ステップS340を実行する。
【0069】
具体的には、処理対象符号化ユニットの符号化深さが0であれば、処理対象符号化ユニットが最大符号化ユニットLCUであることが示され、つまり、符号化ツリーユニットCTUの分割を行っていない。
【0070】
本実施例において、処理対象符号化ユニットの符号化深さが0であると特定された場合に、後述する予測モデルを用いて処理対象符号化ユニットの深さ分割を行う必要があるか否かを予測する操作を実行する。処理対象符号化ユニットの符号化深さが0でないと特定された場合に、他の方法で符号化深さの予測を行う。
【0071】
ステップS320:前記処理対象符号化ユニット及び前記処理対象符号化ユニットの存在する符号化ツリーユニットの近隣符号化ツリーユニットから、所定タイプの符号化情報特徴をそれぞれ取得して、予測特徴ベクトルサンプルを構成する。
【0072】
ステップS330:前記予測特徴ベクトルサンプルを事前トレーニングされた予測モデルに入力し、前記予測モデルから出力される予測結果を得て、前記予測結果は、前記処理対象符号化ユニットの深さ分割を行う必要があるか否かを示す。
【0073】
前記予測モデルは、分類結果で標識されたトレーニングサンプルを用いて事前トレーニングしたものであり、前記トレーニングサンプルは、前記所定タイプの符号化情報特徴を含む。
【0074】
上記ステップS300〜S330は、前の実施例におけるステップS200〜S230と1対1で対応し、ここでは、その詳細な説明を省略する。
【0075】
ステップS340:前記処理対象符号化ユニットの存在する符号化ツリーユニットの近隣符号化ツリーユニットのうち、前記処理対象符号化ユニットと同じ符号化深さの符号化ユニットの平均コストを特定し、第1平均コストとする;
ステップS350:前記処理対象符号化ユニットの存在する符号化ツリーユニットのうち、同じ符号化深さの符号化済みの符号化ユニットの平均コストを特定し、第2平均コストとする。
【0076】
ステップS360:前記第1平均コスト及び前記第2平均コストに基づいて、前記処理対象符号化ユニットの深さ分割を行う必要があるか否かを特定する。
【0077】
上述した各実施例に比べ、本実施例において、処理対象符号化ユニットの符号化深さが0でないと特定された場合に、処理対象符号化ユニットの符号化深さを予測する過程が追加され、即ち、処理対象符号化ユニット及びその存在する符号化ツリーユニットの近隣符号化ツリーユニットのうち同じ符号化深さの符号化ユニットの平均コストに基づいて、処理対象符号化ユニットの深さ分割を行う必要があるか否かを予測する。1フレームのビデオ画像における近隣する符号化ツリーユニットの像素分布に大きな差が出るはずはないため、符号化済みの近隣符号化ツリーのうち同じ符号化深さの符号化ユニットの平均コストに基づいて、処理対象符号化ユニットの深さ分割を行う必要があるか否かを予測することができ、その予測結果の正確率が比較的に高く、かつ処理対象符号化ユニットの深さ分割及びレート歪みコストの算出や比較を行う必要がなく、従来技術に比べその符号化予測時間が大幅に削減されるとともに、計算リソースが低減され、計算の複雑さが軽減される。
【0078】
さらに、上記ステップS340の実現過程を紹介し、詳しくは
図7を参照し、この過程は以下のステップS400〜ステップS420を含むことができる。
【0079】
ステップS400:前記処理対象符号化ユニットの存在する符号化ツリーユニットの各近隣符号化ツリーユニットから、前記処理対象符号化ユニットと同じ符号化深さの符号化ユニットの平均コストを特定する。
【0080】
ステップS410:各前記近隣符号化ツリーユニットと前記処理対象符号化ユニットの存在する符号化ツリーユニットとの方位関係に従って、各前記近隣符号化ツリーユニットの重み値を特定する。
【0081】
具体的には、説明のために、処理対象符号化ユニットの存在する符号化ツリーユニットをCurrent CTUとして定義し、Current CTUの近隣符号化ツリーユニットは、左側の近隣符号化ツリーユニットLeft CTU、左上隅の近隣符号化ツリーユニットAboveLeft CTU、上側の近隣符号化ツリーユニットAbove CTU、右上隅の近隣符号化ツリーユニットAboveRight CTUを含むことができる。
【0082】
図8には、Current CTUの各近隣符号化ツリーユニットが示されている。
【0083】
なお、Current CTUと各近隣CTUとの方位関係が異なり、さらに、各近隣CTUの重み値も異なる。
【0084】
オプションとする対応関係において、近隣CTUの重みの比は、
Left CTU:Above CTU:AboveLeft CTU:AboveRight CTU=2:2:1:1である。
【0085】
ステップS420:各前記近隣符号化ツリーユニットの重み値及びその平均コストに基づいて、各前記近隣符号化ツリーユニットの重み付き平均コストを特定し、第1平均コストとする。
【0086】
具体的には、各近隣符号化ツリーユニットの平均コストと対応する重み値とを乗算し、乗算結果を得て、各乗算結果を加算し、重み付き平均コストを得て、第1平均コストとする。
【0087】
図8に示される場合を例として、第1平均コストの特定過程を説明する。
【0088】
処理対象符号化ユニットの符号化深さを1とする。
図8から分かるように、Left CTUは、4つの符号化深さが1であるCU32*32を含み、AboveLeft CTUは、3つの符号化深さが1であるCU32*32を含み、Above CTは、0個の符号化深さが1であるCU32*32を含み、AboveRight CTUは、2つの符号化深さが1であるCU32*32を含む。
【0089】
CTUにおいて符号化深さが1である4つのCU32*32の位置標識は、時計回り方向に左上隅から順に0、1、2、3であると定義される。
【0090】
図8から分かるように、
left_depth1_cost=left_depth1_cost0+left_depth1_cost1+left_depth1_cost2+left_depth1_cost3;
aboveleft_depth1_cost=aboveleft_depth1_cost0+aboveleft_depth1_cost2+aboveleft_depth1_cost3;
aboveright_depth1_cost=aboveright_depth1_cost1+aboveright_depth1_cost2である。
【0091】
式1を例として説明すると、left_depth1_costは、左側の近隣CTUのうち符号化深さが1であるCUの平均コストを示し、left_depth1_cost0は、左側の近隣CTUのうち符号化深さが1であるCUにおける位置標識が0であるCUのコストを示す。
【0092】
さらに、全ての近隣CTUのうち符号化深さが1であるCUの重み付き平均コストは、
Avg_depth1_cost=(left_depth1_cost*2+aboveleft_depth1_cost*1+aboveright_depth1_cost*1)/(left_depth1_num*2+aboveleft_depth1_num*1+aboveright_depth1_num*1)である。
【0093】
式中、left_depth1_num、aboveleft_depth1_num、aboveright_depth1_numは、それぞれ、左側の近隣、左上の近隣及右上の近隣CTUのうち、符号化深さが1であるCUの数を示す。
【0094】
なお、以上、あくまでも符号化深さが1である場合について説明したが、符号化深さが2、3である場合の算出方式は、上記と同様である。
【0095】
さらに、上記ステップS360で、前記第1平均コスト及び前記第2平均コストに基づいて、前記処理対象符号化ユニットの深さ分割を行う必要があるか否かを特定する実現過程を紹介し、詳しくは
図9を参照し、この過程は以下のステップS500〜ステップS530を含むことができる。
【0096】
ステップS500:前記第1平均コスト及び前記第2平均コストに基づいて、コスト閾値を特定する。
【0097】
具体的には、第1平均コストと第2平均コストについて異なる重み値を設定することができ、さらに、第1平均コスト及び第2平均コストを重み付き加算し、その結果をコスト閾値とすることができる。
【0098】
オプションとして、近隣CTUはすべて符号化が済んだので、第1平均コストの重み値を第2平均コストの重み値よりも大きく設定してもよい。
【0099】
ステップS510:前記処理対象符号化ユニットの現在の最適モードのコストが前記コスト閾値よりも小さいか否かを判断し、YESであれば、ステップS520を実行し、NOであれば、ステップS530を実行する。
【0100】
ステップS520:前記処理対象符号化ユニットの深さ分割を行う必要がないと特定する。
【0101】
ステップS530:前記処理対象符号化ユニットの深さ分割を行う必要があると特定する。
【0102】
具体的には、処理対象符号化ユニットの現在の最適モードのコストがコスト閾値よりも小さければ、本願では、処理対象符号化ユニットの深さ分割をこれ以上行う必要がないと認められ、そうでなければ、処理対象符号化ユニットの深さ分割が依然として必要であることが示される。
【0103】
処理対象符号化ユニットの符号化深さを相変わらず1とし、
図8に示されるものを結合して説明する。
【0104】
前記処理対象符号化ユニットの存在する符号化ツリーユニットのうち符号化深さが1である符号化済みの符号化ユニットの平均コストは、Avg_curr_CU_depth1で示され、つまり、第2平均コストはAvg_curr_CU_depth1で示されることを定義する。
【0105】
第1平均コストと第2平均コストの重み値の比を4:3に設定する。コスト閾値は、
Threshold_depth1=(Avg_depth1_cost*4+Avg_curr_CU_depth1*3)/(3+4)で示される。
【0106】
処理対象符号化ユニットの現在の最適モードのコストをcurr_cost_depth1として定義し、curr_cost_depth1<Threshold_depth1であると特定されていれば、処理対象符号化ユニットの深さ分割をこれ以上行う必要がないと認められ、そうでなければ、深さ分割を行う必要がある。
【0107】
本願に提供される上記方法及び従来技術によって実験検証すると、従来の完全トラバース方法に比べ、本願の方法では符号化速度が94%増加し、圧縮率が3.1%減少したことが分かり、これにより、本願では、圧縮率が少し減少した割に、符号化速度がかなり増加しているため、ビデオエンコーダの符号化速度が大幅に増加され、算出の複雑さが大幅に軽減される。
【0108】
以下、本願の実施例に提供される符号化ユニットの深さ特定装置を説明し、後述する符号化ユニットの深さ特定装置は、上述した符号化ユニットの深さ特定方法と互いに対応して参照することができる。
【0109】
図10を参照し、
図10は、本願の実施例に開示される符号化ユニットの深さ特定装置の構造模式図である。
【0110】
図10に示すように、この装置は、
処理対象符号化ユニットの現在の最適モードの残差係数を特定する残差係数特定ユニット11と、
前記残差係数が0でない場合に、前記処理対象符号化ユニット及び前記処理対象符号化ユニットの存在する符号化ツリーユニットの近隣符号化ツリーユニットから、所定タイプの符号化情報特徴をそれぞれ取得して、予測特徴ベクトルサンプルを構成する特徴取得ユニット12と、
前記予測特徴ベクトルサンプルを事前トレーニングされた予測モデルに入力し、前記予測モデルから出力される、前記処理対象符号化ユニットの深さ分割を行う必要があるか否かを示すための予測結果を得るモデル予測ユニット13と、を備え、
前記予測モデルは、分類結果で標識されたトレーニングサンプルを用いて事前トレーニングしたものであり、前記トレーニングサンプルは、前記所定タイプの符号化情報特徴を含む。
【0111】
本願の実施例に提供される符号化ユニットの深さ特定装置によれば、分類結果で標識されたトレーニングサンプルを用いて予測モデルを予めトレーニングし、このトレーニングサンプルは、所定タイプの符号化情報特徴を含み、さらに、処理対象符号化ユニットの現在の最適モードの残差係数が0でないと特定された場合に、処理対象符号化ユニットがskip符号化ユニットではなく、符号化深さの予測を行う必要があることが示唆され、さらに、処理対象符号化ユニット及びその存在する符号化ツリーユニットの近隣符号化ツリーユニットから、所定タイプの符号化情報特徴を取得して、予測特徴ベクトルサンプルを構成し、予測モデルに入力し、機械学習予測モデルを用いて処理対象符号化ユニットの深さ分割を行う必要があるか否かを予測する。本願では、予測結果から、処理対象符号化ユニットの深さ分割を行う必要がないことが示唆される場合に、処理対象符号化ユニットの深さ分割及びレート歪みコストの算出や比較を行う必要がなく、従来技術に比べその符号化予測時間が大幅に削減されるとともに、計算リソースが低減され、計算の複雑さが軽減される。
【0112】
オプションとして、前記残差係数特定ユニットは、具体的には、非Iフレームビデオ画像に属する処理対象符号化ユニットの現在の最適モードの残差を特定してもよい。
【0113】
オプションとして、本願の装置は、
前記処理対象符号化ユニットの符号化深さが0であるか否かを判断する符号化深さ判断ユニットをさらに備えてもよい。
【0114】
これに基づいて、前記特徴取得ユニットは、具体的には、前記符号化深さ判断ユニットの判断結果がYESである場合に、前記処理対象符号化ユニット及び前記処理対象符号化ユニットの存在する符号化ツリーユニットの近隣符号化ツリーユニットから、所定タイプの符号化情報特徴をそれぞれ抽出する。
【0115】
オプションとして、本願の装置は、
前記処理対象符号化ユニットの符号化深さが0でないと判断された場合に、前記処理対象符号化ユニットの存在する符号化ツリーユニットの近隣符号化ツリーユニットのうち、前記処理対象符号化ユニットと同じ符号化深さの符号化ユニットの平均コストを特定し、第1平均コストとする近隣平均コスト特定ユニットと、
前記処理対象符号化ユニットの存在する符号化ツリーユニットのうち、同じ符号化深さの符号化済みの符号化ユニットの平均コストを特定し、第2平均コストとする自身平均コスト特定ユニットと、
前記第1平均コスト及び前記第2平均コストに基づいて、前記処理対象符号化ユニットの深さ分割を行う必要があるか否かを特定する深さ分割判断ユニットと、をさらに備えてもよい。
【0116】
オプションとして、前記予測モデルは、Pフレーム予測モデル及びBフレーム予測モデルを含み、前記Pフレーム予測モデルの事前トレーニング時に使用されるトレーニングサンプルは、Pフレームビデオ画像に属する符号化ユニットから抽出した前記所定タイプの符号化情報特徴であり、前記Bフレーム予測モデルの事前トレーニング時に使用されるトレーニングサンプルは、Bフレームビデオ画像に属する符号化ユニットから抽出した前記所定タイプの符号化情報特徴であるようにしてもよい。これに基づいて、前記モデル予測ユニットは、
前記処理対象符号化ユニットの属するビデオフレーム画像のタイプがPフレームかそれともBフレームかを特定するフレームタイプ特定ユニットと、
前記フレームタイプ特定ユニットによってPフレームであると特定された場合に、前記予測特徴ベクトルサンプルを前記Pフレーム予測モデルに入力し、前記Pフレーム予測モデルから出力される予測結果を得るPフレームモデル予測ユニットと、
前記フレームタイプ特定ユニットによってBフレームであると特定された場合に、前記予測特徴ベクトルサンプルを前記Bフレーム予測モデルに入力し、前記Bフレーム予測モデルから出力される予測結果を得るBフレームモデル予測ユニットと、を含んでもよい。
【0117】
オプションとして、前記特徴取得ユニットは、
前記処理対象符号化ユニットのコスト、量化係数、歪み及び分散を取得する第1特徴取得ユニットと、
前記処理対象符号化ユニットの存在する符号化ツリーユニットの近隣符号化ツリーユニットのコスト及び深さ情報を取得する第2特徴取得ユニットと、を含んでもよい。
【0118】
オプションとして、前記近隣平均コスト特定ユニットは、
前記処理対象符号化ユニットの存在する符号化ツリーユニットの各近隣符号化ツリーユニットから、前記処理対象符号化ユニットと同じ符号化深さの符号化ユニットの平均コストを特定する第1近隣平均コスト特定サブユニットと、
各前記近隣符号化ツリーユニットと前記処理対象符号化ユニットの存在する符号化ツリーユニットとの方位関係に従って、各前記近隣符号化ツリーユニットの重み値を特定する第2近隣平均コスト特定サブユニットと、
各前記近隣符号化ツリーユニットの重み値及びその平均コストに基づいて、各前記近隣符号化ツリーユニットの重み付き平均コストを特定し、第1平均コストとする第3近隣平均コスト特定サブユニットと、を含んでもよい。
【0119】
オプションとして、前記深さ分割判断ユニットは、
前記第1平均コスト及び前記第2平均コストに基づいて、コスト閾値を特定するコスト閾値特定ユニットと、
前記処理対象符号化ユニットの現在の最適モードのコストが前記コスト閾値よりも小さいか否かを判断し、YESであれば、前記処理対象符号化ユニットの深さ分割を行う必要がないと特定し、NOであれば、前記処理対象符号化ユニットの深さ分割を行う必要があると特定するコスト閾値比較ユニットと、を含んでもよい。
【0120】
本願の実施例にはビデオエンコーダがさらに開示され、このビデオエンコーダは、上述した符号化ユニットの深さ特定装置を備える。
【0121】
さらに、ビデオエンコーダは、以上で紹介した予測モデルをさらに備えてもよい。本願に開示されるビデオエンコーダは、従来のビデオエンコーダに比べ、その符号化速度が大幅に増加され、算出の複雑さも大幅に軽減される。
【0122】
なお、最後に、本文において、第1及び第2のような関係を表す用語は、あくまでもエンティティ又は操作を他のエンティティ又は操作から区別するためであり、これらのエンティティ又は操作間にこのような実際の関係や順番があることを要求するか暗示するとは限らない。また、用語である「含む」、「有する」及びそれらの如何なる変形は、排他的にならずに含まれたものをカバーすることがその意図であり、これにより、一連の要素を含めた過程、方法、製品又は機器は、これらの要素を含むだけでなく、明確にリストアップされていない他の要素をも含むか、或いは、これらの過程、方法、製品又は機器に固有であったりする他の要素をも含む。更なる限定がない場合に、「1つの・・・を含む」という表現で限定された要素は、前記要素を含む過程、方法、製品又は機器には他の同一の要素がさらに含まれていることを排除しない。
【0123】
本明細書において、各実施例を順に説明し、各実施例について重点を置いて説明した部分は他の実施例と異なるものであり、各実施例間で同一の又は類似した部分は互いに参照すればよい。
【0124】
開示された実施例を以上のように説明することで、当業者は本願を実現又は使用することができる。これらの実施例に対する様々な修正は当業者にとって自明なものであり、本文に定義された一般的な原理は本願の思想や範囲から逸脱しない限り、他の実施例にて実現されることができる。このため、本願は本文に示されるこれらの実施例に制限されることなく、本文に開示された原理及び新規特徴と一致する最も広い範囲に合致する。