(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2022-10-21
(45)【発行日】2022-10-31
(54)【発明の名称】符号化の対象となるデータ処理方法、装置、及びコンピュータプログラム
(51)【国際特許分類】
H04N 19/126 20140101AFI20221024BHJP
H04N 19/14 20140101ALI20221024BHJP
H04N 19/146 20140101ALI20221024BHJP
H04N 19/172 20140101ALI20221024BHJP
【FI】
H04N19/126
H04N19/14
H04N19/146
H04N19/172
(21)【出願番号】P 2021512511
(86)(22)【出願日】2019-11-05
(86)【国際出願番号】 CN2019115785
(87)【国際公開番号】W WO2020098534
(87)【国際公開日】2020-05-22
【審査請求日】2021-03-04
(31)【優先権主張番号】201811353718.3
(32)【優先日】2018-11-14
(33)【優先権主張国・地域又は機関】CN
(73)【特許権者】
【識別番号】517392436
【氏名又は名称】▲騰▼▲訊▼科技(深▲セン▼)有限公司
(74)【代理人】
【識別番号】100110364
【氏名又は名称】実広 信哉
(74)【代理人】
【識別番号】100150197
【氏名又は名称】松尾 直樹
(72)【発明者】
【氏名】▲張▼ 清
(72)【発明者】
【氏名】▲劉▼ ▲海▼▲軍▼
(72)【発明者】
【氏名】金 ▲飛▼▲剣▼
(72)【発明者】
【氏名】王 ▲詩▼涛
(72)【発明者】
【氏名】丁 ▲飄▼
【審査官】岩井 健二
(56)【参考文献】
【文献】特開2011-055504(JP,A)
【文献】特開2005-328487(JP,A)
【文献】特開2001-008215(JP,A)
【文献】国際公開第2009/121234(WO,A1)
【文献】国際公開第2009/119095(WO,A1)
【文献】米国特許出願公開第2014/0321535(US,A1)
【文献】米国特許出願公開第2009/0046778(US,A1)
【文献】米国特許出願公開第2007/0263720(US,A1)
(58)【調査した分野】(Int.Cl.,DB名)
H04N 19/00 - 19/98
(57)【特許請求の範囲】
【請求項1】
プロセッサが実行する、符号化の対象となるデータの処理方法であって、
符号化対象データフレームを取得するステップと、
前記符号化対象データフレームの複雑さ
(F)を決定するステップであって、前記複雑さが、少なくとも、空間領域のテクスチャの複雑さ、及び時間領域の動きの激しさを示すためのものである、ステップと、
リアルタイム符号化ビットレート
(S)を取得するステップであって、前記リアルタイム符号化ビットレートが、前記符号化対象データフレームの前の符号化済みデータフレームの符号化ビットレートである、ステップと、
前記リアルタイム符号化ビットレートと、前記符号化対象データフレームの複雑さとに基づいて、符号化パラメータ値を決定するステップと、
を含む符号化の対象となるデータの
処理方法であって、
前記符号化パラメータ値は、量子化パラメータ値(QP)を含み、前記リアルタイム符号化ビットレートと、前記符号化対象データフレームの複雑さとに基づいて、符号化パラメータ値を決定する前記ステップは、
ターゲット機器からフィードバックされた符号化ビットレートであるターゲット符号化ビットレートを取得するステップと、
前記ターゲット符号化ビットレートと、前記リアルタイム符号化ビットレートと、前記符号化対象データフレームの複雑さとに基づいて、前記量子化パラメータ値を決定するステップと、を含む、
符号化の対象となるデータの処理方法。
【請求項2】
前記ターゲット符号化ビットレートと、前記リアルタイム符号化ビットレートと、前記符号化対象データフレームの複雑さとに基づいて、前記量子化パラメータ値を決定する前記ステップは、
前記リアルタイム符号化ビットレートが前記ターゲット符号化ビットレートより大きく、前記複雑さが参照複雑さより大きい場合、前記量子化パラメータ値を大きく調整するステップと、
前記リアルタイム符号化ビットレートが前記ターゲット符号化ビットレートより小さく、前記複雑さが参照複雑さより小さい場合、前記量子化パラメータ値を小さく調整するステップと、の何れか1つを含む、
請求項1に記載の符号化の対象となるデータの処理方法。
【請求項3】
前記ターゲット符号化ビットレートと、前記リアルタイム符号化ビットレートと、前記符号化対象データフレームの複雑さとに基づいて、前記量子化パラメータ値を決定する前記ステップは、
前記ターゲット符号化ビットレートに基づいて、少なくとも1つのビットレート閾値を決定するステップと、
前記リアルタイム符号化ビットレートと前記ビットレート閾値との大きさの関係、及び、前記符号化対象データフレームの複雑さと参照複雑さとの大きさの関係に基づいて、前記量子化パラメータ値を決定するステップと、を含む、
請求項1に記載の符号化の対象となるデータの処理方法。
【請求項4】
前記リアルタイム符号化ビットレートと前記ビットレート閾値との大きさの関係、及び、前記符号化対象データフレームの複雑さと参照複雑さとの大きさの関係に基づいて、前記量子化パラメータ値を決定する前記ステップは、
前記リアルタイム符号化ビットレートと、前記符号化対象データフレームの複雑さとが第1参照条件を満たす場合、第1調整パラメータ値
(delta1(<0))で基本量子化パラメータ値
(QP
base
)から小さく調整する
(QP
base
+delta1)ことにより、第1量子化パラメータ値を取得するステップを含み、
前記第1参照条件には、前記リアルタイム符号化ビットレートが第1ビットレート閾値
(BR_low_Th)より小さく
(S<BR_low_Th)、前記符号化対象データフレームの複雑さが第1参照複雑さ
(Scene_low_Th)より小さい
(F<Scene_low_Th)ことが含まれる、
請求項3に記載の符号化の対象となるデータの処理方法。
【請求項5】
前記リアルタイム符号化ビットレートと前記ビットレート閾値との大きさの関係、及び、前記符号化対象データフレームの複雑さと参照複雑さとの大きさの関係に基づいて、前記量子化パラメータ値を決定する前記ステップは、
前記リアルタイム符号化ビットレートと、前記符号化対象データフレームの複雑さとが第2参照条件を満たす場合、第2調整パラメータ値
(delta2(>0))で前記基本量子化パラメータ値から大きく調整する
(QP
base
+delta2)ことにより、第2量子化パラメータ値を取得するステップをさらに含み、
前記第2参照条件には、
前記第1参照条件が満たされず、前記リアルタイム符号化ビットレートが第2ビットレート閾値
(BR_veryhigh_Th)より大きく
(S>BR_veryhigh_Th)、前記符号化対象データフレームの複雑さが第2参照複雑さ
(Scene_high_Th)より大きい
(F>Scene_high_Th)ことが含まれ、前記第1ビットレート閾値が前記第2ビットレート閾値より小さく
(BR_low_Th<BR_veryhigh_Th)、前記第1参照複雑さが前記第2参照複雑さより小さい
(Scene_low_Th<Scene_high_Th)、
請求項4に記載の符号化の対象となるデータの処理方法。
【請求項6】
前記リアルタイム符号化ビットレートと前記ビットレート閾値との大きさの関係、及び、前記符号化対象データフレームの複雑さと参照複雑さとの大きさの関係に基づいて、前記量子化パラメータ値を決定する前記ステップは、
前記リアルタイム符号化ビットレートと、前記符号化対象データフレームの複雑さとが第3参照条件を満たす場合、第3調整パラメータ値
(delta3>0)で前記基本量子化パラメータ値から大きく調整する
(QP
base
+delta3)ことにより、第3量子化パラメータ値を取得するステップをさらに含み、
前記第3参照条件には、前記第1参照条件及び前記第2参照条件が満たされず、前記リアルタイム符号化ビットレートが第3ビットレート閾値
(BR_high_Th)より大きく、前記符号化対象データフレームの複雑さが
前記第2参照複雑さ(Scene_high_Th)より大きく、前記量子化パラメータ値
(QP
old
)が、
前記第2調整パラメータ値で前記基本量子化パラメータ値から大きく調整したパラメータ値と等しくない
(QP
old
≠QP
base
+delta2)ことが含まれ、前記第3ビットレート閾値が、前記第2ビットレート閾値より小さく
(BR_high_Th<BR_veryhigh_Th)、前記第1ビットレート閾値より大きく
(BR_high_Th>BR_low_Th)、前記第3調整パラメータ値が前記第2調整パラメータ値より小さい
(delta3<delta2)、
請求項5に記載の符号化の対象となるデータの処理方法。
【請求項7】
前記リアルタイム符号化ビットレートと前記ビットレート閾値との大きさの関係、及び、前記符号化対象データフレームの複雑さと参照複雑さとの大きさの関係に基づいて、前記量子化パラメータ値を決定する前記ステップは、
前記リアルタイム符号化ビットレートと、前記符号化対象データフレームの複雑さとが第4参照条件を満たす場合、前記量子化パラメータ値を前記基本量子化パラメータ値と等しく調整する
(QP=QP
base
)ステップをさらに含み、
前記第4参照条件には、
前記第1から3参照条件が満たされず、前記リアルタイム符号化ビットレートが第4ビットレート閾値
(BR_mid_Th)より大きく
(S>BR_mid_Th)、前記符号化対象データフレームの複雑さが第3参照複雑さ
(Scene_mid_Th)より大きく
(F>Scene_mid_Th)、前記量子化パラメータ値が前記基本量子化パラメータ値より小さい
(QP<QP
base
)ことが含まれ、前記第4ビットレート閾値が、前記第1ビットレート閾値より大きく
(BR_mid_Th>BR_low_Th)、前記第3ビットレート閾値より小さく
(BR_mid_Th<BR_high_Th)、前記第3参照複雑さが、前記第1参照複雑さより大きく
(Scene_mid_Th>Scene_low_Th)、前記第2参照複雑さより小さい
(Scene_mid_Th<Scene_high_Th)、
請求項6に記載の符号化の対象となるデータの処理方法。
【請求項8】
前記リアルタイム符号化ビットレートと前記ビットレート閾値との大きさの関係、及び、前記符号化対象データフレームの複雑さと参照複雑さとの大きさの関係に基づいて、前記量子化パラメータ値を決定する前記ステップは、
前記リアルタイム符号化ビットレートと、前記符号化対象データフレームの複雑さとが第5参照条件を満たす場合、前記量子化パラメータ値を前記基本量子化パラメータ値と等しく調整する
(QP=QP
base
)ステップと、
前記リアルタイム符号化ビットレートと、前記符号化対象データフレームの複雑さとが前記第5参照条件を満たさない場合、前記量子化パラメータ値を変化させない
(QP=QP
old
)ステップと、のうち1つをさらに含み、
前記第5参照条件には、
前記第1から4参照条件が満たされず、前記リアルタイム符号化ビットレートが前記第4ビットレート閾値より小さく
(S<BR_mid_Th)、前記符号化対象データフレームの複雑さが前記第3参照複雑さより小さく
(F<Scene_mid_Th)、前記量子化パラメータ値が前記基本量子化パラメータ値より大きい
(QP>QP
base
)ことが含まれる、
請求項7に記載の符号化の対象となるデータの処理方法。
【請求項9】
前記符号化対象データフレームが静止フレームスキップ条件を満たさない場合、前記符号化対象データフレームの複雑さを決定するステップを実行する、
請求項1に記載の符号化の対象となるデータの処理方法。
【請求項10】
前記符号化対象データフレームが静止フレームスキップ条件を満たす場合、符号化対象データフレームを取得する前記ステップに戻る、
請求項1または9に記載の符号化の対象となるデータの処理方法。
【請求項11】
前記符号化対象データフレームと直前の符号化データフレームとが異なり、又は前記符号化対象データフレームと前記直前の符号化データフレームとの時間間隔が参照時間間隔より大きい場合、前記静止フレームスキップ条件が満たされない、
請求項9に記載の符号化の対象となるデータの処理方法。
【請求項12】
符号化対象データフレームを取得する前記ステップは、
スクリーン画像に基づくステップである、
請求項1に記載の符号化の対象となるデータの処理方法。
【請求項13】
前記リアルタイム符号化ビットレートと、前記符号化対象データフレームの複雑さとに基づいて、符号化パラメータ値を決定する前記ステップの後に、
前記符号化パラメータ値に基づいて、前記符号化対象データフレームを符号化することにより、符号化ビットストリームを取得するステップをさらに含む、
請求項1に記載の符号化の対象となるデータの処理方法。
【請求項14】
符号化対象データフレームを取得する前記ステップの前に、
無線キャスト指示を受け付けるステップであって、前記無線キャスト指示には、ターゲット端末識別子が付されている、ステップをさらに含み、
前記符号化パラメータ値に基づいて、前記符号化対象データフレームを符号化することにより、符号化ビットストリームを取得するステップと、
前記ターゲット端末識別子に基づいて、前記符号化ビットストリームを送信するステップをさらに含む、
請求項12に記載の符号化の対象となるデータの処理方法。
【請求項15】
請求項1から14のうちいずれか一項に記載のデータ処理方法を行うように構成された装置。
【請求項16】
装置のコンピュータに
請求項1~14の何れか1項に記載のデータ処理方法を実行させるためのコンピュータプログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本願は、2018年11月14日に提出された、出願番号が201811353718.3であり、発明の名称が「符号化データ処理方法、装置、コンピュータ機器、及び記憶媒体」である中国特許出願に基づく優先権を主張し、その全ての内容は参照することにより本願に組み込まれる。
【0002】
本願は、通信の技術分野に関し、特に符号化データ処理方法、装置、コンピュータ機器、及び記憶媒体に関する。
【背景技術】
【0003】
符号化は、情報をある形式又はフォーマットから他の形式に変換するプロセスである。マルチメディアデータフォーマットの符号化データを通信・伝送しようとする場合、符号化データを符号化して、インターネットでの伝送に適する符号化ビットストリームを形成する必要がある。このため、符号化は通信に広く使用されている。
【発明の概要】
【発明が解決しようとする課題】
【0004】
従来の符号化データ処理方法では、固定の符号化パラメータに基づいてデータの符号化を行い、異なるシーンのニーズに適応することが難しいため、適応性が悪いという問題がある。
【0005】
これに基づき、上記の技術的問題に対して、適応性を向上させることができる符号化データ処理方法、装置、コンピュータ機器、及び記憶媒体を提供する必要がある。
【課題を解決するための手段】
【0006】
一態様では、符号化データ処理方法が提供されている。前記方法は、
符号化対象データフレームを取得するステップと、
前記符号化対象データフレームの複雑さを決定するステップであって、前記複雑さが、少なくとも、空間領域のテクスチャの複雑さ、及び時間領域の動きの激しさを示すためのものである、ステップと、
リアルタイム符号化ビットレートを取得するステップであって、前記リアルタイム符号化ビットレートが、前記符号化対象データフレームの前の符号化済みデータフレームの符号化ビットレートである、ステップと、
前記リアルタイム符号化ビットレートと、前記符号化対象データフレームの複雑さとに基づいて、符号化パラメータを調整するステップと、を含む。
一実施例では、符号化対象データフレームを取得する前記ステップは、スクリーン画像に基づく符号化対象データフレームを取得するステップを含む。
【0007】
一実施例では、前記リアルタイム符号化ビットレートと、前記符号化対象データフレームの複雑さとに基づいて、符号化パラメータを調整する前記ステップの後に、前記方法は、
調整後の符号化パラメータに基づいて、前記符号化対象データフレームを符号化することにより、符号化ビットストリームを取得するステップをさらに含む。
【0008】
一実施例では、符号化対象データフレームを取得する前記ステップの前に、前記方法は、無線キャスト指示を受け付けるステップであって、前記無線キャスト指示には、ターゲット端末識別子が付されている、ステップをさらに含み、
調整後の符号化パラメータに基づいて、前記符号化対象データフレームを符号化することにより、符号化ビットストリームを取得する前記ステップの後に、前記方法は、前記ターゲット端末識別子に基づいて、前記符号化ビットストリームを送信するステップをさらに含む。
【0009】
他の態様では、符号化データ処理装置が提供されている。前記装置は、
符号化対象データフレームを取得するデータフレーム取得モジュールと、
前記符号化対象データフレームの複雑さを決定し、前記複雑さが、少なくとも、空間領域のテクスチャの複雑さ、及び時間領域の動きの激しさを示すためのものである複雑さ決定モジュールと、
リアルタイム符号化ビットレートを取得し、前記リアルタイム符号化ビットレートが、前記符号化対象データフレームの前の符号化済みデータフレームの符号化ビットレートであるリアルタイムビットレート取得モジュールと、
前記リアルタイム符号化ビットレートと、前記符号化対象データフレームの複雑さとに基づいて、符号化パラメータを調整する符号化パラメータ調整モジュールと、を含む。
【0010】
他の態様では、メモリとプロセッサとを備えるコンピュータ機器が提供されており、前記メモリには、コンピュータプログラムが記憶され、前記プロセッサは、前記コンピュータプログラムを実行すると、
符号化対象データフレームを取得するステップと、
前記符号化対象データフレームの複雑さを決定するステップであって、前記複雑さが、少なくとも、空間領域のテクスチャの複雑さ、及び時間領域の動きの激しさを示すためのものである、ステップと、
リアルタイム符号化ビットレートを取得するステップであって、前記リアルタイム符号化ビットレートが、前記符号化対象データフレームの前の符号化済みデータフレームの符号化ビットレートである、ステップと、
前記リアルタイム符号化ビットレートと、前記符号化対象データフレームの複雑さとに基づいて、符号化パラメータを調整するステップと、を実現する。
【0011】
他の態様では、コンピュータプログラムを記憶したコンピュータ可読記憶媒体が提供されており、前記コンピュータプログラムは、プロセッサによって実行されると、
符号化対象データフレームを取得するステップと、
前記符号化対象データフレームの複雑さを決定するステップであって、前記複雑さが、少なくとも、空間領域のテクスチャの複雑さ、及び時間領域の動きの激しさを示すためのものである、ステップと、
リアルタイム符号化ビットレートを取得するステップであって、前記リアルタイム符号化ビットレートが、前記符号化対象データフレームの前の符号化済みデータフレームの符号化ビットレートである、ステップと、
前記リアルタイム符号化ビットレートと、前記符号化対象データフレームの複雑さとに基づいて、符号化パラメータを調整するステップと、を実現させる。
【発明の効果】
【0012】
上記の符号化データ処理方法、装置、コンピュータ機器、及び記憶媒体では、符号化対象データフレームを取得し、符号化対象データフレームの複雑さを決定し、複雑さが、少なくとも、空間領域のテクスチャの複雑さ、及び時間領域の動きの激しさを示すためのものであり、リアルタイム符号化ビットレートを取得し、リアルタイム符号化ビットレートが、符号化対象データフレームの前の符号化済みデータフレームの符号化ビットレートであり、リアルタイム符号化ビットレートと、符号化対象データフレームの複雑さとに基づいて、符号化パラメータを調整する。リアルタイム符号化ビットレート及び複雑さに基づいて、符号化パラメータを調整するため、異なるリアルタイム符号化ビットレート及び複雑さは、異なる符号化パラメータに対応することができる。このように、符号化パラメータは、異なるシーンに適用することができるため、適応性が高い。
【図面の簡単な説明】
【0013】
【
図1】一実施例における符号化データ処理方法の適用環境図である。
【
図2】一実施例における符号化データ処理方法の手順の模式図である。
【
図3】具体的な一実施例の符号化データ処理方法の動作原理の模式図である。
【
図4】具体的な一実施例における符号化データ処理方法の符号化パラメータ決定の手順の模式図である。
【
図5】一実施例における符号化データ処理装置の構成ブロック図である。
【
図6】一実施例におけるコンピュータ機器の構成ブロック図である。
【
図7】他の実施例におけるコンピュータ機器の構成ブロック図である。
【発明を実施するための形態】
【0014】
本願の目的、構成、及びメリットをより明確にするために、以下、図面及び実施例を参照しながら、本願をさらに詳しく説明する。理解すべきものとして、ここで説明する具体的な実施例は、本願を解釈するためのものにすぎず、本願を限定するものではない。
【0015】
図1は、一実施形態における符号化データ処理方法の適用環境図である。該符号化データ処理方法は、
図1に示すような適用環境に適用可能である。ここで、第1端末102及び第2端末104は、ネットワークを介して、サーバ106と通信する。
【0016】
一実施例では、該符号化データ処理方法は、第1端末102上で実行してもよい。第1端末102は、該符号化データ処理方法によって符号化パラメータを決定し、符号化パラメータに基づいて符号化対象データフレームを符号化することにより、符号化ビットストリームを取得した後、ネットワークを介して、該符号化ビットストリームをサーバ106に送信してもよい。サーバ106は、該符号化ビットストリームを第2端末104に転送し、第2端末104は、該符号化ビットストリームを復号化して再生する。
【0017】
他の実施例では、該符号化データ処理方法は、サーバ106上で実行してもよい。サーバ106は、該符号化データ処理方法によって符号化パラメータを決定し、符号化パラメータに基づいて符号化対象データフレームを符号化することにより、符号化ビットストリームを取得した後、ネットワークを介して、該符号化ビットストリームを第1端末102に送信してもよく、第1端末102は、該符号化ビットストリームを復号化して再生する。
【0018】
ここで、第1端末102、第2端末104は、様々なパーソナルコンピュータ、ノートブックコンピュータ、スマートフォン、タブレットコンピュータ、及びポータブルウェアラブルデバイスであってもよいが、これらに限定されない。サーバ106は、別個のサーバ、又は、複数のサーバからなるサーバクラスタで実現されてもよい。
【0019】
図2に示すように、一実施例では、符号化データ処理方法が提供されている。該方法は、実行機器で実行することができる。該実行機器は、
図1における第1端末102であってもよいし、
図1におけるサーバ106であってもよいが、本願の実施例はこれを限定しない。該符号化データ処理方法は、下記のステップを含む。
S202で、符号化対象データフレームを取得する。
【0020】
符号化対象データフレームは、符号化する必要があるデータフレームである。実行機器が収集することにより、符号化対象データフレームを取得してもよい。符号化対象データフレームは、他の機器によって収集された後、様々な経路で実行機器に伝送されてもよい。実行機器が該符号化対象データフレームを記憶した後、実行機器は、本方法を実行する際に、メモリから該符号化対象データフレームを取得する。ここで、実行機器は、本方法を実行する機器である。
【0021】
S204で、符号化対象データフレームの複雑さを決定する。
該複雑さは、時間空間領域の複雑さを含み、時間空間領域の複雑さは、空間領域のテクスチャの複雑さ、及び時間領域の動きの激しさを含む。つまり、符号化対象データフレームの複雑さは、少なくとも、空間領域のテクスチャの複雑さ、及び時間領域の動きの激しさを示すためのものである。例えば、該符号化対象データフレームの複雑さは、該符号化対象データフレームの空間情報(SI:Spatial Information)又は/及び時間情報(TI:Temporal Information)を含んでもよい。ここで、空間情報は、1フレームの画像の空間の細部の量を示すためのものであり、空間的に複雑な画像ほど、一般的にSI値が高くなる。時間情報は、ビデオシーケンスの時間的な変化量を示すためのものであり、動きの度合いが高いビデオシーケンスは、一般的により高いTI値を有する。
【0022】
該複雑さは、該符号化対象データフレームに基づくレート歪みコスト(RDCost:Rate Distortion Cost)を含んでもよい。レート歪みコストは、ビデオ符号化においてビットレート及び歪みを測るパラメータである。例えば、符号化対象データフレームの複雑さは、該符号化対象データフレームに基づいて予測されたフレーム内、フレーム間の最適RDCostであってもよい。
【0023】
S206で、リアルタイム符号化ビットレートを取得する。
リアルタイム符号化ビットレートは、符号化対象データフレームの前の符号化済みデータフレームの符号化ビットレートである。例えば、該リアルタイム符号化ビットレートは、符号化対象データフレームの前の符号化済みデータフレームのリアルタイム符号化ビットレートであってもよい。該リアルタイム符号化ビットレートは、実行機器が本方法を実行する際に、以前の符号化パラメータに基づいて符号化を行った符号化器における符号化ビットレートであってもよい。該リアルタイム符号化ビットレートは、符号化対象データフレームの直前の符号化済みデータフレームに対応する符号化ビットストリームによって決定されてもよい。
前の符号化済みデータフレームは、符号化対象データフレームの前の、既に以前の符号化パラメータに基づいて符号化を行ったデータフレームである。
【0024】
S208で、リアルタイム符号化ビットレートと、符号化対象データフレームの複雑さとに基づいて、符号化パラメータを調整する。
符号化パラメータは、符号化フレームレート、符号化ビットレートであってもよい。ここで、符号化フレームレートは、1秒あたりに符号化されるデータフレームの数であり、基本単位がフレーム毎秒(fps:frame per second)である。符号化ビットレートは、符号化されたデータフレームのビットレートである。ビットレートは、ビット速度とも呼ばれ、1秒あたりに伝送されるビット(bit)数を指す。符号化ビットレートの基本単位は、ビット毎秒(bps:bit per second)であり、符号化ビットレートが高いほど、データ伝送速度が速くなる。
【0025】
符号化パラメータは、量子化パラメータ(QP:Quantization Parameter)であってもよい。符号化パラメータを調整することは、即ち、量子化パラメータを調整することである。ここでの量子化パラメータとは、調整対象の量子化パラメータである。量子化パラメータは、量子化ステップサイズに対応する番号であってもよい。例えば、H.264/MPEG-4 AVC(Moving Picture Expert Group-4 Advanced Video Coding)では、量子化ステップサイズの値が52個あるため、量子化パラメータの数値が0~51であり、各量子化パラメータの数値それぞれは、52個の量子化ステップサイズのうち1つの量子化ステップサイズを識別するためのものである。
【0026】
量子化パラメータは、ビデオフレームを量子化するプロセスに係るパラメータであってもよい。量子化は、信号の連続値を複数の離散振幅にマッピングするプロセスであり、信号値の多対1のマッピングを実現する。量子化パラメータは、量子化の精度を示すためのパラメータであってもよい。ここで、量子化パラメータは、量子化の精度と負の相関関係にある。つまり、量子化パラメータが小さいほど、量子化が細かくなり、このときの画質が良く、データの圧縮比が高くない。量子化パラメータが大きいほど、量子化が粗くなり、このときの画質が悪く、データの圧縮比が高い。
【0027】
リアルタイム符号化ビットレートと、符号化対象データフレームの複雑さとに基づいて、符号化パラメータを調整するステップは、下記の(1)~(5)の少なくとも1つを含んでもよい。
【0028】
(1)リアルタイム符号化ビットレートと、該符号化対象データフレームの複雑さとが第1参照条件を満たす場合、第1調整パラメータで基本量子化パラメータから小さく調整することにより、第1量子化パラメータを取得する。ここで、基本量子化パラメータは、所定の量子化パラメータのデフォルト値であり、経験に応じて設定してもよい。該第1調整パラメータは、0より小さくてもよい。このように、加算によって第1量子化パラメータを便利に取得することができ、効率を向上させる。理解できるように、該第1調整パラメータは、0より大きくてもよい。
【0029】
この場合、基本量子化パラメータを調整対象の量子化パラメータとし、基本量子化パラメータを調整するプロセスは、即ち、調整対象の量子化パラメータを調整するプロセスである。つまり、この場合、調整対象の量子化パラメータを調整するプロセスは、第1調整パラメータで基本量子化パラメータから小さく調整することである。上記の調整プロセスにより取得された第1量子化パラメータは、第1参照条件が満たされる場合に取得された調整後の量子化パラメータである。
【0030】
(2)リアルタイム符号化ビットレートと、該符号化対象データフレームの複雑さとが第2参照条件を満たす場合、第2調整パラメータで基本量子化パラメータから大きく調整することにより、第2量子化パラメータを取得する。該第2調整パラメータは、0より大きい。このように、加算によって第2量子化パラメータを便利に取得することができ、効率を向上させる。
【0031】
この場合、基本量子化パラメータを調整対象の量子化パラメータとし、基本量子化パラメータを調整するプロセスは、即ち、調整対象の量子化パラメータを調整するプロセスである。つまり、この場合、調整対象の量子化パラメータを調整するプロセスは、第2調整パラメータで基本量子化パラメータから大きく調整することである。上記の調整プロセスにより取得された第2量子化パラメータは、第2参照条件が満たされる場合に取得された調整後の量子化パラメータである。
【0032】
(3)リアルタイム符号化ビットレートと、該符号化対象データフレームの複雑さとが第3参照条件を満たす場合、第3調整パラメータで基本量子化パラメータから大きく調整することにより、第3量子化パラメータを取得する。第3調整パラメータは、第2調整パラメータより小さい。
【0033】
この場合、基本量子化パラメータを調整対象の量子化パラメータとし、基本量子化パラメータを調整するプロセスは、即ち、調整対象の量子化パラメータを調整するプロセスである。つまり、この場合、調整対象の量子化パラメータを調整するプロセスは、第3調整パラメータで基本量子化パラメータから大きく調整することである。上記の調整プロセスにより取得された第3量子化パラメータは、第3参照条件が満たされる場合に取得された調整後の量子化パラメータである。
【0034】
(4)リアルタイム符号化ビットレートと、該符号化対象データフレームの複雑さとが第4参照条件又は第5参照条件を満たす場合、量子化パラメータを基本量子化パラメータと等しく調整する。
【0035】
(5)リアルタイム符号化ビットレートと、該符号化対象データフレームの複雑さとが第5参照条件を満たさない場合、量子化パラメータを変化させない。即ち、該符号化対象データフレームに対応する量子化パラメータの値は、直前の符号化データフレームの量子化パラメータの値と等しい。
【0036】
第1参照条件は、リアルタイム符号化ビットレートが第1符号化ビットレートより小さく、該符号化対象データフレームの複雑さが第1複雑さより小さいことであってもよい。
【0037】
第2参照条件は、リアルタイム符号化ビットレートが第4符号化ビットレートより大きく、該符号化対象データフレームの複雑さが第3複雑さより大きいことであってもよい。ここで、第1符号化ビットレートは第4符号化ビットレートより小さく、第1複雑さは第3複雑さより小さい。
【0038】
第3参照条件は、第1参照条件及び第2参照条件が満たされず、リアルタイム符号化ビットレートが第3符号化ビットレートより大きく、該符号化対象データフレームの複雑さが第3複雑さより大きく、量子化パラメータが、第2調整パラメータで基本量子化パラメータから大きく調整したパラメータと等しくないことであってもよい。ここで、第3符号化ビットレートは、第4符号化ビットレートより小さく、第1符号化ビットレートより大きい。
【0039】
第4参照条件は、第3参照条件が満たされず、リアルタイム符号化ビットレートが第2符号化ビットレートより大きく、該符号化対象データフレームの複雑さが第2複雑さより大きく、量子化パラメータが基本量子化パラメータより小さいことであってもよい。ここで、第2符号化ビットレートは、第1符号化ビットレートより大きく、第3符号化ビットレートより小さく、第2複雑さは、第1複雑さより大きく、第3複雑さより小さい。
【0040】
第5参照条件は、第4参照条件が満たされず、リアルタイム符号化ビットレートが第2符号化ビットレートより小さく、該符号化対象データフレームの複雑さが第2複雑さより小さく、量子化パラメータが基本量子化パラメータより大きいことであってもよい。
【0041】
リアルタイム符号化ビットレートと、符号化対象データフレームの複雑さとに基づいて、符号化パラメータを調整する方式は、後述する実施例に係る方式であってもよい。
【0042】
このように、リアルタイム符号化ビットレート及び複雑さに基づいて、符号化パラメータを調整するため、異なるリアルタイム符号化ビットレート及び複雑さは、異なる符号化パラメータに対応することができる。このように、符号化パラメータは、異なるシーンに適用することができるため、適応性が高い。例えば、静止シーンの場合、画像の鮮明さに対する要求が高いが、フレームレートに敏感ではなく、量子化パラメータを低減して、単一フレームの鮮明さを向上させ、フレームレートを低下させるようなストラテジーを採用してもよい。一方、動きシーンの場合、滑らかさに対する要求が高く、フレームレートが低すぎてはならず、符号化ビットレートを効果的に低減するために、実際符号化ビットレートとターゲットビットレートとの差、現在のシーンの複雑さなどの要因を総合的に考慮して、量子化パラメータを適応的に調整してもよい。
【0043】
本実施例による符号化データ処理方法では、符号化対象データフレームを取得し、符号化対象データフレームの複雑さを取得し、複雑さが、少なくとも、空間領域のテクスチャの複雑さ、及び時間領域の動きの激しさを示すためのものであり、リアルタイム符号化ビットレートを取得し、リアルタイム符号化ビットレートが、符号化対象データフレームの前の符号化済みデータフレームの符号化ビットレートであり、リアルタイム符号化ビットレートと、符号化対象データフレームの複雑さとに基づいて、符号化パラメータを調整する。リアルタイム符号化ビットレート及び複雑さに基づいて、符号化パラメータを調整するため、異なるリアルタイム符号化ビットレート及び複雑さは、異なる符号化パラメータに対応することができる。このように、符号化パラメータは、異なるシーンに適用することができるため、適応性が高い。
【0044】
一実施例では、符号化パラメータは、量子化パラメータを含み、リアルタイム符号化ビットレートと、符号化対象データフレームの複雑さとに基づいて、符号化パラメータを調整するステップは、ターゲット符号化ビットレートを取得するステップと、ターゲット符号化ビットレートと、リアルタイム符号化ビットレートと、符号化対象データフレームの複雑さとに基づいて、量子化パラメータを調整するステップと、を含む。
【0045】
ターゲット符号化ビットレートは、ターゲット機器からフィードバックされた符号化ビットレートであってもよく、ターゲット機器は、サーバ、ターゲット受信端末であってもよい。ターゲット符号化ビットレートは、符号化対象データフレームを符号化するための符号化ビットレートであってもよい。サーバで実行される実施例では、所定のストラテジーによってターゲット符号化ビットレートを決定することにより、ターゲット符号化ビットレートを取得してもよいし、決定されたターゲット符号化ビットレートをメモリに記憶しておき、メモリから読み取ることにより、ターゲット符号化ビットレートを取得してもよい。第1端末で実行される実施例では、サーバが所定のストラテジーによって決定して送信したターゲット符号化ビットレートを受信することにより、ターゲット符号化ビットレートを取得してもよい。
【0046】
本実施例による符号化データ処理方法では、ターゲット符号化ビットレートと、リアルタイム符号化ビットレートと、符号化対象データフレームの複雑さとに基づいて、量子化パラメータを調整する。異なるターゲット符号化ビットレート、リアルタイム符号化ビットレート、及び複雑さは、異なる符号化パラメータに対応することができる。このように、符号化パラメータは、より多くの異なるシーンに適用することができる。これにより、符号化データ処理の適応性をさらに向上させることができる。
【0047】
一実施例では、ターゲット符号化ビットレートと、リアルタイム符号化ビットレートと、符号化対象データフレームの複雑さとに基づいて、量子化パラメータを調整するステップは、
リアルタイム符号化ビットレートがターゲット符号化ビットレートより大きく、複雑さが参照複雑さより大きい場合、量子化パラメータを大きく調整するステップと、
リアルタイム符号化ビットレートがターゲット符号化ビットレートより小さく、複雑さが参照複雑さより小さい場合、量子化パラメータを小さく調整するステップと、の何れか1つを含む。
【0048】
ここで、参照複雑さは、符号化対象データフレームの複雑さの高低を測るためのものである。参照複雑さは、経験に応じて設定してもよい。参照複雑さは、所定の複雑値で表すことができる。リアルタイム符号化ビットレートがターゲット符号化ビットレートより大きく、複雑さが参照複雑さより大きい場合は、一般的に動きシーンであり、滑らかさに対する要求が高く、符号化フレームレートが低すぎてはならず、符号化ビットレートを効果的に低減するために、量子化パラメータを大きく調整してもよい。リアルタイム符号化ビットレートがターゲット符号化ビットレートより小さく、複雑さが参照複雑さより小さい場合は、一般的に静止シーンであり、画像の鮮明さに対する要求が高いが、フレームレートに敏感ではない。このため、量子化パラメータを小さく調整することにより、単一フレームの鮮明さを向上させ、符号化フレームレートを低下させる。このように、帯域幅が制限される場合に、画質と符号化ビットレートとのバランスを取ることができる。
【0049】
一実施例では、ターゲット符号化ビットレートと、リアルタイム符号化ビットレートと、符号化対象データフレームの複雑さとに基づいて、量子化パラメータを調整するステップは、ターゲット符号化ビットレートに基づいて、少なくとも1つのビットレート閾値を決定するステップと、リアルタイム符号化ビットレートとビットレート閾値との大きさの関係、及び、符号化対象データフレームの複雑さと参照複雑さとの大きさの関係に基づいて、量子化パラメータを調整するステップと、を含む。
【0050】
該ターゲット符号化ビットレートに基づいて、少なくとも1つのビットレート閾値を決定してもよい。ビットレート閾値の数が1である場合、該ターゲット符号化ビットレートをビットレート閾値としてもよいし、該ターゲット符号化ビットレートを所定のストラテジーで変換することにより、該ビットレート閾値を取得してもよい。ビットレート閾値の数が1である場合、ビットレートを2つの範囲に分割することができる。ビットレート閾値の数が2以上である場合、該ターゲット符号化ビットレートに基づいて、ビットレートを少なく3つの範囲に分割することができる。該ターゲット符号化ビットレート及び所定のストラテジーに基づいて、2つ以上のビットレート閾値を決定してもよい。例えば、ターゲット符号化ビットレートの0.5倍、1倍、及び2倍のそれぞれに対応する値を、3つのビットレート閾値としてもよい。
【0051】
少なくとも1つのビットレート閾値は、ビットレートを少なくとも2つの範囲に分割することができる。リアルタイム符号化ビットレートとビットレート閾値との大きさの関係に基づいて、リアルタイム符号化ビットレートの属する範囲を決定してもよい。参照複雑さの数が少なくとも1である場合、複雑値を少なくとも2つの範囲に分割することができる。符号化対象データフレームの複雑さと参照複雑さとの大きさの関係に基づいて、複雑さの属する範囲を決定してもよい。そして、リアルタイム符号化ビットレートの属する範囲と、複雑さの属する範囲とに基づいて、量子化パラメータを調整してもよい。このように、リアルタイム符号化ビットレートとビットレート閾値との大きさの関係、及び、符号化対象データフレームの複雑さと参照複雑さとの大きさの関係に基づいて、量子化パラメータを調整することができる。
【0052】
本実施例による符号化データ処理方法では、リアルタイム符号化ビットレートとビットレート閾値との大きさの関係、及び、符号化対象データフレームの複雑さと参照複雑さとの大きさの関係に基づいて、量子化パラメータを調整することができるので、リアルタイム符号化ビットレートとビットレート閾値との大きさの関係が異なり、及び、符号化対象データフレームの複雑さと参照複雑さとの大きさの関係が異なる場合、異なる量子化パラメータを取得することができる。これにより、符号化データ処理の適応性を向上させる。
【0053】
一実施例では、リアルタイム符号化ビットレートとビットレート閾値との大きさの関係、及び、符号化対象データフレームの複雑さと参照複雑さとの大きさの関係に基づいて、量子化パラメータを調整するステップは、リアルタイム符号化ビットレートと、符号化対象データフレームの複雑さとが第1参照条件を満たす場合、第1調整パラメータで基本量子化パラメータから小さく調整することにより、第1量子化パラメータを取得するステップを含む。第1参照条件には、リアルタイム符号化ビットレートが第1ビットレート閾値より小さく、符号化対象データフレームの複雑さが第1参照複雑さより小さいことが含まれる。
【0054】
基本量子化パラメータは、所定の量子化パラメータのデフォルト値であり、経験に応じて設定してもよい。本実施例では、基本量子化パラメータを調整対象の量子化パラメータとし、基本量子化パラメータを調整するプロセスは、即ち、調整対象の量子化パラメータを調整するプロセスである。つまり、本実施例では、調整対象の量子化パラメータを調整するプロセスは、第1調整パラメータで基本量子化パラメータから小さく調整することである。上記の調整プロセスにより取得された第1量子化パラメータは、第1参照条件が満たされる場合に取得された調整後の量子化パラメータである。
【0055】
該実施例では、ビットレート閾値は、少なくとも、第1ビットレート閾値を含む。加減算によって、第1調整パラメータで基本量子化パラメータから小さく調整することにより、第1量子化パラメータを取得してもよい。第1調整パラメータは、0より小さくてもよい。このように、加算によって第1量子化パラメータを便利に取得することができ、効率を向上させる。理解できるように、該第1調整パラメータは、0より大きくてもよい。この場合、減算によって、第1調整パラメータで基本量子化パラメータから小さく調整することにより、第1量子化パラメータを取得することができる。
【0056】
本実施例による符号化データ処理方法では、リアルタイム符号化ビットレートが第1ビットレート閾値より小さく、符号化対象データフレームの複雑さが第1参照複雑さより小さい場合、該量子化パラメータを、基本量子化パラメータと第1調整パラメータとの和又は差と等しく調整することができる。このように、リアルタイム符号化ビットレートが第1ビットレート閾値より小さく、符号化対象データフレームの複雑さが第1参照複雑さより小さい場合、単一フレームの鮮明さを向上させ、符号化フレームレートを低下させる。これにより、符号化データ処理の適応性を向上させる。
【0057】
一実施例では、リアルタイム符号化ビットレートとビットレート閾値との大きさの関係、及び、符号化対象データフレームの複雑さと参照複雑さとの大きさの関係に基づいて、量子化パラメータを調整するステップは、リアルタイム符号化ビットレートと、符号化対象データフレームの複雑さとが第2参照条件を満たす場合、第2調整パラメータで基本量子化パラメータから大きく調整することにより、第2量子化パラメータを取得するステップをさらに含む。第2参照条件には、リアルタイム符号化ビットレートが第2ビットレート閾値より大きく、符号化対象データフレームの複雑さが第2参照複雑さより大きいことが含まれる。第1ビットレート閾値は第2ビットレート閾値より小さく、第1参照複雑さは第2参照複雑さより小さい。
【0058】
本実施例では、基本量子化パラメータを調整対象の量子化パラメータとし、基本量子化パラメータを調整するプロセスは、即ち、調整対象の量子化パラメータを調整するプロセスである。つまり、本実施例では、調整対象の量子化パラメータを調整するプロセスは、第2調整パラメータで基本量子化パラメータから大きく調整することである。上記の調整プロセスにより取得された第2量子化パラメータは、第2参照条件が満たされる場合に取得された調整後の量子化パラメータである。
【0059】
本実施例では、ビットレート閾値は、第1ビットレート閾値及び第2ビットレート閾値を含む。第1参照条件の判定後、第1参照条件を満たさない場合、第2参照条件を満たすか否かを判定してもよい。つまり、リアルタイム符号化ビットレートと、符号化対象データフレームの複雑さとが第1参照条件を満たさない場合、第2参照条件を満たすか否かを判定する。即ち、リアルタイム符号化ビットレートが第2ビットレート閾値より大きく、符号化対象データフレームの複雑さが第2参照複雑さより大きいと判定した場合、第2調整パラメータで基本量子化パラメータから大きく調整することにより、第2量子化パラメータを取得する。これにより、符号化フレームレートが低すぎないとともに、符号化ビットレートを効果的に低減することができる。このように、符号化データの再生時の滑らかさを確保し、帯域幅が制限される場合に、画質と符号化ビットレートとのバランスを取ることができる。これにより、符号化データ処理の適応性をさらに向上させる。
理解できるように、第2参照条件の判定は、第1参照条件の判定前に行ってもよい。
【0060】
一実施例では、リアルタイム符号化ビットレートとビットレート閾値との大きさの関係、及び、符号化対象データフレームの複雑さと参照複雑さとの大きさの関係に基づいて、量子化パラメータを調整するステップは、リアルタイム符号化ビットレートと、符号化対象データフレームの複雑さとが第3参照条件を満たす場合、第3調整パラメータで基本量子化パラメータから大きく調整することにより、第3量子化パラメータを取得するステップをさらに含む。
【0061】
ここで、第3参照条件には、第1参照条件及び第2参照条件が満たされず、リアルタイム符号化ビットレートが第3ビットレート閾値より大きく、符号化対象データフレームの複雑さが第2参照複雑さより大きく、量子化パラメータが、第2調整パラメータで基本量子化パラメータから大きく調整したパラメータと等しくないことが含まれる。ここで、第3ビットレート閾値は、第2ビットレート閾値より小さく、第1ビットレート閾値より大きく、第3調整パラメータは第2調整パラメータより小さい。
【0062】
本実施例では、基本量子化パラメータを調整対象の量子化パラメータとし、基本量子化パラメータを調整するプロセスは、即ち、調整対象の量子化パラメータを調整するプロセスである。つまり、本実施例では、調整対象の量子化パラメータを調整するプロセスは、第3調整パラメータで基本量子化パラメータから大きく調整することである。上記の調整プロセスにより取得された第3量子化パラメータは、第3参照条件が満たされる場合に取得された調整後の量子化パラメータである。
【0063】
本実施例では、ビットレート閾値は、第1ビットレート閾値、第2ビットレート閾値、及び第3ビットレート閾値を含む。リアルタイム符号化ビットレートと、符号化対象データフレームの複雑さとが、第1参照条件を満たさず、第2参照条件を満たさない場合、リアルタイム符号化ビットレートが第3ビットレート閾値より大きく、符号化対象データフレームの複雑さが第2参照複雑さより大きく、量子化パラメータが、第2調整パラメータで基本量子化パラメータから大きく調整したパラメータと等しくないと判定すると、第3調整パラメータで基本量子化パラメータから大きく調整することにより、第3量子化パラメータを取得してもよい。
【0064】
本実施例による符号化データ処理方法では、リアルタイム符号化ビットレートと、符号化対象データフレームの複雑さとが第3参照条件を満たす場合、第2調整パラメータより大きい第3調整パラメータで、基本量子化パラメータから大きく調整することにより、第3量子化パラメータを取得することができる。このように、帯域幅が制限される場合に、画質と符号化ビットレートとのバランスを取ることができる。これにより、符号化データ処理の適応性をさらに向上させる。
【0065】
一実施例では、リアルタイム符号化ビットレートとビットレート閾値との大きさの関係、及び、符号化対象データフレームの複雑さと参照複雑さとの大きさの関係に基づいて、量子化パラメータを調整するステップは、リアルタイム符号化ビットレートと、符号化対象データフレームの複雑さとが第4参照条件を満たす場合、量子化パラメータを基本量子化パラメータと等しく調整するステップをさらに含む。
【0066】
ここで、第4参照条件には、第3参照条件が満たされず、リアルタイム符号化ビットレートが第4ビットレート閾値より大きく、符号化対象データフレームの複雑さが第3参照複雑さより大きく、量子化パラメータが基本量子化パラメータより小さいことが含まれる。第4ビットレート閾値は、第1ビットレート閾値より大きく、第3ビットレート閾値より小さく、第3参照複雑さは、第1参照複雑さより大きく、第2参照複雑さより小さい。
【0067】
本実施例では、ビットレート閾値は、第1ビットレート閾値、第2ビットレート閾値、第3ビットレート閾値、及び第4ビットレート閾値を含む。リアルタイム符号化ビットレートと、符号化対象データフレームの複雑さとが、第1参照条件、第2参照条件、及び第3参照条件を同時に満たさない場合、リアルタイム符号化ビットレートが第4ビットレート閾値より大きく、符号化対象データフレームの複雑さが第3参照複雑さより大きく、量子化パラメータが基本量子化パラメータより小さいと判定すると、量子化パラメータを基本量子化パラメータと等しく調整してもよい。このように、符号化データ処理の適応性をさらに向上させる。
【0068】
一実施例では、リアルタイム符号化ビットレートとビットレート閾値との大きさの関係、及び、符号化対象データフレームの複雑さと参照複雑さとの大きさの関係に基づいて、量子化パラメータを調整するステップは、
(1)リアルタイム符号化ビットレートと、符号化対象データフレームの複雑さとが第5参照条件を満たす場合、量子化パラメータを基本量子化パラメータと等しく調整するステップと、
(2)リアルタイム符号化ビットレートと、符号化対象データフレームの複雑さとが第5参照条件を満たさない場合、量子化パラメータを変化させないステップと、のうち1つをさらに含む。
【0069】
ここで、第5参照条件には、第4参照条件が満たされず、リアルタイム符号化ビットレートが第4ビットレート閾値より小さく、符号化対象データフレームの複雑さが第3参照複雑さより小さく、量子化パラメータが基本量子化パラメータより大きいことが含まれる。量子化パラメータを変化させないことは、該符号化対象データフレームに対応する量子化パラメータの値を、直前の符号化データフレームの量子化パラメータの値と等しくすることであってもよい。
【0070】
リアルタイム符号化ビットレートと、符号化対象データフレームの複雑さとが、第1参照条件、第2参照条件、第3参照条件、及び第4参照条件を同時に満たさない場合、リアルタイム符号化ビットレートが第4ビットレート閾値より小さく、符号化対象データフレームの複雑さが第3参照複雑さより小さく、量子化パラメータが基本量子化パラメータより大きいと判定すると、量子化パラメータを基本量子化パラメータと等しく調整し、さもないと、量子化パラメータを変化させないようにしてもよい。これにより、符号化データ処理の適応性をさらに向上させる。
【0071】
一実施例では、符号化対象データフレームの複雑さを決定するステップは、符号化対象データフレームが静止フレームスキップ条件を満たさない場合、符号化対象データフレームの複雑さを決定するステップと、符号化対象データフレームと直前のデータフレームとが静止フレームスキップ条件を満たす場合、符号化対象データフレームを取得するステップに戻るステップと、を含む。
【0072】
静止フレームスキップ条件は、符号化対象データフレームと直前の符号化データフレームとが同じであることと、符号化対象データフレームと直前の符号化データフレームとの時間間隔が参照時間間隔以下であることと、を含んでもよい。直前の符号化データフレームは、符号化対象データフレームと連続する、符号化対象データフレームの前の1つの符号化済みデータフレームである。一実施例では、符号化対象データフレームと直前の符号化データフレームとが異なり、又は符号化対象データフレームと直前の符号化データフレームとの時間間隔が参照時間間隔より大きい場合、静止フレームスキップ条件が満たされない。一実施例では、符号化対象データフレームと直前の符号化データフレームとが同じであり、符号化対象データフレームと直前の符号化データフレームとの時間間隔が参照時間間隔以下である場合、静止フレームスキップ条件が満たされる。参照時間間隔は、予め設定された時間間隔である。該参照時間間隔は、経験に応じて設定してもよいが、本実施例はこれを限定しない。
【0073】
本実施例による符号化データ処理方法では、静止フレームスキップ条件が満たされない場合にのみ、符号化対象データフレームの複雑さを決定する。静止フレームスキップ条件が満たされる場合、該符号化対象データフレームの複雑さを決定する必要がなく、符号化対象データフレームを取得するステップに戻り、静止フレームスキップ条件を満たす符号化対象データフレームを符号化する必要もない。このように、リソースを節約し、帯域幅を節約することができる。これにより、符号化データ処理の適応性をさらに向上させる。
一実施例では、符号化対象データフレームを取得するステップは、スクリーン画像に基づく符号化対象データフレームを取得するステップを含む。
【0074】
スクリーン画像に基づく符号化対象データフレームは、フルスクリーン再生のビデオフレームであってもよいし、スクリーンキャプチャによって取得されたデータフレームであってもよく、例えば、参照収集フレームレートでキャプチャされたスクリーン画像を符号化対象データフレームとする。収集フレームレートは、1秒あたりに収集されるデータフレームの数であり、単位がフレーム毎秒(fps)である。
【0075】
このように、符号化データ処理方法が無線キャスト領域に適用され、無線キャストでデータフレームを表示する際に、異なるシーンに応じて、リアルタイム性及び鮮明さに対するニーズが異なり、異なる複雑さが異なる符号化パラメータに対応することができるため、符号化データ処理の適応性の向上をより顕著にすることができる。
【0076】
一実施例では、リアルタイム符号化ビットレートと、符号化対象データフレームの複雑さとに基づいて、符号化パラメータを調整するステップの後に、前記方法は、
調整後の符号化パラメータに基づいて、符号化対象データフレームを符号化することにより、符号化ビットストリームを取得するステップをさらに含む。
【0077】
符号化器によって符号化対象データフレームを符号化することにより、符号化ビットストリームを取得してもよい。例えば、符号化対象データフレームに対応する調整後の符号化パラメータを符号化器に入力し、符号化器によって符号化対象データフレームを符号化してもよい。このように、取得された調整後の符号化パラメータに基づいて符号化を行うことにより、符号化ビットストリームを取得する。これにより、該符号化ビットストリームは、異なるシーンに適用することができ、符号化ビットストリームの適応性を向上させる。
【0078】
一実施例では、符号化対象データフレームに対応する符号化パラメータに基づいて、符号化対象データフレームを符号化することにより、符号化ビットストリームを取得するステップの後に、前記方法は、符号化ビットストリームを送信するステップをさらに含む。
【0079】
該符号化ビットストリームは、サーバに送信されてもよいし、ユーザ端末に送信されてもよい。例えば、実行機器が
図1に示すような第1端末102である場合、該符号化ビットストリームは、サーバ106に送信され、サーバ106によって第2端末104に転送されてもよい。実行機器が
図1に示すようなサーバである場合、該符号化ビットストリームは、第2端末104に送信されてもよい。
【0080】
異なるシーンに適用するために、符号化パラメータが符号化対象データフレームの複雑さに応じて変化できることは、高い鮮明さ及び高いリアルタイム性の様々なシーンのニーズを同時に満たすために、符号化ビットレート及び符号化フレームレートの両方が高いが変化しないようにするわけではない。このため、調整後の符号化パラメータに基づいて、符号化対象データフレームを符号化することにより、符号化ビットストリームを取得した後に送信された符号化ビットストリームは、帯域幅を節約することができる。
【0081】
さらに、符号化対象データフレームを取得するステップの前に、前記方法は、無線キャスト指示を受け付けるステップであって、無線キャスト指示には、ターゲット端末識別子が付されている、ステップをさらに含む。
符号化ビットストリームを送信するステップは、ターゲット端末識別子に基づいて、符号化ビットストリームを送信するステップを含む。
【0082】
無線キャスト指示は、ユーザ端末で受け付けられてもよい。例えば、無線キャスト指示を受け付けるために使用されるトリガー方式は、タッチスクリーン上で所定のボタンをトリガーすることと、タッチスクリーン上で所定のパターンを描画することと、実行機器上で所定のボタンを押下することと、を含んでもよい。
【0083】
ターゲット端末識別子は、キャスト先のターゲット端末を識別するためのものである。理解できるように、本実施例の実行機器は、キャスト元の送信端末である。ターゲット端末識別子に基づいて、符号化ビットストリームをサーバに送信する。無線キャストの場合、サーバによって、送信端末から送信された符号化ビットストリームを転送してもよい。転送する際に、ターゲット端末識別子に基づいて、該符号化ビットストリームを転送する必要がある。
【0084】
異なるシーンに適用するために、該符号化パラメータが符号化対象データフレームの複雑さに応じて変化できることは、高い鮮明さ及び高いリアルタイム性の様々なシーンのニーズを同時に満たすために、符号化ビットレート及び符号化フレームレートの両方が高いが変化しないようにするわけではない。また、無線キャストの場合、第1端末は、キャスト対象データをサーバに送信し、サーバによって第2端末に転送する必要がある。このため、調整後の符号化パラメータに基づいて、符号化対象データフレームを符号化することにより、符号化ビットストリームを取得した後に送信された符号化ビットストリームは、帯域幅を節約することができ、特に無線キャストシーンに適用されると、上り帯域幅を節約することができ、上り帯域幅が制限されるシーンに適用可能である。これにより、符号化データ処理の適応性をさらに向上させることができる。
【0085】
図3に示すように、具体的な一実施例では、符号化データ処理方法は、
符号化対象データフレームを取得するステップと、
符号化対象データフレームが静止フレームスキップ条件を満たさない場合、符号化対象データフレームの複雑さを決定し、符号化対象データフレームが静止フレームスキップ条件を満たす場合、符号化対象データフレームを取得するステップに戻るステップであって、前記静止フレームスキップ条件には、符号化対象データフレームと直前の符号化データフレームとが同じであり、符号化対象データフレームと直前の符号化データフレームとの時間間隔が参照時間間隔以下であることが含まれる、ステップと、
リアルタイム符号化ビットレートを取得するステップであって、リアルタイム符号化ビットレートが、符号化対象データフレームの前の符号化済みデータフレームの符号化ビットレートである、ステップと、
ターゲット符号化ビットレートを取得するステップと、
ターゲット符号化ビットレートに基づいて、少なくとも1つのビットレート閾値を決定し、リアルタイム符号化ビットレートとビットレート閾値との大きさの関係、及び、符号化対象データフレームの複雑さと参照複雑さとの大きさの関係に基づいて、量子化パラメータを調整するステップと、
符号化パラメータに基づいて、符号化対象データフレームを符号化することにより、符号化ビットストリームを取得するステップと、を含む。
【0086】
図4に示すように、リアルタイム符号化ビットレートとビットレート閾値との大きさの関係、及び、符号化対象データフレームの複雑さと参照複雑さとの大きさの関係に基づいて、量子化パラメータを調整するステップは、下記のステップを含んでもよい。
【0087】
リアルタイム符号化ビットレート(Sで表すことができる)と、符号化対象データフレームの複雑さ(Fで表すことができる)とが第1参照条件を満たす場合、第1調整パラメータ(delta1で表すことができる)で基本量子化パラメータ(QPbaseで表すことができる)から小さく調整することにより、第1量子化パラメータ(QPbase+delta1で表すことができる)を取得する。ここで、第1参照条件には、リアルタイム符号化ビットレートが第1ビットレート閾値(BR_low_Thで表すことができる)より小さく、符号化対象データフレームの複雑さが第1参照複雑さ(Scene_low_Thで表すことができる)より小さいことが含まれる。説明すべきものとして、このときの基本量子化パラメータは、調整対象の量子化パラメータである。調整後の量子化パラメータ(QPで表すことができる)は、第1量子化パラメータと等しい(QP=QPbase+delta1で表すことができる)。
【0088】
リアルタイム符号化ビットレートと、符号化対象データフレームの複雑さとが第2参照条件を満たす場合、第2調整パラメータ(delta2で表すことができる)で基本量子化パラメータから大きく調整することにより、第2量子化パラメータ(QPbase+delta2で表すことができる)を取得する。ここで、第2参照条件には、リアルタイム符号化ビットレートが第2ビットレート閾値(BR_veryhigh_Thで表すことができる)より大きく、符号化対象データフレームの複雑さが第2参照複雑さ(Scene_high_Thで表すことができる)より大きいことが含まれる。説明すべきものとして、このときの基本量子化パラメータは、調整対象の量子化パラメータである。調整後の量子化パラメータは、第2量子化パラメータと等しい(QP=QPbase+delta2で表すことができる)。
【0089】
リアルタイム符号化ビットレートと、符号化対象データフレームの複雑さとが第3参照条件を満たす場合、第3調整パラメータ(delta3で表すことができる)で基本量子化パラメータから大きく調整することにより、第3量子化パラメータ(QPbase+delta3で表すことができる)を取得する。ここで、第3参照条件には、第1参照条件及び第2参照条件が満たされず、リアルタイム符号化ビットレートが第3ビットレート閾値(BR_high_Thで表すことができる)より大きく、符号化対象データフレームの複雑さが第2参照複雑さより大きく、量子化パラメータが、第2調整パラメータで基本量子化パラメータから大きく調整したパラメータと等しくない(QPold≠QPbase+delta2で表すことができる)ことが含まれる。説明すべきものとして、このときの基本量子化パラメータは、調整対象の量子化パラメータである。調整後の量子化パラメータは、第3量子化パラメータと等しい(QP=QPbase+delta3で表すことができる)。
【0090】
リアルタイム符号化ビットレートと、符号化対象データフレームの複雑さとが、第4参照条件を満たす場合、量子化パラメータを基本量子化パラメータと等しく調整する。第4参照条件には、第3参照条件が満たされず、リアルタイム符号化ビットレートが第4ビットレート閾値(BR_mid_Thで表すことができる)より大きく、符号化対象データフレームの複雑さが第3参照複雑さ(Scene_mid_Thで表すことができる)より大きく、量子化パラメータが基本量子化パラメータより小さいことが含まれる。このとき、調整後の量子化パラメータは、基本量子化パラメータと等しい(QP=QPbaseで表すことができる)。
【0091】
リアルタイム符号化ビットレートと、符号化対象データフレームの複雑さとが、第5参照条件を満たす場合、量子化パラメータを基本量子化パラメータと等しく調整する。ここで、第5参照条件には、第4参照条件が満たされず、リアルタイム符号化ビットレートが第4ビットレート閾値より小さく、符号化対象データフレームの複雑さが第3参照複雑さより小さく、量子化パラメータが基本量子化パラメータより大きいことが含まれる。このとき、調整後の量子化パラメータは、同様に基本量子化パラメータと等しい(QP=QPbaseで表すことができる)。
【0092】
リアルタイム符号化ビットレートと、符号化対象データフレームの複雑さとが第5参照条件を満たさない場合、量子化パラメータを変化させない。このとき、調整後の量子化パラメータは、調整前の量子化パラメータと等しい(QP=QPoldで表すことができる)。
【0093】
ここで、第1ビットレート閾値は第2ビットレート閾値より小さく、第3ビットレート閾値は、第2ビットレート閾値より小さく、第1ビットレート閾値より大きく、第4ビットレート閾値は、第1ビットレート閾値より大きく、第3ビットレート閾値より小さく、即ち、BR_low_Th<BR_mid_Th<BR_high_Th<BR_veryhigh_Thである。第3参照複雑さは、第1参照複雑さより大きく、第2参照複雑さより小さく、第1参照複雑さは第2参照複雑さより小さく、即ち、Scene_low_Th<Scene_mid_Th<Scene_high_Thである。
【0094】
本実施例では、第1調整パラメータは0より小さく、第2調整パラメータ及び第3調整パラメータは0より大きく、第3調整パラメータは第2調整パラメータより小さく、即ち、delta1<0、delta2>0、delta3>0、delta1<delta3<delta2である。
【0095】
無線キャストに適用される場合の測定では、静的なシーンでの鮮明さは、511MTF50Pから533MTF50Pに向上し、ビットレートは、266kbpsから77kbpsに低下し、動きシーンで、品質に顕著な変化がない場合、ビットレートは、2516kbpsから1255kbpsに低下する。ここで、MTF50Pは、変調伝達関数(MTF:Modulation Transfer Function)のピーク値(Peak Value)の50%に対応する周波数値であり、画像のシャープネスを測るパラメータである。このため、無線キャストに適用される場合、複数の異なるシーンに適応することができ、ユーザが鮮明で滑らかな画像を見ることが確保されることができるとともに、むだな帯域幅が省かれる。
【0096】
理解すべきものとして、
図2、
図3、
図4のフローチャートにおける各ステップは、矢印の指示に従って順次示されているが、これらのステップは、必ずしも矢印に示す順序に従って順次実行されるとは限らない。本明細書で明確に説明されない限り、これらのステップの実行順序には、厳しい制限がない。これらのステップは、他の順序で実行されてもよい。また、
図2、
図3、
図4における少なくとも一部のステップは、複数のサブステップ又は複数のステージを含んでもよい。これらのサブステップ又はステージは、必ずしも同一の時刻に実行完了するとは限らず、異なる時刻に実行されてもよい。これらのサブステップ又はステージの実行順序も、必ずしも順次に実行するとは限らず、他のステップ、或いは、他のステップのサブステップ又はステージの少なくとも一部と代わる代わる又は交代で実行されてもよい。
【0097】
一実施例では、
図5に示すように、
図1におけるサーバ106又は第1端末102で実行される符号化データ処理装置が提供されている。該装置は、
符号化対象データフレームを取得するデータフレーム取得モジュール502と、
前記符号化対象データフレームの複雑さを決定し、前記複雑さが、少なくとも、空間領域のテクスチャの複雑さ、及び時間領域の動きの激しさを示すためのものである複雑さ決定モジュール504と、
リアルタイム符号化ビットレートを取得し、前記リアルタイム符号化ビットレートが、前記符号化対象データフレームの前の符号化済みデータフレームの符号化ビットレートであるリアルタイムビットレート取得モジュール506と、
前記リアルタイム符号化ビットレートと、前記符号化対象データフレームの複雑さとに基づいて、符号化パラメータを調整する符号化パラメータ調整モジュール508と、を含む。
【0098】
本実施例による符号化データ処理装置では、符号化対象データフレームを取得し、符号化対象データフレームの複雑さを取得し、複雑さが、少なくとも、空間領域のテクスチャの複雑さ、及び時間領域の動きの激しさを示すためのものであり、リアルタイム符号化ビットレートを取得し、リアルタイム符号化ビットレートが、符号化対象データフレームの前の符号化済みデータフレームの符号化ビットレートであり、リアルタイム符号化ビットレートと、符号化対象データフレームの複雑さとに基づいて、符号化パラメータを調整する。リアルタイム符号化ビットレート及び複雑さに基づいて、符号化パラメータを調整するため、異なるリアルタイム符号化ビットレート及び複雑さは、異なる符号化パラメータに対応することができる。このように、符号化パラメータは、異なるシーンに適用することができるため、適応性が高い。
【0099】
一実施例では、前記符号化パラメータは、量子化パラメータを含み、該装置は、ターゲットビットレート取得モジュールをさらに含む。
ターゲットビットレート取得モジュールは、ターゲット符号化ビットレートを取得し、
符号化パラメータ調整モジュールは、前記ターゲット符号化ビットレートと、前記リアルタイム符号化ビットレートと、前記符号化対象データフレームの複雑さとに基づいて、前記量子化パラメータを調整する。
【0100】
一実施例では、符号化パラメータ調整モジュールは、
前記リアルタイム符号化ビットレートが前記ターゲット符号化ビットレートより大きく、前記複雑さが参照複雑さより大きい場合、前記量子化パラメータを大きく調整することと、
前記リアルタイム符号化ビットレートが前記ターゲット符号化ビットレートより小さく、前記複雑さが参照複雑さより小さい場合、前記量子化パラメータを小さく調整することと、の何れか1つに用いられる。
【0101】
一実施例では、符号化パラメータ調整モジュールは、前記ターゲット符号化ビットレートに基づいて、少なくとも1つのビットレート閾値を決定し、前記リアルタイム符号化ビットレートと前記ビットレート閾値との大きさの関係、及び、前記符号化対象データフレームの複雑さと参照複雑さとの大きさの関係に基づいて、前記量子化パラメータを調整する。
【0102】
一実施例では、符号化パラメータ調整モジュールは、前記リアルタイム符号化ビットレートと、前記符号化対象データフレームの複雑さとが第1参照条件を満たす場合、第1調整パラメータで基本量子化パラメータから小さく調整することにより、第1量子化パラメータを取得し、前記第1参照条件には、前記リアルタイム符号化ビットレートが第1ビットレート閾値より小さく、前記符号化対象データフレームの複雑さが第1参照複雑さより小さいことが含まれる。
【0103】
一実施例では、符号化パラメータ調整モジュールは、さらに、前記リアルタイム符号化ビットレートと、前記符号化対象データフレームの複雑さとが第2参照条件を満たす場合、第2調整パラメータで前記基本量子化パラメータから大きく調整することにより、第2量子化パラメータを取得し、前記第2参照条件には、前記リアルタイム符号化ビットレートが第2ビットレート閾値より大きく、前記符号化対象データフレームの複雑さが第2参照複雑さより大きいことが含まれ、前記第1ビットレート閾値は前記第2ビットレート閾値より小さく、前記第1参照複雑さは前記第2参照複雑さより小さい。
【0104】
一実施例では、符号化パラメータ調整モジュールは、さらに、前記リアルタイム符号化ビットレートと、前記符号化対象データフレームの複雑さとが第3参照条件を満たす場合、第3調整パラメータで前記基本量子化パラメータから大きく調整することにより、第3量子化パラメータを取得し、前記第3参照条件には、前記第1参照条件及び前記第2参照条件が満たされず、前記リアルタイム符号化ビットレートが第3ビットレート閾値より大きく、前記符号化対象データフレームの複雑さが第2参照複雑さより大きく、前記量子化パラメータが、第2調整パラメータで前記基本量子化パラメータから大きく調整したパラメータと等しくないことが含まれ、ここで、前記第3ビットレート閾値は、前記第2ビットレート閾値より小さく、前記第1ビットレート閾値より大きく、前記第3調整パラメータは前記第2調整パラメータより小さい。
【0105】
一実施例では、符号化パラメータ調整モジュールは、さらに、前記リアルタイム符号化ビットレートと、前記符号化対象データフレームの複雑さとが第4参照条件を満たす場合、前記量子化パラメータを前記基本量子化パラメータと等しく調整し、前記第4参照条件には、前記第3参照条件が満たされず、前記リアルタイム符号化ビットレートが第4ビットレート閾値より大きく、前記符号化対象データフレームの複雑さが第3参照複雑さより大きく、前記量子化パラメータが前記基本量子化パラメータより小さいことが含まれる。
【0106】
前記第4ビットレート閾値は、前記第1ビットレート閾値より大きく、前記第3ビットレート閾値より小さく、前記第3参照複雑さは、前記第1参照複雑さより大きく、前記第2参照複雑さより小さい。
【0107】
一実施例では、符号化パラメータ調整モジュールは、さらに、前記リアルタイム符号化ビットレートと、前記符号化対象データフレームの複雑さとが第5参照条件を満たす場合、前記量子化パラメータを前記基本量子化パラメータと等しく調整し、前記リアルタイム符号化ビットレートと、前記符号化対象データフレームの複雑さとが第5参照条件を満たさない場合、前記量子化パラメータを変化させない。ここで、前記第5参照条件には、前記第4参照条件が満たされず、前記リアルタイム符号化ビットレートが前記第4ビットレート閾値より小さく、前記符号化対象データフレームの複雑さが前記第3参照複雑さより小さく、前記量子化パラメータが前記基本量子化パラメータより大きいことが含まれる。
【0108】
一実施例では、複雑さ決定モジュールは、前記符号化対象データフレームが静止フレームスキップ条件を満たさない場合、前記符号化対象データフレームの複雑さを決定する。
【0109】
一実施例では、複雑さ決定モジュールは、前記符号化対象データフレームが静止フレームスキップ条件を満たす場合、符号化対象データフレームを取得する前記ステップに戻る。
【0110】
一実施例では、前記符号化対象データフレームと直前の符号化データフレームとが異なり、又は前記符号化対象データフレームと前記直前の符号化データフレームとの時間間隔が参照時間間隔より大きい場合、前記静止フレームスキップ条件が満たされない。
一実施例では、データフレーム取得モジュールは、スクリーン画像に基づく符号化対象データフレームを取得する。
【0111】
一実施例では、該装置は、調整後の符号化パラメータに基づいて、前記符号化対象データフレームを符号化することにより、符号化ビットストリームを取得するデータ符号化モジュールをさらに含む。
【0112】
一実施例では、該装置は、キャスト指示受付モジュール及び符号化ビットストリーム送信モジュールをさらに含む。
キャスト指示受付モジュールは、データフレーム取得モジュールが符号化対象データフレームを取得する前に、無線キャスト指示を受け付け、前記無線キャスト指示には、ターゲット端末識別子が付されている。
符号化ビットストリーム送信モジュールは、前記ターゲット端末識別子に基づいて、前記符号化ビットストリームを送信する。
【0113】
一実施例では、コンピュータ機器が提供されている。該コンピュータ機器は、サーバであってもよく、その内部の構成図が
図6に示すとおりであってもよい。該コンピュータ機器は、システムバスを介して接続されるプロセッサと、メモリと、ネットワークインタフェースと、を備える。ここで、該コンピュータ機器のプロセッサは、計算及び制御の機能を提供する。該コンピュータ機器のメモリは、不揮発性記憶媒体、内部メモリを含む。該不揮発性記憶媒体には、オペレーティングシステム及びコンピュータプログラムが記憶されている。該内部メモリは、不揮発性記憶媒体におけるオペレーティングシステム及びコンピュータプログラムの実行のために、環境を提供する。該コンピュータ機器のネットワークインタフェースは、ネットワーク接続を介して、外部の端末と通信するためのものである。該コンピュータプログラムは、プロセッサによって実行されると、符号化データ処理方法を実現させる。
【0114】
一実施例では、コンピュータ機器が提供されている。該コンピュータ機器は、端末であってもよく、その内部の構成図が
図7に示すとおりであってもよい。該コンピュータ機器は、システムバスを介して接続されるプロセッサと、メモリと、ネットワークインタフェースと、ディスプレイスクリーンと、入力装置と、を備える。ここで、該コンピュータ機器のプロセッサは、計算及び制御の機能を提供する。該コンピュータ機器のメモリは、不揮発性記憶媒体、内部メモリを含む。該不揮発性記憶媒体には、オペレーティングシステム及びコンピュータプログラムが記憶されている。該内部メモリは、不揮発性記憶媒体におけるオペレーティングシステム及びコンピュータプログラムの実行のために、環境を提供する。該コンピュータ機器のネットワークインタフェースは、ネットワーク接続を介して、外部の端末と通信するためのものである。該コンピュータプログラムは、プロセッサによって実行されると、符号化データ処理方法を実現させる。該コンピュータ機器のディスプレイスクリーンは、液晶ディスプレイスクリーン又はE-inkディスプレイスクリーンであってもよい。該コンピュータ機器の入力装置は、ディスプレイスクリーンに重ね合わせたタッチ層であってもよく、コンピュータ機器の筐体に設けられたボタン、トラックボール、又はタッチパッドであってもよく、外付けのキーボード、タッチパッド、又はマウスなどであってもよい。
【0115】
当業者であれば理解できるように、
図6、
図7に示された構成は、本願発明に係る一部の構成のブロック図にすぎず、本願発明が適用されるコンピュータ機器を限定するものではない。具体的なコンピュータ機器は、図示よりも多く又は少ない構成要素を含んでもよく、又はいくらかの構成要素を組み合わせたものであってもよく、又は構成要素の異なる配置を有してもよい。
【0116】
一実施形態では、コンピュータ機器が提供されている。該コンピュータ機器は、サーバ又は端末であってもよく、その内部の構成図が
図6又は
図7に示すとおりであってもよい。該コンピュータ機器は、メモリとプロセッサとを備え、前記メモリには、コンピュータプログラムが記憶され、前記プロセッサは、前記コンピュータプログラムを実行すると、上記符号化データ処理方法のステップを実現する。
【0117】
一実施例では、該コンピュータ機器は、メモリとプロセッサとを備え、前記メモリには、コンピュータプログラムが記憶され、前記プロセッサは、前記コンピュータプログラムを実行すると、
符号化対象データフレームを取得するステップと、
前記符号化対象データフレームの複雑さを決定するステップであって、前記複雑さが、少なくとも、空間領域のテクスチャの複雑さ、及び時間領域の動きの激しさを示すためのものである、ステップと、
リアルタイム符号化ビットレートを取得するステップであって、前記リアルタイム符号化ビットレートが、前記符号化対象データフレームの前の符号化済みデータフレームの符号化ビットレートである、ステップと、
前記リアルタイム符号化ビットレートと、前記符号化対象データフレームの複雑さとに基づいて、符号化パラメータを調整するステップと、を実現する。
【0118】
一実施例では、前記符号化パラメータは、量子化パラメータを含み、前記リアルタイム符号化ビットレートと、前記符号化対象データフレームの複雑さとに基づいて、符号化パラメータを調整する前記ステップは、ターゲット符号化ビットレートを取得するステップと、前記ターゲット符号化ビットレートと、前記リアルタイム符号化ビットレートと、前記符号化対象データフレームの複雑さとに基づいて、前記量子化パラメータを調整するステップと、を含む。
【0119】
一実施例では、前記ターゲット符号化ビットレートと、前記リアルタイム符号化ビットレートと、前記符号化対象データフレームの複雑さとに基づいて、前記量子化パラメータを調整する前記ステップは、前記リアルタイム符号化ビットレートが前記ターゲット符号化ビットレートより大きく、前記複雑さが参照複雑さより大きい場合、前記量子化パラメータを大きく調整するステップと、前記リアルタイム符号化ビットレートが前記ターゲット符号化ビットレートより小さく、前記複雑さが参照複雑さより小さい場合、前記量子化パラメータを小さく調整するステップとの何れか1つを含む。
【0120】
一実施例では、前記ターゲット符号化ビットレートと、前記リアルタイム符号化ビットレートと、前記符号化対象データフレームの複雑さとに基づいて、量子化パラメータを調整する前記ステップは、前記ターゲット符号化ビットレートに基づいて、少なくとも1つのビットレート閾値を決定するステップと、前記リアルタイム符号化ビットレートと前記ビットレート閾値との大きさの関係、及び、前記符号化対象データフレームの複雑さと参照複雑さとの大きさの関係に基づいて、前記量子化パラメータを調整するステップと、を含む。
【0121】
一実施例では、前記リアルタイム符号化ビットレートと前記ビットレート閾値との大きさの関係、及び、前記符号化対象データフレームの複雑さと参照複雑さとの大きさの関係に基づいて、前記量子化パラメータを調整する前記ステップは、前記リアルタイム符号化ビットレートと、前記符号化対象データフレームの複雑さとが第1参照条件を満たす場合、第1調整パラメータで基本量子化パラメータから小さく調整することにより、第1量子化パラメータを取得するステップを含む。前記第1参照条件には、前記リアルタイム符号化ビットレートが第1ビットレート閾値より小さく、前記符号化対象データフレームの複雑さが第1参照複雑さより小さいことが含まれる。
【0122】
一実施例では、前記リアルタイム符号化ビットレートと前記ビットレート閾値との大きさの関係、及び、前記符号化対象データフレームの複雑さと参照複雑さとの大きさの関係に基づいて、前記量子化パラメータを調整する前記ステップは、前記リアルタイム符号化ビットレートと、前記符号化対象データフレームの複雑さとが第2参照条件を満たす場合、第2調整パラメータで前記基本量子化パラメータから大きく調整することにより、第2量子化パラメータを取得するステップをさらに含む。前記第2参照条件には、前記リアルタイム符号化ビットレートが第2ビットレート閾値より大きく、前記符号化対象データフレームの複雑さが第2参照複雑さより大きいことが含まれ、前記第1ビットレート閾値は前記第2ビットレート閾値より小さく、前記第1参照複雑さは前記第2参照複雑さより小さい。
【0123】
一実施例では、前記リアルタイム符号化ビットレートと前記ビットレート閾値との大きさの関係、及び、前記符号化対象データフレームの複雑さと参照複雑さとの大きさの関係に基づいて、前記量子化パラメータを調整する前記ステップは、前記リアルタイム符号化ビットレートと、前記符号化対象データフレームの複雑さとが第3参照条件を満たす場合、第3調整パラメータで前記基本量子化パラメータから大きく調整することにより、第3量子化パラメータを取得するステップをさらに含む。前記第3参照条件には、前記第1参照条件及び前記第2参照条件が満たされず、前記リアルタイム符号化ビットレートが第3ビットレート閾値より大きく、前記符号化対象データフレームの複雑さが第2参照複雑さより大きく、前記量子化パラメータが、第2調整パラメータで前記基本量子化パラメータから大きく調整したパラメータと等しくないことが含まれ、ここで、前記第3ビットレート閾値は、前記第2ビットレート閾値より小さく、前記第1ビットレート閾値より大きく、前記第3調整パラメータは前記第2調整パラメータより小さい。
【0124】
一実施例では、前記リアルタイム符号化ビットレートと前記ビットレート閾値との大きさの関係、及び、前記符号化対象データフレームの複雑さと参照複雑さとの大きさの関係に基づいて、前記量子化パラメータを調整する前記ステップは、前記リアルタイム符号化ビットレートと、前記符号化対象データフレームの複雑さとが第4参照条件を満たす場合、前記量子化パラメータを前記基本量子化パラメータと等しく調整するステップをさらに含む。前記第4参照条件には、前記第3参照条件が満たされず、前記リアルタイム符号化ビットレートが第4ビットレート閾値より大きく、前記符号化対象データフレームの複雑さが第3参照複雑さより大きく、前記量子化パラメータが前記基本量子化パラメータより小さいことが含まれ、前記第4ビットレート閾値は、前記第1ビットレート閾値より大きく、前記第3ビットレート閾値より小さく、前記第3参照複雑さは、前記第1参照複雑さより大きく、前記第2参照複雑さより小さい。
【0125】
一実施例では、前記リアルタイム符号化ビットレートと前記ビットレート閾値との大きさの関係、及び、前記符号化対象データフレームの複雑さと参照複雑さとの大きさの関係に基づいて、前記量子化パラメータを調整する前記ステップは、前記リアルタイム符号化ビットレートと、前記符号化対象データフレームの複雑さとが第5参照条件を満たす場合、前記量子化パラメータを前記基本量子化パラメータと等しく調整するステップと、前記リアルタイム符号化ビットレートと、前記符号化対象データフレームの複雑さとが前記第5参照条件を満たさない場合、前記量子化パラメータを変化させないステップとのうち1つをさらに含む。ここで、前記第5参照条件には、前記第4参照条件が満たされず、前記リアルタイム符号化ビットレートが前記第4ビットレート閾値より小さく、前記符号化対象データフレームの複雑さが前記第3参照複雑さより小さく、前記量子化パラメータが前記基本量子化パラメータより大きいことが含まれる。
【0126】
一実施例では、前記符号化対象データフレームの複雑さを決定する前記ステップは、前記符号化対象データフレームが静止フレームスキップ条件を満たさない場合、前記符号化対象データフレームの複雑さを決定するステップを含む。
【0127】
一実施例では、前記符号化対象データフレームの複雑さを決定する前記ステップは、前記符号化対象データフレームが前記静止フレームスキップ条件を満たす場合、符号化対象データフレームを取得する前記ステップに戻るステップをさらに含む。
【0128】
一実施例では、前記符号化対象データフレームと直前の符号化データフレームとが異なり、又は前記符号化対象データフレームと前記直前の符号化データフレームとの時間間隔が参照時間間隔より大きい場合、前記静止フレームスキップ条件が満たされない。
一実施例では、符号化対象データフレームを取得する前記ステップは、スクリーン画像に基づく符号化対象データフレームを取得するステップを含む。
【0129】
一実施例では、前記リアルタイム符号化ビットレートと、前記符号化対象データフレームの複雑さとに基づいて、符号化パラメータを調整する前記ステップの後に、前記方法は、調整後の符号化パラメータに基づいて、前記符号化対象データフレームを符号化することにより、符号化ビットストリームを取得するステップをさらに含む。
【0130】
一実施例では、符号化対象データフレームを取得する前記ステップの前に、前記方法は、無線キャスト指示を受け付けるステップであって、前記無線キャスト指示には、ターゲット端末識別子が付されている、ステップをさらに含み、
調整後の符号化パラメータに基づいて、前記符号化対象データフレームを符号化することにより、符号化ビットストリームを取得する前記ステップの後に、前記方法は、前記ターゲット端末識別子に基づいて、前記符号化ビットストリームを送信するステップをさらに含む。
【0131】
一実施形態では、コンピュータプログラムを記憶したコンピュータ可読記憶媒体が提供されており、前記コンピュータプログラムは、プロセッサによって実行されると、上記符号化データ処理方法のステップを実現させる。
【0132】
当業者であれば理解できるように、上記の実施例に係る方法の手順の全部又は一部は、コンピュータプログラムを介して関連ハードウェアに指示することにより実行されてもよい。前記コンピュータプログラムは、不揮発性コンピュータ可読記憶媒体に記憶されてもよい。このコンピュータプログラムが実行されると、上記のような各方法の実施例の手順が実行される。ここで、本願で提供された各実施例に使用された、メモリ、ストレージ、データベース、又は他の媒体へのいかなる参照でも、不揮発性及び/又は揮発性メモリを含んでもよい。不揮発性メモリは、読み出し専用メモリ(ROM)、プログラマブルROM(PROM)、電気的プログラマブルROM(EPROM)、電気的消去可能プログラマブルROM(EEPROM)、又はフラッシュメモリを含んでもよい。揮発性メモリは、ランダムアクセスメモリ(RAM)、又は外部キャッシュを含んでもよい。限定ではなく説明として、RAMは、例えば、スタティックRAM(SRAM)、ダイナミックRAM(DRAM)、シンクロナスDRAM(SDRAM)、ダブルデータレートSDRAM(DDRSDRAM)、エンハンスドSDRAM(ESDRAM)、シンクリンク(Synchlink)DRAM(SLDRAM)、ダイレクト・ラムバス(Rambus)RAM(RDRAM)、ダイレクト・ラムバス・ダイナミックRAM(DRDRAM)、及びラムバス・ダイナミックRAM(RDRAM)などの多くの形態で利用可能である。
【0133】
上述した実施例の各構成要件は、任意に組み合わせされてもよい。説明を簡潔にするために、上記実施例の各構成要件の可能な組み合わせがすべて説明されているわけではない。しかしながら、これらの構成要件の組み合わせは、矛盾がない限り、本明細書に記載された範囲にあると考えられるべきである。
【0134】
上述した実施例は、本願のいくつかの実施形態を示したものにすぎず、説明が具体的で詳しいが、これによって発明の特許範囲への制限と理解されるわけにはいかない。指摘すべきものとして、当業者にとっては、本願の構想を逸脱しない前提で、若干の変形及び改良が可能である。これらの変形及び改良は、いずれも本願の保護範囲に属する。それゆえ、本願の特許保護範囲は、添付の特許請求の範囲に従うべきである。
【符号の説明】
【0135】
102 第1端末
104 第2端末
106 サーバ
502 データフレーム取得モジュール
504 複雑さ決定モジュール
506 リアルタイムビットレート取得モジュール
508 符号化パラメータ調整モジュール