KR100770906B1 - 비디오 패킷의 출력 비트레이트 조절 방법 및 장치 - Google Patents

비디오 패킷의 출력 비트레이트 조절 방법 및 장치 Download PDF

Info

Publication number
KR100770906B1
KR100770906B1 KR1020060013012A KR20060013012A KR100770906B1 KR 100770906 B1 KR100770906 B1 KR 100770906B1 KR 1020060013012 A KR1020060013012 A KR 1020060013012A KR 20060013012 A KR20060013012 A KR 20060013012A KR 100770906 B1 KR100770906 B1 KR 100770906B1
Authority
KR
South Korea
Prior art keywords
packet
value
bit rate
output
fraction
Prior art date
Application number
KR1020060013012A
Other languages
English (en)
Other versions
KR20070081230A (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 KR1020060013012A priority Critical patent/KR100770906B1/ko
Priority to US11/593,905 priority patent/US7623470B2/en
Publication of KR20070081230A publication Critical patent/KR20070081230A/ko
Application granted granted Critical
Publication of KR100770906B1 publication Critical patent/KR100770906B1/ko

Links

Images

Classifications

    • 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
    • HELECTRICITY
    • H02GENERATION; CONVERSION OR DISTRIBUTION OF ELECTRIC POWER
    • H02JCIRCUIT ARRANGEMENTS OR SYSTEMS FOR SUPPLYING OR DISTRIBUTING ELECTRIC POWER; SYSTEMS FOR STORING ELECTRIC ENERGY
    • H02J7/00Circuit arrangements for charging or depolarising batteries or for supplying loads from batteries
    • H02J7/0013Circuit arrangements for charging or depolarising batteries or for supplying loads from batteries acting upon several batteries simultaneously or sequentially
    • HELECTRICITY
    • H02GENERATION; CONVERSION OR DISTRIBUTION OF ELECTRIC POWER
    • H02JCIRCUIT ARRANGEMENTS OR SYSTEMS FOR SUPPLYING OR DISTRIBUTING ELECTRIC POWER; SYSTEMS FOR STORING ELECTRIC ENERGY
    • H02J7/00Circuit arrangements for charging or depolarising batteries or for supplying loads from batteries
    • H02J7/0042Circuit arrangements for charging or depolarising batteries or for supplying loads from batteries characterised by the mechanical construction
    • HELECTRICITY
    • H02GENERATION; CONVERSION OR DISTRIBUTION OF ELECTRIC POWER
    • H02JCIRCUIT ARRANGEMENTS OR SYSTEMS FOR SUPPLYING OR DISTRIBUTING ELECTRIC POWER; SYSTEMS FOR STORING ELECTRIC ENERGY
    • H02J7/00Circuit arrangements for charging or depolarising batteries or for supplying loads from batteries
    • H02J7/02Circuit arrangements for charging or depolarising batteries or for supplying loads from batteries for charging batteries from ac mains by converters
    • 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

Landscapes

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

Abstract

본 발명은 트랜스포트 스트림(Transport Stream: TS) 패킷의 출력 비트레이트 조절 방식에 있어서, TS 패킷을 처리하는 TS처리부와; TS처리부에서 처리된 TS 패킷들을 출력하기 위해 버퍼링하는 출력버퍼와; TS처리부에 의해 요구되는 비트레이트에 따른 패킷당 출력 시간의 카운팅 값을 틱(tick)에 따라 미리 설정된 기준 자릿수에 의해 정수부와 소수부로 구분하여 저장하며, 틱에 따른 제1카운트를 수행한 값이 정수부의 값에 도달하면 출력버퍼에 저장된 하나의 TS 패킷을 출력하기 위한 TS 패킷 출력신호를 발생한 후 제1카운트 값을 리셋하며, TS 패킷 출력신호 발생시마다 분수부의 값만큼 증가하여 제2카운트를 수행한 값이 캐리가 발생하면 제1카운트를 1감소시키는 비트레이트 조절부를 구비한다.
TS, MPEG-2, 패킷, 비트레이트, 조절

Description

비디오 패킷의 출력 비트레이트 조절 방법 및 장치{VIDEO BIT-RATE ADJUSTMENT METHOD AND APPARATUS}
도 1a, 1b는 종래의 비디오 패킷의 비트레이트 조절 방식들의 예시도
도 2는 본 발명의 일 실시예에 따른 비디오 패킷의 출력 비트레이트 조절 장치의 블록 구성도
도 3은 도 2의 비디오 패킷 출력 비트레이트 조절 동작의 흐름도
도 4는 도 2의 비디오 패킷 출력 비트레이트 조절을 위한 메인 틱 레지스터와 프랙션 레지스터 값의 예시도
도 5는 도 2의 프랙션 카운터의 캐리 발생 상태 예시도
도 6은 도 2의 비디오 패킷 출력 타이밍의 예시도
본 발명은 비디오 전송에 가장 많이 사용되고 있는 MPEG-2(Moving Picture Experts Group - 2) 시스템의 트랜스포트 스트림(transport stream)을 패킷(packet) 단위로 출력할 때 사용자가 원하는 비트레이트를 효율적이고 정확하게 구현하기 위한 비디오 패킷의 출력 비트레이트 조절 방법 및 장치에 관한 것이다.
최근 들어, 케이블 TV 또는 위성 TV 네트워크 등과 같은 광대역 통신시스템을 통한 디지털 비디오 데이터의 전송이 더욱 대중화되어가고 있다. 특히 디지털방송은 위성/지상파/케이블 등 방송의 전송매체와 상관없이 널리 보급되고 있다. 디지털방송 등의 소스 비디오/오디오 데이터의 경우 그 데이터의 양이 매우 방대하여 통상 압축기술이 적용된다. 이때 통상 MPEG 압축기술이 널리 적용되고 있다. 압축을 위한 MPEG에는 MPEG-1/2/4등 여러 가지가 사용되고 있으며 현재 MPEG-2가 보급되고 있고 일부 응용프로그램에서는 MPEG-4도 이미 상용화되고 있는 상황이다.
압축방법에 상관없이 전송 계층에서는 MPEG-2 전송을 위해 만들어진 표준인 MPEG-2 트랜스포트 스트림(TS: Transport Stream)이 대부분 사용하고 있으며, 이때 트랜스포트 스트림은 적절한 고정 전송속도(CBR: Constant Bit Rate) 또는 가변 전송속도(VBR: Variable Bit Rate)로 전송될 수 있다.
비디오 패킷의 출력 비트레이트 조절을 위한 종래 방식으로는, (1) "Implementation of a New MPEG-2 Transport Stream Processor for Digital Television Broadcasting, IEEE TRANSACTIONS ON BROADCASTING, VOL. 48, NO. 4, DECEMBER 2002"와, (2) "Implementation of MPEG-2 Transport Stream Remultiplexer for DTV Broadcasting, IEEE Transactions on Consumer Electronics, Vol. 48, No. 2, MAY 2002"를 들 수 있다.
상기 종래 방식 중 (1)번의 기술은 MPEG-2 TS 비디오패킷의 전송에 있어서 출력되는 비디오의 비트레이트를 1.5Mbps에서 120Mbps까지 가변이 가능하지만 이는 도 1a와 같이, 외부에서 입력되는 두 클럭 "Clock1/Clock2"과 같이 외부 클럭 " External Clock"에 의해 결정되게 된다. 이 경우 클럭을 가변시키기 위하여 외부에 별도의 가변 클럭 소스(clock source)가 필요하게 되므로 비효율적이다. 이는 종래 방식 중 (2)번 기술에서도 유사하다. (2)번 기술의 경우 도 1b에 도시된 바와 같이, 별도의 DDS(Direct Digital Synthesizer) 칩 "AD9860"을 사용하여 출력 인터페이스(output interface)용 클럭을 생성한다. 이 또한 MPEG-2 TS 패킷 프로세싱 로직을 구동하기 위한 클럭과 별도로 출력 인터페이스용으로 크리스털 오실레이터(crystal oscillator, "XTAL OSC")와 같은 클럭 소스와 이를 이용하여 새로운 클럭을 생성하기 위한 DDS칩 및 저역필터 "LOW-PASS FILTER" 등의 주변회로가 필요하게 되고 DDS칩을 제어하기 위해 프로세서(processor)로부터의 데이터 버스(data bus)도 연결이 되어야하므로 회로가 복잡해지는 단점을 가지고 있다. 또한 동작 중에 클럭을 가변하려면 출력 인터페이스를 초기화해야 하므로 데이터의 손실을 초래한다.
따라서, 본 발명의 목적은 MPEG-2 TS로 이루어진 비디오 데이터를 출력할 때 종래기술과 같은 외부의 부가적인 하드웨어의 추가나 별도의 클럭을 사용하지 않고 간단한 구성으로 정밀하게 비트레이트 조절을 하기 위한 비디오 패킷의 출력 비트레이트 조절 방법 및 장치를 제공함에 있다.
상기한 목적을 달성하기 위하여 본 발명의 일 양상은 트랜스포트 스트림(Transport Stream: TS) 패킷의 출력 비트레이트 조절 장치에 있어서, 상기 TS 패킷을 처리하는 TS처리부와; 상기 TS처리부에서 처리된 TS 패킷들을 출력하기 위해 버퍼링하는 출력버퍼와; 상기 TS처리부에 의해 요구되는 비트레이트에 따른 패킷당 출력 시간의 카운팅 값을 틱(tick)에 따라 미리 설정된 기준 자릿수에 의해 정수부와 소수부로 구분하여 저장하며, 틱에 따른 제1카운트를 수행한 값이 상기 정수부의 값에 도달하면 상기 출력버퍼에 저장된 하나의 TS 패킷을 출력하기 위한 TS 패킷 출력신호를 발생한 후 제1카운트 값을 리셋하며, 상기 TS 패킷 출력신호 발생시마다 상기 소수부의 값만큼 증가하여 제2카운트를 수행한 값이 캐리가 발생하면 제1카운트를 1감소시키는 비트레이트 조절부를 구비함을 특징으로 한다.
본 발명의 다른 양상은 트랜스포트 스트림(Transport Stream: TS) 패킷의 출력 비트레이트 조절 방법에 있어서, 요구되는 비트레이트로부터 패킷당 출력 시간의 카운팅 값을 틱(tick)에 따라 미리 설정된 기준 자릿수에 의해 정수부와 소수부로 구분하여 메인틱 레지스터의 값과 프랙션 레지스터의 값을 설정하는 과정과; 메인 카운터를 1틱마다 하나씩 증가시키는 카운트 동작을 수행하는 과정과; 상기 메인 카운터의 카운트 값이 상기 메인틱 레지스터의 값에 도달하면 TS 패킷을 한개 출력하며 상기 메인 카운터를 리셋하여 상기 카운트 동작을 재수행하도록 하는 과정과; 상기 패킷 전송시 프랙션 카운터의 값을 상기 프랙션 레지스터에 저장된 값만큼 증가시키며, 상기 프랙션 카운터에 오버플로우(overflow)에 의해 캐리(carry) 발생하면 상기 메인 카운터의 값을 1만큼 감소시키는 과정을 포함함을 특징으로 한다.
이하 본 발명에 따른 바람직한 실시예를 첨부한 도면을 참조하여 상세히 설명한다. 하기 설명에서는 구체적인 구성 소자 등과 같은 특정 사항들이 나타나고 있는데 이는 본 발명의 보다 전반적인 이해를 돕기 위해서 제공된 것일 뿐 이러한 특정 사항들이 본 발명의 범위 내에서 소정의 변형이나 혹은 변경이 이루어질 수 있음은 이 기술분야에서 통상의 지식을 가진 자에게는 자명하다 할 것이다.
도 2는 본 발명의 일 실시예에 따른 비디오 패킷의 출력 비트레이트 조절 장치의 블록 구성도이다. 도 2를 참조하면, 본 발명의 일 실시예에 따른 출력 비트레이트 조절 장치는 MPEG-2 TS를 처리하는 TS처리부(10)와; TS처리부(10)에서 처리된 TS 패킷들을 출력하기 위해 버퍼링하는 출력버퍼(14)와; TS처리부(14)에 의해 요구되는 비트레이트에 따른 패킷당 출력 시간의 카운팅 값을 틱(tick)에 따라 미리 설정된 기준 자릿수에 의해 정수부와 소수부로 구분하여 저장하며, 틱에 따른 제1카운트를 수행한 값이 정수부의 값에 도달하면 출력버퍼(14)에 저장된 하나의 TS 패킷을 출력하기 위한 TS 패킷 출력신호를 발생한 후 제1카운트 값을 리셋하며, TS 패킷 출력신호 발생시마다 소수부의 값만큼 증가하여 제2카운트를 수행한 값이 캐리가 발생하면 제1카운트를 1감소시키는 비트레이트 조절부(20)를 구비하며; 이외에도 사용자로부터 원하는 비트레이트를 입력받기 위한 사용자인터페이스(12)를 구비한다.
상기 비트레이트 조절부(20)는 TC 패킷당 출력 시간의 카운팅 값을 틱에 따라 미리 설정된 기준 자릿수에 의해 각각 정수부와 소수부로 구분하여 저장하는 프 로그램 가능한 메인틱 레지스터(main tick register: 22) 및 프랙션 레지스터(fraction register: 24)와, 제1, 제2카운트를 각각 수행하는 메인 카운터(26) 및 프랙션 카운터(28)로 구성될 수 있다.
MPEG-2 트랜스포트 스트림(TS)을 다루는 장비 및 칩셋들은 MPEG-2 TS의 데이터 레이트가 높고 표준이 이미 확정이 되었기 때문에 주로 하드웨어로 구현된다. 본 발명에서 상기 TS처리부(10)는 이러한 MPEG-2 TS를 처리하는 TS 프로세서, 스플리터(splitter), 리멀티플렉서(remultiplexer), 제너레이터(generator) 등에 모두 적용될 수 있다. 이와 같은 기능부(또는 응용프로그램)에서 처리된 TS 패킷들은 출력되기 전에 버퍼(예를 들어 출력버퍼 14)에 저장이 되며, 이를 사용자가 원하는 비트레이트로 출력하기 위하여 본 발명에서는 상기와 같이 2개의 레지스터와 2개의 카운터로 구성되는 비교적 간단한 구조의 비트레이트 조절부(20)를 추가로 구비하게 된다.
도 3은 도 2의 비디오 패킷 출력 비트레이트 조절 동작의 흐름도이다. 도 3을 참조하면, 사용자가 원하는 비트레이트로 TS 패킷을 출력하기 위하여 결정한 비트레이트를 적절히 미리 마련된 사용자인터페이스(12)를 통해 입력하면 TS처리부(10)는 302단계에서 이를 입력받아, 이후 303단계에서 이 비트레이트로부터 패킷당 출력 시간의 카운팅 값을 틱(tick)에 따라 미리 설정된 기준 자릿수, 예를 들어 usec에 의해 정수부와 소수부로 구분하여 메인틱 레지스터(22)의 값과 프랙션 레지스터(24)의 값을 설정하는데, 이러한 메인 레지스터(22)의 값과 프랙션 레지스터(24)의 값은 하기 수학식 1에 의해 계산되어질 수 있다.
- Main tick register value = Quotient[Packet Size (1504bits)]/[Basic Time Tick (1x10-6) x Data Rate]
- fraction register value = {[Packet Size (1504bits)]/[Basic Time Tick (1x10-6) x Data Rate] - Quotient[Packet Size (1504bits)]/[Basic Time Tick (1x10-6) x Data Rate]} x 105
상기 수학식 1은 패킷 하나를 전송하는데 필요한 시간을 usec단위로 환산하여 이 값의 정수부는 메인틱 레지스터(22)에 소수점이하 값은 프랙션 레지스터(24)에 저장하도록 각각 분리시킨 것이다.
이와 같이 304단계에서 각각의 레지스터 값을 정해진 비트레이트에 맞추어 셋팅한 이후 306단계에서는 메인 카운터(26)를 1usec마다 하나씩 증가시키는 카운트 동작을 수행한다. 이러한 메인 카운터(26)의 카운트 값이 미리 프로그램된 메인 틱 레지스터(22)의 값에 도달하면 이를 308단계에서 확인하고 이후 310단계로 진행하여 TS 패킷을 한개 출력하며 메인 카운터(26)를 리셋하여 카운트 동작을 재수행 하도록 한다.
이후 312단계에서는 패킷 전송이 발생할 때마다 프랙션 카운터(28)의 값을 프랙션 레지스터(24)에 저장된 값만큼 증가시킨다. 이에 따라 프랙션 카운터(28)의 값은 패킷 전송이 발생할 때마다 프랙션 레지스터(24)의 값만큼 증가된다.
이후 프랙션 카운터(28)에 오버플로우(overflow)에 의해 캐리(carry) 발생되는지를 314단계에서 확인하여 오버플로우가 발생하지 않으면 상기 306단계로 진행하여 상기의 과정을 반복 진행하며, 오버플로우가 발생하면 이후 316단계로 진행하여 메인 카운터(26)의 값을 1만큼 감소시키고 프랙션 카운터(28)의 캐리를 리셋시킨 다음 상기 306단계로 진행하여 상기의 과정을 반복 진행한다.
상기한 동작에서 프랙션 카운터(28)가 오버플로우되는 조건은 상기 수학식 1에서 얼마나 정밀하게 계산하는가에 달려 있다. 예를 들어 상기 수학식 1에서는 소수점 다섯째 자리까지 계산하였다면 프랙션 레지스터(24)에 저장시킬 수 있는 최대값은 99999가 되고 프랙션 카운터(28)가 이 값에 도달하면 오버플로우가 발생한다.
도 4는 도 2의 비디오 패킷 출력 비트레이트 조절을 위한 메인 틱 레지스터와 프랙션 레지스터 값의 예시도로서, 데이터 레이트별로 메인틱 레지스터(22)와 프랙션 레지스터(24) 값을 예시한다. 도 4를 참조하면, 30.08Mbps로 TS 패킷을 출력하고자 할 경우에는 초당 20,000 패킷을 출력하여야 하며, 이는 한 패킷을 출력하는데 소요되는 시간이 50usec라는 것과 마찬가지이다. 따라서 상기 수학식 1에 의하여 메인틱 레지스터(22) 값은 50이 되고 프랙션 레지스터(24) 값은 0이 된다. 또한 도 4의 예에서는 30.285Mbps로 TS 패킷을 출력하고자 할 경우에는 초당 20136.30319의 패킷을 출력하여야 하며, 한 패킷을 출력하는데 소요되는 시간은 49.66155usec이고, 이에 따라 메인틱 레지스터(22) 값은 49이며 프랙션 레지스터(24) 값은 66155(decimal)(hex값은 1026B)가 됨을 알 수 있다.
도 5는 도 2의 프랙션 카운터의 캐리 발생 상태 예시도로서, 도 5에서는 예를 들어 비트레이트가 30.285Mbps 경우 메인 카운터(26)에 의하여 패킷이 출력될 때마다 프랙션 카운터(28) 값은 현재 프랙션 레지스터(24) 값인 66155만큼 증가하며, 이에 따른 캐리 발생 상태가 도시되고 있다. 이때 캐리가 발생하면 이 캐리에 의하여 메인 카운터(26)의 값이 감소하여 패킷 전송간의 간격이 변하며 이는 비트레이트를 변화시키게 된다.
도 6은 도 2의 비디오 패킷 출력 타이밍의 예시도로서, 도 6의 (1)에서는 예를 들어, 비트레이트가 30.08Mbps, 메인틱 레지스터(22) 값이 50, 프랙션 레지스터(24) 값은 0이 경우의 패킷 출력 타이밍이 도시되며, 도 6의 (2)에서는 예를 들어, 비트레이트가 30.285Mbps, 메인틱 레지스터(22) 값은 49, 프랙션 레지스터(24) 값은 66155(decimal)(hex값은 1026B)인 경우에 패킷 출력 타이밍의 도시되고 있다.
도 6에 도시된 바와 같이, 도 6의 (1)의 경우에는 패킷이 정확히 50 틱(즉 50usec)마다 출력됨이 도시고 있지만, 도 6의 (2)의 경우에는 패킷 49틱 또는 50틱 간격으로 출력됨이 도시된다. 도 6의 (2)의 경우에는, 먼저 첫 번째 패킷은 메인 카운터(26)의 카운트에 의해 49틱 이후에 발생하며, 이에 따른 프랙션 카운터(28)의 값은 66155이다. 이때 캐리가 발생되지 않았으므로, 두 번째 패킷은 마찬가지로 49틱 이후에 발생하며, 이에 따른 프랙션 카운터(28)의 값은 132310이다. 이때 캐리가 발생되었으므로 메인 카운터(26)의 카운트 값은 1감소하게 되며, 이에 따라 세 번째 패킷은 50틱 이후에 발생하게 된다.
이러한 과정에 의해 가변적인 비트레이트에 따른 패킷 출력의 정밀한 제어가 가능하게 된다. 물론 상기의 동작에서 비트레이트가 30.285Mbps일 경우에 매 패킷은 수치적으로는 49.66155usec간격으로 출력되어야 하나, 그와 같은 정밀한 동작의 구현은 매우 어려울 뿐만 아니라 전송 지연 등과 같은 전송 오차를 고려할 경우에 의미가 없게 된다. 상기한 바와 같은 본 발명에 따른 방식은 전송 허용 오차를 만족시키면서도, 요구하는 비트레이트를 충족시키게 된다.
상기와 같이 본 발명의 일 실시예에 따른 비디오 패킷의 출력 비트레이트 조절 방식의 구성 및 동작이 이루어질 수 있으며, 한편 상기한 본 발명의 설명에서는 구체적인 실시예에 관해 설명하였으나 여러 가지 변형이 본 발명의 범위를 벗어나지 않고 실시될 수 있다. 따라서 본 발명의 범위는 설명된 실시예에 의하여 정할 것이 아니고 청구범위와 청구범위의 균등한 것에 의하여 정하여져야 할 것이다.
상기한 바와 같이, 종래의 기술은 MPEG-2 TS 패킷의 출력을 제어하여 비트레이트를 제어할 때 물리적인 클럭에 의존하였다. 이로 인해 고정된 비트레이트로만 출력할 수밖에 없으며 비트레이트를 가변하기 위해서는 외부에서 클럭을 변경하거나 클럭을 프로그램할 수 있는 별도의 칩셋을 사용하여야 했다. 본 발명에서는 간단한 카운터들 등을 사용하여 정밀하게 비트레이트를 제어할 수 있게 된다. 실제 구현시 예를 들어 0~80Mbps 범위에서 100bps 해상도(resolution)를 구현하기 위하여 단지 16비트 레지스터 1개, 11비트 카운터 1개, 20비트 레지스터 1개, 21비트 카운터 1개가 필요할 뿐이다. 따라서 본 발명에 따른 비트레이트를 조절 방식은 하드웨어의 큰 가격 상승 없이 정밀한 제어가 가능하다.

Claims (6)

  1. 트랜스포트 스트림(Transport Stream: TS) 패킷의 출력 비트레이트 조절 장치에 있어서,
    상기 TS 패킷을 처리하는 TS처리부와;
    상기 TS처리부에서 처리된 TS 패킷들을 출력하기 위해 버퍼링하는 출력버퍼와;
    상기 TS처리부에 의해 요구되는 비트레이트에 따른 패킷당 출력 시간의 카운팅 값을 틱(tick)에 따라 미리 설정된 기준 자릿수에 의해 정수부와 소수부로 구분하여 저장하며, 틱에 따른 제1카운트를 수행한 값이 상기 정수부의 값에 도달하면 상기 출력버퍼에 저장된 하나의 TS 패킷을 출력하기 위한 TS 패킷 출력신호를 발생한 후 제1카운트 값을 리셋하며, 상기 TS 패킷 출력신호 발생시마다 상기 소수부의 값만큼 증가하여 제2카운트를 수행한 값이 캐리가 발생하면 제1카운트를 1감소시키는 비트레이트 조절부를 구비함을 특징으로 하는 비트레이트 조절 장치.
  2. 제1항에 있어서, 상기 비트레이트 조절부는
    상기 TC 패킷당 출력 시간의 카운팅 값을 상기기준 자릿수에 의해 각각 정수부와 소수부로 구분하여 저장하는 프로그램 가능한 메인틱 레지스터 및 프랙션 레지스터와, 상기 제1, 제2카운트를 각각 수행하는 메인 카운터 및 프랙션 카운터로 구성함을 특징으로 하는 비트레이트 조절 장치.
  3. 제1항 또는 제2항에 있어서,
    사용자로부터 원하는 비트레이트를 입력받기 위한 사용자인터페이스를 더 포함하며,
    상기 TS처리부는 상기 사용자인터페이스를 통해 입력되는 사용자 요구 비트레이트에 따라 상기 비트레이트 조절부에 비트레이트를 요구함을 특징으로 하는 비트레이트 조절 장치.
  4. 제1항 또는 제2항에 있어서, 상기 기준 자릿수는 usec임을 특징으로 하는 비트레이트 조절 장치.
  5. 트랜스포트 스트림(Transport Stream: TS) 패킷의 출력 비트레이트 조절 방법에 있어서,
    요구되는 비트레이트로부터 패킷당 출력 시간의 카운팅 값을 틱(tick)에 따라 미리 설정된 기준 자릿수에 의해 정수부와 소수부로 구분하여 메인틱 레지스터의 값과 프랙션 레지스터의 값을 설정하는 과정과,
    메인 카운터를 1틱마다 하나씩 증가시키는 카운트 동작을 수행하는 과정과,
    상기 메인 카운터의 카운트 값이 상기 메인틱 레지스터의 값에 도달하면 TS 패킷을 한개 출력하며 상기 메인 카운터를 리셋하여 상기 카운트 동작을 재수행하도록 하는 과정과,
    상기 패킷 전송시 프랙션 카운터의 값을 상기 프랙션 레지스터에 저장된 값만큼 증가시키며, 상기 프랙션 카운터에 오버플로우(overflow)에 의해 캐리(carry) 발생하면 상기 메인 카운터의 값을 1만큼 감소시키는 과정을 포함함을 특징으로 하는 비트레이트 조절 방법.
  6. 제5항에 있어서, 상기 기준 자릿수는 usec임을 특징으로 하는 비트레이트 조절 방법.
KR1020060013012A 2006-02-10 2006-02-10 비디오 패킷의 출력 비트레이트 조절 방법 및 장치 KR100770906B1 (ko)

Priority Applications (2)

Application Number Priority Date Filing Date Title
KR1020060013012A KR100770906B1 (ko) 2006-02-10 2006-02-10 비디오 패킷의 출력 비트레이트 조절 방법 및 장치
US11/593,905 US7623470B2 (en) 2006-02-10 2006-11-07 Method and apparatus for adjusting output bit rate of video packet

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020060013012A KR100770906B1 (ko) 2006-02-10 2006-02-10 비디오 패킷의 출력 비트레이트 조절 방법 및 장치

Publications (2)

Publication Number Publication Date
KR20070081230A KR20070081230A (ko) 2007-08-16
KR100770906B1 true KR100770906B1 (ko) 2007-10-26

Family

ID=38368325

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020060013012A KR100770906B1 (ko) 2006-02-10 2006-02-10 비디오 패킷의 출력 비트레이트 조절 방법 및 장치

Country Status (2)

Country Link
US (1) US7623470B2 (ko)
KR (1) KR100770906B1 (ko)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100735312B1 (ko) * 2006-02-14 2007-07-04 삼성전자주식회사 디지털방송 수신기를 구비한 휴대용 단말기에서 데이터처리 방법
US10057346B1 (en) * 2013-12-06 2018-08-21 Concurrent Ventures, LLC System, method and article of manufacture for automatic detection and storage/archival of network video

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR19990050558A (ko) * 1997-12-17 1999-07-05 이계철 전송스트림 다중화부에서의 출력속도 제어 방법
KR20010033572A (ko) * 1998-10-23 2001-04-25 요트.게.아. 롤페즈 네트워크로의 데이터 출력 속도 제어 시스템
JP2005244517A (ja) 2004-02-25 2005-09-08 National Institute Of Information & Communication Technology データ転送制御装置、データ転送制御方法及びデータ転送制御プログラム

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5065408A (en) * 1990-04-26 1991-11-12 Motorola, Inc. Fractional-division synthesizer for a voice/data communications systems
US5276688A (en) * 1990-06-09 1994-01-04 U.S. Philips Corporation Circuit arrangement for bit rate adjustment
ES2102938B1 (es) * 1994-03-28 1998-04-16 Alcatel Standard Electrica Sistema de reduccion de fluctuaciones de fase en demultiplexores digitales.
US6961314B1 (en) * 1998-10-30 2005-11-01 Broadcom Corporation Burst receiver for cable modem system
US6975629B2 (en) * 2000-03-22 2005-12-13 Texas Instruments Incorporated Processing packets based on deadline intervals
EP1320216A1 (en) * 2001-12-11 2003-06-18 BRITISH TELECOMMUNICATIONS public limited company Method and device for multicast transmission
US7298762B2 (en) * 2002-11-15 2007-11-20 Terayon Communication Systems, Inc. Method for sharing an upstream among multiple downstreams
US7113486B2 (en) * 2003-05-01 2006-09-26 Tut Systems, Inc. Method and apparatus for measuring quality of service parameters of networks delivering real time MPEG video

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR19990050558A (ko) * 1997-12-17 1999-07-05 이계철 전송스트림 다중화부에서의 출력속도 제어 방법
KR20010033572A (ko) * 1998-10-23 2001-04-25 요트.게.아. 롤페즈 네트워크로의 데이터 출력 속도 제어 시스템
JP2005244517A (ja) 2004-02-25 2005-09-08 National Institute Of Information & Communication Technology データ転送制御装置、データ転送制御方法及びデータ転送制御プログラム

Also Published As

Publication number Publication date
US7623470B2 (en) 2009-11-24
US20070189183A1 (en) 2007-08-16
KR20070081230A (ko) 2007-08-16

Similar Documents

Publication Publication Date Title
TW477128B (en) Using a receiver model to multiplex variable-rate bit streams having timing constraints
JP7148413B2 (ja) アイソクロナスデータストリームを制御するためのシステムおよび方法
JP4303775B2 (ja) 非同期コード化システムにおける適応性ビットレート制御のための方法および装置
US20150181273A1 (en) Using Timed Transport Stream for Receiver-Side Inter-Device Communication
KR100770906B1 (ko) 비디오 패킷의 출력 비트레이트 조절 방법 및 장치
WO2013179932A1 (ja) 信号処理装置、及び、信号処理方法
US7443213B2 (en) Staged locking of two phase locked loops
US6542550B1 (en) Method for processing and apparatus for encoding or decoding audio or video frame data
US8854964B2 (en) Method and apparatus for determining a transport bit rate for a Multiprogram transport stream
CN103975600B (zh) 用信号发送传输时间和/或系统时钟脉冲的方法及设备
CN105657480B (zh) 一种分数倍调整ts流码率的方法及装置
US7567589B2 (en) Rate generator in a video on demand system having multiple constant bit rate data
CN101984667B (zh) 码率控制方法及码率控制器
US8832338B2 (en) Mechanism for facilitating dynamic timestamp-less clock generation for transmitting media streams over shared channels
CA2465689A1 (en) Efficient software bitstream rate generator for video server
US7603495B2 (en) Method of and device for changing an output rate
EP1020997A2 (en) Method for processing and apparatus for encoding audio or video frame data
Kim et al. An implementation of MPEG-2 transport stream multiplexer
US20130201396A1 (en) System and method to ensure buffer compliance in a mpeg2 transport stream system
KR101031984B1 (ko) 위상 동기 루프들의 단계적 로킹
JP2001177401A (ja) 位相同期回路
de Farias et al. A proposal for clock reference correction in MPEG-2 transport stream processors
KR100249852B1 (ko) 엠펙-2 시스템 목표 복호기 모델을 만족하기 위한 운송 비트열의 비디오 출력 관측 장치
Janiaut et al. Configurable hardware implementation of a conceptual decoder for a real-time MPEG-2 analysis
JP2014150335A (ja) 情報処理装置、情報処理方法及びプログラム

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

Year of fee payment: 6

FPAY Annual fee payment

Payment date: 20130927

Year of fee payment: 7

FPAY Annual fee payment

Payment date: 20140929

Year of fee payment: 8

FPAY Annual fee payment

Payment date: 20150925

Year of fee payment: 9

FPAY Annual fee payment

Payment date: 20160929

Year of fee payment: 10

FPAY Annual fee payment

Payment date: 20170927

Year of fee payment: 11

FPAY Annual fee payment

Payment date: 20181224

Year of fee payment: 12

FPAY Annual fee payment

Payment date: 20191115

Year of fee payment: 13