KR100343352B1 - 일정 비트 레이트 혹은 가변 비트 레이트를 위한 디지털 동영상 시퀀스 2-패스 부호화 방법 - Google Patents
일정 비트 레이트 혹은 가변 비트 레이트를 위한 디지털 동영상 시퀀스 2-패스 부호화 방법 Download PDFInfo
- 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
Links
- 238000000034 method Methods 0.000 title claims abstract description 36
- 239000000872 buffer Substances 0.000 claims abstract description 78
- 238000013139 quantization Methods 0.000 claims abstract description 52
- 238000007906 compression Methods 0.000 claims abstract description 37
- 230000006835 compression Effects 0.000 claims abstract description 36
- 238000012545 processing Methods 0.000 claims description 5
- 238000012544 monitoring process Methods 0.000 claims description 2
- 238000012512 characterization method Methods 0.000 claims 1
- 230000007246 mechanism Effects 0.000 abstract description 11
- 230000008859 change Effects 0.000 description 12
- 230000005540 biological transmission Effects 0.000 description 11
- 230000000694 effects Effects 0.000 description 7
- 238000010586 diagram Methods 0.000 description 4
- 102100037812 Medium-wave-sensitive opsin 1 Human genes 0.000 description 2
- 230000003139 buffering effect Effects 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 238000005457 optimization Methods 0.000 description 2
- 230000008569 process Effects 0.000 description 2
- 230000000750 progressive effect Effects 0.000 description 2
- 230000002441 reversible effect Effects 0.000 description 2
- 230000011218 segmentation Effects 0.000 description 2
- 230000005236 sound signal Effects 0.000 description 2
- 239000013598 vector Substances 0.000 description 2
- 230000000007 visual effect Effects 0.000 description 2
- 230000003044 adaptive effect Effects 0.000 description 1
- 230000002457 bidirectional effect Effects 0.000 description 1
- 238000011217 control strategy Methods 0.000 description 1
- 238000012937 correction Methods 0.000 description 1
- 238000013144 data compression Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000018109 developmental process Effects 0.000 description 1
- 238000002474 experimental method Methods 0.000 description 1
- 239000003999 initiator Substances 0.000 description 1
- 230000002452 interceptive effect Effects 0.000 description 1
- 230000000873 masking effect Effects 0.000 description 1
- 238000012067 mathematical method Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000008520 organization Effects 0.000 description 1
- 230000002265 prevention Effects 0.000 description 1
- 230000002123 temporal effect Effects 0.000 description 1
- 238000012360 testing method Methods 0.000 description 1
- 230000007704 transition Effects 0.000 description 1
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/20—Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
- H04N21/23—Processing of content or additional data; Elementary server operations; Server middleware
- H04N21/236—Assembling of a multiplex stream, e.g. transport stream, by combining a video stream with other content or additional data, e.g. inserting a URL [Uniform Resource Locator] into a video stream, multiplexing software data into a video stream; Remultiplexing of multiplex streams; Insertion of stuffing bits into the multiplex stream, e.g. to obtain a constant bit-rate; Assembling of a packetised elementary stream
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/85—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using pre-processing or post-processing specially adapted for video compression
- H04N19/87—Methods 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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/102—Methods 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/115—Selection of the code volume for a coding unit prior to coding
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/102—Methods 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/124—Quantisation
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/134—Methods 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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/134—Methods 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/136—Incoming video signal characteristics or properties
- H04N19/14—Coding unit complexity, e.g. amount of activity or edge presence estimation
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/134—Methods 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/142—Detection of scene cut or scene change
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/134—Methods 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/146—Data rate or code amount at the encoder output
- H04N19/15—Data rate or code amount at the encoder output by monitoring actual compressed data size at the memory before deciding storage at the transmission buffer
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/169—Methods 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/17—Methods 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/172—Methods 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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/169—Methods 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/17—Methods 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/176—Methods 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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/169—Methods 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/177—Methods 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]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/169—Methods 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/179—Methods 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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/169—Methods 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/182—Methods 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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/189—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the adaptation method, adaptation tool or adaptation type used for the adaptive coding
- H04N19/192—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the adaptation method, adaptation tool or adaptation type used for the adaptive coding the adaptation method, adaptation tool or adaptation type being iterative or recursive
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/60—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding
- H04N19/61—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding in combination with predictive coding
Abstract
화상 등의 디지털 정보의 단위를 부호화하는 시스템 및 방법이 제공된다. 본 발명에 의하면, 모든 데이터는 먼저, 부호화기에 내장된 비트 레이트 제어 메카니즘에 의해, 모든 데이터에 대한 압축 패스를 실행시킴으로써 분석된다. 양자화 스케일 설정 및 생성된 비트 등의 화상 속성들을, 그 결과로 생긴 비트스트림으로부터 추출하고, 이를 분석함으로써, 개별 단위(화상) 양자화 스케일 및 비트 할당 설정을, 일정 비트 레이트 혹은 가변 비트 레이트 중의 어느 하나에 대한 다음 패스를 위해 마련하고, 이를 통해 버퍼 경계를 준수한다. 동일한 데이터에 대한 제 2 압축 패스에서, 일정 비트 레이트 혹은 가변 비트 레이트의 압축 비트스트림이 생성되지만, 이 때에는 그 내장된 비트 레이트 제어 메카니즘을 사용하지 않고, 그 대신에 마련한 화상 비트 할당 및 양자화 스케일 설정을 사용한다. 게다가, 소정 메카니즘은 전체 비트 생성 정확도를 감시할 것이다.
Description
본 발명은 데이터 압축 분야에 관한 것으로, 특히 디지털 동영상 신호를 압축하는 시스템 및 방법에 관한 것이다.
디지털 전송 네트워크와, 디지털 저장 매체와, 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 압축 패스를 실행시키는 동시에 압축 프로세스 특성 파라메터를 감시하고 선택되고 감시된 압축 파라메터를 상기 순서화된 부호화 단위 내에 부가하여 비트 스트림을 형성하는 단계와,다른 처리를 위해 상기 비트 스트림의 부호화 단위로부터 선택되고 감시된 압축 파라메터를 추출하는 단계를포함하는 압축 특성 분석 방법.
- 삭제
- 삭제
- 삭제
- 순서화된 부호화 단위의 각각의 짧은 세그먼트에 소정 수의 비트를 할당함으로써 가변 비트 레이트의 제 2 패스에 대한 비트 할당 및 양자화 스케일 목표치를 설정하는 방법으로서,초기의 값들을 초기화하는 단계와,모든 세그먼트에 대해 루핑하여(loop), 하위 버퍼 경계의 언더플로우가 존재하는지를 판정하고, 하위 버퍼 경계가 언더플로우되면, 하위 버퍼 경계가 더이상 언더플로우되지 않도록, 상기 세그먼트내의 각각의 부호화 단위에 대한 비트의 목표 수를 감소시키는 단계와,상기 감소된 비트의 양을 축적된 양에 누산하는 단계와,상기 축적된 양이 0 이면, 상기 비트 할당을 완료하는 단계와,상기 축적된 양이 0이 아니면, 상기 하위 버퍼 경계의 언더플로우가 없었던 세그먼트들에 대해 상기 축적된 비트들을 재분배하는 단계와,상기 축적된 양이 0이 될때까지 모든 세그먼트에 대해 리루핑하는(reloop) 단계를 포함하여, 하위 버퍼 경계를 준수하는비트 할당 및 양자화 스케일 목표치 설정 방법..
- 삭제
- 순서화된 부호화 단위의 압축의 비트 생성을 제어하는 방법에 있어서,부호화 단위 기반으로 목표 비트 생성 및 연관된 양자화 스케일을 설정하는 단계와,축적된 비트 생성 불일치와 스미어링(smearing) 계수를 사용함으로써, 실제 값 내로 상기 목표 양자화 스케일 설정을 조정하는 단계와,상기 조정된 양자화 스케일 설정을 이용하여 부호화 단위를 부호화하는 단계와,상기 목표 비트 생성과 실제로 생성된 비트의 수 간의 차를 사용하여 상기 축적된 비트 생성 불일치를 갱신하는 단계를 포함하는압축 비트 생성 제어 방법.
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)
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)
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 |
-
1998
- 1998-01-26 US US09/013,149 patent/US6192154B1/en not_active Expired - Lifetime
-
1999
- 1999-01-08 KR KR1019990000216A patent/KR100343352B1/ko not_active IP Right Cessation
- 1999-01-13 JP JP11006060A patent/JPH11262003A/ja active Pending
-
2000
- 2000-09-20 US US09/666,667 patent/US6614935B2/en not_active Expired - Fee Related
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 |