(57)【要約】異なるデータ・フォーマットを有する複数のコンテンツ・アグリゲータから得られるメディア・サービスの統一リストを作成する方法。第１のコンテンツ・アグリゲータ（１０２）からの第１のメディア・サービス・リストが再生デバイス（２０２）に伝送される。第２のコンテンツ・アグリゲータ（１０２）からの第２のメディア・サービス・リストも再生デバイス（２０２）に伝送され、再生デバイス（２０２）は、両方のリストを統一メディア・サービス・リストに結合する。この方法は任意選択により、統一リスト上で再生デバイスに対して行われる選択によって前記複数のコンテンツ・アグリゲータからのメディア・サービスを再生する。
2004524735.tif 000002
【特許請求の範囲】
【請求項１】
通信ネットワークを介して複数のコンテンツ・アグリゲータからのメディア・サービスを処理する方法であって、
複数のコンテンツ・アグリゲータのうちの第１のコンテンツ・アグリゲータから第１のメディア・サービス・リストを受信するステップと、
前記複数のコンテンツ・アグリゲータのうちの第２のコンテンツ・アグリゲータから第２のメディア・サービス・リストを受信するステップであって、前記第２のメディア・サービス・リストのデータ構造が前記第１のメディア・サービス・リストのデータ構造と適合しないステップと、
前記第１のメディア・サービス・リストと前記第２のサービス・リストを、複数のユニフォーム・リソース・ロケータから得られるメディア・サービスを含む統一メディア・サービス・リストに変換するステップとを含んでいる方法。
【請求項２】
前記統一メディア・サービス・リストを表示する追加ステップを更に含んでいる、請求項１に記載の方法。
【請求項３】
前記統一メディア・サービス・リスト上に表示されたメディア・サービスを要求する追加ステップであって、前記メディア・サービスの位置が前記複数のユニフォーム・リソース・ロケータのうちの対応するユニフォーム・リソース・ロケータで判別される追加ステップと、
前記メディア・サービスを受信する追加ステップと、
前記メディア・サービスを出力する追加ステップとを更に含んでいる、請求項２に記載の方法。
【請求項４】
前記メディア・サービスが、携帯型音声デバイス、ステレオ、インターネット・ラジオ、コンピュータ、電話機、インターネット対応デバイス、メモリ装置のうちの少なくとも１つを含むデバイスから出力される、請求項３に記載の方法。
【請求項５】
前記出力が、前記メディア・サービスを再生デバイスに対して再生、コピー、伝送することのうちの少なくとも１つから選択される機能を含んでいる、請求項３に記載の方法。
【請求項６】
前記メディア・サービスが、．ｒａｍ、．ｒｍ、．ｒｐｍ、．ｍｏｖ、．ｑｉｆ、．ｗｍａ、．ｃｍｒ、．ａｖｉ、．ｓｗｆ、．ｓｗｌ、．ｍｐｇ、．ｍｐａ、．ｍｐ１、．ｍｐ２、．ｍｐ３、．ｍ３ａ、．ｍ３ｕのグループのうちの少なくとも１つのメディア拡張子タイプを含むフォーマットである、請求項３に記載の方法。
【請求項７】
前記第１のコンテンツ・アグリゲータのデータ構造が、文書型定義（ＤＴＤ）で定められる、請求項１に記載の方法。
【請求項８】
前記複数のコンテンツ・アグリゲータが、ウェブサイト、サーバ、ウェブ対応デバイス、ラジオ、データ記憶デバイス、オンデマンド加入サービス、チューニング・サービス、ピア・ツー・ピア・メディア・サービス、放送サービスのうちの少なくとも１つを含んでいる、請求項１に記載の方法。
【請求項９】
前記統一メディア・サービス・リストが、前記第１のメディア・サービス・リストと前記第２のメディア・サービス・リストのうちの少なくとも一方と同じデータ構造である、請求項１に記載の方法。
【請求項１０】
第３のメディア・サービス・リストが変換されて前記統一メディア・サービス・リストにマージされる、請求項１に記載の方法。
【請求項１１】
前記統一メディア・サービス・リストが、前記メディア・サービスのジャンル、メディア・サービス作者、著作権日付、メディア・サービス伝送日、パフォーマ、題名、主題、親権者による格付、ユーザー格付、監督、製作者、前記メディア・サービスの実行時間、メディア・サービス伝送ロケータ、加入サービス、言語のうちの少なくとも１つで構成される、請求項２に記載の方法。
【請求項１２】
前記メディア・サービスが、前記複数のコンテンツ・アグリゲータのうちの１つのコンテンツ・アグリゲータからのものである、請求項３に記載の方法。
【請求項１３】
前記メディア・サービスが、前記複数のコンテンツ・アグリゲータのうちの１つのコンテンツ・アグリゲータに関連する位置から受信される、請求項３に記載の方法。
【請求項１４】
複数のコンテンツ・アグリゲータから受信したメディア・サービスを処理する方法であって、
第１のメディア・サービスを選択するステップと、
第２のメディア・サービスを選択するステップと、
前記第１のメディア・サービスおよび前記第２のメディア・サービスをデバイスによって処理するステップと、
前記第１のメディア・サービスを第１の再生デバイスに出力するステップと、
前記第２のメディア・サービスを第２の再生デバイスに出力するステップとを含んでおり、前記第１と第２のメディア・サービスの前記出力が同時である方法。
【請求項１５】
前記第１および第２の再生デバイスに出力する前記各ステップが、それぞれ前記第１および第２のデバイスに対してストリームを再生、コピー、伝送することのうちの少なくとも１つを含んでいる、請求項１４に記載の方法。
【請求項１６】
前記第１の再生デバイスが、ステレオ受信機、テレビジョン、家庭用ネットワーク・デバイス、無線周波数ネットワーク、無線周波数ベースの音楽デコーダ、セット・トップ・ボックス、衛星無線デコーダのうちの少なくとも１つを含んでいる、請求項１４に記載の方法。
【請求項１７】
複数のコンテンツ・アグリゲータから得られるメディア・サービスを統一するための装置であって、
複数のコンテンツ・アグリゲータのうちの第１のコンテンツ・アグリゲータ（１０２）から得られるメディア・サービスをリストする識別子受信手段（２０２）と、
前記複数のコンテンツ・アグリゲータのうちの第２のコンテンツ・アグリゲータ（１０２）から得られるメディア・サービスをリストする識別子受信手段（２０２）とを含んでおり、前記第２のメディア・サービス・リストのデータ構造が前記第１のメディア・サービス・リストのデータ構造と適合せず、
更に、前記第１のメディア・サービス・リストと前記第２のサービス・リストを、複数のユニフォーム・リソース・ロケータから得られるメディア・サービスを含む統一メディア・サービス・リストに変換する手段（２１４）を含んでいる装置。
【請求項１８】
前記統一メディア・サービス・リストを表示する手段（２２２）を更に含んでいる、請求項１７に記載の装置。
【請求項１９】
前記統一メディア・サービス・リスト上に表示されたメディア・サービスを要求する手段（２２４）と、
前記メディア・サービスを受信する手段（２０２）と、
前記メディア・サービスを出力する手段（２２０）とを更に含んでいる、請求項１８に記載の装置。
【請求項２０】
事前選択された第２のメディア・サービスを受信する手段（２０４）と、
前記第２のメディア・サービスを出力する手段（２１２）とを更に含んでおり、前記第２のメディア・サービスを出力する手段（２１２）が、前記メディア・サービスを出力する手段（２２０）とは異なる、請求項１９に記載の装置。
【請求項２１】
前記メディア・サービスを購入する手段（２２４）を更に含んでいる、請求項１９に記載の装置。
【発明の詳細な説明】
【０００１】
本発明は、メディア・サービス（ｍｅｄｉａ  ｓｅｒｖｉｃｅ）、特に複数のコンテンツ・アグリゲータ（ｃｏｎｔｅｎｔ  ａｇｇｒｅｇａｔｏｒ）から得られるストリーミング・メディア（ｓｔｒｅａｍｉｎｇ  ｍｅｄｉａ）の形式のメディア・サービスを索引付けし、取得し、再生する分野に関する。
【０００２】
音楽、ニュース、トーク・ショーなどの放送番組を聴くことは、一般に電波を介した無線伝送として送信されるメディア娯楽の形態で、一般的に楽しまれている。
【０００３】
無線伝送は、電波使用に関する固有の物理的制限によって生じる問題を有する。例えば、電波はそれらの放送源から遠くなるにつれて電力を失い、それにより、受信機が遠くからの放送を確実に受信して復調することは困難になる。この制限により、聴取者は、地理的領域の外にいる場合は自分の気に入る局を受信しにくい（例えば、通常、ボストンに住む人は、ロサンゼルスからの無線放送を受信することができない）。更に、電波は、干渉を防止するために有限数の電磁波しか収容することができないので、無線放送の周波数は厳しく規制されなければならない。
【０００４】
電波を介した放送における制限は、他の放送技術を用いて解決される。ある方法は、無線局放送を衛星伝送として伝送するものであり、この伝送は、音声デコーダに結合される衛星受信アンテナを介して受信される。衛星放送は、電波ベースの伝送よりも遠くまで届く地理的範囲を有する。また、衛星伝送は、多重化およびデータ圧縮の技術を用いて伝送の帯域幅効率を上げることにより、電波として放送される場合よりも多くの無線局放送に対応することができる。衛星放送では、衛星放送業者によって無線局が選択され、また、衛星を介した放送のコストが非常に高いので、得られる番組選択肢が限られる。これにより、小規模なメディア市場における放送選択肢が、不十分になる場合がある。
【０００５】
インターネットなどの通信ネットワークを介するラジオ伝送およびビデオ伝送が開発されて以来、聴取者（リスナー）（または視聴者）によって得られる番組選択肢の数は増加した。地理的な帯域幅または他の制約によって、普通なら制限されていたはずのラジオおよびビデオ・サービス（メディア・サービスと呼ぶ）が、インターネットを介して世界中に放送される。インターネットに接続することができ、インターネット対応デバイス（コンピュータ、セルラー電話機、ＭＰ３音楽プレーヤ、インターネット機器、衛星受信機）を有するユーザーなら誰でも、ストリーミング・メディアの形式で放送されるメディア・サービスを受信することができる。通常、メディア・サービスは、コンピュータによって、ＴＣＰ／ＩＰなどのトランスポート・プロトコルに準拠するパケットにエンコード（符号化）され圧縮される。パケットは、インターネットを介して聴取者のデバイスに伝送され、聴取者のデコード・デバイス（例えば、ＲＥＡＬＰＬＡＹＥＲ（商標）、ＭＡＣＲＯＭＥＤＩＡ  ＰＬＡＹＥＲ（商標）、ＭＰ３ＰＲＯ（商標）などのメディア・プレーヤを備えるコンピュータ）上のソフトウェアが、出力デバイス（コンピュータ、受信機、ステレオ、テレビジョン・セット）上での再生に向けてパケットを音声／ビデオ信号にデコードする。
【０００６】
インターネットは、何千ものメディア・サービスにアクセスする機能を聴取者に提供する。ユーザーは、音楽ジャンルのサブジャンルを聴くことを選択することができるので、ユーザーにより得られる音楽ジャンルも同じく広い（例えば、ロックンロール局という「音楽ジャンル（ｇｅｎｒｅ）」が１９８０年代ニュー・ウェーブ音楽という「サブジャンル（ｓｕｂ−ｇｅｎｒｅ）」を再生する）。また、聴取者は、聴く曲（メディア・オブジェクト（ｍｅｄｉａ  ｏｂｊｅｃｔ））またはコンテンツ（ｃｏｎｔｅｎｔ）を操作して再生リストに入れ、聴取者の好みによって構成することもできる。これらの放送へは、ウェブ（Ｗｅｂ）サイト上で音楽ファイルへのリンク（ユニフォーム・リソース・インディケータ（ＵＲＩ：Ｕｎｉｆｏｒｍ  Ｒｅｓｏｕｒｃｅ  Ｉｎｄｉｃａｔｏｒ））を選択してアクセスするか、または、メディア・サービスのストリーミング・フィード（ｓｔｒｅａｍｉｎｇ  ｆｅｅｄ）を受信するメディア・プレーヤ（ｍｅｄｉａ  ｐｌａｙｅｒ）を使用してアクセスする。インターネット上のコンテンツは無秩序に構成されているので、これらすべてのカスタマイズ可能なオプション内では、得られるすべてのメディア・サービスをユーザーが見つけることは困難である。
【０００７】
インターネットを介して得られるメディア・サービスを構成するための発展の１つは、チューニング・サービス（ｔｕｎｉｎｇ  ｓｅｒｖｉｃｅ）またはメディア加入サービス（ｍｅｄｉａ  ｓｕｂｓｃｒｉｐｔｉｏｎ  ｓｅｒｖｉｃｅ）の使用である。例えば、ＭＵＳＩＣＭＡＴＣＨ（商標）、ＬＩＶＥ３６５（商標）、ＳＴＲＥＡＭＷＡＶＥＳ（商標）などの、これらのタイプのサービス（あるいはコンテンツ・アグリゲータとも呼ばれる）は、複数のメディア・サービスを、共通のポイント（ｐｏｉｎｔ）またはインタフェース（例えば、ウェブサイト、チャンネル付きストリーミング・メディア・プレーヤ）に統合する。この共通のポイントまたはインタフェースのアーキテクチャでは、ユーザーが、ジャンル（ｇｅｎｒｅ）およびパフォーマ（ｐｅｒｆｏｒｍｅｒ：演奏者）を含めた範疇からメディア・サービスを選択する。通常、チューニング・サービスは、メディア・サービスを構成する著作権保護付き素材を守るため権利者（ｐｒｏｐｒｉｅｔａｒｙ）であり、チューニング・サービスを上手に使用して得られるメディア・サービスを再生するためのインタフェースを必要とする。権利者によるチューニング・サービスを利用することの制約により、通常ユーザーは、異なるコンテンツ・アグリゲータから得られるメディア・サービスを、追加のデバイスに切り替えずにアクティブ化することが制限される。
【０００８】
本発明の原理により、複数のコンテンツ・アグリゲータからのメディア・サービスを索引付け（ｉｎｄｅｘｉｎｇ）および取得することを可能にする方法および装置を開示する。複数のコンテンツ・アグリゲータから得られるメディア・サービスを索引付けすることによって、メディア・サービスのリストを生成する。また、この方法および装置は、複数のコンテンツ・アグリゲータから得られる選択されたメディア・サービスを取り出して再生デバイスに出力することも開示する。
【０００９】
図１に、コンテンツ・アグリゲータ１０２によって得られるメディア・サービスの構成を示す。音声（ａｕｄｉｏ：オーディオ）ベースのフィード（例えば、音楽、トーク・ラジオ・ショー、ストリーミング・メディア・ファイル、野球の試合、テレビジョン番組からの音声、オーディオ・ブック）として生じる、音声ウェブサイト１０４、ラジオ局１０６、音楽サービス１０８としての音声ベースのメディア・サービスと、ビデオ局１０９（例えば、ＣＮＮ（米国における登録商標）、ＡＢＣ（米国における登録商標）、ＤＩＲＥＣＴＶ（米国における登録商標））は、通信ネットワーク１１０（例えば、インターネット、公衆交換電話網（Ｐｕｂｌｉｃ  Ｓｗｉｔｃｈｅｄ  Ｔｅｌｅｐｈｏｎｅ  Ｎｅｔｗｏｒｋ：ＰＳＴＮ）、ローカル・エリア・ネットワーク（ＬＡＮ）、ワイヤレス・ネットワーク、ディジタル加入者線（Ｄｉｇｉｔａｌ  Ｓｕｂｓｃｒｉｂｅｒ  Ｌｉｎｅ：ＤＳＬ）、ピア・ツー・ピア・ネットワーク（ｐｅｅｒ  ｔｏ  ｐｅｅｒ  ｎｅｔｗｏｒｋ））を介してコンテンツ・アグリゲータ１０２によって得られるメディア・サービスである。メディア・サービスは、通信ネットワーク１１０を介してコンテンツ・アグリゲータ１０２に結合され、ＴＣＰ／ＩＰプロトコルに適合するパケットとして伝送されることが好ましい。任意選択により、コンテンツ・アグリゲータ１０２は、音声フィードおよびビデオ・フィードを受信して、ワイヤレス・インタフェース（無線周波、マイクロ波、赤外線）を介して伝送する。あるいは、メディア・オブジェクト（例えば、ストリーミング・メディアとして伝送される事前記録済みまたはリアルタイムのフィードである音声ビデオ・ファイル）を受信して、コンテンツ・アグリゲータ１０２の場所でローカルに（ハード・ディスク・ドライブ、光記憶装置、取外し可能な記憶デバイス、磁気テープなどに）記憶する。
【００１０】
伝送に利用可能なメディア・サービスには、音声フィード（ａｕｄｉｏ  ｆｅｅｄ）およびビデオ・フィード（ｖｉｄｅｏ  ｆｅｅｄ）が含まれる。音声ウェブサイト１０４は、ストリーミング・メディアの形式で伝送されるかコンピュータ・ファイルとして部分的または全体的に伝送される音声ベースのメディア・サービスを含むインターネット・ベースのウェブサイトである。任意選択により、メディア・サービスは、メディア・プレーヤ（ＲＥＡＬＰＬＡＹＥＲ（米国における登録商標）、ＷＩＮＡＭＰ（米国における登録商標）、ＭＩＣＲＯＳＯＦＴ（米国における登録商標）、ＷＩＮＤＯＷＳ（登録商標）  ＭＥＤＩＡ（商標）  ＰＬＡＹＥＲ）を介して再生されるタイプのメディア・ファイル・フォーマット（例えば、ＲＥＡＬＡＵＤＩＯ（米国における登録商標）、ＲＥＡＬＭＥＤＩＡ（米国における登録商標）、ＡＰＰＬＥ  ＱＵＩＣＫＴＩＭＥ（米国における登録商標）、ＭＩＣＲＯＳＯＦＴ（米国における登録商標）ＷＩＮＤＯＷＳ（登録商標）  ＭＥＤＩＡ（商標）フォーマット、ＭＰＥＧ‐２レイヤ３オーディオ、ＭＰ３（米国における登録商標））のものとすることができる。ラジオ局１０６は、音声ベースのストリーミング・メディア・サービスとしてラジオ番組を放送するコンテンツ・プロバイダである。放送は、ライブまたは事前記録済みとすることができる。音楽サービス１０８は、コンテンツ・アグリゲータ１０２を介して得られる音声ベースのメディア・サービスとして番組を放送する、加入ベースのメディア・サービス（例えば、ＭＵＳＡＫ（米国における登録商標）、ＭＵＳＩＣ  ＣＨＯＩＣＥ（米国における登録商標）である。ビデオ・フィード１０９は、テレビジョン局（例えば、ＣＮＮ、ＡＢＣ）から伝送されるメディア・サービス、またはコンテンツ・アグリゲータ１０２によって得られるビデオ・サービス（例えば、オンデマンド映画）として伝送されるメディア・サービスである。
【００１１】
本発明の原理によれば、コンテンツ・アグリゲータ１０２は、別の実施例で、メディア・サービスの位置にリンクするユニフォーム・リソース・インディケータ（ＵＲＩ）を含むウェブ・リソース（例えば、ウェブサイト、索引、カタログ）として存在する。再生プログラム（例えば、ストリーミング・メディア・プレーヤ）は、メディア・サービスをコンテンツ・アグリゲータ１０２から直接受信する代わりに、リストされたメディア・サービス位置にあるメディア・サービスに（リストされたリンクを使用して）直接アクセスする。コンテンツ・アグリゲータ１０２は、メディア・サービス位置へのリンクの索引を含むことができ、また、コンテンツ・アグリゲータ１０２から直接伝送するメディア・サービスを有することができる。
【００１２】
ユニフォーム・リソース・インディケータ（ＵＲＩ）は、リソース（例えば、ウェブサイト、ストリーミング・メディア・サーバ）、サービス（例えば、ビデオ・オン・デマンド、インターネット・ラジオ）、デバイス（例えば、携帯電話機、インターネット対応機器）、およびデータ・ファイル（例えば、メディア・ファイルやテキスト文書）を判別する既存のプロトコルまたは名前空間（ｎａｍｅ  ｓｐａｃｅ）を参照する名前の普遍的なセット（ｓｅｔ：組）である。ユニフォーム・リソース・ロケータ（ＵＲＬ）は、ユニフォーム・リソース・インディケータ（ＵＲＩ）の一形式であり、ネットワーク・プロトコル（例えば、ＴＣＰ／ＩＰやＭＰＥＧトランスポート方式）を使用してアクセス・アルゴリズムにマッピングするアドレスを表す。ユニフォーム・リソース・ロケータ（ＵＲＬ）を使用すると、特定のリソース、サービス、デバイス、またはデータ・ファイルにアクセスすること、および／あるいはこれらを操作することができる。インターネット・プロトコル番号またはアドレス（ＩＰ）と呼ばれるＵＲＩの別の一形式は、特定のリソース、サービス、またはデータ・ファイルを参照する一連の番号である。任意選択により、一般にＵＲＬは、ドメイン・ネーム・サーバ（Ｄｏｍａｉｎ  Ｎａｍｅ  Ｓｅｒｖｅｒ：ＤＮＳ）を介して、ＩＰ番号にマッピングされる。ドメイン・ネーム・サーバ（ＤＮＳ）は、所望のリソースにアクセスするための２つの方法を提供する（例えば、ドメイン名ｗｗｗ．ｗｈｉｔｅｈｏｕｓｅ．ｇｏｖとＩＰアドレス１９８．１３７．２４０．９１のどちらかを使用してリソースにアクセスする）。
【００１３】
図２に、インターネット対応デバイス（再生デバイス２０２、ケーブル・セット・トップ・ボックス２０４、コンピュータ、セルラー（携帯）電話機、ＭＰ３プレーヤ、ビデオ・ゲーム・システム）と複数のコンテンツ・アグリゲータとの間の接続を示す。コンテンツ・アグリゲータ１０２は、音声ウェブサイト１０４およびラジオ局１０６から音声ベースのメディア・サービスを受信する。再生デバイス２０２などのインターネット対応デバイスは、通信ネットワーク１１０（例えば、インターネット）を介してコンテンツ・アグリゲータ１０２にアクセスする。
【００１４】
再生デバイス２０２は、コンテンツ・アグリゲータ１０２と通信して、コンテンツ・アグリゲータ１０２から得られるメディア・サービスのリストを要求し、メディア・サービスのリストから選択したメディア・サービスを受信する。通信は、トランスポート構造（例えば、伝送制御プロトコル／インターネット・プロトコル（ＴＣＰ／ＩＰ））に準拠するパケットとして通信ネットワーク１１０を介して行われる、コンピュータ・コマンドを含むプロシージャ・コール（ｐｒｏｃｅｄｕｒａｌ  ｃａｌｌ）および要求（ｒｅｑｕｅｓｔ：リクエスト）、例えば、ハイパーテキスト・マークアップ言語（Ｈｙｐｅｒｔｅｘｔ  Ｍａｒｋｕｐ  Ｌａｎｇｕａｇｅ：ＨＴＭＬ）または拡張可能マークアップ言語（Ｅｘｔｅｎｓｉｂｌｅ  Ｍａｒｋｕｐ  Ｌａｎｇｕａｇｅ：ＸＭＬ）ベースの要求であることが好ましい。プロシージャ・コールは、アプリケーション・プログラミング・インタフェース（Ａｐｐｌｉｃａｔｉｏｎ  Ｐｒｏｇｒａｍｍｉｎｇ  Ｉｎｔｅｒｆａｃｅ：ＡＰＩ）を使用してフォーマット化される。このインタフェースは、プログラムまたはデバイスが特定の動作を開始するために使用する一連の関数（ｆｕｎｃｔｉｏｎ）を含んでいる（例えば、インターネット対応デバイスが音声ＡＰＩを使用して、音声ベースのメディア・サービスを再生するためにサウンドカードを制御する）。
【００１５】
インターネット対応デバイスである再生デバイス（ｐｌａｙｂａｃｋ  ｄｅｖｉｃｅ）２０２は、コンテンツ・アグリゲータ１０２と通信および対話するためのハードウェアおよびソフトウェア（ＡＰＩおよびプログラム・サブルーチン）を含んでいる。再生デバイス２０２は、中央処理装置（ＣＰＵ）２１４、プログラム・メモリ２１６、データ・メモリ２１８、音声スピーカ２２０、表示デバイス２２２、および入力デバイス２２４を含んでいることが好ましい。ＣＰＵ２１４（コンピュータ処理回路）は、コンテンツ・アグリゲータ１０２から通信ネットワーク１１０を介して受信される音声サービスを処理する。ＣＰＵ２１４は、データ・メモリ２１８に結合され、データ・メモリ２１８は、コンテンツ・アグリゲータ１０２から受信されたデータおよび選択されるメディア・サービスを記憶する。プログラム・メモリ２１６は、ＣＰＵ２１４に接続され、コンテンツ・アグリゲータ１０２から得られるメディア・サービスとの通信およびその処理に使用されるプログラミング命令およびＡＰＩを記憶する。
【００１６】
表示デバイス２２２は、コンテンツ・アグリゲータ１０２から得られる音声ベースのメディア・サービスの番組ジャンルおよびサブジャンルを表示する。表示デバイス２２２は、テレビジョン表示装置、ＬＥＤ表示装置、またはＬＣＤ（液晶）表示装置であることが好ましい。ジャンルおよびサブジャンルは、入力デバイス２２４の使用により、ボタン、ダイヤル、タッチ・スクリーン・インタフェース、または入力デバイス２２４上で利用可能なその他の触覚機構と連動して選択される。入力デバイス２２４を介してメディア・サービスが選択された後、ＣＰＵ２１４は、（コンピュータ・コマンドやプロシージャ・コールなどのコマンドによって）コンテンツ・アグリゲータ１０２を介して音声ベースのメディア・サービスを（この例では、ラジオ局１０６に）要求する。コンテンツ・アグリゲータ１０２は、再生デバイス２０２からの要求を受信し、それに応答して、選択されたメディア・サービスをパケット化伝送の形式で再生デバイス２０２に送信する。再生デバイス２０２は、メディア・サービスを処理し、接続された音声スピーカ（ラウドスピーカ）２２０を介して結果を出力する。別の実施例では、選択されたメディア・サービスは、ビデオ（ｖｉｄｅｏ：動画）ベースであり、表示デバイス２２２に出力される。
【００１７】
例えば、セット・トップ・ボックス（ＳＴＢ）２０４は、ケーブルまたは放送テレビジョン局から音声およびビデオ・ベースのメディア・サービスを受信するインターネット対応デバイスである。セット・トップ・ボックス（ＳＴＢ）２０４は、セット・トップ・ボックス（ＳＴＢ）２０４によってマルチスレッド処理（ｍｕｌｔｉ−ｔｈｒｅａｄｅｄ）または多重化（ｍｕｌｔｉｐｌｅｘｅｄ）が施されたメディア・サービスをインターネット非対応デバイス（例えば、ステレオ受信機２０６やテレビジョン・音声出力２０８）に導く経路であることが好ましい。例えば、セット・トップ・ボックス（ＳＴＢ）２０４は、クラシック音楽ベースのメディア・サービスを受信し、これをステレオ受信機２０６に送る。同時にセット・トップ・ボックス（ＳＴＢ）２０４は、ニュース放送メディア・サービスを受信し、これを結合されているテレビジョン２０８に送る。任意選択により、セット・トップ・ボックス（ＳＴＢ）２０４は、出力デバイス２１２（コネクタまたは音声スピーカ）に接続される付属のデータ・ネットワーク２１０（例えば、イーサネット（日本および米国における登録商標）ネットワーク、ワイヤレスＲＦネットワーク、電力線ベースのネットワーク、赤外線ネットワーク）に音声サービスを送り、出力デバイス２１２は、このメディア・サービスを信号として出力する。
【００１８】
マルチスレッド処理は、セット・トップ・ボックス２０４が、その処理タスク（ハウスキーピング・タスク、データ取り出し、データ処理、データ出力）を分割することによって機能する。各処理タスクには、幾つかのタイムスロット（ｔｉｍｅｓｌｏｔ：時間枠）が割り振られる。優先度の高い処理（例えば、メディア・サービスの再生）は、他の処理（例えば、得られるメディア・サービスの表示の更新）よりも多くのタイムスロットを受け取る。タイムスロットは、所定のプロシージャに従って割り振られる。この例では、セット・トップ・ボックス２０４は、各秒を１０個のタイムスロットに分割し、４つのタイムスロットをクラシック音楽メディア・サービスに割り振り、４つのタイムスロットをニュース放送メディア・サービスに割り振り、残りの２つのタイムスロットをハウスキーピング・プロシージャに割り振る。次いで、セット・トップ・ボックス２０４は、割り振ったタイムスロットに従って、メディア・サービスを処理し、ハウスキーピング・タスクを実行する。本発明の実施例は、タイムスロットの継続時間を不均等または均等な時間量にすることができることをサポートする。
【００１９】
図３に、選択されたメディア・サービスを取得および出力するためにデバイス（再生デバイス２０２またはセット・トップ・ボックス２０４）をコンテンツ・アグリゲータ１０２と同じデータ・フォーマットに構成する方法のフローチャートを示す。好ましい実施例では、再生デバイス２０２が、ＣＰＵ２１４を制御するコンピュータ命令に従って、通信ネットワーク１１０を介してコンテンツ・アグリゲータ１０２と通信する。コンピュータ命令は、特定のプロシージャ・コールを介して動作するＡＰＩを含んでいる。ＡＰＩは、ステップ３０２で、Ｓｅｔ＿Ｓｅｒｖｉｃｅ＿Ｃａｌｌを介してコンテンツ・アグリゲータ１０２にパラメータを要求する。再生デバイスに伝送されたパラメータは、再生デバイス２０２によってコンテンツ・アグリゲータ１０２との通信に使用されるデータおよび通信構造を形成する。通信構造（ｃｏｍｍｕｎｉｃａｔｉｏｎ  ｓｔｒｕｃｔｕｒｅ）は、再生デバイス２０２とコンテンツ・アグリゲータ１０２との間のデータ通信に使用されるフォーマットである。再生デバイス２０２は、ＴＣＰ／ＩＰ、オープン・システムズ・インターコネクション（ＯＳＩ：Ｏｐｅｎ  Ｓｙｓｔｅｍｓ  Ｉｎｔｅｒｃｏｎｎｅｃｔｉｏｎ）プロトコル、３Ｇ、またはＷＡＰ（Ｗｉｒｅｌｅｓｓ  Ａｐｐｌｉｃａｔｉｏｎ  Ｐｒｏｔｏｃｏｌ）ベースのトランスポート・プロトコルのアーキテクチャに適合することが好ましい。従って、再生デバイス２０２は、ハンドシェーク・プロセスを用いて所定の通信構造に適合するデータを返してもらうことにより、コンテンツ・アグリゲータ１０２の通信構造を決定する。また、再生デバイス２０２は、コンテンツ・アグリゲータ１０２からデータ・ストリームを受動的に受信し、それにより、データ・ストリーム中にあるキー属性に基づいて通信構造を決定する。例えば、再生デバイス２０２は、受信したデータ・パケットのヘッダを読み取り、データがＭＰＥＧトランスポートおよびデータ方式に適合するものと決定する。
【００２０】
例えば、例示的なデータ構造は、メディア・サービス・メニューと、位置（ＵＲＩ）と、メディア・サービスのプロバイダから得られるメディア・サービス・フォーマットのタイプ（Ｒｅａｌ  Ａｕｄｉｏ、Ｍｉｃｒｏｓｏｆｔ  Ｍｅｄｉａ  Ｐｌａｙｅｒ、ＭＰ３など）とを含んでおり、これらはスタイル・シート（ｓｔｙｌｅ  ｓｈｅｅｔ）に対応する。再生デバイス２０２は、コンテンツ・アグリゲータ１０２からスタイル・シートを受信し、それに従って入来データおよび送出データをフォーマット化する。データ構造の決定は、３つのレベルからなるドキュメント・オブジェクト・モデル（ＤＯＭ：Ｄｏｃｕｍｅｎｔ  Ｏｂｊｅｃｔ  Ｍｏｄｅｌ）を含んでいることが好ましい。レベル１は、データの交換を規定するフォーマット（例えば、ＸＭＬやＨＴＭＬ）を設定する。レベル２は、伝送されるデータのプレゼンテーションおよび操作を制御する（スタイル・シートを使用して）。レベル３は、コンテンツ・モデル（例えば、データ変数やメタデータ・フィールド）と、文書に使用されるイベント（ファンクション・キーＦ１２で文書を保存するなど）を定める。任意選択により、マルチパーパス・インターネット・メール・エクステンションズ（ＭＩＭＥ：Ｍｕｌｔｉｐｕｒｐｏｓｅ  Ｉｎｔｅｒｎｅｔ  Ｍａｉｌ  Ｅｘｔｅｎｓｉｏｎｓ）に準拠するクラスおよびオブジェクト・タイプを使用して、利用可能なオブジェクトを定める。再生デバイス２０２は、ステップ３０４で、コンテンツ・アグリゲータ１０２からのデータ構造パラメータをプログラム・メモリ２１６に記憶し、これに従ってコンテンツ・アグリゲータ１０２との以後の通信をフォーマット化する。
【００２１】
ドキュメント・オブジェクト・モデル（ＤＯＭ）の使用により、再生デバイス２０２は、マルチメディア標準方式が調整されるのに伴って、新しい文書タイプおよびメディア・フォーマットをサポートすることができる。例えば、新しいコンテンツ・アグリゲータが、得られるメディア・サービスを再生するためのマルチメディア・プレーヤとして、新しいマルチメディア・プレーヤを採用する。再生デバイス２０２は、新しいコンテンツ・アグリゲータにメディア・サービスを要求するとき、対応するドキュメント・オブジェクト・モデル（ＤＯＭ）を読み取って新しいマルチメディア・プレーヤの位置を見つける（ドキュメント・オブジェクト・モデル（ＤＯＭ）に組み込まれたロケータによって、あるいは外部データベースを参照することによって）。次いで、再生デバイス２０２は、新しいメディア・プレーヤ用のコーデック（ｃｏｄｅｃ）（更新）を要求し、コーデックを受信するとこれを記憶する。メディア・サービスにおいて、再生デバイス２０２が新しいメディア・プレーヤを使用して出力する準備が整う。
【００２２】
データ構造パラメータを記憶すると、ステップ３０６で、再生デバイス２０２は、ＣＰＵ２１４により出されるＬｉｓｔ＿Ｃｏｎｔｅｎｔ＿Ｃａｌｌを介してメディア・サービスのコンテンツ・リスト（ｃｏｎｔｅｎｔ  ｌｉｓｔ）をコンテンツ・アグリゲータ１０２に要求する。図４に示すように、Ｌｉｓｔ＿Ｃｏｎｔｅｎｔ＿Ｃａｌｌは、Ｉｒａｄｉｏ  ＡＰＩ４１２を含んでいる。Ｉｒａｄｉｏ  ＡＰＩ４１２は、コンテンツ・リスト要求に使用される内部リソースの割り振りおよび管理を行うＩｒａｄｉｏ要求ＡＰＩ４０２（プログラム・メモリ２１６に記憶されている）を開始する。ＣＰＵ２１４は、コンテンツ・リスト要求のための動作サイクルを指定し、コンテンツ・リストを記憶するためのデータ・メモリ２１８中の空間を指定することが好ましい。任意選択により、要求ＡＰＩ４０２は、複数のコンテンツ・アグリゲータ１０２に対する複数のコンテンツ・リスト要求を同時に管理する。
【００２３】
次いで、ＣＰＵ２１４は、コンテンツ・アグリゲータ１０２との通信伝送を制御するＨＴＴＰ処理回路ＡＰＩ４０４サブルーチンを出す。ＨＴＴＰ処理回路ＡＰＩ４０４は、ステップ３０２で記憶されたパラメータに従って機能して、コンテンツ・アグリゲータ１０２との接続、通信、およびＨＴＴＰプロトコル交換を管理する。これには、ＨＴＴＰ  ＵＲＩリダイレクト、エラー認識、および、メディア・サービスを含むストリームに対する標準的な応答としての応答分類に関係のある、すべての処理が含まれる。ＨＴＴＰ処理回路ＡＰＩ４０４は、通信ネットワーク１１０を介してコンテンツ・アグリゲータ１０２にコンテンツ・リスト要求を伝送する。コンテンツ・アグリゲータ１０２は、これに応答して、得られるメディア・サービスのコンテンツ・リストを伝送し、これはＨＴＴＰ処理回路ＡＰＩ４０４を介して受信される。
【００２４】
所定のフォーマットであるコンテンツ・リストを受信した後、ＣＰＵ２１４は、コンテンツ・アダプタ４０６ルーチンを開始することが好ましい。このルーチンは、受信されたコンテンツ・リストを、再生デバイス２０２によって使用される内部データ・フォーマットおよび内部データ構造にフォーマット化する。例えば、ＣＰＵ２１４は、再生デバイス２０２により使用される内部データ構造（データ・フィールド）を予め定めるＸＭＬ（内部データ・フォーマット）ベースの文書型定義（ＤＴＤ：Ｄｏｃｕｍｅｎｔ  Ｔｙｐｅ  Ｄｅｆｉｎｉｔｉｏｎ）を用いる。コンテンツ・アグリゲータ１０２からＸＭＬフォーマットで受信されたデータは、文書型定義（ＤＴＤ）により定められるデータ・フィールドに直接にマッチ（ｍａｔｃｈ）させる。コンテンツ・アグリゲータ１０２から受信されたデータが、内部データ・フォーマット（ＸＭＬ）に適合しない場合は、コンテンツ・アダプタ４０６は、好ましくは変換テーブルを使用してデータをＸＭＬにフォーマット化し、フォーマット化したデータを再生デバイス２０２の内部データ構造（ＤＴＤ）に関連付ける。任意選択により、フォーマット化したデータおよびコンテンツ・アグリゲータ１０２から受信したデータは、データ・メモリ２１８に記憶される。また、文書型定義（ＤＴＤ）は、更新可能である（例えば、インターネット１１０を介してスタイル・シートとして送信された更新が、現存の文書型定義（ＤＴＤ）を上書きする）。
【００２５】
ＸＭＬパーサ（ｐａｒｓｅｒ）４０８が、コンテンツ・アダプタ４０６から（または、データ・メモリ２１８から）ＸＭＬベースのデータを受け取り、このＸＭＬベースのデータを、表示されユーザーによって操作される事前選択済みメニュー要素にマッピングする。データ・マッピングは、内部データ構造からのどの変数が事前選択済みメニュー要素にマッピングされるかを示すデータ・テーブルを介して行われる。
【００２６】
図９は、再生デバイス２０２がコンテンツ・アグリゲータ１０２から受信する、メディア・サービスのコンテンツ・リスト９００（ＸＭＬフォーマット）の図である。図１０は、コンテンツ・アダプタ４０６によって再生デバイス２０２の内部データ構造にフォーマット化された、メディア・サービスのコンテンツ・リスト１０００を示す。図１１は、ＸＭＬパーサ４０８によってメニューにフォーマット化された、メディア・サービスのコンテンツ・リスト１１００を示す。
【００２７】
例示的な実施例として、ＸＭＬパーサ４０８によりフォーマット化されたデータは、階層メニューとして表示デバイス２２２上に表示される。階層メニューは、ユーザーにより事前選択されたまたは指定されたフィールドをリストする（例示的なフィールドは、メディア・サービス、題名（ｔｉｔｌｅ：タイトル）、メディア・タイプ、パフォーマ、コンテンツ・アグリゲータ・ソースなどである）。例えば、メニューの「トップ」レベルは、ジャンル（例えば、トーク・ショー、音楽、ニュース、スポーツ・トーク、ミステリ、連続ドラマなど）で表示される。ユーザーが、「トップ」レベルにリストされたジャンルを入力デバイス２２４を介して選択すると、ＣＰＵ２１４によって開始されたコンテンツ・データ・プロシージャ４１０が、データ・メモリ２１８を調べて、選択されたジャンルに関連してリストされるサブジャンルまたは利用可能なメディア・サービスがあるかどうかを検出する。あるいは、コンテンツ・データ・プロシージャ４１０は、追加のコンテンツ・リスト・コール４０１を、コンテンツ・アグリゲータ２０１に出して、選択されたジャンルに関連するより多くの情報を集める（先に述べたステップを繰り返す）。コンテンツ・データ・プロシージャ４１０は、関連するデータから、「トップ」レベルの下にリストされる「第２」レベルのメニューを生成して表示する。次いで、ユーザーは「第２」レベルから選択し、コンテンツ・データ・プロシージャ４１０は、ユーザーが再生のためのメディア・サービスを選択するまでコンテンツ・リスト・コール４０１を出し続ける。
【００２８】
メディア・サービスが、入力デバイス２２４を介して（例えば、階層メニューまたは利用可能なメディア・サービスのリストから）選択された後、ＣＰＵ２１４は、ステップ３０８で、Ｉｒａｄｉｏ＿Ｓｔｒｅａｍ＿Ｃｏｎｔｅｎｔｓ＿ｃａｌｌ  ＡＰＩを出して、選択されたメディア・サービスをコンテンツ・アグリゲータ１０２から取り出す。Ｉｒａｄｉｏ＿Ｓｔｒｅａｍ＿Ｃｏｎｔｅｎｔｓ＿ｃａｌｌ  ＡＰＩは、図６に示すように、ストリーム要求コール６０２で開始される。このストリーム要求コール６０２は、要求されたメディア・サービスの位置（好ましくはメディア・サービスのＵＲＩ）を、Ｉｒａｄｉｏ＿Ｌｉｓｔ＿Ｃｏｎｔｅｎｔ＿Ｃａｌｌから返されたデータ（データ・メモリ２１８にある）によって、あるいは他の手段によって（例えば、メディア・サービスの位置をコンテンツ・アグリゲータ１０２に要求して）決定する。任意選択により、Ｉｒａｄｉｏ＿Ｓｔｒｅａｍ＿Ｃｏｎｔｅｎｔｓ＿ｃａｌｌ  ＡＰＩ３０８は、前述のマルチスレッド処理機能によってメディア・サービスの非同期（複数）要求をサポートする。
【００２９】
選択されたメディア・サービスの位置が分かれば、ＣＰＵ２１４は、Ｉｒａｄｉｏ  ＡＰＩ４１２を出す。Ｉｒａｄｉｏ  ＡＰＩ４１２は、ストリーム要求コール６０２に使用されるリソースの割り振りおよび管理を行うための要求ＡＰＩ４０２サブルーチンで開始される。Ｉｒａｄｉｏ  ＡＰＩ４１２の一部としてＨＴＴＰ処理回路ＡＰＩ４０４が出され、選択されたメディア・サービスの位置に、通信ネットワーク１１０を介して接続する。メディア・サービス位置への接続は、直接接続（ウェブサイト、記憶デバイス、セルラー・ネットワークなど）、またはコンテンツ・アグリゲータ１０２を介してメディア・サービス位置に達する接続、またはメディア・サービス位置にリダイレクト（ｒｅｄｉｒｅｃｔ）される接続である。また、ＨＴＴＰ処理回路ＡＰＩ４０４は、要求されたメディア・サービスの位置からくる応答中のストリーム・データを見つける方法の詳細を管理する。メディア・サービスを求める要求は、メディア・サービスを再生するのに必要なリソース（メディア・プレーヤなど）に関する情報を含む、ＨＴＴＰまたはＭＩＭＥ（Ｍｕｌｔｉｐｕｒｐｏｓｅ  Ｉｎｔｅｒｎｅｔ  Ｍａｉｌ  Ｅｘｔｅｎｔｉｏｎ）に準拠する要求として実行されることが好ましい。標準的なＨＴＴＰリダイレクト処理と共に、ＨＴＴＰ処理回路ＡＰＩ４０４は、ＨＴＴＰ応答ヘッダを分析して、応答がストリームか、メディア・ファイルか、または他のタイプのマルチメディア・フォーマット（例えば、ＲＥＡＬＰＬＡＹＥＲ（米国における登録商標）ベースのストリーム、ストリーミングされないＭＰ３ファイル、またはビデオ信号）かを決定する。一度決定すると、ＨＴＴＰ処理回路ＡＰＩ４０４は、選択されたメディア・サービスを含むデータを受け入れる。
【００３０】
メディア・サービスを含むデータが、再生デバイス２０２に伝送されると、ＨＴＴＰ処理回路４０４は、このデータをバッファ６０４（データ・メモリ２１８に含まれる）に伝送する。バッファ６０４は、データを先入れ先出し（ＦＩＦＯ：Ｆｉｒｓｔ  Ｉｎ  Ｆｉｒｓｔ  Ｏｕｔ）方式で出力することが好ましい。任意選択により、バッファ６０４は、所定の方法（例えば、共用メモリ、メモリ・インタリーブ、メモリ・アドレス・サイクリングなど）に従って、データを待ち行列に入れる複数のメモリ・バンクを含み、先に述べたマルチスレッド処理機能により複数のメディア・サービスの要求および伝送を可能にする。
【００３１】
コンテンツ・アダプタ４０６は、バッファ６０４に記憶された、メディア・サービスを含むデータにアクセスしてこれを処理する。メディア・サービス・データの処理は、メディア・サービス・データの応答ヘッダ（ｒｅｓｐｏｎｓｅ  ｈｅａｄｅｒ）またはフッタ（ｆｏｏｔｅｒ）に含まれる情報（例えば、メディア・サービスのフォーマット、対応する再生アプリケーション６０８、メディア・サービスの出力必要条件）に応じて行われることが好ましい。コンテンツ・アダプタ４０６により行われる処理の例としては、データの圧縮解除、メディア・サービス・データ中のメタデータ（ｍｅｔａｄａｔａ）（例えば、メディア・サービスを記述するメタデータ）の分析、予め選択された音声効果（ａｕｄｉｏ  ｅｆｆｅｃｔ）またはビデオ効果（ｖｉｄｅｏ  ｅｆｆｅｃｔ）の適用が挙げられる。
【００３２】
メディア・サービス・データは、一旦処理されると、プレーヤ・アプリケーション６０８（メディア・プレーヤ）に送られ、プレーヤ・アプリケーション６０８は、ステップ３１０でメディア・サービス・データを出力または「再生」する。プレーヤ・アプリケーションは、メディア準拠デコーダ（例えば、ＲＥＡＬＰＬＡＹＥＲ、ＭＰＥＧ‐１レイヤ３、ＭＩＣＲＯＳＯＦＴ  ＭＥＤＩＡ  ＰＬＡＹＥＲ、ＱＵＩＣＫＴＩＭＥ、ＭＰＥＧ‐４、ＤｉｖＸ）であり、メディア・サービス・データを、メディア・デバイス（例えば、音声スピーカ、ビデオ・スクリーン、音声／ビデオ受信機、伝送デバイス）に出力される準備のできたデコード済み音声／ビデオ信号にデコード（復号化）する。
【００３３】
プレーヤ・アプリケーション６０８は、コンテンツ・アダプタ４０６がバッファ６０４から受け取るデータが無くなるまで、メディア・サービスを再生し続ける（そして、別のメディア・サービスの再生を開始する）か、あるいは、ステップ３１２で、メディア・サービスはリターン・コードによって終了し、それにより、伝送を停止するように指示される。好ましくは、リターン・コードは、コンテンツ・アダプタ４０６からＨＴＴＰ処理回路４０４に出され、ＨＴＴＰ処理回路４０４は、通信ネットワーク１１０を介してメディア・サービス位置に「キャンセル（ｃａｎｃｅｌ）」コマンドを送信して、メディア・サービス・データの伝送を終了する。一例として、リターン・コード（ｒｅｔｕｒｎ  ｃｏｄｅ）は、ユーザーによるキャンセル・コマンドの発行、オーバーフロー／アンダーフロー・エラー、利用可能なメモリの不足、ネットワークの輻輳、出力デバイスの未接続などを含めた原因により生じる。任意選択により、ＣＰＵ２１４は、メディア・サービスの伝送がリターン・コードによりキャンセルされたという結果を招いたエラーを認識する診断回路を有する。
【００３４】
前述のように本発明の実施例では、サービス要求、Ｉ／Ｏ（入出力）ルーチン、およびデータ変換の処理要求を、別個のスレッドに分割する。本発明のための所望の要求およびハウスキーピング・ルーチンを達成するために、動的にスレッドを類別し、スレッドにコンピュータ・リソースを（所定の方法で）割り振る。この手法の利点は、本発明によるシステムにより、他の要求の処理によって競合または遅延が引き起こされること無く要求を同時に処理できる点にある。
【００３５】
更に、スレッドを使用してＡＰＩ要求を処理することにより、アプリケーション設計者は、同期または非同期インタフェースを使用してＡＰＩサービスを実現したいか否かを選択することができる。この特徴により、ＡＰＩのサービス特性を管理するための基盤（Ｉｎｆｒａｓｔｒｕｃｔｕｒｅ）をＡＰＩの周りに開発するようアプリケーション設計者に強いること無く、大多数のプログラム内にＡＰＩを実現することが可能である。
【００３６】
各スレッドは、データ・メモリ２１８中にある固有のメモリ・バッファ・キューを介して相互に通信する。スレッドは、名前付きキューから（データ・メモリ２１８中の）バッファへの書込みおよびバッファからの取り出しを行い、あるバッファを終えると、複数のバッファを含むバッファ・プールにそのバッファを解放する。バッファ・キューにより、本発明は、特定のスレッドを特定のバッファに指定し、複数のメディア・サービスを処理する際に、メディア・サービス・データの記憶およびメディア・サービス・データへのアクセスを最適化することができる。
【００３７】
メモリ・バッファ・キューのデータ構造へのアクセスは、セマフォ・プリミティブ（ｓｅｍａｐｈｏｒｅ  ｐｒｉｍｉｔｉｖｅ）によって保護され、これはバイナリ（２値）フラグとして実現することができる。セマフォ・プリミティブを使用することにより、データ管理構造を乱すこと無くメディア・サービス・データをスレッド間で共用することができる。例えば、スレッドがメモリ・バッファ・キューにバッファを要求するとき、そのキュー・バッファに追従するデータ構造の管理はすべて、そのデータ構造への排他的アクセスを保証するセマフォ・プリミティブをロックした後に行われる。
【００３８】
メモリ・バッファ（データ記憶域２１８中の）からのデータのキュー取り出しは、ブロッキング・モード（ｂｌｏｃｋｉｎｇ  ｍｏｄｅ）と非ブロッキング・モード（ｎｏｎ−ｂｌｏｃｋｉｎｇ  ｍｏｄｅ）の両方をサポートする。ブロッキング・モードでは、スレッドは処理を停止し、バッファが提示されるのを待機し続ける。これは、不確定な時間量である可能性がある。このブロッキング機構により、スレッド間でＣＰＵ２１４のリソースのバランスをとることができる。例えば、コンテンツ・アダプタは、バッファを処理し、キュー（待ち行列）を介してバッファをプレーヤ・アプリケーションに送ることになり、キューはバッファを空にする。バッファが満たされるのを待っているときは、コンテンツ・アダプタは、バッファがＩ／Ｏスレッドによって満たされるまでこのバッファを無視（ブロック）することになり、コンテンツ・アダプタは、他の満たされたバッファにアクセスするように解放される。非ブロッキング・モードでは、メモリ・バッファが一杯でも空でも、メモリ・バッファにアクセスする（コンテンツ・アダプタの効率は低下する）。
【００３９】
ステップ３１０で述べたように、本発明は、任意選択により、同期モード（ｓｙｎｃｍｏｄｅ）または非同期モード（ａｓｙｎｃ  ｍｏｄｅ）で動作する。好ましくは、本発明の原理により、非同期モードはコールバック関数（ｃａｌｌｂａｃｋ  ｆｕｎｃｔｉｏｎ）と共に動作し、それによりＣＰＵ２１４は、プロセス（ＡＰＩ）を開始し、プロセスを特定のスレッドに指定する。また、ＣＰＵ２１４は、プロシージャに対応するコールバック関数も指定し、このコールバック関数は、ＣＰＵ２１４に返されるとプロシージャ（ＡＰＩ）を終了する。例えば、Ｉｒａｄｉｏ＿Ｌｉｓｔ＿Ｃｏｎｔｅｎｔ＿Ｃａｌｌ３０６（メディア・サービスのリストを要求する）がＣＰＵ２１４によって開始されるとき、このプロシージャに対応するスレッドおよびコールバック関数がＣＰＵ２１４によって出される。プロシージャに対応するスレッドが実行されると、コールバック関数は、プロシージャに対して指定された所定の条件に応答するポインタに渡される（例えば、コンテンツ・アグリゲータ１０２からコンテンツ・リストが伝送されると、コールバック関数がトリガされてＣＰＵ２１４に返される）。この間、追加のプロシージャが、他のスレッド上で実行される。条件が満たされた後、ポインタは、プロシージャを実行しているスレッドを終了するコールバック関数を、ＣＰＵ２１４に出す。
【００４０】
別法として、非同期使用モデルでは、コールバック関数を利用しない。非同期モードの機能も同じだが、一度に単一の（現在の）プロシージャだけが実行され、現在のプロシージャがサービスされるまで、またはエラーが生じるまで（それにより現在のプロシージャは終了する）、他のすべてのプロシージャを効果的にブロックする。現在のプロシージャが終了して、データ・メモリ２１８中のメモリ空間が解放コマンド（ＲｅｌｅａｓｅＲｅｓｐｏｎｄ）でクリアされた後、ＣＰＵ２１４は「新しい」プロシージャを開始する。
【００４１】
図７に、２つのコンテンツ・アグリゲータ１０２から得られるメディア・サービスのリストを組み合わせるための本発明の実施例を示す。ステップ７０２は、ＣＰＵ２１４がメディア・サービス・リストを第１のメディア・コンテンツ・アグリゲータに要求することにより開始する。ＣＰＵ２１４は、第１のコンテンツ・アグリゲータ１０２にアクセスするために使用されるコマンド・セットを構成するＩｒａｄｉｏ＿Ｓｅｔ＿Ｓｅｒｖｉｃｅコールを実行する（前述の図３および図４に従って）。それに続くＩｒａｄｉｏ＿Ｃｏｎｔｅｎｔ＿Ｌｉｓｔコールが、処理のためにスレッドに割り当てられ、ＣＰＵ２１４を他の処理タスクのために解放する。第１のＨＴＴＰ処理回路ＡＰＩ４０４がスレッドを受け取り、第１のメディア・コンテンツ・アグリゲータ１０２からメディア・サービス・リストを取り出すことを開始する。
【００４２】
ステップ７０４は、第２のメディア・コンテンツ・アグリゲータ１０２から得られるメディア・サービスの第２のリストを要求することを含んでいる。ＣＰＵ２１４は、第２のコンテンツ・アグリゲータ１０２にアクセスするためのコマンド・セットを構成する第２のＩｒａｄｉｏ＿Ｓｅｔ＿Ｓｅｒｖｉｃｅコールを実行する（前述の図３および図４に従って）。次いで、Ｉｒａｄｉｏ＿Ｃｏｎｔｅｎｔ＿Ｌｉｓｔコールが、第２のスレッドに割り当てられ、第２のＨＴＴＰ処理回路ＡＰＩ４０４が、第２のスレッドを受け取り、第２のコンテンツ・アグリゲータ１０４にアクセスして、第２のコンテンツ・アグリゲータ１０４からメディア・サービスのリストを取り出す。任意選択により、第１と第２のＨＴＴＰ処理回路ＡＰＩ４０４は、１つのＨＴＴＰ処理回路・ユニット４０４に結合される。これは、ＣＰＵ２１４に含めることができる。
【００４３】
ステップ７０６で、第１のＨＴＴＰ処理回路ＡＰＩ４０４は、第１のコンテンツ・アグリゲータ１０２にメディア・サービス・リストを要求するために使用されるＧｅｔコマンド（例えば、ＨＴＴＰ  Ｇｅｔコマンド）を実行する。Ｇｅｔコマンドは、ＨＴＭＬまたはＸＭＬベースの要求として伝送されることが好ましい。
【００４４】
ステップ７０８は、第１のコンテンツ・アグリゲータ１０２が、Ｇｅｔコマンドに応答することを含んでいる。好ましくは、第１のコンテンツ・アグリゲータ１０２は、第１のＨＴＴＰ処理回路ＡＰＩ４０４にメディア・サービス・リストを伝送し、第１のＨＴＴＰ処理回路ＡＰＩ４０４は、リストの保全性（完全性）（例えば、リストが第１のＨＴＴＰ処理回路ＡＰＩ４０４によって認識されるフォーマットに適合するかどうか）を決定する。あるいは、メディア・サービスのリストが損なわれている場合は、Ｇｅｔコマンドが（ステップ７０６で）所定の回数にわたって繰り返された後、第１のＨＴＴＰ処理回路ＡＰＩ４０４は中断し、エラー・メッセージをＣＰＵ２１４に返す。ステップ７１０で、第１のＨＴＴＰ処理回路ＡＰＩ４０４は、第１のコンテンツ・アグリゲータからのメディア・サービス・リストを含むデータを収集し、追加の処理のためにリストをコンテンツ・アダプタ４０６に転送する。
【００４５】
ステップ７１２で、コンテンツ・アダプタ４０６は、メディア・サービス・リストを受け取り、適切な変換ルーチンを呼び出して（例えば、受け取ったリストをルックアップ・テーブルを介して本発明の内部フォーマットに変換する）、メディア・サービスのジャンルおよびサブジャンルを含む共通（内部）コンテンツ・リスト・データ構造を生成する。この共通コンテンツ・リストを使用して、表示デバイス２２２上に表示される閲覧可能なメディア・サービス・リストを生成することができる。メディア・サービス・リストのジャンルおよびサブジャンルは、メディア・サービス・リスト内のメタデータによって、または、メタデータを外部データベース（例えば、ＣＤＤＢ（商標）やＭＵＺＥ（商標））に適合することによって決定することが好ましい。本発明の原理によれば、メディア・サービスは次のような情報（メタデータ）でグループ化することができる。即ち、メディア・サービス作者（ｍｅｄｉａ  ｓｅｒｖｉｃｅ  ａｕｔｈｏｒ）、著作権日付、メディア・サービス伝送日、パフォーマ、題名、主題（ｓｕｂｊｅｃｔ）、親権者による格付（ｐａｒｅｎｔａｌ  ｒａｔｉｎｇ）、ユーザー格付（ｕｓｅｒ  ｒａｔｉｎｇ）、監督（ｄｉｒｅｃｔｏｒ）、製作者（ｐｒｏｄｕｃｅｒ）、実行時間（ｒｕｎｎｉｎｇ  ｌｅｎｇｔｈ）、メディア・サービス伝送ロケータ（例えば、ラジオ局、テレビ局、スタジオなど）、コンテンツ・アグリゲータ加入（ｃｏｎｔｅｎｔ  ａｇｇｒｅｇａｔｏｒ  ｓｕｂｓｃｒｉｐｔｉｏｎ）、言語（ｌａｎｇｕａｇｅ）などである。
【００４６】
ステップ７１４で、ＣＰＵ２１４は、第２のコンテンツ・アグリゲータ１０２から得られるメディア・サービスのリストを求めてステップ７０６〜７１２を繰り返す。第２のＨＴＴＰ処理回路ＡＰＩ４０４が、Ｇｅｔコマンドを介して第２のメディア・サービス・リストを要求する（ステップ７０６）。第２のコンテンツ・アグリゲータ１０２は、Ｇｅｔコマンドに応答する（ステップ７０８）。第２のＨＴＴＰ処理回路ＡＰＩ４０４は、第２のコンテンツ・アグリゲータ１０２からのメディア・サービス・リストを収集し、この第２のリストを追加の処理のためにコンテンツ・アダプタ４０６に転送する（ステップ７１０）。コンテンツ・アダプタ４０６は、共通リスト・データ構造を使用して、第２のコンテンツ・リストにリストされているメディア・サービスをメディア・タイプのジャンルおよびサブジャンルにマッチさせる。次いで、第１および第２のコンテンツ・リストのコンテンツを、例えば、図５に示すように、共通の音楽ジャンルに従って、または前述のようにメタデータ属性を用いた他のタイプの階層リストに従って、統一コンテンツ・リスト（ｕｎｉｆｉｅｄ  ｃｏｎｔｅｎｔ  ｌｉｓｔ）中に索引付けする。
【００４７】
統一コンテンツ・リストは、表示デバイス２２２上でユーザーに提示される。統一コンテンツ・リスト中の各項目は、コンテンツおよびそのソースを一意に判別するコンテンツ識別子（ＩＤ）を有する。メディア・サービスが取り出しのために選択されると、コンテンツ・アダプタ４０６は、この識別子をＣＰＵ２１４に渡す。次いで、ＣＰＵ２１４は、前に図６で述べた方法に従ってメディア・サービスを取り出して再生する。
【００４８】
図５に、統一リストの形式にマージ（ｍｅｒｇｅ：結合）されたコンテンツ選択肢の例を示す。コンテンツ・アグリゲータから得られるメディア・サービスのジャンルおよびサブジャンルは、データ・メモリ２１８にダウンロードされ、好ましくはＸＭＬパーサ４０８のサブルーチンによって操作される。例えば、第１のコンテンツ・アグリゲータ１０２は、音楽ジャンルおよび関連サブジャンルでグループ化されたメディア・サービス・リスト５１０を有する（例えば、音楽ジャンルであるジャズは、サブジャンルとしてブラス、サンコースト・サウンド、トリオを有する）。第２のコンテンツ・アグリゲータ１０２は、音楽ジャンルおよび関連サブジャンルでグループ化されたメディア・サービス・リスト５２０を有する（例えば、音楽ジャンルであるジャズは、サブジャンルとしてアシッド・ジャズ（Ａｃｉｄ  Ｊａｚｚ）を有する）。ＸＭＬパーサ４０８は、関連ジャンルを共にグループ化し、統一コンテンツ・アグリゲータ・リスト５３０に示されるようなフォーマットにする（例えば、ジャズは、２つのコンテンツ・アグリゲータから結合されるサブジャンル、即ち、アシッド・ジャズ、ブラス、サンコースト・サウンド、トリオを有する）。次いで、このフォーマットは表示デバイス２２２に出力され、音声スピーカ２２０を介して再生のために、音楽サービスが入力デバイス２２４によって選択される。
【００４９】
図８に、ネットワーク上で接続されたデバイスが、コンテンツ・アグリゲータ１０２を介して得られる２次メディア・サービスを制御および受信することのできる、本発明の例示的な実施例を開示する。ネットワークに接続されるデバイスは、所定のプロトコル（例えば、ユニバーサル・プラグアンドプレイ（Ｕｎｉｖｅｒｓａｌ  Ｐｌｕｇ  ａｎｄ  Ｐｌａｙ）、ＩＥＥＥ８０２．１１、ＢＬＵＥＴＯＯＴＨ（米国における登録商標）、ＩＥＥＥ‐１３９４）に適合し、これによりデバイスは、その所定のプロトコルに適合するネットワーク上の他の機器の機能を認識および利用することができる。１次メディア・サービスは、デバイスに元々存在するメディア・サービスである。例えば、外部デバイス８２０（ステレオ受信機）は、電波として受信した音声を再生するが、この音声は、アンテナ８２２を介して受信され、チューナ８２４により復調され、音声スピーカ８１８を介して再生される。２次メディア・サービスは、ネットワーク上のデバイスによりネットワーク接続を介してアクセスおよび制御される他の機器中で生じるメディア・サービスである。例えば、受信機８２０は、ケーブル・セット・トップ・ボックス２０４を介して、コンテンツ・アグリゲータ１０２からのストリーミング音声放送（２次メディア・サービス）を受信および制御する。この例では、セット・トップ・ボックス２０４は、所定のプロトコルの動作によって索引付けおよび管理されるコンテンツ・ディレクトリ８０６サービス（得られるメディア・サービスをリストするハードウェアまたはソフトウェア）として２次メディア・サービスを供給する。
【００５０】
受信機８２０は、所定のプロトコルによって、ネットワークまたはワイヤレス接続を介してセット・トップ・ボックス２０４と通信する。また、セット・トップ・ボックス２０４も、通信ネットワーク１１０を介してコンテンツ・アグリゲータ１０２に接続し、それによりコンテンツ・アグリゲータ１０２は、２次メディア・サービス（例えば、ストリーミング音声およびビデオ、ＭＰ３、コンパクト・ディスク音楽、放送ビデオ）が得られるようにする。コンテンツ・アグリゲータ１０２は、ＴＣＰ／ＩＰベースの接続によってハードウェア・サービス・モジュール８０２を介してセット・トップ・ボックス２０４と通信することが好ましい。ハードウェア・サービス・モジュール８０２は、シリアル、パラレル、イーサネット（日本および米国における登録商標）、またはその他の接続インタフェースを備える、モデムまたは他のタイプの双方向通信デバイスである。また、ハードウェア・サービス・モジュール８０２は、セット・トップ・ボックス２０４に接続されるテレビジョン２０８上に表示されるビデオ番組を制御する。
【００５１】
セット・トップ・ボックス２０４に接続されるコントローラである制御ポイント（ｃｏｎｔｒｏｌ  ｐｏｉｎｔ）８１０（例えば、コンピュータ、マイクロプロセッサ、ソフトウェア・ドライバ）は、コンテンツ・アグリゲータ１０２から得られるメディア・サービスのリストを、セット・トップ・ボックス２０４を介して要求する。この要求は、前に図４で述べたように、コンテンツ・ディレクトリ８０６によって受け取られ、コンテンツ・ディレクトリ８０６は、（ステップ３０６からの）Ｌｉｓｔ＿Ｃｏｎｔｅｎｔ＿ＣａｌｌをストリームＡＰＩ８０４に出す。任意選択により、セット・トップ・ボックス２０４は、複数のコンテンツ・アグリゲータ１０２からメディア・サービス・リストを好ましくはＸＭＬまたはＨＴＭＬベースの文書として受信する。ストリームＡＰＩ８０４により受け取られたメディア・サービス・リストは、処理され、コンテンツ・ディレクトリ・サービス８０６に転送される。更に、コンテンツ・ディレクトリ・サービス８０６は、メディア・サービス・リストを所定のフォーマットに従ってＸＭＬからフォーマット化して索引付けし、その所定のフォーマットに適合する他の機器からアクセスできるようにする。
【００５２】
制御ポイント８１０は、得られるメディア・サービスを表示デバイス（テレビジョン２０８）上に表示するコマンドを、セット・トップ・ボックス２０４に送る。制御ポイント８１０は、所定のプロトコルの表示サービス・ルーチンを使用して、メディア・サービス・リストをセット・トップ・ボックス２０４に要求する。また、セット・トップ・ボックス２０４は、要求の伝送を受け、コンテンツ・ディレクトリ・サービス８０６中にあるメディア・サービス・リストを転送する。制御ポイント８１０は、メディア・サービス・リストを受け取ってＨＴＭＬコードとしてフォーマット化し、これをハードウェア・サービス８０２に送る。ハードウェア・サービス８０２は、接続されたテレビジョン２０８上に表示されるようにＨＴＭＬを供給する。供給されたＨＴＭＬコードは、テキストとグラフィックスの組合せとして表示されることが好ましく、これは前述の図１１に示すような電子番組ガイド（Ｅｌｅｃｔｒｏｎｉｃ  Ｐｒｏｇｒａｍ  Ｇｕｉｄｅ：ＥＰＧ）として使用することができる。また、制御ポイント８１０は、追加のメディア・サービスや、コンテンツ・アグリゲータ１０２から生じるのではないインターネット・ベースの素材（ｍａｔｅｒｉａｌ：マテリアル）など、その他のサービス８０８を制御および伝送することも可能である。これらのサービスとしては、電子番組ガイド、電子メール、および、選択されたメディア・サービス（ＣＤやカセット・テープ）をオンライン・ストア経由でユーザー選択デバイス８２６によって購入することなどがある。
【００５３】
テレビジョン２０８のメディア・サービス・リストから、ユーザー選択デバイス８２６によってメディア・サービスが選択され、ユーザー選択デバイス８２６は、制御ポイント８１０に信号を送る。ユーザー選択デバイス８２６は、有線または無線インタフェースを使用して制御ポイント８１０と通信するリモート・コントロールであることが好ましく、それにより、テレビジョン２０８は、ユーザー選択デバイス８２６上の方向指示パッド（ｄｉｒｅｃｔｉｏｎａｌ  ｐａｄ）、ボタン、またはノブ（ｋｎｏｂ：つまみ）の使用によってメディア・サービス・リストを表示する。ユーザー選択デバイス８２６によってメディア・サービスが選択されると、制御ポイント８１０は、メディア・サービスを求める要求をフォーマット化して、ハードウェア・サービス・モジュール８０２および通信ネットワーク１１０を介してコンテンツ・アグリゲータ１０２に送信する。
【００５４】
コンテンツ・アグリゲータ１０２は、メディア・サービス要求を受信し、要求を処理してから、メディア・サービスを含むデータを通信ネットワーク１１０を介してハードウェア・サービス８０２に伝送する。ハードウェア・サービス８０２はデータを受信し、ストリームＡＰＩ８０４に転送する。ストリームＡＰＩ８０４は、メディア・サービスのデータを、セット・トップ・ボックス２０４によって利用される内部フォーマットにフォーマット化する。
【００５５】
制御ポイント８１０は、メディア・サービスを受信機８２０に出力する要求をＡＶトランスポート８１２に送ることにより、メディア・サービスを含むデータの出力を調整する。ＡＶトランスポート８１２は、外部デバイス（受信機８２０）への接続インタフェースを含んでいることが好ましい。任意選択により、ＡＶトランスポート８１２は、ストリームＡＰＩ８０４のバッファ中にあるデータ（メディア・サービスを形成する）の伝送を制御するソフトウェアを含んでいる。ＡＶトランスポート８１２は、メディア・サービスを含むデータを（ストリームＡＰＩ８０４から）受け取り、フォーマット化する（受信機８２０に出力するための所定の信号フォーマットに）。信号は、ＡＶトランスポート８１２の接続を介して受信機８２０に出力される。ＡＶトランスポート８１２は、メディア選択が完全に受信されるまで、またはユーザーがその選択を再生し終えるまで、ストリームＡＰＩ８０４のバッファを継続的に待ち行列に入れる。
【００５６】
受信機８２０（例えば、音声受信機）は、ＡＶトランスポート８１４を介して、セット・トップ・ボックス２０４との接続インタフェースによって出力信号を受信する。ＡＶトランスポート８１４は、処理のために信号をハードウェア・サービス８１６に転送する。次いで、ハードウェア・サービス８１６は、処理した信号を音声再生のために音声スピーカ８１８に転送する。任意選択により、外部デバイスは、無線周波数（ＲＦ）ベースの無線信号をアンテナ８２２から受け取る内蔵チューナ８２４を有する。チューナ８２４は、接続された音声スピーカ８１８で再生されるように無線信号を復調しデコードする。ハードウェア・サービス８１６が、信号を受け取って処理済み信号を出力すると、外部デバイスは、チューナ８２４の再生を自動的に中断する。選択されたメディア・サービスが終了または完了したとき、チューナ８２４を介して受信される無線信号の再生が再開される。
【００５７】
本発明の原理によれば、コンテンツ・アグリゲータから得られるメディア・サービスを伝送するその他の伝送システムの形式も、本発明から利点を得ることができる。例えば、複数のメディア・サービスが利用可能である衛星無線放送は、セット・トップ・ボックス・ケーブル・インタフェースを介してその選択肢がこれらの利用可能なメディア・サービスと組み合わせられるようにして、統一メディア・サービス・リストを形成することができる。
【図面の簡単な説明】
【図１】
コンテンツ・アグリゲータによって集約される音声およびビデオ・ベースのメディア・サービスの図である。
【図２】
本発明を用いるデバイスと複数のコンテンツ・アグリゲータとの間のインターネット接続の図である。
【図３】
コンテンツ・アグリゲータへの要求をフォーマット化するフローチャートである。
【図４】
コンテンツ・アグリゲータにコンテンツ・リストを要求するブロック図である。
【図５】
統一コンテンツ・リスト中に索引付けされる、複数のコンテンツ・アグリゲータから得られる音声ベースのメディア・サービスの図である。
【図６】
コンテンツ・アグリゲータにメディア・サービスを要求して取得するブロック図である。
【図７】
コンテンツ・アグリゲータに音楽サービスを要求して取得する同期使用モデルのフローチャートである。
【図８】
制御ポイントを使用して複数のコンテンツ・アグリゲータに音楽サービスを要求して取得する図である。
【図９】
再生デバイスが、コンテンツ・アグリゲータからコンピュータ・コードとして受け取る、メディア・サービスのコンテンツ・リストの図である。
【図１０】
コンテンツ・アダプタによって再生デバイスの内部データ構造にフォーマット化された、メディア・サービスのコンテンツ・リストの図である。
【図１１】
ＸＭＬパーサによりメニューにフォーマット化された、メディア・サービスのコンテンツ・リストの図である。
【図１】
2004524735.tif 000003
【図２】
2004524735.tif 000004
【図３】
2004524735.tif 000005
【図４】
2004524735.tif 000006
【図５】
2004524735.tif 000007
【図６】
2004524735.tif 000008
【図７】
2004524735.tif 000009
【図８】
2004524735.tif 000010
【図９】
2004524735.tif 000011
【図１０】
2004524735.tif 000012
【図１１】
2004524735.tif 000013
【国際公開パンフレット】
2004524735.tif 000014
2004524735.tif 000015
2004524735.tif 000016
2004524735.tif 000017
2004524735.tif 000018
2004524735.tif 000019
2004524735.tif 000020
2004524735.tif 000021
2004524735.tif 000022
2004524735.tif 000023
2004524735.tif 000024
2004524735.tif 000025
2004524735.tif 000026
2004524735.tif 000027
2004524735.tif 000028
2004524735.tif 000029
2004524735.tif 000030
2004524735.tif 000031
2004524735.tif 000032
2004524735.tif 000033
2004524735.tif 000034
2004524735.tif 000035
2004524735.tif 000036
2004524735.tif 000037
2004524735.tif 000038
2004524735.tif 000039
2004524735.tif 000040
2004524735.tif 000041
2004524735.tif 000042
2004524735.tif 000043
2004524735.tif 000044
2004524735.tif 000045
2004524735.tif 000046
2004524735.tif 000047
2004524735.tif 000048
2004524735.tif 000049
2004524735.tif 000050
2004524735.tif 000051
【国際調査報告】
2004524735.tif 000052
2004524735.tif 000053