JP5026167B2 - ストリーム伝送サーバおよびストリーム伝送システム - Google Patents

ストリーム伝送サーバおよびストリーム伝送システム Download PDF

Info

Publication number
JP5026167B2
JP5026167B2 JP2007173901A JP2007173901A JP5026167B2 JP 5026167 B2 JP5026167 B2 JP 5026167B2 JP 2007173901 A JP2007173901 A JP 2007173901A JP 2007173901 A JP2007173901 A JP 2007173901A JP 5026167 B2 JP5026167 B2 JP 5026167B2
Authority
JP
Japan
Prior art keywords
frame
data
buffer
stream
transmission
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.)
Expired - Fee Related
Application number
JP2007173901A
Other languages
English (en)
Other versions
JP2009016990A (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.)
Panasonic Corp
Panasonic Holdings Corp
Original Assignee
Panasonic Corp
Matsushita Electric Industrial Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Panasonic Corp, Matsushita Electric Industrial Co Ltd filed Critical Panasonic Corp
Priority to JP2007173901A priority Critical patent/JP5026167B2/ja
Priority to PCT/JP2008/001684 priority patent/WO2009004778A1/ja
Priority to CN2008800185621A priority patent/CN101682741B/zh
Priority to US12/664,923 priority patent/US8719883B2/en
Publication of JP2009016990A publication Critical patent/JP2009016990A/ja
Application granted granted Critical
Publication of JP5026167B2 publication Critical patent/JP5026167B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/234Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs
    • H04N21/2343Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs involving reformatting operations of video signals for distribution or compliance with end-user requests or end-user device requirements
    • H04N21/234318Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs involving reformatting operations of video signals for distribution or compliance with end-user requests or end-user device requirements by decomposing into objects, e.g. MPEG-4 objects
    • 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/236Assembling of a multiplex stream, e.g. transport stream, by combining a video stream with other content or additional data, e.g. inserting a URL [Uniform Resource Locator] into a video stream, multiplexing software data into a video stream; Remultiplexing of multiplex streams; Insertion of stuffing bits into the multiplex stream, e.g. to obtain a constant bit-rate; Assembling of a packetised elementary stream
    • 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/41Structure of client; Structure of client peripherals
    • H04N21/414Specialised client platforms, e.g. receiver in car or embedded in a mobile appliance
    • H04N21/41407Specialised client platforms, e.g. receiver in car or embedded in a mobile appliance embedded in a portable device, e.g. video client on a mobile phone, PDA, laptop
    • 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/47214End-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 content reservation or setting reminders; for requesting event notification, e.g. of sport results or stock market
    • 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
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/80Generation or processing of content or additional data by content creator independently of the distribution process; Content per se
    • H04N21/85Assembly of content; Generation of multimedia applications
    • H04N21/854Content authoring
    • H04N21/8547Content authoring involving timestamps for synchronizing content
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/85Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using pre-processing or post-processing specially adapted for video compression
    • H04N19/88Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using pre-processing or post-processing specially adapted for video compression involving rearrangement of data among different coding units, e.g. shuffling, interleaving, scrambling or permutation of pixel data or permutation of transform coefficient data among different blocks

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Databases & Information Systems (AREA)
  • Finance (AREA)
  • Strategic Management (AREA)
  • Business, Economics & Management (AREA)
  • Human Computer Interaction (AREA)
  • Computer Security & Cryptography (AREA)
  • General Engineering & Computer Science (AREA)
  • Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
  • Mobile Radio Communication Systems (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)
  • Television Signal Processing For Recording (AREA)

Description

本発明は、ストリーム伝送方式に関し、特に、ストリームデータを再生する端末を、ストリームデータを受信している端末から別の端末に切り替える方式に関する。
コンピュータネットワークの技術開発による高速化、低コスト化に伴い、ネットワークにおける映像伝送が普及しつつある。映像伝送を受信する端末も多様化が進み、携帯電話やパーソナルコンピュータに加えて、インターネット接続機能が搭載された家電機器、すなわちテレビやDVR(Digital Video Recoder)が開発されている。今後は、インターネット上を伝送された映像のストリームデータを家電機器によって受信し、表示や記録を行うことが予想される。
このように、多様化した機器がそれぞれネットワークから受信した映像を表示することが可能な環境では、ユーザの状況に適した機器で映像を表示することができ、ユーザが映像を視聴できる場面を拡げていくことができる。例えば、ユーザが、室内のテレビ受像機でインターネットの映像コンテンツ番組を視聴していたとする。このユーザが外出するときに、表示する機器を携帯電話に切り替えれば、外でも映像コンテンツ番組の続きを楽しむことができる。
このテレビ受像機と携帯電話で表示機器を切り替える例では、テレビ受像機が受信していた映像コンテンツ番組の受信セッションを携帯電話に切り替える。このように異なる複数の機器の間でセッションを切り替えることをセッションモビリティと呼ぶ。なお、上記では、映像伝送のセッションモビリティの例を挙げたが、セッションモビリティは、音声や他のデータを伝送するセッションにも適用できる。
セッションモビリティに求められる性質としては、a)高速性、b)継続性の2つが挙げられる。
高速性は、表示機器の切替えをできるだけ高速に行うことである。高速性は、ユーザが切替えを指示してから、切替先の機器でセッションを利用するアプリケーションが動作するまでの時間の長短によって表される。例えば、映像伝送の場合、切替指示から切替先の機器で映像が表示されるまでの時間である。
継続性は、切替前と切替後とで、コンテンツが継続していることである。すなわち、映像コンテンツ番組の途中で、映像コンテンツ番組を表示する機器を他の機器に切り替えたとき、切替先の機器は切替を指示したときに切替元の機器で表示されていた場面の続きを表示する必要がある。
特許文献1は、セッションモビリティを実現する方式として、携帯端末に蓄積したメディアを近距離無線経由で外部装置に出力する手順を開示している。具体的には、携帯端末は、外部装置を探索し、探索された外部装置との接続を確立し、メディアを転送する。
特開2002−368846号公報
ストリーム伝送では、送信元から定期的にパケットが出力される。一般にネットワークを通じたパケット通信では、定期的に出力されたパケットの到着間隔が変動するいわゆる「ジッタ」という現象が生じる。受信したストリームデータを再生する際には、一定間隔で動画データや音声データが必要になるが、ジッタが発生すると再生が途切れてしまう。これを防止するために、ストリーム伝送においては、データの再生を開始する前に、受信したデータをバッファに格納するバッファリング処理を行う。端末の切替えを行う際にも、バッファリング処理が行われる。従って、ストリームデータのダウンロード開始時およびストリームデータの再生端末の切替え時において、データの再生を開始するまでに時間を要していた。
上記した特許文献1は、ユーザからスタート操作がなされる前に外部装置を探索することで、外部装置の探索に要する時間を短縮する方法を提案しているが、バッファリングに要する時間については何ら考慮していない。
本発明は、上記背景に鑑み、端末切替え時の初期バッファリング時間を短縮して、切替えを円滑に行えるストリーム伝送方法を提供することを目的とする。
本発明のストリーム伝送サーバは、フレーム間予測符号化されたデータをストリーム伝送するサーバであって、単独フレームで復号可能なキーフレームに対してそのキーフレームに続く少なくとも1つの差分フレームを追加し一の送信単位のデータとすると共に、フレーム番号を含む前記一の送信単位のデータに関する情報を付与したバッファ用キーフレームを生成するバッファ用キーフレーム生成部と、あらかじめ所定の周期に設定された前記キーフレームの送信タイミングに、その送信タイミングに送信されるべきキーフレームを用いて生成されたバッファ用キーフレームを送信し、次のキーフレームの送信タイミングまでにある前記差分フレームの送信タイミングに任意のフレームを送信するフレーム送信部とを備える。
このようにキーフレームの送信タイミングに、キーフレームに加えてキーフレームに続く差分フレームを一の送信単位のデータとして送信することにより、バッファリングに要する時間を短縮することができる。また、所定の周期で現れるキーフレームに対して差分フレームを追加する処理を行っているので、ストリームデータを受信した端末が、ストリームデータの途中からストリームデータを他の端末に転送する場合にも、他の端末においてバッファリングに要する時間を短縮できる。
本発明のストリーム伝送サーバにおいて、前記フレーム送信部は、前記差分フレームの送信タイミングにおいて、その差分フレームの前後のキーフレームの間にある差分フレームのうち未送信の差分フレームを送信し、前後のキーフレームの間にあるすべての差分フレームが送信済みの場合には任意のフレームを送信してもよい。
このように前後のキーフレームの間にある未送信の差分フレームを送信することにより、ストリームデータを受信した端末は、ストリームデータを適切に再生できる。また、前後のキーフレームの間にあるすべての差分フレームが送信済みの場合に、任意のフレームを送信して送信タイミングを保持することにより、受信側の端末は、受信したフレームの順番を把握できる。これにより、受信側の端末は、受信データをデコードしなくてもフレームの受信順番に基づいてバッファ用キーフレームを特定できる。なお、任意のフレームは、キーフレームであってもよいし、差分フレームでもよい。また、フレーム送信部は、任意のフレームとして、送信済みのフレームを再度送信してもよい。
本発明の別の態様のストリーム伝送サーバは、フレーム間予測符号化された動画データと音声データとからなるデータをストリーム伝送するサーバであって、単独フレームで復号可能な動画データのキーフレームに対してそのキーフレームに対応する音声フレームおよび当該音声フレームに続く少なくとも1つの音声フレームを追加し一の送信単位のデータとすると共に、フレーム番号を含む前記一の送信単位のデータに関する情報を付与したバッファ用キーフレームを生成するバッファ用キーフレーム生成部と、あらかじめ所定の周期に設定された前記キーフレームの送信タイミングに、その送信タイミングに送信されるべきキーフレームを用いて生成されたバッファ用キーフレームを送信し、次のキーフレームの送信タイミングまでにある前記差分フレームの送信タイミングに、その送信タイミングに送信されるべき差分フレームおよび任意の音声フレームを送信するフレーム送信部とを備える。
このように動画データのキーフレームの送信タイミングに、キーフレームおよびそれに対応する音声フレームに加えてその音声フレームに続く音声フレームを一の送信単位のデータとして送信することにより、音声フレームのバッファリングに要する時間を短縮することができる。また、所定の周期で現れるキーフレームに対して音声フレームを追加する処理を行っているので、ストリームデータを受信した端末が、ストリームデータの途中からストリームデータを他の端末に転送する場合にも、他の端末において音声フレームのバッファリングに要する時間を短縮できる。
本発明の端末は、上記のストリーム伝送サーバから送信されるストリームデータを再生する端末であって、前記ストリーム伝送サーバから送信されるバッファ用キーフレームおよび差分フレームを受信するフレーム受信部と、受信したフレームを記憶するバッファと、前記バッファに記憶されたフレームを読み出してストリームデータを再生する再生部と、再生済みのフレームのフレーム番号を記憶する再生済みフレーム番号記憶部と、前記バッファから読み出したフレームのフレーム番号が前記再生済みフレーム番号記憶部に記憶されたフレーム番号と一致する場合に、そのフレームを再生しないで削除する削除部とを備える。
この構成により、バッファから再生済みのフレームを読み出した場合には再生しないで削除するので、同じフレームを重複して再生することがなく、ストリームデータを適切に再生できる。
本発明の端末は、ストリームデータを再生する端末を他の端末に切り替える切替要求を受信する切替要求受信部を備え、前記制御部は、前記切替要求を受信したときに、前記バッファに格納されたデータの中から、前記切替要求を受信する直前に再生されたバッファ用キーフレームを先頭として前記バッファに記憶されたデータを読み出し、読み出したデータを前記他の端末に送信してもよい。
このように切替要求を受信する直前に再生されたバッファ用キーフレームを先頭とするストリームデータを切替先の他の端末に送信することにより、他の端末においてバッファリングに要する時間を短縮できる。これにより、ストリームデータを再生する端末の切替えを迅速に行うことができる。
本発明のストリーム伝送システムは、フレーム間予測符号化されたデータをストリーム伝送するストリーム伝送サーバと、前記ストリーム伝送サーバから伝送されたストリームデータを再生する第1の端末と、前記第1の端末からストリームデータの転送を受けて前記ストリームデータを再生する第2の端末とを備え、前記ストリーム伝送サーバは、単独フレームで復号可能なキーフレームに対してそのキーフレームに続く少なくとも1つの差分フレームを追加し一の送信単位のデータとすると共に、フレーム番号を含む前記一の送信単位のデータに関する情報を付与したバッファ用キーフレームを生成するバッファ用キーフレーム生成部と、あらかじめ所定の周期に設定された前記キーフレームの送信タイミングに、その送信タイミングに送信されるべきキーフレームを用いて生成されたバッファ用キーフレームを送信し、次のキーフレームの送信タイミングまでにある前記差分フレームの送信タイミングに任意のフレームを送信するフレーム送信部とを備え、前記第1の端末は、前記ストリーム伝送サーバから送信されるバッファ用キーフレームおよび差分フレームを受信するフレーム受信部と、受信したフレームを記憶するバッファと、前記バッファに記憶されたフレームを読み出してストリームデータを再生する再生部と、再生済みのフレームのフレーム番号を記憶する再生済みフレーム番号記憶部と、前記バッファから読み出したフレームのフレーム番号が前記再生済みフレーム番号記憶部に記憶されたフレーム番号と一致する場合に、そのフレームを再生しないで削除する削除部とを備え、前記制御部は、前記切替要求を受信したときに、前記バッファに格納されたデータの中から、前記切替要求を受信する直前に再生されたバッファ用キーフレームを先頭として前記バッファに記憶されたデータを読み出し、読み出したデータを前記他の端末に送信する。
この構成により、上記したストリーム伝送サーバの発明と同様に、第1の端末および第2の端末においてストリームデータのバッファリングに要する時間を短縮することができる。
本発明のストリーム伝送方法は、フレーム間予測符号化されたデータをストリーム伝送するサーバが、単独フレームで復号可能なキーフレームに対してそのキーフレームに続く少なくとも1つの差分フレームを追加し一の送信単位のデータとすると共に、フレーム番号を含む前記一の送信単位のデータに関する情報を付与したバッファ用キーフレームを生成するステップと、あらかじめ所定の周期に設定された前記キーフレームの送信タイミングに、その送信タイミングに送信されるべきキーフレームを用いて生成されたバッファ用キーフレームを送信するステップと、次のキーフレームの送信タイミングまでにある前記差分フレームの送信タイミングに任意のフレームを送信するステップとを備える。
この構成により、上記したストリーム伝送サーバの発明と同様に、ストリームデータを受信する端末においてストリームデータのバッファリングに要する時間を短縮することができる。また、ストリームデータを受信した端末が、ストリームデータの途中からストリームデータを他の端末に転送する場合にも、他の端末においてバッファリングに要する時間を短縮できる。
本発明のストリーム伝送方法は、前記ストリーム伝送サーバから送信されるバッファ用キーフレームおよび差分フレームを受信するステップと、受信したバッファ用キーフレームおよび差分フレームをバッファに記憶するステップと、前記バッファに記憶されたフレームを読み出してストリームデータを再生するステップと、再生済みのフレームのフレーム番号を再生済みフレーム番号記憶部に記憶するステップと、前記バッファから読み出したフレームのフレーム番号が前記再生済みフレーム番号記憶部に記憶されたフレーム番号と一致する場合に、そのフレームを再生しないで削除するステップとを備えてもよい。
この構成により、バッファから再生済みのフレームを読み出した場合には再生しないで削除するので、同じフレームを重複して再生することがなく、ストリームデータを適切に再生できる。
本発明のストリーム伝送方法は、ストリームデータを再生する端末を他の端末に切り替える切替要求を受信するステップと、前記切替要求を受信したときに、前記バッファに格納されたデータの中から、前記切替要求を受信する直前に再生されたバッファ用キーフレームを先頭として前記バッファに記憶されたデータを読み出し、読み出したデータを前記他の端末に送信するステップとを備えてもよい。
この構成により、他の端末においてバッファリングに要する時間を短縮でき、ストリームデータを再生する端末の切替えを迅速に行うことができる。
本発明は、キーフレームの送信タイミングに、所定の周期で現れるキーフレームに対してキーフレームに続く差分フレームを一の送信単位のデータとして送信することにより、バッファリングに要する時間を短縮することができると共に、ストリームデータを受信した端末がストリームデータを他の端末に転送する場合に、他の端末においてバッファリングに要する時間を短縮できるというすぐれた効果を有する。
以下、本発明の実施の形態のストリーム伝送システムについて、図面を参照しながら説明する。
(第1の実施の形態)
図1は、第1の実施の形態のストリーム伝送システムの構成を示す図である。図1に示すように、ストリーム伝送システムは、サーバ101と、切替元端末102aと、切替先端末102bとを有している。
サーバ101は、定期的にフレームを送信することによってストリームデータを伝送する。ストリームデータを構成するフレームは、動画フレームと音声フレームとからなる。本実施の形態では、動画フレームおよび音声フレームをフレーム毎に圧縮するコーデック(Codec)を利用している。このようなコーデックとしては、例えば、動画におけるMPEG−2またはMPEG−4(H.264を含む)、音声におけるMPEG−2/MPEG−4 AAC(Advanced Audio Coding)やMP3(MPEG−1 Audio Layer−3)がある。フレーム間予測を用いるコーデックでは、ピクチャをフレーム単位で取り扱う場合のピクチャの種類として、フレーム内圧縮だけで生成する独立フレーム(Iフレーム)とフレーム間圧縮で生成する差分フレーム(PフレームまたはBフレーム)とがある。差分フレームは、独立フレームとの差分によってフレームの情報を表しており、独立フレームなしでは再生できない。従って、動画データの再生を開始するには、独立フレームから再生を開始する必要がある。以下、Iフレームを独立フレーム、Pフレーム、Bフレームを差分フレームという。独立フレームは、所定の周期で送信される。独立フレームの送信周期は、例えば規格によって定められており、一般には、15フレームに1フレームの割合である。
サーバ101は、動画格納部111と、音声格納部112と、多重部113と、出力部114と、制御部115と、送信データ生成部116とを有している。動画格納部111は、サーバ101が伝送する動画データを蓄積する。音声格納部112は、サーバ101が伝送する音声データを蓄積する。動画格納部111および音声格納部112は、例えば、記憶装置によって構成される。
送信データ生成部116は、動画格納部111に記憶された動画データと音声格納部112に記憶された音声データを読み出し、送信データを生成する。送信データ生成部116は、独立フレームの送信タイミングにおいて、その送信タイミングに送信すべき独立フレームとそれに続く例えば2つの差分フレームを読み出して送信データを生成する。独立フレームに例えば2つの差分フレームを追加したフレームは、「バッファ用キーフレーム」に該当する。独立フレーム以外の差分フレームの送信タイミングにおいては、前回読み出したフレームに続くフレームを読み出して送信データを生成する。
多重部113は、送信データ生成部116にて生成された送信データを多重化して多重化ストリームを生成する。出力部114は、多重部113によって生成された多重化ストリームを切替元端末102aに対して出力する。制御部115は、サーバ101の動作制御を行う。
切替元端末102aは、入力部121aと、制御部122aと、バッファ123aと、再生部124aと、切替出力部125aと、重複削除部126とを有する。入力部121aは、サーバ101から送信された制御信号、動画データおよび音声データ等を受信する。入力部121aは、TCP/IPなどのネットワークのプロトコルスタックに該当する。制御部122aは、他の端末の呼制御や伝送レートの変更など通信に関する端末の制御を行う。制御部122aは、アプリケーションソフトウェアに該当する。
バッファ123aは、入力部121aにて受信した動画データおよび音声データを一時的に格納する。バッファ123aは、例えば、メモリによって構成される。再生部124aは、バッファ123aに格納されたデータを読み出し、読み出したデータを再生する。再生部124aは、例えば、ディスプレイ用のメモリ、動画データおよび音声データのデコーダ、動画の表示プログラム、グラフィック表示や音声再生用のハードウェア、ディスプレイやスピーカーによって構成される。
切替出力部125aは、切替先端末102bとの接続を行う。切替出力部125aは、入力部121aと同様にプロトコルスタックとして実現される。入力部121aと切替出力部125aは、接続先のアドレスが異なる。制御部122aは、設定の違いによって、入力部121aと切替出力部125aを識別することができる。
重複削除部126は、再生済みの動画データおよび音声データを重複して再生しないように、バッファ123aから再生済みの動画データおよび音声データを読み出した場合に削除する機能を有する。重複削除部126aは、再生済みフレーム番号記憶部127aを有し、再生済みの動画フレームおよび音声フレームのフレーム番号を記憶する。重複削除部126は、バッファ123aから動画フレームおよび音声フレームのフレームを読み出したときに、読み出した動画フレームおよび音声フレームのフレーム番号が再生済みフレーム番号記憶部127aに記憶されているか否かを判定する。読み出した動画フレームおよび音声フレームのフレーム番号が再生済みフレーム番号記憶部127aに記憶されている場合には、重複削除部126は、バッファ123aから読み出した動画フレームおよび音声フレームを削除する。重複削除部126は、読み出した動画フレームおよび音声フレームのフレーム番号が再生済みフレーム番号記憶部127aに記憶されていない場合には、バッファ123aから読み出した動画フレームおよび音声フレームのフレーム番号を再生済みフレーム番号記憶部127aに記憶する。本実施の形態では、バッファ123aから動画フレームおよび音声フレームを読み出した時点で再生済みフレーム番号記憶部127aにフレーム番号を記憶する構成を採用しているが、実際に再生が完了した時点で再生済みフレーム番号記憶部127aにフレーム番号を記憶する構成とすることも可能である。
切替先端末102bの基本的な構成は、切替元端末102aと同じである。切替先端末102bは、切替出力部125aを有していない一方で、切替入力部125bを有している点が切替元端末102aと異なる。切替入力部125bは、端末切替時に切替元端末102aから出力されたストリームデータを受信する。切替先端末102bは、切替入力部125bからの入力を、サーバ101からの入力と同様にバッファ123bに格納し、バッファ123bに格納されたデータを再生部124bによって再生する。
図2は、本実施の形態のストリーム伝送システムの動作における動画データおよび音声データの出力と再生のタイミングを示す図である。時間軸212は、時間の流れを示す。図2では、動画フレームおよび音声フレームを長方形で表し、長方形の中にフレーム番号を示す数字を記載している。また、動画データには、フレーム番号の前に「V」(Videoの略)、音声データにはフレーム番号の前に「A」(Audioの略)を付している。例えば、フレーム番号4のフレームは「V4」、「A4」と表し、フレーム番号1からフレーム番号3のフレームは「V1−3」、「A1−3」と表している。
本実施の形態では、動画フレームと音声フレームの再生にかかる時間の長さは同じとする。なお、動画データと音声データの対応が取れていて再生時に同期が取れるようになっていれば、動画フレームと音声フレームの長さは異なってもよい。その場合は、動画データと同じ時間に再生されるべき音声データを組にして扱うことで、本実施の形態と同様の効果が得られる。
前述したように、一般に、独立フレームは、15フレームに1フレームの割合で出現するが、図2では簡単のため、4フレームに1フレームの割合で出現する例を記載している。図2においては、「V1」、「V5」、「V9」、「V13」が独立フレームであり、太枠で示している。なお、本実施の形態では、ストリーム伝送を行う際に、動画における独立フレームのように、伝送先での処理において重要な役割を果たすフレームをキーフレームと総称する。
図2において、動画データ201aと音声データ201bは、各フレームを出力するタイミングを示す。本実施の形態では、動画データ201aと音声データ201bを総称して多重化ストリーム201という。
図2において、動画データ202aと音声データ202bは、切替元端末102aがサーバ101から受信した動画データと音声データの各フレームをバッファ123aに格納するタイミングを示す。本実施の形態では、動画データ202aと音声データ202bを総称して多重化ストリーム202という。
図2において、動画データ203aと音声データ203bは、切替元端末102aが動画データおよび音声データの各フレームを再生するタイミングを示す。本実施の形態では、動画データ203aと音声データ203bを総称して多重化ストリーム203という。
図2において、動画データ204aと音声データ204bは、切替先端末102bが切替元端末102aから受信した動画データと音声データの各フレームをバッファ123bに格納するタイミングを示す。本実施の形態では、動画データ204aと音声データ204bを総称して多重化ストリーム204という。
図2において、動画データ205aと音声データ205bは、切替先端末102bが切替元端末102aから受信した動画データおよび音声データの各フレームを再生するタイミングを示す。本実施の形態では、動画データ205aと音声データ205bを総称して多重化ストリーム205という。
以下、図2を参照しながら、本実施の形態におけるストリーム伝送システムの多重化ストリームの流れを説明する。
まず、本実施の形態におけるサーバ101の動作を説明する。サーバ101は、一定の時間間隔で動画フレームと音声フレームを多重化した多重化ストリーム201を出力する。サーバ101は、独立フレームを送信する際に、動画データと音声データの独立フレームに、バッファ用の所定枚数の動画フレームと音声フレームを追加して多重化ストリームを生成する。独立フレームを送信するタイミングは、フレームの送信順番を示すフレーム番号kが独立フレームの番号と一致するか否かによって検出する。独立フレームの間隔がn(枚)とすると、独立フレームの番号は、1、1+n、1+2n、・・・である。従って、制御部115は、フレーム番号kがk=1+m×n(mは0以上の整数)を満たすか否かを判定し、フレーム番号kがこの式を満たす場合に、独立フレームと判定する。サーバ101は、独立フレームを送信する際に、b枚のバッファ用の動画フレームと音声フレームを追加して多重化ストリーム201を生成して出力する。
図2に示す例では、バッファ用のフレーム数bを2とする。例えば、多重化ストリーム201としてフレーム番号1のフレームを出力するときは、独立フレームであるフレーム番号1の動画フレームV1と音声フレームA1に加え、バッファ用の2枚の動画フレームV2,V3と音声フレームA2,A3を追加して出力する。従って、追加処理を行わない場合に比べて、動画フレームV2,V3と音声フレームA2,A3が早いタイミングで出力される。すなわち、追加処理を行わない場合には、動画フレームV2および音声フレームA2はデータ2の送信タイミングに送信され、動画フレームV3および音声フレームA3はデータ3の送信タイミングに送信されることになる。従って、動画フレームV2、V3および音声フレームA2、A3を送信するには、データ3の送信タイミングまで待たなければならない。本実施の形態では、データ1の送信タイミングにおけるキーフレームに動画フレームV2,V3と音声フレームA2,A3を追加して送信することにより、データ2の送信タイミングを待つことなく早いタイミングで動画フレームV2,V3と音声フレームA2,A3を送信できる。図2では、それぞれ1,5,9,11回目に出力される多重化ストリームにおいて、動画フレームと音声フレームの追加処理を行っている。
なお、図2においては、独立フレームと差分フレームを同じ大きさで記載しているが、実際には差分フレームは、フレーム間符号化により独立フレームに比べてデータ量が非常に小さい。従って、独立フレームに差分フレームを追加したことによる送出遅延を、独立フレームの送出間隔より小さくすることができる。
差分フレームを送信するタイミングでは、サーバ101は、直前に出力した動画フレームと音声フレームの続きのフレームを多重化して出力する。k回目(k≠1+m×n)に出力する多重化ストリーム201のフレーム番号は(k+b)となる。図2に示す例では、k回目(k≠1+m×n)のフレーム送信タイミングに送信される動画データ201aおよび音声データ201bのフレーム番号は(k+2)である。例えば、2回目に出力する多重化ストリーム201には動画データV4と音声データA4が含まれ、3回目に出力する多重化ストリーム201には動画データV5と音声データA5が含まれる。
本実施の形態において、システムの動作開始時に、サーバ101は動画フレームV1−3(V1、V2、V3、以下同じ)の動画データ201aと音声フレームA1−3(A1、A2、A3、以下同じ)の音声データ201bからなる多重化ストリーム201を出力する。以下、動画フレームV1−3と音声フレームA1−3に対するシステムの処理を説明する。
切替元端末102aは、動画フレームV1−3と音声フレームA1−3を受信すると、受信した動画フレームV1−3および音声フレームA1−A3をバッファ123aに格納する。図2に示すように、切替元端末102aのバッファ123aへの格納タイミングは、サーバ101の送信時刻に対して遅延している。この遅延時間209は、動画フレームV1−3および音声フレームA1−3のネットワーク送受信とバッファ123aへのデータの格納に要する時間である。
切替元端末102aは、バッファ123aに3フレーム(V1−3、A1−3)を格納する処理を終えてから、再生部124aにて再生処理を行う。本実施の形態においても、従来技術と同様に、バッファ123aに所定量のデータが格納された時点から再生を開始する。ここでは、3フレーム(V1−3、A1−3)分のデータがバッファ123aに格納された時点から再生を開始するとする。なお、バッファ123aの所定量のデータが格納されてから再生までの遅延時間210は、バッファ123aからのデータの読み出し、デコードおよび再生に要する時間である。切替元端末102aは、一旦再生を開始した後は、バッファ123aに格納された動画データおよび音声データを順次読み出して再生する。
サーバ101は、動画フレームV1−3と音声フレームA1−3の次の2回目の出力タイミングにおいて動画フレームV4と音声フレームA4を多重化して多重化ストリーム201を生成して出力する。切替元端末102aは、バッファ123aに1フレームの動画フレームV4と音声フレームA4を格納する。サーバ101は、3回目の出力タイミングで動画フレームV5と音声フレームA5、4回目の出力タイミングで動画フレームV6と音声フレームA6からなる多重化ストリーム201を出力する。これらに対して、切替元端末102aは、動画フレームV4と音声フレームA4からなる多重化ストリーム201に対する場合と同様に、バッファ123aへの格納処理を行う。
サーバ101は、フレーム出力の順番が1+m×4(mは0以上の整数)を満たす5回目の出力タイミングには動画フレームV5−7と音声フレームA5−7を出力し、9回目の出力タイミングには動画フレームV9−11と音声フレームA9−11を出力し、13回目の出力タイミングには動画フレームV13−15と音声フレームA13−15を出力する。これらに対して、切替元端末102aは、動画フレームV1−3と音声フレームA1−3からなる多重化ストリーム201に対する場合と同様に、バッファ123aへの格納処理を行う。
切替元端末102aは、多重化ストリーム203の再生を行う一方で、機器発見・接続処理206を行う。機器発見・接続処理206は、切替元端末102aが切替先端末102bを検出し、通信接続を確立する処理である。機器発見・接続処理206を行うことにより、切替元端末102aと切替先端末102bとが通信可能になる。機器発見・接続処理206は、ユーザによる操作、タイマ、あるいはその他のトリガによって起動されることとしてもよい。
機器発見・接続処理206にて切替先端末102bが発見されると、切替先端末102bは、多重化ストリーム201を再生する端末を切り替えるための端末変更要求207を出力する。切替先端末102bが端末変更要求207を出力するタイミングは、機器発見・接続処理206の後であればよい。切替先端末102bは、端末変更要求207を、ユーザの操作や指示に応じて出力してもよいし、ユーザの操作によらずに自動的に出力してもよい。
切替元端末102aは、端末変更要求207に応じて、再生に必要な独立フレームを含む多重化ストリーム202を切替先端末102bに対して出力する。図2に示す例では、端末変更要求207が切替元端末102aに入力されたときに、切替元端末102aで動画フレームV5、音声フレームA5が再生されている。そこで、切替元端末102aは、動画フレームV6、音声フレームA6以降のデータを再生できるように、切替先端末102bに対してストリームデータを転送する。
切替先端末102bには、動画フレームV5−7、音声フレームA5−7からなる多重化ストリーム202が入力される。多重化ストリーム202は、動画フレームと音声フレームをそれぞれ3フレーム含んでいるため、切替先端末102bは、データ再生開始前のバッファリングを直ちに完了する。切替先端末102bは、再生部124bによって多重化ストリーム202を動画フレームと音声フレームに分離した後にデコードして、再生を開始する。端末変更要求207から表示開始までに要する時間は、時間211である。
次に、サーバ101、切替元端末102a、切替先端末102bの動作を図3〜図5を用いて詳細に説明する。なお、以下に説明する動作は、図2に示すタイミングで動画データおよび音声データの伝送および再生を行うための一例である。本発明は、以下に説明する動作に限定されるものではない。
(サーバの動作)
図3は、サーバ101の動作を示す図である。まず、サーバ101は、初期設定処理を行う(S10)。サーバ101の制御部115は、出力する多重化ストリーム201の順番を示すループカウンタiに1を代入する。i番目に出力される多重化ストリーム201をデータiと記す。制御部115は、使用するコーデックに基づいて独立フレームの出現間隔nの値を設定し、バッファ用のフレーム数bを設定する。本実施の形態では、n=4、b=2を設定する。
制御部115は、次に出力するフレームが独立フレームであるか否かを判定する(S12)。具体的には、ループカウンタiを独立フレームの出現間隔nで割った余りが1になるか否かを判定する。この判定の結果、次に出力するフレームが独立フレームの順番である場合には(S12でYES)、送信データ生成部116は、バッファ用キーフレームを生成するための処理に移行する(S14)。送信データ生成部116は、フレーム番号i〜フレーム番号i+b−1の動画フレームと音声フレームを動画格納部111および音声格納部112から読み出す。
最初は、ループカウンタiの値は1(初期値)なので、独立フレームと判定される(S12でYES)。送信データ生成部116は、フレーム番号1〜2の動画フレームと音声フレームを動画格納部111と音声格納部112から読み出す。
次に、送信データ生成部116は、フレーム番号i+bの動画フレームおよび音声フレームを読み出す(S16)。ここでは、i=1、b=2なので、送信データ生成部116は、フレーム番号3の動画フレームおよび音声フレームを読み出す。以上のように読み出したフレーム番号1〜3の動画フレームおよび音声フレームを用いて、送信データ生成部116は、フレーム1〜3からなる送信データを生成する。
多重化部113は、制御部115にて読み出したフレーム番号1〜3の動画フレームおよび音声フレームを多重化し、ヘッダー情報に3フレームからなるデータが一つの送信単位として認識されるためのフレーム情報を付し、多重化ストリームを生成する(S18)。サーバ101は、出力部114より多重化ストリームを送信する(S20)。なお、多重化ストリームの送信フォーマットは、送信先アドレス等を含むヘッダー部と動画フレームおよび音声フレームを含むデータ部とからなり、ヘッダー部にはフレーム情報を含むオプション領域を有する。ヘッダー部のオプション領域には、フレーム番号を含む前記一の送信単位のデータに関するフレーム情報として、例えば、キーフレームのフレーム番号、差分フレームのフレーム番号、フレーム種類(P、Bピクチャ)、サイズ、送信周期n、追加フレーム数bのいずれかを含めてもよい。なお、フレーム情報は、ヘッダー部のオプション領域に限らず、フレーム情報部として多重化ストリームに多重化しても良い。
サーバ101の制御部115は、多重化ストリームを送信した後、ストリーム伝送を終了するか否かを判定する(S22)。この判定の結果、ストリーム伝送を終了すると判定された場合(S22でYES)、制御部115は、ストリーム伝送処理を終了する。ストリーム伝送を終了していないと判定された場合(S22でNO)、制御部115は、ループカウンタiをカウントアップし(S24)、次に出力するフレームが独立フレームの順番であるか否かを判定する処理(S12)に移行する。
2回目のループにおいては、ループカウンタiが2になるので、出力するフレームが独立フレームであるか否かの判定(S12)において、ループカウンタ2を独立フレームの出現間隔4で割った余りが2になる。従って、出力するフレームは、独立フレームではないと判定される(S12でNO)。従って、制御部115は、フレーム番号i+bのデータを読み出す処理(S16)に移行する。ここでは、i=2、b=2なので、制御部115は、フレーム番号4の動画フレームと音声フレームを読み出す。
続いて、多重化部113は、制御部115にて読み出したフレーム番号4の動画フレームおよび音声フレームを多重化して多重化ストリームを生成し(S18)、出力部114より多重化ストリームを送信する(S20)。
このように、送信データ生成部116は、独立フレームであるか否かに応じて、独立フレームとそれに続く2つの差分フレームを読み出すか、あるいは差分フレームのみを読み出すかを切り替えることによって、図2に示すような多重化ストリーム201を送信する。
(切替元端末の動作)
図4は、切替元端末102aの動作を示す図である。まず、切替元端末102aは、初期設定処理を行う(S30)。切替元端末102aの制御部122aは、多重化ストリーム201の順番を示すループカウンタiに0を代入する。制御部122aは、使用するコーデックに基づいて独立フレームの出現間隔nの値を設定し、バッファ用のフレーム数bを設定する。本実施の形態では、n=4、b=2を設定する。
切替元端末102aの入力部121aは、サーバ101からネットワーク103を介して送信された多重化ストリーム201を受信する(S32)。最初は、入力部121aは、サーバ101が最初に出力した動画フレームV1−3と音声フレームA1−3を含む多重化ストリーム201を受信する。
切替元端末102aは、サーバ101から多重化ストリーム201を受信する一方で、制御部122aにて、切替先端末102bから端末変更要求207を受信したか否かを判定する(S34)。端末変更要求207を受信していない場合には(S34でNO)、切替元端末102aにて再生する処理を行い、端末変更要求207を受信した場合には(S34でYES)、切替先端末102bにストリームデータを転送する処理を行う。
最初に、切替変更要求207を受信していない場合(S34でNO)について説明する。制御部122aは、入力部121aにて受信した多重化ストリーム201をバッファ123aに格納する(S36)。制御部122aは、ループカウンタiを1増加させ、受信したフレームをデータiとしてバッファ123aに格納する。最初、動画フレームV1−3と音声フレームA1−3を含む多重化ストリーム201がデータ1としてバッファ123aに格納される。
次に、切替元端末102aは、ストリームデータの再生を開始する。図4に示す動作では、バッファ123aに3フレームが格納された時点でストリームデータの再生を開始している。バッファ123aにより多くのフレームが格納されるまで再生を開始しない場合には、以下に説明する処理に移行しないで、データ受信の処理(S34)に戻って、次の動画フレームおよび音声フレームの受信を待つ。
切替元端末102aのストリームデータの再生について説明する。重複削除部126aは、バッファからデータiを読み出す(S38)。次に、重複削除部126aは、バッファ123aから読み出したデータiを、動画フレームと音声フレームに分割する(S40)。この場合、データ1は、動画フレームV1、動画フレームV2、動画フレームV3、音声フレームA1、音声フレームA2、音声フレームA3に分割される(S40)。続いて、重複削除部126aは、再生済みの動画フレームおよび音声フレームを重複して受信したデータとして削除する(S42)。最初、重複削除部126aは、再生済みの動画フレームおよび音声フレームは存在しないので、動画フレームと音声フレームは削除されない。また、重複削除部126aは、バッファ123aから読み出した動画フレームと音声フレームを再生済みとし、読み出した動画フレームおよび音声フレームのフレーム番号を再生済みフレーム番号記憶部127aに記憶する(S44)。この場合は、動画フレームV1、動画フレームV2、動画フレームV3、音声フレームA1、音声フレームA2、音声フレームA3の各フレーム番号を記憶する。
次に、再生部124aは、フレーム番号iのフレームをデコードして再生する(S46)。この場合は、フレーム番号1の動画フレームV1と音声フレームA1がデコードされて再生される。
制御部122aは、ストリーム伝送が終了したかを判定する(S52)。ストリーム伝送が終了していないと判定された場合(S52でNO)、データを受信する処理(S32)に戻り、ストリーム伝送が終了したと判定された場合(S52でYES)、切替元端末102の処理を終了する。
次に、ストリームデータを順次受信して再生する動作について説明する。ストリーム伝送が終了していない場合、入力部121aは、動画フレームV4および音声フレームA4を含む多重化ストリームを受信し(S32)、データ番号2としてバッファ123aに格納する(S36)。次に、重複削除部126aは、データ番号2のデータをバッファ123aから読み出し(S38)、動画フレームV4、音声フレームA4に分割する(S40)。動画フレームV4、音声フレームA4のフレーム番号は、再生済みフレーム番号記憶部127aに記憶されていないので、削除しない。続いて、重複削除部126aは、動画フレームV4、音声フレームA4のフレーム番号を再生済みフレーム番号記憶部127aに記憶する(S44)。その後、再生部124aは、すでにフレームに分割されているフレーム番号2の動画フレームV2、音声フレームA2を再生する(S46)。動画フレームV5、音声フレームA5からなるストリームデータ、および、動画フレームV6、音声フレームA6からなるストリームデータも上記と同様に処理され、重複削除部126aは、これらのフレーム番号を再生済みフレーム番号記憶部127aに記憶する。
次に、切替元端末102aの入力部121aは、動画フレームV5−7と音声フレームA5−7からなる多重化ストリーム201を受信する(S32)。制御部122aは、受信した多重化ストリームをデータ番号5としてバッファ123aに格納する(S36)。次に、重複削除部126aは、データ番号5のデータをバッファ123aから読み出し(S38)、動画フレームV5、動画フレームV6、動画フレームV7、音声フレームA5、音声フレームA6、音声フレームA7に分割する(S40)。このうち、重複削除部126aは、動画フレームV5、音声フレームA5、動画フレームV6、音声フレームA6のフレーム番号は、再生済みフレーム番号記憶部127aに記憶されているので削除する(S42)。続いて、重複削除部126aは、動画フレームV7、音声フレームA7のフレーム番号を再生済みフレーム番号記憶部127aに記憶する(S44)。その後、すでにフレームに分割されているフレーム番号5の動画フレームV5、音声フレームA5を再生する(S46)。以上のように、切替元端末102aは、ストリーム伝送サーバから送信された多重化ストリームをバッファ123aに記憶すると共に、バッファ123aからデータを順次読み出してストリームデータを再生する。
次に、切替元端末102aに対して、切換先端末102bから端末変更要求207(図2参照)が入力された場合の動作について説明する。
切替元端末102aは、端末変更要求207が入力されると、端末変更要求を受信したか否かを判定する処理(S34)において、端末変更要求を受信したと判定する(S34でYES)。
制御部122aは、切替元端末102aから切替先端末102bに出力するデータのフレーム番号kを計算する。このフレーム番号kは、最後に再生された独立フレームの番号である。本実施の形態においては、フレーム番号kを次式にて計算する(S48)。
k=[i/n]*n+1 ・・・(1)
ここで、[ ]は、[ ]内の値を超えない最大の整数を示すガウスの記号である。例えば、フレーム番号5のフレームまで再生している場合には、i=5、n=4なので、k=[5/4]*4+1=5となる。
次に、切替出力部125aは、データkを切替先端末102bに出力する(S50)。データkは独立フレームであり、本実施の形態では、フレーム番号kの動画フレームおよび音声フレームに加え、フレーム番号k+1〜k+bの動画フレームおよび音声フレームを含む。ここでは、k=5であるから、データ5が切替先端末102bに出力される。また、ここでは、b=2なので、データ5は、フレーム番号5のフレームに加え、フレーム番号6,7のフレームを含む。従って、切替元端末102aは、動画フレームV5−7、音声フレームA5−7を切替先端末102bに出力する。
切替元端末102aは、端末変更要求207に応じて、バッファ123aに記憶されているデータ番号kの独立フレームを出力した後は、ストリーム伝送サーバ101から送信されるデータを切替先端末102bに転送する。なお、端末変更要求207に対する処理が終了すると、ストリームデータの再生端末が切替先端末102bになるので、切替元端末102aはデータの再生を停止する。
(切替先端末の動作)
図5は、切替先端末102bの動作を示す図である。図5は、端末変更要求207(図2参照)の出力後のストリーム受信時の動作を示している。切替先端末102bの動作は、基本的に切替元端末102aによるデータの受信および再生の動作と同じである。ただし、切替先端末102bは、切替元端末102aと異なり、多重化ストリームを切替入力部125bによって受信する。
まず、切替先端末102bは、初期設定処理を行う(S60)。切替先端末102bの制御部122bは、多重化ストリーム201の順番を示すループカウンタiに0を代入する。制御部122bは、使用するコーデックに基づいて独立フレームの出現間隔nの値を設定し、バッファ用のフレーム数bを設定する。本実施の形態では、n=4、b=2を設定する。
切替先端末102bの切替入力部125bは、切替元端末102aからネットワーク104を介して送信された多重化ストリーム202を受信する(S62)。最初は、切替入力部125bは、端末変更要求207の時点で再生された直近の独立フレームである動画フレームV5および音声フレームA5と、この独立フレームに続く動画フレームV6、V7および音声フレームA6、A7を含む多重化ストリームが入力される。
制御部122bは、切替入力部125bに入力された多重化ストリームをバッファ123bに格納する(S64)。制御部122bは、ループカウンタiを1増加させ、受信したフレームをデータiとしてバッファ123bに格納する。最初、制御部122bは、動画フレームV5−7と音声フレームA5−7を含む多重化ストリーム202がデータ1としてバッファ123bに格納される。
次に、切替先端末102bは、ストリームデータの再生を開始する。切替先端末102bも切替元端末102aと同様に、バッファ123bに3フレームが格納された時点でストリームデータの再生を開始する。なお、バッファ123bにより多くのフレームが格納されてから再生を開始することとしてもよい。
ストリームデータの再生を開始すると、重複削除部126bは、バッファ123bからデータiを読み出す(S66)。次に、重複削除部126bは、バッファ123bから読み出したデータiを、動画フレームと音声フレームに分割する(S68)。この場合、データ1は、動画フレームV5、動画フレームV6、動画フレームV7、音声フレームA5、音声フレームA6、音声フレームA7に分割される(S40)。
続いて、重複削除部126bは、バッファ123bから読み出した動画フレームおよび音声フレームのフレーム番号が再生済みフレーム番号記憶部127bに記憶されているか否かを判定する。読み出した動画フレームおよび音声フレームのフレーム番号が再生済みフレーム番号記憶部127bに記憶されている場合には、重複削除部126bは、バッファ123bから読み出した動画フレームおよび音声フレームを削除する(S70)。最初は、再生済みの動画フレームおよび音声フレームは存在しないので、動画フレームと音声フレームは削除されない。また、重複削除部126bは、バッファ123bから読み出した動画フレームと音声フレームを再生済みとし、再生済みフレーム記憶部127bにフレームの番号を記憶する(S72)。この場合は、動画フレームV5、動画フレームV6、動画フレームV7、音声フレームA5、音声フレームA6、音声フレームA7は再生済みとされる。
次に、再生部124bは、最小のフレーム番号のフレームをデコードして再生する(S74)。この場合は、フレーム番号が5の動画データと音声データがデコードされて再生される。
制御部122aは、ストリーム伝送が終了したかを判定する(S74)。ストリーム伝送が終了していないと判定された場合(S74でNO)、データを受信する処理(S62)に戻り、ストリーム伝送が終了したと判定された場合(S74でYES)、切替先端末102bの処理を終了する。
次に、ストリームデータを順次受信して再生する動作について説明する。ストリーム伝送が終了していない場合、切替入力部125bは、動画フレームV8および音声フレームA8を含む多重化ストリームを受信し(S62)、データ番号2としてバッファ123aに格納する(S64)。次に、重複削除部126bは、データ番号2のデータをバッファ123bから読み出し(S66)、動画フレームV8、音声フレームA8に分割する(S68)。動画フレームV8、音声フレームA8は、再生済みフレーム番号記憶部207bに記憶されていないので削除しない。続いて、重複削除部126bは、動画フレームV8、音声フレームA8のフレーム番号を再生済みフレーム番号記憶部207bに記憶する(S72)。その後、再生部124bは、すでにフレームに分割されているフレーム番号6の動画フレームV6、音声フレームA6を再生する(S74)。動画フレームV9、音声フレームA9からなる多重化ストリーム、および、動画フレームV10、音声フレームA10からなる多重化ストリームも上記と同様に処理され、重複削除部126bは、これらのフレーム番号を再生済みフレーム番号記憶部127bに記憶する。
次に、切替先端末102bの切替入力部125bは、動画フレームV9−11と音声フレームA9−11からなる多重化ストリーム201を受信する(S62)。制御部122bは、受信した多重化ストリームをデータ番号5としてバッファ123bに格納する(S64)。次に、重複削除部126bは、データ番号5のデータをバッファ123bから読み出し(S66)、動画フレームV9、動画フレームV10、動画フレームV11、音声フレームA9、音声フレームA10、音声フレームA11に分割する(S68)。このうち、重複削除部126bは、動画フレームV9、音声フレームA9、動画フレームV10、音声フレームA10のフレーム番号は、再生済みフレーム番号記憶部127bに記憶されているので削除する(S70)。このように、切替先端末102bは、再生済みのフレーム番号を再生済みフレーム番号記憶部127bによって管理しており、重複するフレームを削除するので、同じフレームを重複して再生することがない。
続いて、重複削除部126bは、動画フレームV11、音声フレームA11のフレーム番号を再生済みフレーム番号記憶部127bに記憶する(S72)。その後、再生部124bは、すでにフレームに分割されているフレーム番号9の動画フレームV9、音声フレームA9を再生する(S74)。以上のように、切替先端末102bは、ストリーム伝送サーバから送信された多重化ストリームをバッファ123bに記憶すると共に、バッファ123bからデータを順次読み出してストリームデータを再生する。
以上、第1の実施の形態のストリーム伝送システムおよびストリーム伝送方法について説明した。
本実施の形態のストリーム伝送システムは、最初の送信タイミングにおいて、独立フレームに2つの差分フレームを追加した多重化ストリームを送信しているので、初期バッファリングに要する時間を短縮することができる。従来であれば、動画データV3および音声データA3がデータ3の送信タイミングで送信されるまでバッファリングが完了しなかったが、本実施の形態では、図2に示すように、最初の送信タイミングでバッファ123aに3フレーム分のデータが格納されるので、データ1のバッファリングが完了すると直ちに再生を開始することができる。
また、本実施の形態のストリーム伝送システムは、ストリーム伝送の開始時のみならず、一定間隔で送信される独立フレームに2つの差分フレームを追加した多重化ストリームを送信し、切替元端末102aのバッファ123aにその多重化ストリームを格納している。これにより、ストリームデータを再生する端末を切替元端末102aから切替先端末102bに切り替えるときに、3フレームを含む多重化ストリームのデータを転送できるので、切替先端末102bがデータのバッファリングに要する時間を短縮することができる。すなわち、切替元端末102aは、端末変更要求を受信するタイミングをあらかじめ予測することはできないが、本実施の形態では、一定の間隔で送出される独立フレームについて、バッファ用の差分フレームを追加した多重化ストリームを生成しているので、どのタイミングで端末変更要求を受けても、バッファリングに要する時間を短縮するという上記の効果が得られる。
また、切替元端末102aがストリームデータの再生端末を切り替える際に、多重化ストリームをそのまま出力するので、切替元端末102aにおいて再エンコードを行わなくてもよく、切替え時間を短縮することができる。また、ソフトウェアとハードウェアの処理量も少なくなるため、ソフトウェアとハードウェア両方の開発が容易になるという効果が得られる。
また、本実施の形態のストリーム伝送サーバ101は、独立フレームの送信タイミングでは、その送信タイミングに本来送信されるべき独立フレームを送信することにより、ストリーム伝送の伝送速度を保持しているので、既存の受信端末にも対応することができる。なお、本実施の形態では、独立フレームの送信タイミングで複数のフレームを送信し、かつ、ストリーム伝送速度を保持するために、同じフレームを重複して送信している。しかし、上記に説明したように、切替元端末102aあるいは切替先端末102bは、同じフレームが複数到着した場合であってもストリームデータの再生時に、重複削除部126a、126bが重複したフレームを削除する。従って、重複するフレームを送信しても切替元端末102aあるいは切替先端末102bにて、同じフレームを重複して再生するという不都合が生じることはない。
(第2の実施の形態)
次に、第2の実施の形態のストリーム伝送システムについて説明する。第2の実施の形態のストリーム伝送システムは、独立フレームに対して音声データだけをバッファ用のデータとして追加するストリーム伝送システムである。第2の実施の形態のストリーム伝送システムの構成は、第1の実施の形態と同じである(図1参照)。
図6は、第2の実施の形態のストリーム伝送システムにおける動画フレームおよび音声フレームの伝送タイミングを示す図である。動画フレームにおける独立フレームの出現間隔n、バッファ用に追加する音声データのフレーム数bは、第1の実施の形態と同様にn=4、b=2とする。
図6におけるサーバ101の動作を説明する。サーバ101は、一定の時間間隔で動画フレームと音声フレームを多重化した多重化ストリーム601を出力する。独立フレームの出現間隔はnなので、独立フレームのフレーム番号は、mを0以上の整数として(1+n×m)によって表される。フレーム番号が(1+n×m)のフレームにb枚のバッファ用の音声フレームを追加する。
その結果、図6において、サーバ101が出力する多重化ストリーム201では、独立フレームである動画フレームV1、V5、V9、V13に対してそれぞれ音声フレームA1−3、A5−7、A9−11、A13−15が多重化される。すなわち、動画フレームV1、V5、V9、V13には、2フレーム分の音声フレームが追加されている。
第2の実施の形態では、システムの動作開始時に、サーバ101は動画フレームV1と音声フレームA1−3(A1、A2、A3、以下同じ)からなる多重化ストリーム601を出力する。以下、動画フレームV1と音声フレームA1−3に対するストリーム伝送システムの処理を説明する。
切替元端末102aは、動画フレームV1と音声フレームA1−3をバッファ123aに格納する。この動作にかかる遅延時間609は、ネットワーク送受信とバッファ123aへのデータの格納にかかる時間である。切替元端末102aは、バッファ123aに動画1フレームと音声3フレームを格納する処理を終了すると、再生部124aにて再生を行う。図6に示す例では、3フレーム(A1−3)分の音声データが格納された時点で表示を開始する。この遅延時間610は、切替元端末102aにおける表示による遅延時間である。
次に、サーバ101は、動画フレームV1と音声フレームA1−3の2回目の出力タイミングにおいて動画フレームV2と音声フレームA4を多重化して多重化ストリーム601を生成して出力する。切替元端末102aでは、バッファ123aに1フレームの動画フレームV2と音声フレームA4を格納する処理を終えてから再生部124aにて再生を行う。この場合は、バッファ123aから出力される動画データ603aと音声データ603bは、前のタイミングで再生されたフレームの次のフレームであるので、動画フレームV2と音声フレームA2が再生される。
サーバ101は、3回目の出力タイミングで動画フレームV3と音声フレームA5、4回目の出力タイミングで動画フレームV4と音声フレームA6からなる多重化ストリーム201を出力する。これらに対して、切替元端末102aは動画フレームV2と音声フレームA4からなる多重化ストリーム201に対する場合と同様の動作を行う。多重化ストリーム201の出力の順番が1+n×m(mは0以上の整数)となる5回目、9回目、13回目の出力タイミングでは、それぞれ動画フレームV5と音声フレームA5−7、動画フレームV9と音声フレームA9−11、動画フレームV13と音声フレームA13−15を受信する。
切替元端末102aは、多重化ストリーム203の再生を行う一方で、制御部122aは、機器発見・接続処理606を行う。機器発見・接続処理606は、切替元端末102aが切替先端末102bを検出し、通信接続を確立する処理である。機器発見・接続処理606を行うことにより、切替元端末102aと切替先端末102bとが通信可能になる。機器発見・接続処理606は、ユーザによる操作、タイマ、あるいはその他のトリガによって起動されることとしてもよい。
機器発見・接続処理606にて切替先端末102bが発見されると、切替先端末102bは、多重化ストリーム201を再生する端末を切り替えるための端末変更要求607を出力する。切替元端末102aは、端末変更要求607に対して、再生に必要な独立フレームを含む多重化ストリーム602を切替先端末102bに対して出力する。図6に示す例では、端末変更要求607が切替元端末102aに入力されたときに、動画フレームV5および音声フレームA5が再生されているので、多重化ストリーム602を動画フレームV5、音声フレームA5−7を切替先端末102bに出力する。
切替先端末102bには、動画フレームV5、音声フレームA5−7からなる多重化ストリーム602が入力される。切替先端末102bは、動画フレームV5、音声フレームA5−7からなる多重化ストリーム602を受信すると、データ再生開始前のバッファリングを直ちに完了する。切替先端末102bは、再生部124bによって多重化ストリーム202を動画データと音声データに分離した後にデコードして、再生を開始する。端末変更要求607から表示開始までに要する時間は、時間611である。
次に、サーバ101、切替元端末102a、切替先端末102bの動作を図7〜図9を用いて詳細に説明する。なお、以下に説明する動作は、図6に示すタイミングで動画データおよび音声データの伝送および再生を行うための一例である。本発明は、以下に説明する動作に限定されるものではない。
(サーバの動作)
図7は、第2の実施の形態におけるサーバ101の動作を示す図である。第2の実施の形態におけるサーバ101の動作は、基本的に第1の実施の形態におけるサーバ101の動作と同じであるが、次に送信するフレームが独立フレームに対してバッファ用の音声データを追加する点が異なる。すなわち、フレーム番号が1+n×m(mは0以上の整数)であった場合に、送信データ生成部116がフレーム番号iからi+b−1の音声フレームをバッファ用として読み出す。例えば、送信データ生成部116は、最初の独立フレーム(フレーム番号1)については、音声フレームA1、A2を読み出す(S84)。また、次に送信するフレームが独立フレームでない場合(S82でNO)、あるいは独立フレームに付与する音声フレームを読み出す処理(S84)に続く処理において、送信データ生成部116は、フレーム番号iの動画フレームとフレーム番号i+bの音声フレームを読み出す(S86)。サーバ101の多重化部113は、上記のようにして読み出した動画フレームおよび音声フレームを多重化し(S88)、出力部114から送信する(S90)。
(切替元端末および切替先端末の動作)
図8は、第2の実施の形態における切替元端末102aの動作を示す図、図9は、第2の実施の形態における切替先端末102bの動作を示す図である。第2の実施の形態における切替元端末102aおよび切替先端末102bの動作は、基本的には、第1の実施の形態における切替元端末102aおよび切替先端末102bの動作と同じである。第1の実施の形態と異なる点は、サーバ101が独立フレームの送信タイミングにおいて音声データのみを追加しているので、切替元端末102aあるいは切替先端末102bに入力される多重化ストリーム601では、動画フレームに関しては重複が発生しない。従って、本実施の形態では、重複削除部126aが動画データの重複を削除する処理を行わない点が異なる。
第2の実施の形態のストリーム伝送システムは、独立フレームに対して2フレームの音声フレームをバッファ用の音声フレームとして追加しているので、音声フレームのバッファリングに要する時間を短縮できる。また、再生端末の切替えを行う際にも、音声フレームが追加された音声フレームを転送することにより、切替先端末102bにおけるバッファリング時間を短縮でき、迅速に切替えを行える。
また、第2の実施の形態のストリーム伝送システムでは、音声フレームのみを追加する構成を採用しているので、サーバ101と切替元端末102aとの間のネットワーク103の帯域が狭い場合にも適用可能である。なお、人間は、動画のノイズやフレーム欠落に比べて音声の途切れや雑音に対して敏感なので、サーバ101と端末間の帯域が限られる場合は、本実施の形態のように音声のみのバッファリングを行い、音声品質の低下を防止するのが有効である。音声の途切れを防止することによって、ユーザに快適な視聴を提供することができる。
また、第2の実施の形態のストリーム伝送システムでは、第1の実施の形態と同様に、切替元端末102aが多重化ストリーム601のデコードと出力時の再エンコードを行う必要がない。また、ソフトウェアとハードウェアの処理量も少なくなり、ソフトウェアとハードウェア両方の開発が容易になるという効果がある。
以上、本発明のストリーム伝送システムについて実施の形態を挙げて詳細に説明したが、本発明は上記した実施の形態に限定されるものではない。
上記した実施の形態では、動画フレームの全ての独立フレーム(キーフレーム)に対してバッファ用の動画フレームおよび音声フレームを追加して多重化ストリームを生成する例を説明したが、必ずしも全ての独立フレームに対してバッファ用の動画フレームおよび音声フレームを追加する必要はない。一部の独立フレーム(キーフレーム)に対してバッファ用の動画データまたは音声データを追加する構成としてもよい。
上記した実施の形態において、切替元端末102aに、ジッタの大きさを検出する機能と、ジッタに基づいて独立フレームに追加する差分フレームのフレーム数を算出し、サーバ101に通知する機能を追加してもよい。これに伴って、サーバ101に、切替元端末102aのフレーム数の指定に従って、バッファ用のフレーム数を増減させる機能を追加してもよい。この構成により、サーバと端末間の通信状況の変化により、最適なストリーム伝送制御を行うことができる。例えばジッタが大きい場合は、バッファ数を増やすことによりストリームの途切れを防止し、ジッタが小さい場合は、バッファ用のフレーム数を減らすことにより使用する帯域を節約することができる。
上記した実施の形態において、切替元端末102a、切替先端末102bの機能を一体にした端末を用いてもよい。これにより、双方向の端末切り替えを実現できる。
上記した実施の形態において、サーバは多重化前のフレームにタイムスタンプを付加し、切替元端末102aは、タイムスタンプを用いて重複したフレームの判定を行ってもよい。なお、タイムスタンプを利用した場合、サーバ101と切替元端末102aとの経路においてパケットロスが発生した場合でも、切替元端末102aは、サーバで指定したタイミングで動画と音声を再生できる。
上記した実施の形態では、サーバ101が多重化ストリームにバッファ用のデータを追加する手順について説明したが、切替元端末102aが同じ処理を行うことも可能である。例えば第1の実施の形態において、切替元端末102aは、独立フレームiに対してバッファ用としてフレーム番号i+1〜i+bまでの動画フレームと音声フレームを追加し、データiとしてバッファ123aに格納する。また、切替元端末102aは、データi+1としてフレーム番号i+b+1、データi+2としてフレーム番号i+b+2のように、フレーム番号i+nの次の独立フレームまでは、多重化ストリームの順番に対してb増加した数のフレーム番号を持つデータを多重化ストリームとしてバッファ123aに格納する。そして、切替先端末102bからの端末変更要求に対して、直前の独立フレームを含むデータiからストリーム伝送を開始することで、切替時間短縮の効果が得られる。
以上説明したように、ストリーム伝送におけるバッファリングに要する時間を短縮することができるという効果を有し、例えば、ストリームデータを再生する端末を受信中の端末から別の端末に切り替えることができるシステム等として有用である。
第1の実施の形態におけるシステムのブロック構成図 第1の実施の形態における伝送タイミング図 第1の実施の形態におけるサーバ101の動作フロー図 第1の実施の形態における切替元端末102aの動作フロー図 第1の実施の形態における切替元端末102bの動作フロー図 第2の実施の形態における伝送タイミング図 第2の実施の形態におけるサーバ101の動作フロー図 第2の実施の形態における切替元端末102aの動作フロー図 第2の実施の形態における切替元端末102bの動作フロー図
符号の説明
101 サーバ
102a 切替元端末
102b 切替先端末
103 ネットワーク
104 通信路
111 動画格納部
112 音声格納部
113 多重部
114 出力部
115 制御部
116 送信データ生成部
121a 入力部
122a 制御部
123a バッファ
124a 再生部
125a 切替出力部
126a 重複削除部
127a 再生済みフレーム番号記憶部
121b 入力部
122b 制御部
123b バッファ
124b 再生部
125b 切替入力部
126b 重複削除部
127b 再生済みフレーム番号記憶部

Claims (9)

  1. フレーム間予測符号化されたデータをストリーム伝送するサーバであって、
    単独フレームで復号可能なキーフレームに対してそのキーフレームに続く少なくとも1つの差分フレームを追加し一の送信単位のデータとすると共に、フレーム番号を含む前記一の送信単位のデータに関する情報を付与したバッファ用キーフレームを生成するバッファ用キーフレーム生成部と、
    あらかじめ所定の周期に設定された前記キーフレームの送信タイミングに、その送信タイミングに送信されるべきキーフレームを用いて生成されたバッファ用キーフレームを送信し、次のキーフレームの送信タイミングまでにある前記差分フレームの送信タイミングに任意のフレームを送信するフレーム送信部と、
    を備えるストリーム伝送サーバ。
  2. 前記フレーム送信部は、前記差分フレームの送信タイミングにおいて、その差分フレームの前後のキーフレームの間にある差分フレームのうち未送信の差分フレームを送信し、前後のキーフレームの間にある全ての差分データが送信済みの場合には任意のフレームを送信する請求項1に記載のストリーム伝送サーバ。
  3. フレーム間予測符号化された動画データと音声データとからなるデータをストリーム伝送するサーバであって、
    単独フレームで復号可能な動画データのキーフレームに対してそのキーフレームに対応する音声フレームおよび当該音声フレームに続く少なくとも1つの音声フレームを追加し一の送信単位のデータとすると共に、フレーム番号を含む前記一の送信単位のデータに関する情報を付与したバッファ用キーフレームを生成するバッファ用キーフレーム生成部と、
    あらかじめ所定の周期に設定された前記キーフレームの送信タイミングに、その送信タイミングに送信されるべきキーフレームを用いて生成されたバッファ用キーフレームを送信し、次のキーフレームの送信タイミングまでにある前記差分フレームの送信タイミングに、その送信タイミングに送信されるべき差分フレームおよび任意の音声フレームを送信するフレーム送信部と、
    を備えるストリーム伝送サーバ。
  4. 請求項1または2に記載のストリーム伝送サーバから送信されるストリームデータを再生する端末であって、
    前記ストリーム伝送サーバから送信されるバッファ用キーフレームおよび差分フレームを受信するフレーム受信部と、
    受信したフレームを記憶するバッファと、
    前記バッファに記憶されたフレームを読み出してストリームデータを再生する再生部と、
    再生済みのフレームのフレーム番号を記憶する再生済みフレーム番号記憶部と、
    前記バッファから読み出したフレームのフレーム番号が前記再生済みフレーム番号記憶部に記憶されたフレーム番号と一致する場合に、そのフレームを再生しないで削除する削除部と、
    を備える端末。
  5. ストリームデータを再生する端末を他の端末に切り替える切替要求を受信する切替要求受信部を備え、
    前記制御部は、前記切替要求を受信したときに、前記バッファに格納されたデータの中から、前記切替要求を受信する直前に再生されたバッファ用キーフレームを先頭として前記バッファに記憶されたデータを読み出し、読み出したデータを前記他の端末に送信する請求項4に記載の端末。
  6. フレーム間予測符号化されたデータをストリーム伝送するストリーム伝送サーバと、前記ストリーム伝送サーバから伝送されたストリームデータを再生する第1の端末と、前記第1の端末からストリームデータの転送を受けて前記ストリームデータを再生する第2の端末と、を備え、
    前記ストリーム伝送サーバは、
    単独フレームで復号可能なキーフレームに対してそのキーフレームに続く少なくとも1つの差分フレームを追加し一の送信単位のデータとすると共に、フレーム番号を含む前記一の送信単位のデータに関する情報を付与したバッファ用キーフレームを生成するバッファ用キーフレーム生成部と、
    あらかじめ所定の周期に設定された前記キーフレームの送信タイミングに、その送信タイミングに送信されるべきキーフレームを用いて生成されたバッファ用キーフレームを送信し、次のキーフレームの送信タイミングまでにある前記差分フレームの送信タイミングに任意のフレームを送信するフレーム送信部と、を備え、
    前記第1の端末は、
    前記ストリーム伝送サーバから送信されるバッファ用キーフレームおよび差分フレームを受信するフレーム受信部と、
    受信したフレームを記憶するバッファと、
    前記バッファに記憶されたフレームを読み出してストリームデータを再生する再生部と、
    再生済みのフレームのフレーム番号を記憶する再生済みフレーム番号記憶部と、
    前記バッファから読み出したフレームのフレーム番号が前記再生済みフレーム番号記憶部に記憶されたフレーム番号と一致する場合に、そのフレームを再生しないで削除する削除部と、を備え、
    前記制御部は、前記切替要求を受信したときに、前記バッファに格納されたデータの中から、前記切替要求を受信する直前に再生されたバッファ用キーフレームを先頭として前記バッファに記憶されたデータを読み出し、読み出したデータを前記他の端末に送信するストリーム伝送システム。
  7. フレーム間予測符号化されたデータをストリーム伝送するサーバが、単独フレームで復号可能なキーフレームに対してそのキーフレームに続く少なくとも1つの差分フレームを追加し一の送信単位のデータとすると共に、フレーム番号を含む前記一の送信単位のデータに関する情報を付与したバッファ用キーフレームを生成するステップと、
    あらかじめ所定の周期に設定された前記キーフレームの送信タイミングに、その送信タイミングに送信されるべきキーフレームを用いて生成されたバッファ用キーフレームを送信するステップと、
    次のキーフレームの送信タイミングまでにある前記差分フレームの送信タイミングに任意のフレームを送信するステップと、
    を備えるストリーム伝送方法。
  8. 前記ストリーム伝送サーバから送信されるバッファ用キーフレームおよび差分フレームを受信するステップと、
    受信したバッファ用キーフレームおよび差分フレームをバッファに記憶するステップと、
    前記バッファに記憶されたフレームを読み出してストリームデータを再生するステップと、
    再生済みのフレームのフレーム番号を再生済みフレーム番号記憶部に記憶するステップと、
    前記バッファから読み出したフレームのフレーム番号が前記再生済みフレーム番号記憶部に記憶されたフレーム番号と一致する場合に、そのフレームを再生しないで削除するステップと、
    を備える請求項7に記載のストリーム伝送方法。
  9. ストリームデータを再生する端末を他の端末に切り替える切替要求を受信するステップと、
    前記切替要求を受信したときに、前記バッファに格納されたデータの中から、前記切替要求を受信する直前に再生されたバッファ用キーフレームを先頭として前記バッファに記憶されたデータを読み出し、読み出したデータを前記他の端末に送信するステップと、
    を備える請求項8に記載のストリーム伝送方法。
JP2007173901A 2007-07-02 2007-07-02 ストリーム伝送サーバおよびストリーム伝送システム Expired - Fee Related JP5026167B2 (ja)

Priority Applications (4)

Application Number Priority Date Filing Date Title
JP2007173901A JP5026167B2 (ja) 2007-07-02 2007-07-02 ストリーム伝送サーバおよびストリーム伝送システム
PCT/JP2008/001684 WO2009004778A1 (ja) 2007-07-02 2008-06-27 ストリーム伝送サーバおよびストリーム伝送システム
CN2008800185621A CN101682741B (zh) 2007-07-02 2008-06-27 流式传送服务器和流式传送系统
US12/664,923 US8719883B2 (en) 2007-07-02 2008-06-27 Stream transmission server and stream transmission system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2007173901A JP5026167B2 (ja) 2007-07-02 2007-07-02 ストリーム伝送サーバおよびストリーム伝送システム

Publications (2)

Publication Number Publication Date
JP2009016990A JP2009016990A (ja) 2009-01-22
JP5026167B2 true JP5026167B2 (ja) 2012-09-12

Family

ID=40225843

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2007173901A Expired - Fee Related JP5026167B2 (ja) 2007-07-02 2007-07-02 ストリーム伝送サーバおよびストリーム伝送システム

Country Status (4)

Country Link
US (1) US8719883B2 (ja)
JP (1) JP5026167B2 (ja)
CN (1) CN101682741B (ja)
WO (1) WO2009004778A1 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11184684B2 (en) 2019-05-24 2021-11-23 Viacom International Inc. Live broadcast IP latency compensation

Families Citing this family (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2011114378A (ja) * 2009-11-24 2011-06-09 Canon Inc 映像表示システム及びその制御方法
KR101710543B1 (ko) * 2010-07-01 2017-02-27 엘지전자 주식회사 이동 단말기 및 이동 단말기의 제어 방법
KR20120084234A (ko) * 2011-01-19 2012-07-27 삼성전자주식회사 Mpeg media transport(mmt)에서 mmt au를 전송하는 방법
WO2013070188A1 (en) * 2011-11-07 2013-05-16 Empire Technology Development Llc Redundant key frame transmission
CN102857727B (zh) * 2012-10-11 2015-07-01 南京莱斯信息技术股份有限公司 一种视频数据的无损压缩与解压缩处理方法
CN104702914A (zh) * 2015-01-14 2015-06-10 汉柏科技有限公司 一种监控视频的数据处理方法及系统
US11113287B1 (en) * 2016-05-12 2021-09-07 Teradata Us, Inc. Data stream management system
JP6993869B2 (ja) * 2017-12-25 2022-01-14 古野電気株式会社 再生装置、遠隔再生システム、再生方法、及びコンピュータプログラム
CN108924603B (zh) * 2018-07-31 2020-12-22 复旦大学 基于软件定义WiFi的多终端流媒体播放系统和方法
CN110351595B (zh) * 2019-07-17 2023-08-18 北京百度网讯科技有限公司 一种缓冲处理方法、装置、设备和计算机存储介质
JP7438835B2 (ja) * 2020-04-21 2024-02-27 株式会社東芝 サーバ装置、通信システム、プログラムおよび情報処理方法
JP7346355B2 (ja) * 2020-05-15 2023-09-19 株式会社東芝 無線通信装置および方法
CN113840160B (zh) * 2021-09-29 2023-09-29 重庆紫光华山智安科技有限公司 事件数据传输方法、系统、电子设备及可读存储介质
JP7304096B2 (ja) * 2021-10-29 2023-07-06 MasterVisions株式会社 動画配信装置

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5543853A (en) * 1995-01-19 1996-08-06 At&T Corp. Encoder/decoder buffer control for variable bit-rate channel
JP2002368846A (ja) 2001-06-11 2002-12-20 Ntt Docomo Inc メディア出力制御方法及び携帯端末装置
US7073189B2 (en) * 2002-05-03 2006-07-04 Time Warner Interactive Video Group, Inc. Program guide and reservation system for network based digital information and entertainment storage and delivery system
US7603689B2 (en) * 2003-06-13 2009-10-13 Microsoft Corporation Fast start-up for digital video streams
US7853980B2 (en) * 2003-10-31 2010-12-14 Sony Corporation Bi-directional indices for trick mode video-on-demand
CN100442796C (zh) * 2004-09-09 2008-12-10 上海川海信息科技有限公司 一种流媒体传输系统中的速率控制方法
JP4474310B2 (ja) * 2005-03-24 2010-06-02 パナソニック株式会社 デバイス切替システム、送信元および配信先デバイス
US7344084B2 (en) * 2005-09-19 2008-03-18 Sony Corporation Portable video programs
CN100461757C (zh) * 2005-10-20 2009-02-11 华为技术有限公司 实时流媒体传输方法及系统
US20070195756A1 (en) * 2006-02-23 2007-08-23 Matsushita Electric Industrial Co., Ltd. Terminal switching technology for seamless switching of streaming sessions between terminals
CN100477641C (zh) * 2006-06-30 2009-04-08 华中科技大学 一种流媒体点播系统的数据调度方法

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11184684B2 (en) 2019-05-24 2021-11-23 Viacom International Inc. Live broadcast IP latency compensation

Also Published As

Publication number Publication date
CN101682741B (zh) 2012-05-09
CN101682741A (zh) 2010-03-24
WO2009004778A1 (ja) 2009-01-08
US20100185748A1 (en) 2010-07-22
US8719883B2 (en) 2014-05-06
JP2009016990A (ja) 2009-01-22

Similar Documents

Publication Publication Date Title
JP5026167B2 (ja) ストリーム伝送サーバおよびストリーム伝送システム
JP4949591B2 (ja) ビデオ誤り回復方法
KR100800716B1 (ko) 근거리 통신을 이용한 동영상 데이터 송수신 장치 및 그송수신 장치에서의 동영상 데이터 송수신 방법
JP2004507178A (ja) ビデオ信号符号化方法
KR20080014843A (ko) 쌍방향 미디어 응답 시스템에서 시각 단서를 제공하는 방법
JP3438223B2 (ja) 多重化装置および多重化方法、並びに伝送装置および伝送方法
JP4511952B2 (ja) メディア再生装置
KR100651566B1 (ko) 이동통신 단말기에서 출력 버퍼링을 이용한 멀티미디어재생 장치 및 그 제어 방법
JP2004007537A (ja) コンテンツ受信および音声通話が可能な通信端末装置
US20070248170A1 (en) Transmitting Apparatus, Receiving Apparatus, and Reproducing Apparatus
JP2000308065A (ja) 動画伝送装置
JPH10271482A (ja) 符号化映像の同期再生制御方法およびシステム
JP4112350B2 (ja) 動画像通信システム、動画再生端末、動画像配信装置及び動画像の配信方法
KR20090010385A (ko) 화상 통신 단말의 화상 통화 녹화 방법 및 장치
KR100831213B1 (ko) 음성 데이터와 영상 데이터의 재생 동기화 장치 및 방법
JP2004297229A (ja) 画像処理装置及びその方法並びにそれを用いた画像処理システム及びプログラム
JP2001309375A (ja) メディア分離方法と画像復号方法及び装置
JP2008099209A (ja) コンテンツ再生装置とその再生タイミング同期方法
JP2009164964A (ja) 情報処理装置、情報処理方法、情報処理システム、及び情報処理プログラム
JP2003259292A (ja) マルチメディア通信装置とその信号処理モジュール
JPH09130263A (ja) データ通信装置、符号化装置及び復号化装置
JP4911579B2 (ja) 解析のためにストリームを保存又は再生する端末、プログラム及び方法
JP2005311614A (ja) 情報配信システム、情報配信方法及び情報配信用プログラム並びに情報記録媒体
JPWO2003101102A1 (ja) 携帯通信装置の動画ファイル再生方法及び携帯通信装置用の動画ファイル再生装置
JP2003259287A (ja) マルチメディア通信装置

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20100112

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

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

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

Free format text: PAYMENT UNTIL: 20150629

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Ref document number: 5026167

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313113

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

LAPS Cancellation because of no payment of annual fees