JP4924605B2 - バッファ制御方法、中継装置、通信システム - Google Patents

バッファ制御方法、中継装置、通信システム Download PDF

Info

Publication number
JP4924605B2
JP4924605B2 JP2008505102A JP2008505102A JP4924605B2 JP 4924605 B2 JP4924605 B2 JP 4924605B2 JP 2008505102 A JP2008505102 A JP 2008505102A JP 2008505102 A JP2008505102 A JP 2008505102A JP 4924605 B2 JP4924605 B2 JP 4924605B2
Authority
JP
Japan
Prior art keywords
buffer
video stream
relay device
frame
video
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
JP2008505102A
Other languages
English (en)
Other versions
JPWO2007105618A1 (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.)
NEC Corp
Original Assignee
NEC 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 NEC Corp filed Critical NEC Corp
Priority to JP2008505102A priority Critical patent/JP4924605B2/ja
Publication of JPWO2007105618A1 publication Critical patent/JPWO2007105618A1/ja
Application granted granted Critical
Publication of JP4924605B2 publication Critical patent/JP4924605B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N7/00Television systems
    • H04N7/14Systems for two-way working
    • H04N7/141Systems for two-way working between two video terminals, e.g. videophone
    • H04N7/148Interfacing a video terminal to a particular transmission medium, e.g. ISDN
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/66Arrangements for connecting between networks having differing types of switching systems, e.g. gateways
    • 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
    • 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/10Architectures or entities
    • H04L65/102Gateways
    • H04L65/1023Media gateways
    • H04L65/103Media gateways in the network
    • 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/10Architectures or entities
    • H04L65/102Gateways
    • H04L65/1033Signalling gateways
    • H04L65/104Signalling gateways in the network
    • 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/1066Session management
    • H04L65/1101Session protocols
    • 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/765Media network packet handling intermediate
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Business, Economics & Management (AREA)
  • General Business, Economics & Management (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
  • Communication Control (AREA)

Description

本発明は、中継装置が備えるバッファを制御するバッファ制御方法に関し、特に、伝送路の状態(帯域やデータ損失、誤り特性)が異なるネットワーク間を介して、映像を伴うテレビ電話やテレビ会議等の通信を行う際において、伝送路の状態の影響による受信側で表示される映像の乱れを最小限とすることを可能とする映像バッファ制御方法に関する。また、本発明は、バッファ制御方法を適用した中継装置及び通信システムに関する。
近年、ADSLや光通信技術を用いること等によるネットワークの高速化に伴い、ネットワークを経由して、パケットを用いて、画像や音声の符号化データを通信することが行われている。例えば、いわゆるVoIP(Voice over IP )やTVoIP(TV over IP)と呼ばれる双方向通信システム及び会議システムが急速に普及してきている。
このような画像や音声の符号化データの通信に用いられる符号化方式には、いくつかの種類がある。例えば動画像の符号化方式として、フレーム間予測に基づいた高能率圧縮によって符号化した符号化データを伝送する方法が多く用いられている。これらのフレーム間予測に基づいた符号化方式では、時間的に前後に位置するフレームから符号化画像を予測する。そして、符号化画像を予測して得られた予測パラメータと予測残差画像データとを符号化することで、時間方向の相関が高い動画像データの情報量を削減する。さらに、予測残差画像データを変換符号化したり量子化したりすることにより、高能率に圧縮符号化することで、少ない伝送帯域での通信を可能としている。
また、第三世代携帯電話では、回線交換(CS)方式でのTV電話サービスの提供をサポートしている携帯電話端末がある。また、これらのTV電話サービスの利用が可能な携帯電話端末と、IPネットワークに接続するTVoIPクライアントとを接続するゲートウェイも存在している。そして、これらの携帯電話端末やゲートウェイを用いて、CS網(回線交換網)とPS網(パケット交換網)とに跨ったリアルタイム通信を行うことが既になされている。
上記のように伝送路の状態(帯域やデータ損失、誤り特性)が異なるネットワーク間でリアルタイム通信を行う場合、双方のネットワークを結ぶ(中継)するために中継装置が用いられる。この場合、中継装置は、ネットワーク上でのジッタを吸収するジッタバッファを備えたり、ジッタを吸収する際の伝送遅延を削減する遅延削減処理を行ったりする。
また、符号化データを中継する中継装置として、例えば、特許文献1には、符号化ストリームから取得した符号化情報を符号化ストリームに挿入する符号化ストリーム中継装置が記載されている。
特開2006−13583号公報(段落0029−0042、図6) H. Schulzrinne, S. Casner, R. Frederick, V. Jacobson,"RTP: A Transport Protocol for Real-Time Applications",RFC 3550,July 2003 ,インターネット<URL: http://www.ietf.org/rfc/rfc3550.txt> TELECOMMUNICATION STANDARDIZATION SECTOR OF ITU ,"ITU-T Recommendation H.223",03/1996
しかしながら、映像ストリームに対し遅延削減処理を施す場合において、現在広く利用されている予測符号化を利用して映像ストリームの符号化を行うと、映像ストリームにおける任意のデータの削減処理を行うことによって、受信側にて再生される映像ストリームの画質が大きく劣化してしまう。且つ、予測符号化を利用して映像ストリームの符号化を行うと、映像が劣化した状態がしばらく継続して画像が再生されてしまうという問題がある。
また、異なるネットワーク間の帯域の違いを吸収するために、符号化データをトランスコードする方法が考えられる。しかし、符号化データをトランスコードするための処理量の増加が著しく、同一装置で多くのストリームを処理しなければなならい場合には適さない。
また、特許文献1に記載された符号化ストリーム中継装置によれば、符号化情報の伝達の仕方にかかわらず、受信端末で受信した符号化ストリームを正常にデコードすることができる。しかし、異なるネットワーク間の伝送路の状態の影響によって受信側で映像の乱れが発生することを防止することはできない。
そこで、本発明は、映像を伴う通信を行う場合に、受信側で表示される映像が伝送路の状態の影響によって劣化することを低減できるバッファ制御方法、中継装置、通信システムを提供することを目的とする。
本発明に係るバッファ制御方法は、中継装置(例えば、中継装置101,401)が備えるバッファ(例えば、映像バッファ208)を制御するバッファ制御方法であって、送信端末(例えば、送信端末102)から受信した映像ストリームを、中継装置のバッファに格納する格納ステップと、中継装置のバッファが格納する映像ストリームのデータ量をセグメント(一部のセグメントがロス又はエラーによりデコードできない場合であっても他のセグメントで独立にデコードできる単位、例えば、フレームやビデオパケット、GOB、スライス、NALユニット)単位に制御するバッファ制御ステップとを含むことを特徴とする。
また、本発明に係るバッファ制御方法は、中継装置が備えるバッファを制御するバッファ制御方法であって、送信端末から映像ストリームを受信する受信ステップと、受信した映像ストリームを、中継装置のバッファに格納する格納ステップと、中継装置のバッファが格納する映像ストリームのデータ量を制御するバッファ制御ステップと、中継装置のバッファから映像ストリームを取り出して、宛先の受信端末(例えば、受信端末103)に送信する送信ステップとを含むものであってもよい。
また、本発明に係るバッファ制御方法は、中継装置が備えるバッファを制御するバッファ制御方法であって、送信端末から映像ストリームを受信する受信ステップと、受信した映像ストリームを、中継装置のバッファに格納する格納ステップと、中継装置のバッファが格納する映像ストリームのデータ量を制御するバッファ制御ステップと、中継装置のバッファから映像ストリームを取り出して、宛先の受信端末に送信する送信ステップとを含み、バッファ制御ステップで、中継装置のバッファが格納する映像ストリームの所定のデータ量を間引く間引き処理を実行するものであってもよい。
また、本発明に係るバッファ制御方法は、バッファ制御ステップで、中継装置のバッファが格納する映像ストリームを破棄し、中継装置のバッファへの映像ストリームの入力を停止し、又は中継装置のバッファから出力する映像ストリームの出力レートを高くすることによって、中継装置のバッファが格納する映像ストリームのデータ量をセグメント単位に制御するものであってもよい。
また、本発明に係るバッファ制御方法は、バッファ制御ステップで、フレーム、ビデオパケット、GOB、スライス又はNALユニットのうちの少なくとも1つを所定の単位として用いて、中継装置のバッファが格納する映像ストリームのデータ量を制御するものであってもよい。
また、本発明に係るバッファ制御方法は、所定の方法で閾値を設定する閾値設定ステップを含み、バッファ制御ステップで、設定した閾値に基づいて、中継装置のバッファが格納する映像ストリームのデータ量を制御するものであってもよい。
また、本発明に係るバッファ制御方法は、バッファ制御ステップで、閾値に基づくバッファ制御として、
(A)前記映像ストリームのデータ量の上限値を閾値として設定し、前記中継装置のバッファ内に蓄積された映像ストリームにデータ量が前記上限値以上となったことを条件として、前記中継装置のバッファへの入力を停止するか、前記中継装置のバッファ内の映像ストリームの少なくとも一部を廃棄するか、又は、前記中継装置のバッファからの映像ビットストリームの出力ビットレートを高くする制御;
(B)前記映像ストリームのデータ量の上限値と下限値を閾値として設定し、前記中継装置のバッファ内に蓄積された映像ストリームにデータ量が前記上限値以上となったことを条件として前記中継装置のバッファの映像ストリームのデータ量が下限値に達するまで前記中継装置のバッファへの入力を停止するか、前記中継装置のバッファからの映像ビットストリームの出力ビットレートを高くする制御を行う制御;
(C)前記映像ストリームのデータ量を間引くための間引き閾値を閾値として設定し、前記中継装置のバッファの映像ストリームのデータ量が間引き閾値に達したことを条件として、前記中継装置のバッファへの所定のデータ量のデータの入力を行わない制御;
のうちの少なくとも1つの制御を用いて、前記中継装置のバッファが格納する映像ストリームのデータ量を制御するものであってもよい。
また、本発明に係るバッファ制御方法は、バッファ制御ステップで、所定のタイミングに基づいて、中継装置のバッファが格納する映像ストリームのデータ量を制御するものであってもよい。
また、本発明に係るバッファ制御方法は、バッファ制御ステップで、所定のタイミングとして、一定時間毎のタイミング、受信パケット数が一定量に達したタイミング、受信映像ストリームのデータ量が一定量に達したタイミング、映像バッファに入力したデータ量が一定量に達したタイミング、又は受信セグメント数が一定量に達したタイミングの少なくとも1つのタイミングに基づいて、中継装置のバッファが格納する映像ストリームのデータ量を制御するものであってもよい。
また、本発明に係るバッファ制御方法は、バッファ制御ステップで、外部装置(例えば、外部装置104)から受信した制御命令に従って、中継装置のバッファが格納する映像ストリームのデータ量を制御するものであってもよい。
また、本発明に係るバッファ制御方法は、映像ストリームに含まれるフレームのフレームタイプを判断するフレームタイプ判断ステップを含み、バッファ制御ステップで、判断したフレームタイプを用いて、中継装置のバッファが格納する映像ストリームのデータ量を制御するものであってもよい。
また、本発明に係るバッファ制御方法は、フレームタイプに基づいて他のフレームから参照されている被参照フレームであるか否かを判断する被参照有無判断ステップを含み、バッファ制御ステップで、フレームタイプを用いたバッファ制御として、フレームが被参照フレームであるか否かの判断結果を用いて、中継装置のバッファが格納する映像ストリームのデータ量を制御するものであってもよい。
また、本発明に係るバッファ制御方法は、被参照フレームからの距離に従いフレームの優先度を設定するステップを含み、バッファ制御ステップで、フレームタイプを用いたバッファ制御として、フレームの優先度を用いて、中継装置のバッファが格納する映像ストリームのデータ量を制御するものであってもよい。
また、本発明に係るバッファ制御方法は、映像ストリームに含まれるスライスのスライスタイプを判断するスライスタイプ判断ステップを含み、バッファ制御ステップで、判断したスライスタイプを用いて、中継装置のバッファが格納する映像ストリームのデータ量を制御するものであってもよい。
また、本発明に係るバッファ制御方法は、映像ストリーム中に含まれるNALユニットの種別を判断する種別判断ステップを含み、バッファ制御ステップで、判断したNALユニットの種別を用いて、中継装置のバッファが格納する映像ストリームのデータ量を制御するものであってもよい。
また、本発明に係るバッファ制御方法は、映像ストリームに含まれるNALユニットが、映像ストリームに含まれる他のNALユニットによって参照されている被参照ユニットであるか否かを判断する被参照有無判断ステップを含み、バッファ制御ステップで、NALユニットが被参照ユニットであるか否かの判断結果を用いて、中継装置のバッファが格納する映像ストリームのデータ量を制御するものであってもよい。
また、本発明に係るバッファ制御方法は、映像ストリームに含まれるマクロブロックのマクロブロックタイプを判断するマクロブロックタイプ判断ステップを含み、バッファ制御ステップで、判断したマクロブロックタイプを用いて、中継装置のバッファが格納する映像ストリームのデータ量を制御するものであってもよい。
本発明に係る中継装置は、映像ストリームの通信を中継する中継装置であって、送信端末から受信した映像ストリームを、当該中継装置のバッファ(例えば、映像バッファ208)に格納させる格納制御手段(例えば、受信データ分離部202によって実現される)と、当該中継装置のバッファが格納する映像ストリームのデータ量をセグメント単位に制御するバッファ制御手段(例えば、映像バッファ制御部207,407によって実現される)とを備えたことを特徴とする。
また、本発明に係る中継装置は、映像ストリームの通信を中継する中継装置であって、送信端末から映像ストリームを受信する受信手段(例えば、受信部201によって実現される)と、受信手段が受信した映像ストリームを、当該中継装置のバッファ(例えば、映像バッファ208)に格納させる格納制御手段(例えば、受信データ分離部202によって実現される)と、当該中継装置のバッファが格納する映像ストリームのデータ量を制御するバッファ制御手段(例えば、映像バッファ制御部207,407によって実現される)と、当該中継装置のバッファから映像ストリームを抽出する抽出手段(例えば、送信データ作成部209によって実現される)と、抽出手段が抽出した映像ストリームを宛先の受信端末に送信する送信手段(例えば、送信部210によって実現される)とを備えたものであってもよい。
また、本発明に係る中継装置は、映像ストリームの通信を中継する中継装置であって、送信端末から映像ストリームを受信する受信手段と、受信手段が受信した映像ストリームを、当該中継装置のバッファに格納させる格納制御手段と、当該中継装置のバッファが格納する映像ストリームのデータ量を制御するバッファ制御手段と、当該中継装置のバッファから映像ストリームを抽出する抽出手段と、抽出手段が抽出した映像ストリームを宛先の受信端末に送信する送信手段とを備え、バッファ制御手段は、中継装置のバッファが格納する映像ストリームの所定のデータ量を間引く間引き処理を実行する間引き手段(例えば、映像バッファ制御部207,407によって実現される)を含むものであってもよい。
また、本発明に係る中継装置において、バッファ制御手段は、中継装置のバッファが格納する映像ストリームを廃棄し、中継装置のバッファへの映像ストリームの入力を停止し、又は中継装置のバッファから出力する映像ストリームの出力レートを高くすることによって、中継装置のバッファが格納する映像ストリームのデータ量をセグメント単位に制御するものであってもよい。
また、本発明に係る中継装置において、バッファ制御手段は、フレーム、ビデオパケット、GOB、スライス又はNALユニットのうちの少なくとも1つを所定の単位として用いて、中継装置のバッファが格納する映像ストリームのデータ量を制御するものであってもよい。
また、本発明に係る中継装置は、所定の方法で閾値を設定する閾値設定手段(例えば、閾値設定部204によって実現される)を備え、バッファ制御手段は、閾値設定手段が設定した閾値に基づいて、中継装置のバッファが格納する映像ストリームのデータ量を制御するものであってもよい。
また、本発明に係る中継装置において、バッファ制御手段は、閾値に基づくバッファ制御として、
(A)前記映像ストリームのデータ量の上限値を閾値として設定し、前記中継装置のバッファ内に蓄積された映像ストリームにデータ量が前記上限値以上となったことを条件として、前記中継装置のバッファへの入力を停止するか、前記中継装置のバッファ内の映像ストリームの少なくとも一部を廃棄するか、又は、前記中継装置のバッファからの映像ビットストリームの出力ビットレートを高くする制御;
(B)前記映像ストリームのデータ量の上限値と下限値を閾値として設定し、前記中継装置のバッファ内に蓄積された映像ストリームにデータ量が前記上限値以上となったことを条件として前記中継装置のバッファの映像ストリームのデータ量が下限値に達するまで前記中継装置のバッファへの入力を停止するか、前記中継装置のバッファからの映像ビットストリームの出力ビットレートを高くする制御を行う制御;
(C)前記映像ストリームのデータ量を間引くための間引き閾値を閾値として設定し、前記中継装置のバッファの映像ストリームのデータ量が間引き閾値に達したことを条件として、前記中継装置のバッファへの所定のデータ量のデータの入力を行わない制御;
のうちの少なくとも1つの制御を用いて、前記中継装置のバッファが格納する映像ストリームのデータ量を制御するものであってもよい。
また、本発明に係る中継装置において、バッファ制御手段は、所定のタイミングに基づいて、中継装置のバッファが格納する映像ストリームのデータ量を制御するものであってもよい。
また、本発明に係る中継装置において、バッファ制御手段は、所定のタイミングとして、一定時間毎のタイミング、受信パケット数が一定量に達したタイミング、受信映像ストリームのデータ量が一定量に達したタイミング、映像バッファへ入力したデータ量が一定量に達したタイミング、又は受信セグメント数が一定量に達したタイミングの少なくとも1つのタイミングに基づいて、中継装置のバッファが格納する映像ストリームのデータ量を制御するものであってもよい。
また、本発明に係る中継装置において、バッファ制御手段は、外部装置から受信した制御命令に従って、中継装置のバッファが格納する映像ストリームのデータ量を制御するものであってもよい。
また、本発明に係る中継装置は、映像ストリームに含まれるフレームのフレームタイプを判断するフレームタイプ判断手段(例えば、セグメント解釈部206によって実現される)を備え、バッファ制御手段は、フレームタイプ判断手段が判断したフレームタイプを用いて、中継装置のバッファが格納する映像ストリームのデータ量を制御するものであってもよい。
また、本発明に係る中継装置は、フレームタイプに基づいて他のフレームから参照されている被参照フレームであるか否かを判断する被参照有無判断手段(例えば、ストリーム解釈部406によって実現される)を備え、バッファ制御手段は、フレームタイプを用いたバッファ制御として、フレームが被参照フレームであるか否かの判断結果を用いて、中継装置のバッファが格納する映像ストリームのデータ量を制御するものであってもよい。
また、本発明に係る中継装置は、被参照フレームからの距離に従いフレームの優先度を設定する優先度設定手段(例えば、ストリーム解釈部406によって実現される)を備え、バッファ制御手段は、フレームタイプを用いたバッファ制御として、フレームの優先度を用いて、中継装置のバッファが格納する映像ストリームのデータ量を制御するものであってもよい。
また、本発明に係る中継装置は、映像ストリームに含まれるスライスのスライスタイプを判断するスライスタイプ判断手段(例えば、セグメント解釈部206によって実現される)を備え、バッファ制御手段は、スライスタイプ判断手段が判断したスライスタイプを用いて、中継装置のバッファが格納する映像ストリームのデータ量を制御するものであってもよい。
また、本発明に係る中継装置は、映像ストリーム中に含まれるNALユニットの種別を判断する種別判断手段(例えば、セグメント解釈部206によって実現される)を備え、バッファ制御手段は、種別判断手段が判断したNALユニットの種別を用いて、中継装置のバッファが格納する映像ストリームのデータ量を制御するものであってもよい。
また、本発明に係る中継装置は、映像ストリームに含まれるNALユニットが、映像ストリームに含まれる他のNALユニットによって参照されている被参照ユニットであるか否かを判断する被参照有無判断手段(例えば、セグメント解釈部206によって実現される)を備え、バッファ制御手段は、被参照有無判断手段によるNALユニットが被参照ユニットであるか否かの判断結果を用いて、中継装置のバッファが格納する映像ストリームのデータ量を制御するものであってもよい。
また、本発明に係る中継装置は、映像ストリームに含まれるマクロブロックのマクロブロックタイプを判断するマクロブロックタイプ判断手段(例えば、セグメント解釈部206によって実現される)を備え、バッファ制御手段は、マクロブロックタイプ判断手段が判断したマクロブロックタイプを用いて、中継装置のバッファが格納する映像ストリームのデータ量を制御するものであってもよい。
本発明に係る通信システムは、映像ストリームの通信を行う通信システムであって、映像ストリームの通信を中継する中継装置を備え、中継装置は、送信端末から受信した映像ストリームを、当該中継装置のバッファに格納させる格納制御手段と、当該中継装置のバッファが格納する映像ストリームのデータ量をセグメント単位に制御するバッファ制御手段とを含むことを特徴とする。
また、本発明に係る通信システムは、映像ストリームの通信を行う通信システムであって、映像ストリームの通信を中継する中継装置を備え、中継装置は、送信端末から映像ストリームを受信する受信手段と、受信手段が受信した映像ストリームを、当該中継装置のバッファに格納させる格納制御手段と、当該中継装置のバッファが格納する映像ストリームのデータ量を制御するバッファ制御手段と、当該中継装置のバッファから映像ストリームを抽出する抽出手段と、抽出手段が抽出した映像ストリームを宛先の受信端末に送信する送信手段とを含むものであってもよい。
本発明に係るバッファ制御プログラムは、中継装置が備えるバッファを制御するためのバッファ制御プログラムであって、コンピュータに、送信端末から受信した映像ストリームを、中継装置のバッファに格納する処理と、中継装置のバッファが格納する映像ストリームのデータ量をセグメント単位に制御する処理とを実行させるためのものである。
また、本発明に係るバッファ制御プログラムは、中継装置が備えるバッファを制御するためのバッファ制御プログラムであって、コンピュータに、送信端末から映像ストリームを受信する処理と、受信した映像ストリームを、中継装置のバッファに格納する処理と、中継装置のバッファが格納する映像ストリームのデータ量を制御する処理と、中継装置のバッファから映像ストリームを取り出して、宛先の受信端末に送信する処理とを実行させるためのものであってもよい。
本発明によれば、送信端末から受信した映像ストリームを、中継装置のバッファに格納する。また、中継装置のバッファが格納する映像ストリームのデータ量をセグメント単位に制御する。バッファ制御をセグメント単位で行うので、中継装置が本来送信すべき映像ストリームの一部を破棄(削減)した場合に、受信端末が受信した映像ストリームに基づいて映像を再生する際の画質の劣化を緩和することができる。従って、映像を伴う通信を行う場合に、受信側で表示される映像が伝送路の状態の影響によって劣化することを低減できる。
また、本発明によれば、バッファ制御をセグメント単位で行うので、伝送路の状態が異なるネットワークを介した映像ストリームの通信を行う場合であっても、符号化データをトランスコードすることなく、受信側で表示される映像が伝送路の状態の影響によって劣化することを低減できる。
バッファ制御方法を用いた通信システムの構成の一例を示すブロック図である。 中継装置の構成の一例を示すブロック図である。 中継装置が中継する映像ストリームのフォーマットの例を示す説明図である。 中継装置が映像バッファを制御するバッファ制御処理の一例を示す流れ図である。 中継装置の構成の他の例を示すブロック図である。 ストリーム解釈部の構成の一例を示すブロック図である。 フレームタイプに基づいてデータの優先度を決定する処理の一例を示す流れ図である。 参照ピクチャであるか否かに基づいてデータの優先度を決定する処理の一例を示す流れ図である。 IntraMBであるか否かに基づいてデータの優先度を決定する処理の一例を示す流れ図である。
符号の説明
101 中継装置
102 送信端末
103 受信端末
104 外部装置
105,106,107 伝送路
201 受信部
202 受信データ分離部
203 命令受信部
204 閾値設定部
205 タイミング生成部
206 セグメント解釈部
207 映像バッファ制御部
208 映像バッファ
209 送信データ作成部
210 送信部
実施の形態1.
以下、本発明の第1の実施の形態について図面を参照して説明する。本発明による映像バッファ制御方法(バッファ制御方法)は、端末から送信される映像ストリームを中継する中継装置に適用される。また、バッファ制御方法は、異なるネットワークを介した通信を中継装置を用いて中継する通信システムに適用される。
また、本実施の形態において、端末から送信される映像ストリームを中継する中継装置は、端末から送信される映像ストリームを受信する手段と、受信した映像ストリームを映像バッファに格納する手段と、バッファ内のデータ量を制御する手段とを備える。
また、中継装置は、所定の単位でバッファ内のデータ量を制御する手段を備えてもよい。この場合、中継装置は、所定の単位として、(1) フレーム、(2) ビデオパケット、(3) GOB(Group Of Blocks )、(4) スライス、又は(5) NAL(Network Abstraction Layer )ユニット等の映像ストリーム固有のセグメントのうちの少なくとも1つを用いる手段を備えてもよい。
また、中継装置は、所定の方法で閾値を設定する手段と、設定した閾値に基づいてバッファ内のデータ量を制御する手段とを備えてもよい。また、中継装置は、所定のタイミングに基づいてバッファ内のデータ量を制御する手段を備えてもよい。また、中継装置は、外部装置からの命令に従ってバッファ内のデータ量を制御する手段を備えてもよく、映像バッファから映像ストリームを取り出して中継先の端末に送信する。
まず、バッファ制御方法を用いた通信システムの構成を図面を参照して説明する。図1は、バッファ制御方法を用いた通信システムの構成の一例を示すブロック図である。図1に示すように、通信システムは、中継装置101と、映像ストリームを送信する送信端末102と、送信端末102から送信された映像ストリームを受信する受信端末103と、映像キュー制御命令を送信する外部装置104とを含む。
また、図1に示すように、中継装置101と送信端末102とは、伝送路105を介して接続される。また、中継装置101と受信端末103とは、伝送路106を介して接続される。また、中継装置101と外部装置104とは、伝送路107を介して接続される。なお、伝送路105〜107は、有線又は無線によるIP(Internet Protocol )を用いたネットワーク、又は回線交換網によって実現される。
なお、本実施の形態では、送信端末102と受信端末103とは、それぞれ伝送路の状態(帯域やデータ損失、誤り特性)が異なるネットワークに接続されている。例えば、図1に示す例では、伝送路105と伝送路106とは、帯域やデータ損失、誤り特性が異なる。
また、図1では、送信端末102が1台である場合を示しているが、通信システムは、複数台の送信端末102を含んでもよい。また、図1では、受信端末103が1台である場合を示しているが、通信システムは、複数台の受信端末103を含んでもよい。また、送信端末102は、映像ストリームを送信するだけでなく、映像ストリームを受信する機能を備えてもよい。また、受信端末103は、映像ストリームを受信するだけでなく、映像ストリームを送信する機能を備えてもよい。さらに、外部装置104は、送信端末102又は受信端末103と同じ装置によって実現されてもよい。
送信端末102は、具体的には、携帯電話機やPDA等の情報処理端末によって実現される。また、送信端末102は、例えば、パーソナルコンピュータ等の端末であってもよい。送信端末102は、伝送路105を介して映像ストリームを送信する機能を備える。例えば、送信端末102は、テレビ電話やテレビ会議を行う際に、ユーザの操作に従って、伝送路105を介して、映像ストリームを含むデータを送信する。
受信端末103は、具体的には、携帯電話機やPDA等の情報処理端末によって実現される。また、受信端末103は、例えば、パーソナルコンピュータ等の端末であってもよい。受信端末103は、伝送路106を介して映像ストリームを受信する機能を備える。また、受信端末103は、受信した映像ストリームに基づいて、液晶表示部等の表示部に映像を表示する機能を備える。例えば、受信端末103は、テレビ電話やテレビ会議を行う際に、ユーザの操作に従って、伝送路106を介して、映像ストリームを含むデータを受信し、液晶表示部において映像を再生する。
外部装置104は、具体的には、ワークステーションやパーソナルコンピュータ等の情報処理装置によって実現される。外部装置104は、例えば、中継装置101を管理する通信キャリアやプロバイダによって運営される。外部装置104は、中継装置101が備えるバッファを制御するための制御命令を、伝送路107を介して中継装置101に送信する機能を備える。なお、外部装置104は、送信端末102又は受信端末103と同じ装置(例えば、ユーザ端末)によって実現される場合には、携帯電話機やPDA等の端末であってもよい。
中継装置101は、具体的には、ゲートウェイ等の通信制御装置によって実現される。また、中継装置101は、通信を中継するための通信中継プログラムに従って処理を実行するワークステーションやパーソナルコンピュータ等の情報処理装置であってもよい。図2は、中継装置の構成の一例を示すブロック図である。中継装置101は、図2に示すように、受信部201、受信データ分離部202、命令受信部203、閾値設定部204、タイミング生成部205、セグメント解釈部206、映像バッファ制御部207、映像バッファ208、送信データ作成部209及び送信部210を含む。
受信部201は、送信端末102から、伝送路105を介して、映像ストリームを含むデータを受信する機能を備える。受信データ分離部202は、受信データから映像ストリームを分離して、映像ストリームを抽出する機能を備える。また、受信データ分離部202は、分離した映像ストリームを映像バッファ208に格納させる機能を備える。
命令受信部203は、伝送路107を介して、外部装置104からの命令を受信する機能を備える。閾値設定部204は、バッファ制御に用いる閾値を設定する機能を備える。タイミング生成部205は、バッファ制御をするタイミングを設定し、タイミング情報を生成する機能を備える。セグメント解釈部206は、受信データ分離部202から映像ストリームを受け取り、映像ストリーム内のセグメントを解釈(解析)する機能を備える。
映像バッファ制御部207は、映像バッファ208の制御を行う機能を備える。本実施の形態では、映像バッファ制御部207は、映像バッファ208が格納する映像ストリームを削除する等の処理を行うことによって、映像バッファ208の制御を行う。この場合、映像バッファ制御部207は、命令受信部203が外部装置104から受信した制御命令に基づいて、映像バッファ208の制御を行う。また、映像バッファ制御部207は、閾値設定部204が設定した閾値に基づいて、映像バッファ208の制御を行う。また、映像バッファ制御部207は、タイミング生成部205が設定したタイミングに基づいて、映像バッファ208の制御を行う。また、映像バッファ制御部207は、セグメント解釈部206の解析結果に基づいて、映像バッファ208の制御を行う。
映像バッファ208は、受信データ分離部202が分離して得られた映像ストリームを格納する機能を備える。送信データ作成部209は、映像バッファ208内の映像ストリームに基づいて、伝送路106を用いて通信可能な形式の送信データを作成する機能を備える。送信部210は、送信データ作成部209が作成した送信データを、伝送路106を介して受信端末103に送信する機能を備える。
なお、受信部201で受信するデータのフォーマットは、伝送路105で用いられる通信プロトコルに依存した伝送フォーマットとする。また、送信部210で送信するデータのフォーマットは、伝送路106で用いられる通信プロトコルに依存した伝送フォーマットとする。ここでいう伝送フォーマットとは、例えば、IP網におけるRTPフォーマットや、回線交換網におけるH.223フォーマット等の映像ストリームを伝送する際に用いられるフォーマットのことである。
なお、上記に示したRTPフォーマットは、例えば、非特許文献1「H. Schulzrinne, S. Casner, R. Frederick, V. Jacobson,”RTP: A Transport Protocol for Real-Time Applications”,RFC 3550,July 2003 ,インターネット<URL: http://www.ietf.org/rfc/rfc3550.txt>」に記載されている。また、上記に示したH.223フォーマットは、例えば、非特許文献2「TELECOMMUNICATION STANDARDIZATION SECTOR OF ITU ,”ITU-T Recommendation H.223”,03/1996 」に記載されている。
また、中継装置101が情報処理装置によって実現される場合、中継装置101の記憶装置は、異なるネットワークを介した映像ストリームの通信を中継するための各種プログラムを記憶している。例えば、中継装置101の記憶装置は、コンピュータに、送信端末から受信した映像ストリームを、中継装置のバッファに格納する処理と、中継装置のバッファが格納する映像ストリームのデータ量をセグメント単位に制御する処理とを実行させるためのバッファ制御プログラムを記憶している。
次に、中継装置101で中継される映像ストリームのフォーマットを説明する。図3は、中継装置101が中継する映像ストリームのフォーマットの例を示す説明図である。図3に示すように、映像ストリームは、複数のフレーム30−1〜30−nで構成されるものとする。図3において、VPは、MPEG4におけるビデオパケットを示す。図3に示すように、フレーム30−1は、複数のVP31−1〜31−mで構成される。なお、フレーム30−1は、複数のVP31−1〜31−mで構成されるものに限られず、VP単位で区切られていないものであってもよい。また、フレーム30−2〜30−nもフレーム30−1と同様に、複数のVPで構成されていてもよく、VP単位で区切られていないものであってもよい。
なお、本実施の形態では、MPEG4方式で符号化した映像ストリームを通信する場合を説明するが、バッファ制御方法は、特定の符号化方式に限定されるものではなく、例えば、MPEG1やMPEG2等の方式を用いて符号化した映像ストリームの通信を行う通信システムに適用されてもよい。また、映像ストリームに含まれるフレームは、VP単位に区分される場合に限らず、例えば、H.263におけるGOBやスライス等の映像符号化方式固有の単位で区分されてもよい。また、例えば、フレームは、H.264におけるNALユニットやスライス等の映像符号化方式固有の単位で区分されてもよい。
次に、動作について説明する。図4は、中継装置101が映像バッファ208を制御するバッファ制御処理の一例を示す流れ図である。送信端末102のユーザは、受信端末103のユーザとテレビ電話やテレビ会議を行う場合、送信端末102を操作して映像ストリームの送信の指示操作を行う。送信端末102は、ユーザの操作に従って、伝送路105を介して、映像ストリームを含むデータを中継装置101に送信する。
まず、中継装置101が映像ストリームを受信して映像バッファ208に格納するまでの動作を説明する。中継装置101の受信部201は、送信端末102から、伝送路105を介して、少なくとも映像ストリームを含む受信データを受信する(ステップS11)。すると、受信データ分離部202は、伝送路105で用いられる伝送フォーマットに基づいて、受信データから映像ストリームを分離して、映像ストリームを抽出する(ステップS12)。また、受信データ分離部202は、分離した映像ストリームを映像バッファ208に格納させる(ステップS13)。以上の処理に従って、中継装置101の映像バッファ208に映像ストリームが順次格納される。
次に、中継装置101が映像バッファ208を制御する動作を説明する。中継装置101の命令受信部203は、所定のタイミングで、外部装置104から、伝送路107を介して制御命令を受信する(ステップS14)。そして、映像バッファ制御部207は、命令受信部203が受信した制御命令に従って、映像バッファ208が格納する映像ストリームを破棄(削除)する(ステップS15)。
また、本実施の形態では、中継装置101の閾値設定部204は、予め所定の閾値を設定している。この場合、映像バッファ制御部207は、ステップS15において、閾値設定部204が設定した閾値に従って、映像バッファ208が格納する映像ストリームを破棄(削除)する。
また、本実施の形態では、中継装置101のタイミング生成部205は、予め所定のタイミングを設定している。この場合、映像バッファ制御部207は、ステップS15において、タイミング生成部205が設定したタイミングに従って、映像バッファ208が格納する映像ストリームを破棄(削除)する。
また、本実施の形態では、中継装置101のセグメント解釈部206は、映像ストリームを受信した際に、映像ストリームに含まれるセグメントを解析している。この場合、映像バッファ制御部207は、ステップS15において、セグメント解釈部206が解析したセグメントに従って、映像バッファ208内の映像ストリームをセグメント単位に破棄(削除)する。
なお、映像バッファ制御部207は、外部装置104からの制御命令、閾値、タイミング、及びセグメントの解析結果の全てに従って映像バッファ208を制御するのでなく、外部装置104からの制御命令、閾値、タイミング、及びセグメントの解析結果のうちのいずれか1つ又は複数に従って、映像バッファ208を制御してもよい。この場合、例えば、中継装置101は、命令受信部203を含まず、通信システムは、制御命令を送信する外部装置104を含まなくてもよい。また、例えば、中継装置101は、閾値設定部204を含まなくてもよい。また、例えば、中継装置101は、タイミング生成部205を含まなくてもよい。
また、映像バッファ制御部207は、映像バッファ208が格納する映像ストリームのうちの一部のストリームを破棄してもよく、全ての映像ストリームを破棄してもよい。
次に、中継装置101が映像バッファ208に格納する映像ストリームを送信する動作を説明する。中継装置101の送信データ作成部209は、映像バッファ208が格納する映像ストリーム(ステップS15で破棄されずに映像バッファ208に残った映像ストリーム)を、伝送路106で用いられる伝送フォーマットに加工し、送信データを作成する(ステップS16)。そして、送信部210は、送信データ作成部209が作成した送信データを、伝送路106を介して受信端末103に送信する(ステップS17)。また、受信端末103は、中継装置101から受信したデータに含まれる映像ストリームに基づいて、表示部に映像を表示する。
なお、映像バッファ208に映像ストリームを格納したり、映像バッファ208内のデータを破棄したりする処理は、具体的には、映像バッファ208への入力を停止したり、映像バッファ208からデータを出力する出力ビットレートを高くしたりすることで実現することができる。
次に、外部装置104から送信される制御命令について説明する。外部装置104から送信される制御命令は、中継装置101内の映像バッファ208を外部から操作したい時に、外部装置104から中継装置101に送信される。そして、命令受信部203を介して、中継装置101内の閾値設定部204、タイミング生成部205、セグメント解釈部206及び映像バッファ制御部207の各々のモジュールに転送される。
例えば、送信端末102が通信システム内の他の送信端末に切替られた時に、切替前の過去の送信端末102の映像ストリームが送信されないように、映像バッファ208からバッファ内をクリアする(映像ストリームを削除する)ための制御命令が、外部装置104から送信される。そして、命令受信部203を介して映像バッファ制御部207に渡される。また、例えば、転送により受信端末103が通信システム内の他の受信端末に変更された時に、映像バッファ208から映像ストリームを削除するための制御命令が、外部装置104から送信される。
また、送信端末102から送信される映像ストリームのビットレートやフレームレートが急激な変化をする場合、又は既に変化した場合に、そのビットレートやフレームレートの変化に合わせて、映像バッファサイズを増減させる制御命令が、外部装置104から送信されてもよい。そして、命令受信部203を介して制御命令が映像バッファ制御部207に渡されてもよい。また、そのビットレートやフレームレートの変化に合わせた閾値に変更する制御命令が、閾値設定部204に渡されてもよい。また、そのビットレートやフレームレートの変化に合わせたバッファ制御タイミングに変更する制御命令が、タイミング生成部205に渡されてもよい。また、そのビットレートやフレームレートの変化に合わせたセグメントに制御変更する命令が、セグメント解釈部206に渡されてもよい。また、これら4つの制御命令は独立に単独で送信されてもよく、複数の制御命令が同時に発行されてもよい。
また、送信端末102から送信される映像ストリームがMPEG4で符号化されたストリームからH.263で符号化されたストリームに変わった時に、映像バッファ208内の映像ストリームをクリア(削除)する制御命令を映像バッファ制御部207に渡してもよい。そして、変更する映像ストリームに合わせたセグメントを解釈(解析)するようにセグメント解釈部206に制御命令が転送されてもよい。なお、MPEG4及びH.263以外の方式で符号化されたストリームに変更する場合も同様である。
次に、閾値設定部204が設定する閾値について説明する。閾値設定部204は、予めメモリ等の記憶装置に記憶する設定ファイルの設定内容に従って、閾値を設定してもよい。また、閾値設定部204は、中継装置101に接続された所定の設定端末(例えば、パーソナルコンピュータ等の端末)から入力される設定情報に従って、閾値を設定してもよい。
閾値設定部204は、例えば、映像バッファ208内に溜まる(蓄積可能な)映像ストリームのデータ量の上限値を閾値として設定する。この場合、上限値以上の映像ストリームがバッファ208内に溜まったと判断すると、映像バッファ制御部207は、映像バッファ208内の映像ストリームの一部又は全てを破棄(削除)させる。又は、映像バッファ制御部207は、映像バッファ208への入力を停止したり、映像バッファ208からの出力ビットレートを高くしたりする。
また、閾値設定部204は、例えば、映像バッファ208内に溜まる映像ストリームのデータ量の上限値及び下限値の2値を閾値として設定してもよい。この場合、上限値以上の映像ストリームがバッファ208内に溜まったと判断すると、映像バッファ制御部207は、映像バッファ208への映像ストリームの入力を、映像バッファ208が蓄積する映像ストリームのデータ量が下限値に達するまで行わないように制御する。又は、映像バッファ制御部207は、映像バッファ208からの映像ストリームの出力ビットレートを、映像バッファ208が蓄積する映像ストリームのデータ量が下限値に達するまで高くなるように制御してもよい。
また、閾値設定部204は、映像ストリームの入力ビットレートやフレームレートを独自に計算したり、命令受信部203を介して外部装置104から受け取ることにより、入力ビットレートやフレームレートを取得してもよい。この場合、閾値設定部204は、取得したビットレートやフレームレートが瞬間的に高い時には、一旦映像バッファ208が蓄積する映像ストリームのデータ量の上限値を大きくしてもよい。
さらに、閾値設定部204は、映像バッファ208に映像ストリームが入力される際に、所定の時間(例えば、分、秒、ミリ秒等)に入力される映像ストリームのデータ量、又はデータ量の微分値を計算してもよい。そして、閾値設定部204は、その求めたデータ量や微分値と比較するための値を閾値に設定してもよい。この場合、例えば、入力ビットレートの微分値が大きい場合、閾値設定部204は、映像バッファ208の上限値を大きくしてもよい。又は、映像バッファ208からデータが溢れてしまうことを防止するために、バッファ量が上限値に達する前に映像ストリームの入力を停止する等の制御を行ってもよい。
例えば、映像バッファ208内のデータを間引くための間引き閾値を設け、バッファ量が間引き閾値に達した時に所定のデータ量をバッファ制御(例えば、映像バッファ208への所定のデータ量のデータの入力を行わない)してもよい。すなわち、映像バッファ制御部207は、映像バッファ208が格納する映像ストリームの所定のデータ量を間引く間引き処理を実行するようにしてもよい。また、この間引き閾値を複数設けてもよく、例えば、バッファ量の3分の1の地点で(第1の間引き閾値に達した時に)1フレーム分のデータ量をバッファ制御し、バッファ量の3分の2の地点で(第2の間引き閾値に達した時に)2フレーム分のデータ量をバッファ制御してもよい。
次に、タイミング生成部205が所定のタイミング(以下、バッファ制御タイミングともいう)を設定し、タイミング情報を生成する動作について説明する。「バッファ制御タイミング」は、映像バッファ制御部207が、映像バッファ208の内部を見に行き(映像バッファ208が記憶する映像ストリームを確認し)、バッファ制御を行うためのタイミングである。
タイミング生成部205は、予めメモリ等の記憶装置に記憶する設定ファイルの設定内容に従って、バッファ制御タイミングを設定してもよい。また、タイミング生成部205は、中継装置101に接続された所定の設定端末から入力される設定情報に従って、ある一定のタイミングをバッファ制御タイミングとして設定してもよい。
また、タイミング生成部205は、受信部201がデータ受信したタイミングを、バッファ制御タイミングとしてもよい。また、タイミング生成部205は、命令受信部203から制御命令を受信したタイミングを、バッファ制御タイミングとしてもよい。
また、タイミング生成部205は、映像バッファ208が蓄積するデータ量に比べ、受信データ分離部202からの映像ストリームのデータ量が少ない時や、映像ストリームの受信頻度が低い時に、バッファ制御タイミングを遅らせるように設定してもよい。また、タイミング生成部205は、逆に受信データ分離部202からの映像ストリームのデータ量が多い時や、映像ストリームの受信頻度が高い時に、バッファ制御タイミングを早めるように設定してもよい。ここでのタイミングとは、例えば一定時間毎といった時間情報によるタイミングでもよく、受信パケット数が一定量に達したタイミングや、受信映像ストリームのデータ量が一定量に達したタイミング、映像バッファに入力したデータ量が一定量に達したタイミングでもよい。また、次に示すセグメント解釈部206と連動し、受信フレーム数が一定量に達したタイミングや受信映像符号化方式固有のセグメント数が一定量に達したタイミング等でもよい。
次に、セグメント解釈部206が行うセグメント解釈(映像ストリームに含まれるセグメントの解析処理)について説明する。本実施の形態では、解析対象のセグメントとして、フレームと、フレームをさらに分割した映像符号化方式固有の単位(例えば、ビデオパケットやGOB、スライス、NALユニット)との2種類を想定する。この場合、セグメント解釈部206は、例えば、セグメントの解析処理を行うことによって、映像ストリームをフレーム単位に区切ることができるか、映像ストリームを映像符号化方式固有の単位で区切ることができるかを特定する。
本実施の形態では、セグメントとしての映像符号化方式固有の単位は、フレームを分割したものであって、映像ストリーム中の一部のセグメントがパケットロスやビットエラーによりデコードできない場合であっても、映像ストリーム中の他のセグメントが独立にデコードできる単位である。
セグメント解釈部206は、セグメント解釈の方法として、例えば、映像ストリーム中からセグメント区切りを示すスタートコードを探す方法を用いて、映像ストリーム中のセグメントを特定する。また、セグメント解釈部206は、例えば、伝送フォーマットからセグメント区切りを判別する方法を用いて、映像ストリーム中のセグメントを特定してもよい。また、セグメント解釈部206は、例えば、映像ストリーム固有のセグメント解釈方法を用いて、映像ストリーム中のセグメントを特定してもよい。
以下、セグメントの単位としてMPEG4におけるビデオパケット(VP)を用いる場合を説明する。なお、セグメントとして他の映像符号化方式固有の単位(例えば、GOBやスライス、NALユニット)を用いる場合も同様である。
まず、セグメント解釈部206は、予め設定された初期値、又は命令受信部203から受信した制御命令に従って、いずれのセグメント(フレーム又はビデオパケット)を解釈するかを決定する。中継装置101は、ここでセグメント解釈部206が解釈したセグメントを、映像バッファ208への映像ストリームの入力や、映像バッファ208内の映像ストリームの破棄を行う際の単位として用いる。
フレーム単位でバッファ制御を行うと、受信端末103で受信する映像のフレーム数が減少し、フレームレートが低下する。例えば、図3に示すフレーム30−3がフレーム間予測を行って送信端末102から送信された場合、1つ前のフレーム30−2がバッファ制御により破棄され受信端末103に送信されないと、参照フレームにずれが生じてしまう。そのため、フレーム30−3のデコードの際に参照されるフレームが、2つ前のフレーム30−1になり、受信端末103で再生される画像の画質劣化につながる。しかし、動きの少ない映像(フレーム間の変化が少ない映像)の場合には、参照フレームのずれによる画質劣化は少ない。そのため、動きが少ない映像の場合には、セグメントとしてフレーム単位でバッファ制御を行うことによって、受信端末103で再生される画像の画質劣化を低減することができる。
一方、VP単位でバッファ制御を行うと、受信端末103で受信する映像のフレームレートは変わらず、受信できたVPは正常にデコードできる。例えば、図3に示すVP31−2がバッファ制御により破棄され受信端末103に送信されなかった場合であっても、フレーム30−1を構成する他のVP31−1,31−3〜31−mは正常にデコードされる。この場合、フレーム中のVP31−2部分のデコード処理は、受信端末103のデコーダの精度に依存する。そのため、受信端末103のデコーダの精度により、セグメントとしてビデオパケット単位でバッファ制御を行うことによって、受信端末103で再生される画像の画質劣化を低減することができる。
次に、セグメント単位ではなく、ある一定のバイト量の単位でバッファ制御を行う場合を考える。例えば、バッファ制御によりフレーム30−1の末尾付近とフレーム30−2の先頭付近とを破棄したとする。この場合、受信端末103は、フレーム30−1については、先頭部分から破棄される寸前の部分までの内容を正常にデコードできる。一方、受信端末103は、フレーム30−2については、先頭部分が破棄されてしまっているので(例えば、ヘッダ部分が破棄されてしまっているので)、次のVP又はフレームの部分まで正常にデコードすることができない。
同様に、バッファ制御によりVP31−5の末尾付近とVP31−6の先頭付近を破棄したときも、受信端末103は、次のVP又はフレームの部分まで正常にデコードすることができない。このように、セグメント単位でなく一定のバイト量単位でバッファ制御を行うと、受信しても正常にデコードできないデータを大量に受信端末B103に送信することになり、受信端末103で再生される画像の画質劣化を引き起こす原因となる。本実施の形態では、映像バッファ制御をセグメント単位で行うことにより、受信端末103で再生される画像の画質劣化を緩和することができる。
映像バッファ制御部207は、命令受信部203、閾値設定部204、タイミング生成部205、及びセグメント解釈部206からの情報を受けて、映像バッファ208内の映像ストリームを制御する。
以上のように、本実施の形態によれば、中継装置101は、送信端末102から受信した受信データから分離した映像ストリームを、映像バッファ208に格納する。また、中継装置101は、映像ストリームに含まれるセグメントを解析し、セグメントの解析結果に基づいて、映像バッファ208が格納する映像ストリームのデータ量をセグメント単位に制御する。バッファ制御をセグメント単位で行うので、中継装置101が本来送信すべき映像ストリームの一部を破棄(削減)した場合に、受信端末103が受信した映像ストリームに基づいて映像を再生する際の画質の劣化を緩和することができる。従って、映像を伴う通信を行う場合に、受信側で表示される映像が伝送路の状態の影響によって劣化することを低減できる。
また、本実施の形態によれば、バッファ制御をセグメント単位で行うので、伝送路の状態が異なるネットワークを介した映像ストリームの通信を行う場合であっても、符号化データをトランスコードすることなく、受信側で表示される映像が伝送路の状態の影響によって劣化することを低減できる。
実施の形態2.
次に、本発明の第2の実施の形態を図面を参照して説明する。本実施の形態では、映像バッファ制御方法(バッファ制御方法)を用いた中継装置は、第1の実施の形態で示した構成要素に加えて、映像ストリーム中に含まれる映像ストリーム情報を特定する手段を備える。
また、中継装置は、映像ストリーム情報として、(1)フレームタイプ、(2)スライスタイプ、(3)NALユニットの種別、(4)NALユニットの被参照の有無、又は(5)マクロブロックタイプのうちの少なくとも1つを用いる手段を備える。また、中継装置は、特定した映像ストリーム情報を用いてデータ量を制御する手段を備え、映像バッファから映像ストリームを取り出して中継先の端末に送信する。
まず、バッファ制御方法を用いた通信システムの構成を図面を参照して説明する。本実施の形態において、通信システムの基本的構成は、第1の実施の形態で示した構成(図1参照)と同様である。本実施の形態では、中継装置401の機能が、第1の実施の形態で示した中継装置101の機能と異なる。
図5は、中継装置の構成の他の例を示すブロック図である。図5に示すように、本実施の形態では、中継装置401は、図2で示した中継装置101のセグメント解釈部206に代えてストリーム解釈部406を含む点で、第1の実施の形態と異なる。また、本実施の形態では、映像バッファ制御部407の機能が、図2で示した映像バッファ制御部207の機能と異なる。
本実施の形態において、中継装置401は、第1の実施の形態で示した中継装置101に、映像ストリーム情報を用いてバッファ制御する手段(ストリーム解釈部406及び映像バッファ制御部407)を追加したものに相当する。なお、受信部201、受信データ分離部202、命令受信部203、閾値設定部204、タイミング生成部205、映像バッファ208、送信データ作成部209及び送信部210の機能は、第1の実施の形態で示したそれらの機能と同様である。
ストリーム解釈部406は、セグメント解釈(セグメントの解析)を行うとともに、映像ストリームからセグメント情報を取得(抽出)する機能を備える。
映像バッファ制御部407は、映像バッファ208の制御を行う機能を備える。この場合、映像バッファ制御部407は、第1の実施の形態で示した映像バッファ制御部207と同様に、命令受信部203が外部装置104から受信した制御命令に基づいて、映像バッファ208の制御を行う。また、映像バッファ制御部407は、第1の実施の形態で示した映像バッファ制御部207と同様に、閾値設定部204が設定した閾値に基づいて、映像バッファ208の制御を行う。また、映像バッファ制御部407は、第1の実施の形態で示した映像バッファ制御部207と同様に、タイミング生成部205が設定したタイミングに基づいて、映像バッファ208の制御を行う。また、映像バッファ制御部407は、第1の実施の形態で示した映像バッファ制御部207の機能に加えて、ストリーム解釈部406が解析したセグメントと、ストリーム解釈部406が抽出したセグメント情報とを受け取り、映像バッファ制御部207のバッファ制御を行う。
図6は、ストリーム解釈部406の構成の一例を示すブロック図である。ストリーム解釈部406は、図6に示すように、セグメント解釈部206及びセグメント情報取得部501を含む。セグメント解釈部206は、第1の実施の形態で示した中継装置101が含むセグメント解釈部206と同様に、映像ストリーム内のセグメントを解釈(解析)する機能を備える。セグメント情報取得部501は、セグメント解釈部206が解釈したセグメント(映像ストリームに含まれるセグメント)から、セグメント固有の情報(セグメント情報)を取得(抽出)する機能を備える。
次に、動作について説明する。本実施の形態において、中継装置401は、図4に示したバッファ制御処理と同様の処理に従って、送信端末102から映像ストリームを受信して映像バッファ208に格納し、映像バッファ208を制御し、映像バッファ208に格納する映像ストリームを受信端末103に送信する。
また、ストリーム解釈部406のセグメント解釈部206は、映像ストリームを受信した際に、受信データ分離部202から映像ストリームを入力すると、第1の実施の形態で示したセグメント解釈部206と同様に、フレーム単位、又はフレームを分割した映像符号化方式固有の単位に、セグメントを解釈する。また、セグメント解釈部206は、解釈したセグメントを、セグメント情報取得部501に送る(出力する)。
セグメント情報取得部501は、セグメント解釈部206からのセグメントの解析結果に基づいて、セグメント情報を取得(抽出)する。また、セグメント情報取得部501は、得られたセグメント情報を映像バッファ制御部407に出力する。そして、映像バッファ制御部407は、ストリーム解釈部406から入力したセグメント情報を、バッファ制御に用いる。
まず、フレーム単位でセグメントを解釈した場合を考える。この場合、セグメント情報取得部501は、ストリームの先頭のヘッダ部分を解析したり、伝送フォーマットを解析したりすること等により、セグメント情報としてフレームタイプを得る(抽出する)。また、映像バッファ制御部407は、セグメント情報取得部501が判断したフレームタイプを用いて、映像バッファ208を制御する。そのため、フレームタイプを判断するために増加する処理量を、小さく抑えることができる。
また、フレーム単位でセグメントを解析した場合、ストリーム解釈部406は、抽出したフレームタイプによりバッファ制御におけるデータの優先度を定める。そして、映像バッファ制御部407は、ストリーム解釈部406が定めた優先度に従って映像バッファ208を制御する。例えば、映像バッファ制御部407は、優先度が低い順に、映像バッファ208が格納する映像ストリームをセグメント単位に破棄するように制御する。
図7は、フレームタイプに基づいてデータの優先度を決定する処理の一例を示す流れ図である。図7に示すように、ストリーム解釈部406は、セグメント情報取得部501が抽出したフレームタイプに基づいて、まず、フレームタイプがIフレームであるか否かを判定する(ステップS601)。Iフレームであると判断した場合、ストリーム解釈部406は、画面間予測により単体でデコードできるデータであるので、そのフレームの優先度を上昇させる(ステップS602)。すなわち、ストリーム解釈部406は、Iフレームの優先度が高くなるように設定する。
ステップS601でIフレーム以外のフレーム(例えば、Bフレーム)であると判断した場合、ストリーム解釈部406は、画面間予測において他のフレームの状況によってデコード映像品質が依存するので、そのフレームの優先度を低下させる(ステップS603)。すなわち、ストリーム解釈部406は、Iフレーム以外のフレームの優先度が低くなるように設定する。
例えば、MPEG4のSimpleProfileなど、IフレームとPフレームのみ存在する映像ストリームにおいて、Iフレーム直前のPフレームはどのピクチャからも参照されていない。そのため、Iフレーム直前のPフレームを破棄しても、ビットレートやフレームレートは低下するものの、出力する映像ストリームに乱れは生じない。また、Iフレーム直前のPフレームを破棄した際、この破棄したPフレームの直前のPフレームもどのピクチャからも参照されなくなる。そのため、破棄したPフレームの直前のPフレームを破棄しても、出力する映像ストリームに乱れは生じない。つまり、被参照フレームから一番遠いフレーム(Iフレーム直前のPフレーム)の優先度を一番低く設定し、被参照フレームに近づくにつれて徐々に優先度を高くするように設定することが考えられる。また、このIフレーム直前のPフレームの場合に限られず、他のフレームから参照されていないフレームがあれば、同様に優先度を大幅に低く設定するようにしてもよい。例えば、Bフレームは他のフレームから参照されておらず、Bフレームを破棄しても、出力する映像ストリームに乱れは生じない。そのためBフレームの優先度を大幅に低く設定することが考えられる。
上記の処理が実行されることによって、ストリーム解釈部406は、フレームタイプに基づいて、他のフレームから参照されている被参照フレームであるか否かを判断する。そして、映像バッファ制御部407は、その判断結果を用いて、映像バッファ208が格納する映像ストリームのデータ量を制御する。また、ストリーム解釈部406は、被参照フレームからの距離に従いフレームの優先度を設定する。そして、映像バッファ制御部407は、設定したフレームの優先度を用いて、映像バッファ208が格納する映像ストリームのデータ量を制御する。
なお、H.264におけるスライス単位のセグメントと解釈した場合、図7において、フレームをスライスと読み替えてもよい。この場合、セグメント情報取得部501は、セグメント情報として、映像ストリームに含まれるスライスのスライスタイプを判断して抽出する。そして、映像バッファ制御部407は、セグメント情報取得部501が判断したスライスタイプを用いて、映像バッファ208を制御する。
また、セグメント情報取得部501は、セグメント情報として、映像ストリームに含まれるマクロブロックのマクロブロックタイプを判断して抽出してもよい。そして、映像バッファ制御部407は、セグメント情報取得部501が判断したマクロブロックタイプを用いて、映像バッファ208を制御してもよい。
次に、NALユニット単位でセグメントを解釈した場合を考える。この場合、セグメント情報取得部501は、映像ストリームに含まれるNALユニットが、映像ストリームに含まれる他のNALユニットによって参照されている被参照ユニット(参照ピクチャ)であるか否かを判断する。そして、映像バッファ制御部407は、NALユニットが参照ピクチャであるか否かの判断結果を用いて、映像バッファ208を制御する。
NALユニットは、一般に、NALヘッダと呼ばれる参照ピクチャであるか否かを示すフラグと、NALユニット種別を示す識別子とを含むヘッダをもつ。この場合、ストリーム解釈部406は、NALユニットに含まれる参照ピクチャであるか否かを示すフラグにより、セグメント(NALユニット)が参照ピクチャであるか否かを判断し、バッファ制御におけるデータの優先度を定める。
図8は、参照ピクチャであるか否かに基づいてデータの優先度を決定する処理の一例を示す流れ図である。図8に示すように、ストリーム解釈部406は、まず、セグメントが参照ピクチャであるか否かを判定する(ステップS701)。参照ピクチャであると判断した場合、ストリーム解釈部406は、そのセグメントが他のピクチャに参照されているデータであるので、そのセグメントの優先度を上昇させる(ステップS702)。すなわち、ストリーム解釈部406は、参照ピクチャの優先度が高くなるように設定する。
ステップS701で参照ピクチャでないと判断した場合、ストリーム解釈部406は、そのセグメントのピクチャが損失(破棄)しても他のピクチャに影響がないことが分かるので、そのセグメントの優先度を低下させる(ステップS703)。すなわち、ストリーム解釈部406は、参照ピクチャ以外のピクチャの優先度が低くなるように設定する。参照ピクチャ以外のピクチャのみを破棄した場合には、ビットレートやフレームレートは低下するものの、出力される映像ストリームに全く乱れのない映像となる。
同様に、NALユニット種別を用いても、バッファ制御に用いられる優先度を設定することができる。この場合、セグメント情報取得部501は、映像ストリーム中に含まれるNALユニットの種別を判断する。そして、映像バッファ制御部407は、セグメント情報取得部501が判断したNALユニットの種別を用いて、映像バッファ208を制御する。
例えば、ストリーム解釈部406は、NALユニット種別がシーケンス・パラメータ・セット(SPS)やピクチャ・パラメータ・セット(PPS)を示している場合、これらの情報は以後の映像ストリームのデコードの際に必要なパラメータとなるので、優先度を1番目に高く設定する。また、ストリーム解釈部406は、NALユニット種別がAUデリミタを示している場合、フレームの境目を示す重要な値であるので、優先度を2番目に高く設定する。また、ストリーム解釈部406は、NALユニット種別がIDRピクチャのスライスを示している場合、ビット・ストリームを複合するために必要な全ての状態がリセットされることを示しており以後のデコードに高い影響を与えるので、優先度を3番目に高く設定する。そして、ストリーム解釈部406は、上記に示した種別以外のNALユニット種別である場合には、優先度を低く設定する。
また、ストリーム解釈部406は、NALユニットではないが、例えば、MPEG4のDecoderConfigInfo(DCI)情報も、同様に映像ストリームのデコード際に必要なパラメータとなるので、優先度を高く設定することもできる。また、ストリーム解釈部406は、伝送路106が信頼性のあるエラーフリー伝送路である場合、前回のSPSやPPS、DCIと同一のパラメータを受信した際に、その受信データの優先度を低く設定することも考えられる。
次に、VP(ビデオパケット)単位でセグメントを解釈し、かつ、1VPが1マクロブロック(MB)で構成されている場合を考える。この場合、ストリーム解釈部406は、MBの先頭部分を解析することにより、IntraMBか否かを判別でき、バッファ制御におけるデータの優先度を定める。また、MBの先頭部分のみを解析すればよいので、処理量の増加を最低限に抑えることができる。
図9は、IntraMBであるか否かに基づいてデータの優先度を決定する処理の一例を示す流れ図である。図9に示すように、ストリーム解釈部406は、まず、セグメントがIフレームであるか否かを判定する(ステップS801)。セグメントがIフレームであると判断した場合、ストリーム解釈部406は、MBタイプが全てIntraMBでありセグメント間に差異がないので、そのセグメントの優先度を変化させずに、そのまま処理を終了する。
セグメントがIフレームでないと判断した場合、ストリーム解釈部406は、セグメントがIntraMBであるか否かを判定する(ステップS802)。セグメントがIntraMBであると判断した場合、ストリーム解釈部406は、Iフレーム以外のフレームでフレーム間予測を行わない映像符号化方式を採用している場合にそのMB単体でデコードできるので、そのセグメントの優先度を上昇させる(ステップS803)。すなわち、ストリーム解釈部406は、IntraMBのセグメントの優先度が高くなるように設定する。
ステップS802でIntraMB以外のMBであると判断した場合、ストリーム解釈部406は、他のデータに基づく予測を用いてデコードする可能性があるので、そのセグメントの優先度を低下させる(ステップS804)。すなわち、ストリーム解釈部406は、IntraMB以外のMBのセグメントの優先度が低くなるように設定する。
なお、図9において、VPをGOBやスライス、NALユニット等の他の映像符号化方式固有のセグメント単位に読み替えてもよい。
また、図7〜図9で示した優先度の与え方(優先度の設定方法)は一例であり、例えば、使用者の設定ポリシにより変更しても、同様の効果を得ることができる。
映像バッファ制御部407は、バッファ制御において、映像バッファ208内のデータのうち、優先度が低いデータ(映像ストリーム)をセグメント単位に破棄したり、又は優先度が低いデータの映像バッファ208への入力を停止する。
なお、中継装置401は、受信端末103が多少の到着順序を吸収できるバッファを備える場合、意図的に優先度の高いデータの送信順序を入れ替えて送信してもよい。また、中継装置401は、H.264を用いる場合のように、スライス・ヘッダ内のPPSに基づいてデータがどのシーケンスに属しているかを判断でき、到着順序に依らずデコードできる映像符号化方式等を用いる場合には、意図的に優先度の高いデータの送信順序を入れ替えて送信してもよい。
本発明は、異なるネットワークを介した映像ストリームの通信を中継する中継装置に適用できる。また、異なるネットワーク間の通信を中継する中継装置を含む通信システムに適用できる。

Claims (22)

  1. 送信端末からの映像ストリームを受信端末に中継する中継装置が備えるバッファを制御するバッファ制御方法であって、
    前記送信端末から受信した映像ストリームを、前記中継装置のバッファに格納する格納ステップと、
    前記中継装置のバッファが格納する映像ストリームのデータ量をセグメント単位に制御するバッファ制御ステップと、
    を含み、
    前記中継装置が受信した映像ストリームを蓄積する前記中継装置のバッファのデータ量の制御として、
    前記中継装置が受信した映像ストリームに関するセグメントを解釈した結果と他の設定との組み合わせに基づき、前記中継装置のバッファ内の映像ストリームのデータ量をセグメント単位に制御し、
    前記他の設定は、
    前記中継装置のバッファのデータ量の制御に関して設定された閾値、
    前記中継装置のバッファのデータ量の制御に関して設定された所定のタイミング、
    前記中継装置に接続する外部装置から前記中継装置に入力された制御命令、
    のうちの1つ又は複数を含み、
    前記中継装置は、前記中継装置のバッファに蓄積された映像ストリームを取り出して、受信端末に送信する、
    ことを特徴とするバッファ制御方法。
  2. 前記中継装置が受信した映像ストリームを蓄積する前記中継装置のバッファのデータ量の制御として、
    (S1)前記映像ストリームに含まれるフレームのフレームタイプを判断するフレームタイプ判断ステップを含み、前記バッファ制御ステップにおいて、前記フレームタイプ判断ステップで判断したフレームタイプを用いて、前記中継装置のバッファが格納する映像ストリームのデータ量を制御する、
    (S2)前記映像ストリームに含まれるスライスのスライスタイプを判断するスライスタイプ判断ステップを含み、前記バッファ制御ステップにおいて、前記スライスタイプ判断ステップで判断されたスライスタイプを用いて、前記中継装置のバッファが格納する映像ストリームのデータ量を制御する、
    (S3)前記映像ストリーム中に含まれるNAL(Network Abstraction Layer)ユニットの種別を判断する種別判断ステップを含み、前記バッファ制御ステップにおいて、前記種別判断ステップで判断されたNALユニットの種別を用いて、前記中継装置のバッファが格納する映像ストリームのデータ量を制御する、
    (S4)前記映像ストリームに含まれるマクロブロックのマクロブロックタイプを判断するマクロブロックタイプ判断ステップを含み、前記バッファ制御ステップにおいて、前記マクロブロックタイプ判断ステップで判断されたマクロブロックタイプを用いて、前記中継装置のバッファが格納する映像ストリームのデータ量を制御する、
    のうちのいずれかを含む、
    ことを特徴とする請求項1記載のバッファ制御方法。
  3. 映像ストリームの通信を中継する中継装置であって、
    映像ストリームを格納するためのバッファと、
    送信端末から受信した映像ストリームを、前記バッファに格納する格納制御手段と、
    前記バッファが格納する映像ストリームのデータ量をセグメント単位に制御するバッファ制御手段と、
    を備え、
    前記中継装置は、
    前記映像ストリームに関するセグメントを解釈するセグメント解釈手段を備え、
    さらに、
    前記バッファのデータ量の制御に関して閾値を設定する閾値設定手段、
    前記バッファのデータ量を制御する所定のタイミングを生成するタイミング生成手段、
    前記中継装置に接続する外部装置から前記中継装置に入力された制御命令を受信する命令受信手段、
    のうちの1つ又は複数の手段を備え、
    前記バッファ制御手段は、
    (A)前記セグメントの解釈結果と、
    (B)前記セグメントの解釈結果及び他の設定の組み合わせと、
    のいずれかに基づき、前記バッファ内の映像ストリームのデータ量をセグメント単位に制御し、
    前記(B)の前記他の設定は、
    前記閾値、
    前記所定のタイミング、
    前記制御命令、
    のうちの1つ又は複数を含む、ことを特徴とする中継装置。
  4. 前記送信端末から送信された映像ストリームを受信する受信手段を備え、
    前記格納制御手段は、前記受信手段が受信した映像ストリームを、前記バッファに格納し、
    前記バッファから映像ストリームを抽出する抽出手段と、
    前記抽出手段が抽出した映像ストリームを、宛先の受信端末に送信する送信手段と、
    を備えたことを特徴とする請求項記載の中継装置。
  5. 前記バッファ制御手段は、
    前記バッファが格納する映像ストリームの所定のデータ量を間引く処理、
    前記バッファが格納する映像ストリームを廃棄する処理、
    前記バッファへの映像ストリームの入力を停止する処理、
    前記バッファから出力する映像ストリームの出力レートを高くする処理、
    のうちの少なくとも1つを行うことで、前記バッファが格納する映像ストリームのデータ量を制御する、
    請求項記載の中継装置。
  6. 前記バッファ制御手段は、
    フレーム、
    ビデオパケット、
    GOB(Group Of Blocks)、
    スライス、
    NAL(Network Abstraction Layer)ユニット、
    のうちの少なくとも1つを前記セグメント単位として用いて、前記バッファが格納する映像ストリームのデータ量を制御する、
    請求項記載の中継装置。
  7. 所定の方法で閾値を設定する閾値設定手段を備え、
    前記バッファ制御手段は、前記閾値設定手段が設定した閾値に基づいて、前記バッファが格納する映像ストリームのデータ量を制御する、
    請求項記載の中継装置。
  8. 前記バッファ制御手段は、
    (A)前記映像ストリームのデータ量の上限値を閾値として設定し、前記バッファ内に蓄積された映像ストリームにデータ量が前記上限値以上となったことを条件として、前記バッファへの入力を停止するか、前記バッファ内の映像ストリームの少なくとも一部を廃棄するか、又は、前記バッファからの映像ビットストリームの出力ビットレートを高くする制御、
    (B)前記映像ストリームのデータ量の上限値と下限値を閾値として設定し、前記バッファ内に蓄積された映像ストリームにデータ量が前記上限値以上となったことを条件として前記バッファの映像ストリームのデータ量が下限値に達するまで、前記バッファへの入力を停止するか、前記バッファからの映像ビットストリームの出力ビットレートを高くする制御を行う制御、
    (C)前記映像ストリームのデータ量を間引くための間引き閾値を閾値として設定し、前記バッファの映像ストリームのデータ量が間引き閾値に達したことを条件として、前記バッファへの所定のデータ量のデータの入力を行わない制御、
    のうちの少なくとも1つの制御を用いて、前記バッファが格納する映像ストリームのデータ量を制御する、
    請求項記載の中継装置。
  9. 前記バッファ制御手段は、所定のタイミングに基づいて、前記バッファが格納する映像ストリームのデータ量を制御し、
    前記所定のタイミングとして、
    一定時間毎のタイミング、
    受信パケット数が一定量に達したタイミング、
    受信映像ストリームのデータ量が一定量に達したタイミング、
    前記バッファに入力したデータ量が一定量に達したタイミング、
    受信映像ストリームのセグメント数が一定量に達したタイミング、
    のうちの少なくとも1つを含む、
    請求項記載の中継装置。
  10. 前記バッファ制御手段は、外部装置から受信した制御命令に従って、前記バッファが格納する映像ストリームのデータ量を制御する、
    請求項記載の中継装置。
  11. 前記映像ストリームに含まれるフレームのフレームタイプを判断するフレームタイプ判断手段、
    前記映像ストリームに含まれるスライスのスライスタイプを判断するスライスタイプ判断手段、
    前記映像ストリーム中に含まれるNALユニットの種別を判断する種別判断手段、
    前記映像ストリームに含まれるマクロブロックのマクロブロックタイプを判断するマクロブロックタイプ判断手段、
    のうちの少なくとも1つの判断手段を備え、
    前記バッファ制御手段は、
    前記判断手段で判断された、
    フレームタイプと、
    スライスタイプと、
    NALユニットの種別と、
    マクロブロックタイプ、
    のうちの少なくとも1つを用いて、前記バッファが格納する映像ストリームのデータ量を制御する、
    請求項記載の中継装置。
  12. 前記映像ストリームに含まれるフレームのフレームタイプを判断するフレームタイプ判断手段と、
    前記フレームタイプに基づいて他のフレームから参照されている被参照フレームであるか否かを判断する被参照有無判断手段を備え、
    前記バッファ制御手段は、前記フレームタイプを用いたバッファ制御として、前記フレームが被参照フレームであるか否かに関する前記被参照有無判断手段での判断結果を用いて、前記バッファが格納する映像ストリームのデータ量を制御する、
    請求項記載の中継装置。
  13. 前記被参照フレームからの距離に従いフレームの優先度を設定する優先度設定手段を備え、
    前記バッファ制御手段は、前記フレームタイプを用いたバッファ制御として、前記フレームの優先度を用いて、前記中継装置の前記バッファが格納する映像ストリームのデータ量を制御する、
    請求項1記載の中継装置。
  14. 前記映像ストリーム中に含まれるNALユニットの種別を判断する種別判断手段と、
    前記映像ストリームに含まれるNALユニットが、前記映像ストリームに含まれる他のNALユニットによって参照されている被参照ユニットであるか否かを判断する被参照有無判断手段を備え、
    前記バッファ制御手段は、前記被参照有無判断手段によるNALユニットが被参照ユニットであるか否かの判断結果を用いて、前記バッファが格納する映像ストリームのデータ量を制御する、
    請求項記載の中継装置。
  15. 送信端末からの映像ストリームを中継装置で中継して受信端末に送信する通信システムであって、
    前記中継装置は、
    前記送信端末から受信した映像ストリームを格納するバッファと、
    前記バッファに格納される映像ストリームのデータ量をセグメント単位に制御するバッファ制御手段と、
    前記バッファに蓄積された映像ストリームを取り出して前記受信端末に送信する手段と、
    を含
    前記中継装置は、
    前記映像ストリームに関するセグメントを解釈するセグメント解釈手段を備え、
    さらに、
    前記バッファのデータ量の制御に関して閾値を設定する閾値設定手段、
    前記バッファのデータ量を制御する所定のタイミングを生成するタイミング生成手段、
    前記中継装置に接続する外部装置から前記中継装置に入力された制御命令を受信する命令受信手段、
    のうちの1つ又は複数の手段を備え、
    前記バッファ制御手段は、
    (A)前記セグメントの解釈結果と、
    (B)前記セグメントの解釈結果及び他の設定の組み合わせと、
    のいずれかに基づき、前記バッファ内の映像ストリームのデータ量をセグメント単位に制御し、
    前記(B)の前記他の設定は、
    前記閾値、
    前記所定のタイミング、
    前記制御命令、
    のうちの1つ又は複数を含む、
    ことを特徴とする通信システム。
  16. 前記中継装置は、
    前記映像ストリームのセグメント解釈を行うとともに、前記映像ストリームからセグメント情報を抽出するストリーム解釈手段を備え、
    前記中継装置では、
    (S1)前記ストリーム解釈手段が、前記映像ストリームに含まれるフレームのフレームタイプを判断し、前記バッファ制御手段は、前記判断されたフレームタイプを用いて前記バッファが格納する映像ストリームのデータ量を制御する、
    (S2)前記ストリーム解釈手段が、前記映像ストリームに含まれるスライスのスライスタイプを判断し、前記バッファ制御手段は、前記判断されたスライスタイプを用いて、前記バッファが格納する映像ストリームのデータ量を制御する、
    (S3)前記ストリーム解釈手段が、前記映像ストリーム中に含まれるNAL(Network Abstraction Layer)ユニットの種別を判断し、前記バッファ制御手段は、前記判断されたNALユニットの種別を用いて、前記バッファが格納する映像ストリームのデータ量を制御する、
    (S4)前記ストリーム解釈手段が、前記映像ストリームに含まれるマクロブロックのマクロブロックタイプを判断し、前記バッファ制御手段は、前記判断されたマクロブロックタイプを用いて、前記バッファが格納する映像ストリームのデータ量を制御する、
    のうちのいずれかの制御が行われる、ことを特徴とする請求項1記載の通信システム。
  17. 前記中継装置では、
    前記(S1)の制御として、前記ストリーム解釈手段が、前記映像ストリームに含まれるフレームタイプに基づいて他のフレームから参照されている被参照フレームであるか否かを判断し、
    前記バッファ制御手段は、前記フレームタイプを用いたバッファ制御として、前記フレームが被参照フレームであるか否かに関する前記ストリーム解釈手段での判断結果を用いて、前記バッファが格納する映像ストリームのデータ量を制御し、
    前記(S3)の制御として、前記ストリーム解釈手段が、前記映像ストリームに含まれるNALユニットが、前記映像ストリームに含まれる他のNALユニットによって参照されている被参照ユニットであるか否かを判断し、前記バッファ制御手段は、前記ストリーム解釈手段によるNALユニットが被参照ユニットであるか否かの判断結果を用いて、前記バッファが格納する映像ストリームのデータ量を制御する、
    ことを特徴とする請求項1記載の通信システム。
  18. 前記中継装置では、
    前記(S1)の制御として、前記ストリーム解釈手段が、前記被参照フレームからの距離に従いフレームの優先度を設定する手段を備え、前記バッファ制御手段は、前記フレームタイプを用いたバッファ制御として、前記フレームの優先度を用いて、前記中継装置の前記バッファが格納する映像ストリームのデータ量を制御する、ことを特徴とする請求項1記載の通信システム。
  19. 前記送信端末から送信された前記映像ストリームを受信する受信ステップと、
    前記受信ステップで受信した前記映像ストリームを前記バッファに格納する格納ステップと、
    前記バッファから前記映像ストリームを抽出する抽出ステップと、
    前記抽出ステップで抽出された前記映像ストリームを宛先の受信端末に送信する送信ステップと、
    を含む請求項1記載のバッファ制御方法。
  20. 前記バッファ制御ステップが、
    前記バッファに格納された前記映像ストリームのデータ量をデシメートする、
    前記バッファに格納された前記映像ストリームのデータ量を廃棄する、
    前記バッファへの前記映像ストリームを停止する、
    前記バッファから出力される前記映像ストリームの出力速度を増大する、
    の少なくとも1つを実行することで、前記バッファに格納された前記映像ストリームのデータ量を制御する、請求項1又は19記載のバッファ制御方法。
  21. 予め定められた方法で閾値を設定する閾値設定ステップと、
    前記閾値設定ステップで設定された前記閾値に基づき、前記バッファに格納された前記映像ストリームのデータ量を制御する、請求項1又は19記載のバッファ制御方法。
  22. 前記バッファ制御ステップが、外部装置から受信した制御命令にしたがって、前記バッファに格納された前記映像ストリームのデータ量を制御する、請求項1、2、19、20、21のいずれか1項に記載のバッファ制御方法。
JP2008505102A 2006-03-14 2007-03-09 バッファ制御方法、中継装置、通信システム Expired - Fee Related JP4924605B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2008505102A JP4924605B2 (ja) 2006-03-14 2007-03-09 バッファ制御方法、中継装置、通信システム

Applications Claiming Priority (6)

Application Number Priority Date Filing Date Title
JP2006069261 2006-03-14
JP2006069261 2006-03-14
JP2006118335 2006-04-21
JP2006118335 2006-04-21
PCT/JP2007/054635 WO2007105618A1 (ja) 2006-03-14 2007-03-09 バッファ制御方法、中継装置、通信システム
JP2008505102A JP4924605B2 (ja) 2006-03-14 2007-03-09 バッファ制御方法、中継装置、通信システム

Publications (2)

Publication Number Publication Date
JPWO2007105618A1 JPWO2007105618A1 (ja) 2009-07-30
JP4924605B2 true JP4924605B2 (ja) 2012-04-25

Family

ID=38509441

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2008505102A Expired - Fee Related JP4924605B2 (ja) 2006-03-14 2007-03-09 バッファ制御方法、中継装置、通信システム

Country Status (8)

Country Link
US (1) US8239901B2 (ja)
EP (1) EP1995920A4 (ja)
JP (1) JP4924605B2 (ja)
KR (1) KR101166446B1 (ja)
BR (1) BRPI0706826A2 (ja)
MX (1) MX2008011210A (ja)
RU (1) RU2008135839A (ja)
WO (1) WO2007105618A1 (ja)

Families Citing this family (23)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7793317B2 (en) * 2005-08-19 2010-09-07 At&T Intellectual Property I, L.P. System and method of managing video streams to a set top box
JP4987760B2 (ja) * 2008-03-05 2012-07-25 株式会社オートネットワーク技術研究所 中継装置、通信システム及び通信方法
US20110090958A1 (en) * 2008-06-17 2011-04-21 Avinash Sridhar Network abstraction layer (nal)-aware multiplexer with feedback
US20110090921A1 (en) * 2008-07-01 2011-04-21 Shemimon Manalikudy Anthru Network abstraction layer (nal)-aware multiplexer
WO2010024350A1 (ja) * 2008-08-28 2010-03-04 京セラ株式会社 無線端末及び通信端末
CN101466034A (zh) 2008-12-25 2009-06-24 华为技术有限公司 发送、播放流媒体数据的方法和装置及流媒体点播系统
US8401075B2 (en) * 2008-12-31 2013-03-19 General Instrument Corporation Hybrid video encoder including real-time and off-line video encoders
US8576714B2 (en) * 2009-05-29 2013-11-05 Futurewei Technologies, Inc. System and method for relay node flow control in a wireless communications system
CN102598825B (zh) 2009-12-22 2015-04-29 富士通株式会社 中继器中的服务质量控制
US20110235709A1 (en) * 2010-03-25 2011-09-29 Apple Inc. Frame dropping algorithm for fast adaptation of buffered compressed video to network condition changes
US20130091528A1 (en) * 2010-06-23 2013-04-11 Mitsubishi Electric Corporation Video reproduction system, receive terminal, home gateway device, and quality control system
CN101951512B (zh) * 2010-08-24 2012-11-28 中国科学院深圳先进技术研究院 一种直播视频和实时视频的分片转码方法和系统
JP5187404B2 (ja) * 2011-01-27 2013-04-24 ブラザー工業株式会社 符号化装置、符号化方法、および符号化プログラム
US20140118463A1 (en) * 2011-06-10 2014-05-01 Thomson Licensing Video phone system
CN103313122B (zh) * 2012-03-09 2018-02-27 联想(北京)有限公司 一种数据处理方法及电子设备
US9445058B2 (en) * 2012-05-14 2016-09-13 Intuitive Surgical Operations, Inc Method for video processing using a buffer
JP5918030B2 (ja) * 2012-05-28 2016-05-18 株式会社アイ・ディ・ケイ データ中継装置、データ中継方法、データ伝送システムおよびプログラム
KR101957282B1 (ko) * 2012-08-29 2019-03-12 삼성전자주식회사 동영상 제어장치 및 방법
US9438652B2 (en) 2013-04-15 2016-09-06 Opentv, Inc. Tiered content streaming
US10009628B2 (en) 2013-06-07 2018-06-26 Apple Inc. Tuning video compression for high frame rate and variable frame rate capture
KR102209292B1 (ko) * 2015-11-04 2021-01-29 삼성전자 주식회사 멀티미디어 시스템에서 데이터 제공 방법 및 장치
JP6168671B1 (ja) * 2016-03-24 2017-07-26 株式会社日立国際電気 映像切替装置を備えた符号化装置および映像切替検知方法を含む符号化方法
US10638192B2 (en) * 2017-06-19 2020-04-28 Wangsu Science & Technology Co., Ltd. Live streaming quick start method and system

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001237893A (ja) * 2000-02-25 2001-08-31 Fujitsu Ltd データ通信システム
JP2002217969A (ja) * 2001-01-23 2002-08-02 Mitsubishi Electric Corp データ中継装置及びデータ中継方法
JP2003244220A (ja) * 2002-02-14 2003-08-29 Nippon Telegr & Teleph Corp <Ntt> 伝送レート制御装置並びに当該装置を含むネットワークシステム及び経路制御装置
JP2004158929A (ja) * 2002-11-01 2004-06-03 Sharp Corp 動画像処理方法および動画像処理装置ならびに動画像伝送装置

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR0152772B1 (ko) 1991-10-10 1998-10-15 구자홍 영상압축에서의 버퍼 제어 방법 및 장치
US5758194A (en) * 1993-11-30 1998-05-26 Intel Corporation Communication apparatus for handling networks with different transmission protocols by stripping or adding data to the data stream in the application layer
JP3715749B2 (ja) * 1997-07-10 2005-11-16 キヤノン株式会社 画像処理システム及び画像処理方法
US7133362B2 (en) * 2001-11-14 2006-11-07 Microsoft Corporation Intelligent buffering process for network conference video
US20040190607A1 (en) * 2002-04-03 2004-09-30 Koji Wakimoto Video relay device, video distribution system, video relay method
US7542435B2 (en) * 2004-05-12 2009-06-02 Nokia Corporation Buffer level signaling for rate adaptation in multimedia streaming
JP4252017B2 (ja) 2004-06-22 2009-04-08 日本電信電話株式会社 符号化ストリーム中継装置、その方法及びプログラム

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001237893A (ja) * 2000-02-25 2001-08-31 Fujitsu Ltd データ通信システム
JP2002217969A (ja) * 2001-01-23 2002-08-02 Mitsubishi Electric Corp データ中継装置及びデータ中継方法
JP2003244220A (ja) * 2002-02-14 2003-08-29 Nippon Telegr & Teleph Corp <Ntt> 伝送レート制御装置並びに当該装置を含むネットワークシステム及び経路制御装置
JP2004158929A (ja) * 2002-11-01 2004-06-03 Sharp Corp 動画像処理方法および動画像処理装置ならびに動画像伝送装置

Also Published As

Publication number Publication date
JPWO2007105618A1 (ja) 2009-07-30
KR20080102144A (ko) 2008-11-24
US8239901B2 (en) 2012-08-07
WO2007105618A1 (ja) 2007-09-20
BRPI0706826A2 (pt) 2011-04-05
EP1995920A1 (en) 2008-11-26
KR101166446B1 (ko) 2012-07-19
US20090313676A1 (en) 2009-12-17
RU2008135839A (ru) 2010-03-10
EP1995920A4 (en) 2011-11-09
MX2008011210A (es) 2008-09-11

Similar Documents

Publication Publication Date Title
JP4924605B2 (ja) バッファ制御方法、中継装置、通信システム
JP4965059B2 (ja) ビデオストリームの切り替え
US8355437B2 (en) Video error resilience
KR100763269B1 (ko) 화상 부호화 데이터의 전환 방법 및 장치, 시스템 및 프로그램을 기록한 기록 매체
US8837605B2 (en) Method and apparatus for compressed video bitstream conversion with reduced-algorithmic-delay
EP1638333A1 (en) Rate adaptive video coding
EP1845691B1 (en) Media stream relay device and method
CN101395871A (zh) 缓冲器控制方法、中继装置、通信系统
JP5516408B2 (ja) ゲートウェイ装置と方法とシステム
EP2308215B1 (en) Thinning of packet-switched video data
JP4662085B2 (ja) 動画像蓄積システム、動画像蓄積方法および動画像蓄積プログラム
JP2005192073A (ja) マルチメディアデータ通信方法および装置
JP5516409B2 (ja) ゲートウェイ装置と方法とシステム並びに端末
JP2006074555A (ja) マルチメディアゲートウェイにおける音声・動画調整方式
Sterca et al. Evaluating Dynamic Client-Driven Adaptation Decision Support in Multimedia Proxy-Caches
Jaiswal Media Coding and Distribution over Unreliable Networks: Some Issues
KR20040064970A (ko) 영상전화 시스템의 픽쳐타입 손실 대응 복호화 방법

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20080530

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20110301

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20110428

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20110428

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

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

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

Free format text: PAYMENT UNTIL: 20150217

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

LAPS Cancellation because of no payment of annual fees