ある者から他者へとデータを伝達する通信システムは、既知である。そのデータは、オーディオデータ、ビデオデータ及び/又はテキストデータであってもよい。このような通信システムでは、データは、1つ又はそれ以上の伝送媒体(例えば、無線周波数、同軸ケーブル、撚銅線対、ファイバ光学ケーブル等)を通じて、1つ又はそれ以上のデータ伝送プロトコルに従って伝送される。通信システム内でデータが通過する距離は、インチ、フィート、マイル、数十マイル、数百マイル、数千マイル等となりうる。
また、既知の如く、通信システムには、2つの基本構成がある。すなわち、ワイドエリアネットワーク(WAN)及びローカルエリアネットワーク(LAN)である。さらに、WAN及び/又はLAN通信システムは、放送、非対称伝送、及び対称伝送等、様々な通信型式を用いることがある。放送システムでは、ネットワーク・ハブが、複数のユーザへとデータを送信するが、ユーザからネットワーク・ハブへは、ほとんど何も送信されないか、あるいは全く送信がなされない。放送システムの例として、ラジオシステム、NTSC(米国テレビ方式委員会)テレビシステム(例えば、普通のテレビ)、高品位テレビシステム、ケーブルシステム、及び衛星システム等がある。これら放送通信システムの各々では、ネットワーク・ハブ(例えば、ラジオ局、テレビ局等)が、放送信号を送信する。放送信号圏内にて適切な受信器(例えば、ラジオ、テレビ等)を有するあらゆるユーザが、放送信号を受信可能である。このような放送システムには、振幅変調、周波数変調、極超短波、超短波等、特定のデータ転送プロトコルが用いられる。
非対称通信システムは、一方向において他方向よりも多くのデータを送信する(すなわち、ある者が、他者から受信するよりも多く他者へと送信する)。非対称通信システムの例として、インターネットが挙げられる。インターネットでは、ウェブサーバは、どのユーザから受信するよりも実質的に多くのデータを送信する。インターネットは、TCP/IPを、データ伝送プロトコルとして用いており、その一方で、種々の物理レイヤデータプロトコルが、インターネットへのアクセスに利用されうる。このような物理レイヤデータ伝送プロトコルには、非同期転送モード(ATM)、フレームリレー、統合サービスデジタル網(ISDN)、デジタル加入者ループ(DSL:digital subscriber loop)、及びそこから派生したものの全て、並びに多重パケットラベルスイッチング(MPLS)がある。このような非対称通信システムは、ワイドエリアネットワーク(例えば、インターネット)、又はローカルエリアネットワーク(例えば、ローカルサーバーベースシステム)であってもよい。
対称通信システムには、複数のユーザが含まれ、あらゆるユーザ間のデータフローが等しくなっている。対称通信システムの例には、公衆交換電話網(PSTN)、ローカルコンピュータネットワーク、セルラ電話システム、構内電話システム、構内交換機(PBX)等がある。このような対称通信システムは、少なくとも1つのデータ伝送プロトコルを用いる。例えば、コンピュータネットワークは、イーサネット規格のいずれかを利用してもよい。
どのような種類の通信システムでも、ユーザは、通信システムに対して個別にアクセスするために、適切な装置(受信及び場合により送信装置)を持つ必要がある。例えば、衛星テレビシステムのユーザは、衛星放送を受信するために、衛星受信器及びテレビを持たねばならない。他のテレビが衛星放送に対して別個にアクセスする場合には、それ自身の衛星受信器が必要となる。現行のほとんどのテレビにはNTSCチューナ及び/又は何らかの形式のケーブルチューナが含まれているが、同じことがNTSC放送、ケーブル放送等にも当てはまる。
複数のテレビを所有する世帯の数が増加しており、多くのユーザが最新かつ重要なビデオ試聴サービスを希望している。このように、多くの世帯が、複数の衛星受信器、ケーブルセットトップボックス、モデム等を、所有している。さらに、既知の如く、衛星放送に対する従属複数アクセスは、子テレビを親テレビに接続することによりなされうる。親テレビは、衛星受信器を完全に制御するとともに、衛星受信器に対して単独でアクセスする。その一方で、子テレビは、親テレビが選択したチャネルを、それがなんであれ受信する。
家庭内インターネットアクセスについては、各コンピュータ又はインターネット装置が、自身でインターネットに接続する。このように、各コンピュータ又はインターネット装置に、モデムが含まれている。各コンピュータが自身のモデムを持つのではなく、インターネットへのアクセスを提供するために、家庭内ローカルエリアネットワークが用いられてもよい。このような家庭内ローカルエリアネットワークにおいて、各コンピュータ又はインターネット装置には、サーバにアクセスするためのネットワークカードが、含まれている。そのサーバが、インターネットへの接続を提供する。現在、ネットワークカードのコストは、少なくとも56Kモデムと同程度に高価なので、このような家庭内ローカルエリアネットワークによりコストが低減されることはない。
さらに、既知のように、家庭内ローカルエリアネットワークは、電話回線、無線周波数、電力線、及び/又は赤外線接続の1つ又はそれ以上を、通信媒体として用いる。このような家庭内ローカルエリアネットワークは、通例、複数のコンピュータを1台又はそれ以上のプリンタ、ファックス機等に接続する家庭内コンピュータネットワークに役立てるために、用いられる。このように、娯楽型データ伝送(例えば、VCR、DVD等)は、娯楽型データを送受信する家庭内LANに対応させるように家屋が特別に配線されることなしには、家庭内ローカルエリアネットワークによる対応がなされない。
このように、上述の問題を克服して家庭内に追加のサービスを提供する通信システム用の方法及び装置が、必要とされている。
〔好適な実施形態の詳細な説明〕
一般に、本発明は、ローカルエリアネットワークに対するマルチメディアサービスの提供、マルチメディアシステム内の複数チャネルの多重化、及びマルチメディアシステム内のリソースを管理する方法及び装置を提供する。
このような方法及び装置には、以下が含まれる。
a)少なくとも1つのマルチメディア送信元から、複数のチャネルを受信することにより開始する処理。例えば、複数のチャネルは、衛星接続、ケーブル接続、NTSC放送等を通じて、受信されてもよい。処理は、少なくとも1つのクライアントモジュールから、通信経路を通じて選択要求を受信することにより続行する。クライアントモジュールは、テレビ、コンピュータ、ラップトップコンピュータ、モニタ、パーソナルデジタルアシスタント等のクライアント装置と連携する。処理は、選択要求からチャネル選択コマンドの一組を生成することにより続行する。チャネル選択コマンドの組を生成することには、選択要求を解釈すること、要求を送信したクライアントの正当性を検証すること、及び、それぞれのクライアントに対して適切なアクセス権限を判別すること等が、含まれる。処理は、チャネル選択コマンドの一組に基づいて、複数のチャネルから、チャネルの一組を選択することにより、続行する。このように、受信された全チャネルから、いくつかのもののみが選択される。すなわち、チャネルの一組を構成するようにクライアントにより選択されたものである。処理は、チャネルの一組をチャネルデータストリームへとミキシングすることにより、続行する。そして、処理は、チャネルデータストリームを、通信経路を通じて少なくとも1つのクライアントモジュールへと、クライアントモジュールに対応した各クライアントが、選択したそれぞれのチャネルについてのチャネルデータを受信するように、伝送することにより継続する。このような方法及び装置により、複数のクライアント装置がマルチメディア送信元に対して、このようなマルチメディア送信元に対する個別のアクセスに対応した通常の受信及び/又は送信装置を必要とせずに、個別にアクセスできるようにする家庭内通信ネットワークが、確立される。
b)マルチメディア送信元から、複数のチャネルを受信することにより開始する処理。例えば、複数のチャネルは、衛星接続、ケーブル接続、NTSC放送、HDTV放送等を通じて提供されたチャネルに対応していてもよい。さらに、あるいはその代わりに、複数のチャネルは、VCR、DVD、レーザーディスクプレイヤ等のビデオ送信元のグループにより提供されてもよい。そして、処理は、クライアントモジュールから複数のチャネル選択コマンドを受信することにより、続行する。クライアントモジュールは、複数のチャネルのうちの特定のチャネルにアクセスすることを要求するクライアント装置(例えば、テレビ、パーソナルコンピュータ、ラップトップコンピュータ等)と連携する。処理は、各チャネル選択コマンドについて複数のチャネルから1つのチャネルを選択して、選択チャネルを生成することにより、続行する。このように、各チャネル選択コマンドについて、対応するチャネルが、複数のチャネルから選択される。処理は、選択チャネルを、データ伝送プロトコル(例えば、符号化方式及び/又は変調方式)に基づいて符号化することにより、続行する。そして、符号化チャネルデータは、複数のクライアントへと伝送される。このような方法及び装置により、複数のクライアント装置がマルチメディア送信元に対して、このようなマルチメディア送信元に対する個別のアクセスに対応した通常の受信及び/又は送信装置を必要とせずに、個別にアクセスできるようにする家庭内通信ネットワークが、確立される。
c)複数のクライアントの1つから、マルチメディアシステムサービスに対するクライアントの要求を受信することにより開始する処理。マルチメディアシステムサービスは、ラジオ局チャネル、テレビ局チャネル、衛星チャネル、ケーブルチャネル、インターネットアクセス、構内電話システム通信等にアクセスするものであってもよい。処理は、クライアントの要求がこの特定のクライアントに関して有効であるかどうかを判別することにより、続行する。例えば、その判別は、クライアントがこの特定のマルチメディアシステムサービスにアクセスする権限があるかどうかに応じて、そのシステムがこのようなサービス等に対応しているかどうかに応じて、なされる。処理は、マルチメディアシステムに、クライアントの要求を実行するのに充分なリソースがあるかどうかを判別することにより、要求が有効となった場合に、続行する。このようなりソースとしては、同調モジュール内のリソース、チャネルミキシングモジュール内のリソース、複数のクライアントとマルチメディアサーバとの通信経路の帯域幅等がある。処理は、マルチメディアシステムに、クライアントの要求を実行するのに充分なリソースがある場合に、クライアントの要求を実行するのに充分なリソースの少なくともいくらかを、マルチメディアシステムリソース割当手順に基づいて割り当てることにより、続行する。このことにより、システムのリソースが効率的に割り当てられることが、保証される。このような方法及び装置により、複数のクライアント装置がマルチメディア送信元に対して、このようなマルチメディア送信元に対する個別のアクセスに対応した通常の受信及び/又は送信装置を必要とせずに、個別にアクセスできるようにする家庭内通信ネットワークが、確立される。
本発明は、図1乃至図65を参照して、より完全に説明されうる。図1に、マルチメディアサーバ12と、複数のクライアント26〜34に対して動作可能に接続された複数のクライアントモジュール14〜22とが含まれたマルチメディアシステム10を示す。マルチメディアサーバ12は、マルチメディア送信元24からの複数のチャネル36を受信するように動作可能に接続されている。マルチメディア送信元24は、衛星接続、ケーブル接続、NTSCテレビ放送用のアンテナ接続、HDTV放送、PAL放送等であってもよい。当該技術における平均的技能を有する者には理解されるように、マルチメディアサーバ12は、スタンドアロン型の装置であってもよく、衛星受信器、セットトップボックス、ケーブルボックス、HDTVチューナ、家庭娯楽受信器等内に組み込まれてもよい。さらに、マルチメディアサーバ12は、別々の要素、集積回路、及び/又はそれらの組み合わせを用いて、実装されてもよい。
マルチメディアサーバ12は、複数のクライアントモジュール14〜22と、通信経路を通じて通信する。なお、通信経路は、無線周波数通信経路、有線接続、赤外線接続、及び/又はデータを伝送する他の手段であってもよい。このように、マルチメディアサーバ12及び各クライアントモジュール14〜22には、所与の種類の通信経路を通じてデータを伝送するように動作可能な受信器及び/又は送信器が、含まれている。
図示の如く、各クライアントモジュールは、クライアントの1つに対して動作可能に接続されている。例えば、クライアントモジュール14は、クライアント26に対して動作可能に接続されている。なお、クライアント26は、パーソナルデジタルアシスタントを表している。クライアントモジュール16は、クライアント28に対して動作可能に接続されている。なお、クライアント28は、パーソナルコンピュータを表している。クライアントモジュール18は、クライアント30に対して動作可能に接続されている。なお、クライアント30は、モニタ(例えば、LCDモニタ、フラットパネルモニタ、CRTモニタ等)を表している。このようなモニタには、スピーカ、又はスピーカ接続、チャネル選択、音量制御、画質等の制御機能が、含まれてもよい。クライアントモジュール20は、クライアント32に対して動作可能に接続されている。なお、クライアント32は、テレビ、高品位テレビ(HDTV)、標準品位テレビ(SDTV)、ホームシアターシステム等であってもよい。クライアントモジュール22は、クライアント34に対して動作可能に接続されている。なお、クライアント34は、ラップトップコンピュータを表している。
当該技術における平均的技能を有する者には理解されるように、クライアントモジュール22は、対応するクライアントとは別個の装置であってもよく、クライアント内に組み込まれていてもよい。さらに、当該技術における平均的技能を有する者には、クライアントモジュール14〜22は、別個の要素及び/又は集積回路を用いて実装されてもよいことが、理解されるであろう。
各クライアント26〜34は、それに対応したクライアントモジュール14〜22を介して、複数のチャネル36から1つ又はそれ以上のチャネルを選択する。図示の如く、クライアント26は、表示用の複数のチャネルからチャネル3を選択している。それに応じて、クライアントモジュール14は、チャネル3のチャネル選択を、マルチメディアサーバ12へとリレーする。マルチメディアサーバ12は、複数のチャネル36からチャネル3を選択する。そして、チャネル3に対応したデータは、他のチャネル用のデータと多重化されて、マルチメディアサーバ12から各クライアントモジュール14〜22へと伝送される。クライアントモジュール14は、マルチメディアサーバ12からの伝送を監視し、チャネル3に対応したデータを抽出する。そして、チャネル3用に抽出されたデータは、クライアント26へと表示用に提供される。
クライアントモジュール16,18,20,22は、対応するクライアント28,32,34のために、同様の機能をそれぞれ実行する。図示の如く、クライアント28はチャネル505を選択し、クライアント30はチャネル106を選択し、クライアント32はチャネル206を選択し、クライアント34はチャネル9を選択している。クライアントモジュール16〜22は、それぞれに対応したクライアント28〜34のチャネル選択を、マルチメディアサーバ12に提供する。マルチメディアサーバ12は、各選択要求について複数のチャネルから選択チャネルを抽出し、各選択チャネル(例えば、チャネル3,9,106,206,505)用のデータを多重化してデータストリームにする。そして、データストリームは、各クライアントモジュールへと伝送される。各クライアントモジュールは、それぞれのクライアントに適切な選択チャネルのデータを抽出する。例えば、クライアントモジュール16は、チャネル505に関する伝送データを監視し、クライアントモジュール18は、チャネル106に関する伝送データを監視し、クライアントモジュール20は、チャネル206に関する伝送データを監視し、クライアントモジュール22は、チャネル9に関する伝送データを監視する。
各クライアントからみると、クライアント26〜34は、マルチメディア送信元24に対して独立してアクセスすることができる。それに応じて、クライアント26は、例えばチャネル3からチャネル120へというように、いつでもチャネル選択を変更することができる。クライアントモジュール14は、チャネル選択要求をマルチメディアサーバ12に提供する。すると、マルチメディアサーバ12は、チャネル3ではなく、チャネル120に関するデータをクライアント26のために取得する。同様に、クライアント28〜34も、自身のチャネル選択を、図示された選択から他のチャネルへと変更可能である。なお、2つのクライアントが同一のチャネルを選択したならば、例えば、クライアント26,28の両者がチャネル3を選択したならば、マルチメディアサーバ12は、チャネル3についてのみ一度、データを抽出し、チャネル3に関するデータのヘッダ情報内にクライアントモジュール14,16の双方の識別情報を配置する。このように、クライアントモジュール14,16は、マルチメディアサーバ12による伝送から、同一のデータを抽出して、それぞれのクライアントに提供することになる。
当該技術における平均的技能を有する者には、図1のマルチメディアシステムが、各クライアントに対して、マルチメディア送信元24への個別のアクセスを提供することが、理解されるであろう。代替的な実施形態として、クライアントモジュール14〜22の機能は様々である。例えば、クライアントモジュール14は、クライアントモジュール16が提供する独立した機能の全てを提供するわけではない、ということもある。例えば、クライアントモジュール14は、独立したチャネル選択機能がないが、他のクライアントが選択したものの1つのみを選択するものであってもよい。その代わりに、1つのクライアントモジュールが、複数のクライアントに対応してもよい。
図2に、マルチメディアサーバ42、複数のクライアントモジュール46〜54、及び複数のクライアント26〜34が含まれたマルチメディアシステム40の模式的ブロック図を示す。マルチメディアサーバ42は、ワイドエリアネットワーク(WAN)44及び/又は公衆交換電話網(PSTN)66に対して動作可能に接続されている。ワイドエリアネットワーク44は、例えばインターネットであってもよい。マルチメディアサーバ42は、スタンドアロン型の装置であってもよく、モデム又はクライアント26〜34の1つの中に組み込まれてもよい。マルチメディアサーバ42の機能は、別々の要素及び/又は集積回路を、対応するソフトウェアとともに利用して、実行されてもよい。
複数のクライアントモジュール46〜54は、通信経路を通じて、マルチメディアサーバ42と通信する。通信経路は、無線周波数通信経路、赤外線通信経路、及び/又は有線通信経路であってもよい。このシステム40では、マルチメディアサーバ42は、各クライアント26〜34に対して、公衆交換電話網66及び/又はワイドエリアネットワーク44への独立したアクセスを、提供している。
公衆交換電話網66へのアクセスのために、各クライアント26〜34には、識別符号(例えば電話番号)が含まれている。マルチメディアサーバ42には、該マルチメディアサーバ42が基地局として機能するとともに、各クライアントモジュール46〜54がそれぞれのクライアント26〜34と連携して送受話器として機能するように、コードレス電話機能が含まれている。このように、通例の電話通信について、マルチメディアサーバ42は、複数の送受話器(すなわち、クライアント26〜34及びそれらに対応したクライアントモジュール46〜54)を含んだ単一の基地局である。なお、マルチメディアサーバ42が、公衆交換電話網66に対して複数の接続を有する場合、複数のクライアントにて、同時に継続した電話の会話がなされてもよい。さらに、マルチメディアサーバ42には、各クライアント間の通信がシステム内でなされるように、構内交換機(PBX)機能が含まれてもよい。例えば、クライアント26は、クライアント34と、マルチメディアサーバ42を介して通信する。
ワイドエリアネットワーク44にアクセスするために、マルチメディアサーバ42には、ネットワーク接続が含まれている。そのネットワーク接続は、DSLモデム、ケーブルモデム、56Kモデム、ISDNモデム等であってもよい。さらに、マルチメディアサーバ42には、各クライアントのワイドエリアネットワーク44へのアクセスに役立つ、複数のネットワークアクセスアプリケーション(例えば、ウェブブラウザアプリケーション、電子メールアプリケーション等)が、含まれている。動作の際、それぞれのクライアント26〜34に関してクライアントモジュール46〜54は、そのクライアントがワイドエリアネットワーク44へのアクセスを希望する旨の指示を提供する。ワイドエリアネットワーク要求を受信すると、マルチメディアサーバ42は、その要求に基づき、それぞれのクライアントについてネットワークアクセスアプリケーション(電子メール又はウェブブラウザ)を開く。マルチメディアサーバ42は、各クライアント26〜34のために開く複数のネットワークアクセスアプリケーションを有してもよい。これがなされると、マルチメディアサーバ42は、それらのクライアントに対して、ネットワーク接続へのアクセスを所定の方法で割り当てる。例えば、マルチメディアサーバ42は、各クライアントに対してネットワーク接続へのアクセスを提供するために、トークン通過概念を利用してもよい。
マルチメディアサーバ42は、ワイドエリアネットワーク44からデータを受信する。そのデータは、クライアント26〜34の1つ又はそれ以上に宛てられたものである。マルチメディアサーバ42は、そのデータを多重化し、複数のクライアントモジュール46〜54に対して単一の伝送ストリームを提供する。各クライアントモジュールは、マルチメディアサーバ42からの伝送を監視して、それぞれのクライアント26〜34用のデータを抽出する。そのクライアント用のデータを検出すると、クライアントモジュール46は、当該データを抽出して、そのクライアントに提供する。
この図では、クライアント30〜34は、インターネットにアクセスしているので、ウェブアプリケーションを使用している。例えば、クライアント34がウェブページ56を開き、クライアント32がウェブページ58を開き、クライアント30がウェブページ60を開く。これらのウェブページの各々は、クライアントがワイドエリアネットワークに直接かつ独立してアクセスしているかのように、それぞれのクライアントに表示される。また、図示の如く、クライアント26,28は、電子メール64,62をそれぞれ開いている。このように、クライアント26,28は、それらの電子メールを、マルチメディアサーバ42を介して処理する。
図3に、マルチメディアサーバ88、複数のクライアントモジュール90〜98、複数のクライアント26〜34、DVDプレイヤ82、VCR86、及び他のこのような再生装置が含まれたマルチメディアシステム80の模式的ブロック図を示す。他のこのような再生装置としては、レーザーディスクプレイヤ、デジタルVCR、閉回路テレビ、カメラ一体型ビデオ等がある。このシステム80では、マルチメディアサーバ88が、再生装置(例えば、DVDプレイヤ82及びVCR86)へのアクセスを、複数のクライアントの各々に対して提供している。各クライアントは、DVD再生、VCR再生、又は他のビデオ送信元のいずれかからの再生を受信することを、選択してもよい。
この図では、クライアント26は、DVD再生83を選択している。それに応じて、クライアント26は、その選択の指示をクライアントモジュール90に与える。クライアントモジュール90は、クライアント26の選択を、マルチメディアサーバ88へと伝達する。マルチメディアサーバ88は、その選択を処理して、再生データをクライアントモジュール90に提供する。さらに図3に示される如く、クライアント32がDVD再生83を選択し、その一方で、クライアント28,30,34がVCR再生87を選択している。このように、対応する各クライアントモジュール92〜98は、そのクライアントの選択をマルチメディアサーバ88に提供する。マルチメディアサーバ88は、その選択を処理して、出力データストリームを生成する。この例では、出力データストリームには、DVD再生83データとVCR再生87データとを多重化したものが、含まれている。それに応じて、マルチメディアサーバ88がクライアントモジュール90〜98へと提供した伝送により、どのパケット及び/又はフレームにDVD再生データが含まれ、どのフレーム及び/又はパケットにVCR再生データが含まれているのかが、識別される。例えば、マルチメディアサーバ88は、パケットを、DVD再生データ又はVCR再生データを含むものとしてタグ付けしてもよい。その代わりに、マルチメディアサーバ88は、特定のVCR又はDVD再生要求を提供したクライアントに対応した個々のクライアントモジュールの識別子を含めることにより、パケットにタグ付けしてもよい。いずれの場合でも、クライアントモジュール90〜98は、マルチメディアサーバ88から伝送されたデータを解釈して、クライアントのために適切なデータを抽出する。そして、抽出されたデータは、そのクライアントに対して再生のために提供される。
当該技術における平均的技能を有する者には、マルチメディアサーバ88が、クライアントモジュール90〜98に対して、RF接続、赤外線接続、及び/又は有線接続を通じて動作可能に接続してもよいことが、理解されるであろう。さらに、各クライアントモジュール90〜98は、個別の装置であってもよく、及び/又は、それぞれのクライアント内に含まれてもよい。当該技術における平均的技能を有する者には、さらに、クライアントモジュール90〜92が別々の回路要素及び/又は集積回路内に実装されてもよく、対応したプログラム動作をさらに含むことが、理解されるであろう。同様に、マルチメディアサーバ88は、スタンドアロン装置であってもよく、DVDプレイヤ82、VCR86、及び/又は他のあらゆるビデオ送信元内に組み込まれてもよい。マルチメディアサーバ88は、別々の要素、集積回路、及び対応するプログラム動作を用いて実装されてもよい。
図4に、マルチメディアサーバ102、複数のクライアントモジュール112〜120、複数のクライアント26〜34、デジタルオーディオ記憶装置104、DVDオーディオ装置106、ラジオ受信器108、及びCDプレイヤ110が含まれたマルチメディアシステム100の模式的ブロック図を示す。この図では、マルチメディアシステム100は、各オーディオ装置に対する独立かつ直接の接続を必要とせずに、複数のオーディオ送信元の選択を複数のクライアントに提供する。
動作の際、クライアントモジュール112〜120は、それぞれのクライアントから選択要求を受信する。選択要求は、デジタルオーディオ記憶装置104からのオーディオ再生を選択するものである。なお、デジタルオーディオ記憶装置104は、MP3ファイル、デジタルオーディオ等、DVDオーディオプレイヤ106、ラジオ受信器108、CDプレイヤ110、及び/又は他のあらゆる種類のオーディオ送信元を格納していてもよい。
選択要求を受信すると、マルチメディアサーバ102は、その要求を処理して認証し、一旦認証すると、適切なオーディオ送信元104〜110からデータを取得する。マルチメディアサーバ102は、オーディオ送信元104〜110からのオーディオデータを単一の伝送へと多重化する。各クライアントモジュール112〜120は、その伝送を受信して、そのクライアントに該当する部分を抽出する。
図4に示す如く、クライアント26は、デジタルオーディオ記憶装置104からオーディオを出力するように選択している。それに応じて、クライアント26は、選択要求をクライアントモジュール112へと提供する。そして、マルチメディアサーバ102へと提供される。マルチメディアサーバ102は、その要求を処理して、デジタルオーディオ記憶装置104からの再生を開始する。その記憶装置104からのオーディオ再生データは、マルチメディアサーバ102により受信される。マルチメディアサーバ102は、それを、他のオーディオ送信元からの他のオーディオ再生データと多重化し、単一の伝送をクライアントモジュールへと提供する。マルチメディアサーバ102からの伝送は、パケット及び/又はフレームにてなされてもよい。各パケット及び/又はフレームには、データの送信元及び/又はデータの宛先を識別するヘッダ部が、含まれている。それに応じて、クライアントモジュール112は、それをアドレス指定したデータ及び/又はデジタルオーディオ記憶装置104を特定したデータを得ようとして、伝送を監視する。伝送内にてこのようなデータを検出すると、クライアントモジュール112は、そのデータを抽出して、デジタルオーディオ再生122のためにクライアント26に提供する。
クライアント28は、DVDオーディオ再生124を選択している。それに応じて、クライアントモジュール114は、選択要求をマルチメディアサーバ102に提供する。マルチメディアサーバ102は、DVDオーディオ装置106を通じてのDVDオーディオ再生を開始する。DVDオーディオ再生は、他のオーディオ再生データと多重化されて、多重化されたデータが、単一の伝送にてクライアントモジュールへと提供される。クライアントモジュール114は、DVDオーディオ再生データを抽出して、クライアント28へと提供する。クライアントモジュール120は、同一の機能をクライアント34に提供する。
クライアントモジュール116は、同様の機能をクライアント30に提供する。但し、CD再生126について行う。それに応じて、クライアントモジュール116は、クライアント30のCD再生要求を、マルチメディアサーバ102に提供する。マルチメディアサーバ102は、CDプレイヤ110を通じてCD再生を開始し、そのCD再生データを多重化して伝送ストリームとする。クライアントモジュール116は、CD再生データを伝送ストリームから抽出して、クライアント30に提供する。
クライアントモジュール118は、マルチメディアサーバ102へのラジオ再生128接続を、クライアント32に提供する。この例では、クライアント32は、ラジオ再生及び所望のラジオ局の指定を提供する。クライアントモジュール118は、その要求をマルチメディアサーバ102に提供する。マルチメディアサーバ102は、その要求を解釈して、ラジオ受信器108を通じて受信した複数のチャネルの1つを選択する。選択されたラジオチャネルからのデータは、マルチメディアサーバ102により処理された他のオーディオデータと多重化される。クライアントモジュール118は、適切なラジオデータを伝送から抽出して、クライアント32に提供する。
図5に、マルチメディアサーバ132、クライアントモジュール134〜142、クライアント26〜34、及び複数のマルチメディア送信元が含まれたマルチメディアシステム130の模式的ブロック図を示す。マルチメディア送信元には、VCR86、DVDプレイヤ82、デジタルオーディオ記憶装置104、DVDオーディオ106、ラジオ受信器108、CDプレイヤ110、マルチメディア送信元24、公衆交換電話網66、ワイドエリアネットワーク44、並びに/又は、他の種類のオーディオ及び/若しくはビデオ送信元が、含まれている。このシステム130では、クライアント26〜34は、マルチメディア送信元のいずれかから再生を選択してもよく、及び/又は、マルチメディア送信元のいずれかに対する接続を選択してもよい。各クライアントモジュールからの選択要求により、要求の処理にマルチメディアサーバ132に役立つ所望のマルチメディア送信元、クライアント、所望のサービス及び他の情報が、識別されることになる。このように、あるクライアントがインターネットにアクセスする一方で、他のクライアントが衛星放送チャネルを視聴し、他のクライアントがCD再生を聴取し、他のクライアントが電話をし、さらに他のクライアントがDVD再生を視聴している。このことは、各クライアントが自身のマルチメディア送信元を持つこと、及び/又はマルチメディア送信元に接続することなく、マルチメディアサーバ132を通じて、全てなされる。実質的に、マルチメディアサーバ132は、図1乃至図4のマルチメディアサーバ12,42,88,102の1つ又はそれ以上の機能を提供する。一方、クライアントモジュール134〜142は、図1乃至図4を参照して概説したクライアントモジュールの1つ又はそれ以上の機能を提供する。
当該技術における平均的技能を有する者には理解されるように、マルチメディアサーバ12,42,88,102,及び/又は132が、ホームシアター受信器、テレビ、モデム、セットトップボックス、ケーブル受信器、衛星受信器、VCR、DVDプレイヤ等に組み込まれて、図1乃至図5に概説されたネットワーク機能を提供してもよい。当該技術における平均的技能を有する者には、さらに理解されるように、図1乃至図5のクライアント26〜34が、パーソナルコンピュータ、ラップトップコンピュータ、パーソナルデジタルシステム、ビデオ電話機、デジタル電話機、セルラ電話機、モニタ、テレビ、高品位テレビ、プリンタ、ファックス機、並びに/又は、オーディオ及び/若しくはビデオ出力を含むあらゆる装置のいずれかであってもよい。
図6に、図1のシステム10のマルチメディアサーバ12及びクライアントモジュール14〜22の模式的ブロック図を示す。マルチメディアサーバ12には、同調モジュール150、チャネルミキサ152、送受信モジュール154、及び制御モジュール156が、含まれている。マルチメディアサーバ12は、通信経路192を介して各クライアントモジュール14〜22に対して、動作可能に接続されている。通信経路192は、有線接続、送信有線接続、受信有線接続、送受信無線周波数経路、送信無線周波数経路、受信無線周波数経路、送受信赤外線経路、送信赤外線経路、及び/又は受信赤外線経路であってもよい。
各チャネルモジュール14〜22には、ネットワークインタフェースコントローラ168、選択モジュール170、並びに、ビデオ及び/又はオーディオインタフェース172が、含まれている。選択モジュール170は、クライアントからの入力を受信するように動作可能に接続されて、チャネル選択178を生成する。それに応じて、クライアントがテレビである場合には、該テレビが、選択モジュール172に対して、チャネル選択を示す信号を提供する。それに応じて、チャネル選択モジュール170には、テレビのチャネルを変更するのにテレビのリモートコントロールが用いられた場合、選択モジュール170が、制御信号を受信して解釈し、そこからチャネル選択178を生成するように、リモートコントロール受信器が、含まれてもよい。
ネットワークインタフェースコントローラ168は、チャネル選択178を受信して、通信経路192を通じたマルチメディアサーバ12への伝送を準備する。ネットワークインタフェースコントローラ168により実行される処理は、通信経路192の型に依存している。例えば、通信経路が有線接続である場合、チャネル選択178は、送受信の種類に応じて処理されてもよい。なお、送受信の種類としては、時分割多重(TDM)、周波数分割多重(FDM)、パルス符号変調(PCM)、振幅シフトキーイング(ASK)、位相シフトキーイング(PSK)、1/4位相シフトキーイング(QPSK)、直交振幅変調(QAM)、キャリア感知多重アクセス(CSMA)、衝突回避付きCSMA及び/又は衝突検知付きCSMA等がある。
ネットワークインタフェースコントローラ168は、処理チャネル選択178をチャネル選択要求190として、マルチメディアサーバ12の送受信モジュール154に提供する。当該技術における平均的技能を有する者には理解されるように、クライアントモジュール14〜20は、それぞれのチャネル選択要求182〜188を生成する際に、クライアントモジュール22と同様の機能を実行する。当該技術における平均的技能を有する者には理解されるように、チャネル選択178には、オーディオチャネル、ビデオチャネル、個々のオーディオ送信元(例えば、CD再生)、個々のビデオ送信元(例えば、DVDプレイヤ)等を選択することが、含まれてもよい。さらに、チャネル選択要求182〜190には、音量調節、画質設定及び調節、表示規制、購入要求、画像内画像起動及び動作停止、画像内画像チャネル選択、ビデオ一時停止、逆再生、早送り、及び/又はオーディオミュートが、さらに含まれてもよい。
送受信モジュール154は、チャネル選択要求182〜190を、複数のクライアントモジュール14〜22から通信経路192を通じて受信する。送受信モジュール154は、物理レイヤ情報を、要求182〜190から抽出して、それぞれのチャネル選択要求164を取得する。送受信モジュール154は、チャネル選択要求164を制御モジュール156に提供する。なお、類推として、チャネル選択178がネットワークレイヤのデータに対応し、チャネル選択要求182〜190がISO規格通信システムの物理レイヤのデータに対応していてもよい。このように、チャネル選択要求は、そのヘッダ内にて物理レイヤ型の識別を利用し、そのデータ部内にチャネル選択178を含んでいる。チャネル選択には、選択された個々のチャネルに対応したヘッダ部及びデータ部が含まれる。
制御モジュール156は、チャネル選択要求164を処理する。チャネル選択要求の処理には、その要求を認証して、それによりチャネル選択コマンドの組160を準備することが、含まれる。同調モジュール150は、チャネル選択コマンドの組160を受信し、そのチャネル選択コマンドの組160に基づいて、複数のチャネル158からチャネルの組162を抽出する。複数のチャネルは、衛星接続、ケーブル接続、NTSC放送、HDTV放送、PAL放送等を通じて提供されるチャネルに対応している。同調モジュール150は、チャネルの組162の各チャネル用のデータを、チャネルミキサ152に提供する。
チャネルミキサ152は、チャネルの組162をミキシング(すなわち多重化)して、チャネルデータストリーム166を生成する。チャネルの組をミキシングすることには、各チャネルのデータを一般データ型に変換して、その一般データを、チャネルデータストリーム166として伝送するために、特定のデータフォーマットに変換することが、含まれる。
送受信モジュール154は、チャネルデータストリーム166を、チャネルデータパケット180で送信する。その代わりに、チャネルデータストリーム166は、チャネルデータフレームで伝送されてもよい。各クライアントモジュール14〜22は、そのネットワークインタフェースコントローラ168を通じて、チャネルデータパケット180又はフレームを受信する。
各クライアントモジュールのネットワークインタフェースコントローラ168は、各チャネルデータパケット180のヘッダを解釈して、それが対応するクライアントモジュール宛てのものであるかどうかを、判別する。そうなっている場合、ネットワークインタフェースコントローラ168は、チャネルデータパケット180の物理レイヤ部分を除去して、チャネルデータを取得する。チャネルデータ176は、ビデオ及び/又はオーディオインタフェース172に対して提供される。例えば、チャネルデータ176がビデオデータであれば、インタフェース172は、対応するクライアントの入力を表示するためのビデオインタフェースである。その代わりに、チャネルデータ176がオーディオデータであれば、インタフェース172は、対応するクライアントのオーディオ入力に対して接続されたオーディオインタフェースである。
図7に、図2のマルチメディアシステム40のマルチメディアサーバ42及びクライアントモジュール46〜54の模式的ブロック図を示す。マルチメディアサーバ42には、モデムインタフェース202,処理モジュール204、メモリ206、及び送受信モジュール208が、含まれている。モデムインタフェース202は、ネットワーク接続200に対して動作可能に接続されている。そして、ネットワーク接続200は、ワイドエリアネットワーク44に対して動作可能に接続されている。また、処理モジュール204は、公衆交換電話網66に対しても接続されている。
各クライアントモジュール46〜54には、ネットワークインタフェースコントローラ168及びクライアントインタフェース222が、含まれている。動作の際、クライアントモジュールは、ワイドエリアネットワーク44を介したインターネット接続、PSTN66を介して電話で通話すること、あるいは、クライアント対クライアントの通信に対するクライアントの要望を示した要求を、クライアントインタフェース222を通じて、受信する。クライアントインタフェース222は、PCIバスインタフェース、AC97バスインタフェース、パラレル入力、シリアル入力等を通じて、クライアントに対する接続を提供する。ネットワークインタフェースコントローラ168は、そのクライアントからの要求を処理して、要求パケットを作成する。この要求パケットは、マルチメディアサーバ42の送受信モジュール208へと伝送される。
送受信モジュール208は、マルチメディアシステムが用いているデータ伝送プロトコルに従って、パケットから要求を取得する。送受信モジュールは、取得した要求を処理モジュール204に提供する。処理モジュール204は、その要求が有効であるかどうか判別する。有効であれば、処理モジュール204は、PSTN66及び/又はWAN44との適切なインタフェースを設定する。電話接続用のPSTNへの適切なインタフェースには、コードレス電話の基地局のような機能を実行する処理モジュール204が、含まれる。その一方で、クライアントモジュール及び/又はクライアントは、コードレス送受話器として機能する。基地局として、処理モジュール204はPSTNとの接続を開始し、要求元のクライアントへの電話通信を可能とする。
その要求が、ワイドエリアネットワーク44を介してのインターネットアクセスを求めるものである場合、適切なインタフェースには、要求元のためにネットワークアクセスアプリケーションを起動する処理モジュールが含まれる。ネットワークアクセスアプリケーションは、ウェブブラウザアプリケーション、電子メールアプリケーション等であってもよい。個々のネットワークアクセスアプリケーションは、クライアントにより提供された要求に依存するものである。ネットワークアクセスアプリケーションを起動すると、処理モジュールは、ネットワーク接続200がワイドエリアネットワーク44に対して有効に接続しているかどうか判別する。有効に接続していなければ、処理モジュール204は、モデムインタフェース202を介して、ネットワーク接続200を通じたワイドエリアネットワーク44への接続を確立する。この時点で、それぞれのクライアントは、インターネットにアクセスすることができる。
インターネットアクセスが確立すると、クライアントインタフェース222は、インターネットデータをクライアントから受信して、ネットワークインタフェースコントローラ168に提供する。インターネットデータには、個々のネットワークアクセスアプリケーション(例えば、ウェブブラウザ、電子メール等)に応答したクライアントからの入力が、含まれる。例えば、電子メールアプリケーションへの入力には、メッセージ送信、メッセージ読取、メッセージ作成等が、含まれる。ネットワークアクセスアプリケーションを通じての、マルチメディアサーバによるこれらの入力の対応する処理は、クライアントへと、該クライアントによる表示のために提供される。このように、クライアントからみると、該クライアントはインターネットに直接アクセスできる。
クライアントは、キーボード、タッチスクリーン、及び/又は他の入力装置を通じて入力を生成して、クライアントインタフェース222を通じてクライアントモジュールに提供する。クライアントインタフェース222は、その入力をネットワークインタフェースコントローラ168に提供する。ネットワークインタフェースコントローラ168は、その入力をパケット化してパケット218を生成する。パケット218には、ヘッダ部及びデータ部が含まれる。ヘッダ部には、クライアントモジュール及び/又はクライアントの識別情報、宛先アドレス、並びに他の物理レイヤ型ヘッダ情報が、含まれる。データ部には、クライアントにより提供された入力データが、含まれる。各クライアントモジュール46〜54は、パケット210〜218を同様に生成する。
ネットワークインタフェースコントローラ168は、パケット210〜218を、マルチメディアサーバ42の送受信モジュール208に対して、通信経路192を通じて提供する。通例、インターネットアクセスは双方向通信であるため、通信経路192には、独立した送信経路及び独立した受信経路が、含まれてもよい。送信経路は、パケット210〜218をマルチメディアサーバへ送信するために、用いられてもよい。一方、受信経路は、多重化されたクライアントデータ230をマルチメディアサーバ42から受信するために、用いられてもよい。
送受信モジュール208は、パケット210〜218を受信し、物理レイヤヘッダ情報を除去して、取得済要求220を生成する。取得済要求220は、処理モジュール204に対して提供される。処理モジュール204は、該処理モジュール204上のネットワークアクセスアプリケーションを実行することにより、取得済要求220をネットワークデータ224へと変換する。なお、ネットワークデータ224には、WANにアクセスする各クライアントのための別々のデータが、含まれる。処理モジュール204は、ネットワークデータ224を、モデムインタフェース202を通じ、出力モデムデータ234としてネットワーク接続200に提供する。出力モデムデータ234に対する応答は、ネットワーク接続200を通じ、入力モデムデータ232として受信される。処理モジュール204は、入力モデムデータ232を、受信ネットワークパケット226として、モデムインタフェース202を通じて受信する。
処理モジュール204は、受信ネットワークパケット224を解釈して、ネットワークパケットの送信元及び/又は宛先を識別する。個々のクライアント宛ての各ネットワークパケットについて、処理モジュールは、個々のクライアントをアドレス指定するヘッダ情報を付加することにより、クライアントデータ228を生成する。送受信モジュール208は、多重化クライアントデータ230を生成するクライアントデータ228に、物理レイヤインタフェース処理を実行する。
各クライアントモジュール46〜54は、通信経路192を通じて、多重化クライアントデータ232を受信する。ネットワークインタフェースコントローラ168は、多重化クライアントデータ230を監視して、そのクライアントモジュール及びそれぞれのクライアント宛てのパケットを特定する。各パケットに関し、ネットワークインタフェースコントローラ168は、対応するクライアントモジュールについて特定し、物理レイヤ情報を除去し、それぞれのクライアントデータをクライアントインタフェース222に提供する。クライアントインタフェース222は、それぞれのクライアントデータをクライアントに提供することにより、個々のクライアントのインターネットアクセスに役立てる。
また、マルチメディアサーバ42は、システム40のクライアント間における構内電話又はクライアント対クライアント通信を、提供してもよい。この例では、クライアントインタフェース222は、そのクライアントから、構内電話通信のための要求を受信することになる。ネットワークインタフェースコントローラ168は、この要求をパケット化して、マルチメディアサーバ42の送受信モジュール208に提供する。処理モジュール204は、その要求を処理して、その要求が実現可能かどうか判別する。その要求が実現可能であるかどうかは、マルチメディアサーバのリソースの利用可能性、通信経路192の帯域幅の利用可能性、及び、構内電話通信に係るクライアントの能力に基づく。その要求が実現可能な場合、処理モジュール204は、起動したクライアントモジュールに、応答を提供する。
構内電話通信が一旦確立されると、起動したクライアントは、マルチメディアサーバに、ネットワークインタフェースコントローラ168を通じて、データをパケットで提供する。パケットには、ヘッダ部及びデータ部が含まれる。ここで、ヘッダ部は、クライアント対クライアント・データを含んだデータ部を指定している。処理モジュール204は、パケット化された構内電話データを一旦受信すると、これがクライアント対クライアント通信であることを検出し、クライアント対クライアント・データ236を処理する。処理モジュール204は、クライアント対クライアント・データ236を、クライアントデータ228の一部として提供する。クライアントデータ228には、それを、クライアント対クライアント通信データ、通信データ、及び/又はインターネット通信データとして識別するヘッダ情報が、含まれる。
送受信モジュール208は、クライアントデータ228の物理レイヤパケット化を実行して、多重化クライアントデータ230を生成する。対象となるクライアントモジュールは、ネットワークインタフェースコントローラ168を通じて、クライアント対クライアント通信を含むパケットを識別する。ネットワークインタフェースコントローラ168は、パケットの物理レイヤ部分を除去し、クライアント対クライアントデータをクライアントインタフェース222に提供する。クライアントインタフェース222は、構内電話データをそれぞれのクライアントに提供する。
図8に、図3のマルチメディア通信システム80のマルチメディアサーバ88及びクライアントモジュール90〜98の模式的ブロック図を示す。マルチメディアサーバ88には、同調モジュール240、チャネルミキサ242、送受信モジュール246、及び制御モジュール244が、含まれている。各クライアントモジュール90〜98には、ネットワークインタフェースコントローラ270、ビデオ及び/又はオーディオインタフェース172、並びに選択モジュール272が、含まれている。
動作の際、選択モジュール272は、クライアントからの入力を受信して、送信元選択276を生成する。クライアントからの入力は、アクセスされるべき個々のマルチメディア送信元を指定する。この例では、マルチメディア送信元は、DVDプレイヤ82、VCR86、圧縮ビデオ送信元248、閉回路テレビシステム、及び/又は他の型のビデオ送信元であってもよい。選択モジュール272は、入力を直接クライアントから受信してもよく、及び/又は、クライアントのリモートコントロール装置からの通信を受信する回路を含んでいてもよい。このように、選択モジュール272は、クライアントのリモートコントロール伝送を解釈して、送信元選択276を生成する。送信元選択276には、ヘッダ部及びデータ部が含まれる。ヘッダ部は、クライアントモジュールの識別情報を含み、実際のデータとは異なり、要求を含むデータ部を指定する。
送信元選択276は、ネットワークインタフェースコントローラ270に対して提供される。ネットワークインタフェースコントローラ270は、物理レイヤのオーバーヘッドを送信元選択276に付加して、選択要求258〜266としてマルチメディアサーバ88に提供する。
送受信モジュール246は、選択要求258〜266を受信し、物理レイヤのオーバーヘッドを除去する。送受信モジュール246は、クライアントモジュールの送信元選択276を含んだ選択要求250を、制御モジュール244に提供する。制御モジュールは、選択要求250を処理して、その要求を認証し、サーバがその要求に対応可能であるかどうか判別して、対応可能であれば、選択コマンドの組252を生成する。
同調モジュール240は、選択コマンドの組252を受信し、対応する選択コマンド252に基づいて、マルチメディア送信元82,86,248の1つ以上から、データを選択する。同調モジュール240は、選択されたマルチメディア送信元から、データをチャネルの組254として、チャネルミキサ242に提供する。
チャネルミキサ242は、各マルチメディア送信元のデータを一般データに変換することにより、チャネル254の組を処理する。一般データは、特定のフォーマットのビデオデータへと変換される。そして、変換されたデータは、チャネルデータストリーム256へと集約される。送受信モジュール246は、チャネルデータストリーム256を受信して、伝送のためにデータパケット268としてパケット化する。
クライアントモジュール90〜98の各ネットワークインタフェースコントローラ270は、データパケット268を受信する。ネットワークインタフェースコントローラ270は、物理レイヤのオーバーヘッドを除去して解釈し、パケットがそれぞれのクライアントモジュール宛てであるかどうか判別する。そうであれば、ネットワークインタフェースコントローラは、パケット内に格納されたオーディオ及び/又はビデオデータ274を、ビデオ及びオーディオインタフェース172に提供する。ビデオ及びオーディオインタフェース172は、そのデータを、クライアントのオーディオ及び/又はビデオ入力に提供する。
図9に、図4のマルチメディアシステム100のマルチメディアサーバ102及びクライアントモジュール112〜120の模式的ブロック図を示す。この図では、マルチメディアサーバ102には、送受信モジュール286、制御モジュール284、同調モジュール280、及びチャネルミキサ282が、含まれている。各クライアントモジュール120には、ネットワークインタフェースコントローラ308、選択モジュール310、及びオーディオインタフェース312が、含まれている。
動作の際、選択モジュール310は、それぞれのクライアントから入力を受信する。その入力により、デジタルオーディオ記憶104、CD110、DVDオーディオ106、ラジオ受信器108等、個々のオーディオ送信元が特定される。その入力は、選択モジュール310により処理されて、送信元選択314が生成される。送信元選択314により、個々の送信元及び対応するクライアントが、特定される。ネットワークインタフェースコントローラ308は、送信元選択314をパケット化して、選択要求298〜306として、マルチメディアサーバ102に提供する。
送受信モジュール286は、選択要求298〜306を、通信経路192を通じて受信し、送信元選択314を選択要求288として再構築する。制御モジュール284は、選択要求288を受信して、該選択要求288が実行可能かどうかを判別する。その判別は、マルチメディアサーバ102内で利用可能なリソース、通信経路192の帯域幅の利用可能性、個々のクライアントの正当性、及び個々のクライアントのアクセス権限に基づいてなされる。クライアントの選択要求が処理可能であれば、制御モジュールは、対応する各選択要求について、選択コマンド292を生成する。
同調モジュール280は、選択コマンドの組292を受信し、特定されたオーディオ送信元からの再生データにアクセスする。オーディオ送信元としては、デジタルオーディオを格納しうるデジタルオーディオ記憶104、MP3ファイル、CDプレイヤ、DVDオーディオプレイヤ106、及び/又はラジオ受信器等がある。同調モジュール280は、対応するオーディオサービスにおける選択された再生を、チャネルの組294として出力する。
チャネルミキサ282は、チャネルの組294を受信して、一般的なオーディオデータへと変換する。そして、一般的なオーディオデータは、特定のオーディオデータフォーマットへと変換され、チャネルデータストリーム290へと集約される。チャネルミキサ282は、チャネルデータストリーム290を、送受信モジュール286に提供する。送受信モジュール286は、チャネルデータデータストリーム290をパケット化し、それをデータパケット296として複数のクライアントモジュール112〜120に提供する。
クライアントモジュール112〜120のネットワークインタフェースコントローラ308は、データパケット296を受信する。ネットワークインタフェースコントローラ308は、各パケットを解釈して、パケットがそれぞれのクライアントモジュール120用であるかどうか判別する。そのクライアントモジュール用の各パケットについて、ネットワークインタフェースコントローラ308は、オーディオデータ316を抽出して、オーディオインタフェース312に提供する。オーディオインタフェース312は、オーディオデータ316を、それぞれのクライアント装置に再生用に提供する。
図10に、図5のマルチメディア通信システム130のマルチメディアサーバ132及びクライアントモジュール134〜142の模式的ブロック図を示す。マルチメディアサーバ132には、処理モジュール345、メモリ347、チャネルミキサ342、送受信モジュール346、制御モジュール344、及び同調モジュール340が、含まれている。各クライアントモジュール142には、選択モジュール334、ネットワークインタフェースコントローラ330、クライアントインタフェース222、ビデオ及びオーディオインタフェース172、ビデオインタフェース332、及びオーディオインタフェース312が、含まれている。
このマルチメディア通信システムでは、クライアントは、様々なマルチメディアサービスのいずれかを選択することができる。そのマルチメディアサービスには、クライアント対クライアント通信、衛星接続、ケーブル接続等からのチャネルの視聴、閉回路テレビの視聴、メモリ内に格納された圧縮ビデオの視聴、DVDの視聴、VCRからのカセットの視聴、デジタルオーディオの聴取、コンパクトディスクの聴取、DVDオーディオの聴取、ラジオ局の聴取、インターネットへのアクセス、及び/又は電話の通話等がある。
これらのマルチメディアサービスの1つ又はそれ以上を開始するために、クライアントモジュールの選択モジュール334は、クライアント装置又は該クライアント装置に対応したリモートコントロール装置からの入力を受信する。その入力により、個々のクライアントが特定されるとともに、要求された個々のサービスが特定される。選択モジュール334は、その入力を解釈して、送信元選択336を生成する。選択モジュール334は、送信元選択336を、ネットワークインタフェースコントローラ330に提供する。
ネットワークインタフェースコントローラ330は、マルチメディアサーバ132へと送信するための送信元選択336を、準備する。その準備は、送信元選択336を、物理レイヤ型の伝送用にパケット化し、送信元選択336の少なくとも一部を、TDM伝送方式内で割り当てられたタイムスロットに配置し、マルチメディアサーバ132からのポーリング要求に応答し、トークンリングを要求及び/又は受信すること等により、なされてもよい。使用されるアクセス方式の種類にかかわらず、ネットワークインタフェースコントローラ330は、要求320〜328を生成する。その要求320〜328は、マルチメディアサーバ132の送受信モジュール346へと伝送される。
送受信モジュール346は、クライアントモジュール134〜142から、要求320〜328を受信する。送受信モジュール346は、利用されている伝送方式に従って、その要求を処理する。例えば、伝送方式がキャリア感知多重アクセスである場合、送受信モジュール346は、ヘッダを解釈して、個々の要求320〜328を切り分けるべく、個々のクライアントを識別する。さらなる例として、TDMアクセスが利用されている場合、送受信モジュール346は、各クライアントモジュールに対して割り当てられた個々のタイムスロットを識別して、対応する要求320〜328を識別する。利用されている伝送方式の型にかかわらず、送受信モジュール346は、物理レイヤ型のオーバーヘッドを要求320〜328から除去して、送信元選択336を再現する。送信元選択336は、制御モジュール344に対して選択要求350として提供される。
送受信モジュール346は、要求320〜328を処理して、要求されている個々の型の選択を識別する。その選択が、マルチメディア送信元の1つにアクセスすることである場合、上述のような処理がなされる。一方、送受信モジュール346は、クライアント対クライアント通信を要求する1つ又はそれ以上の要求320〜328を検出した場合、クライアント対クライアント要求を生成する。このクライアント対クライアント要求は、処理モジュール345に対して提供される。
制御モジュール334は、各クライアントモジュール134〜142のアクセス権限及び認証処理に応じて、各選択要求350を解釈する。その選択要求が有効であって、クライアントモジュールが認証されている場合、制御モジュール334は、対応する各要求320〜328について選択コマンドを生成する。制御モジュール334は、選択コマンドを、コマンドの組352として同調モジュール340に提供する。
同調モジュール340は、コマンドの組352の各選択コマンドを処理して、アクセスされるべきマルチメディア送信元を特定する。受信した各コマンドについて、同調モジュール340は、マルチメディア送信元の適切なチャネルを選択する。衛星接続、ケーブル接続、ラジオ受信器等の複数のチャネルを含むマルチメディア送信元について、同調モジュール340は、個々の送信元を選択して、このようなマルチメディア送信元からの複数のチャネルの1つを、さらに選択する。結果としての切り分けられたチャネルは、チャネルの組348として、チャネルミキサ342に対して提供される。
処理モジュール345は、クライアント対クライアント通信要求を受信し、その要求を処理してクライアント対クライアントデータ236を生成する。処理モジュール345は、クライアント対クライアントデータ236を、クライアントデータ228としてチャネルミキサ342に提供する。
チャネルミキサ342は、チャネルの組348を処理し、クライアントデータ228が含まれていればそれも処理する。チャネルミキサ342は、チャネルの組348の各チャネルのデータを、一般データへと変換する。クライアントデータ228がチャネルの組348の一般データと多重化されて、チャネルデータストリーム354が生成される。チャネルミキサ342は、チャネルデータストリーム354を、送受信モジュール346に提供する。
送受信モジュールは、マルチメディア通信システムに組み込まれた伝送プロトコルに従って、チャネルデータストリーム354を伝送する。このように、チャネルデータストリーム354は、フレーム化されたり、パケット化されたりして、通信経路を通じて各クライアントモジュール134〜142へと提供されるデータパケット356が、生成される。
各クライアントモジュールのネットワークインタフェースコントローラ330は、データパケット356を受信し、ヘッダ内のオーバーヘッド情報を解釈して、この個々のパケットが、対応するクライアントモジュールのためのものであるかどうか、判別する。そうであれば、ネットワークインタフェースコントローラは、オーバーヘッド情報を除去し、そのパケット内に格納された個々のデータ型をさらに解釈する。このことは、追加のオーバーヘッド情報を読み取って情報の個々の送信元を識別すること、及び/又は、メモリにアクセスすることにより、なされてもよい。なお、そのメモリは、所期のパケットを送信元選択336に対応させている。パケットがマルチメディア送信元の1つに対応している場合、ネットワークインタフェースコントローラ330は、オーディオ及び/又はビデオデータ338を、1つ以上のインタフェース172,332,312に提供する。一方、データがクライアント対クライアント通信、電話の通話、又はインターネットへのアクセスに関連している場合、ネットワークアクセスコントローラ330は、受信したデータをクライアントインタフェース222に提供する。
各インタフェース172,222,332,312は、シリアルポート、パラレルポート等のクライアント装置の外部ポート、又は、PCIバス、AC97バス等を通じたアクセスにより、それぞれのクライアント装置のインタフェースとなる。データは、クライアント装置に一旦受信されると、クライアント装置が、アクセスしている個々のマルチメディア送信元に直接アクセスしているかのように、視覚的表示及び/又は音響出力される。
当該技術における平均的技能を有する者には理解されるように、チャネルミキサ342により実行されるデータのミキシングには、ミキシングされるデータの種類に応じた優先方式が、利用されてもよい。例えば、ミキシングされるデータに、リアルタイムのオーディオ及び/又はビデオデータが含まれている場合、このようなデータは、非リアルタイムビデオ及び/又はオーディオよりも優先されてもよい。このようなリアルタイムビデオ及び/又はオーディオには、電話通信、ライブの放送の視聴等が含まれる。一方、非リアルタイムビデオ及び/又はオーディオには、DVD、VCRの視聴、デジタルオーディオ、CD、DVDオーディオの聴取等が含まれる。非リアルタイムデータは大規模なバースト(バースト間の時間間隔が長い)で伝送されて、表示データの連続したフローが提供されてもよい。逆に、リアルタイムデータは、より小規模のバーストでより頻繁に伝送される。
当該技術における平均的技能を有する者にはさらに理解されるように、マルチメディアサーバ132のメモリ347、又は図示されたそのマルチメディアサーバ内の他のメモリにより、マルチメディアサーバが、デジタルVCRとして機能してもよい。このように、ライブの放送が、衛星接続、ケーブル接続、NTSC放送、PAL放送、HDTV放送から取り込まれて、以後の再生用にメモリ内に格納されてもよい。
当該技術における平均的技能を有する者にはさらに理解されるように、マルチメディアサーバ132は、図示された1つ又はそれ以上のマルチメディア送信元に対して接続されてもよい。このように、マルチメディアサーバ132には、図1乃至図4に示されたマルチメディアサーバのいずれか又は全ての機能が、含まれてもよい。それに対応して、各クライアントモジュール134〜142には、図1乃至図4に示されたクライアントモジュールのいずれか又は全ての機能が、含まれてもよい。
図11に、図1乃至図5に示されたマルチメディア通信システムの代替的な模式的ブロック図を示す。マルチメディアサーバ12,42,88,102及び/又は132には、処理モジュール360及びメモリ362が、含まれている。マルチメディアサーバは、1つ又はそれ以上のマルチメディアサーバに対して、動作可能に接続されている。このようなマルチメディア送信元には、衛星接続、ケーブル接続、NTSC放送、PAL放送、HDTV放送からの複数のチャネル158、記憶装置、カメラ一体型ビデオ等からの圧縮ビデオ248、DVD再生82、VCR再生86、格納されたデジタルオーディオ104、CD再生110、DCDオーディオ再生106、ラジオ受信108、インターネット接続44、及び/又は公衆交換通信網66への接続が、含まれている。
処理モジュール360は、単一の処理装置又は複数の処理装置であってもよい。このような処理装置は、マイクロコントローラ、マイクロプロセッサ、マイクロコンピュータ、中央処理装置、デジタル信号プロセッサ、プログラム可能ゲートアレイ、ステートマシン、論理回路、及び/又は、信号(アナログ及び/又はデジタル)を動作命令に基づいて処理する任意の装置であってもよい。メモリ362は、単一の記憶装置又は複数の記憶装置であってもよい。このような記憶装置は、読出専用メモリ、ランダムアクセスメモリ、システムメモリ、フラッシュメモリ、磁気テープメモリ、プログラム可能メモリ、消去可能メモリ、及び/又はデジタル情報を格納する任意の装置であってもよい。なお、処理モジュール360がその機能の1つ又はそれ以上を、ステートマシンまたは論理回路を通じて実行する場合、対応する命令を格納したメモリは、ステートマシン又は論理回路を備えた回路内に組み込まれる。処理モジュール360により実行されるとともにメモリ362内に格納されている機能は、以下に説明する図24乃至図28の論理図にて概説される。
一般に、マルチメディアサーバは、要求182〜190,258〜266,298〜306及び/又は320〜328をクライアントモジュールから受信することにより、複数のクライアントを1つ又はそれ以上のマルチメディアサーバにアクセスさせる。マルチメディアサーバは、その要求を処理して、データパケット180,268,296及び/若しくは356、又は、多重化クライアントデータ230を、要求の種類に従って生成する。さらに、クライアントモジュールは、情報パケット210〜218を提供してもよい。情報パケット210〜218には、インターネット接続、電話接続、及び/又はクライアント対クライアント通信用のデータが、含まれている。マルチメディアサーバは、パケットを、図1乃至図10を参照して概説したように処理する。
クライアントモジュール14〜22,46〜54,90〜98,112〜120及び/又は134〜142には、処理モジュール364及びメモリ366が、含まれている。クライアントモジュールは、クライアント26,28,30,32及び/又は34に対して、表示データ368を提供するように動作可能に接続されている。表示データには、オーディオデータ、ビデオデータ及び/又はテキストデータが、含まれてもよい。表示データ368の種類は、クライアント用にアクセスされる個々のマルチメディア送信元によるものである。処理モジュール364は、単一の処理装置又は複数の処理装置であってもよい。このような処理装置は、マイクロプロセッサ、マイクロコントローラ、マイクロコンピュータ、中央処理装置、プログラム可能ゲートアレイ、ステートマシン、論理回路、デジタル信号プロセッサ、及び/又は、信号(アナログ及び/又はデジタル)を動作命令に基づいて処理する任意の装置であってもよい。メモリ366は、単一の記憶装置又は複数の記憶装置であってもよい。このような記憶装置は、読出専用メモリ、ランダムアクセスメモリ、消去可能メモリ、フラッシュメモリ、磁気テープメモリ、システムメモリ、及び/又はデジタル情報を格納する任意の装置であってもよい。なお、処理モジュール364がその機能の1つ又はそれ以上を、ステートマシンまたは論理回路を通じて実行する場合、対応する動作命令を格納したメモリは、ステートマシン又は論理回路を備えた回路内に組み込まれる。処理モジュール364により実行されるとともにメモリ366内に格納されている機能は、図52乃至図62を参照して詳述されるものであり、図1乃至図10を参照して概説されたものである。
図12に、図1のマルチメディア通信システムのマルチメディアサーバ12のより詳細な模式的ブロック図を示す。マルチメディアサーバ12には、同調モジュール150、チャネルミキサ152、送受信モジュール154、及び制御モジュール156が、含まれている。同調モジュール150には、複数のチューナ370〜376、符号化モジュール380、及びバスインタフェースモジュール382が、含まれている。チャネルミキサ152には、少なくとも1つのストリーム・パージング・モジュール390、メモリコントローラ394、メモリ392、プロセッサ396、及びデータ符号変換モジュール388が、含まれている。ストリーム・パージング・モジュール390には、複数のビットストリームモジュール398〜404が、含まれている。
動作の際、制御モジュール156は、チャネル選択コマンドの組160を同調モジュール150に提供する。図示の如く、各チューナは、個々のチャネル選択コマンドを、制御モジュール156から受信する。その代わりに、制御モジュール156は、チャネル選択コマンド160を含んだデータストリームを、同調モジュール150に提供する。そして、同調モジュールは、データストリームを解釈して、受信される個々のコマンドを識別し、個々のチャネル選択コマンドをチューナ370〜376に提供する。各チューナ370〜376は、複数のチャネル158を受信するために接続された入力を有する。
複数のチャネルが、衛星接続、ケーブル接続、NTSC放送、PAL放送、HDTV放送等を通じて、受信されてもよい。それに対応して、各チューナ370〜376には、対応するチューナ機能及び構成が、含まれることになる。例えば、複数のチャネル158がNTSC放送を通じて受信される場合、各チューナには、テレビエンコーダが含まれ、複数のチャネルの1つが切り分けられ、デジタルビデオが出力として生成される。その代わりに、複数のチャネル158が衛星接続を通じて受信される場合、各チューナには、市販の衛星受信器にみられるように、衛星チューナが含まれる。衛星チューナは、MPEG2フォーマットで、複数のチャネルのうちの1つ又はそれ以上のチャネルを出力する。同様に、HDTV、ケーブルTV等については、チューナは、複数のチャネルの個々の送信元に応じた構成をとることになる。各送信元用のこのようなチューナの構成は既知であるため、チューナについてのさらなる説明は、本発明の概念をさらに説明すること以外には、なされない。
各チューナ370〜376は、選択チャネル384を出力して、符号化モジュール380に提供する。符号化モジュール380は、選択チャネル384の各々を、マルチメディアサーバ12により用いられる符号化方式に従って符号化して、符号化チャネルデータ386を生成する。符号化方式は、多重レベル符号化、非ゼロ復帰符号化、位相符号化、ブロック符号化、及び/又は、nB/mB符号化(ここでn>m)の1つ又はそれ以上であってもよい。例えば、nB/mBは、4B/5B符号化であってもよい。ここで、4ビットの実際のデータが、5ビットの符号化データに変換される。さらに、その符号化によってヘッダ部が付加される。このヘッダ部により、個々のチャネルが識別される。符号化チャネルデータ386は、同調モジュール150をバスインタフェースモジュール382によりチャネルミキサ152に接続するバス上に、配置される。
バスインタフェースモジュール382は、符号化チャネルデータ386を、マルチメディアサーバ12内で用いられる個々のデータ伝送方式に従って、バス上に配置する。例えば、データ伝送プロトコルは、キャリア感知多重アクセス、TDMA等であってもよい。
チャネルミキサ152は、符号化チャネルデータ386を同調モジュール150から受信するように動作可能に接続されている。チャネルミキサ152は、符号化チャネルデータ386を、ストリーム・パージング・モジュール390を通じて受信する。ストリーム・パージング・モジュール390には、複数のビットストリームモジュール398〜404が、含まれている。各ビットストリームモジュール398〜404は、関心のある個々のチャネルに対応したデータを待ち受けて、バスを監視する。それに対応して、各ビットストリームモジュール398〜404は、個々のクライアントモジュールに関するデータを処理するために、割り当てられている。例えば、ビットストリームモジュール398が、図1のクライアントモジュール14用のデータを処理するために割り当てられ、ビットストリームモジュール400が、図1のクライアントモジュール16用のデータを処理するために割り当てられる、というようになっていてもよい。
各ビットストリームモジュール398〜404は、バスインタフェースモジュール(図示せず)を含み、関連するデータの識別情報を検出するためにバスを監視する。当該技術における平均的技能を有する者には理解されるように、その代わりに、チャネルミキサ152には、全てのデータを受信するための単一の接続を提供するバスインタフェースモジュールが、含まれてもよい。ここで、バスインタフェースモジュールは、データを解釈して、適切なビットストリームモジュール398〜404に提供する。各ビットストリームモジュール398〜404は、関心のある対応チャネル406のデータを切り分けて、そのデータを、メモリコントローラ394を通じてメモリ392に提供する。
関心のある各チャネル406に対応したデータがメモリ392に格納されるに従って、処理モジュール396は、関心のあるチャネル406を、その元々のフォーマットから一般データに変換してゆく。プロセッサ396により、一般データは、メモリコントローラ394を通じてメモリ392内に格納される。例えば、関心のあるチャネルが、マルチメディア送信元の1つから受信したビデオデータに対応している場合、プロセッサは、マルチメディア送信元の特定フォーマットのビデオデータ(例えばMPEGII)を、一般ビデオデータに変換する。このような一般ビデオデータは、MPEGビデオデータ、JPEGデータ、M−JPEGビデオデータ、デジタルRGBデータ、及び/又はデジタルYCBCRデータとして、フォーマットされていてもよい。
関心のあるチャネル用のデータがオーディオデータである場合、プロセッサ396は、フォーマットされたオーディオデータを、その元々のフォーマットから、MPEGフォーマットのオーディオデータ、MP3フォーマットのデータ、及び/又はPCMデジタルオーディオデータ等の一般オーディオデータに変換する。
データ符号変換モジュール388は、一般データ392を、メモリコントローラ394を通じて取得して、チャネルデータストリーム166を生成する。一般データが一般ビデオデータである場合、符号変換モジュール388は、一般ビデオデータを、MPEGII等の特定のビデオデータフォーマットに変換して、チャネルデータストリーム166を生成する。一方、一般データに一般オーディオデータが含まれている場合、データ符号変換モジュール388は、それをMP3等の特定のオーディオフォーマットに変換する。データが、インターネットデータ、通信データ及び/又はクライアント対クライアント通信データである場合、符号変換モジュール388は、そのデータを変換なしで、チャネルデータストリーム166の一部として提供する。
データ送受信モジュール154は、チャネルデータストリーム166を受信して処理し、チャネルデータパケット180を生成する。送受信モジュール154により実行される処理は、マルチメディアサーバのデータ伝送プロトコルに応じたものである。このように、その処理により、チャネルデータストリーム166における個々のクライアントモジュール宛ての個々の部分を特定するために、オーバーヘッド情報が付加される。
図13に、図2のマルチメディア通信システムのマルチメディアサーバ42のより詳細なブロック図を示す。図示の如く、マルチメディアサーバ42には、モデムインタフェース202、処理モジュール204、メモリコントローラ418、送受信モジュール208、メモリ206、及びビデオグラフィック処理アプリケーション420が、含まれている。モデムインタフェース202は、モデム426に対して動作可能に接続されている。このモデム426により、ネットワーク接続200が提供される。なお、モデム426は、xDSLモデム、ワイヤレスモデム、56Kモデム、ケーブルモデム、ISDNモデム、又はホームネットワークへの接続であってもよい。さらに、モデムインタフェース202は、公衆交換電話網66への接続を提供する。当該技術における平均的技能を有する者には理解されるように、マルチメディアサーバ42は、インターネット接続の機能、公衆交換電話網への接続、及びクライアント対クライアント通信の1つ又はそれ以上を、提供してもよい。
ビデオグラフィック処理アプリケーション420は、メモリ206内に格納されたソフトウェアアプリケーションであって、処理モジュール204により実行されてもよい。その代わりに、ビデオグラフィック処理アプリケーション420は、メモリコントローラ418に対して動作可能に接続された単一又は複数のビデオグラフィックプロセッサにより、実行されてもよい。どのような実装例でも、ビデオグラフィック処理アプリケーション420は、CRT、LCDパネル等上での表示用のビデオデータを作成する。
メモリ206は、クライアントサービスソフトウェア416、コードレス電話ソフトウェア422、クライアント対クライアントソフトウェア424、モデム割当ソフトウェア414、複数のウェブブラウザアプリケーション410、及び複数の電子メールアプリケーション412等の複数のソフトウェアアプリケーションを格納する。また、メモリ206は、クライアント表示データ422を格納する。クライアント表示データ422は、ビデオグラフィック処理アプリケーション420により処理されて、出力表示データが生成される。
動作の際、送受信モジュール208は、パケット210〜218を複数のクライアントモジュールから受信する。当初、パケット210〜218には、個々のクライアント、サービス要求パケットであることを示す情報、及び要求されている個々のサービスの識別情報を含むペイロードを特定するヘッダ情報が、含まれている。要求されている個々のサービスは、インターネット、PSTNを介しての電話の通話、及び/又はクライアント対クライアント通信に対してアクセスされてもよい。
パケットがマルチメディアサーバにより受信されると、送受信モジュール208は、パケットから物理レイヤのオーバーヘッド情報を除去して、取得済要求220をメモリコントローラ418に提供する。メモリコントローラ418は、取得済要求220をメモリ206内に格納させる。処理モジュール204は、取得済要求220を取得して、その要求の処理を開始する。個々の種類のサービスを指定した要求について、処理モジュールは、その要求を解釈して、要求されているサービスを特定する。受信した要求パケットをメモリコントローラ418を通じてルーティングする代わりに、受信した要求パケットが、バッファ内に配置されて、処理モジュール204によりバッファから直接アクセスされてもよい。
処理モジュール204は、クライアントサービスソフトウェア416を呼び出し、受信したパケットを解釈して、そのパケットが特定の種類のサービスを要求しているか、そのサービスが何であって、及び/又はそのパケットをデータパケットとして特定しているかどうかを判別する。処理モジュール204は、クライアントソフトウェア416を通じて、その要求がPSTN66を通じての電話の通話についてのものであると判別した場合、コードレス電話ソフトウェア422を呼び出す。一方、その要求がクライアント対クライアント通信のためのものである場合、処理モジュール204は、クライアント対クライアントソフトウェア424を呼び出す。また、その要求がインターネットへのアクセスのためのものである場合、処理モジュール204は、要求されているアクセスの個々の種類に応じて、電子メールアプリケーション412又はウェブブラウザアプリケーションを呼び出す。
クライアント対クライアント通信については、送受信モジュール208は、通信データを含んだパケットを受信する。そのパケットは、送受信モジュールにより処理されて、その物理レイヤのオーバーヘッドが除去され、受信パケット220がメモリコントローラ418に対して提供されることになる。受信したパケットは、メモリ206内に格納されることになる。処理モジュール204は、クライアント対クライアントソフトウェア424を通じて、クライアント対クライアント通信データを、メモリ206から取得して処理し、クライアント対クライアントデータ236を生成する。処理モジュール204は、クライアント対クライアントデータ236を、メモリ206内に格納するために、メモリコントローラ418へと提供する。送受信モジュール208は、メモリコントローラ418が、クライアント対クライアントデータ236をメモリ206から取得して、クライアントデータ228として提供するようにする。送受信モジュール208は、そのクライアントモジュールに対応した他のサービスとのクライアント対クライアント通信のために、クライアントデータを多重化して、多重化クライアントデータ230を生成する。また、多重化クライアントデータには、クライアントモジュールに一旦受信されると個々のパケットを識別する物理レイヤのオーバーヘッドが、含まれている。
サービス要求がPTSN66を通じた電話の通話である場合、処理モジュール204は、コードレス電話ソフトウェア422を呼び出す。これに対応して、処理モジュール204は、受信サービスパケット220をメモリ206から取得するに従い、そのデータについてコードレス電話ソフトウェア422を実行する。実質上、コードレス電話ソフトウェア422は、マルチメディアサーバ422が基地局として機能するとともにクライアントモジュール及び/又はクライアントがコードレス送受話器として機能するようにする。電話機能は、デュアルトーンマルチ周波数(DTMF)信号法を、番号のキーイングに利用している。マルチメディアサーバ42と送受信器との間の送受信速度として、通常の900Mhzコードレス電話周波数、2.4ギガヘルツ周波数、及び/又はCDMA(符号分割多重アクセス)技術が、利用される。
処理モジュール204は、受信パケット220を処理すると、ネットワークデータ224を生成する。このネットワークデータ224は、モデムインタフェース202に対して提供される。モデムインタフェースは、ネットワークデータ224をPSTN66に提供する。それに対応して、処理モジュール204は、ネットワークデータ224内の識別情報を、モデムインタフェース202がそれをPSTN66へとモデム426とは対照的に提供したことを認識するように、含んでいる。
入力通信データについては、モデムインタフェース202は、そのデータを受信ネットワークパケット226として処理モジュール204に提供する。処理モジュール204は、コードレス電話ソフトウェア422を実行しつつ、受信ネットワークパケット226を処理して、クライアントデータ228を生成する。クライアントデータ228は、多重化クライアントデータ230の一部として送受信モジュール208によりクライアントへと送信される前に、一時的にメモリ206内に格納される。
要求されたサービスがインターネットへのアクセスのためのものである場合、送受信モジュール208により受信されたパケット210〜218は、受信パケット220としてメモリ内に一時的に格納される。処理モジュール204は、要求されたインターネットアクセスの個々の種類に応じて、電子メールアプリケーション412又はウェブブラウザアプリケーション410を呼び出す。ウェブブラウザのアクセスについては、処理モジュール204は、ウェブブラウザアプリケーション410にアクセスする。電子メールのインターネットアクセスについては、処理モジュール204は、電子メールアプリケーション412を呼び出す。電子メールアプリケーション412及びウェブブラウザアプリケーション410は既知であるため、その機能に関して、本発明をさらに説明すること以外には、さらなる説明はなされないことになる。
ウェブブラウザのアクセスについては、処理モジュール204は、ウェブブラウザアプリケーション410を呼び出して、受信パケット220を処理する。このような処理により、ネットワークデータ224が生成される。このネットワークデータ224は、モデムインタフェース202に対して提供される。モデムインタフェースは、ネットワークデータ224を、出力モデムデータ234として提供する。
インターネットからの応答は、モデム426により受信され、モデムインタフェース202へと、入力モデムデータ232として提供される。モデムインタフェース202は、入力モデムデータ232を受信ネットワークパケット226として処理モジュール204に提供するとともに、ウェブブラウザアプリケーションを実行して処理済パケットを生成する。この処理済パケットは、メモリ206内に格納される。ビデオグラフィック処理アプリケーション420は、メモリ206から処理済パケットを取得し、それに対応したビデオグラフィック処理を実行して、クライアント表示データ422を生成する。メモリコントローラ418は、クライアント表示データ422を取得して、それをクライアントデータ228として送受信モジュール208に提供する。送受信モジュールは、クライアントデータ228を処理して、物理レイヤのオーバーヘッド情報を付加し、それを処理中の他のクライアントデータと多重化し、その多重化クライアントデータをクライアントモジュールへと伝送する。
電子メールインターネットアクセスについて、処理モジュール204は、電子メールアプリケーション412を呼び出して、受信パケット220を処理する。処理により、ネットワークデータ224が生成される。このネットワークデータ224は、出力モデムデータ234として、モデムインタフェース202を通じてモデム426に提供される。電子メールの応答は、モデム426により受信され、入力モデムデータ232としてモデムインタフェース202に対して提供される。モデムインタフェース202は、受信データを、受信ネットワークパケット226として、処理モジュール204に提供する。処理モジュール204は、受信ネットワークパケット226について電子メールアプリケーション412を実行して、処理済データを生成する。処理済データは、メモリ206内に格納されて、ビデオグラフィック処理アプリケーション420によりアクセスされる。ビデオグラフィック処理アプリケーション420は、処理済データについてビデオグラフィック処理機能を実行し、クライアント表示データ422を生成する。実質的に、クライアント表示データ422は、メモリコントローラ418により取得されて、クライアントデータ228として送受信モジュール208に対して提供される。
1つのクライアントのみがインターネットに接続している場合、そのクライアントは、ネットワーク接続の割当が不要となるように、モデム426に対して排他的にアクセスする。さらに、1つのクライアントのみがインターネットにアクセスしている場合、1つの電子メールアプリケーション及び/又は1つのウェブブラウザアプリケーションのみが、そのクライアントに対して開かれる。但し、一旦、2つ以上のクライアントがインターネットに接続すると、処理モジュールは、電子メールアプリケーション及びウェブブラウザアプリケーションを、各クライアントについて呼び出す。さらに、処理モジュール204は、複数のクライアントについて、複数の電子メールアプリケーション及び/又は複数のウェブブラウザアプリケーションを実行してもよい。この場合、モデムの割当は、インターネットに接続するクライアント間で共用される必要がある。このようにするために、処理モジュール204は、モデム割当ソフトウェア414を呼び出す。
モデム割当ソフトウェア414は、複数のクライアント間で、モデム426へのアクセスを割り当てる。モデム割当ソフトウェアは、TDMA機能、CSMA機能、トークンリング通過、ポーリング機能等に、基づいていてもよい。それに対応して、処理モジュール204は、モデム割当ソフトウェア414に基づいて、個々のクライアントに対し、各クライアントがインターネットに実質的に均等にアクセスできるように、アクセスを提供する。
当該技術における平均的技能を有する者には理解されるように、電子メールアプリケーション412及びウェブブラウザアプリケーション410を、マルチメディアサーバ42内に格納することにより、クライアントは、インターネットに対して個別にアクセスできるように見える。なお、実際には、複数のクライアント間で共用されている。ビデオグラフィック処理アプリケーション420は、電子メールアプリケーション及び/又はウェブブラウザアプリケーション410と組み合わされて、それらのアプリケーションの処理に対応したデータが、クライアント装置がアプリケーションを処理していたように見えるようにする。当該技術における平均的技能を有する者にはさらに理解されるように、クライアント装置に、通例パーソナルコンピュータ内に含まれるビデオグラフィック処理が含まれる場合、ビデオグラフィック処理アプリケーション420は、マルチメディアサーバ442内でバイパスされてもよい。それに対応して、ウェブブラウザアプリケーション410又は電子メールアプリケーション412により処理されたデータは、クライアント表示データ422を生成することなくパケット化されて、それぞれのクライアント装置に対してクライアントデータ228として提供されてもよい。そして、それぞれのクライアント装置は、自身のビデオグラフィック処理をデータについて実行して、表示データを生成することになる。マルチメディアサーバ42の全体の機能については、図57乃至図62を参照して詳述される。
図14に、図3のマルチメディア通信システムのマルチメディアサーバ88の模式的ブロック図を示す。マルチメディアサーバ88には、同調モジュール240、チャネルミキサ242、送受信モジュール246、及び制御モジュール244が、含まれている。同調モジュール240には、複数のマルチプレクサ430〜434、符号化モジュール380、及びバスインタフェースモジュール382が、含まれている。チャネルミキサ242には、ストリーム・パージング・モジュール391、メモリコントローラ394、メモリ392、プロセッサ396、及びデータ符号変換モジュール388の少なくとも1つが、含まれている。
動作の際、制御モジュール244は、選択要求250をクライアントモジュールから受信して、そこから選択コマンドの組252を生成する。各選択コマンドは、マルチプレクサ430〜434の1つに対して提供される。各マルチプレクサ430〜434は、DVDプレイヤ82、VCR86、圧縮ビデオ送信元248、閉回路テレビ、レーザーディスクプレイヤ、カメラ一体型ビデオ等の単一チャネルのビデオ送信元に対して接続された入力を有する。各マルチプレクサ430〜434は、それぞれの選択コマンド252に基づいて、単一チャネルのマルチメディア送信元の1つを、選択チャネル436として出力する。
符号化モジュール380は、各マルチプレクサ430〜434から選択チャネル436を受信し、該選択チャネルを符号化して、符号化チャネルデータ438を生成する。符号化モジュール380により用いられる符号化方式は、多重レベル符号化、非ゼロ復帰符号化、位相符号化、ブロック符号化、nB/mB符号化(ここでn<m)であってもよい。符号化チャネルデータ438は、チャネルの組254として、チャネルミキサ242に対してバスインタフェースモジュール382を通じて提供される。当該技術における平均的技能を有する者には理解されるように、同調モジュール240は、個々のクライアントモジュールからの要求を処理する各マルチプレクサ430〜434を有する。例えば、1つのクライアントモジュールのみが、単一チャネルのマルチメディア送信元にアクセスしている場合、1つのマルチプレクサのみが呼び出されて、選択チャネルが生成される。単一の送信元のマルチメディア装置にアクセスするクライアントが多くなるほど、多くのマルチプレクサが呼び出される。複数のクライアントが、同一のマルチメディア送信元(例えばDVDプレイヤ82)にアクセスする場合、1つのマルチプレクサのみが呼び出される。ここで、複数のクライアント用の選択チャネルの処理には、同一の単一チャネルのマルチメディア送信元にアクセスする各クライアントが同一のデータを受信するように、複数のクライアントの識別情報、及び/又は選択チャネルが含まれる。
チャネルミキサ242は、チャネルの組254を、ストリーム・パージング・モジュール391を通じて受信する。特に、各ビットストリームモジュール440〜446は、処理中の、関心のある個々のチャネル448に関するデータを待ち受けて、バスを監視する。それに対応して、各ビットストリームモジュールル440〜446は、個々のクライアントモジュール用のデータを処理する。各ビットストリームモジュール440〜446は、チャネルの組254を受信し、関心のあるチャネル448をそれぞれ生成する。このように、ビットストリームモジュール440〜446は、他の全てのチャネルのデータをフィルタ処理で除去して、関心のあるチャネルを得る。関心のある各チャネル448に対応したデータは、メモリコントローラ394を通じてメモリ392内に格納される。
プロセッサ396は、関心のある各チャネル448用のデータを受信し、特定のフォーマットのビデオデータを一般ビデオデータに変換する。一般ビデオデータは、メモリコントローラ394を通じてメモリ392内に格納される。
データ符号変換モジュール388は、ビデオデータをメモリ392から受信して、そこからチャネルデータストリーム256を生成する。データ符号変換モジュール388により実行される処理には、一般ビデオデータを特定のフォーマットのビデオデータに変換することが、含まれる。その特定のフォーマットのビデオデータには、チャネルデータストリーム256が含まれる。
送受信モジュール246は、チャネルデータストリーム256を受信して、そこからデータパケット268を生成する。送受信モジュール246は、マルチメディア通信システムにより用いられる個々のデータ伝送プロトコルの物理レイヤのオーバーヘッドを付加して、データパケット268を生成する。
図15に、図4のマルチメディア通信システムにて用いられるマルチメディアサーバの模式的ブロック図を示す。マルチメディアサーバ102には、同調モジュール208、チャネルミキサ282、送受信モジュール286、及び制御モジュール284が、含まれている。同調モジュール280には、マルチプレクサ456〜460、チューナ450〜454、符号化モジュール464、及びバスインタフェースモジュール382が、含まれている。チャネルミキサ282には、少なくとも1つのストリーム・パージング・モジュール392、メモリコントローラ394、メモリ392、処理モジュール396、及びデータ符号変換モジュール388が、含まれている。
動作の際、制御モジュール284は、選択要求288を、複数のクライアントモジュールから受信する。制御モジュール284は、選択要求288を処理して、選択コマンド292の組を生成する。選択コマンドは、複数のチューナ450〜454及び/又は複数のマルチプレクサ456〜460の1つ又はそれ以上に対して、提供される。複数のチューナ450〜454は、その入力に対して動作可能に接続されたラジオ受信器108を有する。ここで、ラジオ受信器は、AM及び/又はFMラジオ伝送を受信するアンテナであってもよい。チューナ450〜454は、通常の回路で構成され、複数のラジオ局のうちの個々のラジオ局に同調する。このようなチューナの構成は既知であるため、チューナ450〜454の機能又は構成については、本発明をさらに説明すること以外には、さらなる説明はなされない。
それぞれの選択コマンドに基づいて、各チューナ450〜454は、受信した複数のラジオチャネルから個々のチャネルを選択する。各チューナからの出力は、各マルチプレクサ456〜460の入力となる。また、各マルチプレクサには、他の単一のオーディオチャネルマルチメディア送信元用の入力も、含まれている。このような単一のオーディオチャネルマルチマルチメディア送信元としては、CDプレイヤ110、DVDオーディオプレイヤ106、デジタルオーディオ記憶装置104等がある。
それぞれの選択コマンド292に基づき、各マルチプレクサ456〜460は、個々の選択チャネル462を出力する。それに対応して、選択チャネル462は、単一のオーディオチャネルマルチメディア送信元の1つ又は複数のチューナ450〜454の1つの出力であってもよい。
符号化モジュール464は、選択チャネル462を受信して符号化し、符号化チャネルデータ468を生成する。符号化モジュール462により用いられる符号化方式は、多重レベル符号化、非ゼロ復帰符号化、位相符号化、ブロック符号化、nB/mB符号化(ここでn<m)の1つ又はそれ以上であってもよい。符号化チャネルデータ468は、バスインタフェースモジュール382を通じて、チャネルミキサ282に対して提供される。
チャネルミキサ282は、符号化チャネルデータ468を、チャネルの組294として受信する。ストリーム・パージング・モジュール392には、複数のビットストリームモジュール470乃至476が、含まれている。ビットストリームモジュール470〜476は、チャネルの組294を受信して、関心のある個々のチャネル478に関するデータを抽出する。それに対応して、各ビットストリームモジュール470〜476は、個々のクライアントモジュールの個々のチャネル選択要求に対応している。各ビットストリームモジュール470は、関心のあるチャネルのデータのみを通すように、他のチャネルのデータをフィルタ処理にて除去する。関心のあるチャネル478に対応したデータは、メモリコントローラ394を通じて、メモリ内392に格納される。
処理モジュール396は、関心のあるチャネル478に対応するデータをメモリ392から取得し、特定のフォーマットのオーディオデータを一般的なフォーマットのオーディオデータに変換する。一般的な形式のオーディオデータは、メモリ内392に格納される。このような一般的な形式のオーディオデータは、PCMデジタルオーディオ、MP3オーディオ、MPEGオーディオ等であってもよい。
送受信モジュール388は、一般オーディオデータをメモリから取得して、特定のオーディオフォーマットに変換する。このような特定のオーディオフォーマットは、MP3オーディオ、MPEGオーディオ等であってもよい。データ符号変換モジュール388は、チャネルデータストリーム290における特定のオーディオフォーマットのデータを、送受信モジュール286に提供する。当該技術における平均的技能を有する者には理解されるように、データ符号変換モジュール388は、オーディオ送信元からのオーディオデータを、DVDプレイヤ、CDプレイヤ、衛星接続等のマルチメディア送信元からのオーディオデータを処理するのと同様に処理する。
送受信モジュール286は、チャネルデータストリーム290を、データパケット290に変換する。送受信モジュールは、マルチメディア通信システムのデータ伝送プロトコルを利用し、チャネルデータストリーム290のデータに物理レイヤのオーバーヘッドを付加して、パケットを生成する。そして、パケットは、複数のクライアントモジュールへと伝送される。
図16に、図5のマルチメディア通信システムに用いられうるマルチメディアサーバ132の模式的ブロック図を示す。マルチメディアサーバ132には、送受信モジュール346(図示せず)、制御モジュール344、同調モジュール340、チャネルミキサ342、処理モジュール345、及びメモリ347が、含まれている。同調モジュール340には、複数のHDTVチューナ480、複数のマルチプレクサ430〜434、複数のオーディオチューナ450〜454、第2の複数のマルチプレクサ456〜458、モデムインタフェース202、オーディオ符号化モジュール464、ビデオ/オーディオ符号化モジュール380、及びバスインタフェースモジュール382が、含まれている。
チャネルミキサ342には、第1の複数のストリーム・パージング・モジュール391、第2の複数のストリーム・パージング・モジュール390、第3の複数のストリーム・パージング・モジュール393、及びデータ符号変換モジュール388が、含まれている。さらに、マルチメディアサーバ132は、ホスト装置内の要素を含むか、あるいは、ホスト装置内の要素に対して動作可能に接続されている。ホスト装置は、衛星受信器、ケーブルボックス、セットトップボックス、ホームシアター受信器、HDTVチューナ等であってもよい。ホスト装置には、ホストプロセッサ482、メモリブリッジ484、ホストメモリ486、及びハードドライブ488が、含まれている。ホストの要素とのインタフェースをとるために、マルチメディアサーバ132は、直接メモリアクセス(DMA)装置490を、さらに備えている。
この構成にて、制御モジュール344は、選択要求を、ホストバスを通じて受信し、そこからコマンドの組352を生成する。コマンドの組は、HDTVチューナ480、マルチプレクサ430〜434、オーディオチューナ450〜454、マルチプレクサ456〜460、及び/又はモデムインタフェースの個々のものに対して、提供される。このように、それに応じて、同調モジュールの各要素は、個々の選択コマンドに対して応答することになる。
HDTVチューナ480は、選択コマンド352を受信する場合、衛星又はケーブル送信元488からの個々のチャネルを選択する。選択チャネルは、符号化モジュール380に対して提供される。マルチプレクサ430〜434の1つが、選択コマンドを受信すると、そのマルチプレクサは、DVDプレイヤ82、圧縮ビデオ248、VCR86等の単一チャネルマルチメディア送信元の1つを出力する。マルチプレクサ430〜434からの出力は、符号化モジュール380に対して提供される。符号化モジュール380は、単一チャネルのオーディオ及びビデオデータを、上述の符号化データに変換する。
オーディオチューナ450〜454の1つが選択コマンドを受信すると、そのオーディオチューナは、ラジオ受信器108の複数のラジオチャネルから、特定のラジオチャネルを選択する。チューナからの出力は、符号化モジュール464に対して提供される。マルチプレクサ456〜460の1つが選択コマンドを受信すると、そのマルチプレクサは、その出力を符号化モジュール464に提供する。図示の如く、マルチプレクサ456〜460への入力には、DVDオーディオ106、デジタルオーディオ記憶104、及びCD110が、含まれる。符号化モジュール464は、受信した選択チャネルのオーディオデータを、上述のように符号化する。
符号化モジュール380,464からの出力は、バスインタフェースモジュール382に対して提供される。バスインタフェースモジュールは、符号化データを、チャネルミキシング回路に提供する。さらに、バスインタフェースモジュール382は、モデムインタフェース202及び公衆交換電話網66に対して、動作可能に接続されている。モデムインタフェース及びPSTN接続により、マルチメディアサーバ132に対して、図2、図7及び図13を参照して上述したような、クライアントに供する能力が、提供される。
ストリーム・パージング・モジュール390,391,393は、符号化チャネルデータを受信し、その符号化チャネルデータをフィルタ処理して、関心のある個々のチャネルを得る。関心のある個々のチャネルに対応したデータは、メモリコントローラ394を通じてメモリ347内に格納される。処理モジュール345は、関心のあるチャネルのデータをメモリ347から取得し、そのデータを一般オーディオデータ及び/又は一般ビデオデータに変換する。一般オーディオ及び/又はビデオデータは、メモリ347内に格納される。
データ符号変換モジュール388は、一般オーディオ及び/又はビデオデータをメモリ347から取得して、特定のオーディオフォーマットに変換する。そして、それは、データストリームとして、複数のクライアントへの伝送用に、送受信モジュール346に対して提供される。
ハードドライブ488は、デジタルオーディオを格納してもよい。デジタルオーディオは、デジタルオーディオ記憶104として提供される。それに対応して、デジタルオーディオは、MP3フォーマット、PCMオーディオ、及び/又は、デジタルオーディオ信号格納用のデジタル化手段で格納される。さらに、ハードドライブ488は、マルチメディア送信元の任意のチャネルがハードドライブ488内に格納されてその後に再生されるというように、デジタルVCRとして機能してもよい。それに対応して、ホストメモリ486には、ホストプロセッサ482がハードドライブ488からデジタルVCRとしてデータを取得できるようにする適切なソフトウェアが、含まれてもよい。
図17に、同調モジュールの機能ブロック図を示す。この同調モジュールは、以前に図示されたマルチメディアサーバのいずれにおいても使用されうる。図17の機能図はHDTVチューナを利用した処理データに関係しており、その原理は、マルチチャネルのマルチメディア送信元からのデータ処理用として一般的である。例えば、図17に示された複数のチャネル36は、衛星接続、ケーブル接続、NTSC接続、PAL接続、放送接続、ラジオ受信器接続等により受信されるチャネルに、対応していてもよい。
図17に示す如く、複数のチャネル36には、チャネル識別情報、並びに、対応したオーディオ及び/又はビデオデータが、含まれている。この図において、チャネル001には、チャネル001オーディオ及びビデオデータが含まれ、チャネル002には、チャネル002オーディオ及びビデオデータが含まれるというようになっている。同様に図示されるように、チャネル002、チャネル004、及びチャネル901は、別々のクライアントにより選択されて視聴されている。それに対応して、チャネル選択コマンドの組160は、これら個々のチャネルを特定する。
各HDTVチューナ376,374,480は、チャネル選択コマンドの1つを処理する。図示の如く、HDTVチューナ376は、チャネル002のためのチャネル選択コマンドを処理し、HDTVチューナ374は、チャネル004のためのチャネル選択コマンドを処理し、HDTVチューナ480は、チャネル901のためのチャネル選択コマンドを処理する。図示の如く、各HDTVチューナ376は、複数のチャネル36の全てを受信する。各HDTVチューナ376からの出力は、それに対応した選択チャネルのものである。図示の如く、HDTVチューナ376は、チャネル002のオーディオ及びビデオデータ500を出力し、HDTVチューナ374は、チャネル004のオーディオ及びビデオデータ502を出力し、HDTVチューナ480は、チャネル901のオーディオ及びビデオデータ503を出力する。
チャネル002のオーディオ/ビデオデータ500には、複数のフレーム504〜518が含まれている。各フレームは、MPEGビデオデータのIフレーム、Bフレーム、及び/又はPフレームに対応していてもよい。チャネル002のオーディオ/ビデオデータ500は、符号化モジュール380に対して提供される。同様に、チャネル004のオーディオ/ビデオデータ502には、複数のフレーム520〜534が含まれ、チャネル901のオーディオ/ビデオデータ503には、複数のフレーム540〜554が含まれている。
符号化モジュール380は、それぞれのチャネルのオーディオ/ビデオデータ500,502,503を符号化する。結果として得られるデータは、符号化チャネルデータ386であり、それには、複数のパケット560,566,572が含まれている。当該技術における平均的技能を有する者には理解されるように、パケット560,566,572は、マルチメディア通信システムで用いられるデータ伝送プロトコルに依存するフレームであってもよい。パケットベースの伝送(図17に示される)について、符号化モジュール380は、各選択チャネル(この例として、チャネル002,004,901)からのデータを、順繰りにパケット化する。当該技術における平均的技能を有する者には理解されるように、関心のある個々のチャネルのデータのどれがどの順番で処理されるか判別するために、他の方式が用いられてもよい。例えば、あるチャネルが他のチャネルよりも優先してもよく、これは、リアルタイム伝送対非リアルタイム伝送の場合であってもよい。
この説明では、パケット560には、ヘッダ部564及びデータペイロード562が含まれている。ヘッダ部564には、選択チャネルの識別情報、選択チャネルのデータの種類、マルチメディア送信元の識別情報、データが暗号化されているかどうかについての指定、暗号化の種類の指定、データが圧縮されているかどうかについての指定、圧縮の種類の指定、及び/又はパケットのシーケンス番号が、含まれてもよい。それに対応して、ヘッダ情報564には、クライアントモジュールがペイロード562内に格納されたデータを正確に取得するのに必要な情報の全てが、含まれる。図示の如く、チャネル002のオーディオ/ビデオデータ500におけるフレーム504の第1の部分は、ペイロード562内に含まれている。
パケット566には、ヘッダ情報568及びペイロード570が含まれる。ヘッダ情報568には、ヘッダ564と同様であるがオーディオ/ビデオデータ502に関するデータに直接向けられた情報が、含まれる。ペイロード570は、オーディオ/ビデオデータ502におけるフレーム520の第1の部分からのデータを担持する。パケット572には、ヘッダ574及びペイロード576が含まれる。ヘッダ574には、564と同様であるがオーディオ/ビデオデータ503に直接向けられたヘッダ情報が、含まれる。ペイロード576には、フレーム540の一部が含まれる。
符号化モジュール380により符号化された次の3つのパケットは、各フレーム504,520,540の第2の部分のためのものとなる。符号化モジュールは、フレームの全体が伝送されるまで、フレーム504,520,540の各部分をパケット化し続ける。フレームの全体が一旦伝送されると、符号化モジュール380は、次のフレームの部分を、オーディオ/ビデオデータ500,502,503の順で符号化する。そして、符号化チャネルデータ386は、キャリア感知多重アクセス(CSMA)、衝突回避付きCSMA、及び/又は衝突検知付きCSMAを利用したパケットとして伝送される。
図17は、符号化チャネルデータ386のパケット化について示されており、当該技術における平均的技能を有する者には、符号化モジュール380が、符号化チャネルデータ386がフレームとして作成されるTDMA概念を用いることが、理解されるであろう。それに対応して、パケット560,566,572は、ヘッダ部及びデータ部が含まれたフレームで、置換されることになる。ヘッダ部には、選択チャネルの識別情報、選択チャネルのデータの種類、マルチメディア送信元の識別情報、暗号化が有効であるか無効であるかについての指定、用いられている暗号化の種類、圧縮が有効であるか無効であるかについての指定、圧縮の種類の指定、及びフレーム番号の1つ又はそれ以上が含まれる。このように、ヘッダ情報及びフレームのタイミングには、クライアントモジュールがそれぞれのデータ部又はペイロード内に格納されたデータを正確に取得できるように、充分な情報が含まれる。
そして、符号化チャネルデータ386は、時分割多重及び/又は周波数分割多重に従って伝送される。
図18に、図1乃至図11のマルチメディアサーバのいずれかに用いられうるチャネルミキサの機能図を示す。図示の如く、チャネルの組162は、符号化チャネルデータ386として受信される。符号化チャネルデータ386には、複数のパケット560,566,572が、含まれている。各パケット560,566,572には、ヘッダ部564,568,574及びペイロード部562,570,576が、それぞれ含まれている。
チャネルミキサには、それぞれのバスインタフェース580〜584に対して動作可能に接続された複数のストリーム・パージング・モジュール390A,390B,390Cが、含まれている。それぞれのバスインタフェース580〜584は、複数のパケットの各々を受信して、そのヘッダ部を読み取る。バスインタフェースモジュール580〜584が、特定のチャネル選択要求586,588,又は590に関する個々のパケットを検出すると、そのバスインタフェースは、ペイロード部とヘッダ部の一部とを、ストリーム・パージング・モジュール390A,390B及び/又は390Cの残りの回路に提供する。
各ストリーム・パージング・モジュール390A,390B,390Cは、データ592,594,596を、特定のチャネル選択要求586,588,590に対応したパケットのペイロードから抽出する。データ592,594,596は、ビデオフレーム504,520,及び/又は540の全体が格納されるまで、メモリ392内に格納される。
各ビデオフレーム504,520,540が一旦格納されると、プロセッサ396A,396B及び/又は396Cは、対応するビデオフレーム504,520,又は540のそれぞれのデータをメモリから取得して、一般データ598,600,602に変換する。一般データは、メモリ392内に格納される。データ符号変換モジュール388は、一般データ598,600,602をメモリ392から取得して、特定のビデオ及び/又はオーディオデータフォーマットに変換し、変換したデータをチャネルデータストリーム166として、複数のクライアントへと伝送する。
当該技術における平均的技能を有する者には理解されるように、プロセッサ396A,396B,396Cは、ビデオフレーム504,520,540のデータを、データ592,594,596がメモリ内に格納されるのに従って、処理してもよい。すなわち、プロセッサは、ビデオフレームの全体が格納されて、データを一般データ598,600,602に変換し始めるまで、待つ必要はない。
図18は、符号化チャネルデータ386のパケットを受信することに基づいて図示されているが、当該技術における平均的技能を有する者には、パケットがデータフレームであってもよいことが、理解されるであろう。それに対応して、バスインタフェースモジュール580〜584は、それぞれのストリーム・パージング・モジュール390A,390B,又は390Cにより処理されるべきデータフレームを待ち受けて、バスを監視してもよい。取得するための個々のフレームの判別は、特定のチャネル選択要求586,588,590に基づいてなされる。それに対応して、特定のチャネル選択要求586,588,590に関するデータは、対応するストリーム・パージング・モジュール390A,390B,又は390Cから取得されて、データ592,594又は596に変換される。
図19に、単一ビデオチャネルマルチメディア送信元を処理する図1乃至図11のマルチメディアサーバのいずれかの同調モジュールの機能図を示す。図示の如く、マルチプレクサ430〜434は、複数の単一チャネルマルチメディア送信元からのビデオデータを受信するために、動作可能に接続されている。このような単一チャネルマルチメディア送信元としては、DVDプレイヤ、圧縮ビデオ記憶装置、VCR、カメラ一体型ビデオ等がある。図示の如く、DVDプレイヤ82からのビデオフレーム614は、圧縮ビデオ248のMPEGフレーム612及びVCR86からのデジタルビデオデータ610とともに、各マルチプレクサ430〜434に対して提供される。各マルチプレクサ430〜434は、個々のチャネル選択要求を処理する。図示の如く、マルチプレクサ430は、DVDプレイヤ82に関するビデオフレーム614を提供するためのチャネル選択要求を処理し、マルチプレクサ432は、圧縮ビデオ送信元248からのMPEGフレーム612を処理し、マルチプレクサ434は、VCR86からのデジタルビデオデータ610を処理している。
図示の如く、ビデオフレーム614には、複数のフレーム616〜630が含まれる。MPEGフレーム612には、複数のフレーム632〜646が含まれ、デジタルビデオデータ610には、デジタルビデオデータストリーム648が含まれる。
符号化モジュール380は、ビデオフレーム614、MPEGフレーム612、及びデジタルビデオデータ610を受信し、これらの送信元のデータを符号化して、符号化チャネルデータ438を生成する。これは、パケット化方式にてなされてもよい。ここで、パケット648,650,652は、ヘッダ部654,658,662及びペイロード部656,660,664をそれぞれ含むように、生成される。
符号化モジュール380は、フレーム616の一部を、パケット648のペイロード656へと符号化する。同様に、符号化モジュール380は、デジタルビデオデータ648の一部を、パケット650のペイロード660へと符号化する。また、符号化モジュール380は、MPEGフレーム612のフレーム632の一部を、パケット652のペイロード664へと符号化する。ヘッダ部654,658,662には、図17を参照して上述したように、ヘッダ情報が含まれ、クライアントモジュールが対応するデータを正確に取得できるようにしている。
図19は、符号化チャネルデータ348を、CSMA型の物理レイヤ伝送を利用して、パケット648,650,652として伝送することに基づいて説明されたが、パケット648,650,652は、TDMA及び/又はFDMA物理レイヤデータ伝送技術を利用して伝送されるデータフレームであってもよい。このように、符号化チャネルデータ438には、複数のパケットが含まれてもよい。ここで、各パケットには、複数のマルチメディア送信元の1つからのビデオデータ、及び/又は、複数のマルチメディア送信元の1つからのデータフレームのうちの1つの一部が含まれる。
図20に、図1乃至図5のマルチメディア通信システムの模式的ブロック図を示す。ここで、通信経路192は有線接続670である。図示の如く、マルチメディアサーバの同調モジュール150,240,280及び/又は340は、オーディオ/ビデオ送信元の入力674を受信する。オーディオ/ビデオ送信元の入力674は、既出の図面のいずれかに記述されたマルチメディア送信元のいずれかからのものであってもよい。同調モジュールは、オーディオ/ビデオ送信元からの個々のチャネルを、制御モジュール156,244,284及び/又は344から受信した選択コマンドに基づいて選択する。
制御モジュールは、送受信モジュール154,208,246,286及び/又は346を通じて受信された選択要求に基づいて、選択コマンドを生成する。チャネルミキサ152,242,282及び/又は340は、同調モジュールからの出力を受信して、そこから、1つ又はそれ以上のクライアントモジュール用のデータを生成する。
また、マルチメディアサーバには、通信元676を通じての通信を処理する処理モジュール204及び/又は345が、含まれている。通信元としては、インターネット接続、PSTN接続及び/又はクライアント対クライアント通信がある。
送受信モジュール154,208,246,286及び/又は346には、ルータ672が含まれる。ルータは、各クライアントモジュール14〜22,46〜54,90〜98,112〜120及び/又は134〜142への接続を提供する。ルータ672等のルータの構成及び機能は既知であるため、本発明の概念をさらに説明する以外には、さらなる説明はなされない。
通信経路192が有線接続であると、チャネルデータストリーム及び選択要求は、ある送受信の型を利用して送受信される。送受信の型は、時分割多重、周波数分割多重、パルス符号変調、振幅シフトキーイング、1/4位相シフトキーイング、直交振幅変調、キャリア感知多重アクセス(CSMA)、衝突回避付きCSMA及び/又は衝突検知付きCSMAであってもよい。それに対応して、このような有線接続670は、同一の撚線対、同軸ケーブル、家庭内ネットワーク、電話回線等を通じてデータを送受信する。
その代わりに、有線接続670には、送信有線接続及び受信有線接続が、含まれてもよい。チャネルデータストリームは、ある送信の型を用いて、送信有線接続を通じて伝送される。送信の型として、時分割多重(TDM)、周波数分割多重(FDM)、パルス符号変調(PCM)、振幅シフトキーイング(ASK)、位相シフトキーイング(PSK)、1/4位相シフトキーイング(QPSK)、直交振幅変調(QAM)、キャリア感知多重アクセス(CSMA)、衝突回避(CA)付きCSMA、及び/又は衝突検知(CD)付きCSMA等がある。受信有線通信経路は、クライアントモジュールからチャネル選択を受信するために用いられてもよい。受信有線接続は、ある受信の型を用いる。受信の型は、TDM、FDM、PCM,ASK、PSK、QPSK、QUM、CSMA、CA付きCSMA、CD付きCSMAであってもよい。
その代わりに、マルチメディア通信システムが、インターネット接続に対応している場合、送信有線接続及び受信有線接続は、通信元676に関係したデータを伝送する。このようなデータとしては、インターネット宛てのパケット、インターネットからの受信パケット、PSTN宛ての通信データ、PSTNからの受信データ、及び/又はクライアント対クライアント通信データがある。
図示の如くルータ672は、チャネルミキサ、同調モジュール及び制御モジュールに対して、動作可能に接続されている。また、ルータは、少なくとも1つのクライアントモジュールに対して、動作可能に接続されている。このような構成により、制御モジュールは、チャネルミキサからのチャネルデータストリームが、送受信の型に基づいてフォーマットされて、フォーマットされたチャネルデータが生成されるようにする。ルータは、フォーマットされたチャネルデータを、有線接続を通じてクライアントモジュールに提供する。チャネルミキサにより用いられるフォーマットの個々の型は、上述の送受信の型に基づいている。さらに、クライアントモジュールにより受信された選択要求は、ルータがそれを受信した場合に適切にデータをフォーマット解除して個々の選択要求を再現できるように、送受信の型に従ってフォーマットされることになる。有線接続670が、データを送受信する単一の経路であっても、受信及び送信経路を含んでいても、同じことが成り立つ。
図21に、無線周波数(RF)通信経路680としての通信経路を通じて、クライアントモジュールに対して、動作可能に接続されるマルチメディアサーバの要素の模式的ブロック図を示す。RF通信経路680を通じたRF通信による通信に役立つように、マルチメディアサーバの送受信モジュール154,208,246,286及び/又は346には、RF送受信交換機678が含まれている。同様に、各クライアントモジュールには、RF送受信交換機、RF受信機、及び/又はRF送信機が、含まれてもよい。個々の無線周波数の使用は、連邦通信委員会(FCC)のような政府機関により規定されている。通例、このような家庭内周波数は、数百メガヘルツから1桁ギガヘルツの周波数帯に亘るものである。ある特定のRF家庭内アプリケーションの型として、ITC規格802.11aにより規定されたものがある。802.11a規格により、家庭内及び/又は短距離のデータ送受信用の無線周波数を用いるための動作パラメータが与えられる。
RF通信経路680は、マルチメディアサーバとクライアントとの間でデータを送受信するために、単一の周波数を利用してもよく、データ送信用の独立した周波数、及びデータ受信用の独立した周波数を含んでいてもよく、データ送受信用の複数の周波数を含んでいてもよく、データ受信用の複数の独立した周波数、及びデータ送信用の複数の独立した周波数を含んでいてもよい。
図示の如く、RF送受信交換機678は、処理モジュール204及び/又は345、制御モジュール156,244,284及び/又は344、同調モジュール150,240,280及び/又は340、並びにチャネルミキサ152,242,282及び/又は342に対して、動作可能に接続されている。このように構成されて、制御モジュールは、チャネルデータストリーム(RF通信経路680を通じてクライアントモジュールへと伝送される)を、使用される送受信の型に基づいてフォーマットする。送受信の型は、時分割多重(TDM)、周波数分割多重(FDM)、パルス符号変調(PCM)、振幅シフトキーイング(ASK)、位相シフトキーイング(PSK)、1/4位相シフトキーイング(QPSK)、直交振幅変調(QAM)、キャリア感知多重アクセス(CSMA)、衝突回避(CA)付きCSMA、及び衝突検知(CD)付きCSMAであってもよい。
RF送受信交換機は、フォーマットされたチャネルデータを、送信間隔間に無線周波数経路680を通じて、クライアントに提供する。送信及び受信間隔については、図26を参照して詳述される。
クライアントモジュールは、フォーマットされたデータをRF経路を通じて受信し、それを上述のように、そして、図50乃至図56を参照して後に詳述するように、処理する。さらに、クライアントモジュールは、選択要求を、送受信の型に基づいてフォーマットし、フォーマットされた選択要求を、RF通信経路680を通じて送受信モジュールに提供する。RF送受信交換機678は、選択要求を受信して、制御モジュールに提供する。制御モジュールは、選択要求を、上述のように、そして、図24乃至図28を参照して後に詳述するように、処理する。
図22に、赤外線通信経路684を通じて複数のクライアントに対して、動作可能に接続されたマルチメディアサーバの要素を有する、マルチメディア通信システムの模式的ブロック図を示す。本実施形態では、送受信モジュール154,208,246,286及び/又は346には、赤外線送受信交換機682が含まれている。同様に、各クライアントモジュールには、同様のIR送受信交換機が含まれてもよい。本実施形態では、データは、マルチメディアサーバとクライアントモジュールとの間で、単一のIR通信経路684を通じて伝送される。このように、IR通信経路は、クライアントへの送信部(すなわちマルチメディアサーバから)と、受信部(すなわちクライアントからサーバへ)とに、分割されている。その代わりに、IR経路には、送信IR経路及び受信IR経路が含まれてもよい。
図示の如く、IR送受信交換機682は、処理モジュール、制御モジュール、同調モジュール、及びチャネルミキサに対して、動作可能に接続されている。このように構成されて、制御モジュールは、チャネルデータストリーム(IR通信経路684を通じて送受信モジュールからクライアントモジュールへと伝送される)を、使用される送受信の型に基づいてフォーマットする。上述のように、送受信の型としては、TDM、FDM、PCM、ASK、PSK、QPSK、QAM、CSMA、CA付きCSMA、及びCD付きCSMA等がある。チャネルデータストリーム中に含まれた個々のデータは、クライアントモジュールから受信された選択要求に基づいている。
クライアントモジュールは、送受信の型に基づいて選択要求をフォーマットし、フォーマットされた選択要求を、受信間隔間にIR通信経路684を通じて伝送するか、あるいは、独立した受信IR経路を通じて送信する。送受信モジュールは、選択要求を受信すると、その選択要求を制御モジュールに提供する。制御モジュールは、コマンドを同調モジュールに提供する。同調モジュールは、そのコマンドに基づいて、AV送信元674から適切なチャネルを選択する。
当該技術における平均的技能を有する者には理解されるように、マルチメディアサーバと複数のクライアントとの間の通信経路192には、図20の有線通信経路670、図21のRF通信経路680、及び図22のIR通信経路684の1つ又はそれ以上が、含まれてもよい。例えば、各クライアントモジュール間の送受信経路は、RF通信経路を利用してもよく、受信経路はIR経路であってもよい。さらなる例として、サーバと同一の物理的位置内にあるクライアントモジュールは、他のクライアントモジュールがRF通信経路を利用した家庭内における別の位置にある一方で、有線通信経路を通じて動作可能に接続されてもよい。このように、同一のマルチメディア通信システム内で、様々な通信経路の組み合わせが利用されて、マルチメディア通信サービスが提供されてもよい。
図23に、同調モジュール150,240,280及び/又は340、チャネルミキサ152,242,282及び/又は340、制御モジュール156,240,284及び/又は344、送受信モジュール154,208,246,286及び/又は346、処理モジュール204及び/又は345、並びに第2の送受信モジュール690を含むマルチメディアサーバ700の模式的ブロック図を示す。送受信モジュール154,208,246,286及び/又は346には、アナログマルチプレクサ686が含まれている。送受信モジュールを参照して上述した機能を実行することに加えて、アナログマルチプレクサ686は、チャネルデータストリームを、チャネルデータを表すアナログ信号688に変換する。それに対応して、アナログマルチプレクサ686は、従来型のアナログクライアント装置に対して接続されたクライアントモジュールのインタフェースをとるために、利用されてもよい。
第2の送受信モジュール690により、マルチメディアサーバは、少なくともクライアントモジュールのいくつかと、第2の通信経路692を通じて通信する。第2の通信経路692は、有線接続、RF接続及び/又は赤外線接続であってもよい。第2の通信経路を通じて伝送されるデータは、送受信モジュール154,208,246,286及び/又は346により伝送されるチャネルデータストリームと、同一であってもよい。このように、マルチメディアサーバ700は、クライアントモジュールの複数の組に対して、オーディオ及び/又はビデオ送信元674の同じグループから、サービスを提供してもよい。 制御モジュール156,240,284及び/又は344には、複数のクライアントの各々のクライアントアクセス権限を判別する処理手段が、含まれている。このようなアクセス権限としては、ペアレンタル制御機能(parental control features)、アクセス時間、アクセス量等がある。このように、制御モジュールは、選択コマンドを同調モジュールに提供する前に、各クライアントの選択要求について、要求が有効であるかどうかについて判別する。このような機能により、マルチメディア通信システムのオペレータは制御が可能となる。そのA/Vリソース674上で、各クライアントモジュールは、1日あたりのアクセス量、及び/又はアクセス時間で、アクセスしてもよい。
図24に、ローカルエリアネットワークにマルチメディアサービスを提供する方法の論理図を示す。その方法は、既出の図面に示されたマルチメディアサーバのいずれかにより、実行されてもよい。それに対応して、図24に示した演算ステップは、マルチメディアサーバ12,42,88,102,132及び/又は700により、実行されてもよい。
複数のチャネルが少なくとも1つのマルチメディア送信元から受信されると、処理が開始する。マルチメディア送信元は、衛星接続、ケーブル接続、NTSCアンテナ接続、PALアンテナ接続、HDTV接続、SDTV接続、ラジオ接続等であってもよい。さらに、複数のチャネルは、DVDプレイヤ、VCR、閉回路テレビ、レーザーディスクプレイヤ、カメラ一体型ビデオ、デジタルオーディオ記憶装置(例えばMP3プレイヤ)、DVDオーディオプレイヤ、CDプレイヤ等の複数の単一チャネル送信元からのものであってもよい。複数のチャネルは、常に受信されているが、1つ又はそれ以上のクライアントモジュールが1つ以上のチャネルを選択するまで、処理されることはない。
処理はステップ712に進む。このステップ712では、選択要求が、少なくとも1つのクライアントモジュールから、通信経路を通じて受信される。通信経路は、図20乃至図22にて説明したように、無線周波数経路、IR通信経路、及び/又は有線通信経路であってもよい。選択要求は、1つのクライアントモジュール又は複数のクライアントモジュールからのものであってもよい。各クライアントは、別々のチャネル、同一のチャネル、又はその組み合わせにアクセスしてもよい。選択要求には、個々のクライアントモジュールの識別情報、並びに個々のチャネル及び/又は該チャネルの送信元の識別情報が、含まれる。このように、選択要求には、マルチメディアサーバが個々のチャネル及び所望のチャネルの個々のオーディオ及び/又はビデオ送信元を判別するのに充分な情報が、含まれている。例えば、選択要求は、衛星放送のチャネル5が特定のクライアントの関心のあるチャネルであることを、示してもよい。
そして、処理はステップ714に進む。このステップ714では、マルチメディアサーバ内の制御モジュールは、選択要求からチャネル選択コマンドの組を生成する。それに対応して、クライアントモジュールから受信した各選択要求について、制御モジュールは、選択要求が有効であることを前提として、対応する選択コマンドを生成する。従って、1つのクライアントモジュールのみが選択要求を提供した場合、1つの選択コマンドのみが生成される。当該技術における平均的技能を有する者には理解されるように、選択コマンドは、選択要求から繰り返して生成されるわけではない。通例、選択コマンドは、一度生成されて、代替の選択要求が受信されるかあるいは終了要求が受信されるまで、維持される。
チャネル選択コマンドの組を生成する処理は、ステップ722〜724を参照してさらに説明されうる。ステップ722では、選択要求は、フォーマット解除される。上述のように、選択要求は、特定のデータ伝送プロトコルを利用した通信経路を通じて受信される。データは、位相符号化、非ゼロ復帰符号化、多重レベル符号化、ブロック符号化、NB/MB符号化等の様々な符号化方式の1つを用いて符号化されてもよい。さらに、符号化データは、特定の変調方式を用いて変調される。なお、その変調方式は、TDM、FDM、ASK、PSK等であってもよい。それに対応して、元々の選択要求を再現するために、データは、復調されて復号されなければならない。
そして、処理はステップ724に進む。このステップ724では、選択要求が解釈されて、チャネル選択コマンドが生成される。選択要求を解釈することには、認証処理、個々のクライアントモジュールの検証、及びクライアントモジュールの有効性の判別が含まれる。クライアントモジュールが正当であって、要求されているサービスが特定のクライアントモジュールの権限内であれば、制御モジュールは、対応するチャネルコマンドを生成する。
図24のメインのフローを再び参照すると、処理はステップ716に続き、このステップ716にて、同調モジュールは、チャネル選択コマンドの組に基づいて、複数のチャネルからチャネルの組を選択する。例えば、1つのチャネル選択コマンドのみが存在するならば、同調モジュールは、この特定のチャネル選択コマンドに対応したチャネルを選択する。2つのチャネル選択コマンドが同調モジュールに対して選択された場合、該同調モジュールは、各選択コマンドについての2つのチャネルを選択する。
そして、処理はステップ718に進む。このステップ718では、チャネルの組がミキシングされて、チャネルデータストリームとなる。チャネルデータは、チャネルデータの個々の送信元を識別すること、チャネルデータの宛先、選択要求、及び/又は、適切なクライアントモジュールが適切なデータを確実に受信できるようにするために必要な他の識別情報について、このようにミキシングされる。当該技術における平均的技能を有する者には理解されるように、チャネルデータストリームは、マルチメディアサーバ内のハードドライブ上に、後に取得及び/又は使用されるために、格納されてもよい。このように、マルチメディアサーバは、ハードドライブ及び適切なソフトウェアを通じて、デジタルVCR機能や同様の機能を実行してもよい。
そして、処理は、ステップ720に進む。このステップ720では、チャネルデータストリームは、通信経路を通じて、複数のクライアントモジュールへと伝送される。上述の如く、通信経路は、有線通信経路、RF通信経路及び/又は赤外線通信経路であってもよい。チャネルデータストリームの伝送については、ステップ726を参照してさらに規定されうる。
ステップ726では、チャネルデータストリームは、マルチメディアサーバの送受信モジュールを通じての伝送用にフォーマットされる。データのフォーマット化には、多重レベル符号化、非ゼロ復帰符号化、位相符号化、ブロック符号化、nB/mB符号化(ここでn<m)を利用した符号化等の特定の符号化方式を利用してデータを符号化することが、含まれる。例えば、nB/mB符号化は、4B/5B符号化であってもよい。ここで、4ビットの元々のデータが、5ビットの符号化データに変換される。さらに、通信システム内で用いられている個々のデータ伝送プロトコルに応じて、符号化データは、TDM、FDM、ASK、PSK、PCM、QPSK、QAM等の変調方式の1つ又はそれ以上を利用して、変調されてもよい。データストリームのフォーマット化には、1つ又はそれ以上のクライアントモジュールに対するアナログフォーマットでの伝送用に、チャネルデータストリームをアナログ信号に変換することが、さらに含まれてもよい。アナログ信号への変換は、フォーマットされたチャネルデータストリームの伝送と並行でなされてもよい。このように、チャネルデータを表すデジタル及びアナログの両信号が、クライアントモジュールへと伝送されてもよい。それに対応して、アナログ信号は、デジタル信号とは異なる通信経路を通じて伝送されてもよい。さらに、複数の通信経路が、図20乃至図22を参照して上述したクライアントモジュールとマルチメディアサーバとの接続に応じて、利用されてもよい。
当該技術における平均的技能を有する者には理解されるように、単一のデータストリームが、マルチメディアサーバから複数のクライアントモジュールへと提供されてもよい。チャネルデータストリームには、クライアントモジュールによりなされた各選択に対応したデータが、含まれる。従って、各クライアントモジュールは、チャネルデータストリーム全体を受信して、その特定の選択要求に関連したデータのみを抽出する。
図25に、通信経路が有線接続である場合における図24のステップ720をさらに説明する方法の論理図を示す。処理はステップ730にて開始する。このステップ730では、送信間隔及び受信間隔についての判別がなされる。その判別は、マルチメディアサーバ内の制御モジュールによりなされ、トラフィックローディング、所定の割当間隔等に基づいてなされる。さらに、送信間隔及び受信間隔は、データを受信及び送信するのに単一の通信経路が利用されているか、個別の送信経路と受信経路とが利用可能であるかに依存する。
そして、処理は、ステップ732及び736に進む。ステップ732では、チャネルデータストリームは、送受信の型に基づいてフォーマットされる。送受信の型は、利用されている変調方式に対応しており、それは、TDM、FDM、ASK、PCM、PSK等であってもよい。そして、処理は、ステップ734に進む。このステップ734では、フォーマットされたチャネルデータが、複数のクライアントの少なくとも1つに対して、単一又は複数の送信間隔中に、有線接続を通じて提供される。
ステップ732では、マルチメディアサーバは、フォーマットされた選択要求を、受信間隔中に有線接続を通じて受信する。選択要求は、マルチメディア通信システム内で用いられる送受信の型に基づいてフォーマットされる。送受信の型は、利用されている変調方式に対応しており、それは、TDM、FDM、ASK等であってもよい。
図26に、通信経路を通じての送信間隔及び受信間隔を図示する。図示の如く、通信経路746により、マルチメディアサーバ738が複数のクライアントモジュール740〜742に対して接続される。なお、マルチメディアサーバ738は、図1乃至図11及び図23を参照して説明したマルチメディアサーバのいずれかであってもよい。クライアントモジュール740〜744は、図1乃至図11を参照して説明したクライアントモジュールのいずれかであってもよい。通信経路746は、有線接続、無線周波数接続、及び/又は赤外線通信経路であってもよい。
図示の如く、通信経路746を通じて伝送されるデータは、パケット及び/又はフレームになっていてもよい。パケット及び/又はフレームの伝送は、送信間隔748,752,756と受信間隔750,754とに分割される。送信間隔748,752,756中に、マルチメディアサーバは、チャネルデータストリームを複数のクライアントモジュール740〜744へと伝送する。受信間隔750,754中に、1つ又はそれ以上のクライアントモジュール740〜744は、選択要求をマルチメディアサーバへと伝送する。
クライアントモジュール740〜744は、CSMA、トークンリング通過、マルチメディアサーバ738によるポーリング、TDMアクセス等の複数の方式のいずれかに基づき、受信間隔750,754にアクセスする。それに対応して、送信間隔748と受信間隔750との比は、必要に応じて設定又は割り当てられてもよい。例えば、受信間隔750,754は、10〜20送信間隔748,752,756毎に一度、発生してもよい。その代わりに、送信間隔及び受信間隔は、厳密にCSMA概念に基づいて割り当てられてもよい。その場合、マルチメディアサーバ738及び各クライアントモジュール740〜744は、伝送のために通信経路を監視する。経路が利用可能である場合に、個々の側にて、衝突回避付きCSMA及び/又は衝突検知付きCSMAを利用して、データが伝送される。当該技術における平均的技能を有する者には理解されるように、マルチメディアサーバ738と複数のクライアントモジュール740〜744との間の通信経路746を通じてデータが伝送可能で、チャネルデータストリームがクライアントモジュール740〜744により確実に受信され、該クライアントモジュール740〜744が通信経路746に対して充分にアクセスして、選択コマンド及び/又はこのような選択の変更を提供することが可能な多くの方法がある。さらなる例として、マルチメディアサーバ738は、通信経路746がクライアントモジュールによる選択要求を送信するために利用可能である場合、チャネルデータストリーム内で一斉送信してもよい。さらに、マルチメディアサーバ738による一斉送信には、どのクライアントモジュールが割り当てられた受信時間で通信経路にアクセスするのかについての識別情報が、含まれてもよい。
図27に、通信経路が無線周波数通信経路である場合における図24のステップ720をさらに説明する方法の論理図を示す。処理はステップ760にて開始する。このステップ760では、送信間隔及び受信間隔についての判別がなされる。これは、図26を参照して説明されたものである。そして、処理は、ステップ762及び766に進む。ステップ762では、チャネルデータストリームは、送受信の型に基づいてフォーマットされる。そして、処理は、ステップ764に進む。このステップ764では、フォーマットされたチャネルデータが、複数のクライアントの少なくとも1つに対して、送信間隔中に、無線周波数通信経路を通じて提供される。
ステップ766では、マルチメディアサーバは、フォーマットされた選択要求を、受信間隔中にRF通信経路を通じて受信する。選択要求は、送受信の型に基づいてフォーマットされる。
図28に、通信経路が赤外線通信経路である場合における図24のステップ720をさらに説明する方法の論理図を示す。処理はステップ770にて開始する。このステップ770では、送信間隔及び受信間隔についての判別がなされる。そして、処理は、ステップ772及び776に進む。ステップ772では、チャネルデータストリームは、送受信の型に基づいてフォーマットされる。そして、処理は、ステップ774に進む。このステップ774では、フォーマットされたチャネルデータが、少なくとも1つのクライアントモジュールに対して、送信間隔中に、赤外線通信経路を通じて提供される。
ステップ776では、マルチメディアサーバは、フォーマットされた選択要求を、受信間隔中に赤外線通信経路を通じて受信する。選択要求は、利用されている送受信の型に基づいてフォーマットされる。
図29に、図12、図14乃至図16に示すような同調モジュール150,240,280及び/又は340として用いられうる同調モジュール825の模式的ブロック図を示す。同調モジュール825には、複数のセレクタ780〜786、符号化モジュール804、及び、共用バス824に対する接続を提供するバスインタフェース806が、含まれている。共用バス824は、チャネルミキサ処理モジュール、及び、図12、図14乃至図16に示されたマルチメディアサーバの他の要素に共用される。セレクタ780〜786は、図12に示した複数のチューナ、図14に示したマルチプレクサ、図15に示したマルチプレクサとチューナとの組み合わせ、及び/又は図16に示したHDTVチューナであってもよい。それに対応して、セレクタ780〜786は、複数のチャネル787を提供している個々の送信元に依存する。
符号化モジュール804には、複数のバッファ808〜814、エンコーダ816、バッファコントローラ818、及びパケット化モジュール820が、含まれている。バッファ808〜814は、物理的に独立した記憶装置であってもよく、論理的に独立した記憶装置であってもよい。各バッファ808〜814は、リングバッファとして機能する。バッファコントローラ818は、ヘッド及びテールトラッキング並びに読取書込制御等の各バッファ808〜814の管理を提供する。
図示の如く、複数のセレクタ780〜786の各々は、複数のチャネル787を受信するように動作可能に接続されている。それぞれのチャネル選択コマンド796〜802に基づき、各セレクタ780〜786は、個々の選択チャネル788〜794を出力する。複数のチャネル787は、図1乃至図11を参照して上述したマルチメディア送信元により提供されてもよい。当該技術における平均的技能を有する者には理解されるように、セレクタ780〜786のいくつかは、同調モジュール825内に含まれてもよい。さらに、セレクタ780〜786の1つ又はそれ以上は、限られた数のクライアントモジュールがマルチメディアサーバにアクセスしている場合には、使用されなくともよい。それに対応して、符号化モジュール804は、バッファコントローラ818を通じて、どのセレクタ780〜786が選択チャネルデータ788〜794を有効に提供しているかについて、認識してもよい。
バッファコントローラ818は、選択チャネル788〜794のデータをそれぞれのバッファ808〜814へと書き込むことを、調整する。さらに、バッファコントローラ818は、各バッファ808〜814からエンコーダ816へとデータを読み込むことを、調整する。エンコーダ816は、多重レベル符号化、非ゼロ復帰符号化、位相符号化、ブロック符号化、NB/MB符号化(ここでN>M)等の特定の符号化機能を、実行してもよい。通例、エンコーダ816は、同調モジュール825からマルチメディアサーバのチャネルミキサへのデータ伝送の精度をよくするために、利用される。当該技術における平均的技能を有する者には理解されるように、エンコーダ816は、選択チャネルのデータがチャネルミキサへと正確に伝送される場合には、省略されてもよい。
パケット化モジュール820は、符号化データをパケット化して、複数のパケットを生成する。各パケットには、ヘッダ部及びデータ部が含まれる。ヘッダ部には、選択チャネルの識別情報、選択チャネルのデータの種類(例えば、オーディオ、ビデオ、テキスト等)、個々のマルチメディア送信元の識別情報、暗号化が有効であるか無効であるかについて、用いられている暗号化の種類、圧縮が有効であるか無効であるかについて、用いられている圧縮の種類、及び/又はパケットのシーケンス番号が、含まれる。パケットは、バスインタフェース806に対して提供され、それには、受信モジュール826が含まれている。バスインタフェースは、符号化されたチャネルの組822のパケットを、共用バス824に提供する。
さらに、バスインタフェース806は、受信モジュール826を通じてパケット828を受信する。受信モジュール826は、パケットを処理して、チャネル選択コマンド830を取得する。チャネル選択コマンド830には、個々のチャネル選択コマンド796〜802が含まれている。受信モジュールには、パケット内に含まれたデータを復号してチャネル選択コマンドの少なくとも一部を再現するデコーダが、含まれてもよい。実行される復号は、クライアントモジュールにより用いられた符号化の逆であってもよい。
図30に、図12、図14乃至図16に示したマルチメディアサーバのいずれかにて用いられうる同調モジュール840の模式的ブロック図を示す。同調モジュール840は、図29の同調モジュール825と非常によく似ているが、符号化モジュール804に、パケット化モジュール820ではなくフレーム化モジュール842が含まれていることが、異なっている。さらに、バスインタフェース806には、受信モジュール826ではなく監視モジュール844が含まれている。
動作の際、セレクタ780〜786は、チャネル選択コマンド796〜802に基づいて、複数のチャネル787から、個々のチャネル788〜794を選択する。バッファ808〜814は、選択チャネル788〜794のデータを格納する。エンコーダ816は、そのデータを符号化して、符号化チャネルデータを生成する。符号化チャネルデータは、フレーム化モジュール842により受信される。フレーム化モジュール842は、各選択チャネルのデータを、ヘッダ部及びデータ部を含むフレームへとフレーム化する。ヘッダ部には、選択チャネルの識別情報、選択チャネルのデータの種類、マルチメディア送信元の識別情報、暗号化が有効であるか無効であるかについての指定、用いられている暗号化の種類、圧縮が有効であるか無効であるかについての指定、圧縮の種類、及び/又はフレーム番号が、含まれる。
バスインタフェース806は、フレーム化データを受信して、それを、符号化されたチャネルの組802として、共用バス824に提供する。さらに、バスインタフェース806は、共用バスからフレーム846を受信する。監視モジュール844は、特定の時間間隔でフレーム846を解釈して、チャネル選択コマンド848を抽出する。
図31に、同調モジュール850の他の実施形態の模式的ブロック図を示す。同調モジュール850は、図12、図14乃至図16に示したマルチメディアサーバのいずれかにて利用されうる。同調モジュール850には、複数のセレクタ780〜786、データ圧縮モジュール862、暗号化モジュール860、符号化モジュール804、バスインタフェース806、バスコントローラ870、復号モジュール852、解読モジュール864、及び復元モジュール868が、含まれている。バスインタフェース806は、バスコントローラ870を通じて制御される。このバスコントローラ870は、チャネル選択コマンドの受信を制御し、さらに、符号化チャネルデータの送信を制御する。
動作の際、同調モジュール850は、共用バス824からバスインタフェース806を通じて、選択コマンドを受信する。バスインタフェース806は、受信したチャネル選択コマンドを、復号モジュール852に提供する。復号モジュール852には、フレーム解除部又はパケット解除モジュール854、デコーダ856、及びバッファ858が、含まれている。フレーム解除部又はパケット解除モジュール854は、受信フレーム又は受信パケットからデータを抽出する。フレーム解除又はパケット解除されたデータは、デコーダ856に対して提供される。デコーダは、クライアントモジュール内のエンコーダの逆関数を利用して、選択要求の元々のデータを再現する。このように、クライアントモジュールが位相符号化を用いたなら、デコーダは、位相符号化の逆関数を用いてデータを再現する。
データが暗号化されておらず、圧縮されてもいなければ、再現データは、制御モジュール156,244,284,及び/又は344に対して、提供される。チャネル選択要求に基づき、制御モジュールは、複数のチャネル選択コマンド796〜802を生成する。制御モジュールは、チャネル選択コマンドを、複数のセレクタ780〜786に提供する。
一方、選択要求が暗号化及び/又は圧縮されているならば、暗号化データは、解読モジュール864に対して提供される。解読モジュール864は、利用されている暗号化/解読方式に基づいて、そのデータを解読する。例えば、クライアントモジュールが、データ暗号化標準規格(DES)の暗号化技術を利用したならば、解読モジュールは、対応する解読方式を用いて、そのデータを再現する。
また、データが圧縮されている場合、復号データ又はバッファ858からのデータは、復元モジュール868に対して提供される。復元モジュール868は、データを圧縮するのに用いられた関数の逆関数を利用する。このように、解読及び/又は復元された再現データは、制御モジュールに対して提供される。制御モジュールは、対応するチャネル選択コマンド796〜802を生成する。
セレクタ786〜780は、それぞれのチャネル選択コマンド796〜802に基づいて、複数のチャネル787から、選択チャネル788〜794を出力する。複数の選択チャネル788〜794は、データ圧縮モジュール862、暗号化モジュール860へと、及び/又は、直接的に符号化モジュール804へと、提供されてもよい。
選択チャネル788〜794が圧縮されるべきであれば、データ圧縮モジュール862は、データ圧縮方式を利用して、そのデータを圧縮する。データ圧縮方式は、zip型関数又は他の既知のデータ圧縮技術であってもよい。圧縮データが暗号化されるべきであれば、それは暗号化モジュール860に対して提供される。その代わりに、圧縮データが暗号化なしに処理されるべきであれば、それは直接的に符号化モジュール804に対して提供される。
データが暗号化されるべきであれば、暗号化モジュール860は、暗号化方式を利用して、選択チャネル788〜794のデータを暗号化する。利用される暗号化方式は、DES、PGP(pretty good protection)等の様々な既知のデータ暗号化方式のいずれかであってもよい。そして、暗号化データ860は、符号化モジュール804に対して提供される。次に、この符号化モジュール804は、データを符号化して、その符号化データを、共用バス824上を伝送させるために、バスインタフェース806に提供する。上述の如く、符号化モジュール804のエンコーダは、暗号化データがさらに符号化されることなく共用バスへと直接伝送されるように、省略されてもよい。
図32に、図12、図14乃至図16に示したマルチメディアサーバのいずれかにて利用されうる代替的な同調モジュール880の模式的ブロック図を示す。同調モジュール880には、処理モジュール882及びメモリ884が、含まれている。処理モジュール882は、単一の処理装置でもよく、複数の処理装置でもよい。このような処理装置は、マイクロプロセッサ、マイクロコントローラ、マイクロコンピュータ、デジタル信号プロセッサ、プログラム可能ゲートアレイ、中央処理装置、ステートマシン、論理回路、及び/又は、信号(アナログ及び/又はデジタル)を動作命令に基づいて処理する任意の装置であってもよい。メモリ84は、単一の記憶装置でもよく、複数の記憶装置でもよい。このような記憶装置は、読出専用メモリ素子、ランダムアクセスメモリ素子、フラッシュメモリ、磁気テープメモリ、システムメモリ、消去可能読出専用メモリ、及び/又はデジタル情報を格納する任意の装置であってもよい。なお、処理モジュール882がその機能の1つ又はそれ以上を、ステートマシンまたは論理回路を通じて実行する場合、対応する動作命令を格納したメモリは、ステートマシン又は論理回路を備えた回路内に組み込まれる。メモリ884内に格納されているとともに処理モジュール882により実行される動作命令は、既出の図面を参照して概説されたものであり、図33乃至図37を参照して詳述される。
図33に、同調モジュールを通じてのマルチメディアシステム内の複数のチャネルを多重化する方法の論理図を示す。処理は、ステップ890にて開始する。このステップ890では、複数のチャネルがマルチメディア送信元から受信される。複数のチャネルを受信することは、衛星接続からの各チャネル用のオーディオ及びビデオデータを受信すること、ケーブル接続からの各チャネル用のオーディオ及びビデオデータを受信すること、高品位テレビ受信器からの各チャネル用のオーディオ及びビデオデータを受信すること、NTSC放送、PAL放送等を受信するアンテナ接続からの各チャネル用のオーディオ及びビデオデータを受信することの1つ又はそれ以上を、さらに含む。それに対応して、複数のチャネルは単一のマルチメディア送信元から、あるいは複数のマルチメディア送信元からのものであってもよい。
そして、処理はステップ892に進む。このステップ892では、複数のチャネル選択コマンドが受信される。複数のチャネル選択コマンドは、複数のクライアントモジュールにより提供された選択要求から得られる。ここで、各チャネル選択コマンドは、複数のチャネルのうちの個々のチャネルを特定する。そして、処理はステップ894に進む。このステップ894では、チャネル選択コマンド毎に、複数のチャネルのうちの1つのチャネルが選択される。なお、選択チャネルは、複数のマルチメディア送信元のいずれからのものであってもよい。
そして、処理はステップ896に進む。このステップ896では、各選択チャネルが、マルチメディアシステムのデータ伝送プロトコルに基づいて、符号化される。その符号化は、多重レベル符号化、非ゼロ復帰符号化、位相符号化、ブロック符号化、及び/又はnB/mB符号化(ここでn<m)であってもよい。
当該技術における平均的技能を有する者には理解されるように、高品位テレビ、衛星受信器、セットトップボックス等は、通例、MPEGビデオデータを利用している。このように、通例のNTSCチャネル選別用6MHz帯域幅では、圧縮ビデオには、同じ周波数帯内に複数のチャネルが含まれる。このように、個々のチャネルがこれらのマルチメディア送信元の1つから選択される場合、複数の圧縮チャネルが受信されてもよい。これに対応して、各圧縮チャネルは、ステップ896にて示されたように符号化されてもよい。当該技術における平均的技能を有する者にはさらに理解されるように、ステップ896に先立って、データは、圧縮技術により圧縮され、及び/又は、暗号技術を利用した暗号化技術により暗号化されてもよい。
そして、処理は、ステップ898に進む。このステップ898では、符号化チャネルデータが、チャネルミキサへと伝送される。符号化データの伝送は、各選択チャネルからのデータを、ヘッダ部及びデータ部を含むフレームへとフレーム化することにより、なされてもよい。その代わりに、符号化チャネルデータは、ヘッダ部及びデータ部を含むパケットへとパケット化されてもよい。パケット又はフレームのヘッダ部には、選択チャネルの識別情報、選択チャネルのデータの種類、マルチメディア送信元の識別情報、暗号化が有効であるか無効であるかについて、用いられている暗号化の種類、圧縮が有効であるか無効であるかについての指定、圧縮の種類、及び/又は、パケット若しくはフレーム番号が、含まれる。
図34に、図33のステップ892にて概説したチャネル選択コマンドの受信をさらに規定する方法の論理図を示す。処理は、ステップ900にて開始する。このステップ900では、チャネル選択要求が、複数のクライアントモジュールから受信される。そして、処理はステップ902に進む。このステップ902では、チャネル選択要求が処理されて、複数のチャネル選択コマンドが生成される。各チャネル選択コマンドには、特定のチャネル選択コマンド、より少ないチャネル選択コマンド、次のチャネル選択コマンド、前のチャネル選択コマンド、所望のチャネル選択コマンド、及び/又はユーザ規定リストからの選択チャネルが、含まれている。このようなコマンドは、クライアントによる個々の要求及び/又はマルチメディアサーバ内で用いられるデフォルト処理方式に、対応している。それに対応して、個々のクライアントが要求を行うと、同調モジュールはその要求を、これら個々のマルチメディアチャネル選択方式の観点で解釈する。
複数の選択要求の処理は、ステップ904〜908の1つ又はそれ以上にて、なされてもよい。ステップ904では、チャネル選択要求が解釈されて、少なくとも1つのクライアントが識別される。さらに、その要求が解釈されて、発行された個々のチャネル選択要求が判別される。この情報に基づいて、チャネルコマンドが生成される。
ステップ906では、クライアントが開始した選択要求が認証される。その認証により、クライアントが、マルチメディアサーバの有効なクライアントであるかどうか、判別される。ステップ908では、クライアントによりなされた特定のチャネル選択要求が、認証される。これは、要求されている個々のチャネルについてアクセス権限を有するかどうか、要求が許可された日時内になされているかどうか、及び/又は、マルチメディア送信元にアクセスする時間割当が超過したかどうかを判別することにより、なされてもよい。さらに、特定のチャネルの認証は、要求チャネルをマルチメディア送信元の1つから購入する権限がクライアントに与えられているかどうか(例えば、クライアントが従量料金チャネルにアクセスするように認証されているかどうか)、及び/又は、クライアントがマルチメディアサーバにより確立されたカウント制限を超過したかどうかを判別することを、含んでもよい。
図35に、図33のステップ892のチャネル選択コマンド受信方法の論理図を示す。処理は、ステップ910,916及び/又は922にて開始する。ステップ910では、同調モジュールが、共用バス上のパケットを監視する。上述のように、パケットには、ヘッダ部及びデータ部が含まれる。そして、処理は、ステップ912に進む。このステップ912では、同調モジュールは、少なくとも1つのパケットを、複数のチャネル選択コマンドの1つの少なくとも一部を含むものとして特定する。
そして、処理はステップ914に進む。このステップ914では、同調モジュールは、マルチメディアシステムのデータ受渡プロトコルに基づき、少なくとも1つのパケットを復号して、複数のチャネル選択コマンドの1つの少なくとも一部を再現する。このような復号には、ヘッダ部を解釈すること、データ部からデータを抽出すること、及び抽出されたデータにチャネル選択コマンドの全て又はチャネル選択コマンドの部分データが含まれているかどうかを判別することが、含まれる。抽出されたデータは、それが部分的な選択要求である場合、チャネル選択コマンドに関係したデータの全てが受信されるまでバッファに格納される。
ステップ916では、同調モジュールは、フレーム又は関連データ用の特定の時間間隔で、共用バスを監視する。そして、処理は、ステップ918に進む。このステップ918では、同調モジュールは、単一の時間間隔又は特定の時間間隔で、複数のチャネル選択コマンドの1つの少なくとも一部を含んだデータフレームを特定する。そして、処理は、ステップ920に進む。このステップ920では、同調モジュールは、データ受渡プロトコルに基づき、データフレームを復号して、チャネル選択コマンドの1つの少なくとも一部を再現する。復号には、ヘッダ部を解釈すること、データ部からデータを抽出すること、及び、データに完全なチャネル選択コマンドが含まれているかあるいは部分的なものが含まれているか判別することが、含まれる。部分的であれば、データは、完全なチャネル選択コマンドが受信されるまで、バッファに格納される。
ステップ922では、同調モジュールは、複数のチャネル選択コマンドの各々を解読する。さらに、ステップ924では、同調モジュールは、各チャネル選択コマンドを復元する。
図36に、マルチメディアシステム内の複数のチャネルを同調モジュールにより多重化する代替的な方法を示す。処理は、ステップ930にて開始する。このステップ930では、複数のマルチメディア送信元からのチャネルが受信されて、複数のチャネルが生成される。マルチメディア送信元は、DVDプレイヤ、CDプレイヤ、カメラ一体型ビデオ、VCR、DVDオーディオプレイヤ等であってもよい。そして、処理は、ステップ932に進む。このステップ932では、同調モジュールは、複数のチャネル選択コマンドを受信する。そして、処理は、ステップ934に進む。このステップ934では、同調モジュールは、受信した各チャネル選択コマンドについて、複数のチャネルから1つのチャネルを選択する。
そして、処理はステップ936に進む。このステップ936では、同調モジュールは、マルチメディアシステムのデータ受渡プロトコルに基づき、各選択チャネルを符号化する。その符号化としては、多重レベル符号化、非ゼロ復帰符号化、位相符号化、ブロック符号化、及び/又はnB/mB符号化(ここでn<m)等がある。なお、符号化に先立って、各選択チャネルのデータは、圧縮及び/又は暗号化されてもよい。そして、処理は、ステップ938に進む。このステップ938では、符号化チャネルデータが、チャネルミキサへと伝送される。データは、CSMA、衝突回避付きCSMA、及び/又は衝突検知付きCSMAを利用して、パケットとして伝送されてもよい。その代わりに、データは、フレームとして伝送されてもよい。フレームは、時分割多重の特定のタイムスロット内、及び/又は周波数分割多重の特定の周波数位置にて、伝送されることになる。
図37に、図36のステップ932のさらなる処理の論理図を示す。ステップ940では、同調モジュールは、チャネル選択要求を、複数のクライアントモジュールから受信する。そして、処理はステップ942に進む。このステップ942では、同調モジュール、及び/又は制御モジュールが、複数のチャネル選択要求を処理して、複数のチャネル選択コマンドを生成する。チャネル選択要求の処理は、ステップ944,946,及び/又は948にて示したようになされてもよい。
ステップ944では、制御モジュールは、チャネル選択要求を解釈して、個々のクライアント及び発行されている個々の要求を特定する。両者が有効であれば、チャネル選択コマンドが生成される。
ステップ946では、制御モジュールは、特定のチャネル選択要求を提供したクライアントを認証する。そのクライアントの認証により、そのクライアントがマルチメディアシステムの権限のあるユーザであることが、検証される。
ステップ948では、制御モジュールは、特定のチャネル選択要求を認証する。チャネル選択要求の認証には、ペアレンタル制御制限、加入認証、アカウントの制限、要求の時間帯、及び/又はマルチメディア送信元が所与の継続時間に亘りアクセスした量を判別することが、含まれる。
図38に、チャネルミキサ950の模式的ブロック図を示す。チャネルミキサ950は、図1乃至図15に示されたマルチメディアサーバのいずれかにて利用されてもよい。チャネルミキサ950には、ストリーム・パージング・モジュール951、メモリコントローラ952、メモリ956、及びデータ符号変換モジュール954が、含まれている。
ストリーム・パージング・モジュール951は、符号化チャネルデータ958を同調モジュールから受信するように動作可能に接続されている。ストリーム・パージング・モジュール951は、符号化チャネルデータ958を復号して、元々のデータを再現する。そして、ストリーム・パージング・モジュール951は、各選択チャネルのデータを一般データ960に変換する。ストリーム・パージング・モジュール951は、一般データ960を、メモリコントローラ952を通じてメモリ956内に格納する。
ストリーム・パージング・モジュール951は、符号変換モジュール954とともに、制御情報964及びデータ966を伝送する。制御情報には、チャネル選択要求968が含まれる。このように、チャネル選択要求を含む制御情報に基づき、ストリーム・パージング・モジュール951は、符号化チャネルデータ958を処理して、一般データ960を生成する。
データ符号変換モジュール954は、一般データ960を、メモリコントローラ952を通じてメモリ956から取得する。データ符号変換モジュール954は、一般データ960をデータストリーム962に変換する。一般データ960の変換は、個々のデータの型に依存する。例えば、ビデオデータは、デジタルRGBデータ、デジタルYCRCBデータ、デジタルビデオ等として格納されてもよい。符号変換モジュールは、一般ビデオデータを取得して、MPEG2等の特定のフォーマットのビデオデータに変換し、それをデータストリーム962として提供する。
データがオーディオデータである場合、そのオーディオデータは、一般PCMオーディオデータとして、メモリ956内に格納される。データ符号変換モジュール954は、一般PCMデジタルオーディオデータを、MP3データ、MPEGオーディオデータ等に変換する。符号化チャネルデータ958にネットワークデータが含まれる場合、ストリーム・パージング・モジュール951は、そのネットワークデータを渡してメモリ956内に格納させる。データ符号変換モジュールは、ネットワークデータを取得して、データストリーム962として渡す。
図39に、マルチメディアサーバのホストとなる装置の要素に対して動作可能に接続されたチャネルミキサ980を示す。チャネルミキサ980は、上述のマルチメディアサーバにて用いられたチャネルミキサのいずれかであってもよい。ホスト装置には、システムバス976、ホストプロセッサ970、メモリブリッジ972、及びシステムメモリ974が、含まれている。ホスト装置は、パーソナルコンピュータ、ラップトップコンピュータ、衛星受信器、セットトップボックス、ホームシアター受信器、ラジオ受信器、VCR、DVD等であってもよい。
チャネルミキサ980には、複数のストリーム・パージング・モジュール951、メモリコントローラ952、及びデータ符号変換モジュール954が、含まれている。複数のストリーム・パージング・モジュール951は、同調モジュール984に対して動作可能に接続されている。同調モジュール984は、符号化チャネルデータ958をチャネルミキサ980に提供する。本実施形態では、各ストリーム・パージング・モジュール951が、個々のクライアントモジュールについての個々のチャネル選択要求を処理してもよい。
各ストリーム・パージング・モジュール951は、一般データ960を、メモリコントローラ952を通じてメモリ956に提供してもよい。符号変換モジュール954は、一般データ960をデータストリーム962に変換して、システムバス976を通じて送受信モジュール982に提供する。
送受信モジュール982には、クライアントモジュールへの伝送用のデータストリームを作成するエンコーダ及び変調器が、含まれている。さらに、符号変換モジュール982には、複数のクライアントモジュールからチャネル選択コマンドを受信する復調器及びデコーダが、含まれている。
送受信モジュール982は、チャネル選択コマンドを、システムバスインタフェース977を通じてチャネルミキサ980に提供する。接続されることで、ホストプロセッサ970は、システムメモリ970内に格納されたアルゴリズムを通じて、マルチメディアサーバ用のシステム演算機能を実行してもよい。このようなシステムレベルの機能は、システムのマルチメディアリソースの割当、インターネットアクセスの管理、クライアント対クライアント通信、電話通信等であってもよい。このように、システムレベルの機能は、図57乃至図65を参照して詳述される。
図40に、上述のマルチメディアサーバのいずれかにて利用されうる他のチャネルミキサ1000の模式的ブロック図を示す。チャネルミキサ1000には、ストリーム・パージング・モジュール951が含まれ、さらに、複数のストリーム・パージング・モジュール951、デジタルアナログコンバータ1006、復号命令パケットモジュール998、IDCTモジュール1027、動作補償1023、及び符号変換モジュール954が、含まれてもよい。符号変換モジュール954には、ビデオ信号用としては、MPEG復号モジュール1004及びMPEG符号化モジュール1002が、含まれる。オーディオ信号用としては、符号変換モジュール954には、PCM復号モジュール及びPCM符号化モジュールが、含まれてもよい。
MPEG符号化モジュール1002には、緩衝動作予測部1018、離散コサイン変換モジュール1020、量子化部1022、ジグザグモジュール1021、ハフマンエンコーダ1024、及び出力ビットバケット1026が、含まれている。MPEG復号モジュール1004には、ジグザグ解除及び量子化解除モジュール1010、逆離散コサイン変換モジュール1012、マクロブロックバッファ1014、動作補償及び変倍モジュール1016が、含まれている。動作補償及び変倍モジュール1016並びに緩衝動作予測1018の機能は、ともに係属中の特許出願で名称が、ADAPTIVE BANDWIDTH FOOTPRINT MATCHING FOR MULTIPLE COMPRESSED VIDEO STREAMS IN A FIXED BANDWIDTH NETWORK及びDEVICE AND METHOD FOR COMPRESSION OF A VIDEO STREAMであって、処理番号がVIXS001及びVIXS002であるものに、詳述されている。MPEG復号モジュール1004及びMPEG符号化モジュール1002は既知であるため、本発明の概念を詳述すること以外には、さらなる説明はなされない。
各ストリーム・パージング・モジュール951には、プロセッサ992、入力ビットバケット996、メモリコントローラ952、メモリ956、複数のビットストリームモジュール990、直接メモリアクセスインタフェース1028、及びハフマンデコーダ1008が、含まれている。各ビットストリームモジュール990には、インタプリタ994が含まれている。動作の際、各ビットストリームモジュール990は、符号化チャネルデータ958における関心のある1つのチャネルを処理するように、動作可能に接続されている。インタプリタ994は、個々のビットストリームモジュールが処理すべきなのはどのチャネルであるかを特定するために、利用される。そして、ビットストリームモジュールは、他の全てが除去されるように関心のあるチャネルをフィルタ処理する。各ビットストリームモジュール990からの出力は、メモリコントローラ952を通じてメモリ956内に格納される。
プロセッサ992は、関心のある各チャネルのデータを、メモリ956から取得して、一般データ960に変換する。プロセッサ992は、一般データ960を、メモリコントローラを通じてメモリ956内に格納させる。プロセッサ992は、入力ビットバケット996を利用して、ビットストリーム方式で、メモリ956からデータのバイトを取得してもよい。このように、入力ビットバケット996は、メモリ内に格納されているデータバイトを、プロセッサ996により処理されるデータビットに変換する機能を、実行する。入力ビットバケット996は、プロセッサ992によりメモリ956から任意の型のデータを取得するために、利用されてもよい。
MPEG符号化モジュール1002は、デコーダ命令パケットモジュール998の制御下で、一般データ960を取得する。緩衝動作予測部1018は、一般データ960を受信して、そこから動作補償データを生成する。動作補償データは、DCTモジュール1020に対して提供される。このDCTモジュール1020は、データに対して離散コサイン変換を実行し、DCTデータを生成する。量子化及びジグザグモジュール1022は、DCTデータを受信して、ハフマンエンコーダ1024に提供する前に、それを量子化してジグザグ処理する。ハフマンエンコーダは、そのデータをエンコードして、特定のフォーマットのデータを生成する。そのデータは、出力ビットバケット1026を通じて、メモリコントローラ952を通じて、メモリ956へと戻される。出力ビットバケット1026は、ハフマンエンコーダ1024から受信したビットを変換し、データのバイトとしてメモリコントローラ952に提供する。
メモリコントローラ952は、MPEG符号化データをメモリ956から取得して、データストリーム962として、DMAインタフェース1028を通じてシステムバス976に提供する。送受信モジュールは、データストリーム962をシステムバスから取得して、上述のように処理する。
MPEGデコーダモジュール1004は、入力MPEGデータを復号して一般データ960を生成するため、及び/又はクライアントモジュールから受信したMPEG符号化データを復号するために、利用されてもよい。MPEG復号モジュール1004は、復号命令パケットモジュール998の命令の下で、MPEG符号化データを受信し、ジグザグ解除及び量子化解除モジュール1010を通じて、ジグザグ解除するとともに量子化解除する。ジグザグ解除及び量子化解除されたデータは、IDCTモジュール1012に提供される。このIDCTモジュール1012は、そのデータに対して、逆離散コサイン変換機能を実行する。そして、得られたデータは、マクロブロックバッファ1014へと提供されるか、あるいは、メモリコントローラ952を通じてメモリ956へと提供される。動作補正及び変倍モジュール1016は、デコーダ命令パケットモジュール998の制御下で、マクロブロックバッファ1014又はメモリ956からデータを取得して、動作補償及び変倍機能を実行する。そして、得られたデータは、メモリ956又はMPEG符号化モジュール1002へと戻される。
デジタルアナログコンバータ1006は、データストリーム962を受信してアナログ信号1030に変換するように、動作可能に接続されている。アナログ信号1030は、現在でもデータをアナログフォーマットで送受信している従来型のクライアント装置に対して、提供されてもよい。
図41に、上述のマルチメディアサーバのいずれかにて利用されうる他のチャネルミキサ1040の模式的ブロック図を示す。チャネルミキサ1040には、処理モジュール1042及びメモリ1044が、含まれている。処理モジュール1042は、単一の処理装置又は複数の処理装置であってもよい。このような処理装置は、マイクロプロセッサ、マイクロコントローラ、マイクロコンピュータ、中央処理装置、デジタル信号プロセッサ、プログラム可能ゲートアレイ、論理回路、ステートマシン、及び/又は、信号(アナログ及び/又はデジタル)を動作命令に基づいて処理する任意の装置であってもよい。メモリ1044は、単一の記憶装置又は複数の記憶装置であってもよい。このような記憶装置は、読出専用メモリ、ランダムアクセスメモリ、システムメモリ、フラッシュメモリ、磁気テープメモリ、ハードドライブメモリ、及び/又はデジタル情報を格納する任意の装置であってもよい。なお、処理モジュール1042が、その機能の1つ又はそれ以上をステートマシン又は論理回路を通じて実行する場合、対応する動作命令を格納したメモリは、ステートマシン又は論理回路を構成している回路内に組み込まれている。チャネルミキサ1040は、既出の図面にて概説されたようにその機能を実行し、さらに、図42乃至図49にて詳述されるようにその機能を実行する。
図42に、マルチメディアシステム内のチャネルをミキシングする方法の論理図を示す。処理は、ステップ1050にて開始する。このステップ1050では、チャネルの組が、符号化チャネルデータとして受信される。そして、処理は、ステップ1051に進む。このステップ1051では、チャネルミキサは、符号化チャネルデータを解釈して、当該チャネルミキサが処理している特定の各チャネル選択要求について、関心のあるチャネルを特定する。例えば、チャネルの組は、符号化チャネルデータを含んだパケットとして、同調モジュールから受信されてもよい。各パケットには、ヘッダ部及びペイロード部が含まれている。符号化チャネルデータは、ヘッダ部を検討して関心のある個々のチャネルを特定することにより、解釈されてもよい。関心のあるチャネルは、チャネルデータの送信元の識別情報、要求元のクライアントの識別情報、及び/又はチャネル要求を処理しているマルチメディアリソースに基づき、特定されてもよい。
関心のあるチャネルが圧縮ビデオチャネルのグループ内に含まれている場合、MPEG2符号化ビデオデータの場合のように、関心のあるチャネルは、圧縮ビデオチャネルのグループの1つから、符号化チャネルデータを伝送しているパケット内に含まれたヘッダ情報に基づき、取得される。関心のある個々のチャネルの特定後、それは、圧縮ビデオチャネルのグループから分離される。
ステップ1051の解釈については、ステップ1056〜1060を参照して詳述される。ステップ1056では、チャネルミキサは、符号化チャネルデータを解釈して、チャネルの組から、関心のある一連のチャネルを、対応する一連のチャネル選択要求に基づいて特定する。すなわち、チャネルミキサは、処理中の各チャネル選択要求について、関心のある各チャネルを特定する。そして、処理は、ステップ1058に進む。このステップ1058では、チャネルミキサは、関心のある一連のチャネルの各々のデータを、チャネルの型に基づいて処理して、一連の一般データを生成する。チャネルの型は、オーディオデータ、ビデオデータ、テキストデータ、及び/又はそれらの組み合わせであってもよい。そして、処理は、ステップ1060に進む。このステップ1060では、一連の一般データがデータストリームへと変換される。
単一のチャネル選択要求の処理を伴う図42のメインのフローを再び参照すると、処理はステップ1052に続き、このステップ1052では、チャネルミキサは、関心のあるチャネルデータをチャネルの型に基づいて処理して、一般データを生成する。処理には、データをデコードし、データをフィルタ処理して関心のある個々のチャネルを分離してから、そのデータをデータの型に基づいて一般データに変換することが、含まれてもよい。例えば、データの型がマルチチャネル圧縮ビデオである場合、処理には、マルチチャネル圧縮ビデオをフィルタ処理して関心のあるチャネルを生成することが、含まれる。そして、関心のあるチャネルは、一般データへと変換され、それは、図43及び図44を参照して詳述される。
データの型の例について続けると、処理には、データの型が単一チャネル圧縮ビデオを関心のあるチャネルとして渡すことが含まれる。データの型がマルチチャネルデジタルビデオデータである場合、そのマルチチャネルデジタルビデオデータはフィルタ処理されて、関心のあるチャネルが生成され、データの型が単一チャネルデジタルビデオデータである場合、それは、関心のあるチャネルとして渡され、データの型がマルチチャネルデジタルオーディオである場合、それはフィルタ処理されて、関心のあるチャネルが生成され、データの型が単一チャネルデジタルオーディオである場合、それは関心のあるチャネルとして渡され、データの型がネットワーク搬送データである場合、それは関心のあるチャネルとして渡され、このように、関心のあるチャネルは、一般データへと変換される。そして、処理は、ステップ1054に進む。このステップ1054では、一般データは、データストリームへと変換される。
図43に、図42のステップ1052にて概説された関心のあるチャネルのデータの処理を詳述する方法の論理図を示す。処理は、ステップ1070〜1082のいずれか1つ又はそれ以上にて、なされてもよい。ステップ1070では、チャネルミキサは、データの型がマルチチャネル圧縮ビデオである場合、関心のあるチャネルのビデオデータを、一般ビデオデータへと変換する。通例、マルチチャネル圧縮ビデオは、衛星接続を通じて受信される。そこでは、データは、MPEG、又は他のMPEG規格符号化である。
ステップ1072では、チャネルミキサは、データの型が単一チャネル圧縮ビデオである場合、関心のあるチャネルのビデオデータを、一般ビデオデータに変換する。単一チャネル圧縮ビデオは、DVDプレイヤ、又は、MPEG2の単一チャネル若しくは他のMPEG規格の符号化ビデオデータを生成する他の送信元からのものであってもよい。
ステップ1074では、チャネルミキサは、データの型がマルチチャネルデジタルビデオデータである場合、関心のあるチャネルのビデオデータを、一般データに変換する。マルチチャネルデジタルビデオデータは、複数のNTSCテレビチューナ等から受信されてもよい。
ステップ1076では、チャネルミキサは、データの型が単一チャネルデジタルビデオデータである場合、関心のあるチャネルのビデオデータを、一般ビデオデータに変換する。単一チャネルデジタルビデオデータは、VCRの出力、DVDプレイヤの出力、テレビの標準的なアンテナ又はケーブル接続、NTSCテレビチューナ等として、受信される。
ステップ1078では、チャネルミキサは、データの型がマルチチャネルデジタルオーディオである場合、関心のあるチャネルのオーディオデータを、一般データに変換する。マルチチャネルデジタルオーディオ信号は、衛生放送、又は、CDプレイヤ、DVDオーディオプレイヤ等の複数のデジタルオーディオ送信元から、受信されてもよい。
ステップ1080では、チャネルミキサは、オーディオデータの型が単一チャネルデジタルオーディオである場合、関心のあるチャネルのオーディオデータを、一般オーディオデータに変換する。単一チャネルデジタルオーディオは、CDプレイヤ、MP3プレイヤ、デジタルオーディオを格納したシステムメモリ、DVDオーディオプレイヤ等から受信されてもよい。
ステップ1082では、チャネルミキサは、処理されているデータがネットワークデータである場合、ネットワークデータを、関心のあるチャネルとして渡す。ネットワークデータは、インターネットにアクセス、PSTNを通じての電話の通話に参加、及び/又はクライアント対クライアント通信をしている1つ又はそれ以上のクライアントモジュールに対応している。
図44に、データが一般データへと変換される場合の図42のステップ1052のデータ処理をさらに規定する論理図を示す。これは、ステップ1084〜1092の1つ又はそれ以上にて、なされてもよい。
ステップ1084では、チャネルミキサは、関心のあるチャネルのビデオデータを、MPEGフォーマットビデオデータに変換する。ビデオデータは、多重圧縮ビデオ、単一チャネル圧縮ビデオ、マルチチャネルデジタルビデオデータ、及び/又は単一チャネルデジタルビデオデータであってもよい。
ステップ1086では、チャネルミキサは、関心のあるチャネルのビデオデータを、JPEGフォーマットビデオデータに変換する。ステップ1088では、チャネルミキサは、関心のあるチャネルのビデオデータを、M−JPEGフォーマットビデオデータに変換する。
ステップ1090では、チャネルミキサは、関心のあるチャネルのビデオデータを、デジタルRGBビデオデータに変換する。デジタルRGBデータは、マルチメディアサーバにおける対応する記憶装置内に格納されたり、ホストのシステムメモリ内に格納されたりしてもよい。
ステップ1092では、チャネルミキサは、関心のあるチャネルのビデオデータを、デジタルYCBCRビデオデータに変換する。デジタルYCBCRデータは、マルチメディアサーバにおける対応する記憶装置内に格納されたり、ホストのシステムメモリ内に格納されたりしてもよい。
当該技術における平均的技能を有する者には理解されるように、複数のマルチメディア送信元から到来するビデオデータは、デジタルオーディオMPEG1、MPEG2等、アナログフォーマット等、様々なビデオフォーマットであってもよい。様々なフォーマットのビデオデータは、チャネルミキサにより、一般的なビデオフォーマットへと変換される。一般的なビデオフォーマットは、MPEG、JPEG、M−JPEG、デジタルRGBビデオデータ、デジタルYCBCRビデオデータ、及び/又は、ビデオ情報をデジタルフォーマットで格納する他の従来技術であってもよい。
図45に、オーディオデータが一般オーディオデータへと変換される場合の図42のステップ1052の処理をさらに規定する方法の論理図を示す。処理は、ステップ1100〜1104の1つ又はそれ以上を実行することにより、なされてもよい。
ステップ1100では、チャネルミキサは、関心のあるチャネルのオーディオデータを、MPEGフォーマットオーディオデータに変換する。ステップ1102では、チャネルミキサは、関心のあるチャネルのオーディオデータを、MP3フォーマットオーディオデータに変換する。ステップ1104では、チャネルミキサは、関心のあるチャネルのオーディオデータを、PCMデジタルオーディオデータに変換する。
当該技術における平均的技能を有する者には理解されるように、マルチメディアサーバは、様々なオーディオデータフォーマットの複数のオーディオ信号を受信してもよい。チャネルミキサは、様々なオーディオデータフォーマットを、MPEGオーディオ、MP3オーディオ、及び/又はPCMデジタルオーディオ等の単一のオーディオフォーマットに変換する。当該技術における平均的技能を有する者にはさらに理解されるように、ビデオデータ及びオーディオデータを一般的なフォーマットに変換することにより、マルチメディアサーバは、それを、より容易に処理することができる。一般データを、複数のクライアントへの送信前に、特定のフォーマット(例えばMPEG2ビデオ及びオーディオ)のデータに変換するための一般データの処理が、概説された。
図46に、図42のステップ1054における一般データのデータストリームへの変換をさらに説明する方法の論理図を示す。処理は、ステップ1110にて開始する。このステップ1110では、チャネルミキサは、関心のあるチャネルのデータの型を特定する。そして、処理はステップ1112へと進む。このステップ1112では、チャネルミキサは、データの型に基づいて一般データをデータストリームに変換する。ステップ1112での変換処理は、ステップ1114〜1126の1つ又はそれ以上にて詳述されうる。
ステップ1114では、チャネルミキサは、元々のデータがマルチチャネル圧縮ビデオである場合、関心のあるチャネルの一般ビデオデータを、特定のビデオデータに変換する。特定のビデオデータは、MPEG2規格、MPEG1規格、及び/又は他のMPEG規格、あるいは、デジタルビデオを伝送するための他の規格の処理に準拠していてもよい。
ステップ1116では、チャネルミキサは、元々のデータが単一チャネル圧縮ビデオ信号である場合、関心のあるチャネルの一般ビデオデータを、特定のビデオデータに変換する。ステップ1118では、チャネルミキサは、元々のデータがマルチチャネルデジタルビデオデータである場合、関心のあるチャネルの一般ビデオデータを、特定のビデオデータに変換する。ステップ1120では、チャネルミキサは、元々のデータが単一チャネルデジタルビデオデータである場合、関心のあるチャネルの一般ビデオデータを、特定のビデオデータに変換する。
ステップ1122では、チャネルミキサは、元々のデータがマルチチャネルデジタルオーディオである場合、関心のあるチャネルの一般オーディオデータを、特定のオーディオデータに変換する。ステップ1124では、チャネルミキサは、データの型が単一チャネルデジタルオーディオである場合、関心のあるチャネルの一般オーディオデータを、特定のオーディオデータに変換する。なお、特定のオーディオデータは、MPEG2フォーマット、MP3フォーマット、PCM符号化オーディオ等に準拠していてもよい。
ステップ1126では、チャネルミキサは、関心のあるチャネルのネットワーク搬送データを、特定のフォーマットへと変換せずに渡す。それに応じて、ネットワークデータは、チャネルミキサを通じて、特定のフォーマットへの変換なしに渡されるが、それは、関心のある他のチャネルとミキシングされて、チャネルデータストリームが生成される。
図47に、関心のあるチャネルの一般ビデオデータをMPEG2特定ビデオデータフォーマットに変換する方法の論理図を示す。処理はステップ1130にて開始する。このステップ1130では、チャネルミキサは、一般ビデオデータに対して動作予測を実行して、動作予測データを生成する。そして、処理は、ステップ1132に進む。このステップ1132では、チャネルミキサは、動作予測データに対して離散コサイン変換を実行して、DCTデータを生成する。そして、処理はステップ1134に進む。このステップ1134では、チャネルミキサは、DCTデータを量子化して、量子化データを生成する。そして、処理はステップ1136に進む。このステップ1136では、チャネルミキサは、量子化データをジグザグ処理して、ZZデータを生成する。そして、処理は、ステップ1138に進む。このステップ1138では、チャネルミキサは、ZZデータをハフマン符号化して、MPEG2特定ビデオフォーマットデータを生成する。当該技術における平均的技能を有する者には理解されるように、ステップ1130〜1138は、当該技術では既知であるため、本発明の概念をさらに説明するため以外には、さらなる説明はなされない。
図48に、図42のステップ1052の処理をさらに規定する論理図を示す。処理は、ステップ1140にて開始する。このステップ1140では、チャネルミキサは、関心のあるチャネルが圧縮ビデオ信号であって多くの圧縮ビデオチャネルの1つである場合、多重チャネル処理を示す制御信号を受信する。そして、処理はステップ1142に進む。このステップ1142では、チャネルミキサは、多重圧縮ビデオチャネルを復元して、多重チャネルを生成する。そして、処理はステップ1144に進む。このステップ1144では、チャネルミキサは、多重チャネルのデータをチャネルの型に基づいて処理して、多重一般データを生成する。そして、処理はステップ1146に進む。このステップ1146では、チャネルミキサは、多重一般データをデータストリームに変換する。
当該技術における平均的技能を有する者には理解されるように、通例、衛星接続又は他の型の接続を通じて受信されたMPEG符号化ビデオには、通例の6MHz帯域内に多重チャネルが含まれている。このように、多重チャネルは、通例の信号チャネル帯域内にて受信される。このように、単一チャネル帯域内のチャネルのビデオが復元されて、実際のビデオデータが取得される。そこから、関心のあるチャネルが抽出されて、処理されてもよく、あるいは、その帯域内の全チャネルがデータストリームへと処理されてもよい。
当該技術における平均的技能を有する者にはさらに理解されるように、データストリームは、実質的に、関心のある各チャネルについて、特定のフォーマットのビデオデータを多重化したものである。このように、関心のある2つのチャネルが複数のクライアントモジュールへと伝送される場合、各チャネルには、データストリームのほぼ50%が含まれる。それに対応して、関心のあるいくつものチャネルが処理されると、データストリームにおける対応する割合は減少するが、比例して減少する。
図49に、マルチメディア通信システム内での信号のチャネルミキシング方法の代替的な論理図を示す。処理はステップ1150にて開始する。このステップ1150では、チャネルミキサは、チャネルの組を符号化チャネルデータとして受信する。そして、処理は、ステップ1152に進む。このステップ1152では、チャネルミキサは、符号化チャネルデータを解釈して、チャネルの組の中に含まれた関心のある個々のチャネルのデータの型を特定する。この解釈は、複数のクライアントの1つを通じて受信された特定のチャネル選択要求に基づいてなされる。符号化チャネルデータは、パケット及び/又はフレームで受信されてもよい。なお、パケット及びフレームには、各々、チャネルミキサが関心のある個々のチャネルを適切に特定できるように識別情報を提供するヘッダ部が、含まれている。そのうえ、符号化チャネルデータの解釈には、複数のチャネルから関心のあるチャネルを抽出するためのフィルタ処理要件を判別することが、さらに含まれる。
処理はステップ1154に進む。このステップ1154では、チャネルミキサは、データの型に基づき、チャネルの組から、関心のあるチャネルを分離する。そして、処理はステップ1156に進む。このステップ1156では、チャネルミキサは、データの型に基づき、関心のあるチャネルのデータを処理して、一般データを生成する。この処理は、図43乃至図46を参照して上述されたものである。そして、処理は、ステップ1158に進む。このステップ1158では、チャネルミキサは、一般データをデータストリームに変換する。これは、図46及び図47を参照して上述されたものである。
図50に、クライアント装置に対して動作可能に接続されたクライアントモジュール1160の模式的ブロック図を示す。クライアントモジュール1160は、図1乃至図11に示したクライアントモジュールのいずれかであってもよい。クライアントモジュール1100には、ビデオデコーダ1162及び/又は描画モジュール1164、組込式のダイナミック・ランダムアクセスメモリ(DRAM)1168、並びに、ネットワークインタフェースコントローラ1166が、含まれている。クライアント装置には、クライアントシステムバス1172、クライアントプロセッサ1174、メモリブリッジ1176、及びクライアントシステムメモリ1178が、含まれている。クライアント装置は、ラップトップコンピュータ、パーソナルコンピュータ、パーソナルデジタルアシスタント、CRTモニタ、フラットパネルモニタ、テレビ、高品位テレビ、SDTV、ホームシアターシステム、並びに/又は、対応するオーディオ及び/若しくはビデオディスプレイを有する装置であってもよい。
クライアントモジュール1160は、システムバスインタフェース1170を通じて、クライアントシステムバス1172に対して動作可能に接続されている。システムバスインタフェース1170は、クライアントモジュール1180を、クライアント装置の外部シリアル及び/若しくはパラレルポート、並びに/又はクライアント装置内の内部インタフェースに、接続してもよい。このような外部インタフェースとしては、ユニバーサルシリアルバス(USB)、シリアルポート、IRポート、パラレルポート等がある。内部接続としては、PCIバス、AC97インタフェース、及び/又は、周辺要素がホスト装置のメモリブリッジのインタフェースをとれるようにするあらゆるインタフェースがある。
ネットワークインタフェースコントローラ1166は、マルチメディアサーバに対して動作可能に接続されている。なお、マルチメディアサーバは、図1乃至図11に示したマルチメディアサーバのいずれかであってもよい。ネットワークインタフェースコントローラ1166は、マルチメディアサーバからパケット及び/又はフレームを受信して、関心のあるチャネル1184用のデータ1186を抽出する。実質的に、ネットワークインタフェースコントローラ1166は、マルチメディアサーバとの通信経路上のパケットを監視して、クライアントモジュール1160をアドレス指定しているパケットを特定する。このようなパケット及び/又はフレームが特定されると、ネットワークインタフェースコントローラは、フレーム及び/又はパケットからデータ1186を抽出し、そのデータをビデオデコーダ1162及び/又は描画モジュール1166に提供する。
ビデオデコーダ1162はデータ1186を復号して、表示データを生成する。表示データは、組込メモリ1168内に格納されてもよい。描画モジュール1164は、組込メモリ1168から表示データを取得し、それを、描画ビデオ画像1188としてクライアント装置に提供する。このように、描画モジュール1164は、クライアント装置のディスプレイによる表示用のデータを作成する。
図51に、図1乃至図11に示したクライアントモジュールのいずれかを実装するのに用いられうるクライアントモジュール1175のより詳細な模式的ブロック図を示す。クライアントモジュール1175には、描画モジュール1164、メモリコントローラ1216、記憶装置1168、内部バス1201、ビデオデコーダ1162、ネットワークインタフェースコントローラ1166、要求モジュール1212、ビデオプロセッサ1198、ビデオカメラ1196、少なくとも1つのスピーカ1214、マイクロフォン1194、及びオーディオプロセッサ1192が、含まれる。ビデオデコーダ1162には、ハフマンデコーダ1202、ジグザグ解除及び量子化解除モジュール1204、逆離散コサイン変換モジュール1206、マクロブロックバッファ1208、並びに、動作補償及び変倍1210が、含まれている。ビデオデコーダ1162の機能は既知であるので、ビデオデコーダ又はその要素についてのさらなる説明は、本発明の概念をさらに説明するため以外には、なされない。
ネットワークインタフェースコントローラ1166には、送受信モジュール1190及び受信モジュール1200が、含まれている。受信モジュール1200は、符号化チャネルデータ1180を受信する。なお、符号化チャネルデータ1180は、パケット形式又はフレーム形式であってもよい。受信モジュールは、パケット及び/又はフレームを解釈して、関心のある個々のチャネル1184用のデータ1186を抽出する。抽出されたデータは、記憶用のバス1201及びRAM1168上に置かれる。データ1186は、実質的に、ビデオデコーダ1162によりメモリ1168から受信されて、復号ビデオデータが生成される。復号ビデオデータは、メモリ1168内にもう一度格納される。描画モジュール1164は、実質的に、メモリから1168から符号化ビデオデータを取得し、それを処理して、描画ビデオ画像1188を生成する。そして、描画ビデオ画像1188は、後の表示用に、クライアントシステムバス1172へと提供される。なお、クライアント装置には、ディスプレイが含まれている。このディスプレイにはビデオディスプレイ及び/又はオーディオディスプレイが、含まれている。
符号化チャネルデータ1180に、クライアントモジュール1175用のオーディオデータのフレーム及び/又はパケットが含まれている場合、受信モジュール1200は、そのオーディオデータを、オーディオプロセッサ1192に提供する。オーディオプロセッサ1192には、出力用のオーディオデータがよい。作成されたオーディオデータは、その後の再生用に1168内に格納されるか、あるいは、クライアントシステムバス1172に対して提供される。
さらに、オーディオプロセッサ1192は、マイクロフォン1194を通じて、オーディオ信号を受信する。オーディオプロセッサ1192は、マイクロフォン1194からのオーディオ信号を処理して、クライアントシステムバス1172又はメモリ1168に提供する。マイクロフォン1194からのオーディオデータが、マルチメディアサーバへと伝送されるべきものであれば、送信モジュール1190は、オーディオデータを1168から取得して、マルチメディアサーバに提供する。
要求モジュール1212は、クライアント装置から選択要求を受信する。上述の如く、選択要求により、クライアントがマルチメディアサーバからアクセスしようとしている、関心のある個々のチャネルが、特定される。送信モジュール1190は、通信経路を通じてマルチメディアサーバへと伝送するための選択要求を作成する。送信モジュール1190は、マルチメディア通信システムのデータ伝送プロトコルに準拠した符号化及び/又は変調方式を利用する。
また、クライアントモジュール1175には、ビデオカメラ1196からビデオプロセッサ1198を通じて受信するためのインタフェースが、含まれてもよい。ビデオプロセッサ1198は、ビデオカメラ1196からのビデオ信号を処理して、クライアントシステムバス1172に提供するか、あるいは、RAM1168内に格納する。格納されたビデオ信号が、マルチメディアサーバへと提供されるものである場合、送信モジュール1190は、そのビデオデータをRAM1168から取得して、送信用に処理する。送信用のビデオデータの準備は、マルチメディア通信システム内で用いられているデータ伝送プロトコルに基づいてなされる。当該技術における平均的技能を有する者には理解されるように、メモリコントローラ1216は、RAM1168に対するデータの読取及び書込を制御する。また、当該技術における平均的技能を有する者には理解されるように、クライアントモジュール1175は、オーディオプロセッサ1192及び/又はビデオプロセッサ1198に対する接続用のインタフェースを有していてもよい。なお、このような装置は、クライアント装置内に含まれていてもよい。
図52に、クライアントモジュール1220の模式的ブロック図を示す。クライアントモジュール1220は、図1乃至図11に示したクライアントモジュールのいずれかを実装するために、用いられてもよい。クライアントモジュール1220には、処理モジュール1222及びメモリ1224が、含まれている。処理モジュール1222は、図11のクライアントモジュールにて用いられている処理モジュール364と同様であってもよく、メモリ1224は、図11のクライアントモジュールにて用いられているメモリ366と同様であってもよい。処理モジュール1222は、単一の処理装置又は複数の処理装置であってもよい。このような処理装置は、マイクロコントローラ、マイクロコンピュータ、マイクロプロセッサ、デジタル信号プロセッサ、中央処理装置、プログラム可能ゲートアレイ、ステートマシン、論理回路、及び/又は、信号(アナログ及び/又はデジタル)を動作命令に基づいて操作する任意の装置であってもよい。メモリ1224は、単一の記憶装置又は複数の記憶装置であってもよい。このような記憶装置は、読出専用メモリ、ランダムアクセスメモリ、システムメモリ、フロッピーディスクメモリ、ハードドライブメモリ、磁気テープメモリ、フラッシュメモリ、及び/又はデジタル情報を格納する任意の装置であってもよい。なお、処理モジュール1222が、その機能の1つ又はそれ以上をステートマシン又は論理回路を通じて実行する場合、対応する動作命令を格納したメモリは、ステートマシン及び/又は論理回路を構成している回路内に組み込まれている。処理モジュール1222により実行されるとともにメモリ1224内に格納されている動作命令は、図53乃至図56に示した論理図として説明される。
図53に、クライアントモジュール内のデータ処理方法の論理図を示す。処理は、ステップ1240にて開始する。このステップ1240では、クライアントモジュールは、関心のあるチャネルを特定したチャネル選択要求を送信する。そのチャネル選択要求は、マルチメディアサーバに対して提供される。次に、このマルチメディアサーバは、チャネルデータストリームを提供することにより応答する。なお、チャネルデータストリームの少なくとも一部には、関心のあるチャネルに対応したデータが、含まれている。
処理は、ステップ1230にて続行する。このステップ1230では、クライアントモジュールは、チャネルの組を、データストリームとしてマルチメディアサーバから受信する。この受信には、データストリームを復号して、関心のあるチャネル(すなわち、クライアントモジュールのクライアントにより要求されたものに対応したチャネル)を再現することが、さらに含まれる。その復号としては、多重レベル復号、非ゼロ復帰復号、位相復号、ブロック復号、及び/又はnB/mB復号(ここでn<m)等の1つ又はそれ以上がある。
そして、処理はステップ1232に進む。このステップ1232では、クライアントモジュールは、データストリームのセグメントを解釈して、関心のあるチャネルに対応したデータを特定する。セグメントは、ヘッダ情報を含んだフレーム及び/又はパケットであってもよい。ヘッダ情報には、クライアントモジュールが、該クライアントモジュール宛の個々のパケット及び/又はフレームを容易に特定可能なように、クライアントモジュールの識別情報、データの送信元等が、含まれる。そして、処理は、ステップ1234に進む。このステップ1234では、クライアントモジュールは、関心のあるチャネルのデータを解釈して、データの型を特定する。なお、データの型は、オーディオデータ、ビデオデータ、及び/又はテキストデータであってもよい。
そして、処理はステップ1236に進む、このステップ1236では、クライアントモジュールは、データの型に基づき、関心のあるチャネルのデータを処理して、処理済データを生成する。そして、処理は、ステップ1238に進む。このステップ1238では、クライアントモジュールは、クライアントに対して、処理済データを表示用に提供する。 図54に、図53のステップ1236及びステップ1238を詳述する方法の論理図を示す。処理は、ステップ1250にて開始する。このステップ1250では、データの型が判別される。データの型は、ビデオデータ、アプリケーションデータ、及び/又はオーディオデータであってもよい。ビデオデータについては、処理はステップ1252に進む。このステップ1252では、クライアントモジュールは、関心のあるチャネルのデータを、YUVデータ及び/又はRGBデータに変換する。データがMPEGフォーマットにて受信された場合、変換は、ステップ1260〜1268に示すようになされる。ステップ1260では、クライアントモジュールは、ハフマンデコーダを利用して、ビデオを復号する。そして、処理は、ステップ1262に進む。このステップ1262では、ハフマン復号データがジグザグ解除される。
そして、処理は、ステップ1264に進む。このステップ1264では、ジグザグ解除データが量子化解除される。そして、処理はステップ1266に進む。このステップ1266では、量子化解除データに対して逆離散コサイン変換機能が実行される。そして、処理はステップ1268に進む。このステップ1268では、IDCTデータに対して動作補償及び/又は変倍が実行されて、YUVデータが生成される。そして、YUVデータは、RGBデータへと変換されて、メモリ内に格納されてもよい。当該技術における平均的技能を有する者には理解されるように、YUVデータ及びRGBデータの双方が、クライアントモジュール及び/又は対応するクライアント装置により使用されるために、維持されてもよい。
ビデオデータ処理のフローを再び参照すると、処理はステップ1254にて続行する。このステップ1254では、YUVデータ及び/又はRGBデータが、処理済データとしてフレームバッファ(例えば、クライアントモジュールのメモリ及び/又はクライアント装置のメモリ)内に格納される。そして、処理はステップ1256に進む。このステップ1256では、クライアントモジュールは、YUVデータ及び/又はRGBデータを、取得済表示データを生成するための表示速度で、フレームバッファから取得する。そして、処理はステップ1258に進む。このステップ1258では、クライアントモジュールは、取得済表示データを表示用に描画する。描画データは、後の表示のためにクライアントモジュールに対して提供される。
データの型がオーディオデータである場合、処理はステップ1280に進む。ステップ1280では、クライアントモジュールは、関心のあるチャネルのデータをPCMデータに変換する。そして、処理はステップ1282に進む。このステップ1282では、クライアントモジュールは、PCMデータを処理済データとしてフレームバッファ(クライアントモジュール内のRAM及び/又はクライアント装置のメモリ)内に格納する。そして、処理はステップ1284に進む。このステップ1284では、クライアントモジュールは、PCMデータを出力速度でフレームバッファから取得する。そして、処理はステップ1286に進む。このステップ1286では、クライアントモジュールは、取得済データを、クライアントモジュールに対応及び/又はクライアント装置内の少なくとも1つのスピーカアセンブリに提供する。
データの型がアプリケーションデータである場合、処理はステップ1270に進む。ステップ1270では、クライアントモジュールは、アプリケーションデータを処理済データとしてメモリ内に格納する。なお、アプリケーションデータは、インターネット接続、クライアント対クライアント通信、及び/又は電話通信を通じて受信されたデータに対応する。そして、処理はステップ1272に進む。このステップ1272では、クライアントモジュールは、処理済データをメモリから取得する。そして、処理はステップ1274に進む。このステップ1274では、クライアントモジュールは、処理済データをプロセッサに提供する。プロセッサは、クライアント装置内及び/又はクライアント装置内のプロセッサであってもよい。
そして、処理はステップ1276に進む。このステップ1276では、プロセッサは、処理済データからビデオデータを生成する。そして、処理はステップ1278に進む。このステップ1278では、ビデオデータが、クライアント装置による表示用に提供される。
図55及び図56に、クライアントモジュールがチャネル選択要求を提供してマルチメディアシステム内の対応するデータを受信する代替的な方法の論理図を示す。処理はステップ1290にて開始する。このステップ1290では、クライアントモジュールは、クライアントから入力信号を受信する。入力信号は、クライアントとのインタフェースで受信されてもよい。ここで、クライアントには、パーソナルコンピュータ、ラップトップコンピュータ、パーソナルデジタルアシスタント、ビデオ電話機、デジタル電話機、セルラ電話機、モニタ、CRTモニタ、LCDモニタ、テレビ、高品位テレビ、並びに/又は、ビデオ及び/若しくはオーディオ出力装置を含むあらゆる装置の少なくとも1つが、含まれている。さらに、クライアントモジュール間のクライアントとのインタフェースには、クライアント装置に対応したリモートコントロール装置が入力信号をクライアントモジュールに提供できるように、ワイヤレス通信経路が、含まれてもよい。
そして、処理は、ステップ1292に進む。このステップ1292では、クライアントモジュールは、入力信号を解釈して信号の型を判別する。そして、処理は、ステップ1294に進む。このステップ1294では、クライアントモジュールは、信号の型が、ビデオ、オーディオ、アプリケーション、制御のうちのどれであるかを判別する。信号の型がオーディオである場合、処理はステップ1296に進む。このステップ1296では、クライアントモジュールは、オーディオ信号を処理して一般オーディオデータを生成する。これは、ステップ1302に示すようになされてもよい。このステップ1302では、クライアントモジュールは、オーディオデータを、MPEGフォーマットオーディオデータ、MP3フォーマットオーディオデータ、及び/又はPCMデジタルオーディオデータに変換する。
そして、処理は、ステップ1298に進む。このステップ1298では、クライアントモジュールは、一般オーディオデータをデータストリームに変換する。これは、ステップ1304に示すようになされてもよい。このステップ1304では、クライアントモジュールは、データ伝送プロトコルに基づき、一般オーディオデータを符号化して、データストリームを生成する。その符号化の種類は、多重レベル符号化、非ゼロ復帰符号化、位相符号化、ブロック符号化、及び/又はnB/mB符号化(ここでn<m)等の1つ又はそれ以上であってもよい。
そして、処理は、ステップ1300に進む。このステップ1300では、クライアントモジュールは、データストリームをマルチメディアサーバへ送信する。データストリームの送信には、マルチメディア通信システムにより用いられているデータ伝送プロトコルに従って、データをパケット化及び/又はフレーム化することが、含まれる。さらに、データストリームの送信には、TDM、FDM、ASK、PSK等の変調方式を利用することが、含まれてもよい。
クライアントモジュールが、信号の型が制御信号であると判別した場合、処理はステップ1306に進む。このステップ1306では、クライアントモジュールは、制御情報がローカルコマンドに関係したものか、あるいは、システムレベルコマンドに関係したものか判別する。そして、処理はステップ1308に進む。このステップ1308では、クライアントモジュールは、システムレベルコマンドであるかローカルレベルコマンドであるか判別する。それがシステムレベルコマンドである場合、処理はステップ1310に進む。このステップ1310では、クライアントモジュールは、マルチメディアサーバへの伝送用の制御情報を処理して、制御メッセージを生成する。制御情報の処理には、マルチメディア通信システムのデータ伝送プロトコルに基づいて制御メッセージを符号化すること、並びに、データのパケット化及び/又はフレーム化とともに変調方式の利用を含むデータ伝送プロトコルを利用することが、含まれてもよい。なお、変調方式は、データパケットについては、CSMA、衝突回避付きCSMA、及び/又は衝突検知付きCSMA等であり、データフレームについては、時分割多重及び/又は周波数分割多重等である。
そして、処理はステップ312に進み、そこでは、クライアントモジュールは、制御メッセージをマルチメディアサーバへ送信する。制御メッセージには、チャネル選択要求が含まれてもよい。なお、チャネル選択要求は、クライアントモジュールによる処理のために、関心のある個々のチャネルを特定するものである。
制御情報の型がローカルコマンドに関するものである場合、処理はステップ1318に進む。この ステップ1318では、クライアントモジュールは、入力信号をローカルで処理して、関心のあるチャネルをクライアントに提供する。それに対応して、クライアントモジュールは、制御情報を解釈してもよい。なお、制御情報は、チャネル選択要求を含み、他のクライアントが既に特定のチャネルにアクセスしていることを判別する。このように、クライアントモジュールは、単に、他のクライアント宛てのチャネルデータを抽出して、それを自身のクライアントにサービスするために利用する。
クライアントモジュールが、信号の型がアプリケーションに関するものであると判別した場合、処理はステップ1314に進む。このステップ1314では、クライアントモジュールは、入力信号を処理して、処理済アプリケーションデータを生成する。アプリケーションデータは、電子メール及び/若しくはウェブブラウザ、電話通信、並びに/又はクライアント対クライアント通信等のネットワークアプリケーションに関するものでもよい。電話通信用のこのような処理には、送受話器がコードレス電話内で動作するのと同様の機能が、含まれてもよい。
インターネットアクセスにおけるデータ処理は、単に、入力選択の提供、及び/又は、ネットワークアプリケーションを実行するマルチメディアサーバからのデータ受信を行う端末として機能する。そして、処理はステップ1316に進む。このステップ1316では、クライアントモジュールは、処理済アプリケーションデータをマルチメディアサーバへ送信する。処理済アプリケーションデータは、マルチメディア通信システムのデータ伝送プロトコルに準拠して、フォーマットされている。なお、そのプロトコルには、符号化及び/又は変調方式が含まれる。
図56に示す如く、信号の型がビデオである場合、処理は、ステップ1320に進む。このステップ1320では、クライアントモジュールは、ビデオ信号を処理して一般ビデオデータを生成する。これは、ステップ1328〜1336に示した様々な方法の1つで実行されてもよい。ステップ1328では、クライアントモジュールは、関心のあるチャネルのビデオ信号をMPEGフォーマットビデオデータに変換する。ステップ1330では、クライアントモジュールは、関心のあるチャネルのビデオ信号をJPEGフォーマットビデオデータに変換する。ステップ1332では、クライアントモジュールは、関心のあるチャネルのビデオ信号をMPEGフォーマットビデオデータに変換する。ステップ1334では、クライアントモジュールは、関心のあるチャネルのビデオ信号をデジタルRGBビデオデータに変換する。ステップ1336では、クライアントモジュールは、関心のあるチャネルのビデオ信号をYCBCRビデオデータに変換する。当該技術における平均的技能を有する者には理解されるように、クライアントモジュールは、ビデオ及び/又はオーディオデータをマルチメディアサーバへと伝送する場合に、マルチメディアサーバが実行するのと同様の機能を実行する。
再び、ビデオデータのメインの処理に戻ると、処理は、ステップ1322にて続行する。このステップ1322では、クライアントモジュールは、一般ビデオデータをデータストリームに変換する。これは、ステップ1326に示すようになされてもよい。このステップ1326では、クライアントモジュールは、マルチメディアシステムのデータ伝送プロトコルに基づき、一般ビデオデータを符号化する。データ伝送プロトコルには、位相符号化、多重レベル符号化等の特定の種類の符号化、及び、FDMA、TDMA、CSMA、衝突回避付きCSMA、及び/又は衝突検知付きCSMA等の対応する変調方式が、含まれてもよい。そして、処理はステップ1324に進む。このステップ1324では、データストリームが、パケット又はフレームとして、マルチメディアサーバへと送信される。
図57に、マルチメディアが、複数のクライアントモジュール用のハブベースネットワークアクセスモジュールとして機能する方法の論理図を示す。図57に示した処理ステップは、図58乃至図62と同様に、図2、図7、及び/又は図11のマルチメディアサーバにより、実行されてもよい。処理は、ステップ1340にて開始する。このステップ1340では、マルチメディアサーバは、複数のクライアントの少なくとも1つからパケットを受信する。そして、処理はステップ1342に進む。このステップ1342では、マルチメディアサーバは、ネットワークアクセスアプリケーションが特定のクライアントについて有効であるかどうか、判別する。そうでない場合、処理は、ステップ1344に進む。このステップ1344では、マルチメディアサーバは、クライアントのために、ネットワークアクセスアプリケーションを開く。
一旦、ネットワークアプリケーションが開かれるか、あるいは、そのアプリケーションが既に開かれている場合、処理は、ステップ1346に進む。このステップ1346では、マルチメディアサーバは、ネットワークアクセスアプリケーションに応じて、パケットの少なくとも1つのデータを処理して、ネットワークデータを生成する。ネットワークアクセスアプリケーションは、電子メールアプリケーション、ウェブブラウザアプリケーション、及び/又は、ユーザがインターネット又は他のワイドエリアネットワークにアクセスできるようにする任意のアプリケーションであってもよい。そして、処理は、ステップ1348に進む。このステップ1348では、マルチメディアサーバは、ネットワークデータ伝送用のネットワーク接続(例えばモデム)にどのようにアクセスするのかを判別する。ネットワーク接続へのアクセスは、「ネットワーク接続へのクライアントアクセス方式」に基づく。なお、これについては後述する。そして、処理は、ステップ1350に進む。このステップ1350では、マルチメディアサーバは、判別されたネットワークアクセスに基づき、ワイドエリアネットワークへのネットワーク接続を通じて、ネットワークデータを伝送する。
そして、処理はステップ1352に進む。このステップ1352では、マルチメディアサーバは、ネットワーク接続を通じて伝送されるネットワークデータの各パケットについて、宛先アドレス及び/又は送信元アドレスを記録する。記録をとることにより、マルチメディアサーバは、ワイドエリアネットワークを通じて応答を受信した場合に、受信データについて、マルチメディア通信システム内での適切な宛先を正確に把握することが可能となる。そして、処理はステップ1354に進む。このステップ1354では、マルチメディアサーバは、ネットワーク接続を通じてネットワークパケットを受信する。そして、処理は、ステップ1356に進む。このステップ1356では、マルチメディアサーバは、ネットワークパケットのヘッダ部を解釈して、ネットワークデータへの応答を特定する。その応答には、マルチメディア通信システム内の個々の宛先を特定する識別情報が、含まれている。そして、処理は、ステップ1358に進む。このステップ1358では、マルチメディアサーバは、ネットワークデータに対応した個々のクライアントに、ネットワークパケットを提供する。
図58に、図57のステップ1342に示したように、ネットワークアクセスアプリケーションが有効であるかどうかについての判別をさらに規定する論理図を示す。処理は、ステップ1360にて開始する。このステップ1360では、マルチメディアサーバは、クライアントから受信した少なくとも1つのパケットのヘッダ部を解釈して、個々のクライアントを特定する。そして、処理は、ステップ1362に進む。このステップ1362では、マルチメディアサーバは、ヘッダ部を解釈して、要求されている特定のネットワークアクセスの型を判別する。そして、処理はステップ1364に進む。このステップ1364では、マルチメディアサーバは、個々のクライアントの識別情報、及び、要求されているネットワークアクセスの型に基づき、ネットワークアプリケーションが有効であるかどうか判別する。
図59に、図58のステップ1362の特定の型のネットワークアクセスの判別用の論理図を示す。これは、ステップ1366又はステップ1368にて、なされてもよい。ステップ1366では、マルチメディアサーバは、少なくとも1つのパケットのヘッダ部を解釈して、電子メールネットワークアクセスを判別する。ステップ1368では、マルチメディアサーバは、1つ又は複数のパケットのヘッダ部を解釈して、ウェブブラウザネットワークアクセスを判別する。
図60に、図57の1348のネットワーク接続へのアクセスの判別をさらに説明する論理図を示す。これは、ステップ1370〜1378の1つ又はそれ以上にて、なされてもよい。ステップ1370では、マルチメディアサーバは、時分割多重アクセス方式を利用して、現在有効なネットワークアクセスアプリケーションを有するクライアントに対して、ネットワークへのアクセスを提供する。ステップ1372では、マルチメディアサーバは、キャリア感知多重アクセス処理を利用して、現在有効なネットワークアクセスアプリケーションを有するクライアント間のネットワーク接続へのアクセスを判別する。
ステップ1374では、マルチメディアサーバは、現在有効なネットワークアクセスアプリケーションを有するクライアント間で、トークン通過概念を利用して、ネットワーク接続へのアクセスを判別する。ステップ1376では、マルチメディアサーバは、現在有効な開いているネットワークアクセスアプリケーションを有する各クライアントについて、キュー方式を利用する。このキュー方式は、先入れ先出しバッファ機構に基づくものでもよい。ステップ1378では、マルチメディアサーバは、個々の要求を処理するチャネルミキサ内のリソースからのネットワーク接続へのアクセス要求に対して、応答する。
図61に、複数のクライアント用のハブベースのネットワークアクセス接続として機能するマルチメディアサーバ用の代替的な方法の論理図を示す。処理は、ステップ1380にて開始する。このステップ1380では、マルチメディアサーバは、複数のクライアントの少なくとも1つからパケットを受信する。そして、処理は、ステップ1382に進む、このステップ1382では、マルチメディアサーバは、各パケットを解釈して、パケットがクライアント対クライアントパケットであるか、ネットワークパケットであるか判別する。その解釈は、パケットのヘッダ部を検討することによりなされる。なお、パケットのヘッダ部には、クライアント対クライアントデータであるかネットワークデータであるかについての指定が、含まれている。
処理は、ステップ1384にて続行する。このステップ1384では、マルチメディアサーバは、パケットが、クライアント対クライアントに関するものか、ネットワークに関するものか、判別する。クライアント対クライアントデータについては、処理はステップ1386に進む。このステップ1386では、マルチメディアサーバは、パケットを処理して処理済クライアントパケットを生成する。このような処理には、マルチメディア通信システム内の1つ又はそれ以上の他のクライアントへの後の伝送用のクライアント対クライアント通信をパケット化することが、含まれる。
そして、処理は、ステップ1388に進む。このステップ1388では、マルチメディアサーバは、複数のクライアントへの伝送用に、処理済クライアントパケットを多重化する。これにより、多重化クライアントパケットが生成される。また、処理済クライアントパケットは、クライアント宛てのネットワークデータ、クライアント宛てのビデオデータ、及び/又はクライアント宛てのオーディオデータと、多重化される。そして、処理は、ステップ1390に進む。このステップ1390では、マルチメディアサーバは、マルチメディア通信システム内で用いられているデータ伝送プロトコルに従って、多重化クライアントデータを複数のクライアントへ送信する。
パケットがネットワークデータに対応している場合、処理はステップ1392に進む。このステップ1392では、マルチメディアサーバは、複数のクライアントの少なくとも1つをパケットから特定する。そして、処理は、ステップ1394に進む。このステップ1394では、マルチメディアサーバは、ネットワークアクセスアプリケーションが、そのクライアントについて有効かどうか、判別する。有効でない場合、処理はステップ1396に進む。このステップ1396では、マルチメディアサーバは、個々のクライアントについて、ネットワークアクセスアプリケーション(例えば、電子メール、及び/又はウェブブラウザアプリケーション)を開く。
一旦、ネットワークアプリケーションが開かれるか、あるいは開かれている場合、処理はステップ1398に進む。このステップ1398では、マルチメディアサーバは、ネットワークアクセスアプリケーションに応じてネットワークパケットのデータを処理して、ネットワークデータを生成する。そして、処理は、ステップ1400に進む。このステップ1400では、マルチメディアサーバは、ネットワーク接続へのクライアントアクセス方式に基づき、ネットワークデータ伝送用のネットワーク接続へのアクセスを判別する。そして、処理は、ステップ1420に進む。このステップ1402では、マルチメディアサーバは、判別されたネットワークアクセスに基づき、ネットワークデータを、ネットワーク接続を通じてワイドエリアネットワークへと伝送する。ステップ1400の判別については、図60を参照して詳述され、ステップ1394の判別については、図58及び図59を参照して詳述された。
図62に、複数のクライアント用のハブベースネットワークとして機能するマルチメディアサーバ用の方法の論理図を示す。処理は、ステップ1420にて開始する。このステップ1420では、マルチメディアサーバは、ネットワーク接続を通じてネットワークパケットを受信する。ネットワークパケットは、1つ又はそれ以上のクライアントの代わりにマルチメディアサーバにより提供された情報に応答して、インターネット等のワイドエリアネットワークシステムから受信される。そして、処理は、ステップ1422に進む。このステップ1422では、マルチメディアサーバは、ネットワークパケットの対象としての少なくとも1つのクライアントの識別情報を判別する。これは、ネットワークパケットのヘッダ部を解釈することにより、なされてもよい。なお、ヘッダ部には、個々のクライアントに対応した宛先アドレスが、含まれている。このように、各ネットワークパケットが受信されると、マルチメディアサーバは、適切なクライアントを容易に判別することができる。
そして、処理は、ステップ1424に進む。このステップ1424では、マルチメディアサーバは、ネットワークアプリケーションが個々のクライアントについて有効であるかどうか判別する。ネットワークアプリケーションは、電子メールアプリケーション及び/又はウェブブラウザアプリケーションであってもよい。個々のネットワークアクセスアプリケーションが有効でない場合、処理は、ステップ1426に進む。このステップ1426では、マルチメディアサーバは、個々のクライアントについてのものを開く。
ネットワークアクセスアプリケーションが開いている場合、処理は、ステップ1428に進む。このステップ1428では、マルチメディアサーバは、ネットワークパケットのデータを処理して、クライアントデータを生成する。データの処理には、ネットワークパケットが到来したときに実行されるネットワークアプリケーションに対応した表示を作成すること、及び、得られたデータをクライアントデータとして格納することが、含まれる。そして、処理は、ステップ1430に進む。このステップ1430では、マルチメディアサーバは、複数のクライアントへの伝送用のクライアントデータを多重化する。クライアントデータは、ビデオデータ、オーディオデータ、及び/又は他のアプリケーションデータ等の他のデータのようなクライアント宛ての他のデータと、多重化されてもよい。そして、処理は、ステップ1432に進む。このステップ1432では、マルチメディアサーバは、マルチメディア通信システムのデータ伝送プロトコルに従って、多重化クライアントデータを複数のクライアントへ送信する。
処理はステップ1434にて続行する。このステップ1434では、マルチメディアサーバは、クライアント対クライアントパケットを少なくとも1つのクライアントから受信する。そして、処理は、ステップ1434に進み、そこでは、マルチメディアサーバは、クライアント対クライアントパケットを処理して、処理済クライアントパケットを生成する。そして、処理は、ステップ1438に進む。このステップ1438では、マルチメディアサーバは、処理済クライアントパケットを、複数のクライアントへの伝送用のクライアントデータと多重化する。そして、処理は、ステップ1440に進む。このステップ1440では、マルチメディアサーバは、多重化クライアントデータを複数のクライアントへ送信する。
図63に、マルチメディアシステム内でのリソース管理方法の論理図を示す。図63に示す処理は、図64及び図65に示すものと同様、図1乃至図11に示したマルチメディアサーバのいずれかにより実行されてもよい。処理は、ステップ1450にて開始する。このステップ1450では、マルチメディアサーバは、マルチメディアサービスに対するクライアントの要求を受信する。マルチメディアシステムサービスには、衛星接続、ケーブル接続、NTSC放送接続、HDTV放送接続、SDTV放送接続、VCR・DVDラジオ受信器、CDプレイヤ、MP3プレイヤ等からのチャネルにアクセスすることの1つ又はそれ以上が、含まれている。
そして、処理は、ステップ1452に進む。このステップ1452では、マルチメディアサーバは、クライアントの要求が有効であるかどうか判別する。クライアントの要求が有効であるかどうか判別は、個々のクライアントが要求されている個々のビデオプログラムにアクセスできるかどうか、選択されている個々のチャネルがペアレンタル制御設定を超えているかどうかを判別すること、及び/又は、割り当てられたアクセス時間中にクライアントの要求が受信されたかどうかを判別することに、基づいていてもよい。それに対応して、割り当てられたアクセス時間は、個々のモジュールのユーザがマルチメディアサーバからのサービスにアクセスしうる時間帯に、対応している。クライアントの要求が有効でない場合、処理はステップ1456に進む。このステップ1456では、マルチメディアサーバは、要求を拒否する。
一方、その要求が有効である場合、処理は、ステップ1458に進む。このステップ1458では、マルチメディアサーバは、マルチメディアシステムがクライアントの要求を満たすのに充分なリソースを持っているかどうか判別する。マルチメディアシステムが充分なリソースを持っているかどうかの判別には、同調モジュールにクライアントの要求に対応した容量があるかどうか、チャネルミキサにクライアントの要求を処理するのに充分な処理リソースがあるかどうか、及び/又は、マルチメディアサーバと複数のクライアントとの間の通信経路にクライアントの要求に対応した充分な帯域幅があるかどうかを、判別することが含まれている。
そして、処理は、ステップ1460に進む。このステップ1460では、充分なリソースが存在するかどうかについて、判別がなされる。存在する場合、処理は、ステップ1462に進む。このステップ1462では、マルチメディアサーバは、クライアントの要求を満たすためのリソースの少なくともいくらかを、マルチメディアシステム割当手順に基づいて割り当てる。マルチメディアシステムのリソース割当手順には、リソースを先着順で割り当てること、リソースをトランク様に割り当てること、及び/又は、個々のリソースの個々のクライアントに対する所定の割当に基づいてリソースを割り当てることが、含まれている。それに対応して、個々のチューナ、ストリーム・パージング・モジュールは、個々のクライアントに対して割り当てられてもよい。このように、これらのリソースは、個々のクライアントがマルチメディアシステムへのアクセスを要望しない限り、使用されないままとなる。
ステップ1462に示すようにリソースを割り当てることに加えて、マルチメディアシステムは、ステップ1464〜1468に示すような機能を提供してもよい。ステップ1464では、マルチメディアサーバは、マルチメディアシステムが利用可能なリソースを有するかどうか判別する。利用可能なリソースがない場合、処理は、ステップ1462に戻る。利用可能なリソースがある場合、処理は、ステップ1466に進む。このステップ1466では、マルチメディアサーバは、クライアントが拡張機能権限を有するかどうか判別する。拡張機能権限により、クライアントの好みのチャネルが選択されるとともに、マルチメディアサーバにより処理可能となり、前チャネル、次チャネル、画像内画像等が可能となる。クライアントが拡張機能を持たない場合、処理は、ステップ1462に戻る。一方、クライアントが拡張機能を持つ場合、処理は、ステップ1468に進む。このステップ1468では、マルチメディアサーバは、拡張機能に対応するため、さらなるリソースを割り当てる。
充分なリソースが利用可能でない場合、処理は、図64に進む。この図64では、不充分なリソースの取扱についての様々な代替策が提供される。このような手法の1つとして、個々のクライアントに割り当てられた拡張機能を削除して、リソースを利用可能とすることがある。代替的な処理が、ステップ1464,1474及び1478に図示されている。
ステップ1464では、マルチメディアサーバは、個々のクライントについて代替的なマルチメディアサービスが利用可能かどうか判別する。これは、ステップ1466〜1472の1つ又はそれ以上に示すように、なされてもよい。ステップ1466では、マルチメディアサーバは、ビデオプログラムについて、解像度をデフォルト解像度に適合させる。これにより、処理の要件が少なくなる。ステップ1468では、マルチメディアサーバは、ビデオプログラムについて、ビデオ画質をデフォルトのビデオ画質に適合させる。これにより、クライアント用にビデオデータを作成するための処理要件が少なくなる。
ステップ1470では、マルチメディアサーバは、クライアントに対して代替的なマルチメディアサービスの選択を照会する。その照会には、現在サービスされているチャネルのリストであってクライアントがそれらの1つを選択すること、及び/又は、代替的な解像度、ビデオの質等を選択することを要求するチャネルのリストが、含まれてもよい。ステップ1472では、マルチメディアサーバは、予めプログラムされた代替的な選択に基づき、代替的なマルチメディアサービスを自動的に選択する。実質的に、クライアントは、そのデフォルトの設定又は代替的なマルチメディアサービスを、直接照会されるのではなく、予めプログラムしてもよい。
ステップ1474では、マルチメディアサーバは、クライアントの要求が、現在サービスされているクライアントの要求よりも優先するかどうか判別する。優先する場合、処理はステップ1476に進む。このステップ1476では、マルチメディアサーバは、現在サービスされているクライアントを切り替えて、現在のクライアントの要求を満たすためのリソースを取得する。現在のクライアントの要求が、現在サービスされているクライアントの少なくとも1つに優先するものでない場合、現在のクライアントの要求は拒否され、そのクライアントは、代替的なマルチメディアサービスにアクセスするように要求されてもよい。
ステップ1478では、マルチメディアサーバは、リソースの割当が、クライアントの要求を満たすために再割当可能かどうか判別する。そして、処理はステップ1480に進む。このステップ1480では、マルチメディアサーバは、リソースが再割当可能である場合、クライアントの要求を満たすためにリソースの割当を調整する。リソースが再割当可能であるかどうかの判別について、ステップ1482及びステップ1484にてさらに説明する。このステップ1482では、マルチメディアサーバは、リソースの能力と比較してリソースの使用を監視する。そして、処理は、ステップ1484に進む。このステップ1484では、マルチメディアサーバは、リソースの少なくともいくらかが最適でない場合、リソースの割当を調整する。例えば、HDTV送信元、衛星送信元等からの圧縮ビデオを処理する場合に、個々のリソースが最も効率的であって、現在オーディオ信号を処理していれば、そのリソースは、他のリソースがオーディオ信号を処理するために使用される一方で、ビデオ信号を処理するために再割当されうる。
図65は、マルチメディアシステム内のリソースの管理方法の論理図を示す。処理は、ステップ1490にて開始する。このステップ1490では、マルチメディアサーバは、マルチメディアサービスに対するクライアントの要求を、クライアントから受信する。マルチメディアサービスには、衛星接続のチャネル、ケーブル接続のチャネル、DVDプレイヤ、VCR等のビデオ送信元、及び/又はCDプレイヤ、DVDオーディオプレイヤ等のオーディオ送信元の1つ又はそれ以上が含まれる。そして、処理はステップ1492に進む。このステップ1492では、マルチメディアサーバは、そのクライアントの要求が有効かどうか判別する。ステップ1494に示すようにクライアントの要求が有効である場合、処理は、ステップ1496に進む。このステップ1496では、マルチメディアサーバは要求を拒否する。
一方、要求が有効である場合、処理はステップ1498に進む。このステップ1498では、マルチメディアサーバは、マルチメディアシステムがクライアントの要求を満たすのに充分なリソースを有するかどうか判別する。そして、処理はステップ1500に進む。このステップ1500では、マルチメディアサーバは、充分なリソースが存在するかどうかに基づき、処理を分岐させる。充分なリソースが存在すれば、処理はステップ1502に進む。このステップ1502では、マルチメディアサーバは、クライアントの要求を満たすのに最も適合したリソースを割り当てる。充分なリソースが存在しない場合、図64での処理が利用される。
クライアントの要求を満たすのに最も適合したリソースを判別するために、ステップ1504〜1508が利用されてもよい。ステップ1504では、マルチメディアサーバは、複数のリソースの各々についてリソースの能力のリストを管理する。そして、処理は、ステップ1506に進む。このステップ1506では、マルチメディアサーバは、クライアントの要求に対応するのに必要なリソースの種類を判別する。そして、処理は、ステップ1508に進む。このステップ1508では、マルチメディアサーバは、最適合の解析を実行して、必要なリソースの能力及びリソースの種類に基づき、最も適合したリソースを特定する。例えば、同調モジュール及び/又はチャネルミキサ内のリソースは、他のものがオーディオ信号を処理するのにより適しているのに対して、衛星接続からの圧縮ビデオデータを処理するときに最も効率的でありうる。このように、圧縮ビデオ信号にアクセスするための要求が受信された場合、マルチメディアサーバは、圧縮ビデオを処理するのに最も適したリソースを割り当てるように試みる。同様に、オーディオ送信元にアクセスするための要求が受信された場合、マルチメディアサーバは、オーディオの要求を満たすために最適のリソースを割り当てるように試みる。
上記説明により、マルチメディア通信システム用の方法及び装置が提示された。マルチメディア通信システムにより、複数のクライアントは、様々なオーディオ送信元、ビデオ送信元、インターネット、公衆交換電話網等への見かけ上の直接アクセスが、このようなサービスに対する従来型の直接アクセスに対応した通例の受信及び送信回路なしで、できるようになる。当該技術における平均的技能を有する者には理解されるように、他の実施形態が、特許請求の範囲から外れることなく、本発明の教示内容から得られてもよい。