JP4347322B2 - 受信装置および方法、並びにプログラム - Google Patents

受信装置および方法、並びにプログラム Download PDF

Info

Publication number
JP4347322B2
JP4347322B2 JP2006194925A JP2006194925A JP4347322B2 JP 4347322 B2 JP4347322 B2 JP 4347322B2 JP 2006194925 A JP2006194925 A JP 2006194925A JP 2006194925 A JP2006194925 A JP 2006194925A JP 4347322 B2 JP4347322 B2 JP 4347322B2
Authority
JP
Japan
Prior art keywords
streaming data
buffer
stored
unit
playback
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.)
Active
Application number
JP2006194925A
Other languages
English (en)
Other versions
JP2008022507A (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.)
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 JP2006194925A priority Critical patent/JP4347322B2/ja
Priority to EP20070112395 priority patent/EP1879393B1/en
Priority to TW96125729A priority patent/TWI358234B/zh
Priority to US11/879,036 priority patent/US9148696B2/en
Priority to CN200710135820.1A priority patent/CN101106697B/zh
Publication of JP2008022507A publication Critical patent/JP2008022507A/ja
Application granted granted Critical
Publication of JP4347322B2 publication Critical patent/JP4347322B2/ja
Active 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/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/443OS processes, e.g. booting an STB, implementing a Java virtual machine in an STB or power management in an STB
    • 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
    • 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/80Responding to QoS
    • 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/4331Caching operations, e.g. of an advertisement for later insertion during playback
    • 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/438Interfacing the downstream path of the transmission network originating from a server, e.g. retrieving MPEG packets from an IP network
    • H04N21/4383Accessing a communication channel
    • 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, rendering scenes according to MPEG-4 scene graphs
    • H04N21/44016Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream, rendering scenes according to MPEG-4 scene graphs involving splicing one content stream with another content stream, e.g. for substituting a video clip
    • 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/442Monitoring of processes or resources, e.g. detecting the failure of a recording device, monitoring the downstream bandwidth, the number of times a movie has been viewed, the storage space available from the internal hard disk
    • H04N21/44213Monitoring of end-user related data
    • H04N21/44222Analytics of user selections, e.g. selection of programs or purchase activity
    • 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/47End-user applications
    • H04N21/472End-user interface for requesting content, additional data or services; End-user interface for interacting with content, e.g. for content reservation or setting reminders, for requesting event notification, for manipulating displayed content
    • H04N21/47202End-user interface for requesting content, additional data or services; End-user interface for interacting with content, e.g. for content reservation or setting reminders, for requesting event notification, for manipulating displayed content for requesting content on demand, e.g. video on demand
    • 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
    • H04N5/00Details of television systems
    • H04N5/76Television signal recording
    • H04N5/78Television signal recording using magnetic recording
    • H04N5/782Television signal recording using magnetic recording on tape
    • H04N5/783Adaptations for reproducing at a rate different from the recording rate

Description

本発明は、受信装置および方法、並びにプログラムに関し、特に、データ伝送の遅延を少なくさせることができるようにした受信装置および方法、並びにプログラムに関する。
近年、映像や音声などのデータをストリーミング方式で配信するサービスが多く提供されるようになってきた。一般的に、ストリーミング方式のストリーミングデータを受信する端末においては、ネットワークにおけるデータの送受信の不安定さを解消し、ストリーミングデータを滑らかに再生するため、ストリーミングデータを一時的に蓄積するバッファが設けられている。
図1は、従来のストリーミングシステム1の構成を示すブロック図である。
従来のストリーミングシステム1においては、映像や音声などのストリーミングデータを配信するサーバ11は、クライアント13からの要求に応じて、ネットワーク12を介してストリーミングデータをクライアント13に送信する。
なお、サーバ11は、例えば、テレビジョンチューナを内蔵するとともに、DVD(Digital Versatile Disk)プレーヤなどの外部機器からの画音信号を受信できるようになっている。さらに、外部から供給される制御信号により、テレビジョンチューナからの画音信号とDVDプレーヤからの画音信号を切り替えたり、テレビジョンチューナのチャンネルを切り替えたりすることができるようになっている。また、サーバ11を介して、DVDプレーヤなどの外部機器の動作を制御できるようになっている。
クライアント13においては、図2に示すように、受信部21は、ネットワーク12を介してサーバ11から送信されるストリーミングデータを受信し、そのストリーミングデータを復調して、バッファ22に蓄積させる。
バッファ22に蓄積されたストリーミングデータは、デコーダ23が処理を行うタイミングに応じて、デコーダ23に供給される。デコーダ23は、バッファ22より供給されるストリーミングデータから映像データと音声データを個別に復号し、復号されたストリーミングデータをバッファ24に蓄積させる。
そして、バッファ24に蓄積されたストリーミングデータは、再生部26に供給される。再生部26は、バッファ24から供給されるストリーミングデータを再生し、その再生されたストリーミングデータを出力部27に供給する。
出力部27は、画像を表示するディスプレイや音声を出力するスピーカなどからなり、ストリーミングデータによる画像と、その画像に対応する音声を出力する。
ここで、バッファ24は、ネットワーク12の通信状態が安定している場合、クライアント13がストリーミングデータを受信するための十分な通信速度を確保できるので、図3のバッファ24におけるハッチングされたストリーミングデータの領域で示すように、十分なバッファ量を蓄積する。その後、ネットワーク12の通信状態が不安定になった場合、クライアント13がストリーミングデータを受信するための通信速度が低下するので、図4のバッファ24におけるハッチングされたストリーミングデータの領域で示すように、蓄積しているバッファ量は減少する。
このように、バッファ24が蓄積しているストリーミングデータのバッファ量は減少するが、再生部26は、再生速度制御部25から供給される、バッファ24に蓄積されているストリーミングデータを再生するので、バッファ24に蓄積されているストリーミングデータのバッファ量が減少したとしても再生動作が停止することなく、ストリーミングデータを滑らかに再生できる。すなわち、ストリーミングデータは、一度、バッファ24に蓄積され、一定時間経過した後に、再生部26により再生される。
なお、図3および図4では、説明を簡略化するために、図2のクライアント13を構成するブロックのうち、バッファ24と再生部26だけを表現しているが、バッファ22についても同様である。また、図3および図4においては、バッファ24の下側に付された三角印は、バッファ量を示しており、図中左側から図中右側にいくほどその量が大きくなることを示している。
ところで、上述したように、再生部26は、バッファ24に蓄積され、一定時間経過した後のストリーミングデータを再生するので、ユーザによって、テレビジョンチューナのチャンネルの切り替えなどの指示を行うための所定の操作がされた場合、バッファ24に蓄積されている操作前のストリーミングデータの再生が終わってからでないと、その操作に対応する操作後のストリーミングデータの再生を行うことができない。
このため、ユーザは、バッファ24に蓄積されている操作前のストリーミングデータを一定時間視聴した後で、すなわち、操作前のストリーミングデータの再生が終了してから、操作後のストリーミングデータを視聴することになる。
図5は、ユーザ操作時における、バッファ24に蓄積されるストリーミングデータを説明する図である。
図5においては、図中上側から図中下側が時間方向となり、図中の1番上に示される、サーバ11、ネットワーク12、バッファ24、および再生部26の状態を「状態1」と称し、その状態1の下側のサーバ11、ネットワーク12、バッファ24、および再生部26の状態を「状態2」と称し、順次、それらの状態を、「状態3」、「状態4」、「状態5」と称する。すなわち、図5においては、サーバ11、ネットワーク12、バッファ24、および再生部26は、それぞれ、時間の経過とともに、状態1、状態2、状態3、状態4、状態5の順に状態を遷移することになる。
なお、図5では、図3および図4と同様に、説明を簡略化するために、図2のクライアント13を構成するブロックのうち、バッファ24と再生部26だけを表現している。また、図中下側に示すように、図中の白四角は、ユーザによる操作前のストリーミングデータを示し、図中の黒四角は、ユーザによる操作後のストリーミングデータを示している。
図5において、サーバ11は、状態1に示すように、ユーザによって、チャンネルの切り替えなどの所定の操作がされた場合、クライアント13からのチャンネル切り替えの通知に応じて、送信するストリーミングデータを、操作前のストリーミングデータから操作後のストリーミングデータに切り替える。このとき、クライアント13においては、サーバ11から操作後のストリーミングデータを受信していないので、バッファ24は、操作前のストリーミングデータを蓄積し、再生部26は、操作前のストリーミングデータを再生する。
その後、クライアント13においては、ネットワーク12を介して、サーバ11から操作後のストリーミングデータを受信すると、状態2乃至状態4に示すように、バッファ24は、FIFO(First-In First-Out)型のメモリであり、古く蓄積した順にデータを読み出すので、操作前のストリーミングデータを順次読み出す。このとき、再生部26は、バッファ24から読み出したデータが全て操作前のストリーミングデータであるので、その操作前のストリーミングデータを再生する。
そして、再生部26は、状態5に示すように、バッファ24に蓄積されたストリーミングデータのなかで、操作後のストリーミングデータが最も古いデータとなったとき、バッファ24からその操作後のストリーミングデータを読み出し、再生する。
以上のようにして、従来のストリーミングシステム1においては、クライアント13は、ネットワーク12を介してサーバ11からのストリーミングデータを受信し、再生していた。このため、ユーザによって、テレビジョンチューナのチャンネルの切り替えなどの指示を行うための所定の操作がされた場合、バッファ24に蓄積されている操作前のストリーミングデータの再生が終わってからでないと、その操作に対応する操作後のストリーミングデータの再生を行うことができないという問題があった。
また、ユーザ操作時に、操作前のストリーミングデータを蓄積しているバッファ24の内容を捨てる、いわゆるフラッシュすることで、操作後のストリーミングデータを遅延なく再生させる方法がある。
図6は、ユーザ操作時における、バッファ24のフラッシュを説明する図である。なお、図6においては、説明を簡略にするために、クライアント13の構成要素として、バッファ24と再生部26のみを図示している。
図6においては、図5と同様に、図中の1番上に示される、サーバ11、ネットワーク12、バッファ24、再生部26の状態を「状態1」と称し、順次、それらの状態を、「状態2」、「状態3」と称する。すなわち、図6においては、サーバ11、ネットワーク12、バッファ24、再生部26は、それぞれ、時間の経過とともに、状態1、状態2、状態3の順に状態を遷移することになる。
図6において、サーバ11は、状態1に示すように、ユーザによって、チャンネルの切り替えなどの所定の操作がされた場合、クライアント13からのチャンネル切り替えの通知に応じて、送信するストリーミングデータを、操作前のストリーミングデータから操作後のストリーミングデータに切り替える。このとき、クライアント13においては、バッファ24は、フラッシュされ、再生部26は、操作前のストリーミングデータを再生する。
その後、クライアント13においては、ネットワーク12を介して、サーバ11から操作後のストリーミングデータを受信すると、バッファ24は、状態2に示すように、フラッシュされているので、バッファ24に最も古く蓄積されたストリーミングデータとして、操作後のストリーミングデータを蓄積する。そして、再生部26は、状態3に示すように、フラッシュされたバッファ24から操作後のストリーミングデータを直ぐに読み出し、再生する。
このように、図6に示されるバッファ24のフラッシュを行う従来のクライアント13においては、バッファ24は、ユーザによって所定の操作がされた場合、蓄積している操作前のストリーミングデータをフラッシュしてから操作後のストリーミングデータを蓄積し、再生部26は、蓄積されている操作後のストリーミングデータを再生していた。
また、本出願人は、リモートコントローラが操作された場合、オーバーフロー閾値を通常の閾値よりも小さい操作時の閾値に変更し、バッファ内のストリーミングデータの量が操作時の閾値を超えていると判定された場合、再生処理を速くするように制御することで、コンテンツを表示装置に表示させるまでの時間を短縮させるデータ配信システムを先に提案している(例えば、特許文献1参照)。
特開2004−356695号公報
しかしながら、先に述べたように、図5に示されるクライアント13においては、ユーザ操作時において、バッファに蓄積されている操作前のストリーミングデータを再生してから操作後のストリーミングデータを再生するので、直ぐには操作後のストリーミングデータに切り替わらないため、ユーザ操作が直ちに反映されず、このデータ伝送の遅延により操作性が悪くなるという問題があった。
具体的には、図5に示したように、クライアント13においては、再生部26は、バッファ24に蓄積され、一定時間経過した後のストリーミングデータを再生するので、ユーザによって所定の操作がされた場合、バッファ24に蓄積されている操作前のストリーミングデータの再生が終わってからでないと、その操作に対応する操作後のストリーミングデータの再生を行うことができないため、操作性が悪くなっていた。
この問題を解決するために、先に説明した図6に示したように、ユーザ操作時において、操作前のストリーミングデータを蓄積しているバッファ24をフラッシュすることで、操作後のストリーミングデータを即座に再生させる方法が提案されている。
この方法により、操作前のストリーミングデータを蓄積しているバッファ24をフラッシュして、サーバ11からの操作後のストリーミングデータを即座に再生することはできるが、フラッシュすることによって失われた操作前のストリーミングデータを再生することができなくなるという問題も出てくる。すなわち、操作前のストリーミングデータが失われることにより、ユーザは、フラッシュされた部分の画像データを視聴することができず、さらに、時間的に断裂した音声を視聴することになるという問題が出てくる。
特に、ユーザによって、例えば、サーバ11に接続されたDVDレコーダなどの早送り、巻き戻し、一時停止、スロー再生などの同一コンテンツ内における再生スピードを変更する指示がクライアント13側で行われた場合、操作前のストリーミングデータと操作後ストリーミングデータとの間で、時間的な断裂が生じ、ユーザによる操作に不便が生じる可能性が出てくる。例えば、図7に示すように、位置1と位置2との間の操作前のストリーミングデータがフラッシュされた場合、位置1のストリーミングデータを再生しているときに、ユーザによって一時停止の操作がされると、位置1と位置2との間の操作前のストリーミングデータがフラッシュされており存在しないので、位置2で一時停止したストリーミングデータが視聴されることになる。
本発明はこのような状況に鑑みてなされたものであり、ユーザ操作時に、バッファに蓄積されているストリーミングデータの再生速度を動的に変化させることにより、データ伝送の遅延を少なくさせるとともに、データが時間的に断裂することがないようにするものである。
本発明の一側面の受信装置は、送信装置から送信されてくるストリーミングデータを受信するとともに、前記送信装置に対してストリーミングデータの切り替え要求を送信する受信装置において、前記送信装置から送信されてくるストリーミングデータを受信する受信部と、受信された前記ストリーミングデータを一時的に蓄積した後に出力する蓄積部と、ユーザによって前記ストリーミングデータの切り替え要求の操作が行なわれたか否かを検出する操作検出部と、前記操作が行なわれたことが検出された場合、前記蓄積部に蓄積されている前記ストリーミングデータのなかの、前記送信装置から最後に受信した前記ストリーミングデータを特定するための特定情報を保持する保持部と、保持している前記特定情報によって特定される前記送信装置から最後に受信した前記ストリーミングデータが再生されるまで、蓄積されている前記ストリーミングデータが早送りされるように前記再生速度を制御する制御部とを備える。
前記保持部は、前記操作が行なわれたことが検出された場合、前記蓄積部に蓄積されている前記ストリーミングデータのなかの、前記送信装置から最後に受信した前記ストリーミングデータに対して、前記操作が行われたことを示す付加情報を付加することで、前記特定情報を保持し、前記制御部は、蓄積されている前記ストリーミングデータに付加されている前記付加情報が検出されるまで、蓄積されている前記ストリーミングデータが早送りされるように前記再生速度を制御することができる。
前記制御部は、前記付加情報が検出された場合、前記蓄積部に蓄積される前記ストリーミングデータが所定の量となるまで、蓄積されている前記ストリーミングデータがスロー再生されるように前記再生速度を制御することができる。
前記保持部は、前記操作が行なわれたことが検出された場合、前記蓄積部に蓄積されている前記ストリーミングデータのなかの、前記送信装置から最後に受信した前記ストリーミングデータに付加されている時刻を記憶することで、前記特定情報を保持し、前記制御部は、再生される前記ストリーミングデータに付加されている時刻が、記憶されている前記時刻を経過するまで、蓄積されている前記ストリーミングデータが早送りされるように前記再生速度を制御することができる。
前記制御部は、記憶されている前記時刻を経過した場合、前記蓄積部に蓄積される前記ストリーミングデータが所定の量となるまで、蓄積されている前記ストリーミングデータがスロー再生されるように前記再生速度を制御することができる。
ユーザによって操作される、前記ストリーミングデータを送信する機器の切り替え、チャンネルの切り替え、または前記送信装置に接続された外部機器の再生、巻き戻し、早送り、一時停止、若しくは停止を指示する操作部をさらに備え、
前記操作は、前記ストリーミングデータを送信する機器の切り替えを指示する操作、チャンネルの切り替えを指示する操作、または前記送信装置に接続された外部機器の再生、巻き戻し、早送り、一時停止、若しくは停止を指示する操作であるようにすることができる。
本発明の一側面の受信方法は、送信装置から送信されてくるストリーミングデータを受信するとともに、前記送信装置に対してストリーミングデータの切り替え要求を送信する受信装置の受信方法において、前記送信装置から送信されてくるストリーミングデータを受信し、受信された前記ストリーミングデータを一時的に蓄積した後に出力し、ユーザによって前記ストリーミングデータの切り替え要求の操作が行なわれたか否かを検出し、前記操作が行なわれたことが検出された場合、蓄積されている前記ストリーミングデータのなかの、前記送信装置から最後に受信した前記ストリーミングデータを特定するための特定情報を保持し、保持している前記特定情報によって特定される前記送信装置から最後に受信した前記ストリーミングデータが再生されるまで、蓄積されている前記ストリーミングデータが早送りされるように前記再生速度を制御する。
本発明の一側面のプログラムは、送信装置から送信されてくるストリーミングデータを受信するとともに、前記送信装置に対してストリーミングデータの切り替え要求を送信する受信装置の制御を、コンピュータに実行させるプログラムにおいて、前記送信装置から送信されてくるストリーミングデータを受信し、受信された前記ストリーミングデータを一時的に蓄積した後に出力し、ユーザによって前記ストリーミングデータの切り替え要求の操作が行なわれたか否かを検出し、前記操作が行なわれたことが検出された場合、蓄積されている前記ストリーミングデータのなかの、前記送信装置から最後に受信した前記ストリーミングデータを特定するための特定情報を保持し、保持している前記特定情報によって特定される前記送信装置から最後に受信した前記ストリーミングデータが再生されるまで、蓄積されている前記ストリーミングデータが早送りされるように前記再生速度を制御する。
本発明の一側面においては、送信装置から送信されてくるストリーミングデータが受信され、受信されたストリーミングデータが一時的に蓄積された後に出力され、ユーザによってストリーミングデータの切り替え要求の操作が行なわれたか否かが検出され、操作が行なわれたことが検出された場合、蓄積されているストリーミングデータのなかの、送信装置から最後に受信したストリーミングデータを特定するための特定情報が保持され、保持している特定情報によって特定される送信装置から最後に受信したストリーミングデータが再生されるまで、蓄積されているストリーミングデータが早送りされるように再生速度が制御される。
以上のように、本発明の一側面によれば、データ伝送の遅延を少なくさせることができるとともに、データが時間的に断裂することがないようにすることができる。
以下に本発明の実施の形態を説明するが、本発明の構成要件と、明細書または図面に記載の実施の形態との対応関係を例示すると、次のようになる。この記載は、本発明をサポートする実施の形態が、明細書または図面に記載されていることを確認するためのものである。従って、明細書または図面中には記載されているが、本発明の構成要件に対応する実施の形態として、ここには記載されていない実施の形態があったとしても、そのことは、その実施の形態が、その構成要件に対応するものではないことを意味するものではない。逆に、実施の形態が構成要件に対応するものとしてここに記載されていたとしても、そのことは、その実施の形態が、その構成要件以外の構成要件には対応しないものであることを意味するものでもない。
本発明の一側面の受信装置は、送信装置(例えば、図8のサーバ111)から送信されてくるストリーミングデータを受信するとともに、前記送信装置に対してストリーミングデータの切り替え要求を送信する受信装置(例えば、図8のクライアント114)において、前記送信装置から送信されてくるストリーミングデータを受信する受信部(例えば、図20の受信部252b)と、受信された前記ストリーミングデータを一時的に蓄積した後に出力する蓄積部(例えば、図20のバッファ255)と、ユーザによって前記ストリーミングデータの切り替え要求の操作が行なわれたか否かを検出する操作検出部(例えば、図20の制御部251)と、前記操作が行なわれたことが検出された場合、前記蓄積部に蓄積されている前記ストリーミングデータのなかの、前記送信装置から最後に受信した前記ストリーミングデータを特定するための特定情報を保持する保持部(例えば、図20のマーク情報付加部301または図23のタイムスタンプ記憶部311)と、保持している前記特定情報によって特定される前記送信装置から最後に受信した前記ストリーミングデータが再生されるまで、蓄積されている前記ストリーミングデータが早送りされるように前記再生速度を制御する制御部(例えば、図20の再生速度制御部256)とを備える。
前記保持部(例えば、図20のマーク情報付加部301)は、前記操作が行なわれたことが検出された場合、前記蓄積部に蓄積されている前記ストリーミングデータのなかの、前記送信装置から最後に受信した前記ストリーミングデータに対して、前記操作が行われたことを示す付加情報を付加することで、前記特定情報を保持し(例えば、図21のステップS75の処理)、前記制御部は、蓄積されている前記ストリーミングデータに付加されている前記付加情報が検出されるまで、蓄積されている前記ストリーミングデータが早送りされるように前記再生速度を制御する(図16のステップS52の処理)
前記制御部は、前記付加情報が検出された場合、前記蓄積部に蓄積される前記ストリーミングデータが所定の量となるまで、蓄積されている前記ストリーミングデータがスロー再生されるように前記再生速度を制御することができる。
前記保持部(例えば、図23のタイムスタンプ記憶部311)は、前記操作が行なわれたことが検出された場合、前記蓄積部に蓄積されている前記ストリーミングデータのなかの、前記送信装置から最後に受信した前記ストリーミングデータに付加されている時刻を記憶することで、前記特定情報を保持し(例えば、図24のステップS95の処理)、前記制御部は、再生される前記ストリーミングデータに付加されている時刻が、記憶されている前記時刻を経過するまで、蓄積されている前記ストリーミングデータが早送りされるように前記再生速度を制御する(例えば、図26のステップS112の処理)。
前記制御部は、記憶されている前記時刻を経過した場合、前記蓄積部に蓄積される前記ストリーミングデータが所定の量となるまで、蓄積されている前記ストリーミングデータがスロー再生されるように前記再生速度を制御することができる。
ユーザによって操作される、前記ストリーミングデータを送信する機器の切り替え、チャンネルの切り替え、または前記送信装置に接続された外部機器の再生、巻き戻し、早送り、一時停止、若しくは停止を指示する操作部(例えば、図11の操作部115)をさらに備え、前記操作は、前記ストリーミングデータを送信する機器の切り替えを指示する操作、チャンネルの切り替えを指示する操作、または前記送信装置に接続された外部機器の再生、巻き戻し、早送り、一時停止、若しくは停止を指示する操作であるようにすることができる。
本発明の一側面の受信方法または本発明の一側面のプログラムは、送信装置から送信されてくるストリーミングデータを受信するとともに、前記送信装置に対してストリーミングデータの切り替え要求を送信する受信装置の受信方法において、または、送信装置から送信されてくるストリーミングデータを受信するとともに、前記送信装置に対してストリーミングデータの切り替え要求を送信する受信装置の制御を、コンピュータに実行させるプログラムにおいて、前記送信装置から送信されてくるストリーミングデータを受信し(例えば、図21のステップS73の処理)、受信された前記ストリーミングデータを一時的に蓄積した後に出力し(例えば、図21のステップS78の処理)、ユーザによって前記ストリーミングデータの切り替え要求の操作が行なわれたか否かを検出し(例えば、図21のステップS74の処理)、前記操作が行なわれたことが検出された場合、蓄積されている前記ストリーミングデータのなかの、前記送信装置から最後に受信した前記ストリーミングデータを特定するための特定情報を保持し(例えば、図21のステップS75の処理または図24のステップS95の処理)、保持している前記特定情報によって特定される前記送信装置から最後に受信した前記ストリーミングデータが再生されるまで、蓄積されている前記ストリーミングデータが早送りされるように前記再生速度を制御する(例えば、図21のステップS79の処理)。
以下、図面を参照しながら本発明の実施の形態について説明する。
図8は、本発明を適用したストリーミングシステム101の一実施の形態の構成を示すブロック図である。
ストリーミングシステム101は、サーバ111、画音ソース112、ネットワーク113、およびクライアント114を含むようにして構成される。クライアント113は、操作部115および出力部116を含んでいる。
サーバ111は、例えば、動画などのコンテンツをストリーミング方式で配信する専用のサーバなどからなる。サーバ111は、画音ソース112から供給される画音信号に対して所定の処理を施すことにより得られたストリーミングデータを、ネットワーク113を介して、クライアント114に送信する。
画音ソース112は、アナログまたはデジタル形式の映像または音声の情報の信号源である。なお、画音ソース112は、例えば、放送信号をアンテナ(図示せず)を介して受信して、画音信号を出力するチューナや、DVDレコーダ、ハードディスクレコーダ、ビデオテープレコーダなどの外部機器とすることができる。また、種々のファイル形式の画音情報を供給する情報源を画音ソース112とすることもできる。また、画音ソース112は、サーバ111自身に内蔵させることもできる。
ネットワーク113には、サーバ111およびクライアント114が接続される。ネットワーク113は、例えば、無線の通信を用いるネットワークである、いわゆる無線LAN(Local Area Network)などからなり、例えば、RTP(Real-time Transport Protocol)などのプロトコルにしたがって、サーバ111およびクライアント114を相互に通信させる。
なお、無線LANの規格としては、例えば、IEEE(The Institute of Electrical and Electronic Engineers , Inc.)802.11規格に準拠した無線LANが用いられる。また、ネットワーク113は、無線LANに限らず、例えば、イーサネット(登録商標)などの規格に準拠した有線の通信を用いるネットワークの他、インターネットなどの、相互に接続されているネットワークまたは通信回線などとすることができる。また、利用されるプロトコルは、RTPに限らず、タイムスタンプなどの時間情報を含むプロトコルであれば、他のプロトコルを用いることができる。
クライアント114は、例えば、パーソナルコンピュータ、ゲーム機、または携帯電話機などのネットワーク113に接続可能な機器である。クライアント114は、ネットワーク113を介して、サーバ111から送信されるストリーミングデータを受信する。クライアント114は、受信したストリーミングデータをクライアント114に設けられた出力部116に供給する。そして、出力部116は、クライアント114から供給されるストリーミングデータによる画像を、例えば、LCD(Liquid Crystal Display)などのディスプレイに表示するとともに、その画像に対応する音声をスピーカから出力する。これにより、ユーザは、サーバ111からのストリーミングデータを視聴することができる。
また、クライアント114は、ユーザによって、自分に設けられた操作部115が操作された場合、その操作に対応する要求を、ネットワーク113を介してサーバ111に送信する。これにより、サーバ111は、クライアント114からの要求に応じたストリーミングデータを、ネットワーク113を介して、クライアント114に送信する。
なお、ストリーミングシステム101は、図8の例では、説明を簡略にするために、サーバ111、画音ソース112、ネットワーク113、クライアント114、操作部115、および出力部116が1つずつ設けられているが、それぞれ、複数設けるようにしてもよい。
図9は、クライアント114のハードウェア構成の例を示すブロック図である。
クライアント114のCPU(Central Processing Unit)151は、ROM(Read Only Memory)152、または記録部158に記録されているプログラムに従って各種の処理を実行する。RAM(Random Access Memory)153には、CPU151が実行するプログラムやデータなどが適宜記憶される。これらのCPU151、ROM152、およびRAM153は、バス154により相互に接続されている。
CPU151にはまた、バス154を介して入出力インターフェース155が接続されている。入出力インターフェース155には、キーボード、マウス、マイクロホンなどよりなる入力部156、ディスプレイ、スピーカなどよりなる出力部157が接続されている。CPU151は、入力部156から入力される指令に対応して各種の処理を実行する。そして、CPU151は、処理の結果得られた画像や音声等を出力部157に出力する。なお、入力部156と出力部157は、図8に示される操作部115と出力部116に対応している。
入出力インターフェース155に接続されている記録部158は、例えば、ハードディスクなどで構成され、CPU151が実行するプログラムや各種のデータを記録する。通信部159は、ネットワーク113を介して外部の装置と通信する。
また、外部に設けられたダウンロード用のサーバから通信部159を介してプログラムを取得し、記録部158に記録してもよい。
入出力インターフェース155に接続されているドライブ160は、磁気ディスク、光ディスク、光磁気ディスク、または半導体メモリなどのリムーバブルメディア161が装着されたとき、それらを駆動し、そこに記録されているプログラムやデータなどを取得する。取得されたプログラムやデータは、必要に応じて記録部158に転送され、記録される。
なお、サーバ111は、クライアント114と同様のハードウェア構成を有しており、その記載および説明は繰り返しになるので省略する。また、サーバ111およびクライアント114は、図9に示した内部構造に限らず、必要に応じて、機能を追加したり削除したりすることは可能であり、その機能に対応した構成を持つことが可能である。
すなわち、サーバ111のハードウェアの構成は、図9の例に限定されず、後述する図10の機能的構成を少なくとも有していればよい。
図10は、サーバ111の機能的構成の例を示すブロック図である。
サーバ111は、制御部211、通信部212、入力部213、エンコーダ214、パケタイザ215、バッファ216、およびマーク情報付加部217を含むようにして構成される。
制御部211は、サーバ111の各部の動作を制御する。
通信部212は、制御部211の制御にしたがって、ネットワーク113を介して、クライアント114などの外部の装置と通信する。通信部212は、各種のパケットを送信する送信部212aおよび各種のパケットを受信する受信部212bを含むようにして構成される。
入力部213は、図9の入力部156に対応し、制御部211の制御にしたがって、画音ソース112からの画音信号をエンコーダ214に供給する。なお、画音ソース112からの画音信号がアナログのデータである場合、図示せぬA/D(Analog/Digital)変換部が、画音ソース112からの画音信号を、アナログからデジタルのデータに変換し、変換により得られたデジタルのデータをエンコーダ214に供給する。
エンコーダ214は、入力部213からの画音信号を所定の符号化方式により符号化し、符号化された画像データをパケタイザ215に供給する。なお、本実施の形態では、画音信号の符号化方式として、MPEG4(Moving Picture Experts Group phase 4)を例にして説明するが、例えば、MPEG2,AVC(Advanced Video Coding),H.264などのその他の符号化方式を用いることも可能である。
パケタイザ215は、エンコーダ214から供給された画像データを、RTP方式のパケットに格納することにより、RTPパケットを生成する。パケタイザ215は、生成したRTPパケットをバッファ216に蓄積させる。
なお、パケタイザ215は、画音ソース112からの画音信号が既にMPEG4形式となっている場合、エンコーダ214による符号化の処理を行う必要がないので、入力部213から供給されるMPEG4形式のデータを、RTP方式のパケットに格納し、RTPパケットを生成する。
受信部212bは、ネットワーク113を介して、クライアント114から切り替え操作要求を受信する。受信部212bは、受信した切り替え操作要求をマーク情報付加部217に供給する。
ここで、切り替え操作要求は、クライアント114を操作するユーザによって、例えばクライアント114の出力部116に表示された遠隔操作用の画面を利用して、例えばチューナのチャンネルの切り替えなどの所定の操作がされた場合、ネットワーク113を介して、クライアント114からサーバ111に送信される要求であって、サーバ111に対して、それらの操作に対応する動作を実行させるための要求である。ユーザによる所定の操作は、例えば、チャンネルの切り替え、ストリーミングデータを供給する外部機器の切り替え、またはストリーミングデータを出力するDVDレコーダ、ハードディスクレコーダ、ビデオテープレコーダなどの外部機器に対する、再生、巻き戻し、早送り、一時停止、若しくは停止などのトリックプレイなどの操作である。
マーク情報付加部217は、受信部212bから供給される切り替え操作要求に応じて、パケタイザ215によって生成されたRTPパケットにマーク情報を付加する。
ここで、マーク情報とは、クライアント114を操作するユーザによって、所定の操作がされたことを示す情報である。ユーザによる所定の操作は、上述したように、例えば、チューナのチャンネルの切り替えや、トリックプレイなどの操作である。
パケタイザ215は、マーク情報付加部217によってRTPパケットにマーク情報が付加された場合、そのマーク情報が付加されたRTPパケットをバッファ216に蓄積させる。
バッファ216は、例えば、リングバッファ構成をとるFIFO型のメモリであり、パケタイザ215から供給されるRTPパケットを一時的に蓄積する。すなわち、バッファ216に蓄積されたRTPパケットは、最初に蓄積されたものから順に通信部212に供給される。
送信部212aは、バッファ216に蓄積されているRTPパケットを、ネットワーク113を介して、クライアント114に送信する。これにより、サーバ111は、ストリーミングデータを、ネットワーク113を介して、クライアント114に送信する。
また、クライアント114のハードウェアの構成は、図9の例に限定されず、後述する図11の機能的構成を少なくとも有していればよい。
図11は、クライアント114の機能的構成の例を示すブロック図である。
クライアント114は、操作部115、出力部116、制御部251、通信部252、バッファ253、デコーダ254、バッファ255、再生速度制御部256、および再生部257を含むようにして構成される。
制御部251は、クライアント114の各部の動作を制御する。
通信部252は、図9の通信部159に対応し、制御部251の制御にしたがって、ネットワーク113を介して、外部の装置と通信する。通信部252は、各種のパケットを送信する送信部252aおよび各種のパケットを受信する受信部252bを含むようにして構成される。
受信部252bは、ネットワーク113を介して、サーバ111から送信されるストリーミングデータを受信し、そのストリーミングデータを復調して、バッファ253に蓄積させる。バッファ253に蓄積されたストリーミングデータは、デコーダ254が処理を行うタイミングに応じて、デコーダ254に供給される。
デコーダ254は、バッファ253に蓄積されているストリーミングデータから映像データと音声データを個別に復号し、復号により得られたストリーミングデータをバッファ255に蓄積させる。
なお、デコーダ254は、制御部251の制御にしたがって、バッファ253に蓄積されたストリーミングデータのなかから、例えばIフレームだけを復号したり、バッファ253に蓄積されたストリーミングデータを復号し、復号により得られたストリーミングデータのうち、例えば8枚のフレームのうちの1枚のフレームなどの特定のフレームだけをバッファ255に蓄積させることもできる。
バッファ255は、例えば、リングバッファ構成をとるFIFO型のメモリであり、デコーダ254からのストリーミングデータを蓄積する。すなわち、バッファ255に蓄積されたストリーミングデータは、最初に受信したものから順に、再生速度制御部256に供給される。
なお、このバッファ255の容量は、ネットワーク113の伝送速度や、サーバ111とクライアント114の処理能力などを考慮して、ある程度の余裕を持つように定められる。
再生速度制御部256は、再生モード(詳細は後述する)に応じた再生速度で、バッファ255に蓄積されているストリーミングデータが再生されるように再生速度を制御する。すなわち、バッファ255に蓄積されているストリーミングデータは、再生速度制御部256によって取り出され、再生部257に供給される。
ここで、再生モードは、本実施の形態では、「通常再生モード」、「早送り再生モード」、「スロー再生モード」の3つのモードがある。再生速度制御部256は、再生モードが通常再生モードであるときは、実時間に沿って再生されるように、バッファ255に蓄積されているストリーミングデータを再生する。また、再生速度制御部256は、再生モードが早送り再生モードであるときは、実時間よりも短い時間で再生される。すなわち、早送り再生になるようにバッファ255に蓄積されているストリーミングデータを再生する。さらに、再生速度制御部256は、再生モードがスロー再生モードであるときは、実時間よりも長い時間で再生される、すなわち、スロー再生になるようにバッファ255に蓄積されているストリーミングデータを再生する。
なお、再生モードがスロー再生モードとなる場合、再生速度制御部256は、バッファ255に蓄積されているストリーミングデータを、それが本来再生されるべき時間よりも長い時間で再生する必要がある。ストリーミングデータのうち、画像については、画像が更新される時間の間隔であるインターバルタイムをインターバルが長くなるように調整することで、スロー再生モードが実現される。
また、音声については、例えば、サンプル数を増加させることで、音声を擬似的に延長させることが可能となる。すなわち、疑似的に延長された音声のフレームを連続的に再生することにより、音声のスロー再生モードが実現される。
これにより、スロー再生時においても音声の途切れが発生せずに、音声を再生することができる。また、サンプル数が増加すると音声の周波数は低下するが、スロー再生の度合いを適切に調整することで、ユーザに違和感を与えることなく音声の再生を行うことができる。ここで、スロー再生の度合いは、例えば、105%などの一定の値であってもよいし、バッファ255に蓄積されているストリーミングデータの量に応じて、100%乃至120%などの所定の範囲で連続的または段階的に変化させてもよい。なお、例えば、105%とは、本来の標準再生時間よりも、再生時間が5%長くなることを示している。
また、再生モードは、本実施の形態では、「通常再生モード」、「早送り再生モード」、「スロー再生モード」の3つのモードを有するとして説明するが、それ以外の再生モードを設けるようにしてもよい。
再生部257は、再生速度調整部256から供給されるストリーミングデータを再生し、その再生されたストリーミングデータを出力部116に供給する。
出力部116は、図9の出力部157に対応し、例えば、LCDなどのディスプレイやスピーカなどからなる。出力部116は、再生部257から供給されるストリーミングデータによる画像をディスプレイに表示するとともに、その画像に対応する音声を出力する。
操作部115は、図9の入力部156に対応し、ユーザによる所定の操作に対応する操作信号を制御部251に供給する。なお、所定の操作は、上述したように、例えば、チャンネルの切り替えや、トリックプレイなどの操作である。
制御部251は、操作部115からの操作信号に応じて、切り替え操作要求を送信部252aに供給する。送信部252aは、制御部251から供給される切り替え操作要求を、ネットワーク113を介して、サーバ111に送信する。
次に、ストリーミングシステム101を構成する、サーバ111とクライアント114の動作について説明する。
まず、図10のブロック図および図12のフローチャートを参照して、サーバ111による、ストリーミングデータ送信の処理について説明する。
ステップS11において、制御部211は、ネットワーク113を介して、クライアント114からストリーミング開始の要求を受信したか否かを判定する。
ステップS11において、クライアント114からストリーミング開始の要求を受信していないと判定された場合、ステップS11に戻り、上述した処理が繰り返される。すなわち、ユーザよって、ストリーミングデータをクライアント114に受信させる操作され、ステップS11において、ストリーミング開始の要求を受信したと判定されるまで、ステップS11の処理が繰り返される。
その後、ステップS11において、クライアント114からストリーミング開始の要求を受信したと判定された場合、ステップS12において、入力部213は、画音ソース112からの画音信号を読み出して、その画音信号をエンコーダ214に供給する。
ステップS13において、エンコーダ214は、入力部213から供給される画音信号を、例えば、MPEG4などの所定の符号化方式にしたがって符号化し、それにより得られた画音信号のストリーミングデータをパケタイザ215に供給する。
ところで、サーバ111から送信されるストリーミングデータは、1枚の画像を構成するフレームが複数枚集められることで構成される。ストリーミングデータは、それらの複数のフレームを連続して表示させることで、動画としての動きを表現する。
また、1秒間にどれだけのフレームを表示させるかは、使用する機器やアプリケーションプログラムの特性などによって決定することができる。例えば、1秒間に表示させるフレームの数を示すフレームレートを上げることで、表示する画像の画質をより滑らかにすることができ、フレームレートを下げると、画質が滑らかにならず、コマ落ちする可能性がでてくる。例えば、フレームレートは、1秒間あたり30フレームとすることができる。すなわち、このとき、各フレームは、それぞれ、1/30秒ごとに表示される。
さらに、1秒間にどれだけのデータ量のデータを流れるようにするかによっても、表示する画像の画質が変化する。例えば、1秒間に流れるデータ量を示すビットレートを上げることで、表示する画像の画質を高画質にすることができ、ビットレートを下げると画質が悪くなる可能性がでてくる。すなわち、ビットレートと表示する画像の画質とはトレードオフの関係にあり、ビットレートを上げるとデータ量が増加し、ビットレートを下げるとデータ量が減るようになる。
またそれらのフレームは、各フレームが独立しているのではなく、GOP(Group Of Picture)単位で圧縮と伸張が行われる。GOPは、Iフレーム、Pフレーム、Bフレームから構成される。
Iフレームは、そのフレームだけで、1枚の画像を完全に構成できる情報を持っており、GOPおいて基準になるフレームである。Iフレームは、フレーム内圧縮だけしか行わないため、圧縮率が低くなり、データ量が多くなる。
Pフレームは、過去のフレームとの差分の情報だけを持っており、過去のフレームに依存するフレームである。Pフレームは、フレーム内圧縮の他に、時間軸方向のみの予測を取り入れ、Iフレームとの差異を元にしたフレーム間圧縮を採用している。これにより、Pフレームの圧縮率は、Iフレームと比べると高くなり、データ量が削減される。
Bフレームは、過去と未来のフレームとの差分の情報を持っており、過去と未来のフレームに依存するフレームである。Bフレームは、フレーム内圧縮の他に、前後のフレームとの差異を利用した双方向予測的圧縮を採用している。これにより、Bフレームの圧縮率は、Iフレームよりもさらに高くなる。
すなわち、PフレームとBフレームは、単独では画像を再現することができず、これらのフレームから画像を再現するには、フレームのシーケンス(順序列)が必要となる。
図13は、フレームの詳細を説明する図である。
図中の四角はフレームを示し、それらのフレームに付されているI,P,Bのアルファベットは、それぞれ、それのフレームが、Iフレーム、Pフレーム、Bフレームであることを示す。また、時間は、図中左側から図中右側に向かって経過するとして説明する。
GOPは、図13の例では、Iフレーム、Bフレーム、Bフレーム、Pフレーム、Bフレーム、およびBフレームの6つのフレームから構成される。
GOPにおいて、先頭のIフレームは、自分だけで1枚の画像を構成できる情報を持っているので、他のフレームに依存していない。先頭のIフレームの次の2番目のBフレームは、前後のフレームに依存するフレームであるので、図中の点線で示すように、その前のBフレームと、その後のIフレームに依存する。また、2番目のBフレームの次の3番目のBフレームは、同様に、図中の点線で示すように、その前のPフレームと、その後のBフレームに依存する。
3番目のBフレームの次の4番目のPフレームは、後ろのフレームに依存するフレームであるので、図中の点線で示すように、Iフレームに依存する。4番目のPフレームの次の5番目のBフレームは、図中の点線で示すように、その前のBフレームと、その後ろのPフレームに依存する。5番目のBフレームの次の6番目のBフレームは、図中の点線で示すように、その前のIフレームと、その後ろのBフレームに依存する。
エンコーダ214は、例えば、図13に示すようなフレームから構成されるストリーミングデータをパケタイザ215に供給する。
図12のフローチャートに戻り、ステップS14において、パケタイザ215は、エンコーダ214から供給されたストリーミングデータを、RTP方式のパケットに格納することにより、RTPパケットを生成する。
ステップS15において、制御部211は、受信部212bの状態を監視することで、ネットワーク113を介してクライアント114から切り替え操作要求を受信したか否かを判定する。
ステップS15において、クライアント114から切り替え操作要求を受信していないと判定された場合、ステップS16乃至ステップS18をスキップし、ステップS19において、バッファ216は、パケタイザ215からのRTPパケットを蓄積する。これにより、サーバ111においては、パケタイザ215によって生成されるクライアント114に送信されるべきRTPパケットが、バッファ216に蓄積される。
ステップS20において、送信部212aは、バッファ216に蓄積されているRTPパケットを、ネットワーク113を介して、クライアント114に送信する。これにより、サーバ111は、クライアント114からのストリーミング開始の要求に応じて、ネットワーク113を介して、ストリーミングデータをクライアント114に送信する。
ステップS21において、制御部211は、入力部213の状態を監視することで、入力部213によって読み出される画音ソース112からの画音信号が終了したか否かを判定する。
ステップS21において、画音ソース112からの画音信号が終了していないと判定された場合、ステップS12に戻り、上述した処理が繰り返される。
すなわち、ステップS12乃至ステップS21において、サーバ111は、画音ソース112からの画音信号を符号化し、その符号化された画音信号からRTPパケットを生成する。そして、サーバ111は、生成したRTPパケットをバッファ216に蓄積しながら、その蓄積されたRTPパケットを、ネットワーク113を介して、クライアント114に送信する。これにより、ストリーミングデータは、ネットワーク113を介して、サーバ111からクライアント114に送信される。なお、ステップS16乃至ステップS18の説明は追って行う。
その後、図11に示されるクライアント114において、ユーザによる操作部115への操作によって、例えば、クライアント114の受信するストリーミングデータのチャンネルが、他のチャンネルに切り替えられ、ステップS15において、クライアント114から切り替え操作要求を受信したと判定された場合、ステップS16において、マーク情報付加部217は、受信部212bから供給される切り替え操作要求に応じて、パケタイザ215によって生成されたRTPパケットにマーク情報を付加する。
図14は、RTPパケットを説明する図である。RTPパケットの先頭には、図14において“V”で表される、2ビットのバージョン情報が配置される。バージョン情報は、RTPパケットのバージョンを示す。
バージョン情報の次には、“P”で表される1ビットのパディングが配置され、パディングに続いて、1ビットの拡張情報がRTPパケットに配置される。拡張情報は図14において、“X”で表される。拡張情報は、拡張ヘッダの有無を表し、RTPパケットに拡張ヘッダを配置する場合に、所定の値に設定される。
拡張情報に続いて、CSRC(Contributing Source)カウントがRTPパケットに配置される。CSRCカウントは、“CC”で表される。CSRCカウントは、CSRC識別子の数を表す。
CSRCカウントに続いて配置される、1ビットのメーカー情報は、プロファイルによって定義される。メーカー情報は、“m”で表される。
メーカー情報に続いて配置される、7ビットのペイロードタイプは、RTPパケットのフォーマットを定義するための情報である。ペイロードタイプは、図14において、RTPパケットにおいて、ペイロードタイプは、33とされる。
シーケンス番号は、ペイロードタイプの次に配置される、16ビットの情報である。シーケンス番号は、RTPパケットの再生の順番を示す番号であり、送信の度に、1ずつ増える。シーケンス番号は、パケットロスを検出し、RTPパケットの順序を修復するために使用される。
シーケンス番号の次に配置される、32ビットのタイムスタンプは、そのRTPパケットに格納されているストリーミングデータの最初のオクテットがサンプルされた時刻を示す情報であり、タイムスタンプを基に、RTPパケットの展開時に処理時間の制御が実行され、リアルタイム画像、または音声の再生制御が行われる。また、同じフレームのストリーミングデータを格納しているRTPパケットには、共通のタイムスタンプが設定される。
SSRC(Synchronization Source)識別子は、タイムスタンプの次に配置される、32ビットの情報であって、RTPパケットに格納されるストリーミングデータのソースを示す。
RTPパケットにおいて、SSRC識別子の次には、マーク情報が配置される。マーク情報は、図14において、“マーク情報”で表される。マーク情報は、クライアント114を操作するユーザによって、所定の操作がされたことを示す情報であり、例えば1乃至65535からなる所定の範囲のシーケンス番号が設定される。例えば、マーク情報付加部217は、切り替え操作要求に応じて、RTPパケットに格納させるマーク情報のシーケンス番号を1インクリメントし、そのインクリメントされたシーケンス番号を、マーク情報として、RTPパケットに付加する。
RTPパケットにおいて、マーク情報の次には、ストリーミングデータが格納される。図14において、“Original Data”はストリーミングデータを示す。
なお、RTPパケットは、クライアント114に送信するストリーミングデータを格納するパケットの一例である。従って、本実施の形態では、ストリーミングデータを送信するプロトコルとして、RTPを用いる例を説明するが、例えば、RTSP(Real Time Streaming Protocol)、SDP(Session Description Protocol)などのプロトコルを用いることもできる。
図12のフローチャートに戻り、ステップS17において、バッファ216は、自分の蓄積しているRTPパケットをフラッシュする。これにより、バッファ216に蓄積されていたRTPパケットは、すべて破棄される。
なお、このとき、バッファ216は、自分の蓄積しているRTPパケットを全てフラッシュするのではなく、ある特定のデータだけをフラッシュすることもできる。例えば、バッファ216は、特定のデータとして、前後のフレームとの依存関係を持っていないIフレームだけを残して、それ以外のデータをフラッシュする。これにより、バッファ216に残っている映像の再生に利用できるデータを利用して、クライアント114を操作しているユーザは、ストリーミングデータの時間的な断裂を感じることなく視聴することが可能となる。
また、バッファ216は、自分に複数のIフレームが蓄積されている場合、例えば、全てのIフレームを残したり、最新のIフレームだけを残したりすることができる。最新のIフレームだけを残す場合、サーバ111においては、例えば、バッファ216にストリーミングデータを蓄積させるとき、蓄積しているIフレームのうち、最新のIフレームを1枚別のバッファ(図示せず)に蓄積させる。これにより、バッファ216は、自分の蓄積しているデータをフラッシュするとき、全てのデータをフラッシュした後、別のバッファに蓄積されている最新のIフレームを自分に蓄積させる。その結果、バッファ216は、最新のIフレームだけを蓄積する。
ステップS18において、入力部213は、制御部211の制御にしたがって、自分の読み出す画音信号を切り替える。具体的には、入力部213は、例えば、ユーザによる操作部115への操作によって、例えば、クライアント114の受信するストリーミングデータのチャンネルが、他のチャンネルに切り替えられた場合、他のチャンネルの画音信号を読み出すようにする。
ステップS19において、バッファ216は、パケタイザ215からのRTPパケットを蓄積する。これにより、バッファ216に蓄積されているRTPパケットは、マーク情報付加部217によって、マーク情報が付加されたRTPパケットだけになる。その結果、このマーク情報が付加されたRTPパケットにより生成されるフレームがもっともはやく、ネットワーク113を介して、クライアント114に送信される。
ステップS20において、送信部212aは、バッファ216に蓄積されているRTPパケットを、ネットワーク113を介して、クライアント114に送信し、ステップS21において、入力部213によって読み出される画音ソース112からの画音信号が終了したと判定されるまで、上述した、ステップS12乃至ステップS21の処理が繰り返される。
すなわち、バッファ216は、マーク情報が付加されたRTPパケット以降、ユーザによって他のチャンネルに切り替えられたストリーミングデータが格納されたRTPパケットを蓄積し、送信部212aは、その蓄積されたRTPパケットを、ネットワーク113を介して、クライアント114に送信する。
そして、入力部213によって読み出される画音ソース112からの画音信号が終了し、ステップS21において、画音信号が終了したと判定された場合、サーバ111による、ストリーミングデータ送信の処理は終了する。
以上のようにして、サーバ111は、ネットワーク113を介して、ストリーミングデータをクライアント114に送信する。
次に、図11のブロック図および図15のフローチャートを参照して、図11のクライアント114による、ストリーミングデータ受信の処理について説明する。
ステップS31において、制御部251は、操作部115からの操作信号に基づいて、ユーザによって、ストリーミングの開始が指示されたか否かを判定する。
ステップS31において、ユーザによって、ストリーミングの開始が指示されていないと判定された場合、ステップS31に戻り、上述した処理が繰り返される。すなわち、ユーザによる操作部115への操作によって、ストリーミングの開始が指示され、ステップS31において、ストリーミングの開始が指示されたと判定されるまで、ステップS31の処理が繰り返される。
ステップS31において、ユーザによって、ストリーミングの開始が指示されたと判定された場合、ステップS32において、送信部252aは、制御部251の制御にしたがって、ストリーミング開始の要求を、ネットワーク113を介して、サーバ111に送信する。
ステップS33において、制御部251は、通信部252の状態を監視することで、ストリーミング開始の要求に応じて、ネットワーク113を介してサーバ111からストリーミングデータを受信したか否かを判定する。
ステップS33において、サーバ111からストリーミングデータを受信していないと判定された場合、ステップS33に戻り、上述した処理が繰り返される。すなわち、ネットワーク113を介して、サーバ111からストリーミングデータが送信され、ステップS33において、サーバ111からのストリーミングデータを受信したと判定されるまで、ステップS33の処理が繰り返される。
一方、ステップS33において、ストリーミングデータを受信したと判定された場合、ステップS34において、制御部251は、操作部115からの操作信号に基づいて、ユーザによって、例えばチャンネルの切り替えなどの切り替え操作、すなわち、上述した所定の操作が行われたか否かを判定する。
ステップS34において、ユーザによって、切り替え操作が行われたと判定された場合、ステップS35において、送信部252aは、操作部115からの操作信号に基づいた制御部251の制御にしたがって、ネットワーク113を介して、切り替え操作要求をサーバ111に送信する。これにより、クライアント114は、ユーザによって、所定の操作が行われたことをサーバ111に通知する。
一方、ステップS34において、ユーザによって、切り替え操作が行われていないと判定された場合、ステップS35の処理をスキップし、ステップS36において、バッファ253は、ネットワーク113を介してサーバ111から受信したストリーミングデータであって、受信部252bから供給されるストリーミングデータを蓄積する。
ステップS37において、デコーダ254は、バッファ253に蓄積されているストリーミングデータを、自分が処理を行うタイミングで読みだし、読み出したストリーミングデータを所定の復号方式で復号する。デコーダ254は、復号により得られたストリーミングデータをバッファ255に供給し、蓄積させる。
ステップS38において、バッファ255は、デコーダ254からの復号されたストリーミングデータを蓄積する。なお、バッファ255に蓄積されているストリーミングデータは、バッファ255がFIFO型のメモリであるので、最初に蓄積されたものから順に、再生速度制御部256に供給される。
ステップS39において、再生速度制御部256は、再生速度制御処理を行う。具体的には、再生速度制御部256は、通常再生モード、早送り再生モード、またはスロー再生モードに応じた再生速度で、バッファ255に蓄積されたストリーミングデータが再生されるように再生速度を制御する。
ここで、図16のフローチャートを参照して、ステップS39の処理に対応する、図11の再生速度制御部256による、再生速度制御処理の詳細について説明する。
ステップS51において、再生速度制御部256は、操作部115からの操作信号に基づいた制御部251の制御にしたがって、ユーザによって、例えばチャンネルの切り替えなどの切り替え操作、すなわち、上述した所定の操作がされたか否かを判定する。
ステップS51において、ユーザによって、切り替え操作がされたと判定された場合、ステップS52において、再生速度制御部256は、再生モードを早送り再生モードに設定する。具体的には、再生速度制御部256は、図17に示すように、例えば、バッファ255に蓄積されているフレーム1乃至フレーム13のうち、先頭のフレーム1を選択し、それから3つのフレームおきに、フレーム5、フレーム9、フレーム13を選択する。そして、再生速度制御部256は、それらの選択した、フレーム1、フレーム5、フレーム9、およびフレーム13をそれぞれ、再生部257に供給する。
すなわち、再生速度制御部256は、バッファ255に蓄積されているフレーム1乃至フレーム13のうち、フレーム1、フレーム5、フレーム9、およびフレーム13だけを選択することで、バッファ255に蓄積されたストリーミングデータが早送り再生される。
これにより、クライアント114は、ユーザによって、切り替え操作がされた場合、バッファ255に蓄積されているストリーミングデータの再生速度を早送り再生にするので、サーバ111から切り替え操作後のストリーミングデータを受信後、即座に再生させることができる。
その結果、サーバ111からネットワーク113を経由で、ストリーミングデータが送信されるとき、バッファ255によって安定したストリーミングデータの視聴をさせることができると同時に、ユーザによって、画音ソース112からの画音信号に対する操作がされたとき、十分に小さい遅延のうちにその操作に対する結果を視聴させることができる。これにより、ユーザによって、切り替え操作がされたときのレスポンスが向上し、操作性能を向上させることができる。
また、その切り替え操作による遅延を縮小する動作を、バッファ255をフラッシュするのではなく、早送り再生によって行うので、ユーザは、切り替え操作前と、切り替え操作後の画像と音声を時間的な断裂なしに連続的に視聴することができる。これにより、ユーザは、トリックプレイを行ったとき、コンテンツの時間的な前後関係を正確に把握することができるようになり、画音ソース112からの画音信号の早送り、巻き戻しなどの操作性を向上させることができる。
なお、再生速度制御部256は、図17の例では、バッファ255に蓄積されているフレーム1乃至フレーム13のうち、フレーム1、フレーム5、フレーム9、およびフレーム13だけを選択するとして説明したが、それに限らず、例えば、バッファ255に蓄積されているストリーミングデータを構成するIフレームだけを選択したり、システム内部のクロックを早送りし、そのクロックの示す時間と、各フレームが持っているタイムスタンプを比較することで、適当なフレームを選択するようにしてもよい。
一方、ステップS51において、ユーザによって、切り替え操作がされていないと判定された場合、ステップS53において、再生速度制御部256は、バッファ255の先頭(再生位置)に蓄積されているストリーミングデータからマーク情報が検出されたか否かを判定する。
すなわち、上述したように、サーバ111は、切り替え操作要求を受信したとき、RTPパケットにマーク情報を付加しているので、切り替え操作後のストリーミングデータを格納しているRTPパケットの先頭には、マーク情報が付加されており、クライアント114は、そのマーク情報が検出されたか否かを判定することで、切り替え操作後のストリーミングデータを受信したかがわかる。
ステップS53において、ストリーミングデータからマーク情報が検出されたと判定された場合、ステップS54において、再生速度制御部256は、再生モードをスロー再生モードに設定する。具体的には、再生速度制御部256は、図18に示すように、例えば、バッファ255に蓄積されているフレーム1乃至フレーム13の全フレームを再生する。このとき、再生速度制御部256は、各フレームを再生部257に供給する前に、各フレームの再生時間が、本来の再生時間よりも長くかかるようにストリーミングデータを変更する処理を施してから、変更処理により得られたストリーミングデータを再生し、再生部257に供給する。
変更処理は、ビデオフレームの場合、各フレームの間隔を、例えば2倍などに拡げることで、スロー再生を実現する。また、変更処理は、オーディオフレームの場合、オーディオフレームに含まれるサンプリング数を増加させることにより、より長いオーディオフレームを生成し、生成されたオーディオフレームを再生部257に供給する。例えば、再生速度制御部256は、100個のサンプルが含まれているオーディオフレームに対して、5%長いオーディオフレームを生成する場合、5個のオーディオフレームを生成し、生成したオーディオフレームを元のオーディオフレームに付加する。この5個のオーディオフレームの生成方法は、例えば、前後のサンプルの値を平均して算出する方法や、線形補間、スプライン補間、ベジェ補間などの一般的な補間方法を用いることができる。
一方、ステップS53において、ストリーミングデータからマーク情報が検出されていないと判定された場合、ステップS55において、再生速度制御部256は、バッファ256に蓄積されているストリーミングデータのバッファ量が所定の量を超えるか否かを判定する。
ステップS55において、ストリーミングデータのバッファ量が所定の量を超えていると判定された場合、バッファ255に十分な量のストリーミングデータが蓄積されたので、ステップS56において、再生速度制御部256は、再生モードを通常再生モードに設定する。具体的には、再生速度制御部256は、図19に示すように、バッファ255に蓄積されたフレーム1乃至フレーム13の全フレームを通常再生し、再生部257に供給する。
一方、ステップS55において、ストリーミングデータのバッファ量が所定の量を超えていないと判定された場合、処理は、図15のフローチャートに戻り、ステップS39以降の処理が実行される。なお、ステップS40乃至ステップS42の説明は追って行う。
以上のように、再生速度制御部256は、ユーザによって、切り替え操作がされた場合、バッファ255に蓄積されているストリーミングデータの再生モードを早送り再生モードに切り替えて、ストリーミングデータが実時間よりも短い時間で再生されるようにする。その後、再生速度制御部256は、バッファ255に蓄積されているストリーミングデータからマーク情報を検出した場合、それ以降のストリーミングデータが切り替え操作後のストリーミングデータであり、それは早送りすべきストリーミングデータが全て再生されたこと示しているので、再生モードを早送り再生モードからスロー再生モードに切り替え、バッファ255に蓄積されるストリーミングデータのデータ量を増加させる。
すなわち、再生モードを早送り再生モードに切り替えると、バッファ255に蓄積されているストリーミングデータが実時間よりも短い時間で再生されるため、バッファ255に蓄積されているバッファ量は非常に少ない状態となるので、再生速度制御部256は、そのバッファ量を増やすために、再生モードを早送り再生モードからスロー再生モードに切り替える。これにより、バッファ255は、自分から読み出されるデータよりも、自分に蓄積されるデータのほうが多くなり、再生部257によるストリーミングデータの再生を停止することなく、蓄積しているバッファ量を徐々に増加させることができる。
そして、再生速度制御部256は、バッファ255に蓄積されているストリーミングデータのバッファ量が所定の量を超えたことを確認できると、ネットワーク113を介してサーバ111から送信されるストリーミングデータを受信するのに十分なバッファ量を確保できたと判断する。そのような状態になると、それ以上のバッファ量の確保は不要であるので、再生速度制御部256は、再生モードをスロー再生モードから通常再生モードに切り替える。これにより、通常再生モードでの再生では、バッファ255に追加されるストリーミングデータと、バッファ255から消費されるストリーミングデータのデータ量は等しくなるので、再生部257は、一定のバッファ量を確保しながらストリーミングデータを連続再生することができる。
なお、再生速度制御部256は、バッファ255における最新位置のストリーミングデータのタイムスタンプと、再生位置のストリーミングデータのタイムスタンプの差分をとることにより、バッファ255に蓄積されているストリーミングデータのバッファ量を検知する。
また、バッファ量と再生モードの関係であるが、再生速度制御部256は、バッファ255に蓄積されたストリーミングデータのバッファ量が所定の量を超えているかによって、再生モードを切り替えるのではなく、そのバッファ量に応じて連続的に再生モードを切り替えるようにしてもよい。具体的には、再生速度制御部256は、バッファ量が所定の量よりも少ない状態となっている場合、再生モードをスロー再生モードに切り替える。このとき、再生速度制御部256は、バッファ量が所定の量よりも大きく割り込んでいる状態となっている場合、バッファ255に蓄積されているストリーミングデータを、より遅い再生速度でスロー再生にし、バッファ量が所定の量により近づいている状態となっている場合、バッファ255に蓄積されているストリーミングデータを、よりはやいスロー再生にすることで、バッファ量を調整することもできる。
さらに、再生速度制御部256は、バッファ255に蓄積されたストリーミングデータのバッファ量が所定の量よりも多い場合においても同様にバッファ量を調整することができる。具体的には、再生速度制御部256は、バッファ量が所定の量よりも大幅に蓄積された状態となっている場合、バッファ255に蓄積されているストリーミングデータを、よりはやい早送り再生にし、バッファ量が所定の量に近づいている状態となっている場合、バッファ255に蓄積されているストリーミングデータを、より通常再生に近い再生速度での早送り再生にする。
また、再生速度制御部256は、上述した例では、ユーザによって切り替え操作がされた場合、再生モードを早送り再生モードに切り替えるとして説明したが、それに限らず、例えば、バッファ255に蓄積されているストリーミングデータであって、ネットワーク113を介してサーバ111から最後に送信されてきたストリーミングデータからマーク情報が検出された場合、再生モードを早送り再生モードに切り替えるようにしてもよい。
図15のフローチャートに戻り、ステップS40において、再生部257は、バッファ255に蓄積されていたストリーミングデータであって、再生速度制御部256から供給される供給されるストリーミングデータを再生し、そのストリーミングデータを出力部116に供給する。
ステップS41において、出力部116は、再生部257から供給されるストリーミングデータによる画像をディスプレイに表示するとともに、その画像に対応する音声を出力することで、再生されたストリーミングデータを出力する。
ステップS42において、制御部251は、通信部252の状態を監視することにより、ネットワーク113を介して、サーバ111から送信されるストリーミングデータが終了したか否かを判定する。
ステップS42において、ストリーミングデータが終了していないと判定された場合、ステップS34に戻り、上述したステップS34乃至ステップS42の処理が繰り返される。
一方、ステップS42において、ストリーミングデータが終了したと判定された場合、図11のクライアント114による、ストリーミングデータ受信の処理は終了する。
以上のようにして、クライアント114は、ネットワーク113を介して、サーバ111からストリーミングデータを受信する。
これにより、クライアント114は、ユーザによって、所定の操作がされた場合、バッファに蓄積されたストリーミングデータをフラッシュするのではなく、早送り再生することで、操作前のストリーミングデータを失わずに、操作後のストリーミングデータを再生することができる。その結果、ユーザによって、例えば、早送りなどの同一コンテンツ内の再生スピードを変更する操作がされた場合、操作前のストリーミングデータと操作後のストリーミングデータとの間の時間的な断裂が発生しないので、ユーザは、ストリーミングデータを違和感なく視聴することができる。
ところで、上述した例では、サーバ111がマーク情報をストリーミングデータに付加するとして説明したが、マーク情報は、クライアント114によって、ストリーミングデータに付加させることもできる。そこで、次に、図20乃至図22を参照して、マーク情報をストリーミングデータに付加するクライアント114の動作について説明する。なお、クライアント114がマーク情報を付加する場合、クライアント114に存在する全てのストリーミングデータが時間的に短縮して視聴したいストリーミングデータとなる。
図20は、クライアント114の機能的構成の他の例を示すブロック図である。
なお、図20では、図11と同様の箇所には、同一の符号が付してあり、処理が同じ部分に関しては、その説明は繰り返しになるので省略する。すなわち、図20において、クライアント114は、図11のクライアント114と比較して、マーク情報付加部301を追加するようにして構成される。
マーク情報付加部301は、ユーザによって、所定の操作が行われた場合、操作部115からの操作信号に基づいた制御部251の制御にしたがって、バッファ255に蓄積されているストリーミングデータのうち、ネットワーク113を介してサーバ111から最後に受信したストリーミングデータに対して、マーク情報を付加する。
次に、図20のブロック図および図21のフローチャートを参照して、図20のクライアント114による、ストリーミングデータ受信の処理について説明する。
ステップS71乃至ステップS73において、図15のステップS31乃至ステップS33と同様に、ユーザによって、ストリーミング開始の指示がされた場合、ストリーミングデータを受信する処理が行われる。
ステップS74において、ユーザによって、切り替え操作が行われたと判定された場合、ステップS75において、マーク情報付加部301は、バッファ255に蓄積されているストリーミングデータのうち、ネットワーク113を介してサーバ111から最後に受信したストリーミングデータに対して、マーク情報を付加する。
また、このとき、送信部252aは、操作部115からの操作信号に基づいた制御部251の制御にしたがって、ネットワーク113を介して、切り替え操作要求をサーバ111に送信する。そして、切り替え操作要求を受信したサーバ111は、操作後のストリーミングデータを送信するが、そのストリーミングデータには、マーク情報が付加されていないことになる。
すなわち、クライアント114は、ユーザによって切り替え操作が行われた場合、ネットワーク113を介してサーバ111から、マーク情報が付加されていない操作後のストリーミングデータを受信する。
図22は、バッファ255に蓄積されるストリーミングデータの詳細を説明する図である。
図22においては、バッファ255の状態が3つ表現されているが、図中上側から状態1、状態2、状態3と称するとすると、バッファ255に蓄積されているストリーミングデータは、時間の経過とともに、状態1、状態2、状態3の順に変化する。
また、図22では、点線で区切られた9つの四角がバッファ255に蓄積されているストリーミングデータを示し、図中左側から図中右側が時間方向となる。すなわち、バッファ255は、FIFO型のメモリであり古く蓄積したストリーミングデータから順にストリーミングデータを読み出すので、9つの四角のうち、1番左側の四角がバッファ255の末尾に蓄積されたストリーミングデータとなり、右側の四角ほど古く蓄積されたストリーミングデータとなる。したがって、バッファ255において、9つの四角のうち、1番右側の四角がバッファ255の先頭のストリーミングデータとなり、再生部257は、その先頭のストリーミングデータを再生する。
マーク情報付加部301は、図22の状態1に示すように、バッファ255に蓄積されているストリーミングデータのうち、ネットワーク113を介してサーバ111から最後に受信したストリーミングデータであって、バッファ255の末尾に蓄積されたストリーミングデータに対して、アスタリスク(「*」)で示すマーク情報を付加する。具体的には、マーク情報付加部301は、例えば、ストリーミングデータを構成するRTPパケットに対して、上述した、図14に示すように、マーク情報を付加する。
図21のフローチャートに戻り、ステップS76乃至ステップS78において、図15のステップS36乃至ステップS38と同様に、受信したストリーミングデータを一時的に蓄積しながら復号する処理が行われる。
ステップS79において、再生速度制御部256は、再生速度制御処理を行って、バッファ255に蓄積されたストリーミングデータが所定の再生速度となるように再生速度を制御し、ストリーミングデータを再生部257に供給する。
ここで、ステップS79の処理に対応する、図20の再生速度制御部256による再生速度調整処理は、図16のフローチャートを参照して説明した再生速度調整処理と同様であるので、その詳細な説明は省略するが、ステップS53において、再生速度制御部256は、バッファ255の先頭(再生位置)に蓄積されているストリーミングデータからマーク情報が検出されたか否かを判定する。このとき、再生速度制御部256によって検出されるマーク情報は、サーバ111によって付加されたものではなく、クライアント114のマーク情報付加部301によって付加されたマーク情報となる。
すなわち、マーク情報付加部301は、ユーザによって切り替え操作が行われたとき、ストリーミングデータにマーク情報を付加しているので、切り替え操作後のストリーミングデータの先頭には、マーク情報が付加されている。これにより、クライアント114は、そのマーク情報が検出されたか否かを判定することで、切り替え操作後のストリーミングデータであるかがわかる。
具体的には、図16のステップS52において、再生速度制御部256は、図22の状態2に示すように、アスタリスクで示すマーク情報が付加されたストリーミングデータがバッファ255の先頭にくるまで、再生モードを早送り再生モードにする。換言すれば、再生速度制御部256は、ユーザによって、切り替え操作がされた場合、バッファ255に蓄積されているストリーミングデータの再生速度を早送り再生にする。これにより、クライアント114は、サーバ111から切り替え操作後のストリーミングデータを受信後、即座に再生を行うことができる。
その後、図16のステップS54において、再生速度制御部256は、図22の状態3に示すように、アスタリスクで示されるマーク情報が付加されたストリーミングデータがバッファ255の先頭にきた場合、再生モードをスロー再生モードにする。すなわち、再生速度制御部256は、ストリーミングデータからマーク情報を検出した場合、それ以降のストリーミングデータはユーザによる切り替え操作後のストリーミングデータであり、早送りすべきストリーミングデータが全て再生されたことになるので、再生モードを早送り再生モードからスロー再生モードに切り替えて、バッファ255に蓄積されるストリーミングデータのデータ量を増加させる。
そして、図16のステップS56において、再生速度制御部256は、ストリーミングデータのバッファ量が所定の量を超えていると判定された場合、バッファ255に十分な量のストリーミングデータが蓄積されたので、再生モードを通常再生モードに切り替える。これにより、再生速度制御部256は、通常の再生速度で、バッファ255に蓄積されているストリーミングデータを再生する。
図21のフローチャートに戻り、ステップS80乃至ステップS82において、図15のステップS40乃至ステップS42と同様に、ネットワーク113を介してサーバ111から受信しているストリーミングデータが終了するまで、ストリーミングデータを再生し出力する。
このように、クライアント114自身がマーク情報を付加することにより、サーバ111との協調動作をする必要がないため、ユーザは、クライアント114の独立性を高くして設計を行うことができる。
なお、クライアント114がマーク情報を付加する場合、ユーザによって切り替え操作がされた時点と、マーク情報が付加されるストリーミングデータに時間的な差分が生じるが、ネットワーク113の遅延が少なく、サーバ111で生成されたストリーミングデータが、ネットワーク113を介して順調にクライアント114に送信されている場合には、サーバ111がマーク情報を付加する場合と同等の効果を得ることができる。
また、上述した例では、マーク情報をストリーミングデータに付加することにより、ユーザによって切り替え操作がされたことを通知する例について説明したが、マーク情報に限らず、ユーザによって切り替え操作が行われた時点におけるタイムスタンプを記憶させることで、切り替え操作がされたことを通知することもできる。そこで、次に、図23乃至図26を参照して、タイムスタンプによって、ユーザによる切り替え操作を通知する場合のクライアント114の動作について説明する。
図23は、クライアント114の機能的構成の他の例を示すブロック図である。
なお、図23では、図11と同様の箇所には、同一の符号が付してあり、処理が同じ部分に関しては、その説明は繰り返しになるので省略する。すなわち、図23において、クライアント114は、図11のクライアント114と比較して、タイムスタンプ記憶部311を追加するようにして構成される。
タイムスタンプ記憶部311は、ユーザによって、所定の操作が行われた場合、操作部115からの操作信号に基づいた制御部251の制御にしたがって、バッファ255に蓄積されているストリーミングデータのうち、ネットワーク113を介してサーバ111から最後に受信したストリーミングデータであって、バッファ255の末尾に蓄積されたストリーミングデータのタイムスタンプを記憶する。
次に、図23のブロック図および図24のフローチャートを参照して、図23のクライアント114による、ストリーミングデータ受信の処理について説明する。
ステップS91乃至ステップS93において、図15のステップS31乃至ステップS33と同様に、ユーザによって、ストリーミング開始の指示がされた場合、ストリーミングデータを受信する処理が行われる。
ステップS94において、ユーザによって、切り替え操作が行われたと判定された場合、ステップS95において、タイムスタンプ記憶部311は、バッファ255に蓄積されているストリーミングデータのうち、ネットワーク113を介してサーバ111から最後に受信したストリーミングデータのタイムスタンプを記憶する。
また、このとき、送信部252aは、操作部115からの操作信号に基づいた制御部251の制御にしたがって、ネットワーク113を介して、切り替え操作要求をサーバ111に送信する。そして、切り替え操作要求を受信したサーバ111は、操作後のストリーミングデータを送信するが、そのストリーミングデータには、マーク情報が付加されていないことになる。
すなわち、クライアント114は、ユーザによって切り替え操作が行われた場合、ネットワーク113を介してサーバ111から、マーク情報が付加されていない操作後のストリーミングデータを受信する。
図25は、バッファ255に蓄積されるストリーミングデータの詳細を説明する図である。
図25においては、バッファ255の状態が3つ表現されているが、図中上側から状態1、状態2、状態3と称するとすると、バッファ255に蓄積されているストリーミングデータは、時間の経過とともに、状態1、状態2、状態3の順に変化する。
また、状態1では、点線で区切られた番号10乃至番号18からなる9つの四角がバッファ255に蓄積されているストリーミングデータを示し、図中左側から図中右側が時間方向となる。すなわち、バッファ255は、FIFO型のメモリであり古く蓄積したストリーミングデータから順にデータを読み出すので、9つの四角のうち、1番左側のストリーミングデータ18がバッファ255の末尾に蓄積されたデータとなり、右側の四角ほど古く蓄積されたデータとなる。したがって、バッファ255において、9つの四角のうち、1番右側のストリーミングデータ10がバッファ255の先頭のストリーミングデータとなり、再生部257は、その先頭のデータを再生する。
同様に、バッファ255において、状態2では、1番右側のストリーミングデータ14がバッファ255の先頭のストリーミングデータとなり、状態3では、1番右側のストリーミングデータ18がバッファ255の先頭のストリーミングデータとなる。
タイムスタンプ記憶部311は、ユーザによって切り替え操作がされた場合、図25の状態1に示すように、バッファ255に蓄積されているストリーミングデータのうち、ネットワーク113を介してサーバ111から最後に受信したデータであって、バッファ255の末尾に蓄積されたストリーミングデータ18のタイムスタンプを記憶する。具体的には、タイムスタンプ記憶部311は、例えば、上述した、図14に示すような、バッファ255の末尾に蓄積されたストリーミングデータを構成するRTPパケットのタイムスタンプを記憶する。
これにより、再生速度制御部256は、例えば、タイムスタンプ記憶部311に記憶されているRTPパケットのタイムスタンプと、バッファ255の先頭に蓄積されているストリーミングデータであって、再生部257によって再生されるストリーミングデータを構成するRTPパケットのタイムスタンプとを比較することで、切り替え操作後のストリーミングデータであるかがわかる。
図24のフローチャートに戻り、ステップS96乃至ステップS98において、図15のステップS36乃至ステップS38と同様に、受信したストリーミングデータを一時的に蓄積しながら復号する処理が行われる。
ステップS99において、再生速度制御部256は、再生速度制御処理を行って、バッファ255に蓄積されたストリーミングデータが所定の再生速度となるように再生速度を制御し、ストリーミングデータを再生部257に供給する。
ここで、図26のフローチャートを参照して、ステップS99の処理に対応する、図23の再生速度制御部256による、再生速度制御処理の詳細について説明する。
ステップS111およびステップS112において、図16のステップS51およびステップS52と同様に、ユーザによって切り替え操作がされた場合、再生モードを早送り再生モードに切り替える処理が行われる。
ステップS113において、再生速度制御部256は、バッファ255の先頭(再生位置)のストリーミングデータのタイムスタンプが、タイムスタンプ記憶部311に記憶しているタイムスタンプを経過したか否かを判定する。すなわち、再生速度制御部256は、図25の状態2で示すように、タイムスタンプ記憶部311にタイムスタンプが記憶されているストリーミングデータ18が、バッファ255の先頭にくるまで、再生モードを早送り再生モードにする。
換言すれば、再生速度制御部256は、ユーザによって、切り替え操作がされた場合、バッファ255に蓄積されているストリーミングデータの再生速度を早送り再生にする。これにより、クライアント114は、サーバ111から切り替え操作後のストリーミングデータを受信後、即座に再生を行うことができる。
図26のフローチャートに戻り、その後、ステップS113およびステップS114において、再生速度制御部256は、図25の状態3に示すように、ストリーミングデータ18がバッファ255の先頭にきた場合、再生モードをスロー再生モードにする。すなわち、再生速度制御部256は、バッファ255に蓄積されているストリーミングデータのタイムスタンプが、タイムスタンプ記憶部311に記憶されているタイムスタンプを経過した場合、それ以降のストリーミングデータはユーザによる切り替え操作後のストリーミングデータであり、早送りすべきストリーミングデータが全て再生されたことになるので、再生モードを早送り再生モードからスロー再生モードに切り替えて、バッファ255に蓄積されるストリーミングデータのデータ量を増加させる。
図26のフローチャートに戻り、ステップS115およびステップS116において、再生速度制御部256は、ストリーミングデータのバッファ量が所定の量を超えていると判定された場合、バッファ255に十分な量のストリーミングデータが蓄積されたので、再生モードを通常再生モードに切り替える。これにより、再生速度制御部256は、通常の再生速度で、バッファ255に蓄積されているストリーミングデータを再生する。
図24のフローチャートに戻り、ステップS100乃至ステップS102において、図15のステップS40乃至ステップS42と同様に、ネットワーク113を介してサーバ111から受信しているストリーミングデータが終了するまで、ストリーミングデータを再生し出力する。
このように、クライアント114自身がタイムスタンプを記憶することにより、サーバ111との協調動作をする必要がないため、ユーザは、クライアント114の独立性を高くして設計を行うことができる。すなわち、サーバ111側の動作に関係なく、クライアント114は、本機能を実装することができる。
また、クライアント114がタイムスタンプを記憶する場合、マーク情報を付加する場合と同様に、ユーザによって切り替え操作がされた時点と、記憶するタイムスタンプに時間的な差分が生じるが、ネットワーク113の遅延が少なく、サーバ111で生成されたストリーミングデータが、ネットワーク113を介して順調にクライアント114に送信されている場合には、サーバ111がマーク情報を付加する場合と同等の効果を得ることができる。
ところで、上述した例では、図16および図26のフローチャートに示されるように、再生速度制御部256は、切り替え操作がされたと判定された場合、再生モードを早送り再生モードに設定している(図16のステップS52または図26のステップS112の処理)が、これに代えて、ネットワーク113を介してサーバ111から、マーク情報が付加されたRTPパケットを受信したか否かを判定し、マーク情報が付加されたRTPパケットを受信したと判定された場合、再生モードを早送り再生モードにするようにしてもよい。そこで、次に、図27を参照して、マーク情報が付加されたRTPパケットを受信した場合に再生モードを早送り再生モードに切り替えるクライアント114の動作について説明する。
なお、この場合のクライアント114の構成は、上述した図11の構成と同様であり、また、クライアント114の動作についても、上述した図15のフローチャートで示した動作と同様であるので、それらの説明は繰り返しになるので適宜省略する。
すなわち、図27は、図15のステップS39の処理に対応する、図11の再生速度制御部256による、再生速度制御処理の詳細の他の例を説明するフローチャートである。
ステップS131において、再生速度制御部256は、ネットワーク113を介して、サーバ111からマーク情報が付加されたストリーミングデータを受信したか否かを判定する。
ステップS131において、マーク情報が付加されたストリーミングデータを受信したと判定された場合、ステップS132において、再生速度制御部256は、再生モードを早送り再生モードに設定する。そして、ステップS133において、バッファ255の先頭(再生位置)に蓄積されているストリーミングデータからマーク情報が検出されたと判定されるまで、再生速度制御部256は、再生モードを早送り再生モードにする。
その後、ステップS133において、バッファ255の先頭(再生位置)に蓄積されているストリーミングデータからマーク情報が検出されたと判定された場合、ステップS134において、再生速度制御部256は、再生モードをスロー再生モードにする。
ステップS135およびステップS136において、図16のステップS55およびステップS56と同様に、バッファ255に蓄積されるストリーミングデータが所定の量を超えていると判定されるまで、再生モードがスロー再生モードに設定される。
そして、処理は、図15のステップS39に戻り、それ以降の処理が実行される。
すなわち、再生速度制御部256は、マーク情報がサーバ111からクライアント114に到着したか否かを判定し、マーク情報が到着したと判定された場合には、早送り再生モードに設定して早送り再生を開始させ、ストリーミングデータを、マーク情報が付された部分が再生される位置まで所定の時間で早送り再生させる。そして、ストリーミングデータがマーク情報を付された部分まで再生された場合、再生速度制御部256は、再生モードをスロー再生モードに設定する。
このように、所定の時間をかけて早送り再生を行うことにより、所定の時間の間に新しいストリーミングデータがバッファ255に蓄積されるので、ネットワーク113の状態が不安定な場合でも、ストリーミングデータを連続して再生することができる。なお、上記所定の時間は、1秒以下、例えば300ms乃至600msとするのが望ましく、特に、400ms前後が望ましい。なお、この所定の時間は、長くし過ぎると操作性が悪くなり、逆に、短くし過ぎるとネットワーク113の状態が悪いときに再生が断裂する恐れがでてくる。
なお、図27のフローチャートに示されるステップS133に代えて、マーク情報が到着して上記所定の時間が経過したか否かを判定し、上記所定の時間が経過したと判定されたときに、ステップS133に進む処理を採用することもできる。この場合には、マーク情報が到着して上記所定の時間が経過すると、自動的に早送り再生モードからスロー再生モードに移行することになる。
以上のように、画音ソース112に接続されたサーバ111から、ネットワーク113経由で、クライアント114にストリーミングデータが送信されるとき、クライアント114においては、バッファを持つことによって、安定したストリーミングデータの再生を行えるとともに、ユーザの画音ソース112に対する操作に対しても、十分に小さい遅延のうちにその操作に応じたストリーミングデータの再生を行うことができる。これにより、画音ソース112に対して所定の操作がされたときのレスポンスが向上し、操作性が向上する。
また、ユーザの操作による遅延を縮小する動作を、バッファに蓄積されたストリーミングデータを早送り再生することで行っているので、ユーザは、操作前のストリーミングデータと、操作後のストリーミングデータを時間的な断裂なしに連続的に視聴することができる。これにより、ユーザは、トリックプレイを行う際のコンテンツの時間的な前後関係を正確に把握することができるようになり、画音ソース112の早送りや巻き戻しなどの操作性を向上させることができる。
なお、再生速度制御部256は、本実施の形態では、バッファ255に蓄積されているストリーミングデータの再生速度を制御するとして説明したが、主に送受信用に用いられるバッファ253に蓄積されているストリーミングデータの再生速度を、バッファ255に蓄積されているストリーミングデータの再生速度と同様に変更するようにしてもよい。
また、クライアント114は、本実施の形態では、バッファ253とバッファ255の2つのバッファを設けるとして説明したが、それに限らず、1つまたは3つ以上設けるようにしてもよい。再生速度制御部256は、バッファを1つまたは3つ以上設ける場合であっても、それらのバッファに蓄積されているストリーミングデータの再生速度を、バッファ255に蓄積されているストリーミングデータの再生速度と同様に変更するようにしてもよい。
上述した一連の処理は、ハードウェアにより実行させることもできるし、ソフトウェアにより実行させることもできる。一連の処理をソフトウェアにより実行させる場合には、そのソフトウェアを構成するプログラムが、専用のハードウェアに組み込まれているコンピュータ、または、各種のプログラムをインストールすることで、各種の機能を実行することが可能な、例えば汎用のパーソナルコンピュータなどに、記録媒体からインストールされる。
この記録媒体は、コンピュータとは別に、ユーザにプログラムを提供するために配布される、プログラムが記録されている磁気ディスク(フレキシブルディスクを含む)、光ディスク(CD-ROM(Compact Disc-Read Only Memory),DVD)を含む)、光磁気ディスク(MD(Mini-Disk)(商標)を含む)、若しくは半導体メモリなどよりなる図9のリムーバブルメディア161により構成されるだけでなく、コンピュータに予め組み込まれた状態でユーザに提供される、プログラムが記録されている図9のROM152や記録部158などで構成される。
また、上述した一連の処理を実行させるプログラムは、必要に応じてルータ、モデムなどのインターフェースを介して、ローカルエリアネットワーク、インターネット、デジタル衛星放送といった、有線または無線の通信媒体を介してコンピュータにインストールされるようにしてもよい。
なお、本明細書において、記録媒体に格納されるプログラムを記述するステップは、記載された順序に沿って時系列的に行われる処理はもちろん、必ずしも時系列的に処理されなくとも、並列的あるいは個別に実行される処理をも含むものである。
また、本明細書において、システムとは、複数の装置により構成される装置全体を表すものである。
さらに、本発明の実施の形態は、上述した実施の形態に限定されるものではなく、本発明の要旨を逸脱しない範囲において種々の変更が可能である。
従来のストリーミングシステムの構成を示すブロック図である。 従来のクライアントの構成を示すブロック図である。 バッファの状態を説明する図である。 バッファの状態を説明する図である。 ユーザ操作時における、バッファに蓄積されるストリーミングデータを説明する図である。 ユーザ操作時における、バッファのフラッシュを説明する図である。 フラッシュ後のストリーミングデータを説明する図である。 本発明を適用したストリーミングシステムの一実施の形態の構成を示すブロック図である。 クライアントのハードウェア構成の例を示すブロック図である。 サーバの機能的構成の例を示すブロック図である。 クライアントの機能的構成の例を示すブロック図である。 ストリーミングデータ送信の処理を説明するフローチャートである。 フレームの詳細を説明する図である。 RTPパケットを説明する図である。 図11のクライアントによる、ストリーミングデータ受信の処理を説明するフローチャートである。 図11の再生速度制御部による、再生速度制御処理の詳細を説明するフローチャートである。 早送り再生モードを説明する図である。 スロー再生モードを説明する図である。 通常再生モードを説明する図である。 クライアントの機能的構成の他の例を示すブロック図である。 図20のクライアントによる、ストリーミングデータ受信の処理を説明するフローチャートである。 バッファに蓄積されるストリーミングデータの詳細を説明する図である。 クライアントの機能的構成の他の例を示すブロック図である。 図23のクライアントによる、ストリーミングデータ受信の処理を説明するフローチャートである。 バッファに蓄積されるストリーミングデータの詳細を説明する図である。 図23の再生速度制御部による、再生速度制御処理の詳細について説明するフローチャートである。 図11の再生速度制御部による、再生速度制御処理の詳細を説明するフローチャートである。
符号の説明
101 ストリーミングシステム, 111 サーバ, 112 画音ソース, 113 ネットワーク, 114 クライアント, 115 操作部, 116 出力部, 211 制御部, 212 通信部, 212a 送信部, 212b 受信部, 213 入力部, 214 エンコーダ, 215 パケタイザ, 216 バッファ, 217 マーク情報付加部, 251 制御部, 252 通信部, 252a 送信部, 252b 受信部, 253 バッファ, 254 デコーダ, 255 バッファ, 256 再生速度制御部, 257 再生部, 301 マーク情報付加部, 311 タイムスタンプ記憶部

Claims (8)

  1. 送信装置から送信されてくるストリーミングデータを受信するとともに、前記送信装置に対してストリーミングデータの切り替え要求を送信する受信装置において、
    前記送信装置から送信されてくるストリーミングデータを受信する受信部と、
    受信された前記ストリーミングデータを一時的に蓄積した後に出力する蓄積部と、
    ユーザによって前記ストリーミングデータの切り替え要求の操作が行なわれたか否かを検出する操作検出部と、
    前記操作が行なわれたことが検出された場合、前記蓄積部に蓄積されている前記ストリーミングデータのなかの、前記送信装置から最後に受信した前記ストリーミングデータを特定するための特定情報を保持する保持部と、
    保持している前記特定情報によって特定される前記送信装置から最後に受信した前記ストリーミングデータが再生されるまで、蓄積されている前記ストリーミングデータが早送りされるように前記再生速度を制御する制御部と
    を備える受信装置。
  2. 前記保持部は、前記操作が行なわれたことが検出された場合、前記蓄積部に蓄積されている前記ストリーミングデータのなかの、前記送信装置から最後に受信した前記ストリーミングデータに対して、前記操作が行われたことを示す付加情報を付加することで、前記特定情報を保持し、
    前記制御部は、蓄積されている前記ストリーミングデータに付加されている前記付加情報が検出されるまで、蓄積されている前記ストリーミングデータが早送りされるように前記再生速度を制御する
    請求項1に記載の受信装置。
  3. 前記制御部は、前記付加情報が検出された場合、前記蓄積部に蓄積される前記ストリーミングデータが所定の量となるまで、蓄積されている前記ストリーミングデータがスロー再生されるように前記再生速度を制御する
    請求項に記載の受信装置。
  4. 前記保持部は、前記操作が行なわれたことが検出された場合、前記蓄積部に蓄積されている前記ストリーミングデータのなかの、前記送信装置から最後に受信した前記ストリーミングデータに付加されている時刻を記憶することで、前記特定情報を保持し、
    前記制御部は、再生される前記ストリーミングデータに付加されている時刻が、記憶されている前記時刻を経過するまで、蓄積されている前記ストリーミングデータが早送りされるように前記再生速度を制御する
    請求項1に記載の受信装置。
  5. 前記制御部は、記憶されている前記時刻を経過した場合、前記蓄積部に蓄積される前記ストリーミングデータが所定の量となるまで、蓄積されている前記ストリーミングデータがスロー再生されるように前記再生速度を制御する
    請求項に記載の受信装置。
  6. ユーザによって操作される、前記ストリーミングデータを送信する機器の切り替え、チャンネルの切り替え、または前記送信装置に接続された外部機器の再生、巻き戻し、早送り、一時停止、若しくは停止を指示する操作部をさらに備え、
    前記操作は、前記ストリーミングデータを送信する機器の切り替えを指示する操作、チャンネルの切り替えを指示する操作、または前記送信装置に接続された外部機器の再生、巻き戻し、早送り、一時停止、若しくは停止を指示する操作である
    請求項1に記載の受信装置。
  7. 送信装置から送信されてくるストリーミングデータを受信するとともに、前記送信装置に対してストリーミングデータの切り替え要求を送信する受信装置の受信方法において、
    前記送信装置から送信されてくるストリーミングデータを受信し、
    受信された前記ストリーミングデータを一時的に蓄積した後に出力し、
    ユーザによって前記ストリーミングデータの切り替え要求の操作が行なわれたか否かを検出し、
    前記操作が行なわれたことが検出された場合、蓄積されている前記ストリーミングデータのなかの、前記送信装置から最後に受信した前記ストリーミングデータを特定するための特定情報を保持し、
    保持している前記特定情報によって特定される前記送信装置から最後に受信した前記ストリーミングデータが再生されるまで、蓄積されている前記ストリーミングデータが早送りされるように前記再生速度を制御する
    各ステップを含む受信方法。
  8. 送信装置から送信されてくるストリーミングデータを受信するとともに、前記送信装置に対してストリーミングデータの切り替え要求を送信する受信装置の制御を、コンピュータに実行させるプログラムにおいて、
    前記送信装置から送信されてくるストリーミングデータを受信し、
    受信された前記ストリーミングデータを一時的に蓄積した後に出力し、
    ユーザによって前記ストリーミングデータの切り替え要求の操作が行なわれたか否かを検出し、
    前記操作が行なわれたことが検出された場合、蓄積されている前記ストリーミングデータのなかの、前記送信装置から最後に受信した前記ストリーミングデータを特定するための特定情報を保持し、
    保持している前記特定情報によって特定される前記送信装置から最後に受信した前記ストリーミングデータが再生されるまで、蓄積されている前記ストリーミングデータが早送りされるように前記再生速度を制御する
    各ステップをコンピュータに実行させるためのプログラム。
JP2006194925A 2006-07-14 2006-07-14 受信装置および方法、並びにプログラム Active JP4347322B2 (ja)

Priority Applications (5)

Application Number Priority Date Filing Date Title
JP2006194925A JP4347322B2 (ja) 2006-07-14 2006-07-14 受信装置および方法、並びにプログラム
EP20070112395 EP1879393B1 (en) 2006-07-14 2007-07-12 Data transmission system, receiving apparatus, receiving method as well as computer program product
TW96125729A TWI358234B (en) 2006-07-14 2007-07-13 Data transmission system, receiving apparatus, and
US11/879,036 US9148696B2 (en) 2006-07-14 2007-07-13 Data transmission system, receiving apparatus, and receiving method as well as sending apparatus and sending method
CN200710135820.1A CN101106697B (zh) 2006-07-14 2007-07-16 数据传输系统、接收装置和方法、以及发送装置和方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2006194925A JP4347322B2 (ja) 2006-07-14 2006-07-14 受信装置および方法、並びにプログラム

Publications (2)

Publication Number Publication Date
JP2008022507A JP2008022507A (ja) 2008-01-31
JP4347322B2 true JP4347322B2 (ja) 2009-10-21

Family

ID=38581972

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2006194925A Active JP4347322B2 (ja) 2006-07-14 2006-07-14 受信装置および方法、並びにプログラム

Country Status (5)

Country Link
US (1) US9148696B2 (ja)
EP (1) EP1879393B1 (ja)
JP (1) JP4347322B2 (ja)
CN (1) CN101106697B (ja)
TW (1) TWI358234B (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009065451A (ja) * 2007-09-06 2009-03-26 Sony Corp コンテンツ再生装置、コンテンツ再生方法、プログラム、およびコンテンツ再生システム

Families Citing this family (24)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1879347B1 (en) * 2006-07-14 2012-05-30 Sony Europe Limited System and method of audio/video streaming
JP4735697B2 (ja) 2008-09-29 2011-07-27 ソニー株式会社 電子機器、コンテンツ再生方法及びプログラム
JP5195546B2 (ja) * 2009-03-12 2013-05-08 船井電機株式会社 データ受信装置および表示装置
CN101938456B (zh) * 2009-06-30 2014-03-12 华为技术有限公司 一种减小媒体延迟的方法、设备及系统
TWI384882B (zh) * 2009-07-28 2013-02-01 Mstar Semiconductor Inc 封包順序回復控制器及其方法
JP5493564B2 (ja) * 2009-08-04 2014-05-14 日本電気株式会社 動画出力装置、動画出力方法およびプログラム
US8073995B2 (en) * 2009-10-19 2011-12-06 Research In Motion Limited Efficient low-latency buffer
WO2011090087A1 (en) * 2010-01-20 2011-07-28 Semiconductor Energy Laboratory Co., Ltd. Display method of display device
TWI423625B (zh) * 2010-10-28 2014-01-11 Chunghwa Telecom Co Ltd 資料傳輸速率調控系統及其方法
CN102547411A (zh) * 2010-12-14 2012-07-04 康佳集团股份有限公司 流视频的传输和播放方法及其实现装置
US9003084B2 (en) * 2011-02-18 2015-04-07 Ab Initio Technology Llc Sorting
CN102137298B (zh) * 2011-03-02 2015-12-09 华为技术有限公司 3d格式描述信息的获取方法和装置
US9065744B2 (en) * 2011-06-20 2015-06-23 Netscout Systems, Inc. Performance optimized and configurable state based heuristic for the classification of real-time transport protocol traffic
CN103384316B (zh) * 2012-05-04 2016-12-21 瑞萨电子(中国)有限公司 电视接收机及其音量曲线调节方法
DE102012215352A1 (de) * 2012-08-29 2014-05-28 Continental Automotive Gmbh Wiedergeben von Mediendaten mit reduzierter Geschwindigkeit
JP2014183519A (ja) * 2013-03-21 2014-09-29 Hitachi Kokusai Electric Inc 再生装置
US9269328B2 (en) * 2014-06-24 2016-02-23 Google Inc. Efficient frame rendering
US20160173675A1 (en) * 2014-12-16 2016-06-16 Hyundai Motor Company In-vehicle multimedia system considering call situation and method for controlling the same
KR102532645B1 (ko) * 2016-09-20 2023-05-15 삼성전자 주식회사 적응적 스트리밍 서비스에서 스트리밍 어플리케이케이션으로 데이터를 제공하는 방법 및 장치
CN108989849B (zh) * 2018-08-01 2021-01-29 广州长嘉电子有限公司 一种dvb-t2+s2电视信号处理方法及系统
TWI687821B (zh) * 2018-11-21 2020-03-11 核桃運算股份有限公司 資料追蹤裝置、方法及其電腦程式產品
CN111666056B (zh) * 2020-05-28 2024-01-05 阿波罗智联(北京)科技有限公司 屏幕切换显示方法、装置、智能后视镜和可读存储介质
CN111901692B (zh) * 2020-08-06 2022-09-06 杭州当虹科技股份有限公司 一种基于多音视频流合成vr的系统
CN113382212B (zh) * 2021-08-13 2021-11-16 深圳市有为信息技术发展有限公司 播放实时音视频流的方法、装置及电子设备

Family Cites Families (29)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5768561A (en) * 1992-06-30 1998-06-16 Discovision Associates Tokens-based adaptive video processing arrangement
JPH0737369A (ja) * 1993-07-19 1995-02-07 Sony Corp 映像信号記録再生装置
US5557724A (en) * 1993-10-12 1996-09-17 Intel Corporation User interface, method, and apparatus selecting and playing channels having video, audio, and/or text streams
ATE194448T1 (de) * 1995-03-31 2000-07-15 Sony Europa Bv System für information auf anfrage
JPH09275481A (ja) * 1996-02-09 1997-10-21 Murata Mach Ltd 通信端末装置及び通信方法
US6356545B1 (en) * 1997-08-08 2002-03-12 Clarent Corporation Internet telephone system with dynamically varying codec
US8290351B2 (en) * 2001-04-03 2012-10-16 Prime Research Alliance E., Inc. Alternative advertising in prerecorded media
US7493644B1 (en) * 1999-12-28 2009-02-17 Nokia Corporation Method, apparatus, and system for video fast forward functionality in a mobile phone
JP4723152B2 (ja) * 2000-02-10 2011-07-13 株式会社東京放送ホールディングス 受信端末装置および受信端末装置の制御方法
JP2002044555A (ja) * 2000-07-28 2002-02-08 Sony Corp 情報表示制御装置および方法
KR100896725B1 (ko) * 2001-02-21 2009-05-11 유나이티드 비디오 프로퍼티즈, 인크. 복수의 프로그램 가이드 제공 방법, 프로그램 버퍼링 방법 및 시스템
JP2003016725A (ja) * 2001-06-27 2003-01-17 Sony Corp コンテンツデータの送信装置および送信方法、並びにコンテンツデータの処理装置および処理方法
KR100456441B1 (ko) * 2002-01-18 2004-11-09 주식회사 휴맥스 저장 매체에 저장된 서비스의 중지 시점부터 서비스를제공하는 방법 및 장치
US20040034874A1 (en) * 2002-08-19 2004-02-19 Hord Phillip M. Pop-up PVR advertising
US7716700B2 (en) * 2002-11-25 2010-05-11 Time Warner Interactive Video Group Inc. Technique for delivering entertainment programming content including commercial content therein over a communications network
GB0300361D0 (en) * 2003-01-07 2003-02-05 Koninkl Philips Electronics Nv Audio-visual content transmission
JP2004356695A (ja) 2003-05-27 2004-12-16 Sony Corp データ配信システムおよびデータ配信方法、ならびにデータ受信装置およびデータ受信方法
CN101241735B (zh) * 2003-07-07 2012-07-18 罗威所罗生股份有限公司 重放加密的视听内容的方法
US20050091690A1 (en) * 2003-09-12 2005-04-28 Alain Delpuch Method and system for controlling recording and playback of interactive applications
JP4789805B2 (ja) * 2003-10-02 2011-10-12 ティヴォ インク マルチスピード再生のためのコマーシャルの修正
US20050166255A1 (en) * 2004-01-06 2005-07-28 Hallberg Bryan S. Operation modes for a personal video recorder
US20050198681A1 (en) * 2004-03-08 2005-09-08 Sharp Laboratories Of America, Inc. Playout buffer management to minimize startup delay
CA2569610C (en) 2004-06-07 2012-11-27 Sling Media, Inc. Personal media broadcasting system
US20050283535A1 (en) 2004-06-17 2005-12-22 Michele Covell Method and system for interactive control of media over a network
US20060013554A1 (en) * 2004-07-01 2006-01-19 Thomas Poslinski Commercial storage and retrieval
US8266311B2 (en) * 2004-07-29 2012-09-11 Microsoft Corporation Strategies for transmitting in-band control information
GB0504210D0 (en) * 2005-03-01 2005-04-06 Kerven Katherine E Transmission of promotional material
US20060230176A1 (en) * 2005-04-12 2006-10-12 Dacosta Behram M Methods and apparatus for decreasing streaming latencies for IPTV
KR20100050180A (ko) * 2008-11-05 2010-05-13 삼성전자주식회사 프로젝터를 구비한 휴대 단말기 및 그 휴대 단말기에서 표시부 제어 방법

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009065451A (ja) * 2007-09-06 2009-03-26 Sony Corp コンテンツ再生装置、コンテンツ再生方法、プログラム、およびコンテンツ再生システム

Also Published As

Publication number Publication date
EP1879393A2 (en) 2008-01-16
TW200826679A (en) 2008-06-16
EP1879393B1 (en) 2014-12-24
TWI358234B (en) 2012-02-11
JP2008022507A (ja) 2008-01-31
US20080052408A1 (en) 2008-02-28
US9148696B2 (en) 2015-09-29
CN101106697B (zh) 2014-12-03
CN101106697A (zh) 2008-01-16
EP1879393A3 (en) 2011-12-28

Similar Documents

Publication Publication Date Title
JP4347322B2 (ja) 受信装置および方法、並びにプログラム
JP5215604B2 (ja) クライアント装置、通信システム及びデータ処理方法
JP2006513608A (ja) オーディオ−ビジュアル・コンテンツ伝送システム及び方法
JP4730590B2 (ja) 制御装置および方法、情報処理装置および方法、並びにプログラム
JP2008029006A (ja) クライアント装置、通信システム及びデータ処理方法
JP2004180290A (ja) 伝送装置と伝送方法と再生装置と再生方法およびプログラムと記録媒体
JP2012015928A (ja) 映像送信装置
KR20090026068A (ko) 콘텐츠 재생장치, 콘텐츠 재생 방법, 프로그램, 및 콘텐츠 재생 시스템
JP4933145B2 (ja) ネットワーク受信機
JP4526294B2 (ja) ストリームデータ送信装置、受信装置、プログラムを記録した記録媒体、およびシステム
US20090046994A1 (en) Digital television broadcast recording and reproduction apparatus and reproduction method thereof
JP2010021867A (ja) ストリーミング再生装置、ストリーミング配信再生システム、ストリーミング再生方法及びストリーミング再生プログラム
JP2004356695A (ja) データ配信システムおよびデータ配信方法、ならびにデータ受信装置およびデータ受信方法
JP2006332773A (ja) 制御装置および方法、並びにプログラム
JP4112350B2 (ja) 動画像通信システム、動画再生端末、動画像配信装置及び動画像の配信方法
JP4678495B2 (ja) 情報処理装置および方法、並びにプログラム
JP4587780B2 (ja) 映像再生装置
JP2005285298A (ja) Av装置、avシステムおよびav装置制御方法
JP2007053504A (ja) 映像通信装置、映像通信方法、及びプログラム
JPWO2008126337A1 (ja) 遠隔再生システム及び遠隔再生システムの制御方法
JP2016171471A (ja) 番組配信システム
JP2010268490A (ja) 無線通信装置

Legal Events

Date Code Title Description
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20080515

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20080527

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20080827

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: 20090714

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

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20090715

R150 Certificate of patent or registration of utility model

Ref document number: 4347322

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

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

Free format text: PAYMENT UNTIL: 20120724

Year of fee payment: 3

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

Free format text: PAYMENT UNTIL: 20130724

Year of fee payment: 4

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313115

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250