(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公表特許公報(A)
(11)【公表番号】
(43)【公表日】2024-03-21
(54)【発明の名称】キーフレームライブラリを用いた高度な映像符号化
(51)【国際特許分類】
H04N 19/105 20140101AFI20240313BHJP
H04N 19/503 20140101ALI20240313BHJP
H04N 19/172 20140101ALI20240313BHJP
【FI】
H04N19/105
H04N19/503
H04N19/172
【審査請求】有
【予備審査請求】未請求
(21)【出願番号】P 2023546330
(86)(22)【出願日】2021-04-09
(85)【翻訳文提出日】2023-10-02
(86)【国際出願番号】 US2021070375
(87)【国際公開番号】W WO2022216334
(87)【国際公開日】2022-10-13
(81)【指定国・地域】
(71)【出願人】
【識別番号】502208397
【氏名又は名称】グーグル エルエルシー
【氏名又は名称原語表記】Google LLC
【住所又は居所原語表記】1600 Amphitheatre Parkway 94043 Mountain View, CA U.S.A.
(74)【代理人】
【識別番号】110001195
【氏名又は名称】弁理士法人深見特許事務所
(72)【発明者】
【氏名】ランデル,ジェロルド・リチャード
(72)【発明者】
【氏名】ニコルソン,スチュアート・ジェームズ・マイロン
【テーマコード(参考)】
5C159
【Fターム(参考)】
5C159MA05
5C159MA14
5C159PP05
5C159PP06
5C159PP07
5C159TA30
5C159TB04
5C159UA02
5C159UA05
5C159UA38
(57)【要約】
少なくとも1つの映像フレームを含んだ受信ビデオストリームに基づいてキーフレームおよびインター予測フレームのうち少なくとも一方を生成することを含み、インター予測フレームは、キーフレームからの情報を用いて生成され、キーフレームが受信側デバイスに記憶されているかどうかを判断することと、キーフレームが受信側デバイスに記憶されているかどうかに基づいて、キーフレームまたはキーフレームを表すキーフレーム識別子のうち一方として映像データを選択することと、映像データおよびインター予測フレームのうち少なくとも一方を伝送することとをさらに含む、方法。
【特許請求の範囲】
【請求項1】
キーフレームが受信側デバイスに記憶されているかどうかを判断するように構成されたコントローラと、
前記キーフレームが前記受信側デバイスに記憶されているかどうかに基づいて、前記キーフレームまたは前記キーフレームを表すキーフレーム識別子のうち一方として映像データを選択するように構成された選択回路と、
前記映像データおよびインター予測フレームのうち少なくとも一方を伝送するように構成された送信部とを備える、ストリーミングデバイス。
【請求項2】
少なくとも1つのフレームを含んだビデオストリームを受信することと、
前記少なくとも1つのフレームに基づいて前記キーフレームおよび前記インター予測フレームのうち少なくとも一方を生成するように構成されたエンコーダとをさらに備え、前記インター予測フレームは、前記キーフレームからの情報を用いて生成される、請求項1に記載のストリーミングデバイス。
【請求項3】
前記インター予測フレームは、順方向予測フレームまたは双方向予測フレームのうち一方である、請求項1または2に記載のストリーミングデバイス。
【請求項4】
少なくとも1つのキーフレームに関連する情報を記憶するように構成されたメモリをさらに備える、請求項1~3のいずれか1項に記載のストリーミングデバイス。
【請求項5】
前記キーフレームが前記受信側デバイスに記憶されているかどうかを判断することは、前記エンコーダに入力される映像が前記キーフレーム識別子を含んでいると判断することを含む、請求項1~4のいずれか1項に記載のストリーミングデバイス。
【請求項6】
前記キーフレームが前記受信側デバイスに記憶されているかどうかを判断することは、
前記キーフレームがユーザーインタフェースのグラフィカル要素であると判断することを含み、
前記キーフレーム識別子は、前記ユーザーインタフェースの前記グラフィカル要素に対応付けられる、請求項1~4のいずれか1項に記載のストリーミングデバイス。
【請求項7】
前記キーフレームが前記受信側デバイスに記憶されているかどうかを判断することは、前記キーフレームに関連する少なくとも1つの画素色を比較することを含み、前記受信側デバイスに前記キーフレームが記憶されていると判断することのうち1つは、前記少なくとも1つの画素色を比較することに基づく平均二乗誤差計算、または色差基準に基づく、請求項1~4のいずれか1項に記載のストリーミングデバイス。
【請求項8】
前記キーフレームが前記受信側デバイスに記憶されているかどうかを判断することは、前記キーフレームに基づいてヒストグラムを生成し、生成された前記ヒストグラムを、記憶されているヒストグラムと比較することを含む、請求項1~4のいずれか1項に記載のストリーミングデバイス。
【請求項9】
前記キーフレームが前記受信側デバイスに記憶されているかどうかを判断することは、前記キーフレームに基づいてシグネチャを生成し、生成された前記シグネチャを、記憶されているシグネチャと比較することを含む、請求項1~4のいずれか1項に記載のストリーミングデバイス。
【請求項10】
前記キーフレームが前記受信側デバイスに記憶されているかどうかを判断することは、
訓練済みの機械学習モデルを利用して、前記キーフレームに基づいて少なくとも1つのオブジェクト分類およびオブジェクトの位置を生成することと、
前記少なくとも1つのオブジェクト分類およびオブジェクトの位置を、前記受信側デバイスに記憶されているキーフレームに関連する、記憶されているオブジェクト分類およびオブジェクトの位置と比較することとを含む、請求項1~4のいずれか1項に記載のストリーミングデバイス。
【請求項11】
前記キーフレームが前記受信側デバイスに記憶されていない場合、前記コントローラは、前記キーフレームに対応する前記キーフレーム識別子を生成し、前記キーフレームおよび前記キーフレーム識別子を前記受信側デバイスまで伝送させるようにさらに構成される、請求項1~4のいずれか1項に記載のストリーミングデバイス。
【請求項12】
エンコーダであって、
少なくとも1つのフレームを含んだ受信ビデオストリームに基づいてキーフレームおよびインター予測フレームのうち少なくとも一方を生成するように構成された圧縮フレーム生成部を備え、前記インター予測フレームは、前記キーフレームからの情報を用いて生成され、
前記エンコーダは、
前記キーフレームが受信側デバイスに記憶されているかどうかを判断するように構成されたコントローラと、
前記キーフレームが前記受信側デバイスに記憶されているかどうかに基づいて、前記キーフレームまたは前記キーフレームを表すキーフレーム識別子のうち一方として映像データを選択するように構成された選択回路と、
前記映像データおよび前記インター予測フレームのうち少なくとも一方を伝送するように構成された送信部とをさらに備える、エンコーダ。
【請求項13】
前記インター予測フレームは、順方向予測フレームまたは双方向予測フレームのうち一方である、請求項12に記載のエンコーダ。
【請求項14】
少なくとも1つのキーフレームに関連する情報を記憶するように構成されたメモリをさらに備える、請求項12または13に記載のエンコーダ。
【請求項15】
前記キーフレームが前記受信側デバイスに記憶されているかどうかを判断することは、前記エンコーダに入力される映像が前記キーフレーム識別子を含んでいると判断することを含む、請求項12~14のいずれか1項に記載のエンコーダ。
【請求項16】
前記キーフレームが前記受信側デバイスに記憶されているかどうかを判断することは、
前記キーフレームがユーザーインタフェースのグラフィカル要素であると判断することを含み、
前記キーフレーム識別子は、前記ユーザーインタフェースの前記グラフィカル要素に対応付けられる、請求項12~14のいずれか1項に記載のエンコーダ。
【請求項17】
前記キーフレームが前記受信側デバイスに記憶されているかどうかを判断することは、前記キーフレームに関連する少なくとも1つの画素色を比較することを含み、前記受信側デバイスに前記キーフレームが記憶されていると判断することのうち1つは、前記少なくとも1つの画素色を比較することに基づく平均二乗誤差計算、または色差基準に基づく、請求項12~14のいずれか1項に記載のエンコーダ。
【請求項18】
前記キーフレームが前記受信側デバイスに記憶されているかどうかを判断することは、前記キーフレームに基づいてヒストグラムを生成し、生成された前記ヒストグラムを、記憶されているヒストグラムと比較することを含む、請求項12~14のいずれか1項に記載のエンコーダ。
【請求項19】
前記キーフレームが前記受信側デバイスに記憶されているかどうかを判断することは、前記キーフレームに基づいてシグネチャを生成し、生成された前記シグネチャを、記憶されているシグネチャと比較することを含む、請求項12~14のいずれか1項に記載のエンコーダ。
【請求項20】
前記キーフレームが前記受信側デバイスに記憶されているかどうかを判断することは、
訓練済みの機械学習モデルを利用して、前記キーフレームに基づいて少なくとも1つのオブジェクト分類およびオブジェクトの位置を生成することと、
前記少なくとも1つのオブジェクト分類およびオブジェクトの位置を、前記受信側デバイスに記憶されているキーフレームに関連する、記憶されているオブジェクト分類およびオブジェクトの位置と比較することとを含む、請求項12~14のいずれか1項に記載のエンコーダ。
【請求項21】
前記受信側デバイスに前記キーフレームが記憶されていない場合、前記コントローラは、前記キーフレームに対応する前記キーフレーム識別子を生成し、前記キーフレームおよび前記キーフレーム識別子を前記受信側デバイスまで伝送させるようにさらに構成される、請求項12~14のいずれか1項に記載のエンコーダ。
【請求項22】
方法であって、
少なくとも1つの映像フレームを含んだ受信ビデオストリームに基づいてキーフレームおよびインター予測フレームのうち少なくとも一方を生成することを含み、前記インター予測フレームは、前記キーフレームからの情報を用いて生成され、
前記方法は、
前記キーフレームが受信側デバイスに記憶されているかどうかを判断することと、
前記キーフレームが前記受信側デバイスに記憶されているかどうかに基づいて、前記キーフレームまたは前記キーフレームを表すキーフレーム識別子のうち一方として映像データを選択することと、
前記映像データおよび前記インター予測フレームのうち少なくとも一方を伝送することとをさらに含む、方法。
【請求項23】
前記インター予測フレームは、順方向予測フレームまたは双方向予測フレームのうち一方である、請求項22に記載の方法。
【請求項24】
少なくとも1つのキーフレームに関連する情報を記憶することをさらに含む、請求項22または23に記載の方法。
【請求項25】
前記キーフレームが前記受信側デバイスに記憶されているかどうかを判断することは、映像入力が前記キーフレーム識別子を含んでいると判断することを含む、請求項22~24のいずれか1項に記載の方法。
【請求項26】
前記キーフレームが前記受信側デバイスに記憶されているかどうかを判断することは、
前記キーフレームがユーザーインタフェースのグラフィカル要素であると判断することを含み、
前記キーフレーム識別子は、前記ユーザーインタフェースの前記グラフィカル要素に対応付けられる、請求項22~24のいずれか1項に記載の方法。
【請求項27】
前記キーフレームが前記受信側デバイスに記憶されているかどうかを判断することは、前記キーフレームに関連する少なくとも1つの画素色を比較することを含み、前記受信側デバイスに前記キーフレームが記憶されていると判断することのうち1つは、前記少なくとも1つの画素色を比較することに基づく平均二乗誤差計算、または色差基準に基づく、請求項22~24のいずれか1項に記載の方法。
【請求項28】
前記キーフレームが前記受信側デバイスに記憶されているかどうかを判断することは、前記キーフレームに基づいてヒストグラムを生成し、生成された前記ヒストグラムを、記憶されているヒストグラムと比較することを含む、請求項22~24のいずれか1項に記載の方法。
【請求項29】
前記キーフレームが前記受信側デバイスに記憶されているかどうかを判断することは、前記キーフレームに基づいてシグネチャを生成し、生成された前記シグネチャを、記憶されているシグネチャと比較することを含む、請求項22~24のいずれか1項に記載の方法。
【請求項30】
前記キーフレームが前記受信側デバイスに記憶されているかどうかを判断することは、
訓練済みの機械学習モデルを利用して、前記キーフレームに基づいて少なくとも1つのオブジェクト分類およびオブジェクトの位置を生成することと、
前記少なくとも1つのオブジェクト分類およびオブジェクトの位置を、前記受信側デバイスに記憶されているキーフレームに関連する、記憶されているオブジェクト分類およびオブジェクトの位置と比較することとを含む、請求項22~24のいずれか1項に記載の方法。
【請求項31】
前記受信側デバイスに前記キーフレームが記憶されていない場合、
前記キーフレームに対応する前記キーフレーム識別子を生成することと、
前記キーフレームおよび前記キーフレーム識別子を前記受信側デバイスまで伝送させることとを含む、請求項22~24のいずれか1項に記載の方法。
【請求項32】
命令を記憶した非一時的なコンピュータ読み取り可能な記憶媒体であって、前記命令は、少なくとも1つのプロセッサによって実行されると、コンピューティングシステムに、請求項22~31のいずれか1項に記載の方法を実行させる、非一時的なコンピュータ読み取り可能な記憶媒体。
【請求項33】
請求項22~31のいずれか1項に記載の方法を実行するための手段を備える、装置。
【請求項34】
装置であって、
少なくとも1つのプロセッサと、
コンピュータプログラムコードを含んだ少なくとも1つのメモリとを備え、
前記少なくとも1つのメモリおよび前記コンピュータプログラムコードは、前記少なくとも1つのプロセッサを用いて、請求項22~31のいずれか1項に記載の方法を前記装置に少なくとも実行させるように構成される、装置。
【請求項35】
再生装置であって、
映像データおよびインター予測フレームのうち少なくとも一方を含んだビデオストリームを受信するように構成された受信部を備え、前記映像データは、キーフレームおよび前記キーフレームを表すキーフレーム識別子のうち少なくとも一方であり、
前記再生装置は、
前記映像データに基づいて、前記キーフレームまたは記憶されているキーフレームのうち一方を選択するように構成された選択回路をさらに備える、再生装置。
【請求項36】
前記キーフレーム、前記記憶されているキーフレーム、および前記インター予測フレームのうち少なくとも1つに基づいて、前記再生装置のディスプレイ上に表示するための映像のフレームを生成するように構成されたデコーダをさらに備える、請求項35に記載の再生装置。
【請求項37】
前記映像データに基づいて前記キーフレームまたは前記記憶されているキーフレームのうち少なくとも一方を前記選択回路に選択させるように構成されたコントローラと、
少なくとも1つの記憶されているキーフレームを含んだライブラリとをさらに備える、請求項35または36に記載の再生装置。
【請求項38】
前記コントローラは、
前記映像データが前記キーフレームおよび前記キーフレーム識別子を含むかどうかを判断し、
前記映像データが前記キーフレームおよび前記キーフレーム識別子を含むと判断したことに応答して、前記キーフレームを前記キーフレーム識別子に関連付けて前記ライブラリに記憶するようにさらに構成される、請求項37に記載の再生装置。
【請求項39】
前記コントローラは、
前記映像データが前記キーフレーム識別子なしで前記キーフレームを含むかどうかを判断し、
前記映像データが前記キーフレーム識別子なしで前記キーフレームを含むと判断したことに応答して、
前記キーフレーム識別子を生成し、
前記キーフレームを前記キーフレーム識別子に関連付けて前記ライブラリに記憶するようにさらに構成される、請求項37に記載の再生装置。
【請求項40】
前記コントローラは、
前記映像データが前記キーフレームなしで前記キーフレーム識別子を含むかどうかを判断し、
前記映像データが前記キーフレーム識別子なしで前記キーフレームを含むと判断したことに応答して、前記キーフレーム識別子に基づいて前記ライブラリから前記キーフレームを読み出すようにさらに構成される、請求項37に記載の再生装置。
【請求項41】
前記コントローラは、
前記映像データが前記キーフレーム識別子または前記キーフレームのうち一方を含むかどうかを判断し、
前記映像データが前記キーフレームなしで前記キーフレーム識別子を含むと判断したことに応答して、
前記キーフレーム識別子に基づいて前記ライブラリから前記キーフレームを読み出し、
前記ライブラリから読み出された前記キーフレームを前記選択回路に選択させ、
前記映像データが前記キーフレーム識別子なしで前記キーフレームを含むと判断したことに応答して、
前記映像データに含まれている前記キーフレームを前記選択回路に選択させるように構成される、請求項37に記載の再生装置。
【請求項42】
再生装置であって、
映像データおよびインター予測フレームのうち少なくとも一方を含んだビデオストリームを受信するように構成された受信部を備え、前記映像データは、キーフレームおよび前記キーフレームを表すキーフレーム識別子のうち少なくとも一方であり、前記再生装置は、さらに、
デコーダを備え、前記デコーダは、
前記映像データに基づいて、前記キーフレームまたは記憶されているキーフレームのうち一方を選択するように構成された選択回路と、
前記キーフレーム、前記記憶されているキーフレーム、および前記インター予測フレームのうち少なくとも1つに基づいて、前記再生装置のディスプレイ上に表示するための映像のフレームを生成するように構成された復元モジュールとを含む、再生装置。
【請求項43】
前記デコーダは、
前記映像データに基づいて前記キーフレームまたは前記記憶されているキーフレームのうち一方を前記選択回路に選択させるように構成されたコントローラと、
少なくとも1つの記憶されているキーフレームを含んだライブラリとをさらに含む、請求項42に記載の再生装置。
【請求項44】
前記コントローラは、
前記映像データが前記キーフレームおよび前記キーフレーム識別子を含むかどうかを判断し、
前記映像データが前記キーフレームおよび前記キーフレーム識別子を含むと判断したことに応答して、前記キーフレームを前記キーフレーム識別子に関連付けて前記ライブラリに記憶するようにさらに構成される、請求項43に記載の再生装置。
【請求項45】
前記コントローラは、
前記映像データが前記キーフレーム識別子なしで前記キーフレームを含むかどうかを判断し、
前記映像データが前記キーフレーム識別子なしで前記キーフレームを含むと判断したことに応答して、
前記キーフレーム識別子を生成し、
前記キーフレームを前記キーフレーム識別子に関連付けて前記ライブラリに記憶するようにさらに構成される、請求項43に記載の再生装置。
【請求項46】
前記コントローラは、
前記映像データが前記キーフレームなしで前記キーフレーム識別子を含むかどうかを判断し、
前記映像データが前記キーフレーム識別子なしで前記キーフレームを含むと判断したことに応答して、前記キーフレーム識別子に基づいて前記ライブラリから前記キーフレームを読み出すようにさらに構成される、請求項43に記載の再生装置。
【請求項47】
前記コントローラは、
前記映像データが前記キーフレーム識別子または前記キーフレームのうち一方を含むかどうかを判断し、
前記映像データが前記キーフレームなしで前記キーフレーム識別子を含むと判断したことに応答して、
前記キーフレーム識別子に基づいて前記ライブラリから前記キーフレームを読み出し、
前記ライブラリから読み出された前記キーフレームを前記選択回路に選択させ、
前記映像データが前記キーフレーム識別子なしで前記キーフレームを含むと判断したことに応答して、
前記映像データに含まれている前記キーフレームを前記選択回路に選択させるように構成される、請求項43に記載の再生装置。
【請求項48】
方法であって、
映像データおよびインター予測フレームのうち少なくとも一方を含んだビデオストリームを受信することを含み、前記映像データは、キーフレームおよび前記キーフレームを表すキーフレーム識別子のうち少なくとも一方であり、
前記映像データに基づいて、前記キーフレームまたは記憶されているキーフレームのうち一方を選択することと、
前記キーフレーム、前記記憶されているキーフレーム、および前記インター予測フレームのうち少なくとも1つに基づいて、再生装置のディスプレイ上に表示するための映像のフレームを生成することとをさらに含む、方法。
【請求項49】
前記記憶されているキーフレームを、少なくとも1つの記憶されているキーフレームを含んだライブラリから選択することをさらに含む、請求項48に記載の方法。
【請求項50】
前記映像データが前記キーフレームおよび前記キーフレーム識別子を含むかどうかを判断することと、
前記映像データが前記キーフレームおよび前記キーフレーム識別子を含むと判断したことに応答して、前記キーフレームを前記キーフレーム識別子に関連付けてキーフレームライブラリに記憶することとをさらに含む、請求項48または49に記載の方法。
【請求項51】
前記映像データが前記キーフレーム識別子なしで前記キーフレームを含むかどうかを判断することと、
前記映像データが前記キーフレーム識別子なしで前記キーフレームを含むと判断したことに応答して、
前記キーフレーム識別子を生成することと、
前記キーフレームを前記キーフレーム識別子に関連付けてキーフレームライブラリに記憶することとをさらに含む、請求項48~50のいずれか1項に記載の方法。
【請求項52】
前記映像データが前記キーフレームなしで前記キーフレーム識別子を含むかどうかを判断することと、
前記映像データが前記キーフレーム識別子なしで前記キーフレームを含むと判断したことに応答して、前記キーフレーム識別子に基づいてキーフレームライブラリから前記キーフレームを読み出すこととをさらに含む、請求項48~50のいずれか1項に記載の方法。
【請求項53】
前記映像データが前記キーフレーム識別子または前記キーフレームのうち一方を含むかどうかを判断することと、
前記映像データが前記キーフレームなしで前記キーフレーム識別子を含むと判断したことに応答して、
前記キーフレーム識別子に基づいてキーフレームライブラリから前記キーフレームを読み出すことと、
前記キーフレームライブラリから読み出された前記キーフレームを選択させることと、
前記映像データが前記キーフレーム識別子なしで前記キーフレームを含むと判断したことに応答して、
前記映像データに含まれている前記キーフレームを選択させることとをさらに含む、請求項48~50のいずれか1項に記載の方法。
【請求項54】
命令を記憶した非一時的なコンピュータ読み取り可能な記憶媒体であって、前記命令は、少なくとも1つのプロセッサによって実行されると、コンピューティングシステムに請求項48~53のいずれか1項に記載の方法を実行させるように構成される、非一時的なコンピュータ読み取り可能な記憶媒体。
【請求項55】
請求項48~53のいずれか1項に記載の方法を実行するための手段を備えた、装置。
【請求項56】
装置であって、
少なくとも1つのプロセッサと、
コンピュータプログラムコードを含んだ少なくとも1つのメモリとを備え、
前記少なくとも1つのメモリおよび前記コンピュータプログラムコードは、前記少なくとも1つのプロセッサを用いて、請求項48~53のいずれか1項に記載の方法を前記装置に少なくとも実行させる、装置。
【請求項57】
方法であって、
少なくとも1つの映像フレームを含んだ受信ビデオストリームに基づいてキーフレームおよびインター予測フレームのうち少なくとも一方を生成することを含み、前記インター予測フレームは、前記キーフレームからの情報を用いて生成され、
前記方法は、
前記キーフレームが受信側デバイスに記憶されているかどうかを判断することと、
前記キーフレームが前記受信側デバイスに記憶されているかどうかに基づいて、前記キーフレームまたは前記キーフレームを表すキーフレーム識別子のうち一方として映像データを選択することと、
前記映像データおよび前記インター予測フレームのうち少なくとも一方を伝送することと、
前記映像データおよび前記インター予測フレームのうち前記少なくとも一方を含んだ前記ビデオストリームを受信することと、
前記映像データに基づいて、前記キーフレームまたは記憶されているキーフレームのうち一方を選択することと、
前記キーフレーム、前記記憶されているキーフレーム、および前記インター予測フレームのうち少なくとも1つに基づいて、再生装置のディスプレイ上に表示するための映像のフレームを生成することとをさらに含む、方法。
【発明の詳細な説明】
【技術分野】
【0001】
分野
実施の形態は、映像の圧縮および復元に関する。
【背景技術】
【0002】
背景
映像(たとえば、映像フレーム)および/または画像を圧縮するためにエンコーダが使用され得る。圧縮された映像フレームおよび/または画像のビット数は、元の画像またはフレームと比較して少ない。圧縮フレームおよび/または画像を復元して元の映像フレームおよび/または画像を再現するためにデコーダが使用され得る。いくつかのエンコーダは、エンコーダ/デコーダ規格(たとえば、AVC、H.264、MPEG-4など)を利用し得る。
【発明の概要】
【0003】
全体的な態様では、デバイス、システム、(コンピュータシステムによって実行され得る、コンピュータにより実行可能なプログラムコードを記憶した)非一時的なコンピュータ読み取り可能な媒体、および/または方法は、方法を用いて処理を実行できる。この方法は、少なくとも1つの映像フレームを含んだ受信ビデオストリームに基づいてキーフレームおよびインター予測フレームのうち少なくとも一方を生成することを含み、インター予測フレームは、キーフレームからの情報を用いて生成され、キーフレームが受信側デバイスに記憶されているかどうかを判断することと、キーフレームが受信側デバイスに記憶されているかどうかに基づいて、キーフレームまたはキーフレームを表すキーフレーム識別子のうち一方として映像データを選択することと、映像データおよびインター予測フレームのうち少なくとも一方を伝送することとをさらに含む。
【0004】
全体的な態様では、ストリーミングデバイスは、キーフレームが受信側デバイスに記憶されているかどうかを判断するように構成されたコントローラと、キーフレームが受信側デバイスに記憶されているかどうかに基づいて、キーフレームまたはキーフレームを表すキーフレーム識別子のうち一方として映像データを選択するように構成された選択回路と、映像データおよびインター予測フレームのうち少なくとも一方を伝送するように構成された送信部とを備える。
【0005】
全体的な態様では、エンコーダは、少なくとも1つのフレームを含んだ受信ビデオストリームに基づいてキーフレームおよびインター予測フレームのうち少なくとも一方を生成するように構成された圧縮フレーム生成部を備え、インター予測フレームは、キーフレームからの情報を用いて生成され、キーフレームが受信側デバイスに記憶されているかどうかを判断するように構成されたコントローラと、キーフレームが受信側デバイスに記憶されているかどうかに基づいて、キーフレームまたはキーフレームを表すキーフレーム識別子のうち一方として映像データを選択するように構成された選択回路と、映像データおよびインター予測フレームのうち少なくとも一方を伝送するように構成された送信部とをさらに備える。
【0006】
実施態様は、次の特徴のうち、1つ以上を含み得る。たとえば、インター予測フレームは、順方向予測フレームまたは双方向予測フレームのうち一方であり得る。方法は、少なくとも1つのキーフレームに関連する情報を記憶することをさらに含み得る。キーフレームが受信側デバイスに記憶されているかどうかを判断することは、入力映像がキーフレーム識別子を含んでいると判断することを含む。キーフレームが受信側デバイスに記憶されているかどうかを判断することは、キーフレームがユーザーインタフェースのグラフィカル要素であると判断することを含み、キーフレーム識別子は、ユーザーインタフェースのグラフィカル要素に対応付けられる。キーフレームが受信側デバイスに記憶されているかどうかを判断することは、キーフレームに関連する少なくとも1つの画素色を比較することを含み得、キーフレームが受信側デバイスに記憶されていると判断することのうち1つは、少なくとも1つの画素色を比較することに基づく平均二乗誤差計算、または色差基準に基づく。キーフレームが受信側デバイスに記憶されているかどうかを判断することは、キーフレームに基づいてヒストグラムを生成し、生成されたヒストグラムを、記憶されているヒストグラムと比較することを含み得る。
【0007】
キーフレームが受信側デバイスに記憶されているかどうかを判断することは、キーフレームに基づいてシグネチャを生成し、生成されたシグネチャを、記憶されているシグネチャと比較することを含み得る。キーフレームが受信側デバイスに記憶されているかどうかを判断することは、訓練済みの機械学習モデルを利用して、キーフレームに基づいて少なくとも1つのオブジェクト分類およびオブジェクトの位置を生成することと、少なくとも1つのオブジェクト分類およびオブジェクトの位置を、受信側デバイスに記憶されているキーフレームに関連する、記憶されているオブジェクト分類およびオブジェクトの位置と比較することとを含み得る。キーフレームが受信側デバイスに記憶されていない場合、方法は、キーフレームに対応するキーフレーム識別子を生成し、キーフレームおよびキーフレーム識別子を受信側デバイスまで伝送させることをさらに含み得る。
【0008】
ストリーミングデバイスは、少なくとも1つのフレームを含んだビデオストリームを受信し得、少なくとも1つのフレームに基づいてキーフレームおよびインター予測フレームのうち少なくとも一方を生成するように構成されたエンコーダとをさらに備え得、インター予測フレームは、キーフレームからの情報を用いて生成される。ストリーミングデバイスは、少なくとも1つのキーフレームに関連する情報を記憶するように構成されたメモリをさらに備え得る。
【0009】
全体的な態様では、デバイス、システム、(コンピュータシステムによって実行され得る、コンピュータにより実行可能なプログラムコードを記憶した)非一時的なコンピュータ読み取り可能な媒体、および/または方法は、方法を用いて処理を実行できる。この方法は、映像データおよびインター予測フレームのうち少なくとも一方を含んだビデオストリームを受信することを含み、映像データは、キーフレームおよびキーフレームを表すキーフレーム識別子のうち少なくとも一方であり、映像データに基づいて、キーフレームまたは記憶されているキーフレームのうち一方を選択することと、キーフレーム、記憶されているキーフレーム、およびインター予測フレームのうち少なくとも1つに基づいて、再生装置のディスプレイ上に表示するための映像のフレームを生成することとをさらに含む。
【0010】
全体的な態様では、再生装置は、映像データおよびインター予測フレームのうち少なくとも一方を含んだビデオストリームを受信するように構成された受信部を備え、映像データは、キーフレームおよびキーフレームを表すキーフレーム識別子のうち少なくとも一方であり、映像データに基づいて、キーフレームまたは記憶されているキーフレームのうち一方を選択するように構成された選択回路をさらに備える。
【0011】
全体的な態様では、再生装置は、映像データおよびインター予測フレームのうち少なくとも一方を含んだビデオストリームを受信するように構成された受信部を備え、映像データは、キーフレームおよびキーフレームを表すキーフレーム識別子のうち少なくとも一方であり、再生装置は、さらに、デコーダを備え、デコーダは、映像データに基づいて、キーフレームまたは記憶されているキーフレームのうち一方を選択するように構成された選択回路と、キーフレーム、記憶されているキーフレーム、およびインター予測フレームのうち少なくとも1つに基づいて、再生装置のディスプレイ上に表示するための映像のフレームを生成するように構成された復元モジュールとを含む。
【0012】
実施態様は、次の特徴のうち、1つ以上の特徴を含み得る。たとえば、方法は、記憶されているキーフレームを、少なくとも1つの記憶されているキーフレームを含んだライブラリから選択することをさらに含み得る。方法は、映像データがキーフレームおよびキーフレーム識別子を含むかどうかを判断することと、映像データがキーフレームおよびキーフレーム識別子を含むと判断したことに応答して、キーフレームをキーフレーム識別子に関連付けてキーフレームライブラリに記憶することとをさらに含み得る。方法は、映像データがキーフレーム識別子なしでキーフレームを含むかどうかを判断することと、映像データがキーフレーム識別子なしでキーフレームを含むと判断したことに応答して、キーフレーム識別子を生成することと、キーフレームをキーフレーム識別子に関連付けてキーフレームライブラリに記憶することとをさらに含み得る。
【0013】
方法は、映像データがキーフレームなしでキーフレーム識別子を含むかどうかを判断することと、映像データがキーフレーム識別子なしでキーフレームを含むと判断したことに応答して、キーフレーム識別子に基づいてキーフレームライブラリからキーフレームを読み出すこととをさらに含み得る。方法は、映像データがキーフレーム識別子またはキーフレームのうち一方を含むかどうかを判断することと、映像データがキーフレームなしでキーフレーム識別子を含むと判断したことに応答して、キーフレーム識別子に基づいてキーフレームライブラリからキーフレームを読み出すことと、キーフレームライブラリから読み出されたキーフレームを選択させることと、映像データがキーフレーム識別子なしでキーフレームを含むと判断したことに応答して、映像データに含まれているキーフレームを選択させることとをさらに含み得る。
【0014】
再生装置は、キーフレーム、記憶されているキーフレーム、およびインター予測フレームのうち少なくとも1つに基づいて、再生装置のディスプレイ上に表示するための映像のフレームを生成するように構成されたデコーダをさらに備え得る。再生装置は、映像データに基づいてキーフレームまたは記憶されているキーフレームのうち一方を選択回路に選択させるように構成されたコントローラと、少なくとも1つの記憶されているキーフレームを含んだライブラリとをさらに備え得る。
【0015】
全体的な態様では、デバイス、システム、(コンピュータシステムによって実行され得る、コンピュータにより実行可能なプログラムコードを記憶した)非一時的なコンピュータ読み取り可能な媒体、および/または方法は、方法を用いて処理を実行できる。この方法は、少なくとも1つの映像フレームを含んだ受信ビデオストリームに基づいてキーフレームおよびインター予測フレームのうち少なくとも一方を生成することを含み、インター予測フレームは、キーフレームからの情報を用いて生成され、キーフレームが受信側デバイスに記憶されているかどうかを判断することと、キーフレームが受信側デバイスに記憶されているかどうかに基づいて、キーフレームまたはキーフレームを表すキーフレーム識別子のうち一方として映像データを選択することと、映像データおよびインター予測フレームのうち少なくとも一方を伝送することと、映像データおよびインター予測フレームのうち少なくとも一方を含んだビデオストリームを受信することと、映像データに基づいて、キーフレームまたは記憶されているキーフレームのうち一方を選択することと、キーフレーム、記憶されているキーフレーム、およびインター予測フレームのうち少なくとも1つに基づいて、再生装置のディスプレイ上に表示するための映像のフレームを生成することとをさらに含む。
【0016】
例示的な実施の形態は、本明細書において以下に提供する詳細な説明、および添付の図面から全面的に理解されるであろう。同様の要素は同様の参照番号で表される。これらの要素は、あくまで例示として提供されているので、例示的な実施の形態を限定しない。
【図面の簡単な説明】
【0017】
【
図1A】少なくとも1つの例示的な実施の形態に係る、信号フローのブロック図を示す。
【
図1B】少なくとも1つの例示的な実施の形態に係る、ストリーミング映像のフレームのブロック図を示す。
【
図2A】少なくとも1つの例示的な実施の形態に係る、送信側システムのブロック図を示す。
【
図2B】少なくとも1つの例示的な実施の形態に係る、別の送信側システムのブロック図を示す。
【
図3A】少なくとも1つの例示的な実施の形態に係る、受信側システムのブロック図を示す。
【
図3B】少なくとも1つの例示的な実施の形態に係る、別の受信側システムのブロック図を示す。
【
図4A】少なくとも1つの例示的な実施の形態に係る、エンコーダシステムのブロック図を示す。
【
図4B】少なくとも1つの例示的な実施の形態に係る、デコーダシステムのブロック図を示す。
【
図5】少なくとも1つの例示的な実施の形態に係る、映像のストリーミング方法のフロー図を示す。
【
図6】少なくとも1つの例示的な実施の形態に係る、映像の復号化方法のフロー図を示す。
【
図7】少なくとも1つの例示的な実施の形態に係る、コンピュータデバイスおよびモバイルコンピュータデバイスの例を示す。
【発明を実施するための形態】
【0018】
なお、これらの図面は、特定の例示的な実施の形態において利用される方法、および/また構造の一般的な特徴を示すため、および以下に提供する明細書を補助するための図面である。しかしながら、これらの図面は縮尺通りではなく、提供する実施の形態の正確な構造的特徴または性能上の特徴を正確に反映していない場合があり、例示的な実施の形態が含む値または特性の範囲を規定したり限定したりすると解釈されるべきではない。たとえば、層、領域、および/または構造要素の相対的な厚みおよび位置は、分かりやすくするために縮小されていたり誇張されていたりする場合がある。様々な図面において同様または同じ参照番号が用いられているのは、同様または同じ要素または特徴の存在を示すためのである。
【0019】
詳細な説明
映像の符号化は、隣接するフレームにあるフレームコンテンツに実質的に類似性があることを利用して、完全な画像コンテンツではなく、連続する映像フレーム間の違いのみを符号化することを可能にする。この手法は、特に、あるフレームから次のフレームへの連続した動きおよび/またはシーン内容に対して功を奏する。差分フレームが差し込まれているのは、フル画像フレームである。これらは、たとえば、シーンが途切れて変化する場合に使用されたり、定期的または不定期の基準設定フレームとして使用されたりし得る。映像の符号化の専門用語では、フル(または、ほとんど)フルの画像フレームは、イントラ符号化フレームと称され、キーフレームおよび/またはIフレームと称される場合もある(以下、キーフレーム)。予測フレームまたはPフレームおよび、両方向フレームまたはBフレームを含む、インター予測フレームと称される2種類の差分フレームが使用され得る。映像再生の状況では、各フレームは、一連のフレームにおける時間的順序を指定するためのタイムスタンプを含み得る。各キーフレームは、映像における瞬間を表す実質的にフルのデジタル画像であり得る。一方で、インター予測フレームは、キーフレームおよび/またはその他のフレームからのベクトル変位など、1つ以上のその他のフレームに関する変化を(たとえば、残差として)規定し得る。映像表示装置は、各キーフレームをそのタイムスタンプが付けられた瞬間に提示した後、連続するキーフレーム間のインター予測フレームに従って、または当該インター予測フレームを用いて提示画像に変化を描画し得る。その効果は、滑らかな動きとして表示装置上に現れる。
【0020】
映像圧縮では、キーフレームは、従来の静止画像ファイルに類似した完全指定フレームであり得る。よって、映像圧縮において使用されるその他のフレームとは異なり、キーフレームは、その他のフレームを参照することなく符号化される。その結果、キーフレームは、非キーフレームよりも大きくなり得る(たとえば、非キーフレームほど圧縮されない)。
【0021】
映像圧縮技術(たとえば、AVC、H.264、MPEG-4など)の使用用途の1つは、チャネルで送信されるデータの量を減らすことであり得る。チャネルは、ある構成要素から別の構成要素までの通信経路であり得る。チャネルは、PCB(プリント回路基板)上の電線、ファイバー内の光路、または、WiFi(登録商標)もしくはBluetooth(登録商標)などを用いた無線路であり得る。チャネルで送信するデータを減らすことで、チャネルは、低電力、低速度、低複雑性、および/または低コストで動作できるようになる。チャネルでキーフレームを送信することは、(インター予測フレームと比較して)望ましくない(たとえば、大)量のデータをチャネルで送信することを含み得る。
【0022】
例示的な実施態様は、映像のキーフレームをチャネルで送信することに関連するデータの量を減らすことができる。たとえば、反復するキーフレームが映像に含まれる場合(たとえば、据置き型セキュリティカメラ映像、背景が一定のプレゼンテーションビデオ、背景フィルター付きのビデオ会議電話、スマートグラスのメニューシステムなど)、キーフレームは、キーフレームを識別する識別値に置き換えられ得る。その後、映像表示装置は、フレームの復元および映像の表示に使用するために、識別値に対応する記憶されているキーフレームを(たとえば、メモリ、ライブラリなどから)呼び出し得る。識別値および記憶されているキーフレームを利用することで、映像のキーフレームをチャネルで送信することに関連するデータの量を減らすことができるようになる。
【0023】
図1Aは、少なくとも1つの例示的な実施の形態に係る、信号フローのブロック図を示す。
図1Aに示すように、信号フロー100は、送信側105と受信側115とを含む。送信側105と受信側115は、チャネル125によって通信可能に連結され得る。送信側105は、エンコーダ110を備え得、受信側115は、デコーダ120を備え得る。送信側105と受信側115は、映像のキーフレームをチャネル125で送信することに関連するデータの量を減らすために連動して動作するように構成され得る。チャネル125は、PCB(プリント回路基板)上の電線、ファイバー内の光路、または、WiFi(登録商標)もしくはBluetooth(登録商標)などを用いた無線路であり得る。
【0024】
例示的な実施態様では、送信側105は、ストリーミングデバイスであり得、受信側115は、再生装置であり得る。エンコーダ110は、ビデオストリームに基づいて、キーフレームおよびインター予測フレームのうち少なくとも一方を生成するように構成され得る。ここで、例示的な実施態様では、ビデオストリームは、解像度がすべて同じであり、かつ理論上すべてキーフレームとして使用できる複数のフレームを含み得る。
【0025】
インター予測フレームは、順方向予測フレームおよび/または双方向予測フレームのうち一方であり得る。送信側105、たとえば、ストリーミングデバイスのコントローラ、および/またはエンコーダ110は、キーフレームが受信側デバイス115に記憶されているかどうかを判断し、キーフレームが受信側デバイス115に記憶されているかどうかに基づいて、キーフレームまたはキーフレームを表すデジタル値のうち一方として映像データを選択するように構成され得る。すなわち、送信側105は、キーフレームを伝送する(たとえば、キーフレームの代わりにキーフレーム識別子を使用する)ことなく映像のフレームをストリーミング配信するように構成され得る。受信側115は、映像データおよびインター予測フレームのうち少なくとも一方を含んだビデオストリームを受信するように構成され得る。映像データは、キーフレームまたはキーフレームを表すデジタル値のうち一方であり得る。受信側115は、映像データに基づいて、キーフレームまたは記憶されているキーフレームのうち一方を選択するように構成され得る。デコーダ120は、キーフレーム、記憶されたキーフレーム、およびインター予測フレームのうち、少なくとも1つに基づいて、再生装置上で表示するための映像のフレームを生成するように構成され得る。
【0026】
送信側105は、映像圧縮(たとえば、AVC、H.264、MPEG-4など)実装における要素として含まれ得るエンコーダ110とインタフェース送信部とを備え得る。これに加えて、例示的な実施態様は、制御および選択回路(以下、マルチプレクサと称する)部品を備え得る。コントローラは、受信部のメモリに存在するキーフレームを識別するように構成され得る。キーフレームの識別は、キーフレームを既知のキーフレームと比較することを含む、またはディスプレイシステムの機能による識別(たとえば、表示メニューがユーザーインタフェースの始点であり得る)を含み得る。マルチプレクサは、通信ストリームにキーフレーム識別子を挿入するように構成され得る(たとえば、一致するキーフレームが識別される)。
【0027】
受信側115は、映像圧縮(たとえば、AVC、H.264、MPEG-4など)実装における要素として含まれ得るインタフェース受信部とデコーダ120とを備え得る。これに加えて、例示的な実施態様は、キーフレームライブラリと、コントローラと、マルチプレクサとを含む。コントローラは、マルチプレクサを用いて、インターフレームと、キーフレームライブラリから取り出されたキーフレームとを選択する(との選択を行なう)ように構成され得る。
図1Bは、少なくとも1つの例示的な実施の形態に係る、ストリーミング映像のフレームのブロック図を示す。
図1Bに示すように、ストリーミング映像は、キーフレームを伝送しないでストリーミング配信された(たとえば、伝送された)映像を構成するフレームであり得る。
図1Bでは、少なくとも1つのキーフレーム識別子と少なくとも1つのインター予測フレームとを含むと示されている。
図2Aおよび
図2Bは、送信側105およびエンコーダ110をさらに詳細に描写している。
図3Aおよび
図3Bでは、受信側115およびデコーダ120をさらに詳細に描写している。
【0028】
図2Aは、少なくとも1つの例示的な実施の形態に係る、送信側システムのブロック図を示す。
図2Aに示すように、送信側105は、エンコーダ110と、コントローラ205と、メモリ210と、マルチプレクサ215と、インタフェース/送信部220とを備える。メモリ210は、コントローラ205のグラフィカル要素であってもよく、コントローラ205のグラフィカル要素でなくてもよい。
図2Bは、少なくとも1つの例示的な実施の形態に係る、別の送信側システムのブロック図を示す。
図2Bに示すように、送信側105は、エンコーダ110と、インタフェース/送信部220とを備える。エンコーダ110は、コントローラ205と、メモリ210と、マルチプレクサ215と、圧縮フレーム生成部225とを備える。
図2Aと
図2Bの例示的な実施態様の違いは、
図2Bでは、コントローラ205、メモリ、210、およびマルチプレクサ215がエンコーダ110に含まれていることである。一方、
図2Aでは、コントローラ205、メモリ、210、およびマルチプレクサ215は、エンコーダ110に含まれていない。
【0029】
エンコーダ110は、映像5(たとえば、ストリーミング映像、(たとえば、メニューの)ユーザーインタフェースのやり取り、監視映像など)の複数のフレームを圧縮するように構成され得る。これに代えて、圧縮フレーム生成部225は、映像5の複数のフレームを圧縮するように構成され得る。複数の圧縮フレーム10は、少なくとも1つのキーフレームと、少なくとも1つのインター予測フレームとを含み得る。送信側105は、一度に映像5のフレームの1つのフレームを処理(たとえば、圧縮および/または伝送)するように構成され得る。
【0030】
コントローラ205は、複数の圧縮フレーム10のうち1つがキーフレームであるかどうかを判断し、このキーフレームが受信側115のメモリに存在しているかどうかを判断するように構成され得る。複数の圧縮フレーム10のうち1つがキーフレームであるかどうかを判断することは、フレームに対応付けられたタグを読み出すことを含み得る。フレームがキーフレームである場合、タグは、フレームがキーフレームであることを示す。これに代えて、複数の圧縮フレーム10は、コントローラ205が理解する一定の(たとえば、フレーム数、間隔など)基準でキーフレームとして圧縮され得る。これに代えて、映像5の最初のフレームは、キーフレームとして圧縮され得る。たとえば、(たとえば、メニューの)ユーザーインタフェースのやり取りは、最初のフレームをキーフレームとして用いて各々が圧縮され得る(映像5としての)一連の短い映像であり得る。
【0031】
キーフレームが受信側115のメモリに存在しているかどうかを判断することは、キーフレームを既知のキーフレームと比較することを含む、またはディスプレイシステムの機能による識別(たとえば、表示メニューは、ユーザーインタフェースの始点であり得る)を含み得る。たとえば、この比較は、画素単位の比較であってもよい。画素単位の比較は、キーフレームの画素の画素色(複数可)を読み出し、同じ座標にある記憶されているキーフレームの画素の画素色(複数可)を読み出し、これらの画素色(複数可)を比較することを含む。各座標(または、座標のしきい率)の色(複数可)が同じ(または、しきい値差の範囲内)である場合、キーフレームと記憶されているキーフレームは一致している。この処理は、記憶されているキーフレーム毎に繰り返され得る。記憶されているキーフレーム(複数可)は、メモリ210に含まれ得る。メモリ210にある記憶されているキーフレーム(複数可)は、受信側115のメモリ(たとえば、ライブラリ)にも存在し得る。
【0032】
比較は、画素色(たとえば、赤色、緑色、青色)の差を比較することであってもよい。画素の色差は、キーフレームの各画素の画素値を合計し、記憶されているキーフレームの各画素の画素値を合計し、その差を計算することを含み得る。この差が基準を満たす(たとえば、しきい値未満である)場合、キーフレームと記憶されているキーフレームは一致している。この処理は、記憶されているキーフレーム毎に繰り返され得る。画素の色差は、各色に基づいてもよく、および/またはすべての色を合成した色に基づいてもよい。
【0033】
比較は、画素色(たとえば、赤色、緑色、青色)ヒストグラムの比較であってもよい。画素色ヒストグラムは、キーフレームの画素色毎に画素ヒストグラムを生成し、記憶されているキーフレームの画素色毎に画素ヒストグラムを生成し、その差を比較することを比較し得る。ヒストグラムが基準を満たす(たとえば、画素毎のしきい値未満である)場合、キーフレームと記憶されているキーフレームは一致している。この処理は、記憶されているキーフレーム毎に繰り返され得る。
【0034】
比較は、フレーム画像シグネチャ(または、デジタル署名、シグネチャ値など)の比較であってもよい。シグネチャは、画像の画素色値に関数を適用した結果であり得る。関数を適用すると、実質的に一意の画像に対応する一意のシグネチャが得られるはずである。そのため、2つのキーフレームのシグネチャが同じである場合、これら2つのキーフレームは一致するはずである。シグネチャの比較は、キーフレームのシグネチャを生成し、記憶されているキーフレームのシグネチャを生成し、その差を計算することを含み得る。シグネチャの比較が基準を満たす(たとえば、シグネチャ値が同じである)場合、キーフレームと記憶されているキーフレームは一致している。この処理は、記憶されているキーフレーム毎に繰り返され得る。
【0035】
比較は、2つのフレームの画像に基づくMSE(平均二乗誤差)計算であってもよい。MSE計算は、2つのフレームの画像の二乗誤差の和であり得る。画素色MSEは、キーフレームおよび記憶されているキーフレームに基づいてMSE計算値を生成することを含み得る。MSEが基準を満たす(たとえば、しきい値未満である)場合、キーフレームと記憶されているキーフレームは一致している。この処理は、記憶されているキーフレーム毎に繰り返され得る。MSEは、各色に基づいてもよく、および/またはすべての色を合成した色に基づいてもよい。
【0036】
比較は、訓練済みのML(機械学習)モデルを利用してもよい。訓練済みMLモデルは、フレーム画像にあるオブジェクトおよびオブジェクトの位置を分類し得る。そのため、2つのキーフレームがオブジェクトおよび位置(たとえば、フレーム画像内の)の分類を有する場合、これら2つのキーフレームは一致している。MLモデル比較は、キーフレームのオブジェクト分類および位置分類を生成することと、記憶されているキーフレームのオブジェクト分類および位置分類を生成することとを含み得る。オブジェクト分類および位置分類の比較が基準を満たす(たとえば、オブジェクト分類の値および位置分類の値が同じである)場合、キーフレームと記憶されているキーフレームは一致している。この処理は、記憶されているキーフレーム毎に繰り返され得る。
【0037】
比較は、フレーム画像のテクスチャ比較であってもよい。フレーム画像のテクスチャ比較は、上記比較のうちいずれの比較に基づいてもよい。しかしながら、画素色に基づいた比較ではなく、比較は、画素テクスチャに基づいた比較であってもよい。透かし模様の比較であってもよい。たとえば、キーフレームは、一意の透かし模様(たとえば、映像にあるキーフレーム毎に異なる視認できないデジタル構造)を含んでもよい。これらの透かし模様が同じである場合、キーフレームと記憶されているキーフレームは一致している。この処理は、記憶されているキーフレーム毎に繰り返され得る。
【0038】
上記例示的な実施態様のそれぞれでは、比較結果は完全一致でなくてもよい。たとえば、2つのキーフレームが基準(たとえば、しきい値差)の範囲内で一致していることを比較の結果が示す場合、キーフレームが一致していると判断されてもよい。基準は、結果として得られる再現画像または再現フレームの質に基づいてもよい。この例示的な実施態様では、インター予測フレームの生成には、現在の(たとえば、ストリーミング映像に対応付けられた)キーフレームの代わりに(たとえば、代用として)、記憶されているキーフレームが使用されてもよい。さらには、例示的な実施態様は、未符号化キーフレームおよび/または符号化(圧縮)キーフレームの比較を含んでもよい。
【0039】
これに代えて、映像5は、キーフレーム画像ではなくキーフレーム識別子を含んでもよい。映像5がキーフレーム識別子を使用する場合、記憶されているキーフレームは、関連するキーフレーム識別子を含み得る。関連するキーフレーム識別子を含んだこれら記憶されているキーフレームは、受信側115のメモリに予めインストールされてもよい。関連するキーフレーム識別子を含んだこれら記憶されているキーフレームは、受信側115に通信可能に連結されたネットワーク機器のメモリに存在してもよい。本実施態様では、たとえば、映像、アプリケーション、ユーザーインタフェースなどに基づいて、受信側115は、記憶されているキーフレームをネットワーク機器に要求してもよく、キーフレーム識別子に対応付けられた複数のキーフレームをネットワーク機器に要求してもよい。
【0040】
例示的な実施態様では、メモリ210は、キーフレーム画像ではなくキーフレーム識別子を含み得る。たとえば、メモリ210は、キーフレーム画像を表すキーフレーム識別子として、シグネチャ、ヒストグラム、透かし模様などを含み得る。そのため、キーフレームの比較は、現在のキーフレームのシグネチャ、ヒストグラム、透かし模様などを生成し、結果をメモリ210に記憶されているシグネチャ、ヒストグラム、透かし模様などと比較することに基づき得る。その他のフレーム画像比較技術も、本開示の範囲に含まれる。
【0041】
コントローラ205は、キーフレーム識別子、またはキーフレームおよび関連するキーフレーム識別子を、キーフレームデータ15として出力し得る。これに加えて、コントローラ205は、制御信号20を出力し得る。マルチプレクサ215は、映像データ25を出力し得る。マルチプレクサ215は、制御信号20に基づいて映像データ25を出力し得る。制御信号20は、マルチプレクサ215に、圧縮フレーム10またはキーフレームデータ15から選択させ得る。すなわち、映像データ25は、インター予測フレームであってもよく、キーフレームデータ15であってもよい(たとえば、キーフレーム識別子、またはキーフレーム/キーフレーム識別子の組合せ)。インタフェース/送信部220は、エンコーダ/デコーダ規格(たとえば、AVC、H.264、MPEG-4など)に基づいて映像データ25を伝送するためにフォーマットし、フォーマットされた映像データ30をチャネル125で伝送するように構成され得る。
【0042】
図3Aは、少なくとも1つの例示的な実施の形態に係る、受信側システムのブロック図を示す。
図3Aに示すように、受信側115は、インタフェース/受信部305と、キーフレームライブラリ310と、コントローラ315と、マルチプレクサ320と、デコーダ120とを備える。
図3Bは、少なくとも1つの例示的な実施の形態に係る、別の受信側システムのブロック図を示す。
図3Bに示すように、受信側115は、インタフェース/受信部305と、デコーダ120とを備える。デコーダ120は、キーフレームライブラリ310と、コントローラ315と、マルチプレクサ320とを備える。
図3Aと
図3Bの例示的な実施態様の違いは、
図3Bでは、コントローラ315、メモリ、310、およびマルチプレクサ320がデコーダ120に含まれていることである。一方、
図3Aでは、コントローラ315、メモリ、310、およびマルチプレクサ320は、デコーダ120に含まれていない。
【0043】
インタフェース/受信部305は、フォーマットされた映像データ30をチャネル125を経由して受信し、フォーマットされた映像データ30に基づいて映像データ35を生成するように構成され得る。映像データ35は、インター予測フレームであってもよく、キーフレームデータであってもよい(たとえば、キーフレーム識別子、またはキーフレーム/キーフレーム識別子の組合せ)。
【0044】
コントローラ315は、映像データ35がキーフレームおよび/またはキーフレーム識別子を含むかどうかを判断するように構成され得る。映像データ35がキーフレームおよび/またはキーフレーム識別子を含む場合、コントローラ315は、キーフレームライブラリ310がキーフレームを含むかどうかを判断するように構成され得る。たとえば、映像データ35は、キーフレーム識別子のみを含む場合がある。この場合、キーフレームライブラリ310は、キーフレームを含んでいるはずであり、コントローラは、キーフレームライブラリ310に、キーフレーム識別子に基づいてキーフレーム45を伝送させることができる。
【0045】
映像データ35がキーフレームとキーフレーム識別子とを含む場合、コントローラ315は、キーフレームライブラリ310に、キーフレームをキーフレーム識別子に関連付けて記憶させるように構成され得る。これに加えて、コントローラ315は、制御信号40を出力し得る。マルチプレクサ320は、圧縮映像データ50を出力し得る。マルチプレクサ215は、制御信号40に基づいて圧縮映像データ50を出力し得る。制御信号40は、マルチプレクサ320に、映像データ35またはキーフレーム45から選択させ得る。すなわち、圧縮映像データ50は、インター予測フレームであってもよく、キーフレームデータ45であってもよい。デコーダ120および/または復元モジュール325は、圧縮フレーム10を生成するために利用されたエンコーダ/デコーダ規格と同じエンコーダ/デコーダ規格を利用して圧縮映像データ50を復元することによって、映像5を(再現映像として)生成するように構成され得る。
【0046】
キーフレームライブラリ310は、ビデオストリームを復号化するために必要なキーフレームを含み得る。キーフレームライブラリ310は、ROM、SRAMまたはその他の永続ストレージもしくは一時ストレージで実装されてもよい。キーフレームライブラリ310には、システムにおいて使用されるキーフレームが予め読み込まれてもよい。チャネル125を経由して送信側105から受信されると、キーフレームライブラリは、設計段階(ROM)の間に受信側115によって読み込まれ得る(たとえば、ネットワーク機器から読み出される)。
【0047】
図4Aは、少なくとも1つの例示的な実施の形態に係る、エンコーダシステムを示す。
図4Aに示すように、エンコーダシステム400は、少なくとも1つのプロセッサ405と、少なくとも1つのメモリ410と、コントローラ420と、エンコーダ110とを備える。少なくとも1つのプロセッサ405、少なくとも1つのメモリ410、コントローラ420、およびエンコーダ110は、バス415を経由して通信可能に連結される。
【0048】
図4Aの例では、エンコーダシステム400は、少なくとも1つのコンピューティングデバイスであってもよく、少なくとも1つのコンピューティングデバイスを備えてもよく、本明細書に記載の技術を実行するように構成されたコンピューティングデバイスを仮想的に表すと理解されたい。このように、エンコーダシステム400は、本明細書に記載の技術、またはその異なるバージョンもしくは将来のバージョンを実装するために利用され得る様々な構成要素を備えると理解され得る。一例として、エンコーダシステム400は、少なくとも1つのプロセッサ405と、少なくとも1つのメモリ410(たとえば、非一時的なコンピュータ読み取り可能な記憶媒体)とを備えると図示されている。
【0049】
少なくとも1つのプロセッサ405は、少なくとも1つのメモリ410に記憶された命令を実行するために利用され得る。そのため、少なくとも1つのプロセッサ405は、本明細書に記載の様々な特徴および機能や、追加または別の特徴および機能を実装し得る。少なくとも1つのプロセッサ405および少なくとも1つのメモリ410は、様々なその他の目的のために利用されてもよい。たとえば、少なくとも1つのメモリ410は、本明細書に記載のモジュールのうちいずれか1つを実装するために用いられ得る様々な種類のメモリならびに関連するハードウェアおよびソフトウェアの例を表し得る。
【0050】
少なくとも1つのメモリ410は、エンコーダシステム400に関連するデータおよび/または情報を記憶するように構成されてもよい。少なくとも1つのメモリ410は、共有リソースであってもよい。たとえば、エンコーダシステム400は、より大規模なシステム(たとえば、サーバ、パーソナルコンピュータ、モバイル機器など)の要素であってもよい。そのため、少なくとも1つのメモリ410は、より大規模なシステム内のその他の要素(たとえば、画像/映像提供、ウェブブラウジング、または有線/ワイヤレス通信)に関連するデータおよび/または情報を記憶するように構成され得る。
【0051】
コントローラ420は、様々な制御信号を生成し、これらの制御信号をエンコーダシステム400にある様々なブロックに伝送するように構成され得る。コントローラ420は、本明細書に記載の技術を実装するためにこれらの制御信号を生成し得る。コントローラ420は、エンコーダ110を制御して例示的な実施態様に係る画像、画像系列、映像フレーム、映像フレーム系列などを符号化させるように構成され得る。たとえば、コントローラ420は、エンコーディングモードを選択することに対応する制御信号を生成し得る。
【0052】
エンコーダ110は、入力画像5(および/またはビデオストリーム)を受信し、圧縮(たとえば、符号化)ビット10を出力するように構成され得る。エンコーダ110は、映像入力を(たとえば、画像として)離散映像フレームに変換し得る。入力画像5は、圧縮画像ビットとして圧縮(たとえば、符号化)され得る。エンコーダ110は、各画像(または、離散映像フレーム)を、ブロックまたはマクロブロック(以下、ブロックと称する)のCxR行列にさらに変換し得る。たとえば、画像は、複数の画素を各々が有するブロックからなる32×32、32×16、16×16、16×8、8×8、4×8、4×4、または2×2行列に変換され得る。8個の例示的な行列を挙げたが、例示的な実施態様はこれらに限定されない。さらには、エンコーダ110は、キーフレームなしで映像をストリーミング配信する、ならびに/または少なくとも1つのキーフレームの代わりに少なくとも1つのキーフレーム識別子を用いて映像をストリーミング配信するように構成され得る(および/もしくは、このように構成されたシステムに含まれ得る)。
【0053】
圧縮ビット10は、エンコーダシステム400の出力を表し得る。たとえば、圧縮ビット10は、符号化画像(または、映像フレーム)を表してもよい。たとえば、圧縮ビット10は、メモリ(たとえば、少なくとも1つのメモリ410)に記憶されてもよい。たとえば、圧縮ビット10は、受信側デバイス(図示せず)にすぐに送信できる状態であってもよい。たとえば、圧縮ビット10は、受信側デバイスに送信するためにシステムのトランシーバ(図示せず)に送信されてもよい。
【0054】
少なくとも1つのプロセッサ405は、コントローラ420および/またはエンコーダ110に関連するコンピュータ命令を実行するように構成されてもよい。少なくとも1つのプロセッサ405は、共有リソースであってもよい。たとえば、エンコーダシステム400は、より大規模なシステム(たとえば、モバイル機器、サーバなど)の要素であってもよい。そのため、少なくとも1つのプロセッサ405は、より大規模なシステム内のその他の要素(たとえば、画像/映像提供、ウェブブラウジング、または有線/ワイヤレス通信)に関連するコンピュータ命令を実行するように構成され得る。
【0055】
図4Bは、少なくとも1つの例示的な実施の形態に係る、デコーダシステムのブロック図を示す。
図4Bに示すように、デコーダシステム450は、少なくとも1つのプロセッサ455と、少なくとも1つのメモリ460と、コントローラ470と、デコーダ120とを備える。少なくとも1つのプロセッサ455、少なくとも1つのメモリ460、コントローラ470、およびデコーダ120は、バス465を経由して通信可能に連結される。
【0056】
図4Bの例では、デコーダシステム450は、少なくとも1つのコンピューティングデバイスであってもよく、本明細書に記載の技術を実行するように構成されたコンピューティングデバイスを仮想的に表すと理解されたい。このように、デコーダシステム450は、本明細書に記載の技術、またはその異なるバージョンもしくは将来のバージョンを実装するために利用され得る様々な構成要素を備えると理解され得る。たとえば、デコーダシステム450は、少なくとも1つのプロセッサ455と、少なくとも1つのメモリ460(たとえば、コンピュータ読み取り可能な記憶媒体)とを備えると図示されている。
【0057】
そのため、少なくとも1つのプロセッサ455は、少なくとも1つのメモリ460に記憶された命令を実行するために利用され得る。このように、少なくとも1つのプロセッサ455は、本明細書に記載の様々な特徴および機能や、追加または別の特徴および機能を実装し得る。少なくとも1つのプロセッサ455および少なくとも1つのメモリ460は、様々なその他の目的のために利用されてもよい。たとえば、少なくとも1つのメモリ460は、本明細書に記載のモジュールのうちいずれか1つを実装するために用いられ得る様々な種類のメモリならびに関連するハードウェアおよびソフトウェアの例を表すと理解され得る。例示的な実施態様によると、エンコーダシステム400およびデコーダシステム450は、同一のより大規模なシステム(たとえば、パーソナルコンピュータ、モバイル機器など)に含まれ得る。
【0058】
少なくとも1つのメモリ460は、デコーダシステム450に関連するデータおよび/または情報を記憶するように構成されてもよい。少なくとも1つのメモリ460は、共有リソースであってもよい。たとえば、デコーダシステム450は、より大規模なシステム(たとえば、パーソナルコンピュータ、モバイル機器など)の要素であってもよい。そのため、少なくとも1つのメモリ460は、より大規模なシステム内のその他の要素(たとえば、ウェブブラウジングまたはワイヤレス通信)に関連するデータおよび/または情報を記憶するように構成され得る。
【0059】
コントローラ470は、様々な制御信号を生成し、これらの制御信号をデコーダシステム450にある様々なブロックに伝送するように構成され得る。コントローラ470は、本明細書に記載の映像符号化/復号化技術を実装するためにこれらの制御信号を生成し得る。コントローラ470は、デコーダ120を制御して例示的な実施態様に係る映像フレームを復号化させるように構成され得る。
【0060】
デコーダ120は、圧縮(たとえば、符号化)ビット10を入力として受信し、画像5を出力するように構成され得る。また、圧縮(たとえば、符号化)ビット10は、圧縮映像ビット(たとえば、映像フレーム)を表し得る。そのため、デコーダ120は、圧縮ビット10の離散映像フレームをビデオストリームに変換するように構成され得る。デコーダ120は、キーフレームなしで伝送されたストリーミング映像、ならびに/または少なくとも1つのキーフレームの代わりに少なくとも1つのキーフレーム識別子を含んで伝送されたストリーミング映像を復元(たとえば、復号化)するように構成され得る(および/もしくは、このように構成されたシステムに含まれ得る)。
【0061】
少なくとも1つのプロセッサ455は、コントローラ470および/またはデコーダ120に関連するコンピュータ命令を実行するように構成されてもよい。少なくとも1つのプロセッサ455は、共有リソースであってもよい。たとえば、デコーダシステム450は、より大規模なシステム(たとえば、パーソナルコンピュータ、モバイル機器など)の要素であってもよい。そのため、少なくとも1つのプロセッサ455は、より大規模なシステム内のその他の要素(たとえば、ウェブブラウジングまたはワイヤレス通信)に関連するコンピュータ命令を実行するように構成され得る。
【0062】
送信側105にあるエンコーダ110に未圧縮ビデオストリーム(たとえば、映像5)が入力され得る。エンコーダ110は、映像圧縮規格(たとえば、AVC、H.264、MPEG-4など)に従って各フレーム(たとえば、画像)を処理し得る。コントローラ(たとえば、コントローラ205)は、キーフレームがキーフレームライブラリ(たとえば、キーフレームライブラリ310)にあるかどうかを判断し得る。たとえば、再生装置上のディスプレイがキーフレームとして標準画像を使用すると判断し、圧縮キーフレームを既知のキーフレームライブラリのコンテンツと比較することによって、コントローラは、圧縮キーフレームを使用するかキーフレーム識別子を使用するかを判断し得る。
【0063】
キーフレーム識別子が既知になると、マルチプレクサ(たとえば、マルチプレクサ215)を使用して、送信側105の送信ストリームにキーフレーム選択情報(たとえば、キーフレーム、キーフレーム識別子など)が注入され得る。キーフレーム識別子は数バイトであり得るが、圧縮キーフレームは、何キロバイトまたは何メガバイトにもなり得る。例では、圧縮キーフレームの送信を減らす(それどころかなくす)ことができる。
【0064】
コントローラ(たとえば、コントローラ315)は、受信した映像データを監視し得る。キーフレーム識別子が受信されると、コントローラは、キーフレームライブラリからキーフレームデータ(たとえば、圧縮キーフレーム)を選択して提供し得る。マルチプレクサ(たとえば、マルチプレクサ320)を使用して、受信した映像データストリーム(たとえば、BフレームおよびPフレーム)とキーフレームライブラリのコンテンツ(たとえば、圧縮Iフレーム)が切り替えられ得る。デコーダ(たとえば、デコーダ120)は、映像復元規格(たとえば、AVC、H.264、MPEG-4など)に従って映像データストリームを処理し得る。
【0065】
キーフレームがキーフレームライブラリに含まれていない場合、受信側115によってキーフレームが処理されてキーフレームライブラリに記憶され得る。記憶されていないキーフレームを有するビデオストリームが送信側において検出された場合、キーフレームが送信され、続いてインター予測フレーム(たとえば、Bフレームおよび/またはPフレーム)が送信され、これらは処理される。(たとえば、再利用が想定されている場合)新しいキーフレームを複製してキーフレームライブラリに記憶してもよい。
図5は、送信側(たとえば、送信側105)の動作をさらに詳細に描写しており、
図6は、受信側(たとえば、受信側115)の動作をさらに詳細に描写している。
【0066】
図5は、少なくとも1つの例示的な実施の形態に係る、映像のストリーミング方法のフロー図を示す。
図5に示すように、ステップS505では、ストリーミング映像を受信する。たとえば、映像(たとえば、映像5)は、ストリーミング映像、(たとえば、メニューの)ユーザーインタフェースのやり取り、監視映像などであり得る。
【0067】
ステップS510では、ストリーミング映像のフレームを用いて圧縮フレーム(複数可)を生成する。たとえば、エンコーダ/デコーダ規格(たとえば、AVC、H.264、MPEG-4など)を利用して、エンコーダ(たとえば、エンコーダ110)がストリーミング映像の各フレームを圧縮し得る。圧縮フレームは、イントラ符号化フレームであってもよく、インター予測フレームであってもよい。イントラ予測フレームは、キーフレームおよび/またはIフレームを含み得る。インター予測フレームは、予測フレームまたはPフレームおよび両方向フレームまたはBフレームを含み得る。したがって、エンコーダは、イントラ予測フレーム(たとえば、キーフレームおよび/もしくはIフレーム)ならびに/またはインター予測フレーム(たとえば、Pフレームおよび/もしくはBフレーム)を生成(たとえば、出力)し得る。いくつかの実施態様では、イントラ予測フレーム(たとえば、キーフレームおよび/またはIフレーム)は、キーフレームを指すキーフレーム識別子であってもよく、Iフレームであってもよい。
【0068】
ステップS515では、フレームがキーフレームであるかどうかを判断する。たとえば、圧縮フレームは、フレームをキーフレーム(または、Iフレーム)として識別するタグを含んでもよい。これに代えて、フレームは、画像フレームではなく、キーフレーム識別子であってもよい。タグおよび/またはキーフレーム識別子に基づいて、フレームは、キーフレームであると判断され得る。フレームがキーフレームである場合、処理は、ステップS520に続く。そうでなく、フレームがキーフレームでない場合、処理は、ステップS540に続く。
【0069】
ステップS520では、キーフレームがメモリに記憶されているかどうかを判断する。たとえば、メモリは、複数のキーフレーム、および/またはキーフレーム識別子を含み得る。キーフレームがメモリに記憶されているかどうかを判断することは、キーフレームおよび/またはキーフレーム識別子が、メモリに記憶されている複数のキーフレームおよび/または複数のキーフレーム識別子のうち一方と一致するかどうかを判断することを含み得る。キーフレームがメモリに記憶されている場合、処理は、ステップS525に続く。そうでなく、キーフレームがメモリに記憶されていない場合、処理は、ステップS525に続く。
【0070】
キーフレームがメモリ(たとえば、メモリ210および/またはキーフレームライブラリ310)に記憶されているかどうかを判断することは、キーフレームを既知のキーフレームと比較することを含む、またはディスプレイシステムの機能による識別(たとえば、表示メニューは、ユーザーインタフェースの始点であり得る)を含み得る。たとえば、この比較は、画素単位の比較であってもよい。画素単位の比較は、キーフレームの画素の画素色(複数可)を読み出し、同じ座標にある記憶されているキーフレームの画素の画素色(複数可)を読み出し、これらの画素色(複数可)を比較することを含む。各座標(または、座標のしきい率)の色(複数可)が同じ(または、しきい値差の範囲内)である場合、キーフレームと記憶されているキーフレームは一致している。この処理は、記憶されているキーフレーム毎に繰り返され得る。
【0071】
比較は、画素色(たとえば、赤色、緑色、青色)の差を比較することであってもよい。画素の色差は、キーフレームの各画素の画素値を合計し、記憶されているキーフレームの各画素の画素値を合計し、その差を計算することを含み得る。この差が基準を満たす(たとえば、しきい値未満である)場合、キーフレームと記憶されているキーフレームは一致している。この処理は、記憶されているキーフレーム毎に繰り返され得る。画素の色差は、各色に基づいてもよく、および/またはすべての色を合成した色に基づいてもよい。
【0072】
比較は、画素色(たとえば、赤色、緑色、青色)ヒストグラムの比較であってもよい。画素色ヒストグラムは、キーフレームの画素色毎に画素ヒストグラムを生成し、記憶されているキーフレームの画素色毎に画素ヒストグラムを生成し、その差を比較することを比較し得る。ヒストグラムが基準を満たす(たとえば、画素毎のしきい値未満である)場合、キーフレームと記憶されているキーフレームは一致している。この処理は、記憶されているキーフレーム毎に繰り返され得る。
【0073】
比較は、フレーム画像シグネチャ(または、デジタル署名、シグネチャ値など)の比較であってもよい。シグネチャは、画像の画素色値に関数を適用した結果であり得る。関数を適用すると、実質的に一意の画像に対応する一意のシグネチャが得られるはずである。そのため、2つのキーフレームのシグネチャが同じである場合、これら2つのキーフレームは一致するはずである。シグネチャの比較は、キーフレームのシグネチャを生成し、記憶されているキーフレームのシグネチャを生成し、その差を計算することを含み得る。シグネチャの比較が基準を満たす(たとえば、シグネチャ値が同じである)場合、キーフレームと記憶されているキーフレームは一致している。この処理は、記憶されているキーフレーム毎に繰り返され得る。
【0074】
比較は、2つのフレームの画像に基づくMSE(平均二乗誤差)計算であってもよい。MSE計算は、2つのフレームの画像の二乗誤差の和であり得る。画素色MSEは、キーフレームおよび記憶されているキーフレームに基づいてMSE計算値を生成することを含み得る。MSEが基準を満たす(たとえば、しきい値未満である)場合、キーフレームと記憶されているキーフレームは一致している。この処理は、記憶されているキーフレーム毎に繰り返され得る。MSEは、各色に基づいてもよく、および/またはすべての色を合成した色に基づいてもよい。
【0075】
比較は、訓練済みのML(機械学習)モデルを利用してもよい。訓練済みMLモデルは、フレーム画像にあるオブジェクトおよびオブジェクトの位置を分類し得る。そのため、2つのキーフレームがオブジェクトおよび位置(たとえば、フレーム画像内の)の分類を有する場合、これら2つのキーフレームは一致している。MLモデル比較は、キーフレームのオブジェクト分類および位置分類を生成することと、記憶されているキーフレームのオブジェクト分類および位置分類を生成することとを含み得る。オブジェクト分類および位置分類の比較が基準を満たす(たとえば、オブジェクト分類の値および位置分類の値が同じである)場合、キーフレームと記憶されているキーフレームは一致している。この処理は、記憶されているキーフレーム毎に繰り返され得る。
【0076】
比較は、フレーム画像のテクスチャ比較であってもよい。フレーム画像のテクスチャ比較は、上記比較のうちいずれの比較に基づいてもよい。しかしながら、画素色に基づいた比較ではなく、比較は、画素テクスチャに基づいた比較であってもよい。透かし模様の比較であってもよい。たとえば、キーフレームは、一意の透かし模様(たとえば、映像にあるキーフレーム毎に異なる視認できないデジタル構造)を含んでもよい。これらの透かし模様が同じである場合、キーフレームと記憶されているキーフレームは一致している。この処理は、記憶されているキーフレーム毎に繰り返され得る。
【0077】
これに代えて、映像(たとえば、映像5)は、キーフレーム画像ではなくキーフレーム識別子を含んでもよい。映像がキーフレーム識別子を使用する場合、記憶されているキーフレームは、関連するキーフレーム識別子を含み得る。関連するキーフレーム識別子を含んだこれら記憶されているキーフレームは、再生装置(たとえば、受信側115)のメモリに予めインストールされてもよい。関連するキーフレーム識別子を含んだこれら記憶されているキーフレームは、再生装置に通信可能に連結されたネットワーク機器のメモリに存在してもよい。本実施態様では、たとえば、映像、アプリケーション、ユーザーインタフェースなどに基づいて、再生装置は、記憶されているキーフレームをネットワーク機器に要求してもよく、キーフレーム識別子に対応付けられた複数のキーフレームをネットワーク機器に要求してもよい。再生装置は、テレビ、携帯電話、コンピュータのモニター、拡張現実のヘッドセットなどであり得る。
【0078】
例示的な実施態様では、メモリは、キーフレーム画像ではなくキーフレーム識別子を含み得る。たとえば、メモリは、キーフレーム画像を表すキーフレーム識別子として、シグネチャ、ヒストグラム、透かし模様などを含み得る。そのため、キーフレームの比較は、現在のキーフレームのシグネチャ、ヒストグラム、透かし模様などを生成し、結果をメモリに記憶されているシグネチャ、ヒストグラム、透かし模様などと比較することに基づき得る。その他のフレーム画像比較技術も、本開示の範囲に含まれる。
【0079】
ステップS525では、フレーム表現を決定する。たとえば、フレーム表現は、キーフレーム識別子であってもよい。キーフレーム識別子は、(たとえば、キーフレームがメモリに追加されると逐次作成される)数値、シグネチャ、ヒストグラム、透かし模様などであってもよい。
【0080】
ステップS530では、フレーム表現を伝送する。たとえば、キーフレームが再生装置のメモリ(たとえば、キーフレームライブラリ310)に記憶されている場合、圧縮キーフレーム(または、Iフレーム)を伝送しないで、キーフレーム識別子を圧縮ビデオストリームに含めて伝送し得る。キーフレーム識別子は、エンコーダ/デコーダ規格(たとえば、AVC、H.264、MPEG-4など)に基づいて伝送するためにフォーマットされて、(たとえば、チャネル125を経由して)伝送され得る。
【0081】
ステップS535では、フレームおよび/またはフレーム表現を記憶する。たとえば、フレームが、メモリに記憶されていないキーフレームである場合、フレームおよび/またはフレーム表現は、メモリ(たとえば、メモリ210)に記憶され得る。キーフレームがビデオストリームに次回現れたときにキーフレーム表現が圧縮ビデオストリームに含まれて伝送されるよう、フレームおよび/またはフレーム表現はメモリに記憶される。
【0082】
ステップS540では、フレームおよび/またはフレーム表現を伝送する。たとえば、インター予測フレーム(たとえば、キーフレームでないフレーム、Pフレーム、Bフレームなど)である。(たとえば、映像データ25としての)インター予測フレームは、エンコーダ/デコーダ規格(たとえば、AVC、H.264、MPEG-4など)に基づいて伝送するためにフォーマットされて、(たとえば、チャネル125を経由して)伝送され得る。フレームが、再生装置のメモリ(たとえば、キーフレームライブラリ310)に記憶されていないキーフレームである場合、(たとえば、映像データ25としての)圧縮キーフレームは、エンコーダ/デコーダ規格に基づいて伝送するためにフォーマットされて、(たとえば、チャネル125を経由して)伝送され得る。フレームが、未圧縮ビデオストリームで受信されたキーフレーム識別子である場合、(たとえば、映像データ25としての)キーフレーム識別子は、エンコーダ/デコーダ規格に基づいて伝送するためにフォーマットされて(たとえば、チャネル125を経由して)伝送され得る。いくつかの実施態様では、キーフレーム識別子は、圧縮キーフレームと一緒に伝送される。
【0083】
図6は、少なくとも1つの例示的な実施の形態に係る、映像の復号化方法のフロー図を示す。
図6に示すように、ステップS605では、ストリーミング映像データを受信する。たとえば、圧縮映像(たとえば、映像30)は、圧縮された(または、符号化された)ストリーミング映像、(たとえば、メニューの)ユーザーインタフェースのやり取り、監視映像などであり得る。ストリーミング映像データは、エンコーダ/デコーダ規格(たとえば、AVC、H.264、MPEG-4など)に基づいて伝送するためにフォーマットされ得る。圧縮映像データは、インター予測フレーム(たとえば、キーフレームでないフレーム、Pフレーム、Bフレームなど)、イントラ予測フレーム(たとえば、キーフレーム、もしくはIフレーム)、ならびに/またはキーフレーム(たとえば、キーフレーム識別子)を表すデータ、のうち少なくとも1つを含み得る。
【0084】
ステップS610では、映像データのフレームが圧縮フレーム(たとえば、復元すべき現在のフレーム)であるかどうかを判断する。たとえば、映像データのフレームは、キーフレームとしてのフレーム画像、インター予測フレーム、またはキーフレーム識別子であり得る。フレームがキーフレーム識別子である場合、映像データのフレームは、圧縮フレームではない。映像データのフレームが圧縮フレームである場合、処理は、ステップS615に続く。そうでなく、映像データのフレームが圧縮フレームでない場合、処理は、ステップS630に続く。
【0085】
ステップS615では、フレームがキーフレームであるかどうかを判断する。たとえば、圧縮フレームは、フレームをキーフレーム(または、Iフレーム)として識別するタグを含み得る。これに代えて、フレームは、圧縮フレームとキーフレーム識別子とを含んでもよい。フレームは、タグおよび/またはキーフレーム識別子に基づいてキーフレームであると判断され得る。フレームがキーフレームである場合、処理は、ステップS620に続く。そうでなく、フレームがキーフレームでない場合、処理は、ステップS625に続く。
【0086】
ステップS620では、フレームおよび/またはフレーム表現を記憶する。たとえば、フレームが、メモリに記憶されていないキーフレームである場合、フレームおよび/またはフレーム表現は、キーフレームライブラリ(たとえば、キーフレームライブラリ310)に記憶され得る。キーフレームがキーフレーム識別子として圧縮ビデオストリームに次回現れたときにキーフレーム識別子に基づいてキーフレームライブラリからキーフレームが抽出できるよう、フレームおよび/またはフレーム表現は、キーフレームライブラリに記憶される。
【0087】
ステップS625では、フレームを復元する。たとえば、圧縮フレームを生成するために使われたエンコーダ/デコーダ規格(たとえば、AVC、H.264、MPEG-4など)と同じエンコーダ/デコーダ規格を用いて圧縮フレームを復元してもよい。
【0088】
ステップS630では、キーフレームを特定する。たとえば、キーフレーム識別子に基づいて、キーフレームライブラリでキーフレームを検索(たとえば、サーチ)してもよい。ステップS635では、キーフレームを抽出する。たとえば、キーフレームは、キーフレームライブラリから読み出されてもよい。
【0089】
図7は、本明細書に記載の技術とともに使用され得るコンピュータデバイス700およびモバイルコンピュータデバイス750の例を示す図である。コンピューティングデバイス700は、ラップトップ、デスクトップ、ワークステーション、PDA(携帯情報端末)、サーバ、ブレードサーバ、メインフレーム、およびその他の適切なコンピュータなど、様々な形態のデジタルコンピュータを表すよう意図される。コンピューティングデバイス750は、PDA、携帯電話、スマートフォン、およびその他同様のコンピューティングデバイスなど、様々な形態のモバイル機器を表すよう意図される。本明細書に示す構成要素、それらの接続および関係、ならびにそれらの機能は、例示に過ぎず、本明細書において説明および/またはクレームされた発明の実施態様を限定するものではない。
【0090】
コンピューティングデバイス700は、プロセッサ702と、メモリ704と、記憶装置706と、メモリ704および高速拡張ポート710に接続された高速インタフェース708と、低速バス714および記憶装置706に接続された低速インタフェース712とを備える。構成要素702、704、706、708、710、および712の各々は、様々なバスを用いて互いに接続されており、共通のマザーボード上に実装され得、またはその他の方法で適宜実装され得る。プロセッサ702は、コンピューティングデバイス700内で実行するための命令を処理できる。当該命令は、高速インタフェース708に連結されたディスプレイ716など、外付けの入出力装置上のGUIのためのグラフィック情報を表示するための、メモリ704に記憶されたまたは記憶装置706上に記憶された命令を含む。その他の実施態様では、複数のプロセッサおよび/または複数のバスが複数のメモリおよび複数種類のメモリとともに適宜利用され得る。また、(たとえば、サーババンク、ブレードサーバ群、または多重プロセッサシステムなどとしての)必要な動作の一部を各々が提供する複数のコンピューティングデバイス700が接続され得る。
【0091】
メモリ704は、コンピューティングデバイス700内の情報を記憶する。一実施態様では、メモリ704は、1つまたは複数の揮発性記憶装置である。別の実施態様では、メモリ704は、1つまたは複数の不揮発性記憶装置である。また、メモリ704は、磁気ディスクまたは光ディスクなど、別の形態のコンピュータ読み取り可能な媒体であってもよい。
【0092】
記憶装置706は、コンピューティングデバイス700用の大容量ストレージを提供できる。一実施態様では、記憶装置706は、フロッピー(登録商標)ディスク装置、ハードディスク装置、光ディスク装置、もしくはテープ装置、フラッシュメモリもしくは他の同様の固体メモリ装置、または、ストレージエリアネットワークもしくはその他の構成に含まれるデバイスを含むデバイスのアレイなど、コンピュータ読み取り可能な媒体であってもよく、または、コンピュータ読み取り可能な媒体を含んでもよい。コンピュータプログラムプロダクトが情報担体に有形に含まれ得る。また、このコンピュータプログラムプロダクトも命令を含み得る。当該命令は、実行されると、上述した方法など、1つ以上の方法を実行する。情報担体は、メモリ720、記憶装置706、もしくはプロセッサ702上のメモリなど、コンピュータ読み取り可能な媒体または機械読み取り可能な媒体である。
【0093】
高速コントローラ708は、コンピューティングデバイス700のための多くの帯域幅を必要とする動作を管理し、低速コントローラ712は、より低い帯域幅の多くを必要とする動作を管理する。このような機能の割振りは、例示に過ぎない。一実施態様では、高速コントローラ708は、メモリ704、(たとえば、グラフィックスプロセッサまたはアクセラレータを通じて)ディスプレイ716、および高速拡張ポート710に連結される。高速拡張ポート710は、様々な拡張カード(図示せず)を受け付け得る。この実施態様では、低速コントローラ712は、記憶装置706および低速拡張ポート714に連結される。様々な通信ポート(たとえば、USB、Bluetooth(登録商標)、Ethernet(登録商標)、無線Ethernet(登録商標))を含み得る低速拡張ポートは、キーボード、ポインティングデバイス、スキャナなどの1つ以上の入出力装置、または、スイッチもしくはルーターなどのネットワーク装置に、たとえばネットワークアダプタを通じて連結され得る。
【0094】
コンピューティングデバイス700は、図に示すような複数の異なる形態で実現されてもよい。たとえば、標準サーバ720として実現されてもよく、このようなサーバ群で複数回実現されてもよい。また、ラックサーバシステム724の一部として実現されてもよい。これに加えて、ラップトップコンピュータ722など、パーソナルコンピュータで実現されてもよい。これに代えて、コンピューティングデバイス700の構成要素を、デバイス750など、モバイル機器(図示せず)が備えるその他の構成要素と組み合わせてもよい。このようなデバイスの各々は、コンピューティングデバイス700、750のうちの1つ以上を含み得、システム全体が、互いに通信する複数のコンピューティングデバイス700、750から構成され得る。
【0095】
コンピューティングデバイス750は、特に、プロセッサ752と、メモリ764と、ディスプレイ754などの入出力装置と、通信インタフェース766と、送受信器768とを備える。マイクロドライブまたはその他の装置など、記憶装置がデバイス750に設けられて、追加ストレージを提供してもよい。構成要素750、752、764、754、766、および768の各々は、様々なバスを用いて互いに接続されており、これらの構成要素のうちの一部は、共通のマザーボード上に実装さ得、またはその他の方法で適宜実装され得る。
【0096】
プロセッサ752は、メモリ764に記憶された命令を含む命令をコンピューティングデバイス750内で実行できる。プロセッサは、別個の複数のアナログプロセッサおよびデジタルプロセッサを含むチップのチップセットとして実現されてもよい。プロセッサによって、たとえば、ユーザーインタフェースの制御、デバイス750が実行するアプリケーションの制御、およびデバイス750による無線通信の制御など、デバイス750のその他の構成要素間の協調が可能になってもよい。
【0097】
プロセッサ752は、ディスプレイ754に連結された制御インタフェース758および表示インタフェース556を通じてユーザと通信し得る。ディスプレイ754は、たとえば、TFT LCD(薄膜トランジスタ液晶ディスプレイ)もしくはOLED(有機発光ダイオード)ディスプレイ、またはその他の適切なディスプレイ技術であり得る。表示インタフェース756は、ディスプレイ754を駆動するための適切な回路を備えて、グラフィック情報およびその他の情報をユーザに提示し得る。制御インタフェース758は、ユーザからコマンドを受信し、プロセッサ752に実行を依頼するために当該コマンドを変換し得る。これに加えて、デバイス750がその他のデバイスと近距離通信できるよう、プロセッサ752と通信する外部インタフェース762が設けられてもよい。外部インタフェース762によって、いくつかの実施態様では、たとえば有線通信、その他の実施態様では、無線通信が可能になり得、また、複数のインタフェースが利用され得る。
【0098】
メモリ764は、コンピューティングデバイス750内の情報を記憶する。メモリ764は、1つまたは複数のコンピュータ読み取り可能な媒体、1つまたは複数の揮発性記憶装置、または、1つまたは複数の不揮発性記憶装置、のうちの1つ以上として実現され得る。また、拡張インタフェース772を通してデバイス750に拡張メモリ774が提供および接続され得る。拡張インタフェース772は、たとえば、SIMM(Single In Line Memory Module)カードインタフェースを含み得る。このような拡張メモリ774は、デバイス750のための追加の記憶空間を提供し得、または、デバイス750のためのアプリケーションまたはその他の情報も記憶し得る。具体的には、拡張メモリ774は、上述した処理を遂行または補助するための命令を含み得、セキュリティ保護された情報も含み得る。よって、たとえば、デバイス750のためのセキュリティモジュールとして拡張メモリ774が提供され得、または、デバイス750のセキュリティ保護された使用を可能にする命令が拡張メモリ774にプログラムされ得る。これに加えて、ハッキングできない方法でSIMMカード上に識別情報を置くなど、セキュリティ保護されたアプリケーションがSIMMカードを介して追加情報とともに提供され得る。
【0099】
メモリは、たとえば、後述するフラッシュメモリおよび/またはNVRAMメモリを含み得る。一実施態様では、情報担体にコンピュータプログラムプロダクトが有形に含まれる。このコンピュータプログラムプロダクトは、命令を含む。当該命令は、実行されると、上述した方法など、1つ以上の方法を実行する。情報担体は、メモリ764、拡張メモリ774、またはプロセッサ752上のメモリなど、コンピュータ読み取り可能な媒体または機械読み取り可能な媒体であり、たとえば、送受信器568または外部インタフェース762を介して受信され得る。
【0100】
デバイス750は、通信インタフェース766を通して無線通信を行い得る。通信インタフェース766は、必要であれば、デジタル信号処理回路を備え得る。通信インタフェース766によって、とくに、GSM(登録商標)音声通話、SMS、EMS、もしくはMMSメッセージング、CDMA、TDMA、PDC、WCDMA(登録商標)、CDMA2000、またはGPRSなど、様々なモードまたはプロトコル下の通信が可能になり得る。このような通信は、たとえば、高周波送受信器768を通して生じ得る。これに加えて、Bluetooth(登録商標)、Wi-Fi(登録商標)、またはその他のこのような送受信器(図示せず)を用いるなどして、近距離通信が生じてもよい。これに加えて、GPS(Global Positioning System)受信機モジュール770は、追加のナビゲーション関係または位置関係の無線データをデバイス750に提供し得る。追加のナビゲーション関係または位置関係の無線データは、デバイス750上で実行するアプリケーションによって適宜利用され得る。
【0101】
また、デバイス750は、オーディオコーデック760を用いて、音声による通信を行い得る。オーディオコーデック760は、ユーザから音声情報を受け付け、使用可能なデジタル情報に変換し得る。同様に、オーディオコーデック760は、たとえば、デバイス750のハンドセットにおいて、スピーカーを通してなど、ユーザのために音を生成し得る。このような音は、音声電話通話からの音声を含んでもよく、録音音声(たとえば、音声メッセージ、音楽ファイルなど)を含み得、デバイス750上で動作するアプリケーションによって生成された音も含み得る。
【0102】
コンピューティングデバイス750は、図示したような複数の異なる形態で実現され得る。たとえば、携帯電話780として実現され得る。また、スマートフォン782、携帯情報端末、または他の同様のモバイル機器の一部として実現され得る。
【0103】
全体的な態様では、デバイス、システム、(コンピュータシステムによって実行され得る、コンピュータにより実行可能なプログラムコードを記憶した)非一時的なコンピュータ読み取り可能な媒体、および/または方法は、方法を用いて処理を実行できる。この方法は、少なくとも1つの映像フレームを含んだ受信ビデオストリームに基づいてキーフレームおよびインター予測フレームのうち少なくとも一方を生成することを含み、インター予測フレームは、キーフレームからの情報を用いて生成され、キーフレームが受信側デバイスに記憶されているかどうかを判断することと、キーフレームが受信側デバイスに記憶されているかどうかに基づいて、キーフレームまたはキーフレームを表すキーフレーム識別子のうち一方として映像データを選択することと、映像データおよびインター予測フレームのうち少なくとも一方を伝送することとをさらに含む。
【0104】
全体的な態様では、ストリーミングデバイスは、キーフレームが受信側デバイスに記憶されているかどうかを判断するように構成されたコントローラと、キーフレームが受信側デバイスに記憶されているかどうかに基づいて、キーフレームまたはキーフレームを表すキーフレーム識別子のうち一方として映像データを選択するように構成された選択回路と、映像データおよびインター予測フレームのうち少なくとも一方を伝送するように構成された送信部とを備える。
【0105】
全体的な態様では、エンコーダは、少なくとも1つのフレームを含んだ受信ビデオストリームに基づいてキーフレームおよびインター予測フレームのうち少なくとも一方を生成するように構成された圧縮フレーム生成部を備え、インター予測フレームは、キーフレームからの情報を用いて生成され、キーフレームが受信側デバイスに記憶されているかどうかを判断するように構成されたコントローラと、キーフレームが受信側デバイスに記憶されているかどうかに基づいて、キーフレームまたはキーフレームを表すキーフレーム識別子のうち一方として映像データを選択するように構成された選択回路と、映像データおよびインター予測フレームのうち少なくとも一方を伝送するように構成された送信部とをさらに備える。
【0106】
実施態様は、次の特徴のうち、1つ以上を含み得る。たとえば、インター予測フレームは、順方向予測フレームまたは双方向予測フレームのうち一方であり得る。方法は、少なくとも1つのキーフレームに関連する情報を記憶することをさらに含み得る。キーフレームが受信側デバイスに記憶されているかどうかを判断することは、入力映像がキーフレーム識別子を含んでいると判断することを含む。キーフレームが受信側デバイスに記憶されているかどうかを判断することは、キーフレームがユーザーインタフェースのグラフィカル要素であると判断することを含み、キーフレーム識別子は、ユーザーインタフェースのグラフィカル要素に対応付けられる。キーフレームが受信側デバイスに記憶されているかどうかを判断することは、キーフレームに関連する少なくとも1つの画素色を比較することを含み得、キーフレームが受信側デバイスに記憶されていると判断することのうち1つは、少なくとも1つの画素色を比較することに基づく平均二乗誤差計算、または色差基準に基づく。キーフレームが受信側デバイスに記憶されているかどうかを判断することは、キーフレームに基づいてヒストグラムを生成し、生成されたヒストグラムを、記憶されているヒストグラムと比較することを含み得る。
【0107】
キーフレームが受信側デバイスに記憶されているかどうかを判断することは、キーフレームに基づいてシグネチャを生成し、生成されたシグネチャを、記憶されているシグネチャと比較することを含み得る。キーフレームが受信側デバイスに記憶されているかどうかを判断することは、訓練済みの機械学習モデルを利用して、キーフレームに基づいて少なくとも1つのオブジェクト分類およびオブジェクトの位置を生成することと、少なくとも1つのオブジェクト分類およびオブジェクトの位置を、受信側デバイスに記憶されているキーフレームに関連する、記憶されているオブジェクト分類およびオブジェクトの位置と比較することとを含み得る。キーフレームが受信側デバイスに記憶されていない場合、方法は、キーフレームに対応するキーフレーム識別子を生成し、キーフレームおよびキーフレーム識別子を受信側デバイスまで伝送させることをさらに含み得る。
【0108】
ストリーミングデバイスは、少なくとも1つのフレームを含んだビデオストリームを受信し得、少なくとも1つのフレームに基づいてキーフレームおよびインター予測フレームのうち少なくとも一方を生成するように構成されたエンコーダをさらに備え得、インター予測フレームは、キーフレームからの情報を用いて生成される。ストリーミングデバイスは、少なくとも1つのキーフレームに関連する情報を記憶するように構成されたメモリをさらに備え得る。
【0109】
全体的な態様では、デバイス、システム、(コンピュータシステムによって実行され得る、コンピュータにより実行可能なプログラムコードを記憶した)非一時的なコンピュータ読み取り可能な媒体、および/または方法は、方法を用いて処理を実行できる。この方法は、映像データおよびインター予測フレームのうち少なくとも一方を含んだビデオストリームを受信することを含み、映像データは、キーフレームおよびキーフレームを表すキーフレーム識別子のうち少なくとも一方であり、映像データに基づいて、キーフレームまたは記憶されているキーフレームのうち一方を選択することと、キーフレーム、記憶されているキーフレーム、およびインター予測フレームのうち少なくとも1つに基づいて、再生装置のディスプレイ上に表示するための映像のフレームを生成することとをさらに含む。
【0110】
全体的な態様では、再生装置は、映像データおよびインター予測フレームのうち少なくとも一方を含んだビデオストリームを受信するように構成された受信部を備え、映像データは、キーフレームおよびキーフレームを表すキーフレーム識別子のうち少なくとも一方であり、映像データに基づいて、キーフレームまたは記憶されているキーフレームのうち一方を選択するように構成された選択回路をさらに備える。
【0111】
全体的な態様では、再生装置は、映像データおよびインター予測フレームのうち少なくとも一方を含んだビデオストリームを受信するように構成された受信部を備え、映像データは、キーフレームおよびキーフレームを表すキーフレーム識別子のうち少なくとも一方であり、再生装置は、さらに、デコーダを備え、デコーダは、映像データに基づいて、キーフレームまたは記憶されているキーフレームのうち一方を選択するように構成された選択回路と、キーフレーム、記憶されているキーフレーム、およびインター予測フレームのうち少なくとも1つに基づいて、再生装置のディスプレイ上に表示するための映像のフレームを生成するように構成された復元モジュールとを含む。
【0112】
実施態様は、次の特徴のうち、1つ以上の特徴を含み得る。たとえば、方法は、記憶されているキーフレームを、少なくとも1つの記憶されているキーフレームを含んだライブラリから選択することをさらに含み得る。方法は、映像データがキーフレームおよびキーフレーム識別子を含むかどうかを判断することと、映像データがキーフレームおよびキーフレーム識別子を含むと判断したことに応答して、キーフレームをキーフレーム識別子に関連付けてキーフレームライブラリに記憶することとをさらに含み得る。方法は、映像データがキーフレーム識別子なしでキーフレームを含むかどうかを判断することと、映像データがキーフレーム識別子なしでキーフレームを含むと判断したことに応答して、キーフレーム識別子を生成することと、キーフレームをキーフレーム識別子に関連付けてキーフレームライブラリに記憶することとをさらに含み得る。
【0113】
方法は、映像データがキーフレームなしでキーフレーム識別子を含むかどうかを判断することと、映像データがキーフレーム識別子なしでキーフレームを含むと判断したことに応答して、キーフレーム識別子に基づいてキーフレームライブラリからキーフレームを読み出すこととをさらに含み得る。方法は、映像データがキーフレーム識別子またはキーフレームのうち一方を含むかどうかを判断することと、映像データがキーフレームなしでキーフレーム識別子を含むと判断したことに応答して、キーフレーム識別子に基づいてキーフレームライブラリからキーフレームを読み出すことと、キーフレームライブラリから読み出されたキーフレームを選択させることと、映像データがキーフレーム識別子なしでキーフレームを含むと判断したことに応答して、映像データに含まれているキーフレームを選択させることとをさらに含み得る。
【0114】
再生装置は、キーフレーム、記憶されているキーフレーム、およびインター予測フレームのうち少なくとも1つに基づいて、再生装置のディスプレイ上に表示するための映像のフレームを生成するように構成されたデコーダをさらに備え得る。再生装置は、映像データに基づいてキーフレームまたは記憶されているキーフレームのうち少なくとも一方を選択回路に選択させるように構成されたコントローラと、少なくとも1つの記憶されているキーフレームを含んだライブラリとをさらに備え得る。
【0115】
全体的な態様では、デバイス、システム、(コンピュータシステムによって実行され得る、コンピュータにより実行可能なプログラムコードを記憶した)非一時的なコンピュータ読み取り可能な媒体、および/または方法は、方法を用いて処理を実行できる。この方法は、少なくとも1つの映像フレームを含んだ受信ビデオストリームに基づいてキーフレームおよびインター予測フレームのうち少なくとも一方を生成することを含み、インター予測フレームは、キーフレームからの情報を用いて生成され、キーフレームが受信側デバイスに記憶されているかどうかを判断することと、キーフレームが受信側デバイスに記憶されているかどうかに基づいて、キーフレームまたはキーフレームを表すキーフレーム識別子のうち一方として映像データを選択することと、映像データおよびインター予測フレームのうち少なくとも一方を伝送することと、映像データおよびインター予測フレームのうち少なくとも一方を含んだビデオストリームを受信することと、映像データに基づいて、キーフレームまたは記憶されているキーフレームのうち一方を選択することと、キーフレーム、記憶されているキーフレーム、およびインター予測フレームのうち少なくとも1つに基づいて、再生装置のディスプレイ上に表示するための映像のフレームを生成することとをさらに含む。
【0116】
例示的な実施の形態は、様々な変形例および別の形式を含み得るが、それらの実施の形態は、添付の図面おいて一例として示されており、本明細書において詳細に説明されている。しかしながら、例示的な実施の形態を開示された特定の形式に限定する意図はなく、例示的な実施の形態は、むしろ、クレームの範囲に含まれるすべての変形例、均等物、および代替物を含むことを理解されたい。図面の説明を通して、同様の要素には同様の番号を付す。
【0117】
本明細書において説明したシステムおよび技術の様々な実施態様は、デジタル電子回路、集積回路、専用に設計されたASIC(特定用途向け集積回路)、コンピュータハードウェア、ファームウェア、ソフトウェア、および/またはそれらの組合せで実現することができる。これらの様々な実施態様は、少なくとも1つのプログラム可能なプロセッサを備えるプログラム可能なシステム上で実行可能および/または解釈可能な1つ以上のコンピュータプログラムでの実装を含み得る。当該少なくとも1つのプログラム可能なプロセッサは、特定用途プロセッサであってもよく、汎用プロセッサであってもよく、ストレージシステム、少なくとも1つの入力装置、および少なくとも1つの出力装置に連結されてそれらとデータおよび命令を送受信してもよい。本明細書に記載のシステムおよび技術の様々な実施態様は、ソフトウェアの側面とハードウェアの側面とを合わせた回路、モジュール、ブロック、またはシステムとして実現および/または一般に称され得る。たとえば、モジュールは、機能/行為/プロセッサ(たとえば、シリコン基板、GaAs基板などの上に形成されたプロセッサ)またはその他のプログラマブルデータプロセッサ上で実行されているコンピュータプログラム命令を含み得る。
【0118】
例示的な実施の形態のうち一部を、フローチャートで示したプロセスまたは方法として説明した。フローチャートでは、動作を逐次プロセスとして説明したが、動作の多くは、並列、同時、または一斉に実行できる。これに加えて、動作の順序を並び替えることができる。プロセスは、その動作が完了したときに終了させることができるが、図面に含まれていないさらなるステップを含んでもよい。これらのプロセスは、方法、関数、プロシージャ、サブルーチン、サブプログラムなどに対応し得る。
【0119】
フローチャートによって一部が図示されている上述した方法は、ハードウェア、ソフトウェア、ファームウェア、ミドルウェア、マイクロコード、ハードウェア記述言語、またはそれらの任意の組合せによって実現できる。ソフトウェア、ファームウェア、ミドルウェア、またはマイクロコードで実現された場合、必要なタスクを実行するためのプログラムコードまたはコードセグメントが、マシンまたは記憶媒体などのコンピュータ読み取り可能な媒体に記憶され得る。プロセッサ(複数可)が当該必要なタスクを実行し得る。
【0120】
本明細書において説明した特定の構造および機能の詳細は、例示的な実施の形態を説明する目的のための典型例に過ぎない。しかしながら、これらの例示的な実施の形態は、多くの代替形態で具現化されてもよく、本明細書に記載の実施の形態にのみ限定されると解釈されるべきではない。
【0121】
様々な要素を説明するために、第1、第2という用語などが本明細書において使用されている場合があるが、要素は、これらの用語によって限定されるべきではないと理解されるだろう。これらの用語は、1つの要素を別の要素と区別するために使用されているに過ぎない。たとえば、例示的な実施の形態の範囲から逸脱することなく、第1要素を第2要素と称することができ、同様に、第2要素を第1要素と称することができる。本明細書において使用するとき、および/またはという用語は、記載された関連する項目のうちの1つ以上の項目のいかなる組合せも含む。
【0122】
ある要素が別の要素に接続または連結されると称される場合、当該要素は、当該別の要素に直接接続もしくは連結され得、または、中間要素が存在し得る、と理解されるであろう。対照的に、ある要素が別の要素に直接接続または連結されると称される場合、中間要素は存在しない。要素間の関係を説明するために用いられるその他の単語も同様に解釈されるべきである(たとえば、間にと間に直接との関係、隣接すると直接隣接するとの関係など)。
【0123】
本明細書において使用される用語は、特定の実施の形態を説明するためだけのものであり、例示的な実施の形態の範囲を限定することを意図していない。本明細書において使用するとき、a、an、およびtheという単数形は、文脈が明らかにそうでないと示されていない限り、複数形も含むことを意図する。本明細書において使用されるとき、comprises(備える/含む)、comprising(備える/含む)という用語は、and/or including(および/または含む)を含み、記載の特徴、整数、ステップ、動作、要素、ならびに/または構成要素の存在を具体的に挙げるが、1つ以上のその他の特徴、整数、ステップ、動作、要素、構成要素、および/もしくはそれらの群の存在もしくは追加を排除しないと理解されるだろう。
【0124】
また、いくつかの別の実施態様では、説明した機能/行為は、図面に記した順序ではない順序で生じ得ることを留意されたい。たとえば、連続して示された2つの図面は、含まれる機能/行為によっては、実際には、同時に実行されてもよく、または、逆の順序で実行される場合があってもよい。
【0125】
特に定義されていない限り、本明細書において用いられるすべての用語(技術用語および科学用語を含む)は、例示的な実施の形態が属する技術分野の当業者が共通して理解する同じ意味を持つ。たとえば、一般的に使用される辞書で定義されているような用語は、関連技術の文脈における意味と矛盾しない意味があると解釈されるべきであり、本明細書において明示的に定義されない限り、理想化したり大げさに形式ばった意味で解釈されたりすることはないことをさらに理解されたい。
【0126】
上記の例示的な実施の形態および対応する詳細な説明うちのいくつかの部分は、コンピュータメモリ内のデータビットに対する操作のソフトウェア、またはアルゴリズム、およびシンボル表現の観点から提示されている。これらの説明および表現は、当業者が彼らの仕事内容を他の当業者に最も効果的に伝えるために使われる説明および表現である。アルゴリズムは、本明細書において用語が使われた場合、および一般に使われる場合、所望の結果に導く自己矛盾のないステップのシーケンスであると考えられる。当該ステップは、物理量の物理的な操作を必要とするステップである。通常、必須ではないが、これらの量は、記憶、転送、結合、比較、その他操作が行える光信号、電気信号、または磁気信号の形をとる。時には、主に一般的な使用上の理由から、これらの信号を、ビット、値、要素、シンボル、文字、用語、数字などと呼ぶことが好都合であることは明らかである。
【0127】
上記例示的な実施の形態では、プログラムモジュールまたは機能的処理として実装され得る動作(たとえば、フローチャートの形式の)の行為およびシンボル表現についての言及は、特定のタスクを実行するまたは特定の抽象データ型を実装するルーチン、プログラム、オブジェクト、コンポーネント、データ構造などを含み、既存の構造要素において既存のハードウェアを用いて説明および/または実装され得る。このような既存のハードウェアは、1つ以上のCPU(中央処理装置)、DSP(デジタル信号プロセッサ)、特定用途向け集積回路、FPGA(フィールドプログラマブルゲートアレイ)コンピュータなどを含み得る。
【0128】
しかしながら、これらのおよび同様の用語のすべては、適切な物理量に対応付けられており、これらの量に付された便利な名称に過ぎないことを留意されたい。特に具体的に明示しない限り、または説明から明らかであるように、「processing(処理する)」、「computing(演算する)」、「calculating(算出する)」、「determining(決定/判断する)」、または「displaying(表示する)」などの用語は、コンピュータシステムのレジスタおよびメモリ内の、物理電子量で表されるデータを操作して、コンピュータシステムメモリ、レジスタ、またはその他のこのような情報記憶装置、送信装置もしくは表示装置内の物理量として同様に表されるその他のデータに変換するコンピュータシステムまたは同様の電子コンピューティングデバイスのアクションおよび処理を指す。
【0129】
また、ソフトウェアによって実現される例示的な実施の形態の態様は、通常、なんらかの形式の非一時的なプログラム記憶媒体上で符号化される、またはなんらかの種類の伝送媒体上で実施されることを留意されたい。プログラム記憶媒体は、磁気媒体(たとえば、フロッピーディスクまたはハードドライブ)または光媒体(たとえば、コンパクトディスク読み出し専用メモリ、またはCD ROM)であり得、読み出し専用媒体またはランダムアクセス媒体であり得る。同様に、伝送媒体は、ツイストペア電線、同軸ケーブル、光ファイバー、または、当技術分野で知られているその他の適した伝送媒体であり得る。例示的な実施の形態は、いずれの実施態様のこれらの態様によって限定されない。
【0130】
また、最後に、添付のクレームでは、本明細書に記載の特徴の特定の組合せが記載されているが、本開示の範囲は、以下にクレームする当該特定の組合せに限定されず、むしろ、今回添付のクレームに特定の組合せが具体的には列挙されているかどうかに関わらず、本明細書に開示の特徴または実施の形態の任意の組合せにも及ぶことを留意されたい。
【手続補正書】
【提出日】2024-01-09
【手続補正1】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項1】
キーフレームが受信側デバイスに記憶されているかどうかを判断するように構成されたコントローラと、
前記キーフレームが前記受信側デバイスに記憶されているかどうかに基づいて、前記キーフレームまたは前記キーフレームを表すキーフレーム識別子のうち一方として映像データを選択するように構成された選択回路と、
前記映像データおよびインター予測フレームのうち少なくとも一方を伝送するように構成された送信部とを備える、ストリーミングデバイス。
【請求項2】
少なくとも1つのフレームを含んだビデオストリームを受信することと、
前記少なくとも1つのフレームに基づいて前記キーフレームおよび前記インター予測フレームのうち少なくとも一方を生成するように構成されたエンコーダとをさらに備え、前記インター予測フレームは、前記キーフレームからの情報を用いて生成される、請求項1に記載のストリーミングデバイス。
【請求項3】
前記インター予測フレームは、順方向予測フレームまたは双方向予測フレームのうち一方である、請求項1または2に記載のストリーミングデバイス。
【請求項4】
少なくとも1つのキーフレームに関連する情報を記憶するように構成されたメモリをさらに備える、請求項1~3のいずれか1項に記載のストリーミングデバイス。
【請求項5】
前記キーフレームが前記受信側デバイスに記憶されているかどうかを判断することは、前記エンコーダに入力される映像が前記キーフレーム識別子を含んでいると判断することを含む、請求項
2記載のストリーミングデバイス。
【請求項6】
前記キーフレームが前記受信側デバイスに記憶されているかどうかを判断することは、
前記キーフレームがユーザーインタフェースのグラフィカル要素であると判断することを含み、
前記キーフレーム識別子は、前記ユーザーインタフェースの前記グラフィカル要素に対応付けられる、請求項1~4のいずれか1項に記載のストリーミングデバイス。
【請求項7】
前記キーフレームが前記受信側デバイスに記憶されているかどうかを判断することは、前記キーフレームに関連する少なくとも1つの画素色を比較することを含み、前記受信側デバイスに前記キーフレームが記憶されていると判断することのうち1つは、前記少なくとも1つの画素色を比較することに基づく平均二乗誤差計算、または色差基準に基づく、請求項1~4のいずれか1項に記載のストリーミングデバイス。
【請求項8】
前記キーフレームが前記受信側デバイスに記憶されているかどうかを判断することは、前記キーフレームに基づいてヒストグラムを生成し、生成された前記ヒストグラムを、記憶されているヒストグラムと比較することを含む、請求項1~4のいずれか1項に記載のストリーミングデバイス。
【請求項9】
前記キーフレームが前記受信側デバイスに記憶されているかどうかを判断することは、前記キーフレームに基づいてシグネチャを生成し、生成された前記シグネチャを、記憶されているシグネチャと比較することを含む、請求項1~4のいずれか1項に記載のストリーミングデバイス。
【請求項10】
前記キーフレームが前記受信側デバイスに記憶されているかどうかを判断することは、
訓練済みの機械学習モデルを利用して、前記キーフレームに基づいて少なくとも1つのオブジェクト分類およびオブジェクトの位置を生成することと、
前記少なくとも1つのオブジェクト分類およびオブジェクトの位置を、前記受信側デバイスに記憶されているキーフレームに関連する、記憶されているオブジェクト分類およびオブジェクトの位置と比較することとを含む、請求項1~4のいずれか1項に記載のストリーミングデバイス。
【請求項11】
前記キーフレームが前記受信側デバイスに記憶されていない場合、前記コントローラは、前記キーフレームに対応する前記キーフレーム識別子を生成し、前記キーフレームおよび前記キーフレーム識別子を前記受信側デバイスまで伝送させるようにさらに構成される、請求項1~4のいずれか1項に記載のストリーミングデバイス。
【請求項12】
エンコーダであって、
少なくとも1つのフレームを含んだ受信ビデオストリームに基づいてキーフレームおよびインター予測フレームのうち少なくとも一方を生成するように構成された圧縮フレーム生成部を備え、前記インター予測フレームは、前記キーフレームからの情報を用いて生成され、
前記エンコーダは、
前記キーフレームが受信側デバイスに記憶されているかどうかを判断するように構成されたコントローラと、
前記キーフレームが前記受信側デバイスに記憶されているかどうかに基づいて、前記キーフレームまたは前記キーフレームを表すキーフレーム識別子のうち一方として映像データを選択するように構成された選択回路と、
前記映像データおよび前記インター予測フレームのうち少なくとも一方を伝送するように構成された送信部とをさらに備える、エンコーダ。
【請求項13】
前記インター予測フレームは、順方向予測フレームまたは双方向予測フレームのうち一方である、請求項12に記載のエンコーダ。
【請求項14】
少なくとも1つのキーフレームに関連する情報を記憶するように構成されたメモリをさらに備える、請求項12または13に記載のエンコーダ。
【請求項15】
前記キーフレームが前記受信側デバイスに記憶されているかどうかを判断することは、前記エンコーダに入力される映像が前記キーフレーム識別子を含んでいると判断することを含む、請求項12~14のいずれか1項に記載のエンコーダ。
【請求項16】
前記キーフレームが前記受信側デバイスに記憶されているかどうかを判断することは、
前記キーフレームがユーザーインタフェースのグラフィカル要素であると判断することを含み、
前記キーフレーム識別子は、前記ユーザーインタフェースの前記グラフィカル要素に対応付けられる、請求項12~14のいずれか1項に記載のエンコーダ。
【請求項17】
前記キーフレームが前記受信側デバイスに記憶されているかどうかを判断することは、前記キーフレームに関連する少なくとも1つの画素色を比較することを含み、前記受信側デバイスに前記キーフレームが記憶されていると判断することのうち1つは、前記少なくとも1つの画素色を比較することに基づく平均二乗誤差計算、または色差基準に基づく、請求項12~14のいずれか1項に記載のエンコーダ。
【請求項18】
前記キーフレームが前記受信側デバイスに記憶されているかどうかを判断することは、前記キーフレームに基づいてヒストグラムを生成し、生成された前記ヒストグラムを、記憶されているヒストグラムと比較することを含む、請求項12~14のいずれか1項に記載のエンコーダ。
【請求項19】
前記キーフレームが前記受信側デバイスに記憶されているかどうかを判断することは、前記キーフレームに基づいてシグネチャを生成し、生成された前記シグネチャを、記憶されているシグネチャと比較することを含む、請求項12~14のいずれか1項に記載のエンコーダ。
【請求項20】
前記キーフレームが前記受信側デバイスに記憶されているかどうかを判断することは、
訓練済みの機械学習モデルを利用して、前記キーフレームに基づいて少なくとも1つのオブジェクト分類およびオブジェクトの位置を生成することと、
前記少なくとも1つのオブジェクト分類およびオブジェクトの位置を、前記受信側デバイスに記憶されているキーフレームに関連する、記憶されているオブジェクト分類およびオブジェクトの位置と比較することとを含む、請求項12~14のいずれか1項に記載のエンコーダ。
【請求項21】
前記受信側デバイスに前記キーフレームが記憶されていない場合、前記コントローラは、前記キーフレームに対応する前記キーフレーム識別子を生成し、前記キーフレームおよび前記キーフレーム識別子を前記受信側デバイスまで伝送させるようにさらに構成される、請求項12~14のいずれか1項に記載のエンコーダ。
【請求項22】
方法であって、
少なくとも1つの映像フレームを含んだ受信ビデオストリームに基づいてキーフレームおよびインター予測フレームのうち少なくとも一方を生成することを含み、前記インター予測フレームは、前記キーフレームからの情報を用いて生成され、
前記方法は、
前記キーフレームが受信側デバイスに記憶されているかどうかを判断することと、
前記キーフレームが前記受信側デバイスに記憶されているかどうかに基づいて、前記キーフレームまたは前記キーフレームを表すキーフレーム識別子のうち一方として映像データを選択することと、
前記映像データおよび前記インター予測フレームのうち少なくとも一方を伝送することとをさらに含む、方法。
【請求項23】
前記インター予測フレームは、順方向予測フレームまたは双方向予測フレームのうち一方である、請求項22に記載の方法。
【請求項24】
少なくとも1つのキーフレームに関連する情報を記憶することをさらに含む、請求項22または23に記載の方法。
【請求項25】
前記キーフレームが前記受信側デバイスに記憶されているかどうかを判断することは、映像入力が前記キーフレーム識別子を含んでいると判断することを含む、請求項22~24のいずれか1項に記載の方法。
【請求項26】
前記キーフレームが前記受信側デバイスに記憶されているかどうかを判断することは、
前記キーフレームがユーザーインタフェースのグラフィカル要素であると判断することを含み、
前記キーフレーム識別子は、前記ユーザーインタフェースの前記グラフィカル要素に対応付けられる、請求項22~24のいずれか1項に記載の方法。
【請求項27】
前記キーフレームが前記受信側デバイスに記憶されているかどうかを判断することは、前記キーフレームに関連する少なくとも1つの画素色を比較することを含み、前記受信側デバイスに前記キーフレームが記憶されていると判断することのうち1つは、前記少なくとも1つの画素色を比較することに基づく平均二乗誤差計算、または色差基準に基づく、請求項22~24のいずれか1項に記載の方法。
【請求項28】
前記キーフレームが前記受信側デバイスに記憶されているかどうかを判断することは、前記キーフレームに基づいてヒストグラムを生成し、生成された前記ヒストグラムを、記憶されているヒストグラムと比較することを含む、請求項22~24のいずれか1項に記載の方法。
【請求項29】
前記キーフレームが前記受信側デバイスに記憶されているかどうかを判断することは、前記キーフレームに基づいてシグネチャを生成し、生成された前記シグネチャを、記憶されているシグネチャと比較することを含む、請求項22~24のいずれか1項に記載の方法。
【請求項30】
前記キーフレームが前記受信側デバイスに記憶されているかどうかを判断することは、
訓練済みの機械学習モデルを利用して、前記キーフレームに基づいて少なくとも1つのオブジェクト分類およびオブジェクトの位置を生成することと、
前記少なくとも1つのオブジェクト分類およびオブジェクトの位置を、前記受信側デバイスに記憶されているキーフレームに関連する、記憶されているオブジェクト分類およびオブジェクトの位置と比較することとを含む、請求項22~24のいずれか1項に記載の方法。
【請求項31】
前記受信側デバイスに前記キーフレームが記憶されていない場合、
前記キーフレームに対応する前記キーフレーム識別子を生成することと、
前記キーフレームおよび前記キーフレーム識別子を前記受信側デバイスまで伝送させることとを含む、請求項22~24のいずれか1項に記載の方法。
【請求項32】
少なくとも1つのプロセッサに請求項22~31のいずれか1項に記載の方法を実行させる
ための、
プログラム。
【請求項33】
請求項22~31のいずれか1項に記載の方法を実行するための手段を備える、装置。
【請求項34】
装置であって、
少なくとも1つのプロセッサと、
コンピュータプログラムコードを含んだ少なくとも1つのメモリとを備え、
前記少なくとも1つのメモリおよび前記コンピュータプログラムコードは、前記少なくとも1つのプロセッサを用いて、請求項22~31のいずれか1項に記載の方法を前記装置に少なくとも実行させるように構成される、装置。
【請求項35】
再生装置であって、
映像データおよびインター予測フレームのうち少なくとも一方を含んだビデオストリームを受信するように構成された受信部を備え、前記映像データは、キーフレームおよび前記キーフレームを表すキーフレーム識別子のうち少なくとも一方であり、
前記再生装置は、
前記映像データに基づいて、前記キーフレームまたは記憶されているキーフレームのうち一方を選択するように構成された選択回路をさらに備える、再生装置。
【請求項36】
前記キーフレーム、前記記憶されているキーフレーム、および前記インター予測フレームのうち少なくとも1つに基づいて、前記再生装置のディスプレイ上に表示するための映像のフレームを生成するように構成されたデコーダをさらに備える、請求項35に記載の再生装置。
【請求項37】
前記映像データに基づいて前記キーフレームまたは前記記憶されているキーフレームのうち少なくとも一方を前記選択回路に選択させるように構成されたコントローラと、
少なくとも1つの記憶されているキーフレームを含んだライブラリとをさらに備える、請求項35または36に記載の再生装置。
【請求項38】
前記コントローラは、
前記映像データが前記キーフレームおよび前記キーフレーム識別子を含むかどうかを判断し、
前記映像データが前記キーフレームおよび前記キーフレーム識別子を含むと判断したことに応答して、前記キーフレームを前記キーフレーム識別子に関連付けて前記ライブラリに記憶するようにさらに構成される、請求項37に記載の再生装置。
【請求項39】
前記コントローラは、
前記映像データが前記キーフレーム識別子なしで前記キーフレームを含むかどうかを判断し、
前記映像データが前記キーフレーム識別子なしで前記キーフレームを含むと判断したことに応答して、
前記キーフレーム識別子を生成し、
前記キーフレームを前記キーフレーム識別子に関連付けて前記ライブラリに記憶するようにさらに構成される、請求項37に記載の再生装置。
【請求項40】
前記コントローラは、
前記映像データが前記キーフレームなしで前記キーフレーム識別子を含むかどうかを判断し、
前記映像データが前記キーフレー
ムなしで前記キーフレーム
識別子を含むと判断したことに応答して、前記キーフレーム識別子に基づいて前記ライブラリから前記キーフレームを読み出すようにさらに構成される、請求項37に記載の再生装置。
【請求項41】
前記コントローラは、
前記映像データが前記キーフレーム識別子または前記キーフレームのうち一方を含むかどうかを判断し、
前記映像データが前記キーフレームなしで前記キーフレーム識別子を含むと判断したことに応答して、
前記キーフレーム識別子に基づいて前記ライブラリから前記キーフレームを読み出し、
前記ライブラリから読み出された前記キーフレームを前記選択回路に選択させ、
前記映像データが前記キーフレーム識別子なしで前記キーフレームを含むと判断したことに応答して、
前記映像データに含まれている前記キーフレームを前記選択回路に選択させるように構成される、請求項37に記載の再生装置。
【請求項42】
再生装置であって、
映像データおよびインター予測フレームのうち少なくとも一方を含んだビデオストリームを受信するように構成された受信部を備え、前記映像データは、キーフレームおよび前記キーフレームを表すキーフレーム識別子のうち少なくとも一方であり、前記再生装置は、さらに、
デコーダを備え、前記デコーダは、
前記映像データに基づいて、前記キーフレームまたは記憶されているキーフレームのうち一方を選択するように構成された選択回路と、
前記キーフレーム、前記記憶されているキーフレーム、および前記インター予測フレームのうち少なくとも1つに基づいて、前記再生装置のディスプレイ上に表示するための映像のフレームを生成するように構成された復元モジュールとを含む、再生装置。
【請求項43】
前記デコーダは、
前記映像データに基づいて前記キーフレームまたは前記記憶されているキーフレームのうち一方を前記選択回路に選択させるように構成されたコントローラと、
少なくとも1つの記憶されているキーフレームを含んだライブラリとをさらに含む、請求項42に記載の再生装置。
【請求項44】
前記コントローラは、
前記映像データが前記キーフレームおよび前記キーフレーム識別子を含むかどうかを判断し、
前記映像データが前記キーフレームおよび前記キーフレーム識別子を含むと判断したことに応答して、前記キーフレームを前記キーフレーム識別子に関連付けて前記ライブラリに記憶するようにさらに構成される、請求項43に記載の再生装置。
【請求項45】
前記コントローラは、
前記映像データが前記キーフレーム識別子なしで前記キーフレームを含むかどうかを判断し、
前記映像データが前記キーフレーム識別子なしで前記キーフレームを含むと判断したことに応答して、
前記キーフレーム識別子を生成し、
前記キーフレームを前記キーフレーム識別子に関連付けて前記ライブラリに記憶するようにさらに構成される、請求項43に記載の再生装置。
【請求項46】
前記コントローラは、
前記映像データが前記キーフレームなしで前記キーフレーム識別子を含むかどうかを判断し、
前記映像データが前記キーフレー
ムなしで前記キーフレーム
識別子を含むと判断したことに応答して、前記キーフレーム識別子に基づいて前記ライブラリから前記キーフレームを読み出すようにさらに構成される、請求項43に記載の再生装置。
【請求項47】
前記コントローラは、
前記映像データが前記キーフレーム識別子または前記キーフレームのうち一方を含むかどうかを判断し、
前記映像データが前記キーフレームなしで前記キーフレーム識別子を含むと判断したことに応答して、
前記キーフレーム識別子に基づいて前記ライブラリから前記キーフレームを読み出し、
前記ライブラリから読み出された前記キーフレームを前記選択回路に選択させ、
前記映像データが前記キーフレーム識別子なしで前記キーフレームを含むと判断したことに応答して、
前記映像データに含まれている前記キーフレームを前記選択回路に選択させるように構成される、請求項43に記載の再生装置。
【請求項48】
方法であって、
映像データおよびインター予測フレームのうち少なくとも一方を含んだビデオストリームを受信することを含み、前記映像データは、キーフレームおよび前記キーフレームを表すキーフレーム識別子のうち少なくとも一方であり、
前記映像データに基づいて、前記キーフレームまたは記憶されているキーフレームのうち一方を選択することと、
前記キーフレーム、前記記憶されているキーフレーム、および前記インター予測フレームのうち少なくとも1つに基づいて、再生装置のディスプレイ上に表示するための映像のフレームを生成することとをさらに含む、方法。
【請求項49】
前記記憶されているキーフレームを、少なくとも1つの記憶されているキーフレームを含んだライブラリから選択することをさらに含む、請求項48に記載の方法。
【請求項50】
前記映像データが前記キーフレームおよび前記キーフレーム識別子を含むかどうかを判断することと、
前記映像データが前記キーフレームおよび前記キーフレーム識別子を含むと判断したことに応答して、前記キーフレームを前記キーフレーム識別子に関連付けてキーフレームライブラリに記憶することとをさらに含む、請求項48または49に記載の方法。
【請求項51】
前記映像データが前記キーフレーム識別子なしで前記キーフレームを含むかどうかを判断することと、
前記映像データが前記キーフレーム識別子なしで前記キーフレームを含むと判断したことに応答して、
前記キーフレーム識別子を生成することと、
前記キーフレームを前記キーフレーム識別子に関連付けてキーフレームライブラリに記憶することとをさらに含む、請求項48~50のいずれか1項に記載の方法。
【請求項52】
前記映像データが前記キーフレームなしで前記キーフレーム識別子を含むかどうかを判断することと、
前記映像データが前記キーフレー
ムなしで前記キーフレーム
識別子を含むと判断したことに応答して、前記キーフレーム識別子に基づいてキーフレームライブラリから前記キーフレームを読み出すこととをさらに含む、請求項48~50のいずれか1項に記載の方法。
【請求項53】
前記映像データが前記キーフレーム識別子または前記キーフレームのうち一方を含むかどうかを判断することと、
前記映像データが前記キーフレームなしで前記キーフレーム識別子を含むと判断したことに応答して、
前記キーフレーム識別子に基づいてキーフレームライブラリから前記キーフレームを読み出すことと、
前記キーフレームライブラリから読み出された前記キーフレームを選択させることと、
前記映像データが前記キーフレーム識別子なしで前記キーフレームを含むと判断したことに応答して、
前記映像データに含まれている前記キーフレームを選択させることとをさらに含む、請求項48~50のいずれか1項に記載の方法。
【請求項54】
少なくとも1つのプロセッサに請求項48~53のいずれか1項に記載の方法を実行させる
ための、
プログラム。
【請求項55】
請求項48~53のいずれか1項に記載の方法を実行するための手段を備えた、装置。
【請求項56】
装置であって、
少なくとも1つのプロセッサと、
コンピュータプログラムコードを含んだ少なくとも1つのメモリとを備え、
前記少なくとも1つのメモリおよび前記コンピュータプログラムコードは、前記少なくとも1つのプロセッサを用いて、請求項48~53のいずれか1項に記載の方法を前記装置に少なくとも実行させる、装置。
【請求項57】
方法であって、
少なくとも1つの映像フレームを含んだ受信ビデオストリームに基づいてキーフレームおよびインター予測フレームのうち少なくとも一方を生成することを含み、前記インター予測フレームは、前記キーフレームからの情報を用いて生成され、
前記方法は、
前記キーフレームが受信側デバイスに記憶されているかどうかを判断することと、
前記キーフレームが前記受信側デバイスに記憶されているかどうかに基づいて、前記キーフレームまたは前記キーフレームを表すキーフレーム識別子のうち一方として映像データを選択することと、
前記映像データおよび前記インター予測フレームのうち少なくとも一方を伝送することと、
前記映像データおよび前記インター予測フレームのうち前記少なくとも一方を含んだ前記ビデオストリームを受信することと、
前記映像データに基づいて、前記キーフレームまたは記憶されているキーフレームのうち一方を選択することと、
前記キーフレーム、前記記憶されているキーフレーム、および前記インター予測フレームのうち少なくとも1つに基づいて、再生装置のディスプレイ上に表示するための映像のフレームを生成することとをさらに含む、方法。
【手続補正2】
【補正対象書類名】明細書
【補正対象項目名】0013
【補正方法】変更
【補正の内容】
【0013】
方法は、映像データがキーフレームなしでキーフレーム識別子を含むかどうかを判断することと、映像データがキーフレームなしでキーフレー識別子を含むと判断したことに応答して、キーフレーム識別子に基づいてキーフレームライブラリからキーフレームを読み出すこととをさらに含み得る。方法は、映像データがキーフレーム識別子またはキーフレームのうち一方を含むかどうかを判断することと、映像データがキーフレームなしでキーフレーム識別子を含むと判断したことに応答して、キーフレーム識別子に基づいてキーフレームライブラリからキーフレームを読み出すことと、キーフレームライブラリから読み出されたキーフレームを選択させることと、映像データがキーフレーム識別子なしでキーフレームを含むと判断したことに応答して、映像データに含まれているキーフレームを選択させることとをさらに含み得る。
【手続補正3】
【補正対象書類名】明細書
【補正対象項目名】0113
【補正方法】変更
【補正の内容】
【0113】
方法は、映像データがキーフレームなしでキーフレーム識別子を含むかどうかを判断することと、映像データがキーフレームなしでキーフレーム識別子を含むと判断したことに応答して、キーフレーム識別子に基づいてキーフレームライブラリからキーフレームを読み出すこととをさらに含み得る。方法は、映像データがキーフレーム識別子またはキーフレームのうち一方を含むかどうかを判断することと、映像データがキーフレームなしでキーフレーム識別子を含むと判断したことに応答して、キーフレーム識別子に基づいてキーフレームライブラリからキーフレームを読み出すことと、キーフレームライブラリから読み出されたキーフレームを選択させることと、映像データがキーフレーム識別子なしでキーフレームを含むと判断したことに応答して、映像データに含まれているキーフレームを選択させることとをさらに含み得る。
【国際調査報告】