(57)【要約】エミュレータ（２００）は、情報インターフェース（２０４）に接続可能で、情報ソース（１１０）から情報シンク（１１２）に、前記情報シンクにネイティブなフォーマットにより伝送することができる。エミュレータは、前記情報インターフェースに接続可能なエミュレーションコントローラ（２１０）と、前記エミュレーションコントローラに接続され、外部ネットワークに接続可能なネットワークコントローラ（２１２）と、記憶装置（２１６，２１８）とを有する。記憶装置は、前記エミュレーションコントローラに於いて実行可能な命令列を記憶する。前記命令列は、前記外部ネットワークからネットワーク情報を受け取るためのコードと、前記ネットワーク情報を、前記情報シンクに転送するためのネイティブフォーマットに変換するためのコードとを含む。
2005518737.tif 000002
【特許請求の範囲】
【請求項１】
情報インターフェース（２０４）に接続可能で、情報を、情報ソース（１１０）から情報シンク（１１２）に、前記情報シンクにネイティブなフォーマットにより伝送し得るエミュレータ（２００）であって、
前記情報インターフェースに接続可能なエミュレーションコントローラ（２１０）と、
前記エミュレーションコントローラに接続され、外部ネットワークに接続可能なネットワークコントローラ（２１２）と、
前記エミュレーションコントローラに於いて実行可能な命令列を記憶する記憶装置（２１６，２１８）とを有し、
前記命令列が、前記外部ネットワークからネットワーク情報を受け取るためのコードと、前記ネットワーク情報を、前記情報シンクに転送するためのネイティブフォーマットに変換するためのコードとを含むことを特徴とするエミュレータ。
【請求項２】
前記情報ソースからのネイティブフォーマットのソース情報と、前記外部ネットワークからの前記ネイティブフォーマットとは異なるフォーマットのネットワーク情報とを受け取り、前記ソース情報及び前記ネットワーク情報を、ネイティブフォーマットで、シームレスに交互に前記情報シンクに供給する、前記記憶装置に記憶された、前記エミュレーションコントローラに於いて実行可能な命令列（５００）を更に有することを特徴とする請求項１に記載のエミュレータ。
【請求項３】
提供された情報のフォーマットを決定し、前記提供された情報のフォーマットが、前記情報シンクによりサポートされたものかを判定するために、前記情報インターフェース上の信号を分析し、前記フォーマットが前記情報シンクによりサポートされていないものである場合には、前記提供された情報をサポートされたフォーマットにリフォーマットする、前記記憶装置に記憶された、前記エミュレーションコントローラに於いて実行可能な命令列（５００）を更に有することを特徴とする請求項１若しくは２に記載のエミュレータ。
【請求項４】
前記情報シンクによりサポートされるフォーマットを決定し、外部ソースから受け取った情報がサポートされたフォーマットに適合するか否かを判定するために信号を分析し、適合しない場合には、前記外部ソースから受け取った情報を、サポートされたフォーマットに変換する、命令及び応答のための前記情報インターフェース上の信号を分析するように、前記記憶装置に記憶された、前記エミュレーションコントローラに於いて実行可能な命令列（５００）を更に有することを特徴とする請求項１、２若しくは３に記載のエミュレータ。
【請求項５】
信号を外部ソースから受け取り、前記情報シンクが、あたかも標準的な情報ソース装置から信号を受け取ったかのように機能するように、前記信号を変換し、コンテンツを複数の異なるフォーマットのソースから前記情報シンクからシームレスに供給する、前記記憶装置に記憶された、前記エミュレーションコントローラに於いて実行可能な命令列（５００）を更に有することを特徴とする請求項１、２、３若しくは４に記載のエミュレータ。
【請求項６】
前記エミュレーションコントローラが、
（ａ）前記情報インターフェースに直接接続する構成、
（ｂ）前記情報インターフェースに間接的に接続する構成、
（ｃ）前記情報インターフェースに、前記情報ソースへの直接結合を介して間接的に接続する構成及び
（ｄ）前記情報インターフェースに、前記情報シンクへの直接結合を介して間接的に接続する構成
からなる群から選択された構成を備えた前記情報インターフェースに接続し得ることを特徴とする請求項１乃至５のいずれかに記載のエミュレータ。
【請求項７】
前記命令列が、
（ａ）デバイスを物理的にエミュレートすること及び
（ｂ）デバイスを論理的にエミュレートすること
からなる群から選択された手法を用いてデバイスをエミュレートすることを特徴とする請求項１乃至６のいずれかに記載のエミュレータ。
【請求項８】
エミュレータ（２００）であって、
通信経路から情報を取り出し、情報ソース（１１０）から情報シンク（１１２）に情報を供給することができるインターフェース（２０４）と、
前記インターフェースに接続され、外部ネットワークに接続可能なネットワークコントローラ（２１２）と、
前記インターフェース及びネットワークコントローラに接続され、メディアコンテンツを、前記情報ソース又は外部ネットワークから前記外部ネットワークに選択的に転送するコンテンツ転送サブシステム（１０１２）と、前記外部ネットワークから受け取った情報を、前記情報ソースから供給される情報のフォーマットに変換するフォーマットデコーダサブシステム（１０１４）とを有するコントローラ（２１４）とを含むことを特徴とするエミュレータ。
【請求項９】
前記インターフェースが、情報ソース位置（１１０）、情報シンク位置（１１２）及び前記通信経路（１１６）に沿う位置からなる群から選択された情報位置から情報を取り出すことを特徴とする請求項８に記載のエミュレータ。
【請求項１０】
エミュレータ（２００）であって、
ネイティブフォーマットでエンコードされた情報をデコードする従来形式の能力を有するメディアデコーダ（３０４）に接続可能なインターフェース（３３８）と、
前記インターフェースに接続され、前記ネイティブフォーマットとは異なるフォーマットの情報を供給する外部デバイス（３４２，３５０）に接続可能な外部インターフェース（３１２）と、
前記インターフェース及び外部インターフェースに接続され、前記外部インターフェースに受け取った情報を前記ネイティブフォーマットに変換し、変換された情報を前記メディアデコーダに供給するコントローラ（３１０）とを含むことを特徴とするエミュレータ。
【請求項１１】
前記コントローラに接続され、記憶装置のコントロール機能を果たすことができることにより、エミュレータをホストとして機能させるホストコントローラブロック（４４４）を更に含むことを特徴とする請求項１０に記載のエミュレータ。
【請求項１２】
前記コントローラに接続され、記憶装置のエミュレータ機能を果たすことができることにより、当該エミュレータを記憶装置として機能させ、当該エミュレータに接続された外部デバイスに、当該エミュレータを記憶装置として利用するホストとして機能させるためのデバイスブロック（４４２）を更に含むことを特徴とする請求項１０若しくは１１に記載のエミュレータ。
【請求項１３】
前記コントローラに接続され、ハードディスクドライブ、低消費電力ドライブ、ポータブルドライブ、テープドライブ、半導体或いはフラッシュドライブを含む記憶装置と通信可能なデバイスブロック（４４２）を更に含むことを特徴とする請求項１１乃至１２のいずれかに記載のエミュレータ。
【発明の詳細な説明】
【技術分野】
【０００１】
関連出願
本出願に開示されたシステム及び作動方法は、同時継続中の
（１）米国特許出願第１０／３１３，７８２号、
（２）米国特許出願第１０／３１３，５３６号、
（３）米国特許出願第１０／３１３，５３９号、
（４）米国特許出願第１０／３１３，８５０号、
（５）米国特許出願第１０／３１３，７４３号、
（６）米国特許出願第１０／３１３，５３８号及び
（７）米国特許出願第１０／３１３，３７４号に開示された技術内容に関連しており、それらに言及することをもって、それらの全内容を本出願の一部とする。
【背景技術】
【０００２】
多くの産業分野或いは技術分野に於いて、単一の機能又は少数の限られた機能を果たすのみであるが、利用すれば、機能性を大幅に拡張し得るような処理、記憶及び表示機能を備えた高度に複雑なデバイス及び器具が存在する。このようなデバイス及び器具の例としては、テレビ、デジタルビデオデッキ、マルチデジタルディスクプレーヤ、オーディオレシーバ、ＰＯＳ端末、プロセスコントローラ、警報システム、家電製品など、様々なものがある。デバイスの演算能力は、技術の進歩と共に増大するが、それに伴い、追加のソフトウェア応用動作が可能となり、製品のアップグレードに従って、ユーザ或いは顧客に対するサービス及び成果を改善することができる。通常、デバイス及び器具は、特定の専用機能を果たし、固有の構造を有し、他種のデバイス又は他のタイプのデバイス、場合によっては他の同種のデバイスと相互に働くことができない。
【０００３】
技術の進歩は、イントラネット、ＷＡＮ，ＬＡＮ及びインターネットなどのコンピュータネットワークからアクセスし得る膨大な量の情報を利用可能としている。このようなネットワークは、テキストファイル、データ、動画、ビデオクリップ、ウェブページ、フラッシュ表示、シェアウェア、コンピュータプログラム、コマンドファイルなどの形で、全世界から情報を容易に入手し、全世界に向けて情報を発信することを可能にする。情報を入手し、発信する上で障害となるのは、デバイス間での互換性及びリソースマネジメントの欠如である。
【発明の開示】
【０００４】
開示されたシステムの或る実施例によれば、エミュレータは、情報インターフェースに接続可能で、情報を、情報ソースから情報シンクに、前記情報シンクにネイティブなフォーマットにより伝送することができる。エミュレータは、前記情報インターフェースに接続可能なエミュレーションコントローラと、前記エミュレーションコントローラに接続され、外部ネットワークに接続可能なネットワークコントローラと、記憶装置とを有する。記憶装置は、前記エミュレーションコントローラに於いて実行可能な命令列を記憶する。前記命令列は、前記外部ネットワークからネットワーク情報を受け取るためのコードと、前記ネットワーク情報を、前記情報シンクに転送するためのネイティブフォーマットに変換するためのコードとを含む。
【０００５】
別の実施例によれば、エミュレータは、情報インターフェースに接続可能で、情報を、情報ソースから情報シンクに、前記情報シンクにネイティブなフォーマットにより伝送することができる。エミュレータは、情報インターフェースに接続可能なエミュレーションコントローラと、前記エミュレーションコントローラに接続され、外部ネットワークに接続可能なネットワークコントローラと、記憶装置とを有する。記憶装置は、前記エミュレーションコントローラに於いて実行可能な命令列を有する。この命令列は、前記情報ソースからのネイティブフォーマットのソース情報と、前記外部ネットワークからの前記ネイティブフォーマットとは異なるフォーマットのネットワーク情報とを受け取り、前記ソース情報及び前記ネットワーク情報を、ネイティブフォーマットで、シームレスに交互に前記情報シンクに供給するためのコードを含む。
【０００６】
更に別の実施例によれば、エミュレータは、通信経路から情報を取り出し、情報ソースから情報シンクに情報を供給することができるインターフェースと、前記インターフェースに接続され、外部ネットワークに接続可能なネットワークコントローラと、前記インターフェース及びネットワークコントローラに接続されたコントローラとを含む。コントローラは、メディアコンテンツを、前記情報ソース又は外部ネットワークから選択的に転送するコンテンツ転送サブシステムと、前記外部ネットワークから受け取った情報を、前記情報ソースから供給される情報のフォーマットに変換するフォーマットデコーダサブシステムとを有する。
【０００７】
更に別の実施例によれば、エミュレータは、メディアデコーダに接続可能なインターフェースと、外部インターフェースと、コントローラとを有する。メディアデコーダは、ネイティブフォーマットでエンコードされた情報をデコードする従来形式の能力を有する。外部インターフェースは、前記インターフェースに接続され、前記ネイティブフォーマットとは異なるフォーマットの情報を供給する外部デバイスに接続可能である。コントローラは、前記インターフェース及び外部インターフェースに接続され、前記外部インターフェースに受け取った情報を前記ネイティブフォーマットに変換し、変換された情報を前記メディアデコーダに供給することができる。
【０００８】
更に別の実施例によれば、メディアコンテンツの処理方法は、ネイティブフォーマットでエンコードされた情報をデコードする従来形式の能力を有するメディアデコーダに接続する過程と、前記ネイティブフォーマットとは異なるフォーマットの情報にアクセスする過程と、供給された情報をネイティブフォーマットに変換する過程と、変換された情報をメディアデコーダに供給する過程とを有する。
【０００９】
更に別の実施例によれば、メディアコンテンツの処理方法は、メディアソースをメディアデコーダに接続可能な情報通信経路に接続し、外部ソースから前記ネイティブフォーマットとは異なるフォーマットの情報にアクセスする過程を含む。メディアデコーダは、ネイティブフォーマットでエンコードされた情報をデコードする従来形式の能力を有する。また、本発明の方法は、アクセスした情報から、ネイティブフォーマットと互換性を有するエミュレーション信号を発生することによりメディアソースをエミュレートし、メディアデコーダにエミュレーション信号を供給する。
【００１０】
ここで望まれているのは、デバイス及び器具間で、相互通信及び情報共有を可能にするようなシステム、デバイス及び方法である。
【００１１】
エミュレータインターフェースが、メディアドライブとメディアデコーダとの間のネットワーク相互接続として介在する。別の用途に於いては、エミュレータインターフェースはメディアドライブを置換する。エミュレータインターフェースは、メディアドライブからのデータを、メディアデコーダ、ネットワークコントローラ及びネットワークへの接続部に供給する通信リンクへのインターフェースと、ネットワークからの情報をメディアデコーダにより予定されている形式に変換し或いは予め変換された情報としてネットワークからメディアデコーダに伝送することのできるエミュレータとを含む。エミュレータインターフェースは、ＤＶＤ、ＣＤ−ＲＯＭドライブのような光学的インターフェースなどの既存のデバイスからの信号をエミュレートし、ＭＰＥＧデコーダなどのレンダラ（renderer）への応用を可能にする。エミュレータインターフェースは、データを、レンダラにより予定されている形式をもって供給する。
【００１２】
通常は、メディアドライブとメディアデコーダとの間のインターフェースは、コンテンツを論理フォーマットにより通信するような従来形式のインターフェースからなる。エミュレータインターフェースは、ネットワークリンクを追加することによりメディアデコーダの機能性を拡張し、メディアデコーダは一つ又は複数のネットワークデバイスからコンテンツを受け取ることができる。エミュレータは、ネットワークデータのフォーマットがＭＰＥＧデコーダによりサポートされているものであることを確保し、サポートされていない場合には、ネットワークデータフォーマットを、サポートされている論理フォーマットに変換することができる。
【００１３】
エミュレータインターフェースは、例えばデバイスに変更を加えることなくネットワークコネクティビティを追加するために、既存のデバイスをエミュレートすることができる。エミュレータインターフェースは、論理レベルばかりでなく物理レベルに於いてもデバイスをエミュレートすることができる。或る実施例に於いては、エミュレータは、既存のデバイスを分析し、サポートされたプロトコル応答及び又はコンテンツフォーマットを備えているかを判定し、与えられたコンテンツのフォーマットを判定し、与えられたコンテンツをサポートされたフォーマットとするように、コンテンツをリフォーマット或いはトランスコード（transcode:コード変換）する。ある例に於いては、エミュレータインターフェースはバス上のトラフィックをモニターし、サポートされているフォーマットを判定するようなコマンド及び応答を求めてトラフィックを分析することができる。それによって、エミュレータインターフェースは、外部ソースからサポートされていないフォーマットで受け取ったコンテンツを、サポートされたフォーマットに変換することができる。
【００１４】
或る実施例に於いては、エミュレータは、信号を分析し、与えられたコンテンツのフォーマットを判定し、与えられたコンテンツのフォーマットがデコーダによりサポートされたフォーマットであるか否かを判定し、サポートされていない場合には、提供された情報をサポートされたフォーマットにリフォーマットする。
【００１５】
或る実施例に於いては、エミュレータインターフェースは、信号を分析し、デコーダによりサポートされたフォーマットを判定可能とするようなコマンド及び応答を求め、信号を分析し、外部ソースから受け取った情報がサポートされたフォーマットに適合するか否かを判定する。適合しない場合には、エミュレータインターフェースは外部ソースから受け取った情報をサポートされたフォーマットに変換することができる。
【００１６】
エミュレータインターフェースは、コンテンツ変換サブシステム及びフォーマットデコーダサブシステムを有する。エミュレータは、イーサネット（登録商標）などの外部ソースから信号をパソコンを介して受け取り、信号を変換することにより、受信した信号があたかもＣＤ或いはＤＶＤなどの標準的な供給デバイスから受け取ったように機能し、様々に異なるフォーマットのソースからＭＰＥＧデコーダにシームレスにコンテンツを供給することができる。
【００１７】
或る実施例に於いては、イーサネット（登録商標）ＳＯＣ（system-on-a-chip）が、ＤＶＤドライブインターフェースをエミュレートし、標準的なディスクフォーマットに基づいてコンテンツをストリーミングする。
【発明を実施するための最良の形態】
【００１８】
図１に於いて、模式的ブロック図は、エミュレータインターフェースを利用し得るデバイス相互作用モデル１００の１例を示している。デバイス相互作用モデル１００は、多数の異なる形式のデバイス及びコントローラ間の一般的な相互作用を定義する。様々なデバイス及びコントローラとしては、コンピュータ、ワークステーション、ラップトップコンピュータ、電卓、ＰＤＡ、携帯電話、テレビ、電子的画像フレーム、ビデオデッキ、ＣＤ、ＤＶＤプレーヤ及びレコーダ、ＣＤ−ＲＯＭドライブ（Ｒ／ＲＷ）、ジュークボックス、カラオケ装置、カムコーダ、受像器の上面に搭載されるべきボックス（set-top box）、オーディオシステム、ＭＰ３プレーヤ、スチルカメラ、リモコン装置、コントロールパネル及びその他の形式の制御デバイス、情報記憶、再生及び表示デバイスがある。デバイス相互作用モデル１００は、ソース１１０、シンク１１２及びコントローラ１１４を含む。特定のデバイス又はコントローラを、ソース１１０、シンク１１２及びコントローラ１１４のいずれとして構成することも可能である。他の構成の相互作用モデルを用いることもできる。あるものはコントローラ１１４を省略したり或いはそれを統合する事もあり得る。特定のデバイス又はコントローラは、特定の相互作用に於いて、ソース１１０、シンク１１２又はコントローラ１１４のいずれの機能をも果たすことができる。特定のデバイス又はコントローラは、特定の相互作用或いは構成に於いてソース１１０、シンク１１２及びコントローラ１１４の２つ以上のものとして機能することができる。
【００１９】
ソース１１０は、オーディオ、ビデオその他の任意の形式のコード化された情報を含む任意の形式の情報又はコンテンツを供給する任意のデバイスからなるものであって良い。様々な実施例に於いて、ソース１１０は、ＭＰＥＧ２、ＭＰＥＧ４、ＪＰＥＧ、ＭＰ３などの様々なビデオ方式の一つ又は複数の形式からなるコンテンツを供給することができる。ソース１１０は、ＷＭＡ、ＢＭＰ、ＮＴＳＣ、ＰＡＬ、ＳＥＣＡＭ、ＡＴＳＣ、ＶＣＤ、Ｓ−ＶＣＤ、ＰＰＴ（パワーポイント：登録商標）、カラオケ機能、ＭＰ３、プログレッシブスキャン或いは最新の機能等の他の規格のコンテンツも供給することができる。
【００２０】
コントローラ１１４は、選択されたコンテンツが、適当な転送プロトコル１１６を用いてソース１１０からシンク１１２に流れるように、ソース１１０及びシンク１１２を構成することにより、コンテンツの転送を開始する。サポートされている転送プロトコル１１６としては、１つ又は複数のブロードバンド、ＩＥＥＥ−１３９４高速シリアルバス、ＩＥＣ−６１８８規格に基づくＣＭＰ（connection management protocol）、ＦＣＰ（function control protocol）、ＣＩＰ（common isochronous packet）ヘッダ、ＨＴＴＰ ＧＥＴ／ＰＵＴ／ＰＯＳＴ（hypertext transfer protocol）、ＲＴＰ（real-time transport protocol）、ＴＣＰ／ＩＰ（transmission control protocol／internet protocol）、ＩＥＥＥ８０２無線規格等がある。
【００２１】
様々な実施例に於いて、シンク１１２はコンテンツをレンダリングし得る任意のデバイスからなるものであって良い。典型的なシンク１１２を構成するデバイスとしては、ＭＰＥＧデコーダ、ＭＰＥＧデコーダが組み込まれたテレビ、個人用ビデオレコーダ、オーディオシステム及びその他のデバイスがある。図示されたデバイス相互作用モデル１００に於いては、コンテンツソース１１０からのコンテンツは、シンク１１２のレンダリング能力に基づきコントローラ１１４を介して選択され、ソース１１０からシンク１１２にレンダリングのために転送することができる。
【００２２】
エミュレータインターフェースは、例えばデバイスに変更を加えることなくネットワークコネクティビティを追加するために、ソース１１０、シンク１１２又はコントローラ１１４のいずれの役割をも果たすように既存のデバイスをエミュレートすることができる。エミュレータインターフェースは、論理レベルばかりでなく物理レベルに於いてもデバイスをエミュレートすることができる。
【００２３】
或る実施例に於いては、エミュレータインターフェースは、コンテンツ通信を分析し、サポートされているコンテンツフォーマットを判定し、与えられたコンテンツのフォーマットを判定し或いはコンテンツをリフォーマット或いはトランスコードすることにより、与えられたコンテンツをサポートされたフォーマットに変換することができる。特定の例に於いては、エミュレータインターフェースは、例えばＩＤＥバスなどのバス上のトラフィックをモニターし、サポートされているフォーマットを判定するためにコマンド及び応答を求めるようにトラフィックを分析することができる。エミュレータインターフェースは、外部ソースからのサポートされていないフォーマットのコンテンツを受け取り、それをサポートされたフォーマットに変換することができる。
【００２４】
図２に於いて、模式的ブロック図は、デバイス２０２又はバス２０４をネットワーク２０６に接続するための適宜なエミュレータインターフェース２００の一例を示す。図示されたエミュレータインターフェース２００は、エミュレータインターフェース２００をデバイス２０２又はバス２０４に接続し得るインターフェースコントローラ２１０と、エミュレータインターフェース２００をネットワーク２０６に接続可能なネットワークコントローラ２１２と、プロセッサ２１４とを有する。プロセッサ２１４は、ネットワーク２０６とデバイス２０２又はバス２０４との間で情報を転送するために様々なプロセス、方法又はプログラムを実行し、様々な他の機能を果たすことができる。エミュレータインターフェース２００は、インターフェースコントローラ２１０に接続されたものであって良い揮発メモリ２１６及び不揮発メモリ２１８などのような、他のオプションとしての機能ブロックを含むものであって良い。例えばＳＤＲＡＭからなる揮発メモリ２１６は、一時的制御情報などのような情報を記憶し、データを様々なフォーマットで転送するなどの目的に用いることができる。ブートストラップＲＯＭなどからなる不揮発性メモリ２１８は、ブートストラップロードプログラム、ＯＳ機能及び動作パラメータなどの実行可能な機能を記憶するために用いることができる。
【００２５】
例えばＲＪ４５コネクタからなるネットワークコネクタ２２０は、ネットワークコントローラ２１２をネットワーク２０６に接続することができる。
【００２６】
インターフェースコントローラ２１０は、追加の通信リンクをもサポートすることができる。図示された例では、インターフェースコントローラ２１０は、無線通信リンク２２２及びＵＳＢリンク２２４を有する。
【００２７】
エミュレータインターフェース２００は、ネットワーク通信能力を、バス２０４を利用するデバイス２０２又はシステムに一体化することができる。様々な実施例に於いて、エミュレータインターフェース２００は、１０／１００Ｍｂｐイーサネット（登録商標）メディアアクセスコントロール（ＭＡＣ）プロトコル、シリアルポート、パラレルポート、メモリコントローラ、ＤＭＡ及びパラレルＩＯなどをサポートすることができる。或る実施例に於いては、エミュレータインターフェース２００は、レジスタインターフェース又は共有ＲＡＭインターフェースを介して他のプロセッサ、デバイス又は要素とインターフェースすることができる。
【００２８】
プロセッサ２１４は、任意のプロセッサ、マイクロプロセッサ、コントローラ、マイクロコントローラ、ＣＰＵ、デジタル信号プロセッサ、状態マシンなどからなるものであって良い。適切なプロセッサの一例としては、例えば英国ケンブリッジに所在するＡｄｖａｎｃｅｄ ＲＩＳＣ Ｍａｃｈｉｎｅｓ（ＡＲＭ）  Ｌｔｄ．社のＡＲＭ７、ＡＲＭ９、ＡＲＭ９Ｅ、ＡＲＭ１０から選択されたＲＩＳＣがある。ＡＲＭ７プロセッサは、リスクスタンドアローンコア、インストラクション／データキャッシュ、ライトバッファ、プリフェッチコントロール（図示せず）を含み、通信動作を効率的に行い得るように、内部バスがＤＭＡデータ転送動作を行う間に、キャッシュからプログラムを実行し得るような内部バス構造を有している。
【００２９】
実施例に於いては、ネットワークコントローラ２１２は、いずれも１０及び１００Ｍｂｉｔの形式のネットワークフロントエンド及びメディアアクセスコントロール（ＭＡＣ）モジュールからなる２つのモジュールを備えている。ネットワークフロントエンドは、ＭＡＣインターフェースを維持し、受信及び発信用ＦＩＦＯバッファ、ＤＭＡインターフェースロジック及びＭＡＣ、送信機及び受信機のための制御／状態レジスタを含む。或る実施例に於いては、送信ＦＩＦＯ及び受信ＦＩＦＯは、それぞれ１２８バイト及び２０４８バイトの容量を有する。送信ＦＩＦＯは、ネットワーク媒体に於いてコリジョンが発生する間に、トランスミットバッファの一部をＦＩＦＯ上に残すようにして、メモリからのマルチプルバッファフェッチ（multiple buffer fetch）を回避するようにしている。受信ＦＩＦＯは、フレーム全体を受信し得る程度の大きさを与えられており、バイトカウント分析の間にＦＩＦＯ内で待機し、ＤＭＡ転送のための最適なバッファの構造を設定する。
【００３０】
ＭＡＣモジュールは、ネットワークフロントエンドとＩ／Ｏピンとの間のインターフェースを行い、ファームウェアの制御のもとにＥＮＤＥＣ（１０Ｍｂｉｔ）及びＭＩＩ（media independent interface）をサポートする。ＭＡＣモジュールにより果たされる機能として、１００Ｍビットイーサネット（登録商標）ＭＡＣ、ＭＩＩマネージメント機能、アドレスフィルタリング、統計情報の収集及びオプションとしての１００Ｍビット物理コーディングレイヤーが含まれる。
【００３１】
インターフェースコントローラ２１０は、エミュレータインターフェース２００とデバイス２０２またはバス２０４との間のインターフェースを提供し、５つのインターフェースタイプの１つまたは複数をサポートする。５つのインターフェースタイプは、ＩＥＥＥ１２８４ホストポート、１６ｂｉｔ共有ＲＡＭインターフェース、８ｂｉｔ共有ＲＡＭインターフェース、１６ｂｉｔ共有ＦＩＦＯインターフェース、８ｂｉｔ共有ＦＩＦＯンターフェースを含む。ＩＥＥＥ１２８４モードは、ＬＡＮと、１２８４パラレルポートインターフェースを用いる４つ以下の外部デバイスとの間のブリッジとして、商用のネットワークプリンターサーバ機能をサポートする。共通メモリインターフェースは、エミュレータインターフェース２００とバス２０４との間の６４Ｋ以下の共有ＲＡＭを提供する。ＦＩＦＯインターフェースは、エミュレータインターフェース２００とバス２０４またはデバイス２０２との間のデータストリーミングＦＩＦＯインターフェースを提供する。図示された例に於いては、ＦＩＦＯインターフェースは、それぞれ対応するデータの方向に対応する２つの３２ｂｉｔＦＩＦＯをサポートする。
【００３２】
インターフェースコントローラ２１０は、フラッシュ、ＲＡＭ、ＤＲＡＭ、ＥＥＰＲＯＭなどのメモリデバイスとインターフェースする図示されないメモリコントローラとして動作する機能要素を含む。メモリコントローラは、図示されないバスコントローラと協働して、バス２０４とメモリとの間でデータを転送する。メモリコントローラは通常ＦＤ（fast page mode）ＤＲＡＭ、ＳＤＲＡＭ及びＥＤＯ ＤＲＡＭを含む様々な形式のＤＲＡＭをサポートする。一般に、１つの応用に於いては同一形式のＤＲＡＭが用いる。
【００３３】
インターフェースコントローラ２１０は、データをバス２０４から或いはバス２０４に向けて移動させる図示されないバスコントローラを含む。或る実施例に於いては、バスコントローラは、選択された論理アドレスについてのダイナミックバスサイジングをサポートする。バスコントローラは、外部バスマスターまたはＣＰＵと協働して、インターフェースのためのシステムバスアービトレーション（arbitration）を行う。バスコントローラは、メモリコントローラと協働して、バス２０４を用いてデバイス２０２にアクセスするように動作する。
【００３４】
或る実施例に於いては、インターフェースコントローラ２１０は、図示されないシリアルコントローラをもサポートするものであって良い。例えば、インターフェースコントローラ２１０は、それぞれプログラマブルビットレートジェネレータを備えた２つの独立したＵＡＲＴ（universal asynchronous/synchronous receiver/transmitter）チャンネルを含むものであって良い。ＵＡＲＴは、標準的なプロトコルを用いてエミュレータインターフェース２００とデバイス２０２との間の比較的低速の情報転送を実現する。
【００３５】
或る実施例に於いては、インターフェースコントローラ２１０のシリアルコントローラは、フレームリレー、ＩＳＤＮ及びＳＤＬＣなどのＷＡＮモデルのためのデータリンクレイヤーを構成するＨＤＬＣ（high level data link control）プロトコルをサポートすることができる。ＨＤＬＣモードに於いて、インターフェースコントローラ２１０は、レイヤー２データフレームを、ポイントツーポイントリンク、ブロードキャストネットワーク、パケットネットワーク或いはＣＲＣフィールドエラーディテクションを含む回路スイッチネットワークに発信するために、ゼロインサーション／デリーションビットスタフィング（zero insertion/deletion "bit-stuffing"）プロトコルを用いる。
【００３６】
或る実施例に於いては、インターフェースコントローラ２１０のシリアルコントローラは、４ワイヤーインターフェースを用いるマスター及びスレーブデバイス間のフルデュプレックス、シンクロナス、文字志向（character-oriented）データチャンネルを定義するＳＰＩ（serial peripheral interface）プロトコルをサポートすることができる。マスターインターフェースは、シリアル信号を用いて作動するスレーブインターフェースに対してブロードキャストモードで作動する。ＳＰＩ動作モードは、単純なパラレル／シリアルデータを、シリアルデータを、メモリと周辺機器との間でストリーミングするように変換する。
【００３７】
様々な実施例に於いて、インターフェースコントローラ２１０は、割り込みをサポートするプログラマブルタイマー、プログラマブルバスエラータイマー、プログラマブルウォッチドッグタイマー、割り込みをサポートするプログラマブルパラレルＩ／Ｏポート、システムプライオリティー割り込みコントローラ及び他の様々なシステム制御機能のためのコントローラを含む１つまたは複数の要素を備えたものであって良い。
【００３８】
図３に示された詳細なシステムダイヤグラム図は、エミュレータインターフェース３０６を用いるデバイスの一例を表している。或る実施例に於いて、デバイス３００はＤＶＤプレーヤ或いはＤＶＤプレーヤ／レコーダのようなビデオプレーヤ及びまたはレコーダからなる。デバイス３００は、コンテンツソース３０２と、コンテンツシンク３０４とエミュレータインターフェース３０６とを含む。コンテンツソース３０２は、情報またはメディアコンテンツをコンテンツシンク３０４に提供する。
【００３９】
或る実施例に於いては、コンテンツソース３０２は、ＤＶＤドライブ、ＣＤドライブ、ＣＤ−ＲＯＭドライブ（ＣＤ−Ｒ、ＣＤ−Ｒ／Ｗ）などのオーディオ及びまたはビデオデバイスサブシステムからなるものであって良い。或る具体的な例に於いて、コンテンツソース３０２は、再生能力を向上するためのエラー検知能力及び修正機能を備えた一体化されたＤＶＤ／ＣＤデジタル信号プロセッサ（ＤＳＰ）、サーボ及びブロックデコーダを含むものであって良い。
【００４０】
コンテンツシンク３０４は通常例えばレンダリングデバイスに提供するためにコンテンツを処理するデバイスからなる。或る実施例に於いて、コンテンツシンク３０４は表示のためにオーディオ及びまたはビデオコンテンツをデコードするＭＰＥＧデコーダからなるものであって良い。或る実施例に於いては、コンテンツシンク３０４は、ＭＰＥＧ−２ビデオデコーダ、２４ビットオーディオデジタル信号プロセッサ（ＤＳＰ）、３２ビットＲＩＳＣシステムＣＰＵを組み合わせた一体化ＤＶＤバックエンドからなるものであって良い。特定のコンテンツシンク３０４は、優れたユーザインターフェース性能及び高品質のためにハードウェア２Ｄグラフィカルユーザインターフェース（ＧＵＩ）アクセラレーションを備えた高度な３２ビットＯＳＤ（on-screen display）及び高解像度対応テレビシステムのためのプログレッシブスキャン機能を備えたＰＡＬ／ＮＴＳＣビデオエンコーダを更に含むものであって良い。実施例の主要なオーディオに関する特徴としては、マルチチャンネルＭＰＥＧ、ドルビーデジタル及びＤＴＳ、ＨＤＣＤ（high definition compatible digital）及びＭＰ３デコード、更にはカラオケ及び３Ｄサウンドなどのような後処理機能に対するサポートを含む。
【００４１】
図示されたデバイスに於いて、コンテンツシンク３０４はメモリ３３０に接続されている。図示されたコンテンツシンク３０４は、シンクプロセッサ３３２、シリアルポートなどの通信ポート３３４及びディスプレイパネル３３６を含む複数の機能ブロックを含む。シンクプロセッサ３３２は、プロセッサ、マイクロプロセッサ、コントローラ、マイクロコントローラ、デジタル信号プロセッサ、状態マシン、ＣＰＵなど任意の形式のものであって良い。通信ポート３３４は、通常リモート制御ユニットなどのような図示されない通信デバイスから制御信号を受け取る。ディスプレイパネル３３６は、通常、英数キーパッド、ボリュームコントロールボタン、スイッチ、パッド、ジョイスティック或いは他の機能選択キーなどのような様々な形式のユーザインターフェースコントロールを含むものであって良い。
【００４２】
図示されたデバイス３００に於いて、コンテンツソース３０２はデータ信号、制御信号、チップ選択信号、割り込みリクエスト信号などを伝送する通信バス３３８を介してコンテンツシンク３０４と通信する。様々なシステムに於いて、通信バス３３８は、非標準バスであっても良く、またＩＤＥ、Ａ／Ｖ、ＡＴＡＰＩ、ＳＣＳＩなどの通常はパラレル形式の様々な標準的なバスの１つまたは複数のものからなるものであって良い。或る実施例に於いては、通信バス３３８は、ＭＡＣモジュールに対する物理的インターフェースをなすものであって良い。
【００４３】
エミュレータインターフェース３０６は、ソース−シンク相互作用をエミュレートする要領をもって、ネットワークと通信し、シンク及びまたはソースにネットワーク情報を送るべく、通信バス３３８に接続される。コンテンツソース３０２及びコンテンツシンク３０４の名称は、コンテンツ転送の特定の方向を示すように見えるが、様々なデバイスの実施形態及びまたは相互作用に於いて、コンテンツソース３０２或いはコンテンツシンク３０４のいずれも、最終的に信号を受け取るものであって良い。たとえば、ＤＶＤプレーヤをなすデバイス３００は、コンテンツシンク３０４としてＭＰＥＧデコーダを含み、例えばＤＶＤドライブからなるコンテンツソース３０２及び外部ネットワークまたはデバイスのいずれかがコンテンツのソースとなるように、エミュレータインターフェース３０４は、コンテンツの選択及び通信方向を管理することができる。別の実施例に於いて、ＰＶＲ（personal video recorder）またはＤＶＤレコーダデバイス３００は、（しばしばコンテンツソースとして作動する）ＭＰＥＧエンコーダコンテンツソース、書き込み可能ＤＶＤドライブ或いはハードディスクを有するものであっても良が、デバイス３００がレコーディングモードにある場合には、コンテンツシンク或いはレンダラとして機能することもできる。ＰＶＲまたはＤＶＤレコーダの例に於いては、コンテンツソース３０２は、ネットワークに付属する記憶装置としての機能を果たす。その場合、書き込み可能ＤＶＤもしくはハードディスクドライブは、レコーダブルドライブとして機能することができる。すなわち、ＤＶＤまたはハードディスクドライブ記憶装置を省略し、コンテンツをコンピュータまたはネットワークから或いはそれらに供給することが可能となる。
【００４４】
図示された実施例に於いては、エミュレータインターフェース３０６は、エミュレータインターフェースコントローラ３１０、ネットワークコントローラ３１２、プロセッサ３１４、メモリ３１６、シリアルバスインターフェース３２４、コンテンツバスインターフェース３４０を含み、実施例によっては、コンピュータ３４２、ホスト３５０またはリモートソース３５２などのプロセッサ上に於いて実行されるプロセスを含む。
【００４５】
プロセッサ３１４は、デバイス３００に対して外部のネットワークとコンテンツソースまたは通信バス３３８との間の情報の転送を行ったり、様々な他の機能をエミュレータインターフェースコントローラ３１０の動作を制御する様々なプロセス、方法及びブログラムを実行する。プロセッサ３１４は、任意のプロセッサ、マイクロプロセッサ、コントローラ、マイクロコントローラ、ＣＰＵ、デジタル信号プロセッサ、状態マシンなどからなるものであって良い。
【００４６】
エミュレータインターフェースコントローラ３１０は、エミュレータインターフェース３０６をデバイス３００または通信バス３３８に接続可能であって、データ信号、制御信号、チップセレクト、割り込みリクエスト信号などの生成及びまたは転送を管理する。エミュレータインターフェースコントローラ３１０は、ＩＲ（赤外線）またはＲＦ（無線）ポートのような通信ポートの存在を検出するための検出回路を含むものであって良い。様々な実施例に於いて、検出回路は、ハードウェア、ソフトウェア、ファームウェアまたはそれらの組み合わせからなるものであって良い。通信ポートが存在することが判定されたとき、次に、検出回路は、通信ポートを介してリモートデバイスからデバイス３００にコマンドまたは制御信号が送られたか否かを判定することができる。
【００４７】
エミュレータインターフェースコントローラ３１０は、ＦＰＧＡ（field programmable gate array）、集積回路、ディスクリートな回路、プログラマブル回路その他任意の形式の回路技術によって実施することができる。エミュレータインターフェースコントローラ３１０は、メモリ３１６に対して双方向通信を行う。
【００４８】
図示されたエミュレータインターフェースコントローラ３１０は、ＬＡＮその他任意の形式のネットワークコントローラからなるものであって良いネットワークコントローラ３１２にも接続されている。ネットワークコントローラ３１２は、デバイス３００と、ＬＡＮなどの一つ又は複数のネットワークとの間のインターフェースを構成する。エミュレータインターフェースコントローラ３１０は、ＷＡＮ接続などのネットワーク接続３２０を介して例えばインターネットなどからなるものであって良い。ＷＡＮにも接続されている。ネットワーク接続３２０は、ブロードバンド及びモデム規格などの任意のコンピュータネットワーク規格を備えたデバイス３００の動作を作動するのを助ける。或る実施例に於いては、ホストコンピュータ、ワークステーション、制御端末などからなるものであって良いコンピュータ３４２は、ネットワークコントローラ３１２を介してデバイス３００に接続されている。或いは、コンピュータ３４２を、ネットワーク接続３２０を介してデバイス３００に接続することもできる。デバイス３００は、例えばＡＶデバイスサブシステムその他ほかのメディア要素からなるものであって良いデバイスサブシステムを含むネットワークに、ネットワーク接続３２０を介して接続されている。或いは、デバイス３００は、複数のデバイスサブシステムの一つから情報を取り出すものであっても良い。
【００４９】
コンテンツバスインターフェース３４０は、デバイス３００により、様々なデバイス或いは様々な形式のデバイスに対して通信可能とする。例えば、制御バスインターフェース３４０は、ＬＡＮ、ＵＳＢ、ＩＥＥＥ１３９４規格適合バス、ＡＶ(Audio/Visual)バス、ＳＣＳＩ、ケーブルモデム、デジタルカメラ、ビデオカムコーダ、ＰＤＡ及びそれ以外の電子信号を発生する任意の形式のデバイスの１つ又は複数のものに接続し得るものからなる。
【００５０】
シリアルバスインターフェース３２４は、デバイス３００を、マウス、キーボード、ジョイスティック、トラックパッドその他ほかの入力デバイスなどからなるものであって良いユーザーインターフェースデバイスなどの様々なデバイス或いは様々なデバイス形式にインターフェース可能とする。任意のデバイスからのメディア要素は、コンテンツバスインターフェース３４０、シリアルバスインターフェース３２４或いは通信バス３３８に接続され、コンテンツシンク３０４により回収され或いはそれに向けて送り出すことにより処理及び更に表示されることができる。
【００５１】
或る実施例に於いては、データ信号はコンテンツソース３０２とコンテンツシンク３０４との間で通信される。データ信号は、コンテンツソース３０２とエミュレータインターフェースコントローラ３１０との間或いは通信バス３３８のデータラインを通じてコンテンツシンク３０４とエミュレータインターフェースコントローラ３１０との間でも通信することができる。更に、制御信号は通信バス３３８の制御ラインを介してコンテンツソース３０２とエミュレータインターフェースコントローラ３１０との間或いはコンテンツシンク３０４とインターフェースコントローラ３１０との間でも通信される。様々な他の形式の制御信号及び割り込みリクエスト信号を、コンテンツソース３０２とエミュレータインターフェースコントローラ３１０との間或いはコンテンツシンク３０４とエミュレータインターフェースコントローラ３１０との間で双方向通信される。
【００５２】
メディアコンテンツは、ホストコンピュータ３５０或いはリモートネットワークサイト３５２などに於いて、例えばＤＶＤ、ＣＤなどのような光学的ディスクドライブなどからなるコンテンツソース３０２に記憶される。ある処理方法の例として、コンテンツシンク３０４のシンクプロセッサ３３２が、エミュレータインターフェースコントローラ３０６の制御の下にコンテンツソース３０２、ホストコンピュータ３５０又はリモートネットワークサイト３５２のいずれかに存在するコンテンツを受信する。受信されたデータは、コンテンツシンク３０４に伝送される前に、完全に又は部分的に処理され或いは処理されないこととなる。特定の種類のデバイスに於いては、受信されたコンテンツは、コンテンツソース３０２にとってネイティブなフォーマットであったり、コンテンツシンク３０４が処理し得るようなフォーマットを備えている。この種類の特定のデバイスについては、コンテンツソース３０２はＤＶＤプレーヤであってよく、サポートされたコンテンツフォーマットとしては、ＭＰＥＧ２ＤＶＤフォーマット、ＭＰＥＧＶＣＤフォーマット、ＭＰＥＧ２スーパーＶＣＤフォーマット或いはＤＶＤに準拠する他のフォーマットからなるものであって良い。メディアコンテンツは、コンテンツシンク３０４に直接通信され、データをトランスコードされ、レディオディスプレイ３６０に表示されるビデオ情報或いはオーディオ増幅器３６２により増幅されるオーディオ情報などの形でトランスコードされたデータは表示のために送り出される。
【００５３】
コンテンツが、コンテンツシンク３０４にとってネイティブでないフォーマットであってり、コンテンツシンク３０４が処理し得るようなフォーマットでなかったり或いはコンテンツがフレームレートの要件を満たしていないような場合には、ホストコンピュータ３５０は、コンテンツをコンテンツシンク３０４に送る前にコンテンツを解凍する。いずれの場合にも、エミュレータインターフェースコントローラ３０６はデータを表示可能なフォーマットに変換することができる。フォーマット変換が必要であるような非互換性のフォーマットとしては、ＤＶＤプレーヤに於けるコンテンツが、ＭＰＥＧ４フォーマットであったり、リアルネットワークフォーマットであったり、或いはＭＰＥＧ１／ＭＰＥＧ２フォーマットであるような場合が考えられる。
【００５４】
様々な実施例、用途及び実施形態に於いて、デバイス３００は情報の記憶、処理、モニタ及びディスプレイなどの様々な機能を果たす。これらの機能は、シンクプロセッサ３３２、プロセッサ３１４、ホストコンピュータ３５０、リモートネットワークサイト３５２に於ける他の演算及び制御デバイス、或いはデバイス３００の内外の他の演算、管理及び制御要素などの制御及び管理要素により実行される。制御機能は、ソフトウェア、ファームウェアとして実現され、それらを個別に利用したり或いは組み合わせて利用することにより実現される。実行可能なプログラムコードは、プロセッサにより読み取り得る媒体内に記憶されたり、通信媒体上を搬送波により搬送されるコンピュータデータ信号により、或いは伝送媒体上或いは通信リンク上を搬送波により搬送されるデータ信号として伝送される。プロセッサにより読み取り可能な媒体或いは機械により読み取り可能な媒体としては、情報を記憶或いは転送し得る任意の媒体を含む。プロセッサ又は機械により読み取り可能な媒体の例としては、電子回路、半導体メモリ装置、ロム、フロッピー（登録商標）ディスク、ＣＤ−ＲＷ−ＲＯＭ、ＤＶＤＲＷ−ＲＯＭ、光ディスク、ハードディスク、光ファイバ媒体、無線信号などがある。コンピュータデータ信号としては、電子ネットワークチャネル、光ファイバ、空気信号、電磁信号、ＲＦリンク、シリアルリンク（ＩＥＥＥ１３９４高速シリアルバス）、電力線、無線（ＩＥＥＥ８０２ＳＷＧ、ブルートゥース）、有線などにより伝送し得る任意の信号が含まれる。実行可能なプログラムコードセグメントは、イントラネット、ＷＡＮ，ＬＡＮ及びインターネットによってダウンロードされるものであって良い。
【００５５】
デバイス３００の適用に適するものとしてはホームネットワークシステムがある。パソコンを、少なくとも一つのＡＶデバイスを含むホームネットワークシステムに接続する。コンテンツは、パソコンやＡＶデバイスにより読み取り得るような、パソコン或いはＡＶデバイス内に組み込まれた或いはネットワークを介してアクセス可能なリモートネットワークサイト３５２に設けられたＤＶＤドライブ、ＣＤドライブ、ハードディスクドライブその他のドライブその他のものからなるものであって良い。一つ又は複数の記憶装置上の機械により読み取り可能な媒体内に位置している。
【００５６】
図示された用途に於いては、デバイス３００は、通常はビデオディスプレイ３６０上に表示されるが、ホストコンピュータ３５０に関連するディスプレイスクリーンや、デバイス３００のコンソール或いはリモートネットワークサイト３５２のディスプレイ上に、アクション或いはオプションを選択するメニューの形式を成すようなＧＵＩにより表示することによりユーザが操作或いは制御を行い得るようにしている。例えば、シンクプロセッサ３３２は、ユーザから信号又はリクエストに応答してメニューの表示をリクエストする。エミュレータインターフェースコントローラ３１０はこのリクエストを受信し、ディスプレイに表示されるべき情報がどの機能要素に記憶されているかを判断し、表示のための情報を取り出す。通常、メニュー情報はメモリ３３０、メモリ３１６、ホストコンピュータ３５０に付随するメモリ、リモートネットワークサイト３５２上の別のコンピュータ上に記憶されていたり、一つ又は複数のプロセッサに関連して設けられた複数の記憶位置に分割して或いは分散して記憶されているものであって良い。ＧＵＩは、選択ボタン、キー或いはリモートコントロールの他の形式のスイッチ、コンソール、相互作用デバイスの一つ又は複数の入力端末など、ユーザがメニューからの選択を行い得るような機能要素を含む。
【００５７】
メニューの選択に基づき、選択されたアイテムがデバイス３００に存在する場合、エミュレータインターフェース３０６はコンテンツソース３０２にコマンドを発し、選択されたアイテムに対応するメディア要素コンテンツシンク３０４に送り届ける。選択されたアイテムがホストコンピュータ３５０に関連して記憶されている場合には、エミュレータインターフェース３０６はホストコンピュータ３５０に信号を送り、リクエストされたコンテンツをコンテンツシンク３０４に送り届けさせる。同様に、リクエストされたコンテンツがリモートネットワークサイト３５２上の別の場所に存在する場合、エミュレータインターフェース３０６はリクエストされたコンテンツがリモートネットワークサイト３５２から転送されるようなリクエストを発する。エミュレータインターフェース３０６は、複数のコンテンツソース及び複数のコンテンツリクエスターを含むネットワークに於ける優先順位を決定したり、リソースに対する競合を解決する。
【００５８】
コントロールインターフェース又は翻訳機能は、通常、プロセッサ３１４又はホストコンピュータ３５０に於いて実現されるが、リモートネットワークサイト３５２上のデバイスによりサポートされるようにすることもできる。コントロールインターフェース又は翻訳機能は、コンテンツシンク３０４又はホストコンピュータ３５０によって、コンテンツをホームエンターテイメントシステムやディスプレイデバイスに送り届けるために受信し或いは処理する。コントロールインターフェース又は翻訳機能は、コンテンツの分配、データフォーマット変換、デジタル権利管理変換及びコンテンツ保護のためのトランスコード或いはフォーマット情報を含むものであって良い。ホストコンピュータ３５０又はデバイス３００は、コンテンツを受け取るための許可が適切になされているかをモニターする。フォーマット変換機能は、コンテンツの変換、メタデータの変換及びデジタル権利管理変換を含む。プロセッサ３１４は受信データのデクリプトを補助するものであって良い。
【００５９】
或る実施例に於いては、ホストコンピュータ３５０はコンテンツサーバとして機能する。サーバソフトウェアは、ホストコンピュータ３５０上で実行可能であり、コンテンツフォーマット動作を実行する。サーバはコンテンツをサーチするソフトウェアを含み、コンテンツを検索した場合にはそのフォーマットを判定する。必要であれば、サーバはコンテンツをレンダラに適するフォーマットにトランスコードする。サーバは、複数のコンテンツフォーマット変換に適合し、様々な形式の演算及び通信デバイスをシームレスに通信可能とする。コンテンツを検索したソフトウェアは、メニューを生成し、メニューを表示し信号をトランスコードする。特定のソフトウェア機能としては、ユーザがレンダリングのためのコンテンツを選択可能とし、既存のシステムによりレンダリングし得るようなフォーマットに情報のコンテンツをフォーマットするようなメニュー制御構造を含む。ソフトウェアは、コンテンツシンク３０４について想定されている特定の方法をもってコンテンツシンク３０４と通信する。
【００６０】
サーバソフトウェアは、コンピュータ、パソコン、ラップトップコンピュータ、ＰＤＡ、受像器の上面に搭載されるべきボックス（set-top box）、リモコン装置、携帯電話等を含む様々な形式の演算デバイスに於いて実行可能であって、任意の形式のビデオコンテンツにアクセスすることができ、ビデオコンテンツをコンテンツシンク３０４に供給するためのナビゲータとして機能することができる。ソフトウェアは、ＤＶＤプレーヤ及び各種ドライブなどのような既存のデバイスの基本構造を利用して、ビデオコンテンツのフォーマットを既知のネイティブフォーマットに適合させる。従って、サーバソフトウェアは、コンテンツシンク３０４に対して何ら変更を加えることなく、任意のフォーマットのビデオデータを、コンテンツシンク３０４によりサポートされたフォーマットに適合させることができる。
【００６１】
様々な実施例に於いて、ホストコンピュータ３５０は、例えばホストコンピュータ３５０上またはエミュレータプロセッサ３１４上のような任意のプロセッサに於いて実行可能なコードに基づいて作動する。デバイスのフレキシビリティのために、機能性をホストコンピュータ３５０から供給することができる。例えば、エミュレータインターフェース３０６は、全てのコマンドをホストコンピュータ３５０に送り、ホストコンピュータ３５０上のソフトウェアは、様々なサーバ、トランスコーディング、制御及びコマンドに基づく処理動作を行うことができる。
【００６２】
他の実施例に於いては、様々な処理が、リアルタイム処理の能力を発揮し或いはプロセッサ間の大容量転送を回避するなどの様々な理由により、エミュレータプロセッサ３１４に於いて実行をすることができる。エミュレータプロセッサ３１４に於ける実行可能コードの記憶部分のフレキシビリティ、アップグレード能力及び削減は、実行可能なコードをホストコンピュータ３５０からエミュレータメモリ３１６にダウンロードしてそれをエミュレータプロセッサ３１４により実行することにより達成される。例えば、エミュレータインターフェース３０６は、基本的な入力／出力及び管理機能を発揮するために、エミュレータメモリ３１６内の不揮発性メモリに於ける小さくかつ単純な実行可能なコードを含み、その多くの機能を、ホストコンピュータ３５０などの外部デバイスから揮発性メモリ３１６にダウンロードされたコードから実行することができる。
【００６３】
或る実施例に於いては、コンテンツはオープンフォーマットにより通信され、デジタル権利の管理を行うことなく、一般的にアクセスが可能にされている。デジタル権利管理能力は、例えばプロセッサ３１４により実行されるエミュレータに含まれるものとし、コンテンツを、デジタル権利管理に適合したものとすることができる。
【００６４】
トランスコーディングは、デバイス３００、ホストコンピュータ３５０またはコンテンツを、適合するフォーマットに変換する、デバイス３００に通信可能に接続された他のプロセッサにより発揮される機能である。受信したコンテンツがデバイス３００に適合するものであれば、コンテンツは変換されることなくデバイス３００に直接伝送される。そうでない場合には、非適合コンテンツのために、ホストコンピュータ３５０、プロセッサ３１４或いはデバイス３００の内部もしくは外部の制御機能要素が、コンテンツを、デバイス３００に適合するフォーマットに変換する。
【００６５】
選択されたメディアコンテンツが利用可能な場合、エミュレータインターフェース３０６は、メディア要素をコンテンツシンク３０４に伝送する。デバイス３００は、メディア要素を、テレビスクリーン、スピーカなどに於いて特定の表示を行うのに適する方式にフォーマットする。
【００６６】
或る実施例に於いては、コンテンツシンク３０４は、発せられたユーザコマンドを、リモートコントロール或いは器具コントロールパネルを介して翻訳する機能を備えている。
【００６７】
図４に於いては、図２或いは図３に示されたエミュレータインターフェースに於いて用いるのに適するエミュレーション回路４００の詳細な機能的ブロック図が示されている。或る実施例に於いては、エミュレーション回路４００は、フィールドプログラマブルゲートアレイとして実現されているが、他の技術を用いることもできる。エミュレーション回路４００は、制御、データ転送、エミュレーション、トランスコーディング、データの記憶、インターフェース、テスト或いは他の様々な機能を実行するようにプログラムされることができるプロセッサ４１０を含む。図示された実施例では、プロセッサ４１０は、イギリスのAdvanced RISC Machinesにより製造されたARM7TDMI-Sとして構成することができる。図示された実施例４１０は、更に回路内エミュレータ４１２及びＴＡＰ(Test Access Port)コントローラ４１４を含む。
【００６８】
回路内エミュレータ４１２は、トリガポイントの周りのトレースヒストリを伴うリアルタイムデバッグ、バックグラウンドでタスクを実行するのと同時にフォアグラウンドでデバッギングを行うこと及びランタイムの間に於けるメモリの変更をサポートすることができる。回路内エミュレータ４１２は、マルチプロセッサ及びミックストアーキテクチャデバイス、低速或いは可変周波数設計及び低電圧コアのデバッグをサポートすることができる。
【００６９】
ＴＡＰコントローラ４１４は、ＪＴＡＧインターフェース４１６に接続され、プロセッサ４１０が、コネクテッドデバッガソフトウェアの制御のもとに起動及び停止し得るように、プロセッサ４１０がＪＴＡＧエミュレーションを実行させる。ＪＴＡＧエミュレーションにより、ユーザはレジスタ及びメモリ位置を読み取りかつ変更し、ブレークポイント及びウォッチポイントを設定し、コードダウンロード、トレース及びデバッグ動作のモニタリングをサポートすることができる。
プロセッサ４１０及びＡＨＢバスインターフェース４１８は、ＡＲＭメモリバス４２０上で通信する。ＡＨＢバスインターフェース４１２は、プロセッサ４１０をマルチレイヤＡＭＢＡ(Advanced Microcontroller Bus Architecture)高速バス(ＡＨＢ)４２２に通信可能に接続する。ＡＨＢマトリックス４２６は、またＡＨＢ４２２にも接続されている。ＡＨＢマトリックス４２６は、マルチレイヤＡＭＢＡ高速バス（ＡＨＢ）４２０上のメモリ及びデバイスに向けて並行する経路を実現するような複雑な相互接続マトリックスをなしている。ＡＨＢ４２２の並行経路は、バスのバンド幅を増大させ、コンテンションを低減することによりレイテンシーを低下させる。マルチレイヤＡＨＢ４２２は、マルチプルマスタ及びスレーブデバイス間の並行アクセスをサポートするようなＡＨＢプロトコルに基づく相互接続技術である。
【００７０】
ＡＨＢ４２２に接続されたデバイスとしては、割り込みコントローラ４２４、スタチックメモリコントローラ４２８、テストインターフェースコントローラ４３０、キャッシュコントローラ４３２、ＡＨＢ−ＰＶＣＩブリッジ４５０及びＡＨＢ−ＢＶＣＩブリッジ４４５２が含まれる。割り込みコントローラ４２４は、外部割り込み接続４３６、タイマー４３８、ＭＡＣモジュール４４０、ＡＴＡＰＩデバイスブロック４４２及びホストＡＴＡコントロールブロック４４４を含む複数のソースから割り込み信号を検出することができる。割り込みコントローラ４２４は、１つまたは複数の割り込み信号の発生に際して、プロセッサ４１０上に、割り込みを特定する適切なビットを設定する。様々な用途に於いて、現在最も高い優先順位を有する割り込みが、ソフトウェアまたはハードウェアによって決定される。通常、現在最も高い優先順位を有する割り込みは、割り込みコントローラ４２４内の一組のレジスタから読み取られる。割り込みコントローラ４２４は、割り込み状態を示すレジスタ及び割り込みをイネーブル及びセットするためのレジスタを含む。
スタティックメモリコントローラ４２８は、通常プロセッサ４１０に於いて実行可能なプログラムコードを供給するためにフラッシュメモリインターフェース４４６に接続されている。しかしながら、データ及び他の情報を、エミュレーション回路４００に供給することもできる。
【００７１】
テストインターフェースコントローラ４３０は、テストインターフェース４４８に接続され、それぞれ外部バスへのテストインターフェースアクセス及び外部バス使用許可情報をリクエストするための外部バスインターフェースリクエスト及び許可ハンドシェイク信号をサポートする。通常のシステムに於いては、プロセッサ４１０は、バスのアクセスに対して最も高い優先順位を有するテストインターフェースコントローラ４３０により外部バスへのアクセスを継続的にリクエストする。テストパターンを提供する一般的な手順に於いては、まず、リセットが非同期的に加えられ、かつ同期的に取り除かれる。リセットが取り除かれたとき、プロセッサ４１０はスタティックメモリコントローラ４２８を介してメモリリードを開始する。スタティックメモリコントローラ４２８は、通常、外部バスをリクエストし、リクエストが了承されたときにバスを読み出す。スタティックメモリコントローラ４２８がビジーである場合、テストインターフェースコントローラ４３０は外部バスをリクエストする。テストインターフェースコントローラ４３０は最も高い優先順位を有することから、リクエストは許可され、テストインターフェースコントローラ４３０が外部バスの所有権を取得することになる。スタティックメモリコントローラ４２８がリードアクセスを終了すると、テストインターフェースコントローラ４３０は外部バスを使用する許可を得る。外部バスは、バスリクエスト信号を解決し、テストインターフェースコントローラ４３０はテストパターン手順を開始する。
【００７２】
キャッシュコントローラ４３２は例えば４ＫＢのスタティックＲＡＭからなるキャッシュメモリ４３４に接続されている。キャッシュメモリ４３４は、外部メモリへのアクセスを削減し、比較的低速のＲＡＭを用いた場合でも性能を向上させることができる。キャッシュメモリ４３４により、プロセッサ４１０は、ストリーミングオーディオ及びビデオデバイスなどのように高いデータスループットを有する複数のデバイスとバスバンド幅を共有することができる。
【００７３】
ＡＨＢ−ＢＶＣＩブリッジ４５０はＰＶＣＩ(Peripheral Virtual Component Interface)機能ブロックをＡＨＢ４２２に接続する。ＡＨＢ−ＰＶＣＩブリッジ４５０は、マスター及びスレーブインターフェースの両者を含み、ＡＨＢマスター−ＰＶＣＩスレーブ及びＰＶＣＩマスター−ＡＨＢスレーブモードをサポートする。ＰＶＣＩ規格により、様々なインターフェースに適合するプラグイン要素の開発を可能にし、設計の効率を向上させることができる。図示された実施例では、レジスタバス４５６に接続されたＰＶＣＩデバイスは、タイマー４３８、ＭＡＣモジュール４４０、汎用入力／出力インターフェース４５４、ＡＴＡＰＩデバイスブロック４４２、ホストＡＴＡコントロールブロック４４４を含む。
【００７４】
ＡＨＢ−ＢＶＣＩブリッジ４５２は、ＢＶＣＩ(Basic Virtual Component Interface)機能ブロックをＡＨＢ４２２に接続する。ＢＶＣＩは、メモリバス４５８へのシステムバスインターフェースである。図示された実施例では、ＡＨＢ−ＢＶＣＩブリッジ４５２に接続されたＢＶＣＩデバイスは、ホストＡＴＡコントロールブロック４４４、ＡＴＡＰＩデバイスブロック４４２及びＳＤＲＡＭインターフェース４６８を含む。
タイマー４３８は、プログラムコントロールのもとに様々なイベントのタイマーとして機能するようにプログラムすることができる。プロセッサ４１０は、レジスタバス４５６を介してタイマーレジスタに通信する信号を用いて、タイマー４３８の動作を制御する。タイマー４３８は、インターフェースコントローラ２１０の作動を介して、プログラムの実行を他の部分に移動させるようなタイマー割り込みを発生する。
エミュレーション回路４００は、レジスタバス４５６とＧＰＩＯインターフェース４６２との間に接続された汎用入力／出力インターフェース４５４の動作によりデータまたは情報を発信し或いは受信する。
【００７５】
図示されたエミュレーション回路に於いて、ＭＡＣモジュール４４０は高度に一体化され埋め込まれたデバイスをネットワーク接続するための１０／１００−ＭＢＰＳイーサネット（登録商標）メディアアクセスコントローラをなす。ＭＡＣモジュール４４０は外部ネットワークインターフェース４６０ばかりでなく、レジスタバス４５６及びメモリバス４５８に接続されている。ＭＡＣモジュール４４０は物理レイヤーデバイスに対するインターフェースであって、１０−ＢａｓｅＴ、１００−ＢａｓｅＴＸ、１００−ＢａｓｅＦＸ及び一体化されたＤＭＡを伴う３２ビット規格のＢＶＣＩバスインターフェースをサポートする。ＭＡＣモジュール４４０は、通常ＩＥＥＥ８０２．３に適合し、コリジョン検出、オートリプライ、フローコントロール、アドレスフィルタリング、ウェイクアップＬＡＮ及びパケット統計を含むハーフ及びフルデュプレックス動作をサポートする。ＭＡＣモジュール４４０は、ＤＭＡバッファマネージメントユニットを一体化したものであって良く、可変パケットサイズ及びバッファチェーニングによりワイヤースピード性能をサポートする。ＭＡＣモジュール４４０は、そのような直接レジスタクセス及びプログラマブル割り込みを含むタスクをプロセッサからオフロードすることにより、プロセッサのオーバーヘッドを小さく抑えたままで高いデータスループットを達成することができる。ＭＡＣモジュール４４０は、割り込みを生成し、割り込みコントローラ４２４に対する割り込み信号接続を含む。
【００７６】
ホストＡＴＡコントロールブロック４４４及びＡＴＡＰＩデバイスブロック４４２は、レジスタバス４５６及びメモリバス４５８に接続されており、演算、通信、娯楽、周辺機器或いは他の用途のために、ホストコントローラとハードディスクドライブとの間のコネクティビティを向上するように互いに協働する。ホストＡＴＡコントロールブロック４４４は、ハードディスク、ＣＤ−ＲＯＭ、ＤＶＤ、ＤＶＤ−Ｒ、その他のホストシステムを一体化する完全なＡＴＡホストシステムを構成する電子回路を含む。ホストＡＴＡコントロールブロック４４４は、ドライブ制御の機能を果たし、エミュレーション回路４００にホストとして機能させる。エミュレータ４００が記憶ドライブを制御するホストとして機能するとき、ホストは、ホストＡＴＡコントロールブロック４４４及びホストＡＴＡインターフェース４６４の機能を利用する。ホストＡＴＡコントロールブロック４４４は、また、ＰＩＯ（programmed input-output）、マルチワードＤＭＡ（direct memory access）、或いは３３、６６、１００、１３３メガバイト／秒インターフェース回路をも実現する。様々な実施例に於いて、ホストＡＴＡコントロールブロック４４４は、複数のＡＴＡ／ＡＴＡＰＩデバイスをサポートすることができる。ホストＡＴＡコントロールブロック４４４は、ホストコンピュータに接続するためにホストＡＴＡインターフェース４６４に接続され、プロセッサ４１０は、ホストＡＴＡインターフェース事象に対処し得るように、割り込みコントローラ４２４への割り込み接続を有する。
【００７７】
ＡＴＡＰＩデバイスブロック４４２は、デバイスＡＴＡインターフェース４６６に接続され、ＩＤＥ記憶装置をホストシステムに接続させる。ＡＴＡＰＩデバイスブロック４４２は、通常、記憶装置をエミュレーションする機能及びエミュレータ４００に記憶装置として動作させる機能を有する。外部デバイスは、エミュレータ４００を記憶装置として利用するホストとして作動することができる。ＡＴＡＰＩデバイスブロック４４２は、ハードディスク或いは、ＤＲＡＭ、ＮＡＮＤ、ＮＯＲ又はフラッシュメモリ装置を用いる半導体記憶装置と通信することができる。様々な実施例に於いて、ＡＴＡＰＩデバイスブロック４４２は、様々な寸法（１インチ、１．８インチ、２．５インチ等）のハードディスクドライブ、低消費電力ドライブ、ポータブルドライブ、テープドライブ、半導体或いはフラッシュドライブ等とインターフェースするように構成することができる。ＡＴＡＰＩデバイスブロック４４２は、プロセッサ４１０は、ホストＡＴＡインターフェース事象に対処し得るように、割り込みコントローラ４２４への割り込み接続を有する。
【００７８】
ホストＡＴＡインターフェース４６４は、デバイスＡＴＡインターフェース４６６に論理的に接続されることができる。或る実施例では、エミュレータ４００は、記憶装置に直接通信するＭＰＥＧデコーダとして機能することができる。パススルー動作に於いて、エミュレータ４００は、記憶装置に送られるコマンドを受動的にモニターすることができる。
【００７９】
ＳＤＲＡＭインターフェース４６８は、サポートする回路を伴うことなく、例えばＤＩＭＭなどの様々な構造を有するものであって良いＳＤＲＡＭモジュールに対するエミュレータ４００の相互接続をサポートするインターフェースコントローラである。ＳＤＲＡＭインターフェース４６８は、通常、図示されないＳＤＲＡＭコントローラ及び図示されないＳＤＲＡＭ構造ブロックを含む。ＳＤＲＡＭコントローラは、ＳＤＲＡＭをコントロールするための制御信号を発生する。ＳＤＲＡＭ構造ブロックは、リフレッシュ及びモードラインなどのような様々な要素を制御するための構造レジスタ及びＳＤＲＡＭコントローラにより用いられるリフレッシュタイマーを含む。様々な実施例に於いて、ＳＤＲＡＭインターフェース４６８は、スレーブデバイス、任意長バス転送及びプログラマビリティをサポートすることができる。
【００８０】
図５は、エミュレータインターフェースと共に用いるためのサーバ５００の様々なシステム、ハードウェア及びソフトウェア要素を示す要素ダイヤグラム図である。図示されたサーバ５００は、プログラムコードを実行するコンピュータ、パソコン、ワークステーション、ラップトップコンピュータ、ＰＤＡ、ノートパソコンなどのあらゆる種類の装置のシステム５０２上に於いて作動することができる。サーバ５００は、情報又はコンテンツのソースとして機能するデバイス、ソースから得られた情報又はコンテンツを表示し、利用し或いはレンダリングするデバイス及び制御デバイスを含む一つ又は複数の様々な情報取り扱いデバイスと通信することができる。図示された例に於いては、サーバ５００は、イーサネット（登録商標）接続５０８を介して、クライアントデバイス５２０、ＭＰＥＧデコーダなどのようなデコーダ５０４及びＤＶＤドライブ５０６と通信するべく構成されている。これらのデバイスは単なる例示であって、他の形式の情報取り扱いデバイスにより補完し或いは置換することができる。クライアントデバイス５２０、デコーダ５０４及びＤＶＤドライブ５０６は一つのシステムに於いてＩＤＥバス５１０により接続されているものと示されている。別の例に於いては、デバイスを異なるシステムに基づいて構成し、ＩＤＥバス５１０とは異なる内部インターフェースを有するものであって良い。
【００８１】
サーバ５００は、様々なＡＶデバイス及びコントローラ間の相互作用を管理するためにＡＶシステム５１５及びメディアディレクトリ５１８に関連して実行されるべき一つ又は複数のサーバアプリケーション５１２を含む。サーバ５００は、所望のコンテンツを取り扱うアプリケーションを実行するようなソフトウェアアプリケーションなどからなるサーバアプリケーション５１２の作動によりイーサネット（登録商標）接続５０８を介してデバイスと通信することができる。サーバアプリケーション５１２は、メディアを、システム５１５によりナビゲートし得るようなデータのボリューム中に仮想的に配置する。サーバアプリケーション５１２は、ソースメディアの特性を評価し、必要であれば特性をより使い慣れた様式に変更する。例えば、ＤＶＤに基づくサーバ５００は、データフォーマットを変更することによりＤＶＤディスクのように見せかけることができる。サーバアプリケーション５１２は、サーバ５００に接続された一つ又は複数のクライアントに対するデータストリーミングを管理する。
【００８２】
一般に、サーバアプリケーション５１２は、情報転送の主体及び処理のタイプを制御する。サーバアプリケーション５１２は、コンテンツソース及びレンダラとして機能するデバイス、コンテンツ上に於いて実施される処理の形式及び制御及び管理機能を決定しかつ選択する。例えば、サーバアプリケーション５１２は、最初に、コンテンツに対して加えられ得る処理のクラスや利用可能なコンテンツのタイプを示すＧＵＩ表示を生成する。ユーザは、このような表示に対して、所望のコンテンツ及び処理を選択することにより応答する。サーバアプリケーション５１２は、選択されたコンテンツソース及びレンダラに対して送られるべき制御信号を生成しかつ伝送し、これによってコンテンツについてのアクセス、転送、レンダリング及び表示が実行される。サーバアプリケーション５１２は、ソースから、コンテンツに対して処理を加えたり、変更を加えるようなレンダラまでの経路に於いて、何らかのデバイスがあれば、それを起動するような制御信号を生成しかつ伝送する。ある用途に於いては、サーバアプリケーション５１２はサーバプロセッサ上で適宜実行されるべき制御処理ルーチンを実行することができる。
【００８３】
ＡＶシステム５１５は、様々なタイプのＡＶデバイス間の一般的な相互作用を規定しかつ管理し、デバイスタイプ、コンテンツフォーマット及びデータ転送プロトコルに関わらず、広い範囲のデバイスの構成及び応用をサポートする。例えば、ＡＶシステム５１５は、コンピュータ、パソコン、ラップトップコンピュータ、ＰＤＡ、携帯電話、ワークステーション、ビデオディスプレイ、電子的画像フレーム、テレビ、ＣＤ、ＤＶＤプレーヤ、ジュークボックス、ビデオデッキ、受像器の上面に搭載されるべきボックス(set-top box)、カムコーダ、スチルカメラ、オーディオシステム、ステレオ、ＭＰ３プレーヤを含むオープンエンドな様々なＡＶデバイスをサポートすることができる。ＡＶシステム５１５は、ＭＰＥＧ２、ＭＰＥＧ４、ＪＰＥＧ、ＭＰ３、ＷＭＡ、ＢＭＰ、ＮＴＳＣ、ＰＡＬ、ＳＥＣＡＭ、ＡＴＳＣ、ＶＣＤ、Ｓ−ＶＣＤ等をサポートする。ＡＶシステム５１５は、サーバアプリケーション５１２及びメディアディレクトリ５１８と協働して、様々なコンテンツソース、コンテンツレンダラ及びコントローラの機能を選択しかつ規定する。
【００８４】
ＡＶシステム５１５は、メディアレンダラ５１４、メディアコントローラ５１６及び標準的メディアサーバ５４２を含む。ＡＶシステム５１５は、コンテンツソース、コンテンツレンダラ及びＡＶ相互作用コントローラの相互作用を規定しかつ管理する。或る実施例に於いては、ＡＶシステム５１５は高度にフレキシブルであって、あらゆるタイプのメディアソースドライブ及びあらゆるタイプのメディアレンダリングデバイスに対する互換性を有する。
【００８５】
サーバ５００は、メディアディレクトリ５１８から選択された一つ又は複数メディアソース５４４、５４６からコンテンツに対してアクセスする。メディアコントローラ５１６により、ユーザは、メディアディレクトリ５１８からコンテンツを発見しかつ選択し、更にターゲットレンダラを選択することができる。メディアレンダラ５１４は、選択されたコンテンツを取得し、コンテンツの転送を選択されたターゲットレンダラに向けて実行させる。
【００８６】
図示された実施例に於いては、メディアレンダラ５１４はトランスコーダ５３０、仮想ＬＢＡマネジャー５３２、仮想コンテンツファイルマネジャー５３４及び仮想コンテンツレンダラ５４０を含む。或る実施例に於いて、トランスコーダ５３０はＭＰＥＧ−ＶＯＢトランスコーダであって、仮想コンテンツファイルマネジャー５１４は仮想ＩＦＯ／ＶＯＢマネジャーである。ＭＰＥＧ−ＶＯＢトランスコーダは、ビデオコンテンツをコンピュータで取り扱うために圧縮しかつ表示するために一般的に用いられるＭＰＥＧフォーマットを、ＤＶＤプレゼンテーション及びムービーに於ける標準的なフォーマットであるＶＯＢファイルに変換する。ＶＯＢファイルは、複数のマルチプレックスされたＡＶストリームを含む。仮想ＩＦＯ／ＶＯＢマネジャーは、アスペクト比、サブタイトル、メニュー、言語などの再生情報を含むＶＯＢファイルの特定のフォーマットを記述する情報を含むＩＦＯファイルをＶＯＢファイルと共に取り扱う。
【００８７】
サーバ５００は、特定のＡＶ用途に応じて他のフォーマットの情報をトランスコードするトランスコーダ及び仮想コンテンツファイルマネジャーを含むものであって良い。例えば、トランスコーダ５３０は、ＭＰＧビデオ、ＤＶ、ＭＰＥＧ基本（ＥＳ）又はストリーム（ＶＯＢ）、ＹＵＶ４ＭＰＥＧストリーム、NuppelVideoファイルフォーマット、生又は圧縮（pass-through）ビデオフレーム或いは、ＭＰＥＧ、ＡＣ３（pass-through）及びＰＣＭオーディオを伴うＤｉｖＸ、ＯｐｅｎＤｉｖＸ、ＤｉｖＸ４．ｘｘ非圧縮ＡＶＩを書き込むためのエクスポートモジュールの１つ又は複数を含む様々なフォーマット間でコンテンツをトランスコードするために実現することができる。特に重要なトランスコードの応用の一例としては、ＪＰＥＧをＭＰＥＧにトランスコードする用途がある。別の実施例に於いては、デジタルビデオがＭＰＥＧにトランスコードされる。これには、低品質デジタルビデオを高品質ＭＰＥＧにトランスコードすることも含まれる。
【００８８】
オーディオの分野に於いて、トランスコーダ５３０はＭＰ３メディアファイルを、ドルビーＡＣ３ＰＣＭフォーマットにトランスコードすることができる。
【００８９】
ＤＶＤプレーヤの分野に於いて、トランスコーダ５３０は、書き換え可能な任意のメディアを、ＤＶＤプレーヤ上で見ることができるように、トランスコードすることができる。例えば、パワーポイントプレゼンテーションを、ＤＶＤプレーヤに表示し得るようなビデオの形式にトランスコードすることができる。
【００９０】
トランスコーダ５３０は、トランスコードに生のビデオ／オーディオストリームをフィードするモジュールをインポートすること及びデータフレームをエンコードするモジュールをエクスポートすることを含むコンテンツローディングモジュールを用いたデコーディング及びエンコーディング操作を実行する。典型的なトランスコーダ５３０は、ビデオフレームでインターレーシング、高速リサイジング及び外部フィルタローディングを含む基本的なビデオ及びオーディオフレーム変換をサポートする。トランスコーダ５３０により行われる様々な動作には、デマルチプレクシング、抽出及びソースコンテンツをインポートのために生のビデオ／オーディオストリームにデコードすることが含まれ、更にファイルの後処理を可能にするようにソースコンテンツを探索しスキャンすること、ファイルヘッダ情報を設定し、記憶のために複数のファイルを合併し或いはファイルを分割することが含まれる。
【００９１】
典型的なトランザクションに於いて、トランスコーダ５３０はユーザコマンドにより起動し、コンテンツ転送を初期化し、オーディオ及びビデオストリームの転送を開始し、バッファリングを行うモジュールを起動し、フレームをエンコードする。例えば、フレーム及びファイルオフセットを伴うピクチャリストの関連するグループを含むナビゲーションログファイルを生成することにより転送を開始することができる。トランスコーダ５３０は、一つ又は複数のビデオ／オーディオフレーム操作を実行し或いは格別操作を行うことなく生のフレームデータを単に通過させる。ビデオフレーム操作としては、処理のために任意のフレームの領域を除去し、ビデオフレームをデインターレーシングし、ビデオ幅又は高さを増減し、イメージインサイジングのためのフィルタリングを行い、エンコーディングのために任意のフレームの領域を除去し、ビデオ幅／高さをダウンサンプリングすることが含まれる。他のビデオ操作としては、ビデオフレームの回転、鏡像化、ガンマ補正、アンチエイリアシング及び色操作が含まれる。オーディオフレーム操作としては、音量調整、オーディオストリームリサンプリング及びビデオ及びオーディオフレーム間の同期が含まれる。
【００９２】
トランスコーダ５３０は、オーディオ／ビデオエンコーディングのためのエクスポートモジュールをロードし、選択されたフレームに対してエンコーダループ動作を開始することができる。
【００９３】
仮想ＬＢＡマネジャー５３２は、メディアに於ける仮想論理ブロックアドレスの規定及びアクセスを制御し、仮想論理ブロックアドレスをメディアの物理記憶アドレスに関連付ける。仮想ＬＢＡマネジャー５３２は、仮想ＬＢＡを生成することにより、特定の物理的ソースに応じて様々に異なるコンテンツソースからのコンテンツに対してアクセス可能にする。このようにして、仮想ＬＢＡマネジャー５３２は、ＬＢＡを用いて、非標準的或いは非典型的なデバイスからなる第１のデバイスに、システム内に於いて通常コンテンツを供給するべきデバイスからなる第２のデバイスをエミュレートさせる。特定の実施例に於いては、仮想ＬＢＡマネジャー５３２は、インターネットから取得したコンテンツからＤＶＤプレーヤのコンテンツのアドレッシングをエミュレートすることができる。
【００９４】
仮想コンテンツマネジャー５３４は、仮想ＬＢＡマネジャー５３２と協働し、仮想ブロックアドレスに対する物理アドレスのマップを決定する。仮想コンテンツマネジャー５３４は、コンテンツデータの全ての要素の状態を把握し、ローカルデータリンク及びリモートデータリンクを含む関連するデータ間のリンクを維持する。サーバ５００に於ける記憶構造は、互いに参照するようにファイル間の複数のリンクされたリストをなしている。仮想コンテンツマネジャー５３４は、ファイル間のリンクを維持し、一つ又は複数のメディアボリューム上に於ける位置の特定及び配置を管理する。仮想コンテンツマネジャー５３４は、ディレクトリ及びボリューム管理レベルに於いて、参照の整合性が確保されるように、ＩＦＯファイル参照を維持し、それを検証しかつ確保する。
【００９５】
仮想コンテンツマネジャー５３４は、コンピュータに於いて仮想メモリマネジャーが動作するのと同様な要領をもってメディアコンテンツの記憶及びアクセスを取り扱うように機能する。仮想コンテンツマネジャー５３４はメディアの固まり(chunks)を追跡する。仮想コンテンツマネジャー５３４により、メディアの複数の固まりを、オーバーラップしたアドレスをもって記憶することができる。
【００９６】
仮想コンテンツマネジャー５３４は、コンテンツのアクセス及び提供を開始または変更するメディアコントローラ５１６からコマンドを受ける。仮想コンテンツマネジャー５３４は、ＩＦＯ及びＶＯＢファイルのフォーマットを決定し、必要であればメディアのストリーミングを開始するために仮想ＬＢＡマネジャー５３２及びトランスコーダ５３０を起動する。仮想コンテンツマネジャー５３４は、仮想コンテンツレンダラ５４０と協働し、メディアレンダリングを行う機能も有する。
【００９７】
仮想コンテンツレンダラ５４０は、メディアファイル上で作動し、ＤＶＤプレーヤなどの再生デバイスの機能及び能力に合致するようにメディアをフォーマットする。
【００９８】
図示された実施例では、仮想コンテンツレンダラ５４０は、仮想ＩＦＯ／ＶＯＢレンダラからなる。仮想コンテンツレンダラ５４０は、仮想コンテンツマネジャー５３４の指示に基づきコンテンツデータを操作し、コンテンツをレンダリングする。仮想コンテンツレンダラ５４０はコンテンツデータ要素を操作し、仮想コンテンツマネジャーにより特定されかつ配置されたファイルに情報を供給する。仮想コンテンツレンダラ５４０は、ＩＦＯファイルを予め有していないメディアのためにＩＦＯファイルを生成し、これはカスケード式のメニューとして表示される選択ツリーの生成を含む。メニューは、メディアのクラスターの選択を提供する。仮想メディアレンダラ５４０は、全てのメディアがアクセス可能となるまでツリー構造に於ける複数のメニューを生成する。仮想コンテンツレンダラ５４０は、プレイリストコードの表現としてＩＦＯファイルを生成する。
【００９９】
ＩＦＯファイルを有していないメディアの一例としては、デジタルビデオからのＭＰＥＧデータを始めとして、スライドショーのためのパワーポイントデータなど様々なソースが存在する。
【０１００】
ある用途に於いて、仮想コンテンツレンダラ５４０は、提供のためのレンダリングを行わなければ存在しないようなコンテンツを追加する。例えば、仮想コンテンツレンダラ５４０は、ＪＰＥＧイメージの構成に手を加えて、スライドショーの機能を発揮し、ＭＰＥＧイメージのスライドショーを生成するように、コンテンツの隙間にデータを追加するような機能を果たす。
【０１０１】
図示されたメディアコントローラ５１６はメディアスキャナ５３８を含む。図示された実施例に於いて、メディアコントローラ５１６は、メディアがメディアスキャナ５３８の働きにより発展する様子をモニター可能とする。
【０１０２】
メディアスキャナ５３８は、メディアディレクトリ５１８を追跡し、メディアコンテンツ及びメディアディレクトリ５１８を変更可能とする。メディアスキャナ５３８は、定期的にメディアディレクトリ５１８をアクセスし、メディアディレクトリ５１８のコンテンツに何らかの変化が引き起こされたかを判定し、メディアに於ける変更を追跡するためにメディアレンダラ５１４及びサーバアプリケーション５１２の仮想構造を変更する。メディアスキャナ５３８は、変化をモニターし、仮想構造をアップデートすることにより変化に応答する。
【０１０３】
標準的なメディアサーバ５４０には、ローカルに記憶されたもの或いは外部デバイスに記憶されたものであって良い様々なコンテンツに対してアクセスすることができる。標準メディアサーバ５４２は、コンテンツにアクセスし、アクセスしたコンテンツを例えばＨＴＴＰまたはＦＴＰのような標準的な転送プロトコルを用いてネットワークを介して他のデバイスに転送する。標準的なメディアサーバ５４２は、様々なデバイスからネットワーク上で利用可能なコンテンツを見つけ出し、メディアコントローラ５１６と通信し、利用可能なコンテンツのアイテムをブラウジングまたは検索可能とする。標準的なメディアサーバ５４２は、通常、コンテンツディレクトリ、接続マネジャー及びトランスポータを含む。コンテンツディレクトリは、コンテンツを検索またはブラウズするためにメディアコントローラ５１６と相互作用する機能を含み、コンテンツを特定する情報及び特性を供給する。接続マネジャーは、コンテンツの転送の準備、フロー制御コマンドの生成、複数のレンダラをサポートするために複数の事象を識別し、転送を完了したときに接続を終了することを含めて、特定のデバイスに関連する接続を管理する。トランスポータは、コンテンツのフローを制御するためにメディアコントローラ５１６と協働するように利用することができる。標準メディアサーバ５４２は、従来形式のレンダリングハードウェアによってアクセスするために大幅な変更を加える必要がないメディアを供給する。
【０１０４】
メディアディレクトリ５１８は、利用可能な全てのメディアコンテンツ及び場合によってはメディアコンテンツの一部或いは全てを記憶するメディアコンテナをなす。メディアディレクトリ５１８は、仮想メディアディレクトリとして作動し、ローカルに記憶されたメディアコンテンツ及び他のサーバ及びデバイスに記憶されたリモートメディアに対するアクセスを可能にしかつ容易に行い得るようにする。メディアディレクトリ５１８は、コンテンツリソースを特定するＵＲＩを記憶する。ＵＲＩは、ＷＷＷアドレス、ＵＤＩ、ＵＲＩ及びＵＲＬ及びＵＲＮの組み合わせを含む。ＵＲＩとは、リソースを、名前位置或いは他の特徴により特定するようなフォーマットされたストリングからなる。メディアディレクトリ５１８は、サーバ５００がレンダリングのために送り出し得る全てのファイルのＵＲＩを記憶する。ＵＲＩは、どこに記憶されたファイルに対しても対応することができる。
【０１０５】
メディアディレクトリ５１８は、例えばメディアソース５４４、５４６のような利用可能なコンテンツのソースを特定し、１つまたは複数のメディアソースからコンテンツを取得するのを容易にするためのディレクトリ情報を含む。
【０１０６】
図６は、エミュレータインターフェースを用いるＡＶシステムの機能を表すために利用状態を示すダイヤグラム図である。ＡＶシステム６００は、プロセッサ上で実行し得るサーバ６１０と、エミュレータイネーブルされたメディアプレーヤ６１２とを含む。サーバ６１０は、エミュレータイネーブルされたメディアプレーヤ６１２のコンテンツのアクセス及びストリーミングを管理する。エミュレータイネーブルされたメディアプレーヤ６１２は、サーバ６１０からコンテンツを受け取り、コンテンツを再生し或いは提供する。或る実施例に於いては、ＡＶシステムは、エミュレータイネーブルされたＤＶＤプレーヤ上の複数のソースからのビデオコンテンツを再生するビデオシステムからなる。
【０１０７】
サーバ６１０は、メディアサーバ６２０、メディアレンダラ６２２、メディアコントローラ６２４、メディアディレクトリ６２６及びエミュレータサーバ６２８を含む複数の機能ブロックを有する。メディアサーバ６２０、メディアレンダラ６２２及びメディアコントローラ６２４は、サーバ要素６２９、レンダラ要素６３０及び制御要素６３２からなる仕様要素を有する。仕様要素は、標準的な通信プロトコルに適合する。
【０１０８】
メディアコントローラ６２４及びメディアレンダラ６２２は、それぞれ特殊な制御動作及びレンダリング動作を含む。例えば、メディアコントローラ６２４は、エミュレートされた相互作用を選択し、イネーブルし、開始し管理する制御機能を含む。メディアレンダラ６２２は、エミュレータネットワーク通信サーバ６２８のプロキシとなる特殊なレンダラを含む。メディアコントローラ６２４は、メディアサーバ６２０と通信し、メディアレンダラ６２２はコンテンツを供給するようにソースを初期化し、コンテンツ転送パラメータを設定し、コンテンツの伝送を開始する。メディア構造リクエストが、メディアコントローラ６２４に送られ、メディアコントローラ６２４は制御信号を送り、それによってメディアサーバ６２０はメディアファイルを、エミュレータメディアストリームを起動するような機能要素を含むメディアレンダラ６２２に転送する。
【０１０９】
制御ポイントと呼ばれるメディアコントローラ６２４は、メディアディレクトリ６２６を吟味し、例えばＤＶＤのメニューの表示などのメディアメニュー６４０を設定し、コンテンツの転送と同時にメディアディレクトリ６２６内にメニューを生成する。メディアディレクトリ６２０は、メニューを生成し表示するために利用可能なコンテンツのリストとともにメディアコンテンツの一部または全てを含む。メディアプロバイダ６０２は、メディアをメディアディレクトリ６２６により利用可能にする。
【０１１０】
メディアサーバ６２０はメディアコントローラ６２４から制御信号を受け取り、レンダリングのためのメディアコンテンツ６４２を供給することにより応答する。メディアレンダラ６２２は、制御信号を受け取り、メディアをエミュレートされた規格６４４に調整する。メディアレンダラ６２２は、エミュレータイネーブルされたメディアプレーヤ６１２によりメニューが表示されるようにメディアプレーヤメニュー６４６をレンダリングする。メディアレンダラ６２２は、コンテンツを受信しかつレンダリングし、レンダリングされたコンテンツをエミュレータサーバ６２８に供給する。
【０１１１】
エミュレータサーバ６２８は、メディアレンダラ６２２とエミュレータイネーブルされたメディアプレーヤ６１２との間のインターフェースとして機能する。エミュレータサーバ６２８は、メディアレンダラ６２２からエミュレータイネーブルされたメディアプレーヤ６１２に向けてメディアコンテンツのストリーミング６５０を行い、エミュレータイネーブルされたメディアプレーヤ６１２から制御情報を受け取り、利用可能なコンテンツの発見を許可する（６５２）。
【０１１２】
図示された実施例では、エミュレータイネーブルされたメディアプレーヤ６１２はエミュレータ６１４、メディアドライブ６１６及びコンテンツシンクデバイス６１８を含む。特定の実施例に於いて、メディアドライブ６１６はＤＶＤドライブからなり、コンテンツシンクデバイス６１８はＭＰＥＧデコーダからなる。エミュレータ６１４により果たされる機能は、メディアドライブ６１６の機能を真似すなわちエミュレートすることである。標準的な動作に於いて、メディアドライブ６１６は、コンテンツシンクデバイス６１８にメディアストリーム６５４を供給し、メディアデスクリプション６５６をリクエストする。エミュレータ６１４はメディアドライブ６１６の機能をエミュレートし、エミュレートされたメディアストリーム６５８を供給し、メディアデスクリプション６５９をリクエストする。
【０１１３】
エミュレータ６１４は再利用可能なネットワークアドレス及び構成オプションを割り当てるために自動ＩＰアドレシングを利用することができる。
【０１１４】
図７に示された別の実施例では、システムはネットワーク通信に関する当業者に良く知られたＢＯＯＴＰ(Bootstrap Protocol)に基づく、ＴＣＰ／ＩＰネットワーク上のホストに構造情報を送り出すためのフレームワークを供給するべきＤＨＣＰサーバ７６０を含む。ＤＨＣＰサーバ７６０は、再利用可能なネットワークアドレス及び追加の構造オプション７６２を自動的に割り当てる能力を備えている。ＤＨＣＰは、ＢＯＯＴＰリレーエージェントの挙動をキャプチャーし、ＤＨＣＰに加入するホストに対してＢＯＯＴＰ加入者と協働し得るようにする。
【０１１５】
図８は、エミュレータ８００により果たされる機能の例を示す詳細な状態ダイヤグラム図である。様々な実施例に於いて、エミュレータ８００は、ソースデバイス、シンクデバイス及び外部デバイスなどのような様々なデバイス及び要素からの複数の動作の内の１つ又は複数を実行するものであって良い。例えば、エミュレータ８００は、図３に示されたエミュレータインターフェース３０６内のプロセッサ３１４に於ける処理の一部または全てを実行することができる。
【０１１６】
エミュレーション機能に関して、エミュレータ８００はソースデバイス、シンクデバイス及び外部デバイスの１つ又は複数を、相互作用するデバイスの特定に関して欺くような制御信号、データ及び応答を生成する。ネットワーク接続された光メディアプレーヤの例に於いて、光ドライブはソースとして機能し、光メディアデコーダはシンクとして機能し、リモートコンピュータは外部デバイスとして機能する。エミュレータ８００は、光ドライブのトランザクションと同様な相互作用により、光メディアデコーダがリモートコンピュータからコンテンツをレンダリングできるように、いわばデバイスを欺くことができる。光ドライブは、光メディアデコーダをソースとするのと同様な相互作用をもって、リモートコンピュータをソースのコンテンツとすることができる。書き込み可能なドライブについては、リモートコンピュータはバスからドライブに書き込むのと同一の相互作用をもって、光ドライブをコンテンツのソースとすることができる。
【０１１７】
ハードウェアテストに合格すると、エミュレータ８００は、前処理として、ハードウェアテスト動作８０２のパワーアップ初期動作を行う。次に、初期ＯＳカーネル動作８０４が、ＯＳ（operating system）を初期化する。初期ＴＣＰ／ＩＰ動作８０６は、通信のためのイーサネット（登録商標）スタックを用意する。開始エミュレータタスク動作８１０は、並行して実行動作を行い、シンクポイント８１５に於いて、互いに同期するエミュレータ状態マシン８１２及びサーバ状態マシン８１４を含むエミュレータ８００の動作を開始する。
【０１１８】
図示されたエミュレータ状態マシン８１２は、メディア無しバスアイドル状態８１６、メディア有りバスアイドル状態８１８及びバスウェイトリードデータ状態８２０を含む３つのウェイト状態を有する。図示されたエミュレータ状態マシン８１２は、フィールドドライブ情報リクエスト状態８２２、フィールドメディアリクエスト状態８２４、伝送バスリードデータ状態８２６、フィールドリードリクエスト状態８２８及びフィールドシークリクエスト状態８３０を含む５つのコマンドアクション状態を有する。
【０１１９】
図示されたサーバ状態マシン８１４は、メディアホスト接続状態８３２、ネットワークメディアアイドル状態８３４、メディア無しホスト状態８３６、ネットワークウェイトリードデータ状態８３８を含む４つのウェイト状態を有する。図示されたサーバ状態マシン８１４は、メディア有り状態８４０、センドシークパケット状態８４２、センドリードパケットリクエスト状態８４４及びリードデータアライバル又はタイムアウト状態８４６を含む４つのアクション状態を有する。
【０１２０】
メディア無しホスト状態８３６は、メディア接続がオープンのときには、メディアホスト接続状態８３２に進むが、メディア接続がクローズのときには戻る。同様に、メディア接続が失われたとき、ネットワークメディアアイドル状態８３４がメディア無しホスト状態８３６に進む。メディアホスト接続状態８３２は、メディアパケットが到着したときには、メディア有り状態８４０に進むが、メディアが除去されたときには戻る。メディアの記述が得られるときには、メディアが特定されると、エミュレータ状態マシン８１２は、メディア有りバスアイドル状態８１８に進む。メディア有りバスアイドル状態８１８は、ドライブデータリクエストが発せられると、フィールドドライブ情報リクエスト状態８２２に進むが、アクノーレッジが発せられたときには戻る。メディア有りバスアイドル状態８１８は、メディアリクエストが発せられると、フィールドメディアリクエスト状態８２４に進むが、アクノーレッジが発せられたときには戻る。メディア有りバスアイドル状態８１８は、リードリクエストが発せられると、フィールドリードリクエスト状態８２８に進み、サーバ状態マシン８１４をセンドリードパケットリクエスト状態８４４にするようなリードＬＢＡ信号を発生する。ＬＢＡリクエストが発せられると、サーバ状態マシン８１４は、センドリードパケットリクエスト状態８４４から、ネットワークウェイトリードデータ状態８３８に進み、リードリトライが発せられたときには戻る。ネットワークウェイトリードデータ状態８３８に於いて、サーバ状態マシン８１４は、リードデータアライバル又はタイムアウト状態８４６に進むが、キューデータ信号が発せられると、エミュレータ状態マシン８１２が、伝送バスリードデータ状態８２６からメディア有りバスアイドル状態８１８へと移行させられる。データ転送完了信号が発せられると、エミュレータ状態マシン８１２が、伝送バスリードデータ状態８２６からメディア無しバスアイドル状態８１６へと移行させられる。
【０１２１】
エミュレータ状態マシン８１２のメディア有りバスアイドル状態８１８は、ドライブデータリクエストが発せられると、フィールドドライブ情報リクエスト状態８２２に進むが、アクノーレッジが発せられたときには戻る。メディア無しバスアイドル状態８１６は、メディアの記述が得られたときには、サーバ状態マシン８１４に信号を送り、サーバ状態マシン８１４をネットワークメディアアイドル状態８３４とするようにメディアＩＤアクノーレッジを生成する。バスシークリクエストが発せられたときには、ネットワークメディアアイドル状態８３４、エミュレータ状態マシン８１２を、メディア有りバスアイドル状態８１８とするようにシークアクノーレッジを生成する。バスシークに際して、メディア有りバスアイドル状態８１８はフィールドシークリクエスト状態８３０に進む。シークリクエストに際して、フィールドシークリクエスト状態８３０は、サーバ状態マシン８１４をセンドシークパケット状態８４２とするようにシーク目的地信号を生成し、センドシークパケット状態８４２は、アクノーレッジに際して、ネットワークメディアアイドル状態８３４となる。
【０１２２】
ネットワークメディアアイドル状態８３４は、リードリクエストに際して、サーバ状態マシン８１４をバスウェイトリードデータ状態８２０とするようにリードアクセプト信号を生成する。バスウェイトリードデータ状態８２０に於いてデータがレディになったとき、アクノーレッジが、サーバ状態マシン８１４をネットワークメディアアイドル状態８３４とする。
【０１２３】
エミュレータ８００は、特定のシンクデバイスの機能を決定し、リモートデバイスのためにそのような機能を模倣することができる。特定の実施例に於いて、エミュレータ８００は、一定のビットレート又は圧縮デジタルビデオの可変ビットレートを用いてＭＰＥＧ２の１トラック分又はストリームを生成することによりディスクドライブを模倣する。特定のエミュレータ８００は、固定又は可変ビットＭＰＥＧ−１ＧＢＲ、或いはフィルムからのプログレッシブ２４ｆｐｓ、ＰＡＬビデオからのインターレースされた２５ｆｐｓ及びＮＴＳＣビデオからのインターレースされた２９．９７ｆｐｓのコード化されたフレームレートを伴う５２５／６０（ＮＴＳＣ，２９．９７インターレースされたフレーム／秒）及び６２５／５０（ＰＡＬ，２５インターレースされたフレーム／秒）ＶＢＲをサポートすることができる。エミュレータ８００は、ビデオストリーム内にフラッグ及び信号を配置し、所定のディスプレイレートを達成するようにディスプレイ周波数を制御する。エミュレータ８００は、インターレーシング、プログレッシブフレームディスプレイ、エンコーディング及びミキシングをコントロールすることができる。エミュレータ８００は、所定の時間のＭＰＥＧ２  Ｉ−フレームなどとしてエンコードされたスチルフレームを表示することができ、字幕、サブタイトル、カラオケ、メニュー及び動画のための、ビデオにオーバーレイされるサブピクチャーストリームを複数生成することができる。
【０１２４】
エミュレータ８００は、ファイルシステム及びソースデバイスのファイルシステムと通信するための方法を表したコンテンツのソースを提供する。ソースシンク相互作用の開始の間にシステムはソースデバイス上のコンタクトを検索する。エミュレータ８００は、ファイル構造及びリモートデバイスに於けるソースデバイスのコンテンツサーチを模倣し、コンテンツを、実際のソースデバイス及び、ソースデバイスをエミュレートするリモートデバイスのいずれかから選択可能とする。
【０１２５】
特定の実施例に於いて、エミュレータ８００はＵＤＦ或いはマイクロＵＤＦなどのファイルシステムをエミュレートし、１回書き込み或いは書き込み可能なフォーマットをいずれもサポートする。或る実施例に於いては、エミュレータ８００は、レガシーＯＳ、プレーヤ及びコンピュータとの互換性を確保するためにＵＤＦ、ＵＤＦブリッジ（ＩＳＯ９６６０）及びＩＳＯ１３３４６規格の組み合わせをサポートすることができる。
【０１２６】
エミュレートされたトランザクションが選択された場合、エミュレータ８００は、ソース−シンクトランザクションのプロトコルに基づきリクエスト及びデータを交換することにより、トランザクションを管理する。エミュレータ８００は、ソースデバイスを分離し、ソースデバイスにより通信される制御信号及びデータを待ち受け或いはオーバーライドし、シンクとエミュレートされたソースとしてのリモートデバイスとの間の信号及びデータの相互作用を可能にする。様々なシステム及びトランザクションに於いて、エミュレータ８００はシンクデバイスが何であるかを通知することなくトランザクションを模倣することができる。別のシステム及びトランザクションに於いて、エミュレータ８００は、エミュレーションが進行中であることを示し、実際のリモートコンテンツのソースを知らせるような情報をシンクデバイスに伝送し、ネットワーク相互作用を更に制御可能とし、リモートデバイスの追加の能力を利用可能とし、レンダリング能力を拡張することができる。例えば、エミュレータ８００は、トランザクションを制御することにより、ソースデバイス及びエミュレートを行うリモートデバイスからのコンテンツを同時にレンダリングすることもできる。そのような一つの可能性としては、ソースコンテンツ及びリモートコンテンツにより画像内画像(picture-in-picture)の表示を行うことが考えられる。別の可能性としては、ＤＶＤからのコンテンツを特殊なネットワークからアクセスするアプリケーションと組み合わせる能力を拡張するような高度化されたウェブイネーブルされるＤＶＤがある。
【０１２７】
エミュレータ８００により実行し得るソフトウェア或いはファームウェアとしては、メディアコンテンツナビゲーション、ユーザインターフェーシング、サーボファームウェア及びデバイスドライバなどの様々な機能を含むものであって良い。
【０１２８】
エミュレータは様々な形式で実施可能である。図９は、パソコン上で実行可能な、ＤＶＤプレーヤ９０８などのＡＶデバイスと相互作用を行うことのできるパソコンベースのソフトウェア９００を含むＡＶシステムとしての一例を示している。この例に於いて、パソコンにより実行可能なソフトウェア９００は、サーバ９１８、レンダラ９１０及びコントロールポイント９３２を含む。ＤＶＤプレーヤ９０８は、図４の記述に基づき実施し得るような図示されないエミュレータを含み、パソコンベースのソフトウェア９００は、情報を適当なフォーマットをもってエミュレータに供給するインターフェース又はリンク９２０を更に備えている。パソコンベースのソフトウェアは、レンダラ９１２に於けるコンテンツトランスコーダ９１４と協働して情報を様々なフォーマットをもってコーディング及びデコーディングするための、例えばＷｉｎｄｏｗｓ（登録商標）Ａ／Ｖ圧縮コーデックなどのようなＡＶ圧縮コーデック９３０を含む。
【０１２９】
図示された実施例に於いて、サーバ９１８は、サーバ９１８によりアクセスするための様々なフォーマットのコンテンツを供給するメディア管理ソフトウェア９１６の一部として実施することができる。例えば、メディア管理ソフトウェア９１６は、ミュージックファイル、フォトファイル、ビデオファイルなどを含む様々な形式のコンテンツファイルを供給することができる。ミュージックファイルとしては、ＭＰ３、ＷＭＡなどのフォーマットがある。フォトファイルとしては、ＪＰＧ、ＴＩＦＦ、ＧＩＦＦその他のフォーマットがある。ビデオファイルは、ＭＰＧ、ＷＭＶ、ＤｉｖＸなどのフォーマットがある。メディア管理ソフトウェア９１６は、プレイリストやナビゲーション情報及びグラフィック要素などのようなＧＵＩ情報をも供給することができる。
【０１３０】
レンダラ９１０は、コンテンツトランスコーダ９１４及びコンテンツリクエストハンドラ９１２を含む。サーバ９１８は、リンク９２０内に於けるＶＯＢマルチプレクサ９２４と協働してトランスコーダ９１４により決定されるような、フレームレート、サンプルレート、ＮＴＳＣ／ＰＡＬ情報などのような様々なパラメータに基づきトランスコードするためにＧＵＩグラフィック要素及びコンテンツファイルをコンテンツトランスコーダ９１４に供給する。コンテンツリクエストハンドラ９１２は、ＨＴＴＰＧｅｔ（）コマンドなどのようなコールを介してサーバ９１８からコンテンツをリクエストする。
【０１３１】
コントロールポイント９３２は、ＸＭＬ＿ＴＣＰ（eXtended Markup Language Transmission Control Protocol）に於けるＳＯＡＰ（Simple Object Access Protocol）コマンド等のコマンドを用いて、サーバ９１８から情報をリクエストする。サーバ９１８は、ＵＲＩを用いて、プレイリスト及びコンテンツのために応答することができる。コントロールポイント９３２は、このＵＲＩをレンダラ９１０に於けるコンテンツリクエストハンドラ９１２に転送する。
【０１３２】
リンク９２０は、メニュージェネレータ９２２、ＶＯＢマルチプレクサ９２４、ＩＦＯジェネレータ９２６及び図５について前記したような機能を果たすＵＤＦジェネレータ９２８を含む。リンク９２０は、ＴＣＰ／ＩＰなどのようなプロトコルを用いてＡＶデバイス９０８と通信することができる。
【０１３３】
図１０は、レンダリング機能を拡張するエミュレーションを含むＡＶシステム１０００の別の実施例を示す模式的ブロック図である。ＡＶシステム１０００は、エミュレーション機能を備えたメディアレンダラ１０１０及びネットワークイネーブルされるレンダリングハードウェア１００８を含む。メディアレンダラ１０００は、レンダリングハードウェア１００８及びエミュレーション機能を備えたメディアレンダラ１０１０を含む。図示された例に於いて、メディアレンダラ１０００は通信インターフェースを備えたメディアデコーダからなるものであって良い。特定の実施例に於いては、レンダリングハードウェア１００８は、ネットワークインターフェース及びエミュレータインターフェースに接続されたＭＰＥＧデコーダからなるものであって良い。エミュレーション機能を備えたメディアレンダラ１０１０は、ネットワーク１００６から情報又はメディアコンテンツを受け取り得る任意の形式のコンピュータ又はワークステーションからなるものであって良い。
【０１３４】
或るシステムに於いては、レンダリングハードウェア１００８は、ネイティブフォーマットのコンテンツをレンダリングする従来形式の能力のみを有するが、ローカル或いはリモートの別のソースからコンテンツを受け取り得るネットワークインターフェースを備えたものとして実現することができる。エミュレーション機能を備えたレンダラ１０１０は、ネットワーク１００６から様々なフォーマットのコンテンツを受け取り、必要に応じて、レンダリングハードウェア１００８によりレンダリングするためにコンテンツのフォーマットを変換する。レンダラ１０１０は、実質的に任意のフォーマットからハードウェアレンダラ１００８にとってネイティブなフォーマットに、コンテンツをトランスコードできるフォーマットトランスコーダサブシステム１０１０を含むことにより、機能性が拡張されている。フォーマットトランスコーダサブシステム１０１０は、任意のサポートされたフォーマットを、レンダリングハードウェア１００８により取り扱い得るようなネイティブのフォーマットにトランスコードすることができる。
【０１３５】
或る実施例に於いては、エミュレーション機能を備えたメディアレンダラ１０１０は、例えばパソコンなどからなるコンピュータによりレンダリング機能がサポートされているようなコンピュータベースのプロキシモデルを用いて実現することができる。レンダラ１０１０は、コンピュータがトランスコードできる任意のコンテンツフォーマットをサポートすることができる。或る実施例に於いては、コントロールポイント機能も、パソコンによりプロキシすることができる。パソコンは、例えばＤＶＤメニューとしてコントロールポイントユーザインターフェースを供給することができる。コンテンツを選択するためにＤＶＤリモートコントローラを用いることができる。コンテンツが選択されると、コントロールポイントはアイドルとなる。
【０１３６】
トランスポートデバイス１０１６は通常オプションであって、停止、一旦停止、シークなどのような典型的なプレイバック動作からなるようなコンテンツ転送サブシステム機能のあるものを制御する。接続マネジャー１０１８は、コンテンツ転送サブシステム１０１２をサポートし、フォーマットデコーダサブシステム１０１４をサポートし、転送されて来るものを受け取る準備を行い、フローコントロールを行い、複数のレンダラを同時にサポートすることを含む特定のデバイスに関連する接続を制御する。レンダリングコントローラ１０２０は、レンダリングハードウェア１００８とのみ相互作用を行い、レンダリングハードウェア１００８が特定のコンテンツをレンダリングするのを制御可能とする。ＤＶＤの用途に於いて、レンダリングコントローラ１０２０は、コントラスト、明るさ、ボリューム、消音などのレンダリング特性を制御する。複数のダイナミックインスタンスを取り扱うなどの機能により、画面内画面などの機能が可能となる。
【０１３７】
エミュレーション機能を備えたメディアレンダラ１０１０は、ネットワーク１００６からコンテンツを受け取ることのできるコンテンツ転送サブシステム１０１２及びフォーマットトランスコーダサブシステム１０１４を含む。フォーマットトランスコーダサブシステム１０１４は、受信したコンテンツのフォーマットを検出し、コンテンツフォーマットがレンダリングハードウェア１００８によりサポートされたものであるかを判定し、そうでない場合にはコンテンツを、サポートされたフォーマットにトランスコードする。レンダラ１０１０に於いて実行されるソフトウェアプログラムは、情報の転送、トランスコード及びレンダリングハードウェア１００８を制御する。図示されたシステムに於いて、接続マネジャー１０１８は、コンテンツ転送サブシステム１０１２を動作させることにより、ネットワーク１００６からコンテンツをアクセスし受信することを制御し、フォーマットトランスコーダサブシステム１０１４の働きを介して、トランスコードの定義及び動作要領を制御する。レンダリングコントローラ１０２０はレンダリングハードウェア１００８に信号を送り、送られてくるコンテンツのレンダリングを制御し、レンダリング動作を開始する上で必要なレンダリングパラメータを設定する。
【０１３８】
レンダラ１０１０は、初期化の間に、レンダリングハードウェア１００８によりサポートされたコンテンツフォーマットを特定する。ネットワーク１００６上のコンテンツにアクセスしたとき、レンダラ１０１０はネットワークコンテンツを分析し、受信されたコンテンツのフォーマットを決定する。受信したコンテンツフォーマットがレンダリングハードウェア１００８によりサポートされていないものである場合には、フォーマットトランスコーダサブシステム１０１４が初期化され、受信されたコンテンツをサポートされたフォーマットにトランスコードするべく作動する。
【０１３９】
エミュレートを備えたレンダラ１０１０は、様々な形式で実施することができる。例えば、レンダラ１０１０は自己充足的な基板として或いはコンピュータシステムに搭載し得るような集積回路として実施することができる。様々な機能要素はハードウェア、ファームウェア、ソフトウェアその他の技術或いはこれらの組み合わせにより実現することができる。或る実施例に於いては、レンダラ１０１０の一部が基板又は集積回路として実現され、その一部を、コンピュータシステムに於ける一つ又は複数のプロセッサに於いて実行し得るようなソフトウェアとして実現することができる。
【０１４０】
図１１は、エミュレータ１１２０の応用の一例を示すための模式的ブロック図及びダイヤグラム図を組み合わせたものからなる。ＤＶＤオーディオ／ビジュアルシステム１１００は、ＤＶＤプレーヤ１１０４及びテレビ１１０２を備えている。ＤＶＤプレーヤ１１０４は、ＤＶＤドライブサブシステム１１０６、ＭＰＥＧデコーダ１１０８及びメモリ１１０を含む従来形式の機能要素をいくつか備えている。ＤＶＤドライブサブシステム１１０６は、レンダリングのためのコンテンツのソースを構成する。ＭＰＥＧデコーダ１１０８は、例えばＩＤＥもしくはＡＶバスからなるバス１１１２を介してＤＶＤドライブサブシステム１１０６からコンテンツを受信し、テレビ１１０２又はビデオスクリーンデバイス上に表示し得るようにコンテンツのレンダリングを行う。
【０１４１】
ＤＶＤオーディオ／ビジュアルシステム１１００の機能能力は、エミュレータ１１２０を追加し、ネットワークインターフェースとして機能させることにより、殆ど無限の数のソースからコンテンツを供給させることにより、大幅に増大する。エミュレータ１１２０は、ＤＶＤからイーサネット（登録商標）１１３０へのＩＰリンクとして機能するように、バス１１１２に接続される。
【０１４２】
図１２は、エミュレータ１２００と、ソース１２１０、シンク１２１２及びソース１２１０からシンク１２１２に通信するための経路１２１４を含む通信システムとの間に確立し得る様々な接続を示す模式的ブロック図である。エミュレータ１２００は、バス接続、イーサネット（登録商標）ＭＡＣリンク、シリアルリンク、パラレルリンク、メモリコントローラリンク、ＤＭＡリンク、パラレルＩ／Ｏ（ＰＩＯ）リンク、レジスタインターフェース、共有ＲＡＭインターフェース、無線リンク、ＵＳＢリンクなどを含むバス、デバイス、プロセッサ及び部品に接続するための複数のリンクを備えている。
【０１４３】
他の形式のリンク１１２０が、エミュレータ１２００を、通常、バスインターフェースとして経路１２１４に接続している。経路１２１４は、非標準的なものでも、或いはＩＤＥ、オーディオ／ビジュアルＡＴＡＰＩ、ＳＣＳＩ、その他のバス等のような標準的なものからなるものであっても良い。リンク１１２０は、ＴＡＰＩ接続のような標準的なバス接続から標準的なバス接続への接続であって良く、物理レベル又は論理レベルでデバイスをエミュレートすることができる。
【０１４４】
エミュレータ１２００からシンク１２１２へのリンク１２２２は、通常、ＭＡＣ（media access control）モジュールを介する物理的インターフェース等のような非ＴＡＰＩ接続からなる。シンク１２１２は、ＭＰＥＧデコーダ、電子画像フレーム、オーディオプレーヤその他の表示装置のような、任意の形式のレンダリング装置からなるものであって良い。シンク１２１２は、コンピュータ、ワークステーション、ラップトップコンピュータ、電卓、ＰＤＡ、携帯電話、テレビ、ビデオデッキ、ＣＤ、ＤＶＤプレーヤ及びレコーダ、ジュークボックス、カラオケ装置、カムコーダ、受像器の上面に搭載されるべきボックス(set-top box)、ＭＰ３プレーヤ、スチルカメラ、リモコン装置、コントロールパネル、ＭＰＥＧデコーダ内蔵テレビ、パーソナルビデオレコーダ及びその他の形式の制御デバイス、情報記憶、再生及び表示デバイス等のようなデバイス及び要素からなるものであって良い。
【０１４５】
シンク１２１２に於けるエミュレーションは、通常、論理レベルで行われる。
【０１４６】
エミュレータ１２００からソース１２１０へのリンク１２２４は、通常、ＭＡＣ（media access control）モジュールを介する物理的インターフェース等のような非ＴＡＰＩ接続からなる。ソース１２１０は、ＤＶＤドライブ、ＣＤドライブ、ＣＤ−ＲＯＭドライブ（ＣＤ−Ｒ／ＣＤ−ＲＷ）或いはハードディスクドライブ、テープドライブ、テープライブラリ等のような任意の形式の情報供給デバイスからなるものであって良い。ソース１２１０は、また、リモートネットワーク記憶装置、コンピュータ、ワークステーション、ラップトップコンピュータ、電卓、パームコンピュータ、携帯電話、他の形式の情報回収装置等の様々な形式のデバイス又は要素からなるものであって良い。
【０１４７】
ソース１２１０に於けるエミュレーションは、通常、論理レベルで行われる。ソース１２１０に於けるエミュレーションは、非限定的であるが、メモリインターフェース、プロセッサインターフェース、ディスクデータインターフェース、データチャネルに於けるピックアップヘッドのような入力インターフェース、シリアルインターフェース、パラレルインターフェース、ＧＰＩＯポート等を含む任意のエントリーポイントに接続を有するものであって良い。
【０１４８】
図１３は、ケーブル／ＡＤＳＬゲートウェイの一部として機能するべく構成されたエミュレータ１３１０のエミュレータホールウェイアプリケーション１３００を示す模式的ブロック図である。図示されたアプリケーション１３００は、情報ホールウェイ１３０６を介して、家庭の居間１３０２及び書斎１３０４等のような複数の部屋にある様々な形式のデバイス同士をネットワークするためにエミュレータを利用する。或る実施例に於いては、情報ホールウェイ１３０６は、イーサネット（登録商標）、無線（ＩＥＥＥ８０２ Standard Working Groups）、或いは他のネットワーク接続からなるものであって良い。
【０１４９】
本実施例に於いては、居間１３０２はテレビ１３２４及びＤＶＤプレーヤ１３２６などのような娯楽デバイス及び器具が配置され、書斎１３０４はエミュレータ１３１０、パソコン１３１６及びパソコン１３１６のためのモニターとして機能するＶＧＡモニター１３１４を内蔵したものであって良いケーブル／ＤＳＬゲートウェイなどの計算及び通信機器が配置されている。他の実施例では、エミュレータ１３１０はパソコン１３１６などのような他のデバイスまたは器具内に含まれているものであって良い。ケーブル／ＤＳＬゲートウェイは、ＩＳＰ１(Internet Service Provider)３０８を介してリモートシステムとネットワーク可能にする。
【０１５０】
ブロードバンドインターネットは、様々なビデオ及び音楽コンテンツを、インターネットを介してアクセス可能とする。様々な利用モデルが、音楽に関連して確立されている。そのようなものとしては、ポータブルＭＰ３及びＣＤプレーヤなどの再生デバイスを用いるためにインターネットから圧縮されたコンテンツをダウンロードすることがある。様々なコンピュータの製造者がＭＰ３プレーヤをサポートしており、イーサネット（登録商標）及び電話によるネットワークに接続されたＭＰ３デコーダは、ホームステレオシステムの一部として娯楽の目的で構成されたものであって、計算及び娯楽が統合されている。
【０１５１】
情報ホールウェイ１３０６は、異なる部屋の間であらゆる形式のコンテンツの通信を可能にし、更に様々な娯楽、計算及び通信の機能を果たす。このように、メディアを１つの部屋から次の部屋に運ぶ必要がない。エミュレータ１３１０は、住宅のあらゆる場所で或いは住宅外のリモートの場所からコンテンツをアクセスすることができる。低コストの無線８０２．１１（ＷｉＦｉ）は、配線をすることが困難であるような家庭に於いてもコンテンツの共有を可能にし、車庫或いは住宅の近くに駐車している自動車にまでコンテンツを転送することができる。
【０１５２】
インターネットビデオコンテンツに関しても、数百、数千のタイトルが、商業ビデオ放送、ＶＨＳテープ、ＶＣＤ、ＤＶＤ、アマチュア及びホームビデオからダウンロードしエンコードするために利用可能であることから、インターネットビデオコンテンツのために同様な利用モデルが開発されている。映画スタジオは、プレミア映画を、概ねＤＶＤの画質を保ったままで、その容量を数百メガバイトに減少するようにエンコードした形で、インターネット上で販売したりペイパービュー形式でダウンロードさせたりしている。
【０１５３】
エミュレータ１３１０により解決される１つの問題は、ダウンロードされた映画をテレビジョン１３２４からアクセス可能とすることである。エミュレータ１３１０は、コンテンツのアクセスを補助することに加え、コンテンツをレンダリングするデバイスの必要に合致するように、コンテンツをトランスコードすることができる。エミュレータ１３１０は、許可されたときにのみコンテンツの転送を許可するようなデジタル権利管理機能をも実現することができる。
【０１５４】
或る実施例に於いては、エミュレータ１３１０内の揮発メモリが大きな容量を有していることから、ＤＶＤプレーヤからのビデオ情報を問題なく記憶することができる。比較的信頼性の低い通信接続に於いては、メモリサイズを増大させることが重要である。一般に、８メガバイトの揮発メモリサイズは、高信頼の通信接続を確立するために十分である。比較的信頼性の低い相互接続に於いては、６４または１２８メガバイトのメモリ容量で十分であると考えられる。記憶容量を増大することは、ネットワーク上でメディアコンテンツをアクセスするシステムのバンド幅を増大することと同様である。
【０１５５】
特定の構成に於けるメモリの適切なサイズは、通信接続のデータ転送速度にも依存する。データ転送速度が、エミュレータ１３１０がビデオディスプレイにデータを供給するレートよりも小さい場合には、ビデオ表示の全てまたは一部についてビデオ情報を揮発メモリに記憶することができる。或る実施例に於いて、ビデオ提供レートが、通信レートを超えた場合、ビデオを提供する前に十分な量のビデオ情報を記憶しておき、ビデオ情報の提供が、継続するビデオ情報の転送を追い越すことがないようにしなければならない。
【０１５６】
エミュレータ１３１０により、ユーザは、コンピュータ、娯楽デバイスまたは器具或いはネットワークからコンテンツを検索し、ダウンロードすることができ、コンテンツを複数の所望の場所で見ることができる。
【０１５７】
エミュレータ１３１０を追加することにより、パソコン１３１６は通信補助手段或いはコンテンツフォーマッタとしてバックグラウンドで作動することができる。エミュレータ１３１０により可能となった追加の機能としては、消費者に対してオープン及びプレミアコンテンツに対するアクセスを拡張することが含まれる。パソコン１３１６及びＤＶＤプレーヤ１３２６の機能を組み合わせることにより、より一層利便性を向上することができる。なぜなら、拡張したシステムはＤＶＤシステムと同じリモートコントロール及びメニューの特徴を利用するものであることから、親しまれているＤＶＤプレーヤのメニューを、パソコン１３１６及びネットワーク或いはインターネットからコンテンツをアクセスする場合にまで拡張できるからである。このように統合されたシステムは、任意のブロードバンドインターネットサービスと協働したり、イーサネット（登録商標）、１３９４、ＩＥＥＥ８０２ＳＷＧ、ブルートゥースその他の低コストＤＶＤプレーヤに対する接続手段の統合を容易に達成することができる。
【０１５８】
ある用途に於いては、製造者或いはＯＥＭ供給者は、単純なプリント基板レベルの変更によりエミュレータ１３１０を実現し、既存のシステム部品、ファームウェアに対して大幅な変更が不要となるようにすることも所望に応じて可能である。
【０１５９】
エミュレータ１３１０は、パソコンからテレビへのリンクとして機能するイーサネット（登録商標）ＭＰＥＧレシーバのための機能的な基礎を提供することができる。エミュレータ１３１０は、デジタル式のケーブル及び衛星放送受像器の上に設置するボックス、ＰＶＲ、ゲームコンソール及びＤＶＤプレーヤを含む既存の製品の機能を大幅に拡張するために用いることができる。
【０１６０】
イーサネット（登録商標）ＭＰＥＧレシーバは、ＭＰＥＧデコーダ、ＭＰＥＧデコーダのためのインターフェース及び非標準的なメディアドライブにとって期待されるべき形式に情報を変換するためのエミュレータを有する。イーサネット（登録商標）ＭＰＥＧレシーバは、パソコン１３２６からテレビ１３２４へのリンクを形成し、ユーザはパソコンまたはテレビからコンテンツを検索しダウンロードすることができ、そのいずれに於いてもコンテンツを見ることができる。イーサネット（登録商標）ＭＰＥＧレシーバは、期待されたフォーマットでＭＰＥＧデコーダにデータを供給する論理インターフェースであって、パソコンはインターフェースデバイスによって期待されるフォーマットでデータを供給する機能を果たす。
【０１６１】
或る実施例に於いて、エミュレータ１３１０を用いて、パソコンとＤＶＤプレーヤとをイーサネット（登録商標）を介して接続し、ユーザがいずれのデバイスを用いてもシームレスにコンテンツを検索及び再生することができる。
【０１６２】
エミュレータ１３１０の或る実施例に於いては、ＤＶＤプレーヤのＭＰＥＧデコーダを用いてテレビ上に画像をストリーミング再生するために、コンピュータのリソースを用いてコンテンツをダウンロード及びトランスコードすることができる。
【０１６３】
或る実施例に於いては、ＤＶＤプレーヤのためのユーザインターフェースをそのままに保ち、ＤＶＤのリモートコントロールを用いて、あたかも単なるＤＶＤディスクを再生するようにインターネットのビデオ画像を再生及び制御することができる。
【０１６４】
図１４は、例えばバスからなる経路１４１４を介して、１つまたは複数のレンダラ１４３０、１４３２、１４３４に接続された入力セレクタまたはメディアスイッチとして機能するエミュレータ１４００を含むマルチメディアレシーバ／レコーダ１４００の一例を示す模式的ブロック図である。エミュレータ１４１０は、セットトップボックス(set-top box)またはレシーバ／レコーダなどのデバイスまたはシステムの内部に存在するメディアソース１４２０、１４２２、１４２４またはメディア記憶要素１４２６、１４２７、１４２８からメディアコンテンツを選択することができる。あるデバイス及びシステムに於いては、内部メディアソース及び又は内部メディア記憶要素が省略される。エミュレータ１４１０は、例えば、リモートソース１４４０、１４４２またはリモート記憶要素１４４４、１４４６などのネットワークデバイスに対して、ネットワークインターフェースを介してメディアコンテンツにアクセスすることができる。
【０１６５】
エミュレータ１４１０は、例えば１つまたは複数のソースからのビデオ入力ストリームなどの形式で入力信号にアクセスすることができる。ビデオ信号の形式としては、ＮＴＳＣ或いはＰＡＬ等のテレビ放送規格、ＭＰＥＧ２に基づくデジタルフォーマット、ＤＳＳ等のようなＭＰＥＧ２トランスポート規格、ＤＢＳ(Digital Broadcast Services)、ＡＴＳＣ(Advanced Television Standards Committee)が含まれる。ＭＰＥＧ２トランスポート規格は、アナログテレビソーストランス発信機から、デジタルデータストリームをフォーマットし、テレビ受像機によって、入力信号を分解し、マルチプレックスされたプログラム信号から特定のプログラムを見つけることを可能にする。
【０１６６】
選択されたレンダラ１４３０、１４３２、１４３４によりレンダリングすることのできるフォーマットの信号については、エミュレータ１４１０はそのような信号に変更を加えることなくレンダラに伝送する。適切なレンダリングフォーマットでない信号については、エミュレータ１４１０は、信号を例えばＭＰＥＧストリームなどのような適切なフォーマットにリフォーマットもしくはトランスコードする。ＭＰＥＧ２トランスポートマルチプレックスは、マルチプルビデオ及びオーディオフィード並びにプライベートデータと共に、同一のブロードキャストチャネルに於いて、複数のプログラムをサポートする。エミュレータ１４１０は、特定のプログラムのためにチャネルを変更し、特定のＭＰＥＧプログラムを抽出し、ＭＰＥＧ信号を経路１４１４に転送することにより、それを選択されたレンダラによりレンダリングする。
【０１６７】
エミュレータ１４１０は、システムについて透明な形で、別個のビデオ及びオーディオエンコーダを用いてアナログテレビ信号をＭＰＥＧフォーマットにエンコードすることができる。エミュレータ１４１０は、１つまたは複数のマルチプル技術を用いて情報をアナログテレビ信号のＶＢＩに変調することができる。ＮＡＢＴＳ(North America Broadcast Teletext Standard)信号は、情報を、ＮＴＳＣ信号のライン１０−２０に変調し、ライン２１をクローズドキャプション（ＣＣ）及びＥＤＳ(Extended Data Services)のために利用することを可能にする。信号は、エミュレータ１４１０によりデコードされ、ＭＰＥＧ２プライベートデータチャネル供給の要領をもってレンダラに転送される。
【０１６８】
エミュレータ１４１０は、複数の内部メディアソース１４２０、１４２２、１４２４及びメディア記憶要素１４２６、１４２７、１４２８間及び複数の外部リモートソース１４４０、１４４２及びリモート記憶要素１４４４、１４４６間、更には内部及び外部のプロセス及びメモリ間の信号を調停することができる。エミュレータ１４１０は、例えばＭＰＥＧストリームからなる入力ストリームを変換し、経路１４１４に転送することができる。エミュレータ１４１０は、メモリに向けてＭＰＥＧストリームをバッファすることができる。ユーザがリアルタイムでテレビを見ている場合には、エミュレータ１４１０は２つの動作を行うことができる。エミュレータ１４１０は、ストリームを、例えばレンダラ１４２０からなるレンダラに送り、同時に、ストリームを、例えばハードディスクからなる記憶装置に書き込むことができる。
【０１６９】
レンダラ１４２０は、ＭＰＥＧストリームとして入力信号を受け取り、ＮＴＳＣ、ＰＡＬ等のアナログテレビ信号を生成する。レンダラ１４２０は、通常、ＭＰＥＧデコーダ、ＯＳＤ（On-Screen Display）ジェネレータ、アナログテレビエンコーダ及びオーディオロジックなどを含む。ＯＳＤジェネレータは、アナログテレビ信号上にオーバーレイするためのイメージを生成するように、プログラムロジックをイネーブルする。レンダラ１４２０は、ＮＡＢＴＳ、ＣＣ及びＥＤＳを含むいくつもの標準規格をもって、プログラムロジックにより供給された情報を、出力信号のＶＢＩに変調する。
【０１７０】
以上、本発明を特定の実施例について説明したが、これらの実施例は単なる例示であって本発明を限定するものではないことを了解されたい。上記した実施例には、様々に変形、変更、追加及び改良を加えることができる。例えば、当業者であれば、本出願に開示された構造及び方法を具体的に実施可能であって、実施例中のプロセスパラメータや、材料及び寸法は単なる例示であることを容易に理解できよう。所望の構造を達成するために、プロセスパラメータや、材料及び寸法を変更したり、それ以外の変更を加えることは、全て本発明の技術範囲内に含まれるものである。本出願に開示された内容に基づき実施例に変形及び変更を加えることも、以下の請求の範囲に記載された本発明の概念に全て含まれるものである。
【０１７１】
請求の範囲に於いて、特記しない限り、単数の表現は、１つ又は複数を意味するものである。
【図面の簡単な説明】
【０１７２】
【図１】エミュレータインターフェースを利用し得るデバイス相互作用モデルの例を示す模式的ブロック図である。
【図２】デバイス又はバスをネットワークに接続するのに適するエミュレータインターフェースの例を示す模式的ブロック図である。
【図３】エミュレータインターフェースを利用するデバイスの例を示す模式的ブロック図である。
【図４】図２又は３のエミュレータインターフェースに於いて用いるのに適するエミュレータ回路の機能的ブロック図である。
【図５】エミュレータインターフェースに於いて用いるのに適するサーバの様々なシステム、ハードウェア及びソフトウェア要素を示すダイヤグラム図である。
【図６】エミュレータインターフェースを用いるオーディビジュアルシステムの機能を示す実例的ダイヤグラム図である。
【図７】別の実施例のエミュレータインターフェースを用いるオーディビジュアルシステムの機能を示す実例的ダイヤグラム図である。
【図８】適宜なエミュレータの機能の例を示す状態ダイヤグラム図である。
【図９】エミュレーションを含むオーディビジュアルシステムの機能を示す模式的ブロック図である。
【図１０】レンダリング機能を拡張するエミュレーションを含む別の実施例のオーディビジュアルシステムの機能を示す模式的ブロック図である。
【図１１】エミュレータの応用例を示す機能的かつ模式的なブロック図である
【図１２】エミュレータと、ソース、シンク及びソースからシンクへの通信経路を含む通信システムとの間に確立され得る様々な結合状態を示す模式的ブロック図である。
【図１３】ケーブル／ＤＳＬのゲートウェイの一部として機能するべく構成されたエミュレータの情報ホールウェイ（玄関）応用を示す模式的ブロック図である。
【図１４】入力セレクタ又はメディアスイッチとして機能するエミュレータを含むマルチメディアレシーバ／レコーダの一例を示す模式的ブロック図である。
【図１】
2005518737.tif 000003
【図２】
2005518737.tif 000004
【図３】
2005518737.tif 000005
【図４】
2005518737.tif 000006
【図５】
2005518737.tif 000007
【図６】
2005518737.tif 000008
【図７】
2005518737.tif 000009
【図８】
2005518737.tif 000010
【図９】
2005518737.tif 000011
【図１０】
2005518737.tif 000012
【図１１】
2005518737.tif 000013
【図１２】
2005518737.tif 000014
【図１３】
2005518737.tif 000015
【図１４】
2005518737.tif 000016
【国際調査報告】
2005518737.tif 000017
2005518737.tif 000018