データストリームを処理する装置及び方法
データストリーム1800を処理する装置2300であって、該装置2300は、隣接するフレーム1902の間に解読されたフレーム境界部分1901を有するような少なくとも部分的に解読されたデータストリーム1900の隣接するフレーム1902をフレーム境界部分1901で分割する分割ユニット2305と、分割されたフレーム1902を所定の複製レートに従って複数回複製する複製ユニット2306と、複製された分割されたフレーム1902を接続する接続ユニット2307とを有する。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、データストリームを処理する装置に関する。
【0002】
また、本発明はデータストリームを処理する方法にも関する。
【0003】
また、本発明はプログラムエレメントにも関する。
【0004】
また、本発明はコンピュータ読み取り可能な媒体にも関する。
【背景技術】
【0005】
電子娯楽(エンターテインメント)装置は、益々重要になってきている。特に、益々多くのユーザがハードディスク型オーディオ/ビデオプレーヤ及び他の娯楽装置を購入している。
【0006】
記憶空間の低減はオーディオ/ビデオプレーヤの分野においては重要な問題であるので、オーディオ及びビデオデータは、しばしば、圧縮された態様で、及び保全的理由で暗号化された態様で記憶される。
【0007】
MPEG2は、動画及び関連するオーディオの汎用的符号化のための規格であり、フレームデータからGOP("グループ・オブ・ピクチャ")構造と呼ばれる特定の順序で配列され得るビデオストリームを生成する。MPEG2ビデオのビットストリームは、画像を符号化する一連のデータフレームからなっている。画像を符号化する3つの方法は、イントラ符号化(I画像)、順方向予測(P画像)及び双方向予測(B画像)である。イントラ符号化されたフレーム(Iフレーム)は作りツリーに復号可能なフレームである。順方向予測フレーム(Pフレームは)、先行するIフレーム又はPフレームの情報を必要とする。双方向予測フレーム(Bフレーム)は先行する及び/又は後続のIフレーム又はPフレームの情報に依存する。
【0008】
メディア再生装置においては、メディアコンテンツが通常速度で再生される通常再生モードから、メディアコンテンツが例えば低減された速度("スロー順方向")で、静止画像で又はその逆等の変更された態様で再生されるようなトリックプレイ再生モードへ切り換えることが興味ある機能である。
【0009】
米国特許出願公開第2005/0157714A1号は、パケット型のスクランブルされたストリームを処理する方法であって、パケットストリームにおける複数のスクランブルされたパケットを受信するステップと、該スクランブルされたパケットの何れかをスクランブル解除するステップと、該スクランブル解除されたパケットの少なくとも1つと上記スクランブルされたパケットの少なくとも1つを含むような変更されたパケットストリームを送信するステップとを含むような方法を開示している。
【発明の開示】
【発明が解決しようとする課題】
【0010】
本発明の目的は、データストリームの効率的な処理を可能にすることにある。
【課題を解決するための手段】
【0011】
上記目的を達成するため、独立請求項によるデータストリームを処理する装置、データストリームを処理する方法、プログラムエレメント及びコンピュータ読み取り可能な媒体が提供される。
【0012】
本発明の一実施例によれば、データストリームを処理する装置であって、隣接するフレーム間に解読されたフレーム境界部分を有するような部分的に解読された(及び部分的に暗号化された)データストリームの隣接するフレームを斯かるフレーム境界部分において分割する分割ユニットと、分割されたフレームを所定の複製レート(例えば、"3"等のトリックプレイ係数)に従って複数回複製する複製ユニットと、斯かる複製された分割されたフレームを接続する接続ユニットとを有するような装置が提供される。
【0013】
本発明の他の実施例によれば、データストリームを処理する方法であって、隣接するフレーム間に解読されたフレーム境界部分を有するような部分的に解読された(及び部分的に暗号化された)データストリームの隣接するフレームを斯かるフレーム境界部分において分割するステップと、分割されたフレームを所定の複製レートに従って複数回複製するステップと、斯かる複製された分割されたフレームを接続するステップとを有するような方法が提供される。
【0014】
更に、本発明の他の実施例によれば、コンピュータ読み取り可能な媒体であって、プロセッサにより実行された場合に上述した方法を制御又は実行するようなコンピュータプログラムが記憶された媒体が提供される。
【0015】
更に、本発明の更に他の実施例によれば、プロセッサにより実行された場合に上述した方法を制御又は実行するようなプログラムエレメントが提供される。
【0016】
本発明の実施例によるデータ処理は、コンピュータプログラムにより、即ちソフトウェアにより、又は1以上の特別な電子最適化回路を使用することにより、即ちハードウェアで、又は複合形態で、即ちソフトウェア構成要素及びハードウェア構成要素により実現することができる。
【0017】
本発明の実施例による構成は、部分的に解読され且つ部分的に暗号化されたデータストリームを、異なるフレームが境界部分で分割され、後に斯かる分割されたフレームをスロー順送り又はスロー逆送り又は静止、より一般的にはスローモーション、トリックプレイ再生を可能にするような態様で再び接続することができるような形で処理することができるという利点を提供する。従って、隣接するフレーム間の平文部分は、どの位置で異なるフレームを切断すべきか、スローモーションのフィーチャを提供するために種々のフレームを複数回繰り返すべきか、及び適切な音声及び/又は画像が得られるように複製されたフレームシーケンスを一緒にすべきかの指示子として働くことができる。
【0018】
一実施例によれば、フレーム分割アルゴリズム及び(分割及び複製された)フレームの接着が可能にされる。一実施例によるアルゴリズムによると、部分的に暗号化された"複合"スロー順送りDVB("デジタルビデオ放送")ストリームを、完全に暗号化された通常プレイ(例えば、MPEG)ストリームから発生することができる。このような手順は、トランスポートストリームのうちの画像フレーム境界を含む暗号化パケットのみを、スロー順送りを容易化するための対応する平文パケットにより選択的に置換するステップを含むことができる。更に、パケットを画像フレーム境界において分割することができ、スロー順送りストリームを、フレームを複製することにより発生することができる。画像フレーム境界におけるパケットは、必要ならば詰め込むことができる。次いで、画像開始コードが2つのパケットに跨る位置を識別することができ、これらに対して対応する補正を適用することができるが、該処理は接着と称することができる。
【0019】
一実施例によれば、MPEG準拠デコーダに対するデジタルインターフェースを備えるようなMPEGトランスポートストリームを記憶するための記憶装置が設けられ、該デコーダは、暗号化されたDVBストリームのスロー順送りプレイモードのためのMPEG準拠ストリームを提供することができる。特別な筋書きにおいては、平文のスロー順送りストリームを解読及び生成する単純な処理は適切ではない可能性がある。何故なら、全情報が平文になるかもしれないからである。これは、保全の観点から望ましくないであろう。更に、家電装置におけるDVB暗号器の使用は許可されないであろう。この結果、処理は暗号化されたDVBトランスポートストリームに対して実行されねばならないことになる。
【0020】
かくして、本発明の一実施例によれば、複合(ハイブリッド)トランスポートストリームを使用することができ、該複合トランスポートストリームは、情報の主要部は暗号化されたままであることを保証しながら、スロー順送りMPEG準拠トランスポートストリームの生成を可能にするために要する少量の(特には、最少量の)平文情報を有する。このような状況における1つの態様は、上記の暗号化されたトランスポートストリームにおける個々のフレームが、スロー順送りモードを提供するために繰り返されるというものである。この結果、特別なケースで、パケット境界を横切るMPEG画像開始コードを補正するために前記フレームの分割及び後の個々のフレームの接着処理が要となる。この出願では、上記接着を実現する可能性が開示される。
【0021】
かくして、本発明の実施例は、フレームを分離するためにパケットを分割するステップを含む。これは、Bフレームを繰り返すためにフレームを複製するステップ、及び元のI又はPフレームを繰り返すために空のフレームを使用するオプションを含む。
【0022】
更に、部分的に暗号化された開始コードで開始し、該暗号化された(暗号化されていない)パケットに存在する開始コードバイトの量を決定するアルゴリズムを実施することも可能である。結果として、パケットの接着が可能となる。パケットの連結の結果として、所定の閾値(例えば、4バイト)より大きな開始コードとなった場合、上記アルゴリズムは削除されるべきバイトの量を計算することができる。パケットの連結の結果として、所定の閾値(例えば、4バイト)より小さな開始コードとなった場合、追加の接着パケットを挿入することができる。
【0023】
従って、本発明の一実施例は、パケットの分割及び接着につながるような、ストリームを暗号化するための画像開始コードの検出を目指す。
【0024】
接着は、当該データストリームにおける上記開始コードの一部が存在する位置において実行することができ、追加のパケットを挿入するステップを含むことができる。詰め込みのために、特にはトランスポートストリームレベルの詰め込みのためにアダプテーションフィールド(AF)を挿入することができる。他の例として、例えば当該ストリームに1以上の単なる"ゼロ"を挿入することを含み、基本ストリームレベルの詰め込みも可能である。
【0025】
当該データストリームのうちのデータストリーム処理を可能にするために解読される部分は、1%又はそれ以下の程度とすることができ、従って当該ストリームの99%又はそれ以上は暗号化されたままとすることができる。
【0026】
次に、本発明の他の実施例を説明する。
【0027】
以下においては、データストリームを処理する装置の実施例を説明する。しかしながら、これら実施例は、データストリームを処理する方法、コンピュータ読み取り可能な媒体及びプログラムエレメントにも適用することができる。
【0028】
当該装置は、(全体的に又は部分的に)暗号化されたデータストリームにおける隣接するフレーム間の暗号化されたフレーム境界部分を、解読されたフレーム境界部分により選択的に置換して部分的に解読されたデータストリームを形成する解読ユニットを有することができる。言い換えると、完全に暗号化されたデータストリームは、隣り合うフレーム間の暗号化された部分が対応する解読された部分により置換されるように処理されることが可能である。当該解読ユニットは、暗号化されたコンテンツを記憶する記憶装置(例えば、ハードディスク又はフラッシュメモリ)から分離して配置することができるか、又は斯様な記憶装置に統合することができる。また、斯様な記憶装置が既に部分的に解読された及び部分的に暗号化されたデータストリーム(これも、複合ストリームと称することができる)を記憶していることも可能である。
【0029】
特には、上記解読ユニットは、暗号化されたデータストリームにおける隣接するフレーム間の暗号化されたフレーム境界部分のみを、解読されたフレーム境界部分により選択的に置換すると共に、全ての他のフレーム部分は暗号化されたままに維持するように構成することができる。従って、暗号化されたデータストリームのうちの必要な部分のみが解読され、これによりトリックプレイストリームの発生が、これらの平文部分に基づいて可能とされる。しかしながら、当該ストリームの部分(多くの場合には、主又は主要部分)が暗号化されたままとなり、かくして、高レベルの保全が達成される。
【0030】
上記解読ユニットは、暗号化されたフレーム境界部分を解読されたフレーム境界部分により選択的に置換して、部分的に解読されたデータストリームを、小さな、好ましくは最少の量の解読された部分でトリックプレイストリームを発生するための基礎として形成するように構成することができる。この実施例によれば、略完全に暗号化されたデータストリームを、特にはスロー順送りストリーム又はスロー逆送りストリームであり得るような、スローモーションストリーム等のトリックプレイストリームを発生するために必要とされる部分のみが選択的に解読されたものと同時的に得ることが可能になる。
【0031】
前記分割ユニットは、各分割フレームの開始部に平文パケットを挿入するように構成することができ、及び/又は分割パケットの詰め物をするように構成することができる。従って、異なるフレームを分割した後に、平文パケットを斯かる分割されたフレームの各々の終了部及び/又は開始部に挿入することができる。斯様なパケットは、対応するフレームを識別又は特徴付けるのに要する情報を含むことができるか、又は隣接するフレーム間の境界を単に詰めることができる。更に詳細には、分割は実際には挿入ではなく、分割パケットの詰め込み(先ず、前フレームの最終部分、次いで現フレームの最初の部分)である。これは、アダプテーションフィールドにより詰め込むこともできる。
【0032】
このような平文パケットはヘッダ及び/又はアダプテーションフィールド(Adaptation Field: AF)を有することができる。アダプテーションフィールドなる用語は、MPEG符号化のフィールドから由来するものである。
【0033】
前記接続ユニットは、複製された分割フレームを、フレーム境界部分(例えば、画像開始コード)が2つのフレームに跨っている場所を識別することに基づいて、及び斯様な識別された場所を訂正することに基づいて接続するように構成することができる。従って、スローモーショントリックプレイに従って複製分割フレームを一緒にする場合の如何なる可能性のある問題も、接着部分を調べることにより除去し又は取り除くことができる。これは、トリックプレイモードにおける再生の品質を改善させる。
【0034】
前記接続ユニットは、特には、分割されたフレームのフレーム境界部分のサイズを決定すると共に、斯かる分割フレームを該決定されたサイズに基づいて接続するように構成することができる。上記サイズが過度に大きいと判断された場合(例えば4バイトなる閾値を超えた場合)、当該フレーム境界部分又は画像開始コードは対応して短縮され、所定の閾値に従うようにされる。他の場合において、当該フレーム境界部分のサイズが例えば4バイト等の所定の閾値より小さい場合、該サイズは、例えば当該フレーム境界部分に追加の部分を挿入することにより対応して増加される。このような対策を講じることにより、画像開始コードは所望の長さに調整することができ、これはシステム全体の制御性及び操作性を改善し得る。
【0035】
当該装置は、データストリームを記憶する記憶ユニットを有することができる。このような記憶ユニットはハードディスク又はメモリカードとすることができ、これらは例えばオーディオ及び/又はビデオコンテンツを含むデータストリームを記憶することができる。
【0036】
当該装置は、完全に暗号化されたデータストリームを処理するように構成することができる。言い換えると、全体のデータストリームは完全に暗号化され、従って許可されないアクセスに対して保全される。この場合、隣接するフレームの間の特別に規定された部分が、対応する平文部分により選択的に置換される。しかしながら、当該処理が実行されるストリームが部分的に又は完全に解読されることも本発明の範囲内である。
【0037】
当該装置は、イントラ符号化フレーム(Iフレーム)、順方向予測フレーム(Pフレーム)及び双方向予測フレーム(Bフレーム)からなる群の少なくとも1つのフレームを処理するように構成することができる。MPEG2において、Iフレームは独立に復号可能なフレームである。Pフレームは先行するIフレーム又はPフレームの情報を必要とする。Bフレームは、先行する及び/又は後続のIフレーム又はPフレームの情報に依存する。
【0038】
当該装置は、ビデオデータ及び/又はオーディオデータのデータストリームを処理するように構成することができる。しかしながら、このようなメディアコンテンツが、本発明の実施例による方式により処理することが可能な唯一のタイプのデータではない。トリックプレイの生成及び同様のアプリケーションは、ビデオ(オーディオビジュアル)データ処理及び(純)オーディオデータ処理の両方にとり課題であり得る。
【0039】
当該装置は、更に、デジタルデータのデータストリームを処理するように構成することができる。
【0040】
更に、当該装置は上記の処理されたデータストリームを再生又はプレイする再生ユニットを有することができ、該再生ユニットは前記接続ユニット(の出力端)に接続することができる。このような再生ユニットはスピーカ若しくはイヤホン若しくはヘッドフォン、及び/又はオーディオ及びビジュアルデータの両方を人が知覚できるように再生することができるような光学表示装置を有することができる。
【0041】
更に、当該装置は前記データストリームをトリックプレイ再生モードで再生するように処理するための発生ユニットを有することができる。トリックプレイ再生モードで再生するためのデータストリームを発生するように構成された斯様なトリックプレイ発生ユニットは、ユーザにより、例えば装置の釦、キーパッド又はリモコン等のユーザインターフェースを介して対応するオプションを選択することにより調整することができる。ユーザにより選択されるトリックプレイ再生モードは、スローモーション再生モード(特には、スロー順送り又はスロー逆送り)、静止(stand still)モード、高速順方向再生モード、高速逆方向再生モード、静止フレーム(freeze frame)再生モード、瞬時リプレイ再生モード及び逆方向再生モードからなる群のうちの1つであり得る。しかしながら、他のトリックプレイストリームも可能である。トリックプレイ係数によるトリックプレイの場合、当該データのうちの一部のみを出力に使用することができるか(例えば、1より大きなトリックプレイ係数)、又は1つの同一のコンテンツを何回か再生することができる(例えば、1より小さなトリックプレイ係数)。
【0042】
本発明の実施例による装置は、MPEG2データストリームを処理するように構成することができる。MPEG2はMPEG(動画専門家グループ)により同意された一群のオーディオ及びビデオ符号化規格の名称であり、ISO/IEC13818国際規格として公開されている。例えば、MPEG2はオーディオ及びビデオをデジタル衛星及びケーブルTVを含む放送信号用に符号化するために使用されるが、DVDにも使用することができる。
【0043】
本発明の実施例による装置は、デジタルビデオ記録装置、ネットワーク可能化装置(network-enabled device)、条件付きアクセスシステム(限定受信システム:conditional access system)、携帯オーディオプレーヤ、携帯ビデオプレーヤ、携帯電話、DVDプレーヤ、CDプレーヤ、ハードディスク型メディアプレーヤ、インターネットラジオ装置、公衆娯楽装置(public entertainment device)及びMP3プレーヤからなる群のうちの1つとして実現することができる。しかしながら、これらのアプリケーションは例示に過ぎない。
【0044】
本発明の上述した態様及び他の態様は、以下に述べる実施例から明らかであり、これら実施例を参照して説明される。
【発明を実施するための最良の形態】
【0045】
以下、本発明を実施例に基づき詳細に説明する。
【0046】
尚、各図は実寸ではなく概念的に示されたもので、異なる図における同一の符号は対応する構成要素を示している。また、当業者にとっては、本発明の他の等価な実施例が本発明の思想から逸脱することなしに可能であること、及び本発明の範囲が請求項によってのみ限定されるものであることは明であろう。
【0047】
以下、図1ないし図13を参照して、本発明の実施例によるトランスポートストリームに対する異なる態様のトリックプレイ構成を説明する。
【0048】
特に、部分的に若しくは全体的に暗号化されているか又は暗号化されていないものとすることが可能なMPEG2符号化ストリームに対しトリックプレイを実行するための幾つかの可能性を説明する。以下の説明は、MPEG2トランスポートストリームのフォーマットに固有な方法を目標としている。しかしながら、本発明は該フォーマットに限定されるものではない。
【0049】
実験は、実際には、所謂タイムスタンプ付きトランスポートストリームという拡張で以って実施された。これは、トランスポートストリームパケットを有し、これらパケットの全てにはトランスポートストリームパケット到達時間が配置された4バイトのヘッダが前に付されている。この時間は、当該パケットの最初のバイトが記録装置で受信された時にプログラムクロック基準(PCR)タイムベースの値から導出することができる。これは、ストリームに共にタイミング情報を記憶する好適な方法であり、従って該ストリームの再生は相対的に容易な処理となる。
【0050】
再生の間における1つの課題は、MPEG2デコーダのバッファが超過する又はアンダフローしないことを保証することである。入力ストリームがデコーダバッファのモデルに準拠していたとしたならば、相対タイミングを復元することは、出力ストリームも準拠することを保証することになる。ここで説明するトリックプレイ方法の幾つかは、タイムスタンプとは独立であり、タイムスタンプを備える又は備えないトランスポートストリームに対して等しく良好に動作する。
【0051】
図1は、タイムスタンプ付きトランスポートストリームパケット100を示し、該パケットは188バイトの全長104を有すると共に、4バイトの長さ105を持つタイムスタンプ101、パケットヘッダ102及び184バイトの長さを持つパケットペイロード103を含んでいる。下記の説明は、記録されたトランスポートストリームからMPEG/DVB(デジタルビデオ放送)準拠のトリックプレイストリームを作成する可能性の概要を示すもので、完全に平文の、従ってデータの各ビットを操作することができるものから、完全に暗号化され(例えばDVB方式により)、従ってトランスポートストリームヘッダ及び幾つかのテーブルのみが操作のためにアクセス可能であり得るストリームまでの全スペクトルの記録ストリームをカバーすることを意図するものである。
【0052】
MPEG/DVBトランスポートストリームに対するトリックプレイを作成する場合、コンテンツが少なくとも部分的に暗号化されていると問題が生じ得る。通常の方法であるように基本(エレメンタリ)ストリームレベルまで下降することは可能ではなく、又は解読の前に如何なるパケット化された基本ストリーム(PES)にアクセスすることさえ可能ではない。これは、画像フレームを見つけることが不可能であることをも意味する。既知のトリックプレイエンジンは、この情報をアクセス及び処理することができる必要がある。
【0053】
この説明の枠内では、"ECM"なる用語は権限制御メッセージ(Entitlement Control Message)を指す。このメッセージは、特に、秘密のプロバイダ所有権情報を有し得、とりわけ、MPEGストリームを解読するのに要する暗号化された制御ワード(CW)を含み得る。典型的には、制御ワードは10〜20秒内で終了する。ECMはトランスポートストリーム内のパケットに埋め込まれている。
【0054】
この説明の枠内において、"キー"なる用語は、特に、スマートカードに記憶することが可能であると共に、トランスポートストリーム内に埋め込まれ得る所謂"権限管理メッセージ(Entitlement Management Message)"即ちEMMを用いて該スマートカードに転送することが可能なデータを指す。これらのキーは、スマートカードによりECM内に存在する制御ワードを解読するために使用することができる。斯様なキーの例示的有効期間は1ヶ月である。
【0055】
この説明の枠内において、"制御ワード(CW)"なる用語は、特に、実際のコンテンツを解読するために要する解読情報を指す。制御ワードはスマートカードにより解読され、次いで解読コアのメモリに記憶することができる。
【0056】
ここで、平文ストリームに対するトリックプレイに関する幾つかの態様を説明する。
【0057】
作成された如何なるMPEG2ストリームも、MPEG2準拠のトランスポートストリームであることが好ましい。これは、デコーダを装置内に統合することができるのみならず、例えばIEEE 1394インターフェース等の標準のデジタルインターフェースを介して接続することができるからである。
【0058】
高圧縮比を達成するためにビデオの時間的冗長性を利用するMPEG2等のビデオ符号化技術を使用する場合に発生し得る如何なる問題も考慮されるべきである。フレームは、最早、独立に復号することはできない。複数の画像群(GOP)の構造が図2に示されている。図2は、特に、Iフレーム201及びPフレーム202のシーケンスを伴う幾つかのMPEG2のGOP構造を有するストリーム200を示している。GOPのサイズが符号203により示されている。該GOPのサイズ203は12フレームに設定され、ここでは、Iフレーム201及びPフレーム202のみが示されている。
【0059】
MPEGにおいては、最初のフレームのみが他のフレームとは独立に符号化されているようなGOP構造を使用することができる。これは、所謂イントラ符号化された、即ちIフレーム201である。予測フレーム即ちPフレーム202は単方向予測により符号化され、図2において矢印204により示されるように、これらフレームは前のIフレーム201又はPフレーム202にのみ依存することを意味する。このようなGOP構造は、典型的には、12又は16個のサイズのフレーム201、202を有する。複数のGOPの他の構造300が図3に示されている。図3は、特に、Iフレーム201、Pフレーム202及びBフレーム301のシーケンスを伴うMPEG2のGOP構造を示す。該GOPのサイズも、符号203で示す。
【0060】
図3に示すように、双方向予測フレーム即ちBフレーム301も含むGOP構造を使用することができる。例として、12フレームのサイズのGOPが選択されている。Bフレーム301は双方向予測により符号化され、これらフレームが、幾つかのBフレーム301に関して湾曲した矢印204により示されているように、前の及び次のI又はPフレーム201、202に依存することを意味する。圧縮されたフレームの伝送順序は、これらが表示される順序とは同一とは限らない。
【0061】
Bフレーム301を復号するためには、当該Bフレームの(表示順での)前及び後の両基準フレームが必要とされる。デコーダにおけるバッファの必要条件を最少にするために、圧縮されたフレームは再配列することができる。従って、伝送において、基準フレームは最初にくることができる。送信されたままで再配列されたストリームも、図3の下側に示されている。再配列は、真っ直ぐな矢印302により示されている。Bフレーム301を含むストリームは、全てのBフレーム301がスキップされたなら(跳ばされたなら)良い見え方のトリックプレイ画像となり得る。本例の場合、これは3倍順送りトリックプレイ速度となる。
【0062】
MPEG2ストリームが暗号化されていなくても(即ち、平文であっても)、トリックプレイは些細なことではない。Iフレームのみに基づくスロー逆送りの可能性を短く説明する。MPEG2のGOPの必要な反転のために、効率的なフレームに基づくスロー逆送りは一層困難である。スローモーション順送りとしても知られているスロー順送りは、表示画像が通常速度よりも低い速度で進むようなモードである。スロー順送りの基本的形態は、トリックプレイGOPを発生する高速順送りアルゴリズムを利用する技術を用いて既に可能である。高速順送り速度をゼロと1との間の値に設定する結果として、高速順送りトリックプレイGOPの繰り返しに基づくスロー順送りストリームが得られる。平文ストリームの場合、これは問題とならないが、暗号化されたストリームの場合、これは或る特定の条件ではIフレームの一部の誤った解読につながり得る。この問題を解決する幾つかのオプションが存在するが、最も適切な方法は、高速順送りトリックプレイGOPを繰り返すのではなく、空のPフレームの追加により該トリックプレイGOPのサイズを延長することである。この技術は、実際に、スロー逆送りも可能にする。何故なら、高速順送り/逆送りに使用されるトリックプレイGOPに、従って独立に復号可能なIフレームに基づいているからである。しかしながら、以下のような理由により、この種のIフレームに基づくスロー順送り又はスロー逆送りを利用することは好ましくない。通常プレイにおけるIフレーム間の距離は約半秒であり、これは、スロー順送り又は逆送りの場合、スローモーション係数で乗算される。従って、このタイプのスロー順送り/逆送りは、現実にはユーザが馴れているスローモーションではなく、実際には連続する画像の間に大きな時間的距離を伴うスライドショーのようなものである。
【0063】
静止画モードと呼ばれる他のトリックプレイモードでは、表示画像は停止される。これは、静止画モードの間にわたり当該Iフレームに空Pフレームを追加することにより達成することができる。これは、最後のIフレームからの結果の画像が停止されることを意味する。通常プレイから静止画に切り換える場合、これは、CPIファイル内のデータによる最も近いIフレームでもあり得る。この技術は、高速順送り/逆送りモードの拡張であり、インターレース除去が使用された場合、良好な静止画像が得られる。しかしながら、通常プレイ又はスロー順送り/逆送りから静止画に切り換える場合、位置的精度が時には十分ではない。
【0064】
静止画モードはステップモードを実施化するために拡張することができる。ステップコマンドは、当該ストリームを何れかの次の又は前のIフレームに進める。ステップサイズは、最小で1GOPであるが、GOPの整数に等しいような大きな値に設定することもできる。この場合、ステップ順送り及びステップ逆送りの両方とも可能である。何故なら、Iフレームのみが使用されるからである。
【0065】
スロー順送りは、各フレームの繰り返しに基づくものとすることもでき、これは一層滑らかなスローモーションとなる。スロー順送りの最良の形態は、実際には、フレームの代わりにフィールドの繰り返しであろう。何故なら、時間解像度が倍となり、インターレースアーチファクトが存在しないからである。しかしながら、これは本来的にフレームに基づくMPEG2ストリームに対しては事実上不可能であり、大幅に暗号化されている場合は一層そうである。インターレースアーチファクトは、I及びPフレームに関しては、繰り返しを強制するための特別な空のフレームを用いることにより大幅に低減することができる。もっとも、このようなインターレース低減技術は、Bフレームに対しては利用可能ではない。I及びPフレームに対するインターレース除去の使用が、この場合において依然として有利であるか、又は視聴者にとり実際に一層不快な画像となるかは実験によってのみ検証し得る。
【0066】
時間的予測故に、個々のフレームに基づくスロー逆送りはMPEG信号にとっては実際には非常に複雑となる。完全なGOPが、バッファリングされ、且つ、反転されねばならない。知り得る限り、GOPにおけるフレームを逆の順序に再符号化する簡単な方法は存在しない。従って、略完全な復号及び符号化が、これら2つの間におけるフレーム順序の反転と共に必要となる。これは、完全な復号されたGOPのバッファリング並びにMPEGデコーダ及びエンコーダを必要とする。
【0067】
静止画モードは、フレームに基づくスロー順送りモードの拡張と定義することができる。これは、当該フレームのタイプが何であれ、静止画モードの期間にわたる現フレームの繰り返し表示に基づくものである。これは、スローモーション係数が、通常プレイストリームが低速化される係数を示すものであるならば、実際には無限のスローモーション係数によるスロー順送りである。Bフレームで画像が停止された場合、インターレース除去は可能ではない。その意味では、この静止画モードは、トリックプレイGOPに基づく静止画モードより悪い。これは、幾らか静止画の位置の精度が劣ることを犠牲にして、I又はPフレームで画像を停止させることによってのみ訂正することができる。この場合、PTS及び時間基準の不連続も回避することができる。更に、ビットレートも大幅に低減される。何故なら、Bフレームに対して必要とされるようにフレームデータ自体の繰り返しの代わりに、空のフレームの挿入によりI又はPフレームの繰り返しが強制されるからである。従って、技術的に言って、I又はPフレームにおける画像の停止は最良の選択である。
【0068】
上記静止画モードは、ステップモードで拡張することもできる。ステップコマンドは、当該ストリームを基本的に次のフレームに進める。次のPフレーム又は何れかの次のIフレームへのステップ動作により大きなステップサイズが可能となる。フレームに基づくステップ逆送りは可能ではない。唯一のオプションは、前のIフレームのうちの1つへのステップ逆送りである。
【0069】
以上、2つのタイプの静止画モード、即ちトリックプレイGOPに基づくもの及びフレームに基づくものに言及した。最初のものは高速順送り/逆送りに略論理的に関連する一方、2番目のものはスロー順送りに関係している。何らかのモードから静止画に切り換える場合、切り換え遅れを最小にするために、関係する静止画モードを選択することが好ましい。両方法から得られるストリームは非常に似ている。何故なら、これらは共に、アンカフレームの繰り返しを強制するための空フレームの挿入に基づいているからである。しかしながら、詳細なストリーム構成レベルでは、幾つかの差が存在する。
【0070】
以下においては、CPI("特徴点情報")ファイルに関係する幾つかの態様を説明する。
【0071】
ストリーム内のIフレームを見つける処理は、通常は、フレームヘッダを見つけるために当該ストリームの解析を必要とする。Iフレームが開始する位置を突き止めることは、記録がなされている間に、又は記録が完了した後にオフラインで、又は半オンライで、実際にはオフラインであるが記録の時点に対して小さな遅延で、実施することができる。Iフレームの終了部は、次のPフレーム又はBフレームの開始を検出することにより見つけることができる。このようにして導出されたメタデータは、特徴点情報ファイル又はCPIファイルと称することが可能な別個ではあるが結合されたファイルに記憶することができる。このファイルは、トランスポートストリームファイルにおける各Iフレームの開始部及び結果的に終了部に対するポインタを含むことができる。個々の記録は、自身のCPIファイルを有することができる。
【0072】
特徴点情報ファイル400の構造が図4に示されている。
【0073】
CPIファイル400とは別に、記憶された情報400も示されている。CPIファイル400は、ここでは説明しない幾つかの他のデータも含むことができる。
【0074】
CPIファイル400からのデータにより、当該ストリームにおける如何なるIフレーム201の開始部へのジャンプも可能となる。該CPIファイル400がIフレーム201の終了部も含んでいる場合、完全なIフレーム201を得るために、当該トランスポートストリームファイルから読み取るべきデータの量も正確にわかる。何らかの理由により当該Iフレームの終了部がわからない場合、全体のIフレーム201が読み取られることを確実にするために、全体のGOP又は当該GOPデータの少なくとも大部分が読み取られねばならない。当該GOPの終了部は、次のIフレーム201の開始部により与えられる。測定から、Iフレームデータの量は全GOPデータの40%以上であり得ることがわかる。
【0075】
トリックプレイの画像リフレッシュレートの低減は各Iフレーム201を数回表示することにより達成することができることが知られている。それに応じてビットレートが低減される。これは、Iフレーム201の間に所謂空Pフレーム202を追加することにより達成することができる。このような空Pフレーム202は、実際には空ではなく、当該デコーダに前のフレームを繰り返すように命令するデータを含むことができる。これは限られたビットの犠牲しか有さず、多くの場合、Iフレームと比較して無視することができる。実験から、IPP又はIPPP等のトリックプレイGOP構造は、トリックプレイの画像品質にとって許容することができ、高いトリックプレイ速度では有利でさえあり得ることが知られている。結果としてのトリックプレイのビットレートは、通常プレイのビットレートのものと同程度である。これらの構造が記憶装置からの必要とされる持続帯域幅を低減し得ることも言及されている。
【0076】
ここで、タイミングの問題及びストリーム構造に関する幾つかの態様を説明する。
【0077】
トリックプレイシステム500が図5に概念的に示されている。
【0078】
トリックプレイシステム500は、記録ユニット501と、Iフレーム選択ユニット502と、トリックプレイ発生ブロック503と、MPEG2デコーダ504とを有している。トリックプレイ発生ブロック503は、解析ユニット505と、加算ユニット506と、パケタイザユニット507と、テーブルメモリユニット508と、マルチプレクサ509とを含んでいる。
【0079】
記録ユニット501は、Iフレーム選択ユニット502に平文MPEG2データ501を供給する。マルチプレクサ509はMPEG2デコーダ504にMPEG2 DVB準拠のトランスポートストリーム511を供給する。
【0080】
Iフレーム選択器502は、記憶装置501から特定のIフレーム201を読み取る。どのIフレーム201が選択されるかは、以下に説明するようにトリックプレイ速度に依存する。取り出されたIフレーム201はMPEG2/DVB準拠のトリックプレイストリームを構築するために使用され、該ストリームは次いで復号及びレンダリングのためにMPEG2デコーダ504に送られる。
【0081】
上記トリックプレイストリームにおけるIフレームパケットの位置は、元のトランスポートストリームの相対タイミングと結びつけることはできない。トリックプレイにおいては、時間軸は速度係数により圧縮又は伸張され得、更に逆送りトリックプレイのために反転され得る。従って、元のタイムスタンプ付けされたトランスポートストリームのタイムスタンプはトリックプレイの発生には適さないであろう。
【0082】
更に、元のPCRタイムベースはトリックプレイに対して妨害的となり得る。先ず、PCRが、選択されたIフレーム201内で利用可能であることは保証されない。しかしながら、もっと重要なことは、PCRタイムベースの周波数が変化されることであろう。MPEG2仕様によれば、この周波数は27MHzから30ppm内でなければならない。元のPCRタイムベースは、この要件を満たすが、トリックプレイに使用された場合、トリックプレイ速度係数により乗算されるであろう。逆送りトリックプレイの場合、これは間違った方向に走るタイムベースとさえなる。従って、古いタイムベースは削除されねばならず、あらたしいものがトリックプレイストリームに追加されねばならない。
【0083】
最後に、Iフレーム201は、通常、デコーダ504に対し何時当該フレーム開始すべきか(復号タイムスタンプ、DTS)及び該フレームを何時提示(例えば表示)開始すべきか(提示タイムスタンプ、PTS)を告げる2つのタイムスタンプを含んでいる。復号及び提示は、DTS及びPTSが、デコーダ504内で当該ストリームにおけるPCRにより再生されたPCRタイムベースに等しい場合に開始することができる。例えば2つのIフレーム201のPCR値の間の距離は、それらの表示時間の通常の距離に対応する。トリックプレイにおいては、この時間距離は速度係数により圧縮又は伸張される。トリックプレイにおいては新たなPCRタイムベースが使用され、DTS及びPTSに関する距離は、最早、正しくないので、Iフレーム201の元のDTS及びPTSは置換されねばならない。
【0084】
上述した複雑さを解決するために、Iフレーム201は先ず解析ユニット505において基本ストリーム(エレメンタリストリーム)に分解することができる。次いで、基本ストリームレベルにおいて空のPフレーム202が追加される。得られたトリックプレイGOPは1つのPESパケットにマッピングされ、トランスポートストリームパケットにパケット化される。次いで、PAT、PMT等の補正されたテーブルが追加される。この段階において、新しいPCRタイムベースがDTS及びPTSと一緒に含まれる。トランスポートストリームパケットには、当該トリックプレイストリームが通常プレイに使用されるのと同一の出力回路により処理され得るように、PCRタイムベースに結合された4バイトのタイプストリームが前に添付される。
【0085】
以下においては、トリックプレイ速度に関連する幾つかの態様を説明する。この状況において、先ず、固定のトリックプレイ速度を説明する。
【0086】
前述したように、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により、トリックプレイ速度係数がNbにより各々示された場合、一般的にトリックプレイ速度は、
Nb=G/T (1)
により与えられる。
【0087】
Nbは基本速度とも呼ばれる。一層早い速度は、元のストリームからIフレーム201をスキップすることにより実現することができる。2つ目毎のIフレーム201がとられた場合、トリックプレイ速度は倍となり、3つ目毎のフレームがとられた場合、トリックプレイ速度は3倍となり、等々となる。言い換えると、元のストリームにおける使用されるIフレーム201の間の距離は2、3等となる。この距離は常に整数であり得る。トリックプレイの発生に使用されるIフレーム201の間の距離がDにより示される場合(D=1は全Iフレーム201が使用されることを意味する)、一般的トリックプレイ速度係数Nは、
N=D*G/T (2)
により与えられる。
【0088】
これは、基本速度の全ての整数倍を実現することができ、許容可能な速度の組となることを意味する。逆送りトリックプレイに対してはDが負となり、D=0は静止画となることに注意されたい。データは順方向においてのみ読み取ることができる。従って、逆送りトリックプレイにおいては、データは順方向に読み取られ、Dにより与えられる先行するIフレーム201を取り出すために逆方向へのジャンプがなされる。大きなトリックプレイGOPサイズTが一層遅い基本速度になることにも注意されたい。例えば、IPPPはIPPよりも一層細かな粒度の速度組になる。
【0089】
図6を参照して、トリックプレイにおける時間圧縮を説明する。
【0090】
図6は、T=3(IPP)及びG=12の状況を示している。D=2の場合、24フレームの元の表示時間は、3フレームのトリックプレイ表示時間に圧縮され、結果としてN=8となる。与えられた例において、基本速度は整数であるが、これが必ずしも当てはまるわけではない。G=16及びT=3の場合、基本速度は16/3=5及び1/3となり、これは整数トリックプレイ速度の組とはならない。従って、16なるGOPサイズに対してはIPPP構造(T=4)の方が一層適しており、結果として4xなる基本速度となる。12及び16なる最も普通のGOPサイズに適合する単一のトリックプレイ構造が望ましい場合、IPPPを選択することができる。
【0091】
次に、任意のトリックプレイ速度を説明する。
【0092】
幾つかの場合においては上述した方法から得られるトリックプレイ速度の組が満足のいくものとなるが、幾つかの場合においてはそうではない。G=16及びT=3の場合、依然として整数のトリックプレイ速度係数を好む場合もあり得る。G=12及びT=4の場合でさえ、例えば7x等の当該組においては利用可能でない速度を有することが好まれ得る。ここで、前記トリックプレイ速度方程式が反転され、距離Dが計算されるが、これは、
D=N*T/G (3)
により与えられる。
【0093】
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だけ増加させることにより、次の理想点を再び計算することができる。
【0094】
断片的距離でトリックプレイを図示する図7に示されるように、特にIフレーム201を選択する3つの可能性が存在する。即ち、
A.理想点に最も近いIフレーム;I=round(Ip)
B.理想点より前の最後のIフレーム;I=int(Ip)
C.理想点より後の最初のIフレーム;I=int(Ip)+1
である。
【0095】
明らかにわかるように、実際の距離はint(D)とint(D)+1との間で変化し、2つの発生の間の比は、平均距離がDに等しくなるようにDの分数に依存する。これは、平均トリックプレイ速度はNに等しいが、実際に使用されるフレームは理想のフレームに対して小さなジッタを有することを意味する。これに関して幾つかの実験が実行されたところ、トリックプレイ速度は局部的に変化し得るが、これは視覚的に乱すものではない。普通には、特に幾らか高いトリックプレイ速度では目立つことさえない。図7からは、方法A、B又はCの何れを選んでも本質的な差はないことも明らかである。
【0096】
この方法によれば、トリックプレイ速度Nは整数である必要はなく、基本速度Nbより大きな如何なる値とすることもできる。この最小値より低い速度も選択することができるが、その場合、画像リフレッシュレートが局部的に低下され得る。何故なら、実効的トリックプレイGOPサイズが倍になるか、更に低い速度では3倍又はそれ以上になるからである。これはトリックプレイGOPの繰り返しによる。というのは、当該アルゴリズムが同一のIフレーム201を2回以上選択するからである。
【0097】
図8は、N=2/3・Nbと等価のD=2/3の例を示している。ここでは、Iフレーム201を選択するために丸め関数が使用され、見られるように、フレーム2及び4が2回選択される。
【0098】
何れにしろ、上述した方法は連続的に変化可能なトリックプレイ速度を可能にする。逆送りトリックプレイの場合、Nに対して負の値が選択される。図7の例の場合、これは、単に矢印700が逆の方向を指すことを意味する。上述した方法は、先に言及した固定のトリックプレイ速度の組も含み、これらは、特に丸め関数が使用された場合、同じ品質を有するであろう。従って、この節で述べた柔軟な方法は速度の選択がどの様であれ常に実施化されるべきであることが適切であろう。
【0099】
ここで、トリックプレイ画像のリフレッシュレートに関する幾つかの態様を説明する。
【0100】
"リフレッシュレート"なる用語は、特に、新しい画像が表示される周波数を指す。速度依存的ではないが、Tの選択に影響を与え得るので、ここでは簡単に述べる。元の画像のリフレッシュレートがR(25Hz又は30Hz)により示される場合、トリックプレイ画像のリフレッシュレート(Rt)は、
Rt=R/T (4)
により与えられる。
【0101】
IPP(T=3)又はIPPP(T=4)のトリックプレイGOP構造によれば、リフレッシュレートRtは、ヨーロッパでは各々81/3Hz又は61/4Hzとなり、米国では各々10Hz又は71/2Hzとなる。トリックプレイ画像の品質の判定は幾らかは主観的事項であるが、実験から、これらリフレッシュレートは低い速度では許容可能であり、高い速度では更に有利であるとの明らかな手がかりが存在する。
【0102】
以下においては、暗号化されたストリーム環境に関する幾つかの態様を説明する。
【0103】
ここで、暗号化されたストリーム上でのトリックプレイの説明のための基礎として、暗号化されたトランスポートストリームについての幾らかの情報を示す。放送用に使用される条件付きアクセスシステム(Conditional Access System)に焦点を合わせる。
【0104】
図9は、ここで説明する条件付きアクセスシステム900を示す。
【0105】
該条件付きアクセスシステム900において、コンテンツ901はコンテンツ暗号化ユニット902に供給することができる。コンテンツ901を暗号化した後、コンテンツ暗号化ユニット902はコンテンツ解読ユニット904に暗号化されたコンテンツ903を供給する。この明細書において、ECMは権限制御メッセージ(Entitlement Control Message)を指すと述べた。更に、KMMはキー管理メッセージ(Key Management Message)を指し、GKMはグループキーメッセージ(Group Key Message)を指し、EMMは権限管理メッセージ(Entitlement Management Message)を指すものとする。制御ワード906をコンテンツ暗号化ユニット902及びECM発生ユニット907に供給することができる。ECM発生ユニット907はECMを発生し、同ECMをスマートカード905のECM復号ユニット908に供給する。ECM復号ユニット908は上記ECMから制御ワードを発生し、該制御ワードは暗号化されたコンテンツ903を解読するために必要とされる解読情報で、コンテンツ解読ユニット904に供給される。
【0106】
更に、許可キー(authorization key)910がECM発生ユニット907及びKMM発生ユニット911に供給され、その場合において、後者はKMMを発生し、同KMMをスマートカード905のKMM復号ユニット912に供給する。KMM復号ユニット912は出力信号をECM復号ユニット908に供給する。
【0107】
更に、グループキー914をKMM発生ユニット911及びGKM発生ユニット915に供給することができ、GKM発生ユニット915には更にユーザキー918を供給することができる。GKM発生ユニット915はGKM信号GKMを発生すると共に、同GKM信号をスマートカード905のGKM復号ユニット916に供給し、該GKM復号ユニット916は更なる入力としてユーザキー917を得る。
【0108】
更に、エンタイトルメント(権限)919をEMM発生ユニット920に供給することができ、該EMM発生ユニットはEMM信号を発生すると共に同信号をEMM復号ユーザ921に供給する。スマートカード905内に位置する上記EMM復号ユニット921は権限リストユニット913に結合されており、該権限リストユニットはECM復号ユニット908に対応する制御情報を供給する。
【0109】
多くの場合において、コンテンツプロバイダ及びサービスプロバイダは、条件付きアクセス(CA)システムを介して、特定のコンテンツ項目へのアクセスを制御したいと欲する。
【0110】
これを達成するために、放送されるコンテンツ901はCAシステム900の制御の下で暗号化される。受信機において、コンテンツは、CAシステム900によりアクセスが許可されたなら、復号及びレンダリングする前に解読される。
【0111】
CAシステム900は層状の階層構造を使用する(図9参照)。CAシステム900はコンテンツ解読キー(制御ワードCW906,909)をサーバからクライアントへECMと呼ばれる暗号化されたメッセージの形態で転送する。ECMは許可キー(AK)910を使用して暗号化されている。安全保護の理由で、CAサーバ900は許可キー910を、KMMを発行することにより更新する。実際には、KMMは特別なタイプのEMMであるが、明瞭化のために、KMMなる用語を使用する。KMMも、例えばグループキー(GK)914とすることが可能なキーを用いて暗号化されており、該グループキーは、これも特別なタイプのEMMであるGKMを送ることにより更新される。この場合、GKMはユーザキー(UK)917,918により暗号化され、該ユーザキーはスマートカード905に埋め込まれ、当該プロバイダのCAシステム900によってのみ知られた固定の固有のキーである。許可キー及びグループキーは、受信機のスマートカード905内に記憶される。
【0112】
エンタイトルメント919(例えば、視聴権)は、個々の顧客にEMMの形態で送信され、安全保護装置(スマートカード905)にローカルに記憶される。エンタイトルメント919は特定の番組(プログラム)に結合される。権限リスト913は、契約のタイプに応じて一群の番組に対するアクセスを与える。ECMは、エンタイトルメント919が特定の番組に対して利用可能である場合にのみ、スマートカード905によりキー(制御ワード)へと処理される。エンタイトルメントEMMは、KMMと同じ層状構造に従う(図9には示されていない)。
【0113】
MPEG2システムにおいては、暗号化されたコンテンツECM及びEMM(KMM及びGKMタイプを含む)は、全て単一のMPEG2トランスポートストリームに多重化される。上述した説明は、CAシステム900の概要である。デジタルビデオ放送においては、暗号化アルゴリズム、奇数/偶数制御ワード構造、ECM及びEMMの全体構造並びにそれらの参照が規定される。CAシステム900の詳細な構造並びにECM及びEMMのペイロードが符号化及び使用される方法は、プロバイダに固有のものである。また、スマートカードもプロバイダ固有である。しかしながら、経験から、多くのプロバイダが図9の概要図のような構造に本質的に従っていることが分かっている。
【0114】
以下においては、DVB暗号化/解読の主たる題目を説明する。
【0115】
適用される暗号化及び解読アルゴリズムは、DVB標準化組織により規定される。原則的に、2つの暗号化の可能性、即ちPESレベル暗号化及びTSレベル暗号化が規定される。しかしながら、実世界では、主にTSレベル暗号化が使用されている。トランスポートストリームパケットの暗号化及び解読は、パケットに基づいてなされる。これは、暗号化及び解読アルゴリズムが、新たなトランスポートストリームパケットが受信される毎に再開されることを意味する。従って、パケットは個別に暗号化又は解読することができる。トランスポートストリームにおいては、暗号化された及び平文のパケットが混合されている。何故なら、幾つかのストリーム部分は暗号化され(例えば、オーディオ/ビデオ)、他のものは暗号化されない(例えば、テーブル)からである。1つのストリーム部分(例えば、ビデオ)内でさえ、暗号化された及び平文のパケットが混合され得る。
【0116】
図10を参照して、DVB暗号化トランスポートストリームパケット1000を説明する。
【0117】
ストリームパケット1000は、188バイトの長さ1001を有し、3つの部分を含んでいる。パケットヘッダ1002は4バイトのサイズ1003を有している。パケットヘッダ1002に続いて、当該ストリームパケット1000にはアダプテーションフィールド1004が含まれ得る。その後に、DVB暗号化パケットペイロード1005を送信することができる。
【0118】
図11は、図10のトランスポートストリームパケットのヘッダ1002の詳細な構造を示している。
【0119】
トランスポートストリームパケットヘッダ1002は、同期ユニット(SYNC)1010と、パケット内のトランスポートエラーを示すことが可能なトランスポートエラーインジケータ(TEI)1011と、特に後続のペイロード1005におけるPESパケットの可能性のある開始部を示すことができるペイロードユニット開始インジケータ(PLUSI)1012と、当該トランスポートの優先度を示すトランスポート優先度ユニット(TPI)1017と、当該パケットの任務(assignment)を決定するために使用されるパケット識別子(PID)1013と、当該トランスポートストリームパケットを解読するために要するCWを選択するために使用されるトランスポートスクランブル制御子(SCB)1014と、アダプテーションフィールド制御子(AFLD)1015と、継続カウンタ(CC)1016とを有している。このように、図10及び図11は、暗号化されているMPEG2トランスポートストリームパケットを示しており、該パケットは異なる部分を有している。即ち、
− パケットヘッダ1002は平文である。該ヘッダは、パケット識別子(PID)番号、アダプテーションフィールドの存在、スクランブル制御ビット等の重要な情報を得るように働く。
− アダプテーションフィールド1004も平文である。該フィールドはPCR等の重要なタイミング情報を含み得る。
− DVB暗号化パケットペイロード1005は、DVBアルゴリズムを使用して暗号化されている可能性のある実際の番組コンテンツを含む。
【0120】
放送された番組を解読するために要する正しいCWを選択するために、トランスポートストリームパケットヘッダを解析することが必要となる。このヘッダの概要が、図11に示されている。放送された番組の解読にとり重要なフィールドは、スクランブル制御ビット(SCB)フィールド1014である。このSCBフィールド1014は、解読器が、放送された番組を解読するために何のCWを使用しなければならないかを示す。更に、該フィールドは、当該パケットのペイロードが暗号化されているか又は平文であるかを示す。全ての新しいトランスポートストリームパケットに対して、このSCB1014は解析されねばならない。何故なら、該SCBは時間にわたり変化し、パケット毎に変化し得るからである。
【0121】
以下においては、完全に暗号化されたストリーム上でのトリックプレイに関する幾つかの態様を説明する。
【0122】
これが関心のある主題であるという第1の理由は、平文上でのトリックプレイ及び完全に暗号化されたストリーム上でのトリックプレイは、一連の可能性における両極端であるからである。他の理由は、完全に暗号化されたストリームを記憶する必要があり得るようなアプリケーションが存在するからである。かくして、完全に暗号化されたストリーム上でトリックプレイを実行する技術を有することは有用なことであろう。基本原理は、記憶装置から十分に大きなブロックのデータを読み取り、これを解読し、該ブロック内のIフレームを選択し、これを用いてトリックプレイストリームを構築することである。
【0123】
斯様なシステム1200が図12に示されている。
【0124】
図12は、完全に暗号化されたストリームに対するトリックプレイの基本原理を示す。この目的のために、ハードディスク1201上に記憶されたデータが解読器1203にトランスポートストリーム1202として供給される。更に、ハードディスク1201はスマートカード1204にECMを供給し、その場合において、該スマートカード1204は該ECMから制御ワードを発生し、同制御ワードを解読器1203に送出する。
【0125】
上記制御ワードを使用して、解読器1203は前記暗号化されたトランスポートストリーム1202を解読し、解読されたデータをIフレーム検出器及びフィルタ1205に送出する。そこから、上記データは空Pフレーム挿入ユニット1206に供給され、該ユニットは該データをセットトップボックス1207に伝達する。そこから、データはテレビジョン1208に供給される。
【0126】
記録が何を含むかの問題に関して幾つかの態様を説明する。
【0127】
単一チャンネルの記録を行う場合、該記録は該チャンネルの記録を後の段階で再生するために要する全てのデータを含まなければならない。特定の応答器に全てを記録することだけに頼ることもできるが、この方法では、記録したい番組を再生するのに必要なものより遙かに多くを記録することになる。これは、帯域幅及び記憶空間の両者が浪費されることを意味する。従って、こうする代わりに、本当に必要なパケットのみが記録されるべきである。これは、各番組に関して、PAT(プログラム・アソシエーション(関連)・テーブル)、CAT(条件付きアクセステーブル)等の全てのMPEG2に必須のパケット、並びに明らかなことに各番組に対してビデオ及びオーディオパケット並びに何のパケットが番組に属するかを記述したPMT(プログラム・マップ・テーブル)を記録せねばならないことを意味する。更に、上記CAT/PMTは当該ストリームの解読に要するCAパケット(ECM)を記述することができる。記録が解読の後に平文でなされない限り、これらECMパケットも記録されねばならない。
【0128】
なされた記録が、完全な多重からの全てのパケットから構成されない場合、当該記録は所謂部分トランスポートストリーム1300(図13参照)となる。更に、図13は完全なトランスポートストリーム1301も示す。DVB規格は、部分トランスポートストリーム1300が再生される場合、NIT(ネットワーク情報テーブル)、BAT(ブーケ・アソシエーション・テーブル)等の全ての通常のDVB必須テーブルが削除されることを求めている。これらのテーブルの代わりに、部分ストリームはSIT(選択情報テーブル)及びDIT(不連続情報テーブル)テーブルが挿入されるようにしなければならない。
【0129】
以下では、ECMの処理に関する幾つかの態様を説明する。
【0130】
トリックプレイの間において次のブロックへジャンプすることは、当該ストリームにおいて逆にジャンプすることを意味し得る。これは、トリックプレイ逆送りの場合のみならず、緩やかな速度におけるトリックプレイ順送りの場合でもあり得ると説明されるであろう。順方向ジャンプによる順方向トリックプレイ及び本来の逆方向ジャンプによる逆方向トリックプレイに関する状況は後に説明する。
【0131】
データが解読されねばならないという事実に起因して、固有の問題が発生し得る。条件付きアクセスシステムは、送信のために設計することができる。通常プレイにおいて、送信されたストリームは元のタイミングで再構築することができる。しかしながら、トリックプレイは、変化されたタイミングにより暗号的メタデータの処理に関して厳しい意味を有し得る。データはトリックプレイにより時間的に圧縮又は伸張され得るが、スマートカードのレイテンシは一定に留まり得る。
【0132】
トリックプレイストリームを形成するために、前述したデータブロックは解読器を通過し得る。この解読器は、当該データブロックを解読するために、暗号化処理に使用された制御ワードを必要とする。これらの制御ワードも、暗号化されECMに記憶され得る。通常のセットトップボックス(STB)では、これらのECMは同調された番組の一部であり得る。条件付きアクセス(限定受信)モジュールは、斯かるECMを抽出し、スマートカードに送出することができ、このカードが斯かるECMを解読する権利又は権能(authorization)を有するなら、該カードから解読された制御ワードを入力することができる。制御ワードは、通常は、例えば約10秒等の相対的に短い寿命しか有さない。この寿命は、トランスポートストリームパケットのヘッダにおけるスクランブル制御ビットSCB1014により示すことができる。これが変化した場合、次の制御ワードが使用されねばならない。このSCBの変化又はトグルが、図14に垂直線により符号1402で示されている。
【0133】
図14を参照すると、特に2つの異なる筋書き又はストリームタイプを区別することができる。
【0134】
図14の下側の行に示されるストリームタイプIによれば、ECM当たり2つの制御ワード(CW)が供給される。
【0135】
図14の上側の行に示されるストリームタイプIIによれば、ECM当たり1つのみの制御ワード(CW)が供給される。
【0136】
図14は、符号1403により示された連続して配列された期間又は区間A,B,Cを有する2つのデータストリームを示している。図14の上側の行1400に示された筋書きでは、対応するECM当たり本質的に1つの制御ワードが供給される。これとは対照的に、下側の行1401では、各ECMは2つの制御ワード、即ち現期間又はECMに関する制御ワード及び、更に、後続の期間又はECMの制御ワードを有する。このように、これら制御ワードの供給に関して幾らかの冗長性が存在する。
【0137】
前記短い寿命期間の間において、解読情報の項目は何回が送信することができるので、斯様な制御ワードの寿命期間を経る途中で斯様なチャンネルへ同調することは、次の制御ワードを待つことを意味しない。当該条件付きアクセスモジュールは、見つけた最初の固有のECMのみをスマートカードに送出して該カードに対するトラフィックを低減又は最少化する。というのは、斯かるカードは、かなり遅いプロセッサを有し得るからである。
【0138】
このことは、暗号化されたストリームに対するトリックプレイの限界が存在し得ることを示している。そこには、スマートカードの処理能力の限定された速度に由来する暗黙的上限速度が存在し得る。トリックプレイにおいて、10秒なる制御ワード寿命はトリックプレイ速度係数により圧縮又は伸張され得る。ECMをスマートカードに送出すると共に解読された制御ワードを受け取るには、約半秒掛かり得る。制御ワードがECMに詰め込まれる方法はプロバイダ固有のものであり得、図14に示されるように、ストリームタイプI及びストリームタイプIIに関して特に異なり得る。
【0139】
CW Aは期間Aを暗号化するために使用されたCWを示し、CW Bは期間Bを暗号化するために使用されたCWを示し、等々である。水平方向に、送信時間軸がプロットされている。ECM Aは、期間Aの大部分の間に存在するECMであると定義することができる。その場合、ECM Aは現期間Aのための、及びストリームタイプIに関しては更に次の期間BのためのCWを保持することがわかる。一般的に、ECMは現期間のためのCWを少なくとも保持することができると共に、次の期間のためのCWを保持することができる。ザッピングのために、これは恐らく全ての又は多くのプロバイダにとり当てはまるであろう。
【0140】
更に続ける前に、解読器及び該解読器がCWをどの様に処理することができるかに関しての更なる情報を示す。解読器は2つのレジスタ、即ち"奇数"CW用のもの及び"偶数"CW用のものを含むことができる。"奇数"及び"偶数"は、CWの値自体が奇数又は偶数であることを意味する必要はない。斯かる用語は、当該ストリームにおける2つの連続するCWの間を区別するために特に使用される。何のCWがパケットの解読に使用されるべきかは、パケットヘッダにおけるSCB1014により示される。従って、当該ストリームを暗号化するために使用されるCWは奇数と偶数との間で交互となる。図14において、これは、例えばCW A及びCW Cは奇数である一方、CW B及びCW Dは偶数となることを意味する。スマートカードによる解読の後、CWは、図15に示されるように、前の値に上書きして、解読器の対応するレジスタに書き込むことができる。
【0141】
図15は、偶数CWを含む(レジスタ1501)及び奇数CWを含む(レジスタ1502)2つのレジスタ1501,1502を示している。更に、スマートカードのレイテンシ1500(スマートカードによりECMからCWを取り出す又は解読するために要する時間である)も図15に示されている。
【0142】
ストリームタイプIの場合、各ECMは2つのCWを保持し、結果として、両レジスタ1501,1502がECMの解読の後に上書きされ得る。レジスタ1501,1502のうちの一方が活性状態となり、他方が不活性状態となる。どちらのものが活性状態となるかは、SCB1014に依存する。本例では、SCB1014は期間Bの間において偶数レジスタ1501が活性状態のものであることを示すであろう。活性状態レジスタのみが、既に保持しているものと同一のCWにより上書きされ得る。何故なら、当該特定の期間の残りの解読のために依然として必要とされるからである。従って、不活性状態のレジスタのみが、新たな値で上書きすることができる。
【0143】
トリックプレイにおける期間Bを詳細に調べる。ECMが、この期間の開始点において、従ってSCBトグル1402が横断された時点でスマートカードに送られると仮定する。問題は、この場合、どのECMをスマートカードに送ることができるかである。
【0144】
このECMは、期間Cの開始時に使用するためのスマートカードによる適時の解読を保証するためにCW Cを保持していなければならない。
【0145】
該ECMは、当該解読器におけるCWの正しい利用可能性を妨害することなしにCW Bも保持することができる。
【0146】
再び図14を見ると、これは、ストリームタイプIの場合、期間Bの開始時にECM Bを送ることを意味し、ストリームタイプIIの場合ECM Cを送ることを意味することがわかる。一般的に、2つのCWを保持する場合、現ECMを送ることができ、1つのCWのみを保持する場合は1期間先行して送ることができる。ECMを1期間先行して送ることは、埋め込まれたECMとは相反し得るので、その場合、後者はストリームから除去されねばならない。もっと一般化された方法にとっては、元のECMがトリックプレイ発生回路又はソフトウェアによりストリームから常に削除されることが好ましいであろう。しかしながら、これが常に当てはまるとは限らない。
【0147】
図16は、高速順送りモードにおけるECM処理を示す。
【0148】
SCBトグル1402により分離される複数の連続する期間1403において、複数のデータブロック1600が再生され、その場合において異なるブロックの間で切り換え1601が生じる。
【0149】
ストリームタイプIの場合、期間A及びBの間の境界ではECM Bが送出される。ストリームタイプIIの場合、期間A及びBの間の境界ではECM Cが送出される。更に、ストリームタイプIによれば、期間B及びCの間の境界でECM Cが送出される。ストリームタイプIIの場合、期間B及びCの間の境界ではECM Dが送出される。
【0150】
ECMが正しい時点でトリックプレイのために利用可能になるために、ECMは別のファイルに記憶することができる。このファイルでは、何の期間(記録されるストリームの何の部分)にECMが属するかを示すことができる。MPEGストリームファイルにおけるパケットには、番号を付すことができる。期間における最初のパケット(SCBトグル1402)の番号は、この期間1403に対するECMと一緒に記憶することができる。ECMファイルは、ストリームの記録の間に発生することができる。
【0151】
ECMファイルは、記録の間に作成することが可能なファイルである。ストリームには、ビデオデータを解読するために要する制御ワードを含むことが可能なECMパケットを配置することができる。各ECMは特定の期間、例えば10秒にわたり使用することができ、この期間の間に何回(例えば100回)も(繰り返し)送信することができる。ECMファイルは、そのような期間の全ての最初の新しいECMを含むことができる。ECMデータは、このファイルに書き込むことができ、何らかのメタデータが付帯し得る。先ず、連続番号(1から計数する)が与えられ得る。第2フィールドとして、ECMファイルはSCBトグルの位置を含むことができる。これは、このECMを自身のコンテンツを正しく解読するために使用することができる最初のパケットを指すことができる。この場合、このSCBトグルの時間位置が第3のフィールドとして後続し得る。これらの3つのフィールドには、ECMパケットデータ自体が後続し得る。
【0152】
ECMファイルに記憶されたSCBトグルを使用して、斯様なトグルが横断されたかを、これがジャンプの間であってさえも、容易に検出することができる。正しいECMを送るために、ECMが1つのCWを含むか又は2つのCWを含むかを知ることが必要とされ得る。基本的に、これはわからない。何故なら、それはプロバイダ固有のものであり、秘密であるからである。しかしながら、これは、ECMを種々の時点で送出し、表示器上の結果を観察することにより実験的に容易に判定することができる。記憶装置自体内で実施化するのに特に適した代替方法は、下記の通りである。SCBトグルの時点において単一のECMをスマートカードに送出し、当該ストリームを解読し、来たる2つの期間内でPESヘッダをチェックする。GOP当たり1つのPESヘッダによれば、各期間内に約20個のPESヘッダが存在する。PESヘッダの位置は容易に検出することができる。何故なら、パケットの平文ヘッダ内のPLUSIビットが、その存在を示し得るからである。正しいPESヘッダが最初の期間(スマートカードのレイテンシの後の)の間でのみ見つかった場合、当該ECMは1つのCWを含む。これらが第2の期間の間でも見つかった場合は、当該ECMは2つのCWを含む。このような状況が、図17に示される。
【0153】
図17は、1つのCWの検出に対する及び2つのCW検出に対する状況を示す。理解されるように、暗号化されたコンテンツ1700の異なる期間1403が設けられる。スマートカードのレイテンシ1500により、ECM Aは解読されて、対応するCWを発生することができる。暗号化されたコンテンツ1700を解読することにより、解読されたコンテンツ1701を発生することができる。図17に更に示されるものは、PESヘッダ1702、即ち期間A(左)におけるPESヘッダA及び期間B(右)におけるPESヘッダBである。
【0154】
図17における1つのCWの期間Bの領域1703は、当該データが間違ったキーで解読され、従ってスクランブルされることを示す。このチェックは、記録の間に実行することができ、その場合、例えば20ないし30秒掛かるであろう。これはオフラインで実行することもでき、PLUSIにより示される2つのパケットのみ(各期間において1つ)をチェックすればよいから、非常に高速であり得る。適切なPESヘッダが利用可能でないという、ありそうにない事象においては、代わりに画像ヘッダを使用することができる。事実、検出のためには如何なる既知の情報も使用することができる。いずれにせよ、1/2CW指示子をECMファイルに記憶することができる。
【0155】
以下においては、特にスロー順送りストリームの処理に関する幾つかの態様を説明する。
【0156】
次に、トリックプレイGOPに基づくスロー順送り、静止画及びステップモードを説明する。
【0157】
スローモーション順送りとも称すことができるスロー順送りは、表示画像が通常よりも遅い速度で進むようなモードである。或る形態のスロー順送りは、図7及び図8を参照して前述した技術により既に可能である。高速順送り速度をゼロと1との間の値に設定する結果、高速順送りトリックプレイGOPの繰り返しに基づくスロー順送りストリームが得られる。平文ストリームにとり、これは適切な解決策であるが、暗号化されたストリームの場合、これは或る特定の条件ではIフレームの一部の誤った解読につながり得る。この問題を解決する1つのオプションは、前記高速順送りトリックプレイGOPを繰り返さないで、該トリックプレイGOPのサイズを空のPフレームの追加により延長することである。この技術は、事実、スロー逆送りをも可能にし得る。何故なら、これは、高速順送り/逆送りに使用されるトリックプレイGOPに、従って独立に復号可能なIフレームに基づくからである。
【0158】
このようなIフレームに基づくスロー順送り又はスロー逆送りは、下記の理由により特別な場合には不適であり得る。通常プレイにおけるIフレーム間の距離は約半秒であり、スロー順送り/逆送りの場合、該距離はスローモーション係数により乗算される。従って、このタイプのスロー順送り又はスロー逆送りは、正確にはスローモーションとして通常理解されているものではなく、実際には連続する画像の間に大きな時間的距離を伴うスライドショーのようなものである。
【0159】
静止画モードでは、表示画像は停止され得る。これは、静止画モードの期間にわたりIフレームに空のPフレームを追加することにより達成することができる。これは、最後のIフレームからの画像が停止されることを意味する。通常プレイから静止画像に切り換える場合、これも、CPIファイル内のデータによる最も近いIフレームであり得る。この技術は、高速順送り/逆送りモードの拡張であり、特にインターレース相殺が使用される場合、良好な静止画像が得られる。しかしながら、通常プレイ又はスロー順送り/逆送りから静止画へ切り換える場合、位置精度は常に満足のゆくものとは限らない。
【0160】
上記静止画モードは、ステップモードを実施するために拡張することができる。ステップコマンドは、当該ストリームを何れかの次の又は前のIフレームに進める。ステップのサイズは、最小で1GOPであるが、整数の数のGOPに等しい大きな値に設定することもできる。この場合、Iフレームのみが使用されるので、ステップ順送り及びステップ逆送りの両方が可能である。
【0161】
スロー順送りストリームの構築に対しては、多くの考慮事項がある。例えば、基本ストリームレベルでのスロー順送りストリームの構築は、完全に平文のデータに対してのみ実行することができる。結果として、通常プレイストリームが元々暗号化されていたとしても、スロー順送りストリームは完全に平文であろう。このような状況は、著作権保持者にとり許容不可能であり得る。更に、これは高速順送り/逆送りストリームの場合におけるよりも悪い。何故なら、真の高速順送り/逆送りストリームの場合におけるようにフレームの部分集合だけでなく、全ての情報(即ち、各々の及び全てのフレーム)が、当該スロー順送りストリーム内に平文で存在するからである。従って、平文のスロー順送りストリームから平文の通常プレイストリームを容易に再構築することができる。従って、通常プレイストリームが暗号化されているなら、該スロー順送りストリームも暗号化されるべきである。DVB暗号器は家電装置では許可されないので、これは、スロー順送りストリームが、元々送信された暗号化されたデータストリームの暗号化されたデータパケットを用いてトランスポートストリームレベルで構築される場合にのみ実現することができる。
【0162】
以下においては、図18ないし図63を参照して、本発明の実施例によるシステムにおいてデータストリームを処理することができるようなシステムを説明する。
【0163】
以下で述べるシステムは、図1ないし図17を参照して説明したシステムの何れかの枠内で且つ斯かるシステムの何れかとの組み合わせで実施化することができることを強調しておく。
【0164】
以下、図18ないし図22を参照して、本発明の実施例によるデータストリームを処理する方法を説明する。
【0165】
図18は、完全に暗号化されたMPEG2データストリーム1800を示し、該ストリームは安全保護の理由でデータソースから再生装置への移行の間に完全に暗号化されるようなデータストリームである。
【0166】
暗号化されたデータストリーム1800に関するメディアコンテンツのスローモーション再生であるスロー順送りトリックプレイモードを提供するために、以下に詳細に説明するような種々の操作ステップを実行することができる。
【0167】
第1ステップとして、図19に示されるように、上記の完全に暗号化されたMPEG2データストリーム1800は、部分的に解読されると共に部分的に暗号化されたハイブリッドデータストリーム1900を形成するように処理される。該ハイブリッドデータストリーム1900は、当該暗号化されたデータストリーム1800における隣接する暗号化されたフレーム1902の間の暗号化されたフレーム境界部分1901を、対応する解読されたフレーム境界部分1901により選択的に置換して、部分的に解読されると共に部分的に暗号化されたハイブリッドデータストリーム1900を形成することにより得ることができる。更に詳細には、解読されたフレーム境界部分1901の一部は、画像開始コード部1903により形成される。フレーム境界部分1901は、個々に解読することが可能な最小の部分とすることができ、該部分の一部は(所望の)画像開始コード部1903である。この処理は、当該ビデオコンテンツの連続するフレームの間の画像開始コード1903を(完全に又は部分的に)含むパケット1901が平文になる(即ち、部分1901が解読されたものとなる)一方、当該データストリーム1900の残りの(多くの場合、主たる)部分、即ち実際のオーディオ又はビデオコンテンツ1902が暗号化されたままとなるように実行することができる。しかしながら、画像開始コード1903は、以下で説明するように、トリックプレイ動作を可能にすべく復号された態様で存在する。
【0168】
図20からわかるように、ハイブリッドデータストリーム1900は、該ハイブリッドデータストリーム1900の隣接するフレーム1902をフレーム境界部分1901/画像開始コード部1903において分割することにより更に処理される。言い換えると、順次の連続的ハイブリッドデータストリーム1900は、対応するフレーム境界部分1901及び対応するフレーム1902を含むような別々の部分に分離される。
【0169】
更に、図21から分かるように、分離されたフレーム2000の幾つか、即ちBフレームは、所定のスロー順送り率に従って複数回(本実施例では3回)繰り返される。アンカフレーム(Iフレーム及びPフレーム)は、空フレーム2001を用いて繰り返される。本例では、スロー順送り率は、3なる係数である。これは、暗号化されたデータストリーム1800のビデオコンテンツが、当該スロー順送りモードにおいて、通常プレイ動作モードと比較して1/3の速度で再生されるべきことを意味する。
【0170】
トリックプレイストリームを得るために、(空のフレームを挿入する代わりに)アンカフレームを複数回繰り返すことも可能であると言える。個々の部分的に暗号化され且つ部分的に解読された部分2000を複数回繰り返すと共に、次いで、複製された分割フレーム2000を互いに接続することにより、画像開始コード1901及びフレーム1902の異なるグループから得られる隣接する部分が、互いに適切な形で合致しなくなってしまう。このため、これらの部分は、図22に示すようにトリックプレイに適したハイブリッドデータストリーム2201が得られるように、所望なら、接続部分2200を選択的に修正することにより結合される。
【0171】
以下においては、図23を参照して本発明の一実施例による処理装置2300を説明する。
【0172】
該処理装置2300により、図18ないし図22を参照して説明した種々の方法のステップを実行することができる。
【0173】
図23は、暗号化された再生されるべきオーディオビジュアルコンテンツが記憶されたハードディスク2301を示している。
【0174】
当該処理装置2300は、中央処理ユニット(CPU)2302等の制御ユニットにより制御することができ、斯かるCPUはユーザインターフェース2303を用いてユーザにより制御することができる。ユーザインターフェース2303により、ユーザは当該処理装置2300の動作を制御することができ、例えば通常プレイモード又はスロー順送りモード等のトリックプレイ動作を開始させることができる。
【0175】
対応する制御信号が中央処理ユニット2302からハードディスク2301に送られると、暗号化された形態のオーディオビジュアルコンテンツが該ハードディスク2301から解読器2304に送られる。解読器2304は、暗号化されたデータストリーム1800における隣接するフレーム1902の間の暗号化されたフレーム境界部分を、解読されたフレーム境界部分1901により選択的に置換して、部分的に解読されたデータストリーム1900を発生するように構成されている。
【0176】
部分的に解読されたデータストリーム1900は、該部分的に解読されたデータストリーム1900の隣接するフレーム1902をフレーム境界部分1901で分割する分割ユニット2305に供給される。分割されたハイブリッドストリーム部分2000のシーケンスは、所定の複製率に従って該分割フレーム2000を複数回(図18〜22の例では、3回)複製する複製ユニット2306に供給されるが、該所定の複製率はマイクロプロセッサ2302により及び/又はユーザインターフェース2303を操作するユーザにより規定又は決定することができる。
【0177】
図21に示した個々の部分は、次いで、複製ユニット2306から接着ユニット又は接続ユニット2307に供給することができ、該接続ユニットは図21の複製された分割フレームを接続して、トリックプレイが可能なストリーム2201を発生する。
【0178】
このストリームは、スピーカを備えるモニタ等の再生ユニット2308に供給することができ、該ユニットにおいては、このコンテンツの再生がマイクロプロセッサ2302の制御の下で及び/又はユーザインターフェース2303を介してのユーザの制御の下で可能となる。
【0179】
暗号化されたデータストリーム2201を再生のために解読すべく、再生ユニット2308内の更なる解読ユニット(図示略)を予見することも可能である。
【0180】
前記解読ユニット2304は、暗号化されたデータストリーム1800における隣接するフレーム1902間の暗号化されたフレーム境界部分のみを、フレーム境界部分1901を含む解読されたパケットにより選択的に置換し、全ての他のフレーム部分1902は暗号化されたままに維持する。これは高度の安全保護を保証する。何故なら、トリックプレイストリーム2201を発生するために平文でなければならない選択された部分のみしか解読されていないからである。
【0181】
後に詳細に説明するように、分割ユニット2305は2つの連続するフレームのデータを含み得る平文パケットを、各々が斯かるフレームの一方からのデータのみを含むような2つのパケットに変換し、これらパケットの各々に詰め物をすることができる。接着ユニット2307は、図21の複製された分割フレームを、フレーム境界部分1901が2つのフレーム1902の間に延びている位置2200を識別することに基づいて、及び斯かる識別された位置を補正することに基づいて接続することができる。
【0182】
このような補正は、フレーム境界部分1901のサイズの部分を決定することを含むことができる。該サイズが大きすぎる場合、短縮することができ、該サイズが小さい場合は、長さを増加させることができる。
【0183】
フレーム1902は、イントラ符号化フレーム(Iフレーム)、順方向予測フレーム(Pフレーム)又は双方向予測フレーム(Bフレーム)とすることができる。処理されるコンテンツ1800はビデオデータ及び/又はオーディオデータのデータストリームとすることができる。再生ユニット2308は、接続ユニット2307に接続されたデータストリームを再生することができる。暗号化されたデータストリーム1800は、暗号化されたMPEG2データストリームとすることができる。
【0184】
以下においては、図24を参照して、本発明の他の実施例によるデータ処理装置2400を説明する。
【0185】
データ処理装置2400は前記データ処理装置2300とは、図24の場合に解読ユニット2304が予定されていない点で異なる。この場合、ハイブリッドデータストリーム1900が、ハードディスク2301から直接供給される。これは、解読ユニット2304がハードディスク2301内に統合されているか、又はデータがハードディスク2301に既に図19に示すような態様で記憶されているかの何れかを意味する。
【0186】
以下においては、本発明の実施例によるスロー順送りトリックプレイ再生に関する更なる詳細を説明する。
【0187】
次に、ストリームの別個のフレームへの分割を説明する。
【0188】
トランスポートレベルでスロー順送りストリームを構築するのを可能にするためには、個々のフレームが一連のトランスポートストリームパケットとして利用可能であることが有利である。フレーム当たり1PESパケットの場合、これは当然に生じる。PES及びトランスポートストリームパケットは整列されているので、PESパケットは一連のトランスポートストリームパケットに含まれる。GOP当たり1PESパケットの場合、これはIフレームの開始にだけ当てはまる。全ての他のフレーム境界は、殆どの場合、パケット内の何処かに位置される。このパケットは、当該2つのフレームからの情報を含む。従って、先ず、このパケットを2つのパケットに分割することができ、最初のものは最初のフレームからのデータを含み、第2のものは次のフレームからのデータとなる。上記分割の結果の斯かる2つのパケットの各々は、アダプテーションフィールド(AF)により詰めることができる。
【0189】
この状況が図25に示されている。
【0190】
図25は、フレーム境界でのパケットの分割を示す。特に、図25は、各々がヘッダ2501とフレーム部分2502とを有する複数のTSパケット2500を示す。図25に示されたデータストリームの中央部分から分かるように、ヘッダ2501と2つの連続するフレーム2502とを有するパケットが、各々が別個のヘッダ2501と、後続するアダプテーションフィールド2503と、後続する対応するフレーム2502とを有するような2つの別個の部分に分割される。
【0191】
パケットの分割は、平文のストリームにとっては困難ではない。第1のオプションは、図26に示されるように、通常プレイのデータを完全に解読することである。図26は、通常プレイデータの解読の後のスロー順送りの構築を示す。ハードディスク2601からの暗号化された通常プレイのデータ2600は、平文ストリーム2603を発生する解読器2602に供給される。該平文ストリーム2603は、異なるフレームを図25に示した態様で分割するためのフレーム分割ユニット2604に供給される。次いで、このデータは、スロー順送りストリームを構築するスロー順送り構築ユニット2605に供給され、該スロー順送りストリームは次いでセットトップボックス2606に供給される。
【0192】
記憶された完全に暗号化されたストリーム2600又は記憶されたハイブリッドストリームの解読及びスロー順送りモードは困難ではない。何故なら、解読器2602により当該ストリームにおいてストリームデータがスキップ又は複製されることはないからである。記憶されたストリーム2600(完全に暗号化された又はハイブリッドの)は、解読器2602を介して単に通常より遅いレートで供給され、これは、埋め込まれたECM(エンタイトルメント制御メッセージ)にとり何の問題もないことも意味する。この場合、解読器ユニット2602から到来する平文ストリーム2603はパケットを分割するために、又は実際にフレーム分割ユニット2604における如何なる必要なストリーム操作を実行するためにも使用することができる。この場合、結果としてのスロー順送りストリームは平文ストリームである。
【0193】
暗号化された通常プレイストリームからの暗号化されたスロー順送りストリームの構築は、トランスポートレベルで実行される。何故なら、家電装置でのDVB(デジタルビデオ放送)暗号器の使用は特別な場合に許可されないからである。このため、全てのフレーム境界上に僅かの平文パケット2700及び2702のみを伴うハイブリッドストリーム(図27参照)が必要となる。図27は、更に、Iフレーム2703、Bフレーム2704又はPフレーム2705に属する暗号化されたパケット2701も示している。
【0194】
以下、記憶されたストリームが完全に暗号化されている場合、上記のようなストリームを記憶装置の再生側でどの様に発生することができるかを説明する。この場合、図26の解読器ユニット2602は、必要なパケットのみを解読するような選択型とすることができる。しかしながら、好ましくは、当該ストリームは図28に示すように既にハイブリッドストリームとして記憶されているものとする。
【0195】
図28は、記憶されたハイブリッドストリーム2800に対するスロー順送りの構築を示す。図28に示す配列において、ハードディスク2601とフレーム分割ユニット2604との間には解読器ユニット2602は予定されていない。しかしながら、この場合に、セットトップボックス2602に解読器ユニット2801を予定することができる。
【0196】
この場合、上記ハイブリッドストリームにおける平文パケット2700、2702は2つのフレームからのデータを含むパケットの分割も可能にしなければならない。これは、後に詳細に述べる規準により保証することができる。しかしながら、シーケンスヘッダコード又は画像開始コードの何らかの部分が、依然として、暗号化されたパケット内に位置する可能性がある。この場合、理想的な分割は容易には可能ではない。事実、分割は暗号化されたパケットと平文パケットとの間でなされ得る。これらの問題に対する解決策を、以下に更に詳細に説明する。その状況においては、空のPフレームのみがIフレームに連結されるか又はその逆とする。フレームに基づくスロー順送りの場合、他のタイプの連結も考えることができ、それらの中にはBフレームのBフレームに対する連結もある。その結果は、図29を参照して明確にされるように、これらのフレーム境界における或る種の接着アルゴリズムとなる。
【0197】
図29はデータストリームを示し、前のフレーム2900、現フレーム2912及び次のフレーム2901が示されている。前のフレーム2900の終了部には、3バイトの画像開始コード2902が設けられる。更に、現フレーム2912の開始部には、1バイトの画像開始コード2903が予定される。ここで、次のフレームに来ると、当該パケットのフレーム終了部が、前に、1バイトの画像開始コード2904を有する。次のフレーム2901の開始部には、3バイトの画像開始コード2905が設けられる。図29は、連結点に不完全な画像開始コードが存在し得ることを示している。これが、接続領域2906において接着を必要とさせ得る。このように、接着は、Bフレーム2907とBフレームの繰り返し2908との間で実行されるべきである。
【0198】
図29は、パケットヘッダ2909、平文データ2910及び暗号化されたデータ2911を特に示している。図29の例では、Bフレームの開始部及び終了部に1バイトのみの画像開始コードが存在する。結果的に、連結点では2バイトが失われている。後に詳述する接着アルゴリズムは、このような問題を直すことができる。この接着のためには、画像開始コードがどの様に分割されるかが知られねばならない。この情報は後に詳述する方法により得ることができる。
【0199】
以下においては、フレームの繰り返しを詳細に説明する。
【0200】
スロー順送りモードにおいては、デコーダは、何とかして、画像の表示をスロー順送り係数に従って繰り返すように強制されなければならない。Iフレームからの結果の画像の繰り返しを強制するために、空のPフレームを使用することができる。この技術は、Pフレームからの結果の画像にも適用することができる。しかしながら、この技術はBフレームには容易に適用することができない。何故なら、空のPフレームは、常にIフレーム又はPフレームであるアンカフレームを指すからである。これは、実際に、如何なる空のフレームにも当てはまる。従って、Bフレームから得られた画像の繰り返しは他の方法で実現されなければならない。可能性のある方法は、Bフレームデータ自体を繰り返すことである。繰り返されるBフレームは元のBフレームと同一のアンカフレームを指すので、結果として得られる画像も同一となるであろう。Bフレームに対するデータの量は、空のPフレームに対するよりは通常は大幅に多いが、それでも一般的には、Iフレームに対するよりは著しく少ない。いずれにせよ、伝送もスローモーション係数により乗算されるので、少なくとも平均ではビットレートの増加は必要でない。
【0201】
Iフレーム又はPフレームからの画像の繰り返しを強制するために使用される空フレームは、インターレース打消型のものとすることができ、かくして、これら画像に対するインターレースアーチファクトを低減する。しかしながら、斯様な低減はBフレームからの画像に対しては容易に可能ではない。何故なら、繰り返しが空フレームによって強制されるのではなく、Bフレームデータ自体の繰り返しによるからである。従って、これらBフレームは元のインターレース効果を有するであろう。インターレース打消がIフレーム及びPフレームに対して使用されたとしたら、これは非常にぎこちなく見える。何故なら、インターレース効果を伴う及び伴わない画像が、表示される画像のストリームに順に現れるからである。現在のところ、スロー順送りストリームを構築するにはインターレース打消を伴わない空フレームのみを使用する方がよいと信じられる。
【0202】
Iフレーム及びPフレームの繰り返しは、伝送ストリーム内に、元のIフレーム又はPフレームの後に空のPフレームを挿入することにより実行することができる。このような方法は、空のPフレームにより後続されたIフレームを有する高速順送り/逆送りストリームに対して使用することができる。しかしながら、この方法は、Bストリームを伴う記憶された伝送ストリームから構築されるスロー順送りストリームの場合におけるように、Bフレームも含むストリームに対しては絶対的に正しいものではない。伝送データから表示ストリームへの再配列により、Iフレーム及びPフレームが誤った位置で繰り返され、これによりフレームの通常の表示順序を妨げるであろう。これが、図30及び図31に示されている。
【0203】
図30は、通常プレイにおける再配列の効果を示している。図30は、伝送順序3000及び表示順序3001を示している。特に、図30は通常プレイにおける再配列の効果を示している。上側のラインは、Iフレーム2703、Pフレーム2705及びBフレーム2704を有する12フレームのGOPサイズの通常プレイ伝送(transition)ストリームを示す。明瞭化のために、次の伝送GOPの最初の4つのフレームも示されている。図30の下側のラインは、表示順序への再配列後のストリーム3001を示している。インデックスは表示フレーム順序を示している。MPEG2規格ISO/IEC13818-2:1995(E)(特に、第24及び25頁参照)によれば、再配列は下記のように実行することができる:
− Bフレームは元の位置を維持する;
− アンカフレーム(即ち、Iフレーム及びPフレーム)は次のアンカフレームの位置にシフトされる。
【0204】
図31は、スロー順送りモードにおける再配列の効果を示す。特に、図31は、伝送順序3100、再配列後の順序3101及び表示される画像の順序3102を示す。通常プレイストリームから構築されるスロー順送りストリームをより詳細に調べると、図31の一番上のラインは、この場合のスローモーションストリームの最初の部分の伝送順序3100を示し、3なるスローモーション係数を仮定している。空のPフレームをIフレーム及びPフレームの後に挿入することができ、Bフレームは繰り返すことができる。図31の真ん中のラインは再配列の効果を示している。図31の一番下のラインは、この場合に、空のPフレームによりIフレーム及びPフレームがどの様に繰り返されるかを示している。空のPフレームは、前のアンカフレームからの結果の画像のコピーであるような表示画像となり、該前のアンカフレーム自体も空のPフレームであり得る。図31では、インデックスにより示される通常表示順序3102が、フレームI4の表示が2つの部分に分割される故に妨害されることがわかる。最後のフレームI4だけが正しい位置に表示される。これは、Bフレームが誤って復号され得ることも意味する。
【0205】
以下においては、上記のような欠陥を如何にして補正するかの幾つかのオプションを説明する。1つの可能性が図32に示される。図32はアンカフレームの前に空のPフレームを挿入するものを示す。図32における3つの行は、図31における3つのラインと同様である。図32において、一番上のライン3100に示すように、空のPフレームは、記憶装置から抽出された伝送ストリームにおけるアンカフレームの前に挿入される。再配列されたストリーム3101では、空のPフレームはアンカフレームの後に配置される。これは、図32の表示画像3102から明らかなように、アンカフレームの正しい繰り返しのためにあるべき位置である。
【0206】
しかしながら、空のPフレームを回避することが何故適切であり得るかの意見が存在する。1つは、GOP内でのエラーの増殖に関するものである。Pフレームは前のアンカフレームに依存し、Bフレームは周りのアンカフレームに依存する。セットトップボックスへの伝送の間のデータエラーは符号化エラーとなり、従って画像における乱れとなる。このエラーがアンカフレームであると、該エラーはGOPの終わりまで伝搬する。何故なら、後続のPフレームは、このアンカフレームに依存するからである。また、Bフレームの影響を受ける。何故なら、これらBフレームは、復号のために、妨害された周囲のアンカフレームからの画像を使用するからである。これは、画像の乱れがGOPの終わりに向かって徐々に増加するという結果を有し得る。これは、GOPサイズが非常に大きく、従って時間的に非常に長くなり得るようなスロー順送りの場合に特に重要であり得る。一方、Bフレームにおけるデータエラーは非常に限られた影響しか有さない。何故なら、Bフレームには他のフレームは依存しないからである。従って、画像の乱れは当該Bフレーム及びその繰り返しに限られる。デジタルインターフェースではデータエラーは生ぜず、空のPフレームの使用を回避することには第2の利点が存在し得るとの意見があり得る。もし、これらがインターレース打消型のものである場合、これらは当然復号された画像においても変化し、結果として後続のフレームにとっても復号エラーとなる。従って、インターレース打消は不可能であろう。
【0207】
空フレームの構築を考えると、幾つかのタイプの空Bフレームを構築することができる。これらは、付加的なエラー増殖が生ぜず、インターレース打消を使用することができるという利点を有し得る。
【0208】
可能性のあるタイプの空Bフレームは、順方向予測空Bフレーム(Bfフレームと称する)及び逆方向予測空Bフレーム(Bbフレームと称する)である。
【0209】
Bフレームは、通常、双方向予測的であるが、単方向予測Bフレームも存在し得る。後者の場合、これら単方向予測Bフレームは順方向予測的又は逆方向予測的であり得る。順方向予測的とは、符号化の間においてアンカフレームが後続のBフレームを予測するために使用されることを意味する。従って、順方向予測Bフレームからの結果としての画像は、復号の間に前のアンカフレームから再構築される。これは、Bfフレームが前のアンカフレームの繰り返しを強制することを意味する。従って、これは、空Pフレーム又はPeフレームと同一の効果を有する。Bbフレームは反対の効果を有する。該フレームは、自身に後続するアンカフレームの表示を強制する。両タイプのBフレームに対して、インターレース打消バージョンも可能である。
【0210】
以下においては、このような空Bフレームを、スロー順送りストリームの構築のためにどの様に使用するかを説明する。
【0211】
Bbフレームに基づく第1の可能性が図33に示されている。
【0212】
Bbフレームは、アンカフレームの前に挿入され、再配列の間において自身の位置を維持する。アンカフレームは、次のアンカフレームの位置にシフトされる。該Bbフレームは、再配列されたストリームにおいて自身に後続するアンカフレームの表示を強制する。
【0213】
他のオプションは、図34に示されるように、Bfフレームの使用である。
【0214】
Bfフレームは、伝送ストリームにおけるアンカフレームの後に挿入される。再配列されたストリームにおけるアンカフレームの繰り返し表示が、斯かるアンカフレームに後続するBfフレームにより強制される。
【0215】
Bfフレームの使用は、高速順送り及び高速逆送りストリームの構築のための空Pフレームの使用に類似している。事実、その場合にはBfフレームの使用も可能であり、かくして、トリックプレイの発生を更に一層共通化させる。しかしながら、Bfフレームが高速順送り及び高速逆送りのために使用される場合、再配列の効果が考慮されねばならない。これは、PTS/DTS及び時間基準等の高速順送り/逆送りストリームにおける幾つかのパラメータが適切に選択されなければならないことを意味する。
【0216】
次に、個々のフレームの接着を説明する。
【0217】
特に、不完全な画像開始コードの場合におけるフレームの接着を説明する。スロー順送りストリーム内の連結点における所要の接着動作を決定するためには、先ず、元のストリームが何処で個々のフレームに明確に分割されるが明らかでなければならない。以下においては、GOP当たり又はフレーム当たり1個のPESパケットの実際的状況を考察する。
【0218】
フレーム当たり1つのPESパケットの場合、元のストリームは図35に示されるように、PLUSIを伴うパケットと先行するパケットとの間で分割することができる。
【0219】
図35には、フレーム当たり1つのPESパケットの場合のストリームの分割が示されている。図35に示されるデータストリームは、平文パケットヘッダ3500、アダプテーションフィールド3501、平文データ3502、暗号化されたデータ3503及び平文PESヘッダ3504を含んでいる。更に、PLUSIプレゼントは符号3505により示され、PESヘッダは符号3506により示される。
【0220】
個々のフレームは、複数の完全な元のパケットを有する。従って、パケットの分割は必要ではない。このフレーム分割は完全に暗号化されたストリームにおいても実行することができるが、スロー順送りストリームの構築には何らかの平文データへのアクセスが依然として必要である。PLUSIを伴うパケットの開始部における分割は、2つのパケットにわたって広げられた画像開始コードは存在しないことも意味する。個々のフレームは、自身の正しく且つ完全な画像開始コードを含む。従って、この場合は、接着動作は必要ではない。
【0221】
しかしながら、GOP当たり1つのPESパケットの場合、状況は異なる。PESヘッダが先行しない限り、フレーム間の分割は新たなフレームの画像開始コードにおいてなされる。
【0222】
分割点を決定するために下記のアルゴリズムを使用することができる:
1.元のストリームは、PLUSIビット組、画像開始コード及び画像コーティング拡張部を伴うパケットに関して同時に調査される;
2.PLUSIビット組を伴うパケットが最初に遭遇された場合は、このパケットの開始部で分割がなされる(画像開始コード3600及び画像コーティング拡張部3601を含み、図36を参照されたい)。次いで、当該ストリームは、画像コーティング拡張部をサーチされる。これが見つかった後、当該サーチはポイント1で説明したように継続される;
3.画像開始コードが最初に遭遇された場合は、分割は該画像開始コードの開始部においてなされる。多くの場合、これは、当該画像開始コードを含むパケットは2つのパケットに分割されねばならず、これらのうちの最初のものは前のフレームに割り当てられ、第2のものは後続のフレームに割り当てられることを意味する(画像開始コード3600の開始部におけるストリームの分割を示す図37を参照されたい。この場合、アダプテーションフィールドの挿入箇所は符号3700で示されている)。両パケットはアダプテーションフィールド3700により詰められる。この場合、第2のパケットのペイロードは画像開始コード3600で開始する。元のパケットの記録タイムスタンプは、当該分割の結果としての2つのパケットの各々にコピーされる。2つのフレームの連結点において分割からの2つのパケットが使用されるか又は元のパケットが使用されるかは、後述するように特定の状況に依存する。次いで、当該ストリームは画像コーティング拡張部をサーチされる。これを見つけた後、当該サーチはポイント1で説明したように継続される;
4.画像コーティング拡張部が最初に遭遇された場合、画像開始コードは検出不可能に違いない。何故なら、これは部分的に暗号化されているからである。これは、現平文領域が画像開始コードの幾つかのバイトで開始することを意味する。この場合、分割は現平文領域の最初の平文パケットの開始部でなされる(画像開始コード3600内での当該ストリームの分割を示す図38を参照されたい。該図は画像開始コードのバイト3800及び画像コーティング拡張部3601も示す)。ポイント1で説明したサーチは、画像コーティング拡張部3601を見つけた後に継続される。
【0223】
上述したアルゴリズムの結果、フレーム当たり1つのPESパケットを持つストリームに関する正しい分割点も得られるであろう。更に、該アルゴリズムは、平文ストリーム及び前述したハイブリッドストリームに対する適用のためにも設計されている。
【0224】
接着は、前記アルゴリズムのポイント4からのみ生じ得るような不完全な画像開始コードの場合においてのみ必要である。従って、ポイント4のみが、非理想的な分割点となる。平文ストリームは理想的な分割点のみを有する。何故なら、画像開始コードが常に見つかるからである。従って、この場合、接着は必要でない。しかしながら、ハイブリッドストリームは非理想的な分割点を含むであろう。以下に述べる方法は、当該画像開始コードのうちのどれだけ多くのバイトが非理想的分割点の何れの側にあるかを決定するために使用することができる。非理想的分割点の効果は、後に詳細に説明する。
【0225】
次に、何れかのタイプの空Pフレームが斯様な非理想的分割点に挿入されるような状況を考察する。最初の空のフレームを如何に扱うかを以下に説明する。分割点の後の画像開始コードの部分に等しい複数のバイトが、最初の空フレームの画像開始コードから削除される。中間の空フレームは変更されない。最後の空フレームは、後続のフレームの画像開始コードの欠けている部分のために補正されなければならない。従って、この欠けている部分は最後の空フレームの終了部に追加することができる。理想的分割点で挿入された空フレームに対し変更は必要ない。
【0226】
以下においては、Bフレームの繰り返しを考察する。Bフレームが両側に理想的分割点を有する場合、繰り返しのために如何なる接着動作も必要でない。しかしながら、当該フレームの何れかの側に非理想的分割点が存在すると、接着動作が必要となるか又は有利となり得る。元のフレーム及びその繰り返しが、同一のBフレームの系列を形成する。該系列の開始部及び終了部では接着動作は必要でない。何故なら、ここでは、フレームは通常プレイストリームにおけるように同じフレームに接続されるか、又は空フレームに接続されるかの何れかであるからである。最初の場合では、不連続部は存在しない。何故なら、当該データの通常の順序が、この位置で回復されるからである。2番目の場合に対する解決策は、先に示した。従って、Bフレームの終了部が同じBフレームの開始部に接続されるような中間の連結点のみが考察されねばならない。ここで述べる例は、図29を参照して前述した例であり、明瞭化のために図39において一層詳細に繰り返し説明する。
【0227】
図39は、連結点における不完全な画像開始コードを示す。
【0228】
正しい接着のためには、Bフレームの終了部及び開始部における画像開始コード(MPEG2内では、開始コードは長さが4バイトであり得る)のバイト数を知る必要がある。終了部におけるバイト数をnにより、開始部におけるバイト数をmにより表すと、理想的分割の場合、n=0及びm=4である。非理想的分割点の場合、或るフレームに対する数n及び後続のフレームに対する数mは、以下に示すような方法により決定することができる。
【0229】
nは決して4に等しくはならないことは明である。何故なら、その場合、分割は画像開始コードの開始点においてなされたことになり、結果としてn=0となるからである。一方、mは決して0ではあり得ない。何故なら、その場合、画像開始コードは完全に前のフレーム内となり、分割は理想的位置でなされたことになり、かくして、m=4となるからである。従って、0≦n≦3及び1≦m≦4が通常の状況である。
【0230】
或る同一のフレームNに対して数n及びmを得るために、これら数は、当該フレームの周囲の2つの分割点の情報から抽出されねばならない。かくして、n及びmは、繰り返されるべきBフレームの終了部及び開始部における画像開始コードのバイト数を表す。結果として、これらは、中間の連結点の前及び後の画像開始コードの複数のバイトも表すことになる。
【0231】
次に、n+m=4と仮定する。これは、当該Bフレームを囲む両分割点が理想的である場合である。しかし、その場合には接着動作が必要とされないことが既に分かっている。しかしながら、これは両分割点が非理想的である場合でもあり得る。これは、図40に示された状況である。
【0232】
図40は、従って、n+m=4なる例を示している。
【0233】
フレームNの最後のパケットが符号4000で示され、図40は、更に、符号4001により示されたフレームNの最初のパケットも示す。境界4002では、接着動作は必要ではない。画像開始コードのバイト(n=3)が符号4003により示され、画像開始コードのバイト(m=1)が符号4004により示されている。
【0234】
n+m=4なる事実は、正しい量の画像開始コードバイトが連結点に存在し、接着動作は必要ないことを意味する。
【0235】
しかしながら、図41はn+m>4の状況を示している。
【0236】
これは、連結点に1、2又は3バイト過剰に存在することを意味する。この場合、n+m−4に等しい数のバイトが第2フレームの開始部から削除される。これは、これら平文バイトを、詰め込みバイトを含むアダプテーションフィールド(AF)により置換することにより達成される。アダプテーションフィールドが既に存在する場合、その長さがm+n−4だけ増加されねばならず、破棄されるべきデータは、規格によれば16進数のFFを有する詰めバイトにより置換される。
【0237】
n+m>4及びn<3なる特別なケースでは、接着を行わないことも可能である。実効的に、基本ストリーム詰め込みを得る。
【0238】
接着動作が必要な箇所は、符号4100により示される。本例において、画像開始コードのバイト(n=2)は符号4101により示されている。画像開始コードのバイト(m=3)は符号4102により示されている。更に、画像開始コードのバイト(n=2)は符号4103により示され、画像開始コードのバイト(m=2)は符号4104により示されている。アダプテーションフィールドを用いて置換されたバイトの位置は、符号4105により示されている。
【0239】
図42を参照すると、n+m<4と仮定されている。
【0240】
これは、連結点における画像開始コードから1、2又は3バイトが不足していることを意味する。この場合、何のバイト又は複数のバイトがないかを知る必要がある。n及びmは両方ともわかるので、不足しているバイトは固有に識別することができる。かくして、不足バイトは新たなパケットに配置され、該パケットは更にアダプテーションフィールドにより詰められる。この接着パケットは、次いで、上記2つのフレームの間に配置される。この接着パケットは、符号4200により示されている。符号4201は画像開始コードのバイト(n=2)を示し、符号4202は画像開始コードのバイト(m=1)を示す。また、符号4204は挿入されたバイト(4−n−m)を示す。また、符号4205は画像開始コードのバイト(m=1)を示す。
【0241】
以下においては、タイムスタンプを用いたフレーム及びパケットの位置決めを説明する。
【0242】
この説明は、各パケットに予め添付された記録タイムスタンプを用いた、フレーム及びパケットのスロー順送りストリームの時間軸上への配置を扱う。説明は、元の通常プレイフレームの配置で開始する。次いで、Bフレームの繰り返し及び圧縮が説明される。続いて、空フレームの配置が説明される。最後に、PCRに関する幾つかの問題が議論される。
【0243】
次に、元の通常プレイフレームの位置決めを説明する。
【0244】
必要なデータが受信される前に復号が開始すると、復号問題が発生し得る。このような可能性のある復号問題は、スロー順送りストリームの場合、フレームデータの終わりから、このフレームのDTSまでの距離がスロー順送りストリーム及び通常プレイストリームに対して同一であるなら回避することができる。これは、対応するDTSの当該フレームデータの開始における距離を通常プレイストリームと同一に維持すると共に、このフレームのパケットを元の通常プレイストリームからのと同一のパケット距離で配置することにより達成することができる。
【0245】
この状況が、DTSまでの変更されない距離を示す図43に示されている。DTSまでの距離は、図43に示されるよりも大幅に大きくすることができる。
【0246】
図43は、符号4300で示された通常プレイにおける状況を示すと共に、符号4301で示されたスロー順送りにおける状況を示している。
【0247】
フレームデータの開始時点は、このフレームの開始におけるシステムタイムカウンタの値により与えられる。これは、事実上のPCR値PCRSにより示される。上付文字N及びSは、記録された通常プレイストリームにおける元の値及びスロー順送りストリームにおける新たな値を、各々、示す。この場合、フレームの開始に対する配置規則は、
DTSS−PCRSS=DTSN−PCRSN (5)
により与えられ、これは、
DTSS−DTSN=PCRSS−PCRSN (6)
に書き換えることができる。
【0248】
通常プレイストリームにおけるフレームの元の位置に対するスロー順送りストリームにおける該フレームのオフセット(offset)は、
offset=PCRSS−PCRSN (7)
により与えられ、これは、
offset=DTSS−DTSN (8)
に変形することができる。
【0249】
必要とされるDTS値は、各スロー順送りフレームに対して、及び、必要なら、GOP内のDTSを持たない通常プレイフレームに対しても計算することができる。通常プレイストリームにおける及びスロー順送りストリームにおける全ての元のフレームのDTSが利用可能となるので、これらフレームのオフセットを、それらの新たな及び元のDTS値の間の差として計算することができる。次いで、このオフセットは、当該フレームを配置すると共に、このフレームのデータ内に存在するPCRSのPCR値を補正するために使用される。後者は容易である。即ち、オフセットが元のPCR値に単に加算される。PCR拡張部は変更されない。これは、DTSとPCRとの間にドリフトが生じないことを保証する。何故なら、当該補正が両ケースとも上記オフセットに等しいからである。この場合、新たな及び元のPCRベース(base)値の間の関係は、
PCRbaseS=PCRbaseN+offset (9)
により与えられる。
【0250】
フレームの位置決めは、もっと幾らか困難である。位置決めは、全パケットに予め添付された4バイトの記録タイムスタンプ(TST)の補正により達成される。この目的のために、前記オフセットは90kHz基準から27MHz基準に再計算することができる。素直な選択は、上記オフセットを300により乗算することであろう。しかしながら、この場合、通常プレイからスロー順送りに切り換える場合のPCRクロック周波数の可能性のあるジャンプが考慮されねばならない。このようなジャンプは、そうあるべきように、タイムスタンプカウンタのクロックが記録の間にPCRにロックされていたなら、決して発生しない。しかしながら、何らかの理由でタイムスタンプがPCRにロックされていない場合、ジャンプするPCRクロック周波数は、それでも、追加の乗算係数Mを使用することにより回避することができる。この場合、この係数は、記録された通常プレイストリームにおけるPCRを含む最新の2つのパケットのタイムスタンプ及びPCR値の比に等しい。最新のとは、現フレームの開始前の最後の2つのPCRパケットを意味する。この比は、ロックされたタイムスタンプの理想的な場合、1に等しくなる。これらの少なくとも2つのPCRパケットをP(k−1)及びPkにより示すと、当該フレームの全パケットのタイムスタンプに関するオフセットは、
TSToffset=300xoffsetxM (10)
により与えられ、ここで、
M=(TSTN{Pk}−TSTN{P(k-1)})/(PCRN{Pk}−PCRN{P(k-1)}) (11)
である。
【0251】
この式におけるPCR値は、事実、27MHzクロックに基づく全PCR値となる。これは、PCRベース及び拡張から下記の方法で計算することができる:
PCR=300xPCRbase+PCRext (12)
【0252】
パケットP(k−1)とPkとの間でTST又はPCR値に折り返し(wrap)が存在するとMの計算に変な結果生じ得ることは明らかである。これは、簡単に回避することができる。パケットPkに対する値がパケットP(k−1)に対するより小さい場合、TST又はPCRの範囲に対応する値が、この減算に先立ちパケットPkに対する値に加算されねばならない。これは、TST又はPCRに対するレジスタは通常必要とされるよりも1ビット広くなければならないことを意味する。TSTに対しては、これは、この条件が生じた場合には上記追加ビットが1に設定され、それ以外ではゼロに設定されることも意味する。残りのビットは、常に、元のTSTビットに等しい。
【0253】
計算されたTSTオフセットは、このフレームの全パケットのタイムスタンプを補正するために使用される。これは、オフセット値が、記録されたタイムスタンプに加算されることを意味する。
【0254】
以下においては、Bフレームの繰り返しを説明する。
【0255】
Bフレームからの結果の表示画像の繰り返しは、Bフレームデータの繰り返しにより実施される。この結果、スロー順送りストリーム内に同一のBフレームの系列が得られる。この系列の最初のフレームの配置は、元の通常プレイフレームの位置決めを扱う場合におけるのと類似する。残りのフレームは、反復Bフレームと呼ばれる。これらは、最初のフレームと同様に処理することができ、これは、オフセットがスロー順送りストリーム及び元の記録されたストリームにおけるDTS値の間の差として計算されることを意味する。記録されたフレームのDTSは、同一のBフレームの全系列に対して同一である。スロー順送りストリームにおいては、或るフレームのDTSは、デルタにより増加された前のフレームのDTSと常に等しくなる。これは、反復BフレームBRのオフセットも、下記の式により計算することができ、該式においてBLは前のBフレームを示す:
offset{BR}=offset{BL}+Delta (13)
【0256】
次いで、上記オフセットは、先に説明した態様で、特定のBRフレームのパケットの(変換後の)タイムスタンプ及び恐らくは現在のPCRを補正するために使用される。
【0257】
図44は、同一のBフレームの系列の境界における等しいオフセットを示す。該状況は通常プレイに対して(符号4400)及びスロー順送りに対して(符号4401)示されている。
【0258】
当該連結点に空フレームが挿入されないなら、或る系列の最初のBフレームのオフセットは、スロー順送りストリームにおける前のフレームのオフセットと等しいことを示すことができる。2つの状況が、この要件を満たす。最初のものは、空フレームの事前挿入の場合にBフレームが前のアンカフレームと連結される場合である。第2のものは、Bフレームが前のBフレームと連結される場合である。図44は、2つのBフレームの連結に関する効果を示している。同一のことが、事実、系列の終了部にも当てはまる。また、ここでは、連結点の周りの2つのフレームのオフセットは、この点に空フレームが挿入されないなら同一となる。図44も、これを2つの連結されたBフレームに関して示している。他の状況は、Bフレームの後挿入が用いられる場合の、Bフレームの後続のアンカフレームへの連結である。
【0259】
これは、斯様な連結点の周りの2つのフレームが、通常プレイストリームにおけるのと同じ態様で接続されることを意味する。このような理由により、斯様な連結点においては、元のパケットが常に使用され、当該パケットが2つのフレームからの情報を含む場合における分割の結果としての2つのパケットは決して使用されない。また、(既に前述したように)斯様な点では接着が必要でないことも明らかである。全ての他の連結点では、もし存在するなら、分割からの2つのパケットが使用される。
【0260】
以下においては、Bフレームの時間圧縮を説明する。 Bフレームの持続時間が通常は1フレーム時間よりも小さいことが予測され得る。平均では、これは真であるが、時にはBフレームの伝送時間は1フレーム時間よりも大きくなり得る。大凡30秒の期間での測定において、1.4フレーム時間のBフレームが検出された。この測定が図45に示されている。平均のBフレームデータ長は0.6フレームに等しいが、規則的に、Bフレームデータの持続時間は1フレーム時間より大きくなる。
【0261】
図45は、時間が秒でプロットされた横軸を持つグラフ4500を示す。該グラフ4500の縦軸4502に沿って、フレームの長さがフレーム時間の数でプロットされている。
【0262】
Bフレームのパケットの、これらのタイムスタンプのTSTオフセットでの補正による位置決めは、Bフレームの持続時間が1フレーム時間より短い限り、正しい結果となる。しかしながら、スロー順送りストリームにおけるBフレームが1フレーム時間より大きい場合、該フレームの終了部が後続のフレームと重なる。何故なら、これらフレームの開始部は1フレーム時間の差で配置されるからである。これは、完全には正しくない。何故なら、最後の反復Bフレームは後続のフレームとは決して重ならないからである。1フレーム時間より大きなBフレームに関する状況を図46で明確にする。図46は、Bフレームが1フレーム時間より大きな場合のデータの重なりを示す。
【0263】
図46は、通常プレイの状況4600、圧縮無しのスロー順送りの状況4601及び圧縮を伴うスロー順送りの状況4602を示す。フレーム時間は、符号4603により示される。Bフレームは符号4604を有し、次のフレームは符号4605を有し、前のフレームは符号4606を有し、圧縮されたBフレームは符号4607により示されている。更に、隣接するフレームの間の重なりは符号4608により示されている。
【0264】
前及び次のフレームのタイプは、上述した効果には何の影響も有さない。従って、これらはアンカフレーム、Bフレーム又は空フレームとさえすることもできる。
【0265】
これは、同一のBフレームの系列のうちの最後を除く全Bフレームは、時間的に圧縮されねばならないことを意味する。この圧縮は、局部的ビットレートを、全通常プレイストリームの概ね最大ビットレートのレベルまでさえ増加させ得る。この増加を可能な限り制限するために、Bフレームのパケットは利用可能なフレーム時間にわたり均等に分散される。Bフレームの最初のパケットのタイムスタンプは、先に示したオフセット規則で計算される。BフレームのパケットがPjにより示される場合(インデックスjは当該Bフレーム内のパケット番号である)、スロー順送りストリームにおける圧縮されたBフレームの最初のパケットのタイムスタンプは:
TSTS{P1}=TSTN{P1}+TSToffset (14)
により与えられる。
【0266】
当該フレームの後続するパケットに対するタイムスタンプの増加は、1フレーム時間を該フレームのパケット総数により除算したものに対応する値に等しい。接着パケット及びPCRパケット等のBフレームの終了部における追加のパケットは、この数に含まれなければならない。このパケットの数をNbにより示し、圧縮されたBフレームのパケットの間の距離をdbにより示すと、この距離は:
db=300xDelta/Nb (15)
により与えられる。
【0267】
スロー順送りストリーム及び圧縮されたBフレームの残りのパケットのタイムスタンプは、この場合:
TSTS{Pj}=TSTS{P(j-1)}+db (16)
により与えられる。
【0268】
非理想的な場合、上記距離の計算のための乗算係数300は、圧縮されたBフレームの最後のパケットと後続のフレームの最初のパケットとの間のパケット距離の問題となり得る。これは、上記係数300をとらず、代わりに上記デルタをオフセットに関して説明したのと同じ方法で変換することにより解決することができる。しかしながら、実用的な解決策は、パケットの実際の数より1だけ大きいNbの値をとることである。図47は、不規則なパケット距離及び1フレーム時間より大きな持続時間を持つBフレームが、如何にして、1フレーム時間の持続時間及び一定のパケット距離を持つBフレームに圧縮されるかを示す。1フレーム時間は、タイムスタンプの300xDeltaの増加に対応する。Nbがパケットの実際の数より1だけ大きくなるように選択される事実の結果、圧縮されたBフレームの終了部に幾らかの空きスペースが得られる。
【0269】
従って、図47は均一に分布されたパケットを持つBフレームの圧縮を示す。
【0270】
図47は、圧縮されていない状態4700及び圧縮された状態4701を示すと共に、Bフレーム4702及び1フレーム時間内に圧縮されたBフレーム4703を示す。
【0271】
Bフレームに対する等しいパケット分布の方法を、圧縮が必要とされる場合のみでなく全ての場合に使用することができる。しかしながら、殆どの場合では、これはBフレームが伸張されることを意味する。Bフレームの最初のパケットに対するTSTオフセットの適用は、このパケットのDTSまでの距離が通常プレイストリームに等しいことを意味する。この場合、伸張の結果、当該Bフレームデータの終了部と対応するDTSとの間において元のものより時間距離が小さくなる。しかしながら、フレームのDTSは当該フレームデータの開始の1フレーム時間よりは決して早くなり得ないことを理解することができる。その理由は下記の通りである。元のストリーム及びフレームのDTSは、定義により、前のフレームのDTSより常に1フレーム時間遅い。この前のフレームのDTSは、このフレームのデータの終了より決して早いことはあり得ず、従って現フレームのデータの開始よりも決して前ではない。これは、任意のフレームのDTSは、このフレームのデータの開始より少なくとも1フレーム時間遅いことを意味する。これは、フレームデータが1フレーム時間内に均一に分布されていても、常に該フレームデータの終了より後であることも意味する。従って、説明した等しいパケット分布は、最後の反復Bフレームを除く全てのBフレームに適用されるべきである。簡略化のために、圧縮され及び伸張されたフレームは圧縮されたフレームと称することができる。
【0272】
接着は、Bフレームの等しい系列におけるBフレームの間においてのみ必要である。従って、可能性のある追加の接着パケットは、圧縮されたBフレームの終わりにのみ追加され、それ以外では決して追加されない。付加的PCRパケットは、最後の反復Bフレームの終わりを除き、Bフレームの終わりに追加される。何故なら、この点には空きがないからである。これは、付加的PCRは圧縮されたBフレームの終了部においてのみ追加されることも意味する。従って、これらのパケットに対しては特別な配置アルゴリズムは必要ではない。何故なら、これらは全て圧縮アルゴリズムに含まれるからである。
【0273】
Bフレームの圧縮の結果は、フレームデータ内のPCRの値の補正は、最早、斯様なBフレームにとり正しくないということである。この場合において該PCR値が如何にして補正されるか、及び圧縮されたBフレームの終了部に追加されるPCRの値が如何にして計算されるかを、以下に説明する。次いで、空フレームの挿入が説明される。
【0274】
挿入される空フレームが何処に配置されるかを決定しなければならない。スロー順送りストリームにおける他のフレームの位置を考察すると、特に大きなスローモーション係数の場合は、主な時間間隙は空フレームが挿入されるべき箇所に存在することが明らかである。過度のPCR距離による問題を避けるために、空フレームは、この領域内に分散されねばならず、且つ、各空フレームはPCRを含まなければならない。このような理由により、連続する空フレームの間の距離は、1フレーム時間となるように選定される。最初の空フレームは、前のフレームに直接連結される。これが、図48に示される。
【0275】
図48は、空フレームの配置を示し、前のフレーム4800、空フレーム4801、フレーム時間4802後の更なる空フレーム4801が配置される等々のシーケンスを示している。次のフレームは符号4803により示されている。
【0276】
配置アルゴリズムは、空フレームの事前若しくは事後挿入又はタイプには無関係である。しかしながら、空フレームの最初のパケットの配置と、残りのパケットの配置との間は区別されるべきである。
【0277】
以下においては、空フレームの最初のパケットの配置を説明する。
【0278】
図49から分かるように、ここでは、空フレームの最初のパケットの位置決めを説明する。前のフレーム4900には、複数の空フレーム4901、4902、4903等々が後続する。空フレームの最初のパケットはFPiにより示され、ここで、iは空フレームのシーケンス内での当該空フレームのフレーム番号である。
【0279】
最初の空フレームの最初のパケットであるFP1の配置で開始すると、このパケットのタイムスタンプを導出する幾つかのオプションが存在する。その1つは、先行するフレームの最後のパケットのスロー順送りタイムスタンプに値dを加算することである。この最後のパケットをPLとして示すと、最初の空フレームの最初のパケットのタイムスタンプは、
TSTS{FP1}=TSTS{PL}+d (17)
により与えられる。
【0280】
上記dなる値も、幾つかの方法で選択することができる。或る可能性は、先行するフレームの最後の2つのパケットのタイムスタンプの間の差を、dのための値として使用することである。この場合、これらタイムスタンプは、スロー順送りストリームから又は元の記録されたストリームからの何れかから取り出すことができる。何故なら、圧縮されたフレームは、いずれにせよ、空フレームに決して先行することはないからである。前のフレームの最後の2つのパケットをP(L-1)及びPLにより示すと、dの値は、
d=TST{PL}−TST{P(L-1)} (18)
により与えられる。
【0281】
dの計算のためのタイムスタンプがスロー順送りストリームから取り出される場合、FP1の計算のための前記式も:
TSTS{FP1}=2xTSTS{PL}−TSTS{P(L-1)} (19)
と書くことができる。
【0282】
後続の空フレームの最初のパケットのタイムスタンプは、FP1のタイムスタンプに対する1フレーム時間に対応する値の反復的加算により得ることができる。この値は、この場合、300xDeltaとなるように選択することができる。かくして、後続する空フレームの最初のパケットのタイムスタンプは:
TSTS{FPi}=TSTS{FP(i-1)}+300xDelta (20)
により与えられる。
【0283】
以下においては、空フレームの残りのパケットの配置を説明する。
【0284】
空フレームのパケットはPjにより示され、ここで、jは該空フレーム内のパケット番号である。P1は、上記においてFPにより示された空フレームの最初のパケットである。
【0285】
残りのパケットの位置は、空フレームの最初のパケットから導出される。このために、パケット間の距離が決定されねばならない。これは、事実、該距離が短すぎない限り厳しくはない。何故なら、十分な空間が利用可能であるからである。ここでは、2つのオプションを述べる。
【0286】
第1のオプションは、先に述べたdなる値をここでも使用することである。この場合、この値は、空フレーム内のパケットのタイムスタンプを増加させるために使用される。かくして、これらタイムスタンプは:
TSTS{Pj}=TSTS{P(j-1)}+d (21)
により与えられる。
【0287】
これが図50に示され、該図は前のフレーム5000、第1の空フレーム5001及び第2の空フレーム5002のシーケンスを示している。従って、図50は、前のフレームに基づく空フレームのパケット距離を示す。
【0288】
第2のオプションは、空フレームのパケットを1フレーム時間にわたり均一に分散させることである。この場合、増分は、当該空フレームのパケット数により除算された1フレーム時間に対応する値に等しい。このパケット数をNeにより、パケット間の距離をdeにより各々示すと、該距離は:
de=300xDelta/Ne (22)
により与えられる。
【0289】
この場合、空フレーム内のパケットのタイムスタンプは:
TSTS{Pj}=TSTS{P(j-1)}+de (23)
により与えられる。
【0290】
この状況が図51にも示され、該図は前のフレーム5000が第1の空フレーム5001及び第2の空フレーム5002により後続されるのを再び示している。
【0291】
従って、図51は1フレーム時間にわたり均一に分散された空フレームのパケットを示す。
【0292】
次に、PCRに関する幾つかの態様を説明する。
【0293】
先ず、スロー順送りストリームには追加のPCRは挿入されないと仮定することができる。Iフレームは通常は1フレーム時間より大幅に大きいので、該フレームがPCRを含むことは非常にありそうなことである。Pフレームの場合、確率は早くも低減される。Bフレームは殆どの場合1フレーム時間より小さいので、多くのBフレームはPCRを含まないであろう。これは、Bフレームが繰り返されたとしても、スロー順送りストリームではPCRの大きなギャップが生じるであろうことを意味する。一般的に、PCR間の最大距離は、スローモーション係数により増加されると言うことができる。これは、明らかに、スロー順送りストリームへの追加のPCRの挿入を必要とする。
【0294】
フレームデータに埋め込まれた元のPCRとは別に、付加的PCRが空フレーム及びBフレームの終わりに追加されねばならない。後者は最後の反復Bフレームの終わりを除いて成り立つ。何故なら、この点には空きはないからである。これら対策によっても、上記最大距離が、問題となるレベルまでではないが、依然としてDVB規格の要件を超過する可能性がある。一般的に、当該状況は高速順送り/高速逆送りに対するよりは有利である。
【0295】
フレームに埋め込まれたPCRの補正は、少なくとも圧縮無しのフレームに関しては先に説明した。何らかの他の方法が、空フレームにおける及びBフレームの終わりにおける付加的PCRのPCR値を計算するために並びに圧縮されたBフレーム内のPCRのために有利である。第1のオプションは下記の規則である。即ち、PCR値は、スロー順送りストリームにおける前のPCRの、これらPCRを含む2つのパケットの実際のスロー順送りタイムスタンプの間の差で補正された値に等しい。現PCR及び前のPCRを含むパケットを、各々、Pc及びP(c-1)により表すと、スロー順送りストリームにおける現PCRは:
PCRS{Pc}=PCRS{P(c-1)}+TSTS{Pc}−TSTS{P(c-1)} (24)
により与えられる。
【0296】
ここでも、PCRはベース及び拡張部から計算された全PCR値を指す。この式は、理想的な場合は完全であるが、非理想的な場合は周波数変動、従ってかなりのPCRジッタにつながる。これは、先に計算された補正係数Mを適用することにより防止される。現PCRは:
PCRS{Pc}=PCRS{P(c-1)}+(TSTS{Pc}−TSTS{P(c-1)})/M (25)
により与えられた。
【0297】
当該パケットに挿入されるべきPCRのベース及び拡張部はPCR値から下記のようにして計算される:
PCRbase=int(PCR/300) (26)
PCRext =PCR−300xPCRbase (27)
【0298】
事実、式(26)及び(27)は全てのPCR値を調整するために使用され得るので、圧縮されていない元のフレームに埋め込まれたPCRのものも含む。しかしながら、前記補正係数による計算は丸め誤差につながり得、これら誤差は蓄積し得るので、DTSに対してPCRタイムベースのゆっくりしたドリフトが生じ得る。従って、このドリフトをゼロにリセットするために、圧縮されていないフレームに埋め込まれたPCRの補正が、先に説明したようにオフセット値の加算により実行されねばならない。
【0299】
以下においては、ハイブリッドストリームが何処で作成され得るかを説明する。
【0300】
ここで述べるハイブリッドストリームは幾つかの場所で作成することができる。これらは、事実、平文Iフレームを持つストリームに対して可能なのと同一の場所である:
1.衛星放送の場合における放送機又はアップリンクにおいて;
2.ケーブルネットワークの場合におけるケーブルヘッドエンドにおいて;
3.安全な認可ドメインの場合における住宅用ゲートウェイにおいて;
4.記憶装置の記録側において。
しかしながら、僅かな平文パケットしか伴わないストリームの場合、第5の場所、即ち:
5.記憶装置の再生側において、
が可能である。
【0301】
図52は、ハイブリッドストリームへの変換にとり可能性のある場所を示す。
【0302】
図52の状況は、放送機5200が衛星アンテナ5201に信号を放送するものである。衛星アンテナ5201は該信号を衛星5202に送信することができ、他の衛星アンテナ5203が、これら信号を受信することができる。次いで、斯かる信号はケーブルヘッドエンド5204に供給することができ、該ケーブルヘッドエンドから記憶装置5205に供給することができる。又は、上記信号は住宅用ゲートウェイ5206に供給することができ、該ゲートウェイから記憶装置5207に供給することができる。他の例として、上記信号は衛星アンテナ5203から記憶装置5208に供給することもできる。図52の位置1〜5において、ハイブリッドストリームへの変換が可能である。
【0303】
位置1及び2は実現するのが困難であろう。何故なら、プロバイダはここには限られた影響しか有さないからである。記憶装置にとっては、ハイブリッドストリームへの変換が位置1、2又は3で実現されるかは、実際に、差はない。オプション3は、良い代替となる。これは、認可されたドメインのための住宅用ゲートウェイにおけるプロバイダの立場を改善し得る。3つの全ての場合において、記憶装置は自身の記録入力端においてハイブリッドストリームを受信する。これは、少なくとも通常プレイ及びトリックプレイの発生のためでないなら、記憶装置に解読及びスマートカードは必要でないことを意味する。しかしながら、キーフレーム等の検出を用いる記憶装置内にメタデータ抽出機能が存在する場合、解読は依然として必要である。
【0304】
ハイブリッドストリームを構築するために非常にありそうな位置は、記憶装置の記録側にあるケース4であろう。これは、記録側における部分的解読を必要とするかも知れないが、トリックプレイの発生のために解読が必要とされないという利点を依然として有している。いずれにせよ、記録されるストリームはハイブリッドストリームであることが好ましい。
【0305】
記録が全パケットが暗号化された状態でなされるケース5においても、安全なトリックプレイを生成することは可能である。完全な解読の代わりに、必要とされるパケットのみを解読し、残りを依然として暗号化されたままにすることも可能である(図53参照)。
【0306】
図53は、完全に暗号化された記録から安全なトリックプレイを発生するものを示している。記録装置5300は、暗号化されたMPEG2データ5301を出力し、後者をブロック選択器ユニット5302に供給する。そこから、データは解読器5303に供給され、該解読器は部分的に暗号化されたMPEG2データ5304を発生する。この部分的に暗号化されたMPEG2データはフレーム選択器5305に供給され、そこから、該データはトリックプレイ発生ユニット5306に供給される。トリックプレイ発生ユニット5306は、MPEG2 DVB準拠のトランスポートストリームの部分的に暗号化されたデータ5307を発生し、該データは次いでMPEG2デコーダ又は解読器5308に供給することができる。
【0307】
しかしながら、これらのパケット及び平文と共に記録することにより可能であるような、前もってCPI(図4参照)を作成する利点は利用することはできない。しかしながら、支配的に暗号化されたトリックプレイストリームを作成することは依然として可能である。当該システム構成は、トリックプレイ構築ユニットが、トランスポートストリームレベルで構築された暗号化されたストリームを発生し、ECMの挿入がオプションではなく必須であるというようなものである。
【0308】
以下においては、平文であるべきパケットを如何にして選択するかを説明する。
【0309】
ハイブリッドストリームが構築される場合、どのパケットが平文でなければならないかが決定されねばならない。必要とされる平文データの検出及び選択を可能にするために、当該ビデオストリームを先ず完全に解読することができる。次いで、このデータの位置が該平文ストリーム内で決定され、該データが位置する平文パケットが元のストリームの暗号化されたパケットを置換してハイブリッドストリームを形成する。
【0310】
選択された平文データに対して、3つの規準を使用することができる:
1.存在するなら、DTS/PTS及びPESヘッダは変更することができる。この目的のために、PESヘッダデータの全てを平文にすることができる。これは、PLUSIビット組を持つものからPESヘッダの最後のバイトを含むものまでの範囲のパケットが全て平文にされることを意味する。
2.シーケンスヘッダ及びシーケンス拡張部からの何らかの情報は必要とされ得る。この目的のために、シーケンスヘッダから画像開始コードまでのデータの全てが平文にされる。シーケンスヘッダ及び画像開始コードは、4バイトコードをチェックすることにより検出される。これらの4バイトは、必ずしも、1つの同一のパケットに位置するとは限らない。シーケンスヘッダ及び画像開始コードは、斯かる4バイトの最後が見つかった場合に検出される。ハイブリッドストリームの構築のための過度のバッファリングを避けるために、シーケンスヘッダの4バイトを含むものから画像開始コードの4バイトを含むものまでの範囲のパケットが全て平文にされる。これは、結果としてのハイブリッドストリームにおいてシーケンスヘッダ及び画像開始コードを検索する場合に、幾つかの変な状況につながり得る。これは後述する。
3.画像開始コードは、フレーム境界を検出するために必要とされる。従って、画像開始コードを含むパケットは平文にされなければならない。画像開始コードに続く2バイトも、平文でなければならない。これらのバイトは、変更される必要があり得る時間基準、及びIフレーム、Pフレーム又はBフレームを識別する画像符号化タイプを含む。更に、幾らかの情報が、画像コード拡張部から必要である。この目的のために、画像開始コードから画像コード拡張部の終わりまでのデータの全てが平文にされる。画像開始コードは、前記4バイトが発見された場合に検出される。過度のバッファリングを避けるために、画像開始コードの4バイトを含むものから画像コード拡張部の最後のバイトを含むものまでの範囲のパケットが全て平文にされる。この結果、全てのフレーム境界上で平文パケットとなり、これは特定のトリックプレイストリームの構築に必要とされるもの以上のものである。しかしながら、これはスローモーション順送りストリームの構築には必要である。
【0311】
過度のバッファリングが何を意味するか、及びこれが何を生じるかの問題に関して、ハイブリッドストリームが構築される場合、元の暗号化されたストリーム及び解読されたストリームからのパケットが1つのストリームに結合されねばならないと言うことができる。リアルタイムに実行される場合、何らかのバッファリングが必要とされ得る。画像開始コードが2つのビデオパケット上に分散されていると仮定すると、この4バイトの画像開始コードは暗号化されたストリームにおいて最後のバイトが見つかった時点で検出される。完全な画像開始コード及び平文を有するということは、この最後のバイトを持つビデオパケットのみならず、先行するビデオパケットも平文でなければならないことを意味する。
【0312】
これらの2つのビデオパケットの間に他のデータがあい得、通常はあるであろう。基本的に、これは大量のパケットであり得る。図54は、Iフレームの終わりの画像開始コードが2ビデオパケットにわたって広がっているような状況の一例を示している。
【0313】
更に詳細には、図54は、画像開始コード5402の一部を含むようなIフレーム5401を含むバッファ5400を示す。次いで、オーディオパケット5403が後続する。バッファ5400に更に含まれるものは、PSIブロック5404及びデータブロック5405である。図54には、画像開始コード検出時点5406、画像開始コードの一部5407及び後続のPフレーム5408も更に示されている。
【0314】
図54の場合、これら2つのビデオパケットのみならず、これら2つのビデオパケット間の他のデータの全てのパケットもバッファリングされねばならない。該例では、画像開始コードが示されているが、同じ議論がシーケンスヘッダコードに対しても有効であることは明らかである。示された規準は、必要なバッファリングを1パケットのみに低減する。
【0315】
3つの定義された規準の1つが満たされたなら、対応するパケットが平文にされる。3つの規準の組み合わせの結果、しばしば、各フレーム境界において1つのみの平文パケットとなる。しかしながら、何らかのストリームに対する幾つかの実際的ケースでは、数個のパケットでもあり得る。事実、理論的に、これは多数のパケットでさえあり得る。
【0316】
第1の例は、GOP当たり1PESパケットで、例えば12フレームのGOPサイズのIフレーム及びPフレームのみからなるストリームである。なされた実験において、Iフレームの開始における平文パケットの数は常に1であった。Iフレームの終わりにおける、及び実際には全ての他のフレーム境界における平文パケットの数は通常は1であったが、時には2であった。Iフレームの開始において、PESヘッダから画像コード拡張部までの全てのものは1パケット内である。他のフレーム境界における平文パケットは、画像開始コードから画像符号化拡張部の終わりまでの全データを含む。このデータは、2つのパケットにわたり分散させることができる。
【0317】
第2の例は、フレーム当たり1PESパケットで、2から12までの範囲の偶数値を持つ変化するGOPサイズの、IBP構造によるIフレーム、Pフレーム及びBフレームを有するようなストリームである。このストリームは、実際には、平文ストリームであるが、ここでは、暗号化されているかのように使用される。Iフレームの開始における平文パケットの数は殆どの場合2であり、Iフレームの終わり及び他のフレーム境界では常に1である。Iフレームの開始における上記2つのパケットは、主に、量子化テーブル及びシーケンスヘッダの存在によるものである。Iフレームの終わり及び他のフレーム境界において、PESヘッダから画像符号化拡張部までのデータは全て1パケット内である。
【0318】
PES構造により、平文であるのはIフレームの最後のパケットではなく、実際には次のフレームの最初のパケットであることに注意すべきである。これは、他の筋書きでも発生し得る。しかしながら、これは問題ではない。何故なら、この場合、Iフレームの最後のパケットはIフレームデータのみを含み、除去される必要はないからである。
【0319】
また、実際には、前記3つの規準の組み合わせが各フレーム境界において1つの連続した平文ビデオ領域になることにも注意すべきである。理論的に、これが当てはまる必要はない。規準2及び3の組み合わせは、常に、連続した領域となるが、理論的に平文PESヘッダ領域は別のものとすることができる。
【0320】
以下においては、ハイブリッドストリームにおいて必要な情報を如何にして見つけるかを説明する。
【0321】
実際には、各フレーム境界に1つの連続した平文領域が存在する。Iフレーム(GOP)の開始部において、該平文領域はPESヘッダの最初のバイトから少なくとも画像符号化拡張部の最後のバイトまで続く。
【0322】
一例が図55に示される。
【0323】
図55は、Iフレームの開始部における実際的な平文領域を示す。図55に示されるデータシーケンスは、PESヘッダ5500、シーケンスヘッダ5501、シーケンス拡張部5502、GOPヘッダ5503、画像開始コード5504、画像ヘッダ5505、他の画像ヘッダ5506、画像符号化拡張部5507、及びIフレームデータ5508を含む。
【0324】
構成成分5500〜5505は第1のIフレームパケット5509に関するもので、構成成分5506〜5508は第2のIフレームパケット5510に関するものである。
【0325】
全ての必要なデータは、この領域内にあり、当該ストリームのPLUSIにより印されたパケットで開始する該部分を解析することにより容易に見つけることができる。
【0326】
Iフレームの終了部では、2つの可能性がある:
1.フレーム当たり1PESパケットの場合、Iフレームの終了部(の後の)平文領域のエッジもPESヘッダの第1バイトで開始し、少なくとも画像符号化拡張部の最後のバイトまで延びる。全ての必要なデータは容易に見つかり、Iフレームの最後のパケットの削除(cleaning)は必要とされない(図56の左側参照)。
2.GOP当たり1PESパケットの場合、Iフレームの終わりより後にはPESヘッダは存在しない。実際には、この位置にはシーケンスヘッダもない。この場合、画像開始コードの第4バイトから画像符号化拡張部の最後のバイトまでを含むパケットは、平文である(図56の右側参照)。画像開始コードの4つのバイトは、例えば最初の3バイトが或るパケット内に、最後のバイトが次のパケット内のように、2つのパケットに渡って分散することができる。この場合、最初の3つのバイトは依然として暗号化されている。これは、この画像開始コードを検出することができないことを意味するように見える。
【0327】
図56は、実際の平文領域を示す。図56のシーケンスには、Iフレームの終わり5600、PLUSIプレゼント5601、PESヘッダ5602、画像開始コード5603、画像ヘッダ5604、画像符号化拡張部5605、Pフレーム又はBフレームデータ5606、最後のIフレームデータ5607、Iフレームの終わり5608、画像開始コード5609、画像ヘッダ5610、画像符号化拡張部5611、及びPフレーム又はBフレームデータ5612が示されている。
【0328】
実際に、各フレーム境界には平文領域が存在する。従って、Iフレームの終了部の検出は、Iフレームのものより後の最初の画像開始コードの検索を意味する。暗号化されたデータにおける誤った肯定的合致を回避するために、このコードに関して平文ビデオパケットのみが検索されるべきであることは明らかであろう。パケットのペイロードが平文であるか否かは、パケットヘッダにおけるスクランブル制御ビットにより示される。検出は、4つのバイトの所与のシーケンス(0x00 0x00 0x01 0x00)が見つかった場合にのみ肯定的合致を示す。該シーケンスは、フレームのタイプを無視した画像開始コードに対応する。残念ながら、画像開始コードは、トランスポートストリームパケットの境界上に整列される必要はない。これは、画像開始コードが2つのパケットにわたって分散されたとしたら、これらパケットのうちの第2のものだけが平文であろうことを意味する。
【0329】
これが、図57に示されている。
【0330】
問題は、符号5700により示された2つの部分が、誤った肯定的合致を与えるかである。図57において、パケットヘッダは符号5701により示され、平文のパケットペイロードは符号5702により示され、暗号化されたパケットペイロードは符号5703により示されている。
【0331】
一番上のライン5704は、完全に第2パケット内に位置する画像開始コードを示す。一番下のライン5705の場合、画像開始コードは完全に第1のパケット内にある。残りのライン5706は、分散された画像開始コードの3つの可能性を示す。
【0332】
部分的に暗号化された画像開始コードを検出することは不可能であると予測されるかも知れない。しかしながら、このジレンマから抜け出す方法がある。各平文領域は、画像開始コード又は少なくともその最後のバイトを含まなければならない。従って、或る平文領域において画像開始コードが見つからない場合、この領域は画像開始コードの最後のバイトの幾つかで開始している筈であることがわかる。このバイト数は、図57に示すように、1、2又は3である。実際に、どれだけ多くのバイトが存在するかを正確に検出することが可能である。この点に関しては、画像符号化タイプの3つのビットが全てゼロであることは決してあり得ないことに注意することが重要である。何故なら、これはMPEG2規格により禁止されているからである。従って、図57に0xYYにより示された画像開始コードの第2バイトは決して0x00にはなり得ない。従って、当該平文領域が0x00 0x01 0x00で開始した場合、これらは画像開始コードの最後の3バイトである。該領域が0x01 0x00で開始した場合、これらは最後の2バイトである。該領域が0x00 0x01 0x00ではなく、0x00で開始した場合、最後のバイトのみが存在する。このようにして、何処に画像開始コードが位置するかが正確に分かり、これに続くデータを解析することができる。もし必要又は望むなら、画像タイプはバイト0xYYから読み取ることができる。
【0333】
また、画像開始コードが2つのパケットに渡って分散されている場合、Iフレームの最後のパケットを全ての非Iフレームデータを削除することにより除去することは可能ではなさそうだと言うこともできる。これは、実際に正しい。何故なら、画像開始コードの暗号化された部分を削除することは可能ではないからである。しかしながら、トリックプレイストリームの構築においては、空のPフレームがIフレームの最後に付加されるであろう。この空Pフレームは画像開始コードで始まるであろう。従って、画像開始コードの暗号化されたバイトは再使用することができる。何故なら、これらのバイトのいくつが、最後の暗号化されたパケットの終了部に存在するかが分かるからである。この数のバイトは、Iフレームの後に追加されるべき最初の空Pフレームの画像開始コードから削除される。
【0334】
図58は、このような状況の一例を示す。
【0335】
図58には、部分的に暗号化された画像開始コードに付加された空のPフレームが示されている。画像開始コードは符号5800により示されている。図58には、時間基準5801も示されている。更に、画像符号化タイプが符号5802により示されている。空フレームのデータは符号5803により示されている。
【0336】
実際に予測されるべき状況を上述したが、理論的には幾つかの付加的状況が生じ得る。これは、平文PESヘッダ領域と規準2及び3からの結果の平文領域とが、理論的に接続される必要がなく、暗号化されたビデオパケットにより分離され得るという事実から生じる。明瞭化のために、連続する平文領域とは、ビデオパケットのシーケンスは平文であるが、他の暗号化されたパケットが間に存在し得ることを意味することに言及すべきであろう。
【0337】
前記規準に従って、アクセスされるべき3つの重要なデータ領域が存在する:
1.PESヘッダ領域;
2.シーケンスヘッダ及びシーケンス拡張部における情報;
3.画像開始コードから画像符号化拡張部までの情報。
【0338】
これら3つのデータ領域が図59に示されている。
【0339】
図59は、上記3つの規準に対応する平文データ領域を示す。第1の構成は、PLUSIプレゼント5900及びPESヘッダ5901を示す。第2の画像は、シーケンスヘッダコード5910、シーケンスヘッダ5911、シーケンス拡張コード5912及びシーケンス拡張部5913を示す。画像開始コード5914が更に示されている。
【0340】
図59における第3の画像は、画像開始コード5920、画像ヘッダ5921、画像符号化拡張コード5922及び画像符号化拡張部5923を示している。
【0341】
このデータを位置特定すると共に正しく受け渡すために、当該ストリームにおいて3つの項目が見つけられなければならない:
1.パケットヘッダにおけるPLUSIビット;
2.シーケンスヘッダコード(0x00 0x00 0x01 0xB3);
3.画像開始コード(0x00 0x00 0x01 0x00)。
【0342】
項目1を見つけることは、単にPLUSIビット及びパケットヘッダを探すだけで容易であり、これが1に設定されていたら、パケットはPESヘッダで開始し、次いでこれを渡すことができる。項目2及び3に関する状況は、もっと複雑である。何故なら、シーケンスヘッダコード及び画像開始コードは2つのパケットにわたって分散され、結果として部分的に暗号化されたコードである可能性があるからである。従って、これらコードの直接的検出は、データの何らかの喪失につながる。しかしながら、この問題に対する解決策が存在する。MPEG2においては、シーケンス拡張部及び画像符号化拡張部の存在は、図60に示されるように、必須である。
【0343】
図60は、MPEG2におけるヘッダ構造を示し、該構造は、シーケンスヘッダユニット6000、シーケンス拡張ユニット6001、拡張及びユーザユニット6002、画像群ヘッダユニット6003、ユーザユニット6004、画像ヘッダユニット6005、画像符号化拡張ユニット6006、ユーザユニット6007、画像データユニット6008及びシーケンス終了ユニット6009を含む。
【0344】
平文パケットに対する規準が形成された態様は、これら拡張部が完全に平文であることを保証することができる。これらは、先ず0x00 0x00 0x01 0xB5である拡張開始コードを検索することにより見つけることができる。次の4ビットは拡張開始コード識別子である。これらの4ビットは、シーケンス拡張部に対しては0001であり、画像符号化拡張部に対しては1000である。シーケンス拡張部が存在する場合、シーケンスヘッダコードも存在すべきであり、同様に、画像コード拡張部が存在するなら、画像開始コードも存在すべきである。この結果、下記のようになる:
− シーケンス拡張部が平文領域で見つかるが、シーケンスヘッダコードが同じ領域で見つからない場合、該シーケンスヘッダコードは2つのパケットにわたって分散されているべきであり、該シーケンスヘッダコードの最後のバイト又は複数のバイトは、可能性のあるPESヘッダを無視すると、この平文領域の最初のバイトである(シーケンスヘッダコード6100、シーケンスヘッダ6101及びシーケンス拡張部6102を示す図61参照)。
− 画像符号化拡張部が平文領域で見つかるが、画像開始コードが同じ領域で見つからない場合、該画像開始コードは2つのパケットにわたって分散されているべきであり、該画像開始コードの最後のバイト又は複数のバイトは、可能性のあるPESヘッダを無視すると、この平文領域の最初のバイトである(画像開始コード6200、画像ヘッダ6201及び画像符号化拡張部6202を示す図62参照)。
【0345】
これらの2つの状況は、1つの平文領域においては決して同時に発生し得ないことに注意すべきである。シーケンス拡張部及び画像符号化拡張部が共に存在する場合、これらの2つの間に位置される画像開始コードは必然的に完全に平文であろう。この場合、シーケンスヘッダコードのみが部分的に暗号化されている可能性がある。勿論、シーケンスヘッダコード又は画像開始コードが完全に平文であり、従って素直な態様で検出される場合、対応するデータの受け渡しは即座に開始することができる。しかしながら、上述した状況の一方に遭遇した場合、正しい受け渡しを開始することができる前に、これらコードのうちのどれだけ多くのバイトが当該平文領域の開始部に又はPESヘッダの後にあるかが先ず分からねばならない。画像開始コードに関してこれを検出する方法は、シーケンスヘッダコードに対しても適用することができる。
【0346】
図63は、2つのパケットにわたって分散されたシーケンスヘッダコードを示す。
【0347】
シーケンスヘッダコードに対する状況が、図63に示されている。平文は、4番目のバイトから以降にのみ保証される。このバイトは、0x00 0x00 0x01 0xB3に等しいシーケンスヘッダコードの最後のバイトである。従って、シーケンスヘッダコードは存在するが、この領域では検出されない場合、該コードの最後のバイトの幾つかは、この領域の開始部に又はPESヘッダの後に存在しなければならない。画像開始コードと同様に、これらバイトのうちの幾つが存在するかを正確に検出することができる。検出は、PESヘッダを無視して、当該領域における最初の平文バイトで開始する。最初のバイトが0x00 0x01 0xB3なら、3バイトが存在し、これらが0x01 0xB3なら、2バイトが存在し、最初のバイトが0xB3なら、この1バイトのみが存在する。該バイト数、従ってシーケンスヘッダコードの最後のバイトの位置が分かれば、画像開始コードが、このコードに続くデータの正しい受け渡しを可能にする。
【0348】
当該明細書で使用される略語のリストが表1に示される。
【表1】
【0349】
尚、上述した実施例は本発明を限定するというよりは解説するものであり、当業者であれば添付請求項に記載した本発明の範囲から逸脱することなしに多数の代替実施例を設計することができることに注意されたい。更に、上述した実施例の何れかは、例えば電池又は蓄積器等の内部電流供給部のような暗黙的特徴部を有するものである。また、請求項において、括弧内の如何なる符号も斯かる請求項を限定するものと見なしてはならない。また、"有する"等の用語は、如何なる請求項又は明細書全体に掲載されたもの以外の構成要素又はステップの存在を排除するものではない。また、単数形の構成要素は、複数の斯様な構成要素の存在を排除するものではなく、その逆でもある。幾つかの手段を列挙する装置の請求項において、これら手段の幾つかは1つの同一のハードウェア品目により具現化することができる。また、特定の手段が相互に異なる従属請求書で引用されるという単なる事実は、これら手段の組み合わせを有利に使用することができないということを示すものではない。また、文章を通して"データ"及び"コンテンツ"なる用語が入れ替え可能に使用されているが、これらは均等のものであると理解されたい。
【図面の簡単な説明】
【0350】
【図1】図1は、タイムスタンプ付きトランスポートストリームパケットを示す。
【図2】図2は、イントラ符号化フレーム及び順方向予測フレームを伴うMPEG2画像群(グループ・オブ・ピクチャ)構造を示す。
【図3】図3は、イントラ符号化フレーム、順方向予測フレーム及び双方向予測フレームを伴うMPEG2画像群構造を示す。
【図4】図4は、特徴点情報ファイルの構造及び記憶されたストリームコンテンツを示す。
【図5】図5は、平文ストリームに対するトリックプレイのためのシステムを示す。
【図6】図6は、トリックプレイにおける時間圧縮を示す。
【図7】図7は、分数距離によるトリックプレイを示す。
【図8】図8は、低速トリックプレイを示す。
【図9】図9は、一般的な条件付きアクセスシステムの構造を示す。
【図10】図10は、デジタルビデオ放送の暗号化されたトランスポートストリームパケットを示す。
【図11】図11は、図10のデジタルビデオ放送暗号化トランスポートストリームパケットのトランスポートストリームパケットヘッダを示す。
【図12】図12は、完全に暗号化されたストリームに対してトリックプレイの実行を可能にするシステムを示す。
【図13】図13は、完全なトランスポートストリーム及び部分的トランスポートストリームを示す。
【図14】図14は、ストリームタイプI用及びストリームタイプII用の権限制御メッセージ(ECM:Entitlement Control Message)を示す。
【図15】図15は、解読器への制御ワードの書込を示す。
【図16】図16は、高速順送りモードでの権限制御メッセージの処理を示す。
【図17】図17は、1つ又は2つの制御ワードの検出を示す。
【図18】図18は、本発明の一実施例によるデータストリームを処理する方法を実行する間に得られるデータストリームを示す。
【図19】図19は、本発明の一実施例によるデータストリームを処理する方法を実行する間に得られるデータストリームを示す。
【図20】図20は、本発明の一実施例によるデータストリームを処理する方法を実行する間に得られるデータストリームを示す。
【図21】図21は、本発明の一実施例によるデータストリームを処理する方法を実行する間に得られるデータストリームを示す。
【図22】図22は、本発明の一実施例によるデータストリームを処理する方法を実行する間に得られるデータストリームを示す。
【図23】図23は、本発明の一実施例によるデータストリームを処理する装置を示す。
【図24】図24は、本発明の一実施例によるデータストリームを処理する他の装置を示す。
【図25】図25は、フレーム境界でのパケットの分割を示す。
【図26】図26は、通常プレイデータの解読の後のスロー順送り構成を示す。
【図27】図27は、各フレーム境界に平文パケットを伴う複合ストリームを示す。
【図28】図28は、記憶された複合ストリームに対するスロー順送り構成を示す。
【図29】図29は、連結点における不完全な画像開始コードを示す。
【図30】図30は、通常プレイにおける再配列の効果を示す。
【図31】図31は、スロー順送りモードでの再配列の効果を示す。
【図32】図32は、アンカフレームの前の空のPフレームの挿入を示す。
【図33】図33は、逆方向予測空Bフレームの使用を示す。
【図34】図34は、順方向予測空Bフレームの使用を示す。
【図35】図35は、フレーム当たり1PESパケットの場合のストリームの分割を示す。
【図36】図36は、PESヘッダの開始部におけるストリームの分割を示す。
【図37】図37は、画像開始コードの開始部におけるストリームの分割を示す。
【図38】図38は、画像開始コード内でのストリームの分割を示す。
【図39】図39は、連結点における不完全な画像開始コードを示す。
【図40】図40は、n+m=4の例を示す。
【図41】図41は、n+m>4の例を示す。
【図42】図42は、n+m<4の例を示す。
【図43】図43は、DTSまでの変更されない距離を示す。
【図44】図44は、一連の同一のBフレームの境界における等しいオフセットを示す。
【図45】図45は、Bフレームデータ長を示す。
【図46】図46は、Bフレームが1フレーム時間より大きい場合のデータの重なりを示す。
【図47】図47は、一様に分散されたパケットによるBフレームの圧縮を示す。
【図48】図48は、空のフレームの配置を示す。
【図49】図49は、空のフレームの最初のパケットの配置を示す。
【図50】図50は、前のフレームに基づく空のフレームのパケット距離を示す。
【図51】図51は、1フレーム期間にわたって一様に分散された空フレームのパケットを示す。
【図52】図52は、複合ストリームへの変換のための位置を示す。
【図53】図53は、完全に暗号化された記録からの安全なトリックプレイの生成を示す。
【図54】図54は、完全に平文の画像開始コードに対するバッファリングの必要性を示す。
【図55】図55は、Iフレームの開始部における実際の平文領域を示す。
【図56】図56は、実際の平文領域を示す。
【図57】図57は、2つのパケットにわたって広がる画像開始コードを示す。
【図58】図58は、部分的に暗号化された画像開始コードに付属された空のPフレームを示す。
【図59】図59は、3つの基準に対応する平文データ領域を示す。
【図60】図60は、MPEG2におけるヘッダ構造を示す。
【図61】図61は、シーケンスの拡張及びシーケンスヘッダコードを示す。
【図62】図62は、画像符号化の拡張及び画像開始コードを示す。
【図63】図63は、2つのパケットにわたって広がるシーケンスヘッダコードを示す。
【技術分野】
【0001】
本発明は、データストリームを処理する装置に関する。
【0002】
また、本発明はデータストリームを処理する方法にも関する。
【0003】
また、本発明はプログラムエレメントにも関する。
【0004】
また、本発明はコンピュータ読み取り可能な媒体にも関する。
【背景技術】
【0005】
電子娯楽(エンターテインメント)装置は、益々重要になってきている。特に、益々多くのユーザがハードディスク型オーディオ/ビデオプレーヤ及び他の娯楽装置を購入している。
【0006】
記憶空間の低減はオーディオ/ビデオプレーヤの分野においては重要な問題であるので、オーディオ及びビデオデータは、しばしば、圧縮された態様で、及び保全的理由で暗号化された態様で記憶される。
【0007】
MPEG2は、動画及び関連するオーディオの汎用的符号化のための規格であり、フレームデータからGOP("グループ・オブ・ピクチャ")構造と呼ばれる特定の順序で配列され得るビデオストリームを生成する。MPEG2ビデオのビットストリームは、画像を符号化する一連のデータフレームからなっている。画像を符号化する3つの方法は、イントラ符号化(I画像)、順方向予測(P画像)及び双方向予測(B画像)である。イントラ符号化されたフレーム(Iフレーム)は作りツリーに復号可能なフレームである。順方向予測フレーム(Pフレームは)、先行するIフレーム又はPフレームの情報を必要とする。双方向予測フレーム(Bフレーム)は先行する及び/又は後続のIフレーム又はPフレームの情報に依存する。
【0008】
メディア再生装置においては、メディアコンテンツが通常速度で再生される通常再生モードから、メディアコンテンツが例えば低減された速度("スロー順方向")で、静止画像で又はその逆等の変更された態様で再生されるようなトリックプレイ再生モードへ切り換えることが興味ある機能である。
【0009】
米国特許出願公開第2005/0157714A1号は、パケット型のスクランブルされたストリームを処理する方法であって、パケットストリームにおける複数のスクランブルされたパケットを受信するステップと、該スクランブルされたパケットの何れかをスクランブル解除するステップと、該スクランブル解除されたパケットの少なくとも1つと上記スクランブルされたパケットの少なくとも1つを含むような変更されたパケットストリームを送信するステップとを含むような方法を開示している。
【発明の開示】
【発明が解決しようとする課題】
【0010】
本発明の目的は、データストリームの効率的な処理を可能にすることにある。
【課題を解決するための手段】
【0011】
上記目的を達成するため、独立請求項によるデータストリームを処理する装置、データストリームを処理する方法、プログラムエレメント及びコンピュータ読み取り可能な媒体が提供される。
【0012】
本発明の一実施例によれば、データストリームを処理する装置であって、隣接するフレーム間に解読されたフレーム境界部分を有するような部分的に解読された(及び部分的に暗号化された)データストリームの隣接するフレームを斯かるフレーム境界部分において分割する分割ユニットと、分割されたフレームを所定の複製レート(例えば、"3"等のトリックプレイ係数)に従って複数回複製する複製ユニットと、斯かる複製された分割されたフレームを接続する接続ユニットとを有するような装置が提供される。
【0013】
本発明の他の実施例によれば、データストリームを処理する方法であって、隣接するフレーム間に解読されたフレーム境界部分を有するような部分的に解読された(及び部分的に暗号化された)データストリームの隣接するフレームを斯かるフレーム境界部分において分割するステップと、分割されたフレームを所定の複製レートに従って複数回複製するステップと、斯かる複製された分割されたフレームを接続するステップとを有するような方法が提供される。
【0014】
更に、本発明の他の実施例によれば、コンピュータ読み取り可能な媒体であって、プロセッサにより実行された場合に上述した方法を制御又は実行するようなコンピュータプログラムが記憶された媒体が提供される。
【0015】
更に、本発明の更に他の実施例によれば、プロセッサにより実行された場合に上述した方法を制御又は実行するようなプログラムエレメントが提供される。
【0016】
本発明の実施例によるデータ処理は、コンピュータプログラムにより、即ちソフトウェアにより、又は1以上の特別な電子最適化回路を使用することにより、即ちハードウェアで、又は複合形態で、即ちソフトウェア構成要素及びハードウェア構成要素により実現することができる。
【0017】
本発明の実施例による構成は、部分的に解読され且つ部分的に暗号化されたデータストリームを、異なるフレームが境界部分で分割され、後に斯かる分割されたフレームをスロー順送り又はスロー逆送り又は静止、より一般的にはスローモーション、トリックプレイ再生を可能にするような態様で再び接続することができるような形で処理することができるという利点を提供する。従って、隣接するフレーム間の平文部分は、どの位置で異なるフレームを切断すべきか、スローモーションのフィーチャを提供するために種々のフレームを複数回繰り返すべきか、及び適切な音声及び/又は画像が得られるように複製されたフレームシーケンスを一緒にすべきかの指示子として働くことができる。
【0018】
一実施例によれば、フレーム分割アルゴリズム及び(分割及び複製された)フレームの接着が可能にされる。一実施例によるアルゴリズムによると、部分的に暗号化された"複合"スロー順送りDVB("デジタルビデオ放送")ストリームを、完全に暗号化された通常プレイ(例えば、MPEG)ストリームから発生することができる。このような手順は、トランスポートストリームのうちの画像フレーム境界を含む暗号化パケットのみを、スロー順送りを容易化するための対応する平文パケットにより選択的に置換するステップを含むことができる。更に、パケットを画像フレーム境界において分割することができ、スロー順送りストリームを、フレームを複製することにより発生することができる。画像フレーム境界におけるパケットは、必要ならば詰め込むことができる。次いで、画像開始コードが2つのパケットに跨る位置を識別することができ、これらに対して対応する補正を適用することができるが、該処理は接着と称することができる。
【0019】
一実施例によれば、MPEG準拠デコーダに対するデジタルインターフェースを備えるようなMPEGトランスポートストリームを記憶するための記憶装置が設けられ、該デコーダは、暗号化されたDVBストリームのスロー順送りプレイモードのためのMPEG準拠ストリームを提供することができる。特別な筋書きにおいては、平文のスロー順送りストリームを解読及び生成する単純な処理は適切ではない可能性がある。何故なら、全情報が平文になるかもしれないからである。これは、保全の観点から望ましくないであろう。更に、家電装置におけるDVB暗号器の使用は許可されないであろう。この結果、処理は暗号化されたDVBトランスポートストリームに対して実行されねばならないことになる。
【0020】
かくして、本発明の一実施例によれば、複合(ハイブリッド)トランスポートストリームを使用することができ、該複合トランスポートストリームは、情報の主要部は暗号化されたままであることを保証しながら、スロー順送りMPEG準拠トランスポートストリームの生成を可能にするために要する少量の(特には、最少量の)平文情報を有する。このような状況における1つの態様は、上記の暗号化されたトランスポートストリームにおける個々のフレームが、スロー順送りモードを提供するために繰り返されるというものである。この結果、特別なケースで、パケット境界を横切るMPEG画像開始コードを補正するために前記フレームの分割及び後の個々のフレームの接着処理が要となる。この出願では、上記接着を実現する可能性が開示される。
【0021】
かくして、本発明の実施例は、フレームを分離するためにパケットを分割するステップを含む。これは、Bフレームを繰り返すためにフレームを複製するステップ、及び元のI又はPフレームを繰り返すために空のフレームを使用するオプションを含む。
【0022】
更に、部分的に暗号化された開始コードで開始し、該暗号化された(暗号化されていない)パケットに存在する開始コードバイトの量を決定するアルゴリズムを実施することも可能である。結果として、パケットの接着が可能となる。パケットの連結の結果として、所定の閾値(例えば、4バイト)より大きな開始コードとなった場合、上記アルゴリズムは削除されるべきバイトの量を計算することができる。パケットの連結の結果として、所定の閾値(例えば、4バイト)より小さな開始コードとなった場合、追加の接着パケットを挿入することができる。
【0023】
従って、本発明の一実施例は、パケットの分割及び接着につながるような、ストリームを暗号化するための画像開始コードの検出を目指す。
【0024】
接着は、当該データストリームにおける上記開始コードの一部が存在する位置において実行することができ、追加のパケットを挿入するステップを含むことができる。詰め込みのために、特にはトランスポートストリームレベルの詰め込みのためにアダプテーションフィールド(AF)を挿入することができる。他の例として、例えば当該ストリームに1以上の単なる"ゼロ"を挿入することを含み、基本ストリームレベルの詰め込みも可能である。
【0025】
当該データストリームのうちのデータストリーム処理を可能にするために解読される部分は、1%又はそれ以下の程度とすることができ、従って当該ストリームの99%又はそれ以上は暗号化されたままとすることができる。
【0026】
次に、本発明の他の実施例を説明する。
【0027】
以下においては、データストリームを処理する装置の実施例を説明する。しかしながら、これら実施例は、データストリームを処理する方法、コンピュータ読み取り可能な媒体及びプログラムエレメントにも適用することができる。
【0028】
当該装置は、(全体的に又は部分的に)暗号化されたデータストリームにおける隣接するフレーム間の暗号化されたフレーム境界部分を、解読されたフレーム境界部分により選択的に置換して部分的に解読されたデータストリームを形成する解読ユニットを有することができる。言い換えると、完全に暗号化されたデータストリームは、隣り合うフレーム間の暗号化された部分が対応する解読された部分により置換されるように処理されることが可能である。当該解読ユニットは、暗号化されたコンテンツを記憶する記憶装置(例えば、ハードディスク又はフラッシュメモリ)から分離して配置することができるか、又は斯様な記憶装置に統合することができる。また、斯様な記憶装置が既に部分的に解読された及び部分的に暗号化されたデータストリーム(これも、複合ストリームと称することができる)を記憶していることも可能である。
【0029】
特には、上記解読ユニットは、暗号化されたデータストリームにおける隣接するフレーム間の暗号化されたフレーム境界部分のみを、解読されたフレーム境界部分により選択的に置換すると共に、全ての他のフレーム部分は暗号化されたままに維持するように構成することができる。従って、暗号化されたデータストリームのうちの必要な部分のみが解読され、これによりトリックプレイストリームの発生が、これらの平文部分に基づいて可能とされる。しかしながら、当該ストリームの部分(多くの場合には、主又は主要部分)が暗号化されたままとなり、かくして、高レベルの保全が達成される。
【0030】
上記解読ユニットは、暗号化されたフレーム境界部分を解読されたフレーム境界部分により選択的に置換して、部分的に解読されたデータストリームを、小さな、好ましくは最少の量の解読された部分でトリックプレイストリームを発生するための基礎として形成するように構成することができる。この実施例によれば、略完全に暗号化されたデータストリームを、特にはスロー順送りストリーム又はスロー逆送りストリームであり得るような、スローモーションストリーム等のトリックプレイストリームを発生するために必要とされる部分のみが選択的に解読されたものと同時的に得ることが可能になる。
【0031】
前記分割ユニットは、各分割フレームの開始部に平文パケットを挿入するように構成することができ、及び/又は分割パケットの詰め物をするように構成することができる。従って、異なるフレームを分割した後に、平文パケットを斯かる分割されたフレームの各々の終了部及び/又は開始部に挿入することができる。斯様なパケットは、対応するフレームを識別又は特徴付けるのに要する情報を含むことができるか、又は隣接するフレーム間の境界を単に詰めることができる。更に詳細には、分割は実際には挿入ではなく、分割パケットの詰め込み(先ず、前フレームの最終部分、次いで現フレームの最初の部分)である。これは、アダプテーションフィールドにより詰め込むこともできる。
【0032】
このような平文パケットはヘッダ及び/又はアダプテーションフィールド(Adaptation Field: AF)を有することができる。アダプテーションフィールドなる用語は、MPEG符号化のフィールドから由来するものである。
【0033】
前記接続ユニットは、複製された分割フレームを、フレーム境界部分(例えば、画像開始コード)が2つのフレームに跨っている場所を識別することに基づいて、及び斯様な識別された場所を訂正することに基づいて接続するように構成することができる。従って、スローモーショントリックプレイに従って複製分割フレームを一緒にする場合の如何なる可能性のある問題も、接着部分を調べることにより除去し又は取り除くことができる。これは、トリックプレイモードにおける再生の品質を改善させる。
【0034】
前記接続ユニットは、特には、分割されたフレームのフレーム境界部分のサイズを決定すると共に、斯かる分割フレームを該決定されたサイズに基づいて接続するように構成することができる。上記サイズが過度に大きいと判断された場合(例えば4バイトなる閾値を超えた場合)、当該フレーム境界部分又は画像開始コードは対応して短縮され、所定の閾値に従うようにされる。他の場合において、当該フレーム境界部分のサイズが例えば4バイト等の所定の閾値より小さい場合、該サイズは、例えば当該フレーム境界部分に追加の部分を挿入することにより対応して増加される。このような対策を講じることにより、画像開始コードは所望の長さに調整することができ、これはシステム全体の制御性及び操作性を改善し得る。
【0035】
当該装置は、データストリームを記憶する記憶ユニットを有することができる。このような記憶ユニットはハードディスク又はメモリカードとすることができ、これらは例えばオーディオ及び/又はビデオコンテンツを含むデータストリームを記憶することができる。
【0036】
当該装置は、完全に暗号化されたデータストリームを処理するように構成することができる。言い換えると、全体のデータストリームは完全に暗号化され、従って許可されないアクセスに対して保全される。この場合、隣接するフレームの間の特別に規定された部分が、対応する平文部分により選択的に置換される。しかしながら、当該処理が実行されるストリームが部分的に又は完全に解読されることも本発明の範囲内である。
【0037】
当該装置は、イントラ符号化フレーム(Iフレーム)、順方向予測フレーム(Pフレーム)及び双方向予測フレーム(Bフレーム)からなる群の少なくとも1つのフレームを処理するように構成することができる。MPEG2において、Iフレームは独立に復号可能なフレームである。Pフレームは先行するIフレーム又はPフレームの情報を必要とする。Bフレームは、先行する及び/又は後続のIフレーム又はPフレームの情報に依存する。
【0038】
当該装置は、ビデオデータ及び/又はオーディオデータのデータストリームを処理するように構成することができる。しかしながら、このようなメディアコンテンツが、本発明の実施例による方式により処理することが可能な唯一のタイプのデータではない。トリックプレイの生成及び同様のアプリケーションは、ビデオ(オーディオビジュアル)データ処理及び(純)オーディオデータ処理の両方にとり課題であり得る。
【0039】
当該装置は、更に、デジタルデータのデータストリームを処理するように構成することができる。
【0040】
更に、当該装置は上記の処理されたデータストリームを再生又はプレイする再生ユニットを有することができ、該再生ユニットは前記接続ユニット(の出力端)に接続することができる。このような再生ユニットはスピーカ若しくはイヤホン若しくはヘッドフォン、及び/又はオーディオ及びビジュアルデータの両方を人が知覚できるように再生することができるような光学表示装置を有することができる。
【0041】
更に、当該装置は前記データストリームをトリックプレイ再生モードで再生するように処理するための発生ユニットを有することができる。トリックプレイ再生モードで再生するためのデータストリームを発生するように構成された斯様なトリックプレイ発生ユニットは、ユーザにより、例えば装置の釦、キーパッド又はリモコン等のユーザインターフェースを介して対応するオプションを選択することにより調整することができる。ユーザにより選択されるトリックプレイ再生モードは、スローモーション再生モード(特には、スロー順送り又はスロー逆送り)、静止(stand still)モード、高速順方向再生モード、高速逆方向再生モード、静止フレーム(freeze frame)再生モード、瞬時リプレイ再生モード及び逆方向再生モードからなる群のうちの1つであり得る。しかしながら、他のトリックプレイストリームも可能である。トリックプレイ係数によるトリックプレイの場合、当該データのうちの一部のみを出力に使用することができるか(例えば、1より大きなトリックプレイ係数)、又は1つの同一のコンテンツを何回か再生することができる(例えば、1より小さなトリックプレイ係数)。
【0042】
本発明の実施例による装置は、MPEG2データストリームを処理するように構成することができる。MPEG2はMPEG(動画専門家グループ)により同意された一群のオーディオ及びビデオ符号化規格の名称であり、ISO/IEC13818国際規格として公開されている。例えば、MPEG2はオーディオ及びビデオをデジタル衛星及びケーブルTVを含む放送信号用に符号化するために使用されるが、DVDにも使用することができる。
【0043】
本発明の実施例による装置は、デジタルビデオ記録装置、ネットワーク可能化装置(network-enabled device)、条件付きアクセスシステム(限定受信システム:conditional access system)、携帯オーディオプレーヤ、携帯ビデオプレーヤ、携帯電話、DVDプレーヤ、CDプレーヤ、ハードディスク型メディアプレーヤ、インターネットラジオ装置、公衆娯楽装置(public entertainment device)及びMP3プレーヤからなる群のうちの1つとして実現することができる。しかしながら、これらのアプリケーションは例示に過ぎない。
【0044】
本発明の上述した態様及び他の態様は、以下に述べる実施例から明らかであり、これら実施例を参照して説明される。
【発明を実施するための最良の形態】
【0045】
以下、本発明を実施例に基づき詳細に説明する。
【0046】
尚、各図は実寸ではなく概念的に示されたもので、異なる図における同一の符号は対応する構成要素を示している。また、当業者にとっては、本発明の他の等価な実施例が本発明の思想から逸脱することなしに可能であること、及び本発明の範囲が請求項によってのみ限定されるものであることは明であろう。
【0047】
以下、図1ないし図13を参照して、本発明の実施例によるトランスポートストリームに対する異なる態様のトリックプレイ構成を説明する。
【0048】
特に、部分的に若しくは全体的に暗号化されているか又は暗号化されていないものとすることが可能なMPEG2符号化ストリームに対しトリックプレイを実行するための幾つかの可能性を説明する。以下の説明は、MPEG2トランスポートストリームのフォーマットに固有な方法を目標としている。しかしながら、本発明は該フォーマットに限定されるものではない。
【0049】
実験は、実際には、所謂タイムスタンプ付きトランスポートストリームという拡張で以って実施された。これは、トランスポートストリームパケットを有し、これらパケットの全てにはトランスポートストリームパケット到達時間が配置された4バイトのヘッダが前に付されている。この時間は、当該パケットの最初のバイトが記録装置で受信された時にプログラムクロック基準(PCR)タイムベースの値から導出することができる。これは、ストリームに共にタイミング情報を記憶する好適な方法であり、従って該ストリームの再生は相対的に容易な処理となる。
【0050】
再生の間における1つの課題は、MPEG2デコーダのバッファが超過する又はアンダフローしないことを保証することである。入力ストリームがデコーダバッファのモデルに準拠していたとしたならば、相対タイミングを復元することは、出力ストリームも準拠することを保証することになる。ここで説明するトリックプレイ方法の幾つかは、タイムスタンプとは独立であり、タイムスタンプを備える又は備えないトランスポートストリームに対して等しく良好に動作する。
【0051】
図1は、タイムスタンプ付きトランスポートストリームパケット100を示し、該パケットは188バイトの全長104を有すると共に、4バイトの長さ105を持つタイムスタンプ101、パケットヘッダ102及び184バイトの長さを持つパケットペイロード103を含んでいる。下記の説明は、記録されたトランスポートストリームからMPEG/DVB(デジタルビデオ放送)準拠のトリックプレイストリームを作成する可能性の概要を示すもので、完全に平文の、従ってデータの各ビットを操作することができるものから、完全に暗号化され(例えばDVB方式により)、従ってトランスポートストリームヘッダ及び幾つかのテーブルのみが操作のためにアクセス可能であり得るストリームまでの全スペクトルの記録ストリームをカバーすることを意図するものである。
【0052】
MPEG/DVBトランスポートストリームに対するトリックプレイを作成する場合、コンテンツが少なくとも部分的に暗号化されていると問題が生じ得る。通常の方法であるように基本(エレメンタリ)ストリームレベルまで下降することは可能ではなく、又は解読の前に如何なるパケット化された基本ストリーム(PES)にアクセスすることさえ可能ではない。これは、画像フレームを見つけることが不可能であることをも意味する。既知のトリックプレイエンジンは、この情報をアクセス及び処理することができる必要がある。
【0053】
この説明の枠内では、"ECM"なる用語は権限制御メッセージ(Entitlement Control Message)を指す。このメッセージは、特に、秘密のプロバイダ所有権情報を有し得、とりわけ、MPEGストリームを解読するのに要する暗号化された制御ワード(CW)を含み得る。典型的には、制御ワードは10〜20秒内で終了する。ECMはトランスポートストリーム内のパケットに埋め込まれている。
【0054】
この説明の枠内において、"キー"なる用語は、特に、スマートカードに記憶することが可能であると共に、トランスポートストリーム内に埋め込まれ得る所謂"権限管理メッセージ(Entitlement Management Message)"即ちEMMを用いて該スマートカードに転送することが可能なデータを指す。これらのキーは、スマートカードによりECM内に存在する制御ワードを解読するために使用することができる。斯様なキーの例示的有効期間は1ヶ月である。
【0055】
この説明の枠内において、"制御ワード(CW)"なる用語は、特に、実際のコンテンツを解読するために要する解読情報を指す。制御ワードはスマートカードにより解読され、次いで解読コアのメモリに記憶することができる。
【0056】
ここで、平文ストリームに対するトリックプレイに関する幾つかの態様を説明する。
【0057】
作成された如何なるMPEG2ストリームも、MPEG2準拠のトランスポートストリームであることが好ましい。これは、デコーダを装置内に統合することができるのみならず、例えばIEEE 1394インターフェース等の標準のデジタルインターフェースを介して接続することができるからである。
【0058】
高圧縮比を達成するためにビデオの時間的冗長性を利用するMPEG2等のビデオ符号化技術を使用する場合に発生し得る如何なる問題も考慮されるべきである。フレームは、最早、独立に復号することはできない。複数の画像群(GOP)の構造が図2に示されている。図2は、特に、Iフレーム201及びPフレーム202のシーケンスを伴う幾つかのMPEG2のGOP構造を有するストリーム200を示している。GOPのサイズが符号203により示されている。該GOPのサイズ203は12フレームに設定され、ここでは、Iフレーム201及びPフレーム202のみが示されている。
【0059】
MPEGにおいては、最初のフレームのみが他のフレームとは独立に符号化されているようなGOP構造を使用することができる。これは、所謂イントラ符号化された、即ちIフレーム201である。予測フレーム即ちPフレーム202は単方向予測により符号化され、図2において矢印204により示されるように、これらフレームは前のIフレーム201又はPフレーム202にのみ依存することを意味する。このようなGOP構造は、典型的には、12又は16個のサイズのフレーム201、202を有する。複数のGOPの他の構造300が図3に示されている。図3は、特に、Iフレーム201、Pフレーム202及びBフレーム301のシーケンスを伴うMPEG2のGOP構造を示す。該GOPのサイズも、符号203で示す。
【0060】
図3に示すように、双方向予測フレーム即ちBフレーム301も含むGOP構造を使用することができる。例として、12フレームのサイズのGOPが選択されている。Bフレーム301は双方向予測により符号化され、これらフレームが、幾つかのBフレーム301に関して湾曲した矢印204により示されているように、前の及び次のI又はPフレーム201、202に依存することを意味する。圧縮されたフレームの伝送順序は、これらが表示される順序とは同一とは限らない。
【0061】
Bフレーム301を復号するためには、当該Bフレームの(表示順での)前及び後の両基準フレームが必要とされる。デコーダにおけるバッファの必要条件を最少にするために、圧縮されたフレームは再配列することができる。従って、伝送において、基準フレームは最初にくることができる。送信されたままで再配列されたストリームも、図3の下側に示されている。再配列は、真っ直ぐな矢印302により示されている。Bフレーム301を含むストリームは、全てのBフレーム301がスキップされたなら(跳ばされたなら)良い見え方のトリックプレイ画像となり得る。本例の場合、これは3倍順送りトリックプレイ速度となる。
【0062】
MPEG2ストリームが暗号化されていなくても(即ち、平文であっても)、トリックプレイは些細なことではない。Iフレームのみに基づくスロー逆送りの可能性を短く説明する。MPEG2のGOPの必要な反転のために、効率的なフレームに基づくスロー逆送りは一層困難である。スローモーション順送りとしても知られているスロー順送りは、表示画像が通常速度よりも低い速度で進むようなモードである。スロー順送りの基本的形態は、トリックプレイGOPを発生する高速順送りアルゴリズムを利用する技術を用いて既に可能である。高速順送り速度をゼロと1との間の値に設定する結果として、高速順送りトリックプレイGOPの繰り返しに基づくスロー順送りストリームが得られる。平文ストリームの場合、これは問題とならないが、暗号化されたストリームの場合、これは或る特定の条件ではIフレームの一部の誤った解読につながり得る。この問題を解決する幾つかのオプションが存在するが、最も適切な方法は、高速順送りトリックプレイGOPを繰り返すのではなく、空のPフレームの追加により該トリックプレイGOPのサイズを延長することである。この技術は、実際に、スロー逆送りも可能にする。何故なら、高速順送り/逆送りに使用されるトリックプレイGOPに、従って独立に復号可能なIフレームに基づいているからである。しかしながら、以下のような理由により、この種のIフレームに基づくスロー順送り又はスロー逆送りを利用することは好ましくない。通常プレイにおけるIフレーム間の距離は約半秒であり、これは、スロー順送り又は逆送りの場合、スローモーション係数で乗算される。従って、このタイプのスロー順送り/逆送りは、現実にはユーザが馴れているスローモーションではなく、実際には連続する画像の間に大きな時間的距離を伴うスライドショーのようなものである。
【0063】
静止画モードと呼ばれる他のトリックプレイモードでは、表示画像は停止される。これは、静止画モードの間にわたり当該Iフレームに空Pフレームを追加することにより達成することができる。これは、最後のIフレームからの結果の画像が停止されることを意味する。通常プレイから静止画に切り換える場合、これは、CPIファイル内のデータによる最も近いIフレームでもあり得る。この技術は、高速順送り/逆送りモードの拡張であり、インターレース除去が使用された場合、良好な静止画像が得られる。しかしながら、通常プレイ又はスロー順送り/逆送りから静止画に切り換える場合、位置的精度が時には十分ではない。
【0064】
静止画モードはステップモードを実施化するために拡張することができる。ステップコマンドは、当該ストリームを何れかの次の又は前のIフレームに進める。ステップサイズは、最小で1GOPであるが、GOPの整数に等しいような大きな値に設定することもできる。この場合、ステップ順送り及びステップ逆送りの両方とも可能である。何故なら、Iフレームのみが使用されるからである。
【0065】
スロー順送りは、各フレームの繰り返しに基づくものとすることもでき、これは一層滑らかなスローモーションとなる。スロー順送りの最良の形態は、実際には、フレームの代わりにフィールドの繰り返しであろう。何故なら、時間解像度が倍となり、インターレースアーチファクトが存在しないからである。しかしながら、これは本来的にフレームに基づくMPEG2ストリームに対しては事実上不可能であり、大幅に暗号化されている場合は一層そうである。インターレースアーチファクトは、I及びPフレームに関しては、繰り返しを強制するための特別な空のフレームを用いることにより大幅に低減することができる。もっとも、このようなインターレース低減技術は、Bフレームに対しては利用可能ではない。I及びPフレームに対するインターレース除去の使用が、この場合において依然として有利であるか、又は視聴者にとり実際に一層不快な画像となるかは実験によってのみ検証し得る。
【0066】
時間的予測故に、個々のフレームに基づくスロー逆送りはMPEG信号にとっては実際には非常に複雑となる。完全なGOPが、バッファリングされ、且つ、反転されねばならない。知り得る限り、GOPにおけるフレームを逆の順序に再符号化する簡単な方法は存在しない。従って、略完全な復号及び符号化が、これら2つの間におけるフレーム順序の反転と共に必要となる。これは、完全な復号されたGOPのバッファリング並びにMPEGデコーダ及びエンコーダを必要とする。
【0067】
静止画モードは、フレームに基づくスロー順送りモードの拡張と定義することができる。これは、当該フレームのタイプが何であれ、静止画モードの期間にわたる現フレームの繰り返し表示に基づくものである。これは、スローモーション係数が、通常プレイストリームが低速化される係数を示すものであるならば、実際には無限のスローモーション係数によるスロー順送りである。Bフレームで画像が停止された場合、インターレース除去は可能ではない。その意味では、この静止画モードは、トリックプレイGOPに基づく静止画モードより悪い。これは、幾らか静止画の位置の精度が劣ることを犠牲にして、I又はPフレームで画像を停止させることによってのみ訂正することができる。この場合、PTS及び時間基準の不連続も回避することができる。更に、ビットレートも大幅に低減される。何故なら、Bフレームに対して必要とされるようにフレームデータ自体の繰り返しの代わりに、空のフレームの挿入によりI又はPフレームの繰り返しが強制されるからである。従って、技術的に言って、I又はPフレームにおける画像の停止は最良の選択である。
【0068】
上記静止画モードは、ステップモードで拡張することもできる。ステップコマンドは、当該ストリームを基本的に次のフレームに進める。次のPフレーム又は何れかの次のIフレームへのステップ動作により大きなステップサイズが可能となる。フレームに基づくステップ逆送りは可能ではない。唯一のオプションは、前のIフレームのうちの1つへのステップ逆送りである。
【0069】
以上、2つのタイプの静止画モード、即ちトリックプレイGOPに基づくもの及びフレームに基づくものに言及した。最初のものは高速順送り/逆送りに略論理的に関連する一方、2番目のものはスロー順送りに関係している。何らかのモードから静止画に切り換える場合、切り換え遅れを最小にするために、関係する静止画モードを選択することが好ましい。両方法から得られるストリームは非常に似ている。何故なら、これらは共に、アンカフレームの繰り返しを強制するための空フレームの挿入に基づいているからである。しかしながら、詳細なストリーム構成レベルでは、幾つかの差が存在する。
【0070】
以下においては、CPI("特徴点情報")ファイルに関係する幾つかの態様を説明する。
【0071】
ストリーム内のIフレームを見つける処理は、通常は、フレームヘッダを見つけるために当該ストリームの解析を必要とする。Iフレームが開始する位置を突き止めることは、記録がなされている間に、又は記録が完了した後にオフラインで、又は半オンライで、実際にはオフラインであるが記録の時点に対して小さな遅延で、実施することができる。Iフレームの終了部は、次のPフレーム又はBフレームの開始を検出することにより見つけることができる。このようにして導出されたメタデータは、特徴点情報ファイル又はCPIファイルと称することが可能な別個ではあるが結合されたファイルに記憶することができる。このファイルは、トランスポートストリームファイルにおける各Iフレームの開始部及び結果的に終了部に対するポインタを含むことができる。個々の記録は、自身のCPIファイルを有することができる。
【0072】
特徴点情報ファイル400の構造が図4に示されている。
【0073】
CPIファイル400とは別に、記憶された情報400も示されている。CPIファイル400は、ここでは説明しない幾つかの他のデータも含むことができる。
【0074】
CPIファイル400からのデータにより、当該ストリームにおける如何なるIフレーム201の開始部へのジャンプも可能となる。該CPIファイル400がIフレーム201の終了部も含んでいる場合、完全なIフレーム201を得るために、当該トランスポートストリームファイルから読み取るべきデータの量も正確にわかる。何らかの理由により当該Iフレームの終了部がわからない場合、全体のIフレーム201が読み取られることを確実にするために、全体のGOP又は当該GOPデータの少なくとも大部分が読み取られねばならない。当該GOPの終了部は、次のIフレーム201の開始部により与えられる。測定から、Iフレームデータの量は全GOPデータの40%以上であり得ることがわかる。
【0075】
トリックプレイの画像リフレッシュレートの低減は各Iフレーム201を数回表示することにより達成することができることが知られている。それに応じてビットレートが低減される。これは、Iフレーム201の間に所謂空Pフレーム202を追加することにより達成することができる。このような空Pフレーム202は、実際には空ではなく、当該デコーダに前のフレームを繰り返すように命令するデータを含むことができる。これは限られたビットの犠牲しか有さず、多くの場合、Iフレームと比較して無視することができる。実験から、IPP又はIPPP等のトリックプレイGOP構造は、トリックプレイの画像品質にとって許容することができ、高いトリックプレイ速度では有利でさえあり得ることが知られている。結果としてのトリックプレイのビットレートは、通常プレイのビットレートのものと同程度である。これらの構造が記憶装置からの必要とされる持続帯域幅を低減し得ることも言及されている。
【0076】
ここで、タイミングの問題及びストリーム構造に関する幾つかの態様を説明する。
【0077】
トリックプレイシステム500が図5に概念的に示されている。
【0078】
トリックプレイシステム500は、記録ユニット501と、Iフレーム選択ユニット502と、トリックプレイ発生ブロック503と、MPEG2デコーダ504とを有している。トリックプレイ発生ブロック503は、解析ユニット505と、加算ユニット506と、パケタイザユニット507と、テーブルメモリユニット508と、マルチプレクサ509とを含んでいる。
【0079】
記録ユニット501は、Iフレーム選択ユニット502に平文MPEG2データ501を供給する。マルチプレクサ509はMPEG2デコーダ504にMPEG2 DVB準拠のトランスポートストリーム511を供給する。
【0080】
Iフレーム選択器502は、記憶装置501から特定のIフレーム201を読み取る。どのIフレーム201が選択されるかは、以下に説明するようにトリックプレイ速度に依存する。取り出されたIフレーム201はMPEG2/DVB準拠のトリックプレイストリームを構築するために使用され、該ストリームは次いで復号及びレンダリングのためにMPEG2デコーダ504に送られる。
【0081】
上記トリックプレイストリームにおけるIフレームパケットの位置は、元のトランスポートストリームの相対タイミングと結びつけることはできない。トリックプレイにおいては、時間軸は速度係数により圧縮又は伸張され得、更に逆送りトリックプレイのために反転され得る。従って、元のタイムスタンプ付けされたトランスポートストリームのタイムスタンプはトリックプレイの発生には適さないであろう。
【0082】
更に、元のPCRタイムベースはトリックプレイに対して妨害的となり得る。先ず、PCRが、選択されたIフレーム201内で利用可能であることは保証されない。しかしながら、もっと重要なことは、PCRタイムベースの周波数が変化されることであろう。MPEG2仕様によれば、この周波数は27MHzから30ppm内でなければならない。元のPCRタイムベースは、この要件を満たすが、トリックプレイに使用された場合、トリックプレイ速度係数により乗算されるであろう。逆送りトリックプレイの場合、これは間違った方向に走るタイムベースとさえなる。従って、古いタイムベースは削除されねばならず、あらたしいものがトリックプレイストリームに追加されねばならない。
【0083】
最後に、Iフレーム201は、通常、デコーダ504に対し何時当該フレーム開始すべきか(復号タイムスタンプ、DTS)及び該フレームを何時提示(例えば表示)開始すべきか(提示タイムスタンプ、PTS)を告げる2つのタイムスタンプを含んでいる。復号及び提示は、DTS及びPTSが、デコーダ504内で当該ストリームにおけるPCRにより再生されたPCRタイムベースに等しい場合に開始することができる。例えば2つのIフレーム201のPCR値の間の距離は、それらの表示時間の通常の距離に対応する。トリックプレイにおいては、この時間距離は速度係数により圧縮又は伸張される。トリックプレイにおいては新たなPCRタイムベースが使用され、DTS及びPTSに関する距離は、最早、正しくないので、Iフレーム201の元のDTS及びPTSは置換されねばならない。
【0084】
上述した複雑さを解決するために、Iフレーム201は先ず解析ユニット505において基本ストリーム(エレメンタリストリーム)に分解することができる。次いで、基本ストリームレベルにおいて空のPフレーム202が追加される。得られたトリックプレイGOPは1つのPESパケットにマッピングされ、トランスポートストリームパケットにパケット化される。次いで、PAT、PMT等の補正されたテーブルが追加される。この段階において、新しいPCRタイムベースがDTS及びPTSと一緒に含まれる。トランスポートストリームパケットには、当該トリックプレイストリームが通常プレイに使用されるのと同一の出力回路により処理され得るように、PCRタイムベースに結合された4バイトのタイプストリームが前に添付される。
【0085】
以下においては、トリックプレイ速度に関連する幾つかの態様を説明する。この状況において、先ず、固定のトリックプレイ速度を説明する。
【0086】
前述したように、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により、トリックプレイ速度係数がNbにより各々示された場合、一般的にトリックプレイ速度は、
Nb=G/T (1)
により与えられる。
【0087】
Nbは基本速度とも呼ばれる。一層早い速度は、元のストリームからIフレーム201をスキップすることにより実現することができる。2つ目毎のIフレーム201がとられた場合、トリックプレイ速度は倍となり、3つ目毎のフレームがとられた場合、トリックプレイ速度は3倍となり、等々となる。言い換えると、元のストリームにおける使用されるIフレーム201の間の距離は2、3等となる。この距離は常に整数であり得る。トリックプレイの発生に使用されるIフレーム201の間の距離がDにより示される場合(D=1は全Iフレーム201が使用されることを意味する)、一般的トリックプレイ速度係数Nは、
N=D*G/T (2)
により与えられる。
【0088】
これは、基本速度の全ての整数倍を実現することができ、許容可能な速度の組となることを意味する。逆送りトリックプレイに対してはDが負となり、D=0は静止画となることに注意されたい。データは順方向においてのみ読み取ることができる。従って、逆送りトリックプレイにおいては、データは順方向に読み取られ、Dにより与えられる先行するIフレーム201を取り出すために逆方向へのジャンプがなされる。大きなトリックプレイGOPサイズTが一層遅い基本速度になることにも注意されたい。例えば、IPPPはIPPよりも一層細かな粒度の速度組になる。
【0089】
図6を参照して、トリックプレイにおける時間圧縮を説明する。
【0090】
図6は、T=3(IPP)及びG=12の状況を示している。D=2の場合、24フレームの元の表示時間は、3フレームのトリックプレイ表示時間に圧縮され、結果としてN=8となる。与えられた例において、基本速度は整数であるが、これが必ずしも当てはまるわけではない。G=16及びT=3の場合、基本速度は16/3=5及び1/3となり、これは整数トリックプレイ速度の組とはならない。従って、16なるGOPサイズに対してはIPPP構造(T=4)の方が一層適しており、結果として4xなる基本速度となる。12及び16なる最も普通のGOPサイズに適合する単一のトリックプレイ構造が望ましい場合、IPPPを選択することができる。
【0091】
次に、任意のトリックプレイ速度を説明する。
【0092】
幾つかの場合においては上述した方法から得られるトリックプレイ速度の組が満足のいくものとなるが、幾つかの場合においてはそうではない。G=16及びT=3の場合、依然として整数のトリックプレイ速度係数を好む場合もあり得る。G=12及びT=4の場合でさえ、例えば7x等の当該組においては利用可能でない速度を有することが好まれ得る。ここで、前記トリックプレイ速度方程式が反転され、距離Dが計算されるが、これは、
D=N*T/G (3)
により与えられる。
【0093】
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だけ増加させることにより、次の理想点を再び計算することができる。
【0094】
断片的距離でトリックプレイを図示する図7に示されるように、特にIフレーム201を選択する3つの可能性が存在する。即ち、
A.理想点に最も近いIフレーム;I=round(Ip)
B.理想点より前の最後のIフレーム;I=int(Ip)
C.理想点より後の最初のIフレーム;I=int(Ip)+1
である。
【0095】
明らかにわかるように、実際の距離はint(D)とint(D)+1との間で変化し、2つの発生の間の比は、平均距離がDに等しくなるようにDの分数に依存する。これは、平均トリックプレイ速度はNに等しいが、実際に使用されるフレームは理想のフレームに対して小さなジッタを有することを意味する。これに関して幾つかの実験が実行されたところ、トリックプレイ速度は局部的に変化し得るが、これは視覚的に乱すものではない。普通には、特に幾らか高いトリックプレイ速度では目立つことさえない。図7からは、方法A、B又はCの何れを選んでも本質的な差はないことも明らかである。
【0096】
この方法によれば、トリックプレイ速度Nは整数である必要はなく、基本速度Nbより大きな如何なる値とすることもできる。この最小値より低い速度も選択することができるが、その場合、画像リフレッシュレートが局部的に低下され得る。何故なら、実効的トリックプレイGOPサイズが倍になるか、更に低い速度では3倍又はそれ以上になるからである。これはトリックプレイGOPの繰り返しによる。というのは、当該アルゴリズムが同一のIフレーム201を2回以上選択するからである。
【0097】
図8は、N=2/3・Nbと等価のD=2/3の例を示している。ここでは、Iフレーム201を選択するために丸め関数が使用され、見られるように、フレーム2及び4が2回選択される。
【0098】
何れにしろ、上述した方法は連続的に変化可能なトリックプレイ速度を可能にする。逆送りトリックプレイの場合、Nに対して負の値が選択される。図7の例の場合、これは、単に矢印700が逆の方向を指すことを意味する。上述した方法は、先に言及した固定のトリックプレイ速度の組も含み、これらは、特に丸め関数が使用された場合、同じ品質を有するであろう。従って、この節で述べた柔軟な方法は速度の選択がどの様であれ常に実施化されるべきであることが適切であろう。
【0099】
ここで、トリックプレイ画像のリフレッシュレートに関する幾つかの態様を説明する。
【0100】
"リフレッシュレート"なる用語は、特に、新しい画像が表示される周波数を指す。速度依存的ではないが、Tの選択に影響を与え得るので、ここでは簡単に述べる。元の画像のリフレッシュレートがR(25Hz又は30Hz)により示される場合、トリックプレイ画像のリフレッシュレート(Rt)は、
Rt=R/T (4)
により与えられる。
【0101】
IPP(T=3)又はIPPP(T=4)のトリックプレイGOP構造によれば、リフレッシュレートRtは、ヨーロッパでは各々81/3Hz又は61/4Hzとなり、米国では各々10Hz又は71/2Hzとなる。トリックプレイ画像の品質の判定は幾らかは主観的事項であるが、実験から、これらリフレッシュレートは低い速度では許容可能であり、高い速度では更に有利であるとの明らかな手がかりが存在する。
【0102】
以下においては、暗号化されたストリーム環境に関する幾つかの態様を説明する。
【0103】
ここで、暗号化されたストリーム上でのトリックプレイの説明のための基礎として、暗号化されたトランスポートストリームについての幾らかの情報を示す。放送用に使用される条件付きアクセスシステム(Conditional Access System)に焦点を合わせる。
【0104】
図9は、ここで説明する条件付きアクセスシステム900を示す。
【0105】
該条件付きアクセスシステム900において、コンテンツ901はコンテンツ暗号化ユニット902に供給することができる。コンテンツ901を暗号化した後、コンテンツ暗号化ユニット902はコンテンツ解読ユニット904に暗号化されたコンテンツ903を供給する。この明細書において、ECMは権限制御メッセージ(Entitlement Control Message)を指すと述べた。更に、KMMはキー管理メッセージ(Key Management Message)を指し、GKMはグループキーメッセージ(Group Key Message)を指し、EMMは権限管理メッセージ(Entitlement Management Message)を指すものとする。制御ワード906をコンテンツ暗号化ユニット902及びECM発生ユニット907に供給することができる。ECM発生ユニット907はECMを発生し、同ECMをスマートカード905のECM復号ユニット908に供給する。ECM復号ユニット908は上記ECMから制御ワードを発生し、該制御ワードは暗号化されたコンテンツ903を解読するために必要とされる解読情報で、コンテンツ解読ユニット904に供給される。
【0106】
更に、許可キー(authorization key)910がECM発生ユニット907及びKMM発生ユニット911に供給され、その場合において、後者はKMMを発生し、同KMMをスマートカード905のKMM復号ユニット912に供給する。KMM復号ユニット912は出力信号をECM復号ユニット908に供給する。
【0107】
更に、グループキー914をKMM発生ユニット911及びGKM発生ユニット915に供給することができ、GKM発生ユニット915には更にユーザキー918を供給することができる。GKM発生ユニット915はGKM信号GKMを発生すると共に、同GKM信号をスマートカード905のGKM復号ユニット916に供給し、該GKM復号ユニット916は更なる入力としてユーザキー917を得る。
【0108】
更に、エンタイトルメント(権限)919をEMM発生ユニット920に供給することができ、該EMM発生ユニットはEMM信号を発生すると共に同信号をEMM復号ユーザ921に供給する。スマートカード905内に位置する上記EMM復号ユニット921は権限リストユニット913に結合されており、該権限リストユニットはECM復号ユニット908に対応する制御情報を供給する。
【0109】
多くの場合において、コンテンツプロバイダ及びサービスプロバイダは、条件付きアクセス(CA)システムを介して、特定のコンテンツ項目へのアクセスを制御したいと欲する。
【0110】
これを達成するために、放送されるコンテンツ901はCAシステム900の制御の下で暗号化される。受信機において、コンテンツは、CAシステム900によりアクセスが許可されたなら、復号及びレンダリングする前に解読される。
【0111】
CAシステム900は層状の階層構造を使用する(図9参照)。CAシステム900はコンテンツ解読キー(制御ワードCW906,909)をサーバからクライアントへECMと呼ばれる暗号化されたメッセージの形態で転送する。ECMは許可キー(AK)910を使用して暗号化されている。安全保護の理由で、CAサーバ900は許可キー910を、KMMを発行することにより更新する。実際には、KMMは特別なタイプのEMMであるが、明瞭化のために、KMMなる用語を使用する。KMMも、例えばグループキー(GK)914とすることが可能なキーを用いて暗号化されており、該グループキーは、これも特別なタイプのEMMであるGKMを送ることにより更新される。この場合、GKMはユーザキー(UK)917,918により暗号化され、該ユーザキーはスマートカード905に埋め込まれ、当該プロバイダのCAシステム900によってのみ知られた固定の固有のキーである。許可キー及びグループキーは、受信機のスマートカード905内に記憶される。
【0112】
エンタイトルメント919(例えば、視聴権)は、個々の顧客にEMMの形態で送信され、安全保護装置(スマートカード905)にローカルに記憶される。エンタイトルメント919は特定の番組(プログラム)に結合される。権限リスト913は、契約のタイプに応じて一群の番組に対するアクセスを与える。ECMは、エンタイトルメント919が特定の番組に対して利用可能である場合にのみ、スマートカード905によりキー(制御ワード)へと処理される。エンタイトルメントEMMは、KMMと同じ層状構造に従う(図9には示されていない)。
【0113】
MPEG2システムにおいては、暗号化されたコンテンツECM及びEMM(KMM及びGKMタイプを含む)は、全て単一のMPEG2トランスポートストリームに多重化される。上述した説明は、CAシステム900の概要である。デジタルビデオ放送においては、暗号化アルゴリズム、奇数/偶数制御ワード構造、ECM及びEMMの全体構造並びにそれらの参照が規定される。CAシステム900の詳細な構造並びにECM及びEMMのペイロードが符号化及び使用される方法は、プロバイダに固有のものである。また、スマートカードもプロバイダ固有である。しかしながら、経験から、多くのプロバイダが図9の概要図のような構造に本質的に従っていることが分かっている。
【0114】
以下においては、DVB暗号化/解読の主たる題目を説明する。
【0115】
適用される暗号化及び解読アルゴリズムは、DVB標準化組織により規定される。原則的に、2つの暗号化の可能性、即ちPESレベル暗号化及びTSレベル暗号化が規定される。しかしながら、実世界では、主にTSレベル暗号化が使用されている。トランスポートストリームパケットの暗号化及び解読は、パケットに基づいてなされる。これは、暗号化及び解読アルゴリズムが、新たなトランスポートストリームパケットが受信される毎に再開されることを意味する。従って、パケットは個別に暗号化又は解読することができる。トランスポートストリームにおいては、暗号化された及び平文のパケットが混合されている。何故なら、幾つかのストリーム部分は暗号化され(例えば、オーディオ/ビデオ)、他のものは暗号化されない(例えば、テーブル)からである。1つのストリーム部分(例えば、ビデオ)内でさえ、暗号化された及び平文のパケットが混合され得る。
【0116】
図10を参照して、DVB暗号化トランスポートストリームパケット1000を説明する。
【0117】
ストリームパケット1000は、188バイトの長さ1001を有し、3つの部分を含んでいる。パケットヘッダ1002は4バイトのサイズ1003を有している。パケットヘッダ1002に続いて、当該ストリームパケット1000にはアダプテーションフィールド1004が含まれ得る。その後に、DVB暗号化パケットペイロード1005を送信することができる。
【0118】
図11は、図10のトランスポートストリームパケットのヘッダ1002の詳細な構造を示している。
【0119】
トランスポートストリームパケットヘッダ1002は、同期ユニット(SYNC)1010と、パケット内のトランスポートエラーを示すことが可能なトランスポートエラーインジケータ(TEI)1011と、特に後続のペイロード1005におけるPESパケットの可能性のある開始部を示すことができるペイロードユニット開始インジケータ(PLUSI)1012と、当該トランスポートの優先度を示すトランスポート優先度ユニット(TPI)1017と、当該パケットの任務(assignment)を決定するために使用されるパケット識別子(PID)1013と、当該トランスポートストリームパケットを解読するために要するCWを選択するために使用されるトランスポートスクランブル制御子(SCB)1014と、アダプテーションフィールド制御子(AFLD)1015と、継続カウンタ(CC)1016とを有している。このように、図10及び図11は、暗号化されているMPEG2トランスポートストリームパケットを示しており、該パケットは異なる部分を有している。即ち、
− パケットヘッダ1002は平文である。該ヘッダは、パケット識別子(PID)番号、アダプテーションフィールドの存在、スクランブル制御ビット等の重要な情報を得るように働く。
− アダプテーションフィールド1004も平文である。該フィールドはPCR等の重要なタイミング情報を含み得る。
− DVB暗号化パケットペイロード1005は、DVBアルゴリズムを使用して暗号化されている可能性のある実際の番組コンテンツを含む。
【0120】
放送された番組を解読するために要する正しいCWを選択するために、トランスポートストリームパケットヘッダを解析することが必要となる。このヘッダの概要が、図11に示されている。放送された番組の解読にとり重要なフィールドは、スクランブル制御ビット(SCB)フィールド1014である。このSCBフィールド1014は、解読器が、放送された番組を解読するために何のCWを使用しなければならないかを示す。更に、該フィールドは、当該パケットのペイロードが暗号化されているか又は平文であるかを示す。全ての新しいトランスポートストリームパケットに対して、このSCB1014は解析されねばならない。何故なら、該SCBは時間にわたり変化し、パケット毎に変化し得るからである。
【0121】
以下においては、完全に暗号化されたストリーム上でのトリックプレイに関する幾つかの態様を説明する。
【0122】
これが関心のある主題であるという第1の理由は、平文上でのトリックプレイ及び完全に暗号化されたストリーム上でのトリックプレイは、一連の可能性における両極端であるからである。他の理由は、完全に暗号化されたストリームを記憶する必要があり得るようなアプリケーションが存在するからである。かくして、完全に暗号化されたストリーム上でトリックプレイを実行する技術を有することは有用なことであろう。基本原理は、記憶装置から十分に大きなブロックのデータを読み取り、これを解読し、該ブロック内のIフレームを選択し、これを用いてトリックプレイストリームを構築することである。
【0123】
斯様なシステム1200が図12に示されている。
【0124】
図12は、完全に暗号化されたストリームに対するトリックプレイの基本原理を示す。この目的のために、ハードディスク1201上に記憶されたデータが解読器1203にトランスポートストリーム1202として供給される。更に、ハードディスク1201はスマートカード1204にECMを供給し、その場合において、該スマートカード1204は該ECMから制御ワードを発生し、同制御ワードを解読器1203に送出する。
【0125】
上記制御ワードを使用して、解読器1203は前記暗号化されたトランスポートストリーム1202を解読し、解読されたデータをIフレーム検出器及びフィルタ1205に送出する。そこから、上記データは空Pフレーム挿入ユニット1206に供給され、該ユニットは該データをセットトップボックス1207に伝達する。そこから、データはテレビジョン1208に供給される。
【0126】
記録が何を含むかの問題に関して幾つかの態様を説明する。
【0127】
単一チャンネルの記録を行う場合、該記録は該チャンネルの記録を後の段階で再生するために要する全てのデータを含まなければならない。特定の応答器に全てを記録することだけに頼ることもできるが、この方法では、記録したい番組を再生するのに必要なものより遙かに多くを記録することになる。これは、帯域幅及び記憶空間の両者が浪費されることを意味する。従って、こうする代わりに、本当に必要なパケットのみが記録されるべきである。これは、各番組に関して、PAT(プログラム・アソシエーション(関連)・テーブル)、CAT(条件付きアクセステーブル)等の全てのMPEG2に必須のパケット、並びに明らかなことに各番組に対してビデオ及びオーディオパケット並びに何のパケットが番組に属するかを記述したPMT(プログラム・マップ・テーブル)を記録せねばならないことを意味する。更に、上記CAT/PMTは当該ストリームの解読に要するCAパケット(ECM)を記述することができる。記録が解読の後に平文でなされない限り、これらECMパケットも記録されねばならない。
【0128】
なされた記録が、完全な多重からの全てのパケットから構成されない場合、当該記録は所謂部分トランスポートストリーム1300(図13参照)となる。更に、図13は完全なトランスポートストリーム1301も示す。DVB規格は、部分トランスポートストリーム1300が再生される場合、NIT(ネットワーク情報テーブル)、BAT(ブーケ・アソシエーション・テーブル)等の全ての通常のDVB必須テーブルが削除されることを求めている。これらのテーブルの代わりに、部分ストリームはSIT(選択情報テーブル)及びDIT(不連続情報テーブル)テーブルが挿入されるようにしなければならない。
【0129】
以下では、ECMの処理に関する幾つかの態様を説明する。
【0130】
トリックプレイの間において次のブロックへジャンプすることは、当該ストリームにおいて逆にジャンプすることを意味し得る。これは、トリックプレイ逆送りの場合のみならず、緩やかな速度におけるトリックプレイ順送りの場合でもあり得ると説明されるであろう。順方向ジャンプによる順方向トリックプレイ及び本来の逆方向ジャンプによる逆方向トリックプレイに関する状況は後に説明する。
【0131】
データが解読されねばならないという事実に起因して、固有の問題が発生し得る。条件付きアクセスシステムは、送信のために設計することができる。通常プレイにおいて、送信されたストリームは元のタイミングで再構築することができる。しかしながら、トリックプレイは、変化されたタイミングにより暗号的メタデータの処理に関して厳しい意味を有し得る。データはトリックプレイにより時間的に圧縮又は伸張され得るが、スマートカードのレイテンシは一定に留まり得る。
【0132】
トリックプレイストリームを形成するために、前述したデータブロックは解読器を通過し得る。この解読器は、当該データブロックを解読するために、暗号化処理に使用された制御ワードを必要とする。これらの制御ワードも、暗号化されECMに記憶され得る。通常のセットトップボックス(STB)では、これらのECMは同調された番組の一部であり得る。条件付きアクセス(限定受信)モジュールは、斯かるECMを抽出し、スマートカードに送出することができ、このカードが斯かるECMを解読する権利又は権能(authorization)を有するなら、該カードから解読された制御ワードを入力することができる。制御ワードは、通常は、例えば約10秒等の相対的に短い寿命しか有さない。この寿命は、トランスポートストリームパケットのヘッダにおけるスクランブル制御ビットSCB1014により示すことができる。これが変化した場合、次の制御ワードが使用されねばならない。このSCBの変化又はトグルが、図14に垂直線により符号1402で示されている。
【0133】
図14を参照すると、特に2つの異なる筋書き又はストリームタイプを区別することができる。
【0134】
図14の下側の行に示されるストリームタイプIによれば、ECM当たり2つの制御ワード(CW)が供給される。
【0135】
図14の上側の行に示されるストリームタイプIIによれば、ECM当たり1つのみの制御ワード(CW)が供給される。
【0136】
図14は、符号1403により示された連続して配列された期間又は区間A,B,Cを有する2つのデータストリームを示している。図14の上側の行1400に示された筋書きでは、対応するECM当たり本質的に1つの制御ワードが供給される。これとは対照的に、下側の行1401では、各ECMは2つの制御ワード、即ち現期間又はECMに関する制御ワード及び、更に、後続の期間又はECMの制御ワードを有する。このように、これら制御ワードの供給に関して幾らかの冗長性が存在する。
【0137】
前記短い寿命期間の間において、解読情報の項目は何回が送信することができるので、斯様な制御ワードの寿命期間を経る途中で斯様なチャンネルへ同調することは、次の制御ワードを待つことを意味しない。当該条件付きアクセスモジュールは、見つけた最初の固有のECMのみをスマートカードに送出して該カードに対するトラフィックを低減又は最少化する。というのは、斯かるカードは、かなり遅いプロセッサを有し得るからである。
【0138】
このことは、暗号化されたストリームに対するトリックプレイの限界が存在し得ることを示している。そこには、スマートカードの処理能力の限定された速度に由来する暗黙的上限速度が存在し得る。トリックプレイにおいて、10秒なる制御ワード寿命はトリックプレイ速度係数により圧縮又は伸張され得る。ECMをスマートカードに送出すると共に解読された制御ワードを受け取るには、約半秒掛かり得る。制御ワードがECMに詰め込まれる方法はプロバイダ固有のものであり得、図14に示されるように、ストリームタイプI及びストリームタイプIIに関して特に異なり得る。
【0139】
CW Aは期間Aを暗号化するために使用されたCWを示し、CW Bは期間Bを暗号化するために使用されたCWを示し、等々である。水平方向に、送信時間軸がプロットされている。ECM Aは、期間Aの大部分の間に存在するECMであると定義することができる。その場合、ECM Aは現期間Aのための、及びストリームタイプIに関しては更に次の期間BのためのCWを保持することがわかる。一般的に、ECMは現期間のためのCWを少なくとも保持することができると共に、次の期間のためのCWを保持することができる。ザッピングのために、これは恐らく全ての又は多くのプロバイダにとり当てはまるであろう。
【0140】
更に続ける前に、解読器及び該解読器がCWをどの様に処理することができるかに関しての更なる情報を示す。解読器は2つのレジスタ、即ち"奇数"CW用のもの及び"偶数"CW用のものを含むことができる。"奇数"及び"偶数"は、CWの値自体が奇数又は偶数であることを意味する必要はない。斯かる用語は、当該ストリームにおける2つの連続するCWの間を区別するために特に使用される。何のCWがパケットの解読に使用されるべきかは、パケットヘッダにおけるSCB1014により示される。従って、当該ストリームを暗号化するために使用されるCWは奇数と偶数との間で交互となる。図14において、これは、例えばCW A及びCW Cは奇数である一方、CW B及びCW Dは偶数となることを意味する。スマートカードによる解読の後、CWは、図15に示されるように、前の値に上書きして、解読器の対応するレジスタに書き込むことができる。
【0141】
図15は、偶数CWを含む(レジスタ1501)及び奇数CWを含む(レジスタ1502)2つのレジスタ1501,1502を示している。更に、スマートカードのレイテンシ1500(スマートカードによりECMからCWを取り出す又は解読するために要する時間である)も図15に示されている。
【0142】
ストリームタイプIの場合、各ECMは2つのCWを保持し、結果として、両レジスタ1501,1502がECMの解読の後に上書きされ得る。レジスタ1501,1502のうちの一方が活性状態となり、他方が不活性状態となる。どちらのものが活性状態となるかは、SCB1014に依存する。本例では、SCB1014は期間Bの間において偶数レジスタ1501が活性状態のものであることを示すであろう。活性状態レジスタのみが、既に保持しているものと同一のCWにより上書きされ得る。何故なら、当該特定の期間の残りの解読のために依然として必要とされるからである。従って、不活性状態のレジスタのみが、新たな値で上書きすることができる。
【0143】
トリックプレイにおける期間Bを詳細に調べる。ECMが、この期間の開始点において、従ってSCBトグル1402が横断された時点でスマートカードに送られると仮定する。問題は、この場合、どのECMをスマートカードに送ることができるかである。
【0144】
このECMは、期間Cの開始時に使用するためのスマートカードによる適時の解読を保証するためにCW Cを保持していなければならない。
【0145】
該ECMは、当該解読器におけるCWの正しい利用可能性を妨害することなしにCW Bも保持することができる。
【0146】
再び図14を見ると、これは、ストリームタイプIの場合、期間Bの開始時にECM Bを送ることを意味し、ストリームタイプIIの場合ECM Cを送ることを意味することがわかる。一般的に、2つのCWを保持する場合、現ECMを送ることができ、1つのCWのみを保持する場合は1期間先行して送ることができる。ECMを1期間先行して送ることは、埋め込まれたECMとは相反し得るので、その場合、後者はストリームから除去されねばならない。もっと一般化された方法にとっては、元のECMがトリックプレイ発生回路又はソフトウェアによりストリームから常に削除されることが好ましいであろう。しかしながら、これが常に当てはまるとは限らない。
【0147】
図16は、高速順送りモードにおけるECM処理を示す。
【0148】
SCBトグル1402により分離される複数の連続する期間1403において、複数のデータブロック1600が再生され、その場合において異なるブロックの間で切り換え1601が生じる。
【0149】
ストリームタイプIの場合、期間A及びBの間の境界ではECM Bが送出される。ストリームタイプIIの場合、期間A及びBの間の境界ではECM Cが送出される。更に、ストリームタイプIによれば、期間B及びCの間の境界でECM Cが送出される。ストリームタイプIIの場合、期間B及びCの間の境界ではECM Dが送出される。
【0150】
ECMが正しい時点でトリックプレイのために利用可能になるために、ECMは別のファイルに記憶することができる。このファイルでは、何の期間(記録されるストリームの何の部分)にECMが属するかを示すことができる。MPEGストリームファイルにおけるパケットには、番号を付すことができる。期間における最初のパケット(SCBトグル1402)の番号は、この期間1403に対するECMと一緒に記憶することができる。ECMファイルは、ストリームの記録の間に発生することができる。
【0151】
ECMファイルは、記録の間に作成することが可能なファイルである。ストリームには、ビデオデータを解読するために要する制御ワードを含むことが可能なECMパケットを配置することができる。各ECMは特定の期間、例えば10秒にわたり使用することができ、この期間の間に何回(例えば100回)も(繰り返し)送信することができる。ECMファイルは、そのような期間の全ての最初の新しいECMを含むことができる。ECMデータは、このファイルに書き込むことができ、何らかのメタデータが付帯し得る。先ず、連続番号(1から計数する)が与えられ得る。第2フィールドとして、ECMファイルはSCBトグルの位置を含むことができる。これは、このECMを自身のコンテンツを正しく解読するために使用することができる最初のパケットを指すことができる。この場合、このSCBトグルの時間位置が第3のフィールドとして後続し得る。これらの3つのフィールドには、ECMパケットデータ自体が後続し得る。
【0152】
ECMファイルに記憶されたSCBトグルを使用して、斯様なトグルが横断されたかを、これがジャンプの間であってさえも、容易に検出することができる。正しいECMを送るために、ECMが1つのCWを含むか又は2つのCWを含むかを知ることが必要とされ得る。基本的に、これはわからない。何故なら、それはプロバイダ固有のものであり、秘密であるからである。しかしながら、これは、ECMを種々の時点で送出し、表示器上の結果を観察することにより実験的に容易に判定することができる。記憶装置自体内で実施化するのに特に適した代替方法は、下記の通りである。SCBトグルの時点において単一のECMをスマートカードに送出し、当該ストリームを解読し、来たる2つの期間内でPESヘッダをチェックする。GOP当たり1つのPESヘッダによれば、各期間内に約20個のPESヘッダが存在する。PESヘッダの位置は容易に検出することができる。何故なら、パケットの平文ヘッダ内のPLUSIビットが、その存在を示し得るからである。正しいPESヘッダが最初の期間(スマートカードのレイテンシの後の)の間でのみ見つかった場合、当該ECMは1つのCWを含む。これらが第2の期間の間でも見つかった場合は、当該ECMは2つのCWを含む。このような状況が、図17に示される。
【0153】
図17は、1つのCWの検出に対する及び2つのCW検出に対する状況を示す。理解されるように、暗号化されたコンテンツ1700の異なる期間1403が設けられる。スマートカードのレイテンシ1500により、ECM Aは解読されて、対応するCWを発生することができる。暗号化されたコンテンツ1700を解読することにより、解読されたコンテンツ1701を発生することができる。図17に更に示されるものは、PESヘッダ1702、即ち期間A(左)におけるPESヘッダA及び期間B(右)におけるPESヘッダBである。
【0154】
図17における1つのCWの期間Bの領域1703は、当該データが間違ったキーで解読され、従ってスクランブルされることを示す。このチェックは、記録の間に実行することができ、その場合、例えば20ないし30秒掛かるであろう。これはオフラインで実行することもでき、PLUSIにより示される2つのパケットのみ(各期間において1つ)をチェックすればよいから、非常に高速であり得る。適切なPESヘッダが利用可能でないという、ありそうにない事象においては、代わりに画像ヘッダを使用することができる。事実、検出のためには如何なる既知の情報も使用することができる。いずれにせよ、1/2CW指示子をECMファイルに記憶することができる。
【0155】
以下においては、特にスロー順送りストリームの処理に関する幾つかの態様を説明する。
【0156】
次に、トリックプレイGOPに基づくスロー順送り、静止画及びステップモードを説明する。
【0157】
スローモーション順送りとも称すことができるスロー順送りは、表示画像が通常よりも遅い速度で進むようなモードである。或る形態のスロー順送りは、図7及び図8を参照して前述した技術により既に可能である。高速順送り速度をゼロと1との間の値に設定する結果、高速順送りトリックプレイGOPの繰り返しに基づくスロー順送りストリームが得られる。平文ストリームにとり、これは適切な解決策であるが、暗号化されたストリームの場合、これは或る特定の条件ではIフレームの一部の誤った解読につながり得る。この問題を解決する1つのオプションは、前記高速順送りトリックプレイGOPを繰り返さないで、該トリックプレイGOPのサイズを空のPフレームの追加により延長することである。この技術は、事実、スロー逆送りをも可能にし得る。何故なら、これは、高速順送り/逆送りに使用されるトリックプレイGOPに、従って独立に復号可能なIフレームに基づくからである。
【0158】
このようなIフレームに基づくスロー順送り又はスロー逆送りは、下記の理由により特別な場合には不適であり得る。通常プレイにおけるIフレーム間の距離は約半秒であり、スロー順送り/逆送りの場合、該距離はスローモーション係数により乗算される。従って、このタイプのスロー順送り又はスロー逆送りは、正確にはスローモーションとして通常理解されているものではなく、実際には連続する画像の間に大きな時間的距離を伴うスライドショーのようなものである。
【0159】
静止画モードでは、表示画像は停止され得る。これは、静止画モードの期間にわたりIフレームに空のPフレームを追加することにより達成することができる。これは、最後のIフレームからの画像が停止されることを意味する。通常プレイから静止画像に切り換える場合、これも、CPIファイル内のデータによる最も近いIフレームであり得る。この技術は、高速順送り/逆送りモードの拡張であり、特にインターレース相殺が使用される場合、良好な静止画像が得られる。しかしながら、通常プレイ又はスロー順送り/逆送りから静止画へ切り換える場合、位置精度は常に満足のゆくものとは限らない。
【0160】
上記静止画モードは、ステップモードを実施するために拡張することができる。ステップコマンドは、当該ストリームを何れかの次の又は前のIフレームに進める。ステップのサイズは、最小で1GOPであるが、整数の数のGOPに等しい大きな値に設定することもできる。この場合、Iフレームのみが使用されるので、ステップ順送り及びステップ逆送りの両方が可能である。
【0161】
スロー順送りストリームの構築に対しては、多くの考慮事項がある。例えば、基本ストリームレベルでのスロー順送りストリームの構築は、完全に平文のデータに対してのみ実行することができる。結果として、通常プレイストリームが元々暗号化されていたとしても、スロー順送りストリームは完全に平文であろう。このような状況は、著作権保持者にとり許容不可能であり得る。更に、これは高速順送り/逆送りストリームの場合におけるよりも悪い。何故なら、真の高速順送り/逆送りストリームの場合におけるようにフレームの部分集合だけでなく、全ての情報(即ち、各々の及び全てのフレーム)が、当該スロー順送りストリーム内に平文で存在するからである。従って、平文のスロー順送りストリームから平文の通常プレイストリームを容易に再構築することができる。従って、通常プレイストリームが暗号化されているなら、該スロー順送りストリームも暗号化されるべきである。DVB暗号器は家電装置では許可されないので、これは、スロー順送りストリームが、元々送信された暗号化されたデータストリームの暗号化されたデータパケットを用いてトランスポートストリームレベルで構築される場合にのみ実現することができる。
【0162】
以下においては、図18ないし図63を参照して、本発明の実施例によるシステムにおいてデータストリームを処理することができるようなシステムを説明する。
【0163】
以下で述べるシステムは、図1ないし図17を参照して説明したシステムの何れかの枠内で且つ斯かるシステムの何れかとの組み合わせで実施化することができることを強調しておく。
【0164】
以下、図18ないし図22を参照して、本発明の実施例によるデータストリームを処理する方法を説明する。
【0165】
図18は、完全に暗号化されたMPEG2データストリーム1800を示し、該ストリームは安全保護の理由でデータソースから再生装置への移行の間に完全に暗号化されるようなデータストリームである。
【0166】
暗号化されたデータストリーム1800に関するメディアコンテンツのスローモーション再生であるスロー順送りトリックプレイモードを提供するために、以下に詳細に説明するような種々の操作ステップを実行することができる。
【0167】
第1ステップとして、図19に示されるように、上記の完全に暗号化されたMPEG2データストリーム1800は、部分的に解読されると共に部分的に暗号化されたハイブリッドデータストリーム1900を形成するように処理される。該ハイブリッドデータストリーム1900は、当該暗号化されたデータストリーム1800における隣接する暗号化されたフレーム1902の間の暗号化されたフレーム境界部分1901を、対応する解読されたフレーム境界部分1901により選択的に置換して、部分的に解読されると共に部分的に暗号化されたハイブリッドデータストリーム1900を形成することにより得ることができる。更に詳細には、解読されたフレーム境界部分1901の一部は、画像開始コード部1903により形成される。フレーム境界部分1901は、個々に解読することが可能な最小の部分とすることができ、該部分の一部は(所望の)画像開始コード部1903である。この処理は、当該ビデオコンテンツの連続するフレームの間の画像開始コード1903を(完全に又は部分的に)含むパケット1901が平文になる(即ち、部分1901が解読されたものとなる)一方、当該データストリーム1900の残りの(多くの場合、主たる)部分、即ち実際のオーディオ又はビデオコンテンツ1902が暗号化されたままとなるように実行することができる。しかしながら、画像開始コード1903は、以下で説明するように、トリックプレイ動作を可能にすべく復号された態様で存在する。
【0168】
図20からわかるように、ハイブリッドデータストリーム1900は、該ハイブリッドデータストリーム1900の隣接するフレーム1902をフレーム境界部分1901/画像開始コード部1903において分割することにより更に処理される。言い換えると、順次の連続的ハイブリッドデータストリーム1900は、対応するフレーム境界部分1901及び対応するフレーム1902を含むような別々の部分に分離される。
【0169】
更に、図21から分かるように、分離されたフレーム2000の幾つか、即ちBフレームは、所定のスロー順送り率に従って複数回(本実施例では3回)繰り返される。アンカフレーム(Iフレーム及びPフレーム)は、空フレーム2001を用いて繰り返される。本例では、スロー順送り率は、3なる係数である。これは、暗号化されたデータストリーム1800のビデオコンテンツが、当該スロー順送りモードにおいて、通常プレイ動作モードと比較して1/3の速度で再生されるべきことを意味する。
【0170】
トリックプレイストリームを得るために、(空のフレームを挿入する代わりに)アンカフレームを複数回繰り返すことも可能であると言える。個々の部分的に暗号化され且つ部分的に解読された部分2000を複数回繰り返すと共に、次いで、複製された分割フレーム2000を互いに接続することにより、画像開始コード1901及びフレーム1902の異なるグループから得られる隣接する部分が、互いに適切な形で合致しなくなってしまう。このため、これらの部分は、図22に示すようにトリックプレイに適したハイブリッドデータストリーム2201が得られるように、所望なら、接続部分2200を選択的に修正することにより結合される。
【0171】
以下においては、図23を参照して本発明の一実施例による処理装置2300を説明する。
【0172】
該処理装置2300により、図18ないし図22を参照して説明した種々の方法のステップを実行することができる。
【0173】
図23は、暗号化された再生されるべきオーディオビジュアルコンテンツが記憶されたハードディスク2301を示している。
【0174】
当該処理装置2300は、中央処理ユニット(CPU)2302等の制御ユニットにより制御することができ、斯かるCPUはユーザインターフェース2303を用いてユーザにより制御することができる。ユーザインターフェース2303により、ユーザは当該処理装置2300の動作を制御することができ、例えば通常プレイモード又はスロー順送りモード等のトリックプレイ動作を開始させることができる。
【0175】
対応する制御信号が中央処理ユニット2302からハードディスク2301に送られると、暗号化された形態のオーディオビジュアルコンテンツが該ハードディスク2301から解読器2304に送られる。解読器2304は、暗号化されたデータストリーム1800における隣接するフレーム1902の間の暗号化されたフレーム境界部分を、解読されたフレーム境界部分1901により選択的に置換して、部分的に解読されたデータストリーム1900を発生するように構成されている。
【0176】
部分的に解読されたデータストリーム1900は、該部分的に解読されたデータストリーム1900の隣接するフレーム1902をフレーム境界部分1901で分割する分割ユニット2305に供給される。分割されたハイブリッドストリーム部分2000のシーケンスは、所定の複製率に従って該分割フレーム2000を複数回(図18〜22の例では、3回)複製する複製ユニット2306に供給されるが、該所定の複製率はマイクロプロセッサ2302により及び/又はユーザインターフェース2303を操作するユーザにより規定又は決定することができる。
【0177】
図21に示した個々の部分は、次いで、複製ユニット2306から接着ユニット又は接続ユニット2307に供給することができ、該接続ユニットは図21の複製された分割フレームを接続して、トリックプレイが可能なストリーム2201を発生する。
【0178】
このストリームは、スピーカを備えるモニタ等の再生ユニット2308に供給することができ、該ユニットにおいては、このコンテンツの再生がマイクロプロセッサ2302の制御の下で及び/又はユーザインターフェース2303を介してのユーザの制御の下で可能となる。
【0179】
暗号化されたデータストリーム2201を再生のために解読すべく、再生ユニット2308内の更なる解読ユニット(図示略)を予見することも可能である。
【0180】
前記解読ユニット2304は、暗号化されたデータストリーム1800における隣接するフレーム1902間の暗号化されたフレーム境界部分のみを、フレーム境界部分1901を含む解読されたパケットにより選択的に置換し、全ての他のフレーム部分1902は暗号化されたままに維持する。これは高度の安全保護を保証する。何故なら、トリックプレイストリーム2201を発生するために平文でなければならない選択された部分のみしか解読されていないからである。
【0181】
後に詳細に説明するように、分割ユニット2305は2つの連続するフレームのデータを含み得る平文パケットを、各々が斯かるフレームの一方からのデータのみを含むような2つのパケットに変換し、これらパケットの各々に詰め物をすることができる。接着ユニット2307は、図21の複製された分割フレームを、フレーム境界部分1901が2つのフレーム1902の間に延びている位置2200を識別することに基づいて、及び斯かる識別された位置を補正することに基づいて接続することができる。
【0182】
このような補正は、フレーム境界部分1901のサイズの部分を決定することを含むことができる。該サイズが大きすぎる場合、短縮することができ、該サイズが小さい場合は、長さを増加させることができる。
【0183】
フレーム1902は、イントラ符号化フレーム(Iフレーム)、順方向予測フレーム(Pフレーム)又は双方向予測フレーム(Bフレーム)とすることができる。処理されるコンテンツ1800はビデオデータ及び/又はオーディオデータのデータストリームとすることができる。再生ユニット2308は、接続ユニット2307に接続されたデータストリームを再生することができる。暗号化されたデータストリーム1800は、暗号化されたMPEG2データストリームとすることができる。
【0184】
以下においては、図24を参照して、本発明の他の実施例によるデータ処理装置2400を説明する。
【0185】
データ処理装置2400は前記データ処理装置2300とは、図24の場合に解読ユニット2304が予定されていない点で異なる。この場合、ハイブリッドデータストリーム1900が、ハードディスク2301から直接供給される。これは、解読ユニット2304がハードディスク2301内に統合されているか、又はデータがハードディスク2301に既に図19に示すような態様で記憶されているかの何れかを意味する。
【0186】
以下においては、本発明の実施例によるスロー順送りトリックプレイ再生に関する更なる詳細を説明する。
【0187】
次に、ストリームの別個のフレームへの分割を説明する。
【0188】
トランスポートレベルでスロー順送りストリームを構築するのを可能にするためには、個々のフレームが一連のトランスポートストリームパケットとして利用可能であることが有利である。フレーム当たり1PESパケットの場合、これは当然に生じる。PES及びトランスポートストリームパケットは整列されているので、PESパケットは一連のトランスポートストリームパケットに含まれる。GOP当たり1PESパケットの場合、これはIフレームの開始にだけ当てはまる。全ての他のフレーム境界は、殆どの場合、パケット内の何処かに位置される。このパケットは、当該2つのフレームからの情報を含む。従って、先ず、このパケットを2つのパケットに分割することができ、最初のものは最初のフレームからのデータを含み、第2のものは次のフレームからのデータとなる。上記分割の結果の斯かる2つのパケットの各々は、アダプテーションフィールド(AF)により詰めることができる。
【0189】
この状況が図25に示されている。
【0190】
図25は、フレーム境界でのパケットの分割を示す。特に、図25は、各々がヘッダ2501とフレーム部分2502とを有する複数のTSパケット2500を示す。図25に示されたデータストリームの中央部分から分かるように、ヘッダ2501と2つの連続するフレーム2502とを有するパケットが、各々が別個のヘッダ2501と、後続するアダプテーションフィールド2503と、後続する対応するフレーム2502とを有するような2つの別個の部分に分割される。
【0191】
パケットの分割は、平文のストリームにとっては困難ではない。第1のオプションは、図26に示されるように、通常プレイのデータを完全に解読することである。図26は、通常プレイデータの解読の後のスロー順送りの構築を示す。ハードディスク2601からの暗号化された通常プレイのデータ2600は、平文ストリーム2603を発生する解読器2602に供給される。該平文ストリーム2603は、異なるフレームを図25に示した態様で分割するためのフレーム分割ユニット2604に供給される。次いで、このデータは、スロー順送りストリームを構築するスロー順送り構築ユニット2605に供給され、該スロー順送りストリームは次いでセットトップボックス2606に供給される。
【0192】
記憶された完全に暗号化されたストリーム2600又は記憶されたハイブリッドストリームの解読及びスロー順送りモードは困難ではない。何故なら、解読器2602により当該ストリームにおいてストリームデータがスキップ又は複製されることはないからである。記憶されたストリーム2600(完全に暗号化された又はハイブリッドの)は、解読器2602を介して単に通常より遅いレートで供給され、これは、埋め込まれたECM(エンタイトルメント制御メッセージ)にとり何の問題もないことも意味する。この場合、解読器ユニット2602から到来する平文ストリーム2603はパケットを分割するために、又は実際にフレーム分割ユニット2604における如何なる必要なストリーム操作を実行するためにも使用することができる。この場合、結果としてのスロー順送りストリームは平文ストリームである。
【0193】
暗号化された通常プレイストリームからの暗号化されたスロー順送りストリームの構築は、トランスポートレベルで実行される。何故なら、家電装置でのDVB(デジタルビデオ放送)暗号器の使用は特別な場合に許可されないからである。このため、全てのフレーム境界上に僅かの平文パケット2700及び2702のみを伴うハイブリッドストリーム(図27参照)が必要となる。図27は、更に、Iフレーム2703、Bフレーム2704又はPフレーム2705に属する暗号化されたパケット2701も示している。
【0194】
以下、記憶されたストリームが完全に暗号化されている場合、上記のようなストリームを記憶装置の再生側でどの様に発生することができるかを説明する。この場合、図26の解読器ユニット2602は、必要なパケットのみを解読するような選択型とすることができる。しかしながら、好ましくは、当該ストリームは図28に示すように既にハイブリッドストリームとして記憶されているものとする。
【0195】
図28は、記憶されたハイブリッドストリーム2800に対するスロー順送りの構築を示す。図28に示す配列において、ハードディスク2601とフレーム分割ユニット2604との間には解読器ユニット2602は予定されていない。しかしながら、この場合に、セットトップボックス2602に解読器ユニット2801を予定することができる。
【0196】
この場合、上記ハイブリッドストリームにおける平文パケット2700、2702は2つのフレームからのデータを含むパケットの分割も可能にしなければならない。これは、後に詳細に述べる規準により保証することができる。しかしながら、シーケンスヘッダコード又は画像開始コードの何らかの部分が、依然として、暗号化されたパケット内に位置する可能性がある。この場合、理想的な分割は容易には可能ではない。事実、分割は暗号化されたパケットと平文パケットとの間でなされ得る。これらの問題に対する解決策を、以下に更に詳細に説明する。その状況においては、空のPフレームのみがIフレームに連結されるか又はその逆とする。フレームに基づくスロー順送りの場合、他のタイプの連結も考えることができ、それらの中にはBフレームのBフレームに対する連結もある。その結果は、図29を参照して明確にされるように、これらのフレーム境界における或る種の接着アルゴリズムとなる。
【0197】
図29はデータストリームを示し、前のフレーム2900、現フレーム2912及び次のフレーム2901が示されている。前のフレーム2900の終了部には、3バイトの画像開始コード2902が設けられる。更に、現フレーム2912の開始部には、1バイトの画像開始コード2903が予定される。ここで、次のフレームに来ると、当該パケットのフレーム終了部が、前に、1バイトの画像開始コード2904を有する。次のフレーム2901の開始部には、3バイトの画像開始コード2905が設けられる。図29は、連結点に不完全な画像開始コードが存在し得ることを示している。これが、接続領域2906において接着を必要とさせ得る。このように、接着は、Bフレーム2907とBフレームの繰り返し2908との間で実行されるべきである。
【0198】
図29は、パケットヘッダ2909、平文データ2910及び暗号化されたデータ2911を特に示している。図29の例では、Bフレームの開始部及び終了部に1バイトのみの画像開始コードが存在する。結果的に、連結点では2バイトが失われている。後に詳述する接着アルゴリズムは、このような問題を直すことができる。この接着のためには、画像開始コードがどの様に分割されるかが知られねばならない。この情報は後に詳述する方法により得ることができる。
【0199】
以下においては、フレームの繰り返しを詳細に説明する。
【0200】
スロー順送りモードにおいては、デコーダは、何とかして、画像の表示をスロー順送り係数に従って繰り返すように強制されなければならない。Iフレームからの結果の画像の繰り返しを強制するために、空のPフレームを使用することができる。この技術は、Pフレームからの結果の画像にも適用することができる。しかしながら、この技術はBフレームには容易に適用することができない。何故なら、空のPフレームは、常にIフレーム又はPフレームであるアンカフレームを指すからである。これは、実際に、如何なる空のフレームにも当てはまる。従って、Bフレームから得られた画像の繰り返しは他の方法で実現されなければならない。可能性のある方法は、Bフレームデータ自体を繰り返すことである。繰り返されるBフレームは元のBフレームと同一のアンカフレームを指すので、結果として得られる画像も同一となるであろう。Bフレームに対するデータの量は、空のPフレームに対するよりは通常は大幅に多いが、それでも一般的には、Iフレームに対するよりは著しく少ない。いずれにせよ、伝送もスローモーション係数により乗算されるので、少なくとも平均ではビットレートの増加は必要でない。
【0201】
Iフレーム又はPフレームからの画像の繰り返しを強制するために使用される空フレームは、インターレース打消型のものとすることができ、かくして、これら画像に対するインターレースアーチファクトを低減する。しかしながら、斯様な低減はBフレームからの画像に対しては容易に可能ではない。何故なら、繰り返しが空フレームによって強制されるのではなく、Bフレームデータ自体の繰り返しによるからである。従って、これらBフレームは元のインターレース効果を有するであろう。インターレース打消がIフレーム及びPフレームに対して使用されたとしたら、これは非常にぎこちなく見える。何故なら、インターレース効果を伴う及び伴わない画像が、表示される画像のストリームに順に現れるからである。現在のところ、スロー順送りストリームを構築するにはインターレース打消を伴わない空フレームのみを使用する方がよいと信じられる。
【0202】
Iフレーム及びPフレームの繰り返しは、伝送ストリーム内に、元のIフレーム又はPフレームの後に空のPフレームを挿入することにより実行することができる。このような方法は、空のPフレームにより後続されたIフレームを有する高速順送り/逆送りストリームに対して使用することができる。しかしながら、この方法は、Bストリームを伴う記憶された伝送ストリームから構築されるスロー順送りストリームの場合におけるように、Bフレームも含むストリームに対しては絶対的に正しいものではない。伝送データから表示ストリームへの再配列により、Iフレーム及びPフレームが誤った位置で繰り返され、これによりフレームの通常の表示順序を妨げるであろう。これが、図30及び図31に示されている。
【0203】
図30は、通常プレイにおける再配列の効果を示している。図30は、伝送順序3000及び表示順序3001を示している。特に、図30は通常プレイにおける再配列の効果を示している。上側のラインは、Iフレーム2703、Pフレーム2705及びBフレーム2704を有する12フレームのGOPサイズの通常プレイ伝送(transition)ストリームを示す。明瞭化のために、次の伝送GOPの最初の4つのフレームも示されている。図30の下側のラインは、表示順序への再配列後のストリーム3001を示している。インデックスは表示フレーム順序を示している。MPEG2規格ISO/IEC13818-2:1995(E)(特に、第24及び25頁参照)によれば、再配列は下記のように実行することができる:
− Bフレームは元の位置を維持する;
− アンカフレーム(即ち、Iフレーム及びPフレーム)は次のアンカフレームの位置にシフトされる。
【0204】
図31は、スロー順送りモードにおける再配列の効果を示す。特に、図31は、伝送順序3100、再配列後の順序3101及び表示される画像の順序3102を示す。通常プレイストリームから構築されるスロー順送りストリームをより詳細に調べると、図31の一番上のラインは、この場合のスローモーションストリームの最初の部分の伝送順序3100を示し、3なるスローモーション係数を仮定している。空のPフレームをIフレーム及びPフレームの後に挿入することができ、Bフレームは繰り返すことができる。図31の真ん中のラインは再配列の効果を示している。図31の一番下のラインは、この場合に、空のPフレームによりIフレーム及びPフレームがどの様に繰り返されるかを示している。空のPフレームは、前のアンカフレームからの結果の画像のコピーであるような表示画像となり、該前のアンカフレーム自体も空のPフレームであり得る。図31では、インデックスにより示される通常表示順序3102が、フレームI4の表示が2つの部分に分割される故に妨害されることがわかる。最後のフレームI4だけが正しい位置に表示される。これは、Bフレームが誤って復号され得ることも意味する。
【0205】
以下においては、上記のような欠陥を如何にして補正するかの幾つかのオプションを説明する。1つの可能性が図32に示される。図32はアンカフレームの前に空のPフレームを挿入するものを示す。図32における3つの行は、図31における3つのラインと同様である。図32において、一番上のライン3100に示すように、空のPフレームは、記憶装置から抽出された伝送ストリームにおけるアンカフレームの前に挿入される。再配列されたストリーム3101では、空のPフレームはアンカフレームの後に配置される。これは、図32の表示画像3102から明らかなように、アンカフレームの正しい繰り返しのためにあるべき位置である。
【0206】
しかしながら、空のPフレームを回避することが何故適切であり得るかの意見が存在する。1つは、GOP内でのエラーの増殖に関するものである。Pフレームは前のアンカフレームに依存し、Bフレームは周りのアンカフレームに依存する。セットトップボックスへの伝送の間のデータエラーは符号化エラーとなり、従って画像における乱れとなる。このエラーがアンカフレームであると、該エラーはGOPの終わりまで伝搬する。何故なら、後続のPフレームは、このアンカフレームに依存するからである。また、Bフレームの影響を受ける。何故なら、これらBフレームは、復号のために、妨害された周囲のアンカフレームからの画像を使用するからである。これは、画像の乱れがGOPの終わりに向かって徐々に増加するという結果を有し得る。これは、GOPサイズが非常に大きく、従って時間的に非常に長くなり得るようなスロー順送りの場合に特に重要であり得る。一方、Bフレームにおけるデータエラーは非常に限られた影響しか有さない。何故なら、Bフレームには他のフレームは依存しないからである。従って、画像の乱れは当該Bフレーム及びその繰り返しに限られる。デジタルインターフェースではデータエラーは生ぜず、空のPフレームの使用を回避することには第2の利点が存在し得るとの意見があり得る。もし、これらがインターレース打消型のものである場合、これらは当然復号された画像においても変化し、結果として後続のフレームにとっても復号エラーとなる。従って、インターレース打消は不可能であろう。
【0207】
空フレームの構築を考えると、幾つかのタイプの空Bフレームを構築することができる。これらは、付加的なエラー増殖が生ぜず、インターレース打消を使用することができるという利点を有し得る。
【0208】
可能性のあるタイプの空Bフレームは、順方向予測空Bフレーム(Bfフレームと称する)及び逆方向予測空Bフレーム(Bbフレームと称する)である。
【0209】
Bフレームは、通常、双方向予測的であるが、単方向予測Bフレームも存在し得る。後者の場合、これら単方向予測Bフレームは順方向予測的又は逆方向予測的であり得る。順方向予測的とは、符号化の間においてアンカフレームが後続のBフレームを予測するために使用されることを意味する。従って、順方向予測Bフレームからの結果としての画像は、復号の間に前のアンカフレームから再構築される。これは、Bfフレームが前のアンカフレームの繰り返しを強制することを意味する。従って、これは、空Pフレーム又はPeフレームと同一の効果を有する。Bbフレームは反対の効果を有する。該フレームは、自身に後続するアンカフレームの表示を強制する。両タイプのBフレームに対して、インターレース打消バージョンも可能である。
【0210】
以下においては、このような空Bフレームを、スロー順送りストリームの構築のためにどの様に使用するかを説明する。
【0211】
Bbフレームに基づく第1の可能性が図33に示されている。
【0212】
Bbフレームは、アンカフレームの前に挿入され、再配列の間において自身の位置を維持する。アンカフレームは、次のアンカフレームの位置にシフトされる。該Bbフレームは、再配列されたストリームにおいて自身に後続するアンカフレームの表示を強制する。
【0213】
他のオプションは、図34に示されるように、Bfフレームの使用である。
【0214】
Bfフレームは、伝送ストリームにおけるアンカフレームの後に挿入される。再配列されたストリームにおけるアンカフレームの繰り返し表示が、斯かるアンカフレームに後続するBfフレームにより強制される。
【0215】
Bfフレームの使用は、高速順送り及び高速逆送りストリームの構築のための空Pフレームの使用に類似している。事実、その場合にはBfフレームの使用も可能であり、かくして、トリックプレイの発生を更に一層共通化させる。しかしながら、Bfフレームが高速順送り及び高速逆送りのために使用される場合、再配列の効果が考慮されねばならない。これは、PTS/DTS及び時間基準等の高速順送り/逆送りストリームにおける幾つかのパラメータが適切に選択されなければならないことを意味する。
【0216】
次に、個々のフレームの接着を説明する。
【0217】
特に、不完全な画像開始コードの場合におけるフレームの接着を説明する。スロー順送りストリーム内の連結点における所要の接着動作を決定するためには、先ず、元のストリームが何処で個々のフレームに明確に分割されるが明らかでなければならない。以下においては、GOP当たり又はフレーム当たり1個のPESパケットの実際的状況を考察する。
【0218】
フレーム当たり1つのPESパケットの場合、元のストリームは図35に示されるように、PLUSIを伴うパケットと先行するパケットとの間で分割することができる。
【0219】
図35には、フレーム当たり1つのPESパケットの場合のストリームの分割が示されている。図35に示されるデータストリームは、平文パケットヘッダ3500、アダプテーションフィールド3501、平文データ3502、暗号化されたデータ3503及び平文PESヘッダ3504を含んでいる。更に、PLUSIプレゼントは符号3505により示され、PESヘッダは符号3506により示される。
【0220】
個々のフレームは、複数の完全な元のパケットを有する。従って、パケットの分割は必要ではない。このフレーム分割は完全に暗号化されたストリームにおいても実行することができるが、スロー順送りストリームの構築には何らかの平文データへのアクセスが依然として必要である。PLUSIを伴うパケットの開始部における分割は、2つのパケットにわたって広げられた画像開始コードは存在しないことも意味する。個々のフレームは、自身の正しく且つ完全な画像開始コードを含む。従って、この場合は、接着動作は必要ではない。
【0221】
しかしながら、GOP当たり1つのPESパケットの場合、状況は異なる。PESヘッダが先行しない限り、フレーム間の分割は新たなフレームの画像開始コードにおいてなされる。
【0222】
分割点を決定するために下記のアルゴリズムを使用することができる:
1.元のストリームは、PLUSIビット組、画像開始コード及び画像コーティング拡張部を伴うパケットに関して同時に調査される;
2.PLUSIビット組を伴うパケットが最初に遭遇された場合は、このパケットの開始部で分割がなされる(画像開始コード3600及び画像コーティング拡張部3601を含み、図36を参照されたい)。次いで、当該ストリームは、画像コーティング拡張部をサーチされる。これが見つかった後、当該サーチはポイント1で説明したように継続される;
3.画像開始コードが最初に遭遇された場合は、分割は該画像開始コードの開始部においてなされる。多くの場合、これは、当該画像開始コードを含むパケットは2つのパケットに分割されねばならず、これらのうちの最初のものは前のフレームに割り当てられ、第2のものは後続のフレームに割り当てられることを意味する(画像開始コード3600の開始部におけるストリームの分割を示す図37を参照されたい。この場合、アダプテーションフィールドの挿入箇所は符号3700で示されている)。両パケットはアダプテーションフィールド3700により詰められる。この場合、第2のパケットのペイロードは画像開始コード3600で開始する。元のパケットの記録タイムスタンプは、当該分割の結果としての2つのパケットの各々にコピーされる。2つのフレームの連結点において分割からの2つのパケットが使用されるか又は元のパケットが使用されるかは、後述するように特定の状況に依存する。次いで、当該ストリームは画像コーティング拡張部をサーチされる。これを見つけた後、当該サーチはポイント1で説明したように継続される;
4.画像コーティング拡張部が最初に遭遇された場合、画像開始コードは検出不可能に違いない。何故なら、これは部分的に暗号化されているからである。これは、現平文領域が画像開始コードの幾つかのバイトで開始することを意味する。この場合、分割は現平文領域の最初の平文パケットの開始部でなされる(画像開始コード3600内での当該ストリームの分割を示す図38を参照されたい。該図は画像開始コードのバイト3800及び画像コーティング拡張部3601も示す)。ポイント1で説明したサーチは、画像コーティング拡張部3601を見つけた後に継続される。
【0223】
上述したアルゴリズムの結果、フレーム当たり1つのPESパケットを持つストリームに関する正しい分割点も得られるであろう。更に、該アルゴリズムは、平文ストリーム及び前述したハイブリッドストリームに対する適用のためにも設計されている。
【0224】
接着は、前記アルゴリズムのポイント4からのみ生じ得るような不完全な画像開始コードの場合においてのみ必要である。従って、ポイント4のみが、非理想的な分割点となる。平文ストリームは理想的な分割点のみを有する。何故なら、画像開始コードが常に見つかるからである。従って、この場合、接着は必要でない。しかしながら、ハイブリッドストリームは非理想的な分割点を含むであろう。以下に述べる方法は、当該画像開始コードのうちのどれだけ多くのバイトが非理想的分割点の何れの側にあるかを決定するために使用することができる。非理想的分割点の効果は、後に詳細に説明する。
【0225】
次に、何れかのタイプの空Pフレームが斯様な非理想的分割点に挿入されるような状況を考察する。最初の空のフレームを如何に扱うかを以下に説明する。分割点の後の画像開始コードの部分に等しい複数のバイトが、最初の空フレームの画像開始コードから削除される。中間の空フレームは変更されない。最後の空フレームは、後続のフレームの画像開始コードの欠けている部分のために補正されなければならない。従って、この欠けている部分は最後の空フレームの終了部に追加することができる。理想的分割点で挿入された空フレームに対し変更は必要ない。
【0226】
以下においては、Bフレームの繰り返しを考察する。Bフレームが両側に理想的分割点を有する場合、繰り返しのために如何なる接着動作も必要でない。しかしながら、当該フレームの何れかの側に非理想的分割点が存在すると、接着動作が必要となるか又は有利となり得る。元のフレーム及びその繰り返しが、同一のBフレームの系列を形成する。該系列の開始部及び終了部では接着動作は必要でない。何故なら、ここでは、フレームは通常プレイストリームにおけるように同じフレームに接続されるか、又は空フレームに接続されるかの何れかであるからである。最初の場合では、不連続部は存在しない。何故なら、当該データの通常の順序が、この位置で回復されるからである。2番目の場合に対する解決策は、先に示した。従って、Bフレームの終了部が同じBフレームの開始部に接続されるような中間の連結点のみが考察されねばならない。ここで述べる例は、図29を参照して前述した例であり、明瞭化のために図39において一層詳細に繰り返し説明する。
【0227】
図39は、連結点における不完全な画像開始コードを示す。
【0228】
正しい接着のためには、Bフレームの終了部及び開始部における画像開始コード(MPEG2内では、開始コードは長さが4バイトであり得る)のバイト数を知る必要がある。終了部におけるバイト数をnにより、開始部におけるバイト数をmにより表すと、理想的分割の場合、n=0及びm=4である。非理想的分割点の場合、或るフレームに対する数n及び後続のフレームに対する数mは、以下に示すような方法により決定することができる。
【0229】
nは決して4に等しくはならないことは明である。何故なら、その場合、分割は画像開始コードの開始点においてなされたことになり、結果としてn=0となるからである。一方、mは決して0ではあり得ない。何故なら、その場合、画像開始コードは完全に前のフレーム内となり、分割は理想的位置でなされたことになり、かくして、m=4となるからである。従って、0≦n≦3及び1≦m≦4が通常の状況である。
【0230】
或る同一のフレームNに対して数n及びmを得るために、これら数は、当該フレームの周囲の2つの分割点の情報から抽出されねばならない。かくして、n及びmは、繰り返されるべきBフレームの終了部及び開始部における画像開始コードのバイト数を表す。結果として、これらは、中間の連結点の前及び後の画像開始コードの複数のバイトも表すことになる。
【0231】
次に、n+m=4と仮定する。これは、当該Bフレームを囲む両分割点が理想的である場合である。しかし、その場合には接着動作が必要とされないことが既に分かっている。しかしながら、これは両分割点が非理想的である場合でもあり得る。これは、図40に示された状況である。
【0232】
図40は、従って、n+m=4なる例を示している。
【0233】
フレームNの最後のパケットが符号4000で示され、図40は、更に、符号4001により示されたフレームNの最初のパケットも示す。境界4002では、接着動作は必要ではない。画像開始コードのバイト(n=3)が符号4003により示され、画像開始コードのバイト(m=1)が符号4004により示されている。
【0234】
n+m=4なる事実は、正しい量の画像開始コードバイトが連結点に存在し、接着動作は必要ないことを意味する。
【0235】
しかしながら、図41はn+m>4の状況を示している。
【0236】
これは、連結点に1、2又は3バイト過剰に存在することを意味する。この場合、n+m−4に等しい数のバイトが第2フレームの開始部から削除される。これは、これら平文バイトを、詰め込みバイトを含むアダプテーションフィールド(AF)により置換することにより達成される。アダプテーションフィールドが既に存在する場合、その長さがm+n−4だけ増加されねばならず、破棄されるべきデータは、規格によれば16進数のFFを有する詰めバイトにより置換される。
【0237】
n+m>4及びn<3なる特別なケースでは、接着を行わないことも可能である。実効的に、基本ストリーム詰め込みを得る。
【0238】
接着動作が必要な箇所は、符号4100により示される。本例において、画像開始コードのバイト(n=2)は符号4101により示されている。画像開始コードのバイト(m=3)は符号4102により示されている。更に、画像開始コードのバイト(n=2)は符号4103により示され、画像開始コードのバイト(m=2)は符号4104により示されている。アダプテーションフィールドを用いて置換されたバイトの位置は、符号4105により示されている。
【0239】
図42を参照すると、n+m<4と仮定されている。
【0240】
これは、連結点における画像開始コードから1、2又は3バイトが不足していることを意味する。この場合、何のバイト又は複数のバイトがないかを知る必要がある。n及びmは両方ともわかるので、不足しているバイトは固有に識別することができる。かくして、不足バイトは新たなパケットに配置され、該パケットは更にアダプテーションフィールドにより詰められる。この接着パケットは、次いで、上記2つのフレームの間に配置される。この接着パケットは、符号4200により示されている。符号4201は画像開始コードのバイト(n=2)を示し、符号4202は画像開始コードのバイト(m=1)を示す。また、符号4204は挿入されたバイト(4−n−m)を示す。また、符号4205は画像開始コードのバイト(m=1)を示す。
【0241】
以下においては、タイムスタンプを用いたフレーム及びパケットの位置決めを説明する。
【0242】
この説明は、各パケットに予め添付された記録タイムスタンプを用いた、フレーム及びパケットのスロー順送りストリームの時間軸上への配置を扱う。説明は、元の通常プレイフレームの配置で開始する。次いで、Bフレームの繰り返し及び圧縮が説明される。続いて、空フレームの配置が説明される。最後に、PCRに関する幾つかの問題が議論される。
【0243】
次に、元の通常プレイフレームの位置決めを説明する。
【0244】
必要なデータが受信される前に復号が開始すると、復号問題が発生し得る。このような可能性のある復号問題は、スロー順送りストリームの場合、フレームデータの終わりから、このフレームのDTSまでの距離がスロー順送りストリーム及び通常プレイストリームに対して同一であるなら回避することができる。これは、対応するDTSの当該フレームデータの開始における距離を通常プレイストリームと同一に維持すると共に、このフレームのパケットを元の通常プレイストリームからのと同一のパケット距離で配置することにより達成することができる。
【0245】
この状況が、DTSまでの変更されない距離を示す図43に示されている。DTSまでの距離は、図43に示されるよりも大幅に大きくすることができる。
【0246】
図43は、符号4300で示された通常プレイにおける状況を示すと共に、符号4301で示されたスロー順送りにおける状況を示している。
【0247】
フレームデータの開始時点は、このフレームの開始におけるシステムタイムカウンタの値により与えられる。これは、事実上のPCR値PCRSにより示される。上付文字N及びSは、記録された通常プレイストリームにおける元の値及びスロー順送りストリームにおける新たな値を、各々、示す。この場合、フレームの開始に対する配置規則は、
DTSS−PCRSS=DTSN−PCRSN (5)
により与えられ、これは、
DTSS−DTSN=PCRSS−PCRSN (6)
に書き換えることができる。
【0248】
通常プレイストリームにおけるフレームの元の位置に対するスロー順送りストリームにおける該フレームのオフセット(offset)は、
offset=PCRSS−PCRSN (7)
により与えられ、これは、
offset=DTSS−DTSN (8)
に変形することができる。
【0249】
必要とされるDTS値は、各スロー順送りフレームに対して、及び、必要なら、GOP内のDTSを持たない通常プレイフレームに対しても計算することができる。通常プレイストリームにおける及びスロー順送りストリームにおける全ての元のフレームのDTSが利用可能となるので、これらフレームのオフセットを、それらの新たな及び元のDTS値の間の差として計算することができる。次いで、このオフセットは、当該フレームを配置すると共に、このフレームのデータ内に存在するPCRSのPCR値を補正するために使用される。後者は容易である。即ち、オフセットが元のPCR値に単に加算される。PCR拡張部は変更されない。これは、DTSとPCRとの間にドリフトが生じないことを保証する。何故なら、当該補正が両ケースとも上記オフセットに等しいからである。この場合、新たな及び元のPCRベース(base)値の間の関係は、
PCRbaseS=PCRbaseN+offset (9)
により与えられる。
【0250】
フレームの位置決めは、もっと幾らか困難である。位置決めは、全パケットに予め添付された4バイトの記録タイムスタンプ(TST)の補正により達成される。この目的のために、前記オフセットは90kHz基準から27MHz基準に再計算することができる。素直な選択は、上記オフセットを300により乗算することであろう。しかしながら、この場合、通常プレイからスロー順送りに切り換える場合のPCRクロック周波数の可能性のあるジャンプが考慮されねばならない。このようなジャンプは、そうあるべきように、タイムスタンプカウンタのクロックが記録の間にPCRにロックされていたなら、決して発生しない。しかしながら、何らかの理由でタイムスタンプがPCRにロックされていない場合、ジャンプするPCRクロック周波数は、それでも、追加の乗算係数Mを使用することにより回避することができる。この場合、この係数は、記録された通常プレイストリームにおけるPCRを含む最新の2つのパケットのタイムスタンプ及びPCR値の比に等しい。最新のとは、現フレームの開始前の最後の2つのPCRパケットを意味する。この比は、ロックされたタイムスタンプの理想的な場合、1に等しくなる。これらの少なくとも2つのPCRパケットをP(k−1)及びPkにより示すと、当該フレームの全パケットのタイムスタンプに関するオフセットは、
TSToffset=300xoffsetxM (10)
により与えられ、ここで、
M=(TSTN{Pk}−TSTN{P(k-1)})/(PCRN{Pk}−PCRN{P(k-1)}) (11)
である。
【0251】
この式におけるPCR値は、事実、27MHzクロックに基づく全PCR値となる。これは、PCRベース及び拡張から下記の方法で計算することができる:
PCR=300xPCRbase+PCRext (12)
【0252】
パケットP(k−1)とPkとの間でTST又はPCR値に折り返し(wrap)が存在するとMの計算に変な結果生じ得ることは明らかである。これは、簡単に回避することができる。パケットPkに対する値がパケットP(k−1)に対するより小さい場合、TST又はPCRの範囲に対応する値が、この減算に先立ちパケットPkに対する値に加算されねばならない。これは、TST又はPCRに対するレジスタは通常必要とされるよりも1ビット広くなければならないことを意味する。TSTに対しては、これは、この条件が生じた場合には上記追加ビットが1に設定され、それ以外ではゼロに設定されることも意味する。残りのビットは、常に、元のTSTビットに等しい。
【0253】
計算されたTSTオフセットは、このフレームの全パケットのタイムスタンプを補正するために使用される。これは、オフセット値が、記録されたタイムスタンプに加算されることを意味する。
【0254】
以下においては、Bフレームの繰り返しを説明する。
【0255】
Bフレームからの結果の表示画像の繰り返しは、Bフレームデータの繰り返しにより実施される。この結果、スロー順送りストリーム内に同一のBフレームの系列が得られる。この系列の最初のフレームの配置は、元の通常プレイフレームの位置決めを扱う場合におけるのと類似する。残りのフレームは、反復Bフレームと呼ばれる。これらは、最初のフレームと同様に処理することができ、これは、オフセットがスロー順送りストリーム及び元の記録されたストリームにおけるDTS値の間の差として計算されることを意味する。記録されたフレームのDTSは、同一のBフレームの全系列に対して同一である。スロー順送りストリームにおいては、或るフレームのDTSは、デルタにより増加された前のフレームのDTSと常に等しくなる。これは、反復BフレームBRのオフセットも、下記の式により計算することができ、該式においてBLは前のBフレームを示す:
offset{BR}=offset{BL}+Delta (13)
【0256】
次いで、上記オフセットは、先に説明した態様で、特定のBRフレームのパケットの(変換後の)タイムスタンプ及び恐らくは現在のPCRを補正するために使用される。
【0257】
図44は、同一のBフレームの系列の境界における等しいオフセットを示す。該状況は通常プレイに対して(符号4400)及びスロー順送りに対して(符号4401)示されている。
【0258】
当該連結点に空フレームが挿入されないなら、或る系列の最初のBフレームのオフセットは、スロー順送りストリームにおける前のフレームのオフセットと等しいことを示すことができる。2つの状況が、この要件を満たす。最初のものは、空フレームの事前挿入の場合にBフレームが前のアンカフレームと連結される場合である。第2のものは、Bフレームが前のBフレームと連結される場合である。図44は、2つのBフレームの連結に関する効果を示している。同一のことが、事実、系列の終了部にも当てはまる。また、ここでは、連結点の周りの2つのフレームのオフセットは、この点に空フレームが挿入されないなら同一となる。図44も、これを2つの連結されたBフレームに関して示している。他の状況は、Bフレームの後挿入が用いられる場合の、Bフレームの後続のアンカフレームへの連結である。
【0259】
これは、斯様な連結点の周りの2つのフレームが、通常プレイストリームにおけるのと同じ態様で接続されることを意味する。このような理由により、斯様な連結点においては、元のパケットが常に使用され、当該パケットが2つのフレームからの情報を含む場合における分割の結果としての2つのパケットは決して使用されない。また、(既に前述したように)斯様な点では接着が必要でないことも明らかである。全ての他の連結点では、もし存在するなら、分割からの2つのパケットが使用される。
【0260】
以下においては、Bフレームの時間圧縮を説明する。 Bフレームの持続時間が通常は1フレーム時間よりも小さいことが予測され得る。平均では、これは真であるが、時にはBフレームの伝送時間は1フレーム時間よりも大きくなり得る。大凡30秒の期間での測定において、1.4フレーム時間のBフレームが検出された。この測定が図45に示されている。平均のBフレームデータ長は0.6フレームに等しいが、規則的に、Bフレームデータの持続時間は1フレーム時間より大きくなる。
【0261】
図45は、時間が秒でプロットされた横軸を持つグラフ4500を示す。該グラフ4500の縦軸4502に沿って、フレームの長さがフレーム時間の数でプロットされている。
【0262】
Bフレームのパケットの、これらのタイムスタンプのTSTオフセットでの補正による位置決めは、Bフレームの持続時間が1フレーム時間より短い限り、正しい結果となる。しかしながら、スロー順送りストリームにおけるBフレームが1フレーム時間より大きい場合、該フレームの終了部が後続のフレームと重なる。何故なら、これらフレームの開始部は1フレーム時間の差で配置されるからである。これは、完全には正しくない。何故なら、最後の反復Bフレームは後続のフレームとは決して重ならないからである。1フレーム時間より大きなBフレームに関する状況を図46で明確にする。図46は、Bフレームが1フレーム時間より大きな場合のデータの重なりを示す。
【0263】
図46は、通常プレイの状況4600、圧縮無しのスロー順送りの状況4601及び圧縮を伴うスロー順送りの状況4602を示す。フレーム時間は、符号4603により示される。Bフレームは符号4604を有し、次のフレームは符号4605を有し、前のフレームは符号4606を有し、圧縮されたBフレームは符号4607により示されている。更に、隣接するフレームの間の重なりは符号4608により示されている。
【0264】
前及び次のフレームのタイプは、上述した効果には何の影響も有さない。従って、これらはアンカフレーム、Bフレーム又は空フレームとさえすることもできる。
【0265】
これは、同一のBフレームの系列のうちの最後を除く全Bフレームは、時間的に圧縮されねばならないことを意味する。この圧縮は、局部的ビットレートを、全通常プレイストリームの概ね最大ビットレートのレベルまでさえ増加させ得る。この増加を可能な限り制限するために、Bフレームのパケットは利用可能なフレーム時間にわたり均等に分散される。Bフレームの最初のパケットのタイムスタンプは、先に示したオフセット規則で計算される。BフレームのパケットがPjにより示される場合(インデックスjは当該Bフレーム内のパケット番号である)、スロー順送りストリームにおける圧縮されたBフレームの最初のパケットのタイムスタンプは:
TSTS{P1}=TSTN{P1}+TSToffset (14)
により与えられる。
【0266】
当該フレームの後続するパケットに対するタイムスタンプの増加は、1フレーム時間を該フレームのパケット総数により除算したものに対応する値に等しい。接着パケット及びPCRパケット等のBフレームの終了部における追加のパケットは、この数に含まれなければならない。このパケットの数をNbにより示し、圧縮されたBフレームのパケットの間の距離をdbにより示すと、この距離は:
db=300xDelta/Nb (15)
により与えられる。
【0267】
スロー順送りストリーム及び圧縮されたBフレームの残りのパケットのタイムスタンプは、この場合:
TSTS{Pj}=TSTS{P(j-1)}+db (16)
により与えられる。
【0268】
非理想的な場合、上記距離の計算のための乗算係数300は、圧縮されたBフレームの最後のパケットと後続のフレームの最初のパケットとの間のパケット距離の問題となり得る。これは、上記係数300をとらず、代わりに上記デルタをオフセットに関して説明したのと同じ方法で変換することにより解決することができる。しかしながら、実用的な解決策は、パケットの実際の数より1だけ大きいNbの値をとることである。図47は、不規則なパケット距離及び1フレーム時間より大きな持続時間を持つBフレームが、如何にして、1フレーム時間の持続時間及び一定のパケット距離を持つBフレームに圧縮されるかを示す。1フレーム時間は、タイムスタンプの300xDeltaの増加に対応する。Nbがパケットの実際の数より1だけ大きくなるように選択される事実の結果、圧縮されたBフレームの終了部に幾らかの空きスペースが得られる。
【0269】
従って、図47は均一に分布されたパケットを持つBフレームの圧縮を示す。
【0270】
図47は、圧縮されていない状態4700及び圧縮された状態4701を示すと共に、Bフレーム4702及び1フレーム時間内に圧縮されたBフレーム4703を示す。
【0271】
Bフレームに対する等しいパケット分布の方法を、圧縮が必要とされる場合のみでなく全ての場合に使用することができる。しかしながら、殆どの場合では、これはBフレームが伸張されることを意味する。Bフレームの最初のパケットに対するTSTオフセットの適用は、このパケットのDTSまでの距離が通常プレイストリームに等しいことを意味する。この場合、伸張の結果、当該Bフレームデータの終了部と対応するDTSとの間において元のものより時間距離が小さくなる。しかしながら、フレームのDTSは当該フレームデータの開始の1フレーム時間よりは決して早くなり得ないことを理解することができる。その理由は下記の通りである。元のストリーム及びフレームのDTSは、定義により、前のフレームのDTSより常に1フレーム時間遅い。この前のフレームのDTSは、このフレームのデータの終了より決して早いことはあり得ず、従って現フレームのデータの開始よりも決して前ではない。これは、任意のフレームのDTSは、このフレームのデータの開始より少なくとも1フレーム時間遅いことを意味する。これは、フレームデータが1フレーム時間内に均一に分布されていても、常に該フレームデータの終了より後であることも意味する。従って、説明した等しいパケット分布は、最後の反復Bフレームを除く全てのBフレームに適用されるべきである。簡略化のために、圧縮され及び伸張されたフレームは圧縮されたフレームと称することができる。
【0272】
接着は、Bフレームの等しい系列におけるBフレームの間においてのみ必要である。従って、可能性のある追加の接着パケットは、圧縮されたBフレームの終わりにのみ追加され、それ以外では決して追加されない。付加的PCRパケットは、最後の反復Bフレームの終わりを除き、Bフレームの終わりに追加される。何故なら、この点には空きがないからである。これは、付加的PCRは圧縮されたBフレームの終了部においてのみ追加されることも意味する。従って、これらのパケットに対しては特別な配置アルゴリズムは必要ではない。何故なら、これらは全て圧縮アルゴリズムに含まれるからである。
【0273】
Bフレームの圧縮の結果は、フレームデータ内のPCRの値の補正は、最早、斯様なBフレームにとり正しくないということである。この場合において該PCR値が如何にして補正されるか、及び圧縮されたBフレームの終了部に追加されるPCRの値が如何にして計算されるかを、以下に説明する。次いで、空フレームの挿入が説明される。
【0274】
挿入される空フレームが何処に配置されるかを決定しなければならない。スロー順送りストリームにおける他のフレームの位置を考察すると、特に大きなスローモーション係数の場合は、主な時間間隙は空フレームが挿入されるべき箇所に存在することが明らかである。過度のPCR距離による問題を避けるために、空フレームは、この領域内に分散されねばならず、且つ、各空フレームはPCRを含まなければならない。このような理由により、連続する空フレームの間の距離は、1フレーム時間となるように選定される。最初の空フレームは、前のフレームに直接連結される。これが、図48に示される。
【0275】
図48は、空フレームの配置を示し、前のフレーム4800、空フレーム4801、フレーム時間4802後の更なる空フレーム4801が配置される等々のシーケンスを示している。次のフレームは符号4803により示されている。
【0276】
配置アルゴリズムは、空フレームの事前若しくは事後挿入又はタイプには無関係である。しかしながら、空フレームの最初のパケットの配置と、残りのパケットの配置との間は区別されるべきである。
【0277】
以下においては、空フレームの最初のパケットの配置を説明する。
【0278】
図49から分かるように、ここでは、空フレームの最初のパケットの位置決めを説明する。前のフレーム4900には、複数の空フレーム4901、4902、4903等々が後続する。空フレームの最初のパケットはFPiにより示され、ここで、iは空フレームのシーケンス内での当該空フレームのフレーム番号である。
【0279】
最初の空フレームの最初のパケットであるFP1の配置で開始すると、このパケットのタイムスタンプを導出する幾つかのオプションが存在する。その1つは、先行するフレームの最後のパケットのスロー順送りタイムスタンプに値dを加算することである。この最後のパケットをPLとして示すと、最初の空フレームの最初のパケットのタイムスタンプは、
TSTS{FP1}=TSTS{PL}+d (17)
により与えられる。
【0280】
上記dなる値も、幾つかの方法で選択することができる。或る可能性は、先行するフレームの最後の2つのパケットのタイムスタンプの間の差を、dのための値として使用することである。この場合、これらタイムスタンプは、スロー順送りストリームから又は元の記録されたストリームからの何れかから取り出すことができる。何故なら、圧縮されたフレームは、いずれにせよ、空フレームに決して先行することはないからである。前のフレームの最後の2つのパケットをP(L-1)及びPLにより示すと、dの値は、
d=TST{PL}−TST{P(L-1)} (18)
により与えられる。
【0281】
dの計算のためのタイムスタンプがスロー順送りストリームから取り出される場合、FP1の計算のための前記式も:
TSTS{FP1}=2xTSTS{PL}−TSTS{P(L-1)} (19)
と書くことができる。
【0282】
後続の空フレームの最初のパケットのタイムスタンプは、FP1のタイムスタンプに対する1フレーム時間に対応する値の反復的加算により得ることができる。この値は、この場合、300xDeltaとなるように選択することができる。かくして、後続する空フレームの最初のパケットのタイムスタンプは:
TSTS{FPi}=TSTS{FP(i-1)}+300xDelta (20)
により与えられる。
【0283】
以下においては、空フレームの残りのパケットの配置を説明する。
【0284】
空フレームのパケットはPjにより示され、ここで、jは該空フレーム内のパケット番号である。P1は、上記においてFPにより示された空フレームの最初のパケットである。
【0285】
残りのパケットの位置は、空フレームの最初のパケットから導出される。このために、パケット間の距離が決定されねばならない。これは、事実、該距離が短すぎない限り厳しくはない。何故なら、十分な空間が利用可能であるからである。ここでは、2つのオプションを述べる。
【0286】
第1のオプションは、先に述べたdなる値をここでも使用することである。この場合、この値は、空フレーム内のパケットのタイムスタンプを増加させるために使用される。かくして、これらタイムスタンプは:
TSTS{Pj}=TSTS{P(j-1)}+d (21)
により与えられる。
【0287】
これが図50に示され、該図は前のフレーム5000、第1の空フレーム5001及び第2の空フレーム5002のシーケンスを示している。従って、図50は、前のフレームに基づく空フレームのパケット距離を示す。
【0288】
第2のオプションは、空フレームのパケットを1フレーム時間にわたり均一に分散させることである。この場合、増分は、当該空フレームのパケット数により除算された1フレーム時間に対応する値に等しい。このパケット数をNeにより、パケット間の距離をdeにより各々示すと、該距離は:
de=300xDelta/Ne (22)
により与えられる。
【0289】
この場合、空フレーム内のパケットのタイムスタンプは:
TSTS{Pj}=TSTS{P(j-1)}+de (23)
により与えられる。
【0290】
この状況が図51にも示され、該図は前のフレーム5000が第1の空フレーム5001及び第2の空フレーム5002により後続されるのを再び示している。
【0291】
従って、図51は1フレーム時間にわたり均一に分散された空フレームのパケットを示す。
【0292】
次に、PCRに関する幾つかの態様を説明する。
【0293】
先ず、スロー順送りストリームには追加のPCRは挿入されないと仮定することができる。Iフレームは通常は1フレーム時間より大幅に大きいので、該フレームがPCRを含むことは非常にありそうなことである。Pフレームの場合、確率は早くも低減される。Bフレームは殆どの場合1フレーム時間より小さいので、多くのBフレームはPCRを含まないであろう。これは、Bフレームが繰り返されたとしても、スロー順送りストリームではPCRの大きなギャップが生じるであろうことを意味する。一般的に、PCR間の最大距離は、スローモーション係数により増加されると言うことができる。これは、明らかに、スロー順送りストリームへの追加のPCRの挿入を必要とする。
【0294】
フレームデータに埋め込まれた元のPCRとは別に、付加的PCRが空フレーム及びBフレームの終わりに追加されねばならない。後者は最後の反復Bフレームの終わりを除いて成り立つ。何故なら、この点には空きはないからである。これら対策によっても、上記最大距離が、問題となるレベルまでではないが、依然としてDVB規格の要件を超過する可能性がある。一般的に、当該状況は高速順送り/高速逆送りに対するよりは有利である。
【0295】
フレームに埋め込まれたPCRの補正は、少なくとも圧縮無しのフレームに関しては先に説明した。何らかの他の方法が、空フレームにおける及びBフレームの終わりにおける付加的PCRのPCR値を計算するために並びに圧縮されたBフレーム内のPCRのために有利である。第1のオプションは下記の規則である。即ち、PCR値は、スロー順送りストリームにおける前のPCRの、これらPCRを含む2つのパケットの実際のスロー順送りタイムスタンプの間の差で補正された値に等しい。現PCR及び前のPCRを含むパケットを、各々、Pc及びP(c-1)により表すと、スロー順送りストリームにおける現PCRは:
PCRS{Pc}=PCRS{P(c-1)}+TSTS{Pc}−TSTS{P(c-1)} (24)
により与えられる。
【0296】
ここでも、PCRはベース及び拡張部から計算された全PCR値を指す。この式は、理想的な場合は完全であるが、非理想的な場合は周波数変動、従ってかなりのPCRジッタにつながる。これは、先に計算された補正係数Mを適用することにより防止される。現PCRは:
PCRS{Pc}=PCRS{P(c-1)}+(TSTS{Pc}−TSTS{P(c-1)})/M (25)
により与えられた。
【0297】
当該パケットに挿入されるべきPCRのベース及び拡張部はPCR値から下記のようにして計算される:
PCRbase=int(PCR/300) (26)
PCRext =PCR−300xPCRbase (27)
【0298】
事実、式(26)及び(27)は全てのPCR値を調整するために使用され得るので、圧縮されていない元のフレームに埋め込まれたPCRのものも含む。しかしながら、前記補正係数による計算は丸め誤差につながり得、これら誤差は蓄積し得るので、DTSに対してPCRタイムベースのゆっくりしたドリフトが生じ得る。従って、このドリフトをゼロにリセットするために、圧縮されていないフレームに埋め込まれたPCRの補正が、先に説明したようにオフセット値の加算により実行されねばならない。
【0299】
以下においては、ハイブリッドストリームが何処で作成され得るかを説明する。
【0300】
ここで述べるハイブリッドストリームは幾つかの場所で作成することができる。これらは、事実、平文Iフレームを持つストリームに対して可能なのと同一の場所である:
1.衛星放送の場合における放送機又はアップリンクにおいて;
2.ケーブルネットワークの場合におけるケーブルヘッドエンドにおいて;
3.安全な認可ドメインの場合における住宅用ゲートウェイにおいて;
4.記憶装置の記録側において。
しかしながら、僅かな平文パケットしか伴わないストリームの場合、第5の場所、即ち:
5.記憶装置の再生側において、
が可能である。
【0301】
図52は、ハイブリッドストリームへの変換にとり可能性のある場所を示す。
【0302】
図52の状況は、放送機5200が衛星アンテナ5201に信号を放送するものである。衛星アンテナ5201は該信号を衛星5202に送信することができ、他の衛星アンテナ5203が、これら信号を受信することができる。次いで、斯かる信号はケーブルヘッドエンド5204に供給することができ、該ケーブルヘッドエンドから記憶装置5205に供給することができる。又は、上記信号は住宅用ゲートウェイ5206に供給することができ、該ゲートウェイから記憶装置5207に供給することができる。他の例として、上記信号は衛星アンテナ5203から記憶装置5208に供給することもできる。図52の位置1〜5において、ハイブリッドストリームへの変換が可能である。
【0303】
位置1及び2は実現するのが困難であろう。何故なら、プロバイダはここには限られた影響しか有さないからである。記憶装置にとっては、ハイブリッドストリームへの変換が位置1、2又は3で実現されるかは、実際に、差はない。オプション3は、良い代替となる。これは、認可されたドメインのための住宅用ゲートウェイにおけるプロバイダの立場を改善し得る。3つの全ての場合において、記憶装置は自身の記録入力端においてハイブリッドストリームを受信する。これは、少なくとも通常プレイ及びトリックプレイの発生のためでないなら、記憶装置に解読及びスマートカードは必要でないことを意味する。しかしながら、キーフレーム等の検出を用いる記憶装置内にメタデータ抽出機能が存在する場合、解読は依然として必要である。
【0304】
ハイブリッドストリームを構築するために非常にありそうな位置は、記憶装置の記録側にあるケース4であろう。これは、記録側における部分的解読を必要とするかも知れないが、トリックプレイの発生のために解読が必要とされないという利点を依然として有している。いずれにせよ、記録されるストリームはハイブリッドストリームであることが好ましい。
【0305】
記録が全パケットが暗号化された状態でなされるケース5においても、安全なトリックプレイを生成することは可能である。完全な解読の代わりに、必要とされるパケットのみを解読し、残りを依然として暗号化されたままにすることも可能である(図53参照)。
【0306】
図53は、完全に暗号化された記録から安全なトリックプレイを発生するものを示している。記録装置5300は、暗号化されたMPEG2データ5301を出力し、後者をブロック選択器ユニット5302に供給する。そこから、データは解読器5303に供給され、該解読器は部分的に暗号化されたMPEG2データ5304を発生する。この部分的に暗号化されたMPEG2データはフレーム選択器5305に供給され、そこから、該データはトリックプレイ発生ユニット5306に供給される。トリックプレイ発生ユニット5306は、MPEG2 DVB準拠のトランスポートストリームの部分的に暗号化されたデータ5307を発生し、該データは次いでMPEG2デコーダ又は解読器5308に供給することができる。
【0307】
しかしながら、これらのパケット及び平文と共に記録することにより可能であるような、前もってCPI(図4参照)を作成する利点は利用することはできない。しかしながら、支配的に暗号化されたトリックプレイストリームを作成することは依然として可能である。当該システム構成は、トリックプレイ構築ユニットが、トランスポートストリームレベルで構築された暗号化されたストリームを発生し、ECMの挿入がオプションではなく必須であるというようなものである。
【0308】
以下においては、平文であるべきパケットを如何にして選択するかを説明する。
【0309】
ハイブリッドストリームが構築される場合、どのパケットが平文でなければならないかが決定されねばならない。必要とされる平文データの検出及び選択を可能にするために、当該ビデオストリームを先ず完全に解読することができる。次いで、このデータの位置が該平文ストリーム内で決定され、該データが位置する平文パケットが元のストリームの暗号化されたパケットを置換してハイブリッドストリームを形成する。
【0310】
選択された平文データに対して、3つの規準を使用することができる:
1.存在するなら、DTS/PTS及びPESヘッダは変更することができる。この目的のために、PESヘッダデータの全てを平文にすることができる。これは、PLUSIビット組を持つものからPESヘッダの最後のバイトを含むものまでの範囲のパケットが全て平文にされることを意味する。
2.シーケンスヘッダ及びシーケンス拡張部からの何らかの情報は必要とされ得る。この目的のために、シーケンスヘッダから画像開始コードまでのデータの全てが平文にされる。シーケンスヘッダ及び画像開始コードは、4バイトコードをチェックすることにより検出される。これらの4バイトは、必ずしも、1つの同一のパケットに位置するとは限らない。シーケンスヘッダ及び画像開始コードは、斯かる4バイトの最後が見つかった場合に検出される。ハイブリッドストリームの構築のための過度のバッファリングを避けるために、シーケンスヘッダの4バイトを含むものから画像開始コードの4バイトを含むものまでの範囲のパケットが全て平文にされる。これは、結果としてのハイブリッドストリームにおいてシーケンスヘッダ及び画像開始コードを検索する場合に、幾つかの変な状況につながり得る。これは後述する。
3.画像開始コードは、フレーム境界を検出するために必要とされる。従って、画像開始コードを含むパケットは平文にされなければならない。画像開始コードに続く2バイトも、平文でなければならない。これらのバイトは、変更される必要があり得る時間基準、及びIフレーム、Pフレーム又はBフレームを識別する画像符号化タイプを含む。更に、幾らかの情報が、画像コード拡張部から必要である。この目的のために、画像開始コードから画像コード拡張部の終わりまでのデータの全てが平文にされる。画像開始コードは、前記4バイトが発見された場合に検出される。過度のバッファリングを避けるために、画像開始コードの4バイトを含むものから画像コード拡張部の最後のバイトを含むものまでの範囲のパケットが全て平文にされる。この結果、全てのフレーム境界上で平文パケットとなり、これは特定のトリックプレイストリームの構築に必要とされるもの以上のものである。しかしながら、これはスローモーション順送りストリームの構築には必要である。
【0311】
過度のバッファリングが何を意味するか、及びこれが何を生じるかの問題に関して、ハイブリッドストリームが構築される場合、元の暗号化されたストリーム及び解読されたストリームからのパケットが1つのストリームに結合されねばならないと言うことができる。リアルタイムに実行される場合、何らかのバッファリングが必要とされ得る。画像開始コードが2つのビデオパケット上に分散されていると仮定すると、この4バイトの画像開始コードは暗号化されたストリームにおいて最後のバイトが見つかった時点で検出される。完全な画像開始コード及び平文を有するということは、この最後のバイトを持つビデオパケットのみならず、先行するビデオパケットも平文でなければならないことを意味する。
【0312】
これらの2つのビデオパケットの間に他のデータがあい得、通常はあるであろう。基本的に、これは大量のパケットであり得る。図54は、Iフレームの終わりの画像開始コードが2ビデオパケットにわたって広がっているような状況の一例を示している。
【0313】
更に詳細には、図54は、画像開始コード5402の一部を含むようなIフレーム5401を含むバッファ5400を示す。次いで、オーディオパケット5403が後続する。バッファ5400に更に含まれるものは、PSIブロック5404及びデータブロック5405である。図54には、画像開始コード検出時点5406、画像開始コードの一部5407及び後続のPフレーム5408も更に示されている。
【0314】
図54の場合、これら2つのビデオパケットのみならず、これら2つのビデオパケット間の他のデータの全てのパケットもバッファリングされねばならない。該例では、画像開始コードが示されているが、同じ議論がシーケンスヘッダコードに対しても有効であることは明らかである。示された規準は、必要なバッファリングを1パケットのみに低減する。
【0315】
3つの定義された規準の1つが満たされたなら、対応するパケットが平文にされる。3つの規準の組み合わせの結果、しばしば、各フレーム境界において1つのみの平文パケットとなる。しかしながら、何らかのストリームに対する幾つかの実際的ケースでは、数個のパケットでもあり得る。事実、理論的に、これは多数のパケットでさえあり得る。
【0316】
第1の例は、GOP当たり1PESパケットで、例えば12フレームのGOPサイズのIフレーム及びPフレームのみからなるストリームである。なされた実験において、Iフレームの開始における平文パケットの数は常に1であった。Iフレームの終わりにおける、及び実際には全ての他のフレーム境界における平文パケットの数は通常は1であったが、時には2であった。Iフレームの開始において、PESヘッダから画像コード拡張部までの全てのものは1パケット内である。他のフレーム境界における平文パケットは、画像開始コードから画像符号化拡張部の終わりまでの全データを含む。このデータは、2つのパケットにわたり分散させることができる。
【0317】
第2の例は、フレーム当たり1PESパケットで、2から12までの範囲の偶数値を持つ変化するGOPサイズの、IBP構造によるIフレーム、Pフレーム及びBフレームを有するようなストリームである。このストリームは、実際には、平文ストリームであるが、ここでは、暗号化されているかのように使用される。Iフレームの開始における平文パケットの数は殆どの場合2であり、Iフレームの終わり及び他のフレーム境界では常に1である。Iフレームの開始における上記2つのパケットは、主に、量子化テーブル及びシーケンスヘッダの存在によるものである。Iフレームの終わり及び他のフレーム境界において、PESヘッダから画像符号化拡張部までのデータは全て1パケット内である。
【0318】
PES構造により、平文であるのはIフレームの最後のパケットではなく、実際には次のフレームの最初のパケットであることに注意すべきである。これは、他の筋書きでも発生し得る。しかしながら、これは問題ではない。何故なら、この場合、Iフレームの最後のパケットはIフレームデータのみを含み、除去される必要はないからである。
【0319】
また、実際には、前記3つの規準の組み合わせが各フレーム境界において1つの連続した平文ビデオ領域になることにも注意すべきである。理論的に、これが当てはまる必要はない。規準2及び3の組み合わせは、常に、連続した領域となるが、理論的に平文PESヘッダ領域は別のものとすることができる。
【0320】
以下においては、ハイブリッドストリームにおいて必要な情報を如何にして見つけるかを説明する。
【0321】
実際には、各フレーム境界に1つの連続した平文領域が存在する。Iフレーム(GOP)の開始部において、該平文領域はPESヘッダの最初のバイトから少なくとも画像符号化拡張部の最後のバイトまで続く。
【0322】
一例が図55に示される。
【0323】
図55は、Iフレームの開始部における実際的な平文領域を示す。図55に示されるデータシーケンスは、PESヘッダ5500、シーケンスヘッダ5501、シーケンス拡張部5502、GOPヘッダ5503、画像開始コード5504、画像ヘッダ5505、他の画像ヘッダ5506、画像符号化拡張部5507、及びIフレームデータ5508を含む。
【0324】
構成成分5500〜5505は第1のIフレームパケット5509に関するもので、構成成分5506〜5508は第2のIフレームパケット5510に関するものである。
【0325】
全ての必要なデータは、この領域内にあり、当該ストリームのPLUSIにより印されたパケットで開始する該部分を解析することにより容易に見つけることができる。
【0326】
Iフレームの終了部では、2つの可能性がある:
1.フレーム当たり1PESパケットの場合、Iフレームの終了部(の後の)平文領域のエッジもPESヘッダの第1バイトで開始し、少なくとも画像符号化拡張部の最後のバイトまで延びる。全ての必要なデータは容易に見つかり、Iフレームの最後のパケットの削除(cleaning)は必要とされない(図56の左側参照)。
2.GOP当たり1PESパケットの場合、Iフレームの終わりより後にはPESヘッダは存在しない。実際には、この位置にはシーケンスヘッダもない。この場合、画像開始コードの第4バイトから画像符号化拡張部の最後のバイトまでを含むパケットは、平文である(図56の右側参照)。画像開始コードの4つのバイトは、例えば最初の3バイトが或るパケット内に、最後のバイトが次のパケット内のように、2つのパケットに渡って分散することができる。この場合、最初の3つのバイトは依然として暗号化されている。これは、この画像開始コードを検出することができないことを意味するように見える。
【0327】
図56は、実際の平文領域を示す。図56のシーケンスには、Iフレームの終わり5600、PLUSIプレゼント5601、PESヘッダ5602、画像開始コード5603、画像ヘッダ5604、画像符号化拡張部5605、Pフレーム又はBフレームデータ5606、最後のIフレームデータ5607、Iフレームの終わり5608、画像開始コード5609、画像ヘッダ5610、画像符号化拡張部5611、及びPフレーム又はBフレームデータ5612が示されている。
【0328】
実際に、各フレーム境界には平文領域が存在する。従って、Iフレームの終了部の検出は、Iフレームのものより後の最初の画像開始コードの検索を意味する。暗号化されたデータにおける誤った肯定的合致を回避するために、このコードに関して平文ビデオパケットのみが検索されるべきであることは明らかであろう。パケットのペイロードが平文であるか否かは、パケットヘッダにおけるスクランブル制御ビットにより示される。検出は、4つのバイトの所与のシーケンス(0x00 0x00 0x01 0x00)が見つかった場合にのみ肯定的合致を示す。該シーケンスは、フレームのタイプを無視した画像開始コードに対応する。残念ながら、画像開始コードは、トランスポートストリームパケットの境界上に整列される必要はない。これは、画像開始コードが2つのパケットにわたって分散されたとしたら、これらパケットのうちの第2のものだけが平文であろうことを意味する。
【0329】
これが、図57に示されている。
【0330】
問題は、符号5700により示された2つの部分が、誤った肯定的合致を与えるかである。図57において、パケットヘッダは符号5701により示され、平文のパケットペイロードは符号5702により示され、暗号化されたパケットペイロードは符号5703により示されている。
【0331】
一番上のライン5704は、完全に第2パケット内に位置する画像開始コードを示す。一番下のライン5705の場合、画像開始コードは完全に第1のパケット内にある。残りのライン5706は、分散された画像開始コードの3つの可能性を示す。
【0332】
部分的に暗号化された画像開始コードを検出することは不可能であると予測されるかも知れない。しかしながら、このジレンマから抜け出す方法がある。各平文領域は、画像開始コード又は少なくともその最後のバイトを含まなければならない。従って、或る平文領域において画像開始コードが見つからない場合、この領域は画像開始コードの最後のバイトの幾つかで開始している筈であることがわかる。このバイト数は、図57に示すように、1、2又は3である。実際に、どれだけ多くのバイトが存在するかを正確に検出することが可能である。この点に関しては、画像符号化タイプの3つのビットが全てゼロであることは決してあり得ないことに注意することが重要である。何故なら、これはMPEG2規格により禁止されているからである。従って、図57に0xYYにより示された画像開始コードの第2バイトは決して0x00にはなり得ない。従って、当該平文領域が0x00 0x01 0x00で開始した場合、これらは画像開始コードの最後の3バイトである。該領域が0x01 0x00で開始した場合、これらは最後の2バイトである。該領域が0x00 0x01 0x00ではなく、0x00で開始した場合、最後のバイトのみが存在する。このようにして、何処に画像開始コードが位置するかが正確に分かり、これに続くデータを解析することができる。もし必要又は望むなら、画像タイプはバイト0xYYから読み取ることができる。
【0333】
また、画像開始コードが2つのパケットに渡って分散されている場合、Iフレームの最後のパケットを全ての非Iフレームデータを削除することにより除去することは可能ではなさそうだと言うこともできる。これは、実際に正しい。何故なら、画像開始コードの暗号化された部分を削除することは可能ではないからである。しかしながら、トリックプレイストリームの構築においては、空のPフレームがIフレームの最後に付加されるであろう。この空Pフレームは画像開始コードで始まるであろう。従って、画像開始コードの暗号化されたバイトは再使用することができる。何故なら、これらのバイトのいくつが、最後の暗号化されたパケットの終了部に存在するかが分かるからである。この数のバイトは、Iフレームの後に追加されるべき最初の空Pフレームの画像開始コードから削除される。
【0334】
図58は、このような状況の一例を示す。
【0335】
図58には、部分的に暗号化された画像開始コードに付加された空のPフレームが示されている。画像開始コードは符号5800により示されている。図58には、時間基準5801も示されている。更に、画像符号化タイプが符号5802により示されている。空フレームのデータは符号5803により示されている。
【0336】
実際に予測されるべき状況を上述したが、理論的には幾つかの付加的状況が生じ得る。これは、平文PESヘッダ領域と規準2及び3からの結果の平文領域とが、理論的に接続される必要がなく、暗号化されたビデオパケットにより分離され得るという事実から生じる。明瞭化のために、連続する平文領域とは、ビデオパケットのシーケンスは平文であるが、他の暗号化されたパケットが間に存在し得ることを意味することに言及すべきであろう。
【0337】
前記規準に従って、アクセスされるべき3つの重要なデータ領域が存在する:
1.PESヘッダ領域;
2.シーケンスヘッダ及びシーケンス拡張部における情報;
3.画像開始コードから画像符号化拡張部までの情報。
【0338】
これら3つのデータ領域が図59に示されている。
【0339】
図59は、上記3つの規準に対応する平文データ領域を示す。第1の構成は、PLUSIプレゼント5900及びPESヘッダ5901を示す。第2の画像は、シーケンスヘッダコード5910、シーケンスヘッダ5911、シーケンス拡張コード5912及びシーケンス拡張部5913を示す。画像開始コード5914が更に示されている。
【0340】
図59における第3の画像は、画像開始コード5920、画像ヘッダ5921、画像符号化拡張コード5922及び画像符号化拡張部5923を示している。
【0341】
このデータを位置特定すると共に正しく受け渡すために、当該ストリームにおいて3つの項目が見つけられなければならない:
1.パケットヘッダにおけるPLUSIビット;
2.シーケンスヘッダコード(0x00 0x00 0x01 0xB3);
3.画像開始コード(0x00 0x00 0x01 0x00)。
【0342】
項目1を見つけることは、単にPLUSIビット及びパケットヘッダを探すだけで容易であり、これが1に設定されていたら、パケットはPESヘッダで開始し、次いでこれを渡すことができる。項目2及び3に関する状況は、もっと複雑である。何故なら、シーケンスヘッダコード及び画像開始コードは2つのパケットにわたって分散され、結果として部分的に暗号化されたコードである可能性があるからである。従って、これらコードの直接的検出は、データの何らかの喪失につながる。しかしながら、この問題に対する解決策が存在する。MPEG2においては、シーケンス拡張部及び画像符号化拡張部の存在は、図60に示されるように、必須である。
【0343】
図60は、MPEG2におけるヘッダ構造を示し、該構造は、シーケンスヘッダユニット6000、シーケンス拡張ユニット6001、拡張及びユーザユニット6002、画像群ヘッダユニット6003、ユーザユニット6004、画像ヘッダユニット6005、画像符号化拡張ユニット6006、ユーザユニット6007、画像データユニット6008及びシーケンス終了ユニット6009を含む。
【0344】
平文パケットに対する規準が形成された態様は、これら拡張部が完全に平文であることを保証することができる。これらは、先ず0x00 0x00 0x01 0xB5である拡張開始コードを検索することにより見つけることができる。次の4ビットは拡張開始コード識別子である。これらの4ビットは、シーケンス拡張部に対しては0001であり、画像符号化拡張部に対しては1000である。シーケンス拡張部が存在する場合、シーケンスヘッダコードも存在すべきであり、同様に、画像コード拡張部が存在するなら、画像開始コードも存在すべきである。この結果、下記のようになる:
− シーケンス拡張部が平文領域で見つかるが、シーケンスヘッダコードが同じ領域で見つからない場合、該シーケンスヘッダコードは2つのパケットにわたって分散されているべきであり、該シーケンスヘッダコードの最後のバイト又は複数のバイトは、可能性のあるPESヘッダを無視すると、この平文領域の最初のバイトである(シーケンスヘッダコード6100、シーケンスヘッダ6101及びシーケンス拡張部6102を示す図61参照)。
− 画像符号化拡張部が平文領域で見つかるが、画像開始コードが同じ領域で見つからない場合、該画像開始コードは2つのパケットにわたって分散されているべきであり、該画像開始コードの最後のバイト又は複数のバイトは、可能性のあるPESヘッダを無視すると、この平文領域の最初のバイトである(画像開始コード6200、画像ヘッダ6201及び画像符号化拡張部6202を示す図62参照)。
【0345】
これらの2つの状況は、1つの平文領域においては決して同時に発生し得ないことに注意すべきである。シーケンス拡張部及び画像符号化拡張部が共に存在する場合、これらの2つの間に位置される画像開始コードは必然的に完全に平文であろう。この場合、シーケンスヘッダコードのみが部分的に暗号化されている可能性がある。勿論、シーケンスヘッダコード又は画像開始コードが完全に平文であり、従って素直な態様で検出される場合、対応するデータの受け渡しは即座に開始することができる。しかしながら、上述した状況の一方に遭遇した場合、正しい受け渡しを開始することができる前に、これらコードのうちのどれだけ多くのバイトが当該平文領域の開始部に又はPESヘッダの後にあるかが先ず分からねばならない。画像開始コードに関してこれを検出する方法は、シーケンスヘッダコードに対しても適用することができる。
【0346】
図63は、2つのパケットにわたって分散されたシーケンスヘッダコードを示す。
【0347】
シーケンスヘッダコードに対する状況が、図63に示されている。平文は、4番目のバイトから以降にのみ保証される。このバイトは、0x00 0x00 0x01 0xB3に等しいシーケンスヘッダコードの最後のバイトである。従って、シーケンスヘッダコードは存在するが、この領域では検出されない場合、該コードの最後のバイトの幾つかは、この領域の開始部に又はPESヘッダの後に存在しなければならない。画像開始コードと同様に、これらバイトのうちの幾つが存在するかを正確に検出することができる。検出は、PESヘッダを無視して、当該領域における最初の平文バイトで開始する。最初のバイトが0x00 0x01 0xB3なら、3バイトが存在し、これらが0x01 0xB3なら、2バイトが存在し、最初のバイトが0xB3なら、この1バイトのみが存在する。該バイト数、従ってシーケンスヘッダコードの最後のバイトの位置が分かれば、画像開始コードが、このコードに続くデータの正しい受け渡しを可能にする。
【0348】
当該明細書で使用される略語のリストが表1に示される。
【表1】
【0349】
尚、上述した実施例は本発明を限定するというよりは解説するものであり、当業者であれば添付請求項に記載した本発明の範囲から逸脱することなしに多数の代替実施例を設計することができることに注意されたい。更に、上述した実施例の何れかは、例えば電池又は蓄積器等の内部電流供給部のような暗黙的特徴部を有するものである。また、請求項において、括弧内の如何なる符号も斯かる請求項を限定するものと見なしてはならない。また、"有する"等の用語は、如何なる請求項又は明細書全体に掲載されたもの以外の構成要素又はステップの存在を排除するものではない。また、単数形の構成要素は、複数の斯様な構成要素の存在を排除するものではなく、その逆でもある。幾つかの手段を列挙する装置の請求項において、これら手段の幾つかは1つの同一のハードウェア品目により具現化することができる。また、特定の手段が相互に異なる従属請求書で引用されるという単なる事実は、これら手段の組み合わせを有利に使用することができないということを示すものではない。また、文章を通して"データ"及び"コンテンツ"なる用語が入れ替え可能に使用されているが、これらは均等のものであると理解されたい。
【図面の簡単な説明】
【0350】
【図1】図1は、タイムスタンプ付きトランスポートストリームパケットを示す。
【図2】図2は、イントラ符号化フレーム及び順方向予測フレームを伴うMPEG2画像群(グループ・オブ・ピクチャ)構造を示す。
【図3】図3は、イントラ符号化フレーム、順方向予測フレーム及び双方向予測フレームを伴うMPEG2画像群構造を示す。
【図4】図4は、特徴点情報ファイルの構造及び記憶されたストリームコンテンツを示す。
【図5】図5は、平文ストリームに対するトリックプレイのためのシステムを示す。
【図6】図6は、トリックプレイにおける時間圧縮を示す。
【図7】図7は、分数距離によるトリックプレイを示す。
【図8】図8は、低速トリックプレイを示す。
【図9】図9は、一般的な条件付きアクセスシステムの構造を示す。
【図10】図10は、デジタルビデオ放送の暗号化されたトランスポートストリームパケットを示す。
【図11】図11は、図10のデジタルビデオ放送暗号化トランスポートストリームパケットのトランスポートストリームパケットヘッダを示す。
【図12】図12は、完全に暗号化されたストリームに対してトリックプレイの実行を可能にするシステムを示す。
【図13】図13は、完全なトランスポートストリーム及び部分的トランスポートストリームを示す。
【図14】図14は、ストリームタイプI用及びストリームタイプII用の権限制御メッセージ(ECM:Entitlement Control Message)を示す。
【図15】図15は、解読器への制御ワードの書込を示す。
【図16】図16は、高速順送りモードでの権限制御メッセージの処理を示す。
【図17】図17は、1つ又は2つの制御ワードの検出を示す。
【図18】図18は、本発明の一実施例によるデータストリームを処理する方法を実行する間に得られるデータストリームを示す。
【図19】図19は、本発明の一実施例によるデータストリームを処理する方法を実行する間に得られるデータストリームを示す。
【図20】図20は、本発明の一実施例によるデータストリームを処理する方法を実行する間に得られるデータストリームを示す。
【図21】図21は、本発明の一実施例によるデータストリームを処理する方法を実行する間に得られるデータストリームを示す。
【図22】図22は、本発明の一実施例によるデータストリームを処理する方法を実行する間に得られるデータストリームを示す。
【図23】図23は、本発明の一実施例によるデータストリームを処理する装置を示す。
【図24】図24は、本発明の一実施例によるデータストリームを処理する他の装置を示す。
【図25】図25は、フレーム境界でのパケットの分割を示す。
【図26】図26は、通常プレイデータの解読の後のスロー順送り構成を示す。
【図27】図27は、各フレーム境界に平文パケットを伴う複合ストリームを示す。
【図28】図28は、記憶された複合ストリームに対するスロー順送り構成を示す。
【図29】図29は、連結点における不完全な画像開始コードを示す。
【図30】図30は、通常プレイにおける再配列の効果を示す。
【図31】図31は、スロー順送りモードでの再配列の効果を示す。
【図32】図32は、アンカフレームの前の空のPフレームの挿入を示す。
【図33】図33は、逆方向予測空Bフレームの使用を示す。
【図34】図34は、順方向予測空Bフレームの使用を示す。
【図35】図35は、フレーム当たり1PESパケットの場合のストリームの分割を示す。
【図36】図36は、PESヘッダの開始部におけるストリームの分割を示す。
【図37】図37は、画像開始コードの開始部におけるストリームの分割を示す。
【図38】図38は、画像開始コード内でのストリームの分割を示す。
【図39】図39は、連結点における不完全な画像開始コードを示す。
【図40】図40は、n+m=4の例を示す。
【図41】図41は、n+m>4の例を示す。
【図42】図42は、n+m<4の例を示す。
【図43】図43は、DTSまでの変更されない距離を示す。
【図44】図44は、一連の同一のBフレームの境界における等しいオフセットを示す。
【図45】図45は、Bフレームデータ長を示す。
【図46】図46は、Bフレームが1フレーム時間より大きい場合のデータの重なりを示す。
【図47】図47は、一様に分散されたパケットによるBフレームの圧縮を示す。
【図48】図48は、空のフレームの配置を示す。
【図49】図49は、空のフレームの最初のパケットの配置を示す。
【図50】図50は、前のフレームに基づく空のフレームのパケット距離を示す。
【図51】図51は、1フレーム期間にわたって一様に分散された空フレームのパケットを示す。
【図52】図52は、複合ストリームへの変換のための位置を示す。
【図53】図53は、完全に暗号化された記録からの安全なトリックプレイの生成を示す。
【図54】図54は、完全に平文の画像開始コードに対するバッファリングの必要性を示す。
【図55】図55は、Iフレームの開始部における実際の平文領域を示す。
【図56】図56は、実際の平文領域を示す。
【図57】図57は、2つのパケットにわたって広がる画像開始コードを示す。
【図58】図58は、部分的に暗号化された画像開始コードに付属された空のPフレームを示す。
【図59】図59は、3つの基準に対応する平文データ領域を示す。
【図60】図60は、MPEG2におけるヘッダ構造を示す。
【図61】図61は、シーケンスの拡張及びシーケンスヘッダコードを示す。
【図62】図62は、画像符号化の拡張及び画像開始コードを示す。
【図63】図63は、2つのパケットにわたって広がるシーケンスヘッダコードを示す。
【特許請求の範囲】
【請求項1】
データストリームを処理する装置であって、該装置が、
隣接するフレームの間に解読されたフレーム境界部分を有するような少なくとも部分的に解読されたデータストリームの隣接するフレームを、前記フレーム境界部分で分割する分割ユニットと、
分割されたフレームを、所定の複製レートに従って複数回複製する複製ユニットと、
前記複製された分割されたフレームを接続する接続ユニットと、
を有する装置。
【請求項2】
請求項1に記載の装置であって、暗号化されたデータストリームの隣接するフレームの間の暗号化されたフレーム境界部分を、前記解読されたフレーム境界部分により選択的に置換して、前記部分的に解読されたデータストリームを形成する解読ユニットを有するような装置。
【請求項3】
請求項2に記載の装置であって、前記解読ユニットが、暗号化されたデータストリームの隣接するフレームの間の前記暗号化されたフレーム境界部分のみを前記解読されたフレーム境界部分により選択的に置換すると共に、全ての他のフレーム部分を暗号化されたままに維持するように構成された装置。
【請求項4】
請求項2に記載の装置であって、前記解読ユニットが、前記暗号化されたフレーム境界部分を前記解読されたフレーム境界部分により選択的に置換して、前記部分的に解読されたデータストリームを、低減された又は最小の量の解読された部分を持つトリックプレイストリームを発生するための基礎として形成するような装置。
【請求項5】
請求項1に記載の装置であって、前記分割ユニットが、分割された各フレームの始めに平文パケットを挿入するよう構成されているような装置。
【請求項6】
請求項5に記載の装置であって、前記平文パケットがヘッダ及び/又はアダプテーションフィールドを有するような装置。
【請求項7】
請求項1に記載の装置であって、前記接続ユニットが、前記複製された分割されたフレームを、フレーム境界部分が2つのフレームに跨る位置を識別することに基づくと共に、これら識別された位置を補正することに基づいて接続するよう構成されているような装置。
【請求項8】
請求項1に記載の装置であって、前記接続ユニットが、前記分割されたフレームの前記フレーム境界部分の少なくとも一部のサイズを決定するように構成されると共に、前記分割されたフレームを該決定されたサイズに基づいて接続するように構成されている装置。
【請求項9】
請求項8に記載の装置であって、前記接続ユニットが、前記決定されたサイズが所定の閾値を超える場合に、前記フレーム境界部分の少なくとも一部のサイズを減少させるように構成されている装置。
【請求項10】
請求項8に記載の装置であって、前記接続ユニットが、前記決定されたサイズが所定の閾値より小さい場合に、前記フレーム境界部分の少なくとも一部のサイズを増加させるように構成されている装置。
【請求項11】
請求項10に記載の装置であって、前記接続ユニットが、前記フレーム境界部分の少なくとも一部のサイズを、前記データストリームに追加部分を挿入することにより増加させるように構成されている装置。
【請求項12】
請求項1に記載の装置であって、前記データストリームを記憶する記憶ユニットを有するような装置。
【請求項13】
請求項1に記載の装置であって、完全に暗号化されたデータストリームを処理するように構成されている装置。
【請求項14】
請求項1に記載の装置であって、イントラ符号化フレーム、順方向予測フレーム及び双方向予測フレームからなる群のうちの少なくとも1つのフレームを有するデータストリームを処理するように構成された装置。
【請求項15】
請求項1に記載の装置であって、ビデオデータ又はオーディオデータのデータストリームを処理するように構成された装置。
【請求項16】
請求項1に記載の装置であって、デジタルデータのデータストリームを処理するように構成された装置。
【請求項17】
請求項1に記載の装置であって、処理された前記データストリームを再生する再生ユニットを有し、該再生ユニットが前記接続ユニットに接続されているような装置。
【請求項18】
請求項1に記載の装置であって、前記データストリームをトリックプレイ再生モードで再生するように処理する発生ユニットを有するような装置。
【請求項19】
請求項18に記載の装置であって、前記トリックプレイ再生モードが、スロー順送り再生モード、スロー逆送り再生モード、静止再生モード、ステップ再生モード及び瞬時リプレイ再生モードからなる群のうちの1つであるような装置。
【請求項20】
請求項1に記載の装置であって、MPEG2の暗号化されたデータストリームを処理するように構成された装置。
【請求項21】
請求項1に記載の装置であって、
デジタルビデオ記録装置、
ネットワーク可能化装置、
条件付きアクセス装置、
携帯型オーディオプレーヤ、
携帯型ビデオプレーヤ、
携帯電話、
DVDプレーヤ、
CDプレーヤ、
ハードディスク型メディアプレーヤ、
インターネットラジオ装置、
コンピュータ、
テレビジョン装置、
公衆娯楽装置、及び
MP3プレーヤ、
からなる群のうちの少なくとも1つとして実現された装置。
【請求項22】
データストリームを処理する方法であって、該方法が、
隣接するフレームの間に解読されたフレーム境界部分を有するような少なくとも部分的に解読されたデータストリームの隣接するフレームを、前記フレーム境界部分で分割するステップと、
分割されたフレームを、所定の複製レートに従って複数回複製するステップと、
前記複製された分割されたフレームを接続するステップと、
を有する方法。
【請求項23】
データストリームを処理するコンピュータプログラムが記憶されたコンピュータ読み取り可能な媒体であって、該コンピュータプログラムが、プロセッサにより実行された場合に、
隣接するフレームの間に解読されたフレーム境界部分を有するような少なくとも部分的に解読されたデータストリームの隣接するフレームを、前記フレーム境界部分で分割するステップと、
分割されたフレームを、所定の複製レートに従って複数回複製するステップと、
前記複製された分割されたフレームを接続するステップと、
を制御又は実行するよう構成されているようなコンピュータ読み取り可能な媒体。
【請求項24】
データストリームを処理するプログラムエレメントであって、該プログラムエレメントが、プロセッサにより実行された場合に、
隣接するフレームの間に解読されたフレーム境界部分を有するような少なくとも部分的に解読されたデータストリームの隣接するフレームを、前記フレーム境界部分で分割するステップと、
分割されたフレームを、所定の複製レートに従って複数回複製するステップと、
前記複製された分割されたフレームを接続するステップと、
を制御又は実行するよう構成されているようなプログラムエレメント。
【請求項1】
データストリームを処理する装置であって、該装置が、
隣接するフレームの間に解読されたフレーム境界部分を有するような少なくとも部分的に解読されたデータストリームの隣接するフレームを、前記フレーム境界部分で分割する分割ユニットと、
分割されたフレームを、所定の複製レートに従って複数回複製する複製ユニットと、
前記複製された分割されたフレームを接続する接続ユニットと、
を有する装置。
【請求項2】
請求項1に記載の装置であって、暗号化されたデータストリームの隣接するフレームの間の暗号化されたフレーム境界部分を、前記解読されたフレーム境界部分により選択的に置換して、前記部分的に解読されたデータストリームを形成する解読ユニットを有するような装置。
【請求項3】
請求項2に記載の装置であって、前記解読ユニットが、暗号化されたデータストリームの隣接するフレームの間の前記暗号化されたフレーム境界部分のみを前記解読されたフレーム境界部分により選択的に置換すると共に、全ての他のフレーム部分を暗号化されたままに維持するように構成された装置。
【請求項4】
請求項2に記載の装置であって、前記解読ユニットが、前記暗号化されたフレーム境界部分を前記解読されたフレーム境界部分により選択的に置換して、前記部分的に解読されたデータストリームを、低減された又は最小の量の解読された部分を持つトリックプレイストリームを発生するための基礎として形成するような装置。
【請求項5】
請求項1に記載の装置であって、前記分割ユニットが、分割された各フレームの始めに平文パケットを挿入するよう構成されているような装置。
【請求項6】
請求項5に記載の装置であって、前記平文パケットがヘッダ及び/又はアダプテーションフィールドを有するような装置。
【請求項7】
請求項1に記載の装置であって、前記接続ユニットが、前記複製された分割されたフレームを、フレーム境界部分が2つのフレームに跨る位置を識別することに基づくと共に、これら識別された位置を補正することに基づいて接続するよう構成されているような装置。
【請求項8】
請求項1に記載の装置であって、前記接続ユニットが、前記分割されたフレームの前記フレーム境界部分の少なくとも一部のサイズを決定するように構成されると共に、前記分割されたフレームを該決定されたサイズに基づいて接続するように構成されている装置。
【請求項9】
請求項8に記載の装置であって、前記接続ユニットが、前記決定されたサイズが所定の閾値を超える場合に、前記フレーム境界部分の少なくとも一部のサイズを減少させるように構成されている装置。
【請求項10】
請求項8に記載の装置であって、前記接続ユニットが、前記決定されたサイズが所定の閾値より小さい場合に、前記フレーム境界部分の少なくとも一部のサイズを増加させるように構成されている装置。
【請求項11】
請求項10に記載の装置であって、前記接続ユニットが、前記フレーム境界部分の少なくとも一部のサイズを、前記データストリームに追加部分を挿入することにより増加させるように構成されている装置。
【請求項12】
請求項1に記載の装置であって、前記データストリームを記憶する記憶ユニットを有するような装置。
【請求項13】
請求項1に記載の装置であって、完全に暗号化されたデータストリームを処理するように構成されている装置。
【請求項14】
請求項1に記載の装置であって、イントラ符号化フレーム、順方向予測フレーム及び双方向予測フレームからなる群のうちの少なくとも1つのフレームを有するデータストリームを処理するように構成された装置。
【請求項15】
請求項1に記載の装置であって、ビデオデータ又はオーディオデータのデータストリームを処理するように構成された装置。
【請求項16】
請求項1に記載の装置であって、デジタルデータのデータストリームを処理するように構成された装置。
【請求項17】
請求項1に記載の装置であって、処理された前記データストリームを再生する再生ユニットを有し、該再生ユニットが前記接続ユニットに接続されているような装置。
【請求項18】
請求項1に記載の装置であって、前記データストリームをトリックプレイ再生モードで再生するように処理する発生ユニットを有するような装置。
【請求項19】
請求項18に記載の装置であって、前記トリックプレイ再生モードが、スロー順送り再生モード、スロー逆送り再生モード、静止再生モード、ステップ再生モード及び瞬時リプレイ再生モードからなる群のうちの1つであるような装置。
【請求項20】
請求項1に記載の装置であって、MPEG2の暗号化されたデータストリームを処理するように構成された装置。
【請求項21】
請求項1に記載の装置であって、
デジタルビデオ記録装置、
ネットワーク可能化装置、
条件付きアクセス装置、
携帯型オーディオプレーヤ、
携帯型ビデオプレーヤ、
携帯電話、
DVDプレーヤ、
CDプレーヤ、
ハードディスク型メディアプレーヤ、
インターネットラジオ装置、
コンピュータ、
テレビジョン装置、
公衆娯楽装置、及び
MP3プレーヤ、
からなる群のうちの少なくとも1つとして実現された装置。
【請求項22】
データストリームを処理する方法であって、該方法が、
隣接するフレームの間に解読されたフレーム境界部分を有するような少なくとも部分的に解読されたデータストリームの隣接するフレームを、前記フレーム境界部分で分割するステップと、
分割されたフレームを、所定の複製レートに従って複数回複製するステップと、
前記複製された分割されたフレームを接続するステップと、
を有する方法。
【請求項23】
データストリームを処理するコンピュータプログラムが記憶されたコンピュータ読み取り可能な媒体であって、該コンピュータプログラムが、プロセッサにより実行された場合に、
隣接するフレームの間に解読されたフレーム境界部分を有するような少なくとも部分的に解読されたデータストリームの隣接するフレームを、前記フレーム境界部分で分割するステップと、
分割されたフレームを、所定の複製レートに従って複数回複製するステップと、
前記複製された分割されたフレームを接続するステップと、
を制御又は実行するよう構成されているようなコンピュータ読み取り可能な媒体。
【請求項24】
データストリームを処理するプログラムエレメントであって、該プログラムエレメントが、プロセッサにより実行された場合に、
隣接するフレームの間に解読されたフレーム境界部分を有するような少なくとも部分的に解読されたデータストリームの隣接するフレームを、前記フレーム境界部分で分割するステップと、
分割されたフレームを、所定の複製レートに従って複数回複製するステップと、
前記複製された分割されたフレームを接続するステップと、
を制御又は実行するよう構成されているようなプログラムエレメント。
【図1】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13】
【図14】
【図15】
【図16】
【図17】
【図18】
【図19】
【図20】
【図21】
【図22】
【図23】
【図24】
【図25】
【図26】
【図27】
【図28】
【図29】
【図30】
【図31】
【図32】
【図33】
【図34】
【図35】
【図36】
【図37】
【図38】
【図39】
【図40】
【図41】
【図42】
【図43】
【図44】
【図45】
【図46】
【図47】
【図48】
【図49】
【図50】
【図51】
【図52】
【図53】
【図54】
【図55】
【図56】
【図57】
【図58】
【図59】
【図60】
【図61】
【図62】
【図63】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13】
【図14】
【図15】
【図16】
【図17】
【図18】
【図19】
【図20】
【図21】
【図22】
【図23】
【図24】
【図25】
【図26】
【図27】
【図28】
【図29】
【図30】
【図31】
【図32】
【図33】
【図34】
【図35】
【図36】
【図37】
【図38】
【図39】
【図40】
【図41】
【図42】
【図43】
【図44】
【図45】
【図46】
【図47】
【図48】
【図49】
【図50】
【図51】
【図52】
【図53】
【図54】
【図55】
【図56】
【図57】
【図58】
【図59】
【図60】
【図61】
【図62】
【図63】
【公表番号】特表2009−521163(P2009−521163A)
【公表日】平成21年5月28日(2009.5.28)
【国際特許分類】
【出願番号】特願2008−546701(P2008−546701)
【出願日】平成18年11月28日(2006.11.28)
【国際出願番号】PCT/IB2006/054469
【国際公開番号】WO2007/072248
【国際公開日】平成19年6月28日(2007.6.28)
【出願人】(590000248)コーニンクレッカ フィリップス エレクトロニクス エヌ ヴィ (12,071)
【Fターム(参考)】
【公表日】平成21年5月28日(2009.5.28)
【国際特許分類】
【出願日】平成18年11月28日(2006.11.28)
【国際出願番号】PCT/IB2006/054469
【国際公開番号】WO2007/072248
【国際公開日】平成19年6月28日(2007.6.28)
【出願人】(590000248)コーニンクレッカ フィリップス エレクトロニクス エヌ ヴィ (12,071)
【Fターム(参考)】
[ Back to top ]