JP2009521164A - 入力フレームシーケンスから構成される入力データストリームの処理装置及び処理方法 - Google Patents

入力フレームシーケンスから構成される入力データストリームの処理装置及び処理方法 Download PDF

Info

Publication number
JP2009521164A
JP2009521164A JP2008546705A JP2008546705A JP2009521164A JP 2009521164 A JP2009521164 A JP 2009521164A JP 2008546705 A JP2008546705 A JP 2008546705A JP 2008546705 A JP2008546705 A JP 2008546705A JP 2009521164 A JP2009521164 A JP 2009521164A
Authority
JP
Japan
Prior art keywords
frame
stream
frames
data stream
packet
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP2008546705A
Other languages
English (en)
Inventor
エム アー ライカールト,アルベルト
ペー イェー エム マンデルス,ローラント
ウェー イェー モールス,エリク
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Koninklijke Philips NV
Original Assignee
Koninklijke Philips NV
Koninklijke Philips Electronics NV
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Koninklijke Philips NV, Koninklijke Philips Electronics NV filed Critical Koninklijke Philips NV
Publication of JP2009521164A publication Critical patent/JP2009521164A/ja
Pending legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
    • H04N21/44Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream, rendering scenes according to MPEG-4 scene graphs
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N5/00Details of television systems
    • H04N5/76Television signal recording
    • H04N5/78Television signal recording using magnetic recording
    • H04N5/782Television signal recording using magnetic recording on tape
    • H04N5/783Adaptations for reproducing at a rate different from the recording rate
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N5/00Details of television systems
    • H04N5/76Television signal recording
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N5/00Details of television systems
    • H04N5/76Television signal recording
    • H04N5/765Interface circuits between an apparatus for recording and another apparatus
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N5/00Details of television systems
    • H04N5/76Television signal recording
    • H04N5/78Television signal recording using magnetic recording
    • H04N5/781Television signal recording using magnetic recording on disks or drums
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N5/00Details of television systems
    • H04N5/76Television signal recording
    • H04N5/84Television signal recording using optical recording
    • H04N5/85Television signal recording using optical recording on discs or drums
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N9/00Details of colour television systems
    • H04N9/79Processing of colour television signals in connection with recording
    • H04N9/80Transformation of the television signal for recording, e.g. modulation, frequency changing; Inverse transformation for playback
    • H04N9/804Transformation of the television signal for recording, e.g. modulation, frequency changing; Inverse transformation for playback involving pulse code modulation of the colour picture signal components
    • H04N9/8042Transformation of the television signal for recording, e.g. modulation, frequency changing; Inverse transformation for playback involving pulse code modulation of the colour picture signal components involving data reduction
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N9/00Details of colour television systems
    • H04N9/79Processing of colour television signals in connection with recording
    • H04N9/80Transformation of the television signal for recording, e.g. modulation, frequency changing; Inverse transformation for playback
    • H04N9/82Transformation of the television signal for recording, e.g. modulation, frequency changing; Inverse transformation for playback the individual colour picture signal components being recorded simultaneously only
    • H04N9/8205Transformation of the television signal for recording, e.g. modulation, frequency changing; Inverse transformation for playback the individual colour picture signal components being recorded simultaneously only involving the multiplexing of an additional signal and the colour video signal

Abstract

入力フレームシーケンスを有する入力データストリームを処理する装置であって、当該装置は、前記入力データストリームと所定の複製レートとに基づき、出力フレームシーケンスを有するトリックプレイストリームとして出力データストリームを生成する処理ユニットと、前記入力フレームシーケンスのタイミング情報に基づくタイミング情報を前記出力フレームに割り当てるタイミングユニットとを有する。

Description

本発明は、入力フレームシーケンスから構成される入力データストリームの処理装置に関する。
本発明はさらに、入力フレームシーケンスから構成される入力データストリームの処理方法に関する。
本発明はさらに、プログラム要素に関する。
本発明はさらに、コンピュータ可読媒体に関する。
電子娯楽装置が、ますます重要になっている。特に、より多数のユーザがハードディスクベースのオーディオ/ビデオプレーヤー及び他の娯楽装置を購入している。
記憶スペースの減少はオーディオ/ビデオプレーヤーの分野における重要な問題であるため、オーディオ及びビデオデータはしばしば圧縮され、またセキュリティのために暗号化されて格納される。
MPEG2は、動画及び関連する音声の汎用的な符号化のための規格であり、GOP(Group Of Picture)構成と呼ばれる規定された順序により構成可能なビデオストリームをフレームデータから生成する。MPEG2ビデオビットストリームは、ピクチャを符号化したデータフレーム系列から構成される。ピクチャを符号化する3つの方法は、イントラ符号化(Iピクチャ)、順方向予測(Pピクチャ)及び双方向予測(Bピクチャ)である。イントラ符号化フレーム(Iフレーム)は、独立して復号化可能なフレームである。順方向予測フレーム(Pフレーム)は、先行するIフレーム又はPフレームの情報を必要とする。双方向予測フレーム(Bフレーム)は、先行する及び/又は後続するIフレーム又はPフレームの情報に依存する。
メディアコンテンツがノーマルスピードにより再生されるノーマル再生モードから、メディアコンテンツが、例えば、低減されたスピード(スローフォワード)、静止ピクチャなどの変更された方法により再生されるトリッププレイ再生モードにスイッチすることは、又はその反対にスイッチすることは、メディア再生装置において興味深い機能である。
US2003/0053540A1は、GOPを含むMPEG符号化ビデオデータの処理について開示している。各GOPは、1以上のIフレームと複数のB又はPフレームを有する。MPEGスローフォワード符号化ビデオストリームを生成するため、MPEG符号化ビデオデータの各フレームの符号化タイプが特定され、フリーズフレームが特定された符号化タイプの所定の機能として、また所望のスローダウンファクタの所定の機能として挿入される。一実現形態では、nのスローダウンファクタと、各オリジナルI又はPフレームに対して、(n−1)逆方向予測されたフリーズフレームが挿入され、各オリジナルBフレームに対して、オリジナルBフレームの(n−1)個のコピーが追加され、ノーマル再生ビットレートを取得し、ビデオオーバフロー又はアンダフローを回避するため、選択された大きさのパディングが、各オリジナルBフレームの各コピーに追加される。
本発明の課題は、データストリームの効率的な処理を可能にすることである。
上記課題を達成するため、独立クレームに記載される入力フレームシーケンスを有する入力データストリームを処理する装置、入力フレームシーケンスを有する入力データストリームを処理する方法、プログラム要素及びコンピュータ可読媒体が提供される。
本発明の一実施例によると、入力フレームシーケンスを有する入力データストリームを処理する装置であって、前記入力データストリームと所定の複製レートとに基づき、出力フレームシーケンスを有するトリックプレイストリームとして出力データストリームを生成する処理ユニットと、前記入力フレームシーケンスのタイミング情報に基づくタイミング情報を前記出力フレームに割り当てるタイミングユニットとを有する装置が提供される。
本発明の他の実施例によると、入力フレームシーケンスを有する入力データストリームを処理する方法であって、前記入力データストリームと所定の複製レートとに基づき、出力フレームシーケンスを有するトリックプレイストリームとして出力データストリームを生成するステップと、前記入力フレームシーケンスのタイミング情報に基づくタイミング情報を前記出力フレームに割り当てるステップとを有する方法が提供される。
さらに、本発明の他の実施例によると、プロセッサにより実行されると、上述した方法を制御又は実行するよう構成されるコンピュータプログラムが格納されたコンピュータ可読媒体が提供される。
さらに、本発明の他の実施例によると、プロセッサにより実行されると、上述した方法を制御又は実行するよう構成されるプログラム要素が提供される。
本発明によるデータ処理は、コンピュータプログラム、すなわち、ソフトウェアによって、又は1以上の特別な電子最適化回路、すなわち、ハードウェアによって、又はハイブリッド形式、すなわち、ソフトウェアコンポーネントとハードウェアコンポーネントによって実現可能である。
本発明の一実施例によると、出力フレームシーケンスを構成するため、フレームを繰り返すことによって、及び/又はエンプティフレームを後続の入力フレームの間に挿入することによって、トリックプレイストリームがノーマルプレイデータストリームに基づき生成される。しかしながら、この出力フレームシーケンスについて、タイミング情報は、トリックプレイファクタに対応するデータの復号化及び提供などの条件に関してトリックプレイモードの要求に従うよう調整される。出力フレームのタイミング情報を取得するため、このタイミング情報の訂正又は更新のため、入力フレームのオリジナルのタイミング情報に基づきトリックプレイストリームに関するタイミング情報を求めることが効果的であるかもしれない。この手段をとることによって、完全に新しい時間情報を独立に計算することが不可欠であるため、タイミング情報を計算するための計算負荷を低減することが可能になる。これとは対照的に、低い負荷によりトリックプレイに互換的なタイミング情報を取得するため、オリジナルストリームの既存のタイミング情報が当該情報を単に更新するためのプラットフォームとして取得されるかもしれない。
従って、本発明の実施例は、例えば、低速フォワードストリーム、低速リバースストリーム又はスタンド静止ストリームなどのトリックプレイストリームの時間軸に関する出力フレームの配置に関する。このような実施例は、オリジナルパケットに前置された記録タイムスタンプ又は他のタイミング情報を利用するかもしれない。必要なデータの受信前に復号化がスタートするケースにおいて生じる可能性のある復号化エラーを防ぐため、フレームデータのエンドとこのフレームの復号化タイムスタンプとの距離が、トリックプレイストリーム及びノーマルプレイストリームに対して実質的に同じになるように選択されるかもしれない。このため、フレームデータのスタートと対応する復号化タイムスタンプとの距離が、ノーマルプレイストリームとトリックプレイストリームにおいて同じになるよう選択されるかもしれない。このフレームのパケットは、オリジナルのノーマルプレイストリームと同様のパケット距離により配置されるかもしれない。
復号化問題を回避し、出力フレームの後続するフレーム間の適切な時間関係が取得されることを確実にすることによって、再生クオリティが大きく向上されるかもしれない。
従って、オリジナルタイミング情報が、トリックプレイ、特に低速フォワードトリックプレイを生成するのに利用されるかもしれない。PCR(Program Clock Reference)が訂正され、所望される場合には、さらなるPCRが出力データストリームに追加されるかもしれない。
本発明の実施例は、MPEG準拠デコーダが低速フォワードプレイモードのためのMPEG準拠トランスポートストリームを提供可能である場合、MPEGトランスポートストリームを格納する格納装置に関する。本発明の実施例は、ノーマルプレイストリームからのパケットのオリジナルのタイミング関係を利用して、すなわち、いわゆるタイムスタンプを利用して、低速フォワードストリームのMPEG準拠時間軸に対するフレーム及びパケットの配置のためのアルゴリズムを提供する。まず、オリジナルノーマルプレイフレームは、低速プレイストリームのための新たな時間軸上に配置されるかもしれない。これは、オリジナルパケットのタイムスタンプとPCRとを訂正することを意味するかもしれない。繰り返されるBフレームが配置され、再びオリジナルパケットのタイムスタンプとPCRとが訂正されるかもしれない。
大きなBフレームに対して、最後の繰り返しBフレーム以外のすべてのフレームが、パケットタイムスタンプを訂正することによって圧縮されるかもしれない。これについて、“大きなBフレーム”とは、1フレーム時間の期間を超えるBフレームとして定義されるかもしれない。欧州と同様の25Hzの周波数によって、フレーム時間が実質的に40msの時間に等しいかもしれない。
低速フォワードモードに必要となるエンプティフレームが、特別な方法により挿入されるかもしれない。最初のエンプティフレームは、前のフレームに直接連結されるかもしれない。後続するエンプティフレームは、1つのフレーム期間の時間分割に配置されるかもしれない。エンプティフレームを含むパケットのタイムスタンプは、特に2つの方法によって、すなわち、前のフレームから求めたれた固定スペーシングを利用することによって、又は1つのフレーム期間にパケットを均等に分散させることによって計算されるかもしれない。挿入されるエンプティフレームの境界におけるPCRが計算される。圧縮されたBフレームの境界におけるPCR値がまた計算される。
実施例によると、記録タイムスタンプを用いた低速フォワードのフレーム及びパケットの配置が開示される。従って、時間軸に関する低速フォワードMPEGストリームのフレーム及びパケットを配置するアルゴリズムが提供される。このアルゴリズムによると、低速フォワードストリームのための新たな時間軸が生成され、この新たなストリームにおいて(すなわち、低速フォワードストリームなどのトリックプレイストリーム)、対応するDTSに対するフレームのスタートとの距離がオリジナルノーマルプレイストリームのものと同じになるように、オリジナルフレームがこの時間軸上に配置されるかもしれない。これは、PCRの変更を必要とするかもしれない。
さらに、繰り返されるBフレームは、時間軸上の適切な位置に配置され、オリジナルのPCRとDTSは訂正される。
さらに、1フレーム期間より多くを占有する大きなフレームは、パケット間の距離を調整することによって時間について圧縮され、ローカルビットレートを増加させるかもしれない。
さらに、エンプティBフレームが、特別な方法によって、すなわち、前フレームと後続する繰り返しフレームと直接連結される最初の繰り返しフレームが、オリジナル表示期間の時間分割により配置されるように挿入されるかもしれない。タイムスタンプは、前フレームからの平均時間として、又はパケットを均等に分散させることによって計算されるかもしれない。
上記記載は、Bfフレームの使用を前提としていた。あるいは、Bbフレーム又はPeフレーム(すなわち、エンプティPフレーム)が利用可能である。しかしながら、これらは予め挿入される。少なくとも2つのタイプのエンプティBフレームが区別されるかもしれない。エンプティフォワード予測Bフレーム(いわゆるBfフレーム)は、特に表示モードにおいてBfフレームに先行するアンカーフレームを参照するフレームを示す。エンプティバックワード予測Bフレーム(いわゆるBbフレーム)は、特に表示モードにおいてBbフレームに続くアンカーフレームを参照するフレームを示す。BfフレームとBbフレームは、特にデータストリームの何れのポジションにそれらが挿入されるべきかという性質に関して異なっている。
次に、本発明のさらなる実施例が説明される。
以下において、入力フレームシーケンスを有する入力データストリームを処理する装置の実施例が説明される。しかしながら、これらの実施例はまた、入力フレームシーケンスを有する入力データストリームを処理する方法、プログラム要素及びコンピュータ可読媒体に適用される。
前記タイミングユニットは、相対的な前記タイミング情報が前記入力フレームシーケンスの相対的なタイミング情報と同一となるように、又は前記出力フレームシーケンスの相対的な前記タイミング情報が前記入力フレームシーケンスの相対的なタイミング情報に関して訂正されるように、前記タイミング情報を前記出力フレームに割り当てるよう構成されてもよい。必要に応じて、タイミングユニットはまた、ノーマルプレイのためのタイミング情報と比較して、トリックプレイのためのタイミング情報を訂正してもよい。従って、入力及び出力フレームのタイミング情報が互いに適切に一致することが確信され、適切な再生クオリティがもたらされる。
さらに、前記タイミングユニットは、前記タイミング情報としてDTS(Decoding Time Stamp)及び/又は記録タイムスタンプを調整するよう構成されてもよい。DTSと記録タイムスタンプの両方が調整されるかもしれないが、それらの時間差が変わらないように行われる。DTSは、ノーマルプレイ動作モード又はトリックプレイ動作モード、特に低速フォワードモードにより再生されるMPEGデータストリームに現れるかもしれない。
前記タイミングユニットは、出力フレームのスタートと対応するDTSとの間の(時間)距離が入力フレームのスタートと対応するさらなるDTSとの間の距離と同じになるように、前記タイミング情報を前記出力フレームに割り当てるよう構成されてもよい。この手段を利用することによって、復号化問題と同期問題が解消され、複製ファクタやトリックプレイファクタの値の広範な範囲において、トリックプレイストリームがアーチファクトなしに再生されることが保証されるかもしれない。
前記タイミングユニットは、前記出力フレームシーケンスにおける最初に再生されるべき後続する各出力フレームの間のポジションにタイミングパケットを挿入するよう構成されてもよい。トリックプレイでは、フレームが何回か再生されるか(Bフレームなど)、又はアンカーフレーム(Iフレーム、Pフレームなど)にエンプティフレームが続くかもしれない。このような最初に再生されたフレーム間に挿入されるタイミングパケットは、MPEG2ストリームにおけるPCR(Program Clock Reference)であるかもしれない。このようなパケットは、後続のフレームの復号化及びプレゼンテーションを同期させるために必要とされるタイミング情報を有するかもしれない。
出力ストリームのこのような挿入されたタイミングパケットは、入力フレームシーケンスのタイミングパケットに関して訂正されるかもしれない。このような訂正を実行することによって、ノーマルプレイモードと比較してトリックプレイモードから得られる異なる要求が考慮されるかもしれない。
前記処理ユニットは、前記所定の複製レートに従って時間軸に沿って前記入力データストリームの入力フレームを伸張することによって、前記出力データストリームの出力フレームを生成するよう構成されてもよい。トリックプレイファクタが3などの値を有するとき、このトリックプレイファクタ又は複製レートに基づき決定されるトリックプレイストリームを提供するため、入力フレームは時間軸に沿ってこの3のファクタだけ伸張されるべきである。
前記処理ユニットは、双方向予測フレームが前記所定の複製レートに従って数回繰り返されるように構成されてもよい。MPEG2ストリームの低速フォワードトリックプレイモードでは、双方向予測フレームがエンプティフレームによって充填されず、複数回繰り返されるべきである。この手段は、Iフレーム又はPフレームについても可能であるかもしれない。しかしながら、多くのケースにおいて、アンカーフレーム(Iフレーム又はPフレーム)は、アンカーフレームの簡単な繰り返しと対照的にエンプティフレームを挿入することによって繰り返されることがより望ましい。
前記タイミングユニットは、最初に再生される双方向予測フレームにタイミング情報が割り当てられるのと同様に、タイミング情報を繰り返される双方向予測フレームに割り当てるよう構成されてもよい。従って、複数のBフレームがトリックプレイストリームにおいて単に繰り返されるため、タイミング情報は各Bフレームに適切に割り当てられるべきである。
前記タイミングユニットは、所定の閾値(フレーム時間など)を超えるサイズを有する双方向予測フレームが時間について圧縮されるように構成されてもよい。これは、後述される図48において示される。欧州では、25Hzの周波数が所定の閾値として選択される40msのフレーム時間に等しく、これにより、40msのサイズを超えるBフレームが圧縮される。
前記タイミングユニットは、繰り返される双方向予測フレームの最後のフレームを除いて、所定の閾値を超えるサイズを有する双方向予測フレームが時間について圧縮されるように構成されてもよい。原則的に、系列の最後の双方向予測フレームのみがそのままに維持され、他のすべての先行する双方向フレームの期間は、時間軸に沿ってBフレームの期間を短縮することによって等しく調整される。
前記処理ユニットは、前記所定の複製レートに従ってアンカーフレームを繰り返すため、エンプティフレームを挿入するよう構成されてもよい。“アンカーフレーム”という用語は、特に伝送順序及び/又は表示順序において、他のアンカーフレームに関してそれの相対的な時間ポジションを維持するフレームを示すかもしれない。MPEG2に関して、IフレームとPフレームがアンカーフレームとして示されるかもしれない。これとは対照的に、Bフレームは、MPEG2においてアンカーフレームとは呼ばれないかもしれない。
前記処理ユニットは、低速フォワード再生モード、低速リバース再生モード、スタンド静止再生モード、ステップ再生モード及びインスタントリプレイ再生モードからなるグループのトリックプレイ再生モードに従って前記トリックプレイストリームを生成するよう構成されてもよい。このトリックプレイ生成は、ユーザが装置のボタン、キーパッド又はリモコンなどのユーザインタフェースにおいて対応する選択肢を選択することによって調整又は制御されるかもしれない。トリックプレイについて、後続するデータの一部のみが出力のために利用され(例えば、ビジュアル表示及び/又は音声出力のためなど)、又は同じコンテンツが複数回利用されるかもしれない。
前記入力フレーム及び/又は前記出力フレームは、イントラ符号化フレーム(Iフレーム)、フォワード予測フレーム(Pフレーム)及び双方向予測フレーム(Bフレーム)からなるグループの少なくとも1つのフレームを含むかもしれない。このようなフレームは、MPEG2ビデオビットストリームの一部であるかもしれない。イントラ符号化フレームは、特定のピクチャに関するものであり、対応するデータを含む。フォワード予測フレームは、先行するIフレーム又はBフレームの情報を必要とする。双方向予測フレームは、先行する及び/又は後続のIフレーム又はPフレームの情報に依存するかもしれない。
当該装置は、前記入力データストリーム及び/又は前記出力データストリームを格納する格納ユニットを有するかもしれない。このような格納ユニットは、ハードディスク、フラッシュカード又はCD若しくはDVDなどの他の何れかのデータキャリアであってもよい。しかしながら、格納ユニットはまた、当該装置が必要とされる情報をダウンロードするための(ネットワーク)アクセスを有するインターネットサーバであるかもしれない。
当該装置は、平文データストリーム、完全に暗号化されたデータストリーム又は暗号化部分と平文部分との混合(いわゆる、ハイブリッドストリーム)を処理するよう構成されてもよい。すなわち、データストリーム全体が、完全に暗号化されるか若しくは解読されてもよく、又はこれらの組み合わせであってもよい。従って、解読手段及び/又は暗号化手段が、本発明の実施例によるデータ処理装置の適切なポジションに予見されるかもしれない。
当該装置は、ビデオデータ又はオーディオデータの入力データストリームを処理するよう構成されてもよい。しかしながら、このようなコンテンツは、本発明の実施例によるスキームにより処理可能な唯一のデータタイプではない。同様のアプリケーションにおけるトリックプレイの生成は、ビデオ処理と(純粋な)オーディオ処理の両方についての問題となるかもしれない。
当該装置は、デジタルデータの入力データストリームを処理するよう構成されてもよい。
さらに、当該装置は、前記出力データストリームを再生する再生ユニットを有してもよい。このような再生ユニットは、ラウドスピーカー、イヤフォン及び/又は光表示装置を有し、オーディオデータとビジュアルデータの両方が人間に感知可能に再生可能となる。
本発明の実施例による装置は、MPEG2データストリームを処理するよう構成されてもよい。MPEG2は、MPEG(Moving Pictures Experts Group)により合意されたオーディオ及びビデオ符号化規格のグループに対する名称であり、ISO/IEC13818国際規格として公表されている。例えば、MPEG2は、デジタル衛星及びケーブルテレビを含むオーディオ及びビデオ放送信号を符号化するのに利用されるが、さらにDVDについても使用されるかもしれない。
しかしながら、本発明の実施例による装置はまた、暗号化されたMPEG4データストリームを処理するよう構成されてもよい。より一般的には、他のフレームが従属する安価フレームを利用する何れかのコーデックスキームが実現されてもよく、特に予測フレームを用いた何れかのタイプの符号化と何れかのタイプのMPEG符号化/復号化が実現されてもよい。
本発明の実施例による装置は、デジタルビデオ記録装置、ネットワーク対応装置、限定受信システム、ポータブルオーディオプレーヤー、ポータブルビデオプレーヤー、携帯電話、DVDプレーヤー、CDプレーヤー、ハードディスクベースメディアプレーヤー、インターネットラジオ装置、コンピュータ、テレビ、公衆娯楽装置及びMP3プレーヤーからなるグループの少なくとも1つとして実現されてもよい。
本発明の上記及びさらなる特徴は、後述される実施例から明らかとなり、実施例を参照して説明される。
以下では、図1〜13を参照して、本発明の実施例によるトランスポートストリームのトリックプレイの実現形態の異なる特徴が説明される。
特に、部分的に又は全体的に暗号化された又は暗号化されていないMPEG2符号化ストリームに対してトリックプレイを実行する複数の可能性が説明される。以下の説明は、MPEG2トランスポートストリームフォーマットに特有の方法を対象としている。しかしながら、本発明はこのフォーマットに限定されるものでない。
いわゆるタイムスタンプされたトランスポートストリームによる拡張による実験が実際に実行された。これは、トランスポートストリームパケットを有し、そのすべてが、トランスポートパケット到着時間が設けられる4バイトのヘッダを付加される。この時間は、受信装置においてパケットの第1バイトが受信された時点におけるプログラムクロックリファレンス(PCR)タイムベースの値から求められるかもしれない。これは、ストリームの再生が相対的に容易な処理となるように、ストリームと共にタイミング情報を格納する適切な方法である。
再生中の1つの問題は、MPEG2デコーダバッファがオーバラン又はアンダフローしないことを保証することである。入力ストリームがデコーダバッファモデルに準拠していた場合、相対的なタイミングの復元は、出力ストリームがまた準拠することを保証する。ここに記載されるトリックプレイ方法のいくつかは、タイムスタンプから独立し、タイムスタンプのある及びないトランスポートストリームに対して等しく良好に作用する。
図1は、188バイトのトータル長104を有し、4バイトの長さ105を有するタイムスタンプ101と、パケットヘッダ102と、184バイトの長さを有するパケットペイロード103とから構成されるタイムスタンプのあるトランスポートストリームパケット100を示す。以下の説明では、記録されたトランスポートストリームからMPEG/DVB(Digital Video Broadcastig)に準拠したトリックプレイストリームを生成する可能性の概略が与えられ、すべてのデータビットが操作可能な完全に平文であるものから、トランスポートストリームヘッダと一部のテーブルしか操作のためにアクセス可能でない完全に暗号化された(DVBスキームなどによって)ストリームまで、記録ストリームのフルスペクトルをカバーしようとするものである。
MPEG/DVBトランスポートストリームのトリックプレイを生成する際、コンテンツが少なくとも部分的に暗号化されていると問題が生じる可能性がある。通常のアプローチであるエレメンタリストリームレベルに降下するか、又は解読前に何れかのパケット化されたエレメンタリストリーム(PES)ヘッダにアクセスすることさえ可能でないかもしれない。これはまた、ピクチャフレームの検出が可能でないことを意味する。既知のトリックプレイエンジンは、この情報にアクセスし、処理することが可能である必要がある。
本説明のフレームでは、“ECM”という用語はエンタイトルメントコントロールメッセージ(Entitlement Control Message)を表す。このメッセージは、特にシークレットプロバイダ専用情報を有し、MPEGストリームを解読するのに必要とされる暗号化されたコントロールワード(CW)を含むかもしれない。典型的には、コントロールワードは10〜20秒間で終了する。ECMは、トランスポートストリームのパケットに埋め込まれる。
本説明のフレームでは、“キー”という用語は特に、スマートカードに格納され、トランスポートメッセージに埋め込まれているEMM、すなわち、“エンタイトルメントマネージメントメッセージ(Entitlement Management Message)”を用いてスマートカードに伝送されるデータを表す。これらのキーは、ECMに存在するコントロールワードを解読するのにスマートカードにより利用されるかもしれない。このようなキーの一例となる有効期間は、1ヶ月である。本説明のフレームでは、“コントロールワード(CW)”という用語は、特に実際のコンテンツを解読するのに必要とされる解読情報を表す。コントロールワードは、スマートカードによって解読され、その後に解読コアのメモリに格納されるかもしれない。
平文ストリームに対するトリックプレイに関するいくつかの特徴が説明される。
生成される何れかのMPEG2ストリームがMPEG2に準拠したトランスポートストリームであることが好ましい。これは、デコーダが装置内に統合されるだけでなく、IEEE1394インタフェースなどの標準的なデジタルインタフェースを介し接続されるかもしれないためである。
高い圧縮レシオを実現するため、ビデオの時間冗長性を利用するMPEG2などのビデオ符号化技術を利用する際に生じる問題が考慮されるべきである。フレームはもはや独立に符号化されないかもしれない。図2において、複数のGOPの構成が示される。特に、図2は、Iフレーム201とPフレーム202のシーケンスを有する複数のMPEG2によるGOP構成を有するストリーム200を示す。GOPサイズは、参照番号203により表される。GOPサイズ203は12フレームに設定され、Iフレーム201とPフレーム202のみがここに示される。
MPEGでは、第1フレームのみが他のフレームから独立に符号化されるGOP構成が利用されるかもしれない。これは、いわゆるイントラ符号化又はIフレーム201である。予測フレーム又はPフレーム202は、それらが図2の矢印204により示されるような前のIフレーム201又はPフレームにのみ依拠することを意味する一方向の予測により符号化される。このようなGOP構成は、典型的には、12又は16フレーム201,202のサイズを有している。図3において、複数のGOPの他の構成300が示される。特に、図3は、Iフレーム201、Pフレーム202及びBフレーム301のシーケンスを有するMPEG2によるGOP構成を示す。再び、GOPサイズは参照番号203により示される。
図3に示されるような双方向予測フレーム又はBフレーム301を含むGOP構成を利用することが可能である。例えば、12フレームのGOPサイズ203が選択される。Bフレーム301は、それらがカーブした矢印204によりいくつかのBフレームに対して示されるような前の及び次のI若しくはPフレーム201,202に依拠することを意味する双方向予測によって符号化される。圧縮されたフレームの伝送順序は、それらが表示される順序と同じでないかもしれない。
Bフレーム301を復号化するため、Bフレーム301の前後両方のリファレンスフレームが(表示順による)が必要とされる。デコーダにおけるバッファ需要を最小化するため、圧縮されたフレームは再順序付けされるかもしれない。このため、伝送ではまず、リファレンスフレームが到来するかもしれない。図3の下部において、伝送されるときの再順序付けされたストリームが示される。この再順序付けは、直線の矢印302により示される。Bフレーム301を含むストリームは、すべてのBフレーム301がスキップされる場合、きれいなトリックプレイピクチャを与えることができる。本例では、これは3倍速の早送りトリックプレイをもたらす。
MPEG2ストリームが暗号化されていなくても、(すなわち、平文である)、トリックプレイはトリビアルでない。Iフレームのみに基づく低速リバースの可能性が簡単に説明される。効率的なフレームベースの低速リバースは、MPEG2のGOPの必要な逆転のためより難しい。スローモーションフォーワードとも呼ばれる低速フォワードは、表示ピクチャがノーマススピードより低速に実行されるモードである。低速フォワードの基本的な形式は、トリックプレイGOPを生成する高速フォワードアルゴリズムを利用する技術によってすでに可能である。高速フォワードスピードを0〜1の値に設定することは、高速フォワードトリックプレイGOPの繰り返しに基づく低速フォワードストリームを生じさせる。平文ストリームに対して、これは問題とはならないが、暗号化ストリームに対しては、それは特定の状態においてIフレームの部分の誤った解読を導く可能性がある。この問題を解決するための選択肢は複数あるが、最も適切な方法は、高速フォワードトリックプレイGOPを繰り返すことでなく、エンプティPフレームを加えることによってトリックプレイGOPのサイズを拡張することである。実際、この技術はまた、高速フォワード/リバースに用いられるトリックプレイGOPと、独立に復号化可能なIフレームとに基づくものであるため、低速リバースを可能にする。しかしながら、以下の理由によって、このタイプのIフレームに基づく低速フォワード又は低速リバースを利用することは所望されない。ノーマルプレイにおけるIフレーム間の距離は約1/2秒であり、低速フォワード/リバースについて、それは低速モーションファクタと乗算される。このため、このタイプの低速フォワード又は低速リバースは、実際にはユーザが利用するスローモーションではなく、連続するピクチャ間の大きな時間的距離によるスライドショーのようなものである。
静止ピクチャモードと呼ばれる他のトリックプレイモードでは、表示ピクチャは中断される。これは、静止ピクチャモードの期間にエンプティPフレームをIフレームに加えることによって実現可能である。このことは、最後のIフレームから得られるピクチャが中断されることを意味する。ノーマルプレイから静止ピクチャにスイッチすると、これはまたCPIファイルのデータに従って最も近いIフレームとすることができる。この技術は、高速フォワード/リバースモードの拡張であり、特にインタレースキルが利用される場合には、良好な静止ピクチャを生じさせる。しかしながら、ノーマルプレイ又は低速フォワード/リバースから静止ピクチャにスイッチする際、位置的な精度はしばしば不十分なものとなる。
静止ピクチャモードは、ステップモードを実現するよう拡張可能である。ステップコマンドは、ストリームを次の又は前のIフレームに進める。ステップサイズは、最小で1GOPであるが、GOPの整数値に等しいより大きな値に設定することも可能である。ステップフォワード及びステップバックワードは共に、Iフレームしか利用されないため、このケースでは可能である。
低速フォワードはまた、すべてのフレームの繰り返しに基づくものとすることが可能であり、これははるかにスムーズなスローモーションを生じさせる。実際、低速フォワードの最適な形式は、時間的な解像度が2倍であり、インタレースアーチファクトがないため、フレームの代わりにフィールドの繰り返しである。しかしながら、これは特に、本質的にフレームに基づくMPEG2ストリームにとっては実際上不可能であり、それらが大きく暗号化されている場合には、さらに不可能である。インタレースアーチファクトは、特殊なエンプティフレームを用いて繰り返しを強制することによって、I及びPフレームについて大きく低減させることが可能である。このようなインタレース低減技術は、Bフレームには利用可能でない。I及びPフレームについてインタレースキルを使用することがこのケースにおいて依然として効果的であるか、又は実際に視聴者にとってより苛つかせるピクチャをもたらすか否かは、実験によってのみ検証可能である。
個別のフレームに基づく低速リバースは、実際には時間予測のためMPEG信号にとって大変複雑なものとなる。完全なGOPがバッファ及びリバースされる必要がある。GOPにおけるこれらのフレームを逆順により記録する既知のシンプルな方法はない。このため、ほとんど完全な復号化及び符号化が、これら2つの間のフレーム順序の逆転により必要とされるかもしれない。これは、MPEGデコーダとエンコーダと共に、完全に復号化されたGOPのバッファリングを要求する。
静止ピクチャモードは、フレームベース低速フォワードモードの拡張として定義することができる。それは、現在フレームのタイプが何れであっても、静止ピクチャモードの時間における当該フレームの繰り返される表示に基づくものである。実際、これは、ノーマルプレイストリームがスローダウンされるファクタを示す場合、無限のスローダウンファクタによる低速フォワードとなる。ピクチャがBフレームで停止される場合、インタレースキルの可能性はない。この意味において、当該静止ピクチャモードは、トリックプレイGOPベース静止ピクチャモードより劣っている。これは、やや精度の低い静止ピクチャのポジションを犠牲にして、I又はPフレームにおいてピクチャを停止することによってのみ訂正可能である。時間リファレンスとPTSにおける不連続性はまた、このケースでは回避可能である。さらに、I又はPフレームの繰り返しが、Bフレームに対して必要とされるように、フレームデータ自体の繰り返しの代わりにエンプティフレームを挿入することによって強制されるため、ビットレートは大きく低下する。このため、技術的に言うと、I又はPフレームにおけるピクチャの停止はベストな選択である。
静止ピクチャモードはまた、ステップモードにより拡張可能である。ステップコマンドは、ストリームを原則的に次のフレームに進める。次のPフレーム又は次のIフレームにステップすることによって、より大きなステップサイズが可能である。フレームベースの後方ステップは可能でない。唯一のオプションは、前のIフレームの1つの後方ステップすることである。
2つのタイプの静止ピクチャモード、すなわち、トリックプレイGOPベースとフレームベースとが説明された。第1のモードは、高速フォワード/リバースに最も論理的に接続され、第2のモードは、低速フォワードに関連する。あるモードから静止ピクチャに切り替わる際、スイッチング遅延を最小化するため、関連する静止ピクチャモードを選択することが好ましい。双方の方法からもたらされるストリームは、それらが何れもアンカーフレームの繰り返しを強制するためにエンプティフレームを挿入することに基づいているため、大変類似しているように見える。しかしながら、詳細なストリーム構成レベルでは、いくつかの相違点が存在する。
以下において、CPI(Characteristic Point Information)ファイルに関するいくつかの特徴が説明される。
ストリームにおいてIフレームを検出することは、通常はフレームヘッダを検出するためストリームを構文解析をすることを要する。記録の生成中、記録の完了後にオフラインに、又は実際にはオフラインであるが記録の瞬間に関してわずかな遅延のある半オンラインに、Iフレームがスタートするポジションの特定が実行可能である。Iフレームのエンドは、次のPフレーム又はBフレームのスタートを検出することによって検出可能である。このように求められるメタデータは、CPIファイルとして記される独立しているが結合されたファイルに格納可能である。このファイルは、トランスポートストリームファイルに各Iフレームのスタートと最終的なエンドへのポインタを含むかもしれない。各記録はそれ自体のCPIファイルを有するかもしれない。
CPIファイル400の構成が、図4に示される。
CPIファイル400とは別に、格納情報401が示される。CPIファイル400はまた、ここに説明されていない他のデータを含むかもしれない。
CPIファイル400からのデータによって、ストリームの何れかのIフレーム201のスタートにジャンプすることが可能である。CPIファイル400がまたIフレーム201のエンドを含む場合、トランスポートストリームファイルから読み出すデータ量は、完全なIフレーム201を取得するため正確に知られている。いくつかの理由のため、Iフレームエンドがわからない場合、GOP全体又はGOPデータの少なくとも大きな部分が、Iフレーム201の全体が確実に読まれるように読み込まれる。GOPのエンドは、次のIフレーム201のスタートによって与えられる。Iフレームのデータ量は合計のGOPデータの40%以上となりうることが、測定から知られている。
トリックプレイピクチャリフレッシュレートの低下は、各Iフレーム201を複数回表示することによって実現できることが知られている。これに応じて、ビットレートが低下する。これは、Iフレーム201の間に、いわゆる、エンプティPフレーム202を加えることによって実現可能である。このようなエンプティPフレーム202は、実際にはエンプティでなく、デコーダに前のフレームを繰り返すよう指示するデータを含むかもしれない。これは限られたビットコストしか有さず、多くの場合、Iフレーム201と比較して無視することができる。実験から、IPP又はIPPPなどのトリックプレイGOP構成が、トリックピクチャクオリティに対して許容され、高いトリックプレイスピードでは効果的でさえあるかもしれないことが知られている。結果として得られるトリックプレイビットレートは、ノーマルプレイビットレートと同じオーダを有する。また、これらの構成は記憶装置から要求される持続的な帯域幅を低下させることが言及される。
ここで、タイミング問題とストリーム構成に関するいくつかの特徴が説明される。
図5において、トリックプレイシステム500が概略的に示される。
トリックプレイシステム500は、記録ユニット501、Iフレーム選択ユニット502、トリックプレイ生成ブロック503及びMPEG2デコーダ504を有する。トリックプレイ生成ブロック503は、構文解析ユニット505、加算ユニット506、パケット化ユニット507、テーブルメモリユニット508及びマルチプレクサ509を有する。
記録ユニット501は、Iフレーム選択ユニット502に平文MPEG2データ510を提供する。マルチプレクサ509は、MPEG2デコーダ504にMPEG2 DVBに準拠したトランスポートストリーム511を提供する。
Iフレーム選択ユニット502は、記憶装置501から特定のIフレーム201を読む。何れのIフレーム201が選択されるかは、後述されるようなトリックプレイスピードに依存する。抽出されたIフレーム201は、復号化及びレンダリングのため、後にMPEG2デコーダ504に送信されるMPEG2/DVBに準拠したトリックプレイストリームを構成するのに利用される。
トリックプレイストリームにおけるIフレームパケットのポジションは、オリジナルのトランスポートストリームの相対的なタイミングとは関連付けすることはできない。トリックプレイでは、時間軸はスピードファクタにより圧縮又は拡大され、さらにリバーストリックプレイに対しては反転されるかもしれない。従って、オリジナルのタイムスタンプが付されたトランスポートストリームのタイムスタンプは、トリックプレイの生成には適していないかもしれない。
さらに、オリジナルのPCRタイムベースは、トリックプレイに対して妨げられるかもしれない。まず、選択されたIフレーム201の内部でPCRが利用可能であることは保証されない。しかしながら、PCRタイムベースの周期が変更されることがより重要である。MPEG2の仕様によると、この周期は30ppmから27MHzの範囲内であるべきである。オリジナルのPCRタイムベースは、この要求を充足するが、トリックプレイに使用される場合、それはトリックプレイスピードファクタと乗算されるであろう。リバーストリックプレイに対しては、これはさらに誤った方向に続くタイムベースをもたらす。従って、古いPCRタイムベースは削除される必要があり、新たなものがトリックプレイストリームに追加される必要がある。
最後に、Iフレーム201は、通常はデコーダ504にフレームの復号化をスタートする時点(decoding time stamp(DTS))と、それを表示など提供する時点(presentation time stamp(PTS))とを通知する2つのタイムスタンプを有する。復号化と提供は、それぞれDTSとPTSがストリームのPCRによりデコーダ504において再構成されるPCRタイムベースに等しくなった時点でスタートされるかもしれない。2つのIフレーム201のPTS値などの間の距離が、表示時間におけるそれらのノミナルな距離に対応する。トリックプレイでは、この時間距離はスピードファクタにより圧縮又は拡大される。新たなPCRタイムベースがトリックプレイで使用され、DTSとPTSの距離がもはや正しくないため、Iフレーム201のオリジナルのDTSとPTSは置換される必要がある。
上述した複雑さを解決するため、Iフレーム201がまず構文解析ユニット505においてエレメンタリストリームに構文解析される。その後、エンプティPフレーム202が、エレメンタリストリームレベルで加えられる。取得されたトリックプレイGOP構成が、1つのPESパケットにマッピングされ、トランスポートストリームパケットにパケット化される。その後、PAT、PMTなどの訂正されたテーブルが加えられる。この段階では、新たなPCRタイムベースが、DTS及びPTSと共に含まれている。トランスポートストリームパケットには、トリックプレイストリームがノーマルプレイに使用されるものと同じ出力回路により処理可能となるように、PCRタイムベースに関連付けされる4バイトタイムスタンプが前置される。
以下において、トリックプレイスピードに関するいくつかの特徴が説明される。ここでは、まず固定されたトリックプレイスピードが説明される。
上述されるように、Iフレーム201に2つのエンプティPフレーム202が続くIPPなどのトリックプレイGOP構成が利用されるかもしれない。オリジナルGOPは12フレームのGOPサイズ203を有し、すべてのオリジナルIフレーム201がトリックプレイに利用されることが仮定されている。これは、ノーマルプレイストリームのIフレーム201が12フレームの距離を有し、トリックプレイストリームの同じIフレーム201が3フレームの距離を有することを意味する。これは、12/3=4倍のトリックプレイスピードをもたらす。フレームのオリジナルGOPサイズ203がGによって表され、フレームのトリックプレイGOPサイズがTによって表され、トリックプレイスピードファクタがNによって表される場合、一般にトリックプレイスピードは、
=G/T (1)
により与えられる。
はまた、ベーシックスピードとして示される。オリジナルストリームからIフレーム201をスキップすることによって、高速化が実現可能である。Iフレーム201が1つおきに抽出される場合、トリックプレイスピードは2倍になり、Iフレーム201が2つおきに抽出される場合、トリックプレイスピードは3倍になるなどである。すなわち、オリジナルストリームの使用される各Iフレーム201の間の距離は2,3,...となる。この距離は、常に整数であるかもしれない。トリックプレイの生成に使用されるIフレーム201の間の距離がDにより表される場合(D=1は、すべてのIフレーム201が使用されることを意味する)、一般的なトリックプレイスピードファクタNは、
N=D*G/T (2)
により与えられる。
これは、ベーシックスピードのすべての整数倍が実現可能であり、許容されるスピードセットをもたらすことを意味する。Dはリバーストリックプレイに対して負となり、D=0は静止ピクチャをもたらすことに留意すべきである。データは、フォワード方向しか読む込み可能でない。従って、リバーストリックプレイでは、データはフォーワードに読み込まれ、Dにより与えられる先行するIフレーム201を抽出するため、後方にジャンプする。また、より大きなトリックプレイGOPサイズTがより低速なベーシックスピードをもたらすことに留意すべきである。例えば、IPPPは、IPPより精細なスピードセットをもたらす。
図6を参照するに、トリックプレイでの時間圧縮が説明される。
図6は、T=3(IPP)及びG=12の状況を示す。D=2に対して、24フレームのオリジナル表示時間は、3フレームのトリックプレイ表示時間に圧縮され、これにより、N=8となる。与えられた具体例では、ベーシックスピードは整数であるが、そうである必要はない。G=16及びT=3に対して、ベーシックスピードは16/3=5 1/3となり、整数のトリックプレイスピードセットをもたらさない。従って、IPPP構成(T=4)は、16のGOPサイズにより良好に適合し、4倍のベーシックスピードをもたらす。12及び16の最も一般的なGOPサイズに適合した1つのトリックプレイ構成が所望される場合、IPPPが選択されてもよい。
次に、任意のトリックプレイスピードが説明される。
いくつかのケースでは、上述された方法から得られるトリックプレイスピードセットは満足いくものであるが、いくつかのケースではそうでない。G=16及びT=3のケースでは、おそらく依然として整数トリックプレイスピードファクタが所望されるであろう。G=12及びT=4のケースでさえ、7倍など、当該セットにおいて利用可能でないスピードを有することが所望されるかもしれない。ここで、トリックプレイスピードの式が反転され、
D=N*T/G (3)
によって与えられる距離Dが計算される。
G=12,T=4及びN=7の上記具体例を使用することによって、D=2 1/3がもたらされる。固定数のIフレーム201をスキップする代わりに、何れのIフレーム201が要求されるスピードに最も良く適合するかという事実に基づき、次のIフレーム201を選択する適応的なスキップアルゴリズムが利用されるかもしれない。最も良く適合するIフレーム201を選択するため、距離Dを有する次の理想ポイントIpが計算され、この理想ポイントに最も近いIフレーム201の1つが、トリックプレイGOPを構成するのに選択されるかもしれない。以下のステップでは、再び次の理想ポイントが、直近の理想ポイントをDだけ増加させることによって計算されるかもしれない。
分数の距離によるトリックプレイを示す図7に示されるように、Iフレーム201を選択するための特に3つの可能性がある。
A.理想ポイントに最も近いIフレーム;I=round(Ip)
B.理想ポイントの前の最後のIフレーム;I=int(Ip)
C.理想ポイントの後の最初のIフレーム;I=int(Ip)+1
明らかに理解できるように、実際の距離はint(D)とint(D)+1の間で変化し、平均距離がDに等しくなるように、これら2つの出現の間のレシオはDの分数に依存する。これは、平均トリックプレイスピードがNに等しいが、実際に使用されるフレームは理想フレームに関してわずかなジッタを有することを意味する。これについていくつかの実験が行われ、トリックプレイスピードはローカルに変動するが、これは視覚的に阻害するものとはならない。通常、特にやや高いトリックプレイスピードでは、それは目立つものでさえない。また図7から、方法A,B又はCを選択しても実質的な相違はないことが明らかである。
この方法によると、トリックプレイスピードNは、整数である必要はないが、ベーシックスピードN以上の任意の数とあうることが可能である。また、この最小値を下回るスピードも選択可能であるが、このとき、有効なトリックプレイGOPサイズTは2倍、又は3倍以上などのさらに低いスピードであるため、ピクチャリフレッシュレートはローカルに低下するかもしれない。これは、アルゴリズムが同じIフレーム201を複数回選択するため、トリックプレイGOPの繰り返しによるものである。
図8は、N=2/3Nに等しいD=2/3の具体例を示す。ここで、ラウンドファンクションは、Iフレーム201を選択するのに使用され、参照できるように、フレーム2及び4が2回選択される。
何れにしても、上述した方法は連続的に可変的なトリックプレイスピードを可能にする。リバーストリックプレイについて、Nの負の値が選択される。図7の例では、これは単に、矢印700が他方の方向を指し示していることを意味する。上述された方法はまた、上述された固定的なトリックプレイスピードのセットを有し、特にラウンドファンクションが使用される場合、同じクオリティを有する。従って、このセクションで説明されたフレキシブルな方法は、スピードの選択が何れであっても常に実現されることが適切であるかもしれない。
トリックプレイピクチャのリフレッシュレートに関するいくつかの特徴が説明される。
“リフレッシュレート”という用語は、特に新たなピクチャが表示される頻度を示す。スピードは依存しないが、それはTの選択に影響を与える可能性があるため、ここで簡単に説明される。オリジナルピクチャのリフレッシュレートがR(25Hz又は30Hz)により示される場合、トリックプレイピクチャのリフレッシュレート(R)は、
=R/T (4)
により与えられる。
IPP(T=3)又はIPPP(T=4)のトリックプレイGOP構成では、リフレッシュレートRはそれぞれ、欧州では8 1/3Hzと6 1/4Hzであり、米国では10Hzと7 1/2Hzである。トリックプレイピクチャのクオリティの判断はやや主観的なものであるが、これらのリフレッシュレートは低速スピードについては許容できるものであり、より高速なスピードではさらに効果的なものとなるという実験からの明らかなヒントがある。
以下において、暗号化されたストリーム環境に関するいくつかの特徴が説明される。
ここでは、暗号化されたトランスポートストリームに関する情報が、暗号化されたストリームに対するトリックプレイの説明の基礎として与えられる。それは、放送に用いられる限定受信システムに着目している。
図9は、これから説明される限定受信システム900を示す。
限定受信システム900では、コンテンツ901はコンテンツ暗号化ユニット902に提供される。コンテンツ901を暗号化した後、コンテンツ暗号化ユニット902は、コンテンツ解読ユニット904に暗号化されたコンテンツ903を供給する。本明細書では、ECMはエンタイトルメント・コントロール・メッセージ(Entitlement Control Message)を表すことが記載された。さらに、KMMはキー・マネージメント・メッセージ(Key Mangement Message)を表し、GKMはグループ・キー・メッセージ(Group Key Message)を表し、EMMはエンタイトルメント・マネージメント・メッセージ(Entitlement Management Message)を表す。コントロールワード906は、コンテンツ暗号化ユニット902とECM生成ユニット907に供給される。ECM生成ユニット907は、ECMを生成し、これをスマートカード905のECM復号化ユニット908に提供する。ECM復号化ユニット908は、ECMから暗号化されたコンテンツ903を解読するためコンテンツ暗号化ユニット904に提供される必要な解読情報であるコントロールワードを生成する。
さらに、認証キー910がECM生成ユニット907とKMM生成ユニット911に提供される。KMM生成ユニット911は、KMMを生成し、これをスマートカード905のKMM復号化ユニット911に提供する。KMM復号化ユニット912は、出力信号をECM復号化ユニット908に提供する。
さらに、グループキー914がKMM生成ユニット911とGKM生成ユニット915に提供され、さらにユーザキー918が提供されるかもしれない。GKM生成ユニット915は、GKM信号GKMを生成し、これをスマートカード905のGKM復号化ユニット916に提供する。GKM復号化ユニット916は、さらなる入力としてユーザキー917を取得する。
さらに、エンタイトルメント919が、EMM信号を生成し、これをEMM復号化ユニット921に提供するEMM生成ユニット920に提供されてもよい。スマートカード905に設けられたEMM復号化ユニット921は、ECM復号化ユニット908に対応する制御情報を提供するエンタイトルメントリストユニット913に接続される。
多くのケースにおいて、コンテンツプロバイダとサービスプロバイダは、限定受信(CA)システムを介し特定のコンテンツアイテムへのアクセスを制御することを所望する。
これを実現するため、放送されるコンテンツ901は、CAシステム900の制御の下で暗号化される。受信機では、コンテンツは、アクセスがCAシステム900により与えられている場合、復号化及びレンダリング前に解読される。
CAシステム900は、レイヤ化された階層を利用する(図9を参照されたい)。CAシステム900は、ECMと呼ばれる暗号化されたメッセージの形式によって、サーバからクライアントにコンテンツ解読キー(コントロールワード(CW)906,909)を転送する。ECMは、認証キー(AK)910を用いて暗号化される。セキュリティの理由のため、CAサーバ900は、KMMを発行することによって認証キー910を更新するかもしれない。KMMは、実際、特殊なタイプのEMMであるが、簡単化のため、KMMという用語が利用されるかもしれない。KMMはまた、再び特殊なタイプのEMMであるGKMを送信することによって更新されるグループキー(GK)914などとすることができるキーを用いて暗号化される。その後、GKMは、スマートカード905に埋め込まれた固定された一意的なキーであり、プロバイダのCAシステム900しか知られていないユーザキー(UK)917,918により暗号化される。認証キーとグループキーは、受信機のスマートカード905に格納される。
エンタイトルメント919(視聴権限など)が、EMMの形式によって個別のカスタマに送信され、セキュアな装置(スマートカード905)にローカルに格納される。エンタイトルメント919は、特定のプログラムに接続される。エンタイトルメントリスト913は、加入タイプに応じてプログラムグループへのアクセスを与える。ECMは、エンタイトルメント919が特定のプログラムに利用可能である場合に限って、スマートカード905によってキー(コントロールワード)に処理される。エンタイトルメントEMMは、KMM(図9には図示せず)と同じレイヤ化された構成に従う。
MPEG2システムでは、暗号化されたコンテンツECMとEMM(KMMとGKMタイプを含む)のすべてが、1つのMPEG2トランスポートストリームに多重化される。上記説明は、CAシステム900の一般化された概観である。デジタルビデオ放送では、暗号化アルゴリズム、奇/偶コントロールワード構成、ECM及びEMMのグローバルな構成及びそれらの参照のみが規定される。CAシステム900の詳細な構成とECM及びEMMのペイロードの符号化及び利用方法は、プロバイダに固有なものである。また、スマートカードはプロバイダに固有なものである。しかしながら、経験から、多くのプロバイダが図9の一般化された概観の構成に実質的に従っていることが知られている。
以下において、DVB暗号化/解読に関するトピックスが説明される。
適用される暗号化及び解読アルゴリズムは、DVB規格団体によって規定されている。原則的に、2つの暗号化の可能性、すなわち、PESレベル暗号化とTSレベル暗号化が規定されている。しかしながら、実際的には、主としてTSレベル暗号化方法が利用されている。トランスポートストリームパケットの暗号化及び解読は、パケットベースにより実行される。これは、暗号化及び解読アルゴリズムが、新たなトランスポートストリームパケットが受信される毎に、再スタートされることを意味する。従って、パケットは個別に暗号化又は解読することができる。トランスポートストリームでは、一部のストリーム部分は暗号化され(オーディオ/ビデオなど)、他の部分は暗号化されないため(テーブルなど)、暗号化されたパケットと平文のパケットが混合している。1つのストリーム部分(ビデオなど)の中でさえ、暗号化されたパケットと平文のパケットが混合しているかもしれない。
図10を参照するに、EVBにより暗号化されたトランスポートストリームパケット1000が説明される。
ストリームパケット1000は、188バイトの長さ1001を有し、2つの部分から構成される。パケットヘッダ1002は、4バイトのサイズ1003を有する。パケットヘッダ1002に続いて、適応化フィールド1004ストリームパケット1000に含まれるかもしれない。その後、DVBにより暗号化されたパケットペイロード1005が送信されるかもしれない。
図11は、図10のトランスポートストリームパケットヘッダ1002の詳細な構成を示す。
トランスポートストリームパケットヘッダ1002は、同期ユニット(SYNC)1010、パケットにおけるトランスポートエラーを示すトランスポートエラーインジケータ(TEI)1011、以降のペイロード1005のPESパケットの可能なスタートを特に示すペイロードユニットスタートインジケータ(PLUSI)1012、トランスポートのプライオリティを示すトランスポートプライオリティユニット(TPI)1017、パケットの割当てを決定するのに用いられるパケット識別子(PID)1013、トランスポートストリームパケットを解読するのに必要とされるCWを選択するのに用いられるトランスポートスクランブリングコントロール(SCB)1014、適応化フィールドコントロール(AFLD)1015、及び連続性カウンタ(CC)1016を有する。図10及び図11は、以下の異なる部分を有し、暗号化されたMPEG2トランスポートストリームパケット1000を示す。
・パケットヘッダ1002は、平文である。それは、パケット識別子(PID)ナンバー、適応化フィールドの有無、スクランブリングコントロールビットなどの重要な情報を取得するのに利用される。
・適応化フィールド1004もまた、平文である。それは、PCRなどの重要なタイミング情報を有することが可能である。
・DVB暗号化パケットペイロード1005は、DVBアルゴリズムを用いて暗号化された実プログラムコンテンツを含む。
放送されたプログラムを解読するのに必要とされる正しいCWを選択するため、トランスポートストリームパケットヘッダを構文解析することが必要である。図11において、このヘッダの概略図が与えられる。放送プログラムの解読のための重要なフィールドは、スクランブリングコントロールビット(SCB)フィールド1014である。このSCBフィールド1014は、解読手段が何れのCWを用いて放送プログラムを解読しなければならないか示す。さらに、それは、パケットのペイロードが暗号化されているか、又は平文であるか示している。すべての新たなトランスポートストリームパケットに対して、このSCB1014は、時間変動し、またパケット毎に変化するため構文解析される必要がある。
以下において、完全に暗号化されたストリームに対するトリックプレイに関するいくつかの特徴が説明される。
これが興味深いトピックである第1の理由は、平文のストリームと完全に暗号化されたストリームに対するトリックプレイが可能な範囲の2つの極端なものであるためである。他の理由は、完全に暗号化されたストリームを記録する必要があるアプリケーションが存在するためである。従って、完全に暗号化されたストリームに対してトリックプレイを実行するための技術を有することが有用である。基本的な原理は、記憶装置から十分大きなデータブロックを読み出し、それを解読し、ブロックのIフレームを選択し、それによりトリックプレイストリームを構成することである。
図12において、このようなシステム1200が示される。
図12は、完全に暗号化されたストリームに対するトリックプレイの基本的な原理を示す。このため、ハードディスク1201に格納されているデータが、トランスポートストリーム1202として解読手段1203に提供される。さらに、ハードディスク1201は、スマートカード1204にECMを提供する。スマートカード1204は、このECMからコントロールワードを生成し、これを解読手段1203に送信する。
コントロールワードを利用して、解読手段1203は、暗号化されたトランスポートストリーム1202を解読し、解読されたデータをIフレーム検出フィルタ1205に送信する。そこから、データは、エンプティPフレーム挿入ユニット1206に提供され、データがセットトップボックス1207に送られる。そこから、データはテレビ1208に提供される。
記録が何を含むかに関していくつかの特徴が説明される。
1つのチャネルの記録の生成では、当該記録は、以降の段階でチャネルの記録を再生するのに必要とされるすべてのデータを含む必要がある。特定のトランスポンダにすべてを単に記録することも可能であるが、いくつも記録するこの方法は、記録のためのプログラムを再生することを必要とする。これは、帯域幅と記憶スペースの両方が浪費されることを意味する。その代わりに、本当に必要とされるパケットのみが記録されるべきである。各プログラムに対して、これは、PAT(Program Association Table)、CAT(Conditional Access Table)並びに明らかに各プログラムに対してビデオ及びオーディオパケットと共に、何れのパケットがプログラムに属しているか記述したPMT(Program Map Table)などのすべてのMPEG2に必須のパケットを記録しなければならない。さらに、CAT/PMTは、ストリームを解読するのに必要とされるCAパケット(ECM)について記述するかもしれない。解読後に記録が平文により生成されない場合、これらのECMパケットもまた記録される必要がある。
生成される記録がフル多重化からのすべてのパケットから構成されていない場合、記録は、いわゆる、パーシャルトランスポートストリーム1300になる(図13を参照されたい)。さらに、図13はフルトランスポートストリーム1301を示す。DVB規格は、パーシャルトランスポートストリーム1300が再生される場合、NIT(Network Information Table)、BAT(Bouquet Association Table)などのすべてのノーマルDVB必須テーブルが排除される。これらのテーブルの代わりに、パーシャルストリームは、SIT(Selection Information Table)及びDIT(Discontinuity Information Table)の各テーブルを挿入する。
以下において、ECMの処理に関するいくつかの特徴が説明される。
トリックプレイ中の次のブロックへのジャンプは、ストリームにおける後方ジャンプを意味する可能性がある。これはトリックプレイリバースのケースだけでなく、適度なスピードでのトリックプレイフォワードのケースであるかもしれないことが説明される。フォワードジャンプによるフォワードトリックプレイと、本来的に後方へのジャンプによるリバーストリックプレイの状況が以降に説明される。
データが解読される必要があるという事実によって引き起こされる特定の問題が発生するかもしれない。限定受信システムが送信用に設計されるかもしれない。ノーマルプレイでは、送信されたストリームは、オリジナルのタイミングにより再構成されるかもしれない。しかしながら、トリックプレイは、変更されたタイミングによる暗号メタデータの処理を意味するかもしれない。データは、トリックプレイにより時間内に圧縮又は拡大されるかもしれないが、スマートカードの遅延は一定に維持されるかもしれない。
トリックプレイストリームを生成するため、上述されたデータブロックは解読手段にわたされるかもしれない。この解読手段は、データブロックを解読するため、暗号化処理に使用されるコントロールワードを必要とする。これらのコントロールワードはまた暗号化され、ECMに格納されてもよい。通常のセットトップボックス(STB)では、これらのECMはチューニングされたプログラムの一部であるかもしれない。限定受信モジュールは、ECMを抽出し、それらをスマートカードに送信し、カードがECMを解読する権限を有している場合、それから解読されたコントロールワードを受け取る。コントロールワードは、通常は約10秒間などの相対的に短い寿命しか有しない。この寿命は、トランスポートストリームパケットヘッダにおけるスクランブリングコントロールビットSCB1014により示されるかもしれない。それが変更される場合、次のコントロールワードが使用される必要がある。図14において、このSCBの変更又はスイッチが、垂直線と参照番号1402により示される。
図14を参照するに、特に2つの異なるシナリオ又はストリームタイプが区別されるかもしれない。
図14の下の行1401により示されるストリームタイプIによると、2つのコントロールワード(CW)がECM毎に設けられる。
図14の上の行1400により示されるストリームタイプIIによると、1つのコントロールワード(CW)のみがECM毎に設けられる。
図14は、参照番号1403により示される以降に構成される期間又はセグメントA,B,Cを有する2つのデータストリーム1400,1401を示す。図14の上の行1400に示されるシナリオでは、対応するECM毎に実質的に1つのコントロールワードが設けられる。これとは対照的に、下の行1401では、各ECMは2つのコントロールワード、すなわち、現在の期間又はECMに関するコントロールワードと、以降の期間又はECMのさらなるコントロールワードとを有する。このため、コントロールワードを設けることに関して冗長性が存在する。
短い寿命の間、解読情報のアイテムが複数回送信され、これにより、このようなコントロールワードの寿命の途中でのこのようなチャネルへのチューニングは、次のコントロールワードの待機を意味するものでない。限定受信モジュールは、カードへのトラフィックを低減又は最小化するため、やや低速のプロセッサしか持っていないとき、検出した最初の一意的なECMしかスマートカードに送信しないかもしれない。
これは、暗号化されたストリームに対するトリックプレイの制限があるかもしれないことを示す。スマートカードの処理能力の制限されたスピードからもたらされる非明示的な上限スピードが存在するかもしれない。トリックプレイでは、10秒のコントロールワードの寿命が、トリックプレイスピードファクタにより圧縮又は拡大されるかもしれない。ECMをスマートカードに送信し、解読されたコントロールワードを受信することは、約1/2秒かかるかもしれない。コントロールワードがECMに設けられる方法は、プロバイダに固有のものであり、特に図14に示されるように、ストリームタイプIとストリームタイプIIについて異なるものであるかもしれない。
CW Aは、期間Aを暗号化するのに利用されたCWを示し、CW Bは、期間Bを暗号化するのに利用されたCWを示し、以下同様に示される。水平方向では、送信時間軸がプロットされている。ECM Aは、期間Aの大きな部分の期間中に存在するECMであると定義されるかもしれない。この場合、ECM Aは、現在の期間AについてCWと、次の期間BについてストリームタイプIのものを保持することが観察できる。一般に、ECMは、現在の期間について少なくともCWを保持し、次の期間についてCWを保持するかもしれない。ザッピングによって、これはおそらくすべての又は多くのプロバイダにとって成り立つかもしれない。
続ける前に、解読手段と解読手段がCWを処理する方法に関するさらなる情報が提供される。解読手段は、“奇”CWと“偶”CWのための2つのレジスタを有するかもしれない。“奇”と“偶”は、CWの値がそれ自体奇又は偶であることを意味する必要はない。これらの用語は特に、ストリームにおける以降の2つのCWを区別するのに使用される。パケットを解読するのに何れのCWが使用される必要があるかは、パケットヘッダのSCB1014により示される。このため、ストリームを暗号化するのに用いられるCWは、偶と奇で交替される。図14において、これは、例えば、CW A及びCW Cが奇であり、CW B及びCW Dが偶であることを意味する。スマートカードによる解読後、CWは、図15に示されるように、前の値を上書きした解読手段の対応するレジスタに書き込まれるかもしれない。
図15は、偶CW(レジスタ1501)と奇CW(レジスタ1502)を含む2つのレジスタ1501,1502を示す。さらに図15において、スマートカード遅延1500、すなわち、ECMからCWを抽出又は解読するのにスマートカードにより必要とされる時間が示される。
ストリームタイプIのケースでは、各ECMは2つのCWを保持し、その結果、両方のレジスタ1501,1502がECMの解読後に上書きされるかもしれない。レジスタ1501,1502の1つはアクティブであり、他方は非アクティブである。何れがアクティブであるかは、SCB1014に依存する。本例では、SCB1014は、偶レジスタ1501がアクティブであることを期間Bにおいて示すであろう。アクティブレジスタは、それがすでに保持しているものと同じCWによってのみ上書きされるかもしれない。なぜなら、それは依然として当該期間の残りの解読に必要とされるためである。従って、非アクティブなレジスタのみが新たな値により上書きされるかもしれない。
トリックプレイにおける期間Bをより詳細に考察する。ECMが当該期間のスタート時にスマートカードに送信され、このため、その時点でSCBスイッチ1402がクロスされると仮定する。問題は、どのECMがその後にスマートカードに送信可能であるかということである。
このECMは、期間Cのスタート時に使用するスマートカードによるタイムリーな解読を保証するため、CW Cを保持すべきである。
それはまた、解読手段におけるCWの正しい利用性を妨げることなくCW Bを保持するかもしれない。
図14を再び参照すると、期間Bのスタート時に、これは、ストリームタイプIについてECM Bの送信を意味し、ストリームタイプIIについてECM Cの送信を意味することが理解できる。一般に、現在のECMは、それが2つのCWを保持している場合に送信可能であり、それが1つのCWしか保持していない場合には予め1期間送信可能である。予め1期間ECMを送信することは、埋め込まれたECMに矛盾するかもしれず、この場合、埋め込まれているECMはストリームから排除される必要がある。より一般化されたアプローチに対して、トリックプレイ生成回路又はソフトウェアによって、オリジナルECMが常にストリームから排除されることが好ましいかもしれない。しかしながら、これは常に正しいことであるとすることはできない。
図16は、高速フォワードモードにおけるECM処理を示す。
SCBスイッチ1402により分離された複数の以降の期間1403において、複数のデータブロック1600が再生成され、異なるデータブロックの間のスイッチ1601が行われる。
ストリームタイプIについて、ECM Bが期間AとBの間の境界で送信される。ストリームタイプIIについて、ECM Cが、期間AとBの間の境界で送信される。さらにストリームタイプIによると、ECM Cが期間BとCの間の境界で送信される。ストリームタイプIIについて、ECM Dが期間BとCの間の境界で送信される。
ECMが正しい時点でトリックプレイについて利用可能となるように、ECMは別のファイルに格納されてもよい。このファイルでは、ECMが何れの期間に属しているか(記録されたストリームの何れの部分)が示されるかもしれない。MPEGストリームファイルのパケットが番号付けされるかもしれない。ある期間の第1パケットの番号(SCBスイッチ1402)は、当該同じ期間1403においてECMと一緒に格納されてもよい。ECMファイルは、ストリームの記録中に生成されてもよい。
ECMファイルは、記録中に生成されるファイルである。ストリームでは、ビデオデータを解読するのに必要とされるコントロールワードを含むECMパケットが特定される。すべてのECMが、10秒間など特定の期間に利用可能であり、当該期間中に複数回(100回など)送信される(繰り返される)かもしれない。ECMファイルは、当該期間のすべての最初の新たなECMを含むかもしれない。ECMデータは当該ファイルに書き込まれ、メタデータにより伴われるかもしれない。まず、シリアルナンバー(1から数え上げられる)が与えられるかもしれない。第2フィールドとして、ECMファイルはSCBスイッチのポジションを含むかもしれない。これは、当該ECMを用いてそれのコンテンツを正しく解読することが可能な第1パケットを示すかもしれない。その後、このSCBスイッチの時点でのポジションが第3フィールドとして続くかもしれない。これら3つのフィールドは、ECMパケットデータに続くかもしれない。
ECMファイルに格納されているSCBスイッチを利用して、このようなスイッチはこれがジャンプ中であったとしてもクロスされているか簡単に検出するかもしれない。正しいECMを送信するため、ECMが1又は2つのCWを有しているか知ることが要求されるかもしれない。原則的に、これはわかっていない。なぜなら、それはプロバイダに固有のものであり、秘密であるためである。しかしながら、これは、様々な時点でECMを送信し、ディスプレイ上でその結果を観察することによって、実験的に容易に決定することが可能である。記憶装置自体における実現に特に適した他の方法は、以下のようなものである。SCBスイッチの時点で1つのECMをスマートカードに送信し、ストリームを解読し、到来する2つの期間においてPESヘッダをチェックする。GOP毎に1つのPESヘッダがある場合、各期間において約20個のPESヘッダが存在する。PESヘッダのポジションは、パケットの平文のヘッダにおけるPLUSIビットがそれの有無を示しているため、容易に検出されるかもしれない。第1期間中(スマートカードの遅延後)に正しいPESヘッダしか検出されない場合、ECMは1つのCWを含む。第2期間中にそれらがまた検出される場合、それは2つのCWを含む。
図17において、このような状況が示される。
図17は、1つのCWの検出と2つのCWの検出の状況を示す。参照できるように、暗号化されたコンテンツ1700の異なる期間1403が提供される。スマートカードの遅延1500により、ECM Aは対応するCWを生成するため解読されるかもしれない。暗号化されたコンテンツ1700を解読することによって、解読されたコンテンツ1701が生成されるかもしれない。図17において、PESヘッダ1702、すなわち、期間A(左側)のPESヘッダAと期間B(右側)のPESヘッダBがさらに示される。
図17における1つのCWの期間Bのエリア1703は、データが誤ったキーにより解読及びスクランブル化されることを示している。このチェックは、記録中に実行可能であり、この場合、例えば、20〜30秒かかるであろう。それはまたオフラインで実行可能であり、PLUSIにより示される2つのパケットしか(各期間に1つ)チェックされる必要がないため、大変迅速に行うことが可能である。適切なPESヘッダが利用可能でない低い可能性のイベントでは、ピクチャヘッダがその代わりに利用可能である。実際、何れか既知の情報が検出に利用可能であるかもしれない。何れにしても、1つ/2つのCW指標がECMファイルに格納されるかもしれない。
以下において、特に低速フォワードストリームの処理に関するいくつかの特徴が説明される。
次に、トリックプレイGOPベース低速フォワード、静止ピクチャ及びステップモードが説明される。
スローモーションフォワードとして示される低速フォワードは、表示ピクチャがノーマルスピードより低速に実行されるモードである。低速フォワードの一形態は、図7及び8を参照して上述された技術によりすでに可能である。高速フォワードスピードを0〜1の間の値に設定することにより、高速フォワードトリックプレイGOPの繰り返しに基づく低速フォワードストリームがもたらされる。平文ストリームについて、これは適切な手段であるが、暗号化されたストリームについては、それは特定の状態におけるIフレームの一部の誤った解読をもたらすかもしれない。この問題を解決する1つの選択肢は、高速トリックプレイGOPを繰り返すのでなく、エンプティPフレームの加算によりトリックプレイGOPのサイズを拡大することである。実際、この技術はまた低速リバースを可能にするかもしれない。なぜなら、それは高速フォワード/リバースに用いられるトリックプレイGOPと、独立に復号化可能なIフレームに基づくものであるためである。
このようなIフレームベースの低速フォワード又は低速リバースは、以下の理由により特別なケースでは適切でないかもしれない。ノーマルプレイにおけるIフレーム間の距離は約1/2秒であり、低速フォワード/リバースについては、それはスローモーションファクタと乗算される。従って、このタイプのスローフォワード又はスローリバースは、スローモーションとして通常理解されているものとは一致せず、実際には連続するピクチャ間の大きな時間的距離を有するスライドピクチャにより類似している。
静止ピクチャモードでは、表示ピクチャは停止されるかもしれない。これは、静止ピクチャモードの期間にエンプティPフレームをIフレームに加えることによって実現可能である。これは、最後のIフレームから得られるピクチャが停止されることを意味する。ノーマルプレイから静止ピクチャにスイッチする際、これはまたCPIファイルのデータに従って最も近いIフレームとなる可能性がある。この技術は、高速フォワード/リバースモードの拡張であり、特にインタレースキルが用いられる場合、良好な静止ピクチャをもたらす。しかしながら、ノーマルプレイ又は低速フォワード/リバースから静止ピクチャにスイッチする際、位置的な精度は常に良好であるとは限らない。
静止ピクチャモードは、ステップモードを実現するため拡張可能である。ステップコマンドは、ストリームを次の又は前のIフレームに進める。ステップサイズは、最小でも1GOPであるが、整数個のGOPに等しいより大きな値に設定することも可能である。ステップフォワード及びステップバックワードは共に、Iフレームのみが利用されるため、本ケースでは可能である。
スローフォワードストリームを構成するため、多くの考慮が適用される。例えば、エレメンタリストリームレベルでのスローフォワードストリームの構成は、完全に平文のデータに対してのみ実行可能である。この結果、スローフォワードストリームは、ノーマルプレイストリームが当初に暗号化されていたとしても、完全に平文となる。このような状況は、著作権所有者には受け入れられないかもしれない。さらに、これは、すべての情報、すなわち、各フレームがスローフォワードストリームに平文で存在し、本当の高速フォワード/リバースストリームの場合と同様にフレームの単なる一部ではないため、高速フォワード/リバースストリームのケースより悪くなる。このため、平文のノーマルプレイストリームは、平文の低速フォワードストリームから容易に再構成可能である。このため、低速フォワードストリームは、ノーマルプレイストリームが暗号化されている場合、暗号化されるべきである。DVB暗号化手段がカスタマ装置において不可であるため、これは、低速フォワードストリームが当初に送信された暗号化されたデータストリームからの暗号化されたデータパケットを用いてトランスポートストリームレベルで構成される場合に限って実現可能である。
以下において、図18〜57を参照して、本発明の実施例によるシステムにおいてデータストリームを処理可能なシステムが説明される。
以下に記載されるシステムは、図1〜17を参照して説明されたシステムの何れかのフレームにおいてそれと組み合わせて実現可能である。
以下において、図18を参照して、本発明の実施例によるMPEG2データストリームを処理するデータ処理装置1800が説明される。
データ処理装置1800は、再生されるコンテンツ(オーディオビジュアルなど)を格納するハードディスク1801又は他の何れかの記憶装置を有する。このコンテンツは、例えば、トリックプレイ再生モード又はノーマルプレイ再生モードなどによって、以降の再生のためデータストリームを処理する処理ユニット1802に供給されるかもしれない。処理ユニット1802の出力は、再生されるデータストリームに関するタイミング情報を生成又は訂正するためタイミングユニット1803に供給されてもよい。タイミングユニット1803の出力は、コンテンツを再生するため、すなわち、オーディオビジュアル的にコンテンツを再生する再生ユニット1806に供給されてもよい。
ユーザは、コントロールユニット1805と通信することを可能にするユーザ入出力ユニット1804を介しデータ処理装置1800の処理を制御するかもしれない。コントロールユニット1805は、システム1800の各コンポーネントと通信可能である。
特に、装置1800は、ビデオフレームシーケンスから構成される入力ビデオデータストリームを処理する。処理ユニット1802は、入力データストリームと、3など所定のトリックプレイファクタとに基づき、出力フレームシーケンスを有する出力データストリームを、低速フォワードストリームなどのトリックプレイストリームとして生成するかもしれない。このため、処理ユニット1802は、ノーマルプレイ再生モードにより当該データを再生するため、ハードディスク1801からのデータストリームを単に処理するか、又は低速フォワード、スタンド静止若しくは低速バックワードなどのトリックプレイ再生モードによりデータを再生するようにしてもよい。
低速フォワード再生モードについて、ハードディスク1801からの異なるフレームが複数回再生される必要があるか(Bフレームのケースでは)、又は処理ユニット1802によりエンプティフレームにより充填される必要がある(Iフレーム、Pフレームのケースでは)。しかしながら、再生モードがノーマルプレイモードからトリックプレイモードに変更されると、データストリームに関するタイミング情報を訂正又は調整する必要があるかもしれない。このため、タイミングユニット1803が、入力フレームシーケンスのオリジナルタイミング情報に基づくタイミング情報を出力フレームに割当て又は訂正するかもしれない。
特に、タイミングユニット1803は、タイミング情報を出力フレームに割り当てるかもしれない。この出力フレームの相対的なタイミング情報は、入力フレームシーケンスの相対的なタイミング情報と同じである。
説明された実施例では、同じに維持されるのはタイミング情報(DTSなど)自体ではなく、フレームの第1パケットと当該フレームのDTSとの間の距離である。DTSは、依然として単なるタイミング情報であり、相対的なタイミング情報ではない。DTSと記録タイムスタンプの両方が調整されてもよいが、それらの時間差が変わらないようにされる。
タイミングユニット1803の機能に関して、DTS(Decoding Time Stamp)が、タイミング情報として出力フレームに割り当てられるかもしれない。タイミングユニット1803は、出力フレームのスタートと対応するDTSとの間の距離が入力フレームのスタートと対応するDTSと比較して同じになるように、タイミング情報を出力フレームに割り当てるかもしれない。これは、図49を参照して以下でより詳細に説明される。さらに、タイミングユニット1803は、出力フレームのシーケンスにおいて最初に縮小されるべき以降の出力フレームの間のポジションにタイミングパケットを挿入するかもしれない。このようなタイミングパケットは、プログラム・クロック・リファレンス(Program Clock Reference)であるかもしれない。
変更されたタイミングパケットは、入力フレームシーケンスのタイミングパケットに関して訂正されるかもしれない。MPEG2データストリームを処理する際、データ処理装置1800はBフレームを複数回繰り返し(トリックプレイファクタが3であるときは3回など)、Iフレーム及びPフレームなどのアンカーフレームが、所定の又は予め選択されたトリックプレイレートに従って再生を実現するため、エンプティフレームを用いることによって繰り返されるかもしれない。インタフェースユニット1804を操作するユーザは、再生モードを選択し、ノーマルプレイモードと低速フォワード再生モードとの間でスイッチするかもしれない。
以下において、本発明の実施例による低速フォワードトリックプレイ再生に関するさらなる詳細が説明される。
次に、ストリームの各フレームへの分割が説明される。
トランスポートレベルで低速フォワードストリームを構成可能とするため、各フレームはトランスポートストリームパケット系列として利用可能であることが効果的である。フレーム毎に1つのPESパケットとなるケースでは、これは自然なものとなる。PESパケットとトランスポートストリームパケットは並んでいるため、PESパケットはトランスポートストリームパケット系列に含まれる。GOP毎に1つのPESパケットとなるケースでは、これはIフレームのスタートの場合のみである。他のすべてのフレーム境界は、ほとんどがパケットの内部に設けられる。このパケットは、2つのフレームからの情報を含む。まず、当該パケットは2つのパケットに分割され、第1のパケットは第1フレームからのデータを有し、第2のパケットは次のフレームからのデータを含む。上記分割から得られる2つのパケットはそれぞれ、アダプテーション・フィールド(Adaptation Field(AF))により充填されるかもしれない。
図19において、この状況が示される。
図19は、フレーム境界におけるパケットの分割を示す。特に、図19は、それぞれがヘッダ1901とフレーム部分1902とを有する複数のTSパケット1900を示す。図19に示されるデータストリームの中央部分からわかるように、ヘッダ1901と2つの後続するフレーム1902とを有するパケットが、それぞれがアダプテーション・フィールド1903と対応するフレーム1902に続く分離したヘッダ1901を有する2つの分離した部分に分割される。
パケットの分割は平文ストリームに対しては困難でない。第1の選択肢は、図20に示されるようなノーマルプレイデータを完全に解読することである。図20は、ノーマルプレイデータの解読後の低速フォワード構成を示す。ハードディスク2001からの暗号化されたノーマルプレイデータ2000は、平文ストリーム2003を生成する解読手段2002に供給される。平文ストリーム2003は、図19に示されるような方法により異なるフレームを分割するフレーム分割ユニット2004に供給される。その後、このデータは、低速フォワードストリームを構成する低速フォワード構成ユニット2005に供給され、その後低速フォワードストリームは、セットトップボックス2006に供給される。
格納されている完全に暗号化されたストリーム200又は格納されているハイブリッドストリームの解読及び低速フォワードモードは、解読手段200により何れのストリームデータもストリームにおいてスキップ又は重複されないため、困難ではない。格納されているストリーム2000(完全に暗号化された又はハイブリッド)は、単に解読手段2002にノーマルレートよりも低速に供給される。これはまた、埋め込まれているECM(Entitlement Control Message)による問題がないことを意味する。解読ユニット2002からの平文ストリーム2003は、その後、パケットを分割するため、又はフレーム分割ユニット2004における何れか必要なストリーム操作を実行するため利用することができる。得られる低速フォワードストリームは、このケースでは平文ストリームである。
暗号化されたノーマルプレイストリームからの暗号化された低速フォワードストリームの構成は、DVB(Digital Video Broadcasting)暗号化手段が特別なケースではカスタマ装置において許可されていないため、トランスポートレベルで実行される。このため、すべてのフレーム境界上の少数の平文パケット2100及び2102しか有しないハイブリッドストリーム(図21を参照)が必要とされる。図21はさらに、Iフレーム2103、Bフレーム2104又はPフレーム2105に属する暗号化されたパケット2101を示す。
以下において、格納されているストリームが完全に暗号化されている場合、記憶装置の再生側でこのようなストリームがどのように生成可能であるか説明される。このケースでは、図20の解読ユニット2002は、必要なパケットのみを解読する選択的なタイプのものであってもよい。しかしながら好ましくは、ストリームは図22に示されるようなハイブリッドストリームとしてすでに格納されている。
図22は、格納されているハイブリッドストリーム2200に対する低速フォワード構成を示す。図22に示されるアレイでは、ハードディスク2001とフレーム分割ユニット2004の間には解読ユニット2002は予見されない。しかしながら、解読ユニット2201はセットトップボックス2006に予見されるかもしれない。
ハイブリッドストリームにおける平文パケット2100,2102はまた、2つのフレームからのデータを含むパケットの分割を可能にすべきである。これは、以下で詳細に説明される基準によって保証されるかもしれない。しかしながら、シーケンスヘッダコード又はピクチャスタートコードの一部は、依然として暗号化されたパケットに設けることができる。この場合、理想的な分割は容易には可能でない。実際、暗号化されたパケットと平文パケットの間で分割がなされるかもしれない。これらの問題の解決策が以下で詳細に説明される。この状況では、エンプティPフレームのみがIフレームに連結される。フレームベース低速フォワードについて、BフレームとBフレームの連結について、他のタイプの連結も考えられる。これは、図23を参照して明らかなように、フレーム境界におけるあるタイプの接合アルゴリズムをもたらすかもしれない。
図23は、前フレーム2300、現在フレーム2312及び次フレーム2301が示されるデータストリームを示す。前フレーム2300のエンドには、3バイトのピクチャスタートコード2302が設けられる。さらに、現在フレーム2312の始めに、1バイトのピクチャスタートコード2303が予見される。次フレーム2301に近づくと、前のパケットのフレームエンドは1バイトのピクチャスタートコード2304を有している。次フレーム2301の始めでは、3バイトのピクチャスタートコード2305が設けられる。図23は、不完全なピクチャスタートコードが連結ポイントに存在することを示す。これは、接続領域2306において接合を必要にするかもしれない。従って、接合が、Bフレーム2307とBフレーム2308の繰り返しの間で実行されるべきである。
図23は特に、パケットヘッダ2309、平文データ2310及び暗号化データ2311を示す。図23の例では、Bフレームのスタートとエンドには1バイトのピクチャスタートコードしか存在しない。このため、連結ポイントにおいて2バイトが欠落している。以下で詳細に説明される接合アルゴリズムは、このような問題を解決するかもしれない。この接合について、ピクチャスタートコードがどのように分割されるか知っているべきである。この情報は、以下で詳細に説明される方法により取得されるかもしれない。
以下において、フレームの繰り返しがより詳細に説明される。
低速フォワードモードでは、デコーダは低速フォワードファクタによりピクチャの表示を繰り返させられる。Iフレームから得られるピクチャの繰り返しを実行するため、エンプティPフレームが利用されるかもしれない。この技術はまた、Pフレームから得られるピクチャに適用可能である。しかしながら、この技術は、エンプティPフレームが常にIフレーム又はPフレームであるアンカーフレームを指し示しているため、Bフレームに容易には適用できない。これは、実際、何れかのタイプのエンプティフレームのケースである。このため、Bフレームから得られるピクチャの繰り返しは、他の方法により実現される必要がある。可能性のある方法は、Bフレームデータ自体を繰り返すことである。繰り返されるBフレームはオリジナルBフレームと同じアンカーフレームを指し示しているため、得られるピクチャは同じになる。Bフレームのデータ量は、通常はエンプティPフレームよりはるかに大きなものであるが、一般に、それはIフレームよりはかなり小さいものである。何れにしても、伝送はまたスローモーションファクタと乗算されるため、少なくとも平均的にはビットレートが増大する必要はない。
Iフレーム又はPフレームから得られるピクチャの繰り返しを実行させるために用いられるエンプティフレームは、インタレースキルタイプのものとすることができ、これにより、これらのピクチャのインタレースアーチファクトを減少させることができる。しかしながら、このような低減は、繰り返しがエンプティフレームでなくBフレームデータ自体の繰り返しにより実行されるものでないため、Bフレームから得られるピクチャに対しては容易には可能でない。このため、Bフレームは、オリジナルのインタレース効果を有する。インタレースキルがIフレームとPフレームについて利用される場合、インタレース効果を有するピクチャと有しないピクチャが表示されたピクチャのストリームに連続的に存在するため、これは大変不格好なものとなる。インタレースキルのないエンプティフレームのみを用いて低速フォワードストリームを構成することがより良好となることが、現在信じられている。
IフレームとPフレームの繰り返しは、オリジナルIフレーム又はPフレームの後のエンプティPフレームの伝送ストリームへの挿入によって実行されるかもしれない。このような方法は、エンプティPフレームに続くIフレームを有する高速フォワード/リバースストリームに対して利用されるかもしれない。しかしながら、この方法は、Bストリームを有する格納されている伝送ストリームから構成される低速フォワードストリームと同様に、Bフレームを含むストリームについて絶対に正しいものとは限らないかもしれない。伝送データから表示ストリームへの記録によって、IフレームとPフレームは誤ったポジションで繰り返され、これにより、フレームの通常の表示順序を妨げる。これは、図24及び25に示されている。
図24は、ノーマルプレイにより記録の効果を示す。図24は、伝送順序2400と表示順序2401を示す。特に、図24は、ノーマルプレイによる記録の効果を示す。上側のラインは、Iフレーム2103,Pフレーム2105及びBフレーム2104を有する12のフレームのGOPサイズによるノーマルプレイ遷移ストリーム2400を示す。次の伝送GOPの最初の4つのフレームがまた、明確にするため示される。図24の下側のラインは、表示順序への並び替え後のストリーム2401を示す。インデックスは、表示フレーム順を示す。MPEG2規格ISO/IEC13818−2:1995(E)(ページ24及び25を参照されたい)によると、並び替えは以下のように実行されるかもしれない。
・Bフレームは、それらのオリジナルポジションを維持する。
・アンカーフレーム(すなわち、IフレームとPフレーム)は、次のアンカーフレームのポジションにシフトされる。
図25は、低速フォワードモードにおける並び替えの効果を示す。特に、図25は、伝送順序2500、並び替え後の順序2501及び表示されるピクチャの順序2502を示す。ノーマルプレイストリームから構成される低速フォワードストリームを詳細に参照すると、図25の上側ラインは、スローモーションファクタが3であると仮定すると、このケースのスローモーションストリームの最初の部分の伝送順序2500を示す。エンプティPフレームが、IフレームとPフレームの後に挿入され、Bフレームが繰り返されるかもしれない。図25の中間ラインは、並び替えの効果を示す。図25の下側ラインは、IフレームとPフレームがこのケースにおいてエンプティPフレームによりどのように繰り返されるか示す。エンプティPフレームは、それ自体エンプティPフレームとすることが可能な前のアンカーフレームから得られるピクチャのコピーである表示ピクチャをもたらすかもしれない。図25では、インデックスにより示される通常の表示順序2502が、フレームI4の表示が2つの部分に分割されているため妨げられていることが観察される。最後にフレームI4のみが正しいポジションに表示される。これはまた、Bフレームが誤って復号化される可能性があることを意味する。
以下において、このような問題を訂正する方法についてのいくつかの選択肢が説明される。図26において1つの可能性が示される。図26は、アンカーフレームの前にエンプティPフレームを挿入することを示す。図26の3つの行は、図25の3つのラインと類似している。図26において、エンプティPフレームは、上側ライン2500に示されるように、記憶装置から抽出された伝送されるストリームにおけるアンカーフレームの前に挿入される。並び替えられたストリーム2501において、エンプティPフレームがアンカーフレームの後に配置される。これは、図26の表示ピクチャ2502から明らかなように、アンカーフレームの正しい繰り返しについてそれらがあるべき場所である。
しかしながら、エンプティPフレームを避けることが適切であるかもしれない理由がいくつか存在する。1つは、GOP内のエラーの伝搬に関するものである。Pフレームは、前のアンカーフレームに依存し、Bフレームは、周囲のアンカーフレームに依存する。セットトップボックスへの伝送中のデータエラーは、符号化エラーを引き起こし、ピクチャにおける障害をもたらす。このエラーがアンカーフレームである場合、それはGOPのエンドまで伝搬する。なぜなら、後続するPフレームはこのアンカーフレームに依存するためである。また、Bフレームは、復号化のため障害のある周囲のアンカーフレームからのピクチャを使用するため、影響を受ける。これは、ピクチャの障害がGOPのエンド方向に徐々に拡がるという結果をもたらすかもしれない。これは、GOPサイズが大変大きなものであり、このため長い時間となる場合、低速フォワードに特に重要である。他方、Bフレームのデータエラーは、他の何れのフレームもそれに依存しないため、極めて限られた影響しか有しない。従って、ピクチャの障害はこのBフレームとそれの繰り返しに制限される。デジタルインタフェース上ではデータエラーは発生せず、エンプティPフレームの使用を妨げるという第2の効果があると主張するものがいるかもしれない。これらがインタレースキルタイプを有する場合、それらは本来的に復号化されたピクチャで変化し、後続するフレームの復号化エラーをもたらす。従って、インタレースキルは可能でないかもしれない。
エンプティフレームの構成を参照して、複数のタイプのエンプティBフレームが構成可能である。それらは、さらなるエラー伝搬を招かず、インタレースキルが利用可能であるという効果を有するかもしれない。
エンプティBフレームの可能なタイプは、フォワード予測エンプティBフレーム(Bfフレームと示される)と、バックワード予測エンプティBフレーム(Bbフレームと示される)とである。
Bフレームは、通常は双方向予測であるが、一方向予測Bフレームもまた存在しうる。後者のケースでは、それらはフォワード又はバックワード予測とすることが可能である。フォワード予測は、符号化中に後続するBフレームを予測するのにアンカーフレームが利用されることを意味する。このため、フォワード予測Bフレームから得られるピクチャは、前のアンカーフレームから復号化中に再構成される。これは、Bfフレームが前のアンカーフレームの繰り返しを実行させることを意味する。このため、それは、エンプティP又はPeフレームと同じ効果を有する。Bbフレームは、反対の効果を有する。それは、それに続くアンカーフレームの表示を実行させる。双方のタイプのエンプティBフレームについて、インタレースキルバージョンがまた可能である。
以下において、低速フォワードストリームを構成するためこのようなエンプティBフレームを利用する方法が説明される。
図27において、Bbフレームに基づく第1の可能性が示される。
Bbフレームは、アンカーフレームの前に挿入され、並び替え中にそれらのポジションを維持する。アンカーフレームは、次のアンカーフレームのポジションにシフトされる。Bbフレームは、並び替えられたストリームにおいてそれに続くアンカーフレームの表示を実行する。
図28に示されるように、他の選択肢はBfフレームの利用である。
Bfフレームは、伝送ストリームにおいてアンカーフレームの後に挿入される。並び替えられたストリームにおけるアンカーフレームの繰り返される表示は、それらに続くBfフレームにより実行される。
Bfフレームの使用は、高速フォワード及び高速リバースストリームを構成するためのエンプティPフレームの使用と類似している。実際、Bfフレームの使用はまた当該ケースにおいて可能であり、このため、トリックプレイの生成をさらに一般化する。しかしながら、Bfフレームが高速フォワード及び高速リバースに使用されるとき、記録の効果が考慮されるべきである。これは、PTS/DTSなどの高速フォワード/リバースストリームと時間リファレンスにおけるいくつかのパラメータは適切に選択される必要があることを意味する。
以下において、時間リファレンスに関するさらなる詳細が説明される。
GOPヘッダからスタートする伝送GOP内の表示順序は、各ピクチャヘッダにおける時間リファレンスにより示される。表示される最初のフレームは、ゼロに等しい時間リファレンスを有する。図29において、これがノーマルプレイストリームについて示される。
図29は、伝送順序2902のための時間リファレンス2900と、表示順序2903のための時間リファレンス2901とを示す。
表示順序2903では、時間リファレンス2901は、0〜11の単調増加系列である。並び替えによって、伝送ストリームのアンカーフレームの時間リファレンスはシフトされる。
図30において、低速フォワードストリームの場合の時間リファレンスを考慮して、Bfフレームが挿入される好適なケースの状況が、3のスローモーションファクタについて示される。
図30は、Bfフレームによる低速フォワードのための時間リファレンスを示す。
図30の上側ラインは、オリジナル時間リファレンスと共に図29に示されるノーマルプレイストリームから取得されたフレームを示す。図30の第2ラインは、Bfフレームの挿入とBフレームの繰り返しを示す。このラインの上方に、オリジナル時間リファレンスが示され、それらはこのラインの下方にあるべきである。図30の第3ラインは、記録後のフレームを示し、図30の下側ラインは表示ピクチャを示す。これらのラインの下方に、並び替えられたフレームの時間リファレンスが示される。それは、0〜35の増加系列を構成する。図31及び32において、Bフレーム又はPeフレームを予め挿入したケースにおける時間リファレンスが比較のため示される。
図30〜32から、低速フォワードストリームのフレームには新たな時間リファレンスが設けられるべきであることが得られる。これらがどのように求められるかが以降で説明される。理論的には、GOPはGOPヘッダにより先行される必要はないことが記載されるべきである。GOPヘッダのないGOPに実際に遭遇したことはないが、この状況がまた考慮される。時間リファレンスは、GOPヘッダの後に最初に表示されるフレームについてのみゼロにリセットされる。このため、GOPヘッダがない場合、時間リファレンスはゼロにリセットされず、1023のそれの最大値まで増加し、その後ゼロに戻される。この場合、Iフレームは、Iフレームに続くPフレームとBフレームと同様に、Pフレームに続くBフレームとして扱われる必要がある。すべての計算は、モジュロー1024ベースで実行される。新たな時間リファレンスを生成するため、Bフレームとアンカーフレームの新たな時間リファレンスとが区別される。
以下において、Bフレームのための新たな時間リファレンスが説明される。
ここでは、オリジナルBフレーム、繰り返されるBフレーム又は挿入されるエンプティBフレームの間の区別はされない。Bフレームの他のカテゴリ化が、時間リファレンスに関して行われる。
図33は、Bf又はBbフレームが挿入されるケースの具体例を示す(BはBでないことに留意されたい)。一般に、3つのタイプのBフレームが区別される。
1.Iフレームに続くBフレーム(B
これは、常に現在の伝送GOPのうち表示されるべき最初のフレームである。GOPヘッダがない場合、それはPフレームに続くBフレームとして扱われる。GOPヘッダが存在するとき、このBフレームにおける時間リファレンスはゼロである。
T{B}=0 (5)
2.Pフレームに続くBフレーム(B
並び替えによって、このBフレームは、当該Bフレームの前にある伝送ストリームのPフレームに先行する最後のアンカーフレームの後に表示される。この最後のアンカーフレームはAにより示され、Iフレーム、Pフレーム又はエンプティPフレームとすることが可能である。この場合、Bフレームの時間リファレンスは、1だけ増加した最後のアンカーフレームAの時間リファレンスに等しい。
T{B}=T{A}+1 (6)
3.他のBフレームに続くBフレーム(B
それは、エンプティBフレームとすることが可能な伝送ストリームにおける先行するBフレーム(B)の後に表示される。
この場合、Bフレームの時間リファレンスは、1だけ増加した先行するBフレームの時間リファレンスに等しい。
T{B}=T{B}+1 (7)
次に、アンカーフレームのための新たな時間リファレンスが説明される。
並び替えによって、アンカーフレームは、伝送ストリームにおいてそれらに続くBフレームのシーケンスの後に表示される。従って、それらの新たな時間リファレンスを決定するため、低速フォワードストリームにおいていくつのBフレームがIフレーム及びPフレームに続くか知ることが重要である。可変的なGOPサイズ又は可変的なGOP構成の場合、これら履歴から求めることはできない。実際、可変的GOP構成は一般的でない。可変的GOPサイズを有するステーションについてさえ、アンカーフレームに常に同じ大きさのBフレームが続くであろう。にもかかわらず、可変的なGOP構成が考えられ、可能とである。
可変的GOP構成を処理可能となるため、伝送される低速フォワードストリームにおける各アンカーフレームに続くBフレームの個数が決定される必要がある。これは、エンプティBフレーム又はエンプティPフレームが挿入されるか否かを考慮して、オリジナルの記録されたストリームにおける当該アンカーフレームに続くBフレームの個数とスローモーションファクタから計算可能である。このため、このBフレームの個数が何れかの方法により決定される。これを実行可能にする方法として、次のアンカーフレームまでのすべてのデータを読み出すことが考えられるが、これは、かなりの大きさのバッファ処理を必要とする。このバッファ処理を回避するための他の可能性は、この上方をCPIファイルに格納し、そこからそれを抽出することである。Bフレームの個数は、伝送されるストリームにおける次のアンカーフレームとのフレーム距離から容易に求めることが可能である。実際、それはこの距離から1を引いたものに等しくなる。この情報をCPIファイルに格納する方法として2つある。
1.CPIファイルが、それのタイプを含む各フレームのエントリを保持する。
2.CPIファイルが、前のアンカーフレームとのフレーム距離を含む各アンカーフレームのエントリを保持する。
最初のケースでは、次のアンカーフレームとのフレーム距離は、CPIファイルにおいて容易にカウント可能である。第2のケースは、次のアンカーフレームとの距離の代わりに、前のアンカーフレームとの距離がフレームと共に格納されるため、やや奇妙に思われるかもしれない。現在のアンカーフレームから次のアンカーフレームまでの距離は、単にCPIファイルの次のアンカーフレームからの距離情報を読み込むことによって求められる。この距離はDにより示され、スローモーションファクタはLにより示され、その双方がゼロより大きな整数となる(図34を参照されたい)。
図34は、ノーマルプレイ3400と低速フォワードプレイ3401のための距離DとスローモーションファクタLを示す。
ファクタLは、スピードファクタでなく、スローダウンファクタである。
アンカーフレームに続くBフレームの総数は、エンプティBフレーム又はPフレームの挿入に依存する。このため、2つの状況が区別される。すなわち、エンプティBフレーム(Bf又はBb)又はエンプティPフレーム(Pe)が挿入される。GOPヘッダがない場合、IフレームがPフレームとして取り扱われる。
次に、エンプティBフレーム(Bf又はBb)が挿入される場合の新たな時間リファレンスが説明される。
次のアンカーフレームとのオリジナルの距離はDに等しい(図34を参照されたい)。
スローフォワードストリームにおける次のアンカーフレームとの距離は、L×Dに等しい。
従って、アンカーフレームに続くBフレームの総数は、L×D−1となる。
Iフレームに続く最初のBフレームは、ゼロの時間リファレンスを有する(図35を参照されたい)。
従って、Iフレームに続く最後のBフレームは、L×D−2に等しい時間リファレンスを有する。Iフレームは、表示される次のフレームであり、それの時間リファレンスは1だけ大きい。このとき、Iフレームの時間リファレンスは、
T{I}=L×D−1 (8)
により与えられる。
Pフレームの時間リファレンスはまた、前のアンカーフレームの時間リファレンスと低速フォワードストリームに依存する。この前のアンカーフレーム(Iフレーム又はPフレーム)はAにより示され、それの時間リファレンスはT{A}により示される(図36を参照されたい)。
Pフレームに続くBフレームは、前のアンカーフレームAの後に表示される。このBフレームの時間リファレンスは、T{A}+1に等しい。
Pフレームに続く最後のBフレームの時間リファレンスは、T{A}+L×D−1となる。
Pフレームは、表示されるべき次のフレームであり、それの時間リファレンスは、1だけ大きい。このとき、Pフレームの時間リファレンスは、
T{P}=T{A}+L×D (9)
により与えられる。
以下において、エンプティPフレーム(Pe)が挿入される場合に時間リファレンスがどのように規定されるかが説明される。
何れのエンプティBフレームも挿入されていないため、アンカーフレームに続くBフレームの総数は、L×D−1の代わりにL×(D−1)となる(図37を参照されたい)。
Iフレームの時間リファレンスは、
T{I}=L×(D−1) (10)
により与えられる。
PフレームとPeフレームとが区別される。
Pフレームの前のアンカーフレームは、通常はそれがIフレーム又はPフレームであるL=1のケースを除いて、Peフレームとなる。何れのケースにおいても、前のアンカーフレームがAにより示され、それの時間リファレンスがT{A}により示される(図38を参照されたい)。
Peフレームを除くPフレームの時間リファレンスは、
T{P}=T{A}+L×(D−1)+1 (11)
により与えられる。
並び替え後、Peフレームは前のIフレーム、Pフレーム又はPeフレームに直接続き、このため前のアンカーフレームに続く。この結果、Peフレームの時間リファレンスは、前のアンカーフレームAのものより常に1だけ大きくなる(図39を参照されたい)。
Peフレームの時間リファレンスはまた、D=1とすることによってPフレームの式により計算することができる。これは、伝送フレームのPeフレームに他のアンカーフレームが常に続くという事実から得られる。また、L=1はノーマルプレイに対応し、すべてのケースにおいて通常の時間リファレンスをもたらすことに留意すべきである。
次に、各フレームの接合が説明される。
特に、不完全なピクチャスタートコードの場合のフレームの接合が説明される。低速フォワードストリームにおける連結ポイントでの要求される接合動作を決定するため、オリジナルストリームが個別のフレームに明示的に分割されるケースがまず明らかとなるべきである。以下において、GOP毎に又はフレーム毎に1つのPESパケットとなる実際的な状況が考えられる。
フレーム毎に1つのPESパケットとなるケースでは、図40に示されるように、オリジナルストリームはPLUSIによるパケットと先行パケットとに分割されるかもしれない。
図40において、フレーム毎に1つのPESパケットとなるストリームの分割が示される。図40に示されるデータストリームは、平文パケットヘッダ4000、アダプテーション・フィールド4001、平文データ4002、暗号化データ4003及び平文PESヘッダ4004を有する。さらに、PLUSIプレゼントが参照番号4005により示され、PESヘッダが参照番号4006により示される。
各フレームは、いくつかの完全なオリジナルパケットを有する。このため、パケット分割は必要とされない。このフレーム分割はまた、完全に暗号化されたストリームにおいて実行可能であるが、ある平文データへのアクセスが、低速フォワードストリームを構成するのに依然として必要である。PLUSIを有するパケットのスタートにおける分割はまた、2つのパケットに拡がるピクチャスタートコードが存在しないことを意味する。各フレームは、自らの正しく完全なピクチャスタートコードを有している。従って、このケースでは、接合動作は必要でない。
しかしながら、GOP毎に1つのPESパケットのケースでは、状況は異なる。フレーム間の分割は、新たなフレームのピクチャスタートコードにおいて、PESヘッダがそれに先行しない場合に行われる。
以下のアルゴリズムが、分割ポイントを決定するのに利用されるかもしれない。
1.オリジナルストリームが、PLUSIビットセット、ピクチャスタートコード及びピクチャ符号化拡張を有するパケットに対して同時に調べられる。
2.PLUSIビットセットを有するパケットに最初に遭遇した場合、当該パケットのスタートにおいて分割が行われる(ピクチャスタートコード4100とピクチャコード拡張4101を含む図41を参照されたい)。その後、ピクチャ符号化拡張について、ストリームが調べられる。これが検出した後、ポイント1に記載されるようにサーチが継続される。
3.ピクチャスタートコードに最初に遭遇した場合、ピクチャスタートコードのスタートにおいて分割が行われる。多くのケースにおいて、これは、ピクチャスタートコードを含むパケットが2つのパケットに分割される必要があり、第1のパケットは前のフレームに割り当てられ、第2のパケットは後のフレームに割り当てられることを意味する。(アダプテーション・フィールドの挿入位置が参照番号4200により示されるピクチャスタートコード4100のスタートにおけるストリームの分割を示す図42を参照されたい。)両方のパケットがアダプテーションフィールド4200により充填される。その後、第2パケットのペイロードが、ピクチャスタートコード4100からスタートする。オリジナルパケットのタイムスタンプの記録は、これら2つのパケットのそれぞれにコピーされ、分割が行われる。分割された又はオリジナルパケットからの2つのパケットが、2つのフレームの連結ポイントにおいて使用されるか否かは、後述されるように、具体的な状況に依存する。その後、ストリームが、ピクチャ符号化拡張4101について検索される。これを検出した後、検索はポイント1において説明されたように継続される。
4.ピクチャ符号化拡張に最初に遭遇した場合、ピクチャスタートコードは、それが部分的に暗号化されているため、検出できないに違いない。これは、現在の平文エリアがピクチャスタートコードの数バイトからスタートしていることを意味する。この場合、現在の平文エリアの最初の平文パケットのスタートにおいて、分割が行われる。(ピクチャスタートコード4100内のストリームの分割と、数バイトのピクチャスタートコード4300と共にピクチャ符号化拡張4101を示す図43を参照されたい。)ポイント1に説明されたサーチが、ピクチャ符号化拡張4101の検出後に続けられる。
説明されたアルゴリズムはまた、フレーム毎に1つのPESパケットを有するストリームの正しい分割ポイントを生じさせる。さらに、アルゴリズムは、上述したハイブリッドストリームと共に平文ストリームに適用するよう構成される。
与えられたアルゴリズムのポイント4からのみもたらされる可能性がある不完全なピクチャスタートコードのケースに限って、接合が必要となる。従って、ポイント4のみが理想的でない分割ポイントをもたらす。以下に説明される方法は、ピクチャスタートコードの何バイトが理想的でない分割ポイントの側にあるか決定するのに利用される。理想的でない分割ポイントの効果が、以降で詳細に説明される。
次に、何れかのタイプのエンプティPフレームがこのような理想的でない分割ポイントに挿入される状況が検討される。最初のエンプティフレームを処理する方法が以下に説明される。分割ポイントの後のピクチャスタートコードの部分に等しい数バイトが、最初のエンプティフレームのピクチャスタートコードから削除される。中間のエンプティフレームは変更されない。最後のエンプティフレームは、以降のフレームのピクチャスタートコードの欠落部分について訂正される必要がある。このため、この欠落部分は、最後のエンプティフレームのエンドに追加されるかもしれない。理想的な分割ポイントに挿入されるエンプティフレームに対する変更は不要である。
以下において、Bフレームの繰り返しが検討される。Bフレームが両サイドに理想的な分割ポイントを有する場合、繰り返しのため接合動作は不要である。しかしながら、理想的でない分割ポイントがフレームの何れかの側にある場合、接合動作は必要又は効果的であるかもしれない。オリジナルフレームとそれの繰り返しは、同一のBフレームの系列を構成する。ここでは、フレームはノーマルプレイストリーム又はエンプティフレームと同じフレームに接続されるため、系列のスタート又はエンドにおける接合動作は不要である。最初のケースでは、データの通常の順序が当該ポイントにおいて復元されるため、不連続性は存在しない。第2のケースのための手段は上述された。従って、Bフレームのエンドが同じBフレームのスタートに接続される中間の連結ポイントのみが検討される必要がある。ここに記載される例は、図23を参照して上述された例を参照し、明確にするため、図44においてより詳細に繰り返される。
図44は、連結ポイントにおける不完全なピクチャスタートコードを示す。
正しい接合について、Bフレームのエンド及びスタートにおけるピクチャsyたーとコードのバイト数を知ることが必要である(MPEG2の範囲内では、スタートコードは4バイト長であるかもしれない)。エンドにおけるバイト数をnによって、スタートにおけるバイト数をmによって表すと、理想的な分割ポイントでは、n=0及びm=4となる。理想的でない分割ポイントの場合、後述される方法によって、あるフレームに対するnの値と後続するフレームに対するmの値が決定される。
ピクチャスタートコードのスタートにおいて分割が行われるため、nは4に等しくなることはなく、n=0となることは明らかである。他方、この場合、ピクチャスタートコードは前のフレーム内に完全にあり、分割は理想ポジションにおいて行われるため、mが0になることはなく、m=4となる。従って、0≦n≦3及び1≦m≦4が通常の状況である。
1つの同じフレームNについてn及びmの値を取得するため、これらの値が、当該フレームの周囲の2つの分割ポイントの情報から抽出される必要がある。従って、n及びmは、繰り返される必要があるBフレームのエンド及びスタートにおけるピクチャスタートコードのバイト数を表す。この結果、それらはまた、中間的な連結ポイントの前後のピクチャスタートコードの数バイトを表す。
次に、n+m=4となることが仮定される。これは、Bフレームの周囲の両方の分割ポイントが理想的となるケースである。しかしながら、このケースでは接合動作が不要であることがすでに知られている。しかしながら、これはまた、双方の分割ポイントが理想的でないケースとなる可能性がある。これは、図45に示される状況である。
図45は、n+m=4の具体例を示す。
フレームNの最後のパケットは、参照番号4500により示され、図45はさらに、参照番号4501により示されるフレームNの最初のパケットを示す。境界4502において、接合動作は不要である。ピクチャスタートコードのバイト(n=3)は、参照番号4503により示される。ピクチャスタートコードのバイト(m=1)は、参照番号4504により示される。
n+m=4であるという事実は、ピクチャスタートコードの正しいバイト数が連結ポイントにあり、接合動作が不要であることを意味する。
しかしながら、図46はn+m>4である状況を示す。
これは、連結ポイントにおいて1,2又は3バイトが余分に存在することを意味する。このケースでは、n+m−4に等しい数バイトが第2フレームのスタートから削除される。これは、これら平文バイトを充填(stuffing)バイトを含むアダプテーション・フィールド(AF)と置換することによって実現される。アダプテーション・フィールドがすでに存在する場合、それの長さはm+n−4により増加される必要があり、破棄されるべきデータが、規格に従って16進数FFを有する充填バイトと置換される。
n+m>4及びn<3の特別なケースでは、接合を実行しないことが可能である。効果的に、エレメンタリストリームの充填を実現できる。
接合動作が必要なポイントは、参照番号4600により示される。本例では、ピクチャスタートコードのバイト(n=2)が、参照番号4601により示される。ピクチャスタートコードのバイト(m=3)は、参照番号4602により示される。さらに、ピクチャスタートコードのバイト(n=2)は、参照番号4603により示され、ピクチャスタートコードのバイト(m=2)は、参照番号4604により示される。アダプテーション・フィールドを用いて置換されたバイトのポジション(n+m−4)は、参照番号4605により示される。
図47を参照するに、n+m<4であることが仮定される。
これは、1,2又は3バイトが連結ポイントにおいてピクチャスタートコードから欠落していることを意味する。この場合、何れのバイトが欠落しているか知るべきである。nとmは共にわかっているため、欠落したバイトは一意的に特定できる。このとき欠落したバイトは、さらにアダプテーション・フィールドにより充填される新たなパケットにある。この接合パケットは、その後2つのフレームの間に置かれる。この接合パケットは、参照番号4700により示される。参照番号4701は、ピクチャスタートコードのバイト(n=2)を示し、参照番号4702は、ピクチャスタートコードのバイト(m=1)を示す。参照番号4704は、挿入されたバイト(4−n−m)を示す。参照番号4705は、ピクチャスタートコードのバイト(m=1)を示す。
以下において、低速フォワードストリームにおけるDTS(Decoding Time Stamp)とPTS(Presentation Time Stamp)が説明される。
ここでの説明は、低速フォワードストリームのすべてのフレーム、従って、繰り返されるBフレームとエンプティフレームとを含むフレームに対する新たなDTSと新たなPTSの値の生成の説明を含む。与えられるDTS及びPTSの式は、ノーマルプレイから低速フォワードにスイッチする際(従って、並び替え後)の表示ストリームにおいて連続的なPTSをもたらす。スイッチポイントにおけるフレームの表示での不連続性が回避されるかもしれない。追加的なDTS又はPTSはストリームに挿入される必要はなく、既存のDTS又はPTSのみが新たな値と置換される。PESパケットの長さは、それのオリジナルの値がいずれであっても、ゼロ(制限なし)に変更されるかもしれない。GOP毎に1つのPESパケットとなるケースでは、スイッチポイントにおける誤ったPESパケット長が、この値がゼロ以外であって、実質的なバッファリングが用いられない場合、又はIフレームのスタートにおいてスイッチが遅延されない場合には回避できない。実際の放送ストリームでは、PESパケットの長さは大部分は制限なし(ゼロ)に設定される。
以下において、DTSの値の計算が説明される。
MPEG2規格(ISO/IEC13818−1:1996(E)、特にページ95〜96を参照されたい)によると、DTSのないフレームのDTSが、
DTS{F}=DTS{F}+Delta (12)
を用いて、DTSを有する直近のフレームから逐次的に計算される必要がある。
式(12)において、Fは現在フレームを示し、Fは伝送ストリームにおける前フレームを示す。式(12)の存在は、容易に理解できる。ストリームは、復号化の順序が伝送順序と一致するように並び替えられる。以降のフレームの復号化が1フレーム時間により分離されることは明らかである。これらの観察は、Deltaが1フレーム時間に対応するDTSインクリメントであると仮定すると、与えられた式を直接導く。式(12)は、例えば、IフレームのDTSからすべてのフレームのDTSとGOPを連続的に計算するため、GOP毎に1つのPESパケットとなるケースに利用されるかもしれない。しかしながら、この式はまた、スイッチポイント前の最後のフレームのDTSから低速フォワードストリームのすべてのフレームのDTSを容易に求めるのに利用可能である。
パラメータDeltaは、DTSがPCRベースにリンクされているため、1フレーム時間での90kHzの周期数に等しい。図48において、フレームレートに応じたDeltaのいくつかの値が与えられる。
すなわち、図48は、フレームレートの関数としてDeltaを示している。
以下において、PTS値の計算が説明される。
MPEG2規格(ISO/IEC13818−1:1996(E)のページ34を参照されたい)によると、BフレームのPTSは、
PTS{B}=DTS{B} (13)
により与えられる。
同じ規格によると、アンカーフレームのPTSは、
PTS{A}=DTS{A} (low_delayシーケンスに対して) (14)
PTS{A}=DTS{A} (non−low_delayシーケンスに対して) (15)
により与えられる。
式(15)では、Aは伝送されるストリームにおける次のアンカーフレームを表す。low_delayシーケンスは、low−delay_flagがセットされたBフレームのないストリームである。実際、Bフレームのないストリームに遭遇するが、それはlow_delayシーケンスでない。
non−low_delayシーケンスでは、PTSは同じフレームのDTSの関数として表されるかもしれない。ノーマルプレイストリームでは、次のアンカーフレームとの距離はDフレームに等しい。低速フォワードストリームにおける次のオリジナルアンカーフレームとの距離は、スローモーションファクタL〜L×Dフレームだけ増加される。エンプティBフレームが使用される場合、低速フォワードストリームにはさらなるアンカーフレームは存在しない。DTS値はフレーム毎にDeltaだけ増加されるため、以下の式が成り立つ。
DTS{A}=DTS{A}+L×D×Delta (16)
DTS{A}をPTS{A}に置換すると、エンプティBフレームが挿入されるケースでのアンカーフレームのPTSの以下の式が得られる。
PTS{A}=DTS{A}+L×D×Delta (17)
エンプティPフレームを予め挿入する場合、オリジナルアンカーフレームと、ここではエンプティPフレームである次のアンカーフレームとの距離は、(L−1)フレームだけ減少する。エンプティPフレームと次のアンカーフレームとの距離は、常に1フレームに等しい。このとき、エンプティPフレームが挿入されるケースにおけるアンカーフレームのPTSは、
PTS{A}=DTS{A}+[L×D−(L−1)]×Delta (18)
PTS{Pe}=DTS{Pe}+Delta (19)
GOP毎に1つのPESパケットとなるケースでは、IフレームのDTSとPTSのみが計算された値と置換される。さらなるDTS/PTSはストリームに追加される必要はない。これはプレゼンテーションストリームにおける2つのPTS値の間の700msの最大距離を破るかもしれないが、問題は予想されない。その理由は、トータル低速フォワードストリームのDTS/PTS値が、欠落したDTS/PTS値についてルールに従って計算されるためである。これは、実際のDTS/PTS値と低速フォワードストリームのフレームのSTBにより計算される値との間に乖離が存在しないことを意味する。計算されたPTSはオリジナルPTSの置換以外の何れかの目的のためには使用されないため、GOP毎に1つのPESパケットとなるケースでは、それはIフレームに対してのみ計算されればよい。すべてのフレームに対して、DTSが計算される必要がある。まず、フレームのDTSが前フレームのDTSから計算されるため、さらにフレームの古いDTSと新しいDTSが低速フォワードストリームの当該フレームのデータの位置決めのため以下で使用されるためである。
次に、タイムスタンプを用いたフレーム及びパケットの位置決めが説明される。
このセクションは、各パケットに前置された記録タイムスタンプを用いた低速フォワードストリームの時間軸上のフレーム及びパケットの配置を扱う。それは、オリジナルノーマルプレイフレームの配置からスタートする。その後、Bフレームの繰り返し及び圧縮が説明される。その後、エンプティフレームの配置が説明される。最後に、PCRに関するいくつかの問題点が説明される。
以下において、オリジナルノーマルプレイフレームの位置決めが説明される。
復号化問題は、必要なデータが受信される前に復号化がスタートした場合に発生するかもしれない。このような可能な復号化問題は、フレームデータのエンドと当該フレームのDTSとの距離が低速フォワード及びノーマルプレイストリームについて同じである場合、低速フォワードストリームについては回避されるかもしれない。これは、フレームデータのスタートにおける対応するDTSとの距離をノーマルプレイストリームと同じに維持し、当該フレームのパケットをオリジナルノーマルプレイストリームからと同じパケット距離に配置することによって実現可能である。
DTSとの変更されていない距離を示す図49において、この状況が示される。DTSとの距離は、図49に示されるものよりはるかに大きくすることができる。
図49は、参照番号4900により示されるノーマルプレイにおける状況と、参照番号4901により示される低速フォワードにおける状況とを示す。
フレームデータのスタート時点は、当該フレームのスタートにおけるシステム・タイム・カウンタ(System Time Counter)の値により与えられる。これは、バーチャルなPCRの値であるPCRSにより示される。添え字N及びSは、それぞれ並び替えられたノーマルプレイストリームにおけるオリジナルの値と、低速フォワードストリームにおける新たな値とを示す。フレームのスタートに対する配置ルールは、
DTS−PCRS=DTS−PCRS (20)
により与えられ、これは、
DTS−DTS=PCRS−PCRS (21)
に書き換えることができる。
ノーマルプレイストリームにおけるそれのオリジナルポジションに関する低速フォワードストリームのフレームのオフセットは、
offset=PCRS−PCRS (22)
により与えられ、これは、
offset=DTS−DTS (23)
に変換できる。
必要とされるDTS値は、各低速フォワードフレームについて、また必要に応じてDTSを有さないGOP内のノーマルプレイフレームについて計算される。ノーマルプレイストリームと共に低速フォワードストリームにおけるすべてのオリジナルフレームのDTSが利用可能であるため、これらのフレームのオフセットは、それらの新たなDTS値とオリジナルのDTS値との差分として計算できる。このとき、このオフセットは、フレームを位置決めし、当該フレームのデータ内に存在するPCRSのPCR値を訂正するのに利用される。後者は用意であり、オフセットが単にオリジナルのPCRベースに加えられる。PCR拡張は変更されない。これは、両方のケースにおいて訂正がオフセットに等しいため、DTSとPCRとの間にはフォリフトは導入されないことを確実にする。このとき、新たなPCRベース値とオリジナルPCRベース値との間の関係は、
PCRbase=PCRbase+offset (24)
により与えられる。
フレームの位置決めはやや難しい。位置決めは、すべてのパケットの前置される4培地の記録タイムスタンプ(TST)を訂正することによって実現される。このため、オフセットは90kHzから27MHzのベーシスから再計算される。直接的な選択は、オフセットに300を乗じることである。しかしながら、それは、ノーマルプレイから低速フォワードにスイッチする際、PCRクロック周波数における可能なジャンプとみなされる必要がある。このようなジャンプは、タイムスタンプカウンタのクロックが記録中にPCRにロックされる場合には行われない。しかしながら、ある理由又は他の理由のため、タイムスタンプがPCRにロックされない場合、ジャンプするPCRクロック周波数は、追加的な乗数Mを用いることによって回避することができる。このファクタは、このときタイムスタンプと記録されたノーマルプレイストリームにおけるPCRを有する最新の2つのパケットのPCR値とのレシオに等しい。最新とは、現在フレームのスタート前の直近の2つのPCRパケットを意味する。このレシオは、ロックされたタイムスタンプの理想的なケースにおいては1に等しい。これら少なくとも2つのPCRパケットをP(k−1)とPにより示すと、フレームのすべてのパケットのタイムスタンプのオフセットは、
TSToffset=300×offset×M (25)
により与えられ、ここで、
M=(TST{P}−TST{P(k−1)})/(PCR{P}−PCR{P(k−1)}) (26)
である。
この式のPCR値は、実際には、27MHzクロックに基づくトータルPCR値である。これは、以下のようにPCRベースと拡張から計算されるかもしれない。
PCR=300×PCRbase+PCRext (27)
パケットP(k−1)とPの間のTST又はPCR値のラップが存在する場合、Mの計算において奇妙な結果が生じる可能性があることが明らかである。これは、簡単に回避することができる。パケットPの値がパケットP(k−1)の値より小さい場合、TST又はPCRの範囲に対応する値が、この減算前にパケットPの値に加えられる必要がある。これは、TST又はPCRのレジスタが通常必要とされるよりも1ビット大きくなるべきであることを意味する。TSTについて、これはまた、この条件が発生した場合には追加ビットは1に設定され、そうでない場合にはゼロに設定されることを意味する。残りのビットは常にオリジナルのTSTビットに等しい。
計算されたTSTオフセットは、当該フレームのすべてのパケットのタイムスタンプを訂正するのに利用される。これは、オフセット値が記録されたタイムスタンプに加えられることを意味する。
以下において、Bフレームの繰り返しが説明される。
Bフレームから得られる表示ピクチャの繰り返しは、Bフレームデータの繰り返しにより実行される。これは、低速フォワードストリームの同一のBフレームの系列を生じさせる。この系列の最初のフレームの配置は、オリジナルノーマルプレイフレームの位置決めを処理する場合に類似している。残りのフレームは、繰り返しBフレームと呼ばれる。それらは第1フレームと同様にして扱うことが可能であり、これは、オフセットが低速フォワードストリームとオリジナル記録ストリームのDTS値の間の差分として計算されることを意味する。記録されたフレームのDTSは、同一のBフレームの完全な系列について同一である。低速フォワードストリームでは、フレームのDTSは常に前フレームのDTSにDeltaだけ増加したものに等しい。これは、繰り返しBフレームBのオフセットはまた、以下の式により計算可能であることを意味する。
offset{B}=offset{B}+Delta (28)
ただし、Bは前のBフレームを示す。
このとき、オフセットは、おそらく現在のPCRと特定のBフレームのパケットのタイムスタンプ(変換後)とを訂正するため、上述された方法で利用される。
図50は、同一のBフレーム系列の境界における等しいオフセットを示す。この状況は、ノーマルプレイについてと(参照番号5000)、低速フォワードについて(参照番号5001)示される。
エンプティフレームが連結ポイントに挿入されていない場合、ある系列の最初のBフレームのオフセットは低速フォワードストリームの先行するフレームのオフセットに等しいことを示すことができる。2つの状況がこの要求を充足する。第1の状況は、エンプティフレームが予め挿入されるケースにおいて、Bフレームが前のアンカーフレームに連結されるときである。第2の状況は、Bフレームが前のBフレームに連結されるときである。図50は、これら2つのBフレームの連結の効果を明らかにする。実際、同じことが系列のエンドについて成り立つ。また、連結ポイントの周囲の2つのフレームのオフセットは、このポイントにおいてエンプティフレームが挿入されていない場合、同じになる。図50はまた、2つの連結されたBフレームについてこれを示す。他方の状況は、Bfフレームの以降の挿入が用いられるケースにおいて、後続するアンカーフレームとBフレームとの連結である。
これは、このような連結ポイントの周囲の2つのフレームがノーマルプレイストリームと同様に接続されることを意味する。このため、オリジナルパケットは常にこのような連結ポイントで用いられ、パケットが2つのフレームからの情報を有するケースにおける分割から得られる2つのパケットについては使用されない。また、このようなポイントでは接合は不要であることは明らかである(上述されているように)。他のすべての連結ポイントにおいて、分割からの2つのパケットが存在する場合には用いられる。
以下において、Bフレームの時間圧縮が示される。
Bフレームの期間は1フレーム時間より通常は短いことが予想されるかもしれない。平均的には、これは正しいが、ときにはBフレームの伝送時間は1フレーム時間より大きくなる可能性がある。約30秒間の測定では、1.4フレーム時間のBフレームが検出された。図51において、この測定結果が示される。平均的なBフレームデータ長は、0.6フレームに等しいが、Bフレームデータの期間は、通常は1フレーム時間より大きい。
図51は、秒単位の時間がプロットされる横座標5101を有するグラフ5100を示す。グラフ5100の縦座標5102に沿って、フレーム時間数によるフレームの長さがプロットされる。
TSTオフセットによるタイムスタンプの訂正によりBフレームのパケットを位置決めすることは、Bフレームの期間が1フレーム時間より小さい限り、正しい結果をもたらす。しかしながら、低速フォワードストリームのBフレームが1フレーム時間より大きい場合、それのエンドは後続フレームと重複する。なぜなら、フレームのスタートは1フレーム時間の距離により配置されるためである。これは完全には正しくない。なぜなら、直近の繰り返しBフレームは意後続フレームと重複しないためである。図52において、1フレーム時間より大きなBフレームの状況が明らかにされる。図52は、Bフレームが1フレーム時間より大きいケースにおけるデータの重複を示す。
図52は、ノーマルプレイの状況5200、圧縮のない低速フォワードの状況5201及び圧縮のある低速フォワードの状況5202を示す。フレーム時間は、参照番号5203により示される。Bフレームは参照番号5204を有し、次のフレームは参照番号5205を有し、前のフレームは参照番号5206を有し、圧縮されたBフレームは5207により示される。さらに、隣接するフレーム間の重複が、参照番号5208により示される。
前フレーム及び次フレームのタイプは、記載された効果に影響を与えない。従って、それらはアンカーフレーム、Bフレーム又はエンプティフレームとすることができる。
これは、最後を除く同一のBフレームの系列のすべてのBフレームが時間を経過と共に圧縮される必要があることを意味する。この圧縮は、ローカルビットレートをトータルのノーマルプレイストリームの最大ビットレートを超えるレベルまで増加させることが可能である。この増加を可能な限り制限するため、Bフレームのパケットは利用可能なフレーム時間に均等に配分される。Bフレームの最初のパケットのタイムスタンプは、上述されたオフセットルールにより計算される。BフレームのパケットがPにより示される場合(ただし、インデックスjはBフレーム内のパケット番号である)、低速フォワードストリームの圧縮されたBフレームの最初のパケットのタイムスタンプは、
TST{P}=TST{P}+TSToffset (29)
により与えられる。
フレームの後続するパケットのタイムスタンプのインクリメントは、フレームのパケットの総数により除された1フレーム時間に対応する値に等しい。接合パケットやPCRパケットなどのBフレームのエンドにおけるさらなるパケットが、このようにして含まれる必要がある。このパケット数をNにより示し、圧縮されたBフレームのパケットの間の距離をdにより示すと、この距離は、
=300×Delta/N (30)
により与えられる。
圧縮されたBフレームと低速フォワードストリームの残りのパケットのタイムスタンプは、
TST{P}=TST{P(j−1)}+d (31)
により与えられる。
理想的でないケースでは、この距離を計算するための乗数300は、圧縮されたBフレームの最後のパケットと後続するフレームの最初のパケットとの間のパケット距離問題をもたらす可能性がある。これは、乗数300によってでなく、オフセットについて上述されたものと同じ方法によりDeltaを変換することによって解決することが可能である。しかしながら、実際的な解決策は、パケットの実数より1だけ大きなNの値を採用することである。図53は、不規則的なパケット距離と1フレーム時間より大きな期間を有するBフレームが、どのように1フレーム時間の期間と一定のパケット距離を有するBフレームに圧縮されるか示している。1フレーム時間は、300かけるDeltaのタイムスタンプのインクリメントに対応する。Nがパケットの実数より1だけ大きくなるよう選択されているという事実は、圧縮されたBフレームのエンドにおけるエンプティスペースをもたらす。
従って、図53は均等に分散されたパケットによるBフレームの圧縮を示す。
図53は、非圧縮状態5300と圧縮状態5301を示し、Bフレーム5302と1フレーム時間に圧縮されたBフレーム5303を示す。
圧縮が必要とされる場合だけでなくすべてのケースにおいて、Bフレームに対する均等なパケットの分散の方法を利用することが可能である。しかしながら、大部分のケースにおいて、これは、Bフレームが拡張されることを意味する。Bフレームの最初のパケットへのTSTオフセットの適用は、当該パケットのDTSとの距離がノーマルプレイストリームに等しいことを意味する。そのとき、この拡張は、Bフレームデータのエンドと対応するDTSとの間にオリジナルより小さな時間距離をもたらす。しかしながら、フレームのDTSはフレームデータのスタートの1フレーム時間より早くなることはないことが理解できる。その理由は以下の通りである。フレームとオリジナルストリームのDTSは、定義によって常に前のフレームのDTSより以降の1フレーム時間である。この前フレームのDTSは、当該フレームのデータのエンドより早くなることはなく、このため、現在フレームのデータのスタート前になることはない。これは、任意のフレームのDTSが当該フレームのデータのスタートより以降の少なくとも1フレーム時間となることを意味する。これはまた、当該データが1フレーム時間に均等に分散されていたとしても、DTSが常にフレームデータのエンドの後になることを意味する。従って、上述された均等なパケット分散は、最後の繰り返しBフレームを除いてすべてのBフレームに適用可能である。簡単化のため、拡張されたフレームと共に圧縮されたフレームは圧縮フレームと呼ばれるかもしれない。
接合は、Bフレームの同一系列のBフレーム間でのみ必要である。従って、可能なさらなる接合パケットが、圧縮されたBフレームのエンドにのみ追加され、他の何れにも追加されない。追加的なPCRパケットは、最後の繰り返しBフレームのエンドを除いて、Bフレームのエンドに追加される。なぜなら、このポイントにはスペースがないためである。これは再び、追加的なPCRが圧縮されたBフレームのエンドにのみ追加されることを意味する。従って、圧縮アルゴリズムに含まれるため、これらのパケットに対して特別な配置アルゴリズムは不要である。
Bフレームの圧縮からの結果は、フレームデータ内のPCRの値の訂正がもはやこのようなBフレームについて正しくないということである。このケースにおいて当該PCR値がどのように訂正されるか、及び圧縮されたBフレームのエンドに追加されるPCRの値がどのように計算されるかが、以下で説明される。次に、エンプティフレームの挿入が説明される。
挿入されるエンプティフレームが配置される場所が決定される必要がある。低速フォワードストリームのその他のフレームのポジションを参照して、特により大きなスローモーションファクタについては、エンプティフレームが挿入されるべきポイントに大きな時間ギャップが存在することが明らかである。過剰なPCR距離による問題を回避するため、エンプティフレームは当該エリアに分散れ、各エンプティフレームはPCRを含むべきである。このため、連続するエンプティフレームの間の距離は、1フレーム時間となるよう選択される。最初のエンプティフレームは前のフレームに直接連結される。図54において、これが示される。
図54は、エンプティフレームの配置を示し、前フレーム5400、エンプティフレーム5401、フレーム時間5402度のさらなるエンプティフレーム5401などのシーケンスを示す。次のフレームは参照番号5403により示される。
配置アルゴリズムは、エンプティフレームのタイプ又は先行挿入若しくは後続挿入から独立している。しかしながら、エンプティフレームの最初のパケットの配置と残りのパケットの配置とが区別されるべきである。
以下において、エンプティフレームの最初のパケットの配置が説明される。
図55から理解できるように、エンプティフレームの最初のパケットの配置が説明される。前フレーム5500に複数のエンプティフレーム5501,5502,5503などが後続する。エンプティフレームの最初のパケットはFPにより示され、iは、エンプティフレームシーケンス内の当該エンプティフレームのフレーム番号である。
最初のエンプティフレームの最初のパケットであるFPの配置からスタートして、当該パケットのタイムスタンプを求めるための複数の選択肢が存在する。1つは、先行フレームの最後のパケットの低速フォワードタイムスタンプにdの値を加えることである。この最後のパケットを再びPにより示すと、最初のエンプティフレームの最初のパケットのタイムスタンプは、
TST{FP}=TST{P}+d (32)
により与えられる。
dの値もまたいくつかの方法により選択可能である。先行するフレームの最後の2つのパケットのタイムスタンプ間の差分をdの値として使用することも可能である。そのとき、圧縮されたフレームはエンプティフレームに先行しないため、タイムスタンプは低速フォワードストリーム又はオリジナル記録ストリームから抽出可能である。前フレームの最後の2つのパケットをPL−1とPにより示すと、dの値は、
d=TST{P}−TST{P(L−1)} (33)
により与えられる。
dを計算するためのタイムスタンプが低速フォワードストリームから取得される場合、FPを計算するための式はまた、
TST{FP}=2×TST{P}−TST{P(L−1)} (34)
として表すことができる。
後続するエンプティフレームの最初のパケットのタイムスタンプは、1フレーム時間に対応する値をFPのタイムスタンプに繰り返し加えることによって取得される。この値は、このケースでは300×Deltaとなるよう選択可能である。このとき、後続するエンプティフレームの最初のパケットのタイムスタンプは、
TST{FP}=TST{FP(i−1)}+300×Delta (35)
により与えられる。
以下において、エンプティフレームの残りのパケットの配置が説明される。
エンプティフレームのパケットは、Pにより示される。ここで、jは当該エンプティフレーム内のパケット番号である。Pは、FPにより上述されたエンプティフレームの最初のパケットである。
残りのパケットのポジションは、エンプティフレームの最初のパケットから求められる。このため、パケット間の距離についてそれが決定される必要がある。実際、これは、十分利用可能なスペースがあるため、距離が短すぎない限り重要ではない。2つの選択肢がここで説明される。
第1の選択肢は、上述したようにdの値を再び利用することである。この値は、エンプティフレーム内のパケットのタイムスタンプをインクリメントするのに用いられる。このとき、これらのタイムスタンプは、
TST{P}=TST{P(j−1)}+d (36)
により与えられる。
これは、前フレーム5600、第1エンプティフレーム5601及び第2エンプティフレーム5602のシーケンスを示す図56に示される。このため、図56は、前のフレームに基づくエンプティフレームのパケット距離を示す。
第2の選択肢は、エンプティフレームのパケットを1フレーム時間に均等に分散することである。この場合、インクリメントは、エンプティフレームのパケット数により除された1フレーム時間に対応する値に等しい。このパケット数をNにより示し、パケット間の距離をdにより示すと、その距離は、
=300×Delta/N (37)
により与えられる。
このとき、エンプティフレーム内のパケットのタイムスタンプは、
TST{P}=TST{P(j−1)}+d (38)
により与えられる。
この状況はまた、前フレーム5600が第1エンプティフレーム5601と第2エンプティフレーム5602に続くことを示す図57に示される。
従って、図57は、1フレーム時間に均等に分散されたエンプティフレームのパケットを示す。
次に、PCRに関するいくつかの特徴が説明される。
まず、低速フォワードストリームにさらなるPCRが挿入されないと仮定されるかもしれない。Iフレームは通常は1フレーム時間よりはるかに大きいため、高い確率によりそれがPCRを含む。Pフレームについて、その確率はすでに低下している。Bフレームは1フレーム時間よりほとんど小さいため、多くのBフレームはPCRを有していない。これは、Bフレームが繰り返されても、PCR内の大きなギャップが低速フォワードストリームに生じることを意味する。一般に、PCR間の最大距離はスローモーションファクタだけ増加すると言うことができる。これは、明らかに低速フォワードストリームへのさらなるPCRの挿入を要求するものである。
フレームデータに埋め込まれるオリジナルPCRとは別に、追加的なPCRがエンプティフレームとBフレームのエンドに追加されるべきである。後者は、当該ポイントにおいてスペースがないため、最後の繰り返しBフレームのエンドを除いて成り立つ。これらの手段によって、最大距離がDVB規格の要求を超える可能性があるが、問題となるレベルでない。一般に、その状況は高速フォワード/高速リバースよりはるかに好ましい。
フレームに埋め込まれるPCRの訂正が、少なくとも圧縮のないフレームについて上述された。エンプティフレームと、Bフレームのエンドと共に圧縮されたBフレーム内のPCRについて追加的なPCRのPCR値を計算する他の方法が効果的である。第1の選択肢は、以下のルールである。すなわち、PCR値は、PCRを含む2つのパケットの実際の低速フォワードタイムスタンプの間の差分により訂正される低速フォワードストリームにおける前のPCRの値に等しい。現在のPCRと前のPCRを含むパケットをそれぞれP及びP(c−1)により示すと、低速フォワードストリームの現在のPCRは、
PCR{P}=PCR{P(c−1)}+TST{P}−TST{P(c−1)} (39)
また、ここでPCRは、ベース及び拡張から計算されたトータルのPCR値を表す。この式は、理想的なケースについては完全であるが、理想的でないケースについては周波数変動と有意なPCRジッタをもたらす。これは、予め計算された訂正ファクタMを適用することによって回避される。現在のPCRは、
PCR{P}=PCR{P(c−1)}+(TST{P}−TST{P(c−1)})/M (40)
により与えられた。
パケットに挿入される必要があるPCRベース及び拡張は、以下のようにPCR値から計算される。
PCRbase=int(PCR/300) (41)
PCRext=PCR−300×PCRbase (42)
式(41)及び(42)は、実際、すべてのPCR値を調整するのに利用可能であり、圧縮されていないオリジナルフレームに埋め込まれたPCRの値を含む。しかしながら、訂正ファクタによる計算は、蓄積される丸め誤差をもたらし、DTSに関してPCRタイムベースのゆっくりとしたドリフトをもたらす。従って、このドリフトをゼロにリセットするため、圧縮されていないフレームにおいて埋め込まれたPCRの訂正は、上述されるように、オフセット値の加算により実行される。
本明細書において用いられる略語のリストがテーブル1に与えられる。
テーブル1:トリックプレイに関する用語の略語
AFLD アダプテーション・フィールド・コントロール
BAT ブーケ関連付けテーブル
CA 限定受信
CAT 限定受信テーブル
CC 連続性カウンタ
CW コントロールワード
CPI 特徴ポイント情報
DIT 不連続性情報テーブル
DTS 復号化タイムテーブル
DVB デジタルビデオ放送
ECM エンタイトルメント・コントロール・メッセージ
EMM エンタイトルメント・マネージメント・メッセージ
GK グループキー
GKM グループキーメッセージ
GOP Group Of Picture
HDD ハードディスクドライブ
KMM キーマネージメントメッセージ
MPEG Motion Picture Experts Group
NIT ネットワーク情報テーブル
PAT プログラム関連付けテーブル
PCR プログラムクロックリファレンス
PES パケット化エレメンタリストリーム
PID パケット識別子
PLUSI ペイロードユニットスタートインジケータ
PMT プログラムマップテーブル
PTS プレゼンテーションタイムスタンプ
SIT 選択情報テーブル
SCB スクランブリングコントロールビット
STB セットトップボックス
SYNC 同期ユニット
TEI トランスポートエラーインジケータ
TPI トランスポートプライオリティユニット
TS トランスポートストリーム
UK ユーザキー
上記実施例は本発明を限定するものでなく、説明するものであり、当業者は添付した請求項により規定される本発明の範囲から逸脱することなく他の多数の実施例を構成可能であることに留意すべきである。さらに、記載された実施例の何れも、バッテリやアキュミュレータなどの内部電源などの非明示的な構成を有する。請求項では、括弧内に記載された参照符号は請求項を限定するものとして解釈されるべきでない。“有する”という用語は、何れかの請求項又は明細書全体にリストされた以外の要素又はステップの存在を排除するものでない。要素の単数表現は、当該要素の複数表現を排除するものでなく、その反対も同様である。いくつかの手段を列記した装置クレームでは、これらの手段のいくつかは1つの同じハードウェアにより実現されるかもしれない。特定の手段が互いに異なる従属クレームに記載されるという事実は、これらの手段の組み合わせが効果的に利用できないことを示すものでない。“データ”及び“コンテンツ”という用語は、テキストでは相互に利用されたが、均等なものとして理解されるべきである。
図1は、タイムスタンプのあるトランスポートストリームパケットを示す。 図2は、イントラ符号化フレームとフォワード予測フレームを有するMPEG2 GOP構成を示す。 図3は、イントラ符号化フレーム、フォワード予測フレーム及び双方向予測フレームを有するMPEG2 GOP構成を示す。 図4は、特徴ポイント情報ファイルと格納されているストリームコンテンツの構成を示す。 図5は、平文ストリームに対するトリックプレイシステムを示す。 図6は、トリックプレイにおける時間圧縮を示す。 図7は、分数距離によるトリックプレイを示す。 図8は、低速トリックプレイを示す。 図9は、一般的な限定受信システム構成を示す。 図10は、DVBにより暗号化されたトランスポートストリームパケットを示す。 図11は、図10のDVBにより暗号化されたトランスポートストリームパケットのトランスポートストリームパケットヘッダを示す。 図12は、完全に暗号化されたストリームに対するトリックプレイの実行を可能にするシステムを示す。 図13は、フルトランスポートストリームとパーシャルトランスポートストリームを示す。 図14は、ストリームタイプIとストリームタイプIIのエンタイトルメント・コントロール・メッセージを示す。 図15は、コントロールワードの解読手段への書き込みを示す。 図16は、高速フォワードモードにおけるエンタイトルメント・コントロール・メッセージの処理を示す。 図17は、1又は2つのコントロールワードの検出を示す。 図18は、一実施例によるデータストリームを処理する装置を示す。 図19は、フレーム境界におけるパケットの分割を示す。 図20は、ノーマルプレイデータの解読後の低速フォワード構成を示す。 図21は、各フレーム境界における平文パケットとのハイブリッドストリームを示す。 図22は、格納されているハイブリッドストリームに関する低速フォワード構成を示す。 図23は、連結ポイントにおける不完全なピクチャスタートコードを示す。 図24は、ノーマルプレイにおける並び替えの効果を示す。 図25は、低速フォワードモードにおける並び替えの効果を示す。 図26は、アンカーフレーム前へのエンプティPフレームの挿入を示す。 図27は、バックワード予測エンプティBフレームの利用を示す。 図28は、フォワード予測エンプティBフレームの利用を示す。 図29は、ノーマルプレイの時間リファレンスを示す。 図30は、Bfフレームを有する低速フォワードのための時間リファレンスを示す。 図31は、Bbフレームの先行挿入のための時間リファレンスを示す。 図32は、Peフレームの先行挿入のための時間リファレンスを示す。 図33は、3つのタイプのBフレームのための時間リファレンスを示す。 図34は、ノーマルプレイ及び低速フォワードストリームのスローモーションファクタLと距離Dを示す。 図35は、使用されるエンプティBフレームを有するIフレームのための時間リファレンスを示す。 図36は、エンプティBフレームが使用される際のPフレームのための時間リファレンスを示す。 図37は、エンプティPフレームが使用される際のIフレームのための時間リファレンスを示す。 図38は、エンプティPフレームが使用される際のPフレームのための時間リファレンスを示す。 図39は、エンプティPフレームのための時間リファレンスを示す。 図40は、フレーム毎に1つのPESパケットとなるストリームの分割を示す。 図41は、PESヘッダのスタートにおけるストリームの分割を示す。 図42は、ピクチャスタートコードのスタートにおけるストリームの分割を示す。 図43は、ピクチャスタートコード内のストリームの分割を示す。 図44は、連結ポイントにおける不完全なピクチャスタートコードを示す。 図45は、n+m=4の例を示す。 図46は、n+m>4の例を示す。 図47は、n+m<4の例を示す。 図48は、フレームレートの関数としてDeltaを示すテーブルを示す。 図49は、DTSとの変更されない距離を示す。 図50は、同一のBフレームの系列の境界における等しいオフセットを示す。 図51は、Bフレームデータ長を示す。 図52は、Bフレームが1フレーム時間より大きいケースにおけるデータの重複を示す。 図53は、均等に分散されたパケットを有するBフレームの圧縮を示す。 図54は、エンプティフレームの配置を示す。 図55は、エンプティフレームの最初のパケットの位置決めを示す。 図56は、前のフレームに基づくエンプティフレームのパケット距離を示す。 図57は、1フレーム時間に均等に分散されたエンプティフレームのパケットを示す。

Claims (25)

  1. 入力フレームシーケンスを有する入力データストリームを処理する装置であって、
    前記入力データストリームと所定の複製レートとに基づき、出力フレームシーケンスを有するトリックプレイストリームとして出力データストリームを生成する処理ユニットと、
    前記入力フレームシーケンスのタイミング情報に基づくタイミング情報を前記出力フレームに割り当てるタイミングユニットと、
    を有する装置。
  2. 前記タイミングユニットは、相対的な前記タイミング情報が前記入力フレームシーケンスの相対的なタイミング情報と同一となるように、又は前記出力フレームシーケンスの相対的な前記タイミング情報が前記入力フレームシーケンスの相対的なタイミング情報に関して訂正されるように、前記タイミング情報を前記出力フレームに割り当てるよう構成される、請求項1記載の装置。
  3. 前記タイミングユニットは、前記タイミング情報としてDTS(Decoding Time Stamp)及び/又は記録タイムスタンプを調整するよう構成される、請求項1記載の装置。
  4. 前記タイミングユニットは、出力フレームのスタートと対応するDTSとの間の距離が入力フレームのスタートと対応するさらなるDTSとの間の距離と同じになるように、前記タイミング情報を前記出力フレームに割り当てるよう構成される、請求項1記載の装置。
  5. 前記タイミングユニットは、前記出力フレームシーケンスにおける最初に再生されるべき後続する各出力フレームの間のポジションにタイミングパケットを挿入するよう構成される、請求項1記載の装置。
  6. 前記タイミングユニットは、前記タイミングパケットとしてPCR(Program Clock Reference)を挿入するよう構成される、請求項5記載の装置。
  7. 前記タイミングユニットは、前記入力フレームシーケンスのさらなるタイミングパケットに関して前記出力フレームシーケンスに挿入されたタイミングパケットを訂正するよう構成される、請求項5記載の装置。
  8. 前記処理ユニットは、前記所定の複製レートに従って時間軸に沿って前記入力データストリームの入力フレームを伸張することによって、前記出力データストリームの出力フレームを生成するよう構成される、請求項1記載の装置。
  9. 前記処理ユニットは、双方向予測フレームが前記所定の複製レートに従って数回繰り返されるように構成される、請求項1記載の装置。
  10. 前記タイミングユニットは、最初に再生される双方向予測フレームにタイミング情報が割り当てられるのと同様に、タイミング情報を繰り返される双方向予測フレームに割り当てるよう構成される、請求項9記載の装置。
  11. 前記タイミングユニットは、所定の閾値を超えるサイズを有する双方向予測フレームが時間について圧縮されるように構成される、請求項1記載の装置。
  12. 前記タイミングユニットは、繰り返される双方向予測フレームの最後のフレームを除いて、所定の閾値を超えるサイズを有する双方向予測フレームが時間について圧縮されるように構成される、請求項1記載の装置。
  13. 前記処理ユニットは、前記所定の複製レートに従ってアンカーフレームを繰り返すため、エンプティフレームを挿入するよう構成される、請求項1記載の装置。
  14. 前記処理ユニットは、低速フォワード再生モード、低速リバース再生モード、スタンド静止再生モード、ステップ再生モード及びインスタントリプレイ再生モードからなるグループのトリックプレイ再生モードに従って前記トリックプレイストリームを生成するよう構成される、請求項1記載の装置。
  15. 前記入力フレーム及び/又は前記出力フレームは、イントラ符号化フレーム、フォワード予測フレーム及び双方向予測フレームからなるグループの少なくとも1つのフレームを含む、請求項1記載の装置。
  16. 前記入力データストリーム及び/又は前記出力データストリームを格納する格納ユニットを有する、請求項1記載の装置。
  17. 当該装置は、ビデオデータ又はオーディオデータの入力データストリームを処理するよう構成される、請求項1記載の装置。
  18. 当該装置は、デジタルデータの入力データストリームを処理するよう構成される、請求項1記載の装置。
  19. 当該装置は、前記出力データストリームを再生する再生ユニットを有する、請求項1記載の装置。
  20. 当該装置は、MPEG2入力データストリーム又はMPEG4入力データストリームを処理するよう構成される、請求項1記載の装置。
  21. 当該装置は、少なくとも部分的に暗号化された入力データストリームを処理するよう構成される、請求項1記載の装置。
  22. 当該装置は、デジタルビデオ記録装置、ネットワーク対応装置、限定受信システム、ポータブルオーディオプレーヤー、ポータブルビデオプレーヤー、携帯電話、DVDプレーヤー、CDプレーヤー、ハードディスクベースメディアプレーヤー、インターネットラジオ装置、コンピュータ、テレビ、公衆娯楽装置及びMP3プレーヤーからなるグループの少なくとも1つとして実現される、請求項1記載の装置。
  23. 入力フレームシーケンスを有する入力データストリームを処理する方法であって、
    前記入力データストリームと所定の複製レートとに基づき、出力フレームシーケンスを有するトリックプレイストリームとして出力データストリームを生成するステップと、
    前記入力フレームシーケンスのタイミング情報に基づくタイミング情報を前記出力フレームに割り当てるステップと、
    を有する方法。
  24. 入力フレームシーケンスを有する入力データストリームを処理するコンピュータプログラムが格納されているコンピュータ可読媒体であって、
    前記コンピュータプログラムは、プロセッサにより実行されると、
    前記入力データストリームと所定の複製レートとに基づき、出力フレームシーケンスを有するトリックプレイストリームとして出力データストリームを生成するステップと、
    前記入力フレームシーケンスのタイミング情報に基づくタイミング情報を前記出力フレームに割り当てるステップと、
    を制御又は実行するよう構成されるコンピュータ可読媒体。
  25. 入力フレームシーケンスを有する入力データストリームを処理するプログラム要素であって、
    当該プログラム要素は、プロセッサにより実行されると、
    前記入力データストリームと所定の複製レートとに基づき、出力フレームシーケンスを有するトリックプレイストリームとして出力データストリームを生成するステップと、
    前記入力フレームシーケンスのタイミング情報に基づくタイミング情報を前記出力フレームに割り当てるステップと、
    を制御又は実行するよう構成されるプログラム要素。
JP2008546705A 2005-12-23 2006-11-30 入力フレームシーケンスから構成される入力データストリームの処理装置及び処理方法 Pending JP2009521164A (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
EP05112880 2005-12-23
PCT/IB2006/054527 WO2007072255A2 (en) 2005-12-23 2006-11-30 A device for and a method of processing an input data stream comprising a sequence of input frames

Publications (1)

Publication Number Publication Date
JP2009521164A true JP2009521164A (ja) 2009-05-28

Family

ID=37946222

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2008546705A Pending JP2009521164A (ja) 2005-12-23 2006-11-30 入力フレームシーケンスから構成される入力データストリームの処理装置及び処理方法

Country Status (5)

Country Link
US (1) US20080304810A1 (ja)
EP (1) EP1966999A2 (ja)
JP (1) JP2009521164A (ja)
KR (1) KR20080091153A (ja)
WO (1) WO2007072255A2 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2012510743A (ja) * 2008-12-01 2012-05-10 イルデト・ベー・フェー 追加キーレイヤーを用いたコンテンツ復号化装置および暗号化システム

Families Citing this family (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9456243B1 (en) 2003-06-06 2016-09-27 Arris Enterprises, Inc. Methods and apparatus for processing time-based content
US9420332B2 (en) * 2006-07-06 2016-08-16 Qualcomm Incorporated Clock compensation techniques for audio decoding
EP2148326B1 (en) * 2007-04-17 2013-08-14 Panasonic Corporation Communication system
CN101842840B (zh) 2007-11-01 2012-03-07 松下电器产业株式会社 记录媒体、再现装置、记录装置、再现方法及记录方法
US8966103B2 (en) * 2007-12-21 2015-02-24 General Instrument Corporation Methods and system for processing time-based content
KR101003922B1 (ko) * 2008-08-04 2010-12-30 인하대학교 산학협력단 멀티미디어 서비스를 제공하기 위한 스케쥴링 방법
JP5135147B2 (ja) 2008-09-29 2013-01-30 富士フイルム株式会社 動画ファイル送信サーバおよびその動作制御方法
US10269086B2 (en) * 2008-10-09 2019-04-23 Nagra France Sas Method and system for secure sharing of recorded copies of a multicast audiovisual program using scrambling and watermarking techniques
US8655143B2 (en) * 2009-04-01 2014-02-18 Cisco Technology, Inc. Supplementary buffer construction in real-time applications without increasing channel change delay
US8731000B2 (en) 2009-09-30 2014-05-20 Cisco Technology, Inc. Decoding earlier frames with DTS/PTS backward extrapolation
EP2498494A1 (en) * 2011-03-11 2012-09-12 Thomson Licensing Decoder and method at the decoder for synchronizing the rendering of contents received through different networks
US8925021B2 (en) * 2011-07-11 2014-12-30 Telefonaktiebolaget Lm Ericsson (Publ) Method and system for trick play in over-the-top video delivery
US9363540B2 (en) * 2012-01-12 2016-06-07 Comcast Cable Communications, Llc Methods and systems for content control
EP2687969A3 (en) * 2012-07-16 2015-11-11 Samsung Electronics Co., Ltd Electronic apparatus and control method of the same
KR101369114B1 (ko) * 2013-05-13 2014-03-06 주식회사 엘지유플러스 적응적 음성 암호화를 위한 장치, 방법, 및 기록 매체
FR3011429A1 (fr) * 2013-09-27 2015-04-03 Orange Codage et decodage video par heritage d'un champ de vecteurs de mouvement
US10063422B1 (en) * 2015-12-29 2018-08-28 Amazon Technologies, Inc. Controlled bandwidth expansion in compressed disaggregated storage systems

Family Cites Families (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE69324760T2 (de) * 1992-10-19 1999-11-11 Koninkl Philips Electronics Nv Gerät zur Speicherung eines Datensignals in einem Speicher und zur Wiedergabe des Datensignals aus diesem Speicher
US5579183A (en) * 1994-04-08 1996-11-26 U.S. Philips Corporation Recording and reproducing an MPEG information signal on/from a record carrier
JPH08335040A (ja) * 1995-06-02 1996-12-17 Fujitsu Ltd 暗号化処理方式
JPH1118071A (ja) * 1997-06-25 1999-01-22 Nec Corp スロー再生システム
SE9901605L (sv) * 1999-05-04 2000-11-05 Net Insight Ab Förfarande och anordning för bufferthantering
US6335933B1 (en) * 1999-05-21 2002-01-01 Broadcom Homenetworking, Inc. Limited automatic repeat request protocol for frame-based communication channels
US8098973B2 (en) * 2000-01-10 2012-01-17 Koninklijke Philips Electronics N.V. Method of setting a system time clock at the start of an MPEG sequence
JP2003524338A (ja) * 2000-02-22 2003-08-12 コーニンクレッカ フィリップス エレクトロニクス エヌ ヴィ チャネル予測器を有するマルチチャネル受信機
JP3558983B2 (ja) * 2000-12-19 2004-08-25 株式会社東芝 デジタル放送の記録再生装置
US6980594B2 (en) * 2001-09-11 2005-12-27 Emc Corporation Generation of MPEG slow motion playout
US20030152145A1 (en) * 2001-11-15 2003-08-14 Kevin Kawakita Crash prevention recorder (CPR)/video-flight data recorder (V-FDR)/cockpit-cabin voice recorder for light aircraft with an add-on option for large commercial jets
US7263275B2 (en) * 2002-03-01 2007-08-28 Broadcom Corporation System and method of manipulating a system time clock in an audio/video decoding system
JP4358081B2 (ja) * 2004-03-31 2009-11-04 パナソニック株式会社 映像記録装置

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2012510743A (ja) * 2008-12-01 2012-05-10 イルデト・ベー・フェー 追加キーレイヤーを用いたコンテンツ復号化装置および暗号化システム

Also Published As

Publication number Publication date
EP1966999A2 (en) 2008-09-10
WO2007072255A3 (en) 2008-10-30
US20080304810A1 (en) 2008-12-11
WO2007072255A2 (en) 2007-06-28
KR20080091153A (ko) 2008-10-09

Similar Documents

Publication Publication Date Title
JP2009521164A (ja) 入力フレームシーケンスから構成される入力データストリームの処理装置及び処理方法
US8170210B2 (en) Device for and a method of processing data stream
RU2407214C2 (ru) Устройство и способ обработки потока данных, имеющего последовательность пакетов и информацию синхронизации, относящуюся к пакетам
US20080170687A1 (en) Device for and a Method of Processing an Encrypted Data Stream
US20080212774A1 (en) Device for and a Method of Processing an Encrypted Data Stream in a Cryptographic System
KR100821575B1 (ko) 디지털 비디오 기록물의 데이터 처리 장치 및 방법과, 데이터 처리 방법에 의해 생성되는 기록물을 기록한 컴퓨터가 판독할 수 있는 기록매체와, 데이터 재생장치 및 데이터 재생방법 및, 데이터 재생방법에 의해 편집된 데이터 시퀀스를 재생하는 신호를 기록한 컴퓨터로 판독할 수 있는 기록매체
WO2006114761A1 (en) A device for and a method of detecting positions of intra-coded frames in a data stream
US8543724B2 (en) Methods and apparatuses for a projected PVR experience
WO2007072257A1 (en) A device for and a method of processing an encrypted data stream
US20110268427A1 (en) Methods and apparatuses for a projected pvr experience
JP4613860B2 (ja) Mpeg符号化ストリーム復号装置
WO2007072244A1 (en) A device for and a method of processing a data stream comprising a plurality of frames
WO2007072252A2 (en) Creation of 'trick-play' streams for plaintext, partially, or fully encrypted video streams
US20110271001A1 (en) Methods & apparatuses for a projected pvr experience
WO2007072419A2 (en) A device for and a method of processing a data stream
WO2007072242A1 (en) A device for and a method of processing an encrypted data stream
MX2007012939A (en) A device for and a method of processing an encrypted data stream for trick play