(57)【要約】  開示は、デジタルマルチメディアコンテンツのチャネル間で切換える技法に関する。特に、デコーディングデバイスは、セグメント全体を受信する前に、データのセグメントの少なくとも1つのフレームを、デコードし、ディスプレイにレンダリングする。いくつかの態様では、デコーディングデバイスは、セグメントのフレームのうちの1つのフレームをレンダリングし、デコーディングデバイスがセグメントのフレームの全てを受信するまで、レンダリングされたフレームをフリーズしてもよい。フレーム全体を受信する前に、少なくとも1つのフレームをレンダリングすることによって、デコーディングデバイスは、チャネル切換えイベント中に、ユーザにコンテンツをより迅速に表示する。
2010532963.tif 000002
【特許請求の範囲】
【請求項１】
ビデオデータを処理する方法であって、
前記ビデオデータのセグメントの少なくとも一部分の複数の符号化フレームの少なくとも1つの符号化フレームをデコードするステップと、
イベントに応答して、前記少なくとも1つのデコードされたフレームに関連する再生時刻の前に、ディスプレイに前記少なくとも1つのデコードされたフレームをレンダリングするステップとを含む方法。
【請求項２】
前記少なくとも1つのデコードされたフレームに関連する前記再生時刻まで、前記少なくとも1つのレンダリングされたフレームをフリーズするステップをさらに含む請求項1に記載の方法。
【請求項３】
前記少なくとも1つのレンダリングされたフレームをフリーズするステップは、前記少なくとも1つのデコードされたフレームに関連する前記再生時刻まで、フレームメモリ内に前記フレームのデコードされたデータを維持するステップを含む請求項2に記載の方法。
【請求項４】
前記ディスプレイに前記少なくとも1つのデコードされたフレームをレンダリングするステップは、前記少なくとも1つのデコードされたフレームの最後のフレームに関連する前記再生時刻まで、減少したレンダリングレートで前記ディスプレイに前記少なくとも1つのデコードされたフレームをレンダリングするステップを含む請求項1に記載の方法。
【請求項５】
前記減少したレンダリングレートで前記ディスプレイに前記少なくとも1つのデコードされたフレームをレンダリングするステップは、通常レンダリングレートより小さいリフレッシュレートで前記フレームの後続のフレームのデコードされたデータによってフレームメモリのデコードされたデータをリフレッシュするステップを含む請求項4に記載の方法。
【請求項６】
前記少なくとも1つのデコードされたフレームの前記最後のフレームに関連する前記再生時刻後に、元のレンダリングレートで前記ディスプレイにフレームをレンダリングするステップをさらに含む請求項4に記載の方法。
【請求項７】
前記減少したレンダリングレートは、前記元のレンダリングレートの1/2である請求項6に記載の方法。
【請求項８】
前記フレームが前記ディスプレイにレンダリングされる前記減少したレンダリングレートを徐々に増加させるステップをさらに含む請求項4に記載の方法。
【請求項９】
ビデオデータのセグメントを受信するステップをさらに含み、前記受信されるセグメントは、ビデオデータの複数の符号化フレームを含むデータブロックおよび関連する誤り訂正ユニットを含み、
前記少なくとも1つの符号化フレームをデコードするステップは、前記関連する誤り訂正ユニットを受信する前に、前記少なくとも1つの符号化フレームをデコードするステップを含む請求項1に記載の方法。
【請求項１０】
第2フレーム内で誤りを検出するステップと、
前記第2フレーム内で前記誤りを検出することによって、前記ディスプレイ上で第1フレームの前記デコードされたデータをフリーズするステップとをさらに含む請求項1に記載の方法。
【請求項１１】
前記少なくとも1つのデコードされたフレームに関連する再生時刻の前に、ディスプレイに前記少なくとも1つのデコードされたフレームをレンダリングするステップは、前記ディスプレイに前記少なくとも1つのデコードされたフレームの第1フレームのデコードされたデータをレンダリングし、前記デコードされたフレームの少なくとも1つのフレームの第2フレームにおいて誤りが検出されないときに、前記ディスプレイに前記少なくとも1つのデコードされたフレームの第2フレームのデコードされたデータをレンダリングするステップを含む請求項1に記載の方法。
【請求項１２】
前記ディスプレイに前記少なくとも1つのデコードされたフレームをレンダリングするステップは、チャネルスイッチ要求に応答して、前記少なくとも1つのデコードされたフレームに関連する前記再生時刻の前に、前記ディスプレイに前記少なくとも1つのデコードされたフレームをレンダリングするステップを含む請求項1に記載の方法。
【請求項１３】
前記ディスプレイに前記少なくとも1つのデコードされたフレームをレンダリングするステップは、
フレームメモリに前記少なくとも1つのデコードされたフレームの前記デコードされたデータを格納するステップと、
前記フレームメモリ内の前記データによって前記ディスプレイを駆動するステップとを含む請求項1に記載の方法。
【請求項１４】
ビデオデータを処理する装置であって、
前記ビデオデータのセグメントの少なくとも一部分の複数の符号化フレームの少なくとも1つの符号化フレームをデコードするデコーディングモジュールと、
イベントに応答して、前記少なくとも1つのデコードされたフレームに関連する再生時刻の前に、ディスプレイに前記少なくとも1つのデコードされたフレームをレンダリングするレンダリングモジュールとを備える装置。
【請求項１５】
前記レンダリングモジュールは、前記少なくとも1つのデコードされたフレームに関連する前記再生時刻まで、前記少なくとも1つのレンダリングされたフレームをフリーズする請求項14に記載の装置。
【請求項１６】
前記レンダリングモジュールは、前記少なくとも1つのデコードされたフレームに関連する前記再生時刻まで、フレームメモリ内に前記フレームのデコードされたデータを維持する請求項15に記載の装置。
【請求項１７】
前記レンダリングモジュールは、前記少なくとも1つのデコードされたフレームの最後のフレームに関連する前記再生時刻まで、減少したレンダリングレートで前記ディスプレイに前記少なくとも1つのデコードされたフレームをレンダリングする請求項14に記載の装置。
【請求項１８】
前記レンダリングモジュールは、通常レンダリングレートより小さいリフレッシュレートで前記フレームの後続のフレームのデコードされたデータによってフレームメモリのデコードされたデータをリフレッシュする請求項17に記載の装置。
【請求項１９】
前記レンダリングモジュールは、前記少なくとも1つのデコードされたフレームの前記最後のフレームに関連する前記再生時刻後に、元のレンダリングレートで前記ディスプレイにフレームをレンダリングする請求項17に記載の装置。
【請求項２０】
前記減少したレンダリングレートは、前記元のレンダリングレートの1/2である請求項19に記載の装置。
【請求項２１】
前記レンダリングモジュールは、前記フレームが前記ディスプレイにレンダリングされる前記減少したレンダリングレートを徐々に増加させる請求項17に記載の装置。
【請求項２２】
ビデオデータの前記セグメントを受信する受信機をさらに備え、前記受信されるセグメントは、ビデオデータの前記複数の符号化フレームを含むデータブロックおよび関連する誤り訂正ユニットを含み、前記デコーディングモジュールは、前記受信機が前記関連する誤り訂正ユニットを受信する前に、前記少なくとも1つの符号化フレームをデコードする請求項14に記載の装置。
【請求項２３】
前記受信機は前記データブロック内で誤りを検出し、
前記レンダリングモジュールは、前記データブロック内で前記誤りを検出することによって、前記ディスプレイ上で前記第1フレームの前記デコードされたデータをフリーズする請求項22に記載の装置。
【請求項２４】
前記レンダリングモジュールは、前記ディスプレイに前記少なくとも1つのデコードされたフレームの第1のフレームのデコードされたデータをレンダリングし、前記データブロック内で誤りが検出されないときに、前記ディスプレイに前記少なくとも1つのデコードされたフレームの第2のフレームのデコードされたデータをレンダリングする請求項22に記載の装置。
【請求項２５】
前記レンダリングモジュールは、チャネルスイッチ要求に応答して、前記少なくとも1つのデコードされたフレームに関連する前記再生時刻の前に、前記ディスプレイに前記少なくとも1つのデコードされたフレームをレンダリングする請求項14に記載の装置。
【請求項２６】
前記レンダリングモジュールは、フレームメモリに前記少なくとも1つのデコードされたフレームの前記デコードされたデータを格納し、前記フレームメモリ内の前記データによって前記ディスプレイを駆動する請求項14に記載の装置。
【請求項２７】
ビデオデータを処理する装置であって、
前記ビデオデータのセグメントの少なくとも一部分の複数の符号化フレームの少なくとも1つの符号化フレームをデコードする手段と、
イベントに応答して、前記少なくとも1つのデコードされたフレームに関連する再生時刻の前に、ディスプレイに前記少なくとも1つのデコードされたフレームをレンダリングする手段とを備える装置。
【請求項２８】
前記レンダリング手段は、前記少なくとも1つのデコードされたフレームに関連する前記再生時刻まで、前記少なくとも1つのレンダリングされたフレームをフリーズする請求項27に記載の装置。
【請求項２９】
前記レンダリング手段は、前記少なくとも1つのデコードされたフレームに関連する前記再生時刻まで、フレームメモリ内に前記フレームのデコードされたデータを維持する請求項28に記載の装置。
【請求項３０】
前記レンダリング手段は、前記少なくとも1つのデコードされたフレームの最後のフレームに関連する前記再生時刻まで、減少したレンダリングレートで前記ディスプレイに前記少なくとも1つのデコードされたフレームをレンダリングする請求項27に記載の装置。
【請求項３１】
前記レンダリング手段は、通常レンダリングレートより小さいリフレッシュレートで前記フレームの後続のフレームのデコードされたデータによってフレームメモリのデコードされたデータをリフレッシュする請求項30に記載の装置。
【請求項３２】
前記レンダリング手段は、前記少なくとも1つのデコードされたフレームの前記最後のフレームに関連する前記再生時刻後に、元のレンダリングレートで前記ディスプレイにフレームをレンダリングする請求項30に記載の装置。
【請求項３３】
前記減少したレンダリングレートは、前記元のレンダリングレートの1/2である請求項32に記載の装置。
【請求項３４】
前記レンダリング手段は、前記フレームが前記ディスプレイにレンダリングされる前記減少したレンダリングレートを徐々に増加させる請求項30に記載の装置。
【請求項３５】
ビデオデータの前記セグメントを受信する手段をさらに備え、前記受信されるセグメントは、ビデオデータの前記複数の符号化フレームを含むデータブロックおよび関連する誤り訂正ユニットを含み、
前記デコーディング手段は、前記関連する誤り訂正ユニットを受信する前に、前記少なくとも1つの符号化フレームをデコードする請求項27に記載の装置。
【請求項３６】
第2のフレーム内の誤りを検出する手段をさらに備え、
前記レンダリング手段は、前記第2のフレーム内の前記誤りを検出することによって、前記ディスプレイ上で前記第1のフレームの前記デコードされたデータをフリーズする請求項27に記載の装置。
【請求項３７】
前記レンダリング手段は、前記ディスプレイに前記少なくとも1つのデコードされたフレームの第1のフレームのデコードされたデータをレンダリングし、前記デコードされたフレームの前記少なくとも1つのフレームの前記第2のフレーム内で誤りが検出されないときに、前記ディスプレイに前記少なくとも1つのデコードされたフレームの第2のフレームのデコードされたデータをレンダリングする請求項27に記載の装置。
【請求項３８】
前記レンダリング手段は、チャネルスイッチ要求に応答して、前記少なくとも1つのデコードされたフレームに関連する前記再生時刻の前に、前記ディスプレイに前記少なくとも1つのデコードされたフレームをレンダリングする請求項27に記載の装置。
【請求項３９】
前記レンダリング手段は、フレームメモリに前記少なくとも1つのデコードされたフレームの前記デコードされたデータを格納し、前記フレームメモリ内の前記データによって前記ディスプレイを駆動する請求項27に記載の装置。
【請求項４０】
命令を有するコンピュータ読取り可能媒体を備える、マルチメディアデータを処理するコンピュータプログラム製品であって、前記命令は、
前記ビデオデータのセグメントの少なくとも一部分の複数の符号化フレームの少なくとも1つの符号化フレームをデコードするコードと、
イベントに応答して、前記少なくとも1つのデコードされたフレームに関連する再生時刻の前に、ディスプレイに前記少なくとも1つのデコードされたフレームをレンダリングするコードとを含むコンピュータプログラム製品。
【請求項４１】
前記少なくとも1つのデコードされたフレームに関連する前記再生時刻まで、前記少なくとも1つのレンダリングされたフレームをフリーズするコードをさらに含む請求項40に記載のコンピュータプログラム製品。
【請求項４２】
前記少なくとも1つのレンダリングされたフレームをフリーズする前記コードは、前記少なくとも1つのデコードされたフレームに関連する前記再生時刻まで、フレームメモリ内に前記フレームのデコードされたデータを維持するコードを含む請求項41に記載のコンピュータプログラム製品。
【請求項４３】
前記ディスプレイに前記少なくとも1つのデコードされたフレームをレンダリングする前記コードは、前記少なくとも1つのデコードされたフレームの最後のフレームに関連する前記再生時刻まで、減少したレンダリングレートで前記ディスプレイに前記少なくとも1つのデコードされたフレームをレンダリングするコードを含む請求項40に記載のコンピュータプログラム製品。
【請求項４４】
前記減少したレンダリングレートで前記ディスプレイに前記少なくとも1つのデコードされたフレームをレンダリングする前記コードは、通常レンダリングレートより小さいリフレッシュレートで前記フレームの後続のフレームのデコードされたデータによってフレームメモリのデコードされたデータをリフレッシュするコードを含む請求項43に記載のコンピュータプログラム製品。
【請求項４５】
前記少なくとも1つのデコードされたフレームの前記最後のフレームに関連する前記再生時刻後に、元のレンダリングレートで前記ディスプレイにフレームをレンダリングするコードをさらに含む請求項43に記載のコンピュータプログラム製品。
【請求項４６】
前記減少したレンダリングレートは、前記元のレンダリングレートの1/2である請求項45に記載のコンピュータプログラム製品。
【請求項４７】
前記フレームが前記ディスプレイにレンダリングされる前記減少したレンダリングレートを徐々に増加させるコードをさらに含む請求項43に記載のコンピュータプログラム製品。
【請求項４８】
ビデオデータのセグメントを受信するコードをさらに含み、前記受信されるセグメントは、ビデオデータの複数の符号化フレームを含むデータブロックおよび関連する誤り訂正ユニットを含み、
前記少なくとも1つの符号化フレームをデコードするコードは、前記関連する誤り訂正ユニットを受信する前に、前記少なくとも1つの符号化フレームをデコードすることを含む請求項40に記載のコンピュータプログラム製品。
【請求項４９】
第2のフレーム内の誤りを検出するコードと、
前記第2のフレーム内で前記誤りを検出することによって、前記ディスプレイ上で第1のフレームの前記デコードされたデータをフリーズするコードとをさらに含む請求項40に記載のコンピュータプログラム製品。
【請求項５０】
前記少なくとも1つのデコードされたフレームに関連する再生時刻の前に、ディスプレイに前記少なくとも1つのデコードされたフレームをレンダリングする前記コードは、
前記ディスプレイに前記少なくとも1つのデコードされたフレームの第1のフレームのデコードされたデータをレンダリングするコードと、
前記デコードされたフレームの前記少なくとも1つのフレームの第2のフレーム内で誤りが検出されないときに、前記ディスプレイに前記少なくとも1つのデコードされたフレームの第2のフレームのデコードされたデータをレンダリングするコードとを含む請求項40に記載のコンピュータプログラム製品。
【請求項５１】
前記ディスプレイに前記少なくとも1つのデコードされたフレームをレンダリングする前記コードは、チャネルスイッチ要求に応答して、前記少なくとも1つのデコードされたフレームに関連する前記再生時刻の前に、前記ディスプレイに前記少なくとも1つのデコードされたフレームをレンダリングするコードを含む請求項40に記載のコンピュータプログラム製品。
【請求項５２】
前記ディスプレイに前記少なくとも1つのデコードされたフレームをレンダリングする前記コードは、
フレームメモリに前記少なくとも1つのデコードされたフレームの前記デコードされたデータを格納するコードと、
前記フレームメモリ内の前記データによって前記ディスプレイを駆動するコードとを含む請求項40に記載のコンピュータプログラム製品。
【発明の詳細な説明】
【技術分野】
【０００１】
本開示は、デジタルマルチメディアに関し、より詳細には、デジタルマルチメディアコンテンツをチャネル間で切換える技法に関する。
【背景技術】
【０００２】
デジタルマルチメディアをブロードキャストするための様々な技法が開発され、移動ワイヤレスデバイスによる受信に最適化されてきた。こうした技法は、フォワードリンクオンリー(Forward Link Only)(FLO)、デジタルマルチメディアブロードキャスティング(Digital Multimedia Broadcasting)(DMB)、およびデジタルビデオブロードキャスティング-ハンドヘルド(Digital Video Broadcasting-Handheld)(DVB-H)を含む。デジタルマルチメディアブロードキャスティングは、通常、ムービングピクチャエキスパートグループ(Moving Picture Experts Group)(MPEG)-1、MPEG-2、MPEG-4、国際電気通信連合(International Telecommunication Union)(ITU)H.263またはITU H.264などの1つまたは複数のデジタルマルチメディアエンコーディング規格による。ITU H.264規格は、「Advanced Video Coding」という名称のMPEG-4,Part 10に対応する。これらの符号化規格は、一般に、データを圧縮してエンコードすることによってマルチメディアシーケンスの伝送効率をサポートする。
【０００３】
いくつかのブロードキャスティング技法は、コンテンツを一連の物理的または論理的チャネルとして送出し、従来のテレビと同様のコンテンツ選択体験を提供する。それぞれの物理的または論理的チャネルは、オーディオストリームおよび/またはビデオストリーム、オーディオクリップおよび/またはビデオクリップ、あるいは、他の情報コンテンツをエンコードしたデジタルデータを搬送する。チャネルを切換えるために、移動デバイスは、選択されたチャネルから、たとえば、1つまたは複数のパケットまたはフレームの形態でデジタルデータを取得し、データをデコードして、コンテンツをユーザに提示する。チャネルを選択し提示するときの長い遅延は、望ましくなく、ユーザが慣れている「チャネルサーフィン(channel surfing)」体験を損なう。
【先行技術文献】
【非特許文献】
【０００４】
【非特許文献１】フォワードリンクオンリー(Forward Link Only)(FLO)エアインタフェース仕様「Forward Link Only Air Interface Specification for Terrestial Mobile Multimedia Multicast」(2006年8月に技術規格TIA-1099として出版)
【発明の概要】
【発明が解決しようとする課題】
【０００５】
したがって、チャネル切換え時間の低減は、ブロードキャスティングにおいて重大な関心事である。
【課題を解決するための手段】
【０００６】
本開示のいくつかの態様では、ビデオデータを処理する方法は、ビデオデータのセグメントの少なくとも一部分の複数の符号化フレームの少なくとも1つの符号化フレームをデコードすること、および、イベントに応答して、少なくとも1つのデコードされたフレームに関連する再生時刻の前に、ディスプレイに少なくとも1つのデコードされたフレームをレンダリングすることを含む。
【０００７】
本開示のいくつかの態様では、ビデオデータを処理する装置は、ビデオデータのセグメントの少なくとも一部分の複数の符号化フレームの少なくとも1つの符号化フレームをデコードするデコーディングモジュールと、イベントに応答して、少なくとも1つのデコードされたフレームに関連する再生時刻の前に、ディスプレイに少なくとも1つのデコードされたフレームをレンダリングするレンダリングモジュールとを備える。
【０００８】
本開示のいくつかの態様では、ビデオデータを処理する装置は、ビデオデータのセグメントの少なくとも一部分の複数の符号化フレームの少なくとも1つの符号化フレームをデコードする手段と、イベントに応答して、少なくとも1つのデコードされたフレームに関連する再生時刻の前に、ディスプレイに少なくとも1つのデコードされたフレームをレンダリングする手段とを備える。
【０００９】
本開示のいくつかの態様では、マルチメディアデータを処理するコンピュータプログラム製品は、命令を有するコンピュータ読取り可能媒体を備える。命令は、ビデオデータのセグメントの少なくとも一部分の複数の符号化フレームの少なくとも1つの符号化フレームをデコードするコードと、イベントに応答して、少なくとも1つのデコードされたフレームに関連する再生時刻の前に、ディスプレイに少なくとも1つのデコードされたフレームをレンダリングするコードとを含む。
【００１０】
1つまたは複数の実施例の詳細が、添付図面および以下の説明で述べられる。他の特徴、目的、および利点は、説明および図面から、また、特許請求の範囲から明らかになるであろう。
【図面の簡単な説明】
【００１１】
【図１】本明細書で述べるチャネル切換え技法を使用するマルチメディア符号化システムを示すブロック図である。
【図２】例示的なレンダリングモジュールをさらに詳細に示すブロック図である。
【図３】デコーディングデバイスが、関連する再生時刻の前にフレームをレンダリングし、レンダリングされたフレームをフリーズする、例示的なエンコードされたマルチメディアシーケンスの一部分を示す図である。
【図４】デコーディングデバイスが、関連する再生時刻の前に減少したレンダリングレートで1つまたは複数のフレームをレンダリングする、別の例示的なエンコードされたマルチメディアシーケンスの一部分を示す図である。
【図５】関連する誤り訂正ユニットを受信する前に、1つまたは複数のデータユニットがデコーディングモジュールに供給される、別の例示的なエンコードされたマルチメディアシーケンスの一部分を示す図である。
【図６】デコーディングデバイスが、関連する再生時刻の前にフレームをレンダリングし、レンダリングされたフレームをフリーズする、別の例示的なエンコードされたマルチメディアシーケンスの一部分を示す図である。
【図７】デコーディングデバイスが、関連する再生時刻の前に元のレンダリングレートまたは減少したレンダリングレートで1つまたは複数のフレームをレンダリングする、別の例示的なエンコードされたマルチメディアシーケンスの一部分を示す図である。
【図８】スーパーフレームのフレームをレンダリングし、全体のスーパーフレームが受信されるまでレンダリングされたフレームをフリーズするデコーディングデバイスの例示的なオペレーションを示すフロー図である。
【図９】関連する再生時刻の前に1つまたは複数のフレームをレンダリングするデコーディングデバイスの例示的なオペレーションを示すフロー図である。
【発明を実施するための形態】
【００１２】
本開示は、デジタルマルチメディア通信に関し、より詳細には、デジタルマルチメディアコンテンツのチャネル間で切換える技法に関する。一部のマルチメディア符号化システムでは、複数のデータユニットが、一緒にグループ化され、「スーパーフレーム(superframe)」と呼ばれることのある、マルチメディアデータのセグメントにされる。本明細書で使用されるように、用語「スーパーフレーム」は、データのセグメントを形成するために、ある期間または時間窓にわたって収集されるフレームのグループを指す。MediaFLO(商標)を利用する符号化システムでは、スーパーフレームは、通常30フレームを有することができるデータの1秒セグメントを含んでもよい。しかし、スーパーフレームは、任意の数のフレームを含んでもよい。一部の態様では、データユニットは、グループ化されて、共通の誤り保護符号に関連するデータセグメントが形成されてもよい。技法はまた、固定期間であってもよく、固定期間でなくてもよい異なる期間にわたって受信されるデータのセグメントについて、あるいは、データの個々のフレームまたはフレームのセットなどについて、データの他のセグメントをエンコードし、結合し、送信するために利用されてもよい。換言すれば、スーパーフレームは、1秒期間より長いかまたは短い時間間隔、またはさらに可変時間間隔をカバーすると規定されうる。いずれにせよ、データのセグメントのデータユニット(たとえば、フレーム)は、共通の誤り保護符号に相当する。本開示を通して、マルチメディアデータの特定のセグメント(たとえば、スーパーフレームの概念に似たもの)は、特定のサイズおよび/または継続時間のマルチメディアデータの任意のチャンク(chunk)を指し、特定のサイズおよび/または継続時間は、トランスポート層で使用される誤り訂正符号に少なくとも部分的に基づくことに留意されたい。
【００１３】
本開示の技法は、フレームに関連する再生時刻の前に、デコーディングデバイスが、ディスプレイにスーパーフレームのフレームの少なくとも1つのフレームのデコードされたデータをレンダリングする、チャネル切換えスキームを提供する。再生時刻は、エンコード中にフレームに割当てられる。フレームが、その各再生時刻にデコーディングデバイスによってレンダリングされる場合、ビデオが、エンコーディングデバイスによって指定されるペースで上映されるように、エンコーディングデバイスはこれらの再生時刻を割当てる。フレームの再生時刻を指定することによって、エンコーディングデバイスは、トランスポート誤りが訂正されると考えて、エンコードされたフレームのデコーディングデバイスへの送信中に、トランスポート誤りがたとえ起こったときでも、ビデオのスムーズな再生を基本的に保証する。再生時刻は、通常、特定のトランスポートメカニズムにおいて規定される。
【００１４】
以下でより詳細に述べられることになるように、フレームに関連する再生時刻は、スーパーフレーム内で、たとえば、参照データ内で指定されてもよい。デコーディングデバイスは、たとえば、スーパーフレームの1つのフレームのデコードされたデータを格納するフレームメモリを含んでもよい。ディスプレイドライバは、フレームメモリに格納されたデコードされたデータによってディスプレイを駆動して、フレームに関連する再生時刻の前に、ユーザにデコードされたフレームを提示してもよい。さらに、デコーディングデバイスは、フレームメモリがリフレッシュされるレートを制御して、目下のスーパーフレームのレンダリングが、後続のスーパーフレームの受信と実質的に同じ時間的瞬間に起こるようにデコーディングデバイスの受信動作とレンダリング動作を同期させてもよい。
【００１５】
いくつかの態様では、デコーディングデバイスは、フレームに関連する再生時刻の前に、スーパーフレームのフレームの1つのフレームをレンダリングし、レンダリングされたフレームをフリーズしてもよい。デコーディングデバイスは、目下のスーパーフレームのレンダリングが、後続のスーパーフレームの受信と実質的に同時に起こるようにデコーディングデバイスの受信動作とレンダリング動作が同期するまで、レンダリングされたフレームをフリーズし続けてもよい。デコーディングデバイスの受信動作とレンダリング動作が同期する時点は、たとえば、フレームのレンダリング時刻が、同じフレームの再生時刻に等しくなる時点に相当する。あるいは、デコーディングデバイスは、複数のフレームを、その各再生時刻のそれぞれの前に、レンダリングしてもよい。たとえば、デコーディングデバイスは、デコーディングデバイスの受信動作とレンダリング動作が同期するまで、減少したレンダリングレートでスーパーフレームのフレームの1つまたは複数をレンダリングしてもよい。デコーディングデバイスの早期レンダリング能力をさらに高めるために、デコーディングデバイスは、スーパーフレームに関連する誤り訂正ユニットが受信される前に、スーパーフレームのフレームの少なくとも1つのフレームをデコードし、レンダリングしてもよい。
【００１６】
デコーディングデバイスの受信動作とレンダリング動作が同期した後、デコーディングデバイスは、通常レンダリングレートでスーパーフレームのフレームの残りのフレームをレンダリングし始めてもよい。一部の態様では、デコーディングデバイスは、さらに、フレームの損傷を監視してもよい。フレームの1つのフレームが、たとえばトランスポート誤りによって損傷を含む場合、デコーディングデバイスは、目下のところレンダリングされたフレームをフリーズしてもよい。フレームに関連する再生時刻の前にスーパーフレームのフレームの少なくとも1つのフレームをレンダリングすることによって、デコーディングデバイスは、チャネル切換えイベント中にユーザにコンテンツをより迅速に表示する。
【００１７】
図1は、本明細書で述べるチャネル切換え技法を使用するマルチメディア符号化システム10を示すブロック図である。マルチメディア符号化システム10は、伝送チャネル15によって接続されたエンコーディングデバイス12およびデコーディングデバイス14を含む。エンコーディングデバイス12は、デジタルマルチメディアデータの1つまたは複数のシーケンスをエンコードし、伝送チャネル15を通じてエンコードされたシーケンスをデコーディングデバイス14に送信して、デコードし、デコーディングデバイス14のユーザに提示する。伝送チャネル15は、任意の有線媒体か、ワイヤレス媒体か、または、その組合せを備えてもよい。
【００１８】
エンコーディングデバイス12は、マルチメディアデータの1つまたは複数のチャネルをブロードキャストするのに使用されるブロードキャストネットワークコンポーネントの一部を形成してもよい。したがって、エンコードされたシーケンスはそれぞれ、マルチメディアデータのチャネルに相当してもよい。例として、エンコーディングデバイス12は、ワイヤレス基地局、サーバ、または、エンコードされたマルチメディアデータの1つまたは複数のチャネルを、ワイヤレスデバイスにブロードキャストするのに使用される任意のインフラストラクチャノードの一部を形成してもよい。この場合、エンコーディングデバイス12は、エンコードされたデータを、デコーディングデバイス14などの複数のワイヤレスデバイスに送信してもよい。しかし、簡潔にするために、単一のデコーディングデバイス14が図1に示される。
【００１９】
デコーディングデバイス14は、エンコーディングデバイス12によって送信される、エンコードされたマルチメディアデータを受信し、ユーザに提示するためにビデオデータをデコードするユーザデバイスを備えてもよい。例を挙げると、デコーディングデバイス14は、デジタルテレビジョン、ワイヤレス通信デバイス、ゲーム用デバイス、携帯情報端末(portable digital assistant)(PDA)、ラップトップコンピュータまたはデスクトップコンピュータ、商標「iPod」の下で販売されるようなデジタル音楽およびビデオデバイス、セルラ、衛星または地上ベースの無線電話などの無線電話、ビデオおよび/またはオーディオストリーミング、ビデオ電話、または両方に対応した他のワイヤレス移動端末の一部として実施されてもよい。デコーディングデバイス14は、移動デバイスまたは固定デバイスに関連してもよい。ブロードキャスト用途では、エンコーディングデバイス12は、複数のユーザに関連する複数のデコーディングデバイス14にエンコードされたマルチメディアデータを送信してもよい。
【００２０】
一部の態様では、2方向通信用途の場合、マルチメディア符号化システム10は、セッション開始プロトコル(Session Initiation protocol)(SIP)、国際電気通信連合標準化セクタ(International Telecommunication Union Standardization Sector)(ITU-T)H.323規格、ITU-T H.324規格、または他の規格に従うオーディオおよび/またはビデオストリーミングあるいはビデオ電話をサポートしてもよい。1方向または2方向通信の場合、エンコーディングデバイス12は、ムービングピクチャエキスパートグループ(Moving picture Experts Group)(MPEG)-2、MPEG-4、ITU-T H.263、またはMPEG-4、Part 10、高度ビデオ符号化(Advanced Video Coding)(AVC)に相当するITU-T H.264などのビデオ圧縮規格に従うエンコードされたマルチメディアデータを生成してもよい。図1には示さないが、エンコーディングデバイス12およびデコーディングデバイス14は、それぞれオーディオエンコーダおよびデコーダに統合され、オーディオとビデオの両方のエンコードを、共通データシーケンスまたは別個のデータシーケンスで操作するための適切な多重化器-逆多重化器(multiplexer-demultiplexer)(MUX-DEMUX)モジュール、あるいは、他のハードウェア、ファームウェア、またはソフトウェアを含む。適用可能である場合、MUX-DEMUXモジュールは、ITU-T H.223多重化器プロトコル、または、ユーザデータグラムプロトコル(user datagram protocol)(UDP)などの他のプロトコルに適合してもよい。
【００２１】
一部の態様では、本開示は、2006年8月に技術規格TIA-1099として出版されたフォワードリンクオンリー(Forward Link Only)(FLO)エアインタフェース仕様(Air Interface Specification)「Forward Link Only Air Interface Specification for Terrestial Mobile Multimedia Multicast」(「FLO仕様」)を使用する地上移動マルチメディアマルチキャスト(terrestial mobile multimedia multicast)(TM3)システムにおいてリアルタイムマルチメディアサービスを配信する(deliver)ために、エンハーンストH.264ビデオ符号化に対する適用を考える。しかし、本開示で述べるチャネル切換え技法は、特定のタイプのブロードキャスト、マルチキャスト、ユニキャスト、またはポイントツーポイントシステムに限定されるものではない。さらに、本明細書で述べる技法は、同様に、チャネル切換えが起こる有線システムに適用可能である。
【００２２】
図1に示すように、エンコーディングデバイス12は、エンコーディングモジュール16および送信機17を含む。エンコーディングモジュール16は、1つまたは複数の入力マルチメディアシーケンスを受信し、1つまたは複数の入力マルチメディアシーケンスは、ビデオ符号化の場合、データの1つまたは複数のフレームを含み、受信されたマルチメディアシーケンスのフレームを選択的にエンコードしうる。エンコーディングモジュール16は、1または複数の信号源(図1では示さず)から入力マルチメディアシーケンスを受信する。一部の態様では、エンコーディングモジュール16は、たとえば衛星を介して、1または複数のビデオコンテンツプロバイダから入力マルチメディアシーケンスを受信してもよい。別の例として、エンコーディングモジュール16は、エンコーディングデバイス12内に統合されるか、または、エンコーディングデバイス12に結合された画像取込みデバイスからマルチメディアシーケンスを受信してもよい。あるいは、エンコーディングモジュール16は、エンコーディングデバイス12内の、または、エンコーディングデバイス12に結合されたメモリまたはアーカイブからマルチメディアシーケンスを受信してもよい。マルチメディアシーケンスは、ブロードキャストとしてまたはオンデマンドで符号化され送信される、ライブのリアルタイムのまたはほぼリアルタイムのビデオおよび/またはオーディオシーケンスを含んでもよく、あるいは、ブロードキャストとしてまたはオンデマンドで符号化され送信される、予め記録されるか、または、格納されたビデオおよび/またはオーディオシーケンスを含んでもよい。一部の態様では、マルチメディアシーケンスの少なくとも一部分は、ゲームの場合などにおいてコンピュータ生成されてもよい。
【００２３】
いずれにせよ、エンコーディングモジュール16は、複数の符号化フレームをエンコードし、送信機17を介してデコーディングデバイス14に送信する。一部の態様では、エンコーディングデバイス12は、ある期間にわたって受信され、かつ、共通の誤り訂正符号に関連するフレームをエンコードし、結合し、送信してもよい。上述したように、たとえば、エンコーディングデバイス12は、期間または時間窓にわたって受信される入力マルチメディアシーケンスのそれぞれのフレームをエンコードし、データのエンコードされたフレームを結合して、データのスーパーフレームまたは他のセグメントを形成し、データのスーパーフレームまたは他のセグメントを、送信機17を介して伝送チャネル15を通じて送信する。データのエンコードされたスーパーフレームまたは他のセグメントはまた、データのセグメントの送信中に導入される任意の誤りを訂正するのに使用される少なくとも1つの誤り訂正符号ブロックを含んでもよい。データのセグメントのフレームのそれぞれは、それぞれ、誤り訂正符号ブロックに関連してもよい。換言すれば、複数のフレームが誤り訂正符号ブロックに関連するように、データのセグメントのフレームと誤り訂正ユニットとの間に何らかの関係が存在してもよい。
【００２４】
エンコーディングモジュール16は、1つまたは複数の符号化技法を使用してスーパーフレームのフレームのそれぞれをエンコードしてもよい。たとえば、エンコーディングモジュール16は、フレーム内符号化技法を使用してフレームの1つまたは複数をエンコードしてもよい。フレーム内符号化技法を使用してエンコードされたフレームは、他のフレームを参照することなく符号化され、イントラ(「I」)フレームと呼ばれることが多い。エンコーディングモジュール16はまた、フレーム間符号化技法を使用してフレームの1つまたは複数をエンコードしてもよい。フレーム間符号化技法を使用してエンコードされたフレームは、1つまたは複数の他のフレームを参照して符号化される。フレーム間符号化フレームは、1つまたは複数の予測(「P」)フレーム、双方向(「B」)フレーム、またはその組合せを含んでもよい。Pフレームは、少なくとも1つの時間的に前のフレームを参照してエンコードされ、一方、Bフレームは、少なくとも1つの時間的に将来のフレームと少なくとも1つの時間的に前のフレームを参照してエンコードされる。
【００２５】
エンコーディングモジュール16は、さらに、フレームを複数のブロックに分割し、ブロックのそれぞれを別々にエンコードするよう構成されてもよい。例として、エンコーディングモジュール16は、フレームを、16行のピクセルと16列のピクセルを含む複数の16×16ブロックに分割してもよい。「マクロブロック(macroblock)」と呼ばれることが多い一部のブロックは、部分分割ブロック(本明細書では「サブブロック(sub-block)」と呼ばれる)のグループを含む。例として、16×16マクロブロックは、4つの8×8サブブロックまたは他の部分分割ブロックを含んでもよい。たとえば、H.264規格は、種々の異なるサイズ、たとえば、16×16、16×8、8×16、8×8、4×4、8×4、および4×8を有するブロックのエンコードを可能にする。さらに、拡張によって、任意のサイズのサブブロックが、たとえば、2×16、16×2、2×2、4×16、8×2などのマクロブロック内に含まれてもよい。
【００２６】
エンコーディングモジュール16はまた、デコーディングデバイス14のチャネル切換え能力を高めるために、1つまたは複数のチャネルスイッチフレーム(CSF)をエンコードし送信してもよい。本明細書で使用されるように、用語「チャネルスイッチフレーム(channel switch frame)」または「CSF」は、データの対応するフレーム間符号化フレームのマルチメディアデータの少なくとも一部分を含むデータのフレーム内符号化フレームを指す。換言すれば、CSFは、データの対応するフレーム間符号化フレームのマルチメディアデータの少なくとも一部分の第2の符号化バージョンと見なされてもよい。こうして、CSFは、フレーム間符号化フレームの対応するフレームと同一場所にあり、場合によっては、対応するフレーム間符号化フレームの代わりに、または、対応するフレーム間符号化フレームと共にデコードされてもよい。
【００２７】
さらに、エンコーディングモジュール16は、セグメントの符号化フレームをデコードするときに使用される参照データをエンコードしてもよい。参照データは、スーパーフレームのフレームのそれぞれに対応する再生時刻を特定する。再生時刻は、デコーディングデバイス14が、関連するデコードされたフレームをレンダリングするべき時刻を指定する。再生時刻は、データのスーパーフレームまたは他のセグメントの開始など、特定のイベントを基準にしてもよい。たとえば、第1スーパーフレームの第1フレームの再生時刻は、以下でより詳細に述べることになるように、第2スーパーフレームの開始を基準にしてもよい。参照データはまた、フレーム間符号化フレームおよびフレーム内符号化フレームのロケーション、フレームを符号化するのに使用される符号化技法のタイプを特定するデータ、ブロックおよび単一フレーム内でブロックを符号化するのに使用される符号化のタイプ、フレーム間符号化フレーム用の参照フレームのロケーション、ならびに、符号化フレームをデコードするときに有用であるかまたは必要である可能性がある他の情報を特定するブロック識別子を含んでもよい。
【００２８】
エンコーディングデバイス12は、データの符号化フレームおよび参照データを、送信機17を介して送信する。送信機17は、伝送チャネル15を通じてエンコードされたマルチメディアを送信するために、適切なモデムおよびドライバ回路ソフトウェアおよび/またはファームウェアを含んでもよい。ワイヤレス用途の場合、送信機17は、エンコードされたマルチメディアデータを搬送するワイヤレスデータを送信するためにRF回路を含む。
【００２９】
デコーディングデバイス14は、データの符号化フレームを、受信機18を介して受信する。送信機17のように、受信機18は、伝送チャネル15を通じてデータの符号化フレームを受信するための、適切なモデムおよびドライバ回路ソフトウェアおよび/またはファームウェアを含んでもよく、また、ワイヤレス用途において、データの符号化フレームを搬送するワイヤレスデータを受信するためのRF回路を含んでもよい。一部の態様では、エンコーディングデバイス12およびデコーディングデバイス14は、それぞれ交互の送信および受信回路を含んでもよいため、それぞれが、伝送チャネル15を通じて伝送されるエンコードされたマルチメディアデータおよび他の情報について、送信デバイスと受信デバイスの両方の役をしてもよい。この場合、エンコーディングデバイス12とデコーディングデバイス14は共に、マルチメディアシーケンスを送信しまた受信し、そのため、2方向通信に関与する。換言すれば、マルチメディア符号化システム10の示すコンポーネントは、エンコーダ/デコーダ(encoder/decoder)(CODEC)の一部として統合されてもよい。
【００３０】
受信機18は、符号化フレームをデコーディングモジュール19に供給する。いくつかの態様では、受信機18は、デコーディングのためにデコーディングモジュール19にデータを供給する前に、スーパーフレーム全体が受信されるまで待ってもよい。換言すれば、受信機18は、誤り訂正ユニットを含むスーパーフレーム全体を受信し、その後、デコーディングのためにデコーディングモジュール19にスーパーフレーム全体を供給する。他の態様では、受信機18は、スーパーフレームのフレームの少なくとも一部分を受信し、スーパーフレームが受信されるときに、スーパーフレームのフレームをデコーディングモジュール19に供給する。たとえば、受信機18は、個々のフレームまたはフレームのチャンクが受信されるときに、スーパーフレームのフレームをデコーディングモジュール19に供給する。この場合、受信機18は、フレームに関連する誤り訂正符号ブロックが受信される前に、スーパーフレームのフレームをデコーディングモジュール19に供給する。
【００３１】
デコーディングモジュール19は、受信機18から受信された符号化フレームをデコードし、デコードされたマルチメディアデータをレンダリングモジュール20に供給する。レンダリングモジュール20は、ディスプレイ21を介してユーザに表示するために、デコードされたマルチメディアデータをレンダリングする。本明細書で詳細に述べるように、レンダリングモジュール20は、スーパーフレームのフレームの少なくとも1つのフレームのデコードされたデータを格納するフレームメモリ、および、ディスプレイ21を駆動して、デコードされたフレームをユーザに提示するディスプレイドライバを含んでもよい。レンダリングモジュール20は、本開示の技法を実施するために、フレームメモリが、後続のフレームのデコードされたデータによってリフレッシュされるレートを制御してもよい。ディスプレイ21は、図1に示すように、デコーディングデバイス14内に統合されてもよい。あるいは、ディスプレイ21は、デコーディングデバイス14に結合されてもよい。ディスプレイ21は、液晶ディスプレイ(LCD)、発光ダイオード(LED)、有機発光ダイオード(OLED)、陰極線管(CRT)、または他のタイプのディスプレイを備えてもよい。
【００３２】
通常動作中に、レンダリングモジュール20は、フレームに関連する再生時刻に、フレームのデコードされたマルチメディアデータをレンダリングしてもよい。換言すれば、レンダリングモジュール20は、参照データにおいて指定された再生時刻に従って、フレームのデコードされたマルチメディアデータをレンダリングする。場合によっては、たとえば、レンダリングモジュール20は、受信機18が後続のスーパーフレームのフレームを受信するのと実質的に同時に目下のスーパーフレームのフレームをレンダリングしてもよい。そのため、レンダリングモジュール20は、受信機18が後続のスーパーフレームのフレームを受信するのと同じレートで、目下のスーパーフレームのフレームのデコードされたデータによってフレームメモリをリフレッシュしてもよい。後続のスーパーフレームを受信するのと実質的に同時に目下のスーパーフレームをレンダリングすることによって、デコーディングモジュール19が、送信中に導入される誤り、または、デコードされたデータが、ユーザのためにディスプレイ21にレンダリングされる前の、ネットワークにわたる送信中のデータの喪失の結果である任意の損傷を訂正することが可能になる。たとえば、それぞれのスーパーフレームは、スーパーフレームの終わりに、スーパーフレーム内の任意のトランスポート誤りを訂正するのに使用される誤り訂正ユニットを含んでもよい。誤り訂正ユニットが受信される前に、データがディスプレイ21にレンダリングされる場合、レンダリングされたビデオの損傷の可能性が高い。
【００３３】
チャネルスイッチ要求などのイベントに応答して、デコーディングデバイス14は、少なくとも1つのフレームに関連する再生時刻の前に、新しいチャネルのスーパーフレームの少なくとも1つのフレームをデコードし、レンダリングする。こうして、デコーディングデバイス14は、ユーザに新しいチャネルのコンテンツをより迅速に表示しうる。ユーザに対して表示されるコンテンツは、静止フレームまたは一連の静止フレームとして表示されてもよく、または、減少したレンダリングレートで表示されてもよい。しかし、静止フレームの表示または減少したレンダリングレートは、ユーザに対して何も表示しないかまたは前に見られた(watch)チャネルコンテンツを表示することに比べて、チャネル切換え中に、より満足を与える視聴体験を実現する可能性がある。
【００３４】
いくつかの態様では、レンダリングモジュール20は、目下のスーパーフレームのレンダリングが後続のスーパーフレームの受信と実質的に同時に起こるように、デコーディングデバイス14の受信動作とレンダリング動作が同期するまで、ディスプレイ21にスーパーフレームのフレームの1つのフレームをレンダリングしてもよい。上述したように、デコーディングデバイス14の受信動作とレンダリング動作が同期する時点は、フレームのレンダリング時刻が、同じフレームの再生時刻に等しい時点に相当してもよい。換言すれば、レンダリングモジュール20は、ディスプレイ21上でフリーズされるレンダリングされたフレームに関連する再生時刻まで、ディスプレイ21上でレンダリングされたフレームをフリーズしてもよい。一例では、レンダリングモジュール20は、フレームメモリのデコードされたデータをリフレッシュしないことによって、ディスプレイ21上でレンダリングされたフレームをフリーズしてもよい。受信動作とレンダリング動作が同期した後、レンダリングモジュール20は、参照データにおいて指定される関連する再生時刻に、スーパーフレームの残りのフレームのデータをレンダリングし始めてもよい。
【００３５】
他の態様では、レンダリングモジュール20は、複数のフレームを、その対応するレンダリングレートに先立ってレンダリングしてもよい。たとえば、レンダリングモジュール20は、デコーディングデバイス14の受信動作とレンダリング動作が同期するまで、すなわち、フレームのレンダリング時刻が、レンダリングされているフレームの関連する再生時刻に等しくなるまで、減少したレンダリングレートで1つまたは複数のスーパーフレームのフレームをレンダリングしてもよい。この場合、レンダリングモジュール20は、受信レートおよび/またはデコーディングレートより遅いリフレッシュレートでフレームメモリのデコードされたデータをリフレッシュしてもよい。こうして、2つ以上のフレームが、その関連する再生時刻の前にレンダリングされる。デコーディングデバイス14の受信動作とレンダリング動作が同期する前に経過する時間量は、レンダリングモジュール20がフレームをレンダリングする減少したレートに依存する。目下のスーパーフレームのレンダリングが後続のスーパーフレームの受信と実質的に同時に起こるように、デコーディングデバイス14の受信動作とレンダリング動作が同期した後、レンダリングモジュール20は、後続のスーパーフレームのフレームを、参照データにおいて指定されるその関連する再生時刻にレンダリングし始める。いくつかの態様では、レンダリングモジュール20は、受信動作とレンダリング動作が同期するまで、レンダリングフレームレートを徐々に増加してもよい。
【００３６】
別の例では、レンダリングモジュール20は、1つまたは複数のスーパーフレームのフレームを、その関連する再生時刻の前に、レンダリングするが、通常のレンダリングレートでレンダリングしてもよい。この場合、デコーディングデバイス14の受信動作とレンダリング動作は、後続のフレームの1つのフレームのデータが、デコーディングモジュール19によって受信されなくなるまで、同期しない可能性があり、以下で詳細に述べるように、目下のフレームがフリーズされる。
【００３７】
元の、または、減少したレンダリングレートでフレームをレンダリングするとき、デコーディングデバイス14は、符号化フレームおよび/またはデコードされたフレームのデータ損傷を監視してもよい。フレームの損傷は、送信中に導入される誤りまたはネットワークにわたる送信中のデータの喪失から生じる可能性がある。スーパーフレームの後続のフレームの損傷を検出することに応答して、受信機18は、スーパーフレームに関連する誤り訂正ユニットが受信されるのを待ち、関連する誤り訂正ユニットを使用してフレームの誤りを訂正しようと試みてもよい。したがって、受信機18は、フレームに関連する誤り訂正ユニットを使用して誤りが訂正されるまで、デコーディングモジュール19にフレームを供給しない。レンダリングモジュール20は、レンダリングすべきフレームデータが存在しないため、スーパーフレームのフレームをレンダリングするのを停止してもよい。代わりに、レンダリングモジュール20は、誤りを含む後続のフレームをレンダリングする代わりに、目下のところレンダリングされたフレームをフリーズしてもよい。
【００３８】
レンダリングモジュール20は、表示のためにスーパーフレーム内の第1のランダムアクセスポイント(random access point)(RAP)を最初にレンダリングするよう構成されてもよい。RAPは、たとえば、IフレームまたはCSFフレームを含んでもよい。あるいは、レンダリングモジュール20は、フレームを符号化するのに使用される符号化技法によらず、スーパーフレームの第1フレームをレンダリングしてもよい。換言すれば、レンダリングモジュール20は、第1フレームが、フレーム間符号化フレームであるか、フレーム内符号化フレームであるかによらず、スーパーフレームの第1のデコードされたフレームをレンダリングする。
【００３９】
先の技法は、個々に実施されてもよく、あるいは、こうした技法の2つ以上、または、こうした技法の全てが、エンコーディングデバイス12および/またはデコーディングデバイス14において一緒に実施されてもよい。エンコーディングデバイス12およびデコーディングデバイス14内のコンポーネントは、本明細書で述べる技法を実施するために適用可能なデバイスの例示である。しかし、エンコーディングデバイス12およびデコーディングデバイス14は、所望である場合、多くの他のコンポーネント、ならびに、上述したモジュールの1つまたは複数の機能を組み合わせる少数のコンポーネントを含んでもよい。さらに、エンコーディングデバイス12およびデコーディングデバイス14は、該当する場合には、無線周波数(RF)ワイヤレスコンポーネントおよびアンテナを含む、エンコードされたビデオの送信および受信のための適切な変調、復調、周波数変換、フィルタリング、および増幅コンポーネントを含んでもよい。しかし、例証を容易にするために、こうしたコンポーネントは、図1には示されない。
【００４０】
エンコーディングデバイス12およびデコーディングデバイス14内のコンポーネントは、1つまたは複数のプロセッサ、デジタル信号プロセッサ、特定用途向け集積回路(ASIC)、フィールドプログラマブルゲートアレイ(FPGA)、ディスクリートロジック、ソフトウェア、ハードウェア、ファームウェア、またはその任意の組合せとして実施されてもよい。モジュールとしての異なる特徴の説明は、エンコーディングデバイス12およびデコーディングデバイス14の異なる機能面を強調することを意図され、こうしたモジュールが、別個のハードウェアまたはソフトウェアコンポーネントによって実現されなければならないことを必ずしも意味しない。むしろ、1つまたは複数のモジュールに関連する機能は、共通のまたは別個のハードウェアまたはソフトウェアコンポーネント内に統合されてもよい。そのため、開示は、エンコーディングデバイス12およびデコーディングデバイス14の例に限定されるべきでない。
【００４１】
図2は、例示的なレンダリングモジュール20をさらに詳細に示すブロック図である。レンダリングモジュール20は、フレームメモリ22、ディスプレイドライバ24、およびリフレッシュコントローラ26を含む。フレームメモリ22は、スーパーフレームの少なくとも1つのフレームのデコードされたデータを格納する。フレームメモリ22は、デコーディングモジュール19(図1)からデコードされたデータを受信してもよい。ディスプレイドライバ24は、ディスプレイ21(図1)を駆動して、フレームメモリ22に格納された、デコードされたデータをユーザに提示する。リフレッシュコントローラ26は、レンダリングモジュール20が、デコーディングモジュール19からの新しいデコードされたフレームデータによってフレームメモリ22をリフレッシュするレートを制御する。図1に関して上述したように、フレームメモリ22、ディスプレイドライバ24、およびリフレッシュコントローラ26は、一緒に動作して、チャネルスイッチ要求に応答して、少なくとも1つのフレームに関連する再生時刻の前に、新しいチャネルのスーパーフレームのフレームの少なくとも1つのフレームをレンダリングする。
【００４２】
いくつかの態様では、レンダリングモジュール20は、フレームに関連する再生時刻の前に、ディスプレイ21にスーパーフレームのフレームの少なくとも1つのフレームをレンダリングし、レンダリングされたフレームをフリーズしてもよい。特に、ディスプレイドライバ24は、参照データにおいて指定される関連する再生時刻の前に、フレームメモリ22のデコードされたデータによってディスプレイ21を駆動してもよい。リフレッシュコントローラ26は、フレームに関連する再生時刻まで、フレームメモリ22のデコードされたデータをリフレッシュしない。換言すれば、リフレッシュコントローラは、目下のスーパーフレームのレンダリングが、後続のスーパーフレームの受信と実質的に同時に起こるようにデコーディングデバイス14の受信動作とレンダリング動作が同期するまで、フレームメモリ22のデコードされたデータをリフレッシュしない。
【００４３】
リフレッシュコントローラ26は、特定の期間の間、フレームメモリ22のデコードされたフレームデータをリフレッシュしないよう構成されてもよい。たとえば、リフレッシュコントローラ26は、スーパーフレームの後続のフレームに関連する再生時刻まで、フレームメモリ22のデコードされたフレームデータをリフレッシュしないよう構成されてもよい。そのため、レンダリングモジュール20は、デコーディングデバイス14の受信動作とレンダリング動作が同期するまで、ディスプレイ21上でレンダリングされたフレームをフリーズするものと見なされてもよい。換言すれば、レンダリングモジュール20は、デコーディングデバイス14の受信動作とレンダリング動作が同期するまで、フレームメモリ22内に目下のところデコードされたフレームを維持する。デコーディングデバイス14の受信動作とレンダリング動作が同期した後、たとえば、目下のところレンダリングされた/フリーズされたフレームに関連する再生時刻に、リフレッシュコントローラ26は、スーパーフレームの後続のフレームのそれぞれに関連する再生時刻に、後続のデコードされたフレームのデータによってフレームメモリ22をリフレッシュし始める。
【００４４】
他の態様では、レンダリングモジュール20は、1つまたは複数のスーパーフレームのフレームを、その関連する再生時刻の前にレンダリングしてもよい。一例では、レンダリングモジュール20は、デコーディングデバイス14の受信動作とレンダリング動作が同期するまで、減少したレートで1つまたは複数のフレームをレンダリングしてもよい。換言すれば、レンダリングモジュール20は、1つのフレームのレンダリング時刻が、同じフレームの関連する再生時刻に等しくなるまで、減少したレートで1つまたは複数のフレームをレンダリングしてもよい。これは、たとえば、減少したフレームレートでレンダリングされる1つまたは複数のフレームの最後のフレームに関連する再生時刻であってよい。この場合、リフレッシュコントローラ26は、通常のレンダリングレートより遅いリフレッシュレートでフレームメモリ22のデコードされたデータをリフレッシュする。こうして、2つ以上のフレームが、デコーディングデバイス14の受信動作とレンダリング動作が同期するまで、その関連する再生時刻の前にレンダリングされる。一例では、リフレッシュコントローラ26は、通常のレンダリングレートの半分であるレートでフレームメモリ22のデコードされたデータをリフレッシュする。この減少したリフレッシュレートにおいて、1つのスーパーフレームのレンダリング後に、デコーディングデバイス14の受信動作とレンダリング動作が同期する。しかし、その関連する再生時刻の前にレンダリングされる時間量またはスーパーフレームの数は、リフレッシュコントローラ26がフレームメモリ22のデコードされたデータをリフレッシュする、減少したリフレッシュレートに依存する。いくつかの態様では、リフレッシュコントローラは、同期を補助するために、リフレッシュレートを動的に増加させる、かつ/または、減少させてもよい。
【００４５】
別の例では、レンダリングモジュール20は、1つまたは複数のスーパーフレームのフレームを、その関連する再生時刻の前に、レンダリングするが、通常のレンダリングレートでレンダリングしてもよい。換言すれば、リフレッシュコントローラ26は、通常のリフレッシュレートでフレームメモリ22のデコードされたデータをリフレッシュする。デコーディングデバイス14の受信動作とレンダリング動作は、後続のフレームの1つのフレームのデータが、デコーディングモジュール19によって受信されなくなるまで、同期しない可能性があり、以下で詳細に述べるように、目下のフレームがフリーズされる。
【００４６】
2つ以上のフレームをその関連する再生時刻の前にレンダリングするとき、受信機18は、符号化された、および／または、デコードされたフレームにおけるデータ損傷を監視してもよい。フレームの損傷は、送信中に導入される誤りまたはネットワークにわたる送信中のデータの喪失から生じる可能性がある。スーパーフレームの後続のフレームの損傷を検出することに応答して、リフレッシュコントローラ26は、後続のフレームのデータを、フレームメモリ22のデコードされたデータをリフレッシュするときに使用しなくてもよい。そのため、リフレッシュコントローラ26は、後続のフレームをレンダリングする代わりに、目下のところレンダリングされたフレームをフリーズするために、フレームメモリ22内の前のフレームのデータを維持してもよい。
【００４７】
レンダリングモジュール20内のコンポーネントは、本明細書で述べる技法を実施するために適用可能なコンポーネントの例示である。しかし、レンダリングモジュール20は、所望である場合、多くの他のコンポーネント、ならびに、上述したモジュールの1つまたは複数の機能を組み合わせる少数のコンポーネントを含んでもよい。モジュール/コンポーネントとしての異なる特徴の説明は、レンダリングモジュール20の異なる機能面を強調することを意図され、こうしたモジュールが、別個のハードウェアまたはソフトウェアコンポーネントによって実現されなければならないことを必ずしも意味しない。むしろ、1つまたは複数のモジュール/コンポーネントに関連する機能は、共通のまたは別個のハードウェアまたはソフトウェアコンポーネント内に統合されてもよい。
【００４８】
図3は、例示的なエンコードされたマルチメディアシーケンス30の一部分を示す図である。エンコードされたシーケンス30は、マルチメディアデータのチャネルに相当してもよい。例として、エンコードされたシーケンス30は、ESPN、FOX、MSNBC、または別のテレビジョンチャネルに相当してもよい。図3に示す例は、1つだけのチャネルについてエンコードされたシーケンスを示すが、本開示の技法は、任意の数のチャネルについて任意の数のエンコードされたシーケンスに適用可能である。
【００４９】
エンコードされたシーケンス30は、複数の符号化フレームを含む。符号化フレームは、種々のフレーム間符号化またはフレーム内符号化技法によってエンコードされた各入力フレームの圧縮バージョンを表す。エンコードされたシーケンス30は、フレーム内符号化フレーム32(図3で「I11」として表示される)、Pフレーム34A〜34O(ひとまとめに、「Pフレーム34」、また、「PXX」として表示される)、ならびに、誤り訂正ユニット36Aおよび36B(ひとまとめに、「誤り訂正ユニット36」、また、「EXX」として表示される)を含む。
【００５０】
Iフレーム32は、各入力フレームの少なくとも一部分のフレーム内符号化バージョンである。換言すれば、Iフレーム32は、他のフレームを参照することなく、符号化され、したがって、独立してデコード可能である。Iフレーム32は、たとえば、ビデオシーケンスの開始時またはシーン変化時のフレーム内符号化フレームであってよい。そのため、Iフレーム32のロケーションは、スーパーフレーム38A内の任意のところにあってもよい。あるいは、フレーム内符号化フレームは、CSF(図3には示さず)を含んでもよい。
【００５１】
フレーム間符号化フレーム34は、1つまたは複数の他のフレームを参照する各入力フレームのフレーム間符号化バージョンである。図3に示す例では、フレーム間符号化フレーム34はPフレームを含む。しかし、他の態様では、フレーム間符号化フレームは、BフレームまたはPフレームとBフレームの組合せを含んでもよい。誤り訂正ユニット36は、誤り訂正のためにデコーディングデバイス14によって使用される情報を含む。たとえば、誤り訂正ユニット36は、送信誤りを訂正するためにデコーディングデバイス14によって使用されるリードソロモンパリティ検査符号を含んでもよい。
【００５２】
上述したように、エンコードされたシーケンス30の符号化フレームは、一緒にグループ化され、マルチメディアデータのセグメント、たとえば、スーパーフレームにされてもよい。図3に示す例に示すエンコードされたシーケンス30の所定部分は、2つの完全なスーパーフレーム38Aおよび38B(ひとまとめに「スーパーフレーム38」)ならびに第3スーパーフレームの一部分を含む。スーパーフレーム38Aは、Iフレーム32、Pフレーム34A〜34F、および誤り訂正ユニット36Aを含む。Iフレーム32およびPフレーム34A〜34Fは、スーパーフレーム38Aの1つまたは複数のデータブロックを形成してもよく、また、誤り訂正ユニット36Aは、保護ブロックを形成してもよい。そのため、Iフレーム32およびPフレーム34A〜34Fは、共通誤り訂正スキームに関連していると見なされてもよい。スーパーフレーム38Bは、Pフレーム34G〜34Mおよび誤り訂正ユニット36Bを含む。Pフレーム34G〜34Mは、スーパーフレーム38Bの1つまたは複数のデータブロックを形成してもよく、また、誤り訂正ユニット36Bは、保護ブロックを形成してもよい。そのため、Pフレーム34G〜34Mは、共通誤り訂正スキームに関連していると見なされてもよい。同様に、第3スーパーフレームの最初の2つのフレーム、すなわち、Pフレーム34Nおよび34Oが示される。図3に示すスーパーフレーム38のそれぞれは、7つのフレームおよびその対応する誤り訂正ユニットを含むが、スーパーフレーム38は、任意の数のフレームを含んでもよい。一態様では、たとえば、スーパーフレーム38はそれぞれ、30のフレームを含んでもよい。さらに、スーパーフレーム38はそれぞれ、フレームの異なる配置およびタイプを含んでもよい。たとえば、Iフレーム32は、スーパーフレーム38A内の任意のところに配置されてもよい。さらに、スーパーフレームは、2つ以上の誤り訂正ユニット36を含んでもよい。
【００５３】
デコーディングデバイス14は、チャネルスイッチ要求などのイベントを検出する。チャネルスイッチ要求は、ユーザインタフェースを介してユーザから受信されてもよい。一例では、ユーザは、チャネルスイッチ要求を生成するために、デコーディングデバイス14上に位置するチャネルスイッチボタンを作動させてもよい。図3に示す例では、デコーディングデバイス14は、矢印40においてチャネルスイッチ要求を受信する。チャネルスイッチ要求を受信した後、デコーディングデバイス14は、任意のフレームをレンダリングする前に、次のスーパーフレーム、図3に示す例のスーパーフレーム38Bの開始まで待ってもよい。あるいは、デコーディングデバイス14は、スーパーフレーム38Bを待たないが、代わりに、チャネルスイッチ要求に続く第1フレームを、即座にデコードし、レンダリングし始めてもよい。
【００５４】
図3に示す例では、デコーディングデバイス14は、受信機18が誤り訂正符号ブロックを含むスーパーフレーム全体を受信した後、受信機18(図1)からスーパーフレーム38を受信する。そのため、デコーディングデバイス14は、任意のフレームをレンダリングする前に、次のスーパーフレーム、スーパーフレーム38Bの開始まで待つ。デコーディングデバイス14は、フレームに関連する再生時刻の前に、ユーザに表示するためにスーパーフレーム38Aのフレームの1つのフレームをデコードし、レンダリングする。図3に示す例では、デコーディングデバイス14は、矢印42においてフレームをレンダリングし始める。慣例的に、デコーディングデバイス14は、フレームを、参照データにおいて指定されたその各再生時刻にレンダリングし始めることになり、再生時刻は、第2スーパーフレーム38Bを基準にして通常測定される。しかし、レンダリングモジュール20は、本開示の技法に従って矢印42にてIフレーム32をレンダリングして、ユーザに新しいチャネルのコンテンツをより迅速に提示する。示す例では、Iフレーム32は、慣例的に、矢印46で表される各再生時刻においてデコードされることになる。
【００５５】
ディスプレイ21にIフレーム32をレンダリングした後、デコーディングデバイス14は、Iフレーム32に関連する再生時刻、すなわち、矢印46の時刻まで、レンダリングしたIフレーム32をフリーズする。この時点で、デコーディングデバイス14の受信動作とレンダリング動作が同期し、レンダリングモジュール20は、参照データにおいて指定される関連する再生時刻にて、スーパーフレーム38Aの残りのデコードされたフレームのデータをレンダリングし始める。この時点で、レンダリングモジュール20が、ユーザに対してスーパーフレーム38Aのフレームをレンダリングする間に、受信機18は、スーパーフレーム38Bのフレームを受信する。たとえば、レンダリングモジュール20がPフレームP14をレンダリングするとき、受信機18は、フレームP25を受信する。
【００５６】
チャネルスイッチ要求に応答して、Iフレーム32を、その関連する再生時刻前にレンダリングすることによって、デコーディングデバイス14が、ユーザに新しいチャネルのコンテンツをより迅速に表示することが可能になる。その上、レンダリングされたIフレーム32をフリーズし、受信動作とレンダリング動作が同期するのを待つことによって、デコードされたデータの残りが、ユーザに提示するためにディスプレイ21にレンダリングされる前に、デコーディングデバイス14がフレームの損傷を訂正することが可能になる。そのため、ユーザに表示されるコンテンツは、静止フレームとして表示されてもよいが、チャネル切換えイベント中に、何も表示しないか、または、前に視聴したチャネルのコンテンツを表示することに比べて、より満足を与える視聴体験を提供する。
【００５７】
上述した例では、デコーディングデバイス14は、スーパーフレーム38Aの前のフレームの任意のフレームの代わりに、Iフレーム32をレンダリングする。こうして、デコーディングデバイス14は、スーパーフレーム38A内のRAPをレンダリングする。あるいは、デコーディングデバイス14は、スーパーフレーム38A内の他のフレーム、たとえば、Pフレーム34Cを、その対応する再生時刻の前にレンダリングしてもよい。しかし、レンダリングされたPフレーム34Cは、新しいチャネルと古いチャネルからのコンテンツの混合物によって生じるアーチファクトを含む可能性がある。
【００５８】
エンコードされたシーケンス30は、例示のためだけに示される。エンコードされたシーケンス30内のIフレーム32の種々のロケーションが使用されてもよい。さらに、エンコードされたシーケンス30は、フレームの異なる配置およびタイプを含んでもよい。たとえば、エンコードされたシーケンスは、CSFフレーム、Iフレーム、Pフレーム、およびBフレームの異なる配置を含んでもよい。
【００５９】
図4は、別の例示的なエンコードされたマルチメディアシーケンス50の一部分を示す図である。エンコードされたマルチメディアシーケンス50は、関連する再生時刻の前にデータの単一のデコードされたフレームをレンダリングし、レンダリングされたフレームをフリーズする代わりに、デコーディングデバイス14が、1つまたは複数のスーパーフレーム38の複数のフレームを、その関連する再生時刻の前にレンダリングすることを除いて、図3のエンコードされたマルチメディアシーケンス30に実質的に一致する。
【００６０】
特に、デコーディングデバイス14は、チャネルスイッチ要求に応答して、スーパーフレーム38Aの1つまたは複数のフレームを、その関連する再生時刻の前にレンダリングし始める。いくつかの態様では、デコーディングデバイス14は、Iフレーム32などのスーパーフレーム38AのRAPをレンダリングし始めてもよい。図3に関して上述したように、デコーディングデバイス14は、矢印42においてIフレーム32をレンダリングしてもよい。しかし、レンダリングしたIフレーム32をフリーズする代わりに、デコーディングデバイス14は、スーパーフレーム38Aの後続のフレームをレンダリングし続けてもよい。
【００６１】
一例では、デコーディングデバイス14は、目下のスーパーフレームのレンダリングが、後続のスーパーフレームの受信と実質的に同時に起こるようにデコーディングデバイス14の受信動作とレンダリング動作が同期するまで、減少したレンダリングレートで1つまたは複数のフレームをレンダリングしてもよい。たとえば、デコーディングデバイス14は、矢印42において、通常のレンダリングレートの半分であるレンダリングフレームレートでスーパーフレーム38Aのフレームをレンダリングし始めてもよい。この減少したレンダリングフレームレートにおいて、デコーディングデバイス14の受信動作とレンダリング動作が、矢印46において同期する。場合によっては、同期が、スーパーフレームの終わりに起こることが好ましい。こうして、スーパーフレーム38Aの複数のフレームが、その関連する再生時刻の前にレンダリングされる。しかし、デコーディングデバイス14の受信動作とレンダリング動作が同期する前にレンダリングされる時間量またはスーパーフレームの数は、レンダリングモジュール20がフレームをレンダリングする、減少したリフレッシュレートに依存する。いくつかの態様では、デコーディングデバイス14は、目下のスーパーフレームのレンダリングが、後続のスーパーフレームの受信と実質的に同じ時間的瞬間に起こるように受信動作とレンダリング動作が同期するまで、レンダリングレートを徐々に増加してもよい。
【００６２】
デコーディングデバイス14の受信動作とレンダリング動作が同期した後、レンダリングモジュール20は、後続のスーパーフレームのフレームを、参照データにおいて指定されるその各再生時刻にレンダリングし始める。そのため、デコーディングデバイス14は、矢印46で表される関連する再生時刻においてPフレーム34Gをレンダリングする。さらに、スーパーフレーム38Bのフレームの残りのフレームは、スーパーフレーム38Bの参照データにおいて指定されるその各再生時刻にレンダリングされる。減少したレートでスーパーフレーム38Aのフレームをレンダリングすることによって、デコーディングデバイス14が、より迅速にユーザに提示するために、ディスプレイ21に新しいチャネルのコンテンツをレンダリングすることが可能になる。
【００６３】
別の例では、レンダリングモジュール20は、1つまたは複数のスーパーフレームのフレームを、その関連する再生時刻の前にレンダリングするが、通常のレンダリングレートでレンダリングしてもよい。たとえば、デコーディングデバイス14は、矢印42において、通常レンダリングレートでスーパーフレーム38Aのフレームをレンダリングし始めてもよい。この場合、デコーディングデバイス14の受信動作とレンダリング動作は、矢印46において同期しない。実際には、後続のフレームの1つのフレームのデータがレンダリングに利用可能でなくなるまで、デコーディングデバイス14の受信動作とレンダリング動作は同期しない可能性がある。後続のフレームの1つのフレームについてデータが全く利用可能でなくなると、レンダリングモジュール20は、以下で詳細に述べるように、受信動作とレンダリング動作が同期するまで、目下のところレンダリングされたフレームをフリーズしてもよい。
【００６４】
図5は、別の例示的なエンコードされたマルチメディアシーケンス60の一部分を示す図である。エンコードされたマルチメディアシーケンス60は、複数のデータユニット(「DXX」と表示される)および誤り訂正ユニット(「EXX」と表示される)を含む。データユニットおよび誤り訂正ユニットは、グループ化されて、コードブロック62Aおよび62B(ひとまとめに、「データのセグメント62」)を形成する。特に、データユニットD11〜D17および誤り訂正ユニットE11は、グループ化されて、コードブロック62Aを形成する。同様に、データユニットD21〜D27および誤り訂正ユニットE22は、グループ化されて、コードブロック62Bを形成する。こうして、コードブロック62は、共通誤り訂正符号に相当するデータユニットのグループを表す。
【００６５】
一部の態様では、コードブロック62と、スーパーフレーム、たとえば、図3および4のスーパーフレーム38との間に1:1対応が存在してもよい。換言すれば、コードブロック62はそれぞれ、各スーパーフレームに対応してもよい。あるいは、2つ以上のコードブロックが、単一スーパーフレーム内に含まれてもよい。同様に、データユニットとデータのフレームとの間にも1:1対応が存在してもよい。換言すれば、データユニットはそれぞれ、ピクチャシーケンスの単一フレームに対応してもよい。あるいは、データユニットは、単一フレームより多くのデータを含んでもよく、または、少ないデータを含んでもよい。
【００６６】
一部の実施形態では、受信機18は、関連する誤り訂正ユニットEXXを含むデータのセグメント全体を受信し、データのセグメント全体をデコーディングモジュール19に供給するために待ってもよい。しかし、上述した早期レンダリング能力をさらに高めるために、受信機18は、誤り訂正ユニットE11が、たとえば矢印64において受信される前に、データのセグメント62Aのデータユニットの少なくとも1つのデータユニットをデコーディングモジュール19に供給してもよい。換言すれば、受信機18は、データのセグメント62Aのデータユニットの少なくとも一部分を受信し、データのセグメント62Aが受信されるときに、データユニットをデコーディングモジュール19に供給する。たとえば、受信機18は、個々のデータユニットが受信されるときに、データのセグメント62Aのデータユニットをデコーディングモジュール19に供給してもよい。データのセグメント62A全体が受信される前に、1つまたは複数のデータユニットをデコーディングモジュール19に供給することによって、デコーディングデバイス14が、ディスプレイに新しいチャネルのコンテンツをより迅速にレンダリングすることが可能になる。
【００６７】
しかし、データのセグメント62Aのデータユニットの1つのデータユニットが送信誤りを含むとき、受信機18は、誤り訂正ユニットE11が受信されるまで、データユニットをデコーディングモジュール19に与えることを停止する。代わりに、受信機18は、誤り訂正ユニットE11が受信されるのを待ち、誤り訂正ユニットE11を使用してフレームの送信誤りを訂正しようと試みる。誤りが訂正されると、受信機18は、フレームをデコーディングモジュール19に供給し続ける。
【００６８】
図6は、例示的なエンコードされたマルチメディアシーケンス70の一部分を示す図である。エンコードされたシーケンス70は、図3のエンコードされたシーケンス30に実質的に一致する。以下で詳細に述べることになるように、デコーディングデバイス14は、図3に関して上述した早期レンダリング技法を、図5に関して述べた、受信機18からデコーディングモジュール19へのデータユニットの早期送出と組み合わせて、デコーダデバイス14の早期レンダリング能力をさらに高めてもよい。
【００６９】
上述したように、受信機18は、データのセグメントの誤り訂正ユニット36が受信される前に、データのセグメントのデータユニットの少なくとも1つのデータユニットをデコーディングモジュール19へ供給してもよい。フレームに関連する誤り訂正ユニット36を受信する前に、データユニットをデコーディングモジュール19へ供給することによって、図3に関して上述した技法に比べて、フレームに関連する再生時刻のさらに前に、デコーディングデバイス14がIフレーム32をレンダリングすることが可能になる。より具体的には、デコーディングデバイス14は、矢印72においてフレームをレンダリングし始める。そのため、デコーディングデバイス14は、スーパーフレーム38A全体を受信する前にIフレーム32をデコードし、レンダリングする。ディスプレイ21にIフレーム32をレンダリングした後、デコーディングデバイス14は、スーパーフレーム38Aのレンダリングが、後続のスーパーフレーム38Bの受信と実質的に同時に、すなわち、矢印74において起こるようにデコーディングデバイス14の受信動作とレンダリング動作が同期するまで、レンダリングされたIフレーム32をフリーズする。この時点で、受信動作とレンダリング動作が同期し、レンダリングモジュール20は、参照データにおいて指定される関連する再生時刻に、スーパーフレーム38Aの残りのデコードされたフレームのデータをレンダリングし始める。しかし、関連する誤り訂正ユニット36を受信する前にデータをレンダリングすることは、デコーディングデバイス14が、関連する誤り訂正ユニット36をまだ受信していないために訂正することができない送信誤りによって、レンダリングされたIフレーム32が視覚的アーチファクトまたは損傷を有することをもたらす可能性がある。
【００７０】
図7は、別の例示的なエンコードされたマルチメディアシーケンス80の一部分を示す図である。エンコードされたシーケンス80は、エンコードされたシーケンス80がCSF81A〜81C(図7において、ひとまとめに「CSF81」また「CSFX」と表示される)を含むことを除いて、図6のエンコードされたシーケンス70に実質的に一致する。図7に示す例では、スーパーフレーム38はそれぞれ、各スーパーフレーム38内の第1フレームとして位置する対応するCSF81を含む。しかし、エンコードされたシーケンス80内でCSFフレーム81のロケーションを選択する種々の方法が使用されてもよい。
【００７１】
CSF81は、各入力フレームの少なくとも一部分のフレーム内符号化バージョンである。換言すれば、CSF81は、他のフレームを参照することなく符号化され、したがって、独立してデコード可能である。いくつかの態様では、CSF81は、エンコードされたシーケンス80の他のフレームに比べて低品質でエンコードされてもよい。図7には示さないが、CSF81は、ビデオシーケンス内のCSF81の時間的な位置が、同じビデオシーケンス内の対応するフレーム間符号化フレーム34の時間的な位置に対応するという意味で、フレーム間符号化フレーム34の対応するフレームと時間的に同じ場所にあってもよい。この場合、CSF81は、対応するフレーム間符号化フレーム34内で符号化されたマルチメディアデータの少なくとも一部分の第2のフレーム内符号化バージョンと見なされてもよい。
【００７２】
チャネルスイッチが全く要求されないとき、CSF81は、消え、デコーディングデバイスは、CSFフレーム81に関連するフレーム間符号化フレーム34の1つのフレームをデコードし、レンダリングする。しかし、チャネルスイッチ要求に応答して、デコーディングデバイス14は、スーパーフレーム38AのCSF81Aを、すなわち、矢印82においてデコードし、レンダリングする。本開示の技法によれば、デコーディングデバイス14は、CSF81Aを、その関連する再生時刻の前にレンダリングする。CSF81Aの関連する再生時刻は、場合によっては、フレーム間符号化フレーム34の対応する1つのフレーム(たとえば、Pフレーム34A)に関連する同じ再生時刻であってもよい。
【００７３】
場合によっては、上述したように、デコーディングデバイス14は、レンダリングされたCSFフレーム81Aをフリーズしてもよい。あるいは、デコーディングデバイス14は、1つまたは複数の後続のフレームを、その関連する再生時刻の前にレンダリングしてもよい。一例では、デコーディングデバイス14は、デコーディングデバイス14の受信動作とレンダリング動作が同期するまで、減少したレンダリングレートでスーパーフレーム38Aのフレームをレンダリングしてもよい。換言すれば、デコーディングデバイス14は、フレームの1つのフレームのレンダリング時刻が、そのフレームに関連する再生時刻に同じになるまで、減少したレンダリングレートでスーパーフレーム38Aのフレームをレンダリングしてもよい。こうして、スーパーフレーム38Aの複数のフレームは、その関連する再生時刻の前にレンダリングされる。しかし、デコーディングデバイス14の受信動作とレンダリング動作が同期する前にレンダリングされる時間量またはスーパーフレームの数は、レンダリングモジュール20がフレームをレンダリングする、減少したレンダリングレートに依存する。いくつかの態様では、デコーディングデバイス14は、目下のスーパーフレームのレンダリングが、後続のスーパーフレームの受信と実質的に同時に起こるように受信動作とレンダリング動作が同期するまで、レンダリングレートを徐々に増加してもよい。
【００７４】
別の例では、レンダリングモジュール20は、スーパーフレーム38Aのフレームを、その関連する再生時刻の前にレンダリングするが、通常レンダリングレートでレンダリングしてもよい。たとえば、デコーディングデバイス14は、矢印82において、通常レンダリングレートでスーパーフレーム38Aのフレームをレンダリングし始めてもよい。通常レンダリングレートでフレームをレンダリングするとき、デコーディングデバイス14の受信動作とレンダリング動作は、矢印46において同期しない。実際には、後続のフレームの1つのフレームのデータがレンダリングに利用可能でなくなるまで、デコーディングデバイス14の受信動作とレンダリング動作は同期しない可能性があり、以下に述べるように、レンダリングされたフレームがフリーズされる。
【００７５】
レンダリングモジュール20は、送信誤りのために、スーパーフレーム38Aの後続のフレームのデータを持たなくてもよい。上述したように、損傷は、送信中に導入される誤りまたはネットワークにわたる送信中のデータの喪失の結果である可能性がある。示す例では、レンダリングモジュール20は、受信機18によって検出された損傷誤りのために、Pフレーム34Dについてのデータを持たなくてもよい。結果として、レンダリングモジュール20は、矢印86で指示するロケーションにおいて、目下のところレンダリングされたフレーム、すなわち、Pフレーム34Cをフリーズする。デコーディングデバイス14は、Pフレーム34Cに関連する再生時刻まで、すなわち、デコーディングデバイス14の受信動作とレンダリング動作が、矢印88において同期するまで、Pフレーム34Cをフリーズし続けてもよい。
【００７６】
図8は、スーパーフレームのフレームをレンダリングし、スーパーフレーム全体が受信されるまで、レンダリングされたフレームをフリーズする、図1のデコーディングデバイス14などのデコーディングデバイスの例示的な動作を示すフロー図である。最初に、デコーディングモジュール19は、チャネルスイッチ要求を受信する(90)。チャネルスイッチ要求は、チャネルコントロールボタンなどのユーザインタフェースを介してユーザから受信されてもよい。
【００７７】
デコーディングモジュール19は、スーパーフレームのフレームをデコードする(92)。場合によっては、デコーディングモジュール19は、スーパーフレームの第1のRAP、たとえば、CSFまたはIフレームまで待つ。デコーディングモジュール19はまた、スーパーフレームのフレームの1つのフレームをデコードする前に、チャネルスイッチ要求後に、最初の全スーパーフレームのフレームを受信するまで待ってもよい。換言すれば、チャネルスイッチ要求が、新しいチャネルのスーパーフレームの途中で起こる場合、デコーディングモジュール19は、後続のスーパーフレームのフレームをデコードするために待ってもよい。あるいは、デコーディングデバイス14は、次のスーパーフレーム38を待たないが、代わりに、チャネルスイッチ要求に続く第1のRAPフレームを即座にデコードし始めてもよい。
【００７８】
レンダリングモジュール20は、関連する再生時刻の前に、ユーザに表示するために、スーパーフレームのデコードされたフレームをレンダリングする(94)。特に、レンダリングモジュール20は、スーパーフレームの参照データにおいて指定される関連する再生時刻の前に、フレームメモリ22に格納されるフレームのデコードされたデータを提示するために、ディスプレイ21を駆動する。レンダリングモジュール20は、ディスプレイ21上でレンダリングされたフレームをフリーズする(96)。レンダリングモジュール20は、フレームメモリ22のデコードされたデータをリフレッシュしないことによって、ディスプレイ21上で目下のところレンダリングされたフレームをフリーズしてもよい。換言すれば、フレームメモリ22は、目下のところユーザに表示されるフレームのデコードされたデータを維持する。
【００７９】
デコーディングデバイスは、目下のスーパーフレームのレンダリングが、後続のスーパーフレームの受信と実質的に同時に起こるように受信動作とレンダリング動作が同期するまで待つ(98)。受信動作とレンダリング動作は、たとえば、フリーズされたフレームに関連する再生時刻に同期する可能性がある。受信動作とレンダリング動作が同期すると、レンダリングモジュール20は、通常レンダリングレートでスーパーフレームのさらなるデコードされたフレームをレンダリングし始める(99)。レンダリングモジュール20は、たとえば、フリーズされたフレームの再生時刻に、スーパーフレームのさらなるデコードされたフレームをレンダリングし始めてもよい。
【００８０】
図9は、1つまたは複数のスーパーフレームの複数のフレームを、その関連する再生時刻の前にレンダリングする、図1のデコーディングデバイス14などのデコーディングデバイスの例示的な動作を示すフロー図である。最初に、デコーディングモジュール19は、チャネルスイッチ要求を受信する(100)。チャネルスイッチ要求は、チャネルコントロールボタンなどのユーザインタフェースを介してユーザから受信されてもよい
【００８１】
デコーディングモジュール19は、スーパーフレームのフレームをデコードする(102)。場合によっては、デコーディングモジュール19は、スーパーフレームの第1のRAP、たとえば、CSFまたはIフレームまで待つ。デコーディングモジュール19はまた、フレームをデコードし始める前に、チャネルスイッチ要求に続く最初の全スーパーフレームまで待ってもよい。換言すれば、チャネルスイッチ要求が、新しいチャネルのスーパーフレームの途中で起こる場合、デコーディングモジュール19は、フレームをデコードする前に、後続のスーパーフレームについてデコードするために待ってもよい。あるいは、デコーディングデバイス14は、次のスーパーフレーム38を待たないが、代わりに、チャネルスイッチ要求に続く第1フレームを即座にデコードし始めてもよい。
【００８２】
レンダリングモジュール20は、スーパーフレームのデコードされたフレームを、参照データにおいて指定されるその関連する再生時刻の前にレンダリングする(104)。いくつかの態様では、レンダリングモジュール20は、フレームをデコードした直後にデコードされたフレームをレンダリングしてもよい。あるいは、レンダリングモジュール20は、フレームのデコーディングとレンダリングとの間の指定された遅延後に、ディスプレイ21にフレームをレンダリングし始めてもよい。いずれにせよ、レンダリングモジュール20は、フレームを、スーパーフレームの参照データにおいて指定されるその関連する再生時刻の前にレンダリングし始める。レンダリングモジュール20は、たとえば、フレームのデコードされたデータを提示するために、フレームメモリ22からのデータによってディスプレイ21を駆動してもよい。
【００８３】
デコーディングデバイス14は、デコーディングデバイス14が次のフレームについてのデータを有するかどうかを判定する(106)。デコーディングデバイス14は、送信中に導入されるフレームの損傷(誤り)またはネットワークにわたる送信中のデータの喪失を監視してもよい。スーパーフレームの後続のフレームの損傷を検出することに応答して、受信機18は、受信されるスーパーフレームに関連する誤り訂正ユニットを待ち、関連する誤り訂正ユニットを使用して、フレームの誤りを訂正しようと試みてもよい。したがって、受信機18は、フレームに関連する誤り訂正ユニットを使用して、誤りが訂正されるまで、デコーディングモジュール19にフレームを供給しない。したがって、レンダリングモジュール20は、レンダリングすべきデコードされたフレームデータを全く持たない。
【００８４】
デコーディングデバイス14が、後続のフレームについてデコードされたデータを持たないとき、レンダリングモジュール20は、目下のところレンダリングされたフレームをフリーズする(114)。レンダリングモジュール20は、フレームメモリ22のデコードされたデータをリフレッシュしないことによって、ディスプレイ21上で目下のところレンダリングされたフレームをフリーズしてもよい。換言すれば、フレームメモリ22は、ユーザに目下のところ表示されるフレームのデコードされたデータを維持する。
【００８５】
デコーディングデバイス14が、後続のフレームについてデコードされたデータを有するとき、レンダリングモジュール20は、関連する再生時刻の前に、デコードされたデータをレンダリングする(108)。レンダリングモジュール20は、たとえば、後続のフレームのデコードされたデータを、その関連する再生時刻前に提示するために、フレームメモリ22のデータをリフレッシュしてもよい。通常レンダリングレートでデータをレンダリングするとき、デコーディングデバイス14は、デコーディングデバイス14が次のフレームについてのデータを有するかどうかを判定する(110、106)。
【００８６】
減少したレンダリングレートでデータをレンダリングするとき、または、後続のフレームの誤りのために、フレームがフリーズされるとき、デコーディングデバイス14は、目下のスーパーフレームのレンダリングが、後続のスーパーフレームの受信と実質的に同時に起こるように受信動作とレンダリング動作が同期したかどうかを判定する(112)。上述したように、受信動作とレンダリング動作が同期する時点は、フレームのレンダリング時刻が、同じフレームの関連する再生時刻に等しい時点に対応してもよい。減少したレンダリングレートでデータをレンダリングするとき、デコーディングデバイス14の受信動作とレンダリング動作が同期する前にレンダリングされる時間量またはフレームの数は、レンダリングモジュール20がフレームをレンダリングする、減少したレートに依存する。例として、デコーディングデバイス14が、受信およびデコーディングフレームレートの半分であるレンダリングレートでスーパーフレームのフレームをレンダリングするとき、目下のスーパーフレームのレンダリングが、スーパーフレーム全体をレンダリングした後の後続のスーパーフレームの受信と実質的に同時に起こるように受信動作とレンダリング動作が同期する可能性がある。
【００８７】
受信動作とレンダリング動作が同期しないとき、デコーディングデバイスは、フレームのデコードされたデータが利用可能であるとき、スーパーフレームのフレームをデコードし続ける。さらに、デコーディングデバイス14は、減少したレンダリングレートでスーパーフレームのデコードされたフレームをレンダリングし続ける。しかし、デコーディングデバイス14の受信動作とレンダリング動作が同期した後、レンダリングモジュール20は、マルチメディアデータのシーケンスのフレームを、スーパーフレームの参照データにおいて指定されるその関連する再生時刻にレンダリングし始める(116)。換言すれば、レンダリングモジュール20は、元のレンダリングレートでフレームをレンダリングし始める。
【００８８】
本明細書で述べる教示に基づいて、本明細書で開示される態様は、任意の他の態様と独立に実施されてもよいこと、および、これらの態様の2つ以上は、種々の方法で組合わされてもよいことが明らかであるべきである。本明細書で述べる技法は、ハードウェア、ソフトウェア、ファームウェア、またはその任意の組合せで実施されてもよい。ハードウェアで実施される場合、技法は、デジタルハードウェア、アナログハードウェア、または、その組合せを使用して実現されてもよい。ソフトウェアで実施される場合、技法は、1つまたは複数の命令またはコードがその上に格納されるコンピュータ読取り可能媒体を含むコンピュータプログラム製品によって少なくとも部分的に実現されてもよい。
【００８９】
限定としてではなく、例として、こうしたコンピュータ読取り可能媒体は、シンクロナスダイナミックランダムアクセスメモリ(synchronous dynamic random access memory)(SDRAM)などのRAM、リードオンリーメモリ(read-only memory)(ROM)、不揮発性ランダムアクセスメモリ(non-volatile random access memory(NVRAM))、電気的消去可能プログラマブルリードオンリーメモリ(electrically erasable programmable read-only memory)(EEPROM)、消去可能プログラマブルリードオンリーメモリ(erasable programmable read-only memory)(EPROM)、フラッシュメモリ、CD-ROM、あるいは、他の光ディスク記憶デバイス、磁気ディスク記憶デバイス、または他の磁気記憶デバイス、あるいは、命令またはデータ構造の形態で所望のプログラムコードを搬送するかまたは記憶するのに使用されうり、また、コンピュータによってアクセスされうる他の触知可能媒体を含みうる。
【００９０】
コンピュータプログラム製品のコンピュータ読取り可能媒体に関連する命令またはコードは、コンピュータによって、たとえば、1つまたは複数のデジタル信号プロセッサ(digital signal processor)(DSP)、汎用マイクロプロセッサ、ASIC、FPGA、または他の匹敵する集積またはディスクリートロジック回路などの、1つまたは複数のプロセッサによって実行されてもよい。
【００９１】
いくつかの態様および例が述べられた。しかし、これらの例に対する種々の変更が可能であり、本明細書に提示される原理は、他の態様に適用されてもよい。これらのまた他の態様は、添付特許請求の範囲内にある。
【符号の説明】
【００９２】
10  マルチメディア符号化システム
12  エンコーディングデバイス
14  デコーディングデバイス
15  伝送チャネル
16  エンコーディングモジュール
17  送信機
18  受信機
19  デコーディングモジュール
20  レンダリングモジュール
21  ディスプレイ
22  フレームメモリ
24  ディスプレイドライバ
26  リフレッシュコントローラ
【図１】
2010532963.tif 000003
【図２】
2010532963.tif 000004
【図３】
2010532963.tif 000005
【図４】
2010532963.tif 000006
【図５】
2010532963.tif 000007
【図６】
2010532963.tif 000008
【図７】
2010532963.tif 000009
【図８】
2010532963.tif 000010
【図９】
2010532963.tif 000011
【手続補正書】
【提出日】平成21年4月10日(2009.4.10)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
マルチメディアデータを処理する方法において、
前記マルチメディアデータのセグメントを受信するステップであって、前記マルチメディアデータの前記セグメントは、複数のビデオフレームおよび前記複数のビデオフレームに関連する再生時刻を特定する参照データを含む、ステップと、
チャネルスイッチ要求に応答して、前記マルチメディアデータの前記セグメントを受信するとすぐに、前記複数のビデオフレームの少なくとも1つのビデオフレームを、前記少なくとも1つのビデオフレームに関連する所与の再生時刻の前に、ディスプレイにレンダリングするステップとを含む方法。
【請求項２】
前記少なくとも1つのビデオフレームに関連する前記所与の再生時刻まで、前記複数のビデオフレームの少なくとも1つのビデオフレームをフリーズするステップをさらに含む請求項1に記載の方法。
【請求項３】
前記少なくとも1つのビデオフレームをフリーズするステップは、前記少なくとも1つのビデオフレームに関連する前記所与の再生時刻まで、フレームメモリ内に前記ビデオフレームのデコードされたデータを維持するステップを含む請求項2に記載の方法。
【請求項４】
前記ディスプレイに前記少なくとも1つのビデオフレームをレンダリングするステップは、前記複数のビデオフレームの最後のビデオフレームに関連する前記所与の再生時刻まで、減少したレンダリングレートで前記ディスプレイに前記複数のビデオフレームをレンダリングするステップを含む請求項1に記載の方法。
【請求項５】
前記減少したレンダリングレートで前記ディスプレイに複数のビデオフレームをレンダリングするステップは、通常レンダリングレートより小さいリフレッシュレートで前記フレームの後続のフレームのデコードされたデータによってフレームメモリのデコードされたデータをリフレッシュするステップを含む請求項4に記載の方法。
【請求項６】
前記複数のビデオフレームの前記最後のフレームに関連する前記所与の再生時刻後に、元のレンダリングレートで前記ディスプレイに前記複数のビデオフレームをレンダリングするステップをさらに含む請求項4に記載の方法。
【請求項７】
前記減少したレンダリングレートは、前記元のレンダリングレートの1/2である請求項6に記載の方法。
【請求項８】
前記複数のビデオフレームが前記ディスプレイにレンダリングされる前記減少したレンダリングレートを徐々に増加させるステップをさらに含む請求項4に記載の方法。
【請求項９】
前記マルチメディアデータのセグメント内に含まれる誤り訂正ユニットを受信するステップと、
前記マルチメディアデータのセグメントの前記誤り訂正ユニットを受信するまで、ディスプレイに前記複数のビデオフレームの少なくとも1つのビデオフレームをレンダリングするステップとをさらに含む請求項1に記載の方法。
【請求項１０】
前記複数のビデオフレームの第2のビデオフレーム内の誤りを検出するステップと、
前記第2のビデオフレーム内の前記誤りを検出することによって、前記ディスプレイ上で前記複数のビデオフレームの第1のビデオフレームをフリーズするステップとをさらに含む請求項1に記載の方法。
【請求項１１】
前記ディスプレイに前記少なくとも1つのビデオフレームをレンダリングするステップは、
フレームメモリに前記少なくとも1つのビデオフレームのデコードされたデータを格納するステップと、
前記フレームメモリ内の前記データによって前記ディスプレイを駆動するステップとを含む請求項1に記載の方法。
【請求項１２】
マルチメディアデータを処理する装置において、
前記マルチメディアデータのセグメントを受信する手段であって、前記マルチメディアデータの前記セグメントは、複数のビデオフレームおよび前記複数のビデオフレームに関連する再生時刻を特定する参照データを含む、手段と、
チャネルスイッチ要求に応答して、前記マルチメディアデータの前記セグメントを受信するとすぐに、前記複数のビデオフレームの少なくとも1つのビデオフレームを、前記少なくとも1つのビデオフレームに関連する所与の再生時刻の前に、ディスプレイにレンダリングする手段とを備える装置。
【請求項１３】
前記マルチメディアデータのセグメントを受信する手段は受信モジュールであり、前記ディスプレイに前記複数のビデオフレームをレンダリングする手段はレンダリングモジュールである請求項12に記載の装置。
【請求項１４】
前記レンダリングする手段は、前記少なくとも1つのビデオフレームに関連する前記所与の再生時刻まで前記複数のビデオフレームの少なくとも1つのビデオフレームをフリーズする請求項12に記載の装置。
【請求項１５】
前記レンダリング手段は、前記少なくとも1つのビデオフレームに関連する前記所与の再生時刻まで、フレームメモリ内に前記ビデオフレームのデコードされたデータを維持する請求項14に記載の装置。
【請求項１６】
前記レンダリング手段は、前記複数のビデオフレームの最後のフレームに関連する前記所与の再生時刻まで、減少したレンダリングレートで前記ディスプレイに前記複数のビデオフレームをレンダリングする請求項12に記載の装置。
【請求項１７】
前記レンダリング手段は、通常レンダリングレートより小さいリフレッシュレートで前記フレームの後続のフレームのデコードされたデータによってフレームメモリのデコードされたデータをリフレッシュする請求項16に記載の装置。
【請求項１８】
前記レンダリング手段は、前記複数のビデオフレームの前記最後のフレームに関連する前記所与の再生時刻後に、元のレンダリングレートで前記ディスプレイに前記複数のビデオフレームをレンダリングする請求項16に記載の装置。
【請求項１９】
前記減少したレンダリングレートは、前記元のレンダリングレートの1/2である請求項18に記載の装置。
【請求項２０】
前記レンダリング手段は、前記複数のビデオフレームが前記ディスプレイにレンダリングされる前記減少したレンダリングレートを徐々に増加させる請求項16に記載の装置。
【請求項２１】
前記マルチメディアデータのセグメント内に含まれる誤り訂正ユニットを受信する手段をさらに備え、
前記レンダリング手段は、前記誤り訂正ユニットに関連する誤り訂正機能を実施するまで、ディスプレイに前記複数のビデオフレームの少なくとも1つのビデオフレームをレンダリングする請求項12に記載の装置。
【請求項２２】
前記複数のビデオフレームの第2のビデオフレーム内の誤りを検出する手段をさらに備え、
前記レンダリング手段は、前記第2のビデオフレーム内の前記誤りを検出することによって、前記ディスプレイ上で前記複数のビデオフレームの第1のビデオフレームをフリーズする請求項12に記載の装置。
【請求項２３】
前記レンダリング手段は、フレームメモリに前記少なくとも1つのビデオフレームのデコードされたデータを格納し、前記フレームメモリ内の前記データによって前記ディスプレイを駆動する請求項12に記載の装置。
【請求項２４】
命令を有するコンピュータ読取り可能媒体を備える、マルチメディアデータを処理するコンピュータプログラム製品であって、前記命令は、
前記マルチメディアデータのセグメントを受信するコードであって、前記マルチメディアデータの前記セグメントは、複数のビデオフレームおよび前記複数のビデオフレームに関連する再生時刻を特定する参照データを含む、コードと、
チャネルスイッチ要求に応答して、前記マルチメディアデータの前記セグメントを受信するとすぐに、前記複数のビデオフレームの少なくとも1つのビデオフレームを、前記少なくとも1つのビデオフレームに関連する所与の再生時刻の前に、ディスプレイにレンダリングするコードとを含むコンピュータプログラム製品。
【請求項２５】
前記少なくとも1つのビデオフレームに関連する前記所与の再生時刻まで、前記複数のビデオフレームの少なくとも1つをフリーズするコードをさらに含む請求項24に記載のコンピュータプログラム製品。
【請求項２６】
前記少なくとも1つのビデオフレームをフリーズする前記コードは、前記少なくとも1つのフレームに関連する前記所与の再生時刻まで、フレームメモリ内に前記ビデオフレームのデコードされたデータを維持するコードを含む請求項25に記載のコンピュータプログラム製品。
【請求項２７】
前記ディスプレイに前記少なくとも1つのビデオフレームをレンダリングする前記コードは、前記複数のビデオフレームの最後のフレームに関連する前記所与の再生時刻まで、減少したレンダリングレートで前記ディスプレイに前記複数のビデオフレームをレンダリングするコードを含む請求項24に記載のコンピュータプログラム製品。
【請求項２８】
前記減少したレンダリングレートで前記ディスプレイに前記複数のビデオフレームをレンダリングする前記コードは、通常レンダリングレートより小さいリフレッシュレートで前記フレームの後続のフレームのデコードされたデータによってフレームメモリのデコードされたデータをリフレッシュするコードを含む請求項27に記載のコンピュータプログラム製品。
【請求項２９】
前記複数のビデオフレームの前記最後のフレームに関連する前記所与の再生時刻後に、元のレンダリングレートで前記ディスプレイに前記複数のビデオフレームをレンダリングするコードをさらに含む請求項27に記載のコンピュータプログラム製品。
【請求項３０】
前記減少したレンダリングレートは、前記元のレンダリングレートの1/2である請求項29に記載のコンピュータプログラム製品。
【請求項３１】
前記複数のビデオフレームが前記ディスプレイにレンダリングされる前記減少したレンダリングレートを徐々に増加させるコードをさらに含む請求項27に記載のコンピュータプログラム製品。
【請求項３２】
前記マルチメディアデータの前記セグメント内に含まれる誤り訂正ユニットを受信するコードと、
前記誤り訂正ユニットに関連する誤り訂正機能を実施するまで、ディスプレイに前記複数のビデオフレームの少なくとも1つのビデオフレームをレンダリングするコードとをさらに含む請求項24に記載のコンピュータプログラム製品。
【請求項３３】
前記複数のビデオフレームの第2のビデオフレームの内の誤りを検出するコードと、
前記第2のビデオフレーム内の前記誤りを検出することによって、前記ディスプレイ上で前記複数のビデオフレームの第1のビデオフレームをフリーズするコードとをさらに含む請求項24に記載のコンピュータプログラム製品。
【請求項３４】
前記ディスプレイに前記少なくとも1つのビデオフレームをレンダリングする前記コードは、
フレームメモリに前記少なくとも1つのビデオフレームのデコードされたデータを格納するコードと、
前記フレームメモリ内の前記データによって前記ディスプレイを駆動するコードとを含む請求項24に記載のコンピュータプログラム製品。
【請求項３５】
前記マルチメディアデータのセグメントは、ある期間にわたって収集されたビデオフレームのグループおよび誤り訂正ユニットを含むスーパーフレームを含む請求項1に記載の方法。
【請求項３６】
前記スーパーフレーム内のマルチメディアデータの量は可変である請求項35に記載の方法。
【請求項３７】
前記マルチメディアデータのセグメントは、ある期間にわたって収集されたビデオフレームのグループおよび誤り訂正ユニットを含むスーパーフレームの少なくとも一部分を含む請求項1に記載の方法。
【請求項３８】
前記マルチメディアデータのセグメントは、ある期間にわたって収集されたビデオフレームのグループおよび誤り訂正ユニットを含むスーパーフレームを含む請求項12に記載の装置。
【請求項３９】
前記スーパーフレーム内のマルチメディアデータの量は可変である請求項38に記載の装置。
【請求項４０】
前記マルチメディアデータのセグメントは、ある期間にわたって収集されたビデオフレームのグループおよび誤り訂正ユニットを含むスーパーフレームの少なくとも一部分を含む請求項12に記載の装置。
【請求項４１】
前記マルチメディアデータのセグメントは、ある期間にわたって収集されたビデオフレームのグループおよび誤り訂正ユニットを含むスーパーフレームを含む請求項24に記載のコンピュータプログラム製品。
【請求項４２】
前記スーパーフレーム内のマルチメディアデータの量は可変である請求項41に記載のコンピュータプログラム製品。
【請求項４３】
前記マルチメディアデータのセグメントは、ある期間にわたって収集されたビデオフレームのグループおよび誤り訂正ユニットを含むスーパーフレームの少なくとも一部分を含む請求項24に記載のコンピュータプログラム製品。
【国際調査報告】
2010532963.tif 000012
2010532963.tif 000013
2010532963.tif 000014