KR100343352B1 - 일정 비트 레이트 혹은 가변 비트 레이트를 위한 디지털 동영상 시퀀스 2-패스 부호화 방법 - Google Patents

일정 비트 레이트 혹은 가변 비트 레이트를 위한 디지털 동영상 시퀀스 2-패스 부호화 방법 Download PDF

Info

Publication number
KR100343352B1
KR100343352B1 KR1019990000216A KR19990000216A KR100343352B1 KR 100343352 B1 KR100343352 B1 KR 100343352B1 KR 1019990000216 A KR1019990000216 A KR 1019990000216A KR 19990000216 A KR19990000216 A KR 19990000216A KR 100343352 B1 KR100343352 B1 KR 100343352B1
Authority
KR
South Korea
Prior art keywords
picture
bit rate
bit
bits
compression
Prior art date
Application number
KR1019990000216A
Other languages
English (en)
Other versions
KR19990067783A (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 KR19990067783A publication Critical patent/KR19990067783A/ko
Application granted granted Critical
Publication of KR100343352B1 publication Critical patent/KR100343352B1/ko

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/236Assembling of a multiplex stream, e.g. transport stream, by combining a video stream with other content or additional data, e.g. inserting a URL [Uniform Resource Locator] into a video stream, multiplexing software data into a video stream; Remultiplexing of multiplex streams; Insertion of stuffing bits into the multiplex stream, e.g. to obtain a constant bit-rate; Assembling of a packetised elementary stream
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/85Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using pre-processing or post-processing specially adapted for video compression
    • H04N19/87Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using pre-processing or post-processing specially adapted for video compression involving scene cut or scene change detection in combination with video compression
    • 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/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
    • 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/14Coding unit complexity, e.g. amount of activity or edge presence estimation
    • 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/142Detection of scene cut or scene change
    • 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/172Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object the region being a picture, frame or field
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/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/177Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being a group of pictures [GOP]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/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/179Methods 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 scene or a shot
    • 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/182Methods 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 pixel
    • 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/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

Abstract

화상 등의 디지털 정보의 단위를 부호화하는 시스템 및 방법이 제공된다. 본 발명에 의하면, 모든 데이터는 먼저, 부호화기에 내장된 비트 레이트 제어 메카니즘에 의해, 모든 데이터에 대한 압축 패스를 실행시킴으로써 분석된다. 양자화 스케일 설정 및 생성된 비트 등의 화상 속성들을, 그 결과로 생긴 비트스트림으로부터 추출하고, 이를 분석함으로써, 개별 단위(화상) 양자화 스케일 및 비트 할당 설정을, 일정 비트 레이트 혹은 가변 비트 레이트 중의 어느 하나에 대한 다음 패스를 위해 마련하고, 이를 통해 버퍼 경계를 준수한다. 동일한 데이터에 대한 제 2 압축 패스에서, 일정 비트 레이트 혹은 가변 비트 레이트의 압축 비트스트림이 생성되지만, 이 때에는 그 내장된 비트 레이트 제어 메카니즘을 사용하지 않고, 그 대신에 마련한 화상 비트 할당 및 양자화 스케일 설정을 사용한다. 게다가, 소정 메카니즘은 전체 비트 생성 정확도를 감시할 것이다.

Description

일정 비트 레이트 혹은 가변 비트 레이트를 위한 디지털 동영상 시퀀스 2-패스 부호화 방법{TWO-PASS ENCODING METHOD OF DIGITAL MOTION VIDEO SEQUENCES FOR CONSTANT-OR VARIABLE BIT RATE}
본 발명은 데이터 압축 분야에 관한 것으로, 특히 디지털 동영상 신호를 압축하는 시스템 및 방법에 관한 것이다.
디지털 전송 네트워크와, 디지털 저장 매체와, VLSI 디바이스와, 영상 및 음성 신호의 디지털 처리 분야의 기술적 진보에 따라, 디지털 영상의 전송 및 저장이 다수의 응용 분야에서 경제적으로 이루어지게 되었다. 디지털 영상 신호의 저장 및 전송은 다수의 응용 분야에서 핵심으로 되며 영상 신호의 비압축된 표현은 통상적으로 상당한 저장 용량을 필요로 하기 때문에, 디지털 영상 압축 기술의 사용은 이러한 기술 분야의 진보에 따라 중요해지고 있다.
디지털 영상 신호의 압축에 대해서는 여러 가지 국제 표준들이 지난 십년 간 등장하였고, 현재에도 개발 중에 있는 것도 있다. 이들 표준은, 여러 응응 분야, 예컨대 화상 전화 및 원격 회의(teleconferencing)와, 동축 네트워크(coaxial networks), 광 섬유(fiber-optic) 네트워크, 지상파 방송 혹은 직접 위성 방송을 통한 고화질 디지털 TV 전송과, CD-ROM, 디지털 테이프, 디지털 화상 디스크(DVD) 및 디스크 드라이브 상에 저장된 대화형 멀티미디어 제품들에 압축된 디지털 영상의 전송 및 저장을 위한 알고리즘에 적용된다.
이들 압축 표준 중 몇개 표준에는, CCITT(Consultative Committee on International Telegraphy and Telephony) 권고안 H.120, CCITT 권고안 H.261, ISO/IEC MPEG-1 및 MPEG-2 표준 등의 압축 기술들의 공통의 핵심부(core)를 기반으로 하는 알고리즘이 포함되어 있다. MPEG 알고리즘은 ISO(International Standards Organization) 및 IEC(International Electrotechnical Commission)의 연합 기술 위원회의 일부인 동화상 전문가 그룹(MPEG)에 의해 개발되었다. MPEG 위원회는 영상 및 관련 음성 신호의 다중화된 압축 표현에 대한 여러 표준을 개발해 오고 있다. 이들 표준은 압축된 비트 스트림의 문법(syntax)과 복호화 방법을 규정하고 있지만, 부호화기에는 새로운 알고리즘 내지 변형된 알고리즘이 사용될 수 있도록 상당한 여지를 남겨 두고 있다.
MPEG-1 표준은, 순차주사(progressive) 영상을 압축하는데 사용하기 위해 개발되었다. 순차주사 영상 시퀀스에서, 그 시퀀스내의 매 프레임은 별개의 시간에 보여지는 하나의 장면을 나타낸다. 이와 대조적으로, 비월주사(interlaced) 영상에서는, 필드 ― 스크린 상의 홀수 라인들로 이루어지거나 짝수 라인들로 이루어진 화상 ― 가 주기적으로 포착된다. 비월주사 영상의 경우, 스크린상의 상부 필드와 하부 필드가 교대로 리프레시(refresh)된다. 임의의 소정의 시간에서, 두 필드(하나의 프레임을 이룸)로부터의 데이터가 보이게 할 수 있다.
MPEG-2 표준은 비월주사 영상, 순차주사 영상 혹은 이들을 혼합한 영상을 압축하는데 사용될 수 있는데, 여기서 부호화기가 각각의 프레임이 순차주사 방식인지 비월주사 방식인지를 명시한다.
MPEG 표준은 비트 스트림을 규정하며, 이 비트 스트림내에서는 각 화상의 압축된 표현의 비트 수가 변할 수 있다. 이러한 변동은, 부호화될 장면의 공간-시간적 복잡도가 시간에 따라 본질적으로 변화하기 때문일 뿐만 아니라 화상 처리의 유형이 상이하기 때문이다. 이로 인해, 비트 레이트의 변동을 고르게 하는데 버퍼를 사용하게 된다. 일정 비트 레이트의 저장 매체 혹은 전송 채널의 경우, 예컨대, 버퍼링은 압축된 화상의 비트 레이트가 버퍼의 크기에 따른 제한 범위내에서 변동할 수 있게 하는 한편, 저장 장치 또는 전송 채널로 일정 비트 레이트를 출력할 수 있게 해준다.
버퍼링의 중요성을 고려하여, MPEG 표준은 도 1에 도시된 VBV(가상 버퍼 검증기:Virtual Buffer Verifier)라 불리는 가설적 디코더(hypothetical decoder)를 규정하고 있는데, 이 디코더는 부호화된 비트 스트림이 디코더 버퍼 크기 및 입력 비트 레이트에 대한 명시된 제한에 따라 복호화될 수 있는지 여부를 검증한다. VBV에는 두개의 동작 모드, 즉 일정 비트 레이트(CBR)와 가변 비트 레이트(VBR)가 있다. 이들 두 모드는 이하에서 설명된다.
일정 비트 레이트 동작의 경우, 복호화기 버퍼(101)에는 저장 혹은 전송 매체로부터 압축된 데이터(100)가 일정 비트 레이트로 채워진다. 버퍼 크기와 비트 레이트는 모두 압축된 비트 스트림으로 전송되는 파라메타들이다. 소정의 초기 지연 ― 이것 또한 비트 스트림내의 정보로부터 유도됨 ― 후, 가설적 복호화기(103)는 즉시 버퍼로부터 첫번째 화상과 연관된 모든 데이터를 제거한다. 그후, 시퀀스의 화상 속도와 동일한 간격으로, 그 복호화기는 버퍼내의 가장 이른(earliest) 화상과 연관된 모든 데이터를 제거한다.
가변 비트 레이트 동작은, 압축된 비트 스트림이 버퍼가 완전히 채워질 때까지 명시된 최대 비트 레이트로 버퍼에 진입하고, 일단 채워진 시점에서는 버퍼가 부분적으로 비게 될 때까지 더이상 비트가 입력되지 않는다는 점을 제외하고는 전술한 내용과 동일하다. 이는 실제로 가변적인 버퍼 진입 비트 레이트를 의미한다.
비트 스트림이 MPEG 비트 레이트 제어 요구 사항을 충족시키기 위해서는, 각 화상의 모든 데이터가 복호화기가 요구한 때에 즉시 버퍼내에서 이용가능하도록 하는 것이 필요하다. 이러한 요구 사항은 각 화상에서 허용되는 비트 수의 상한 및 하한(UVBV 및 LVBV)을 의미한다. 소정의 화상에 대한 상한과 하한은 이에 선행하는 모든 화상들에서 사용된 비트의 수에 의존한다. VBV 요구 사항을 충족시키는 비트 스트림을 생성하는 것이 부호화기의 기능이다. 실제의 복호화기가 반드시 전술한 방식으로 구성되거나 동작할 것이라고 예상되지는 않는다. 가설적 복호화기 및 이와 연관된 버퍼는 단지 압축된 화상의 크기에 계산가능한 제한을 두기 위한 수단에 불과하다.
비트 레이트 제어 방안은 곤잘레스(Gonzales) 및 비시토(Viscito)의 미국 특허 제 5,231,484 호에서 찾을 수 있는데, 여기에는 MPEG에 사용될 수 있는 비트 레이트 제어 메카니즘이 개시되어 있다. 이러한 유형의 방안의 블럭도가 도 2에 도시되어 있다. 이러한 방안에서는, 입력 영상 신호 Fk200이 복잡도 추정기(Complexity Estimator)(201)와 화상 부호화기(Picture Coder)(205)에 전송된다. 복잡도 추정기는 복잡도 추정치 Ck(신호 202)를 화상 비트 할당기(Picture Bit Allocator)(203)에 전송한다. 화상 비트 할당기는 양자화 스케일 Qk(신호 204)를 화상 부호화기(205)에 전송한다. 양자화 스케일은 부호화기로부터 압축된 영상 신호를 수신하고 있을 가설적 복호화기 버퍼의 순간 버퍼 충만도와 이전 부호화된 화상의 복잡도에 따라 설정된다. 화상 부호화기는 양자화 스케일을 사용하여 Fk를 부호화하고 출력 비트 스트림 CDk(신호 206)을 생성한다.
전술한 것과 관련하여, 본원 발명의 목적은 화상 등의 디지털 정보의 단위를 부호화하는 시스템 및 기술을 제공하는데 있다. 본 발명에 의하면, 모든 데이터는 우선, 부호화기에 내장된 비트 레이트 제어 메카니즘에 의해, 그 모든 데이터에 대한 압축 패스(compression pass)를 실행시킴으로써 분석된다. 다음에, 분석 결과를 사용하여, 개별 단위(화상) 양자화 스케일 및 비트 할당 설정을, 일정 비트 레이트 혹은 가변 비트 레이트 중 어느 한 비트 레이트에 대한 다음 패스를 위해 마련한다. 마지막으로, 동일한 데이터에 대한 제 2 압축 패스에서는, 일정 비트 레이트 혹은 가변 비트 레이트의 압축 비트 스트림이 생성되지만, 이 때에는 그 내장된 비트 레이트 제어 메카니즘을 사용하지 않고 대신에 마련한 화상 비트 할당 및 양자화 스케일 설정을 비트 생성의 정확도를 감시하는 소정 방법과 함께 사용하게 된다.
여러 실시예에서는, 초기 압축 패스 데이터를 분석하고, 그 결과를 사용하여 일정 비트 레이트 혹은 가변 비트 레이트의 제 2 압축 패스를 위한 비트 생성 및 양자화 스케일 목표치를 마련하며, 화상 단위로 실제의 제 2 압축 패스 프로세스를 제어하는 방법이 제공된다.
도 1은 가상 버퍼 검증기의 블럭도.
도 2는 통상의 영상 압축 시스템의 개략도.
도 3은 MPEG 데이터 스트림의 영상 압축 층에서 압축 데이터의 GOP(Group of Picture) 층의 전형적인 세트를 도시한 도면.
도 4는 MPEG 데이터 스트림의 영상 압축 층내의 압축 데이터의 매크로블럭(MB) 층에서 화상의 전형적인 매크로블럭 세분화를 도시한 도면.
도 5는 매크로블럭의 블럭 세분화를 도시한 도면.
도 6은 전형적인 GOP에서 화상의 유형을 도시한 도면.
도 7은 일정 비트 레이트 모드의 동작시 시간에 따른 가상 복호화기 버퍼의 변화를 도시한 전형적인 그래프도.
도 8은 가변 비트 레이트 모드의 동작시 시간에 따른 가상 복호화기 버퍼의 변화를 도시한 전형적인 그래프도.
도 9는 다중 패스 부호화 시스템의 개략도.
도 10은 제 2 패스 가변 비트 레이트 동작을 위한 양자화 스케일을 마련하기 위한 버퍼 언더플로우 방지 방법의 흐름도.
도면의 주요 부분에 대한 부호의 설명
101: 복호화기 버퍼 103: 복호화기
105: 디스플레이 201: 복잡도 추정기
203: 화상 비트 할당기 205,901,903: 화상 부호화기
904: 전처리기
a. MPEG-2 환경
본 발명이 MPEG-2 부호화기와 관련하여 적용될 수가 있기 때문에, 본 발명의 이해를 돕기 위하여, MPEG-2 영상 압축 표준의 몇몇 관련 측면들이 검토될 것이다. 하지만, 본 발명이 또한, MPEG-2 표준의 몇몇 특징을 공유하는 다른 영상 부호화 알고리즘에도 적용될 수 있음을 이해해야 할 것이다.
먼저, 소정의 데이터 객체, 예컨대 한 페이지의 텍스트, 이미지, 음성 세그먼트 혹은 영상 시퀀스의 압축은 일련의 단계들, 즉 1) 그 객체를 토큰들의 집합으로 분해하는 단계, 2) 의미있는 최소 길이의 이진 스트링으로 이들 토큰을 표현하는 단계, 3) 잘 정의된(well-defined) 순서로 이들 스트링을 연결하는 단계라고 생각될 수 있음을 이해할 것이다.
단계 1은 무손실 방식(lossless)이거나 손실 방식(lossy)일 수 있다. 대부분의 영상 압축 알고리즘은 엄격한 비트 레이트 요구 사항 때문에 손실 방식이다. 성공적인 손실 압축 알고리즘은 중복되고 관련없는 정보를 제거하고, 시각적으로 중요할 것 같지 않은 곳에서는 비교적 큰 오차를 허용하되 관찰자에게 매우 민감한 시퀀스의 측면들은 주의깊게 표현한다. 단계 1에 사용되는 MPEG-2 표준의 기술들은 예측/보간 움직임 보상 혼성 DCT/DPCM 부호화로서 설명될 수 있다. 가변 길이 부호화인 허프만 부호화는 단계 2에서 사용된다. 언급한 바와 같이, MPEG-2 표준이 실제로 복호화기와 압축된 비트 스트림 문법을 규정한 것이지만, MPEG-2 규정에 관한 이하의 설명은 설명의 편의를 위해 주로 부호화기 측면으로부터 이루어진다.
MPEG 영상 표준은 전송을 위한 영상의 부호화된 표현을 규정하고 있다. 이들 표준은 비월주사 혹은 무비월주사 성분 영상에 대해 동작하도록 설계되어 있다. 각각의 화상은 세개의 성분, 즉 휘도(Y), 적색 색차(CR), 청색 색차(CB)를 갖는다. 4:2:0 데이터의 경우, CR과 CB 성분 각각은 수평 및 수직 방향의 양 방향으로 Y 성분의 절반 정도의 샘플을 갖는다. 4:2:2 데이터의 경우, CR과 CB 성분 각각은 수평 방향으로는 Y 성분의 절반 정도의 샘플을 갖지만 수직 방향으로는 동일한 수의 샘플을 갖는다. 4:4:4 데이터의 경우, CR과 CB 성분 각각은 수평 및 수직 방향의 양 방향으로 Y 성분 만큼의 샘플을 갖는다.
MPEG 데이터 스트림은 영상 스트림과 음성 스트림으로 구성되며, 이들 스트림은 시스템 정보 및 가능한 다른 비트 스트림과 함께 하나의 시스템 데이터 스트림으로 패킹되는데, 그 시스템 데이터 스트림은 층을 이루고 있다고 간주될 수 있다. MPEG 데이터 스트림의 영상 층내에서, 그 압축된 데이터가 다시 층을 이룬다. 층의 구성을 설명하는 것이 본 발명의 이해에 도움이 될 것이다.
층은 압축된 비트 스트림의 합성(composition) 뿐만 아니라 그 압축 방안의 동작에 관련된다. 최상 층은 영상 시퀀스 층으로서, 전체 시퀀스에 대한 제어 정보 및 파라메타를 담고 있다. 그 다음 층에서, 한 시퀀스가 연속적인 화상들의 여러 세트들로 세분되는데, 그 각각의 세트가 GOP(a Group of Pictures)라 알려져 있다. 이러한 층에 대한 전반적인 설명이 도 3에 도시되어 있다. 복호화는 임의의 GOP의 선두에서 시작할 수 있으며, 본래 선행 GOP들과는 무관하다. 한 GOP내의 화상의 수에는 제한이 없으며, 모든 GOP에서 화상의 수가 동일할 필요도 없다.
제 3 층, 즉 "화상" 층은 단일 화상이다. 이러한 층에 대한 전반적인 설명은 도 4에 도시된다. 각 화상의 휘도 성분은 16×16 영역으로 세분되며, 색차 성분은 적절하게 크기 조정된 블럭들로 세분되는데, 이들 블럭은 16×16 휘도 영역과 공간적으로 동일한 위치에 존재한다(co-situated). 4:4:4 영상의 경우, 색차 성분은 16×16이고, 4:4:2 영상의 경우 색차 성분은 8×16이며, 4:2:0 영상의 경우 색차 성분은 8×8이다. 이들 동일한 위치의 휘도 영역과 색차 영역이 함께 취해지면, "매크로블럭(MB)"라고 하는 제 5 층을 이루게 된다. 한 화상내의 매크로블럭들은 래스터 스캔 순서로 연속적으로 일련 번호가 붙여진다(넘버링된다).
화상 층과 MB 층 사이에는 제 4 층, 즉 "슬라이스(Slice)" 층이 있다. 각각의 슬라이스는 소정 수의 연속 MB들로 구성된다. 슬라이스들은 한 화상내에서, 그리고 여러 화상 간에서 크기가 획일적일 필요는 없다.
마지막으로, 도 5에 도시한 바와 같이, 각각의 MB는 4개의 8×8 휘도 블럭과, 8, 4 혹은 2(4:4:4, 4:4:2, 4:4:0 영상의 경우)개의 휘도 블럭들로 구성된다. 각 화상의 화상 엘리먼트, 즉 화소(pixel)의 휘도 성분의 폭은 C로, 그 높이를 R로(C는 열, R은 행 대신에 사용됨) 표시하면, 한 화상은 폭이 C/16개의 MB들이고, 높이가 C/16개의 MB들이다.
시퀀스, GOP, 화상 및 슬라이스 층은 모두 그와 연관된 헤더를 갖는다. 헤더는 바이트 정렬된 "시작 코드(Start Codes)"로 시작하며, 대응하는 층 내에 포함된 데이터와 관련된 정보를 포함한다.
화상은 필드 구조이거나 프레임 구조일 수 있다. 프레임 구조 화상은 데이터의 한 전체 프레임, 즉 두개의 필드를 재구성하기 위한 정보를 포함한다. 필드 구조 화상은 한 필드를 재구성하기 위한 정보를 포함한다. (화상 엘리먼트 혹은 화소의) 각 휘도 프레임의 폭은 C로서, 그 높이를 R로서(C는 행을, R은 열을 의미함) 표시하면, 프레임 구조 화상은 C×R개의 화소에 대한 정보를 포함하고, 필드 구조 화상은 C×R/2개의 화소에 대한 정보를 포함한다.
필드 구조 화상의 매크로블럭은 단일 필드로부터의 16×16 화소 세그먼트를 포함한다. 프레임 구조 화상의 매크로블럭은 두개의 필드로 구성된 그 프레임으로부터의 16×16 화소 세그먼트를 포함한다. 각각의 매크로블럭은 두 필드의 각각으로부터의 16×8 영역을 포함한다.
MPEG-2 시퀀스내의 각각의 프레임은 두개의 부호화된 필드 화상 또는 하나의 부호화된 프레임 화상으로 구성되어야 한다. 예컨대, 두개의 프레임을 하나의 필드 구조 화상 + 하나의 프레임 구조 화상 + 하나의 필드 구조 화상으로 부호화하면 부적법하다. 적법한 결합예로는, 두개의 프레임 구조 화상, 4개의 필드 구조 화상 또는 하나의 프레임 구조 화상 + 두개의 필드 구조 화상이 있다. 따라서, MPEG-2 문법내에는 전혀 프레임 헤더가 없지만, 개념적으로는 MPEG-2의 프레임 층을 생각할 수 있다.
GOP내에는, 세개의 유형의 화상이 나타날 수 있다. GOP내의 이들 세 유형의 화상의 일예가 도 6에 도시된다. 이들 화상 유형간을 구별해주는 특징은 사용된 압축 방법이다. 제 1 유형의 화상, 즉 인트라모드(Intramode) 화상 또는 I 화상은 임의의 다른 화상과는 무관하게 압축된다. I 화상간의 거리에는 고정된 상한이 존재하지 않지만, 랜덤 액세스와 다른 특수한 동작 모드를 용이하게 하기 위해 이들 I 화상들이 한 시퀀스 전역에 빈번하게 산재할 것이라고 예상된다. 예측 움직임 보상 화상(P 화상)은 그 화상내의 압축된 데이터와, 이전에 디스플레이된 I 혹은 P 화상로부터의 두개의 가장 최근에 재구성된 필드로부터 재구성된다. 양방향 예측 움직임 보상 화상(B 화상)은 그 화상내의 압축된 데이터와, 이전에 디스플레이된 I 혹은 P 화상로부터의 두개의 재구성 필드와, 장래에 디스플레이될 I 혹은 P 화상로부터의 두개의 재구성 필드로부터 재구성된다. 재구성된 I 또는 P 화상은 다른 화상을 재구성하는데 사용될 수 있기 때문에, 이들 화상을 앵커(anchor) 화상이라 부른다. 본 명세서의 목적을 위해, 한 앵커 화상은 그 다음 앵커 화상이 I 화상인 경우 단말(terminal) 화상이라 불린다.
하나의 매우 유용한 이미지 압축 기술은 변환 부호화이다. MPEG과 여러 다른 압축 표준에서는, 이산 코사인 변환(DCT)이 선택되고 있다. I 화상의 압축은,1) 화소의 블럭에 대해 DCT를 수행하는 단계, 2) DCT 계수를 양자화하는 단계, 3) 그 결과를 호프만 부호화하는 단계에 의해 달성된다. MPEG에서는, DCT 동작은 8×8 화소의 블럭을 변환 계수의 8×8 세트로 변환한다. DCT 변환 그 자체는 무손실 동작으로서, 계산 장치와 이와 함께 실행되는 알고리즘의 정밀도 내에서 역변환될 수 있다.
제 2 단계인 DCT 계수의 양자화는 MPEG 표준에서 손실의 주요한 소스이다. DCT 계수의 2 차원 어레이의 엘리먼트를 cmn ― 여기서 m과 n은 0 내지 7의 범위에 있음 ― 으로 표시하면, 절사(truncation) 혹은 반올림 정정을 차치한 경우, 양자화는 각각의 DCT 계수 cmn을 wmn×QP ― 여기서, wmn은 가중 인자(weighting factor)이고, QP는 매크로블럭 양자값(macroblock quantizer)임 ― 로 나눔으로써 달성된다. 가중 인자 wmn은 거친 양자화(coarser quantization)가 시각적으로 덜 중요한 계수들에 적용될 수 있게 해준다.
이들 가중치의 여러 세트가 존재할 수 있다. 예컨대, I 화상에 대한 하나의 가중 인자가 존재할 수 있고 P 및 B 화상에 대한 다른 인자가 존재할 수 있다. 커스텀 가중치가 영상 시퀀스 층에서 전송될 수가 있거나, 또는 디폴트 값이 사용될 수가 있다. 매크로블럭 양자화기 파라메타는 MPEG-2에서 화질과 비트 레이트를 절충하기 위한 주요한 수단이다. QP가 한 화상내의 MB와 MB간에 변동할 수 있음을 주지하는 것이 중요하다. 적응 양자화(adaptive quantization)(AQ)라 알려진 이러한 특징은, 각각의 화상의 상이한 영역들이 상이한 스텝 크기로 양자화될 수 있도록 해주므로, 각각의 화상에 걸쳐 그리고 화상과 화상간에 시각적 화질을 일정하게 하는데(최적화시키는데) 사용될 수 있다. 전형적으로, 예컨대 MPEG 테스트 모드에서, 매크로블럭 양자화기는 매크로블럭 마스킹 인자 × 화상 공칭 양자값로서 계산된다.
양자화에 이어, 각각의 MB에 대한 DCT 계수 정보가 구성되어 한 세트의 호프만 코드를 이용하여 부호화된다. 이러한 단계의 세부 내용은 본 발명의 이해에 필수적인 것은 아니고 본 기술 분야에서 일반적으로 이해되고 있기 때문에, 더이상 이에 대한 설명을 하지 않을 것이다.
대부분의 영상 시퀀스는 연속하는 화상간에 높은 상관도를 나타낸다. 한 화상을 부호화하기 전에 이러한 중복성을 제거하기 위한 유용한 방법이 움직임 보상이다. MPEG-2는 움직임 보상(이하에 기술됨)을 위한 여러 툴을 제공한다.
움직임 보상의 모든 방법들은 이하의 내용을 공통으로 한다. 각각의 매크로블럭에 대해, 하나 또는 그 이상의 벡터가 비트 스트림내에서 부호화된다. 이들 움직임 벡터는 복호화기가 순방향 예측 매크로블럭이라 불리는 한 매크로블럭을 재구성할 수 있게 해준다. 부호화기는 부호화될 매크로블럭으로부터 그 예측 매크로블럭을 감분하여 차분 매크로블럭을 형성한다. 부호화기는, 인트라 매크로블럭을 압축하는데 사용된 툴과 본질적으로 유사한 툴을 사용하여 차분 매크로블럭을 압축한다.
화상의 유형은 사용될 수 있는 움직임 보상의 방법을 결정한다. 부호화기는 그 화상의 각각의 매크로블럭에 대해 이들 방법들중에서 선택한다. 움직임 보상의 한 방법은 사용된 매크로블럭 모드와 움직임 보상 모드에 의해 설명된다. 4개의 매크로블럭 모드, 즉 인트라(I) 모드, 순방향(F) 모드, 역방향(B) 모드와 보간적 순-역방향(FB) 모드가 있다. I 모드의 경우, 어떠한 움직임 보상도 사용되지 않는다. 기타 매크로블럭 모드의 경우, 16×16(S) 또는 16×8(E) 움직임 보상 모드가 사용될 수 있다. F 매크로블럭 모드의 경우, 듀얼-프라임(D) 움직임 보상 모드가 또한 사용될 수 있다.
MPEG 표준은 일정 비트 레이트와 가변 비트 레이트의 전송 및 저장 매체와 함께 사용될 수 있다. 각각의 화상내의 비트의 수는, 부호화될 장면의 시간 공간적 복잡도의 시간에 따른 내재적 변화 뿐만 아니라 화상 처리의 상이한 유형으로 인하여 가변적일 것이다. MPEG 표준은 가상 버퍼 검증기(VBV)의 형태로 버퍼 기반 비트 레이트 제어 전략을 사용하여, 그 비트 레이트에 허용되는 변동에 대해 의미있는 한계를 설정한다. 도 1에 도시한 바와 같이, VBV는 가설적 복호화기(103)에 연결된 복호화기 버퍼(101)로 구성되며, 이들의 유일한 작업은, 전체 비트 레이트가 목표 할당치와 같고 그 목표치로부터의 단기 변동이 제한되도록, 각각의 화상을 부호화하는데 사용된 비트의 수에 한계를 설정하는 것이다. VBV는 일정 비트 레이트 모드 또는 가변 비트 레이트 모드중 어느 한 모드에서 동작할 수 있다.
일정 비트 레이트 모드에서, 버퍼는 일정한 비트 레이트로 저장 혹은 전송 매체로부터 의 비트 스트림의 압축된 데이터로 채워진다. 버퍼 크기와 비트 레이트는 압축된 비트 스트림으로 전송되는 파라메타들이다. 초기 지연 ― 이 또한 비트스트림내의 정보로부터 유도됨 ― 후, 가설적 복호화기는 즉시 첫번째 화상과 연관된 모든 데이터를 버퍼로부터 제거한다. 그후, 시퀀스의 화상 속도와 동일한 간격으로, 복호화기는 버퍼의 가장 이른 화상과 연관된 모든 데이터를 제거한다.
VBV의 동작은 도 7에 예시되어 있다. 그 도면은 시간에 따른 복호화기 버퍼의 충만도를 도시하고 있다. 버퍼는 시간 T0의 초기 지연 후 Bi의 초기 버퍼 충만 상태로부터 시작한다. 사선부(sloped line segment)는 일정한 비트 레이트로 버퍼에 진입하는 압축된 데이터를 보여주고 있다. 수직선부는 버퍼의 가장 이른 화상과 연관된 데이터를 버퍼로부터 즉시 제거하는 것을 보여주고 있다. 본 예에서, 화상들은 시간 T의 일정한 간격으로 제거되는 것으로 도시되어 있다. 일반적으로, 화상 디스플레이 간격, 즉 연속하는 화상의 제거 간의 시간 간격은 변할 수 있다.
비트 스트림이 MPEG 비트 레이트 제어 요구 조건을 충족시키기 위해서는, 각각의 화상에 대한 모든 데이터가 복호화기가 요구한 때 즉시 버퍼에서 사용가능해야 하고 복호화기 버퍼가 초과하여 채워지지 않도록 할 필요가 있다. 이들 요구 조건은 각각의 화상에 허용되는 비트의 수에 대한 상한 및 하한을 의미한다. 소정의 화상에 대한 상한 및 하한은 그 화상에 선행하는 모든 화상에서 사용된 비트의 수에 의존한다. 예를 들면, 두번째 화상은, U2보다 많이 비트를 포함할 수 없는데, 이는 U2가 두번째 화상이 제거될 때 버퍼에서 이용가능한 비트의 수이기 때문이다, 또한, 두번째 화상은 L2보다 적게 비트를 포함할 수 없는데, 이는 L2 미만의 비트를 제거하면, 그 결과 입력되는 비트들로 버퍼가 오버플로우될 것이기 때문이다. 에러 없이 VBV에 의해 복호화될 수 있는 비트 스트림을 생성하는 것이 부호화기의 기능이다.
일정 비트 레이트 동작의 경우, 버퍼로부터 한 화상을 제거하기 바로 직전의 버퍼 충만도는 [이전 화상을 제거하기 직전의 버퍼 충만도 - 이전 화상의 비트의 수 + 비트 레이트 × 그 화상의 제거와 이전 화상의 제거 사이의 시간량]과 같다. 즉,
buffer_fullness_before_remove_pic =buffer_fullness_before_remove_last_p
ic - bits_in_last_pic + time_between_pic_and_last_pic × bit_rate
한 화상의 비트의 수에 대한 상한은 버퍼로부터 그 화상을 제거하기 직전의 버퍼 충만도와 같다. 그 하한은 0 비트보다 크거나 [버퍼 크기 + 그 화상을 버퍼로부터 제거하기 직전의 버퍼 충만도 - 그 다음 화상이 제거되기 전에 버퍼에 진입할 비트의 수]이다. 소정의 화상을 제거하기 전의 버퍼 충만도는 초기의 버퍼 충만도와, 그 선행하는 모든 화상의 비트의 수에 의존하며, 전술한 규칙을 사용함으로써 계산될 수 있다.
가변 비트 레이트 동작은, 압축된 비트 스트림이 버퍼가 충만되어 더이상 비트가 입력되지 않을 때까지 명시된 최대 비트 레이트로 버퍼에 진입하는 것을 제외하면 전술한 내용과 유사하다. 이는 버퍼에 진입하는 비트 레이트가 명시된 최대 비트 레이트까지 변동될 수 있음을 의미한다. 가변 비트 레이트 동작하의 버퍼 충만도의 일례가 도 8에 도시되어 있다. 버퍼는 버퍼 충만도가 정의상, Bmax의 버퍼 크기를 초과할 수 없는 것을 제외하고는 일정 비트 레이트의 경우와 유사하게 동작한다. 이에 의해, 각각의 화상에 대해 생성된 비트의 수에 대한 상한이 정해지나, 하한이 정해지는 것은 아니다.
가변 비트 레이트 동작의 경우, 버퍼로부터 한 화상을 제거하기 직전의 버퍼 충만도는 버퍼의 크기와 [이전 화상을 제거하기 직전의 버퍼 충만도 - 이전 화상의 비트의 수 + 최대 비트 레이트 × 그 화상의 제거와 이전 화상의 제거 사이의 시간량]중 보다 작은 값과 같다. 즉,
buffer_fullness_before_remove_pic=min(buffer_size,buffer_fullness_before_remove_last_pic - bits_in_last_pic + time_between_pic_and_last_pic × bit_rate)
한 화상의 비트의 수에 대한 상한은 또한, 버퍼로부터 그 화상을 제거하기 직전의 버퍼 충만도와 같다. 언급한 바와 같이, 하한은 없다. 소정의 화상을 제거하기 직전의 버퍼 충만도는 또한 초기의 버퍼 충만도와, 그 선행하는 모든 화상의 비트의 수에 의존하며, 전술한 규칙을 사용함으로써 계산될 수 있다.
b. 부호화기의 바람직한 실시예
도 9는 본 발명의 일실시예의 구성 요소와 그 연결 관계를 도시한다. 화상 부호화기(Picture Coder)(901)는 도 2의 화상 부호화기(205)와 같은 통상의 유형의 것이다. 일정한 화상 부호화 특성(904)은 비트 스트림으로 삽입되며, 전처리기(902)에서 추출, 필터링, 분석되고 추가로 처리된다. 화상 부호화기(903)는, 내장된 비트 레이트 제어 메카니즘을 사용하지 않고 화상 단위로 전처리기(902) 출력(905)에 의해 제어된다는 점을 제외하고는 화상 부호화기(901)와 동일하다.
도 9에서, 디지털 동영상 시퀀스는 우선, 화상 부호화기(901)에 의해 그 전체가 압축된다. 그 화상 부호화기에 내장된 비트 레이트 제어 알고리즘은 일정 비트 레이트 출력을 생성하도록 구성될 것이다. 이러한 비트 레이트 제어 알고리즘의 일례는, 곤잘레스 및 비시토의 미국 특허 제 5,231,484 호에서 찾을 수 있는데, 이는 MPEG에 사용될 수 있는 비트 레이트 제어 메카니즘을 개시하고 있다.
비트 레이트 제어 메카니즘이 동작할 수 있는 초당 비트 수의 실제의 비트 레이트의 일례로서, 하나의 일실시예에서는 화상에 대해 이용가능한 비트의 총 수를 초(second) 단위의 그 지속 시간으로 나눈 것이 사용될 수가 있다. 비트의 총 수는, 부호화기 시스템이 사용되는 애플리케이션으로부터 주어진 값이고, 예컨대 디지털 저장 장치에 대해 허용가능한 파일 크기이거나, 또는 그 화상에 할당된 DVD의 총 용량의 그 일부분일 수 있다.
전형적으로, MPEG 부호화에 있어, 한 화상은 화상 전역 양자화 스케일(picture-global quantization scale)을 설정함으로써 부호화되며, 이 화상에 대한 일정한 수의 비트를 생성할 것이다. 하나의 실시예에서, 이들 두개의 화상 속성, 양자화 스케일과 생성된 비트의 수는 비트 생성 모델을 결정할 것이다. 이러한 비트 생성 모델의 일례는
bits_produced×quantization_scale = constant
여기서, constant는 각각의 화상에 대해 상이하며, 실제의 생성된 비트의 수와, 화상 부호화기(901)의 구동 중에 설정되었던 특정한 양자화 스케일 값을 곱함으로써 계산될 수 있다.
양자화 스케일과 매 화상 당 생성된 비트의 수 뿐만 아니라, 매 화상 당 이용가능한 다른 데이터 항목이 화상 부호화기(901)의 구동 중에 수집될 수 있다. 그 예로는, 화상 유형, 인트라 부호화 매크로블럭의 수, 공간 활동도(spatial activity)가 있다. 이러한 그리고 다른 전형적인 화상 부호화 특성이 압축 특성 분석에 사용하기 위해 수집될 수 있음을 이해할 것이다.
일실시예에서, 화상의 공간 활동도는 매크로블럭 공간 활동도의 평균치이다. 각각의 매크로블럭에 대해, 먼저 평균 화소 휘도 값이 계산된다. 다음에, 각각의 화소 값과 이 평균값 간의 절대차를 누산하고 평균을 구한다. 이는 각각의 매크로블럭에 대한 절대값의 표준 편차를 생성한다. 그 화상의 모든 매크로블럭에 대한 평균값은 다음에, 그 화상 공간 활동도로서 사용된다.
MPEG-2의 화상이 디스플레이 순서와 상이한 순서로 부호화되기 때문에, 처리 목적상, 그 화상 데이터는 먼저, 화상 디스플레이 시간 시퀀스로 재순서화될 수가 있다.
장면 변화는, 수집된 화상 부호화 특성을 디스플레이 시간 시퀀스로 사용하면, 검출된다. 바람직한 실시예에서, 연속하는 화상들의 공간 활동도 간의 절대차의 단순 임계값이 취해질 수 있다. 당업자는 아마도 측정된 다른 화상 및 시퀀스 특성을 기초로 장면 변화 검출을 위한 유사한 방법을 고안할 수 있다.
통상의 장면으로부터 완전 공백 장면으로 어두어지거나("페이드아웃") 가능한 상이한 장면으로 다시 밝아지는 것("페이드인")도 또한 검출된다. 다른 바람직한 실시예에서, 먼저 공백 화상들은, 0에 가까운 매우 낮은 화상 공간 활동도를 탐색함으로써 검출된다. 그 때 이후에는 계속 ― 이는 시간상 순방향 및 역방향을 의미함 ― 화상은, 그 공간 활동도가 더이상 증가하지 않고 상당히 일정한 안정된 수준으로 안정화된 때 그 페이드(fade)의 일부라고 더이상 간주되지 않는다. 한 페이드가 두개의 장면 간의 천이이기 때문에, 장면 변화는 페이드아웃과 페이드인 간의 검출된 공백 화상 영역내에 삽입된다. 그러한 상황은 공백 영역이 단지 페이드아웃 다음에 올 뿐 페이드인 다음에 오지 않은 경우 또는 공백 영역이 페이드아웃 다음에 오지 않고 단지 페이드인 다음에 이어지는 경우에 일어날 수도 있음을 이해할 것이다. 이들 상황에서, 장면 변화는 또한, 공백 영역에 삽입된다.
검출된 장면 변화와 삽입된 페이드내 장면 변화는 다음에 GOP 위치의 개시부(start-of GOP-locations)와 결합되어 그 화상 시퀀스를 많은 매우 짧은 시퀀스(예컨대, 15 화상의 길이)로 세분하도록 한다. GOP의 명시된 개념을 갖지 않는 압축 방법을 위해, 이것이 단지 시퀀스의 많은 작은 화상 세그먼트로의 세분의 목적으로 도입될 수 있음을 이해할 것이다. 바람직한 실시예에서, 그 세분 방법은 세분 경계로서 장면 변화 위치를 항상 사용하고, 소정의 최소 크기(예컨대, 15개의 화상)보다 작은 세그먼트를 생성하지 못할 때에만 세분 경계로서 단지 GOP 위치의 개시부를 사용하는 것이다. 두 장면 변화(페이드에서 검출되거나 삽입된)가 서로서로 근접하여 그 최소 크기보다 작은 세그먼트가 생성되면, 그 장면 변화 경계는 여전히 사용될 것이며, 화상의 최소 수 보다 작은 세그먼트가 생성된다.
수집된 화상 압축 특성은 다음에, 그 세분된 시퀀스에 기초하여 필터링될 것이다. 보다 구체적으로는, 양자화 스케일은, 세그먼트에 걸쳐 그 세그먼트에 대해 이용가능한 비트의 수를 배분하여 그 세그먼트내의 모든 화상에 대해 양자화 스케일이 동일하도록 계산될 것이다. 전형적으로, 한 세그먼트에 대해 이용가능한 비트의 총 수는 [세그먼트내의 화상의 총 수 N × 하나의 화상에 대한 이용가능한 비트의 평균 수 Ba] 이다. Ba는 다시, 전체 영상 시퀀스에 대한 이용가능한 비트의 총 수와 그 시퀀스내의 화상의 수의 비로 계산된다. 양자화 스케일을 세그먼트내 이용가능한 비트의 수와 관련시키기 위해서는, 전술한 바와 같은 비트 생성 모델이 사용됨을 이해할 것이다.
이 시점에서, 화상 부호화기(901)는 전체 영상 시퀀스 동안 실행되어 왔고, 여러 화상 부호화 특성이 수집되어 왔다. 더욱이, 수집된 화상 단위의 양자화 스케일은 여러 장면 변화 위치와 적절하게 정렬되어 있는 많은 작은 세그먼트로 그 시퀀스를 세분하는 방법을 사용함으써 필터링되어 왔다.
본 발명의 다음 목적은 전체 영상 시퀀스를 다시 부호화하되, 이제는 화상 부호화기(903)를 통해서 부호화가 이루어지는 것이다. 이러한 화상 부호화기(903)는, 화상 부호화기(901)내 내장된 비트 레이트 제어 메카니즘을 사용하지 않는다는 점을 제외하고는 화상 부호화기(901)와 동일하다. 따라서, 영상 데이터에 대한 이러한 다음 제 2 패스에서, 양자화 스케일은 그 내장된 비트 레이트 제어 메카니즘에 의해서가 아니라, 매 화상 당 사전계산된 양자화 스케일 값의 외부 제어하에서 설정되는 것이다. 이들 사전설정된 화상 양자화 스케일 값은 두개의 상당히 상이한 유형의 비트 스트림을 생성하기 위해 계산될 수 있는데, 그중 하나는 일정 비트 레이트를 위한 것이고, 나머지 방법은 단지 일정한 최대 비트 레이트를 이용하여 가변 비트 레이트를 생성한다. 일정 비트 레이트는 VBV 버퍼의 상위 경계와 하위 경계를 모두 준수해야 하는 반면, 가변 비트 레이트는 단지 VBV 버퍼의 하위 경계만을 준수할 필요가 있을 뿐이다.
화상 부호화기(903)을 통해 전체 영상 시퀀스를 실행시킬 때 일정 비트 레이트의 비트스트림을 생성하도록 양자화 스케일을 계산하기 위해, 그 문제는 제약된 2차 프로그래밍 문제(constrained quadratic programming problem)로서 공식화된다. 그 제약은 초과될 수 없는 버퍼 경계이며, 한편 최소화 기준은 두 인접 화상의 상호 양자화 스케일 간의 차의 합이다. 이러한 점에 있어서, 그 (상호) 양자화가 인접하고 있으나, 버퍼 경계의 제약을 고수하는 것은 부호화 순서로 이루어짐을 고려해야만 한다. 따라서, 소정의 재순서화 장부(re-ordering bookkeeping)는, 그 문제를 이러한 "제약된 최소 제곱" 문제로서 공식화할 때 준수되어야 한다. 여러 수학적 방법이 이들 유형의 문제를 풀기 위해 잘 알려져 있다. 일실시예에서, 최적화 방법은 전술한 바와 같이 화상의 보다 짧은 세그먼트의 각각에 적용될 수 있지만, 또다른 바람직한 실시예는 오로지 장면 변화 위치만을 사용하여 그 전체 영상 시퀀스를 보다 작은 세그먼트로 세분한다. 당업자라면 그 시퀀스를 보다 작은 시간-세그먼트로 세분하는 다른 방법을 발견할 수 있을 것이라 이해된다. 이러한 공식화된 최적화 문제의 해결 방안은 전체 시퀀스내의 각각의 화상에 대한 한 양자화 스케일을 생성할 것이며, 한편 하위 및 상위의 버퍼 경계는 이들 양자화 스케일을 사용함으로써 위반되지 않을 것이다.
화상 부호화기(903)를 통해 그 전체 영상 시퀀스를 실행시키는 때 가변 비트 레이트의 비트스트림을 생성하도록 양자화 스케일을 계산하기 위해, 각각의 화상에 대한 양자화 스케일은 전술한 바와 같이 각각의 보다 작은 시간-세그먼트에 대한 일정한 양자화 스케일을 설정하는 것에 기초하게 된다. 바람직한 실시예에서, 목표 양자화 스케일 설정치 Qt는 측정되고 다음에 필터링된(전술한 바와 같음) 양자화 설정치 Qf에 기초하여 이하의 식과 같다.
Qt = (Qf^0.6)
"^"는 "멱(to the power of)"을 의미한다. 각각의 화상에 대한 비트의 대응하는 목표 수가 다음에, 그 측정된 비트 생성 모델을 통하여 계산된다. 이들 목표 비트 생성의 합은 일반적으로 그 전체 시퀀스에 대한 이용가능한 비트의 총 수에 부가되지 않을 것이기 때문에, 각각의 화상 양자화 스케일 Qt는, 모든 화상에 대해 동일한 소정의 계수(factor)와 승산하여, 이러한 Qt의 승산된 값에 대응하는 목표 비트 생성이 정확히 그 전체 시퀀스에 대한 이용가능한 비트의 총 수에 가산되도록 할 것이다. 또다른 전형적인 실시예에서, 양자화 스케일 값 Qt는
Qt = (c1 + c2 × Qf)
로 계산되는데, 여기서 c1과 c2는, 예컨대 가변 비트 레이트 부호화로 특정한 시각 영상 외양 혹은 화질 분포를 획득하기 위한 실험에 의해 결정될 수 있기 때문에 상수이다. 이들 상수에 대한 값의 일례에서, c1=1.2 와 c2=0.2 이다. 당업자라면 양자화 스케일을 설정하는 다른 식을 정의할 수 있을 것이고, 따라서 이들 실시예가 가변 비트 레이트 비트스트림을 달성하는 각각의 화상에 대한 양자화 스케일의 설정 방법의 단지 일례로서 기능함을 이해할 것이다.
가변 비트 레이트에 대한 하위의 버퍼 경계는, 화상의 보다 작은 시간-세그먼트를 위해 준수되도록 설정된다. 먼저, 목표 양자화 스케일 Qt가, 각각의 화상에 대해 결정된다. 다음에, 각각의 세그먼트에 대해, 그 전체 세그먼트에 대한 최소의 일정 양자화 스케일이 그 버퍼가 단지 언더플로우되지 않도록 계산된다. 짧은 알고리즘은, 다음에 각각의 세그먼트에 대해 이들 두 값을 비교하고, 버퍼 언더플로우가 그 버퍼에 대해 검출되면, 그 최소값이 계산된 값 Qt 대신에 사용될 것이다. 그 경우에서, 이들 세그먼트에 대해 이는 몇몇 비트들을 방출하고, 이들 비트를 모든 다른 세그먼트에 걸쳐 배분할 것이다. 이러한 동작은, 모든 세그먼트가 하위 버퍼 경계를 준수하도록 보장되고, 모든 방출된 비트(all freed-up bits)가 재분배될 때까지 반복된다. 한 세그먼트내의 모든 화상들은 전체 세그먼트에 할당된 것과 동일한(일정) 양자화 스케일을 할당받는다.
가변 비트 레이트 동작에 대한 버퍼 언더플로우 방지 프로시져에 대한 자세한 설명은 도 10에 도시되어 있다. 초기화기(1001)가 셋업되고 그 프로시져에 대한 여러 변수들을 준비한다.
재분배할 비트의 합을 0으로 설정함: Sred = 0.
여전히 비트를 더 수신할 자격이 있는 모든 세그먼트의 목표 비트의 총 합을 0으로 설정함 : Selig = 0.
첫번째 세그먼트 루프 1002:
fk<1인 모든 세그먼트 k에 대해, 대응하는 목표치에 fk를 곱함으로써 그 목표치를 감소시킨다.
이용가능하게 된 비트의 수를 재분배할 비트의 합 Sred에 더한다.
이러한 세그먼트의 승산 계수는 정확히 1로 조절될 것이며, 이는 그 세그먼트가 핸들링되어 왔고 추가의 비트를 수신할 수 없음을 또한 나타낸다.
fk>1인 세그먼트에 대해, 화상 목표치를 목표 비트의 총 합 Selig에 더한다.
fk=1인 세그먼트를 스킵한다.
정지 기준 1003:
Sred = 0 이면, fk<1인 세그먼트가 더 이상 발견되지 않음 : 정지
재분배 승산 계수 계산기 1004:
fred = 1 + (Sred/Selig)
두번째 세그먼트 루프 1005:
fk>1인 세그먼트에 대해, 그 목표치에 fred를 곱한다.
세그먼트 승산 계수 fk를 fred로 나눔으로써 그 계수 fk를 조정한다.
fk = 1인 세그먼트를 스킵한다( 첫번째 세그먼트 루프 1002 후, fk<1인 세그먼트가 더이상 남아 있지 않음)
fred>1 이기 때문에, fk>1에 대한 두번째 세그먼트 루프 1005 후에 fk<1인 몇몇 세그먼트가 남게 될 수 있고, 이에 따라 그 반복적 알고리즘은 첫번째 세그먼트 루프 1002로 복귀한다.
마지막으로, 전체 시퀀스에 대한 이용가능한 비트의 총 수에 매우 가까운 목표 비트 레이트 생성을 보장하기 위해, 제어기는 매 화상당 실제의 비트 생성을 모니터링하고, 이를 목표의 화상 비트 생성과 비교할 것이다. 이들 두 양간의 차이의 형태인 불일치가 축적되고, 장래의 양자화 스케일 설정을 조정하는데 사용될 것이다.
예컨대, 바람직한 실시예에서, 그 조정된 양자화 스케일 Qa는, 목표 양자화 스케일 Qt를 [1 - 상수 c× 축적된 비트 생성 불일치 데이터]로 나눔으로써 계산된다.
Qa = Qt/(1-c×delta)
상수 c는 작은 수이고, 일실시예에서, 이는 VBV 버퍼 크기의 2 배인 상호 값이다. 당업자라면, 비트 생성 불일치 제어를 위한 유사한 방법을 고안할 수 있고, c에 대해 상이한, 가능하다면 가변적인 값을 사용할 수 있다. 따라서, 이러한 바람직한 실시예는 단지 하나의 예로서 제공된 것이지 제한으로서 제공된 것이 아님을 이해해야 할 것이다.
본 발명이 MPEG 부호화에 대해 기술되었지만, 다른 영상 부호화 기술 또는 비영상 데이터에도 사용될 수 있다. 실제로, 임의의 디지털 정보는 부호화 단위로 분할되고, 비트들이 그 부호화 단위에 할당될 수 있다(일정 비트 레이트 혹은 가변 비트 레이트 부호화). 비트 할당에 대해 설명된 기술은 데이터가 영상인지 여부에 관계없이 동작할 것이다. 예컨대, 디지털화된 음성은 하나의 밀리초 프레임(이들 음성 프레임은 비디오 화상과 동일한 역할을 수행할 것임)으로 분할되고 비트들이 각각의 밀리초의 음성(부호화 단위)에 대해 할당될 수 있다.
본 발명이 바람직한 실시예에 의하여 기술되었으므로, 당업자라면 여러 가지 변형 및 개선을 생각할 수 있을 것이다. 따라서, 바람직한 실시예는 예로서 제공된 것이지 제한으로서 제공된 것이 아님을 이해해야 한다. 본 발명의 범주는 첨부된 클레임에 의해 한정된다.
이와 같은 본 발명에 의하면, 화상 등의 디지털 정보의 단위를 부호화하는 시스템 및 기술, 즉 초기 압축 패스 데이터를 분석하고, 그 결과를 사용하여 일정 비트 레이트 혹은 가변 비트 레이트의 제 2 압축 패스를 위한 비트 생성 및 양자화 스케일 목표치를 마련하며, 화상 단위로 실제의 제 2 압축 패스 프로세스를 제어하는 방법이 제공된다.

Claims (7)

  1. 순서화된 부호화 단위의 압축 특성을 분석하는 방법에 있어서,
    영상 소스로부터의 순서화된 모든 부호화 단위에 대해 제 1 압축 패스를 실행시키는 동시에 압축 프로세스 특성 파라메터를 감시하고 선택되고 감시된 압축 파라메터를 상기 순서화된 부호화 단위 내에 부가하여 비트 스트림을 형성하는 단계와,
    다른 처리를 위해 상기 비트 스트림의 부호화 단위로부터 선택되고 감시된 압축 파라메터를 추출하는 단계를
    포함하는 압축 특성 분석 방법.
  2. 삭제
  3. 삭제
  4. 삭제
  5. 순서화된 부호화 단위의 각각의 짧은 세그먼트에 소정 수의 비트를 할당함으로써 가변 비트 레이트의 제 2 패스에 대한 비트 할당 및 양자화 스케일 목표치를 설정하는 방법으로서,
    초기의 값들을 초기화하는 단계와,
    모든 세그먼트에 대해 루핑하여(loop), 하위 버퍼 경계의 언더플로우가 존재하는지를 판정하고, 하위 버퍼 경계가 언더플로우되면, 하위 버퍼 경계가 더이상 언더플로우되지 않도록, 상기 세그먼트내의 각각의 부호화 단위에 대한 비트의 목표 수를 감소시키는 단계와,
    상기 감소된 비트의 양을 축적된 양에 누산하는 단계와,
    상기 축적된 양이 0 이면, 상기 비트 할당을 완료하는 단계와,
    상기 축적된 양이 0이 아니면, 상기 하위 버퍼 경계의 언더플로우가 없었던 세그먼트들에 대해 상기 축적된 비트들을 재분배하는 단계와,
    상기 축적된 양이 0이 될때까지 모든 세그먼트에 대해 리루핑하는(reloop) 단계를 포함하여, 하위 버퍼 경계를 준수하는
    비트 할당 및 양자화 스케일 목표치 설정 방법..
  6. 삭제
  7. 순서화된 부호화 단위의 압축의 비트 생성을 제어하는 방법에 있어서,
    부호화 단위 기반으로 목표 비트 생성 및 연관된 양자화 스케일을 설정하는 단계와,
    축적된 비트 생성 불일치와 스미어링(smearing) 계수를 사용함으로써, 실제 값 내로 상기 목표 양자화 스케일 설정을 조정하는 단계와,
    상기 조정된 양자화 스케일 설정을 이용하여 부호화 단위를 부호화하는 단계와,
    상기 목표 비트 생성과 실제로 생성된 비트의 수 간의 차를 사용하여 상기 축적된 비트 생성 불일치를 갱신하는 단계를 포함하는
    압축 비트 생성 제어 방법.
KR1019990000216A 1998-01-26 1999-01-08 일정 비트 레이트 혹은 가변 비트 레이트를 위한 디지털 동영상 시퀀스 2-패스 부호화 방법 KR100343352B1 (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US09/013,149 US6192154B1 (en) 1998-01-26 1998-01-26 Two-pass encoding method of digital motion video sequences for constant-or variable bit rate
US9/013,149 1998-01-26
US09/013,149 1998-01-26

Publications (2)

Publication Number Publication Date
KR19990067783A KR19990067783A (ko) 1999-08-25
KR100343352B1 true KR100343352B1 (ko) 2002-07-15

Family

ID=21758559

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1019990000216A KR100343352B1 (ko) 1998-01-26 1999-01-08 일정 비트 레이트 혹은 가변 비트 레이트를 위한 디지털 동영상 시퀀스 2-패스 부호화 방법

Country Status (3)

Country Link
US (2) US6192154B1 (ko)
JP (1) JPH11262003A (ko)
KR (1) KR100343352B1 (ko)

Families Citing this family (57)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1234246C (zh) * 1998-09-29 2005-12-28 松下电器产业株式会社 可变比特率编码装置
JP3907875B2 (ja) * 1998-10-23 2007-04-18 パイオニア株式会社 符号化レート制御装置及び情報符号化装置
JP2000305822A (ja) * 1999-04-26 2000-11-02 Denso Corp データベース管理装置,データベースレコード抽出装置,データベース管理方法及びデータベースレコード抽出方法
DE60035740T2 (de) * 1999-06-22 2007-12-06 Victor Company of Japan, Ltd., Yokohama Vorrichtung und Verfahren zur Kodierung von Bewegtbildsignalen
US6556624B1 (en) * 1999-07-27 2003-04-29 At&T Corp. Method and apparatus for accomplishing multiple description coding for video
JP3866538B2 (ja) 2001-06-29 2007-01-10 株式会社東芝 動画像符号化方法及び装置
US9894379B2 (en) * 2001-07-10 2018-02-13 The Directv Group, Inc. System and methodology for video compression
US7075990B2 (en) 2001-08-28 2006-07-11 Sbc Properties, L.P. Method and system to improve the transport of compressed video data in real time
US6970512B2 (en) * 2001-08-28 2005-11-29 Sbc Technology Resources, Inc. Method and system to improve the transport of compressed video data
US6948127B1 (en) * 2001-12-10 2005-09-20 Cisco Technology, Inc. Interface for compressed video data analysis
KR100983832B1 (ko) * 2002-04-26 2010-09-27 소니 주식회사 부호화 장치 및 방법, 그리고 기록 매체
US7277486B2 (en) * 2002-05-03 2007-10-02 Microsoft Corporation Parameterization for fading compensation
US6961376B2 (en) * 2002-06-25 2005-11-01 General Instrument Corporation Methods and apparatus for rate control during dual pass encoding
JP3893344B2 (ja) * 2002-10-03 2007-03-14 松下電器産業株式会社 画像符号化方法および画像符号化装置
US8054880B2 (en) * 2004-12-10 2011-11-08 Tut Systems, Inc. Parallel rate control for digital video encoder with multi-processor architecture and picture-based look-ahead window
US20040143849A1 (en) * 2003-01-16 2004-07-22 Pierre Costa Method and system to create a deterministic traffic profile for isochronous data networks
FR2851111B1 (fr) * 2003-02-10 2005-07-22 Nextream France Dispositif de codage d'un flux de donnees video
US8194751B2 (en) * 2003-02-19 2012-06-05 Panasonic Corporation Moving picture coding method and moving picture decoding method
US20040169888A1 (en) * 2003-02-28 2004-09-02 Eveland Michael J. Method and apparatus for printing on a partially-printed medium
WO2005011255A2 (en) * 2003-06-26 2005-02-03 Thomson Licensing S.A. Multipass video rate control to match sliding window channel constraints
JP4617644B2 (ja) 2003-07-18 2011-01-26 ソニー株式会社 符号化装置及び方法
EP1513350A1 (en) * 2003-09-03 2005-03-09 Thomson Licensing S.A. Process and arrangement for encoding video pictures
US20050111545A1 (en) 2003-11-25 2005-05-26 Ram Prabhakar Dynamic packet size control for MPEG-4 data partition mode
US7530089B1 (en) * 2004-03-29 2009-05-05 Nortel Networks Limited System and method for improving video quality using a constant bit rate data stream
EP1908303A4 (en) 2005-07-01 2011-04-06 Sonic Solutions METHOD, DEVICE AND SYSTEM FOR USE IN MULTIMEDIA SIGNAL CODING
US9479794B2 (en) 2005-11-10 2016-10-25 Freescale Semiconductor, Inc. Resource efficient video processing via prediction error computational adjustments
US8135062B1 (en) * 2006-01-16 2012-03-13 Maxim Integrated Products, Inc. Method and apparatus for QP modulation based on perceptual models for picture encoding
US8160156B2 (en) * 2006-02-01 2012-04-17 Verint Systems, Inc. System and method for controlling the long term generation rate of compressed data
US8705630B2 (en) * 2006-02-10 2014-04-22 Nvidia Corporation Adapting one type of encoder to another type of encoder
US7966361B1 (en) 2006-02-10 2011-06-21 Nvidia Corporation Single-cycle modulus operation
US8077775B2 (en) * 2006-05-12 2011-12-13 Freescale Semiconductor, Inc. System and method of adaptive rate control for a video encoder
US7773672B2 (en) * 2006-05-30 2010-08-10 Freescale Semiconductor, Inc. Scalable rate control system for a video encoder
US9883202B2 (en) * 2006-10-06 2018-01-30 Nxp Usa, Inc. Scaling video processing complexity based on power savings factor
US8396114B2 (en) * 2009-01-29 2013-03-12 Microsoft Corporation Multiple bit rate video encoding using variable bit rate and dynamic resolution for adaptive video streaming
US8311115B2 (en) * 2009-01-29 2012-11-13 Microsoft Corporation Video encoding using previously calculated motion information
FR2945697B1 (fr) * 2009-05-18 2016-06-03 Actimagine Procede et dispositif de compression d'une sequence video
US8270473B2 (en) * 2009-06-12 2012-09-18 Microsoft Corporation Motion based dynamic resolution multiple bit rate video encoding
US8681858B2 (en) * 2009-12-23 2014-03-25 General Instrument Corporation Rate control for two-pass encoder
JP5879555B2 (ja) * 2010-05-10 2016-03-08 パナソニックIpマネジメント株式会社 動画像符号化装置
US8705616B2 (en) 2010-06-11 2014-04-22 Microsoft Corporation Parallel multiple bitrate video encoding to reduce latency and dependences between groups of pictures
WO2013019517A1 (en) 2011-08-02 2013-02-07 Ciinow, Inc. A method and mechanism for efficiently delivering visual data across a network
CN108989847B (zh) 2011-08-30 2021-03-09 帝威视有限公司 用于编码和流处理视频的系统和方法
US9591318B2 (en) 2011-09-16 2017-03-07 Microsoft Technology Licensing, Llc Multi-layer encoding and decoding
US9338482B2 (en) * 2011-11-30 2016-05-10 Mobitv, Inc. Enhanced group of pictures (GOP) alignment in media stream variants
US9094684B2 (en) * 2011-12-19 2015-07-28 Google Technology Holdings LLC Method for dual pass rate control video encoding
US11089343B2 (en) 2012-01-11 2021-08-10 Microsoft Technology Licensing, Llc Capability advertisement, configuration and control for video coding and decoding
WO2013173292A1 (en) 2012-05-14 2013-11-21 Motorola Mobility Llc Scalable video coding with enhanced base layer
US9532080B2 (en) 2012-05-31 2016-12-27 Sonic Ip, Inc. Systems and methods for the reuse of encoding information in encoding alternative streams of video data
US8948529B1 (en) 2012-10-30 2015-02-03 Google Inc. Multi-pass encoding
US9357210B2 (en) * 2013-02-28 2016-05-31 Sonic Ip, Inc. Systems and methods of encoding multiple video streams for adaptive bitrate streaming
KR20180010343A (ko) * 2013-05-24 2018-01-30 쏘닉 아이피, 아이엔씨. 적응적 비트레이트 스트리밍을 위해 적응적 양자화를 갖고 다수의 비디오 스트림들을 인코딩하는 시스템들 및 방법들
US20150172680A1 (en) * 2013-12-16 2015-06-18 Arris Enterprises, Inc. Producing an Output Need Parameter for an Encoder
CA2952823A1 (en) * 2014-06-25 2015-12-30 Arris Enterprises Llc A method for using a decoder or look-ahead encoder to control an adaptive pre-filter
US10356406B2 (en) 2016-01-19 2019-07-16 Google Llc Real-time video encoder rate control using dynamic resolution switching
US10148989B2 (en) 2016-06-15 2018-12-04 Divx, Llc Systems and methods for encoding video content
CN109413427B (zh) * 2017-08-17 2022-04-08 腾讯科技(深圳)有限公司 一种视频帧编码方法及终端
CN113469200A (zh) 2020-03-30 2021-10-01 阿里巴巴集团控股有限公司 数据处理方法和系统、存储介质、计算设备

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0514663A3 (en) * 1991-05-24 1993-07-14 International Business Machines Corporation An apparatus and method for motion video encoding employing an adaptive quantizer
US5231484A (en) * 1991-11-08 1993-07-27 International Business Machines Corporation Motion video compression system with adaptive bit allocation and quantization
US5164993A (en) * 1991-11-25 1992-11-17 Eastman Kodak Company Method and apparatus for automatic tonescale generation in digital radiographic images
US5650860A (en) * 1995-12-26 1997-07-22 C-Cube Microsystems, Inc. Adaptive quantization
US6040861A (en) * 1997-10-10 2000-03-21 International Business Machines Corporation Adaptive real-time encoding of video sequence employing image statistics
US5978029A (en) * 1997-10-10 1999-11-02 International Business Machines Corporation Real-time encoding of video sequence employing two encoders and statistical analysis
US6181742B1 (en) * 1998-01-26 2001-01-30 International Business Machines Corporation Single pass target allocation for video encoding

Also Published As

Publication number Publication date
US6614935B2 (en) 2003-09-02
JPH11262003A (ja) 1999-09-24
US20020044603A1 (en) 2002-04-18
KR19990067783A (ko) 1999-08-25
US6192154B1 (en) 2001-02-20

Similar Documents

Publication Publication Date Title
KR100343352B1 (ko) 일정 비트 레이트 혹은 가변 비트 레이트를 위한 디지털 동영상 시퀀스 2-패스 부호화 방법
US6181742B1 (en) Single pass target allocation for video encoding
US5719632A (en) Motion video compression system with buffer empty/fill look-ahead bit allocation
US6522693B1 (en) System and method for reencoding segments of buffer constrained video streams
US6008848A (en) Video compression using multiple computing agents
EP0540961B1 (en) A motion video compression method and system with adaptive bit allocation and quantization
KR100253931B1 (ko) 디지탈 영상 시퀀스의 디코딩 방법 및 장치
EP0660612B1 (en) Image encoding apparatus
KR100756596B1 (ko) 비디오 데이터 부호화 장치 및 비디오 데이터 부호화 방법
KR100329892B1 (ko) 다수의 비디오 프레임 스트림 처리 방법 및 그 장치
US6301428B1 (en) Compressed video editor with transition buffer matcher
US7042941B1 (en) Method and apparatus for controlling amount of quantization processing in an encoder
EP1869895B1 (en) Scene-by-scene digital video processing
EP1445958A1 (en) Quantization method and system, for instance for video MPEG applications, and computer program product therefor
JPH11346362A (ja) リアルタイム単一パス可変ビット・レ―ト制御方法及び符号器
US8948242B2 (en) Encoding device and method and multimedia apparatus including the encoding device
JP4706104B2 (ja) 画像符号化装置及びその方法
US5668598A (en) Motion video compression system with guaranteed bit production limits
US5757967A (en) Digital video decoder and deinterlacer, format/frame rate converter with common memory
JP3463291B2 (ja) 圧縮ディジタル・ビデオ・シーケンスをデコードし表示する方法および装置
US6226326B1 (en) Coding device and coding method
US20050010626A1 (en) Selectable quantization in an encoder
US20030174771A1 (en) Method, apparatus, and program for variable bit rate encoding
US6940902B2 (en) Code quantity assignment device and method
JPH1066067A (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: 20060522

Year of fee payment: 5

LAPS Lapse due to unpaid annual fee