(57)【要約】  本願はビデオエンコーディング、デコーディング方法、装置、コンピュータ機器及び記憶媒体に関し、前記方法は、入力ビデオフレームを取得するステップと、候補処理方式の中から、前記入力ビデオフレームに対応するターゲット処理方式を決定し、前記候補処理方式はフル解像度処理方式及びダウンサンプリング処理方式を含むステップと、前記ターゲット処理方式に応じて前記入力ビデオフレームを処理し、被エンコーディングフレームを取得するステップと、前記被エンコーディングフレームに対応する解像度情報に応じて、前記被エンコーディングフレームをエンコーディングして、前記入力ビデオフレームに対応するエンコーディングデータを取得するステップと、を含む。上記エンコーディング方法は、ビデオフレームの処理方式を柔軟に選択し、入力ビデオフレームの解像度を適応的に調整してエンコーディングを行うことができる。
2021516928.tif 000002
【特許請求の範囲】
【請求項１】
コンピュータ機器が実行するビデオエンコーディング方法であって、
入力ビデオフレームを取得するステップと、
候補処理方式の中から、前記入力ビデオフレームに対応するターゲット処理方式を決定し、前記候補処理方式はフル解像度処理方式及びダウンサンプリング処理方式を含むステップと、
前記ターゲット処理方式に応じて前記入力ビデオフレームを処理し、被エンコーディングフレームを取得するステップと、
前記被エンコーディングフレームに対応する解像度情報に応じて、前記被エンコーディングフレームをエンコーディングして、前記入力ビデオフレームに対応するエンコーディングデータを取得するステップと、を含むことを特徴とする方法。
【請求項２】
前記被エンコーディングフレームに対応する解像度情報に応じて、前記被エンコーディングフレームをエンコーディングして、前記入力ビデオフレームに対応するエンコーディングデータを取得する前記ステップの後、さらに
前記ターゲット処理方式に対応するターゲット処理方式情報を、前記入力ビデオフレームに対応するエンコーディングデータに追加するステップを含むことを特徴とする請求項１に記載の方法。
【請求項３】
前記候補処理方式の中から、前記入力ビデオフレームに対応するターゲット処理方式を決定するステップは、
前記入力ビデオフレームに対応する処理パラメータを取得し、前記処理パラメータに応じて、前記入力ビデオフレームに対応するターゲット処理方式を決定するステップを含み、
前記ターゲット処理方式に対応するターゲット処理方式情報を、前記入力ビデオフレームに対応するエンコーディングデータに追加する前記ステップは、
前記処理パラメータがデコーディング中に再現できない場合、前記ターゲット処理方式に対応するターゲット処理方式情報を、前記入力ビデオフレームに対応するエンコーディングデータに追加するステップを含むことを特徴とする請求項２記載の方法。
【請求項４】
前記被エンコーディングフレームに対応する解像度情報に応じて、前記被エンコーディングフレームをエンコーディングして、前記入力ビデオフレームに対応するエンコーディングデータを取得する前記ステップは、
前記被エンコーディングフレームに対応する現在の参照フレームを取得するステップと、
前記被エンコーディングフレームに対応する解像度情報及び前記現在の参照フレームに応じて、前記被エンコーディングフレームをエンコーディングし、前記入力ビデオフレームに対応するエンコーディングデータを取得するステップを含むことを特徴とする請求項１〜３のいずれか一項に記載の方法。
【請求項５】
前記被エンコーディングフレームに対応する解像度情報及び前記現在の参照フレームに応じて、前記被エンコーディングフレームをエンコーディングし、前記入力ビデオフレームに対応するエンコーディングデータを取得する前記ステップは、
前記被エンコーディングフレームの解像度情報及び第１解像度情報に応じて第１ベクトル変換パラメータを決定し、前記第１解像度情報は前記現在の参照フレームの解像度情報又は前記入力ビデオフレームに対応するターゲット動きベクトル単位解像度情報を含むステップと、
前記第１ベクトル変換パラメータに応じて、前記被エンコーディングフレーム中の各エンコーディングブロックに対応するターゲット動きベクトルを取得するステップと、を含むことを特徴とする請求項４に記載の方法。
【請求項６】
前記被エンコーディングフレームに対応する解像度情報及び前記現在の参照フレームに応じて、前記被エンコーディングフレームをエンコーディングし、前記入力ビデオフレームに対応するエンコーディングデータを取得する前記ステップは、
前記被エンコーディングフレームの解像度情報に応じて前記現在の参照フレームをサンプリング処理し、対応するターゲット参照フレームを取得するステップと、
前記ターゲット参照フレームに応じて前記被エンコーディングフレームをエンコーディングし、前記入力ビデオフレームに対応するエンコーディングデータを取得するステップと、を含むことを特徴とする請求項４に記載の方法。
【請求項７】
前記被エンコーディングフレームに対応する解像度情報に応じて、前記被エンコーディングフレームをエンコーディングして、前記入力ビデオフレームに対応するエンコーディングデータを取得する前記ステップの後、さらに、
前記被エンコーディングフレームのエンコーディング時に対応するエンコーディング方式を取得するステップと、
前記エンコーディング方式に対応するエンコーディング方式情報を、前記入力ビデオフレームに対応するエンコーディングデータに追加するステップを含むことを特徴とする請求項１、２又は４のいずれか一項に記載の方法。
【請求項８】
前記被エンコーディングフレームの解像度情報及び第１解像度情報に応じて第１ベクトル変換パラメータを決定する前記ステップは、前記被エンコーディングフレームの解像度情報及び前記現在の参照フレームの解像度情報に応じて前記第１ベクトル変換パラメータを決定するステップを含み、
前記第１ベクトル変換パラメータに応じて、前記被エンコーディングフレーム中の各エンコーディングブロックに対応するターゲット動きベクトルを取得する前記ステップは、現在のエンコーディングブロックに対応する第１位置情報を取得し、前記現在のエンコーディングブロックに対応するターゲット参照ブロックに対応する第２位置情報を取得するステップと、前記第１ベクトル変換パラメータ、前記第１位置情報及び前記第２位置情報に応じて、前記現在のエンコーディングブロックに対応するターゲット動きベクトルを算出するステップと、を含むことを特徴とする請求項５に記載の方法。
【請求項９】
前記被エンコーディングフレームの解像度情報及び第１解像度情報に応じて第１ベクトル変換パラメータを決定する前記ステップは、ターゲット動きベクトル単位解像度情報を取得するステップと、前記被エンコーディングフレームの解像度情報及び前記ターゲット動きベクトル単位解像度情報に応じて、前記第１ベクトル変換パラメータを決定するステップと、を含み、
前記第１ベクトル変換パラメータに応じて、前記被エンコーディングフレーム中の各エンコーディングブロックに対応するターゲット動きベクトルを取得する前記ステップは、現在のエンコーディングブロック及び対応するターゲット参照ブロックの変位に応じて第１動きベクトルを取得するステップと、前記第１ベクトル変換パラメータ及び前記第１動きベクトルに応じて前記現在のエンコーディングブロックに対応するターゲット動きベクトルを取得するステップと、を含むことを特徴とする請求項８に記載の方法。
【請求項１０】
前記被エンコーディングフレームに対応する解像度情報及び前記現在の参照フレームに応じて、前記被エンコーディングフレームをエンコーディングし、前記入力ビデオフレームに対応するエンコーディングデータを取得する前記ステップは、
前記現在のエンコーディングブロックに対応する初期予測動きベクトルを取得するステップと、
前記初期予測動きベクトルに対応する現在の動きベクトル単位解像度情報及び前記ターゲット動きベクトル単位解像度情報に応じて、第２ベクトル変換係数を取得するステップと、
前記初期予測動きベクトル及び前記第２ベクトル変換係数に応じて、前記現在のエンコーディングブロックに対応するターゲット予測動きベクトルを取得するステップと、
前記ターゲット動きベクトル及び前記ターゲット予測動きベクトルに応じて、動きベクトル差を取得するステップと、を含むことを特徴とする請求項４に記載の方法。
【請求項１１】
前記被エンコーディングフレームの解像度情報に応じて前記現在の参照フレームをサンプリング処理し、対応するターゲット参照フレームを取得する前記ステップは、
前記被エンコーディングフレームの解像度情報及び動き推定ピクセル精度に応じて、前記現在の参照フレームをサンプリング処理し、対応するターゲット参照フレームを取得するステップを含むことを特徴とする請求項６に記載の方法。
【請求項１２】
前記被エンコーディングフレームの解像度情報及び動き推定ピクセル精度に応じて、前記現在の参照フレームをサンプリング処理し、対応するターゲット参照フレームを取得する前記ステップは、
前記被エンコーディングフレームの解像度情報及び前記動き推定ピクセル精度に応じてピクセル補間精度を算出するステップと、前記ピクセル補間精度に応じて、直接前記現在の参照フレームをサブピクセル補間処理し、対応するターゲット参照フレームを取得するステップと、を含むことを特徴とする請求項１１に記載の方法。
【請求項１３】
前記被エンコーディングフレームの解像度情報及び動き推定ピクセル精度に応じて、前記現在の参照フレームをサンプリング処理し、対応するターゲット参照フレームを取得する前記ステップは、
前記被エンコーディングフレームの解像度情報に応じて前記現在の参照フレームをサンプリング処理し、中間参照フレームを取得するステップと、前記動き推定ピクセル精度に応じて前記中間参照フレームをサブピクセル補間処理し、ターゲット参照フレームを取得するステップと、を含むことを特徴とする請求項１１に記載の方法。
【請求項１４】
前記被エンコーディングフレームに対応する解像度情報に応じて、前記被エンコーディングフレームをエンコーディングして、前記入力ビデオフレームに対応するエンコーディングデータを取得する前記ステップの後、さらに、
前記現在の参照フレームのサンプリング処理に対応するサンプリング方式情報を、前記入力ビデオフレームに対応するエンコーディングデータに追加するステップを含むことを特徴とする請求項６に記載の方法。
【請求項１５】
前記被エンコーディングフレームに対応する現在の参照フレームを取得する前記ステップは、第１参照ルールを取得し、前記第１参照ルールは被エンコーディングフレームと現在の参照フレームの解像度の大小関係を含むステップと、前記第１参照ルールに応じて、前記被エンコーディングフレームに対応する現在の参照フレームを取得するステップと、を含むことを特徴とする請求項４に記載の方法。
【請求項１６】
前記被エンコーディングフレームに対応する解像度情報に応じて、前記被エンコーディングフレームをエンコーディングして、前記入力ビデオフレームに対応するエンコーディングデータを取得する前記ステップの後、さらに、前記第１参照ルールに対応するルール情報を、前記入力ビデオフレームに対応するエンコーディングデータに追加するステップを含むことを特徴とする請求項１５に記載の方法。
【請求項１７】
前記候補処理方式の中から、前記入力ビデオフレームに対応するターゲット処理方式を決定し、前記候補処理方式はフル解像度処理方式及びダウンサンプリング処理方式を含むステップは、
前記入力ビデオフレームに対応する前方エンコーディングビデオフレームにおけるターゲット予測タイプエンコーディングブロックの比を計算するステップと、前記比に応じて、前記入力ビデオフレームに対応するターゲット処理方式を決定するステップと、を含むことを特徴とする請求項１に記載の方法。
【請求項１８】
前記処理方式はダウンサンプリングを含み、前記ターゲット処理方式に応じて前記入力ビデオフレームを処理し、被エンコーディングフレームを取得することは、前記入力ビデオフレームをダウンサンプリング処理し、前記被エンコーディングフレームを取得するステップを含むことを特徴とする請求項１に記載の方法。
【請求項１９】
前記被エンコーディングフレームに対応する解像度情報に応じて、前記被エンコーディングフレームをエンコーディングして、前記入力ビデオフレームに対応するエンコーディングデータを取得する前記ステップの後、さらに、前記ダウンサンプリング処理に対応するダウンサンプリング処理方式情報を、前記入力ビデオフレームに対応するエンコーディングデータに追加するステップを含むことを特徴とする請求項１８に記載の方法。
【請求項２０】
前記入力ビデオフレームを取得する前記ステップの前、さらに
入力ビデオフレームに対応する入力ビデオシーケンスを取得し、前記入力ビデオシーケンスに対応するターゲットビデオシーケンスエンコーディングモードを取得し、ここで、前記ターゲットビデオシーケンスエンコーディングモードは固定解像度エンコーディングモード又はハイブリッド解像度エンコーディングモードを含むステップと、
前記ターゲットビデオシーケンスエンコーディングモードがハイブリッド解像度エンコーディングモードである場合、前記入力ビデオシーケンスの各入力ビデオフレームに対して上記実施例に係るビデオエンコーディング方法を実行し、前記ターゲットビデオシーケンスエンコーディングモードが固定解像度エンコーディングモードである場合、前記入力ビデオシーケンスの各入力ビデオフレームに対して固定解像度エンコーディングを行うステップと、を含むことを特徴とする請求項１に記載の方法。
【請求項２１】
前記入力ビデオシーケンスに対応するターゲットビデオシーケンスエンコーディングモードを取得する前記ステップは、
現在の環境情報を取得し、前記現在の環境情報は現在のエンコーディング環境情報、現在のデコーディング環境情報のうちの少なくとも１種の情報を含むステップと、前記現在の環境情報に応じて、前記入力ビデオシーケンスに対応するターゲットビデオシーケンスエンコーディングモードを決定するステップと、を含むことを特徴とする請求項２０に記載の方法。
【請求項２２】
コンピュータ機器が実行するビデオデコーディング方法であって、  被デコーディングビデオフレームに対応するエンコーディングデータを取得するステップと、
前記被デコーディングビデオフレームに対応する解像度情報を取得するステップと、
前記被デコーディングビデオフレームに対応する解像度情報に応じて、前記エンコーディングデータをデコーディングし、前記被デコーディングビデオフレームに対応する再構成ビデオフレームを取得するステップと、
前記被デコーディングビデオフレームに対応する解像度情報に応じて前記再構成ビデオフレームを処理し、対応するデコーディングビデオフレームを取得するステップと、を含むことを特徴とする方法。
【請求項２３】
ビデオエンコーディング装置であって、前記装置は、
入力ビデオフレームを取得するステップに用いられる入力ビデオフレーム取得モジュールと、
候補処理方式の中から、前記入力ビデオフレームに対応するターゲット処理方式を決定し、前記候補処理方式はフル解像度処理方式及びダウンサンプリング処理方式を含むことに用いられる処理方式取得モジュールと、
前記ターゲット処理方式に応じて前記入力ビデオフレームを処理し、被エンコーディングフレームを取得するステップに用いられる処理モジュールと、
前記被エンコーディングフレームに対応する解像度情報に応じて、前記被エンコーディングフレームをエンコーディングして、前記入力ビデオフレームに対応するエンコーディングデータを取得するステップに用いられるエンコーディングモジュールと、を含むことを特徴とするビデオエンコーディング装置。
【請求項２４】
ビデオデコーディング装置であって、前記装置は、
被デコーディングビデオフレームに対応するエンコーディングデータを取得するステップに用いられるエンコーディングデータ取得モジュールと、
前記被デコーディングビデオフレームに対応する解像度情報を取得するステップに用いられる解像度情報取得モジュールと、
前記被デコーディングビデオフレームに対応する解像度情報に応じて、前記エンコーディングデータをデコーディングし、前記被デコーディングビデオフレームに対応する再構成ビデオフレームを取得するステップに用いられる再構成モジュールと、
前記被デコーディングビデオフレームに対応する解像度情報に応じて前記再構成ビデオフレームを処理し、対応するデコーディングビデオフレームを取得するステップに用いられるデコーディングビデオフレーム取得モジュールと、を含むことを特徴とするビデオデコーディング装置。
【請求項２５】
コンピュータ機器であって、メモリ及びプロセッサを含み、前記メモリがコンピュータプログラムを記憶しており、前記プロセッサが前記コンピュータプログラムを実行する場合、前記プロセッサが、請求項１〜２１のいずれか一項に記載のビデオエンコーディング方法のステップ、または請求項２２に記載のビデオデコーディング方法のステップを実行させることを特徴とするコンピュータ機器。
【請求項２６】
請求項１〜２１のいずれか一項に記載のビデオエンコーディング方法のステップを実行させるため、または、請求項２２に記載のビデオデコーディング方法のステップを実行させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本願は２０１８年６月２０日に提出した出願番号が第２０１８１０６３６９１８．３号であり、発明の名称が「ビデオエンコーディング、デコーディング方法、装置、コンピュータ機器及び記憶媒体」である中国特許出願の優先権を主張し、その全内容が引用により本願に組み込まれている。
【０００２】
本願はコンピュータの技術分野に関し、特にビデオエンコーディング、デコーディング方法、装置、コンピュータ機器及び記憶媒体に関する。
【背景技術】
【０００３】
デジタルメディア技術及びコンピュータ技術の発展に伴って、ビデオは、例えば、モバイル通信、ネットワーク監視、オンラインテレビ等のような様々な分野に適用されている。ハードウェアパフォーマンス及び画面解像度の向上に伴って、高解像度ビデオに対するユーザーのニーズがますます高まっている。
【０００４】
帯域幅が制限されている条件下では、従来のエンコーダはビデオフレームを無差別にエンコーディングすると、特定のシーンではビデオの品質が低い問題が生じる可能性があり、例えば、７５０ｋｂｐｓの場合、すべてのビデオフレームを無差別にエンコーディングすると、ビデオフレームの一部の品質が低いことがあり、Ｈ．２６４／Ｈ．２６５／ｉＯＳ等のエンコーダを分析したところ、同様な問題がある。
【発明の概要】
【発明が解決しようとする課題】
【０００５】
本願の実施例は、ビデオエンコーディング、デコーディング方法、装置、コンピュータ機器及び記憶媒体を提供し、ビデオフレームのターゲット処理方式を柔軟に選択し、入力ビデオフレームを処理し、入力ビデオフレームの解像度を適応的に調整してエンコーディングすることができ、帯域幅が制限されている条件下では、ビデオエンコーディング品質を向上させることができ、且つ、被エンコーディングフレームに対応する解像度情報に応じてエンコーディングすることで、正確なエンコーディングデータを取得することができる。
【課題を解決するための手段】
【０００６】
ビデオエンコーディング方法であって、前記方法は、入力ビデオフレームを取得するステップと、候補処理方式の中から、前記入力ビデオフレームに対応するターゲット処理方式を決定し、前記候補処理方式はフル解像度処理方式及びダウンサンプリング処理方式を含むステップと、前記ターゲット処理方式に応じて前記入力ビデオフレームを処理し、被エンコーディングフレームを取得するステップと、前記被エンコーディングフレームに対応する解像度情報に応じて、前記被エンコーディングフレームをエンコーディングして、前記入力ビデオフレームに対応するエンコーディングデータを取得するステップと、を含む。
【０００７】
ビデオエンコーディング装置であって、前記装置は、入力ビデオフレームを取得することに用いられる入力ビデオフレーム取得モジュールと、候補処理方式の中から、前記入力ビデオフレームに対応するターゲット処理方式を決定し、前記候補処理方式はフル解像度処理方式及びダウンサンプリング処理方式を含むことに用いられる処理方式取得モジュールと、前記ターゲット処理方式に応じて前記入力ビデオフレームを処理し、被エンコーディングフレームを取得することに用いられる処理モジュールと、前記被エンコーディングフレームに対応する解像度情報に応じて、前記被エンコーディングフレームをエンコーディングして、前記入力ビデオフレームに対応するエンコーディングデータを取得することに用いられるエンコーディングモジュールと、を含む。
【０００８】
コンピュータ機器であって、メモリ及びプロセッサを含み、前記メモリにコンピュータプログラムが記憶されており、前記コンピュータプログラムが前記プロセッサにより実行されると、前記プロセッサに上記ビデオエンコーディング方法のステップを実行させる。
【０００９】
コンピュータ可読記憶媒体であって、前記コンピュータ可読記憶媒体にコンピュータプログラムが記憶されており、前記コンピュータプログラムがプロセッサにより実行されると、前記プロセッサに上記ビデオエンコーディング方法のステップを実行させる。
【００１０】
上記ビデオエンコーディング方法、装置、コンピュータ機器及び記憶媒体は、エンコーディングを行う時、入力ビデオフレームを取得し、候補処理方式の中から、入力ビデオフレームに対応するターゲット処理方式を決定し、候補処理方式はフル解像度処理方式及びダウンサンプリング処理方式を含み、ターゲット処理方式に応じて入力ビデオフレームを処理し、被エンコーディングフレームを取得する。被エンコーディングフレームに対応する解像度情報に応じて、被エンコーディングフレームをエンコーディングして、入力ビデオフレームに対応するエンコーディングデータを取得する。従って、ビデオフレームの処理方式を柔軟に選択し、入力ビデオフレームを処理し、入力ビデオフレームの解像度を適応的に調整することができ、帯域幅が制限されている条件では、ビデオエンコーディングの品質を向上させ、且つ被エンコーディングフレームに対応する解像度情報に応じてエンコーディングすることで、正確なエンコーディングデータを取得することができる。
【００１１】
ビデオデコーディング方法であって、前記方法は、被デコーディングビデオフレームに対応するエンコーディングデータを取得するステップと、
前記被デコーディングビデオフレームに対応する解像度情報を取得するステップと、前記被デコーディングビデオフレームに対応する解像度情報に応じて、前記エンコーディングデータをデコーディングし、前記被デコーディングビデオフレームに対応する再構成ビデオフレームを取得するステップと、前記被デコーディングビデオフレームに対応する解像度情報に応じて前記再構成ビデオフレームを処理し、対応するデコーディングビデオフレームを取得するステップと、を含む。
【００１２】
ビデオデコーディング装置であって、前記装置は、被デコーディングビデオフレームに対応するエンコーディングデータを取得することに用いられるエンコーディングデータ取得モジュールと、前記被デコーディングビデオフレームに対応する解像度情報を取得することに用いられる解像度情報取得モジュールと、前記被デコーディングビデオフレームに対応する解像度情報に応じて、前記エンコーディングデータをデコーディングし、前記被デコーディングビデオフレームに対応する再構成ビデオフレームを取得することに用いられる再構成モジュールと、前記被デコーディングビデオフレームに対応する解像度情報に応じて前記再構成ビデオフレームを処理し、対応するデコーディングビデオフレームを取得することに用いられるデコーディングビデオフレーム取得モジュールと、を含む。
【００１３】
コンピュータ機器であって、メモリ及びプロセッサを含み、前記メモリにコンピュータプログラムが記憶されており、前記コンピュータプログラムが前記プロセッサにより実行されると、前記プロセッサに上記ビデオデコーディング方法のステップを実行させる。
【００１４】
コンピュータ可読記憶媒体であって、前記コンピュータ可読記憶媒体にコンピュータプログラムが記憶されており、前記コンピュータプログラムがプロセッサにより実行されると、前記プロセッサに上記ビデオデコーディング方法のステップを実行させる。
【００１５】
上記ビデオデコーディング方法、装置、コンピュータ機器及び記憶媒体は、被デコーディングビデオフレームに対応するエンコーディングデータを取得し、被デコーディングビデオフレームに対応する解像度情報を取得し、被デコーディングビデオフレームに対応する解像度情報に応じてエンコーディングデータをデコーディングし、被デコーディングビデオフレームに対応する再構成ビデオフレームを取得し、被デコーディングビデオフレームに対応する解像度情報に応じて再構成ビデオフレームを処理し、対応するデコーディングビデオフレームを取得する。従って、デコーディングを行う時、被デコーディングビデオフレームに対応する解像度情報に応じて柔軟にデコーディングして、デコーディングビデオフレームを取得することができ、且つ、被デコーディングビデオフレームの解像度情報に応じてデコーディングすることで、正確なデコーディングビデオフレームを取得することができる。
【図面の簡単な説明】
【００１６】
【図１】一実施例に係るビデオエンコーディング方法の応用環境図である。
【図２】一実施例におけるビデオエンコーディング方法に対応するエンコーディングフレームワーク図である。
【図３】一実施例におけるビデオデコーディング方法に対応するデコーディングフレームワーク図である。
【図４】一実施例におけるエンコーディングブロックに対応する模式図である。
【図５Ａ】一実施例に係るビデオエンコーディング方法のフローチャートである。
【図５Ｂ】一実施例に係るエンコーディングデータの模式図である。
【図６】一実施例に係る被エンコーディングフレームに対応する解像度情報に応じて、被エンコーディングフレームをエンコーディングして、入力ビデオフレームに対応するエンコーディングデータを取得するフローチャートである。
【図７Ａ】一実施例に係る被エンコーディングフレームに対応する解像度情報及び現在の参照フレームに応じて被エンコーディングフレームをエンコーディングし、入力ビデオフレームに対応するエンコーディングデータを取得するフローチャートである。
【図７Ｂ】一実施例に係る現在の参照フレームを補間する模式図である。
【図７Ｃ】一実施例に係る現在の参照フレームを補間する模式図である。
【図８Ａ】一実施例に係る被エンコーディングフレームに対応する解像度情報及び現在の参照フレームに応じて被エンコーディングフレームをエンコーディングし、入力ビデオフレームに対応するエンコーディングデータを取得するフローチャートである。
【図８Ｂ】一実施例に係る現在の参照フレーム及び被エンコーディングフレームの模式図である。
【図９】一実施例に係る被エンコーディングフレームに対応する解像度情報及び現在の参照フレームに応じて、被エンコーディングフレームをエンコーディングし、入力ビデオフレームに対応するエンコーディングデータを取得するフローチャートである。
【図１０】一実施例に係るビデオエンコーディング方法のフローチャートである。
【図１１】一実施例に係るビデオエンコーディングフレームワークの模式図である。
【図１２】一実施例に係るビデオデコーディング方法のフローチャートである。
【図１３】一実施例に係る被デコーディングビデオフレームに対応する解像度情報に応じてエンコーディングデータをデコーディングし、被デコーディングビデオフレームに対応する再構成ビデオフレームを取得するフローチャートである。
【図１４】一実施例に係る被デコーディングビデオフレームに対応する解像度情報及び現在の参照フレームに応じてエンコーディングデータをデコーディングし、被デコーディングビデオフレームに対応する再構成ビデオフレームを取得するフローチャートである。
【図１５】一実施例におけるビデオエンコーディング装置の構造ブロック図である。
【図１６】一実施例におけるビデオデコーディング装置の構造ブロック図である。
【図１７】一実施例におけるコンピュータ機器の内部構造ブロック図である。
【図１８】一実施例におけるコンピュータ機器の内部構造ブロック図である。
【発明を実施するための形態】
【００１７】
本願の目的、技術的解決手段及び利点をより明瞭にするために、以下、図面及び実施例を参照しながら本願を更に詳細に説明する。なお、ここで説明される具体的な実施例は単に本願を説明するためのものであり、本願を限定するものではない。
【００１８】
なお、本願に使用される用語「第１」、「第２」等は本明細書において各種の要素を説明することに用いられることができ、特に断らない限り、これらの要素はこれらの用語により制限されない。これらの用語は第１個の要素をほかの要素と区別するためのものに過ぎない。例えば、本願の範囲を逸脱しない場合、第１ベクトル変換係数を第２ベクトル変換係数と呼んでもよく、且つ、同様に、第２ベクトル変換係数を第１ベクトル変換係数と呼んでもよい。
【００１９】
図１は一実施例に係るビデオエンコーディング方法の応用環境図であり、図１に示すように、該応用環境では、端末１１０及びサーバ１２０を含む。
【００２０】
端末１１０又はサーバ１２０はエンコーダによってビデオエンコーディングを行い、又はデコーダによってビデオデコーディングを行うようにしてもよい。端末１１０又はサーバ１２０はプロセッサによってビデオエンコーディングプログラムを実行してビデオエンコーディングを行い、又はプロセッサによってビデオデコーディングプログラムを実行してビデオデコーディングを行うようにしてもよい。サーバ１２０は端末１１０から送信されるエンコーディングデータを入力インタフェースによって受信した後、直接プロセッサに伝送してデコーディングするようにしてもよく、データベースに記憶して後続のデコーディングを待つようにしてもよい。サーバ１２０は、プロセッサによって原ビデオフレームをエンコーディングしてエンコーディングデータを取得した後、直接出力インタフェースによって端末１１０に送信してもよく、エンコーディングデータをデータベースに記憶して後続の伝送を待つことができる。勿論、サーバ１２０は端末１１０から送信されたエンコーディングデータを取得した後、対応する受信端末に送信し、受信端末でデコーディングを行うようにしてもよい。
【００２１】
端末１１０とサーバ１２０はネットワークによって接続されてもよい。端末１１０はデスクトップ端末又はモバイル端末であってもよく、モバイル端末は携帯電話、タブレットＰＣ及びノートパソコン等のうちの少なくとも１種を含んでもよいが、これらに限定されない。サーバ１２０は独立したサーバ、又は複数のサーバからなるサーバクラスターによって実現されてもよい。
【００２２】
図２は一実施例に係るビデオエンコーディング方法に対応するエンコーディングフレームワーク図であり、本願の実施例に係るビデオエンコーディング方法は、入力ビデオシーケンスの各入力ビデオフレームを取得してエンコーディングし、対応するエンコーディングデータを取得することができる。記憶送信ユニット２２２によってエンコーディングデータを記憶又は送信し、又はエンコーディングデータを記憶し且つ送信する。ここで、処理方式特定ユニット２０２では、入力ビデオフレームに対して処理方式決定を行い、入力ビデオフレームに対応するターゲット処理方式を取得するようにしてもよい。第１処理ユニット２０４では、ターゲット処理方式に応じて入力ビデオフレームを処理し、被エンコーディングフレームを取得するようにしてもよい。第１予測ユニット２０６では、被エンコーディングフレームに対応する解像度情報に応じて、被エンコーディングフレームの各エンコーディングブロックをフレーム内予測又はフレーム間予測し、且つエンコーディングブロックに対応する参照ブロックの画像値に応じて予測値及び対応する動きベクトルを取得し、エンコーディングブロックの実際値と予測値を減算して予測残差を取得することができ、動きベクトルは参照ブロックに対するエンコーディングブロックの変位を示す。変換ユニット２０８では、空間領域中の予測残差及びベクトル情報を周波数領域に変換し、且つ変換係数をエンコーディングしてもよい。変換方法は離散フーリエ変換又は離散コサイン変換等であってもよく、ベクトル情報は変位を示す実際動きベクトル又は動きベクトル差分であってもよく、動きベクトル差分は実際動きベクトルと予測動きベクトルとの差分である。
【００２３】
量子化ユニット２１０では、変換後のデータを別の数値にマッピングし、例えば、変換後のデータを量子化ステップで除算して１つの比較的小さない値を取得するようにしてもよい。量子化パラメータは量子化ステップに対応する番号であり、量子化パラメータに応じて、対応する量子化ステップを検索できる。量子化パラメータが小さいと、画像フレームの大部分の細部がすべて保留され、対応するビットレートが高い。量子化パラメータが大きいと、対応するビットレートが低いが、画像歪みが比較的大きく、品質が高くない。量子化の原理は式で以下のように示され、ＦＱ＝ｒｏｕｎｄ（ｙ／Ｑｓｔｅｐ）である。ここで、ｙは量子化前のビデオフレームに対応する値であり、Ｑｓｔｅｐは量子化ステップであり、ＦＱはｙを量子化して取得された量子化値である。ｒｏｕｎｄ（ｘ）関数とは、値を四捨五入して丸めることであり、すなわち四捨五入による丸めである。量子化パラメータと量子化ステップとの対応関係は具体的には、必要に応じて設定されてもよい。例えば、いくつかのビデオエンコーディング標準では、輝度エンコーディングの場合、量子化ステップは計５２個の値を有し、０〜５１の整数であり、彩度エンコーディングの場合、量子化ステップの値は０〜３９の整数であり、且つ量子化ステップは量子化パラメータの増加に伴って増加し、量子化パラメータが６増加するごとに、量子化ステップは１倍増加する。
【００２４】
エントロピーエンコーディングユニット２２０はエントロピーエンコーディングを行うことに用いられ、エントロピーエンコーディングはエントロピー原理に応じてエンコーディングし、且つ何の情報損失もしないデータエンコーディング方式であり、比較的小さい文字で所定の情報を表現することができる。エントロピーエンコーディング方法は、例えばシャノンエンコーディング（ｓｈａｎｎｏｎ）又はハフマンエンコーディング（ｈｕｆｆｍａｎ）等であってもよい。
【００２５】
第１逆量子化ユニット２１２、第１逆変換ユニット２１４、第１再構成ユニット２１６及び第１参照情報適応ユニット２１８は再構成ルートに対応するユニットであり、再構成ルートの各ユニットを利用してフレームの再構成を行い、参照フレームを取得することで、エンコーディング及びデコーディング中の参照フレームの一致を維持することができる。ここで、第１逆量子化ユニット２１２によって行われるステップは量子化の逆過程を行うことであり、第１逆変換ユニット２１４によって行われるステップは変換ユニット２０８によって行われる変換の逆過程であり、第１再構成ユニット２１６は逆変換により取得された残差データと予測データを合わせて再構成参照フレームを取得することに用いられる。第１参照情報適応ユニット２１８は被エンコーディングフレームに対応する解像度情報に応じて、再構成して得た現在の参照フレーム、被エンコーディングフレームの各エンコーディングブロックに対応する位置情報、現在の参照フレームの各参照ブロックに対応する位置情報及び動きベクトル等の参照情報のうちの少なくとも１つを適応処理して、第１予測ユニット２０６に、適応処理後の参照情報に応じて予測させることに用いられる。
【００２６】
図３は一実施例に係るビデオデコーディング方法に対応するデコーディングフレームワーク図であり、本願の実施例に係るビデオデコーディング方法は、エンコーディングデータ取得ユニット３００によって被デコーディングビデオシーケンスの各被デコーディングビデオフレームに対応するエンコーディングデータを取得するようにしてもよい。エントロピーデコーディングユニット３０２によってエントロピーデコーディングを行った後、エントロピーデコーディングデータを取得する。第２逆量子化ユニット３０４はエントロピーデコーディングデータを逆量子化し、逆量子化データを取得する。第２逆変換ユニット３０６は逆量子化データを逆変換し、逆変換したデータを取得し、該逆変換したデータは図２中の第１逆変換ユニット２１４によって逆変換されて取得したデータに一致してもよい。解像度情報取得ユニット３０８は被デコーディングビデオフレームに対応する解像度情報を取得することに用いられる。第２参照情報適応ユニット３１２は第２再構成ユニットによって再構成された現在の参照フレームを取得し、被デコーディングビデオフレームの解像度情報に応じて、現在の参照フレーム、被デコーディングビデオフレームの各被デコーディングブロックに対応する位置情報、現在の参照フレームの各参照ブロックに対応する位置情報及び動きベクトル等の参照情報のうちの少なくとも１つを適応処理し、適応処理後の情報に応じて予測を行うことに用いられる。第２予測ユニット３１４は適応後に取得された参照情報に応じて、被デコーディングブロックに対応する参照ブロックを取得し、参照ブロックの画像値に応じて、図２中の予測値に一致する予測値を取得する。第２再構成ユニット３１０は、予測値、及び逆変換されたデータ、すなわち予測残差に応じて再構成を行い、再構成ビデオフレームを取得する。第２処理ユニット３１６は被デコーディングビデオフレームに対応する解像度情報に応じて、再構成ビデオフレームを処理し、対応するデコーディングビデオフレームを取得する。再生記憶ユニット３１８はデコーディングビデオフレームに対して再生又は記憶を行い、又は再生及び記憶を行うようにしてもよい。
【００２７】
なお、上記エンコーディングフレームワーク図、デコーディングフレームワーク図は単に一例であり、本願の解決手段に適用されるエンコーディング、デコーディング方法を限定するものではなく、エンコーディングフレームワーク図及びデコーディングフレームワーク図は図示よりも多い又は少ないユニットを含み、又はいくつかのユニットを組み合わせ、又は異なる部材ユニットを有するようにしてもよい。例えば、さらに再構成ビデオフレームに対してループフィルタリングを行うことで、ビデオフレームのブロッキング効果を低減させ、それによりビデオ品質を向上させるようにしてもよい。
【００２８】
本願の実施例では、エンコーディングを実行する一方側をエンコーディング側と呼び、デコーディングを実行する他方側をデコーディング側と呼ぶ。エンコーディング側とデコーディング側は同一側又は異なる側であってもよく、上記コンピュータ機器、例えば端末又はサーバは、エンコーディング側であってもよく、デコーディング側であってもよい。
【００２９】
被エンコーディングフレームを複数のエンコーディングブロックに分割してもよく、エンコーディングブロックのサイズは必要に応じて設定され又は計算により取得されるようにしてもよい。例えば、エンコーディングブロックのサイズはいずれも８＊８ピクセルであってもよい。又は、各種のエンコーディングブロックの分割方式に対応するレート歪みコストを計算することによって、レート歪みコストが小さい分割方式を選択してエンコーディングブロックの分割を行うようにしてもよい。図４に示すように、１つの６４＊６４ピクセルの画像ブロックの分割模式図であり、１つのブロックは１つのエンコーディングブロックを示す。図４から明らかなように、エンコーディングブロックのサイズは３２＊３２ピクセル、１６＊１６ピクセル、８＊８ピクセル及び４＊４ピクセルを含みうる。勿論、エンコーディングブロックのサイズはほかのサイズであってもよく、例えば、３２＊１６ピクセル又は６４＊６４ピクセルであってもよい。なお、デコーディング時、エンコーディングブロックが被デコーディングブロックに一対一で対応するため、被デコーディングブロックのピクセルサイズは３２＊３２ピクセル、１６＊１６ピクセル、８＊８ピクセル及び４＊４ピクセル等を含みうる。
【００３０】
図５Ａに示すように、一実施例では、ビデオエンコーディング方法を提案し、本実施例は主に、該方法を上記図１中の端末１１０又はサーバ１２０に適用することを例に説明する。以下のステップＳ５０２〜Ｓ５０８を含む。
【００３１】
ステップＳ５０２では、入力ビデオフレームを取得する。
【００３２】
例示的には、ビデオフレームはビデオを構成する単位であり、１つのビデオシーケンスは複数の入力ビデオフレームを含みうる。入力ビデオフレームは、コンピュータ機器によってリアルタイムに収集されたビデオフレーム、例えば端末のカメラによってリアルタイムに取得されたビデオフレームであってもよく、記憶されたビデオシーケンスに対応するビデオフレームであってもよい。入力ビデオフレームは、エンコーディングアルゴリズムに応じて、対応するエンコーディングフレーム予測タイプを決定でき、エンコーディングフレーム予測タイプはＩフレーム、Ｐフレーム又はＢフレームを含みうる。ここで、Ｉフレームはフレーム内予測フレームであり、Ｐフレームは前方予測フレームであり、Ｂフレームは双方向予測フレームであり、ＰフレームとＢフレームの各エンコーディングブロックはフレーム内予測方式を採用してエンコーディングしてもよく、フレーム間予測方式を採用してエンコーディングしてもよい。
【００３３】
ステップＳ５０４では、候補処理方式の中から入力ビデオフレームに対応するターゲット処理方式を決定し、候補処理方式はフル解像度処理方式及びダウンサンプリング処理方式を含む。
【００３４】
例示的には、入力ビデオフレームに対応するターゲット処理方式はコンピュータ機器によって候補処理方式の中から選択されるものであり、候補処理方式はフル解像度処理方式及びダウンサンプリング処理方式を含みうる。入力ビデオフレームに対応するターゲット処理方式を取得する方法は実際の必要に応じて設定されてもよい。例えば、入力ビデオフレームに対応する処理パラメータを取得し、処理パラメータに応じて、対応するターゲット処理方式を取得するようにしてもよい。処理パラメータは処理方式を決定するためのパラメータであり、採用される処理パラメータは必要に応じて設定されてもよい。例えば、処理パラメータは入力ビデオフレームに対応する現在のエンコーディング情報及び画像特徴情報のうちの１つ又は複数の情報を含みうる。一実施例では、入力ビデオフレームに対応するターゲット処理方式がダウンサンプリング処理方式を含む場合、コンピュータ機器はさらにダウンサンプリング比及びダウンサンプリング方法を取得してもよい。ここで、サンプリング比はサンプリング後の解像度をサンプリング前の解像度で除算して取得された比である。ダウンサンプリング方法は、直接平均化、フィルター、バイキュービック補間（ｂｉｃｕｂｉｃ  ｉｎｔｅｒｐｏｌａｔｉｏｎ）又はバイリニア補間（ｂｉｌｉｎｅａｒ  ｉｎｔｅｒｐｏｌａｔｉｏｎ）等を採用してもよい。ダウンサンプリング比は、予め設定されたダウンサンプリング比であってもよく、柔軟に調整されたダウンサンプリング比であってもよい。例えば、ダウンサンプリング比をいずれも１／２に設定してもよい。入力ビデオシーケンスの第１個の入力ビデオフレームのダウンサンプリング比が１／２、第２個の入力ビデオフレームのダウンサンプリング比が１／４であってもよい。ビデオグループにおける入力ビデオフレームのエンコーディング位置に応じてダウンサンプリング比を取得してもよく、ここで、エンコーディング位置が後にあるほど、ダウンサンプリング比が小さい。ダウンサンプリング方向は垂直ダウンサンプリング、水平ダウンサンプリング、及び垂直・水平ダウンサンプリング組合せのうちの１種であってもよい。例えば、サンプリング前のビデオフレームの解像度が８００＊８００ピクセルである場合、ダウンサンプリング比が１／２で且つ水平ダウンサンプリングを行うと、サンプリング後のビデオフレームの解像度が４００＊８００ピクセルである。ダウンサンプリング比が１／２で且つ垂直ダウンサンプリングを行うと、サンプリング後のビデオフレームの解像度が８００＊４００ピクセルである。
【００３５】
一実施例では、ダウンサンプリング比はビデオエンコーディング方法を実行する機器、例えば端末又はサーバのプロセッサ処理能力に応じて取得されてもよい。プロセッサ処理能力の強い機器に対応するダウンサンプリング比は大きく、プロセッサ処理能力の弱い機器に対応するダウンサンプリング比は小さい。プロセッサ処理能力とダウンサンプリング比との対応関係を設定してもよく、エンコーディングを行う必要がある時、プロセッサ処理能力を取得し、プロセッサ処理能力に応じて、対応するダウンサンプリング比を取得する。例えば、１６ビットプロセッサに対応するダウンサンプリング比を１／８、３２ビットプロセッサに対応するダウンサンプリング比を１／４に設定してもよい。
【００３６】
一実施例では、ダウンサンプリング比は、入力ビデオフレームを参照フレームとする頻度又は回数に応じて取得されてもよく、ダウンサンプリング比と入力ビデオフレームを参照フレームとする頻度又は回数との対応関係を設定してもよい。ここで、入力ビデオフレームを参照フレームとする頻度が高い又は回数が多いと、ダウンサンプリング比が大きい。入力ビデオフレームを参照フレームとする頻度が低く又は回数が少ないと、ダウンサンプリング比が小さい。例えば、Ｉフレームの場合、参照フレームとする頻度が高いと、対応するダウンサンプリング比が大きく、１／２であってもよい。Ｐフレームの場合、参照フレームとする頻度が低いと、対応するダウンサンプリング比が小さく、例えば、１／４であってもよい。入力ビデオフレームを参照フレームとする頻度又は回数に応じて、ダウンサンプリング比を取得し、入力ビデオフレームを参照フレームとする頻度が高い又は回数が多いと、画像品質が比較的良く、従って予測の正確性を向上させ、予測残差を減少させ、エンコーディング画像の品質を向上させることができる。
【００３７】
一実施例では、ダウンサンプリングの方法はビデオエンコーディング方法を実行する機器、例えば端末又はサーバのプロセッサ処理能力に応じて取得されてもよい。プロセッサ処理能力の強い機器に対応するダウンサンプリング方法の複雑度は高く、プロセッサ処理能力の弱い機器に対応するダウンサンプリング方法の複雑度は低い。プロセッサ処理能力とダウンサンプリング方法との対応関係を設定してもよく、エンコーディングを行う必要がある時、プロセッサ処理能力を取得し、プロセッサ処理能力に応じて、対応するダウンサンプリング方法を取得する。例えば、バイキュービック補間（ｂｉｃｕｂｉｃ  ｉｎｔｅｒｐｏｌａｔｉｏｎ）がバイリニア補間（ｂｉｌｉｎｅａｒ  ｉｎｔｅｒｐｏｌａｔｉｏｎ）の複雑度よりも高く、従って、１６ビットプロセッサに対応するダウンサンプリング方法をバイリニア補間、３２ビットプロセッサに対応するダウンサンプリング方法をバイキュービック補間に設定してもよい。
【００３８】
本願の実施例では、入力ビデオフレームに対してダウンサンプリング処理方式を採用して処理を行う時、さらに異なるダウンサンプリング方法又はダウンサンプリング比に応じてダウンサンプリングを行うようにしてもよく、入力ビデオフレームを処理する方式がさらに柔軟である。
【００３９】
一実施例では、コンピュータ機器は入力ビデオフレームに対応する現在のエンコーディング情報及び画像特徴情報のうちの１種又は複数種情報に応じて、入力ビデオフレームに対応するターゲット処理方式を取得する。現在のエンコーディング情報とは、ビデオのエンコーディング時に取得されたビデオ圧縮パラメータ情報、例えばフレーム予測タイプ、動きベクトル、量子化パラメータ、ビデオ源、ビットレート、フレームレート及び解像度のうちの１種又は複数種を指す。画像特徴情報とは、画像コンテンツに関連する情報を指し、画像動き情報及び画像テクスチャ情報のうちの１種又は複数種、例えば、エッジ等を含む。現在のエンコーディング情報及び画像特徴情報はビデオフレームに対応するシーン、細部複雑度又は動き強度等を反映する。例えば、動きベクトル、量子化パラメータ又はビットレートのうちの１つ又は複数によって動きシーンを判断してもよく、量子化パラメータが大きいと、通常、動きが激しく、動きベクトルが大きいと、画像シーンが大動きシーンであることを示す。さらに、エンコーディングされたＩフレーム及びＰフレーム又はエンコーディングされたＩフレーム及びＢフレームのビットレート比に応じて判断してもよく、比が第１参照閾値を超えると、静止画像と判断し、比が第２参照閾値未満であると、動きの激しい画像と判断する。又は、直接画像コンテンツに応じてターゲットオブジェクトを追跡し、ターゲットオブジェクトの動き速度に応じて大動きシーンであるか否かを決定する。ビットレートが一定である場合、表現できる情報量が一定であり、動きの激しいシーンの場合、時間領域情報量が大きく、その分、空間領域情報の表現に使用できるビットレートが少なく、従って、低解像度で比較的良い画像品質効果を達成でき、さらにダウンサンプリングモードを選択してエンコーディングすることが好ましい。フレーム予測タイプによって画面切り替えシーンを決定してもよく、ほかのフレームに対するフレーム予測タイプの影響に応じて、好ましい処理方式を決定してもよい。例えば、Ｉフレームは通常、最初のフレームであり又は画面切り替えがあり、Ｉフレームの品質は後続のＰフレーム又はＢフレームの品質を左右するため、フレーム内予測フレームはフレーム間予測フレームよりも、フル解像度処理方式を選択することが好ましく、それによって画像品質を確保する。ＰフレームはＢフレームの参照フレームとすることが可能であり、Ｐフレームの画像品質は後続のＢフレームの画像品質を左右するため、Ｐフレームを採用してエンコーディングする場合は、Ｂフレームを採用してエンコーディングする場合よりも、フル解像度処理方式を選択することが好ましい。画像特徴情報、例えば、画像テクスチャ情報によって、被エンコーディングビデオフレームのテクスチャ複雑度を決定し、テクスチャが複雑で、含まれる細部が多い場合、画像の空間領域情報が多く、ダウンサンプリングを行うと、ダウンサンプリングによって比較的多い細部情報の損失を引き起こし、ビデオ品質を損なってしまい、従って、テクスチャの複雑な被エンコーディングビデオフレームは、テクスチャのシンプルな被エンコーディングビデオフレームよりも、フル解像度処理を選択することが好ましい。
【００４０】
一実施例では、コンピュータ機器は入力ビデオフレームに対応する現在の量子化パラメータと量子化パラメータ閾値の大小関係に応じて、入力ビデオフレームに対応するターゲット処理方式を取得するようにしてもよい。現在の量子化パラメータが量子化パラメータ閾値よりも大きいと、処理方式をダウンサンプリング方式と決定し、そうでない場合、処理方式をフル解像度処理方式と決定する。量子化パラメータ閾値は入力ビデオフレームの前の、エンコーディングされた前方エンコーディングビデオフレームのフレーム内エンコーディングブロックの比に応じて取得されてもよい。例示的には、フレーム内予測ブロック比と量子化パラメータ閾値の対応関係を設定してもよく、それにより、現在フレームのフレーム内予測ブロック比を決定した後、対応関係に応じて、現在フレームのフレーム内予測ブロック比に対応する量子化パラメータ閾値を決定することができる。固定量子化パラメータエンコーディングの場合、現在の量子化パラメータは対応する固定量子化パラメータ値であってもよい。固定ビットレートエンコーディングの場合、ビットレート制御モデルに応じて、入力ビデオフレームに対応する現在の量子化パラメータを算出してもよい。又は、参照フレームに対応する量子化パラメータを入力ビデオフレームに対応する現在の量子化パラメータとしてもよい。本願の実施例では、現在の量子化パラメータが大きいほど、通常、動きが激しく、動きの激しいシーンはダウンサンプリング処理方式を選択することが好ましい。
【００４１】
一実施例では、フレーム内予測ブロック比と量子化パラメータ閾値の関係は正相関関係である。例えば、経験に応じて、フレーム内予測ブロック比Ｉｎｔｒａ０と量子化パラメータ閾値ＱＰＴＨの対応関係を以下のように決定することができる。
【００４２】
【数１】
2021516928.tif 000003
【００４３】
一実施例では、候補処理方式はさらにアップサンプリング処理方式を含んでもよく、候補処理方式がアップサンプリング処理方式を含む場合、ターゲット処理方式がアップサンプリング処理方式であると、入力ビデオフレームをアップサンプリングする。例えば、解像度が所定解像度よりも低いいくつかの入力ビデオフレームの場合、入力ビデオフレームをアップサンプリング処理してもよく、それによりビデオフレームの再生品質を向上させる。
【００４４】
一実施例では、アップサンプリング処理の方法及びアップサンプリング比は必要に応じて設定されてもよく、アップサンプリングの方法及び比を柔軟に調整してもよい。例えば、プロセッサ処理能力の強いコンピュータ機器に対応するアップサンプリング方法の複雑度は高い。固定のアップサンプリング方法を設定して入力ビデオフレームをアップサンプリングするようにしてもよい。アップサンプリング比について、固定のアップサンプリング比を設定してもよく、再生品質に応じてアップサンプリング比を決定してもよく、通常、再生品質要件が高いと、アップサンプリング比が大きい。
【００４５】
ステップＳ５０６では、ターゲット処理方式に応じて入力ビデオフレームを処理し、被エンコーディングフレームを取得する。
【００４６】
例示的には、被エンコーディングフレームはコンピュータ機器がターゲット処理方式に応じて入力ビデオフレームを処理することで取得される。ターゲット処理方式がフル解像度処理方式である場合、コンピュータ機器は入力ビデオフレームを被エンコーディングフレームとし、すなわち、入力ビデオフレームの解像度が被エンコーディングフレームの解像度と同じである。処理方式がダウンサンプリング処理方式である場合、コンピュータ機器は入力ビデオフレームをダウンサンプリング処理して被エンコーディングフレームを取得し、すなわち、入力ビデオフレームの解像度が被エンコーディングフレームの解像度よりも小さい。例えば、入力ビデオフレームの解像度が８００＊８００ピクセルであり、処理方式が水平及び垂直方向にともに１／２ダウンサンプリングを行うことである場合、ダウンサンプリングによって取得された被エンコーディングフレームの解像度が４００＊４００ピクセルである。
【００４７】
ステップＳ５０８では、被エンコーディングフレームに対応する解像度情報に応じて、被エンコーディングフレームをエンコーディングして、入力ビデオフレームに対応するエンコーディングデータを取得する。
【００４８】
例示的には、解像度情報とは、解像度に関連する情報を指し、例えば、サンプリング比及び解像度のうちの１種又は複数種を含みうる。エンコーディングは予測、変換、量子化及びエントロピーエンコーディングのうちの１つ又は複数を含みうる。被エンコーディングフレームがＩフレームである場合、コンピュータ機器は被エンコーディングフレームに対応する解像度情報に応じて、被エンコーディングフレームに対してフレーム内予測を行う。被エンコーディングフレームがＰフレーム及びＢフレームである場合、コンピュータ機器は被エンコーディングフレームに対応する現在の参照フレームを取得し、現在の参照フレームに応じて予測して予測残差を取得し、且つ予測残差に対して変換、量子化及びエントロピーエンコーディングを行い、入力ビデオフレームに対応するエンコーディングデータを取得するようにしてもよい。ここで、エンコーディングデータを取得する過程では、コンピュータ機器は被エンコーディングフレームの解像度情報に応じて現在の参照フレーム、被エンコーディングフレームの各エンコーディングブロックに対応する位置情報、現在の参照フレームの各参照ブロックに対応する位置情報及び動きベクトルのうちの１つ又は複数を処理する。例えば、予測残差を計算する時、被エンコーディングフレームの解像度情報に応じて現在の参照フレームを処理し、ターゲット参照フレームを取得し、ターゲット参照フレームから被エンコーディングフレーム中の各エンコーディングブロックに対応するターゲット参照ブロックを取得し、ターゲット参照ブロックに応じて予測を行い、エンコーディングブロックに対応する予測値を取得し、さらにエンコーディングブロックの実際値と予測値との差分に応じて予測残差を取得することができる。ターゲット動きベクトルを計算する時、現在の参照フレームの解像度が被エンコーディングフレームの解像度と異なると、現在の参照フレーム及び被エンコーディングフレームの解像度情報に応じてエンコーディングブロックの位置情報又はデコーディングブロックの位置情報を変換してもよく、それによって被エンコーディングフレームに対応する位置情報と現在の参照フレームの位置情報を同一量子化スケールに位置させる。その後、さらに変換後の位置情報に応じてターゲット動きベクトルを取得し、それによってターゲット動きベクトルの値を減少させ、エンコーディングデータのデータ量を減少させる。ターゲット動きベクトルに対応する解像度情報が被エンコーディングフレームの解像度情報と異なる場合、被エンコーディングフレームのエンコーディングブロックに対応する第１動きベクトルを算出する時、被エンコーディングフレームの解像度情報及びターゲット動きベクトル単位解像度情報に応じて第１動きベクトルを変換し、ターゲット解像度でのターゲット動きベクトルを取得する。例えば、被エンコーディングフレームの解像度が４００＊８００ピクセルであることを仮定すると、現在の参照フレームの解像度が８００＊１６００ピクセルである。被エンコーディングフレームの解像度に応じて現在の参照フレームに対して１／２ダウンサンプリングを行い、ターゲット参照フレームの解像度を４００＊８００ピクセルと取得し、さらにターゲット参照フレームに応じてビデオエンコーディングを行うようにしてもよい。
【００４９】
本願の実施例では、エンコーディングを行う時、入力ビデオフレームを取得し、候補処理方式の中から、入力ビデオフレームに対応するターゲット処理方式を決定し、候補処理方式はフル解像度処理方式及びダウンサンプリング処理方式を含み、ターゲット処理方式に応じて入力ビデオフレームを処理し、被エンコーディングフレームを取得する。被エンコーディングフレームに対応する解像度情報に応じて、被エンコーディングフレームをエンコーディングして、入力ビデオフレームに対応するエンコーディングデータを取得する。従って、ビデオフレームの処理方式を柔軟に選択し、入力ビデオフレームを処理し、入力ビデオフレームの解像度を適応的に調整することができ、帯域幅が制限されている条件では、ビデオエンコーディング品質を向上させ、且つ被エンコーディングフレームに対応する解像度情報に応じてエンコーディングすることで、正確なエンコーディングデータを取得することができる。
【００５０】
一実施例では、被エンコーディングフレームに対応する解像度情報に応じて、被エンコーディングフレームをエンコーディングして、入力ビデオフレームに対応するエンコーディングデータを取得した後、さらに、ターゲット処理方式に対応するターゲット処理方式情報を、入力ビデオフレームに対応するエンコーディングデータに追加するステップを含む。
【００５１】
例示的には、ターゲット処理方式情報は入力ビデオフレームに採用されるターゲット処理方式を記述することに用いられ、コンピュータ機器は、エンコーディングデータに処理方式を記述するフラグビットＦｒａｍｅ＿Ｒｅｓｏｌｕｔｉｏｎ＿Ｆｌａｇを追加し、すなわち、エンコーディングデータに処理方式情報を記述する文法要素を追加するようにしてもよい。各処理方式に対応するフラグビットの値は必要に応じて設定されてもよい。例えば、ターゲット処理方式がフル解像度処理方式である場合、対応するＦｒａｍｅ＿Ｒｅｓｏｌｕｔｉｏｎ＿Ｆｌａｇは０であってもよく、ターゲット処理方式がダウンサンプリング処理方式である場合、対応するＦｒａｍｅ＿Ｒｅｓｏｌｕｔｉｏｎ＿Ｆｌａｇは１であってもよい。一実施例では、ターゲット処理方式情報をエンコーディングデータに対応するフレームレベルヘッダ情報に追加し、例えば、フレームレベルヘッダ情報の参照位置に追加してもよい。フレームレベルヘッダ情報は、入力ビデオフレームのエンコーディングデータのヘッダ情報であり、シーケンスレベルヘッダ情報とはビデオシーケンスに対応するエンコーディングデータのヘッダ情報を指し、グループレベルヘッダ情報とはビデオグループ（ＧＯＰ、Ｇｒｏｕｐｓ  ｏｆ  Ｐｉｃｔｕｒｅ）に対応するエンコーディングデータのヘッダ情報を指す。１つのビデオフレームシーケンスは複数のビデオグループを含んでもよく、１つのビデオグループは複数のビデオフレームを含んでもよい。図５Ｂ中の破線で示されるブロックは各入力ビデオフレームに対応するエンコーディングデータのフレームレベルヘッダ情報を示し、ｆｒａｍｅはそれぞれ第１個、第２個及び第ｎ個のビデオフレームに対応するエンコーディングデータを示す。ここで、図５Ｂでは、第１個の入力ビデオフレーム及び第２個の入力ビデオフレームに対応するターゲット処理方式はフル解像度処理方式であり、第３個の入力ビデオフレームに対応するターゲット処理方式はダウンサンプリング処理方式である。
【００５２】
一実施例では、コンピュータ機器はさらに、入力ビデオフレームをダウンサンプリングするダウンサンプリング処理方式情報を、入力ビデオフレームに対応するエンコーディングデータに追加してもよく、それによって、デコーディング側はエンコーディングデータを取得すると、ダウンサンプリング処理方式情報に応じて、再構成ビデオフレームをアップサンプリングする対応する方法及びアップサンプリング比を取得することができる。ダウンサンプリング処理方式情報はダウンサンプリング方法情報及びダウンサンプリング比情報のうちの１種又は複数種の情報を含む。ダウンサンプリング方法情報のエンコーディングデータにおける追加位置は、対応するグループレベルヘッダ情報、シーケンスレベルヘッダ情報及びフレームレベルヘッダ情報のうちの１つであってもよく、ダウンサンプリング方法情報のエンコーディングデータにおける追加位置はダウンサンプリング方法に対応する作用範囲に応じて決定されてもよい。ダウンサンプリング比情報のエンコーディングデータにおける追加位置は、対応するグループレベルヘッダ情報、シーケンスレベルヘッダ情報及びフレームレベルヘッダ情報のうちのいずれかであってもよい。ダウンサンプリング比情報のエンコーディングデータにおける追加位置はダウンサンプリング比に対応する作用範囲に応じて決定されてもよく、作用範囲とは適用範囲を指す。例えば、ダウンサンプリング比の作用範囲が１つのビデオグループであると、該ビデオグループに対応するダウンサンプリング比情報を該ビデオグループに対応するヘッダ情報に追加してもよい。ダウンサンプリング比の作用範囲がビデオシーケンスであり、ダウンサンプリング比情報を該ビデオシーケンスに対応するシーケンスレベルヘッダ情報に追加すると、該ビデオシーケンスの各ビデオフレームがダウンサンプリング比情報に対応するダウンサンプリング比を採用してダウンサンプリング処理を行うことを示す。
【００５３】
一実施例では、候補処理方式の中から入力ビデオフレームに対応するターゲット処理方式を決定することは、入力ビデオフレームに対応する処理パラメータを取得し、処理パラメータに応じて、入力ビデオフレームに対応するターゲット処理方式を決定するステップを含み、ターゲット処理方式に対応するターゲット処理方式情報を、入力ビデオフレームに対応するエンコーディングデータに追加することは、処理パラメータがデコーディング中に再現できない場合、ターゲット処理方式に対応するターゲット処理方式情報を、入力ビデオフレームに対応するエンコーディングデータに追加するステップを含む。
【００５４】
例示的には、処理パラメータは入力ビデオフレームに対応する画像エンコーディング情報及び画像特徴情報のうちの１つ又は複数の情報を含みうる。処理パラメータがデコーディング中に再現できないとは、デコーディング中に該処理パラメータを取得できない又は生成しないことを指す。例えば、処理パラメータが入力ビデオフレームの画像コンテンツに対応する情報であるが、エンコーディング中に画像情報損失がある場合、デコーディング側のデコーディングビデオフレームと入力ビデオフレームに差分がある。従って、デコーディング中に、入力ビデオフレームの画像コンテンツに対応する情報を取得できず、すなわち、画像コンテンツに対応する情報がデコーディング中に再現できない。エンコーディング中、レート歪みコストを計算する必要があるが、デコーディング中にレート歪みコストを計算しない場合、処理パラメータがレート歪みコストを含むと、該処理パラメータがデコーディング中に再現できない。エンコーディング中に取得された再構成ビデオフレームと入力ビデオフレームのＰＳＮＲ（Ｐｅａｋ  Ｓｉｇｎａｌ  ｔｏ  Ｎｏｉｓｅ  Ｒａｔｉｏ、ピーク信号対雑音比）情報がデコーディング中に取得できないため、ＰＳＮＲ情報がデコーディング中に再現できない。
【００５５】
一実施例では、処理パラメータがデコーディング側に再現できる場合、例えば、入力ビデオフレームに対応するフレーム内エンコーディングブロックの数及びフレーム間エンコーディングブロックの数等の処理パラメータは、デコーディング側に取得でき、すなわち再現できる。ターゲット処理方式に対応するターゲット処理方式情報を、入力ビデオフレームに対応するエンコーディングデータに追加してもよく、ターゲット処理方式に対応するターゲット処理方式情報を、入力ビデオフレームに対応するエンコーディングデータに追加しなくてもよい。ここで、ターゲット処理方式に対応するターゲット処理方式情報を、入力ビデオフレームに対応するエンコーディングデータに追加する場合、デコーディング側はエンコーディングデータの中からターゲット処理方式情報を読み取ることができ、また処理パラメータに応じてターゲット処理方式を取得する必要がなくなる。ターゲット処理方式に対応するターゲット処理方式情報を、入力ビデオフレームに対応するエンコーディングデータに追加しない場合、デコーディング機器は処理パラメータに応じて、エンコーディング側に一致する処理方式を決定し、それによりエンコーディングデータのデータ量を減少させることができる。
【００５６】
一実施例では、図６に示すように、被エンコーディングフレームに対応する解像度情報に応じて、被エンコーディングフレームをエンコーディングして、入力ビデオフレームに対応するエンコーディングデータを取得するステップＳ５０８は、以下のステップＳ６０２〜ステップＳ６０４を含む
ステップＳ６０２では、被エンコーディングフレームに対応する現在の参照フレームを取得する。
【００５７】
例示的には、現在の参照フレームは、被エンコーディングフレームのエンコーディング時に参照すべきビデオフレームであり、現在の参照フレームは、エンコーディングフレームの前の、エンコーディングされて得たデータを再構成することによって取得されたビデオフレームである。被エンコーディングフレームに対応する現在の参照フレームの数は１つ又は複数であってもよい。例えば、被エンコーディングフレームがＰフレームであると、対応する参照フレームは１個であってもよい。被エンコーディングフレームがＢフレームであると、対応する参照フレームは２個であってもよい。被エンコーディングフレームに対応する参照フレームは参照関係に応じて取得されてもよく、参照関係は各ビデオコーデック標準に応じて決定される。例えば、１つのビデオ画像グループ（ＧＯＰ、Ｇｒｏｕｐ  ＯｆＰｉｃｔｕｒｅ）中の第２個のビデオフレームがＢフレームである場合、対応する参照フレームは該ビデオグループのＩフレーム、及びビデオグループの第４フレームを対応的にエンコーディングした後、デコーディング再構成して取得されたビデオフレームであってもよい。
【００５８】
一実施例では、被エンコーディングフレームに対応する現在の参照フレームを取得することは、第１参照ルールを取得し、第１参照ルールは被エンコーディングフレームと現在の参照フレームの解像度の大小関係を含むステップと、第１参照ルールに応じて、被エンコーディングフレームに対応する現在の参照フレームを取得するステップと、を含む。
【００５９】
例示的には、第１参照ルールは被エンコーディングフレームと現在の参照フレームの解像度の大小関係を決定しており、解像度の大小関係は被エンコーディングフレームと現在の参照フレームの解像度が同じである又は異なることを含む。第１参照ルールは被エンコーディングフレームと現在の参照フレームの解像度が同じである場合、第１参照ルールはさらに被エンコーディングフレームと現在の参照フレームの解像度の処理方式参照ルールを含んでもよい。例えば、処理方式参照ルールは、フル解像度処理方式の被エンコーディングフレームがフル解像度処理方式の参照フレームを参照できること、及びダウンサンプリング処理方式の被エンコーディングフレームがダウンサンプリング処理方式の参照フレームを参照することのうちの１種又は２種を含んでもよい。第１参照ルールは被エンコーディングフレームと参照フレームの解像度が異なることを含む場合、第１参照ルールはさらに被エンコーディングフレームの解像度が参照フレームの解像度よりも大きいこと、又は被エンコーディングフレームの解像度が参照フレームの解像度よりも小さいことを含んでもよい。従って、一実施例では、第１参照ルールは、原解像度の被エンコーディングフレームがダウンサンプリング解像度の参照フレームを参照できること、ダウンサンプリング解像度の被エンコーディングフレームが原解像度の参照フレームを参照できること、原解像度の被エンコーディングフレームが原解像度の参照フレームを参照できること、及びダウンサンプリング解像度の被エンコーディングフレームがダウンサンプリング解像度の参照フレームを参照できることのうちの１種又は複数種を含んでもよい。ここで、原解像度の被エンコーディングフレームとは、該被エンコーディングフレームの解像度がそれに対応する入力ビデオフレームの解像度と同じであることを指し、原解像度の参照フレームとは、該参照フレームの解像度がそれに対応する入力ビデオフレームの解像度と同じであることを指す。ダウンサンプリング解像度の被エンコーディングフレームとは、該被エンコーディングフレームが対応する入力ビデオフレームをダウンサンプリング処理することによって取得される。ダウンサンプリング解像度の参照フレームとは、該参照フレームが対応する入力ビデオフレームをダウンサンプリング処理することによって取得される。第１参照ルールを取得した後、第１参照ルールに応じて、被エンコーディングフレームに対応する現在の参照フレームを取得し、取得された現在の参照フレームが第１参照ルールを満たすようにする。
【００６０】
一実施例では、被エンコーディングフレームに対応する解像度情報に応じて、被エンコーディングフレームをエンコーディングして、入力ビデオフレームに対応するエンコーディングデータを取得するステップＳ５０８の後、さらに、第１参照ルールに対応するルール情報を、入力ビデオフレームに対応するエンコーディングデータに追加するステップを含む。
【００６１】
例示的には、ルール情報は採用される参照ルールを記述することに用いられ、エンコーディングデータに、参照ルールを記述するフラグビットＲｅｓｏｌｕｔｉｏｎ＿Ｒｅｆｅｒｅｎｃｅｒ＿Ｒｕｌｅｓを追加してもよい。フラグビットの値で示される参照ルールは必要に応じて設定されてもよい。エンコーディングデータにおけるルール情報の追加位置はグループレベルヘッダ情報、シーケンスレベルヘッダ情報及びフレームレベルヘッダ情報のうちの１つ又は複数であってもよく、ルール情報のエンコーディングデータにおける追加位置は第１処理参照ルールの作用範囲に応じて決定されてもよい。例えば、第１参照ルールは原解像度の被エンコーディングフレームがダウンサンプリング解像度の参照フレームを参照できることである場合、対応するＲｅｓｏｌｕｔｉｏｎ＿Ｒｅｆｅｒｅｎｃｅｒ＿Ｒｕｌｅｓは１であってもよい。第１参照ルールはダウンサンプリング解像度の被エンコーディングフレームがダウンサンプリング解像度の参照フレームを参照できることである場合、対応するＲｅｓｏｌｕｔｉｏｎ＿Ｒｅｆｅｒｅｎｃｅｒ＿Ｒｕｌｅｓは２であってもよい。ビデオシーケンスが同じ第１参照ルールを採用する場合、ルール情報のエンコーディングデータにおける追加位置はシーケンスレベルヘッダ情報であってもよい。第１参照ルールがそのうちの１つのビデオグループに採用される参照ルールである場合、ルール情報のエンコーディングデータにおける追加位置は、第１参照ルールを採用したビデオグループに対応するグループレベルヘッダ情報である。
【００６２】
ステップＳ６０４では、被エンコーディングフレームに対応する解像度情報及び現在の参照フレームに応じて被エンコーディングフレームをエンコーディングし、入力ビデオフレームに対応するエンコーディングデータを取得する。
【００６３】
例示的には、コンピュータ機器は被エンコーディングフレームに対応する現在の参照フレームを取得し、現在の参照フレームに応じて予測を行い、予測残差を取得し、且つ予測残差に対して変換、量子化及びエントロピーエンコーディングを行い、入力ビデオフレームに対応するエンコーディングデータを取得するようにしてもよい。ここで、コンピュータ機器はエンコーディングデータを取得する過程では、被エンコーディングフレームの解像度に応じて、現在の参照フレーム、被エンコーディングフレームの各エンコーディングブロックに対応する位置情報、現在の参照フレームの各参照ブロックに対応する位置情報及び動きベクトルのうちの１つ又は複数を処理する。例えば、コンピュータ機器は現在の参照フレームを取得した後、現在の参照フレームの中から、被エンコーディングフレームのエンコーディングブロックに対応する参照ブロックを取得し、参照ブロックに応じてエンコーディングブロックをエンコーディングするようにしてもよい。被エンコーディングフレームの解像度に応じて現在の参照フレームを処理し、対応するターゲット参照フレームを取得し、ターゲット参照フレームの中から、被エンコーディングフレームのエンコーディングブロックに対応するターゲット参照ブロックを取得し、ターゲット参照ブロックに応じてエンコーディングブロックをエンコーディングし、入力ビデオフレームに対応するエンコーディングデータを取得するようにしてもよい。
【００６４】
一実施例では、被エンコーディングフレームに対応する解像度情報に応じて、被エンコーディングフレームをエンコーディングして、入力ビデオフレームに対応するエンコーディングデータを取得した後、さらに、被エンコーディングフレームのエンコーディング時に対応するエンコーディング方式を取得するステップと、エンコーディング方式に対応するエンコーディング方式情報を、入力ビデオフレームに対応するエンコーディングデータに追加するステップと、を含む。
【００６５】
例示的には、エンコーディング方式はエンコーディングに関する処理方式である。例えば、エンコーディング時、参照フレームをデコーディング再構成した後のビデオフレームに採用されるアップサンプリング方式、参照ルールに対応するルール、及び参照フレームをサンプリング処理するサンプリング方式、並びに動きベクトルに対応する解像度のうちの１つ又は複数を含んでもよい。エンコーディング方式に対応するエンコーディング方式情報を、入力ビデオフレームに対応するエンコーディングデータに追加することで、デコーディング時、エンコーディング方式情報に応じて、被デコーディングビデオフレームに対応するエンコーディングデータをデコーディングすることができる。
【００６６】
一実施例では、コンピュータ機器は、エンコーディング方式に対応するエンコーディング方式情報を、エンコーディングデータに追加しないようにしてもよい。コーデック標準ではエンコーディング方式を設定し、デコーディング側では該エンコーディング方式に対応するデコーディング方式を設定する。又は、エンコーディング側及びデコーディング側は同一又は対応するアルゴリズムに応じて、マッチングするエンコーディング方式及びデコーディング方式を算出するようにしてもよい。例えば、コーデック標準ではエンコーディングを設定する場合、現在の参照フレームをアップサンプリングする方法はデコーディング時に現在の参照フレームをアップサンプリングする方法と同じである。
【００６７】
一実施例では、図７Ａに示すように、被エンコーディングフレームに対応する解像度情報及び現在の参照フレームに応じて被エンコーディングフレームをエンコーディングし、入力ビデオフレームに対応するエンコーディングデータを取得するステップＳ６０４は、以下のステップＳ７０２〜Ｓ７０４を含む。
【００６８】
ステップＳ７０２では、被エンコーディングフレームの解像度情報に応じて現在の参照フレームをサンプリング処理し、対応するターゲット参照フレームを取得する。
【００６９】
例示的には、ターゲット参照フレームは、現在の参照フレームをサンプリング処理した後に取得されたビデオフレームである。サンプリング処理は、被エンコーディングフレームの解像度情報によって現在の参照フレームをサンプリングし、取得されたターゲット参照フレームの解像度情報をマッチングさせる過程である。コンピュータ機器はサンプリング処理を行う時、まず、サンプリング方式を決定してもよく、サンプリング方式は直接サブピクセル補間方式及びンプリング後サブピクセル補間方式のうちの１種を含む。直接サブピクセル補間方式は、現在の参照フレームを直接サブピクセル補間処理し、サンプリング後サブピクセル補間方式は現在の参照フレームをサンプリング処理した後、さらにサブピクセル補間処理を行う。
【００７０】
サブピクセル補間は、現在の参照フレーム中の整数ピクセルの参照データ補間によってサブピクセルレベルの参照データを取得する過程である。例えば、図７Ｂ、７Ｃに示すように、一実施例における現在の参照フレームを補間する模式図である。図７Ｂに示すように、Ａ１、Ａ２、Ａ３、Ｂ１、Ｂ２、Ｂ３等のピクセル点は現在の参照フレーム中の２＊２整数ピクセル点であり、これらの整数ピクセル点の参照データに応じてサブピクセル点の参照データを算出する。例えば、Ａ１、Ａ２、Ａ３の３個の整数ピクセル点の参照データの平均値に応じてサブピクセル点ａ２３の参照データを算出し、Ａ２、Ｂ２、Ｃ２の３個の整数ピクセル点の参照データの平均値に応じてサブピクセル点ａ２１の参照データを算出し、さらにサブピクセル点ａ２３、ａ２１の参照データに応じてサブピクセル点ａ２２の参照データを算出し、現在の参照フレームに対する１／２ピクセル精度補間を実現するようにしてもよい。図７Ｃに示すように、Ａ１、Ａ２、Ａ３、Ｂ１、Ｂ２、Ｂ３等のピクセル点は現在の参照フレーム中の４＊４整数ピクセル点であり、これらの整数ピクセル点の参照データに応じて１５個のサブピクセル点の参照データを算出し、現在の参照フレームに対する１／４ピクセル精度補間を実現する。例えば、Ａ２、Ｂ２整数ピクセル点の参照データに応じてサブピクセル点ａ８の参照データを算出し、Ａ２、Ａ３整数ピクセル点の参照データに応じてサブピクセル点ａ２の参照データを算出し、同様にａ１〜ａ１５の計１５個のサブピクセル点の参照データを算出し、整数ピクセル点Ａ２に対する１／４ピクセル精度補間を実現する。被エンコーディングフレームをエンコーディングする過程では、現在の参照フレームにおいて動き検索技術を採用して、被エンコーディングフレーム中のエンコーディングブロックに対応する参照ブロックを見つける必要があり、エンコーディングブロックの参照ブロックに対する動き情報に応じて動きベクトルを算出し、動きベクトルをエンコーディングすることで、参照ブロックに対応する参照データの現在の参照フレームにおける位置をデコーディング側に通知する。したがって、現在の参照フレームをサブピクセル補間処理してターゲット参照フレームを取得することで、被エンコーディングフレームは解像度のより高いターゲット参照フレームに応じて動き推定を行うことができ、それにより動き推定の正確性を向上させ、エンコーディング品質向上させる。
【００７１】
一実施例では、エンコーディング側及びデコーディング側はそれぞれのコーデックルールでは、現在の参照フレームに応じて処理してターゲット参照フレームを取得する時に採用されるサンプリング方式を設定してもよく、採用されるサンプリング方式は一致すべきであり、エンコーディング、デコーディング時、設定に応じて、現在の参照フレームの処理に対応するサンプリング方式を決定する。
【００７２】
一実施例では、被エンコーディングフレームに対応する解像度情報に応じて、被エンコーディングフレームをエンコーディングして、入力ビデオフレームに対応するエンコーディングデータを取得した後、さらに、現在の参照フレームのサンプリング処理に対応するサンプリング方式情報を、入力ビデオフレームに対応するエンコーディングデータに追加するステップを含む。現在の参照フレームのサンプリング処理に対応するサンプリング方式情報のエンコーディングデータにおける追加位置は、対応するシーケンスレベルヘッダ情報、グループレベルヘッダ情報及びフレームレベルヘッダ情報のうちのいずれかであってもよく、サンプリング方式情報のエンコーディングデータにおける追加位置はサンプリング方式に対応する作用範囲に応じて決定されてもよい。コンピュータ機器はサンプリング方式情報を、入力ビデオフレームに対応するエンコーディングデータのフレームレベルヘッダ情報に追加してもよく、入力ビデオフレームのエンコーディング時、対応する現在の参照フレームがサンプリング方式情報に対応するサンプリング方式を採用してサブピクセル補間処理を行うことを示す。例えば、エンコーディングデータのフレームレベルヘッダ情報中の、サンプリング方式を決定するためのフラグビットＰｉｘｅｌ＿Ｓｏｕｒｓｅ＿Ｉｎｔｅｒｐｏｌａｔｉｏｎが０である場合、入力ビデオフレームに対応する現在の参照フレームが直接サブピクセル補間処理を採用することを示す。Ｐｉｘｅｌ＿Ｓｏｕｒｓｅ＿Ｉｎｔｅｒｐｏｌａｔｉｏｎが１である場合、入力ビデオフレームに対応する現在の参照フレームがサンプリング処理後のサブピクセル補間処理を採用することを示す。デコーディング側はエンコーディングデータ中のフラグビットで示されるサンプリング方式に応じて現在の参照フレームをサンプリング処理してターゲット参照フレームを取得することでき、それによりターゲット参照フレームに応じてエンコーディングデータをデコーディングして再構成ビデオフレームを取得することができる。
【００７３】
一実施例では、コンピュータ機器は被エンコーディングフレームの解像度と現在の参照フレームの解像度との間の比関係に応じて、現在の参照フレームのサンプリング比を決定してもよい。例えば、入力ビデオフレームの解像度がいずれも２Ｍ＊２Ｎであり、現在の入力ビデオフレームをフル解像度処理方式で処理し、すなわち直接現在の入力ビデオフレームを被エンコーディングフレームとする場合、被エンコーディングフレームの解像度が２Ｍ＊２Ｎである。参照フレームとして使用できる入力ビデオフレームをダウンサンプリング処理方式で処理し、ダウンサンプリング後の現在の被エンコーディング参照フレームの解像度をＭ＊２Ｎと取得する場合、再構成後に取得された対応する現在の参照フレームの解像度もＭ＊２Ｎである。従って、現在の参照フレームに対して、幅２、高さ１のサンプリング比でアップサンプリング処理を行い、被エンコーディングフレームの解像度と同じフレームを取得すると決定する。現在の入力ビデオフレームをダウンサンプリング処理方式で処理すると、ダウンサンプリング後に取得された被エンコーディングフレームの解像度がＭ＊Ｎである。参照フレームとして使用できる入力ビデオフレームをフル解像度処理方式で処理すると、再構成後に取得された現在の参照フレームの解像度が２Ｍ＊２Ｎであり、この場合、現在の参照フレームを幅、高さがいずれも１／２のサンプリング比でダウンサンプリング処理し、被エンコーディングフレームの解像度と同じフレームを取得すると決定する。
【００７４】
一実施例では、入力ビデオフレームの解像度が通常同じであるため、入力ビデオフレームに応じてダウンサンプリングして、被エンコーディングフレームに対応するダウンサンプリング比を取得し、及び参照フレームとして使用できる入力ビデオフレームをダウンサンプリングして、被エンコーディング参照フレームに対応するダウンサンプリング比を取得し、現在の参照フレームのサンプリング比を決定するようにしてもよい。例えば、入力ビデオフレームを１／２のサンプリング比でダウンサンプリング処理して被エンコーディングフレームを取得し、参照フレームとして使用できる入力ビデオフレームを１／４のサンプリング比でダウンサンプリング処理して被エンコーディング参照フレームを取得する場合、被エンコーディング参照フレームのエンコーディングデータに応じて再構成して取得された現在の参照フレームに対応するダウンサンプリング比も１／４である。それらのダウンサンプリング比間の倍数関係に応じて、現在の参照フレームを２のサンプリング比でアップサンプリング処理して、被エンコーディングフレームの解像度と同じフレームを取得すると決定するようにしてもよい。
【００７５】
一実施例では、現在の参照フレームをサンプリングするサンプリング方法は入力ビデオフレームをダウンサンプリングして被エンコーディングフレームを取得するサンプリングアルゴリズムにマッチングし、すなわち、現在の参照フレームをダウンサンプリングする必要がある場合、ダウンサンプリングアルゴリズムは被エンコーディングビデオフレームをダウンサンプリングして被エンコーディングフレームを取得するダウンサンプリングアルゴリズムと同じである。現在の参照フレームをアップサンプリングする必要がある場合、アップサンプリングアルゴリズムは入力ビデオフレームをダウンサンプリングして現在の被エンコーディングフレームを取得するダウンサンプリングアルゴリズムにマッチングするサンプリングアルゴリズムとは逆のサンプリングアルゴリズムである。
【００７６】
本実施例では、現在の参照フレームをサンプリングするサンプリングアルゴリズムは、被エンコーディングビデオフレームをダウンサンプリングして現在のエンコーディングビデオフレームを取得するサンプリングアルゴリズムにマッチングし、それにより現在の参照フレームと現在のエンコーディングビデオフレームとの画像マッチング度を更に向上させ、フレーム間予測の正確性を更に向上させ、予測残差を減少させ、エンコーディング画像の品質を向上させる。
【００７７】
ステップＳ７０４では、ターゲット参照フレームに応じて被エンコーディングフレームをエンコーディングし、入力ビデオフレームに対応するエンコーディングデータを取得する。
【００７８】
例示的には、コンピュータ機器はターゲット参照フレームを取得した後、ターゲット参照フレームからエンコーディングブロックと類似する画像ブロックを参照ブロックとして検索して取得し、エンコーディングブロックと参照ブロックのピクセル差分を計算して予測残差を取得する。エンコーディングブロック及び対応するターゲット参照ブロックの変位に応じて第１動きベクトルを取得する。第１動きベクトル及び予測残差に応じてエンコーディングデータを取得する。
【００７９】
一実施例では、コンピュータ機器はターゲット動きベクトル単位解像度情報に応じて第１動きベクトルを変換し、ターゲット解像度でのターゲット動きベクトルを取得し、ターゲット動きベクトル及び予測残差に応じてエンコーディングデータを生成するようにしてもよい。ここで、ターゲット動きベクトル単位解像度情報に応じて第１動きベクトルを変換し、ターゲット動きベクトルを取得する方法について、後で説明する。
【００８０】
一実施例では、コンピュータ機器はさらにターゲット動きベクトルと対応する予測動きベクトルとの間のベクトル差分を計算し、ベクトル差分をエンコーディングし、エンコーディングデータを取得し、更にエンコーディングデータ量を減少させるようにしてもよい。ベクトル差分を計算するステップは、現在のエンコーディングブロックに対応する初期予測動きベクトルを取得するステップと、初期予測動きベクトルに対応する現在の動きベクトル単位解像度情報及びターゲット動きベクトル単位解像度情報に応じて、第２ベクトル変換係数を取得するステップと、初期予測動きベクトル及び第２ベクトル変換係数に応じて、現在のエンコーディングブロックに対応するターゲット予測動きベクトルを取得するステップと、ターゲット動きベクトル及びターゲット予測動きベクトルに応じて動きベクトル差を取得するステップと、を含んでもよい。ここで、ターゲット予測動きベクトルは、ターゲット解像度での動きベクトルであり、ベクトル差分を計算する方法について、後で説明する。
【００８１】
一実施例では、被エンコーディングフレームの解像度情報に応じて現在の参照フレームをサンプリング処理し、対応するターゲット参照フレームを取得するステップＳ７０２は、被エンコーディングフレームの解像度情報及び動き推定ピクセル精度に応じて現在の参照フレームをサンプリング処理し、対応するターゲット参照フレームを取得するステップを含む。
【００８２】
ここで、動き推定ピクセル精度は被エンコーディングフレーム中のエンコーディングブロックに対応する動きベクトルの単位長さである。コンピュータ機器は被エンコーディングフレーム中のエンコーディングブロックをエンコーディングする時、取得された動き推定ピクセル精度に応じて、エンコーディングブロックに対応する動きベクトルの単位長さを細分化してもよく、このように取得された動きベクトルがさらに精細かつ正確である。したがって、取得された動き推定ピクセル精度に応じて現在の参照フレームをサンプリング処理してターゲット参照フレームを取得し、さらにターゲット参照フレームに応じて被エンコーディングフレーム中の各エンコーディングブロックに対応する第１動きベクトルを計算し、該第１動きベクトルに基づいてエンコーディングして、被エンコーディングフレームに対応するエンコーディングデータを取得する必要がある。
【００８３】
例示的には、現在の参照フレームの解像度情報を取得し、被エンコーディングフレームに採用されるサンプリング方式、及び被エンコーディングフレームの解像度情報、現在の参照フレームの解像度情報、及び被エンコーディングフレームに対応する動き推定ピクセル精度に応じて、現在の参照フレームのサンプリング処理方法、サンプリング処理に対応するサンプリング比及びピクセル補間精度を決定するようにしてもよい。動き推定ピクセル精度の大きさは必要に応じて設定されてもよく、例えば、通常、１／２ピクセル精度、１／４ピクセル精度又は１／８ピクセル精度である。
【００８４】
一実施例では、コンピュータ機器は被エンコーディングフレームの画像特徴情報に応じて、該被エンコーディングフレームに対して、対応する動き推定ピクセル精度、画像特徴情報、例えば該被エンコーディングフレームのサイズ、テクスチャ情報及び動き速度のうちの１種又は複数種等を設定してもよく、複数種の画像特徴情報をまとめて、被エンコーディングフレームに対応する動き推定ピクセル精度を決定してもよい。被エンコーディングフレームに含まれる画像データが複雑であるほど、画像情報が豊かであり、対応する動き推定ピクセル精度が更に高い。例えば、Ｐフレームに対してフレーム間予測を行う時、比較的高い動き推定ピクセル精度を採用して、Ｐフレーム中の各エンコーディングブロックに対応する動きベクトルを計算してもよいが、Ｂフレームに対してフレーム間予測を行う時、比較的低い動き推定ピクセル精度を採用してＢフレーム中の各エンコーディングブロックに対応する動きベクトルを計算してもよい。
【００８５】
一実施例では、被エンコーディングフレームの解像度情報及び動き推定ピクセル精度に応じて現在の参照フレームをサンプリング処理し、対応するターゲット参照フレームを取得することは、被エンコーディングフレームの解像度情報及び動き推定ピクセル精度に応じてピクセル補間精度を算出するステップと、ピクセル補間精度に応じて、現在の参照フレームを直接サブピクセル補間処理し、対応するターゲット参照フレームを取得するステップと、を含む。
【００８６】
例示的には、ピクセル補間精度は、現在の参照フレームのサブピクセル補間に対応するピクセル精度である。サブピクセル補間方式は直接サブピクセル補間方式であり、現在の参照フレームを直接サブピクセル補間処理してターゲット参照フレームを取得してもよいことを示す。従って、コンピュータ機器は被エンコーディングフレームの解像度情報及び動き推定ピクセル精度に応じてピクセル補間精度を算出するようにしてもよい。現在の参照フレームの解像度情報と被エンコーディングフレームの解像度情報との比を計算し、比及び動き推定ピクセル精度に応じてピクセル補間精度を取得するようにしてもよい。
【００８７】
一実施例では、現在の参照フレームの解像度が被エンコーディングフレームの解像度よりも大きい場合、現在の参照フレーム中の一部のサブピクセル点のデータを直接多重化でき、動き推定ピクセル精度に応じたサブピクセル点に対応するデータとして使用できる。例えば、被エンコーディングフレームの解像度がＭ＊Ｎであり、現在の参照フレームの解像度が２Ｍ＊２Ｎであり、動き推定ピクセル精度が１／２であり、ピクセル補間精度が１であると、現在の参照フレームが直接ターゲット参照フレームとして使用でき、動き推定ピクセル精度が１／４であると、ピクセル補間精度を１／２と算出し、現在の参照フレームを１／２ピクセル補間精度でサブピクセル補間処理して、ターゲット参照フレームを取得するようにしてもよい。
【００８８】
一実施例では、被エンコーディングフレームの解像度情報で示される解像度が現在の参照フレームの解像度と同じである場合、コンピュータ機器は動き推定ピクセル精度に応じて現在の参照フレームを直接サブピクセル補間処理し、対応するターゲット参照フレームを取得する。
【００８９】
例示的には、フル解像度処理方式で入力ビデオフレームを処理して被エンコーディングフレームを取得し、且つ現在の参照フレームの解像度も原解像度である場合、被エンコーディングフレームの解像度が現在の参照フレームの解像度と同じである。又は、ダウンサンプリング方式で入力ビデオフレームを処理して被エンコーディングフレームを取得し、且つ現在の参照フレームも同じサンプリング比のダウンサンプリング方式でエンコーディングして取得されたエンコーディングデータを再構成して取得される場合、被エンコーディングフレームの解像度が現在の参照フレームの解像度と同じである。このようにして、コンピュータ機器は直接動き推定ピクセル精度に基づいて現在の参照フレームを直接サブピクセル補間処理してターゲット参照フレームを取得でき、且つ、サブピクセル補間処理に対応するピクセル補間精度が動き推定ピクセル精度と同じである。
【００９０】
一実施例では、被エンコーディングフレームの解像度情報及び動き推定ピクセル精度に応じて現在の参照フレームをサンプリング処理し、対応するターゲット参照フレームを取得することは、被エンコーディングフレームの解像度情報に応じて現在の参照フレームをサンプリング処理し、中間参照フレームを取得するステップと、動き推定ピクセル精度に応じて中間参照フレームをサブピクセル補間処理し、ターゲット参照フレームを取得するステップと、を含む。
【００９１】
例示的には、被エンコーディングフレームに対応するサンプリング方式がサンプリング後サブピクセル補間方式である場合、まず、現在の参照フレームをサンプリング処理し、被エンコーディングフレームの解像度と同じ中間参照フレームを取得し、さらに中間参照フレームをサブピクセル補間処理して、対応するターゲット参照フレームを取得することを示す。
【００９２】
被エンコーディングフレームの解像度情報で示される解像度が現在の参照フレームの解像度よりも小さい場合、被エンコーディングフレームの解像度情報に応じて現在の参照フレームをダウンサンプリング処理し、中間参照フレームを取得し、次に被エンコーディングフレームに対応する動き推定ピクセル精度に基づいて中間参照フレームをサブピクセル補間処理し、ターゲット参照フレームを取得する。例えば、解像度が２Ｍ＊２Ｎの入力ビデオフレームをダウンサンプリング処理方式でダウンサンプリング処理して、解像度がＭ＊Ｎの被エンコーディングフレームを取得し、現在の参照フレームの解像度が２Ｍ＊２Ｎ（フル解像度処理方式）である場合、現在の参照フレームを１／２のサンプリング比でダウンサンプリング処理して、解像度がＭ＊Ｎの中間参照フレームを取得する。取得された被エンコーディングフレームに対応する動き推定ピクセル精度が１／２であり、さらに中間参照フレームを、動き推定ピクセル精度と同じピクセル補間精度、すなわち１／２サブピクセル補間精度でサブピクセル補間処理し、ターゲット参照フレームを取得し、取得された被エンコーディングフレームに対応する動き推定ピクセル精度が１／４である場合、中間参照フレームを１／４サブピクセル補間精度でサブピクセル補間処理し、ターゲット参照フレームを取得する。
【００９３】
被エンコーディングフレームの解像度情報で示される解像度が現在の参照フレームの解像度よりも大きい場合、被エンコーディングフレームの解像度情報に応じて現在の参照フレームをアップサンプリング処理し、中間参照フレームを取得し、次に被エンコーディングフレームに対応する動き推定ピクセル精度に基づいて、中間参照フレームをサブピクセル補間処理し、ターゲット参照フレームを取得する。例えば、被エンコーディングフレームの解像度が２Ｍ＊２Ｎであり、現在の参照フレームの解像度が１／２Ｍ＊１／２Ｎである場合、サンプリング比４で現在の参照フレームをアップサンプリング処理して、被エンコーディングフレームの解像度と同じ中間参照フレームを取得する必要がある。動き推定ピクセル精度が１／２である場合、引き続き、取得された中間参照フレームを１／２ピクセル補間精度でサブピクセル補間処理し、ターゲット参照フレームを取得し、動き推定ピクセル精度が１／４である場合、引き続き、取得された中間参照フレームを１／４ピクセル補間精度でサブピクセル補間処理し、ターゲット参照フレームを取得する。
【００９４】
図８Ａに示すように、被エンコーディングフレームに対応する解像度情報及び現在の参照フレームに応じて被エンコーディングフレームをエンコーディングし、入力ビデオフレームに対応するエンコーディングデータを取得するステップＳ６０４は、以下のステップＳ８０２〜Ｓ８０４を含む。
【００９５】
ステップＳ８０２では、被エンコーディングフレームの解像度情報及び第１解像度情報に応じて、第１ベクトル変換パラメータを決定し、第１解像度情報は現在の参照フレームの解像度情報又は入力ビデオフレームに対応するターゲット動きベクトル単位解像度情報を含む。
【００９６】
例示的には、第１ベクトル変換パラメータは取得された動きベクトルの位置情報又は動きベクトルを変換することに用いられる。解像度情報は解像度に関連する情報であり、例えば、解像度自体又はダウンサンプリング比等であってもよい。第１ベクトル変換パラメータは被エンコーディングフレームの解像度情報と第１解像度情報との比であってもよい。例えば、現在の参照フレームのダウンサンプリング比が１／３、被エンコーディングフレームのダウンサンプリング比が１／６であることを仮定する。この場合、第１ベクトル変換パラメータとして、１／３を１／６で除算して２に等しいようにしてもよい。
【００９７】
ステップＳ８０４では、第１ベクトル変換パラメータに応じて、被エンコーディングフレーム中の各エンコーディングブロックに対応するターゲット動きベクトルを取得する。
【００９８】
例示的には、コンピュータ機器は第１ベクトル変換パラメータを取得した後、第１ベクトル変換パラメータに応じて、取得された動きベクトル又は動きベクトルに対応する位置情報を変換し、ターゲット動きベクトルを取得する。第１ベクトル変換パラメータを利用してターゲット動きベクトルを変換する時、ターゲット動きベクトルを、ターゲット動きベクトル単位解像度情報で示されるターゲット解像度での動きベクトルにする。ターゲット動きベクトル単位解像度情報とターゲット動きベクトルの単位に対応するターゲット解像度に対応する情報は、例えば、ターゲット解像度自体又はダウンサンプリング比であってもよい。第１ベクトル変換パラメータを利用して動きベクトルに対応する位置情報を変換する時、被エンコーディングフレームに対応する位置情報を、現在の参照フレームの位置情報と同じ量子化スケールにし、変換後の位置情報に応じて第２動きベクトルを取得し、第２動きベクトルをターゲット解像度でのターゲット動きベクトルに変換する。
【００９９】
一実施例では、被エンコーディングフレームの解像度情報及び第１解像度情報に応じて第１ベクトル変換パラメータを決定するステップＳ８０２は、被エンコーディングフレームの解像度情報及び現在の参照フレームの解像度情報に応じて第１ベクトル変換パラメータを決定するステップを含む。第１ベクトル変換パラメータに応じて、被エンコーディングフレーム中の各エンコーディングブロックに対応する動きベクトルを取得するステップＳ８０４は、現在のエンコーディングブロックに対応する第１位置情報を取得し、現在のエンコーディングブロックに対応するターゲット参照ブロックに対応する第２位置情報を取得するステップと、第１ベクトル変換パラメータ、第１位置情報及び第２位置情報に応じて、現在のエンコーディングブロックに対応するターゲット動きベクトルを算出するステップと、を含む。
【０１００】
例示的には、現在のエンコーディングブロックは入力ビデオフレーム中の、現在予測エンコーディングを必要とするエンコーディングブロックである。ターゲット参照ブロックは参照フレーム中の、現在のエンコーディングブロックを予測エンコーディングするための画像ブロックである。現在のエンコーディングブロックに対応する第１位置情報はピクセルの座標で示されてもよい。現在のエンコーディングブロックに対応する第１位置情報は現在のエンコーディングブロックのすべてのピクセルに対応する座標を含んでもよく、現在のエンコーディングブロックに対応する第１位置情報は現在のエンコーディングブロックの１つ又は複数のピクセルの座標を含んでもよい。ターゲット参照ブロックに対応する第２位置情報はターゲット参照ブロックのすべてのピクセルに対応する座標を含んでもよく、ターゲット参照ブロックに対応する第２位置情報はターゲット参照ブロックの１つ又は複数のピクセルの座標を含んでもよい。例えば、現在の画像ブロックの第１個のピクセル点の座標を現在のエンコーディングブロックの座標値とし、ターゲット参照ブロックの第１個のピクセル点の座標をターゲット参照ブロックの座標値とするようにしてもよい。
【０１０１】
一実施例では、コンピュータ機器は第１ベクトル変換パラメータを利用して第１位置情報を変換し、対応する第１変換位置情報を取得し、第１変換位置情報と第２位置情報との差分に応じてターゲット動きベクトルを取得するようにしてもよい。又は、第１ベクトル変換パラメータを利用して第２位置情報を変換し、対応する第２変換位置情報を取得し、第１位置情報と第２位変換置情報との差分に応じてターゲット動きベクトルを取得するようにしてもよい。
【０１０２】
一実施例では、第１ベクトル変換パラメータは被エンコーディングフレームの解像度及び現在の参照フレームの解像度情報のうち、大解像度情報を小解像度情報で除算して取得された比であり、ここで、大解像度情報に対応する解像度は小解像度に対応する解像度よりも大きい。第１ベクトル変換パラメータは被エンコーディングフレーム及び現在の参照フレームのうち小解像度情報のフレームの位置情報を変換することに用いられる。例えば、被エンコーディングフレームの解像度が１２００＊１２００ピクセルであり、現在の参照フレームの解像度が６００＊６００ピクセルである場合、大解像度が１２００＊１２００ピクセルであり、小解像度が６００＊６００ピクセルである。第１ベクトル変換パラメータは２であってもよい。第１位置情報を（６，８）、第２位置情報を（３，３）と仮定する。この場合、ターゲット動きベクトルは（６，８）−（３＊２，３＊２）＝（０，２）である。本願の実施例では、小解像度情報のフレームに対応する位置情報を変換することで、ターゲット動きベクトルの値を低減させ、エンコーディングデータのデータ量を減少させることができる。
【０１０３】
一実施例では、第１ベクトル変換パラメータは被エンコーディングフレームの解像度及び現在の参照フレームの解像度情報のうち、小解像度情報を大解像度情報で除算して取得された比であり、第１ベクトル変換パラメータは被エンコーディングフレーム及び現在の参照フレームのうち大解像度情報のフレームの位置情報を変換することに用いられる。例えば、被エンコーディングフレームの解像度が１２００＊１２００ピクセルであり、現在の参照フレームの解像度が６００＊６００ピクセルであり、第１ベクトル変換パラメータが１／２であってもよい。第１位置情報を（６，８）、第２位置情報を（３，３）と仮定する。この場合、ターゲット動きベクトルは（６＊１／２，８＊１／２）−（３，３）＝（０，１）である。
【０１０４】
本願の実施例では、第１ベクトル変換パラメータで位置情報を変換し、取得された位置情報を同じ量子化スケールにし、それによりターゲット動きベクトルの値を低減させ、エンコーディングデータのデータ量を減少させることができる。例えば、図８Ｂに示すように、現在の参照フレームの解像度は被エンコーディングフレームの解像度の２倍であり、現在のエンコーディングブロックはピクセル（１，１）、（１，２）、（２，１）及び（２，２）からなり、対応するターゲット参照ブロックはピクセル（４，２）、（４，３）、（５，２）及び（５，３）からなる。変換しないと、ターゲット動きベクトルは（−３，−１）であるが、ターゲット動きベクトルを計算する時、被エンコーディングフレーム中の対応する位置情報に２を乗算し、さらにターゲット動きベクトルを計算すると、ターゲット動きベクトルは（−２，０）であり、（−３，−１）よりも小さい。
【０１０５】
一実施例では、被エンコーディングフレームの解像度情報及び第１解像度情報に応じて第１ベクトル変換パラメータを決定するステップＳ８０２は、ターゲット動きベクトル単位解像度情報を取得するステップと、被エンコーディングフレームの解像度情報及びターゲット動きベクトル単位解像度情報に応じて第１ベクトル変換パラメータを決定するステップと、を含む。第１ベクトル変換パラメータに応じて、被エンコーディングフレーム中の各エンコーディングブロックに対応するターゲット動きベクトルを取得するステップＳ８０４は、現在のエンコーディングブロック及び対応するターゲット参照ブロックの変位に応じて第１動きベクトルを取得するステップと、第１ベクトル変換パラメータ及び第１動きベクトルに応じて、現在のエンコーディングブロックに対応するターゲット動きベクトルを取得するステップと、を含む。
【０１０６】
例示的には、ターゲット動きベクトル単位解像度情報とは、ターゲット動きベクトルの単位に対応するターゲット解像度に対応する情報を指し、例えば、ターゲット解像度又は対応するダウンサンプリング比であってもよい。ターゲット動きベクトルは該解像度でのベクトル単位を標準として計算されるものである。入力ビデオシーケンスの対応する各被エンコーディングフレームのいくつかの解像度が入力ビデオフレームの原解像度と同じであるが、残りの被エンコーディングフレームの解像度が入力ビデオフレームの原解像度よりも小さい可能性があり、すなわち、ビデオシーケンス中の異なる被エンコーディングフレームの解像度が異なることがあるため、ターゲット動きベクトルの単位に対応する解像度を決定する必要がある。ターゲット動きベクトルの単位に対応する解像度はエンコーディング前に設定されており、又はエンコーディング過程のパラメータに応じて取得されるようにしてもよく、必要に応じて設定されてもよい。
【０１０７】
第１動きベクトルは現在のエンコーディングブロック及び対応するターゲット参照ブロックの変位に応じて取得されるものであり、ターゲット参照ブロックは現在の参照フレームから取得されてもよく、現在の参照フレームを処理して取得されたターゲット参照フレームから取得されてもよく、第１動きベクトルを取得した後、第１ベクトル変換パラメータと第１動きベクトルを乗算し、取得された積をターゲット動きベクトルとするようにしてもよい。例えば、ターゲット動きベクトル単位に対応する解像度が原解像度であり、被エンコーディングフレームに対応するダウンサンプリング比が１／２であることを仮定する。ターゲット動きベクトル単位が原解像度であるが、第１動きベクトルが被エンコーディングフレームの解像度で算出されるため、第１動きベクトルを変換する必要があり、第１ベクトル変換パラメータが２に等しく、取得された第１動きベクトルが（２，２）であると、ターゲット動きベクトルが（４，４）である。ターゲット動きベクトルを取得した後、コンピュータ機器はターゲット動きベクトルに応じてエンコーディングしてもよく、例えば、ターゲット動きベクトル及び現在のエンコーディングブロックに対応する予測残差をエンコーディングし、エンコーディングデータを取得するようにしてもよい。
【０１０８】
一実施例では、ターゲット参照ブロックが現在の参照フレームから取得される場合、同一エンコーディングブロックに対して、第１動きベクトルは第２動きベクトルに等しくてもよいと理解できる。
【０１０９】
一実施例では、ターゲット動きベクトルの単位に対応する解像度は入力ビデオフレームに対応する解像度、すなわち原解像度であってもよく、又は、ターゲット動きベクトルの単位に対応する解像度は被エンコーディングフレームに対応する解像度であってもよい。第１ベクトル変換パラメータはターゲット動きベクトル単位に対応する解像度情報と被エンコーディングフレームの解像度情報との比であってもよい。例えば、ターゲット動きベクトル単位に対応する解像度が原解像度であり、ターゲット動きベクトル単位に対応するサンプリング比が１であり、被エンコーディングフレームの解像度のサンプリング比が１／２である場合、第１ベクトル変換パラメータとして、１を１／２で除算して２に等しいようにしてもよい。又は、ターゲット動きベクトル単位に対応する解像度が原解像度、すなわち９００＊９００ピクセルであり、被エンコーディングフレームの解像度のサンプリング比が４５０＊６００ピクセルであり、第１ベクトル変換パラメータは水平方向の第１ベクトル変換パラメータ及び垂直方向の第１ベクトル変換パラメータの２つを含んでもよいことを仮定する。この場合、水平方向の第１ベクトル変換パラメータが９００／４５０＝２であり、垂直方向の第１ベクトル変換パラメータが９００／６００＝１．５である。
【０１１０】
一実施例では、エンコーディングを行う機器の計算能力に応じて、ターゲット動きベクトル単位解像度情報を取得するようにしてもよい。例えば、エンコーディングを行う機器が整数のみを演算でき、又は数値が小数である時に演算時間が長い場合、ターゲット動きベクトル単位に対応する解像度は入力ビデオフレームに対応する原解像度であってもよい。エンコーディングを行う機器が小数の演算を高速に行うことができる場合、ターゲット動きベクトル単位に対応する解像度は被エンコーディングフレームに対応する解像度であってもよい。
【０１１１】
一実施例では、被エンコーディングフレームの解像度情報がターゲット動きベクトル単位解像度情報に一致する場合、第１ベクトル変換パラメータは１であり、第１動きベクトルはターゲット動きベクトルと同じであり、従って、ステップＳ８０２をスキップして、第１動きベクトルをターゲット動きベクトルとするようにしてもよい。被エンコーディングフレームの解像度情報がターゲット動きベクトル単位解像度情報に一致しない場合、ステップＳ８０２を実行する。
【０１１２】
本願の実施例では、ターゲット動きベクトルの単位に対応する解像度が入力ビデオフレームに対応する解像度、すなわち原解像度である場合、解像度を統一したビデオシーケンスに対して、各入力ビデオフレームに対応するターゲット解像度が一致し、ターゲット動きベクトルの統一性を維持することができる。ターゲット動きベクトルの単位に対応する解像度が被エンコーディングビデオフレームに対応する解像度である場合、被エンコーディングフレームの解像度情報がターゲット動きベクトル単位解像度情報に一致するため、第１動きベクトルを変換する必要がなく、計算時間を減少させることができる。
【０１１３】
一実施例では、ターゲット動きベクトル単位解像度情報を示す識別情報を、エンコーディングデータに追加してもよく、それによって、デコーディング側はターゲット動きベクトルに対応するターゲット解像度を取得することができる。識別情報を含まないと、エンコーディング側とデコーディング側はターゲット動きベクトルに対応するターゲット解像度を約束してもよい。該識別情報はターゲット動きベクトルに対応する解像度情報を示すことに用いられる。識別情報のエンコーディングデータにおける追加位置はグループレベルヘッダ情報、シーケンスレベルヘッダ情報フレームレベルヘッダ情報及びブロックレベルヘッダ情報のうちの１つ又は複数であってもよく、ここで、ブロックレベルヘッダ情報とはエンコーディングブロックに対応するエンコーディングデータのヘッダ情報を指す。識別情報のエンコーディングデータにおける追加位置はターゲット動きベクトル単位解像度情報の作用範囲に応じて決定されてもよい。例えば、ビデオシーケンス中のベクトル単位に対応する解像度が一致すると、追加位置はシーケンスレベルヘッダ情報であってもよい。フラグビットの値で示される解像度情報は必要に応じて設定されてもよい。例えば、ターゲット動きベクトル単位解像度情報に対応する解像度が原解像度である場合、対応するフラグビットＭＶ＿Ｓｃａｌｅ＿Ａｄａｐｔｉｖｅは０であり、ターゲット動きベクトル単位解像度情報に対応する解像度が被エンコーディングフレームに対応する解像度である場合、対応するフラグビットＭＶ＿Ｓｃａｌｅ＿Ａｄａｐｔｉｖｅは１である。
【０１１４】
一実施例では、図９に示すように、被エンコーディングフレームに対応する解像度情報及び現在の参照フレームに応じて被エンコーディングフレームをエンコーディングし、入力ビデオフレームに対応するエンコーディングデータを取得することは、以下のステップＳ９０２〜Ｓ９０８を含む。
【０１１５】
ステップＳ９０２では、現在のエンコーディングブロックに対応する初期予測動きベクトルを取得する。
【０１１６】
例示的には、現在のエンコーディングブロックの動きベクトルを予測し、予測値を取得し、ターゲット動きベクトルと予測値との差分を計算し、動きベクトル差分を取得し、動きベクトル差分をエンコーディングするようにしてもよく、それによりエンコーディングデータ用のビット数を低減させることができる。初期予測動きベクトルは現在のエンコーディングブロックの動きベクトルを予測することに用いられる。初期予測動きベクトルの数は１つ又は複数であってもよく、必要に応じて設定されてもよい。初期予測動きベクトルの取得ルールは、必要に応じて設定されてもよく、現在のエンコーディングブロックとそれと隣接するエンコーディングブロックには空間相関性があることが多いため、現在のエンコーディングブロックに対応する１つ又は複数の隣接するエンコーディング済みブロックの対応するターゲット動きベクトル値を初期予測動きベクトルとしてもよい。例えば、現在のエンコーディングブロック中の右上角及び左上角の隣接するエンコーディング済みブロックに対応する第１動きベクトル値を初期予測動きベクトルとしてもよい。又は、現在のエンコーディングブロックに対応するターゲット参照ブロックに対応するターゲット参照ブロックの動きベクトル値を初期予測動きベクトルとしてもよい。
【０１１７】
ステップＳ９０４では、初期予測動きベクトルに対応する現在の動きベクトル単位解像度情報及びターゲット動きベクトル単位解像度情報に応じて、第２ベクトル変換係数を取得する。
【０１１８】
例示的には、現在の動きベクトル単位解像度情報とは、初期予測動きベクトルの単位に対応する現在の解像度に対応する情報を指し、例えば、現在の解像度又はダウンサンプリング比であってもよい。初期予測動きベクトルの単位に対応する解像度とは、該初期予測動きベクトルの単位が現在の解像度でのベクトル単位を標準として計算されるもの、すなわち、現在の解像度での動きベクトルであることを指す。初期予測動きベクトルに対応する現在の動きベクトル単位解像度情報がターゲット動きベクトル単位解像度情報と異なる場合、初期予測動きベクトルに対応する現在の動きベクトル単位解像度情報及びターゲット動きベクトル単位解像度情報に応じて第２ベクトル変換係数を取得する必要がある。第２ベクトル変換パラメータは初期予測動きベクトルをターゲット解像度での動きベクトルに変換することに用いられ、第２ベクトル変換パラメータはターゲット動きベクトル単位に対応する解像度情報と現在の動きベクトル単位解像度情報との比であってもよい。例えば、ターゲット動きベクトル単位に対応する解像度を２００＊２００ピクセル、現在の動きベクトル単位解像度情報を１００＊１００ピクセルと仮定する場合、第１ベクトル変換パラメータは２であってもよい。
【０１１９】
ステップＳ９０６では、初期予測動きベクトル及び第２ベクトル変換係数に応じて、現在のエンコーディングブロックに対応するターゲット予測動きベクトルを取得する。
【０１２０】
例示的には、第２ベクトル変換パラメータを取得した後、初期予測動きベクトル及び第２ベクトル変換係数に応じて演算し、ターゲット予測動きベクトルを取得し、ターゲット予測動きベクトルはターゲット解像度での予測動きベクトルである。例えば、初期予測動きベクトルが１つである場合、初期予測動きベクトルと第２ベクトル変換係数との積をターゲット予測動きベクトルとしてもよい。初期予測動きベクトルが複数である場合、初期予測動きベクトルを計算し、計算結果を取得し、計算結果及び第２ベクトル変換係数に応じてターゲット動きベクトルを取得することができる。計算結果は初期予測動きベクトル中の最小値、平均値及び中央値のうちの１種又は複数種であってもよい。なお、初期予測動きベクトル及び第２ベクトル変換係数に応じてターゲット予測動きベクトルを取得するアルゴリズムはカスタマイズされてもよく、デコーディング側では、一致したカスタマイズされたアルゴリズムを利用して同じターゲット予測動きベクトルを算出することができる。
【０１２１】
ステップＳ９０８では、ターゲット動きベクトル及びターゲット予測動きベクトルに応じて動きベクトル差を取得する。
【０１２２】
例示的には、動きターゲットベクトルとターゲット予測動きベクトルとの差分を動きベクトル差とし、それにより動きベクトル差に応じてエンコーディングを行い、エンコーディングデータを取得し、エンコーディングデータのデータ量を減少させる。
【０１２３】
本願の実施例では、初期予測動きベクトルを変換し、ターゲット解像度でのターゲット予測動きベクトルを取得し、ターゲット予測動きベクトル及びターゲット動きベクトルの単位を、マッチングした量子化スケールにし、従って取得された動きベクトル差分が小さく、エンコーディングデータのデータ量を減少させる。
【０１２４】
一実施例では、候補処理方式の中から入力ビデオフレームに対応するターゲット処理方式を決定するステップＳ５０４は、入力ビデオフレームに対応する前方エンコーディングビデオフレームにおけるターゲット予測タイプエンコーディングブロックの比を計算するステップと、比に応じて、入力ビデオフレームに対応するターゲット処理方式を決定するステップと、を含む。
【０１２５】
例示的には、予測タイプエンコーディングブロックはフレーム予測タイプに対応するエンコーディングブロックである。ターゲット予測タイプの比はフレーム内エンコーディングブロックに対応する比及びフレーム間エンコーディングブロックに対応する比のうちの１種又は２種であってもよい。入力ビデオフレームに対応する前方エンコーディングビデオフレームにおけるターゲット予測タイプエンコーディングブロックの比は該ターゲット予測タイプエンコーディングブロックとほかの予測タイプエンコーディングブロックとの比であってもよく、該タイプのエンコーディングブロックとエンコーディングブロック総数との比であってもよい。必要に応じて設定されてもよい。例えば、前方エンコーディングビデオフレーム中のフレーム内エンコーディングブロックの第１数量、前方エンコーディングビデオフレーム中のフレーム間エンコーディングブロックの第２数量を取得してもよい。第１数量及び第２数量に応じて、フレーム内エンコーディングブロックとフレーム間エンコーディングブロックとの比を算出し、又は前方エンコーディングビデオフレームのすべてのエンコーディングブロックの第３数量を統計し、第１数量及び第３数量に応じてフレーム内エンコーディングブロックと第３数量との比を算出する。さらに第２数量及び第３数量に応じてフレーム間エンコーディングブロックと第３数量との比を算出してもよい。
【０１２６】
前方エンコーディングビデオフレームとは、入力ビデオフレームをエンコーディングする前にエンコーディングされたビデオフレームを指し、取得された前方エンコーディングビデオフレームの具体的な数量はカスタマイズされてもよい。例えば、前方エンコーディングビデオフレームは入力ビデオフレームの前の１個のエンコーディングされたエンコーディングビデオフレームであってもよく、前方エンコーディングビデオフレームは入力ビデオフレームの前の３個のエンコーディングされたエンコーディングビデオフレームであってもよい。ターゲット予測タイプエンコーディングブロックに対応する、前方エンコーディングビデオフレームにおける比を算出した後、算出された比に応じて、入力ビデオフレームに対応するターゲット処理方式を決定する。取得された前方エンコーディングビデオフレームの数量が複数である場合、異なるタイプエンコーディングブロックに対応する、各々の前方エンコーディングビデオフレームにおける比を算出し、各比に応じて加重計算して総比を取得し、さらに総比及び予め設定された閾値に応じて、入力ビデオフレームに対応するターゲット処理方式を決定するようにしてもよい。ここで、前方ビデオフレームに対応する重みは前方エンコーディングビデオフレームと入力ビデオフレームのエンコーディング距離と負相関関係であってもよい。
【０１２７】
一実施例では、前方エンコーディングビデオフレーム中のフレーム内エンコーディングブロックの、前方エンコーディングビデオフレームにおける比を計算し、比がターゲット閾値よりも大きい場合、処理方式をダウンサンプリング処理方式と決定するようにしてもよい。
【０１２８】
フレーム内エンコーディングブロックに対応する比について、該比がターゲット閾値よりも大きい場合、入力ビデオフレームに対応するターゲット処理方式をダウンサンプリング処理方式と決定し、そうでない場合、ビデオフレームに対応するターゲット処理方式をフル解像度処理方式と決定するようにしてもよい。例えば、比がターゲット閾値よりも大きい場合、入力ビデオフレームに対応するターゲット処理方式をダウンサンプリング処理方式と決定し、そうでない場合、ビデオフレームに対応するターゲット処理方式をフル解像度処理方式と決定する。
【０１２９】
本願の実施例では、フレーム内エンコーディングブロックの比が大きいと、ビデオが比較的複雑で又はビデオフレーム間の相関性が比較的低いことを示し、従って、取得された予測残差が比較的大きく、従って、ダウンサンプリング処理方式を採用してエンコーディングすることが好ましく、それによりエンコーディングデータ量を減少させる。
【０１３０】
ここで、ターゲット閾値は入力ビデオフレームに対応する参照フレームの処理方式に応じて決定されてもよい。入力ビデオフレームに対応する参照フレームの処理方式がダウンサンプリング方式である場合、第１参照閾値Ｔ１を取得し、第１参照閾値Ｔ１をターゲット閾値とする。同様に、入力ビデオフレームに対応する参照フレームの処理方式がフル解像度処理方式である場合、第２参照閾値Ｔ２を取得し、第２参照閾値Ｔ２をターゲット閾値とする。更に、入力ビデオフレームに対応する参照フレームの解像度情報に応じてターゲット閾値を取得した後、ターゲット閾値、及び前方エンコーディングビデオフレーム中のフレーム内エンコーディングブロックの、前方エンコーディングビデオフレームにおける比に応じて入力ビデオフレームの処理方式を決定する。ここで、前方エンコーディングビデオフレーム中のフレーム内エンコーディングブロックの、前方エンコーディングビデオフレームにおける比がターゲット閾値よりも大きい場合、入力ビデオフレームに対応するターゲット処理方式をダウンサンプリング処理方式と決定する。
【０１３１】
一実施例では、第２参照閾値は第１参照閾値よりも大きく、このように、現在の参照フレームに対応するターゲット処理方式がフル解像度処理方式である場合、入力ビデオフレームはフル解像度処理方式を採用することが好ましく、現在の参照フレームがダウンサンプリング処理方式である場合、入力ビデオフレームはダウンサンプリング処理方式を採用することが好ましい。
【０１３２】
一実施例では、図１０に示すように、入力ビデオフレームを取得する前、ビデオエンコーディング方法はさらにステップＳ１００２〜Ｓ１００６を含む。
【０１３３】
ステップＳ１００２では、入力ビデオフレームに対応する入力ビデオシーケンスを取得し、入力ビデオシーケンスに対応するターゲットビデオシーケンスエンコーディングモードを取得し、ここで、ターゲットビデオシーケンスエンコーディングモードは固定解像度エンコーディングモード又はハイブリッド解像度エンコーディングモードを含む。
【０１３４】
例示的には、入力ビデオシーケンスは複数の入力ビデオフレームを含んでもよい。ターゲットビデオシーケンスエンコーディングモードが固定解像度エンコーディングモードである場合、入力ビデオシーケンス各入力ビデオフレームは同じ解像度、例えばフル解像度でエンコーディングされる。ターゲットビデオシーケンスエンコーディングモードがハイブリッド解像度エンコーディングモードである場合、コンピュータ機器は各入力ビデオフレームに対応するターゲット処理方式を取得し、ターゲット処理方式に応じて入力ビデオフレームを処理し、被エンコーディングフレームを取得する。被エンコーディングフレームをエンコーディングし、被エンコーディングフレームの解像度は入力ビデオフレームの解像度と同じであってもよく、入力ビデオフレームの解像度よりも小さくてもよく、従って、入力ビデオシーケンスに異なる解像度の被エンコーディングフレームが存在する場合がある。
【０１３５】
一実施例では、入力ビデオシーケンスに対応するターゲットビデオシーケンスエンコーディングモードを取得することは、現在の環境情報を取得し、現在の環境情報は現在のエンコーディング環境情報、現在のデコーディング環境情報のうちの少なくとも１種の情報を含むステップと、現在の環境情報に応じて、入力ビデオシーケンスに対応するターゲットビデオシーケンスエンコーディングモードを決定するステップと、を含む。
【０１３６】
例示的には、環境情報はビデオエンコーディング方法を実行する機器の処理能力、ビデオデコーディング方法を実行する機器の処理能力及び現在の応用シーン情報のうちの１種又は複数種を含んでもよい。処理能力は処理速度で示されてもよい。例えば、処理能力の強い機器の場合、処理速度が速いため、対応するターゲットビデオシーケンスエンコーディングモードがフル解像度エンコーディングモードである。現在の応用シーン情報に対応する現在の応用シーンがリアルタイム応用シーンである場合、ビデオシーケンスエンコーディングモードがハイブリッド解像度エンコーディングモードである。現在の応用シーン情報に対応する現在の応用シーンが非リアルタイム応用シーンである場合、ビデオシーケンスエンコーディングモードが固定解像度エンコーディングモードである。現在の環境情報とビデオシーケンスエンコーディングモードとの対応関係を設定し、現在の環境情報を取得した後、現在の環境情報とビデオシーケンスエンコーディングモードとの対応関係に応じて入力ビデオシーケンスに対応するターゲットビデオシーケンスエンコーディングモードを取得するようにしてもよい。例えば、ビデオエンコーディング方法の機器の処理速度及びビデオデコーディング方法を実行する機器の処理速度の平均値とビデオシーケンスエンコーディングモードとの対応関係を設定してもよい。ビデオエンコーディング方法の機器の処理速度及びビデオデコーディング方法を実行する機器の処理速度を取得した後、平均値を計算し、平均値に応じてターゲットビデオシーケンスエンコーディングモードを取得する。現在の応用シーンがリアルタイム応用シーンであるか否かは必要に応じて設定されてもよい。例えば、ビデオ通話応用シーン、ゲーム応用シーンはリアルタイム応用シーンであり、ビデオウェブサイトにおけるビデオエンコーディング、オフラインビデオのエンコーディングに対応する応用シーンは非リアルタイム応用シーンであってもよい。
【０１３７】
ステップＳ１００４では、ターゲットビデオシーケンスエンコーディングモードがハイブリッド解像度エンコーディングモードであるか否かを判断する。
【０１３８】
ＹＥＳであると、ステップＳ５０２に進み、ＮＯであると、ステップＳ１００６に進む。
【０１３９】
ステップＳ１００６では、入力ビデオシーケンスの各入力ビデオフレームに対して固定解像度エンコーディングを行う。
【０１４０】
例示的には、ビデオシーケンスエンコーディングモードが固定解像度エンコーディングモードである場合、コンピュータ機器は入力ビデオシーケンスの各入力ビデオフレームに対して固定解像度エンコーディングを行う。
【０１４１】
一実施例では、被エンコーディングフレームに対応する解像度情報に応じて、被エンコーディングフレームをエンコーディングして、入力ビデオフレームに対応するエンコーディングデータを取得することは、ターゲットビデオシーケンスエンコーディングモードに対応するターゲットビデオシーケンスエンコーディングモード情報をエンコーディングデータに追加するステップを含む。
【０１４２】
例示的には、ターゲットビデオシーケンスエンコーディングモード情報は入力ビデオシーケンスに採用されるエンコーディングモードを記述することに用いられ、エンコーディングデータに、ビデオシーケンスエンコーディングモードを記述するフラグビットＳｅｑｕｅｎｃｅ＿Ｍｉｘ＿Ｒｅｓｏｌｕｔｉｏｎ＿Ｆｌａｇを追加することができ、フラグビットの値は必要に応じて設定されてもよい。ビデオシーケンスエンコーディングモード情報のエンコーディングデータにおける追加位置はシーケンスレベルヘッダ情報であってもよい。例えば、Ｓｅｑｕｅｎｃｅ＿Ｍｉｘ＿Ｒｅｓｏｌｕｔｉｏｎ＿Ｆｌａｇが１である場合、対応するターゲットビデオシーケンスエンコーディングモードはハイブリッド解像度エンコーディングモードであってもよい。Ｓｅｑｕｅｎｃｅ＿Ｍｉｘ＿Ｒｅｓｏｌｕｔｉｏｎ＿Ｆｌａｇが０である場合、対応するターゲットビデオシーケンスエンコーディングモードは固定解像度エンコーディングモードであってもよい。
【０１４３】
一実施例では、ビデオエンコーディングフレームワークは図１１に示されるとおりである。ビデオエンコーディングフレームワークは固定解像度エンコーディングフレームワーク及びハイブリッド解像度エンコーディングフレームワークを含み、ハイブリッド解像度エンコーディングフレームワークは図２中のエンコーディングフレームワークに対応してもよい。入力ビデオシーケンスを取得した後、ビデオシーケンスエンコーディングモード取得モジュールでビデオシーケンスエンコーディングモードを特定する。ターゲットビデオシーケンスエンコーディングモードがハイブリッド解像度エンコーディングモードである場合、ハイブリッド解像度エンコーディングフレームワークを採用してエンコーディングを行う。ターゲットビデオシーケンスエンコーディングモードが固定解像度エンコーディングモードである場合、図１１の固定解像度エンコーディングフレームワークを利用して固定解像度エンコーディングを行う。ここで、固定解像度エンコーディングフレームワークは従来のＨＥＶＣ（Ｈｉｇｈ  Ｅｆｆｉｃｉｅｎｃｙ  Ｖｉｄｅｏ  Ｃｏｄｉｎｇ、高効率ビデオエンコーディング）エンコーディングフレームワーク又はＨ．２６５エンコーディングフレームワーク等であってもよい。
【０１４４】
以下、ビデオシーケンスＡが３個の入力ビデオフレーム、すなわちａ、ｂ及びｃを含むことを仮定し、ビデオエンコーディング方法について説明する。
【０１４５】
１．ビデオシーケンスＡに対応するターゲットビデオシーケンスエンコーディングモードを取得し、現在の環境がビデオ通話環境であるため、ターゲットビデオシーケンスエンコーディングモードがハイブリッド解像度エンコーディングモードである。
【０１４６】
２．ハイブリッド解像度エンコーディングフレームワーク中の処理特定ユニットを利用して第１個の入力ビデオフレームａを特定し、ターゲット処理方式がダウンサンプリング方式であり、ダウンサンプリング比が１／２であることを取得する。ａをダウンサンプリング処理し、ダウンサンプリング後のビデオフレームａ１を取得し、ａ１をフレーム内エンコーディングして、ａ１に対応するエンコーディングデータｄ１を取得し、且つａ１に対応するエンコーディングデータを再構成し、対応する再構成ビデオフレームａ２を取得する。
【０１４７】
３．ハイブリッド解像度エンコーディングフレームワーク中の処理特定ユニットを利用して第２個の入力ビデオフレームｂを特定し、ターゲット処理方式がダウンサンプリング方式であり、サンプリング比が１／４であることを取得する。ｂをダウンサンプリングし、ｂ１を取得し、ｂ１をエンコーディングし、ｂに対応するエンコーディングデータを取得し、且つエンコーディングデータに、ダウンサンプリング比に対応するサンプリング比情報及びターゲット処理方式に対応するターゲット処理方式情報を含ませる。
【０１４８】
ここで、エンコーディング過程は、ｂがフレーム間予測フレームであるため、ａ２を現在の参照フレームとする必要があり、ｂ１とａ２の解像度が異なるため、ａ２をサンプリング処理する必要があることを含む。ａ２のサンプリング方式を直接サブピクセル補間、動き推定精度を１／４と決定するため、ピクセル補間精度が１／４＊２＝１／２であり、ピクセル補間精度に応じてａ２に対して１／２サブピクセル補間を行い、ターゲット参照フレームａ３を取得する。ｂ１中の現在のエンコーディングブロックとターゲット参照フレーム中のターゲット参照ブロックの第１動きベクトルＭＶ１を計算し、予測残差がｐ１である。且つ、ターゲット解像度が原解像度であることを取得し、従って、ターゲット動きベクトルが４ＭＶ１である。初期予測ベクトルをＭＶ２と算出し、初期予測ベクトルが１／４ダウンサンプリング比に対応する解像度で算出され、従って、ターゲット予測ベクトルが４ＭＶ２であり、従って、現在のエンコーディングブロックに対応する動きベクトル差ＭＶＤ１が４ＭＶ１−４ＭＶ２に等しい。ＭＶＤ１及びｐ１に対して変換、量子化及びエントロピーエンコーディングを行い、エンコーディングデータを取得する。
【０１４９】
４．ハイブリッド解像度エンコーディングフレームワーク中の処理特定ユニットを利用して第３個の入力ビデオフレームｃを特定し、処理方式がダウンサンプリング方式、サンプリング比が１／８であることを取得する。ｃをダウンサンプリングし、ｃ１を取得し、ｃ１をエンコーディングし、ｃに対応するエンコーディングデータｄ２を取得する。
【０１５０】
ここで、エンコーディング過程は、ｃがフレーム間予測フレームであるため、対応する現在の参照フレームはｂのエンコーディングデータを再構成して取得された再構成ビデオフレームｂ２であり、ｃ１とｂ２の解像度が異なるため、ｂ２をサンプリング処理する必要があることを含む。ｂ２のサンプリング方式を直接サブピクセル補間、動き推定精度を１／４と決定し、従って、ピクセル補間精度が１／４＊２＝１／２であり、ピクセル補間精度に応じてｂ２に対して１／２サブピクセル補間を行い、ターゲット参照フレームｂ３を取得する。ｃ１中の現在のエンコーディングブロックとターゲット参照フレーム中のターゲット参照ブロックの第１動きベクトルＭＶ３を計算し、予測残差がｐ２である。ターゲット解像度が原解像度であることを取得し、従って、ターゲット動きベクトルが８ＭＶ３である。初期予測ベクトルがＭＶ４であることを取得し、初期予測ベクトルが１／４ダウンサンプリング比に対応する解像度で算出され、従って、ターゲット予測ベクトルが４ＭＶ４であり、従って、現在のエンコーディングブロックに対応する動きベクトル差ＭＶＤ２が８ＭＶ３−４ＭＶ４に等しい。ＭＶＤ２及びｐ２に対して変換、量子化及びエントロピーエンコーディングを行い、エンコーディングデータｄ３を取得する。
【０１５１】
５．ｄ１、ｄ２及びｄ３からエンコーディングデータパケットを形成し、ビデオシーケンスに対応するエンコーディングデータとして受信端末に送信し、ここで、ビデオシーケンスに対応するエンコーディングデータに、ターゲットビデオシーケンスエンコーディングモードがハイブリッド解像度エンコーディングモードであることを記述するフラグビットが含まれる。
【０１５２】
図１２に示すように、一実施例では、ビデオデコーディング方法を提案し、本実施例は主に、該方法が上記図１中の端末１１０又はサーバ１２０に適用されることを例に説明する。以下のステップＳ１２０２〜Ｓ１２０８を含む。
【０１５３】
ステップＳ１２０２では、被デコーディングビデオフレームに対応するエンコーディングデータを取得する。
【０１５４】
例示的には、被デコーディングビデオフレームはデコーディングを必要とするビデオフレームである。１つの被デコーディングビデオシーケンスは複数の被デコーディングビデオフレームを含みうる。被デコーディングビデオフレームはリアルタイムに取得されたビデオフレームであってもよく、予め記憶された被デコーディングビデオシーケンスから取得されたビデオフレームであってもよい。
【０１５５】
ステップＳ１２０４では、被デコーディングビデオフレームに対応する解像度情報を取得する。
【０１５６】
例示的には、解像度情報は解像度に関連する情報であり、解像度自体であってもよく、ダウンサンプリング比であってもよい。被デコーディングビデオフレームに対応する解像度情報はエンコーディングデータに含まれてもよく、コンピュータ機器によって算出されて取得してもよい。
【０１５７】
一実施例では、エンコーディングデータに、被デコーディングビデオフレームに対応する解像度情報が含まれてもよく、例えば、被デコーディングビデオフレームに対応する解像度又はダウンサンプリング比が含まれてもよい。
【０１５８】
一実施例では、エンコーディングデータに、処理方式情報が含まれてもよく、コンピュータ機器はエンコーディングデータから処理方式情報を取得し、ターゲット処理方式情報に応じて、被デコーディングビデオフレームに対応する解像度情報を取得する。例えば、エンコーディングデータには、処理方式情報に対応するターゲット処理方式がダウンサンプリング処理方式であることが含まれてもよく、エンコーディング標準及びデコーディング標準には、ダウンサンプリング比がいずれも１／２であることが決定されており、又はエンコーディングデータには、対応するダウンサンプリング比が含まれる場合、取得された解像度情報はダウンサンプリング比が１／２である。
【０１５９】
ステップＳ１２０６では、被デコーディングビデオフレームに対応する解像度情報に応じてエンコーディングデータをデコーディングし、被デコーディングビデオフレームに対応する再構成ビデオフレームを取得する。
【０１６０】
例示的には、再構成ビデオフレームはデコーディング再構成により取得されたビデオフレームである。なお、該再構成ビデオフレームに対応する解像度情報とエンコーディング過程における被エンコーディングフレームの解像度情報は対応する。エンコーディング過程で画像情報損失がないと、再構成ビデオフレームと被エンコーディングフレームが同じである。エンコーディング過程で画像情報損失があると、再構成ビデオフレームと被エンコーディングフレームとの差異が損失値に対応する。コンピュータ機器がエンコーディングデータをデコーディングすることは被デコーディングビデオフレームに対応する解像度情報で行われる。デコーディングは予測、逆変換、逆量子化及びエントロピーデコーディングのうちの少なくとも１つを含んでもよく、エンコーディングの過程に応じて決定されてもよい。デコーディング時、コンピュータ機器は被デコーディングビデオフレームの解像度情報に応じて、現在の参照フレーム、被デコーディングビデオフレームの各被デコーディングブロックに対応する位置情報、現在の参照フレームの各参照ブロックに対応する位置情報、及び動きベクトルのうちの１つ又は複数を処理し、ここでの処理方法はエンコーディング側でエンコーディングを行う時の処理方法にマッチングする。例えば、コンピュータ機器は被デコーディングビデオフレームに対応する現在の参照フレームを取得し、被デコーディングビデオフレームに対応する解像度情報に応じて、現在の参照フレームを処理し、ターゲット参照フレームを取得するようにしてもよい。含まれる動きベクトル情報に応じてターゲット参照ブロックを取得し、ターゲット参照ブロックに応じて被デコーディングブロックに対応する予測値を取得し、且つエンコーディングデータ中の予測残差及び予測値に応じて再構成ビデオフレームを取得するようにしてもよい。
【０１６１】
一実施例では、エンコーディング側で位置情報を変換する場合、コンピュータ機器はデコーディング過程で対応する位置情報を取得する時、該位置情報に対して、対応する変換を行う必要があり、それによりエンコーディング側とデコーディング側で取得されたターゲット参照ブロックの一致性を維持する。
【０１６２】
一実施例では、エンコーディングデータに含まれる動きベクトル情報がターゲット動きベクトルである場合、コンピュータ機器はターゲット動きベクトル単位解像度情報及び被デコーディングビデオフレームに対応する解像度情報に応じてターゲット動きベクトルを変換し、被デコーディングビデオフレームに対応する解像度情報での第１動きベクトルを取得し、第１動きベクトルに応じて、被デコーディングブロックに対応するターゲット参照ブロックを取得するようにしてもよい。
【０１６３】
一実施例では、エンコーディングデータに含まれる動きベクトル情報が動きベクトル差分である場合、コンピュータ機器は現在の被デコーディングブロックに対応する初期予測動きベクトルを取得し、各被デコーディングブロックに対応する動きベクトル差分及び初期予測動きベクトルを同一解像度で処理し、対応する被デコーディングブロックに対応する、且つ被デコーディングビデオフレームの解像度での第１動きベクトルを取得し、第１動きベクトルに応じて、被デコーディングブロックに対応するターゲット参照ブロックを取得するようにしてもよい。
【０１６４】
例示的には、コンピュータ機器は動きベクトル差分及び初期予測動きベクトルをすべて同一解像度での対応する動きベクトルに変換する。例えば、初期予測動きベクトルをターゲット解像度でのターゲット予測動きベクトルに変換し、ターゲット予測動きベクトル及び動きベクトル差分に応じてターゲット動きベクトルを取得し、さらにターゲット動きベクトルを被デコーディングビデオフレームの解像度での第１動きベクトルに変換するようにしてもよい。さらに、初期予測動きベクトルを被デコーディングビデオフレームの解像度での予測動きベクトルに変換し、動きベクトル差分を被デコーディングビデオフレームの解像度での動きベクトル差分に変換し、被デコーディングビデオフレームの解像度での動きベクトル差分及び被デコーディングビデオフレームの解像度での予測動きベクトルに応じて第１動きベクトルを取得するようにしてもよい。
【０１６５】
ステップＳ１２０８では、被デコーディングビデオフレームに対応する解像度情報に応じて、再構成ビデオフレームを処理し、対応するデコーディングビデオフレームを取得する。
【０１６６】
例示的には、コンピュータ機器が再構成ビデオフレームを処理することはサンプリング処理であってもよく、例えば、アップサンプリング処理である。再構成ビデオフレームを処理する方法はエンコーディング中に入力ビデオフレームを処理する方法に対応してもよい。例えば、入力ビデオフレームの処理方式がダウンサンプリング処理方式であり、且つ解像度情報が１／２ダウンサンプリング比である場合、再構成ビデオフレームをアップサンプリング処理し、アップサンプリング比が２であってもよい。
【０１６７】
一実施例では、コンピュータ機器がエンコーディングデータのヘッダ情報の中からエンコーディングデータを決定することはダウンサンプリング処理方式でエンコーディングすることによって取得される場合、デコーディング側はヘッダ情報の中から、採用されるダウンサンプリング比情報又はダウンサンプリング方法情報を取得し、且つダウンサンプリング比情報又はダウンサンプリング方法情報にマッチングするアップサンプリング比、アップサンプリング方法を採用して、取得された再構成ビデオフレームをアップサンプリング処理し、デコーディングビデオフレームを取得するようにしてもよい。例えば、ダウンサンプリング比情報に対応するサンプリング比が１／２であると、デコーディング側はサンプリング比２及びダウンサンプリング方法情報にマッチングするアップサンプリング方法に応じて再構成ビデオフレームをアップサンプリング処理し、デコーディングビデオフレームを取得する必要がある。デコーディング側はシーケンスレベルヘッダ情報、グループレベルヘッダ情報及びフレームレベルヘッダ情報のうちのいずれかから、現在のエンコーディングデータに対応するダウンサンプリング比情報又はダウンサンプリング方法情報を取得してもよい。
【０１６８】
一実施例では、被デコーディングビデオフレームに対応するターゲット処理方式がアップサンプリング処理方式であり、すなわち、被デコーディングビデオフレームに対応する入力ビデオフレームのエンコーディング側でのターゲット処理方式がアップサンプリング処理方式である場合、該再構成ビデオフレームをダウンサンプリング処理しないようにしてもよく、それによって再構成ビデオフレームの品質を維持する。
【０１６９】
上記ビデオデコーディング方法は、被デコーディングビデオフレームに対応するエンコーディングデータを取得し、被デコーディングビデオフレームに対応する解像度情報を取得し、被デコーディングビデオフレームに対応する解像度情報に応じてエンコーディングデータをデコーディングし、被デコーディングビデオフレームに対応する再構成ビデオフレームを取得し、被デコーディングビデオフレームに対応する解像度情報に応じて再構成ビデオフレームを処理し、対応するデコーディングビデオフレームを取得する。従って、デコーディングを行う時、被デコーディングビデオフレームに対応する解像度情報に応じて柔軟にデコーディングして、デコーディングビデオフレームを取得することができ、且つ、被デコーディングビデオフレームの解像度情報に応じてデコーディングすることで、正確なデコーディングビデオフレームを取得することができる。
【０１７０】
一実施例では、被デコーディングビデオシーケンスの被デコーディングビデオフレームに対応する再構成ビデオフレームをすべて同じ解像度に処理し、例えば、再構成ビデオフレームを、入力ビデオフレームの原解像度と同じデコーディングビデオフレームに処理する。
【０１７１】
一実施例では、図１３に示すように、被デコーディングビデオフレームに対応する解像度情報に応じてエンコーディングデータをデコーディングし、被デコーディングビデオフレームに対応する再構成ビデオフレームを取得するステップＳ１２０６は、以下のステップＳ１３０２〜Ｓ１３０４を含む。
【０１７２】
ステップＳ１３０２では、被デコーディングビデオフレームに対応する現在の参照フレームを取得する。
【０１７３】
例示的には、被デコーディングビデオフレームに対応する参照フレームの数は１つ又は複数であってもよい。例えば、被デコーディングビデオフレームがＰフレームである場合、対応する参照フレームが１個であってもよい。被デコーディングビデオフレームがＢフレームである場合、対応する参照フレームが２個であってもよい。被エンコーディングフレームに対応する参照フレームは参照関係に応じて取得されてもよく、参照関係は各ビデオコーデック標準によって異なってもよい。例えば、１つのビデオ画像グループ（Ｇｒｏｕｐ  Ｏｆ  Ｐｉｃｔｕｒｅ、ＧＯＰ）中の第２個ビデオフレームがＢフレームである場合、対応する被デコーディングビデオフレームは該ビデオグループのＩフレーム及びビデオグループの第４フレームであってもよい。又は、被デコーディングビデオフレームに対応する現在の参照フレームはその前方のエンコーディングされたフレームのうちの上位１個又は２個である。なお、現在の参照フレームはエンコーディング過程の現在の参照フレームに一致する。
【０１７４】
一実施例では、被デコーディングビデオフレームに対応する現在の参照フレームを取得することは、第２参照ルールを取得し、第２参照ルールは被デコーディングビデオフレームと現在の参照フレームの解像度の大小関係を含むステップと、第２参照ルールに応じて、被デコーディングビデオフレームに対応する現在の参照フレームを取得するステップと、を含む。
【０１７５】
例示的には、第２参照ルールは被デコーディングビデオフレームと現在の参照フレームの解像度の大小関係を決定し、なお、第１参照ルールは第２参照ルールに一致し、それによりエンコーディング過程で取得された現在の参照フレームとデコーディング過程で取得された参照フレームとの一致性を確保する。第１参照ルール、第２参照ルールは、コーデック標準で設定されてもよい。又は、エンコーディングを行う時、エンコーディングの応用シーン、リアルタイム性要件等に応じて第１参照ルールを選択し、且つエンコーディングデータに参照ルール情報を含ませ、コンピュータ機器がエンコーディングデータ中の参照ルール情報に応じて第２参照ルールを取得するようにしてもよい。解像度の大小関係は、被デコーディングビデオフレームと参照フレームが同じである又は異なることを含む。第２参照ルールは被デコーディングビデオフレームと参照フレームの解像度が同じであることを含む場合、第２参照ルールはさらに、被デコーディングビデオフレームと現在の参照フレームの解像度の処理方式参照ルールを含んでもよい。例えば処理方式参照ルールは、フル解像度処理方式の被デコーディングビデオフレームがフル解像度処理方式の現在の参照フレームを参照できること、及びダウンサンプリング処理方式の被デコーディングビデオフレームがダウンサンプリング処理方式の現在の参照フレームを参照できることのうちの１種又は２種を含んでもよい。第２参照ルールは被デコーディングビデオフレームと参照フレームの解像度が異なることを含む場合、第２参照ルールはさらに、被デコーディングビデオフレームの解像度が現在の参照フレームの解像度よりも大きいこと、及び被デコーディングビデオフレームの解像度が現在の参照フレームの解像度よりも小さいことのうちの１種又は２種を含んでもよい。従って、第２参照ルールは、原解像度の被デコーディングビデオフレームがダウンサンプリング解像度の参照フレームを参照できること、ダウンサンプリング解像度の被デコーディングビデオフレームが原解像度の参照フレームを参照できること、原解像度の被デコーディングビデオフレームが原解像度の参照フレームを参照できること、及びダウンサンプリング解像度の被デコーディングビデオフレームがダウンサンプリング解像度の参照フレームを参照できることのうちの１種又は複数種を含んでもよい。ここで、原解像度の被デコーディングビデオフレームとは、該被デコーディングビデオフレームの解像度が対応する入力ビデオフレームの解像度と同じであることを指し、原解像度の参照フレームとは、該参照フレームの解像度がそれに対応する入力ビデオフレームの解像度と同じであることを指し。ダウンサンプリング解像度の被デコーディングビデオフレームとは、該被デコーディングビデオフレームに対応する解像度情報がダウンサンプリングであることを指す。ダウンサンプリング解像度の参照フレームとは、該参照フレームに対応する解像度情報がダウンサンプリングであることを指す。第２参照ルールを取得した後、第２参照ルールに応じて、被デコーディングビデオフレームに対応する現在の参照フレームを取得し、取得された現在の参照フレームが第２参照ルールを満たすようにする。
【０１７６】
ステップＳ１３０４では、被デコーディングビデオフレームに対応する解像度情報及び現在の参照フレームに応じてエンコーディングデータをデコーディングし、被デコーディングビデオフレームに対応する再構成ビデオフレームを取得する。
【０１７７】
例示的には、コンピュータ機器は現在の参照フレームの中から、被デコーディングビデオフレームの被デコーディングブロックに対応する参照ブロックを取得し、参照ブロックに応じて被デコーディングブロックをデコーディングするようにしてもよい。さらに、被デコーディングビデオフレームの解像度情報に応じて、現在の参照フレームを処理し、対応するターゲット参照フレームを取得し、ターゲット参照フレームの中から、被デコーディングビデオフレームの被デコーディングブロックに対応するターゲット参照ブロックを取得し、ターゲット参照ブロックに応じてエンコーディングブロックをデコーディングし、被デコーディングビデオフレームに対応する再構成ビデオフレームを取得するようにしてもよい。
【０１７８】
一実施例では、被デコーディングビデオフレームに対応する解像度情報及び現在の参照フレームに応じてエンコーディングデータをデコーディングし、被デコーディングビデオフレームに対応する再構成ビデオフレームを取得するステップＳ１３０４は、被デコーディングビデオフレームに対応する解像度情報に応じて、現在の参照フレームをサンプリング処理し、対応するターゲット参照フレームを取得するステップと、ターゲット参照フレームに応じて被デコーディングビデオフレームをデコーディングし、被デコーディングビデオフレームに対応する再構成ビデオフレームを取得するステップと、を含む。
【０１７９】
例示的には、コンピュータ機器は、含まれる動きベクトル情報に応じて、ターゲット参照フレームの中からターゲット参照ブロックを取得し、ターゲット参照ブロックに応じて、被デコーディングブロックに対応する予測値を取得し、エンコーディングデータ中の予測残差及び予測値に応じて再構成ビデオフレームを取得する。
【０１８０】
一実施例では、被デコーディングビデオフレームに対応する解像度情報に応じて、現在の参照フレームをサンプリング処理し、対応するターゲット参照フレームを取得することは、被デコーディングビデオフレームの解像度情報及び動き推定ピクセル精度に応じて、現在の参照フレームをサンプリング処理し、対応するターゲット参照フレームを取得するステップを含む。
【０１８１】
一実施例では、被デコーディングビデオフレームの解像度情報及び動き推定ピクセル精度に応じて、現在の参照フレームをサンプリング処理し、対応するターゲット参照フレームを取得することは、被デコーディングビデオフレームの解像度情報及び動き推定ピクセル精度に応じて、ピクセル補間精度を算出するステップと、ピクセル補間精度に応じて、現在の参照フレームを直接サブピクセル補間処理し、対応するターゲット参照フレームを取得するステップと、を含む。
【０１８２】
一実施例では、被デコーディングビデオフレームの解像度情報及び動き推定ピクセル精度に応じて、現在の参照フレームをサンプリング処理し、対応するターゲット参照フレームを取得することは、被デコーディングビデオフレームの解像度情報に応じて現在の参照フレームをサンプリング処理し、中間参照フレームを取得するステップと、動き推定を行うピクセル精度に応じて、中間参照フレームをサブピクセル補間処理し、ターゲット参照フレームを取得するステップと、を含む。
【０１８３】
例示的には、被デコーディングビデオフレームは被エンコーディングビデオフレームの解像度に一致し、取得されたターゲット参照フレームも一致し、従って、被デコーディングビデオフレームに対応する解像度情報に応じて、現在の参照フレームをサンプリング処理し、対応するターゲット参照フレームを取得する方法は、エンコーディング側では被エンコーディングフレームの解像度情報に応じて現在の参照フレームをサンプリング処理し、対応するターゲット参照フレームを取得する方法に一致し、本願の実施例はここでは重複説明を省略する。
【０１８４】
一実施例では、デコーディング側はさらに、エンコーディングデータのヘッダ情報の中から、被デコーディングビデオフレームに対応するサンプリング方式情報を取得してもよい。シーケンスレベルヘッダ情報、グループレベルヘッダ情報及びフレームレベルヘッダ情報のうちのいずれかから、被デコーディングビデオフレームに対応するサブピクセル補間方式情報を取得してもよい。例えば、エンコーディングデータのフレームレベルヘッダ情報中の、サンプリング方式を決定するためのフラグビットＰｉｘｅｌ＿Ｓｏｕｒｓｅ＿Ｉｎｔｅｒｐｏｌａｔｉｏｎが０である場合、入力ビデオフレームに対応する現在の参照フレームに対して直接サブピクセル補間処理を行うことを採用することを示し、Ｐｉｘｅｌ＿Ｓｏｕｒｓｅ＿Ｉｎｔｅｒｐｏｌａｔｉｏｎが１である場合、入力ビデオフレームに対応する現在の参照フレームに対してサンプリング処理を行った後にサブピクセル補間処理を行うことを採用することを示す。デコーディング側は、エンコーディングデータ中のフラグビットで示されるサブピクセル補間方式と同じ方式に応じて、現在の参照フレームをサブピクセル補間処理して、ターゲット参照フレームを取得することができ、それによりターゲット参照フレームに応じて、エンコーディングデータをデコーディングして、再構成ビデオフレームを取得することができる。
【０１８５】
一実施例では、図１４に示すように、被デコーディングビデオフレームに対応する解像度情報及び現在の参照フレームに応じてエンコーディングデータをデコーディングし、被デコーディングビデオフレームに対応する再構成ビデオフレームを取得するステップＳ１３０４は、以下のステップＳ１４０２〜Ｓ１４０８を含む。
【０１８６】
ステップＳ１４０２では、被デコーディングビデオフレームに対応する解像度情報及び第１解像度情報に応じて、第３ベクトル変換パラメータを決定し、第１解像度情報はターゲット動きベクトル単位解像度情報又は現在の参照フレームの解像度情報を含む。
【０１８７】
例示的には、第３ベクトル変換パラメータは取得された動きベクトルの位置情報又は動きベクトルを変換することに用いられる。第３ベクトル変換パラメータは第１解像度情報と被デコーディングビデオフレームの解像度情報との比であってもよく、第３ベクトル変換パラメータは第１ベクトル変換パラメータに対応する。第３ベクトル変換パラメータを利用してターゲット動きベクトルを変換する場合、ターゲット動きベクトルを、被デコーディングビデオフレームに対応する解像度での対応する動きベクトルに変換してもよく、このとき、第３ベクトル変換パラメータは第１ベクトル変換パラメータの逆数であってもよい。第３ベクトル変換パラメータを利用して動きベクトルに対応する位置情報を変換する場合、エンコーディング側では第１ベクトル変換パラメータが第１位置情報を変換することに用いられると、被デコーディングブロックがエンコーディングブロックの位置情報と同じであるため、第３ベクトル変換パラメータと第１ベクトル変換パラメータが同じである。エンコーディング側では第１ベクトル変換パラメータが第２位置情報を変換することに用いられると、ターゲット動きベクトル及び第１位置情報に応じて算出された位置値は、エンコーディング側では第１ベクトル変換パラメータに応じて第２位置情報を変換して取得された位置値であるため、第３ベクトル変換パラメータは第１ベクトル変換パラメータの逆数であってもよい。
【０１８８】
ステップＳ１４０４では、エンコーディングデータに応じて被デコーディングビデオフレーム中の各被デコーディングブロックに対応するターゲット動きベクトルを取得する。
【０１８９】
例示的には、エンコーディングデータにターゲット動きベクトルが含まれる場合、コンピュータ機器はエンコーディングデータの中からターゲット動きベクトルを読み取る。エンコーディングデータに動きベクトル差が含まれる場合、コンピュータ機器はターゲット予測動きベクトルを算出し、動きベクトル差及びターゲット予測動きベクトルに応じてターゲット動きベクトルを取得するようにしてもよい。
【０１９０】
ステップＳ１４０６では、第３ベクトル変換パラメータ及びターゲット動きベクトルに応じて、被デコーディングビデオフレーム中の各被デコーディングブロックに対応するターゲット参照ブロックを取得する。
【０１９１】
例示的には、第３ベクトル変換パラメータを取得した後、コンピュータ機器は第３ベクトル変換パラメータに応じて、取得された動きベクトル又は動きベクトルに対応する位置情報を変換し、ターゲット参照ブロックに対応する位置情報を取得し、それによりターゲット参照ブロックを取得する。
【０１９２】
ステップＳ１４０８では、ターゲット参照ブロックに応じてエンコーディングデータをデコーディングし、被デコーディングビデオフレームに対応する再構成ビデオフレームを取得する。
【０１９３】
例示的には、ターゲット参照ブロックを取得した後、コンピュータ機器はターゲット参照ブロックのピクセル値及びエンコーディングデータに含まれる被デコーディングブロックの予測残差に応じて、再構成ビデオフレームの各画像ブロックのピクセル値を取得し、再構成ビデオフレームを取得する。
【０１９４】
一実施例では、被デコーディングビデオフレームに対応する解像度情報及び第１解像度情報に応じて第３ベクトル変換パラメータを決定するステップＳ１４０２は、被デコーディングビデオフレームに対応する解像度情報及び現在の参照フレームの解像度情報に応じて第３ベクトル変換パラメータを決定するステップを含み、第３ベクトル変換パラメータ及びターゲット動きベクトルに応じて、被デコーディングビデオフレーム中の各被デコーディングブロックに対応するターゲット参照ブロックを取得するステップＳ１４０６は、現在の被デコーディングブロックに対応する第１位置情報を取得するステップと、第１位置情報、第３ベクトル変換パラメータ及びターゲット動きベクトルに応じて、現在の被デコーディングブロックに対応するターゲット参照ブロックを取得するステップと、を含む。
【０１９５】
例示的には、コンピュータ機器は第１位置情報、第３ベクトル変換パラメータ及びターゲット動きベクトルに応じて、ターゲット参照ブロックに対応する第２位置情報を取得し、第２位置情報に応じてターゲット参照ブロックを取得するようにしてもよい。エンコーディングとデコーディングの対応性によって、エンコーディング側では第１ベクトル変換パラメータが第１位置情報を変換することに用いられると、被デコーディングブロックとエンコーディングブロックの位置情報が同じであるため、第３ベクトル変換パラメータは第１ベクトル変換パラメータと同じである。エンコーディング側では第１ベクトル変換パラメータが第２位置情報を変換することに用いられると、ターゲット動きベクトル及び第１位置情報に応じて算出された位置値はエンコーディング側では第１ベクトル変換パラメータに応じて第２位置情報を変換して取得された位置値であるため、第３ベクトル変換パラメータは第１ベクトル変換パラメータの逆数である。
【０１９６】
例えば、被デコーディングビデオフレームの解像度は１２００＊１２００ピクセルであり、現在の参照フレームの解像度は６００＊６００ピクセルである。第１ベクトル変換パラメータは第２位置情報を変換することに用いられ、第１ベクトル変換パラメータは２であり、この場合、第３ベクトル変換パラメータは１／２である。第１位置情報を（６，８）、ターゲット動きベクトルを（０，２）と仮定すると、中間位置情報は（６，８）−（０，２）＝（６，６）であり、ターゲット参照ブロックに対応する第２位置情報は（６＊１／２，６＊１／２）＝（３，３）である。
【０１９７】
例えば、被デコーディングビデオフレームの解像度は１２００＊１２００ピクセルであり、現在の参照フレームの解像度は６００＊６００ピクセルであり、第１ベクトル変換パラメータは第１位置情報を変換することに用いられ、第１ベクトル変換パラメータは１／２であり、この場合、第３ベクトル変換パラメータは１／２である。第１位置情報を（６，８）と仮定すると、ターゲット動きベクトルは（０，１）であり、第２位置情報は（６＊１／２，８＊１／２）−（０，１）＝（３，３）である。
【０１９８】
一実施例では、被デコーディングビデオフレームに対応する解像度情報及び第１解像度情報に応じて第３ベクトル変換パラメータを決定するステップＳ１４０２は、被デコーディングビデオフレームに対応する解像度情報及びターゲット動きベクトル単位解像度情報に応じて第３ベクトル変換パラメータを決定するステップを含み、第３ベクトル変換パラメータ及びターゲット動きベクトルに応じて、被デコーディングビデオフレーム中の各被デコーディングブロックに対応するターゲット参照ブロックを取得するステップＳ１４０４は、ターゲット動きベクトル及び第３ベクトル変換パラメータに応じて、第１動きベクトルを取得するステップと、第１動きベクトルに応じて、現在の被デコーディングブロックに対応するターゲット参照ブロックを取得するステップと、を含む。
【０１９９】
例示的には、第３ベクトル変換パラメータは被デコーディングビデオフレームに対応する解像度情報及びターゲット動きベクトル単位解像度情報に応じて決定され、ターゲット動きベクトルを、被デコーディングフレームに対応する解像度での対応する第１動きベクトルに変換することに用いられる。第３ベクトル変換パラメータを取得した後、コンピュータ機器は第３ベクトル変換パラメータとターゲット動きベクトルを乗算し、取得された積を第１動きベクトルとする。なお、第３ベクトル変換パラメータ及びターゲット動きベクトルに応じて第１動きベクトルを取得するという過程は、第１ベクトル変換パラメータ及び第１動きベクトルに応じて現在のエンコーディングブロックに対応するターゲット動きベクトルを取得する過程の逆過程である。例えば、エンコーディング側では、該被デコーディングブロックに対応するエンコーディングブロック第１ベクトル変換パラメータは２に等しい。取得された第１動きベクトルは（２，２）であり、第１ベクトル変換パラメータと第１動きベクトル（２，２）との積に応じてターゲット動きベクトルを（４，４）と取得する。この場合、デコーディング過程では、第３ベクトル変換パラメータは１／２であり、取得されたターゲット動きベクトルは（４，４）であり、第３ベクトル変換パラメータ１／２とターゲット動きベクトル（４，４）との積に応じて第１動きベクトルを（２，２）と取得する。
【０２００】
一実施例では、エンコーディングデータに含まれるのが動きベクトル差である場合、エンコーディングデータに応じて被デコーディングビデオフレーム中の各被デコーディングブロックに対応するターゲット動きベクトルを取得することは、エンコーディングデータに応じて、被デコーディングビデオフレーム中の現在の被デコーディングブロックに対応する動きベクトル差を取得するステップと、現在の被デコーディングブロックに対応する初期予測動きベクトルを取得するステップと、初期予測動きベクトルに対応する現在の動きベクトル単位解像度情報及びターゲット動きベクトル単位解像度情報に応じて、第２ベクトル変換係数を取得するステップと、初期予測動きベクトル及び第２ベクトル変換係数に応じて、現在のデコーディングブロックに対応するターゲット予測動きベクトルを取得するステップと、ターゲット予測動きベクトル及び動きベクトル差に応じてターゲット動きベクトルを取得するステップと、を含む。
【０２０１】
例示的には、デコーディング及びエンコーディング過程では被デコーディングブロックと被エンコーディングブロックが対応し、初期予測動きベクトル取得ルールが同じであるため、現在の被デコーディングブロックに対応する初期動き予測ベクトルは現在の被エンコーディングブロックに対応する初期予測動きベクトルに一致し、コンピュータ機器がターゲット予測動きベクトルを取得する方法は、エンコーディング過程における方法を参照すればよいため、詳細説明を省略する。ターゲット動きベクトルはターゲット予測動きベクトルと動きベクトル差との和である。
【０２０２】
一実施例では、さらに、被デコーディングビデオフレームに対応する前方デコーディングビデオフレームにおけるターゲット予測タイプデコーディングブロックの比を計算し、比に応じて、被デコーディングビデオフレームに対応するターゲット処理方式を決定し、ターゲット処理方式に応じて、被デコーディングビデオフレームに対応する解像度情報を取得するようにしてもよい。
【０２０３】
例示的には、被デコーディングビデオフレームに対応するターゲット処理方式はエンコーディング側における対応する入力ビデオフレームのターゲット処理方式に一致し、すなわち、被デコーディングビデオフレームに対応するターゲット処理方式とは、該デコーディングビデオフレームに対応する入力ビデオフレームのターゲット処理方式である。ターゲット予測タイプデコーディングブロックはターゲット予測タイプエンコーディングブロックに対応する。前方デコーディングビデオフレームは被デコーディングビデオフレームの前のデコーディングされたビデオフレームであり、前方デコーディングビデオフレームも前方エンコーディングビデオフレームに対応し、従って、エンコーディング側で取得されたターゲット予測タイプエンコーディングブロックの比とデコーディング側で取得されたターゲット予測タイプデコーディングブロックの比の計算方法及び結果も一致する。ターゲット予測タイプデコーディングブロックの比を取得する方法はターゲット予測タイプエンコーディングブロックの比を取得する方法を参照すればよいため、ここでは重複説明を省略する。ターゲット処理方式を取得した後、ターゲット処理方式がフル解像度処理方式である場合、対応する解像度情報が原解像度である。ターゲット処理方式がダウンサンプリング処理方式である場合、予め設定されたダウンサンプリング比を取得し、又はエンコーディングデータ中のヘッダ情報からダウンサンプリング比を取得する。
【０２０４】
一実施例では、コンピュータ機器は前方デコーディングビデオフレーム中のフレーム内デコーディングブロックの、前方デコーディングビデオフレームにおける比を計算してもよい。比がターゲット閾値よりも大きい場合、ターゲット処理方式をダウンサンプリング処理方式と決定する。
【０２０５】
フレーム内デコーディングブロックに対応する比について、該比がターゲット閾値よりも大きい場合、被デコーディングビデオフレームに対応するターゲット処理方式がダウンサンプリング処理方式であると決定し、そうでない場合、ビデオフレームに対応するターゲット処理方式がフル解像度処理方式であると決定するようにしてもよい。例えば、比がターゲット閾値よりも大きい場合、コンピュータ機器は、被デコーディングビデオフレームに対応するターゲット処理方式がダウンサンプリング処理方式であると決定し、そうでない場合、ビデオフレームに対応するターゲット処理方式がフル解像度処理方式であると決定する。
【０２０６】
ここで、ターゲット閾値は被デコーディングビデオフレームに対応する参照フレームの処理方式に応じて決定されてもよい。被デコーディングビデオフレームに対応する参照フレームの処理方式がダウンサンプリング方式である場合、コンピュータ機器は第１参照閾値Ｔ１を取得し、第１参照閾値Ｔ１をターゲット閾値とする。同様に、被デコーディングビデオフレームに対応する参照フレームの処理方式がフル解像度処理方式である場合、コンピュータ機器は第２参照閾値Ｔ２を取得し、第２参照閾値Ｔ２をターゲット閾値とする。更に、被デコーディングビデオフレームに対応する参照フレームの解像度情報に応じてターゲット閾値を取得した後、ターゲット閾値、及び前方デコーディングビデオフレーム中のフレーム内デコーディングブロックの、前方デコーディングビデオフレームにおける比に応じて、被デコーディングビデオフレームの処理方式を決定する。ここで、前方デコーディングビデオフレーム中のフレーム内デコーディングブロックの、前方デコーディングビデオフレームにおける比がターゲット閾値よりも大きい場合、被デコーディングビデオフレームに対応するターゲット処理方式がダウンサンプリング処理方式であると決定する。
【０２０７】
一実施例では、被デコーディングビデオフレームに対応するエンコーディングデータを取得する前、さらに、被デコーディングビデオフレームに対応する被デコーディングビデオシーケンスを取得し、被デコーディングビデオシーケンスに対応するビデオシーケンスデコーディングモードを取得するステップを含み、ここで、ビデオシーケンスデコーディングモードは固定解像度エンコーディングモード又はハイブリッド解像度エンコーディングモードを含み、ビデオシーケンスデコーディングモードがハイブリッド解像度エンコーディングモードである場合、被デコーディングビデオシーケンスの各被デコーディングビデオフレームに対してハイブリッド解像度デコーディング方法を実行し、ビデオシーケンスデコーディングモードが固定解像度エンコーディングモードである場合、被デコーディングビデオシーケンスに対して固定解像度デコーディングを行う。
【０２０８】
例示的には、コンピュータ機器は、エンコーディングデータの中からビデオシーケンスエンコーディングモード情報を取得し、ビデオシーケンスエンコーディングモード情報に応じてビデオシーケンスデコーディングモードを取得するようにしてもよい。例えば、ビデオシーケンスエンコーディングモード情報に対応するビデオシーケンスエンコーディングモードが固定解像度エンコーディングモードである場合、対応するビデオシーケンスデコーディングモードが固定解像度デコーディングモードである。固定解像度デコーディングモードでは、ビデオシーケンスの各被デコーディングビデオフレームの解像度が一致する。ビデオシーケンスエンコーディングモード情報に対応するビデオシーケンスエンコーディングモードがハイブリッド解像度エンコーディングモードである場合、対応するビデオシーケンスデコーディングモードがハイブリッド解像度デコーディングモードであり、すなわち、被デコーディングビデオシーケンス中の被デコーディングビデオフレームに解像度が異なる場合がある。
【０２０９】
一実施例では、コンピュータ機器は、エンコーディングデータのヘッダ情報の中から、被デコーディングビデオフレームに対応するデコーディングフレームワークを決定するようにしてもよい。例示的には、コンピュータ機器は、エンコーディングデータに対応するシーケンスレベルヘッダ情報の中から、現在のエンコーディングデータに対応する入力ビデオフレームシーケンス中の各入力ビデオフレームのエンコーディング時に採用されるエンコーディングフレームワークを取得し、それによりそれにマッチングする被デコーディングビデオフレームのデコーディングフレームワークを決定するようにしてもよい。例えば、エンコーディングデータのシーケンスレベルヘッダ情報中の、採用されるエンコーディングフレームワークを決定するためのフラグビットＳｅｑｕｅｎｃｅ＿Ｍｉｘ＿Ｆｌａｇが０である場合、入力ビデオフレームシーケンス中の各入力ビデオフレームのエンコーディング時にともに固定解像度のエンコーディングフレームワークを採用することを示し、このとき、デコーディング側は固定解像度のデコーディングフレームワークを採用してエンコーディングデータをデコーディングし、被デコーディングビデオフレームに対応する再構成ビデオフレームを取得するようにしてもよく、Ｓｅｑｕｅｎｃｅ＿Ｍｉｘ＿Ｆｌａｇが１である場合、入力ビデオフレームシーケンス中の各入力ビデオフレームのエンコーディング時にともにハイブリッド解像度のエンコーディングフレームワークを採用することを示し、この場合、デコーディング側はハイブリッド適用解像度のデコーディングフレームワークを採用してエンコーディングデータをデコーディングし、再構成ビデオフレームシーケンスを取得することができる。
【０２１０】
一実施例では、被デコーディングビデオシーケンスに対応するビデオシーケンスデコーディングモードを取得することは、現在の環境情報を取得し、現在の環境情報は現在のエンコーディング環境情報、現在のデコーディング環境情報のうちの１種又は複数種情報を含むステップと、現在の環境情報に応じて、被デコーディングビデオシーケンスに対応するターゲットビデオシーケンスデコーディングモードを決定するステップと、を含んでもよい。
【０２１１】
例示的には、コンピュータ機器はさらに、エンコーディング側でビデオシーケンスエンコーディングモードを計算する方法に応じて、対応するターゲットビデオシーケンスデコーディングモードを取得するようにしてもよく、従って、本願の実施例では、現在の環境情報に応じてターゲットビデオシーケンスデコーディングモードを決定することは現在の環境情報に応じてターゲットビデオシーケンスエンコーディングモードを決定することに一致し、ここでは重複説明を省略する。
【０２１２】
一実施例では、現在の環境情報は被デコーディングビデオシーケンスに対応する応用シーンを含み、応用シーンに応じて、被デコーディングビデオシーケンスに対応するビデオシーケンスデコーディングモードを取得するようにしてもよい。
【０２１３】
以下、ビデオシーケンスＡに対応するエンコーディングデータをデコーディングすることを例に、ビデオデコーディング方法について説明する。ここで、ビデオシーケンスＡのエンコーディングデータは上記ビデオエンコーディング方法における例の説明を参照すればよい。デコーディング側に対応する被デコーディングビデオフレームにおける入力ビデオフレームａ、ｂ、ｃの名称をそれぞれｅ、ｆ及びｇと仮定する。
【０２１４】
１．受信端末はビデオシーケンスＡに対応するエンコーディングデータを取得し、エンコーディングデータに対応するシーケンスヘッダ情報の中から、ターゲットビデオシーケンスエンコーディングモードがハイブリッド解像度エンコーディングモードであることを取得し、従って、ハイブリッド解像度デコーディングフレームワークを利用してエンコーディングデータをデコーディングする。
【０２１５】
２．ハイブリッド解像度デコーディングフレームワークの解像度情報取得ユニットは第１個の被デコーディングビデオフレームｅに対応する解像度情報を取得する。なお、ｅに対応するエンコーディングデータはａ１をエンコーディングして取得されたデータである。ｅをフレーム内デコーディングし、再構成ビデオフレームｅ１を取得し、ｅに対応する解像度情報が１／２であるため、再構成ビデオフレームｅ１に対してサンプリング比が２のアップサンプリング処理を行い、デコーディングビデオフレームｅ２を取得するようにしてもよい。
【０２１６】
３．ハイブリッド解像度デコーディングフレームワークの解像度情報取得ユニットは第２個の被デコーディングビデオフレームｆに対応する解像度情報を取得する。なお、ｆに対応するエンコーディングデータはｂ１をエンコーディングして取得されたデータである。ｆをフレーム間デコーディングし、再構成ビデオフレームｆ１を取得し、ｆに対応する解像度情報としてダウンサンプリング比が１／４であるため、再構成ビデオフレームｆ１に対してサンプリング比が４のアップサンプリング処理を行い、デコーディングビデオフレームｆ２を取得するようにしてもよい。
【０２１７】
デコーディング過程は以下の通りである。ｆがフレーム間予測フレームであるため、再構成ビデオフレームｅ１を現在の参照フレームとする必要があり、なお、ｅ１がａ２と同じであり、ｅ１に対して、ａ２と同じサンプリング処理を行い、ｅ３を取得し、ここでのｅ３はａ３と同じで、ターゲット参照フレームである。エンコーディングデータの中から、現在の被デコーディングブロックに対応する動きベクトル差がＭＶＤ１であることを取得し、ＭＶＤ１がターゲット解像度、すなわち原解像度であるため、ＭＶＤ１を、ｆに対応する解像度に変換する必要があり、従って、ＭＶＤ３がＭＶＤ１／４であることを取得してもよい。初期予測ベクトルがＭＶ２であることを取得し、初期予測ベクトルが１／４ダウンサンプリング比に対応する解像度で算出されるものであり、ｆに対応する解像度と同じであるため、第１動きベクトルがＭＶ１であり、ＭＶＤ１／４＋ＭＶ２に等しいことを取得してもよい。ＭＶ１に応じてターゲット参照ブロックを取得する。ターゲット参照ブロックに応じて、被デコーディングブロックに対応する予測値を取得し、予測残差ｐ１と予測値を加算して再構成して、再構成ビデオフレームｆ１に対応する再構成ブロックを取得する。
【０２１８】
４．ハイブリッド解像度デコーディングフレームワークの解像度情報取得ユニットは第３個の被デコーディングビデオフレームｇに対応するエンコーディングデータを取得し、なお、ｇに対応するエンコーディングデータはｃ１をエンコーディングして取得されたデータである。ｇをフレーム間デコーディングし、再構成ビデオフレームｇ１を取得し、ｇに対応する解像度情報が１／８であるため、再構成ビデオフレームｆ１に対して、サンプリング比が８のアップサンプリング処理を行い、デコーディングビデオフレームｇ２を取得するようにしてもよい。
【０２１９】
デコーディング過程は以下の通りである。ｇがフレーム間予測フレームであるため、再構成ビデオフレームｆ１を現在の参照フレームとする必要がある。なお、ｆ１はｂ２と同じである。ｆ１に対して、ｂ２と同じサンプリング処理を行い、ｆ３を取得する。ここでのｆ３はｂ３と同じで、ターゲット参照フレームである。エンコーディングデータの中から、現在の被デコーディングブロックに対応する動きベクトル差がＭＶＤ２であることを取得し、ＭＶＤ２がターゲット解像度、すなわち原解像度であるため、ＭＶＤ２を、ｇに対応する解像度に変換する必要があり、従って、ＭＶＤ２がＭＶＤ１／８であることを取得してもよい。初期予測ベクトルがＭＶ４であることを取得し、初期予測ベクトルが１／４ダウンサンプリング比に対応する解像度で算出されるため、ｆに対応する解像度に変換する必要があり、ｆに対応するダウンサンプリング比が１／８であるため、第１動きベクトルがＭＶ３であり、ＭＶＤ２／８＋ＭＶ４／２に等しいことを取得してもよい。ＭＶ３に応じて、ターゲット参照ブロックを取得する。ターゲット参照ブロックに応じて、被デコーディングブロックに対応する予測値を取得し、予測残差ｐ２と予測値を加算して再構成して、再構成ビデオフレームｇ１に対応する再構成ブロックを取得する。
【０２２０】
５．受信端末はｅ２、ｆ２及びｇ２を再生する。
【０２２１】
図１５に示すように、一実施例では、ビデオエンコーディング装置を提供し、該ビデオエンコーディング装置は上記サーバ１２０又は端末１１０に集積されてもよく、入力ビデオフレーム取得モジュール１５０２、処理方式取得モジュール１５０４、処理モジュール１５０６及びエンコーディングモジュール１５０８を含んでもよい。
【０２２２】
入力ビデオフレーム取得モジュール１５０２は、入力ビデオフレームを取得することに用いられる。
【０２２３】
処理方式取得モジュール１５０４は、候補処理方式の中から入力ビデオフレームに対応するターゲット処理方式を決定し、候補処理方式はフル解像度処理方式及びダウンサンプリング処理方式を含むことに用いられる。
【０２２４】
処理モジュール１５０６は、ターゲット処理方式に応じて入力ビデオフレームを処理し、被エンコーディングフレームを取得することに用いられる。
【０２２５】
エンコーディングモジュール１５０８は、被エンコーディングフレームに対応する解像度情報に応じて、被エンコーディングフレームをエンコーディングして、入力ビデオフレームに対応するエンコーディングデータを取得することに用いられる。
【０２２６】
その一実施例では、エンコーディングモジュール１５０８はさらに、ターゲット処理方式に対応するターゲット処理方式情報を、入力ビデオフレームに対応するエンコーディングデータに追加することに用いられる。
【０２２７】
その一実施例では、処理方式取得モジュール１５０４は、入力ビデオフレームに対応する処理パラメータを取得し、処理パラメータに応じて、入力ビデオフレームに対応するターゲット処理方式を決定することに用いられ、ターゲット処理方式に対応するターゲット処理方式情報を、入力ビデオフレームに対応するエンコーディングデータに追加することは、処理パラメータがデコーディング中に再現できない場合、ターゲット処理方式に対応するターゲット処理方式情報を、入力ビデオフレームに対応するエンコーディングデータに追加するステップを含む。
【０２２８】
その一実施例では、エンコーディングモジュール１５０８は、現在の参照フレーム取得ユニット、及びエンコーディングユニットを含む。
【０２２９】
上記現在の参照フレーム取得ユニットは、被エンコーディングフレームに対応する現在の参照フレームを取得することに用いられる。
【０２３０】
上記エンコーディングユニットは、被エンコーディングフレームに対応する解像度情報及び現在の参照フレームに応じて被エンコーディングフレームをエンコーディングし、入力ビデオフレームに対応するエンコーディングデータを取得することに用いられる。
【０２３１】
その一実施例では、エンコーディングユニットは、被エンコーディングフレームの解像度情報及び第１解像度情報に応じて、第１ベクトル変換パラメータを決定し、第１解像度情報は現在の参照フレームの解像度情報又は入力ビデオフレームに対応するターゲット動きベクトル単位解像度情報を含み、第１ベクトル変換パラメータに応じて、被エンコーディングフレーム中の各エンコーディングブロックに対応するターゲット動きベクトルを取得することに用いられる。
【０２３２】
その一実施例では、エンコーディングモジュール１５０８は、被エンコーディングフレームの解像度情報に応じて現在の参照フレームをサンプリング処理し、対応するターゲット参照フレームを取得し、ターゲット参照フレームに応じて被エンコーディングフレームをエンコーディングし、入力ビデオフレームに対応するエンコーディングデータを取得することに用いられる。
【０２３３】
図１６に示すように、一実施例では、ビデオデコーディング装置を提供し、該ビデオデコーディング装置は上記サーバ１２０又は端末１１０に集積されてもよく、具体的には、エンコーディングデータ取得モジュール１６０２、解像度情報取得モジュール１６０４、再構成モジュール１６０６及びデコーディングビデオフレーム取得モジュール１６０８を含んでもよい。
【０２３４】
エンコーディングデータ取得モジュール１６０２は、被デコーディングビデオフレームに対応するエンコーディングデータを取得することに用いられる。
【０２３５】
解像度情報取得モジュール１６０４は、被デコーディングビデオフレームに対応する解像度情報を取得することに用いられる。
【０２３６】
再構成モジュール１６０６は、被デコーディングビデオフレームに対応する解像度情報に応じてエンコーディングデータをデコーディングし、被デコーディングビデオフレームに対応する再構成ビデオフレームを取得することに用いられる。
【０２３７】
デコーディングビデオフレーム取得モジュール１６０８は、被デコーディングビデオフレームに対応する解像度情報に応じて、再構成ビデオフレームを処理し、対応するデコーディングビデオフレームを取得することに用いられる。
【０２３８】
その一実施例では、解像度情報取得モジュール１６０４は、エンコーディングデータの中からターゲット処理方式情報を読み取り、ターゲット処理方式情報に応じて、被デコーディングビデオフレームに対応する解像度情報を取得することに用いられる。
【０２３９】
その一実施例では、解像度情報取得モジュール１６０４は、被デコーディングビデオフレームに対応する前方デコーディングビデオフレームにおけるターゲット予測タイプデコーディングブロックの比を計算し、比に応じて、被デコーディングビデオフレームに対応するターゲット処理方式を決定し、ターゲット処理方式に応じて、被デコーディングビデオフレームに対応する解像度情報を取得することに用いられる。
【０２４０】
その一実施例では、再構成モジュール１６０６は、被デコーディングビデオフレームに対応する現在の参照フレームを取得し、被デコーディングビデオフレームに対応する解像度情報及び現在の参照フレームに応じてエンコーディングデータをデコーディングし、被デコーディングビデオフレームに対応する再構成ビデオフレームを取得することに用いられる。
【０２４１】
なお、上記実施例に係る装置はその機能を実現する時、上記各機能モジュールの分割のみを例に説明したが、実際の応用では、必要に応じて、上記機能を、異なる機能モジュールに割り当てて完了し、すなわち、装置の内部構造を異なる機能モジュールに分割するようにしてもよく、それによって以上説明されたすべて又は一部の機能を完了する。また、上記実施例に係る装置は方法の実施例と同一発想に属し、その実現過程は具体的には方法の実施例を参照すればよいため、ここでは重複説明を省略する。
【０２４２】
図１７は一実施例におけるコンピュータ機器の内部構造図を示す。該コンピュータ機器は図１中の端末１１０であってもよい。図１７に示すように、該コンピュータ機器はシステムバスによって接続されたプロセッサ、メモリ、ネットワークインタフェース、入力装置及びディスプレイスクリーンを含む。ここで、メモリは不揮発性記憶媒体及び内部メモリを含む。該コンピュータ機器の不揮発性記憶媒体はオペレーティングシステムが記憶されており、コンピュータプログラムがさらに記憶されてもよい。該コンピュータプログラムがプロセッサにより実行されると、プロセッサに、ビデオエンコーディング方法及びビデオデコーディング方法のうちの１種又は２種の方法を実現させることができる。該内部メモリはコンピュータプログラムがさらに記憶されてもよく、該コンピュータプログラムがプロセッサにより実行されると、プロセッサに、ビデオエンコーディング方法及びビデオデコーディング方法のうちの１種又は２種の方法を実行させることができる。コンピュータ機器のディスプレイスクリーンは液晶ディスプレイスクリーン又は電子インクディスプレイスクリーンであってもよい。コンピュータ機器の入力装置はディスプレイスクリーンに被覆されたタッチ層であってもよく、コンピュータ機器筐体に設置されたキー、トラックボール又はタッチパッドであってもよく、外部のキーボード、タッチパッド又はマウス等であってもよい。
【０２４３】
図１８は一実施例におけるコンピュータ機器の内部構造図を示す。該コンピュータ機器は図１中のサーバ１２０であってもよい。図１８に示すように、該コンピュータ機器はシステムバスによって接続されたプロセッサ、メモリ及びネットワークインタフェースを含む。ここで、メモリは不揮発性記憶媒体及び内部メモリを含む。該コンピュータ機器の不揮発性記憶媒体はオペレーティングシステムが記憶されており、コンピュータプログラムがさらに記憶されてもよい。該コンピュータプログラムがプロセッサにより実行されると、プロセッサに、ビデオエンコーディング方法及びビデオデコーディング方法のうちの１種又は２種の方法を実現させることができる。該内部メモリはコンピュータプログラムがさらに記憶されてもよく、該コンピュータプログラムがプロセッサにより実行されると、プロセッサに、ビデオエンコーディング方法及びビデオデコーディング方法のうちの１種又は２種の方法を実行させることができる。
【０２４４】
当業者であれば、図１７及び図１８に示される構造は、単に本願の解決手段に関連する部分構造のブロック図であり、且つ本願の解決手段を適用したコンピュータ機器を限定するものではなく、具体的には、コンピュータ機器は図示よりも多い又は少ない部材を含み、又はいくつかの部材を組み合わせ、又は異なる部材配置を有するようにしてもよいと理解できる。
【０２４５】
一実施例では、本願に係るビデオエンコーディング装置は１種のコンピュータプログラムの形態として実現されてもよく、コンピュータプログラムは図１７及び１８に示されるコンピュータ機器上で実行されてもよい。コンピュータ機器のメモリに、該ビデオエンコーディング装置を構成する各プログラムモジュール、例えば、図１５に示される入力ビデオフレーム取得モジュール１５０２、処理方式取得モジュール１５０４、処理モジュール１５０６及びエンコーディングモジュール１５０８が記憶されてもよい。各プログラムモジュールから構成されるコンピュータプログラムによって、プロセッサが本明細書に説明された本願の各実施例のビデオエンコーディング方法のステップを実行する。
【０２４６】
例えば、図１７及び１８に示されるコンピュータ機器は、図１５に示されるビデオエンコーディング装置における入力ビデオフレーム取得モジュール１５０２によって、入力ビデオフレームを取得し、処理方式取得モジュール１５０４によって、候補処理方式の中から入力ビデオフレームに対応するターゲット処理方式を決定し、候補処理方式はフル解像度処理方式及びダウンサンプリング処理方式を含み、処理モジュール１５０６によって、ターゲット処理方式に応じて入力ビデオフレームを処理し、被エンコーディングフレームを取得し、エンコーディングモジュール１５０８によって、被エンコーディングフレームに対応する解像度情報に応じて、被エンコーディングフレームをエンコーディングして、入力ビデオフレームに対応するエンコーディングデータを取得するようにしてもよい。
【０２４７】
一実施例では、本願に係るビデオデコーディング装置は１種のコンピュータプログラムの形態として実現されてもよく、コンピュータプログラムは図１７及び１８に示されるコンピュータ機器上で実行されてもよい。コンピュータ機器のメモリに、該ビデオデコーディング装置を構成する各プログラムモジュール、例えば、図１６に示されるエンコーディングデータ取得モジュール１６０２、解像度情報取得モジュール１６０４、再構成モジュール１６０６及びデコーディングビデオフレーム取得モジュール１６０８が記憶されてもよい。各プログラムモジュールから構成されるコンピュータプログラムによって、プロセッサが本明細書に説明された本願の各実施例のビデオエンコーディング方法のステップを実行する。
【０２４８】
例えば、図１７及び１８に示されるコンピュータ機器は図１６に示されるビデオデコーディング装置のエンコーディングデータ取得モジュール１６０２によって、被デコーディングビデオフレームに対応するエンコーディングデータを取得することに用いられ、解像度情報取得モジュール１６０４によって、被デコーディングビデオフレームに対応する解像度情報を取得することに用いられ、再構成モジュール１６０６によって、被デコーディングビデオフレームに対応する解像度情報に応じてエンコーディングデータをデコーディングし、被デコーディングビデオフレームに対応する再構成ビデオフレームを取得することに用いられ、デコーディングビデオフレーム取得モジュール１６０８によって、被デコーディングビデオフレームに対応する解像度情報に応じて、再構成ビデオフレームを処理し、対応するデコーディングビデオフレームを取得することに用いられる。
【０２４９】
一実施例では、コンピュータ機器を提案し、コンピュータ機器はメモリ、プロセッサ、及びメモリに記憶され、且つプロセッサによって実行可能なコンピュータプログラムを含み、プロセッサはコンピュータプログラムを実行すると、上記ビデオエンコーディング方法のうちのいずれかの方法を実現する。
【０２５０】
一実施例では、コンピュータ可読記憶媒体を提供し、コンピュータ可読記憶媒体にコンピュータプログラムが記憶されており、コンピュータプログラムがプロセッサにより実行されると、プロセッサにビデオエンコーディング方法のうちのいずれかの方法を実行させる。
【０２５１】
一実施例では、コンピュータ機器を提案し、コンピュータ機器はメモリ、プロセッサ、及びメモリに記憶され、且つプロセッサによって実行可能なコンピュータプログラムを含み、プロセッサがコンピュータプログラムを実行すると、ビデオデコーディング方法のうちのいずれかの方法を実現する。
【０２５２】
一実施例では、コンピュータ可読記憶媒体を提供し、コンピュータ可読記憶媒体にコンピュータプログラムが記憶されており、コンピュータプログラムがプロセッサにより実行されると、プロセッサにビデオデコーディング方法のうちのいずれかの方法を実行させる。
【０２５３】
なお、本願の各実施例のフローチャート中の各ステップは矢印の指示に応じて順に表示されているが、これらのステップは必ずしも矢印で指示される順序で実行されるとは限らない。本明細書において明確に説明しない限り、これらのステップの実行は厳密な順序に限定されず、これらのステップはほかの順序で実行されてもよい。且つ、各実施例の少なくとも一部のステップは複数のサブステップ又は複数の段階を含んでもよく、これらのサブステップ又は段階は必ずしも同一時点で実行して完了されないが、異なる時点で実行されてもよく、これらのサブステップ又は段階の実行順序も必ずしも順に実行されないが、ほかのステップ又はほかのステップのサブステップ又は段階の少なくとも一部と順番又は交互に実行されてもよい。
【０２５４】
当業者であれば、上記実施例の方法におけるすべて又は一部の手順を実現することは、コンピュータプログラムによって関連ハードウェアに命令を出すことで行われることができ、プログラムは１つの不揮発性コンピュータ可読記憶媒体に記憶されてもよく、該プログラムは実行時、上記各方法の実施例のプロセスを含んでもよいと理解できる。ここで、本願に係る各実施例に使用されるメモリ、記憶装置、データベース又はほかの媒体の任意の引用はともに、不揮発性及び／又は揮発性メモリを含んでもよい。不揮発性メモリは読み出し専用メモリ（ＲＯＭ）、プログラマブルＲＯＭ（ＰＲＯＭ）、電気的プログラマブルＲＯＭ（ＥＰＲＯＭ）、電気的消去可能プログラマブルＲＯＭ（ＥＥＰＲＯＭ）又はフラッシュメモリを含んでもよい。揮発性メモリはランダムアクセスメモリ（ＲＡＭ）又は外部キャッシュメモリを含んでもよい。非限定的な説明として、ＲＡＭは、例えば、スタティックＲＡＭ（ＳＲＡＭ）、ダイナミックＲＡＭ（ＤＲＡＭ）、シンクロナスＤＲＡＭ（ＳＤＲＡＭ）、ダブルデータレートＳＤＲＡＭ（ＤＤＲＳＤＲＡＭ）、拡張ＳＤＲＡＭ（ＥＳＤＲＡＭ）、シンクリンク（Ｓｙｎｃｈｌｉｎｋ）ＤＲＡＭ（ＳＬＤＲＡＭ）、ラムバス（Ｒａｍｂｕｓ）ダイレクトＲＡＭ（ＲＤＲＡＭ）、ダイレクトラムバスダイナミックＲＡＭ（ＤＲＤＲＡＭ）、及びラムバスダイナミックＲＡＭ（ＲＤＲＡＭ）等、複数種の形態として得られ得る。
【０２５５】
以上の実施例の各技術的特徴を任意に組み合わせることができ、説明の簡潔さから、上記実施例における各技術的特徴のすべての可能な組み合わせを説明していないが、これらの技術的特徴の組み合わせは、矛盾しない限り、すべて本明細書に記載の範囲に属すると考えられる。
【０２５６】
以上の実施例は本願のいくつかの実施形態のみを示し、比較的具体的かつ詳細に説明されたが、本願の特許範囲を限定するものではないと理解すべきである。なお、当業者は本願の発想を逸脱しない前提下で、種々の変形や改良を行うこともでき、これらの変形や改良はすべて本願の保護範囲に属する。従って、本願特許の保護範囲は添付特許請求の範囲に準じるべきである。
【符号の説明】
【０２５７】
１１０  端末
１２０  サーバ
２０２  処理方式特定ユニット
２０４  第１処理ユニット
２０６  第１予測ユニット
２０８  変換ユニット
２１０  量子化ユニット
２１２  第１逆量子化ユニット
２１４  第１逆変換ユニット
２１６  第１再構成ユニット
２１８  第１参照情報適応ユニット
２２０  エントロピーエンコーディングユニット
２２２  記憶送信ユニット
３００  符号データ取得ユニット
３０２  エントロピーデコーディングユニット
３０４  第２逆量子化ユニット
３０６  第２逆変換ユニット
３０８  解像度情報取得ユニット
３１０  第２再構成ユニット
３１２  第２参照情報適応ユニット
３１４  第２予測ユニット
３１６  第２処理ユニット
３１８  再生記憶ユニット
１５０２  入力ビデオフレーム取得モジュール
１５０４  処理方式取得モジュール
１５０６  処理モジュール
１５０８  エンコーディングモジュール
１６０２  エンコーディングデータ取得モジュール
１６０４  解像度情報取得モジュール
１６０６  再構成モジュール
１６０８  エンコーディング・デコーディングビデオフレーム取得モジュール
【図１】
2021516928.tif 000004
【図２】
2021516928.tif 000005
【図３】
2021516928.tif 000006
【図４】
2021516928.tif 000007
【図５Ａ】
2021516928.tif 000008
【図５Ｂ】
2021516928.tif 000009
【図６】
2021516928.tif 000010
【図７Ａ】
2021516928.tif 000011
【図７Ｂ】
2021516928.tif 000012
【図７Ｃ】
2021516928.tif 000013
【図８Ａ】
2021516928.tif 000014
【図８Ｂ】
2021516928.tif 000015
【図９】
2021516928.tif 000016
【図１０】
2021516928.tif 000017
【図１１】
2021516928.tif 000018
【図１２】
2021516928.tif 000019
【図１３】
2021516928.tif 000020
【図１４】
2021516928.tif 000021
【図１５】
2021516928.tif 000022
【図１６】
2021516928.tif 000023
【図１７】
2021516928.tif 000024
【図１８】
2021516928.tif 000025
【国際調査報告】
2021516928.tif 000026
2021516928.tif 000027
2021516928.tif 000028
2021516928.tif 000029