KR20000035651A - 픽처타입의 선지식이 없는 엠피이지 트랜스코더의비율제어시스템 - Google Patents

픽처타입의 선지식이 없는 엠피이지 트랜스코더의비율제어시스템 Download PDF

Info

Publication number
KR20000035651A
KR20000035651A KR1019990052415A KR19990052415A KR20000035651A KR 20000035651 A KR20000035651 A KR 20000035651A KR 1019990052415 A KR1019990052415 A KR 1019990052415A KR 19990052415 A KR19990052415 A KR 19990052415A KR 20000035651 A KR20000035651 A KR 20000035651A
Authority
KR
South Korea
Prior art keywords
picture
gop
bitstream
estimated
bit
Prior art date
Application number
KR1019990052415A
Other languages
English (en)
Other versions
KR100880055B1 (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 KR20000035651A publication Critical patent/KR20000035651A/ko
Application granted granted Critical
Publication of KR100880055B1 publication Critical patent/KR100880055B1/ko

Links

Classifications

    • 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/236Assembling of a multiplex stream, e.g. transport stream, by combining a video stream with other content or additional data, e.g. inserting a URL [Uniform Resource Locator] into a video stream, multiplexing software data into a video stream; Remultiplexing of multiplex streams; Insertion of stuffing bits into the multiplex stream, e.g. to obtain a constant bit-rate; Assembling of a packetised elementary stream
    • H04N21/2365Multiplexing of several video streams
    • H04N21/23655Statistical multiplexing, e.g. by controlling the encoder to alter its bitrate to optimize the bandwidth utilization
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/103Selection of coding mode or of prediction mode
    • H04N19/114Adapting the group of pictures [GOP] structure, e.g. number of B-frames between two anchor frames
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/146Data rate or code amount at the encoder output
    • H04N19/152Data rate or code amount at the encoder output by measuring the fullness of the transmission buffer
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/157Assigned coding mode, i.e. the coding mode being predefined or preselected to be further used for selection of another element or parameter
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/157Assigned coding mode, i.e. the coding mode being predefined or preselected to be further used for selection of another element or parameter
    • H04N19/159Prediction type, e.g. intra-frame, inter-frame or bidirectional frame prediction
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/17Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object
    • H04N19/172Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object the region being a picture, frame or field
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/177Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being a group of pictures [GOP]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/40Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using video transcoding, i.e. partial or full decoding of a coded input stream followed by re-encoding of the decoded output stream
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/503Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
    • H04N19/51Motion estimation or motion compensation
    • H04N19/577Motion compensation with bidirectional frame interpolation, i.e. using B-pictures
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/60Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding
    • H04N19/61Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding in combination with predictive coding

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)
  • Detection And Prevention Of Errors In Transmission (AREA)
  • Television Signal Processing For Recording (AREA)

Abstract

본 발명의 비율제어시스템은 MPEG표준에 맞는 디지털 비디오 트랜스코더에 사용하는데 적합하다. 또한, 본 발명의 비율제어시스템은 어떤 적절한 추정된 GOP 파라메터의 세트에 따라 코딩을 개시함으로써, 미리 압축된 비트스트림으로부터 완전한 GOP구조 정보를 추출시키지 않고 대략 하나의 GOP의 처리지연을 피한다. 또한, 상기 시스템은 GOP에 대응하는 데이터를 저장할 필요가 없기 때문에, 트랜스코딩을 위해 요구된 메모리가 감소된다. 다음 픽처의 픽처타입의 선지식이 없는 시퀀스의 첫번째 픽처 또는 GOP의 인코딩을 시작한다. 인코딩 비트 버짓을 결정하기 위해 적절한 GOP 파라메터 세트가 추정된다. 비트 버짓은 픽처타입에 따라 연속픽처가 코딩되어 점차적으로 정정된다. 미리 압축된 비트스트림의 GOP구조의 변경은, 예컨대 채널 스위칭, 광고방송 삽입 등의 경우에 어드레스 될 수 있다. 부정확한 개시 GOP 파라메터에 따른 타겟율은 소수의 GOP내에 집중될 수 있다.

Description

픽처타입의 선지식이 없는 엠피이지 트랜스코더의 비율제어시스템{RATE CONTROL FOR AN MPEG TRANSCODER WITHOUT A PRIORI KNOWLEDGE OF PICTURE TYPE}
본 발명은, GOP(Group of picture)에서의 픽처타입의 선지식이 없는 GOP의 연속픽처를 인코딩하기 위해 비트를 할당하는 방법 및 디지털 비디오 트랜스코더에 관한 것이다.
MPEG와 같은 디지털 비디오 코딩 표준의 경우, 입력픽처는 3개의 다른 픽처타입, 즉 I, P 및 B로 코딩될 수 있다. 그 3개의 픽처는 그들의 시간적인 처리의 다른 특성 때문에, 인코딩을 위해 상당히 다른 비트수를 필요로 한다. 따라서, 인텔리전트(intelligent) 비트 할당방법은 픽처의 타입에 따라 인코딩하기 위해 다수의 비트를 할당한다. 이것은 주어진 비트 버짓(budget)을 위한 픽처타입의 선지식(priori knowledge)의 요구를 수반한다. 이 요구는, 인코더가 각 입력픽처에 대한 픽처타입을 결정할 수 있는 독립형 인코더에 대한 문제는 아니다.
사실, 인코더는 입력픽처의 타입에 앞서 설계할 수 있다. 반대로, 트랜스코더(transcoder)는 사실상 픽처를 처리하기 전에 픽처의 타입을 고려하는 선지식을 갖지 않는다. 이것은 트랜스코더로 픽처를 인코딩하기 위해 다수의 전용비트를 할당하는데 어려움을 야기한다.
따라서, 픽처타입의 선지식이 없는 트랜스코더로 픽처를 인코딩하기 위해 비트를 할당하는 방법 및 장치를 갖출 필요가 있다. 그 시스템은 미리 압축된 비트스트림으로부터 완전한 GOP구조 정보를 추출시키지 않고 대략 하나의 GOP의 처리지연을 피할 수 있다. 또한, 상기 시스템은 GOP에 대응하는 데이터를 저장할 필요가 없기 때문에, 트랜스코딩을 위해 요구된 메모리가 감소된다.
또한, 상기 시스템은 가변 비트율(variable bit rate)과 일정 비트율(constant bit rate) 비트스트림 모두에 잘 조화될 수 있다.
더욱이, 상기 시스템은 통계적 멀티플렉싱과 리멀티플렉싱 시스템과 호환될 수 있다.
본 발명은 상술한 장점과 또 다른 장점을 갖는 장치 및 방법을 제공한다.
본 발명은 상기한 점을 감안하여 이루어진 것으로, GOP에서의 픽처타입의 배열의 선지식이 없는 GOP에서의 연속픽처를 인코딩하기 위해 비트를 할당하는 방법 및 디지털 비디오 트랜스코더를 제공하는 것에 그 목적이 있다.
도 1a는 디스플레이 순서로 연속 GOP에 대한 픽처의 프로그래시브 리프레쉬 시퀀스를 나타낸 도면,
도 1b는 인코딩 순서로 도 1a의 픽처의 시퀀스를 나타낸 도면,
도 2a는 디스플레이 순서로 다음에 연속 GOP가 이어지는 비트스트림의 초기 GOP에 대한 픽처의 프로그래시브 리프레쉬 시퀀스를 나타낸 도면,
도 2b는 인코딩 순서로 도 2a 픽처의 시퀀스를 나타낸 도면,
도 3은 MPEG-2 비트스트림 구조를 나타낸 도면,
도 4a는 본 발명에 따른 프로그래시브 리프레쉬 픽처 시퀀스의 코딩방법을 나타낸 도면,
도 4b는 본 발명에 따른 비-프로그래시브 리프레쉬 픽처 시퀀스의 코딩방법을 나타낸 도면,
도 4c는 본 발명에 따른 도 4b의 코딩방법을 계속 나타낸 도면,
도 5는 본 발명에 따른 추정된 GOP길이(N″)를 나타낸 도면,
도 6은 본 발명에 따른 비율제어시스템을 나타낸 도면,
도 7a~7d는 본 발명을 수행하기 위한 C언어 플로우챠트를 나타낸 도면이다.
상기한 과제를 해결하기 위한 본 발명의 디지털 비디오 트랜스코더에서 수신된 비트스트림에서의 픽처의 프로그래시브 리프레쉬 시퀀스(progressive refresh sequence)를 코딩하기 위해 비트를 할당하는 방법은, (a) 비트스트림의 첫번째 픽처와 비트스트림의 다음에 가장 가까운 다음의 P-픽처(디스플레이 순서로)간 추정거리(M′)를 제공하는 단계와, (b) 상기 추정거리(M′)의 펑크션(function)으로서 추정된 비트 버짓을 제공하는 단계, (c) 상기 추정된 비트 버짓에 따라 첫번째 픽처를 코딩하는 단계, (d) 상기 비트스트림의 첫번째 픽처 다음에 곧바로 이어지는 두번째 픽처의 픽처타입을 결정하는 단계, (e) 상기 두번째 픽처의 픽처타입에 따라 상기 추정된 비트 버짓을 조절하는 단계 및, (f) 상기 조절된 비트 버짓에 따라 상기 두번째 픽처를 코딩하기 위해 비트를 할당하는 단계를 구비하여 이루어진다.
따라서, 픽처를 코딩하기 위한 비트 버짓은 초기에 첫번째 픽처를 위해 추정되고, 그 비트 버짓은 공지된 두번째 픽처타입에 따라 갱신된다. 비트 버짓에 따라 각각의 픽처를 코딩하기 위해 타겟(target) 비트수가 할당된다. 일반적으로, 첫번째 및 두번째 픽처는 시퀀스에서의 픽처의 분배를 나타낸다.
상기 추정된 비트 버짓은 비트스트림의 비트율과 추정거리에 비례하고, 비트스트림의 프레임율에 반비례 한다.
비트스트림의 픽처는 GOP구조를 갖지 않는 프로그래시브 리프레쉬 시퀀스를 형성한다.
1.1 다음에 B-픽처가 이어지는 P-픽처:
첫번째 픽처가 P-픽처이고 두번째 픽처가 B-픽처일 경우, 상기 방법은 첫번째 픽처의 픽처타입과 두번째 픽처의 픽처타입에 따라 첫번째 픽처와 다음에 가장 가까운 다음의 P-픽처(디스플레이 순서로)간 실제 거리(M″)를 결정하는 단계를 더 구비하여 이루어진다.
상기 실제 거리(M″)는 비트스트림의 디스플레이 순서로 첫번째 픽처의 시간적인 레퍼런스(temporal reference)와 디스플레이 순서로 1개의 픽처를 플러스 하는 두번째 픽처의 시간적인 레퍼런스간의 차에 따라 결정된다.
또한, 상기 방법은 상기 조절된 비트 버짓에 따라 상기 첫번째 픽처 다음에 이어지는 나머지 M″-1픽처를 코딩하기 위해 비트를 할당하는 단계를 더 구비하여 이루어진다.
추정된 비트 버짓은 상기 조절단계(f)에서 +(M″-M′)*"비트율"/"프레임율"에 의해 조절되며, 상기 "비트율"은 비트스트림의 비트율이고, "프레임율"은 상기 비트스트림의 프레임율이다.
1.2 다음에 P-픽처가 이어지는 P-픽처:
첫번째 및 두번째 픽처가 P-픽처일 경우, 상기 방법은 첫번째 픽처의 픽처타입과 두번째 픽처의 픽처타입에 따라 첫번째 픽처와 다음에 가장 가까운 다음의 P-픽처(디스플레이 순서로)간 실제 거리(M″)를 결정하는 단계를 더 구비하여 이루어진다. 상기 실제 거리(M″)는 두번째 픽처의 시간적인 레퍼런스와 첫번째 픽처의 시간적인 레퍼런스간의 차에 따라 결정된다. 상기 시간적인 레퍼런스는 비트스트림의 디스플레이 순서로 결정된다.
추정된 비트 버짓은 상기 조절단계(f)에서 -(M′-1)*"비트율"/"프레임율"에 의해 조절되며, 상기 "비트율"은 비트스트림의 비트율이고, 상기 "프레임율"은 비트스트림의 프레임율이다.
또한, 상기 방법은 조절된 비트 버짓에 따라 비트스트림의 첫번째 및 두번째 픽처를 포함하는 초기 M″픽처 다음에 이어지는 M″픽처의 시리즈를 코딩하기 위해 비트를 할당하는 단계를 더 구비하여 이루어진다. 따라서, 하나의 픽처 시리즈에 있어서의 비트 버짓에 조절은 다음 시리즈의 정확한 코딩이 가능하도록 다음 시리즈로 이행한다.
2. 비-프로그래시브 리프레쉬 시퀀스:
일반적으로, 본 발명은 각각의 I-픽처와 다음 픽처간 거리(M) 및 GOP길이(N)를 포함하는 적절한 GOP파라메터의 세트를 추정함으로써, 트랜스코딩을 시작할 수 있다. M 및 N은 트랜스코딩 동안, GOP구조에서 이용 가능한 추가적인 정보, 예컨대 GOP의 길이와 GOP에서의 픽처타입의 분배로서 조절된다.
상기 추정된 M은 2개의 프레임 내에서 실제값으로 정정될 수 있고, 상기 추정된 N은 1개의 GOP 내에서 실제값으로 정정될 수 있다. M은 만약 필요하다면, 각각의 I-픽처 또는 P-픽처 다음에 확인되어 조절되어야만 하고, N은 필요하다면, 각각의 I-픽처 다음에 확인되어 조절되어야만 한다. M 및/또는 N이 조절되면, 픽처를 코딩하기 위한 비트율(R)과, 현재 GOP에서의 각각의 나머지 I, P 및 B-픽처의 수 nI, nP및 nB도 조절된다.
디지털 비디오 트랜스코더에서 수신한 비트스트림에 있어서의 픽처의 비-프로그래시브 리프레쉬 시퀀스(non-progressive refresh sequence)를 코딩하기 위해 비트를 할당하는 방법은, (a) 비트스트림의 특정 GOP의 추정길이(N′)를 제공하는 단계와, (b) 추정길이(N′)의 펑크션으로서 추정된 비트 버짓을 제공하고, 비트스트림의 첫번째 픽처와 다음에 가장 가까운 다음의 P-픽처(디슬플레이 순서로)간 추정거리(M′)를 제공하는 단계, (c) 추정된 비트 버짓과, N′ 및 M′에 따라 특정 GOP의 첫번째 픽처를 코딩하기 위해 비트를 할당하는 단계, (d) 상기 첫번째 픽처 다음에 곧바로 이어지는 두번째 픽처의 픽처타입을 결정하는 단계, (e) 상기 두번째 픽처의 픽처타입에 따라 상기 추정된 비트 버짓을 조절하는 단계 및, (f) 상기 조절된 비트 버짓에 따라 상기 두번째 픽처를 코딩하기 위해 비트를 할당하는 단계를 구비하여 이루어진다.
상기 추정된 비트 버짓은 비트스트림의 비트율과 추정길이(N′)에 비례하고, 비트스트림의 프레임율에 반비례 한다.
M″는 GOP 내에서 변경한다. 따라서, 상기 방법은 GOP 전체에 걸쳐 주기적으로 M″를 확인하는 단계를 포함한다. 예컨대, M″은 첫번째 I-픽처 다음에 이어지는 모든 I-픽처 및/또는 P-픽처에서 계산된다. 상기 추정된 비트 버짓은 M″에 따라 매번 조절된다.
2.1 다음에 I-픽처가 이어진 I-픽처:
첫번째 및 두번째 픽처가 I-픽처일 경우, 상기 방법은 두번째 픽처의 픽처타입에 따라 비트스트림의 첫번째 픽처와 다음에 가장 가까운 다음의 I-픽처간 실제 거리(M″)를 결정하고, 상기 M″따라 상기 추정된 비트 버짓을 조절하는 단계를 더 구비하여 이루어진다.
상기 실제 거리(M″)는 비트스트림의 디스플레이 순서로 두번째 픽처의 시간적인 레퍼런스와 디스플레이 순서로 첫번째 픽처의 시간적인 레퍼런스간의 차이에 따라 결정된다.
상기 조절단계(e)는 상기 추정된 비트 버짓을 -(N′-1)*"비트율"/"프레임율"에 의해 조절하는 단계를 구비하여 이루어지며, 상기 "비트율"은 비트스트림의 비트율이고, "프레임율"은 비트스트림의 프레임율이며, N=M=M″이다.
상기 방법은 상기 조절된 비트 버짓에 따라 두번째 픽처 다음에 이어지는 특정 GOP의 나머지 픽처를 코딩하기 위해 비트를 할당하는 단계를 더 구비하여 이루어진다.
2.2 다음에 P-픽처가 이어진 I-픽처:
첫번째 픽처가 I-픽처이고 두번째 픽처가 P-픽처일 경우, 상기 방법은 상기 두번째 픽처의 픽처타입에 따라 상기 첫번째 픽처와 다음에 가장 가까운 다음의 P-픽처(디스플레이 순서로)간 실제 거리(M″)를 결정하는 단계와, 조절된 추정길이(N″)를 제공하기 위해 상기 실제 거리(M″)에 따라 GOP의 추정길이(N′)를 조절하는 단계를 더 구비하여 이루어지고, 상기 조절단계(e)는 상기 조절된 추정길이(N′)에 따른다.
상기 조절된 추정길이(N″)를 제공하기 위해, 특정 GOP의 추정길이(N′)는 조절단계에서 요소 M(N′/M″)에 의해 조절되며, M=M″이다.
상기 조절단계(e)는 추정된 비트 버짓을 요소(N″-N′)*"비트율"/"프레임율"에 의해 조절하는 단계를 구비하여 이루어지며, 상기 "비트율"은 비트스트림의 비트율이고, "프레임율"은 비트스트림의 프레임율이다.
상기 조절단계(e)는 또한, 추정된 비트 버짓을 요소 (M″-1′)*"비트율"/"프레임율"에 의해 조절하는 단계를 더 구비하여 이루어지며, 상기 "비트율"은 비트스트림의 비트율이고, "프레임율"은 비트스트림의 프레임율이며, M=M″이다.
따라서, 각 픽처에 대한 타겟 비트 할당에 차례로 영향을 주는 비트 버짓을 조절하기 위해 GOP 길이와 거리(M) 모두가 이용된다.
상기 방법은 N″〉N 또는 N″〈 N이면, 현재 GOP의 N″픽처 코딩 후에 현재 GOP의 실제 길이 N을 결정하는 단계를 더 구비하여 이루어진다. 이것은 N″픽처 코딩 후에 도달되는 픽처를 관찰함으로써 이루어진다. 예컨대, N″픽처 코딩 후에 도달된 픽처가 현재 GOP의 P-픽처이면, N″〈 N이다. N″픽처 코딩 후에 도달된 픽처가 I-픽처이면, 다음 GOP의 개시를 나타내므로, N″=N이다. N″가 모두 코딩되기 전에 I-픽처가 코딩되면, 이것은 N″〉N를 나타낸다. 다음에 이미 조절된 비트 버짓이 N″〈 N 또는 N″〉N인지의 여부에 기초하여 더 조절되고, 상기 더 조절된 비트 버짓에 따라 N″ 코드화 픽처 다음에 이어지는 비트스트림의 픽처를 코딩하기 위해 비트가 할당된다.
2.3 다음에 B-픽처가 이어지는 I-픽처:
첫번째 픽처가 I-픽처이고 두번째 픽처가 B-픽처일 경우, 상기 방법은 두번째 픽처의 픽처타입에 따라 첫번째 픽처와 다음에 가장 가까운 다음의 P-픽처(디스플레이 순서로)간 실제 거리(M″)를 결정하고, 조절된 추정길이(N″)를 제공하기 위해 상기 실제 거리(M″)에 따라 GOP의 추정길이(N′)를 조절하는 단계를 더 구비하여 이루어지고, 상기 조절단계(e)는 상기 조절된 추정길이(N′)에 따른다.
상기 조절된 추정길이(N″)를 제공하기 위해, 특정 GOP의 추정길이(N′)는 조절단계에서 요소 M(N′/M″)에 의해 조절되며, M=M″이다.
상기 조절단계(e)는 추정된 비트 버짓을 요소(N″-N′)*"비트율"/"프레임율"에 의해 조절하는 단계를 구비하여 이루어지며, 상기 "비트율"은 비트스트림의 비트율이고, "프레임율"은 비트스트림의 프레임율이다.
상기 방법은 조절된 비트 버짓에 따라 두번째 픽처 다음에 이어지는 특정 GOP의 나머지 픽처를 코딩하기 위해 비트를 할당하는 단계를 더 구비하여 이루어진다.
또한, 상술한 바와 같이 이미 조절된 비트 버짓은 N″〈 N 또는 N″〉N인지의 여부에 기초하여 더 조절되고, 상기 더 조절된 비트 버짓에 따라 N″ 코드화 픽처 다음에 이어지는 비트스트림의 픽처를 코딩하기 위해 비트가 할당된다.
따라서, GOP 길이와 I 및/또는 P-픽처간 거리(M)와 관련하여 습득된 정보는 하나의 GOP에 있어서, 다음 GOP를 코딩하는데 이용된다. 부정확한 개시 GOP 파라메터에 따른 타겟율(target rate)은 소수의 GOP 내에 집중한다.
또한, 대응하는 장치구조도 존재한다.
(실시예)
이하, 본 발명의 실시예를 도면을 참조하면서 상세히 설명한다.
본 발명은 GOP에서의 픽처타입의 선지식이 없는 GOP의 연속픽처를 인코딩하기 위해 비트를 할당하는 방법 및 디지털 비디오 트랜스코더에 관한 것이다.
픽처타입의 선지식이 필요없는 MPEG표준에 맞는 디지털 비디오 트랜스코더를 위한 새로운 비율(rate)제어체계 및 장치가 존재한다. 픽처타입의 선지식 유무에 관계없이 본 발명의 비율제어시스템에 의해 결정된 픽처 타겟율이 아주 근접함을 연구는 보여주고 있다.
MPEG는 시간적인 처리에 의해 3개의 픽처타입을 정의한다. 즉, 내부-프레임 코드화 픽처(I-픽처; intra-frame coded picture), 순방향 시간적인 예측 코드화 픽처(P-픽처; forward temporal predictive coded picture) 및, 양방향 시간적인 예측 코드화 픽처(B-픽처; bi-directional temporal predictive coded picture)이다. MPEG 비디오 코딩에 있어서, 입력 비디오 시퀀스의 픽처는 종종 픽처그룹(GOP)으로 그룹화 되고, 여기서 각 GOP는 하나의 I-픽처와, 다수의 P-픽처 및, I 또는 P-픽처간 선택적으로 하나 또는 다수의 B-픽처를 포함한다. GOP의 구조는 종종 2개의 변수로 기술될 수 있다: (1) N - GOP에서의 픽처의 수, 또는 GOP 길이 및, (2) M - I-픽처 또는 P-픽처간 거리. 디스플레이 순서로 N=15와 M=3을 갖는 GOP의 예는 이하와 같다:
...Bm-2Bm-1ImBm+1Bm+2Pm+3Bm+4Bm+5Pm+6...Pm+N-3Bm+N-2Bm+N-1Im+NBm+N+1...
여기서, 상기 아래에 적힌 것은 픽처의 시간적인 레퍼런스이고, 그 연속번호는 연속적으로 표시된 픽처를 나타낸다.
일반적으로, I-픽처가 연속픽처(예컨대, 프레임)간 시간적인 상관성의 장점을 취하지 않기 때문에, 상기 I-픽처는 P 및 B-픽처보다 인코딩을 위해 많은 수의 비트를 필요로 한다. B-픽처는 그들이 2개의 시간적인 레퍼런스를 갖기 때문에 인코딩을 위해 아주 작은 비트수를 사용하고, 따라서 P-픽처보다 더 유효하게 시간적으로 예측될 수 있다. P-픽처는, 일반적으로 B와 I-픽처에 사용된 것 사이에 존재하는 인코딩을 위한 비트수를 사용한다.
명백하게, 인코딩을 위해 각 픽처에 할당된 비트는 그 타입이나, 또는 요구에 기초한다. 더욱이, GOP는 모두 3개의 픽처타입을 가질 수 있고, GOP 내에 3개의 픽처타입의 구성은 매우 플렉시블(flexible)하다. 따라서, GOP 내에 픽처를 인코딩하기 위한 비트 버짓을 빈틈없이 할당하기 위해, GOP에서의 픽처타입의 선지식, 또는 GOP구조를 가질 필요가 있다. 이러한 요구는 인코더가 각 픽처의 타입을 결정하고, GOP에서의 픽처의 타입 및 배열에 기초하여 비트를 할당하기에 앞서 계획할 수 있기 때문에, 독립형의 인코더(즉, 트랜스코더의 부분이 아닌 인코더)에 문제는 아니다. 즉, GOP구조상에 정보는 상기 인코더에 사용할 수 있다.
독립형의 인코더와 반대로, 트랜스코더는 미리 압축된 비트스트림을 새로운 비율(rate)로 또 다른 비트스트림으로 변환한다. 트랜스코더에 입력은 미리 압축된 비트스트림이다. 픽처를 처리하기 전에, 상기 트랜스코더는 픽처타입의 선지식이 없으므로, 미리 압축된 비트스트림의 GOP구조의 선지식이 없다.
더욱이, 몇몇 트랜스코딩 체계는 새로운 데이터 비율로 출력 비트스트림을 인코딩하기 위해, 수신된 미리 압축된 비트스트림의 동작벡터(MV) 필드를 재사용한다. 이 경우, 미리 압축된 픽처의 픽처타입은 유지된다. 이것은 상기 트랜스코더가 새로운 출력 비트스트림의 GOP구조의 제어를 갖지 않는 것을 의미한다.
더욱이, 종래 체계의 경우, GOP구조 정보가 미리 압축된 비트스트림으로부터 추출될 수 있다. 예컨대, 첫번째 2개의 I-픽처에 의해 미리 압축된 비트스트림을 스캐닝 한 후에, 트랜스코더는 GOP구조를 결정할 수 있다. 그러나, 이것은 대략 하나의 GOP의 처리지연과 GOP의 모든 비트를 유지하기 위해 여분의 메모리의 필요성을 요구한다.
본 발명은 미리 압축된 비트스트림의 GOP구조의 선지식이 필요없으면서 MPEG표준에 맞는 디지털 비디오 트랜스코더를 위한 새로운 비율제어시스템을 제공한다. 처리지연이 없으면서 여분의 메모리를 필요로 하지 않는 비율제어체계가 제공된다. 그 체계는 어떤 적절한 GOP 파라메터의 세트에 따라 개시한 후, 점차적으로 이들 GOP 파라메터를 정정하고, 필요하다면 트랜스코더에서 연속적인 미리 압축된 픽처로서 수신된다. 상기 체계는 인코더에 의해 사용된 GOP 파라메터의 변경을 보상한다.
더욱이, 미리 압축된 비트스트림의 GOP구조의 선지식의 유무에 관계없이 본 발명의 비율제어체계에 의해 결정된 타겟 비트율에 차를 분석한다. GOP구조의 선지식의 유무에 관계없이 타겟율이 동일한 1개 또는 2개의 GOP 내에만 존재하는 경향이 있는 것을 보여준다. 숫적인 예와 실제 비디오 시퀀스 모두에 있어서의 타겟율의 차를 설명한다.
이하의 섹션1에서, 우선 MPEG 비디오 코딩을 위한 비율제어를 개략 기술한다. 섹션2에서, MPEG 트랜스코더를 위한 새로운 비율제어를 기술한다. 섹션3에서, GOP구조의 선지식의 유무에 관계없이 상기 제안된 비율제어에 의해 결정된 타겟율에 차를 분석한다. 섹션4에서, 시뮬레이션과 비교결과를 기술한다. 섹션5에서, 결론을 기술한다.
1. MPEG 비디오 코딩을 위한 비율제어
MPEG 비디오 코딩에 있어서, 모든 3개의 픽처타입(I, P, B)은 블록 이산코사인변환(DCT; Discrete Cosine Transform)을 거친다. 다음에, DCT계수가 양자화 되어 가변길이 인코드화 된다. 결과적인 각 픽처에 대한 비트의 수는 대응하는 블록 DCT 이미지의 복잡도에 따른다. I-픽처는 어떤 다른 픽처와 관계없이 코딩되고, 따라서 그들 DCT 이미지는 보통 다수의 비트를 필요로 한다. 우선, P-픽처가 시간적으로 순행 예측되고, 다음에 그들 시간적인 예측 차이 이미지가 코딩된다. 시간적인 예측 차이 이미지는 보통 원래 픽처보다 훨씬 적은 정보를 포함하므로, 코딩을 위해 적은 비트를 필요로 한다. 2개의 시간적인 레퍼런스를 갖는 B-픽처는 종종 P-픽처보다 더 좋게 시간적으로 예측될 수 있다. 따라서, B-픽처는 다소의 비트를 필요로 한다. 인텔리전트 비트 할당방법은 픽처의 복잡도, 또는 픽처의 타입에 기초한 픽처에 비트를 할당할 수 있다.
Xn을 N픽처의 GOP에서의 픽처 n에 대한 복잡도 기준이라 하자. MPEG 테스트 모델5(TM5)에 있어서, 픽처에 대한 복잡도 기준은 픽처에 이용된 평균 양자화 파라메터와 결과적인 비트수의 합으로 정의된다. 논리적으로, 픽처에 할당된 비트는, 이하의 식 (1)에 나타낸 픽처의 복잡도 기준(Xn)에 비례된다:
Tn=CXnn=0,1,...,N-1 (1)
여기서, C는 상수이다. 따라서, 코딩을 위해 요구된 비트수와 픽처 복잡도 기준간 선형모델이 추정된다. 더욱이, 어떠한 바이어스(bias) 없이 N픽처의 GOP가 이하의 식 (2)와 같이 할당된다:
(2)
명백하게, N픽처의 GOP 내에 모든 픽처에 할당된 총 비트수는, 이하의 식 (3)에 나타낸 RGOP,N과 동일하다:
(3)
상기 식 (1)과 (3)으로부터, 우리는 이하의 식 (4)를 갖는다:
(4)
동일한 타입의 모든 픽처, 즉 I, P 또는 B가 적어도 연속 신(scenes)에 대해 적절한 가정인 동일한 복잡도 기준을 갖는다고 가정하면, 각 픽처타입에 하나씩 3개의 복잡도 기준만이 필요하다. 즉, I-픽처를 위한 XI, P-픽처를 위한 XP및, B-픽처를 위한 XB가 필요하다. 따라서, 타입 t∈{I,P,B}의 프레임 n에 대한 타겟율과 복잡도 기준 Xn,t∈{I,P,B}는 이하의 식 (5)와 같이 기술된다:
(5)
여기서, NI, NP및 NB는 각각 GOP에서의 I, P 및 B의 수이다. 상기 식 (5)에 의해 동일한 타입의 픽처는 동일한 비트수가 할당된다. 이 비트 할당방법은 현재 GOP에서의 나머지 픽처에 대한 나머지 비트수의 분배만을 고려함으로써 더 변경될 수 있다, 즉, 이하의 식 (6)과 같다:
(6)
여기서, nI, nP및 nB는 각각 현재 GOP에서의 I, P 및 B-픽처의 나머지 수이고, R은 이하의 식(7) 로 정의된 바와 같이 나머지 비트수이다:
(7)
여기서,는 할당문(assignment statement)을 나타낸다.
상기 나머지 비트수 R은 이하의 식 (8)과 같이, 각 GOP의 개시에서 갱신될 필요가 있다:
(8)
인코더가 각 픽처에서 타겟율을 만날 수 있을 정도로, 식 (6)도 또한 동일한 타입의 픽처에 동일한 비트수를 할당하는 것을 기술한다. 예컨대, 프레임 n이 B-픽처라고 가정하면, 프레임 n은 실제로 I, P 또는 B-픽처가 될 수 있다. 상기 인코더는 프레임 n에 대한 노미널율(nominal rate) Tn을 만난다. 프레임 n+1에 대한 타겟율 Tn+1은 이하의 식과 같다:
상기 식에서 볼 수 있는 바와 같이, 프레임 n+1에 대한 타겟율 Tn+1은 프레임 n+1의 타입, 즉 Xn+1,t에만 의존한다. 즉, 프레임 n의 타입(I, P 또는 B)에 상관없이, 프레임 n+1은 그 자신의 타입에 따라 동일한 비트수가 할당된다. 이것은 동일한 타입의 픽처가 동일한 복잡도 기준을 가지면, 사실상 식 (5)와 식 (6)이 동일하고, 인코더가 각 픽처에서 타겟율을 만날 수 있는 것을 의미한다. 그러나, 식 (6)은 각 픽처에서 타겟율과 실제 비율간 차 및 픽처 복잡도 기준의 변화를 어드레스 할수록 보다 더 실용적이다.
사실, 특성 요건은 다른 픽처타입과 동일하지 않다. 예컨대, B-픽처는 미래 시간적인 예측의 기준으로서 결코 사용되지 않는다. 따라서, B-픽처는 I 및 P-픽처보다 더 왜곡을 견딜 수 있다. 이러한 다른 특성 요건들의 관계를 어드레스하기 위해, 이하의 식 (10)과 같이 각 픽처타입에 대한 가중요소 Kn,t를 더 도입할 수 있다:
Tn=CXn,t/Kn,t(10)
여기서,
(11)
이제, 비트 할당방법(즉, 식 (5)와 식 (6))은 이하의 식으로 된다:
(5b)
(6b)
식 (6b)는 KI=KP=1 및 KB=1.4일 때, MPEG TM5에 이용된 것과 같다.
비트 할당방법(즉, 식 (5)와 식 (6))은 GOP구조의 선지식, 즉 GOP에서의 I, P 및 B-픽처의 수 NI, NP및 NB, 또는 현재 GOP에서의 나머지 I, P 및 B-픽처의 수 nI, nP및 nB를 필요로 한다. GOP구조 변수쌍 N과 M이 주어지면, NI=1, NP=N/M-NI및 NB=N-NP-NI를 가질 수 있다. 또한, 인코딩 동안 NI, NP및 NB로부터 nI, nP및 nB를 계산할 수 있다. 예컨대, P-픽처만이 인코딩되면, 현재 GOP에서의 나머지 P-픽처의 수는 1, 즉 nP=nP-1로 감소된다.
기술한 바와 같이, 이러한 정보는 불행하게도 트랜스코더에 이용할 수 없다. 미리 압축된 비트스트림의 GOP구조의 완전한 지식없이, 인텔리전트 비트 할당방법을 수행하기가 어렵다. 트랜스코더는 첫번째 2개의 I-픽처를 통해 비트스트림을 스캐닝 함으로써 미리 압축된 비트스트림의 GOP구조를 습득할 수 있다. 그러나, 이것은 하나의 GOP의 처리지연을 야기하고 GOP의 비트를 유지하기 위한 여분의 메모리를 필요로 한다.
2. 트랜스코더의 비율제어
이제, 미리 압축된 비트스트림의 GOP구조의 선지식이 필요없는 트랜스코더의 새로운 비율제어시스템을 기술한다. 본 발명의 비율제어시스템은 처리지연이 없고 여분의 메모리를 필요로 하지 않는다. 또한, 비율제어시스템은 어떤 적절한 GOP 파라메터의 세트에 따라 개시할 수 있고, 다음에 만약 필요하다면 인코딩 진행으로 이들 GOP 파라메터를 점진적으로 정정한다.
표 1(a)는, 디스플레이 순서로 아래에 적인 것이 픽처의 시간적인 레퍼런스인 모든 가능한 픽처구성을 나타낸다. 각 픽처는 프레임이나 필드, 또는 그 부분과 관련된다. 예컨대, 본 발명은 MPEG-4표준으로부터 알려진 바와 같이 VOP(Video Object Plane)의 코딩과 호환된다. 본 발명은 프로그래시브 스캔과 인터레이스드(interlaced) 스캔 비디오와도 호환된다.
시퀀스 GOP(N=M=1)의 경우, I-픽처만 존재한다. 시퀀스 GOP(N,M=1)의 경우, I 및 P-픽처만 존재한다. 시퀀스 GOP(N=M)의 경우, I 및 B-픽처만 존재한다. 시퀀스 GOP(N,M)의 경우, I, P 및 B-픽처가 존재한다. 시퀀스 GOP(M=1)의 경우, P-픽처만 존재한다. 시퀀스 GOP(M)의 경우, P 및 B-픽처만 존재한다.
표 1(a)에서 처음 4개의 경우는 I-픽처를 갖기 때문에, 비-프로그래시브 리프레쉬 시퀀스이다. 마지막 2개의 경우(예컨대, GOP(M=1)과 GOP(M))는 I-픽처가 없지만, P-픽처가 I-슬라이스(I-slice)를 포함하는 프로그래시브 리프레쉬를 이용한다. I-슬라이스는 통상 픽처를 수평으로 가로질러 연장하는 픽처의 내부-코드화 부분이다. I-슬라이스의 위치는 연속 P-픽처의 다른 부분을 리프레쉬하기 위해 연속 P-픽처로 변경한다. 따라서, 프로그래시브 리프레쉬의 경우, GOP길이(N)는 픽처구성을 기술하는데 더 이상 필요하지 않다. 그럼에도 불구하고, 여전히 M은 2개의 연속 P-픽처간 거리를 나타내기 위해 이용될 수 있다. 상기 "거리"는 픽처의 수에 의해 측정되고, 어떤 대응하는 측정이기는 하지만, 그와 같은 시간이 이용될 수 있다. 비트 할당에 의해, 프로그래시브 리프레쉬를 위한 N=M 비트 할당 식 (5)에서 N=M, NI=0(프로그래시브 리프레쉬 시퀀스를 위한 I-픽처가 없는), NP=N/M-NI=1, NB=N-NP-NI=N-NP를 설정할 수 있다.
표 1(b)는 표 1(a)의 픽처 시퀀스에 대한 인코딩 순서(예컨대, 비트스트림 순서)로 픽처구성의 대응하는 형태를 나타낸다. M=1이면(시퀀스에 B-픽처가 없는), 인코딩 순서는 사실상 디스플레이 순서와 동일하다. 한편, M≠1이면(예컨대, 연속 I 및 P-픽처간 M-1 B-픽처가 있는), 미래 I 또는 P-픽처가 M-1 B-픽처 전에 인코딩되어야만 한다.
더욱이, M≠1의 비디오 시퀀스에 있어서의 첫번째 GOP(예컨대, GOP0로 표시된 초기 또는 불연속 GOP)의 경우, 표2(a)에 나타낸 바와 같이 첫번째 I 또는 P-픽처 앞에 어떠한 B-픽처도 존재하지 않는다. 표 2(a)는 디스플레이 순서로 비디오 스트림의 시퀀스 헤더 다음에 첫번째(초기) GOP의 가능한 픽처구성을 나타낸다. 상기 초기 GOP는 GOP0로 표시된다. 예컨대, GOP0(M)의 경우, 그 첫번째 픽처는 P0로 표시된다. 예컨대, 비트스트림이 초기에 획득되거나 재획득될 경우, 트랜스코더에 의해 초기 GOP가 처리된다.
표 2(b)는 인코딩 순서로 표 2(a)의 첫번째 GOP를 나타낸다. 여기서, 두번째 I 또는 P-픽처가 어떤 B-픽처 전에 인코딩되는 곳의 M≠1의 초기 GOP를 나타냈다. 인코딩 순서로 두번째 픽처는 표 2(b)에 나타낸 바와 같이 I 또는 P-픽처가 존재된다.
도 1(a)는 디스플레이 순서로 연속 GOP에 대한 픽처의 프로그래시브 리프레쉬 시퀀스를 기술한다. 특히, 표 1(a)로부터의 프로그래시브 리프레쉬 시퀀스 GOP(M)는 M=3의 P-픽처간 거리와, 연속하는(예컨대, 비(non)-초기, 또는 오픈) GOP에 대해 기술했다. 추가적으로, 그 GOP길이는 N=M=3픽처이다.
비디오 시퀀스(100)에 있어서, 첫번째 GOP(110)는 픽처 P7, B8및 B9를 포함하고, 반면 두번째 GOP(120)는 픽처 P10, B11및 B12를 포함하며, 세번째 GOP(130)는 픽처 P13, B14및 B15를 포함한다. P7의 아래에 적인 "7"이 일예로서 간단히 선택된다. 다음의 GOP는 그 첫번째 픽처로서 P16을 포함한다.
도 1(b)는 인코딩 순서로 도 1(a)의 픽처의 시퀀스를 기술한다. 인코드화 비디오 시퀀스(150)는 표 1(b)로부터의 시퀀스 GOP(M)에 대응한다. B8및 B9가 P10으로부터 시간적으로 역행 예측되기 때문에, B8및 B9는 인코드화 시퀀스(150)에서의 P10다음에 이어진다. 유사하게, B11과 B12는 P13다음에 이어지고, B14와 B15는 P16다음에 이어진다.
도 2(a)는 디스플레이 순서로 다음에 GOP들이 이어진 비트스트림에서의 초기 GOP에 대한 픽처의 프로그래시브 리프레쉬 시퀀스를 기술한다. 특히, 표 2(a)로부터의 프로그래시브 리프레쉬 시퀀스는 M=3의 P-픽처간 거리에 대해 기술했고, GOP길이는 N=M=3픽처이다.
비디오 시퀀스(200)에 있어서, 첫번째 초기 GOP(210)는 픽처 P0, B1및 B2를 포함하고, 반면 두번째 연속 GOP(220)는 픽처 P3, B4및 B5를 포함하며, 세번째 연속 GOP(230)는 픽처 P6, B7및 B8을 포함한다. 다음의 GOP는 그 첫번째 픽처로서 P9을 포함한다.
도 2(b)는 인코딩 순서로 도 2(a)의 픽처의 시퀀스를 기술한다. 그 인코드화 비디오 시퀀스(250)는 표 2(b)로부터의 시퀀스 GOP0(M)에 대응한다. B1과 B2가 P3으로부터 시간적으로 역행 예측되기 때문에, B1과 B2는 인코드화 시퀀스(250)에서 P3다음에 이어진다. 본질적으로, 역행 시간적인 예측을 위해 P0를 이용하는 B-픽처는 존재하지 않기 때문에, P3, B1과 B2는 P0다음에 이어진다. 유사하게, B4와 B5는 P6다음에 이어지고, B7과 B8은 P9다음에 이어진다.
도 3은 MPEG-2 비트스트림 구조를 기술한다. 시퀀스층(300)은 다수의 GOP, 즉 304, 306 및 308이 다음에 이어진 시퀀스 헤더(302)를 포함하고, 그 GOP 304,306 및 308 다음에 시퀀스 헤더(312)를 포함하는 추가적인 시퀀스 헤더와 GOP가 이어진다. GOP층(320)은 다수의 픽처, 즉 픽처 324, 326 및 328로부터의 데이터가 다음에 이어진 GOP 헤더(322)를 포함한다. 픽처층(330)은 다수의 슬라이스, 즉 슬라이스 334와 336이 다음에 이어진 픽처 헤더(332)를 포함한다. 슬라이스층(335)은 다수의 매크로블록, 즉 매크로블록 338과 339가 다음에 이어진 슬라이스 헤더(337)를 포함한다. 매크로블록층(340)은 다수의 블록, 즉 블록 344, 346 및 348이 다음에 이어진 매크로블록 헤더(342)를 포함한다. 블록층은 DCT계수(352)를 포함한다.
주어진 미리 압축된 비트스트림의 경우, 트랜스코더는 비트스트림의 어느 곳에서나 처리를 개시할 수 있다. 초기에 트랜스코더는 픽처의 크기, 프레임율 등에 관한 정보를 포함하는 시퀀스 헤더(300)에 도달할 때까지 모든 비트를 스킵(skip)할 것이다. 선택적으로, GOP 헤더(322)는 시퀀스 헤더 302(비-프로그래시브 리프레쉬만의 경우) 다음에 이어질 수 있다. GOP 헤더가 시퀀스 헤더(302) 다음에 이어지면, 상기 비트스트림은 분명히 비-프로그래시브 리프레쉬 시퀀스이다. 그렇지 않으면, 비트스트림은 프로그래시브 리프레쉬이거나, 또는 아닐지도 모른다. 다음에, 픽처층(330)이 이어진다.
시퀀스 헤더 다음에 곧바로 이어지는 픽처(예컨대, GOP에서의 첫번째 픽처, 즉 픽처 324)는 I 또는 P-픽처일 수 있다. 만약 그것이 I-픽처이면, 비트스트림은 비-프로그래시브 리프레쉬 시퀀스이다. 그렇지 않으면, 비트스트림은 프로그래시브 리프레쉬 시퀀스이다. 프로그래시브 리프레쉬 및 비-프로그래시브 리프레쉬의 비트스트림에 대한 본 발명의 비트 할당 절차는 약간 다르다. 이하의 2가지의 서브섹션에서 상세히 설명한다.
다음과 같은 표기가 이용된다:
N, M - GOP 파라메터 N과 M의 실제값(즉, 실제의 GOP구조를 반영);
N′, M′- GOP 파라메터 N과 M의 초기 추정값;
N″, M″- GOP 파라메터 N과 M의 (현재)갱신값;
NI, NP, NB- GOP에서의 각 I, P 및 B픽처의 수;
nI, nP, nB- 현재 GOP에 남아 있는 각 I, P 및 B픽처의 수;
R - 현재 GOP에 대한 나머지 비트수;
bit_rate - 가변될 수 있는 초당 비트의 유효출력비트율(bit_rate가 트랜스코더에 이용할 수 있다고 가정);
frame_rate - repeat_first_field의 존재로 인해 시퀀스 헤더에 포함된 frame_rate와 동일하지 않은 초당 프레임의 유효 frame_rate(frame_rate가 트랜스코더에 이용할 수 있다고 가정);
div - 결과의 절단에 의해 제로(zero)쪽으로 정수분할;
- 할당문(우측에서 좌측으로).
(i) 프로그래시브 리프레쉬
프로그래시브 리프레쉬 시퀀스의 경우, GOP 헤더가 없고, 시퀀스 헤더 다음에 곧바로 이어지는 첫번째 픽처(인코딩 순서로)는 P-픽처이어야만 한다. 표 1(b)의 시퀀스 GOP(M=1)와 GOP(M) 및 표 2(b)의 GOP0(M)을 보자. M을 정확히 결정하기를 기다리는 대신, 타겟 비트율 계산(식 (6) 참조)에 있어서의 R=RGOP,M=M′·(bit_rate/frame_rate)bits과, 어떤 적절한 추정된 M, 즉 M'에 따라 첫번째 P-픽처를 처리하도록 진행했다. M′의 경우, NP=1과 NB=M′-NP를 갖는 것을 주목하자. 예컨대, 도 1(a) 또는 도 2(a)와 관련하여, P-픽처간 거리는 M′=3이고, GOP에서의 P-픽처의 수는 1개이고, GOP에서의 B-픽처의 수는 2개이다.
인코딩 순서로 GOP에서의 두번째 픽처는 각각 표 1(b)와 2(b)에 나타낸 바와 같이, B-픽처(GOP(M)) 또는 P-픽처(GOP(M=1) 또는 GOP0(M))일 수 있다.
상기 양쪽의 경우, 인코딩 순서로 GOP의 첫번째 2개 픽처의 시간적인 레퍼런스로부터 M의 실제값을 계산할 수 있다. 특히, 첫번째 및 두번째 픽처에 대한 시간적인 레퍼런스를 temp_ref_picturel 및 temp_ref_picture2라 놓자. 상기 시간적인 레퍼런스는 상기 픽처 헤더에 포함된다. 두번째 픽처가 B-픽처, 즉 표 1(b)의 시퀀스(GOP(M))이면, M의 정확한 값 M″는 이하의 식 (12)와 같다:
M″=temp_ref_picturel_temp_picture2+1 (12)
예컨대, 도 1(b)에서, 인코드화 비디오 시퀀스에 있어서의 각 첫번째 및 두번째 픽처로서 P10및 B8을 고려하면, temp_ref_picturel은 P10의 시간적인 레퍼런스이고(예컨대, "10"), temp_ref_picture2는 B8의 시간적인 레퍼런스이며(예컨대, "8"), M″=10-8+1=3이다. 상기 시간적인 레퍼런스는 픽처의 디스플레이 순서에 따른다.
그렇지 않고, 두번째 픽처가 P-픽처, 즉 예컨대 표 1(b)의 시퀀스 GOP(M=1), 또는 표 2(b)의 시퀀스 GOP0(M)와 같이 P-픽처이면, P-픽처간 거리의 정확한 값은 이하의 식 (13)과 같다:
M″=temp_ref_picture2-temp_ref_picturel (13)
예컨대, 도 2(b)에서, 인코드화 비디오 시퀀스에 있어서의 각 첫번째 및 두번째 픽처로서 P0및 P3을 고려하면, temp_ref_picture1은 P0의 시간적인 레퍼런스이고(예컨대, "0"), temp_ref_picture2는 B3의 시간적인 레퍼런스이며(예컨대, "3"), M″=3-0=3이다.
M의 정정값, 즉 M″의 경우, 나머지 비트수 R(식 (7) 참조)은 적절히 조절된다. 특히, 두번째 픽처가 표 1(b)의 시퀀스(GOP(M))와 같이 B-픽처이면, R은 이하의 식 (14)와 같이 갱신된다:
(14)
상기 식에서 볼 수 있는 바와 같이, M″〉M′의 경우(P-픽처간 실제 거리가 추정거리보다 클 경우), 첫번째 P-픽처는 비교적 많은 비트로 할당되고, 따라서 나머지 픽처는 비교적 보다 적은 비트로 할당된다. M″〈 M′의 경우(P-픽처간 실제 거리가 추정거리보다 작을 경우), 상기 첫번째 픽처는 비교적 보다 적은 비트로 할당되고 나머지 픽처는 비교적 많은 비트로 할당된다.
한편, 두번째 픽처가, 예컨대 표 1(b)의 시퀀스 GOP(M=1), 또는 표 2(b)의 시퀀스 GOP0(M)와 같이 P-픽처이면, 인코드화 비디오 시퀀스에서 2개의 첫번째 P-픽처간 B-픽처는 존재하지 않는다. 따라서, 2개의 P-픽처간 추정된 M′-1 B-픽처(인코딩 순서)의 할당된 비트는 이하의 R로부터 공제될 것이다:
(15)
다음에, M=M″이라고 설정한다. 트랜스코더가 각 픽처에서 타겟율을 만날 수 있으면, 첫번째 M픽처의 끝(end)에서 R=0을 가질 것이다. 따라서, M픽처에 대해 비트 버짓 R=RGOP,M=M·(bit_rate/frame_rate)bits를 갖는다. M의 다음 변경을 어드레스 하기 위해, 각 P-픽처 다음에 M의 값을 체크한다.
도 4(a)는 본 발명에 따른 프로그래시브 리프레쉬 픽처 시퀀스의 코딩방법을 기술한다. 상술한 프로그래시브 리프레쉬 시퀀스의 비트 할당기술은 이하와 같이 요약된다.
블록 400에서, 미리 압축된 디지털 비디오 비트스트림은 트랜스코더에서 수신된다. 그 코드화 픽처는 인코딩 순서로 되어 있다. 블록 405에서, 비트스트림은 시퀀스 헤더를 검출하도록 처리된다. 블록 410에서, 시퀀스 헤더 다음에 이어지는 첫번째 픽처의 픽처타입이 결정된다. 만약 그것이 I-픽처이면, 도 4(b)의 블록 "A"에서 처리를 계속한다.
시퀀스 헤더 다음에 이어지는 첫번째 픽처가 P-픽처이면, 블록 415에서 처리를 계속하여, 추정거리(M′)가 설정된다. 여기서, M′는 디스플레이 순서로 시퀀스 헤더 다음에 이어지는 첫번째 픽처와 다음의 P-픽처간 거리로서 정의된다. 블록 420에서, 추정된 비트 버짓(R)은 M'과, 비트스트림의 비트율 및 프레임율에 기초하여 결정된다. 블록 422에서, 타겟 비트율(T)은 식 (6b)에 따라 설정된다. 블록 425에서, 첫번째 픽처는 T에 따라 코딩된다. 블록 430에서, 다음의 픽처(즉, 두번째 픽처)가 P-픽처이면, 실제 거리(M″)는 식 (13)에 따라 블록 435에서 결정된다. 블록 440에서, 비트 버짓(R)이 식 (15)를 이용하여 조절된다. 블록 445에서, M은 M″로 설정된다.
블록 430에서, 시퀀스의 다음 픽처, 즉 두번째 픽처가 B-픽처이면, 실제 거리(M″)는 식 (12)에 따라 블록 450에서 결정된다. 블록 455에서, 비트 버짓(R)이 식 (14)를 이용하여 조절된다. 블록 460에서, M은 M″로 설정된다. 블록 462에서,타겟 비트율(T)이 설정된다(예컨대, 식 (6)을 이용하여). 다음에, 나머지 M-1 픽처(두번째 픽처를 포함)가 블록 465에서 T에 따라 코딩된다.
블록 470에서, 다음 픽처가 처리된다. 이것은, 예컨대 M″픽처의 다음 시리즈의 첫번째 픽처가 될 것이다. 블록 475에서, 처리가 예컨대 블록 415로 리턴한다. 그러나, 각 블록 415와 420에서 길이와 비트 버짓을 무조건 추정하는 대신, M″픽처의 선행 시리즈에서 결정된 값이 이용된다. 그럼에도 불구하고, 실제 거리(M″)가 예컨대 모든 P-픽처 다음에 확인된다.
(ii) 비-프로그래시브 리프레쉬
비-프로그래시브 리프레쉬의 경우, 시퀀스 헤더 다음에 이어지는 선택 GOP 헤더가 존재한다. 다음에, 픽처층이 이어진다. 첫번째 픽처가 시퀀스 헤더 다음에 곧바로 이어지거나, 또는 GOP 헤더는 I-픽처이어야만 한다. 인텔리전트 비트 할당의 경우, N과 M을 알 필요가 있다. 그러나, 첫번째 픽처에 대한 타겟율을 결정함에 있어서의 R=RGOP,N=N′·(bit_rate/frame_rate)bits의 비트 버짓과, N과 M의 어떤 적절한 쌍, 즉 N′과 M′에 따라 미리 압축된 비트스트림의 트랜스코딩을 개시할 수 있다.
N′과 M′의 경우, NI=1, NP=N′/M′-NI및 NB=N′-NI-NP를 갖는다. 그러면, M의 실제값 즉, M″는 프로그래시브 리프레쉬와 유사하게 첫번째 2개 픽처의 시간적인 레퍼런스로부터 계산될 수 있다. 두번째 픽처가 I 또는 P-픽처이면, M의 값을 계산하기 위해 식 (13)이 이용된다. 그렇지 않고, 두번째 픽처가 B-픽처이면, 식 (12)가 이용된다. 다음에, M=M″을 설정한다.
또한, 표 1(b)와 2(b)에 나타낸 바와 같이, 두번째 픽처가 I-픽처(GOP(N=M=1) 및 GOP0(N=M))이면, 사실상 정확한 N값, 즉 N=M을 갖는다. 나머지 비트수 R(식 (7) 참조)은 이하의 식 (16)과 같이 적절히 조절된다:
(16)
이것은 첫번째와 두번째 I-픽처 사이에 P 및 B-픽처가 없기 때문이다. 따라서, 2개의 I-픽처간 추정된 N-1(P 및 B)픽처에 할당된 비트는 R로부터 공제된다.
두번째 픽처가 I-픽처가 아니면, 그것은 N의 정확한 값을 얻기 위해 대략 하나의 GOP가 다소 더 길게 취해질 수 있다. 추정된 N′은 정확한 M에 의해 분할할 수 없게 된다. 따라서, N′조절하여 nP와 nB를 조절해야만 한다. 이하의 식과 같이, 정확한 M값에 따라 N을 N″로 조절하고, nP와 nB를 조절한다:
N″=(N′/M)·M; (17)
nP=N″/M-1; 및 (18a)
nB=N″/M-nP-1 (18b)
다음에, 나머지 비트수 R(식 (7) 참조)을 이하의 식 (19)와 같이 N″에 따라 조절한다:
(19)
더욱이, 두번째 픽처가 표 1(b)와 2(b)에 나타낸 바와 같이 P-픽처, 즉 GOP(N,M=1) 또는 GOP0(N,M)이면, 나머지 비트수 R은 이하의 식 (19b)와 같이 추가적인 조절이 필요하다:
(19b)
이것은 첫번째 I-픽처 전에 추정된 B-픽처보다 M-1 적기 때문이다.
거기에는 3가지의 시나리오만이 존재할 수 있다. 즉,
1. N″=N, 즉 현재 GOP길이 N″가 실제 GOP길이 N과 동일하다;
2. N″〈 N, 즉 현재 GOP길이 N″가 실제 GOP길이 N보다 작다;
3. N″〉N, 즉 현재 GOP길이 N″가 실제 GOP길이 N보다 크다.
분명히, N=N″이면, N″픽처 처리-두번째 GOP의 개시후에 I-픽처에 도달할 것이다. 정확한 N을 가짐으로써, 그것을 유지한다.
만약 N″〈 N이면, GOP길이는 실제 GOP길이보다 짧다. 추정된 GOP길이는 GOP구조(표 1(b)와 2(b) 참조)의 특성 때문에, 적어도 실제 GOP길이보다 짧은 M픽처이다. 여기서, M의 값이 GOP내에서 변경되지 않는다는 것이 추정된다.
M이 GOP 내에서 변경할 기회가 있다면, 각 I 및/또는 P-픽처 다음에 GOP 내에서 M이 주기적으로 체크될 것이다. 또한, GOP 내에서 M이 변하면, N 및 R이 적절하게 조절될 것이다.
이하와 같이, 추가적인 M픽처에 의해 N″픽처의 GOP를 연장한다:
N″=N″+M (21)
그리고, 이하와 같이 추가적인 M픽처에 대한 추가적인 비트 RGOP,M을 추가함으로써, R을 조절한다:
(22)
연장된 GOP길이가 실제 GOP길이보다 여전히 짧으면, 실제 GOP의 끝에 도달할 때까지 상기 절차를 반복한다.
N″〉N이면, GOP길이는 실제 GOP길이보다 길다. 실제 GOP의 끝에서, 정확한 GOP길이 N을 갖고, 나머지 GOP에 대해 그 정확한 길이 N을 이용한다. 추정된 GOP길이(N″)가 실제 GOP길이(N)보다 길기 때문에, 두번째 실제 GOP에서의 픽처를 코딩하기 위한 첫번째 실제 GOP로부터 다소의 비트가 남게 될 것이다. 따라서, 두번째 실제 GOP에 대해 할당된 비트는 이하와 같이 조절되어야만 한다:
(23)
여기서, RGOP,N″-R은 첫번째 N픽처를 인코딩하기 위해 이용된 비트수이다.
도 4(b)는 본 발명에 따른 비-프로그래시브 리프레쉬 픽처 시퀀스의 코딩방법을 기술한다. 상술한 비-프로그래시브 리프레쉬 시퀀스의 비트 할당기술은 이하와 같이 요약된다.
블록 "A"에서, 도 4(a)의 블록 "A"로부터의 처리를 계속한다. 블록 500에서, 추정된 GOP길이 N′가 제공되고, 블록 502에서, 추정거리 M′가 제공된다. 여기서, M′은 디스플레이 순서로 GOP의 첫번째 I픽처와 다음 I 또는 P-픽처간 거리이다. 이 거리는 GOP길이와 동일하거나 동일하지 않다. 일반적으로, 양립할 수 있는 N′과 M′의 값이 선택되고, 예컨대 N′〉M' 및 N′은 M′에 의해 분할된다. 블록 504에서, 추정된 비트 버짓 R이 N′에 따라 제공되고, 블록 505에서 GOP의 픽처를 코딩하기 위해 타겟 비트율 T가 식 (6)을 이용하여 결정된다.
블록 506에서, GOP의 첫번째 픽처가 코딩된다. 블록 508에서 다음 픽처, 즉 GOP의 두번째 픽처가 I-픽처이면, 블록 510에서 처리를 계속하고, 여기서 실제 거리 M″는 식 (13)을 이용하여 결정된다. 블록 514에서, M이 M″로 설정되고, 거리 M″와 GOP길이가 동일하기 때문에 블록 516에서 N이 M으로 설정된다.
블록 518에서, 비트 버짓이 식 (16)에 따라 조절되고, 블록 524에서, 예컨대 블록 500으로 처리가 리턴한다. 블록 500과 502에서, N′과 M′은 각각 선행 GOP의 값 N과 M으로 설정될 수 있다. N과 M은 각 GOP에 대해 확인될 수 있다.
블록 508에서, 다음 픽처, 즉 GOP의 두번째 픽처가 P-픽처이면, 블록 530에서 처리를 계속하고, 여기서 실제 거리 M″은 식 (13)을 이용하여 결정된다. 블록 532에서, M은 M″로 설정된다. 블록 534에서, GOP길이는 N″=M[N′/M′]로서 갱신된다. 블록 536에서, 현재 GOP에서의 나머지 B-픽처의 수 nB는 식 (18)을 이용하여 조절된다. 블록 538에서, 비트 버짓은 식 (19)를 이용하여 조절되고, 블록 540에서, 비트 버짓은 식 (19b)를 이용하여 다시 조절되며, "B"에서 처리를 계속한다.
블록 508에서, 다음 픽처, 즉 GOP의 두번째 픽처가 B-픽처이면, 블록 542에서 처리를 계속하고, 여기서 실제 거리 M″는 식 (12)를 이용하여 결정된다. 블록 544에서, M은 M″로 설정된다. 블록 546에서, GOP길이는 N″=M[N′/M′]로서 갱신된다. 블록 548에서, 현재 GOP에서의 나머지 B-픽처의 수 nB는 식 (18)을 이용하여 조절된다. 블록 550에서, 비트 버짓이 식 (19)를 이용하여 조절되고, "B"에서 처리를 계속한다.
도 4(c)는 본 발명에 따른 도 4(b)의 코딩방법을 계속 기술한다. 도 4(b)로부터의 "B"에서 처리를 계속한다. 블록 552에서, 타겟 비트율 T는 식 (6)을 이용하여 설정되고, 블록 554에서, 카운터가 1로 설정된다. 블록 556에서, GOP의 다음 픽처가 코딩된다. 블록 558에서, 카운터가 증가된다. "카운터"는 본질적으로 GOP의 현재 픽처의 위치를 트랙한다. 블록 560에서, 현재 GOP의 끝에 도달되었는지 여부의 결정이 이루어진다. 만약 그렇다면, 박스 562에서 카운터=N″인지 여부의 결정이 이루어진다. 만약 그렇다면, 이것은 N″가 실제 GOP길이 N과 동일하다는 것을 나타낸다. 본질적으로, 추정된 GOP길이 N″는 정확하게 된다. 블록 566에서 처리를 계속하는데, 여기서 다음 GOP가 코딩된다.
블록 562에서 조건이 거짓(F; False)이면, 이것은 N″〉N(예컨대, 추정된 GOP길이 N″가 너무 큰)인 것을 나타내고, 그 비트율은 식 (23)을 이용하여 블록 564에서 조절된다. 블록 566에서 처리를 계속하는데, 여기서 다음 GOP가 코딩된다.
현재 GOP의 끝이 아직 블록 560에 도달되지 않으면, 블록 570에서 카운터=N″인지 여부의 결정이 이루어진다. 만약 그렇지 않다면, 블록 556에서 처리를 계속한다. 블록 570에서 카운터=N″이면, 이것은 N″〈 N(예컨대, 추정된 GOP길이 N″이 너무 작은)인 것을 나타낸다. 블록 572에서, 추정된 GOP길이 N″는 M에 의해 증가된다. 블록 574에서 비트 버짓이 식 (22)를 이용하여 조절되고, 블록 576에서 다음 M픽처가 코딩되며, 블록 578에서 현재 GOP의 끝이 도달되었는지 여부의 결정이 이루어진다. 만약 그렇다면, 블록 572에서 처리를 계속하는데, 여기서 추정된 GOP길이 N″가 M에 의해 다시 증가된다.
블록 578에서 현재 GOP의 끝이 도달되면, 블록 566에서 처리를 계속하는데, 여기서 다음 GOP가 코딩된다.
도 4(c)의 코딩방법은 도 5를 참조하여 보다 더 이해될 수 있다.
도 5는 본 발명에 따른 추정된 GOP길이 N″를 기술한다. 일반적으로, 픽처의 시퀀스는 디스플레이 순서에 의해 500으로 나타냈다. 첫번째 GOP인 GOP(N,M) 520은 I-픽처(502)에서 시작하고, 다음 GOP 580은 I-픽처(510)에서 시작한다. 다음 GOP는 I-픽처(515)에서 시작한다.
추정된 GOP길이 N″ 530은 실제 GOP길이 N과 같다. 그러나, 추정된 GOP길이 N″ 540은 2개의 M거리(542 및 544)에 의해 실제 길이 N보다 작다. 특히, 추정된 GOP길이 N″ 540은 I-픽처(502)에서 P-픽처(504)로 연장되고, M-거리(542)는 P-픽처(504)에서 P-픽처(506)로 연장되며, M-거리(544)는 P-픽처(506)에서 I-픽처(510)로 연장된다. 추정된 GOP길이 N″ 550은 I-픽처에서 P-픽처(512)로 연장되고, 따라서 실제 GOP길이 N보다 더 크다. 일반적으로, N″은 I 및/또는 P-픽처간 다수의 추정길이로서 초기에 선택된다.
프로그래시브 리프레쉬 유무에 관계없이 비트 할당절차에 대한 C언어 의사코드를 이하에 나타냈다. 동일한 알고리즘을 도 7a~7d의 플로우챠트에 의해 나타냈다. 단일 비트스트림은 프로그래시브 리프레쉬와 I-픽처(비-프로그래시브) 리프레쉬 모드 사이에서 마음대로 스위치할 수 있다.
이러한 의사코드는 도 7a~7d의 플로우챠트 700으로 나타냈다. ni, np 및 nb는 각각 다른 경우에 이용된 바와 같이 nI, nP및 nB와 동일하다.
박스 702는 트랜스코딩을 시작할 필요가 있는 파라메터를 얻기 위해 순서에 따라 비디오 시퀀스 헤더를 검색하는 것을 나타낸다. 트랜스코드화 픽처에 대한 루프의 초기화가 여기서 이루어진다.
박스 704는 픽처 헤더와 모든 보다 높은 레벨 신택스가 완전히 비워진 "get_pict_header"이다. 픽처타입(I, P 또는 B픽처)이 리턴된다. GOP 헤더를 만나면 "GOP_flag"는 참(비-제로; non-zero)이다; 비디오 시퀀스 헤더가 현재 코드화 픽처 전에 그리고 선행 코드화 픽처 후에 발생되면 "seq_hdr_flag"가 참(비-제로)이다.
박스 706에서 "seq_hdr_flag"를 시험하여 참(T; True)이고, 박스 708에서 현재 픽처가 I-픽처가 아니면, "prog_refresh"는 1(참)로 설정된다.
박스 710은 픽처타입에 기초한 스위치문이다. 코드 또는 플로우챠트로 나타내지는 않았지만, MPEG-2 D-픽처는 이러한 알고리즘에서 I-픽처와 같이 처리된다.
선행 픽처타입이 B-픽처이면(박스 712), 시간적인 레퍼런스로부터 M의 새로운 값이 결정된다. GOP가 짧아지면, 예상된 GOP길이보다 초과된 비트가 "R"로부터 삭제되고 "M", "N", "n"의 새로운 값이 설정된다(박스 714). "R"은 나머지 GOP를 코딩하기 위해 남아 있는 타겟 비트수(실제 수는 아님)이다. 실제 GOP크기가 다르면, 비트 차(긍정(positive) 또는 부정(negative))가 "R"에 남게되어 다음 GOP에 대한 타겟크기에 영향을 미친다. 이것은 평균 GOP크기를 "N*bit_rate()/frame_rate()"로 하기 위해 피드백 루프를 형성한다.
펑크션 "bit_rate()"는 채널 용량과 통계적 다중화의 고려에 따라 변경하는 현재 타겟 트랜스코더 출력비트율을 리턴한다. 펑크션 "frame_rate()"는 여러가지 코드화 픽처중 repeat_first_field 플래그(flag)의 영향에 의해 변경된 비디오 시퀀스 헤더에 지정된 프레임율인 평균 코드화 프레임율이다. "bit_rate()/frame_rate()"는 트랜스코더에 의해 출력되는 원하는 현재 평균 코드화 픽처를 나타낸다. 그것은 다른 MPEG 픽처타입을 고려하지 않기 때문에 평균이다. 따라서, GOP에 대한 타겟 비트수 "N*bit_rate()/frame_rate()"는 N(픽처의 GOP길이)과 평균 픽처크기를 곱한 것이다.
만약 트랜스코더가 프로그래시브 리프레쉬 모드로 동작하면, 현재 픽처가 I-픽처이고 N이 GOP길이에 대한 초기 추측(박스 716 및 718)으로 설정되기 때문에 상기 모드가 손상된다.
만약 720의 조건이 참이면, "N"의 정확한 값이 사용된다. 이 경우, R은 길이 N의 새로운 GOP에 필요한 비트수로 갱신된다(박스 722). 720 조건이 거짓이면, "N"의 선행 추정은 잘못된 것이고 N과 R이 적절하게 갱신된다(박스 724).
박스 726은 GOP타입에 따라 픽처타입 다운 카운터("ni", "np", "nb")가 GOP로 가야할 픽처수(n)를 리셋하고, 일반화된 I-픽처 복잡도(X)를 계산하여 선행 픽처타입을 갱신한다.
박스 728은 스위치문에서의 P-픽처 경우의 개시이다. 선행픽처가 B-픽처가 아니면(박스 730), 시간적인 레퍼런스로부터 M의 새로운 값(M″)이 계산된다. 2개의 10비트 시간적인 레퍼런스수 사이의 차는 발생된 순환(wrap around)을 부정하게 된다; 이것이 1024가 추가된 이유이다. 순환이 일어나지 않으면, 2진수 1111111111의 16진 표시인 0x3FF는 포지티브 차를 남기는 210비트가 사라진다; 그렇지 않으면, 1024의 추가는 네가티브 차를 포지티브로 만들고 이 결과는 비트-와이즈(bit-wise) AND 동작에 의해 변경되지 않는다. 선행 픽처가 B-픽처가 아니기 때문에, "n"(GOP에 남아 있는 픽처의 수)에 대한 가능한 정정 "nb"(GOP에 남아 있는 B-픽처의 수) 및 R(GOP의 나머지 픽처에 대해 할당된 비트수)이 요구된다.
M이 변경되고 트랜스코더가 프로그래시브 리프레쉬 모드에 있지 않으면(박스 732), "N", "n", "nb", "np" 및 "R"에 대한 정정이 박스 734에서 이루어진다.
박스 736은 M(M″로 미리 계산된)을 갱신한다.
GOP의 끝이 도달되면(n이 0보다 작거나 같은-박스 738), 사실상 GOP는 예상했던 것 보다 더 길다. 이 경우, "N", "R", "n", "ni", "np" 및 "nb"의 값은 박스 740에서 M픽처(하나의 P-픽처와 M-1 B-픽처)의 증가 GOP길이를 반영하기 위해 갱신된다.
박스 742는 일반화된 P-픽처 복잡도 "X"를 계산하고 현재 시간적인 레퍼런스가 되는 "prev_temp_ref"를 리셋한다.
선행 픽처가 B-픽처가 아닌(박스 744의 조건하에서) B-픽처의 경우, 시간적인 레퍼런스의 차로부터 새로운 M의 값(M″으로)이 계산된다(박스 746 참조). 이 계산은 10비트 시간적인 레퍼런스가 순행될 가능성을 제공한다(따라서, 10비트에 마스크와 +1024).
M의 값이 변경되면(박스 748에서 시험된 조건), 상태변수는 "prog_refersh"에 따라 갱신된다(박스 750). 프로그래시브 리프레쉬 경우에 있어서, "nb"와 "R"이 변경될 필요가 있다(박스 752). I-픽처 리프레쉬가 진행에 있으며, "N", "np", "nb", "n" 및 "R" 모두를 변경할 필요가 있다(박스 754).
B-픽처에 대한 새로운 일반화된 복잡도는 박스 758에서 계산된다.
스위치문 다음에, 다음 픽처에 대한 타겟크기 "T"가 박스 760에서 계산된다. 이 수는 새로운 비트율로 트랜스코딩된 경우 현재 픽처의 예정된 크기이다. "transcode_picture()"에 의해 리턴된 실제 크기는 R을 감소시키기 위해 이용된다(박스 770 참조). "T"의 계산 다음에, GOP에 남아 있는 픽처의 수 "n"과 현재 타입의 픽처의 수("ni", "np" 또는 "nb")가 감소된다(박스 762에서 768 참조).
3. 타겟율의 차
GOP 파라메터의 다른 세트에 따라 결정된 픽처의 타겟 비트율은 달라질 수 있다(식 (5)와 (6) 참조). 이제, 정확한 개시 GOP구조의 유무에 관계없이 타겟율의 차를 분석한다. 분석의 간단화를 위해, 이하와 같이 가정한다:
1. 각 픽처에서 트랜스코더는 타겟율을 만날 수 있다. 이것은 GOP의 끝에서 나머지 비트수가 제로와 같고, N픽처의 GOP가 정확하게 RGOP,N=N·(bit_rate/frame_rate)bits로 할당되는 것을 의미한다.
2. GOP 내에 모든 동일한 타입의 픽처는 동일한 복잡도 기준을 갖는다.
3. 정확한 M값을 갖는다. 사실상, 두번째 픽처의 헤더를 읽은 후에 정확하게 정확한 M을 가질 수 있다.
상기 가정은 분석을 단순하게 하기 위한 것 뿐이고, 실제 트랜스코더에 대한 100% 진실은 아니다. 예컨대, 트랜스코더는 프레임에서 타겟율을 100% 만날 수 없고, 따라서 GOP의 끝에서 나머지 비트수 R이 제로 비트가 되지 않을 것이다.
조건 1과 2의 경우는 식 (5)와 (6)이 이상적이다. 즉, GOP의 동일한 타입의 모든 픽처는 동일한 비트수로 할당된다. 타겟율의 차이의 분석에 식 (5)를 이용한다. 미리 압축된 비트스트림이 이하와 같이 GOP 파라메터의 세트에 따라 코딩된 것을 가정하자:
N,M--〉NI,NP,NB
비교에 있어서, 이하와 같이 정확한 GOP구조(I)와 부정확한 GOP구조(II)의 2개의 다른 GOP구조에 따라 미리 압축된 비트스트림의 트랜스코딩을 개시한다:
Starting GOP(I): N,M--〉NI,NP,NB
Starting GOP(II): N′,M′--〉NI,NP,NB
각각의 GOP(I)와 GOP(II)에 따른 프레임 n에 대한 타겟율을 Tn과 T′n이라 하자. 이들 2개의 타겟율간의 차는 이하의 식과 같다:
이러한 타겟 비트율의 차를 보다 더 이해하기 위해, 2개의 수적인 예를 검토하자. 첫번째예로서, 개시 GOP(II)가 실제 GOP보다 짧다고 가정하자, 즉,
N = 15 M = 3 --〉 NI= 1 NP= 4 NB= 10
N'= 12 M'= 3 --〉 N'I= 1 N'P= 3 N'B= 8
KI=KP=1 및 KB=1.4로 설정하고, 이하와 같이 MPEG TM5에서 초기화된 바와 같은 복잡도 기준을 이용하면,
XI=160·bit_rate/frame_rate
XP=60·bit_rate/frame_rate (25)
XB=40·bit_rate/frame_rate
이하와 같은 2개의 타겟율간 차를 얻을 수 있다:
(26)
여기서, GOP구조의 선지식이 있는 타겟율은 본 발명의 비율제어시스템을 이용한 GOP구조의 선지식이 없는 타겟율보다 3.5% 더 높다. 보다 짧은 GOP는 모든 3개의 픽처타입에 대해 보다 적은 타겟율을 야기한다.
두번째예로서, 개시 GOP(II)는 이하와 같이 실제보다 긴 길이를 갖는다:
N = 15 M = 3 --〉 NI= 1 NP= 4 NB= 10
N'= 18 M'= 3 --〉 N'I= 1 N'P= 5 N'B= 12
타겟율의 차는 이하와 같다:
(27)
여기서, GOP구조의 선지식이 있는 타겟율은 본 발명의 비율제어시스템을 이용한 GOP구조의 선지식이 없는 타겟율보다 1.7% 더 낮다. 보다 긴 GOP는 모든 3개의 픽처타입에 대해 많은 비트의 할당을 야기한다.
개시 GOP가 실제 GOP길이보다 짧거나 긴지의 여부에 따라, 개시 GOP 또는 실제 GOP의 끝까지 타겟 비트율의 차를 유지한다.
개시 GOP가 실제 GOP보다 짧으면(즉, N′〈 N), 개시 GOP의 끝에서 RGOP,M의 추가 비트를 갖는 M에 의해 N′픽처의 GOP를 연장한다. 따라서, 나머지 비트수는 이하의 식과 같다:
(28)
N′픽처의 개시 GOP의 끝에서 R=0이 추정된다. 사실상, 추가적인 M픽처는 N'I=0, N'P=1 및 N'B=M-1과, M·(bit_rate/frame_rate)bits의 비트 버짓에 따라 N=M의 또 다른 GOP를 형성한다. P 또는 B타입의 추가적인 M픽처에 대한 타겟 비트율의 차는(식 (24) 참조) 이하의 식과 같이 간단화 될 수 있다:
(29)
수적인 첫번째예의 경우, 타겟 비트율의 차는 이하의 식과 같다:
(30)
여기서, GOP구조의 선지식이 있는 타겟율은 본 발명의 비율제어시스템을 이용한 GOP구조의 선지식이 없는 타겟율보다 17.0% 높다. 비교적 적은 비트가 선행 픽처에 할당되기 때문에, 비교적 많은 비트는 연장된 GOP의 픽처에 할당된다. M픽처의 연장된 GOP가 여전히 N픽처의 실제 GOP 끝에 있지 않으면, 실제 GOP의 끝에 도달할 때까지 상기 절차를 반복한다. 모든 M픽처의 연장된 GOP가 동일한 패턴의 픽처구성과 동일한 비트 버짓을 갖기 때문에, M픽처의 연장된 GOP에서의 픽처에 대한 타겟율의 차는 동일함을 유지한다.
N픽처의 첫번째 실제 GOP의 끝과 M픽처의 최종 연장된 GOP의 끝에서 나머지 비트수 R=0을 갖는 실제 GOP구조에 관한 완전한 정보를 갖는다. 따라서, 두번째 GOP로부터 타겟율의 차가 없어질 것이다. 본 발명의 비율제어시스템을 이용한 GOP구조의 선지식이 있거나 없는 2개의 타겟율은 실제 두번째 GOP와 동일할 것이다.
한편, 추정된 개시 GOP길이가 실제 GOP길이보다 길면(즉, N′〉N), 실제 GOP의 끝에서 실제 GOP구조에 관한 완전한 정보를 갖지만, 나머지 비트수 R≠0이다. 즉, 두번째(실제) GOP에 대해 할당하기 위한 다소의 비트를 남길 것이다. 따라서, 두번째 실제 GOP에 단순히 RGOP,N비트를 주는 대신, R을 R=2RGOP,N-(RGOP,N'-R)와 같이 조절해야만 한다(식 (23) 참조). 정확하거나 부정확한 개시 GOP구조에 따른 타겟 비트율은 두번째(실제) GOP에서 여전히 동일하지 않을 것이다. 두번째(실제) GOP에서의 타겟율의 차는 이하와 같다:
(31a)
(31b)
(31c)
여기서, RGOP,N'-R은 첫번째 N픽처에 대해 할당된 비트수이고, 이하의 식과 같다:
(32)
따라서, 타겟율의 차는 이하의 식과 같이 된다:
상기 식 (24)와 (33)을 비교함으로써, 동일한 절대값을 갖지만 다르게 표기되는 첫번째 및 두번째 실제 GOP에서의 타겟율의 차를 알 수 있다. 사실, 보다 긴 개시 GOP는 첫번째 실제 GOP에 대해 많은 비트를 사용하고, 따라서 두번째 실제 GOP에 대해 소수의 비트를 남긴다. 수적인 두번째예의 경우, 두번째 실제 GOP의 픽처에 대한 타겟율의 차는 이하와 같다:
Δ=Tn-T'n=1.7%·Tn(34)
두번째 실제 GOP의 끝에서 나머지 비트수 R=0이다. 세번째 실제 GOP는 RGOP,N비트로 할당된다. 세번째 실제 GOP로부터 타겟율의 차는 없을 것이다.
상기 2가지의 수적인 예의 프레임 수에 따른 타겟율이 분석된다. 정확한 개시 GOP(N=15, M=3)의 타겟율이 비교의 기준이다. 비교 데이터는 개시 GOP(N=12, M=3)와, 개시 GOP(N=18, M=3)를 위해 얻어진다. 모든 동일한 타입의 픽처가 동일한 비트수로 할당되는 것이 확인된다. 더욱이, 개시 GOP가 실제 GOP보다 짧으면, 보다 적은 비트는 개시 GOP의 끝 전의 픽처에 할당되고, 많은 비트는 M픽처의 연장된 GOP의 픽처에 할당된다. 두번째 실제 GOP로부터 개시하는 타겟율의 차는 없다.
한편, 개시 GOP가 실제 GOP보다 길면, 약간 많은 비트는 첫번째 실제 GOP의 픽처에 할당되고, 보다 적은 비트는 두번째 실제 GOP의 픽처에 할당된다. 세번째 실제 GOP로부터의 타겟율은 동일하다.
4. 시뮬레이션 결과
시뮬레이션은 본 발명의 비율제어시스템을 평가하기 위해 도입된다. 우선, 테스트 시퀀스는 표 I에 나타낸 바와 같이, 각각 다른 GOP 파라메터의 세트가 15Mbits/sec의 비트율로 코딩된다. 다음에, 압축된 비트스트림은 N=15 및 M=3의 개시 GOP가 3Mbits/s의 새로운 비율로 트랜스코딩된다.
표 I
GOP1 GOP2 GOP3
NM 30 12 83 2 1
GOP 파라메터의 정확한 개시 세트와, N=15 및 M=3의 개시 GOP에 대한 타겟율이 분석된다. 실제로, 트랜스코더는 각각의 프레임에서 타겟율을 항상 만나지 않는다. 따라서, 각 GOP의 끝에서 나머지 비트수 R은 제로가 아니다. 제로가 아닌 R은 다음 GOP로 패스된다(식 (8) 참조). 이것은 GOP가 약간 다른 비트수가 주어진 것을 의미한다. 정확한 개시 GOP와 비교된 바와 같이, 보다 긴 개시 GOP는 첫번째 GOP의 픽처에 대해 많은 비트를 할당하는 것을 알 수 있다. 따라서, 보다 적은 비트가 두번째 GOP의 픽처에 남는다. 세번째 GOP에서 정확한 그리고 부정확한 GOP에 따른 타겟율의 집중을 개시한다. 한편, 보다 짧은 개시 GOP는 첫번째 소수의 첫번째 픽처에 대해 보다 작은 타겟율을 야기하고 나머지 첫번째 GOP에 대해 많은 비트를 야기한다. 타겟율은 두번째 GOP에 가까워진다.
다양한 테스트 조건하에서 비트율 할당 시스템의 유효성을 입증하기 위해, 시퀀스가 다양한 GOP길이, 즉 N=15, 12, 12, 18, 18, 15, 15, 9, 9, 30으로 코딩된다. 정확한 GOP길이의 각 GOP에서 각 GOP에 대한 개시 GOP길이와 같은 선행 GOP구조길이를 이용함으로써 타겟율이 분석된다. 그 결과는 이러한 스트레스(stress) 테스트와 가까워진다.
도 6은 본 발명에 따른 비율제어시스템을 기술한다. 미리 압축된 비트스트림, 즉 프로그램1과 프로그램2는 각각의 트랜스코더 620과 630에 제공된다. 1개 또는 몇개의 비트스트림과 트랜스코더가 존재한다. 예컨대, 비트스트림은 트랜스코더에서 실시간으로 위성방송장치와 같은 멀리 떨어진 소스로부터 수신되거나, 지역 저장매체로부터 제공된다.
트랜스코더(620,630)는 각각의 비트스트림을 부분적으로 신장(decompress)하고, 비율제어 프로세서(605)에 의해 제공된 타겟 비트율 신호에 따라, 다른 양자화 파라메터를 이용함으로써 상기 부분적으로 신장된 데이터를 다른 데이터율로 인코딩한다.
비율제어 프로세서는 현재 픽처의 픽처타입과, 현재 픽처를 인코딩하기 위해 사용된 양자화 파라메터를 포함하는 정보를 트랜스코더로부터 수신한다. 이러한 정보는 상술한 바와 같이 타겟 비트율을 설정하기 위해 처리된다. 비율제어 프로세서(605)는 중앙처리장치(CPU) 및 메모리(614)와 같은 공지의 처리회로를 포함한다. 상기 메모리(614)는 상술한 초기 거리 M' 및 N'을 제공하기 위한 데이터를 기억하는 불휘발성 메모리이다. 비율제어 프로세서는 상술한 의사-코드와 같은 C-언어를 실행시키기 위한 컴퓨팅 회로를 포함한다.
사용자 인터페이스(608)는 비율제어처리에 있어서의 다른 적절한 파라메터나 디폴트 거리(M' 및 N')를 설정하기 위해 비율제어 프로세서(605)와 통신한다.
트랜스코더(620,630)로부터의 트랜스코드화 데이터가 멀티플렉서(660: MUX)에 제공되고, 다음에 인코더 버퍼(670)에 제공된다. 버퍼 충만신호는 인코더 버퍼(670)로부터 비율제어 프로세서(605)로 제공된다. 그 인코드화 데이터는 새로운 트랜스코딩된 데이터율로 최종적으로 채널에 전송된다.
5. 결론
본 발명은 MPEG표준에 맞는 디지털 비디오 트랜스코더에 사용하기에 적절한 새로운 비율제어시스템을 갖춘다. 본 발명의 비율제어는 처리지연이 없고 여분의 메모리가 필요 없다. 어떤 적절한 GOP 파라메터의 세트에 따라 개시할 수 있고, 다음에 연속픽처가 코딩될 필요가 있으면 점차적으로 정정한다. 따라서, 채널 스위칭, 광고방송 삽입 등의 경우, 미리 압축된 비트스트림의 GOP구조의 변경을 어드레스 할 수 있다. 정확한 그리고 부정확한 개시 GOP 파라메터에 따른 타겟율은 1개 또는 2개의 GOP 내에 집중시킬 수 있다. 타겟율의 차는 상당히 작은 마진 내에 있다. 더욱이, 유사한 타겟율은 유사한 PSNR이나 픽처 품질에 의존한다.
비록 본 발명이 상기와 같이 여러가지 실시예를 기술했지만, 본 발명은 상기의 실시예만을 한정하는 것은 아니고, 본 발명의 목적 및 배경을 벗어나지 않는 범위 내에서 다양하게 실시할 수 있다.
상기 기술한 바와 같이 본 발명은 MPEG표준에 맞는 디지털 비디오 트랜스코더에 사용하는데 적합하고, 어떠 적절한 추정된 GOP 파라메터의 세트에 따라 코딩을 개시함으로써, 미리 압축된 비트스트림으로부터 완전한 GOP구조 정보를 추출시키지 않고 대략 하나의 GOP의 처리지연을 피할 수 있으며, GOP에 대응하는 데이터를 저장할 필요가 없기 때문에, 트랜스코딩을 위해 요구된 메모리가 감소될 수 있다.

Claims (76)

  1. 디지털 비디오 트랜스코더에서 수신된 비트스트림에서의 픽처를 코딩하기 위해 비트를 할당하는 방법에 있어서,
    (a) 상기 비트스트림의 디스플레이 순서로 상기 비트스트림의 첫번째 픽처와 상기 비트스트림의 다음에 가장 가까운 다음의 P-픽처간 추정거리(M′)를 제공하는 단계와,
    (b) 상기 추정거리(M′)의 펑크션으로서 추정된 비트 버짓을 제공하는 단계,
    (C) 상기 첫번째 픽처를 상기 추정된 비트 버짓에 따라 코딩하는 단계,
    (d) 상기 비트스트림의 인코딩 순서로 상기 비트스트림의 상기 첫번째 픽처 다음에 곧바로 이어지는 두번째 픽처의 픽처타입을 결정하는 단계,
    (e) 상기 추정된 비트 버짓을 상기 두번째 픽처의 픽처타입에 따라 조절하는 단계 및,
    (f) 상기 조절된 비트 버짓에 따라 상기 두번째 픽처를 코딩하기 위해 비트를 할당하는 단계를 구비하여 이루어진 것을 특징으로 하는 비트 할당방법.
  2. 제1항에 있어서, 상기 추정된 비트 버짓은 상기 비트스트림의 비트율과 상기 추정된 거리에 비례하고, 상기 비트스트림의 프레임율에 반비례하는 것을 특징으로 하는 비트 할당방법.
  3. 제1항에 있어서, 상기 비트스트림의 상기 픽처는 프로그래시브 리프레쉬 시퀀스를 형성하는 것을 특징으로 하는 비트 할당방법.
  4. 제1항에 있어서, 상기 첫번째 픽처는 P-픽처이고 상기 두번째 픽처는 B-픽처이며,
    상기 두번째 픽처의 상기 픽처타입에 따라 상기 디스플레이 순서로 상기 첫번째 픽처와 상기 다음에 가장 가까운 다음의 P-픽처간 실제 거리(M″)를 결정하는 단계를 더 구비하여 이루어진 것을 특징으로 하는 비트 할당방법.
  5. 제4항에 있어서, 상기 디스플레이 순서로 상기 두번째 픽처의 시간적인 레퍼런스와, 디스플레이 순서로 1개의 픽처를 플러스 하는 상기 첫번째 픽처의 시간적인 레퍼런스간 차에 따라 상기 실제 거리(M″)가 결정되는 것을 특징으로 하는 비트 할당방법.
  6. 제4항에 있어서, 상기 조절된 비트 버짓에 따라 상기 첫번째 픽처 다음에 이어지는 나머지 M″-1픽처를 코딩하기 위해 비트를 할당하는 단계를 더 구비하여 이루어진 것을 특징으로 하는 비트 할당방법.
  7. 제4항에 있어서, 상기 조절단계(e)는 +(M″-M′)*"비트율"/"프레임율"에 의해 상기 추정된 비트 버짓을 조절하는 단계로 이루어지며, 상기 "비트율"은 상기 비트스트림의 비트율이고, 상기 "프레임율"은 상기 비트스트림의 프레임율인 것을 특징으로 하는 비트 할당방법.
  8. 제1항에 있어서, 상기 첫번째 및 두번째 픽처는 P-픽처이고,
    상기 두번째 픽처의 상기 두번째 픽처타입에 따라 상기 디스플레이 순서로 상기 첫번째 픽처와 상기 다음에 가장 가까운 다음의 P-픽처간 실제 거리(M″)를 결정하는 단계를 더 구비하여 이루어진 것을 특징으로 하는 비트 할당방법.
  9. 제8항에 있어서, 상기 디스플레이 순서로 상기 두번째 픽처의 시간적인 레퍼런스와, 상기 디스플레이 순서로 상기 첫번째 픽처의 시간적인 레퍼런스간 차에 따라 상기 실제 거리(M″)가 결정되는 것을 특징으로 하는 비트 할당방법.
  10. 제8항에 있어서, 상기 조절단계(e)는 -(M′-1)*"비트율"/"프레임율"에 의해 상기 추정된 비트 버짓을 조절하는 단계로 이루어지며, 상기 "비트율"은 상기 비트스트림의 비트율이고, 상기 "프레임율"은 상기 비트스트림의 프레임율인 것을 특징으로 하는 비트 할당방법.
  11. 제8항에 있어서, 상기 조절된 비트 버짓에 따라 상기 첫번째 픽처 다음에 이어지는 나머지 M″-1픽처를 코딩하기 위해 비트를 할당하는 단계를 더 구비하여 이루어진 것을 특징으로 하는 비트 할당방법.
  12. 제1항에 있어서, 상기 조절된 비트 버짓에 따라 상기 비트스트림의 상기 첫번째 및 두번째 픽처를 포함하는 초기 M″픽처 다음에 이어지는 M″픽처의 시리즈를 코딩하기 위해 비트를 할당하는 단계를 더 구비하여 이루어진 것을 특징으로 하는 비트 할당방법.
  13. 디지털 비디오 트랜스코더에서 수신된 비트스트림에서의 픽처의 시퀀스를 코딩하기 위해 비트를 할당하는 방법에 있어서,
    (a) 상기 비트스트림의 특정 GOP의 추정길이(N′)를 제공하는 단계와,
    (b) 상기 추정길이(N′)의 펑크션으로서 추정된 비트 버짓을 제공하는 단계,
    (c) 상기 특정 GOP의 첫번째 픽처를 상기 추정된 비트 버짓에 따라 코딩하기 위해 비트를 할당하는 단계,
    (d) 상기 첫번째 픽처 다음에 곧바로 이어지는 두번째 픽처의 픽처타입을 결정하는 단계,
    (e) 상기 추정된 비트 버짓을 상기 두번째 픽처의 상기 픽처타입에 따라 조절하는 단계 및,
    (f) 상기 두번째 픽처를 상기 조절된 비트 버짓에 따라 코딩하기 위해 비트를 할당하는 단계를 구비하여 이루어진 것을 특징으로 하는 비트 할당방법.
  14. 제13항에 있어서, 상기 추정된 비트 버짓은 상기 비트스트림의 비트율과 상기 추정길이(N′)에 비례하고, 상기 비트스트림의 프레임율에 반비례하는 것을 특징으로 하는 비트 할당방법.
  15. 제13항에 있어서, 상기 첫번째 및 두번째 픽처는 I-픽처이며,
    상기 두번째 픽처의 픽처타입에 따라 상기 비트스트림의 상기 첫번째 픽처와 다음에 가장 가까운 다음의 I-픽처간 실제 거리(M″)를 결정하는 단계와,
    상기 추정된 비트 버짓을 상기 실제 거리(M″)에 따라 조절하는 단계를 더 구비하여 이루어진 것을 특징으로 하는 비트 할당방법.
  16. 제15항에 있어서, 상기 실제 거리(M″)는 상기 비트스트림의 디스플레이 순서로 상기 두번째 픽처의 시간적인 레퍼런스와, 상기 디스플레이 순서로 상기 첫번째 픽처의 시간적인 레퍼런스간 차에 따라 결정되는 것을 특징으로 하는 비트 할당방법.
  17. 제13항에 있어서, 상기 조절단계(e)는 -(N′-1)*"비트율"/"프레임율"에 의해 상기 추정된 비트 버짓을 조절하는 단계를 구비하여 이루어지며, 상기 "비트율"은 상기 비트스트림의 비트율이고, 상기 "프레임율"은 상기 비트스트림의 프레임율인 것을 특징으로 하는 비트 할당방법.
  18. 제13항에 있어서, 상기 조절된 비트 버짓에 따라 상기 두번째 픽처 다음에 이어지는 상기 특정 GOP의 나머지 픽처를 코딩하기 위해 비트를 할당하는 단계를 더 구비하여 이루어진 것을 특징으로 하는 비트 할당방법.
  19. 제13항에 있어서, 상기 비트스트림의 디스플레이 순서로 상기 비트스트림의 첫번째 픽처와 다음에 가장 가까운 다음의 P-픽처간 추정거리(M′)를 제공하는 단계를 더 구비하여 이루어지고,
    상기 추정거리(M′)에 따라 상기 단계(c)에서 상기 첫번째 픽처를 코딩하기 위해 상기 비트가 할당되는 것을 특징으로 하는 비트 할당방법.
  20. 제19항에 있어서, 상기 첫번째 픽처는 I-픽처이고 상기 두번째 픽처는 P-픽처이며,
    상기 두번째 픽처의 상기 픽처타입에 따라 상기 디스플레이 순서로 상기 첫번째 픽처와 다음에 가장 가까운 다음의 P-픽처간 실제 거리(M″)를 결정하는 단계와,
    조절된 추정길이(N″)를 제공하기 위해, 상기 실제 거리(M″)에 따라 상기 GOP의 상기 추정길이(N′)를 조절하는 단계를 더 구비하여 이루어지고,
    상기 조절단계(e)는 상기 조절된 추정길이(N′)에 따르는 것을 특징으로 하는 비트 할당방법.
  21. 제20항에 있어서, 상기 조절된 추정길이(N″)를 제공하기 위해, 요소 M(N′/M′)에 의해 상기 조절단계에서 상기 특정 GOP의 상기 추정길이(N′)가 조절되고, 상기 M=M″인 것을 특징으로 하는 비트 할당방법.
  22. 제20항에 있어서, 상기 조절단계(e)는 요소 (N″-N′)*"비트율"/"프레임율"에 의해 상기 추정된 비트 버짓을 조절하는 단계를 구비하여 이루어지며, 상기 "비트율"은 상기 비트스트림의 비트율이고, 상기 "프레임율"은 상기 비트스트림의 프레임율인 것을 특징으로 하는 비트 할당방법.
  23. 제22항에 있어서, 상기 조절단계(e)는 요소 (M″-1')*"비트율"/"프레임율"에 의해 상기 추정된 비트 버짓을 조절하는 단계를 더 구비하여 이루어지며, 상기 "비트율"은 상기 비트스트림의 비트율이고, 상기 "프레임율"은 상기 비트스트림의 프레임율인 것을 특징으로 하는 비트 할당방법.
  24. 제20항에 있어서, 상기 조절된 비트 버짓에 따라 상기 두번째 픽처 다음에 이어지는 상기 특정 GOP의 나머지 픽처를 코딩하기 위해 비트를 할당하는 단계를 더 구비하여 이루어진 것을 특징으로 하는 비트 할당방법.
  25. 제20항에 있어서, N″〉N이면, 상기 특정 GOP의 N″픽처를 코딩한 후에 상기 특정 GOP의 실제 길이를 결정하는 단계와,
    N″〉N이면, N과 N″에 따라 상기 조절된 비트 버짓을 더 조절하는 단계 및,
    상기 더 조절된 비트 버짓에 따라 N″ 코드화 픽처 다음에 이어지는 상기 비트스트림의 픽처를 코딩하기 위해 비트를 할당하는 단계를 더 구비하여 이루어진 것을 특징으로 하는 비트 할당방법.
  26. 제20항에 있어서, N″〈 N이면, 상기 특정 GOP의 N″픽처를 코딩한 후에 상기 특정 GOP의 실제 길이를 결정하는 단계와,
    N″〈 N이면, M=M″에 따라 상기 조절된 비트 버짓을 더 조절하는 단계 및,
    상기 더 조절된 비트 버짓에 따라 N″ 코드화 픽처 다음에 이어지는 상기 비트스트림의 픽처를 코딩하기 위해 비트를 할당하는 단계를 더 구비하여 이루어진 것을 특징으로 하는 비트 할당방법.
  27. 제13항에 있어서, 상기 첫번째 픽처는 I-픽처이고 상기 두번째 픽처는 B-픽처이며,
    상기 비트스트림의 디스플레이 순서로 상기 비트스트림의 상기 첫번째 픽처와 다음에 가장 가까운 다음의 P-픽처간 추정거리(M′)를 제공하는 단계를 더 구비하여 이루어지고,
    상기 추정거리(M′)에 따라 상기 두번째 픽처를 코딩하기 위해 상기 비트가 할당되는 것을 특징으로 하는 비트 할당방법.
  28. 제27항에 있어서, 상기 두번째 픽처의 상기 픽처타입에 따라 상기 디스플레이 순서로 상기 첫번째 픽처와 다음에 가장 가까운 다음의 P-픽처간 실제 거리(M″)를 결정하는 단계와,
    조절된추정길이(N″)를 제공하기 위해, 실제 거리 M=M″에 따라 상기 GOP의 상기 추정길이(N′)를 조절하는 단계를 더 구비하여 이루어지고,
    상기 조절단계(e)는 상기 조절된 추정길이(N′)에 따르는 것을 특징으로 하는 비트 할당방법.
  29. 제28항에 있어서, 상기 조절된 추정길이(N″)를 제공하기 위해, 요소 M(N′/M′)에 의해 상기 조절단계에서 상기 특정 GOP의 상기 추정길이(N′)가 조절되는 것을 특징으로 하는 비트 할당방법.
  30. 제28항에 있어서, 상기 조절단계(e)는 요소 (N″-N′)*"비트율"/"프레임율"에 의해 상기 추정된 비트 버짓을 조절하는 단계를 구비하여 이루어지며, 상기 "비트율"은 상기 비트스트림의 비트율이고, 상기 "프레임율"은 상기 비트스트림의 프레임율인 것을 특징으로 하는 비트 할당방법.
  31. 제28항에 있어서, 상기 조절된 비트 버짓에 따라 상기 두번째 픽처 다음에 이어지는 상기 특정 GOP의 나머지 픽처를 코딩하기 위해 비트를 할당하는 단계를 더 구비하여 이루어진 것을 특징으로 하는 비트 할당방법.
  32. 제28항에 있어서, N″〉N이면, 상기 특정 GOP의 N″픽처를 코딩한 후에 상기 특정 GOP의 실제 길이를 결정하는 단계와,
    N″〉N이면, N과 N″에 따라 상기 조절된 비트 버짓을 더 조절하는 단계 및,
    상기 더 조절된 비트 버짓에 따라 N″ 코드화 픽처 다음에 이어지는 상기 비트스트림의 픽처를 코딩하기 위해 비트를 할당하는 단계를 더 구비하여 이루어진 것을 특징으로 하는 비트 할당방법.
  33. 제28항에 있어서, N″〈 N이면, 상기 특정 GOP의 N″픽처를 코딩한 후에 상기 특정 GOP의 실제 길이를 결정하는 단계와,
    N″〈 N이면, M=M″에 따라 상기 조절된 비트 버짓을 더 조절하는 단계 및,
    상기 더 조절된 비트 버짓에 따라 N″ 코드화 픽처 다음에 이어지는 상기 비트스트림의 픽처를 코딩하기 위해 비트를 할당하는 단계를 더 구비하여 이루어진 것을 특징으로 하는 비트 할당방법.
  34. 제13항에 있어서, 상기 조절된 비트 버짓에 따라 상기 특정 GOP 다음에 이어지는 GOP를 코딩하기 위해 비트를 할당하는 단계를 더 구비하여 이루어진 것을 특징으로 하는 비트 할당방법.
  35. 제13항에 있어서, 상기 비트스트림의 디스플레이 순서로 상기 특정 GOP에서의 상기 첫번째 픽처 다음에 이어지는 I-픽처 또는 P-픽처와, 상기 특정 GOP에서의 다음 I-픽처 또는 P-픽처간 실제 거리(M″)를 결정함으로써, 상기 특정 GOP의 I-픽처 및/또는 P-픽처간 실제 거리(M″) 변화의 원인을 제시하는 단계와,
    상기 실제 거리(M″)에 따라 상기 추정된 비트 버짓을 조절하는 단계를 더 구비하여 이루어진 것을 특징으로 하는 비트 할당방법.
  36. 디지털 비디오 트랜스코더에서 수신된 비트스트림에서의 픽처를 코딩하기 위해 비트를 할당하기 위한 장치에 있어서,
    (a) 상기 비트스트림의 디스플레이 순서로 상기 비트스트림의 첫번째 픽처와 상기 비트스트림의 다음에 가장 가까운 다음의 P-픽처간 추정거리(M′)를 제공하기 위한 수단과,
    (b) 상기 추정거리(M′)의 펑크션으로서 추정된 비트 버짓을 제공하기 위한 수단,
    (C) 상기 첫번째 픽처를 상기 추정된 비트 버짓에 따라 코딩하기 위한 수단,
    (d) 상기 비트스트림의 인코딩 순서로 상기 비트스트림의 상기 첫번째 픽처 다음에 곧바로 이어지는 두번째 픽처의 픽처타입을 결정하기 위한 수단,
    (e) 상기 추정된 비트 버짓을 상기 두번째 픽처의 픽처타입에 따라 조절하기 위한 수단 및,
    (f) 상기 조절된 비트 버짓에 따라 상기 두번째 픽처를 코딩하기 위해 비트를 할당하기 위한 수단을 구비하여 구성된 것을 특징으로 하는 비트 할당장치.
  37. 제36항에 있어서, 상기 추정된 비트 버짓은 상기 비트스트림의 비트율과 상기 추정된 거리에 비례하고, 상기 비트스트림의 프레임율에 반비례하는 것을 특징으로 하는 비트 할당장치.
  38. 제36항에 있어서, 상기 비트스트림의 상기 픽처는 프로그래시브 리프레쉬 시퀀스를 형성하는 것을 특징으로 하는 비트 할당장치
  39. 제36항에 있어서, 상기 첫번째 픽처는 P-픽처이고 상기 두번째 픽처는 B-픽처이며,
    상기 두번째 픽처의 상기 픽처타입에 따라 상기 디스플레이 순서로 상기 첫번째 픽처와 상기 다음에 가장 가까운 다음의 P-픽처간 실제 거리(M″)를 결정하기 위한 수단을 더 구비하여 구성된 것을 특징으로 하는 비트 할당장치.
  40. 제39항에 있어서, 상기 디스플레이 순서로 상기 두번째 픽처의 시간적인 레퍼런스와, 디스플레이 순서로 1개의 픽처를 플러스 하는 상기 첫번째 픽처의 시간적인 레퍼런스간 차에 따라 상기 실제 거리(M″)가 결정되는 것을 특징으로 하는 비트 할당장치.
  41. 제39항에 있어서, 상기 조절된 비트 버짓에 따라 상기 첫번째 픽처 다음에 이어지는 나머지 M″-1픽처를 코딩하기 위해 비트를 할당하기 위한 장치를 더 구비하여 구성된 것을 특징으로 하는 비트 할당장치.
  42. 제39항에 있어서, 상기 조절수단(e)은 +(M″-M′)*"비트율"/"프레임율"에 의해 상기 추정된 비트 버짓을 조절하기 위한 수단으로 구성되며, 상기 "비트율"은 상기 비트스트림의 비트율이고, 상기 "프레임율"은 상기 비트스트림의 프레임율인 것을 특징으로 하는 비트 할당장치.
  43. 제36항에 있어서, 상기 첫번째 및 두번째 픽처는 P-픽처이고,
    상기 두번째 픽처의 상기 두번째 픽처타입에 따라 상기 디스플레이 순서로 상기 첫번째 픽처와 상기 다음에 가장 가까운 다음의 P-픽처간 실제 거리(M″)를 결정하기 위한 수단을 더 구비하여 구성된 것을 특징으로 하는 비트 할당장치.
  44. 제43항에 있어서, 상기 디스플레이 순서로 상기 두번째 픽처의 시간적인 레퍼런스와, 상기 디스플레이 순서로 상기 첫번째 픽처의 시간적인 레퍼런스간 차에 따라 상기 실제 거리(M″)가 결정되는 것을 특징으로 하는 비트 할당장치.
  45. 제43항에 있어서, 상기 조절수단(e)은 -(M′-1)*"비트율"/"프레임율"에 의해 상기 추정된 비트 버짓을 조절하기 위한 수단으로 구성되며, 상기 "비트율"은 상기 비트스트림의 비트율이고, 상기 "프레임율"은 상기 비트스트림의 프레임율인 것을 특징으로 하는 비트 할당장치.
  46. 제43항에 있어서, 상기 조절된 비트 버짓에 따라 상기 첫번째 픽처 다음에 이어지는 나머지 M″-1픽처를 코딩하기 위해 비트를 할당하기 위한 수단을 더 구비하여 구성된 것을 특징으로 하는 비트 할당장치.
  47. 제36항에 있어서, 상기 조절된 비트 버짓에 따라 상기 비트스트림의 상기 첫번째 및 두번째 픽처를 포함하는 초기 M″픽처 다음에 이어지는 M″픽처의 시리즈를 코딩하기 위해 비트를 할당하기 위한 수단을 더 구비하여 구성된 것을 특징으로 하는 비트 할당장치.
  48. 디지털 비디오 트랜스코더에서 수신된 비트스트림에서의 픽처의 시퀀스를 코딩하기 위해 비트를 할당하기 위한 장치에 있어서,
    (a) 상기 비트스트림의 특정 GOP의 추정길이(N′)를 제공하기 위한 수단과,
    (b) 상기 추정길이(N′)의 펑크션으로서 추정된 비트 버짓을 제공하기 위한 수단,
    (c) 상기 특정 GOP의 첫번째 픽처를 상기 추정된 비트 버짓에 따라 코딩하기 위해 비트를 할당하기 위한 수단,
    (d) 상기 첫번째 픽처 다음에 곧바로 이어지는 두번째 픽처의 픽처타입을 결정하기 위한 수단,
    (e) 상기 추정된 비트 버짓을 상기 두번째 픽처의 상기 픽처타입에 따라 조절하기 위한 수단 및,
    (f) 상기 두번째 픽처를 상기 조절된 비트 버짓에 따라 코딩하기 위해 비트를 할당하기 위한 수단을 구비하여 구성된 것을 특징으로 하는 비트 할당장치.
  49. 제48항에 있어서, 상기 추정된 비트 버짓은 상기 비트스트림의 비트율과 상기 추정길이(N′)에 비례하고, 상기 비트스트림의 프레임율에 반비례하는 것을 특징으로 하는 비트 할당장치.
  50. 제48항에 있어서, 상기 첫번째 및 두번째 픽처는 I-픽처이며,
    상기 두번째 픽처의 픽처타입에 따라 상기 비트스트림의 상기 첫번째 픽처와 다음에 가장 가까운 다음의 I-픽처간 실제 거리(M″)를 결정하기 위한 수단과,
    상기 추정된 비트 버짓을 상기 실제 거리(M″)에 따라 조절하기 위한 수단을 더 구비하여 구성된 것을 특징으로 하는 비트 할당장치.
  51. 제50항에 있어서, 상기 실제 거리(M″)는 상기 비트스트림의 디스플레이 순서로 상기 두번째 픽처의 시간적인 레퍼런스와, 상기 디스플레이 순서로 상기 첫번째 픽처의 시간적인 레퍼런스간 차에 따라 결정되는 것을 특징으로 하는 비트 할당장치.
  52. 제48항에 있어서, 상기 조절수단(e)은 -(N′-1)*"비트율"/"프레임율"에 의해 상기 추정된 비트 버짓을 조절하기 위한 수단을 구비하여 구성되며, 상기 "비트율"은 상기 비트스트림의 비트율이고, 상기 "프레임율"은 상기 비트스트림의 프레임율인 것을 특징으로 하는 비트 할당장치.
  53. 제48항에 있어서, 상기 조절된 비트 버짓에 따라 상기 두번째 픽처 다음에 이어지는 상기 특정 GOP의 나머지 픽처를 코딩하기 위해 비트를 할당하기 위한 수단을 더 구비하여 구성된 것을 특징으로 하는 비트 할당장치.
  54. 제48항에 있어서, 상기 비트스트림의 디스플레이 순서로 상기 비트스트림의 첫번째 픽처와 다음에 가장 가까운 다음의 P-픽처간 추정거리(M′)를 제공하기 위한 수단을 더 구비하여 구성되고,
    상기 추정거리(M′)에 따라 상기 단계(c)에서 상기 첫번째 픽처를 코딩하기 위해 상기 비트가 할당되는 것을 특징으로 하는 비트 할당장치.
  55. 제54항에 있어서, 상기 첫번째 픽처는 I-픽처이고 상기 두번째 픽처는 P-픽처이며,
    상기 두번째 픽처의 상기 픽처타입에 따라 상기 디스플레이 순서로 상기 첫번째 픽처와 다음에 가장 가까운 다음의 P-픽처간 실제 거리(M″)를 결정하기 위한 수단과,
    조절된 추정길이(N″)를 제공하기 위해, 상기 실제 거리(M″)에 따라 상기 GOP의 상기 추정길이(N′)를 조절하기 위한 수단을 더 구비하여 구성되고,
    상기 조절수단(e)은 상기 조절된 추정길이(N′)에 따르는 것을 특징으로 하는 비트 할당장치.
  56. 제55항에 있어서, 상기 조절된 추정길이(N″)를 제공하기 위해, 요소 M(N′/M′)에 의해 상기 조절단계에서 상기 특정 GOP의 상기 추정길이(N′)가 조절되고, 상기 M=M″인 것을 특징으로 하는 비트 할당장치.
  57. 제55항에 있어서, 상기 조절수단(e)은 요소 (N″-N′)*"비트율"/"프레임율"에 의해 상기 추정된 비트 버짓을 조절하기 위한 수단을 구비하여 구성되며, 상기 "비트율"은 상기 비트스트림의 비트율이고, 상기 "프레임율"은 상기 비트스트림의 프레임율인 것을 특징으로 하는 비트 할당장치.
  58. 제57항에 있어서, 상기 조절수단(e)은 요소 (M″-1')*"비트율"/"프레임율"에 의해 상기 추정된 비트 버짓을 조절하기 위한 수단을 구비하여 구성되며, 상기 "비트율"은 상기 비트스트림의 비트율이고, 상기 "프레임율"은 상기 비트스트림의 프레임율인 것을 특징으로 하는 비트 할당장치.
  59. 제55항에 있어서, 상기 조절된 비트 버짓에 따라 상기 두번째 픽처 다음에 이어지는 상기 특정 GOP의 나머지 픽처를 코딩하기 위해 비트를 할당하기 위한 수단을 더 구비하여 구성된 것을 특징으로 하는 비트 할당장치.
  60. 제55항에 있어서, N″〉N이면, 상기 특정 GOP의 N″픽처를 코딩한 후에 상기 특정 GOP의 실제 길이를 결정하기 위한 수단과,
    N″〉N이면, N과 N″에 따라 상기 조절된 비트 버짓을 더 조절하기 위한 수단 및,
    상기 더 조절된 비트 버짓에 따라 N″ 코드화 픽처 다음에 이어지는 상기 비트스트림의 픽처를 코딩하기 위해 비트를 할당하기 위한 수단을 더 구비하여 구성된 것을 특징으로 하는 비트 할당장치.
  61. 제55항에 있어서, N″〈 N이면, 상기 특정 GOP의 N″픽처를 코딩한 후에 상기 특정 GOP의 실제 길이를 결정하기 위한 수단과,
    N″〈 N이면, M=M″에 따라 상기 조절된 비트 버짓을 더 조절하기 위한 수단 및,
    N″〈 N이면, 상기 더 조절된 비트 버짓에 따라 N″ 코드화 픽처 다음에 이어지는 상기 비트스트림의 픽처를 코딩하기 위해 비트를 할당하기 위한 수단을 더 구비하여 구성된 것을 특징으로 하는 비트 할당장치.
  62. 제48항에 있어서, 상기 첫번째 픽처는 I-픽처이고 상기 두번째 픽처는 B-픽처이며,
    상기 비트스트림의 디스플레이 순서로 상기 비트스트림의 상기 첫번째 픽처와 다음에 가장 가까운 다음의 P-픽처간 추정거리(M′)를 제공하기 위한 수단을 더 구비하여 구성되고,
    상기 추정거리(M′)에 따라 상기 두번째 픽처를 코딩하기 위해 상기 비트가 할당되는 것을 특징으로 하는 비트 할당장치.
  63. 제62항에 있어서, 상기 두번째 픽처의 상기 픽처타입에 따라 상기 디스플레이 순서로 상기 첫번째 픽처와 다음에 가장 가까운 다음의 P-픽처간 실제 거리(M″)를 결정하기 위한 수단과,
    조절된 추정길이(N″)를 제공하기 위해, 실제 거리 M=M″에 따라 상기 GOP의 상기 추정길이(N′)를 조절하기 위한 수단을 더 구비하여 구성되고,
    상기 조절수단(e)은 상기 조절된 추정길이(N′)에 따르는 것을 특징으로 하는 비트 할당장치.
  64. 제63항에 있어서, 상기 조절된 추정길이(N″)를 제공하기 위해, 요소 M(N′/M′)에 의해 상기 조절수단으로 상기 특정 GOP의 상기 추정길이(N′)가 조절되는 것을 특징으로 하는 비트 할당장치.
  65. 제63항에 있어서, 상기 조절수단(e)은 요소 (N″-N′)*"비트율"/"프레임율"에 의해 상기 추정된 비트 버짓을 조절하기 위한 수단을 구비하여 구성되며, 상기 "비트율"은 상기 비트스트림의 비트율이고, 상기 "프레임율"은 상기 비트스트림의 프레임율인 것을 특징으로 하는 비트 할당장치.
  66. 제63항에 있어서, 상기 조절된 비트 버짓에 따라 상기 두번째 픽처 다음에 이어지는 상기 특정 GOP의 나머지 픽처를 코딩하기 위해 비트를 할당하기 위한 수단을 더 구비하여 구성된 것을 특징으로 하는 비트 할당장치.
  67. 제63항에 있어서, N″〉N이면, 상기 특정 GOP의 N″픽처를 코딩한 후에 상기 특정 GOP의 실제 길이를 결정하기 위한 수단과,
    N″〉N이면, N과 N″에 따라 상기 조절된 비트 버짓을 더 조절하기 위한 수단 및,
    N″〉N이면, 상기 더 조절된 비트 버짓에 따라 N″ 코드화 픽처 다음에 이어지는 상기 비트스트림의 픽처를 코딩하기 위해 비트를 할당하기 위한 수단을 더 구비하여 구성된 것을 특징으로 하는 비트 할당장치.
  68. 제63항에 있어서, N″〈 N이면, 상기 특정 GOP의 N″픽처를 코딩한 후에 상기 특정 GOP의 실제 길이를 결정하기 위한 수단과,
    N″〈 N이면, M=M″에 따라 상기 조절된 비트 버짓을 더 조절하기 위한 수단 및,
    N″〈 N이면, 상기 더 조절된 비트 버짓에 따라 N″ 코드화 픽처 다음에 이어지는 상기 비트스트림의 픽처를 코딩하기 위해 비트를 할당하기 위한 수단을 더 구비하여 구성된 것을 특징으로 하는 비트 할당장치.
  69. 제48항에 있어서, 상기 조절된 비트 버짓에 따라 상기 특정 GOP 다음에 이어지는 GOP를 코딩하기 위해 비트를 할당하기 위한 수단을 더 구비하여 구성된 것을 특징으로 하는 비트 할당장치.
  70. 제48항에 있어서, 상기 비트스트림의 디스플레이 순서로 상기 특정 GOP에서의 상기 첫번째 픽처 다음에 이어지는 I-픽처 또는 P-픽처와, 상기 특정 GOP에서의 다음 I-픽처 또는 P-픽처간 실제 거리(M″)를 결정함으로써, 상기 특정 GOP의 I-픽처 및/또는 P-픽처간 실제 거리(M″) 변화의 원인을 제시하기 위한 수단과,
    상기 실제 거리(M″)에 따라 상기 추정된 비트 버짓을 조절하기 위한 수단을 더 구비하여 구성된 것을 특징으로 하는 비트 할당장치.
  71. 디지털 비디오 트랜스코더에서 수신된 비트스트림에서의 픽처의 시퀀스를 코딩하기 위해 비트를 할당하는 방법에 있어서,
    (a) 상기 비트스트림의 GOP의 길이를 제공하는 단계와,
    (b) 상기 GOP의 각 I-픽처와 다음 연속 P-픽처간 거리를 제공하는 단계,
    (c) 상기 GOP의 각 픽처가 코딩된 것과 같이 각 GOP에서의 각각의 나머지 I, P 및 B-픽처수의 카운트를 유지하는 단계,
    (d) 상기 GOP의 픽처를 코딩하기 위해 상기 단계 (a), (b) 및 (c)에 따라 추정된 비트 버짓을 제공하는 단계,
    (e) 상기 GOP의 각 I-픽처가 코딩된 후, 만약 필요하다면 상기 길이를 확인하여 조절하는 단계,
    (f) 상기 GOP의 각 I-픽처 및/또는 P-픽처가 코딩된 후, 만약 필요하다면 상기 거리를 확인하여 조절하는 단계,
    (g) 상기 단계 (e)와 (f)에 따라, 만약 필요하다면 나머지 I, P 및 B-픽처수의 카운트를 확인하여 조절하는 단계 및,
    (h) 상기 단계 (e), (f) 및 (g)에 따라, 만약 필요하다면 상기 추정된 비트 버짓을 조절하는 단계를 구비하여 이루어진 것을 특징으로 하는 비트 할당방법.
  72. 제71항에 있어서, 상기 거리는 상기 GOP를 초기에 코딩할 때 추정되고, 상기 비트스트림의 2개의 픽처를 코딩하기 위한 시간내에 실제 거리로 정정되는 것을 특징으로 하는 비트 할당방법.
  73. 제71항에 있어서, 상기 길이는 상기 GOP를 초기에 코딩할 때 추정되고, 상기 비트스트림의 1개의 GOP를 코딩하기 위한 시간내에 실제 길이로 정정되는 것을 특징으로 하는 비트 할당방법.
  74. 디지털 비디오 트랜스코더에서 수신된 비트스트림에서의 픽처의 시퀀스를 코딩하기 위해 비트를 할당하기 위한 장치에 있어서,
    (a) 상기 비트스트림의 GOP의 길이를 제공하기 위한 수단과,
    (b) 상기 GOP의 각 I-픽처와 다음 연속 P-픽처간 거리를 제공하기 위한 수단,
    (c) 상기 GOP의 각 픽처가 코딩된 것과 같이 각 GOP에서의 각각의 나머지 I, P 및 B-픽처수의 카운트를 유지하기 위한 수단,
    (d) 상기 GOP의 픽처를 코딩하기 위해 상기 수단 (a), (b) 및 (c)에 따라 추정된 비트 버짓을 제공하기 위한 수단,
    (e) 상기 GOP의 각 I-픽처가 코딩된 후, 만약 필요하다면 상기 길이를 확인하여 조절하기 위한 수단,
    (f) 상기 GOP의 각 I-픽처 및/또는 P-픽처가 코딩된 후, 만약 필요하다면 상기 거리를 확인하여 조절하기 위한 수단,
    (g) 상기 수단 (e)와 (f)에 따라, 만약 필요하다면 나머지 I, P 및 B-픽처수의 카운트를 확인하여 조절하기 위한 수단 및,
    (h) 상기 수단 (e), (f) 및 (g)에 따라, 만약 필요하다면 상기 추정된 비트 버짓을 조절하기 위한 수단을 구비하여 구성된 것을 특징으로 하는 비트 할당장치.
  75. 제74항에 있어서, 상기 거리는 상기 GOP를 초기에 코딩할 때 추정되고, 상기 비트스트림의 2개의 픽처를 코딩하기 위한 시간내에 실제 거리로 정정되는 것을 특징으로 하는 비트 할당장치.
  76. 제74항에 있어서, 상기 길이는 상기 GOP를 초기에 코딩할 때 추정되고, 상기 비트스트림의 1개의 GOP를 코딩하기 위한 시간내에 실제 길이로 정정되는 것을 특징으로 하는 비트 할당장치.
KR1019990052415A 1998-11-24 1999-11-24 디지털 비디오 트랜스코더에서 수신된 비트스트림에서의 픽처 및 픽처의 시퀀스를 코딩하기 위해 비트를 할당하는 방법 및 장치 KR100880055B1 (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US09/198,867 1998-11-24
US09/198,867 US6570922B1 (en) 1998-11-24 1998-11-24 Rate control for an MPEG transcoder without a priori knowledge of picture type
US9/198,867 1998-11-24

Publications (2)

Publication Number Publication Date
KR20000035651A true KR20000035651A (ko) 2000-06-26
KR100880055B1 KR100880055B1 (ko) 2009-01-22

Family

ID=22735187

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1019990052415A KR100880055B1 (ko) 1998-11-24 1999-11-24 디지털 비디오 트랜스코더에서 수신된 비트스트림에서의 픽처 및 픽처의 시퀀스를 코딩하기 위해 비트를 할당하는 방법 및 장치

Country Status (8)

Country Link
US (2) US6570922B1 (ko)
EP (1) EP1005232B1 (ko)
KR (1) KR100880055B1 (ko)
CN (1) CN1269360C (ko)
AT (1) ATE385650T1 (ko)
CA (1) CA2286640C (ko)
DE (1) DE69938093T2 (ko)
TW (1) TW450006B (ko)

Families Citing this family (68)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB2333657B (en) 1998-01-22 2002-08-21 Snell & Wilcox Ltd Video signal compression
GB2333656B (en) * 1998-01-22 2002-08-14 British Broadcasting Corp Compressed signals
GB2335104B (en) 1998-03-06 2002-01-30 British Broadcasting Corp Cascading of up conversion and down conversion
GB2337389B (en) 1998-05-15 2002-05-29 Snell & Wilcox Ltd Video signal processing
JP3129411B2 (ja) * 1998-05-28 2001-01-29 日本電気株式会社 動画像圧縮装置と動画像圧縮方法
EP1086593B1 (en) * 1998-05-30 2003-07-30 STMicroelectronics Asia Pacific Pte Ltd. Sequence adaptive bit allocation for pictures encoding
GB9822087D0 (en) 1998-10-09 1998-12-02 Snell & Wilcox Ltd Improvements in data compression
GB9822094D0 (en) 1998-10-09 1998-12-02 Snell & Wilcox Ltd Improvements in data compression
GB9822092D0 (en) 1998-10-09 1998-12-02 Snell & Wilcox Ltd Analysis of compression decoded sequences
GB9824061D0 (en) 1998-11-03 1998-12-30 Snell & Wilcox Ltd Film sequence detection (nt4)
EP1145218B1 (en) * 1998-11-09 2004-05-19 Broadcom Corporation Display system for blending graphics and video data
US6661422B1 (en) * 1998-11-09 2003-12-09 Broadcom Corporation Video and graphics system with MPEG specific data transfer commands
US6768774B1 (en) * 1998-11-09 2004-07-27 Broadcom Corporation Video and graphics system with video scaling
US7982740B2 (en) 1998-11-09 2011-07-19 Broadcom Corporation Low resolution graphics mode support using window descriptors
US6636222B1 (en) * 1999-11-09 2003-10-21 Broadcom Corporation Video and graphics system with an MPEG video decoder for concurrent multi-row decoding
US7068724B1 (en) * 1999-10-20 2006-06-27 Prime Research Alliance E., Inc. Method and apparatus for inserting digital media advertisements into statistical multiplexed streams
US6700623B1 (en) 1998-12-10 2004-03-02 Snell & Wilcox Limited Video signal processing using triplets of pixels
GB2346282B (en) * 1999-01-28 2003-02-19 Snell & Wilcox Ltd Bit rate control in compression encoding
JP2001145113A (ja) * 1999-11-17 2001-05-25 Sony Corp 画像情報変換装置及び方法
KR20020001769A (ko) * 2000-01-14 2002-01-09 요트.게.아. 롤페즈 트랜스코딩 방법 및 장치
EP1139665A1 (en) * 2000-03-29 2001-10-04 Deutsche Thomson-Brandt Gmbh Method and apparatus for changing the output delay of audio or video data encoding
GB2361126B (en) * 2000-04-05 2004-04-21 Snell & Wilcox Ltd Spatial video processing
US8559797B2 (en) 2000-10-10 2013-10-15 Broadcom Corporation System and method for personal video recording
CN1223197C (zh) * 2000-10-10 2005-10-12 皇家菲利浦电子有限公司 用于数字视频记录的视频比特率控制方法和设备
WO2002032147A1 (en) * 2000-10-11 2002-04-18 Koninklijke Philips Electronics N.V. Scalable coding of multi-media objects
US6748020B1 (en) * 2000-10-25 2004-06-08 General Instrument Corporation Transcoder-multiplexer (transmux) software architecture
US8391482B2 (en) * 2001-05-04 2013-03-05 Hewlett-Packard Development Company, L.P. Signal format that facilitates easy scalability of data streams
US6940904B2 (en) * 2001-05-29 2005-09-06 Broadcom Corporation Artifact-free displaying of MPEG-2 video in the progressive-refresh mode
US9894379B2 (en) * 2001-07-10 2018-02-13 The Directv Group, Inc. System and methodology for video compression
US6959042B1 (en) * 2001-10-01 2005-10-25 Cisco Technology, Inc. Methods and apparatus for measuring compressed video signals and applications to statistical remultiplexing
US7403564B2 (en) * 2001-11-21 2008-07-22 Vixs Systems, Inc. System and method for multiple channel video transcoding
US7356079B2 (en) * 2001-11-21 2008-04-08 Vixs Systems Inc. Method and system for rate control during video transcoding
KR100624404B1 (ko) * 2002-01-05 2006-09-18 삼성전자주식회사 사람의 시각적 특성을 고려한 적응적 부호화 방법 및 장치
DE10300048B4 (de) 2002-01-05 2005-05-12 Samsung Electronics Co., Ltd., Suwon Verfahren und Vorrichtung zur Bildcodierung und -decodierung
FI114527B (fi) 2002-01-23 2004-10-29 Nokia Corp Kuvakehysten ryhmittely videokoodauksessa
MXPA04007020A (es) 2002-01-23 2004-10-11 Nokia Corp Agrupamiento de cuadros de imagen para codificacion de video.
US7190723B2 (en) * 2002-03-27 2007-03-13 Scientific-Atlanta, Inc. Digital stream transcoder with a hybrid-rate controller
US7295610B2 (en) * 2002-03-27 2007-11-13 Scientific-Atlanta, Inc. Hybrid rate control in a digital stream transcoder
US7236521B2 (en) * 2002-03-27 2007-06-26 Scientific-Atlanta, Inc. Digital stream transcoder
US20030215011A1 (en) * 2002-05-17 2003-11-20 General Instrument Corporation Method and apparatus for transcoding compressed video bitstreams
KR20040076034A (ko) * 2003-02-24 2004-08-31 삼성전자주식회사 동 영상의 가변 비트율 부호화 방법 및 장치
US20040260827A1 (en) * 2003-06-19 2004-12-23 Nokia Corporation Stream switching based on gradual decoder refresh
EP1496707A1 (en) * 2003-07-09 2005-01-12 Matsushita Electric Industrial Co., Ltd. Encoding and decoding of video images with delayed reference picture refresh
AU2004302413B2 (en) * 2003-08-26 2008-09-04 Samsung Electronics Co., Ltd Scalable video coding method and apparatus using pre-decoder
US7263126B2 (en) * 2003-09-15 2007-08-28 Sharp Laboratories Of America, Inc. System and method for transcoding with adaptive bit rate control
US8063916B2 (en) 2003-10-22 2011-11-22 Broadcom Corporation Graphics layer reduction for video composition
US20050226327A1 (en) * 2004-03-30 2005-10-13 Kim Seong-Bong MPEG coding method, moving picture transmitting system and method using the same
US7818444B2 (en) 2004-04-30 2010-10-19 Move Networks, Inc. Apparatus, system, and method for multi-bitrate content streaming
US7747095B2 (en) * 2004-10-08 2010-06-29 Nvidia Corporation Methods and systems for rate control in image compression
US9544602B2 (en) * 2005-12-30 2017-01-10 Sharp Laboratories Of America, Inc. Wireless video transmission system
US7885189B2 (en) * 2006-09-20 2011-02-08 Rgb Networks, Inc. Methods and apparatus for rate estimation and predictive rate control
US20080141091A1 (en) * 2006-12-06 2008-06-12 General Instrument Corporation Method and Apparatus for Recovering From Errors in Transmission of Encoded Video Over a Local Area Network
JP2008167061A (ja) * 2006-12-27 2008-07-17 Toshiba Corp 符号化装置及び符号化方法
KR101345295B1 (ko) * 2007-06-11 2013-12-27 삼성전자주식회사 인트라 픽처만을 이용한 동영상 시퀀스의 부호화시의비트율 제어 방법 및 장치
GB2460069A (en) * 2008-05-15 2009-11-18 Snell & Wilcox Ltd Sampling conversion between formats in digital image processing
JP4460011B2 (ja) 2008-05-27 2010-05-12 国立大学法人広島大学 動画像配信システム、動画像配信方法、動画像配信システムにおけるサーバおよび動画像配信システムにおけるユーザ端末
US9077937B2 (en) * 2008-11-06 2015-07-07 Alcatel Lucent Method and apparatus for fast channel change
KR20100061908A (ko) * 2008-12-01 2010-06-10 엘지전자 주식회사 영상표시장치, 영상전송장치, 영상전송방법 및 기록매체
US20100333149A1 (en) * 2009-06-24 2010-12-30 Rgb Networks, Inc. Delivery of pre-statistically multiplexed streams in a vod system
US9369723B2 (en) 2011-07-14 2016-06-14 Comcast Cable Communications, Llc Preserving image quality in temporally compressed video streams
US9094684B2 (en) 2011-12-19 2015-07-28 Google Technology Holdings LLC Method for dual pass rate control video encoding
US9497241B2 (en) 2011-12-23 2016-11-15 Intel Corporation Content adaptive high precision macroblock rate control
CN103634594B (zh) * 2012-08-21 2015-04-29 华为技术有限公司 一种获得视频编码压缩质量的方法及装置
US9100636B2 (en) 2012-09-07 2015-08-04 Intel Corporation Motion and quality adaptive rolling intra refresh
US10186236B2 (en) * 2013-05-23 2019-01-22 Intel Corporation Universal codec
US9787986B2 (en) * 2014-06-30 2017-10-10 Intel Corporation Techniques for parallel video transcoding
EP3376766B1 (en) * 2017-03-14 2019-01-30 Axis AB Method and encoder system for determining gop length for encoding video
US10225211B2 (en) 2017-07-20 2019-03-05 Arris Enterprises Llc Statistical multiplexer with service priority weighting

Family Cites Families (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5887115A (en) 1993-01-13 1999-03-23 Hitachi America, Ltd. Method and apparatus for implementing a video tape recorder for recording digital video signals having either a fixed or variable data transmission rate
US5477397A (en) 1993-02-23 1995-12-19 Matsushita Electric Corporation Of America Digital high definition television receiver with features that facilitate trick-play modes on a digital VCR
KR950014858B1 (ko) 1993-06-04 1995-12-16 대우전자주식회사 디지탈 영상 기록장치
CA2126467A1 (en) * 1993-07-13 1995-01-14 Barin Geoffry Haskell Scalable encoding and decoding of high-resolution progressive video
KR100314329B1 (ko) * 1994-04-20 2001-12-28 크리트먼 어윈 엠 일정비트율엔코더를이용하는멀티플렉서
US5708473A (en) * 1994-08-30 1998-01-13 Hughes Aircraft Company Two stage video film compression method and system
US5617142A (en) 1994-11-08 1997-04-01 General Instrument Corporation Of Delaware Method and apparatus for changing the compression level of a compressed digital signal
US5619733A (en) 1994-11-10 1997-04-08 International Business Machines Corporation Method and apparatus for synchronizing streaming and non-streaming multimedia devices by controlling the play speed of the non-streaming device in response to a synchronization signal
US5929916A (en) * 1995-12-26 1999-07-27 Legall; Didier J. Variable bit rate encoding
US5686963A (en) * 1995-12-26 1997-11-11 C-Cube Microsystems Method for performing rate control in a video encoder which provides a bit budget for each frame while employing virtual buffers and virtual buffer verifiers
US5933500A (en) 1996-05-31 1999-08-03 Thomson Consumer Electronics, Inc. Adaptive decoding system for processing encrypted and non-encrypted broadcast, cable or satellite video data
US6115420A (en) * 1997-03-14 2000-09-05 Microsoft Corporation Digital video signal encoder and encoding method
US5982436A (en) * 1997-03-28 1999-11-09 Philips Electronics North America Corp. Method for seamless splicing in a video encoder
US5986712A (en) * 1998-01-08 1999-11-16 Thomson Consumer Electronics, Inc. Hybrid global/local bit rate control
US6643327B1 (en) * 2000-05-05 2003-11-04 General Instrument Corporation Statistical multiplexer and remultiplexer that accommodates changes in structure of group of pictures

Also Published As

Publication number Publication date
EP1005232A3 (en) 2003-12-10
ATE385650T1 (de) 2008-02-15
CN1269360C (zh) 2006-08-09
CA2286640A1 (en) 2000-05-24
TW450006B (en) 2001-08-11
CN1255022A (zh) 2000-05-31
US6570922B1 (en) 2003-05-27
EP1005232B1 (en) 2008-02-06
EP1005232A2 (en) 2000-05-31
DE69938093T2 (de) 2009-04-30
DE69938093D1 (de) 2008-03-20
US20020159523A1 (en) 2002-10-31
KR100880055B1 (ko) 2009-01-22
CA2286640C (en) 2009-07-14
US7020198B2 (en) 2006-03-28

Similar Documents

Publication Publication Date Title
KR100880055B1 (ko) 디지털 비디오 트랜스코더에서 수신된 비트스트림에서의 픽처 및 픽처의 시퀀스를 코딩하기 위해 비트를 할당하는 방법 및 장치
US6480539B1 (en) Video encoding method and apparatus
US6259733B1 (en) Pre-processing of bit rate allocation in a multi-channel video encoder
US8031774B2 (en) Video encoding methods and systems with frame-layer rate control
US5929916A (en) Variable bit rate encoding
US5956426A (en) Multi-coding apparatus
US5872598A (en) Scene change detection using quantization scale factor rate control
US6982762B1 (en) Sequence adaptive bit allocation for pictures encoding
US6028633A (en) Video data compression with trial encoder
KR100610520B1 (ko) 비디오 데이터 부호화 장치, 비디오 데이터 부호화 방법, 비디오데이터 전송 장치 및 비디오 데이터 기록 매체
US20070009025A1 (en) Method and apparatus for operational frame-layer rate control in video encoder
JPH11262003A (ja) 一定ビット・レ―トまたは可変ビット・レ―トのためのディジタル・モ―ション・ビデオ・シ―ケンスの2パス符号化方法
US7095784B2 (en) Method and apparatus for moving picture compression rate control using bit allocation with initial quantization step size estimation at picture level
KR19980018698A (ko) 영상 데이터 압축 장치 및 그의 방법
US20040234142A1 (en) Apparatus for constant quality rate control in video compression and target bit allocator thereof
KR20040076034A (ko) 동 영상의 가변 비트율 부호화 방법 및 장치
JP4619479B2 (ja) 統計的多重化システム
US6226326B1 (en) Coding device and coding method
US7254176B2 (en) Apparatus for variable bit rate control in video compression and target bit allocator thereof
US7133448B2 (en) Method and apparatus for rate control in moving picture video compression
US6940902B2 (en) Code quantity assignment device and method
KR100218424B1 (ko) 동영상 부호화기의 할당비트율 제어방법 및 장치
KR20040077788A (ko) Pb 프레임들 모드에서의 비디오 화상들 코딩
JP4035747B2 (ja) 符号化装置および符号化方法
MXPA99009808A (en) Rate control for an mpeg transcoder without a priori knowledgeof picture type

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

Year of fee payment: 5

FPAY Annual fee payment

Payment date: 20131227

Year of fee payment: 6

FPAY Annual fee payment

Payment date: 20141226

Year of fee payment: 7

FPAY Annual fee payment

Payment date: 20151228

Year of fee payment: 8

FPAY Annual fee payment

Payment date: 20170104

Year of fee payment: 9

FPAY Annual fee payment

Payment date: 20171229

Year of fee payment: 10

FPAY Annual fee payment

Payment date: 20181226

Year of fee payment: 11