(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2022-05-18
(45)【発行日】2022-05-26
(54)【発明の名称】ビデオ処理装置およびビデオストリームの処理方法
(51)【国際特許分類】
H04N 19/119 20140101AFI20220519BHJP
H04N 19/176 20140101ALI20220519BHJP
H04N 19/166 20140101ALI20220519BHJP
H04N 19/134 20140101ALI20220519BHJP
【FI】
H04N19/119
H04N19/176
H04N19/166
H04N19/134
【外国語出願】
(21)【出願番号】P 2020196826
(22)【出願日】2020-11-27
【審査請求日】2020-11-27
(32)【優先日】2020-08-03
(33)【優先権主張国・地域又は機関】TW
(73)【特許権者】
【識別番号】504429600
【氏名又は名称】緯創資通股▲ふん▼有限公司
【氏名又は名称原語表記】WISTRON CORPORATION
(74)【代理人】
【識別番号】100147485
【氏名又は名称】杉村 憲司
(74)【代理人】
【識別番号】230118913
【氏名又は名称】杉村 光嗣
(74)【代理人】
【識別番号】100134577
【氏名又は名称】石川 雅章
(72)【発明者】
【氏名】李 元兵
(72)【発明者】
【氏名】丁 筱▲ウェン▼
【審査官】岩井 健二
(56)【参考文献】
【文献】国際公開第2013/089129(WO,A1)
【文献】Santiago De-Luxan-Hernandez, et al.,AN INTRA SUBPARTITION CODING MODE FOR VVC,ICIP 2019,IEEE,2019年,pp.1203-1207
【文献】Mu Li et al.,Learning Convolutional Networks for Content-weighted Image Compression,arXiv,2017年09月19日,arXiv:1703.10553v2,pp.1-11
【文献】Kai Han et al.,AUTOENCODER INSPIRED UNSUPERVISED FEATURE SELECTION,arXiv,2018年04月09日,arXiv:1710.08310v3,pp.1-5
(58)【調査した分野】(Int.Cl.,DB名)
H04N 19/00 - 19/98
(57)【特許請求の範囲】
【請求項1】
画像フレーム内に少なくとも1つの符号化単位を形成するステップであって、前記画像フレームは画像シーケンスの画像であり、各符号化単位は属するブロックの符号化情報を記録するものである、ステップと、
前記画像シーケンスの符号化単位内の複数のサブ符号化単位を、前記サブ符号化単位内の第1のサブ符号化単位と第2のサブ符号化単位の相関関係に従って符号化するステップと、
前記画像シーケンスの符号化された結果に従ってビデオストリームを生成するステップと、
を備
え、
前記画像シーケンスの前記符号化単位内の前記サブ符号化単位を前記サブ符号化単位内の前記第1のサブ符号化単位と前記第2のサブ符号化単位の相関関係に従って符号化するステップは、
前記第1のサブ符号化単位と前記第2のサブ符号化単位との間の差に従って前記第1のサブ符号化単位または前記第2のサブ符号化単位の単位サイズを決定するステップであって、前記第2のサブ符号化単位は、前記画像シーケンス内の前記画像フレームとは異なる別のフレーム内の対応するサブ符号化単位であるステップ、または
前記第1のサブ符号化単位と前記第2のサブ符号化単位との間の差に従って、前記第1のサブ符号化単位または前記第2のサブ符号化単位のどちらの符号化を実行するかを決定するステップであって、前記第2のサブ符号化単位は前記第1のサブ符号化単位と同じ画像フレーム内の別のサブ符号化単位であるステップ、を含み、
前記第1のサブ符号化単位または前記第2のサブ符号化単位の単位サイズを決定するステップは、
前記第1のサブ符号化単位に対して異常検出モデルを利用して時間的差シーケンスを取得するステップあって、前記時間的差シーケンスは前記異常検出モデルの出力と前記第1のサブ符号化単位の間の差に関する、ステップと、
前記時間的差シーケンスに対応する単位サイズを決定するステップと、
を含み、
前記第1のサブ符号化単位または前記第2のサブ符号化単位のどちらの符号化を実行するかを決定するステップは、
自然画像に相関する前記画像フレームの統計的分布を決定するステップ、を含む、
ビデオストリームの処理方法。
【請求項2】
前記第1のサブ符号化単位または前記第2のサブ符号化単位の単位サイズを決定するステップは、
前記第2のサブ符号化単位を
前記異常検出モデルに入力して復元された単位を取得するステップであって、前記異常検出モデルは、機械学習アルゴリズムに基づいて前記第1のサブ符号化単位をトレーニングデータとして使用することによりトレーニングされる、ステップと、
前記第1のサブ符号化単位と前記第2のサブ符号化単位の復元された単位との間の差に従って時間的差シーケンスを形成するステップと
、
復号された前記ビデオストリームの画質に応じて前記単位サイズを変化させるステップと、
を
更に含む、請求項1に記載のビデオストリームの処理方法。
【請求項3】
前記第1のサブ符号化単位と前記第2のサブ符号化単位との間の差は、前記第1のサブ符号化単位と前記第2のサブ符号化単位のピクセル間の絶対差(SAD)の総和であ
り、
前記第1のサブ符号化単位または前記第2のサブ符号化単位のどちらの符号化を実行するかを決定するステップは
、
前記画像フレームの統計的分布に従って、前記第1のサブ符号化単位および前記第2のサブ符号化単位に対応する統計的分布をそれぞれ決定するステップと、
前記第1のサブ符号化単位および前記第2のサブ符号化単位に対応する統計的分布に従って、前記第1のサブ符号化単位または前記第2のサブ符号化単位のどちらの符号化を実行するかを決定するステップと、
前記差が空間的差閾値未満であることに応答して、前記第1のサブ符号化単位または前記第2のサブ符号化単位の符号化を無効にするステップと、
前記第1のサブ符号化単位または前記第2のサブ符号化単位を第3のサブ符号化単位に結合して結合単位を形成するステップであって、前記第3のサブ符号化単位と前記第1のサブ符号化単位または前記第2のサブ符号化単位との差が前記空間的差閾値未満である、ステップと、
前記結合単位の符号化を実行するステップと、
前記差が前記空間的差閾値以上であることに応答して、前記第1のサブ符号化単位または前記第2のサブ符号化単位の符号化を実行するステップと、
を
更に含む、請求項1に記載のビデオストリームの処理方法。
【請求項4】
前記第1のサブ符号化単位と前記第2のサブ符号化単位との間の差に従って、前記第1のサブ符号化単位または第2のサブ符号化単位のどちらの符号化を実行するかを決定するステップは、
前記ビデオストリームを送信するための送信帯域幅に従って、複数の符号化レベルのうちの1つを決定するステップと、
決定された符号化レベルに応じて前記空間的差閾値を変更するステップ、または
復号化されたビデオストリームの画質に応じて空間的差閾値を変更するステップと、を
更に含む、請求項3に記載のビデオストリームの処理方法。
【請求項5】
データを送信または受信するように構成された通信トランシーバと、
前記通信トランシーバに結合されたプロセッサと、
を備え、
前記プロセッサは、
画像フレーム内に少なくとも1つの符号化単位を形成し、前記画像フレームは画像シーケンスの画像であり、各符号化単位は、属するブロックの符号化情報を記録し、
前記画像シーケンスの符号化単位内の複数のサブ符号化単位を前記サブ符号化単位の第1のサブ符号化単位と第2のサブ符号化単位との間の相関に従って符号化し、
前記画像シーケンスの符号化された結果に従ってビデオストリームを生成し、該ビデオストリームを通信トランシーバを介して送信するように構成さ
れ、
前記第1のサブ符号化単位と前記第2のサブ符号化単位との間の差に従って前記第1のサブ符号化単位または前記第2のサブ符号化単位の単位サイズを決定し、前記第2のサブ符号化単位は、前記画像シーケンス内の前記画像フレームとは異なる別のフレーム内の対応するサブ符号化単位であって、または
前記第1のサブ符号化単位と前記第2のサブ符号化単位との間の差に従って、前記第1のサブ符号化単位または前記第2のサブ符号化単位のどちらの符号化を実行するかを決定し、前記第2のサブ符号化単位は前記第1のサブ符号化単位と同じ画像フレーム内の別のサブ符号化単位であって、
前記第1のサブ符号化単位に対して異常検出モデルを利用して時間的差シーケンスを取得するのであって、前記時間的差シーケンスは前記異常検出モデルの出力と前記第1のサブ符号化単位の間の差に関し、
前記時間的差シーケンスに対応する単位サイズを決定し、
自然画像に相関する前記画像フレームの統計的分布を決定する、
ビデオ処理装置。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、ビデオ符号化技術、より具体的には、ビデオ処理装置およびビデオストリームの処理方法に関する。
【背景技術】
【0002】
近年、機械学習技術は、多くの分野、特にコンピュータビジョンおよび画像処理において多くの注目すべき成果をあげている。ただし、機械学習に基づくビデオ符号化はまだ初期段階である。ビデオ符号化はVoIPの基礎であり、その効率はユーザエクスペリエンスに直接影響する。背景ノイズ抑制、エコーキャンセレーション、音声および顔認識などの他のビデオアプリケーションと比較して、ビデオ符号化は現在最も急速に成長しており、機械学習を通じて通話/ビデオの品質を向上または改善するために使用することができる。注目に値するのは、第5世代(5G)通信時代の到来とともに、で効率的なモバイル伝送要件の出現後に、画像伝送品質の問題が再び注目されるようになり、高効率ビデオ符号化が常にネットワーク伝送の限界を打ち破ろうとしている。
【0003】
長距離音声会議のアプリケーションにおいて、VoIPは、コストを節約するだけでなく、複数の人々が同時にオンラインで会話することを可能にし、様々な会議ツール(例えば、プレゼンテーションツール、ライブストリーミングなど)を通じて没入型の会議体験を提供する。しかし、オンラインユーザ数の増加に伴い、ネットワークの帯域幅需要と接続数は相対的に2倍になり、チャネルの輻輳のためにビデオと音声の遅延時間も制御が困難になっている。現時点では、会議の品質(サービス品質(QoS)/エクスペリエンス品質(QoE)など)が大幅に低下することがよくある。VoIPは通常、有線ネットワークを介してインターネットに接続される。ただし、近年、モバイル通信(4Gまたは5Gモバイルネットワークなど)を介してサービスを提供する需要が高まっている。したがって、より多くのリソースを管理および展開すると、コストが増加するだけでなく、不可能なタスクになることがある(たとえば、モバイル環境では帯域幅が上限を超えることはできない)。ビデオ技術の進歩、特に超高精細(UHD)ビデオの普及に伴い、限られたストレージスペースと限られた送信帯域幅でUHDビデオに対応するために、圧縮効率をさらに向上させることが急務となっている。したがって、リソースをどのように効果的に管理および制御するかは、業界が解決を期待する課題の1つである。
【0004】
さらに、ネットワーク帯域幅の継続的な増加に伴い、リアルタイム会議ビデオサービスの需要も増加する。帯域幅が限られている場合や割り当てが不十分な場合、パケット送信遅延、ジッター、パケット損失などのネットワークパフォーマンスの低下を引き起こしやすく、VoIPビデオの品質が低下する。したがって、リアルタイムビデオ伝送の品質をどのように維持するかも、業界が解決を期待する課題の1つである。
【発明の概要】
【発明が解決しようとする課題】
【0005】
上記に鑑み、本発明の実施形態は、計算の複雑さを低減するとともに画像送信要件を満たすために、画像フレーム内の異なるブロック間の差に基づいて符号化を実行するビデオ処理装置およびビデオストリームの処理方法を提供する。
【課題を解決するための手段】
【0006】
本発明の実施態様によるビデオストリームの処理方法は、以下のステップを含む(ただしそれらに限定されない)。符号化単位を画像フレーム内に形成する。画像シーケンスの符号化単位内の複数のサブ符号化単位を、これらのサブ符号化単位のうちの第1のサブ符号化単位と第2のサブ符号化単位との相関関係に従って符号化する。ビデオストリームを画像シーケンスの符号化された結果に従って生成する。画像フレームは画像シーケンスの画像であり、各符号化単位は下位ブロックの符号化情報を記録する。
【0007】
本発明の実施態様によるビデオ処理装置は、通信トランシーバおよびプロセッサを含む(ただしそれらに限定されない)。通信トランシーバは、データを送信または受信するように構成される。プロセッサは、通信トランシーバに結合され、画像フレーム内に符号化単位を形成し、画像シーケンスの符号化単位内の複数のサブ符号化単位をこれらのサブ符号化単位のうちの第1のサブ符号化単位と第2のサブ符号化単位との相関関係に従って符号化し、画像シーケンスの符号化された結果に従ってビデオストリームを生成するように構成される。画像フレームは画像シーケンスの画像であり、各符号化単位は所属ブロックの符号化情報を記録する。
【発明の効果】
【0008】
上記に基づいて、本発明の実施態様のビデオ処理装置およびビデオストリームの処理方法は、画像フレームの符号化単位を処理し、符号化単位内のサブ符号化単位間の空間的および時間的相関関係に従って異なるサブ符号化単位を決定するための判定を行うため、より小さい差を有するサブ符号化単位は無視することができる。したがって、符号化の複雑さが軽減され、ユーザエクスペリエンスを向上させることができる。
【0009】
上記をより理解容易にするために、いくつかの実施形態を図面とともに以下に詳細に説明する。
【図面の簡単な説明】
【0010】
【
図1】本発明の一実施形態によるビデオストリームシステムのブロック図である。
【
図2】本発明の一実施形態によるビデオストリームの処理方法のフローチャートである。
【
図4】各単位の対応する処理ステップを示すフローチャートである。
【
図5】本発明の一実施形態による復号化処理方法のフローチャートである。
【
図6A】オートエンコーダ(AE)を示す例である。
【
図6B】本発明の実施形態による単位サイズを決定するために使用されるAEを示す概略図である。
【
図7】本発明の一実施形態による画質評価方法のフローチャートである。
【発明を実施するための形態】
【0011】
図1は、本発明の実施形態によるビデオストリームシステム1のブロック図である。
図1に示されるように、ビデオストリームシステム1は、1つまたは複数のクライアント装置50およびビデオ処理装置100を含む(ただしこれらに限定されない)。
【0012】
クライアント装置50は、デスクトップコンピュータ、ノートブックコンピュータ、スマートフォン、スマートテレビ、タブレット、またはセットトップボックスであり得る。クライアント装置50は、通信トランシーバ51、メモリ53、ディスプレイ55、およびプロセッサ57を含む(ただしこれらに限定されない)。
【0013】
通信トランシーバ51は、イーサネット、光ファイバネットワーク、モバイルネットワーク、Wi-Fiまたは他の通信技術をサポートする送信回路および受信回路であり得る。一実施形態では、通信トランシーバ51は、インターネットまたはローカルエリアネットワークに接続して、ビデオ処理装置100との間でデータを送受信するために使用される。
【0014】
メモリ53は、ランダムアクセスメモリ(RAM)、読み取り専用メモリ(ROM)、フラッシュメモリ、ハードディスクドライブ(HDD)、ソリッドステートドライブ(SDD)または任意の固定式または可動式の他の同様のデバイス、または上記のデバイスの組み合わせであり得る。一実施形態では、メモリ53は、ソフトウェアモジュール、アプリケーションプログラムおよびそれらのコード、ならびに他の一時的または永続的なデータまたはファイル(例えば、画像シーケンス、画像フレーム、符号化情報、ビデオストリーム、品質評価モデル)を格納するために使用され、これらのデータは、後記の実施形態で詳述される。
【0015】
ディスプレイ55は、液晶ディスプレイ(LDC)、発光ダイオード(LED)ディスプレイ、または有機発光ダイオード(OLED)であり得る。一実施形態では、ディスプレイ55は、画像フレームまたはユーザインターフェースを表示するために使用される。
【0016】
プロセッサ57は、中央処理装置(CPU)、グラフィック処理装置(GPU)、マイクロ制御装置(MCU)、または特定用途向け集積回路(ASIC)などの計算装置であり得る。一実施形態では、プロセッサ57は、クライアント装置50のすべての動作を実行するために使用され、メモリ53に格納されたソフトウェアモジュールまたはアプリケーションプログラムをロードして実行することができる。これに関する詳細な動作は、後記の実施形態で説明される。
【0017】
ビデオ処理装置100は、デスクトップコンピュータ、ノートブックコンピュータ、サーバー、クラウドプラットフォーム、またはバックグラウンドホストであり得る。ビデオ処理装置100は、通信トランシーバ110、メモリ130、およびプロセッサ170を含む(ただしこれらに限定されない)。
【0018】
通信トランシーバ110、メモリ130、およびプロセッサ170の実装の態様は、通信トランシーバ51、メモリ53、およびプロセッサ57の説明をそれぞれ参照することができ、以下で繰り返されない。
【0019】
一実施形態では、通信トランシーバ110は、インターネットまたはローカルエリアネットワークに接続して、クライアント装置50との間でデータを送受信するために使用される。
【0020】
一実施形態では、メモリ130は、ソフトウェアモジュール、アプリケーションプログラムおよびそれらのコード、ならびに他の一時的または永続的なデータまたはファイル(例えば、画像シーケンス、画像フレーム、符号化情報、ビデオストリーム、異常検出モデル)を格納するために使用され、これらのデータは、後記の実施形態で詳述される。
【0021】
一実施形態では、プロセッサ170は、ビデオ処理装置100のすべての動作を実行するために使用され、メモリ130に格納されたソフトウェアモジュールまたはアプリケーションプログラムをロードして実行することができる。これに関する詳細な動作は後記の実施形態で説明される。
【0022】
以下で、ビデオストリームシステム1の様々なデバイス、コンポーネント、およびモジュールを使用して、本発明の実施形態による方法を説明する。各プロセスは、実際の実施に基づいて調整することができ、本発明はそれに限定されない。
【0023】
図2は、本発明の一実施形態によるビデオストリームの処理方法のフローチャートである。
図2を参照すると、プロセッサ170は、画像フレーム内に1つまたは複数の符号化単位を形成する(ステップS210)。具体的には、画像フレームは、画像シーケンス(すなわち、複数のフレームにより形成されるシーケンス)内のフレームである。画像シーケンスは、カメラ、ビデオレコーダー、またはモニターによってキャプチャされたデジタルビデオデータであり得、また、アニメーション、映画、コマーシャルまたはTVシリーズ用に任意のコンピューティングデバイス(例えば、コンピュータ、またはスマートフォン)によって形成および編集されたビデオデータであり得る。元の画像シーケンスはかなりの量の情報(たとえば、各ピクセルの色や明るさ)を含む可能性があり、送信または保存するにはデータ量が多すぎる可能性がある。したがって、画像シーケンスに対してビデオ圧縮処理を実行する必要がある。
【0024】
一実施形態では、高効率ビデオコーディング(HEVC)または高度ビデオコーディング(MPEG-4パート10; MPEG-4 AVC)などのビデオコーディング標準の場合、画像シーケンス内の1つまたは複数の画像フレームはさらに1つまたは複数の処理単位(例えば、符号化ツリー単位(CTU)、マクロブロックまたは他の基本的な符号化単位)に分割される。各処理単位は、対応して1つまたは複数の符号化単位にさらに分割され得る。各符号化単位は、属するブロックの符号化情報(符号化モード、明るさ、色、シンタックスなど)を記録するために使用される。
【0025】
HEVCを例にとると、画像シーケンスがHEVC技術で符号化するために入力される前に、画像シーケンス内の画像フレームはそれぞれ等しいサイズの符号化ツリー単位に分割され、次いで符号化のためにエンコーダに入力される。ブロックはデータが格納される場所であり、1つの単位は多くのブロックとシンタックス要素で形成される。入力画像がYUV(Luma-Chroma-Concentration)のカラー符号化フォーマットを採用している場合、符号化ツリー単位は、1つの輝度符号化ツリーブロック(CTB)、2つのクロマ符号化ツリーブロック、およびシンタックス要素で構成される。他の実施形態では、カラー符号化フォーマットは、RGB(赤-緑-青)または他のフォーマットであり得る。
【0026】
一実施形態では、符号化単位をさらに分割して、1つまたは複数のサブ符号化単位を形成することができる。いくつかのビデオ符号化メカニズムでは、画像フレームは、ブロックの実際の値と、インター予測またはイントラ予測の予測値との残差(すなわち、実際の値と予測値との差分)を記録することによって圧縮される。サブ符号化単位は、属するブロックの予測値と実際の値との残差を記録するために使用される。
【0027】
HEVCを例にとると、符号化単位をさらに分割して、1つまたは複数の予測単位(PU)(輝度および彩度予測ブロックから構成される)および変換単位(TU;サブ符号化単位として機能する)を形成することができる。
図3は、単位を示す例である。
図3に示されるように、符号化ツリー単位は、異なるサイズの符号化単位CU
1、CU
2、およびCU
3を含み得る(サイズは、例えば、それぞれ、32×32、16×16および8×8ピクセルである)。符号化単位CU
2は、8×8ピクセルの予測単位PU、8×8ピクセルの変換単位TU
1、および4×4ピクセルの変換単位TU
2をさらに含むことができる。
【0028】
図4は、各単位の対応する処理ステップを示すフローチャートである。
図4に示されるように、画像シーケンスの入力後(ステップS405)、プロセッサ170は、各画像フレームにより形成された符号化単位CUのそれぞれを処理する。符号化プロセス410の場合、予測単位PUに関して、プロセッサ170は、イントラ予測モード(ステップS411)またはインター予測モード(ステップS414)を実行することができる。イントラ予測モードは、イントラ予測推定(ステップS412)およびイントラ予測(ステップS413)を含む。インター予測モードは、動き推定(ステップS415)および動き補償(ステップS416)を含む。イントラ予測モードまたはインター予測モードの予測値と元の画像の実際の値との差が残差である。変換単位TUに関して、変換(ステップS417)および量子化(ステップS418)を介して残差から形成された係数データ、動的データ(例えば、動的ベクトル)、および予測モードで推定されたフィルター制御データ(インター予測およびイントラ予測のうちの1つ)が、ヘッダー形成およびエントロピー符号化(ステップS425)で使用されて、ビットストリームを形成することができる(これは、通信トランシーバ110によってさらにパケットに変換され、ネットワークを介してクライアント装置50に送信され得る(他のサーバー経由で転送される場合もある)。
【0029】
復号化プロセス430の場合、クライアント装置50のプロセッサ57が、変換単位TUに対して逆量子化(ステップS431)および逆変換(ステップS432)を実行して、残差を復元することができる。残差と予測値が組み合わされた後、フィルター制御分析(たとえば、ループフィルターの確認)(ステップS433)およびデブロッキングおよびSAO(サンプルアダプティブオフセット)フィルター(ステップS434)で処理され、画像フレームが復元され、その画像フレームは、ディスプレイ55で再生するためにフレームバッファ(ステップS435)に格納される。
【0030】
いくつかの実施形態では、サブ符号化単位は、異なるビデオコーディング仕様に従って、変換単位とは異なる名前を有し得ることに注意されたい。
【0031】
プロセッサ170は、サブ符号化単位内の第1のサブ符号化単位と第2のサブ符号化単位との相関関係に従って、画像シーケンスの符号化単位内のサブ符号化単位を符号化する(S220)。具体的には、HEVCはトラフィックを削減できるが、圧縮時間と解凍に必要な計算量が増えるため、圧縮の複雑さが大幅に増加する。調査によると、HEVCの符号化時間は平均してH.264/AVCより253%長く、マルチメディアアプリケーションの実装には実用的ではない。特にリアルタイムビデオのVoIPアプリケーションの場合、リアルタイムストリーミングの遅延は、多くの損失や誤解を引き起こす可能性がある。符号化単位を分割するための予測方法は、符号化単位を符号化における特定の特徴(例えば、画像コンテンツの複雑さ、動きベクトルなど)および人工的な決定規則に従ってどのように分割するかを決定することである。符号化単位は、変換単位(サブ符号化単位)を形成するために再帰的に異なるレベルのツリー構造(四分木構造など)に分割される。
【0032】
サブ符号化単位の符号化に対して、本発明の実施形態では、時間的および空間的次元が分析される。
図5は、本発明の実施形態による復号化のための処理方法のフローチャートである。
図5に示されるように、一実施形態では、相関は時間的相関である。プロセッサ170は、時間的相関に従って、サブ符号化単位の単位サイズを決定することができる(ステップS510)。具体的には、プロセッサ170は、第1のサブ符号化単位と第2のサブ符号化単位との差に応じて、第1のサブ符号化単位または第2のサブ符号化単位の単位サイズを決定する。第2のサブ符号化単位は、画像フレームとは異なる画像シーケンス内の別のフレーム内の対応するサブ符号化単位である。プロセッサ170は、「時間的」という概念を使用して、(時間的差シーケンスを形成するために)異なる画像フレーム間の差を決定し、時間的差を通じて対応する単位サイズを決定する。差が大きい場合(より多くの異なるピクセルを表す)、単位サイズは小さくなり、対応する情報量は大きくなる。差が小さい場合(より多くの類似したピクセルを表す)、単位サイズは大きくなり、対応する情報量は小さくなる。
【0033】
時間的差を取得するために、一実施形態では、プロセッサ170は、第2のサブ符号化単位を異常検出モデルに入力して、復元された単位を取得する。異常検出モデルは、機械学習アルゴリズムに基づくトレーニングデータとして最初のサブ符号化単位を使用してトレーニングされる。機械学習アルゴリズムは、オートエンコーダ(AE)、ノイズ除去オートエンコーダ、主成分分析(PCA)、またはその他のアルゴリズムとすることができる。一実施形態では、プロセッサ170は、異常検出モデルを形成するために、トレーニング用に1つまたは複数のシーン画像(例えば、会議室、オフィスでのビデオ会議画像、またはノーマル画像と見なされるライブストリーミング画像など)を機械学習アルゴリズムの初期モデルに入力することができる。いくつかの実施形態では、プロセッサ170はまた、テストデータ(すなわち、特定のシーン画像のコレクションなどの特定の画像データ)を異常検出モデルに入力して、異常検出モデルの正解率および失敗率を試験し、それに応じて異常検出モデルを修正することができる。
【0034】
オートエンコーダを例にとると、
図6Aは、オートエンコーダAEを示す一例である。
図6Aに示されるように、オートエンコーダAEのアーキテクチャは、2つの部分、すなわちそれぞれ圧縮と解凍操処理を実行するエンコーダとデコーダに細分することができる。トレーニングプロセスでは、出力値と入力値が同じ意味を持つようにトレーニングされる(損失関数の出力値と入力値が近いほど良い)。オートエンコーダAEのエンコーダは次元削減を実行でき、デコーダは削減を実行できるため、オートエンコーダAEは、低次元の特徴を使用して元の入力を近似すると解釈できる。元の入力OIをエンコーダで処理して、圧縮された埋め込み符号を取得することができる。この符号は、元の入力OIの圧縮表示CIである。中間符号化入力表現を取得するために、圧縮表示CIの符号はデコーダによって処理されて、再構成された入力RIを取得する。この出力の再構成された入力RIが元の入力OIと類似する場合、この圧縮表示CIと元の入力OIの間に特定のマッピング関係があることを示す。
【0035】
このオートエンコーダAEの概念がサブ符号化単位を分割する判断に適用される。トレーニングフェーズでは、プロセッサ170は、参照ブロックを使用して、オートエンコーダAEの異常検出モデルをトレーニングすることができる。例えば、参照ブロックは、前述のシーン画像または他の画像を、サブ符号化単位に対応する複数のトレーニングブロックに分割することができる。さらに、参照ブロックを入力データとして使用する異常検出モデルは、同じまたは類似のブロックを出力できると想定される。換言すれば、オートエンコーダAEによって参照ブロックを符号化してから復号化した後に得られる推定ブロックは、参照ブロックとほぼ同じになることが期待できる。次に、プロセッサ170は、トレーニングデータ内の入力オブジェクト(例えば、参照ブロック)および期待される出力結果(同じまたは類似の参照ブロック)に基づいて異常検出モデルをトレーニングするため、異常検出モデルに入力オブジェクトを入力することによって期待される出力結果(参照ブロックの推定ブロックとほぼ同じ)を得ることができる。例えば、プロセッサ170は、異常検出モデルに対応する関数の入力変数として入力オブジェクトを使用し、その関数の出力変数として出力結果を使用し、それに応じてその関数を見つけることができる。
【0036】
プロセッサ170は、第1のサブ符号化単位と第2のサブ符号化単位の復元された単位との差に従って、時間的差シーケンスを形成することができる。具体的には、プロセッサ170は、画像シーケンス内の1つの画像フレームの1つまたは複数のサブ符号化単位(例えば、第1のサブ符号化単位)をトレーニング用の参照ブロックとして使用し、トレーニングされた異常検出モデルを使用して、画像シーケンスの異なる時点での別の画像フレームの対応するサブ符号化単位(例えば、第2のサブ符号化単位)の復元された単位が参照ブロックに近いかどうかを推定する。第2のサブ符号化単位をオートエンコーダAEに入力して得られた推定ブロック(つまり、復元されたブロック)が、トレーニングに使用された参照ブロックと同じか近い場合、サブ符号化単位の動きの差が小さいことを意味する。オートエンコーダAEに第2のサブ符号化単位を入力することによって得られた推定ブロック(すなわち、復元されたブロック)がトレーニングに使用される参照ブロックと異なる場合、異常検出モデルは、サブ符号化単位が高い動きの差を有するものであり、さらに符号化する必要があると決定することができる。
【0037】
図6Bは、本発明の実施形態による、単位サイズを決定するために使用されるオートエンコーダAEを示す概略図である。
図6Bに示されるように、試験されるサブ符号化単位TUTの単位サイズは、例えば、32×32、16×16、8×8、または4×4ピクセルである。サブ符号化単位TUTは特定の単位サイズに分割されていると想定される。サブ符号化単位TUT(第1のサブ符号化単位に対応する)の値xは、新しい符号y(符号化空間CSに位置する)が得られるように、解析関数g
aによって変換される。その符号yは、量子化された値qが得られるように量子化される。ビットに圧縮された量子化値qは符号化率Rを測定するために使用することができる。次に、量子化値qを逆量子化して、符号
[外1]
を形成する。符号
[外2]
を合成関数g
sによって逆変換した後、再構成されたサブ符号化単位TUT(その値は
[外3]
)を取得することができる。次に、第2のサブ符号化単位を値
[外4]
に入力する。値xおよび
[外5]
を持つサブ符号化単位TUTを同じ関数g
p(たとえば、オートエンコーダの異常検出モデル)によって同時に変換して、それぞれ値zおよび
[外5]
(知覚空間PS内にある)を有する復元された単位を取得する。プロセッサ170は、式(1):
【数1】
から、両者の間の差Vを導出することができる(ここで、λは定数、Dは値zを
[外6]
に等しくするために使用される関数であり、平均二乗誤差(MSE)または差によって実装可能である)。
【0038】
当該時間的差シーケンス(インターフレームピクセル間の時間的相関に対応する)によって、プロセッサ170は、画像シーケンス内の異なる画像フレーム内の対応するサブ符号化単位の時系列に従って一連の差Vを生成し、それに応じて時間的差シーケンスを形成する。プロセッサ170は、時間的差シーケンスに対応する単位サイズを決定することができる。
【0039】
一実施形態では、プロセッサ170は、複数の時間的細かさグループ(それぞれ、異なる時間的粒度に対応する(異なる単位サイズに対応する))を設定し、時間的差シーケンスに対応する時間的細かさグループを決定することができる。たとえば、表(1)に、さまざまな時間的細かさグループT1~T4に対応する単位サイズを示す。
【表1】
【0040】
時間的細かさグループT1に属する差Vは、第1のサブ符号化単位の単位サイズが32×32ピクセル、すなわち平坦な領域または詳細でない情報に設定されることを意味する。時間的細かさグループT4に属する差Vは、第1のサブ符号化単位の単位サイズが4×4ピクセル、すなわちより詳細な情報に設定されることを意味する。残りは類推により推測できるので、ここでは繰り返し説明しない。さらに、
図6Cは、四分木構造を示す例である。
図6Cに示されるように、4つの時間的細かさグループが4つの階層を形成し、その階層に従って符号化を実行することができる。たとえば、1は分割された小さな単位を表すために使用されている。
【0041】
なお、表(1)の時間的細かさグループの数とそれに対応する単位サイズは一例であり、ユーザはそれらを必要に応じて変更することができる。さらに、いくつかの実施形態では、異なるトレーニングメカニズムに基づいて、異常検出モデルが第1のサブ符号化単位を特定の時間的細かさグループに直接分類するようにしてもよい。
【0042】
図5に戻り参照すると、一実施形態では、相関は空間相関である。プロセッサ170は、空間相関(ステップS530)に従って、サブ符号化単位で符号化を実行するかどうかを決定することができる。具体的には、プロセッサ170は、第1のサブ符号化単位と第2のサブ符号化単位との間の差に従って、符号化を実行するかどうかを決定する。この場合、第2のサブ符号化単位は、第1のサブ符号化単位と同じ画像フレーム内の別のサブ符号化単位である。プロセッサ170は、「空間的」の概念を使用して、同じ画像フレーム内の異なるブロック間の差(すなわち、空間的差または空間的相関)を決定する。一実施形態では、第1のサブ符号化単位と第2のサブ符号化単位との間の空間的差は、第1のサブ符号化単位と第2のサブ符号化単位のピクセルとの間の絶対差(SAD)の合計であり、その数式表現(2)は次のとおりである。
【数2】
ここで、SAD
1,2は第1のサブ符号化単位B
1と第2のサブ符号化単位B
2のピクセル座標(i、j)間の絶対差の合計である。iは1~Nの整数、jは1~Mの整数であり、NとMは正の整数である。
【0043】
他の実施形態では、空間的差は、第1のサブ符号化単位と第2のサブ符号化単位のピクセルとの間の平均差、二乗平均平方根誤差、または他の差の尺度とすることもできる。いくつかの実施形態では、
図5に示される実施形態は、
図4のイントラ符号化モードS411およびインター符号化モードS414に適用可能である。例えば、イントラ符号化モードS411では、オートエンコーダAEおよび時間的差シーケンスは、変換単位TUの分割サイズを決定するために使用される。別の例として、インター符号化モードS414では、変換単位TUの絶対差の合計を使用して、変換単位TUを符号化するかどうかを決定する。
【0044】
空間的差が得られた後、プロセッサ170は、第1のサブ符号化単位または第2のサブ符号化単位(例えば、画像フレーム内の特定のブロックに対応する)の符号化を実行するかどうかを空間的差の大きさに従って決定することができる。空間的差が大きい場合(例えば、空間的差閾値より小さくない、つまりピクセルがあまり類似していない場合)、プロセッサ170は、第1のサブ符号化単位または第2のサブ符号化単位の符号化を実行する。差が小さい場合(たとえば、空間的差しきい値よりも小さい、つまり、ピクセルがより類似している場合、たとえば、それらのピクセルがすべてオフィスの壁である(つまり、同じ背景)場合)、プロセッサ170は、第1のサブ符号化単位または第2のサブ符号化単位の符号化を無効にする。
【0045】
一実施形態では、符号化が無効にされた第1のサブ符号化単位または第2のサブ符号化単位に対して、プロセッサ170は、それらを空間的ピクセル差が小さい第3のサブ符号化単位と結合して結合単位を形成する。第3のサブ符号化単位と第1のサブ符号化単位または第2のサブ符号化単位との間の差は空間的差閾値より小さい。つまり、差の小さいサブ符号化単位が結合される。次に、プロセッサ170は、結合された単位の符号化を実行することができる。たとえば、第1のサブ符号化単位が残差を取得するために第3のサブ符号化単位の予測値を参照する。別の例として、第1のサブ符号化単位および第3のサブ符号化単位は、予測および符号化が同時に実行されるように一緒に結合される。
【0046】
別の実施形態では、プロセッサ170は、複数の空間レベル(それぞれ異なる空間的粒度に対応する)を設定し、空間的差に対応する空間レベルを決定することができる。これらの空間レベルは、それぞれ異なるピクセル間の差の程度に対応し、差の程度に従って分類される。たとえば、表(2)は、異なる空間レベルS1~S3に対応する値領域を示している。
【表2】
【0047】
0と第1レベルの上限との間にある空間的差の値は、空間レベルS1に分類され、第1サブ符号化単位と第2サブ符号化単位との間のピクセル差が小さいことを示す。第1レベルの上限と第2レベルの上限との間にある空間的差の値は、空間レベルS2に分類され、第1のサブ符号化単位と第2のサブ符号化単位との間のピクセル差が比較的大きいことを示す(粗いテクスチャであるかもしれない)。第2レベル上限と第3レベル上限との間にある空間的差の値は、空間レベルS3に分類され、第1サブ符号化単位と第2サブ符号化単位との間のピクセル差がさらに大きいことを示している(画像フレームのエッジピクセルであるかもしれない)。
【0048】
特定の実施形態では、プロセッサ170は、サブ符号化単位をどの空間レベルでさらに符号化する必要があるかを決定するために、符号化を第1レベルの上限、第2レベルの上限、または第3レベルの上限として実行するかどうかを決定するための空間的差閾値を設定することができる。
【0049】
表(2)の空間レベルの数およびそれらの対応する値領域は単なる一例であり、ユーザはそれらを必要に応じて変更できることに留意されたい。
【0050】
別の実施形態では、プロセッサ170は、自然画像に相関する画像フレーム全体の統計的分布を決定することができる。サブ符号化単位が分割された後、プロセッサ170は、第1のサブ符号化単位および第2のサブ符号化単位に対応する統計的分布を決定し、2つの統計的分布の差を決定し、それに応じて、第1のサブ符号化単位または第2のサブ符号化単位をさらに符号化する必要があるかどうかを決定する。別の実施形態では、プロセッサ170は、第1のサブ符号化単位または第2のサブ符号化単位に対応する統計分布が重要な特徴を含むかどうかを決定し、重要な特徴を有する第1のサブ符号化単位または第2のサブ符号化単位の符号化を実行することを決定することができる。具体的には、自然画像の統計的分布は、例えば、自然シーン統計(NSS)に基づくものである。自然シーン統計は、自然画像の統計的特性を表すことができる。プロセッサ170は、ウェーブレットまたはラプラスを使用して、統計的分布を計算することができる。画像フレーム全体の統計的分布を決定し、それをブロックに分割することによって、プロセッサ170は、ブロックが重要な特徴を含むかどうかを知ることができる。たとえば、人間の顔は非常に重要であると想定される。画像全体の統計分布の中で、人間の顔に対応する部分の統計分布は重要な特徴を示す。分割されたブロックが目である場合でも、統計分布はこのブロックが重要であることを示すことができる(つまり、目に対応する統計分布は人間の顔の統計分布の一部であるため、目は目に対応する統計分布から重要な特徴であると決定することができる)。自然シーン統計の対応する重要性に基づいて、異なるサブ符号化単位の2つの統計分布が類似している場合(たとえば、類似度しきい値の比較を使用する)、空間的変化が平坦な領域であることを意味する(つまり、それらは同様の重要性を有するため、符号化または結合/符号化は必要ない)。 2つの統計分布が類似していない場合は、空間的変化が大きいことを意味する(つまり、重要度の差が大きいため、符号化が必要である)。本発明の一実施形態では、絶対差の合計(SAD)から得られる空間的差が小さい場合、プロセッサは、第1のサブ符号化単位と第2のサブ符号化単位の統計的分布をさらに比較することができる。2つの統計分布が類似または同じである場合、符号化を無効にすることができる。2つの比較方法(つまり、絶対差の合計と統計的分布の比較)によって、空間的差評価の精度を保証することができる。
【0051】
別の実施形態では、画像をより小さな評価ブロックに分割することができ、ウェーブレットまたはラプラスを使用して、各評価ブロックの統計的分布を各評価ブロックの特徴値として計算する。これらの評価ブロックの特徴値は、符号化プロセスでの特徴抽出の確認として使用することができる。この特徴値は、NSSの規則性を表す。いくつかの実施形態では、シーン画像をより小さな評価ブロックに分割することもでき、ウェーブレットまたはラプラスを使用して、各評価ブロックの統計的分布を計算し、NSSの規則性評価を実行することができる。
【0052】
図2に戻り参照すると、サブ符号化単位の単位サイズの決定および有効化を実行するかどうかの決定に基づいて、プロセッサ170は、画像シーケンスの符号化された結果に従ってビデオストリームを生成することができる(ステップS230)。例えば、プロセッサ170は、設定された単位サイズを使用して、予測情報と実際の情報との間の残差、サブ符号化単位の結合/符号化、または設定されたサブ符号化単位を復号することにより生成されたビットストリーム、すなわち、符号化された結果(これは
図4の符号化プロセス410に関連し得るが、特定のビデオ符号化標準に限定されない)をもたらす。ビデオストリームは、通信トランシーバ110を介してさらに送信することができる。一方、クライアント装置50のプロセッサ57は、通信トランシーバ51を介してビデオ処理装置100からビデオストリームを直接的または間接的に受信し、ビデオストリームを復号化して(符号化操作とは逆の操作(例えば、逆量子化、逆変換、予測値の加算)を実行して)、再構成された画像フレームを取得することができ、それをさらにディスプレイ55により再生することができる。
【0053】
符号化の複雑さの低減に加えて、本発明の実施形態は、ユーザの視聴体験の低下を避けするために、画質をさらに考慮する。画質の評価方法は、客観的なものと主観的なものに大別することができる。客観的評価の一般的な数学モデルには、二乗平均平方根誤差(RMSE)、平均誤差(MSE)、およびピーク信号対雑音比(PSNR)が含まれる。二乗平均平方根誤差を例にとると、二乗平均平方根誤差の値が小さいほど、画像の類似度が高くなる。ただし、画質が良いという意味ではない。リアルタイムストリーミングの画質に関するユーザの主観的な視覚体験を提示するために、本発明の実施形態は、画質の評価要素として、ビットレート、ストリーミングコンテンツ、およびユーザ体験を含む3つのタイプの情報を使用する。
【0054】
「解像度」との互換性を前提として、より高いビットレートは、より高いビデオ品質に対応し得る。したがって、送信データのビットレートを上げると、人間の知覚品質を向上させることができる。リアルタイムストリーミングと帯域幅の有効利用によるユーザの品質満足度を向上させるためには、ビットレートが低いときに送信データの量を増加すべきである。本発明の実施形態は、ビットレートを大幅に増減するのではなく、リアルタイムストリーミングでユーザの主観的な品質満足度を満たすようにビットレートを調整するメカニズムとして「符号化レベル」を使用する。
【0055】
一実施形態では、プロセッサ170は、ビデオストリームを送信するための送信帯域幅に従って、複数の符号化レベルのうちの1つを決定することができる。これらの符号化レベルは、それぞれ前述の空間レベルに対応する。たとえば、符号化レベルb1は、表(2)の空間レベルS1に対応する。符号化レベルb2は空間レベルS2に対応する。符号化レベルb3は、空間レベルS3に対応する。符号化レベルは3つに制限されず、必要に応じて変更可能であることに注意されたい。
【0056】
画質維持を前提として、プロセッサ170は、データ送信トラフィックを増加または減少させるために、現在の送信帯域幅に従って利用可能な送信帯域幅に最も近いがそれを超えないように符号化レベルを設定することができる。主な概念は、リアルタイムストリーミングでは複雑なまたはより多くの変化がある画像の部分を処理(たとえば、符号化および送信)するが、単純な部分(たとえば、変化がないか、変化が少ない部分)は処理しないことにある。復号化する際、先に符号化された画像を予測に使用することができる。これらの動的調整方法により、リアルタイムストリーミングの品質(QoEなど)に対するユーザの期待を実現するように、符号化効率とトラフィック削減をさらにバランスさせることができる。
【0057】
送信帯域幅が帯域幅閾値未満である場合、それは利用可能な送信帯域幅が不十分であり、データ送信の量を減らす必要があることを意味する。したがって、符号化レベルを上げる必要がある。例えば、現在の符号化レベルが1レベル増加されるか、使用可能な送信帯域幅に応じて調整される。逆に、送信帯域幅が帯域幅のしきい値以上である場合、それは利用可能な送信帯域幅が十分であり、データ送信の量をさらに増やすことができることを意味する。したがって、符号化レベルを下げることができる。たとえば、現在の符号化レベルが1レベル下げられるか、最低レベルに下げられる。例えば、現在の符号化レベルがb2である場合に、送信帯域幅が40Kbps(すなわち、帯域幅閾値)未満のとき、プロセッサ170は、符号化レベルをb3に変更する。
【0058】
さらに、プロセッサ170は、決定された符号化レベルに従って、空間的差閾値を変更することができる。符号化レベルが増加すると(つまり、送信帯域幅が減少すると)、空間的差閾値も増加する。符号化レベルが低下すると(つまり、伝送帯域幅が増加すると)、空間的差閾値も低下する。たとえば、送信帯域幅が減少すると、符号化レベルはb3に増加し、エッジピクセルのブロックのみが符号化されて送信される。残りの部分については、先に符号化されたフレームを予測に使用して、データ送信の量を減らすことができる。逆に、送信帯域幅が大きくなると、符号化レベルがb2またはb1に下げられ、テクスチャまたはフラットブロックをさらに符号化して送信する必要がある。このようにして、伝送帯域幅の変化に応じて符号化メカニズムを再割り当てすることができるため、符号化効率とリアルタイムストリーミングでのユーザエクスペリエンスを向上させることができる。
【0059】
さらなる説明のために実際の状況を勘案して、現在の符号化レベルは空間レベルS2に対応するb2であり、帯域幅閾値は40Kbpsに設定されると仮定する。送信帯域幅が帯域幅閾値未満である場合、ビデオ会議アプリケーションは正常に動作しないため(遅延やパケット損失が発生する可能性がある)、リアルタイムビデオに対するユーザの期待に応えられない。
【0060】
送信帯域幅が帯域幅閾値未満になると、プロセッサ170は、空間的差閾値および符号化レベルを増加させることができる(ただし、最高空間レベルの上限および符号化レベルの上限を超えてはならない)。たとえば、符号化レベルがb3に増加し、空間的差閾値が空間レベルS3に設定される。つまり、サブ符号化単位がエッジである場合(つまり、空間的差が空間レベルS2の上限よりも大きい場合)にのみ符号化が必要とされる。つまり、符号化は、リアルタイムストリーミングの重要な点(そこでは空間的差が大きいサブ符号化単位が重要と見なされる)で実行され、全体的なビットレートを低下させ、符号化効率を向上させ、リアルタイムストリーミングの品質を維持することができる。
【0061】
別の実施形態では、ビデオ処理装置100は、画質評価に関するクライアント装置50のフィードバックに従って(例えば、上記のようなストリーミングコンテンツおよびユーザエクスペリエンスファクタに関して)符号化メカニズムを変更することができる。
図7は、本発明の一実施形態による画質評価方法のフローチャートである。
図7に示されるように、クライアント装置50のプロセッサ57は、ビデオストリーム内の画像に対して複数の評価対象ブロックを形成する(ステップS710)。具体的には、画像全体の全ピクセルを画質評価する従来の技術とは異なり、本発明の実施形態は、評価のための基本単位としてブロックを使用する。評価対象ブロックは、上記のサブ符号化単位の単位サイズまたは他のサイズとすることができる。
【0062】
プロセッサ57は、評価対象ブロックを品質評価モデルに入力することができる(ステップS730)。具体的には、品質評価モデルは機械学習アルゴリズムに基づいてトレーニングされる。機械学習アルゴリズムは、カプセルネットワーク(CapsNet)、畳み込みニューラルネットワーク(CNN)、高密度畳み込みネットワーク(DenseNet)、またはその他のアルゴリズムとすることができる。
【0063】
カプセルネットワークを例に取ると、画像認識におけるCNNとの違いは、生物学的神経組織に近い概念が使用されることである。視点が変わると、パーツやオブジェクトに線形効果が、ピクセルに非線形効果が存在する。カプセルネットワークには方向性のあるベクトルがあり、統計情報に基づいて特徴検出を実行することができる。たとえば、「猫」は顔の特徴に基づいて識別できる。さらに、カプセルネットワークは機能を理解することもできる。たとえば、顔の特徴が特定の領域にない場合(たとえば、口が額にある場合、または目が耳の上にある場合)、カプセルネットワークは、顔の特徴が特定の場所にある場合にのみオブジェクトを「猫」と呼ぶことができるように、オブジェクトの異なる向き(たとえば、右向き)を検出することができる。
【0064】
一実施形態では、プロセッサ57は、シーン画像を複数の学習対象ブロックに分割し、これらのシーン画像内のこれらの学習対象ブロックを学習データとして使用し、その学習データを品質評価モデルのトレーニングのためのトレーニングサンプルとして使用することができる。たとえば、会議の画像をシーン画像として使用する場合、品質評価モデルをトレーニングした後、画像内の人間の顔を重要な情報として使用することができる。つまり、画像特徴は、人間の顔の関心領域として取得され、使用される。画像特徴とは、学習対象ブロックが機械学習アルゴリズムのニューラルネットワークに入力された後に学習対象ブロックから学習することができる局所画像の特徴を指す。特徴は、例えば、テクスチャおよび勾配情報である。カプセルネットワークでは、テクスチャおよび勾配情報と相対位置情報がベクトルとして記録され得る。さらに、カプセルネットワークの機能により、重要な情報の位置が正しいことを確認できるため、重要な情報を簡単に識別することができる。
【0065】
一実施形態では、プロセッサ57は、平均オピニオン評点(MOS)または微分平均オピニオン評点(DMOS)画像データベース内のデータを学習データとして使用し、学習データ内の画像を学習対象ブロックに分割し、品質評価モデルをトレーニングするためのトレーニングサンプルとしてこれらの学習対象ブロックを使用することができる。
【0066】
別の実施形態では、プロセッサ57は、それらの学習されるブロックについて1人以上の人によって主観的に判断された知覚評価スコアをカウントすることができる。知覚評価スコアは、人間の知覚の実際の評価結果に基づいている。標準化されたITU(国際電気通信連合)テストを例にとると、ITUテストは多くの段階に分けられ、少なくとも15人のオブザーバーよりなる。オブザーバーは、学習対象ブロックを1から5のスコアで評価する必要がある。各人が画質に対して異なる主観的な評価基準を持ち得るため、通常、人によって異なるスコアがつけられる。各オブザーバーによってつけられたスコアは、彼女/彼自身の経験と好みに依存し、気分やその日の事柄によっても異なることがある。プロセッサ57は、これらの学習対象ブロックに対応する知覚評価スコアを、品質評価モデルを訓練するための訓練サンプルとして使用することができる。ブロックの知覚評価スコアを機械学習アルゴリズムのニューラルネットワークに入力することにより、品質評価モデルを確立し、その品質評価モデルを使用して、他のコンテキストでのビデオストリームの画質を推測することができる。
【0067】
別の実施形態では、プロセッサ57は、画像の特徴、知覚評価スコア、および/または学習対象ブロックに対応する統計的分布(自然シーン統計に基づく)に従って、複数の目的関数の1つを決定し、その目的関数を、品質評価モデルをトレーニングするためのトレーニングサンプルとして使用することができる。具体的には、目的関数は、粒子群最適化(PSO)の適合度関数、ファジー決定のコスト関数計算、または他の最適化関数とすることができる。これらの目的関数は上限と下限を有する。つまり、目的関数の最適解は、上限と下限の間の実行可能領域(許容範囲)内で変化する。符号化と復号化の過程で、情報の削減または損失は避けられない。したがって、目的関数の解は一定の間隔内で得ることができ、目的関数の上限および下限は、画質を特定の許容範囲内で改善または低減できるようにすることを目的としている。主な目標は、最適解(つまり、元の画像の対応するブロックと同じ画質)を見つけ、次に他の関連実行可能解(許容範囲内の画質の改善または低下)を見つけることにある。
【0068】
例として、目的関数のパラメータとして、画像の特徴、知覚評価スコア、および統計的分布を取り上げる。
min_f = min block(t,m,n) (3)
max_f = max block(t,m,n) (4)
目的関数block(t,m,n)には、画像の特徴t、知覚評価スコアm、および統計的分布nが含まれる。max_fは上限を表し、min_fは下限を表す。つまり、解のターゲットは、上限max_fと下限min_fの間で変化し得る。
【0069】
式(3)および(4)は単なる例示であり、他の実施形態は、画像特徴、知覚評価スコア、および統計的分布のいずれか1つを目的関数のパラメータとして使用できることに留意されたい。
【0070】
プロセッサ57は、品質評価モデルの出力結果に従って画像の品質を決定することができる(ステップS750)。具体的には、トレーニングされた品質評価モデルは、評価対象ブロックを入力データとして使用し、それに応じて対応する結果を推測することができる。一実施形態では、画像の特徴、知覚評価スコア、統計的分布、およびシーン画像および/またはトレーニングデータの目的関数が、品質評価モデルの学習データとして使用される場合、品質評価モデルの出力結果は、特定の画像特徴、知覚評価スコア、統計的分布、および目的関数を含むことができる。たとえば、品質評価モデルは、ビデオストリームの再構成された画像フレーム内の評価対象ブロックから画像特徴を抽出し、その画像特徴が属するタイプ(たとえば、人間の顔、目、または口)に対応するブロックを識別し、それに応じて、そのようなタイプのブロックに従って、知覚評価スコア、統計的分布、および目的関数を取得する。
【0071】
次に、プロセッサ57は、出力結果の画像特徴、知覚評価スコア、統計的分布、および目的関数に従って、評価対象ブロックのそれぞれに対応する目的関数の計算値を決定することができる(すなわち、評価対象ブロックの計算値は、すべての画像特徴、知覚評価スコア、および統計的分布に従って決定される)。プロセッサ57は、この計算値に基づいて、対応する評価対象ブロックの品質を決定することができる。つまり、この計算値は画質の指標である。
【0072】
一実施形態では、プロセッサ57は、この計算値が対応する目的関数の上限と下限(すなわち、許容範囲)の間にあるかどうかを決定することができる。この計算値が最適解の上限と下限の範囲内にある場合、評価対象ブロックに対するユーザの知覚受容が許容範囲内にあることを意味し(差は許容範囲を表し、最適解の上限および下限は経験を通じてまたは動的に変更することができる)、再構成された画像フレーム(すなわち、復号化されたビデオストリームの画像フレーム)はさらにディスプレイ55により再生することができる。計算値が上限および下限内にないまたは解がない場合は、目的関数が最適な解決策に到達できないか、評価対象ブロックに対するユーザの知覚受容が許容範囲内にないか、フレームの歪みが発生したことを意味する。したがって、画像再符号化の要求を通信トランシーバ51により送信することができる。計算値が最適解に等しい場合、それは、ユーザが、評価対象ブロックに対して同じ知覚受容を有することを意味し、再構成された画像フレームをさらにディスプレイ55により再生することができる。
【0073】
別の実施形態では、画像の特徴、知覚評価スコア、およびシーン画像の目的関数および/またはトレーニングデータが品質評価モデルの学習データとして使用される場合、品質評価モデルの出力結果は、特定の画像特徴、知覚評価スコア、および目的関数を含む(目的関数は、この実施形態では画像特徴および知覚評価スコアに従って形成される)。次に、プロセッサ57は、出力結果の画像特徴および知覚評価スコアを出力結果の目的関数に入力し、評価対象ブロックのそれぞれに対応する目的関数の計算値を決定し(すなわち、画像特徴および知覚評価スコアに基づいて、評価対象ブロックに対応する計算値を決定し)、その計算値を画質の指標として使用することができる。
【0074】
さらに別の実施形態では、画像の特徴、シーン画像の統計的分布および目的関数、および/またはトレーニングデータが品質評価モデルの学習データとして使用される場合、品質評価モデルの出力結果は、特定の画像特徴、統計的分布および目的関数を含み得る(目的関数は、この実施形態では画像特徴および統計的分布に従って形成される)。次に、プロセッサ57は、出力結果の画像特徴および統計分布を出力結果の目的関数に入力し、評価されるブロックのそれぞれに対応する目的関数の計算値を決定し(すなわち、画像特徴と統計的分布に従って評価対象ブロックに対応する計算値を決定し)、その計算値を画質の指標として使用することができる。
【0075】
画像フレーム内のピクセル分布は均一な分布ではないため、画像フレーム内の1つの評価対象ブロックは、画像フレーム全体内のすべてのピクセルを反映しない可能性があり、評価対象ブッロクの各々に対するユーザの注意の程度も異なる可能性がある。一般に、重要な情報(たとえば:会議室の背景よりも会議室内の人の方が重要)や大きく変化する情報(たとえば、シーンの切り替えや話者の交代)は、ユーザが注意を払う部分である。
【0076】
画質評価に対する異なる評価対象ブロックの影響を検討するために、本発明の実施形態は、符号化レベルを評価対象ブロックの加重平均の重みとして使用する。プロセッサ57は、各評価対象ブロックの符号化レベルを決定し、異なる符号化レベルを異なる重みに対応させることができる。表(2)の符号化レベルを例にとると、符号化レベルb3、b2およびb1は、それぞれ重みw3、w2およびw1に対応する。符号化レベルb1と比較して、符号化レベルb3は、ユーザにより多くの注意を向けさせることができるので、重みw3の値は、重みw1の値よりも大きい。つまり、符号化レベルが高いほど、重みの値が高くなる。逆に、符号化レベルが低いほど、重みの値は低くなる。プロセッサ57は、評価対象ブロックの品質(例えば、上記の計算値)および対応する重みに従って、画像フレーム全体の品質を決定することができる。画像フレームの品質の計算式は次のとおりである。
【数3】
Qは画像フレーム全体の品質であり、q
kは、k番の評価対象ブロックの品質であり、w
kはk番の評価対象ブロックの重みである。画像フレームはL個の評価対象ブロックに分割され、Lは正の整数であると想定されている。
【0077】
例として、画像フレームを3つの評価対象ブロックに分割すると、符号化レベルb3、b2およびb1に対応する重みはそれぞれ60%、30%、および10%である。画像フレーム全体の品質は(q1* 0.6 +q2 * 0.3 +q3* 0.1)/(0.6+0.3 +0.1)である。
【0078】
画質のスコアがDMOSまたはMOSに基づく場合、DMOSスコアが高いほど、画質が悪くなり、また、MOSスコアが高いほど、画質が高くなることに注意されたい。
【0079】
さらに、低画質に関するフィードバックが得られた場合、映像処理装置100は、画質評価の結果に応じて符号化機構を変更することができる。一実施形態では、プロセッサ170は、復号化されたビデオストリームの画質(例えば、画像フレーム全体の品質または評価対象ブロックの一部の品質)に従って、空間的差閾値をさらに変更する。例えば、画質が悪い(計算値が許容範囲内にない)場合、プロセッサ170は、より多くの符号化情報を取得するために低下した空間レベルを有する(すなわち、より低い値の領域にある)サブ符号化単位を使用できるように、空間的差閾値を減少させることができ(符号化は低い空間レベルを有するこれらの元のサブ符号化単位に実行されず、復号化時に他の予測値が参照されるか、あるいは、空間的差閾値の減少後にサブ符号化単位がより低い空間レベルに適合する場合に符号化を実行することもでき)、これらのサブ符号化単位を再符号化することができる。
【0080】
別の実施形態では、プロセッサ170は、復号化されたビデオストリームの画質に従って単位サイズを変更することができる。画質が悪い場合、プロセッサ170は、符号化プロセスにおける単位サイズを決定する制限を拡張することができる。例えば、プロセッサ170は、時間的細かさグループに対応する単位サイズを縮小して、詳細情報を増やすことができる。
【0081】
要約すると、本発明の実施形態のビデオ処理装置およびビデオストリームの処理方法によれば、画像フレーム内の空間的および時間的特徴が異なる粒度に分割され、異常検出モデルが符号化単位構造に対する判定基準として使用され、サブ符号化単位を分割し、各サブ符号化単位が属する空間レベルの間隔しきい値を決定する。したがって、サブ符号化ユニットを符号化する必要があるかどうかが決定され、それによって符号化の複雑さが軽減される。さらに、NSS統計機能を使用して、分割のより正確な判定を行うことができる。他方、本発明の実施形態は、画質の評価要素として3つのタイプの情報、すなわち、伝送帯域幅、知覚評価スコア、および自然シーンの統計的分布、を統合する。リアルタイムストリーミングに対するユーザの主観的な品質満足度は、ビットレートを広く増減するのではなく、符号化レベルに基づいてビットレートを動的に調整することによって実現される。さらに、本発明の実施形態は、ノーリファレンス(NR)画質評価の概念を採用し、参照画像の比較も、画像内のすべてのピクセルの画像特徴の抽出も必要としない。本発明の実施形態の機械学習アルゴリズムのニューラルネットワークは、NSS統計的特徴を参照して、評価対象ブロックの画像特徴を抽出し、符号化レベルを使って評価対象ブロックのピクセルに重み付けして画像全体の品質評価を実行する。画質評価はさらに符号化メカニズムにフィードバックできるため、調整された符号化メカニズムは人間の視覚のニーズを満たすことができる。
【0082】
本発明を上記の実施形態を参照して説明してきたが、本発明の精神から逸脱することなく上記の実施形態に様々な変更を行うことができることは当業者には明らかであろう。したがって、本発明の範囲は、上記の詳細な説明によってではなく、添付の特許請求の範囲によって定義される。
【産業上の利用可能性】
【0083】
本発明のビデオ処理装置およびビデオストリームの処理方法は、ビデオ処理技術に適用することができる。
【符号の説明】
【0084】
1 ビデオストリームシステム
50 クライアント装置
51、110 通信トランシーバ
53、130 メモリ
55 ディスプレイ
57,170 プロセッサ
100 ビデオ処理装置
S210~S230、S405~S435、S510~S530、S710~S750 ステップ
CU、CU
1、CU
2、CU
3 符号化単位
PU 予測単位
TU、TU
1、TU
2 変換単位
410 符号化プロセス
430 復号化プロセス
AE オートエンコーダ
OI 元の入力
CI 圧縮表示
RI 再構成された入力
CS 符号化空間
PS 知覚空間
TUT サブ符号化単位
g
p 関数
q 量子化された値
D 関数
R 符号化率