特許第6116906号(P6116906)IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ サムスン エレクトロニクス カンパニー リミテッドの特許一覧

特許6116906部分化を利用した適応的なストリーミング方法及びその装置
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】6116906
(24)【登録日】2017年3月31日
(45)【発行日】2017年4月19日
(54)【発明の名称】部分化を利用した適応的なストリーミング方法及びその装置
(51)【国際特許分類】
   H04N 21/239 20110101AFI20170410BHJP
   G06F 13/00 20060101ALI20170410BHJP
   H04N 21/24 20110101ALI20170410BHJP
   H04N 21/442 20110101ALI20170410BHJP
【FI】
   H04N21/239
   G06F13/00 520B
   H04N21/24
   H04N21/442
【請求項の数】15
【全頁数】38
(21)【出願番号】特願2012-538764(P2012-538764)
(86)(22)【出願日】2010年11月12日
(65)【公表番号】特表2013-511196(P2013-511196A)
(43)【公表日】2013年3月28日
(86)【国際出願番号】KR2010008016
(87)【国際公開番号】WO2011059273
(87)【国際公開日】20110519
【審査請求日】2013年10月1日
【審判番号】不服2015-14810(P2015-14810/J1)
【審判請求日】2015年8月6日
(31)【優先権主張番号】61/260,906
(32)【優先日】2009年11月13日
(33)【優先権主張国】US
(31)【優先権主張番号】61/262,708
(32)【優先日】2009年11月19日
(33)【優先権主張国】US
(31)【優先権主張番号】61/267,131
(32)【優先日】2009年12月7日
(33)【優先権主張国】US
(31)【優先権主張番号】61/314,233
(32)【優先日】2010年3月16日
(33)【優先権主張国】US
(31)【優先権主張番号】61/318,916
(32)【優先日】2010年3月30日
(33)【優先権主張国】US
(31)【優先権主張番号】61/380,461
(32)【優先日】2010年9月7日
(33)【優先権主張国】US
(31)【優先権主張番号】61/380,477
(32)【優先日】2010年9月7日
(33)【優先権主張国】US
(31)【優先権主張番号】10-2010-0103721
(32)【優先日】2010年10月22日
(33)【優先権主張国】KR
(73)【特許権者】
【識別番号】503447036
【氏名又は名称】サムスン エレクトロニクス カンパニー リミテッド
(74)【代理人】
【識別番号】100133400
【弁理士】
【氏名又は名称】阿部 達彦
(74)【代理人】
【識別番号】100110364
【弁理士】
【氏名又は名称】実広 信哉
(74)【代理人】
【識別番号】100154922
【弁理士】
【氏名又は名称】崔 允辰
(74)【代理人】
【識別番号】100140534
【弁理士】
【氏名又は名称】木内 敬二
(72)【発明者】
【氏名】ホ−ジン・ハ
(72)【発明者】
【氏名】オ−ホーン・クウォン
(72)【発明者】
【氏名】スン−ビン・イム
(72)【発明者】
【氏名】ジ−エウン・クム
(72)【発明者】
【氏名】グアンファ・チャン
(72)【発明者】
【氏名】ヒュン−タク・チェ
(72)【発明者】
【氏名】スン−バル・キム
【合議体】
【審判長】 清水 正一
【審判官】 渡辺 努
【審判官】 渡邊 聡
(56)【参考文献】
【文献】 特開2004−88766(JP,A)
【文献】 特開2005−303927(JP,A)
【文献】 特開2008−236667(JP,A)
【文献】 特表2004−516717(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
H04N21/00-21/858
H04N19/00-19/98
G06F13/00
(57)【特許請求の範囲】
【請求項1】
メディアデータを受信する方法において、
コンテンツを異なる品質にエンコーディングして生成された複数のメディアデータについての情報を含むファイルをサーバから受信する段階と、
前記受信されたファイルに基づいて前記複数のメディアデータのうち第1メディアデータに含まれた第1部分を受信する段階と、
前記受信されたファイルに基づいて前記第1メディアデータに含まれた少なくとも一つの部分のうち、前記第1部分の次の部分である第2部分と対応する第2メディアデータの第2部分を受信する段階と、を含み、
前記複数のメディアデータは、時間に基づいて複数の部分に分割され
前記複数の部分には、それぞれ前記複数の部分の再生時間についての情報が含まれ、
前記ファイルは、前記第1メディアデータに含まれた少なくとも一つの部分と前記第2メディアデータに含まれた少なくとも一つの部分の再生時間を対応させるための時間調整情報を含むことを特徴とするメディアデータ受信方法。
【請求項2】
前記複数のメディアデータは、
MPEG−2 TS(MPEG−2 transport stream)フォーマットによるメディアデータであり、
前記複数のメディアデータは、前記MPEG−2 TSのエレメンタリー・ストリームに対応することを特徴とする請求項1に記載のメディアデータ受信方法。
【請求項3】
前記複数の部分のそれぞれは、少なくとも1つのPES(packetized elementary stream)を含み、1つのPESは、1つの部分にいずれも含まれることを特徴とする請求項2に記載のメディアデータ受信方法。
【請求項4】
前記PESは、少なくとも1つの映像フレームまたは音声フレームに係わるデータを含むことを特徴とする請求項3に記載のメディアデータ受信方法。
【請求項5】
ランダム・アクセスポイントに係わる伝送ストリームは、ランダム・アクセスポイントに係わる伝送ストリームであることを示す情報を含むことを特徴とする請求項3に記載のメディアデータ受信方法。
【請求項6】
前記受信されたファイルは、
前記複数のメディアデータと関連したPAT(program association table)及びPMT(program map table)のうち、少なくとも一つを参考にする情報をさらに含むことを特徴とする請求項2に記載のメディアデータ受信方法。
【請求項7】
前記PAT及びPMTは、
初期化部分であり、前記複数のメディアデータと分離されていることを特徴とする請求項6に記載のメディアデータ受信方法。
【請求項8】
前記PAT及びPMTのうち、少なくとも一つは、
前記複数のメディアデータ全体のリストを含むことを特徴とする請求項6に記載のメディアデータ受信方法。
【請求項9】
前記複数のメディアデータは、複数のPID(packet ID)のそれぞれ異なる一つに割り当てられることを特徴とする請求項6に記載のメディアデータ受信方法。
【請求項10】
前記複数のメディアデータは、それぞれのPTS(presentation time stamp)及びそれぞれのDTS(decoding time stamp)を含むPESから構成され、
前記それぞれのPTSと前記それぞれのDTSは、メディアデータの再生時間によって整列されることをさらに含むことを特徴とする請求項6に記載のメディアデータ受信方法。
【請求項11】
前記複数の部分のそれぞれは、
少なくとも1つのGOP(group of pictures)に係わる少なくとも1つの伝送ストリームを含むことを特徴とする請求項2に記載のメディアデータ受信方法。
【請求項12】
メディアデータを伝送する方法において、
コンテンツをそれぞれ異なる品質にエンコーディングして生成される複数のメディアデータについての情報を含むファイルをクライアントに伝送する段階と、
前記伝送されたファイルを利用した前記クライアントの要請によって、前記複数の第1メディアデータのうち、第1メディアデータに含まれた第1部分を前記クライアントに伝送する段階と、
前記伝送されたファイルに基づいた前記クライアントの要請によって、前記第1メディアデータに含まれた少なくとも一つの部分のうち、前記第1部分の次の部分である第2部分と対応する第2メディアデータの第2部分を前記クライアントに伝送する段階と、を含み、
前記複数のメディアデータは、時間に基づいて複数の部分に分割され
前記複数の部分には、それぞれ前記複数の部分の再生時間についての情報が含まれ、
前記ファイルは、前記第1メディアデータに含まれた少なくとも一つの部分と前記第2メディアデータに含まれた少なくとも一つの部分の再生時間を対応させるための時間調整情報を含むことを特徴とするメディアデータ伝送方法。
【請求項13】
メディアデータを受信する装置において、
コンテンツをそれぞれ異なる品質にエンコーディングして生成される複数のメディアデータについての情報を含むファイルをサーバから受信する情報受信部と、
前記受信されたファイルを利用し、前記複数のメディアデータのうち、第1メディアデータに含まれた第1部分を受信するメディアデータ受信部と、を含み、
前記メディアデータ受信部は、前記受信されたファイルに基づいて前記第1メディアデータに含まれた少なくとも一つの部分のうち、前記第1部分の次の部分である第2部分と対応する第2メディアデータの第2部分を受信し、
前記複数のメディアデータは、時間に基づいて複数の部分に分割され
前記複数の部分には、それぞれ前記複数の部分の再生時間についての情報が含まれ、
前記ファイルは、前記第1メディアデータに含まれた少なくとも一つの部分と前記第2メディアデータに含まれた少なくとも一つの部分の再生時間を対応させるための時間調整情報を含むことを特徴とするメディアデータ受信装置。
【請求項14】
メディアデータを伝送する装置において、
コンテンツを異なる品質にエンコーディングして生成された複数のメディアデータについての情報を含むファイルをクライアントに伝送する情報伝送部と、
前記伝送されたファイルに基づいた前記クライアントの要請によって、前記複数のメディアデータのうち、第1メディアデータに含まれた第1部分を伝送するメディアデータ伝送部と、を含み、
前記メディアデータ伝送部は、前記伝送されたファイルに基づいた前記クライアントの要請によって、前記第1メディアデータに含まれた少なくとも一つの部分のうち、前記第1部分の次の部分である第2部分と対応する第2メディアデータの第2部分を伝送し、
前記複数のメディアデータは、時間に基づいて複数の部分に分割され
前記複数の部分には、それぞれ前記複数の部分の再生時間についての情報が含まれ、
前記ファイルは、前記第1メディアデータに含まれた少なくとも一つの部分と前記第2メディアデータに含まれた少なくとも一つの部分の再生時間を対応させるための時間調整情報を含むことを特徴とするメディアデータ伝送装置。
【請求項15】
請求項1ないし請求項11のうち、いずれか1項に記載の方法を実行するためのプログラムを記録したコンピュータで読み取り可能な記録媒体。
【発明の詳細な説明】
【書類名】 明細書
【発明の名称】 部分化を利用した適応的なストリーミング方法及びその装置
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、ストリーミング方法及びその装置に係り、さらに詳細には、ストリーミング環境の変動(fluctuation)によって、適応的にメディアデータをストリーミングする方法及びその装置に関する。
【背景技術】
【0002】
ネットワークを介してメディアデータを伝送する方式には、ダウンロード方式とストリーミング方式とがある。ストリーミング方式は、サーバがリアルタイムでメディアデータを伝送し、クライアントは、受信されたメディアデータをリアルタイムで再生する方式である。
【0003】
ストリーミング方式は、メディアデータをいずれも送受信した後、メディアデータの再生が始まるダウンロード方式と異なり、サーバとクライアントとの間に設定された論理的なチャネルを介して、リアルタイムでメディアデータが送受信され、再生されるために、ストリーミング環境の変動を反映し、メディアデータ再生のQoS(Quality of Sevice)を維持することができる方法及びその装置が必要である。
【先行技術文献】
【特許文献】
【0004】
【特許文献1】欧州特許出願公開第1043892号明細書
【発明の概要】
【発明が解決しようとする課題】
【0005】
本発明が解決しようとする技術的課題は、ストリーミング、すなわち、メディアデータの伝送及び受信を、ストリーミング環境によって適応的に調節して行う方法及びその装置を提供するところにあり、前記方法を実行するためのプログラムを記録したコンピュータで読み取り可能な記録媒体を提供するところにある。
【課題を解決するための手段】
【0006】
前記技術的課題を解決するための本発明の一実施形態によるメディアデータを受信する方法は、所定のコンテンツを異なる品質にエンコーディングして生成された複数のメディアデータについての情報を含むファイルをサーバから受信する段階と、前記受信されたファイルに基づいて、前記複数のメディアデータのうち、少なくとも1つのメディアデータを受信する段階と、を含み、前記複数のメディアデータは、前記コンテンツを所定品質にエンコーディングし、時間に基づいて分割して生成された少なくとも1つのデータ部分をそれぞれ含み、前記少なくとも1つのデータ部分は、ランダム・アクセスポイント(random access point)として始まることを特徴とする。
【0007】
本発明の他の実施形態によれば、前記メディアデータは、MPEG−2 TS(MPEG−2 transport stream)フォーマットによるメディアデータであり、前記MPEG−2 TSのエレメンタリーストリーム(elementary stream)に対応することを特徴とする。
【0008】
本発明のさらに他の実施形態によれば、前記データ部分は、少なくとも1つのPES(packetized elementary stream)を含み、1つのPESは、1つのデータ部分にいずれも含まれることを特徴とする。
【0009】
本発明のさらに他の実施形態によれば、前記PESは、1つの映像フレームまたは音声フレームに係わるデータを含むことを特徴とする。
【0010】
本発明のさらに他の実施形態によれば、前記ランダム・アクセスポイントに係わる伝送ストリームは、ランダム・アクセスポイントに係わる伝送ストリームであることを示す情報を含むことを特徴とする。
【0011】
本発明のさらに他の実施形態によれば、前記受信されたファイルは、前記複数のメディアデータに係わるPAT(program association table)及びPMT(program map table)のうち、少なくとも一つを指示する情報をさらに含むことを特徴とする。
【0012】
本発明のさらに他の実施形態によれば、前記PAT及びPMTは、伝送ストリームで初期化部分(initialization segment)であり、前記複数のメディアデータと分離されていることを特徴とする。
【0013】
本発明のさらに他の実施形態によれば、前記PAT及びPMTのうち、少なくとも一つは、前記複数のメディアデータの全体リストを含むことを特徴とする。
【0014】
本発明のさらに他の実施形態によれば、前記複数のメディアデータは、PID(packetID)が異なることを特徴とする。
【0015】
本発明のさらに他の実施形態によれば、前記少なくとも1つのデータ部分は、少なくとも1つのGOP(group of pictures)に係わる伝送ストリームを含むことを特徴とする。
本発明のさらに他の実施形態によれば、前記メディアデータは、MP4フォーマットによるメディアデータであり、MP4の「trak」ボックスに対応することを特徴とする。
【0016】
前記技術的課題を解決するための本発明の一実施形態によるメディアデータを伝送する方法は、所定のコンテンツを異なる品質にエンコーディングして生成された複数のメディアデータについての情報を含むファイルをクライアントに伝送する段階と、前記伝送されたファイルに基づいた前記クライアントの要請によって、前記複数のメディアデータのうち、少なくとも1つのメディアデータを前記クライアントに伝送する段階と、を含み、前記複数のメディアデータは、前記コンテンツを所定品質にエンコーディングし、時間に基づいて分割して生成された少なくとも1つのデータ部分をそれぞれ含み、前記少なくとも1つのデータ部分は、ランダム・アクセスポイント(random access point)として始まることを特徴とする。
【0017】
前記技術的課題を解決するための本発明の一実施形態によるメディアデータを受信する装置は、所定のコンテンツを異なる品質にエンコーディングして生成された複数のメディアデータについての情報を含むファイルをサーバから受信する情報受信部と、前記受信されたファイルに基づいて、前記複数のメディアデータのうち、少なくとも1つのメディアデータを受信するメディアデータ受信部と、を含み、前記複数のメディアデータは、前記コンテンツを所定品質にエンコーディングし、時間に基づいて分割して生成された少なくとも1つのデータ部分をそれぞれ含み、前記少なくとも1つのデータ部分は、ランダム・アクセスポイント(random access point)として始まることを特徴とする。
【0018】
前記技術的課題を解決するための本発明の一実施形態によるメディアデータを受信する装置は、所定のコンテンツを異なる品質にエンコーディングして生成された複数のメディアデータについての情報を含むファイルをクライアントに伝送する情報伝送部と、前記伝送されたファイルに基づいた前記クライアントの要請によって、前記複数のメディアデータのうち、少なくとも1つのメディアデータを前記クライアントに伝送するメディアデータ伝送部と、を含み、前記複数のメディアデータは、前記コンテンツを所定品質にエンコーディングし、時間に基づいて分割して生成された少なくとも1つの部分をそれぞれ含み、前記少なくとも1つの部分は、ランダム・アクセスポイント(random access point)として始まることを特徴とする。
【0019】
前記技術的課題を解決するために本発明による一実施形態は、前記メディアデータを受信する方法及び伝送する方法を実行するためのプログラムを記録したコンピュータで読み取り可能な記録媒体を提供する。
【発明の効果】
【0020】
本発明によれば、メディアデータを体系的な規則によって部分化することによって、さらにストリーミング環境に適応的なメディアデータの伝送及び受信を、さらに安定して、早く行うことができる。
【図面の簡単な説明】
【0021】
図1】本発明の一実施形態によるストリーミングシステムを図示する図面である。
図2A】本発明の一実施形態によるストリーミング方法を説明するためのフローチャートである。
図2B】本発明の一実施形態によるストリーミング方法を説明するためのフローチャートである。
図3】本発明の一実施形態によるコンテンツについての情報を含むファイルのスキーマ(schema)を図示する図面である。
図4A】本発明の一実施形態による複数のメディアデータを定義するための情報を図示する図面である。
図4B】本発明の一実施形態によるメディアデータのヘッダについての情報を図示する図面である。
図4C】本発明の一実施形態による複数のメディアデータそれぞれに含まれた少なくとも1つのデータ部分についての情報を示す図面である。
図5A】本発明の他の実施形態によるストリーミング方法を説明するためのフローチャートである。
図5B】本発明の他の実施形態によるストリーミング方法を説明するためのフローチャートである。
図6】本発明の他の実施形態によるコンテンツについての情報を含むファイルのスキーマを図示する図面である。
図7】本発明の他の実施形態によるコンテンツについての情報を図示する図面である。
図8A】本発明の一実施形態によるメディア表現記述のスキーマを図示する図面である。
図8B】本発明の一実施形態によるメディア表現記述のスキーマを図示する図面である。
図9A】本発明の一実施形態によるメディア表現記述を図示する図面である。
図9B】本発明の一実施形態によるメディア表現記述を図示する図面である。
図9C】本発明の一実施形態によるメディア表現記述を図示する図面である。
図9D】本発明の一実施形態によるメディア表現記述を図示する図面である。
図9E】本発明の一実施形態によるメディア表現記述を図示する図面である。
図9F】本発明の一実施形態によるメディア表現記述を図示する図面である。
図9G】本発明の一実施形態によるメディア表現記述を図示する図面である。
図9H】本発明の一実施形態によるメディア表現記述を図示する図面である。
図10A】本発明の一実施形態による複数のメディアデータを図示する図面である。
図10B】本発明の一実施形態による複数のメディアデータを図示する図面である。
図10C】本発明の一実施形態による複数のメディアデータを図示する図面である。
図11A】本発明のさらに他の実施形態によるストリーミング方法を説明するためのフローチャートである。
図11B】本発明のさらに他の実施形態によるストリーミング方法を説明するためのフローチャートである。
図12A】本発明の他の実施形態による複数のメディアデータを図示する図面である。
図12B】本発明の他の実施形態による複数のメディアデータを図示する図面である。
図12C】本発明の他の実施形態による複数のメディアデータを図示する図面である。
図13】本発明の一実施形態によるサーバのメディアデータ伝送装置を図示する図面である。
図14】本発明の一実施形態によるクライアントのメディアデータ受信装置を図示する図面である。
図15A】本発明の一実施形態によるMPEG−2 TS(transport stream)フォーマットのメディアデータを部分化する方法を図示する図面である。
図15B】本発明の一実施形態によるMPEG−2 TS(transport stream)フォーマットのメディアデータを部分化する方法を図示する図面である。
図16A】本発明の一実施形態による開始時間についての情報をメディアデータの部分に挿入する方法を図示する図面である。
図16B】本発明の一実施形態による開始時間についての情報をメディアデータの部分に挿入する方法を図示する図面である。
図17】本発明の一実施形態による部分の構造を図示する図面である。
図18A】本発明の一実施形態によるMP4フォーマットによるメディアデータを部分化する方法を図示する図面である。
図18B】本発明の一実施形態によるMP4フォーマットによるメディアデータを部分化する方法を図示する図面である。
図18C】本発明の一実施形態によるMP4フォーマットによるメディアデータを部分化する方法を図示する図面である。
【発明を実施するための形態】
【0022】
以下、図面を参照しつつ、本発明の実施形態について詳細に説明する。
【0023】
図1は、本発明の一実施形態によるストリーミングシステムを図示している。
【0024】
図1を参照すれば、本発明の一実施形態によるストリーミング・システム100は、エンコーディング装置110、サーバ120及びクライアント130を含む。
【0025】
エンコーディング装置110は、入力されたコンテンツを複数の異なる品質にエンコーディングし、1つのコンテンツに係わる複数のメディアデータを生成する。サーバ120がクライアント130にメディアデータをストリーミングするとき、ストリーミング環境は、変更されてもよい。例えば、ストリーミングのためのネットワーク140帯域幅が変更されもし、メディアデータを伝送するために、サーバ120が使用可能なハードウェア資源またはメディアデータを受信するために、クライアント130が使用可能なハードウェア資源が変更されもする。
【0026】
従って、エンコーディング装置110は、流動的なストリーミング環境による適応的なストリーミングのために、1つのコンテンツを複数の異なる品質にエンコーディングする。ビット率(bit rate)、サンプリング周波数(sampling frequency)、解像度またはフレーム率(frame rate)のような因子を調節することによって、1つのコンテンツを複数の異なる品質にエンコーディングすることができる。例えば、1つの動映像コンテンツを互いに異なる解像度でエンコーディングし、500Kbps、1000Kbps及び2000Kbpsの複数のメディアデータを生成することができる。
【0027】
異なる品質にエンコーディングされた複数のメディアデータは、サーバ120に伝送され、このとき、コンテンツについての情報及び複数のメディアデータそれぞれについての情報も、共にサーバ120に伝送される。コンテンツについての情報は、コンテンツのメタデータであり、コンテンツの題目(title)、シノプシス(synopsis)、コンテンツ識別子(content ID)、コンテンツURL(uniform resource locator)のような情報を含むことができる。複数のメディアデータについての情報は、それぞれのメディアデータの品質、類型及び識別子などを含むことができるが、これらについては、図4A図4B及び図4Cを参照して詳細に説明する。
【0028】
クライアント130は、コンテンツについての情報及び複数のメディアデータについての情報のうち、少なくとも一つを受信し、これに基づいて、サーバ120に複数のメディアデータのうち、少なくとも1つのメディアデータを要請する。クライアント130は、ストリーミング環境を推定(estimation)し、推定されたストリーミング環境に基づいて、複数のメディアデータのうち、少なくとも1つのメディアデータを選択する。推定されたストリーミング環境で、最適のQoS(quality of service)を維持することができる少なくとも1つのメディアデータを選択することができる。その後、クライアント130は、選択された少なくとも1つのメディアデータの伝送を要請するHTTP要請(hypertext transfer protocol request)をサーバ120に伝送することができる。
【0029】
ストリーミング環境が劣化されて高品質のメディアデータを受信すれば、途切れなくメディアデータを再生することができない場合には、複数のメディアデータのうち、低品質のメディアデータを要請し、ストリーミング環境が改善されて高品質のメディアデータを受信しても、途切れなくメディアデータを再生することができる場合には、複数のメディアデータのうち、高品質のメディアデータを要請することができる。
【0030】
所定のメディアデータを受信していて、他のメディアデータを伝送することをサーバ120に要請することもできる。例えば、ストリーミング環境が劣化した状態で、低品質の第1メディアデータを要請して受信していたクライアント130は、ストリーミング環境が改善されることによって、さらに高品質の第2メディアデータを伝送することをサーバ120に要請することができる。従来技術によるストリーミング方法によれば、サーバ120とクライアント130とがストリーミングチャネルを最初に設定するとき、品質を一度設定すれば、続けて同じ品質でメディアデータを送受信せねばならなかった。しかし、本発明によれば、クライアント130が低品質の第1メディアデータを受信していても、同じコンテンツに係わるさらに高品質の第2メディアデータをさらに要請することができ、ストリーミング環境による適応的なストリーミングが可能になる。
【0031】
ネットワーク140の帯域幅、及びサーバ120またはクライアント130の使用可能なハードウェア資源に基づいて、ストリーミング環境を推定する多様な方法が、クライアント130がストリーミング環境を推定するのに利用される。例えば、クライアント130は、受信されるメディアデータのタイムスタンプ及びBER(bit error rate)に基づいて、ストリーミング環境を推定することができる。受信されるメディアデータのタイムスタンプを確認し、メディアデータが再生速度より遅い速度で受信されていれば、ストリーミング環境が劣化したと判断することができる。また、受信されるメディアデータのBERが高くなっても、ストリーミング環境が劣化していると判断することができる。
【0032】
クライアント130が、ストリーミング環境によって、複数のメディアデータのうち、少なくとも1つのメディアデータを伝送することを要請すれば、サーバ120は、要請されたメディアデータをクライアント130に伝送する。HTTP要請に対するHTTP応答として、要請されたメディアデータをクライアント130に伝送することができる。
【0033】
複数のメディアデータそれぞれは、コンテンツを異なる品質にエンコーディングし、分割して生成された複数の部分のうち、少なくとも一つを含んでもよい。言い換えれば、エンコーディング装置110のエンコーディング結果として生成された複数のメディアデータそれぞれは、時間に基づいて分割された少なくとも1つの部分をそれぞれ含んでもよい。サーバ120は、コンテンツを1つのストリームにエンコーディングし、続けて伝送するのではなく、複数の部分に分割してそれぞれ伝送する。コンテンツを、10秒または20秒のように所定の時間単位で分割し、複数の部分を生成することができる。分割の基礎になる時間は、GOP(group of picture)に基づいて設定される。一つまたは二つ以上のGOPのピクチャに対応するメディアデータを1つの部分に設定することができる。
【0034】
例えば、2種の品質にコンテンツがストリーミングされる場合、第1メディアデータは、コンテンツを第1品質にエンコーディングし、時間に基づいて分割して生成された少なくとも1つの部分を含むことができ、第2メディアデータは、コンテンツを第2品質にエンコーディングし、時間に基づいて分割して生成された少なくとも1つの部分を含んでもよい。
【0035】
複数のメディアデータを時間に基づいてそれぞれ分割することによって、前述の適応的なストリーミングが可能になる。例えば、ストリーミングが始まれば、サーバ120は、低品質の第1メディアデータの、0秒から20秒に該当する部分を伝送する。その後、20秒後に、ストリーミング環境が改善されたと判断され、クライアント130がさらに高品質のメディアデータを要請すれば、サーバ120は、さらに高品質の第2メディアデータの、20秒から40秒に該当する部分を伝送することができる。メディアデータが、時間に基づいて複数の部分に分割されているために、ストリーミング最中にも、ストリーミング環境によって、異なるメディアデータの部分を伝送することができる。
【0036】
図15A及び図15Bは、本発明の一実施形態によるMPEG−2 TS(transport stream)フォーマットのメディアデータを部分化する方法を図示している。本発明の詳細な説明では、メディアデータのコンテナ・フォーマットが、MP4フォーマットまたはMPEG−TSフォーマットであるとき、メディアデータを部分化する方法を例に挙げて説明する。しかし、コンテナ・フォーマットは、それに限定されるものではなく、メディアデータの伝送のためのあらゆるコンテナ・フォーマットに本発明が適用されることは、本発明が属する技術分野で当業者であるならば、容易に分かるであろう。例えば、コンテナ・フォーマットは、MP4、MPEG−TSではないMMT(MPEG media transport)標準によるフォーマットであってもよい。
【0037】
図15Aを参照すれば、メディアデータがビデオデータである場合、エレメンタリー・ストリームは、複数のピクチャに係わるデータを含み、複数のピクチャに係わるデータは、GOPに基づいてグループ化される。それぞれのGOPは、イントラピクチャ(intra picture)、すなわち、予測符号化のために他のピクチャを参照しないピクチャでもって始まる。イントラピクチャは、予測符号化のために他のピクチャを参照しないために、ランダム・アクセスポイント(random access point)として利用することができる。GOPは、ビデオデータを複数の部分に区分する単位の例示であるのみ、GOPではない他の単位が図15Aのメディアデータを部分化する方法に利用することができることは、本発明が属する技術分野で当業者であるならば、容易に分かるであろう。
【0038】
複数のピクチャに係わるデータは、MPEG2−TSフォーマットによって複数の伝送ストリーム(transport stream)に分割され、複数の伝送ストリームをグループ化し、1つの部分が生成される。伝送ストリームをグループ化して1つの部分を生成するために、部分の開始及び終了の境界は、最初の伝送ストリームに係わるパケット及び最後の伝送ストリームに係わるパケットの境界と一致する。言い換えれば、1つの部分は、伝送ストリーム単位から構成される。
【0039】
図15Aでは、1つの部分(segment)1530が、2つのGOP1510及び1512に係わる複数の伝送ストリーム(TS)1520を含み、GOP単位で1つの部分1530が生成されるために、それぞれの部分は、イントラピクチャ、すなわち、ランダム・アクセスポイントで始まる。
【0040】
本発明は、ストリーミング環境に適応的なストリーミングのために、メディアデータを少なくとも1つの部分に分割し、ストリーミング環境によって互いに異なる品質の部分を伝送する。従って、それぞれの部分は、独立して再生されねばならず、従って、それぞれの部分は、ランダム・アクセスポイントで始まることが望ましい。ところで、一般的にGOPは、イントラピクチャで始まり、イントラピクチャは、ランダム・アクセスポイントとして利用されるので、図15Aに図示されているように、少なくとも1つのGOP単位に係わる伝送ストリーム1520をグループ化し、1つの部分を生成する。
【0041】
また、1つのピクチャに係わるデータを分割し、MPEG2−TSフォーマットによる複数の伝送ストリームを生成するときに、1つの伝送ストリームは、1つのピクチャに係わるデータだけ含むようにする。複数のピクチャに係わるデータを、所定サイズに一定に分割し、伝送ストリームを生成すれば、1つの伝送ストリームに、2つのピクチャに係わるデータが含まれもする。言い換えれば、1つのピクチャに係わるデータの終了を考慮せずに、t−1時刻ピクチャに係わるデータ及びt時刻ピクチャに係わるデータを一定の大きさに分割し、伝送ストリームを生成すれば、t−1時刻ピクチャに係わるデータの最後の伝送ストリームは、t−1時刻ピクチャに係わるデータ及びt時刻ピクチャに係わるデータを含んでもよい。
【0042】
ところで、本発明による適応的なストリーミングは、部分1530はもとより、伝送ストリーム1520もそれぞれ独立して再生されることが望ましい。例えば、クライアント130が、現在ビデオデータのt−1時刻ピクチャを再生しているが、t時刻ピクチャからは、解像度が高いピクチャを再生する場合、t時刻ピクチャからは、他の品質のメディアデータを受信せねばならない。ところで、所定の伝送ストリームが、t−1時刻ピクチャに係わるデータ及びt時刻ピクチャに係わるデータをいずれも含むならば、メディアデータの境界が曖昧になり、図15Aのような適応的ストリーミングのための部分化の効果が半減する。従って、エレメンタリー・ストリームを分割して伝送ストリームを生成するときにも、1つの伝送ストリームのペイロードには、1つのビデオフレームに係わるデータだけ含まれるように、伝送ストリームを生成することができる。また、1つのビデオフレームに係わる最初の伝送ストリームのヘッダは、1つのビデオフレームが始まることを示す情報を含んでもよい。1つのビデオフレームが始まることを示す情報は、伝送ストリームパケットの「payload_start_unit_indicator」であってもよい。
【0043】
ただし、本発明の他の実施形態によれば、1つの伝送ストリームに、複数のピクチャに係わるデータが含まれていることもあり、このとき、適応的なストリーミングは、ピクチャ単位で行うことができる。言い換えれば、ストリーミング環境を考慮し、品質が異なるピクチャに変更してストリーミングを行うことができる。
【0044】
また、伝送ストリームが、前述のランダム・アクセスポイントに係わる伝送ストリームであるならば、ランダム・アクセスポイントに係わる伝送ストリームであることを示す情報が、伝送ストリームのヘッダに含まれてもよい。伝送ストリームのヘッダは、次のランダム・アクセスポイントに係わる伝送ストリームの位置についての情報も含むことによって、ランダムアクセスを速い速度で行うこともできる。
【0045】
図15Aに図示された部分化方法によって、複数のメディアデータは、図15Bに図示されているように部分化される。図15Bを参照すれば、複数のメディアデータは、複数の伝送ストリームを含む部分にそれぞれ分割される。
【0046】
複数のメディアデータは、それぞれ複数のエレメンタリー・ストリーム(例えば、MPEG−2によるエレメンタリー・ストリーム)にそれぞれ対応し、その場合、複数のメディアデータそれぞれについて、異なるPID(packet ID)1550,1560及び1570が割り当てられる。ただし、本発明のさらに他の実施形態によれば、1つのコンテンツ(例えば、プログラム)を、品質だけ異なって設定し、エンコーディングして生成された複数のメディアデータは、いずれも同じコンテンツに係わるメディアデータであるから、PIDが同一に設定されもする。図15Aのエレメンタリー・ストリームは、図15BのPIDが「1」であるメディアデータ、PIDが「2」であるメディアデータ、またはPIDが「3」であるメディアデータであってもよい。
【0047】
MPEG−2によれば、PSI(program specific information)も共にストリーミングされ、PSIを含む伝送ストリームのPIDは、特定値に固定される。しかし、本発明によれば、図15Bに図示されているように、PAT(program association table)及びPMT(program map table)のようなPSIは、複数のメディアデータに係わるヘッダであり、ペイロードデータと分離される。例えば、図15Bに図示されているように、PIDが「1」であるメディアデータのペイロードデータは、図15Aと関連して述べた方法によって部分化される。しかし、PAT及びPMTのようなPSIは、複数のメディアデータ全体に係わるヘッダであり、別途のファイルとして存在しうる。PAT及びPMTで、それぞれのメディアデータを区分するために割り当てられるPID1550,1560及び1570は、前述のように、複数のメディアデータそれぞれについて、異なって割り当てられ、品質だけ異なる複数のメディアデータについて同一に割り当てられもする。
【0048】
複数のメディアデータ全体に係わるヘッダ、すなわち、図15Bの「reference data」は、初期化部分(initialization segment)であり、メディアデータの再生を開始するために、ペイロードデータを含んでいる部分よりまずクライアント130に伝送される。言い換えれば、後述する図2Bの段階222、図5Bの段階532及び図11Bの段階1122で、クライアント130が受信するヘッダ情報が、図15Bの複数のメディアデータ全体に係わる、すなわち、「reference data」であってもよい。「reference data」は、図10C及び図12Cと関連して後述するヘッダファイル1050または1250に対応しうる。
【0049】
図15Bを参照すれば、複数のメディアデータが複数のエレメンタリー・ストリームにそれぞれ対応する場合、複数のメディアデータに含まれた部分それぞれは、少なくとも1つの連続したPES(packetized elementary stream)を含んでもよい。しかし、1つのPESは、1つの部分にのみ含まれることが望ましい。伝送ストリームと関連して説明したように、適応的ストリーミングのためには、1つの部分と、MPEG2−TSフォーマットによる伝送ストリーム単位とが整列されることが望ましい。従って、1つのPESも、1つの部分にのみ含まれるように、メディアデータを分割する。言い換えれば、1つのPESが異なる部分に含まれない。要するに、1つの部分は、整数個数のPESを含む。図15Bで、同じ時間のメディアデータに係わるPESは、PIDが「1」であるメディアデータに係わる部分、PIDが「2」であるメディアデータに係わる部分、及びPIDが「3」であるメディアデータに係わる部分にそれぞれ含まれる。PESは、複数の伝送ストリームを含む単位であり、1つの映像フレームまたは音声フレームに係わるデータを含むこともでき、複数の映像フレームまたは複数の音声フレームに係わるデータを含むこともできる。また、1つの映像フレームまたは音声フレームに係わるデータが、1つのPESに含まれない場合には、1つの映像フレームまたは音声フレームに係わるデータは、複数のPESに含まれてもよい。
【0050】
PESは、それぞれメディアデータの時間同期化のための情報、すなわち、タイムスタンプを含んでもよい。それぞれのPESが、どの時間のメディアデータについての情報を含んでいるか示す情報を含んでもよい。特に、時刻に基づいて伝送ストリームをグループ化して1つのPESを生成する場合、1つのPESに含まれるあらゆる伝送ストリームは、同じ時刻のメディアデータの伝送ストリームである。タイムスタンプは、PTS(presentation time stamp)及びDTS(decoding time stamp)のうち、少なくとも一つを含んでもよい。
【0051】
同じ種類の複数のメディアデータ(例えば、ビットレートが異なる複数のビデオデータ)または異なる種類の複数のメディアデータ(例えば、ビデオデータ並びにオーディオデータ)に含まれたPESに係わるタイムスタンプは、メディアデータの再生時間によって整列(aligned)されてもよい。
【0052】
例えば、第1メディアデータの最初のPESと、第2メディアデータの最初のPESとが同じ時間に再生されるコンテンツであるならば、PTS及び/またはDTSが同一に設定される。図15Bに図示されたPESを例に挙げて説明すれば、図15Bで、PIDが「1」であるメディアデータのPES 1552に係わるタイムスタンプ、PIDが「2」であるメディアデータのPES 1562に係わるタイムスタンプ、及びPIDが「3」であるメディアデータのPES 1572に係わるタイムスタンプは、同一に設定される。また、PIDが「1」であるメディアデータのPES 1554に係わるタイムスタンプ、PIDが「2」であるメディアデータのPES 1564に係わるタイムスタンプ、及びPIDが「3」であるメディアデータのPES 1574に係わるタイムスタンプも、同一に設定される。
【0053】
また、第1メディアデータを再生していて、メディアデータを変更し、第2メディアデータを再生する場合にも、連続的に再生することができるように、PTS及び/またはDTSが連続的に整列される。言い換えれば、第1メディアデータを再生していて、メディアデータを変更して第2メディアデータを再生すれば、第1メディアデータで、最後に再生されるPESのPTS及び/またはDTSと、第2メディアデータで、最初のに再生されるPESのPTS及び/またはDTSとが連続的に設定される。
【0054】
メディアデータの部分は、PES単位に基づいて生成され、それぞれのPESのPTS及び/またはDTSが、時間に基づいて連続的に整列されるために、それぞれの部分の開始時間は、PTS及び/またはDTSに基づいて知ることができる。従って、第1メディアデータを部分を再生し、続いて、第2メディアデータの次の部分を再生することができる。
【0055】
しかし、本発明の他の実施形態によれば、PESに対して、タイムスタンプが割り当てられない。PESに係わるタイムスタンプは、選択的要素であり、PESがタイムスタンプのような時間情報を含んでいない場合、メディアデータの部分の開始時間を特定することができない。図16A及び図16Bを参照して詳細に説明する。
【0056】
図16A及び図16Bは、本発明の一実施形態による開始時間についての情報を、メディアデータの部分に挿入する方法を図示している。図16A及び図16Bは、図15Bに図示されているように、メディアデータを複数の部分に分割するとき、メディアデータの部分に時間情報を挿入する方法を図示している。
【0057】
図16Aを参照すれば、PESが、PTS及び/またはDTSを含まなければ、k番目の部分1610に含まれているPES1620及び1630は、PTS及び/またはDTSを含まず、k番目の部分1610の開始時間を特定することができない。
【0058】
その場合、それぞれの部分の開始時間を特定することができないので、適応的なストリーミングが不可能になる。これは、前述のように、適応的なストリーミングのためには、異なるメディアデータの部分が連続的に再生されねばならないが、PESが、PTS及び/またはDTSを含まずに、それぞれの部分の開始時間を特定することができないので、異なるメディアデータの部分が連続的に再生されないためである。例えば、第1メディアデータのk番目の部分を再生し、連続して第2メディアデータのk+1番目の部分を再生しなければならない場合に、k+1番目の部分の開始時間を特定することができなければ、連続して再生することができない。
【0059】
従って、本発明の一実施形態は、伝送ストリームに部分に係わる時間情報を含めることができる。それぞれの部分の最初の伝送ストリームに、PTS及び/またはDTSを含めることができる。例えば、図16Aに図示されたk番目の部分1610の最初のPES 1620の最初の伝送ストリーム1622に時間情報を含めることができるが、次のような構文を介して時間情報を生成し、生成された時間情報を、伝送ストリームの1つのフィールドとして含めることができる。
【0060】
【表1】
【0061】
伝送ストリームの「private_data_bytes」フィールドに、それぞれの部分をインデクシング(indexing)することができる「Segment_Index()」を挿入するが、「data_field_tag」は、伝送ストリームのフィールドが、部分のインデクシングと関連した部分であることを定義する構文であり、「data_field_length」は、フィールド長を定義する。PTS、DTS及びPCR(program clock reference)のうち、少なくとも一つが時間情報として挿入される。
【0062】
「Segment_Index()は、前述のように、最初のPES 1620の最初の伝送ストリーム1622に含まれもし、最初のPESの他の伝送ストリーム1624ないし1626に含まれもすることは、本発明が属する技術分野で当業者であるならば、容易に分かるであろう。
【0063】
前述のように、1つのPESは、1つの部分に含まれ、互いに異なる部分に同時に含まれないことが望ましい。しかし、図16Bに図示されているように、1つのPES 1640が、互いに異なる部分1610及び1612に含まれている場合にも、k+1番目の部分の最初の伝送ストリームにも、時間情報を挿入することによって、適応的なストリーミングを行うことができる。
【0064】
図16BのPES 1640が、前述の時間情報、例えば、PTS及び/またはDTSを含んでいない場合はもとより、含んでいる場合にも、異なる部分1610及び1612に同時に含まれていれば、k+1番目の部分に含まれた伝送ストリームについては、開始時間を特定することができないので、適応的なストリーミングを行うことができない。
【0065】
従って、k+1番目の部分の最初の伝送ストリーム1642に、前述の「Segment_Index()」を挿入することによって、k+1番目の部分に含まれた伝送ストリームの開始時間を特定する。
【0066】
「Segment_Index()」が、k+1番目の部分の最初の伝送ストリーム1642に含まれもし、他の伝送ストリーム1644ないし1646に含まれもすることは、本発明が属する技術分野で当業者であるならば、容易に分かるであろう。
【0067】
また、図16A及び16Bは、MPEG−2 TSフォーマットによって、メディアデータを部分化するとき、時間情報を挿入する方法を図示した。しかし、図18Aないし図18Cと関連して後述するように、MP4フォーマットによって、メディアデータを部分化する場合にも、同じ方式で時間情報を挿入することができる。例えば、それぞれの部分に含まれたMP4ボックスに、前述の「Segment_Index()」を挿入することによって、それぞれの部分の開始時間を特定することができる。
【0068】
複数のメディアデータのPESのPTS及び/またはDTSが、再生時間に基づいて整列されず、連続的な再生が不可能な場合が発生しもする。例えば、所定コンテンツに係わる第1メディアデータを第1サーバが生成し、所定コンテンツに係わる第2メディアデータを第2サーバが生成する場合、PTS及び/またはDTSが再生時間に基づいて整列されない。
【0069】
例えば、第1メディアデータの連続した3つの部分のPTSが、それぞれ「1000」、「2000」、「3000」と定義されており、同じ再生時間に係わる第2メディアデータの連続した3つの部分のPTSが、それぞれ「11000」、「12000」、「13000」と定義されていることもある。その場合、第1メディアデータの最初の部分のPTSは、「1000」であり、第2メディアデータの2番目の部分のPTSは、「11000」であるから、メディアデータを受信する側では、同じ再生時間に係わる部分であると判断することができない。その場合、PTSの不一致によって、メディアデータの変更再生を介した適応的なストリーミングが不可能である。
【0070】
このような問題を解決するために、次のような構文を介して、タイムスタンプの不一致を校正するための情報を生成し、生成された情報を、前述のメディア表現記述またはメディアデータに挿入することができる。
【0071】
【表2】
【0072】
伝送ストリームの「private_data_bytes」フィールドに、タイムスタンプの調整のための「Segment_Start_Adjustment()」を挿入するが、「data_field_tag」は、伝送ストリームのフィールドが、タイムスタンプの調整のための部分であることを定義する構文であり、「data_field_length」は、フィールド長を定義する。PTS、DTS及びPCR(program clock reference)のうち少なくとも一つが、部分のタイムスタンプを調整するための情報として挿入される。「Segment_Start_Adjustment()」は、メディアデータの部分それぞれに挿入され、「Segment_Start_Adjustment()」に定義されたPTS、DTS及びPCTによって、それぞれの部分のタイムスタンプが設定される。
【0073】
「Segment_Start_Adjustment()」は、「Segment_Index()」と同様に、前述のように、最初のPES 1620の最初の伝送ストリーム1622に含まれもし、最初のPESの他の伝送ストリーム1624ないし1626に含まれもすることは、本発明が属する技術分野で当業者であるならば、容易に分かるであろう。
【0074】
また、タイムスタンプの調整のための別途の伝送ストリームを、最初のPES 1620の前に別途に定義し、定義された伝送ストリームに、前述の「Segment_Start_Adjustment()」を含めることもできる。
【0075】
しかし、図18Aないし図18Cと関連して後述するように、MP4フォーマットによって、メディアデータを部分化する場合にも、同じ方式でタイムスタンプの調整のための情報を挿入することができる。例えば、それぞれの部分に含まれたMP4ボックスに、前述の「Segment_Start_Adjustment()」を挿入することによって、それぞれの部分の開始時間を特定することができる。また、それぞれの部分に、「Segment_Start_Adjustment()」を挿入せずに、メディア表現記述にタイムスタンプの調整のための情報を挿入することができる。
【0076】
前述のPTS及び/またはDTSは、ビデオデータのタイムスタンプを定義する。従って、ビデオデータに係わる複数のメディアデータのタイムスタンプは、前述のように、メディアデータの再生時間によって、整列(aligned)される。しかし、このような再生時間に基づいたタイムスタンプの整列は、オーディオデータについても同一に適用される。言い換えれば、オーディオデータに係わる複数のメディアデータのタイムスタンプも、図15B図16A及び図16Bと関連して説明したように、再生時間に基づいて、適応的なストリーミングが可能なように再生時間によって整列される。
【0077】
図17は、本発明の一実施形態による部分の構造を図示している。図17は、図15Bに図示されているように、メディアデータを複数の部分に分割するとき、それぞれの部分の構造を図示している。k番目の部分を例に挙げて説明するが、図17に図示された部分の構造は、順序と関係なしに、メディアデータに含まれたあらゆる部分に適用可能である。前述のように、メディアデータの部分を独立して再生するために、それぞれの部分は、ランダム・アクセスポイント、例えば、Iフレームとして始まることが望ましい。図17は、Iフレームで部分が始まるとき、部分の構造を図示している。
【0078】
図17を参照すれば、メディアデータのk番目の部分1710は、少なくとも1つのPESを含み、最初のPES 1710は、ランダム・アクセスポイント、すなわち、Iフレームに係わるデータで始まる。PESは、ビットストリームをフレーム単位でアクセスするための単位であるアクセス単位(AU:access unit)によって区分される。図17に図示された例では、これにより、Iフレームのアクセス単位1722と、PフレームまたはBフレームのアクセス単位1724とに区分される。
【0079】
Iフレームアクセス単位(AU)1722は、メディアデータの部分を独立して再生するためのパラメータを含むが、SPS(sequence parameter set)1732、PPS(picture parameter set)1734、SEI(supplemental enhancement information)1736を含む。SEI 1736は、CPB(coded picture buffer)のために必要な要素である。また、Iフレームアクセス単位1722は、1つの部分に含まれたフレームの先頭フレームであり、IDR(instantaneous decoding refresh)フレームを含む。SPS及びPPSは、アクセス単位の最初のバイトに含まれて参照され、ビデオストリームの残りのアクセス単位は、SPS及びPPSが参照された後に提供される。
【0080】
PフレームまたはBフレームのアクセス単位1724は、SEI 1742及びPフレームまたはBフレーム1744を含む。SEI 1724は、Iフレームアクセス単位1722のSEI 1736と同じ目的でアクセス単位に挿入される。
【0081】
ストリーミング環境を考慮した連続的な再生のためには、同じ時間に係わる異なるメディアデータの部分は、開始時間(start time)と持続時間(duration)とで同一でなければならない。例えば、同じ時間に係わる異なるメディアデータの部分は、最初のアクセス単位と最後のアクセス単位とのPTSが同一でなければならない。
【0082】
図18Aないし図18Cは、本発明の一実施形態によるMP4フォーマットによるメディアデータを部分化する方法を図示している。
【0083】
図18Aを参照すれば、図15Aと同じ方法で、メディアデータを複数の部分に分割することができる。図15Aに図示されたように、メディアデータがビデオデータである場合、エレメンタリー・ストリームは、複数のピクチャに係わるデータを含み、GOPに基づいてグループ化される。それぞれのGOPは、インフラピクチャで始まる。図18Aの「Slice」は、図15Aの「Segment」に対応する。
【0084】
図18Aに図示された実施形態では、2つのGOP 1810及び図1820が1つの部分に含まれる。2つのGOP 1810及び図1820に含まれた複数のピクチャは、MP4フォーマットによって1つの部分に含まれる。従って、部分1830は、MP4フォーマットによって、メディアデータのヘッダ情報を含む「moov」ボックス、ペイロードデータを含む「moof」ボックス、及び他のヘッダ情報を含む「moof」ボックスを含む。GOP 1810及び図1820に基づいて1つの部分を生成するので、それぞれの部分は、イントラピクチャ、すなわち、ランダム・アクセスポイントで始まる。
【0085】
図18Aに図示された部分化方法によって、複数のメディアデータは、図18Bに図示されているように部分化される。図18Bを参照すれば、複数のメディアデータは、複数のサンプル(sample)を含む部分にそれぞれ分割される。
【0086】
複数のメディアデータは、それぞれMP4フォーマットによる複数の「trak」にそれぞれ対応し、その場合、複数のメディアデータそれぞれについて、異なる「trak」ID 1850,1860及び図1870が割り当てられる。
【0087】
本発明によれば、図18Bに図示されているように、複数のメディアデータに係わるヘッダが「moov」ボックスとしてペイロードデータと分離される。図15Bと関連して述べたPAT及びPMTを含む「reference data」と同様に、複数のメディアデータに係わるメタデータを含むヘッダがペイロードを含む「mdat」ボックス1880と分離され、「moov」ボックス1840として定義される。
【0088】
図18Bの「moov」ボックス1840は、初期化部分(initialization segment)であり、ペイロードデータを含んでいる「mdat」ボックス1880より、まずクライアント130に伝送される。後述する図2Bの段階222、図5Bの段階532及び図11Bの段階1122で、クライアント130が受信するヘッダ情報が、図18Bの「moov」ボックス1840であってもよい。
【0089】
ヘッダを除外した残りのペイロード・データは、「mdat」ボックス(1880)に含まれる。例えば、オーディオデータをグループ化し、少なくとも1つの部分に分割する場合には、「trak1」、「trak2」及び「trak3」に対応する複数のオーディオ・サンプルに係わるデータを1つの部分にグループ化する。「trak1」に対応するオーディオ・サンプルを所定の時間単位でグループ化して複数の部分を生成し、「trak2」に対応するオーディオ・サンプルを所定の時間単位でグループ化し、複数の部分を生成することができる。同様に、「trak3」に対応するオーディオ・サンプルを所定の時間単位でグループ化し、複数の部分を生成することができる。適応的なストリーミングのために、それぞれのサンプルに係わるデータは、ただ1つの部分にのみ含まれてもよい。「mdat」ボックス1880に含まれるサンプルに係わるヘッダは、「moov」ボックス(1840)に含まれた「trak」ボックス1850,1860及び図1870に含まれる。また、ビデオデータをMP4フォーマットによってグループ化する場合には、1つのGOPに係わるデータは、1つの部分にのみ含まれる。
【0090】
図18Cは、本発明の他の実施形態によるMP4フォーマットに基づいた複数のメディアデータの部分化を図示している。図18Bと比較すれば、図18Bは、複数のサンプルに係わるペイロード・データが、1つの「mdat」ボックス(1880)で、所定の時間単位に基づいてグループ化される実施形態を図示しているのに対し、図18Cは、複数のサンプルに係わるペイロード・データが、複数の「moof」ボックス及び「mdat」ボックスによって部分化されるところが異なる。例えば、複数のメディアデータのうち、「trak1」に対応するメディアデータが、図18Aに図示されたところによって部分化されるとき、最初の部分に係わる「moof」ボックス1851及び「mdat」ボックス1852が存在し、2番目の部分に係わる「moof」ボックス1853及び「mdat」ボックス1854が存在する。
【0091】
メタデータを含んでいる「moof」ボックス1851または1853、及びペイロード・データを含んでいる「mdat」ボックス1852または1854に基づいて、「trak1」に対応するメディアデータを分割することができる。
【0092】
「moof」ボックスは、サンプルに係わるメタデータを含んでいる「traf」ボックスを含み、図18Bと関連して説明したように、1つのサンプルに係わるデータは、異なる部分に含まれない。例えば、1つのサンプルに係わるデータは、最初の部分に係わる「mdat」ボックス(1852)、または2番目の部分に係わる「mdat」ボックス1854に含まれ、最初の部分に係わる「mdat」ボックス1852及び2番目の部分に係わる「mdat」ボックス1854のいずれにも含まれない。
【0093】
図2Aは、本発明の一実施形態によるストリーミング方法を説明するためのフローチャートである。
【0094】
図2Aを参照すれば、段階210でクライアント130は、所定のコンテンツについての情報を伝送することをサーバ120に要請する。クライアント130のユーザが、クライアント130の画面に表示されたユーザ・インターフェースで所定のコンテンツを選択すれば、選択されたコンテンツについての情報を伝送することをサーバ120に要請する。クライアント130は、コンテンツについての情報を伝送することを要請するHTTP要請をサーバ120に伝送することができる。
【0095】
クライアント130から要請を受信したサーバ120は、クライアント130にコンテンツについての情報を伝送する。HTTP要請に対するHTTP応答として、コンテンツについての情報をクライアント130に伝送することができる。コンテンツについての情報は、OIPF(open IPTV forum)標準によるCAD(content access descriptor)であってもよい。図3を参照しつつ詳細に説明する。
【0096】
図3は、本発明の一実施形態によるコンテンツ(contents)についての情報を含むファイルのスキーマ(schema)を図示している。コンテンツについての情報を含むファイルは、CADであって、XML(eXtensible Markup Language)ファイルであってもよい。以下、本発明の詳細な説明では、タグ(tag)及び属性(attribute)を区分して説明するが、本発明の詳細な説明で、タグによって定義される項目を、タグではない属性によって定義したり、本発明の詳細な説明で、属性によって定義される項目を、属性ではないタグによって定義することができることは、本発明が属する技術分野で当業者であるならば、容易に分かるであろう。
【0097】
図3を参照すれば、コンテンツについての情報は、「Title」、「Synopsis」、「OriginSite」、「ContentURL」タグなどを含んでもよい。
【0098】
従来技術によるメディアデータのストリーミングは、1つのコンテンツを所定の品質にエンコーディングして1つのメディアデータを生成するので、従来技術によるコンテンツについての情報(特に、OIPFによるCAD)は、コンテンツを異なる品質にエンコーディングして生成された複数のメディアデータについての情報を含まない。
【0099】
しかし、本発明の一実施形態によるコンテンツについての情報は、1つのコンテンツを異なる品質にエンコーディングして生成された複数のメディアデータについての情報を含むが、図3に図示された実施形態の「Tracks」タグ、「RefData」タグ及び「Fragments」タグがこれに該当する。
【0100】
図4Aは、本発明の一実施形態による複数のメディアデータを定義するための情報を図示している。
【0101】
図4Aを参照すれば、「Tracks」タグは、コンテンツを異なる品質にエンコーディングして生成された複数のメディアデータを区分するための情報である。「Tracks」タグは、複数のメディアデータそれぞれに割り当てられた「ID」属性(attribute)、「Type」属性及び「BitRate」属性を含む。
【0102】
「ID」属性は、メディアデータに対して順に付与される識別子を定義し、「Type」属性は、メディアデータのオーディオデータ、ビデオデータ、ビデオ/オーディオデータ、字幕データのうち、いずれのデータに該当するかを定義する。「Type」属性が「Packed」であるならば、メディアデータが、ビデオ/オーディオデータであることを示し、「Type」属性が「Video」であるならば、メディアデータが、ビデオデータであることを示す。「BitRate」属性は、ビデオデータのエンコーディングに利用されたビット率を定義する。
【0103】
図4Bは、本発明の一実施形態によるメディアデータのヘッダについての情報を図示している。
【0104】
図4Bを参照すれば、「RefData」タグは、「Type」属性及び「ID」属性を含む。「Type」属性は、ヘッダがいかなるメディアフォーマットのヘッダであるかを定義する。例えば、「Type」属性が「HEAD−TS」であるならば、ヘッダが、伝送ストリーム(transport stream)フォーマットのヘッダであることを示す。「ID」属性は、ヘッダが、複数のメディアデータのうち、いずれのメディアデータのヘッダであるかを定義する。「ID」属性が「1」であるならば、メディアデータ識別子が「1」であるメディアデータに係わるヘッダであることを示す。また、「RefData」タグは、ヘッダを指示(pointing)する情報を含むが、「URL」タグは、ヘッダの位置、すなわち、URLを定義する。
【0105】
「RefData」タグは、選択的な要素である。ヘッダが、メディアデータと分離されて別途のファイルで存在する場合にのみ、コンテンツについての情報に「RefData」タグが含まれ、メディアデータと結合されて存在する場合には、コンテンツについての情報に「RefData」タグが含まれない。
【0106】
図4Cは、本発明の一実施形態による複数のメディアデータそれぞれに含まれた少なくとも1つの部分についての情報を含む。以下、複数の「Fragment」は、図15Aの「Segment」または図15Bの「Slice」に対応する。
【0107】
図4Cを参照すれば、「Fragments」タグの下位タグである「Fragment」タグに、複数のメディアデータそれぞれに含まれた少なくとも1つの部分についての情報が含まれる。
【0108】
「Fragments」タグは、「NextFragmentsXMLURL」属性を含む。ライブ・ストリーミングのように、1つのコンテンツ・ストリーミングが完了すれば、次のコンテンツが続いてストリーミングされる場合には、次にストリーミングされるコンテンツについての情報をクライアント130があらかじめ知っていてこそ、途切れなくコンテンツをストリーミングすることができる。従って、「Fragments」タグは、次にストリーミングされるコンテンツについての情報を「NextFragmentsXMLURL」属性と定義する。次に、ストリーミングされるコンテンツに係わる複数のメディアデータのURLが、「NextFragmentsXMLURL」属性と定義することができる。
【0109】
「Fragment」タグは、現在ストリーミングされるコンテンツの少なくとも1つの部分についての情報を含む。図4Cに図示された実施形態を例に挙げて説明すれば、第1メディアデータとして、コンテンツを第1品質にエンコーディングして生成された最初の部分である「slice1−1.as」のURL情報が、「URL」タグによって定義され、対応するヘッダの識別子が、「RefPointer」タグによって定義される。また、最初の部分の開始時間が「StartTime」属性によって定義され、それぞれの部分の持続時間が「Duration」属性によって定義される。第1メディアデータの品質は、「BitRate」属性によって定義される。
【0110】
図4Cに図示された実施形態では、「Fragments」タグは、それぞれのメディアデータが1つの部分だけを含む場合を図示した。しかし、本発明が属する技術分野で当業者であるならば、図1と関連して説明したように、それぞれのメディアデータが複数の部分に分割される場合、1つの「Fragments」タグが2以上の部分についての情報を含むことができることが容易に分かるであろう。
【0111】
再び図2Aを参照すれば、段階220でクライアント130は、複数のメディアデータのうち、少なくとも1つのメディアデータを伝送することをサーバ120に要請する。複数のメディアデータは、1つのコンテンツを異なる品質にエンコーディングして生成された複数のメディアデータである。クライアント130は、複数のメディアデータのうちから、ストリーミング環境に適した品質に符号化した少なくとも1つのメディアデータを選択し、サーバ120に要請する。クライアント130は、コンテンツについての情報に含まれた複数のメディアデータについての情報に基づいて、HTTP要請をサーバ120に伝送することができる。
【0112】
コンテンツについての情報は、図4Cと関連して説明したように、「Fragments」タグを含んでいる。従って、クライアント130は、「Fragments」タグに含まれたURL情報に基づいて選択されたメディアデータの伝送をサーバ120に要請する。
【0113】
クライアント130の要請によってサーバ120は、メディアデータを伝送する。要請されたメディアデータの少なくとも1つの部分をクライアント130に伝送することができる。HTTP要請に対するHTTP応答として、要請されたメディアデータを、クライアント120に伝送することができる。伝送されるメディアデータは、図15A図15B及び図18Aないし図18Cに図示されているように部分化され、少なくとも1つの部分を含むメディアデータであってもよい。
【0114】
図2Bは、本発明の他の実施形態によるストリーミング方法を説明するためのフローチャートである。図2Bは、ヘッダがメディアデータと分離され、別途のファイルとして存在する場合のストリーミング方法を図示している。
【0115】
図2Bを参照すれば、段階212でクライアント130は、所定のコンテンツについての情報を伝送することをサーバ120に要請し、サーバ120からコンテンツについての情報を伝送する。図2Aの段階210に図示される。図4Bと関連して述べた「RefData」タグを含むコンテンツについての情報を受信する。
【0116】
段階222でクライアント130は、段階210で受信されたコンテンツについての情報に基づいて、複数のメディアデータのうち、選択されたメディアデータのヘッダを要請する。段階212で受信されたコンテンツについての情報に基づいて、複数のメディアデータのうち、ストリーミング環境に適した少なくとも1つのメディアデータを選択して選択されたメディアデータのヘッダを要請する。段階212で受信されたコンテンツについての情報に含まれた「RefData」タグを参照して選択されたメディアデータのヘッダを要請する。
【0117】
サーバ120は、要請されたメディアデータのヘッダをクライアント130に伝送する。ヘッダファイルをクライアント130に伝送することができ、ヘッダファイルは、XMLファイルであってもよい。また、ヘッダは、複数のメディアデータ全体に係わるヘッダとして、図15B図18B及び図18Cに図示された「reference data」であってもよい。
【0118】
段階232でクライアント130は、段階212で受信されたコンテンツについての情報及び段階222で受信されたヘッダに基づいて選択されたメディアデータの伝送を、サーバ120に要請する。メディアデータを時間に基づいて分割して生成された少なくとも1つの部分を伝送することをサーバ130に要請し、サーバ120は、要請された少なくとも1つの部分をクライアント130に伝送する。伝送されるメディアデータは、図15A図15B及び図18Aないし図18Cに図示されているように部分化され、少なくとも1つの部分を含むメディアデータであってもよい。
【0119】
図5Aは、本発明の他の実施形態によるストリーミング方法を説明するためのフローチャートである。
【0120】
図5Aを参照すれば、段階510でクライアント130は、所定のコンテンツについての情報を伝送することをサーバ120に要請し、サーバ120からコンテンツについての情報を伝送する。所定のコンテンツについての情報を伝送することを要請するHTTP要請をサーバ120に伝送し、これに対するHTTP応答として、コンテンツについての情報を受信する。コンテンツについての情報を含むXMLファイルを受信することができる。段階510でクライアント130が受信するコンテンツについての情報は、図2の段階210でクライアント130が受信するコンテンツについての情報と異なるが、図6及び図7を参照して詳細に説明する。
【0121】
図6は、本発明の他の実施形態によるコンテンツについての情報を含むファイルのスキーマを図示している。
【0122】
図6を参照すれば、本発明の一実施形態によるコンテンツについての情報は、図3と同一に、「Title」、「Synopsis」、「OriginSite」、「ContentURL」タグなどを含んでもよい。
【0123】
しかし、図3に図示された実施形態では、コンテンツについての情報が、「Tracks」、「RefData」及び「Fragments」タグを含むことによって、複数のメディアデータについての情報も共に含むのに対し、図6に図示された実施形態では、コンテンツについての情報が複数のメディアデータについての情報を含むのではなく、複数のメディアデータについての情報を含むファイル(以下、media presentation description:「メディア表現記述」とする)のURLだけ定義するのが異なる。「ContentURL」タグによって、メディア表現記述のURLこの定義される。
【0124】
図6に図示されているように、従来技術による多様なコンテンツについての情報ファイルのスキーマを大きく変更せず、メディア表現記述のURLのみコンテンツについての情報ファイルに挿入することによって、多様なメディアデータ・フォーマットとの互換性を維持しつつ、ストリーミング環境に適応的なストリーミングが可能になる。
【0125】
図6に図示されたところによれば、コンテンツについての情報は、複数のメディアデータについての情報は含まずに、ストリーミング方法と関連した情報だけ含んでもよい。言い換えれば、「ContentURL」タグは、ストリーミングに利用されるメディアデータのフォーマットを定義する「MediaFormat」属性、メディアデータの種類を定義する「MIMEType」属性などを含んでもよい。
【0126】
特に、「ContentURL」タグは、コンテンツのストリーミングがいかなるサービスと関連しているかを定義する「TransferType」属性を含んでもよい。「TransferType」属性は、コンテンツのストリーミングがCoD(Content on Delivery)サービス、生中継(live)、適応ストリーミング生中継(adaptive streaming live)及び適応ストリーミングCoD(adaptive streaming CoD)のうち、いかなるサービスと関連しているかを定義することができる。
【0127】
図7は、本発明の他の実施形態によるコンテンツについての情報を図示している。図7は、OIPF標準によるCADであってもよい。
【0128】
図7を参照すれば、図6に図示されたスキーマによって生成されたコンテンツについての情報は、「ContentURL」タグに、メディア表現記述のURLが定義される。「http://asexample.com/vod/movies/18888/Meta/MainMeta.xml」がメディア表現記述のURLである。また、図6と関連して説明したように、「MediaFormat」属性、「MIMEType」属性及び「TransferType」属性などが「ContentURL」タグに定義される。
【0129】
再び図5Aを参照すれば、段階520でクライアント130は、段階510で受信されたコンテンツについての情報に基づいて、複数のメディアデータについての情報をサーバ120に要請する。メディア表現記述を、HTTP要請を介してサーバ120に要請し、HTTP応答として、メディア表現記述を受信することができる。
【0130】
段階510で、クライアント130がサーバ120から受信したコンテンツについての情報は、図6及び図7と関連して説明したように、メディア表現記述のURL情報を含むことができるが、クライアント130は、コンテンツについての情報の「ContentURL」タグを参照し、メディア表現記述をサーバ120に要請して受信する。メディア表現記述については、図8A図8B図9Aないし図9Hを参照して詳細に説明する。
【0131】
図8A及び図8Bは、本発明の一実施形態によるメディア表現記述のスキーマを図示している。メディア表現記述は、OIPF標準によるメディア表現記述であってもよい。
【0132】
図8Aを参照すれば、本発明の一実施形態によるメディア表現記述は、複数のメディアデータのURLに係わるテンプレート(template)タグ、ヘッダの位置を定義するためのタグ、ストリーミングがいかなるサービスと関連しているかを定義するためのタグ、メディアデータコンテナ(container)・フォーマットを定義するためのタグ、及び複数のメディアデータを定義するためのタグを含む。
【0133】
「urlTemplate」タグは、複数のメディアデータに係わるURL情報の共通部分を定義する。例えば、「http://example.com/vod/movie/18888/Track/{TrackID}/Segments/{SegmentID}」がURLテンプレートであるならば、「TrackID」及び「SegmentID」に、複数のメディアデータそれぞれの識別子及びそれぞれのメディアデータに含まれた少なくとも1つの部分の識別子を代入することにより、メディアデータに係わるURLを定義することができる。
【0134】
「headerUrl」タグは、図4Bと関連して述べた「RefData」タグに対応する。言い換えれば、複数のメディアデータのヘッダURLを定義する。
【0135】
「isLive」タグは、ストリーミングがいかなるサービスと関連しているかを定義するタグである。例えば、「isLive」タグが「Live」と定義されれば、ストリーミングが生放送サービスと関連していることを示し、「isLive」タグが「CoD」と定義されれば、ストリーミングがCoDサービスと関連していることを示す。
【0136】
「contentType」タグは、ストリーミングに利用されるメディアデータのコンテナ・フォーマットを定義する。例えば、メディアデータのコンテナ・フォーマットが、MP4フォーマットであるか、あるいはMPEG2−TSフォーマットであるか示すための情報であってもよい。
【0137】
「Stream」タグは、複数のメディアデータそれぞれについて生成され、複数のメディアデータそれぞれを定義する。1つのコンテンツを異なる品質にエンコーディングして生成された複数のメディアデータそれぞれを定義するために、「streamName」属性、「Type」属性、「bitrate」属性、「startTime」属性、「firstIntervalNum」属性、「duration」属性、及び「intervalCount」属性を含む。
【0138】
「streamName」属性は、メディアデータの名称を定義する。メディアデータの識別子であってもよい。「type」属性は、メディアデータの類型を定義する。メディアデータがオーディオデータ、ビデオデータ、オーディオ/ビデオデータ及び字幕データのうち、いかなるメディアのデータであるかを定義する。メディアデータが、変速再生(trick play)のために、Iフレームに係わるデータだけ含む場合には、これについての情報が「type」属性と定義される。
【0139】
「bitrate」属性は、メディアデータのビット率を定義し、「startTime」属性は、メディアデータの開始時間を特定するタイムスタンプを定義し、「firstIntervalNum」属性は、最初の始まる部分の番号を定義する。
【0140】
「duration」属性は、メディアデータに含まれた部分の持続時間を定義し、「intervalCount」属性は、メディアデータに含まれた少なくとも1つの部分の全体個数を定義する。
【0141】
「Segment」タグは、「Stream」タグの下位タグであり、メディアデータが、前述のように、コンテンツを所定の品質にエンコーディングし、時間に基づいて分割して生成された少なくとも1つの部分であるならば、かような少なくとも1つの部分それぞれを定義する。
【0142】
「IntNum」属性は、部分の番号を定義し、「StartTime」は、該当部分の開始時間を定義する。「Duration」は、該当部分の持続時間を定義し、「url」は、該当部分のURL情報を定義する。
【0143】
「Segment」タグは、選択的なタグであり、メディアデータに含まれた少なくとも1つの部分についての情報が、「Stream」タグの他の属性から類推される場合には、メディア表現記述に含まれない。言い換えれば、「Stream」タグに定義された「startTime」属性、「firstIntervalNum」属性、「duration」属性及び「intervalCount」属性によって、「Segment」タグの内容が類推される場合には、メディア表現記述に含まれない。また、「urlTemplate」タグに所定のテンプレートが定義されており、このように定義されたテンプレートに、複数のメディアデータそれぞれの識別子及びそれぞれのメディアデータに含まれた少なくとも1つの部分の識別子を代入することにより、部分のURL情報を類推することができれば、「Segment」タグの「url」属性は、不要でもある。
【0144】
図8Bを参照すれば、本発明の他の実施形態によるメディア表現記述は、「nextManifestURL」タグをさらに含んでもよい。前述のように、ライブ・ストリーミングまたは広告の挿入のように、1つのコンテンツ・ストリーミングが完了すれば、次のコンテンツが続いてストリーミングされる場合には、次にストリーミングされるコンテンツについての情報を、クライアント130があらかじめ知っていてこそ、途切れなくコンテンツをストリーミングすることができるので、現在ストリーミング中であるコンテンツ後に、ストリーミングされるコンテンツのメディア表現記述のURL情報が「nextManifestURL」タグによって定義される。
【0145】
図9Aないし図9Hは、本発明の一実施形態によるメディア表現記述を図示している。
【0146】
図9Aを参照すれば、本発明の一実施形態によるメディア表現記述は、「URLTemplate」タグ、「RefDataURL」タグ及び複数のメディアデータそれぞれを定義する複数のタグを含む。
【0147】
「URLTemplate」タグ及び「RefDataURL」タグは、それぞれ図8A及び図8Bの「urlTemplate」タグ及び「RefDataURL」タグに対応する。
【0148】
「ID」属性、「Type」属性、「bitrate」属性、「StartTime」属性、「SegmentDuration」属性、「SegmentStartID」属性及び「SegmentCount」属性は、それぞれ図8A及び図8Bの「streamName」属性、「type」属性、「bitrate」属性、「startTime」属性、「Stream」タグの「duration」属性、「Stream」タグの「firstIntervalNum」属性及び「intervalCount」属性に対応する。
【0149】
図9Aに図示されたメディア表現記述は、コンテンツを異なる品質に生成された3種のビデオデータ、1つのオーディオデータ及び変速再生のためにIフレームだけエンコーディングして生成されたメディアデータについての情報を含む。
【0150】
図9Bを参照すれば、本発明の一実施形態によるメディア表現記述は、「NextAdaptiveControlURL」タグをさらに含む。「NextAdaptiveControlURL」タグは、図8Bの「nextManifestURL」タグに対応する。従って、現在再生中であるコンテンツの次に、続いて再生するコンテンツのメディア表現記述のURLが「NextAdaptiveControlURL」タグによって定義される。
【0151】
図9Cは、現在再生中であるコンテンツに続いて再生するコンテンツのメディア表現記述のURLが、図9Bの「NextAdaptiveControlURL」タグによって定義されたとき、次に続いて再生するコンテンツのメディア表現記述を図示する。図9Bのメディア表現記述と比較すれば、図9Cは、次に続いて再生されるコンテンツのメディア表現記述であるから、「StartTime」属性の現在再生中であるコンテンツのメディア表現記述と異なる。
【0152】
図9D及び図9Eは、ユーザの高画質ビデオ再生を選択的に制御するためのメディア表現記述を図示する。1つのコンテンツを5種の異なる品質にエンコーディングして複数のメディアデータが生成され、図9Dは、その場合、メディア表現記述を図示する。しかし、図9Eに図示されたメディア表現記述で、高品質にエンコーディングされたビデオについての情報を含んでいるタグ、すなわち、「ID」属性が「5」であるメディアデータの「StartTime」属性及び「SegmentCount」属性が、図9Dのメディア表現記述と異なる。
【0153】
サーバ120は、クライアント130のユーザ等級によって、図9Dのメディア表現記述または図9Eのメディア表現記述を選択的に伝送することができる。クライアント130のユーザ等級が高い場合(例えば、クライアント130が有料ユーザである場合)には、図9Dのメディア表現記述を伝送することによって、高品質のビデオも自由に再生させ、クライアント130のユーザ等級が低い場合(例えば、クライアント130が無料ユーザである場合)には、図9Eのメディア表現記述を伝送することによって、高品質のビデオは、「StartTime」属性によって定義された時間から、「SegmentCount」属性によって定義された部分のみ再生させる。
【0154】
図9Fは、コンテンツに広告が挿入される場合のメディア表現記述を図示している。図9Fを参照すれば、メディア表現記述は、「StartTime」属性が異なる広告コンテンツ及びメインコンテンツについての情報を含んでもよい。メディア表現記述は、「00:00:00」から「00:02:00」まで再生されるビット率が「500000」である広告コンテンツについての情報、及び「00:02:00」から再生されるビット率が「1000000」、「2000000」、「3000000」及び「4000000」であるメインコンテンツについての情報を含んでもよい。サーバ120が、広告コンテンツを1つのビット率によってエンコーディングしてクライアント130に提供し、広告コンテンツと「StartTime」属性を異にするメインコンテンツは、4種の異なるビット率によってエンコーディングしてクライアント130に提供する場合、図9Fのメディア表現記述が、サーバ120からクライアント130に伝送される。
【0155】
図9Gは、本発明の一実施形態による広告コンテンツについての情報を含むメディア表現記述を図示している。メインコンテンツを提供するサーバと、広告コンテンツを提供するサーバとが異なってもよい。言い換えれば、クライアント130が、メインコンテンツは、図5Aのサーバ120から提供され、広告コンテンツは、図5Aのサーバ120ではない他のサーバから受信する場合、広告コンテンツについての情報を含むメディア表現記述は、広告コンテンツのURL情報を含んでもよい。図9Gに図示されているように、1つの品質に符号化した広告コンテンツのURL情報が、メディア表現記述に含まれてもよい。
【0156】
図9Hは、本発明の一実施形態による言語情報及び字幕情報を含むメディア表現記述を図示している。図9Hを参照すれば、オーディオデータは、多重言語についての情報を含んでもよい。「ID」属性が「4」及び「5」である多重言語のオーディオデータについての情報がメディア表現記述に含まれ、「ID」属性が「6」及び「7」である多重言語の字幕についての情報が、メディア表現記述に含まれてもよい。
【0157】
オーディオデータは、もちろん字幕も時間によって、複数の部分に分割されるので、ストリーミング最中に、オーディオデータ及び字幕を異なる言語のオーディオデータ及び字幕に変更することができる。
【0158】
再び図5Aを参照すれば、段階530でクライアント130は、複数のメディアデータのうち、少なくとも1つのメディアデータを伝送することをサーバ120に要請する。クライアント130は、複数のメディアデータについての情報を参照し、ストリーミング環境に適した品質に符号化した少なくとも1つのメディアデータを選択してサーバ120に要請する。クライアント130は、所定のメディアデータを伝送することを要請するHTTP要請をサーバ120に伝送することができる。クライアント120の要請によってサーバ120は、メディアデータを伝送する。コンテンツを所定の品質にエンコーディングし、時間に基づいて分割して生成された少なくとも1つの部分を、クライアント120に伝送することができる。HTTP要請に対するHTTP応答として、要請されたメディアデータをクライアント120に伝送することができる。伝送されるメディアデータは、図15A図15B及び図18Aないし図18Cに図示されているように、部分化されて少なくとも1つの部分を含むメディアデータであってもよい。
【0159】
図5Bは、本発明の他の実施形態によるストリーミング方法を説明するためのフローチャートである。
【0160】
図5Bを参照すれば、段階512でクライアント130は、所定のコンテンツについての情報を伝送することをサーバ120に要請し、サーバ120からコンテンツについての情報を受信する。所定のコンテンツについての情報を伝送することを要請するHTTP要請をサーバ120に伝送し、これに対するHTTP応答として、コンテンツについての情報を受信する。コンテンツについての情報を含むXMLファイルを受信することができる。
【0161】
段階522でクライアント130は、段階512で受信されたコンテンツについての情報に基づいて、複数のメディアデータについての情報をサーバ120に要請する。メディア表現記述を、HTTP要請を介してサーバ120に要請し、HTTP応答として、メディア表現記述を受信することができる。
【0162】
段階532でクライアント130は、段階522で受信された複数のメディアデータについての情報に基づいて、選択されたメディアデータのヘッダを要請する。段階522で受信された情報に基づいて、複数のメディアデータのうち、ストリーミング環境に適した少なくとも1つのメディアデータを選択し、選択されたメディアデータのヘッダを要請する。段階522で受信された複数のメディアデータについての情報を参照し、選択されたメディアデータのヘッダを要請する。サーバ120は、要請に対する応答として、選択されたメディアデータのヘッダファイルをクライアント130に伝送する。ヘッダは、複数のメディアデータ全体に係わるヘッダとして、図15B図18B及び図18Cに図示された「reference data」であってもよい。
【0163】
段階542でクライアント130は、段階522で受信された複数のメディアデータについての情報、及び段階222で受信されたヘッダに基づいて選択されたメディアデータの伝送を、サーバ120に要請する。コンテンツを所定の割合でエンコーディングし、時間に基づいて分割して生成された少なくとも1つの部分を伝送することをサーバ130に要請し、サーバ120は、要請された少なくとも1つの部分をクライアント130に伝送する。伝送されるメディアデータは、図15A図15B及び図18Aないし図18Cに図示されているように、部分化されて少なくとも1つの部分を含むメディアデータであってもよい。
【0164】
図10Aないし図10Cは、本発明の一実施形態による複数のメディアデータを図示している。図10Aないし図10Cは、図5A及び図5Bによるストリーミング方法を遂行するために、サーバ120が保有する複数のメディアデータを図示している。
【0165】
図10Aを参照すれば、ストリーミング環境に適応的なストリーミングのためにサーバ120は、1つのコンテンツを複数の異なる品質にエンコーディングして生成された複数のメディアデータ1010ないし1030を保有することができる。「Track1」、「Track2」、…、「TrackN」が複数のメディアデータである。また、それぞれのメディアデータは、それぞれのメディアデータを時間に基づいて分割して生成された少なくとも1つの部分を含んでもよい。「Slice1−1.as」、「Slice1−2.as」、「Slice1−3.as」、「Slice2−1.as」、「Slice2−2.as」、「Slice2−3.as」、「SliceN−1.as」、「SliceN−2.as」、「SliceN−3.as」などが少なくとも1つの部分である。
【0166】
また、サーバ120は、クライアント130が複数のメディアデータにアクセスするために必要な情報1040を保有することができる。コンテンツについての情報として、「CadMeta.xml」ファイル、複数のメディアデータについての情報として、「MainMeta.xml」ファイルを保有することができ、複数のメディアデータのヘッダとして、「Head1.ref」、「Head2.ref」ファイルなどを保有することができる。「Head1.ref」は、「Track1」のヘッダファイルであって、「Head2.ref」は、「Track2」のヘッダファイルである。
【0167】
「CadMeta.xml」は、OIPF標準によるCADファイルであって、「MainMeta.xml」は、前述のメディア表現記述であってもよい。また、「Head1.ref」、「Head2.ref」ファイルは、選択的な要素であり、ヘッダが複数のメディアデータ1010ないし1030に含まれている場合には、存在しないこともある。
【0168】
図10Bを参照すれば、クライアント130が複数のメディアデータにアクセスするために必要な情報1042は、「NextMeta.xml」をさらに含んでもよい。前述のように、「NextMeta.xml」は、現在再生中であるコンテンツに続いて再生される次のコンテンツのメディア表現記述であってもよい。前述のように、現在再生中であるメディア表現記述、すなわち、「MainMeta.xml」ファイルは、続いて再生するコンテンツのメディア表現記述のURL情報を含んでいるが、これに基づいてクライアント130は、「NextMeta.xml」ファイルにアクセスすることができる。
【0169】
図10Cを参照すれば、複数のメディアデータのヘッダは、1つのファイル1050に存在しうる。ヘッダファイルが複数のメディアデータそれぞれについて、複数で存在するのではなく、1つのヘッダファイル1050として、複数のメディアデータにアクセスするために必要な情報1044に含まれてもよい。
【0170】
例えば、複数のメディアデータそれぞれが、エレメンタリー・ストリーム(例えば、MPEG−2によるエレメンタリー・ストリーム)に対応するとき、ヘッダファイルは、PAT(program association table)及びPMT(program map table)のうち、少なくとも一つを含んでもよい。PAT及びPMTのうち少なくとも一つを、複数のメディアデータ1010ないし1030と分離して、1つのヘッダファイル1050を作り、メディア表現記述は、このヘッダファイル1050を指示(pointing)する情報を含んでもよい。指示情報は、ヘッダファイル1050のURL情報場でもあり、MPEG−2エレメンタリー・ストリームでヘッダファイル1050を含んでいる伝送ストリームパケットを特定するための情報でもある。ヘッダファイル1050は、複数のメディアデータ全体に係わるヘッダであり図15B図18B及び図18Cに図示された「reference data」であってもよい。
【0171】
PAT及びPMTは、ヘッダファイル1050であり、メディアデータと分離されており、複数のメディアデータ1010ないし1030に含まれているが、含まれた位置と関係なしに、複数のメディアデータ1010ないし1030に含まれたエレメンタリー・ストリームの全体リストを含む。
【0172】
PSI、すなわち、PAT及びPMTが別途のペイロード・データと分離され、別途のヘッダに存在する場合は、図15Aと関連して述べた。しかし、PSIが複数のメディアデータ1010ないし1030に含まれているときには、1つのメディアデータを構成する部分それぞれにPSIを含めることによって、それぞれの部分がPSIに基づいて、独立して再生されることが可能になる。
【0173】
前述の段階532でクライアント130は、メディア表現記述を参照し、ヘッダファイル1050の指示情報を獲得し、指示情報に基づいて、ヘッダファイル1050を要請することができる。指示情報によって、ヘッダファイル1050を要請して受信した後、ヘッダファイル1050に含まれているPAT及びPMTのうち少なくとも一つに基づいて、複数のメディアデータのうち少なくとも一つを選択し、選択されたメディアデータをサーバ120に要請する。PAT及びPMTは、複数のメディアデータ1010ないし1030の全体リストを含む。
【0174】
図11Aは、本発明のさらに他の実施形態によるストリーミング方法を説明するためのフローチャートである。
【0175】
図11Aを参照すれば、段階1110でクライアント130は、複数のメディアデータについての情報をサーバ120に要請する。メディア表現記述を、HTTP要請を介してサーバ120に要請し、HTTP応答として、メディア表現記述を受信することができる。クライアント130は、ストリーミング環境に適応的なストリーミングを行うために、1つのコンテンツを複数の異なる品質にエンコーディングして生成された複数のメディアデータについての情報を、サーバ120に要請して受信する。コンテンツについての情報の要請及び受信なしに、複数のメディアデータについての情報の要請及び受信が行われるという点が、図5Aに図示された実施形態と異なる。
【0176】
段階1120でクライアント130は、複数のメディアデータのうち、少なくとも1つのメディアデータを伝送することをサーバ120に要請する。クライアント130は、複数のメディアデータについての情報を参照し、ストリーミング環境に適した品質に符号化した少なくとも1つのメディアデータを選択してサーバ120に要請し、要請されたメディアデータをサーバ120から受信する。伝送されるメディアデータは、図15A図15B及び図18Aないし図18Cに図示されているように、部分化されて少なくとも1つの部分を含むメディアデータであってもよい。
【0177】
図11Bは、本発明のさらに他の実施形態によるストリーミング方法を説明するためのフローチャートである。
【0178】
図11Bを参照すれば、段階1112でクライアント130は、複数のメディアデータについての情報をサーバ120に要請し、要請に対する応答として、複数のメディアデータについての情報をサーバ120から受信する。メディア表現記述を、HTTP要請を介してサーバ120に要請し、HTTP応答として、メディア表現記述を受信することができる。
【0179】
段階1122でクライアント130は、段階1112で受信された複数のメディアデータについての情報に基づいて、選択されたメディアデータのヘッダを要請する。段階522で受信された複数のメディアデータについての情報を参照し、ストリーミング環境によって選択されたメディアデータのヘッダを要請する。サーバ120は、要請に対する応答として、選択されたメディアデータのヘッダを含むファイルを、クライアント130に伝送する。ヘッダは、複数のメディアデータ全体に係わるヘッダとして、図15B図18B及び図18Cに図示された「reference data」であってもよい。
【0180】
段階1132でクライアント130は、段階1112で受信された複数のメディアデータについての情報、及び段階1122で受信されたヘッダに基づいて選択されたメディアデータの伝送を、サーバ120に要請する。コンテンツを所定の割合でエンコーディングし、時間に基づいて分割して生成された少なくとも1つの部分を伝送することをサーバ130に要請し、サーバ120は、要請された少なくとも1つの部分をクライアント130に伝送する。伝送されるメディアデータは、図15A図15B及び図18Aないし図18Cに図示されているように、部分化されて少なくとも1つの部分を含むメディアデータであってもよい。
【0181】
図12Aないし図12Cは、本発明の他の実施形態による複数のメディアデータを図示している。図12Aないし図12Cは、図11A及び11Bによるストリーミング方法を遂行するために、サーバ120が保有する複数のメディアデータを図示している。
【0182】
図12Aを参照すれば、図10Aに図示された実施形態と同様に、ストリーミング環境に適応的なストリーミングのためにサーバ120は、1つのコンテンツを複数の異なる品質にエンコーディングして生成された複数のメディアデータ1010ないし1030を保有することができる。
【0183】
クライアント130が複数のメディアデータにアクセスするために必要な情報1240のみ異なるが、図10Aに図示された実施形態とは異なり、サーバ120は、コンテンツについての情報を除外した複数のメディアデータについての情報だけ含んでもよい。この場合、クライアント130は、コンテンツについての情報を、サーバ120ではない他のエンティティから受信し、コンテンツについての情報に基づいて、サーバ120が保有している複数のメディアデータにアクセスすることもできる。
【0184】
図12Bを参照すれば、クライアント130が複数のメディアデータにアクセスするために必要な情報1242は、図12Aの情報1240に「NextMeta.xml」をさらに含んでもよい。
【0185】
図12Cを参照すれば、複数のメディアデータのヘッダは、1つのファイル1250として存在しうる。ヘッダファイルが、複数のメディアデータそれぞれについて、複数で存在するのではなく、1つのヘッダファイル1250として、複数のメディアデータにアクセスするために必要な情報1244に含まれてもよい。ヘッダファイルは、図10Cのヘッダファイル1050に対応し、図10Cのヘッダファイル1050は、図15B図18B及び図18Cと関連して述べた「reference data」に対応するということは、図10Cと関連して説明した。
【0186】
図13は、本発明の一実施形態によるサーバのメディアデータ伝送装置を図示している。
【0187】
図13を参照すれば、本発明の一実施形態によるサーバ120のメディアデータ伝送装置1300は、情報伝送部1310及びメディアデータ伝送部1320を含む。
【0188】
情報伝送部1310は、クライアント130から所定情報の伝送要請を受信し、これに対する応答として、要請された情報を伝送する。コンテンツについての情報及び複数のメディアデータについての情報のうち、少なくとも1つの伝送要請をクライアント130から受信し、要請された情報をクライアント130に伝送する。図2A図2B図5A図5B図11A及び図11Bに図示された実施形態によって、コンテンツについての情報及び複数のメディアデータについての情報のうち、少なくとも1つの伝送を要請するHTTP要請をクライアント130から受信し、HTTP応答として、要請された情報を伝送する。
【0189】
メディアデータ伝送部1320は、複数のメディアデータのうち、ストリーミング環境によって選択された少なくとも1つのメディアデータの伝送要請をクライアント130から受信し、要請されたメディアデータを、クライアント1320に伝送する。情報伝送部1310がクライアント130に伝送した複数のメディアデータについての情報に基づいて、選択されたメディアデータの伝送要請を受信する。サーバ120は、エンコーディング装置110から異なる品質にエンコーディングされた複数のメディアデータを受信して保有していて、要請されたメディアデータをクライアント130に伝送することもできる。また、クライアント130の伝送要請によって、リアルタイムでエンコーディング装置110からメディアデータを受信して、クライアント130に伝達することもできる。
【0190】
図14は、本発明の一実施形態によるクライアントのメディアデータ受信装置を図示している。
【0191】
図14を参照すれば、本発明の一実施形態によるクライアント130のメディアデータ受信装置1400は、情報受信部1410及びメディアデータ受信部1420を含む。
【0192】
情報受信部1410は、所定情報の伝送要請をサーバ120に伝送し、これに対する応答として、要請された情報をサーバ120から受信する。コンテンツについての情報及び複数のメディアデータについての情報のうち、少なくとも1つの伝送要請をサーバ120に伝送し、要請された情報を受信する。図2A図2B図5A図5B図11A及び図11Bに図示された実施形態によって、コンテンツについての情報及び複数のメディアデータについての情報のうち、少なくとも1つの伝送を要請するHTTP要請をサーバ120に伝送し、HTTP応答として、要請された情報を受信する。
【0193】
メディアデータ受信部1420は、複数のメディアデータのうち、ストリーミング環境によって選択された少なくとも1つのメディアデータの伝送要請をサーバ120に伝送し、要請されたメディアデータをクライアント1320から受信する。情報受信部1410がサーバ120から受信した複数のメディアデータについての情報に基づいて、ストリーミング環境によって選択されたメディアデータの伝送要請を伝送する。
【0194】
以上のように、本発明について、たとえ限定された実施形態と図面によって説明したとしても、本発明が前記の実施形態に限定されるものではなく、それらは、本発明が属する分野で当業者であるならば、かような記載から多様な修正及び変形が可能である。従って、本発明の思想は、特許請求の範囲によってのみ把握されるものであり、それと均等であるか、あるいは等価的な変形は、いずれも本発明の範囲に属すると言える。また、本発明によるシステムは、コンピュータで読み取り可能な記録媒体に、コンピュータで読み取り可能なコードとして具現することが可能である。
【0195】
例えば、本発明の例示的な実施形態によるサーバのストリーミング装置及びクライアントのストリーミング装置は、図13及び図14に図示されたような装置のそれぞれのユニットにカップリングされたバス、前記バスに結合された少なくとも1つのプロセッサを含んでもよい。また、命令、受信されたメッセージまたは生成されたメッセージを保存するために、前記バスに結合され、前述のような命令を遂行するための少なくとも1つのプロセッサにカップリングされたメモリを含んでもよい。
【0196】
また、コンピュータで読み取り可能な記録媒体は、コンピュータシステムによって読み取り可能なデータが保存されるあらゆる種類の記録装置を含む。記録媒体の例としては、ROM(read-only memory)、RAM(random-access memory)、CD−ROM、磁気テープ、フロッピー(登録商標)ディスク、光データ保存装置などを含む。また、コンピュータで読み取り可能な記録媒体は、ネットワークに連結されたコンピュータシステムに分散され、分散方式でコンピュータで読み取り可能なコードが保存されて実行される。
【符号の説明】
【0197】
110 エンコーディング装置
120 サーバ
130 クライアント
140 ネットワーク
図1
図2A
図2B
図3
図4a
図4b
図4c
図5A
図5B
図6
図7
図8a
図8b
図9a
図9b
図9c
図9d
図9e
図9f
図9g
図9h
図10A
図10B
図10C
図11A
図11B
図12A
図12B
図12C
図13
図14
図15a
図15b
図16A
図16B
図17
図18a
図18b
図18c