KR100196890B1 - 동영상 압축 시스템과, 비디오 동화상의 압축 방법 및 인코딩 방법 - Google Patents

동영상 압축 시스템과, 비디오 동화상의 압축 방법 및 인코딩 방법 Download PDF

Info

Publication number
KR100196890B1
KR100196890B1 KR1019960006700A KR19960006700A KR100196890B1 KR 100196890 B1 KR100196890 B1 KR 100196890B1 KR 1019960006700 A KR1019960006700 A KR 1019960006700A KR 19960006700 A KR19960006700 A KR 19960006700A KR 100196890 B1 KR100196890 B1 KR 100196890B1
Authority
KR
South Korea
Prior art keywords
picture
bits
encoding
limit
video
Prior art date
Application number
KR1019960006700A
Other languages
English (en)
Other versions
KR960036740A (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 KR960036740A publication Critical patent/KR960036740A/ko
Application granted granted Critical
Publication of KR100196890B1 publication Critical patent/KR100196890B1/ko

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N7/00Television systems
    • H04N7/24Systems for the transmission of television signals using pulse code modulation
    • H04N7/52Systems for transmission of a pulse code modulated video signal with one or more other pulse code modulated signals, e.g. an audio signal or a synchronizing signal
    • 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/115Selection of the code volume for a coding unit prior to coding
    • 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/149Data rate or code amount at the encoder output by estimating the code amount by means of a model, e.g. mathematical model or statistical model
    • 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/15Data rate or code amount at the encoder output by monitoring actual compressed data size at the memory before deciding storage at 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/174Methods 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 slice, e.g. a line of blocks or a group of blocks
    • 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/176Methods 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 block, e.g. a macroblock
    • 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/186Methods 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 colour or a chrominance component
    • 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
    • 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/13Adaptive entropy coding, e.g. adaptive variable length coding [AVLC] or context adaptive binary arithmetic coding [CABAC]
    • 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/30Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using hierarchical techniques, e.g. scalability
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/90Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using coding techniques not provided for in groups H04N19/10-H04N19/85, e.g. fractals
    • H04N19/91Entropy coding, e.g. variable length coding [VLC] or arithmetic coding

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Physics & Mathematics (AREA)
  • Algebra (AREA)
  • General Physics & Mathematics (AREA)
  • Mathematical Analysis (AREA)
  • Mathematical Optimization (AREA)
  • Pure & Applied Mathematics (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)
  • Compression, Expansion, Code Conversion, And Decoders (AREA)

Abstract

본 발명은 각각의 화상에 대해 발생된 비트수가 한계 비트수를 초과하지 않도록 하는 비디오 인코더를 구현하는 시스템 및 방법이다. 바람직한 실시예에서, 상기 시스템은 입력 비디오를 인코딩하는 비디오 인코더의 다른 소자와 함께 두개의 협동 소자 또는 서브시스템을 포함하며, 발생된 한계 비트수가 발생될 수 있는 한계 비트수를 초과하는 때를 검출하고, 상기 조건이 검출되면 비트 속도(bit rate)를 줄인다.
본 발명의 하나의 특징은 저 비트 속도 모드(low bit rate mode)로 동작할 수 있는 MB 비트 스트림 발생기(macroblock bit stream generator)를 사용한다. 본 발명의 다른 특징은 화상의 비트수가 한계를 초과하는지의 여부를 검출하는 서브시스템을 사용한다.

Description

동영상 압축 시스템과, 비디오 동화상의 압축 방법 및 인코딩 방법
제1도는 MPEG-1 데이타 스트림의 비디오 압축층내의 압축 데이타의 화상그룹(GOP's)층의 세트를 예시적으로 도시한 도면.
제2도는 MPEG-1 데이타 스트림의 비디오 압축층에서 화상을 압축 데이타의 매크로블럭(MB) 층으로 서브분할한 예시적인 MB를 도시한 도면.
제3도는 프레임 또는 화상을 서브분할한 슬라이스를 예시적으로 도시한 도면.
제4도는 매크로블럭을 서브분할한 블럭을 도시한 도면.
제5도는 MPEG-1에 사용되는 GOP의 화상 중 두가지 레벨의 움직임 보상을 도시한 도면.
제6도는 전형적인 인코더를 개략적으로 도시한 블럭도.
제7도는 제6도에 도시된 인코더의 구성 요소인 기본 MB 비트 스티림 발생기의 블럭도.
제8도는 본 발명의 원리에 따른 기법을 구현하기 위해 두개의 구성 요소와 서브시스템을 포함하고, 각각의 화상에 대해 발생된 비트 수가 한계를 초과하지 않도록 하는 바람직한 실시예의 비디오 인코더를 도시한 도면.
제9도는 제8도에 도시된 인코더 서브시스템인 변경된 비트 스트림 발생기의 바람직한 실시예를 도시한 도면.
제10도는 제8도에 도시된 인코더 서브시스템인 검출기의 바람직한 실시예를 도시한 도면.
* 도면의 주요부분에 대한 부호의 설명
1, 11 : 인코더 2 : 기본 MB 비트 스트림 발생기
3, 14 : 헤더 비트 스트림 발생기
4, 15, 26 : 멀티플렉서 5, 16, 25, 27 : 감산기
6, 17 : 영 검출기 7, 8, 9, 19, 21, 23 : 허프만 인코더
10, 24 : 접속기 12 : 검출기
13 : 변경된 MB 비트 스트림 발생기
18, 20, 22 : AND 회로 28 : 비교기
본 발명은 데이타 압축 분야에 관한 것으로, 특히 디지탈 동영상 신호를 압축하는 시스템 및 기법에 관한 것이다.
디지탈 전송 네트워크, 디지탈 저장 매체, VLSI 장치(Very Large Scale Integration devices) 및 비디오/오디오 신호의 디지탈 프로세싱의 기술 발전에 따라, 여러 분야의 응용에서는 디지탈 비디오의 전송 및 저장을 경제적으로 구현하도록 하는 관심이 집중되고 있다. 디지탈 비디오 신호의 저장 및 전송은 다수의 응용에서 중심적이고, 비디오 신호의 압축되지 않은 신호(uncompressed representation)는 대용량의 기억장치를 필요로 하기 때문에, 이러한 발전 기술에서는 디지탈 비디오 압축 기술 사용이 절대적으로 요구된다. 이에 관해, 지난 10년 동안 디지탈 비디오 신호의 압축에 대한 국제 표준이 수많이 출현되었다. 이들 표준은 여러 응용에서 압축 디지탈 비디오를 전송 및 저장하기 위한 알고리즘에 적용된다. 이들 응용은 비디오 전화 및 텔레비젼 회의와; 동축 및 광섬유-광 네트워크를 통한 고화질 디지탈 텔레비젼 신호 전송 및 위성 방송을 통한 고화질 디지탈 텔레비젼 신호 전송과; CD-ROM, 디지탈 오디오 테이프 및 윈체스터 디스크 드라이브(Winchester disk drives)와 같은 대화식 멀티미디어 제품을 포함한다.
다수의 표준에서는 압축 기술의 공통 핵심 예를 들어, CCITT(Consultative Committee on International Telegraphy and Telephony) Recommendation H. 120, CCITT Recommendation H. 126, ISO/IEC MPEG-1 및 MPEG-2 표준을 기초한 알고리즘을 포함한다. MPEG-1 알고리즘은 국제 표준 기구(International Standards Organization: ISO) 및 국제 전기 공학 협회(International Electrotechnical Commission: IEC)의 공동 기술 위원회의 일부인 MPEG(Moving Picture Experts Group)에 의해 개발되었다. MPEG-1 표준에서는 압축 비디오 신호 및 이와 연관된 오디오 신호를 기술하고 있다. 이 표준에서는 압축 비트 스트림(compressed bit stream)의 구문(syntax) 및 디코딩 방법이 개시되어 있지만, 인코더에 사용되는 알고리즘의 신규성 및 다양성을 상당히 허용하고 있다.
MPEG-1 알고리즘은 주로 고정 비트 속도 저장 매체(fixed bit-rate storage media)와 함께 사용되도록 의도된 것이다. 그러나, 각각의 화상(picture)의 비트수는, 코딩되는 영상(scene)의 공간-시간 복잡도의 시간에 따른 고유 변이 뿐만 아니라 상이한 유형의 화상 프로세싱으로 인해 반드시 일정하지는 않을 것이다. MPEG-1 알고리즘은 비트 속도내에 허용된 변이에 따라 소정의 한계(pounds)를 출력하기 위해 버퍼를 기초한 속도 제어 방안(a buffer-based rate control strategy)을 사용한다. 비디오 버퍼 검증기(video buffer verifier: VBV)는 가상 버퍼의 형태로 안출된 것으로, 이 가상 버퍼의 고유의 임무는 한계를 각각의 화상을 코딩하는데 사용되는 갯수의 비트로 배열하여, 전체 비트 속도가 타겟 할당(target allocation)과 동일하고, 이 타겟으로부터 단기 편차(short-term deviation)가 제한되도록 한다. 이러한 속도 제어 방안은 이하 개시되어 있다.
시스템은 버퍼와 가상 디코더(hypothetical decoder)로 구성되는 것으로 가정한다. 버퍼는 저장 매체로 부터 제공된 비트 스트림의 압축 데이타와 일정한 비트 속도로 수행된다. 버퍼의 크기 및 비트 속도는 압축 비트 스트림내에 전송되는 파라미터(parameters)이다. 또한, 비트 스트림의 정보로부터 도출되는 초기 지연 후에, 이와 동시에 가상 디코더는 버퍼로부터 제1화상과 연관된 모든 데이타를 제거한다. 그후, 시퀀스의 화상 속도와 동일한 구간내에서, 디코더는 버퍼내의 가장 근접한 화상과 연관된 모든 데이타를 제거한다.
비트 스트림이 MPEG-1 속도 제어 요건을 수용하기 위해, 각 화상의 모든 데이타는 이 데이타가 디코더에 의해 요구되는 즉시 버퍼내에서도 사용가능하도록 하는 것이 필요하다. 이러한 요건은 바운드를 각각의 화상에 허용된 비트수에 따라 상한 및 하한(upper and lowe bounds)으로 변경시킨다. 제공된 화상의 상한 및 하한은 선행하는 모든 화상내에 사용되는 비트수에 따른다. 이것은 이 요건을 수용하는 비트 스트림이 발생되도록 하는 인코더의 기능이다. 실제로 디코더는 전술한 방식으로 구성되거나 혹은 동작하지 않을 것이다. 가상 디코더 및 이와 관련된 버퍼는 압축된 화상의 크기에 따라 계산가능한 한계를 배열하는 간단한 수단이다.
소정의 비트 속도 제어의 특징을 나타내는 방안은 다수의 방안이 있다. 예를 들어, 변형 계수(transform coefficients)에 대한 속도 제어 양자화 계수(rate-controlled quantiztion factor)의 개념은 W-H CHEN 및 W.K. PRATT에 의해 기술된 Scene Adaptive Coder이란 명칭의 IEEE Trans. Communications. vol. COM-32, pp. 225-232, March 1984에 개시되어 있다. 여기서 사용되는 속도 제어 방안은 일정 비트 속도 채널로 코딩할 때 발생되는 가변 비트 속도가 정합되도록 하는 영상 및 비디오 압축 알고리즘에 주로 적용된다.
다른 속도 제어 방안은 Gonzales 및 Viscito에 의해 기술된 미합중국 특허 제5,231,484호에 개시되어 있으며, MPEG-1에 대해 사용될 수 있는 속도 제어 메카니즘을 기술하고 있다. 속도 제어 메카니즘은 각각의 매크로블럭에 대해 지금까지 화상내에 얼마나 많은 비트가 발생되었는지의 여부를 추적한다. 지금까지 화상내에 발생된 비트수가 UNBV에 도달하면, 퀀타이저 파라미터(quantiser parameter: QP)가 증가된다.
전술한 두가지 속도 제어 방안에서, 속도 제어는 각각의 매크로블럭에 대해 사용되는 양자화 레벨을 변경하므로써 달성됨에 유의하여야 한다. 그러나, QP가 최대 허용값으로 설정되더라도, 비트수는 UNBV을 초과하여 발생될 수도 있다. 이는 예를 들어, 비디오 버퍼의 데이타 저장 능력이 매우 작거나 혹은 매우 복잡한 영상이 인코딩되는 경우에 발생될 수 있다.
따라서, 본 발명의 목적은 인코더가 화상내의 비트를 고정된 상한(fixed upper limit)을 초과하여 발생하지 않도록 하는 방식으로 화상을 인코딩하는 시스템 기법을 제공하는 데 있다.
본 발명은 각 화상에 대해 발생된 비트수가 한계를 초과하지 않도록 하는 비디오 인코더를 구현하는 시스템 및 방법을 포함한다. 화상 i에 대한 한계는 Ui로 표현된다. 바람직한 실시에에서, 본 발명의 시스템은 지금까지 발생된 비트수에 따른 한계가 발생될 수 있는 비트수에 따른 한계를 초과하는지의 여부를 검출하는 검출기와, 이러한 조건이 검출되면 비트 속도를 감소시키는 비트 스트림 발생기를 포함한다.
[MPEG-1의 환경]
본 발명은 MPEG-1 인코더와 함께 적용될 경우, 본 발명의 이해를 돕기 위해 MPEG-1 비디오 압축 알고리즘의 일부 적절한 특성이 개시될 것이다. 그러나, 본 발명은 MPEG-1 알고리즘의 일부 특성을 공유하는 다른 비디오 코딩 알고리즘에 또한 적용될 수도 있음을 이해하여야 한다.
우선, 텍스트의 페이지(a page of text), 형상, 스피치 세그먼트(segment of speech) 또는 비디오 시퀀스(video sequence)와 같은 소정의 데이타 객체의 압축은 1) 상기 객체를 토큰 집단(collection of tokens)으로 분해하는 단계와; 2) 이들 토큰을 최소 길이로 갖춘 이진 스트링(binary strings)으로 나타내는 단계와; 3) 상기 스트링을 양호하게 정의된 순서로 접속하는 단계를 포함하는 일련의 단계로서 고려될 수 있음을 이해할 것이다. 단계 2 및 단계 3는 무손실(lossless)을 갖는다. 즉, 역으로 원 데이타는 완벽하게 복원가능하며, 단계 2는 엔트로피코딩(entropy coding)으로 일컬어진다. 단계 1은 일반적으로 무손실 또는 손실중 어느 하나를 갖는다. 대부분의 비디오 압축 알고리즘은 엄격한 비트 속도 요건으로 인해 손실을 갖고 있다.
양호한 손실 압축 알고리즘은 중복된 정보 및 부적절한 정보를 제거하여, 시각적으로 중요하지 않는 비교적 큰 에러를 허용하고, 관측자에게 매우 민감한 시퀀스 특성이 면밀하게 표현되도록 한다. MPEG-1 알고리즘에 사용되는 단계 1에 대한 기술은 예측/보간 움직임 보상 하이브리드(predictive/interpolative motion-compensated hybrid) DCT/DPMP 코딩으로 표현될 수 있다. 또한, 허프만 코딩은 가변 길이 코딩(variable length coding)으로 일컬어 지며, 단계 2에서 사용된다. 전술한 바와 같이, 실제로 MPEG-1 표준은 디코더 및 압축 비트 스트림 구문을 설명하고 있지만, MPEG-1의 특징에 관한 다음의 설명은 표현을 용이하게 하기 위해 주로 인코더의 관점에서 기술된다.
MPEG-1 비디오 표준에서는 디지탈 저장 매체의 비디오의 코딩된 비디오 표시를 지정한다. 알고리즘은 인터페이스되지 않은 성분을 갖는 비디오(noninterlaced component video)상에 동작하도록 설계된다. 각각의 화상은 3개의 성분 즉, 휘도(Y), 적색차(red color difference)(Cr) 및 청색차(blue color difference)(Cb)를 갖는다. Cr및 Cb성분 각각은 수평 및 수직 방향의 Y 성분을 1/2 샘플링한다.
MPEG-1 데이타 스트림은 시스템 정보 및 다른 가능한 비트 스트림과 더불어, 층으로 구성될 수 있는 시스템 데이타 스트림으로 패킹된 (packed) 비디오 스트림 및 오디오 스트림으로 구성된다. 또한, MPEG-1 데이타 스트림의 비디오층의 압축 데이타도 층으로 구성된다. 층 구조에 대한 설명은 본 발명을 이해하는데 도움이 될 것이다.
층은 압축 알고리즘의 동작 뿐만 아니라 압축 비트 스트림의 구조에도 연관된다. 최상위층은 전체 시퀀스에 대한 제어 정보 및 파라미터를 포함하는 비디오 시퀀스층이다. 그 후속층에서 시퀀스는 화상 그룹(GOP)으로 일컬어지는 연속 화상의 세트로 제각기 세분된다. 이 층의 일반적인 예는 제1도에 도시되어 있다. 디코딩은 본질적으로 이전의 GOP's에 관계없이 소정의 GOP 시작부에서 수행될 수 있다. GOP에 존재할 수 있는 화상수에 대한 한계가 존재하지 않거나 혹은 모든 GOP's 내에서 화상수가 동일하지 않아도 된다.
제3 또는 화상층은 단일 화상이다. 이 층의 일반적인 예는 제2도에 도시되어 있다. 각 화상의 휘도 성분은 16×16 영역으로 세분되고; 색차 성분은 16×16영역과 공간적으로 공동 위치되는 8×8 영역으로 세분된다. 이들 공동 위치된 휘도 영역 및 색차 영역은 매크로블럭(MB)으로 일컬어지는 제5층으로 구성된다. 화상내의 매크로블럭은 매크로블럭 1으로 부터 개시되어 연속적으로 사진 편집 순으로 넘버링(numbering)된다.
화상과 MB 층 사이에는 제4층 또는 슬라이스층이 있다. 각각의 슬라이스는 연속하는 여러개의 MB's으로 구성된다. 슬라이스는 화상내에서 또는 화상 사이에서 그 크기가 균일하게 요구되지 않는다. 제3도에 도시된 바와 같이, 슬라이스는 크기에 있어서 약간의 매크로블럭만으로 구성될 수 있거나 혹은 다수의 MB's의 행을 가로질러 확장될 수 있다.
마지막으로, 각각의 MB은 제4도에 도시된 바와 같이, 4개의 8×8 휘도 블럭 및 두 개의 8×8 색블럭으로 구성된다. (화상 엘리먼트 또는 픽셀에서) 각 휘도 화상의 폭이 C로 표현되고, 높이가 R로 표현되면(C는 열, R은 행), 화상은 CMB=C/16 MB의 폭과 RMB=R/16 MB의 높이를 갖는다. 화상내에는 NMB=C×(R/256) 매크로 블럭을 갖는다.
시퀀스, GOP, 화상 및 슬라이스층 모두는 이들과 연관된 헤더를 갖는다. 헤더는 바이트-정렬된 개시 코드로부터 개시되고, 이에 대응하는 층에 구비된 데이타와 연관된 정보를 포함한다. 압축 비트 스트림은 헤더를 인코딩하는데 사용되는 비트 및 매크로블럭을 인코딩하는데 사용되는 비트로 구성됨에 유의하여야 한다. 헤더를 인코딩하는데 사용되는 비트는 헤더 비트로 일컬어 질 것이다.
GOP 내의 화상은 3가지 유형으로 나타낼 수 있다. 이들 유형의 화상간에 구별되는 차이점은 사용되는 압축 기법이다. 제1유형 즉, 인트라모드 화상(Intramode pictures) 또는 I화상은 임의의 다른 화상과 관계없이 압축된다. I 화상 사이의 거리의 상한은 고정되어 있지 않고, 다만 이들 I 화상은 랜덤 액세스 및 다른 특정 동작 모드를 용이하게 수행하기 위해 시퀀스에 걸쳐 빈번하게 산재될 것이다. 각각의 GOP는 I-화상으로 부터 개시되어 지며, GOP내에 I-화상이 부가적으로 나타날 수 있다. 다른 두가지 유형의 화상 즉, P 화상(predictively motion-compensated pictures) 및 B 화상(bidirectionally motion-compensated pictures)는 이하의 움직임 보상의 설명을 기초로 하여 기술될 것이다.
GOP의 I-화상, P-화상 및 B-화상의 갯수 및 순서에 관한 소정의 규정이 제공된다. I-화상 및 P-화상을 집합적으로 앵커 화살(anchor pictures)로서 참조하면, GOP는 적어도 하나의 앵커 화상을 포함해야 하며, 그 이상의 화상을 포함할 수도 있다. 또한, 제각기 인접한 앵커 화상 쌍 사이에는 0 이상의 B-화상이 존재할 수 있다. 전형적인 GOP의 예는 제5도에 도시되어 있다.
변환 코딩(transform coding)은 매우 유용한 영상 압축 기법중 하나이다. MPEG-1 및 다른 여러 압축 표준에서, 이산 코사인 변환(discrete cosine transform: DCT)은 선택 변형이다. I-화상의 압축은 1) 픽셀 블럭의 DCT를 취하는 단계와, 2) DCT 계수를 양자화하는 단계와, 3) 양자화된 결과를 허프만 코딩(Huffman coding)하는 단계에 의해 성취된다. MPEG-1에서, DCT 동작은 n×n 픽셀 블럭을 n×n 변형 계수 세트(set of transform coefficients)로 변경한다. 이와 유사한 여러 국제 압축 표준에서, MPEG-1의 알고리즘은 8×8 DCT 블럭 사이즈를 사용한다. DCT 변형 자체는 무손실 동작이며, 이 동작은 연산 장치 및 알고리즘에 의해 정확하게 변경될 수 있다.
제2단계 즉, DCT 계수의 양자화는 MPEG-1 알고리즘의 주손실원이다. 각 MB에 대한 DCT 계수의 k번째 2-차원 어레이의 엘리먼트가 Ckmn로 표현되면(여기서, m 및 m은 0에서 7까지의 범위, k는 0에서 5까지의 범위), 양자화는 절단(truncation) 또는 라운딩(rounding) 정정을 제외하고, 각각의 DCT 계수(Ckmn)를 (Wkmn×QP)로 나누므로써 성취된다(Wkmn는 가중 계수, QP는 퀀타이저 파라미터). 가중 게수 Wkmn에 따라, 코오서 양자화(coarser quantization)는 시각적으로 중요하지 않은 계수로 제공된다. 양자화된 DCT 계수는 dkmn으로 일컬어진다. 계수 dk00는 양자화된 DC계수이다.
QP는 MPEG-1에서 화질과 비트 속도를 서로 번갈아 사용하는 주요 수단이다. QP는 화상내에서 하나의 MB에서 다른 MB로 변할 수 있음을 나타내는 것이 중요하다. 이러한 특성으로 인해, 각각의 화상의 상이한 영역은 상이한 스텝-사이즈로 양자화되고, 각각의 화상상의 가시 화질(visual quality) 및 화상간의 가시 화질을 등화(및 최적화)시키는데 사용될 수 있다. 또한, 가변 QP는 인코더에 의해 발생된 스트림 비트 속도를 조정할 수 있다; QP는 증가되거나 혹은 감소되어, 발생된 비트수를 제각기 감소시키거나 혹은 증가시킨다.
m 또는 n이 0이 아니면, qkmn은 dkmn와 동일한 것으로 간주하고, qk00은 각 블럭에 대한 DC 계수와 이와 동일한 구성 요소의 이전 코딩된 블럭간의 차이다. 계수 qkmn는 허프만 코드의 세트를 사용하므로써 구성되고 코딩된다. 허프만 인코딩 단계의 설명은 본 발명을 이해하는 데 본질적인 것이 아니고, 본 기술 분야에 통상적으로 알려져 있으므로, 본 명세서에서 더이상 기술되지 않을 것이다.
대부분의 동화상 비디오 시퀀스는 연속적인 화상간에 상호 연관성이 매우 높음을 보여주고 있다. 화상을 코딩하기 전에 이러한 중복성을 제거하는데 유용한 방안은 움직임 보상 방안이다. 움직임 보상은 영상의 움직임을 모방하고 측정하는 몇가지 수단이 요구된다. MPEG-1에서, 각각의 화상은 매크로 블럭으로 분할되고, 각각의 MB은 예측 화상(들)의 전형적인 동일 공간 위치에서 16×16 영역과 비교된다. 일부 영상에서 MB를 최적으로 정합하는 예측 화상(들)의 영역은 프리딕션(prediction)으로서 사용된다. MB의 공간 위치와 이 MB의 프리딕터(predictor)의 공간 위치간의 차는 움직임 벡터(motion vector)로 일컬어진다. 따라서, MB의 움직임 측정 및 움직임 보상의 출력은 움직임 벡터 및 움직임-보상 차 매크로블럭이다. 압축 유형에서, 이러한 출력은 일반적으로 원래의 MB보다 적은 수의 비트가 요구된다. 이전의 단일 예측 화상을 사용하여 추정적으로 움직임-보상되는 화상들은 P-화상으로 일컬어진다. MPEG-1에서 이러한 종류의 프리딕션은 포워드-인-타임 프리딕션(forward-in-time prediction)으로 또한 일컬어 진다.
전술한 바와 같이, P-화상과 예측 화상간의 시간 간격(time interval)은 하나의 화상 간격보다 클 수 있다. 화상이 P-화상내에 위치되거나 혹은 I-화상과 P-화상 사이에 위치되는 경우, 포워드-인-타임 프리딕션과 더불어 백워드-인-타임 프리딕션(backward-in-time prediction)이 사용될 수 있다(제5도 참조). 이러한 화상은 양방향 움직임 보상 화상 즉, B-화상으로 일컬어진다. 포워드 및 백워드 프리딕션과 더불어 B-화상에 대한 보간 움직임 보상으로 인해, 프리딕터는 이전의 예측 화상으로부터의 블럭 및 다른 예측 화상으로 부터의 블럭을 평균한다. 이 경우, 두개의 움직임 벡터가 요구된다.
양방향 움직임 보상이 사용되면, 제5도에 도시된 바와 같이, 두 레벨이 움직임 보상 구조가 형성된다. 각각의 화살표는 점으로 구성된 화상을 사용하여 화살촉에 접속하는 화상의 프리딕션을 나타낸다. 각각의 P-화상은 이전의 앵커 화상(이 경우, I-화상 또는 P-화상)을 사용하므로써 움직임-보상된다. 각각의 B-화상은 이 B-화상에 바로 인접한 앞뒤 앵커 화상에 의해 움직임 보상된다. MPEG-1에서는 앵커 화상간의 거리를 한정하지 않거나 또는 I-화상간의 거리를 한정하지 않는다. 실제로, 이들 파라미터는 전체 시퀀스에 걸쳐 반드시 일정할 필요가 없다. N으로서의 I-화상간의 거리 및 M으로서의 P-화상간의 거리를 참조하면, 제5도에 도시된 시퀀스는 (N,M)=(9,3)을 갖는다.
따라서, MPEG-1 시퀀스는 I-화상 사이에 샌드위치되는 P-화상이 하나도 없거나 혹은 하나 이상을 포함할 수 있는 일련의 I-화상으로 구성됨을 이해하여야 한다. 여러 I-화상 및 P-화상은 이들 각 화상 사이에 샌드위치되는 B-화상이 존재하지 않거나 혹은 하나 이상을 포함할 수 있으며, 후자의 경우 이들 화상은 앵커 화상으로 동작한다.
B-화상의 MB에 제공되는 움직임 보상은 3종류 즉, 포워드, 백워드 및 보간 모드가 있다. 인코더는 이들 모드중 하나를 선택한다. 일부 MB에서, 움직임 보상 모드는 프리딕션을 정확하게 수행하지 못한다. 이 경우, MB는 I-화상의 매크로블럭 즉, 인트라모드와 동일한 방식으로 처리될 수 있다. 이것은 다른 움직임 보상 모드일 수 있다. 따라서, P-화상 및 B-화상에 대한 움직임 보상 모드는 여러가지가 있다.
움직임 보상 매크로블럭의 코딩은 각각의 MB를 코딩하는데 사용되는 움직임 보상 모드 및 이 모드와 연관된 소정의 움직임 벡터와 관계하는 사이드 정보를 코딩하는 것을 제외하고는, 인트라모드 Mbs의 코딩과 매우 유사하다. 움직임 보상 Mbs에서, 양자화된 DCT 계수 자체는 허프만 코드와 코딩되는 qkmn이다.
허프만 코드는 양자화된 DCT 데이타를 나타내기 위해 사용되는 것 외에, 움직임 벡터를 나타내는데 또한 사용된다. 움직임 벡터 자체는 차등적으로(differentially) 인코딩된다; 즉, 허프만 코드는 움직임 벡터 자체를 위해 할당(assing)되는 것이 아니라, MB의 움직임 벡터의 현재 매크로블럭 이전에 인코딩된 것으로부터 측정되는 기준 움직임 벡터(reference motion vectors)간의 차를 위해 할당된다. 차등 움직임 벡터는 mvn로 일컬어진다(여기서, n은 포워드 또는 예측된 MB에 대해 0이고, n은 보간 MB에 대해 0에서 1까지의 영역을 갖는다). 인코더는 QP의 값을 각각의 MB에 정확하게 전송하거나 혹은 전송하지 않을 수 있다. 인코더가 QP의 값을 비트 스트림에 정확하게 전송하지 않으면, 최종 MB에서 사용된 값이 사용된다. 매크로블럭에 사용되는 움직임 보상 모드는 QP의 값이 정확하게 전송되었는지의 여부에 따라 매크로 블럭 모드를 절충한다.
매크로블럭의 압축 신호가 발생되도록 요구된 정보는 매크로블럭 유형, 차등 움직임 벡터, QP 및 qkmn이 있다.
원래의 매크로블럭의 데이타와 함께 인코더에 의해 이루어지는 결정은 매크로블럭의 인코딩되는 표현에 얼마나 많은 비트가 사용되는지를 판정하는 것임을 이해하여야 한다. 양자화된 계수가 크면, 양자화된 DCT 계수를 나타내는 허프만 코드워드는 더욱 큰 비트를 사용한다. 따라서, QP가 작을 때 및/또는 상기 계수가 크면, 상기 계수에 대한 비트는 더욱 많이 요구된다. 또한, 큰 차등 움직임 벡터의 인코딩은 작은 차등 움직임 벡터의 인코딩에 비해 더 많은 비트가 요구된다. 마지막으로, 이전의 매크로 블럭에서 사용된 QP 값과 상이한 QP 값을 사용하는 데에는 QP를 나타내는 여분의 비트가 요구된다.
전술한 바와 같이, MPEG-1 표준의 목적은 압축된 비트 스트림의 구분 및 이 스트림을 디코딩하는데 사용되는 방법을 나타내는 것임을 이해하여야 한다. 인코더 알고리즘 및 하드웨어 설계자는 이들 시스템을 이들 응용의 특정 요구에도 적용되도록 하고 있다. 특히, 디코더는 화상의 여러 부분에 얼마나 많은 수의 비트가 사용되는지를 결정할 수 있다.
제6도에는 전형적인 MPEG-1의 인코더가 개략적으로 도시되어 있다. 인코더(1)는 다수의 서브시스템을 포함하며, 도면에 3개의 서브시스템으로 도시되어 있다. 특히, 인코더(1)는 기본 MB 비트 스트림 발생기(2), 헤더 비트 스트림 발생기(3) 및 멀티플렉서(4)를 포함한다. 입력된 비디오 신호(V)는 인코더(1)로 제공된다. MB 비트 스트림 발생기(2)는 비트 스트림(c0)을 구성하는 각각의 MB의 압축 신호를 발생한다. 헤더 비트 스트림 발생기(2)는 시퀀스, GOP, 화상 및 비트 스트림(c1)을 구성하는 슬라이스 헤더를 발생한다. 멀티플렉서(4)는 헤더 비트 및 매크로블럭 비트를 압축된 비트 스트림(c2)으로 출력한다.
전형적인 기본 MB 비트 스트림 발생기는 제7도에 더욱 상세히 도시되어 있다. 여러 신호(QP', QP, mo, mvn, qkmn)는 비트 스트림 발생기로 제공된다. QP'는 최종 MB에 대해 사용되는 QP 값이고, QP는 현재의 MB이고, mo는 매크로블럭의 움직임 보상 모드이고 mvn는 차등 움직임 벡터이고, qkmn는 계수이며, QP' 및 QP는 감산기(5)로 제공된다. 감산기(5)에 의해 감산된 값은 영 검출기(zero detector)(6)로 제공되고, 영 검출기(6)는 QP'=QP의 조건이면 신호(gi=0)를 발생하고, 그렇지 않으면 신호(g1=1)를 발생한다.
QP와 아울러 신호(g1) 및 (모든 매크로블럭 모드에 대한) mo는 허프만 코드워드의 세트(h1)를 발생하는 제1허프만 인코더 서브시스템(7)으로 제공된다. 움직임 벡터(mvn)는 허프만 코드워드의 세트(h2)를 발생하는 제2허프만 인코더 서브시스템(8)으로 제공된다. DCT 계수(qkmn)는 허프만 코드워드의 세트(h3)를 발생하는 제3허프만 인코더 서브시스템(9)으로 제공된다. 허프만 코드워드의 세트(h1, h2, h3)는 접속기(concatenator)(10)에서 접속되고, 접속된 결과의 값(c0)은 매크로블럭의 압축 버전이다.
[인코더의 바람직한 실시예]
제8도에는 본 발명의 바람직한 실시예의 모든 구성요소 및 상호 접속관계가 도시되어 있다. 입력 비디오 신호(V0)는 변경된 인코더 서브시스템(11)으로 제공된다. 인코더는 정보 신호(I0)를 검출기 서브시스템(12)으로 제공한 후에, 각각의 매크로블럭을 인코딩한다. 각각의 매크로블럭에 대한 검출기 서브시스템은 1 또는 0일 수 있는 스위칭 신호(s)를 출력한다. 스위칭 신호는 변경된 MB 비트 스트림 발생기(13)로 제공된다.
변경된 MB 비트 스트림 발생기는 비트 스트림(C3)을 구성하는 각각의 MB에 대한 압축 신호를 발생한다. 헤더 비트 스트림 발생기(14)는 시퀀스, GOP, 화상 및 비트 스트림(C4)을 구성하는 슬라이스 헤더를 발생한다. 멀티플렉서(15)는 헤더 비트 및 MB 비트를 압축 비트 스트림(C5)으로 제공한다.
제9도에는 변경된 MB 비트 스트림 발생기가 도시되어 있다. 또한, 변경된 MB 비트 스트림 발생기는 기본 MB 비트 스트림 발생기로 제공되는 신호(QP', QP, mo, mvn, qkmn)와 아울러 스위칭 신호(s)를 수신한다.
변경된 MB 비트 스트림 발생기의 기능은 다음과 같이 총괄적으로 기술될 수 있다. 변경된 MB 비트 스트림 발생기로 입력되는 스위칭 신호(s)가 1이면, 변경된 비트 스트림 발생기는 제6도에 도시된 비트 스트림 발생기와 동일한 방식으로 동작한다. 한편, 스위칭 신호(s)가 0이면 변경된 비트 스트림 발생기는 매우 적은 수의 비트를 사용하여 압축 매크로블럭을 발생한다. 이 압축 매크로블럭은 현재의 매크로블럭에서 최종 매크로블럭에서 사용된 동일한 QP 값을 인코딩하므로써 발생되며(이는 다른 방법으로 새로운 QP 값을 나타내는데 사용되었을 수 있는 비트가 저장될 것임을 의미한다), 이로 인해 차등 움직임 벡터는 0's으로 변경되고(따라서, 차등 움직임 벡터를 나타내는데 사용되는 비트수가 감소될 것이다), 양자화된 DCT 계수는 0's으로 변경된다(따라서, DCT 계수를 위해 사용되는 허프만 코드워드가 매우 적은 수의 비트로 사용될 것이다).
다시 제9도를 참조하면, QP' 및 QP는 감산기(16)로 제공된다. 감산기(16)에 의해 감산된 값은 영 검출기(17)로 제공되고, 영 검출기(16)는 QP'=QP의 조건이면 신호(g2=0)를 발생하고, 그렇지 않으면 신호(g2=1)를 발생한다.
신호(g2) 및 스위칭 신호(s)는 AND 회로(18)로 제공되고, AND 회로(18)는 스위칭 신호(s)가 1이면 신호(g3=g2)를 출력하고, 스위칭 신호(s)가 0이면 신호(g3=0)를 출력한다. 신호(g2), QP 및 mo는 모두 허프만 코드워드의 세트(h4)를 발생하는 제1허프만 인코더 서브시스템(19)으로 제공된다. 허프만 인코더 서브시스템(19)의 동작은 서브시스템(19)에 신호(g1) 대신 신호(g3)가 제공되는 것을 제외하고는 제7도의 제1허프만 인코더의 동작과 동일하다.
차등 움직임 벡터 신호(mvn) 및 스위칭 신호(s)는 AND 회로(20)로 제공되고, AND 회로(20)는 스위칭 신호(s)가 1이면 모든 n에 대해 신호(mv'n=mvn)를 출력하고, 스위칭 신호(s)가 0이면 모든 n에 대해 신호(mv'n=0)를 출력한다. 신호(mvn)는 허프만 코드워드의 세트(h5)를 발생하는 제2허프만 인코더 서브시스템(21)으로 인가된다. 이 서브시스템(21)의 동작은 서브시스템(21)에 신호(mvn) 대신 신호(mv'n)가 제공되는 것을 제외하고는 제7도의 제2허프만 인코드의 동작과 동일하다.
DCT계수의 신호(qkmn) 및 스위칭 신호(s)는 AND회로(22)로 제공되고, AND회로(22)는 스위칭 신호(s)가 1이면 모든 k, m 및 n에 대해 신호(q'kmn=qkmn)를 출력하고, 스위칭 신호(s)가 0이면 모든 k, m 및 n에 대해 신호(q'kmn=0)를 출력한다. 신호(qkmn)는 허프만 코드워드의 세트(h6)를 발생하는 제3허프만 인코더 서브시스템(23)으로 인가된다. 이 서브시스템(21)의 동작은 서브시스템(21)에 신호(qkmn)대신 신호 (q'kmn)가 제공되는 것을 제외하고는 제7도의 제3허프만 인코더의 동작과 동일하다.
허프만 코드워드 세트(h4, h5, h6)는 접속기 서브시스템(24)에서 접속되고, 접속된 결과의 신호(C4)는 매크로블럭의 압축 버젼이다. 이 서브시스템은 허프만 코드워드 세트(h1, h2, h3) 대신 허프만 코드워드 세트(h4, h5, h6)가 입력되는 것을 제외하고는 제7도의 서브시스템(10)과 동일한 방식으로 동작한다.
제10도에는 제8도에 도시된 인코더의 서브시스템인 검출기의 바람직한 실시예가 도시되어 있다. 이 검출기는 3개의 입력 신호 및 하나의 출력 신호를 갖는다. 입력 신호(Ui, h, r) 중 Ui는 현재 화상에서 발생되는 상위 한계 비트수이고, h는 현재 화상에 아직 입력되지 않은 헤더 비트수보다 크거나 동일한 비트수이고, r은 화상내에 아직 인코딩되지 않은 MBs의 비트수이다. 출력 신호(s)는 변경된 비트 스트림 발생기로 제공되는 스위칭 신호이다.
신호(Ui) 및 신호(h)는 차분(감산기) 회로(25)로 인가되어, 출력 신호 U'=Ui-h 를 발생한다. 신호(r)는 멀티플렉서(26)로 제공되어, 출력 신호(r'=r×m)를 발생한다(여기서, m은 정수). 신호(U') 및 신호(r')는 차분(감산기) 회로(27)로 제공되어, 출력 신호 U2=U'-r' 를 발생한다. 신호(U2)는 비교기(28)로 제공되어, U2T의 조건이면 신호(s=1)을 출력하고, 그렇지 않으면 신호(s=0)를 출력한다(T는 임계치).
다음 조건에 따라, 화상 i내에 발생되는 비트수는 Ui보다 적을 것이다.
s=0인 경우, m은 매크로블럭내에 발생되는 최대 비트수보다 크거나 혹은 동일하다;
s=1인 경우, T는 매크로블럭내에 발생되는 최대 비트수보다 크거나 혹은 동일하다;
Ui는 전체 화상에서 요구된 헤더 비트와, m 및 NMB의 적(product)과의 합(H)를 초과한다. 즉, UiH + (m × NMB).
본 발명의 실시예는 여러가지 방법으로 변경될 수 있다. 예를 들어, s=0이면, 변경된 MB 비트 스트림 발생기는 qkmn의 서브세트가 0으로만 설정되도록 구성될 수 있다. 제2실시예로, s=0일 때, 변경된 MB 비트 스트림 발생기는 차등 움직임 벡터가 0으로 출력되지 않도록 구성될 수 있다. 제3실시예로, 변경된 MB 비트 스트림 발생기는 최소 비트수를 사용하여 움직임 보상 코드를 항상 선택하도록 구성될 수 있다.
본 발명은 바람직한 실시예로 기술되었지만, 본 기술 분야에 통상의 지식을 가진 자에게 여러가지 변경 및 개선이 일어날 수도 있음을 유의하여야 한다. 따라서, 본 발명의 바람직한 실시예는 하나의 예로 제공되었지만, 이를 한정하지 않음을 이해하여야 한다. 본 발명의 영역은 첨부된 특허 청구범위로 정의된다.

Claims (11)

  1. 동영상 압축 시스템(a motion video compression system)에 있어서, 스위칭 신호(a switching signal)에 응답하여, 제1한계(a first limit)로 제한(bound)되며 화상의 일부분(a portion of a picture)을 나타내는데 제1갯수의 비트(first number of bits)를 포함하는 비트 스트림(a bit stream)을 발생하는 제1수단과; 상기 스위칭 신호에 응답하여, 상기 제1한계보다 적은 제2한계(a second limit)로 제한되며 상기 화상의 일부분을 나타내는 제2갯수의 비트(a second number of bits)를 포함하는 비트 스트림을 발생하는 제2수단과; 상기 화상의 나머지 부분을 인코딩(encoding)하는데 필요한 예측 비트수(a number of bits predicted)의 함수로서 상기 스위칭 신호의 상태를 세트하는 스위칭 신호 발생기를 포함하는 동영상 압축 시스템.
  2. 제1항에 있어서, 상기 제1한계 및 상기 제2한계는 입력 화상 데이타에 종속하지 않는 동영상 압축 시스템.
  3. 제1항에 있어서, 상기 필요한 예측 비트수는 상기 화상의 각각의 나머지 영역(each remaining region)에 대해 상기 제2한계와 동일한 갯수의 비트를 항상 생성한다면 상기 제2수단을 사용하여 상기 화상의 나머지를 인코딩하는데 필요한 비트수를 상기 제1한계에 가산하므로써 결정되는 동영상 압축 시스템.
  4. 동영상 압축 시스템에 있어서, 화상속 인코딩하는데 사용된 제1비트수와 상기 화상의 나머지 부분을 인코딩하는데 필요한 제2예측 비트수의 합을, 상기 화상 전체를 인코딩하는데 허용된 최대 비트수와 비교하는 비교기(a comparitor)와; 상기 비교기에 접속되고, 상기 합이 상기 최대 비트수를 초과하지 않으면 제1인코딩 기법(a first encoding method)에 따라 결정된 비트수를 사용하여 제1모드(a first mode)로 상기 화상의 후속 영역(a next region)을 인코딩하고, 상기 합이 상기 최대 비트수를 초과하면 제2인코딩 기법(a second encoding method)에 따라 제2비트수를 사용하여 상기 화상의 상기 후속 영역을 인코딩하는 인코더(an encoder)를 포함하는 동영상 압축 시스템.
  5. 제4항에 있어서, 상기 인코더는 다수의 허프만 인코더(a plurality of Huffman encoders)를 포함하고, 상기 비교기의 출력에 응답하여, 상기 화상의 적어도 일부분에 대한 적어도 두개의 움직임 보상 벡터(at least two of a motion compensation vector), 양자화 값(quantization value) 및 양자화된 변형 계수(quantized transform coefficients)가 변경되는 동영상 압축 시스템.
  6. 제4항에 있어서, 상기 인코더는 다수의 허프만 인코더를 포함하고, 상기 비교기의 출력에 응답하여, 상기 화상의 적어도 일부분에 대한 적어도 하나의 움직임 보상 모드, 움직임 보상 벡터 및 양자화된 변형 계수가 변경되는 동영상 압축 시스템.
  7. 비디오 동화상(a video motion picture)을 압축하는 방법에 있어서, 적어도 두개의 인코딩 기법을 사용하여 인코딩될 나머지 화상의 일부분을 인코딩하는데 필요한 예측 비트수의 함수인 상태신호(a state)를 갖는 스위칭 신호를 발생하는 단계와; 제1상태신호의 상기 스위칭 신호에 응답하여, 제1한계로 제한되며 상기 부분의 세그먼트(segment)를 나타내는 제1갯수의 비트를 포함하는 비트 스트림을 발생하는 단계와; 제2상태신호의 상기 스위칭 신호에 응답하여, 상기 제1한계보다 적은 제2한계로 제한되며 상기 부분의 상기 세그먼트를 나타내는 제2갯수의 비트를 포함하는 비트 스트림을 발생하는 단계를 포함하는 비디오 동화상 압축 방법.
  8. 제7항에 있어서, 상기 제1 및 상기 제2한계는 입력 화상 데이타에 종속하지 않는 비디오 동화상 압축 방법.
  9. 비디오 동화상을 인코딩하는 방법에 있어서, 화상을 인코딩하는데 사용된 제1비트수와 상기 화상의 나머지를 인코딩하는데 필요한 제2예측 비트수의 합을, 상기 화상 전체가 인코딩되도록 허용된 최대 비트수와 비교하는 단계와; 상기 합이 상기 최대 비트수를 초과하지 않으면, 제1인코딩 기법에 따라 결정된 비트수를 사용하여 제1모드로 상기 화상의 후속 영역을 인코딩하는 단계와; 상기 합이 상기 최대 비트수를 초과하면, 제2인코딩 기법에 따라 제2비트수를 사용하여 상기 화상의 상기 후속영역을 인코딩하는 단계를 포함하는 비디오 동화상 인코딩 방법.
  10. 제9항에 있어서, 상기 인코딩은 허프만 인코딩을 포함하고, 상기 비교 단계의 출력에 응답하여, 상기 화상의 적어도 일부분에 대한 적어도 두개의 움직임 보상 벡터, 양자화 값 및 양자화된 변경 계수가 변경되는 비디오 동화상 인코딩 방법.
  11. 제9항에 있어서, 상기 인코딩은 허프만 인코딩을 포함하고, 상기 비교 단계의 출력에 응답하여, 상기 화상의 적어도 일부분에 대한 적어도 하나의 움직임 보상 모드, 움직임 보상 벡터 및 양자화된 변형 계수가 변경되는 비디오 동화상 인코딩 방법.
KR1019960006700A 1995-03-27 1996-03-13 동영상 압축 시스템과, 비디오 동화상의 압축 방법 및 인코딩 방법 KR100196890B1 (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US08/410,786 1995-03-27
US8/410,786 1995-03-27
US08/410,786 US5668598A (en) 1995-03-27 1995-03-27 Motion video compression system with guaranteed bit production limits

Publications (2)

Publication Number Publication Date
KR960036740A KR960036740A (ko) 1996-10-28
KR100196890B1 true KR100196890B1 (ko) 1999-06-15

Family

ID=23626212

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1019960006700A KR100196890B1 (ko) 1995-03-27 1996-03-13 동영상 압축 시스템과, 비디오 동화상의 압축 방법 및 인코딩 방법

Country Status (3)

Country Link
US (1) US5668598A (ko)
JP (1) JPH08275158A (ko)
KR (1) KR100196890B1 (ko)

Families Citing this family (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH09107547A (ja) * 1995-10-09 1997-04-22 Hitachi Ltd 既圧縮動画データ量削減装置および既圧縮動画データ量削減システムならびに既圧縮動画データ量削減方法
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
JPH1198020A (ja) * 1997-09-24 1999-04-09 Sony Corp ビットストリーム解析方法及び装置
US6151361A (en) * 1997-12-29 2000-11-21 Thomson Licensing S.A. System and method for reducing multipass signal degradation
CN1169304C (zh) * 1998-01-21 2004-09-29 松下电器产业株式会社 可变长度编码装置
US6614934B1 (en) * 1998-03-06 2003-09-02 Divio, Inc. Method and apparatus for concatenating bits of odd-length words
US6512852B1 (en) 1998-03-06 2003-01-28 Divio, Inc. Method and apparatus for concatenating bits of odd-length words
GB2356508B (en) * 1999-11-16 2004-03-17 Sony Uk Ltd Data processor and data processing method
EP1146745B1 (en) * 2000-03-08 2019-09-04 Mitsubishi Denki Kabushiki Kaisha Coding device and coding method
GB2387055A (en) * 2002-03-28 2003-10-01 Sony Uk Ltd Data compression method including target data quantity allocation
US7277587B2 (en) * 2002-04-26 2007-10-02 Sharp Laboratories Of America, Inc. System and method for lossless video coding
US7543326B2 (en) * 2002-06-10 2009-06-02 Microsoft Corporation Dynamic rate control
US20030235250A1 (en) * 2002-06-24 2003-12-25 Ankur Varma Video deblocking
EP1520431B1 (en) 2002-07-01 2018-12-26 E G Technology Inc. Efficient compression and transport of video over a network
US6900746B1 (en) * 2003-12-23 2005-05-31 Wend Llc Asynchronous, data-activated concatenator for variable length datum segments
KR101381600B1 (ko) 2006-12-20 2014-04-04 삼성전자주식회사 텍스처 합성을 이용한 영상의 부호화, 복호화 방법 및 장치
US8765983B2 (en) * 2009-10-30 2014-07-01 Aurora Algae, Inc. Systems and methods for extracting lipids from and dehydrating wet algal biomass
US10554220B1 (en) * 2019-01-30 2020-02-04 International Business Machines Corporation Managing compression and storage of genomic data

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3013381B2 (ja) * 1990-03-28 2000-02-28 ソニー株式会社 可変長データの復号装置
JP3002019B2 (ja) * 1991-07-04 2000-01-24 富士通株式会社 セル廃棄補償機能を有する画像符号化伝送方式
US5231484A (en) * 1991-11-08 1993-07-27 International Business Machines Corporation Motion video compression system with adaptive bit allocation and quantization
GB2269289B (en) * 1992-07-13 1995-10-25 Sony Broadcast & Communication Serial data decoding
US5325125A (en) * 1992-09-24 1994-06-28 Matsushita Electric Corporation Of America Intra-frame filter for video compression systems

Also Published As

Publication number Publication date
US5668598A (en) 1997-09-16
JPH08275158A (ja) 1996-10-18
KR960036740A (ko) 1996-10-28

Similar Documents

Publication Publication Date Title
KR100196890B1 (ko) 동영상 압축 시스템과, 비디오 동화상의 압축 방법 및 인코딩 방법
KR100253931B1 (ko) 디지탈 영상 시퀀스의 디코딩 방법 및 장치
JP3888597B2 (ja) 動き補償符号化装置、及び動き補償符号化復号化方法
US5719632A (en) Motion video compression system with buffer empty/fill look-ahead bit allocation
EP1033036B1 (en) Adaptive entropy coding in adaptive quantization framework for video signal coding systems and processes
EP1971153B1 (en) Method for decoding video information, a motion compensated video decoder
KR100343352B1 (ko) 일정 비트 레이트 혹은 가변 비트 레이트를 위한 디지털 동영상 시퀀스 2-패스 부호화 방법
EP0732855B1 (en) Moving picture variable length coding system and method
KR100599017B1 (ko) 영상 데이터 압축 장치 및 그 방법
KR970003789B1 (ko) 비디오 부호기의 전송율을 제어하기 위한 비트 할당 방법
EP0920214B1 (en) Apparatus and method of coding/decoding moving picture
CN100571365C (zh) 用于在双通道编码中选择扫描模式的方法与设备
KR20040047977A (ko) 공간적으로 스케일가능한 압축
WO2000045602A1 (en) Optimal encoding scheme for motion compensated video
HU217744B (hu) Eljárás és berendezés kerekítési hibák megelőzésére mozgóképjelet leíró transzformációs együtthatók inverz transzformációjakor, valamint eljárás és berendezés mozgóképjel komprimálására, berendezés epandálására és képrögzítő eszköz
EP0736843B1 (en) A motion video compression system with adaptive quantisation
US5652629A (en) Bidirectional motion estimation in a motion video compression system
US5757967A (en) Digital video decoder and deinterlacer, format/frame rate converter with common memory
KR100227298B1 (ko) 부호화 화상의 부호량 제어 방법
US6968003B1 (en) Speed-memory tradeoff for MPEG decoders
US5742342A (en) Apparatus for encoding an image signal using vector quantization technique
EP1531628A2 (en) Scalable video coding
US6381274B1 (en) Method and apparatus for encoding video signal
JP2001148852A (ja) 画像情報変換装置及び画像情報変換方法
JP3948442B2 (ja) 動き補償復号化装置

Legal Events

Date Code Title Description
A201 Request for examination
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20060124

Year of fee payment: 8

LAPS Lapse due to unpaid annual fee