JP2019537913A - ストリーミングされたメタデータを用いたビデオフレームレート変換 - Google Patents

ストリーミングされたメタデータを用いたビデオフレームレート変換 Download PDF

Info

Publication number
JP2019537913A
JP2019537913A JP2019545394A JP2019545394A JP2019537913A JP 2019537913 A JP2019537913 A JP 2019537913A JP 2019545394 A JP2019545394 A JP 2019545394A JP 2019545394 A JP2019545394 A JP 2019545394A JP 2019537913 A JP2019537913 A JP 2019537913A
Authority
JP
Japan
Prior art keywords
frame
metadata
video
interpolation
frames
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Withdrawn
Application number
JP2019545394A
Other languages
English (en)
Other versions
JP2019537913A5 (ja
Inventor
イバノビッチ ボリス
イバノビッチ ボリス
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
ATI Technologies ULC
Original Assignee
ATI Technologies ULC
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by ATI Technologies ULC filed Critical ATI Technologies ULC
Publication of JP2019537913A publication Critical patent/JP2019537913A/ja
Publication of JP2019537913A5 publication Critical patent/JP2019537913A5/ja
Withdrawn legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/60Network structure or processes for video distribution between server and client or between remote clients; Control signalling between clients, server and network components; Transmission of management data between server and client, e.g. sending from server to client commands for recording incoming content stream; Communication details between server and client 
    • H04N21/61Network physical structure; Signal processing
    • H04N21/6106Network physical structure; Signal processing specially adapted to the downstream path of the transmission network
    • H04N21/6125Network physical structure; Signal processing specially adapted to the downstream path of the transmission network involving transmission via Internet
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/25Management operations performed by the server for facilitating the content distribution or administrating data related to end-users or client devices, e.g. end-user or client device authentication, learning user preferences for recommending movies
    • H04N21/266Channel or content management, e.g. generation and management of keys and entitlement messages in a conditional access system, merging a VOD unicast channel into a multicast channel
    • H04N21/2662Controlling the complexity of the video stream, e.g. by scaling the resolution or bitrate of the video stream based on the client capabilities
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/46Embedding additional information in the video signal during the compression process
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/503Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
    • H04N19/51Motion estimation or motion compensation
    • H04N19/513Processing of motion vectors
    • H04N19/521Processing of motion vectors for estimating the reliability of the determined motion vectors or motion vector field, e.g. for smoothing the motion vector field or for correcting motion vectors
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/503Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
    • H04N19/51Motion estimation or motion compensation
    • H04N19/577Motion compensation with bidirectional frame interpolation, i.e. using B-pictures
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/587Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal sub-sampling or interpolation, e.g. decimation or subsequent interpolation of pictures in a video sequence
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/85Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using pre-processing or post-processing specially adapted for video compression
    • H04N19/87Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using pre-processing or post-processing specially adapted for video compression involving scene cut or scene change detection in combination with video compression
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/21Server components or server architectures
    • H04N21/218Source of audio or video content, e.g. local disk arrays
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/234Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs
    • H04N21/23418Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs involving operations for analysing video streams, e.g. detecting features or characteristics
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
    • H04N21/44Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream or rendering scenes according to encoded video stream scene graphs
    • H04N21/4402Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream or rendering scenes according to encoded video stream scene graphs involving reformatting operations of video signals for household redistribution, storage or real-time display
    • H04N21/440281Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream or rendering scenes according to encoded video stream scene graphs involving reformatting operations of video signals for household redistribution, storage or real-time display by altering the temporal resolution, e.g. by frame skipping
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/80Generation or processing of content or additional data by content creator independently of the distribution process; Content per se
    • H04N21/83Generation or processing of protective or descriptive data associated with content; Content structuring
    • H04N21/84Generation or processing of descriptive data, e.g. content descriptors
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/503Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
    • H04N19/51Motion estimation or motion compensation
    • H04N19/553Motion estimation dealing with occlusions

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Databases & Information Systems (AREA)
  • Television Systems (AREA)
  • Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)

Abstract

ビデオサーバ(130,305,405,505,605)は、第1フレーム(200)を含むフレームのストリーム(315,335,415)内のシーン(110)を表す第1フレームの部分についての補間パラメータ(240〜244)を表すメタデータ(530,535)を生成する。補間パラメータを用いて、フレームのストリーム内で第1フレームの後であって第2フレームの前のシーンを表す少なくとも1つの補間フレーム(205)を生成する。ビデオサーバは、メタデータをストリームに組み込み、多重化されたメタデータを含むストリームを送信する。ビデオクライアント(135,310,410,510,610)は、メタデータを含むフレームのストリームを表す第1フレームを受信する。ビデオクライアントは、第1フレーム及びメタデータに基づいて、フレームのストリーム内で第1フレームの後であって第2フレームの前のシーンを表す1つ以上の補間フレーム(205)を生成する。ビデオクライアントは、第1フレームと、1つ以上の補間フレームと、第2フレームと、を表示する。【選択図】図1

Description

フレームレートは、フレーム(画像やフィールドと呼ばれることも多い)がカメラによってキャプチャされ、又は、フレームが例えば映写機、テレビ、デジタルディスプレイ等のデバイスによって表示される速度(レート)を示す。例えば、従来のムービーカメラは、24フレーム/秒(FPS)のレートでフレームをキャプチャし、従来の映写機は、同じ24FPSのレートでフレームを投影する。いくつかのデジタルイメージングデバイスは、30FPS、48FPS、60FPS及びより高いFPS等の高いフレームレートでフレームをキャプチャすることができる。高精細テレビ(HDTV)等のデジタルディスプレイでは、60FPS以上等の高いフレームレートでフレームを表示することが可能である。画像キャプチャデバイスのフレームレートがディスプレイデバイスのフレームレートと異なることが多いので、ディスプレイデバイスは、キャプチャされたフレームのフレームレートをディスプレイデバイスのフレームレートに合わせるように変更するために、フレームレート変換を使用する。例えば、24FPSのレートでキャプチャされたフレームは、5つのディスプレイフレームに対応する期間において2つのキャプチャフレームを表示することによって、60FPSで表示することができる。これは、2つの連続したキャプチャフレームA及びBがそれぞれ3回及び2回繰り返され、5つのディスプレイフレームのシーケンス:AAABBを形成するので、3:2変換と呼ばれる。キャプチャフレームを繰り返すことによってフレームレートアップ変換を実行することは、比較的単純であるという利点を有するが、ジャダー(judder)及びブラー(blur)等の望ましくない視覚効果をもたらすことが知られている。
添付の図面を参照することによって、本開示をより良く理解することができ、その多数の機能及び利点が当業者に明らかとなるであろう。異なる図面における同じ符号の使用は、類似又は同じアイテムを示す。
いくつかの実施形態による、ビデオ取得及びディスプレイシステムを示す図である。 いくつかの実施形態による、ビデオフレームと、動きベクトルに基づいて生成された補間フレームと、を示す図である。 いくつかの実施形態による、ビデオサーバ及びビデオクライアントを含むビデオ処理システムの第1例を示すブロック図である。 いくつかの実施形態による、ビデオサーバ及びビデオクライアントを含むビデオ処理システムの第2例を示すブロック図である。 いくつかの実施形態による、ビデオフレーム、メタデータ及び補間フレームを示すビデオ処理システムのブロック図である。 いくつかの実施形態による、ビデオフレームからメタデータを生成するビデオサーバと、メタデータ及びビデオフレームに基づいて補間フレームを生成するビデオクライアントと、を含むビデオ処理システムのブロック図である。 いくつかの実施形態による、画像内のオブジェクトに関連する動きベクトルを決定するために検索可能な画像を表示するスクリーンを含む図である。
例えば60FPS等の高フレームレートをサポートするビデオディスプレイデバイスは、受信したフレームの部分の動きベクトルに基づいて、受信したフレーム間を補間することによって、ビデオサーバから受信した低フレームレートストリームに対してビデオレートアップ変換を実行する。動きベクトルを判別するために、24FPSのフレームレートでキャプチャされたフレームは、1つ以上の画素を含む部分に細分される。第1フレーム内の各部分は、第1フレーム内の部分の位置から動きベクトル候補によって示される距離だけオフセットされた、後続(第2)フレーム内の対応する部分と比較される。第1フレームの部分の起こり得る動きを表す動きベクトル候補のセットに対して、同様の比較が実行される。第1フレーム内の部分と第2フレーム内のオフセット部分との間で最も良く一致する動きベクトルが、第1フレーム内の部分の動きを表す動きベクトルとして選択される。次に、第1フレームの全ての部分について動きベクトル計算が繰り返され、第1フレームの動きベクトルフィールドが決定される。ビデオディスプレイデバイスは、動きベクトルフィールドを使用して推定フレームを生成し、従来のフレームレート変換に使用される繰り返しフレームを置き換える。例えば、24FPSから60FPSへのフレームレートアップ変換は、AA′A″BB′として表すことができ、A′は、フレームAからの補間によって生成された第1推定フレームであり、A″は、フレームAからの補間によって生成された第2推定フレームであり、B′は、フレームBからの補間によって生成された推定フレームである。しかしながら、ビデオフレームレートアップ変換は、計算負荷が高く、これは、ビデオディスプレイデバイスによる電力使用量を著しく増大させ、動きベクトルフィールドのブルートフォース計算を実行するのに十分な計算能力を有するビデオディスプレイデバイスに対するフレームレートアップ変換の利用可用性を制限する。
ビデオサーバにおいてストリーム内のフレームの動き推定を実行し、フレームを、フレームの動きベクトルフィールドを表すメタデータと共にビデオディスプレイデバイスに提供することによって、ビデオディスプレイデバイスによる電力消費を低減することができ、計算能力の低いビデオディスプレイデバイスがビデオフレームレートアップ変換の恩恵を受けることができる。いくつかの実施形態では、メタデータは、動きベクトルフィールド内の動きベクトルに対する信頼度測定値、又は、(0)動きベクトルに基づいて補間が実行されないこと、(1)補間が時間的に前方向にのみ実行されること、(2)補間が時間的に後方向にのみ実行されること、若しくは、(3)補間が時間的に双方向に実行されること、を示すフラグを含む。ビデオサーバは、ストリーム内のフレームを第1フレームレートで提供し、メタデータをストリームに多重化又は組み込む。ビデオサーバのいくつかの実施形態は、フレームに対してシーン変化検出を実行し、フレーム内でシーン変化が検出されたかどうかを示す追加メタデータを提供するように構成されている。動きベクトル処理を使用して、隣接する動きベクトルとは予想外に異なる異常値動きベクトル(例えば、これらは反対方向を向いているか、又は、隣接する動きベクトルの平均とはかなり異なる大きさを有する)を識別する。異常値動きベクトルは、隣接する動きベクトルの値に基づいて無視又は修正することができる。オクルージョンされた動きベクトルに基づいて、補間が実行されず、補間が時間的に前方向にのみ実行され、補間が時間的に後方向にのみ実行され、又は、補間が時間的に両方向に実行されるように、オクルージョンの影響を受けるフレームの部分の動きベクトルを識別するために、オクルージョン検出を使用することができる。いくつかの実施形態では、動きベクトル処理及びオクルージョン検出は、フレーム内の異常値動きベクトル又はオクルージョンされた動きベクトルを表すメタデータを生成し、メタデータをフレームと共に提供するビデオサーバによって実行される。ビデオディスプレイデバイスは、対応するメタデータと共にストリーム内のフレームを受信し、メタデータを使用して、当該メタデータに基づいてフレームから補間することによって推定フレームを生成する。推定フレームは、第1フレームレートから第2(高い)フレームレートへのストリーム内のフレームのフレームレートアップ変換のために使用される。
図1は、いくつかの実施形態による、ビデオ取得及びディスプレイシステム100の図である。システム100は、例えばビデオカメラ等のビデオ取得デバイス105を含む。ビデオ取得デバイス105は、スタンドアロンデバイスであってもよいし、例えばデスクトップコンピュータ、ラップトップコンピュータ、タブレットコンピュータ及びスマートフォン等の別のコンピューティングデバイスに統合されてもよい。ビデオ取得デバイス105は、シーン110の画像シーケンスを取得する。図示した実施形態では、シーン110は、フィールド115と、人物120と、ボール125と、を含む。しかしながら、シーン110は、ビデオ取得デバイス105によってモニタすることができる任意のシーンであってもよい。ビデオ取得デバイス105によってキャプチャされた画像は、フレーム内の画素の値として表される。ビデオ取得デバイス105は、例えば24フレーム/秒(FPS)又は30FPS等のフレームレートでキャプチャされた画像に基づいて、フレームを生成する。
ビデオ取得デバイス105によって生成されたフレームは、ビデオサーバ130に提供され、ビデオサーバ130は、(少なくとも一時的に)フレームを記憶し、フレームを、例えば介在するネットワーク140を介して1つ以上のビデオクライアント135に提供するように構成されている。例えば、シーン110は、ユーザがビデオクライアント135のスクリーン145上で観戦しているサッカー又はフットボールの試合の一部を含む。この例では、ビデオサーバ130は、ビデオ取得デバイス105によって生成されたフレームのストリームを受信し、フレームのストリームを、ビデオ取得デバイス105のフレームレートでビデオクライアント135に送信する。本明細書で説明するように、ビデオ取得デバイス105のフレームレートは、ビデオクライアント135においてフレームのストリームによって表されるビデオを表示するために使用可能なフレームレートと必ずしも一致しない。例えば、ビデオ取得デバイス105は、24FPSのフレームレートで画像を取得することができるが、ビデオクライアント135は、例えば30FPS、48FPS、60FPS及びこれら以上のFPS等のように、より高いフレームレートでフレームを表示することができる。
ビデオクライアント135は、ビデオフレームレートアップ変換を実行して、低いフレームレート(例えば24FPS等)で受信したフレームを高いフレームレート(例えば60FPS等)で表示可能な多数のフレームに変換することができる。ビデオクライアント135は、ビデオサーバ130から受信したフレームの間を補間することによって、追加のフレームを生成することができる。ビデオクライアント135は、例えば、受信フレームと参照フレームとのブロックベースの比較を用いて生成された受信フレームの一部の動きベクトル、受信フレームのオプティカルフロー分析、又は、受信フレームの一部の相関(例えば、自動相関、畳み込み、相互相関若しくは位相相関)等のように、受信フレームから導出された補間パラメータに基づいて補間を実行することができる。しかしながら、本明細書で説明するように、補間パラメータを生成することは計算負荷が高く、これは、ビデオクライアント135における電力消費を増大させ、ビデオレートアップ変換を実行可能なビデオクライアント135のタイプを制限する場合がある。
ビデオクライアント135の計算負荷を低減するために、ビデオサーバ130のいくつかの実施形態は、ビデオ取得デバイス105から受信したフレームを使用して補間パラメータを生成する。例えば、ビデオサーバ130は、ビデオ取得デバイス105によって使用されるフレームレート(例えば、24FPS)からビデオクライアント135でフレームを表示するのに使用されるフレームレート(例えば、60FPS)へのビデオレートアップ変換を実行するために使用され得る補間パラメータの1つ以上のセットを生成することができる。ビデオ取得デバイス105によって生成されたフレームのストリーム内の第1フレームの補間パラメータは、ビデオ取得デバイス105によって生成されたストリーム内の第1フレーム後であって第2フレーム前のシーン110を表す1つ以上の補間フレームを生成するために使用される。次に、ビデオサーバ130は、補間パラメータを表すメタデータを生成し、ビデオクライアント135に送信されるフレームのストリームに当該メタデータを多重化又は組み込む。よって、ビデオクライアント135は、補間パラメータを生成するという計算負荷の高いタスクを実行する必要がない。
ビデオクライアント135は、多重化されたメタデータを含むフレームのストリームをビデオサーバ130から受信する。例えば、ビデオクライアント135は、シーン110を表す第1フレームを、第1フレームの部分の補間パラメータを表す多重化されたメタデータを含むフレームのストリームにおいて受信することができる。次に、ビデオクライアント135は、フレームのストリーム内の第1フレーム後であって第2フレーム前の時間間隔でシーンを表す1つ以上の補間フレームを生成することができる。例えば、ビデオクライアント135は、第1フレームの一部(画素又は画素のグループ等)の動きベクトルを用いて第1フレームの画素の値を補間して、補間フレームの画素の推定値を生成することができる。補間フレームの数は、ビデオ取得デバイス105によって使用されるフレームレートと、ビデオクライアント135によって使用されるフレームレートと、の比率に基づいて決定される。例えば、ビデオクライアント135は、第1フレームに対して2つの補間フレームと、第2フレームに対して1つの補間フレームと、を繰り返し生成して、24FPSから60FPSへの3:2フレームレートアップ変換を実行することができる。次に、ビデオクライアント135は、第1フレーム、第1フレームから補間された2つのフレーム、第2フレーム、第2フレームから補間された1つのフレーム等を表示する。本明細書で説明するように、いくつかの実施形態では、信頼度尺度又はフラグに基づいて、補間が選択的に実行される。例えば、メタデータ内のフラグの値に基づいて、補間をバイパスすることができ、時間的に順方向に実行することができ、時間的に逆方向に実行することができ、時間的に双方向に実行することができる。
図2は、いくつかの実施形態による、ビデオフレーム200と、動きベクトルに基づいて生成された補間フレーム205と、を示す図である。ビデオフレーム200は、図1に示すビデオ取得デバイス105のいくつかの実施形態によって生成されたフレームを表す。補間フレーム205は、図1に示すビデオクライアント135のいくつかの実施形態によって生成された補間フレームを表す。
ビデオフレーム200は、ビデオ取得デバイスによってモニタされているシーンを表す値を有する画素のアレイから構成されている。例えば、画素210,211,212(本明細書では、まとめて「画素210〜212」と呼ばれる)は、ビデオフレーム200内の人物215の対応する部分を表す値を有する。別の例では、画素220,221は、ビデオフレーム200内のボール225の対応する部分を表す値を有する。さらに別の例では、画素230は、ビデオフレーム200内のフィールド235の対応する部分を表す値を有する。
画素は、対応する動きベクトルに関連付けられている。例えば、画素210〜212は、画素210〜212に対して推定された動きの振幅及び方向を示す、対応する動きベクトル240,241,242(本明細書では、まとめて「動きベクトル240〜242」と呼ばれる)を有する。別の例では、画素220,221は、画素220,221に対して推定された動きの振幅及び方向を示す、対応する動きベクトル243,244を有する。画素230は、フィールド235の静止部分を表す値を有するので、画素230に関連する動きベクトルが存在しない。代わりに、振幅が0で方向がない(又は、任意の方向を有する)動きベクトルを、画素230に関連付けることができる。本明細書で説明するように、動きベクトル240〜244(他の補間パラメータと同様)は、図1に示すビデオサーバ130等のビデオサーバによって、画素210〜212,220,221,230に対して決定される。図2には個々の画素210〜212,220,221,230が示されているが、いくつかの実施形態では、画素210〜212,220,221,230は、画素のブロック(例えば、16×16の画素のブロック等)を表す。ビデオサーバは、動きベクトル240〜244を表すメタデータ(又は、他の補間パラメータ)を、ビデオフレーム200を表す情報と多重化し、多重化されたフレーム/メタデータストリームをビデオクライアント(図1に示すビデオクライアント135等)に送信する。
ビデオクライアントは、受信したフレームとメタデータとを用いて、例えば、受信したフレームとメタデータとに基づいて補間フレームを生成することによって、ビデオレートアップ変換を実行する。図示した実施形態では、動きベクトル240〜244に基づいて、ビデオフレーム200内の画素の値を補間して補間フレーム205内の画素の値を生成することによって、補間フレーム205が生成される。例えば、画素250,251,252(本明細書では、まとめて「画素250〜252」と呼ばれる)の値は、動きベクトル240〜242を用いて画素210〜212の値を補間することによって生成される。別の例では、画素253,254の値は、動きベクトル243,244を用いて画素220,221の値を補間することによって生成される。画素210〜212,220,221と画素250〜254との間のオフセットは、動きベクトル240〜244の振幅及び方向と、ビデオフレーム200と補間フレーム205との間の時間間隔と、によって決定される。画素230は、補間フレーム205内のビデオフレーム200からの値を保持する。
図3は、いくつかの実施形態による、ビデオサーバ305及びビデオクライアント310を含むビデオ処理システム300の第1例を示すブロック図である。図1に示すビデオ取得及びディスプレイシステム100のいくつかの実施形態を実施するために、ビデオ処理システム300が使用される。例えば、図1に示すビデオサーバ130のいくつかの実施形態を実施するためにビデオサーバ305が使用され、図1に示すビデオクライアント135のいくつかの実施形態を実施するためにビデオクライアント310が使用される。ビデオサーバ305は、例えば24FPS等の第1フレームレートでビデオ取得デバイス(図1に示すビデオ取得デバイス105等)によって提供されるフレームを含むストリーム315を受信する。
ビデオサーバ305は、受信したフレーム内の画素又は画素のグループの動きベクトルを推定するのに使用される動き推定モジュール320を含む。例えば、動き推定モジュール320は、カレントフレーム内の画素の値を、参照フレーム(例えば、ストリーム内で以前に受信したフレーム等)内の画素の値と比較することができる。比較は、カレントフレーム内の画素を、候補動きベクトルによって決定されたオフセットだけシフトし、オフセット画素の値を、参照フレーム内の画素の値と比較することによって実行される。しかしながら、本明細書で説明するように、比較を、相関分析、オプティカルフロー分析等に基づいて実行することもできる。次に、画素値の類似性の測定値が計算される。この処理を候補動きベクトルのセットに対して繰り返し、最高の類似性測定値を有する候補動きベクトルを、画素(又は、画素のグループ)の動きベクトルとして選択する。いくつかの実施形態では、動き推定モジュール320は、異なる候補動きベクトル間の類似性測定値の勾配を測定し、候補動きベクトル間の「距離コスト」として比較する。勾配及びコストは、画素又は画素のグループの動きベクトルとして1つの候補動きベクトルを選択するために、重み付けられ、組み合わされる。「距離コスト」は、L−1ノルム(例えば、候補動きベクトル間の距離のグリッド測定値に関するタクシーキャブ距離)、ピタゴラスの定理に従って候補動きベクトル間のユークリッド距離を判定するL−2ノルム、又は、異なる候補動きベクトル間の距離を特徴付ける他の測定値を使用して決定することができる。いくつかの実施形態では、一次動きベクトルに加えて、「次点」動きベクトルも選択することができる。
動き推定モジュール320のいくつかの実施形態は、選択された動きベクトル及び任意の「次点」動きベクトルに対する信頼度尺度を生成する。これらの信頼度尺度は、選択された動きベクトルが、対応する画素又は画素のグループ内で表される画像の部分の動きを正確に表す尤度を示す。例えば、ベクトルの信頼度尺度は、範0..n内の数で表すことができ、数値が小さいほど信頼度のレベルが低く、数値が大きいほど信頼度のレベルが高いことを示す。信頼度尺度を表す数は、浮動小数点数、3ビットの数、又は、他の表現とすることができる。
動き推定モジュール320は、ストリーム315のフレーム内の画素(又は、画素のグループ)の動きベクトルを表すメタデータを生成する。例えば、画素(又は、画素のグループ)毎の動きベクトルは、スクリーン平面内のX方向及びY方向の差分距離(dx、dy)として表すことができる。別の例では、画素(又は、画素のグループ)毎の動きベクトルは、動きベクトルの振幅を示す情報と、フレーム内の動きベクトルの方向を示す情報と、を表すことができる。動きベクトル毎のメタデータは、対応する画素(又は、画素のグループ)を識別する情報も含む。また、動き推定モジュール320のいくつかの実施形態は、メタデータ内の動きベクトル毎の信頼度尺度を含む。図3に示す動き推定モジュール320は、動きベクトルを計算するが、動き推定モジュール320のいくつかの実施形態は、オプティカルフロー結果、相関分析結果等の他の補間パラメータを生成する。したがって、動き推定モジュール320は、これらの他の補間パラメータを表すメタデータを生成することができる。
ビデオサーバ305のいくつかの実施形態は、シーン変化検出モジュール325を含む。シーン変化は、カレントフレームによって表されるシーンが、ストリーム315内の前のフレームによって表されるシーンと異なる場合に発生する。シーン変化検出モジュール325は、カレントフレーム内の画素の値を前のフレーム内の画素の値と比較することによって、シーン変化を検出することができる。例えば、カレントフレームと前のフレームとの間でシーン変化が発生する場合、カレントフレーム及び前のフレーム内の画素の一部又は全ての値が不連続に変化する。したがって、シーン変化検出モジュール325は、カレントフレーム及び前のフレームにおける画素値間の差の測定値を決定することができる。距離測定値が閾値よりも大きい場合、シーン変化検出モジュール325は、シーン変化を検出する。シーン変化検出モジュール325は、シーン変化がない場合には「0」の値が与えられ、シーン変化が検出された場合には「1」の値が与えられるビット等のように、シーン変化を示すメタデータを生成することができる。ストリーム315内のフレーム間で補間を試みるかどうかを決定するために、メタデータの値が使用される。
ストリーム315内のフレーム、動き推定モジュール320によって生成されたメタデータ、シーン変化検出モジュール325によって生成されたメタデータ、及び、ビデオサーバ305内の他のビデオ処理モジュールによって生成されたメタデータは、マルチプレクサ330に提供される。マルチプレクサ330は、メタデータをストリーム315に多重化するか組み込む。例えば、マルチプレクサ330は、各フレームに関連するメタデータによって分離されたストリーム315内のフレームを含む出力ストリーム335を生成することができる。出力ストリーム335は、ビデオクライアント310に送信される。いくつかの実施形態では、フレーム及びメタデータは、ビデオサーバ305に記憶される。次に、多重化された出力ストリーム335は、ビデオクライアント310からの要求に応じてビデオクライアント310に提供される。したがって、メタデータをリアルタイムで生成する必要がない。
ビデオクライアント310のいくつかの実施形態は、オクルージョン及び動きベクトル処理モジュール340を含む。オクルージョンは、シーン内の1つのオブジェクトが別のオブジェクトの前又は後ろを通過するときに発生する。例えば、ボールが木の後ろを移動すると、ボールの一部が木によって遮られる。カレントフレーム内で遮られている前のフレーム内のオブジェクトの部分の動きベクトルは、遮るオブジェクトの部分を表す画素の値(遮られているオブジェクトの部分に対応する値が割り当てられている)をもたらす場合があるので、補間に用いられるべきではない。例えば、フレーム内の動きベクトルに基づいて木の後ろを移動するボールを含むシーンを表すフレームを補間することは、補間フレーム内でボールの部分が木の前を移動するように見えることをもたらす場合がある。オクルージョン及び動きベクトル処理モジュール340は、シーンの部分におけるオクルージョンを検出し、対応するメタデータを生成することができる。オクルージョン及び動きベクトル処理モジュール340のいくつかの実施形態は、(例えば、前のフレームに対してカレントフレーム内の動きベクトルを決定することによって)時間的に前に決定された動きベクトルと、(例えば、カレントフレームに対して前のフレーム内の動きベクトルを決定することによって)時間的に後に決定された動きベクトルと、を比較することによって、オクルージョンを検出する。動きベクトルが一致する場合、オクルージョンの見込みは低い。しかしながら、オクルージョンが存在する場合、時間的に前の動きベクトル及び時間的に後の動きベクトルは異なるであろう。オクルージョン及び動きベクトル処理モジュール340は、画素(又は、画素のグループ)がオクルージョンを経験しているかどうかを示すメタデータを生成する。例えば、遮られた画素(又は、画素のグループ)の動きベクトルは、動きベクトルにおける低い信頼度を示すために、0又は他の低い値の信頼度尺度が与えられ得る。別の例では、遮られた画素(又は、画素のグループ)は、動きベクトルに関連するオクルージョンが存在しない場合には、「0」の値が与えられたビットに関連付けられ、動きベクトルに関するオクルージョンが検出された場合には、「1」の値が与えられたビットに関連付けられ得る。ストリーム335内のフレーム間の補間に動きベクトルを使用するかどうかを決定するために、メタデータの値が使用される。
また、エラー又はアーチファクトであり得る外れ値動きベクトルを検出するために、オクルージョン及び動きベクトル処理モジュール340を使用することができる。例えば、オクルージョン及び動きベクトル処理モジュール340は、第1画素の動きベクトルが1つ以上の隣接する画素の動きベクトルと統計的に異なると判別した場合、第1画素の動きベクトルを外れ値として識別する。統計的差異の例としては、隣接する動きベクトルの振幅の平均値から所定数の標準偏差以上離れた振幅と、隣接する動きベクトルの平均方向から所定数の標準偏差以上離れた方向等と、を有する動きベクトルが挙げられる。オクルージョン及び動きベクトル処理モジュール340のいくつかの実施形態は、例えば、外れ値動きベクトルの振幅又は方向を、隣接する動きベクトルの振幅又は方向の平均で置き換えることによって、隣接する動きベクトルの値に基づいて外れ値動きベクトルを修正する。また、例えば、外れ値を局所平均又は最も類似した隣接する動きベクトルで置き換える空間時間メリディアンフィルタ(spatial-temporal meridian filters)を使用して外れ値を除去するように、動きベクトルをフィルタリングすることができる。外れ値動きベクトル(又は、外れ値動きベクトルの置き換えられた値)に関連する信頼度尺度を、動きベクトルの精度に対する低い信頼度を示すように低い値に設定することができる。オクルージョン及び動きベクトル処理モジュール340は、外れ値動きベクトルに対する修正を示すことができ、又は、外れ値動きベクトルを補間に使用すべきかどうかを示すことができるメタデータ(例えば、信頼度尺度等)を生成することができる。
ビデオクライアント310の補間モジュール345は、ストリーム315のフレームと、ビデオサーバ305によって生成されたメタデータと、オクルージョン及び動きベクトル処理モジュール340によって生成されたメタデータと、を含む出力ストリーム335を受信する。本明細書で説明するように、補間モジュール345は、受信したビデオフレーム及びメタデータを用いて、1つ以上の補間フレームを生成する。次に、補間モジュール345は、ストリーム315内のフレームと、フレーム及びメタデータに基づいて生成された補間フレームと、を含む補間ビデオストリーム350を提供する。
図4は、いくつかの実施形態による、ビデオサーバ405及びビデオクライアント410を含むビデオ処理システム400の第2例を示すブロック図である。ビデオ処理システム400は、図1に示すビデオ取得及びディスプレイシステム100のいくつかの実施形態を実施するために使用される。例えば、図1に示すビデオサーバ130のいくつかの実施形態を実施するためにビデオサーバ405が使用され、図1に示すビデオクライアント135のいくつかの実施形態を実施するためにビデオクライアント410が使用される。ビデオサーバ405は、例えば24FPS等の第1フレームレートで、ビデオ取得デバイス(図1に示すビデオ取得デバイス105等)によって提供されたフレームを含むストリーム415を受信する。
ビデオサーバ405は、動き推定モジュール420を含み、動き推定モジュール420は、動きベクトルを決定し、ストリーム415のフレーム内の画素(又は、画素のグループ)の動きベクトルを表すメタデータを生成する。また、ビデオサーバ405は、ストリーム415のフレーム内のシーン変化を検出し、シーン変化を示すためのメタデータを生成するシーン変化検出モジュール425を含む。動き推定モジュール420及びシーン変化検出モジュール425は、図3に示す動き推定モジュール320及びシーン変化検出モジュール325のいくつかの実施形態と同じように動作するように構成されている。
図4に示すビデオ処理システム400の第2例は、ビデオサーバ405がオクルージョン及び動きベクトル処理モジュール430を実施するので、図3に示すビデオ処理システム300の第1例と異なる。オクルージョン及び動きベクトル処理モジュール430の計算負荷の高い演算を適度に移動させることは、ビデオクライアント410の計算負荷を軽減する。オクルージョン及び動きベクトル処理モジュール430は、ストリーム415のフレーム内のオクルージョンを検出し、フレーム内の画素(又は、画素のグループ)がオクルージョンを経験しているかどうかを示すメタデータを生成するように構成されている。また、オクルージョン及び動きベクトル処理モジュール430は、ストリーム415のフレーム内の外れ値動きベクトルを検出するように構成されている。本明細書で説明するように、オクルージョン及び動きベクトル処理モジュール430のいくつかの実施形態は、外れ値動きベクトルの値を修正し、外れ値動きベクトルに対する修正を示すことができ、又は、外れ値動きベクトルを補間に使用すべきかどうかを示すことができるメタデータを生成する。
ストリーム415内のフレームと、動き推定モジュール420によって生成されたメタデータと、シーン変化検出モジュール425によって生成されたメタデータと、オクルージョン及び動きベクトル処理モジュール430によって生成されたメタデータと、ビデオサーバ405内の他のビデオ処理モジュールによって生成されたメタデータとは、マルチプレクサ435に提供される。マルチプレクサ435は、メタデータをストリーム415に多重化するか組み込む。例えば、マルチプレクサ435は、各フレームに関連するメタデータによって分離されたストリーム415内のフレームを含む出力ストリーム440を生成することができる。出力ストリーム440は、ビデオクライアント410に送信される。いくつかの実施形態では、フレーム及びメタデータは、ビデオサーバ405に記憶される。次に、多重化された出力ストリーム440は、ビデオクライアント410からの要求に応じてビデオクライアント410に提供される。したがって、メタデータをリアルタイムで生成する必要はない。
ビデオクライアント410内の補間モジュール445は、ストリーム415のフレームと、ビデオサーバ405によって生成されたメタデータと、を含む出力ストリーム440を受信する。本明細書で説明するように、補間モジュール445は、受信したビデオフレーム及びメタデータを用いて1つ以上の補間フレームを生成する。次いで、補間モジュール445は、ストリーム415内のフレームと、フレーム及びメタデータに基づいて生成された補間フレームと、を含む補間ビデオストリーム450を提供する。
図5は、いくつかの実施形態による、ビデオフレーム、メタデータ及び補間フレームを示すビデオ処理システム500のブロック図である。ビデオ処理システム500は、図1、図3及び図4に示すビデオサーバ130,305,405及びビデオクライアント135,310,410のいくつかの実施形態を使用して実施されるビデオサーバ505及びビデオクライアント510を含む。
ビデオサーバ505は、ビデオフレーム515,520を含むストリームを受信する(又は、生成する)。また、ビデオサーバ505は、対応するビデオフレーム515,520についてメタデータ525,530を生成する。メタデータは、動き推定モジュール、シーン変化検出モジュール、オクルージョン及び動きベクトル処理モジュール(ビデオサーバ505内に実装されている場合)、又は、ビデオサーバ505内に実装されている他のビデオ処理モジュールによって生成され得る。ビデオフレーム515,520及びメタデータ525,530は、マルチプレクサ535に提供され、マルチプレクサ535は、ビデオフレーム515,520及びメタデータ525,530を出力ストリーム540に多重化するか組み込む。
ビデオサーバ505のいくつかの実施形態は、ビデオフレーム515,520及びメタデータ525,530を圧縮して、出力ストリーム540を形成する。出力ストリーム540を形成するビットを圧縮することは、出力ストリーム540を送信するのに必要とされる帯域幅を僅かに増加させるに過ぎないことから、ビデオ品質を著しく改善することができる。例えば、Netflix等のサービスは、約5メガビット/秒のレートでデータをストリーミングし、約5メガビット/秒の速度は、24FPSのフレームレートを有する映画についての圧縮データのピクチャ当たり約208,000ビットに対応する。圧縮データは、約2500万ビットの非圧縮データを表す。メタデータは、動きベクトル情報及び信頼度尺度を含む16ビット(例えば、水平方向の動きを表す6ビットと、垂直方向の動きを表す6ビットと、信頼度尺度を表す2ビットと、動きベクトルがオクルージョンに関連するかどうか、及び、動きベクトルを前方向、後方向又は双方向の補間に使用すべきかどうかを示す2ビットと、を含む)ベクトルとして表すことができる。本明細書で説明するように、1920×1080画素のスクリーン上に表示されるフレーム当たり8100個のベクトルが存在し、これは、フレーム当たり8100×16=129,600ビットの非圧縮データをもたらす。メタデータの圧縮率は、画像内の動きの間の相関が一般的に大きいために、控えめに見積もっても10:1である。よって、圧縮されたメタデータは、圧縮されたビデオフレームと比較して、帯域幅をあまり消費しない。したがって、帯域幅を節約することができ、例えば、60Hzのビデオを、伝送されなかったフレームを復元又は補間する方法を示すメタデータを含む30Hzのビデオとして伝送することによって、60Hzのビデオを伝送するのに必要な帯域幅をほぼ50%低減することができる。
また、ビデオサーバ505のいくつかの実施形態は、フレームのダウンスケール又はサムネイルバージョンを出力ストリーム540に多重化することができる。これにより、ビデオサーバ505は、より高いフレームレートを有するストリーム内にあるいくつかのフレームをドロップし、より低いフレームレートで残りのフレームを送信することが可能になる。次に、ビデオサーバ505は、出力ストリーム540内の情報を、ドロップされたフレームのダウンスケール又はサムネイルバージョンで補足することができ、これにより、ビデオクライアント510が、ダウンスケール又はサムネイルバージョンを用いて、受信したフレームを用いてより高いフレームレートで表示するために、フレームを再構成又は補間することができる。また、オクルージョン領域の形状を識別し、又は、オクルージョン領域若しくは画像の不鮮明な領域内で補間を実行するために、ダウンスケール又はサムネイルバージョンを使用することができる。
ビデオクライアント510は、ビデオサーバ505から出力ストリーム540を受信する。本明細書で説明するように、ビデオクライアント510は、ビデオフレーム515,520及びメタデータ525,530を用いて補間フレーム545,550,555を生成する。例えば、ビデオフレーム515内の画素値を補間して補間フレーム545,550の画素値を生成するために、メタデータ525を使用する。別の例では、ビデオフレーム520内の画素値を補間して補間フレーム555の画素値を生成するために、メタデータ530を使用する。ビデオクライアント510は、ビデオフレーム515,520及び補間フレーム545,550,555を含むディスプレイストリーム560を生成する。ディスプレイストリーム560を用いて、ビデオクライアント510のスクリーン上にビデオを表示する。
図6は、いくつかの実施形態による、ビデオフレームからメタデータを生成するビデオサーバ605と、メタデータ及びビデオフレームに基づいて補間フレームを生成するビデオクライアント610と、を含むビデオ処理システム600のブロック図である。図1及び図3〜5に示すビデオサーバ130,305,405,505及びビデオクライアント135,310,410,510のいくつかの実施形態を実施するために、ビデオサーバ605及びビデオクライアント610が使用される。
ビデオサーバ605は、信号を送受信するためのネットワークインタフェース615(例えば、ネットワークインタフェース)を含む。例えば、ネットワークインタフェース615は、ビデオ取得デバイス620によって生成されたストリーム内のフレームを表す信号を受信することができる。また、ネットワークインタフェース615は、本明細書で説明するように、ビデオフレーム及び関連するメタデータを表す信号を送信することができる。ネットワークインタフェース615は、(例えば、単一のASIC若しくはFPGAを用いた)単一の集積回路として、又は、ネットワークインタフェース615の機能を実施するための異なるモジュールを含むシステムオンチップ(SOC)として実施することができる。また、ビデオサーバ605は、プロセッサ625と、メモリ630と、を含む。プロセッサ625を用いて、メモリ630に記憶された命令を実行し、実行された命令の結果(ビデオフレーム又は関連するメタデータを含むことができる)等の情報をメモリ630に記憶することができる。
ビデオクライアント610は、信号を送受信するためのネットワークインタフェース635を含む。例えば、ネットワークインタフェース635は、ビデオサーバ605によって生成されたビデオフレーム及びメタデータを表す信号を受信することができる。別の例では、ネットワークインタフェース635は、受信したメタデータに基づいて生成されたビデオフレーム及び補間フレームを、表示のためにスクリーン640に送信することができる。ネットワークインタフェース635は、(例えば、単一のASIC若しくはFPGAを用いた)単一の集積回路として、又は、ネットワークインタフェース635の機能を実施するための異なるモジュールを含むシステムオンチップ(SOC)として実施することができる。また、ビデオクライアント610は、プロセッサ645と、メモリ650と、を含む。プロセッサ645を用いて、メモリ650に記憶された命令を実行し、実行された命令の結果等の情報をメモリ650に記憶することができる。例えば、プロセッサ645を用いて、ビデオサーバ605から受信したビデオフレーム及びメタデータに基づいて補間フレームを生成することができる。次に、補間フレームをネットワークインタフェース635に提供して、スクリーン640上に画像を生成する。
図7は、いくつかの実施形態による、画像内のオブジェクトに関連する動きベクトルを決定するために検索可能な画像を表示するスクリーン700を含む図である。スクリーン700は、1920×1080画素のアレイであるが、スクリーン700の他の実施形態は、異なる数の行又は列に配置された異なる数の画素を含む。図示した実施形態では、カレントフレーム内で表示される画像は、スクリーン700に実現されるアレイ内の画素の異なる値によって表される、人物705、ボール710及びフィールド715を含む。
画像内の動きを検出するために、カレントフレーム内の画像を表す画素の値のサブセットが、前のフレーム内の画像を表す画素の値の参照サブセットと比較される。例えば、スクリーン700の画素は、例えばサーチウィンドウ720等の64×64のサーチウィンドウに分割され、次いで、サーチウィンドウ720内の16×16のサーチブロックは、参照ブロック(例えば、ボール710の前の位置を表す画素の値を含む16×16の参照ブロック725等)と比較される。したがって、サーチ処理は、サーチウィンドウ720内の候補動きベクトルを評価するために、参照ブロック725に対して異なるオフセットでのサーチブロックの64×64=4096の別々の比較を必要とする。各々の比較の結果は、スコアSで表すことができ、
Figure 2019537913

であり、Cijは、サーチウィンドウ720の比較ブロック内の位置i、jにおける画素の値を表し、Rijは、参照ブロック725内の位置i、jにおける画素の値を表す。よって、この例では、各スコアは、256回の減算と、256回の絶対値演算と、を必要とする。
動きベクトルサーチの計算負荷は、サーチウィンドウ720等の候補領域毎にサーチを実行するために、処理コア当たり約30の命令を必要とする単一命令多重データ(SIMD)グラフィックス処理ユニット(GPU)を用いてスコアが決定されると想定することによって、推定することができる。したがって、スクリーン700上の画素によって表される画像の1回の完全なサーチは、GPU上で4096×30=122,880サイクルを必要とする。異なる参照ブロックの数は、スクリーン700上の画素によって表される画像に対して1920/16×1080/16=8100の参照ブロックである。したがって、各画像をサーチするのに必要なサイクルの総数は、8100×122,880≒10サイクルである。本明細書で説明するように、オクルージョン検出及び他の機能は、前方サーチ(例えば、前のフレームに対してカレントフレームを比較する)及び後方サーチ(例えば、カレントフレームに対して前のフレームを比較する)を実行することを必要とし、これは、画像当たりのサイクル数を2倍にする。典型的な入力フレームレートは24FPSであり、これは、毎秒480億サイクルの総プロセッサ要件をもたらす。この処理能力は、全てのデバイスで利用できるわけではなく、利用できる場合には大量の電力を消費する。さらに、この推定値はより低い推定値であるが、これは、後処理(例えば、外れ値及びオクルージョン等を見つけて処理する等)のために追加の計算が典型的に必要とされるためである。さらにまた、異なるスケールで表された画像に対して追加の計算を実行することができる。
本明細書で説明するビデオ取得及びディスプレイシステムのいくつかの実施形態は、従来の実施よりも多くの利点を有する。例えば、ビデオサーバにおいて動き推定(及び、場合によっては他のビデオ処理)を実行し、ビデオフレームを、補間パラメータを表すメタデータと共にビデオクライアントに提供することは、ビデオフレームレートアップ変換をサポートするビデオクライアントに対する最小要件を減らすと共に、ビデオクライアントの電力消費を低減する。また、ビデオクライアントからビデオサーバへの動き推定(及び、場合によっては他のビデオ処理)のシフトは、ビデオサーバの計算リソースを使用してより洗練された動き推定を実行することによって、又は、より広範囲の可能な選択を調べ、何れの選択が最良のビデオ品質をもたらすか決定するためにより洗練された分析を使用することによって、アーチファクトの発生率及び重大度を低減すると共に、ビデオクライアントにおけるビデオ品質を向上させることができる。さらに、いくつかの実施形態では、動き推定(及び、場合によっては他のビデオ処理)は、ビデオサーバにおいてリアルタイムで実行される必要がない。例えば、ビデオストリームのメタデータは、ビデオストリームがビデオクライアントによって要求される前に生成され、要求に応じて提供され得る。
いくつかの実施形態では、図1〜図6を参照して上述したビデオ取得及びディスプレイシステム等の上述した装置及び技術は、1つ以上の集積回路(IC)デバイス(集積回路パッケージ又はマイクロチップとも呼ばれる)を備えるシステムで実施される。これらのICデバイスの設計及び製造には、通常、電子設計自動化(EDA)及びコンピュータ支援設計(CAD)ソフトウェアツールが使用される。これらの設計ツールは、通常、1つ以上のソフトウェアプログラムとして表される。1つ以上のソフトウェアプログラムは、回路を製造するための製造システムを設計又は適合するための処理の少なくとも一部を実行するように1つ以上のICデバイスの回路を表すコードで動作するようにコンピュータシステムを操作する、コンピュータシステムによって実行可能なコードを含む。このコードは、命令、データ、又は、命令及びデータの組み合わせを含むことができる。設計ツール又は製造ツールを表すソフトウェア命令は、通常、コンピューティングシステムがアクセス可能なコンピュータ可読記憶媒体に記憶される。同様に、ICデバイスの設計又は製造の1つ以上のフェーズを表すコードは、同じコンピュータ可読記憶媒体又は異なるコンピュータ可読記憶媒体に記憶されてもよいし、同じコンピュータ可読記憶媒体又は異なるコンピュータ可読記憶媒体からアクセスされてもよい。
コンピュータ可読記憶媒体は、命令及び/又はデータをコンピュータシステムに提供するために、使用中にコンピュータシステムによってアクセス可能な任意の記憶媒体、又は、記憶媒体の組み合わせを含むことができる。かかる記憶媒体には、限定されないが、光媒体(例えば、コンパクトディスク(CD)、デジタル多用途ディスク(DVD)、ブルーレイ(登録商標)ディスク)、磁気媒体(例えば、フロッピー(登録商標)ディスク、磁気テープ、磁気ハードドライブ)、揮発性メモリ(例えば、ランダムアクセスメモリ(RAM)、キャッシュ)、不揮発性メモリ(例えば、読み出し専用メモリ(ROM)、フラッシュメモリ)、又は、微小電気機械システム(MEMS)ベースの記憶媒体が含まれ得る。コンピュータ可読記憶媒体は、コンピュータシステム(例えば、システムRAM又はROM)に内蔵されてもよいし、コンピュータシステム(例えば、磁気ハードドライブ)に固定的に取り付けられてもよいし、コンピュータシステム(例えば、光学ディスク又はユニバーサルシリアルバス(USB)ベースのフラッシュメモリ)に着脱可能に取り付けられてもよいし、有線又は無線のネットワークを介してコンピュータシステム(例えば、ネットワークアクセス可能なストレージ(NAS))に接続されてもよい。
いくつかの実施形態では、上記の技術のいくつかの態様は、ソフトウェアを実行する処理システムの1つ以上のプロセッサによって実装されてもよい。ソフトウェアは、非一時的なコンピュータ可読記憶媒体に記憶され、又は、非一時的なコンピュータ可読記憶媒体上で有形に具現化された実行可能命令の1つ以上のセットを含む。ソフトウェアは、1つ以上のプロセッサによって実行されると、上記の技術の1つ以上の態様を実行するように1つ以上のプロセッサを操作する命令及び特定のデータを含むことができる。非一時的なコンピュータ可読記憶媒体は、例えば、磁気若しくは光ディスク記憶デバイス、例えばフラッシュメモリ等のソリッドステート記憶デバイス、キャッシュ、ランダムアクセスメモリ(RAM)、又は、他の不揮発性メモリデバイス等を含むことができる。非一時的なコンピュータ可読記憶媒体に記憶された実行可能命令は、ソースコード、アセンブリ言語コード、オブジェクトコード、又は、1つ以上のプロセッサによって解釈若しくは実行可能な他の命令フォーマットであってもよい。
上述したものに加えて、概要説明において説明した全てのアクティビティ又は要素が必要とされているわけではなく、特定のアクティビティ又はデバイスの一部が必要とされない場合があり、1つ以上のさらなるアクティビティが実行される場合があり、1つ以上のさらなる要素が含まれる場合があることに留意されたい。さらに、アクティビティが列挙された順序は、必ずしもそれらが実行される順序ではない。また、概念は、特定の実施形態を参照して説明された。しかしながら、当業者であれば、特許請求の範囲に記載されているような本発明の範囲から逸脱することなく、様々な変更及び変形を行うことができるのを理解するであろう。したがって、明細書及び図面は、限定的な意味ではなく例示的な意味で考慮されるべきであり、これらの変更形態の全ては、本発明の範囲内に含まれることが意図される。
利益、他の利点及び問題に対する解決手段を、特定の実施形態に関して上述した。しかし、利益、利点、問題に対する解決手段、及び、何かしらの利益、利点若しくは解決手段が発生又は顕在化する可能性のある特徴は、何れか若しくは全ての請求項に重要な、必須の、又は、不可欠な特徴と解釈されない。さらに、開示された発明は、本明細書の教示の利益を有する当業者には明らかな方法であって、異なっているが同様の方法で修正され実施され得ることから、上述した特定の実施形態は例示にすぎない。添付の特許請求の範囲に記載されている以外に本明細書に示されている構成又は設計の詳細については限定がない。したがって、上述した特定の実施形態は、変更又は修正されてもよく、かかる変更形態の全ては、開示された発明の範囲内にあると考えられることが明らかである。したがって、ここで要求される保護は、添付の特許請求の範囲に記載されている。

Claims (20)

  1. ビデオサーバ(130,305,405,505,605)において、第1フレーム(200)を含むフレームのストリーム(315,335,415)内のシーン(110)を表す前記第1フレームの部分の補間パラメータ(240〜244)を表すメタデータ(525,530)を生成することであって、前記補間パラメータは、前記フレームのストリーム内で前記第1フレームの後であって第2フレームの前のシーンを表す少なくとも1つの補間フレーム(205)を生成するために使用される、ことと、
    前記ビデオサーバにおいて、前記メタデータを前記ストリームに組み込むことと、
    前記メタデータを含む前記ストリームを前記メタデータから送信することと、を含む、
    方法。
  2. 前記メタデータを生成することは、前記第1フレームの部分に関連する動きベクトル(240〜244)と、前記動きベクトルの信頼度尺度を表すメタデータと、を生成することを含む、
    請求項1の方法。
  3. 前記メタデータを生成することは、前記第1フレームの隣接する部分についての隣接する補間パラメータと統計的に異なる前記第1フレームの部分についての外れ値補間パラメータを識別することと、前記隣接する動きベクトルに基づいて、前記外れ値補間パラメータが補間のために無視されることを示すメタデータ、又は、前記外れ値補間パラメータを修正するメタデータを生成することと、を含む、
    請求項1の方法。
  4. オクルージョン検出を実行して、前記第1フレームの遮られた部分についての補間パラメータを識別することをさらに含む、
    請求項1の方法。
  5. オクルージョン検出を実行することは、前記ビデオサーバにおいてオクルージョン検出を実行することを含み、前記メタデータを生成することは、前記第1フレームの遮られた部分についての前記補間パラメータが補間のために無視されることを示すメタデータを生成することを含む、
    請求項4の方法。
  6. ビデオクライアント(135,310,410,510,610)において、第1フレーム(200)の部分についての補間パラメータ(240〜244)を表すメタデータ(525,530)を含むフレームのストリーム(315,335,415)内のシーン(110)を表す前記第1フレームを受信することと、
    前記ビデオクライアントにおいて、前記第1フレーム及び前記メタデータに基づいて、前記フレームのストリーム内の前記第1フレームの後であって第2フレームの前のシーンを表す少なくとも1つの補間フレーム(205)を生成することと、
    前記ビデオクライアントにおいて、前記第1フレームと、前記少なくとも1つの補間フレームと、前記第2フレームと、を表示することと、を含む、
    方法。
  7. 前記補間パラメータを表す前記メタデータを受信することは、フレームの部分に関連する動きベクトル(240〜244)と、前記動きベクトルの信頼度尺度を表すメタデータと、を受信することを含む、
    請求項6の方法。
  8. 前記メタデータを受信することは、フレームの隣接する部分についての隣接する補間パラメータと統計的に異なる前記フレームの部分についての外れ値補間パラメータを識別するメタデータを受信することを含み、前記少なくとも1つの補間フレームを生成することは、前記少なくとも1つの補間フレームを生成する場合に、前記外れ値補間パラメータを無視することを含む、
    請求項6の方法。
  9. 前記ビデオクライアントにおいて、オクルージョン検出を実行して、前記フレームの遮られた部分についての補間パラメータを識別することと、
    前記少なくとも1つの補間フレームを生成する場合に、前記フレームの遮られた部分についての前記補間パラメータを無視することと、をさらに含む、
    請求項6の方法。
  10. 前記メタデータを受信することは、前記フレームの遮られた部分についての補間パラメータを示すメタデータを受信することを含み、前記少なくとも1つの補間フレームを生成することは、前記少なくとも1つの補間フレームを生成する場合に、前記フレームの遮られた部分についての前記補間パラメータを無視することを含む、
    請求項6の方法。
  11. 第1フレーム(200)を含むフレームのストリーム(315,335,415)内のシーン(110)を表す前記第1フレームの部分についての補間パラメータ(240〜244)を表すメタデータ(525,530)を生成するプロセッサ(625)であって、前記補間パラメータは、前記フレームのストリーム内で前記第1フレームの後であって第2フレームの前のシーンを表す少なくとも1つの補間フレーム(205)を生成するために使用され、前記プロセッサは、前記メタデータを前記ストリームに組み込むように構成されている、プロセッサと、
    多重化されたメタデータを含む前記ストリームを送信するためのネットワークインタフェース(615)と、を備える、
    ビデオサーバ(130,305,405,505,605)。
  12. 前記プロセッサは、前記第1フレームの部分に関連する動きベクトル(240〜244)と、前記動きベクトルの信頼度尺度を表すメタデータと、を生成するように構成されている、
    請求項11のビデオサーバ。
  13. 前記プロセッサは、前記第1フレームの隣接する部分についての隣接する補間パラメータと統計的に異なる前記第1フレームの部分についての外れ値補間パラメータを識別するように構成されている、
    請求項11のビデオサーバ。
  14. 前記プロセッサは、前記隣接する動きベクトルに基づいて、前記外れ値補間パラメータが補間のために無視されることを示すメタデータ、又は、前記外れ値補間パラメータを修正するメタデータを生成するように構成されている、
    請求項13のビデオサーバ。
  15. 前記プロセッサは、オクルージョン検出を実行して、前記第1フレームの遮られた部分についての補間パラメータを識別し、前記第1フレームの遮られた部分についての前記補間パラメータが補間のために無視されることを示すメタデータを生成するように構成されている、
    請求項11のビデオサーバ。
  16. 第1フレーム(200)の部分についての補間パラメータ(240〜242)を表すメタデータ(530,535)を含むフレームのストリーム(315,335,415)内のシーン(110)を表す前記第1フレームを受信するネットワークインタフェース(635)と、
    前記第1フレーム及び前記メタデータに基づいて、前記フレームのストリーム内で前記第1フレームの後であって第2フレームの前のシーンを表す少なくとも1つの補間フレーム(205)を生成するプロセッサ(645)と、
    前記第1フレームと、前記少なくとも1つの補間フレームと、前記第2フレームと、を表示するスクリーン(145,640)と、を備える、
    ビデオクライアント(135,310,410,510,610)。
  17. 前記ネットワークインタフェースは、前記フレームの部分に関連する動きベクトル(240〜244)と、前記動きベクトルの信頼度尺度を表すメタデータと、を受信するように構成されている、
    請求項16のビデオクライアント。
  18. 前記ネットワークインタフェースは、前記フレームの隣接する部分についての隣接する補間パラメータと統計的に異なる前記フレームの部分についての外れ値補間パラメータを識別するメタデータを受信するように構成されており、前記プロセッサは、前記少なくとも1つの補間フレームを生成する場合に、前記外れ値補間パラメータを無視するように構成されている、
    請求項16のビデオクライアント。
  19. 前記プロセッサは、オクルージョン検出を実行して、前記フレームの遮られた部分についての補間パラメータを識別し、前記少なくとも1つの補間フレームを生成する場合に、前記フレームの遮られた部分についての前記補間パラメータを無視するように構成されている、
    請求項16のビデオクライアント。
  20. 前記ネットワークインタフェースは、前記フレームの遮られた部分についての補間パラメータを示すメタデータを受信するように構成されており、前記プロセッサは、前記少なくとも1つの補間フレームを生成する場合に、前記フレームの遮られた部分についての前記補間パラメータを無視するように構成されている、
    請求項16のビデオクライアント。
JP2019545394A 2016-11-08 2017-11-08 ストリーミングされたメタデータを用いたビデオフレームレート変換 Withdrawn JP2019537913A (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US15/346,392 US10412462B2 (en) 2016-11-08 2016-11-08 Video frame rate conversion using streamed metadata
US15/346,392 2016-11-08
PCT/IB2017/056989 WO2018087675A1 (en) 2016-11-08 2017-11-08 Video frame rate conversion using streamed metadata

Publications (2)

Publication Number Publication Date
JP2019537913A true JP2019537913A (ja) 2019-12-26
JP2019537913A5 JP2019537913A5 (ja) 2020-12-03

Family

ID=62064880

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2019545394A Withdrawn JP2019537913A (ja) 2016-11-08 2017-11-08 ストリーミングされたメタデータを用いたビデオフレームレート変換

Country Status (6)

Country Link
US (1) US10412462B2 (ja)
EP (1) EP3539292A4 (ja)
JP (1) JP2019537913A (ja)
KR (1) KR20190077428A (ja)
CN (1) CN109891891A (ja)
WO (1) WO2018087675A1 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2022131471A1 (ko) * 2020-12-15 2022-06-23 삼성전자주식회사 전자 장치 및 그 제어 방법

Families Citing this family (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10621446B2 (en) * 2016-12-22 2020-04-14 Texas Instruments Incorporated Handling perspective magnification in optical flow processing
US20190164296A1 (en) * 2017-11-27 2019-05-30 Qualcomm Incorporated Systems and methods for determining a confidence measure for a motion vector
US11535158B2 (en) * 2019-03-28 2022-12-27 Magna Electronics Inc. Vehicular camera with automatic lens defogging feature
CN110933497B (zh) * 2019-12-10 2022-03-22 Oppo广东移动通信有限公司 视频图像数据插帧处理方法及相关设备
CN111010599B (zh) * 2019-12-18 2022-04-12 浙江大华技术股份有限公司 一种处理多场景视频流的方法、装置及计算机设备
KR20210083840A (ko) 2019-12-27 2021-07-07 삼성전자주식회사 다이나믹 톤 메타데이터를 포함하는 영상의 편집을 위한 전자 장치 및 그의 동작 방법
CN111726555B (zh) * 2020-06-04 2021-11-23 上海顺久电子科技有限公司 一种显示设备及运动估计方法、视频处理方法
CN112203034B (zh) * 2020-09-30 2023-09-08 Oppo广东移动通信有限公司 帧率控制方法、装置以及电子设备
CN112804526B (zh) * 2020-12-31 2022-11-11 紫光展锐(重庆)科技有限公司 图像数据存储方法、设备及存储介质、芯片、模组设备
CN114827663B (zh) * 2022-04-12 2023-11-21 咪咕文化科技有限公司 分布式直播插帧系统及方法
CN115460436B (zh) * 2022-08-03 2023-10-20 北京优酷科技有限公司 视频处理方法、存储介质及电子设备

Family Cites Families (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB2311182A (en) * 1996-03-13 1997-09-17 Innovision Plc Improved gradient based motion estimation
TW200618610A (en) * 2004-07-20 2006-06-01 Qualcomm Inc Method and apparatus for motion vector processing
JP4928451B2 (ja) * 2004-07-30 2012-05-09 ユークリッド・ディスカバリーズ・エルエルシー ビデオデータを処理する装置および方法
US9258519B2 (en) * 2005-09-27 2016-02-09 Qualcomm Incorporated Encoder assisted frame rate up conversion using various motion models
US8488059B2 (en) 2009-12-16 2013-07-16 Broadcom Corporation Adaptation of frame selection for frame rate conversion
WO2011150109A1 (en) * 2010-05-26 2011-12-01 Qualcomm Incorporated Camera parameter- assisted video frame rate up conversion
US9148622B2 (en) 2011-12-29 2015-09-29 Hong Kong Applied Science and Technology Research Institute Company, Limited Halo reduction in frame-rate-conversion using hybrid bi-directional motion vectors for occlusion/disocclusion detection
US9042682B2 (en) * 2012-05-23 2015-05-26 Dolby Laboratories Licensing Corporation Content creation using interpolation between content versions
GB2505872B (en) 2012-07-24 2019-07-24 Snell Advanced Media Ltd Interpolation of images
US9432690B2 (en) 2013-01-30 2016-08-30 Ati Technologies Ulc Apparatus and method for video processing
US9257092B2 (en) * 2013-02-12 2016-02-09 Vmware, Inc. Method and system for enhancing user experience for remoting technologies
CN105657541A (zh) * 2015-12-29 2016-06-08 华为技术有限公司 一种帧处理方法及装置

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2022131471A1 (ko) * 2020-12-15 2022-06-23 삼성전자주식회사 전자 장치 및 그 제어 방법
US12120453B2 (en) 2020-12-15 2024-10-15 Samsung Electronics Co., Ltd. Electronic apparatus and controlling method thereof

Also Published As

Publication number Publication date
EP3539292A1 (en) 2019-09-18
CN109891891A (zh) 2019-06-14
EP3539292A4 (en) 2020-04-29
KR20190077428A (ko) 2019-07-03
US20180132009A1 (en) 2018-05-10
US10412462B2 (en) 2019-09-10
WO2018087675A1 (en) 2018-05-17

Similar Documents

Publication Publication Date Title
JP2019537913A (ja) ストリーミングされたメタデータを用いたビデオフレームレート変換
US9179071B2 (en) Electronic device and image selection method thereof
EP2214137B1 (en) A method and apparatus for frame interpolation
JP6562197B2 (ja) 画像処理方法および画像処理システム
US20190342537A1 (en) Image processing apparatus, image processing method, and storage medium
KR100888081B1 (ko) 2차원 영상 신호의 3차원 영상 신호로의 변환 절차 및 변환장치
JP2009147807A (ja) 画像処理装置
US10535193B2 (en) Image processing apparatus, image synthesizing apparatus, image processing system, image processing method, and storage medium
US20180144485A1 (en) Image processing apparatus, image processing method, and non-transitory computer-readable storage medium
US8149913B2 (en) Moving picture converting apparatus and method, and computer program
US20230394833A1 (en) Method, system and computer readable media for object detection coverage estimation
US9008421B2 (en) Image processing apparatus for performing color interpolation upon captured images and related method thereof
TWI559762B (zh) An image processing apparatus, an image processing method, and a recording medium
KR101740124B1 (ko) 프레임 율 변환 장치 및 그 방법
JP5812808B2 (ja) 画像処理装置及び画像処理方法
JP2006215657A (ja) 動きベクトル検出方法、動きベクトル検出装置、動きベクトル検出プログラム及びプログラム記録媒体
EP3352133B1 (en) An efficient patch-based method for video denoising
KR101458099B1 (ko) 흔들림 영상 안정화 방법 및 이를 적용한 영상 처리 장치
TWI524773B (zh) 即時偵測一物件之偵測裝置、偵測方法及其電腦程式產品
JP5901353B2 (ja) 画像処理装置
KR101740125B1 (ko) 프레임 율 변환 영상의 홀 보간 장치 및 그 방법
JP4441865B2 (ja) 画像処理方法および画像処理装置、並びに、プログラムおよびプログラム記録媒体
WO2024072835A1 (en) Removing distortion from real-time video using a masked frame
JP5455682B2 (ja) 画像処理装置、画像処理方法及び画像処理用プログラム
Mendi et al. A video quality metric based on frame differencing

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20190912

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20201020

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20201020

A871 Explanation of circumstances concerning accelerated examination

Free format text: JAPANESE INTERMEDIATE CODE: A871

Effective date: 20201020

A761 Written withdrawal of application

Free format text: JAPANESE INTERMEDIATE CODE: A761

Effective date: 20210212