(57)【要約】  セッション記述メッセージ拡張子は、マルチメディアプレゼンテーションまたは単一のメディアプレゼンテーションを記述する情報を含む。セッション記述メッセージ拡張子は、一般に、あるデバイスから、マルチメディアまたは単一のメディアプレゼンテーションがストリーミングされる他のデバイスへ送られる。セッション記述メッセージに含まれることができる情報を拡張するいくつかの拡張子が記載される。
2007535860.tif 000002
【特許請求の範囲】
【請求項１】
クライアントデバイスへストリーミングされるマルチメディアプレゼンテーションの特性を記述するセッション記述メッセージを生成するステップであって、前記マルチメディアプレゼンテーションは、複数のメディアストリームを有し、前記セッション記述メッセージは、
ＡＳＦファイルヘッダから分離され、かつ前記複数のメディアストリームのどれが相互に排他的であるかを特定する相互排他性拡張子と、
前記ＡＳＦファイルヘッダから分離され、かつ前記マルチメディアプレゼンテーション内でインデックスを特定するマーカ拡張子と、
前記ＡＳＦファイルヘッダから分離され、かつ前記マルチメディアプレゼンテーションの再生中に示されるべきデータを特定するスクリプトコマンド拡張子と、
前記ＡＳＦファイルヘッダから分離され、かつ特定のビットレートで前記マルチメディアプレゼンテーションをプレイするとき、どれだけ多くの前記マルチメディアプレゼンテーションのデータをバッファリングするかを特定するリーキーバケット拡張子と、
前記ＡＳＦファイルヘッダから分離され、かつ前記マルチメディアプレゼンテーションのキャッシングに関する情報を特定するキャッシング情報拡張子と、
前記ＡＳＦファイルヘッダから分離され、かつ１つまたは複数の異なる複数のコーデックに関するコーデックパラメータを特定するカプセル化拡張子と、
前記ＡＳＦファイルヘッダから分離され、かつ帯域幅を共有する複数のメディアストリームのメディアストリームを特定する帯域幅共有拡張子と、
前記ＡＳＦファイルヘッダから分離され、かつどの前記複数のメディアストリームが、どの他の前記複数のメディアストリームを超える優先度を有するべきかを特定するストリーム優先順位付け拡張子とを有し、かつ
前記クライアントデバイスにストリーミングされるデータの一部として、前記セッション記述メッセージを含むステップを備えることを特徴とする方法。
【請求項２】
クライアントデバイスへストリーミングされるマルチメディアプレゼンテーションの特性を記述するセッション記述メッセージを生成する格納された複数の命令を有する１つまたは複数のコンピュータ可読媒体であって、１つまたは複数のプロセッサによって実行されるとき、前記複数の命令は１つまたは複数のプロセッサが、
前記マルチメディアプレゼンテーションのＡＳＦファイルヘッダにアクセスすること、
前記ＡＳＦファイルヘッダの複数のオブジェクトのサブセットを識別すること、
前記複数のオブジェクトの前記サブセットにおける各オブジェクトに関して、前記セッション記述に関する複数の拡張子の異なる１つを生成すること、
前記複数のオブジェクトの前記サブセットにおける各オブジェクトに関して、
前記オブジェクトから１つまたは複数のパラメータを検索すること、および
前記複数の拡張子の１つに関するパラメータとして前記検索されたパラメータを使用することをもたらすことを特徴とする１つまたは複数のコンピュータ可読媒体。
【請求項３】
前記複数の拡張子の１つは、前記マルチメディアプレゼンテーションの複数のメディアストリームのどれが、相互に排他的であるかを特定する相互排他性拡張子を含むことを特徴とする請求項２に記載の１つまたは複数のコンピュータ可読媒体。
【請求項４】
前記複数の拡張子の１つは、前記マルチメディアプレゼンテーション内でインデックスを特定するマーカ拡張子を含むことを特徴とする請求項２に記載の１つまたは複数のコンピュータ可読媒体。
【請求項５】
前記複数の拡張子の１つは、前記マルチメディアプレゼンテーションの再生中に示されるべきデータを特定するスクリプトコマンド拡張子を含むことを特徴とする請求項２に記載の１つまたは複数のコンピュータ可読媒体。
【請求項６】
前記複数の拡張子の１つは、特定のビットレートで前記マルチメディアプレゼンテーションをプレイするとき、どれだけ多くの前記マルチメディアプレゼンテーションのデータをバッファリングするかを特定するリーキーバケット拡張子を含むことを特徴とする請求項２に記載の１つまたは複数のコンピュータ可読媒体。
【請求項７】
前記複数の拡張子の１つは、前記マルチメディアプレゼンテーションのキャッシングに関する情報を特定するキャッシング情報拡張子を含むことを特徴とする請求項２に記載の１つまたは複数のコンピュータ可読媒体。
【請求項８】
前記複数の拡張子の１つは、１つの異なる複数のコーデックに関するコーデックパラメータを特定するカプセル化拡張子を含むことを特徴とする請求項２に記載の１つまたは複数のコンピュータ可読媒体。
【請求項９】
前記複数の拡張子の１つは、帯域幅を共有する前記マルチメディアプレゼンテーションの複数のメディアストリームのメディアストリームを特定する帯域幅共有拡張子を含むことを特徴とする請求項２に記載の１つまたは複数のコンピュータ可読媒体。
【請求項１０】
前記複数の拡張子の１つは、どの前記マルチメディアプレゼンテーションの複数のメディアストリームが、どの他の前記複数のメディアストリームを超える優先度を有するべきかを特定するストリーム優先順位付け拡張子を含むことを特徴とする請求項２に記載の１つまたは複数のコンピュータ可読媒体。
【請求項１１】
格納された複数の命令を有する１つまたは複数のコンピュータ可読媒体であって、前記複数の命令は、１つまたは複数のプロセッサによって実行されるとき、１つまたは複数のプロセッサが、
クライアントデバイスへストリーミングされるマルチメディアプレゼンテーションの特性を記述するセッション記述メッセージを生成することであって、前記マルチメディアプレゼンテーションは複数のメディアストリームを有し、前記セッション記述メッセージは、ＡＳＦファイルヘッダから分離され、かつ前記複数のメディアストリームのどれが相互に排他的であるかを特定する相互排他性拡張子を有すること、および
前記クライアントデバイスにストリーミングされるデータの一部として、前記セッション記述メッセージを含めることをもたらすことを特徴とする１つまたは複数のコンピュータ可読媒体。
【請求項１２】
前記セッション記述メッセージは、セッション記述プロトコル（ＳＤＰ）メッセージであることを特徴とする請求項１１に記載の１つまたは複数のコンピュータ可読媒体。
【請求項１３】
前記１つまたは複数のプロセッサが前記セッション記述メッセージを生成することをもたらす前記命令は、さらに前記１つまたは複数のプロセッサが、
前記マルチメディアプレゼンテーションのＡＳＦファイルヘッダのオブジェクトを識別すること、
前記オブジェクトから１つまたは複数のパラメータを検索すること、および
前記相互排他性拡張子に関するパラメータを決定するために前記検索された１つまたは複数のパラメータを解析することをもたらすことを特徴とする請求項１１に記載の１つまたは複数のコンピュータ可読媒体。
【請求項１４】
値ＥｘｃｌｕｓｉｏｎＴｙｐｅは、相互排他性のタイプを表し、値ＳｔｒｅａｍＮｕｍｂｅｒｓは、相互に排他的である前記メディアストリームを表し、かつ前記相互排他性拡張子は、ａ＝ｇｒｏｕｐ：ＥｘｃｌｕｓｉｏｎＴｙｐｅ  Ｓｔｒｅａｍ  Ｎｕｍｂｅｒｓを含むことを特徴とする請求項１１に記載の１つまたは複数のコンピュータ可読媒体。
【請求項１５】
前記複数のメディアストリームは、ビットレートに基づき相互に排他的であることを特徴とする請求項１１に記載の１つまたは複数のコンピュータ可読媒体。
【請求項１６】
前記複数のメディアストリームは、言語に基づき相互に排他的であることを特徴とする請求項１１に記載の１つまたは複数のコンピュータ可読媒体。
【請求項１７】
格納された複数の命令を有する１つまたは複数のコンピュータ可読媒体であって、前記複数の命令は、１つまたは複数のプロセッサによって実行されるとき、１つまたは複数のプロセッサが、
クライアントデバイスへストリーミングされるマルチメディアプレゼンテーションの特性を記述するセッション記述メッセージを生成することであって、前記マルチメディアプレゼンテーションは複数のメディアストリームを有し、前記セッション記述メッセージは、ＡＳＦファイルヘッダから分離され、かつ前記マルチメディアプレゼンテーション内へのインデックス特定するマーカ拡張子を有すること、および
前記クライアントデバイスにストリーミングされるデータの一部として、前記セッション記述メッセージを含めることをもたらすことを特徴とする１つまたは複数のコンピュータ可読媒体。
【請求項１８】
前記セッション記述メッセージは、セッション記述プロトコル（ＳＤＰ）メッセージであることを特徴とする請求項１７に記載の１つまたは複数のコンピュータ可読媒体。
【請求項１９】
前記１つまたは複数のプロセッサが前記セッション記述メッセージを生成することをもたらす前記命令は、さらに前記１つまたは複数のプロセッサが、
前記マルチメディアプレゼンテーションのＡＳＦファイルヘッダのオブジェクトを識別すること、
前記オブジェクトから１つまたは複数のパラメータを検索すること、および
前記マーカ拡張子に関するパラメータを決定するために前記検索された１つまたは複数のパラメータを解析することをもたらすことを特徴とする請求項１７に記載の１つまたは複数のコンピュータ可読媒体。
【請求項２０】
値ｎａｍｅは、前記マーカの名称を表し、値ｔｉｍｅは、前記マーカのプレゼンテーション時間を表し、値ｄｅｓｃは、前記インデックスを表し、かつ前記マーカ拡張子は、ａ＝ｍａｒｋｅｒ：ｎａｍｅ  ｔｉｍｅ；ｄｅｓｃを含むことを特徴とする請求項１７に記載の１つまたは複数のコンピュータ可読媒体。
【請求項２１】
格納された複数の命令を有する１つまたは複数のコンピュータ可読媒体であって、前記複数の命令は、１つまたは複数のプロセッサによって実行されるとき、１つまたは複数のプロセッサが、
クライアントデバイスへストリーミングされるマルチメディアプレゼンテーションの特性を記述するセッション記述メッセージを生成することであって、前記マルチメディアプレゼンテーションは複数のメディアストリームを有し、前記セッション記述メッセージは、ＡＳＦファイルヘッダから分離され、かつ前記マルチメディアプレゼンテーションの再生中に示されるべきデータを特定するスクリプトコマンド拡張子を有すること、および
前記クライアントデバイスにストリーミングされるストリーミングデータの一部として、前記セッション記述メッセージを含めることをもたらすことを特徴とする１つまたは複数のコンピュータ可読媒体。
【請求項２２】
前記セッション記述メッセージは、セッション記述プロトコル（ＳＤＰ）メッセージであることを特徴とする請求項２１に記載の１つまたは複数のコンピュータ可読媒体。
【請求項２３】
前記１つまたは複数のプロセッサが前記セッション記述メッセージを生成することをもたらす前記命令は、さらに前記１つまたは複数のプロセッサが、
前記マルチメディアプレゼンテーションのＡＳＦファイルヘッダのオブジェクトを識別すること、
前記オブジェクトから１つまたは複数のパラメータを検索すること、および
前記スクリプトコマンド拡張子に関するパラメータを決定するために前記検索された１つまたは複数のパラメータを解析することをもたらすことを特徴とする請求項２１に記載の１つまたは複数のコンピュータ可読媒体。
【請求項２４】
前記スクリプトコマンド拡張子は、前記データを有するウェブページの識別子を含むことによって前記データを特定することを特徴とする請求項２１に記載の１つまたは複数のコンピュータ可読媒体。
【請求項２５】
値ｔｙｐｅは、コマンドのタイプを表し、値ｔｉｍｅは、前記データがプレゼンテーションされるとき前記マルチメディアプレゼンテーションのプレゼンテーション時間を表し、値ｃｏｍｍａｎｄは、前記プレゼンテーション時間で表示されるべきデータを表し、かつ前記スクリプトコマンド拡張子は、ａ＝ｓｃｒｉｐｔ：ｔｙｐｅ  ｔｉｍｅ；ｃｏｍｍａｎｄを含むことを特徴とする請求項２１に記載の１つまたは複数のコンピュータ可読媒体。
【請求項２６】
格納された複数の命令を有する１つまたは複数のコンピュータ可読媒体であって、前記複数の命令は、１つまたは複数のプロセッサによって実行されるとき、１つまたは複数のプロセッサが、
クライアントデバイスへストリーミングされるマルチメディアプレゼンテーションの特性を記述するセッション記述メッセージを生成することであって、前記マルチメディアプレゼンテーションは複数のメディアストリームを有し、前記セッション記述メッセージは、ＡＳＦファイルヘッダから分離され、かつ特定のビットレートで前記マルチメディアプレゼンテーションをプレイするとき、どれだけ多くの前記マルチメディアプレゼンテーションのデータをバッファリングするかを特定するリーキーバケット拡張子を有すること、および
前記クライアントデバイスにストリーミングされるデータの一部として、前記セッション記述メッセージを含めることをもたらすことを特徴とする１つまたは複数のコンピュータ可読媒体。
【請求項２７】
前記セッション記述メッセージは、セッション記述プロトコル（ＳＤＰ）メッセージであることを特徴とする請求項２６に記載の１つまたは複数のコンピュータ可読媒体。
【請求項２８】
前記１つまたは複数のプロセッサが前記セッション記述メッセージを生成することをもたらす前記命令は、さらに前記１つまたは複数のプロセッサが、
前記マルチメディアプレゼンテーションのＡＳＦファイルヘッダのオブジェクトを識別すること、
前記オブジェクトから１つまたは複数のパラメータを検索すること、および
前記リーキーバケット拡張子に関するパラメータを決定するために前記検索された１つまたは複数のパラメータを解析することをもたらすことを特徴とする請求項２６に記載の１つまたは複数のコンピュータ可読媒体。
【請求項２９】
値Ｒｘは、リーキーバケットｘに関するリークレートを表し、値Ｂｘは、リーキーバケットｘのサイズを表し、かつ前記リーキーバケット拡張子は、ａ＝ｂｕｃｋｅｔｉｎｆｏ：Ｒｘ；Ｂｘを含むことを特徴とする請求項２６に記載の１つまたは複数のコンピュータ可読媒体。
【請求項３０】
格納された複数の命令を有する１つまたは複数のコンピュータ可読媒体であって、前記複数の命令は、１つまたは複数のプロセッサによって実行されるとき、１つまたは複数のプロセッサが、
クライアントデバイスへストリーミングされるマルチメディアプレゼンテーションの特性を記述するセッション記述メッセージを生成することであって、前記マルチメディアプレゼンテーションは複数のメディアストリームを有し、前記セッション記述メッセージは、ＡＳＦファイルヘッダから分離され、かつ前記マルチメディアプレゼンテーションのキャッシングに関する情報を特定するキャッシング情報拡張子を有すること、および
前記クライアントデバイスにストリーミングされるデータの一部として、前記セッション記述メッセージを含めることをもたらすことを特徴とする１つまたは複数のコンピュータ可読媒体。
【請求項３１】
前記セッション記述メッセージは、セッション記述プロトコル（ＳＤＰ）メッセージであることを特徴とする請求項３０に記載の１つまたは複数のコンピュータ可読媒体。
【請求項３２】
前記１つまたは複数のプロセッサが前記セッション記述メッセージを生成することをもたらす前記命令は、さらに前記１つまたは複数のプロセッサが、
前記マルチメディアプレゼンテーションのＡＳＦファイルヘッダのオブジェクトを識別すること、
前記オブジェクトから１つまたは複数のパラメータを検索すること、および
前記キャッシング情報拡張子に関するパラメータを決定するために前記検索された１つまたは複数のパラメータを解析することをもたらすことを特徴とする請求項３０に記載の１つまたは複数のコンピュータ可読媒体。
【請求項３３】
前記マルチメディアプレゼンテーションのキャッシングに関する前記情報は、前記クライアントデバイスは、前記マルチメディアプレゼンテーションをキャッシュすることが許可されるかどうかを特定する情報を含むことを特徴とする請求項３０に記載の１つまたは複数のコンピュータ可読媒体。
【請求項３４】
前記マルチメディアプレゼンテーションのキャッシングに関する前記情報は、前記クライアントデバイスは、前記マルチメディアプレゼンテーションを再ブロードキャストすることが許可されるかどうかを特定する情報を含むことを特徴とする請求項３０に記載の１つまたは複数のコンピュータ可読媒体。
【請求項３５】
値ｒｉｇｈｔｓは、前記マルチメディアプレゼンテーションのキャッシングに関する前記情報を表し、かつ前記キャッシング情報拡張子は、ａ＝ｃａｃｈｅｃｔｒｌ：Ｒｉｇｈｔｓを含むことを特徴とする請求項３０に記載の１つまたは複数のコンピュータ可読媒体。
【請求項３６】
格納された複数の命令を有する１つまたは複数のコンピュータ可読媒体であって、前記複数の命令は、１つまたは複数のプロセッサによって実行されるとき、１つまたは複数のプロセッサが、
クライアントデバイスへストリーミングされるマルチメディアプレゼンテーションの特性を記述するセッション記述メッセージを生成することであって、前記マルチメディアプレゼンテーションは複数のメディアストリームを有し、前記セッション記述メッセージは、ＡＳＦファイルヘッダから分離され、かつ１つまたは複数の異なる複数のコーデックに関するコーデックパラメータを特定するカプセル化拡張子を有すること、および
前記クライアントデバイスにストリーミングされるデータの一部として、前記セッション記述メッセージを含めることをもたらすことを特徴とする１つまたは複数のコンピュータ可読媒体。
【請求項３７】
前記セッション記述メッセージは、複数のカプセル化拡張子を含み、前記複数のカプセル化拡張子のそれぞれは、同一であるが前記複数の異なるコーデックの異なるコーデックに関するものであるシンタックスを有することを特徴とする請求項３６に記載の１つまたは複数のコンピュータ可読媒体。
【請求項３８】
前記セッション記述メッセージは、セッション記述プロトコル（ＳＤＰ）メッセージであることを特徴とする請求項３６に記載の１つまたは複数のコンピュータ可読媒体。
【請求項３９】
前記１つまたは複数のプロセッサが前記セッション記述メッセージを生成することをもたらす前記命令は、さらに前記１つまたは複数のプロセッサが、
前記マルチメディアプレゼンテーションのＡＳＦファイルヘッダのオブジェクトを識別すること、
前記オブジェクトから１つまたは複数のパラメータを検索すること、および
前記カプセル化拡張子に関するパラメータを決定するために前記検索された１つまたは複数のパラメータを解析することをもたらすことを特徴とする請求項３６に記載の１つまたは複数のコンピュータ可読媒体。
【請求項４０】
値ｐｔは、ペイロードタイプ数を表し、値ＭＩＭＥは、前記複数の異なるコーデックの１つの識別子を表し、値ｃｏｎｆｉｇ−ｉｎｆｏは、前記複数の異なるコーデックの１つに関する初期化データを表し、前記カプセル化拡張子は、ａ＝ｆｍｔｐ：ｐｔ  ＭＩＭＥ  ｃｏｎｆｉｇ＝ｃｏｎｆｉｇ−ｉｎｆｏを含むことを特徴とする請求項３６に記載の１つまたは複数のコンピュータ可読媒体。
【請求項４１】
前記コーデックパラメータは、前記１つまたは複数のコーデックによって復号化されるべき前記マルチメディアプレゼンテーションのメディアストリームのタイプの識別子を含むことを特徴とする請求項３６に記載の１つまたは複数のコンピュータ可読媒体。
【請求項４２】
前記コーデックパラメータは、前記１つまたは複数のコーデックが、固定されたサイズのパケットを使用するかどうかの識別を含むことを特徴とする請求項３６に記載の１つまたは複数のコンピュータ可読媒体。
【請求項４３】
前記コーデックパラメータは、前記固定されたサイズのパケットの前記サイズの識別を含むことを特徴とする請求項４２に記載の１つまたは複数のコンピュータ可読媒体。
【請求項４４】
前記コーデックパラメータは、前記１つまたは複数のコーデックによって復号化されるべき前記マルチメディアプレゼンテーションのメディアストリームが、一時的な圧縮を使用するかどうかの識別を含むことを特徴とする請求項３６に記載の１つまたは複数のコンピュータ可読媒体。
【請求項４５】
前記コーデックパラメータは、前記１つまたは複数のコーデックに関する初期化データを含むことを特徴とする請求項３６に記載の１つまたは複数のコンピュータ可読媒体。
【請求項４６】
前記コーデックパラメータは、前記セッション記述メッセージ内に前記初期化データのフォーマットを含むことを特徴とする請求項４５に記載の１つまたは複数のコンピュータ可読媒体。
【請求項４７】
格納された複数の命令を有する１つまたは複数のコンピュータ可読媒体であって、前記複数の命令は、１つまたは複数のプロセッサによって実行されるとき、１つまたは複数のプロセッサが、
クライアントデバイスへストリーミングされるマルチメディアプレゼンテーションの特性を記述するセッション記述メッセージを生成することであって、前記マルチメディアプレゼンテーションは複数のメディアストリームを有し、前記セッション記述メッセージは、ＡＳＦファイルヘッダから分離され、かつ帯域幅を共有する前記複数のメディアストリームのメディアストリームを特定する帯域幅共有拡張子を有すること、および
前記クライアントデバイスにストリーミングされるデータの一部として、前記セッション記述メッセージを含めることをもたらすことを特徴とする１つまたは複数のコンピュータ可読媒体。
【請求項４８】
前記セッション記述メッセージは、セッション記述プロトコル（ＳＤＰ）メッセージであることを特徴とする請求項４７に記載の１つまたは複数のコンピュータ可読媒体。
【請求項４９】
前記１つまたは複数のプロセッサが前記セッション記述メッセージを生成することをもたらす前記命令は、さらに前記１つまたは複数のプロセッサが、
前記マルチメディアプレゼンテーションのＡＳＦファイルヘッダのオブジェクトを識別すること、
前記オブジェクトから１つまたは複数のパラメータを検索すること、および
前記帯域幅共有拡張子に関するパラメータを決定するために前記検索された１つまたは複数のパラメータを解析することをもたらすことを特徴とする請求項４７に記載の１つまたは複数のコンピュータ可読媒体。
【請求項５０】
値ＳｈａｒｉｎｇＴｙｐｅは、帯域幅共有のタイプを表し、値Ｒは、すべての前記特定されたメディアストリームを含む前記リーキーバケットのリークレートを表し、値Ｂは、前記リーキーバケットのサイズを表し、値ＳｅｓｓｉｏｎＬｉｓｔは、前記特定されたメディアストリームを特定し、かつ前記帯域幅共有拡張子は、ａ＝ｂｗｓｈａｒｅ：ＳｈａｒｉｎｇＴｙｐｅ  Ｒ  Ｂ  ＳｅｓｓｉｏｎＬｉｓｔを含むことを特徴とする請求項４７に記載の１つまたは複数のコンピュータ可読媒体。
【請求項５１】
格納された複数の命令を有する１つまたは複数のコンピュータ可読媒体であって、前記複数の命令は、１つまたは複数のプロセッサによって実行されるとき、１つまたは複数のプロセッサが、
クライアントデバイスへストリーミングされるマルチメディアプレゼンテーションの特性を記述するセッション記述メッセージを生成することであって、前記マルチメディアプレゼンテーションは複数のメディアストリームを有し、前記セッション記述メッセージは、ＡＳＦファイルヘッダから分離され、かつどの前記複数のメディアストリームが、どの他の前記複数のメディアストリームを超える優先度を有するべきかを特定するストリーム優先順位付け拡張子を有すること、および
前記クライアントデバイスにストリーミングされるデータの一部として、前記セッション記述メッセージを含めることをもたらすことを特徴とする１つまたは複数のコンピュータ可読媒体。
【請求項５２】
前記セッション記述メッセージは、セッション記述プロトコル（ＳＤＰ）メッセージであることを特徴とする請求項５１に記載の１つまたは複数のコンピュータ可読媒体。
【請求項５３】
前記１つまたは複数のプロセッサが前記セッション記述メッセージを生成することをもたらす前記命令は、さらに前記１つまたは複数のプロセッサが、
前記マルチメディアプレゼンテーションのＡＳＦファイルヘッダのオブジェクトを識別すること、
前記オブジェクトから１つまたは複数のパラメータを検索すること、および
前記ストリーム優先順位付け拡張子に関するパラメータを決定するために前記検索された１つまたは複数のパラメータを解析することをもたらすことを特徴とする請求項５１に記載の１つまたは複数のコンピュータ可読媒体。
【請求項５４】
前記ストリーム優先順位付け拡張子は、優先度順位におけるメディアストリームのリストにしたがってａ＝ｐｒｉｏを含むことを特徴とする請求項５１に記載の１つまたは複数のコンピュータ可読媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ストリーミングメディアおよびデータ転送に関し、特にセッション記述メッセージ拡張子に関する。
【背景技術】
【０００２】
オーディオ、ビデオ、および／またはテキストのストリーミングなどのコンテンツストリーミングは、ますます一般的になってきた。用語「ストリーミング」は、メディアを表すデータが、再生前にその全体を事前に送られるよりむしろ、必要に応じてネットワークを介してクライアントコンピュータに提供されることを示すために一般に使用される。したがって、クライアントコンピュータは、送られるべき「ファイル」全体を待つよりむしろ、ネットワークサーバからストリーミングコンテンツが受信されるように、ストリーミングコンテンツをレンダリングする。
【０００３】
ストリーミングマルチメディアコンテンツの広範な利用可能性は、以前にはインターネットまたは他のコンピュータネットワークを介して利用可能ではなかった様々な情報コンテンツを可能にする。ライブコンテンツは、そのようなコンテンツの１つの重要な例である。ストリーミングマルチメディアを使用して、注目すべきイベントのオーディオ、ビデオ、またはオーディオ／ビジュアルカバレッジは、イベントが展開するときインターネットを介してブロードキャストされることができる。同様に、テレビおよびラジオ局は、インターネットを介してそれらのライブコンテンツを転送することができる。
【０００４】
セッション記述プロトコル（Ｓｅｓｓｉｏｎ  Ｄｅｓｃｒｉｐｔｉｏｎ  Ｐｒｏｔｏｃｏｌ、ＳＤＰ）、１９９８年４月のコメント（ＲＦＣ）２３２７に関するネットワークワーキンググループ要求は、「セッション」と呼ばれるマルチメディアプレゼンテーションの特性、およびプレゼンテーション内に含まれる１つまたは複数のメディアストリームの特性を記述するために使用されるテキストベースのフォーマットである。ＳＤＰは、セッションアナウンスメントの目的のマルチメディアセッション、セッションインビテーション、およびマルチメディアセッション初期化の他の形態を記述することを目的としたアプリケーションレベルプロトコルとして開発された。ＳＤＰは、ストリーミングデータを送るために使用されるマルチメディアセッションの特性を記述しおよび／またはネゴシエートするために、リアルタイムストリーミングプロトコル（Ｒｅａｌ−Ｔｉｍｅ  Ｓｔｒｅａｍｉｎｇ  Ｐｒｏｔｏｃｏｌ、ＲＴＳＰ）またはハイパーテキスト転送プロトコル（ＨｙｐｅｒＴｅｘｔ  Ｔｒａｎｓｆｅｒ  Ｐｒｏｔｃｏｌ、ＨＴＴＰ）などの他のプロトコルにしたがって使用されることができる。
【０００５】
しかしながら、ＳＤＰは、記述されることができるマルチメディアプレゼンテーションの特性に制限される。そのような制限に対する１つの解決方法は、ＳＤＰメッセージ内に、ＡＳＦ（Ａｄｖａｎｃｅｄ  Ｓｔｒｅａｍｉｎｇ  ＦｏｒｍａｔまたはＡｄｖａｎｃｅｄ  Ｓｙｓｔｅｍ  Ｆｏｒｍａｔ）ファイルヘッダなどの異なるファイルヘッダを埋め込むことである。そのような解決方法は、例えば、名称「System and Method for Embedding a Streaming Media Format Header Within a Session Description Message」の特許文献１に記載されている。
【０００６】
【特許文献１】米国特許出願公開第２００３／０２３６９１２号明細書
【発明の開示】
【発明が解決しようとする課題】
【０００７】
しかしながら、そのようなファイルヘッダの埋め込みは、そのようなＳＤＰメッセージの受け取りが異なるファイルヘッダを分析しかつ理解することが可能であることを必要とすること、異なるファイルヘッダを含むＳＤＰメッセージのサイズが増大することなどの問題を生じることがある。したがって、埋め込まれた異なるファイルヘッダ（ＡＳＦなど）を分析しかつ理解することができる受け取りを必要としない、これらＳＤＰの制限を解消する方法を有することが有利である。
【課題を解決するための手段】
【０００８】
本明細書においてセッション記述メッセージ拡張子が記載される。これら拡張子は、ストリーミングメディアに関するセッション記述メッセージに含まれることができる情報を拡張する。
【０００９】
所定の態様によれば、セッション記述メッセージ拡張子は、１つまたは複数の以下を含む。すなわち、マルチメディア（または単一のメディア）プレゼンテーションの複数メディアストリームのどれが相互に排他的であるかを特定する相互排他性拡張子、マルチメディアプレゼンテーション内でインデックスを特定するマーカ拡張子、マルチメディアプレゼンテーションの再生中に示されるべきデータを特定するスクリプトコマンド拡張子、特定のビットレートでマルチメディアプレゼンテーションをプレイするとき、どれだけ多くのマルチメディアプレゼンテーションのデータをバッファリングするかを特定するリーキーバケット拡張子、マルチメディアプレゼンテーションのキャッシングに関する情報を特定するキャッシング情報拡張子、１つまたは複数の異なる複数のコーデックに関するコーデックパラメータを特定するカプセル化拡張子、帯域幅を共有するマルチメディアプレゼンテーションのメディアストリームを特定する帯域幅共有拡張子、またはどのマルチメディアプレゼンテーションのメディアストリームが、マルチメディアプレゼンテーションの他のメディアストリームを超える優先度を有するべきかを特定するストリーム優先順位付け拡張子である。
【００１０】
同一の符号が、同様の構成要素および／または特徴を参照するために明細書を通して使用される。
【発明を実施するための最良の形態】
【００１１】
本明細書においてセッション記述メッセージ拡張子が記載される。セッション記述メッセージは、マルチメディアプレゼンテーションまたは単一のメディアプレゼンテーションを記述する情報を含む。セッション記述メッセージは、一般にサーバデバイスから、マルチメディアプレゼンテーションがストリーミングされるクライアントデバイスに送られる。セッション記述メッセージに含まれることができる情報を拡張するいくつかの拡張子は、本明細書において記載される。
【００１２】
図１は、本明細書において記載されるセッション記述メッセージ拡張子を使用するメディアをストリーミングするために使用されることができる例示的なネットワーク環境１００を示す。環境１００において、複数（ａ）のクライアントコンピューティングデバイス１０２（１）、１０２（２）、．．．、１０２（ａ）は、ネットワーク１０６を介して複数（ｂ）のサーバコンピューティングデバイス１０４（１）、１０４（２）、．．．、１０４（ｂ）に結合される。ネットワーク１０６は、任意の様々な従来のネットワークプロトコル（公的および／または専有プロトコルを含む）を用いて、任意の様々な従来のネットワークトポロジおよびタイプ（有線および／または無線ネットワークを含む）を表すことを目的とする。ネットワーク１０６は、例えば、インターネット、ならびに恐らく１つまたは複数のローカルエリアネットワーク（ＬＡＮ）の少なくとも一部を含むことができる。
【００１３】
コンピューティングデバイス１０２および１０４は、それぞれ、デスクトップＰＣ、ワークステーション、メインフレームコンピュータ、インターネット機器、ゲームコンソール、ハンドヘルドＰＣ、携帯電話、携帯情報端末（ＰＤＡ）などを含む、任意の様々な従来のコンピューティングデバイスであり得る。１つまたは複数のデバイス１０２および１０４は、同じタイプのデバイス、または代わりに異なるタイプのデバイスであり得る。
【００１４】
サーバデバイス１０４は、任意の様々なデータをクライアント１０２にストリーミングするために利用可能にすることができる。用語「ストリーミング」は、メディアを表すデータが、ネットワークを介してクライアントデバイスに提供されること、およびコンテンツの再生が、コンテンツの全体が送られる前に開始できること（例えば、再生前にデータの全体が事前に送られるよりむしろ必要に応じてデータを提供する）を示すために使用される。データは、公的に利用可能であるかまたは代わりに制限されることがある（例えば、適切な料金が支払われた場合だけ利用可能である特定のユーザだけに制限される）。データは、オーディオ、ビデオ、テキスト、アニメーションなどの任意の様々な１つまたは複数のタイプのコンテンツであり得る。さらに、データは、事前に記録されまたは代わりに「ライブ」であり得る（例えば、コンサートが行われたときに獲得され、かつ獲得直後にストリーミングに関して利用可能になるコンサートのデジタル表現）。
【００１５】
クライアントデバイス１０２は、ファイルとしてストリーミングメディアコンテンツを格納するサーバ１０４から、または代わりにある他のソースからストリーミングメディアを受信するサーバ１０４からストリーミングメディアを受信することができる。例えば、サーバ１０４は、ファイルとしてストリーミングメディアコンテンツを格納する他のサーバからストリーミングメディアを受信することができ、またはある他のソース（例えば「ライブ」イベントを符号化する符号器）から、ストリーミングメディアを受信することができる。
【００１６】
本明細書で使用されるとき、ストリーミングメディアは、１つのデバイスから他のデバイスへ（例えば、サーバデバイス１０４からクライアントデバイス１０２へ）１つまたは複数のメディアストリームをストリーミングすることを言及する。メディアストリームは、１つまたは複数のオーディオ、ビデオ、テキストなどの任意の様々なタイプのコンテンツを含むことができる。
【００１７】
図２は、本明細書において記載されるセッション記述メッセージ拡張子を使用するメディアコンテンツをストリーミングすることができる例示的なクライアントおよびサーバデバイスを示す。クライアントデバイス１０２は、サーバデバイス１０４のストリーミングモジュール１４４にアクセスするように構成されたストリーミングメディアプレーヤ１４２を含む。セッション記述メッセージを含むメディアコンテンツ１４６は、ストリーミングモジュール１４４からストリーミングメディアプレーヤ１４２へストリーミングされ、ストリーミングメディアプレーヤ１４２において、ストリーミングメディアは、クライアントデバイス１０２のユーザに示されることができる。ストリーミングメディア１４６は、リアルタイムストリーミングプロトコル（ＲＴＳＰ）またはハイパーテキスト転送プロトコル（ＨＴＴＰ）などの異なるプロトコルにしたがってストリーミングされることができる。図２には示されていないが、１つまたは複数の追加のデバイス（例えば、ファイアウオール、ルータ、ゲートウエイ、ブリッジなど）は、クライアントデバイス１０２とサーバデバイス１０４との間に配置されることがある。
【００１８】
１つまたは複数のセッション記述メッセージは、ストリーミングメディア１４６としてストリーミングされたメディアプレゼンテーションの特性を記述するために使用される。異なるメディアフォーマットまたはプロトコルは、そのようなセッション記述メッセージに関して使用されることができる。そのようなメディアフォーマットの例は、セッション記述プロトコル（ＳＤＰ）、１９９８年４月のコメント（ＲＦＣ）２３２７に関するネットワークワーキンググループ要求である。ある実施形態において、本明細書で議論されるセッション記述メッセージは、ＲＦＣ２３２７に記載されるＳＤＰフォーマットにしたがうメッセージである。
【００１９】
異なるフォーマットが、メディアプレゼンテーションの特性を記述するために使用されることができるが、１つまたは複数のセッション記述メッセージは、ストリーミングモジュール１４４から、特性の識別子を含むストリーミングメディアプレーヤ１４２へ送られる。単一のセッション記述メッセージは、特定のメディアプレゼンテーションに関してストリーミングモジュール１４４によって送られることができ、または代わりに複数のセッション記述メッセージが送られることができる。複数のセッション記述メッセージが送られるなら、複数のメッセージは、同一の情報、異なる情報、または重なり合う情報を含むことができる。
【００２０】
セッション記述メッセージは、例えば、メディアプレゼンテーションで利用可能な各メディアストリームの記述（例えば、ストリームのタイプ（例えば、ビデオまたはオーディオ）、各メディアストリームのビットレート、ストリームで使用される言語などを示す）、誤差訂正情報、安全性／認証情報、暗号情報、またはデジタル権利管理（Ｄｉｇｉｔａｌ  Ｒｉｇｈｔｓ  Ｍａｎａｇｅｍｅｎｔ、ＤＲＭ）情報などの１つまたは複数を含む。
【００２１】
図３は、例示的なセッション記述メッセージフォーマットを示す。図３における特定の例として示されるが、セッション記述メッセージは、異なる順番でのフィールドまたは部分を有するフォーマット、または代わりに異なるメッセージを横切って広がるフォーマットを有することができる。
【００２２】
セッション記述メッセージ１８０は、セッションレベル記述部分１８２、およびゼロ以上のメディアレベル記述部分１８４を含む。セッションレベル記述部分１８２は、セッション全体に適用されるデータ、およびセッションの一部であるすべてのメディアストリームを有する１つまたは複数のフィールドを含む。他方、各メディアレベル記述部分１８２は、単一のメディアストリームにだけ適用されるデータを有する１つまたは複数のフィールドを含む。
【００２３】
メディアレベル記述部分１８２におけるデータフィールドは、特定のメディアストリームに関する特性を記述する。これらの特性は、セッションレベル記述部分１８２において記述される特性に追加されることができ、またはセッションレベル記述部分１８２において記述される特性の代わりであることができる。例えば、特定のメディアレベル記述部分１８２における１つまたは複数の特性は、その特定のメディアレベル記述部分１８２に関連付けられる特定のメディアストリームに関して、セッションレベル記述部分１８２において識別された特性を優先することができる。
【００２４】
セッション記述メッセージ１８０およびメッセージ１８０の構造は、特にＳＤＰに関してさらに以下に詳細に議論される。これらの特定の構造は、単なる例であって、セッション記述メッセージは、異なるフォーマットをとることができることは理解されるべきである。
【００２５】
セッションレベル記述部分１８２は、プロトコルバージョンフィールドと呼ばれる特定のフィールドで始まる。同様に、メディアレベル記述部分１８４は、メディア名称およびトランスポートアドレスフィールドと呼ばれる特定のフィールドでそれぞれ開始する。特定の実施形態において、同一のタイプの複数のフィールドは、セッション記述メッセージに含まれることができる（例えば、単一のセッション記述メッセージは、２つ以上の属性フィールドを有することができる）。
【００２６】
以下の表１は、セッションレベル記述部分１８２に含まれることができる例示的なフィールドを示す。表１は、各例示的なフィールドの名称、各例示的なフィールドの略語またはタイプ、および各例示的なフィールドの簡単な議論を含む。特定の実施形態において、プロトコルバージョンフィールド、オーナ／クリエータおよびセッション識別子フィールド、セッション名称フィールド、および時間記述フィールドが、必要であり、一方、表１におけるすべての他のフィールドは最適である。
【００２７】
【表１】
2007535860.tif 000003
【００２８】
以下の表２は、時間記述フィールドをさらに詳細に示す。表２は、時間記述フィールドにおける各フィールドに関する名称、時間記述フィールドにおける各フィールドに関する略語またはタイプ、および時間記述フィールドにおける各フィールドの簡単な議論を含む。セッションがアクティブフィールドである時間は必要であるが、ゼロ以上の繰り返し時間フィールドが最適である。
【００２９】
【表２】
2007535860.tif 000004
【００３０】
以下の表３は、メディアレベル記述部分１８４に含まれることができる例示的なフィールドを示す。表３は、各例示的なフィールドに関する名称、各例示的なフィールドに関する略語またはタイプ、および各例示的なフィールドに関する簡単な議論を含む。ある実施形態において、メディアアナウンスメントフィールドが必要であるが、表３におけるすべての他のフィールドは最適である。
【００３１】
【表３】
2007535860.tif 000005
【００３２】
ある実施形態において、本明細書において議論されるセッション記述メッセージ拡張子は、セッションレベル記述１８２および／または１つまたは複数のメディアレベル記述１８４における属性フィールドとして含まれる。
【００３３】
図４は、マルチメディアプレゼンテーションに関するセッション記述メッセージを拡張するための例示的なプロセス２００を示すフローチャートである。プロセス２００は、ソフトウェア、ファームウェア、ハードウェア、またはそれらの組合せで実行されることができる。プロセス２００は、一般にマルチメディアプレゼンテーションのソース（例えば、マルチメディアプレゼンテーションを生成する符号器デバイス）によって実行される。格納されたマルチメディアプレゼンテーションに関して、セッション記述メッセージ拡張子に含まれる情報は、一般に同様に、マルチメディアプレゼンテーションとともに格納されるか、または代わりに他の場所に格納される。マルチメディアプレゼンテーションが検索されかつクライアントデバイスにストリーミングされるべきとき、格納された情報は検索されることができ、拡張子とともにセッション記述メッセージが生成される。ライブマルチメディアプレゼンテーションに関して、セッション記述メッセージに含まれる情報は、マルチメディアプレゼンテーションの開始時および／またはマルチメディアプレゼンテーションの間に（例えば、情報は、ライブマルチメディアプレゼンテーションが変更するとき、セッション記述メッセージに加えられまたは変更されることができる）、セッション記述メッセージに加えられる（例えば、人間のユーザによってまたはコンピューティングデバイスによって自動的に）。
【００３４】
初期的に、セッション記述メッセージに含まれるべき情報は識別される（作用２０２）。この情報は、１つまたは複数の異なる方法で識別されることができる。この情報が識別されることができる１つの方法は、ファイルまたは記録からの検索である。ある実施形態において、情報の少なくともいくつかは、セッション記述メッセージが記述されるマルチメディアプレゼンテーションに関連してファイルまたは記録に格納される。このファイルまたは記録は、そこに格納された情報を検索するために作用２０２でアクセスされる。
【００３５】
この情報が識別されることができる他の方法は、人間のユーザから受信される。ある実施形態において、情報の少なくともいくつかは、人間のユーザから受信される。これらのユーザ入力は、セッション記述メッセージに含まれるべき情報の少なくともいくつかとして作用２０２に含まれる。
【００３６】
この情報が識別されることができる他の方法は、自動的な検出である。ある実施形態において、情報の少なくともいくつかは、マルチメディアプレゼンテーションのソースまたはマルチメディアプレゼンテーション自体を解析することによって、コンピューティングデバイスによって自動的に識別されることができる。この自動的に検出された情報は、セッション記述メッセージに含まれるべき情報の少なくともいくつかとして作用２０２で使用される。
【００３７】
識別されたすべての情報を含むためにセッション記述メッセージに追加されるべき拡張子は、次に識別される（作用２０４）。これらの拡張子は、様々な方法で識別されることができる。これら拡張子が識別されることができる１つの方法は、識別された情報に自動的に基づく。この方法において、情報が識別されるなら、セッション記述メッセージにその情報を含むために使用されるべき特定の拡張子は、自動的に識別される。例えば、拡張子に情報をマッピングするテーブルまたは記録は、アクセスされることができ、自動的な構成を実行するデバイスは、特定の情報などに関して適切な拡張子で構成されまたはプログラムされることができる。
【００３８】
これらの拡張子が識別されることができる他の方法は、情報自体を用いる拡張子情報の識別である。例えば、情報が作用２０２で識別されたとき、情報は、識別を含むこともでき、その識別の拡張子は、セッション記述メッセージにおける情報を含むために使用される。
【００３９】
セッション記述メッセージは次に生成され、作用２０４において識別された拡張子、および作用２０２（作用２０６）で識別された情報を含む。生成されると、セッション記述メッセージは、セッション記述メッセージに関連付けられるマルチメディアプレゼンテーションを記述する情報を、クライアントデバイスに知らせるためにクライアントデバイスに送られることができる。
【００４０】
幅広い情報は、セッション記述メッセージ拡張子に含まれることができる。ある実施形態において、これら拡張子は、マルチメディアプレゼンテーションに関連付けられるＡＳＦファイルヘッダ内に含まれることもできる情報を含む。そのような情報を含むためにセッション記述メッセージ拡張子を使用することによって、ＡＳＦファイルヘッダは、クライアントデバイスに通信される必要はない。これは、クライアントデバイスが、ＡＳＦファイルヘッダを理解することができる必要性を軽減し、セッション記述メッセージ内にＡＳＦファイルヘッダの全体を埋め込まないで、セッション記述メッセージのサイズを低減することができ、かつＡＳＦファイルヘッダが既に生成されない状況において、ＡＳＦファイルヘッダを生成する必要性を排除することができる。
【００４１】
本明細書で議論されるセッション記述メッセージ拡張子は、ＡＳＦファイルヘッダから分離されることを留意すべきである。これらのセッション記述メッセージ拡張子は、任意のＡＳＦファイルヘッダから分離されるとして定義される（すなわち、これらのセッション記述メッセージ拡張子は、セッション記述メッセージに埋め込まれるＡＳＦファイルヘッダの単なる一部ではない）。これらのセッション記述メッセージ拡張子は、マルチメディアプレゼンテーションに関連付けられるＡＳＦファイルヘッダがない状況において使用されることもできる。
【００４２】
以下の表４は、セッション記述メッセージに含まれることができるいくつかの拡張子の要約である。ある実施形態において、各これらの拡張子は、セッション記述の属性フィールドを使用して追加される。表４にしたがうこれらの拡張子の議論は、これら拡張子が、一般にセッションレベル記述１８２またはメディアレベル記述１８４に見出されるかどうかを示すが、代わりにこれらの拡張子は、セッションレベル記述１８２またはメディアレベル記述１８４のいずれかに配置されることができる。
【００４３】
【表４】
2007535860.tif 000006
【００４４】
表４の要約に含まれる各拡張子は、以下にさらに詳細に記載される。様々な例示的なシンタックスは、様々な拡張子に関して以下に議論される。これらは単なる例示であって、他のシンタックスが代わりに使用されることができることは理解されるべきである。例えば、パラメータまたはパラメータの順番は、変更されることができる。他の例として、特定の属性の名称は変更されることができる（例えば、以下に議論される相互排他性の属性の名称は、「ａ＝ｇｒｏｕｐ」以外の何かに変更されることができる）。
【００４５】
本明細書において、特定のメディアストリームの識別に対して参照がなされることに留意されたい。これらの識別は、異なる時間に行われることができる。ある実施形態において、メディアストリームの識別子は、メディアストリームが符号化されたとき（例えば、ライブブロードキャストのために）またはメディアストリームが格納されたとき（例えば、ＡＳＦファイルとして）、著者または設計者によって（または代わりに自動的に）作られる。他の実施形態において、メディアストリームの識別子は、サーバデバイスからマルチメディアプレゼンテーション（または単一のメディアプレゼンテーション）のストリーミングか始まるときに作られる。
【００４６】
識別子自体は、様々な方法のいずれかで生成されることができる。ある実施形態において、識別子はＲＴＰセッションの識別子である。これらの実施形態において、個々のメディアストリームは、２００３年７月のコメント（ＲＦＣ）３５５０に関するネットワークワーキンググループ要求において記述されるように、Ｒｅａｌｔｉｍｅ  Ｔｒａｎｓｐｏｒｔ  Ｐｒｏｔｏｃｏｌ（ＲＴＰ）を使用してサーバデバイスからクライアントデバイスへストリーミングされる。ＲＴＰは、マルチキャストまたはユニキャストネットワークサービスにわたって、オーディオ、ビデオ、またはシミュレーションデータなどのリアルタイムデータを送信するアプリケーションに適したエンドツーエンドのネットワークトランスポート機能を提供する。各メディアストリームは、異なるＲＴＰセッションにわたってストリーミングされる。これらのＲＴＰセッションは、２００２年１２月のコメント（ＲＦＣ）３３８８に関するネットワークワーキンググループ要求のセッション記述プロトコル（ＳＤＰ）におけるメディアラインのグルーピングで記載されるような、「ａ＝ｍｉｄ：」属性を使用することによってなど、異なる方法で割り当てられた数であることができる。他の実施形態において、ＲＴＰセッションは、「ａ＝ｓｔｒｅａｍ：」属性またはいくつかの他の属性を使用することによってなど、異なる方法で割り当てられた数であることができる。代わりに、識別子は、ＡＳＦファイルヘッダに割り当てられるとき、ＡＳＦストリームＩＤとして同じ識別子を単に使用することによって発生されることができる。
【００４７】
相互排他性
相互排他性拡張子は、メディアストリームが相互排他的であるかどうかを特定する。ある実装において、ストリームは、ビットレートおよび言語に基づいて相互排他的である。例えば、マルチメディアプレゼンテーションは、異なるビットレートで符号化される同一のコンテンツ（例えば、オーディオまたはビデオ）のマルチストリームを有することができる。一度に所望のビットレートを有するこれらのストリームの１つだけが、クライアントデバイスへのストリーミングに関して選択されるべきである。他の例として、マルチメディアプレゼンテーションは、異なる言語である同一のコンテンツ（例えば、オーディオ）のマルチストリームを有することができる。一度に所望の言語を有するこれらのストリームの１つだけが、クライアントデバイスへのストリーミングに関して選択されるべきである。
【００４８】
ある実施形態において、相互排他性拡張子に関するパラメータは、マルチメディアプレゼンテーションに関連付けられるＡＳＦファイルヘッダにおける、Ｂｉｔｒａｔｅ  Ｍｕｔｕａｌ  Ｅｘｃｌｕｓｉｏｎ  ＯｂｊｅｃｔまたはＡｄｖａｎｃｅｄ  Ｍｕｔｕａｌ  Ｅｘｃｌｕｓｉｏｎ  Ｏｂｊｅｃｔをアクセスすることによって得られる。ＡＳＦファイルヘッダで識別されるパラメータは、相互排他性拡張子のパラメータとして検索されかつ使用される。ＡＳＦファイルヘッダに複数のＢｉｔｒａｔｅ  Ｍｕｔｕａｌ  Ｅｘｃｌｕｓｉｏｎ  Ｏｂｊｅｃｔｓおよび／またはＡｄｖａｎｃｅｄ  Ｍｕｔｕａｌ  Ｅｘｃｌｕｓｉｏｎ  Ｏｂｊｅｃｔｓが存在するなら、別個の相互排他性拡張子は、各これら複数のＢｉｔｒａｔｅ  Ｍｕｔｕａｌ  Ｅｘｃｌｕｓｉｏｎ  Ｏｂｊｅｃｔｓおよび／またはＡｄｖａｎｃｅｄ  Ｍｕｔｕａｌ  Ｅｘｃｌｕｓｉｏｎ  Ｏｂｊｅｃｔｓに関するセッション記述メッセージに含まれる。
【００４９】
相互排他性拡張子は、「ａ＝ｇｒｏｕｐ」属性を使用してセッションレベル記述に含まれる。「ａ＝ｇｒｏｕｐ」属性に関するシンタックスは、以下のように定義される。
【００５０】
a=group:ExclusionType Stream Numbers
ＥｘｃｌｕｓｉｏｎＴｙｐｅパラメータは、相互排他性のタイプを指示するために異なる値に設定されることができる。例えば、ＥｘｃｌｕｓｉｏｎＴｙｐｅパラメータは、ストリームがビットレートに基づいて相互に排他性であることを示すために「ＭＢＲ」に設定されることができるが、ストリームが言語に基づいて相互に排他的であることを示すために「ＬＡＮＧ」に設定されることができる。ある実施形態において、相互排他性拡張子がＡＳＦファイルヘッダ内の情報に基づくとき、ＡＳＦファイルヘッダのＢｉｔｒａｔｅ  Ｍｕｔｕａｌ  Ｅｘｃｌｕｓｉｏｎ  ＯｂｊｅｃｔまたはＡｄｖａｎｃｅｄ  Ｍｕｔｕａｌ  Ｅｘｃｌｕｓｉｏｎ  Ｏｂｊｅｃｔにおける「Ｅｘｃｌｕｓｉｏｎ  Ｔｙｐｅ」ＧＵＩＤの値が、ＡＳＦ＿Ｍｕｔｅｘ＿Ｌａｎｇｕａｇｅであるなら、ＥｘｃｌｕｓｉｏｎＴｙｐｅパラメータは、「ＬＡＮＧ」に設定され、かつＡＳＦファイルヘッダのＢｉｔｒａｔｅ  Ｍｕｔｕａｌ  Ｅｘｃｌｕｓｉｏｎ  ＯｂｊｅｃｔまたはＡｄｖａｎｃｅｄ  Ｍｕｔｕａｌ  Ｅｘｃｌｕｓｉｏｎ  Ｏｂｊｅｃｔにおける「Ｅｘｃｌｕｓｉｏｎ  Ｔｙｐｅ」ＧＵＩＤの値が、ＡＳＦ＿Ｍｕｔｅｘ＿Ｂｉｔｒａｔｅであるなら、ＥｘｃｌｕｓｉｏｎＴｙｐｅパラメータは、「ＭＢＲ」に設定される。
【００５１】
Ｓｔｒｅａｍ  Ｎｕｍｂｅｒｓパラメータは、相互排他が適用されるストリームのリストを含む。これらのストリームは、例えばそれらのＲＴＰセッションによって識別される。ある実施形態において、相互排他性拡張子がＡＳＦファイルヘッダ内の情報に基づくとき、ＡＳＦファイルのＢｉｔｒａｔｅ  Ｍｕｔｕａｌ  Ｅｘｃｌｕｓｉｏｎ  ＯｂｊｅｃｔまたはＡｄｖａｎｃｅｄ  Ｍｕｔｕａｌ  Ｅｘｃｌｕｓｉｏｎ  Ｏｂｊｅｃｔの「Ｓｔｒｅａｍ  Ｎｕｍｂｅｒｓ」フィールドにおける各ストリームに関して、対応するＲＴＰセッションに割り当てられる数は、Ｓｔｒｅａｍ  Ｎｕｍｂｅｒｓパラメータにおけるストリームのリストに追加される。
【００５２】
マーカ
マーカ拡張子は、メディアストリームにユーザフレンドリなインデックスを特定する。これらのユーザフレンドリなインデックスは、人間のリーダによって容易に理解されることを目的とする。マーカ拡張子は、「ａ＝ｍａｒｋｅｒ」属性を使用してセッションレベル記述に含まれる。
【００５３】
ある実施形態において、マーカ拡張子に関するパラメータは、マルチメディアプレゼンテーションに関連付けられるＡＳＦファイルヘッダにおける、Ｍａｒｋｅｒ  Ｏｂｊｅｃｔをアクセスすることによって得られる。ＡＳＦファイルヘッダで識別されるパラメータは、マーカ拡張子のパラメータとして検索されかつ使用される。ＡＳＦファイルヘッダに複数のＭａｒｋｅｒｓが存在するなら、単一のマーカ拡張子は、すべての複数のＭａｒｋｅｒｓを識別するために使用されることができる。代わりに、別個のマーカ拡張子は、各これらの複数のＭａｒｋｅｒｓに関するセッション記述メッセージに含まれることができる。
【００５４】
「ａ＝ｍａｒｋｅｒ」属性に関するシンタックスは、以下のように定義される。
【００５５】
a=marker:name time;desc
ｎａｍｅパラメータは、マーカ拡張子によって特定されるマーカの名称を特定する。ある実施形態において、マーカ拡張子がＡＳＦファイルヘッダ内の情報に基づくとき、ＡＳＦファイルヘッダのＭａｒｋｅｒ  Ｏｂｊｅｃｔにおける「Ｎａｍｅ」の値は、ＵＴＦ−８符号化され、マーカ拡張子におけるｎａｍｅパラメータの値として使用される。
【００５６】
ｔｉｍｅパラメータは、マーカのプレゼンテーション時間を特定する。ある実施形態において、マーカ拡張子がＡＳＦファイルヘッダ内の情報に基づくとき、ＡＳＦファイルヘッダのＭａｒｋｅｒ  Ｏｂｊｅｃｔの「Ｐｒｅｓｅｎｔａｔｉｏｎ  Ｔｉｍｅ」の値は、マーカ拡張子におけるｔｉｍｅパラメータの値として使用される。ある実装において、ＡＳＦファイルヘッダは、（例えば、Ｆｉｌｅ  Ｐｒｏｐｅｒｔｉｅｓ  Ｏｂｊｅｃｔの「Ｐｒｅｒｏｌｌ」フィールドにおいて）マルチメディアプレゼンテーションをプレイするために開始する前にデータをバッファリングする時間の量を特定するなら、その特定された時間の量は、ＡＳＦファイルヘッダのＭａｒｋｅｒ  Ｏｂｊｅｃｔにおける「Ｐｒｅｓｅｎｔａｔｉｏｎ  Ｔｉｍｅ」の値から減算され、結果として生じた差は、マーカ拡張子におけるｔｉｍｅパラメータの値として使用される。
【００５７】
ｄｅｓｃパラメータは、マーカとしてユーザに対して示されるべきユーザフレンドリなインデックスを特定する。ある実施形態において、マーカ拡張子がＡＳＦファイルヘッダ内の情報に基づくとき、ＡＳＦファイルヘッダのＭａｒｋｅｒ  Ｏｂｊｅｃｔにおける「Ｍａｒｋｅｒ  Ｄｅｓｃｒｉｐｔｉｏｎ」の値は、ＵＴＦ−８符号化されかつマーカ拡張子におけるｄｅｓｃパラメータの値として使用される。
【００５８】
「ａ＝ｍａｒｋｅｒ」属性は、複数のマーカに関してｔｉｍｅおよびｄｅｓｃパラメータを任意選択で含むことができる。各パラメータ対は、スペースキャラクタによって（または、代わりにコンマ、コロン、ピリオドなどある他のキャラクタによって）前のパラメータ対から分離される。
【００５９】
スクリプトコマンド
スクリプトコマンド拡張子は、メディアストリームの再生間の特定の時間に表示されるべきテキスト（または他のデータ）を特定し、またはメディアストリームの再生間の特定の時間に（例えばウェブブラウザ内で）表示されるべきウェブページの識別子を特定する。スクリプトコマンド拡張子は、「ａ＝ｓｃｒｉｐｔ」属性を使用するセッションレベル記述に含まれる。
【００６０】
ある実施形態において、スクリプトコマンド拡張子に関するパラメータは、マルチメディアプレゼンテーションに関連付けられるＡＳＦファイルヘッダのＳｃｒｉｐｔ  Ｃｏｍｍｎａｄ  Ｏｂｊｅｃｔをアクセスすることによって得られる。ＡＳＦファイルヘッダ内で識別されるパラメータは、検索されかつスクリプトコマンド拡張子のパラメータとして使用される。ＡＳＦファイルヘッダ内に複数のＣｏｍｍａｎｄｓがあるなら、単一のスクリプトコマンド拡張子は、すべての複数のＣｏｍｍａｎｄｓを識別するために使用されることができる。代わりに、別個のスクリプトコマンド拡張子は、各これらの複数のＣｏｍｍａｎｄｓに関するセッション記述メッセージ内に含まれることができる。
【００６１】
「ａ＝ｓｃｒｉｐｔ」属性に関するシンタックスは、以下のように定義される。
【００６２】
a=script:type time;command
ｔｙｐｅパラメータは、スクリプトコマンド拡張子によって特定されるコマンドのタイプの名称を特定する。ある実施形態において、スクリプトコマンド拡張子がＡＳＦファイルヘッダ内の情報に基づくとき、ＡＳＦファイルヘッダのＳｃｒｉｐｔ  Ｃｏｍｍａｎｄ  Ｏｂｊｅｃｔにおける「Ｃｏｍｍａｎｄ  Ｔｙｐｅ  Ｎａｍｅ」の値は、ＵＴＦ−８符号化され、スクリプトコマンド拡張子におけるｔｙｐｅパラメータの値として使用される。ＡＳＦファイルヘッダのＳｃｒｉｐｔ  Ｃｏｍｍａｎｄ  Ｏｂｊｅｃｔが、複数の「Ｃｏｍｍａｎｄ  Ｔｙｐｅ  Ｆｉｅｌｄｓ」を含むことができるなら、別個のスクリプトコマンド拡張子は、各それぞれのフィールドに関して使用される。
【００６３】
ｔｉｍｅパラメータは、コマンドのプレゼンテーション時間を特定する。ある実施形態において、スクリプトコマンド拡張子がＡＳＦファイルヘッダ内の情報に基づくとき、ＡＳＦファイルヘッダのＳｃｒｉｐｔ  Ｃｏｍｍａｎｄ  Ｏｂｊｅｃｔ内の「Ｐｒｅｓｅｎｔａｔｉｏｎ  Ｔｉｍｅ」の値は、スクリプトコマンド拡張子におけるｔｉｍｅパラメータの値として使用される。ある実装において、ＡＳＦファイルヘッダは、（例えば、Ｆｉｌｅ  Ｐｒｏｐｅｒｔｉｅｓ  Ｏｂｊｅｃｔの「Ｐｒｅｒｏｌｌ」フィールドにおいて）マルチメディアプレゼンテーションをプレイするために開始する前にデータをバッファリングする時間の量を特定するなら、その特定された時間の量は、ＡＳＦファイルヘッダのＳｃｒｉｐｔ  Ｃｏｍｍａｎｄ  Ｏｂｊｅｃｔにおける「Ｐｒｅｓｅｎｔａｔｉｏｎ  Ｔｉｍｅ」の値から減算され、結果として生じた差は、スクリプトコマンド拡張子におけるｔｉｍｅパラメータの値として使用される。
【００６４】
ｃｏｍｍａｎｄパラメータは、表示されるべきテキスト（または他のデータ）を特定し、または（例えばウェブブラウザ内で）表示されるべきウェブページの識別子を特定する。ある実施形態において、スクリプトコマンド拡張子がＡＳＦファイルヘッダ内の情報に基づくとき、ＡＳＦファイルヘッダのＳｃｒｉｐｔ  Ｃｏｍｍａｎｄ  Ｏｂｊｅｃｔにおける「Ｃｏｍｍａｎｄ  Ｎａｍｅ」の値は、ＵＴＦ−８符号化されかつスクリプトコマンド拡張子におけるｃｏｍｍａｎｄパラメータの値として使用される。
【００６５】
「ａ＝ｓｃｒｉｐｔ」属性は、複数のスクリプトコマンドに関してｔｉｍｅおよびｃｏｍｍａｎｄパラメータを任意選択で含むことができる。各パラメータ対は、スペースキャラクタによって（または、代わりにコンマ、コロン、ピリオドなどある他のキャラクタによって）前のパラメータ対から分離される。
【００６６】
リーキーバケット
リーキーバケット拡張子は、一定のビットレートで可変ビットレートコンテンツを再生するとき、どれだけ多くのメディアストリームのデータをクライアントはバッファリングすべきかを特定する。リーキーバケットは、一定の正のリークレートで空になるバッファを言及し、その中に、ビットが不定期なときにおよび不均一な量で廃棄されることができる。リーキーバケットは、そのリークレート（例えば、１秒毎のビットにおける）およびそのサイズまたは容量（例えばビットにおける）によって特定される。リーキーバケット拡張子は、「ａ＝ｂｕｃｋｅｔｉｎｆｏ」属性を使用してセッションレベル記述において含まれる。
【００６７】
ある実施形態において、リーキーバケット拡張子に関するパラメータは、マルチメディアプレゼンテーションに関連付けられるＡＳＦファイルヘッダのＥｘｔｅｎｄｅｄ  Ｃｏｎｔｅｎｔ  Ｄｅｓｃｒｉｐｔｉｏｎ  Ｏｂｊｅｃｔをアクセスすることによって得られる。Ｅｘｔｅｎｄｅｄ  Ｃｏｎｔｅｎｔ  Ｄｅｓｃｒｉｐｔｉｏｎ  Ｏｂｊｅｃｔは、「ＡＳＦＬｅａｋｙＢｕｃｋｅｔＰａｉｒｓ」との名称の名称−値対を含む。「ＡＳＦＬｅａｋｙＢｕｃｋｅｔＰａｉｒｓ」名称−値対の値は、リーキーバケット拡張子に関するパラメータとして使用されるリーキーバケット情報である。代わりに、リーキーバケット拡張子に関するパラメータは、Ｅｘｔｅｎｄｅｄ  Ｓｔｒｅａｍ  Ｄｅｓｃｒｉｐｔｉｏｎ  ＯｂｊｅｃｔなどのＡＳＦファイルヘッダにおける他の場所から生じることができる。ＡＳＦファイルヘッダ内の「ＡＳＦＬｅａｋｙＢｕｃｋｅｔＰａｉｒｓ」名称−値対を有するそのような複数のＥｘｔｅｎｄｅｄ  Ｃｏｎｔｅｎｔ  Ｄｅｓｃｒｉｐｔｉｏｎ  Ｏｂｊｅｃｔｓ（および／またはＥｘｔｅｎｄｅｄ  Ｃｏｎｔｅｎｔ  Ｄｅｓｃｒｉｐｔｉｏｎ  Ｏｂｊｅｃｔ内のそのような複数の「ＡＳＦＬｅａｋｙＢｕｃｋｅｔＰａｉｒｓ」名称−値対）が存在するなら、単一のリーキーバケット拡張子が、すべての複数の「ＡＳＦＬｅａｋｙＢｕｃｋｅｔＰａｉｒｓ」名称−値対を識別するために使用されることができる。代わりに別個のリーキーバケット拡張子が、これら複数のＥｘｔｅｎｄｅｄ  Ｃｏｎｔｅｎｔ  Ｄｅｓｃｒｉｐｔｉｏｎ  Ｏｂｊｅｃｔｓのそれぞれに関して、または複数の「ＡＳＦＬｅａｋｙＢｕｃｋｅｔＰａｉｒｓ」名称−値対に関してセッション記述メッセージ内に含まれることができる。
【００６８】
「ａ＝ｂｕｃｋｅｔｉｎｆｏ」属性に関するシンタックスは、以下のように定義される。
【００６９】
a=bucketinfo:R1;B1 R2;B2
Ｒ１パラメータは、第１のリーキーバケットに関するビットレート（リークレート）を特定し、Ｂ１パラメータは、第１のリーキーバケットに関するサイズ（例えば、ミリ秒単位で）を特定する。Ｒ２パラメータは、第２のリーキーバケットに関するビットレート（リークレート）を特定し、Ｂ２パラメータは、第２のリーキーバケットに関するサイズを特定する。ただ２つのリーキーバケットが、シンタックス定義において示されているが、「ａ＝ｂｕｃｋｅｔｉｎｆｏ」属性は、リーキーバケットの制限されない数（ｘ）に関するパラメータ対Ｒｘ；Ｂｘを提供することができる。各パラメータ対は、スペースキャラクタによって（または代わりに、コンマ、コロン、ピリオドなどある他のキャラクタによって）前のパラメータ対から分離される。
【００７０】
ある実施形態において、リーキーバケット拡張子がＡＳＦファイルヘッダ内の情報に基づくとき、ＡＳＦファイルヘッダ内のＥｘｔｅｎｄｅｄ  Ｃｏｎｔｅｎｔ  Ｄｅｓｃｒｉｐｔｉｏｎ  Ｏｂｊｅｃｔにおける「ＡＳＦＬｅａｋｙＢｕｃｋｅｔＰａｉｒｓ」名称−値対の値は、リーキーバケット拡張子内のＲおよびＢパラメータの値として使用される。「Ｄｅｓｃｒｉｐｔｏｒ  Ｖａｌｕｅ」の第１の部分（例えば、第１の４バイト）は、バケットに関するビットレート（Ｒパラメータ）を特定し、一方、「Ｄｅｓｃｒｉｐｔｏｒ  Ｖａｌｕｅ」の第２の部分（例えば、第２の４バイト）は、バケットに関するサイズ（Ｂパラメータ）を特定する。
【００７１】
キャッシング情報
キャッシング情報拡張子は、ストリームがキャッシングされることができるか、どれだけ長くストリームがフレッシュであると考えられるかなどのメディアストリームのキャッシングに関する情報を特定する。ある実施形態において、キャッシング情報は、サーバデバイス（例えば、サーバデバイス１０４）によって実装されるキャッシングポリシーに基づいて決定される。キャッシング情報拡張子は、「ａ＝ｃａｃｈｅｃｔｒｌ」属性を使用してセッションレベル記述に含まれる。
【００７２】
「ａ＝ｃａｃｈｅｃｔｒｌ」属性に関するシンタックスは、以下のように定義される。
【００７３】
a=cachectrl:Rights
Ｒｉｇｈｔｓパラメータは、スペースキャラクタによって（または代わりに、コンマ、ピリオド、セミコロン、コロンなどある他のキャラクタによって）分離される１つまたは複数のデレクティブである。デレクティブは、名称および値が、「＝」キャラクタ（または代わりに、ある他のキャラクタ）、または「値」なしの単一の「名称」によって分離される、名称−値対であることができる。
【００７４】
異なるデレクティブが、Ｒｉｇｈｔｓパラメータに含まれることができる。ある実施形態において、これらのデレクティブは、非キャッシュデレクティブ、非スプリッティングデレクティブ、および満期デレクティブを含む。
【００７５】
非キャッシュデレクティブは、「ｎｏ−ｃａｃｈｅ」として定義され、デバイスが後で再生のためにメディアストリームをキャッシュすることが許可されないことを、クライアントデバイスならびにサーバとクライアントデバイスとの間の任意の中間デバイスに示す。
【００７６】
非スプリッティングデレクティブは、「ｎｏ−ｓｐｌｉｔｔｉｎｇ」として定義され、デバイスがコンテンツを再びブロードキャストまたは再配信することが許可されないことを、クライアントデバイスならびにサーバとクライアントデバイスとの間の任意の中間デバイスに示す。ストリーミングメディアコンテンツのスプリッティングは、複数のクライアントに通信される同一のコンテンツを言及する。非スプリッティングデレクティブは、そのようなスプリッティングが許可されないことを示す。
【００７７】
「ａ＝ｃａｃｈｅｃｔｒｌ」属性は、以下に定義される名称−値対である満期デレクティブも含むことができる。
【００７８】
満期＝Ｔｉｍｅｏｕｔ
Ｔｉｍｅｏｕｔパラメータは、メディアストリームのキャッシュされたコピーが、新鮮ではない（もはやフレッシュではない）と考えられるときを特定する。Ｔｉｍｅｏｕｔパラメータは、キャッシュされたコピーが新鮮ではないと考えられるまでの時間期間（例えば、秒数、分数、日数など）を特定することができ、または代わりに、キャッシュされたコピーが新鮮ではなくなるときの特定の日および／または時間（例えば、２００４年４月１５日午後３時）を特定することができる。ある実施形態において、キャッシュされたコピーを有するデバイスは、新鮮ではないメディアストリームを使用することを可能にしない。他の実施形態において、デバイスは、メディアストリームの新鮮ではないキャッシュされたコピーを使用することができるが、メディアストリームのより新しいバージョンが利用可能であるかどうかを決定し、かつ可能であれば代わりにそのより新しいバージョンを使用しようと試みるべきである。
【００７９】
満期デレクティブが含まれないなら、メディアストリームは新鮮でなくなることはない。「ａ＝ｃａｃｈｅｃｔｒｌ」属性が含まれないなら、メディアストリームのキャッシングおよびスプリッティングが許可され、キャッシュされたコンテンツは、新鮮でなくなることはない。
【００８０】
ＲＴＦカプセル化
ＲＴＦカプセル化拡張子は、ＲＴＰをわたって送信されるデータに関する幅広いコーデックを全般に横切るコーデック初期化パラメータを特定する。様々な異なるコーデックは、ＲＴＰとともに使用されることができ、これらの異なるコーデックは、しばしばそれら自体のカプセル化スキームおよびそれら自体の初期化パラメータを有する。ＲＴＦカプセル化拡張子は、同一のシンタックス（ＲＴＦカプセル化拡張子である）が様々な異なるコーデックの特性を記述することを可能にし、それによって多くの異なるコードを記述するために多くの異なるシンタックスの必要性を緩和する。ＲＴＦカプセル化拡張子は、「ａ＝ｆｍｔｐ」属性を使用してメディアレベル記述に含まれる。
【００８１】
a=fmtp:pt MIME config=config-info
ｐｔパラメータは、ＲＴＰペイロードのフォーマットまたはタイプを識別するＲＴＰペイロードタイプ数である。ある実施形態において、０から１２７の間の任意の数が有効である。
【００８２】
ＭＩＭＥパラメータは、メディアストリームで使用されるコーデックの識別子である。ある実施形態において、ＭＩＭＥパラメータは、１９９８年６月のコメント（ＲＦＣ）２３６１に関するネットワークワーキンググループ要求「ＷＡＶＥ  ａｎｄ  ＡＶＩ  Ｃｏｄｅｃ  Ｒｅｇｉｓｔｒｉｃｓ」におけるルールにしたがって形成されるＭＩＭＥ（Ｍｕｌｔｉｐｕｒｐｏｓｅ  Ｉｎｔｅｒｎｅｔ  Ｍａｉｌ  Ｅｘｔｅｎｓｉｏｎｓ）タイプである。他の実施形態において、ＭＩＭＥパラメータは、以下のフォームをとることができる。
【００８３】
Application/vnd.asf;codec=xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx
ここで、パラメータｘｘｘｘｘｘｘｘ−ｘｘｘｘ−ｘｘｘｘ−ｘｘｘｘ−ｘｘｘｘｘｘｘｘｘｘｘｘは、コーデックの識別子で置き換えられる。ある実装において、識別子は、ＡＳＦファイルからコーデックＧＵＩＤである。識別子は、例えば、ＡＳＦファイルにおけるＳｔｒｅａｍ  Ｐｒｏｐｅｒｔｉｅｓ  ＯｂｊｅｃｔからのＭｅｄｉａ  Ｔｙｐｅ  ＧＵＩＤ、またはＡＳＦファイルにおけるＳｔｒｅａｍ  Ｐｒｏｐｅｒｔｉｅｓ  ＯｂｊｅｃｔのＴｙｐｅ−Ｓｐｅｃｉｆｉｃ  ＤａｔａセクションとしてＡＳＦファイルに格納されることができる。
【００８４】
ｃｏｎｆｉｇ＝ｃｏｎｆｉｇ−ｉｎｆｏパラメータは、ｃｏｎｆｉｇ−ｉｎｆｏが一連のサブパラメータに置き換えられるコーデック初期化データを識別する。ある実装において、サブパラメータは、Ｂａｓｅ６４符号化される。これらのサブパラメータは、「／」キャラクタまたは代わりに他のキャラクタ（例えば、ピリオド、コンマ、コロン、セミコロンなど）によって分離される。ｃｏｎｆｉｇ−ｉｎｆｏのシンタックスは、以下の通りである。
【００８５】
MajorType/FixedSizeSamples/TemporalCompression/SampleSize/FormatType/FormatData
ＭａｊｏｒＴｙｐｅサブパラメータは、メディアストリームのタイプを識別する識別子（例えば、ＧＵＩＤ（Ｇｌｏｂａｌｌｙ  Ｕｎｉｑｕｅ  ＩＤ））である。ある実装において、有効な値は、オーディオストリームに関して「７３６４７５６１−００００−００１０−８０００−００ＡＡ００３８９Ｂ７１」、およびビデオストリームに関して「７３６４６９７６−００００−００１０−８０００−００ＡＡ００３８９Ｂ７１」を含む。
【００８６】
ＦｉｘｅｄＳｉｚｅＳａｍｐｌｅｓサブパラメータは、コーデックが固定されたサイズのサンプル（パケット）を使用するかどうかを示す。ある実装において、ＦｉｘｅｄＳｉｚｅＳａｍｐｌｅｓサブパラメータは、コーデックが固定されたサイズのメディアサンプル（パケット）を使用するなら「１」であり、またはそうでなければ「０」である。例えば、通常このフィールドは、オーディオおよび圧縮されていないビデオに関しては「１」であるが、圧縮されたビデオに関しては「０」である。
【００８７】
ＴｅｍｐｏｒａｌＣｏｍｐｒｅｓｓｉｏｎサブパラメータは、ストリームが一時的な圧縮を使用するかどうかを示す。ある実装において、ＴｅｍｐｏｒａｌＣｏｍｐｒｅｓｓｉｏｎサブパラメータは、ストリームが一時的な圧縮を使用する、すなわちすべてのメディアサンプルが「ｋｅｙ−ｆｒａｍｅｓ」ではないことを意味するなら「１」である。そうでなければ「０」に設定される。このフィールドは、そのようなストリームは非キーフレームメディアサンプルを有することができるので、多くの圧縮されたビデオのタイプに関しては「１」に設定されることができる。
【００８８】
ＳａｍｐｌｅＳｉｚｅサブパラメータは、コーデックが固定されたサイズのサンプル（パケット）を使用するときのメディアサンプルのサイズを示す。ある実装において、ＳａｍｐｌｅＳｉｚｅサブパラメータは、ＦｉｘｅｄＳｉｚｅＳａｍｐｌｅｓが「１」であるときメディアサンプルのサイズを与える１０進数である。ＳａｍｐｌｅＳｉｚｅサブパラメータは、「０」に設定されることができ、ＦｉｘｅｄＳｉｚｅＳａｍｐｌｅｓが「０」であるとき無視されるべきである。
【００８９】
ＦｏｒｍａｔＴｙｐｅサブパラメータは、ＦｏｒｍａｔＤａｔａサブパラメータのフォーマットを識別する識別子（例えば、ＧＵＩＤ）である。ＦｏｒｍａｔＤａｔａサブパラメータは、ＦｏｒｍａｔＴｙｐｅサブパラメータによって識別されるコーデック初期化データである。コーデックの特性を記述する様々な異なる構造の任意の構造は、ＦｏｒｍａｔＤａｔａサブパラメータに関して使用されることができる。例えば、オーディオストリームに関するコーデックのデータ構造記述特性は、オーディオサンプルレートおよびサンプル毎のビット数に関する情報を含むことができる。他の例として、ビデオストリームに関するコーデックのデータ構造記述特性は、ビデオ情報の幅および高さ（例えば、ピクセルにおける）、ならびにピクセルアスペクト比に関する情報を含むことができる。ある実装において、コーデック初期化データにおける各バイトは、ＳＤＰにおける２つの１６進数として示される。代わりに他の表現は、Ｂａｓｅ６４符号化などを使用されることができる。
【００９０】
帯域幅共有
帯域幅共有拡張子は、特定のストリームのセットの最大帯域幅が、個々の特定されたストリームの最大帯域幅の合計より少ないように帯域幅を共有するストリームを特定する。帯域幅共有拡張子は、「ａ＝ｂｗｓｈａｒｅ」属性を使用してセッションレベル記述に含まれる。
【００９１】
ある実施形態において、帯域幅共有拡張子に関するパラメータは、マルチメディアプレゼンテーションに関連付けられるＡＳＦファイルヘッダにおけるＢａｎｄｗｉｄｔｈ  Ｓｈａｒｉｎｇ  Ｏｂｊｅｃｔをアクセスすることによって得られる。ＡＳＦファイルヘッダで識別されるパラメータは、帯域幅共有拡張子のパラメータとして検索されかつ使用される。ＡＳＦファイルヘッダに複数のＢａｎｄｗｉｄｔｈ  Ｓｈａｒｉｎｇ  Ｏｂｊｅｃｔｓが存在するなら、別個の帯域幅共有拡張子は、これら複数のＢａｎｄｗｉｄｔｈ  Ｓｈａｒｉｎｇ  Ｏｂｊｅｃｔｓの各々に関するセッション記述メッセージに含まれる。
【００９２】
「ａ＝ｂｗｓｈａｒｅ」属性に関するシンタックスは、以下のように定義される。
【００９３】
a=bwshare:SharingType R B SessionList
ＳｈａｒｉｎｇＴｙｐｅパラメータは、共有のタイプを示すために異なる値に設定されることができる。例えば、ＳｈａｒｉｎｇＴｙｐｅパラメータは、特定されたストリームの任意の数が、任意の所与の時間でのストリーミングデータであることを示すために「ＰＡＲＴ」に設定されることができるが、ただ１つの特定されたストリームが、任意の所与の時間でのストリーミングデータであることができるなら、「ＥＸＣＬ」に設定されることができる。ある実施形態において、帯域幅共有拡張子がＡＳＦファイルヘッダ内の情報に基づくとき、ＡＳＦファイルヘッダのＢａｎｄｗｉｄｔｈ  Ｓｈａｒｉｎｇ  Ｏｂｊｅｃｔにおける「Ｓｈａｒｉｎｇ  Ｔｙｐｅ」ＧＵＩＤの値が、ＡＳＦ＿Ｂａｎｄｗｉｄｔｈ＿Ｓｈａｒｉｎｇ＿Ｐａｒｔｉａｌである場合、ＳｈａｒｉｎｇＴｙｐｅパラメータは「ＰＡＲＴ」に設定され、ＡＳＦファイルヘッダのＢａｎｄｗｉｄｔｈ  Ｓｈａｒｉｎｇ  Ｏｂｊｅｃｔにおける「Ｓｈａｒｉｎｇ  Ｔｙｐｅ」ＧＵＩＤの値が、ＡＳＦ＿Ｂａｎｄｗｉｄｔｈ＿Ｓｈａｒｉｎｇ＿Ｅｘｃｌｕｓｉｖｅである場合、ＳｈａｒｉｎｇＴｙｐｅパラメータは「ＥＸＣＬ」に設定される。
【００９４】
Ｒパラメータは、オーバフローなしにすべてのストリームのデータ部分を含むリーキーバケットのリークレート（例えば、１秒毎のビットで）を特定する。リーキーバケットのサイズは、Ｂパラメータとして特定される。ある実施形態において、帯域幅共有拡張子がＡＳＦファイルヘッダ内の情報に基づくとき、Ｒパラメータは、１０進数として表現されたＡＳＦファイルヘッダ内の「Ｄａｔａ  Ｂｉｔｒａｔｅ」フィールドの値である。
【００９５】
Ｂパラメータは、リーキーバケットのサイズ（例えば、ミリ秒で）を特定する。ある実施形態において、帯域幅共有拡張子がＡＳＦファイルヘッダ内の情報に基づくとき、Ｂパラメータは、１０進数として表現されたＡＳＦファイルヘッダ内の「Ｂｕｆｆｅｒ  Ｓｉｚｅ」フィールドの値である。
【００９６】
ＳｅｓｓｉｏｎＬｉｓｔパラメータは、スペースキャラクタによって分離された１つまたは複数の１０進数からなる。各数は、この「ａ＝ｂｗｓｈａｒｅ」属性によって表現される帯域幅共有関係によって包含される特定されたストリームの１つを識別する。ストリームは、それらのＲＴＰセッション数によって識別される。
【００９７】
ストリーム優先順位付け
ストリーム優先順位付け拡張子は、マルチメディアプレゼンテーションにおけるどのストリームが、どのほかのストリームを超える優先度を有するべきかを特定する。この優先順位付けは、例えば、どのストリームが、ネットワーク輻輳の場合にドロップされるべきかドロップされるべきではないか識別するために使用されることができる。
【００９８】
ストリーム優先順位付け拡張子は、「ａ＝ｐｒｉｏ」属性を使用してセッションレベル記述に含まれる。「ａ＝ｐｒｉｏ」属性は、第１に列挙される最も高い優先度ＲＴＰセッションを有する、優先度順序に各ＲＴＰセッションを列挙する。「ａ＝ｐｒｉｏ」属性は、ＲＴＰセッションの識別子であるパラメータのリストを含む。
【００９９】
あるＲＴＰセッションは、これらのあるセッションが、ネットワーク輻輳に応答してドロップされるべきでないと考えられることを示す必須のもの（ｍａｎｄａｔｏｒｙ）として識別されることができる。必須ＲＴＰセッションは、ＲＴＰセッション数の後に、キャラクタ「ｍ」を添付することによって「ａ＝ｐｒｉｏ」属性に含まれる。
【０１００】
以下の例は、「ａ＝ｐｒｉｏ」属性のシンタックスを示す。
【０１０１】
a=prio:1m 2m 3
この例において、ＲＴＰセッション１および２は、必須である。ＲＴＰセッション３は、他のセッションより低い優先度を有し、かつネットワーク輻輳の場合にドロップされることがある。
【０１０２】
ある実施形態において、ストリーム優先度は、マルチメディアプレゼンテーションに関連付けられるＡＳＦファイルヘッダにおけるＳｔｒｅａｍ  Ｐｒｉｏｒｉｔｉｚａｔｉｏｎ  Ｏｂｊｅｃｔをアクセスすることによって得られる。ＡＳＦファイルヘッダで識別されるストリームは、ＲＴＰセッションに対応し、ＡＳＦファイルヘッダで識別されるストリーム優先度は、対応するＲＴＰセッションに関する優先度として使用される。「Ｍａｎｄａｔｏｒｙ  Ｆｌａｇ」が、特定のＡＳＦストリームに関する優先度として設定されるなら、対応するＲＴＰセッションは、同様に必須と考えられる。
【０１０３】
図５を参照すると、図５は、本明細書で記載された技術を実装するために使用されることができる一般的なコンピュータ環境３００を示す。コンピュータ環境３００は、コンピュータ環境の単なる一例であり、コンピュータおよびネットワークアーキテクチャの使用または機能性の範囲として任意の制限を示唆することを意図するものではない。コンピュータ環境３００は、例示的なコンピュータ環境３００に示された構成要素の任意の１つ、または構成要素の任意の組合せに関連する任意の従属性または要件を有すると解釈されるべきでない。
【０１０４】
コンピュータ環境３００は、コンピュータ３０２の構成の汎用コンピューティングデバイスを含む。コンピュータ３０２は、例えば、図１および図２のクライアントデバイス１０２またはサーバデバイス１０４である得る。コンピュータ３０２は、またマルチメディアプレゼンテーションのソースである符号化デバイスであり得る。コンピュータ３０２の構成要素は、１つまたは複数のプロセッサまたはプロセッシングユニット３０４、システムメモリ３０６、およびプロセッサ３０４を含む様々なシステム構成要素をシステムメモリ３０６に結合するシステムバス３０８を含むことができるが、これらに限定されない。
【０１０５】
システムバス３０８は、メモリバスまたはメモリコントローラ、周辺バス、加速グラフィックポート、および様々な任意のバスアーキテクチャを使用するプロセッサまたはローカルバスを含む、１つまたは複数の任意のいくつかのタイプのバス構造を表す。例として、そのようなアーキテクチャは、Ｉｎｄｕｓｔｒｙ  Ｓｔａｎｄａｒｄ  Ａｒｃｈｉｔｅｃｔｕｒｅ（ＩＳＡ）バス、Ｍｉｃｒｏ  Ｃｈａｎｎｅｌ  Ａｒｃｈｉｔｅｃｔｕｒｅ（ＭＣＡ）バス，Ｅｎｈａｎｃｅｄ  ＩＳＡ（ＥＩＳＡ）バス、Ｖｉｄｅｏ  Ｅｌｅｃｔｒｏｎｉｃｓ  Ｓｔａｎｄａｒｄｓ  Ａｓｓｏｃｉａｔｉｏｎ（ＶＥＳＡ）ローカルバス、およびＭｅｚｚａｎｉｎｅバスとしても知られるＰｅｒｉｐｈｅｒａｌ  Ｃｏｍｐｏｎｅｎｔ  Ｉｎｔｅｒｃｏｎｎｅｃｔｅｒｓ（ＰＣＩ）バスを含むことができる。
【０１０６】
コンピュータ３０２は、一般に様々なコンピュータ可読媒体を含む。そのような媒体は、コンピュータ３０２によってアクセス可能であり、かつ揮発性媒体および不揮発性媒体の両方の媒体、取り外し可能な媒体および取り外しできない媒体の両方の媒体を含む任意の利用可能な媒体であり得る。
【０１０７】
システムメモリ３０６は、ランダムアクセスメモリ（ＲＡＭ）３１０などの揮発性メモリの形態、および／またはリードオンリーメモリ（ＲＯＭ）３１２などの不揮発性メモリの形態のコンピュータ可読媒体を含む。開始の間など情報をコンピュータ３０２内の要素間で転送するのに役立つ基本的なルーチンを含むベーシック入力／出力システム（ＢＩＯＳ）３１４は、ＲＯＭ３１２に格納される。ＲＡＭ３１０は、一般に、プロセッシングユニット３０４によってすぐにアクセス可能なかつ／または現在動作しているデータおよび／またはプログラムモジュールを含む。
【０１０８】
コンピュータ３０２は、また、他の取り外し可能／取り外しできない、揮発性／不揮発性のコンピュータ格納媒体を含むことができる。例として、図５は、取り外しできず不揮発性の磁性媒体（図示せず）から読み取りおよび書き込むためのハードディスクドライブ３１６、取り外しでき不揮発性の磁気ディスク３２０（例えば、「フロッピー（登録商標）ディスク」）から読み取りおよび書き込むための磁気ディスクドライブ３１８、およびＣＤ−ＲＯＭ、ＤＶＤ−ＲＯＭ、または他の光媒体などの取り外しでき不揮発性の光ディスク３２４から読み取りおよび／または書き込むための光ディスクドライブ３２２を示す。ハードディスクドライブ３１６、磁気ディスクドライブ３１８、および光ディスクドライブ３２２は、それぞれ１つまたは複数のデータ媒体インターフェース３２６によってシステムバス３０８に接続される。代わりに、ハードディスクドライブ３１６、磁気ディスクドライブ３１８、および光ディスクドライブ３２２は、１つまたは複数のインターフェース（図示せず）によってシステムバス３０８に接続されることができる。
【０１０９】
ディスクドライブおよびそれらに結合されるコンピュータ可読媒体は、コンピュータ可読命令、データ構造、プログラムモジュール、およびコンピュータ３０２に関する他のデータの不揮発性ストレージを提供する。例は、ハードディスク３１６、取り外し可能な磁気ディスク３２０、および取り外し可能な光ディスク３２４を示すが、磁気カセットまたは他の磁気ストレージデバイス、フラッシュメモリカード、ＣＤ−ＲＯＭ、デジタルバーサタイルディスク（ＤＶＤ）または他の光ストレージ、ランダムアクセスメモリ（ＲＡＭ）、リードオンリーメモリ（ＲＯＭ）、電気的に消去可能なプログラム可能なリードオンリーメモリ（ＥＥＰＲＯＭ）などの、コンピュータによってアクセス可能なデータを格納することができる他のタイプのコンピュータ可読媒体も、例示的なコンピューティングシステムおよび環境を実装するために利用されることができることは理解されるべきである。
【０１１０】
任意の数のプログラムモジュールは、例として、オペレーティングシステム３２６、１つまたは複数のアプリケーションプログラム３２８、他のプログラムモジュール３３０、およびプログラムデータ３２２を含む、ハードディスク３１６、磁気ディスク３２０、光ディスク３２４、ＲＯＭ３１２、および／またはＲＡＭ３１０に格納されることができる。そのような各オペレーティングシステム３２６、１つまたは複数のアプリケーションプログラム３２８、他のプログラムモジュール３３０、およびプログラムデータ３２２（またはいくつかのそれらの組合せ）は、配信されたファイルシステムをサポートするレジデント構成要素のすべてまたは一部を実装することができる。
【０１１１】
ユーザは、キーボード３３４およびポインティングデバイス３３６（例えば「マウス」）などの入力デバイスを介して、コマンドおよび情報をコンピュータ３０２に入力することができる。他の入力デバイス３３８（特に図示せず）は、マイクロホン、ジョイスティック、ゲームパッド、サテライトディッシュ、シリアルポート、スキャナなどを含むことができる。これらおよび他の入力デバイスは、システムバス３０８に結合される入力／出力インターフェース３４０を介してプロセッシングユニット３０４に接続されるが、パラレルポート、ゲームポート、またはユニバーサルシリアルバス（ＵＳＢ）などの他のインターフェースおよびバス構造によって接続されることができる。
【０１１２】
モニタ３４２または他のタイプの表示デバイスは、ビデオアダプタ３４４などのインターフェースを介してシステムバス３０８に接続されることもできる。モニタ３４２に加えて、他の出力周辺デバイスは、入力／出力インターフェース３４０を介してコンピュータ３０２に接続されることができる、スピーカ（図示せず）およびプリンタ３４６などの構成要素を含むことができる。
【０１１３】
コンピュータ３０２は、リモートコンピューティングデバイス３４８などの１つまたは複数のリモートの構成要素に対する論理接続を使用するネットワーク環境で動作することができる。例として、リモートコンピューティングデバイス３４８は、パーソナルコンピュータ、ポータブルコンピュータ、サーバ、ルータ、ネットワークコンピュータ、ピアデバイス、または他の共通ネットワークノードなどであり得る。リモートコンピューティングデバイス３４８は、コンピュータ３０２に関して本明細書で記載された多くのまたはすべての構成要素および特徴を含むことができるポータブルコンピュータとして示される。
【０１１４】
コンピュータ３０２とリモートコンピュータ３４８との間の論理接続は、ローカルエリアネットワーク（ＬＡＮ）３５０および全体的なワイドエリアネットワーク（ＷＡＮ）３５２として示される。そのようなネットワーク環境は、オフィス、企業にわたるコンピュータネットワーク、イントラネット、およびインターネットにおいて普通である。
【０１１５】
ＬＡＮネットワーク環境において実装されるとき、コンピュータ３０２は、ネットワークインターフェースまたはアダプタ３５４を介してローカルネットワーク３５０に接続される。ＷＡＮネットワーク環境において実装されるとき、コンピュータ３０２は、一般に、ワイドネットワーク３５２にわたって通信を確立するためのモデム３５６または他の手段を含む。コンピュータ３０２に対して内部または外部であり得るモデム３５６は、入力／出力インターフェース３４０または他の適切な機構を介してシステムバス３０８に接続されることができる。示されたネットワーク接続は、例示的であり、コンピュータ３０２および３４８間の通信リンクを確立する他の手段を用いることができることは理解されるべきである。
【０１１６】
コンピューティング環境３００で示されるようなネットワーク環境において、コンピュータ３０２に関して示されたプログラムモジュールまたはそれらの部分は、リモートメモリストレージデバイスに格納されることができる。例として、リモートアプリケーションプログラム３５８は、リモートコンピュータ３４８のメモリデバイスにある。例示の目的のために、アプリケーションプログラムおよびオペレーティングシステムなどの他の実行可能なプログラム構成要素は、別々のブロックとして本明細書で示されているが、そのようなプログラムおよび構成要素は、コンピューティングデバイス３０２の異なるストレージ構成要素に異なる時間に存在し、コンピュータのデータプロセッサによって実行されることは認識される。
【０１１７】
様々なモジュールおよび技術は、１つまたは複数のコンピュータまたは他のデバイスによって実行されるプログラムモジュールなど、コンピュータ実行可能な命令の全般的なコンテンツで本明細書において記載されることができる。一般に、プログラムモジュールは、特定のタスクを実行し、または特定のアブストラクトデータタイプを実装する、ルーチン、プログラム、オブジェクト、構成要素、データ構造などを含む。一般に、プログラムモジュールの機能性は、様々な実施形態において所望なように組み合わせられまたは分散されることができる。
【０１１８】
これらモジュールおよび技術の実装は、コンピュータ可読媒体のある形態に格納され、またはある形態をわたって送信されることができる。コンピュータ可読媒体は、コンピュータによってアクセスされることができる任意の利用可能な媒体であることができる。例として制限されず、コンピュータ可読媒体は、「コンピュータストレージ媒体」および「通信媒体」を備えることができる。
【０１１９】
「コンピュータストレージ媒体」は、コンピュータ可読命令、データ構造、プログラムモジュール、または他のデータなどの情報を格納に関する任意の方法または技術で実装される、揮発性および不揮発性、取り外し可能なおよび取り外しできない媒体を含む。コンピュータストレージ媒体は、所望の情報を格納するために使用されることができ、かつコンピュータによってアクセスされることができる、ＲＡＭ、ＲＯＭ、ＥＥＰＲＯＭ、フラッシュメモリまたは他のメモリ技術、ＣＤ−ＲＯＭ、デジタルバーサタイルディスク（ＤＶＤ）または他の光ストレージ、磁気カセット、磁気テープ、磁気ディスクストレージまたは他の磁気ストレージデバイス、または他の媒体を含むが、これらに限定されない。
【０１２０】
「通信媒体」は、一般に、コンピュータ可読命令、データ構造、プログラムモジュール、または搬送波または他の転送機構など変調されたデータ信号における他の信号を具体化する。通信媒体は、また任意の情報送達媒体を含む。用語「変調されたデータ信号」は、信号における情報を符号化するように設定されまたは変更された１つまたは複数のその特徴を有する信号を意味する。例として限定されずに、通信媒体は、有線ネットワークまたはダイレクトワイヤド接続などの有線媒体、および音響、ＲＦ、赤外線、および他の無線媒体などの無線媒体を含む。上記の任意の組合せも、コンピュータ可読媒体の範囲内に含まれる。
【０１２１】
上述の記載は、構造特徴および／または方法論的作用を特定する言語を使用するが、添付の請求項に規定される本発明は、記載された特定の特徴または作用に限定されないことが理解される。さらに、特定の特徴および作用は、本発明の実装の例示的な形態として開示される。
【図面の簡単な説明】
【０１２２】
【図１】本明細書で記載されるセッション記述メッセージ拡張子を使用するメディアをストリーミングするために使用されることができる例示的なネットワーク環境を示す。
【図２】本明細書で記載されるセッション記述メッセージ拡張子を使用するメディアコンテンツをストリーミングすることができる例示的なクライアントおよびサーバデバイスを示す。
【図３】例示的なセッション記述メッセージフォーマットを示す。
【図４】マルチメディアプレゼンテーションに関するセッション記述メッセージを拡張するための例示的なプロセスを示すフローチャートである。
【図５】本明細書に記載される技術を実装するために使用されることができる一般的なコンピュータ環境を示す。
【図１】
2007535860.tif 000007
【図２】
2007535860.tif 000008
【図３】
2007535860.tif 000009
【図４】
2007535860.tif 000010
【図５】
2007535860.tif 000011
【手続補正書】
【提出日】平成19年7月23日(2007.7.23)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
クライアントデバイスへストリーミングされるマルチメディアプレゼンテーションの特性を記述するセッション記述メッセージを生成するステップであって、前記マルチメディアプレゼンテーションは、複数のメディアストリームを有し、前記セッション記述メッセージは、
ＡＳＦファイルヘッダから分離され、かつ前記複数のメディアストリームのどれが相互に排他的であるかを特定する相互排他性拡張子と、
前記ＡＳＦファイルヘッダから分離され、かつ前記マルチメディアプレゼンテーション内でインデックスを特定するマーカ拡張子と、
前記ＡＳＦファイルヘッダから分離され、かつ前記マルチメディアプレゼンテーションの再生中に示されるべきデータを特定するスクリプトコマンド拡張子と、
前記ＡＳＦファイルヘッダから分離され、かつ特定のビットレートで前記マルチメディアプレゼンテーションをプレイするとき、どれだけ多くの前記マルチメディアプレゼンテーションのデータをバッファリングするかを特定するリーキーバケット拡張子と、
前記ＡＳＦファイルヘッダから分離され、かつ前記マルチメディアプレゼンテーションのキャッシングに関する情報を特定するキャッシング情報拡張子と、
前記ＡＳＦファイルヘッダから分離され、かつ１つまたは複数の異なる複数のコーデックに関するコーデックパラメータを特定するカプセル化拡張子と、
前記ＡＳＦファイルヘッダから分離され、かつ帯域幅を共有する複数のメディアストリームのメディアストリームを特定する帯域幅共有拡張子と、
前記ＡＳＦファイルヘッダから分離され、かつどの前記複数のメディアストリームが、どの他の前記複数のメディアストリームを超える優先度を有するべきかを特定するストリーム優先順位付け拡張子とを有する、セッション記述メッセージを生成するステップと、
前記クライアントデバイスにストリーミングされるデータの一部として、前記セッション記述メッセージを含めるステップとを備えることを特徴とする方法。
【請求項２】
クライアントデバイスへストリーミングされるマルチメディアプレゼンテーションの特性を記述するセッション記述メッセージを生成する格納された複数の命令を有する１つまたは複数のコンピュータ可読媒体であって、１つまたは複数のプロセッサによって実行されるとき、前記複数の命令は１つまたは複数のプロセッサが、
前記マルチメディアプレゼンテーションのＡＳＦファイルヘッダにアクセスすること、
前記ＡＳＦファイルヘッダの複数のオブジェクトのサブセットを識別すること、
前記複数のオブジェクトの前記サブセットにおける各オブジェクトに関して、前記セッション記述に関する複数の拡張子の異なる１つを生成することであって、前記複数の拡張子の１つは、特定のビットレートで前記マルチメディアプレゼンテーションをプレイするとき、どれだけ多くの前記マルチメディアプレゼンテーションのデータをバッファリングするかを特定するリーキーバケット拡張子を含む、複数の拡張子の異なる１つを生成することと、
前記複数のオブジェクトの前記サブセットにおける各オブジェクトに関して、
前記オブジェクトから１つまたは複数のパラメータを検索すること、および
前記複数の拡張子の１つに関するパラメータとして前記検索されたパラメータを使用することをもたらすことを特徴とする１つまたは複数のコンピュータ可読媒体。
【請求項３】
前記複数の拡張子の１つは、前記マルチメディアプレゼンテーションの複数のメディアストリームのどれが、相互に排他的であるかを特定する相互排他性拡張子を含むことを特徴とする請求項２に記載の１つまたは複数のコンピュータ可読媒体。
【請求項４】
前記複数の拡張子の１つは、前記マルチメディアプレゼンテーション内でインデックスを特定するマーカ拡張子を含むことを特徴とする請求項２に記載の１つまたは複数のコンピュータ可読媒体。
【請求項５】
前記複数の拡張子の１つは、前記マルチメディアプレゼンテーションの再生中に示されるべきデータを特定するスクリプトコマンド拡張子を含むことを特徴とする請求項２に記載の１つまたは複数のコンピュータ可読媒体。
【請求項６】
前記複数の拡張子の１つは、前記マルチメディアプレゼンテーションのキャッシングに関する情報を特定するキャッシング情報拡張子を含むことを特徴とする請求項２に記載の１つまたは複数のコンピュータ可読媒体。
【請求項７】
前記複数の拡張子の１つは、１つの異なる複数のコーデックに関するコーデックパラメータを特定するカプセル化拡張子を含むことを特徴とする請求項２に記載の１つまたは複数のコンピュータ可読媒体。
【請求項８】
前記複数の拡張子の１つは、帯域幅を共有する前記マルチメディアプレゼンテーションの複数のメディアストリームのメディアストリームを特定する帯域幅共有拡張子を含むことを特徴とする請求項２に記載の１つまたは複数のコンピュータ可読媒体。
【請求項９】
前記複数の拡張子の１つは、どの前記マルチメディアプレゼンテーションの複数のメディアストリームが、どの他の前記複数のメディアストリームを超える優先度を有するべきかを特定するストリーム優先順位付け拡張子を含むことを特徴とする請求項２に記載の１つまたは複数のコンピュータ可読媒体。
【請求項１０】
格納された複数の命令を有する１つまたは複数のコンピュータ可読媒体であって、前記複数の命令は、１つまたは複数のプロセッサによって実行されるとき、１つまたは複数のプロセッサが、
クライアントデバイスへストリーミングされるマルチメディアプレゼンテーションの特性を記述するセッション記述メッセージを生成することであって、前記マルチメディアプレゼンテーションは複数のメディアストリームを有し、前記セッション記述メッセージは、ＡＳＦファイルヘッダから分離され、かつ前記複数のメディアストリームのどれが相互に排他的であるかを特定する相互排他性拡張子を有し、値ＥｘｃｌｕｓｉｏｎＴｙｐｅは、相互排他性のタイプを表し、値ＳｔｒｅａｍＮｕｍｂｅｒｓは、相互に排他的である前記メディアストリームを表し、かつ前記相互排他性拡張子は、ａ＝ｇｒｏｕｐ：ＥｘｃｌｕｓｉｏｎＴｙｐｅ  Ｓｔｒｅａｍ  Ｎｕｍｂｅｒｓを含む、セッション記述メッセージを生成すること、および
前記クライアントデバイスにストリーミングされるデータの一部として、前記セッション記述メッセージを含めることをもたらすことを特徴とする１つまたは複数のコンピュータ可読媒体。
【請求項１１】
前記セッション記述メッセージは、セッション記述プロトコル（ＳＤＰ）メッセージであることを特徴とする請求項１０に記載の１つまたは複数のコンピュータ可読媒体。
【請求項１２】
前記１つまたは複数のプロセッサが前記セッション記述メッセージを生成することをもたらす前記命令は、さらに前記１つまたは複数のプロセッサが、
前記マルチメディアプレゼンテーションのＡＳＦファイルヘッダのオブジェクトを識別すること、
前記オブジェクトから１つまたは複数のパラメータを検索すること、および
前記相互排他性拡張子に関するパラメータを決定するために前記検索された１つまたは複数のパラメータを解析することをもたらすことを特徴とする請求項１０に記載の１つまたは複数のコンピュータ可読媒体。
【請求項１３】
前記複数のメディアストリームは、ビットレートに基づき相互に排他的であることを特徴とする請求項１０に記載の１つまたは複数のコンピュータ可読媒体。
【請求項１４】
前記複数のメディアストリームは、言語に基づき相互に排他的であることを特徴とする請求項１０に記載の１つまたは複数のコンピュータ可読媒体。
【請求項１５】
格納された複数の命令を有する１つまたは複数のコンピュータ可読媒体であって、前記複数の命令は、１つまたは複数のプロセッサによって実行されるとき、１つまたは複数のプロセッサが、
クライアントデバイスへストリーミングされるマルチメディアプレゼンテーションの特性を記述するセッション記述メッセージを生成することであって、前記マルチメディアプレゼンテーションは複数のメディアストリームを有し、前記セッション記述メッセージは、ＡＳＦファイルヘッダから分離され、かつ前記マルチメディアプレゼンテーション内へのインデックス特定するマーカ拡張子を有し、値ｎａｍｅは、前記マーカの名称を表し、値ｔｉｍｅは、前記マーカのプレゼンテーション時間を表し、値ｄｅｓｃは、前記インデックスを表し、かつ前記マーカ拡張子は、ａ＝ｍａｒｋｅｒ：ｎａｍｅ  ｔｉｍｅ；ｄｅｓｃを含む、セッション記述メッセージを生成すること、および
前記クライアントデバイスにストリーミングされるデータの一部として、前記セッション記述メッセージを含めることをもたらすことを特徴とする１つまたは複数のコンピュータ可読媒体。
【請求項１６】
前記セッション記述メッセージは、セッション記述プロトコル（ＳＤＰ）メッセージであることを特徴とする請求項１５に記載の１つまたは複数のコンピュータ可読媒体。
【請求項１７】
前記１つまたは複数のプロセッサが前記セッション記述メッセージを生成することをもたらす前記命令は、さらに前記１つまたは複数のプロセッサが、
前記マルチメディアプレゼンテーションのＡＳＦファイルヘッダのオブジェクトを識別すること、
前記オブジェクトから１つまたは複数のパラメータを検索すること、および
前記マーカ拡張子に関するパラメータを決定するために前記検索された１つまたは複数のパラメータを解析することをもたらすことを特徴とする請求項１５に記載の１つまたは複数のコンピュータ可読媒体。
【請求項１８】
格納された複数の命令を有する１つまたは複数のコンピュータ可読媒体であって、前記複数の命令は、１つまたは複数のプロセッサによって実行されるとき、１つまたは複数のプロセッサが、
クライアントデバイスへストリーミングされるマルチメディアプレゼンテーションの特性を記述するセッション記述メッセージを生成することであって、前記マルチメディアプレゼンテーションは複数のメディアストリームを有し、前記セッション記述メッセージは、ＡＳＦファイルヘッダから分離され、かつ前記マルチメディアプレゼンテーションの再生中に示されるべきデータを特定するスクリプトコマンド拡張子を有し、値ｔｙｐｅは、コマンドのタイプを表し、値ｔｉｍｅは、前記データがプレゼンテーションされるとき前記マルチメディアプレゼンテーションのプレゼンテーション時間を表し、値ｃｏｍｍａｎｄは、前記プレゼンテーション時間で表示されるべきデータを表し、かつ前記スクリプトコマンド拡張子は、ａ＝ｓｃｒｉｐｔ：ｔｙｐｅ  ｔｉｍｅ；ｃｏｍｍａｎｄを含む、セッション記述メッセージを生成すること、および
前記クライアントデバイスにストリーミングされるストリーミングデータの一部として、前記セッション記述メッセージを含めることをもたらすことを特徴とする１つまたは複数のコンピュータ可読媒体。
【請求項１９】
前記セッション記述メッセージは、セッション記述プロトコル（ＳＤＰ）メッセージであることを特徴とする請求項１８に記載の１つまたは複数のコンピュータ可読媒体。
【請求項２０】
前記１つまたは複数のプロセッサが前記セッション記述メッセージを生成することをもたらす前記命令は、さらに前記１つまたは複数のプロセッサが、
前記マルチメディアプレゼンテーションのＡＳＦファイルヘッダのオブジェクトを識別すること、
前記オブジェクトから１つまたは複数のパラメータを検索すること、および
前記スクリプトコマンド拡張子に関するパラメータを決定するために前記検索された１つまたは複数のパラメータを解析することをもたらすことを特徴とする請求項１８に記載の１つまたは複数のコンピュータ可読媒体。
【請求項２１】
前記スクリプトコマンド拡張子は、前記データを有するウェブページの識別子を含むことによって前記データを特定することを特徴とする請求項１８に記載の１つまたは複数のコンピュータ可読媒体。
【請求項２２】
格納された複数の命令を有する１つまたは複数のコンピュータ可読媒体であって、前記複数の命令は、１つまたは複数のプロセッサによって実行されるとき、１つまたは複数のプロセッサが、
クライアントデバイスへストリーミングされるマルチメディアプレゼンテーションの特性を記述するセッション記述メッセージを生成することであって、前記マルチメディアプレゼンテーションは複数のメディアストリームを有し、前記セッション記述メッセージは、ＡＳＦファイルヘッダから分離され、かつ前記マルチメディアプレゼンテーションのキャッシングに関する情報を特定するキャッシング情報拡張子を有し、値ｒｉｇｈｔｓは、前記マルチメディアプレゼンテーションのキャッシングに関する前記情報を表し、かつ前記キャッシング情報拡張子は、ａ＝ｃａｃｈｅｃｔｒｌ：Ｒｉｇｈｔｓを含む、セッション記述メッセージを生成すること、および
前記クライアントデバイスにストリーミングされるデータの一部として、前記セッション記述メッセージを含めることをもたらすことを特徴とする１つまたは複数のコンピュータ可読媒体。
【請求項２３】
前記セッション記述メッセージは、セッション記述プロトコル（ＳＤＰ）メッセージであることを特徴とする請求項２２に記載の１つまたは複数のコンピュータ可読媒体。
【請求項２４】
前記１つまたは複数のプロセッサが前記セッション記述メッセージを生成することをもたらす前記命令は、さらに前記１つまたは複数のプロセッサが、
前記マルチメディアプレゼンテーションのＡＳＦファイルヘッダのオブジェクトを識別すること、
前記オブジェクトから１つまたは複数のパラメータを検索すること、および
前記キャッシング情報拡張子に関するパラメータを決定するために前記検索された１つまたは複数のパラメータを解析することをもたらすことを特徴とする請求項２２に記載の１つまたは複数のコンピュータ可読媒体。
【請求項２５】
前記マルチメディアプレゼンテーションのキャッシングに関する前記情報は、前記クライアントデバイスは、前記マルチメディアプレゼンテーションをキャッシュすることが許可されるかどうかを特定する情報を含むことを特徴とする請求項２２に記載の１つまたは複数のコンピュータ可読媒体。
【請求項２６】
前記マルチメディアプレゼンテーションのキャッシングに関する前記情報は、前記クライアントデバイスは、前記マルチメディアプレゼンテーションを再ブロードキャストすることが許可されるかどうかを特定する情報を含むことを特徴とする請求項２２に記載の１つまたは複数のコンピュータ可読媒体。
【請求項２７】
格納された複数の命令を有する１つまたは複数のコンピュータ可読媒体であって、前記複数の命令は、１つまたは複数のプロセッサによって実行されるとき、１つまたは複数のプロセッサが、
クライアントデバイスへストリーミングされるマルチメディアプレゼンテーションの特性を記述するセッション記述メッセージを生成することであって、前記マルチメディアプレゼンテーションは複数のメディアストリームを有し、前記セッション記述メッセージは、ＡＳＦファイルヘッダから分離され、かつ１つまたは複数の異なる複数のコーデックに関するコーデックパラメータを特定するカプセル化拡張子を有し、値ｐｔは、ペイロードタイプ数を表し、値ＭＩＭＥは、前記複数の異なるコーデックの１つの識別子を表し、値ｃｏｎｆｉｇ−ｉｎｆｏは、前記複数の異なるコーデックの１つに関する初期化データを表し、前記カプセル化拡張子は、ａ＝ｆｍｔｐ：ｐｔ  ＭＩＭＥ  ｃｏｎｆｉｇ＝ｃｏｎｆｉｇ−ｉｎｆｏを含む、セッション記述メッセージを生成すること、および
前記クライアントデバイスにストリーミングされるデータの一部として、前記セッション記述メッセージを含めることをもたらすことを特徴とする１つまたは複数のコンピュータ可読媒体。
【請求項２８】
前記セッション記述メッセージは、複数のカプセル化拡張子を含み、前記複数のカプセル化拡張子のそれぞれは、同一であるが前記複数の異なるコーデックの異なるコーデックに関するものであるシンタックスを有することを特徴とする請求項２７に記載の１つまたは複数のコンピュータ可読媒体。
【請求項２９】
前記セッション記述メッセージは、セッション記述プロトコル（ＳＤＰ）メッセージであることを特徴とする請求項２７に記載の１つまたは複数のコンピュータ可読媒体。
【請求項３０】
前記１つまたは複数のプロセッサが前記セッション記述メッセージを生成することをもたらす前記命令は、さらに前記１つまたは複数のプロセッサが、
前記マルチメディアプレゼンテーションのＡＳＦファイルヘッダのオブジェクトを識別すること、
前記オブジェクトから１つまたは複数のパラメータを検索すること、および
前記カプセル化拡張子に関するパラメータを決定するために前記検索された１つまたは複数のパラメータを解析することをもたらすことを特徴とする請求項２７に記載の１つまたは複数のコンピュータ可読媒体。
【請求項３１】
前記コーデックパラメータは、前記１つまたは複数のコーデックによって復号化されるべき前記マルチメディアプレゼンテーションのメディアストリームのタイプの識別子を含むことを特徴とする請求項２７に記載の１つまたは複数のコンピュータ可読媒体。
【請求項３２】
前記コーデックパラメータは、前記１つまたは複数のコーデックが、固定されたサイズのパケットを使用するかどうかの識別を含むことを特徴とする請求項２７に記載の１つまたは複数のコンピュータ可読媒体。
【請求項３３】
前記コーデックパラメータは、前記固定されたサイズのパケットの前記サイズの識別を含むことを特徴とする請求項３２に記載の１つまたは複数のコンピュータ可読媒体。
【請求項３４】
前記コーデックパラメータは、前記１つまたは複数のコーデックによって復号化されるべき前記マルチメディアプレゼンテーションのメディアストリームが、一時的な圧縮を使用するかどうかの識別を含むことを特徴とする請求項２７に記載の１つまたは複数のコンピュータ可読媒体。
【請求項３５】
前記コーデックパラメータは、前記１つまたは複数のコーデックに関する初期化データを含むことを特徴とする請求項２７に記載の１つまたは複数のコンピュータ可読媒体。
【請求項３６】
前記コーデックパラメータは、前記セッション記述メッセージ内に前記初期化データのフォーマットを含むことを特徴とする請求項３５に記載の１つまたは複数のコンピュータ可読媒体。
【請求項３７】
格納された複数の命令を有する１つまたは複数のコンピュータ可読媒体であって、前記複数の命令は、１つまたは複数のプロセッサによって実行されるとき、１つまたは複数のプロセッサが、
クライアントデバイスへストリーミングされるマルチメディアプレゼンテーションの特性を記述するセッション記述メッセージを生成することであって、前記マルチメディアプレゼンテーションは複数のメディアストリームを有し、前記セッション記述メッセージは、ＡＳＦファイルヘッダから分離され、かつどの前記複数のメディアストリームが、どの他の前記複数のメディアストリームを超える優先度を有するべきかを特定するストリーム優先順位付け拡張子を有し、前記ストリーム優先順位付け拡張子は、優先度順位におけるメディアストリームのリストにしたがってａ＝ｐｒｉｏを含む、セッション記述メッセージを生成すること、および
前記クライアントデバイスにストリーミングされるデータの一部として、前記セッション記述メッセージを含めることをもたらすことを特徴とする１つまたは複数のコンピュータ可読媒体。
【請求項３８】
前記セッション記述メッセージは、セッション記述プロトコル（ＳＤＰ）メッセージであることを特徴とする請求項３７に記載の１つまたは複数のコンピュータ可読媒体。
【請求項３９】
前記１つまたは複数のプロセッサが前記セッション記述メッセージを生成することをもたらす前記命令は、さらに前記１つまたは複数のプロセッサが、
前記マルチメディアプレゼンテーションのＡＳＦファイルヘッダのオブジェクトを識別すること、
前記オブジェクトから１つまたは複数のパラメータを検索すること、および
前記ストリーム優先順位付け拡張子に関するパラメータを決定するために前記検索された１つまたは複数のパラメータを解析することをもたらすことを特徴とする請求項３７に記載の１つまたは複数のコンピュータ可読媒体。
【国際調査報告】
2007535860.tif 000012