KR100591487B1 - 트랜스코더 및 데이터 스트림의 트랜스코딩 방법 - Google Patents
트랜스코더 및 데이터 스트림의 트랜스코딩 방법 Download PDFInfo
- Publication number
- KR100591487B1 KR100591487B1 KR1019997012405A KR19997012405A KR100591487B1 KR 100591487 B1 KR100591487 B1 KR 100591487B1 KR 1019997012405 A KR1019997012405 A KR 1019997012405A KR 19997012405 A KR19997012405 A KR 19997012405A KR 100591487 B1 KR100591487 B1 KR 100591487B1
- Authority
- KR
- South Korea
- Prior art keywords
- data
- transcoded
- input buffer
- decoder input
- delay
- Prior art date
Links
- 238000000034 method Methods 0.000 title claims description 18
- 238000013139 quantization Methods 0.000 claims description 47
- 238000004364 calculation method Methods 0.000 claims 2
- 239000008186 active pharmaceutical agent Substances 0.000 abstract description 11
- 230000005540 biological transmission Effects 0.000 abstract description 4
- 230000007774 longterm Effects 0.000 description 9
- 238000013459 approach Methods 0.000 description 7
- 101000773153 Homo sapiens Thioredoxin-like protein 4A Proteins 0.000 description 5
- 102100030272 Thioredoxin-like protein 4A Human genes 0.000 description 5
- 238000012937 correction Methods 0.000 description 5
- 230000009286 beneficial effect Effects 0.000 description 4
- 230000002411 adverse Effects 0.000 description 3
- 238000010586 diagram Methods 0.000 description 3
- 230000006978 adaptation Effects 0.000 description 2
- 235000014121 butter Nutrition 0.000 description 2
- 230000006870 function Effects 0.000 description 2
- 238000012545 processing Methods 0.000 description 2
- 101100426900 Caenorhabditis elegans trd-1 gene Proteins 0.000 description 1
- 238000006243 chemical reaction Methods 0.000 description 1
- 239000003795 chemical substances by application Substances 0.000 description 1
- 230000003111 delayed effect Effects 0.000 description 1
- 230000001627 detrimental effect Effects 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000005259 measurement Methods 0.000 description 1
- 230000002123 temporal effect Effects 0.000 description 1
- 238000012795 verification Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T9/00—Image coding
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/189—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the adaptation method, adaptation tool or adaptation type used for the adaptive coding
- H04N19/192—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the adaptation method, adaptation tool or adaptation type used for the adaptive coding the adaptation method, adaptation tool or adaptation type being iterative or recursive
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/40—Methods 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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/60—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/60—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding
- H04N19/61—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding in combination with predictive coding
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/20—Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
- H04N21/23—Processing of content or additional data; Elementary server operations; Server middleware
- H04N21/234—Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs
- H04N21/23406—Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs involving management of server-side video buffer
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/20—Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
- H04N21/23—Processing of content or additional data; Elementary server operations; Server middleware
- H04N21/234—Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs
- H04N21/2343—Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs involving reformatting operations of video signals for distribution or compliance with end-user requests or end-user device requirements
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/20—Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
- H04N21/23—Processing of content or additional data; Elementary server operations; Server middleware
- H04N21/234—Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs
- H04N21/2343—Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs involving reformatting operations of video signals for distribution or compliance with end-user requests or end-user device requirements
- H04N21/234354—Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs involving reformatting operations of video signals for distribution or compliance with end-user requests or end-user device requirements by altering signal-to-noise ratio parameters, e.g. requantization
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/20—Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
- H04N21/23—Processing of content or additional data; Elementary server operations; Server middleware
- H04N21/236—Assembling 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/23608—Remultiplexing multiplex streams, e.g. involving modifying time stamps or remapping the packet identifiers
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/20—Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
- H04N21/23—Processing of content or additional data; Elementary server operations; Server middleware
- H04N21/24—Monitoring of processes or resources, e.g. monitoring of server load, available bandwidth, upstream requests
- H04N21/2401—Monitoring of the client buffer
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/70—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by syntax aspects related to video coding, e.g. related to compression standards
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Compression Or Coding Systems Of Tv Signals (AREA)
- Compression, Expansion, Code Conversion, And Decoders (AREA)
Abstract
데이터 스트림은 코딩된 데이터(D)와 제어 데이터(C)의 시간 멀티플렉스를 포함한다. 데이터 스트림(DS)은 예컨대, 일련의 화상을 나타내는 MPEG 형태로 된다. 코딩된 데이터(D)는 상기 코딩된 데이터(D)와 크기가 다른 트랜스코딩된 데이터(DT)를 얻도록 트랜스코딩(T)된다. 제어 데이터(C)는 상기 제어 데이터(C)와 실질적으로 크기가 다른 적응된 제어 데이터(CA)를 얻도록 트랜스코딩된 데이터(DT)에 적응된다. 트랜스코딩된 데이터(DT) 및 적응된 제어 데이터(CA)는 트랜스코딩된 데이터 스트림(DST)을 얻도록 트랜스코더 출력 버퍼(TOB)에 기록되며, 트랜스코더 출력 버퍼(TOB)로부터 판독된다. 이것은 트랜스코딩된 데이터 스트림(DST)이 전송되는 전송 채널의 효과적인 이용을 제공하며, 이에 따라 만족할만한 전송 품질을 얻을 수 있다. 트랜스코더 출력 버퍼(TOB)에 포함된 데이터량 및 데이터 스트림(DS)에 포함된 제어 코드(CC)에 기초하여 트랜스코딩된 데이터(DT)의 크기 조정은 또한 만족할만한 전송 품질 제공에 기여한다.
MPEG, 트랜스코더, 데이터스트림, 오버플로우, 언더플로우, 입력 버퍼 지연
Description
본 발명은 코딩된 데이터 및 제어 데이터의 시간 멀티플렉스를 포함한 데이터 스트림의 트랜스코딩에 관한 것이다. 데이터 스트림은 예컨대 동화상 전문가 그룹(MPEG)에 의해 규정된 이미지 코딩 표준에 따라 코딩된 이미지들의 시퀀스를 나타낼 수 있다.
유럽 특허 출원 제 0 690 392 호(대리인 번호 PHF 94001)는 이미지들의 시퀀스에 따라 코딩된 디지털 신호들의 트랜스코딩 방법을 기술한다. 상기 방법은 각각의 현재의 이미지에 연관된 입력 디지털 신호의 디코딩 단계를 포함한다. 디코딩 단계는 인코딩 단계에 뒤따른다.
본 발명의 목적은 만족스러운 품질을 생성하는 데이터 스트림의 트랜스코딩을 제공하는데 있다.
본 발명은 다음의 특징들을 고려한다. 데이터 스트림은 코딩된 데이터 뿐만아니라 제어 데이터를 포함할 수 있다. 트랜스코딩시, 데이터 스트림은 코딩된 데이터 서브-스트림 및 제어 데이터 서브-스트림으로 효과적으로 분할된다. 트랜스코딩 단계에서 코딩된 데이터 서브-스트림은 트랜스코딩단계에서 트랜스코딩되어 트랜스코딩된 데이터 서브-스트림이 된다. 트랜스코딩된 데이터에 대한 제어 데이터를 적응 단계에서 적응시킬 필요가 있을 수 있다. 이 경우, 제어 데이터 서브-스트림은 적응된 제어 데이터 서브-스트림으로 효과적으로 변형된다. 트랜스코딩된 데이터 서브-스트림 및 적응된 제어 데이터 서브-스트림은 본래 코딩된 데이터 스트림에 포함된 데이터의 다른 표현인 트랜스코딩된 데이터를 얻도록 결합될 수 있다.
예컨대, MPEG 이미지-코딩 표준 같은 어떤 코딩 표준은 코딩된 데이터의 크기를 고정시키지 않고 제어 데이터의 크기를 함축적으로 고정시킨다. 그러한 코딩 표준에서, 코딩된 데이터는 코딩된 데이터와 크기가 다를 수 있는 트랜스코딩된 데이터를 얻도록 디코딩 및 재코딩될 수 있다. 그러나, 코딩 표준에서 벗어나지 않고 제어 데이터와 동일하게 하는 것은 불가능하다. 데이터 스트림이 그 코딩 표준과 조화를 유지하면서 트랜스코딩되어야 한다면, 제어 데이터의 내용을 적응시킬 수 있지만, 크기는 아니다. 그 결과, 트랜스코딩된 서브-스트림 및 적응된 제어 데이터 서브-스트림은 다른 비트 레이트들을 갖을 것이다.
본 발명에 따르면, 트랜스코딩된 데이터 및 적응된 제어 데이터는 트랜스코딩된 데이터 스트림을 얻도록 기록 단계에서 트랜스코더 출력 버퍼에 기록되고, 판독 단계에서 트랜스코더 출력 버퍼로부터 판독된다. 따라서, 트랜스코딩된 데이터 서브-스트림과 제어 데이터 서브-스트림 사이의 비트 레이트의 임의의 차이는 트랜스코딩된 데이터 스트림이 실질적으로 일정하거나 또는 적어도 실질적으로 코딩된 데이터나 제어 데이터가 전달되는가에 좌우되는 비트 레이트를 갖도록 평균화될 수 있다. 따라서, 본 발명은 트랜스코딩된 데이터 스트림의 비트 레이트가 어떤 전송 채널이 취급할 수 있거나 적어도 상대적으로 이에 가까워질 수 있는 최대 비트 레이트와 계속해서 동일하도록 허용한다. 따라서, 본 발명은 트랜스코딩된 데이터 스트림이 전송되는 전송 채널의 효과적인 이용을 허용하기 때문에, 트랜스코딩된 데이터로 하여금 비교적 큰 크기를 갖는 것을 허용한다. 따라서, 본 발명은 트랜스코딩 시 데이터의 손실을 최소화하는 것을 허용한다. 따라서, 본 발명은 만족할만한 품질로 트랜스코딩하는 것을 허용한다.
본 발명 및 부가적인 특징들은 이후에 설명되는 도면을 참조하여 명확히 나타나는 장점에 본 발명을 구현하기 위해 선택적으로 이용될 수 있다.
도 1은 청구항 1에 청구된 바와 같은 본 발명의 기본 특징을 예시하는 개념도.
도 2 내지 도 6은 각각 청구항 2 내지 5에서 청구된 바와 같은 부가 특징을 예시하는 개념도.
도 7은 본 발명에 따른 트랜스코더의 일례의 블록도.
우선, 참조 부호들의 사용에 대한 몇가지 주목할 점들을 지적할 것이다. 유사한 엔티티들은 도면 전체에 걸쳐 동일한 문자 코드로 표기된다. 단일 도면에서, 여러 가지 유사한 엔티티들이 도시될 수 있다. 이 경우, 숫자는 서로 유사한 엔티티들을 구별하기 위해 문자 코드에 부가된다. 숫자는 유사한 엔티티들의 수가 러닝 파라미터(running parameter)이면 괄호 사이에 있을 수 있다. 설명 및 청구범위에 있어서, 참조 부호에서의 임의의 숫자는 이것이 적절하다면 생략될 수 있다.
도 1은 본 발명의 기본적인 특징을 예시한다. 트랜스코딩될 데이터 스트림 DS(data stream)는 코딩된 데이터 D(coded data) 및 제어 데이터 C(controlled data)의 시간 멀티플렉스를 포함한다. 코딩된 데이터 D는 트랜스코딩된 데이터 DT를 얻도록 트랜스코딩 단계에서 트랜스코딩(T)된다. 트랜스코딩된 데이터 DT는 코딩된 데이터 D와 크기가 다르다. 제어 데이터 C는 적응된 제어 데이터CA(adapted control data)를 얻도록 적응 단계에서 트랜스코딩된 데이터 DT에 적응된다(A). 적응된 제어 데이터 CA 및 제어 데이터 C는 실질적으로 크기가 동일하다. 트랜스코딩된 데이터 DT(transcode data) 및 적응된 제어 데이터 CA는 트랜스코딩된 데이터 스트림 DST을 얻도록 기록 단계에서 트랜스코더 출력 버퍼 TOB(transcoder output buffer)에 기록되고, 판독 단계에서 트랜스코더 출력 버퍼 TOB로부터 판독된다.
도 2는 도 1을 참조하여 설명되는 특징과 더불어 다음의 특징을 도시한다. 데이터 스트림 DS는 제어 코드 CC(control code)를 포함한다. 제어 코드는 이에 연관된 코딩된 데이터부 P에 대한 디코더 입력 버퍼 지연 △Tdib을 규정한다. 디코더 입력 버퍼 지연 △Tdib는 코딩된 데이터부 P가 디코더 입력 버퍼 DIB1에 기록되는 순간 Twd1와 코딩된 데이터부 P가 디코더 입력 버퍼 DIB1로부터 판독된 순간 Trd1 사이의 차이다. 단계 S/△Ttob에서, 트랜스코더 출력 버퍼 지연 △Ttob가 계산된다. 트랜스코더 출력 버퍼 지연 △Ttob은 코딩된 데이터부 P를 트랜스코딩하여 얻어진 트랜스코딩된 데이터부 PT가 트랜스코더 출력 버퍼 TOB에 기록되는 순간 Twt와 트랜스코딩된 데이터부 PT가 트랜스코더 출력 버퍼 TOB로부터 판독되는 순간 Trt 사이의 차이다. 단계 S/△Tdib_new에서, 새로운 디코더 입력 버퍼 지연 △Tdib_new가 계산된다. 새로운 디코더 입력 버퍼 지연(△Tdib_new)은 트랜스코더 출력 버퍼 지연(△Ttob)을 제외(마이너스)한 트랜스코딩 지연(△Ttrans)과 디코더 입력 버퍼 지연(△Tdib)의 합과 실질적으로 동일하다. 단계 S/CCA에서, 적응된 제어 코드 CCA는 트랜스코딩된 데이터부 PT에 제공되며, 적응된 제어 코드 CCA는 새로운 디코더 입력 버퍼 지연 △Tdib_new를 규정한다.
다음의 특징들은 도 2에 예시된 특징들을 감안하여 고려되었다. 제어 코드들 CC는 데이터부들 P가 데이터 스트림 DS를 수신하는 디코딩 단부에서 디코더 입력 버퍼 DIB1로부터 판독될 것임에 따라 시간 패턴을 효율적으로 결정한다. 여러 가지 에플리케이션들에서, 트랜스코딩된 데이터부들 PT가 트랜스코딩된 데이터 스트림 DST를 수신하는 디코딩 단부에서 디코더 입력 버퍼 DIB2로부터의 동일한 시간 패턴에 따라 판독되는 것이 바람직할 것이다.
원칙적으로, 데이터 스트림 DS로부터 트랜스코딩된 데이터 스트림 DST으로 제어 코드들 CC를 간단히 카피하는 것이 가능하다. 즉, 데이터부 P에 대하여 이용되는 디코더 입력 버퍼 지연 △Tdib은 또한 데이터부 P를 트랜스코딩함으로써 얻어진 트랜스코딩된 데이터부 PT에 대하여 이용될 수 있다. 그러나, 이것이 종료되면, 트랜스코딩된 데이터부들 PT는 다음의 조건이 만족되기만하면 코딩된 데이터부들 P와 동일한 시간 패턴에 따라 판독될 수 있을 것이다. 트랜스코딩된 데이터 스트림 DST에서, 트랜스코딩된 데이터부 PT는 데이터 스트림 DS에서 코딩된 데이터부 P와 정확하게 동일한 방식으로 서로 관련하여 배치되어야 한다. 이것은 각 트랜스코딩된 데이터부 PT가 특정한 크기를 갖음을 의미한다. 트랜스코딩의 과정에서, 각각의 트랜스코딩된 데이터부 PT가 필요한 크기를 갖도록 보장하기 위해 상대적으로 어려우며 이에 따른 비용이 들거나, 또는 이것을 보장하는 것이 불가능할 수도 있다. 또한, 이러한 조건을 만족하기 위해서, 하나 이상의 트랜스코딩된 데이터부가 상대적으로 작은 크기를 갖을 수 있다. 따라서, 그러한 작은 크기의 트랜스코딩된 데이터부를 얻기 위한 트랜스코딩의 과정에서, 상대적으로 작은 양의 정보가 손실될 수 있다. 이것은 트랜스코딩된 데이터 서트림 DST를 디코딩하여 얻어진 데이터의 품질에 악 영향을 줄 수 있다.
도 2에 도시된 특징들은 다음의 이로운 효과들을 제공한다. 새로운 디코더 입력 버퍼 지연 △Tdib_new는 트랜스코딩된 데이터부 PT가 디코더 입력 버퍼 DIB2에 기록되는 순간 Twd2과 트랜스코딩된 데이터부 PT가 디코더 입력 버퍼 DIB2로부터 판독되는 순간 Trd2 사이의 차이다. 디코더 입력 버퍼 DIB2가 트랜스코더 출력 버퍼 TOB에 직접 결합된다고 가정한다. 이 경우, 코딩된 데이터부 P가 트랜스코더 출력 버퍼 TOB에 기록되는 순간과 트랜스코딩된 데이터부 PT가 디코더 입력 버퍼 DIB로부터 판독되는 순간 사이의 차는 디코더 입력 버퍼 지연 △Tdib와 고정된 트랜스코딩 지연 △Ttrans의 합과 거의 동일하다. 따라서, 트랜스코딩된 데이터부 △Ttrans가 디코더 입력 메모리 DIB2로부터 판독되는 순간과 코딩된 데이터부 P가 디코더 입력 메모리 DIB1으로부터 판독되는 순간 사이의 차는 고정된 트랜스코딩 지연 △Ttrans와 거의 동일하다. 따라서, 트랜스코딩된 데이터부들 PT는 코딩된 데이터부 P가 디코더 입력 버퍼 DIB1로부터 판독되는 동일한 시간 패턴에 따라 디코더 입력 버퍼(DIB2)로부터 판독된다. 이것은 트랜스코딩된 데이터부들 PT가 디코더 입력 버퍼 DIB에 도달하면, 이들이 트랜스코더 출력 버퍼 TOB로부터 판독된 후, 어떤 트랜스코딩 지연(△Ttd)를 동일하게 적용한다. 따라서, 도 2에 예시된 특징들은 트랜스코딩된 데이터부들 PT로 하여금 이후 명세서에서 설명되는 바와 같이 상대적으로 높은 비용 및 품질에 악영향을 줄 수 있는 트랜스코딩된 데이터부들 PT를 크기로 제한하지 않고 소망하는 시간 패턴에 따라 판독되도록 허용한다. 따라서, 도 2에 예시된 특징들은 상대적으로 비용 효과 구현들 및 만족스러운 품질에 기여한다.
도 2에 도시된 특징들에 관하여 다음의 부가적인 주의점들이 지적된다. 트랜스코더 출력 지연 △Ttob은 여러 가지 다른 방식으로 계산될 수 있다. 예를 들면, 다음의 파라미터들: (a) 트랜스코딩된 데이터부 PT가 이 버퍼에 기록되는 순간에 트랜스코더 출력 버퍼 TOB에 포함된 데이터량 및, (b) 데이터가 상기 버퍼로부터 판독되는 레이트에 기초하여 계산될 수 있다. 트랜스코더 버퍼에 포함된 데이터량은 예컨대 트랜스코더 출력 버퍼 TOB에 기록되고 이로부터 판독된 데이터량을 카운팅함으로써 결정될 수 있다. 데이터가 트랜스코더 출력 버퍼 TOB로부터 판독될 레이트는 예컨대 제어기에 의해 결정될 수 있는 트랜스코딩된 데이터 스트림 DST의 비트 레이트이다. 다음은 어떤 트랜스코딩된 데이터부 PT에 대한 트랜스코더 출력 지연 △Ttob의 계산예이다. 트랜스코더 출력 버퍼 TOB가 트랜스코딩된 데이터부 PT가 트랜스코더 출력 버퍼 TOB에 기록되는 순간에 500kbits를 포함하고, 트랜스코딩된 데이터 스트림 DST의 비트 레이트가 초당 5Mbits이라고 가정한다. 이때 트랜스코딩된 데이터부는 100ms의 지연 후, 트랜스코더 출력 버퍼 TOB로부터 판독되는 것이 용이하게 계산될 수 있으며, 따라서 데이터부에 대한 트랜스코더 출력 버퍼 지연 △Ttob는 100mS이다. 그러나, 트랜스코더 출력 지연 △Ttob는 또한 트랜스코딩된 데이터부 PT가 트랜스코더 출력 버퍼 TOB에 기록되는 순간 및, 트랜스코딩된 데이터부가 상기 버퍼로부터 판독되는 순간을 측정함으로써 계산될 수 있다. 이 경우, 트랜스코딩된 데이터 스트림 DST는 제어 코드 CC가 리트로-액티브 방식(retroactive manner)으로 적응되도록 트랜스코딩 단부에서 부가적으로 지연될 수 있다.
고정된 트랜스코딩 지연 △Ttrans은 실질적으로 트랜스코딩의 처리에 의해 도입되는 지연과 동일하거나 또는 더 큰 것이 바람직하다. 고정된 트랜스코딩 지연 △Ttrans는 화질간의 중간치 및 전송 단부와 수신 단부 사이의 전체 지연을 포함한다. 즉, 고정된 트랜스코딩 지연 △Ttrans가 상대적으로 큰 값을 가지면, 이것은 화질에 영향을 줄 수 있다. 그러나, 상대적으로 큰 값은 예컨대 축구시합의 생중계가 있다면 만족스럽지 못할 수 있다.
본 발명을 이롭게 구현하기 위해 선택적으로 이용될 수 있는 다른 부가적인 특징은 도 3, 4, 5 및 6에 예시된다. 상기 도면들 각각은 시간 T를 나타내는 수평축 및 데이터량 X를 나타내는 수직축을 갖는 그래프를 포함한다. 각 그래프는 3개의 곡선 A, B, C를 포함한다. 곡선 A는 시간의 함수로서 트랜스코더 출력 버퍼 TOB에 기록되는 데이터량을 나타낸다. 곡선 B는 디코더 출력 버퍼 TOB로부터 제거되고 실질적으로 디코딩 단부에서 디코더 입력 버퍼 DIB에 기록되는 데이터량을 나타낸다. 곡선 C는 시간의 함수로서 디코더 입력 버퍼 TOB로부터 판독된 데이터량을 나타낸다. 트랜스코더 출력 버퍼 TOB는 어떤 순간에도, 이 순간에서 곡선 A와 B 사이의 차인 데이터량을 포함한다. 디코더 입력 버퍼 DIB는 어떤 순간에도, 이 순간에서 곡선 B와 C 사이의 차인 데이터량을 포함한다.
도 3은 도 2를 참조하여 설명된 특징들에 부가하여 다음의 특징을 예시한다. 단계 S/Ftob에서, 트랜스코더 출력 버퍼 충만치 Ftob가 결정된다. 트랜스코더 출력 버퍼 충만치 Ftob는 트랜스코딩된 데이터부 PT(i)가 트랜스코더 출력 버퍼 TOB에 기록되는 순간 Twt에 트랜스코더 출력 버퍼 TOB에 포함된 데이터량 A-B이다. 단계 S/Fdib에서, 디코더 입력 버퍼 충만치 Fdib가 계산된다. 디코더 입력 버퍼 충만치 Fdib는 트랜스코딩된 코딩 데이터부 PT(i)가 디코더 입력 버퍼 DIB로부터 판독되는 순간 Trd에서 트랜스코딩된 데이터 스트림 DST를 수신하는 디코더 입력 버퍼에 포함될 데이터량 B-C이다. 디코더 입력 버퍼 충만치 Fdib는 트랜스코더 출력 버퍼 충만치 Ftob, 트랜스코딩된 데이터 스트림 DST에 대한 예측되는(projected) 비트 레이트 R 및, 디코더 입력 버퍼 지연 △Tdib와 트랜스코딩 지연 △Ttrans의 합에 기초하여 결정된다. 단계 S/QR-Fdib에서, 트랜스코딩된 데이터부 PT에 포함될 데이터량 XPT(i)를 결정하는 양자화 파라미터 QP는 디코더 입력 버퍼 충만치 Fdib에 따라 조정된다.
도 3에 예시된 특징들에 관하여, 다음의 특징들이 고려되었다. 어떤 시간 기간 내에, 디코더 입력 버퍼 DIB로부터 판독된 데이터량이 이 버퍼에 기록된 데이터량을 초과하는 경우, 상기 버퍼가 언더플로우될 위험이 있다. 즉, 어떤 트랜스코딩된 데이터부가 디코더 입력 버퍼 DIB로부터 판독되는 순간에, 트랜스코딩된 데이터부가 이 버퍼에 아직 완전히 기록되지 않을 수 있다. 역으로, 어떤 시간 기간 내에, 디코더 입력 버퍼 DIB에 기록된 데이터량이 이 버퍼로부터 판독된 데이터량을 넘는다면, 상기 버퍼가 오버플로우될 위험이 있다. 즉, 어떤 트랜스코딩된 데이터부가 디코더 입력 버퍼 DIB에 도달한 순간, 트랜스코딩된 데이터부를 저장하기 위해 이 버퍼 DIB에 남아 있는 공간이 충분하지 않을 수 있다. 어떤 경우에도, 언더플로우 또는 오버플로우는 일반적으로 디코딩 처리를 위해 이용가능한 트랜스코딩된 데이터의 소정의 손실을 수반할 것이다. 이것은 디코딩 단부에 악영향을 미칠 수 있다.
도 3에 예시된 특징은 다음의 이로운 효과를 제공한다. 트랜스코딩된 데이터부 PT(i)에 포함된 데이터량 XPT(i)은 디코더 버퍼 충만치 Fdib에 의존할 것이다. 즉, 트랜스코딩된 데이터부 PT(i)에 포함된 데이터량 XPT(i)은 트랜스코딩된 데이터부 PT(i)가 버퍼로부터 판독되는 순간에 디코더 입력 버퍼 DIB에 포함된 데이터량에 의존할 것이다. 이것은 디코더 입력 버퍼 DIB의 오버플로우 또는 언더플로우를 방지한다. 예를 들면, 디코더 입력 버퍼 DIB가 상대적으로 채워져 있도록 계산된다고 가정한다. 이 경우, 양자화 파라미터 QP는 트랜스코딩된 데이터부 PT(i)가 오버플로우를 피하기 위하여 상대적으로 큰 데이터량 XPT(i)을 포함하는 값으로 설정될 수 있다. 역으로, 디코더 입력 버퍼 DIB가 상대적으로 비워져 있도록 계산되면, 양자화 파라미터 QP가 언더플로우를 피하기 위하여 상대적으로 작은 데이터량 XPT(i)을 포함하는 값으로 설정될 수 있다. 따라서, 도 3에 예시된 특징들이 언더플로우 및 오버플로우의 카운터링을 허용하기 때문에, 이들 특징들은 디코딩 단부에서 얻어진 데이터의 만족할만한 품질에 기여한다.
도 3에 예시된 특징들에 관하여, 다음의 부가적인 주의할 점들이 지적된다. 디코더 입력 버퍼 충만치 Fdib는 여러 가지 방식으로 계산될 수 있다. 예를 들면, 데이터량 DX가 트랜스코딩된 데이터부 PT가 트랜스코더 출력 버퍼에 기록된 순간 Twt에 시작하며 디코더 입력 버퍼 지연 △Tdib와 트랜스코딩 지연 △Ttrans의 합과 동일한 길이를 갖는 시간 간격에서 트랜스코더 출력 버퍼 TOB에서 디코더 입력 버퍼 DIB로 전송될 것을 우선 계산함으로써 계산할 수 있다. 도 4에 포함된 그래프는 데이터량 DX가 트랜스코더 입력 버퍼 충만치 Ftob와 디코더 입력 버퍼 Fdib의 합과 동일하다는 규칙이 적용됨을 예시한다. 따라서, 디코더 입력 버퍼 충만치 Fdib은 데이터량 DX와 트랜스코더 출력 버퍼 충만치 Ftob 사이의 차이다. 디코더 입력 버퍼 충만치 Fdib를 계산하는 다른 방법은 도 2를 참조하여 설명되는 바와 같이 계산된 새로운 디코더 입력 버퍼 지연 △dib_new를 이용하여 이루어진다. 디코더 입력 버퍼 충만치 Fdib는 트랜스코딩된 데이터부 PT가 트랜스코더 출력 버퍼 TOB로부터 판독되는 순간 Trt에서 시작하며 새로운 디코더 입력 버퍼 지연 △Tdib_new와 동일한 길이를 갖는 시간 간격에서 트랜스코더 출력 버퍼 TOB에서 디코더 입력 버퍼 DIB로 전송될 데이터량이다.
도 4는 도 3을 참조하여 논의된 특징들에 부가하여 다음의 특징을 예시한다. 단계 S/Ttarget에서, 타겟 Ttarget은 트랜스코딩된 데이터부 PT(i)에 포함된 데이터량 XPT(i)에 대하여 결정된다. 단계 S/Ttarget_ver에서, 타겟 Ttarget이 입력 디코더 버퍼 충만치 Fdib를 초과하는 지를 확인한다. 만약 그렇다면, 타겟 Ttarget은 디코더 입력 버퍼 충만치 Fdib를 초과하지 않는 확인된 타겟 Ttarget_ver을 얻도록 감소된다. 단계 S/QP-Ttarget_ver에서, 양자화 파라미터 QP는 확인된 타겟 Ttarget_ver에 기초하여 조정된다.
도 4에 예시된 특징들에 관하여, 다음의 특징들이 고려된다. 우선, 다음의 시나리오가 언더플로우에 관하여 고려된다. 디코딩 단부에서, 트랜스코딩된 데이터부 PT(i)가 이후 명세서에서 논의되는 새로운 디코더 입력 버퍼 지연 △Tdib_new에 의해 결정되는 순간 Trd에서 디코더 입력 버퍼 DIB로부터 즉시 제거된다. Ttarget이 디코더 입력 버퍼 충만치 Fdib를 초과한다면, 이것은 언더플로우를 초래하고, 즉, 디코더 입력 버퍼 DIB에 존재하여야 하는 트랜스코딩된 데이터부 PT(i)가 부분적으로 존재하거나, 최악의 경우에는 전혀 존재하지 않을 수 있는 위험이 있다.
두 번째로, 양자화 파라미터 QP를 조정하기 위해 디코더 입력 버퍼 충만치 Fdib와 다른 기준이 있을 수 있다. 예를 들면, 트랜스코딩될 데이터 스트림은 상대적으로 크기가 작은 코딩된 데이터부들 및 상대적으로 크기가 큰 데이터부들을 포함할 수 있다. 일반적으로, 만족할만한 트랜스코딩 품질은 상대적으로 큰 코딩된 데이터부들이 또한 상대적으로 큰 트랜스코딩된 데이터부들로 트랜스코딩되면 얻어질 것이다. 상대적으로 작은 코딩된 데이터부들은 상대적으로 큰 트랜스코딩된 데이터부에 대하여 충분한 공간을 효과적으로 남기도록 상대적으로 작은 트랜스코딩된 데이터부로 트랜스코딩되는 것이 바람직하다. 따라서, 만족할만한 트랜스코딩 결과를 달성하기 위하여, 코딩된 데이터부들에 포함된 데이터량이 트랜스코딩됨에 따라 양자화 파라미터 QP를 조정하는 것이 바람직하다.
도 4에 예시된 특징들은 다음의 장점을 갖는 효과들을 제공한다. 양자화 파라미터 QP는 타겟 Ttarget이 디코더 버퍼 입력 충만치 Fdib를 초과하는 경우에만 디코더 입력 버퍼 충만치 Fdib에 의해 직접 영향받는다. 즉, 양자화 파라미터 QP는 심각한 언더플로우의 위험이 있는 경우에만 디코더 입력 버퍼 충만치 Fdib에 의해 직접 영향받는다. 그러나, 언더플로우의 위험이 거의 없다면, 양자화 파라미터 QP는 본래 규정된 바와 같이 타겟 Ttarget에 기초하여 조정된다. 타겟 Ttarget은 만족할만한 트랜스코딩 품질이 달성되는 방식으로 규정될 수 있다. 예를 들면, 이전에 논의된 바와 같이 코딩된 데이터부의 크기에 기초하여 규정될 수 있다. 타겟 Ttarget의 확인은 원칙적으로 액션이 너무 자주 일어나지 않도록 하는 효과적인 보안책이다. 따라서, 양자화 파라미터 QP로 하여금 언더플로우에 대응한 보안책을 제공하면서 디코더 입력 버퍼 충만치 Fdib 외에 이상의 파라미터에 기초하여 조정되도록 허용함으로써, 도 4에 예시된 특징들이 만족할만한 트랜스코딩 품질에 기여한다.
도 5는 도 2를 참조하여 논의된 특징들에 부가하여 다음의 특징들을 예시한다. 연속적인 트랜스코딩된 데이터부 PT가 트랜스코딩된 데이터 스트림을 수신하는 디코더 입력 버퍼로부터 판독되는 순간들 사이에 고정된 시간 간격 △Tpt가 있다. 단계 S/Ttarget에서, 타겟 Ttarget은 트랜스코딩된 데이터부 PT(i)에 포함될 데이터량 XPT(i)에 대하여 결정된다. 단계 S/Ftob에서, 트랜스코더 출력 버퍼 충만치 Ftob는 결정된다. 트랜스코더 출력 버퍼 충만치 Ftob는 트랜스코딩된 데이터부 PT(i)가 트랜스코더 출력 버퍼 TOB에 기록되는 순간 Twt(i)에서 트랜스코더 출력 버퍼 TOB에 포함된 데이터량 A-B이다. 단계 S/Fdib_next에서, 후속의 디코더 입력 버퍼 충만치 Fdib_next가 계산된다. 후속의 디코더 입력 버퍼 충만치 Fdib는 다음의 트랜스코딩된 코딩 데이터부 PT(i+1)가 디코더 입력 버퍼 DIB로부터 판독되기 직전의 순간 Trd(i+1)-δ에서 디코더 입력 버퍼 DIB에 포함될 데이터량 B-C이다. 다음의 디코더 입력 버퍼 충만치 Fdib_next은 트랜스코더 버퍼 충만치 Ftob, 트랜스코딩된 데이터 스트림에 대하여 예측되는 비트 레이트 R, 및 디코더 입력 버퍼 지연 △Tdib, 트랜스코딩 지연 △Ttrans와 고정된 시간 간격 △Tpt의 합에 기초하여 계산된다. 단계 S/Ttarget_ver에서, 다음의 디코더 입력 버퍼 충만치 Fdib_next가 미리 결정된 최대치 MAX를 초과하는가가 확인된다. 만약 그렇다면, 타겟 Ttarget은 다음의 디코더 입력 버퍼 충만치 Fdib_next가 미리 결정된 최대치 MAX를 넘지않는 확인된 타겟 Ttarget_ver을 얻도록 증가된다. 단계 S/QP-Ttarget_ver에서, 양자화 파라미터 QP는 확인된 타겟 Ttarget_ver에 기초하여 조정된다.
도 5에 예시된 특징들에 관하여, 관점은 도 3 및 4에 예시된 특징들에 관련된 특징들과 유사한 고려를 한다. 다른 고려들이 다음과 같이 있다. 트랜스코딩된 데이터부 PT(i)는 순간 Trd(i)와 Trd(i+1)-δ 사이의 고정된 시간 간격 △Tpt동안 디코더 입력 버퍼 DIB에 기록될 데이터량보다 작은 데이터량 XPT(i)을 포함할 수 있다. 이 경우에 디코더 입력 버퍼 DIB에 포함된 데이터량은 상기 시간 간격동안 증가할 것이다. 디코더 입력 버퍼 DIB가 이미 적절한 데이터량으로 채워지고 트랜스코딩된 데이터부 PT(i)가 상대적으로 작은 데이터량 XPT(i)을 포함하면 오버플로우가 있을 수 있다.
도 5에 예시된 특징들은 다음의 이로운 효과들을 제공한다. 다음의 디코더 입력 버퍼 충만치 Fdib_next는 다음의 트랜스코딩된 데이터부 PT(i+1)가 디코더 출력 버퍼로부터 판독되기 직전의 순간 Trd(i+1)-δ에 디코더 입력 버퍼 DIB에 포함될 데이터량의 효과적인 예측이다. 이 예측은 초기에 결정된 타겟 Ttarget에 기초하여 이루어진다. 순간 Trd(i+1)-δ에서 디코더 입력 버퍼 DIB에서의 예측된 데이터량이 소망하는 최대값 MAX 이하인가를 확인한다. 즉, 오버플로우가 초기에 결정된 타겟 Ttarget에 대하여 발행하는가 또는 발생하지 않는가가 확인된다. 만약, 오버플로우가 발생된다면, 타겟 Ttarget은 오버플로우가 더 이상 발생하지 않도록 충분히 증가된다. 따라서, 도 5에 예시된 특징들은 이외에 발생할 수 있는 디코더 입력 버퍼의 오버플로우에 대한 보안책을 제공한다. 상기 특징들과 연관된 다른 장점들은 도 3 및 도 4에 예시된 특징과 연관하여 이후 명세서에서 언급되는 이점들과 유사하다.
도 6은 도 2를 참조하여 설명된 특징과 더불어 다음의 특징을 예시한다. 트랜스코딩된 데이터부 PT(i-k)는 도 2를 참조하여 논의된 트랜스코딩된 데이터부 PT(i)에 선행한다. 이들 데이터부들은 현재의 각각 트랜스코딩된 데이터부 PT(i-k)와 미래의 트랜스코딩된 데이터부 PT(i)로서 이후 명세서에서 언급된다. 단계 S/Fdib_des에서, 소망하는 디코더 입력 버퍼 충만치 Fdib_des가 규정된다. 소망하는 디코더 입력 버퍼 충만치 Fdib_des는 미래의 트랜스코딩된 데이터부 PT(i)가 디코더 입력 버퍼 DIB로부터 판독되는 순간 Trd(i)에 바람직하게 포함하여야 하는 데이터 B-C의 양이다. 단계 S/△Tdib(i)에서, 미래의 데이터부 P(i)와 연관된 디코더 입력 버퍼 지연 △Tdib(i)이 예측된다. 단계 S/Ftob_des에서, 소망하는 트랜스코더 출력 버퍼 충만치 Ftob_des가 계산된다. 소망하는 트랜스코더 출력 버퍼 충만치 Ftob_des는 데이터량 A-B이고, 여기서 트랜스코더 버퍼 TOB는 미래의 트랜스코딩된 데이터부가 트랜스코더 출력 버퍼 TOB에 기록되는 순간 Twt(i)에 포함하는 것이 바람직하다. 소망하는 트랜스코더 출력 버퍼는 예측된 디코더 입력 버퍼 지연 △Tdib(i)와 트랜스코딩된 데이터 스트림에 대하여 예측된 비트 레이트 R에 기초하여 계산된다. 단계 S/QP-Ftob_des에서, 현재의 트랜스코딩된 데이터부 PT(i-k)에 포함된 데이터량 XPT(i-k)는 소망하는 트랜스코더 출력 버퍼 충만치 Ftob_des에 기초하여 조정된다.
다음의 관점들은 도 6의 특징에 연관하여 고려된다. 상대적으로 큰 데이터량을 포함하는 코딩된 데이터부가 또한 상대적으로 큰 데이터량을 포함하는 트랜스코딩된 데이터부로 트랜스코딩된다면 만족할만한 전송 품질이 얻어질 수 있음이 이미 언급되었다. 그러나, 도 4에 예시된 특징들과 관련하여 논의된 바와 같이, 상대적으로 큰 트랜스코딩된 데이터부 PT가 디코더 입력 버퍼 DIB로부터 판독될 때 언더플로우의 위험이 있다. 즉, 상대적으로 큰 트랜스코딩된 데이터부가 이 순간에서 디코더 출력 버퍼 DIB에 완전히 기록되지 않을 위험이 있다. 이러한 위험은 도 4에 예시된 특징이 적용되면, 즉 언더플로우가 발생할 수 있는 임계값 보다 낮은 상대적으로 큰 트랜스코딩된 데이터부에 데이터량을 유지하기 위해 시도되면 감소된다. 이 경우, 언더플로우를 피하는 것은 상대적으로 큰 트랜스코딩된 데이터부에 포함되는 데이터량에 대한 기준이며, 바람직하게는 질문시 트랜스코딩된 데이터부가 유도되는 코딩된 데이터부에 포함된 데이터량으로서 하나 이상의 다른 기준이 적용한다. 따라서, 디코더 입력 버퍼 DIB에 포함된 데이터량이 도 4에 예시된 특징들 같은 활동(action)을 하는 임의의 보안없이 어떤 제한들 내에서 유지되는 것이 바람직하고, 또는 보안 장치가 있으면 그것은 자주 일어나지 않는다.
도 6에 예시된 특징은 다음의 이로운 효과를 제공한다. 양자화 파라미터 QP와 이에 따라 현재의 트랜스코딩된 데이터부 PK(i-k)에 포함된 데이터량 XPT(i-k)은 미래의 트랜스코딩된 데이터부 PT(i)에 대한 디코더 입력 버퍼에 포함된 데이터량이 원하는 레벨에 있거나 또는 이에 상당히 근접하게 있도록 하는 방식으로 조정된다. 따라서, 도 6에 예시된 특징들은 미래의 트랜스코딩된 데이터부 PT(i)가 트랜스코딩될 때 예컨대 디코더 입력 버퍼 DIB에서의 언더플로우를 피하기 위하여 단기간 측정들이 취해지는 것을 방지하는 장기간 전략을 제공한다. 미래의 트랜스코딩된 데이터부 PT(i)는 예컨대 상대적으로 큰 데이터량을 포함하기 위해 알려져 있거나 또는 예측되는 형태일 수 있다. 이 경우, 소망하는 디코더 입력 버퍼 충만치 Fdib_des는 미래의 트랜스코딩된 데이터부 PT(i)가 상대적으로 큰 데이터량을 포함하도록 상대적으로 높은 것이 바람직하다. 따라서, 이것은 도 4에 예시된 특징들과 같은 임의의 세이프가드가 적용될 기회를 줄일 수 있다. 따라서, 도 6에 예시된 특징들은 만족할만한 트랜스코딩 품질에 기여하는 양자화 파라미터 QP의 조정을 예측하기 위한 요소를 제공한다.
도 7은 도 1 내지 6을 참조하여 이후 명세서에서 논의되는 임의의 특징들이 개별적으로 또는 조합하여 실행될 수 있는 본 발명에 따른 트랜스코더의 일례를 예시한다. 도 7의 트랜스코더에 의해 수신된 데이터 스트림 DS는 각 코딩된 데이터부 P가 상이한 화상을 나타내는 화상들의 시퀀스를 나타내는 MPEG 형태로 될 수 있다. 트랜스코딩된 데이터 스트림 DST는 이것이 얻어지는 코딩된 데이터부 P와 동일한 화상을 나타내는 MPEG 형태와 동일할 수 있다. 트랜스코딩된 데이터 스트림 DST는 데이터 스트림 DS보다 낮은 비트 레이트를 갖을 수 있다. 이 경우, 도 7의 트랜스코더는 비트 레이트 변환을 수행한다.
도 7의 트랜스코더는 트랜스코딩 회로 TRC, 및 제어기 CON에 부가하여 이후 명세서에서 언급되는 트랜스코더 출력 버퍼 메모리 TOB를 포함한다. 트랜스코딩 회로 TRC는 가변 길이 디코더 VLD, 가변 길이 코더 VLC, 양자화기 Q, 두 개의 탈양자화기 DQ1, DQP, 이산 코사인 변환기 DCT, 역 이산 코사인 변환기 IDCT, 메모리 MEM, 이동 보상기 MC 및 2개의 감산기들 S1, S2를 포함한다. 트랜스코딩 회로 TRC와 동일한 트랜스코딩 회로는 제 EP-A 0 690 392호에 더 상세히 설명된다.
트랜스코딩 회로 TRC는 코딩된 데이터부들 P를 트랜스코딩된 데이터부들 PT로 트랜스코딩시킨다. 트랜스코딩된 데이터부에 포함된 데이터량은 양자화기 Q의 양자화 파라미터 QP에 의해 결정된다. 코딩된 데이터부 P 및 트랜스코딩된 데이터부들 PT는 양자화된 DCT 계수들을 포함한다. 양자화기 QP는 우선 코딩 단부에서 양자화되고 다음에 탈양자화기(dequantizer) DQ1에 의해 탈양자화되는 DCT 계수를 효과적으로 재양자화시킨다. 양자화 파라미터 QP의 어떤 값을 갖는 DCT 계수의 양자화는 DCT 계수의 값이 양자화 파라미터 QP의 값으로 분할되고 가장 인접한 가능한 정수로 라운드오프됨을 의미한다. 예컨대, DCT 계수가 -128과 127 사이의 소정의 정수값이라고 가정한다. 이 경우, 8비트가 2진수 형태로 DCT 계수를 나타내기 위해 필요하다. 양자화기 Q가 양자화 파라미터 4를 갖는 DCT 계수를 양자화한다면, 양자화된 DCT 계수는 -32와 31 사이의 임의의 정수값이도록 얻어질 것이다. 이 경우, 6비트만이 양자화된 DCT 계수를 나타내기 위해 필요하다. 그러나, 양자화기 Q가 양자화 파라미터 8을 갖는 DCT 계수로 양자화되면, 양자화된 DCT 계수는 -16과 15 사이의 임의의 정수값이 되도록 얻어질 수 있다. 이 경우, 5비트만이 양자화된 DCT 계수를 나타내기 위해 필요하다.
제어기 CON은 도 1 내지 도 6에 예시된 임의의 특징들과 연관하여 기술된 단계들을 효과적으로 수행한다. 결국, 제어기는 코딩된 데이터 스트림 DS에서 제어 코드 CC로 규정된 디코더 입력 버퍼 지연 △Tdib과 같은 코딩된 데이터 스트림 DS로부터 파라미터들을 수신한다. 제어 코드들 CC는 MPEG 표준들에서 "vbv 버퍼 지연(vbv buffer delay)"로서 불리우는 것에 대응함을 유념한다. 제어기 CON은 또한 이 버퍼에 포함된 데이터량 또는 트랜스코더 출력 버퍼 지연 △Ttob 또는 이들 모두에 연관된 트랜스코더 출력 버퍼 TOB로부터 하나 이상의 파라미터를 수신한다. 또한, 제어기 CON은 트랜스코딩된 데이터 스트림 DST의 프로젝팅된 비트 레이트 R의 정보(knowledge)를 결정 또는 갖을 수 있다. 제어기 CON이 수신하거나 또는 제어기 CON에서 이용가능한 그러한 파라미터들에 기초하여 트랜스코딩된 데이터부들 PT에 대한 새로운 디코더 입력 버퍼 지연 △Tdib_new를 계산한다. 제어기 CON은 또한 도 3 내지 도 6과 연관하여 기술된 특징들에 따른 하나 이상의 알고리즘들에 기초하여 양자화 파라미터를 조정할 수 있다. 제어기 CON은 적절하게 프로그램된 컴퓨터의 형태일 수 있다.
제어기 CON은 양자화 파라미터 QP를 조정할 수 있는 여러 가지 방식들이 있다. 일례는 이후 설명된다. 트랜스코딩된 화상에 대하여, 제어기 CON은 (1)적용되는 양자화 파라미터 QP와 (2)얻어지는 트랜스코딩된 데이터량, 예컨대 출력 비트의 수의 곱을 계산하다. 이 곱은 이후 명세서에서 화상의 복잡도로 언급된다. 복잡도는 말하자면 화상을 코딩하기 위해 얼마만한 어려움이 있는 측정인가를 말한다. 화상은 DCT 계수들이 상대적으로 적은 비트를 이용하여 표현되고 상대적으로 많은 DCT 계수들이 0으로 라운드되어야 하는 가를 의미하는, 양자화 파라미터 QP가 상대적으로 높은 값을 갖는다면 코딩하는데 어려움이 있지만, 그럼에도 불구하고 상대적으로 큰 양의 트랜스코딩된 데이터가 얻어진다. 이 경우, 양자화 파라미터 QP 및 얻어진 데이터량의 곱인 복잡도는 화상이 코딩하는데 어려움이 있음을 나타내는 상대적으로 높은 값을 갖을 것이다.
어떤의 코딩된 형태의 I, P 또는 B의 화상이 트랜스코딩된다고 가정한다. 화상을 트랜스코딩시 적용되는 양자화 파라미터 QP에 대한 기본값은 다음과 같이 계산된다. 기본값은 화상 타겟에 의해 각각 분할된 동일한 코딩 형태의 I, P 또는 B의 마지막 트랜스코딩된 화상의 복잡도이다. 화상 타겟은 이상적으로 화상을 트랜스코딩함으로써 얻어져야 하는 데이터량이다. 이는 다양한 방식들로 규정된다. 두가지 예들은 이후 명세서에서 주어지는데, 하나는 단기간 접근법이고, 다른 하나는 장기간 접근법이다. 양자화 파라미터 QP에 대한 기본값은 사실상 이전의 코딩에서의 경험에 기초하여 결정된다. 2개의 후속의 화상의 각각의 복잡도는 많은 차이가 없을 것으로 가정한다. 상기 가정은 대부분의 경우들에 정확하다.
양자화 파라미터 QP에 대한 기본값을 계산하기 위해 이용되는 화상 타겟은 다음과 같이 규정될 수 있다. 디코더 입력 버퍼 충만치가 화상의 트랜스코딩된 데이터가 디코더 입력 버퍼로부터 판독되기 직전의 순간에 무엇인지가 계산된다. 화상의 트랜스코딩된 데이터를 나타내는 PT(i)와 함께 도 3을 참조하면, 디코더 입력 버퍼 충만치 Fdib는 트랜스코더 출력 버퍼 충만치 Ftob 및, Twl와 Trd 사이의 시간폭에서 예측되는 비트 레이트 R에 기초하여 계산되는데, 여기서 상기 시간폭은 △Tdib+△Ttrans이다. 디코더 입력 버퍼 충만치는 화상의 트랜스코딩된 데이터가 디코더 입력 버터로부터 판독된 직후에 무엇이어야 하는 지가 규정된다. 도 3을 참조하면, 곡선들 B와 C 사이의 차가 순간 Trd 직후에 무엇인지 규정되는데, 이 차는 소망하는 디코더 입력 버퍼 충만치이다. 다음에, 화상 타겟은 디코더 버퍼 충만치 Fdib와 소망하는 디코더 버퍼 충만치 사이의 차이다. 화상 타겟을 결정하는 상기 방식은 다음과 같이 설명될 수 있다. 화상이 트랜스코딩되기 전에, 디코더 입력 버퍼 충만치에 의해 "우리가 어디있지?(where are we?)"와 "우리는 무엇이 되고 싶지?(where do we want to be?)"가 결정된다. 이들 두가지 사이의 차는 화상 타겟이다.
각 화상에 대하여 고정된 소망하는 디코더 입력 버퍼 충만치를 규정하는 것이 가능하며, 반면 코딩 타입들 I, P 및 B간의 구별은 이후 명세서에서 설명되는 바와 같이 화상 타겟을 계산하기 위해 이루어질 수 있다. 이것은 단기간 타겟을 이용하는 접근법으로 여겨질 수 있는데, 여기서 단기간은 화상의 기간에 대응한다. 그러나, 장기간 타겟에 기초하는 접근법이 이용된다면, 더 좋은 화질은 일반적으로 얻어질 수 있는데, 여기서 장기간은 N개의 화상들의 시퀀스에 대응하며, N은 정수이다. 이것은 고화상 타겟이 일련의 다른 화상들에 대하여 화상 타겟들의 희생으로 상대적으로 복잡한 N개의 화상들의 시퀀스에서의 화상에 대하여 할당될 수 있다는 인식에서 화상 타겟에 유연성을 줄 수 있다. 따라서, 더 이상의 화질이 얻어질 수 있다.
다음은 장기간 타겟을 이용하는 접근법의 일례이다. 소망하는 디코더 입력 버퍼 충만치는 미래의 순간에 대하여 규정된다. 미래의 순간은 이전에 트랜스코딩된 화상에 이어지는 제 N 번째 화상이 디코더 입력 버퍼로부터 판독된 직후의 순간이다. 따라서, N이 1이면, 미래의 순간은 현재 트랜스코딩될 화상이 디코더 입력 버퍼로부터 판독된 직후의 순간일 수 있다. 그러나, N이 1이면, 이것은 이후 명세서에서 설명되는 바와 같이 단기간 타겟을 이용하는 접근법에 대응한다. 정수 N은 MPEG에서 규정된 바와 같은 화상의 그룹에 포함된 화상의 수에 대응하는 것이 바람직하다. 예컨대, N은 12일 수 있다.
상술된 미래의 순간은 현재 트랜스코딩될 화상과 연관된 "vbv 버퍼 지연(vbv buffer delay)"에 의해 규정된 바와 같이 디코더 입력 버퍼 지연 △Tdib에 기초하여 계산될 수 있다. "지금(now)"는 현재 트랜스코딩될 화상이 트랜스코더 출력 버퍼에 기록되기 직전의 순간으로 가정한다. 현재 트랜스코딩될 화상인 PT(i)와 함께 도 3을 참조하면, "now"는 순간 Twt이다. 미래의 순간은 "now"에서 시작하는 시간폭의 끝이며, 시간폭은 디코더 입력 버퍼 지연 △Tdib와 트랜스코딩 지연 △Ttrans의 합 플러스 N-1 화상 기간들이다. 따라서 미래의 순간은 "now" 플러스 △Tdib 플러스 △Ttrans 플러스 N-1 곱하기 △Tpt이며, 상기 △Tpt는 화상 기간이다. 디코더 입력 버퍼 지연 △Tdib와 전송 지연 △Ttrans의 합은 N개의 화상들 중 제 1 화상이 디코더 입력 버퍼로부터 판독되는 순간을 마크한다. 결과적으로, 화상이 각 화상 기간마다 디코더 입력 버퍼로부터 판독되기 때문에, 제 N 번째 화상은 제 1 화상이 판독된 후 N-1 화상 기간에서 판독된다.
트랜스코딩될 N 후속 화상에 대한 그룹 타겟은 상술된 시간폭, 이 시간폭 동안 트랜스코딩된 데이터 스트림에 대하여 예측되는 비트 레이트, 실제 트랜스코더 출력 버퍼 충만치 및 상술된 미래의 순간에서 소망하는 디코더 입력 버퍼 충만치에 기초하여 계산된다. 그룹 타겟은 이상적으로 후속 N개의 화상들을 트랜스코딩함으로써 얻어져야 하는 데이터량을 나타낸다. 즉, 그룹 타겟이 만족되면, 디코더 입력 버퍼 충만치는 미래의 순간에 소망하는 디코더 입력 버퍼 충만치일 수 있다.
그룹 타겟은 다음과 같이 계산된다. 상술된 시간폭 동안 트랜스코더 출력 버터에서 디코더 입력 버퍼로 전송되는 데이터량은 예측되는 비트 레이트에 기초하여 계산된다. 그룹 타겟은 상술된 데이터량 마이너스 실제 트랜스코더 출력 버퍼 충만치 마이너스 소망하는 디코더 입력 버퍼 충만치이다. 예컨대, 연관된 시간폭에서의 비트 레이트는 일정하며 R과 동일하다고 가정한다. 그 후, 시간폭 동안 트랜스코더 출력 버퍼로부터 디코더 입력 버퍼로 전송될 데이터량은 R 곱하기 시간폭의 길이이다. 따라서, 그룹 타겟은 R 곱하기 시간폭의 길이 마이너스 실제 트랜스코더 출력 버퍼 충만치 마이너스 소망하는 디코더 입력 버퍼 충만치이다.
트랜스코딩될 화상에 대한 화상 타겟은 다음의 방식으로 상술된 그룹 타겟에 기초하여 계산된다. 최종 N 트랜스코딩된 화상의 복잡도들의 합이 우선 계산된다. 화상 타겟은 그룹 타겟과 승산되고, 복잡도들의 합으로 나누어진 트랜스코딩될 화상과 동일한 코딩 형태를 갖는 최종 트랜스코딩된 화상의 복잡도이다. 따라서, 최근의 트랜스코딩된 화상이 상대적으로 복잡하다면, 즉 복잡도가 높은 값을 갖는다면, 동일한 코딩 형태를 갖는 트랜스코딩될 후속 화상은 상대적으로 높은 화상 탸겟을 갖는다.
앞의 여러 단락들에서 제시된 화상 타겟은 화상 복잡도를 고려하지 않지만 실제 버퍼 충만치 및 단기간, 즉 다음의 화상에서의 소망하는 버퍼 충만치로부터 직접 유도된다. 따라서, 화상 타겟에 기초한 상기 단기간은 이전의 단락에서 제시된 장기간 기초 화상 타겟과 정확히 비교된다. 이전의 단락에서 제시된 장기간 기초 화상 타겟은 일부 화상들이 다른 것보다 복잡할 수 있으며, 결과적으로 이들이 다른 화상들의 희생으로 트랜스코딩될 때 더 많은 비트를 생성하도록 하는 것을 허용하는 것이 고려한다. 따라서, 양자화 파라미터 QP는 화질에 해가되는 상대적으로 큰 단기간 변동을 받는 것을 방지할 수 있다.
유리하게, 장기간 기초 화상 타겟은 화상을 트랜스코딩함으로써 얻어진 데이터량이 상기 화상 타겟과 실제로 동일하다면 디코더 입력 버퍼가 언더플로우나 오버플로우가 없음이 확실히 확인된다. 도 4 및 도 5는 오버플로우와 언더플로우 각각에 대한 확인 방법들을 예시한다. 화상 타겟이 언더 플로우를 일으키면, 언더 플로우를 방지하기 위하여 감소된다. 역으로, 화상 타겟이 오버플로우를 일으키면, 언더플로우를 방지하기 위하여 증가된다. 양자화 파라미터 QP에 대한 기본값은 동일한 코딩 형태의 최종 트랜스코딩된 화상의 복잡성을 확인된 화상 타겟으로 나누어 얻어진다.
양자화 파라미터 QP의 기본값은 트랜스코딩될 화상에서의 각 매크로블록에 대하여 적용될 수 있다. 그러나, 일반적으로 화질에 관하여 양자화 파라미터의 값을 매크로블록마다 조정하는 것이 유리할 것이다. 이것은 다음의 방식으로 행해질 수 있다. MPEG 데이터 스트림은 각 매크로블록에 대하여 매크로블록을 인코딩하기 위해 이용되는 양자화 파라미터의 값을 지시하는 제어 코드를 포함한다. 이후에 원값으로 불리우는 이 값은 보정 계수를 유도하기 위하여 이용된다. 따라서, 보정 계수는 각 매크로블록에 대하여 유도된다. 매크로블록을 트랜스코딩하기 위해 적용되는 양자화 파라미터 QP의 값은 양자화 파라미터 QP의 기본값 곱하기 매크로블록에 대한 보정 계수이다.
보정 계수는 다음의 방식으로 계산될 수 있다. 각 원값은 가중된 원값을 얻도록 연관된 매크로블록의 코딩 형태에 좌우되는 가중 인자로 나누어진다. 최종 트랜스코딩된 화상의 가중된 원값의 평균은 평균 원값을 얻도록 계산된다. 보정 계수는 2배의 현재 원값 플러스 중간 원값과 현재의 원값 플러스 2배의 평균 원값의 비이다.
이후 명세서에서 설명되며 도 3 내지 도 7을 참조되는 양자화 파라미터 QP에 대한 값을 결정하는 다양한 특징들은 공통적으로 다음의 특징을 갖는다. 트랜스코딩될 데이터부 PT와 연관된 디코더 입력 버퍼 지연 △Tdib는 상기 데이터부 PT를 트랜스코딩하기 위한 양자화 파라미터 QP를 결정하기 위해 이용된다. 따라서, MPEG 데이터 스트림을 트랜스코딩시, 코딩된 화상과 연관된 vbv 버퍼 지연은 그 화상을 트랜스코딩하기 위한 양자화 파라미터 QP를 결정하기 위해 이용된다. 이와 같이 하는 이유는 예컨대 도 3으로부터 이해될 수 있다. 입력 버퍼 지연 △Tdib이 클수록 관련된 데이터부가 디코더 입력 버퍼로부터 판독되기 직전에 디코더 입력 버퍼가 더 채워질 수 있으며(Fdib larger), 그 반대도 마찬가지이다. 입력 버퍼 지연 △Tdib은 양자화 파라미터 QP를 결정하기 위해 이용되기 때문에, 디코더 입력 버퍼가 상측 한계를 초과하거나(오버플로우), 또는 하측 한계 보다 낮은 것(언더플로우)을 방지할 수 있다. 또한, 소망하는 디코더 버퍼 충만치를 목적으로 하는 장기간 접근법에 있어서, 제 N 번째 후속 데이터부가 디코더 입력 버퍼로부터 판독될 때, 입력 버퍼 지연 △Tdib은 N 후속 데이터부들을 코딩시 얻어지는 트랜스코딩된 데이터의 소망하는 양을 계산하기 위해 이용될 수 있다. 양자화 파라미터 QP에 대한 적절한 값은 그 소망하는 데이터량으로부터 유도될 수 있다.
이전의 도면 및 이에 대한 설명은 본 발명을 한정한 것으로 예시하였다. 첨부된 청구항들의 범위 내에서 수많은 예들이 있을 수 있음은 자명하다. 이러한 관점에서, 다음의 결론이 이루어진다.
여러 가지 유닛에서 기능 또는 기능적 소자를 물리적으로 확산시키는 수많은 방법이 있게 된다. 이러한 관점에서, 도면은 매우 개략적이며, 각각은 본 발명의 가능한 실시예만을 나타낸다. 따라서, 도면이 다른 블록으로 다른 기능적 소자를 도시하였지만, 이것은 어쨌든 단일 물리적 유닛으로 일부 기능적 소자 또는 모든 기능적 소자의 실행을 배제할 수 있다.
청구항들에서, 괄호 사이의 소정의 참조부호는 연관된 청구항을 제한하는 것으로 구성된 것이 아니다.
Claims (10)
- 코딩된 데이터와 제어 데이터의 시간 멀티플렉스를 포함한 데이터 스트림을 트랜스코딩하는 방법으로서, 상기 데이터 스트림은 제어 코드들을 포함하고, 각 제어 코드는 그와 관련된 코딩된 데이터 부분에 대한 디코더 입력 버퍼 지연을 규정하고, 상기 디코더 입력 버퍼 지연은 상기 코딩된 데이터 부분이 디코더 입력 버퍼에 기록되는 제 1 순간과 상기 코딩된 데이터 부분이 상기 디코더 입력 버퍼로부터 판독되는 제 2 순간 사이의 차이인, 상기 데이터 스트림 트랜스코딩 방법에 있어서,상기 코딩된 데이터와 크기가 다른 트랜스코딩된 데이터를 얻기 위해 상기 코딩된 데이터를 트랜스코딩하는 단계;적응된 제어 데이터를 얻기 위해 상기 트랜스코딩된 데이터에 대하여 상기 제어 데이터를 적응시키는 단계;트랜스코더 출력 버퍼에 상기 트랜스코딩된 데이터 및 상기 적응된 제어 데이터를 기록하는 단계;트랜스코딩된 데이터 스트림을 얻기 위해 상기 트랜스코더 출력 버퍼로부터 상기 트랜스코딩된 데이터 및 상기 적응된 제어 데이터를 판독하는 단계;트랜스코딩된 데이터 부분이 상기 트랜스코더 출력 버퍼에 기록되는 제 3 순간과 상기 트랜스코딩된 데이터 부분이 상기 트랜스코더 출력 버퍼로부터 판독되는 제 4 순간 사이의 차이인 트랜스코더 출력 버퍼 지연을 계산하는 단계;트랜스코딩 지연과 상기 디코더 입력 버퍼 지연의 합 마이너스 트랜스코더 출력 버퍼 지연과 같은 새로운 디코더 입력 버퍼 지연을 계산하는 단계; 및상기 새로운 디코더 입력 버퍼 지연을 규정하는 적응된 제어 코드를 상기 트랜스코딩된 데이터 부분에 제공하는 단계를 포함하는, 데이터 스트림 트랜스코딩 방법.
- 삭제
- 제 1 항에 있어서,상기 트랜스코딩된 데이터 부분이 상기 트랜스코더 출력 버퍼에 기록되는 상기 제 3 순간에서 상기 트랜스코더 출력 버퍼에 포함된 데이터량인 트랜스코더 출력 버퍼 충만치를 계산하는 단계;상기 트랜스코딩된 코딩 데이터 부분이 디코더 입력 버퍼로부터 판독되는 제 5 순간에서 상기 트랜스코딩된 데이터 스트림을 수신하는 디코더 입력 버퍼에 포함될 데이터량인 디코더 입력 버퍼 충만치를 계산하는 단계로서, 상기 디코더 입력 버퍼 충만치는 상기 트랜스코더 출력 버퍼 충만치, 상기 트랜스코딩된 데이터 스트림에 대하여 예측되는 비트 레이트, 상기 디코더 입력 버퍼 지연 및 상기 트랜스코딩 지연의 합에 기초하여 계산되는, 상기 디코더 입력 버퍼 충만치 계산 단계; 및상기 디코더 입력 버퍼 충만치에 따라 상기 트랜스코딩된 데이터 부분에 포함될 데이터량을 결정하는 양자화 파라미터를 조정하는 단계를 더 포함하는, 데이터 스트림 트랜스코딩 방법.
- 제 3 항에 있어서,상기 트랜스코딩된 데이터 부분에 포함될 데이터량에 대한 타겟을 결정하는 단계;상기 타겟이 상기 입력 버퍼 충만치를 초과하는가를 확인하고, 그렇다면, 상기 디코더 입력 버퍼 충만치를 초과하지 않는 확인된 타겟을 얻도록 상기 타겟을 감소시키는 단계; 및상기 확인된 타겟에 기초하여 상기 양자화 파라미터를 조정하는 단계를 더 포함하는, 데이터 스트림 트랜스코딩 방법.
- 제 1 항에 있어서,연속적인 트랜스코딩된 데이터 부분들이 상기 트랜스코딩된 데이터 스트림을 수신하는 디코더 입력 버퍼로부터 판독되는 순간들 사이에 고정된 시간 간격이 존재하고, 상기 데이터 스트림 트랜스코딩 방법은,상기 트랜스코딩된 데이터 부분에 포함될 데이터량에 대한 타겟을 결정하는 단계;상기 트랜스코딩된 데이터 부분이 상기 트랜스코더 출력 버퍼에 기록되는 상기 제 3 순간에서 상기 트랜스코더 출력 버퍼에 포함된 데이터량인 트랜스코더 출력 버퍼 충만치를 계산하는 단계;다음의 트랜스코딩된 코딩 데이터 부분이 상기 디코더 입력 버퍼로부터 판독되기 전에 상기 디코더 입력 버퍼에 포함될 데이터량인 다음의 디코더 입력 버퍼 충만치를 계산하는 단계로서, 상기 다음의 디코더 입력 버퍼 충만치는 상기 타겟과, 상기 트랜스코더 버퍼 충만치, 상기 트랜스코딩된 데이터 스트림에 대한 예측되는 비트 레이트, 및 상기 디코더 입력 버퍼 지연과 상기 트랜스코딩 지연과 상기 고정된 시간 간격의 합에 기초하여 계산되는, 상기 다음의 디코더 입력 버퍼 충만치 계산 단계;상기 다음의 디코더 입력 버퍼 충만치가 미리 결정된 최대값을 초과하는가를 확인하고, 그렇다면, 상기 다음의 디코더 입력 버퍼 충만치가 상기 미리 결정된 최대값을 초과하지않는 확인된 타겟을 얻도록 타겟을 증가시키는 단계; 및상기 확인된 타겟에 기초하여 상기 트랜스코딩된 데이터 부분에 포함된 데이터량을 결정하는 양자화 파라미터를 조정하는 단계를 더 포함하는, 데이터 스트림 트랜스코딩 방법.
- 제 1 항에 있어서,상기 트랜스코딩된 데이터 부분은 청구항 1에서 언급된 트랜스코딩된 데이터부에 선행하며, 이들 데이터 부분들은 각각 이하에서, 현재의 데이터 부분 및 미래의 데이터 부분으로 불리우고, 상기 데이터 스트림 트랜스코딩 방법은,상기 부분 미래의 트랜스코딩된 데이터 부분이 상기 디코더 입력 버퍼로부터 판독될 때 상기 디코더 입력 버퍼가 바람직하게 포함해야 하는 데이터량인 원하는디코더 입력 버퍼 충만치를 규정하는 단계;상기 미래의 데이터 부분과 연관된 상기 디코더 입력 버퍼 지연을 예측하는 단계;상기 미래의 트랜스코딩된 데이터 부분이 상기 트랜스코더 출력 버퍼에 기록되는 제 3 순간에서 상기 트랜스코더 버퍼가 바람직하게 포함해야하는 데이터량인 원하는 트랜스코더 출력 버퍼 충만치를 계산하는 단계로서, 상기 원하는 트랜스코더 출력 버퍼 충만치는 상기 트랜스코딩된 데이트 스트림에 대한 예측되는 비트 레이트 및 예측된 상기 디코더 입력 버퍼 지연과 상기 트랜스코딩 지연의 합에 기초하여 계산되는, 상기 원하는 트랜스코더 출력 버퍼 충만치 계산 단계; 및상기 원하는 트랜스코더 출력 버퍼 충만치에 기초하여 상기 현재의 트랜스코딩된 데이터 부분에 포함된 데이터량을 결정하는 상기 양자화 파라미터를 조정하는 단계를 더 포함하는, 데이터 스트림 트랜스코딩 방법.
- 삭제
- 코딩된 데이터 및 제어 데이터의 시간 멀티플렉스를 포함하는 데이터 스트림을 트랜스코딩하는 방법으로서, 상기 데이터 스트림은 제어 코드들을 포함하고, 각각의 제어 코드는 그와 관련된 코딩된 데이터 부분에 대한 디코더 입력 버퍼 지연을 규정하고, 상기 입력 버퍼 지연은 상기 코딩된 데이터 부분이 디코더 입력 버퍼에 기록되는 제 1 순간과 상기 코딩된 데이터 부분이 상기 디코더 입력 버퍼로부터 판독되는 제 2 순간 사이의 차이인, 상기 데이터 스트림을 트랜스코딩하는 방법에 있어서,상기 코딩된 데이터와 크기가 상이한 트랜스코딩된 데이터를 얻기 위해 상기 코딩된 데이터를 트랜스코딩하는 단계;적응된 제어 데이터를 얻기 위해 상기 트랜스코딩된 데이터에 상기 제어 데이터를 적응시키는 단계;트랜스코더 출력 버퍼에 상기 트랜스코딩된 데이터 및 상기 적응된 제어 데이터를 기록하는 단계;트랜스코딩된 데이터 스트림을 얻기 위해 상기 트랜스코더 출력 버퍼로부터 상기 트랜스코딩된 데이터 및 상기 적응된 제어 데이터를 판독하는 단계; 및상기 디코더 입력 버퍼 지연에 기초하여 양자화 파라미터에 대한 값을 계산하는 단계로서, 상기 양자화 파라미터는 상기 코딩된 데이터 부분을 트랜스코딩함으로써 얻어진 상기 트랜스코딩된 데이터 부분에 포함될 데이터량을 결정하는, 상기 계산 단계를 포함하는, 데이터 스트림 트랜스코딩 방법.
- 코딩된 데이터 및 제어 데이터의 시간 멀티플렉스를 포함하는 데이터 스트림을 트랜스코딩하기 위한 트랜스코더로서, 상기 데이터 스트림은 제어 코드들을 포함하고, 제어 코드는 그와 관련된 코딩된 데이터 부분에 대한 디코더 입력 버퍼 지연을 규정하고, 상기 디코더 입력 버퍼 지연은 상기 코딩된 데이터 부분이 디코더 입력 버퍼에 기록되는 제 1 순간과 상기 코딩된 데이터 부분이 상기 디코더 입력 버퍼로부터 판독되는 제 2 순간 사이의 차이인, 상기 트랜스코더에 있어서,상기 코딩된 데이터와 크기가 상이한 트랜스코딩된 데이터를 얻기 위해 상기 코딩된 데이터를 트랜스코딩하기 위한 트랜스코더 회로;적응된 제어 데이터를 얻기 위해 상기 트랜스코딩된 데이터에 상기 제어 데이터를 적응시키고, 상기 디코더 입력 버퍼 지연에 기초하여 양자화 파라미터에 대한 값을 계산하는 제어기로서, 상기 양자화 파라미터는 상기 코딩된 데이터 부분들을 트랜스코딩하여 얻어진 상기 트랜스코딩된 데이터 부분에 포함될 데이터량을 결정하는, 상기 제어기;트랜스코딩된 데이터 스트림의 형태로 상기 트랜스코딩된 데이터 및 상기 적응된 제어 데이터를 제공하기 위한 트랜스코더 출력 버퍼를 포함하는, 트랜스코더.
- 제 1 항에 따른 방법을 수행하기 위한 명령들의 세트를 포함하는 프로그램을 기록한 컴퓨터 판독 가능한 기록 매체.
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
EP98401053 | 1998-04-30 | ||
EP98401053.8 | 1998-04-30 | ||
PCT/IB1999/000731 WO1999057673A2 (en) | 1998-04-30 | 1999-04-22 | Transcoding of a data stream |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20010014281A KR20010014281A (ko) | 2001-02-26 |
KR100591487B1 true KR100591487B1 (ko) | 2006-06-21 |
Family
ID=8235355
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1019997012405A KR100591487B1 (ko) | 1998-04-30 | 1999-04-22 | 트랜스코더 및 데이터 스트림의 트랜스코딩 방법 |
Country Status (6)
Country | Link |
---|---|
US (3) | US6201844B1 (ko) |
EP (1) | EP0993644A2 (ko) |
JP (1) | JP2002508148A (ko) |
KR (1) | KR100591487B1 (ko) |
CN (1) | CN1175671C (ko) |
WO (1) | WO1999057673A2 (ko) |
Families Citing this family (25)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5715009A (en) | 1994-03-29 | 1998-02-03 | Sony Corporation | Picture signal transmitting method and apparatus |
CA2265089C (en) * | 1998-03-10 | 2007-07-10 | Sony Corporation | Transcoding system using encoding history information |
JP3672185B2 (ja) | 1999-02-09 | 2005-07-13 | ソニー株式会社 | コーディングシステム及びこれを用いた装置並びに記録媒体 |
JP2003504986A (ja) * | 1999-07-20 | 2003-02-04 | コーニンクレッカ フィリップス エレクトロニクス エヌ ヴィ | ドリフトの影響を受けない変換符号化器及び関連する方法 |
US6532593B1 (en) * | 1999-08-17 | 2003-03-11 | General Instrument Corporation | Transcoding for consumer set-top storage application |
JP3694888B2 (ja) * | 1999-12-03 | 2005-09-14 | ソニー株式会社 | 復号装置および方法、符号化装置および方法、情報処理装置および方法、並びに記録媒体 |
JP2001160967A (ja) * | 1999-12-03 | 2001-06-12 | Nec Corp | 画像符号化方式変換装置及び符号化レート変換装置 |
KR20010105405A (ko) * | 2000-02-04 | 2001-11-28 | 요트.게.아. 롤페즈 | 비트 속도 트랜스코딩 응용들을 위한 양자화 방법 |
JP2001251616A (ja) * | 2000-03-02 | 2001-09-14 | Media Glue Corp | 多重化音響・動画圧縮符号化信号変換方法、装置および変換プログラムを記録した媒体 |
US7738550B2 (en) | 2000-03-13 | 2010-06-15 | Sony Corporation | Method and apparatus for generating compact transcoding hints metadata |
JP2001339460A (ja) * | 2000-05-26 | 2001-12-07 | Matsushita Electric Ind Co Ltd | デジタル送受信装置 |
US6898241B2 (en) * | 2001-05-11 | 2005-05-24 | Mitsubishi Electric Research Labs, Inc. | Video transcoder with up-sampling |
US20030048808A1 (en) | 2001-09-12 | 2003-03-13 | Stahl Thomas Anthony | Method and apparatus for changing received streaming content channels |
US7356079B2 (en) * | 2001-11-21 | 2008-04-08 | Vixs Systems Inc. | Method and system for rate control during video transcoding |
CN100428791C (zh) * | 2002-11-27 | 2008-10-22 | 腾研科技股份有限公司 | Mpeg数据格式转换方法及使用该方法的解码系统 |
US20040141732A1 (en) * | 2003-01-22 | 2004-07-22 | Kenji Sugiyama | Moving-picture code amount control method, moving-picture recording method, moving-picture code amount control apparatus and moving-picture recording apparatus |
JP4196726B2 (ja) * | 2003-05-14 | 2008-12-17 | ソニー株式会社 | 画像処理装置および画像処理方法、記録媒体、並びに、プログラム |
US20060109900A1 (en) * | 2004-11-23 | 2006-05-25 | Bo Shen | Image data transcoding |
US7548727B2 (en) * | 2005-10-26 | 2009-06-16 | Broadcom Corporation | Method and system for an efficient implementation of the Bluetooth® subband codec (SBC) |
US8443442B2 (en) * | 2006-01-31 | 2013-05-14 | The Penn State Research Foundation | Signature-free buffer overflow attack blocker |
JP2007208874A (ja) * | 2006-02-06 | 2007-08-16 | Nec Electronics Corp | 変化点検出装置及び変化点検出方法、並びに記録装置及び記録再生装置 |
US7895629B1 (en) * | 2007-11-07 | 2011-02-22 | At&T Mobility Ii Llc | Video service buffer management in a mobile rate control enabled network |
US8483272B2 (en) * | 2010-09-24 | 2013-07-09 | Intel Corporation | System and method for frame level bit rate control without pre-analysis |
KR101569510B1 (ko) * | 2013-10-22 | 2015-11-17 | 네이버 주식회사 | 적응적 실시간 트랜스코딩 방법 및 이를 위한 스트리밍 서버 |
US10165272B2 (en) * | 2015-01-29 | 2018-12-25 | Arris Enterprises Llc | Picture-level QP rate control performance improvements for HEVC encoding |
Family Cites Families (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4782326A (en) * | 1987-10-01 | 1988-11-01 | Motorola, Inc. | ADPCM transcoder data interface circuit having an encoded enable signal |
CN1079001C (zh) * | 1993-03-26 | 2002-02-06 | 英国电讯有限公司 | 代码转换器 |
FR2711435B1 (fr) * | 1993-10-20 | 1995-12-29 | Cit Alcatel | Dispositif pour justifier à intervalles réguliers un train numérique. |
US5534937A (en) * | 1994-04-14 | 1996-07-09 | Motorola, Inc. | Minimum-delay jitter smoothing device and method for packet video communications |
EP0755610B1 (en) * | 1995-02-15 | 2000-04-12 | Koninklijke Philips Electronics N.V. | Method and device for transcoding video signals |
US5870146A (en) * | 1997-01-21 | 1999-02-09 | Multilink, Incorporated | Device and method for digital video transcoding |
-
1999
- 1999-04-22 KR KR1019997012405A patent/KR100591487B1/ko not_active IP Right Cessation
- 1999-04-22 WO PCT/IB1999/000731 patent/WO1999057673A2/en not_active Application Discontinuation
- 1999-04-22 EP EP99913526A patent/EP0993644A2/en not_active Withdrawn
- 1999-04-22 CN CNB998010596A patent/CN1175671C/zh not_active Expired - Fee Related
- 1999-04-22 JP JP55511999A patent/JP2002508148A/ja not_active Ceased
- 1999-04-27 US US09/300,804 patent/US6201844B1/en not_active Expired - Lifetime
-
2000
- 2000-12-05 US US09/730,432 patent/US20010000138A1/en not_active Abandoned
-
2001
- 2001-01-10 US US09/757,786 patent/US6477211B2/en not_active Expired - Lifetime
Also Published As
Publication number | Publication date |
---|---|
US6201844B1 (en) | 2001-03-13 |
CN1273746A (zh) | 2000-11-15 |
KR20010014281A (ko) | 2001-02-26 |
WO1999057673A3 (en) | 2000-01-20 |
WO1999057673A2 (en) | 1999-11-11 |
US6477211B2 (en) | 2002-11-05 |
CN1175671C (zh) | 2004-11-10 |
US20010001615A1 (en) | 2001-05-24 |
JP2002508148A (ja) | 2002-03-12 |
EP0993644A2 (en) | 2000-04-19 |
US20010000138A1 (en) | 2001-04-05 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR100591487B1 (ko) | 트랜스코더 및 데이터 스트림의 트랜스코딩 방법 | |
EP0804035B1 (en) | Moving picture encoding apparatus and method | |
EP1446952B1 (en) | Method and system for rate control during video transcoding | |
KR100484148B1 (ko) | 개선된 비트율 제어 방법과 그 장치 | |
US6823008B2 (en) | Video bitrate control method and device for digital video recording | |
JP2963416B2 (ja) | 量子化活動度を用いてビット発生量を制御する映像符号化方法及び装置 | |
US6229849B1 (en) | Coding device and method | |
WO1996026596A1 (en) | Method, rate controller, and system for preventing overflow and underflow of a decoder buffer | |
US6580755B1 (en) | Apparatus and method for encoding | |
KR20040007818A (ko) | 동영상 부호화를 위한 dct연산량 조절 방법 및 그 장치 | |
KR100738239B1 (ko) | 데이터 압축 | |
JP4254784B2 (ja) | 動画像符号化装置、方法及びプログラム | |
JP3218994B2 (ja) | 画像符号化方法および装置 | |
JP3152148B2 (ja) | 画像符号化装置 | |
US6940902B2 (en) | Code quantity assignment device and method | |
JP4193080B2 (ja) | 符号化装置及び方法 | |
JPH06113271A (ja) | 画像信号符号化装置 | |
JP4239734B2 (ja) | 符号化装置、および、符号化方法、並びに、プログラム | |
KR100949755B1 (ko) | 비디오 시퀀스의 레이트를 제어하는 방법 및 장치, 비디오부호화 장치 | |
AU678927C (en) | Method, rate controller, and system for preventing overflow and underflow of a decoder buffer | |
KR950013266A (ko) | 동화상압축시스템의 전송률제어장치 | |
JP2001339310A (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: 20120604 Year of fee payment: 7 |
|
FPAY | Annual fee payment |
Payment date: 20130530 Year of fee payment: 8 |
|
LAPS | Lapse due to unpaid annual fee |