(57)【特許請求の範囲】
【請求項１】
ビデオ復号化無線ディスプレイのためのコンピュータにより実施される方法であって、
リプレイフィルタロジックモジュールにより、未復号化パケットストリームから完全なフレームの少なくとも部分を識別するステップと、
ストレージメモリにより、格納されるべき蓄積されたビデオフレームがパケット損失なく完全である場合に、前記蓄積されたビデオフレームの少なくとも一部を過去の未復号化パケットとして格納するステップと、
前記リプレイフィルタロジックモジュールにより、前記未復号化パケットストリームから不完全な現在フレームの少なくとも部分を識別するステップと、
前記リプレイフィルタロジックモジュールにより、前記不完全なフレームの識別された部分を、前記不完全なフレームの識別された部分に対応する格納された過去の未復号化パケットで置き換えるステップと、
デコーダにより、前記の代替の格納された過去の未復号化パケットに少なくとも部分的に基づき、前記現在フレームを復号化するステップと、
を有する方法。
【請求項２】
受信した前記未復号化パケットストリームは、イントラ符号化フレームのみを含み、
前記受信した未復号化パケットストリームは、信頼できない送信媒体を介して受信され、
各フレームは、１又は複数のスライスを有する、
請求項１に記載の方法。
【請求項３】
前記完全なフレームの少なくとも部分は、パケット損失なしに予定通りに受信される完全なスライスを含む、請求項１に記載の方法。
【請求項４】
前記リプレイフィルタロジックモジュールにより、各パケットに関連付けられる１又は複数のシーケンス番号に少なくとも部分的に基づき、前記不完全な現在フレームからどのパケットが損失しているかを識別するステップと、
前記リプレイフィルタロジックモジュールにより、各パケットに関連付けられる前記シーケンス番号に少なくとも部分的に基づき、前記格納された過去の未復号化パケットからのどのパケットが、前記不完全な現在フレームからの損失パケットに対応するかを識別するステップと、
を更に有する請求項１に記載の方法。
【請求項５】
前記リプレイフィルタロジックモジュールにより、各パケットに関連付けられるシーケンス番号、選択されたパケットに関連付けられるタイムスタンプ、各パケットに関連付けられるフレーム番号、及び／又は各パケットに関連付けられるスライス番号、のうちの１又は複数に少なくとも部分的に基づき、前記不完全な現在フレームからどのパケットが損失しているかを識別するステップと、
前記リプレイフィルタロジックモジュールにより、各パケットに関連付けられる前記シーケンス番号、選択されたパケットに関連付けられる前記タイムスタンプ、各パケットに関連付けられる前記フレーム番号、及び／又は各パケットに関連付けられる前記スライス番号、のうちの１又は複数に少なくとも部分的に基づき、前記格納された過去の未復号化パケットからのどのパケットが、前記不完全な現在フレームからの損失パケットに対応するかを識別するステップと、
を更に有し、
前記不完全なフレームの識別された部分を格納された過去の未復号化パケットで置き換えるステップは、前記代替の過去の未復号化パケットを現在パケットとして偽装するために、前記代替の過去の未復号化パケットに関連付けられる前記タイムスタンプを再設定するステップを更に有する、
請求項１に記載の方法。
【請求項６】
受信した前記未復号化パケットストリームは、イントラ符号化フレームのみを含み、
受信した前記未復号化パケットストリームは、信頼できない送信媒体を介して受信され、
各パケットは１又は複数のスライスを有し、
前記完全なフレームの少なくとも部分は、パケット損失なく予定通りに受信される完全なスライスを含み、
前記リプレイフィルタロジックモジュールにより、各パケットに関連付けられるシーケンス番号、選択されたパケットに関連付けられるタイムスタンプ、各パケットに関連付けられるフレーム番号、及び／又は各パケットに関連付けられるスライス番号、のうちの１又は複数に少なくとも部分的に基づき、前記不完全な現在フレームからどのパケットが損失しているかを識別するステップと、
前記リプレイフィルタロジックモジュールにより、各パケットに関連付けられる前記シーケンス番号、選択されたパケットに関連付けられる前記タイムスタンプ、各パケットに関連付けられる前記フレーム番号、及び／又は各パケットに関連付けられる前記スライス番号、のうちの１又は複数に少なくとも部分的に基づき、前記格納された過去の未復号化パケットからのどのパケットが、前記不完全な現在フレームからの損失パケットに対応するかを識別するステップと、
を更に有し、
前記不完全なフレームの識別された部分を格納された過去の未復号化パケットで置き換えるステップは、前記代替の過去の未復号化パケットを現在パケットとして偽装するために、前記代替の過去の未復号化パケットに関連付けられる前記タイムスタンプを再設定するステップを更に有する、
請求項１に記載の方法。
【請求項７】
前記完全なフレームの少なくとも部分は、パケット損失なく予定通りに受信される完全なフレームを含み、
待ち時間調整ロジックモジュールにより、入力される前記未復号化パケットストリームと前記格納された過去の完全なビデオフレームのストリームとの間で前記デコーダへの供給を切り替えるステップであって、前記供給の切り替えは、低待ち時間モード動作と高待ち時間モード動作との間の遷移に少なくとも部分的に基づく、
請求項１に記載の方法。
【請求項８】
前記完全なフレームの少なくとも部分は、パケット損失なく予定通りに受信される完全なフレームを含み、
待ち時間調整ロジックモジュールにより、入力される前記未復号化ビデオパケットストリームと前記格納された過去の完全なビデオフレームのストリームとの間で前記デコーダへの供給を切り替えるステップであって、前記供給の切り替えは、低待ち時間モード動作と高待ち時間モード動作との間の遷移に少なくとも部分的に基づく、ステップと、
前記待ち時間調整ロジックモジュールにより、許容不可能な損傷発生頻度に少なくとも部分的に基づき、低待ち時間モードから高待ち時間モードに遷移するステップと、
前記待ち時間調整ロジックモジュールにより、許容可能な損傷発生頻度に少なくとも部分的に基づき、高待ち時間モードから低待ち時間モードに遷移するステップと、
前記待ち時間調整ロジックモジュールにより、無線リンク機能停止の検出に少なくとも部分的に基づき、低待ち時間モードから高待ち時間モードに遷移するステップと、
を更に有する請求項１に記載の方法。
【請求項９】
前記完全なフレームの少なくとも部分は、パケット損失なく予定通りに受信される完全なフレームを含み、
待ち時間調整ロジックモジュールにより、入力される前記未復号化ビデオパケットストリームと前記格納された過去の完全なビデオフレームのストリームとの間で前記デコーダへの供給を切り替えるステップであって、前記供給の切り替えは、低待ち時間モード動作と高待ち時間モード動作との間の遷移に少なくとも部分的に基づく、ステップと、
前記デコーダにより、前記代替の過去の未復号化パケットを現在パケットとして偽装するために、前記高待ち時間モードパケットで動作するとき、前記代替の過去の未復号化パケットに関連付けられる不正なタイムスタンプを無視するステップと、
を更に有する請求項１に記載の方法。
【請求項１０】
前記完全なフレームの少なくとも部分は、パケット損失なく予定通りに受信される完全なフレームを含み、
待ち時間調整ロジックモジュールにより、入力される前記未復号化ビデオパケットストリームと前記格納された過去の完全なビデオフレームのストリームとの間で前記デコーダへの供給を切り替えるステップであって、前記供給の切り替えは、低待ち時間モード動作と高待ち時間モード動作との間の遷移に少なくとも部分的に基づく、ステップと、
前記待ち時間調整ロジックモジュールにより、許容不可能な損傷発生頻度に少なくとも部分的に基づき、低待ち時間モードから高待ち時間モードに遷移するステップと、
前記待ち時間調整ロジックモジュールにより、許容可能な損傷発生頻度に少なくとも部分的に基づき、高待ち時間モードから低待ち時間モードに遷移するステップと、
前記待ち時間調整ロジックモジュールにより、無線リンク機能停止の検出に少なくとも部分的に基づき、低待ち時間モードから高待ち時間モードに遷移するステップと、
前記デコーダにより、前記代替の過去の未復号化パケットを現在パケットとして偽装するために、前記高待ち時間モードパケットで動作するとき、前記代替の過去の未復号化パケットに関連付けられる不正なタイムスタンプを無視するステップと、
を更に有する請求項１に記載の方法。
【請求項１１】
ビデオ復号化無線ディスプレイのためのコンピュータにより実施されるシステムであって、
未復号化パケットストリームから完全なフレームの少なくとも部分を識別するリプレイフィルタロジックモジュールと、
格納されるべき蓄積されたビデオフレームがパケット損失なく完全である場合に、前記蓄積されたビデオフレームの少なくとも一部を過去の未復号化パケットとして格納するストレージメモリと、
を有し、
前記リプレイフィルタロジックモジュールは、前記未復号化パケットストリームから不完全な現在フレームの少なくとも部分を識別するよう更に構成され、
前記リプレイフィルタロジックモジュールは、前記不完全なフレームの識別された部分を、前記不完全なフレームの識別された部分に対応する格納された過去の未復号化パケットで置き換えるよう更に構成され、
前記の代替の格納された過去の未復号化パケットに少なくとも部分的に基づき、前記現在フレームを復号化するデコーダ、
を更に有するシステム。
【請求項１２】
前記リプレイフィルタロジックモジュールは、各パケットに関連付けられる１又は複数のシーケンス番号に少なくとも部分的に基づき、前記不完全な現在フレームからどのパケットが損失しているかを識別するよう更に構成され、
前記リプレイフィルタロジックモジュールは、各パケットに関連付けられる前記シーケンス番号に少なくとも部分的に基づき、前記格納された過去の未復号化パケットからのどのパケットが、前記不完全な現在フレームからの損失パケットに対応するかを識別するよう更に構成される、
請求項１１に記載のシステム。
【請求項１３】
前記リプレイフィルタロジックモジュールは、各パケットに関連付けられるシーケンス番号、選択されたパケットに関連付けられるタイムスタンプ、各パケットに関連付けられるフレーム番号、及び／又は各パケットに関連付けられるスライス番号、のうちの１又は複数に少なくとも部分的に基づき、前記不完全な現在フレームからどのパケットが損失しているかを識別するよう更に構成され、
前記リプレイフィルタロジックモジュールは、各パケットに関連付けられる前記シーケンス番号、選択されたパケットに関連付けられる前記タイムスタンプ、各パケットに関連付けられる前記フレーム番号、及び／又は各パケットに関連付けられる前記スライス番号、のうちの１又は複数に少なくとも部分的に基づき、前記格納された過去の未復号化パケットからのどのパケットが、前記不完全な現在フレームからの損失パケットに対応するかを識別するよう更に構成され、
前記不完全なフレームの識別された部分を格納された過去の未復号化パケットで置き換えることは、前記代替の過去の未復号化パケットを現在パケットとして偽装するために、前記代替の過去の未復号化パケットに関連付けられる前記タイムスタンプを再設定することを更に有する、
請求項１１に記載のシステム。
【請求項１４】
受信した前記未復号化パケットストリームは、イントラ符号化フレームのみを含み、
受信した前記未復号化パケットストリームは、信頼できない送信媒体を介して受信され、
各パケットは１又は複数のスライスを有し、
前記完全なフレームの少なくとも部分は、パケット損失なしに予定通りに受信される完全なスライスを含み、
前記リプレイフィルタロジックモジュールは、各パケットに関連付けられるシーケンス番号、選択されたパケットに関連付けられるタイムスタンプ、各パケットに関連付けられるフレーム番号、及び／又は各パケットに関連付けられるスライス番号、のうちの１又は複数に少なくとも部分的に基づき、前記不完全な現在フレームからどのパケットが損失しているかを識別するよう更に構成され、
前記リプレイフィルタロジックモジュールにより、各パケットに関連付けられる前記シーケンス番号、選択されたパケットに関連付けられる前記タイムスタンプ、各パケットに関連付けられる前記フレーム番号、及び／又は各パケットに関連付けられる前記スライス番号、のうちの１又は複数に少なくとも部分的に基づき、前記格納された過去の未復号化パケットからのどのパケットが、前記不完全な現在フレームからの損失パケットに対応するかを識別するよう更に構成され、
前記不完全なフレームの識別された部分を格納された過去の未復号化パケットで置き換えることは、前記代替の過去の未復号化パケットを現在パケットとして偽装するために、前記代替の過去の未復号化パケットに関連付けられる前記タイムスタンプを再設定することを更に有する、
請求項１１に記載のシステム。
【請求項１５】
前記完全なフレームの少なくとも部分は、パケット損失なく予定通りに受信される完全なフレームを含み、
待ち時間調整ロジックモジュールは、入力される前記未復号化ビデオパケットストリームと前記格納された過去の完全なビデオフレームのストリームとの間で前記デコーダへの供給を切り替えるよう更に構成され、前記供給の切り替えは、低待ち時間モード動作と高待ち時間モード動作との間の遷移に少なくとも部分的に基づく、
請求項１１に記載のシステム。
【請求項１６】
前記完全なフレームの少なくとも部分は、パケット損失なく予定通りに受信される完全なフレームを含み、
待ち時間調整ロジックモジュールは、入力される前記未復号化ビデオパケットストリームと前記格納された過去の完全なビデオフレームのストリームとの間で前記デコーダへの供給を切り替えるよう更に構成され、前記供給の切り替えは、低待ち時間モード動作と高待ち時間モード動作との間の遷移に少なくとも部分的に基づき、
前記待ち時間調整ロジックモジュールは、許容不可能な損傷発生頻度に少なくとも部分的に基づき、低待ち時間モードから高待ち時間モードに遷移するよう更に構成され、
前記待ち時間調整ロジックモジュールは、許容可能な損傷発生頻度に少なくとも部分的に基づき、高待ち時間モードから低待ち時間モードに遷移するよう更に構成され、
前記待ち時間調整ロジックモジュールは、無線リンク機能停止の検出に少なくとも部分的に基づき、低待ち時間モードから高待ち時間モードに遷移するよう更に構成される、
請求項１１に記載のシステム。
【請求項１７】
前記完全なフレームの少なくとも部分は、パケット損失なく予定通りに受信される完全なフレームを含み、
待ち時間調整ロジックモジュールは、入力される前記未復号化ビデオパケットストリームと前記格納された過去の完全なビデオフレームのストリームとの間で前記デコーダへの供給を切り替えるよう更に構成され、前記供給の切り替えは、低待ち時間モード動作と高待ち時間モード動作との間の遷移に少なくとも部分的に基づき、
前記デコーダは、前記代替の過去の未復号化パケットを現在パケットとして偽装するために、前記高待ち時間モードパケットで動作するとき、前記代替の過去の未復号化パケットに関連付けられる不正なタイムスタンプを無視するよう更に構成される、
請求項１１に記載のシステム。
【請求項１８】
前記完全なフレームの少なくとも部分は、パケット損失なく予定通りに受信される完全なフレームを含み、
待ち時間調整ロジックモジュールは、入力される前記未復号化ビデオパケットストリームと前記格納された過去の完全なビデオフレームのストリームとの間で前記デコーダへの供給を切り替えるよう更に構成され、前記供給の切り替えは、低待ち時間モード動作と高待ち時間モード動作との間の遷移に少なくとも部分的に基づき、
前記待ち時間調整ロジックモジュールは、許容不可能な損傷発生頻度に少なくとも部分的に基づき、低待ち時間モードから高待ち時間モードに遷移するよう更に構成され、
前記待ち時間調整ロジックモジュールは、許容可能な損傷発生頻度に少なくとも部分的に基づき、高待ち時間モードから低待ち時間モードに遷移するよう更に構成され、
前記待ち時間調整ロジックモジュールは、無線リンク機能停止の検出に少なくとも部分的に基づき、低待ち時間モードから高待ち時間モードに遷移するよう更に構成され、
前記デコーダは、前記代替の過去の未復号化パケットを現在パケットとして偽装するために、前記高待ち時間モードパケットで動作するとき、前記代替の過去の未復号化パケットに関連付けられる不正なタイムスタンプを無視するよう更に構成される、
請求項１１に記載のシステム。
【請求項１９】
少なくとも１つの機械可読媒体であって、
コンピューティング装置で実行されることに応答して、前記コンピューティング装置に請求項１乃至１０のいずれか一項に記載の方法を実行させる複数の命令、
を有する媒体。
【請求項２０】
請求項１乃至１０のいずれか一項に記載の方法を実行する手段、
を有する装置。
【発明の詳細な説明】
【技術分野】
【０００１】
［関連出願］
本願は、米国特許仮出願番号第６２／１１０,５０３号、２０１５年１月３１日出願、名称「REPLAYING  OLD  PACKETS  FOR  CONCEALING  VIDEO  DECODING  ERRORS」、及び米国特許仮出願番号第６２／１１０,５０５号、２０１５年１月３１日出願、名称「VIDEO  DECODING  LATENCY  ADJUSTMENT  BASED  ON  WIRELESS  LINK  CONDITIONS」の利益を請求する。これらの出願の内容は、それらの全体がここに明示的に組み込まれる。
【背景技術】
【０００２】
ビデオエンコーダは、ビデオ情報を圧縮して、より多くの情報が所与の帯域幅で送信できるようにする。次に、圧縮済み信号は、表示する前に信号を復号化し又は伸張する受信機へ送信されて良い。
【０００３】
幾つかの従来の無線ディスプレイシステムでは、ビデオ圧縮は、無線帯域幅を削減する目的で使用される。無線媒体は信頼できないものであり、圧縮ビデオを運ぶ幾つかのパケットは損失され得るので、デコーダは誤り隠蔽を実施する場合がある。既存の誤り隠蔽の実装は、標準的に、前の復号化画像を含み得るフレームバッファを使用する。画像の損失部分は、標準的に、フレームバッファからの前の画像の同一位置（co−located）部分により置き換えられる。
【図面の簡単な説明】
【０００４】
本願明細書に記載された素材は例を用いて説明されるが、添付の図面に限定されない。説明を簡単且つ明確にするため、図中に示された要素は、必ずしも縮尺通りに描かれていないことが理解される。例えば、幾つかの要素の寸法は、明確さのため、他の要素に比して誇張されている。さらに、適切に検討されるとき、対応する又は類似の要素を示すために、参照符号は図の間で繰り返されている。
【図１】例示的なビデオデ処理システムの説明図である。
【図２】例示的な従来の無線ディスプレイビデオデコーダの説明図である。
【図３】例示的なビデオフレームの説明図である。
【図４】例示的な無線ディスプレイビデオデコーダの説明図である。
【図５】例示的な損傷ビデオフレームの説明図である。
【図６】モード決定ロジックの例示的な実装を示す。
【図７】待ち時間変動システムの例示的な実装を示す。
【図８】例示的な符号化処理を示すフロー図である。
【図９】例示的な作動中のビデオデ符号化システム及びビデオ符号化処理の説明図を提供する。
【図１０】例示的なビデオデ符号化システムの説明図である。
【図１１】例示的なシステムの説明図である。
【図１２】本開示の少なくとも幾つかの実装に従って全てが配置される例示的なシステムの説明図である。
【発明を実施するための形態】
【０００５】
以下の説明は例えばシステムオンチップ（ＳｏＣ）アーキテクチャのようなアーキテクチャで明示され得る種々の実装を説明するが、本願明細書に記載の技術及び／又は配置の実装は、特定のアーキテクチャ及び／又はコンピューティングシステムに限定されず、同様の目的で任意のアーキテクチャ及び／又はコンピューティングシステムにより実装されて良い。例えば、例えば複数の集積回路（ＩＣ）チップ及び／又はパッケージを用いる種々のアーキテクチャ、及び／又はセットトップボックス、スマートフォン等のような種々のコンピューティング装置及び／又は消費者電子機器（ＣＥ）装置は、本願明細書に記載の技術及び／又は配置を実装して良い。さらに、以下の説明は、システムコンポーネントの論理実装、種類、及び相互関係、論理区分／統合の選択、等のような多くの特定の詳細事項を説明するが、請求される主題は、このような特定の詳細事項を有しないで実施できる。他の例では、例えば制御構造及び完全なソフトウェア命令シーケンスのような特定の素材は、本願明細書に開示の素材を不明確にすることを回避するために詳細に示されない。
【０００６】
本願明細書に開示の素材は、ハードウェア、ファームウェア、ソフトウェア又はそれらの如何なる組み合わせで実装されて良い。本願明細書に開示の素材は、１又は複数のプロセッサにより読み取られ実行されて良い機械可読媒体に格納された命令として実施されて良い。機械可読媒体は、機械（例えば、コンピューティング装置）により読み取り可能な形式で情報を格納又は送信する任意の媒体及び／又はメカニズムも包含し得る。例えば、機械可読媒体は、ＲＯＭ（read  only  memory）、ＲＡＭ（random  access  memory）、磁気ディスク記憶媒体、光学記憶媒体、フラッシュメモリ装置、電気的、光学的、音響的又は他の形式の伝搬される信号（例えば、搬送波、赤外線信号、デジタル信号、等）、等を包含し得る。
【０００７】
本願明細書において「一実装」、「実装」、「例示的な実装」等への参照は、記載された実装が特定の機能、構造又は特徴を含むこと、しかし各実施形態が特定の機能、構造又は特徴を必ずしも含まなくて良いことを意味する。さらに、このような記載は、必ずしも同一の実装を参照しない。さらに、特定の機能、構造又は特徴がある実装に関連して記載されるとき、本願明細書に明示的に記載されているか否かに拘わらず、このような機能、構造又は特徴を他の実装と組み合わせて実施することは、当業者の知識の範囲内である。
【０００８】
無線リンク状態に基づくビデオ復号化待ち時間調整のための動作と共に、ビデオ復号化誤りを隠蔽するために古いパケットをリプレイするための動作を含む、システム、装置、製品、及び方法が以下に記載される。
【０００９】
上述のように、幾つかの従来の無線ディスプレイシステムでは、ビデオ圧縮は、無線帯域幅を削減する目的で使用される。無線媒体は信頼できないものであり、圧縮ビデオを運ぶ幾つかのパケットは損失され得るので、デコーダは誤り隠蔽を実施する場合がある。既存の誤り隠蔽の実装は、標準的に、前の復号化画像を含み得るフレームバッファを使用する。画像の損失部分は、標準的に、フレームバッファからの前の画像の同一位置（co−located）部分により置き換えられる。
【００１０】
さらに、幾つかの従来の解決策は、標準的に、前の復号化画像を格納するために、フレームバッファを使用する場合がある。バッファは、大きく、標準的に高帯域幅でアクセスされる。バッファはオフチップに配置されることが多い。これは、製造コスト及び電力消費を増大する。さらに、知られている解決策は、損失パケットを正しく取り扱うことのできるデコーダを設計する必要がある場合が多い。このようなデコーダは、実装及び検証することが複雑である場合がある。
【００１１】
以下に更に詳述するように、フレームバッファを使用する代わりに、本願明細書に記載の実装のうちの幾つかは、どの画像部分（例えば、スライスレベルで）が損失しているかを検出するためにソフトウェアを使用し得る。損失ピクセルを埋め合わせるためにフレームバッファを使用する代わりに、所謂、前のビデオフレームからのスライスが、損失パケットを隠蔽するために再復号化されて良い。したがって、誤り隠蔽は、非圧縮ピクセル領域ではなく、圧縮パケット領域で実行できる。
【００１２】
従来の解決策とは対照的に、本願明細書に記載の実装方法のうちの幾つかは、フレームバッファを必要としなくて良い。したがって、製造コスト及び電力消費が低減できる。本願明細書に記載の実装のうちの幾つかは、損失パケットを取り扱うことのできるデコーダを必要としなくて良い。これは、デコーダの（ＨＷで行われ得る）実装及び検証を有意に簡略化できる。したがって、事業計画のスケジュール及びリスクを削減する。本願明細書に記載の実装のうちの幾つかは、例えば、結果として生じるＷｉＧｉｇシステムオンチップの複雑性を低減するために使用できる。
【００１３】
図１は、本開示の少なくとも幾つかの実装に従って配置される例示的なビデオ符号化システム１００の説明図である。種々の実装では、ビデオ符号化システム１００は、１又は複数の高度ビデオコーデック標準に従いビデオ符号化を引き受け及び／又はビデオコーデックを実装するよう構成されて良い。
【００１４】
さらに、種々の実施形態では、ビデオ符号化システム１００は、画像プロセッサ、ビデオプロセッサ、及び／又はメディアプロセッサの部分として実装されて良く、本開示に従い、インター予測、イントラ予測、予測符号化、及び／又は同様のものを引き受けて良い。
【００１５】
本願明細書で用いられるとき、用語「符号器」は、エンコーダ及び／又はデコーダを表し得る。同様に、本願明細書で用いられるとき、用語「符号化」は、エンコーダによるエンコーディング、及び／又はデコーダによるデコーディングを表し得る。例えば、本願明細書に記載のようなビデオエンコーダ及びビデオデコーダ（例えば、図４を参照）は、両方とも、符号化の可能な符号器の例であって良い。
【００１６】
幾つかの例では、ビデオ符号化システム１００は、簡単のために図１に図示されない追加アイテムを有して良い。例えば、ビデオ符号化システム１００は、プロセッサ、無線周波数型（ＲＦ）通信機、ディスプレイ、及び／又はアンテナを有して良い。さらに、ビデオ符号化システム１００は、簡単のために図１に図示されない、スピーカ、マイクロフォン、加速度計、メモリ、ルータ、ネットワークインタフェース、等のような追加アイテムを有して良い。
【００１７】
幾つかの例では、ビデオ符号化システム１００の動作中、現在ビデオ情報が、ビデオデータのフレームの形式で、内部ビット深さ増大モジュール１０２に供給されて良い。現在ビデオフレームは、モジュール１０４で最大符号化単位（Largest  Coding  Unit：ＬＣＵ）に分割され、次に残差予測モジュール１０６に渡されて良い。残差予測モジュール１０６の出力は、変換及び量子化モジュール１０８により知られているビデオ変換及び量子化処理を受けて良い。変換及び量子化モジュール１０８の出力は、エントロピ符号化モジュール１０９と、逆量子化及び逆変換モジュール１１０と、に供給されて良い。エントロピ符号化モジュール１０９は、対応するデコーダに通信するために、エントロピ符号化ビットストリーム１１１を出力して良い。
【００１８】
ビデオ符号化システム１００の内部復号化ループでは、逆量子化及び逆変換モジュール１１０は、残差予測モジュール１０６及び残差再構成モジュール１１２の出力を供給するために、変換及び量子化モジュール１０８により行われる動作の逆を実施して良い。当業者は、本願明細書に記載のような変換及び量子化モジュールと逆量子化及び逆変換モジュールとが、スケーリング技術を利用し得ることを認識できる。残差再構成モジュール１１２の出力は、残差予測モジュール１０６にフィードバックされて良く、デブロッキングフィルタ１１４、サンプル適応型オフセットフィルタ１１６、適応型ループフィルタ１１８、バッファ１２０、動き推定モジュール１２２、動き補償モジュール１２４、及びイントラフレーム予測モジュール１２６を有するループにも提供されて良い。図１に示すように、動き補償モジュール１２４又はイントラフレーム予測モジュール１２６の出力は、両方とも、デブロッキングフィルタ１１４への入力として残差予測モジュール１０６の出力に結合され、ＬＣＵ分割モジュール１０４の出力との差分が取られ、残差予測モジュール１０６への入力として動作する。
【００１９】
以下に更に詳述するように、フレームバッファを使用する代わりに、本願明細書に記載の実装のうちの幾つかは、どの画像部分（例えば、スライスレベルで）が損失しているかを検出するためにソフトウェアを使用し得る。損失ピクセルを埋め合わせるためにフレームバッファを使用する代わりに、所謂、前のビデオフレームからのスライスが、損失パケットを隠蔽するために再復号化されて良い。したがって、誤り隠蔽は、非圧縮ピクセル領域ではなく、圧縮パケット領域で実行できる。
【００２０】
従来の解決策とは対照的に、本願明細書に記載の実装方法のうちの幾つかは、フレームバッファを必要としなくて良い。したがって、製造コスト及び電力消費が低減できる。本願明細書に記載の実装のうちの幾つかは、損失パケットを取り扱うことのできるデコーダを必要としなくて良い。これは、デコーダの（ＨＷで行われ得る）実装及び検証を有意に簡略化できる。したがって、事業計画のスケジュール及びリスクを削減する。本願明細書に記載の実装のうちの幾つかは、例えば、結果として生じるＷｉＧｉｇシステムオンチップの複雑性を低減するために使用できる。
【００２１】
以下に更に詳述するように、ビデオ符号化システム１００は、図３〜４と関連して以下に議論する種々の機能のうちの一部又は全部を実行するために使用されて良い。
【００２２】
図２は、例示的な従来の無線ディスプレイビデオデコーダシステム２００の説明図である。
【００２３】
図示のように、既存の無線ディスプレイビデオデコーダシステム２００では、符号化ビデオパケットストリームが受信されて良く、復号化ピクセルが出力されて良い。フレームバッファ２０４は、前の復号化フレームを格納するために使用されて良い。ビデオデコーダ２０２による復号化が成功すると、新しく復号化されたピクセルが、フレームバッファに書き込まれて良い。これらは、将来のビデオフレームの中の復号化誤りを隠蔽するために使用できる。パケットの損失／到着遅れに起因して復号化が失敗すると、対応する損失パケットは、誤りを隠蔽するためにフレームバッファから読み出されて良い。大規模な高価な高メモリ帯域幅の高電力消費メモリが、フレームバッファを実装するために使用され得る。デコーダは、失敗せずに損失パケットを取り扱うよう設計されなければならない。
【００２４】
図３は、本開示の少なくとも幾つかの実装に従って配置される例示的なビデオフレーム３００の説明図である。
【００２５】
既存の実装は非圧縮（つまり、ピクセル）領域で誤り隠蔽を実行するが、本願明細書に記載の種々の実装は、圧縮領域で誤り隠蔽を実行できる。種々の実装では、ビデオフレーム３００は、１又は複数の部分に分割されて良い。ここで、各ビデオパケットは１つの部分にのみ属する。各部分は、完全なビデオフレーム、単一のスライス、又は複数のスライスを含み得る。図示のように、ビデオフレーム３００は、例えば４個の部分（例えば、スライス）に分割されて良い。各部分は、幾つかのマクロブロック行を占有する。
【００２６】
図４は、本開示の少なくとも幾つかの実装により配置される例示的な無線ディスプレイビデオデコーダシステム４００の説明図である。
【００２７】
図示のように、パケットが受信されると、無線ディスプレイビデオデコーダシステム４００を制御するソフトウェア（例えば、リプレイフィルタロジックモジュール４０２）は、パケットがどの部分に属するかを決定して良い。これは、ＷＤＥビデオフレーム番号、（新しいＡＶＣスライスが開始するときに設定される）ＰＥＳパケットデータアライメント指示、スライスヘッダのfirst_mb_in_sliceフィールド又はパケットに含まれる（エンコーダにより生成される）追加特性情報、等、及び／又はそれらの組合せのようなパケットヘッダの中の情報により行われ得る。リプレイフィルタロジックモジュール４０２が画像の一部のパケットのうちの全部が正しく受信されたことを決定すると、パケットは、デコーダ４０６による復号化のために送信され、（誤り隠蔽のために使用されるために）ビデオパケット記憶装置４０４にも格納されて良い。リプレイフィルタロジックモジュール４０２が幾つかのパケットが損失した（又はそれらの提示時間の後に到着した）ことを決定すると、新しいパケット（例えば、不完全な部分）を送信する代わりに、ビデオパケット記憶装置４０４に格納された対応する部分のパケットが復号化のために送信されて良い。これは、デコーダ４０６が常にパケットが損失しないストリームを受信することを保証する。したがって、デコーダ４０６は、ハードウェアで複雑な誤り隠蔽手段を実装する必要がなく、フレームバッファを保持する必要もない。
【００２８】
このリプレイフィルタロジックモジュール４０２のソフトウェア実装を簡略化することは、古いパケット、例えば過去の提示時間／シーケンス番号を有するパケットの復号化をサポートするよう、無線ディスプレイビデオデコーダ４００を変更することにより可能である。無線ディスプレイビデオデコーダ４００の中でこれらのパケットを検出することは、無線ディスプレイビデオデコーダ４００に渡される追加制御メタデータにより、又は古いシーケンス番号を有するパケットを受け付け（例えば、デコーダは、パケットが古いシーケンス番号を有する場合でも該パケットを受け付けるために変更されて良い）及び該パケットを古いパケットとして扱い該パケットの（過去の、通常のデコーダでは復号化されない）提示タイムスタンプを無視するよう無線ディスプレイビデオデコーダ４００を変更することにより、可能である。
【００２９】
このような技術が実装可能な例示的なアプリケーションは、ＷｉＧｉｇディスプレイ拡張（WiGig  display  extension：ＷＤＥ）におけるイントラモードのみである。ここで、画像は、多数のスライス（マクロブロック行当たり１乃至１６個のスライス）の圧縮であって良く、全てのマクロブロックは、（ゼロから符号化される）イントラマクロブロックであって良い。イントラ符号化手段のみを使用すると、不完全に受信された（例えば、パケットを損失している）新しいスライスを前に復号化した画像からの同一位置のスライスで置き換えることが容易である。また、スライスは、ＷＤＥパケット境界に揃えられて良い。この構成は、幾つかのスライスを単一の画像部分に集約すること、及び損失しているイントラ符号化パケットを過去に正しく受信された同一位置の領域のパケットで簡単に置き換えることが可能である。
【００３０】
図４に示す例示的な実装は、誤りを隠蔽するために、フレームバッファではなく、圧縮パケットを使用する発想を含み得る。これは、実装コスト、複雑性を低減し、開発スケジュールを短縮する。
【００３１】
例示的な実装は、パケットのシーケンス番号（例えば、ＷＤＥパケットシーケンス番号）が古い（復号化された最高シーケンス番号より小さい）ことを知らせることにより、デコーダに（損失／遅れたパケットを置き換える）古いパケットを識別させることを含む。これは、誤り隠蔽処理を簡素化する。つまり、ＳＷは、単に、古いパケットをデコーダへ送る必要があるだけである。ＳＷとデコーダとの間の明示的な通信も同期も必要なくて良い。
【００３２】
ＳＷは、デコーダへ送信される全てのスライスが無傷であること（全てのパケットが新しい又は全てのパケットが古い）を保証するので、デコーダは、幾つかのパケットが損失している／遅れている場合を扱うために必要な複雑な誤り隠蔽を実装する必要がない。これは、（通常はＨＷで実装される）デコーダ実装及び検証の複雑性を有意に低減する。また、デコーダ実装では、デコーダ誤りが存在しないとき、次のビデオフレームの開始まで待機することが一般的であり得る。無線リンクを介するとき、これは、全ての損失／遅れたパケットがビデオフレームの重要な部分を破損することを意味し、粗悪なユーザ経験をもたらす。
【００３３】
この例示的な実装を用いるとき、ＳＷが誤り隠蔽の粒度を制御する。フレームが多くのスライスに分割され得るＷｉＧｉｇ  ＷＤＥのような場合、アーチファクトは、更に多くローカライズされる（例えば、１個のスライスに）。
【００３４】
本着想は、主に全てのスライスがイントラ又はＰ＿ｓｋｉｐスライスであるコーデックを対象とすることに留意する。コーデックが（非ゼロ残差／動きベクトルを有する）Ｐ個のマクロブロックもサポートするとき、本着想は、デコーダにおける複雑な誤り隠蔽を回避するために依然として利用できる。この場合、ＳＷは、損失パケットを有するスライスの場合に（これは、本願明細書に記載の技術が使用されない場合に、デコーダに誤りを取り扱うことを要求する）、Ｐ＿ｓｋｉｐスライスを供給できる。
【００３５】
デコーダがパケットをスライスに及び次にビデオフレームの部分にパーティショニングすることをＳＷが制御するのを助けるために、ＷＤＥパケットヘッダの中で追加データが伝達されて良い。このデータは、以下の情報、つまり、パケットの属するスライス番号、スライス内の最初のパケットである場合を示すビット、スライス内の最後のパケットである場合を示すビット、を提供する。スライス開始がＷＤＥパケット境界に揃えられなければならないというＷｉＧｉｇ  ＷＤＥ制限に加えて、この情報を用いることは、スクリーンの幾つかの部分が失われた場合でも、新しいパケットを復号化し続けることを可能にする。これは、無線チャネルにおけるパケット損失の影響を局部にとどめることを助ける。本願明細書の概念は、パケットの内容に関する情報をデコーダではなくＳＷが容易に得る（及び該情報を誤りを隠蔽するために使用する）ことができるよう、ヘッダ部分の中のストリームに関する高レベルデータを追加することである。
【００３６】
以下に更に詳述するように、無線ディスプレイビデオデコーダ４００（例えば、図４）は、図８及び／又は９と関連して以下に議論する種々の機能のうちの一部又は全部を実行するために使用されて良い。
【００３７】
以下に更に詳細に議論するように、図５〜７に記載された例示的な実装は、無線ディスプレイビデオ復号化においてロバストネスと待ち時間とを自動的に平衡できるアルゴリズムを議論する。
【００３８】
既存の解決策は、ユーザにセッション確立において（例えば、無線ディスプレイセッションが開始する前に）、標準的にあまりロバストではない（例えば、より損傷の多い）低待ち時間／ゲームモードの使用と、よりロバストである（例えば、復号化ビデオの損傷が少ない／ない）高待ち時間モードの使用との間で選択することを要求する場合が多い。
【００３９】
後述する例示的な実装は、復号化ビデオの中の損傷の数を監視し、損傷の頻度が高すぎると、損傷のない、より高い待ち時間モードに切り替える。これは、１ビデオフレームの追加遅延を追加することにより行われ、常に、無傷で受信された最後の画像（例えば、損傷なく受信された画像）を復号化して良い。無線リンク状態が改善すると、追加のフレーム待ち時間は除去されて良い。この例示的な実装は、ユーザからの介入無しに動作できる。例えば、本実装は、無線リンク状態に従いオンザフライで待ち時間を採用できる。これは、待ち時間を最小化しながら、変動する無線リンク状態の下で、ロバストなビデオを与えることができる。低待ち時間は、ユーザが無線ディスプレイリンクを介してコンピュータと相互作用する無線ドッキングのために重大である場合が多い。
【００４０】
図５は、本開示の少なくとも幾つかの実装に従って配置される損傷ビデオフレームの例示的な図である。
【００４１】
無線ディスプレイシステムでは、ビデオロバストネスと待ち時間との間にトレードオフがある。１ビデオフレームより少ない待ち時間が使用されるとき、デコーダは、ビデオフレームに対応する全てのパケットが無線リンクを介してデコーダに無傷で到着したかどうかを知る前に、該ビデオフレームを出力し始める。幾つかのパケットが損失しているとき、損傷が生じる。つまり、復号化ビデオフレーム５００の部分が新しく受信したパケット５０２に属し、残りの部分（損失パケットを有する部分）が誤り隠蔽５０４の結果である場合。多くの場合、誤り隠蔽は、前に受信したフレームからのピクセルを表示することを意味する。これは、検出可能であり且つ気に障る、ビデオフレーム５００の中の損傷５０６と呼ばれるアーチファクトを生じる。
【００４２】
既存のシステムでは、表示画像５００の中の損傷を回避するために、ユーザは、よりロバストなモードを選択できる。このモードでは、デコーダは、各ビデオフレームに対応する全てのパケットが無傷で受信されるまで待機し、その次にのみ復号化を開始する。これは、損傷５０６が存在しないことを保証するが、エンドツーエンド（エンコーダからデコーダまで）の待ち時間が１ビデオフレームより長いことを意味する。高待ち時間は、目と手の協調及びユーザ相互作用に対する高速応答が要求されるゲーム及び生産作業のような対話型アプリケーションでは迷惑である。
【００４３】
以下に更に詳述するように、図６〜７で議論する例示的な実装は、２つの部分を含む。つまり、待ち時間を動的に変化させる方法、及び低待ち時間又は高待ち時間モードを使用するかどうかを決定するモード決定ロジックである。
【００４４】
図６は、本開示の少なくとも幾つかの実装により配置されるモード決定ロジックの例示的な実装を示す。
【００４５】
図示の例では、システム６００は、標準的に低待ち時間モードで開始する。Ｙ個のビデオフレームの中でＸ個より多くの損傷が生じる場合、動作６０２で無線リンクは、粗悪であるとして表されて良い。次に、システムは、ロバストであって良い高待ち時間モードに遷移する。この高待ち時間モードでは、完全に無傷のビデオフレームのみがデコーダに送られるので、損傷は存在しない。損傷／損失パケットを有しないＺ個のビデオフレームが復号化された後に、無線リンクは、良好であると示されて良い。この点で、動作６０４で、システムは遷移して低待ち時間モードに戻る。Ｘ、Ｙ、Ｚの値は、使用例に依存して、予め確立され及び／又はリアルタイムに決定されて良い。
【００４６】
フレーム損傷とフレーム複製に関し、私達の経験では（研究での試験では）人々は、幾つかの（例えば、３個）のビデオフレームが繰り返されるとき気付かない。これに対して、人々は、ビデオシーケンスの内部で損傷のある又は損失ピクセルのある（例えば、損失パケットに起因する画像の黒色部分は、画像の中のフラッシュとして人々に検出される）単一の画像でも検出できる。したがって、提案のアルゴリズムは、損傷のある画像の数を最小化することを試みる。さらに、無傷なビデオフレーム全体を蓄積することにより、及び追加エンドツーエンド待ち時間を許容することにより、フレーム複製を回避するより高い機会が存在し得る。低待ち時間モードでは、非常に遅く（例えば、パケットの予定復号化／提示時間の後）到着するパケットは損傷を生じ、待ち時間が増大すると、パケットの再送信が成功する可能性が高く、ビデオフレームは遅く到着するが無傷である。
【００４７】
さらに、（例えば、ＷｉＧｉｇのような）幾つかの無線技術では、無線リンクが劣化すると、リンクの一時的機能停止の確立は増大する。これらの機能停止の間、無線機は、より良好な送信パラメータを探すことにより、リンク状態を向上しようと試みる。例示的な実装は、このような場合を自動的に検出し、高待ち時間モードに一時的に切り替えて良い。このモードでは、リンク機能停止は、あまり気付かれない（リンク機能停止に起因するパケット到着の遅れと、画像ロバストネスの向上とのトレードオフ（パケットが時間通りに到着しないことにより損傷が少ない））。無線リンク品質の直接的検出に関し、標準的なことは、どれだけ多くのパケットが損失したか／復号化及び提示されるために到着が遅すぎたかである。この知識は、無線レイヤに直接利用可能ではない。例えば、パケットは、複数回再送信される場合でも、依然として、時間通りに成功裏に受信できる（損傷を回避する）。第２の例では、（冗長）シーケンスパラメータセットを含むパケットのような、幾つかのドロップされるパケットは、復号化において問題を生じない。しかし、パケットが損失していることに無線レイヤが気付く場合、無線レイヤは誤ってリンクが粗悪であると宣言するかも知れない。
【００４８】
さらに、使用されているタスクの対話的特性を検出することは常に可能ではない。しかしながら、このような検出は、有意な複雑性を追加し得るＯＳ及び／又はアプリケーションプログラムからのヒントにより試みることができる。これは全ての場合に可能ではないかも知れない（例えば、この情報を供給しない幾つかのレガシアプリケーション）。さらに、例示的な実装は、アプリケーションがロバストネス（損傷無し）を要求するときでも、待ち時間（損傷の危険性）を低減することが可能である場合がある。これは、既存のアプリケーション要件を無効にしたとしても、ユーザ経験を向上する。これは、リンク状態が粗悪であるとき、及び待ち時間の増大が必要なときのみ、使用される。例示的な実装が無ければ、（リンクが良好なために）不必要なときにでも高待ち時間／ロバストモードがより頻繁に使用されるので、ユーザ経験は劣化する。さらに、待ち時間の変更は、受信機（デコーダ）側で行われて良く、その間、送信機（エンコーダ）側で行われる必要のあるタスクの特性を検出するので、タスクの対話的特性の検出が使用されるべきだったかどうかに関する追加制御情報が送信されるべきである。反対に、本願明細書で議論される例示的な実装は、より簡易であって良い受信機側に完全に埋め込まれる。例示的な実装は、ＯＳ／アプリケーションプログラムのヒントを必要としない。
【００４９】
図７は、本開示の少なくとも幾つかの実装に従い構成されるエンドツーエンド待ち時間が無線待ち時間変動システム７００によりどのように動的に変動され得るかの例示的な実装を示す。
【００５０】
図示の例では、新しいパケットは、受信されると、フィルタロジックモジュール７０２へ送られる。フィルタロジックモジュール７０２は、全てのパケットが無傷である（及びパケットが損失していない）完全なビデオフレームを蓄積する。パケットが失われていないことの検出は、ビデオフレーム数のようなビデオパケットが含むメタデータを解析することにより、又は新しいビデオフレームが開始しパケットが損失しなかったこと（例えば、パケットシーケンス番号に穴がない）を示す非ＶＣＬパケットの提示時間のような指示を探すことにより、行われて良い。蓄積ビデオフレームは、「無傷で受信した最後のビデオフレーム」記憶装置７０４に格納されて良い。
【００５１】
パケットソース切替モジュール７０６において低待ち時間モードが有効であるとき、受信パケットは、デコーダ７０８により直ちに復号化される。パケットソース切替モジュール７０６においてロバストな／高待ち時間モードが有効であるとき、デコーダ７０８は、無傷で受信した最後のビデオフレームメモリ７０４からパケットを供給されて良い。これらは、古い１又は複数のビデオフレームであるパケットである。提示時間が過去のものであるこのようなパケットを復号化するために、パケットの中の提示時間が復号化前に変更され、又はデコーダ７０８は古いパケットの復号化をサポートするために変更されて良い。デコーダ７０８は、信号（例えば、上述のロジックにより生成されるモード選択信号）により古いパケットの復号化を可能にする特別モードに置かれ得る。
【００５２】
以下に更に詳述するように、無線ディスプレイビデオデコーダ４００（例えば、図４）及び／又は無線待ち時間変動システム７００（例えば、図７）は、図８及び／又は９と関連して以下に議論する種々の機能のうちの一部又は全部を実行するために使用されて良い。
【００５３】
図８は、本開示の少なくとも幾つかの実装に従って配置される例示的な処理８００のフロー図である。処理８００は、動作８０２等のうちの１又は複数により図示されるような１又は複数の動作、関数又は作用を有して良い。
【００５４】
処理８００は、動作８０２で開始して良く、「完全なフレーム部分を識別する」。ここで、完全なフレーム部分の少なくとも部分が識別されて良い。例えば、完全なフレーム部分の少なくとも部分は、リプレイフィルタロジックモジュールにより、未復号化パケットストリームから識別されて良い。
【００５５】
処理８００は、動作８０４において継続して良く、「未復号化の蓄積された完全なフレーム部分を格納する」。ここで、蓄積されたビデオフレームの少なくとも一部が格納されて良い。例えば、格納されるべき蓄積されたビデオフレームがパケット損失なく完全である場合に、ストレージメモリにより、蓄積されたビデオフレームの少なくとも一部は、過去の未復号化パケットとして格納されて良い。
【００５６】
処理８００は、動作８０６において継続して良く、「不完全なフレーム部分を識別する」。ここで、不完全な現在フレームの少なくとも部分が識別されて良い。例えば、完全な現在フレームの少なくとも部分は、リプレイフィルタロジックモジュールにより、未復号化パケットストリームから識別されて良い。
【００５７】
処理８００は、動作８０８において継続して良く、「識別された不完全なフレーム部分を格納された未復号化の蓄積された完全なフレーム部分で置き換える」。ここで、識別された不完全なフレームの部分は、置き換えられて良い。例えば、識別された不完全なフレームの部分は、リプレイフィルタロジックモジュールにより、識別された不完全なフレームの部分に対応する格納された過去の未復号化パケットにより置き換えられて良い。
【００５８】
処理８００は、動作８１０において継続して良く、「現在フレームを復号化する」。ここで、現在フレームは復号化されて良い。例えば、現在フレームは、デコーダにより、代替の格納された過去の未復号化パケットに少なくとも部分的に基づき復号化されて良い。
【００５９】
処理８００は、本願明細書で議論するような符号器システムにより利用され得る、ビデオ符号化、復号化、及び／又はビットストリーム送信技術のようなビデオコーディングを提供して良い。
【００６０】
処理８００及び本願明細書で議論した他の処理に関連する幾らかの追加及び／又は代替の詳細事項は、本願明細書で議論した実装の１又は複数の例において、特に以下の図９に関して図示され得る。
【００６１】
図９Ａ、３０Ｂ、３０Ｃは、本開示の少なくとも幾つかの実装に従って配置された、例示的なビデオ符号化システム１０００（例えば、詳細については図１０を参照）及び動作中のビデオ符号化処理９０００の説明図を提供する。図示の実装では、処理９００は、動作９１０等のうちの１又は複数により図示されるような１又は複数の動作、関数又は作用を有して良い。
【００６２】
非限定的な例によると、処理９００は、図１０に関して以下に更に議論されるような、図１の符号器１００を含む例示的なビデオ符号化システム１０００を参照して本願明細書に記載される。様々な例において、処理９００は、エンコーダ及びデコーダの両方を含むシステムにより、又はエンコーダ（及び任意的にデコーダ）を用いる１つのシステムとデコーダ（及び任意的にエンコーダ）を用いるもう１つのシステムとを有する別個のシステムにより、行われて良い。留意すべきことに、上述のように、エンコーダは、エンコーダシステムの一部としてローカルデコーダを用いるローカルデコードループを有して良い。
【００６３】
図示のように、ビデオ符号化システム１０００（例えば、詳細については図１０を参照）は、ロジックモジュール１０５０を有して良い。例えば、ロジックモジュール１０５０は、本願明細書に記載のシステム又はサブシステムのうちの任意のものに関して議論されるような任意のモジュールを有して良い。例えば、ロジックモジュール８５０は、デコーダ調整ロジックモジュール１０６０を有して良い。デコーダ調整ロジックモジュール１０６０は、リプレイフィルタロジックモジュール９０４、待ち時間調整ロジックモジュール９０６、及び／又は同様のもの、を有して良い。
【００６４】
処理９００は、動作９１０で開始して良く、「完全なフレーム部分を識別する」。ここで、完全なフレーム部分の少なくとも部分が識別されて良い。例えば、完全なフレーム部分の少なくとも部分は、リプレイフィルタロジックモジュールにより、未復号化パケットストリームから識別されて良い。
【００６５】
リプレイフィルタロジックモジュール９０４の幾つかの実装では、受信した未復号化パケットストリームはイントラ符号化フレームのみを有して良く、受信した未復号化パケットストリームは信頼できない送信媒体を介して（例えば、ＷｉＧｉｇ等を介して）受信されて良く、及び／又は各フレームは１又は複数のスライスを有して良い。これらの要因のうちの任意のものは、単独で又は組合せで、リプレイフィルタロジックモジュール９０４の有効性を強調し得る。
【００６６】
処理９００は、動作９２０において継続して良く、「未復号化の蓄積された完全なフレーム部分を格納する」。ここで、蓄積されたビデオフレームの少なくとも一部が格納されて良い。例えば、格納されるべき蓄積されたビデオフレームがパケット損失なく完全である場合に、ストレージメモリにより、蓄積されたビデオフレームの少なくとも一部は、過去の未復号化パケットとして格納されて良い。
【００６７】
リプレイフィルタロジックモジュール９０４の幾つかの実装では、完全なフレームの部分は、損失パケットなく予定通りに受信される完全なスライスを含んで良い。
【００６８】
処理９００は、動作９３０において継続して良く、「不完全なフレーム部分を識別する」。ここで、不完全な現在フレームの少なくとも部分が識別されて良い。例えば、完全な現在フレームの少なくとも部分は、リプレイフィルタロジックモジュールにより、未復号化パケットストリームから識別されて良い。
【００６９】
リプレイフィルタロジックモジュールの幾つかの実装では、どのパケットが不完全な現在フレームから失われているかの識別は、以下のうちの１又は複数に少なくとも部分的に基づいて良い。つまり、各パケットに関連付けられるシーケンス番号、選択されるパケットに関連付けられるタイムスタンプ、各パケットに関連付けられるフレーム番号、各パケットに関連付けられるスライス番号、等、及び／又はそれらの組合せである。
【００７０】
処理９００は、動作９４０において継続して良く、「識別された不完全なフレーム部分を置き換える」。ここで、識別された不完全なフレームの部分が置き換えられて良い。例えば、識別された不完全なフレームの部分は、リプレイフィルタロジックモジュールにより、識別された不完全なフレームの部分に対応する格納された過去の未復号化パケットにより置き換えられて良い。
【００７１】
リプレイフィルタロジックモジュール９０４の幾つかの実装では、格納された過去の未復号化パケットからのどのパケットが、不完全な現在フレームからの損失パケットに対応するかは、以下のうちの１又は複数に少なくとも部分的に基づいて良い。つまり、各パケットに関連付けられるシーケンス番号、選択されるパケットに関連付けられるタイムスタンプ、各パケットに関連付けられるフレーム番号、各パケットに関連付けられるスライス番号、等、及び／又はそれらの組合せ、である。
【００７２】
追加又は代替で、識別された不完全なフレームの部分の、格納された過去の未復号化パケットによる置き換えは、代替の過去の未復号化パケットを現在パケットとして偽装するために、代替の過去の未復号化パケットに関連付けられるタイムスタンプを再設定することを更に有して良い（この動作は、図９に図示されない）。
【００７３】
動作９１０〜９４０と並列に、又は動作９１０〜９４０の代わりに、処理９００は、動作９５０に進んで良く、「待ち時間モードを動的に切り替える」。ここで、デコーダへの供給は、低待ち時間モードと高待ち時間モードとの間で切り替えられて良い。例えば、デコーダへの供給は、入力する未復号化ビデオパケットストリームと過去の格納された完全なビデオフレームのストリームとの間で切り替えられて良い。このような供給の切り替えは、待ち時間調整ロジックモジュールによる、低待ち時間モード動作と高待ち時間モード動作との間の遷移に少なくとも部分的に基づいて良い。
【００７４】
例えば、動作９１０、９２０、９３０、９４０は、低待ち時間モード（損傷が起こる可能性がある）で使用されて良い。高待ち時間モードが使用されており、動作９４０（例えば、古いビデオフレームの部分による誤り隠蔽）の代わりに、動作９１０、９２０、９３０が使用され得る状況では、ＳＷは、完全な古いビデオフレーム（例えば、無傷で受信した最後のビデオフレーム）の復号化を強制して良い。
【００７５】
待ち時間調整ロジックモジュール９０６の幾つかの実装では、完全なフレームの部分は、損失パケットなく予定通りに受信される完全なフレームを含んで良い。
【００７６】
待ち時間調整ロジックモジュール９０６の幾つかの実装では、高待ち時間モードから低待ち時間モードへの遷移は、許容不可能な損傷発生頻度に少なくとも部分的に基づいて良い。
【００７７】
待ち時間調整ロジックモジュール９０６の幾つかの実装では、高待ち時間モードから低待ち時間モードへの遷移は、許容可能な損傷発生頻度に少なくとも部分的に基づいて良い。
【００７８】
待ち時間調整ロジックモジュール９０６の幾つかの実装では、低待ち時間モードから高待ち時間モードへの遷移は、無線リンク機能停止の検出に少なくとも部分的に基づいて良い。
【００７９】
幾つかの実装では、低待ち時間モードと高待ち時間モードとの間の決定は、損傷頻度に基づいて良い。このような実装は、リンク機能停止を直接監視することより、良好な場合が多い。しかしながら、どの待ち時間モードが使用されるべきかを決定するために、リンク機能停止の監視は、損傷頻度の監視に加えて又はその代わりに使用されて良い。
【００８０】
動作９４０の部分として、動作９４０に加えて、又は動作９４０の代わりに、処理９００は、動作９６０において継続して良く、「現在フレームを置き換える」。ここで、現在フレームが置き換えられて良い。例えば、現在フレームは、待ち時間調整ロジックモジュールによる、低待ち時間モード動作と高待ち時間モード動作との間の遷移に少なくとも部分的に基づいて、現在フレームに対応する格納された過去の未復号化パケットで置き換えられて良い。
【００８１】
追加又は代替で、現在フレームの部分の、格納された過去の未復号化パケットによる置き換えは、デコーダにより、高待ち時間モードパケットで動作するとき、代替の過去の未復号化パケットを現在パケットとして偽装するために、代替の過去の未復号化パケットに関連付けられる不正なタイムスタンプを無視することを更に有して良い（この動作は、図９に図示されない）。
【００８２】
処理９００は、動作９７０において継続して良く、「現在フレームを復号化する」。ここで、現在フレームは復号化されて良い。例えば、現在フレームは、デコーダにより、代替の格納された過去の未復号化パケットに少なくとも部分的に基づき復号化されて良い。
【００８３】
処理９００は、動作９８０において継続して良く、「復号化フレームを表示する」。ここで、現在フレームは表示されて良い。例えば、現在の復号化フレームは、ディスプレイにより表示されて良い。
【００８４】
処理９００及び本願明細書で議論した他の処理に関連する幾らかの追加及び／又は代替の詳細事項は、本願明細書で議論した実装の１又は複数の例において、特に以下の図１０に関して図示され得る。
【００８５】
本願明細書に記載のシステム及び／又は処理の種々のコンポーネントは、ソフトウェア、ファームウェア及び／又はハードウェア、及び／又はそれらの任意の組合せで実装されて良い。例えば、本願明細書に記載のシステム及び／又は処理の種々のコンポーネントは、少なくとも部分的に、例えばスマートフォンのようなコンピューティングシステムに見られるコンピューティングＳｏＣ（System−on−a−Chip）のハードウェアにより設けられて良い。当業者は、本願明細書に記載のシステムが対応する図に示されない追加コンポーネントを有しても良いことを理解できる。
【００８６】
本願明細書に記載の実装において使用されるとき、用語「モジュール」は、「コンポーネント」又は「ロジックユニット」を参照して良い。これらの用語は後述される。したがって、用語「モジュール」は、本願明細書に記載の機能を提供するよう構成されるソフトウェアロジック、ファームウェアロジック、及び／又はハードウェアロジックの任意の組合せを参照し得る。例えば、当業者は、ハードウェア及び／又はファームウェアにより実行される動作が、代替で、ソフトウェアパッケージ、コード、及び／又は命令セットとして具現化され得るソフトウェアコンポーネントにより実施されて良いことを理解し、及びロジックユニットがその機能を実装するためにソフトウェアの一部を利用しても良いことも理解する。
【００８７】
本願明細書に記載の任意の実装で用いられるとき、用語「コンポーネント」は、本願明細書に記載の機能を提供するよう構成されるソフトウェアロジック、ファームウェアロジック、及び／又はハードウェアロジックの任意の組合せを表す。ソフトウェアロジックは、プログラマブル回路により実行される命令を格納するソフトウェアパッケージ、コード、及び／又は命令セットとして具現化されて良い。コンポーネントは、集合的又は個々に、大規模システム、例えば集積回路（ＩＣ）、システムオンチップ（ＳｏＣ）、等の部分として具現化されて良い。
【００８８】
本願明細書に記載の任意の実装で用いられるとき、用語「ロジックユニット」は、本願明細書に記載の機能を提供するよう構成されるファームウェアロジック及び／又はハードウェアロジックの任意の組合せを表す。本願明細書の任意の実施形態で用いられるとき、「ハードウェア」は、例えば、単独に又は任意の組み合わせで、ハードワイヤド回路、プログラマブル回路、状態機械回路、及び／又はプログラマブル回路により実行される命令を格納するファームウェアを有して良い。ロジックユニットは、集合的又は個々に、大規模システム、例えば集積回路（ＩＣ）、システムオンチップ（ＳｏＣ）、等の部分を形成する回路として具現化されて良い。例えば、ロジックユニットは、本願明細書で議論した符号化システムのファームウェア又はハードウェアによる実装のために論理回路に組み込まれて良い。さらに、当業者は、ハードウェア及び／又はファームウェアにより実行される動作が、ロジックユニットの機能を実装するためにソフトウェアの部分を利用しても良いことを理解する。
【００８９】
さらに、本願明細書で議論する処理ブロックのうちの任意の１又は複数は、１又は複数のコンピュータプログラムにより提供される命令に応答して行われて良い。このようなプログラムは、例えばプロセッサにより実行されると本願明細書に記載の機能を提供し得る命令を提供する信号を運ぶ媒体を含み得る。コンピュータプログラムは、任意の形式のコンピュータ可読媒体で提供されて良い。したがって、例えば、１又は複数のプロセッサコアを含むプロセッサは、コンピュータ可読媒体によりプロセッサに伝達される命令に応答して、１又は複数の動作を実行して良い。
【００９０】
図１０は、本開示の少なくとも幾つかの実装に従って配置される例示的なビデオ符号化システム１０００の説明図である。図示の実装では、ビデオ符号化システム１０００は、ビデオエンコーダ１００２及びビデオデコーダ１００４の両方と共に図示されるが、種々の例において、ビデオ符号化システム１０００は、ビデオエンコーダ１００２のみ、又はビデオデコーダ１００４のみを有する場合がある。ビデオ符号化システム１０００（種々の例におけるビデオエンコーダ１００２のみ又はビデオデコーダ１００４のみを含み得る）は、画像化装置１００１、アンテナ１００２、１又は複数のプロセッサ１００６、１又は複数のメモリストア１００８、及び／又はディスプレイ装置１０１０を有して良い。図示のように、画像化装置１００１、アンテナ１００２、ビデオエンコーダ１００２、ビデオデコーダ１００４、プロセッサ１００６、メモリストア１００８、及び／又はディスプレイ装置１０１０は、互いに通信可能であって良い。
【００９１】
幾つかの例では、ビデオ符号化システム１０００は、アンテナ１００３を有して良い。例えば、アンテナ１００３は、例えばビデオデータの符号化ビットストリームを送信又は受信するよう構成されて良い。プロセッサ１００６は、任意の種類のプロセッサ及び／又は処理ユニットであって良い。例えば、プロセッサ１００６は、別個の中央処理ユニット、別個のグラフィック処理ユニット、集積システムオンチップ（ＳｏＣ）ア―キテクチャ、等、及び／又はそれらの組合せを有して良い。さらに、メモリストア１００８は、任意の種類のメモリであって良い。例えば、メモリ記憶１００８は、揮発性メモリ（例えば、ＳＲＡＭ（Static  Random  Access  Memory）、ＤＲＡＭ（Dynamic  Random  Access  Memory）、等）又は不揮発性メモリ（例えば、フラッシュメモリ等）、等であって良い。非限定的な例では、メモリストア１００８は、キャッシュメモリにより実装されて良い。さらに、幾つかの実装では、ビデオ符号化システム１０００は、ディスプレイ装置１０１０を有して良い。ディスプレイ装置１０１０は、ビデオデータを提示するよう構成されて良い。
【００９２】
図示のように、幾つかの例では、ビデオ符号化システム１０００は、ロジックモジュール１０５０を有して良い。
【００９３】
ビデオデコーダ１００４に関連付けられて図示されるが、ビデオエンコーダ１００２は、同様に、図示のロジックモジュール１０５０のような同一及び／又は類似のロジックモジュールに関連付けられて良い。したがって、ビデオデコーダ１００４は、ロジックモジュール１０５０の全部又は部分を有して良い。例えば、アンテナ１００３、ビデオデコーダ１００４、プロセッサ１００６、メモリストア１００８、及び／又はディスプレイ１０１０は、互いに通信すること及び／又はロジックモジュール１０５０の部分と通信することが可能であって良い。同様に、ビデオエンコーダ１００２は、ロジックモジュール１０５０と同一及び／又は類似のロジックモジュールを有して良い。例えば、画像化装置１００１及びビデオエンコーダ１００２は、互いに通信すること及び／又はロジックモジュール１０５０と同一及び／又は類似のロジックモジュールと通信することが可能であって良い。
【００９４】
幾つかの実装では、ロジックモジュール１０５０は、本願明細書に記載の任意のシステム又はサブシステムに関して議論されるような種々のモジュールを具現化して良い。種々の実施形態では、ロジックモジュール１０５０のうちの幾つかは、ハードウェアで実装されて良く、一方で、ソフトウェアが他のロジックモジュールを実装して良い。例えば、幾つかの実施形態では、ロジックモジュール１０５０のうちの幾つかは、特定用途向け集積回路（ＡＳＩＣ）ロジックにより実装されて良く、一方で、他のロジックモジュールは、プロセッサ１００６のようなロジックにより実行されるソフトウェア命令により提供されて良い。しかしながら、本開示はこれに関して限定されず、ロジックモジュール１０５０のうちの幾つかは、ハードウェア、ファームウェア、及び／又はソフトウェアの任意の組合せにより実装されて良い。
【００９５】
例えば、ロジックモジュール１０５０は、デコーダ調整モジュール１０６０及び／又は本願明細書に記載の実装のうりの１又は複数の動作を実施するよう構成される同様のモジュールを有して良い。
【００９６】
図１１は、本開示の少なくとも幾つかの実装に従って配置される例示的なシステム１１００の説明図である。様々な実施形態において、システム１１００はメディアシステムであっても良いが、システム１１００はこの環境に限定されない。例えば、システム１１００は、パーソナルコンピュータ（ＰＣ）、ラップトップコンピュータ、ウルトララップトップコンピュータ、タブレット、タッチパッド、ポータブルコンピュータ、ハンドヘルドコンピュータ、パームトップコンピュータ、ＰＤＡ（personal  digital  assistant）、携帯電話機、携帯電話機／ＰＤＡの組合せ、テレビ、スマートデバイス（例えば、スマートフォン、スマートタブレット、又はスマートテレビ）、ＭＩＤ（mobile  internet  device）、メッセージング装置、データ通信装置、カメラ（例えば、ポイントアンドシュートカメラ、スーパーズームカメラ、デジタル一眼レフ（digital  single−lens  reflex：ＤＳＬＲ）カメラ）等に組み込まれて良い。
【００９７】
種々の実装において、システム１１００は、ディスプレイ１１０２に結合されるプラットフォーム１１２０を有する。プラットフォーム１１０２は、コンテンツサービス装置１１３０若しくはコンテンツ配信装置１１４０のようなコンテンツ装置、又は他の類似のコンテンツソースからコンテンツを受信して良い。１又は複数のナビゲーション機能を有するナビゲーション制御部１１５０は、例えばプラットフォーム１１０２及び／又はディスプレイ１１２０と相互作用するために用いられて良い。これらのコンポーネントの各々は、以下に詳細に説明される。
【００９８】
種々の実装では、プラットフォーム１１０２は、チップセット１１０５、プロセッサ１１１０、メモリ１１１２、アンテナ１１１３、記憶装置１１１４、グラフィックサブシステム１１１５、アプリケーション１１１６及び／又は無線機１１１８の任意の組合せを有して良い。チップセット１１０５は、プロセッサ１１１０、メモリ１１１２、記憶装置１１１４、グラフィックサブシステム１１１５、アプリケーション１１１６及び／又は無線機１１１８の間の相互通信を提供して良い。例えば、チップセット１１０５は、記憶装置１１１４との相互通信を提供可能な記憶装置アダプタ（図示しない）を有して良い。
【００９９】
プロセッサ１１１０は、ＣＩＳＣ（Complex  Instruction  Set  Computer）又はＲＩＳＣ（Reduced  Instruction  Set  Computer）プロセッサ、ｘ８６命令セット互換プロセッサ、マルチコア、又は任意の他のマイクロプロセッサ又はＣＰＵ（central  processing  unit）として実施されて良い。種々の実装において、プロセッサ１１１０は、デュアルコアプロセッサ、デュアルコアモバイルプロセッサ、等であって良い。
【０１００】
メモリ１１１２は、ＲＡＭ（Random  Access  Memory）、ＤＲＡＭ（Dynamic  Random  Access  Memory）、又はＳＲＡＭ（Static  RAM）のような揮発性メモリ装置として実施されて良いが、これらに限定されない。
【０１０１】
記憶装置１１１４は、磁気ディスクドライブ、光ディスクドライブ、テープドライブ、内蔵記憶装置、外付け記憶装置、フラッシュメモリ、バッテリバックアップＳＤＲＡＭ（synchronous  DRAM）、及び／又はネットワークアクセス可能な記憶装置のような不揮発性メモリ装置として実施されて良いが、これらに限定されない。種々の実施形態では、記憶装置１１１４は、例えば複数のハードドライブが含まれるとき重要なデジタルメディアのために記憶性能拡張保護を増大させる技術を有して良い。
【０１０２】
グラフィックサブシステム１１１５は、表示のために静止画像又はビデオのような画像の処理を実行して良い。グラフィックサブシステム１１１５は、例えばＧＰＵ（graphics  processing  unit）又はＶＰＵ（visual  processing  unit）であって良い。アナログ又はデジタルインタフェースは、グラフィックサブシステム１１１５及びディスプレイ１１２０に通信可能に結合するために用いられて良い。例えば、インタフェースは、ＨＤＭＩ（登録商標）（High−Definition  Multimedia  Interface）、Ｄｉｓｐｌａｙ  Ｐｏｒｔ、無線ＨＤＭＩ（登録商標）、及び／又は無線ＨＤ準拠技術のうちの任意のものであって良い。グラフィックサブシステム１１１５は、プロセッサ１１１０又はチップセット１１０５に統合されて良い。幾つかの実装では、グラフィックサブシステム１１１５は、チップセット１１０５に通信可能に結合されるスタンドアロン型装置であって良い。
【０１０３】
本願明細書に記載されるグラフィック及び／又はビデオ処理技術は、種々のハードウェアアーキテクチャで実施されて良い。例えば、グラフィック及び／又はビデオ機能は、チップセットに統合されて良い。代替で、別個のグラフィック及び／又はビデオプロセッサが用いられて良い。更に別の実装として、グラフィック及び／又はビデオ機能は、マルチコアプロセッサを含む汎用プロセッサにより提供されて良い。更なる実施形態では、機能は、消費者電子機器内に実装されて良い。
【０１０４】
無線機１１１８は、種々の適切な無線通信技術を用いて信号を送信及び受信可能な１又は複数の無線機を有して良い。このような技術は、１又は複数の無線ネットワークに渡る通信に関与し得る。例示的な無線ネットワークは、ＷＬＡＮ（wireless  local  area  network）、ＷＰＡＮ（wireless  personal  area  network）、ＷＭＡＮ（wireless  metropolitan  area  network）、セルラネットワーク、及び衛星ネットワークを含む（が、これらに限定されない）。このようなネットワークに渡る通信では、無線機１１１８は、任意のバージョンの１又は複数の適用規格に従って動作して良い。
【０１０５】
種々の実装では、ディスプレイ１１２０は、任意のテレビジョン型モニタ又はディスプレイを有して良い。ディスプレイ１１２０は、例えば、コンピュータディスプレイスクリーン、タッチスクリーンディスプレイ、ビデオモニタ、テレビ型装置、及び／又はテレビを有して良い。ディスプレイ１１２０は、デジタル及び／又はアナログであって良い。種々の実装において、ディスプレイ１１２０は、ホログラフィックディスプレイであって良い。また、ディスプレイ１１２０は、視覚投影を受け得る透過面であって良い。このような投影は、種々の形式の情報、画像及び／又はオブジェクトを伝達し得る。例えば、このような投影は、ＭＡＲ（mobile  augmented  reality）アプリケーションのための視覚的オーバレイであって良い。１又は複数のソフトウェアアプリケーション１１１６の制御下で、プラットフォーム１１０２は、ユーザインタフェース１１２２をディスプレイ１１２０に表示しても良い。
【０１０６】
種々の実装において、コンテンツサービス装置１１３０は、任意の全国的、国際的、及び／又は独立型サービスによりホストされて良く、したがって例えばインターネットを介してプラットフォーム１１０２にアクセス可能であって良い。コンテンツサービス装置１１３０は、プラットフォーム１１０２に及び／又はディスプレイ１１２０に結合されて良い。プラットフォーム１１０２に及び／又はコンテンツサービス装置１１３０は、ネットワーク１１６０へ及びそれからメディア情報を通信（例えば、送信及び／又は受信）するために、ネットワーク１１６０に結合されて良い。
【０１０７】
コンテンツ配信装置１１４０も、プラットフォーム１１０２に及び／又はディスプレイ１１２０に結合されて良い。
【０１０８】
種々の実装において、コンテンツサービス装置１１３０は、ケーブルテレビボックス、パーソナルコンピュータ、ネットワーク、電話機、インターネット可能装置、又はデジタル情報及び／又はコンテンツを配信可能な機器、及びネットワーク１１６０を介して又は直接にコンテンツプロバイダとプラットフォーム１１０２及び／又はディスプレイ１１２０との間でコンテンツを単方向若しくは双方向通信可能な任意の他の類似の装置を有して良い。コンテンツは、単方向若しくは双方向に、システム１１００内のコンポーネントのうちの任意の１つ及びネットワーク１１６０を介してコンテンツプロバイダへ及びそれから通信されて良い。コンテンツの例は、例えば、ビデオ、音楽、医用及びゲーム情報、等を含む任意のメディア情報を有して良い。
【０１０９】
コンテンツサービス装置１１３０は、メディア情報、デジタル情報、及び／又は他のコンテンツを含むケーブルテレビ番組のようなコンテンツを受信して良い。コンテンツプロバイダの例は、任意のケーブル又は衛星テレビ又は無線機又はインターネットコンテンツプロバイダを含み得る。提供される例は、本開示に従う実装のいかなる限定も意味しない。
【０１１０】
種々の実装では、プラットフォーム１１０２は、１又は複数のナビゲーション機能を有するナビゲーション制御部１１５０から制御信号を受信して良い。制御部１１５０のナビゲーション機能は、例えばユーザインタフェース１１２２と相互作用するために用いられて良い。種々の実施形態において、ナビゲーション制御部１１５０は、ユーザに空間的（例えば、連続する多次元）データをコンピュータに入力させるコンピュータハードウェアコンポーネント（特に、ヒューマンインタフェース装置）であっても良いポインティングデバイスであって良い。ＧＵＩ（graphical  user  interface）、テレビ、及びモニタのような多くのシステムは、ユーザに、身体的ジェスチャを用いてコンピュータ又はテレビを制御させ及びそれらにデータを提供させる。
【０１１１】
制御部１１５０のナビゲーション機能の動きは、ディスプレイ（例えば、ディスプレイ１１２０）上で、ディスプレイに表示されるポインタ、カーソル、フォーカス、リング又は他の視覚的指示子の動きにより複製されて良い。例えば、ソフトウェアアプリケーション１１１６の制御下で、ナビゲーション制御部１１５０に配置されたナビゲーション機能は、ユーザインタフェース１１２２上に表示される仮想ナビゲーション機能にマッピングされて良い。種々の実施形態において、制御部１１５０は、別個のコンポーネントではなく、プラットフォーム１１０２及び／又はディスプレイ１１２０に統合されて良い。しかしながら、本開示は、本願明細書に示された又は記載された要素又は環境に限定されない。
【０１１２】
種々の実装では、ドライバ（図示しない）は、例えば、有効にされると、初期ブートアップ後のボタンのタッチで、テレビのように即座に、ユーザがプラットフォーム１１０２をオン及びオフにできるようにする技術を有して良い。プログラムロジックは、プラットフォーム１１０２に、プラットフォームが「オフ」にされると、コンテンツをメディアアダプタ又は他のコンテンツサービス装置１１３０又はコンテンツ配信装置１１４０へストリーミングさせて良い。さらに、チップセット１１０５は、例えば（５．１）サラウンドサウンド音声及び／又は高品位（７．１）サラウンドサウンド音声をサポートするハードウェア及び／又はソフトウェアを有して良い。ドライバは、統合グラフィックプラットフォームのグラフィックドライバを有して良い。種々の実施形態において、グラフィックドライバは、ＰＣＩ（peripheral  component  interconnect）Ｅｘｐｒｅｓｓグラフィックカードを有して良い。
【０１１３】
種々の実装では、システム１１００内に示したコンポーネントのうちの任意の１又は複数は統合されて良い。例えば、プラットフォーム１１０２及びコンテンツサービス装置１１３０が統合されて良く、プラットフォーム１１０２及びコンテンツ配信装置１１４０が統合されて良く、又はプラットフォーム１１０２、コンテンツサービス装置１１３０及びコンテンツ配信装置１１４０が統合されて良い。種々の実施形態において、プラットフォーム１１０２及びディスプレイ１１２０は、統合ユニットであって良い。例えば、ディスプレイ１１２０及びコンテンツサービス装置１１３０が統合されて良く、又はディスプレイ１１２０及びコンテンツ配信装置１１４０が統合されて良い。これらの例は、本開示を限定するものではない。
【０１１４】
種々の実施形態において、システム１１００は、無線システム、有線システム又は両者の組合せとして実装されて良い。無線システムとして実施されるとき、システム１１００は、１又は複数のアンテナ、送信機、受信機、通信機、増幅器、フィルタ、制御ロジック、等のような無線共有媒体を介して通信するのに適するコンポーネント及びインタフェースを有して良い。無線共有媒体の例は、ＲＦスペクトル等のような無線スペクトルの部分を含んで良い。有線システムとして実施されるとき、システム１１００は、入力／出力（Ｉ／Ｏ）アダプタ、対応する有線通信媒体でＩ／Ｏアダプタに接続するための物理コネクタ、ＮＩＣ（network  interface  card）、ディスク制御部、ビデオ制御部、音声制御部、等のような、有線通信媒体を介して通信するのに適するコンポーネント及びインタフェースを有して良い。有線通信媒体の例は、ワイヤ、ケーブル、金属線、プリント回路基板（ＰＣＢ）、バックプレーン、スイッチ構造、半導体物質、ツイストペアワイヤ、同軸ケーブル、光ファイバ等を含んで良い。
【０１１５】
プラットフォーム１１０２は、情報を通信するために１又は複数の論理又は物理チャネルを確立して良い。情報は、媒体情報及び制御情報を有して良い。媒体情報は、ユーザに意味のあるデータ提示コンテンツを表し得る。コンテンツの例は、例えば、音声会話、ビデオ会議、ストリーミングビデオ、電子メール（ｅｍａｉｌ）メッセージ、音声メールメッセージ、英数字シンボル、グラフィック、画像、ビデオ、テキスト等からのデータを含み得る。ビデオ会議からのデータは、例えば、会話情報、無音期間、背景雑音、快適雑音、トーン等であって良い。制御情報は、自動システム向けのコマンド、命令又は制御ワードを表す任意のデータを表して良い。例えば、制御情報は、システムを通じて媒体情報を転送し、又は所定の方法で媒体情報を処理するようノードに指示するために用いられて良い。しかしながら、実施形態は、図１１に示された又は記載された要素又は環境に限定されない。
【０１１６】
上述のように、システム１１００は、変化する物理的様式又は形状因子で実施されて良い。図１２は、システム１２００が実施され得る小型装置１２００の実装を示す。種々の実施形態において、例えば、装置１２００は、無線機能を有するモバイルコンピューティング装置として実施されて良い。モバイルコンピューティング装置は、例えば、処理システム及び１又は複数のバッテリのようなモバイル電源若しくは供給を有する任意の装置を表して良い。
【０１１７】
上述のように、例えば、モバイルコンピューティング装置の例は、パーソナルコンピュータ（ＰＣ）、ラップトップコンピュータ、ウルトララップトップコンピュータ、タブレット、タッチパッド、ポータブルコンピュータ、ハンドヘルドコンピュータ、パームトップコンピュータ、ＰＤＡ（personal  digital  assistant）、携帯電話機、携帯電話機／ＰＤＡの組合せ、テレビ、スマートデバイス（例えば、スマートフォン、スマートタブレット、又はスマートテレビ）、ＭＩＤ（mobile  internet  device）、メッセージング装置、データ通信装置、カメラ（例えば、ポイントアンドシュートカメラ、スーパーズームカメラ、デジタル一眼レフ（digital  single−lens  reflex：ＤＳＬＲ）カメラ）等を有して良い。
【０１１８】
モバイルコンピューティング装置の例は、腕時計型コンピュータ、指輪型コンピュータ、リングコンピュータ、眼鏡型コンピュータ、ベルトクリップ型コンピュータ、腕章型コンピュータ、靴型コンピュータ、衣類型コンピュータ、及び他の装着可能コンピュータのような、人により装着されるよう配置されるコンピュータも含み得る。種々の実施形態では、例えば、モバイルコンピューティング装置は、コンピュータアプリケーション及び音声通信及び／又はデータ通信を実行可能なスマートフォンとして実施されて良い。幾つかの実施形態は、例としてスマートフォンとして実施されるモバイルコンピューティング装置と共に記載され得るが、他の実施形態も他の無線モバイルコンピューティング装置を持ち手実施できることが理解される。実施形態は、この文脈に限定されない。
【０１１９】
図１２に示すように、装置１２００は、筐体１２０２、ユーザインタフェース１２１０を含み得るディスプレイ１２０４、入力／出力（Ｉ／Ｏ）装置１２０６、アンテナ１２０８を有して良い。装置１２００は、ナビゲーション機能１２１２を有して良い。ディスプレイ１２０４は、モバイルコンピューティング装置に適切な情報を表示する任意の適切なディスプレイを有して良い。Ｉ／Ｏ装置１２０６は、モバイルコンピューティング装置に情報を入力する任意の適切なＩ／Ｏ装置を有して良い。
【０１２０】
Ｉ／Ｏ装置１２０６の例は、英数字キーボード、数字キーパッド、タッチパッド、入力キー、ボタン、スイッチ、ロッカースイッチ、マイクロフォン、スピーカ、音声認識装置及びソフトウェア、画像センサ等を有して良い。情報は、マイクロフォン（図示しない）により装置１２００に入力されて良い。このような情報は、音声認識装置（図示しない）によりデジタル化されて良い。実施形態は、この文脈に限定されない。
【０１２１】
種々の実施形態は、ハードウェア要素、ソフトウェア要素、又は両者の組み合わせを用いて実施されて良い。ハードウェア要素の例は、プロセッサ、マイクロプロセッサ、回路、回路要素（例えば、トランジスタ、抵抗器、キャパシタ、インダクタ等）、集積回路、ＡＳＩＣ（application  specific  integrated  circuit）、ＰＬＤ（programmable  logic  device）、ＤＳＰ（digital  signal  processor）、ＦＰＧＡ（field  programmable  gate  array）、メモリユニット、論理ゲート、レジスタ、半導体装置、チップ、マイクロチップ、チップセット等を有して良い。ソフトウェアの例は、ソフトウェアコンポーネント、プログラム、アプリケーション、コンピュータプログラム、アプリケーションプログラム、システムプログラム、機械プログラム、オペレーティングシステムソフトウェア、ミドルウェア、ファームウェア、ソフトウェアモジュール、ルーチン、サブルーチン、関数、メソッド、プロシジャ、ソフトウェアインタフェース、ＡＰＩ（application  program  interface）、命令セット、コンピューティングコード、コンピュータコード、コードセグメント、コンピュータコードセグメント、ワード、値、シンボル、又はそれらの任意の組合せを含んで良い。実施形態がハードウェア要素及び／又はソフトウェア要素を用いて実装されるかの決定は、所望の計算レート、パワーレベル、熱耐性、処理周期バジェット、入力データレート、出力データレート、メモリ資源、データバス速度、及び他の設計若しくは性能制約のような任意の数の要因に従って変化し得る。
【０１２２】
さらに、本願明細書で議論した動作のうちの任意の１又は複数のものは、１又は複数のコンピュータプログラムにより提供される命令に応答して行われて良い。このようなプログラムは、例えばプロセッサにより実行されると本願明細書に記載の機能を提供し得る命令を提供する信号を運ぶ媒体を含み得る。コンピュータプログラムは、任意の形式の１又は複数の機械可読媒体で提供されて良い。したがって、例えば、１又は複数のプロセッサコアを有するプロセッサは、１又は複数の機械可読媒体によりプロセッサに伝達されるプログラムコード及び／又は命令又は命令セットに応答して、本願明細書の例示的な処理の動作のうちの１又は複数を実行して良い。通常、機械可読媒体は、本願明細書に記載の装置及び／又はシステムのうちの任意のものに本願明細書で議論したようなシステムの少なくとも部分を実装させるプログラムコード及び／又は命令又は命令セットの形式でソフトウェアを伝達し得る。
【０１２３】
本願明細書に説明された特定の特徴は種々の実装を参照して記載されたが、この記載は、限定的意味として考えられることを意図しない。ここで、本開示の関連分野の当業者に明らかな本願明細書に記載の実装の種々の変更は、他の実装と同様に、本開示の精神及び範囲の範囲内にあると考えられる。
【０１２４】
以下の例は、更なる実施形態に関連する。
【０１２５】
一例では、ビデオ復号化無線ディスプレイのためのコンピュータにより実施される方法は、リプレイフィルタロジックモジュールにより、未復号化パケットストリームからの完全なフレームの少なくとも部分を識別するステップを有して良い。格納されるべき蓄積されたビデオフレームがパケット損失なく完全である場合に、ストレージメモリは、蓄積されたビデオフレームの少なくとも一部を、過去の未復号化パケットとして格納して良い。リプレイフィルタロジックモジュールは、未復号化パケットストリームからの不完全な現在フレームの少なくとも部分を識別して良い。リプレイフィルタロジックモジュールは、識別された不完全なフレームの部分を、識別された不完全なフレームの部分に対応する格納された過去の未復号化パケットにより置き換えて良い。デコーダは、代替の格納された過去の未復号化パケットに少なくとも部分的に基づき、現在フレームを復号化して良い。
【０１２６】
別の例では、ビデオ復号化無線ディスプレイのためのコンピュータにより実施される方法において、受信した未復号化パケットストリームは、イントラ符号化フレームのみを有して良い。受信した未復号化パケットストリームは、信頼できない送信媒体を介して受信されてものである。各フレームは、１又は複数のスライスを有して良い。完全なフレームの少なくとも部分は、損失パケット無しに予定通りに受信される完全なスライスを含む。リプレイフィルタロジックモジュールは、以下のうちの１又は複数に少なくとも部分的に基づき、どのパケットが不完全な現在フレームから損失しているかを識別して良い。つまり、各パケットに関連付けられるシーケンス番号、選択されるパケットに関連付けられるタイムスタンプ、各パケットに関連付けられるフレーム番号、及び／又は各パケットに関連付けられるスライス番号である。リプレイフィルタロジックモジュールは、以下のうちの１又は複数に少なくとも部分的に基づき、格納された過去の未復号化パケットからのどのパケットが、不完全な現在フレームからの損失パケットに対応するかを識別して良い。つまり、各パケットに関連付けられるシーケンス番号、選択されるパケットに関連付けられるタイムスタンプ、各パケットに関連付けられるフレーム番号、及び／又は各パケットに関連付けられるスライス番号である。識別された不完全なフレームの部分の、格納された過去の未復号化パケットによる置き換えは、代替の過去の未復号化パケットを現在パケットとして偽装するために、代替の過去の未復号化パケットに関連付けられるタイムスタンプを再設定することを更に有して良い。
【０１２７】
別の例では、ビデオ復号化無線ディスプレイのためのコンピュータにより実施される方法において、完全なフレームの少なくとも部分は、パケット損失無く予定通りに受信した完全なフレームを有する。待ち時間調整ロジックモジュールは、入力する未復号化ビデオパケットストリームと格納された過去の完全なビデオフレームのストリームとの間で、デコーダへの供給を切り替えて良い。ここで、供給の切り替えは、低待ち時間モード動作と高待ち時間モード動作との間の遷移に少なくとも部分的に基づく。待ち時間調整ロジックモジュールは、許容不可能な損傷発生頻度に少なくとも部分的に基づき、低待ち時間モードから高待ち時間モードへ遷移して良い。待ち時間調整ロジックモジュールは、許容可能な損傷発生頻度に少なくとも部分的に基づき、高待ち時間モードから低待ち時間モードへ遷移して良い。待ち時間調整ロジックモジュールは、無線リンク機能停止の検出に少なくとも部分的に基づき、低待ち時間モードから高待ち時間モードへ遷移して良い。デコーダは、高待ち時間モードパケットで動作しているとき、代替の過去の未復号化パケットを現在パケットとして偽装するために、代替の過去の未復号化パケットに関連付けられる不正なタイムスタンプを無視して良い。
【０１２８】
別の例では、ビデオ復号化無線ディスプレイのためのコンピュータにより実施される方法において、受信した未復号化パケットストリームは、イントラ符号化フレームのみを有して良い。受信した未復号化パケットストリームは、信頼できない送信媒体を介して受信されてものである。各フレームは、１又は複数のスライスを有して良い。完全なフレームの少なくとも部分は、損失パケット無しに予定通りに受信される完全なスライスを含む。リプレイフィルタロジックモジュールは、以下のうちの１又は複数に少なくとも部分的に基づき、どのパケットが不完全な現在フレームから損失しているかを識別して良い。つまり、各パケットに関連付けられるシーケンス番号、選択されるパケットに関連付けられるタイムスタンプ、各パケットに関連付けられるフレーム番号、及び／又は各パケットに関連付けられるスライス番号である。リプレイフィルタロジックモジュールは、以下のうちの１又は複数に少なくとも部分的に基づき、格納された過去の未復号化パケットからのどのパケットが、不完全な現在フレームからの損失パケットに対応するかを識別して良い。つまり、各パケットに関連付けられるシーケンス番号、選択されるパケットに関連付けられるタイムスタンプ、各パケットに関連付けられるフレーム番号、及び／又は各パケットに関連付けられるスライス番号である。識別された不完全なフレームの部分の、格納された過去の未復号化パケットによる置き換えは、代替の過去の未復号化パケットを現在パケットとして偽装するために、代替の過去の未復号化パケットに関連付けられるタイムスタンプを再設定することを更に有して良い。
【０１２９】
他の例では、ビデオ復号化無線ディスプレイのためのコンピュータにより実施されるシステムは、未復号化パケットストリームからの完全なフレームの少なくとも部分を識別するよう構成されるリプレイフィルタロジックモジュールを有して良い。ストレージメモリは、格納されるべき蓄積されたビデオフレームがパケット損失なく完全である場合に、蓄積されたビデオフレームの少なくとも一部を、過去の未復号化パケットとして格納して良い。リプレイフィルタロジックモジュールは、未復号化パケットストリームからの不完全な現在フレームの少なくとも部分を識別するよう更に構成されて良い。リプレイフィルタロジックモジュールは、識別された不完全なフレームの部分を、識別された不完全なフレームの部分に対応する格納された過去の未復号化パケットにより置き換えるよう更に構成されて良い。デコーダは、代替の格納された過去の未復号化パケットに少なくとも部分的に基づき、現在フレームを復号化するよう構成されて良い。
【０１３０】
別の例では、ビデオ復号化無線ディスプレイのためのコンピュータにより実施されるシステムにおいて、完全なフレームの少なくとも部分は、パケット損失無く予定通りに受信した完全なフレームを有する。待ち時間調整ロジックモジュールは、入力する未復号化ビデオパケットストリームと格納された過去の完全なビデオフレームのストリームとの間で、デコーダへの供給を切り替えるよう構成されて良い。ここで、供給の切り替えは、低待ち時間モード動作と高待ち時間モード動作との間の遷移に少なくとも部分的に基づく。待ち時間調整ロジックモジュールは、許容不可能な損傷発生頻度に少なくとも部分的に基づき、低待ち時間モードから高待ち時間モードへ遷移するよう更に構成されて良い。待ち時間調整ロジックモジュールは、許容可能な損傷発生頻度に少なくとも部分的に基づき、高待ち時間モードから低待ち時間モードへ遷移するよう更に構成されて良い。待ち時間調整ロジックモジュールは、無線リンク機能停止の検出に少なくとも部分的に基づき、低待ち時間モードから高待ち時間モードへ遷移するよう更に構成されて良い。デコーダは、高待ち時間モードパケットで動作しているとき、代替の過去の未復号化パケットを現在パケットとして偽装するために、代替の過去の未復号化パケットに関連付けられる不正なタイムスタンプを無視するよう更に構成されて良い。
【０１３１】
更なる例では、少なくとも１つの機械可読媒体は、コンピューティング装置で実行されるのに応答して、コンピューティング装置に上述の例のうちの任意の１つに従う方法を実行させる複数の命令を有して良い。
【０１３２】
更に別の例では、装置は、上述の例のうちの任意の１つに従う方法を実行する手段を有して良い。
【０１３３】
上述の例は、機能の特定の組合せを有して良い。しかしながら、このような上述の例は、これに関して限定されず、種々の実装において、上述の例は、このような特徴の一部のみを取り入れ、このような特徴の異なる順序を取り入れ、このような特徴の異なる組合せを取り入れ、及び／又は明示的に列挙された特徴以外の追加特徴を取り入れて良い。例えば、例示的な方法に関して記載された全ての特徴は、例示的な装置、例示的なシステム、及び／又は例示的な物品に対して実施されて良く、逆も同様である。
【図１】
0006621827.tif 000002
【図２】
0006621827.tif 000003
【図３】
0006621827.tif 000004
【図４】
0006621827.tif 000005
【図５】
0006621827.tif 000006
【図６】
0006621827.tif 000007
【図７】
0006621827.tif 000008
【図８】
0006621827.tif 000009
【図９】
0006621827.tif 000010
【図１０】
0006621827.tif 000011
【図１１】
0006621827.tif 000012
【図１２】
0006621827.tif 000013