JP3881992B2 - 受信装置、受信プログラム、および受信プログラムを記録した記録媒体 - Google Patents

受信装置、受信プログラム、および受信プログラムを記録した記録媒体 Download PDF

Info

Publication number
JP3881992B2
JP3881992B2 JP2004223672A JP2004223672A JP3881992B2 JP 3881992 B2 JP3881992 B2 JP 3881992B2 JP 2004223672 A JP2004223672 A JP 2004223672A JP 2004223672 A JP2004223672 A JP 2004223672A JP 3881992 B2 JP3881992 B2 JP 3881992B2
Authority
JP
Japan
Prior art keywords
data
amount
buffer
predetermined
speed
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
JP2004223672A
Other languages
English (en)
Other versions
JP2006049941A (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.)
Sharp Corp
Original Assignee
Sharp 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 Sharp Corp filed Critical Sharp Corp
Priority to JP2004223672A priority Critical patent/JP3881992B2/ja
Priority to PCT/JP2005/013494 priority patent/WO2006011426A1/ja
Publication of JP2006049941A publication Critical patent/JP2006049941A/ja
Application granted granted Critical
Publication of JP3881992B2 publication Critical patent/JP3881992B2/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
    • H04N7/00Television systems
    • H04N7/16Analogue secrecy systems; Analogue subscription systems
    • H04N7/162Authorising the user terminal, e.g. by paying; Registering the use of a subscription channel, e.g. billing
    • H04N7/163Authorising the user terminal, e.g. by paying; Registering the use of a subscription channel, e.g. billing by receiver means only
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/234Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs
    • H04N21/23406Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs involving management of server-side video buffer
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/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/44Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream or rendering scenes according to encoded video stream scene graphs
    • H04N21/44004Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream or rendering scenes according to encoded video stream scene graphs involving video buffer management, e.g. video decoder buffer or video display buffer
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/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/44209Monitoring of downstream path of the transmission network originating from a server, e.g. bandwidth variations of a wireless network
    • 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/63Control signaling related to video distribution between client, server and network components; Network processes for video distribution between server and clients or between remote clients, e.g. transmitting basic layer and enhancement layers over different transmission paths, setting up a peer-to-peer communication via Internet between remote STB's; Communication protocols; Addressing
    • H04N21/637Control signals issued by the client directed to the server or network components
    • H04N21/6373Control signals issued by the client directed to the server or network components for rate control, e.g. request to the server to modify its transmission rate

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Computer Security & Cryptography (AREA)
  • Databases & Information Systems (AREA)
  • Television Signal Processing For Recording (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Communication Control (AREA)
  • Circuits Of Receivers In General (AREA)
  • Synchronisation In Digital Transmission Systems (AREA)

Description

この発明は、受信装置、受信プログラム、および受信プログラムを記録した記録媒体に関し、特に、送信装置から通信網を介して送信されたデータを受信する受信装置、受信プログラム、および受信プログラムを記録した記録媒体に関する。
近年、ホームネットワークにおいてAVデータなどのリアルタイムデータをIP(Internet Protocol)パケットにより転送する技術が広がりつつある。この場合、エンコーダ(符号化回路)とデコーダ(復号化回路)のクロックのズレによって、単位時間あたりに伝送されるデータ量と、再生されるデータ量に違いがでてしまい画質の劣化等の問題を起こしてしまう可能性があった。
デジタルデータのリアルタイムストリーム伝送で一般的に用いられているMPEG2−TSでは、図15に示すように、送信装置51から受信装置52にPCR信号とよばれる同期信号をデータと一緒に送信する。受信装置52内のデコーダでは、PCR信号に含まれる値およびPCR信号が入力された時間の情報に基づき、PLL回路と呼ばれるクロックの同期を行う回路を用いて送信装置51内のエンコーダのクロックを再現する。これにより、送信装置51と受信装置52のクロックのズレをなくしている。
しかし、PLL回路を使った同期方式は、ネットワークにおける遅延の変動(ジッタ)が小さい場合に有効な技術であり、IPデータ通信網のようなジッタが大きなネットワークにおいては有効ではない。このような問題を解決するために、一般に用いられているのがアダプティブクロック法と呼ばれる方法である。
この方法では、図16に示すように、受信装置53側で、受信データをデコーダに入力する前に、すべてのデータを一旦バッファリングし、受信側のクロック(一般にデコーダ内部のクロックとは別のクロック)に合わせて、デコーダに入力する。これにより、デコーダは、受信装置53の受信バッファを駆動する時間情報に同期することになる。そのため、送信装置51がデータを送出するクロックと、受信装置53においてバッファがデコーダにデータを出力する速度とは異なることになる。そのため、受信バッファ内のデータは、長期的にみると、増加又は減少していくが、バッファに蓄積されたデータを監視し、蓄積データ量が上限値を超えたときデータ出力速度を速くし、データ蓄積量が下限値よりも低下したとき出力速度を遅くすることにより、バッファ溢れ(オーバーラン)やデータが足りなくなる(アンダーラン)現象を回避している(たとえば特許文献1参照)。
図17は、受信バッファのバッファ量の変化を例示するタイムチャートである。図17において、受信データのバッファリングが開始されると、受信バッファのバッファ量は一定の速度で増加する。バッファ量が再生開始位置に到達すると、受信バッファのデータはデコーダに出力される。データの出力速度が入力速度よりも速い場合は、バッファ量が減少する。これを放置するとアンダーランが生じるので、バッファ量がアンダーラン回避のための下限に到達したことに応じてデータの出力速度を入力速度よりも遅くする。データの出力速度を入力速度よりも遅くすると、バッファ量が増加する。これを放置するとオーバーランが生じるので、バッファ量がオーバーラン回避のための上限に到達したことに応じてデータの出力速度を入力速度よりも速くする。このようにしてオーバーランとアンダーランが回避される。
特開2002−165148号公報
このように、ネットワークにジッタがある通信網においては、再生データがなくなることを防ぐためにバッファリングが必要となる。データの伝送速度と再生速度が全く同じであれば、再生開始前にジッタの最大値に応じた量のデータをバッファリングし、再生を開始するのが一般的である。
しかし、クロックのズレにより伝送速度よりも再生速度が速い場合は、長期的にみるとバッファ量は減少していく。実際ネットワークのジッタによるバッファの変動と比べてクロックのズレによるバッファ量の減少は非常に小さいため、バッファ量がネットワークのジッタの増減で動く範囲内でクロックのズレを検知することは困難である。
一方、ネットワークの状態は、様々な要因により、局所的に突然悪くなりパケットの到着が遅れる(=ジッタが大きくなる)ことがあり、再生開始までに、ネットワークのジッタ分しかデータをバッファリングしていないとすると、クロックのズレにより減少していたデータ量+ネットワークのジッタにより減少しデータ量がバッファからなくなってしまうことになり、結果としてアンダーランが生じてしまう。そのため、一般にアンダーランの発生を回避するために、再生開始前に、クロックのズレによりアンダーランの発生が起こらないようにさらに多くの量のデータをバッファリングする必要があり、最悪の場合を想定すると、必要なバッファ量は、図18に示すように、クロックのズレがない場合の2倍になる。
したがって、従来の技術では、再生開始前に長時間のバッファリングが必要となり、ユーザの操作に対するレスポンスが悪いという問題があった。
また、バッファリングを行うための大容量のバッファが必要となり、コスト高になっていた。
それゆえに、この発明の主たる目的は、再生開始前のデータ蓄積量の低減化を図ることが可能な受信装置、受信プログラムおよび受信プログラムを記録した記録媒体を提供することである。
この発明に係る受信装置は、送信装置から通信網を介して送信されたデータを受信する受信装置であって、受信したデータを順次蓄積するデータ蓄積手段と、データ蓄積手段に蓄積されたデータ量が予め定められた第1の基準値を超えたことに応じてデータ蓄積手段に蓄積されたデータを順次取出すデータ出力手段と、データ蓄積手段のデータ量が時間比例して増加するようにデータ出力手段のデータ取出し速度を予め定められた速度に設定し、データ蓄積手段のデータ量が第1の基準値よりも高い予め定められた第2の基準値を超えた場合は所定の時間だけデータ出力手段のデータ取出し速度を高くしてデータ蓄積手段のデータ量を減少させる制御手段とを備えたものである。
また、この発明に係る受信プログラムは、送信装置から通信網を介して送信されたデータを受信する受信装置における受信方法をコンピュータに実行させる受信プログラムであって、受信したデータを受信装置のバッファに順次蓄積する第1のステップと、バッファに蓄積されたデータ量が予め定められた第1の基準値を超えたことに応じてバッファに蓄積されたデータを順次取出す第2のステップと、バッファのデータ量が時間比例して増加するように第2のステップにおけるデータ取出し速度を予め定められた速度に設定し、バッファのデータ量が第1の基準値よりも高い予め定められた第2の基準値を超えた場合は所定の時間だけ第2のステップのデータ取出し速度を高くしてバッファのデータ量を減少させる第3のステップを実行させるものである。
また、この発明に係るコンピュータ読み取り可能な記録媒体は、上記受信プログラムを記録したものである。
この発明に係る受信装置および受信プログラムでは、データ蓄積量が第1の基準値を超えた場合はデータ蓄積量が時間比例して増加するようにデータ取出し速度を予め定められた速度に設定し、データ蓄積量が第2の基準値を超えた場合は所定の時間だけデータ取出し速度を高くしてデータ蓄積量を減少させるので、通信網のジッタを吸収する分だけデータを蓄積すれば再生を開始できる。したがって、通信網のジッタとクロックずれによるアンダーランを回避するために必要なデータ量を蓄積していた従来に比べ、再生開始前のデータ蓄積量が小さくて済む。よって、再生開始前のデータ蓄積時間で短くて済むので、ユーザの操作に対するレスポンスが速くなる。また、データ蓄積容量が小さくて済むので、低コスト化を図ることができる。
また、データ蓄積量が第2の基準値を超えた場合は所定の時間だけデータ取出し速度を高くするので、ジッタの影響によってデータ蓄積量の変動が激しい場合でも、データ取出し速度を頻繁に制御する必要がない。
以下、本発明の一実施の形態によるネットワークシステムについて説明する。本実施の形態は、遅延変動が大きな通信網を経由するリアルタイム通信において、通信を開始してから再生開始までの時間を短縮させるものである。
なお、本実施の形態においては、本発明がIP(Internet Protocol)ネットワークを通じてRTP(Real Time Protocol)を用いたMPEG2のリアルタイムストリーム伝送に適用された例について述べる。ただし、本発明はこれに限定されるものではない。
図1は、本発明の一実施の形態によるネットワークシステムの構成を示すブロック図である。このネットワークシステムは、たとえば、テレビやハードディスクレコーダ(以下、HDR)、デジタルチューナーなどの様々な家庭内の機器が接続されたネットワークである。このネットワークシステムでは、たとえば、IP(Internet Protocol)のようなネットワークプロトコルを用いて通信が行われる。
送信装置1は、受信装置(たとえばテレビ)2との間でリアルタイムストリーム伝送を行うリアルタイムデータの送信装置であり、たとえば、通信機能を備えたビデオ、HDR、デジタルチューナーなどである。送信装置1は、通信ネットワーク3を介して受信装置2と接続される。機器4,5は、通信ネットワーク3に接続されるその他の機器である。
図2は、送信装置1および受信装置2の構成を示すブロック図である。図2において、送信装置1はエンコーダ11および送信処理部14を含み、受信装置2は受信処理部21およびデコーダ27を含む。
エンコーダ11は、所定の入力に対して、MPEG2で規定されている符号化規則に従って符号化を行い、MPEG2のデータを出力する符号化装置である。エンコーダ11は、エンコーダ11の時刻の基準となるクロック信号を発生するクロック発生手段12と、そのクロック信号に同期してデータの符号化を行う符号化手段13とを含む。
送信処理部14は、処理手段15およびネットワーク接続手段16を含み、エンコーダ11から出力されたデータをネットワーク3上で伝送可能なフォーマットにし、ネットワーク3に出力するものである。処理手段15は、図3示すように、エンコーダ11から出力されるMPEG2データに対して、RTPヘッダ,TCPヘッダ,IPヘッダの各ヘッダを付加する。RTPヘッダは、シーケンス番号、タイムスタンプなどを含む。これにより、MPEG2のデータがIPネットワーク上で伝送可能になる。図2に戻って、ネットワーク接続手段16は、処理手段15で生成されたIPパケットを通信ネットワーク3へ出力するものであり、たとえば、イーサネット(登録商標)(Ethernet(登録商標))カードである。
次に、受信装置2について説明する。受信装置2は、送信装置1からのリアルタイムストリームデータの受信を行うものであり、たとえば、通信機能を備えたテレビや液晶プロジェクタなどである。受信装置2は、ネットワーク3から伝送されたデータを受信する受信処理部21と、受信したデータの復号化を行うデコーダ27とを含む。受信処理部21はネットワーク接続手段22、データ蓄積手段23、データ出力手段24、クロック発生手段25およびカウント手段26を含み、デコーダ27は復号化手段28およびクロック発生手段29を含む。
ネットワーク接続手段22は、受信装置2と通信ネットワーク3を接続するためのものであり、たとえば、イーサネット(登録商標)カードである。送信装置1から送信されたデータはネットワーク接続手段22で受信される。データ蓄積手段23は、ネットワーク接続手段22にて受信したデータをデコーダ27に出力する前に、一時的に蓄積するためのバッファと、バッファ制御するための制御処理機能とを含む。
データ出力手段24は、データ蓄積手段23で蓄積されたデータを、カウント手段26でカウントされるカウント値と受信データに含まれる時刻情報とに基いてデコーダ27に出力する。
クロック発生手段25は、デコーダ27への出力時間を決定するための基準として用いるクロック信号を発生する。カウント手段26は、クロック発生手段25で発生されたクロック信号のパルス数をカウントし、所定の規則に従って調整したカウント値をデータ出力手段24に提供する。
復号化手段28は、データ出力手段24から出力されたデータ(MPEG2)の復号化を行う。クロック発生手段29は、出力されたデータに含まれる時刻情報とデータが入力されたタイミングから受信したデータの再生を行うためのクロック信号を生成し、そのクロック信号を復号化手段28に与える。
次に、受信装置2がリアルタイムデータを受信する際の詳細な動作について説明する。図4に示すように、受信処理部21の各手段は、その内部にそれぞれの手段を機能させるための処理機能を有しており、それぞれが協調して動作することにより受信処理が実現される。
受信処理部21が起動されると、データ蓄積手段23においてデータ受信処理が起動され、カウント手段26においてクロックカウント処理が起動され、データ出力手段24においてバッファリング処理が起動される。データ受信処理とクロックカウント処理は常時実行され、バッファリング処理は、所定の条件になればデータ出力処理を起動し終了される。受信処理部21は、CPU(Central Processing Unit)と、記録媒体とを含んでいる。記録媒体には、上記各処理をCPUに実行させるためのプログラムが格納されている。CPUは、記録媒体からプログラムを読み出して各処理を実行する。
図5は、データ蓄積手段23のデータ受信処理を示すフローチャートである。データ受信処理が起動されると、ステップS1においてデータ蓄積手段23は、ネットワーク接続手段22からパケットを受信したか否かを判定し(S1)、受信したら(S1でYES)次のステップS2に進む。受信していなければ(S1でNO)再度ステップS1の判定処理を行う。ステップS1の判定処理は、パケットを受信するまで続けられる。ステップS2では、受信したパケットのデータを蓄積用のバッファへ書込む。
データは、図6に示すように、バッファの指定された書込位置(buffer_tail)に書き込まれ、バッファの指定された読出位置(buffer_head)から読み出される。図5に戻って、データの書込みが完了したら、ステップS3に進む。ステップS3では、バッファの書込位置(buffer_tail)を1つ進めるとともに、受信したパケットのRTPヘッダのタイムスタンプ値を変数ta_rtp_tsに書込む。ステップS3が終了するとステップS1に戻り、一連の処理を繰り返す。
図7は、データ出力手段24のバッファリング処理を示すフローチャートである。バッファリング処理が起動されると、ステップS11においてデータ出力手段24は、データ蓄積手段23内のバッファに最初のパケットのデータが書き込まれているが、確認がまだであるか否かを判定する。最初のパケットのデータがバッファに書き込まれているが確認がまだである場合は、カウント手段26から取得した現在のカウント値COUNTを変数fr_rtp_ti(最初のパケットの受信時間)に書込み(S12)、最初のパケットのRTPヘッダに含まれるタイムスタンプ値を変数fr_rtp_tsおよび変数he_rtp_ts(バッファの先頭のパケットのタイムスタンプ値)に書込み(S13)、出力開始時間start_tiの算出を行う(S14)。
出力開始時間start_tiは、最初のパケットを受信してから、所定の時間MAX_SAVE経過後に設定する。MAX_SAVEは、通常ネットワーク上で想定される最大のジッタ分の時間が設定される。たとえば、300msecである。ステップS11の判定でNOとなるかステップS14の処理が完了したら、ステップS15に進む。ステップS15では、カウント手段26から取得したカウント値COUNTが出力開始時間start_tiを越えたらバッファリング処理を終了してデータ出力処理へ移り、出力開始時間start_tiになっていなければステップS11に戻り、一連の処理を繰り返す。1度ステップS12からステップS14の処理を完了した後は、最初のパケットの確認は完了したことになるので、ステップS11での判定処理は常にNOになる。
図8は、データ出力手段24のデータ出力処理を示すフローチャートである。データ出力処理が起動されると、ステップS21においてデータ出力手段24は、バッファの先頭位置(buffer_headの位置にあるパケット)をバッファから取り出す。次に、取り出したパケットのRTPのタイムスタンプと、カウント手段26から取得したカウント値COUNTを比較し、取り出したパケットが出力開始時間start_tiになったか否かを確認する(S22)。
出力開始時間start_tiになったら(S22でYES)、取り出したパケットをデコーダ27に書込み(S23)、出力開始時間start_tiになっていなければ、出力開始時間start_tiになるまで、ステップS22の処理を繰り返す。パケットをデコーダ27に書き込んだらバッファからの読出位置(buffer_head)をインクリメントし、先頭のパケットのデータのタイムスタンプ値を変数he_rtp_tsに書込む(S24)。
ステップS24の処理が完了したら、ステップS25においてバッファ補正動作中か否か、すなわちフラグBUF_REVISEがTRUEか否かの判定を行う。フラグBUF_REVISEがTRUEでない場合は、カウント手段26のクロックカウント処理においてバッファのオーバーランを防ぐためにカウントアップの速度が通常よりもアップしている。BUF_REVISEがTRUEであれば(S25でYES)、ステップS21に戻り、FALSEであれば(S25でNO)、バッファ量が所定の閾値(ADJUST_BORDER)を超えているか否かの判定を行う。ここで、バッファ量は、バッファの最後のパケットのタイムスタンプ値(ta_rtp_ts)からバッファの先頭のパケットのタイムスタンプ値he_rtp_tsを減算して算出する。バッファ量が所定の閾値を超えている場合は(S26でYES)、ステップS27においてBUF_REVISEをTRUEに設定してバッファ補正を開始する。超えていない場合(S26でFALSE)は、ステップS21に戻る。
図9および図10は、カウント手段26のクロックカウント処理を示すフローチャートである。クロックカウント処理が起動されると、ステップS31においてカウント手段26は、クロック発生手段25からの基準クロック信号のパルスを取得する。基準クロック信号のパルスを取得したら、ステップS32において、基準クロック信号のパルス数をカウントする変数C0をインクリメントする。
次に、フラグBUF_REVISEのチェックを行い、バッファ補正処理が動作中か否かの判定を行う(S33)。フラグBUF_REVISEがFALSE(S33でNO)であれば、オーバーラン回避のための補正は行われていない状態であり、基準クロックカウント値C0に対する単位時間当たりの調整量total_adjustをS_ADJUSTに設定する(S34)。
この補正は、データ出力手段24による出力開始後にデータ蓄積手段23においてバッファアンダーランが発生するのを防止するために行なわれる。S_ADJUSTは、送信装置1のクロック発生手段12と受信装置2の受信処理部21のクロック発生手段25との誤差の範囲を元に算出される値であり、これにより、カウント手段26のカウントするカウント値COUNTのカウントアップの速度が送信装置1のクロック発生手段12の出力によって得られるカウント値のカウントアップの速度よりも遅くなるように調整される。たとえば、送信装置1のクロック発生手段12の動作クロックがMPEG2の仕様で規定されている27MHz±30ppmで、受信装置2の受信処理部21のクロック発生手段25も同じ27MHz±30ppmであるならば、S_ADJUST=1620以上に設定する必要がある。ステップS34の終了後はステップS38に進む。
一方、BUF_REVISEがTRUE(S33でYES)であれば、オーバーラン回避のための補正の実行が必要となる。まずステップS35において、補正了時刻を表す変数end_adjustがゼロか否かを判定する。end_adjustがゼロの場合は、本ステップが実行される直前にデータ出力処理のステップS26においてバッファ量の補正が必要だと判定されたということであり、現在のバッファの状態から、補正の終了時刻をend_adjustに設定する(S36)。
補正の終了時刻の算出は、例えば、次のように行う。図11に示すように、補正の継続時間をtとし、クロックのアップの速度変化に伴うバッファからの出力速度の変化をΔVとすると、補正を行わない場合と比べた出力量の増加分Dは、D=ΔV×tで与えられる。また、補正時の単位時間当たりのクロックカウントの変化量はB_ADJUSTであるので、ΔV=B_ADUST ×(1タイムスタンプあたりのバイト数)とすることが可能となる。
一方、バッファに残っているデータのバイト数は、(ta_rtp_ts − he_rtp_ts)×(1タイムスタンプあたりのバイト数)で算出可能であるが、補正後アンダーランを起こさないためには、ネットワークジッタを吸収できるだけのデータ、すなわちMAX_SAVE分のデータ残しておけばよい。つまり、図12に示すように、最大でDmax=(ta_rtp_ts − he_rtp_ts − MAX_SAVE)×(1タイムスタンプあたりのバイト数)分のデータをバッファから減少させてもよいことになる。
ここで、補正を行うことによる出力データ量の増加分DがDmaxとなるときが最大の補正継続時間tとなるときであり、ΔV×t=Dより、補正継続時間t=Dmax/ΔVを得る。これによって得られたtを現在時刻に加算することで補正終了時刻の算出を行う。
ステップS35でYESと判定された場合、またはステップS36で終了時間の設定が終わった場合は、ステップS37において基準クロックカウントC0に対する単位時間当たりの調整量total_adjustをS_ADJUST − B_ADJUSTに設定する。
これにより、カウント手段26のカウントするカウント値COUNTのカウントアップの速度が送信装置1のクロック発生手段12の出力によって得られるカウント値のカウントアップの速度よりも速くなるように調整される。たとえば、送信装置1のクロック発生手段12の動作クロックがMPEG2の仕様で規定されている27MHz±30ppmで、受信装置2の受信処理部21のクロック発生手段25も同じ27MHz±30ppmであるならば、B_ADJUST=3240以上に設定する必要がある。
次いでステップS38において、クロックを補正する周期Tを計算する。周期Tは、基準クロックにてカウントされる1秒あたりのカウント数Kを1秒あたりのクロックの調整数total_adjustで除算することによって得られる(T=K/total_adjust)。ステップS39において、基準クロックのカウント値C0を周期Tで割った余りがゼロか否かを判別し、ゼロでない場合はステップS40において補正せずにカウントし(COUNT=COUNT+1)、ゼロの場合はステップS41に進む。
ステップS41では、クロックを速めるのか遅くするのか、すなわちT>0か否かを判別し、T>0でない場合はステップS42においてクロックを通常よりも速く進め(COUNT=COUNT+2)てステップS43に進み、T>0である場合はステップS43に進む。
ステップS43では補正終了時刻になった(COUNT>end_adjustかつBUF_REVISE=TRUE)か否かを判別し、補正終了時刻でない場合はステップS31に戻り、補正終了時刻である場合はステップS44で補正を終了し(end_adjust=0,BUF_REVISE=FALSE)、ステップS31に戻る。
図13は、データ蓄積手段23に含まれる受信バッファのバッファ量の変化を例示するタイムチャートである。図13において、受信データのバッファリングが開始されると、受信バッファのバッファ量は一定の速度で増加する。バッファ量が再生開始位置に到達すると、受信バッファのデータはデコーダ27に出力される。再生開始位置は、従来よりも低くなる。
データの出力速度は、必ずデータの入力速度よりも遅く設定される。したがって、バッファ量が増大する。これを放置するとオーバーランが生じるので、バッファ量がオーバーラン回避のための上限に到達したことに応じてデータの出力速度を所定時間だけ高くする。これにより、バッファ量は下降する。このようにして、バッファ量は上限付近に維持される。
なお、本実施の形態では、クロック発生手段25で生成された一定周波数のクロック信号から得られるカウント値を補正することで、出力速度の制御を行っていたが、例えば、VCO(電圧制御発振器)を用いて、クロック発生手段25の動作周波数を変動させることにより、出力速度の制御を行う例も考えられる。
また、本実施の形態では、補正処理の実行において、単位時間あたりの補正値を固定し、補正の継続時間を算出する例について示したが、補正時間を固定し、補正値を変動させるような例も考えられる。
また、本実施の形態では、受信装置2をテレビとして例示しているが、たとえば、テレビに内蔵される通信制御回路として構成される場合もあるし、テレビとは別個の装置として構成される場合もある。
図14は、そのような受信装置30の外観を示す図である。図14において、この受信装置30は、コンピュータ本体31、ディスプレイ装置32、FD(Flexible Disk)34が装着されるFDドライブ33、キーボード35、マウス36、CD−ROM(Compact Disc-Read Only Memory)38が装着されるCD−ROM装置37、およびネットワーク通信装置39を含む。受信装置30の機能を実現するプログラム(以下、受信プログラムと呼ぶ。)は、FD34またはCD−ROM38等の記録媒体によって供給される。受信プログラムがコンピュータ本体31によって実行されることにより、上述した受信動作が実行される。また、受信プログラムは他のコンピュータより通信回線およびネットワーク通信装置39を経由し、コンピュータ本体31に供給されてもよい。
また、上述の受信装置30において行なわれる受信方法を、プログラムとして提供することもできる。このようなプログラムは、コンピュータ本体31に付属するFD34、CD−ROM38などのコンピュータ読取り可能な記録媒体に記録して、プログラム製品として提供することもできる。あるいは、コンピュータ本体31に内蔵するハードディスクなどの記録媒体に記録させて、プログラムを提供することもできる。また、ネットワークを介したダウンロードによって、プログラムを提供することもできる。
提供されるプログラム製品は、ハードディスクなどのプログラム格納部にインストールされて実行される。なお、プログラム製品は、プログラム自体と、プログラムが記録された記録媒体とを含む。また、記録媒体はFD34、CD−ROM38に限定されるものではなく、磁気テープ、MO(Magnetic Optical disk)、MD(Mini Disc)、DVD(Digital Versatile Disc)、IC(Integrated Circuit)カードなどであってもよい。
今回開示された実施の形態はすべての点で例示であって制限的なものではないと考えられるべきである。本発明の範囲は上記した説明ではなくて特許請求の範囲によって示され、特許請求の範囲と均等の意味および範囲内でのすべての変更が含まれることが意図される。
この発明の一実施の形態によるネットワークシステムの構成を示すブロック図である。 図1に示した送信装置および受信装置の構成を示すブロック図である。 図2に示した処理手段の動作を説明するための図である。 図2に示した受信処理部の動作を説明するためのブロック図である。 図4に示したデータ受信処理を示すフローチャートである。 図4に示したデータ蓄積手段に含まれるバッファを示す図である。 図4に示したバッファリング処理を示すフローチャートである。 図4に示したデータ出力処理を示すフローチャートである。 図4に示したクロックカウント処理を示すフローチャートの一部分である。 図9に示したフローチャートの残りの部分である。 図9に示した補正終了時刻の算出方法を説明するためのタイムチャートである。 図9に示した補正終了時刻の算出方法を説明するための他のタイムチャートである。 図1〜図12に示した受信装置の動作を例示するタイムチャートである。 この実施の形態の変更例を示す図である。 従来のネットワークシステムの構成を示すブロック図である。 従来の他のネットワークシステムの構成を示すブロック図である。 図16に示した受信バッファのバッファ量を例示するタイムチャートである。 図16に示したネットワークシステムの問題点を説明するためのタイムチャートである。
符号の説明
1,51 送信装置、2,30,52,53 受信装置、3 通信ネットワーク、4,5 機器、11 エンコーダ、12,25,29 クロック発生手段、13 符号化手段、14 送信処理部、15 処理手段、16,22 ネットワーク接続手段、21 受信処理部、23 データ蓄積手段、24 データ出力手段、26 カウント手段、27 デコーダ、28 復号化手段、31 コンピュータ本体、32 ディスプレイ装置、33 FDドライブ、34 FD、35 キーボード、36 マウス、37 CD−ROM装置、38 CD−ROM、39 ネットワーク通信装置。

Claims (11)

  1. 送信装置から通信網を介して送信されたデータを受信する受信装置であって、
    受信したデータを順次蓄積するデータ蓄積手段、
    前記データ蓄積手段に蓄積されたデータ量が予め定められた第1の基準値を超えたことに応じて前記データ蓄積手段に蓄積されたデータを順次取出すデータ出力手段、および
    前記データ蓄積手段のデータ量が時間比例して増加するように前記データ出力手段のデータ取出し速度を予め定められた速度に設定し、前記データ蓄積手段のデータ量が前記第1の基準値よりも高い予め定められた第2の基準値を超えた場合は所定の時間だけ前記データ出力手段のデータ取出し速度を高くして前記データ蓄積手段のデータ量を減少させる制御手段を備える、受信装置。
  2. 前記第1の基準値は、前記通信網のジッタを吸収するために必要なデータ量である、請求項1に記載の受信装置。
  3. 前記所定の時間だけ高くされた前記データ出力手段のデータ取出し速度は、前記送信装置のデータ送信速度よりも速い、請求項1または請求項に記載の受信装置。
  4. 前記所定の時間は、前記データ蓄積手段のデータ量と前記第1の基準値との差に応じて長くなる、請求項1から請求項までのいずれかに記載の受信装置。
  5. 前記所定の時間と前記データ出力手段のデータ取出し速度の増加量との積は、前記データ蓄積手段のデータ量と前記第1の基準値との差に等しい、請求項に記載の受信装置。
  6. 前記制御手段は、
    予め定められた周波数のクロック信号を発生するクロック発生手段、
    前記クロック信号のパルス数をカウントし、そのカウント値に基づいてデータの取出しタイミングを決定するカウント手段、および
    前記所定の時間だけ前記カウント手段のカウント値を増加させて前記データの取出しタイミングを早くするカウント値変更手段を含む、請求項1から請求項までのいずれかに記載の受信装置。
  7. 前記予め定められた速度は、前記送信装置のデータ送信速度の誤差範囲と前記クロック信号の周波数の誤差範囲とに基づいて、前記データ蓄積手段のデータ量が増加するように定められている、請求項に記載の受信装置。
  8. 前記制御手段は、
    予め定められた周波数のクロック信号を発生するクロック発生手段、
    前記クロック信号のパルス数をカウントし、そのカウント値に基づいてデータの取出しタイミングを決定するカウント手段、および
    前記所定の時間だけ前記クロック信号の周波数を増加させて前記データの取出しタイミングを早くするクロック変更手段を含む、請求項1から請求項までのいずれかに記載の受信装置。
  9. 前記受信装置が受信するデータは所定のデータ単位ごとにタイムスタンプ値を含み、
    前記データ蓄積手段に蓄積されたデータ量は、蓄積された先頭のデータのタイムスタンプ値と最後尾のデータのタイムスタンプ値との差に基づいて求められる、請求項1から請求項までのいずれかに記載の受信装置。
  10. 送信装置から通信網を介して送信されたデータを受信する受信装置における受信方法をコンピュータに実行させる受信プログラムであって、
    受信したデータを前記受信装置のバッファに順次蓄積する第1のステップ、
    前記バッファに蓄積されたデータ量が予め定められた第1の基準値を超えたことに応じて前記バッファに蓄積されたデータを順次取出す第2のステップ、および
    前記バッファのデータ量が時間比例して増加するように前記第2のステップにおけるデータ取出し速度を予め定められた速度に設定し、前記バッファのデータ量が前記第1の基準値よりも高い予め定められた第2の基準値を超えた場合は所定の時間だけ前記第2のステップのデータ取出し速度を高くして前記バッファのデータ量を減少させる第3のステップを実行させる、受信プログラム。
  11. 請求項1に記載の受信プログラムを記録した、コンピュータ読み取り可能な記録媒体。
JP2004223672A 2004-07-30 2004-07-30 受信装置、受信プログラム、および受信プログラムを記録した記録媒体 Expired - Fee Related JP3881992B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2004223672A JP3881992B2 (ja) 2004-07-30 2004-07-30 受信装置、受信プログラム、および受信プログラムを記録した記録媒体
PCT/JP2005/013494 WO2006011426A1 (ja) 2004-07-30 2005-07-22 受信装置、受信プログラム、および受信プログラムを記録した記録媒体

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2004223672A JP3881992B2 (ja) 2004-07-30 2004-07-30 受信装置、受信プログラム、および受信プログラムを記録した記録媒体

Publications (2)

Publication Number Publication Date
JP2006049941A JP2006049941A (ja) 2006-02-16
JP3881992B2 true JP3881992B2 (ja) 2007-02-14

Family

ID=35786175

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2004223672A Expired - Fee Related JP3881992B2 (ja) 2004-07-30 2004-07-30 受信装置、受信プログラム、および受信プログラムを記録した記録媒体

Country Status (2)

Country Link
JP (1) JP3881992B2 (ja)
WO (1) WO2006011426A1 (ja)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4726227B2 (ja) * 2006-07-14 2011-07-20 株式会社メガチップス バッファフロー制御装置
JP4777224B2 (ja) 2006-12-01 2011-09-21 三菱電機株式会社 データ再生装置及びデータ再生方法
EP1958638A1 (en) 2007-02-14 2008-08-20 Polichem S.A. Use of chitosans to increase nail growth rate
WO2010100837A1 (ja) * 2009-03-06 2010-09-10 日本電気株式会社 通信レート制御方法、送信装置および通信システム
JP5440839B2 (ja) 2009-06-10 2014-03-12 ソニー株式会社 情報処理装置および方法、並びにプログラム
US9179103B2 (en) * 2010-09-28 2015-11-03 Alcatel Lucent System and method for controllably viewing digital video streams captured by surveillance cameras

Family Cites Families (3)

* 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 データ処理装置および方法、並びに記録媒体
JP4350916B2 (ja) * 2001-04-27 2009-10-28 ティーオーエー株式会社 受信装置及び受信再生方法
JP2004173150A (ja) * 2002-11-22 2004-06-17 Mitsubishi Cable Ind Ltd データ処理装置

Also Published As

Publication number Publication date
JP2006049941A (ja) 2006-02-16
WO2006011426A1 (ja) 2006-02-02

Similar Documents

Publication Publication Date Title
EP0602943B1 (en) Apparatus for reproducing multiplexed data from a record medium
US7379657B2 (en) Method for generating additional information for guaranteeing seamless playback between data streams, recording medium storing the information, and recording, editing and/or playback apparatus using the same
CN101207764B (zh) 记录装置、记录方法和再现装置
JP2006186580A (ja) 再生装置およびデコード制御方法
KR100847534B1 (ko) 비디오 프레임의 렌더링 지속시간 결정 장치 및 방법
JP2007266875A (ja) 映像データの処理方法及び無線通信装置
EP1806923B1 (en) Information reproduction device, buffer control method, and program
JP2007501428A (ja) バッファ管理システム、ディジタルオーディオ受信機、ヘッドホン、スピーカ、バッファ管理方法
WO2006011426A1 (ja) 受信装置、受信プログラム、および受信プログラムを記録した記録媒体
US6904089B1 (en) Encoding device and decoding device
JP4511952B2 (ja) メディア再生装置
US20090046994A1 (en) Digital television broadcast recording and reproduction apparatus and reproduction method thereof
KR100534291B1 (ko) 디지털 방송 기록 재생 장치
US6801536B1 (en) Remultiplexing audio/video PES streams from an MPEG transport system
JP3893392B2 (ja) 受信処理装置、受信装置、制御プログラム、および制御プログラムを記録した記録媒体
EP1672910A1 (en) Frame synchronizer, optical disk device, information recording/reproducing apparatus, and signal synchronizing method
JPWO2007004611A1 (ja) 出力回路、制御プログラム製品および制御方法
JP3314700B2 (ja) Mpegデータ転送制御回路
JP2004072217A (ja) データ再生装置
JP4484718B2 (ja) データ受信装置及びデータ受信方法
JP4227604B2 (ja) 動画像再生装置及び記録媒体
JP4893363B2 (ja) ストリームデータ受信再生装置
JP2005158235A (ja) 情報記録装置と情報記録方法
JP4874307B2 (ja) 動画像再生装置及び記録媒体
JP2006050078A (ja) データ転送制御装置及び電子機器

Legal Events

Date Code Title Description
A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20051212

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20060822

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20061113

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

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

Free format text: PAYMENT UNTIL: 20091117

Year of fee payment: 3

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

Free format text: PAYMENT UNTIL: 20101117

Year of fee payment: 4

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

Free format text: PAYMENT UNTIL: 20111117

Year of fee payment: 5

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

Free format text: PAYMENT UNTIL: 20111117

Year of fee payment: 5

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

Free format text: PAYMENT UNTIL: 20121117

Year of fee payment: 6

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

Free format text: PAYMENT UNTIL: 20121117

Year of fee payment: 6

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

Free format text: PAYMENT UNTIL: 20131117

Year of fee payment: 7

LAPS Cancellation because of no payment of annual fees