(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公表特許公報(A)
(11)【公表番号】
(43)【公表日】2022-12-27
(54)【発明の名称】ビデオデータをノイズ除去するためのシステム、コーディング方法、およびコンピュータプログラム
(51)【国際特許分類】
H04N 5/232 20060101AFI20221220BHJP
G06T 5/00 20060101ALI20221220BHJP
【FI】
H04N5/232 290
G06T5/00 705
【審査請求】有
【予備審査請求】未請求
(21)【出願番号】P 2022523679
(86)(22)【出願日】2021-06-01
(85)【翻訳文提出日】2022-04-21
(86)【国際出願番号】 US2021035180
(87)【国際公開番号】W WO2021247522
(87)【国際公開日】2021-12-09
(32)【優先日】2020-06-05
(33)【優先権主張国・地域又は機関】US
(32)【優先日】2020-06-08
(33)【優先権主張国・地域又は機関】US
(32)【優先日】2020-06-09
(33)【優先権主張国・地域又は機関】US
(32)【優先日】2021-05-07
(33)【優先権主張国・地域又は機関】US
(81)【指定国・地域】
【公序良俗違反の表示】
(特許庁注:以下のものは登録商標)
(71)【出願人】
【識別番号】520353802
【氏名又は名称】テンセント・アメリカ・エルエルシー
(74)【代理人】
【識別番号】100110364
【氏名又は名称】実広 信哉
(74)【代理人】
【識別番号】100150197
【氏名又は名称】松尾 直樹
(72)【発明者】
【氏名】ジュン・ティアン
(72)【発明者】
【氏名】ウェン・ガオ
(72)【発明者】
【氏名】シャン・リュウ
【テーマコード(参考)】
5B057
5C122
【Fターム(参考)】
5B057CA01
5B057CA08
5B057CA12
5B057CA16
5B057CB01
5B057CB08
5B057CB12
5B057CB16
5B057CE02
5B057DA16
5B057DB02
5B057DB06
5B057DB09
5C122DA03
5C122EA22
5C122FG06
5C122FH10
5C122FH11
5C122GC52
5C122HA88
5C122HB01
(57)【要約】
ビデオコーディングのための方法、コンピュータプログラム、およびコンピュータシステムが提供される。1つ以上のフレームを含むビデオデータが受信される。静的背景が、1つ以上のフレームの時間平均に基づいて、1つ以上のフレームの各々に関して推定される。静的背景に対応するものとして、1つ以上のフレームの中からの画素が識別される。静的背景においてノイズが、識別された画素に基づいて除去される。
【特許請求の範囲】
【請求項1】
プロセッサによって実行可能なビデオコーディングの方法であって、
1つ以上のフレームを含むビデオデータを受信するステップと、
前記1つ以上のフレームの時間平均に基づいて前記1つ以上のフレームの各々に関して静的背景を推定するステップと、
前記静的背景に対応するものとして前記1つ以上のフレームの中からの画素を識別するステップと、
前記識別された画素に基づいて前記静的背景のノイズを除去するステップと
を含む方法。
【請求項2】
1つ以上のフレームの中からの画素が、色チャネル値、色変換空間、または深度値に基づいて時間平均される、請求項1に記載の方法。
【請求項3】
前記静的背景を推定するステップが、
背景推定器を時間的に更新することに基づいて、前記1つ以上のフレームからテクスチャマップおよび深度マップを推定することと、
前記推定されたテクスチャマップおよび深度マップに基づいて合成背景テクスチャを作成することと
を含む、請求項1に記載の方法。
【請求項4】
前記背景が、より高い重み値を有する最近のフレームに対応する加重平均に基づいて推定される、請求項1に記載の方法。
【請求項5】
前記画素が、前記1つ以上のフレームの中からの現在のフレームおよび未来のフレームの同じ位置の画素と前記推定された静的背景とを比較することに基づいて識別される、請求項1に記載の方法。
【請求項6】
前記ノイズが、前記推定された静的背景に対応する平均値によって前記識別された画素の置換値に基づいて除去される、請求項1に記載の方法。
【請求項7】
前記静的背景が、スライディングウィンドウに基づいて推定される、請求項1に記載の方法。
【請求項8】
ビデオコーディングのためのコンピュータシステムであって、前記コンピュータシステムが、
コンピュータプログラムコードを記憶するように構成された1つ以上のコンピュータ可読非一時的記憶媒体と、
前記コンピュータプログラムコードにアクセスし、前記コンピュータプログラムコードによって命令されるように動作するよう構成された1つ以上のコンピュータプロセッサであって、前記コンピュータプログラムコードが、
前記1つ以上のコンピュータプロセッサに、1つ以上のフレームを含むビデオデータを受信させるように構成された受信コード、
前記1つ以上のコンピュータプロセッサに、前記1つ以上のフレームの時間平均に基づいて前記1つ以上のフレームの各々に関して静的背景を推定させるように構成された推定コード、
前記1つ以上のコンピュータプロセッサに、前記静的背景に対応するものとして前記1つ以上のフレームの中からの画素を識別させるように構成された識別コード、および
前記1つ以上のコンピュータプロセッサに、前記識別された画素に基づいて前記静的背景のノイズを除去させるように構成された除去コード
を含む、1つ以上のコンピュータプロセッサと
を備える、コンピュータシステム。
【請求項9】
1つ以上のフレームの中からの画素が、色チャネル値、色変換空間、または深度値に基づいて時間平均される、請求項8に記載のコンピュータシステム。
【請求項10】
前記推定コードが、
前記1つ以上のコンピュータプロセッサに、背景推定器を時間的に更新することに基づいて前記1つ以上のフレームからテクスチャマップおよび深度マップを推定させるように構成された推定コードと、
前記1つ以上のコンピュータプロセッサに、前記推定されたテクスチャマップおよび深度マップに基づいて合成背景テクスチャを作成させるように構成された作成コードと
を含む、請求項8に記載のコンピュータシステム。
【請求項11】
前記背景が、より高い重み値を有する最近のフレームに対応する加重平均に基づいて推定される、請求項8に記載のコンピュータシステム。
【請求項12】
前記画素が、前記1つ以上のフレームの中からの現在のフレームおよび未来のフレームの同じ位置の画素と前記推定された静的背景とを比較することに基づいて識別される、請求項8に記載のコンピュータシステム。
【請求項13】
前記ノイズが、前記推定された静的背景に対応する平均値によって前記識別された画素の置換値に基づいて除去される、請求項8に記載のコンピュータシステム。
【請求項14】
前記静的背景が、スライディングウィンドウに基づいて推定される、請求項8に記載のコンピュータシステム。
【請求項15】
ビデオコーディングのためのコンピュータプログラムを記憶した非一時的コンピュータ可読媒体であって、前記コンピュータプログラムが、1つ以上のコンピュータプロセッサに、
1つ以上のフレームを含むビデオデータを受信させ、
前記1つ以上のフレームの時間平均に基づいて、前記1つ以上のフレームの各々に関して静的背景を推定させ、
前記静的背景に対応するものとして前記1つ以上のフレームの中からの画素を識別させ、
前記識別された画素に基づいて前記静的背景のノイズを除去させる
ように構成されている、非一時的コンピュータ可読媒体。
【請求項16】
1つ以上のフレームの中からの画素が、色チャネル値、色変換空間、または深度値に基づいて時間平均される、請求項15に記載のコンピュータ可読媒体。
【請求項17】
前記コンピュータプログラムが、1つ以上のコンピュータプロセッサに、
背景推定器を時間的に更新することに基づいて前記1つ以上のフレームからテクスチャマップおよび深度マップを推定させ、
前記推定されたテクスチャマップおよび深度マップに基づいて合成背景テクスチャを作成させる
ようにさらに構成されている、請求項15に記載のコンピュータ可読媒体。
【請求項18】
前記背景が、より高い重み値を有する最近のフレームに対応する加重平均に基づいて推定される、請求項15に記載のコンピュータ可読媒体。
【請求項19】
前記画素が、前記1つ以上のフレームの中からの現在のフレームおよび未来のフレームの同じ位置の画素と前記推定された静的背景とを比較することに基づいて識別される、請求項15に記載のコンピュータ可読媒体。
【請求項20】
前記ノイズが、前記推定された静的背景に対応する平均値によって前記識別された画素の置換値に基づいて除去される、請求項15に記載のコンピュータ可読媒体。
【発明の詳細な説明】
【技術分野】
【0001】
関連出願の相互参照
本出願は、2021年5月7日に出願された米国特許出願第17/314,644号の優先権の利益を主張し、これは、2020年6月5日に出願された米国仮出願第63/035,252号、2020年6月8日に出願された米国仮出願第63/036,181号、および2020年6月9日に出願された米国仮出願第63/036,624号に基づく優先権を主張し、その全体は参照により本明細書に組み込まれる。
【0002】
本開示は、一般に、データ処理の分野に関し、より詳細には、ビデオ符号化、復号化、およびストリーミングに関する。
【背景技術】
【0003】
没入型ビデオは、全方向カメラまたはカメラの集合を使用して撮影された、複数の方向のビューが同時に記録されるビデオ記録である。通常のフラットディスプレイでの再生時、視聴者はパノラマのように視聴方向を制御する。それは、球形または球形の一部に配置されたディスプレイまたはプロジェクタでも再生され得る。3自由度(3DoF:3 Degrees of Freedom)をサポートする没入型メディアのコード化表現では、視聴者の位置は静的であるが、その頭はヨー、ピッチ、およびロールし得る。6自由度(6DoF:6 Degrees of Freedom)は、3DoFの向きに加えて、水平、垂直、および奥行き方向の平行移動を可能にする。平行移動のサポートは、視聴者にその視覚システムへの自然な刺激を提供し、視聴者の周囲の知覚量を向上させるインタラクティブな運動視差を可能にする。
【発明の概要】
【課題を解決するための手段】
【0004】
実施形態は、ビデオコーディングのための方法、システム、およびコンピュータ可読媒体に関する。一態様によれば、ビデオコーディングのための方法が提供される。この方法は、1つ以上のフレームを含むビデオデータを受信するステップを含み得る。静的背景が、1つ以上のフレームの時間平均に基づいて、1つ以上のフレームの各々に関して推定される。静的背景に対応するものとして、1つ以上のフレームの中からの画素が識別される。静的背景においてノイズが、識別された画素に基づいて除去される。
【0005】
別の態様によれば、ビデオコーディングのためのコンピュータシステムが提供される。コンピュータシステムは、1つ以上のプロセッサと、1つ以上のコンピュータ可読メモリと、1つ以上のコンピュータ可読有形記憶デバイスと、1つ以上のメモリのうちの少なくとも1つを介して1つ以上のプロセッサのうちの少なくとも1つによって実行するために1つ以上の記憶デバイスのうちの少なくとも1つに記憶されたプログラム命令とを含み得、これにより、コンピュータシステムは方法を実行することが可能である。この方法は、1つ以上のフレームを含むビデオデータを受信するステップを含み得る。静的背景が、1つ以上のフレームの時間平均に基づいて、1つ以上のフレームの各々に関して推定される。静的背景に対応するものとして、1つ以上のフレームの中からの画素が識別される。静的背景においてノイズが、識別された画素に基づいて除去される。
【0006】
さらに別の態様によれば、ビデオコーディングのためのコンピュータ可読媒体が提供される。コンピュータ可読媒体は、1つ以上のコンピュータ可読記憶デバイスと、1つ以上の有形記憶デバイスのうちの少なくとも1つに記憶されたプログラム命令とを含み得、プログラム命令はプロセッサによって実行可能である。プログラム命令は、1つ以上のフレームを含むビデオデータを受信するステップを適切に含み得る方法を実行するためにプロセッサによって実行可能である。静的背景が、1つ以上のフレームの時間平均に基づいて、1つ以上のフレームの各々に関して推定される。静的背景に対応するものとして、1つ以上のフレームの中からの画素が識別される。静的背景においてノイズが、識別された画素に基づいて除去される。
【0007】
これらおよび他の目的、特徴、および利点は、添付の図面に関連して読まれるべき、例示的な実施形態の以下の詳細な説明から明らかになるであろう。図は、詳細な説明と併せて当業者の理解を容易にする際に明確にするためのものであるため、図面の様々な特徴は一定の縮尺ではない。
【図面の簡単な説明】
【0008】
【
図1】少なくとも1つの実施形態によるネットワーク化されたコンピュータ環境を示す。
【
図2】少なくとも1つの実施形態による、没入型ビデオをストリーミングするためのエコシステムの概略図である。
【
図3】少なくとも1つの実施形態による、静的背景からノイズを除去し、DIBRによって生成された穴を埋めることに基づくビデオコーディングのためのプログラムによって実行されるステップを示す動作フローチャートである。
【
図4】少なくとも1つの実施形態による、
図1に示されているコンピュータおよびサーバの内部構成要素および外部構成要素のブロック図である。
【
図5】少なくとも1つの実施形態による、
図1に示されているコンピュータシステムを含む例示的なクラウドコンピューティング環境のブロック図である。
【
図6】少なくとも1つの実施形態による、
図5の例示的なクラウドコンピューティング環境の機能層のブロック図である。
【発明を実施するための形態】
【0009】
特許請求される構造および方法の詳細な実施形態が本明細書に開示されているが、開示された実施形態は、様々な形態で具現化され得る特許請求される構造および方法の例示にすぎないことが理解され得る。しかしながら、これらの構造および方法は、多くの異なる形態で具現化され得、本明細書に記載された例示的な実施形態に限定されると解釈されるべきではない。逆に、これらの例示的な実施形態は、本開示が徹底的かつ完全であり、当業者にその範囲を十分に伝えるように提供されている。この説明では、提示された実施形態を不必要に不明瞭にすることを避けるために、周知の特徴および技術の詳細は省略されている場合がある。
【0010】
実施形態は、一般に、データ処理の分野に関し、より詳細には、ビデオ符号化、復号化、およびストリーミングに関する。以下で説明される例示的な実施形態は、特にビデオデータをノイズ除去するためのシステム、方法、およびコンピュータプログラムを提供する。したがって、一部の実施形態は、時間平均によって各フレームに関して静的背景を推定し、閾値処理によって静的背景に属するかどうかによって画素を分類し、静的背景のノイズを除去することを可能にすることによってコンピューティング分野を改善する能力を有する。
【0011】
先に説明されたように、没入型ビデオは、全方向カメラまたはカメラの集合を使用して撮影された、複数の方向のビューが同時に記録されるビデオ記録である。通常のフラットディスプレイでの再生時、視聴者はパノラマのように視聴方向を制御する。それは、球形または球形の一部に配置されたディスプレイまたはプロジェクタでも再生され得る。3自由度(3DoF:3 Degrees of Freedom)をサポートする没入型メディアのコード化表現では、視聴者の位置は静的であるが、その頭はヨー、ピッチ、およびロールし得る。6自由度(6DoF:6 Degrees of Freedom)は、3DoFの向きに加えて、水平、垂直、および奥行き方向の平行移動を可能にする。平行移動のサポートは、視聴者にその視覚システムへの自然な刺激を提供し、視聴者の周囲の知覚量を向上させるインタラクティブな運動視差を可能にする。
【0012】
典型的なビュー合成ソフトウェアは、所与の視点の位置および姿勢に対する合成ビューを生成する。合成ビューは、特に静的背景に対して、時間的ノイズを示す場合がある。深度画像ベースのレンダリング(DIBR:depth image-based rendering)ビュー合成を通して所与の視点から撮られた多数のピクチャから開始して特定の被写体の新しいビューを合成するとき、ディスオクルージョン(disocclusion)により合成ビューに穴が現れる場合があり、これは品質を著しく低下させ得る。DIBRビュー合成は、任意の視点で仮想ビューをレンダリングするその機能により、代表的なビュー合成方法の1つになっている。DIBRビュー合成における固有の問題は、参照ビュー内の前景オブジェクトによって遮られた領域が合成ビュー内で見えるようになる場合があることである。仮想ビュー内の穴として知られるこれらの露出領域は、適切に処理されない場合、合成画像の品質を大幅に低下させる。したがって、時間平均によって静的背景を推定し、閾値処理によって画素が静的背景に属するかどうかを分類し、静的背景のノイズを除去することが好適であり得る。ビデオデータをノイズ除去することは、知覚品質を改善し、圧縮速度および有効性を向上させ、伝送帯域幅の削減を容易にすることを可能にする。
【0013】
本明細書では、様々な実施形態による方法、装置(システム)、およびコンピュータ可読媒体のフローチャート図および/またはブロック図を参照して、態様が説明される。フローチャート図および/またはブロック図の各ブロック、ならびにフローチャート図および/またはブロック図のブロックの組み合わせは、コンピュータ可読プログラム命令によって実施され得ることが理解されよう。
【0014】
以下で説明される例示的な実施形態は、ビデオデータからノイズを除去するシステム、方法、およびコンピュータプログラムを提供する。ここで
図1を参照すると、静的背景からノイズを除去し、DIBRによって生成された穴を埋めることに基づくビデオコーディングのためのビデオコーディングシステム100(以下 「システム」)を示すネットワーク化されたコンピュータ環境の機能ブロック図。
図1は、一実施態様の例示のみを提供しており、異なる実施形態が実施され得る環境に関していかなる限定も含意しないことを理解されたい。図示された環境に対する多くの修正は、設計および実施要件に基づいて行われ得る。
【0015】
システム100は、コンピュータ102およびサーバコンピュータ114を含み得る。コンピュータ102は、通信ネットワーク110(以下「ネットワーク」)を介してサーバコンピュータ114と通信し得る。コンピュータ102は、プロセッサ104と、ユーザとインターフェースし、サーバコンピュータ114と通信することが可能な、データ記憶デバイス106に記憶されたソフトウェアプログラム108とを含み得る。
図4を参照して以下で述べられるように、コンピュータ102は、それぞれ内部構成要素800Aおよび外部構成要素900Aを含み得、サーバコンピュータ114は、それぞれ内部構成要素800Bおよび外部構成要素900Bを含み得る。コンピュータ102は、例えば、モバイルデバイス、電話、携帯情報端末、ネットブック、ラップトップコンピュータ、タブレットコンピュータ、デスクトップコンピュータ、またはプログラムを実行し、ネットワークにアクセスし、データベースにアクセスすることが可能な任意の種類のコンピューティングデバイスであってもよい。
【0016】
サーバコンピュータ114はまた、
図5および
図6に関して以下で述べられるように、サービスとしてのソフトウェア(SaaS:Software as a Service)、サービスとしてのプラットフォーム(PaaS:Platform as a Service)、またはサービスとしてのインフラストラクチャ(laaS:Infrastructure as a Service)などのクラウドコンピューティングサービスモデルで動作してもよい。サーバコンピュータ114はまた、プライベートクラウド、コミュニティクラウド、パブリッククラウド、またはハイブリッドクラウドなどのクラウドコンピューティング展開モデルに配置されてもよい。
【0017】
ビデオコーディングに使用され得るサーバコンピュータ114は、データベース112と対話し得るビデオコーディングプログラム116(以下、「プログラム」)を実行することが可能である。ビデオコーディングプログラム方法は、
図3に関して以下でより詳細に説明される。一実施形態では、コンピュータ102は、ユーザインターフェースを含む入力デバイスとして動作し得、プログラム116は、主にサーバコンピュータ114上で動作し得る。代替的な実施形態では、プログラム116は、主に1つ以上のコンピュータ102上で動作してもよく、サーバコンピュータ114は、プログラム116によって使用されるデータの処理および記憶に使用されてもよい。プログラム116は、スタンドアロンプログラムであってもよいし、またはより大きなビデオコーディングプログラムに統合されてもよいことに留意されたい。
【0018】
しかしながら、プログラム116の処理は、場合によっては、コンピュータ102とサーバコンピュータ114との間で任意の比率で共有されてもよいことに留意されたい。別の実施形態では、プログラム116は、1つより多くのコンピュータ、サーバコンピュータ、またはコンピュータとサーバコンピュータとの何らかの組み合わせ、例えば、ネットワーク110を介して単一のサーバコンピュータ114と通信する複数のコンピュータ102上で動作し得る。別の実施形態では、例えば、プログラム116は、ネットワーク110を介して複数のクライアントコンピュータと通信する複数のサーバコンピュータ114上で動作し得る。代替的に、プログラムは、ネットワークを介してサーバおよび複数のクライアントコンピュータと通信するネットワークサーバ上で動作してもよい。
【0019】
ネットワーク110は、有線接続、無線接続、光ファイバ接続、またはこれらの何らかの組み合わせを含み得る。一般に、ネットワーク110は、コンピュータ102とサーバコンピュータ114との間の通信をサポートする接続およびプロトコルの任意の組み合わせであり得る。ネットワーク110は、例えば、ローカルエリアネットワーク(LAN:local area network)、インターネットなどのワイドエリアネットワーク(WAN:wide area network)、公衆交換電話網(PSTN:Public Switched Telephone Network)などの電気通信ネットワーク、無線ネットワーク、公衆交換網、衛星ネットワーク、セルラーネットワーク(例えば、第5世代(5G)ネットワーク、ロングタームエボリューション(LTE:long-term evolution)ネットワーク、第3世代(3G)ネットワーク、符号分割多元接続(CDMA:code division multiple access)ネットワークなど)、公衆陸上移動体ネットワーク(PLMN:public land mobile network)、メトロポリタンエリアネットワーク(MAN:metropolitan area network)、プライベートネットワーク、アドホックネットワーク、イントラネット、もしくは光ファイバベースのネットワークなど、および/またはこれらもしくは他の種類のネットワークの組み合わせなどの様々な種類のネットワークを含み得る。
【0020】
図1に示されているデバイスおよびネットワークの数および配置は例として提供されている。実際には、
図1に示されているものと比べて、追加のデバイスおよび/もしくはネットワーク、より少ないデバイスおよび/もしくはネットワーク、異なるデバイスおよび/もしくはネットワーク、または異なる配置のデバイスおよび/もしくはネットワークがあってもよい。さらに、
図1に示されている2つ以上のデバイスが、単一のデバイス内で実施されてもよいし、または
図1に示されている単一のデバイスが、複数の分散型デバイスとして実施されてもよい。追加的または代替的に、システム100のデバイスのセット(例えば、1つ以上のデバイス)が、システム100のデバイスの別のセットによって実行されるものとして説明されている1つ以上の機能を実行してもよい。
【0021】
ここで
図2を参照すると、没入型ビデオをストリーミングするためのエコシステム200のブロック図が示されている。360ビデオ202がエンコーダ204を通過し、ピクチャ全体がコンテンツ配信ネットワーク(CDN:content delivery network)206を介してストリーミングされる。システムは、VRプレーヤ210で受信コンテンツ208を復号化および再構築し、表示ビデオ212を出力し得る。
【0022】
フレームサイズW×Hおよびフレームインデックスiを有する入力ビデオに関して、WおよびHはそれぞれ幅および高さであり、iは非負の整数であり、位置(x,y)における画素値をPi(x,y)として表し、0≦x<W、0≦y<Hである。Pi(x,y)は、赤、緑、青、グレースケールなどの色チャネルの値、またはYUV、HSV、もしくは深度値などの色変換空間、またはビデオ特徴の他の代表的な値など、またはこれらのうちの2つ以上の組み合わせであってもよい。(x,y)における静的背景Bi(x,y)は、反復更新によって以下のようにフレームインデックスiにおいて推定され得る。B-1(x,y)は0に等しく設定され得る。wiは、i/(i+1)に等しく設定され得る。次に、Bi(x,y)は、w-i*Bi-1(x,y)+(1-wi)*Pi(x,y)に等しく設定され得る。したがって、B0(x,y)=P0(x,y)、B1(x,y)=(P0(x,y)+P1(x,y))/2、およびB2(x,y)=(P0(x,y)+P1(x,y)+P2(x,y))/3が確認され得る。さらに、以下が証明され得る。
【0023】
【0024】
これは、静的背景推定器Bi(x,y)が時間平均であることを含意する。推定器は前のフレームをバッファリングする必要があり得ないことが理解され得る。さらに、時間的相関を利用するために、スライディングウィンドウが静的背景推定器に追加され得る。さらに、短期的な、より最近のフレームにより多くの重みを付けるために、wiは、背景推定において、忘却係数などの加重平均で置き換えられ得る。
【0025】
フレームインデックスiにおける画素(x,y)は、静的背景画素であるかどうかによって分類され得る。分類は、フレームインデックスi-1における推定された静的背景、およびフレームインデックスi+1、i+2、…、i+Nを有するN個の未来のフレームを使用した閾値処理テストに基づく。Pi(x,y)は、背景画素になるように初期化され得る。k=0:Nに関して、|Bi-1(x,y)-Pi+k(x,y)|>Th*Bi-1(x,y)の場合、Pi(x,y)は、前景画素として識別され得る。
【0026】
画素分類は、現在のフレームおよびフレームインデックスi+1、i+2、…、i+Nを有する未来のフレームの同じ位置の画素と推定された静的背景とを比較する。差の1つが閾値Th*Bi-1(x,y)よりも大きい場合、Pi(x,y)は静的背景画素ではなく、すべての差が閾値以下である場合、Pi(x,y)は静的背景画素として分類される。ここで、Thは閾値比であり、0.12に設定され得、未来のフレームの数Nは1に設定され得る。
【0027】
静的背景ノイズ除去は、静的背景画素に適用され得る。静的背景画素として分類されない画素に関しては、ノイズ除去について処理されない。静的背景画素として分類される画素Pi(x,y)に関して、その値は、推定背景値Bi-1(x,y)、Pi+k(x,y)(ただし、k=0,1,…,N)の平均に置き換えられ得る。
【0028】
【0029】
静的背景画素として分類される画素Pi(x,y)に関して、Bi(x,y)の背景推定の反復更新において元のPi(x,y)の値を使用し得るか、またはBi-1(x,y)に等しい更新されたPi(x,y)の値を使用し得る。静的背景推定器において、更新されたPi(x,y)を使用するとき、背景推定器はその(更新された)画素値と同一である、すなわち、Bi(x,y)=Pi(x,y)=Bi-1(x,y)であることが証明され得、これは、静的背景画素に関して、背景推定器がその反復時に変化しないことを含意する。
【0030】
背景推定ベースの穴埋めメカニズムの時間中央値は、ある期間にわたってバッファリングソースビューを使用する。これは、例えば、ビュー合成が携帯電話などのクライアント上で実行されることが多いため、リソースが限定されたクライアントデバイスに対するその適用性に制約を課す。
【0031】
穴埋めメカニズムは、時間的更新を利用する背景推定に基づいて、ある期間にわたってバッファリングソースビューの使用を除去し得る。このようなアルゴリズムは、背景推定器を時間的に更新することによって、テクスチャおよび深度マップの両方を含むソースビューの背景を推定し得る。仮想ビューの合成背景(テクスチャ)は、ソースビューの推定背景上でDIBRによって作成され得る。合成背景(テクスチャ)は、仮想ビューを合成するときに穴埋めに使用され得る。仮想ビュー合成時の穴の画素に関して、そのテクスチャ情報は、合成背景内の同じ位置の画素からコピーされる。
【0032】
時間更新ベースの背景推定器は、ソースビューのテクスチャマップおよび深度マップの両方に適用され得る。推定背景では、仮想ビューの背景(テクスチャ)を合成するために、DIBRが適用され得る。仮想ビュー合成時、穴の各画素に関して、テクスチャ情報は、合成背景からコピーされ得る。時間平均ベースの背景推定は、より多くのフレームが平均に加算されるにつれてより正確になるため、最初のN個のフレームは穴埋めについてスキップされてもよい。Nは、30フレーム/秒のビデオに関して60に設定され得る。一方、平均に加算されるフレームが増えていくと、どこかで推定精度が十分に良くなり得る。それ以上のフレームは、わずかに精度を高めるだけであるため、L回の更新の反復後に時間更新は中止されてもよいことが理解され得る。したがって、Bi(x,y)は、L回の反復後は変化しないままであり得る。限定ではなく例として、Lは、30フレーム/秒のビデオに関して600に設定されてもよい。
【0033】
ここで
図3を参照すると、静的背景からノイズを除去し、DIBRによって生成された穴を埋めることに基づくビデオコーディングのためのプログラムによって実行される方法300のステップを示す動作フローチャートが示されている。
【0034】
302において、方法300は、1つ以上のフレームを含むビデオデータを受信するステップを含み得る。
【0035】
304において、方法300は、1つ以上のフレームの時間平均に基づいて1つ以上のフレームの各々に関して静的背景を推定するステップを含み得る。
【0036】
306において、方法300は、静的背景に対応するものとして1つ以上のフレームの中からの画素を識別するステップを含み得る。
【0037】
308において、方法300は、識別された画素に基づいて静的背景のノイズを除去するステップを含み得る。
【0038】
図3は、一実施態様の例示のみを提供しており、異なる実施形態がどのように実施され得るかに関していかなる限定も含意しないことが理解され得る。図示された環境に対する多くの修正は、設計および実施要件に基づいて行われ得る。
【0039】
図4は、例示的な実施形態による、
図1に示されているコンピュータの内部構成要素および外部構成要素のブロック
図400である。
図4は、一実施態様の例示のみを提供しており、異なる実施形態が実施され得る環境に関していかる限定も含意しないことを理解されたい。図示された環境に対する多くの修正は、設計および実施要件に基づいて行われ得る。
【0040】
コンピュータ102(
図1)およびサーバコンピュータ114(
図1)は、
図5に示されている内部構成要素800A、800Bおよび外部構成要素900A、900Bのそれぞれのセットを含み得る。内部構成要素800のセットの各々は、1つ以上のバス826上の1つ以上のプロセッサ820、1つ以上のコンピュータ可読RAM822、および1つ以上のコンピュータ可読ROM824と、1つ以上のオペレーティングシステム828と、1つ以上のコンピュータ可読有形記憶デバイス830とを含む。
【0041】
プロセッサ820は、ハードウェア、ファームウェア、またはハードウェアとソフトウェアとの組み合わせで実施される。プロセッサ820は、中央処理装置(CPU:central processing unit)、グラフィック処理装置(GPU:graphics processing unit)、加速処理装置(APU:accelerated processing unit)、マイクロプロセッサ、マイクロコントローラ、デジタル信号プロセッサ(DSP:digital signal processor)、フィールドプログラマブルゲートアレイ(FPGA:field-programmable gate array)、特定用途向け集積回路(ASIC:application-specific integrated circuit)、または別の種類の処理構成要素である。一部の実施態様では、プロセッサ820は、機能を実行するようにプログラムされ得る1つ以上のプロセッサを含む。バス826は、内部構成要素800A、800B間の通信を可能にする構成要素を含む。
【0042】
1つ以上のオペレーティングシステム828、ソフトウェアプログラム108(
図1)、およびサーバコンピュータ114(
図1)上のビデオコーディングプログラム116(
図1)は、それぞれのRAM822(通常はキャッシュメモリを含む)のうちの1つ以上を介してそれぞれのプロセッサ820のうちの1つ以上によって実行するために、それぞれのコンピュータ可読有形記憶デバイス830のうちの1つ以上に記憶される。
図4に示されている実施形態では、コンピュータ可読有形記憶デバイス830の各々は、内蔵ハードドライブの磁気ディスク記憶デバイスである。代替的に、コンピュータ可読有形記憶デバイス830の各々は、ROM824、EPROM、フラッシュメモリなどの半導体記憶デバイス、光ディスク、光磁気ディスク、ソリッドステートディスク、コンパクトディスク(CD:compact disc)、デジタル多用途ディスク(DVD:digital versatile disc)、フロッピーディスク、カートリッジ、磁気テープ、ならびに/またはコンピュータプログラムおよびデジタル情報を記憶し得る別の種類の非一時的コンピュータ可読有形記憶デバイスである。
【0043】
内部構成要素800A、800Bの各セットはまた、CD-ROM、DVD、メモリスティック、磁気テープ、磁気ディスク、光ディスク、または半導体記憶デバイスなどの1つ以上のポータブルコンピュータ可読有形記憶デバイス936から読み書きするためのR/Wドライブまたはインターフェース832を含む。ソフトウェアプログラム108(
図1)およびビデオコーディングプログラム116(
図1)などのソフトウェアプログラムは、それぞれのポータブルコンピュータ可読有形記憶デバイス936のうちの1つ以上に記憶され、それぞれのR/Wドライブまたはインターフェース832を介して読み出され、それぞれのハードドライブ830にロードされ得る。
【0044】
内部構成要素800A、800Bの各セットはまた、TCP/IPアダプタカード、無線Wi-Fiインターフェースカード、または3G、4G、もしくは5G無線インターフェースカードまたは他の有線もしくは無線通信リンクなどのネットワークアダプタまたはインターフェース836を含む。ソフトウェアプログラム108(
図1)およびサーバコンピュータ114(
図1)上のビデオコーディングプログラム116(
図1)は、ネットワーク(例えば、インターネット、ローカルエリアネットワーク、または他のワイドエリアネットワーク)およびそれぞれのネットワークアダプタまたはインターフェース836を介して外部コンピュータからコンピュータ102(
図1)およびサーバコンピュータ114にダウンロードされ得る。ネットワークアダプタまたはインターフェース836から、ソフトウェアプログラム108およびサーバコンピュータ114上のビデオコーディングプログラム116は、それぞれのハードドライブ830にロードされる。ネットワークは、銅線、光ファイバ、無線伝送、ルータ、ファイアウォール、スイッチ、ゲートウェイコンピュータ、および/またはエッジサーバを含み得る。
【0045】
外部構成要素900A、900Bのセットの各々は、コンピュータディスプレイモニタ920、キーボード930、およびコンピュータマウス934を含み得る。外部構成要素900A、900Bはまた、タッチスクリーン、仮想キーボード、タッチパッド、ポインティングデバイス、および他のヒューマンインターフェースデバイスを含み得る。内部構成要素800A、800Bのセットの各々はまた、コンピュータディスプレイモニタ920、キーボード930、およびコンピュータマウス934にインターフェースするためのデバイスドライバ840を含む。デバイスドライバ840、R/Wドライブまたはインターフェース832、およびネットワークアダプタまたはインターフェース836は、ハードウェアならびにソフトウェア(記憶デバイス830および/またはROM824に記憶された)を含む。
【0046】
本開示はクラウドコンピューティングに関する詳細な説明を含むが、本明細書に記載された教示の実施態様はクラウドコンピューティング環境に限定されないことが事前に理解される。それどころか、一部の実施形態は、現在知られているまたは後に開発される任意の他の種類のコンピューティング環境と併せて実施され得る。
【0047】
クラウドコンピューティングは、最小限の管理労力またはサービスのプロバイダとの対話で迅速にプロビジョニングおよびリリースされ得る構成可能コンピューティングリソース(例えば、ネットワーク、ネットワーク帯域幅、サーバ、処理、メモリ、ストレージ、アプリケーション、仮想マシン、およびサービス)の共有プールへの便利なオンデマンドネットワークアクセスを可能にするためのサービス配信のモデルである。このクラウドモデルは、少なくとも5つの特性、少なくとも3つのサービスモデル、および少なくとも4つの展開モデルを含み得る。
【0048】
特性は以下の通りである。
オンデマンドセルフサービス:クラウド消費者は、サービスのプロバイダとの人的な対話を必要とせずに、必要に応じて自動的に、サーバ時間およびネットワークストレージなどのコンピューティング機能を一方的にプロビジョニングし得る。
広範なネットワークアクセス:機能は、ネットワークを介して利用可能であり、異種のシンまたはシックなクライアントプラットフォーム(例えば、携帯電話、ラップトップ、およびPDA)による使用を促進する標準的なメカニズムを介してアクセスされる。
リソースプーリング:プロバイダのコンピューティングリソースは、マルチテナントモデルを使用して複数の消費者にサービスを提供するためにプールされ、異なる物理リソースおよび仮想リソースは、需要に応じて動的に割り当ておよび再割り当てされる。消費者は、一般に、提供されたリソースの正確な位置に対する制御または知識を持たないが、より高い抽象化レベル(例えば、国、州、またはデータセンタ)で位置を指定することができるという点で、位置独立性の感覚がある。
迅速な柔軟性(elasticity):機能は、素早くスケールアウトするために迅速かつ柔軟に、場合によっては自動的に、プロビジョニングされ、素早くスケールインするために迅速にリリースされ得る。消費者には、プロビジョニングに利用可能な機能は、多くの場合、無制限であるように見え、いつでも任意の量で購入され得る。
測定されるサービス:クラウドシステムは、サービスの種類(例えば、ストレージ、処理、帯域幅、およびアクティブユーザアカウント)に適したある抽象化レベルで計測機能を活用することによって、リソース使用を自動的に制御および最適化する。リソース使用は、利用されるサービスのプロバイダおよび消費者の両方に透明性を提供するように監視、制御、および報告され得る。
【0049】
サービスモデルは以下の通りである。
サービスとしてのソフトウェア(SaaS):消費者に提供される機能は、クラウドインフラストラクチャ上で動作するプロバイダのアプリケーションを使用することである。アプリケーションは、ウェブブラウザ(例えば、ウェブベースの電子メール)などのシンクライアントインターフェースを介して様々なクライアントデバイスからアクセス可能である。消費者は、限定されたユーザ固有のアプリケーション構成設定を可能な例外として、ネットワーク、サーバ、オペレーティングシステム、ストレージ、または個々のアプリケーション機能さえも含む基盤となるクラウドインフラストラクチャを管理または制御しない。
サービスとしてのプラットフォーム(PaaS):消費者に提供される機能は、プロバイダによってサポートされるプログラミング言語およびツールを使用して作成された、消費者が作成または取得したアプリケーションをクラウドインフラストラクチャ上に展開することである。消費者は、ネットワーク、サーバ、オペレーティングシステム、またはストレージを含む基盤となるクラウドインフラストラクチャを管理または制御しないが、展開されたアプリケーションおよび場合によってはアプリケーションホスティング環境構成を制御する。
サービスとしてのインフラストラクチャ(laaS):消費者に提供される機能は、処理、ストレージ、ネットワーク、および他の基本的なコンピューティングリソースをプロビジョニングすることであり、消費者は、オペレーティングシステムおよびアプリケーションを含み得る任意のソフトウェアを展開および実行し得る。消費者は、基盤となるクラウドインフラストラクチャを管理も制御もしないが、オペレーティングシステム、ストレージ、展開されたアプリケーション、および場合によっては選択ネットワーキング構成要素(例えば、ホストファイアウォール)の限定された制御を制御する。
【0050】
展開モデルは以下の通りである。
プライベートクラウド:クラウドインフラストラクチャは、組織のためにのみ動作される。それは、組織または第三者によって管理されてもよく、オンプレミスまたはオフプレミスで存在してもよい。
コミュニティクラウド:クラウドインフラストラクチャは、いくつかの組織によって共有され、共有された関心事項(例えば、ミッション、セキュリティ要件、ポリシー、およびコンプライアンスの考慮事項)を有する特定のコミュニティをサポートする。それは、組織または第三者によって管理されてもよく、オンプレミスまたはオフプレミスで存在してもよい。
パブリッククラウド:クラウドインフラストラクチャは、一般の市民または大規模な業界グループに利用可能にされ、クラウドサービスを販売する組織によって所有される。
ハイブリッドクラウド:クラウドインフラストラクチャは、独自のエンティティのままであるが、データおよびアプリケーションの可搬性(例えば、クラウド間の負荷分散のためのクラウドバースト)を可能にする標準化されたまたは独自の技術によって互いに結び付けられた2つ以上のクラウド(プライベート、コミュニティ、またはパブリック)の複合である。
【0051】
クラウドコンピューティング環境は、無国籍、低結合、モジュール性、およびセマンティック相互運用性に焦点を合わせたサービス指向である。クラウドコンピューティングの中心には、相互接続されたノードのネットワークを含むインフラストラクチャがある。
【0052】
図5を参照すると、例示的なクラウドコンピューティング環境500が示されている。図示のように、クラウドコンピューティング環境500は、例えば携帯情報端末(PDA:personal digital assistant)もしくはセルラー電話54A、デスクトップコンピュータ54B、ラップトップコンピュータ54C、および/または自動車コンピュータシステム54Nなどの、クラウド消費者によって使用されるローカルコンピューティングデバイスが通信し得る1つ以上のクラウドコンピューティングノード10を含む。クラウドコンピューティングノード10は互いに通信し得る。それらは、上述されたようなプライベートクラウド、コミュニティクラウド、パブリッククラウド、ハイブリッドクラウド、またはこれらの組み合わせなどの1つ以上のネットワークにおいて、物理的または仮想的にグループ化(図示せず)されてもよい。これは、クラウドコンピューティング環境500が、クラウド消費者がローカルコンピューティングデバイス上のリソースを維持する必要がないサービスとしてのインフラストラクチャ、プラットフォーム、および/またはソフトウェアを提供することを可能にする。
図5に示されているコンピューティングデバイス54A~54Nの種類は例示にすぎないことが意図されており、クラウドコンピューティングノード10およびクラウドコンピューティング環境500は、任意の種類のネットワークおよび/またはネットワークアドレス指定可能な接続(例えば、ウェブブラウザを使用する)を介して任意の種類のコンピュータ化されたデバイスと通信し得ることが理解される。
【0053】
図6を参照すると、クラウドコンピューティング環境500(
図5)によって提供される機能抽象化層600のセットが示されている。
図6に示されている構成要素、層、および機能は例示にすぎないことが意図されており、実施形態はこれに限定されないことを事前に理解されたい。図示のように、以下の層および対応する機能が提供される。
【0054】
ハードウェアおよびソフトウェア層60は、ハードウェアおよびソフトウェア構成要素を含む。ハードウェア構成要素の例は、メインフレーム61、RISC(縮小命令セットコンピュータ)アーキテクチャベースのサーバ62、サーバ63、ブレードサーバ64、記憶デバイス65、ならびにネットワークおよびネットワーキング構成要素66を含む。一部の実施形態では、ソフトウェア構成要素は、ネットワークアプリケーションサーバソフトウェア67およびデータベースソフトウェア68を含む。
【0055】
仮想化層70は、仮想エンティティの以下の例、すなわち、仮想サーバ71、仮想ストレージ72、仮想プライベートネットワークを含む仮想ネットワーク73、仮想アプリケーションおよびオペレーティングシステム74、ならびに仮想クライアント75が提供され得る抽象化層を提供する。
【0056】
一例では、管理層80は、以下で説明される機能を提供し得る。リソースプロビジョニング81は、クラウドコンピューティング環境内でタスクを実行するために利用されるコンピューティングリソースおよび他のリソースの動的な調達を提供する。計測および価格設定82は、リソースがクラウドコンピューティング環境内で利用されるときのコスト追跡、およびこれらのリソースの消費に対する請求または請求書発行を提供する。一例では、これらのリソースは、アプリケーションソフトウェアライセンスを含み得る。セキュリティは、クラウド消費者およびタスクのための識別検証、ならびにデータおよび他のリソースのための保護を提供する。ユーザポータル83は、消費者およびシステム管理者にクラウドコンピューティング環境へのアクセスを提供する。サービスレベル管理84は、必要なサービスレベルが満たされるようにクラウドコンピューティングリソースの割り当ておよび管理を提供する。サービスレベル合意(SLA:Service Level Agreement)の計画および履行85は、将来の要件がSLAに従って予想されるクラウドコンピューティングリソースの事前配置および調達を提供する。
【0057】
作業負荷層90は、クラウドコンピューティング環境が利用され得る機能の例を提供する。この層から提供され得る作業負荷および機能の例は、マッピングおよびナビゲーション91、ソフトウェア開発およびライフサイクル管理92、仮想教室教育配信93、データ解析処理94、取引処理95、ならびにビデオコーディング96を含む。ビデオコーディング96は、静的背景からノイズを除去することおよびDIBRによって生成された穴を埋めることに基づいてビデオデータを符号化し得る。
【0058】
一部の実施形態は、任意の可能な技術的詳細の統合レベルでシステム、方法、および/またはコンピュータ可読媒体に関し得る。コンピュータ可読媒体は、プロセッサに動作を実行させるためのコンピュータ可読プログラム命令を有するコンピュータ可読非一時的記憶媒体を含み得る。
【0059】
コンピュータ可読記憶媒体は、命令実行デバイスによって使用するための命令を保持および記憶し得る有形デバイスであり得る。コンピュータ可読記憶媒体は、例えば、電子記憶デバイス、磁気記憶デバイス、光記憶デバイス、電磁記憶デバイス、半導体記憶デバイス、または上記の任意の適切な組み合わせであってもよいが、これらに限定されない。コンピュータ可読記憶媒体のより具体的な例の非網羅的なリストは、以下を、すなわち、ポータブルコンピュータディスケット、ハードディスク、ランダムアクセスメモリ(RAM:random access memory)、読み出し専用メモリ(ROM:read-only memory)、消去可能プログラマブル読み出し専用メモリ(EPROM:erasable programmable read-only memoryまたはフラッシュメモリ)、スタティックランダムアクセスメモリ(SRAM:static random access memory)、ポータブルコンパクトディスク読み出し専用メモリ(CD-ROM:compact disc read-only memory)、デジタル多用途ディスク(DVD)、メモリスティック、フロッピーディスク、命令が記録されたパンチカードまたは溝内の隆起構造などの機械的に符号化されたデバイス、および上記の任意の適切な組み合わせを含む。本明細書で使用されるコンピュータ可読記憶媒体は、電波もしくは他の自由に伝搬する電磁波、導波路もしくは他の伝送媒体を伝搬する電磁波(例えば、光ファイバケーブルを通過する光パルス)、または電線を介して伝送される電気信号などの一時的な信号自体であると解釈されるべきではない。
【0060】
本明細書に記載のコンピュータ可読プログラム命令は、コンピュータ可読記憶媒体からそれぞれのコンピューティング/処理デバイスにダウンロードされ得るし、またはネットワーク、例えばインターネット、ローカルエリアネットワーク、ワイドエリアネットワーク、および/もしくは無線ネットワークを介して外部コンピュータもしくは外部記憶デバイスにダウンロードされ得る。ネットワークは、銅製伝送ケーブル、光伝送ファイバ、無線伝送、ルータ、ファイアウォール、スイッチ、ゲートウェイコンピュータ、および/またはエッジサーバを含み得る。各コンピューティング/処理デバイス内のネットワークアダプタカードまたはネットワークインターフェースは、ネットワークからコンピュータ可読プログラム命令を受信し、それぞれのコンピューティング/処理デバイス内のコンピュータ可読記憶媒体に記憶するためにコンピュータ可読プログラム命令を転送する。
【0061】
動作を実行するためのコンピュータ可読プログラムコード/命令は、アセンブラ命令、命令セットアーキテクチャ(ISA:instruction-set-architecture)命令、機械命令、機械依存命令、マイクロコード、ファームウェア命令、状態設定データ、集積回路の構成データ、またはSmalltalkもしくはC++などのオブジェクト指向プログラミング言語、および「C」プログラミング言語もしくは同様のプログラミング言語などの手続き型プログラミング言語を含む1つ以上のプログラミング言語の任意の組み合わせで記述されたソースコードもしくはオブジェクトコードのいずれかであってもよい。コンピュータ可読プログラム命令は、完全にユーザのコンピュータ上で、部分的にユーザのコンピュータ上で、スタンドアロンソフトウェアパッケージとして、部分的にユーザのコンピュータ上で部分的にリモートコンピュータ上で、または完全にリモートコンピュータもしくはサーバ上で実行され得る。後者のシナリオでは、リモートコンピュータは、ローカルエリアネットワーク(LAN)もしくはワイドエリアネットワーク(WAN)を含む任意の種類のネットワークを介してユーザのコンピュータに接続されてもよいし、または(例えば、インターネットサービスプロバイダを使用してインターネットを介して)外部コンピュータへの接続がなされてもよい。一部の実施形態では、例えばプログラマブル論理回路、フィールドプログラマブルゲートアレイ(FPGA)、またはプログラマブル論理アレイ(PLA:programmable logic array)を含む電子回路が、態様または動作を実行するために、コンピュータ可読プログラム命令の状態情報を利用して電子回路をパーソナライズすることによってコンピュータ可読プログラム命令を実行し得る。
【0062】
これらのコンピュータ可読プログラム命令は、コンピュータまたは他のプログラマブルデータ処理装置のプロセッサによって実行される命令が、フローチャートおよび/またはブロック図のブロックで指定された機能/動作を実施するための手段を作成するように、マシンを生成するために汎用コンピュータ、専用コンピュータ、または他のプログラマブルデータ処理装置のプロセッサに提供されてもよい。これらのコンピュータ可読プログラム命令はまた、記憶された命令を有するコンピュータ可読記憶媒体が、フローチャートおよび/またはブロック図のブロックで指定された機能/動作の態様を実施する命令を含む製品を含むように、コンピュータ、プログラマブルデータ処理装置、および/または他のデバイスに特定の方法で機能するように指示し得るコンピュータ可読記憶媒体に記憶されてもよい。
【0063】
コンピュータ可読プログラム命令はまた、コンピュータ、他のプログラマブル装置、または他のデバイス上で実行される命令がフローチャートおよび/またはブロック図のブロックで指定された機能/動作を実施するように、コンピュータ実施プロセスを生成するために一連の動作ステップがコンピュータ、他のプログラマブル装置、または他のデバイス上で実行されるよう、コンピュータ、他のプログラマブルデータ処理装置、または他のデバイス上にロードされてもよい。
【0064】
図のフローチャートおよびブロック図は、様々な実施形態によるシステム、方法、およびコンピュータ可読媒体の可能な実施態様のアーキテクチャ、機能、および動作を示す。これに関して、フローチャートまたはブロック図の各ブロックは、指定された論理機能を実施するための1つ以上の実行可能命令を含むモジュール、セグメント、または命令の一部を表し得る。方法、コンピュータシステム、およびコンピュータ可読媒体は、図に示されているものと比べて、追加のブロック、より少ないブロック、異なるブロック、または異なる配置のブロックを含んでもよい。一部の代替的な実施態様では、ブロックに記載された機能は、図に記載されているのとは異なる順序で実行されてもよい。例えば、連続して示されている2つのブロックは、実際には、同時にまたは実質的に同時に実行されてもよいし、またはブロックは、関連する機能に応じて、場合によっては逆の順序で実行されてもよい。ブロック図および/またはフローチャート図の各ブロック、ならびにブロック図および/またはフローチャート図のブロックの組み合わせは、指定された機能もしくは動作を実行する、または専用ハードウェアとコンピュータ命令との組み合わせを実現する、専用ハードウェアベースのシステムによって実施され得ることにも留意されたい。
【0065】
本明細書に記載のシステムおよび/または方法は、ハードウェア、ファームウェア、またはハードウェアとソフトウェアとの組み合わせの異なる形態で実施されてもよいことは明らかであろう。これらのシステムおよび/または方法を実施するために使用される実際の専用の制御ハードウェアまたはソフトウェアコードは、実施態様を限定するものではない。したがって、システムおよび/または方法の動作および挙動は、特定のソフトウェアコードを参照することなく本明細書に記載されており、ソフトウェアおよびハードウェアは、本明細書の記載に基づいてシステムおよび/または方法を実施するように設計され得ることが理解される。
【0066】
本明細書で使用される要素、動作、または命令は、不可欠なまたは必須のものとして明示的に記載されていない限り、不可欠なまたは必須のものとして解釈されるべきではない。また、本明細書で使用される場合、冠詞「a」および「an」は、1つ以上のものを含むことを意図されており、「1つ以上」と交換可能に使用され得る。さらに、本明細書で使用される場合、「セット」という用語は、1つ以上のもの(例えば、関連するもの、無関係なもの、関連するものと無関係なものとの組み合わせなど)を含むことを意図されており、「1つ以上」と交換可能に使用され得る。1つのもののみが意図される場合、「1つ」という用語または同様の用語が使用される。また、本明細書で使用される場合、「有する(has)」、「有する(have)」、または「有する(having)」などの用語は、オープンエンドの用語であることが意図されている。さらに、「に基づいて」という句は、特に明記しない限り、「に少なくとも部分的に基づいて」を意味することが意図されている。
【0067】
様々な態様および実施形態の説明は、例示の目的で提示されているが、網羅的であること、または開示された実施形態に限定されることを意図されていない。特徴の組み合わせが特許請求の範囲に記載され、および/または本明細書に開示されているが、これらの組み合わせは、可能な実施態様の開示を限定することを意図されていない。実際、これらの特徴の多くは、特許請求の範囲に具体的に記載されていない、および/または本明細書に開示されていない方法で組み合わされてもよい。以下に列挙されている各従属請求項は1つの請求項のみに直接従属し得るが、可能な実施態様の開示は、請求項セット内の他のすべての請求項との組み合わせにおいて各従属請求項を含む。記載された実施形態の範囲から逸脱することなく、多くの修正および変形が当業者に明らかになるであろう。本明細書で使用される用語は、実施形態の原理、実際の用途、もしくは市場で見られる技術に対する技術的改善を最もよく説明するために、または当業者が本明細書に開示されている実施形態を理解することを可能にするために選択された。
【符号の説明】
【0068】
10 クラウドコンピューティングノード
54A 携帯情報端末
54B デスクトップコンピュータ
54C ラップトップコンピュータ
54N 自動車コンピュータシステム
60 ハードウェアおよびソフトウェア層
61 メインフレーム
62 RISCアーキテクチャベースのサーバ
63 サーバ
64 ブレードサーバ
65 記憶デバイス
66 ネットワークおよびネットワーキング構成要素
67 ネットワークアプリケーションサーバソフトウェア
68 データベースソフトウェア
70 仮想化層
71 仮想サーバ
72 仮想ストレージ
73 仮想ネットワーク
74 仮想アプリケーションおよびオペレーティングシステム
75 仮想クライアント
80 管理層
81 リソースプロビジョニング
82 計測および価格設定
83 ユーザポータル
84 サービスレベル管理
85 サービスレベル合意(SLA)の計画および履行
90 作業負荷層
91 マッピングおよびナビゲーション
92 ソフトウェア開発およびライフサイクル管理
93 仮想教室教育配信
94 データ解析処理
95 取引処理
96 ビデオコーディング
100 ビデオコーディングシステム
102 コンピュータ
104 プロセッサ
106 データ記憶デバイス
108 ソフトウェアプログラム
110 通信ネットワーク
112 データベース
114 サーバコンピュータ
116 ビデオコーディングプログラム
200 エコシステム
202 360ビデオ
204 エンコーダ
206 コンテンツ配信ネットワーク
208 受信コンテンツ
210 VRプレーヤ
212 表示ビデオ
500 クラウドコンピューティング環境
600 機能抽象化層
800A 内部構成要素
800B 内部構成要素
820 プロセッサ
822 コンピュータ可読RAM
824 コンピュータ可読ROM
826 バス
828 オペレーティングシステム
830 コンピュータ可読有形記憶デバイス
832 R/Wドライブまたはインターフェース
836 ネットワークアダプタまたはインターフェース
840 デバイスドライバ
900A 外部構成要素
900B 外部構成要素
920 コンピュータディスプレイモニタ
930 キーボード
934 コンピュータマウス
936 ポータブルコンピュータ可読有形記憶デバイス
【手続補正書】
【提出日】2022-04-21
【手続補正1】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項1】
プロセッサによって実行可能なビデオコーディングの方法であって、
1つ以上のフレームを含むビデオデータを受信するステップと、
前記1つ以上のフレームの時間平均に基づいて前記1つ以上のフレームの各々に関して静的背景を推定するステップと、
前記静的背景に対応するものとして前記1つ以上のフレームの中からの画素を識別するステップと、
前記識別された画素に基づいて前記静的背景のノイズを除去するステップと
を含む方法。
【請求項2】
1つ以上のフレームの中からの画素が、色チャネル値、色変換空間、または深度値に基づいて時間平均される、請求項1に記載の方法。
【請求項3】
前記静的背景を推定するステップが、
背景推定器を時間的に更新することに基づいて、前記1つ以上のフレームからテクスチャマップおよび深度マップを推定することと、
前記推定されたテクスチャマップおよび深度マップに基づいて合成背景テクスチャを作成することと
を含む、請求項1に記載の方法。
【請求項4】
前記
静的背景が、より高い重み値を有する最近のフレームに対応する加重平均に基づいて推定される、請求項1に記載の方法。
【請求項5】
前記画素が、前記1つ以上のフレームの中からの現在のフレームおよび未来のフレームの同じ位置の画素と前記推定された静的背景とを比較することに基づいて識別される、請求項1に記載の方法。
【請求項6】
前記ノイズが、前記推定された静的背景に対応する平均値によって前記識別された画素の置換値に基づいて除去される、請求項1に記載の方法。
【請求項7】
前記静的背景が、スライディングウィンドウに基づいて推定される、請求項1に記載の方法。
【請求項8】
ビデオコーディングのためのコンピュータシステムであって、前記コンピュータシステムが、
請求項1~7のいずれか一項に記載の方法を少なくとも1つのプロセッサに行わせるためのコンピュータプログラムコードを記憶するように構成された1つ以上のコンピュータ可読非一時的記憶媒体と、
前記コンピュータプログラムコードにアクセスし、前記コンピュータプログラムコードによって命令されるように動作するよう構成された少なくとも1つのコンピュータプロセッサ
と
を備える、コンピュータシステム。
【請求項9】
ビデオコーディングのためのコンピュータプログラ
ムであって、
少なくとも1つのプロセッサに、請求項1~7のいずれか一項に記載の方法を実行させるためのコンピュータプログラム。
【国際調査報告】