KR100318976B1 - 네트워크를 통해 전송되는 저우선순위 비디오 프레임 패킷을 감소시키기 위한 속도 감쇠 시스템과 그 방법 - Google Patents

네트워크를 통해 전송되는 저우선순위 비디오 프레임 패킷을 감소시키기 위한 속도 감쇠 시스템과 그 방법 Download PDF

Info

Publication number
KR100318976B1
KR100318976B1 KR1019990000139A KR19990000139A KR100318976B1 KR 100318976 B1 KR100318976 B1 KR 100318976B1 KR 1019990000139 A KR1019990000139 A KR 1019990000139A KR 19990000139 A KR19990000139 A KR 19990000139A KR 100318976 B1 KR100318976 B1 KR 100318976B1
Authority
KR
South Korea
Prior art keywords
video frame
token bucket
frame packet
tokens
rate
Prior art date
Application number
KR1019990000139A
Other languages
English (en)
Other versions
KR19990067760A (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 KR19990067760A publication Critical patent/KR19990067760A/ko
Application granted granted Critical
Publication of KR100318976B1 publication Critical patent/KR100318976B1/ko

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/54Store-and-forward switching systems 
    • H04L12/56Packet switching systems
    • H04L12/5601Transfer mode dependent, e.g. ATM
    • H04L12/5602Bandwidth control in ATM Networks, e.g. leaky bucket
    • 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/12Avoiding congestion; Recovering from congestion
    • 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/22Traffic shaping
    • 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/26Flow control; Congestion control using explicit feedback to the source, e.g. choke packets
    • H04L47/263Rate modification at the source after receiving feedback
    • 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/238Interfacing the downstream path of the transmission network, e.g. adapting the transmission rate of a video stream to network bandwidth; Processing of multiplex streams
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/60Network structure or processes for video distribution between server and client or between remote clients; Control signalling between clients, server and network components; Transmission of management data between server and client, e.g. sending from server to client commands for recording incoming content stream; Communication details between server and client 
    • H04N21/63Control signaling related to video distribution between client, server and network components; Network processes for video distribution between server and clients or between remote clients, e.g. transmitting basic layer and enhancement layers over different transmission paths, setting up a peer-to-peer communication via Internet between remote STB's; Communication protocols; Addressing
    • H04N21/647Control signaling between network components and server or clients; Network processes for video distribution between server and clients, e.g. controlling the quality of the video stream, by dropping packets, protecting content from unauthorised alteration within the network, monitoring of network load, bridging between two different networks, e.g. between IP and wireless
    • H04N21/64784Data processing by the network
    • H04N21/64792Controlling the complexity of the content stream, e.g. by dropping packets
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/54Store-and-forward switching systems 
    • H04L12/56Packet switching systems
    • H04L12/5601Transfer mode dependent, e.g. ATM
    • H04L2012/5603Access techniques
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/54Store-and-forward switching systems 
    • H04L12/56Packet switching systems
    • H04L12/5601Transfer mode dependent, e.g. ATM
    • H04L2012/5629Admission control
    • H04L2012/5631Resource management and allocation
    • H04L2012/5632Bandwidth allocation
    • H04L2012/5635Backpressure, e.g. for ABR
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/54Store-and-forward switching systems 
    • H04L12/56Packet switching systems
    • H04L12/5601Transfer mode dependent, e.g. ATM
    • H04L2012/5629Admission control
    • H04L2012/5631Resource management and allocation
    • H04L2012/5636Monitoring or policing, e.g. compliance with allocated rate, corrective actions
    • H04L2012/5637Leaky Buckets
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D30/00Reducing energy consumption in communication networks
    • Y02D30/50Reducing energy consumption in communication networks in wire-line communication networks, e.g. low power modes or reduced link rate

Abstract

본 발명은 비디오 프레임 패킷을 네트워크로 전송하기 위한 비디오 프레임 송신기에 관한 것으로서, 이 송신기는 비디오 프레임 패킷 전송 속도를 조정하기 위한 트래픽 평활회로; 네트워크로의 비디오 프레임 패킷 엔트리를 제어하기 위한 토큰 버킷; 및 비디오 프레임 패킷 전송 속도를 조정하기 위한 전송 속도 감쇠기를 포함한다. 트래픽 평활회로는 프레임 소스의 전송 지연 한계에 정합하도록 비디오 프레임 소스로부터의 전송 속도를 조정한다. 비디오 프레임 패킷 전송 속도는 네트워크로 들어가는 고우선순위 비디오 프레임 패킷의 비율을 높게 유지하기 위해 토큰 버킷의 상태에 합치되도록 감쇠된다. 속도 감쇠기는 트래픽 평활회로와 토큰 버킷이 함께 동작하도록 허용하며, 따라서, 네트워크로 들어가는 저우선순위 패킷의 수를 감소시킨다.

Description

네트워크를 통해 전송되는 저우선순위 비디오 프레임 패킷을 감소시키기 위한 속도 감쇠 시스템과 그 방법{RATE ATTENUATION SYSTEMS AND METHODS FOR REDUCING LOW PRIORITY VIDEO FRAME PACKETS TRANSMITTED OVER A NETWORK}
본 발명은 일반적으로 비디오 이미지 처리(video image processing)에 관한것으로서, 특히, 네트워크를 통해 비디오 이미지를 전송하는 것에 관한 것이다.
압축되지 않은 디지탈 비디오 스트림의 대역폭 요건은 근거리 통신망(LAN)과 같은 통신 네트워크의 활용가능한 대역폭을 초과할 수도 있다. 예를 들어, 압축되지 않은 비디오 스트림은 수신단에서의 왜곡 및 지연없이 배달하기 위해 초당 1억 내지 2억4천만개의 비트(MPBS)를 필요로 할 수 있다. 결과적으로, 대역폭 요건을 대부분의 네트워크에 수용가능한 수준으로 감소시키기 위해 디지탈 비디오 스트림을 압축하는 다양한 방법이 개발되었다.
디지탈 비디오 압축 방법은 통상적으로, 최초의 픽셀-관련 정보를 보다 콤팩트한 수학적 기술문(descriptions)으로 대체하기 위한 알고리즘 및 기술의 집합을 이용한다. 압축해제(decompression)는 디스플레이를 위해 수학적 기술문을 다시 픽셀로 디코딩하는 역 프로세스이다. 비디오 압축 및 압축해제는 CODEC(Coder/Decoder or Compressor/Decompressor)을 이용하여 수행될 수 있다.
디지탈 비디오 스트림은 네트워크를 통해 가변 비트 속도(VBR 트래픽) 또는 고정 비트 속도(CBR 트래픽)로 전송될 수 있다. 디지탈 비디오 시스템은 압축된 데이터 스트림에서의 속도 편차를 평활(smooth)하게 하기 위해 버퍼를 이용할 수 있다. 예를 들어, Kuzma의 미국 특허 제5,485,211호는 비디오 코덱(CODEC)과 통신 채널 사이에 피드백을 도입하여, 복수의 출력 버퍼를 구동시키기 위해 채널 특성이 이용되도록 하는 것에 관한 것이다. 통신 채널은 그 통신 채널의 현재 상태에 가장 잘 정합하는 버퍼로부터 선택될 수 있다.
CBR 트래픽을 위한 버퍼 제어에 대해서는 잘 알고 있다. 그러나, VBR은 단지 최근에 폭넓게 활용가능하게 되었으며, VBR 트래픽을 위한 버퍼 제어 방법은 아직도 개발중에 있다. Haskell 등의 미국 특허 제5,159,447호는 각각의 비디오 프레임을 인코드하기 위해 사용되는 비트수 및 인코더가 경험한 VBR 채널의 전송 비트속도를 제어하는 것에 관한 것이다.
통신 네트워크를 통해 VBR 트래픽을 전송하는데 있어서 어려운 점은 VBR 트래픽이 매우 상관되어 있는 버스트성(bursty)(높은 peak-to-mean ratios)이며, 엄격한 지연 한계를 갖고 있다는 것이다. VBR 트래픽 소스는 네트워크 자원에 무리를 줄 수 있으며, 성능을 저하시켜 과도한 패킷 지연 및 손실을 유발할 가능성이 있다. 이러한 문제를 처리하기 위해, 트래픽이 네트워크로 들어가기 전에 트래픽을 정형(shaping)하기 위한 트래픽 정형 메카니즘이 제안되었다. 이와 같은 메카니즘의 예로는, 트래픽 '평활회로(smoothers)' 및 '토큰 버킷(Token Buckets)'이 있다.
토큰 버킷은 네트워크의 입구 지점에 배치된 장치이다. 토큰은 일정한 속도, σ로 발생되어, 일정한 크기, β의 버킷으로 흐른다. 버킷이 충만상태일 때 도달하는 토큰은 폐기된다. 각각의 토큰은 데이터의 단위를 나타낸다. 네트워크로 들어오는 패킷은 그 데이터 단위 크기와 동일한 토큰(즉, 패킷 내의 각각의 데이터 바이트에 대해 하나씩의 토큰)을 가져야 한다. 만일 불충분한 토큰이 존재하면, 그 패킷은 우선순위가 강등되어, 네트워크로 전송된다. 버킷 내의 토큰수는 제로 보다 작을 수 없으며, 소스에서 탈락되는 패킷은 없다.
인입 트래픽을 관리하는 전송 프로토콜은 저우선순위 패킷을 최선의 노력을 한다는 조건에 근거하여(on a best-effort basis) 배달한다. 고우선순위 패킷은 배달 및 지연 모두에 대한 보장과 함께 전송된다. 그러나, 저우선순위 패킷은 네트워크가 적체되는 경우에 네트워크에 의해 탈락될 수 있다. 비디오 트래픽에 있어서, 이것은 수신기에서의 패킷의 지연 및 누락으로 인해 심각한 품질저하를 유발할 수 있다.
VBR 비디오의 버스트성(burstness)을 감소시키기 위해 트래픽 평활회로가 제안되었다. 평활회로는 사전정의된 지연 한계에 따르면서, 비트-속도 편차를 최소화하는 전송 속도를 선택한다. 평활회로는 비디오 소스로부터의 모든 프레임이 그 전송 지연 한계에 정합하게 되도록 보장한다. 평활회로는 패킷의 우선순위가 강등되도록 하는 속도를 선택할 수도 있다. 결과적으로, 보다 높은 비율의 저우선순위 패킷이 네트워크로 들어갈 수도 있다.
따라서, 전술한 논의의 관점에서, 본 발명의 한 목적은 네트워크로 들어가는 저우선순위 패킷의 수를 감소시키기 위해 트래픽 평활회로와 토큰 버킷이 함께 작용하도록 하는 것이다.
본 발명의 다른 목적은 성능저하 없이 또한 과도한 프레임 패킷 지연 및 손실을 유발하지 않고 VBR 비디오 데이터를 적체된 컴퓨터 네트워크를 통해 전송하는 것이다.
본 발명의 상기 및 다른 목적은 컴퓨터 네트워크를 통한 비디오 데이터의 전송을 용이하게 하기 위한 방법과 시스템 및 컴퓨터 프로그램 제품에 의해 제공된다. 각각의 비디오 프레임의 패킷을 네트워크로 전송하기 위한 비디오 프레임 송신기는 비디오 프레임 패킷 전송 속도를 조정하기 위한 트래픽 평활회로; 네트워크로의 비디오 프레임 패킷 엔트리를 제어하기 위한 트래픽 폴리싱(policing) 장치(예, 토큰 버킷); 및 비디오 프레임 패킷 전송 속도를 조정하기 위한 전송 속도 감쇠기를 포함한다. 트래픽 평활회로는 프레임 소스의 전송 지연 한계에 정합하도록 비디오 프레임 소스로부터의 전송 속도를 조정한다. 비디오 프레임 패킷 전송 속도는 네트워크로 들어가는 고우선순위 비디오 프레임 패킷의 비율을 높게 유지하기 위해 토큰 버킷의 상태에 합치되도록 감쇠된다. 속도 감쇠기는 트래픽 평활회로와 토큰 버킷이 함께 작용하도록 허용하며, 따라서, 네트워크로 들어가는 저우선순위 패킷의 수를 감소시킨다.
본 발명의 한 양태에 따르면, 토큰을 포함하는 비디오 프레임 패킷은 비디오 프레임 송신기를 통해 네트워크로 들어가고, 속도 감쇠기는 토큰 버킷의 미래 상태를 예측한다. 속도 감쇠기는 토큰 버킷의 예측된 상태를 이용하여, 토큰 버킷이 비디오 프레임 내의 각각의 비디오 패킷에 대해 충분한 수의 토큰을 갖고 있는지 판단하다. 비디오 프레임 패킷이 충분한 수의 토큰을 갖고 있지 않다는 판단에 응답하여, 비디오 프레임 패킷 전송 속도가 감소된다. 토큰 버킷의 미래 상태 예측은 토큰 버킷 내의 현재의 토큰수; 트래픽 평활회로 버퍼 내의 현재의 비디오 프레임 패킷의 크기; 현재 비디오 프레임의 크기; 및 각 프레임의 전송 속도에 근거하여 이루어질 수 있다.
방금 도달한 비디오 프레임은 '현재 프레임'으로서 언급될 수 있으며, 그것에 대해 전송 속도가 계산되는 프레임이다. 토큰 버킷의 상태는 현재 프레임이 전송을 시작할 때 토큰 버킷에 있게될 토큰수를 산출하기 위해 한 번 예측된다. 이 토큰수에서 반복 프로세스가 시작되며, 이 반복 프로세스는 이들 패킷 중 일부의 우선순위가 강등될 것인지 알게 되도록 토큰 버킷 상태를 계산하기 위해 현재 프레임 및 전송 속도를 이용한다.
비디오 프레임 패킷 전송 속도가 감소되면, 감소된 비디오 프레임 패킷 전송속도가 하한값 아래에 있는지 판단하기 위해 그 감소된 속도는 하한값과 비교가 이루어진다. 평활회로는 현재 프레임을 전송하기 위한, 지연 한계(D)를 충족시키는 최저 전송 속도를 판단한다. 이것은 전송 속도의 하한값이 된다. 감소된 비디오 프레임 패킷 전송 속도가 하한값 아래에 있다는 판단에 응답하여, 그 비디오 프레임 패킷 전송 속도는 하한값으로 셋트된다. 다음에, 비디오 프레임 패킷 전송 속도는스케쥴러가 억세스할 수 있는 속도 큐에 저장된다.
본 발명의 다른 양태에 따르면, 미래의 토큰 버킷 상태에 관한 추가적인 예측의 필요성이 식별된 '피봇-포인트'를 이용하면 감소될 수 있다. 피봇-포인트는 토큰 버킷 내에서 토큰 오버플로우가 발생하는 시간상의 포인트이다. 피봇-포인트에서는 전송 속도 감소가 토큰 버킷 내의 토큰수를 변화시키지 않게 된다. 피봇-포인트에서 시작하여 필요한 토큰수를 재계산함으로써, 프레임의 제1 패킷으로부터 시작하여 재계산할 필요가 없다. 현재 프레임의 전송 속도가 감소되면, 더욱 많은 토큰이 발생하게 된다. 결과적으로, 토큰 버킷이 이 속도에서 오버플로우하는 것이 가능하다. 만일 그렇게 되면, 충분한 토큰이 없게 되고(즉, 이 프로세스는 토큰 부족이 된다), 그 패킷은 우선순위가 강등되게 된다. 결과적으로, 여전히 토큰 부족인지 판단하기 위해 보다 낮은 전송 속도를 이용하여 프레임의 제1 패킷으로부터 시작하여 토큰 버킷 상태가 재계산된다. 만일 토큰 부족이 없다면, 오버플로우가 발생하지 않게 되고, 그 낮은 전송 속도가 속도 큐에 저장된다. 만일 토큰 부족이 있으면, 속도 감쇠가 수행되고, 프로세스는 반복된다. 이러한 반복연산은 하한값에 도달하거나 또는 토큰 부족이 없게 될 때까지 계속된다.
본 발명의 다른 양태에 따르면, '최소-거리(minimum-distance)'를 이용하면 미래의 토큰 버킷 상태에 관한 추가적인 예측을 피할 수 있다. 최소-거리는 패킷이 출발하기 전의 토큰 버킷 내의 토큰수와 토큰 버킷 크기 사이의 가장작은 거리이다. 만일 토큰 버킷에서의 토큰의 부족량이 최소-거리보다 작은 수 이면, 전송 속도 감소가 이루어질 때 오버플로우가 발생하지 않게 된다. 따라서, 토큰 버킷 상태가 재계산될 필요가 없다.
본 발명에 있어서는, 생성되는 저우선순위(low priority) 비디오 프레임 패킷의 수를 감소시키기 위해 속도 감쇠기에 의해 트래픽 평활회로와 토큰 버킷이 함께 동작할 수 있도록 허용하기 때문에 유익한 장점이 있다. 이것은 결과적으로 고우선순위(high priority) 패킷의 처리량을 증가시키고, 따라서, 보다 양호한 비디오 품질을 초래한다. 본 발명은 동일한 토큰 버킷 파라미터가 주어지는 경우에 저우선순위 패킷 생성 속도를 감소시킨다. 본 발명은 또한, 토큰 버킷 크기의 등급을 감소시키는 것을 용이하게 한다. 보다 작은 버킷 크기는 접속할 기회를 증가시킨다. 그러므로, 본 발명에 따른 속도 감쇠를 이용하면, 접속 횟수가 증가되고, 따라서, 통계학상 멀티플렉싱을 증가시킨다.
도1은 트래픽 평활회로 및 토큰 버킷과 함께 속도 감쇠기를 이용한 VBR 송신기를 개략적으로 도시한 도면.
도2는 본 발명의 양태에 따른 속도 감쇠기의 연산을 예시하는 흐름도.
도3은 패킷 출발(departures)과 감쇠 효과 사이에서의 토큰 버킷 상태를 개략적으로 도시한 도면.
도4는 피봇-포인트 dk-2에서 토큰 버킷 상태에 대해 비트-속도를 증가시키는 효과를 개략적으로 도시한 도면.
도5는 본 발명의 양태에 따라 피봇-포인트가 식별되는 속도 감쇠기의 연산을 예시하는 흐름도.
도6은 본 발명의 양태에 따라 최소 거리를 개략적으로 도시한 도면.
도7은 본 발명의 양태에 따라 최소 거리가 계산되는 속도 감쇠기의 연산을 예시하는 흐름도.
도8은 본 발명이 구현될 수 있는 예시적인 데이터 처리 시스템을 도시한 도면.
* 도면의 주요 부분에 대한 부호의 설명
10:VBR 비디오 프레임 송신기 12:속도 감쇠기
14:트래픽 평활회로 15:트래픽 평활회로 버퍼
16:토큰 버킷
이제, 본 발명은 본 발명의 양호한 실시예가 도시된 첨부 도면을 참조하여 상세하게 설명된다. 그러나, 본 발명은 다양한 다른 형태로 구체화될수 있으며, 여기서 설명되는 실시예에 제한되는 것으로 해석되어서는 안되며, 이들 실시예는 이러한 설명이 완전하게 되고, 이 기술분야에 통상의 지식을 가진자에게 본 발명의 범위를 완전하게 알리기 위해 제공된 것이다. 도면에서, 유사한 참조번호는 유사한 구성요소를 나타낸다.
이 기술분야에 통상의 지식을 가진자는 알 수 있는 바와 같이, 본 발명은 방법이나, 데이터 처리 시스템 또는 컴퓨터 프로그램 제품으로서 구체화될 수 있다. 따라서, 본 발명은 전체적으로 하드웨어 실시예의 형태를 갖거나, 전체적으로 소프트웨어 실시예의 형태를 갖거나 또는 소프트웨어와 하드웨어 양태를 조합한 실시예의 형태를 가질 수 있다. 또한, 본 발명은 매체에 구체화된 컴퓨터-판독가능 프로그램 코드 수단을 구비한 컴퓨터-판독가능 기억 매체 상의 컴퓨터 프로그램 제품의 형태를 가질 수 있다. 하드 디스크, CD-ROM, 광학 기억장치 또는 자기 기억장치를 포함하여 어떠한 적절한 컴퓨터 판독가능 매체도 이용될 수 있다.
도1을 참조하면, 본 발명의 양태에 따라 트래픽 평활회로(14) 및 토큰 버킷(16)과 함께 속도 감쇠기(rate attenuator)(12)를 이용한 VBR 비디오 프레임 송신기(10)가 개략적으로 도시되어 있다. 속도 감쇠기(12)는 생성되는 저우선순위 패킷의 수를 감소시키기 위해 트래픽 평활회로(14)와 트래픽 평활회로 버퍼(15) 및 토큰 버킷(16)이 함께 작용할 수 있도록 한다. 이것은 결과적으로 고우선순위 패킷 처리량의 증가를 초래하고, 따라서, 비디오 품질이 높아진다. 감쇠기(12)는 비디오 프레임이 도달하면, 토큰 버킷 내의 현재의 토큰수, 트래픽 평활회로 버퍼 내의 현재의 패킷 크기, 및 현재의 비디오 프레임의 크기에 근거하여 토큰 버킷(16)의 미래 상태를 예측한다. 이것으로부터, 속도 감쇠기(12)는 현재 프레임으로부터의 소정의 패킷이 짧은(short) 토큰이 될 것인지 판단하고, 현재 프레임의 전송 속도를 감소시키기 위한 감쇠 계수 α를 계산한다.
비디오 시스템은 정보를 프레임으로 불리는 정지 화상(still pictures) 시퀀스로 디스플레이한다. 각 프레임은 네트워크를 통해 일련의 패킷으로서 전송된다. 고속 네트워크에서, 패킷의 수신 노드가 그 허용오차(allowance)를 초과하지 않도록 보장하기 위해 네트워크로의 프레임 패킷의 입력 속도를 제어하기 위해 '토큰 버킷'으로 불리는 제어 시스템이 필요로 될 수 있다. 토큰 버킷 제어 시스템에서, 네트워크로 들어오는 패킷은 토큰 버킷으로 불리는 게이트를 통과한다. 토큰 버킷은 네트워크로 즉시 전송될 수 있는 바이트의 수를 나타내는 카운터로서 작용한다. 패킷이 토큰 버킷을 통과하여 네트워크로 들어가도록 하기 위해, 토큰 버킷은 비-제로 값을 가져야 한다(즉, 패킷 크기는 토큰의 수 보다 적거나 같다). 토큰 버킷은 네트워크로 들어갈 수 있는 토큰의 정의된 최대값을 갖는다. 토큰 버킷은 시간에 걸쳐 평균적인 배달 속도를 강요하면서, 네트워크로의 패킷의 쇼트 버스트(short bursts)를 허용한다. 카운터는 일정한 속도로 증가되며, 최대값을 초과하지 못한다. 패킷 크기가 토큰수 보다 더 큰 패킷은 합치되지 않는 것이다.
트래픽 평활회로는 최대 프레임 지연('지연 한계'로서 언급됨)과 같은 제한조건(constraints)에 근거하여 비디오 프레임의 전송 속도를 계산한다. 또한, 트래픽 평활회로는 이들 제한조건을 이용하여 전송 속도에 관한 상한값 및 하한값을 계산하고, 이들 한계 내에서 전송 속도를 선택한다. 통상적으로, 이동 평균 속도(moving average rate)가 이용된다. 트래픽 평활회로의 목적은 전송 속도 편차를 최소화시키는 것이다.
본 발명은 속도 감쇠기 및 그 다양한 실시예를 통해, 토큰 버킷이 트래픽 평활회로와 함께 동작하도록 하기 위한 메카니즘을 제공한다. 통상적으로, 토큰 버킷과 트래픽 평활회로는 독자적으로 동작하여, 패킷 우선순위 저하를 유발한다. 본 발명에 따르면, 비디오 프레임의 전송 속도를 감소시킴으로써, 비디오 프레임 내의 모든 패킷이 우선순위 저하없이 전송되도록, 토큰 버킷이 보다 많은 토큰을 생성할수 있도록 허용된다.
이제, 본 발명의 일실시예의 흐름도인 도2를 참조하여, 도1에 도시된 본 발명의 양태의 동작에 관해 설명한다. 트래픽 평활회로에 비디오 프레임이 도달한다(블록 100). 그러면, 평활회로는 그 비디오 프레임의 패킷에 대한 전송 속도를 선택한다(블록 110). 다음에, 속도 감쇠기는 다음의 4개의 파라미터, 즉, (가) 토큰 버킷 내의 현재의 토큰수; (나) 트래픽 평활회로 내의 패킷의 크기; (다) 현재 비디오 프레임의 크기; 및 (라) 현재 프레임의 전송 속도에 근거하여 토큰 버킷의 미래 상태를 예측한다(블록 120). 다음에는, 소정의 프레임 패킷이 토큰 버킷에 불충분한 토큰을 갖고 있는지 판단한다(블록 130). 만일 이에 대한 응답이 예이면, 현재 비디오 프레임 패킷의 전송 속도가 감소된다(블록 140). 만일 응답이 아니오 이거나, 또는 블록(140)에서 전송 속도가 감소된 이후이면, 현재 비디오 프레임 패킷의 전송 속도가 하한값(lower bound) 아래에 있는지 판단한다(블록 150). 만일 전송 속도가 하한값 아래에 있다면, 전송 속도는 하한값으로 셋트되어(단계 160), 속도 큐에 저장된다(블록 170). 만일 전송 속도가 하한값 아래에 있지 않으면, 그 전송 속도가 감소되었는지 판단한다(블록 162). 만일 전송 속도가 감소된 것이면, 현재 프레임의 첫 번째 패킷에서 시작하여 보다 낮은 전송 속도를 이용하여 토큰 버킷 상태가 재계산된다(블록 164). 만일 전송 속도가 감소되지 않았다면, 이 전송 속도가 속도 큐에 저장된다(블록 170). 스케쥴러(schedular)는 속도 큐에 명시된 속도로 각각의 비디오 프레임의 패킷을 네트워크로 전송한다(블록 180).
블록 130 내지 블록 170은 비디오 프레임의 모든 패킷에 대해 수행되는 연산의 반복을 나타낸다. 도시된 반복적인 연산은 트래픽 평활회로에 도달하는 각각의 비디오 프레임에 대해 수행된다. 스케쥴러 연산은 블록 100 내지 블록 170에 도시된 연산과 무관하게 수행된다. 스케쥴러는 속도 큐에 저장된 속도에 근거하여 프레임 패킷을 전송하고, 속도 큐에 속도가 저장되어 있지 않은 경우에는 유휴상태(idle)가 된다. 이 기술분야에 통상의 지식을 가진자가 알 수 있는 바와 같이, 스케쥴러는 네트워크로 패킷을 전송할 때를 판단한다.
이제, 도3을 참조하면, 패킷 출발(departures)과 감쇠 효과 사이의 토큰 버킷 상태가 도시되어 있다. 토큰수는 'Y'축을 따라 도시되어 있으며, 참조 반호 3O으로 표시되어 있다. 시간은 'X'축을 따라 도시되어, 참조 번호 32로 표시되어 있다. 도 3은 δ초만큼 패킷 Pi,j출발을 지연시킴으로써, 출발(Pi,j) 이후에 유지되는 토큰수가 증가된다는 것을 도시하고 있으며, 여기서, i는 대응하는 프레임이고, j는 프레임 i의 j 번째 패킷이다. 속도 감쇠기(12)는 전송 속도가 트래픽 평활회로에 의해 계산된 하한값 보다 낮아지지 않도록 보장한다. 각각의 비디오 프레임의 전송 속도는 트래픽 평활회로에 도달시에 결정된다. 결과적으로, 프레임이 트래픽 평활회로(14)에 도달하는 때와 토큰 버킷(16)에 도달하는 때 사이에 지연이 존재한다. 이로 인해, 속도 감쇠기(12)는 토큰 버킷(16)의 미래 상태를 예측할 필요가 있다.
불충분한 토큰으로 인해 위반(vio1ation)이 발생하면, 속도 감쇠기(12)는 새로운 전송 속도,를 계산한다. 여기서,는 평활회로에 의해 결정된 속도이고,는 다음 수학식을 만족시키는 감쇠계수이다.
[수학식 1]
감쇠가 이루어진 속도를 계산하기 위해, 현재 프레임의 전송을 얼마나 오랫동안 연기할 것인지 판단한다. 프레임의 전송 시간은 Dtx이며, 이것은 프레임 i에서 제1 패킷의 제1 비트와 최종 패킷의 최종 비트가 전송되는 시간 사이의 간격이 된다. Dtx는 다음과 같이 정의된다.
[수학식 2]
여기서, 프레임 i의 j번째 패킷의 크기이고, Ri는 프레임 i의 비트-속도이다.
T'a,b는 프레임 패킷이 출발한 이후의 토큰 버킷(16) 내의 토큰수이며, 다음과 같이 정의된다.
[수학식 3]
여기서,
여기서, Ta,b는 토큰 버킷 제한조건이 적용될 때 패킷 Pa,b가 출발한 이후의 토큰 버킷(16) 내의 토큰수이고, 다음과 같이 정의된다.
[수학식 4]
부족한 토큰수 Tshort는 다음과 같이 정의된다.
[수학식 5]
보다 많은 토큰을 생성하여 트래픽 관리 위반을 피하기 위해, 전송 시간은 δ초만큼 연장된다.
[수학식 6]
프레임 i의 제1 비트가 전송을 시작하여 최종 비트가 출발할 때까지의 시간으로서 정의되는 새로운 전송 시간은 다음과 같이 정의된다.
[수학식 7]
[수학식 2]와 [수학식 6]을 [수학식 7]로 대입하면, 다음과 같다.
[수학식 8]
여기서, 1 ≤ L ≤ S
다음식도 역시 참이다.
[수학식 9]
여기서, 1 ≤ L ≤ S
따라서, [수학식 8]와 [수학식 9]를 조합하면, 다음과 같다.
[수학식 10]
그러므로, Tshort가 0에 접근할 때 α는 1에 접근하고, Tshort에 접근할 때 α는 수량 (1/(1+Ri/σ))에 접근한다.
일단 α가 결정되면, 새로운 감쇠된 속도에서 현재 프레임에 대해 토큰 버킷 상태가 재계산될 필요가 있다. 그 이유는 토큰 버킷이 새로운 속도로 오버플로우(overflow)하는 것이 가능하기 때문이다. 만일 이러한 현상이 발생하면,현재 프레임에 대한 패킷은 그것이 토큰 버킷에 도달할 때 여전히 부족한(short) 토큰이 되게 된다. 이것을 피하기 위해, 전송 속도는 하한값에 도달할 때까지 더욱 감쇠된다. 이러한 과정은 현재 프레임 내의 모든 패킷에 더 이상 부족한 토큰이 없게될 때까지 계속된다.
이제, 도4 및 도5를 참조하면, 본 발명의 다른 양태에 따라 '피봇-포인트(pivot-points)'를 이용함으로써 반복연산(도2의 블록 130 내지 블록 170에 도시된 연산)의 수가 감소될 수 있다. 피봇-포인트는 토큰 버킷 오버플로우가 검출되는 포인트로서 정의된다. 피봇-포인터에서는, 패킷 전송 속도에서의 감소가 버킷 내의 토큰수를 변화시키지 않게 된다.
도4를 참조하면, 본 발명의 피봇-포인트 양태를 이용한 패킷 출발과 감쇠 효과 사이의 토큰 버킷 상태가 예시되어 있다. 토큰수는 'Y'축을 따라 도시되어 참조번호 40으로서 표시되어 있다. 시간은 'X'축을 따라 도시되어 참조 번호 42로서 표시되어 있다. 토큰 버킷 상태는 '톱니파'(44)로 표현되어 있다. 패킷이 토큰 버킷을 통과함에 따라, 패킷 내의 바이트수와 동일한 토큰수가 토큰 버킷으로부터 제거된다. 전송 속도 감소 이전에는, 토큰 버킷이 포인트 b에서 오버플로우된다. 전송속도를 감소시키면, 톱니파가 우측으로 밀리게 되며(점선 46으로 도시됨), 포인트 a에서 추가적인 오버플로우를 유발한다. 그러나, 이러한 사건은 피봇-포인트 dk-2에서는 토큰수를 변화시키지 않는다. 그러므로, 피봇-포인트 dk-2에서 시작하여 필요한 토큰수가 재계산될 수 있으며, 프레임 i의 제1 패킷부터 시작하는 것을 피할 수 있다.
이제, 도5를 참조하면, 도4에 도시된 피봇-포인트를 이용한 연산이 예시되어 있다. 트래픽 평활회로에 비디오 프레임이 도달한다(블록 100). 그러면, 평활회로는 그 비디오 프레임의 패킷에 대한 전송 속도를 선택한다(블록 110). 다음에, 속도 감쇠기는 다음의 4개의 파라미터, 즉, (가) 토큰 버킷 내의 현재의 토큰수; (나) 트래픽 평활회로 내의 패킷의 크기; (다) 현재 비디오 프레임의 크기; 및 (라) 현재 프레임의 전송 속도에 근거하여 토큰 버킷의 미래 상태를 예측한다(블록 120). 토큰 버킷 상태를 예측하는 것에 더하여, 속도 감쇠기는 또한, 토큰 버킷 오버플로우를 검출함으로써 피봇-포인트를 식별한다(블록 120). 다음에는, 소정의 프레임 패킷이 토큰 버킷에 불충분한 토큰을 갖고 있는지 판단한다(블록 130). 만일 이에 대한 응답이 예이면, 현재 비디오 프레임 패킷의 전송 속도가 감소된다(블록 140).
다음에는, 현재 비디오 프레임 패킷의 전송 속도가 하한값(lower bound) 아래에 있는지 판단한다(블록 150). 만일 응답이 예이면, 전송 속도는 하한값으로 셋트되어(단계 160), 속도 큐에 저장된다(블록 170). 만일 전송 속도가 하한값 아래에 있지 않으면, 그 전송 속도가 감소되었는지 판단한다(블록 162). 만일 전송 속도가 감소된 것이면, 피봇-포인트에서 시작하여 토큰 버킷 상태가 재계산되고(블록 164), 블록 130에서 반복연산이 계속된다. 따라서, 수행되는 반복연산의 수를 감소시킴으로써 속도 감쇠기의 평균 성능이 개선된다. 만일 전송 속도가 감소되지 않았다면, 이 전송 속도가 속도 큐에 저장된다(블록 170). 스케쥴러(schedular)는 속도큐에 명시된 속도로 각각의 비디오 프레임의 패킷을 네트워크로 전송한다(블록 180 ).
이제, 도6 및 도7을 참조하면, 본 발명의 다른 양태에 따라 '최소-거리(minimum-distances)'를 이용하여, 반복연산(도2의 블록 130 내지 블록 170으로 표시됨)이 필요한지 여부를 판단할 수 있다. 도6을 참조하면, '최소-거리'가 개략적으로 예시되어 있다. 토큰수는 'Y'축을 따라 도시되어 있으며, 참조 반호 50으로 표시되어 있다. 시간은 'X'축을 따라 도시되어, 참조 번호 52로 표시되어 있다. 토큰 버킷 상태는 '톱니파'(54)로 표현되어 있다. 최소-거리(56)는 현재 프레임 내의 패킷의 출발 시간에서 버킷 내의 토큰수와 토큰 버킷 크기 β(점선 58로 도시됨) 사이의 가장 작은 차이를 구함으로써 계산된다. 만일 부족한 토큰수가 최소-거리(56) 보다 작으면, 전송 속도 감소가 이루어질 때 오버플로우가 일어나지 않게 되며, 토큰 버킷 상태가 재계산될 필요가 없다. 따라서, 반복연산(도2의 블록 130 내지 블록170)이 필요하지 않고, 속도 감쇠기의 평균 성능이 개선된다.
이제 도7을 참조하면, 본 발명에 따라 최소-거리를 이용하는데 있어 수반되는 연산이 도시되어 있다. 트래픽 평활회로에 비디오 프레임이 도달한다(블록 100). 그러면, 평활회로는 그 비디오 프레임의 패킷에 대한 전송 속도를 선택한다(블록 110). 다음에, 속도 감쇠기는 다음의 4개의 파라미터, 즉, (가) 토큰 버킷 내의 현재의 토큰수; (나) 트래픽 평활회로 내의 패킷의 크기; (다) 현재 비디오 프레임의 크기; 및 (라) 현재 프레임의 전송 속도에 근거하여 토큰 버킷의 미래 상태를 예측한다(블록 120). 토큰 버킷 상태를 예측하는 것에 더하여, 속도 감쇠기는패킷 출발 이전에 토큰 버킷 내의 토큰수와 토큰 버킷 크기 사이의 가장 작은 차를 구함으로써 최소-거리를 계산한다(블록120).
다음에는, 소정의 프레임 패킷이 토큰 버킷에 불충분한 토큰을 갖고 있는지 판단한다(블록 130). 만일 이에 대한 응답이 예이면, 현재 비디오 프레임 패킷의 전송 속도가 감소된다(블록 140). 만일 불충분한 토큰을 가진 프레임 패킷이 없거나, 또는 블록(140)에서 전송 속도가 감소된 이후이면, 현재 비디오 프레임 패킷의 전송 속도가 하한값(lower bound) 아래에 있는지 판단한다(블록 150). 만일 전송 속도가 하한값 아래에 있다면, 전송 속도는 하한값으로 셋트되어(단계 160), 속도 큐에 저장된다(블록 170).
만일 전송 속도가 하한값 아래에 있지 않으면, 그 전송 속도가 감소되었는지판단한다(블록 162). 만일 응답이 예이면, 부족한 토큰수가 최소-거리 보다 작은지 판단한다(블록 152). 만일 이에 대한 응답이 예이면, 전송 속도 감소가 이루어질 때 오버플로우가 발생하지 않으며(블록 154), 토큰 버킷 상태는 재계산될 필요가 없으며(블록 154), 속도 큐 내에 전송 속도가 저장된다(블록 170). 만일 부족한 토큰수가 최소-거리 보다 작지 않으면(블록 152), 피봇-포인트로부터 토큰 버킷 상태가 재계산되고(블록 164), 블록(130)에서 반복연산이 계속된다. 만일 전송 속도가 감소되지 않았다면(블록 162), 이 전송 속도가 속도 큐에 저장된다(블록 170). 스케쥴러(schedular)는 속도 큐에 명시된 속도로 각각의 비디오 프레임의 패킷을 네트워크로 전송한다(블록 180).
도2, 도5 및 도7의 흐름도의 각각의 블록 및 도2, 도5 및 도7의 흐름도의 블록의 조합은 컴퓨터 프로그램 명령어에 의해 구현될 수 있다는 것을 이해할 것이다. 이들 프로그램 명령어는 머신을 생성하기 위해 프로세서에 제공되며, 따라서, 프로세서 상에서 실행되는 명령어들은 흐름도의 블록에 명시된 기능을 구현하기 위한 수단을 생성하게 된다. 컴퓨터 프로그램 명령어는 프로세서에 의해 실행되어, 컴퓨터 구현 프로세서를 생성하도록 일련의 연산 단계들이 프로세서에 의해 수행되게하여, 프로세서 상에서 실행되는 명령어들이 흐름도의 블록에 명시된 기능을 구현하기 위한 단계들을 제공하도록 할 수 있다.
따라서, 흐름도의 블록은 명시된 기능을 수행하기 위한 수단의 조합과, 명시된 기능을 수행하기 위한 단계의 조합 및 명시된 기능을 수행하기 위한 프로그램 명령어 수단을 지원하다. 또한, 흐름도의 각각의 블록과 흐름도의 블록들의 조합은 명시된 기능을 수행하는 특수 목적 하드웨어-기반 시스템이나 또는 특수 목적 하드웨어와 컴퓨터 명령어의 조합에 의해 구현될 수 있다는 것을 이해할 것이다.
이제 도8을 참조하면, 본 발명이 구현될 수 있는 예시적인 데이터 처리 시스템이 도시되어 있다. 도8에 도시된 바와 같이, 데이터 프로세서(70)는 그 안에 내재하는 운영체제(71)를 포함하고 있다. 애플리케이션 프로그램(72)은 통상적으로 이 운영체제(71)를 통해 실행된다. 프로세서(70)는 다수의 화소(집합적으로 스크린으로서 불림)를 가진 디스플레이 장치(73) 상에 정보를 디스플레이한다. 통상적으로, 정보는 사용자 인터페이스 환경 내에서 디스플레이 장치(73) 상에 디스플레이된다. 디스플레이 장치(73)의 스크린의 내용, 즉 사용자 인터페이스 환경의 외관(appearance)은 애플리케이션 프로그램(72) 또는 운영체제(71)에 의해 개별적으로 또는 조합하여 제어 또는 변경될 수 있다. 사용자로부터 입력을 얻기 위해, 운영체제(71)나 애플리케이션 프로그램(72), 또는 양자 모두 사용자 입력 장치(74)를 이용할 수 있다. 사용자 입력 장치(74)는 마우스와 같은 포인팅 장치(75) 및 키보드(76)나 또는 이 기술분야에 잘 알려진 다른 입력 장치를 포함할 수 있다. 사용자 입력 장치(74)는 작업공간의 경계선 또는 작업공간의 경계선의 모서리와 같은 스크린 상의 위치 또는 스크린 상의 영역을 지정하기 위해 사용될 수 있다.
다음의 표1을 참조하면, 이 기술분야에 통상의 지식을 가진자가 이해할 수 있는 바와 같이, 본 발명에 따라 이용되는 속도 감쇠기는 데이터 처리 시스템 내에서 실행되는 세션 계층 코드(session layer code)의 일부가 될 수 있다. 통상적으로, 세션 계층 코드는 트랜스포트 레이어 위에 존재한다.
C++ 표준 템플릿 라이브러리(STL)을 이용하여 불연속(discrete) 이벤트 시뮬레이터가 개발되었다. 시뮬레이션을 구동하기 위해, Wuerzburg 대학 FTP(file transfer protocol) 사이트(ftp-info3.informatik.uni-wuerzburg.de)의 디렉토리 /pub/MPEG로부터 VBR 비디오 트레이스 파일을 얻었다. 각각의 비디오는 다음의 표2에 리스트된 파라미터를 이용하여 인코드되었다. 비디오 시퀀스는 처음에 VHS 테이프로로부터 레코드되어 인코드되었다. 각 시퀀스의 길이는 40,000 프레임이며, 이것은 초당 24 프레임씩 약 30분의 플레이 시간을 나타낸다.
또한, 123,604 프레임으로 이루어진, 영화 'Star Wars'의 보다 긴 버전도 사용되었다. 비디오 트레이스는 레이저 디스크 레코딩의 인코딩으로부터 생성되었다. 각 프레임의 크기는 초당 24 프레임의 프레임 속도로 640x480 픽셀이다. GOP(group-of-pictures) 파라미터가 M=3이고 N=9이며, 각 프레임이 15개의 슬라이스(slices)로 이루어진 버클리 MPEG 인코더(버전 1.1)가 사용되었다.
표3에 도시된 바와 같이, 20개의 Wuerburg 트레이스가 그 내용에 근거하여 4개의 카테고리, 즉, 영화(movies), 스포츠(sports), 뉴스/토크(news/talk) 및 기타(others) 카테고리 그룹화되었다. 각각의 카테고리로부터 하나의 비디오가 다음과 같이 선택되었다. 즉, 'Dino', 'News 1', 'Super Bowl' 및 'Simpsons'이 선택되었다. 이것은 상이한 내용 및 장면 전환 동작을 포함하는 비디오 시퀀스에 대한 감쇠기의 테스트를 허용한다.
각각의 프레임은 패킷으로 분할되었으며, 여기서, 각각의 패킷은 하나의 MPEG 슬라이스로 이루어진다. 트레이스 파일은 프레임당 비트수로 이루어지기 때문에, 각 프레임의 비트는 각각의 슬라이스에 대해 동일하게 분할되었다. 메트릭 패킷 LPR(metric packet Low Priority Rate)가 사용되었으며, 다음과 같이 계산된다.
LPR = 전송된 총 저우선순위 패킷/전송된 총 패킷
이제 표4를 참조하면, 평활기능 없이 생성된 LPR과 평활기능 및 감쇠기능이 있는 상황에서 생성된 LPR과의 비교예가 도시되어 있다. 각각의 경우에, 토큰 생성속도는 일정하지만, 토큰 버킷 크기는 가변적이다. 도시된 바와 같이, 평활기능이 사용되지 않은 경우에, 토큰 버킷 크기가 소정의 포인트를 지나 감소되었을 때 LPR이 극적으로 증가되었다. 예를 들어, News 1에서, 토큰 버킷 크기가 20,000개의 토큰에서 10,000개의 토큰으로 감소되었을 때, LPR은 10-4에서 10-1으로 증가되었다.
속도 감쇠기능을 이용한 결과는 3개의 비디오 시퀀스, Dino, News 1, 및 SBowl에 대해, LPR=0일 때 정의된 바와 같이, 상당히 낮은 동작 포인트를 보여주고 있다. 이것은 사용자가 감쇠기능이 없는 경우의 30,000개의 토큰에 비해, 감쇠기능을 이용하면 25,000개의 토큰의 토큰 버킷 크기로 Dino 비디오를 전송할 수 있다는것을 의미한다. 모든 시퀀스에 대해서 속도 감쇠기능을 이용하면, 동일한 토큰 버킷 크기가 주어지는 경우에 LPR에 크게 감소시켰다. 이와 반대로, 동일한 LPR이 주어지는 경우에, 접속 어드미턴스(connection admittance) 알고리즘에서 중요한 파라미터인 토큰 버킷 크기가 더욱 작아진다.
전술한 것은 본 발명을 예시한 것이며, 본 발명을 제한하는 것으로 해석되어서는 안된다. 비록 본 발명의 수개의 실시예가 설명되었지만, 이 기술분야에 통상의 지식을 가진자는 본 발명의 새로운 사상 및 장점을 벗어나지 않고 이들 실시예에서 많은 변형이 가능하다는 것을 쉽게 이해할 것이다. 따라서, 이와 같은 모든 변형은 청구범위에 정의된 바와 같은 본 발명의 범위 내에 포함되도록 의도된 것이다. 청구범위에서, 수단 및 기능(means-plus-function) 구절은 열거된 기능을 수행할 때 여기서 설명된 구조와 구조 등가물 및 등가적인 구조를 커버하도록 의도된 것이다. 그러므로, 전술한 것은 본 발명을 예시한 것이며, 기술된 특정 실시예에 제한되는 것으로 해석되어서는 안되며, 또한 기술된 실시예의 변형 및 다른 실시예는 첨부된 청구범위 내에 포함되도록 의도된 것이라는 것을 이해해야한다. 본 발명은 다음의 청구범위에 의해 정의되며, 청구항의 등가물도 그 안에 포함된다.
전술한 바와 같은 본 발명에 따르면, 생성되는 저우선순위(low priority) 비디오 프레임 패킷을 감소시키기 위해 속도 감쇠기에 의해 트래픽 평활회로와 토큰 버킷이 함께 동작할 수 있도록 허용하기 때문에, 고우선순위(high priority) 패킷의 처리량을 증가시키고, 따라서, 보다 양호한 비디오 품질을 초래한다. 본 발명은동일한 토큰 버킷 파라미터가 주어지는 경우에 저우선순위 패킷 생성 속도를 감소시킨다. 본 발명은 또한, 토큰 버킷 크기의 등급을 감소시키는 것을 용이하게 한다. 보다 작은 버킷 크기는 접속할 기회를 증가시킨다. 그러므로, 본 발명에 따른 속도 감쇠를 이용하면, 접속 횟수가 증가되고, 따라서, 통계학상 멀티플렉싱을 증가시킨다.

Claims (12)

  1. 비디오 프레임 패킷을 네트워크로 전송하는 방법에 있어서,
    비디오 프레임 패킷의 도달에 응답하여 현재 프레임이 전송을 개시할 때 토큰 버킷 내에 존재하게 될 토큰 수를 생성함에 의해 토큰 버킷의 미래 상태를 예측하는 단계;
    상기 토큰 버킷의 예측된 상태를 이용하여 상기 토큰 버킷 내의 비디오 프레임 패킷이 충분한 수의 토큰을 갖고 있는지 판단하는 단계; 및
    비디오 프레임 패킷이 충분한 수의 토큰을 갖고 있지 않은 경우에 상기 비디오 프레임 패킷에 대한 비디오 프레임 패킷 전송 속도를 감소시키는 단계
    를 포함하는 비디오 프레임 패킷 전송 방법.
  2. 제 4 항에 있어서,
    상기 토큰 버킷의 미래 상태를 예측하는 단계는,
    상기 토큰 버킷 내의 토큰수를 판단하는 단계;
    미래의 비디오 프레임 패킷의 크기를 판단하는 단계; 및
    현재의 비디오 프레임 크기를 판단하는 단계를 포함하는
    비디오 프레임 패킷 전송 방법.
  3. 제 4 항에 있어서,
    상기 감소된 비디오 프레임 패킷 전송 속도가 하한값 아래에 있는지 판단하는 단계; 및
    상기 감소된 비디오 프레임 패킷 전송 속도가 하한값 아래에 있는 경우에 상기 비디오 프레임 패킷 전송 속도를 상기 하한값으로 셋팅하는 단계
    를 더 포함하는 비디오 프레임 패킷 전송 방법.
  4. 제 4항에 있어서,
    상기 감소된 비디오 프레임 패킷 전송 속도를 속도 큐에 저장하는 단계
    를 더 포함하는 비디오 프레임 패킷 전송 방법.
  5. 제 6 항에 있어서,
    상기 비디오 프레임 패킷 전송 속도를 속도 큐에 저장하는 단계
    를 더 포함하는 비디오 프레임 패킷 전송 방법.
  6. 제 4 항에 있어서,
    상기 토큰 버킷과 관련된 피봇-포인트 - 여기서, 상기 피봇-포인트는 토큰 버킷의 토큰 오버플로우가 발생하는 시간상의 포인트임 - 를 식별하는 단계; 및
    상기 피봇-포인트에서 시작하여 상기 토큰 버킷에 의해 요구되는 토큰수를 판단하는 단계
    를 더 포함하는 비디오 프레임 패킷 전송 방법.
  7. 제 4 항에 있어서,
    최소-거리를 제공하기 위해 비디오 프레임 패킷에서의 토큰수와 토큰 버킷 크기 사이의 가장 작은 거리를 판단하는 단계; 및
    상기 토큰 버킷에서의 토큰의 부족량이 상기 최소-거리 보다 작은 수인지 판단하는 단계
    를 더 포함하는 비디오 프레임 패킷 전송 방법.
  8. 비디오 프레임 패킷을 네트워크로 전송하기 위한 데이터 처리 시스템에 있어서,
    비디오 프레임 패킷 전송 속도를 조정하기 위한 트래픽 평활회로와 상기 네트워크로의 비디오 프레임 패킷 엔트리를 제어하기 위한 토큰 버킷을 가지는 비디오 프레임 송신기;
    비디오 프레임 패킷의 도달에 응답하여 현재 프레임이 전송을 개시할 때 토큰 버킷 내에 존재하게 될 토큰 수를 생성함에 의해 토큰 버킷의 미래 상태를 예측하는 수단;
    상기 토큰 버킷의 예측된 상태를 이용하여 상기 토큰 버킷 내의 비디오 프레임 패킷이 충분한 수의 토큰을 갖고 있는지 판단하는 수단; 및
    비디오 프레임 패킷이 충분한 수의 토큰을 갖고 있지 않다는 판단에 응답하여, 비디오 프레임 패킷 전송 속도를 감소시키기 위한 수단
    을 포함하는 데이터 처리 시스템.
  9. 제 11 항에 있어서,
    미래의 토큰 버킷 상태에 관한 추가적인 예측을 감소시키기 위한 수단
    을 더 포함하는 데이터 처리 시스템.
  10. 제 16 항에 있어서,
    미래의 토큰 버킷 상태에 관한 추가적인 예측을 감소시키기 위한 상기 수단은,
    피봇-포인트 - 여기서, 상기 피봇-포인트는 토큰 버킷의 토큰 오버플로우가 발생하는 시간상의 포인트임 - 를 식별하기 위한 수단; 및
    상기 피봇-포인트를 식별하는 것에 응답하여, 상기 피봇-포인트에서 시작하여 토큰 버킷에 의해 요구되는 토큰수를 판단하기 위한 수단
    을 더 포함하는 데이터 처리 시스템.
  11. 제 11 항에 있어서,
    미래의 토큰 버킷 상태에 관한 추가적인 예측이 필요로 되는지 판단하기 위한 수단
    을 더 포함하는 데이터 처리 시스템.
  12. 제 18 항에 있어서,
    미래의 토큰 버킷 상태에 관한 추가적인 예측이 필요로 되는지 판단하기 위한 상기 수단은,
    최소-거리 - 여기서, 상기 최소-거리는 비디오 프레임 패킷에서의 토큰수와 토큰 버킷 크기 사이의 가장작은 거리임 - 를 판단하기 위한 수단; 및
    상기 최소-거리를 판단하는 것에 응답하여, 토큰 버킷에서의 토큰의 부족량이 상기 최소-거리 보다 작은 수 인지 판단하기 위한 수단
    을 더 포함하는 데이터 처리 시스템.
KR1019990000139A 1998-01-02 1999-01-02 네트워크를 통해 전송되는 저우선순위 비디오 프레임 패킷을 감소시키기 위한 속도 감쇠 시스템과 그 방법 KR100318976B1 (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US09/002,520 US6192032B1 (en) 1998-01-02 1998-01-02 Rate attenuation systems, methods and computer program products for reducing low priority video frame packets transmitted over a network
US09/002,520 1998-01-02
US9/002,520 1998-01-02

Publications (2)

Publication Number Publication Date
KR19990067760A KR19990067760A (ko) 1999-08-25
KR100318976B1 true KR100318976B1 (ko) 2001-12-29

Family

ID=21701152

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1019990000139A KR100318976B1 (ko) 1998-01-02 1999-01-02 네트워크를 통해 전송되는 저우선순위 비디오 프레임 패킷을 감소시키기 위한 속도 감쇠 시스템과 그 방법

Country Status (3)

Country Link
US (1) US6192032B1 (ko)
JP (1) JP3095382B2 (ko)
KR (1) KR100318976B1 (ko)

Families Citing this family (35)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6396834B1 (en) * 1997-11-24 2002-05-28 Riverstone Networks, Inc. Flexible scheduler in an asynchronous transfer mode (ATM) switch
US6263451B1 (en) * 1998-04-30 2001-07-17 Zenith Electronics Corporation Hardware implementation for a packet token generator of a high speed data server
US6665728B1 (en) * 1998-12-30 2003-12-16 Intel Corporation Establishing optimal latency in streaming data applications that use data packets
JP2001230810A (ja) 2000-02-16 2001-08-24 Fujitsu Ltd パケット流量制御装置および方法
US6748435B1 (en) * 2000-04-28 2004-06-08 Matsushita Electric Industrial Co., Ltd. Random early demotion and promotion marker
US6978306B2 (en) 2000-08-10 2005-12-20 Pts Corporation Multi-tier video delivery network
US8032653B1 (en) * 2000-09-08 2011-10-04 Juniper Networks, Inc. Guaranteed bandwidth sharing in a traffic shaping system
US6766376B2 (en) 2000-09-12 2004-07-20 Sn Acquisition, L.L.C Streaming media buffering system
US7568045B1 (en) * 2001-03-30 2009-07-28 Cisco Technology, Inc. Method and apparatus for estimating periodic worst-case delay under actual and hypothetical conditions using a measurement based traffic profile
US7225271B1 (en) * 2001-06-29 2007-05-29 Cisco Technology, Inc. System and method for recognizing application-specific flows and assigning them to queues
EP1454250A4 (en) * 2001-12-15 2010-08-25 Thomson Licensing SYSTEM AND METHOD FOR MODIFYING A VIDEO DATA FLOW BASED ON A CLIENT OR NETWORK ENVIRONMENT
KR100440575B1 (ko) * 2001-12-27 2004-07-21 주식회사 케이티 실시간 화상 데이터 전송을 위한 트래픽 특성화방법
US7283483B2 (en) * 2002-12-18 2007-10-16 Cisco Technology, Inc. Transmitting multiple packets in a frame
DE10306293B4 (de) * 2003-02-14 2006-08-31 Siemens Ag Verfahren zur Übertragungsbandbreitenzuteilung in einer paketorientierten Kommunikationseinrichtung
CN1302638C (zh) * 2003-04-03 2007-02-28 华为技术有限公司 采用令牌漏桶进行报文限流的方法
CN100388674C (zh) * 2003-11-14 2008-05-14 中兴通讯股份有限公司 处理网关消息拥塞的方法
US20060005083A1 (en) * 2004-06-30 2006-01-05 International Business Machines Corporation Performance count tracing
JP2006101004A (ja) * 2004-09-28 2006-04-13 Fujitsu Ltd 伝送装置及びリーキバケット帯域制御方法
US7787366B2 (en) * 2005-02-02 2010-08-31 Interdigital Technology Corporation Method and apparatus for controlling wireless medium congestion by adjusting contention window size and disassociating selected mobile stations
US8743693B2 (en) * 2005-09-30 2014-06-03 Alcatel Lucent Method for dynamically adjusting token bucket sizes
EP1793536B1 (en) * 2005-11-30 2010-06-02 Alcatel Lucent Weighted fair bandwidth distribution system
TWI287365B (en) * 2005-12-28 2007-09-21 Ind Tech Res Inst A dynamic bandwidth allocation method in an ethernet passive optical network
US7817556B2 (en) * 2006-04-20 2010-10-19 Cisco Technology, Inc. Modification of policing methods to make them more TCP-friendly
DE602006001512D1 (de) * 2006-04-20 2008-07-31 Alcatel Lucent Verfahren und Vorrichtung für effiziente gewichtete und gerechte Datenüberwachung
EP2033366B1 (en) * 2006-06-26 2010-07-21 Telefonaktiebolaget LM Ericsson (publ) Network node and method for fast traffic measurement and monitoring
BRPI0808234A2 (pt) * 2007-03-14 2014-07-22 Interdigital Tech Corp Método e aparelho para título para evitar a perda de suporte uplink em um sistema de longo termo de evolução.
US8254449B2 (en) * 2008-08-29 2012-08-28 Georgia Tech Research Corporation Video traffic bandwidth prediction
US8730812B2 (en) * 2009-01-09 2014-05-20 Brocade Communications Systems, Inc. Hierarchical rate color marker
CN101616441B (zh) 2009-08-04 2011-09-21 中兴通讯股份有限公司 报文到达时间间隔的计算方法及装置
US8254445B2 (en) * 2009-08-06 2012-08-28 Georgia Tech Research Corporation Video transmission using video quality metrics
US8400918B2 (en) * 2009-08-06 2013-03-19 Georgia Tech Research Corporation Video traffic smoothing
US11683498B2 (en) 2021-08-13 2023-06-20 Meta Platforms, Inc. Hardware pipelines for rate-distortion optimization (RDO) that support multiple codecs
WO2023019001A1 (en) * 2021-08-13 2023-02-16 Meta Platforms, Inc. Hardware pipelines for rate–distortion optimization (rdo) that support multiple codecs
USD1023627S1 (en) * 2021-08-16 2024-04-23 AMQ Solutions, LLC Workstation
USD1023624S1 (en) * 2021-08-16 2024-04-23 AMQ Solutions, LLC Collapsible workstation

Family Cites Families (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH04100342A (ja) * 1990-08-20 1992-04-02 Toshiba Corp トラヒック制御方式
US5159447A (en) 1991-05-23 1992-10-27 At&T Bell Laboratories Buffer control for variable bit-rate channel
WO1993015571A1 (en) * 1992-01-29 1993-08-05 Bell Communications Research, Inc. Smoothing delay-sensitive traffic offered to atm networks
US5457687A (en) 1993-09-02 1995-10-10 Network Equipment Technologies, Inc. Method and apparatus for backward explicit congestion notification (BECN) in an ATM network
US5416520A (en) 1993-11-30 1995-05-16 Intel Corporation Multiple encoder output buffer apparatus for differential coding of video information
US5784358A (en) * 1994-03-09 1998-07-21 Oxford Brookes University Broadband switching network with automatic bandwidth allocation in response to data cell detection
US5541852A (en) * 1994-04-14 1996-07-30 Motorola, Inc. Device, method and system for variable bit-rate packet video communications
US5506844A (en) 1994-05-20 1996-04-09 Compression Labs, Inc. Method for configuring a statistical multiplexer to dynamically allocate communication channel bandwidth
DE59408447D1 (de) 1994-12-23 1999-08-05 Hewlett Packard Gmbh Datennetzwerk und Verfahren zur zeitrichtigen Übertragung von Datenpaketen in einem Datennetzwerk
US5831971A (en) * 1996-08-22 1998-11-03 Lucent Technologies, Inc. Method for leaky bucket traffic shaping using fair queueing collision arbitration
JP2897730B2 (ja) * 1996-09-06 1999-05-31 日本電気株式会社 ダイナミックシェーピング装置
US5844890A (en) * 1997-03-25 1998-12-01 International Business Machines Corporation Communications cell scheduler and scheduling method for providing proportional use of network bandwith

Also Published As

Publication number Publication date
JPH11313110A (ja) 1999-11-09
US6192032B1 (en) 2001-02-20
JP3095382B2 (ja) 2000-10-03
KR19990067760A (ko) 1999-08-25

Similar Documents

Publication Publication Date Title
KR100318976B1 (ko) 네트워크를 통해 전송되는 저우선순위 비디오 프레임 패킷을 감소시키기 위한 속도 감쇠 시스템과 그 방법
USRE48953E1 (en) Hypothetical reference decoder
US8621532B2 (en) Method of transmitting layered video-coded information
Maglaris et al. Performance models of statistical multiplexing in packet video communications
US7054371B2 (en) System for real time transmission of variable bit rate MPEG video traffic with consistent quality
Bolot et al. A rate control mechanism for packet video in the Internet
Kanakia et al. An adaptive congestion control scheme for real time packet video transport
JP4087852B2 (ja) ビデオの伝送方法
US7382729B2 (en) Video transmission of layered coded data
JPH06253277A (ja) 可変ビット・レート・チャネルに対するバッファを制御する方法および装置
WO2000036843A1 (en) System and method for analyzing and transmitting video over a switched network
JP2005528059A (ja) セルをカプセル化するための方法及びシステム
US20030076858A1 (en) Multi-layer data transmission system
Tobagi et al. Performance evaluation of 10Base-T and 100Base-T Ethernets carrying multimedia traffic
EP1471694B1 (en) Method for dimensioning bandwidth in voice-over-IP networks
Chen et al. A robust coding scheme for packet video
Kim et al. Bandwidth renegotiation with traffic smoothing and joint rate control for VBR MPEG video over ATM
Chao et al. ECVBA traffic‐smoothing scheme for VBR media streams
JPH11317942A (ja) 画像符号化装置
Qi et al. Qoe-aware video streaming transmission optimization method for playout threshold adjustment in lte
EP0891673A1 (en) Buffer control in a coded data transmission system
Chao et al. Efficient changes and variability bandwidth allocation for VBR media streams
Koprulu et al. Smoothing algorithms for the delivery of compressed video
Tobagi et al. On the performance of networks carrying multimedia traffic
Chang et al. Online traffic smoothing for delivery of variable bit rate media streams

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
FPAY Annual fee payment

Payment date: 20051109

Year of fee payment: 5

LAPS Lapse due to unpaid annual fee