KR20090079406A - 동영상 전송 시스템의 송신 장치 및 수신 장치, 그 버퍼제어 방법 - Google Patents

동영상 전송 시스템의 송신 장치 및 수신 장치, 그 버퍼제어 방법 Download PDF

Info

Publication number
KR20090079406A
KR20090079406A KR1020080005335A KR20080005335A KR20090079406A KR 20090079406 A KR20090079406 A KR 20090079406A KR 1020080005335 A KR1020080005335 A KR 1020080005335A KR 20080005335 A KR20080005335 A KR 20080005335A KR 20090079406 A KR20090079406 A KR 20090079406A
Authority
KR
South Korea
Prior art keywords
buffer
channel
delay time
transmission
video data
Prior art date
Application number
KR1020080005335A
Other languages
English (en)
Other versions
KR101390192B1 (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 삼성전자주식회사
Priority to KR1020080005335A priority Critical patent/KR101390192B1/ko
Priority to US12/199,345 priority patent/US8209731B2/en
Publication of KR20090079406A publication Critical patent/KR20090079406A/ko
Application granted granted Critical
Publication of KR101390192B1 publication Critical patent/KR101390192B1/ko

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N7/00Television systems
    • H04N7/12Systems in which the television signal is transmitted via one channel or a plurality of parallel channels, the bandwidth of each channel being less than the bandwidth of the television signal
    • 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/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/234Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs
    • H04N21/23406Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs involving management of server-side video buffer
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/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/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
    • H04N21/4302Content synchronisation processes, e.g. decoder synchronisation
    • H04N21/4305Synchronising client clock from received content stream, e.g. locking decoder clock with encoder clock, extraction of the PCR packets
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
    • H04N21/44Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream or rendering scenes according to encoded video stream scene graphs
    • H04N21/44004Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream or rendering scenes according to encoded video stream scene graphs involving video buffer management, e.g. video decoder buffer or video display buffer

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)
  • Communication Control (AREA)

Abstract

채널의 전송 속도가 변화되는 환경에서 동영상 전송 시스템의 송신 장치 및 수신 장치에 구비된 버퍼를 제어하는 방법이 개시된다. 본 발명에 따르면 채널의 전송 속도가 변화된 경우 동영상 데이터를 임시로 저장하고 동영상 데이터를 수신기로 출력하는 송신기의 버퍼의 사용량을 채널의 전송 속도에 비례하도록 변경하거나, 수신기의 동작 클럭을 점진적으로 변화시킴으로써 수신기에 구비된 버퍼의 지연 시간을 변화시키는 것을 특징으로 한다.
Figure P1020080005335
버퍼, 오버플로우, 언더플로우, 지연시간

Description

동영상 전송 시스템의 송신 장치 및 수신 장치, 그 버퍼 제어 방법{Transmission apparatus and receiving apparatus of video trasmission system, and buffer control method thereof}
본 발명은 버퍼 제어 방법에 관한 것으로, 보다 구체적으로는 채널의 전송 속도가 변화되는 환경에서 동영상 전송 시스템의 송신 장치 및 수신 장치에 구비된 버퍼를 제어하는 방법에 관한 것이다.
최근에는 인터넷 또는 무선으로 동영상 데이터를 실시간으로 전송하는 실시간 동영상 전송 시스템이 널리 이용되고 있다.
도 1은 실시간 동영상 전송 시스템의 구성을 개략적으로 나타낸 블록도이다.
도 1을 참조하면, 실시간 동영상 전송 시스템은 동영상 데이터를 송신하는 송신 장치(10)와 유무선 네트워크 채널을 통해 데이터를 수신하는 수신 장치(20)를 포함한다. 송신 장치(10)는 동영상 데이터를 부호화하여 출력하는 부호화부(11) 및 부호화부(11)에서 발생하는 데이터 임시로 저장하였다가 채널의 전송 속도에 따라서 동영상 데이터를 출력하는 버퍼(12)를 포함한다.
수신 장치(20)는 송신 장치(10)의 버퍼(12)에서 출력된 동영상 데이터를 저 장하였다가 출력하는 버퍼(21) 및 버퍼(21)에서 출력된 동영상 데이터를 복호화하는 복호화부(22)를 포함한다. 수신 장치(20)의 버퍼(21)는 소정 시간 동안 수신된 동영상 데이터를 저장한 다음 출력한다. 여기서, 버퍼(21)에 동영상 데이터가 입력된 입력 시간과 동영상 데이터가 버퍼(21)로부터 출력되는 출력 시간의 차이를 지연 시간(delay time)이라 정의한다. 일반적으로, 실시간 동영상 전송 시스템의 수신 장치(20)에서는 소정의 지연 시간 동안 버퍼(21)에 데이터를 저장한 이후 수신된 동영상 데이터의 재생을 개시한다.
송신 장치(10)에서 수신 장치(20)가 처리할 수 있는 데이터보다 많은 데이터를 전송하면 수신 장치(20)의 버퍼(21)는 오버플로우 상태가 되며, 반대로 송신 장치(10)로부터 수신된 데이터가 수신 장치(20)가 처리할 수 있는 데이터보다 적은 경우에는 수신 장치(20)의 버퍼(21)는 언더플로우 상태가 된다.
도 1의 동영상 전송 시스템에서 채널의 전송 속도를 R(bps), 수신 장치(20)의 버퍼(21)의 크기를 BD(bits), 버퍼(21)의 지연 시간을 D(second)라고 하면, 오버 플로우를 방지하기 위해서 버퍼(21)의 크기(BD)는 최소한 RxD(bits) 이상의 크기를 갖어야 한다. 만약, 채널의 전송 속도 R이 일정하다면, 지연 시간 D를 (BD/R)로 설정하면 수신 장치(20)의 버퍼(21)에서는 오버 플로우나 언더 플로우가 발생하지 않는다. 만약, 채널의 전송 속도 R이 R'로 변경되었다면, 버퍼의 오버 플로우나 언더 플로우를 방지하기 위해서 지연 시간 D를 (BD/R')로 재설정하여야 한다. 그러나, 지연 시간을 갑작스럽게 변경하는 경우 동영상 데이터의 영상 동기 신호의 타 이밍이 변경됨으로 인해서 영상의 끊김 현상이 발생하는 문제점이 있다.
본 발명이 해결하고자 하는 과제는 채널의 전송 속도가 변화된 경우 버퍼의 오버플로우 및 언더플로우를 방지하는 버퍼의 제어 방법, 동영상 전송 시스템의 송신 장치 및 수신 장치를 제공하는 것이다.
본 발명의 일 실시예에 따른 동영상 전송 시스템에서의 버퍼 제어 방법은 채널의 전송 속도의 변화 여부를 판단하는 단계 및 상기 채널의 전송 속도가 변화된 경우, 동영상 데이터를 임시로 저장하고 상기 동영상 데이터를 수신기로 출력하는 송신기의 버퍼의 사용량을 상기 채널의 전송 속도에 비례하도록 변경하는 단계를 포함하는 것을 특징으로 한다.
본 발명에 따른 동영상 전송 시스템에서의 송신 장치는 동영상 데이터를 생성하는 부호화부와, 상기 부호화부에서 생성된 동영상 데이터를 저장하고 동영상 데이터의 수신 장치로 상기 동영상 데이터를 출력하는 버퍼 및 채널의 전송 속도가 변화된 경우, 상기 버퍼의 사용량을 상기 채널의 전송 속도에 비례하도록 변경하는 버퍼 제어부를 포함하는 것을 특징으로 한다.
본 발명의 다른 실시예에 따른 동영상 전송 시스템에서의 버퍼 제어 방법은 채널의 전송 속도의 변화 여부를 판단하는 단계 및 상기 채널의 전송 속도가 변화된 경우, 수신기의 동작 클럭을 점진적으로 변화시킴으로써 상기 수신기에 구비된 버퍼의 지연 시간을 변화시키는 단계를 포함하는 것을 특징으로 한다.
본 발명에 따른 동영상 전송 시스템에서의 수신 장치는 동영상 데이터를 재생하는 복호화부와, 전송된 동영상 데이터를 저장하고 상기 복호화부로 출력하는 버퍼 및 채널의 전송 속도가 변화된 경우, 상기 버퍼의 동작 클럭을 점진적으로 변화시킴으로써 상기 버퍼의 지연 시간을 변화시키는 동작 클럭 제어부를 포함하는 것을 특징으로 한다.
본 발명에 따르면 채널의 전송 속도의 변화에 따라 버퍼의 오버플로우 및 언더플로우를 방지하면서 동영상 전송 시스템의 리소스를 효율적으로 활용할 수 있다.
또한, 본 발명에 따르면 채널의 전송 속도의 변화에 따라서 수신 장치에서 발생하는 동영상 데이터의 화질의 열화를 방지할 수 있으며, 실시간으로 동영상을 전송하는 실시간 동영상 전송 시스템에 적용가능하다.
이하, 첨부된 도면을 참조하여 본 발명의 바람직한 실시예에 대하여 구체적으로 설명한다.
도 2는 본 발명에 따른 동영상 전송 시스템의 구성을 나타낸 블록도이다.
도 2를 참조하면, 본 발명에 따른 동영상 전송 시스템은 실시간으로 동영상 데이터를 송신하는 송신 장치(210)와 실시간 동영상 데이터를 수신하는 수신 장치(220)를 포함한다.
송신 장치(210)는 부호화부(211), 송신 버퍼(212) 및 버퍼 제어부(213)를 포 함한다. 수신 장치(220)는 수신 버퍼(221), 복호화부(222) 및 동작 클럭 제어부(223)을 포함한다.
부호화부(211)는 동영상 데이터를 생성하여 송신 버퍼(212)로 출력하고, 송신 버퍼(212)는 채널의 전송 속도에 따라서 소정 비율로 동영상 데이터를 수신 장치(213)로 전송한다. 버퍼 제어부(213)는 채널의 전송 속도가 변화된 경우, 송신 버퍼(212)의 사용량을 채널의 전송 속도에 비례하여 변경한다. 이와 같이 본 발명의 일 실시예에 따르면 송신 버퍼(212)의 사용량을 조절함으로써, 수신 버퍼(221)의 지연 시간을 일정하게 유지하면서 수신 버퍼(221)의 오버 플로우를 방지한다.
도 3은 본 발명에 따른 동영상 전송 시스템의 버퍼 제어 방법의 일 실시예를 나타낸 플로우 차트이다. 이하, 도 3을 참조하여 동영상 전송 시스템의 송신 장치(210)에 구비된 송신 버퍼(212)를 제어하는 방법에 대하여 구체적으로 설명한다.
단계 310에서, 버퍼 제어부(213)는 채널의 전송 속도의 변화 여부를 판단한다. 채널의 전송 속도가 변화된 경우, 단계 320에서 버퍼 제어부(213)는 송신 버퍼(212)의 사용량(BE(R))을 전송 속도에 비례하여 변경한다. 현재 채널의 전송 속도를 Rcur(bps), 채널의 전송 속도의 최대값을 Rmax, 최소값을 Rmin, 송신 버퍼(212)의 이용가능한 전체 크기를 BN(bits)라고 정의하면, 버퍼 제어부(213)는 다음의 수학식 1과 같이 현재 채널의 전송 속도 Rcur에 따른 송신 버퍼(212)의 사용량(BE(R))을 결정한다.
BE(R)=BN*(Rcur/Rmax)
수학식 1에서 송신 버퍼(212)의 사용량(BE(R))이라 함은 도 4에 도시된 바와 같이 송신 버퍼(212)에서 이용가능한 데이터의 총 저장 용량을 BN이라고 하였을 때, 동영상 전송에 실제 사용되는 송신 버퍼(212)의 데이터의 용량을 가리킨다. 본 발명의 일 실시예에 따르면, 채널의 전송 속도가 변경되는 경우 수신 버퍼(221)의 지연 시간(D)의 변화없이 수신 버퍼(221)의 오버 플로우를 방지할 수 있다. 이는 수신 버퍼(221)의 지연 시간(D)은 다음의 수학식 2와 같이 송신 버퍼(212)의 사용량(BE(R))과 채널의 전송 속도(R)에 의하여 결정되므로, 채널의 전송 속도(R)이 변화된 경우에 이에 비례하여 송신 버퍼(212)의 사용량(BE(R))을 변경한다면 수신 버퍼(221)의 지연 시간이 변경되지 않기 때문이다.
Figure 112008004031965-PAT00001
수학식 2를 참조하면, 채널의 전송 속도(R)이 증가하는 경우에는 송신 버퍼(212)의 사용량(BE(R))을 증가시킴으로써 수신 버퍼(221)의 지연 시간(D)를 일정하게 유지할 수 있으며, 채널의 전송 속도(R)이 감소하는 경우에는 송신 버퍼(212)의 사용량(BE(R))을 감소시킴으로써 수신 버퍼(221)의 지연 시간(D)을 일정하게 유 지할 수 있다. 수신 버퍼(221)의 크기(BD)는 오버 플로우를 방지하기 위해서 이론상 송신 버퍼(212)의 크기(BN)과 같으면 되지만, 구현시 시스템의 안정성을 위해 송신 버퍼(212)의 크기(BN) 보다 크게 설정하는 것이 바람직하며, 수신 버퍼(221)의 지연 시간(D)도 BN/Rmax보다는 큰 값을 갖는 것이 바람직하다. 이는 Rmin < Rmax이기 때문에 BN/Rmin > BN/Rmax이며, 수신버퍼(221)의 지연시간 (D)는 BN/Rmin 보다 큰 값을 갖고 BN/Rmax보다는 작은 값을 가질 수 없기 때문이다.
단계 330에서는, 송신 버퍼(212)의 사용량의 변화에 따라서 수신 버퍼(221)의 사용량을 변화시킨다. 이는 송신 버퍼(212)의 사용량이 감소된 경우 수신 버퍼(221)의 언더 플로우을 방지하기 위한 것이다.
전술한 본 발명의 일 실시예의 버퍼 제어 방법에 따르면, 수신 버퍼의 지연 시간이 고정되어 영상 동기 신호의 타이밍이 변화되지 않으므로, 채널의 전송 속도가 변화된 경우에도 끊김없는 화면의 재생이 가능하다.
도 5는 본 발명의 다른 실시예에 따른 동영상 전송 시스템의 버퍼 제어 방법을 나타낸 플로우 차트이다.
본 발명의 다른 실시예에 따른 버퍼 제어 방법은 채널의 전송 속도가 변화된 경우, 수신 장치(220)에 구비된 수신 버퍼(221)의 동작 클럭을 점진적으로 변경하여 수신 버퍼(221)의 지연 시간을 점진적으로 변화시킴으로써 지연 시간의 갑작스러운 변경으로 인해 발생하는 화면의 끊김 현상을 방지한다.
도 2 및 도 5를 참조하면, 단계 510에서 동작 클럭 제어부(223)는 채널의 전송 속도의 변화 여부를 모니터링하다가, 단계 520에서 채널의 전송 속도가 변화된 경우 수신 장치(520)의 동작 클럭을 점진적으로 변화시킨다. 이는 채널의 전송 속도가 변화된 경우 주어진 버퍼를 최대한 활용하면서 버퍼의 오버 플로우 및 언더 플로우를 방지하기 위해서는 버퍼의 지연 시간을 변경하는 것이 바람직하기 때문이다.
구체적으로, 동작 클럭 제어부(223)는 채널의 전송 속도가 증가된 경우 변경된 채널의 전송 속도에서 오버 플로우 및 언더 플로우를 방지하기 위한 수신 버퍼(221)의 최적 지연 시간과 최적 지연 시간을 발생시키기 위한 타겟 동작 클럭을 계산한다. 그리고, 동작 클럭 제어부(223)는 현재 동작 클럭을 계산된 타겟 동작 클럭으로 점진적으로 변경한다. 동작 클럭이 점진적으로 변경됨에 따라서, 수신 버퍼(221)에 동영상 데이터가 입력되는 입력 시간과 출력되는 출력 시간 사이의 차이인 지연 시간이 점진적으로 변경된다.
도 6은, 본 발명에 따라서 수신 버퍼의 지연 시간의 변화의 일 예를 나타낸 도면이다. 도 6에서, x축은 시간을 나타내며, 송신기측 라인에 도시된 숫자 "1~200" 각각은 n번째 픽처가 송신기에서 송신되어 수신기의 수신 버퍼에 입력되는 시간을 나타내며, 수신기 측에 도시된 숫자 "1~200" 각각은 수신 버퍼에 저장된 n번째 픽처가 수신 버퍼로부터 출력되는 시간을 나타낸다. 즉 도 6에서, Dn은 n번째 픽처가 수신 버퍼에 입력된 시간과 출력되는 시간 사이의 차이인 n번째 픽처의 지연 시간을 나타낸다.
도 6을 참조하면, 첫 번째 픽처가 입력된 이후로 채널의 전송 속도가 Rcur로부터 Rcur'로 변경되었다고 가정하면, 송신 버퍼 및 수신 버퍼를 최대한으로 활용하기 위해서는 전술한 본 발명의 일 실시예에서와 같이 송신 버퍼의 사용량을 변경시키는 것보다는 수신 버퍼의 지연 시간이 변경된 채널의 전송 속도 Rcur'에 적합하도록 변경하는 것이 바람직하다. 다만, 수신 버퍼의 지연 시간을 갑작스럽게 변경하는 경우에는 전술한 바와 같이 영상 동기 신호의 타이밍이 변경됨으로 인해서 영상의 끊김이 발생할 수 있다. 따라서, 동작 클럭 제어부(223)는 점진적으로 동작 클럭을 변화시켜서 결과적으로 동작 클럭에 동기화되어 동작하는 수신 버퍼(221)의 지연 시간을 변화시킨다. 도 6에 도시된 바와 같이 채널의 전송 속도의 변화로 인해 수신 버퍼(221)의 지연 시간이 D0에서 D200으로 변경되어야 하는 경우, 동작 클럭 제어부(223)는 수신 버퍼(221)의 지연 시간이 D200가 되도록 하는 수신 버퍼(221)의 타겟 동작 클럭을 계산하고, 현재의 동작 클럭을 타겟 동작 클럭으로 점진적으로 변화시킨다.
이와 같은 동작 클럭 제어부(223)는 일반적인 동영상 전송 시스템에서 클럭 지터(clock jitter)로 인해 송신 장치와 수신 장치 사이의 시간차의 발생을 보상하는 클럭 복원 회로를 이용하여 구현될 수 있다. 또한, 본 발명의 동작 클럭 제어부(223)는 일반적인 클럭 복원 회로와 별도로 구비되어 수신 장치(220)의 동작 클럭을 점진적으로 변화시키도록 할 수 있다.
도 7a 내지 도 7c는 본 발명의 다른 실시예에 따라서 수신 버퍼의 지연 시간 의 점진적인 변화 과정의 일 예를 나타낸 도면이며, 도 8a 내지 도 8c는 각각 도 7a 내지 도 7c에 도시된 수신 버퍼의 점진적인 지연 시간 변화를 구현하기 위한 동작 클럭의 일 예를 도시한 도면이다.
도 7a 내지 도 7c를 참조하면, 채널의 전송 속도가 변경되어 현재 수신 버퍼의 지연 시간(D0)를 변경된 채널의 전송 속도에 따른 지연 시간(D200)으로 감소하여야 하는 경우, 도 7a에 도시된 바와 같이 지연 시간을 비선형적으로 감소시키거나, 도 7b에 도시된 바와 같이 지연 시간을 선형적으로 감소시키거나, 도 7c에 도시된 바와 같이 지연 시간을 단계적으로 감소시켜야 한다. 이러한 지연 시간의 점진적인 변화를 위해서, 동작 클럭 제어부(223)는 도 8a 내지 도 8c에 도시된 바와 같이 수신 장치(220)의 동작 클럭을 지연 시간의 변화와 반비례하도록 점진적으로 변화시킨다.
다시 도 5를 참조하면, 단계 530에서 수신 장치(220)의 지연 시간의 변경으로 인해서 송신 장치(210)의 송신 버퍼(212)의 사용량을 변화시킨다. 채널의 전송 속도가 R1에서 R2로 변경된 경우 전술한 수학식 2를 이용하면 동작 클럭 제어부(223)는 동작 클럭을 타겟 동작 클럭으로 점진적으로 변화시킴으로써 수신 버퍼(221)의 지연 시간을 BE/R1로부터 BE/R2로 점진적으로 변경한다. 이와 같이 수신 버퍼(221)의 동작 클럭의 변화로 인해 수신 버퍼(221)의 지연 시간이 변경되면, 송신 장치(210)의 버퍼 제어부(213)는 송신 버퍼(212)의 사용량을 현재 수신 버퍼의 지연 시간에 따라서 실시간으로 변경하거나, 또는 수신 버퍼(221)의 동작 클럭이 타겟 동작 클럭으로 변경된 이후에 송신 버퍼(212)의 사용량을 변경할 수 있다.
도 9은 본 발명의 또 다른 실시예에 따른 버퍼 제어 방법을 나타낸 플로우 차트이다.
본 발명의 또 다른 실시예에 따른 버퍼 제어 방법은 단계 910에서 채널의 전송 속도가 일시적으로 변화되었는지 여부를 판단하고, 만약 일시적으로 채널의 전송 속도가 변화된 것이라면, 단계 920에서 전술한 도 3의 본 발명의 일 실시예에 따른 버퍼 제어 방법에 따라서 송신기와 수신기의 버퍼 사용량을 변화시킴으로써 수신기의 수신 버퍼의 지연 시간을 일정하게 유지하면서 송신기와 수신기의 오버 플로우를 방지한다. 만약, 채널의 전송 속도가 장기적으로 변화되는 경우에는 단계 930에서 전술한 도 5의 본 발명의 다른 실시예에 따라서 수신기의 동작 클럭을 타겟 동작 클럭으로 점진적으로 변화시켜서 결과적으로 수신 버퍼의 지연 시간을 점진적으로 변화되도록 한다. 수신기의 동작 클럭을 변경함으로써 장기적인 채널의 전송 속도의 변화에 대비하는 경우에는, 단계 940에서 송신기와 수신기의 버퍼 사용량을 재설정함으로써 지연 시간의 변화에 따라서 버퍼의 사용량이 최대가 될 수 있도록 제어한다.
이상과 같이 본 발명은 비록 한정된 실시예와 도면에 의해 설명되었으나, 본 발명이 상기의 실시예에 한정되는 것은 아니며, 이는 본 발명이 속하는 분야에서 통상의 지식을 가진 자라면 이러한 기재로부터 다양한 수정 및 변형이 가능하다. 따라서, 본 발명의 사상은 아래에 기재된 특허청구범위에 의해서만 파악되어야 하고, 이와 균등하거나 또는 등가적인 변형 모두는 본 발명 사상의 범주에 속한다 할 것이다. 또한, 본 발명에 따른 시스템은 컴퓨터로 읽을 수 있는 기록매체에 컴퓨터가 읽을 수 있는 코드로서 구현하는 것이 가능하다. 컴퓨터가 읽을 수 있는 기록매체는 컴퓨터 시스템에 의하여 읽혀질 수 있는 데이터가 저장되는 모든 종류의 기록장치를 포함한다. 기록매체의 예로는 ROM, RAM, CD-ROM, 자기 테이프, 플로피 디스크, 광데이터 저장장치 등이 있으며, 또한 캐리어 웨이브(예를 들어 인터넷을 통한 전송)의 형태로 구현되는 것도 포함한다. 또한 컴퓨터가 읽을 수 있는 기록매체는 네트워크로 연결된 컴퓨터 시스템에 분산되어 분산방식으로 컴퓨터가 읽을 수 있는 코드가 저장되고 실행될 수 있다.
도 1은 종래 기술에 따른 실시간 동영상 전송 시스템의 구성을 개략적으로 나타낸 블록도이다.
도 2는 본 발명에 따른 동영상 전송 시스템의 구성을 나타낸 블록도이다.
도 3은 본 발명에 따른 동영상 전송 시스템의 버퍼 제어 방법의 일 실시예를 나타낸 플로우 차트이다.
도 4는 도 2에 도시된 송신 버퍼(212)의 이용가능한 데이터의 총 저장 용량(BN)과 동영상 전송에 실제 사용되는 송신 버퍼(212)의 사용량의 관계를 설명하기 위한 도면이다.
도 5는 본 발명의 다른 실시예에 따른 동영상 전송 시스템의 버퍼 제어 방법을 나타낸 플로우 차트이다.
도 6은 본 발명에 따라서 수신 버퍼의 지연 시간의 변화의 일 예를 나타낸 도면이다.
도 7a 내지 도 7c는 본 발명의 다른 실시예에 따라서 수신 버퍼의 지연 시간의 점진적인 변화 과정의 일 예를 나타낸 도면이다.
도 8a 내지 도 8c는 각각 도 7a 내지 도 7c에 도시된 수신 버퍼의 점진적인 지연 시간 변화를 구현하기 위한 동작 클럭의 일 예를 도시한 도면이다.
도 9은 본 발명의 또 다른 실시예에 따른 버퍼 제어 방법을 나타낸 플로우 차트이다.

Claims (14)

  1. 동영상 전송 시스템에서의 버퍼 제어 방법에 있어서,
    채널의 전송 속도의 변화 여부를 판단하는 단계; 및
    상기 채널의 전송 속도가 변화된 경우, 동영상 데이터를 임시로 저장하고 상기 동영상 데이터를 수신기로 출력하는 송신기의 버퍼의 사용량을 상기 채널의 전송 속도에 비례하도록 변경하는 단계를 포함하는 것을 특징으로 하는 버퍼 제어 방법.
  2. 제 1항에 있어서,
    상기 채널의 최대 전송 속도를 Rmax(bps), 상기 채널의 현재 전송 속도를 Rcur(bps), 상기 송신기의 버퍼의 이용가능한 전체 크기를 BN(bits)라고 할 때, 상기 송신기의 버퍼의 사용량(BE(R))은 다음의 수학식; BE(R)=BN*(Rcur/Rmax)에 따라서 결정되는 것을 특징으로 하는 버퍼 제어 방법.
  3. 제 1항에 있어서,
    상기 출력된 동영상 데이터를 수신하는 수신기의 버퍼의 사용량은 상기 송신기의 버퍼의 사용량 이상의 값이 되도록 설정하는 것을 특징으로 하는 버퍼 제어 방법.
  4. 동영상 전송 시스템에서의 송신 장치에 있어서,
    동영상 데이터를 생성하는 부호화부;
    상기 부호화부에서 생성된 동영상 데이터를 저장하고 동영상 데이터의 수신 장치로 상기 동영상 데이터를 출력하는 버퍼; 및
    채널의 전송 속도가 변화된 경우, 상기 버퍼의 사용량을 상기 채널의 전송 속도에 비례하도록 변경하는 버퍼 제어부를 포함하는 것을 특징으로 하는 송신 장치.
  5. 제 4항에 있어서, 상기 버퍼 제어부는
    상기 채널의 최대 전송 속도를 Rmax(bps), 상기 채널의 현재 전송 속도를 Rcur(bps), 상기 버퍼의 이용가능한 전체 크기를 BN(bits)라고 할 때, 상기 버퍼의 사용량(BE(R))을 다음의 수학식; BE(R)=BN*(Rcur/Rmax)에 따라서 결정하는 것을 특징으로 하는 송신 장치.
  6. 동영상 전송 시스템에서의 버퍼 제어 방법에 있어서,
    채널의 전송 속도의 변화 여부를 판단하는 단계; 및
    상기 채널의 전송 속도가 변화된 경우, 수신기의 동작 클럭을 점진적으로 변화시킴으로써 상기 수신기에 구비된 버퍼의 지연 시간을 변화시키는 단계를 포함하 는 것을 특징으로 하는 버퍼 제어 방법.
  7. 제 6항에 있어서, 상기 지연 시간은
    상기 수신기의 버퍼에 저장된 동영상 데이터의 입력 시간과 상기 동영상 데이터가 출력되는 출력 시간의 차이를 나타내는 것임을 특징으로 하는 버퍼 제어 방법.
  8. 제 6항에 있어서, 상기 지연 시간을 변화시키는 단계는
    상기 채널의 전송 속도가 증가된 경우, 상기 변경된 채널의 전송 속도에서 오버 플로우 및 언더 플로우를 방지하기 위한 상기 수신기의 버퍼의 최적 지연 시간을 계산하는 단계;
    상기 최적 지연 시간을 발생시키는 상기 수신기의 타겟 동작 클럭을 계산하는 단계; 및
    상기 수신기의 동작 클럭을 상기 타겟 동작 클럭으로 점진적으로 증가시키는 단계를 더 포함하는 것을 특징으로 하는 버퍼 제어 방법.
  9. 제 6항에 있어서, 상기 지연 시간을 변화시키는 단계는
    상기 채널의 전송 속도가 감소된 경우, 상기 변경된 채널의 전송 속도에서 오버 플로우 및 언더 플로우를 방지하기 위한 상기 수신기의 버퍼의 최적 지연 시간을 계산하는 단계;
    상기 최적 지연 시간을 발생시키기 위한 상기 수신기의 타겟 동작 클럭을 계산하는 단계; 및
    상기 수신기의 동작 클럭을 상기 타겟 동작 클럭으로 점진적으로 감소시키는 단계를 더 포함하는 것을 특징으로 하는 버퍼 제어 방법.
  10. 제 6항에 있어서,
    상기 수신기의 동작 클럭의 변화에 따라서, 상기 송신기의 버퍼의 사용량을 결정하는 단계; 및
    상기 결정된 송신기의 버퍼의 사용량에 따라서 상기 송신기의 버퍼의 사용량을 변화시키는 단계를 더 포함하는 것을 특징으로 하는 버퍼 제어 방법.
  11. 동영상 전송 시스템에서의 수신 장치에 있어서,
    동영상 데이터를 재생하는 복호화부;
    전송된 동영상 데이터를 저장하고 상기 복호화부로 출력하는 버퍼; 및
    채널의 전송 속도가 변화된 경우, 상기 버퍼의 동작 클럭을 점진적으로 변화시킴으로써 상기 버퍼의 지연 시간을 변화시키는 동작 클럭 제어부를 포함하는 것을 특징으로 하는 수신 장치.
  12. 제 11항에 있어서, 상기 지연 시간은
    상기 버퍼에 저장된 동영상 데이터의 입력 시간과 상기 동영상 데이터가 출 력되는 출력 시간의 차이를 나타내는 것임을 특징으로 하는 수신 장치.
  13. 제 11항에 있어서, 상기 동작 클럭 제어부는
    상기 채널의 전송 속도가 증가된 경우, 상기 변경된 채널의 전송 속도에서 오버 플로우 및 언더 플로우를 방지하기 위한 상기 버퍼의 최적 지연 시간 및 상기 최적 지연 시간을 발생시키는 타겟 동작 클럭을 계산하고, 현재 동작 클럭을 상기 타겟 동작 클럭으로 점진적으로 증가시키는 것을 특징으로 하는 수신 장치.
  14. 제 11항에 있어서, 상기 동작 클럭 제어부는
    상기 채널의 전송 속도가 감소된 경우, 상기 변경된 채널의 전송 속도에서 오버 플로우 및 언더 플로우를 방지하기 위한 상기 버퍼의 최적 지연 시간과, 상기 최적 지연 시간을 발생시키기 위한 타겟 동작 클럭을 계산하고, 현재 동작 클럭을 상기 타겟 동작 클럭으로 점진적으로 감소시키는 것을 특징으로 하는 수신 장치.
KR1020080005335A 2008-01-17 2008-01-17 동영상 전송 시스템의 송신 장치 및 수신 장치, 그 버퍼제어 방법 KR101390192B1 (ko)

Priority Applications (2)

Application Number Priority Date Filing Date Title
KR1020080005335A KR101390192B1 (ko) 2008-01-17 2008-01-17 동영상 전송 시스템의 송신 장치 및 수신 장치, 그 버퍼제어 방법
US12/199,345 US8209731B2 (en) 2008-01-17 2008-08-27 Transmitter and receiver of video transmission system and method for controlling buffers in transmitter and receiver

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020080005335A KR101390192B1 (ko) 2008-01-17 2008-01-17 동영상 전송 시스템의 송신 장치 및 수신 장치, 그 버퍼제어 방법

Publications (2)

Publication Number Publication Date
KR20090079406A true KR20090079406A (ko) 2009-07-22
KR101390192B1 KR101390192B1 (ko) 2014-04-29

Family

ID=40876493

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020080005335A KR101390192B1 (ko) 2008-01-17 2008-01-17 동영상 전송 시스템의 송신 장치 및 수신 장치, 그 버퍼제어 방법

Country Status (2)

Country Link
US (1) US8209731B2 (ko)
KR (1) KR101390192B1 (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111614976A (zh) * 2014-09-12 2020-09-01 松下知识产权经营株式会社 发送装置、接收装置、发送方法以及接收方法

Families Citing this family (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20100226428A1 (en) * 2009-03-09 2010-09-09 Telephoto Technologies Inc. Encoder and decoder configuration for addressing latency of communications over a packet based network
US20100226444A1 (en) * 2009-03-09 2010-09-09 Telephoto Technologies Inc. System and method for facilitating video quality of live broadcast information over a shared packet based network
US8634300B2 (en) * 2009-08-31 2014-01-21 Hewlett-Packard Development Company, L.P. Reducing communication delay of video data
US8291460B1 (en) * 2010-02-12 2012-10-16 Adobe Systems Incorporated Rate adaptation based on dynamic performance monitoring
US8615160B2 (en) 2010-06-18 2013-12-24 Adobe Systems Incorporated Media player instance throttling
US8474000B2 (en) 2010-08-17 2013-06-25 Hewlett-Packard Development Company, L.P. Managing upstream bandwidth
JP2012222604A (ja) * 2011-04-08 2012-11-12 Sony Corp データ読み出し装置、データ読み出し方法、並びにプログラム
US9380635B2 (en) * 2012-01-09 2016-06-28 Google Technology Holdings LLC Dynamic TCP layer optimization for real-time field performance
WO2018129102A1 (en) * 2017-01-03 2018-07-12 Ayre Acoustics, Inc. System and method for improved transmission of digital data
KR102672193B1 (ko) * 2018-12-12 2024-06-07 에스케이하이닉스 주식회사 전자 장치
US10896021B2 (en) 2019-02-26 2021-01-19 Nvidia Corporation Dynamically preventing audio underrun using machine learning

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR960003456B1 (ko) * 1994-01-18 1996-03-13 대우전자주식회사 적응적 부호화 및 복호화 기능을 갖는 디지탈 오디오 부호화 및 복호화 장치의 버퍼 크기 예측방법
KR100238261B1 (ko) 1994-12-31 2000-01-15 윤종용 가변 비트율 복호화장치
US7016970B2 (en) * 2000-07-06 2006-03-21 Matsushita Electric Industrial Co., Ltd. System for transmitting stream data from server to client based on buffer and transmission capacities and delay time of the client
US20030066094A1 (en) * 2001-09-29 2003-04-03 Koninklijke Philips Electronics N.V. Robust method for recovering a program time base in MPEG-2 transport streams and achieving audio/video sychronization
KR101090440B1 (ko) * 2003-12-08 2011-12-06 삼성전자주식회사 데이터 통신 시스템의 수신기에서 버퍼 데이터량 조정장치및 방법, 적응적 클럭 동기부를 갖는 실시간 데이터재생장치 및 방법
KR100556748B1 (ko) * 2003-12-17 2006-03-10 엘지전자 주식회사 스트리밍 데이터의 동적 버퍼 관리 방법
KR20050099883A (ko) * 2004-04-12 2005-10-17 이승룡 네트워크 혼잡 적응 버퍼링 방법
JPWO2006040827A1 (ja) * 2004-10-15 2008-05-15 三菱電機株式会社 送信装置、受信装置、並びに再生装置

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111614976A (zh) * 2014-09-12 2020-09-01 松下知识产权经营株式会社 发送装置、接收装置、发送方法以及接收方法
CN111614976B (zh) * 2014-09-12 2022-05-24 松下知识产权经营株式会社 发送装置、接收装置、发送方法以及接收方法

Also Published As

Publication number Publication date
KR101390192B1 (ko) 2014-04-29
US20090185625A1 (en) 2009-07-23
US8209731B2 (en) 2012-06-26

Similar Documents

Publication Publication Date Title
KR101390192B1 (ko) 동영상 전송 시스템의 송신 장치 및 수신 장치, 그 버퍼제어 방법
KR100750669B1 (ko) 멀티미디어 스트리밍 방법 및 장치
RU2367011C2 (ru) Устройство и способ передачи сигналов с упреждающей адаптацией скорости
US7571246B2 (en) Media transrating over a bandwidth-limited network
US8873928B2 (en) Audio and video synchronization apparatus and method in wireless communication network
CN1825955B (zh) 通过监视客户机缓冲区的丰度来检测网络化设备中的时钟漂移
US7111058B1 (en) Server and method for transmitting streaming media to client through a congested network
WO2013099122A1 (en) Apparatus and method for synchronized transmission of multimedia content over an asynchronous network
CN103888381A (zh) 用于控制抖动缓冲器的装置和方法
KR20140025572A (ko) 다중경로 레이트 적응
JP2002064473A (ja) ワイヤレス画像データを送信するパケット・データ送信システム
JP2006345523A (ja) 誤り訂正パケットを用いた伝送率制御方法およびそれを用いた通信装置
US7627071B2 (en) Timing synchronization module and method for synchronously playing a media signal
JP2002319991A (ja) 映像または音声伝送システム
CN105430453A (zh) 媒体数据采集方法、媒体终端及在线音乐教学系统
JP5335354B2 (ja) 情報送信装置、情報送信装置の制御方法及びコンピュータプログラム
JP5440839B2 (ja) 情報処理装置および方法、並びにプログラム
US8259575B2 (en) Internet network apparatus and method of transferring data using the same
JP2006033884A (ja) 画像データ送受信システムの受信側装置及びそのプログラムを記憶した記憶媒体
JP2007124197A (ja) 受信機、通信方法、送受信システム
JP2006148227A (ja) クロック同期装置およびプログラム
US20100220234A1 (en) Image/sound supply apparatus, image/sound supply method, and computer program product
JP2006332967A (ja) データ伝送装置
JP2019211638A (ja) 処理装置、出力装置、同期制御システム、及びこれらの制御方法、並びにプログラム
JP2011172162A (ja) 受信装置、送信装置、通信システム及び通信方法並びにプログラム

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
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: 20170330

Year of fee payment: 4

FPAY Annual fee payment

Payment date: 20180329

Year of fee payment: 5

LAPS Lapse due to unpaid annual fee