JP2013536537A - マルチメディア・ストリーム・ファイルの保存ファイルフォーマット、保存方法及びそれを利用したクライアント装置 - Google Patents

マルチメディア・ストリーム・ファイルの保存ファイルフォーマット、保存方法及びそれを利用したクライアント装置 Download PDF

Info

Publication number
JP2013536537A
JP2013536537A JP2013515275A JP2013515275A JP2013536537A JP 2013536537 A JP2013536537 A JP 2013536537A JP 2013515275 A JP2013515275 A JP 2013515275A JP 2013515275 A JP2013515275 A JP 2013515275A JP 2013536537 A JP2013536537 A JP 2013536537A
Authority
JP
Japan
Prior art keywords
fragment
information
level
received
stream file
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP2013515275A
Other languages
English (en)
Other versions
JP5876480B2 (ja
Inventor
ジョン,ド−ヨン
キム,ギル−ユン
キム,ヨン−ギュ
ジョン,スン−ヨン
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Samsung Electronics Co Ltd
Original Assignee
Samsung Electronics Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Samsung Electronics Co Ltd filed Critical Samsung Electronics Co Ltd
Publication of JP2013536537A publication Critical patent/JP2013536537A/ja
Application granted granted Critical
Publication of JP5876480B2 publication Critical patent/JP5876480B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/16Combinations of two or more digital computers each having at least an arithmetic unit, a program unit and a register, e.g. for a simultaneous processing of several programs
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/60Network structure or processes for video distribution between server and client or between remote clients; Control signalling between clients, server and network components; Transmission of management data between server and client, e.g. sending from server to client commands for recording incoming content stream; Communication details between server and client 
    • H04N21/65Transmission of management data between client and server
    • H04N21/658Transmission by the client directed to the server
    • H04N21/6587Control parameters, e.g. trick play commands, viewpoint selection
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • G06F16/11File system administration, e.g. details of archiving or snapshots
    • G06F16/113Details of archiving
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B27/00Editing; Indexing; Addressing; Timing or synchronising; Monitoring; Measuring tape travel
    • G11B27/10Indexing; Addressing; Timing or synchronising; Measuring tape travel
    • G11B27/102Programmed access in sequence to addressed parts of tracks of operating record carriers
    • G11B27/105Programmed access in sequence to addressed parts of tracks of operating record carriers of operating discs
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B27/00Editing; Indexing; Addressing; Timing or synchronising; Monitoring; Measuring tape travel
    • G11B27/10Indexing; Addressing; Timing or synchronising; Measuring tape travel
    • G11B27/19Indexing; Addressing; Timing or synchronising; Measuring tape travel by using information detectable on the record carrier
    • G11B27/28Indexing; Addressing; Timing or synchronising; Measuring tape travel by using information detectable on the record carrier by using information signals recorded by the same method as the main recording
    • G11B27/32Indexing; Addressing; Timing or synchronising; Measuring tape travel by using information detectable on the record carrier by using information signals recorded by the same method as the main recording on separate auxiliary tracks of the same or an auxiliary record carrier
    • G11B27/322Indexing; Addressing; Timing or synchronising; Measuring tape travel by using information detectable on the record carrier by using information signals recorded by the same method as the main recording on separate auxiliary tracks of the same or an auxiliary record carrier used signal is digitally coded
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B27/00Editing; Indexing; Addressing; Timing or synchronising; Monitoring; Measuring tape travel
    • G11B27/10Indexing; Addressing; Timing or synchronising; Measuring tape travel
    • G11B27/19Indexing; Addressing; Timing or synchronising; Measuring tape travel by using information detectable on the record carrier
    • G11B27/28Indexing; Addressing; Timing or synchronising; Measuring tape travel by using information detectable on the record carrier by using information signals recorded by the same method as the main recording
    • G11B27/32Indexing; Addressing; Timing or synchronising; Measuring tape travel by using information detectable on the record carrier by using information signals recorded by the same method as the main recording on separate auxiliary tracks of the same or an auxiliary record carrier
    • G11B27/327Table of contents
    • G11B27/329Table of contents on a disc [VTOC]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/60Network streaming of media packets
    • H04L65/61Network streaming of media packets for supporting one-way streaming services, e.g. Internet radio
    • H04L65/612Network streaming of media packets for supporting one-way streaming services, e.g. Internet radio for unicast
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/60Network streaming of media packets
    • H04L65/70Media network packetisation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/234Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs
    • H04N21/2343Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs involving reformatting operations of video signals for distribution or compliance with end-user requests or end-user device requirements
    • H04N21/23439Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs involving reformatting operations of video signals for distribution or compliance with end-user requests or end-user device requirements for generating different versions
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/24Monitoring of processes or resources, e.g. monitoring of server load, available bandwidth, upstream requests
    • H04N21/2402Monitoring of the downstream path of the transmission network, e.g. bandwidth available
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
    • H04N21/433Content storage operation, e.g. storage operation in response to a pause request, caching operations
    • H04N21/4334Recording operations
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/80Generation or processing of content or additional data by content creator independently of the distribution process; Content per se
    • H04N21/83Generation or processing of protective or descriptive data associated with content; Content structuring
    • H04N21/84Generation or processing of descriptive data, e.g. content descriptors
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/80Generation or processing of content or additional data by content creator independently of the distribution process; Content per se
    • H04N21/83Generation or processing of protective or descriptive data associated with content; Content structuring
    • H04N21/845Structuring of content, e.g. decomposing content into time segments
    • H04N21/8455Structuring of content, e.g. decomposing content into time segments involving pointers to the content, e.g. pointers to the I-frames of the video stream
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/80Generation or processing of content or additional data by content creator independently of the distribution process; Content per se
    • H04N21/83Generation or processing of protective or descriptive data associated with content; Content structuring
    • H04N21/845Structuring of content, e.g. decomposing content into time segments
    • H04N21/8456Structuring of content, e.g. decomposing content into time segments by decomposing the content in the time domain, e.g. in time segments
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/80Generation or processing of content or additional data by content creator independently of the distribution process; Content per se
    • H04N21/85Assembly of content; Generation of multimedia applications
    • H04N21/854Content authoring
    • H04N21/85406Content authoring involving a specific file format, e.g. MP4 format

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Databases & Information Systems (AREA)
  • Software Systems (AREA)
  • Data Mining & Analysis (AREA)
  • Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
  • Information Transfer Between Computers (AREA)
  • Television Signal Processing For Recording (AREA)
  • Signal Processing For Digital Recording And Reproducing (AREA)
  • Mobile Radio Communication Systems (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

適応的ストリーミングされるマルチメディア・ストリームのリプレイを可能にするための保存ファイルフォーマット、かような保存ファイルフォーマットを使用するクライアント装置、及びクライアント装置でマルチメディア・ストリームを保存する方法が開示され、サーバから受信されたフラグメントに、再生のためのメタ情報、及びフラグメントのリプレイのためのフラグメントアクセス・メタ情報を付け加えた保存ファイルフォーマットを利用してマルチメディア・ストリーム・ファイルを保存することによって、保存されたマルチメディアデータのリプレイを可能にする。

Description

本発明は、マルチメディアデータ・ストリーミングに係り、さらに具体的には、サーバから提供される適応的(adaptive)マルチメディア・ストリームの保存後、リプレイを支援するためのクライアント側での保存ファイルフォーマット、かような保存ファイルフォーマットを使用するクライアント装置、及びクライアント装置でマルチメディア・ストリームを保存する方法に関する。
最近、インターネットや移動通信網を介してマルチメディアデータを伝送するストリーミング・サービス(streaming service)が汎用されている。
ストリーミング・サービスは、ユーザの端末機にマルチメディアデータを保存せずに、再生(play)させるマルチメディア・サービスである。固定されたビットレートでデータを提供するストリーミング・サービスが利用されたが、最近では、ネットワーク環境によってビットレートが可変する適応的ストリーミング・サービスが使用されている。適応的ストリーミングのためには、サーバ側で、あらかじめ多様なビットレートのメディアストリームデータを準備しておき、ネットワーク環境またはクライアントの要請によって、ビットレートを変更してデータを伝送する。
適応的ストリーミング・サービスは、サーバとクライアントとの間で、チャンク(chunk)とも呼ばれるフラグメント単位のデータを送受信することによって遂行される。すなわち、サーバは、全体マルチメディアデータを数秒単位のフラグメント(fragment)で分けてクライアントに伝送し、クライアントは、かようなフラグメント単位のマルチメディアデータを受信して再生する。
適応的ストリーミング・サービスは、データ通信によるレイテンシ、クライアント側でのジッタ補償やマルチメディアデータの同期のためのバッファリング時間などの誤差を除き、ほぼリアルタイムでサーバ側から提供されるマルチメディア・サービスをクライアント側で再生すると仮定する。従って、クライアント側では、適応的ストリーミング・サービスによって提供されるマルチメディアデータを保存した後、リプレイが困難であるという問題点がある。
本発明が解決しようとする技術的課題は、適応的ストリーミングされるマルチメディア・ストリームのリプレイを可能にするための保存ファイルフォーマット、保存ファイルフォーマットを使用するクライアント装置、及びクライアント装置でマルチメディア・ストリームを保存する方法を提供することである。
また本発明の課題は、マルチメディア・ストリームデータを保存した後でリプレイするとき、さらに高品質データの再生を可能にするクライアント装置、及びクライアントでマルチメディア・ストリームを保存する方法を提供することである。
本発明の一実施形態によるマルチメディア・ストリーム・ファイルの保存方法は、マルチメディアデータを、互いに異なるビットレートでエンコーディングした複数レベルのトラックを含むマルチメディア・ストリーム・ファイルを提供するサーバから、前記マルチメディア・ストリーム・ファイルの再生のためのメタ情報を受信し、受信されたメタ情報を保存する段階と、前記マルチメディア・ストリーム・ファイルを構成するフラグメントを受信して保存する段階と、前記受信されたフラグメントのランダムアクセスのためのランダムアクセス情報を獲得する段階と、前記獲得されたランダムアクセス情報を利用し、前記保存されたフラグメントのリプレイのためのフラグメントアクセス・メタ情報を生成して保存する段階と、を含むことを特徴とする。
本発明の一実施形態によるマルチメディア・ストリーム・ファイルを提供されるクライアント装置は、サーバから提供される互いに異なるビットレートでエンコーディングした複数レベルのトラックを含むマルチメディア・ストリーム・ファイルを要請して受信する通信部と、前記通信部を介して受信されるマルチメディア・ストリーム・ファイルを構成するフラグメントを保存する保存部と、前記マルチメディア・ストリーム・ファイルを再生する再生部と、前記保存部に保存されたフラグメントのランダムアクセスのためのランダムアクセス情報を保存するフラグメントアクセス・データベースと、前記フラグメントアクセス・データベースを介して、前記マルチメディア・ストリーム・ファイルを構成するフラグメントの保存いかんを確認し、保存されていないフラグメントが受信されるように、前記通信部を制御するフラグメントアクセス管理部と、前記マルチメディア・ストリーム・ファイルの再生のためのメタ情報、及び前記保存されたフラグメントのリプレイのためのフラグメントアクセス・メタ情報を生成し、前記保存部に保存し、前記保存部に保存されたメタ情報、及びフラグメントアクセス・メタ情報を読み取るメタデータ入出力部と、を含むことを特徴とする。
本発明の一実施形態によるマルチメディア・ストリーム・ファイルの保存のための保存ファイルフォーマットは、ファイル類型を保存するファイル類型(ftyp)ボックスと、保存されるマルチメディア・ストリーム・ファイルの再生のためのメタ情報を保存するmoovボックスと、受信されたフラグメントのメタ情報を保存するフラグメントヘッダ情報ボックス、及び前記受信されたフラグメントのメディアデータを保存するメディアデータボックスを具備するフラグメントと、前記フラグメントのランダムアクセス及びリプレイのためのフラグメントアクセス・メタ情報であるmfraボックスと、を含む。
本発明によれば、適応的ストリーミング・サービスによって提供されるマルチメディアデータを保存してオフライン状態で再生可能にすることができる。
また本発明によれば、保存されたマルチメディア・ストリームデータの再生時、さらに高品質のマルチメディアデータ再生を可能にする。
本発明の一実施形態による適応的マルチメディア・ストリーミング・サービスを説明するための参照図である。 本発明の一実施形態によるマルチメディア・ストリームデータの保存ファイルフォーマットの構造図である。 図2のmoovボックスの具体的な構成を示した参照図である。 図2の各フラグメント別メタ情報を保存するフラグメントヘッダ情報ボックス(moof)の具体的な構成を示した参照図である。 図2のフラグメントアクセス・メタ情報であるmfraボックス(mfra:movie fragment random access)の具体的な構成を示した参照図である。 本発明の一実施形態によるクライアント装置の構成を示したブロック図である。 本発明の他の実施形態によるクライアント装置の動作を説明するための参照図である。 本発明の一実施形態によるマルチメディア・ストリーム・ファイルの保存方法を示したフローチャートである。 本発明の他の実施形態によるマルチメディア・ストリーム・ファイルの保存方法を示したフローチャートである。
以下、添付された図面を参照しつつ、本発明の具体的な実施形態について詳細に説明する。
図1は、本発明の一実施形態による適応的(adaptive)マルチメディア・ストリーミング・サービスについて説明するための参照図である。
図1を参照すれば、適応的マルチメディア・ストリーミング・サービスで、サーバ110は、マルチメディアデータを、互いに異なるビットレートを有するようにエンコーディングし、複数レベルのマルチメディア・ストリーム・ファイル140をあらかじめ準備し、ネットワーク120環境、またはクライアント130の要請によって、マルチメディア・ストリーム・ファイル140を構成する複数レベルのマルチメディアデータ141,142,143のうち、選択されたレベルのマルチメディアデータを構成するフラグメント(frag)をクライアント130に伝送する。マルチメディア・ストリーム・ファイル140を構成する各レベルのマルチメディアデータ141,142,143は、トラック(track)とも定義され、各トラックは、トラック識別子(track_ID)で区別されもする。マルチメディア・ストリーム・ファイル140を構成する各レベルのマルチメディアデータ141,142,143は、互いに異なる方式でエンコーディングされ、互いに異なるビットレートを有する。各レベルのマルチメディアデータ141,142,143は、ビットレート以外にも、解像度または利用されたコーデック別に区別されてもよい。
各レベルのマルチメディアデータ141,142,143は、数秒分量のマルチメディアデータに該当するフラグメントで構成される。互いに異なるレベルのフラグメントは、同一のマルチメディアデータを、互いに異なる方式でエンコーディングしたものであるから、互いに異なる大きさを有することになる。例えば、レベル1のマルチメディアデータ143を構成するフラグメントは、1Mbps、レベル2のマルチメディアデータ142を構成するフラグメントは、5Mbps、レベル3のマルチメディアデータ141を構成するフラグメントは、10Mbpsの互いに異なるビットレートを有することができる。前述のように、ネットワーク120環境、またはクライアント130の要請によって、マルチメディア・ストリーム・ファイル140を構成する複数レベルのマルチメディアデータ141,142,143のうち選択されたレベルのマルチメディアデータを構成するフラグメントが、クライアント130に伝送される。もしネットワーク120の帯域幅、またはクライアント130で利用可能なデータ帯域幅が、図面符号150に図示されたように変動される場合を仮定すれば、サーバ110は、帯域幅の変動に適するように利用可能な複数個のマルチメディアデータ141,142,143のうち、最大ビットレートを有するレベルのマルチメディアデータを構成するフラグメントを、クライアント130に伝送する。すなわち、現在帯域幅が良好な場合には、現在帯域幅で利用可能な最大ビットレートを有するフラグメントをストリーミングし、現在帯域幅が劣化された場合には、相対的に小さいビットレートを有するフラグメントをストリーミングすることによって、帯域幅に適応的にフラグメントを伝送する。言い替えれば、フラグメントのレベル及びビットレートは、利用可能な帯域幅の変化によって、伝送過程の間に変更されてもよい。
従来、マルチメディア・ストリーミング・サービスで、サーバ110は、クライアント130の要請によって要請されたフラグメント単位のデータを伝送し、クライアント130は、かような全体マルチメディア・ストリーム・ファイルのうち、一部分に該当するフラグメントを受信して再生する方式であるから、クライアント130でマルチメディア・ストリーミング・サービスされるマルチメディアデータをリプレイし難いという問題点がある。
従って、本発明では、リプレイのためのランダムアクセス情報、及び再生のためのメタ情報をフラグメントデータに付け加え、マルチメディア・ストリームデータを保存する保存ファイルフォーマット、保存ファイルフォーマットを使用するクライアント装置、及びクライアント装置でマルチメディア・ストリームを保存する方法を開示する。
図2は、本発明の一実施形態によるマルチメディア・ストリームデータの保存ファイルフォーマットの構造図である。
図2を参照すれば、本発明の一実施形態によるマルチメディア・ストリームデータの保存ファイルフォーマットは、ファイル類型を保存するファイル類型ボックス(ftyp:file type)210、保存されるマルチメディア・ストリーム・ファイルの再生のためのメタ情報を保存するmoovボックス(moov:movie meta data)(220)、複数個のフラグメント(fragment)230,240、及び保存されたフラグメントのランダムアクセス及びリプレイのためのフラグメントアクセス・メタ情報であるmfraボックス(mfra:movie fragment random access)250を含む。フラグメント230,240は、各フラグメント別メタ情報を保存するフラグメントヘッダ情報(moof:movie fragment metadata)ボックス231,241、及びメディアデータボックス(mdat)232,242を含む。また、図2では、moovボックス220が、ファイル類型ボックス210のすぐ後に位置する場合を図示しているが、ここに限定されるものではなく、moovボックス220は、最後のフラグメントと、mfraボックス250との間に位置することができる。その場合、moovボックス220は、メタ情報以外に、moovボックスの大きさを記述する情報を含んでもよい。
本発明について説明するにおいて、保存ファイルフォーマットは、MP4ファイルフォーマット標準による場合を中心に説明するが、本発明の詳細な説明を介して、本発明の思想は、かようなMP4ファイルフォーマット標準に限定されるものではなく、他の方式の伝送ファイルフォーマット標準に適用されるということを、本発明が属する技術分野で当業者であるならば、理解することができるであろう。
ファイル類型ボックス(ftyp)210は、保存されるマルチメディア・ストリーム・ファイルの類型を保存するボックスである。前述のように、MP4ファイルフォーマット標準による場合ファイル類型ボックス(ftyp)は、「m」「4」「d」「s」の値を有する。
図3は、図2のmoovボックス220の具体的な構成を示した参照図である。図3を参照すれば、moovボックス(moov)300は、サーバ側に設けた複数レベルのマルチメディアデータの各トラックを識別するためのトラック識別子(track_ID)情報、及び各トラックのコーデック情報を含むトラック情報310;及びフラグメントの長さ(segment duration)情報320;を含む。トラック情報310のトラック識別子(track_ID)を複数レベルのマルチメディアデータ別に固有に定義することによって、保存されるフラグメントがいかなるレベルのマルチメディアデータのうち一部であるかを確認することができる。このために、後述されるように、トラック識別子(track_ID)は、受信される各フラグメントのフラグメントヘッダ情報にも含まれ、各フラグメントが属したマルチメディアデータのレベルを確認させる。フラグメントの長さ情報320は、リプレイ時や再生時に、時間同期化を可能にするためのものである。
また、図3に図示されていないが、moovボックス300は、受信されたフラグメントが、サーバ側から提供されるマルチメディアデータファイルを基に、何番目のフラグメントであるかを示すセグメント・インデックス情報をさらに含んでもよい。かようなセグメント・インデックス情報は、所望するフラグメントの検索のために利用されてもよい。
RTSP(real time streaming protocol)基盤の適応的ストリーミングの場合、かようなメタ情報は、SDP(session description protocol)フォーマットを介して伝達され、HTTP(hypertext transfer protocol)基盤の適応的ストリーミングの場合mメタ情報は、マニフェストファイル(manifest file)のような別途のメタファイル形態でクライアントに伝達される。
図4は、図2の各フラグメント別メタ情報を保存するフラグメントヘッダ情報ボックス(moof)231,241の具体的な構成を示した参照図である。
図4を参照すれば、フラグメントヘッダ情報ボックス(moof)400は、フラグメントが受信される順に増加する値を有するように割り当てられるシーケンスナンバー(sequence number)410、及び受信されたフラグメントが属したマルチメディアデータのレベルを確認させるトラック識別子(track_ID)420を含む。前述の図3のトラック情報310のトラック識別子(track_ID)を介して、サーバから利用可能な各トラックの識別子を把握し、受信される各フラグメントごとに付加されたトラック識別子(track_ID)420を介して、各フラグメントが含まれたマルチメディアデータのレベルを確認することができる。シーケンスナンバー410は、受信される順序に各フラグメントに割り当てられ、保存されたフラグメントのランダムアクセス時に、所望するフラグメントを検索させる。かようなシーケンスナンバー410は、サーバ側で、現在フラグメントが全体フラグメントのうち何番目に該当するかを示すセグメント・インデックスと区別される。サーバから伝送されるフラグメントは、クライアントの要請による任意時刻のデータであるから、クライアント側で受信される順序と、実際にサーバ側で設けたマルチメディア・ストリームデータの構成順序は、違いが生じうる。例えば、図1のように、3つのレベルでエンコーディングされたマルチメディアデータ141,142,143は、それぞれセグメント・インデックスが同一である3個のフラグメントを有する。すなわち、図1で、レベル1,2,3のfrag n(nは、1以上の整数)は、全体マルチメディアデータのうちn番目のフラグメントであるということを示すものであり、レベル1,2,3のfrag nは、同一のセグメント・インデックスを有する。かようなセグメント・インデックスは、サーバ側では、全体マルチメディア・ストリームデータを分割し、各フラグメントごとに順次に割り当てられるものの、実際のストリーミング・サービス時には、かようなセグメント・インデックスの順序によってストリーミングされるのではなく、任意のフラグメントを要請してストリーミングされるから、クライアント側で受信されるフラグメントの順序と、サーバ側に設けられたマルチメディア・ストリームデータのセグメント・インデックス順序は、違いが生じうる。従って、クライアント側で受信されるフラグメントの順序を区別するために受信される順序として、シーケンスナンバー410が割り当てられ、各フラグメントのランダムアクセスのために、セグメント・インデックスとシーケンスナンバーとを利用して保存されたフラグメントのうち、所望するフラグメントを検索することができる。
かようなフラグメントヘッダ情報ボックス(moof)400と、実際のメディアデータであるmdatとが結合され、かような結合を介して再構成されたフラグメントは、受信されたフラグメントを保存する1つの単位を構成することになる。
図5は、図2のフラグメントアクセス・メタ情報であるmfraボックス(mfra:movie fragment random access)250の具体的な構成を示した参照図である。
図5を参照すれば、mfraボックス(mfra)500は、全体フラグメント個数情報510、フラグメント・ファイル・オフセット(offset)情報520、及び時間同期情報530を含む。
フラグメント・ファイル・オフセット情報520は、図2の保存ファイルフォーマットによるとき、保存ファイルの最初からフラグメントの保存位置を示す。かようなファイルオフセット情報520を利用し、最初のフラグメントの位置を判断することができる。時間同期情報530は、フラグメントに含まれたメディアデータ(mdat)の再生時、同期化(sync)のためのものである。
また、mfraボックス500は、図示された以外に、受信されたフラグメントを識別するためのセグメント・インデックス情報をさらに含んでもよい。前述のように、セグメント・インデックス情報は、各マルチメディア・ストリーム・ファイルのフラグメントが何番目フラグメントであるかを示すことにより、かようなセグメント・インデックス情報と、ファイルオフセット情報520とを利用し、所望するフラグメントの保存位置を決定することができる。セグメント・インデックス情報は、mfraボックス500に保存されず、図2のmoovボックス220に保存される。
mfraボックス(mfra)500は、MP4ファイルフォーマットのランダムアクセスのためのトラックフラグメント・ランダムアクセスボックス(tfra:track fragment random access)ボックス及びムービーフラグメント・ランダムアクセス・オフセット(mfro:movie fragment random access offset)ボックスの形態に具現されてもよい。
以下、図2ないし図5を介して説明された保存ファイルフォーマットを利用し、サーバからサービスされるマルチメディア・ストリームを保存するクライアント装置について説明する。
図6は、本発明の一実施形態によるクライアント装置の構成を示したブロック図である。図6を参照すれば、クライアント装置600は、再生部610、フラグメントアクセス管理部620、通信部630、フラグメントアクセス・データベース640、メタデータ入出力部650及び保存部660を含む。
再生部610は、マルチメディア・ストリーム・ファイルを再生するモジュールであり、ユーザ・インターフェースなどを介して、所定フレームのデータが要請された場合、フラグメントアクセス管理部620に、当該フレームのデータを構成するフラグメントの提供を要請する。このとき、再生部610は、互いに異なるビットレートでエンコーディングした複数レベルのトラックを含むマルチメディア・ストリーム・ファイルのうち、いかなるレベルのマルチメディア・ストリーム・ファイルが必要であるかに係わるレベル情報も、フラグメントアクセス管理部620に伝達することができる。
フラグメントアクセス管理部620は、再生部610の要請によって要請されたフレームのデータを含むフラグメントの保存いかんを、フラグメントアクセス・データベース640を介して確認する。もし要請されたフラグメントが保存されていない場合、フラグメントアクセス管理部620は、通信部630がサーバから当該フラグメントを受信するように制御し、すでに保存部660に要請されたフラグメントが保存されている場合、当該フラグメントを保存部660から読み取る。フラグメントアクセス管理部620は、フラグメント・パーザ(parser)の機能も行う。
保存部660は、図2に図示されたような保存ファイルフォーマットによって、サーバから受信されたフラグメントに、メタ情報に該当するmoovボックス、及びフラグメントアクセス・メタ情報に該当するmfraボックスが結合された形態の保存ファイルを保存する。
フラグメントアクセス・データベース640は、通信部630を介して受信し、保存部660に保存されたフラグメントの情報を保存するデータベースである。具体的には、フラグメントアクセス・データベース640は、図2で説明されたmoovボックス(moov)に含まれたメタ情報、及びmfraボックス(mfra)に含まれたフラグメントランダムアクセスメタ情報を含む。すなわち、フラグメントアクセス・データベース640は、保存部660に保存された各フラグメントのトラック識別子(track_ID)、セグメント・インデックス、シーケンスナンバー、開始時間、moofボックスのオフセット情報、全体フラグメント個数情報、フラグメントのオフセット、フラグメント内のメディアの開始地点、またはかような開始地点を計算することができる情報を含む。
通信部630は、フラグメントアクセス管理部620の制御によって、サーバにフラグメントを要請して受信する。具体的には、通信部630は、フラグメントアクセス管理部620で要請されたセグメント・インデックス、及び所望のレベル情報を入力され、当該フラグメントをサーバに要請する。このとき、通信部630は、ネットワークの状態、クライアント装置600内部の残存バッファ量、メモリのような可用リソースなどの情報を利用し、受信に適するレベルのフラグメントを判断し、サーバに要請することができる。例えば、フラグメントアクセス管理部620で、5Mbpsのビットレートを有するレベル2のマルチメディア・ストリームデータのうち、セグメント・インデックスが3であるフラグメントを要請した場合、通信部630は、サーバに、当該セグメント・インデックス及びレベル値を有するフラグメントを要請して受信する。もしネットワーク環境が劣悪であるか、クライアントの残存バッファ量などが不足し、5Mbpsのフラグメントを受信して処理することができない場合には、通信部630は、要請されたレベルより下位レベルであるレベル1の1Mbpsのフラグメントをサーバに要請することもできる。
メタデータ入出力部650は、マルチメディア・ストリーム・ファイルの再生のためのメタ情報に該当するmoovボックス(moov)、及び保存されたフラグメントのリプレイのためのフラグメントアクセス・メタ情報であるmfraボックス(mfra)を生成し、生成されたmoovボックス及びmfraボックスと、受信されたフラグメントとを結合し、図2に図示されたような保存ファイルフォーマットによって保存ファイルを生成し、保存部660に保存する。また、メタデータ入出力部650は、保存部660に保存されたメタ情報を抽出し、フラグメントアクセス・データベース640に伝達することによって、保存部660に保存されたファイルをロードするとき、フラグメントアクセス・データベース640の更新を可能にする。
以下、図6に図示されたクライアント装置の動作について具体的に説明する。
最初の動作時に、メタデータ入出力部650は、保存部660に保存されたファイルをロードし、フラグメントアクセス・データベース640を初期化する。具体的には、メタデータ入出力部650は、保存部660に保存された保存ファイルのmoovボックス(moov)及びmfraボックス(mfra)をロードし、フラグメントアクセス・データベース640に伝達し、フラグメントアクセス・データベース640は、伝達されたmfraボックスをパージングし、現在保存部660に保存された全体フラグメントの個数を獲得し、moovボックスをパージングし、レベル別トラック識別子(track_ID)や、各レベルのトラックを再生するために必要なコーデックなどの情報を獲得する。また、moovボックス(moov)及びmfraボックス(mfra)から得られたフラグメント個数と、レベル別トラック識別子情報とを利用し、現在時点でのシーケンスナンバーを設定する。例えば、現在まで受信されたシーケンスナンバーが10000であるならば、その後、通信部630を介して受信されるフラグメントには、10001からシーケンスナンバーが割り当てられるように、現在時点でのシーケンスナンバーを設定する必要がある。かようなシーケンスナンバーの初期設定を介して、追って受信されるフラグメントに重複されていないシーケンスナンバーが割り当てられてもよい。
再生部600で、フレームデータを要請したり、あるいは検索が要請された場合、フラグメントアクセス管理部620は、要請されたフラグメントが、保存部660に保存されているか否かをフラグメントアクセス・データベース640を介して判断する。
もし要請されたフラグメントが保存部660に保存されていない場合、フラグメントアクセス管理部620は、必要なフラグメントのセグメント・インデックスと、所望するレベル情報とを通信部630に伝達する。通信部630は、ネットワーク環境、クライアント装置600の残存バッファ量及び可用リソースに基ついて、サーバに適するレベルのフラグメントを要請して受信する。通信部630を介して受信が完了したフラグメントについて、メタデータ入出力部650は、シーケンスナンバー及びトラック識別子(track_ID)を付け加えてフラグメントを再構成し、保存部660に保存する。また、メタデータ入出力部650は、新たに受信が完了したフラグメントの情報に基づいて、保存部660に保存されたmoovボックス(moov)及びmfraボックス(mfra)の情報を更新する。もし図2に図示されたように、moovボックス(moov)がファイル類型ボックスの次に位置せずに、mfraボックス(mfra)のすぐ前に位置する場合、新たに受信されたフラグメントによって、既存のmoovボックスが書き換えられるから、その場合、新たにmoovボックスを生成し、生成されたmoovボックスを、新たに受信されたフラグメントの後に位置するように保存することができる。
また、メタデータ入出力部650は、新たに受信が完了したフラグメントの情報を、フラグメントアクセス・データベース640に伝達し、フラグメントアクセス・データベース640は、伝達した情報に基づいてデータベースを更新する。
フラグメントアクセス管理部620は、通信部630を介して要請されたフラグメントが受信された場合、受信されたフラグメントを再生部610に伝達する。
もし要請されたフラグメントが保存部660に保存されている場合であるならば、フラグメントアクセス管理部620は、必要なフラグメントを保存部660から読み取り、再生部610に伝達する。
かような本発明の一実施形態によるクライアント装置600は、フラグメント単位で伝送されたマルチメディア・ストリームに、メタ情報に該当するmoovボックス及びランダムアクセスのためのmfraボックスを付け加えて保存することによって、リプレイを可能にする。
以下、本発明の他の実施形態によるクライアント装置について説明する。
本発明の他の実施形態によるクライアント装置は、その動作においてのみ差があり、図6のクライアント装置と同一の構成を有する。
図7は、本発明の他の実施形態によるクライアント装置の動作について説明するための参照図である。図7を参照すれば、本発明の他の実施形態によるクライアント装置は、保存部660に保存されたフラグメント710のそれぞれのレベルと、受信可能なフラグメントのレベルとを比較し、さらに高品質のフラグメントを保存することによって、さらに高品質のマルチメディアデータのリプレイを可能にするためのものである。図7で、レベル1は、1Mbpsのビットレート、レベル2は、5Mbpsのビットレート、レベル3は、10Mbpsのビットレートを有し、利用可能な最大レベル値が3であるとするとき、本発明の他の実施形態によるクライアント装置は、各フラグメントをできる限り最大レベル値を有するフラグメントに保存されるようにすることを特徴とする。すなわち、図7に図示されたように、レベル1及び2の値を有する既存に保存されたfrag1 711、frag2 712及びfrag3 713について、高品質の同一のセグメント・インデックスを有するレベル3のfrag1 721、frag2 722及びfrag3 723をさらに受信して保存する。
具体的には、再生部600は、フレームデータを要請するとき、当該フラグメント・セグメント・インデックス情報以外に、所望するレベル値をフラグメントアクセス管理部620に伝達する。
フラグメントアクセス管理部620は、要請されたレベル値を有するセグメント・インデックスのフラグメントが、保存部660に保存されているか否かを判断する。具体的には、フラグメントアクセス管理部620は、現在保存部660に保存された当該セグメント・インデックスを有するフラグメントのうち、最高レベルのフラグメント情報を獲得し、現在保存部660に保存された当該セグメント・インデックスを有する最高レベルのフラグメントが要請されたレベル値による品質を満足するフラグメントであるか否かを判断する。もし保存部660に保存されたフラグメントが所望する品質のフラグメントである場合、フラグメントアクセス管理部620は、当該フラグメントを保存部660から読み取り、再生部610で伝達する。
もし保存部660に、当該セグメント・インデックスを有するフラグメントが保存されていないか、あるいは保存されたフラグメントが所望する品質のフラグメントではない場合、フラグメントアクセス管理部620は、必要なフラグメントのセグメント・インデックスと、所望するレベル情報とを通信部630に伝達する。フラグメントアクセス管理部620は、ネットワーク環境、クライアント装置600の残存バッファ量及び可用リソースに基づいて、現在利用可能な最高品質を有するレベルのフラグメントを要請して受信するように、通信部630を制御することができる。また、フラグメントアクセス管理部620は、現在利用可能な最高品質を有するレベルのフラグメントが新たに受信された場合、新たに受信されたフラグメントのレベル値と、既存に保存部660に保存されたフラグメントのレベルとを比較し、さらに高いレベル、すなわち、さらに高品質を有するフラグメントを再生部610に伝達することができる。また、フラグメントアクセス管理部620は、サーバから提供可能なフラグメントのレベルと、現在利用可能な最高品質を有するレベルとを比較し、ネットワーク環境やクライアント装置のリソース不足によって、現在利用可能なレベルが低い場合には、追ってネットワーク環境やクライアントのリソース不足が解決されたとき、当該フラグメントを受信するように、通信部630を制御することができる。
通信部630を介して受信が完了したフラグメントについて、メタデータ入出力部650は、シーケンスナンバー及びトラック識別子(track_ID)を付け加え、フラグメントを再構成し、保存部660に保存する。また、メタデータ入出力部650は、新たに受信が完了したフラグメントの情報に基づいて、保存部660に保存されたmoovボックス(moov)及びmfraボックス(mfra)の情報を更新する。
また、メタデータ入出力部650は、新たに受信が完了したフラグメントの情報をフラグメントアクセス・データベース640に伝達し、フラグメントアクセス・データベース640は、伝達した情報に基づいて、データベースを更新する。
フラグメントアクセス管理部620は、通信部630を介して、所望する品質のレベル値を有するフラグメントが受信された場合、受信されたフラグメントを再生部610に伝達する。
一方、かような高品質のフラグメントの受信動作は、バックグラウンド・モジュールを介して独立して遂行されもする。すなわち、クライアント装置600は、図示されていない別途のバックグラウンド・ダウンロード・モジュールを具備し、バックグラウンド・ダウンロード・モジュールを利用し、現在再生中のフラグメント後のセグメント・インデックスを有するフラグメントのうち、当該セグメント・インデックスを有するフラグメントが、保存部660に保存されていないか、あるいは保存されたフラグメントが、所望する品質以上のフラグメントではない場合、当該フラグメントをバックグラウンド動作を介して、サーバから受信して保存する。
図8は、本発明の一実施形態によるマルチメディア・ストリーム・ファイルの保存方法を示したフローチャートである。図8を参照すれば、段階810で、マルチメディアデータを、互いに異なるビットレートでエンコーディングした複数レベルのトラックを含むマルチメディア・ストリーム・ファイルを提供するサーバから、マルチメディア・ストリーム・ファイルの再生のためのメタ情報を受信し、受信されたメタ情報を保存する。前述のように、メタ情報は、複数レベルのトラックごとのトラック情報、コーデック情報及びフラグメント長さ情報を含む。
段階820で、マルチメディア・ストリーム・ファイルを構成するフラグメントを受信して保存する。具体的には、受信されたフラグメントのトラック情報、及びフラグメントが受信された順序に割り当てられたシーケンスナンバーを含むフラグメントヘッダ情報を生成し、受信されたフラグメントに含まれたマルチメディアデータと、フラグメントヘッダ情報とを結合して再構成されたフラグメントを保存する。
段階830で、受信されたフラグメントのランダムアクセスのためのランダムアクセス情報を獲得する。ランダムアクセス情報は、受信されたフラグメントを識別するためのセグメント・インデックス情報、受信された全体フラグメント個数情報及びマルチメディア時間同期情報であることが望ましい。
段階840で、獲得されたランダムアクセス情報を利用し、保存されたフラグメントをリプレイするためのフラグメントアクセス・メタ情報を生成して保存する。前述のようにフラグメントアクセス・メタ情報は、MP4ファイルフォーマットによるmfraボックスを利用して保存されてもよい。
図9は、本発明の他の実施形態によるマルチメディア・ストリーム・ファイルの保存方法を示したフローチャートである。図9を参照すれば、段階910で、フラグメントのセグメント・インデックスと、所望するレベル値とを利用し、クライアント装置に要するフラグメントの保存いかん確認を要請する。
段階920で、要請されたセグメント・インデックスを有するフラグメントが存在するか否かを判断し、段階920の判断結果、要請されたセグメント・インデックスを有するフラグメントが存在する場合、段階930で、当該フラグメントが、所望する品質のフラグメントであるか否かを判断する。もし要請されたセグメント・インデックスを有するフラグメントが、所望する品質も満足する場合には、段階935で、保存された当該フラグメントを提供する。
もし要請されたセグメント・インデックスを有するフラグメント、または所望する品質のフラグメントが存在しない場合には、段階940で、サーバに、要請されたセグメント・インデックスを有する所望するレベルのフラグメントを要請する。
段階950で、所望するレベルのフラグメントを受信し、段階960で、新たに受信されたフラグメントを利用し、フラグメントアクセス・メタ情報及び再生のためのメタ情報を更新する。すなわち、段階960で、新たに受信されたフラグメントを利用し、moovボックス及びmfraボックスを更新する。
本発明はまた、コンピュータで読み取り可能な記録媒体に、コンピュータで読み取り可能なコードとして具現することが可能である。コンピュータで読み取り可能な記録媒体は、コンピュータシステムによって読み取り可能なデータが保存されるすべての種類の記録装置を含む。コンピュータで読み取り可能な記録媒体の例としては、ROM(read-only memory)、RAM(random-access memory)、CD(compact disc)−ROM、磁気テープ、ハードディスク、フロッピー(登録商標)ディスク、フラッシュメモリ、光データ保存装置などがある。また、コンピュータで読み取り可能な記録媒体は、ネットワークに連結されたコンピュータシステムに分散され、分散方式でコンピュータで読み取り可能なコードとして保存されて実行されてもよい。
以上の説明は、本発明の一実施形態に過ぎず、本発明が属する技術分野で当業者であるならば、本発明の本質的特性から外れない範囲で変形された形態で具現することができるであろう。従って、本発明の範囲は、前述の実施形態に限定されるものではなく、特許請求の範囲に記載された内容と同等な範囲内にある多様な実施形態が含まれるものであると解釈されなければならないのである。

Claims (15)

  1. マルチメディア・ストリーム・ファイルの保存方法において、
    マルチメディアデータを、互いに異なるビットレートでエンコーディングした複数レベルのトラックを含むマルチメディア・ストリーム・ファイルを提供するサーバから、前記マルチメディア・ストリーム・ファイルの再生のためのメタ情報を受信し、受信されたメタ情報を保存する段階と、
    前記マルチメディア・ストリーム・ファイルを構成するフラグメントを受信して保存する段階と、
    前記受信されたフラグメントのランダムアクセスのためのランダムアクセス情報を獲得する段階と、
    前記獲得されたランダムアクセス情報に基づいて、前記保存されたフラグメントのリプレイのためのフラグメントアクセス・メタ情報を生成して保存する段階と、を含むことを特徴とするマルチメディア・ストリーム・ファイルの保存方法。
  2. 前記フラグメントは、1レベルのトラックのマルチメディアデータのうち一部であり、
    ネットワーク環境またはクライアントの要請によって、前記複数レベルのトラックのうち、少なくとも1つのフラグメントのトラックのレベルを選択する段階をさらに含むことを特徴とする請求項1に記載のマルチメディア・ストリーム・ファイルの保存方法。
  3. 前記メタ情報は、
    前記複数レベルのトラックごとのトラック情報、コーデック情報及びフラグメントの長さ情報を含むことを特徴とする請求項1に記載のマルチメディア・ストリーム・ファイルの保存方法。
  4. 前記フラグメントを受信して保存する段階は、
    前記受信されたフラグメントのトラック情報、及び前記フラグメントが受信された順序に割り当てられたシーケンスナンバーを含むフラグメントヘッダ情報を生成する段階と、
    前記受信されたフラグメントに含まれたマルチメディアデータと、前記フラグメントヘッダ情報とを結合して再構成されたフラグメントを保存する段階と、を含むことを特徴とする請求項1に記載のマルチメディア・ストリーム・ファイルの保存方法。
  5. 前記ランダムアクセス情報を獲得する段階は、
    前記マルチメディア・ストリーム・ファイルを構成するフラグメントのうち、前記受信されたフラグメントを識別するためのセグメント・インデックス情報、受信された全体フラグメント個数情報、及びマルチメディア時間同期情報を獲得することを特徴とする請求項1に記載のマルチメディア・ストリーム・ファイルの保存方法。
  6. 前記保存されたフラグメントのレベルと、利用可能な前記フラグメントのレベルとを比較する段階と、
    前記保存されたフラグメントのレベルよりさらに高いレベルのフラグメントが利用可能である場合、前記サーバに、前記さらに高いレベルのフラグメントを要請する段階と、
    前記さらに高いレベルのフラグメントを受信して保存する段階と、
    前記受信されたさらに高いレベルのフラグメントのランダムアクセス情報を獲得し、前記獲得されたさらに高いレベルのフラグメントのランダムアクセス情報を利用し、前記フラグメントアクセス・メタ情報を更新する段階と、をさらに含むことを特徴とする請求項1に記載のマルチメディア・ストリーム・ファイルの保存方法。
  7. 前記保存されたフラグメントのレベルが、所定ビットレート以上のレベル値を有するか否かを判断する段階と、
    前記保存されたフラグメントのレベルが、前記所定ビットレート以上のレベル値を有することができない場合、前記サーバに、前記所定ビットレート以上のレベル値を有するフラグメントを要請する段階と、
    前記所定ビットレート以上のレベル値を有するフラグメントを受信して保存する段階と、
    前記受信された所定ビットレート以上のレベル値を有するフラグメントのランダムアクセス情報を獲得し、前記所定ビットレート以上のレベル値を有するフラグメントのランダムアクセス情報を利用し、前記フラグメントアクセス・メタ情報を更新する段階と、をさらに含むことを特徴とする請求項1に記載のマルチメディア・ストリーム・ファイルの保存方法。
  8. マルチメディア・ストリーム・ファイルを提供されるクライアント装置において、
    サーバから提供される互いに異なるビットレートでエンコーディングした複数レベルのトラックを含むマルチメディア・ストリーム・ファイルを要請して受信する通信部と、
    前記通信部を介して受信されるマルチメディア・ストリーム・ファイルを構成するフラグメントを保存する保存部と、
    前記マルチメディア・ストリーム・ファイルを再生する再生部と、
    前記保存部に保存されたフラグメントのランダムアクセスのためのランダムアクセス情報を保存するフラグメントアクセス・データベースと、
    前記フラグメントアクセス・データベースに保存されたランダムアクセス情報に基づいて、前記マルチメディア・ストリーム・ファイルを構成するフラグメントの保存いかんを決定し、保存されていないフラグメントが受信されるように、前記通信部を制御するフラグメントアクセス管理部と、
    前記マルチメディア・ストリーム・ファイルの再生のためのメタ情報、及び前記保存されたフラグメントのリプレイのためのフラグメントアクセス・メタ情報を生成し、前記保存部に保存し、前記保存部に保存されたメタ情報、及びフラグメントアクセス・メタ情報を読み取るメタデータ入出力部と、を含むことを特徴とするクライアント装置。
  9. 前記フラグメントは、前記複数レベルのトラックのうち、ネットワーク環境またはクライアントの要請によって選択されたレベルのトラックのマルチメディアデータのうち、一部であることを特徴とする請求項8に記載のクライアント装置。
  10. 前記メタ情報は、
    前記複数レベルのトラックごとのトラック情報、コーデック情報及びフラグメントの長さ情報を含むことを特徴とする請求項8に記載のクライアント装置。
  11. 前記メタデータ入出力部は、
    前記受信されたフラグメントのトラック情報、及び前記フラグメントが受信された順序に割り当てられたシーケンスナンバーを含むフラグメントヘッダ情報を生成し、
    前記保存部は、前記受信されたフラグメントに含まれたマルチメディアデータと、前記フラグメントヘッダ情報とを結合して再構成されたフラグメントを保存することを特徴とする請求項8に記載のクライアント装置。
  12. 前記ランダムアクセス情報は、
    前記マルチメディア・ストリーム・ファイルを構成するフラグメントのうち、前記受信されたフラグメントを識別するためのセグメント・インデックス情報、受信された全体フラグメント個数情報、及びマルチメディア時間同期情報を含むことを特徴とする請求項8に記載のクライアント装置。
  13. 前記フラグメントアクセス管理部は、前記保存されたフラグメントのレベルと、利用可能な前記フラグメントのレベルとを比較し、前記保存されたフラグメントのレベルよりさらに高いレベルのフラグメントが利用可能である場合、前記サーバに、前記さらに高いレベルのフラグメントを要請するように、前記通信部を制御することを特徴とする請求項8に記載のクライアント装置。
  14. 前記さらに高いレベルのフラグメントを受信された場合、前記フラグメントアクセス・データベースは、前記受信されたさらに高いレベルのフラグメントのランダムアクセス情報を利用し、前記フラグメントアクセス・メタ情報を更新することを特徴とする請求項13に記載のクライアント装置。
  15. 前記フラグメントアクセス管理部は、前記保存されたフラグメントのレベルが、所定ビットレート以上のレベル値を有するか否かを判断し、前記保存されたフラグメントのレベルが、前記所定ビットレート以上のレベル値を有することができない場合、前記サーバに、前記所定ビットレート以上のレベル値を有するフラグメントを要請するように、前記通信部を制御することを特徴とする請求項8に記載のクライアント装置。
JP2013515275A 2010-06-18 2011-06-20 マルチメディア・ストリーム・ファイルの保存ファイルフォーマット、保存方法及びそれを利用したクライアント装置 Expired - Fee Related JP5876480B2 (ja)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
US35610710P 2010-06-18 2010-06-18
US61/356,107 2010-06-18
KR1020100092508A KR101702562B1 (ko) 2010-06-18 2010-09-20 멀티미디어 스트림 파일의 저장 파일 포맷, 저장 방법 및 이를 이용한 클라이언트 장치
KR10-2010-0092508 2010-09-20
PCT/KR2011/004489 WO2011159140A2 (en) 2010-06-18 2011-06-20 Storage file format for multimedia streaming file, and storage method and client apparatus using the same

Publications (2)

Publication Number Publication Date
JP2013536537A true JP2013536537A (ja) 2013-09-19
JP5876480B2 JP5876480B2 (ja) 2016-03-02

Family

ID=45504178

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2013515275A Expired - Fee Related JP5876480B2 (ja) 2010-06-18 2011-06-20 マルチメディア・ストリーム・ファイルの保存ファイルフォーマット、保存方法及びそれを利用したクライアント装置

Country Status (6)

Country Link
US (1) US9071884B2 (ja)
EP (1) EP2583279B1 (ja)
JP (1) JP5876480B2 (ja)
KR (1) KR101702562B1 (ja)
CN (1) CN103069492B (ja)
WO (1) WO2011159140A2 (ja)

Families Citing this family (26)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101478173B1 (ko) 2007-08-29 2014-12-31 삼성전자주식회사 외부기기 연결 방법 및 이를 적용한 멀티미디어 재생장치
CN102291373B (zh) 2010-06-15 2016-08-31 华为技术有限公司 元数据文件的更新方法、装置和***
KR101705813B1 (ko) * 2010-06-23 2017-02-10 삼성전자주식회사 무선 통신 시스템에서 멀티미디어 컨텐츠의 랜덤 액세스 방법 및 장치
US20130173760A1 (en) * 2010-09-20 2013-07-04 Humax Co., Ltd. Processing method to be implemented upon the occurrence of an expression switch in http streaming
US8976814B2 (en) * 2011-12-09 2015-03-10 General Electric Company Method of transporting data from sending node to destination node
US9219929B2 (en) * 2012-02-27 2015-12-22 Fritz Barnes Enhanced startup and channel change for fragmented media stream delivery
WO2013166089A1 (en) * 2012-05-01 2013-11-07 Thomson Licensing System and method for content download
GB2505486B (en) * 2012-08-31 2016-01-06 Samsung Electronics Co Ltd Streaming media
WO2014054925A1 (en) * 2012-10-04 2014-04-10 Samsung Electronics Co., Ltd. Apparatus for reproducing recording medium and method thereof
KR101973724B1 (ko) * 2012-10-10 2019-04-30 에스케이텔레콤 주식회사 동영상 서비스 장치 및 동영상 서비스 방법
JP6498882B2 (ja) * 2013-07-22 2019-04-10 パナソニック インテレクチュアル プロパティ コーポレーション オブ アメリカPanasonic Intellectual Property Corporation of America 蓄積方法、再生方法、蓄積装置、および再生装置
JP2015043484A (ja) * 2013-08-26 2015-03-05 ソニー株式会社 コンテンツ供給装置、コンテンツ供給方法、プログラム、端末装置、およびコンテンツ供給システム
WO2015033629A1 (ja) * 2013-09-03 2015-03-12 ソニー株式会社 送信装置、中継装置及び受信装置
US9576000B2 (en) 2014-04-25 2017-02-21 International Business Machines Corporation Adaptive fragment assignment for processing file data in a database
US10033824B2 (en) * 2014-06-30 2018-07-24 Samsung Electronics Co., Ltd. Cache manifest for efficient peer assisted streaming
KR101563461B1 (ko) 2015-03-24 2015-10-26 주식회사 티맥스데이터 데이터베이스 보안 관리를 위한 방법, 서버 및 컴퓨터-프로그램
KR101613146B1 (ko) 2015-03-24 2016-04-18 주식회사 티맥스데이터 데이터베이스 암호화 방법
CN105979274B (zh) * 2016-05-06 2019-02-22 上海交通大学 动态自适应视频流媒体的分布式缓存放置方法
KR101751970B1 (ko) 2016-06-20 2017-07-03 주식회사 티맥스데이터 쿼리를 실행하기 위한 방법, 장치 및 컴퓨터 판독가능 매체
KR101747265B1 (ko) 2016-06-20 2017-06-15 주식회사 티맥스데이터 쿼리를 실행하기 위한 방법, 장치 및 컴퓨터 판독가능 매체
CN106254561B (zh) * 2016-10-12 2019-12-17 上海安馨信息科技有限公司 一种网络资源文件的实时离线下载方法及***
JP6400163B2 (ja) * 2017-08-09 2018-10-03 キヤノン株式会社 受信装置、受信方法、送信装置、送信方法、及びプログラム
WO2019098054A1 (ja) * 2017-11-17 2019-05-23 ソニー株式会社 情報処理装置、情報処理方法、記録媒体、再生装置、再生方法、およびプログラム
CN108810468B (zh) * 2018-06-11 2020-06-16 哈尔滨工程大学 一种优化显示效果的视频传输装置及方法
JP7373581B2 (ja) * 2019-03-14 2023-11-02 ノキア テクノロジーズ オサケユイチア メディアコンテンツにおけるレイトバインディングのための方法および装置
US11509949B2 (en) * 2019-09-13 2022-11-22 Disney Enterprises, Inc. Packager for segmenter fluidity

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008504750A (ja) * 2004-06-27 2008-02-14 アップル インコーポレイテッド マルチパスのビデオ符号化
WO2010117316A1 (en) * 2009-04-09 2010-10-14 Telefonaktiebolaget L M Ericsson (Publ) Methods and arrangements for creating and handling media files
WO2011038013A2 (en) * 2009-09-22 2011-03-31 Qualcomm Incorporated Enhanced block-request streaming system using signaling or block creation
JP2011087103A (ja) * 2009-10-15 2011-04-28 Sony Corp コンテンツ再生システム、コンテンツ再生装置、プログラム、コンテンツ再生方法、およびコンテンツサーバを提供

Family Cites Families (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2002009331A2 (en) 2000-07-20 2002-01-31 Thomson Licensing S.A. Multi-media jitter removal in an asynchronous digital home network
US7509393B2 (en) * 2001-12-19 2009-03-24 International Business Machines Corporation Method and system for caching role-specific fragments
US7499446B1 (en) 2002-04-29 2009-03-03 Cisco Technology, Inc. Removing jitter in RTP streaming media streams
JP4040426B2 (ja) * 2002-10-18 2008-01-30 富士通株式会社 データ送信装置
EP1579651A1 (en) 2002-12-20 2005-09-28 Koninklijke Philips Electronics N.V. Multi-track hinting for receiver-driven streaming system
KR100492567B1 (ko) 2003-05-13 2005-06-03 엘지전자 주식회사 이동통신 시스템의 http 기반 비디오 스트리밍 장치및 방법
JP4156568B2 (ja) * 2004-06-21 2008-09-24 富士通株式会社 通信システムの制御方法、通信制御装置、プログラム
US8406293B2 (en) 2004-06-27 2013-03-26 Apple Inc. Multi-pass video encoding based on different quantization parameters
EP1638333A1 (en) * 2004-09-17 2006-03-22 Mitsubishi Electric Information Technology Centre Europe B.V. Rate adaptive video coding
AU2007253824A1 (en) 2006-05-19 2007-11-29 Symmetricom, Inc. Network time protocol precision timestamping service
KR101298640B1 (ko) 2006-09-22 2013-09-16 삼성전자주식회사 전송 스트림 패킷을 전송하는 방법 및 장치
US7986622B2 (en) * 2006-10-24 2011-07-26 Broadcom Corporation Method and system for physical layer aggregation
US7925774B2 (en) * 2008-05-30 2011-04-12 Microsoft Corporation Media streaming using an index file
US8542706B2 (en) * 2008-12-08 2013-09-24 Qualcomm Incorporated Method and apparatus related to packet fragmentation and reconstruction
US9237387B2 (en) * 2009-10-06 2016-01-12 Microsoft Technology Licensing, Llc Low latency cacheable media streaming
WO2011056139A1 (en) * 2009-11-06 2011-05-12 Telefonaktiebolaget L M Ericsson (Publ). File format for synchronized media
US10003851B2 (en) * 2009-11-24 2018-06-19 Imagine Communications Corp. Managed multiplexing of video in an adaptive bit rate environment
EP2510669A4 (en) * 2009-12-11 2013-09-18 Nokia Corp DEVICE AND METHODS FOR DESCRIBING SYNCHRONIZATION REPRESENTATIONS IN CONTINUOUSLY TRANSMITTED MULTIMEDIA FILES
US9456015B2 (en) * 2010-08-10 2016-09-27 Qualcomm Incorporated Representation groups for network streaming of coded multimedia data

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008504750A (ja) * 2004-06-27 2008-02-14 アップル インコーポレイテッド マルチパスのビデオ符号化
WO2010117316A1 (en) * 2009-04-09 2010-10-14 Telefonaktiebolaget L M Ericsson (Publ) Methods and arrangements for creating and handling media files
WO2011038013A2 (en) * 2009-09-22 2011-03-31 Qualcomm Incorporated Enhanced block-request streaming system using signaling or block creation
JP2011087103A (ja) * 2009-10-15 2011-04-28 Sony Corp コンテンツ再生システム、コンテンツ再生装置、プログラム、コンテンツ再生方法、およびコンテンツサーバを提供

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
ALEX ZAMBELLI: ""IIS Smooth Streaming Technical Overview"", [ONLINE], JPN6014053739, March 2009 (2009-03-01), pages 1 - 17, ISSN: 0002969244 *

Also Published As

Publication number Publication date
US9071884B2 (en) 2015-06-30
WO2011159140A2 (en) 2011-12-22
CN103069492A (zh) 2013-04-24
EP2583279A4 (en) 2014-08-06
KR101702562B1 (ko) 2017-02-03
EP2583279B1 (en) 2019-07-31
WO2011159140A3 (en) 2012-02-16
KR20110138134A (ko) 2011-12-26
CN103069492B (zh) 2016-08-10
US20110314174A1 (en) 2011-12-22
JP5876480B2 (ja) 2016-03-02
EP2583279A2 (en) 2013-04-24

Similar Documents

Publication Publication Date Title
JP5876480B2 (ja) マルチメディア・ストリーム・ファイルの保存ファイルフォーマット、保存方法及びそれを利用したクライアント装置
US10645429B2 (en) Systems and methods for encoding and streaming video encoded using a plurality of maximum bitrate levels
KR101868280B1 (ko) 정보 처리 장치, 정보 처리 방법 및 컴퓨터 판독 가능한 기록 매체
US10459943B2 (en) System and method for splicing media files
KR101903352B1 (ko) 상부 레벨 인덱스 파일들을 자동적으로 생성하기 위한 시스템들 및 방법들
US8874779B2 (en) Method and apparatus for retrieving and rendering live streaming data
US8516144B2 (en) Startup bitrate in adaptive bitrate streaming
JP5497919B2 (ja) ファイルフォーマットベースの適応的ストリーム生成、再生方法及び装置とその記録媒体
US9521469B2 (en) Carriage of quality information of content in media formats
WO2014011848A2 (en) Signaling and processing content with variable bitrates for adaptive streaming
JP2014197879A (ja) プログレッシブ再生を含む映像分配システム
CA2784233A1 (en) Methods and arrangements for http media stream distribution
KR20120114016A (ko) 사용자 컨텐츠를 외부 단말기에서 네트워크 적응적으로 스트리밍하는 방법 및 장치
WO2014112186A1 (ja) コンテンツサーバおよびコンテンツ配信方法
JP4689996B2 (ja) マルチメディアコンテンツの高速ダウンロードサービス装置及びその方法
JP6258168B2 (ja) 配信装置、再生装置および配信システム
US20130124699A1 (en) Apparatus and method for transceiving a streaming service
US20160173551A1 (en) System and method for session mobility for adaptive bitrate streaming
JP2011180810A (ja) コンテンツ配信システム、コンテンツ配信方法、コンテンツ配信装置、コンテンツ計測装置、及びプログラム
KR20220012740A (ko) 통신 시스템에서 컨텐츠의 송수신을 제어하기 위한 방법 및 장치
JP2023004668A (ja) 配信装置、配信方法及び配信プログラム

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20140618

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20141224

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20150811

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20151111

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20151222

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20160121

R150 Certificate of patent or registration of utility model

Ref document number: 5876480

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

LAPS Cancellation because of no payment of annual fees