KR100738239B1 - 데이터 압축 - Google Patents

데이터 압축 Download PDF

Info

Publication number
KR100738239B1
KR100738239B1 KR1019997012463A KR19997012463A KR100738239B1 KR 100738239 B1 KR100738239 B1 KR 100738239B1 KR 1019997012463 A KR1019997012463 A KR 1019997012463A KR 19997012463 A KR19997012463 A KR 19997012463A KR 100738239 B1 KR100738239 B1 KR 100738239B1
Authority
KR
South Korea
Prior art keywords
data
cpar
picture
amount
adaptation
Prior art date
Application number
KR1019997012463A
Other languages
English (en)
Other versions
KR20010014321A (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 KR20010014321A publication Critical patent/KR20010014321A/ko
Application granted granted Critical
Publication of KR100738239B1 publication Critical patent/KR100738239B1/ko

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • 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/124Quantisation
    • 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/136Incoming video signal characteristics or properties
    • H04N19/137Motion inside a coding unit, e.g. average field, frame or block difference
    • 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/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/189Methods 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/192Methods 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
    • 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/189Methods 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/196Methods 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 being specially adapted for the computation of encoding parameters, e.g. by averaging previously computed encoding parameters
    • 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/189Methods 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/196Methods 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 being specially adapted for the computation of encoding parameters, e.g. by averaging previously computed encoding parameters
    • H04N19/197Methods 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 being specially adapted for the computation of encoding parameters, e.g. by averaging previously computed encoding parameters including determination of the initial value of an encoding parameter
    • 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/60Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding
    • 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
    • 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/23608Remultiplexing multiplex streams, e.g. involving modifying time stamps or remapping the packet identifiers
    • 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
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
    • H04N21/434Disassembling of a multiplex stream, e.g. demultiplexing audio and video streams, extraction of additional data from a video stream; Remultiplexing of multiplex streams; Extraction or processing of SI; Disassembling of packetised elementary stream
    • H04N21/4344Remultiplexing of multiplex streams, e.g. by modifying time stamps or remapping the packet identifiers
    • 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/70Methods 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

Abstract

데이터(D)는 압축 파라미터(CPAR)에 의존하여 압축된다. 그러한 데이터 압축의 예는 동화상 전문가 그룹(Moving Pictures Experts Group)(MPEG)에 의해 규정되는 표준에 따른 화상들의 시퀀스를 코딩하는 것이다. 데이터(D)를 압축하는 프로세스에 있어서, 다음의 3가지 단계들을 반복적으로 실행한다. 예측 단계(PRD)에서, 압축 파라미터(CPAR)의 초기값(VALint)에 기초하여, 미래의 순간(Tfut)에 얻어지는 압축된 데이터량(Xprd)을 예측되며, 적응 단계(ADP)에서, 압축 파라미터(CPAR)의 적응값(VALadp)을 얻기 위해, 예측된 데이터량(Xprd)과 원하는 데이터량(Xdes) 사이의 차(ΔX)에 기초하여 초기값(VALint)이 적응된다. 적용 단계에서, 후속 예측 단계에 이어 후속 적용 단계가 실행될 때까지, 압축 파라미터(CPAR)의 적응값(VALint)이 적용된다. 그러한 데이터 압축은 정보의 손실에 관하여 양호한 품질을 발생시킨다.
압축 파라미터, 양자화기, 출력 버퍼, 이산-코사인 변환기, 모션 보상 예측기, 코딩 그룹 타겟

Description

데이터 압축{Data compression}
본 발명은 압축 파라미터에 의존하는 데이터 압축에 관한 것이다. 그러한 데이터 압축은 예를 들어, 동화상 전문가 그룹(Moving Pictures Experts Group)(MPEG)에 의해 규정되는 화상 코딩 표준에 따른 화상들의 시퀀스를 코딩하는데 적용될 수 있다.
미국-A 제 5,680,483호(대리인의 정리번호 PHF 94.510)는 블록들내에 배치된 연속하는 N 개의 화상들의 그룹들로 분할된 화상들의 시퀀스를 코딩하는 장치를 기술한다. 이는 이 블록들의 양자화 채널 및 가변 길이 코딩과, 비트 레이트 제어 서브-어셈블리(bit rate control sub-assembly)를 포함한다. 이 어셈블리는 버퍼 메모리와 양자화 스텝을 변경하는 장치를 순차적으로 포함한다. 후자의 장치는 복수의 단들(stages)을 포함한다. 제1 단은 화상들의 시퀀스의 연속적인 화상 각각에 대하여 비트들을 할당한다. 제2 단은 현재 화상 및 N-1개 후속 화상들에 대하여 비트들을 할당한다. 제3 단은 코딩될 새로운 화상 각각에 대한 비트 할당을 보정한다. 제4 단은 보정된 비트 할당의 기능과 같은 양자화 스텝을 변경한다.
본 발명의 목적은 양호한 품질을 발생시키는 데이터 압축을 제공하는 것이다.
본 발명은 다음의 양상들을 고려한다. 압축된 데이터를 수신하는 엔티티, 예를 들면, 전송 채널 또는 기억 매체 또는 양자 모두에 의해서 처리될 수 있는 정도의 압축된 데이터량이 얻어지도록 데이터를 압축하는 것이 유리하다. 데이터가 대폭 압축되는 경우에, 수신 엔티티의 데이터 처리 용량이 충분히 사용되지 않기 때문에, 불필요한 데이터 손실이 있다. 데이터가 소폭 압축되는 경우에도, 수신 엔티티가 압축 데이터의 소정의 부분을 처리할 수 없고, 그 결과 이 부분이 손실되기 때문에, 불필요한 데이터 손실이 있다. 따라서, 정보의 손실을 최소로 하는 것에 관하여, 데이터 압축의 품질은 데이터를 압축하는 정도를 결정하는 압축 파라미터에 의해 상당한 영향을 받는다.
인용된 배경 기술은 MPEG 비디오 코딩의 압축 파라미터를 조정하기 위해서 이하의 원리를 적용한다. 화상들의 그룹의 개시에 있어서, 압축 파라미터의 초기값이 계산된다. 압축 파라미터의 초기값은 바람직하게 화상들의 그룹을 나타내는 데이터를 압축함으로써 얻어지는 압축된 데이터량에 대응한다. 이전의 화상들의 그룹을 압축하였을 때의 경험에 기초하여, 전형적인 중간 결과들은 압축된 데이터량에 의해 정해진다. 통상의 중간 결과는 그룹내의 연속하는 화상 각각에 대하여 정해진다. 각각의 화상에 대하여, 초기 압축 파라미터는 지금까지 실제로 생성된 압축된 데이터량과 전형적인 중간 결과 사이의 차이에 기초하여 적응된다. 따라서, 배경기술에서, 화상간 압축 계획(picture-by-picture compression plan)은 화상들의 그룹의 초기에 형성되며, 압축 파라미터는 이 계획에서의 편차(deviation)에 의존하여 조정된다.
본 발명에 따라서, 다음의 단계들이 반복적으로 실행된다. 압축 파라미터의 초기값에 기초하여, 미래의 순간에 어느 정도의 압축된 데이터량이 얻어지는지를 예측한다. 압축 파라미터의 적응값을 얻기 위해, 예측된 데이터량과 원하는 데이터량 사이의 차에 기초하여 초기값이 적응된다. 압축 파라미터의 적응값은 후속 예측 단계에 이어 후속 적응 단계가 실행될 때까지 적용된다.
본 발명은 배경 기술과 같이 간접이 아니라 직접 원하는 압축 데이터량에 관한 압축 파라미터의 조정을 제공한다. 그 결과, 일반적으로 배경 기술에서 보다 원하는 압축된 데이터량에 가까운 압축된 데이터량이 얻어진다. 따라서, 본 발명은 압축 데이터를 수신하는 엔티티의 데이터 처리 용량에 보다 정확하게 정합한 데이터 압축을 허용한다. 그 결과, 본 발명은 정보의 손실에 관한 보다 양호한 품질을 발생시킨다.
본 발명 및 본 발명을 유리하게 구현하는데 임의로 사용될 수 있는 다른 형태는 하기의 첨부된 도면을 참조로 명백해질 것이다.
도 1은 청구항 1에서 청구된 본 발명의 기본형태를 나타내는 개념도.
도 2 및 도 3은 각각 청구항 2와 청구항 3에서 청구된 다른 형태를 나타내는 개념도.
도 4는 MPEG 비디오 코더의 일예의 블록도.
도 5는 본 발명에 따른 비디오 코딩의 방법을 나타내는 플로우챠트.
도 6은 도 5의 방법에 따라 비디오 코딩중에 발생되는 상태를 나타내는 그래프.
우선, 참조 부호들을 사용하여 일부를 설명한다. 도면에 걸쳐 유사한 엔티티들은 동일한 문자 부호에 의해 표시된다. 단일 도면에 있어서, 여러 가지 유사한 엔티티들이 도시될 수 있다. 그 경우, 소문자들로 표시되는 번호 또는 접미사가 문자 부호에 부가되어, 유사한 엔티티들을 서로 구별한다. 유사한 엔티티들의 수가 실행 파라미터인 경우, 번호 또는 접미사는 괄호들 사이에 존재한다. 명세서 및 청구의 범위에 있어서, 참조 부호내의 임의의 번호 또는 접미사는 적절한 경우에 생략될 수 있다. 도 1은 전체 라인에서의 본 발명의 기본 형태를 나타낸다. 데이터(D)는 압축 파라미터 CPAR에 의존하여 압축된다(CMP). 데이터(D)를 압축하는 프로세스에 있어서, 다음의 3 단계들이 반복적으로 실행된다. 예측 단계(PRD)에서, 압축 파라미터(CPAR)의 초기값(VALint)에 기초하여, 미래의 순간(Tfut)에 어느 정도의 압축된 데이터량(Xprd)이 얻어지는지를 예측한다. 적응 단계(ADP)에서, 압축 파라미터(CPAR)의 적응값(VALadp)을 얻기 위해, 예측된 데이터량(Xprd)과 원하는 데이터량(Xdes) 사이의 차(ΔX)에 기초하여 초기값(VALint)이 적응된다. 적용 단계(APL)에서, 후속 예측 단계(PRD)에 이어 후속 적응 단계(ADP)가 실행될 때까지 압축 파라미터(CPAR)의 적응값(VALadp)이 적용된다.
도 1의 형태를 유리하게 구현하기 위해서, 이하의 형태를 고려한다. 3 단계들(PRD, ADP, APL)이 실행될 때는 항상 압축 파라미터(CPAR)의 값이 변경될 수 있다. 압축 파라미터(CPAR)의 값이 비교적 안정적으로 있는 것이 바람직하다. 압축 파라미터(CPAR)의 값이 현저히 변동하는 경우, 이는 하나 이상의 데이터 부분들이 비교적 크게 압축되는 것을 의미한다. 그 결과, 이 데이터 부분들의 압축은 비교적 중요한 정보의 손실을 수반한다. 이는, 압축 파라미터(CPAR)가 평균값에 근접한다면 전체적으로 더 나아질 수 있는 전제 품질에, 악영향을 미칠 것이다. 즉, 전체 품질은 일반적으로 10, 11, 9, 8, 10, 12가 되는 압축 파라미터(CPAR)의 일련의 값들이 일련의 값들 10, 14, 6, 2, 10, 18에 비하여 양호한 것이 된다.
도 2는 이하의 형태를 나타낸다. 압축 파라미터(CPAR)는, 3 단계들(PRD, ADP, APL)이 적어도 1회 더 실행되는 시간 간격(ΔTgrp)에 걸쳐 제공될 압축 데이터(Xgrp)의 양에 관한 것이다.
도 2의 형태들은 이하의 유리한 이점들을 제공한다. 3 단계들(PRD, ADP, APL)은 순간(T[i])에서 실행되고, 상기 단계들은 그후 순간들(T[i+1], T[i+2],...)에서 실행된다고 가정한다. 도 2의 형태들이 적용되는 경우, 순간(T[i])의 압축 파라미터(CPAR)는 순간(T[i]) 이후의 시간 간격(ΔTgrp[i])에 걸쳐 제공될 데이터량에 관련한다. 마찬가지로, 순간(T[i+1])의 압축 파라미터(CPAR)는 순간(T[i+1])에 계속되는 시간 간격(ΔTgrp[i+1])에 걸쳐 제공될 데이터량에 관련한다. 이 시간 간격들(ΔTgrp[i], ΔTgrp[i+1])이 실질적으로 중첩되기 때문에, 순간들(T[i],T[i+1])의 예측된 데이터량(Xprd[i], Xprd[i+1])의 차가 비교적 작다. 그 결과, 순간(T[i+1])의 적응값(VALadp[i+1])은 순간(T[i])의 적응값(VALadp[i])과 크게 다르지 않다. 따라서, 도 2의 형태들이 적용되는 경우, 압축 파라미터(CPAR)의 값은 비교적 안정적이다. 그 결과, 도 2의 형태들은 품질을 보다 양호하게 하는데 기여한다.
도 1의 형태들을 유리하게 구현하기 위해서, 이하의 양상들이 또한 고려된다. 데이터(D)는 원래는 다른 부분에 비하여 압축이 어려운 하나 또는 그 이상의 부분들을 포함할 수 있다. 즉, 압축 파라미터(CPAR)의 값이 고정되는 경우, 압축하기 어려운 부분들은 다른 부분들보다 많은 양의 압축 데이터를 제공할 것이다. 그 결과, 압축하기 어려운 데이터 부분은 압축 데이터에서 상당한 증가를 야기시킨다. 그러한 상당한 증가는 정보의 손실을 야기하는 압축 데이터를 수신하는 엔티티의 데이터-처리 용량을 초과할 수 있다. 예를 들면, 수신 엔티티가 메모리인 경우, 압축 데이터에 상당한 증가가 있을 때에 메모리는 오버플로우할 수 있다.
도 3은 이하의 형태들을 나타낸다. 미래 순간(Tfut)은 압축 데이터의 예상되는 상당한 증가(INC) 직전에 있다.
도 3의 형태들은 이하의 유리한 이점들을 제공한다. 미래의 순간(Tfut)에서 생성된 압축된 데이터량은 원하는 압축 데이터량(Xdes)에 비교적 근접한다. 도 3의 형태에 따라서, 미래 순간(Tfut)은 예상되는 데이터의 상당한 증가 직전에 있기 때문에, 도 3의 형태들은 이하의 예방책이 정보의 손실을 방지하도록 한다. 원하는 데이터량(Xdes)은 압축 데이터의 상당한 증가를 처리하기 위해 압축 데이터를 수신하는 엔티티가 그 자체 충분한 여유(room)가 존재하도록 정해진다. 예를 들면, 수신 엔티티가 메모리인 경우, 원하는 데이터량(Xdes)은 압축하기 어려운 데이터의 부분이 발생하기 직전에 메모리가 비교적 비어지도록(empty) 정해진다. 따라서, 도 3의 형태들은 정보의 손실에 대한 예방책이 되고, 이는 품질을 보다 양호하게 하는데 기여할 수 있다.
도 4는 본 발명에 따른 MPEG 비디오 코더의 일례를 나타낸다. 이는 8 ×8 픽셀들의 블록들로 분할된 화상들(Pin)의 시퀀스에 응답하여 비트 레이트(R)를 갖는 MPEG 데이터 스트림(DS)을 제공한다. 도 4의 디코더는 모션-보상 예측기(MCP), 감산기(SUB), 이산-코사인 변환기(DCT), 양자화기(Q), 가변-길이 디코더(VLC), 출력 버퍼(OBUF), 제어기(CON)를 포함한다.
화상(Pin)이 코딩될 수 있는 3개의 유형들의 코딩, 즉 I형, P형, B형 코딩이 있다. 화상이 I형 코딩되는 경우, 이산-코사인 변환기(DCT)는 임의의 변형없이 코딩될 화상을 수신한다. 즉, 모션-보상 예측기(MCP) 및 감산기(SUB)는 I형 화상의 코딩에 영향을 미치지 않는다. 화상이 P형 코딩되는 경우, 모션-보상 예측기는 이전 화상이 디코딩 단부에서 이용될 수 있을 때 이 이전 화상에 기초하여, P형 화상의 예측을 한다. 화상이 B형 코딩되는 경우, 모션-보상 예측기는 이전 및 다음 화상이 디코딩 단부에서 이용될 수 있을 때 이 이전 및 다음 화상에 기초하여, 이 B형 화상의 예측을 한다(B는 쌍방향을 의미한다). 그 결과, P 또는 B형 코딩의 경우, 모션-보상 예측기(MCP)는 예측된 화상(Ppred)을 제공한다. 감산기는 코딩될 화상(Pin)으로부터 예측된 화상(Ppred)을 감산하며, 그 결과 이산-코사인 변환기에 예측 오차 화상(Perr)을 공급한다. I형, P형, B형 코딩된 화상은 이후 각각 I-화상, P-화상, B-화상이라고 칭해진다.
화상들(P)의 시퀀스에 적용되는 코딩 유형에는 사이클 패턴(cyclic pattern)이 있다. 각 사이클은 화상(Pin)의 I형 코딩으로 시작하여, 다음 화상들(Pin)에 대해 하나 또는 그 이상의 P형 및 B형 코딩들이 계속된다. 사이클은 N개의 화상들을 커버하며, 여기서 N은 정수이다. 코딩 사이클에 의해 커버되는 N개의 화상들은 화상들의 그룹(group of pictures)이라고 칭해진다. 따라서, 화상들의 그룹은 I-화상으로 시작하며, 하나 또는 그 이상의 P-화상들 및 B-화상들이 계속된다. 예를 들면, N=6 이라고 가정한 경우, 화상들의 그룹이 이하의 화상들을 포함할 수 있다:I-B-B-P-B-B.
코딩 I, P 또는 B의 임의의 유형에 대하여, 이하의 동작들이 실행된다. 이산-코사인 변환기(DCT)는 8 ×8 픽셀들의 블록들을 이산-코사인 변환 계수들의 블록들로 변환한다. I형 코딩의 경우에, 이산-코사인 계수들은 코딩될 화상에 직접 관련하며, P 또는 B형 코딩의 경우에, 이산-코사인 계수들은 예측 오차 화상에 관련한다. 양자화기(Q)는 양자화된 계수들을 얻기 위해 이산-코사인 변환 계수들을 양자화한다. 가변-길이 코더는 일련의 양자화된 계수들을 코드 워드들로 변환한다. 출력 버퍼(OBUF)는 일시적으로 코드 워드들을 기억하고, MPEG 데이터 스트림을 제공한다.
더 상세하게는, 양자화기(Q)는 양자화 파라미터(QPAR)로 이산-코사인 변환 계수들 각각을 나누며, 이 나눈 결과를 가장 근접한 정수로 반올림한다(round off). 예를 들면, 이산-코사인 변환 계수가 -128과 127 사이의 임의의 정수값을 갖는다고 가정한다. 그 경우, 이산-코사인 변환 계수를 이진수 형식으로 나타내기 위해서 8 비트가 요구된다. 양자화 파라미터(QPAR)가 4값을 갖는 경우, -32와 31 사이의 임의의 정수값을 갖는 양자화 이산-코사인 변환 계수가 얻어진다. 그 경우, 양자화 이산-코사인 계수를 나타내기 위해 6비트만이 요구된다. 그러나, 양자화 파라미터가 8값을 갖는 경우, -16과 15 사이의 정수값을 갖는 양자화 이산-코사인 변화 계수가 얻어진다. 그 경우, 양자화 DCT 게수를 나타내기 위해 5비트만이 요구된다.
양자화 파라미터(QPAR)는 어느 정도의 화상 품질을 디코딩 단부에서 얻을 수 있는지를 상당한 정도로 결정한다. 비교적 큰 값을 갖는 양자화 파라미터(QPAR)에 의해 화상이 코딩되는 경우, 양자화 계수들은 비교적 작은 수의 비트들을 포함하며, 그 결과 화상은 비교적 작은 해상도를 갖는다. 그에 대하여, 비교적 작은 값을 갖는 양자화 파라미터(QPAR)에 의해 화상을 코딩하는 경우, 양자화 계수들은 비교적 큰 수의 비트들을 포함하며, 그 결과 화상은 비교적 높은 해상도를 갖는다.
그러나, 양자화 파라미터(QPAR)에 대하여, 이하의 제약이 준수되어져야 한다. 화상(Pin)의 코딩은 대체로 화상 주기(Tp)에 의해 분할된 MPEG 데이터 스트림의 비트 레이트(R)와 같은 비트수를 생성해야 한다. 출력 버퍼(OBUF)와 디코딩 단부의 입력 버퍼의 존재로 인해, 특정 화상의 코딩에 의해 평균보다 크거나 작은 비트수를 생성한다. 즉, 이 버퍼들은 잠깐 평균으로부터 일탈하기 위해서 어느 정도의 여유를 제공한다. 마진의 양은 각각의 버퍼 크기들에 의해 제한된다. 평균으로부터 일탈한 정도가 매우 큰 경우, 코딩 단부의 입력 버퍼는 언더플로우하거나 오버플로우한다. 그 경우, 하나 이상의 화상들은 불완전한 것으로 되어 완전히 손실되기도 한다. 말할 필요로 없이, 이는 전체 화상 품질에 비교적 큰 영향을 준다
따라서, 상기 관점에 관하여, 양자화 파라미터(QPAR)는 적합하게는 이하의 방법(strategy)에 기초하여 제어된다. 양자화 파라미터(QPAR)은 디코딩 단부의 입력 버퍼의 언더플로우 또는 오버플로우를 피하는 동안에 가능한 작은 값으로 주어진다. 이 점에 있어서, 양자화 파라미터는 어떤 화상으로부터 다른 화상으로 거의 변하지 않는 값을 갖는다는 것에 주목한다. 후자의 경우가 발생하면, 최고의 양자화 파라미터(가장 낮은 해상도)를 갖는 화상은 전체 화상 품질에 비교적 큰 영향을 미친다. 따라서, 값이 거의 일정한 양자화 파라미터(QPAR)를 갖는 것은 값이 변동하는 경우에 비하여 양호한 것이 된다.
양자화 파라미터(QPAR)를 조정하는 기본 형태가 존재한다. 임의의 코딩 형태, I, P, B에 대해서, 주어진 양자화 파라미터(QPAR) 값을 이용하여 어떤 비트수가 얻어지게 될지를 미리 결정하는 것은 불가능하다. 그 이유는 임의의 화상 형태, I, B, P에 대하여, 화상이 포함하는 비트수와 화상을 얻는데 사용되는 양자화 파라미터 사이에 일정한 관계가 없기 때문이다. P 또는 B 화상에 포함되는 비트수는 모션-보상 예측기(MCP)가 코딩될 화상(Pin)을 얼마나 잘 예측하는지에 의존한다. 또한, 가변-길이 코딩에서, 정의에 의해, 입력 데이터 및 출력 코드들에 포함되는 비트수 사이에 일정한 관계가 없다. 출력 코드들에 포함되는 비트수는 MPEG 비디오 코딩시에 코딩될 화상(Pin)의 내용에 의해 결정되는 입력 데이터의 내용에 의존한다.
도 5는 도 4의 MPEG 비디오 코더의 양자화 파라미터(QPAP)를 조정하는 방법의 실시예를 나타낸다. 상기 방법은 도 1 내지 3의 특징들을 나타내며, 적절히 프로그램된 컴퓨터의 형태인 제어기(CON)에 의해 실행된다. 상기 방법은 화상의 코딩이 개시되기 전에 실행되는 복수의 단계들(S1 내지 S9)을 포함한다. 이 단계들(S1 내지 S9)은 양호하게 또한 화상내의 새로운 슬라이스의 코딩이 개시되기 전에 실행된다.
단계(S1)에 있어서, 화상 복잡성(PCX)은 화상 I, P, B 각 유형에 대하여 계산된다. 화상 복잡성(PCX)의 각각은 최근의 코딩에 의해 생성된 비트수(NOB)와 최근의 코딩에 사용되는 양자화 파라미터(QPAR)와의 내적(product)이다. 각각 화상의 화상 복잡성(PCX)의 실제로 관련된 코딩 유형에 대한 이전의 코딩 경험이 된다. 이는 양자화 파라미터(QPAR)의 소정의 값을 예측하는데 사용될 수 있으며, 다음 화상이 코딩되는 경우에 출력 비트수가 얻어지게 될 것이다. 사용되는 코딩 유형에 대한 화상 복잡성(PCX)은 양자화 파라미터(QPAR)의 값으로 나누어질 수 있다. 이 나눈 결과가 이전의 코딩 경험에 기초하여, 얻을 수 있는 출력 비트수의 예측값이다.
단계(S2)에 있어서, 화상 그룹의 복잡성(GCX)이 계산된다. 화상 그룹의 복잡성(GCX)은 3개 항들의 합이 된다. 각각의 항은 상이한 화상 유형과 관련되며, 각각의 항은 화상들의 그룹내에 관련된 유형의 화상들의 수(M)에 의해 곱해지고 관련된 유형의 가중 인자(K)에 의해 나누어지는, 관련된 유형의 화상 복잡성(PCX)이 된다. 화상 그룹의 복잡성(GCX)은 실제로는 이전의 코딩 경험이 되며, 화상 복잡성(PCX)보다 더 넓으며, 양자화 파라미터(QPAR)의 값을 계산하는데 사용될 수 있다. 예를 들어, 화상 그룹의 복잡성(GCX)은 N개의 연속하는 화상들에 대해서 얻어지는 원하는 출력 비트수에 의해 나누어질 수 있다. 따라서, 양자화 파라미터(QPAR)의 값은, 이전 코딩 경험에 기초하여 N개의 연속하는 화상들에 대한 코딩은 원하는 비트수를 생성해야 하는 것을 이용하여 얻어진다. 그렇지만 후자는 그와 같이 할 필요는 없다.
단계(S3)에 있어서, 화상 코딩 추정(PCE)은 화상 I, P, B의 각 유형에 대하여 계산된다. 화상 코딩 추정(PCE)은 제1항 및 제2항의 내적이 된다. 제1항은 관련된 유형의 가중 인자(K)로 나눠지는 관련된 유형의 화상 복잡성(PCX)이다. 제2항은 단계(S2)에서 계산되는 화상 그룹의 복잡성(GCX)에 의해 나눠지는 코딩 타겟 그룹(GCT)에 대한 초기값(VALint)이다. 코딩 타겟 그룹(GCT)은 현재 화상 및 계속되는 N-1개의 화상들을 코딩함으로써 얻어지는 비트수이다. 코딩 타겟 그룹(GCT)에 대한 초기값(VALint)은 현재 화상 및 계속되는 N-1개의 화상들을 커버하는 기간 동안에 출력 버퍼(OBUF)로부터 출력되는 비트수이다. 그러므로, 화상 코딩 추정(PCE)은 이하의 타겟에 근거한다: 출력 버퍼(OBUF)를 입력되는 데이터량은 관련 기간 동안에 출력 버퍼(OBUF)로부터 제거된 데이터량과 동일해야만 한다. 화상 코딩 추정(PCE)의 제2항은 이전의 코딩 경험에 기초하여 이 타겟이 달성되어야 할 양자화 파라미터(QPAR)의 값을 나타낸다.
단계(S4)에 있어서, 다음 I-화상의 예측된 버퍼 충전량(BF[nextI])이 계산된다. 예측된 버퍼 충전량(BF[next1])은 코딩 타겟 그룹(GCT)에 대한 초기값 (VALint) 및 그로부터 취득한 화상 코딩 추정(PCE)에 기초한다. 예측된 버퍼 충전량(BF[next1])은 출력 버퍼의 현재 충전량(BF[now])에, 다음 I-화상까지 각각의 화상에 대한 화상 코딩 추정(PCE)을 포함하는 화상 코딩 추정들의 합
Figure 712007001263728-pct00001
을 가산하고, 다음의 I-화상까지 출력 버퍼로부터 출력될 비트수(OUT[next1])를 감산한 것이다.
단계(S5)에서, 버퍼 충전 나머지량(ΔBF)이 계산된다. 버퍼 충전 나머지량(ΔBF)은 다음 I 화상에서의 예측된 버퍼 충전량(BF[nextI])과 원하는 버퍼 충전량(BF[des]) 사이의 차이다. 원하는 버퍼 충전량(BF[des])은 I 화상을 디코딩하기 직전에 데이터로 실질적으로 충전된 디코딩 단부에서의 입력 버퍼에 대응하도록 양호하게 정해진다.
단계(S6)에 있어서, 코딩 타겟 그룹(GCT)에 대한 적응값(VALadp)이 계산된다. 코딩 타겟 그룹(GCT)에 대한 적응값(VALadp)은 현재 화상 및 다음의 N-1개의 화상들를 커버하는 기간 동안에 출력 버퍼로부터 출력되는 비트수가 되는 코딩-타겟 그룹(GCT)에 대한 초기값(VALint)에 버퍼 충전 나머지량(ΔBF)을 감산한 것이다.
단계(S7)에 있어서, 화상 코딩 타겟 (PCT)은 현재 화상의 코딩에 대하여 계산된다. 화상 코딩 타겟(PCT)은, 화상 코딩 추정(PCE)이 그룹 코딩-타겟(GCT)의 초기값(VALint)에 근거하는 같은 방법으로 그룹 코딩 타겟(GCT)의 적응값(VALadp)에 근거한다. 화상 코딩 타겟(PCT)은 제1항 및 제2항의 적이다. 제1항은 그 유형에 사용되는 가중 인자(K)에 의해 나누어진 I, B, P로 코딩되는 화상 유형에 속하는 화상 복합성(PCX)이다. 제2항은 화상 복합성 그룹(GCX)에 의해 나누어진 그룹-코딩 타겟(GCT)의 적응값(VALadp)이다.
단계(S8)에 있어서, 화상 코딩 타겟(PCT)은 확인된 화상 코딩 타겟(PCTver)을 얻기 위해 확인된다. 이 단계에서, 현재 화상의 코딩이 화상 코딩 타겟(PCT)과 같은 비트수를 생성한다면, 디코딩 단부에서 언더플로우 또는 오버플로우가 발생되는지 여부가 체크된다. 만일 언더플로우나 오버플로우가 존재하지 않는 경우, 확인된 화상 코딩 타겟(PCTver)은 화상 코딩 타겟(PCT)과 같다, 즉 화상 코딩 타겟(PCT)은 변경되지 않는다. 그러나, 만일 화상 코딩 타겟(PCT)이 언더플로우 또는 오버플로우를 발생시키는 경우, 화상 코딩 타겟(PCT)은 언더플로우 또는 오버플로우을 방지하는 값으로 그것을 대체할 때에 유효하게 클리핑(clip)된다.
단계(S9)에서, 양자화 파라미터(QPAR)의 값이 계산된다. 상기 값은 제1항 과 제2항의 합이다. 제1항은 확인된 화상 코딩 타겟(PCTver)으로 나누어진 관련된 유형의 화상 복잡성(PCX)이다. 제2항은 타겟으로부터의 편차(ΔTGT)와 응답 파라미터(RP)의 적이다. 타겟으로부터의 편차(ΔTGT)는 현재 화상을 지금까지 코딩함으로써 생성된 비트수(NOBP)에, 현재 화상을 코딩할 때 지금까지 경과된 시간(t-t0)과 화상 주기(Tp)의 비 및 확인된 화상 코딩 타겟(PCT)을 곱한 것을 감산한 것이다. 응답 파라미터(RP)는 MPEG 데이터 스트림(DS)의 비트 레이트(R)로 나눠지는 512로 한다.
양자화 파라미터(QPAR)의 값에 대하여, 이하 설명한다. 제1항은 양자화 파라미터(QPAR)를 조정할 때의 광역(global) 또는 장기 방법(long-term strategy)이다. 화상 코딩 타겟이 클리핑되지 않는다고 가정한다. 이는 확인된 화상 코딩 타겟(PCTver)이 화상 코딩 타겟(PCT)와 같다는 것을 의미한다. 그 경우, 제1항은 화상 그룹의 복잡성(GCX)에 의해 곱해지며, 그룹-코딩 타겟(GCT)의 적응값(VALadp)으로 나누어진 관련 화상의 가중 인자(K)에 대응한다. 화상들의 그룹의 복잡성(GCX)은 “실제로 직전에 발생한 비트수”와“공급된 양자화 파라미터”의 적들의 합으로 구성된다. 따라서, 제1항은 이전 경험에 기초하여 원하는 비트수로 예상되는 양자화 파라미터(QPAR)의 값을 유효하게 나타낸다. 제2항은 양자화 파라미터(QPAR)를 조정하는 국소적 또는 단기 방법이다. 이는 코딩이 확인된 화상 코딩 타겟(PCTver)의 비트수로부터 비교적 크게 일탈하는 비트수를 코딩할 때에 발생하는 것을 방지하는 일종의 안전한 수단이다.
도 6은 도 5의 방법의 실시예를 나타낸다. 도 6은 수평축이 시간을 수직축이 즉 비트수인 데이터량을 나타내는 그래프이다. 도 6은 곡선A와 곡선B를 포함한다. 곡선A는 도 4의 MPEG 비디오 코더의 출력 버퍼(OBUF)내에 기입되는 비트수를 나타낸다. 곡선B는 출력 버퍼(OBUF)로부터 판독되는 비트수를 나타내며, 따라서 MPEG 데이터 스트림(DS)을 형성한다. 따라서, 곡선B는 MPEG 데이터 스트림(DS)의 비트 레이트(R)에 대응하는 경사를 갖는다. 임의의 순간에서 곡선A와 곡선B사이의 차는 그 순간에서 충전된 출력 버퍼(OBUF)에 대응한다. 현재 시간을 나타내는 마커(Tknow)와 현재 시간(Tknow)을 고려한 다음 I-화상의 발생을 나타내는 마커(TnextI)가 수평축상에 그려진다. 현재 시간(Tknow)은 화상들의 그룹에서 제1 B-화상의 코딩의 시작에 대응한다.
도 6에 있어서, 예를 들어, 다음의 가정들이 만들어진다. 화상들의 그룹은 다음의 유형들: I, B, B, P, B, B 로서 n=6 인 6개의 화상들을 포함한다. 가장 최근 I, P, B-화상의 코딩은 240k, 120k, 60k 비트를 생성한다. 이 화상들의 각각에 대하여, 양자화 파라미터(QPAR)는 5의 값을 갖는다. 순간(Tnow)에서 충전된 출력 버퍼는 250k 비트이다. 다음 I 화상에서 원하는 버퍼 충전량(BF[des])은 10k 비트이다. 즉, 버퍼는 거의 비어있게 된다. MPEG 데이터 스트림(DS)의 비트 레이트(R)은 5M 비트/초이며 화상 주기는 20ms이다. 따라서, N개의 화상들을 커버하는 주기동안에 출력 버퍼로부터 출력되는 비트수는 5M 비트/초 × 20ms ×6 = 600k 비트이다. 따라서, 그룹-코딩 타겟(GCT)의 초기값(VALint)은 600k이다. 화상의 각각의 유형에 대한 가중 인자(K)는 1이며, 따라서 가중 인자는 단순성을 위해 유효하게 무시된다.
단계(S1)는 각각 1200k, 600k, 300k인 I, P, B-화상들의 화상 복잡성(PCX[I], PCX[P],PCX[B])을 제공한다. 단계(S2)는 1200k + 600k + 4×300k = 3000k인 화상 복잡성의 그룹(GCX)을 제공한다. 단계(S3)는 1200k ×{600k/3000k} = 240k ,600k×{600k/3000k} =120k, 300k ×{600k/3000k} = 60k인 I-화상,P-화상,B-화상의 통상적인 수의 비트들을 제공한다. 단계(S4)는 200k(실제 버퍼 충전량) + 4×60k(진행될 4개의 B-화상들) + 120k(진행될 하나의 P-화상)-{5M×5×20ms} = 250k +240k+120k -500k = 110k 비트인 예측된 버퍼 충전량(BF[nextI])을 제공한다. 단계(S5)는 110k-10k = 100k 비트인 버퍼 충전 나머지량(ΔBF)을 제공한다. 단계(S6)는 600k - 100k = 500k 인 그룹-코딩 타겟(GCT)의 적응값(VALadp)을 제공한다. 단계(S7)은 300k ×{500k/3000k} = 50 비트인 현재 B-화상을 코딩하는 화상 코딩 타겟(PCT)을 제공한다. 단계(S8)는 확인된 화상 코딩 타겟(PCTver)이 50k 비트가 되도록 화상 코딩 타겟(PCT)을 잘라내지 않는다. 단계(S9)는 300k/50k = 6인 양자화 파라미터의 값을 제공한다. 이전에 언급된 제2항은 이것이 현재 B-화상의 코딩을 방금 개시할 거라고 가정되기 때문에 아직 활동하지 않는다.
위에 언급되었으므로, 도 5의 방법은 도 1내지 도 3의 형태들을 포함한다. 도 1의 형태들에 대하여, 다음의 설명들이 존재한다. 도 5의 방법에 있어서, 데이터를 구성하는 화상들은 압축 파라미터를 구성하는 그룹 코딩 타겟(GCT)에 의존하여 압축된다. 단계(S4)에 있어서, 다음 I 화상에서의 버퍼 충전량(BF[nextI])은 그룹-코딩 타겟(GCT)의 초기값(VALint)에 기초하여 예측된다. 이는 미래의 순간에서 생성된 압축 데이터의 어떤 양을 예측함에 대응한다. 단계(S5)에서, 버퍼의 나머지(ΔBF)는 예측되는 압축된 데이터량과 압축 데이터의 원하는 양사이의 차에 대응한다. 단계(S6)에 있어서, 그룹-코딩 타겟의 적응값(VALadp)은 버퍼의 나머지(ΔBF)에 기초하여 그룹-코딩 타겟(GCT)의 초기값(VALint)을 적응시킴에 의해 얻어진다. 단계(S7)에 있어서, 그룹-코딩 타겟(GCT)의 적응값(VALadp)은 선택적인 확인후에 양자화 파라미터(QPAR)를 결정하는 화상 코딩 타겟을 계산하는데 사용된다.
도 2의 형태들을 포함하는 도 5의 방법에 대하여, 다음의 설명들이 존재한다. 도 1에 예시되는 3개의 단계(PRD,ADP,APL)를 포함하는 도 5의 방법이 각 화상을 코딩하기전에 실행된다. 도 5의 방법에 있어서, 그룹-코딩 타겟(GCT)은 적응되는 압축 파라미터를 구성한다. 그룹-코딩 타겟은 현재 화상과 N-1개인 다음 화상들을 코딩함에 의해 얻어지는 데이터량에 관한 것이다. 따라서, 도 5의 방법에 있어서, 압축 파라미터는 3개의 단계들(PRD,ADP,APL)이 적어도 1회 더 실행되는 기간을 초과하여 제공되는 데이터량에 관한 것이다.
도 3의 형태들을 포함하는 도 5의 방법에 대하여, 다음의 설명들이 존재한다. 도 5의 방법에 있어서, 다음 I-화상에서의 버퍼 충전량(BF[nextI])이 예측된다. 이는 다음 I-화상이 존재하는 시각까기 얻을 수 있는 압축된 데이터량을 예측함에 대응한다. I-화상의 코딩은 일반적으로 P 또는 B-화상의 코딩보다 많은 비트들을 생성한다. 따라서, 예측이 행해지는 미래의 순간은 압축 데이터가 예상되는 바와 같이 상당히 증가하기 바로 전에 놓인다.
위의 도면들과 그의 설명은 본 발명을 제한하기 보다는 오히려 나타낸다. 첨부된 청구항들의 범위내에서 수많은 대안들이 존재한다는 것은 명백하다. 이 점에 있어서, 다음의 마지막 설명들이 존재한다.
다양한 유닛들을 통한 물리적인 확산 기능들 또는 기능 소자들의 수많은 방법들이 존재한다. 이 점에 있어서, 도면들은 매우 도식적이고, 각각은 본 발명의 단지 하나의 가능한 실시예을 나타낸다. 따라서, 비록 도면이 다른 블록들로서 다른 기능 소자들을 도시하더라도, 이는 단일 물리적 유닛으로서 같은 기능 소자들 또는 모든 기능 소자들을 구현시킴을 제외하지 않는다.
도 5의 방법은 직렬로 연결된 MPEG 비디오 디코더 및 MPEG 비디오 인코더의 결합으로 기능적으로 간주되는 MPEG 비디오 트랜스코더(transcoder)에 또한 적용된다.
청구범위에서의 임의의 참조 부호는 관련된 청구 범위를 제한하는 것으로 해석되지 않는다.

Claims (8)

  1. 압축 파라미터(CPAR)에 의존하여 데이터를 압축하는 방법에 있어서,
    상기 압축 파라미터(CPAR)의 초기값(VALint)에 기초하여, 미래의 순간(Tfut)에 얻어지게 될 압축된 데이터량(Xprd)을 예측하는 단계(PRD);
    상기 압축 파라미터(CPAR)의 적응값(VALadp)을 얻기 위해, 상기 예측된 데이터량(Xprd)과 원하는 데이터량(Xdes) 간의 차(ΔX)에 기초하여, 상기 초기값(VALint)을 적응시키는 단계(ADP); 및
    후속 적응 단계가 수반되는 후속 예측 단계가 수행될 때까지, 상기 압축 파라미터(CPAR)의 적응값(VALadp)을 적용하는 단계(APL);를 반복적으로 실행하는 것을 특징으로 하는, 데이터 압축 방법.
  2. 제1항에 있어서, 상기 압축 파라미터(CPAR)는, 3개의 단계들(PRD, ADP, APL)이 적어도 1회 더 실행되는 시간 간격(ΔTgrp) 동안 제공될 압축된 데이터량(Xgrp)에 관련되는 것을 특징으로 하는, 데이터 압축 방법.
  3. 제1항에 있어서, 상기 미래의 순간(Tfut)은 압축된 데이터에서 예측되는 상당한 증가(INC) 직전에 있는 것을 특징으로 하는, 데이터 압축 방법.
  4. 데이터 압축기에 있어서,
    압축 파라미터(CPAR)에 의존하여 데이터를 압축하는 데이터 압축 모듈; 및
    이하의 단계들을 반복적으로 실행하도록 프로그램된 제어기(CON)로서, 상기 단계들은 압축 파라미터(CPAR)의 초기값(VALint)에 기초하여, 미래의 순간(Tfut)에 상기 데이터 압축 모듈이 생성하게 될 압축된 데이터량(Xprd)을 예측하는 단계(PRD), 상기 압축 파라미터(CPAR)의 적응값(VALadp)을 얻기 위해, 상기 예측된 데이터량(Xprd)과 원하는 데이터량(Xdes) 간의 차(ΔX)에 기초하여, 상기 초기값(VALint)을 적응시키는 단계(ADP), 및 후속 적응 단계가 수반되는 후속 예측 단계가 수행될 때까지, 상기 압축 파라미터(CPAR)의 적응값(VALadp)을 적용하는 단계(APL)인, 상기 제어기(CON);를 포함하는, 데이터 압축기.
  5. 컴퓨터 프로그램이 기록된 기록 매체로서, 상기 컴퓨터 프로그램은, 데이터 압축기에 로드될 때, 상기 데이터 압축기가 이하의 단계들을 실행하도록 하는 한 세트의 명령들을 포함하는, 상기 기록 매체에 있어서,
    상기 단계들은,
    압축 파라미터(CPAR)의 초기값(VALint)에 기초하여, 미래의 순간(Tfut)에 얻어지게 될 압축된 데이터량(Xprd)을 예측하는 단계(PRD);
    상기 압축 파라미터(CPAR)의 적응값(VALadp)을 얻기 위해, 상기 예측된 데이터량(Xprd)과 원하는 데이터량(Xdes) 간의 차(ΔX)에 기초하여, 상기 초기값(VALint)을 적응시키는 단계(ADP); 및
    후속 적응 단계가 수반되는 후속 예측 단계가 실행될 때까지, 상기 압축 파라미터(CPAR)의 적응값(VALadp)을 적용하는 단계(APL);를 포함하는, 기록 매체.
  6. 인코딩될 화상들의 그룹에 관한 그룹 타겟(GCT)에 의존하여 화상들의 시퀀스를 인코딩하는 방법에 있어서,
    상기 그룹 타겟(GCT)의 초기값(VALint)에 기초하여, 미래의 순간(BF[nextI])에 얻어지게 될 인코딩된 비디오 데이터량을 예측하는 단계;
    상기 그룹 타겟(GCT)의 적응값(VALadp)을 얻기 위해, 상기 예측된 인코딩된 비디오 데이터량(BF[nextI])과 원하는 인코딩된 비디오 데이터량(BF[des]) 간의 차에 기초하여, 상기 그룹 타겟(GCT)의 초기값(VALint)을 적응시키는 단계; 및
    후속 적응 단계가 수반되는 후속 예측 단계가 실행될 때까지, 상기 그룹 타겟(GCT)의 적응값(VALadp)을 적용하는 단계;를 반복적으로 실행하는 것을 특징으로 하는, 화상들의 시퀀스 인코딩 방법.
  7. 인코딩될 화상들의 시퀀스를 인코딩하는 비디오 인코더에 있어서,
    입력 비디오 데이터(Pin)를 변환 계수들로 변환하는 변환 모듈(DCT);
    양자화된 변환 계수들을 얻기 위해 상기 변환 계수들을 양자화는 양자화기(Q)로서, 상기 변환 계수들은 인코딩될 화상들의 그룹에 관한 그룹 타겟(GCT)에 의존하여 양자화되는, 상기 양자화기(Q);
    인코딩된 비디오 데이터를 얻기 위하여 상기 양자화된 변환 계수들을 코딩하는 코딩 모듈(VLC); 및
    이하의 단계들을 반복적으로 실행하도록 프로그램된 제어기로서, 상기 단계들은 상기 그룹 타겟(GCT)의 초기값(VALint)에 기초하여, 미래의 순간(BF[nextI])에 상기 코더가 생성할 인코딩된 비디오 데이터량을 예측하는 단계, 상기 그룹 타겟(GCT)의 적응값(VALadp)을 얻기 위해, 상기 예측된 인코딩된 비디오 데이터량(BF[nextI])과 원하는 인코딩된 비디오 데이터량(BF[des]) 간의 차에 기초하여, 상기 그룹 타겟(GCT)의 초기값(VALint)을 적응시키는 단계, 및 후속 적응 단계가 수반되는 후속 예측 단계가 실행될 때까지, 상기 그룹 타겟(GCT)의 적응값(VALadp)에 기초하여 상기 양자화기를 제어하는 단계인, 상기 제어기(CON)을 포함하는, 비디오 인코더.
  8. 컴퓨터 프로그램이 기록된 기록 매체로서, 상기 컴퓨터 프로그램은, 인코딩될 화상들의 그룹에 관한 그룹 타겟(GCT)에 의존하여 화상들의 시퀀스를 인코딩하는 비디오 인코더에 로드될 때, 상기 비디오 인코더가 이하의 단계들을 실행하도록 하는, 상기 기록 매체에 있어서,
    상기 단계들은,
    상기 그룹 타겟(GCT)의 초기값(VALint)에 기초하여, 미래의 순간(BF[nextI])에 얻어지게 될 인코딩된 비디오 데이터량을 예측하는 단계;
    상기 그룹 타겟(GCT)의 적응값(VALadp)을 얻기 위해, 상기 예측된 인코딩된 비디오 데이터량(BF[nextI])과 원하는 인코딩된 비디오 데이터량(BF[des]) 간의 차에 기초하여, 상기 그룹 타겟(GCT)의 초기값(VALint)을 적응시키는 단계; 및
    후속 적응 단계가 수반되는 후속 예측 단계가 실행될 때까지, 상기 그룹 타겟(GCT)의 적응값(VALadp)을 적용하는 단계;인, 기록 매체.
KR1019997012463A 1998-04-30 1999-04-22 데이터 압축 KR100738239B1 (ko)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
EP98401053 1998-04-30
EP98401053.8 1998-04-30
EP98401721.0 1998-07-07
EP98401721 1998-07-07
PCT/IB1999/000724 WO1999057884A2 (en) 1998-04-30 1999-04-22 Adaptative data compression

Publications (2)

Publication Number Publication Date
KR20010014321A KR20010014321A (ko) 2001-02-26
KR100738239B1 true KR100738239B1 (ko) 2007-07-13

Family

ID=26151624

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1019997012463A KR100738239B1 (ko) 1998-04-30 1999-04-22 데이터 압축

Country Status (6)

Country Link
US (1) US6731812B2 (ko)
EP (1) EP0992155A2 (ko)
JP (1) JP2002506605A (ko)
KR (1) KR100738239B1 (ko)
CN (1) CN1178518C (ko)
WO (1) WO1999057884A2 (ko)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002209215A (ja) * 2001-01-09 2002-07-26 Sony Corp 符号量制御装置及び方法、並びに画像情報変換装置及び方法
KR20050026964A (ko) * 2002-07-29 2005-03-16 콸콤 인코포레이티드 디지털 이미지 인코딩
US7558290B1 (en) * 2005-12-16 2009-07-07 Narus, Inc. Method and apparatus of data compression for computer networks
US8428125B2 (en) * 2006-12-22 2013-04-23 Qualcomm Incorporated Techniques for content adaptive video frame slicing and non-uniform access unit coding
EP2059049A1 (en) * 2007-11-07 2009-05-13 British Telecmmunications public limited campany Video coding
CN102917157A (zh) * 2012-10-19 2013-02-06 北京快联科技有限公司 一种基于人体视觉系统的图片压缩系统及方法

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR930011724A (ko) * 1991-11-08 1993-06-24 죤 디. 크래인 활동 비데오 압축 시스템

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CA1091810A (en) * 1976-12-16 1980-12-16 Toshio Koga Predictive codec capable of selecting one of at least three prediction signals in two steps
DE69119936T2 (de) * 1990-02-28 1996-11-14 Victor Company Of Japan Einrichtung zur Datenkompression
US5440346A (en) * 1993-06-16 1995-08-08 Intel Corporation Mode selection for method and system for encoding images
EP0670663A1 (fr) 1994-03-02 1995-09-06 Laboratoires D'electronique Philips S.A.S. Procédé et dispositif de codage de signaux numériques représentatifs d'une séquence d'images
JP3115199B2 (ja) * 1994-12-16 2000-12-04 松下電器産業株式会社 画像圧縮符号化装置
FR2748623B1 (fr) * 1996-05-09 1998-11-27 Thomson Multimedia Sa Encodeur a debit variable
JP3053576B2 (ja) * 1996-08-07 2000-06-19 オリンパス光学工業株式会社 コードイメージデータ出力装置及び出力方法
US6115420A (en) * 1997-03-14 2000-09-05 Microsoft Corporation Digital video signal encoder and encoding method

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR930011724A (ko) * 1991-11-08 1993-06-24 죤 디. 크래인 활동 비데오 압축 시스템

Also Published As

Publication number Publication date
WO1999057884A3 (en) 2000-01-13
CN1178518C (zh) 2004-12-01
WO1999057884A2 (en) 1999-11-11
JP2002506605A (ja) 2002-02-26
US6731812B2 (en) 2004-05-04
EP0992155A2 (en) 2000-04-12
CN1273748A (zh) 2000-11-15
US20030043906A1 (en) 2003-03-06
KR20010014321A (ko) 2001-02-26

Similar Documents

Publication Publication Date Title
KR100591487B1 (ko) 트랜스코더 및 데이터 스트림의 트랜스코딩 방법
JP3818679B2 (ja) 一連の画像を表わすディジタル信号を符号化する方法および装置
US6587508B1 (en) Apparatus, method and computer program product for transcoding a coded moving picture sequence
US6823008B2 (en) Video bitrate control method and device for digital video recording
US8270744B2 (en) Image processing apparatus and image processing method
US5986710A (en) Image encoding method and apparatus for controlling the number of bits generated using quantization activities
JPH11262003A (ja) 一定ビット・レ―トまたは可変ビット・レ―トのためのディジタル・モ―ション・ビデオ・シ―ケンスの2パス符号化方法
KR100227298B1 (ko) 부호화 화상의 부호량 제어 방법
US6580755B1 (en) Apparatus and method for encoding
US6271774B1 (en) Picture data processor, picture data decoder and picture data encoder, and methods thereof
KR100738239B1 (ko) 데이터 압축
KR100950525B1 (ko) 트랜스코딩 장치 및 방법, 이에 사용되는 타겟비트할당 및픽처 복잡도 예측 장치 및 방법
US7428339B2 (en) Pseudo-frames for MPEG-2 encoding
JPH08130746A (ja) 係数量子化処理方法
JP3218994B2 (ja) 画像符号化方法および装置
US6940902B2 (en) Code quantity assignment device and method
JP2002199408A (ja) 動画像符号化方法および動画像符号化装置
EP0829169B1 (en) Apparatus and method for generating on-screen-display messages using stored bitstreams
JP2001157210A (ja) 符号化装置及び符号化方法
JP4239734B2 (ja) 符号化装置、および、符号化方法、並びに、プログラム
JP2000023155A (ja) 動画像符号化装置
JP2002058038A (ja) 画像符号化方法および装置
CA2558729A1 (en) Image encoding system and method

Legal Events

Date Code Title Description
A201 Request for examination
AMND Amendment
E902 Notification of reason for refusal
AMND Amendment
E601 Decision to refuse application
J201 Request for trial against refusal decision
AMND Amendment
B701 Decision to grant
GRNT Written decision to grant
G170 Publication of correction
LAPS Lapse due to unpaid annual fee