JP2003318966A - リアルタイム通信のためのビットレート制御方法および装置 - Google Patents

リアルタイム通信のためのビットレート制御方法および装置

Info

Publication number
JP2003318966A
JP2003318966A JP2002120066A JP2002120066A JP2003318966A JP 2003318966 A JP2003318966 A JP 2003318966A JP 2002120066 A JP2002120066 A JP 2002120066A JP 2002120066 A JP2002120066 A JP 2002120066A JP 2003318966 A JP2003318966 A JP 2003318966A
Authority
JP
Japan
Prior art keywords
bit rate
probability
bit
rates
currently set
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
JP2002120066A
Other languages
English (en)
Other versions
JP4000895B2 (ja
Inventor
Hironori Ito
伊藤  博紀
Yuzo Senda
裕三 仙田
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 JP2002120066A priority Critical patent/JP4000895B2/ja
Priority to KR20047007857A priority patent/KR100615119B1/ko
Priority to CNB038016664A priority patent/CN100375468C/zh
Priority to PCT/JP2003/005170 priority patent/WO2003092227A1/ja
Priority to EP03719175A priority patent/EP1499073A4/en
Priority to US10/497,400 priority patent/US20050105604A1/en
Publication of JP2003318966A publication Critical patent/JP2003318966A/ja
Application granted granted Critical
Publication of JP4000895B2 publication Critical patent/JP4000895B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/24Traffic characterised by specific attributes, e.g. priority or QoS
    • H04L47/2416Real-time traffic
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/19Flow control; Congestion control at layers above the network layer
    • H04L47/193Flow control; Congestion control at layers above the network layer at the transport layer, e.g. TCP related
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/25Flow control; Congestion control with rate being modified by the source upon detecting a change of network conditions
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/38Flow control; Congestion control by adapting coding or compression rate
    • 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/40Support for services or applications
    • 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
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/16Implementation or adaptation of Internet protocol [IP], of transmission control protocol [TCP] or of user datagram protocol [UDP]
    • H04L69/163In-band adaptation of TCP data exchange; In-band control procedures
    • 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, manipulating MPEG-4 scene graphs
    • H04N21/2343Processing of video elementary streams, e.g. splicing of video streams, manipulating MPEG-4 scene graphs involving reformatting operations of video signals for distribution or compliance with end-user requests or end-user device requirements
    • 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, manipulating MPEG-4 scene graphs
    • H04N21/2343Processing of video elementary streams, e.g. splicing of video streams, manipulating MPEG-4 scene graphs involving reformatting operations of video signals for distribution or compliance with end-user requests or end-user device requirements
    • H04N21/23439Processing of video elementary streams, e.g. splicing of video streams, manipulating MPEG-4 scene graphs involving reformatting operations of video signals for distribution or compliance with end-user requests or end-user device requirements for generating different versions
    • 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/24Monitoring of processes or resources, e.g. monitoring of server load, available bandwidth, upstream requests
    • H04N21/2402Monitoring of the downstream path of the transmission network, e.g. bandwidth available
    • 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/25Management operations performed by the server for facilitating the content distribution or administrating data related to end-users or client devices, e.g. end-user or client device authentication, learning user preferences for recommending movies
    • H04N21/266Channel or content management, e.g. generation and management of keys and entitlement messages in a conditional access system, merging a VOD unicast channel into a multicast channel
    • H04N21/2662Controlling the complexity of the video stream, e.g. by scaling the resolution or bitrate of the video stream based on the client capabilities

Abstract

(57)【要約】 【課題】 符号化器の取り得るビットレートが離散的で
あっても、ビットレートの激しい変動を抑え、且つTCP
等の他の制御方式との公平性を実現するビットレート制
御方法及び装置を提供する。 【解決手段】 ネットワークの状態に応じてビットレー
トの制御を行うデータ送信装置において、ビットレート
を変更するか否かを予め定めておいた確率に基いて決定
する。通信システムの全端末のビットレートを平均した
値が所望のビットレートとなるように各端末のビットレ
ートを変更する確率値を定めることにより、各端末にお
いてビットレートの変動の少ない制御が可能となり、音
声・画像などのリアルタイム通信の品質を向上させるこ
とができる。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は音声や画像データな
どのリアルタイムトラフィックを送信する技術に係り、
特にそのビットレート制御方法及び装置に関する。
【0002】
【従来の技術】周知のように、従来の電話などに用いら
れている回線交換方式は、通信中でも情報の有無に関係
なく両端末間で通信回線を占有するために、音声や画像
などをリアルタイムで伝送するのに適している反面、ネ
ットワークの利用効率を高めることが困難である。ま
た、端末間の接続においてネットワーク全体の利用率を
監視した呼制御を行うため、端末数が増加するにつれて
呼制御の負荷が増大するという問題もある。
【0003】一方、パケット交換方式は非同期型通信で
あり、従来の回線交換方式のような同期型通信よりもネ
ットワークの利用効率が高いため、現在広く普及してい
る。特に、TCP/IP (Transmission Control Protocol /
Internet Protocol)を用いたパケット交換方式において
は、呼制御が行われず、各端末でネットワークの利用帯
域が公平となるような自律分散型のレート制御が行われ
ているために、上述したような呼制御の負荷増大という
問題は生じない。さらに、TCPではパケットの欠落の有
無をチェックしており、パケット損失が生じた場合には
再送要求を行うことで通信の信頼性を高めている。
【0004】しかし、近年広まりつつあるIPを用いたパ
ケット交換方式における音声・画像データのリアルタイ
ム通信では、TCPによるレート制御は適用できない。TCP
におけるパケット再送は、ファイル転送等のデータ通信
では信頼性を高めるので望ましいが、音声・画像などの
リアルタイム通信では逆に大きな遅延の原因となり、ま
たビットレートの激しい変動により音質・画質の劣化が
生ずるからである。
【0005】そこで、リアルタイム通信では、TCPに代
わって、レート制御を行わないUDP (User Datagram Pro
tocol) が用いられている。しかしながら、UDPでは
データを一方的に送り続けるために、UDPのトラフィッ
クが増大するとTCPの利用する帯域を占有してしまい、T
CPとの公平性の問題が新たに生じる。これらの問題を解
決するために開発されたRSVP (Resource reSerVationPr
otocol)は、接続時に各端末の帯域を確保する方式であ
り、遅延やパケット損失の問題は解決されるものの、回
線交換方式と同じネットワーク効率の問題が生じる。
【0006】そこで、別の解決策として考えられている
のが、TCPと公平性のあるレート制御を行うTCPフレンド
リー制御である。TCPフレンドリー制御には、次の2つ
の方式がある。 1) TCPのレート制御法であるAIMD(Additive Increas
e/Multiple Decrease)に基く方式(文献1 :Reza Rejai
e, Mark Handley, Deborah Estrin, "RAP: An End-to-e
nd Rate-based Congestion Control Mechanism for Rea
ltime Stream inthe Internet,"INFOCOM'99 (1999.3)を
参照)。 2) TCPのスループットを目標ビットレートとする方
式(TFRC)(文献2: "TCPFriendly Rate Control (TFR
C): Protocol Specification," IETF Internet draft(d
raft-ietf-tsvwg-tfrc-03.txt)を参照)。
【0007】AIMD方式では、ビットレートを上げる場合
は一定値を加算し、ビットレートを下げる場合は1より
小さい値を乗算する。これら加算値および乗算値を適切
に設定することにより、TCPとの公平性を保ちつつ、TCP
のような大きなビットレートの変動を抑えることも可能
である。
【0008】TFRC方式は、次式(1)で示すTCPのスル
ープットを目標ビットレートとした制御を行う。 R = 1 / [RTT*√(2*L/3) + T0*min(1, 3*√(3*L/8))*L*(1+32*L^2)] (1 ) ここで、RTTはラウンドトリップ時間、T0はタイムアウ
ト時間、Lはパケット損失率を示す。
【0009】ただし、上記TCPフレンドリー制御では、
ビットレートが連続値となることを前提としている。実
際には音声・画像符号化器のビットレートは離散的であ
るため、これら制御方式をそのまま音声・画像符号化器
に適用することはできない。
【0010】一方、ネットワークの輻輳状態に応じて符
号化器が動作するビットレートを予め決めておく方式も
考えられている。たとえば、 文献3:Jeong Wook Seo, et al., "A study on the ap
plication of an AMRspeech codec to VoIP," Proc. IC
ASSP2001 Vol. 3, pp.1373 -1376、および 文献4:V. Abreu-Sernandez, et al., "Adaptive mult
i-rate speech coderfor VoIP transmission, "Electro
nics Letters, Vol. 36, pp.1978 -1980を参照。
【0011】文献3ではラウンドトリップ時間に応じ
て、文献4ではパケット損失率に応じて、それぞれ符号
化器のビットレートを切り替えている。しかし、これら
の方式はTCPとの公平性がない。
【0012】次に、図8を用いて従来の音声・画像デー
タ通信装置の一例を説明する。一般に、音声・画像デー
タ通信装置は、図8に示すように、音声・画像符号化部
402、パケット送信部403、パケット受信部40
4、ビットレート制御部405、音声・画像復号部40
6で構成される。音声・画像符号化器402は、入力音
声・画像401を符号化し、音声・画像ビットストリー
ムをパケット送信部403に出力する。パケット送信部
403は、入力された音声・画像ビットストリームにIP
/UDP/RTPヘッダ(文献5:"RTP:A Transport Protocol
for Real-Time Applications," IETF RFC1889を参照)
を付加し、ネットワークに送信する。RTPヘッダには、
音声・画像データの通信で必要な情報が付加されてい
る。
【0013】一方、パケット受信部404は、音声・画
像パケットを受信し、受信パケットから音声・画像ビッ
トストリームを抽出して音声・画像復号部406に出力
する。音声・画像復号部406は、パケット受信部から
得た音声・画像ビットストリームを復号し、出力音声・
画像データ407を出力する。
【0014】また、パケット受信部404は、例えばRT
CP(Real-time Transport Control Protocol)(文献5)
パケットを受信し、そこからラウンドトリップ時間(Rou
nd Trip Time, RTT)およびパケット損失率に関する情報
を抽出してビットレート制御部405に出力する。ビッ
トレート制御部405では、AIMDやTFRC等に基くビット
レート制御が行われる。
【0015】AIMDに基くビットレート制御では、パケッ
ト受信部404から得たパケット損失率を用いて、パケ
ット損失がない場合には現在のビットレートにある値を
加算し、パケット損失がある場合には現在のビットレー
トにある値を乗算することにより目標ビットレートを計
算する。
【0016】TFRCに基くビットレート制御では、パケッ
ト受信部404から得たラウンドトリップ時間RTTと
パケット損失率Lとを用いて、式(1)を用いて目標ビ
ットレートを計算する。ここで、ラウンドトリップ時間
とパケット損失率は、測定精度を高めるため、ある時間
で平均した値を用いる。
【0017】しかしながら、このように計算された目標
ビットレートは、音声・画像符号化器402に設定され
ている離散的なビットレートの1つと合致するとは限ら
ない。このために、実際には、計算された目標ビットレ
ートに最も近い離散的ビットレートを選択し、音声・画
像符号化部402をその選択されたビットレートに設定
するという制御が行われている。
【0018】上記文献3や文献4におけるビットレート
制御では、パケット受信部404から得たラウンドトリ
ップ時間やパケット損失率に応じて定められる符号化器
のビットレートが音声・画像符号化部402に出力され
る。しかし、上述したように、これらの方式はTCPとの
公平性がない。
【0019】音声・画像復号部406は、ビットレート
制御部405で得たビットレートで音声・画像を復号す
る。
【0020】特開平5−260090号公報には、離散
的なビットレートを有する符号化器を用いたビットレー
ト制御方法の一例が開示されている。この従来例では、
複数ステップのビットレート(128kbps, 64kbps,10kbps
など)を設定できる映像符号化部を伝送路の輻輳状態に
応じてビットレート制御する。具体的には、伝送路に輻
輳が発生すると1ステップ小さいビットレートに設定
し、輻輳が発生していなければ1ステップ大きいビット
レートに設定する、というように制御する。
【0021】
【発明が解決しようとする課題】上述したように、AIMD
やTFRCに基くTCPフレンドリー制御は、ビットレートが
連続値をとることを前提としているために、符号化器の
ビットレートが離散的な値しか取り得ない音声・画像通
信にはそのまま適用することができない。そこで、ビッ
トレート制御により得られた目標値に最も近いビットレ
ートが選択される。しかし、そうすると目標値と実際の
値との誤差が生じてしまい、この誤差は設定されるビッ
トレートを頻繁に変動させる要因となり、音質・画質の
劣化をもたらす。
【0022】図9(a)は従来の自律分散型ビットレー
ト制御法を採用した場合のビットレート変動を示すタイ
ムチャートである。たとえば、ネットワークに接続され
た各端末において、ラウンドトリップ時間やパケット損
失率などのネットワーク情報に基づいて目標ビットレー
トを算出し、それに最も近い離散的ビットレートに符号
化器を設定する制御が行われるものとする。ここでは、
説明のために、ある離散的ビットレートR(n+1)に
設定されるとネットワークが輻輳して目標ビットレート
が低下し、それより低いビットレートR(n)に設定さ
れると目標ビットレートが上昇するものと仮定する。
【0023】この場合、図9(a)に示すように目標ビ
ットレートが低下すると、ビットレート制御部405は
符号化器402をR(n+1)から現在の目標値に最も
近いビットレートR(n)に低下させる。この状態がし
ばらく続くと、今度は目標ビットレートが上昇し、それ
に追随するために、符号化器402をR(n+1)へ再
び上昇させる。このようなビットレート変動が繰り返さ
れると、音声・画像を送受信している端末間でリアルタ
イムトラフィックの品質が著しく低下する。
【0024】また、文献3や文献4におけるラウンドト
リップ時間やパケット損失率に応じて符号化器のビット
レートを切り替える方式や特開平5−260090号公
報に開示された方式では、TCP制御との公平性が実現で
きない。
【0025】そこで、本発明の目的は、ネットワークの
状態に応じてリアルタイムトラフィックの送信ビットレ
ートを離散的に変更する場合でも、リアルタイム通信の
品質劣化を抑制できるビットレート制御方法及び装置を
提供することにある。
【0026】本発明の他の目的は、リアルタイムトラフ
ィックの品質が劣化するビットレートの変動を抑え、且
つTCPなどの他の制御方式との公平性を実現できるビッ
トレート制御方法及び装置を提供することにある。
【0027】
【課題を解決するための手段】本発明によれば、リアル
タイムトラフィック送信時のビットレートを制御する際
に、確率に基いてビットレートを決定することを特徴と
する。
【0028】利用可能なビットレートが離散的であって
も、全端末のビットレートを平均した値が所望のビット
レートとなるように、各端末のビットレートを変更する
確率値を定めておけば、ビットレートの変動の少ない制
御が可能となる。
【0029】図9を用いて本発明の作用を説明する。上
述したように、従来のビットレート制御方法では、各端
末が符号化器のビットレートを目標ビットレートに近づ
けようとするために、図9(a)に示すような全端末が
目標値近辺のビットレート間で変動を繰り返す現象が生
じる。
【0030】これに対して、図9(b)のように、全体
の平均ビットレートが所望の値となるように確率値を計
算し、その確率値に基いて各端末のビットレートを変更
する制御を行うことによって、図9(a)に示すような
ビットレートの変動を抑えることができる。
【0031】また、ネットワークの状態に応じて符号化
器の動作ビットレートを変更する場合に、上記計算され
た確率に基いてビットレートを変更するようにすれば、
TCP等の制御方式との公平性を損なわないビットレート
制御が可能となる。
【0032】本発明によるビットレート制御方法は、ネ
ットワークを通してリアルタイムトラフィックを送信す
る際のビットレート制御方法において、a)複数の予め
定められた離散的ビットレートを用意し、b)前記複数
の離散的ビットレートのうち任意の隣接したビットレー
トの一方を選択する確率を決定し、c)前記決定された
確率に基づいて、いずれか一方のビットレートを設定す
るか否かを判定する、ことを特徴とする。
【0033】本発明の第1実施形態によれば、前記ステ
ップ(b)は、b.1)前記ネットワークの状態に応じ
て目標ビットレートを設定し、b.2)前記設定された
目標ビットレートに隣接するビットレートを決定し、
b.3)前記設定された目標ビットレートが前記隣接ビ
ットレートの一方に近いほど、当該一方のビットレート
を選択する確率を高くする、ことを特徴とする。
【0034】すなわち、目標ビットレートが算出される
と、その目標ビットレートに隣接する離散的ビットレー
トが決定され、その何れのビットレートに符号化器を設
定するかは、目標ビットレートが何れのビットレートに
近いかに依存して確率的に決定される。したがって、全
端末の平均設定ビットレートは目標ビットレート近くに
なり、このために、TCPなどの他の制御方式との公平
性を保持できると共に、各端末が目標ビットレートに近
づこうとしてビットレートの設定を頻繁に変動させると
いう従来生じていた事態を回避することができる。
【0035】本発明の第2実施形態によれば、前記ステ
ップ(b)は、b.1)前記ネットワークの状態に応じ
て目標ビットレートを設定し、b.2)前記設定された
目標ビットレートと現在設定されているビットレートと
の差の大きさに依存して、前記現在設定されているビッ
トレートに隣接するビットレートの一方を選択する確率
を変化させる、ことを特徴とする。
【0036】すなわち、現在設定されているビットレー
トと算出された目標ビットレートとの差が大きいほど、
ビットレート変更の確率が大きくなる。したがって、現
在設定されているビットレートが目標ビットレートから
離れている端末では、ビットレートが変更される確率が
高くなり、目標ビットレートに近い端末では低くなる。
このために、全端末の平均設定ビットレートは目標ビッ
トレート近くになり、TCPなどの他の制御方式との公
平性を維持できると共に、各端末が目標ビットレートに
近づこうとしてビットレートの設定を頻繁に変動させる
という従来生じていた事態を回避することができる。さ
らに、本発明の第2実施形態によれば、各端末におい
て、現在設定されているビットレートR(n)から1ステッ
プ上下するだけであり、急激なビットレート変更は生じ
ない。このことは、音声・画像の品質劣化を抑える効果
がある。
【0037】本発明の第3実施形態によれば、前記ステ
ップ(b)は、b.1)前記ネットワークの状態に応じ
てビットレートの変更方向を決定し、b.2)前記複数
の離散的ビットレートにおける前記現在設定されている
ビットレートの高さに依存して、前記現在設定されてい
るビットレートに隣接するビットレートの一方を選択す
る確率を変化させる、ことを特徴とする。
【0038】たとえば、パケットの損失が検出されてビ
ットレートを低下させる必要が生じた場合、あるいは、
パケット損失が検出されないことからビットレートを上
昇させることができる場合には、現在設定されているビ
ットレートがビットレート設定可能範囲のどの位置にあ
るかによって、ビットレート変更の確率を変化させる。
具体的には、パケットの損失が検出されるようになる
と、現在設定されているビットレートが高い端末では、
ビットレートを低下させる確率を高くし、低い端末では
低くする。逆に、パケットの損失が検出されない場合に
は、現在設定されているビットレートが低い端末は、ビ
ットレートを上昇させる確率を高くし、高い端末では低
くする。このために、全端末間で公平なビットレート設
定が可能となり、ネットワークの利用効率を最適化でき
ると共に、各端末が目標ビットレートに近づこうとして
ビットレートの設定を頻繁に変動させるという従来生じ
ていた事態を回避することができる。さらに、TCPフレ
ンドリー制御と整合するようにビットレート変更確率を
設定することで、端末間の公平性およびTCPとの公平性
を確保することができる。
【0039】本発明の第4実施形態によれば、前記ステ
ップ(b)において、隣接するビットレートの間隔に依
存して前記確率を決定することを特徴とする。すなわ
ち、隣接ビットレートの間隔の大きさをビットレート低
下及び上昇確率に反映させる。たとえば、隣接ビットレ
ートまでの距離が大きいほどビットレート変更確率を小
さくすることで、音声・画像の品質劣化を抑制すること
ができる。
【0040】
【発明の実施の形態】本発明によるビットレート制御を
採用した音声・画像通信装置は、全体的なブロック構成
としては図8に示すものと基本的に同じであるが、ビッ
トレート制御部405の動作が従来と異なる。
【0041】以下、音声・画像符号化部402がN種類
のビットレートR(0)〜R(N-1)を有するものとして、本発
明によるビットレート制御の実施形態を詳細に説明す
る。ただし、R(0) < R(1) <・・・< R(N-1)とする。
【0042】(1)第1実施形態 図1は、本発明の第1実施形態によるビットレート制御
を示すフローチャートである。まず、目標とするビット
レートRtを従来のAIMD又はTFRCに基くTCPフレンドリー
制御等を用いて計算する(ステップ101)。
【0043】このRtに対し、R(n)≦Rt<R(n+1)となるn
を求め、ビットレートがR(n)となる確率Pを、RtがR(n)
に近い程確率が高くなるような式、たとえば式(2)を
用いて計算する(ステップ102)。
【0044】 P(n) = (R(n+1)-Rt) / (R(n+1)-R(n)) (2)。
【0045】なお、このような式の代わりに、ビットレ
ートと確率P(n)と対応関係を具体的な数値として格納
したテーブルを用いて、検索により確率を決定すること
も可能である。いずれにしても、このような式あるいは
テーブルは、変更確率生成情報としてメモリに予め格納
されている。
【0046】次に、確率P(n)に基づくビットレート判
定を実行する。本実施形態では、たとえば乱数を用いて
ビットレート判定を行う。まず、乱数(正確には、疑似
乱数)Poを0≦Po<1の範囲で生成する(ステップ
103)。ここでは、一様乱数を用いる。得られた乱数
Poをステップ102で算出した確率P(n)と比較し、ビ
ットレートをR(n)にするかR(n+1)にするかを判定する
(ステップ104)。ここでは、Po<P(n)の時には
(ステップ104のYES)、R(n)と判定され、Po≧
P(n)の時には(ステップ104のNO)、R(n+1)と判
定される。
【0047】ビットレートがR(n)と判定された場合はR=
R(n)と設定し(ステップ105)、R(n+1)と判定された
場合はR=R(n+1)と設定して(ステップ106)、Rを符
号化器に出力する(ステップ107)。こうして、音声
・画像符号化部402は、指定されたビットレートRで
入力音声・画像データを符号化し、符号化されたデータ
がパケット送信部403を通してネットワークへ送出さ
れる。
【0048】以上説明したように、本発明の第1実施形
態によれば、目標ビットレートが算出されると、その目
標ビットレートに隣接する離散的ビットレートが決定さ
れ、その何れのビットレートに符号化器を設定するか
は、目標ビットレートが何れのビットレートに近いかに
依存して確率的に決定される。
【0049】したがって、目標ビットレートがビットレ
ートR(n)に近ければ、そのビットレートR(n)に設定され
る確率が高くなる。ネットワークに多数の端末が接続さ
れ、それらの端末で目標ビットレートがほぼ同じ程度で
あると仮定すれば、その確率に対応する数の端末がビッ
トレートR(n)に設定され、その他の端末がビットレート
R(n+1)に設定される、と推定できる。したがって、全端
末の平均設定ビットレートは目標ビットレート近くにな
り、このために、TCPなどの他の制御方式との公平性
を保持できると共に、各端末が目標ビットレートに近づ
こうとしてビットレートの設定を頻繁に変動させるとい
う従来生じていた事態を回避することができる。
【0050】(2)第2実施形態 本発明の第2実施形態では、現在のビットレートと目標
ビットレートとの差に依存してビットレート変更の確率
を決定し、その際、ビットレートの大きな変動を避ける
ために隣接したビットレートにのみ変更可能としてい
る。
【0051】2.1)制御フロー 図2は、本発明の第2実施形態によるビットレート制御
を示すフローチャートである。まず、第1実施形態と同
じく目標とするビットレートRtを計算し(ステップ10
1)、目標ビットレートが現在のビットレートR(n)より
も小さいか否かを判定する(ステップ202)。Rtの方
が小さいと判定された場合には(ステップ202のYE
S)、ビットレートを下げるか否かの判定を行い(ビッ
トレート低下判定:ステップ204〜207)、そうで
ない場合は(ステップ202のNO)、Rtと現在のビッ
トレートR(n)とが等しいか否かを判定する(ステップ2
03)。
【0052】Rtと現在のビットレートとが等しいと判定
された場合は(ステップ203のYES)、そのままR=
R(n)とする(ステップ214)。そうでない場合は(ス
テップ203のNO)、ビットレートを上げるか否かの
判定を行う(ビットレート上昇判定:ステップ209〜
212)。
【0053】ビットレート低下判定(ステップ204〜
207)では、まず、RtとR(n)の差が大きい程、値が大
きくなるような確率Pd(n)を計算する(ステップ20
4)。次式(3)は、このような計算式の一例である。
【0054】 Pd(n) = (R(n)-Rt) / (R(N-1)-R(0)) (3)。
【0055】次に、確率Pd(n)に基づくビットレート変
更判定を実行する。本実施形態では、たとえば乱数を用
いてビットレート判定を行う。まず、乱数(正確には、
疑似乱数)Poを0≦Po<1の範囲で生成する(ステ
ップ205)。ここでは、一様乱数を用いる。続いて、
得られた乱数Poをステップ204で算出した確率Pd
(n)と比較する(ステップ206)。
【0056】Po<Pd(n)であれば(ステップ206の
YES)、さらに現在のビットレートR(n) が下限であ
るか否か(ここでは、n=0であるか否か)を判定する
(ステップ207)。現在のビットレートR(n) が下限
でなければ(ステップ207のYES)、ビットレート
を下げると判定され、nをデクリメントし(ステップ2
08)、R=R(n)と設定する(ステップ214)。
【0057】Po≧Pd(n)の場合(ステップ206のN
O)あるいは現在のビットレートR(n) が下限の場合
(ステップ207のNO)には、ビットレートを変更し
ないと判定され、そのままR=R(n)とする(ステップ21
4)。
【0058】ビットレート上昇判定(ステップ209〜
212)では、まず、RtとR(n)の差が大きい程、値が大
きくなるような確率Pu(n)を計算する(ステップ20
9)。次式(4)は、このような計算式の一例である。
【0059】 Pu (n) = (Rt-R(n)) / (R(N-1)-R(0)) (4)。
【0060】次に、確率Pu(n)に基づくビットレート変
更判定を実行する。本実施形態では、たとえば乱数を用
いてビットレート判定を行う。まず、乱数(正確には、
疑似乱数)Poを0≦Po<1の範囲で生成する(ステ
ップ210)。ここでは、一様乱数を用いる。続いて、
得られた乱数Poをステップ209で算出した確率Pu
(n)と比較する(ステップ211)。
【0061】Po<Pu(n)であれば(ステップ211の
YES)、さらに現在のビットレートR(n) が上限であ
るか否か(ここでは、n=N−1であるか否か)を判定
する(ステップ212)。現在のビットレートR(n) が
上限でなければ(ステップ212のYES)、ビットレ
ートを上げると判定され、nをインクリメントし(ステ
ップ213)、R=R(n)と設定する(ステップ214)。
【0062】Po≧Pu(n)の場合(ステップ211のN
O)あるいは現在のビットレートR(n) が上限の場合
(ステップ212のNO)には、ビットレートを変更し
ないと判定され、そのままR=R(n)とする(ステップ21
4)。
【0063】このようにして決定されたRを符号化器に
出力する(ステップ215)。こうして、音声・画像符
号化部402は、指定されたビットレートRで入力音声
・画像データを符号化し、符号化されたデータがパケッ
ト送信部403を通してネットワークへ送出される。
2.2)確率Pd(n)の他の計算式
【0064】確率Pd(n)の計算式としては、上記式
(3)のほかに、次のようなバリエーションを用いるこ
とができる。
【0065】 Pd(n) = (R(n)-Rt) / (R(n)-R(0)) (3.1)。
【0066】 Rt < Rm の時、 Pd(n) = (Rm-Rt) / (Rm-R(0)) , Rt >= Rm の時、Pd(n) = 0 ただし、Rm = (R(n)+R(n-1))/2 (3.2)。
【0067】 Rt > R(n-1) の時、 Pd(n) = (R(n)-Rt) / (R(n)-R(n-1)) , Rt <= R(n-1) の時、 Pd(n) = 1 (3.3)。
【0068】 Rt <= R(n-1) の時、 Pd(n) = 1 R(n-1) < Rt <= Rm の時、Pd(n) = (Rm-Rt) / (Rm-R(n-1)) , Rt > Rm の時、 Pd(n) = 0 ただし、Rm = (R(n)+R(n-1))/2 (3.4)。
【0069】図3は、式(3.1)〜式(3.4)にそ
れぞれ対応する確率Pdの変化を示すグラフである。図3
の参照番号(1)〜(4)がそれぞれ式(3.1)〜式
(3.4)に対応する。
【0070】式(3.1)(図3の(1))は、式
(3)の分母を現在のビットレートR(n)と最低のビッ
トレートR(0)との差に置き換えたものであり、目標ビ
ットレートRtが現在のビットレートR(n)から離れて
いるほど値が高くなるような確率Pd(n)を生成する。
【0071】式3.2(図3の(2))も、式(3.
1)と同様の確率Pd(n)を生成するが、目標ビットレー
トRtが隣接したビットレートよりも現在のビットレー
トR(n)に近い場合には確率Pd(n)を0にする。これによ
って、ビットレートの無駄な変動を抑えることができ
る。
【0072】式3.3(図3の(3))は、目標ビット
レートRtが隣接したビットレートより近い場合には現
在のビットレートR(n)から離れているほど値が高くな
るような確率Pd(n)を生成し、隣接したビットレートよ
り離れている場合には確率Pd(n)を1に固定する。
【0073】式3.4(図3の(4))も、式(3.
3)と同様の確率Pd(n)を生成するが、目標ビットレー
トRtが隣接したビットレートよりも現在のビットレー
トR(n)に近い場合には確率Pd(n)を0にする。これによ
って、ビットレートの無駄な変動を抑えることができ
る。
【0074】ここで、式(3.1)〜式(3.4)の各
々に1より小さい定数を乗じることもできる。この場
合、この定数の値を小さくするほど、ビットレートの変
動を抑えることができるが、目標ビットレートへの追従
性が低下する。
【0075】2.3)確率Pu(n)の他の計算式 確率Pu(n)の計算式としては、上記式(4)のほかに、
次のようなバリエーションを用いることができる。
【0076】 Pu(n) = (Rt-R(n)) / (R(n)-R(0)) (4.1)。
【0077】 Rt > Rm の時、 Pu(n) = (Rt-Rm) / (Rm-R(0)) , Rt <= Rm の時、Pu(n) = 0 ただし、Rm = (R(n)+R(n+1))/2 (4.2)。
【0078】 Rt < R(n+1) の時、 Pu(n) = (Rt-R(n)) / (R(n)-R(n+1)) , Rt >= R(n+1) の時、 Pu(n) = 1 (4.3)。
【0079】 Rt < Rm の時、 Pu(n) = 0 Rm <= Rt < R(n+1) の時、Pu(n) = (Rt-Rm) / (Rm-R(n+1)) , Rt >= R(n+1) の時、 Pu(n) = 1 ただし、Rm = (R(n)+R(n+1))/2 (4.4)。
【0080】図4は、式(4.1)〜式(4.4)にそ
れぞれ対応する確率Pu の変化を示すグラフである。図
4の参照番号(1)〜(4)がそれぞれ式(4.1)〜
式(4.4)に対応する。
【0081】式(4.1)(図4の(1))は、式
(4)の分母を現在のビットレートR(n)と最低のビッ
トレートR(0)との差に置き換えたものであり、目標ビ
ットレートRtが現在のビットレートR(n)から離れて
いるほど値が高くなるような確率Pu(n)を生成する。
【0082】式4.2(図4の(2))も、式(4.
1)と同様の確率Puを生成するが、目標ビットレート
Rtが隣接したビットレートよりも現在のビットレート
R(n)に近い場合には確率Pu(n)を0にする。これによっ
て、ビットレートの無駄な変動を抑えることができる。
【0083】式4.3(図4の(3))は、目標ビット
レートRtが隣接したビットレートより近い場合には現
在のビットレートR(n)から離れているほど値が高くな
るような確率Pu(n)を生成し、隣接したビットレートよ
り離れている場合には確率Pu(n)を1に固定する。
【0084】式4.4(図4の(4))も、式(4.
3)と同様の確率Pu(n)を生成するが、目標ビットレー
トRtが隣接したビットレートよりも現在のビットレー
トR(n)に近い場合には確率Pu(n)を0にする。これによ
って、ビットレートの無駄な変動を抑えることができ
る。
【0085】ここで、式(4.1)〜式(4.4)の各
々に1より小さい定数を乗じることもできる。この場
合、この定数の値を小さくするほど、ビットレートの変
動を抑えることができるが、目標ビットレートへの追従
性は低下する。
【0086】なお、上記式(3)、(4)、(3.1)
〜(3.4)および(4.1)〜(4.4)の代わり
に、ビットレートと確率Pd(n)/Pu(n)との対応関係を具
体的な数値として格納したテーブルを用いて、検索によ
り確率を決定することも可能である。いずれにしても、
このような式あるいはテーブルは、変更確率生成情報と
してメモリに予め格納されている。
【0087】以上説明したように、本発明の第2実施形
態によれば、現在設定されているビットレートR(n)と算
出された目標ビットレートRtとの差が大きいほど、ビッ
トレート変更の確率が大きくなる。すなわち、現在設定
されているビットレートR(n)が目標ビットレートRtから
離れている端末では、ビットレートが変更される確率が
高くなり、目標ビットレートに近い端末では低くなる。
【0088】したがって、ネットワークに多数の端末が
接続され、それらの端末で目標ビットレートがほぼ同じ
程度であると仮定すれば、全端末の平均設定ビットレー
トは目標ビットレート近くになる。このために、TCP
などの他の制御方式との公平性を維持できると共に、各
端末が目標ビットレートに近づこうとしてビットレート
の設定を頻繁に変動させるという従来生じていた事態を
回避することができる。さらに、本発明の第2実施形態
によれば、各端末において、現在設定されているビット
レートR(n)から1ステップ上下するだけであり、急激な
ビットレート変更は生じない。このことは、音声・画像
の品質劣化を抑える効果がある。
【0089】(3)第3実施形態 本発明の第3実施形態では、AIMDにおける動作と同様
に、パケット損失に応じてビットレートを変更する。ビ
ットレート変更時に確率に基いた判定を行うことによ
り、ビットレートが離散的であっても、TCPフレンドリ
ー制御を実現できる。
【0090】3.1)制御フロー 図5は、本発明の第3実施形態によるビットレート制御
を示すフローチャートである。図5において、まず、受
信した音声・画像パケットの損失数や相手側端末から通
知されたパケット損失率などに基づいてパケット損失の
有無を検出し(ステップ301)、パケット損失がある
か否かの判定を行う(ステップ302)。
【0091】パケット損失がある場合には(ステップ3
02のYES)、ビットレートを下げるか否かの判定
(ビットレート低下判定)を行い(ステップ303〜3
06)、パケット損失がない場合には(ステップ302
のNO)、ビットレートを上げるか否かの判定(ビット
レート上昇判定)を行う(ステップ308〜311)。
【0092】ビットレート低下判定(ステップ303〜
306)では、まず、現在のビットレートが高い程、値
が大きくなるような確率Pd(n)を計算する(ステップ3
03)。次式(5)は、このような計算式の一例であ
る。
【0093】 Pd(n) = (R(n)-R(0)) / (R(N-1)-R(0)) (5)。
【0094】次に、確率Pd(n) に基づくビットレート変
更判定を実行する。本実施形態では、乱数を用いてビッ
トレート判定を行う。まず、乱数(正確には、疑似乱
数)Poを0≦Po<1の範囲で生成する(ステップ3
04)。ここでは、一様乱数を用いる。続いて、得られ
た乱数Poをステップ303で算出した確率Pd(n) と比
較する(ステップ305)。
【0095】Po<Pd(n)であれば(ステップ305の
YES)、さらに現在のビットレートR(n) が下限であ
るか否か(ここでは、n=0であるか否か)を判定する
(ステップ306)。現在のビットレートR(n) が下限
でなければ(ステップ306のYES)、ビットレート
を下げると判定され、nをデクリメントし(ステップ3
07)、R=R(n)と設定する(ステップ313)。
【0096】Po≧Pd(n)の場合(ステップ305のN
O)あるいは現在のビットレートR(n) が下限の場合
(ステップ306のNO)には、ビットレートを変更し
ないと判定され、そのままR=R(n)とする(ステップ31
3)。
【0097】ビットレート上昇判定(ステップ308〜
311)では、まず、現在のビットレートR(n)が低い
程、値が大きくなるような確率Pu(n) を計算する(ステ
ップ308)。次式(6)は、このような計算式の一例
である。
【0098】 Pu(n) = (R(N-1)-R(n)) / (R(N-1)-R(0)) (6)。
【0099】次に、確率Pu(n) に基づくビットレート変
更判定を実行する。本実施形態では、乱数を用いてビッ
トレート判定を行う。まず、乱数(正確には、疑似乱
数)Poを0≦Po<1の範囲で生成する(ステップ3
09)。ここでは、一様乱数を用いる。続いて、得られ
た乱数Poをステップ308で算出した確率Pu(n) と比
較する(ステップ310)。
【0100】Po<Pu(n)であれば(ステップ310の
YES)、さらに現在のビットレートR(n) が上限であ
るか否か(ここでは、n=N−1であるか否か)を判定
する(ステップ311)。現在のビットレートR(n) が
上限でなければ(ステップ311のYES)、ビットレ
ートを上げると判定され、nをインクリメントし(ステ
ップ312)、R=R(n)と設定する(ステップ313)。
【0101】Po≧Pu(n)の場合(ステップ310のN
O)あるいは現在のビットレートR(n) が上限の場合
(ステップ311のNO)には、ビットレートを変更し
ないと判定され、そのままR=R(n)とする(ステップ31
3)。このようにして決定されたRを符号化器に出力す
る(ステップ314)。こうして、音声・画像符号化部
402は、指定されたビットレートRで入力音声・画像
データを符号化し、符号化されたデータがパケット送信
部403を通してネットワークへ送出される。
【0102】ここで、式(5)および式(6)に1より
小さい定数を乗じることもできる。この場合、この定数
の値を小さくするほど、ビットレートの変動を抑えるこ
とができるが、目標ビットレートへの追従性は低下す
る。
【0103】なお、上記式(5)および(6)の代わり
に、ビットレートと確率Pd/Puとの対応関係を具体
的な数値として格納したテーブルを用いて、検索により
確率を決定することも可能である。いずれにしても、こ
のような式あるいはテーブルは、変更確率生成情報とし
てメモリに予め格納されている。
【0104】3.2)他の確率設定法 次に、本実施形態における制御をTCPフレンドリー制御
にする場合の図5のステップ303および308で算出
される確率Pd(n)およびPu(n)の設定法を示す。
【0105】まず、AIMD動作に基くTCPフレンドリー制
御におけるビットレート増加時の加算値およびビットレ
ート減少時の乗算値をそれぞれAおよびMであるとす
る。本実施形態における制御とAIMD動作に基くTCPフレ
ンドリー制御とにおいて、増加値の平均が等しいことを
示す式(7)を解くことにより、ビットレートを上げる
ときの確率Pu(n)を求めることができる。
【0106】 A = [R(n+1)-R(n)]Pu(n) (7) Pu(n) = A / [R(n+1)-R(n)]。
【0107】また、AIMD動作に基くTCPフレンドリー制
御では、ビットレートがR(n)におけるビットレート減少
値D(n)は、式(8)で示される。
【0108】 D(n) = (1-M)R(n) (8)。
【0109】よって、本実施形態における制御とAIMD動
作に基くTCPフレンドリー制御とにおいて、減少値の平
均が等しいことを示す式(9)を解くことにより、ビッ
トレートを下げる時のPd(n)を求めることができる。
【0110】 D(n) = [R(n)-R(n-1)]Pd(n) (9) Pd(n) = D(n) / [R(n)-R(n-1)]。
【0111】このようにビットレートを下げるときの確
率Pd(n)および上げるときの確率Pu(n)を設定すること
で、ビットレート制御をTCPフレンドリー制御にするこ
とができる。
【0112】なお、上記式(5)〜(9)のような計算
式の代わりに、離散的ビットレートの各々に対してビッ
トレートを低下させる確率Pdと上昇させる確率Puとをテ
ーブルにあらかじめ格納し、現在のビットレートR(n)を
用いて検索することで同様のビットレート変更確率を求
めることもできる。
【0113】以上説明したように、本発明の第3実施形
態によれば、パケットの損失が検出されてビットレート
を低下させる必要が生じた場合、あるいは、パケット損
失が検出されないことからビットレートを上昇させるこ
とができる場合には、現在設定されているビットレート
R(n)がビットレート設定可能範囲のどの位置にあるかに
よって、ビットレート変更の確率を変化させる。具体的
には、パケットの損失が検出されるようになると、現在
設定されているビットレートR(n)が高い端末では、ビッ
トレートを低下させる確率を高くし、低い端末では低く
する。逆に、パケットの損失が検出されい場合には、ネ
ットワークは順調に動作しているから、現在設定されて
いるビットレートR(n)が低い端末は、ビットレートを上
昇させる確率を高くし、高い端末では低くする。
【0114】したがって、ネットワークに多数の端末が
接続され、それらがパケットの損失を検出したと仮定す
れば、ビットレートが高い端末ほど多くビットレートが
低下し、パケット損失が検出されない場合にはビットレ
ートが低い端末ほど多く上昇する。このために、全端末
間で公平なビットレート設定が可能となり、ネットワー
クの利用効率を最適化できると共に、各端末が目標ビッ
トレートに近づこうとしてビットレートの設定を頻繁に
変動させるという従来生じていた事態を回避することが
できる。
【0115】さらに、TCPフレンドリー制御と整合する
ようにビットレート変更確率を設定することで、端末間
の公平性およびTCPとの公平性を確保することができ
る。
【0116】(4)第4実施形態 本発明の第4実施形態によるビットレート制御では、上
記第2実施形態あるいは第3実施形態におけるビットレ
ート低下及び上昇確率Pd(n)およびPu(n)に隣接ビットレ
ートの間隔の大きさを反映させる。たとえば、隣接ビッ
トレートまでの距離が大きいほどビットレート変更確率
を小さくすることで、音声・画像の品質劣化をさらに抑
制することができる。
【0117】上述したように、音声・画像符号化部40
2が有するN個のビットレートR(0)〜R(N-1)は、R(0) <
R(1) <・・・< R(N-1)であるが、隣接するビットレート
の間隔R(n)-R(n-1) あるいは R(n+1)-R(n) は一般に均
一ではない。たとえば、音声・画像符号化部402が3
つのビットレート(10kbps, 64kbps および128kbps)を
有する場合には、R(1)-R(0) = 54kbps、R(2)-R(1) = 64
kbps となる。
【0118】このようにビットレート間隔が不均一であ
る場合、一律の確率計算でビットレート変更を行うと、
端末によっては大きなビットレート変更が生じて音声・
画像の品質を劣化させる要因となる場合がある。そこ
で、本実施形態では、隣接ビットレートとの距離に応じ
てビットレート変更確率をあらかじめ設定しておく。以
下、具体的に説明する。
【0119】隣接ビットレートとの距離に応じてビット
レート変更確率を設定する場合には、計算式よりもテー
ブルを使用する方が適している。たとえば、次表に示す
ように、離散的ビットレートの各々に対してビットレー
トを低下させる確率Pd(n)と上昇させる確率Pu(n)とをテ
ーブルにあらかじめ格納しておく。
【0120】
【表1】 離散的ビットレートの各々に対するビットレート低下/
上昇確率Pd(n)/Pu(n)は、隣接ビットレートとの距離が
大きくなるほど、値が小さくなるように設定する。
【0121】たとえば、現在設定されているビットレー
トをR(n)としたときに、次式(10)および(11)の
ように、ビットレート変更確率を隣接ビットレートとの
距離に反比例させる。
【0122】 Pd(n) = Cd(n) / (R(n)-R(n-1)) (10) Pu(n) = Cu(n) / (R(n+1)-R(n)) (11)。
【0123】ただし、Cd(n) は、第2実施形態における
式(3)、(3.1)あるいは(3.2)、または、第
3実施形態の式(5)により定まる。Cu(n) は、第2実
施形態における式(4)、(4.1)あるいは(4.
2)、または、第3実施形態の式(6)により定まる。
【0124】このようなビットレート変更確率設定ステ
ップを、図2のステップ204および209、図5のス
テップ303および308の代わりに用いることで、隣
接ビットレートまでの距離が大きいほどビットレート変
更確率が小さくなり、大きなビットレート変更が抑えら
れ、音声・画像の品質劣化を抑制することができる。
【0125】(5)ビットレート制御部の構成例 図6は、本発明の上記各実施形態を実現するビットレー
ト制御部の構成を示すブロック図である。ビットレート
制御部は、デジタルシグナルプロセッサ(DSP)や中
央処理装置(CPU)などのプログラム制御プロセッサ
601と、プログラムメモリ602と、確率の計算式あ
るいはテーブルを格納したメモリ(図示せず)と、から
構成され、プログラムメモリ602には上記第1〜第4
実施形態のいずれかに対応するビットレート制御プログ
ラムがあらかじめ格納されている。
【0126】プログラム制御プロセッサ601は、プロ
グラムメモリ602からビットレート制御プログラムを
読み出して実行し、計算式あるいはテーブルを参照しな
がらラウンドトリップ時間あるいはパケット損失率など
を用いてビットレートRを決定し、それを音声・画像符
号化器402へ出力する。
【0127】(6)ビットレート制御システム 上述したように、図8に示す端末では、たとえばパケッ
ト受信部404でRTCPパケットを受信し、そこからラウ
ンドトリップ時間およびパケット損失率に関する情報を
抽出して、本発明によるビットレート制御部405に出
力する。ビットレート制御部405では、上述したプロ
セスによりビットレート制御が行われる。すなわち、自
端末内でビットレートの制御が行われる。これに対し
て、相手側の端末から自端末のビットレートが制御され
るように構成することも可能である。
【0128】図7は、相手側からビットレート制御が行
われる場合のシステム構成を示すブロック図である。こ
こでは説明を簡単にするために、ネットワークに2つの
端末AおよびBが接続され、互いに音声・画像データを
送受信しているものとする。また、図8と同様の機能を
有するブロックには同じ参照番号を付けて説明は省略す
る。
【0129】図7において、たとえば端末Aのパケット
受信部504が相手側の端末Bからネットワークを通し
て音声・画像パケットを受信すると、受信した音声・画
像パケットの損失数などからパケット損失率などの情報
を生成し、ビットレート制御部505へ出力する。ビッ
トレート制御部505は、パケット損失率などの情報に
基づいて、本発明の第1〜第4実施形態で説明したよう
にビットレートRを決定し、そのビットレート情報をパ
ケット送信部503へ出力する。また、パケット受信部
504は、端末Bにより生成されたビットレート情報を
抽出して、音声・画像符号化部402へ出力する。パケ
ット送信部503は、ビットレート情報と符号化された
音声・画像情報とから送信パケットを生成し、ネットワ
ークを通して端末Bへ送信する。たとえば、RTPによ
る音声通信において、AMR(Adaptive Multi-Rate)
音声Codecを用いる場合、ヘッダに4ビットのCMR(C
odec Mode Request)というフィールドがあり、相手側
から自端末へ向けて送信するビットレートをCodec Mode
(ビットレートに対応する番号)によって指定すること
ができる。
【0130】端末Bは、端末Aからパケットを受信する
と、そこからビットレート情報を抽出し、音声・画像符
号化部402へ出力する。音声・画像符号化部402
は、そのビットレート情報により指定されたビットレー
トRで送信音声・画像情報401を符号化し、符号化さ
れた音声・画像データは、ビットレート制御部505に
より生成されたビットレート情報とともにパケット送信
部503から端末Aへ送信される。
【0131】このように、端末AおよびBが互いに相手
の送信ビットレートを制御することで、RTCPパケッ
トを用いてネットワークの情報をやりとりする必要がな
く、RTCPパケットにより消費される帯域を節約する
ことができる。
【0132】さらに、RTCPパケットの送信間隔は5
秒程度であるためにネットワークの変化に素早く対応す
ることができないが、各端末が受信したパケットからネ
ットワークの状況を検出するために、ネットワークの変
化に迅速に対応することができ、本発明の効果をさらに
向上させることができる。
【0133】なお、上記第1〜第4実施形態において、
連続してビットレートが変更されることにより生じる音
質及び画質の劣化を避けるために、ビットレートを変更
してから一定時間は、ビットレートを変更する確率を0
又は小さくすることも可能である。
【0134】さらに、本発明によるビットレート制御方
法は更新時間によらず適用可能である。たとえば、更新
時間が10秒で遷移確率を0.1と設計した場合、更新
時間が1秒に変わったとしても、遷移確率を1/10の
0.01に調整すれば、ほぼ同様の効果を維持すること
ができる。
【0135】
【発明の効果】以上詳細に説明したように、本発明によ
れば、ネットワークの状態に応じてビットレートを制御
する際に、確率に基いてビットレートを決定するため
に、リアルタイムトラフィックの品質劣化を引き起こす
ようなビットレートの激しい変動を抑えることができ、
しかもTCPとの公平性を実現することができる。
【0136】すなわち、通信システムの全端末の各々に
おいて利用可能なビットレートが離散的であっても、全
端末のビットレートを平均した値が所望のビットレート
となるように各端末のビットレートを変更する確率値を
定めることにより、各端末においてビットレートの変動
の少ない制御が可能となり、音声・画像などのリアルタ
イム通信の品質を向上させることができる。
【図面の簡単な説明】
【図1】 本発明の第1実施形態によるビットレート制
御方法を示すフローチャートである。
【図2】 本発明の第2実施形態によるビットレート制
御方法を示すフローチャートである。
【図3】 ビットレート低下判定における確率計算式
(3.1)〜式(3.4)にそれぞれ対応する確率Pd
の変化を示すグラフである。
【図4】 ビットレート上昇判定における確率計算式
(4.1)〜式(4.4)にそれぞれ対応する確率Pu
の変化を示すグラフである。
【図5】 本発明の第3実施形態によるビットレート制
御方法を示すフローチャートである。
【図6】 本発明の上記各実施形態を実現するビットレ
ート制御部の構成を示すブロック図である。
【図7】 相手側からビットレート制御が行われる場合
のシステム構成を示すブロック図である。
【図8】 音声・画像通信装置の基本的なブロック構成
図である。
【図9】 (a)は、従来のビットレート変動を模式的
に示す図であり、(b)は本発明によるビットレート変
動を模式的に示す図である。
【符号の説明】 401 入力音声・画像データ 402 音声・画像符号化部 403 パケット送信部 404 パケット受信部 405 ビットレート制御部 406 音声・画像復号部 407 出力音声・画像データ
───────────────────────────────────────────────────── フロントページの続き Fターム(参考) 5C059 KK01 RB02 RF01 SS06 TA71 TC22 TC37 TD03 TD10 TD11 UA02 5K030 HA08 HB01 HB02 LC09 LC11 LE16 MB05 MB06

Claims (42)

    【特許請求の範囲】
  1. 【請求項1】 ネットワークを通してリアルタイムトラ
    フィックを送信する際のビットレート制御方法におい
    て、 a)複数の予め定められた離散的ビットレートを用意
    し、 b)前記複数の離散的ビットレートのうち任意の隣接し
    たビットレートの一方を選択する確率を決定し、 c)前記決定された確率に基づいて、いずれか一方のビ
    ットレートを設定するか否かを判定する、 ことを特徴とするビットレート制御方法。
  2. 【請求項2】 前記ステップ(b)は、 b.1)前記ネットワークの状態に応じて目標ビットレ
    ートを設定し、 b.2)前記設定された目標ビットレートに隣接するビ
    ットレートを決定し、 b.3)前記設定された目標ビットレートが前記隣接ビ
    ットレートの一方に近いほど、当該一方のビットレート
    を選択する確率を高くする、 ことを特徴とする請求項1記載のビットレート制御方
    法。
  3. 【請求項3】 現在設定されているビットレートの変更
    は、一段高い隣接ビットレートへの変更、一段低い隣接
    ビットレートへの変更、および、変更なし、のいずれか
    であることを特徴とする請求項1記載のビットレート制
    御方法。
  4. 【請求項4】 前記ステップ(b)は、 b.1)前記ネットワークの状態に応じて目標ビットレ
    ートを設定し、 b.2)前記設定された目標ビットレートと現在設定さ
    れているビットレートとの差の大きさに依存して、前記
    現在設定されているビットレートに隣接するビットレー
    トの一方を選択する確率を変化させる、 ことを特徴とする請求項3記載のビットレート制御方
    法。
  5. 【請求項5】 前記ステップ(b)は、 b.1)前記ネットワークの状態に応じてビットレート
    の変更方向を決定し、 b.2)前記複数の離散的ビットレートにおける前記現
    在設定されているビットレートの高さに依存して、前記
    現在設定されているビットレートに隣接するビットレー
    トの一方を選択する確率を変化させる、 ことを特徴とする請求項3記載のビットレート制御方
    法。
  6. 【請求項6】 前記ステップ(b)において、隣接する
    ビットレートの間隔に依存して前記確率を決定すること
    を特徴とする請求項1記載のビットレート制御方法。
  7. 【請求項7】 さらに、 d)前記ステップ(c)によって現在設定されているビ
    ットレートが変更されたか否かを判定し、 e)ビットレートが変更された場合には、変更後の予め
    定められた時間が経過するまで、前記確率を通常の確率
    よりも小さくする、 ことを特徴とする請求項1ないし6のいずれかに記載の
    ビットレート制御方法。
  8. 【請求項8】 前記予め定められた時間が経過するまで
    前記確率を0に設定することを特徴とする請求項7記載
    のビットレート制御方法。
  9. 【請求項9】 ネットワークを通してリアルタイムトラ
    フィックを送信する際のビットレート制御方法におい
    て、 a)複数の予め定められた離散的ビットレートを用意
    し、 b)前記離散的ビットレートの任意の隣接ビットレート
    のうち、一方に近いほど、当該一方のビットレートを選
    択する確率が高くなるような変更確率生成情報を用意
    し、 c)前記ネットワークの状態に応じて目標ビットレート
    を設定し、 d)前記設定された目標ビットレートに隣接するビット
    レートと前記変更確率生成情報とに基づいて、前記隣接
    するビットレートのいずれか一方を選択する確率を決定
    し、 e)前記決定された確率に基づいて、前記いずれか一方
    のビットレートに設定する、 ことを特徴とするビットレート制御方法。
  10. 【請求項10】 前記変更確率生成情報は、次式 P = (R(n+1)-Rt) / (R(n+1)-R(n)) (Pは前記確率、Rtは前記設定された目標ビットレー
    ト、R(n)は前記現在設定されているビットレート、
    R(n+1)は前記現在設定されているビットレートに
    隣接する1段高いビットレートである。)によって表現
    されることを特徴とする請求項9記載のビットレート制
    御方法。
  11. 【請求項11】 前記ステップ(c)において、前記目
    標ビットレートはTCP(Transmission Control Protoc
    ol)フレンドリー制御に従って計算されることを特徴と
    する請求項9または10記載のビットレート制御方法。
  12. 【請求項12】 ネットワークを通してリアルタイムト
    ラフィックを送信する際のビットレート制御方法におい
    て、 a)複数の予め定められた離散的ビットレートを用意
    し、 b)目標ビットレートと現在設定されているビットレー
    トとの差が大きいほど、前記現在設定されているビット
    レートに隣接するビットレートの一方を選択する確率が
    高くなるような変更確率生成情報を用意し、 c)前記ネットワークの状態に応じて目標ビットレート
    を設定し、 d)前記設定された目標ビットレートと前記変更確率生
    成情報とに基づいて、前記現在設定されているビットレ
    ートに隣接するビットレートのいずれか一方を選択する
    確率を決定し、 e)前記決定された確率に基づいて、前記いずれか一方
    のビットレートを設定するか否かを判定する、 ことを特徴とするビットレート制御方法。
  13. 【請求項13】 前記変更確率生成情報では、 前記現在設定されているビットレートが前記目標ビット
    レートより高い場合には、その差が大きいほど、前記現
    在設定されているビットレートを低い方の隣接ビットレ
    ートへ変更する確率を高くし、 前記現在設定されているビットレートが前記目標ビット
    レートより低い場合には、その差が大きいほど、前記現
    在設定されているビットレートを高い方の隣接ビットレ
    ートへ変更する確率を高くし、 前記現在設定されているビットレートと前記目標ビット
    レートとが等しい場合には、前記現在設定されているビ
    ットレートを変更しない、ことを特徴とする請求項12
    記載のビットレート制御方法。
  14. 【請求項14】 前記現在設定されているビットレート
    が前記目標ビットレートより高い場合の前記変更確率生
    成情報は、次式(1)〜(5): (1)Pd(n) = (R(n)-Rt) / (R(N-1)-R(0)); (2)Pd(n) = (R(n)-Rt) / (R(n)-R(0)); (3)Rt < Rm の時、 Pd(n) = (Rm-Rt) / (Rm-R(0)) ,
    Rt >= Rm の時、Pd(n) = 0 ただし、Rm = (R(n)+R(n-1))/2; (4)Rt > R(n-1) の時、 Pd(n) = (R(n)-Rt) / (R
    (n)-R(n-1)) ,Rt <= R(n-1) の時、 Pd(n) = 1;およ
    び (5)Rt <= R(n-1) の時、 Pd(n) = 1 R(n-1) < Rt <= Rm の時、 Pd(n) = (Rm-Rt) / (Rm-R
    (n-1)) ,Rt > Rm の時、 Pd(n) = 0 ただし、Rm = (R(n)+R(n-1))/2、 (ここで、Nは離散的ビットレートの数、Pd(n)はビッ
    トレートを低下させる確率、Rtは前記設定された目標
    ビットレート、R(0)は離散的ビットレートの最低ビ
    ットレート、R(n)は前記現在設定されているビット
    レート、R(n−1)は前記現在設定されているビット
    レートに隣接する1段低いビットレートである。)のう
    ちの1つの式によって表現されることを特徴とする請求
    項13記載のビットレート制御方法。
  15. 【請求項15】 前記現在設定されているビットレート
    が前記目標ビットレートより低い場合の前記変更確率生
    成情報は、次式(6)〜(10): (6)Pu(n) = (Rt-R(n)) / (R(N-1)-R(0)); (7)Pu(n) = (Rt-R(n)) / (R(n)-R(0)); (8)Rt > Rm の時、 Pu(n) = (Rt-Rm) / (Rm-R(0)) ,
    Rt <= Rm の時、Pu(n) = 0 ただし、Rm = (R(n)+R(n+1))/2; (9)Rt < R(n+1) の時、 Pu(n) = (Rt-R(n)) / (R
    (n)-R(n+1)) ,Rt >= R(n+1) の時、 Pu(n) = 1; (10)Rt < Rm の時、 Pu(n) = 0 Rm <= Rt < R(n+1) の時、Pu(n) = (Rt-Rm) / (Rm-R(n+
    1)) ,Rt >= R(n+1) の時、 Pu (n) = 1 ただし、Rm = (R(n)+R(n+1))/2、 (ここで、Nは離散的ビットレートの数、Pu(n)はビッ
    トレートを上昇させる確率、Rtは前記設定された目標
    ビットレート、R(0)は離散的ビットレートの最低ビ
    ットレート、R(n)は前記現在設定されているビット
    レート、R(n+1)は前記現在設定されているビット
    レートに隣接する1段高いビットレート、R(N−1)
    は離散的ビットレートの最高ビットレートである。)の
    うちの1つの式によって表現されることを特徴とする請
    求項13記載のビットレート制御方法。
  16. 【請求項16】 前記ステップ(c)において、前記目
    標ビットレートはTCP(Transmission Control Protoc
    ol)フレンドリー制御に従って計算されることを特徴と
    する請求項12ないし15のいずれかに記載のビットレ
    ート制御方法。
  17. 【請求項17】 ネットワークを通してリアルタイムト
    ラフィックを送信する際のビットレート制御方法におい
    て、 a)複数の予め定められた離散的ビットレートを用意
    し、 b)前記複数の離散的ビットレートにおける前記現在設
    定されているビットレートの高さに依存して、前記現在
    設定されているビットレートに隣接するビットレートの
    一方を選択する確率が変化するような変更確率生成情報
    を用意し、 c)前記ネットワークの状態に応じてビットレートの変
    更方向を決定し、 d)前記決定されたビットレート変更方向、前記現在設
    定されているビットレートおよび前記変更確率生成情報
    に基づいて、前記現在設定されているビットレートに隣
    接するビットレートのいずれか一方を選択する確率を決
    定し、 e)前記決定された確率に基づいて、前記いずれか一方
    のビットレートを設定するか否かを判定する、 ことを特徴とするビットレート制御方法。
  18. 【請求項18】 前記変更確率生成情報では、 前記ビットレート変更方向が低下方向である場合には、
    前記現在設定されているビットレートが高いほど、前記
    現在設定されているビットレートを低い方の隣接ビット
    レートへ変更する確率を高くし、 前記ビットレート変更方向が上昇方向である場合には、
    前記現在設定されているビットレートが低いほど、前記
    現在設定されているビットレートを高い方の隣接ビット
    レートへ変更する確率を高くする、 ことを特徴とする請求項17記載のビットレート制御方
    法。
  19. 【請求項19】 前記変更確率生成情報は、 前記ビットレート変更方向が低下方向である場合には、
    次式 Pd(n) = (R(n)-R(0)) / (R(N-1)-R(0)) (ここで、Nは離散的ビットレートの数、Pdはビット
    レートを低下させる確率、R(0)は離散的ビットレー
    トの最低ビットレート、R(n)は前記現在設定されて
    いるビットレート、R(N−1)は離散的ビットレート
    の最高ビットレートである。)で表現され、 前記ビットレート変更方向が上昇方向である場合には、
    次式 Pu(n) = (R(N-1)-R(n)) / (R(N-1)-R(0)) (ここで、Nは離散的ビットレートの数、Puはビット
    レートを上昇させる確率、R(0)は離散的ビットレー
    トの最低ビットレート、R(n)は前記現在設定されて
    いるビットレート、R(N−1)は離散的ビットレート
    の最高ビットレートである。)で表現される、ことを特
    徴とする請求項18記載のビットレート制御方法。
  20. 【請求項20】 前記変更確率生成情報では、 前記ビットレート変更方向が低下方向である場合に、ビ
    ットレート低下確率をTCPフレンドリー制御におけるビ
    ットレート低下値に整合させて決定し、 前記ビットレート変更方向が上昇方向である場合に、ビ
    ットレート上昇確率を 前記TCPフレンドリー制御におけるビットレート低下値
    に整合させて決定する、 ことを特徴とする請求項18記載のビットレート制御方
    法。
  21. 【請求項21】 前記TCPフレンドリー制御はAIMD
    (Additive Increase/Multiple Decrease) に基づく制御
    であり、AIMDにおけるビットレート増加時の加算値およ
    びビットレート減少時の乗算値をそれぞれAおよびMで
    あるとすると、前記変更確率生成情報は、 前記ビットレート変更方向が上昇方向である場合には、
    ビットレートを上げる確率Puを求めるための次式 Pu(n) = A / [R(n+1)-R(n)] により表現され、 前記ビットレート変更方向が低下方向である場合には、
    ビットレートを下げる確率Pdを求めるための次式 Pd(n) = D(n) / [R(n)-R(n-1)] (ただし、D(n) = (1-
    M)R(n)) により表現される、 ことを特徴とする請求項20記載のビットレート制御方
    法。
  22. 【請求項22】 ネットワークを通してリアルタイムト
    ラフィックを送信する際のビットレート制御方法におい
    て、 a)複数の予め定められた離散的ビットレートを用意
    し、 b)前記複数の離散的ビットレートにおける任意の隣接
    するビットレート間の距離に依存して確率が変化するよ
    うな変更確率生成情報を用意し、 c)前記ネットワークの状態に応じてビットレートの変
    更方向を決定し、 d)前記決定されたビットレート変更方向、前記現在設
    定されているビットレートおよび前記変更確率生成情報
    に基づいて、前記現在設定されているビットレートに隣
    接するビットレートのいずれか一方を選択する確率を決
    定し、 e)前記決定された確率に基づいて、前記いずれか一方
    のビットレートを設定するか否かを判定する、 ことを特徴とするビットレート制御方法。
  23. 【請求項23】 前記変更確率生成情報は、 前記ビットレート変更方向が低下方向である場合には、 Pd(n) = Cd(n) / (R(n)-R(n-1)) ただし、Cd(n) は次式(1)〜(4)のいずれかにより
    定まり、 (1)Cd(n) = (R(n)-Rt) / (R(N-1)-R(0)); (2)Cd(n) = (R(n)-Rt) / (R(n)-R(0)); (3)Rt < Rm の時、 Cd(n) = (Rm-Rt) / (Rm-R(0)) ,
    Rt >= Rm の時、Cd(n) = 0 (ただし、Rm = (R(n)+R(n-
    1))/2); (4)Cd(n) = (R(n)-R(0)) / (R(N-1)-R(0)) (ここで、Nは離散的ビットレートの数、Rtは前記設
    定された目標ビットレート、R(0)は離散的ビットレ
    ートの最低ビットレート、R(n)は前記現在設定され
    ているビットレート、R(n−1)は前記現在設定され
    ているビットレートに隣接する1段低いビットレートで
    ある。)により表現され、、 前記ビットレート変更方向が低下方向である場合には、 Pu(n) = Cu(n) / (R(n+1)-R(n)) ただし、Cu(n)は次式(5)〜(8)のいずれかにより
    定まり、 (5)Cu(n) = (Rt-R(n)) / (R(N-1)-R(0)); (6)Cu(n) = (Rt-R(n)) / (R(n)-R(0)); (7)Rt > Rm の時、 Cu(n) = (Rt-Rm) / (Rm-R(0)) ,
    Rt <= Rm の時、Cu(n) = 0 (ただし、Rm = (R(n)
    +R(n+1))/2); (8)Cu(n) = (R(N-1)-R(n)) / (R(N-1)-R(0)) (ここで、Nは離散的ビットレートの数、Rtは前記設
    定された目標ビットレート、R(0)は離散的ビットレ
    ートの最低ビットレート、R(n)は前記現在設定され
    ているビットレート、R(n+1)は前記現在設定され
    ているビットレートに隣接する1段高いビットレート、
    R(N−1)は離散的ビットレートの最高ビットレート
    である。)により表現される、 ことを特徴とする請求項22記載のビットレート制御方
    法。
  24. 【請求項24】 複数の予め定められた離散的ビットレ
    ートを有する符号化器を用いてネットワークを通してリ
    アルタイムトラフィックを送信するシステムにおけるビ
    ットレート制御装置において、 前記複数の離散的ビットレートのうち任意の隣接したビ
    ットレートの一方を選択する確率を前記複数の離散的ビ
    ットレートごとに生成するための変更確率生成情報を格
    納する格納手段と、 与えられたビットレートに基づいて前記変更確率生成情
    報により確率を生成し、当該確率に基づいて前記符号化
    器のビットレート制御を実行する制御手段と、を有する
    ことを特徴とするビットレート制御装置。
  25. 【請求項25】 前記ネットワークの状態を検出し目標
    ビットレートを設定するための目標ビットレート設定手
    段をさらに有し、 前記制御手段は、前記設定された目標ビットレートに隣
    接するビットレートを決定し、前記設定された目標ビッ
    トレートが当該隣接ビットレートの一方に近いほど当該
    一方のビットレートを選択する確率が高くなるように前
    記符号化器のビットレート制御を実行する、ことを特徴
    とする請求項24記載のビットレート制御装置。
  26. 【請求項26】 前記制御手段は、現在設定されている
    ビットレートより一段高い隣接ビットレートへの変更、
    一段低い隣接ビットレートへの変更、および、変更な
    し、のいずれかを実行することを特徴とする請求項24
    記載のビットレート制御装置。
  27. 【請求項27】 前記ネットワークの状態を検出し目標
    ビットレートを設定するための目標ビットレート設定手
    段をさらに有し、 前記制御手段は、前記設定された目標ビットレートと現
    在設定されているビットレートとの差の大きさに依存し
    て、前記現在設定されているビットレートに隣接するビ
    ットレートの一方を選択する確率が変化するように前記
    符号化器のビットレート制御を実行する、ことを特徴と
    する請求項26記載のビットレート制御装置。
  28. 【請求項28】 前記ネットワークの状態に応じてビッ
    トレートの変更方向を決定する変更方向決定手段をさら
    に有し、 前記制御手段は、前記複数の離散的ビットレートにおけ
    る前記現在設定されているビットレートの高さに依存し
    て、前記現在設定されているビットレートに隣接するビ
    ットレートの一方を選択する確率が変化するように前記
    符号化器のビットレート制御を実行する、ことを特徴と
    する請求項26記載のビットレート制御装置。
  29. 【請求項29】 前記変更方向決定手段は、パケット損
    失の有無に基づいてビットレートの低下および上昇のい
    ずれかを決定することを特徴とする請求項28記載のビ
    ットレート制御装置。
  30. 【請求項30】 前記変更確率生成情報では隣接するビ
    ットレートの間隔に依存して確率が決定されており、前
    記制御手段は、隣接するビットレートの間隔に依存した
    確率に基づいて前記符号化器のビットレート制御を実行
    する、ことを特徴とする請求項26記載のビットレート
    制御装置。
  31. 【請求項31】 ネットワークを通して端末間でリアル
    タイムトラフィックの通信を行うシステムにおけるリア
    ルタイム通信端末において、 前記ネットワークに接続しデータの送受信を行うための
    送受信手段と、 複数の予め定められた離散的ビットレートを有し、送信
    データを符号化するための符号化手段と、 前記符号化手段のビットレートを制御するためのビット
    レート制御手段と、 を有し、 前記ビットレート制御手段は、 前記複数の離散的ビットレートのうち任意の隣接したビ
    ットレートの一方を選択する確率を前記複数の離散的ビ
    ットレートごとに生成するための変更確率生成情報を格
    納する格納手段と、 与えられたビットレートに基づいて前記変更確率生成情
    報により確率を生成し、当該確率に基づいて前記符号化
    手段のビットレート制御を実行する制御手段と、 を有する、ことを特徴とするリアルタイム通信端末。
  32. 【請求項32】 請求項31記載のリアルタイム通信端
    末が複数個前記ネットワークに接続されてなるリアルタ
    イム通信システム。
  33. 【請求項33】 ネットワークを通して端末間でリアル
    タイムトラフィックの通信を行うシステムにおけるリア
    ルタイム通信端末において、 複数の予め定められた離散的ビットレートを有し、送信
    データを符号化するための符号化手段と、 通信相手側のリアルタイム通信端末から前記ネットワー
    クを通してリアルタイムトラフィックデータとビットレ
    ート制御指令とを受信する受信手段と、 前記リアルタイムトラフィックデータから前記ネットワ
    ークの状態を検出する検出手段と、 前記検出されたネットワークの状態に応じて前記通信相
    手側のビットレート制御を行うための送信ビットレート
    制御指令を生成するためのビットレート制御手段と、 前記符号化手段によって符号化された送信データと前記
    送信ビットレート制御指令とを前記通信相手側のリアル
    タイム通信端末へ送信する送信手段と、 を有し、 前記ビットレート制御手段は、 前記複数の離散的ビットレートのうち任意の隣接したビ
    ットレートの一方を選択する確率を前記複数の離散的ビ
    ットレートごとに生成するための変更確率生成情報を格
    納する格納手段と、 与えられたビットレートに従って前記変更確率生成情報
    により確率を生成し、当該確率に基づいて前記ビットレ
    ート制御指令を生成する制御手段と、 を有する、ことを特徴とするリアルタイム通信端末。
  34. 【請求項34】 請求項33記載のリアルタイム通信端
    末が複数個前記ネットワークに接続されてなるリアルタ
    イム通信システム。
  35. 【請求項35】 コンピュータに、ネットワークを通し
    てリアルタイムトラフィックを送信する際のビットレー
    ト制御を実行させるためのプログラムにおいて、 a)複数の予め定められた離散的ビットレートを用意
    し、 b)前記複数の離散的ビットレートのうち任意の隣接し
    たビットレートの一方を選択する確率を決定し、 c)前記決定された確率に基づいて、いずれか一方のビ
    ットレートを設定するか否かを判定する、 ステップを有することを特徴とするビットレート制御プ
    ログラム。
  36. 【請求項36】 前記ステップ(b)は、 b.1)前記ネットワークの状態に応じて目標ビットレ
    ートを設定し、 b.2)前記設定された目標ビットレートに隣接するビ
    ットレートを決定し、 b.3)前記設定された目標ビットレートが前記隣接ビ
    ットレートの一方に近いほど、当該一方のビットレート
    を選択する確率を高くする、 ことを特徴とする請求項35記載のビットレート制御プ
    ログラム。
  37. 【請求項37】 現在設定されているビットレートの変
    更は、一段高い隣接ビットレートへの変更、一段低い隣
    接ビットレートへの変更、および、変更なし、のいずれ
    かであることを特徴とする請求項35記載のビットレー
    ト制御プログラム。
  38. 【請求項38】 前記ステップ(b)は、 b.1)前記ネットワークの状態に応じて目標ビットレ
    ートを設定し、 b.2)前記設定された目標ビットレートと現在設定さ
    れているビットレートとの差の大きさに依存して、前記
    現在設定されているビットレートに隣接するビットレー
    トの一方を選択する確率を変化させる、 ことを特徴とする請求項37記載のビットレート制御プ
    ログラム。
  39. 【請求項39】 前記ステップ(b)は、 b.1)前記ネットワークの状態に応じてビットレート
    の変更方向を決定し、 b.2)前記複数の離散的ビットレートにおける前記現
    在設定されているビットレートの高さに依存して、前記
    現在設定されているビットレートに隣接するビットレー
    トの一方を選択する確率を変化させる、 ことを特徴とする請求項37記載のビットレート制御プ
    ログラム。
  40. 【請求項40】 前記ステップ(b)において、隣接す
    るビットレートの間隔に依存して前記確率を決定するこ
    とを特徴とする請求項35記載のビットレート制御プロ
    グラム。
  41. 【請求項41】 さらに、 d)前記ステップ(c)によって現在設定されているビ
    ットレートが変更されたか否かを判定し、 e)ビットレートが変更された場合には、変更後の予め
    定められた時間が経過するまで、前記確率を通常の確率
    よりも小さくする、 ことを特徴とする請求項35ないし40のいずれかに記
    載のビットレート制御プログラム。
  42. 【請求項42】 前記予め定められた時間が経過するま
    で前記確率を0に設定することを特徴とする請求項41
    記載のビットレート制御プログラム。
JP2002120066A 2002-04-23 2002-04-23 リアルタイム通信のためのビットレート制御方法および装置 Expired - Fee Related JP4000895B2 (ja)

Priority Applications (6)

Application Number Priority Date Filing Date Title
JP2002120066A JP4000895B2 (ja) 2002-04-23 2002-04-23 リアルタイム通信のためのビットレート制御方法および装置
KR20047007857A KR100615119B1 (ko) 2002-04-23 2003-04-23 비트 레이트 제어 방법 및 장치
CNB038016664A CN100375468C (zh) 2002-04-23 2003-04-23 比特率控制方法及装置
PCT/JP2003/005170 WO2003092227A1 (en) 2002-04-23 2003-04-23 Bit rate control method and device
EP03719175A EP1499073A4 (en) 2002-04-23 2003-04-23 METHOD AND DEVICE FOR ADJUSTING BIT RATE
US10/497,400 US20050105604A1 (en) 2002-04-23 2003-04-23 Bit rate contol method and device

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2002120066A JP4000895B2 (ja) 2002-04-23 2002-04-23 リアルタイム通信のためのビットレート制御方法および装置

Publications (2)

Publication Number Publication Date
JP2003318966A true JP2003318966A (ja) 2003-11-07
JP4000895B2 JP4000895B2 (ja) 2007-10-31

Family

ID=29267352

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2002120066A Expired - Fee Related JP4000895B2 (ja) 2002-04-23 2002-04-23 リアルタイム通信のためのビットレート制御方法および装置

Country Status (6)

Country Link
US (1) US20050105604A1 (ja)
EP (1) EP1499073A4 (ja)
JP (1) JP4000895B2 (ja)
KR (1) KR100615119B1 (ja)
CN (1) CN100375468C (ja)
WO (1) WO2003092227A1 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2011120168A (ja) * 2009-12-07 2011-06-16 Kyocera Corp 通信装置

Families Citing this family (24)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8254358B2 (en) * 2003-03-06 2012-08-28 Ericsson Ab Communicating a broadcast message to change data rates of mobile stations
KR100602916B1 (ko) * 2003-05-23 2006-07-19 가부시키가이샤 히다치 고쿠사이 덴키 화상전송방법 및 화상전송장치
US7599394B2 (en) * 2003-06-16 2009-10-06 Telefonaktiebolaget Lm Ericsson (Publ) Common rate control method for reverse link channels in CDMA networks
GB0321093D0 (en) * 2003-09-09 2003-10-08 Nokia Corp Multi-rate coding
US7616660B2 (en) * 2003-11-21 2009-11-10 Telefonaktiebolaget Lm Ericsson (Publ) Common rate control method for reverse link channels in CDMA networks
US7761167B2 (en) 2004-06-10 2010-07-20 Medtronic Urinary Solutions, Inc. Systems and methods for clinician control of stimulation systems
US8165692B2 (en) 2004-06-10 2012-04-24 Medtronic Urinary Solutions, Inc. Implantable pulse generator power management
US9308382B2 (en) 2004-06-10 2016-04-12 Medtronic Urinary Solutions, Inc. Implantable pulse generator systems and methods for providing functional and/or therapeutic stimulation of muscles and/or nerves and/or central nervous system tissue
US9205255B2 (en) 2004-06-10 2015-12-08 Medtronic Urinary Solutions, Inc. Implantable pulse generator systems and methods for providing functional and/or therapeutic stimulation of muscles and/or nerves and/or central nervous system tissue
US8195304B2 (en) 2004-06-10 2012-06-05 Medtronic Urinary Solutions, Inc. Implantable systems and methods for acquisition and processing of electrical signals
WO2006022993A2 (en) 2004-06-10 2006-03-02 Ndi Medical, Llc Implantable generator for muscle and nerve stimulation
JP2006126894A (ja) * 2004-10-26 2006-05-18 Sony Corp コンテンツ配信方法、プログラムおよび情報処理装置
KR100800794B1 (ko) * 2005-07-01 2008-02-04 삼성전자주식회사 패킷망을 통해 음성 서비스를 지원하는 이동통신시스템에서 음성 서비스의 전송률을 제어하는 방법 및 장치
JP4817990B2 (ja) * 2005-08-17 2011-11-16 キヤノン株式会社 撮像装置及びその制御方法及びプログラム及び記憶媒体
US9480846B2 (en) 2006-05-17 2016-11-01 Medtronic Urinary Solutions, Inc. Systems and methods for patient control of stimulation systems
GB0622830D0 (en) * 2006-11-15 2006-12-27 Cambridge Silicon Radio Ltd Transmission rate selection
US8001260B2 (en) 2008-07-28 2011-08-16 Vantrix Corporation Flow-rate adaptation for a connection of time-varying capacity
US7844725B2 (en) 2008-07-28 2010-11-30 Vantrix Corporation Data streaming through time-varying transport media
US7975063B2 (en) * 2009-05-10 2011-07-05 Vantrix Corporation Informative data streaming server
US9137551B2 (en) 2011-08-16 2015-09-15 Vantrix Corporation Dynamic bit rate adaptation over bandwidth varying connection
CN102710374B (zh) * 2012-05-28 2015-05-20 天津大学 无线流媒体传输中的速率控制方法
EP3220681B1 (en) * 2016-03-18 2020-07-15 Nokia Technologies Oy Adaptive and dynamic qos/qoe enforcement
EP3560207A1 (en) * 2016-12-21 2019-10-30 British Telecommunications Public Limited Company Managing congestion response during content delivery
KR20200100387A (ko) * 2019-02-18 2020-08-26 삼성전자주식회사 실시간 비트레이트 제어 방법 및 이를 위한 전자 장치

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3092850B2 (ja) * 1990-10-05 2000-09-25 株式会社リコー 多重化データ分離方法
JPH05260090A (ja) * 1992-03-09 1993-10-08 Nippon Telegr & Teleph Corp <Ntt> 映像転送方式
JPH06252870A (ja) * 1993-02-24 1994-09-09 Nec Corp データ多重化伝送方式
JPH06276172A (ja) * 1993-03-18 1994-09-30 Fujitsu Ltd タイムスロット割付け方法
US6112239A (en) * 1997-06-18 2000-08-29 Intervu, Inc System and method for server-side optimization of data delivery on a distributed computer network
US6567420B1 (en) * 1999-04-15 2003-05-20 Qualcomm, Incorporated Method and apparatus for high rate channel access control
ES2287195T3 (es) * 2001-02-12 2007-12-16 Lg Electronics Inc. Control de la tasa de transmision de datos en el enlace inverso en cada estacion movil de manera dedicada.
US7961616B2 (en) * 2001-06-07 2011-06-14 Qualcomm Incorporated Method and apparatus for congestion control in a wireless communication system
US7363353B2 (en) * 2001-07-06 2008-04-22 Juniper Networks, Inc. Content service aggregation device for a data center
JP2003046976A (ja) * 2001-07-31 2003-02-14 Matsushita Electric Ind Co Ltd 映像配信装置、映像配信方法及びプログラム

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2011120168A (ja) * 2009-12-07 2011-06-16 Kyocera Corp 通信装置

Also Published As

Publication number Publication date
EP1499073A1 (en) 2005-01-19
JP4000895B2 (ja) 2007-10-31
US20050105604A1 (en) 2005-05-19
KR100615119B1 (ko) 2006-08-22
KR20040096495A (ko) 2004-11-16
CN100375468C (zh) 2008-03-12
CN1596528A (zh) 2005-03-16
EP1499073A4 (en) 2009-12-23
WO2003092227A1 (en) 2003-11-06

Similar Documents

Publication Publication Date Title
JP2003318966A (ja) リアルタイム通信のためのビットレート制御方法および装置
KR100608821B1 (ko) 휴대단말기의 왕복지연시간 측정장치 및 방법
EP2382726B1 (en) Method of transmitting data in a communication system
US7295549B2 (en) Source and channel rate adaptation for VoIP
WO2017148260A1 (zh) 语音编码发送方法和装置
EP2055055B1 (en) Adjustment of a jitter memory
JP4504429B2 (ja) 端末間のボイスオーバインターネットプロトコルのメディアの待ち時間を管理する方法および装置
RU2305908C2 (ru) Адаптивный способ оценивания скорости передачи мультимедийных данных
EP2165481B1 (en) Adaptive rate control in a communications system
US8588071B2 (en) Device and method for adaptation of target rate of video signals
RU2004118718A (ru) Способ обеспечения услуги потоковой передачи видеоданных
JP4748729B2 (ja) データおよび対応するプロダクトを送信する準備のための装置と方法
US8340126B2 (en) Method and apparatus for congestion control
EP1364542A2 (en) Method and apparatus for controlling an operative setting of a communications link
WO2023155747A1 (zh) 数据编码码率自适应调节方法、装置、设备和存储介质
JP5533177B2 (ja) パケットロス率推定装置、パケットロス率推定方法、パケットロス率推定プログラム、及び、通信システム
JPH11298528A (ja) パケット交換システム及び通信端末
WO2010000910A1 (en) Transmission capacity probing using adaptive redundancy adjustment
Mazurczyk et al. Adaptive voip with audio watermarking for improved call quality and security
KR100636278B1 (ko) 브이오아이피 단말의 음성 큐오에스 보장 시스템 및 그 방법
Curcio et al. AMR mode selection enhancement in 3G networks
JP4973453B2 (ja) 送信端末、通信システム、プログラム、及びデータ品質制御方法
Hong et al. A cost-effective rate control for streaming video for wireless portable devices
Ribeiro Low Delay Communication and Multimedia Applications

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20050318

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20061226

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20070220

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20070806

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

Free format text: PAYMENT UNTIL: 20100824

Year of fee payment: 3

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

Year of fee payment: 4

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

Free format text: PAYMENT UNTIL: 20110824

Year of fee payment: 4

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

Free format text: PAYMENT UNTIL: 20120824

Year of fee payment: 5

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

Free format text: PAYMENT UNTIL: 20130824

Year of fee payment: 6

LAPS Cancellation because of no payment of annual fees