JP2010287973A - 情報処理装置および方法、並びにプログラム - Google Patents

情報処理装置および方法、並びにプログラム Download PDF

Info

Publication number
JP2010287973A
JP2010287973A JP2009138794A JP2009138794A JP2010287973A JP 2010287973 A JP2010287973 A JP 2010287973A JP 2009138794 A JP2009138794 A JP 2009138794A JP 2009138794 A JP2009138794 A JP 2009138794A JP 2010287973 A JP2010287973 A JP 2010287973A
Authority
JP
Japan
Prior art keywords
data
clock
information
decoding
data amount
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP2009138794A
Other languages
English (en)
Other versions
JP5440839B2 (ja
Inventor
Koichi Osaki
功一 大崎
Atsushi Onoe
淳 尾上
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
Priority to JP2009138794A priority Critical patent/JP5440839B2/ja
Application filed by Sony Corp filed Critical Sony Corp
Priority to US12/737,634 priority patent/US8848803B2/en
Priority to EP20100786081 priority patent/EP2442505A4/en
Priority to PCT/JP2010/059178 priority patent/WO2010143550A1/ja
Priority to KR1020117002920A priority patent/KR20120036788A/ko
Priority to CN2010800026425A priority patent/CN102160390A/zh
Priority to TW99117506A priority patent/TWI431986B/zh
Publication of JP2010287973A publication Critical patent/JP2010287973A/ja
Application granted granted Critical
Publication of JP5440839B2 publication Critical patent/JP5440839B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N5/00Details of television systems
    • H04N5/76Television signal recording
    • 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/242Synchronization processes, e.g. processing of PCR [Program Clock References]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L13/00Details of the apparatus or circuits covered by groups H04L15/00 or H04L17/00
    • H04L13/02Details not particular to receiver or transmitter
    • H04L13/08Intermediate storage means
    • 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/60Network streaming of media packets
    • H04L65/75Media network packet handling
    • H04L65/764Media network packet handling at the destination 
    • 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
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L7/00Arrangements for synchronising receiver with transmitter
    • 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/4302Content synchronisation processes, e.g. decoder synchronisation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
    • H04N21/44Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream or rendering scenes according to encoded video stream scene graphs
    • H04N21/44004Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream or rendering scenes according to encoded video stream scene graphs involving video buffer management, e.g. video decoder buffer or video display buffer
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N7/00Television systems
    • H04N7/16Analogue secrecy systems; Analogue subscription systems
    • H04N7/173Analogue secrecy systems; Analogue subscription systems with two-way working, e.g. subscriber sending a programme selection signal

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
  • Communication Control (AREA)
  • Television Signal Processing For Recording (AREA)
  • Synchronisation In Digital Transmission Systems (AREA)

Abstract

【課題】ストリーミング再生におけるクロックずれを抑制し、より安定的な再生を行うことができるようにする。
【解決手段】情報取得部は、所定の方法で、バッファ内に保持されているストリームを解析し、データ量の算出に必要な情報をデータ量算出用情報として取得する。算出部は、そのデータ量算出用情報を用いてバッファに保持されるストリームの時間的なデータ量を算出する。検出部は、その算出結果から、デコーダクロックずれを検出する。デコーダクロックが速すぎる場合、クロック制御部は、デコーダクロックを現在よりも遅くするように制御する。デコーダクロックが遅すぎる場合、クロック制御部は、デコーダクロックを現在よりも速くするように制御する。本発明は、例えば、通信システムに適用することができる。
【選択図】図3

Description

本発明は、情報処理装置および方法、並びにプログラムに関し、特に、長時間再生しても画音乱れが起きないようにストリーミング再生することができるようにした情報処理装置および方法、並びにプログラムに関する。
従来、ネットワークからのライブストリーミング再生が行われている。この時、ストリーム中のタイムスタンプを用いたデコーダへのデータ転送タイミング制御を行わないことがある。
しかしながら、その場合、サーバのエンコーダクロックとクライアントのデコーダクロックの同期を取る有効な手段がなかった。そのため、長時間再生を続けていると、クロックずれにより、画音乱れが発生してしまう恐れがあった。
本発明はこのような問題を解決するためのものであり、ストリーミング再生におけるクロックずれを抑制し、より安定的な再生を行うことができるようにするものである。
本発明の一側面の情報処理装置は、ストリーミング再生用のデータを受信する受信手段と、前記受信手段により受信された前記データを保持する保持手段と、前記保持手段に保持されている、所定の符号化された前記データを読み出して復号する復号手段と、前記保持手段に保持されている前記データの時間的データ量から、前記復号手段による復号処理の速度が適切であるか否かを判定する判定手段と、前記判定手段による判定の結果に基づいて前記復号手段による前記復号処理の速度を制御する制御手段とを備える。
前記判定手段は、前記保持手段に保持されている前記データより、前記保持手段に保持されている全データの時間的データ量の算出に必要な情報をデータ量算出用情報として取得する情報取得手段と、前記情報取得手段により取得された前記データ量算出用情報を用いて前記時間的データ量を算出する算出手段と、前記算出手段により算出された前記時間的データ量と所定の閾値を比較することにより、前記データに施された符号化処理のクロックに対する前記復号処理のクロックのずれを検出する検出手段とを備えることができる。
前記情報取得手段は、前記保持手段に保持されている前記データのうち、最初に保持された前記データのタイムスタンプと、最後に保持された前記データのタイムスタンプとを前記データ量算出用情報として取得することができる。
前記情報取得手段は、前記保持手段に保持されているPIDが0番のパケットの数を前記データ量算出用情報として取得することができる。
前記情報取得手段は、前記保持手段に保持されているPCRパケットの数を前記データ量算出用情報として取得することができる。
前記制御手段は、前記検出手段による検出結果に基づいて、前記復号処理のクロックが速すぎる場合前記復号処理のクロックを遅くし、前記復号処理のクロックが遅すぎる場合前記復号処理のクロックを速くすることができる。
前記検出手段は、前記算出手段により算出された前記時間的データ量を、前記復号手段による前記データの復号開始時に前記保持手段に保持されている前記データの時間的データ量を用いて設定された前記閾値と比較することができる。
前記検出手段は、前記算出手段により算出された前記時間的データ量を、前記復号手段による前記データの復号開始時に前記保持手段に保持されている前記データの時間的データ量と、前記データの伝送時に発生するジッタを用いて設定された前記閾値と比較することができる。
前記判定手段は、前記受信手段により受信される前記データに対して所定データ量毎に、前記データの受信時刻を示す到着時刻情報を付加する付加手段をさらに備え、前記情報取得手段は、前記保持手段に保持されている前記データに付加された最も早い前記到着時刻情報と、最も遅い前記到着時刻情報を取得することができる。
本発明の一側面の情報処理方法またはプログラムは、ストリーミング再生用のデータを受信し、受信された前記データを保持し、保持されている、所定の符号化された前記データを読み出して復号し、保持されている前記データの時間的データ量から、復号処理の速度が適切であるか否かを判定し、判定の結果に基づいて前記復号処理の速度を制御するステップを含む。
本発明の一側面においては、ストリーミング再生用のデータが受信され、受信されたデータが保持され、保持されている、所定の符号化されたデータが読み出されて復号され、保持されているデータの時間的データ量から、復号処理の速度が適切であるか否かが判定され、判定の結果に基づいて復号処理の速度が制御される。
本発明によれば、情報を処理することができる。特に、ストリーミング再生におけるクロックずれを抑制し、より安定的な再生を行うことができる。
図1は、本発明を適用した通信システムの構成例を示すブロック図である。
図1に示される通信システム100は、画像や音声等のコンテンツデータを複数の装置間でストリーミング再生する通信システムである。通信システム100は、送信装置101、送信装置101にネットワーク102を介して接続される受信装置103を有する。
送信装置101は、外部より供給されるコンテンツデータを、ストリーミングデータとして、ネットワーク102を介して受信装置103に送信する装置である。コンテンツデータは、例えば画像や音声等を含むコンテンツとしてのデータである。送信装置101は、エンコーダ111および送信部112を有する。
エンコーダ111は、供給されるコンテンツデータを、例えばMPEG(Moving Picture Experts Group)やJPEG(Joint Photographic Experts Group)2000等のような所定の符号化方式で符号化圧縮し、その符号化データを送信部112に供給する。送信部112は、エンコーダ111より供給される符号化データを、ストリーミング再生用のデータ(ストリーム)としてパケット化し、ネットワーク102を介して受信装置103に送信する。
なお、送信装置101が他の機能を有するようにしてもよい。例えば、送信装置101が、カメラやマイク等のコンテンツデータ生成機能を有するようにしてもよい。また、例えば、送信装置101が、コンテンツデータを記憶する記憶部を有し、その記憶部よりコンテンツデータを読み出してエンコーダに供給するようにしてもよい。
送信部112より送信されたストリームは、ネットワーク102を介して受信装置103に供給される。ネットワーク102は、例えばインターネットやLAN(Local Area Network)に代表される、複数のデバイスを互いに接続し、それらのデバイス間での通信を可能するための任意のネットワークである。このネットワーク102は、複数のネットワークにより構成されるようにしてもよい。また、ネットワーク102は、有線により構成されるものであってもよいし、無線により構成されるものであってもよいし、その両方により構成されるものであってもよい。
受信装置103は、ネットワーク102を介して供給されるストリームを受信しながらデコードし、コンテンツデータを復元して再生(ストリーミング再生)し、モニタやスピーカ等に出力する。もちろん、復元したコンテンツデータを受信装置103の外部の他の装置に供給するようにしてもよい。
図2は、図1の受信装置103の詳細な構成例を示すブロック図である。
図2に示されるように、受信装置103は、受信部201、バッファ202、デコーダ203、出力部204、および制御部211を有する。
受信部201は、ネットワーク102に接続される通信インタフェースであり、ネットワーク102を介して供給されるストリームを取得し、バッファ202に供給する。バッファ202は、例えばRAM(Random Access Memory)等の記憶媒体により構成され、受信部201より供給されるデータを一時的に保持する。バッファ202は、その保持している符号化データの中の、デコーダ203に要求された符号化データをデコーダ203に供給するか、または、デコーダ203の処理速度に応じた所定のタイミングで、保持している符号化データをデコーダ203に供給する。
デコーダ203は、バッファ202より取得した符号化データを伸長復号し、復元したコンテンツデータを出力部204に供給する。出力部204は、例えばモニタやスピーカを有し、デコーダ203より供給されるコンテンツデータを出力する。例えば、出力部204は、モニタに画像を表示したり、音声をスピーカより出力したりする。
制御部211は、バッファ202に保持されているデータより抽出した情報に基づいて、デコーダ203の動作(例えばクロック)を制御する。制御部211は、同期判定部221およびクロック制御部222を有する。
同期判定部221は、バッファ202に保持されているデータに基づいて、デコーダ203が行う復号処理の速度が適切か否かの判定に関する処理を行う。より具体的には、同期判定部221は、デコーダ203のクロックと、送信装置101のエンコーダ111のクロックとの間で同期がとれているか否かの判定に関する処理を行う。
同期判定部221は、情報取得部231、算出部232、および検出部233を有する。情報取得部231は、バッファ202に保持されているデータから必要な情報を抽出する。算出部232は、情報取得部231により取得された情報を用いて、バッファ202に保持されているデータの時間的なデータ量を算出する。
なお、時間的なデータ量とは、単なる情報量(データサイズ)ではなく、コンテンツとしての再生時間に相当する量を示す。つまり、算出部232は、再生時間でどのくらいの分のデータがバッファ202に保持されているかを示す値として「時間的なデータ量」を算出する。
検出部233は、算出部232により算出された時間的なデータ量を所定の閾値と比較することにより、デコーダ203のクロックの速度が適切であるか否かを判定する。
クロック制御部222は、同期判定部221(検出部233)の判定結果に基づいて、デコーダ203のクロックを、適切な速度になるように制御する。
具体的な処理の流れの例を図3のフローチャートを参照して説明する。
受信装置103がストリーミング再生のデータ受信を開始すると、制御部211は、同期制御処理を開始する。
同期制御処理が開始されると、同期判定部221の情報取得部231は、ステップS101において、所定の方法で、バッファ202内に保持されているストリーム(データ)を解析し、データ量の算出に必要な情報をデータ量算出用情報として取得する。
例えば、ストリームがTTS(TimedTransportStream)の場合、バッファ202に最後に保持されたTTSのタイムスタンプと、バッファ202に最初に保持されたTTSのタイムスタンプを比較する(差分を算出する)ことで、バッファ202に保持されるストリームの時間的なデータ量を計算することができる。
従って、この場合、情報取得部231は、バッファ202に最後に保持されたTTSのタイムスタンプと、バッファ202に最初に保持されたTTSのタイムスタンプをデータ量算出用情報として取得する。
また、例えば、ストリームに、PSI(Program Specific Information)として、PAT(Program Association Table)が、コンテンツ再生時間100msecに相当する間隔毎に、ストリームに挿入されていることが保証される場合、バッファ202内でPIDが0番のパケットが幾つあるかを数えることにより、バッファ202に保持されるストリームの時間的なデータ量を計算することができる。
PSIは、ストリームがどのプログラムに属しているかを記した情報である。PMTは、プログラムに含まれる画像や音声などの各PIDを格納する情報ある。PATは、ストリームに含まれるプログラム一覧を、PMTのPID一覧で格納するものである。PATのPIDは必ず0番と決まっている。つまり、PIDが0番のパケットが幾つあるかを数えることは、100msec毎に挿入されるPATの数をカウントすることと等価である。
従って、この場合、情報取得部231は、PIDが0番のパケットをカウントし、そのカウント結果をデータ量算出用情報として取得する。なお、この場合、バッファ202に保持される全てのパケットのTSヘッダを参照する必要があるため、上述したTTSタイムスタンプを用いる場合よりも情報取得部231の負荷は大きい。
さらに、例えば、PCR(Program. Clock Reference)が、コンテンツ再生時間100msecに相当する間隔毎に、ストリームに挿入されることが保証される場合、PCRパケットをカウントすることにより、バッファ202に保持されるストリームの時間的なデータ量を計算することができる。
PCRは、クロックの基準となる時刻情報である。ストリームには、このPCRが100msec毎に挿入される。したがって、このPCRのカウント値からバッファ202に保持されるストリームの時間的なデータ量を計算することができる。情報取得部231は、バッファ202に保持されるストリームの全てのPATおよびPMTを解析し、PCRパケットをカウントし、そのカウント結果をデータ量算出用情報として取得する。
なお、この場合、バッファ202内の全てのPATやPMTの解析が必要になるため、上述したTTSタイムスタンプを用いる場合や、上述したPATの数をカウントする場合よりも情報取得部231の負荷は大きい。
データ量算出用情報が取得されると、算出部232は、ステップS102において、そのデータ量算出用情報を用いてバッファ202に保持されるストリームの時間的なデータ量を算出する。
ステップS103において、検出部233は、その算出結果から、デコーダ203のクロック(デコーダクロック)の、エンコーダ111のクロック(エンコーダクロック)に対する「ずれ」(以下において、デコーダクロックずれと称する)を検出する。
ネットワーク102を介して伝送されるストリームの伝送ビットレートがコンテンツの再生速度に対応しており、受信装置103が、送信されるストリームを受信しながら、そのストリームを略即時的に(略リアルタイムに)再生するライブストリーミング再生を行うものとする。
仮に、ネットワークジッタが0で、デコーダクロックずれもない理想的な状態であるとすると、バッファ202の入出力レートは互いに略等しくなる。つまり、このようなライブストリーミング再生中、バッファ202に保持されているストリームの時間的なデータ量は略一定となる。例えば、ストリーミング再生が開始されたときに、バッファ202に保持されているストリームの時間的なデータ量をm秒分のデータとすると、バッファ202には常にm秒分のデータが保持されている。
したがって、この場合、検出部233は、バッファ202に保持されているストリームの時間的なデータ量を監視し、それがmからずれたことを検出することで、ネットワークジッタまたはデコーダクロックずれを検出する。
ところでこのmは、ネットワークからデータを受信し始めてから再生が開始されるまでの時間で近似することができる。上述したようなネットワークジッタのない理想的な環境下においては、m秒受信すれば、コンテンツ再生m秒分のデータを取得したことになるはずだからである。換言すれば、コンテンツ再生m秒分のデータをバッファ202に保持させるためには、m秒間の受信が必要になる。したがって、上述したように、mは、ネットワークからデータを受信し始めてから再生が開始されるまでの時間で近似することができる。
仮に、ネットワークジッタが0でないとすると、受信レートが時間的に変化するので、バッファ202に保持されるストリームの時間的なデータ量はネットワークジッタの影響を受けて、一定にならない。このときの時間的なデータ量をm’とし、ネットワークジッタを最大n秒とすると、m’の適正な値を以下の式(1)のように表すことができる。
m−n ≦ m’ ≦ m+n ・・・(1)
検出部233は、バッファ202に保持されているストリームの時間的なデータ量を監視し、m’が上記の範囲を逸脱した場合、デコーダクロックずれが起こっていると判定する。m’<m−nならばエンコーダクロックに対してデコーダクロックの方が速く、m+n<m’ならばエンコーダクロックに対してデコーダクロックの方が遅い。
検出部233は、以上のようにデコーダクロックずれの検出を行うと、その検出結果に基づいて、ステップS104において、デコーダクロックが(エンコーダクロックに対して)速すぎるか否かを判定する。デコーダクロックが速すぎると判定された場合、処理はステップS105に進む。ステップS105において、クロック制御部222は、その判定結果を受けて、デコーダ203を制御し、デコーダクロックを現在よりも遅くするように制御する。つまり、クロック制御部222は、デコーダ203の処理速度を現在よりも遅くさせる。ステップS105の処理が終了すると、処理はステップS108に進む。
また、ステップS104において、デコーダクロックが速すぎないと判定された場合、処理はステップS106に進む。ステップS106において、検出部233は、検出結果に基づいて、デコーダクロックが(エンコーダクロックに対して)遅すぎるか否かを判定する。デコーダクロックが遅すぎると判定された場合、処理はステップS107に進む。ステップS107において、クロック制御部222は、その判定結果を受けて、デコーダ203を制御し、デコーダクロックを現在よりも速くするように制御する。つまり、クロック制御部222は、デコーダ203の処理速度を現在よりも速くさせる。ステップS107の処理が終了すると、処理はステップS108に進む。
また、ステップS106において、デコーダクロックが遅すぎない、つまり、ちょうどよいと判定された場合、処理はステップS108に進む。
ステップS108において、情報取得部231は、ストリームの受信が終了したか否かを判定し、終了していないと判定された場合、処理をステップS101に戻し、それ以降の処理を繰り返す。また、ステップS108においてストリームの受信が終了したと判定された場合、同期制御処理が終了する。
以上のように、制御部211は、バッファ202に保持されるストリームの時間的データ量に基づいてデコーダクロックのずれを検出し、その検出結果に基づいてデコーダクロックの速度を制御する。つまり、制御部211は、デコーダ203の処理速度を制御する。このようにすることにより、制御部211は、デコーダクロックの速度をエンコーダクロックの速度に合わせることができ、つまり、デコーダ203の処理速度をエンコーダ111の処理速度に合わせることができ、クロックずれを抑制し、そのクロックずれに起因するバッファオーバーフローやアンダーフローの発生を抑制することができる。
つまり、受信装置103は、ライブストリーミング再生において、ストリームのタイムスタンプを用いたデコーダ203へのデータ投入タイミング制御を行わない、または行えない場合であっても、長時間再生しても画音乱れが起きないように安定的にストリーミング再生を行うことができる。
なお、実際にはmにもジッタが存在し、かつ、mを計算する際の精度も、その計算方法によって異なる。そのため、上述したようなクロックずれ検出の閾値は、そのシステム、装置、および方法等の環境に合わせて適宜設定するのが望ましい。
以上においては、ストリーム内に存在するデータを利用してバッファ202に保持されるストリームの時間的データ量を算出するように説明したが、このストリームの時間的データ量の算出は、これ以外の方法により算出するようにしてもよい。
例えば、ストリームの到着時刻(受信時刻)を利用するようにしてもよい。
図4は、その場合の受信装置103の詳細な構成例を示すブロック図である。図2と同様の構成には同一の符号を付してある。
図4において、受信装置103は、基本的に図2の場合の制御部211と同様の構成を有するが、制御部211の代わりに制御部311を有する。制御部311は、基本的に制御部211と同様の構成を有するが、制御部211の同期判定部221の代わりに同期判定部321を有し、さらに、到着時刻情報付加部323を有する。
到着時刻情報付加部323は、受信部201により受信されるストリームに対し、所定のデータ単位(例えばTCPパケット)毎に、到着時刻を示す到着時刻情報を付加する。この到着時刻情報は、時刻を示す情報であればどのようなデータであってもよいが、例えば受信装置103自身のシステムクロックを用いて生成される。受信部201は、到着時刻情報が付加されたストリームをバッファ202に供給し、保持させる。
同期判定部321は、同期判定部221と同様に、情報取得部331、算出部332、および検出部333を有する。
情報取得部331は、バッファ202に保持されているストリームに付加されている、最初の到着時刻情報と、最後の到着時刻情報を、データ量算出用情報として取得する。
算出部332は、それらの到着時刻情報の差分を求めることにより、バッファ202に保持されているストリームの時間的データ量を算出する。検出部333は、その算出結果を所定の閾値と比較することにより、デコーダクロックのずれを検出する。
この場合の、同期制御処理の流れの例を図5のフローチャートを参照して説明する。この同期制御処理は、図3のフローチャートを参照して説明した同期制御処理に対応する。
ストリーミング再生が開始され、同期制御処理が開始されると、到着時刻情報付加部323は、ステップS201において、受信部201により受信されるストリームを監視し、予め定められた所定量のストリームが受信されたか否かを判定する。所定量のストリームが受信されたと判定した場合、到着時刻情報付加部323は、処理をステップS202に進め、到着時刻情報を受信データに付加する。到着時刻情報が付加されると処理はステップS203に進む。また、ステップS201において、所定量のストリームが受信されていないと判定した場合、ステップS202の処理は省略され、処理はステップS203に進む。
ステップS203において、情報取得部331は、バッファ202に最後に保持されたストリームに付加されている到着時刻情報と、バッファ202に最初に保持されたストリームに付加されている到着時刻情報を、データ量算出用情報として取得する。ステップS204において、算出部332は、情報取得部331により取得された到着時刻情報の差分をとることにより、バッファ202に保持されるデータの時間的なデータ量を算出する。
ステップS205において、検出部333は、その算出結果に基づいて、デコーダクロックのずれを検出する。
上述したように、ネットワークジッタを最大n秒とする場合、ライブストリーミング受信開始からm秒後に再生開始したとすると、バッファ202に保持されているストリームの時間的なデータ量m’がm’<m−n、若しくは、m+n<m’となるとき、デコーダクロックずれが検出される。
ここで、ストリームの到着時刻から算出した時間的なデータ量をm’’とする。常にm’<m−n、若しくは、m+n<m’が成り立つようなm’’とmとnの関係を用いることにより、受信装置103は、m’’を監視することでデコーダクロックずれを検出することができる。
m’’とm’は、ネットワークジッタを考慮すると、以下の式(2)に示されるような関係となる。
m’’−n≦m’≦m’’+n ・・・(2)
m’<m−nが常に成り立つためには、m’が最大のときにも成り立つ必要がある。したがって式(2)からm’’+n<m−nが成立する必要がある。つまり、m’’<m−2nが成立する必要がある。
また、m+n<m’が常に成り立つためには、m’が最小のときにも成り立つ必要がある。したがって式(2)からm+n<m’’−nが成立する必要がある。つまり、m+2n<m’’が成立する必要がある。
以上により、m’’<m−2nが成立する場合、デコーダクロックが速く、m+2n<m’’が成立する場合、デコーダクロックが遅いということになる。検出部333は、このようにデコーダクロックずれを検出する。
クロック制御部222は、デコーダクロックが速い場合にはデコーダクロックを遅くし、デコーダクロックが遅い場合にはデコーダクロックを速くする。つまり、ステップS206乃至ステップS210の各処理は、図3のステップS104乃至ステップS108の各処理と同様に実行される。
つまり、デコーダクロックが速すぎる場合、クロック制御部222は、デコーダクロックを現在よりも遅くするように制御する。つまり、クロック制御部222は、デコーダ203の処理速度を現在よりも遅くさせる。逆に、デコーダクロックが遅すぎる場合、クロック制御部222は、デコーダクロックを現在よりも速くするように制御する。つまり、クロック制御部222は、デコーダ203の処理速度を現在よりも速くさせる。
以上のように、制御部311は、バッファ202に保持されるストリームの時間的データ量に基づいてデコーダクロックのずれを検出し、その検出結果に基づいてデコーダクロックの速度を制御することにより、デコーダクロックの速度をエンコーダクロックの速度に合わせることができ、クロックずれを抑制し、そのクロックずれに起因するバッファオーバーフローやアンダーフローの発生を抑制することができる。
つまり、受信装置103は、ライブストリーミング再生において、ストリームのタイムスタンプを用いたデコーダ203へのデータ投入タイミング制御を行わない、または行えない場合であっても、長時間再生しても画音乱れが起きないように安定的にストリーミング再生を行うことができる。
なお、実際にはmにもジッタが存在し、かつ、mを計算する際の精度も、その計算方法によって異なる。そのため、上述したようなクロックずれ検出の閾値は、そのシステム、装置、および方法等の環境に合わせて適宜設定するのが望ましい。
以上においては、デコーダ203のクロックの速度を制御することにより、デコーダ203の復号処理の速度を制御するように説明したが、クロック以外を用いて復号処理の速度を制御するようにしてももちろんよい。
上述した一連の処理は、ハードウェアにより実行させることもできるし、ソフトウエアにより実行させることもできる。この場合、例えば、図6に示されるようなパーソナルコンピュータとして構成されるようにしてもよい。
図6において、パーソナルコンピュータ400のCPU(Central Processing Unit)401は、ROM(Read Only Memory)402に記憶されているプログラム、または記憶部413からRAM403にロードされたプログラムに従って各種の処理を実行する。RAM403にはまた、CPU401が各種の処理を実行する上において必要なデータなども適宜記憶される。
CPU401、ROM402、およびRAM403は、バス404を介して相互に接続されている。このバス404にはまた、入出力インタフェース410も接続されている。
入出力インタフェース410には、キーボード、マウスなどよりなる入力部411、CRT(Cathode Ray Tube)やLCD(Liquid Crystal Display)などよりなるディスプレイ、並びにスピーカなどよりなる出力部412、ハードディスクなどより構成される記憶部413、モデムなどより構成される通信部414が接続されている。通信部414は、インターネットを含むネットワークを介しての通信処理を行う。
入出力インタフェース410にはまた、必要に応じてドライブ415が接続され、磁気ディスク、光ディスク、光磁気ディスク、或いは半導体メモリなどのリムーバブルメディア421が適宜装着され、それらから読み出されたコンピュータプログラムが、必要に応じて記憶部413にインストールされる。
上述した一連の処理をソフトウエアにより実行させる場合には、そのソフトウエアを構成するプログラムが、ネットワークや記録媒体からインストールされる。
この記録媒体は、例えば、図6に示されるように、装置本体とは別に、ユーザにプログラムを配信するために配布される、プログラムが記録されている磁気ディスク(フレキシブルディスクを含む)、光ディスク(CD-ROM(Compact Disc - Read Only Memory),DVD(Digital Versatile Disc)を含む)、光磁気ディスク(MD(Mini Disc)を含む)、もしくは半導体メモリなどよりなるリムーバブルメディア421により構成されるだけでなく、装置本体に予め組み込まれた状態でユーザに配信される、プログラムが記録されているROM402や、記憶部413に含まれるハードディスクなどで構成される。
なお、本明細書において、記録媒体に記録されるプログラムを記述するステップは、記載された順序に沿って時系列的に行われる処理はもちろん、必ずしも時系列的に処理されなくとも、並列的あるいは個別に実行される処理をも含むものである。
また、本明細書において、システムとは、複数のデバイス(装置)により構成される装置全体を表わすものである。
なお、以上において、1つの装置として説明した構成を分割し、複数の装置として構成するようにしてもよい。逆に、以上において複数の装置として説明した構成をまとめて1つの装置として構成されるようにしてもよい。また、各装置の構成に上述した以外の構成を付加するようにしてももちろんよい。さらに、システム全体としての構成や動作が実質的に同じであれば、ある装置の構成の一部を他の装置の構成に含めるようにしてもよい。つまり、本発明の実施の形態は、上述した実施の形態に限定されるものではなく、本発明の要旨を逸脱しない範囲において種々の変更が可能である。
本発明を適用した通信システムの主な構成例を示す図である。 受信装置の詳細な構成例を示すブロック図である。 同期制御処理の流れを説明するフローチャートである。 受信装置の他の構成例を示すブロック図である。 同期制御処理の他の流れを説明するフローチャートである。 本発明を適用したパーソナルコンピュータの構成例を示す図である。
100 通信システム, 101 送信装置, 102 ネットワーク, 103 受信装置, 111 エンコーダ, 112 送信部, 201 受信部, 202 バッファ, 203 デコーダ, 204 出力部, 211 制御部, 221 同期判定部, 222 クロック制御部, 231 情報取得部, 232 算出部, 233 検出部, 311 制御部, 321 同期判定部, 323 到着時刻情報付加部, 331 情報取得部, 332 算出部, 333 検出部

Claims (11)

  1. ストリーミング再生用のデータを受信する受信手段と、
    前記受信手段により受信された前記データを保持する保持手段と、
    前記保持手段に保持されている、所定の符号化された前記データを読み出して復号する復号手段と、
    前記保持手段に保持されている前記データの時間的データ量から、前記復号手段による復号処理の速度が適切であるか否かを判定する判定手段と、
    前記判定手段による判定の結果に基づいて前記復号手段による前記復号処理の速度を制御する制御手段と
    を備える情報処理装置。
  2. 前記判定手段は、
    前記保持手段に保持されている前記データより、前記保持手段に保持されている全データの時間的データ量の算出に必要な情報をデータ量算出用情報として取得する情報取得手段と、
    前記情報取得手段により取得された前記データ量算出用情報を用いて前記時間的データ量を算出する算出手段と、
    前記算出手段により算出された前記時間的データ量と所定の閾値を比較することにより、前記データに施された符号化処理のクロックに対する前記復号処理のクロックのずれを検出する検出手段と
    を備える請求項1に記載の情報処理装置。
  3. 前記情報取得手段は、前記保持手段に保持されている前記データのうち、最初に保持された前記データのタイムスタンプと、最後に保持された前記データのタイムスタンプとを前記データ量算出用情報として取得する
    請求項2に記載の情報処理装置。
  4. 前記情報取得手段は、前記保持手段に保持されているPIDが0番のパケットの数を前記データ量算出用情報として取得する
    請求項2に記載の情報処理装置。
  5. 前記情報取得手段は、前記保持手段に保持されているPCRパケットの数を前記データ量算出用情報として取得する
    請求項2に記載の情報処理装置。
  6. 前記制御手段は、前記検出手段による検出結果に基づいて、前記復号処理のクロックが速すぎる場合前記復号処理のクロックを遅くし、前記復号処理のクロックが遅すぎる場合前記復号処理のクロックを速くする
    請求項2に記載の情報処理装置。
  7. 前記検出手段は、前記算出手段により算出された前記時間的データ量を、前記復号手段による前記データの復号開始時に前記保持手段に保持されている前記データの時間的データ量を用いて設定された前記閾値と比較する
    請求項2に記載の情報処理装置。
  8. 前記検出手段は、前記算出手段により算出された前記時間的データ量を、前記復号手段による前記データの復号開始時に前記保持手段に保持されている前記データの時間的データ量と、前記データの伝送時に発生するジッタを用いて設定された前記閾値と比較する
    請求項2に記載の情報処理装置。
  9. 前記判定手段は、
    前記受信手段により受信される前記データに対して所定データ量毎に、前記データの受信時刻を示す到着時刻情報を付加する付加手段
    をさらに備え、
    前記情報取得手段は、前記保持手段に保持されている前記データに付加された最も早い前記到着時刻情報と、最も遅い前記到着時刻情報を取得する
    請求項2に記載の情報処理装置。
  10. ストリーミング再生用のデータを受信する受信手段と、
    前記受信手段により受信された前記データを保持する保持手段と、
    前記保持手段に保持されている、所定の符号化された前記データを読み出して復号する復号手段と、
    判定を行う判定手段と、
    制御を行う制御手段と
    を備える情報処理装置の情報処理方法であって、
    前記判定手段が、前記保持手段に保持されている前記データの時間的データ量から、前記復号手段による復号処理の速度が適切であるか否かを判定し、
    前記制御手段が、前記判定手段による判定の結果に基づいて前記復号手段による前記復号処理の速度を制御する
    ステップを含む情報処理方法。
  11. ストリーミング再生用のデータを受信し、
    受信された前記データを保持し、
    保持されている、所定の符号化された前記データを読み出して復号し、
    保持されている前記データの時間的データ量から、復号処理の速度が適切であるか否かを判定し、
    判定の結果に基づいて前記復号処理の速度を制御する
    ステップを含む処理をコンピュータに実行させるプログラム。
JP2009138794A 2009-06-10 2009-06-10 情報処理装置および方法、並びにプログラム Expired - Fee Related JP5440839B2 (ja)

Priority Applications (7)

Application Number Priority Date Filing Date Title
JP2009138794A JP5440839B2 (ja) 2009-06-10 2009-06-10 情報処理装置および方法、並びにプログラム
EP20100786081 EP2442505A4 (en) 2009-06-10 2010-05-31 INFORMATION PROCESSING DEVICE AND METHOD AND PROGRAM THEREFOR
PCT/JP2010/059178 WO2010143550A1 (ja) 2009-06-10 2010-05-31 情報処理装置および方法、並びにプログラム
KR1020117002920A KR20120036788A (ko) 2009-06-10 2010-05-31 정보 처리 장치 및 방법, 및 프로그램
US12/737,634 US8848803B2 (en) 2009-06-10 2010-05-31 Information processing device and method, and program
CN2010800026425A CN102160390A (zh) 2009-06-10 2010-05-31 信息处理设备、方法及程序
TW99117506A TWI431986B (zh) 2009-06-10 2010-06-01 Information processing apparatus and method, and program

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2009138794A JP5440839B2 (ja) 2009-06-10 2009-06-10 情報処理装置および方法、並びにプログラム

Publications (2)

Publication Number Publication Date
JP2010287973A true JP2010287973A (ja) 2010-12-24
JP5440839B2 JP5440839B2 (ja) 2014-03-12

Family

ID=43308805

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2009138794A Expired - Fee Related JP5440839B2 (ja) 2009-06-10 2009-06-10 情報処理装置および方法、並びにプログラム

Country Status (7)

Country Link
US (1) US8848803B2 (ja)
EP (1) EP2442505A4 (ja)
JP (1) JP5440839B2 (ja)
KR (1) KR20120036788A (ja)
CN (1) CN102160390A (ja)
TW (1) TWI431986B (ja)
WO (1) WO2010143550A1 (ja)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5156879B1 (ja) * 2011-08-25 2013-03-06 パナソニック株式会社 情報提示制御装置及び情報提示制御方法
JP2014075736A (ja) * 2012-10-05 2014-04-24 Sony Corp サーバ装置および情報処理方法
US8880929B2 (en) * 2012-11-19 2014-11-04 Blackfire Research Corporation Indirect clock measuring and media adjustment
CN104754724B (zh) * 2013-12-30 2018-12-04 上海诺基亚贝尔股份有限公司 一种在无线接入网中实现时钟同步的方法、装置和设备
KR101678388B1 (ko) * 2014-02-06 2016-12-06 엔트릭스 주식회사 레이턴시를 고려한 영상 처리 방법, 이를 수행하는 장치 및 클라우드 스트리밍 서비스 시스템

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002165148A (ja) * 2000-11-29 2002-06-07 Sony Corp データ処理装置および方法、並びに記録媒体
JP2005295295A (ja) * 2004-04-01 2005-10-20 Mitsubishi Electric Corp ストリーム伝送装置
JP2006042273A (ja) * 2004-07-30 2006-02-09 Sharp Corp 受信処理装置、受信装置、制御プログラム、および制御プログラムを記録した記録媒体
JP2006049941A (ja) * 2004-07-30 2006-02-16 Sharp Corp 受信装置、受信プログラム、および受信プログラムを記録した記録媒体
WO2007004611A1 (ja) * 2005-07-06 2007-01-11 Sharp Kabushiki Kaisha 出力回路、制御プログラム製品および制御方法

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5717697A (en) * 1990-06-27 1998-02-10 Texas Instruments Incorporated Test circuits and methods for integrated circuit having memory and non-memory circuits by accumulating bits of a particular logic state
US7783773B2 (en) * 2006-07-24 2010-08-24 Microsoft Corporation Glitch-free media streaming
US20080031279A1 (en) * 2006-08-03 2008-02-07 Takeshi Hatakeyama Network chip and network transmission/reception device
US9769092B2 (en) * 2010-01-18 2017-09-19 Marvell International Ltd. Packet buffer comprising a data section and a data description section

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002165148A (ja) * 2000-11-29 2002-06-07 Sony Corp データ処理装置および方法、並びに記録媒体
JP2005295295A (ja) * 2004-04-01 2005-10-20 Mitsubishi Electric Corp ストリーム伝送装置
JP2006042273A (ja) * 2004-07-30 2006-02-09 Sharp Corp 受信処理装置、受信装置、制御プログラム、および制御プログラムを記録した記録媒体
JP2006049941A (ja) * 2004-07-30 2006-02-16 Sharp Corp 受信装置、受信プログラム、および受信プログラムを記録した記録媒体
WO2007004611A1 (ja) * 2005-07-06 2007-01-11 Sharp Kabushiki Kaisha 出力回路、制御プログラム製品および制御方法

Also Published As

Publication number Publication date
US8848803B2 (en) 2014-09-30
US20110129018A1 (en) 2011-06-02
KR20120036788A (ko) 2012-04-18
JP5440839B2 (ja) 2014-03-12
CN102160390A (zh) 2011-08-17
EP2442505A4 (en) 2013-09-18
TW201112695A (en) 2011-04-01
EP2442505A1 (en) 2012-04-18
TWI431986B (zh) 2014-03-21
WO2010143550A1 (ja) 2010-12-16

Similar Documents

Publication Publication Date Title
JP7036962B2 (ja) 再生方法および再生装置
WO2017161998A1 (zh) 视频处理方法和装置、计算机存储介质
CN106686438B (zh) 一种跨设备的音频图像同步播放的方法、装置及系统
JP5440839B2 (ja) 情報処理装置および方法、並びにプログラム
US8285886B1 (en) Live media playback adaptive buffer control
JP2007511948A (ja) トリックプレイ信号の再生
US20150207715A1 (en) Receiving apparatus, transmitting apparatus, communication system, control method for receiving apparatus, control method for transmitting apparatus, and recording medium
WO2016112641A1 (zh) 客户端、流媒体数据接收方法和流媒体数据传输系统
JP5335354B2 (ja) 情報送信装置、情報送信装置の制御方法及びコンピュータプログラム
US8588310B2 (en) Method and apparatus for managing delivery of bits to a decoder
US10356159B1 (en) Enabling playback and request of partial media fragments
JP2007104569A (ja) データ受信装置
CN107087210B (zh) 基于缓存时间判断视频播放状态的方法及终端
JP2005286749A (ja) 映像復号化装置およびそれを用いた映像伝送システム
US10313759B1 (en) Enabling playback and request of partial media fragments
JP6711120B2 (ja) 映像再生装置、映像再生方法および映像再生プログラム
JP5632711B2 (ja) 送信装置、受信装置及び伝送システム
CN114025171A (zh) 一种视频处理方法、装置、终端设备和存储介质
JP2004215199A (ja) 情報処理装置および方法、記録媒体、並びにプログラム
US8520788B2 (en) Receiving device, receiving method and program
JP2005173775A (ja) データ処理装置およびその方法と符号化装置
JP6146471B2 (ja) 符号化装置、符号化方法、および符号化プログラム
US11758241B2 (en) Method and apparatus for playing back video in accordance with requested video playback time
US20130141596A1 (en) Transmitter, transmission method, and program
JP2005348347A (ja) 映像音声復号方法、映像音声復号装置、映像音声復号プログラム及びそのプログラムを記録したコンピュータ読み取り可能な記録媒体

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20120302

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20130910

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20131101

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20131204

LAPS Cancellation because of no payment of annual fees