JP2010087546A - 電子機器、コンテンツ再生方法及びプログラム - Google Patents

電子機器、コンテンツ再生方法及びプログラム Download PDF

Info

Publication number
JP2010087546A
JP2010087546A JP2008250879A JP2008250879A JP2010087546A JP 2010087546 A JP2010087546 A JP 2010087546A JP 2008250879 A JP2008250879 A JP 2008250879A JP 2008250879 A JP2008250879 A JP 2008250879A JP 2010087546 A JP2010087546 A JP 2010087546A
Authority
JP
Japan
Prior art keywords
data
reproduction
received
resume
request
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
JP2008250879A
Other languages
English (en)
Other versions
JP4735697B2 (ja
Inventor
Shinya Masunaga
慎哉 桝永
Masham Samuel
マシャム サミュエル
Tomoaki Takemura
知昭 武村
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.)
Sony Corp
Original Assignee
Sony Corp
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 Sony Corp filed Critical Sony Corp
Priority to JP2008250879A priority Critical patent/JP4735697B2/ja
Priority to US12/564,102 priority patent/US8190762B2/en
Priority to CN2009101745415A priority patent/CN101715046B/zh
Publication of JP2010087546A publication Critical patent/JP2010087546A/ja
Application granted granted Critical
Publication of JP4735697B2 publication Critical patent/JP4735697B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • 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/23406Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs involving management of server-side video buffer
    • 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/238Interfacing the downstream path of the transmission network, e.g. adapting the transmission rate of a video stream to network bandwidth; Processing of multiplex streams
    • H04N21/2387Stream processing in response to a playback request from an end-user, e.g. for trick-play
    • 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/44Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream or rendering scenes according to encoded video stream scene graphs
    • H04N21/44004Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream or rendering scenes according to encoded video stream scene graphs involving video buffer management, e.g. video decoder buffer or video display buffer
    • 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N7/00Television systems
    • H04N7/16Analogue secrecy systems; Analogue subscription systems
    • H04N7/173Analogue secrecy systems; Analogue subscription systems with two-way working, e.g. subscriber sending a programme selection signal
    • H04N7/17309Transmission or handling of upstream communications
    • H04N7/17318Direct or substantially direct transmission and handling of requests

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
  • Television Signal Processing For Recording (AREA)

Abstract

【課題】バッファのオーバーフローを起こすことなく、一時停止されたストリーミングデータの再生を円滑に再開すること。
【解決手段】TV100のRTP処理部221は、コンテンツの再生の一時停止操作時における受信バッファの先頭のデータ、一時停止操作時にサーバ200から受信されたデータ、再生再開操作前に最後に受信されたデータ、再生再開後に最初に受信されたデータの各タイムスタンプTo、Tp、Tl及びTrを定義し、Trが、To、Tp及びTlと比較してどの位置にあるかに応じて、再生再開後の受信データと受信バッファ内とにおける重複データを受信バッファから削除し、デコード再開のタイミングを決定する。
【選択図】図9

Description

本発明は、ネットワークを介してコンテンツをストリーミング再生することが可能な電子機器、当該電子機器におけるコンテンツ再生方法及びプログラムに関する。
近年、ネットワークのブロードバンド化とともに、ネットワークを経由して動画コンテンツを再生する需要が高まっており、それに関連して様々な規格の策定やサービスの提供が行われている。
このようなサービスの方式としては、ダウンロード方式とストリーミング方式とが存在する。このうちストリーミング方式は、サーバが、オンデマンド形式で受信装置にコンテンツのストリーミングデータを送信しながら、受信装置が、受信済みのストリーミングデータに基づいてコンテンツを再生する方式である。この場合、ユーザは受信装置を介してコンテンツの早送り、一時停止、変速再生等のトリックプレイをサーバに要求することができる。
受信装置がストリーミング方式でコンテンツを再生する場合、サーバと受信装置との間でパケットの送受信によってリクエストやデータをやり取りする必要がある。このため、一般的にそのネットワーク環境に応じた伝播遅延が発生する。したがって、受信装置側でユーザ操作によりリクエストを行った画面と、実際にサーバから送信されたデータとの間には、無視できないずれが発生する。
このような問題に関連して、下記特許文献1には、ストリーミングデータの切り替え要求の操作が行われたことが検出された場合に、バッファに蓄積されているストリーミングデータを早送りすることで、データ遅延の減少を図った受信装置が記載されている。ここでいうストリーミングデータの切り替え要求の操作とは、例えばストリーミングデータを送信する機器切り替え、チャンネルの切り替え、コンテンツの巻き戻し、早送り、一時停止、停止等の操作である。
特開2008−022507号公報
ところで、サーバが受信装置へ送信するデータは、伝送プロトコルとしてRTP(Real-time Transport Protocol)を用いる場合、意味のある映像データとして処理が可能なGOP(Group Of Picture)単位で送信されるのが一般的である。このため、受信装置がコンテンツ再生の一時停止処理及び再開(レジューム再生)処理を行う際、ユーザ操作により一時停止が要求されたデータ位置がGOPの途中に位置する場合には、再生再開時には、サーバはそのGOPの先頭からデータを送信する。すなわち、受信装置において一時停止が要求されたデータ位置と、再生再開後に受信装置へサーバから送信されるデータ位置とが一致している保証がない。したがって、受信装置がサーバから送信されてくるデータをそのまま処理すると、再生再開時に、コンテンツの巻き戻りやスキップが発生し、それに付随した画像の乱れが生じるという問題がある。この問題は、上記特許文献1に記載の技術によっても解決できない。
そこで、受信装置が再生再開時に、一時停止後にバッファに蓄積されたデータを用いて再生を行うことも考えられる。しかし、この場合、一時停止時にネットワークに滞留していたデータがバッファに余分に蓄積されることが考えられるため、一時停止処理及び再開処理の繰り返しによって、バッファのオーバーフローが起こる可能性がある。
以上のような事情に鑑み、本発明の目的は、バッファのオーバーフローを起こすことなく、一時停止されたストリーミングデータの再生を円滑に再開することが可能な電子機器、当該電子機器におけるコンテンツ再生方法及びプログラムを提供することにある。
上述の課題を解決するため、本発明の一の形態に係る電子機器は、受信手段と、バッファリング手段と、再生手段と、操作受付手段と、送信手段と、制御手段とを有する。
上記受信手段は、送信装置からストリーミング送信されたコンテンツのデータを受信する。
上記バッファリング手段は、上記受信されたデータをバッファリングする。
上記再生手段は、上記バッファリングされたデータを順次読み出して再生する。
上記操作受付手段は、上記データの再生の一時停止操作及び再開操作を受け付ける。
上記送信手段は、上記一時停止操作及び再開操作に応じて、上記送信装置へ上記再生の一時停止要求及び再開要求を送信する。
上記制御手段は、上記バッファリング手段によりバッファリングされているデータのうち上記再開要求後に受信されたデータと重複するデータを破棄するように上記バッファリング手段を制御する。また上記制御手段は、上記再開要求後に受信された上記破棄されたデータをバッファリングするように上記バッファリング手段を制御する。
ここで電子機器とは、例えばテレビ受像機、HDD(Hard Disk Drive)/BD(Blu-ray Disc)/DVDレコーダ等の再生装置、PC、ゲーム機器、携帯型AV機器、携帯電話機、カーナビゲーション装置等である。データの再生は、デコード処理及びデコードされたデータの出力処理を含む。
この構成により、バッファリングされているデータのうち、再開要求後に受信されたデータと重複するデータが破棄されるため、一時停止時のデータと再開時のデータとの連続性が保証され、一時停止後のコンテンツの再生が円滑に再開される。それとともに、破棄されたデータに換わり再開要求後に受信されたデータが新たにバッファリングされるため、バッファリング手段にオーバーフローが生じることが防止される。
上記電子機器において、上記制御手段は、上記一時停止操作時に受信されたデータの、上記コンテンツの再生時間軸上における第1の位置と、上記再開操作後に最初に受信されたデータの上記再生時間軸上における第2の位置とを検出してもよい。上記第2の位置が上記第1の位置よりも前である場合、制御手段は、上記バッファリングされている上記第2の位置から上記第1の位置までの間のデータを破棄するように上記バッファリング手段を制御してもよい。また制御手段は、上記破棄後に受信された上記第2の位置から上記第1の位置までのデータをバッファリングするように上記バッファリング手段を制御してもよい。
この場合、上記制御手段は、上記破棄後に受信された上記第2の位置から上記第1の位置までのデータがバッファリングされたときに上記再生を再開するように上記再生手段を制御してもよい。
これにより、制御手段は、上記第1の位置及び第2の位置を検出することで、既にバッファリングされているデータと、再生再開後に受信されたデータとの重複関係を把握することができる。第1の位置から第2の位置までのデータがバッファリング手段から破棄された上で、新たに受信された第2の位置以降のデータがバッファリングされるため、バッファリングされるデータ量が一定に保たれる。したがって電子機器は、バッファリング手段のオーバーフロー及びアンダーフローを防ぐことができる。上記第1及び第2の位置は、例えばデータパケット内に含まれるタイムスタンプにより把握されるが、それ以外の情報を基に把握されてもよい。
上記電子機器において、上記制御手段は、上記一時停止操作時に上記バッファリング手段にバッファリングされているデータのうち最初に受信されたデータの上記再生時間軸上における第3の位置を検出してもよい。上記第2の位置が上記第3の位置よりも前である場合、制御手段は、上記バッファリングされている上記第3の位置から上記第1の位置までのデータと、上記受信された上記第3の位置より前のデータとを破棄するように上記バッファリング手段を制御してもよい。また制御手段は、上記破棄後に受信された上記第3の位置から上記第1の位置までのデータをバッファリングするように上記バッファリング手段を制御してもよい。
この場合、上記制御手段は、上記破棄後に受信された上記第3の位置から上記第1の位置までのデータがバッファリングされたときに上記再生を再開するように上記再生手段を制御してもよい。
これにより、制御手段は、上記第3の位置を検出し、当該第3の位置と第2の位置とを比較することで、再生再開後の受信データがバッファリングされていない場合を把握できる。この場合とは、すなわち当該データが再生手段に既に読み出されている場合である。この場合、バッファリング手段はバッファリングしているデータを全て破棄し、さらに第3の位置のデータを受信するまで受信データを破棄する。またバッファリング手段は、第3の位置から第1の位置までの受信データをバッファリングする。したがって、電子機器は、再生再開後の最初の受信データが既に再生手段に読み出されている場合でも、受信データを破棄し、第1の位置までの受信データを再度バッファリングすることで、オーバーフローを防ぎながら円滑に再生を再開できる。
上記電子機器において、上記制御手段は、上記一時停止操作後かつ上記再開操作前に最後に受信されたデータの上記再生時間軸上における第4の位置を検出してもよい。上記第2の位置が上記第1の位置と上記第4の位置との間である場合、制御手段は、上記バッファリングされている上記第2の位置から上記第4の位置までのデータを破棄するように上記バッファリング手段を制御してもよい。
この場合、上記制御手段は、上記第2の位置から上記第4の位置までのデータが破棄されたときに上記再生を再開するように上記再生手段を制御してもよい。
これにより、制御手段は、上記第4の位置を検出し、当該第4の位置と、上記第2の位置及び第1の位置とを比較することで、第2の位置第4の位置との間にある場合を把握できる。この場合とは、すなわち再生再開後の受信データが一時停止時にバッファリングされていたデータを含まない場合である。この場合、バッファリング手段は、一時停止後かつ再開操作前に受信されバッファリングされたデータのうち、再生再開後に受信されたデータと重複するデータを破棄する。再生手段は、このデータが破棄された時点で再生を再開する。したがって、電子機器は、バッファリングされるデータの増分を極力抑えながら、円滑に再生を再開できる。
上記電子機器において、上記制御手段は、上記第2の位置が上記第4の位置よりも後であった場合、上記再開要求の次回の送信時に、上記第1の位置から上記データを送信するように要求する上記再開要求を上記送信装置へ送信するように上記送信手段を制御してもよい。
これにより、一時停止操作時に受信されたデータと、再生再開後に受信されたデータとの間にギャップが生じた場合には、送信手段が、上記再開要求の次回の送信時に、一時停止操作時の受信データからデータの送信を再開するように送信装置に要求することができる。したがって、送信装置が送信再開時にGOPの先頭からデータを送信する仕様であっても、次回の送信再開時には、少なくとも上記一時停止時のデータを含むGOPの先頭のデータからデータの送信が再開される。再開後の受信データが、バッファリングされたデータと重複する場合は、上述の処理が実行される。よって、電子機器は、再生再開時におけるデータのスキップを防いで、円滑に再生を再開することができる。
上記電子機器において、上記制御手段は、上記一時停止操作後かつ上記再開操作前に最後に受信されたデータの上記再生時間軸上における第4の位置を検出してもよい。上記第2の位置が上記第1の位置と上記第4の位置との間であった場合、上記制御手段は、上記再開要求の次回の送信時に、上記第1の位置から上記データを送信するように要求する上記再開要求を上記送信装置へ送信するように上記送信手段を制御してもよい。
これにより、再生再開後の受信データが、一時停止操作後かつ再開操作前に受信されたデータであった場合には、送信手段が、上記再開要求の次回の送信時に、一時停止操作時の受信データからデータの送信を再開するように送信装置に要求することができる。したがって、送信装置が送信再開時にGOPの先頭からデータを送信する仕様であっても、次回の送信再開時には、少なくとも上記一時停止時のデータを含むGOPの先頭のデータからデータの送信が再開される。再開後の受信データが、バッファリングされたデータと重複する場合は、上述の処理が実行される。よって、電子機器は、上記一時停止操作後かつ再開操作前に受信されたデータが余分にバッファリングされバッファリング手段にオーバーフローが生じるのを防ぐことができる。
またこの場合、上記制御手段は、上記バッファリング手段にバッファリングされたデータの量が所定量を超えた場合に、上記第1の位置から上記データを送信するように要求する上記再開要求を上記送信装置へ送信するように上記送信手段を制御してもよい。
これにより、制御手段は、バッファリング手段のバッファリングデータ量が所定量を超えずに、オーバーフローの危険性がない場合には、上記第1の位置からの再開要求を行わないように制御することができる。したがって、電子機器は、上記再開要求の送信の有無を動的に制御することで、バッファリング手段のオーバーフローを防ぎながら、再開操作後に再開要求を送信することによるユーザレスポンスの低下を防ぐことができる。
本発明の他の形態に係るコンテンツ再生方法は、送信装置からストリーミング送信されたコンテンツのデータを受信することを含む。
上記受信されたデータはバッファリングされる。
上記バッファリングされたデータは順次読み出され再生される。
上記データの再生の一時停止操作及び再開操作が受け付けられる。
上記一時停止操作及び再開操作に応じて、上記送信装置へ上記再生の一時停止要求及び再開要求が送信される。
上記バッファリング手段によりバッファリングされているデータのうち上記再開要求後に受信されたデータと重複するデータは破棄され、上記再開要求後に受信された上記破棄されたデータがバッファリングされる。
この構成により、バッファリングされているデータのうち、再開要求後に受信されたデータと重複するデータが破棄されるため、一時停止時のデータと再開時のデータとの連続性が保証され、一時停止後のコンテンツの再生が円滑に再開される。それとともに、破棄されたデータに換わり再開要求後に受信されたデータが新たにバッファリングされるため、バッファリング手段にオーバーフローが生じることが防止される。
本発明の他の形態に係るプログラムは、電子機器に、受信ステップと、バッファリングステップと、再生ステップと、操作受付ステップと、送信ステップと、制御ステップとを実行させるものである。
上記受信ステップは、送信装置からストリーミング送信されたコンテンツのデータを受信する。
上記バッファリングステップは、上記受信されたデータをバッファリングする。
上記再生ステップは、上記バッファリングされたデータを順次読み出して再生する。
上記操作受付ステップは、上記データの再生の一時停止操作及び再開操作を受け付ける。
上記送信ステップは、上記一時停止操作及び再開操作に応じて、上記送信装置に上記再生の一時停止要求及び再開要求を送信する。
上記制御ステップは、上記バッファリング手段によりバッファリングされているデータのうち上記再開要求後に受信されたデータと重複するデータを破棄する。また上記制御ステップは、上記再開要求後に受信された上記破棄されたデータをバッファリングする。
以上のように、本発明によれば、バッファのオーバーフローを起こすことなく、一時停止されたストリーミングデータの再生を円滑に再開することができる。
以下、本発明の実施の形態を図面に基づき説明する。
[システムの概要]
図1は、本発明の一実施形態に係る電子機器としてのテレビ受像機を含むコンテンツ配信システムの概要を示した図である。
同図に示すように、本実施形態におけるコンテンツ配信システムは、複数のテレビ受像機100(以下、TV100)と、サーバ200とがネットワーク150を介して接続されることで構成される。
サーバ200は、コンテンツのデータを記憶し、ネットワーク150を介して接続されるTV100からの要求に応じて、当該コンテンツのデータをストリーミング配信する。TV100は、ユーザからの要求に基づき、サーバ200との間で、コンテンツのデータの送信要求や当該データの受信等の各種処理を行い、受信したストリーミングデータを再生する。本実施形態におけるストリーミングデータのフォーマットは、例えばタイムスタンプ付きのMPEG2−TS(Transport Stream)である。
ネットワーク150は、例えばサーバ200と、サーバ200に接続する権限を有する特定のTV100とで構築され、ストリーミング配信のための伝送プロトコルとしては、例えばUDP(User Datagram Protocol)及びRTPが用いられる。しかし、ネットワーク150は、任意のTV100が利用可能なインターネット等のオープンなネットワークでもよい。伝送プロトコルとしては、HTTP(Hypertext Transfer Protocol)及びTCP(Transmission Control Protocol)が用いられてもよい。伝送路としては、例えば光ファイバー等の有線ケーブルが用いられてもよく、無線電波等の無線伝送路が用いられてもよい。またネットワーク150は、ルータや基地局等の中継機を含んでもよい。コンテンツは例えば映画、テレビ番組、文書、写真、絵画及び図表等の映像データ、音楽やラジオ番組等の音声データ、ゲームプログラム等の任意のデータである。
[TVのハードウェア構成]
図2は、上記TV100のハードウェア構成を示したブロック図である。
同図に示すように、TV100は、CPU(Central Processing Unit)1、フラッシュメモリ2、DRAM(Dynamic Random Access Memory)3、内部バス4、リモコン受光部5、デジタルアンテナ入力端子6、デジタルチューナ7、通信部8、MPEGデコーダ9、映像信号処理回路11、グラフィック生成部12、パネル駆動回路13、表示パネル14、音声信号処理回路15、音声信号増幅回路16及びスピーカ17を有する。
デジタルアンテナ入力端子6は、図示しないデジタルアンテナにより受信されたデジタル放送の放送信号を入力する。デジタルチューナ7は、当該放送信号から指定されたチャンネルの信号を選局して、MPEGデコーダ9に出力する。通信部8は、例えばネットワークインタフェースカード等からなり、ネットワーク150を介して上記サーバ200との間の通信処理を実行する。
MPEGデコーダ9は、MPEG規格によりエンコードされた放送信号やサーバ200から受信されたストリーミングデータをデコードし、デコードした信号のうち映像信号を映像信号処理回路11へ、音声信号を音声信号処理回路15へ出力する。
映像信号処理回路11は、入力された映像信号に必要な映像処理を施し、グラフィック生成部12へ出力する。グラフィック生成部12は、入力された映像信号とGUI(Graphical User Interface)画面等をOSD(On Screen Display)処理により合成して、パネル駆動回路13へ出力する。パネル駆動回路13は、グラフィック生成部12から供給される映像信号のデジタル/アナログ変換等を行い、アナログ映像信号に応じて表示パネル14を駆動する。表示パネル14は、例えばLCD(Liquid Crystal Display)やPDP(Plasma Display Panel)、OEL(Organic Electro-Luminescence)ディスプレイ等であり、パネル駆動回路13から入力されたアナログ映像信号を表示する。
音声信号処理回路15は、入力された音声信号に必要な音声処理を施し、音声信号増幅回路16へ出力する。音声信号増幅回路16は、入力された音声信号を必要な音量に調整し、スピーカ17へ出力して再生させる。
CPU1は、必要に応じてDRAM3等にアクセスし、TV100の各ブロックを統括的に制御する。フラッシュメモリ2は、CPU1に実行させるOS、コンテンツの受信及び再生のためのアプリケーション等のプログラムや各種パラメータなどのファームウェアを固定的に記憶する不揮発性のメモリである。DRAM3は、CPU1の作業用領域等として用いられ、OSやプログラム、処理データ等を一時的に保持するメモリである。CPU1、フラッシュメモリ2及びDRAM3は内部バス4に接続され、相互にアクセスされることでTV100の全体が制御される。
リモコン受光部5は、リモートコントローラ10(以下、リモコン10)から遠隔制御信号によりユーザ操作を受け付け、当該遠隔制御信号をCPU1へ出力する。これにより、ユーザ操作に応じたコンテンツの受信や再生等の、TV100の制御処理が実行される。リモコン10は、例えば放送チャンネルに対応した数字キーや、メニューボタン、再生ボタン、一時停止ボタン、早送りボタン、巻き戻しボタン等の各種操作部を有している。TV100は、リモコン10及びリモコン受光部5に加えて、ユーザにより直接操作されて各種操作を受け付けるボタン、キー、タッチパネル等を有していてもよく、マウスやキーボード等の他の入力装置から操作を受け付けてもよい。
サーバ200のハードウェア構成に関する詳細な説明は省略するが、サーバ200は、CPU、RAM、HDD、通信部、通信用アプリケーション等、コンピュータとして機能するための最低限のハードウェア要素及びソフトウェア要素を有している。
[TVのソフトウェア構成]
図3は、TV100のソフトウェア構成を示した図である。
同図に示すように、TV100は、ソフトウェアとして、通信インタフェース(I/F)21、通信処理部22、ストリーミング処理部23、ディクリプタ26、CAS(Conditional Access System)/DRM(Digital Rights Management)クライアント27を有する。またTV100は、ソフトウェアとして、デマルチプレクサ28、再生処理部29、ブラウザ35、映像/音声出力処理部36、映像/音声出力インタフェース37及びリモコンインタフェース38の各ソフトウェアも有する。同図において太線矢印はコンテンツ(ストリーミングデータ)の流れを、細線矢印はその他のデータの流れを、破線矢印はリモコン10からの制御信号の流れをそれぞれ示している。
通信インタフェース(I/F)21は、上記通信部8及び通信処理部22による上記サーバ200との間のパケットの通信処理を制御する。通信処理部22は、OSI参照モデルにおける物理層、データリンク層、ネットワーク層、トランスポート層及びアプリケーション層における各種プロトコルを用いてそれぞれパケット通信を実行する複数の処理部(プログラム)を有する。ネットワーク層では、IP(Internet Protocol)及びIGMP(Internet Group Management Protocol)/MLD(Multicast Listener Discover Protocol)が機能する。トランスポート層では、UDP(User Datagram Protocol)及びTCP(Transmission Control Protocol)が機能する。アプリケーション層では、UDPの上位層のプロトコルとしてRTPが機能し、TCPの上位層のプロトコルとしてRTSP(Real Time Streaming Protocol)及びHTTP(Hypertext Transfer Protocol)/TLS(Transport Layer Security)が機能する。本実施形態において、サーバ200からストリーミング配信されるコンテンツは、RTPパケットとしてRTP処理部221に処理される。RTSP処理部222は、当該RTPパケットとして受信されたコンテンツの再生時に、プレイ、ポーズ等のRTSPリクエストをサーバに送信する。
ストリーミング処理部23は、通信処理部22によりRTPを用いてサーバ200から受信されたストリーミングデータ(RTPパケットデータ)を処理し、ディクリプタ26に供給する。バッファリング処理部24及びFEC(Forward Error Correction)処理部25を有する。バッファリング処理部24は、当該受信されたストリーミングデータをバッファリングするためのバッファ(以下、受信バッファと称する)を有する。受信バッファにバッファリングされたストリーミングデータは、このストリーミング処理部23によりオーバーフロー及びアンダーフローしない適切なバッファ量に保たれて、適切なタイミングで再生処理部29へ供給される。受信バッファのフロー制御の詳細については後述する。
FEC処理部25は、バッファリング処理部24にバッファリングされたストリーミングデータに付加されているFECを用いて、ストリーミングデータのエラーを検出し訂正する。また、このストリーミング処理部23では、ストリーミングデータに発生したジッタの除去等も行われる。
ディクリプタ26は、ストリーミング処理部23から供給された、暗号化されたストリーミングデータを、CAS/DRMクライアント27から取得される復号鍵を用いて復号する。
CAS/DRMクライアント27は、ネットワーク150上のCAS/DRMサーバ(図示せず)からCAS及びDRMに関するライセンス情報を受信及び解析する。そしてCAS/DRMクライアント27は、当該TV100が、CAS及びDRMにより暗号化されたコンテンツの正当な視聴権限を有すると判断した場合に、上記ディクリプタ26に上記復号鍵を供給する。
デマルチプレクサ28は、ディクリプタ26から供給された、多重化されたストリーミングデータを、映像、音声、字幕の各エレメンタリストリーム(ES:Elementary Stream)に分割し、再生処理部29に供給する。映像ESは映像デコーダ30に、音声ESは音声デコーダ31に、字幕ESは字幕デコーダ32にそれぞれ出力される。
再生処理部29は、上記映像デコーダ30、音声デコーダ31、字幕デコーダ32を有し、上記MPEGデコーダ9等と協働して、デマルチプレクサ28から供給された各ESを処理する。映像デコーダ30は、映像ESをデコードし、映像信号を生成する。音声デコーダ31は、音声ESをデコードし、音声信号を生成する。字幕デコーダ32は、字幕ESをデコードして字幕信号を生成し、上記映像信号に重畳する。生成された映像信号及び音声信号は、映像/音声出力処理部36へ供給される。各デコーダ30〜32は、それぞれ内部にバッファを有し、当該バッファに各信号を蓄積して、各信号を映像/音声出力処理部36へ供給するタイミングを調整する。
映像ESの圧縮フォーマットは、例えばMPEG−2である。しかし、MPEG−4等の他の圧縮フォーマットが用いられてもよい。音声ESの圧縮フォーマットは、例えばAAC(Advanced Audio Coding)である。しかし、MPEG−2BC(Backward Compatible)、MP−3(MPEG1 Layer-3)、LPCM(Linear PCM)、WMA9(Windows(登録商標) Media Audio9)、ATRAC(Adaptive Transform Acoustic Coding)、ATRAC3等の他の圧縮フォーマットが用いられてもよい。
また再生処理部29は、再生操作部33及び選局操作部34を有する。再生操作部33は、ストリーミングデータの再生時に、リモコン10からの制御信号(リモコン信号)に基づいて、再生開始、一時停止、変速再生等の各種再生処理を行う。選局操作部34は、デジタルチューナ7により受信された放送コンテンツの再生時に、上記リモコン信号に基づいて、チャンネルの選局(切り替え)処理を行う。
リモコンI/F38は、ユーザの操作に基づきリモコン10から送信される上記リモコン信号を受信し、上記再生操作部33及び選局操作部34へ供給する。
映像/音声出力処理部36は、再生処理部29から供給された映像信号及び音声信号に、出力のために必要なD/A変換処理等の映像処理及び音声処理を施し、映像/音声出力I/F37へ供給する。
映像/音声出力I/F37は、上記映像信号処理回路11及び音声信号処理回路15と協働して、映像/音声出力処理部36から供給された映像信号を上記表示パネル14へ出力して表示させ、音声信号をスピーカ17から出力させる。
ブラウザ35は、上記リモコン信号を基に、通信処理部22と協働して、Webページを構成するHTML(HyperText Markup Language)ファイルや画像ファイル等をダウンロードし、レイアウトを解析して映像/音声出力処理部36へ供給し、出力させる。
[ストリーミングデータの構成]
次に、本実施形態においてサーバ200から伝送されるストリーミングデータの構成について説明する。
図4は、上記ストリーミングデータのGOP構造を示した図である。
同図に示すように、ストリーミングデータを構成する各フレームは、GOP単位で圧縮され伝送される。各GOPには、1つのIフレームと、複数のPフレーム及びBフレームが含まれる。
TV100が、コンテンツの再生の一時停止後に、再生を再開する場合、例えばRTSPでは、一時停止時にサーバ200から取得したポーズポイントを指定してプレイリクエストを送信する。このポーズポイントは、標準速度で再生した場合の再生時間を示すNPT(Normal Play Time)で表され、その範囲がRange値で指定される。
また、本出願人も含む日本国内の家電メーカーや通信事業者により設立されたIPSP(IP Service Project)の仕様では、100ms単位でのポーズポイントの指定に対して、そのポーズポイントにおけるデータを含むGOPの先頭からデータの送信を再開する。
例えば、GOP#nのGOPの途中であるポイントBが上記Range値またはポーズポイントで指定され、再生再開がサーバ200にリクエストされた場合、サーバ200は、GOP#nの先頭であるポイントAのデータからデータの送信を再開する。
したがって、ユーザの一時停止操作によりサーバ200がデータの送信を停止したのがポイントBであったとしても、再生再開後には、ポイントAからポイントBまでのデータが重複して送信されることとなる。この場合、従来の再生装置においては、再生再開後の受信データをそのまま再生すると、コンテンツの巻き戻りが発生し、画像や音声の乱れが生じるという問題が想定された。
また、サーバの仕様によっては、ポーズポイントに最も近いGOPの先頭から送信を再開する場合もある。例えば、ポーズポイントがポイントCである場合、そのポイントCに最も近いGOP#n+1の先頭であるポイントDからデータの送信が再開される場合もある。この場合、ポーズポイントであるポイントCからポイントDまでのデータは送信されないため、従来の再生装置においては、受信データにスキップが生じるという問題が想定された。さらに、送信再開時に、サーバ200が何らかの異常によりデータを正しく送信しなかった場合や、送信中にネットワーク150上でデータが失われた場合等にも、上記受信データにスキップが生じることが想定される。
そこで、本実施形態に係るTV100は、コンテンツの再生の一時停止後、再生再開時に、一時停止時に受信バッファに格納されているデータと再生再開後にサーバ200から送信されるデータの重複部分(以下、重複データと称する)を破棄する機能を有する。これにより、一時停止後のストリーミングデータの再生が円滑に再開される。さらに、TV100は、受信バッファのデータ量が一定に保たれるため、受信バッファのアンダーフロー及びオーバーフローも防いでいる。
図5は、サーバ200から送信されるストリーミングデータのMTU(Maximum Transmission Unit)構成例を示した図である。
MTUは、ストリーミングデータのサーバ200からの最大送信単位を示す。MTUは、複数のタイプスタンプ付きTS(TTS)パケットと、RTPヘッダ、UDPヘッダ、およびIPパケットを含む。各TTSパケットには、先頭に例えば4バイトで表現されるタイムスタンプが付されている。
このタイムスタンプは単調増加するため、TV100は、このタイムスタンプを、ストリーミングデータの各TTSパケットを一意に識別するための識別子として用いることができる。
図6は、上記TTSパケットとしてのRTPパケットの構成例を示した説明図である。
同図に示すように、RTPパケットは、バージョン情報(V)51、パディング情報(P)52、エクステンション情報(X)53、CSRCカウント情報(CC)54、境界情報(M)55、ペイロードタイプ情報(PT)56、シーケンス番号57、上記タイムスタンプ58、SSRC識別子59を含む。
SSRC識別子59は、ストリーミングデータのセッションを識別するための情報である。例えば、TV100が一時停止前に取得したストリーミングデータに含まれるSSRC識別子59と、再生再開後に取得したストリーミングデータに含まれるSSRC識別子59とには、異なる値が記載される。したがって、TV100は、このSSRC識別子59により、一時停止前と再生再開後におけるストリームの切り替わりを判別することができる。
また、RTPパケットは、CSRC識別子60、ヘッダ拡張61、ペイロードヘッダ62、ペイロードデータ63、およびパディング64を含む。
[システムの動作]
次に、以上のように構成されたコンテンツ配信システムの動作について、TV100の動作を中心に説明する。
まず、本システムが動作するにあたっての前提条件について説明する。本システムが動作するには、以下の3つの条件が必要となる。
(1)ストリーミングデータは、それを構成するパケットデータを一意に識別するための情報を持つ必要がある。この識別子としては、上述したように、例えばタイムスタンプが用いられる。
(2)サーバ200は、コンテンツの一時停止前と再生再開後とにおいて、データを重複して送信することが望ましい。「重複して送信する」とは、コンテンツの再生の一時停止前に送信されたデータと再生再開後に送信されたデータとにおいて、上記識別子のうち少なくなくとも1つが重複することをいう。サーバ200が重複したデータ送信を行わない場合には、TV100側で、後述する再生再開点の調整処理を行うことで、再生再開時にデータが重複して送信されることが保証される。
(3)TV100のストリーミング処理部23の受信バッファにおいて、少なくとも1つの識別子を持つパケットデータが存在する必要がある。
次に、TV100及びサーバ200の動作の概要について説明する。
図7は、コンテンツの再生の一時停止から再生再開までの処理(レジューム再生処理)におけるTV100とサーバ200との間の大まかなデータのやり取りを示すシーケンス図である。
同図に示すように、まず、コンテンツのストリーミング再生中に、ユーザの操作により、リモコン10から一時停止要求を示すリモコン信号がTV100へ送信される(ステップ71)。すると、TV100は、その一時停止要求を受信した時点におけるタイムスタンプTpを、DRAM3等に保持し(ステップ72)、当該一時停止要求に対して、速やかにMPEGデコーダ9の処理を停止させる(ステップ73)。そして、TV100は、サーバ200へ、ストリーミングデータの送信の停止要求を送信する(ステップ74)。
この停止要求に対して、サーバ200は、既に送信準備ができていた最終ストリーミングデータを送信した上で(ステップ75)、ストリーミングデータの送信を停止する(ステップ75)。TV100は、この最終ストリーミングデータとともに、サーバ200のポーズポイントも受信する。このポーズポイントは、再生再開時にTV100からサーバ200へ送信されるプレイリクエストに、再生再開ポイントとして含められる。
その後、ユーザの操作により、リモコン10から、一時停止中のコンテンツの再生再開要求を示すリモコン信号がTV100へ送信される(ステップ76)。TV100は、当該再生再開要求を受信すると、再生再開後のサーバ200からの受信データにスキップが発生している場合等、必要に応じて上記再生再開ポイントを調整する(ステップ77)。この処理については後述する。そして、TV100は、サーバ200へ、上記再生再開ポイントからのストリーミングデータの送信再開を要求する(ステップ78)。
この再生再開要求に対して、サーバ200は、ストリーミングデータの送信を再開し(ステップ79)、新規のストリーミングデータをTV100へ送信する(ステップ80)。
TV100は、送信再開後のストリーミングデータをサーバ200から受信し、再生再開後における最初の受信データのタイムスタンプTrを基に、受信バッファ内の重複データを破棄する。そしてTV100は、上記Tpを基に、コンテンツの再生(デコード)タイミングを決定して再生を再開する(ステップ81)。
次に、TV100によるコンテンツの再生の一時停止から再生再開までの具体的な動作について説明する。以下の説明では、主にRTP処理部221及びRTSP処理部222を動作主体としてTV100の動作を説明するが、これらの動作は、ストリーミング処理部23等の他のソフトウェアや、図2に示したCPU1等のハードウェアとの協働により実行される。
図8は、TV100の上記RTSP処理部222の動作の流れを示したフローチャートである。なお、本実施形態においては、上記RTSP処理部222の処理は非同期処理である。すなわち、RTSP処理部222は、リクエスト送信先による実際の処理の実行やその結果を待たずに次の処理に進む。
同図に示すように、まず、RTSP処理部222は、コンテンツの再生中に、ユーザによる一時停止操作があったか否か、すなわちリモコン10から、コンテンツの再生の一時停止要求を受信したか否かを判断する(ステップ101)。一時停止操作があった場合、RTSP処理部222は、MPEGデコーダ9に、受信バッファ内のパケットデータのデコード停止を指示し、コンテンツの再生を一時停止させる(ステップ102)。
続いて、RTSP処理部222は、上記RTP処理部221へ、パケットデータの受信処理を停止するように要求するポーズリクエストを送信する(ステップ103)。これによりRTP処理部221における、コンテンツの円滑な再生再開のための処理が開始される。
当該RTP処理部221へのポーズリクエストに続き、RTSP処理部222は、サーバ200へパケットデータの送信を停止するように要求するポーズリクエストを送信する(ステップ104)。
続いて、RTSP処理部222は、上記ポーズリクエスト後に、ユーザによる再生再開操作があったか否か、すなわち、リモコン10から、コンテンツの再生再開要求を受信したか否かを判断する(ステップ105)。再生再開操作があった場合、RTSP処理部222は、必要に応じて再生再開ポイント(ポーズポイント)の調整処理が必要か否かを判断する(ステップ106)。再生再開ポイントの調整処理が必要であると判断した場合(Yes)、RTSP処理部222は、再生再開ポイントを計算する(ステップ107)。この処理については後述する。
続いて、RTSP処理部222は、ポーズリクエスト時に上記サーバ200から取得したポーズポイントまたは上記調整後の再生再開ポイントからパケットデータの送信を再開するように要求するプレイリクエストをサーバ200へ送信する(ステップ108)。
続いて、RTSP処理部222は、RTP処理部221から、デコードを一時停止していたデータのデコード再開の指示があるのを待つ(ステップ109)。当該デコード再開の指示があった場合(Yes)、RTSP処理部222は、MPEGデコーダ9へデコードの再開を指示し、コンテンツの映像及び音声の再生を再開させる(ステップ110)。
次に、上記RTSP処理部222のポーズリクエストにより開始される、上記RTP処理部221による上記円滑な再生再開のための処理について説明する。
この説明にあたり、RTP処理部221の処理に必要な、上記パケットデータの識別子としてのタイムスタンプ値の定義について説明する。図9は、TV100に受信されバッファリングされるパケットデータの位置及びそのタイムスタンプを説明するための図である。
同図に示すように、受信バッファに蓄積されているパケットデータは順次デマルチプレクサ28に読み出され、デコード(再生)される。上述したように、ユーザによる一時停止操作を受けて、RTSP処理部222がサーバ200へのポーズリクエストを送信することにより、サーバ200によるパケットデータの送信は停止される。しかし、当該ポーズリクエストがサーバ200へ到達する以前にサーバ200から送信されネットワーク上に滞留していたパケットデータ等は、当該一時停止操作後にTV100に受信され、受信バッファに蓄積される。しかし、この一時停止操作後に受信されるデータは、受信バッファのオーバーフローを引き起こす可能性があるため、本実施形態では、極力受信バッファに蓄積されないように制御される。そして、上述したように、ユーザの再生再開操作を受けて、RTSP処理部222がサーバ200へプレイリクエストを送信することで、サーバ200からのデータの送信が再開される。
ここで、本実施形態においては、To、Tp、Tl及びTrの4つのタイムスタンプ値が、以下のように定義される。
To:受信バッファ内の先頭のパケットデータのタイムスタンプ
Tp:一時停止操作時点で最後に受信されたパケットデータのタイムスタンプ
Tl:再生再開前に最後に受信されたパケットデータのタイムスタンプ
Tr:再生再開後に最初に受信されたパケットデータのタイムスタンプ。
RTP処理部221は、これら4つのタイムスタンプを基に、コンテンツの再生再開時における処理を実行する。
図10、11及び12は、当該RTP処理部221の動作の流れを示したフローチャートである。ここで、説明の便宜上、RTP処理部221が、コンテンツの一時停止から円滑な再生再開を行うためにどのような追加処理が必要かを示すパラメータとして、"resume_mode"を定義する。このresume_modeとしては、0〜2までの以下の3つのモードが定義され、その初期値は0とされる。
resume_mode =0:追加処理を必要とせず、受信パケットデータを即時デコード可能なモード
resume_mode =1:Tpに該当するパケットデータを受信するまで受信データを受信バッファに書き込むモード
resume_mode =2:Toに該当するパケットデータを受信するまで受信データを破棄するモード。
以下、RTP処理部221の処理を、これらの各モードの遷移と併せて説明する。
図10に示すように、まず、RTP処理部221は、何らかの信号の入力を待つ(ステップ121)。信号の入力があった場合(Yes)、RTP処理部221は、当該入力が、RTSP処理部222からのポーズリクエストであるか、サーバ200からのパケットデータであるかを判断する(ステップ122)。
上記入力がポーズリクエストであった場合、RTP処理部221は、上記Tpを算出し(ステップ124)、上記ステップ121へ戻る。
上記入力がパケットデータの入力(受信)であった場合、RTP処理部221は、当該受信されたパケットデータの上記SSRC識別子59を検出する。そして、RTP処理部221は、当該受信されたパケットデータのSSRC識別子59と、直前に受信されたパケットデータのSSRC識別子59とを比較し、両者の間でSSRC識別子59が変更されたか否かを判断する(ステップ123)。
SSRC識別子59が変更されたと判断した場合(Yes)、すなわち、受信されたパケットデータが、再生再開後に最初に受信されたパケットデータである場合、RTP処理部221は、図11に示す処理へ進む。SSRC識別子59が変更されていないと判断した場合(No)、すなわち、受信されたパケットデータが、再生再開後の最初のRTPパケットよりも後のパケットデータである場合、RTP処理部221は、図12に示す処理へ進む。この場合には、受信されたパケットデータが、一時停止操作後に受信された、ネットワーク150上に滞留していたパケットデータである場合も含まれる。
まず、上記ステップ123において、受信されたパケットデータのSSRC識別子59が変更された場合の処理について説明する。
図11に示すように、受信されたパケットデータのSSRC識別子59が変更された場合、RTP処理部221は、受信バッファ内のデータ及び受信されたパケットデータから、上記To、Tl及びTrをそれぞれ算出する(ステップ125)。
続いて、RTP処理部221は、Tr<Toであるか否かを判断する(ステップ126)。Tr<Toであるケースとは、すなわち、再生再開後に最初に受信されたパケットデータと同一のデータが、既にデマルチプレクサ28に読み出されており、受信バッファに存在しない場合である(図9参照)。このケースは、一般的に、受信バッファにおけるパケットデータのバッファリングが十分でない(アンダーフローが発生している)ケースと考えられる。しかし、本実施形態では、このケースは極力起こらないように受信バッファが実装されているものとする。
Tr<Toであると判断した場合(Yes)、RTP処理部221は、受信バッファ内の全てのデータ(重複データ)を破棄する(ステップ127)。そして、RTP処理部221は、上記resume_modeを2に切り替え(ステップ128)、上記図10のステップ121へ戻る。
Tr≧Toであると判断した場合(No)、RTP処理部221はさらに、To≦Tr≦Tpであるか否かを判断する(ステップ129)。
To≦Tr≦Tpであると判断した場合(Yes)、RTP処理部221は、受信バッファ内で、Tr≦TxとなるタイムスタンプTxを識別子として有するパケットデータ(重複データ)を破棄する(ステップ130)。そして、RTP処理部221は、上記resume_modeを1に切り替え(ステップ131)、上記図10のステップ121へ戻る。
To≦Tr≦Tpでない、すなわちTp<Tr<Tpであると判断した場合(No)、RTP処理部221はさらに、Tp<Tr≦Tlであるか否かを判断する(ステップ132)。Tp<Tr≦Tlであるケースとは、すなわち、一時停止操作時に受信されたパケットデータが、再生再開後にサーバ200から最初に送信されるパケットデータに含まれないケースである。このケースは、例えばIPSP等の仕様において、一時停止操作時に受信されたパケットデータを含むGOPと、その前のGOPの境界が、上記TpとTlの間に存在した場合に発生しうる。
Tp<Tr≦Tlであると判断した場合(Yes)、RTP処理部221は、受信バッファ内で、Tr≦TxとなるタイムスタンプTxを識別子として有するパケットデータを破棄する(ステップ133)。そして、RTP処理部221は、上記デコード再開の指示を待っている(ステップ109参照)RTSP処理部222へ、デコード再開を指示する通知を送信する(ステップ134)。これにより、パケットデータのデコードが再開され、コンテンツの映像及び音声の再生が円滑に再開される。
このTp<Tr≦Tlであるケースでは、上記To≦Tr≦Tpであるケースと比較して、受信バッファ内のTpからTrまでのパケットデータが破棄されないため、この破棄されないパケットデータが受信バッファに余分に蓄積される(図9参照)。しかし、1回のパケット受信処理で余分に蓄積されるパケットデータの量は十分に小さく、受信バッファのオーバーフローを引き起こすほどではない。しかし、このケースが複数回連続すると、余分なパケットデータが増加して、受信バッファのオーバーフローを引き起こす可能性がある。そのため、RTSP処理部222は、後述する再生再開ポイントの調整処理により、このケースが生じるのを回避することができる。
Tp<Tr≦Tlでない、すなわち、Tl<Trであると判断した場合(No)、RTP処理部221は、上記デコード再開の指示を待っている(ステップ109参照)RTSP処理部222へ、デコード再開を指示する通知を送信する(ステップ134)。
このケースは、すなわち、一時停止操作時に受信されたパケットデータと再生再開後に受信されるパケットデータとの間にギャップ(スキップ)が生じているケースである。この原因としては、図4で説明したように、サーバ200に異常が発生した場合や、サーバ200が、ポーズポイントを含むGOPの先頭ではなく、ポーズポイントに最も近いGOPの先頭から送信を再開するような仕様を有する場合がある。本実施形態においては、サーバ200は、このようなケースが極力起こらないように設計されているものとする。しかし、仮にこのようなケースが発生しても、後述する再生再開ポイントの調整処理により、そのようなケースを最小限に抑えることができる。
次に、図10のステップ123において、受信されたパケットデータのSSRC識別子59が変更されていない場合の処理について説明する。
図12に示すように、受信されたパケットデータのSSRC識別子59が変更された場合、RTP処理部221は、上記resume_modeが0であるか否かを判断する(ステップ135)。resume_modeが0である、すなわち、円滑な再生再開のための追加処理が必要ないと判断した場合(Yes)、RTP処理部221は、受信されたパケットデータを受信バッファへ書き込み(ステップ140)、上記図10のステップ121へ戻る。
resume_modeが0でないと判断した場合(No)、RTP処理部221は、resume_modeが1であるか否かを判断する(ステップ136)。resume_modeが1であると判断した場合(Yes)、RTP処理部221は、受信されたパケットデータのタイムスタンプTxが、Tp≦Txを満たすか否かを判断する(ステップ137)。
Tp≦Txである、すなわち、受信されたパケットデータのタイムスタンプが、一時停止操作時に受信されたパケットデータのタイムスタンプ以上であると判断した場合(Yes)、RTP処理部221は、resume_modeを0に切り替える(ステップ138)。続いて、RTP処理部221は、RTSP処理部へデコード再開を指示する通知を送信する(ステップ139)。そして、RTP処理部221は、受信されたパケットデータを受信バッファへ書き込み(ステップ140)、上記図10のステップ121へ戻る。
上記ステップ137において、Tp≦Txでないと判断した場合(No)、RTP処理部221は、受信データを受信バッファへ書き込み(ステップ140)、上記図10のステップ121へ戻る。
上記ステップ136において、resume_modeが1でない、すなわちresume_modeが2であると判断した場合(No)、RTP処理部221は、受信されたパケットデータのタイムスタンプTxが、To≦Txを満たすか否かを判断する(ステップ141)。
To≦Txである、すなわち、受信されたパケットデータのタイムスタンプが、受信バッファ内の先頭のパケットデータのタイムスタンプ以上であると判断した場合(Yes)、RTP処理部221は、resume_modeを1に切り替える(ステップ142)。そして、RTP処理部221は、受信されたパケットデータを受信バッファへ書込み(ステップ140)、上記図10のステップ121へ戻る。
上記ステップ141において、To≦Txでない、すなわち受信されたパケットデータのタイムスタンプがToに満たないと判断した場合(No)、RTP処理部221は、当該パケットデータを破棄し(ステップ143)、上記図10のステップ121へ戻る。
以上の処理をまとめると、RTP処理部221は、再生再開後に最初に受信されたパケットデータのタイムスタンプTrが、上記To、Tp及びTlと比較してどの範囲に存在するかに応じて、以下のような処理を実行する。
(Tr<Toの場合)
RTP処理部221は、受信バッファ内の全てのパケットデータを破棄し、再生再開後にToに該当するタイムスタンプを有するパケットデータを受信するまで、受信されたパケットデータを破棄する。また、RTP処理部221は、To以上に該当するタイムスタンプを有するパケットデータを受信バッファに書き込む。そして、RTP処理部221は、Tpに該当するタイムスタンプを有するパケットデータを受信した時点で、パケットデータのデコードを再開する。
これにより、RTP処理部221部は、Tpに該当するタイムスタンプを有するパケットデータが受信されるのを待ってデコードを再開することで、アンダーフローを回避しながら、一時停止時と再生再開時のパケットデータの連続性を保証することができる。
(To≦Tr≦Tpの場合)
RTP処理部221は、Tr以上のタイムスタンプを有する受信バッファ内のパケットデータを全て破棄する。また、RTP処理部221は、再生再開後に、Tpに該当するタイムスタンプを有するパケットデータを受信した時点で、パケットデータのデコードを再開する。
これにより、RTP処理部221は、受信バッファのサイズを一定に保ちながら、一時停止時と再生再開時のパケットデータの連続性を保証することができる。
(Tp<Tr≦Tlの場合)
RTP処理部221は、Tr以上のタイムスタンプを有する受信バッファ内のパケットデータを破棄し、その時点でデコードを再開する。
これにより、受信バッファに余分に蓄積されるパケットデータの量を極力抑えながら、一時停止時と再生再開時のパケットデータの連続性を保証することができる。
(Tl<Trの場合)
RTP処理部221は、受信したパケットデータによりそのままデコードを再開する。この場合は、一時停止時と再生再開時のパケットデータとの間にスキップが生じる。
次に、再生再開ポイントの調整処理について説明する。
RTSP処理部222は、上述したように、サーバ200へ、再生再開を要求するプレイリクエストを再生再開ポイント(ポーズポイント)と共に送信する際、必要に応じてそのポーズポイントを調整する機能を有する。
ポーズポイントの調整は、(1)上記Tp<Tr≦Tlとなる可能性がある場合(受信バッファに余分なパケットデータが蓄積される可能性がある場合)または(2)上記Tl<Trとなる可能性がある場合(一時停止時と再生再開時のパケットデータとの間にスキップが生じる可能性がある場合)に行われる。しかし、この処理は必須ではない。
すなわち、RTSP処理部222は、サーバ200へプレイリクエストを送信して再生再開後の受信パケットを受信した際、上記(1)または(2)のケースが発生した場合には、次回のレジューム再生処理時に、プレイリクエスト送信に先立って、ポーズポイントの調整を実行してもよい。これは、前回のレジューム再生時に上記(1)または(2)のケースが発生した場合には、次回のレジューム再生時にも上記(1)または(2)のケースが発生することが想定されるため、次回のレジューム再生時にそれを未然に防ぐためである。
まず、上記(1)のケースが発生した場合の処理について説明する。
図13は、RTSP処理部222がポーズポイントを調整する処理を説明するための図である。
同図に示すように、一時停止操作があると、デコーダの停止後(同図1.)、RTSP処理部222がRTP処理部221へポーズリクエストを送信し(同図2.)、RTSP処理部222からのポーズリクエストに応じてサーバ200が送信を停止する(同図3.)。RTP処理部221がポーズリクエストを受信した時点のタイムスタンプが上記Tpであり、サーバ200が送信を停止した時点のタイムスタンプが上記Tlである。
そして、再生再開操作があると、RTSP処理部222は、サーバ200のポーズポイントPlを用いてサーバ200へプレイリクエストを送信する。このプレイリクエストに対して、サーバ200は、Plを含むGOP#n+1の先頭からパケットデータの送信を再開する。この際、サーバ200のポーズポイントPlに対応するタイムスタンプTlが、GOP#n+1の先頭に比較的近い場合、再生再開後にサーバ200から送信されるパケットデータの重複データが少なくなる。この場合、再生再開後に最初に送信されるパケットデータのタイムスタンプTrが、上記Tpよりも後になり、上記(1)のケースが生じる。このケースが連続すると、受信バッファのオーバーフローが生じる可能性がある。
そこでRTSP処理部222は、上記(1)のケースが生じた場合、次回のプレイリクエスト送信時には、同図に示すように、サーバのポーズポイントPlではなく、RTSP処理部222のポーズポイントPpから送信を再開するようサーバ200へ要求する。RTP処理部221は、上記(1)のケースが生じた場合、その旨を、例えば上記図11のステップ134におけるデコード再開指示と共にRTSP処理部222へ通知する。
上記Ppは、サーバ200から与えられる訳ではないため、RTSP処理部222は当該Ppを上記Pl、Tl及びTpから算出する。すなわち、RTSP処理部222は、同図に示すように、上記Plに対応するタイムスタンプTlから、上記Ppに対応するタイムスタンプTpを減じた値を27MHzで除し、その値を100msでラウンドアップしてPpを求める。ここで27Mzは、サーバ200でタイムスタンプが生成される基準となったシステムクロックである。
そして、RTSP処理部222は、当該算出されたPpを、サーバ200への次回のプレイリクエスト時に含める。これにより、サーバ200が再生再開時に最初に送信するデータのタイムスタンプは、GOP#n+1の先頭ではなく、Tpを含むGOP#nの先頭となる。したがって、一時停止時と再生再開時とで、サーバ200から新たに送信されてくるパケットデータと、受信バッファ内のパケットデータに十分な重複が生じ、上記To≦Tr≦Tpの状態(resume_mode=1の状態)を生じさせることができる。この後は、RTP処理部221が上記図11のステップ129以降の処理を実行することで、受信バッファのデータ量を一定に保ち、オーバーフローを防ぐことができる。
ただし、上記(1)のケースで受信バッファに余分に蓄積されるパケットデータ量は微小であると考えられるため、RTSP処理部222は、上記(1)のケースが生じても、上記ポーズポイントの調整を行わなくてもよい。
またRTSP処理部222は、単に上記(1)のケースが生じただけでなく、受信バッファに蓄積されたパケットデータ量がオーバーフローの危険性のある所定の閾値を超えた場合に、上記ポーズポイントの調整を実行してもよい。
この場合、RTP処理部221が、受信バッファ内のパケットデータ量を監視し、上記所定値を超えた場合に、その旨をRTSP処理部222へ通知する。そしてRTSP処理部222は、次回のレジューム再生時に上記Ppを用いてプレイリクエストを送信する。
次に、上記(2)のケースが発生した場合の処理について説明する。
図14は、RTSP処理部222がポーズポイントを調整する処理を説明するための図である。
上述したように、サーバ200が、ポーズポイントPlを含むGOPの先頭からパケットデータの送信を再開する仕様の場合、TV100がサーバ200から取得したポーズポイントを用いてプレイリクエストを送信する限りは、通常は上記スキップは生じない。したがって、この仕様の場合には、サーバ200が正しくパケットデータを送信しなかった場合や、ネットワーク150上でパケットデータが失われた場合等の異常が発生した場合にデータのスキップが生じる。
したがって、RTSP処理部222は、サーバ200が、ポーズポイントPlを含むGOPの先頭からパケットデータの送信を再開する仕様の場合には、上記(1)のケースと同様の処理によりポーズポイントの調整を行えばよい。この場合、RTP処理部221は、上記図11のステップ132においてTl<Trと判断した場合、その旨を、例えば上記ステップ134におけるデコード再開指示と共にRTSP処理部222へ通知する。これにより、RTSP処理部222は、次回の再生再開時におけるパケットデータのスキップを防ぐことができる。
一方、サーバ200が、ポーズポイントPlを含むGOPの先頭ではなく、ポーズポイントの直近のGOPの先頭(境界)からパケットデータの送信を再開する仕様の場合、上記図13で示した処理を行っても、Trは変更されない。すなわち、RTSP処理部222が、上記図13におけるPlの代わりにPpを用いてプレイリクエストを送信しても、結局はGOP#n+1の先頭から送信が再開されてしまい、依然としてスキップが生じる可能性がある。
そこで、RTSP処理部222は、サーバ200から取得したポーズポイントPlを、半GOPだけ巻き戻し、この値を用いて上記Ppを算出する。図14は、この場合の処理を説明する図である。
同図に示すように、RTSP処理部222は、上記サーバ200から取得したポーズポイントPlから、最大GOP長(時間)の半分の時間であるMAX_GOP_TIME / 2を減じることで、Plを半GOP長分巻き戻したPl´を求める。そしてRTSP処理部222は、当該Pl´を用いて上記Ppを求める(Pp´)。これにより、Pp´は、GOP#n+1の先頭よりも、GOP#nの先頭に最も近くなる。よって、RTSP処理部222が、このPp´を用いて上記プレイリクエストをサーバ200へ送信することで、サーバ200はGOP#nの先頭からパケットデータの送信を再開する。
もちろん、この場合、RTSP処理部222は、先にPpを求めてから、このPpを半GOP長分巻き戻しても、同様の効果を奏することができる。
以上の処理により、サーバ200が、ポーズポイントの直近のGOPの先頭(境界)からパケットデータの送信を再開する仕様の場合でも、RTSP処理部222は、次回の再生再開時におけるパケットデータのスキップを防ぐことができる。
以上説明したように、本実施形態によれば、TV100は、コンテンツの再生の一時停止後、再生再開時において、Trの位置に応じて受信バッファから重複データを削除することで、一時停止時と再生再開時におけるパケットデータの連続性を保証できる。これにより、画像の音声の乱れのない、円滑なレジューム再生が実行される。また、TV100は、受信バッファ内のパケットデータ量を一定に保つことで、受信バッファのオーバーフロー及びアンダーフローを防ぐことができる。
[変形例]
本発明は上述の実施形態にのみ限定されるものではなく、本発明の要旨を逸脱しない範囲内において種々変更を加え得ることは勿論である。
上述の実施形態における上記図8、10〜12のフローチャートでは、異常系の処理は記載していないが、異常が発生した場合には、処理の停止、エラー表示等の処理が適宜実行される。
上述の実施形態では、サーバから送信されるデータのストリームフォーマットがタイムスタンプ付きMPEG2−TS(TTS)である場合について、タイムスタンプを識別氏として用いる例を説明した。しかし、本発明は、例えばMPEG2−PS、MPEG4等、その他の様々なストリームフォーマットについても、フォーマットに応じて識別子を他のデータに置き換えることで、同様に適用可能である。例えばMPEG2−PSにおいては、TV100は、GOPの先頭のPESヘッダに含まれるPTS(Presentation Time Stamp)の値と、その値からのオフセットの値を識別子として用いることで、上記TTSの場合と同様に重複データを一意に識別できる。
上述の実施形態においては、RTSP処理部222の処理は非同期処理であった。しかし、当該RTSP処理部222の処理の少なくとも1部は同期処理であってもよい。この場合、上記図8で示したRTSP処理部222の処理及び図10〜12で示したRTP処理部221の処理の順序は適宜変更可能である。
上述の実施形態においては、サーバ200からのストリーミングデータはタイムスタンプ付きのMPEG2−TSであった。しかし、ストリーミングデータのフォーマットは、MPEG2−PS(Program Stream)であってもよく、MPEG4等の他の圧縮フォーマットが用いられてもよい。
上述の実施形態では、コンテンツを受信する電子機器としてTVを例に挙げた。しかし、この電子機器は、例えばHDD/BD/DVD等の記録媒体を有する記録再生装置、BD/DVDプレイヤー等の再生装置、PC、ゲーム機器、携帯型AV機器、携帯電話機、カーナビゲーション装置、ロボット装置等の他の電子機器でもよい。
本発明の一実施形態に係るTVを含むコンテンツ配信システムの概要を示した図である。 本発明の一実施形態に係るTVのハードウェア構成を示した図である。 本発明の一実施形態に係るTVのソフトウェア構成を示した図である。 本発明の一実施形態においてサーバから伝送されるストリーミングデータのGOP構造を示した図である。 本発明の一実施形態においてサーバから送信されるストリーミングデータのMTU構成例を示した図である。 本発明の一実施形態において受信されるRTPパケットの構成例を示した説明図である。 本発明の一実施形態におけるコンテンツの再生の一時停止から再生再開までのTVとサーバとの間の大まかなデータのやり取りを示すシーケンス図である。 本発明の一実施形態に係るTVのRTSP処理部の動作の流れを示したフローチャートである。 本発明の一実施形態に係るTVで受信されバッファリングされるデータの位置及びそのタイムスタンプを説明するための図である。 本発明の一実施形態に係るTVのRTP処理部の動作の流れを示したフローチャートである。 本発明の一実施形態に係るTVのRTP処理部の動作の流れを示したフローチャートである。 本発明の一実施形態に係るTVのRTP処理部の動作の流れを示したフローチャートである。 本発明の一実施形態に係るTVが再生再開ポイントを調整する処理を説明するための図である。 本発明の一実施形態に係るTVが再生再開ポイントを調整する処理を説明するための図である。
符号の説明
1…CPU
8…通信部
9…MPEGデコーダ
10…リモートコントローラ(リモコン)
11…映像信号処理回路
15…音声信号処理回路
21…通信インタフェース
22…通信処理部
23…ストリーミング処理部
24…バッファリング処理部
28…デマルチプレクサ
29…再生処理部
30…映像デコーダ
31…音声デコーダ
32…字幕デコーダ
36…映像/出力処理部
100…テレビ受像機(TV)
150…ネットワーク
200…サーバ
221…RTP処理部
222…RTSP処理部

Claims (9)

  1. 送信装置からストリーミング送信されたコンテンツのデータを受信する受信手段と、
    前記受信されたデータをバッファリングするバッファリング手段と、
    前記バッファリングされたデータを順次読み出して再生する再生手段と、
    前記データの再生の一時停止操作及び再開操作を受け付ける操作受付手段と、
    前記一時停止操作及び再開操作に応じて、前記送信装置へ前記再生の一時停止要求及び再開要求を送信する送信手段と、
    前記バッファリング手段によりバッファリングされているデータのうち前記再開要求後に受信されたデータと重複するデータを破棄し、前記再開要求後に受信された前記破棄されたデータをバッファリングするように前記バッファリング手段を制御する制御手段と
    具備する電子機器。
  2. 請求項1に記載の電子機器であって、
    前記制御手段は、前記一時停止操作時に受信されたデータの、前記コンテンツの再生時間軸上における第1の位置と、前記再開操作後に最初に受信されたデータの前記再生時間軸上における第2の位置とを検出し、前記第2の位置が前記第1の位置よりも前である場合に、前記バッファリングされている前記第2の位置から前記第1の位置までの間のデータを破棄し、前記破棄後に受信された前記第2の位置から前記第1の位置までのデータをバッファリングするように前記バッファリング手段を制御し、前記破棄後に受信された前記第2の位置から前記第1の位置までのデータがバッファリングされたときに前記再生を再開するように前記再生手段を制御する
    を有する電子機器。
  3. 請求項2に記載の電子機器であって、
    前記制御手段は、前記一時停止操作時に前記バッファリング手段にバッファリングされているデータのうち最初に受信されたデータの前記再生時間軸上における第3の位置を検出し、前記第2の位置が前記第3の位置よりも前である場合に、前記バッファリングされている前記第3の位置から前記第1の位置までのデータと、前記受信された前記第3の位置より前のデータとを破棄し、前記破棄後に受信された前記第3の位置から前記第1の位置までのデータをバッファリングするように前記バッファリング手段を制御し、前記破棄後に受信された前記第3の位置から前記第1の位置までのデータがバッファリングされたときに前記再生を再開するように前記再生手段を制御する
    電子機器。
  4. 請求項3に記載の電子機器であって、
    前記制御手段は、前記一時停止操作後かつ前記再開操作前に最後に受信されたデータの前記再生時間軸上における第4の位置を検出し、前記第2の位置が前記第1の位置と前記第4の位置との間である場合に、前記バッファリングされている前記第2の位置から前記第4の位置までのデータを破棄するように前記バッファリング手段を制御し、前記第2の位置から前記第4の位置までのデータが破棄されたときに前記再生を再開するように前記再生手段を制御する
    電子機器。
  5. 請求項4に記載の電子機器であって、
    前記制御手段は、前記第2の位置が前記第4の位置よりも後であった場合に、前記再開要求の次回の送信時に、前記第1の位置から前記データを送信するように要求する前記再開要求を前記送信装置へ送信するように前記送信手段を制御する
    電子機器。
  6. 請求項3に記載の電子機器であって、
    前記制御手段は、前記一時停止操作後かつ前記再開操作前に最後に受信されたデータの前記再生時間軸上における第4の位置を検出し、前記第2の位置が前記第1の位置と前記第4の位置との間であった場合に、前記再開要求の次回の送信時に、前記第1の位置から前記データを送信するように要求する前記再開要求を前記送信装置へ送信するように前記送信手段を制御する
    電子機器。
  7. 請求項6に記載の電子機器であって、
    前記制御手段は、前記バッファリング手段にバッファリングされたデータの量が所定量を超えた場合に、前記第1の位置から前記データを送信するように要求する前記再開要求を前記送信装置へ送信するように前記送信手段を制御する
    電子機器。
  8. 送信装置からストリーミング送信されたコンテンツのデータを受信し、
    前記受信されたデータをバッファリングし、
    前記バッファリングされたデータを順次読み出して再生し、
    前記データの再生の一時停止操作及び再開操作を受け付け、
    前記一時停止操作及び再開操作に応じて、前記送信装置へ前記再生の一時停止要求及び再開要求を送信し、
    前記バッファリング手段によりバッファリングされているデータのうち前記再開要求後に受信されたデータと重複するデータを破棄し、前記再開要求後に受信された前記破棄されたデータをバッファリングする
    コンテンツ再生方法。
  9. 電子機器に、
    送信装置からストリーミング送信されたコンテンツのデータを受信するステップと、
    前記受信されたデータをバッファリングするステップと、
    前記バッファリングされたデータを順次読み出して再生するステップと、
    前記データの再生の一時停止操作及び再開操作を受け付けるステップと、
    前記一時停止操作及び再開操作に応じて、前記送信装置へ前記再生の一時停止要求及び再開要求を送信するステップと、
    前記バッファリング手段によりバッファリングされているデータのうち前記再開要求後に受信されたデータと重複するデータを破棄し、前記再開要求後に受信された前記破棄されたデータをバッファリングするステップと
    を実行させるためのプログラム。
JP2008250879A 2008-09-29 2008-09-29 電子機器、コンテンツ再生方法及びプログラム Expired - Fee Related JP4735697B2 (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
JP2008250879A JP4735697B2 (ja) 2008-09-29 2008-09-29 電子機器、コンテンツ再生方法及びプログラム
US12/564,102 US8190762B2 (en) 2008-09-29 2009-09-22 Electronic apparatus, content reproduction method, and program
CN2009101745415A CN101715046B (zh) 2008-09-29 2009-09-28 电子设备和内容再现方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2008250879A JP4735697B2 (ja) 2008-09-29 2008-09-29 電子機器、コンテンツ再生方法及びプログラム

Publications (2)

Publication Number Publication Date
JP2010087546A true JP2010087546A (ja) 2010-04-15
JP4735697B2 JP4735697B2 (ja) 2011-07-27

Family

ID=42058774

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2008250879A Expired - Fee Related JP4735697B2 (ja) 2008-09-29 2008-09-29 電子機器、コンテンツ再生方法及びプログラム

Country Status (3)

Country Link
US (1) US8190762B2 (ja)
JP (1) JP4735697B2 (ja)
CN (1) CN101715046B (ja)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP2429174A2 (en) 2010-09-09 2012-03-14 Sony Corporation Reproduction device, reproduction method, and program
JP2014130517A (ja) * 2012-12-28 2014-07-10 Square Enix Holdings Co Ltd コンテンツ提供システム、コンテンツ提供機器、クライアント機器、制御方法、及びプログラム
JP2015511784A (ja) * 2012-02-27 2015-04-20 クゥアルコム・インコーポレイテッドQualcomm Incorporated 要求取消し機能を備えた改良されたdashクライアントおよび受信機
JP2016116065A (ja) * 2014-12-15 2016-06-23 日本放送協会 受信機、送信機、及びコンテンツの受信方法

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101459693A (zh) * 2008-12-29 2009-06-17 中兴通讯股份有限公司 一种流媒体下载方法及系统
US9374406B2 (en) 2012-02-27 2016-06-21 Qualcomm Incorporated Dash client and receiver with a download rate estimator
JP5591892B2 (ja) * 2012-09-14 2014-09-17 株式会社東芝 コンテンツ配信サーバ装置及びその制御方法
US9910896B2 (en) * 2013-03-15 2018-03-06 Cisco Technology, Inc. Suspending and resuming continuous queries over data streams
WO2015145834A1 (ja) 2014-03-24 2015-10-01 株式会社スクウェア・エニックス インタラクティブシステム、端末装置、サーバ装置、制御方法、プログラム、及び記録媒体
US9959301B2 (en) 2014-07-25 2018-05-01 Cisco Technology, Inc. Distributing and processing streams over one or more networks for on-the-fly schema evolution
CN114448954A (zh) * 2021-12-30 2022-05-06 普强时代(珠海横琴)信息技术有限公司 一种静音处理方法以及装置、存储介质、电子装置

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004274619A (ja) * 2003-03-11 2004-09-30 Matsushita Electric Ind Co Ltd 動画配信サーバ、動画受信端末装置、画像パケット送信方法及び画像パケット受信方法
JP2004356829A (ja) * 2003-05-28 2004-12-16 Matsushita Electric Ind Co Ltd データ受信再生方法及びデータ受信再生装置
JP2006319956A (ja) * 2005-04-13 2006-11-24 Matsushita Electric Ind Co Ltd Mpeg符号化ストリーム復号装置
JP2007110704A (ja) * 2005-10-11 2007-04-26 Lg Electronics Inc モバイルデジタル放送の受信機及びデジタル放送の処理方法
JP2008139423A (ja) * 2006-11-30 2008-06-19 Sony Corp コンテンツ再生システム、再生装置、再生切替方法及びプログラム
JP2009111917A (ja) * 2007-10-31 2009-05-21 Toshiba Corp 情報端末装置

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100957797B1 (ko) * 2002-11-13 2010-05-13 엘지전자 주식회사 대화형 광디스크 장치에서의 콘텐츠 정보 재생방법과,콘텐츠 제공서버에서의 콘텐츠 정보 제공방법
JP4039417B2 (ja) * 2004-10-15 2008-01-30 株式会社日立製作所 記録再生装置
JP2006211602A (ja) * 2005-01-31 2006-08-10 Toshiba Corp データ送信機及びプログラム
JP4347322B2 (ja) 2006-07-14 2009-10-21 ソニー株式会社 受信装置および方法、並びにプログラム
JP2009044416A (ja) * 2007-08-08 2009-02-26 Sony Corp コンテンツ再生装置、コンテンツ再生方法、プログラム、およびコンテンツ再生システム

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004274619A (ja) * 2003-03-11 2004-09-30 Matsushita Electric Ind Co Ltd 動画配信サーバ、動画受信端末装置、画像パケット送信方法及び画像パケット受信方法
JP2004356829A (ja) * 2003-05-28 2004-12-16 Matsushita Electric Ind Co Ltd データ受信再生方法及びデータ受信再生装置
JP2006319956A (ja) * 2005-04-13 2006-11-24 Matsushita Electric Ind Co Ltd Mpeg符号化ストリーム復号装置
JP2007110704A (ja) * 2005-10-11 2007-04-26 Lg Electronics Inc モバイルデジタル放送の受信機及びデジタル放送の処理方法
JP2008139423A (ja) * 2006-11-30 2008-06-19 Sony Corp コンテンツ再生システム、再生装置、再生切替方法及びプログラム
JP2009111917A (ja) * 2007-10-31 2009-05-21 Toshiba Corp 情報端末装置

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP2429174A2 (en) 2010-09-09 2012-03-14 Sony Corporation Reproduction device, reproduction method, and program
JP2015511784A (ja) * 2012-02-27 2015-04-20 クゥアルコム・インコーポレイテッドQualcomm Incorporated 要求取消し機能を備えた改良されたdashクライアントおよび受信機
JP2014130517A (ja) * 2012-12-28 2014-07-10 Square Enix Holdings Co Ltd コンテンツ提供システム、コンテンツ提供機器、クライアント機器、制御方法、及びプログラム
US9571542B2 (en) 2012-12-28 2017-02-14 Square Enix Holdings Co., Ltd. Content providing system, device, and control method for providing different increments based on selected advertisement
JP2016116065A (ja) * 2014-12-15 2016-06-23 日本放送協会 受信機、送信機、及びコンテンツの受信方法

Also Published As

Publication number Publication date
US20100082833A1 (en) 2010-04-01
CN101715046A (zh) 2010-05-26
CN101715046B (zh) 2012-07-18
US8190762B2 (en) 2012-05-29
JP4735697B2 (ja) 2011-07-27

Similar Documents

Publication Publication Date Title
JP4735697B2 (ja) 電子機器、コンテンツ再生方法及びプログラム
JP7410107B2 (ja) 受信方法、及び、受信装置
JP5215604B2 (ja) クライアント装置、通信システム及びデータ処理方法
US8300667B2 (en) Buffer expansion and contraction over successive intervals for network devices
US8356324B2 (en) Implementing network personal video recorder for digital video settop boxes
US8655156B2 (en) Auxiliary audio transmission for preserving synchronized playout with paced-down video
US8244897B2 (en) Content reproduction apparatus, content reproduction method, and program
US7870281B2 (en) Content playback device, content playback method, computer-readable storage medium, and content playback system
US20170055018A1 (en) Method, device and computer program product for outputting a transport stream
JP4702397B2 (ja) コンテンツサーバ、情報処理装置、ネットワーク機器、コンテンツ配信方法、情報処理方法およびコンテンツ配信システム
WO2016049976A1 (zh) 一种智能家居中流媒体数据无缝连接实现方法及系统
US20080104644A1 (en) Video Transferring Apparatus and Method
US20080022007A1 (en) System and method of audio/video streaming
WO2013145419A1 (ja) コンテンツデータ記録装置、コンテンツデータ記録方法、制御プログラムおよび記録媒体
KR20110065100A (ko) 멀티미디어 스트리밍 서비스를 지원하는 방법 및 장치
JP5428734B2 (ja) ネットワーク機器、情報処理装置、ストリーム切替方法、情報処理方法、プログラムおよびコンテンツ配信システム
US9473757B2 (en) Presentation of a multi-frame segment of video content
KR100991845B1 (ko) Vod 시스템에서 컨텐츠의 정보파일과 gop 단위의 전송을 이용한 vcr 유사 동작 처리방법
KR20130055307A (ko) 스트리밍 멀티미디어 재생을 위한 버퍼 관리 장치 및 방법
KR20100068780A (ko) 스트리밍 서비스에서 프리 디코더 버퍼의 오버플로우 방지 방법 및 장치
WO2015072020A1 (ja) 情報処理装置および情報処理方法
JP2014072650A (ja) 映像コンテンツ配信装置

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20100219

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20100818

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20100824

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20101012

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20110329

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20110411

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20140513

Year of fee payment: 3

LAPS Cancellation because of no payment of annual fees