(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公表特許公報(A)
(11)【公表番号】
(43)【公表日】2024-02-08
(54)【発明の名称】スクリーンコンテンツ処理方法、装置及び機器
(51)【国際特許分類】
H04N 19/137 20140101AFI20240201BHJP
H04N 19/105 20140101ALI20240201BHJP
H04N 19/17 20140101ALI20240201BHJP
【FI】
H04N19/137
H04N19/105
H04N19/17
【審査請求】有
【予備審査請求】未請求
(21)【出願番号】P 2023544245
(86)(22)【出願日】2022-01-26
(85)【翻訳文提出日】2023-07-21
(86)【国際出願番号】 CN2022074131
(87)【国際公開番号】W WO2022166727
(87)【国際公開日】2022-08-11
(31)【優先権主張番号】202110164130.9
(32)【優先日】2021-02-05
(33)【優先権主張国・地域又は機関】CN
(81)【指定国・地域】
【公序良俗違反の表示】
(特許庁注:以下のものは登録商標)
(71)【出願人】
【識別番号】520476341
【氏名又は名称】北京字節跳動網絡技術有限公司
【氏名又は名称原語表記】Beijing Bytedance Network Technology Co., Ltd.
【住所又は居所原語表記】Room B-0035, 2/F, No.3 Building, No.30, Shixing Road, Shijingshan District Beijing 100041 China
(74)【代理人】
【識別番号】100107766
【氏名又は名称】伊東 忠重
(74)【代理人】
【識別番号】100070150
【氏名又は名称】伊東 忠彦
(74)【代理人】
【識別番号】100135079
【氏名又は名称】宮崎 修
(72)【発明者】
【氏名】リ,リンユイ
(72)【発明者】
【氏名】ワン,ユエ
(72)【発明者】
【氏名】ザン,リー
【テーマコード(参考)】
5C159
【Fターム(参考)】
5C159MA04
5C159MA05
5C159NN01
5C159TA30
5C159TA33
5C159TB08
5C159TC02
5C159TD05
5C159TD06
5C159TD12
5C159TD15
5C159UA02
5C159UA05
(57)【要約】
本開示の実施例は、スクリーンコンテンツ処理方法、装置及び機器を提供し、当該方法は、スクリーンコンテンツを複数の領域に分割し、スクリーンコンテンツの現在のフレームの第1の目標領域と前のフレームの第2の目標領域との画素類似度を検出し、類似度が第1の検出結果を満たす場合、前のフレームの第2の目標領域の画素ハッシュテーブルを現在のフレームの第1の目標領域の画素ハッシュテーブルとするが、類似度が第2の検出結果を満たす場合、現在のフレームの第1の目標領域の画素ハッシュ値を計算して画素ハッシュテーブルを作成し、現在のフレームの第1の目標領域の符号化対象領域の画素ハッシュテーブルに基づいて、参照領域の画素ハッシュテーブルをトラバースし、符号化対象領域に対してフレームのイントラブロックコピー処理又はハッシュベース動き探索処理を行い、現在のフレームの第1の目標領域のスクリーンコンテンツ処理を完了する。本開示の実施例は、冗長なハッシュ計算を減らし、スクリーンコンテンツ符号化の符号化速度を高め、符号化効率を向上させることができる。
【選択図】
図3
【特許請求の範囲】
【請求項1】
スクリーンコンテンツ処理方法であって、
スクリーンコンテンツを複数の領域に分割するステップと、
前記スクリーンコンテンツの現在のフレームの第1の目標領域と前のフレームの第2の目標領域との画素類似度を検出するステップであって、前記第1の目標領域と前記第2の目標領域とはスクリーンコンテンツの互いに対応する領域であるステップと、
前記類似度が第1の検出結果を満たす場合、前記前のフレームの第2の目標領域の画素ハッシュテーブルを前記現在のフレームの第1の目標領域の画素ハッシュテーブルとするステップと、
前記類似度が第2の検出結果を満たす場合、前記現在のフレームの第1の目標領域の画素ハッシュ値を計算して画素ハッシュテーブルを作成するステップと、
前記現在のフレームの第1の目標領域の符号化対象領域の画素ハッシュテーブルに基づいて、参照領域の画素ハッシュテーブルをトラバースし、前記符号化対象領域に対してフレームのイントラブロックコピー処理又はハッシュベース動き探索処理を行い、前記現在のフレームの第1の目標領域のスクリーンコンテンツ処理を完了するステップと、を含む、スクリーンコンテンツ処理方法。
【請求項2】
前記スクリーンコンテンツの現在のフレームの第1の目標領域と前のフレームの第2の目標領域との画素類似度を検出するステップは、
前記現在のフレームの第1の目標領域の画素値と前記前のフレームの第2の目標領域の画素値とを取得するステップと、
前記現在のフレームの第1の目標領域の画素値と前記前のフレームの第2の目標領域の画素値とに基づき、プリセットアルゴリズムに従って前記現在のフレームの第1の目標領域の画素と前記前のフレームの第2の目標領域の画素との類似度を計算するステップと、を含む、請求項1に記載の方法。
【請求項3】
前記プリセットアルゴリズムは、絶対誤差和、時間領域を周波数領域に変換して絶対値を加算するアルゴリズム、及び二乗和誤差のうちの少なくとも1つを含む、請求項2に記載の方法。
【請求項4】
前記現在のフレームの第1の目標領域の符号化対象領域の画素ハッシュテーブルに基づいて、参照領域の画素ハッシュテーブルをトラバースし、前記符号化対象領域に対してフレームのイントラブロックコピー処理又はハッシュベース動き探索処理を行うステップは、
前記現在のフレームの第1の目標領域の符号化対象領域の画素ハッシュテーブルに基づいて、前記符号化対象領域に近い順に、前記参照領域の画素ハッシュテーブルをトラバースし、目標参照ブロックを得るステップと、
前記目標参照ブロックに基づいて、前記現在のフレームの第1の目標領域の符号化対象領域に対してフレームのイントラブロックコピー処理又はハッシュベース動き探索処理を行うステップと、を含む、請求項1~3のいずれか1項に記載の方法。
【請求項5】
前記現在のフレームの第1の目標領域の符号化対象領域の画素ハッシュテーブルに基づいて、参照領域の画素ハッシュテーブルをトラバースし、前記符号化対象領域に対してフレームのイントラブロックコピー処理又はハッシュベース動き探索処理を行うステップの後に、
前記第1の目標領域は前記スクリーンコンテンツが分割されて得た複数の領域の最後の領域であるかどうかを判断し、そうである場合、前記スクリーンコンテンツの現在のフレームの処理を完了し、そうでない場合、前記スクリーンコンテンツの前記現在のフレームの第1の目標領域の次の領域と前のフレームの同じ領域との画素類似度を検出するステップを引き続き実行するステップ、をさらに含む、請求項1~4のいずれか1項に記載の方法。
【請求項6】
前記現在のフレームの第1の目標領域の画素ハッシュ値を計算して画素ハッシュテーブルを作成するステップは、
前記現在のフレームの第1の目標領域の各画素位置の対応するハッシュ値を計算するステップと、
前記現在のフレームの第1の目標領域の各画素位置のハッシュ値をkey値として、画素位置をvalue値として用いて、前記画素ハッシュテーブルを作成するステップと、を含む、請求項1~5のいずれか1項に記載の方法。
【請求項7】
前記類似度が第1の検出結果を満たすことは、前記類似度が設定された類似度しきい値より大きいことであり、前記類似度が第2の検出結果を満たすことは、前記類似度が設定された類似度しきい値以下である、請求項1~6のいずれか1項に記載の方法。
【請求項8】
スクリーンコンテンツを複数の領域に分割するステップは、
前記スクリーンコンテンツをN×N個の矩形領域に分割するステップを含み、前記Nが正の整数である、請求項1~7のいずれか1項に記載の方法。
【請求項9】
前記第1の目標領域のサイズに基づいて前記類似度しきい値を決定するステップをさらに含む、請求項1~8のいずれか1項に記載の方法。
【請求項10】
スクリーンコンテンツ処理装置であって、
スクリーンコンテンツを複数の領域に分割するために用いられる分割モジュールと、
前記スクリーンコンテンツの現在のフレームの第1の目標領域と前のフレームの第2の目標領域との画素類似度を検出するために用いられる判断モジュールであって、前記第1の目標領域と前記第2の目標領域とはスクリーンコンテンツの互いに対応する領域である判断モジュールと、
前記類似度が第1の検出結果を満たす場合、前記前のフレームの第2の目標領域の画素ハッシュテーブルを前記現在のフレームの第1の目標領域の画素ハッシュテーブルとするために用いられる多重化モジュールと、
前記類似度が第2の検出結果を満たす場合、前記現在のフレームの第1の目標領域の画素ハッシュ値を計算して画素ハッシュテーブルを作成するために用いられる計算モジュールと、
前記現在のフレームの第1の目標領域の符号化対象領域の画素ハッシュテーブルに基づいて、参照領域の画素ハッシュテーブルをトラバースし、前記符号化対象領域に対してフレームのイントラブロックコピー処理又はハッシュベース動き探索処理を行い、前記現在のフレームの第1の目標領域のスクリーンコンテンツ処理を完了するために用いられる符号化モジュールと、を含む、スクリーンコンテンツ処理装置。
【請求項11】
プロセッサとメモリとを含む電子機器であって、
前記メモリにはコンピュータ実行命令が記憶されており、
前記プロセッサが前記メモリに記憶されているコンピュータ実行命令を実行すると、前記少なくとも1つのプロセッサが請求項1~9のいずれか1項に記載のスクリーンコンテンツ処理方法を実行する、ことを特徴とする電子機器。
【請求項12】
コンピュータ可読記憶媒体であって、前記コンピュータ可読記憶媒体にはコンピュータ実行命令が記憶されており、プロセッサが前記コンピュータ実行命令を実行するとき、請求項1~9のいずれか1項に記載のスクリーンコンテンツ処理方法が実現される、ことを特徴とするコンピュータ可読記憶媒体。
【請求項13】
コンピュータプログラムを含む、コンピュータプログラム製品であって、前記コンピュータプログラムがプロセッサにより実行されるとき、請求項1~9のいずれか1項に記載のスクリーンコンテンツ処理方法が実現される、ことを特徴とするコンピュータプログラム製品。
【請求項14】
コンピュータプログラムであって、前記コンピュータプログラムがプロセッサにより実行されるとき、請求項1~9のいずれか1項に記載のスクリーンコンテンツ処理方法が実現される、ことを特徴とするコンピュータプログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本開示の実施例は、通信及びコンピュータ技術の分野に関し、特に、スクリーンコンテンツ処理方法、装置及び機器に関する。
【背景技術】
【0002】
H.265は、高効率ビデオ符号化(High Efficiency Video Coding、HEVCと略称)とも呼ばれ、本明細書ではH.265として用語を統一している。H.265のスクリーンコンテンツ符号化(Screen Content Coding、SCCと略称)技術においては、スクリーンコンテンツのゼロノイズや図形文字の重複などの特性に対して、フレームのイントラブロックコピー(Intra Block Copy、IBCと略称)及びハッシュベース動き探索(Hash Motion Estimation、Hash MEと略称)という2つの符号化ツールを追加した。
【0003】
スクリーンコンテンツの異なるフレームには同じ文字シンボルが多数存在し、しかも、スクリーンコンテンツはノイズがないので、このような異なるフレームの同じ文字シンボルコンテンツのハッシュ値は全く同じである。現在、従来のIBC及びHash MEによるスクリーンコンテンツの符号化中に、スクリーンコンテンツフレーム内の各画素位置に対応するハッシュ値は、ハッシュテーブル(画素位置とハッシュ値との対応関係)の形成のために、必要とされている。IBCスクリーンコンテンツ符号化の原理は、現在のスクリーンコンテンツフレームを複数の符号化ユニットに分割し、各符号化ユニットは複数の画素ブロックを含み、現在のフレームのハッシュテーブルに基づいて最も一致する参照ブロックを見つけて、当該参照ブロックの画素に基づいて現在のブロックの画素値を予測することである。Hash MEスクリーンコンテンツ符号化の原理は、現在のスクリーンコンテンツフレームを複数の符号化ユニットに分割し、各符号化ユニットは複数の画素ブロックを含み、現在のブロックのハッシュ値に基づいて、参照フレームのハッシュテーブルから最も一致する参照ブロックを見つけて、当該参照ブロックの画素に基づいて現在のブロックの画素値を予測することである。
【0004】
しかし、本発明者は、従来のIBC又はHash MEによるスクリーンコンテンツ符号化の方法として、ハッシュ値ベースでスクリーンコンテンツに対してフレーム全体の画素の探索は行われているため、スクリーンコンテンツの各々のフレームに対して画素ブロックごとにハッシュ値を計算する必要があり、計算量が非常に大きく、スクリーンコンテンツ符号化の処理効率に影響を与えることを発見した。
【発明の概要】
【発明が解決しようとする課題】
【0005】
本開示の実施例は、冗長なハッシュ計算を減らし、スクリーンコンテンツ符号化の符号化速度を高め、スクリーンコンテンツの符号化処理効率を向上させることができる、スクリーンコンテンツ処理方法、装置及び機器を提供する。
【課題を解決するための手段】
【0006】
第1の態様では、本開示の実施例は、スクリーンコンテンツ処理方法を提供し、前記方法は、
スクリーンコンテンツを複数の領域に分割するステップと、
前記スクリーンコンテンツの現在のフレームの第1の目標領域と前のフレームの第2の目標領域との画素類似度を検出するステップであって、前記第1の目標領域と前記第2の目標領域とはスクリーンコンテンツの互いに対応する領域であるステップと、
前記類似度が第1の検出結果を満たす場合、前記前のフレームの第2の目標領域の画素ハッシュテーブルを前記現在のフレームの第1の目標領域の画素ハッシュテーブルとするステップと、
前記類似度が第2の検出結果を満たす場合、前記現在のフレームの第1の目標領域の画素ハッシュ値を計算して画素ハッシュテーブルを作成するステップと、
前記現在のフレームの第1の目標領域の符号化対象領域の画素ハッシュテーブルに基づいて、参照領域の画素ハッシュテーブルをトラバースし、前記符号化対象領域に対してフレームのイントラブロックコピー処理又はハッシュベース動き探索処理を行い、前記現在のフレームの第1の目標領域のスクリーンコンテンツ処理を完了するステップと、を含む。
【0007】
第2の態様では、本開示の実施例は、スクリーンコンテンツ処理装置を提供し、前記装置は、
スクリーンコンテンツを複数の領域に分割するために用いられる分割モジュールと、
前記スクリーンコンテンツの現在のフレームの第1の目標領域と前のフレームの第2の目標領域との画素類似度を検出するために用いられる判断モジュールであって、前記第1の目標領域と前記第2の目標領域とはスクリーンコンテンツの互いに対応する領域である判断モジュールと、
前記類似度が第1の検出結果を満たす場合、前記前のフレームの第2の目標領域の画素ハッシュテーブルを前記現在のフレームの第1の目標領域の画素ハッシュテーブルとするために用いられる多重化モジュールと、
前記類似度が第2の検出結果を満たす場合、前記現在のフレームの第1の目標領域の画素ハッシュ値を計算して画素ハッシュテーブルを作成するために用いられる計算モジュールと、
前記現在のフレームの第1の目標領域の符号化対象領域の画素ハッシュテーブルに基づいて、参照領域の画素ハッシュテーブルをトラバースし、前記符号化対象領域に対してフレームのイントラブロックコピー処理又はハッシュベース動き探索処理を行い、前記現在のフレームの第1の目標領域のスクリーンコンテンツ処理を完了するために用いられる符号化モジュールと、を含む。
【0008】
第3の態様では、本開示の実施例は、プロセッサとメモリとを含む電子機器を提供し、
前記メモリにはコンピュータ実行命令が記憶されており、
前記プロセッサが前記メモリに記憶されているコンピュータ実行命令を実行すると、前記少なくとも1つのプロセッサが上記の第1の態様及び第1の態様の様々な可能な設計に記載されているスクリーンコンテンツ処理方法を実行する。
【0009】
第4の態様では、本開示の実施例は、コンピュータ可読記憶媒体を提供し、前記コンピュータ可読記憶媒体にはコンピュータ実行命令が記憶されており、プロセッサが前記コンピュータ実行命令を実行するとき、上記の第1の態様及び第1の態様の様々な可能な設計に記載されているスクリーンコンテンツ処理方法が実現される。
【0010】
第5の態様では、本開示の実施例は、コンピュータプログラムを含む、コンピュータプログラム製品を提供し、前記コンピュータプログラムがプロセッサにより実行されるとき、上記の第1の態様及び第1の態様の様々な可能な設計に記載されているスクリーンコンテンツ処理方法が実現される。
【0011】
第6の態様では、本開示の実施例は、コンピュータプログラムを提供し、当該コンピュータプログラムがプロセッサにより実行されるとき、上記の第1の態様及び第1の態様の様々な可能な設計に記載されているスクリーンコンテンツ処理方法が実現される。
【発明の効果】
【0012】
本実施例により提供されるスクリーンコンテンツ処理方法、装置及び機器によれば、本開示の実施例は、現在のフレームのコンテンツをいくつかの領域に分割し、前のフレームと比較してスクリーンコンテンツには明らかな変化がある領域に対しては、再計算してハッシュテーブルを作成し、スクリーンコンテンツが類似する領域に対しては、前のフレームのハッシュテーブルを多重化することにより、冗長なハッシュ計算を減らし、スクリーンコンテンツ符号化の符号化速度を高め、符号化効率を向上させる。
【図面の簡単な説明】
【0013】
以下、本開示の実施例や従来の技術における解決手段をより明瞭に説明するために、実施例又は従来の技術の記述において使用する必要がある図面を簡単に説明する。当然ながら、以下、記載する図面は本開示のいくつかの実施例であり、当業者であれば、創造的な労力を要することなく、これらの図面に基づいて他の図面を想到しうる。
【
図2】本開示の実施例により提供されるスクリーンコンテンツ処理方法のシステムアーキテクチャ概略図である。
【
図3】本開示の実施例により提供されるスクリーンコンテンツ処理方法のフローチャート1である。
【
図4】本開示の実施例により提供されるスクリーンコンテンツ処理方法のフローチャート2である。
【
図5】本開示の実施例により提供されるスクリーンコンテンツ処理装置の構造ブロック図である。
【
図6】本開示の実施例により提供される電子機器のハードウェア構造概略図である。
【発明を実施するための形態】
【0014】
以下、本開示の実施例の目的、技術的解決手段及び利点をより明瞭にするために、本開示の実施例に係る図面を参照しながら、その技術的解決手段について明瞭、且つ完全に説明し、当然ながら、記載される実施例は本開示の実施例の一部にすぎず、そのすべての実施例ではない。当業者は、本開示における実施例に基づいて創造的な労働をすることなく、獲得されたその他のすべての実施例は、いずれも本開示の保護範囲に属する。
【0015】
スクリーンコンテンツの異なるフレームには同じ文字シンボルが多数存在し、しかも、スクリーンコンテンツはノイズがないので、このような異なるフレームの同じ文字シンボルコンテンツのハッシュ値は全く同じである。現在、従来のIBC及びHash MEによるスクリーンコンテンツの符号化中に、スクリーンコンテンツフレーム内の各画素位置に対応するハッシュ値は、ハッシュテーブル(画素位置とハッシュ値との対応関係)の形成のために、必要とされている。
図1を参照すると、
図1は、IBC符号化の原理概略図である。
図1には、現在のスクリーンコンテンツフレームを複数の符号化ユニット101に分割し、各符号化ユニットは複数の画素ブロックを含み、現在のフレームのハッシュテーブル内のすでに再構築された画素領域(
図1の灰色の部分)に基づいて最も一致する参照ブロック102(画素ブロックのうちの1つ)を見つけて、当該参照ブロックの画素に基づいて現在のブロック103の画素値を予測する。そこで、当該参照ブロックの画素に基づいて現在のブロック103の画素値を予測するためには、現在のブロック103から参照ブロック102までのブロックベクトル(Block Vector、BVと略称)を計算する必要があり、BVは画素全体の精度を表す。Hash MEスクリーンコンテンツ符号化の原理は、現在のスクリーンコンテンツフレームを複数の符号化ユニットに分割し、各符号化ユニットは複数の画素ブロックを含み、現在のブロックのハッシュ値に基づいて、参照フレームのハッシュテーブルから最も一致する参照ブロックを見つけて、当該参照ブロックの画素に基づいて現在のブロックの画素値を予測することである。
【0016】
現在、従来のIBC又はHash MEによるスクリーンコンテンツ符号化の方法として、ハッシュ値ベースでスクリーンコンテンツに対してフレーム全体の画素の探索は行われているため、スクリーンコンテンツの各々のフレームに対して画素ブロックごとにハッシュ値を計算する必要があり、計算量が非常に大きく、スクリーンコンテンツ符号化の処理効率に影響を与える。
【0017】
本開示の実施例は、上記の技術的問題を解決するために、スクリーンコンテンツ処理方法を提供し、スクリーンコンテンツを複数の領域に分割して、現在のフレームと前のフレームとの同じ領域における画素類似度を比較する。比較結果は、現在のフレームと前のフレームとの同じ領域における画素が類似する(すなわち、画素の差が小さい)ことである場合、前のフレームの当該領域における画素ハッシュテーブルを直接に現在のフレームの当該領域における画素ハッシュテーブルとする。比較結果は、現在のフレームと前のフレームとの同じ領域における画素が類似しない(すなわち、画素の差が大きい)ことである場合、現在のフレームの当該領域における画素ハッシュテーブルを計算する必要がある。現在のフレームの当該領域に対して、当該領域の符号化対象領域の画素ハッシュテーブルに基づいて参照領域の画素ハッシュテーブルをトラバースし、当該領域の符号化対象領域に対してフレームのイントラブロックコピー処理又はハッシュベース動き探索処理を行い、現在のフレームの前記目標領域の処理を完了する。1つのフレームのスクリーンコンテンツをいくつかの領域に分割し、前のフレームと比較してスクリーンコンテンツには明らかな変化がある領域に対しては、ハッシュテーブルを再作成し、スクリーンコンテンツが類似する領域に対しては、前のフレームのハッシュテーブルを多重化し、冗長なハッシュ計算を減らし、スクリーンコンテンツ符号化の処理速度を高め、スクリーンコンテンツの符号化効率を向上させる。
【0018】
図2を参照すると、
図2は、本開示の実施例により提供されるスクリーンコンテンツ処理方法のシステムアーキテクチャ概略図である。
図2に示すように、本実施例により提供されるシステムは表示端末201及びサーバ端末202を含む。表示端末201は、携帯電話、タブレットコンピュータ、及びパーソナルコンピュータなどのデバイスにインストールされ得る。本実施例は、表示端末201ではユーザと入出力のインタラクションができれば、当該表示端末201の実現形態を特に限定しない。表示端末は、スクリーン内筒を表示するための表示インタフェースを有する。サーバ端末202は、1台のサーバ端末又は複数台のサーバ端末からなるクラスタであってもよい。
【0019】
当該表示端末は、無線端末であってもよいし、有線端末であってもよい。無線端末は、音声及び/又は他のサービスデータ接続をユーザに提供するデバイス、無線接続機能を有するハンドヘルドデバイス、または、無線モデムに接続された他の処理デバイスとすることができる。無線端末は、無線アクセスネットワーク(Radio Access Network、RANと略称)を介して1つ又は複数のコアネットワークデバイスと通信することができ、無線端末は、携帯型電話(「セルラ」電話とも呼ばれる)及び移動端末を備えるコンピュータなどの移動端末とすることができ、無線端末は、例えば、ポータブル移動装置、ポケットサイズ移動装置、ハンドヘルド移動装置、コンピュータ内蔵移動装置、または、車載移動装置であってもよく、それらの装置は、無線アクセスネットワークと言語及び/又はデータを交換する。また、例えば、無線端末は、パーソナルコミュニケーションサービス(Personal Communication Service、PCSと略称)電話、コードレス電話、セッション開始プロトコル(Session Initiation Protocol、SIPと略称)電話機、ワイヤレスローカルループ(Wireless Local Loop、WLLと略称)ステーション、パーソナルデジタルアシスタント(Personal Digital Assistant、PDAと略称)等のデバイスであってもよい。無線端末は、システム、加入者ユニット(Subscriber Unit)、加入者ステーション(Subscriber Station)、移動ステーション(Mobile Station)、移動局(Mobile)、リモートステーション(Remote Station)、リモート端末(Remote Terminal)、アクセス端末(Access Terminal)、ユーザ端末(User Terminal)、ユーザエージェント(User Agent)、ユーザ機器(User Device or User Equipment)と呼ばれてもよく、本明細書では限定されない。選択的には、上記の表示端末は、さらに、スマートウォッチ、タブレットコンピュータ、パーソナルコンピュータなどのデバイスであってもよい。
【0020】
選択的には、本開示の実施例により提供されるスクリーンコンテンツ処理方法は、会議ビデオのシーンに適用され得る。具体的には、上記の端末又はサーバ端末にはエンコーダが配置され、当該エンコーダはH265エンコーダであってもよい。端末又はサーバ端末のエンコーダは、本開示の実施例により提供されるスクリーンコンテンツ処理方法を利用して、会議ビデオコンテンツに対して符号化処理を行い、現在のフレームの会議ビデオコンテンツをいくつかの領域に分割し、前のフレームの会議ビデオコンテンツと比較して明らかな変化がある領域に対しては、ハッシュテーブルを再作成し、スクリーンコンテンツが類似する領域に対しては、前のフレームのハッシュテーブルを多重化することにより、冗長なハッシュ計算を減らし、スクリーンコンテンツ符号化の符号化速度を高め、会議ビデオコンテンツの符号化効率を向上させる。
【0021】
なお、本開示の実施例に係るスクリーンコンテンツは、上記の会議ビデオのほかに、デスクトップリモートコラボレーション、クラウドゲーム、第2のスクリーン、デスクトップ共有、オンライン教育などのディスプレイコンテンツであってもよい。
【0022】
図3を参照すると、
図3は、本開示の実施例により提供されるスクリーンコンテンツ処理方法のフローチャート1である。本実施例に係る方法は、
図2に示される表示端末又はサーバ端末に適用されることができ、本開示はこの点に関しては何ら制限を課すものではなく、当該スクリーンコンテンツ処理方法は、以下のステップを含む。
【0023】
S301では、スクリーンコンテンツを複数の領域に分割する。
【0024】
選択的には、本開示の実施例では、スクリーンコンテンツは、スクリーンビデオコンテンツであってもよいし、スクリーン画像コンテンツであってもよい。スクリーンコンテンツは、ゼロノイズで、且つ重複する図形文字が多いのが特徴である。
【0025】
本開示の1つの実施例では、複数の領域は、複数の矩形領域であってもよく、当該複数の矩形領域は、等距離ルールに従って分割されたものであってもよいし、不規則に分割されたものであってもよい。
【0026】
S302では、前記スクリーンコンテンツの現在のフレームの第1の目標領域と前のフレームの第2の目標領域との画素類似度を検出し、前記第1の目標領域と前記第2の目標領域とはスクリーンコンテンツの互いに対応する領域である。
【0027】
第1の目標領域は、上記の複数の領域のうちのいずれかであってもよく、前のフレームは、現在のフレームより1つ前のフレームであってもよい。第1の目標領域と前記第2の目標領域とはスクリーンコンテンツの互いに対応する領域であることは、第1の目標領域と第2の目標領域とは現在のフレームと前のフレームとのスクリーンコンテンツにおいて同じ位置の領域であることを意味する。
【0028】
選択的には、本開示の実施例では、スクリーンコンテンツの現在のフレームでの第1の目標領域の画素値とスクリーンコンテンツの前のフレームでの第2の目標領域の画素値とに基づいて、スクリーンコンテンツの現在のフレームの第1の目標領域とスクリーンコンテンツの前のフレームの第2の目標領域との画素類似度を決定する。
【0029】
具体的には、前記現在のフレームの第1の目標領域の画素値と前記前のフレームの第2の目標領域の画素値とを取得し、
前記現在のフレームの第1の目標領域の画素値と前のフレームの第2の目標領域の画素値とに基づき、プリセットアルゴリズムに従って前記現在のフレームの第1の目標領域の画素と前のフレームの第2の目標領域の画素との類似度を計算する。
【0030】
選択的には、本開示の実施例では、プリセットアルゴリズムは、現在のフレームの第1の目標領域の各画素位置の画素値と前のフレームの第2の目標領域の画素位置の画素値とを計算対象とする。
【0031】
プリセットアルゴリズムは、絶対誤差和(Sum of Absolute Difference、SADと略称)、時間領域を周波数領域に変換して絶対値を加算する(Sum of Absolute Transformed Difference、SATDと略称)アルゴリズム、及び二乗和誤差(Sum of Squared Error、SSEと略称)のうちの少なくとも1つを含む。
【0032】
S303では、前記類似度が第1の検出結果を満たす場合、前記前のフレームの第2の目標領域の画素ハッシュテーブルを前記現在のフレームの第1の目標領域の画素ハッシュテーブルとする。
【0033】
具体的には、前記類似度が第1の検出結果を満たすことは、前記類似度が設定された類似度しきい値より大きいことである。
【0034】
選択的には、本開示の実施例では、類似度しきい値は、スクリーンコンテンツのタイプに応じて選択して設定することができる。例えば、スクリーンコンテンツのタイプは、テキストコンテンツ及びピクチャコンテンツを含むが、それらに限定されない。
【0035】
具体的には、前記前のフレームの第2の目標領域の画素ハッシュテーブルを前記現在のフレームの第1の目標領域の画素ハッシュテーブルとするステップは、前記前のフレームの第2の目標領域の画素ハッシュテーブルのポインタコンテンツをコピーするステップとすることができる。
【0036】
S304では、前記類似度が第2の検出結果を満たす場合、前記現在のフレームの第1の目標領域の画素ハッシュ値を計算して画素ハッシュテーブルを作成する。
【0037】
具体的には、前記類似度が第2の検出結果を満たすことは、前記類似度が設定された類似度しきい値以下であることである。
【0038】
選択的には、本開示の実施例では、前記現在のフレームの第1の目標領域の各画素位置の対応するハッシュ値を計算し、前記現在のフレームの第1の目標領域の各画素位置のハッシュ値をkey値として、画素位置をvalue値として用いて、前記画素ハッシュテーブルを作成する。
【0039】
具体的には、前記現在のフレームの第1の目標領域の各画素位置の画素ハッシュ値を計算して画素ハッシュテーブルを作成するステップは、現在のフレームの第1の目標領域の各画素位置での左上隅にある8×8の画素ブロックのハッシュ値を計算し、当該ハッシュ値をkey値として、画素位置をvalue値として用いて、画素ハッシュテーブルを作成するステップを含む。同じハッシュ値の画素ノードは1つのハッシュチェーンテーブルを形成する。
【0040】
S305では、前記現在のフレームの第1の目標領域の画素ハッシュテーブルに基づいて参照領域の画素ハッシュテーブルをトラバースし、前記現在のフレームの第1の目標領域の符号化対象領域に対してフレームのイントラブロックコピー処理又はハッシュベース動き探索処理を行い、現在のフレームの前記目標領域の処理を完了する。
【0041】
選択的には、本開示の実施例では、参照領域は、現在のフレームの参照領域であってもよいし、参照フレームの参照領域であってもよく、参照フレームは現在のフレームよりも前のいずれのフレームであってもよい。符号化対象領域は、第1の目標領域のうちのいずれの符号化対象サブ領域であってもよいし、目標領域全体であってもよい。
【0042】
前記現在のフレームの第1の目標領域の符号化対象領域に対してフレームのイントラブロックコピー処理又はハッシュベース動き探索処理を行うステップは、符号化側に適用されてもよいし、復号化側に適用されてもよい。具体的には、前記現在のフレームの第1の目標領域の符号化対象領域に対してフレームのイントラブロックコピー符号化又はハッシュベース動き探索符号化を行うようにしてもよいし、前記現在のフレームの第1の目標領域の符号化対象領域に対してフレームのイントラブロックコピー復号化又はハッシュベース動き探索復号化を行うようにしてもよい。
【0043】
前記現在のフレームの第1の目標領域の符号化対象領域の画素ハッシュテーブルに基づいて、参照領域の画素ハッシュテーブルをトラバースし、符号化対象領域に対してフレームのイントラブロックコピー符号化を行うステップは、符号化対象領域の画素ハッシュテーブルに基づいて、参照領域の画素ハッシュテーブルをトラバースして同じkey値(ハッシュ値)を有する画素ノードを探し、すべての同じ画素ノードは1つのハッシュチェーンテーブルを構成し、チェーンテーブルにおける各画素ノードの画素位置のスクリーンコンテンツは符号化対象領域のスクリーンコンテンツとは全く一致し、レート歪みコスト(rate-distortion cost)に応じてチェーンテーブルからレート歪みコストが最も小さい参照ブロックの画素を符号化対象領域の参照画素として選択し、参照ブロックの参照画素に基づいて動き補償を行い、符号化対象領域の画素、すなわち、符号化領域のスクリーンコンテンツを得て、現在のフレームの第1の目標領域の符号化を完了するステップを含む。
【0044】
ハッシュベース動き探索符号化は、フレームのイントラブロックコピー符号化の原理に類似することを理解できる。その相違点は、フレームのイントラブロックコピー符号化が、現在のフレームのハッシュテーブルに基づいて最も一致する参照ブロックを見つけ、当該参照ブロックの画素に基づいて現在のブロックの画素値を予測することである。Hash MEスクリーンコンテンツ符号化は、現在のブロックのハッシュ値に基づいて、参照フレーム(参照フレームは現在のフレームよりも前のいずれのフレームであってもよい)のハッシュテーブルから最も一致する参照ブロックを見つけ、当該参照ブロックの画素に基づいて現在のブロックの画素値を予測することである。
【0045】
上記の説明からわかるように、本実施例は、現在のフレームのコンテンツをいくつかの領域に分割し、前のフレームと比較してコンテンツには明らかな変化がある領域に対しては、再計算してハッシュテーブルを作成し、コンテンツには変化がない領域に対しては、前のフレームのハッシュテーブルを多重化することにより、冗長なハッシュ計算を減らし、スクリーンコンテンツ符号化の符号化速度を高め、符号化効率を向上させる。
【0046】
図4を参照すると、
図4は、本開示の実施例により提供されるスクリーンコンテンツ処理方法のフローチャート2である。本実施例では、主に上記のステップS305における、前記現在のフレームの第1の目標領域の符号化対象領域の画素ハッシュテーブルに基づいて、参照領域の画素ハッシュテーブルをトラバースし、前記符号化対象領域に対してフレームのイントラブロックコピー処理又はハッシュベース動き探索処理を行い、前記現在のフレームの第1の目標領域のスクリーンコンテンツ処理を完了するステップの具体的なプロセスについて詳細に説明し、その具体的なプロセスは、以下のステップを含む。
【0047】
S401では、前記現在のフレームの第1の目標領域の符号化対象領域の画素ハッシュテーブルに基づいて、前記符号化対象領域に近い順に、前記参照領域の画素ハッシュテーブルをトラバースし、目標参照ブロックを得る。
【0048】
当該符号化対象領域を中心に、当該中心に近い範囲から遠い範囲に沿って、前記参照領域をトラバースし、前記符号化対象領域の画素ハッシュテーブルでのハッシュ値と同じ値の参照ブロックを目標参照ブロックとして探す。
【0049】
例えば、まず、当該中心のすぐ隣にある参照領域において探し、次に、当該中心から1つの領域(又は参照ブロック)離れた参照領域において探し、そして、当該中心から2つの領域(又は参照ブロック)離れた参照領域において探し、これによって類推する。
【0050】
S402では、目標参照ブロックに基づいて、前記現在のフレームの第1の目標領域の符号化対象領域に対してフレームのイントラブロックコピー処理又はハッシュベース動き探索処理を行う。
【0051】
選択的には、本開示の実施例では、目標参照ブロックは存在する場合、目標参照ブロックの画素を参照画素として符号化対象領域に対して画素符号化を行う。目標参照ブロックは存在しない場合、通常の画素符号化を行う。
【0052】
従来の技術において、スクリーンコンテンツの現在のフレームのハッシュテーブルを作成することは一般的であり、テーブル作成の順序は、符号化ユニット(Coding Tree Unit、CTUと略称)によるZ形走査の順序(zscan-order)に従って、符号化中に優先的に参照される参照ブロックは符号化対象サブ領域から比較的遠く離れており、比較的長い動きベクトル(符号化対象サブ領域と参照ブロックとの間の動きベクトル)を計算する必要があり、占有するビット数が比較的大きく、符号化品質が比較的低い。本実施例では、前記符号化対象領域に近い順に、前記参照領域をトラバースし、符号化対象領域により近い参照ブロックを目標参照ブロックとすることを確保し、動きベクトル(Motion Vector、MVと略称)が占有するビット数を節約し、符号化品質を向上させることができる。
【0053】
上記の説明からわかるように、本開示の実施例は、前記符号化対象領域に近い順に前記参照領域をトラバースすることにより、符号化対象領域により近い参照ブロックを目標参照ブロックとすることを確保でき、動きベクトルを計算するために占有するビット数を節約でき、符号化品質を向上させる。本開示の実施例では前記参照領域を近から遠への順にトラバースし、そして、フレームのイントラブロックコピー符号化又はハッシュベース動き探索符号化を行うことにより、ビデオ符号化品質-3%符号化品質評価指標(Bjoentegaard delta bit rate、BDBRと略称)を改善することができることがデータにより実証される。BDBRは、同じ客観的品質では、より優れた符号化方法によって節約できるビットレートの割合を表し、BDBRが小さいほど、現在のエンコーダの圧縮性能が優れていることを意味する。
【0054】
本開示の1つの実施例では、前記現在のフレームの第1の目標領域の符号化対象領域の画素ハッシュテーブルに基づいて、参照領域の画素ハッシュテーブルをトラバースし、前記符号化対象領域に対してフレームのイントラブロックコピー処理又はハッシュベース動き探索処理を行い、前記現在のフレームの第1の目標領域のスクリーンコンテンツ処理を完了するステップの後に、前記方法は、さらに、
前記第1の目標領域は前記スクリーンコンテンツが分割されて得た複数の領域の最後の領域であるかどうかを判断し、そうである場合、前記スクリーンコンテンツの現在のフレームの処理を完了し、そうでない場合、前記スクリーンコンテンツの前記現在のフレームの第1の目標領域の次の領域と前のフレームの同じ領域との画素類似度を検出するステップを引き続き実行するステップを含む。
【0055】
選択的には、本開示の実施例では、スクリーンコンテンツを複数の領域に分割するとき、各領域に符号化の順に識別子を設定してもよく、当該識別子に基づいて各領域の符号化順序を判明することができ、同様に、各領域の識別子に基づいて当該領域が複数の領域の最後の領域であるかどうかを判明することができる。
【0056】
上記の説明からわかるように、本実施例は、分割される複数の領域に基づいて、各領域の符号化又は復号化の処理を順次行い、スクリーンコンテンツ全体の処理を実現することができる。
【0057】
本開示の1つの実施例では、ステップS301には、スクリーンコンテンツを複数の領域に分割するステップは、
前記スクリーンコンテンツをN(長)×N(高)個の矩形領域に分割するステップを含み、Nが正の整数である。本開示の実施例では、Nの数値は、スクリーンコンテンツのサイズに応じて分割され得る。各領域のサイズは、長さ及び高さがそれぞれ、スクリーンコンテンツの長さとNとの比の値及びスクリーンコンテンツの高さとNとの比の値である。
【0058】
選択的には、Nは2~8の値をとることができる。
【0059】
Nは2~8の値をとり、画像グループ(Group of Pictures、GOPと略称)構造の典型的なテストシーケンスを採用してテストを行い、従来の符号化方法と比較した。テスト結果は下記の表に示される。
【0060】
【0061】
Nは4であるとき、IPPPのGOP構造のテストシーケンスを採用すると、符号化時間を7.36%減らすとともに、符号化品質-0.28%BDBRを改善することができ、全体的な效果が最も優れていることがデータにより実証される。
【0062】
上記の説明からわかるように、等しい形状及びサイズの矩形領域に分割することにより、符号化時間を短縮し、符号化の圧縮効率を向上させることができる。
【0063】
本開示の1つの実施例では、ステップS301よりも前に、前記方法は、さらに、前記第1の目標領域のサイズに基づいて前記類似度しきい値を決定する。
【0064】
選択的には、本開示の実施例では、類似度しきい値は、第1の目標領域のサイズと正の相関を有するように設定され得る。第1の目標領域のサイズは大きいほど、類似度しきい値は大きくなり、第1の目標領域のサイズは小さいほど、類似度しきい値は小さくなる。すなわち、第1の目標領域は大きいほど、許容される類似度しきい値の誤差範囲は大きくなる。
【0065】
上記の説明からわかるように、第1の目標領域のサイズに基づいて類似度しきい値を決定することにより、スクリーンコンテンツの現在のフレームの第1の目標領域が前のフレームの第2の目標領域のコンテンツに類似するかどうかを正確に判断し、モニターリングの正確さを向上させることができる。
【0066】
上記の実施例に係るスクリーンコンテンツ処理方法に対応して、
図5は、本開示の実施例により提供されるスクリーンコンテンツ処理装置の構造ブロック図である。説明の便宜上、本開示の実施例に関連する部分のみを示している。
図5を参照すると、前記装置は、分割モジュール501、判断モジュール502、多重化モジュール503、計算モジュール504、及び符号化モジュール505を含む。
【0067】
分割モジュール501は、スクリーンコンテンツを複数の領域に分割するために用いられ、
判断モジュール502は、前記スクリーンコンテンツの現在のフレームの第1の目標領域と前のフレームの第2の目標領域との画素類似度を検出するために用いられ、前記第1の目標領域と前記第2の目標領域とはスクリーンコンテンツの互いに対応する領域であり、
多重化モジュール503は、前記類似度が第1の検出結果を満たす場合、前記前のフレームの第2の目標領域の画素ハッシュテーブルを前記現在のフレームの第1の目標領域の画素ハッシュテーブルとするために用いられ、
計算モジュール504は、前記類似度が第2の検出結果を満たす場合、前記現在のフレームの第1の目標領域の画素ハッシュ値を計算して画素ハッシュテーブルを作成するために用いられ、
符号化モジュール505は、前記現在のフレームの第1の目標領域の符号化対象領域の画素ハッシュテーブルに基づいて、参照領域の画素ハッシュテーブルをトラバースし、前記符号化対象領域に対してフレームのイントラブロックコピー処理又はハッシュベース動き探索処理を行い、前記現在のフレームの第1の目標領域のスクリーンコンテンツ処理を完了するために用いられる。
【0068】
本開示の1つ又は複数の実施例によれば、前記判断モジュール502は、具体的に、前記現在のフレームの第1の目標領域の画素値と前記前のフレームの第2の目標領域の画素値とを取得すること、及び、前記現在のフレームの第1の目標領域の画素値と前記前のフレームの第2の目標領域の画素値とに基づき、プリセットアルゴリズムに従って前記現在のフレームの第1の目標領域の画素と前記前のフレームの第2の目標領域の画素との類似度を計算すること、に用いられる。
【0069】
本開示の1つ又は複数の実施例によれば、前記プリセットアルゴリズムは、絶対誤差和、時間領域を周波数領域に変換して絶対値を加算するアルゴリズム、及び二乗和誤差のうちの少なくとも1つを含む。
【0070】
本開示の1つ又は複数の実施例によれば、前記符号化モジュール505は、具体的に、前記現在のフレームの第1の目標領域の符号化対象領域の画素ハッシュテーブルに基づいて、前記符号化対象領域に近い順に、前記参照領域の画素ハッシュテーブルをトラバースし、目標参照ブロックを得ること、及び、前記目標参照ブロックに基づいて、前記現在のフレームの第1の目標領域の符号化対象領域に対してフレームのイントラブロックコピー処理又はハッシュベース動き探索処理を行うこと、に用いられる。
【0071】
本開示の1つ又は複数の実施例によれば、前記判断モジュール502は、さらに、前記第1の目標領域は前記スクリーンコンテンツが分割されて得た複数の領域の最後の領域であるかどうかを判断し、そうである場合、前記スクリーンコンテンツの現在のフレームの処理を完了し、そうでない場合、前記スクリーンコンテンツの前記現在のフレームの第1の目標領域の次の領域と前のフレームの同じ領域との画素類似度を検出するステップを引き続き実行すること、に用いられる。
【0072】
本開示の1つ又は複数の実施例によれば、前記計算モジュール504は、具体的に、前記現在のフレームの第1の目標領域の各画素位置の対応するハッシュ値を計算すること、及び、前記現在のフレームの第1の目標領域の各画素位置のハッシュ値をkey値として、画素位置をvalue値として用いて、前記画素ハッシュテーブルを作成すること、に用いられる。
【0073】
本開示の1つ又は複数の実施例によれば、前記分割モジュール501は、具体的に、前記スクリーンコンテンツをN×N個の矩形領域に分割するために用いられ、Nが正の整数である。
【0074】
本開示の1つ又は複数の実施例によれば、前記装置は、さらに、前記第1の目標領域のサイズに基づいて前記類似度しきい値を決定するために用いられるしきい値決定モジュール506を含む。
【0075】
本実施例により提供される装置は、上記の方法の実施例に係る解決手段を実行するために使用されることができ、その実現原理及び技術的効果が類似するため、本実施例はここで繰り返して説明しない。
【0076】
上記の実施例を実現するために、本開示の実施例は、さらに、電子機器を提供する。
【0077】
図6を参照すると、
図6は、本開示の実施例を実現するために適した電子機器600の構造概略図を示しており、当該電子機器600は、表示端末機器又はサーバにすることができる。表示端末機器は、携帯電話、ノートブックコンピュータ、デジタル放送受信機、パーソナルデジタルアシスタント(Personal Digital Assistant、PDAと略称)、タブレットコンピュータ(Portable Android Device、PADと略称)、携帯型マルチメディアプレーヤー(Portable Media Player、PMPと略称)、車載表示端末(例えば、車載ナビゲーション表示端末)などの移動表示端末、及びデジタルTV、デスクトップコンピュータなどの固定表示端末を含むことができるが、それらに限定されない。
図6に示される電子機器は単なる一例であり、本開示の実施例の機能及び使用範囲にいかなる制限も課すべきでない。
【0078】
図6に示すように、電子機器600は、処理装置(中央処理装置やグラフィックプロセッサなど)601を含むことができ、当該処理装置は、読み取り専用メモリ(Read Only Memory、ROMと略称)602に記憶されたプログラムまたは記憶装置608からランダムアクセスメモリ(Random Access Memory、RAMと略称)603にロードされたプログラムに従って、さまざまな適切な動作及び処理を実行することができる。RAM603には、電子機器600の操作に必要なさまざまなプログラム及びデータも記憶されている。処理装置601、ROM602及びRAM603は、バス604を介して互いに接続されている。入力/出力(Input/Output、I/Oと略称)インタフェース605もバス604に接続されている。
【0079】
通常、タッチスクリーン、タッチパッド、キーボード、マウス、カメラ、マイクロフォン、加速度計、ジャイロスコープなどを含む入力装置606と、液晶ディスプレイ(Liquid Crystal Display、LCDと略称)、スピーカー、バイブレータなどを含む出力装置607と、磁気テープやハードディスクなどを含む記憶装置608と、通信装置609とは、I/Oインタフェース605に接続されることができる。通信装置609は、電子機器600が他のデバイスと無線又は有線で通信してデータを交換することを可能にし得る。
図6は、さまざまなデバイスを備える電子機器600を示すが、図示されたデバイスのすべてが実施又は配置される必要があるわけではないことを理解すべきである。代替的に、より多くの又は少ないデバイスが実施又は配置され得る。
【0080】
特に、本開示の実施例によれば、フローチャートを参照して説明されている上記のプロセスは、コンピュータソフトウェアプログラムとして実施されることができる。例えば、本開示の実施例は、コンピュータ可読媒体に搭載されているコンピュータプログラムを含むコンピュータプログラム製品を含み、当該コンピュータプログラムがフローチャートに示される方法を実行するためのプログラムコードを含む。このような実施例では、当該コンピュータプログラムは、通信装置609を介してネットワークからダウンロード及びインストールされるか、または記憶装置608からインストールされるか、またはROM602からインストールされることができる。当該コンピュータプログラムは、処理装置601により実行されると、本開示の実施例に係る方法で限定されている上記の機能は実行される。
【0081】
なお、本開示に記載されたコンピュータ可読媒体は、コンピュータ可読信号媒体又はコンピュータ可読記憶媒体又は上記2つの任意の組み合わせであり得る。コンピュータ可読記憶媒体は、例えば、電気的、磁気的、光学的、電磁的、赤外線、又は半導体のシステム、装置又はデバイス、あるいは上記の任意の組み合わせにすることができるが、それらに限定されない。コンピュータ可読記憶媒体のより具体的な例として、1本又は複数のワイヤを有する電気的接続、ポータブルコンピュータディスク、ハードディスク、ランダムアクセスメモリ(RAM)、読み取り専用メモリ(ROM)、消去可能プログラマブル読み取り専用メモリ(Electrically Programmable Read-Only Memory、EPROM又はフラッシュメモリと略称)、光ファイバ、ポータブルコンパクトディスク読み取り専用メモリ(Compact Disc Read-Only Memory、CD-ROMと略称)、光ストレージデバイス、磁気メモリコンポーネント、または上記の任意の適切な組み合わせを含み得るが、それらに限定されない。本開示では、コンピュータ可読記憶媒体は、命令実行システム、装置、またはデバイスによって使用されるか、またはそれらに組み合わせて使用できるプログラムを含む又は記憶する任意の有形媒体であり得る。本開示では、コンピュータ可読信号媒体は、ベースバンドで、または搬送波の一部として伝播されるデータ信号を含むことができ、その中にコンピュータ可読プログラムコードが搭載されている。このような伝播されたデータ信号は、電磁信号、光信号、または上記の任意の適切な組み合わせを含むがそれらに限定されない多くの形をとることができる。コンピュータ可読信号媒体は、さらに、コンピュータ可読記憶媒体以外の任意のコンピュータ可読媒体にすることができ、当該コンピュータ可読信号媒体は、命令実行システム、装置、またはデバイスによって使用されるか、またはそれらに組み合わせて使用するためのプログラムを送信、伝播、または伝送することができる。コンピュータ可読媒体に含まれたプログラムコードは、電線、光ファイバケーブル、無線周波数(Radio Frequency、RFと略称)などを含むがそれらに限定されない任意の適切な媒体、または上記の任意の適切な組み合わせを使用して伝送することができる。
【0082】
上記のコンピュータ可読媒体は、上記の電子機器に含まれていてもよく、または当該電子機器に組み立てられずに単独で存在していてもよい。
【0083】
上記のコンピュータ可読媒体には、1つ又は複数のコンピュータプログラムが搭載されており、上記の1つ又は複数のコンピュータプログラムは当該電子機器により実行されると、当該電子機器は、上記の実施例に示される方法を実行する。
【0084】
本開示の操作を実行するためのコンピュータプログラムコードは、Java(登録商標)、Smalltalk(登録商標)、C++などのオブジェクト指向プログラミング言語と、「C」言語又はそれに類似するプログラミング言語などの従来の手続き型プログラミング言語と、を含む1つ又は複数のプログラミング言語、あるいはそれらの組み合わせで書くことができる。プログラムコードは、完全にユーザのコンピュータ上で、一部はユーザのコンピュータ上で、スタンドアロンソフトウェアパッケージとして、一部はユーザのコンピュータ上で、一部はリモートコンピュータ上で、または完全にリモートコンピュータ又はサーバ上で実行できる。リモートコンピュータの場合、リモートコンピュータは、ローカルエリアネットワーク(Local Area Network、LANと略称)やワイドエリアネットワーク(Wide Area Network、WANと略称)など、あらゆる種類のネットワークを介してユーザのコンピュータに接続されることができ、もしくは、外部コンピュータに接続されることもできる(例えば、インターネットサービスプロバイダーを使用してインターネット経由で接続する)。
【0085】
図面のフローチャート及びブロック図は、本開示の様々な実施例によるシステム、方法、及びコンピュータプログラム製品によって実現可能なアーキテクチャ、機能、及び操作を示している。これに関して、フローチャート又はブロック図の各ブロックは、指定される論理的機能を実現するための1つ又は複数の実行可能な命令を含むモジュール、グログラムセグメント、又はコードの一部を表すことができる。いくつかの代替の実現では、ブロックに示されている機能は、図に示されている順序と異なる順序で実行できることにも注意すべきである。例えば、連結して表示される2つのブロックは、実際には、基本的に並行して実行できるが、または、関連する機能に応じて、ブロックが逆の順序で実行される場合もある。なお、ブロック図及び/又はフローチャートの各ブロック、及びブロック図及び/又はフローチャートのブロックの組み合わせは、指定される機能又は操作を実行する専用のハードウェアベースのシステムを使用して実現することができ、または、専用のハードウェアとコンピュータ命令の組み合わせを使用して実現することもできる。
【0086】
本開示の実施例に記載されたユニットは、ソフトウェアで実現することができ、またはハードウェアで実現することもできる。これらのユニットの名称は、特定の状況下でのユニット自体を制限する目的ではない場合があり、例えば、第1の取得ユニットは、「少なくとも2つのインターネットプロトコルアドレスを取得するユニット」と記載してもよい。
【0087】
本明細書で上記に説明された機能は、少なくとも部分的に、1つ又は複数のハードウェアロジックコンポーネントによって実行され得る。例えば、使用できるハードウェアロジックコンポーネントの例示的なタイプとして、フィールドプログラマブルゲートアレイ(Field Programmable Gate Array、FPGAと略称)、特定用途向け集積回路(Application Specific Integrated Circuit、ASICと略称)、特定用途向け標準部品(Application Specific Standard Product、ASSPと略称)、システムオンチップ(System on chip、SOCと略称)、複雑なプログラマブルロジックデバイス(Complex Programmable Logic Device、CPLDと略称)などを含むことができるが、それらに限定されない。
【0088】
本開示のコンテキストでは、コンピュータ可読媒体は、命令実行システム、装置、またはデバイスによって使用されるか、またはそれらに組み合わせて使用できるプログラムを含む又は記憶する有形媒体であり得る。コンピュータ可読媒体は、コンピュータ可読信号媒体又はコンピュータ可読記憶媒体であり得る。コンピュータ可読媒体は、電気的、磁気的、光学的、電磁的、赤外線、又は半導体のシステム、装置又はデバイス、あるいは上記の任意の組み合わせにすることができるが、それらに限定されない。コンピュータ可読記憶媒体のより具体的な例として、1本又は複数のワイヤに基づく電気的接続、ポータブルコンピュータディスク、ハードディスク、ランダムアクセスメモリ(RAM)、読み取り専用メモリ(ROM)、消去可能プログラマブル読み取り専用メモリ(EPROM又はフラッシュメモリ)、光ファイバ、ポータブルコンパクトディスク読み取り専用メモリ(CD-ROM)、光ストレージデバイス、磁気メモリコンポーネント、または上記の任意の適切な組み合わせを含み得る。
【0089】
第1の態様では、本開示の1つ又は複数の実施例によれば、スクリーンコンテンツ処理方法を提供し、前記方法は、
スクリーンコンテンツを複数の領域に分割するステップと、
前記スクリーンコンテンツの現在のフレームの第1の目標領域と前のフレームの第2の目標領域との画素類似度を検出するステップであって、前記第1の目標領域と前記第2の目標領域とはスクリーンコンテンツの互いに対応する領域であるステップと、
前記類似度が第1の検出結果を満たす場合、前記前のフレームの第2の目標領域の画素ハッシュテーブルを前記現在のフレームの第1の目標領域の画素ハッシュテーブルとするステップと、
前記類似度が第2の検出結果を満たす場合、前記現在のフレームの第1の目標領域の画素ハッシュ値を計算して画素ハッシュテーブルを作成するステップと、
前記現在のフレームの第1の目標領域の符号化対象領域の画素ハッシュテーブルに基づいて、参照領域の画素ハッシュテーブルをトラバースし、前記符号化対象領域に対してフレームのイントラブロックコピー処理又はハッシュベース動き探索処理を行うステップと、を含む。
【0090】
本開示の1つ又は複数の実施例によれば、前記スクリーンコンテンツの現在のフレームの第1の目標領域と前のフレームの第2の目標領域との画素類似度を検出するステップは、
前記現在のフレームの第1の目標領域の画素値と前記前のフレームの第2の目標領域の画素値とを取得するステップと、
前記現在のフレームの第1の目標領域の画素値と前記前のフレームの第2の目標領域の画素値とに基づき、プリセットアルゴリズムに従って前記現在のフレームの第1の目標領域の画素と前記前のフレームの第2の目標領域の画素との類似度を計算するステップと、を含む。
【0091】
本開示の1つ又は複数の実施例によれば、前記プリセットアルゴリズムは、絶対誤差和、時間領域を周波数領域に変換して絶対値を加算するアルゴリズム、及び二乗和誤差のうちの少なくとも1つを含む。
【0092】
本開示の1つ又は複数の実施例によれば、前記現在のフレームの第1の目標領域の符号化対象領域の画素ハッシュテーブルに基づいて、参照領域の画素ハッシュテーブルをトラバースし、前記符号化対象領域に対してフレームのイントラブロックコピー処理又はハッシュベース動き探索処理を行うステップは、
前記現在のフレームの第1の目標領域の符号化対象領域の画素ハッシュテーブルに基づいて、前記符号化対象領域に近い順に、前記参照領域の画素ハッシュテーブルをトラバースし、目標参照ブロックを得るステップと、
前記目標参照ブロックに基づいて、前記現在のフレームの第1の目標領域の符号化対象領域に対してフレームのイントラブロックコピー処理又はハッシュベース動き探索処理を行うステップと、を含む。
【0093】
本開示の1つ又は複数の実施例によれば、前記現在のフレームの第1の目標領域の符号化対象領域の画素ハッシュテーブルに基づいて、参照領域の画素ハッシュテーブルをトラバースし、前記符号化対象領域に対してフレームのイントラブロックコピー処理又はハッシュベース動き探索処理を行うステップの後に、前記方法は、さらに、
前記第1の目標領域は前記スクリーンコンテンツが分割されて得た複数の領域の最後の領域であるかどうかを判断し、そうである場合、前記スクリーンコンテンツの現在のフレームの処理を完了し、そうでない場合、前記スクリーンコンテンツの前記現在のフレームの第1の目標領域の次の領域と前のフレームの同じ領域との画素類似度を検出するステップを引き続き実行するステップ、を含む。
【0094】
本開示の1つ又は複数の実施例によれば、前記現在のフレームの第1の目標領域の画素ハッシュ値を計算して画素ハッシュテーブルを作成するステップは、前記現在のフレームの第1の目標領域の各画素位置の対応するハッシュ値を計算するステップと、前記現在のフレームの第1の目標領域の各画素位置のハッシュ値をkey値として、画素位置をvalue値として用いて、前記画素ハッシュテーブルを作成するステップと、を含む。
【0095】
本開示の1つ又は複数の実施例によれば、前記類似度が第1の検出結果を満たすことは、前記類似度が設定された類似度しきい値より大きいことであり、前記類似度が第2の検出結果を満たすことは、前記類似度が設定された類似度しきい値以下である。
【0096】
本開示の1つ又は複数の実施例によれば、スクリーンコンテンツを複数の領域に分割するステップは、前記スクリーンコンテンツをN×N個の矩形領域に分割するステップを含み、Nが正の整数である。
【0097】
本開示の1つ又は複数の実施例によれば、前記方法は、さらに、前記第1の目標領域のサイズに基づいて前記類似度しきい値を決定するステップを含む。
【0098】
第2の態様では、本開示の1つ又は複数の実施例によれば、スクリーンコンテンツ処理装置を提供し、前記装置は、
スクリーンコンテンツを複数の領域に分割するために用いられる分割モジュールと、
前記スクリーンコンテンツの現在のフレームの第1の目標領域と前のフレームの第2の目標領域との画素類似度を検出するために用いられる判断モジュールであって、前記第1の目標領域と前記第2の目標領域とはスクリーンコンテンツの互いに対応する領域である判断モジュールと、
前記類似度が第1の検出結果を満たす場合、前記前のフレームの第2の目標領域の画素ハッシュテーブルを前記現在のフレームの第1の目標領域の画素ハッシュテーブルとするために用いられる多重化モジュールと、
前記類似度が第2の検出結果を満たす場合、前記現在のフレームの第1の目標領域の画素ハッシュ値を計算して画素ハッシュテーブルを作成するために用いられる計算モジュールと、
前記現在のフレームの第1の目標領域の符号化対象領域の画素ハッシュテーブルに基づいて、参照領域の画素ハッシュテーブルをトラバースし、前記符号化対象領域に対してフレームのイントラブロックコピー処理又はハッシュベース動き探索処理を行うために用いられる符号化モジュールと、を含む。
【0099】
本開示の1つ又は複数の実施例によれば、前記判断モジュールは、具体的に、前記現在のフレームの第1の目標領域の画素値と前記前のフレームの第2の目標領域の画素値とを取得すること、及び、前記現在のフレームの第1の目標領域の画素値と前記前のフレームの第2の目標領域の画素値とに基づき、プリセットアルゴリズムに従って前記現在のフレームの第1の目標領域の画素と前記前のフレームの第2の目標領域の画素との類似度を計算すること、に用いられる。
【0100】
本開示の1つ又は複数の実施例によれば、前記プリセットアルゴリズムは、絶対誤差和、時間領域を周波数領域に変換して絶対値を加算するアルゴリズム、及び二乗和誤差のうちの少なくとも1つを含む。
【0101】
本開示の1つ又は複数の実施例によれば、前記符号化モジュールは、具体的に、前記現在のフレームの第1の目標領域の符号化対象領域の画素ハッシュテーブルに基づいて、前記符号化対象領域に近い順に、前記参照領域の画素ハッシュテーブルをトラバースし、目標参照ブロックを得ること、及び、前記目標参照ブロックに基づいて、前記現在のフレームの第1の目標領域の符号化対象領域に対してフレームのイントラブロックコピー処理又はハッシュベース動き探索処理を行うこと、に用いられる。
【0102】
本開示の1つ又は複数の実施例によれば、前記判断モジュールは、さらに、前記第1の目標領域は前記スクリーンコンテンツが分割されて得た複数の領域の最後の領域であるかどうかを判断し、そうである場合、前記スクリーンコンテンツの現在のフレームの処理を完了し、そうでない場合、前記スクリーンコンテンツの前記現在のフレームの第1の目標領域の次の領域と前のフレームの同じ領域との画素類似度を検出するステップを引き続き実行すること、に用いられる。
【0103】
本開示の1つ又は複数の実施例によれば、前記計算モジュールは、具体的に、前記現在のフレームの第1の目標領域の各画素位置の対応するハッシュ値を計算すること、及び、前記現在のフレームの第1の目標領域の各画素位置のハッシュ値をkey値として、画素位置をvalue値として用いて、前記画素ハッシュテーブルを作成すること、に用いられる。
【0104】
本開示の1つ又は複数の実施例によれば、前記分割モジュールは、具体的に、前記スクリーンコンテンツをN×N個の矩形領域に分割するために用いられ、Nが正の整数である。
【0105】
本開示の1つ又は複数の実施例によれば、前記装置は、さらに、前記第1の目標領域のサイズに基づいて前記類似度しきい値を決定するために用いられるしきい値決定モジュールを含む。
【0106】
第3の態様では、本開示の1つ又は複数の実施例によれば、少なくとも1つのプロセッサとメモリとを含む電子機器を提供し、
前記メモリにはコンピュータ実行命令が記憶されており、
前記少なくとも1つのプロセッサが前記メモリに記憶されているコンピュータ実行命令を実行すると、前記少なくとも1つのプロセッサが上記の第1の態様及び第1の態様の様々な可能な設計に記載されているスクリーンコンテンツ処理方法を実行する。
【0107】
第4の態様では、本開示の1つ又は複数の実施例によれば、コンピュータ可読記憶媒体を提供し、前記コンピュータ可読記憶媒体にはコンピュータ実行命令が記憶されており、プロセッサが前記コンピュータ実行命令を実行するとき、上記の第1の態様及び第1の態様の様々な可能な設計に記載されているスクリーンコンテンツ処理方法が実現される。
【0108】
第5の態様では、本開示の実施例は、コンピュータプログラムを含む、コンピュータプログラム製品を提供し、前記コンピュータプログラムがプロセッサにより実行されるとき、上記の第1の態様及び第1の態様の様々な可能な設計に記載されているスクリーンコンテンツ処理方法が実現される。
【0109】
第6の態様では、本開示の実施例は、コンピュータプログラムを提供し、当該コンピュータプログラムがプロセッサにより実行されるとき、上記のいずれか1項に記載されているスクリーンコンテンツ処理方法が実現される。
【0110】
上記した説明は、本開示のいくつかの好ましい実施例に関する説明、及び適用される技術的原理に関する説明にすぎない。当業者は、本開示の実施例に係る発明範囲は、上記の技術的特徴の特定の組み合わせによって形成される解決手段に限定されず、上記の発明構想から逸脱することなく、上記の技術的特徴又はそれらの同等の特徴の任意の組み合わせによって形成される他の解決手段、例えば、上記特徴を、本開示で開示される(ただしこれに限定されない)同様の機能を有する技術的特徴に置き換えることによって形成される解決手段もカバーすべきであることを理解すべきである。
【0111】
なお、特定の順序で各操作について説明したが、これらの操作は示されている特定の順序又は順番に実行されることを要求するものと理解されるべきではない。マルチタスクや並列処理は、一定の環境下では有利である場合がある。同様に、上記の説明にはいくつかの具体的な実現の詳細が含まれるが、これらは本開示の範囲を限定するものとして解釈されるべきではない。個々の実施例のコンテキストにおいて説明される特定の特徴は、単一の実施例において組み合わせて実現されてもよい。逆に、単一の実施例のコンテキストにおいて説明される様々な特徴は、複数の実施例において、単独で又は任意の適切なサブ組合せで実現されてもよい。
【0112】
本主題は、構造的特徴及び/又は方法的論理動作に固有の言語を用いて説明されてきたが、添付の特許請求の範囲に限定される主題は、必ずしも上記の特定の特徴又は動作に限定されないことが理解されるべきである。逆に、上記の特定の特徴及び動作は、特許請求の範囲を実施するための例示的な形態にすぎない。
【0113】
本願は2021年02月05日に中国特許局に提出された、出願番号が202110164130.9で、発明の名称が「スクリーンコンテンツ処理方法、装置及び機器」という中国特許出願の優先権を主張し、その全ての内容は援用によって本願に組み合わせられる。
【手続補正書】
【提出日】2023-07-21
【手続補正1】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項1】
スクリーンコンテンツ処理方法であって、
スクリーンコンテンツを複数の領域に分割するステップと、
前記スクリーンコンテンツの現在のフレームの第1の目標領域と前のフレームの第2の目標領域との画素類似度を検出するステップであって、前記第1の目標領域と前記第2の目標領域とはスクリーンコンテンツの互いに対応する領域であるステップと、
前記類似度が第1の検出結果を満たす場合、前記前のフレームの第2の目標領域の画素ハッシュテーブルを前記現在のフレームの第1の目標領域の画素ハッシュテーブルとするステップと、
前記類似度が第2の検出結果を満たす場合、前記現在のフレームの第1の目標領域の画素ハッシュ値を計算して画素ハッシュテーブルを作成するステップと、
前記現在のフレームの第1の目標領域の符号化対象領域の画素ハッシュテーブルに基づいて、参照領域の画素ハッシュテーブルをトラバースし、前記符号化対象領域に対してフレームのイントラブロックコピー処理又はハッシュベース動き探索処理を行い、前記現在のフレームの第1の目標領域のスクリーンコンテンツ処理を完了するステップと、を含む、スクリーンコンテンツ処理方法。
【請求項2】
前記スクリーンコンテンツの現在のフレームの第1の目標領域と前のフレームの第2の目標領域との画素類似度を検出するステップは、
前記現在のフレームの第1の目標領域の画素値と前記前のフレームの第2の目標領域の画素値とを取得するステップと、
前記現在のフレームの第1の目標領域の画素値と前記前のフレームの第2の目標領域の画素値とに基づき、プリセットアルゴリズムに従って前記現在のフレームの第1の目標領域の画素と前記前のフレームの第2の目標領域の画素との類似度を計算するステップと、を含む、請求項1に記載の方法。
【請求項3】
前記プリセットアルゴリズムは、絶対誤差和、時間領域を周波数領域に変換して絶対値を加算するアルゴリズム、及び二乗和誤差のうちの少なくとも1つを含む、請求項2に記載の方法。
【請求項4】
前記現在のフレームの第1の目標領域の符号化対象領域の画素ハッシュテーブルに基づいて、参照領域の画素ハッシュテーブルをトラバースし、前記符号化対象領域に対してフレームのイントラブロックコピー処理又はハッシュベース動き探索処理を行うステップは、
前記現在のフレームの第1の目標領域の符号化対象領域の画素ハッシュテーブルに基づいて、前記符号化対象領域に近い順に、前記参照領域の画素ハッシュテーブルをトラバースし、目標参照ブロックを得るステップと、
前記目標参照ブロックに基づいて、前記現在のフレームの第1の目標領域の符号化対象領域に対してフレームのイントラブロックコピー処理又はハッシュベース動き探索処理を行うステップと、を含む、請求項1~3のいずれか1項に記載の方法。
【請求項5】
前記現在のフレームの第1の目標領域の符号化対象領域の画素ハッシュテーブルに基づいて、参照領域の画素ハッシュテーブルをトラバースし、前記符号化対象領域に対してフレームのイントラブロックコピー処理又はハッシュベース動き探索処理を行うステップの後に、
前記第1の目標領域は前記スクリーンコンテンツが分割されて得た複数の領域の最後の領域であるかどうかを判断し、そうである場合、前記スクリーンコンテンツの現在のフレームの処理を完了し、そうでない場合、前記スクリーンコンテンツの前記現在のフレームの第1の目標領域の次の領域と前のフレームの
前記次の領域に対応する同じ領域との画素類似度を検出するステップを引き続き実行するステップ、をさらに含む、請求項1~4のいずれか1項に記載の方法。
【請求項6】
前記現在のフレームの第1の目標領域の画素ハッシュ値を計算して画素ハッシュテーブルを作成するステップは、
前記現在のフレームの第1の目標領域の各画素位置の対応するハッシュ値を計算するステップと、
前記現在のフレームの第1の目標領域の各画素位置のハッシュ値をkey値として、画素位置をvalue値として用いて、前記画素ハッシュテーブルを作成するステップと、を含む、請求項1~5のいずれか1項に記載の方法。
【請求項7】
前記類似度が第1の検出結果を満たすことは、前記類似度が設定された類似度しきい値より大きいことであり、前記類似度が第2の検出結果を満たすことは、前記類似度が設定された類似度しきい値以下である、請求項1~6のいずれか1項に記載の方法。
【請求項8】
スクリーンコンテンツを複数の領域に分割するステップは、
前記スクリーンコンテンツをN×N個の矩形領域に分割するステップを含み、前記Nが正の整数である、請求項1~7のいずれか1項に記載の方法。
【請求項9】
前記第1の目標領域のサイズに基づいて前記類似度しきい値を決定するステップをさらに含む、請求項1~8のいずれか1項に記載の方法。
【請求項10】
スクリーンコンテンツ処理装置であって、
スクリーンコンテンツを複数の領域に分割するために用いられる分割モジュールと、
前記スクリーンコンテンツの現在のフレームの第1の目標領域と前のフレームの第2の目標領域との画素類似度を検出するために用いられる判断モジュールであって、前記第1の目標領域と前記第2の目標領域とはスクリーンコンテンツの互いに対応する領域である判断モジュールと、
前記類似度が第1の検出結果を満たす場合、前記前のフレームの第2の目標領域の画素ハッシュテーブルを前記現在のフレームの第1の目標領域の画素ハッシュテーブルとするために用いられる多重化モジュールと、
前記類似度が第2の検出結果を満たす場合、前記現在のフレームの第1の目標領域の画素ハッシュ値を計算して画素ハッシュテーブルを作成するために用いられる計算モジュールと、
前記現在のフレームの第1の目標領域の符号化対象領域の画素ハッシュテーブルに基づいて、参照領域の画素ハッシュテーブルをトラバースし、前記符号化対象領域に対してフレームのイントラブロックコピー処理又はハッシュベース動き探索処理を行い、前記現在のフレームの第1の目標領域のスクリーンコンテンツ処理を完了するために用いられる符号化モジュールと、を含む、スクリーンコンテンツ処理装置。
【請求項11】
プロセッサとメモリとを含む電子機器であって、
前記メモリにはコンピュータ実行命令が記憶されており、
前記プロセッサが前記メモリに記憶されているコンピュータ実行命令を実行すると、前
記プロセッサが請求項1~9のいずれか1項に記載のスクリーンコンテンツ処理方法を実行する、ことを特徴とする電子機器。
【請求項12】
コンピュータ可読記憶媒体であって、前記コンピュータ可読記憶媒体にはコンピュータ実行命令が記憶されており、プロセッサが前記コンピュータ実行命令を実行するとき、請求項1~9のいずれか1項に記載のスクリーンコンテンツ処理方法が実現される、ことを特徴とするコンピュータ可読記憶媒体。
【請求項13】
コンピュータプログラムであって、前記コンピュータプログラムがプロセッサにより実行されるとき、請求項1~9のいずれか1項に記載のスクリーンコンテンツ処理方法が実現される、ことを特徴とするコンピュータプログラム。
【手続補正2】
【補正対象書類名】明細書
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【発明の詳細な説明】
【技術分野】
【0001】
本開示の実施例は、通信及びコンピュータ技術の分野に関し、特に、スクリーンコンテンツ処理方法、装置及び機器に関する。
【背景技術】
【0002】
H.265は、高効率ビデオ符号化(High Efficiency Video Coding、HEVCと略称)とも呼ばれ、本明細書ではH.265として用語を統一している。H.265のスクリーンコンテンツ符号化(Screen Content Coding、SCCと略称)技術においては、スクリーンコンテンツのゼロノイズや図形文字の重複などの特性に対して、フレームのイントラブロックコピー(Intra Block Copy、IBCと略称)及びハッシュベース動き探索(Hash Motion Estimation、Hash MEと略称)という2つの符号化ツールを追加した。
【0003】
スクリーンコンテンツの異なるフレームには同じ文字シンボルが多数存在し、しかも、スクリーンコンテンツはノイズがないので、このような異なるフレームの同じ文字シンボルコンテンツのハッシュ値は全く同じである。現在、従来のIBC及びHash MEによるスクリーンコンテンツの符号化中に、スクリーンコンテンツフレーム内の各画素位置に対応するハッシュ値は、ハッシュテーブル(画素位置とハッシュ値との対応関係)の形成のために、必要とされている。IBCスクリーンコンテンツ符号化の原理は、現在のスクリーンコンテンツフレームを複数の符号化ユニットに分割し、各符号化ユニットは複数の画素ブロックを含み、現在のフレームのハッシュテーブルに基づいて最も一致する参照ブロックを見つけて、当該参照ブロックの画素に基づいて現在のブロックの画素値を予測することである。Hash MEスクリーンコンテンツ符号化の原理は、現在のスクリーンコンテンツフレームを複数の符号化ユニットに分割し、各符号化ユニットは複数の画素ブロックを含み、現在のブロックのハッシュ値に基づいて、参照フレームのハッシュテーブルから最も一致する参照ブロックを見つけて、当該参照ブロックの画素に基づいて現在のブロックの画素値を予測することである。
【0004】
しかし、本発明者は、従来のIBC又はHash MEによるスクリーンコンテンツ符号化の方法として、ハッシュ値ベースでスクリーンコンテンツに対してフレーム全体の画素の探索は行われているため、スクリーンコンテンツの各々のフレームに対して画素ブロックごとにハッシュ値を計算する必要があり、計算量が非常に大きく、スクリーンコンテンツ符号化の処理効率に影響を与えることを発見した。
【発明の概要】
【発明が解決しようとする課題】
【0005】
本開示の実施例は、冗長なハッシュ計算を減らし、スクリーンコンテンツ符号化の符号化速度を高め、スクリーンコンテンツの符号化処理効率を向上させることができる、スクリーンコンテンツ処理方法、装置及び機器を提供する。
【課題を解決するための手段】
【0006】
第1の態様では、本開示の実施例は、スクリーンコンテンツ処理方法を提供し、前記方法は、
スクリーンコンテンツを複数の領域に分割するステップと、
前記スクリーンコンテンツの現在のフレームの第1の目標領域と前のフレームの第2の目標領域との画素類似度を検出するステップであって、前記第1の目標領域と前記第2の目標領域とはスクリーンコンテンツの互いに対応する領域であるステップと、
前記類似度が第1の検出結果を満たす場合、前記前のフレームの第2の目標領域の画素ハッシュテーブルを前記現在のフレームの第1の目標領域の画素ハッシュテーブルとするステップと、
前記類似度が第2の検出結果を満たす場合、前記現在のフレームの第1の目標領域の画素ハッシュ値を計算して画素ハッシュテーブルを作成するステップと、
前記現在のフレームの第1の目標領域の符号化対象領域の画素ハッシュテーブルに基づいて、参照領域の画素ハッシュテーブルをトラバースし、前記符号化対象領域に対してフレームのイントラブロックコピー処理又はハッシュベース動き探索処理を行い、前記現在のフレームの第1の目標領域のスクリーンコンテンツ処理を完了するステップと、を含む。
【0007】
第2の態様では、本開示の実施例は、スクリーンコンテンツ処理装置を提供し、前記装置は、
スクリーンコンテンツを複数の領域に分割するために用いられる分割モジュールと、
前記スクリーンコンテンツの現在のフレームの第1の目標領域と前のフレームの第2の目標領域との画素類似度を検出するために用いられる判断モジュールであって、前記第1の目標領域と前記第2の目標領域とはスクリーンコンテンツの互いに対応する領域である判断モジュールと、
前記類似度が第1の検出結果を満たす場合、前記前のフレームの第2の目標領域の画素ハッシュテーブルを前記現在のフレームの第1の目標領域の画素ハッシュテーブルとするために用いられる多重化モジュールと、
前記類似度が第2の検出結果を満たす場合、前記現在のフレームの第1の目標領域の画素ハッシュ値を計算して画素ハッシュテーブルを作成するために用いられる計算モジュールと、
前記現在のフレームの第1の目標領域の符号化対象領域の画素ハッシュテーブルに基づいて、参照領域の画素ハッシュテーブルをトラバースし、前記符号化対象領域に対してフレームのイントラブロックコピー処理又はハッシュベース動き探索処理を行い、前記現在のフレームの第1の目標領域のスクリーンコンテンツ処理を完了するために用いられる符号化モジュールと、を含む。
【0008】
第3の態様では、本開示の実施例は、プロセッサとメモリとを含む電子機器を提供し、
前記メモリにはコンピュータ実行命令が記憶されており、
前記プロセッサが前記メモリに記憶されているコンピュータ実行命令を実行すると、前記プロセッサが上記の第1の態様及び第1の態様の様々な可能な設計に記載されているスクリーンコンテンツ処理方法を実行する。
【0009】
第4の態様では、本開示の実施例は、コンピュータ可読記憶媒体を提供し、前記コンピュータ可読記憶媒体にはコンピュータ実行命令が記憶されており、プロセッサが前記コンピュータ実行命令を実行するとき、上記の第1の態様及び第1の態様の様々な可能な設計に記載されているスクリーンコンテンツ処理方法が実現される。
【0010】
第5の態様では、本開示の実施例は、コンピュータプログラムを含む、コンピュータプログラム製品を提供し、前記コンピュータプログラムがプロセッサにより実行されるとき、上記の第1の態様及び第1の態様の様々な可能な設計に記載されているスクリーンコンテンツ処理方法が実現される。
【0011】
第6の態様では、本開示の実施例は、コンピュータプログラムを提供し、当該コンピュータプログラムがプロセッサにより実行されるとき、上記の第1の態様及び第1の態様の様々な可能な設計に記載されているスクリーンコンテンツ処理方法が実現される。
【発明の効果】
【0012】
本実施例により提供されるスクリーンコンテンツ処理方法、装置及び機器によれば、本開示の実施例は、現在のフレームのコンテンツをいくつかの領域に分割し、前のフレームと比較してスクリーンコンテンツには明らかな変化がある領域に対しては、再計算してハッシュテーブルを作成し、スクリーンコンテンツが類似する領域に対しては、前のフレームのハッシュテーブルを多重化することにより、冗長なハッシュ計算を減らし、スクリーンコンテンツ符号化の符号化速度を高め、符号化効率を向上させる。
【図面の簡単な説明】
【0013】
以下、本開示の実施例や従来の技術における解決手段をより明瞭に説明するために、実施例又は従来の技術の記述において使用する必要がある図面を簡単に説明する。当然ながら、以下、記載する図面は本開示のいくつかの実施例であり、当業者であれば、創造的な労力を要することなく、これらの図面に基づいて他の図面を想到しうる。
【
図2】本開示の実施例により提供されるスクリーンコンテンツ処理方法のシステムアーキテクチャ概略図である。
【
図3】本開示の実施例により提供されるスクリーンコンテンツ処理方法のフローチャート1である。
【
図4】本開示の実施例により提供されるスクリーンコンテンツ処理方法のフローチャート2である。
【
図5】本開示の実施例により提供されるスクリーンコンテンツ処理装置の構造ブロック図である。
【
図6】本開示の実施例により提供される電子機器のハードウェア構造概略図である。
【発明を実施するための形態】
【0014】
以下、本開示の実施例の目的、技術的解決手段及び利点をより明瞭にするために、本開示の実施例に係る図面を参照しながら、その技術的解決手段について明瞭、且つ完全に説明し、当然ながら、記載される実施例は本開示の実施例の一部にすぎず、そのすべての実施例ではない。当業者は、本開示における実施例に基づいて創造的な労働をすることなく、獲得されたその他のすべての実施例は、いずれも本開示の保護範囲に属する。
【0015】
スクリーンコンテンツの異なるフレームには同じ文字シンボルが多数存在し、しかも、スクリーンコンテンツはノイズがないので、このような異なるフレームの同じ文字シンボルコンテンツのハッシュ値は全く同じである。現在、従来のIBC及びHash MEによるスクリーンコンテンツの符号化中に、スクリーンコンテンツフレーム内の各画素位置に対応するハッシュ値は、ハッシュテーブル(画素位置とハッシュ値との対応関係)の形成のために、必要とされている。
図1を参照すると、
図1は、IBC符号化の原理概略図である。
図1には、現在のスクリーンコンテンツフレームを複数の符号化ユニット101に分割し、各符号化ユニットは複数の画素ブロックを含み、現在のフレームのハッシュテーブル内のすでに再構築された画素領域(
図1の灰色の部分)に基づいて最も一致する参照ブロック102(画素ブロックのうちの1つ)を見つけて、当該参照ブロックの画素に基づいて現在のブロック103の画素値を予測する。そこで、当該参照ブロックの画素に基づいて現在のブロック103の画素値を予測するためには、現在のブロック103から参照ブロック102までのブロックベクトル(Block Vector、BVと略称)を計算する必要があり、BVは画素全体の精度を表す。Hash MEスクリーンコンテンツ符号化の原理は、現在のスクリーンコンテンツフレームを複数の符号化ユニットに分割し、各符号化ユニットは複数の画素ブロックを含み、現在のブロックのハッシュ値に基づいて、参照フレームのハッシュテーブルから最も一致する参照ブロックを見つけて、当該参照ブロックの画素に基づいて現在のブロックの画素値を予測することである。
【0016】
現在、従来のIBC又はHash MEによるスクリーンコンテンツ符号化の方法として、ハッシュ値ベースでスクリーンコンテンツに対してフレーム全体の画素の探索は行われているため、スクリーンコンテンツの各々のフレームに対して画素ブロックごとにハッシュ値を計算する必要があり、計算量が非常に大きく、スクリーンコンテンツ符号化の処理効率に影響を与える。
【0017】
本開示の実施例は、上記の技術的問題を解決するために、スクリーンコンテンツ処理方法を提供し、スクリーンコンテンツを複数の領域に分割して、現在のフレームと前のフレームとの同じ領域における画素類似度を比較する。比較結果は、現在のフレームと前のフレームとの同じ領域における画素が類似する(すなわち、画素の差が小さい)ことである場合、前のフレームの当該領域における画素ハッシュテーブルを直接に現在のフレームの当該領域における画素ハッシュテーブルとする。比較結果は、現在のフレームと前のフレームとの同じ領域における画素が類似しない(すなわち、画素の差が大きい)ことである場合、現在のフレームの当該領域における画素ハッシュテーブルを計算する必要がある。現在のフレームの当該領域に対して、当該領域の符号化対象領域の画素ハッシュテーブルに基づいて参照領域の画素ハッシュテーブルをトラバースし、当該領域の符号化対象領域に対してフレームのイントラブロックコピー処理又はハッシュベース動き探索処理を行い、現在のフレームの前記目標領域の処理を完了する。1つのフレームのスクリーンコンテンツをいくつかの領域に分割し、前のフレームと比較してスクリーンコンテンツには明らかな変化がある領域に対しては、ハッシュテーブルを再作成し、スクリーンコンテンツが類似する領域に対しては、前のフレームのハッシュテーブルを多重化し、冗長なハッシュ計算を減らし、スクリーンコンテンツ符号化の処理速度を高め、スクリーンコンテンツの符号化効率を向上させる。
【0018】
図2を参照すると、
図2は、本開示の実施例により提供されるスクリーンコンテンツ処理方法のシステムアーキテクチャ概略図である。
図2に示すように、本実施例により提供されるシステムは表示端末201及びサーバ端末202を含む。表示端末201は、携帯電話、タブレットコンピュータ、及びパーソナルコンピュータなどのデバイスにインストールされ得る。本実施例は、表示端末201ではユーザと入出力のインタラクションができれば、当該表示端末201の実現形態を特に限定しない。表示端末は、スクリーン
コンテンツを表示するための表示インタフェースを有する。サーバ端末202は、1台のサーバ端末又は複数台のサーバ端末からなるクラスタであってもよい。
【0019】
当該表示端末は、無線端末であってもよいし、有線端末であってもよい。無線端末は、音声及び/又は他のサービスデータ接続をユーザに提供するデバイス、無線接続機能を有するハンドヘルドデバイス、または、無線モデムに接続された他の処理デバイスとすることができる。無線端末は、無線アクセスネットワーク(Radio Access Network、RANと略称)を介して1つ又は複数のコアネットワークデバイスと通信することができ、無線端末は、携帯型電話(「セルラ」電話とも呼ばれる)及び移動端末を備えるコンピュータなどの移動端末とすることができ、無線端末は、例えば、ポータブル移動装置、ポケットサイズ移動装置、ハンドヘルド移動装置、コンピュータ内蔵移動装置、または、車載移動装置であってもよく、それらの装置は、無線アクセスネットワークと言語及び/又はデータを交換する。また、例えば、無線端末は、パーソナルコミュニケーションサービス(Personal Communication Service、PCSと略称)電話、コードレス電話、セッション開始プロトコル(Session Initiation Protocol、SIPと略称)電話機、ワイヤレスローカルループ(Wireless Local Loop、WLLと略称)ステーション、パーソナルデジタルアシスタント(Personal Digital Assistant、PDAと略称)等のデバイスであってもよい。無線端末は、システム、加入者ユニット(Subscriber Unit)、加入者ステーション(Subscriber Station)、移動ステーション(Mobile Station)、移動局(Mobile)、リモートステーション(Remote Station)、リモート端末(Remote Terminal)、アクセス端末(Access Terminal)、ユーザ端末(User Terminal)、ユーザエージェント(User Agent)、ユーザ機器(User Device or User Equipment)と呼ばれてもよく、本明細書では限定されない。選択的には、上記の表示端末は、さらに、スマートウォッチ、タブレットコンピュータ、パーソナルコンピュータなどのデバイスであってもよい。
【0020】
選択的には、本開示の実施例により提供されるスクリーンコンテンツ処理方法は、会議ビデオのシーンに適用され得る。具体的には、上記の端末又はサーバ端末にはエンコーダが配置され、当該エンコーダはH265エンコーダであってもよい。端末又はサーバ端末のエンコーダは、本開示の実施例により提供されるスクリーンコンテンツ処理方法を利用して、会議ビデオコンテンツに対して符号化処理を行い、現在のフレームの会議ビデオコンテンツをいくつかの領域に分割し、前のフレームの会議ビデオコンテンツと比較して明らかな変化がある領域に対しては、ハッシュテーブルを再作成し、スクリーンコンテンツが類似する領域に対しては、前のフレームのハッシュテーブルを多重化することにより、冗長なハッシュ計算を減らし、スクリーンコンテンツ符号化の符号化速度を高め、会議ビデオコンテンツの符号化効率を向上させる。
【0021】
なお、本開示の実施例に係るスクリーンコンテンツは、上記の会議ビデオのほかに、デスクトップリモートコラボレーション、クラウドゲーム、第2のスクリーン、デスクトップ共有、オンライン教育などのディスプレイコンテンツであってもよい。
【0022】
図3を参照すると、
図3は、本開示の実施例により提供されるスクリーンコンテンツ処理方法のフローチャート1である。本実施例に係る方法は、
図2に示される表示端末又はサーバ端末に適用されることができ、本開示はこの点に関しては何ら制限を課すものではなく、当該スクリーンコンテンツ処理方法は、以下のステップを含む。
【0023】
S301では、スクリーンコンテンツを複数の領域に分割する。
【0024】
選択的には、本開示の実施例では、スクリーンコンテンツは、スクリーンビデオコンテンツであってもよいし、スクリーン画像コンテンツであってもよい。スクリーンコンテンツは、ゼロノイズで、且つ重複する図形文字が多いのが特徴である。
【0025】
本開示の1つの実施例では、複数の領域は、複数の矩形領域であってもよく、当該複数の矩形領域は、等距離ルールに従って分割されたものであってもよいし、不規則に分割されたものであってもよい。
【0026】
S302では、前記スクリーンコンテンツの現在のフレームの第1の目標領域と前のフレームの第2の目標領域との画素類似度を検出し、前記第1の目標領域と前記第2の目標領域とはスクリーンコンテンツの互いに対応する領域である。
【0027】
第1の目標領域は、上記の複数の領域のうちのいずれかであってもよく、前のフレームは、現在のフレームより1つ前のフレームであってもよい。第1の目標領域と前記第2の目標領域とはスクリーンコンテンツの互いに対応する領域であることは、第1の目標領域と第2の目標領域とは現在のフレームと前のフレームとのスクリーンコンテンツにおいて同じ位置の領域であることを意味する。
【0028】
選択的には、本開示の実施例では、スクリーンコンテンツの現在のフレームでの第1の目標領域の画素値とスクリーンコンテンツの前のフレームでの第2の目標領域の画素値とに基づいて、スクリーンコンテンツの現在のフレームの第1の目標領域とスクリーンコンテンツの前のフレームの第2の目標領域との画素類似度を決定する。
【0029】
具体的には、前記現在のフレームの第1の目標領域の画素値と前記前のフレームの第2の目標領域の画素値とを取得し、
前記現在のフレームの第1の目標領域の画素値と前のフレームの第2の目標領域の画素値とに基づき、プリセットアルゴリズムに従って前記現在のフレームの第1の目標領域の画素と前のフレームの第2の目標領域の画素との類似度を計算する。
【0030】
選択的には、本開示の実施例では、プリセットアルゴリズムは、現在のフレームの第1の目標領域の各画素位置の画素値と前のフレームの第2の目標領域の各画素位置の画素値とを計算対象とする。
【0031】
プリセットアルゴリズムは、絶対誤差和(Sum of Absolute Difference、SADと略称)、時間領域を周波数領域に変換して絶対値を加算する(Sum of Absolute Transformed Difference、SATDと略称)アルゴリズム、及び二乗和誤差(Sum of Squared Error、SSEと略称)のうちの少なくとも1つを含む。
【0032】
S303では、前記類似度が第1の検出結果を満たす場合、前記前のフレームの第2の目標領域の画素ハッシュテーブルを前記現在のフレームの第1の目標領域の画素ハッシュテーブルとする。
【0033】
具体的には、前記類似度が第1の検出結果を満たすことは、前記類似度が設定された類似度しきい値より大きいことである。
【0034】
選択的には、本開示の実施例では、類似度しきい値は、スクリーンコンテンツのタイプに応じて選択して設定することができる。例えば、スクリーンコンテンツのタイプは、テキストコンテンツ及びピクチャコンテンツを含むが、それらに限定されない。
【0035】
具体的には、前記前のフレームの第2の目標領域の画素ハッシュテーブルを前記現在のフレームの第1の目標領域の画素ハッシュテーブルとするステップは、前記前のフレームの第2の目標領域の画素ハッシュテーブルのポインタコンテンツをコピーするステップとすることができる。
【0036】
S304では、前記類似度が第2の検出結果を満たす場合、前記現在のフレームの第1の目標領域の画素ハッシュ値を計算して画素ハッシュテーブルを作成する。
【0037】
具体的には、前記類似度が第2の検出結果を満たすことは、前記類似度が設定された類似度しきい値以下であることである。
【0038】
選択的には、本開示の実施例では、前記現在のフレームの第1の目標領域の各画素位置の対応するハッシュ値を計算し、前記現在のフレームの第1の目標領域の各画素位置のハッシュ値をkey値として、画素位置をvalue値として用いて、前記画素ハッシュテーブルを作成する。
【0039】
具体的には、前記現在のフレームの第1の目標領域の各画素位置の画素ハッシュ値を計算して画素ハッシュテーブルを作成するステップは、現在のフレームの第1の目標領域の各画素位置での左上隅にある8×8の画素ブロックのハッシュ値を計算し、当該ハッシュ値をkey値として、画素位置をvalue値として用いて、画素ハッシュテーブルを作成するステップを含む。同じハッシュ値の画素ノードは1つのハッシュチェーンテーブルを形成する。
【0040】
S305では、前記現在のフレームの第1の目標領域の符号化対象領域の画素ハッシュテーブルに基づいて参照領域の画素ハッシュテーブルをトラバースし、前記現在のフレームの第1の目標領域の符号化対象領域に対してフレームのイントラブロックコピー処理又はハッシュベース動き探索処理を行い、現在のフレームの前記第1の目標領域の処理を完了する。
【0041】
選択的には、本開示の実施例では、参照領域は、現在のフレームの参照領域であってもよいし、参照フレームの参照領域であってもよく、参照フレームは現在のフレームよりも前のいずれのフレームであってもよい。符号化対象領域は、第1の目標領域のうちのいずれの符号化対象サブ領域であってもよいし、目標領域全体であってもよい。
【0042】
前記現在のフレームの第1の目標領域の符号化対象領域に対してフレームのイントラブロックコピー処理又はハッシュベース動き探索処理を行うステップは、符号化側に適用されてもよいし、復号化側に適用されてもよい。具体的には、前記現在のフレームの第1の目標領域の符号化対象領域に対してフレームのイントラブロックコピー符号化又はハッシュベース動き探索符号化を行うようにしてもよいし、前記現在のフレームの第1の目標領域の符号化対象領域に対してフレームのイントラブロックコピー復号化又はハッシュベース動き探索復号化を行うようにしてもよい。
【0043】
前記現在のフレームの第1の目標領域の符号化対象領域の画素ハッシュテーブルに基づいて、参照領域の画素ハッシュテーブルをトラバースし、符号化対象領域に対してフレームのイントラブロックコピー符号化を行うステップは、符号化対象領域の画素ハッシュテーブルに基づいて、参照領域の画素ハッシュテーブルをトラバースして同じkey値(ハッシュ値)を有する画素ノードを探し、すべての同じkey値を有する画素ノードは1つのハッシュチェーンテーブルを構成し、チェーンテーブルにおける各画素ノードの画素位置のスクリーンコンテンツは符号化対象領域のスクリーンコンテンツとは全く一致し、レート歪みコスト(rate-distortion cost)に応じてチェーンテーブルからレート歪みコストが最も小さい参照ブロックの画素を符号化対象領域の参照画素として選択し、参照ブロックの参照画素に基づいて動き補償を行い、符号化対象領域の画素、すなわち、符号化対象領域のスクリーンコンテンツを得て、現在のフレームの第1の目標領域の符号化を完了するステップを含む。
【0044】
ハッシュベース動き探索符号化は、フレームのイントラブロックコピー符号化の原理に類似することを理解できる。その相違点は、フレームのイントラブロックコピー符号化が、現在のフレームのハッシュテーブルに基づいて最も一致する参照ブロックを見つけ、当該参照ブロックの画素に基づいて現在のブロックの画素値を予測することである。Hash MEスクリーンコンテンツ符号化は、現在のブロックのハッシュ値に基づいて、参照フレーム(参照フレームは現在のフレームよりも前のいずれのフレームであってもよい)のハッシュテーブルから最も一致する参照ブロックを見つけ、当該参照ブロックの画素に基づいて現在のブロックの画素値を予測することである。
【0045】
上記の説明からわかるように、本実施例は、現在のフレームのコンテンツをいくつかの領域に分割し、前のフレームと比較してコンテンツには明らかな変化がある領域に対しては、再計算してハッシュテーブルを作成し、コンテンツには変化がない領域に対しては、前のフレームのハッシュテーブルを多重化することにより、冗長なハッシュ計算を減らし、スクリーンコンテンツ符号化の符号化速度を高め、符号化効率を向上させる。
【0046】
図4を参照すると、
図4は、本開示の実施例により提供されるスクリーンコンテンツ処理方法のフローチャート2である。本実施例では、主に上記のステップS305における、前記現在のフレームの第1の目標領域の符号化対象領域の画素ハッシュテーブルに基づいて、参照領域の画素ハッシュテーブルをトラバースし、前記符号化対象領域に対してフレームのイントラブロックコピー処理又はハッシュベース動き探索処理を行い、前記現在のフレームの第1の目標領域のスクリーンコンテンツ処理を完了するステップの具体的なプロセスについて詳細に説明し、その具体的なプロセスは、以下のステップを含む。
【0047】
S401では、前記現在のフレームの第1の目標領域の符号化対象領域の画素ハッシュテーブルに基づいて、前記符号化対象領域に近い順に、前記参照領域の画素ハッシュテーブルをトラバースし、目標参照ブロックを得る。
【0048】
当該符号化対象領域を中心に、当該中心に近い範囲から遠い範囲に沿って、前記参照領域をトラバースし、前記符号化対象領域の画素ハッシュテーブルでのハッシュ値と同じ値の参照ブロックを目標参照ブロックとして探す。
【0049】
例えば、まず、当該中心のすぐ隣にある参照領域において探し、次に、当該中心から1つの領域(又は参照ブロック)離れた参照領域において探し、そして、当該中心から2つの領域(又は参照ブロック)離れた参照領域において探し、これによって類推する。
【0050】
S402では、目標参照ブロックに基づいて、前記現在のフレームの第1の目標領域の符号化対象領域に対してフレームのイントラブロックコピー処理又はハッシュベース動き探索処理を行う。
【0051】
選択的には、本開示の実施例では、目標参照ブロックは存在する場合、目標参照ブロックの画素を参照画素として符号化対象領域に対して画素符号化を行う。目標参照ブロックは存在しない場合、通常の画素符号化を行う。
【0052】
従来の技術において、スクリーンコンテンツの現在のフレームのハッシュテーブルを作成することは一般的であり、テーブル作成の順序は、符号化ユニット(Coding Tree Unit、CTUと略称)によるZ形走査の順序(zscan-order)に従って、符号化中に優先的に参照される参照ブロックは符号化対象サブ領域から比較的遠く離れており、比較的長い動きベクトル(符号化対象サブ領域と参照ブロックとの間の動きベクトル)を計算する必要があり、占有するビット数が比較的大きく、符号化品質が比較的低い。本実施例では、前記符号化対象領域に近い順に、前記参照領域をトラバースし、符号化対象領域により近い参照ブロックを目標参照ブロックとすることを確保し、動きベクトル(Motion Vector、MVと略称)が占有するビット数を節約し、符号化品質を向上させることができる。
【0053】
上記の説明からわかるように、本開示の実施例は、前記符号化対象領域に近い順に前記参照領域をトラバースすることにより、符号化対象領域により近い参照ブロックを目標参照ブロックとすることを確保でき、動きベクトルを計算するために占有するビット数を節約でき、符号化品質を向上させる。本開示の実施例では前記参照領域を近から遠への順にトラバースし、そして、フレームのイントラブロックコピー符号化又はハッシュベース動き探索符号化を行うことにより、ビデオ符号化品質-3%符号化品質評価指標(Bjoentegaard delta bit rate、BDBRと略称)を改善することができることがデータにより実証される。BDBRは、同じ客観的品質では、より優れた符号化方法によって節約できるビットレートの割合を表し、BDBRが小さいほど、現在のエンコーダの圧縮性能が優れていることを意味する。
【0054】
本開示の1つの実施例では、前記現在のフレームの第1の目標領域の符号化対象領域の画素ハッシュテーブルに基づいて、参照領域の画素ハッシュテーブルをトラバースし、前記符号化対象領域に対してフレームのイントラブロックコピー処理又はハッシュベース動き探索処理を行い、前記現在のフレームの第1の目標領域のスクリーンコンテンツ処理を完了するステップの後に、前記方法は、さらに、
前記第1の目標領域は前記スクリーンコンテンツが分割されて得た複数の領域の最後の領域であるかどうかを判断し、そうである場合、前記スクリーンコンテンツの現在のフレームの処理を完了し、そうでない場合、前記スクリーンコンテンツの前記現在のフレームの第1の目標領域の次の領域と前のフレームの前記次の領域に対応する同じ領域との画素類似度を検出するステップを引き続き実行するステップを含む。
【0055】
選択的には、本開示の実施例では、スクリーンコンテンツを複数の領域に分割するとき、各領域に符号化の順に識別子を設定してもよく、当該識別子に基づいて各領域の符号化順序を判明することができ、同様に、各領域の識別子に基づいて当該領域が複数の領域の最後の領域であるかどうかを判明することができる。
【0056】
上記の説明からわかるように、本実施例は、分割される複数の領域に基づいて、各領域の符号化又は復号化の処理を順次行い、スクリーンコンテンツ全体の処理を実現することができる。
【0057】
本開示の1つの実施例では、ステップS301には、スクリーンコンテンツを複数の領域に分割するステップは、
前記スクリーンコンテンツをN(長)×N(高)個の矩形領域に分割するステップを含み、Nが正の整数である。本開示の実施例では、Nの数値は、スクリーンコンテンツのサイズに応じて決定され得る。各領域のサイズは、長さ及び高さがそれぞれ、スクリーンコンテンツの長さとNとの比の値及びスクリーンコンテンツの高さとNとの比の値である。
【0058】
選択的には、Nは2~8の値をとることができる。
【0059】
Nは2~8の値をとり、画像グループ(Group of Pictures、GOPと略称)構造の典型的なテストシーケンスを採用してテストを行い、従来の符号化方法と比較した。テスト結果は下記の表に示される。
【0060】
【0061】
Nは4であるとき、IPPPのGOP構造のテストシーケンスを採用すると、符号化時間を7.36%減らすとともに、符号化品質-0.28%BDBRを改善することができ、全体的な效果が最も優れていることがデータにより実証される。
【0062】
上記の説明からわかるように、等しい形状及びサイズの矩形領域に分割することにより、符号化時間を短縮し、符号化の圧縮効率を向上させることができる。
【0063】
本開示の1つの実施例では、ステップS301よりも前に、前記方法は、さらに、前記第1の目標領域のサイズに基づいて前記類似度しきい値を決定する。
【0064】
選択的には、本開示の実施例では、類似度しきい値は、第1の目標領域のサイズと正の相関を有するように設定され得る。第1の目標領域のサイズは大きいほど、類似度しきい値は大きくなり、第1の目標領域のサイズは小さいほど、類似度しきい値は小さくなる。すなわち、第1の目標領域は大きいほど、許容される類似度しきい値の誤差範囲は大きくなる。
【0065】
上記の説明からわかるように、第1の目標領域のサイズに基づいて類似度しきい値を決定することにより、スクリーンコンテンツの現在のフレームの第1の目標領域が前のフレームの第2の目標領域のコンテンツに類似するかどうかを正確に判断し、検出の正確さを向上させることができる。
【0066】
上記の実施例に係るスクリーンコンテンツ処理方法に対応して、
図5は、本開示の実施例により提供されるスクリーンコンテンツ処理装置の構造ブロック図である。説明の便宜上、本開示の実施例に関連する部分のみを示している。
図5を参照すると、前記装置は、分割モジュール501、判断モジュール502、多重化モジュール503、計算モジュール504、及び符号化モジュール505を含む。
【0067】
分割モジュール501は、スクリーンコンテンツを複数の領域に分割するために用いられ、
判断モジュール502は、前記スクリーンコンテンツの現在のフレームの第1の目標領域と前のフレームの第2の目標領域との画素類似度を検出するために用いられ、前記第1の目標領域と前記第2の目標領域とはスクリーンコンテンツの互いに対応する領域であり、
多重化モジュール503は、前記類似度が第1の検出結果を満たす場合、前記前のフレームの第2の目標領域の画素ハッシュテーブルを前記現在のフレームの第1の目標領域の画素ハッシュテーブルとするために用いられ、
計算モジュール504は、前記類似度が第2の検出結果を満たす場合、前記現在のフレームの第1の目標領域の画素ハッシュ値を計算して画素ハッシュテーブルを作成するために用いられ、
符号化モジュール505は、前記現在のフレームの第1の目標領域の符号化対象領域の画素ハッシュテーブルに基づいて、参照領域の画素ハッシュテーブルをトラバースし、前記符号化対象領域に対してフレームのイントラブロックコピー処理又はハッシュベース動き探索処理を行い、前記現在のフレームの第1の目標領域のスクリーンコンテンツ処理を完了するために用いられる。
【0068】
本開示の1つ又は複数の実施例によれば、前記判断モジュール502は、具体的に、前記現在のフレームの第1の目標領域の画素値と前記前のフレームの第2の目標領域の画素値とを取得すること、及び、前記現在のフレームの第1の目標領域の画素値と前記前のフレームの第2の目標領域の画素値とに基づき、プリセットアルゴリズムに従って前記現在のフレームの第1の目標領域の画素と前記前のフレームの第2の目標領域の画素との類似度を計算すること、に用いられる。
【0069】
本開示の1つ又は複数の実施例によれば、前記プリセットアルゴリズムは、絶対誤差和、時間領域を周波数領域に変換して絶対値を加算するアルゴリズム、及び二乗和誤差のうちの少なくとも1つを含む。
【0070】
本開示の1つ又は複数の実施例によれば、前記符号化モジュール505は、具体的に、前記現在のフレームの第1の目標領域の符号化対象領域の画素ハッシュテーブルに基づいて、前記符号化対象領域に近い順に、前記参照領域の画素ハッシュテーブルをトラバースし、目標参照ブロックを得ること、及び、前記目標参照ブロックに基づいて、前記現在のフレームの第1の目標領域の符号化対象領域に対してフレームのイントラブロックコピー処理又はハッシュベース動き探索処理を行うこと、に用いられる。
【0071】
本開示の1つ又は複数の実施例によれば、前記判断モジュール502は、さらに、前記第1の目標領域は前記スクリーンコンテンツが分割されて得た複数の領域の最後の領域であるかどうかを判断し、そうである場合、前記スクリーンコンテンツの現在のフレームの処理を完了し、そうでない場合、前記スクリーンコンテンツの前記現在のフレームの第1の目標領域の次の領域と前のフレームの前記次の領域に対応する同じ領域との画素類似度を検出するステップを引き続き実行すること、に用いられる。
【0072】
本開示の1つ又は複数の実施例によれば、前記計算モジュール504は、具体的に、前記現在のフレームの第1の目標領域の各画素位置の対応するハッシュ値を計算すること、及び、前記現在のフレームの第1の目標領域の各画素位置のハッシュ値をkey値として、画素位置をvalue値として用いて、前記画素ハッシュテーブルを作成すること、に用いられる。
【0073】
本開示の1つ又は複数の実施例によれば、前記分割モジュール501は、具体的に、前記スクリーンコンテンツをN×N個の矩形領域に分割するために用いられ、Nが正の整数である。
【0074】
本開示の1つ又は複数の実施例によれば、前記装置は、さらに、前記第1の目標領域のサイズに基づいて前記類似度しきい値を決定するために用いられるしきい値決定モジュール506を含む。
【0075】
本実施例により提供される装置は、上記の方法の実施例に係る解決手段を実行するために使用されることができ、その実現原理及び技術的効果が類似するため、本実施例はここで繰り返して説明しない。
【0076】
上記の実施例を実現するために、本開示の実施例は、さらに、電子機器を提供する。
【0077】
図6を参照すると、
図6は、本開示の実施例を実現するために適した電子機器600の構造概略図を示しており、当該電子機器600は、表示端末機器又はサーバにすることができる。表示端末機器は、携帯電話、ノートブックコンピュータ、デジタル放送受信機、パーソナルデジタルアシスタント(Personal Digital Assistant、PDAと略称)、タブレットコンピュータ(Portable Android Device、PADと略称)、携帯型マルチメディアプレーヤー(Portable Media Player、PMPと略称)、車載表示端末(例えば、車載ナビゲーション表示端末)などの移動表示端末、及びデジタルTV、デスクトップコンピュータなどの固定表示端末を含むことができるが、それらに限定されない。
図6に示される電子機器は単なる一例であり、本開示の実施例の機能及び使用範囲にいかなる制限も課すべきでない。
【0078】
図6に示すように、電子機器600は、処理装置(中央処理装置やグラフィックプロセッサなど)601を含むことができ、当該処理装置は、読み取り専用メモリ(Read Only Memory、ROMと略称)602に記憶されたプログラムまたは記憶装置608からランダムアクセスメモリ(Random Access Memory、RAMと略称)603にロードされたプログラムに従って、さまざまな適切な動作及び処理を実行することができる。RAM603には、電子機器600の操作に必要なさまざまなプログラム及びデータも記憶されている。処理装置601、ROM602及びRAM603は、バス604を介して互いに接続されている。入力/出力(Input/Output、I/Oと略称)インタフェース605もバス604に接続されている。
【0079】
通常、タッチスクリーン、タッチパッド、キーボード、マウス、カメラ、マイクロフォン、加速度計、ジャイロスコープなどを含む入力装置606と、液晶ディスプレイ(Liquid Crystal Display、LCDと略称)、スピーカー、バイブレータなどを含む出力装置607と、磁気テープやハードディスクなどを含む記憶装置608と、通信装置609とは、I/Oインタフェース605に接続されることができる。通信装置609は、電子機器600が他のデバイスと無線又は有線で通信してデータを交換することを可能にし得る。
図6は、さまざまなデバイスを備える電子機器600を示すが、図示されたデバイスのすべてが実施又は配置される必要があるわけではないことを理解すべきである。代替的に、より多くの又は少ないデバイスが実施又は配置され得る。
【0080】
特に、本開示の実施例によれば、フローチャートを参照して説明されている上記のプロセスは、コンピュータソフトウェアプログラムとして実施されることができる。例えば、本開示の実施例は、コンピュータ可読媒体に搭載されているコンピュータプログラムを含むコンピュータプログラム製品を含み、当該コンピュータプログラムがフローチャートに示される方法を実行するためのプログラムコードを含む。このような実施例では、当該コンピュータプログラムは、通信装置609を介してネットワークからダウンロード及びインストールされるか、または記憶装置608からインストールされるか、またはROM602からインストールされることができる。当該コンピュータプログラムは、処理装置601により実行されると、本開示の実施例に係る方法で限定されている上記の機能は実行される。
【0081】
なお、本開示に記載されたコンピュータ可読媒体は、コンピュータ可読信号媒体又はコンピュータ可読記憶媒体又は上記2つの任意の組み合わせであり得る。コンピュータ可読記憶媒体は、例えば、電気的、磁気的、光学的、電磁的、赤外線、又は半導体のシステム、装置又はデバイス、あるいは上記の任意の組み合わせにすることができるが、それらに限定されない。コンピュータ可読記憶媒体のより具体的な例として、1本又は複数のワイヤを有する電気的接続、ポータブルコンピュータディスク、ハードディスク、ランダムアクセスメモリ(RAM)、読み取り専用メモリ(ROM)、消去可能プログラマブル読み取り専用メモリ(Electrically Programmable Read-Only Memory、EPROM又はフラッシュメモリと略称)、光ファイバ、ポータブルコンパクトディスク読み取り専用メモリ(Compact Disc Read-Only Memory、CD-ROMと略称)、光ストレージデバイス、磁気メモリコンポーネント、または上記の任意の適切な組み合わせを含み得るが、それらに限定されない。本開示では、コンピュータ可読記憶媒体は、命令実行システム、装置、またはデバイスによって使用されるか、またはそれらに組み合わせて使用できるプログラムを含む又は記憶する任意の有形媒体であり得る。本開示では、コンピュータ可読信号媒体は、ベースバンドで、または搬送波の一部として伝播されるデータ信号を含むことができ、その中にコンピュータ可読プログラムコードが搭載されている。このような伝播されたデータ信号は、電磁信号、光信号、または上記の任意の適切な組み合わせを含むがそれらに限定されない多くの形をとることができる。コンピュータ可読信号媒体は、さらに、コンピュータ可読記憶媒体以外の任意のコンピュータ可読媒体にすることができ、当該コンピュータ可読信号媒体は、命令実行システム、装置、またはデバイスによって使用されるか、またはそれらに組み合わせて使用するためのプログラムを送信、伝播、または伝送することができる。コンピュータ可読媒体に含まれたプログラムコードは、電線、光ファイバケーブル、無線周波数(Radio Frequency、RFと略称)などを含むがそれらに限定されない任意の適切な媒体、または上記の任意の適切な組み合わせを使用して伝送することができる。
【0082】
上記のコンピュータ可読媒体は、上記の電子機器に含まれていてもよく、または当該電子機器に組み立てられずに単独で存在していてもよい。
【0083】
上記のコンピュータ可読媒体には、1つ又は複数のコンピュータプログラムが搭載されており、上記の1つ又は複数のコンピュータプログラムは当該電子機器により実行されると、当該電子機器は、上記の実施例に示される方法を実行する。
【0084】
本開示の操作を実行するためのコンピュータプログラムコードは、Java(登録商標)、Smalltalk(登録商標)、C++などのオブジェクト指向プログラミング言語と、「C」言語又はそれに類似するプログラミング言語などの従来の手続き型プログラミング言語と、を含む1つ又は複数のプログラミング言語、あるいはそれらの組み合わせで書くことができる。プログラムコードは、完全にユーザのコンピュータ上で、一部はユーザのコンピュータ上で、スタンドアロンソフトウェアパッケージとして、一部はユーザのコンピュータ上で、一部はリモートコンピュータ上で、または完全にリモートコンピュータ又はサーバ上で実行できる。リモートコンピュータの場合、リモートコンピュータは、ローカルエリアネットワーク(Local Area Network、LANと略称)やワイドエリアネットワーク(Wide Area Network、WANと略称)など、あらゆる種類のネットワークを介してユーザのコンピュータに接続されることができ、もしくは、外部コンピュータに接続されることもできる(例えば、インターネットサービスプロバイダーを使用してインターネット経由で接続する)。
【0085】
図面のフローチャート及びブロック図は、本開示の様々な実施例によるシステム、方法、及びコンピュータプログラム製品によって実現可能なアーキテクチャ、機能、及び操作を示している。これに関して、フローチャート又はブロック図の各ブロックは、指定される論理的機能を実現するための1つ又は複数の実行可能な命令を含むモジュール、グログラムセグメント、又はコードの一部を表すことができる。いくつかの代替の実現では、ブロックに示されている機能は、図に示されている順序と異なる順序で実行できることにも注意すべきである。例えば、連結して表示される2つのブロックは、実際には、基本的に並行して実行できるが、または、関連する機能に応じて、ブロックが逆の順序で実行される場合もある。なお、ブロック図及び/又はフローチャートの各ブロック、及びブロック図及び/又はフローチャートのブロックの組み合わせは、指定される機能又は操作を実行する専用のハードウェアベースのシステムを使用して実現することができ、または、専用のハードウェアとコンピュータ命令の組み合わせを使用して実現することもできる。
【0086】
本開示の実施例に記載されたユニットは、ソフトウェアで実現することができ、またはハードウェアで実現することもできる。これらのユニットの名称は、特定の状況下でのユニット自体を制限する目的ではない場合があり、例えば、第1の取得ユニットは、「少なくとも2つのインターネットプロトコルアドレスを取得するユニット」と記載してもよい。
【0087】
本明細書で上記に説明された機能は、少なくとも部分的に、1つ又は複数のハードウェアロジックコンポーネントによって実行され得る。例えば、使用できるハードウェアロジックコンポーネントの例示的なタイプとして、フィールドプログラマブルゲートアレイ(Field Programmable Gate Array、FPGAと略称)、特定用途向け集積回路(Application Specific Integrated Circuit、ASICと略称)、特定用途向け標準部品(Application Specific Standard Product、ASSPと略称)、システムオンチップ(System on chip、SOCと略称)、複雑なプログラマブルロジックデバイス(Complex Programmable Logic Device、CPLDと略称)などを含むことができるが、それらに限定されない。
【0088】
本開示のコンテキストでは、コンピュータ可読媒体は、命令実行システム、装置、またはデバイスによって使用されるか、またはそれらに組み合わせて使用できるプログラムを含む又は記憶する有形媒体であり得る。コンピュータ可読媒体は、コンピュータ可読信号媒体又はコンピュータ可読記憶媒体であり得る。コンピュータ可読媒体は、電気的、磁気的、光学的、電磁的、赤外線、又は半導体のシステム、装置又はデバイス、あるいは上記の任意の組み合わせにすることができるが、それらに限定されない。コンピュータ可読記憶媒体のより具体的な例として、1本又は複数のワイヤに基づく電気的接続、ポータブルコンピュータディスク、ハードディスク、ランダムアクセスメモリ(RAM)、読み取り専用メモリ(ROM)、消去可能プログラマブル読み取り専用メモリ(EPROM又はフラッシュメモリ)、光ファイバ、ポータブルコンパクトディスク読み取り専用メモリ(CD-ROM)、光ストレージデバイス、磁気メモリコンポーネント、または上記の任意の適切な組み合わせを含み得る。
【0089】
第1の態様では、本開示の1つ又は複数の実施例によれば、スクリーンコンテンツ処理方法を提供し、前記方法は、
スクリーンコンテンツを複数の領域に分割するステップと、
前記スクリーンコンテンツの現在のフレームの第1の目標領域と前のフレームの第2の目標領域との画素類似度を検出するステップであって、前記第1の目標領域と前記第2の目標領域とはスクリーンコンテンツの互いに対応する領域であるステップと、
前記類似度が第1の検出結果を満たす場合、前記前のフレームの第2の目標領域の画素ハッシュテーブルを前記現在のフレームの第1の目標領域の画素ハッシュテーブルとするステップと、
前記類似度が第2の検出結果を満たす場合、前記現在のフレームの第1の目標領域の画素ハッシュ値を計算して画素ハッシュテーブルを作成するステップと、
前記現在のフレームの第1の目標領域の符号化対象領域の画素ハッシュテーブルに基づいて、参照領域の画素ハッシュテーブルをトラバースし、前記符号化対象領域に対してフレームのイントラブロックコピー処理又はハッシュベース動き探索処理を行うステップと、を含む。
【0090】
本開示の1つ又は複数の実施例によれば、前記スクリーンコンテンツの現在のフレームの第1の目標領域と前のフレームの第2の目標領域との画素類似度を検出するステップは、
前記現在のフレームの第1の目標領域の画素値と前記前のフレームの第2の目標領域の画素値とを取得するステップと、
前記現在のフレームの第1の目標領域の画素値と前記前のフレームの第2の目標領域の画素値とに基づき、プリセットアルゴリズムに従って前記現在のフレームの第1の目標領域の画素と前記前のフレームの第2の目標領域の画素との類似度を計算するステップと、を含む。
【0091】
本開示の1つ又は複数の実施例によれば、前記プリセットアルゴリズムは、絶対誤差和、時間領域を周波数領域に変換して絶対値を加算するアルゴリズム、及び二乗和誤差のうちの少なくとも1つを含む。
【0092】
本開示の1つ又は複数の実施例によれば、前記現在のフレームの第1の目標領域の符号化対象領域の画素ハッシュテーブルに基づいて、参照領域の画素ハッシュテーブルをトラバースし、前記符号化対象領域に対してフレームのイントラブロックコピー処理又はハッシュベース動き探索処理を行うステップは、
前記現在のフレームの第1の目標領域の符号化対象領域の画素ハッシュテーブルに基づいて、前記符号化対象領域に近い順に、前記参照領域の画素ハッシュテーブルをトラバースし、目標参照ブロックを得るステップと、
前記目標参照ブロックに基づいて、前記現在のフレームの第1の目標領域の符号化対象領域に対してフレームのイントラブロックコピー処理又はハッシュベース動き探索処理を行うステップと、を含む。
【0093】
本開示の1つ又は複数の実施例によれば、前記現在のフレームの第1の目標領域の符号化対象領域の画素ハッシュテーブルに基づいて、参照領域の画素ハッシュテーブルをトラバースし、前記符号化対象領域に対してフレームのイントラブロックコピー処理又はハッシュベース動き探索処理を行うステップの後に、前記方法は、さらに、
前記第1の目標領域は前記スクリーンコンテンツが分割されて得た複数の領域の最後の領域であるかどうかを判断し、そうである場合、前記スクリーンコンテンツの現在のフレームの処理を完了し、そうでない場合、前記スクリーンコンテンツの前記現在のフレームの第1の目標領域の次の領域と前のフレームの前記次の領域に対応する同じ領域との画素類似度を検出するステップを引き続き実行するステップ、を含む。
【0094】
本開示の1つ又は複数の実施例によれば、前記現在のフレームの第1の目標領域の画素ハッシュ値を計算して画素ハッシュテーブルを作成するステップは、前記現在のフレームの第1の目標領域の各画素位置の対応するハッシュ値を計算するステップと、前記現在のフレームの第1の目標領域の各画素位置のハッシュ値をkey値として、画素位置をvalue値として用いて、前記画素ハッシュテーブルを作成するステップと、を含む。
【0095】
本開示の1つ又は複数の実施例によれば、前記類似度が第1の検出結果を満たすことは、前記類似度が設定された類似度しきい値より大きいことであり、前記類似度が第2の検出結果を満たすことは、前記類似度が設定された類似度しきい値以下である。
【0096】
本開示の1つ又は複数の実施例によれば、スクリーンコンテンツを複数の領域に分割するステップは、前記スクリーンコンテンツをN×N個の矩形領域に分割するステップを含み、Nが正の整数である。
【0097】
本開示の1つ又は複数の実施例によれば、前記方法は、さらに、前記第1の目標領域のサイズに基づいて前記類似度しきい値を決定するステップを含む。
【0098】
第2の態様では、本開示の1つ又は複数の実施例によれば、スクリーンコンテンツ処理装置を提供し、前記装置は、
スクリーンコンテンツを複数の領域に分割するために用いられる分割モジュールと、
前記スクリーンコンテンツの現在のフレームの第1の目標領域と前のフレームの第2の目標領域との画素類似度を検出するために用いられる判断モジュールであって、前記第1の目標領域と前記第2の目標領域とはスクリーンコンテンツの互いに対応する領域である判断モジュールと、
前記類似度が第1の検出結果を満たす場合、前記前のフレームの第2の目標領域の画素ハッシュテーブルを前記現在のフレームの第1の目標領域の画素ハッシュテーブルとするために用いられる多重化モジュールと、
前記類似度が第2の検出結果を満たす場合、前記現在のフレームの第1の目標領域の画素ハッシュ値を計算して画素ハッシュテーブルを作成するために用いられる計算モジュールと、
前記現在のフレームの第1の目標領域の符号化対象領域の画素ハッシュテーブルに基づいて、参照領域の画素ハッシュテーブルをトラバースし、前記符号化対象領域に対してフレームのイントラブロックコピー処理又はハッシュベース動き探索処理を行うために用いられる符号化モジュールと、を含む。
【0099】
本開示の1つ又は複数の実施例によれば、前記判断モジュールは、具体的に、前記現在のフレームの第1の目標領域の画素値と前記前のフレームの第2の目標領域の画素値とを取得すること、及び、前記現在のフレームの第1の目標領域の画素値と前記前のフレームの第2の目標領域の画素値とに基づき、プリセットアルゴリズムに従って前記現在のフレームの第1の目標領域の画素と前記前のフレームの第2の目標領域の画素との類似度を計算すること、に用いられる。
【0100】
本開示の1つ又は複数の実施例によれば、前記プリセットアルゴリズムは、絶対誤差和、時間領域を周波数領域に変換して絶対値を加算するアルゴリズム、及び二乗和誤差のうちの少なくとも1つを含む。
【0101】
本開示の1つ又は複数の実施例によれば、前記符号化モジュールは、具体的に、前記現在のフレームの第1の目標領域の符号化対象領域の画素ハッシュテーブルに基づいて、前記符号化対象領域に近い順に、前記参照領域の画素ハッシュテーブルをトラバースし、目標参照ブロックを得ること、及び、前記目標参照ブロックに基づいて、前記現在のフレームの第1の目標領域の符号化対象領域に対してフレームのイントラブロックコピー処理又はハッシュベース動き探索処理を行うこと、に用いられる。
【0102】
本開示の1つ又は複数の実施例によれば、前記判断モジュールは、さらに、前記第1の目標領域は前記スクリーンコンテンツが分割されて得た複数の領域の最後の領域であるかどうかを判断し、そうである場合、前記スクリーンコンテンツの現在のフレームの処理を完了し、そうでない場合、前記スクリーンコンテンツの前記現在のフレームの第1の目標領域の次の領域と前のフレームの前記次の領域に対応する同じ領域との画素類似度を検出するステップを引き続き実行すること、に用いられる。
【0103】
本開示の1つ又は複数の実施例によれば、前記計算モジュールは、具体的に、前記現在のフレームの第1の目標領域の各画素位置の対応するハッシュ値を計算すること、及び、前記現在のフレームの第1の目標領域の各画素位置のハッシュ値をkey値として、画素位置をvalue値として用いて、前記画素ハッシュテーブルを作成すること、に用いられる。
【0104】
本開示の1つ又は複数の実施例によれば、前記分割モジュールは、具体的に、前記スクリーンコンテンツをN×N個の矩形領域に分割するために用いられ、Nが正の整数である。
【0105】
本開示の1つ又は複数の実施例によれば、前記装置は、さらに、前記第1の目標領域のサイズに基づいて前記類似度しきい値を決定するために用いられるしきい値決定モジュールを含む。
【0106】
第3の態様では、本開示の1つ又は複数の実施例によれば、少なくとも1つのプロセッサとメモリとを含む電子機器を提供し、
前記メモリにはコンピュータ実行命令が記憶されており、
前記少なくとも1つのプロセッサが前記メモリに記憶されているコンピュータ実行命令を実行すると、前記少なくとも1つのプロセッサが上記の第1の態様及び第1の態様の様々な可能な設計に記載されているスクリーンコンテンツ処理方法を実行する。
【0107】
第4の態様では、本開示の1つ又は複数の実施例によれば、コンピュータ可読記憶媒体を提供し、前記コンピュータ可読記憶媒体にはコンピュータ実行命令が記憶されており、プロセッサが前記コンピュータ実行命令を実行するとき、上記の第1の態様及び第1の態様の様々な可能な設計に記載されているスクリーンコンテンツ処理方法が実現される。
【0108】
第5の態様では、本開示の実施例は、コンピュータプログラムを含む、コンピュータプログラム製品を提供し、前記コンピュータプログラムがプロセッサにより実行されるとき、上記の第1の態様及び第1の態様の様々な可能な設計に記載されているスクリーンコンテンツ処理方法が実現される。
【0109】
第6の態様では、本開示の実施例は、コンピュータプログラムを提供し、当該コンピュータプログラムがプロセッサにより実行されるとき、上記のいずれか1項に記載されているスクリーンコンテンツ処理方法が実現される。
【0110】
上記した説明は、本開示のいくつかの好ましい実施例に関する説明、及び適用される技術的原理に関する説明にすぎない。当業者は、本開示の実施例に係る発明範囲は、上記の技術的特徴の特定の組み合わせによって形成される解決手段に限定されず、上記の発明構想から逸脱することなく、上記の技術的特徴又はそれらの同等の特徴の任意の組み合わせによって形成される他の解決手段、例えば、上記特徴を、本開示で開示される(ただしこれに限定されない)同様の機能を有する技術的特徴に置き換えることによって形成される解決手段もカバーすべきであることを理解すべきである。
【0111】
なお、特定の順序で各操作について説明したが、これらの操作は示されている特定の順序又は順番に実行されることを要求するものと理解されるべきではない。マルチタスクや並列処理は、一定の環境下では有利である場合がある。同様に、上記の説明にはいくつかの具体的な実現の詳細が含まれるが、これらは本開示の範囲を限定するものとして解釈されるべきではない。個々の実施例のコンテキストにおいて説明される特定の特徴は、単一の実施例において組み合わせて実現されてもよい。逆に、単一の実施例のコンテキストにおいて説明される様々な特徴は、複数の実施例において、単独で又は任意の適切なサブ組合せで実現されてもよい。
【0112】
本主題は、構造的特徴及び/又は方法的論理動作に固有の言語を用いて説明されてきたが、添付の特許請求の範囲に限定される主題は、必ずしも上記の特定の特徴又は動作に限定されないことが理解されるべきである。逆に、上記の特定の特徴及び動作は、特許請求の範囲を実施するための例示的な形態にすぎない。
【0113】
本願は2021年02月05日に中国特許局に提出された、出願番号が202110164130.9で、発明の名称が「スクリーンコンテンツ処理方法、装置及び機器」という中国特許出願の優先権を主張し、その全ての内容は援用によって本願に組み合わせられる。
【手続補正3】
【補正対象書類名】図面
【補正方法】変更
【補正の内容】
【手続補正4】
【補正対象書類名】図面
【補正方法】変更
【補正の内容】
【国際調査報告】