KR100615119B1 - 비트 레이트 제어 방법 및 장치 - Google Patents

비트 레이트 제어 방법 및 장치 Download PDF

Info

Publication number
KR100615119B1
KR100615119B1 KR20047007857A KR20047007857A KR100615119B1 KR 100615119 B1 KR100615119 B1 KR 100615119B1 KR 20047007857 A KR20047007857 A KR 20047007857A KR 20047007857 A KR20047007857 A KR 20047007857A KR 100615119 B1 KR100615119 B1 KR 100615119B1
Authority
KR
South Korea
Prior art keywords
bit rate
probability
transmission
currently set
rates
Prior art date
Application number
KR20047007857A
Other languages
English (en)
Other versions
KR20040096495A (ko
Inventor
이토히로노리
센다유조
Original Assignee
닛본 덴끼 가부시끼가이샤
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 닛본 덴끼 가부시끼가이샤 filed Critical 닛본 덴끼 가부시끼가이샤
Publication of KR20040096495A publication Critical patent/KR20040096495A/ko
Application granted granted Critical
Publication of KR100615119B1 publication Critical patent/KR100615119B1/ko

Links

Images

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 or manipulating encoded video stream scene graphs
    • H04N21/2343Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs involving reformatting operations of video signals for distribution or compliance with end-user requests or end-user device requirements
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/234Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs
    • H04N21/2343Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs involving reformatting operations of video signals for distribution or compliance with end-user requests or end-user device requirements
    • H04N21/23439Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs involving reformatting operations of video signals for distribution or compliance with end-user requests or end-user device requirements 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Signal Processing (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Multimedia (AREA)
  • Databases & Information Systems (AREA)
  • Business, Economics & Management (AREA)
  • General Business, Economics & Management (AREA)
  • Computer Security & Cryptography (AREA)
  • Communication Control (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)

Abstract

네트워크의 상태에 응하여 비트 레이트의 제어를 행하는 데이터 송신 장치에 있어서, 비트 레이트를 변경하는지의 여부를 미리 정하여 둔 확률에 의거하여 결정한다. 통신 시스템의 모든 단말의 비트 레이트를 평균한 값이 소망하는 비트 레이트로 되도록 각 단말의 비트 레이트를 변경하는 확률치를 정함에 의해, 각 단말에 있어서 비트 레이트의 변동이 적은 제어가 가능해지고, 음성·화상 등의 리얼타임 통신의 품질을 향상시킬 수 있다. 또한, TCP 등의 다른 제어 방식과의 공평성을 실현할 수 있다.
비트 레이트, 패킷

Description

비트 레이트 제어 방법 및 장치{BIT RATE CONTROL METHOD AND DEVICE}
본 발명은 음성 데이터나 화상 데이터 등의 리얼타임 트래픽을 송신하는 기술에 관한 것으로, 특히 그 비트 레이트 제어 방법 및 장치에 관한 것이다.
주지하는 바와 같이, 종래의 공중 전화망 등에 사용되고 있는 회선 교환 방식은 송신되는 정보의 유무에 관계없이 양 단말 사이에서 통신 회선을 점유하기 때문에, 음성이나 화상 등을 리얼타임으로 전송하는데 적합한 반면, 네트워크의 이용 효율을 높이는 것이 곤란하다. 또한, 회선 교환 방식에서는, 단말 사이의 접속에 있어서 네트워크 전체의 이용률을 감시한 호출 제어를 행하기 때문에, 단말수가 증가함에 따라 호출 제어의 부하가 증대한다는 문제도 있다.
한편, 패킷 교환 방식은 회선을 점유하지 않고 회선 교환 방식보다도 네트워크의 이용 효율이 높기 때문에, 현재 널리 보급되고 있다. 특히, TCP/IP(Transmission Control Protocol/Internet Protocol)를 이용한 패킷 교환 방식에 있어서는, 호출 제어가 행해지지 않고, 각 단말에서 네트워크의 이용 대역이 공평하게 되는 자율 분산형의 레이트 제어가 행해지고 있기 때문에, 상술한 바와 같은 호출 제어의 부하 증대라는 문제는 생기지 않는다. 또한, TCP에서는 패킷의 누락의 유무를 체크하고 있고, 패킷 손실이 생긴 경우에는 재발송 요구를 행함으로 써 통신의 신뢰성을 높이고 있다.
그러나, 근래 널리 퍼지고 있는 IP를 이용한 패킷 교환 방식에 의한 음성·화상 데이터의 리얼타임 통신에서는, TCP에 의한 레이트 제어를 적용할 수 없다. TCP에 있어서의 패킷 재발송은 파일 전송 등의 데이터 통신에서는 신뢰성을 높이기 때문에 바람직하지만, 음성·화상 등의 리얼타임 통신에서는 큰 지연의 원인으로 되고, 또한 송신 비트 레이트의 심한 변동에 의해 음질·화질의 열화가 생기기 때문이다.
그래서, 리얼타임 통신에서는, TCP에 대신하여, 레이트 제어를 행하지 않는 UDP(User Datagram Protocol)가 사용되고 있다. 그렇지만, UDP에서는 데이터를 일방적으로 계속 보내기 때문에, UDP의 트래픽이 증대하면 TCP가 이용하는 대역을 점유해 버리고, TCP와의 공평성의 문제가 새롭게 생긴다. 이들의 문제를 해결하기 위해 개발된 RSVP(Resource reSerVation Protocol)는 접속시에 각 단말의 대역을 확보하는 방식으로서, 지연이나 패킷 손실의 문제는 해결되지만, 회선 교환 방식과 마찬가지로 네트워크 효율의 문제가 생긴다.
그래서, 다른 해결책으로서 고려되고 있는 것이, TCP와 공평성이 있는 레이트 제어를 행하는 TCP 친화적 제어이다. TCP 친화적 제어에는 다음의 2가지 방식이 있다.
1) TCP의 레이트 제어법인 AIMD(Additive Increase/Multiple Decrease)에 의거한 방식(문헌 1 : Reza Rejaie, Mark Handley, Deborah Estrin, "RAP : An End-to-end Rate-based Congestion Control Mechanism for Realtime Stream in the Internet," INFOCOM'99 (1999.3)을 참조).
2) TCP의 스루풋을 목표 비트 레이트로 하는 방식(TFRC)(문헌 2 : "TCP Friendly Rate Control(TFRC) : Protocol Specification," IETF Internet draft(draft-ietf-tsvwg-tfrc-03.txt)를 참조).
AIMD 방식에서는 송신 비트 레이트를 올리는 경우는 일정치를 가산하고, 송신 비트 레이트를 내리는 경우는 1보다 작은 값을 승산한다. 이들 가산치 및 승산치를 적절하게 설정함에 의해, TCP와의 공평성을 유지하면서, TCP와 같은 큰 송신 비트 레이트의 변동을 억제하는 것도 가능하다.
TCRF 방식은, 다음 식(1)로 나타내는 TCP의 스루풋을 목표 비트 레이트로 한 제어를 행한다.
(식 1)
Figure 112004021771826-pct00001
여기에서, RTT는 라운드 트립 시간, TO는 타임 아웃 시간, L은 패킷 손실률을 나타낸다.
단, 상기 TCP 친화적 제어에서는 송신 비트 레이트가 연속치로 되는 것을 전제로 하고 있다. 실제로는 음성·화상 부호화기(符號化器)의 송신 비트 레이트는 이산적이기 때문에, 이들 제어 방식을 그대로 음성·화상 부호화기에 적용할 수는 없다.
한편, 네트워크의 폭주 상태에 응하여 부호화기가 동작하는 비트 레이트를 미리 정하여 두는 방식도 고려되고 있다. 예를 들면,
문헌 3 : Jeong Wook Seo, et al., "A study on the application of an AMR speech codec to VoIP," Proc. ICASSP2001 Vol. 3, pp.1373-1376, 및
문헌 4 : V. Abreu-Sernandez, et al., "Adaptive multi-rate speech codec for VoIP transmission," Electronics Letters, Vol. 36, pp.1978-1980을 참조.
문헌 3에서는 라운드 트립 시간에 응하여, 문헌 4에서는 패킷 손실률에 응하여, 각각 부호화기의 비트 레이트를 전환하고 있다. 그러나, 이들의 방식은 TCP와의 공평성이 없다.
다음에, 도 1을 참조하여, 종래의 음성·화상 데이터 통신 장치의 한 예를 설명한다. 일반적으로, 음성·화상 데이터 통신 장치는, 도 1에 도시한 바와 같이, 음성·화상 부호화부(402), 패킷 송신부(403), 패킷 수신부(404), 비트 레이트 제어부(405), 음성·화상 복호부(406)로 구성된다. 음성·화상 부호화부(402)는 입력 음성·화상(401)을 부호화하고, 음성·화상 비트 스트림을 패킷 송신부(403)에 출력한다. 패킷 송신부(403)는 입력된 음성·화상 비트 스트림에 IP/UDP/RTR 헤더(문헌 5 : "RTP : A Transport Protocol for Real-Time Applications," IETF RFC1889를 참조)를 부가하고, 네트워크에 송신한다. RTP 헤더에는 음성·화상 데이터의 통신에 필요한 정보가 부가되어 있다.
한편, 패킷 수신부(404)는 음성·화상 패킷을 네트워크로부터 수신하고, 수신 패킷으로부터 음성·화상 비트 스트림을 추출하여 음성·화상 복호부(406)에 출력한다. 음성·화상 복호부(406)는 패킷 수신부로부터 얻은 음성·화상 비트 스트 림을 복호하고, 출력 음성·화상 데이터(407)를 출력한다.
또한, 패킷 수신부(404)는 예를 들면 RTCP(Real-time Transport Control Protocol)(문헌 5) 패킷을 수신하고, 거기에서 라운드 트립 시간(Round Trip Time, RTT) 및 패킷 손실률에 관한 정보를 추출하고, 네트워크 정보로서 비트 레이트 제어부(405)에 출력한다. 비트 레이트 제어부(405)에서는 AIMD나 TFRC 등에 의거한 비트 레이트 제어가 행해진다.
AIMD에 의거한 비트 레이트 제어에서는, 패킷 수신부(404)로부터 얻은 패킷 손실률에 응하여, 패킷 손실이 없는 경우에는 현재의 송신 비트 레이트에 어떤 값을 가산하고, 패킷 손실이 있는 경우에는 현재의 송신 비트 레이트에 어떤 값을 승산함에 의해 목표 비트 레이트를 계산한다.
TFRC에 의거한 비트 레이트 제어에서는, 패킷 수신부(404)로부터 얻은 라운드 트립 시간(RTT)과 패킷 손실률(L) 및 식(1)을 이용하여 목표 비트 레이트를 계산한다. 여기에서, 라운드 트립 시간과 패킷 손실률은, 측정 정밀도를 높이기 위해, 어떤 시간에서 평균한 값을 이용한다.
위에서 설명한 바와 같이 계산된 목표 비트 레이트는 음성·화상 부호화부(402)로 설정되어 있는 복수의 이산적인 비트 레이트의 하나와 합치한다고는 한정할 수 없다. 이 때문에, 실제로는, 계산된 목표 비트 레이트에 가장 가까운 이산적 비트 레이트를 선택하고, 음성·화상 부호화부(402)를 그 선택된 이산적 비트 레이트를 송신 비트 레이트로서 설정한다.
상기 문헌 3이나 문헌 4에 있어서의 비트 레이트 제어에서는, 패킷 수신부(404)로부터 얻은 라운드 트립 시간이나 패킷 손실률에 응하여 정해지는 부호화기의 비트 레이트가 음성·화상 부호화부(402)에 출력된다. 그러나, 상술한 바와 같이, 이들의 방식은 TCP와의 공평성이 없다.
음성·화상 복호부(406)는 비트 레이트 제어부(405)에서 얻은 비트 레이트로 음성·화상을 복호한다.
특개평5-260090호 공보에는, 이산적인 비트 레이트를 갖는 부호화기를 이용한 비트 레이트 제어 방법의 한 예가 개시되어 있다. 이 종래예에서는, 송신 비트 레이트로서, 복수 스텝의 비트 레이트(128kbps, 64kbps, 10kbps 등)의 어느 하나를 설정할 수 있는 영상 부호화부를 전송로의 폭주 상태에 응하여 비트 레이트 제어한다. 구체적으로는, 전송로에 폭주가 발생하면 1스텝 작은 비트 레이트로 설정하고, 폭주가 발생하지 않으면 1스텝 큰 비트 레이트로 설정하도록 제어한다.
상술한 바와 같이, AIMD나 TFRC에 의거한 TCP 친화적 제어는, 비트 레이트가 연속치를 취하는 것을 전제로 하고 있기 때문에, 부호화기의 비트 레이트가 이산적인 값을 취하는 음성·화상 통신에는 그대로 적용할 수 없다. 그래서, 비트 레이트 제어에 의해 얻어진 목표치에 가장 가까운 비트 레이트가 선택된다. 그러나, 그렇게 하면 목표치와 실제의 값과의 오차가 생겨 버리고, 이 오차는 설정되는 송신 비트 레이트를 빈번하게 변동시키는 요인으로 되고, 음질·화질의 열화를 가져온다.
도 2는 종래의 자율 분산형 비트 레이트 제어법을 채용한 경우의 비트 레이트 변동을 도시한 타임 차트이다. 예를 들면, 네트워크에 접속된 각 단말에 있어서, 라운드 트립 시간이나 패킷 손실률 등의 네트워크 정보에 의거하여 목표 비트 레이트를 산출하고, 그것에 가장 가까운 이산적 비트 레이트에 부호화기를 설정하는 제어가 행해지는 것으로 한다. 여기에서는, 설명을 위해, 어떤 이산적 비트 레이트(R(n+1))로 설정되면 네트워크가 폭주하여 목표 비트 레이트가 저하되고, 그것보다 낮은 비트 레이트(R(n))로 설정되면 목표 비트 레이트가 상승하는 것이라고 가정한다.
이 경우, 도 2에 도시한 바와 같이 목표 비트 레이트가 저하되면, 비트 레이트 제어부(405)는 부호화부(402)를 R(n+1)로부터 현재의 목표치에 가장 가까운 비트 레이트(R(n))로 저하시킨다. 이 상태가 잠시 계속되면, 이번에는 목표 비트 레이트가 상승하고, 그것에 추종하기 위해, 부호화부(402)를 R(n+1)로 재차 상승시킨다. 이와 같은 송신 비트 레이트 변동이 반복되면, 음성·화상을 송수신하고 있는 단말 사이에서 리얼타임 트래픽의 품질이 현저하게 저하된다.
또한, 문헌 3이나 문헌 4에 있어서의 라운드 트립 시간이나 패킷 손실률에 응하여 부호화기의 비트 레이트를 전환하는 방식이나 특개평5-260090호 공보에 개시된 방식에서는, TCP 제어와의 공평성이 실현될 수 없다.
그래서, 본 발명의 목적은, 네트워크의 상태에 응하여 리얼타임 트래픽의 송신 비트 레이트를 이산적으로 변경하는 경우에도, 리얼타임 통신의 품질 열화를 억제할 수 있는 비트 레이트 제어 방법 및 장치를 제공하는 것에 있다.
본 발명의 다른 목적은, 리얼타임 통신의 품질을 열화시키는 송신 비트 레이트의 변동을 억제하고, 또한 TCP 등의 다른 제어 방식과의 공평성을 실현할 수 있 는 비트 레이트 제어 방법 및 장치를 제공하는 것에 있다.
본 발명에 의하면, 리얼타임 트래픽 송신시의 송신 비트 레이트를 제어할 때에, 확률에 의거하여 송신 비트 레이트를 결정하는 것을 특징으로 하는 비트 레이트 제어 방법을 얻을 수 있다.
이 비트 레이트 제어 방법에 의하면, 이용 가능한 비트 레이트가 이산적이라도, 모든 단말의 송신 비트 레이트를 평균한 값이 소망하는 비트 레이트로 되도록, 각 단말의 송신 비트 레이트를 변경하는 확률치를 설정하여 둠에 의해, 송신 비트 레이트의 변동이 적은 제어가 가능해진다.
즉, 네트워크 전체의 평균 비트 레이트가 소망하는 값으로 되도록 확률치를 계산하고, 그 확률치에 의거하여 각 단말의 송신 비트 레이트를 변경하는 제어를 행함에 의해, 도 3에 도시한 바와 같이 송신 비트 레이트의 변동을 억제할 수 있다.
또한, 네트워크의 상태에 응하여 부호화기의 동작 비트 레이트를 변경하는 경우에, 상기 계산된 확률에 의거하여 송신 비트 레이트를 변경하도록 하면, TCP 등의 제어 방식과의 공평성을 손상시키지 않는 비트 레이트 제어가 가능해진다.
본 발명에 의한 비트 레이트 제어 방법은, 네트워크를 통하여 리얼타임 트래픽을 송신할 때의 비트 레이트 제어 방법에 있어서, a) 복수의 미리 정해진 이산적 비트 레이트를 준비하고, b) 상기 복수의 이산적 비트 레이트중 임의의 인접한 비트 레이트의 한쪽을 선택하는 확률을 결정하고, c) 상기 결정된 확률에 의거하여, 어느 한쪽의 비트 레이트를 설정하는지의 여부를 판정하는 것을 특징으로 한다.
본 발명의 제 1 실시예에 의하면, 상기 스텝 (b)는, b.1) 상기 네트워크의 상태에 응하여 목표 비트 레이트를 계산하고, b.2) 상기 계산된 목표 비트 레이트에 인접하는 비트 레이트를 결정하고, b.3) 상기 계산된 목표 비트 레이트가 상기 특정된 비트 레이트의 한쪽에 가까울수록, 해당 한쪽의 비트 레이트를 선택하는 확률을 높게 하는 것을 특징으로 한다.
즉, 목표 비트 레이트가 산출되면, 그 목표 비트 레이트에 인접하는 이산적 비트 레이트가 결정되고, 그 어느 비트 레이트에 부호화기를 설정하는지는, 목표 비트 레이트가 어느 비트 레이트에 가까운지에 의존하여 확률적으로 결정된다. 따라서 모든 단말의 평균 설정 비트 레이트는 목표 비트 레이트 부근이 되고, 이 때문에, TCP 등의 다른 제어 방식과의 공평성을 유지할 수 있음과 함께, 각 단말이 목표 비트 레이트에 근접하게 되어 비트 레이트의 설정을 빈번하게 변동시킨다는 종래 생기고 있던 사태를 회피할 수 있다.
본 발명의 제 2 실시예에 의하면, 상기 스텝 (b)는, b.1) 상기 네트워크의 상태에 응하여 목표 비트 레이트를 계산하고, b.2) 상기 계산된 목표 비트 레이트와 현재 설정되어 있는 송신 비트 레이트와의 차의 크기에 의존하여, 상기 현재 설정되어 있는 송신 비트 레이트에 인접하는 비트 레이트의 한쪽을 선택하는 확률을 변화시키는 것을 특징으로 한다.
즉, 현재 설정되어 있는 송신 비트 레이트와 산출된 목표 비트 레이트와의 차가 클수록, 비트 레이트 변경의 확률이 커진다. 따라서 현재 설정되어 있는 송신 비트 레이트가 목표 비트 레이트로부터 떨어져 있는 단말에서는 송신 비트 레이트 가 변경될 확률이 높아지고, 목표 비트 레이트에 가까운 단말에서는 낮아진다. 이 때문에, 모든 단말의 평균 설정 비트 레이트는 목표 비트 레이트 부근이 되고, TCP 등의 다른 제어 방식과의 공평성을 유지할 수 있음과 함께, 각 단말이 목표 비트 레이트에 근접하게 되어 송신 비트 레이트의 설정을 빈번하게 변동시킨다는 종래 생기고 있던 사태를 회피할 수 있다. 또한, 본 발명의 제 2 실시 형태에 의하면, 각 단말에 있어서, 현재 설정되어 있는 송신 비트 레이트(R(n))로부터 1스텝 높고 낮을 뿐이고, 급격한 송신 비트 레이트 변경은 생기지 않는다. 이것은, 음성·화상의 품질 열화를 억제하는 효과가 있다.
본 발명의 제 3 실시예에 의하면, 상기 스텝 (b)는, b.1) 상기 네트워크의 상태에 응하여 송신 비트 레이트의 변경 방향을 결정하고, b.2) 상기 복수의 이산적 비트 레이트에 있어서의 상기 현재 설정되어 있는 송신 비트 레이트의 높이에 의존하여, 상기 현재 설정되어 있는 송신 비트 레이트에 인접하는 비트 레이트의 한쪽을 선택하는 확률을 변화시키는 것을 특징으로 한다.
예를 들면, 패킷의 손실이 검출되고 송신 비트 레이트를 저하시킬 필요가 생긴 경우, 또는, 패킷 손실이 검출되지 않기 때문에 송신 비트 레이트를 상승시킬 수 있는 경우에는, 현재 설정되어 있는 송신 비트 레이트가 비트 레이트 설정 가능 범위의 어느 위치에 있는가에 의해, 비트 레이트 변경의 확률을 변화시킨다. 구체적으로는, 패킷의 손실이 검출되게 되면, 현재 설정되어 있는 송신 비트 레이트가 높은 단말에서는, 비트 레이트를 저하시키는 확률을 높게 하고, 낮은 단말에서는 낮게 한다. 역으로, 패킷의 손실이 검출되지 않는 경우에는, 현재 설정되어 있는 송신 비트 레이트가 낮은 단말은 비트 레이트를 상승시키는 확률을 높게 하고, 높은 단말에서는 낮게 한다. 이 때문에, 모든 단말 사이에서 공평한 비트 레이트 설정이 가능해지고, 네트워크의 이용 효율을 최적화할 수 있음과 함께, 각 단말이 목표 비트 레이트에 근접하게 되어 송신 비트 레이트의 설정을 빈번하게 변동시킨다는 종래 생기고 있던 사태를 회피할 수 있다. 또한, TCP 친화적 제어와 정합하도록 비트 레이트 변경 확률을 설정함으로써, 단말 사이의 공평성 및 TCP와의 공평성을 확보할 수 있다.
본 발명의 제 4 실시예에 의하면, 상기 스텝 (b)에 있어서, 인접하는 비트 레이트의 간격에 의존하여 상기 확률을 결정하는 것을 특징으로 한다. 즉, 인접 비트 레이트의 간격의 크기를 송신 비트 레이트 저하 및 상승 확률에 반영시킨다. 예를 들면, 인접 비트 레이트까지의 거리가 클수록 비트 레이트 변경 확률을 작게 함으로써, 음성·화상의 품질 열화를 억제할 수 있다.
도 1은 음성·화상 데이터 통신 장치의 기본 구성을 도시한 블록도.
도 2는 종래의 비트 레이트 제어 방법에 의한 송신 비트 레이트 변동을 모식적으로 도시한 도면.
도 3은 본 발명에 의한 비트 레이트 제어 방법에 의한 송신 비트 레이트 변동을 모식적으로 도시한 도면.
도 4는 본 발명의 제 1 실시예에 의한 비트 레이트 제어 방법을 도시한 플로우 차트.
도 5는 본 발명의 제 2 실시예에 의한 비트 레이트 제어 방법을 도시한 플로우 차트.
도 6은 비트 레이트 저하 판정에 이용되는 확률 계산식(3.1) 내지 식(3.4)에 의해 구하여지는 목표 비트 레이트와 확률(Pd)과의 관계를 도시한 그래프.
도 7은 비트 레이트 상승 판정에 이용되는 확률 계산식(4.1) 내지 식(4.4)에 의해 구하여지는 목표 비트 레이트와 확률(Pu)과의 관계를 도시한 그래프.
도 8은 본 발명의 제 3 실시예에 의한 비트 레이트 제어 방법을 도시한 플로우 차트.
도 9는 본 발명의 상기 각 실시 형태를 실현하는 비트 레이트 제어부의 구성을 도시한 블록도.
도 10은 상대 단말측에서 비트 레이트 제어가 행해지는 경우의 시스템 구성을 도시한 블록도.
도면을 참조하여, 본 발명의 실시예에 관해 설명한다.
본 발명에 의한 비트 레이트 제어 방법을 채용한 음성·화상 통신 장치는 전체적인 블록 구성으로서는 도 1에 도시한 것과 기본적으로 같지만, 비트 레이트 제어부(405)의 동작이 다르다.
이하의 설명에서는, 음성·화상 부호화부(402)가 N종류의 이산적 비트 레이트(R(0) 내지 R(N-1))를 갖는 것으로 하고, 본 발명에 의한 비트 레이트 제어의 실시예를 상세히 설명한다. 단, R(0)<R(1)<···<R(N-1)이라고 한다.
(1) 제 1 실시예
도 4는, 본 발명의 제 1 실시예에 의한 비트 레이트 제어를 도시한 플로우 차트이다. 우선, 목표 비트 레이트(Rt)를 종래의 AIMD 또는 TFRC에 의거한 TCP 친화적 제어 등을 이용하여 계산한다(스텝 101).
이 Rt에 대해, R(n)≤Rt<R(n+1)이 되는 n을 구하고, 송신 비트 레이트가 R(n)으로 될 확률(P)을, Rt가 R(n)에 가까울수록 확률이 높아지는 식, 예를 들면 식(2)을 이용하여 계산한다(스텝 102).
(식 2)
P(n) = (R(n+1) -Rt)/(R(n+1)-R(n))
또한, 이와 같은 식 대신에, 목표 비트 레이트(Rt)와 확률(P(n))과의 대응 관계를 구체적인 수치로서 격납한 테이블을 이용하여, 검색에 의해 확률(P(n))을 결정하는 것도 가능하다. 어느 경우에도, 이와 같은 식 또는 테이블은 변경 확률 생성 정보로서 메모리에 미리 격납되어 있다.
다음에, 확률(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)이라고 판정된다.
선택하여야 할 비트 레이트가 R(n)이라고 판정된 경우는 R=R(n)로 설정하고(스텝 105), R(n+1)이라고 판정된 경우는 R=R(n+1)로 설정하고(스텝 106), R을 부호화기에 출력한다(스텝 107). 이렇게 하여, 음성·화상 부호화부(402)는 지정된 비트 레이트(R)로 입력 음성·화상 데이터를 부호화하고, 부호화된 데이터가 패킷 송신부(403)을 통하여 네트워크에 송출된다.
이상 설명한 바와 같이, 본 발명의 제 1 실시예에 의하면, 목표 비트 레이트(Rt)가 산출되면, 그 목표 비트 레이트(Rt)에 인접하는 이산적 비트 레이트가 결정되고, 그 어느 비트 레이트로 부호화기를 설정하는지는, 목표 비트 레이트(Rt)가 어느 비트 레이트에 가까운지에 의존하여 확률적으로 결정된다.
따라서, 목표 비트 레이트(Rt)가 비트 레이트(R(n))에 가까우면, 그 비트 레이트(R(n))로 설정될 확률이 높아진다. 네트워크에 다수의 단말이 접속되고, 그들의 단말에서 목표 비트 레이트가 거의 같은 정도라고 가정하면, 그 확률에 대응하는 수의 단말이 비트 레이트(R(n))로 설정되고, 나머지 단말이 비트 레이트(R(n+1))로 설정된다라고 간주할 수 있다. 따라서 모든 단말의 평균 설정 비트 레이트는 목표 비트 레이트 부근이 되고, 이 때문에, TCP 등의 다른 제어 방식과의 공평성을 유지할 수 있음과 함께, 각 단말이 목표 비트 레이트에 근접하게 되어 비트 레이트의 설정을 빈번하게 변동시킨다는 종래의 문제를 회피할 수 있다.
(2) 제 2 실시예
본 발명의 제 2 실시예에서는, 현재의 송신 비트 레이트와 목표 비트 레이트와의 차에 의존하여 비트 레이트 변경의 확률을 결정하고, 그 때, 송신 비트 레이 트의 큰 변동을 피하기 위해 인접한 비트 레이트로만 변경 가능하게 하고 있다.
2.1) 제어 플로우
도 5는, 본 발명의 제 2 실시예에 의한 비트 레이트 제어를 도시한 플로우 차트이다. 우선, 제 1 실시예와 같이 목표로 하는 비트 레이트(Rt)를 계산하고(스텝 101), 목표 비트 레이트(Rt)가 현재의 송신 비트 레이트(R(n))보다도 작은지의 여부를 판정한다(스텝 202). Rt의 쪽이 작다고 판정된 경우에는(스텝 202의 YES), 송신 비트 레이트를 내리는지 여부의 판정(비트 레이트 저하 판정 : 스텝 204 내지 207)을 행하고, 그렇지 않은 경우는(스텝 202의 NO), Rt와 현재의 송신 비트 레이트(R(n))와 동등한지의 여부를 판정한다(스텝 203).
Rt와 현재의 송신 비트 레이트가 동등하다고 판정된 경우는(스텝 203의 YES), 그대로 R=R(n)으로 한다(스텝 214). 그렇지 않은 경우는(스텝 203의 NO), 송신 비트 레이트를 올리는지 여부의 판정을 행한다(비트 레이트 상승 판정 : 스텝 209 내지 212).
비트 레이트 저하 판정(스텝 204 내지 207)에서는, 우선, Rt와 R(n)과의 차가 클수록, 값이 커지는 확률(Pd(n))을 계산한다(스텝 204). 다음 식(3)은 이와 같은 계산식의 한 예이다.
(식 3)
Pd(n)=(R(n)-Rt)/(R(N-1)-R(0))
다음에, 확률(Pd(n))에 의거한 비트 레이트 변경 판정을 실행한다. 본 실시예에서는, 예를 들면 난수를 이용하여 비트 레이트 변경 판정을 행한다. 우선, 난 수(정확하게는, 의사 난수)(Po)를 0≤Po<1의 범위에서 생성한다(스텝 205). 여기에서는, 난수로서, 일양 난수를 이용한다. 계속해서, 얻어진 난수(Po)를 스텝 204에서 산출한 확률(Pd(n))과 비교한다(스텝 206).
Po<Pd(n)이면(스텝 206의 YES), 또한 현재의 비트 레이트(R(n))가 하한(최저 비트 레이트)인지의 여부(여기에서는, n=0인지의 여부)를 판정한다(스텝 207). 현재의 송신 비트 레이트(R(n))가 하한이 아니면(스텝 207의 YES), 송신 비트 레이트를 내린다고 판정되고, n을 디크리먼트(n=n-1)하여(스텝 208), R=R(n)으로 설정한다(스텝 214).
Po≥Pd(n)인 경우(스텝 206의 NO) 또는 현재의 송신 비트 레이트(R(n))가 하한인 경우(스텝 207의 NO)에는, 송신 비트 레이트를 변경하지 않는다고 판정되고, 그대로 R=R(n)으로 한다(스텝 214).
비트 레이트 상승 판정(스텝 209 내지 212)에서는, 우선, Rt와 R(n)과의 차가 클수록, 값이 커지는 확률(Pu(n))을 계산한다(스텝 209). 다음 식(4)은 이와 같은 계산식의 한 예이다.
(식 4)
Pu(n)=(Rt-R(n))/(R(N-1)-R(0))
다음에, 확률(Pu(n))에 의거한 비트 레이트 변경 판정을 실행한다. 본 실시 형태에서는, 예를 들면 난수를 이용하여 비트 레이트 변경 판정을 행한다. 우선, 난수(정확하게는, 의사 난수)(Po)를 0≤Po<1의 범위에서 생성한다(스텝 210). 여기에서는, 난수로서 일양 난수를 이용한다. 계속해서, 얻어진 난수(Po)를 스텝 209에 서 산출한 확률(Pu(n))과 비교한다(스텝 211).
Po<Pu(n)이면(스텝 211의 YES), 또한 현재의 송신 비트 레이트(R(n))가 상한(최고 비트 레이트)인지의 여부(여기에서는, n=N-1인지의 여부)를 판정한다(스텝 212). 현재의 송신 비트 레이트(R(n))가 상한이 아니면(스텝 212의 YES), 송신 비트 레이트를 올린다고 판정되고, n을 잉크리먼트(n=n+1)하고(스텝 213), R=R(n)으로 설정한다(스텝 214).
Po≥Pu(n)인 경우(스텝 211의 NO) 또는 현재의 송신 비트 레이트(R(n))가 상한인 경우(스텝 212의 NO)에는, 송신 비트 레이트를 변경하지 않는다고 판정되고, 그대로 R=R(n)으로 한다(스텝 214).
이와 같이 하여 결정된 R을 부호화기(402)에 출력한다(스텝 215). 이렇게 하여, 음성·화상 부호화부(402)는 지정된 비트 레이트(R)로 입력 음성·화상 데이터를 부호화하고, 부호화된 데이터가 패킷 송신부(403)를 통하여 네트워크에 송출된다.
2.2) 확률(Pd(n))의 다른 계산식
확률(Pd(n))을 구하는 계산식으로서는, 상기 식(3) 외에, 다음과 같은 변분 수식을 이용할 수 있다.
(식 3.1)
Pd(n)=(R(n)-Rt)/(R(n)-(R(0))
(식 3.2)
Rt<Rm 일 때
Pd(n) = (Rm-Rt)/(Rm-R(0))
Rt≥Rm 일 때
Pd(n) = 0
단, Rm=(R(n)+R(n-1))/2
(식 3.3)
Rt>R(n-1) 일 때
Pd(n)=(R(n)-Rt)/(R(n)-R(n-1))
Rt≤R(n-1) 일 때
Pd(n)=1
(식 3.4)
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
도 6은, 식(3.1) 내지 식(3.4)에 의해 정해지는 목표 비트 레이트와 확률(Pd)과의 관계를 도시한 그래프이다.
식(3.1)은, 식(3)의 분모를 현재의 송신 비트 레이트(R(n))와 최저의 비트 레이트(R(0))와의 차로 환치한 것으로, 목표 비트 레이트(Rt)가 현재의 송신 비트 레이트(R(n))로부터 떨어져 있을수록 값이 높아지는 확률(Pd(n))을 생성한다.
식(3.2)도 식(3.1)과 같은 확률(Pd(n))을 생성하지만, 목표 비트 레이트(Rt)가 인접한 비트 레이트(R(n-1))보다도 현재의 송신 비트 레이트(R(n))에 가까운 경우에는 확률(Pd(n))을 0으로 한다. 이로써, 송신 비트 레이트의 쓸데없는 변동을 억제할 수 있다.
식(3.3)은, 목표 비트 레이트(Rt)가 인접한 비트 레이트(R(n-1))보다 높은 경우에는 현재의 송신 비트 레이트(R(n))로부터 떨어져 있을수록 값이 높아지는 확률(Pd(n))을 생성하고, 인접한 비트 레이트 P(n-1) 이하의 경우에는 확률(Pd(n))을 1에 고정한다.
식(3.4)도 식(3.3)과 같은 확률(Pd(n))을 생성하지만, 목표 비트 레이트(Rt)가 인접한 비트 레이트(R(n-1))보다도 현재의 송신 비트 레이트(R(n))에 가까운 경우에는 확률(Pd(n))을 0으로 한다. 이로써, 송신 비트 레이트의 쓸데없는 변동을 억제할 수 있다.
여기에서, 식(3.1) 내지 식(3.4)를 이용하는 경우에는, 그 우변에 1보다 작은 정수를 곱하도록 하여도 좋다. 이 경우, 이 정수의 값을 작게 할수록, 송신 비트 레이트의 변동을 억제할 수 있지만, 목표 비트 레이트에의 추종성이 저하된다.
2.3) 확률(Pu(n))의 다른 계산식
확률(Pu(n))의 계산식으로서는, 상기 식(4) 외에, 다음과 같은 변분수식을 이용할 수 있다.
(식 4.1)
Pu(n)=(Rt-R(n))/(R(n)-R(0))
(식 4.2)
Rt>Rm 일 때
Pu(n)=(Rt-Rm)/(Rm-R(0))
Rt≤Rm 일 때
Pu(n)=0
단, Rm=(R(n)+R(n+1))/2
(식 4.3)
Rt<R(n+1) 일 때
Pu(n)=(Rt-R(n))/(R(n)-R(n+1))
Rt≥R(n+1) 일 때
Pu(n)=1
(식 4.4)
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
도 7은 식(4.1) 내지 식(4.4)에 의해 정해지는 목표 비트 레이트와 확률(Pu)과의 관계를 도시한 그래프이다.
식(4.1)은 식(4)의 분모를 현재의 송신 비트 레이트(R(n))와 최저의 비트 레이트(R(0))와의 차로 환치한 것으로, 목표 비트 레이트(Rt)가 현재의 송신 비트 레이트(R(n))로부터 떨어져 있을수록 값이 높아지는 확률(Pu(n))을 생성한다.
식(4.2)도 식(4.1)과 같은 확률(Pu(n))을 생성하지만, 목표 비트 레이트(Rt)가 인접한 비트 레이트(R(n+1))보다도 현재의 송신 비트 레이트(R(n))에 가까운 경우에는 확률(Pu(n))을 0으로 한다. 이로써, 송신 비트 레이트의 쓸데없는 변동을 억제할 수 있다.
식(4.3)은 목표 비트 레이트(Rt)가 인접한 비트 레이트(R(n+1))보다 낮은 경우에는 현재의 송신 비트 레이트(R(n))로부터 떨어져 있을수록 값이 높아지는 확률(Pu(n))을 생성하고, 인접한 비트 레이트(R(n+1)) 이상의 경우에는 확률(Pu(n))을 1에 고정한다.
식(4.4)도 식(4.3)과 같은 확률(Pu(n))을 생성하지만, 목표 비트 레이트(Rt)가 인접한 비트 레이트(R(n+1))보다도 현재의 송신 비트 레이트(R(n))에 가까운 경우에는 확률(Pu(n))을 0으로 한다. 이로써, 송신 비트 레이트의 쓸데없는 변동을 억제할 수 있다.
여기에서, 식(4.1) 내지 식(4.4)를 이용하는 경우에는, 그 우변에 1보다 작은 정수를 곱하도록 하여도 좋다. 이 경우, 이 정수의 값을 작게 할수록, 송신 비 트 레이트의 변동을 억제할 수 있지만, 목표 비트 레이트에의 추종성은 저하된다.
또한, 상기 식(3), (4), (3.1) 내지 (3.4) 및 (4.1) 내지 (4.4) 대신에, 목표 비트 레이트(Rt)와 확률(Pd(n)/Pu(n))과의 대응 관계를 구체적인 수치로서 격납한 테이블을 이용하여, 검색에 의해 확률을 결정하는 것도 가능하다. 어느 경우에도, 이와 같은 식 또는 테이블은 변경 확률 생성 정보로서 메모리에 미리 격납되어 있다.
이상 설명한 바와 같이, 본 발명의 제 2 실시 형태에 의하면, 현재 설정되어 있는 송신 비트 레이트(R(n))와 산출된 목표 비트 레이트(Rt)와의 차가 클수록, 송신 비트 레이트를 변경할 확률이 커진다. 즉, 현재 설정되어 있는 송신 비트 레이트(R(n))가 목표 비트 레이트(Rt)로부터 떨어져 있는 단말에서는, 송신 비트 레이트가 변경될 확률이 높고, 목표 비트 레이트에 가까운 단말에서는 낮다.
따라서 네트워크에 다수의 단말이 접속되고, 그들의 단말에서 목표 비트 레이트가 거의 같은 정도라고 가정하면, 모든 단말의 평균 설정 비트 레이트는 목표 비트 레이트 부근이 된다. 이 때문에, TCP 등의 다른 제어 방식과의 공평성을 유지할 수 있음과 함께, 각 단말이 목표 비트 레이트에 근접하게 되어 송신 비트 레이트의 설정을 빈번하게 변동시킨다는 종래 생기고 있던 사태를 회피할 수 있다.
또한, 본 발명의 제 2 실시 형태에 의하면, 각 단말에 있어서, 현재 설정되어 있는 송신 비트 레이트(R(n))로부터 1스텝 높고 낮을 뿐이고, 급격한 송신 비트 레이트 변경은 생기지 않는다. 이것은 음성·화상의 품질 열화를 억제하는 효과가 있다.
(3) 제 3 실시예
본 발명의 제 3 실시예에서는, AIMD에 있어서의 동작과 마찬가지로, 패킷 손실에 응하여 송신 비트 레이트를 변경한다. 송신 비트 레이트 변경시에 확률에 의거한 판정을 행함에 의해, 설정 가능한 비트 레이트가 이산적이라도, TCP 친화적 제어를 실현할 수 있다.
3.1) 제어 플로우
도 8은, 본 발명의 제 3 실시예에 의한 비트 레이트 제어를 도시한 플로우 차트이다. 도 9에 있어서, 우선, 수신한 음성·화상 패킷의 손실 수나 상대측 단말로부터 통지된 패킷 손실률 등에 의거하여 패킷 손실의 유무를 검출하고(스텝 301), 패킷 손실이 있는지 여부의 판정을 행한다(스텝 302).
패킷 손실이 있는 경우에는(스텝 302의 YES), 송신 비트 레이트를 내리는지 여부의 판정(비트 레이트 저하 판정 : 스텝 303 내지 306)을 행하고, 패킷 손실이 없는 경우에는(스텝 302의 NO), 송신 비트 레이트를 올리는지 여부의 판정(비트 레이트 상승 판정 : 스텝 308 내지 311)을 행한다.
비트 레이트 저하 판정(스텝 303 내지 306)에서는, 우선, 현재의 송신 비트 레이트가 높을수록, 값이 커지는 확률(Pd(n))을 계산한다(스텝 303). 다음 식(5)은, 이와 같은 계산식의 한 예이다.
(식 5)
Pd(n) = (R(n)-R(0))/(R(N-1)-R(0))
다음에, 확률(Pd(n))에 의거한 비트 레이트 변경 판정을 실행한다. 본 실시 예에서는, 난수를 이용하여 비트 레이트 변경 판정을 행한다. 우선, 난수(정확하게는, 의사 난수)(Po)를 0≤Po<1의 범위에서 생성한다(스텝 304). 여기에서는, 난수로서 일양 난수를 이용한다. 계속해서, 얻어진 난수(Po)를 스텝 303에서 산출한 확률(Pd(n))과 비교한다(스텝 305).
Po<Pd(n)이면(스텝 305의 YES), 또한 현재의 송신 비트 레이트(R(n))가 하한(최저 비트 레이트)인지의 여부(여기에서는, n=0인지의 여부)를 판정한다(스텝 306). 현재의 송신 비트 레이트(R(n))가 하한이 아니면(스텝 306의 YES), 송신 비트 레이트를 내린다고 판정되고, n을 디크리먼트(n=n-1)하고(스텝 307), R=R(n)으로 설정한다(스텝 313).
Po≥Pd(n)인 경우(스텝 305의 NO) 또는 현재의 송신 비트 레이트(R(n))가 하한인 경우(스텝 306의 NO)에는, 송신 비트 레이트를 변경하지 않는다고 판정되고, 그대로 R=R(n)으로 한다(스텝 313).
비트 레이트 상승 판정(스텝 308 내지 311)에서는, 우선, 현재의 송신 비트 레이트(R(n))가 낮을수록, 값이 커지는 확률(Pu(n))을 계산한다(스텝 308). 다음 식(6)은, 이와 같은 계산식의 한 예이다.
(식 6)
Pu(n)=(R(N-1)-R(n))/(R(N-1)-R(0))
다음에, 확률(Pu(n)))에 의거한 비트 레이트 변경 판정을 실행한다. 본 실시 형태에서는, 난수를 이용하여 비트 레이트 변경 판정을 행한다. 우선, 난수(정확하게는, 의사 난수)(Po)(0≤Po<1)를 발생시킨다(스텝 309). 여기에서는, 난수로서 일 양 난수를 이용한다. 계속해서, 얻어진 난수(Po)를 스텝 308에서 산출한 확률(Pu(n))과 비교한다(스텝 310).
Po<Pu(n)이면(스텝 310의 YES), 또한 현재의 송신 비트 레이트(R(n))가 상한(최고 비트 레이트)인지의 여부(여기에서는, n=N-1인지의 여부)를 판정한다(스텝 311). 현재의 송신 비트 레이트(R(n))가 상한이 아니면(스텝 311의 YES), 송신 비트 레이트를 올린다고 판정되고, n을 잉크리먼트(n=n+1)하고(스텝 312), R=R(n)으로 설정한다(스텝 313).
Po≥Pu(n)인 경우(스텝 310의 NO) 또는 현재의 송신 비트 레이트(R(n))가 상한인 경우(스텝 311의 NO)에는, 송신 비트 레이트를 변경하지 않는다고 판정되고, 그대로 R=R(n)으로 한다(스텝 313).
이와 같이 하여 결정된 R을 부호화기에 출력한다(스텝 314). 이렇게 하여, 음성·화상 부호화부(402)는 지정된 비트 레이트(R)로 입력 음성·화상 데이터를 부호화하고, 부호화된 데이터가 패킷 송신부(403)을 통하여 네트워크에 송출된다.
여기에서, 식(5) 및 식(6)의 우변에 1보다 작은 정수를 곱하도록 하여도 좋다. 이 경우, 이 정수의 값을 작게 할수록, 송신 비트 레이트의 변동을 억제할 수 있지만, 목표 비트 레이트에의 추종성은 저하된다.
또한, 상기 식(5) 및 (6) 대신에, 목표 비트 레이트(Rt)와 확률(Pd(n)/Pu(n))과의 대응 관계를 구체적인 수치로서 격납한 테이블을 이용하여, 검색에 의해 확률을 결정하는 것도 가능하다. 어느 경우에도, 이와 같은 식 또는 테이블은 변경 확률 생성 정보로서 메모리에 미리 격납되어 있다.
3.2) 다른 확률 설정법
다음에, 본 실시 형태에 있어서의 제어를 TCP 친화적 제어로 하는 경우의 도 8의 스텝 303 및 308에서의 확률(Pd(n) 및 Pu(n))의 결정 방법에 관해 설명한다.
우선, AIMD 동작에 의거한 TCP 친화적 제어에 있어서의 비트 레이트 증가시의 가산치 및 비트 레이트 감소시의 승산치를 각각 A 및 M이라고 한다. 본 실시예에 있어서의 송신 비트 레이트의 증가치의 평균이 AIMD 동작에 의거한 TCP 친화적 제어의 가산치가 동등한 것을 나타내는 식(7)을 푸는 것에 의해, 송신 비트 레이트를 올리는 때의 확률(Pu(n))을 구할 수 있다.
(식 7)
A=(R(n+1)-R(n))Pu(n)
Pu(n)=A/(R(n+1)-R(n))
또한, AIMD 동작에 의거한 TCP 친화적 제어에서는, 송신 비트 레이트가 R(n)인 때 비트 레이트 감소치(D(n))는, 식(8)으로 주어진다.
(식 8)
D(n)=(1-M)R(n)
따라서, 본 실시예에 의한 송신 비트 레이트의 감소치의 평균이 AIMD 동작에 의거한 TCP 친화적 제어에 의한 감소치와 동등한 것을 나타내는 식(9)을 푸는 것에 의해, 송신 비트 레이트를 내리는 때의 Pd(n)를 구할 수 있다.
(식 9)
D(n)=(R(n)-R(n-1))Pd(n)
Pd(n)=D(n)/(R(n)-R(n-1))
이상과 같이 송신 비트 레이트를 내리는 때의 확률(Pd(n)) 및 올리는 때의 확률(Pu(n))을 구함에 의해, 비트 레이트 제어를 TCP 친화적 제어로 할 수 있다.
또한, 상기 식(5) 내지 (9)과 같은 계산식 대신에, 이산적 비트 레이트의 각각에 대해 비트 레이트를 저하시키는 확률(Pd(n))과 상승시키는 확률(Pu(n))을 테이블에 미리 격납하고, 현재의 송신 비트 레이트(R(n))를 이용하여 검색함으로써 마찬가지의 비트 레이트 변경 확률을 구할 수도 있다.
이상 설명한 바와 같이, 본 발명의 제 3 실시예에 의하면, 패킷의 손실이 검출되고 비트 레이트를 저하시킬 필요가 생긴 경우, 또는, 패킷 손실이 검출되지 않기 때문에 비트 레이트를 상승시킬 수 있는 경우에는, 현재 설정되어 있는 비트 레이트(R(n))가 비트 레이트 설정 가능 범위의 어느 위치에 있는가에 의거하여, 비트 레이트 변경의 확률을 결정한다. 구체적으로는, 패킷의 손실이 검출되면, 현재 설정되어 있는 비트 레이트(R(n))가 비교적 높은 단말에서는, 비트 레이트를 저하시키는 확률을 높게 하고, 낮은 단말에서는 낮게 한다. 역으로, 패킷의 손실이 검출되지 않는 경우에는, 네트워크는 순조롭게 동작하고 있기 때문에, 현재 설정되어 있는 비트 레이트(R(n))가 비교적 낮은 단말은 비트 레이트를 상승시키는 확률을 높게 하고, 높은 단말에서는 낮게 한다.
따라서 네트워크에 다수의 단말이 접속되고, 그들이 패킷의 손실을 검출하면, 비트 레이트가 높은 단말일수록 비트 레이트를 저하시키는 확률이 높아지고, 패킷 손실이 검출되지 않는 경우에는 비트 레이트가 낮은 단말일수록 상승시키는 확률이 높아진다. 이 때문에, 모든 단말 사이에서 공평한 비트 레이트 설정이 가능해지고, 네트워크의 이용 효율을 최적화할 수 있음과 함께, 각 단말이 목표 비트 레이트에 근접하게 되어 비트 레이트의 설정을 빈번하게 변동시킨다는 종래 생기고 있던 사태를 회피할 수 있다.
또한, TCP 친화적 제어와 정합하도록 비트 레이트 변경 확률을 설정함으로써, 단말 사이에서의 공평성 및 TCP와의 공평성을 확보할 수 있다.
(4) 제 4 실시예
본 발명의 제 4 실시예에 의한 비트 레이트 제어에서는, 상기 제 2 실시예 또는 제 3 실시예에 있어서의 비트 레이트 저하 및 상승 확률(Pd(n) 및 Pu(n))에 인접 비트 레이트의 간격의 크기를 반영시킨다. 예를 들면, 현재의 송신 비트 레이트와 인접 비트 레이트와의 차가 클수록 비트 레이트 변경 확률을 작게 함으로써, 음성·화상의 품질 열화를 더욱 억제할 수 있다.
상술한 바와 같이, 음성·화상 부호화부(402)가 갖는 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)=64kbps로 된다.
이와 같이 이산적 비트 레이트의 간격이 일정하지 않은 경우, 일률적인 확률 계산에 의거하여 송신 비트 레이트 변경을 행하면, 단말에 따라서는 큰 비트 레이트 변경이 생겨서 음성·화상의 품질을 열화시키는 요인으로 되는 경우가 있다. 그 래서, 본 실시예에서는, 현재의 송신 비트 레이트와 인접 비트 레이트와의 차에 응하여 비트 레이트 변경 확률을 미리 설정하여 둔다. 이하, 구체적으로 설명한다.
현재의 송신 비트 레이트와 인접 비트 레이트의 차에 응하여 비트 레이트 변경 확률을 결정하는 경우는, 계산식보다도 테이블을 사용하는 편이 적합하다. 예를 들면, 다음 표에 표시한 바와 같이, 이산적 비트 레이트의 각각에 관해 송신 비트 레이트를 저하시키는 확률(Pd(n))과 상승시키는 확률(Pu(n))를 미리 테이블에 격납하여 둔다.
이산적 비트레이트 R(0) R(1) ... R(n) ... R(n-1)
비트레이트 저하 확율(Pd) Pd(0) Pd(1) ... Pd(n) ... Pd(N-1)
비트레이트 상승 확율(Pu) Pu(0) Pu(1) ... Pu(n) ... Pu(N-1)
이산적 비트 레이트의 각각에 관해, 비트 레이트 저하/상승 확률(Pd(n)/Pu(n))은, 인접 비트 레이트와의 거리가 커질수록, 값이 작아지도록 설정한다.
예를 들면, 현재 설정되어 있는 송신 비트 레이트를 R(n)이라고 했을 때에, 다음 식(10) 및 (11)과 같이, 비트 레이트 변경 확률을 인접 비트 레이트와의 거리에 반비례시킨다.
(식 10)
Pd(n)=Cd(n)/(R(n)-R(n-1))
(식 11)
Pu(n)=Cu(n)/(R(n+1)-R(n))
단, Cd(n)은, 제 2 실시예에 있어서의 식(3), (3.1) 또는 (3.2), 또는, 제 3 실시 형태의 식(5)에 의해 정해진다. Cu(n)은 제 2 실시예에 있어서 식(4), (4.1) 또는 (4.2), 또는, 제 3 실시예의 식(6)에 의해 정해진다.
이와 같은 테이블을 이용한 비트 레이트 변경 확률 결정 스텝을, 도 5의 스텝 204 및 209, 도 8의 스텝 303 및 308 대신에 이용함으로써, 현재의 송신 비트 레이트와 인접 비트 레이트와의 차가 클수록 비트 레이트 변경 확률이 작아지고, 송신 비트 레이트의 큰 변화가 억제되고, 음성·화상의 품질 열화를 억제할 수 있다.
(5) 비트 레이트 제어부의 구성예
도 9는, 본 발명의 상기 각 실시 형태를 실현하는 비트 레이트 제어부의 구성을 도시한 블록도이다. 비트 레이트 제어부는, 디지털 시그널 프로세서(DSP)나 중앙 처리 장치(CPU) 등의 프로그램 제어 프로세서(601)와, 프로그램 메모리(602)와, 확률의 계산식 또는 테이블을 격납한 변경 확률 생성 정보 메모리(도시 생략)로 구성된다. 프로그램 메모리(602)에는 상기 제 1 내지 제 4 실시예의 어느 하나에 대응하는 비트 레이트 제어 프로그램이 미리 격납되어 있다.
프로그램 제어 프로세서(601)는 프로그램 메모리(602)로부터 비트 레이트 제어 프로그램을 판독하여 실행하고, 변경 확률 생성 정보 메모리에 격납된 계산식 또는 테이블을 참조하면서 라운드 트립 시간 또는 패킷 손실률 등에 응하여 송신 비트 레이트(R)를 결정하고, 그것을 음성·화상 부호화기(402)에 출력한다.
(6) 비트 레이트 제어 시스템
상술한 바와 같이, 도 1에 도시한 단말에서는, 예를 들면 패킷 수신부(404)에서 RTCP 패킷을 수신하고, 거기서 라운드 트립 시간 및 패킷 손실률에 관한 정보(네트워크 정보)를 추출하고, 본 발명에 의한 비트 레이트 제어부(405)에 출력한다. 비트 레이트 제어부(405)에서는 상술한 프로세스에 의해 비트 레이트 제어가 행해진다. 즉, 자단말(自端末) 내에서 비트 레이트의 제어가 행해진다. 이에 대해, 상대측의 단말에서 자단말의 비트 레이트가 제어되도록 구성하는 것도 가능하다.
도 10은, 상대측에서 비트 레이트 제어가 행해지는 경우의 시스템 구성을 도시한 블록도이다. 여기에서는 설명을 간단하게 하기 위해, 네트워크에 2개의 단말(A 및 B)이 접속되고, 서로 음성·화상 데이터를 송수신하고 있는 것으로 한다. 또한, 도 1과 같은 기능을 갖는 블록에는 같은 참조 번호를 붙이고 설명은 생략한다.
도 10에 있어서, 예를 들면 단말(A)의 패킷 수신부(504)는, 상대측의 단말(B)로부터 네트워크를 통하여 음성·화상 패킷을 수신하면, 수신한 음성·화상 패킷의 손실 수 등으로부터 패킷 손실률 등의 제 1의 네트워크 정보를 생성하고, 비트 레이트 제어부(505)에 출력한다. 비트 레이트 제어부(505)는, 제 1의 네트워크 정보에 의거하여, 본 발명의 제 1 내지 제 4 실시 형태에서 설명한 바와 같이 제 1의 송신 비트 레이트(R)를 결정하고, 그것을 나타내는 제 1의 비트 레이트 정보를 패킷 송신부(503)에 출력한다. 또한, 패킷 수신부(504)는 단말(B)에 의해 생성된 제 2의 비트 레이트 정보를 추출하고, 음성·화상 부호화부(402)에 출력한다. 패킷 송신부(503)는 제 1의 비트 레이트 정보와 부호화된 음성·화상 정보로부터 송신 패킷을 생성하고, 네트워크를 통하여 단말(B)에 송신한다. 예를 들면, RTP에 의한 음성 통신에 있어서, AMR(Adaptive Multi-Rate) 음성 Codec을 이용하는 경우, 헤더에 4비트의 CMR(Codec Mode Request)이라는 필드가 있고, 상대측으로부터 자단말을 향하여 송신하는 비트 레이트를 Codec Mode(비트 레이트에 대응하는 번호)에 의해 지정할 수 있다.
단말(B)은, 단말(A)로부터 패킷을 수신하면, 거기서 제 1의 비트 레이트 정보를 추출하고, 음성·화상 부호화부(402)에 출력한다. 음성·화상 부호화부(402)는 그 제 1의 비트 레이트 정보에 의해 지정된 제 1의 송신 비트 레이트(R)로 송신 음성·화상 정보(401)를 부호화하고, 부호화된 음성·화상 데이터는 비트 레이트 제어부(505)에 의해 생성된 제 2의 비트 레이트 정보와 함께 패킷 송신부(503)로부터 단말(A)에 송신된다.
이와 같이, 단말(A 및 B)이 서로 상대의 송신 비트 레이트를 제어함으로써, RTCP 패킷을 이용하여 네트워크의 정보를 교환할 필요가 없고, RTCP 패킷에 의해 소비되는 대역을 절약할 수 있다.
또한, RTCP 패킷의 송신 간격은 5초 정도이기 때문에 네트워크의 변화에 재빠르게 대응할 수가 없지만, 각 단말이 수신한 패킷으로부터 네트워크의 상황을 검출하기 때문에, 네트워크의 변화에 신속하게 대응할 수 있고, 본 발명의 효과를 더욱 향상시킬 수 있다.
또한, 상기 제 1 내지 제 4 실시예에 있어서, 연속하여 비트 레이트가 변경됨에 의해 생기는 음질 및 화질의 열화를 피하기 위해, 비트 레이트를 변경하고 나 서 일정 시간, 비트 레이트를 변경하는 확률을 0 또는 작게 하는 것도 가능하다. 또한, 예를 들면 R(n)=R(n+1)=R(n+2)와 같이 같은 값의 비트 레이트를 복수 이용함으로써, 비트 레이트의 변동을 억제하는 것도 가능하다.
또한, 본 발명에 의한 비트 레이트 제어 방법은 갱신 시간에 의하지 않고 적용 가능하다. 예를 들면, 갱신 시간이 10초이고 천이 확률을 0.1이라고 설계한 경우, 갱신 시간이 1초로 변하였다고 하여도, 천이 확률을 1/10인 0.01로 조정하면, 거의 같은 효과를 유지할 수 있다.
이상 상세히 설명한 바와 같이, 본 발명에 의하면, 네트워크의 상태에 응하여 비트 레이트를 제어할 때에, 확률에 의거하여 비트 레이트를 결정하기 때문에, 리얼타임 트래픽의 품질 열화를 야기하는 비트 레이트의 심한 변동을 억제할 수 있고, 게다가 TCP와의 공평성을 실현할 수 있다.
즉, 통신 시스템의 모든 단말의 각각에 있어서 이용 가능한 비트 레이트가 이산적이라도, 모든 단말의 비트 레이트를 평균한 값이 소망하는 비트 레이트로 되도록 각 단말의 비트 레이트를 변경하는 확률치를 정함에 의해, 각 단말에 있어서 비트 레이트의 변동이 적은 제어가 가능해지고, 음성·화상 등의 리얼타임 통신의 품질을 향상시킬 수 있다.

Claims (42)

  1. 네트워크를 통하여 리얼타임 트래픽을 송신할 때의 비트 레이트 제어 방법에 있어서,
    a) 복수의 미리 정해진 이산적 비트 레이트를 준비하고,
    b) 상기 복수의 이산적 비트 레이트중 임의의 인접한 비트 레이트의 한쪽을 선택하는 확률을 결정하고,
    c) 상기 결정된 확률에 의거하여, 어느 한쪽의 비트 레이트를 송신 비트 레이트로서 설정하는지의 여부를 판정하는 것을 특징으로 하는 비트 레이트 제어 방법.
  2. 제 1항에 있어서,
    상기 스텝 (b)는,
    b.1) 상기 네트워크의 상태에 응하여 목표 비트 레이트를 계산하고,
    b.2) 상기 계산된 목표 비트 레이트에 인접하는 비트 레이트를 결정하고,
    b.3) 상기 계산된 목표 비트 레이트가 상기 인접 비트 레이트의 한쪽에 가까울수록, 해당 한쪽의 비트 레이트를 선택하는 확률을 높게 하는 것을 특징으로 하는 비트 레이트 제어 방법.
  3. 제 1항에 있어서,
    현재 설정되어 있는 송신 비트 레이트의 변경은, 한 단계 높은 인접 비트 레이트로의 변경, 한 단계 낮은 인접 비트 레이트로의 변경 및 변경 없음 중 어느 하나인 것을 특징으로 하는 비트 레이트 제어 방법.
  4. 제 3항에 있어서,
    상기 스텝 (b)는,
    b.1) 상기 네트워크의 상태에 응하여 목표 비트 레이트를 계산하고,
    b.2) 상기 계산된 목표 비트 레이트와 현재 설정되어 있는 송신 비트 레이트와의 차의 크기에 의존하여, 상기 현재 설정되어 있는 송신 비트 레이트에 인접하는 비트 레이트의 한쪽을 선택하는 확률을 변화시키는 것을 특징으로 하는 비트 레이트 제어 방법.
  5. 제 3항에 있어서,
    상기 스텝 (b)는,
    b.1) 상기 네트워크의 상태에 응하여 송신 비트 레이트의 변경 방향을 결정하고,
    b.2) 상기 복수의 이산적 비트 레이트에 있어서의 상기 현재 설정되어 있는 비트 레이트의 높이에 의존하여, 상기 현재 설정되어 있는 송신 비트 레이트에 인접하는 비트 레이트의 한쪽을 선택하는 확률을 변화시키는 것을 특징으로 하는 비트 레이트 제어 방법.
  6. 제 1항에 있어서,
    상기 스텝 (b)에 있어서, 인접하는 비트 레이트의 간격에 의존하여 상기 확률을 결정하는 것을 특징으로 하는 비트 레이트 제어 방법.
  7. 제 1항 내지 제 6항 중 어느 한 항에 있어서,
    d) 상기 스텝 (c)에 의해 현재 설정되어 있는 비트 레이트가 변경되는지의 여부를 판정하고,
    e) 송신 비트 레이트가 변경된 경우에는, 변경 후의 미리 정해진 시간이 경과할 때까지, 상기 확률을 통상의 확률보다도 작게 하는 것을 더 포함하는 것을 특징으로 하는 비트 레이트 제어 방법.
  8. 제 7항에 있어서,
    상기 미리 정해진 시간이 경과할 때까지 상기 확률을 0으로 하는 것을 특징으로 하는 비트 레이트 제어 방법.
  9. 네트워크를 통하여 리얼타임 트래픽을 송신할 때의 비트 레이트 제어 방법에 있어서,
    a) 복수의 미리 정해진 이산적 비트 레이트를 준비하고,
    b) 상기 이산적 비트 레이트의 임의의 인접 비트 레이트중, 한쪽에 가까울수록, 해당 한쪽의 비트 레이트를 선택하는 확률이 높아지는 변경 확률 생성 정보를 준비하고,
    c) 상기 네트워크의 상태에 응하여 목표 비트 레이트를 계산하고,
    d) 상기 계산된 목표 비트 레이트에 인접하는 비트 레이트와 상기 변경 확률 생성 정보에 의거하여, 상기 인접하는 비트 레이트의 어느 한쪽을 선택하는 확률을 결정하고,
    e) 상기 결정된 확률에 의거하여, 상기 어느 한쪽의 비트 레이트를 송신 비트 레이트로서 설정하는 것을 특징으로 하는 비트 레이트 제어 방법.
  10. 제 9항에 있어서,
    상기 변경 확률 생성 정보는, 다음 식
    P=(R(n+1)-Rt)/(R(n+1)-R(n))
    에 의해 표현되며
    P는 상기 확률, Rt는 상기 목표 비트 레이트, R(n)은 상기 현재 설정되어 있는 송신 비트 레이트, R(n+1)은 상기 현재 설정되어 있는 비트 레이트에 인접하는 한 단계 높은 비트 레이트인 것을 특징으로 하는 비트 레이트 제어 방법.
  11. 제 9항 또는 제 10항에 있어서,
    상기 스텝 (c)에 있어서, 상기 목표 비트 레이트는 TCP(Transmission Control Protocol) 친화적 제어에 따라 계산되는 것을 특징으로 하는 비트 레이트 제어 방법.
  12. 네트워크를 통하여 리얼타임 트래픽을 송신할 때의 비트 레이트 제어 방법에 있어서,
    a) 복수의 미리 정해진 이산적 비트 레이트를 준비하고,
    b) 목표 비트 레이트와 현재 설정되어 있는 송신 비트 레이트와의 차가 클수록, 상기 현재 설정되어 있는 송신 비트 레이트에 인접하는 비트 레이트의 한쪽을 선택하는 확률이 높아지는 변경 확률 생성 정보를 준비하고,
    c) 상기 네트워크의 상태에 응하여 목표 비트 레이트를 계산하고,
    d) 상기 계산된 목표 비트 레이트와 상기 변경 확률 생성 정보에 의거하여, 상기 현재 설정되어 있는 송신 비트 레이트에 인접하는 비트 레이트의 어느 한쪽을 선택하는 확률을 결정하고,
    e) 상기 결정된 확률에 의거하여, 상기 어느 한쪽의 비트 레이트를 송신 비트 레이트로서 설정하는지의 여부를 판정하는 것을 특징으로 하는 비트 레이트 제어 방법.
  13. 제 12항에 있어서,
    상기 변경 확률 생성 정보는,
    상기 현재 설정되어 있는 송신 비트 레이트가 상기 목표 비트 레이트보다 높 은 경우에는, 그 차가 클수록, 상기 현재 설정되어 있는 송신 비트 레이트를 낮은 쪽의 인접 비트 레이트로 변경하는 확률을 높게 하고,
    상기 현재 설정되어 있는 송신 비트 레이트가 상기 목표 비트 레이트보다 낮은 경우에는, 그 차가 클수록, 상기 현재 설정되어 있는 비트 레이트를 높은 쪽의 인접 비트 레이트로 변경하는 확률을 높게 하고,
    상기 현재 설정되어 있는 송신 비트 레이트와 상기 목표 비트 레이트가 동등한 경우에는, 상기 현재 설정되어 있는 송신 비트 레이트를 변경하지 않는 것을 특징으로 하는 비트 레이트 제어 방법.
  14. 제 13항에 있어서,
    상기 현재 설정되어 있는 송신 비트 레이트가 상기 목표 비트 레이트보다 높은 경우의 상기 변경 확률 생성 정보는, 다음 식(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)은 상기 현재 설정되어 있는 송신 비트 레이트에 인접한 한 단계 낮은 비트 레이트인 것을 특징으 로 하는 비트 레이트 제어 방법.
  15. 제 13항에 있어서,
    상기 현재 설정되어 있는 송신 비트 레이트가 상기 목표 비트 레이트보다 낮은 경우의 상기 변경 확률 생성 정보는, 다음 식(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)은 상기 현재 설정되어 있는 송신 비트 레이트보다 한 단계 높은 비트 레이트, R(N-1)은 이산적 비트 레이트의 최고 비트 레이트인 것을 특징으로 하는 비트 레이트 제어 방법.
  16. 제 12항 내지 제 15항 중 어느 한 항에 있어서,
    상기 스텝 (c)에 있어서, 상기 목표 비트 레이트는 TCP(Transmission Control Protocol) 친화적 제어에 따라 계산되는 것을 특징으로 하는 비트 레이트 제어 방법.
  17. 네트워크를 통하여 리얼타임 트래픽을 송신할 때의 비트 레이트 제어 방법에 있어서,
    a) 복수의 미리 정해진 이산적 비트 레이트를 준비하고,
    b) 상기 복수의 이산적 비트 레이트에 있어서의 상기 현재 설정되어 있는 비트 레이트의 높이에 의존하여, 상기 현재 설정되어 있는 송신 비트 레이트에 인접하는 비트 레이트의 한쪽을 선택하는 확률이 변화하는 변경 확률 생성 정보를 준비하고,
    c) 상기 네트워크의 상태에 응하여 송신 비트 레이트의 변경 방향을 결정하고,
    d) 상기 결정된 송신 비트 레이트 변경 방향, 상기 현재 설정되어 있는 송신 비트 레이트 및 상기 변경 확률 생성 정보에 의거하여, 상기 현재 설정되어 있는 송신 비트 레이트에 인접하는 비트 레이트의 어느 한쪽을 선택하는 확률을 결정하고,
    e) 상기 결정된 확률에 의거하여, 상기 어느 한쪽의 비트 레이트를 송신 비트 레이트로서 설정하는지의 여부를 판정하는 것을 특징으로 하는 비트 레이트 제어 방법.
  18. 제 17항에 있어서,
    상기 변경 확률 생성 정보는,
    상기 송신 비트 레이트 변경 방향이 저하 방향인 경우에는, 상기 현재 설정되어 있는 송신 비트 레이트가 높을수록, 상기 현재 설정되어 있는 비트 레이트를 낮은 쪽의 인접 비트 레이트로 변경한 확률을 높게 하고,
    상기 송신 비트 레이트 변경 방향이 상승 방향인 경우에는, 상기 현재 설정되어 있는 송신 비트 레이트가 낮을수록, 상기 현재 설정되어 있는 송신 비트 레이트를 높은 쪽의 인접 비트 레이트로 변경하는 확률을 높게 하는 것을 특징으로 하는 비트 레이트 제어 방법.
  19. 제 18항에 있어서,
    상기 변경 확률 생성 정보는,
    상기 송신 비트 레이트 변경 방향이 저하 방향인 경우에는, 다음 식
    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)은 이산적 비트 레이트의 최고 비트 레이트인 것을 특징으로 하는 비트 레이트 제어 방법.
  20. 제 18항에 있어서,
    상기 변경 확률 생성 정보는,
    상기 송신 비트 레이트 변경 방향이 저하 방향인 경우에, 송신 비트 레이트를 저하시키는 확률을 TCP 친화적 제어에 있어서의 비트 레이트 저하치에 정합시켜서 결정하고,
    상기 송신 비트 레이트 변경 방향이 상승 방향인 경우에, 송신 비트 레이트를 상승시키는 확률을 상기 TCP 친화적 제어에 있어서의 비트 레이트 상승치에 정합시켜서 결정하는 것을 특징으로 하는 비트 레이트 제어 방법.
  21. 제 20항에 있어서,
    상기 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))
    에 의해 표현되는 것을 특징으로 하는 비트 레이트 제어 방법.
  22. 네트워크를 통하여 리얼타임 트래픽을 송신할 때의 비트 레이트 제어 방법에 있어서,
    a) 복수의 미리 정해진 이산적 비트 레이트를 준비하고,
    b) 상기 복수의 이산적 비트 레이트에 있어서의 임의의 인접하는 비트 레이트 사이의 간격에 의존하여 확률이 변화하는 변경 확률 생성 정보를 준비하고,
    c) 상기 네트워크의 상태에 응하여 송신 비트 레이트의 변경 방향을 결정하고,
    d) 상기 결정된 송신 비트 레이트 변경 방향, 상기 현재 설정되어 있는 송신 비트 레이트 및 상기 변경 확률 생성 정보에 의거하여, 상기 현재 설정되어 있는 송신 비트 레이트에 인접하는 비트 레이트의 어느 한쪽을 선택하는 확률을 결정하고,
    e) 상기 결정된 확률에 의거하여, 상기 어느 한쪽의 비트 레이트를 송신 비트 레이트로서 설정하는지의 여부를 판정하는 것을 특징으로 하는 비트 레이트 제어 방법.
  23. 제 22항에 있어서,
    상기 변경 확률 생성 정보는,
    상기 송신 비트 레이트 변경 방향이 저하 방향인 경우에는,
    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)은 상기 현재 설정되어 있는 송신 비트 레이트에 인접하는 한 단계 낮은 비트 레이트이며,
    상기 송신 비트 레이트 변경 방향이 상승 방향인 경우에는,
    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)은 상기 현재 설정되어 있는 송신 비트 레이트에 인접하는 한 단계 높은 비트 레이트, R(N-1)은 이산적 비트 레이트의 최고 비트 레이트인 것을 특징으로 하는 비트 레이트 제어 방법.
  24. 복수의 미리 정해진 이산적 비트 레이트를 갖는 부호화기를 이용하여 네트워크를 통하여 리얼타임 트래픽을 송신하는 시스템에 있어서의 비트 레이트 제어 장치에 있어서,
    상기 복수의 이산적 비트 레이트중 임의의 인접한 비트 레이트의 한쪽을 선택하는 확률을 상기 복수의 이산적 비트 레이트마다 생성하기 위한 변경 확률 생성 정보를 격납하는 격납 수단과,
    주어진 네트워크 정보에 의거하여 상기 변경 확률 생성 정보에 의해 확률을 생성하고, 해당 확률에 의거하여 상기 부호화기의 비트 레이트 제어를 실행하는 제어 수단을 갖는 것을 특징으로 하는 비트 레이트 제어 장치.
  25. 제 24항에 있어서,
    상기 제어 수단은 상기 네트워크의 상태에 응한 목표 비트 레이트를 계산하기 위한 목표 비트 레이트 계산 수단을 포함하고,
    상기 계산된 목표 비트 레이트에 인접하는 비트 레이트를 결정하고, 상기 계산된 목표 비트 레이트가 해당 인접 비트 레이트의 한쪽에 가까울수록 해당 한쪽의 비트 레이트를 선택하는 확률이 높아지도록 상기 부호화기의 비트 레이트 제어를 실행하는 것을 특징으로 하는 비트 레이트 제어 장치.
  26. 제 24항에 있어서,
    상기 제어 수단은, 현재 설정되어 있는 송신 비트 레이트보다 한 단계 높은 인접 비트 레이트로의 변경, 한 단계 낮은 인접 비트 레이트로의 변경 및 변경 없음 중 어느 하나를 실행하는 것을 특징으로 하는 비트 레이트 제어 장치.
  27. 제 26항에 있어서,
    상기 제어 수단은 상기 네트워크의 상태에 응한 목표 비트 레이트를 계산하기 위한 목표 비트 레이트 계산 수단을 포함하고,
    상기 계산된 목표 비트 레이트와 현재 설정되어 있는 통신 비트 레이트와의 차의 크기에 의존하여, 상기 현재 설정되어 있는 송신 비트 레이트에 인접하는 비트 레이트의 한쪽을 선택하는 확률이 변화하도록 상기 부호화기의 비트 레이트 제어를 실행하는 것을 특징으로 하는 비트 레이트 제어 장치.
  28. 제 26항에 있어서,
    상기 제어 수단은 상기 네트워크의 상태에 응하여 송신 비트 레이트의 변경 방향을 결정하는 변경 방향 결정 수단을 포함하고,
    상기 복수의 이산적 비트 레이트에 있어서의 상기 현재 설정되어 있는 비트 레이트의 높이에 의존하여, 상기 현재 설정되어 있는 비트 레이트에 인접하는 비트 레이트의 한쪽을 선택하는 확률이 변화하도록 상기 부호화기의 비트 레이트 제어를 실행하는 것을 특징으로 하는 비트 레이트 제어 장치.
  29. 제 28항에 있어서,
    상기 변경 방향 결정 수단은 패킷 손실의 유무에 의거하여 송신 비트 레이트의 저하 및 상승의 어느 하나를 결정하는 것을 특징으로 하는 비트 레이트 제어 장치.
  30. 제 26항에 있어서,
    상기 변경 확률 생성 정보는 인접하는 비트 레이트의 간격에 의존하여 확률을 결정하도록 구성되어 있고, 상기 제어 수단은 인접하는 비트 레이트의 간격에 의존한 확률에 의거하여 상기 부호화기의 비트 레이트 제어를 실행하는 것을 특징으로 하는 비트 레이트 제어 장치.
  31. 네트워크를 통하여 단말 사이에서 리얼타임 트래픽의 통신을 행하는 시스템에 있어서의 리얼타임 통신 단말에 있어서,
    상기 네트워크에 접속하여 데이터의 송수신을 행하기 위한 송수신 수단과,
    복수의 미리 정해진 이산적 비트 레이트를 가지며, 송신 데이터를 부호화하기 위한 부호화 수단과,
    상기 부호화 수단의 비트 레이트를 제어하기 위한 비트 레이트 제어 수단을 가지며,
    상기 비트 레이트 제어 수단은,
    상기 복수의 이산적 비트 레이트중 임의의 인접한 비트 레이트의 한쪽을 선택하는 확률을 상기 복수의 이산적 비트 레이트마다 생성하기 위한 변경 확률 생성 정보를 격납하는 격납 수단과,
    외부로부터 주어진 네트워크 정보에 의거하여 상기 변경 확률 생성 정보에 의해 확률을 생성하고, 해당 확률에 의거하여 상기 부호화 수단의 비트 레이트 제어를 실행하는 제어 수단을 갖는 것을 특징으로 하는 리얼타임 통신 단말.
  32. 제 31항에 기재된 리얼타임 통신 단말이 복수개 상기 네트워크에 접속되어 이루어지는 것을 특징으로 하는 리얼타임 통신 시스템.
  33. 네트워크를 통하여 단말 사이에서 리얼타임 트래픽의 통신을 행하는 시스템의 리얼타임 통신 단말에 있어서,
    복수의 미리 정해진 이산적 비트 레이트를 가지며, 송신 데이터를 부호화하기 위한 부호화 수단과,
    통신 상대측의 리얼타임 통신 단말로부터 상기 네트워크를 통하여 리얼타임 트래픽 데이터와 비트 레이트 제어 지령을 수신한 수신 수단과,
    상기 리얼타임 트래픽 데이터로부터 상기 네트워크의 상태를 검출하는 검출 수단과,
    상기 검출된 네트워크의 상태에 응하여 상기 통신 상대측의 비트 레이트 제 어를 행하기 위한 송신 비트 레이트 제어 지령을 생성하기 위한 비트 레이트 제어 수단과,
    상기 부호화 수단에 의해 부호화된 송신 데이터와 상기 송신 비트 레이트 제어 지령을 상기 통신 상대측의 리얼타임 통신 단말에 송신하는 송신 수단을 가지며,
    상기 비트 레이트 제어 수단은,
    상기 복수의 이산적 비트 레이트중 임의의 인접한 비트 레이트의 한쪽을 선택하는 확률을 상기 복수의 이산적 비트 레이트마다 생성하기 위한 변경 확률 생성 정보를 격납하는 격납 수단과,
    외부로부터 주어진 네트워크 정보에 따라 상기 변경 확률 생성 정보에 의해 확률을 생성하고, 해당 확률에 의거하여 상기 비트 레이트 제어 지령을 생성하는 제어 수단을 갖는 것을 특징으로 하는 리얼타임 통신 단말.
  34. 제 33항에 기재된 리얼타임 통신 단말이 복수개 상기 네트워크에 접속되어 이루어지는 것을 특징으로 하는 리얼타임 통신 시스템.
  35. 컴퓨터에, 네트워크를 통하여 리얼타임 트래픽을 송신할 때의 비트 레이트 제어를 실행시키기 위한 프로그램에 있어서,
    a) 복수의 미리 정해진 이산적 비트 레이트를 준비하고,
    b) 상기 복수의 이산적 비트 레이트중 임의의 인접한 비트 레이트의 한쪽을 선택하는 확률을 결정하고,
    c) 상기 결정된 확률에 의거하여, 어느 한쪽의 비트 레이트를 설정하는지의 여부를 판정하는 스텝을 갖는 것을 특징으로 하는 비트 레이트 제어 프로그램을 기록한 매체.
  36. 제 35항에 있어서,
    상기 스텝 (b)는,
    b.1) 상기 네트워크의 상태에 응하여 목표 비트 레이트를 계산하고,
    b.2) 상기 설정된 목표 비트 레이트에 인접하는 비트 레이트를 결정하고,
    b.3) 상기 계산된 목표 비트 레이트가 상기 인접 비트 레이트의 한쪽에 가까울수록, 해당 한쪽의 비트 레이트를 선택하는 확률을 높게 하는 것을 특징으로 하는 비트 레이트 제어 프로그램을 기록한 매체.
  37. 제 35항에 있어서,
    현재 설정되어 있는 송신 비트 레이트의 변경은 한 단계 높은 인접 비트 레이트로의 변경, 한 단계 낮은 인접 비트 레이트로의 변경 및 변경 없음 중 어느 하나인 것을 특징으로 하는 비트 레이트 제어 프로그램을 기록한 매체.
  38. 제 37항에 있어서,
    상기 스텝 (b)는,
    b.1) 상기 네트워크의 상태에 응하여 목표 비트 레이트를 계산하고,
    b.2) 상기 계산된 목표 비트 레이트와 현재 설정되어 있는 송신 비트 레이트와의 차의 크기에 의존하여, 상기 현재 설정되어 있는 송신 비트 레이트에 인접하는 비트 레이트의 한쪽을 선택하는 확률을 변화시키는 것을 특징으로 하는 비트 레이트 제어 프로그램을 기록한 매체.
  39. 제 37항에 있어서,
    상기 스텝 (b)는,
    b.1) 상기 네트워크의 상태에 응하여 송신 비트 레이트의 변경 방향을 결정하고,
    b.2) 상기 복수의 이산적 비트 레이트에 있어서의 상기 현재 설정되어 있는 비트 레이트의 높이에 의존하여, 상기 현재 설정되어 있는 송신 비트 레이트에 인접하는 비트 레이트의 한쪽을 선택하는 확률을 변화시키는 것을 특징으로 하는 비트 레이트 제어 프로그램을 기록한 매체.
  40. 제 35항에 있어서,
    상기 스텝 (b)에 있어서, 인접하는 비트 레이트의 간격에 의존하여 상기 확률을 결정하는 것을 특징으로 하는 비트 레이트 제어 프로그램을 기록한 매체.
  41. 제 35항 내지 제 40항 중 어느 한 항에 있어서,
    d) 상기 스텝 (c)에 의해 현재 설정되어 있는 송신 비트 레이트가 변경되는지의 여부를 판정하고,
    e) 송신 비트 레이트가 변경된 경우에는, 변경 후의 미리 정해진 시간이 경과할 때까지, 상기 확률을 통상의 확률보다도 작게 하는 것을 더 포함하는 것을 특징으로 하는 비트 레이트 제어 프로그램을 기록한 매체.
  42. 제 41항에 있어서,
    상기 미리 정해진 시간이 경과할 때까지 상기 확률을 0으로 하는 것을 특징으로 하는 비트 레이트 제어 프로그램을 기록한 매체.
KR20047007857A 2002-04-23 2003-04-23 비트 레이트 제어 방법 및 장치 KR100615119B1 (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
JP2002120066A JP4000895B2 (ja) 2002-04-23 2002-04-23 リアルタイム通信のためのビットレート制御方法および装置
JPJP-P-2002-00120066 2002-04-23
PCT/JP2003/005170 WO2003092227A1 (en) 2002-04-23 2003-04-23 Bit rate control method and device

Publications (2)

Publication Number Publication Date
KR20040096495A KR20040096495A (ko) 2004-11-16
KR100615119B1 true KR100615119B1 (ko) 2006-08-22

Family

ID=29267352

Family Applications (1)

Application Number Title Priority Date Filing Date
KR20047007857A KR100615119B1 (ko) 2002-04-23 2003-04-23 비트 레이트 제어 방법 및 장치

Country Status (6)

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

Families Citing this family (26)

* 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
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
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
US8165692B2 (en) 2004-06-10 2012-04-24 Medtronic Urinary Solutions, Inc. Implantable pulse generator power management
WO2006022993A2 (en) 2004-06-10 2006-03-02 Ndi Medical, Llc Implantable generator for muscle and nerve stimulation
US7761167B2 (en) 2004-06-10 2010-07-20 Medtronic Urinary Solutions, Inc. Systems and methods for clinician control of stimulation systems
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
US7844725B2 (en) * 2008-07-28 2010-11-30 Vantrix Corporation Data streaming through time-varying transport media
US8001260B2 (en) 2008-07-28 2011-08-16 Vantrix Corporation Flow-rate adaptation for a connection of time-varying capacity
US7975063B2 (en) * 2009-05-10 2011-07-05 Vantrix Corporation Informative data streaming server
JP2011120168A (ja) * 2009-12-07 2011-06-16 Kyocera Corp 通信装置
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
WO2018114519A1 (en) * 2016-12-21 2018-06-28 British Telecommunications Public Limited Company Managing congestion response during content delivery
KR20200100387A (ko) * 2019-02-18 2020-08-26 삼성전자주식회사 실시간 비트레이트 제어 방법 및 이를 위한 전자 장치
CN111193673B (zh) * 2020-04-10 2020-08-25 亮风台(上海)信息科技有限公司 数据传输速率控制方法、系统和用户设备

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
US7215653B2 (en) * 2001-02-12 2007-05-08 Lg Electronics Inc. Controlling data transmission rate on the reverse link for each mobile station in a dedicated manner
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 映像配信装置、映像配信方法及びプログラム

Also Published As

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

Similar Documents

Publication Publication Date Title
KR100615119B1 (ko) 비트 레이트 제어 방법 및 장치
EP2382726B1 (en) Method of transmitting data in a communication system
KR100608821B1 (ko) 휴대단말기의 왕복지연시간 측정장치 및 방법
US8942243B2 (en) Adaptive rate control in a communications system
RU2305908C2 (ru) Адаптивный способ оценивания скорости передачи мультимедийных данных
US8588071B2 (en) Device and method for adaptation of target rate of video signals
US8780960B2 (en) Adjustment of transmission data rate based on data errors and/or latency
JP4827652B2 (ja) 中継装置、中継方法および中継プログラム
US7680099B2 (en) Jitter buffer adjustment
EP2984790B1 (en) Voip bandwidth management
KR101399509B1 (ko) 시-변화 전송 미디어를 통한 데이터 스트리밍
KR20030095995A (ko) 미디어 전송방법 및 그 송신장치 및 수신장치
KR20040041170A (ko) 혼잡 제어를 위한 전송률을 계산하기 위해 수신 버퍼 크기를 사용하는 데이터 통신 방법 및 시스템
JP2004072720A (ja) メディア伝送方法並びにその送信装置及び受信装置
US7525914B2 (en) Method for down-speeding in an IP communication network
JP2006352420A (ja) 通信品質情報を含む品質パケットを送受信する端末、品質レポートサーバ及びプログラム
JP4973453B2 (ja) 送信端末、通信システム、プログラム、及びデータ品質制御方法
Huszák New methods for improving multimedia quality in IP networks

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
LAPS Lapse due to unpaid annual fee