(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-10-28
(45)【発行日】2024-11-06
(54)【発明の名称】データ符号化方法、装置、及びコンピュータプログラム
(51)【国際特許分類】
H04N 19/533 20140101AFI20241029BHJP
H04N 19/105 20140101ALI20241029BHJP
H04N 19/139 20140101ALI20241029BHJP
H04N 19/172 20140101ALI20241029BHJP
H04N 19/176 20140101ALI20241029BHJP
【FI】
H04N19/533
H04N19/105
H04N19/139
H04N19/172
H04N19/176
(21)【出願番号】P 2023525100
(86)(22)【出願日】2021-11-11
(86)【国際出願番号】 CN2021129987
(87)【国際公開番号】W WO2022100645
(87)【国際公開日】2022-05-19
【審査請求日】2023-04-25
(31)【優先権主張番号】202011264969.1
(32)【優先日】2020-11-13
(33)【優先権主張国・地域又は機関】CN
(73)【特許権者】
【識別番号】517392436
【氏名又は名称】▲騰▼▲訊▼科技(深▲セン▼)有限公司
【氏名又は名称原語表記】TENCENT TECHNOLOGY (SHENZHEN) COMPANY LIMITED
【住所又は居所原語表記】35/F,Tencent Building,Kejizhongyi Road,Midwest District of Hi-tech Park,Nanshan District, Shenzhen,Guangdong 518057,CHINA
(74)【代理人】
【識別番号】100110364
【氏名又は名称】実広 信哉
(74)【代理人】
【識別番号】100150197
【氏名又は名称】松尾 直樹
(72)【発明者】
【氏名】▲張▼ 清
【審査官】久保 光宏
(56)【参考文献】
【文献】特開2001-24988(JP,A)
【文献】特開2016-63358(JP,A)
【文献】特開2017-204752(JP,A)
【文献】特開2003-324743(JP,A)
【文献】C.J. Duanmu, et al.,"MIXED DIAMOND, HEXAGON, AND CROSS SEARCH FAST MOTION ESTIMATION ALGORITHM FOR H.264",Proceedings of 2008 IEEE International Conference on Multimedia and Expo (ICME 2008),IEEE,2008年04月26日,Pages 761-764,ISBN: 978-1-4244-2571-6, <DOI: 10.1109/ICME.2008.4607546>.
【文献】Jianle Chen, et al.,"Algorithm Description of Joint Exploration Test Model 7 (JEM 7)",Document: JVET-G1001-v1, [online],JVET-G1001 (version 1),Joint Video Exploration Team (JVET) of ITU-T SG 16 WP 3 and ISO/IEC JTC 1/SC 29/WG 11,2017年08月19日,Page 23,[令和5年6月2日検索], インターネット, <URL: https://jvet-experts.org/doc_end_user/current_document.php?id=3286> and <URL: https://jvet-experts.org/doc_end_user/documents/7_Torino/wg11/JVET-G1001-v1.zip>.,(See document file "JVET-G1001-v1.docx" in the zip file "JVET-G1001-v1.zip".)
(58)【調査した分野】(Int.Cl.,DB名)
H04N19/00-19/98
CSDB(日本国特許庁)
学術文献等データベース(日本国特許庁)
IEEEXplore(IEEE)
(57)【特許請求の範囲】
【請求項1】
データ符号化方法であって、
ターゲット画像フレームに含まれた少なくとも2つの符号化ユニットを取得し、前記少なくとも2つの符号化ユニットのうちの各々の符号化ユニットの動きベクトル情報を取得するステップと、
前記各々の符号化ユニットの動きベクトル情報に基づいて、前記ターゲット画像フレームに対する全体平均ベクトル情報を決定するステップと、
前記各々の符号化ユニットの動きベクトル情報の参照方向における成分ベクトル情報に基づいて、前記ターゲット画像フレームの前記参照方向における成分平均ベクトル情報を決定するステップと、
前記全体平均ベクトル情報と前記成分平均ベクトル情報に基づき、前記ターゲット画像フレームの前記参照方向における動き検出操作に対するフレーム実行ポリシーを決定するステップであって、前記フレーム実行ポリシーは
、前記ターゲット画像フレームの前記参照方向における動き検出操作を実行
するポリシー、又は
前記ターゲット画像フレームの前記参照方向における動き検出操作を実行
しないポリシーである、ステップと、
決定された前記ターゲット画像フレームの前記動き検出操作に対するフレーム実行ポリシーに基づいて、前記ターゲット画像フレームを符号化するステップと、を含む、ことを特徴とするデータ符号化方法。
【請求項2】
前記各々の符号化ユニットの動きベクトル情報に基づいて、前記ターゲット画像フレームに対する全体平均ベクトル情報を決定する前記ステップは、
前記各々の符号化ユニットの動きベクトル情報に含まれる水平成分ベクトル情報と垂直成分ベクトル情報を取得するステップと、
前記各々の符号化ユニットに対応する水平成分ベクトル情報と垂直成分ベクトル情報に基づいて、前記各々の符号化ユニットに対応するユニット動きベクトル値を決定するステップと、
前記各々の符号化ユニットに対応するユニット動きベクトル値、及び前記少なくとも2つの符号化ユニットのユニット数に基づき、前記全体平均ベクトル情報を決定するステップと、を含む、ことを特徴とする請求項1に記載の方法。
【請求項3】
前記参照方向は水平参照方向を含み、前記各々の符号化ユニットの動きベクトル情報の前記参照方向における成分ベクトル情報は、水平成分ベクトル情報を含み、
前記各々の符号化ユニットの動きベクトル情報の参照方向における成分ベクトル情報に基づいて、前記ターゲット画像フレームの前記参照方向における成分平均ベクトル情報を決定する前記ステップは、
前記各々の符号化ユニットの動きベクトル情報の前記水平参照方向における水平成分ベクトル情報を取得するステップと、
前記各々の符号化ユニットの前記水平参照方向における水平成分ベクトル情報に基づき、前記各々の符号化ユニットに対応する水平成分値を決定するステップと、
前記各々の符号化ユニットに対応する水平成分値、及び前記少なくとも2つの符号化ユニットのユニット数に基づき、前記成分平均ベクトル情報を決定するステップと、を含む、ことを特徴とする請求項1に記載の方法。
【請求項4】
前記参照方向は垂直参照方向を含み、前記各々の符号化ユニットの動きベクトル情報の前記参照方向における成分ベクトル情報は、垂直成分ベクトル情報を含み、
前記各々の符号化ユニットの動きベクトル情報の参照方向における成分ベクトル情報に基づいて、前記ターゲット画像フレームの前記参照方向における成分平均ベクトル情報を決定する前記ステップは、
前記各々の符号化ユニットの動きベクトル情報の前記垂直参照方向における垂直成分ベクトル情報を取得するステップと、
前記各々の符号化ユニットの前記垂直参照方向における垂直成分ベクトル情報に基づき、前記各々の符号化ユニットに対応する垂直成分値を決定するステップと、
前記各々の符号化ユニットに対応する垂直成分値、及び前記少なくとも2つの符号化ユニットのユニット数に基づき、前記成分平均ベクトル情報を決定するステップと、を含む、ことを特徴とする請求項1に記載の方法。
【請求項5】
前記全体平均ベクトル情報と前記成分平均ベクトル情報に基づき、前記ターゲット画像フレームの前記参照方向における動き検出操作に対するフレーム実行ポリシーを決定する前記ステップは、
前記全体平均ベクトル情報と前記成分平均ベクトル情報に基づき、フレーム成分比率値を決定するステップと、
前記フレーム成分比率値が第1比率閾値以上であるか、又は前記フレーム成分比率値が第2比率閾値以下であるときに、前記ターゲット画像フレームの前記動き検出操作に対するフレーム実行ポリシーが
、前記ターゲット画像フレームの前記参照方向における動き検出操作を実行するポリシーであると決定するステップであって、前記第1比率閾値は前記第2比率閾値よりも大きい、ステップと、
前記フレーム成分比率値が前記第1比率閾値よりも小さく、且つ前記第2比率閾値よりも大きいときに、前記ターゲット画像フレームの前記動き検出操作に対するフレーム実行ポリシーが
、前記ターゲット画像フレームの前記参照方向における動き検出操作を実行しないポリシーであると決定するステップと、を含む、ことを特徴とする請求項1に記載の方法。
【請求項6】
前記方法は、
前記ターゲット画像フレームの前記動き検出操作に対するフレーム実行ポリシーが前記
実行するポリシーであると決定したときに、前記各々の符号化ユニットの動きベクトル情報に基づき、前記各々の符号化ユニットのユニット動きベクトル値とユニット成分ベクトル値を決定するステップと、
前記各々の符号化ユニットに対応するユニット動きベクトル値とユニット成分ベクトル値に基づき、前記各々の符号化ユニットの前記動き検出操作に対するユニット実行ポリシーを決定するステップと、をさらに含む、ことを特徴とする請求項1に記載の方法。
【請求項7】
前記ユニット実行ポリシーは
前記各々の符号化ユニットの前記動き検出操作を実行するポリシー、又は
前記各々の符号化ユニットの前記動き検出操作を実行しないポリシーであり、前記少なくとも2つの符号化ユニットは符号化ユニットbiを含み、iは前記少なくとも2つの符号化ユニットのユニット数以下である正整数であり、
前記各々の符号化ユニットに対応するユニット動きベクトル値とユニット成分ベクトル値に基づき、前記各々の符号化ユニットの前記動き検出操作に対するユニット実行ポリシーを決定する前記ステップは、
前記符号化ユニットbiに対応するユニット動きベクトル値とユニット成分ベクトル値に基づき、前記符号化ユニットbiに対応するユニット成分比率値を決定するステップと、
前記ユニット成分比率値が第3比率閾値以上であるか、又は前記ユニット成分比率値が第4比率閾値以下であるときに、前記符号化ユニットbiの前記動き検出操作に対するユニット実行ポリシーが
前記符号化ユニットbiの前記動き検出操作を実行するポリシーであると決定するステップであって、前記第3比率閾値は前記第4比率閾値よりも大きい、ステップと、
前記ユニット成分比率値が前記第3比率閾値よりも小さく、且つ前記第4比率閾値よりも大きいときに、前記符号化ユニットbiの前記動き検出操作に対するユニット実行ポリシーが
前記符号化ユニットbiの前記動き検出操作を実行しないポリシーであると決定するステップと、を含む、ことを特徴とする請求項6に記載の方法。
【請求項8】
ターゲット画像フレームに含まれた少なくとも2つの符号化ユニットを取得し、前記少なくとも2つの符号化ユニットのうちの各々の符号化ユニットの動きベクトル情報を取得する前記ステップは、
前記ターゲット画像フレームの参照画像フレームを取得するステップと、
前記参照画像フレーム中から、前記各々の符号化ユニットと類似性を有する予測画像ブロックをそれぞれ取得するステップと、
前記各々の符号化ユニットと対応した予測画像ブロックとの間の相対的な変位、及びターゲット動きベクトル精度に基づき、前記各々の符号化ユニットの動きベクトル情報を決定するステップと、を含む、ことを特徴とする請求項1に記載の方法。
【請求項9】
前記方法は、
ビデオデータをフレーム化して、前記ビデオデータに含まれる複数の画像フレームを得るステップと、
前記複数の画像フレーム中から、前記ターゲット画像フレームを決定するステップと、をさらに含み、
前記ターゲット画像フレームの参照画像フレームを取得する前記ステップは、
前記複数の画像フレーム中から、前記ターゲット画像フレームに隣接する画像フレームを、前記参照画像フレームとして取得するステップを含む、ことを特徴とする請求項8に記載の方法。
【請求項10】
前記方法は、
決定された前記ターゲット画像フレームの前記動き検出操作に対するフレーム実行ポリシーに基づいて、前記ビデオデータを符号化して、前記ビデオデータの符号化データを得るステップと、
前記符号化データをビデオクライアントに同期させて、前記ビデオクライアントに前記符号化データを復号させて、前記ビデオデータの復号データを得て、前記復号データを再生するステップと、をさらに含む、ことを特徴とする請求項9に記載の方法。
【請求項11】
前記方法は、
前記ターゲット画像フレームを少なくとも2つの符号化領域に分割するステップと、
前記少なくとも2つの符号化領域のうちの各々の符号化領域に対して領域分割を行って、前記各々の符号化領域がそれぞれ属する符号化ユニットを得るステップと、
前記各々の符号化領域がそれぞれ属する符号化ユニットを、前記ターゲット画像フレームに含まれた前記少なくとも2つの符号化ユニットとして決定するステップと、をさらに含む、ことを特徴とする請求項1~10のいずれか一項に記載の方法。
【請求項12】
データ符号化装置であって、
ターゲット画像フレームに含まれた少なくとも2つの符号化ユニットを取得し、前記少なくとも2つの符号化ユニットのうちの各々の符号化ユニットの動きベクトル情報を取得することに用いられる動き情報取得モジュールと、
前記各々の符号化ユニットの動きベクトル情報に基づいて、前記ターゲット画像フレームに対する全体平均ベクトル情報を決定することに用いられる全体情報決定モジュールと、
前記各々の符号化ユニットの動きベクトル情報の参照方向における成分ベクトル情報に基づいて、前記ターゲット画像フレームの前記参照方向における成分平均ベクトル情報を決定することに用いられる成分情報決定モジュールと、
前記全体平均ベクトル情報と前記成分平均ベクトル情報に基づき、前記ターゲット画像フレームの前記参照方向における動き検出操作に対するフレーム実行ポリシーを決定することに用いられるポリシー決定モジュールであって、前記フレーム実行ポリシーは
前記ターゲット画像フレームの前記参照方向における動き検出操作を実行するポリシー、又は
前記ターゲット画像フレームの前記参照方向における動き検出操作を実行しないポリシーである、ポリシー決定モジュールと、
決定された前記ターゲット画像フレームの前記動き検出操作に対するフレーム実行ポリシーに基づいて、前記ターゲット画像フレームを符号化する、符号化モジュールと、を含む、ことを特徴とするデータ符号化装置。
【請求項13】
前記全体情報決定モジュールは、
前記各々の符号化ユニットの動きベクトル情報にそれぞれ含まれる水平成分ベクトル情報と垂直成分ベクトル情報を取得することに用いられる成分情報取得ユニットと、
前記各々の符号化ユニットに対応する水平成分ベクトル情報と垂直成分ベクトル情報に基づいて、前記各々の符号化ユニットに対応するユニット動きベクトル値を決定することに用いられるベクトル値決定ユニットと、
前記各々の符号化ユニットに対応するユニット動きベクトル値、及び前記少なくとも2つの符号化ユニットのユニット数に基づき、前記全体平均ベクトル情報を決定することに用いられる全体情報決定ユニットと、を含む、ことを特徴とする請求項12に記載の装置。
【請求項14】
参照方向は水平参照方向を含み、各々の符号化ユニットの動きベクトル情報の参照方向における成分ベクトル情報は、水平成分ベクトル情報を含み、
前記成分情報決定モジュールは、
各々の符号化ユニットの動きベクトル情報の水平参照方向における水平成分ベクトル情報を取得することに用いられる水平成分取得ユニットと、
各々の符号化ユニットの水平参照方向における水平成分ベクトル情報に基づき、各々の符号化ユニットに対応する水平成分値を決定することに用いられる水平値決定ユニットと、
各々の符号化ユニットに対応する水平成分値、及び少なくとも2つの符号化ユニットのユニット数に基づき、成分平均ベクトル情報を決定することに用いられる水平情報決定ユニットと、を含む、ことを特徴とする請求項12に記載の装置。
【請求項15】
参照方向は垂直参照方向を含み、各々の符号化ユニットの動きベクトル情報の参照方向における成分ベクトル情報は、垂直成分ベクトル情報を含み、
前記成分情報決定モジュールは、
各々の符号化ユニットの動きベクトル情報の垂直参照方向における垂直成分ベクトル情報を取得することに用いられる垂直成分取得ユニットと、
各々の符号化ユニットの垂直参照方向における垂直成分ベクトル情報に基づき、各々の符号化ユニットに対応する垂直成分値を決定することに用いられる垂直値決定ユニットと、
各々の符号化ユニットに対応する垂直成分値、及び少なくとも2つの符号化ユニットのユニット数に基づき、成分平均ベクトル情報を決定することに用いられる垂直情報決定ユニットと、を含む、ことを特徴とする請求項12に記載の装置。
【請求項16】
前記ポリシー決定モジュールは、
全体平均ベクトル情報と成分平均ベクトル情報に基づき、フレーム成分比率値を決定することに用いられるフレーム比率決定ユニットと、
フレーム成分比率値が第1比率閾値以上であるか、又はフレーム成分比率値が第2比率閾値以下であるときに、ターゲット画像フレームの動き検出操作に対するフレーム実行ポリシーが
、前記ターゲット画像フレームの前記参照方向における動き検出操作を実行するポリシーであると決定することに用いられる第1ポリシー決定ユニットと、
フレーム成分比率値が第1比率閾値よりも小さく、且つ第2比率閾値よりも大きいときに、ターゲット画像フレームの動き検出操作に対するフレーム実行ポリシーが
、前記ターゲット画像フレームの前記参照方向における動き検出操作を実行しないポリシーであると決定することに用いられる第2ポリシー決定ユニットと、を含む、ことを特徴とする請求項12に記載の装置。
【請求項17】
前記装置は、
ターゲット画像フレームの動き検出操作に対するフレーム実行ポリシーが
前記実行するポリシーであると決定したときに、各々の符号化ユニットの動きベクトル情報に基づき、各々の符号化ユニットのユニット動きベクトル値とユニット成分ベクトル値を決定することに用いられるユニット値決定モジュールと、
各々の符号化ユニットに対応するユニット動きベクトル値とユニット成分ベクトル値に基づき、各々の符号化ユニットの動き検出操作に対するユニット実行ポリシーを決定することに用いられるユニットポリシー決定モジュールと、をさらに含
み、
前記ユニット実行ポリシーは前記各々の符号化ユニットの前記動き検出操作を実行するポリシー、又は前記各々の符号化ユニットの前記動き検出操作を実行しないポリシーである、ことを特徴とする請求項12に記載の装置。
【請求項18】
コンピュータ機器であって、メモリと、プロセッサと、を含み、前記メモリにはコンピュータプログラムが記憶され、前記コンピュータプログラムが前記プロセッサにより実行されるときに、前記プロセッサに請求項1~11のいずれか一項に記載の方法を実施させる、ことを特徴とするコンピュータ機器。
【請求項19】
コンピュータプログラムであって、プロセッサにより実行されるときに、請求項1~11のいずれか一項に記載の方法を実施する、ことを特徴とするコンピュータプログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本願は、データ処理の技術分野に関し、特にデータ符号化方法、装置、及びコンピュータ可読記憶媒体に関する。
【0002】
本願は、2020年11月13日に中国特許庁に提出された、出願番号が第202011264969.1号であり、名称が「データ符号化方法、装置、及びコンピュータ可読記憶媒体」である中国特許出願の優先権を主張し、その全内容は引用によって本願に組み込まれている。
【背景技術】
【0003】
日常生活の多くのシーンは、みなビデオデータを圧縮するシーンに関わる可能性がある。例えば、ユーザAはユーザBに1つのビデオデータを伝送するときには、ビデオデータを圧縮してから伝送するという過程に関わる可能性がある。ここで、ビデオデータを圧縮するときに、ビデオデータにおける各々の画像フレームの動きベクトル情報を用いることになる。該動きベクトル情報はビデオデータの隣接する画像フレーム間の相対的な変化を特徴付けることができる。
【発明の概要】
【発明が解決しようとする課題】
【0004】
本願は、データ符号化方法を提供し、
ターゲット画像フレームに含まれた少なくとも2つの符号化ユニットを取得し、少なくとも2つの符号化ユニットのうちの各々の符号化ユニットの動きベクトル情報を取得するステップと、
各々の符号化ユニットの動きベクトル情報に基づいて、ターゲット画像フレームに対する全体平均ベクトル情報を決定するステップと、
各々の符号化ユニットの動きベクトル情報の参照方向における成分ベクトル情報に基づいて、ターゲット画像フレームの参照方向における成分平均ベクトル情報を決定するステップと、
全体平均ベクトル情報と成分平均ベクトル情報に基づき、ターゲット画像フレームの参照方向における動き検出操作に対するフレーム実行ポリシーを決定するステップであって、フレーム実行ポリシーはフレーム開始実行ポリシー、又はフレーム終了実行ポリシーである、ステップと、を含む。
【0005】
本願の一態様は、データ符号化装置を提供し、
ターゲット画像フレームに含まれた少なくとも2つの符号化ユニットを取得し、少なくとも2つの符号化ユニットのうちの各々の符号化ユニットの動きベクトル情報を取得することに用いられる動き情報取得モジュールと、
各々の符号化ユニットの動きベクトル情報に基づいて、ターゲット画像フレームに対する全体平均ベクトル情報を決定することに用いられる全体情報決定モジュールと、
各々の符号化ユニットの動きベクトル情報の参照方向における成分ベクトル情報に基づいて、ターゲット画像フレームの参照方向における成分平均ベクトル情報を決定することに用いられる成分情報決定モジュールと、
全体平均ベクトル情報と成分平均ベクトル情報に基づき、ターゲット画像フレームの参照方向に関連付けられた動き検出操作に対するフレーム実行ポリシーを決定することに用いられるポリシー決定モジュールであって、フレーム実行ポリシーはフレーム開始実行ポリシー、又はフレーム終了実行ポリシーである、ポリシー決定モジュールと、を含む。
【0006】
本願一態様は、コンピュータ機器を提供し、メモリと、プロセッサと、を含み、メモリにはコンピュータプログラムが記憶され、コンピュータプログラムがプロセッサにより実行されるときに、プロセッサに本願の一態様における方法を実行させる。
【0007】
本願の一態様は、コンピュータ可読記憶媒体を提供し、該コンピュータ可読記憶媒体にはコンピュータプログラムが記憶され、該コンピュータプログラムはプログラム命令を含み、該プログラム命令がプロセッサにより実行されるときに、該プロセッサに前記一態様における方法を実行させる。
【0008】
本願の1つの態様に基づき、コンピュータプログラム製品、又はコンピュータプログラムを提供し、該コンピュータプログラム製品、又はコンピュータプログラムはコンピュータ命令を含み、該コンピュータ命令はコンピュータ可読記憶媒体において記憶される。コンピュータ機器のプロセッサはコンピュータ可読記憶媒体から該コンピュータ命令を読み取り、プロセッサは該コンピュータ命令を実行し、該コンピュータ機器に前記一態様等の各種の選択可能な形態において提供された方法を実行させる。
【0009】
本願、又は関連技術における技術的解決手段をより明確に説明するために、以下に、実施例、又は関連技術の記述において使用される必要がある図面を簡単に紹介する。明らかなように、以下の記述における図面は本願のいくつかの実施例に過ぎず、当業者にとって、創造的な労働を行わない前提において、これらの図面に基づき他の図面を獲得することもできる。
【図面の簡単な説明】
【0010】
【
図1】本願の実施例が提供するネットワークアーキテクチャの構造模式図である。
【
図2】本願が提供するデータ符号化シーンの模式図である。
【
図3】本願が提供するデータ符号化方法のフローチャートである。
【
図4】本願が提供する動きベクトル情報を取得するシーンの模式図である。
【
図5】本願が提供する成分平均ベクトル情報を取得するシーンの模式図である。
【
図6】本願が提供する成分平均ベクトル情報を取得するシーンの模式図である。
【
図7】本願が提供するベクトル情報を取得するシーンの模式図である。
【
図8】本願が提供するユニット成分ベクトル値を取得するシーンの模式図である。
【
図9】本願が提供するデータ符号化装置の構造模式図である。
【
図10】本願が提供するコンピュータ機器の構造模式図である。
【発明を実施するための形態】
【0011】
以下、本願における図面と併せて、本願における技術的解決手段を明確、かつ完全に記述する。明らかなように、記述される実施例は本願の実施例の一部に過ぎず、実施例の全部ではない。本願における実施例に基づき、当業者が創造的労働を行わない前提において獲得したすべての他の実施例は、いずれも本願の保護範囲に属する。
【0012】
本願は、クラウド技術に関する。ここで、クラウド技術(Cloud technology)とは、ワイドエリアネットワーク、又はローカルエリアネットワーク内でハードウェア、ソフトウェア、ネットワーク等の一連のリソースを統一して、データの計算、格納、処理、及び共有を実現する一種のホスティング技術を指す。
【0013】
クラウド技術(Cloud technology)は、クラウド計算ビジネスモデルに基づいて応用されるネットワーク技術、情報技術、統合技術、管理プラットフォーム技術、及びアプリケーション技術などの総称であり、リソースプールを形成し、必要に応じて使用することができ、柔軟で便利である。クラウド計算技術は重要なサポートになっている。技術ネットワークシステムのバックグラウンドサービスには、例えばビデオウェブサイト、ピクチャ類ウェブサイト、及びより多くのポータルウェブサイトなど、大量の計算、記憶リソースが必要である。インターネット産業の高度な発展、及び応用に伴って、将来は、各々の物品にいずれも独自の識別マークが存在する可能性があるため、いずれもバックグラウンドシステムに伝送して論理処理を行う必要がある。異なる程度、レベルのデータは別々に処理されることになり、各種の産業データはいずれも強力なシステムサポートを必要とするため、クラウド計算によってのみ実現が可能である。
【0014】
本願において、主に関連するクラウド技術とは、ビデオデータを伝送する技術を指し、具体的には、クラウドサーバを使用し、まずビデオデータに対して符号化圧縮を行ってから伝送することができる技術に関する。下記内容の記述を参照する。
【0015】
関連技術においては、ビデオデータを圧縮するときに、ビデオデータにおける各々の画像フレームに対してクロスサーチアルゴリズムを実行することになり、画像フレームに対してクロスサーチアルゴリズムを実行することで画像フレームの動きベクトル情報に含まれた動き方向を検出することができる。各々の画像フレームに対してクロスサーチアルゴリズムを実行することは通常、比較的時間がかかるため、ビデオデータにおける各々の画像フレームに対してクロスサーチアルゴリズムを実行すると、画像フレームに対する符号化に時間が多くかかり、さらにビデオデータに対する符号化に時間が多くかかることになる。
【0016】
本願が提供するデータ符号化方法では、本願が提供する方法によって、ある画像フレームに水平方向、又は垂直方向上に顕著な動きが存在しないときに、該画像フレームに対してクロスサーチアルゴリズムの操作を実行しなくてもよい。従って、画像フレームに対する符号化速度を向上させ、さらにビデオデータに対する符号化速度を向上させることができる。
【0017】
図1に参照されるように、
図1は本願の実施例が提供するネットワークアーキテクチャの構造模式図である。
図1に示されるように、ネットワークアーキテクチャは、サーバ200と端末機器クラスタとを含んでもよく、端末機器クラスタは1つ、又は複数の端末機器を含んでもよく、ここでは端末機器の数を制限していない。
図1に示されるように、複数の端末機器は、具体的には端末機器100a、端末機器101a、端末機器102a、…、及び端末機器103aを含んでもよく、
図1に示されるように、端末機器100a、端末機器101a、端末機器102a、…、及び端末機器103aは各々の端末機器がネットワーク接続を介してサーバ200との間でデータ交換を行うことができるように、いずれもサーバ200とネットワーク接続を行うことができる。
【0018】
図1に示されるサーバ200は独立した物理サーバであってもよく、複数の物理サーバで構成されるサーバクラスタ、又は分散システムであってもよく、さらにクラウドサービス、クラウドデータベース、クラウド計算、クラウド関数、クラウド記憶、ネットワークサービス、クラウド通信、ミドルウェアサービス、ドメイン名サービス、セキュリティサービス、CDN、及びビッグデータと人工知能プラットフォーム等の基礎的なクラウド計算サービスを提供するクラウドサーバであってもよい。端末機器は、スマートフォン、タブレットパソコン、ノートパソコン、デスクトップパソコン、及びスマートテレビなどのスマート端末であってもよい。以下、端末機器100aとサーバ200との間の通信を例として、本願の実施例の具体的な記述を行う。
【0019】
図2を併せて参照されるように、
図2は本願が提供するデータ符号化シーンの模式図である。画像フレーム100bは、ビデオデータ108bをフレーム化した後に得られた画像フレームであってもよく、すなわち画像フレーム100bはビデオデータ108bに含まれた任意の1つの画像フレームであってもよい。該ビデオデータ108bは任意の1つのビデオデータであってもよく、ビデオデータ108bは端末機器100aにより取得される。例えば、ビデオデータ108bは、端末機器100aがリアルタイムオンライン会議を実現する過程において録画した会議ビデオデータであってもよい。端末機器100aは、ビデオデータ108bを取得した後に、該ビデオデータ108bをサーバ200に送信して、サーバ200にビデオデータ108bに対する符号化を要求することができる。従って、サーバ108bは、ビデオデータ108bを取得した後に、ビデオデータ108bをフレーム化して、画像フレーム100bを得ることができる。
【0020】
サーバ200がビデオデータ108bに含まれた各々の画像フレームを符号化する原理は同じであるため、ここでは、サーバ200がどのように画像フレーム100bを符号化するかの過程を例として説明する。
【0021】
図2に示されるように、サーバ200は、画像フレーム100bを複数(少なくとも2つ)の符号化ユニットに分割することができる。ここでは、画像フレーム100bがサーバ200により分割された複数の符号化ユニットは領域101bにおけるn個の符号化ユニットを含んでもよく、nの値は実際の応用シーンに基づき決められてもよく、これを制限しない。該n個の符号化ユニットは具体的には、符号化ユニット1、符号化ユニット2、符号化ユニット3、…、及び符号化ユニットnを含んでもよい。
【0022】
ここで、上記n個の符号化ユニットのうちの各々の符号化ユニットはいずれもそれに対応する動きベクトル情報を有する。該動きベクトル情報は、画像フレーム100bにおける符号化ユニットとビデオデータ108bにおける画像フレーム100bの前の画像フレームにおける対応する位置の符号化ユニットとの間の変化(すなわち動き状況)を特徴付けることができ、該動きベクトル情報は画像フレーム100bを符号化することに用いることができる。
【0023】
ここで、サーバ200は、画像フレーム100bに含まれたn個の符号化ユニットにそれぞれ対応する動きベクトル情報によって、画像フレーム100bの全体平均ベクトル情報105bを計算して得ることができ、該全体平均ベクトル情報105bは、画像フレーム100bに含まれた全部の符号化ユニットに対応する動きベクトル情報の平均値を特徴付ける。該全体平均ベクトル情報105bを計算する具体的な過程は、下記
図3に対応する実施例における相応な記述を参照することができる。
【0024】
サーバ200は、画像フレーム100bに含まれたn個の符号化ユニットにそれぞれ対応する動きベクトル情報によって、画像フレーム100bの垂直方向(y軸方向と理解できる)における成分平均ベクトル情報106bを計算して得ることもでき、該成分平均ベクトル情報106bは、画像フレーム100bに含まれた全部の符号化ユニットに対応する動きベクトル情報の垂直方向における平均値を特徴付ける。該成分平均ベクトル情報106bを計算する具体的な過程は、下記
図3に対応する実施例における相応な記述を参照することもできる。
【0025】
サーバ200は、画像フレーム100bに含まれたn個の符号化ユニットにそれぞれ対応する動きベクトル情報によって、画像フレーム100bの水平方向(x軸方向と理解できる)における成分平均ベクトル情報107bを計算して得ることもでき、該成分平均ベクトル情報107bは、画像フレーム100bに含まれた全部の符号化ユニットに対応する動きベクトル情報の水平方向における平均値を特徴付ける。該成分平均ベクトル情報107bを計算する具体的な過程は、下記
図3に対応する実施例における相応な記述を参照することができる。
【0026】
ここで、上記全体平均ベクトル情報105b、垂直方向における成分平均ベクトル情報106b、及び水平方向における成分平均ベクトル情報107bに、領域102bに記述された状況が存在するか、又は領域103bに記述された状況が存在するときには、サーバは画像フレーム100bを符号化するときに、画像フレーム100bに対してクロスサーチアルゴリズム(すなわち領域104bにおける結論を得る)を作動(すなわち実行)させることができる。他の状況では、すなわち領域102bに記述された状況と領域103bに記述された状況を除く状況では、サーバは画像フレーム100bに対してクロスサーチアルゴリズムを終了する(すなわち実行しない)ことができる。
【0027】
ここで、該クロスサーチアルゴリズムは、サーバが画像フレーム100bを符号化する過程において、画像フレーム100bに含まれた動きベクトル情報の動き方向を検出することに用いられるアルゴリズムである。理解できるように、画像フレーム100bに対してクロスサーチアルゴリズムを実行するときにおける画像フレーム100bに対する符号化速度は、画像フレーム100bに対してクロスサーチアルゴリズムを実行しない(すなわち終了する)ときにおける画像フレーム100bに対する符号化速度よりも遅くなる。従って、上記全体平均ベクトル情報105b、垂直方向における成分平均ベクトル情報106b、及び水平方向における成分平均ベクトル情報107bによって、いくつかの状況下(すなわち領域102bに記述された状況と領域103bに記述された状況を除く状況)では画像フレーム100bに対してクロスサーチアルゴリズムを終了することを決めることにより、画像フレーム100bに対する符号化速度を向上させることができる。
【0028】
ここで、上記領域102bに記述された状況として、画像フレーム100bの垂直方向における成分平均ベクトル情報106bと全体平均ベクトル情報105bとの間の比がある比閾値よりも大きいときに、画像フレーム100bに対してクロスサーチアルゴリズムを作動させることができる。成分平均ベクトル情報106bと全体平均ベクトル情報105bとの間の比がある比閾値(自ら設定できる)よりも大きいときに、画像フレーム100bはその前の画像フレームに比べて、その垂直方向上に顕著な動きが存在することが表される。
【0029】
ここで、上記領域103bに記述された状況として、画像フレーム100bの水平方向における成分平均ベクトル情報107bと全体平均ベクトル情報105bとの間の比がある比閾値(自ら設定できる)よりも大きいときに、画像フレーム100bに対してクロスサーチアルゴリズムを作動させることもできる。成分平均ベクトル情報107bと全体平均ベクトル情報105bとの間の比がある比閾値よりも大きいときに、画像フレーム100bはその前の画像フレームに比べて、その水平方向上に顕著な動きが存在することが表される。
【0030】
サーバ200は、画像フレーム100bに対してクロスサーチアルゴリズムを実行する必要があるか否かを判定した結論によって、ビデオデータ108bを符号化して、ビデオデータ108bの符号化データを得ることができる。サーバ200は、該符号化データを、ビデオデータ108bを再生する必要があるビデオクライアントに伝送することができる。ビデオクライアントは、該符号化データを取得した後に、該符号化データを復号することができ、ビデオデータ108bの復号データを得ることができ、ビデオクライアントは、該復号データを再生して、ビデオデータ108bに対する再生を実現することができる。
【0031】
本願が提供する方法によって、ある画像フレーム(例えば画像フレーム100b)は水平方向、又は垂直方向に顕著な動きを有するとき、すなわち顕著な水平の動き、又は垂直な動きが存在するときに、該画像フレームに対してクロスサーチアルゴリズムを開始することができ、他の場合には、該画像フレームに対してクロスサーチアルゴリズムを終了することができるため、これにより該画像フレームに対する符号化速度を向上させることができる。
【0032】
図3に参照されるように、
図3は本願が提供するデータ符号化方法のフローチャートであり、
図3に示されるように、該方法は以下のステップを含んでもよい。
【0033】
ステップS101:ターゲット画像フレームに含まれた少なくとも2つの符号化ユニットを取得し、少なくとも2つの符号化ユニットのうちの各々の符号化ユニットの動きベクトル情報を取得する。
【0034】
具体的には、本願の実施例における実行主体は任意の1つのコンピュータ機器であってもよく、又は複数のコンピュータ機器で構成される機器クラスタであってもよい。該コンピュータ機器はサーバであってもよく、端末機器であってもよく、これを限定しない。ここでは、本願における実行主体がサーバであることを例として説明する。下記内容の記述を参照する。
【0035】
サーバはビデオデータを取得することができ、該ビデオデータは任意の1つのビデオデータであってもよく、該ビデオデータは端末機器によってサーバに送信されるものであってもよい。端末機器は、サーバにビデオデータを送信することによって、サーバに該ビデオデータに対する符号化を要求することができる。例えば、該ビデオデータはカメラによってリアルタイムで撮影されたビデオデータ、例えばオンライン会議ビデオデータであってもよく、該ビデオデータはさらにスクリーンを介してシェアされたビデオデータであってもよい。
【0036】
サーバは、ビデオデータを符号化するときに、該ビデオデータをフレーム化することができ、該ビデオデータに含まれた複数(少なくとも2つ)の画像フレームを得ることができる。従って、ターゲット画像フレームは該ビデオデータにおけるフレーム化により得られた複数の画像フレームのうちの任意の1つの画像フレームであってもよい。サーバがビデオデータを符号化することは、ビデオデータの各々の画像フレームを符号化する必要があることであり、ここでは、サーバがビデオデータにおけるターゲット画像フレームを符号化する過程を例として説明する。理解できるように、サーバがビデオデータにおける各々の画像フレームを符号化する原理は同じである。下記内容の記述を参照する。
【0037】
サーバは、ターゲット画像フレームを複数の符号化ユニットに分割することができ、1つの符号化ユニットはターゲット画像フレームにおける1つの画像ブロックを表す。ターゲット画像フレームを複数の符号化ユニットに分割することによって、ターゲット画像フレームに対してブロック別符号化を行うことを実現することができる。
【0038】
選択可能に、サーバがターゲット画像フレームを複数の符号化ユニットに分割する方式は、まず、サーバがターゲット画像フレームを複数の同じ大きさの符号化領域に分割することができ、更に、サーバが各々の符号化領域をさらに分割して、各々の符号化領域にそれぞれ含まれる複数の符号化ユニットを得ることができることであってもよい。すべての符号化領域に含まれる全部の符号化ユニットは、ターゲット画像フレームに含まれる複数の符号化ユニットである。
【0039】
サーバは、ターゲット画像フレームの各々の符号化ユニットの動きベクトル情報(動きベクトルと略称でき、mvと表記できる)を取得することもできる。ここで、ターゲット画像フレームの各々の符号化ユニットの動きベクトル情報は、ターゲット画像フレームと参照画像フレームとの間の相対的な動きを特徴付ける。該参照画像フレームは、ビデオデータにおける、ターゲット画像フレームに隣接し、且つターゲット画像フレームの前にある画像フレームであってもよく、例えば、参照画像フレームはビデオデータにおけるターゲット画像フレームの前の画像フレームであってもよい。従って、理解できるように、ターゲット画像フレームの各々の符号化ユニットの動きベクトル情報は、ターゲット画像フレームのその前の画像フレーム(すなわち参照画像フレーム)に対する変化を表し、すなわちターゲット画像フレームの各々の符号化ユニットの動きベクトル情報は、参照画像フレームがどの動きによってターゲット画像フレームに変化するかを表す。
【0040】
従って、ターゲット画像フレームの各々の符号化ユニットの動きベクトル情報の取得方式は、
サーバは参照画像フレームを符号化するときに、同様に参照画像フレームを複数の画像ブロックに分割することができ、該複数の画像ブロックは参照画像フレームの複数の符号化ユニットであると理解できる。サーバは、参照画像フレームが分割された複数の画像ブロックのうち、ターゲット画像フレームの各々の符号化ユニットと類似性を有する画像ブロックを、各々の符号化ユニットにそれぞれ対応する予測画像ブロックとしてそれぞれ取得することができることであってもよい。
【0041】
ここで、参照画像フレームとターゲット画像フレームは大きさが同じであってもよく、参照画像フレームの各々の画像ブロックとターゲット画像フレームの各々の符号化ユニットとの間の位置は1対1で対応してもよく、すなわち参照画像フレームにおける、ターゲット画像フレームの各々の符号化ユニットと互いに対応する予測画像ブロックは、参照画像フレームにおける、ターゲット画像フレームの各々の符号化ユニットに対応する位置と同じ画像ブロックであってもよい。参照画像フレームとターゲット画像フレームにおける同じ位置の画像ブロックと符号化ユニットとの間は類似すると考えることができる。
【0042】
従って、サーバは、各々の符号化ユニットとそれに対応する予測画像ブロックとの間の相対的な変位を検出することができ、該相対的な的な変位は、予測画像ブロックからそれに対応する符号化ユニットまで行った動きを特徴付ける。更に、サーバは、各々の符号化ユニットとそれに対応する予測画像ブロックとの間の相対的な的な変位、及びターゲット動きベクトル精度によって、各々の符号化ユニットの動きベクトル情報を得ることができる。
【0043】
該ターゲット動きベクトル精度は、実際の応用シーンに基づき自ら設定でき、該ターゲット動きベクトル精度は各々の符号化ユニットの動きベクトル情報の精度を表す。例えば、該ターゲット動きベクトル精度は1/16画素精度、1/4画素精度、1/2画素精度、1画素精度、2画素精度、4画素精度、又は8画素精度などであってもよい。
【0044】
実際には、サーバは、ビデオデータを符号化する前に、ビデオデータに対して事前分析を行うことになる。該事前分析の主な目的は、ビデオデータに対してどのような符号化を採用して、そのレート歪みコストを最小化できるかを分析することである。該レート歪みコストは、ビデオデータを符号化する歪み度とビットレートとを同時にトレードオフする。ビデオデータに対して事前分析を行う過程において、サーバは、各々のターゲット画像フレームの各々の符号化ユニットの動きベクトル情報を得ることができる。
【0045】
図4に参照されるように、
図4は本願が提供する動きベクトル情報を取得するシーンの模式図である。
図4に示されるように、サーバはビデオデータ100cをフレーム化して、領域101cにおける複数の画像フレームを得ることができる。換言すれば、ビデオデータ100cは画像フレーム102c、画像フレーム103c、画像フレーム104c、及び画像フレーム105cを含んでもよい。
【0046】
サーバは、画像フレーム102c、画像フレーム103c、画像フレーム104c、及び画像フレーム105cのうちの任意の1つのビデオフレームをターゲットビデオフレームとすることができ、例えば、ここでは画像フレーム104cをターゲット画像フレームとすることができる。従って、参照画像フレームはターゲット画像フレーム104cの前の画像フレーム103cであってもよい。サーバは、ターゲット画像フレームの各々の符号化ユニットと参照画像フレームにおける対応する位置の画像ブロックとの間の相対的な動きに基づき、ターゲット画像フレームの各々の符号化ユニットの動きベクトル情報105cを得ることができる。
【0047】
ステップS102:各々の符号化ユニットの動きベクトル情報に基づいて、ターゲット画像フレームに対する全体平均ベクトル情報を決定する。
【0048】
具体的には、サーバは、ターゲット画像フレームの各々の符号化ユニットの動きベクトル情報にそれぞれ含まれる水平成分ベクトル情報と垂直成分ベクトル情報を取得することができる。1つの符号化ユニットの動きベクトル情報に含まれた水平成分ベクトル情報は、該符号化ユニットの動きベクトル情報の水平方向(xy平面座標軸のx方向と理解できる)における成分である。同じように、1つの符号化ユニットの動きベクトル情報に含まれた垂直成分ベクトル情報は、該符号化ユニットの動きベクトル情報の垂直方向(xy平面座標軸のy方向と理解できる)における成分である。理解できるように、符号化ユニットの動きベクトル情報はベクターであり、1つの符号化ユニットの動きベクトル情報に対応する水平成分ベクトル情報と垂直成分ベクトル情報もいずれもベクターである。
【0049】
符号化ユニットの動きベクトル情報はベクターであるため、符号化ユニットの動きベクトル情報は方向と大きさを有し、動きベクトル情報の大きさは動きベクトル情報の長さ(すなわちベクターの長さ)であり、該長さは動きベクトル情報のモジュラス長と呼ばれてもよい。サーバは、各々の符号化ユニットにそれぞれ対応する水平成分ベクトル情報、及び垂直成分ベクトル情報に基づき、各々の符号化ユニットの動きベクトル情報のモジュラス長を得ることができ、ターゲット画像フレームの各々の符号化ユニットの動きベクトル情報のモジュラス長を、各々の符号化ユニットにそれぞれ対応するユニット動きベクトル値と呼ぶことができる。
【0050】
例えば、1つの符号化ユニットの動きベクトル情報の水平成分ベクトル情報のモジュラス長はx1であり、該符号化ユニットの動きベクトル情報の垂直成分ベクトル情報のモジュラス長はx2である。すると、該符号化ユニットの動きベクトル情報に対応するユニット動きベクトル値は、該符号化ユニットの動きベクトル情報のモジュラス長に等しくなり、水平成分ベクトル情報のモジュラス長x1の2乗に垂直成分ベクトル情報のモジュラス長x2の2乗を加算した後の値に平方根を求めて得られた値にも等しくなる。
【0051】
上記過程によって、サーバは、各々の符号化ユニットにそれぞれ対応するユニット動きベクトル値を計算して得ることができ、サーバは、ターゲット画像フレームのすべての符号化ユニットに対応するユニット動きベクトル値の平均値を、上記全体平均ベクトル情報として計算することができる。例えば、サーバは、すべての符号化ユニットにそれぞれ対応するユニット動きベクトル値の合計を計算することができ、かつ該合計を用いてすべての符号化ユニットの総数で除算して、上記全体平均ベクトル情報を得ることができる。
【0052】
例えば、ターゲット画像フレームは、符号化ユニット1、符号化ユニット2、及び符号化ユニット3を含む。ここで、符号化ユニット1に対応するユニット動きベクトル値は4であり、符号化ユニット2に対応するユニット動きベクトル値は5であり、符号化ユニット3に対応するユニット動きベクトル値は6であり、従って、ターゲット画像フレームの全体平均ベクトル情報は(4+5+6)/3に等しく、5に等しい。
【0053】
ステップS103:各々の符号化ユニットの動きベクトル情報の参照方向における成分ベクトル情報に基づいて、ターゲット画像フレームの参照方向における成分平均ベクトル情報を決定する。
【0054】
具体的には、ここでは、参照方向は、水平参照方向(水平方向と略称できる)、又は垂直参照方向(垂直方向と略称できる)を指してもよい。従って、ここでは動きベクトル情報の成分ベクトル情報は、水平参照方向、又は垂直参照方向のうちの任意の1つの方向における成分情報であってもよい。
【0055】
参照方向が水平参照方向であるときに、サーバがターゲット画像フレームの参照方向における成分平均ベクトル情報を取得する過程は、
サーバが、各々の符号化ユニット(下記の符号化ユニットはいずれもターゲット画像フレームの符号化ユニットである)の動きベクトル情報の水平参照方向における水平成分ベクトル情報に基づき、各々の符号化ユニットにそれぞれ対応する水平成分値を得ることができ、該水平成分値は水平成分ベクトル情報の大きさであることであってもよい。換言すれば、1つの符号化ユニットの動きベクトル情報の水平参照方向における水平成分ベクトル情報のモジュラス長を、該符号化ユニットに対応する水平成分値と呼ぶことができる。
【0056】
サーバは、各々の符号化ユニットにそれぞれ対応する水平成分値、及び少なくとも2つの符号化ユニットのユニット数に基づき、成分平均ベクトル情報を決定することができ、サーバは、すべての符号化ユニットにそれぞれ対応する水平成分値の平均値を、ターゲット画像フレームの成分平均ベクトル情報とすることができる。すなわちサーバは、すべての符号化ユニットにそれぞれ対応する水平成分値の合計を計算することができ、かつ該合計を用いてすべての符号化ユニットの総数(ユニット数と呼ばれてもよい)で除算して、ターゲット画像フレームの成分平均ベクトル情報を得ることができる。
【0057】
例えば、ターゲット画像フレームは、符号化ユニット1、符号化ユニット2、及び符号化ユニット3を含む。ここで、符号化ユニット1に対応する水平成分値は6であり、符号化ユニット2に対応する水平成分値は7であり、符号化ユニット3に対応する水平成分値は8であり、すると、ターゲット画像フレームの成分平均ベクトル情報は(6+7+8)/3に等しく、すなわち7に等しくてもよい。
【0058】
図5に参照されるように、
図5は本願が提供する成分平均ベクトル情報を取得するシーンの模式図である。
図5に示されるように、ターゲット画像フレームは符号化ユニット1、符号化ユニット2、…、及び符号化ユニットnを含んでもよい。nの値は実際の応用シーンに基づき決定される。
【0059】
ここで、符号化ユニット1の動きベクトル情報100dの水平参照方向における水平成分ベクトル情報は、水平成分ベクトル情報101dである。符号化ユニット2の動きベクトル情報102dの水平参照方向における水平成分ベクトル情報は、水平成分ベクトル情報103dである。符号化ユニットnの動きベクトル情報104dの水平参照方向における水平成分ベクトル情報は水平成分ベクトル情報105dである。
【0060】
従って、符号化ユニット1に対応する水平成分値は水平成分ベクトル情報101dのモジュラス長であり、符号化ユニット2に対応する水平成分値は水平成分ベクトル情報103dのモジュラス長であり、符号化ユニットnに対応する水平成分値は水平成分ベクトル情報105dのモジュラス長である。モジュラス長とはベクターから方向要素を取り除いた後の残りの線分の長さを指す。
【0061】
従って、サーバは、符号化ユニット1に対応する水平成分値、符号化ユニット2に対応する水平成分値、…、及び符号化ユニットnに対応する水平成分値の平均値を、ターゲット画像フレームの成分平均ベクトル情報106dとすることができる。
【0062】
同じように、参照方向が垂直参照方向であるときに、サーバがターゲット画像フレームの参照方向における成分平均ベクトル情報を取得する過程は、
サーバが、各々の符号化ユニットの動きベクトル情報の垂直参照方向における垂直成分ベクトル情報に基づき、各々の符号化ユニットにそれぞれ対応する垂直成分値を得ることができ、該垂直成分値はすなわち垂直成分ベクトル情報の大きさであることであってもよい。換言すれば、1つの符号化ユニットの動きベクトル情報の垂直参照方向における垂直成分ベクトル情報のモジュラス長を、該符号化ユニットに対応する垂直成分値と呼ぶことができる。
【0063】
サーバは、各々の符号化ユニットにそれぞれ対応する垂直成分値、及び少なくとも2つの符号化ユニットのユニット数に基づき、成分平均ベクトル情報を決定することができ、サーバは、すべての符号化ユニットにそれぞれ対応する垂直成分値の平均値を、ターゲット画像フレームの成分平均ベクトル情報とすることができる。すなわちサーバは、すべての符号化ユニットにそれぞれ対応する垂直成分値の合計を計算することができ、かつ該合計を用いてすべての符号化ユニットの総数(ユニット数と呼ばれてもよい)で除算して、ターゲット画像フレームの成分平均ベクトル情報を得ることができる。
【0064】
例えば、ターゲット画像フレームは、符号化ユニット1、符号化ユニット2、及び符号化ユニット3を含む。ここで、符号化ユニット1に対応する垂直成分値は10であり、符号化ユニット2に対応する垂直成分値は20であり、符号化ユニット3に対応する垂直成分値は30であり、ターゲット画像フレームの成分平均ベクトル情報は(10+20+30)/3に等しく、すなわち20に等しくてもよい。
【0065】
図6に参照されるように、
図6は本願が提供する成分平均ベクトル情報を取得するシーンの模式図である。
図6に示されるように、ターゲット画像フレームは符号化ユニット1、符号化ユニット2、…、及び符号化ユニットnを含んでもよい。nの値は実際の応用シーンに基づき決定される。
【0066】
ここで、符号化ユニット1の動きベクトル情報100eの垂直参照方向における垂直成分ベクトル情報は、垂直成分ベクトル情報101eである。符号化ユニット2の動きベクトル情報102eの垂直参照方向における垂直成分ベクトル情報は、垂直成分ベクトル情報103eである。符号化ユニットnの動きベクトル情報104eの垂直参照方向における垂直成分ベクトル情報は垂直成分ベクトル情報105eである。
【0067】
従って、符号化ユニット1に対応する垂直成分値は垂直成分ベクトル情報101eのモジュラス長であり、符号化ユニット2に対応する垂直成分値は垂直成分ベクトル情報103eのモジュラス長であり、符号化ユニットnに対応する垂直成分値は垂直成分ベクトル情報105eのモジュラス長である。
【0068】
従って、サーバは、符号化ユニット1に対応する垂直成分値、符号化ユニット2に対応する垂直成分値、…、及び符号化ユニットnに対応する垂直成分値の平均値を、ターゲット画像フレームの成分平均ベクトル情報106eとすることができる。
【0069】
図7に参照されるように、
図7は本願が提供するベクトル情報を取得するシーンの模式図である。
図7に示されるように、ターゲット画像フレームの符号化ユニットは、符号化ユニット1、符号化ユニット2、符号化ユニット3、及び符号化ユニット4を含んでもよい。符号化ユニット1の動きベクトル情報は動きベクトル情報106fであってもよく、符号化ユニット2の動きベクトル情報は動きベクトル情報107fであってもよく、符号化ユニット3の動きベクトル情報は動きベクトル情報104fであってもよく、符号化ユニット4の動きベクトル情報は動きベクトル情報105fであってもよい。
【0070】
サーバは、動きベクトル情報104f、動きベクトル情報105f、動きベクトル情報106f、及び動きベクトル情報107fのモジュラス長の平均値を、ターゲット画像フレームの全体平均ベクトル情報108fとすることができる。サーバは、動きベクトル情報104f、動きベクトル情報105f、動きベクトル情報106f、及び動きベクトル情報107fの水平方向、又は垂直方向での成分のモジュラス長の平均値を、ターゲット画像フレームの成分平均ベクトル情報109fとすることができる。
【0071】
ステップS104:全体平均ベクトル情報と成分平均ベクトル情報に基づき、ターゲット画像フレームの参照方向における動き検出操作に対するフレーム実行ポリシーを決定し、フレーム実行ポリシーはフレーム開始実行ポリシー、又はフレーム終了実行ポリシーである。
【0072】
具体的には、上記参照方向は水平方向と垂直方向であってもよいため、参照方向に関連付けられた動き検出操作は、クロスサーチアルゴリズムを実行する操作であってもよい。該クロスサーチアルゴリズムは主に、画像フレーム、又は符号化ユニットの動きベクトル情報の水平方向、又は/及び垂直方向における動き方向を検出することに用いられる。
【0073】
ここで、ターゲット画像フレームに対して参照方向に関連付けられた動き検出操作を実行することは、ターゲット画像フレームに対してクロスサーチアルゴリズムの操作を実行することを表し、つまりターゲット画像フレームの動き検出操作に対するフレーム実行ポリシーがフレーム開始実行ポリシーであることを表す。ターゲット画像フレームに対して参照方向に関連付けられた動き検出操作を実行しないことは、ターゲット画像フレームに対してクロスサーチアルゴリズムの操作を実行しないことを表し、つまりターゲット画像フレームの動き検出操作に対するフレーム実行ポリシーがフレーム終了実行ポリシーであることを表す。
【0074】
ターゲット画像フレームに対して参照方向に関連付けられた動き検出操作を実行することによって、ターゲット画像フレームに含まれた動きベクトル情報の動き方向を検出して得ることができる。ターゲット画像フレームに含まれた動きベクトル情報の動き方向を検出して得ることによって、さらにターゲット画像フレームをより良好に符号化することができる。
【0075】
本願は、全体平均ベクトル情報と成分平均ベクトル情報に基づき、ターゲット画像フレームに水平方向、又は垂直方向において顕著な動きが存在するか否かを判断することができる。ターゲット画像フレームに水平方向、又は垂直方向上に顕著な動きが存在するときに、ターゲット画像フレームに含まれた動きベクトル情報に対して参照方向に関連付けられた動き検出操作を実行し、すなわちクロスサーチ操作を実行することができる。そうでなければ、ターゲット画像フレームに対して参照方向に関連付けられた動き検出操作を実行せず、すなわちクロスサーチ操作を実行しなくてもよい。すなわちターゲット画像フレームに水平方向、又は垂直方向において顕著な動きが存在しないときに、ターゲット画像フレームに含まれた動きベクトル情報に対して参照方向に関連付けられた動き検出操作を実行しなくてもよい。
【0076】
ここで、把握する必要があるように、ターゲット画像フレームが参照方向に関連付けられた動き検出操作を実行しようとする(すなわちクロスサーチアルゴリズムの操作を実行する)か否かにかかわらず、いずれもターゲット画像フレームに対して通常の動き検出操作を実行する。該クロスサーチアルゴリズムは主に、ターゲット画像フレームの水平方向、又は垂直方向における動き方向を検出することに用いられるが、該通常の動き検出はターゲット画像フレームにおける各々の画素点に対して動き方向の検出を行うことを指してもよい。
【0077】
理解できるように、ターゲット画像フレームに対してクロスサーチアルゴリズムの操作を実行することは、ターゲット画像フレームに対して通常の動き検出操作を実行することを支援することに用いられる。ターゲット画像フレームが水平方向、又は垂直方向において顕著な動きを有するときに、ターゲット画像フレームに対してクロスサーチアルゴリズムを実行して、ターゲット画像フレームの動きベクトル情報の動き方向に対する検出をより正確、且つより高速にすることができる。ターゲット画像フレームが水平方向、又は垂直方向上に顕著な動きを有しないときには、ターゲット画像フレームに対してクロスサーチアルゴリズムの操作を実行することはあまり役に立たない。そのため、ターゲット画像フレームが水平方向、又は垂直方向において顕著な動きを有さしいときには、ターゲット画像フレームに対してクロスサーチアルゴリズムの操作を実行しなくてもよい(すなわち参照方向に関連付けられた動き検出操作を実行しない)。
【0078】
画像フレームに対してクロスサーチアルゴリズムの操作を行うことは比較的時間がかかるため、ビデオデータを符号化するときに、もしビデオデータの各々の画像フレームに対していずれもクロスサーチアルゴリズムの操作を無条件で実行するなら、ビデオデータの画像フレーム対する符号化に時間が長くかかり、さらにビデオデータに対する符号化に時間が長くかかることになる。従って、本願が提供する方法によって、ある画像フレーム(該画像フレームは上記ターゲット画像フレームとされてもよい)は水平方向、又は垂直方向において顕著な動きが存在しないときに、該画像フレームに対してクロスサーチアルゴリズムの操作を実行しなくてもよい。従って、画像フレームに対する符号化速度を向上させ、さらにビデオデータに対する符号化速度を向上させることができる。
【0079】
ここで、成分平均ベクトル情報は水平方向、又は垂直方向のうちの任意の1つの方向における成分平均ベクトル情報であってもよいため、理解できるように、水平方向、又は垂直方向における成分平均ベクトル情報のみによって、ターゲット画像フレームは水平方向、又は垂直方向上に顕著な動きが存在するか否かを判断することができる。
【0080】
その理由として、もし成分平均ベクトル情報が水平方向におけるものであるなら、ターゲット画像フレームの水平方向における成分平均ベクトル情報と全体平均ベクトル情報との間の比がある閾値(自ら設定でき、第1比率閾値と呼ばれてもよい)以上であるときに、ターゲット画像フレームの水平方向における成分平均ベクトル情報が全体平均ベクトル情報中の大部分の情報を占めることを表し、ターゲット画像フレームは水平方向において顕著な動きが存在することも表す。ターゲット画像フレームの水平方向における成分平均ベクトル情報と全体平均ベクトル情報との間の比がある閾値(自ら設定でき、第2比率閾値と呼ばれてもよい)以下であるときには、ターゲット画像フレームの水平方向における成分平均ベクトル情報が全体平均ベクトル情報中の非常に小さい部分の情報を占めることを表し、ターゲット画像フレームは水平方向においては顕著な動きが存在しないが、垂直方向において顕著な動きが存在することも表す。
【0081】
同じように、もし成分平均ベクトル情報が垂直方向におけるものであるなら、ターゲット画像フレームの垂直方向における成分平均ベクトル情報と全体平均ベクトル情報との間の比がある閾値(上記第1比率閾値であってもよい)以上であるときに、ターゲット画像フレームの垂直方向における成分平均ベクトル情報が全体平均ベクトル情報中の大部分の情報を占めることを表し、ターゲット画像フレームは垂直方向上に顕著な動きが存在することも表す。ターゲット画像フレームの垂直方向における成分平均ベクトル情報と全体平均ベクトル情報との間の比がある閾値(上記第2比率閾値であってもよい)以下であるときに、ターゲット画像フレームの垂直方向における成分平均ベクトル情報が全体平均ベクトル情報中の非常に小さい部分の情報を占めることを表し、ターゲット画像フレームは垂直方向上に顕著な動きが存在しないが、水平方向上に顕著な動きが存在することも表す。
【0082】
上記第1比率閾値は第2比率閾値よりも大きい。
【0083】
換言すれば、もしターゲット画像フレームの水平方向における成分平均ベクトル情報が全体平均ベクトル情報の大部分の情報を占めるなら、ターゲット画像フレームの垂直方向における成分平均ベクトル情報は全体平均ベクトル情報の小さい部分の情報を占める。逆に、もしターゲット画像フレームの垂直方向における成分平均ベクトル情報が全体平均ベクトル情報の大部分の情報を占めるなら、ターゲット画像フレームの水平方向における成分平均ベクトル情報は全体平均ベクトル情報の小さい部分の情報を占める。換言すれば、水平方向における成分平均ベクトル情報と垂直方向における成分平均ベクトル情報との間は負の相関があり、一方が大きいと、他方が小さい。
【0084】
従って、上記過程は以下のように総括されてもよく、
成分平均ベクトル情報と全体平均ベクトル情報との間の比を、フレーム成分比率値と呼ぶことができ、該フレーム成分比率値の数値範囲は0から1である。該フレーム成分比率値が上記第1比率閾値以上であるか、又は該フレーム成分比率値が上記第2比率閾値以下であるときに、ターゲット画像フレームは水平方向、又は垂直方向において顕著な動きが存在することが表され、従って、ターゲット画像フレームの参照方向に関連付けられた動き検出操作に対するフレーム実行ポリシーがフレーム開始実行ポリシーであると決定することができる。
【0085】
上記フレーム成分比率値が上記第1比率閾値よりも小さく、且つ上記第2比率閾値よりも大きいときに、ターゲット画像フレームは水平方向、又は垂直方向において顕著な動きが存在しないことが表されるため、ターゲット画像フレームの参照方向に関連付けられた動き検出操作(すなわちクロスサーチアルゴリズムの操作を実行する)に対するフレーム実行ポリシーがフレーム終了実行ポリシーであると決定することができる。
【0086】
サーバがターゲット画像フレームの参照方向に関連付けられた動き検出操作に対するフレーム実行ポリシーがフレーム終了実行ポリシーであると決定したときに、サーバは、ターゲット画像フレームにおけるすべての符号化ユニットに対して、いずれにもクロスサーチアルゴリズムの操作を実行しなくてもよい。
【0087】
さらには、サーバがターゲット画像フレームの参照方向に関連付けられた動き検出操作に対するフレーム実行ポリシーがフレーム開始実行ポリシーであると決定したときに、さらに、サーバは、ターゲット画像フレームの複数の符号化ユニットのうち、どの符号化ユニットがクロスサーチアルゴリズムの操作を実行する必要があるか、どの符号化ユニットがクロスサーチアルゴリズムの操作を実行する必要がないかを具体的に判断することもでき、これによりターゲット画像フレームに対する符号化速度をさらに向上させることができ、下記内容の記述を参照する。
【0088】
サーバが各々の符号化ユニットがクロスサーチアルゴリズムの操作を実行する必要があるか否かを判断する原理は、ターゲット画像フレームがクロスサーチアルゴリズムの操作を実行する必要があるか否かを判断する原理と同じであるが、1つは画像フレームレベルであり、もう1つは符号化ユニットレベルである。
【0089】
具体的には、サーバは、各々の符号化ユニットの動きベクトル情報に基づき、各々の符号化ユニットのユニット動きベクトル値とユニット成分ベクトル値を得ることができる。1つの符号化ユニットのユニット動き成分値は、該符号化ユニットの動きベクトル情報の大きさ、すなわちモジュラス長を指してもよい。1つの符号化ユニットのユニット成分ベクトル値は、該符号化ユニットの動きベクトル情報の水平方向における水平成分ベクトル情報のモジュラス長を指してもよく、又は該符号化ユニットの動きベクトル情報の垂直方向における垂直成分ベクトル情報のモジュラス長を指してもよい。
【0090】
図8に参照されるように、
図8は本願が提供するユニット成分ベクトル値を取得するシーンの模式図である。
図8に示されるように、動きベクトル情報100gはターゲット画像フレームの1つの符号化ユニットの動きベクトル情報であってもよい。動きベクトル情報100gの垂直方向における成分は垂直成分ベクトル情報101gであり、動きベクトル情報100gの水平方向における成分は水平成分ベクトル情報102gである。
【0091】
領域103gに示されるように、サーバは、垂直成分ベクトル情報101gのモジュラス長104g、又は水平成分ベクトル情報102gのモジュラス長105gを、動きベクトル情報100gが属する符号化ユニットのユニット成分ベクトル値とすることができる。
【0092】
ここで、もしある符号化ユニットに対してクロスサーチアルゴリズムの操作を実行する必要があるなら、該符号化ユニットの参照方向に関連付けられた動き検出操作に対するユニット実行ポリシーをユニット開始実行ポリシーと呼ぶことができる。もしある符号化ユニットに対してクロスサーチアルゴリズムの操作を実行する必要がないなら、該符号化ユニットの参照方向に関連付けられた動き検出操作に対するユニット実行ポリシーをユニット終了実行ポリシーと呼ぶことができる。
【0093】
各々の符号化ユニットのユニット実行ポリシーがユニット開始実行ポリシーであるかユニット終了実行ポリシーであるかを判断する原理は同じであるため、ターゲット画像フレームの符号化ユニットが符号化ユニットbiを含み、iがターゲット画像フレームのすべての符号化ユニットの総数以下である正整数であると仮定して、ここでは符号化ユニットbiのユニット実行ポリシーがユニット開始実行ポリシーであるかユニット終了実行ポリシーであるかを判断する過程を例として説明する。
【0094】
符号化ユニットbiに対応するユニット成分ベクトル値と符号化ユニットbiのユニット動きベクトル値との間の比を、符号化ユニットbiに対応するユニット成分比率値と呼ぶことができる。符号化ユニットbiに対応するユニット成分比率値が、ある閾値(自ら設定でき、第3比率閾値と呼ばれてもよい)以上であるか、又は符号化ユニットbiに対応するユニット成分比率値がある閾値(自ら設定でき、第4比率閾値と呼ばれてもよい)以下であるときに、符号化ユニットbiは水平方向、又は垂直方向において顕著な動きが存在すると考えることができ、従って、符号化ユニットbiに対するユニット実行ポリシーがユニット開始実行ポリシーであると決定することができる。第3比率閾値は第4比率閾値よりも大きい。
【0095】
符号化ユニットbiのユニット成分比率値が上記第3比率閾値よりも小さく、且つ上記第4比率閾値よりも大きいときに、符号化ユニットbiは水平方向、又は垂直方向において顕著な動きが存在しないと考えることができ、従って、符号化ユニットbiに対するユニット実行ポリシーがユニット終了実行ポリシーであると決定することができる。
【0096】
上記過程によって、サーバは、ターゲット画像フレームに対するフレーム実行ポリシーを得ることができ、ターゲット画像フレームに対するフレーム実行ポリシーがフレーム開始実行ポリシーであるときに、ターゲット画像フレームの各々の符号化ユニットに対するユニット実行ポリシーを取得することもできる。
【0097】
サーバは、得られたターゲット画像フレームに対するフレーム実行ポリシーと各々の符号化ユニットに対するユニット実行ポリシーによって、ターゲット画像フレームが属するビデオデータを符号化することができ、該ビデオデータの符号化データを得ることができる。サーバは、該符号化データをビデオクライアントに送信することができ、ビデオクライアントに該符号化データを復号させて、ビデオデータの復号データを得ることができ、更にビデオクライアントは該復号データを再生して、ビデオデータに対する再生を実現することができる。
【0098】
例えば、ターゲット画像フレームが属するビデオデータはユーザ1のビデオクライアントによってサーバに送信されるものであってもよく、ユーザ1のビデオクライアントはサーバにビデオデータを送信することによって、該ビデオデータをユーザ2のビデオクライアントに送信することを要求する。従って、サーバは、ビデオデータを符号化して、ビデオデータの符号化データを得た後に、該符号化データをユーザ2のビデオクライアントに送信することができ、ユーザ2のビデオクライアントに該符号化データを復号させ、復号データを得て、かつ該復号データを再生することができる。
【0099】
本願は、ターゲット画像フレームに含まれた少なくとも2つの符号化ユニットを取得し、少なくとも2つの符号化ユニットのうちの各々の符号化ユニットの動きベクトル情報を取得し、各々の符号化ユニットの動きベクトル情報に基づいて、ターゲット画像フレームに対する全体平均ベクトル情報を決定し、各々の符号化ユニットの動きベクトル情報の参照方向における成分ベクトル情報に基づいて、ターゲット画像フレームの参照方向における成分平均ベクトル情報を決定し、全体平均ベクトル情報と成分平均ベクトル情報に基づき、ターゲット画像フレームの参照方向に関連付けられた動き検出操作に対するフレーム実行ポリシーを決定することができ、フレーム実行ポリシーは、フレーム開始実行ポリシー、又はフレーム終了実行ポリシーである。これから分かるように、本願が提案する方法は、ターゲット画像フレームの成分平均ベクトル情報と全体平均ベクトル情報との間の関係(例えば、占めた割合)に基づき、ターゲット画像フレームに対してどのようなフレーム実行ポリシーを採用するかを決定することができ、ターゲット画像フレームに対して異なるフレーム実行ポリシーを採用することで、ターゲット画像フレームに対して異なる符号化速度を有することになる。従って、ターゲット画像フレームに対して採用されたフレーム実行ポリシーを適応的に判断することによって、ターゲット画像フレームに対する符号化速度を向上させることができる。
【0100】
図9に参照されるように、
図9は本願が提供するデータ符号化装置の構造模式図である。
図9に示されるように、該データ符号化装置1は、動き情報取得モジュール101と、全体情報決定モジュール102と、成分情報決定モジュール103と、ポリシー決定モジュール104とを含んでもよく、
動き情報取得モジュール101は、ターゲット画像フレームに含まれた少なくとも2つの符号化ユニットを取得し、少なくとも2つの符号化ユニットのうちの各々の符号化ユニットの動きベクトル情報を取得することに用いられ、
全体情報決定モジュール102は、各々の符号化ユニットの動きベクトル情報に基づいて、ターゲット画像フレームに対する全体平均ベクトル情報を決定することに用いられ、
成分情報決定モジュール103は、各々の符号化ユニットの動きベクトル情報の参照方向における成分ベクトル情報に基づいて、ターゲット画像フレームの参照方向における成分平均ベクトル情報を決定することに用いられ、
ポリシー決定モジュール104は、全体平均ベクトル情報と成分平均ベクトル情報に基づき、ターゲット画像フレームの参照方向における動き検出操作に対するフレーム実行ポリシーを決定することに用いられ、フレーム実行ポリシーはフレーム開始実行ポリシー、又はフレーム終了実行ポリシーである。
【0101】
ここで、動き情報取得モジュール101、全体情報決定モジュール102、成分情報決定モジュール103、及びポリシー決定モジュール104の具体的な機能実現方式は、
図3に対応する実施例におけるステップS101~ステップS104を参照し、ここでは詳細な説明を省略する。
【0102】
ここで、全体情報決定モジュール102は、成分情報取得ユニット1021と、ベクトル値決定ユニット1022と、全体情報決定ユニット1023とを含み、
成分情報取得ユニット1021は、各々の符号化ユニットの動きベクトル情報にそれぞれ含まれる水平成分ベクトル情報と垂直成分ベクトル情報を取得することに用いられ、
ベクトル値決定ユニット1022は、各々の符号化ユニットにそれぞれ対応する水平成分ベクトル情報と垂直成分ベクトル情報に基づいて、各々の符号化ユニットにそれぞれ対応するユニット動きベクトル値を決定することに用いられ、
全体情報決定ユニット1023は、各々の符号化ユニットにそれぞれ対応するユニット動きベクトル値、及び少なくとも2つの符号化ユニットのユニット数に基づき、全体平均ベクトル情報を決定することに用いられる。
【0103】
ここで、成分情報取得ユニット1021、ベクトル値決定ユニット1022、及び全体情報決定ユニット1023の具体的な機能実現方式は、
図3に対応する実施例におけるステップS102を参照し得るため、ここでは詳細な説明を省略する。
【0104】
ここで、参照方向は水平参照方向を含み、各々の符号化ユニットの動きベクトル情報の参照方向における成分ベクトル情報は、水平成分ベクトル情報を含み、
成分情報決定モジュール103は、水平成分取得ユニット1031と、水平値決定ユニット1032と、水平情報決定ユニット1033とを含み、
水平成分取得ユニット1031は、各々の符号化ユニットの動きベクトル情報のそれぞれの水平参照方向における水平成分ベクトル情報を取得することに用いられ、
水平値決定ユニット1032は、各々の符号化ユニットのそれぞれの水平参照方向における水平成分ベクトル情報に基づき、各々の符号化ユニットにそれぞれ対応する水平成分値を決定することに用いられ、
水平情報決定ユニット1033は、各々の符号化ユニットにそれぞれ対応する水平成分値、及び少なくとも2つの符号化ユニットのユニット数に基づき、成分平均ベクトル情報を決定することに用いられる。
【0105】
ここで、水平成分取得ユニット1031、水平値決定ユニット1032、及び水平情報決定ユニット1033の具体的な機能実現方式は、
図3に対応する実施例におけるステップS103を参照し得るため、ここでは詳細な説明を省略する。
【0106】
ここで、参照方向は垂直参照方向を含み、各々の符号化ユニットの動きベクトル情報の参照方向における成分ベクトル情報は、垂直成分ベクトル情報を含み、
成分情報決定モジュール103は、垂直成分取得ユニット1034と、垂直値決定ユニット1035と、垂直情報決定ユニット1036とを含み、
垂直成分取得ユニット1034は、各々の符号化ユニットの動きベクトル情報のそれぞれの垂直参照方向における垂直成分ベクトル情報を取得することに用いられ、
垂直値決定ユニット1035は、各々の符号化ユニットのそれぞれの垂直参照方向における垂直成分ベクトル情報に基づき、各々の符号化ユニットにそれぞれ対応する垂直成分値を決定することに用いられ、
垂直情報決定ユニット1036は、各々の符号化ユニットにそれぞれ対応する垂直成分値、及び少なくとも2つの符号化ユニットのユニット数に基づき、成分平均ベクトル情報を決定することに用いられる。
【0107】
ここで、垂直成分取得ユニット1034、垂直値決定ユニット1035、及び垂直情報決定ユニット1036の具体的な機能実現方式は、
図3に対応する実施例におけるステップS103を参照し得るため、ここでは詳細な説明を省略する。
【0108】
ここで、ポリシー決定モジュール104は、フレーム比率決定ユニット1041と、第1ポリシー決定ユニット1042と、第2ポリシー決定ユニット1043とを含み、
フレーム比率決定ユニット1041は、全体平均ベクトル情報と成分平均ベクトル情報に基づき、フレーム成分比率値を決定することに用いられ、
第1ポリシー決定ユニット1042は、フレーム成分比率値が第1比率閾値以上であるか、又はフレーム成分比率値が第2比率閾値以下であるときに、ターゲット画像フレームの動き検出操作に対するフレーム実行ポリシーがフレーム開始実行ポリシーであると決定することに用いられ、
第2ポリシー決定ユニット1043は、フレーム成分比率値が第1比率閾値よりも小さく、且つ第2比率閾値よりも大きいときに、ターゲット画像フレームの動き検出操作に対するフレーム実行ポリシーがフレーム終了実行ポリシーであると決定することに用いられる。
【0109】
ここで、フレーム比率決定ユニット1041、第1ポリシー決定ユニット1042、及び第2ポリシー決定ユニット1043の具体的な機能実現方式は、
図3に対応する実施例におけるステップS104を参照し、ここでは詳細な説明を省略する。
【0110】
ここで、上記装置1は、ユニット値決定モジュール105と、ユニットポリシー決定モジュール106とをさらに含み、
ユニット値決定モジュール105は、ターゲット画像フレームの動き検出操作に対するフレーム実行ポリシーがフレーム開始実行ポリシーであると決定したときに、各々の符号化ユニットの動きベクトル情報に基づき、各々の符号化ユニットのユニット動きベクトル値とユニット成分ベクトル値を決定することに用いられ、
ユニットポリシー決定モジュール106は、各々の符号化ユニットに対応するユニット動きベクトル値とユニット成分ベクトル値に基づき、各々の符号化ユニットの動き検出操作に対するユニット実行ポリシーを決定することに用いられる。
【0111】
ここで、ユニット値決定モジュール105とユニットポリシー決定モジュール106の具体的な機能実現方式は、
図3に対応する実施例におけるステップS104を参照し得るため、ここでは詳細な説明を省略する。
【0112】
ここで、ユニット実行ポリシーはユニット開始実行ポリシー、又はユニット終了実行ポリシーであり、少なくとも2つの符号化ユニットは符号化ユニットbiを含み、iは少なくとも2つの符号化ユニットのユニット数以下である正整数であり、
ユニットポリシー決定モジュール106は、ユニット値決定ユニット1061と、第1ユニットポリシー決定ユニット1062と、第2ユニットポリシー決定ユニット1063とを含み、
ユニット値決定ユニット1061は、符号化ユニットbiに対応するユニット動きベクトル値とユニット成分ベクトル値に基づき、符号化ユニットbiに対応するユニット成分比率値を決定することに用いられ、
第1ユニットポリシー決定ユニット1062は、ユニット成分比率値が第3比率閾値以上であるか、又はユニット成分比率値が第4比率閾値以下であるときに、符号化ユニットbiの動き検出操作に対するユニット実行ポリシーがユニット開始実行ポリシーであると決定することに用いられ、第3比率閾値は第4比率閾値よりも大きく、
第2ユニットポリシー決定ユニット1063は、ユニット成分比率値が第3比率閾値よりも小さく、且つ第4比率閾値よりも大きいときに、符号化ユニットbiの動き検出操作に対するユニット実行ポリシーがユニット終了実行ポリシーであると決定することに用いられる。
【0113】
ここで、ユニット値決定ユニット1061、第1ユニットポリシー決定ユニット1062、及び第2ユニットポリシー決定ユニット1063の具体的な機能実現方式は、
図3に対応する実施例におけるステップS104を参照し得るため、ここでは詳細な説明を省略する。
【0114】
ここで、動き情報取得モジュール101は、参照フレーム取得ユニット1011と、予測ブロック取得ユニット1012と、動き情報決定ユニット1013とを含み、
参照フレーム取得ユニット1011は、ターゲット画像フレームの参照画像フレームを取得することに用いられ、
予測ブロック取得ユニット1012は、参照画像フレーム中から、各々の符号化ユニットと類似性を有する予測画像ブロックをそれぞれ取得することに用いられ、
動き情報決定ユニット1013は、各々の符号化ユニットと対応した予測画像ブロックとの間の相対的な変位、及びターゲット動きベクトル精度に基づき、各々の符号化ユニットの動きベクトル情報を決定することに用いられる。
【0115】
ここで、参照フレーム取得ユニット1011、予測ブロック取得ユニット1012、及び動き情報決定ユニット1013の具体的な機能実現方式は、
図3に対応する実施例におけるステップS101を参照し得るため、ここでは詳細な説明を省略する。
【0116】
ここで、上記装置1は、フレーム化モジュール107と、ターゲットフレーム決定モジュール108とをさらに含み、
フレーム化モジュール107は、ビデオデータをフレーム化して、ビデオデータに含まれる複数の画像フレームを得ることに用いられ、
ターゲットフレーム決定モジュール108は、複数の画像フレーム中から、ターゲット画像フレームを決定することに用いられ、
参照フレーム取得ユニット1011は、
複数の画像フレーム中から、ターゲット画像フレームに隣接する画像フレームを、参照画像フレームとして取得することに用いられる。
【0117】
ここで、フレーム化モジュール107とターゲットフレーム決定モジュール108の具体的な機能実現方式は、
図3に対応する実施例におけるステップS101を参照し得るため、ここでは詳細な説明を省略する。
【0118】
ここで、上記装置1は、符号化モジュール109と、再生モジュール110とをさらに含み、
符号化モジュール109は、決定されたターゲット画像フレームの動き検出操作に対するフレーム実行ポリシーに基づいて、ビデオデータを符号化して、ビデオデータの符号化データを得ることに用いられ、
再生モジュール110は、符号化データをビデオクライアントに同期させて、ビデオクライアントに符号化データを復号させて、ビデオデータの復号データを得て、復号データを再生することに用いられる。
【0119】
ここで、符号化モジュール109と再生モジュール110の具体的な機能実現方式は、
図3に対応する実施例におけるステップS104を参照し得るため、ここでは詳細な説明を省略する。
【0120】
ここで、上記装置1は、フレーム分割モジュール111と、領域分割モジュール112と、ユニット決定モジュール113とをさらに含み、
フレーム分割モジュール111は、ターゲット画像フレームを少なくとも2つの符号化領域に分割することに用いられ、
領域分割モジュール112は、少なくとも2つの符号化領域のうちの各々の符号化領域に対して領域分割を行って、各々の符号化領域がそれぞれ属する符号化ユニットを得ることに用いられ、
ユニット決定モジュール113は、各々の符号化領域がそれぞれ属する符号化ユニットを、ターゲット画像フレームに含まれた少なくとも2つの符号化ユニットとして決定することに用いられる。
【0121】
ここで、フレーム分割モジュール111、領域分割モジュール112、及びユニット決定モジュール113の具体的な機能実現方式は、
図3に対応する実施例におけるステップS101を参照し得るため、ここでは詳細な説明を省略する。
【0122】
本願は、ターゲット画像フレームに含まれた少なくとも2つの符号化ユニットを取得し、少なくとも2つの符号化ユニットのうちの各々の符号化ユニットの動きベクトル情報を取得し、各々の符号化ユニットの動きベクトル情報に基づいて、ターゲット画像フレームに対する全体平均ベクトル情報を決定し、各々の符号化ユニットの動きベクトル情報の参照方向における成分ベクトル情報に基づいて、ターゲット画像フレームの参照方向における成分平均ベクトル情報を決定し、全体平均ベクトル情報と成分平均ベクトル情報に基づき、ターゲット画像フレームの参照方向に関連付けられた動き検出操作に対するフレーム実行ポリシーを決定することができ、フレーム実行ポリシーはフレーム開始実行ポリシー、又はフレーム終了実行ポリシーである。これから分かるように、本願が提案する装置は、ターゲット画像フレームの成分平均ベクトル情報と全体平均ベクトル情報との間の関係(例えば、占めた割合)に基づき、ターゲット画像フレームに対してどのようなフレーム実行ポリシーを採用するかを決定することができ、ターゲット画像フレームに対して異なるフレーム実行ポリシーを採用することで、ターゲット画像フレームに対して異なる符号化速度を有することになる。従って、ターゲット画像フレームに対して採用されたフレーム実行ポリシーを適応的に判断することによって、ターゲット画像フレームに対する符号化速度を向上させることができる。
【0123】
図10に参照されるように、
図10は本願が提供するコンピュータ機器の構造模式図である。
図10に示されるように、コンピュータ機器1000は、プロセッサ1001と、ネットワークインタフェース1004と、メモリ1005とを含んでもよく、この他、コンピュータ機器1000は、ユーザインタフェース1003と、少なくとも1つの通信バス1002とをさらに含んでもよい。ここで、通信バス1002は、これらのコンポーネント間の接続通信を実現することに用いられる。ここで、ユーザインタフェース1003は、ディスプレイ(Display)、及びキーボード(Keyboard)を含んでもよく、選択可能に、ユーザインタフェース1003は、標準的な有線インタフェース、及び無線インタフェースをさらに含んでもよい。ネットワークインタフェース1004は選択可能に、標準的な有線インタフェース、及び無線インタフェース(例えばWI-FIインタフェース)を含んでもよい。メモリ1005は、高速RAMメモリであってもよく、不揮発性メモリ(non-volatile memory)、例えば少なくとも1つの磁気ディスクメモリであってもよい。メモリ1005は選択可能に、前述したプロセッサ1001から離れる少なくとも1つの記憶装置であってもよい。
図10に示されるように、一種のコンピュータ記憶媒体であるメモリ1005においてオペレーティングシステム、ネットワーク通信モジュール、ユーザインタフェースモジュール、及び機器制御アプリケーションプログラムが含まれてもよい。
【0124】
図10に示されるコンピュータ機器1000において、ネットワークインタフェース1004は、ネットワーク通信機能を提供することができ、ユーザインタフェース1003は、主にユーザに入力インタフェースを提供することに用いられ、プロセッサ1001は、メモリ1005において記憶された機器制御アプリケーションプログラムを呼び出して、上記
図3に対応する実施例におけるデータ符号化方法に対する記述を実現することに用いられてもよい。理解すべきであるように、本願において記述されたコンピュータ機器1000は、上記
図9に対応する実施例におけるデータ符号化装置1に対する記述を実行してもよく、ここでは詳細な説明を省略する。また、同じ方法を採用する有益な効果の記述について、詳細な説明も省略する。
【0125】
この他、ここでは指摘する必要があるように、本願は、コンピュータ可読記憶媒体をさらに提供し、且つコンピュータ可読記憶媒体において上記言及されたデータ符号化装置1によって実行されるコンピュータプログラムが記憶され、且つコンピュータプログラムはプログラム命令を含み、プロセッサがプログラム命令を実行するときに、上記
図3に対応する実施例におけるデータ符号化方法に対する記述を実行することを可能にする。従って、ここでは詳細な説明を省略する。また、同じ方法を採用する有益な効果の記述について、詳細な説明も省略する。本願に関するコンピュータ記憶媒体の実施例において開示されていない技術的詳細については、本願の方法実施例の記述を参照する。
【0126】
当業者が理解できるように、上記実施例の方法における全部、又は一部のプロセスを実現することは、コンピュータプログラムによって関連するハードウェアに命令を出して完了することができ、上記プログラムは、1つのコンピュータ読み取り可能な記憶媒体において記憶されてもよく、該プログラムが実行されるときに、上記各方法実施例のプロセスを含んでもよい。ここで、上記記憶媒体は、磁気ディスク、光ディスク、読み取り専用メモリ(Read-Only Memory、ROM)、又はランダムアクセスメモリ(Random Access Memory、RAM)などであってもよい。
【0127】
以上に開示されているものは本願の好ましい実施例に過ぎず、もちろん、これによって本願の権利範囲を限定することが不可能であり、従って本願の特許請求の範囲に従って行われた等価変化は、依然として本願の範囲に属するものとなる。
【符号の説明】
【0128】
1000 コンピュータ機器
1001 プロセッサ
1002 通信バス
1003 ユーザインタフェース
1004 ネットワークインタフェース
1005 メモリ
1011 参照フレーム取得ユニット
1012 予測ブロック取得ユニット
1013 情報決定ユニット
1021 成分情報取得ユニット
1022 ベクトル値決定ユニット
1023 全体情報決定ユニット
1031 水平成分取得ユニット
1032 水平値決定ユニット
1033 水平情報決定ユニット
1034 垂直成分取得ユニット
1035 垂直値決定ユニット
1036 垂直情報決定ユニット
1041 フレーム比率決定ユニット
1042 第1ポリシー決定ユニット
1043 第2ポリシー決定ユニット
1061 ユニット値決定ユニット
1062 第1ユニットポリシー決定ユニット
1063 第2ユニットポリシー決定ユニット