KR100305941B1 - 실시간 단일 패스 가변 비트 레이트 제어 방법 및 그 인코더 - Google Patents

실시간 단일 패스 가변 비트 레이트 제어 방법 및 그 인코더 Download PDF

Info

Publication number
KR100305941B1
KR100305941B1 KR1019990005614A KR19990005614A KR100305941B1 KR 100305941 B1 KR100305941 B1 KR 100305941B1 KR 1019990005614 A KR1019990005614 A KR 1019990005614A KR 19990005614 A KR19990005614 A KR 19990005614A KR 100305941 B1 KR100305941 B1 KR 100305941B1
Authority
KR
South Korea
Prior art keywords
frame group
bit rate
encoding
bits
determining
Prior art date
Application number
KR1019990005614A
Other languages
English (en)
Other versions
KR19990077445A (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 KR19990077445A publication Critical patent/KR19990077445A/ko
Application granted granted Critical
Publication of KR100305941B1 publication Critical patent/KR100305941B1/ko

Links

Classifications

    • 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/80Details of filtering operations specially adapted for video compression, e.g. for pixel interpolation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/115Selection of the code volume for a coding unit prior to coding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/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/146Data rate or code amount at the encoder output
    • H04N19/152Data rate or code amount at the encoder output by measuring the fullness of the transmission buffer
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/17Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object
    • H04N19/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/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/503Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
    • H04N19/51Motion estimation or motion compensation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/60Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/60Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding
    • H04N19/61Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding in combination with predictive coding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/146Data rate or code amount at the encoder output
    • H04N19/149Data rate or code amount at the encoder output by estimating the code amount by means of a model, e.g. mathematical model or statistical model
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/146Data rate or code amount at the encoder output
    • H04N19/15Data rate or code amount at the encoder output by monitoring actual compressed data size at the memory before deciding storage at the transmission buffer

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)
  • Television Signal Processing For Recording (AREA)

Abstract

본 발명은 비디오 압축 시스템 내에서 가변 비트 레이트(variable bit rate: VBR) MPEG-2 인코딩을 수행하기 위해 제공된 실시간 단일 패스 가변 비트 레이트 제어 방법에 관한 것이다. 프레임 시퀀스에 대하여, 비디오 간격(즉, 화상 그룹(a group of picture: GOP))의 인코딩 난이도 수준은 인지 레이트 양자화모델에 의해 결정된다. 이 모델은 각 비디오 간격에 복합(composite)곡선을 할당하고, 이 복합

Description

실시간 단일 패스 가변 비트 레이트 제어 방법 및 그 인코더{A REAL-TIME SINGLE PASS VARIABLE BIT RATE CONTROL STRATEGY AND ENCODER}
본 발명은 전반적으로 디지탈 비디오 압축 분야에 관한 것으로, 특히 MPEG-2 국제 표준을 채택한 비디오 압축 시스템 내에서의 실시간 단일 패스 가변 비트 레이트 인코딩에 적합한 레이트 제어 기법에 관한 것이다.
방송 텔레비젼, 통신 네트워크, 소비자 전자 공학(consumer electronics), 멀티미디어 컴퓨터 등의 산업에서 다양한 비디오 기법들의 출현이 놀라운 속도로 증가하고 있다. 정보를 디지탈 형태로 신호 처리, 편집, 데이터 전송하는 것이 정보를 아날로그 형태로 신호 처리, 편집, 데이터 전송하는 것에 비해 훨씬 용이하다는 사실 때문에 이러한 애플리케이션이 폭넓게 사용된다. 그러나 디지탈 비디오가 대중성을 얻게 된 중요한 이유는 최근에 디지탈 비디오 압축용으로 만들어진 몇 개의 표준에 힘 입은 바 크다.
디지탈 비디오 압축 해법들은 틀림 없이 모든 디지탈 비디오 분야에서 가장 중요한 구성 요소이다. 디지탈 비디오는 압축되지 않은 포맷의 많은 양의 정보를 함유하는 것으로 알려져 있으므로, 디지탈 비디오를 조작하고 저장하며 전송하는 것이 비록 불가능하지는 않더라도 많은 시간과 비용을 필요로 하게 될 것이다. 결과적으로 데이터의 과도한 부피를 줄이면서 그 내용의 인지 화질을 유지하기 위해서는 디지탈 비디오 압축 기법이 필요하다. 그 다음 호환성 있는 비디오 압축 해제 방안을 사용하여 데이터를 재생(playback)용으로 압축 해제한다.
ISO/IEC 13818-2 'Information technology - Generic coding of moving pictures and associated audio information: Video, 1996'에 기술된 MPEG(Moving Pictures and Expert Group)에 의한 MPEG-2 국제 표준은 전술한 산업 분야의 압축 필요성을 충족시키기 위한 것으로, 본 명세서에서 전체적으로 참조로서 인용된다. 이 표준은 인코딩된 스트림의 신택스(syntax)와 디코딩 기법을 상세히 기술한다. 이 표준은 인코더 설계자에게 많은 융통성을 부여함으로써, 인코더 설계자로 하여금 자기 자신만의 압축 파라미터 세트를 유도하게 하고, 그에 따라 자신의 제품을 다른 제조업자에 의해 개발된 나머지 인코더들과 구별할 수 있게 한다.
MPEG-2 인코딩 시스템의 효율은 고정된 통신 대역폭을 통해 전송되거나 디지탈 매체 내에 저장된 인지된 비디오의 충실도(fidelity)에 의해 평가된다. 디지탈 위성 시스템과 같은 몇몇 애플리케이션에서는, 다수의 프로램들이 하나의 큰 방송용 스트림으로 멀티플렉스되고, 수신된 모든 채널의 화질을 유지하면서도 모든 프로그램을 모니터링하고 인코딩하는 데 일련의 MPEG-2 인코더들이 사용된다. MPEG-2 스트림은 비동기 전송 모드(asynchronous transfer mode: ATM) 네트워크와 같은 변동 대역폭 또는 고정 통신 대역폭을 통해 송신된다. 저장 매체의 용량이 한정된 가정용 비디오 또는 PC 애플리케이션에서 사용자는 가능한한 많은 정보를 축적하길 원하므로, 이런 경우 효율적인 인코더가 확실히 유리하게 된다.
개발된 대부분의 MPEG-2 인코더는 비디오 스트림의 평균 레이트가 처음부터 끝까지 거의 같은 일정 비트 레이트(constant bit rate: CBR) 모드로 수행된다. 비디오 스트림은 아이(I), 비(B), 피(P) 화상 유형과 같은 다양한 유형으로 된 다수의 화상 또는 프레임으로 이루어진다. 화상은 그 유형에 따라 비디오 스트림의 일정한 타겟 레이트보다 많거나 또는 적은 비트를 사용할 수 있다. CBR 레이트 제어 방법은 스트림 내의 상이한 화상 유형들 사이의 비트율을 관리함으로써 원하는 평균 비트 레이트를 만족시키고 고화질 비디오 시퀀스가 디스플레이되도록 할 책임을 진다.
다른 MPEG-2 인코더를 비롯한 다른 인코더들은 가변 비트 레이트(variablebit rate: VBR) 모드로 규정된 상이한 모드로서 수행된다. 가변 비트 레이트 인코딩은 각각의 압축된 화상으로 하여금 인트라(intra) 및 인터(inter) 화상 특성의 복잡도에 기초하여 상이한 양의 비트를 갖게 한다. 예를 들어, 동일한 화질을 얻는 데 있어 (색상 테스트 패턴과 같은) 단순한 화상 내용을 갖는 장면은 (혼잡한 도시 거리와 같은) 복잡한 화상 내용을 갖는 장면에 비해 매우 적은 양의 비트 만으로도 인코딩할 수 있을 것이다.
비디오를 나타내기 위해 필요한 정보량과 인코딩 공정을 효과적으로 개선시키기 위한 정보를 해석하는 데 필요한 알고리즘의 복잡도로 인하여 VBR 인코딩은 통상적으로 두 개 이상의 패스를 사용하여 비실시간(non-real time)으로 수행된다. 제 1 패스에서 인코딩이 수행되고 통계 자료가 모아져 분석되며, 제 2 패스에서 상기 분석 결과를 사용하여 인코딩 공정을 제어한다. 비록 이러한 공정에 의해 고화질의 압축된 비디오 스트림이 생성된다 하더라도, 실시간(real-time)으로 동작되지도 않고 단일 패스 인코딩이 이루어지지도 않는다.
그러므로, 고화질 비디오를 제공하는 실시간 단일 패스 가변 비트 레이트 인코딩 방안의 필요성이 제기된다. 또한 하드웨어 내에서 용이하게 구현될 수 있는 실시간 단일 패스 가변 비트 레이트 인코딩 기법도 필요하다.
본 발명의 목적은 종래 기술의 결점을 극복하고 추가적인 장점을 제공하기 위해 프레임 그룹을 처리하는 방법을 제공하는 것이다. 상기 방법은 예를 들어 입력 스트림의 적어도 한 프레임 그룹을 인코딩하는 인코딩 단계와, 전체 입력 스트림을 인코딩하기 전에 입력 스트림의 또다른 프레임 그룹에 할당될 다수의 비트를 결정하는 결정 단계를 포함한다. 또다른 프레임 그룹은 가변 비트 레이트 모드로 인코딩될 것이다. 상기 결정 단계는 인코딩 단계에서 얻은 하나 이상의 파라미터값을 사용한다.
본 발명의 또다른 실시예에서, 상기 방법은 또다른 프레임 그룹을 단일 패스 가변 비트 레이트 모드로 인코딩 ― 또다른 프레임 그룹은 오직 하나의 인코딩 패스로 인코딩됨 ― 하는 또다른 프레임 그룹 인코딩 단계를 포함한다.
본 발명의 또다른 실시예에서, 상기 결정 단계는 또다른 프레임 그룹에 대하여 이전 규정된 인지 함수의 기울기를 변조하는 변조 단계와, 비트 레이트 수식 내에 변조된 기울기를 사용하여 할당될 비트 수를 결정하는 변조된 기울기 사용 단계를 포함한다.
본 발명의 또다른 실시예에서, 상기 결정 단계는 또다른 프레임 그룹에 대하여 이전 규정된 인지 함수에 대한 전사 인자(translation factor)를 결정하는 전사 인자 결정 단계와, 비트 레이트 수식 내에 전사 인자를 사용하여 비트 수를 결정하는 전사 인자 사용 단계를 포함한다.
본 발명의 또다른 실시예에서, 상기 결정 단계는 입력 스트림의 하나 이상의 불안정성 조건을 보상하는 보상 단계를 포함하고, 본 발명의 또다른 실시예에서, 상기 결정 단계는 이전 규정된 함수를 사용하여 비트 수를 결정하는 단계를 포함한다.
본 발명의 또다른 측면에서, 프레임 그룹을 처리 하는 방법이 제공된다. 상기 방법은 예를 들어 하나 이상의 이전 인코딩된 프레임 그룹에서 다수의 파라미터 값을 결정하는 결정 단계와, 단일 패스 가변 비트 레이트 모드로 인코딩될 프레임 그룹에 대하여 다수의 파라미터 값 중의 하나 이상의 파라미터 값을 사용하여 이전 규정된 함수의 기울기를 계산하는 계산 단계와, 인코딩될 프레임 그룹에 대한 비트 레이트를 다수의 파라미터 값 중의 하나 이상의 파라미터 값과 계산된 기울기를 사용하여 생성하는 생성 단계를 포함한다.
본 발명의 또다른 측면에서, 프레임 그룹을 처리하는 방법이 제공된다. 상기 방법은 예를 들어 입력 스트림의 한 프레임 그룹에 할당될 비트 수를 결정하는 결정 단계를 포함한다. 상기 결정 단계는 프레임 그룹의 복잡도를 나타내는 인지 모델과 프레임 그룹의 즉각적인 레이트 양자화 성향을 이용한다. 상기 방법은 상기 결정 단계에 의해 규정된 레이트로 가변 비트 레이트 모드를 사용하여 상기 프레임 그룹을 인코딩하는 인코딩 단계를 추가로 포함한다.
본 발명의 또다른 측면에서, 단일 패스 가변 비트 레이트 인코더가 제공된다. 상기 인코더는 예를 들어 입력 스트림의 적어도 한 프레임 그룹을 인코딩하기에 적합한 인코딩 엔진과, 입력 스트림 전체를 인코딩하기 전에 입력 스트림의 또다른 프레임 그룹에 할당될 다수의 비트를 결정하는 결정 수단을 포함한다. 상기 또다른 프레임 그룹은 가변 비트 레이트 모드로 인코딩될 것이다. 상기 결정 수단은 상기 인코딩 엔진에서 생성된 하나 이상의 파라미터값을 사용한다.
본 발명의 또다른 측면에서, 단일 패스 가변 비트 레이트 인코더가 제공된다. 상기 인코더는 예를 들어 하나 이상의 이전 인코딩된 프레임 그룹에 대한 다수의 파라미터 값을 결정하는 결정 수단과, 단일 패스 가변 비트 레이트 모드로 인코딩될 프레임 그룹에 대하여 상기 다수의 파라미터 값 중의 하나 이상의 파라미터 값을 사용하여 이전 규정된 함수의 기울기를 계산하는 계산 수단과, 인코딩될 상기 프레임 그룹에 대한 비트 레이트를 상기 다수의 파라미터 값 중의 하나 이상의 파라미터 값과 상기 계산된 기울기를 사용하여 생성하는 생성 수단을 포함한다.
본 발명의 또다른 실시예에서 단일 패스 가변 비트 레이트 인코더가 제공된다. 상기 인코더는 예를 들어 상기 프레임 그룹의 복잡도를 나타내는 인지 모델과 상기 프레임 그룹의 즉각적인 레이트 양자화 성향을 이용하여 입력 스트림의 한 프레임 그룹에 할당될 비트 수를 결정하는 결정 수단과, 상기 결정 수단에 의해 규정된 레이트로 가변 비트 레이트 모드를 사용하여 상기 프레임 그룹을 인코딩하는 인코딩 엔진을 포함한다.
본 발명은 디지탈 비디오 디스크(DVD), 디지탈 비디오 카세트 리코더(DVCR), 컴퓨터 멀티미디어, 디지탈 캠코더에 대한 가정(in-home) 제품과 같이 비디오를 이전 분석하거나 이전 인코딩할 수 없는 애플리케이션에 특히 유용하다. 단일 패스 VBR 인코더는 인코딩될 화상의 복잡도를 가정하기 위해 이전 인코딩된 화상만을 사용한다. 이러한 인코더는 하이엔드 DVD 마스터링(high-end DVD mastering) 내에 사용되는 다중 패스 VBR 비디오 압축과 상이한데, 하이엔드 DVD 마스터링에서는 특정 저장 매체에 대한 최적 압축 스트림을 생성하기 위하여 비디오 소스가 여러 차례 이전 분석되고 인코딩된다. 그러므로 단일 패스 VBR 인코더가 스트림의 평균 레이트를 동적으로 조정하고 고화질 비디오를 생성하기 위해서는 임시 예측 모델이 필요하다.
또다른 특성 및 장점은 본 발명의 기법을 통하여 실현된다. 본 발명의 다른 실시예와 측면들은 본 명세서에서 상세히 기술되고 청구범위의 일 부분으로서 고려된다.
도 1은 본 발명에 따른 실시간 단일 패스 가변 비트 레이트 제어 방법을 구체화하여 사용한 MPEG-2 인코더 블록 다이어그램의 일 예.
도 2는 P 및 B 화상 유형에 대한 움직임 추정 블록 다이어 그램의 일 예.
도 3은 본 발명에 따른 가변 비트 레이트 제어 기법의 동작점과모델의 일 예.
도 4는 본 발명의 원리에 따라 화상 그룹(a group of pictures: GOP)에 할당될 비트 수를 추정하는 일 예에 관련된 로직(logic)의 일 실시예.
도 5는 본 발명의 가변 비트 레이트 제어 방법의 일 실시예에 대한 블록 다이어그램의 일 예.
도 6은 본 발명의 원리에 따라 화상 그룹에 할당될 비트 수를 추정하는 또다른 예에 관련된 로직의 일 실시예.
도 7은 본 발명의 또다른 가변 비트 레이트 제어 기법의 동작점과모델에 대한 일 예.
도 8은 장면 천이동안 본 발명의 메디안 필터 기법을 사용한 GOP 비트 조정의 일 예.
도 9는 본 발명의 원리에 따른 레이트 제어 불안정성에 대한 GOP 비트 조정의 일 예.
도면의 주요 부분에 대한 부호의 설명
100: MPEG-2 인코더102: DCT 블록
104: 움직임 추정 블록106: 움직임 벡터
108: 움직임 보상 블록110: 양자화 블록
112: 계수 주사 블록 114: 엔트로피 코더
116: 엔트로피 디코더 118: 역 주사 블록
120: 역 양자화 블록122: IDCT 블록
124: 지연 블록
본 발명의 원리에 따라, 실시간 단일 패스(real-time single pass) 가변 비트 레이트(variable bit rate: VBR) 인코딩에 대한 레이트 제어 방법이 제공되고, 상기 방법은 하드웨어 내에 용이하게 구현될 수 있고 예를 들어 모든 MPEG-2 압축 시스템 내에서 구현될 수 있다.
도 1을 참조하면, MPEG-2 인코더(100) 블록 다이어그램의 일 예가 도시되어 있다. 더욱 상세하게, 도 1에는 비디오 스트림을 인코딩하고 압축 스트림을 디코딩하기 위해 인코더에 의해 사용되는 다양한 영상 및 신호 처리 태스크가 도시되어 있다.
MPEG-2 인코더(100)는 공간적 및 시간적인 영상 분석기, 양자화기, 엔트로피 코더, 레이트 제어 수단을 포함하는 개선된 정보 처리기로서, 상기 레이트 제어 수단은 선택된 애플리케이션의 필요 조건을 충족하는 전적으로 부합된(compliant) 비디오 스트림을 생성하게 된다. 비디오 스트림의 각 루미넌스(luminance) 화상은 16 x 16 화소들로 이루어진 비중첩(non-overlapping) 블록들로 나뉘어지고, 각각의비중첩 블록은 4 개의 8 x 8 블록으로 세분된다. 4:2:2 또는 4:2:0 크로미넌스 샘플링(sampling)에 따라 두 개의 크로미넌스(chrominance) 화상은 4 개의 또는 2 개의 8 x 8 블록으로 된다. 모든 루미넌스 및 크로미넌스 블록을 포함하는 한 세트를 매크로블록(macroblock: MB)이라 지칭한다. 4:2:2 매크로블록은 8 개의 블록을 갖는 반면, 4:2:0 매크로블록은 6 개의 블록을 갖는다. 2 차원 이산 코사인 변환(discrete cosine transformation: DCT)(102)을 사용함으로써 각 8 x 8 화소 블록은 주파수 도메인(domain)으로 변환된다. DCT에 의해 고위(고) 주파수 계수 집합과 저위(저) 주파수 계수 집합이 생성됨으로써 입력 블록들에 대한 에너지 압축이 수행된다. DCT는 영상 블록들의 공간적인 중복성을 어느 정도 제거하기 위한 빠르고 효과적인 방법이다.
시간적인 중복성은 움직임 추정(motion estimation: ME)(104)이라 지칭되는 기법을 이용하여 제거된다. 움직임 추정에서는 모든 루미넌스 매크로블록을 예측하기 위해 각각에 상응하는 이전 화상 내의 매크로블록을 탐색 윈도우 내에서 움직인다. 최상의 매크로블록 매칭을 찾기 위한 과정을 움직임 추정이라 규정한다. 그 다음 해당 매크로블록과 최상 매칭(예측) 사이의 차분을 구하고, 이 매크로블록 차분을 DCT 변환한다. 또한, 예측 매크로블록의 위치를 나타내는 움직임 벡터(106)가 생성된다. 움직임 벡터(motion vector: MV)는 인코더와 디코더에 사용되어, 상응하는 매크로블록을 움직임 보상(motion compensation: MC)하고 최상 매칭을 찾는다.
매크로블록의 루미넌스 부분에만 움직임 추정이 수행되고, 크로미넌스 블록쌍들에 대한 움직임 보상을 수행하기 위해서는 움직임 추정 결과로 얻은 움직임 벡터의 크기를 조정하여 사용한다. 차분 펄스 코드 변조(differential pulse code modulation: DPCM)로 알려진 기법을 사용하여 움직임 벡터의 인코딩이 수행된다. DPCM에서는 움직임 벡터가 이전 인코딩된(previously encoded) 매크로블록의 움직임 벡터를 사용하여 예측되며, 움직임 벡터와 그 예측과의 차분만이 인코딩된다. 움직임 벡터 차분은 MPEG-2 표준의 룩업(look-up)표 내에 규정된 코드워드로 나타내어진다.
MPEG-2 표준은 도 2에 도시한 바와 같이 I(인트라 코딩), P(예측), B(양방향 예측) 유형의 화상들을 사용한다. 인트라(intra) 인코딩된 I 화상은 해당 화상 내의 정보만을 사용하는 반면, P 유형은 이전 인코딩된 I 또는 P 유형에 대한 움직임 추정 및 보상을 수행함으로써 매크로블록(200)을 예측하고 인코딩될 예측 오차를 계산한다. 이러한 압축 방법이 효과적인 이유는 움직임 보상된 매크로블록 차분이 원래의 매크로블록보다 적은 정보를 포함하기 때문이다.
P 유형은 종종 전방 예측된 화상이라고 지칭되는데, 이는 이전 화상을 이용하여 시간적으로 미리 예측하기 때문이다. 예를 들어 도 2에서는 움직임 벡터(202)를 사용하여 화상 P 내의 매크로블록(200)에 대한 최적의 매칭을 찾아내는 바, 최적의 매칭은 화상 I 내와 (도 2에 점선으로 표시된) 탐색 윈도우(204) 내에 위치한다.
B 유형 화상은 전방 및 후방 예측을 위해 이전 유형(previous type)과 장래의 I 또는 P 유형에 대한 정보를 사용하며, 서로 상이한 속도로 상이한 방향을 따라 움직이는 물체들을 추정하는 데 특히 유용하다. 또한 B 화상 내에 사용된 양방향 움직임 추정 방안은 P 유형에 사용된 임시 예측에 비해 잡음 환경에 더욱 강인(robust)하다. 이는 그 명목(nominal)값들을 평균함으로써 두 예측을 동시에 사용할 수 있기 때문이다. 도 2의 예에서, 화상 B1 내의 매크로블록(200)에 대한 움직임 추정은로 표시된 전방 예측과로 표시된 후방 예측으로 이루어진다. 화상 B2인 경우에 전방 및 후방 예측은 각각로 표시된다.
도 1을 참조하면, 다양한 화상 유형들이 몇 개의 단계를 거쳐 인코더(100)에 의해 양자화(110)된다. 먼저, 각 화상 유형마다 고유한 양자화 매트릭스가 8 x 8 DCT 블록에 적용된다. 매크릭스의 원소(가중치)들은 저주파수 계수가 더 중요하게 취급되도록 정해진다. 저주파수 계수들이 보다 많은 정보를 갖고 있어서 화상의 인지 화질에 보다 많은 영향을 미친다. 그 다음 양자화 스케일링 인자가 계산되어, 국부적인 영상 활성도, 화상 유형의 복잡도, 버퍼 충진량의 측정값을 기초로 매크로블록들을 상이한 부류로 분류한다. 이 인덱스(index)는 화상에 할당되는 비트 수와 그 화상의 인지 화질에 직접 관련된다. MPEG-2 표준에 규정된 과정에 따라 먼저 각 DCT 블록을 주사하고(112), 그 다음 양자화된 교류 계수(AC)들을 그룹별로 분류함으로써 실제 비트 수가 얻어진다. 각 그룹은 허프만 룩업표를 사용하여 고유의 가변 길이 코드(VLC)로 엔트로피 코딩된다. 직류(DC) 계수는 (MV의 인코딩과 유사한) DPCM과 균일 양자화를 사용하여 인코딩된다.
엔트로피 코더(114)의 출력은 엔트로피 디코더(116)에 입력된다.디코더(116)의 출력은 역주사(inverse scan) 블록(118), 역양자화 블록(120), 역 이산 코사인 변환 블록(122)을 거쳐 차분 매크로블록의 손실 버전(lossy version)을 반환한다. 그 다음 디코딩된 화상은 종래 기술에서 공지된 바와 같이 지연 블록(124)을 통과하여 움직임 추정 블록(104) 및/또는 움직임 보상 블록(108)에 전달된다.
압축된 스트림의 순시 레이트(instantaneous rate)가 시간에 따라 변화되므로, 디코더 버퍼를 사용하여 레이트 변동을 흡수하고 고정된 채널 레이트를 압축된 화상 비트로 변환하고, 압축된 화상 비트를 처리(processing)를 위해 실제 디코더로 전달한다. 그러므로 본 발명의 레이트 제어 방법의 일 실시예에서는 이하 상술하는 바와 같이 화상의 복잡도와 영상 매크로블록의 국부적인 활성도는 물론 버퍼 점유 수준이 조사된다.
인코더(100)는 또한 선택된 애플리케이션의 필요 조건을 충족시키면서 전적으로 부합하는 스트림의 생성에 사용되는 레이트 제어 수단을 포함한다. 본 발명의 원리에 따르면 인코더(100)의 레이트 제어 수단은 입력 스트림(예를 들어 비디오 스트림)의 프레임을 인코딩하기 위해 사용되는 가변 비트 레이트(VBR) 인코딩 방안을 포함한다. 그러나, 본 발명의 VBR 인코딩 방안을 논의하기 전에, 본 발명에 대한 이해를 돕기 위해 몇 가지 레이트 제어 원리들을 기술한다. 이 원리들은 일정 비트 레이트(CBR) 인코딩 방안에 관한 것이다.
1.CBR 레이트 제어 원리
MPEG-2 시퀀스는 전형적으로 화상 그룹(GOP) 또는 프레임과 같은 작은 간격들로 나뉘어지는 바, 이들은 다시 화상 유형 아이(I), 피(P), 비(B)로 분류된다. 단위 GOP당 비트 수는 I 화상 할당이 P 화상 할당보다 많도록 분배된다. 이는 P 화상이 움직임 추정 기법을 사용하여 그 내용을 추정하고 결과적으로 원래의 소스보다 낮은 엔트로피를 갖는 움직임 보상된 프레임 차분(motion compensated frame difference: MCFD)이 인코딩되기 때문이다. B 화상은 최소한의 비트 수를 사용하는데, 이는 B 화상의 움직임 추정 기법이 P 화상의 움직임 추정 기법보다 더 집약적이기 때문이다. 이 때문에 상이한 유형의 화상이 인코딩되는 경우에도 GOP 내에 동일한 화질을 유지하게 된다. 또한 B 화상들을 사용하여 다른 화상을 추정하지 않기 때문에, B 화상에 대한 비트를 더 적게 할당할 수 있다. 인코딩된 GOP는 I 화상 유형으로 시작한다. 화상 유형 x(x는 I, P, B 중의 하나임)에 할당되는 비트 수는 그 유형의 화질 내에 인지된 왜곡 정도와 역비례 관계를 갖는다.
문헌(예를 들어 제이. 엘. 미첼(J. L. Mitchell)과 더블유. 비. 펜베이커(W. B. Pennebaker)와 시. 이. 포그(C. E. Fogg), 디. 제이. 리갈(D. J. LeGall)의 MPEG video compression standard, Chapman and Hall, New York, 1997. 이 문헌은 전체로서 본 명세서의 참조로서 인용됨)에 나타난 실험 결과에 따르면, 소스(화상 또는 프레임)의 레이트 R과 양자화 인자 Q 사이에 유사한 성향이 존재하는 바, 단순하게 표시하면
이고, XX는 각 화상 유형에 대한 이전 규정된 복잡도 측정값이다.
그러나, 소스의 성질이 시간에 따라 변화하므로 각 화상 유형을 인코딩하기 전에 새로운 복잡도 측정값이 결정된다. 이 파라미터는 종종 이전 인코딩 파라미터, 예를 들어 비트, 양자화 인자 및/또는 몇 개의 예측 통계를 기초로 계산된다. MPEG-2 스트림의 각 GOP에 대하여 Ck
로 표시되는 많은 비트들이 필요하게 되고, 인덱스 k는 GOP 수이며, x는 화상 유형이고, Nx는 GOP 내에서 유형 x의 화상 수이며, Rx는 유형 x에 대한 타겟 화상 비트이다.
CBR 시퀀스에 대하여, Ck= Cgop이고, Cgop는 고정된 GOP 비트이다. 주어진 Ck에 대해 수학식 2의 조건을 만족하는 양자화 스케일러의 평균합을 최소화함으로써 GOP의 비디오 화질은 최대화된다.
수학식 3의 조건을 만족하는 Ψ를 최소화하는 대신에, 수학식 3의 조건을 삭제하고 라그랑쥐 승산자(Laglange multiplier) λ를 사용하여 라그랑쥐 값 Υ
를 최소화한다.
수학식 1에 기술한 레이트 양자화 모델을 사용하여 각 화상 유형의 타겟 비트
를 유도한다.
수학식 5에서 타겟은 이상적인 화상 비트를 나타내고, 실제 비트는 거의 항상 이상적인 화상 비트에서 벗어날 것이다. 축적된 오차가 계산되어 일정 비트 레이트 제어 기법에 피드백됨으로써, 최종 MPEG-2 비트 스트림이 전체 비트 버짓(budget) 또는 평균 비트 레이트를 확실히 만족시키도록 한다. Ck,ideal과 Ck,actual이각각 GOP k에 대한 이상적인 비트와 실제 비트를 나타내고, δk,gop=Ck,actual-Ck,ideal은 두 비트의 차분이라고 하자. 또한 Ri,ideal과 Ri,actual은 각각 화상 i에 대한 이상적인 비트와 실제 비트를 나타내고, δi,pic=Ri,actual-Ri,ideal은 두 비트의 차분이라고 하자. n 개의 화상들이 인코딩된 후 전체 축적된 오차는
로 계산될 수 있다.
GOP의 크기는이고는 인코딩된 GOP의 개수이다. 처리된 모든 GOP에 대한 서브 오차(sub-error) 합은 Δn-I,gop로 주어지는 반면, Δn-I,pic는 그 인코딩 순서상 아직 처리되지 않은 마지막 GOP에 대한 서브 오차의 합이다. 그 다음 이전 인코딩된 화상에서 생성되는 이상적인 화상 타겟을 비트의 과도 생성(overproduction)과 과소 생성(underproduction)을 위해 조정할 수 있다. GOP(k=ng)에 속하는 화상 n을 인코딩하기 전에 새로운 이상적인 비트들은
이고, Cgop는 고정된 CBR GOP 비트 수이며, α는 예를 들어 1.0이고,이다. α는 이러한 조정이 얼마나 적극적으로 수행되는지를 나타내는 상수이다. 각 화상이 인코딩된 후, 복잡도 측정값 Xx가 갱신되고 수학식 7을 기초로 다음 화상에 대한 새로운 타겟이 계산된다. 이 타겟은 후술하는 바와 같이 몇가지 요건을 충족함으로써, 디코더 버퍼가 오버플로우 또는 언더플로우되지 않도록 해야한다.
마지막으로, 수학식 1의 쌍곡선에 대해 규정된 양자화 스케일러 Q가 얻어진다. 화상 유형에는 각각 고유한 복합(R-Q) 곡선이 있고, 또한 모든 프레임이 똑같이 인지되게 하기 위해 각 화상 유형에 대한 Q 인자를 약간씩 조정할 수 있다는 점에 유의해야 한다. 인코딩하는 동안 Q 인자를 변조하여 이상적인 타겟을 만족시키는 방법 뿐만 아니라 매크로블록 수준의 레이트 제어에 대한 인지 효과를 구현하는 방법은 이하에서는 기술되지 않는다. 그러나, 상기 방법들은 ISO/IEC JTC1/SC29/WG11/ N0400 'Test Model 5', April, 1993.에 기술되어 있고, 본 명세서에서 전체적으로 참조로서 인용된다.
이상 다양한 CBR 원리를 기술하였다. 이하 VBR, 특히 본 발명의 실시간 단일 패스 VBR 기법을 기술한다.
2. VBR 비디오
단원 1의 CBR 레이트 제어 기법은 고정된 타겟 Cgop인 경우에 양자화 파라미터를 변조시킴으로써 하나의 GOP 내에서 일정한 화질을 얻는다는 사실에 근거한다. 모든 통계적인 변이(variation) 또는 비트 파생(offshoot)을 이용함으로써 시간에 걸쳐 CBR 레이트 제어 기법을 안정화시키고 원하는 레이트를 유지하게 한다. 또한 MPEG-2 CBR 인코더는 일반 상수 세트와 이전 결정된 초기 복잡도 측정값을 이용함으로써, 상이한 화상 유형에 할당된 비트 수들 사이에 일정한 비율을 유지하게 한다. 그러나 실시간 단일 패스 MPEG-2 인코딩에서 GOP 또는 비디오 세그먼트와 같은 연속적인 화상 그룹을 복잡도 강성(complexity hardness) 또는 복잡도연성(complexity softness)에 따라 상이한 시간 간격 유형으로 분류하는 데는 한계가 있다. 비디오의 강성(연성)은 고화질을 얻기 위해 많은 (적은) 비트 량이 필요하다는 것으로 규정된다. 다중 패스 CBR 또는 다중 패스 VBR 인코딩인 경우에 그러한 정보가 공지되어 있고, 따라서 화질을 향상시킬 수 있다.
그러나 본 발명에서는 GOP 비트를 즉각적으로 조정함으로써 CBR 인코딩의 레이트 제어 방법에 복잡도 수준이 추가된다. 모든 비디오 소스의 통계적인 성질은 미리 알려져 있지 않거나 또는 시간에 따라 변화하기 때문에 이러한 문제를 해결하기 위해 특히 많은 노력이 필요하고, 소스 분배의 진정한 추정이 불가능할 수도 있다. 본 발명에 따른 실시간 단일 패스 VBR 인코더는인지 모델을 사용하여 비디오 세그먼트의 강성 또는 연성을 구별하는데, 각 비디오 세그먼트는 수학식 1에 의해규정된 특정 쌍곡선에 상응한다. 그 다음 실제쌍이 이 쌍곡선을 따라 계산된다.
2.1레이트 양자화 인지 모델
본 발명의 VBR 방안의 개념적 근거는, 각 비디오 세그먼트(즉 각 GOP)가 인코딩 난이도 수준과 연관된다는 것과 이러한 난이도는 전체 화상 비트, 양자화 스케일러, 공간적 활동성, 시간적 활동성, 신호 대 잡음비 또는 이들의 모든 조합과 같은 다양한 소스 통계량 또는 압축 파라미터를 사용하여 측정될 수 있다. 높은 수준의 인코딩 난이도를 갖는 비디오 세그먼트에 대해서는 보다 많은 양의 비트가 할당되어야 한다. 이러한 방법은 소스의 복잡도와는 무관하게 각 GOP에 고정된 비트 수를 할당하는 CBR 레이트 제어 기법과는 상이한 접근법이다. 복잡한 재료, 평범한 재료 및 용이한 재료를 포함하는 많은 테스트 케이스에 대한 연구 결과를 참조하면, 비디오 간격의 레이트와 양자화 스케일러 사이에 밀접한 상관 관계가 존재한다는 것을 알 수 있다. 이러한 상관 관계는 예를 들어 알. 라자고팔란(R. Rajagopalan)등이 98년 1월 26일자로 미국 출원 번호 제09/013,149호로 출원 중이고 본 명세서에 전체적으로 참조로서 인용되는 'Two-Pass Encoding Method of Digital Motion Video Sequences For Constant Or Variable Rate'(Attorney Docket No. YO998-023)에 기술되어 있다.
특히, 이러한 상관 관계는
로 나타내어진다. 여기에서, a1은 인지 라인(301)이축(302)과 만나는 점(300)(도 3 참조)이며(예를 들어 a1=0.2), a2는 인지 라인(301)의 기울기이고(예를 들어 a2=0.06), β는 인지 모델이 선형인지 또는 비선형인지를 나타낸다(예를 들어 β=1은 선형임을 나타냄).
수학식 8의 Ra-Qa관계는 모든 유형의 비디오 간격들이 동등하게 인지되어야 한다는 기준에 근거하여 유도된다. 또한 큰 양자화 스케일러 Q를 만들어내는 난해한 비디오 세그먼트는 압축 스트림의 평균 비트 레이트보다 많이 사용해야 하는 반면, 용이한 세그먼트는 보다 작은 수의 비트를 사용할 것이라는 것을 암시한다. 이러한 관련성은 강인한 단일 패스 VBR 인코딩 기법을 형성하는 데 있어서 토대를 제공하는데, 이는 이것이 비디오 소스의 다양성을 이용하기 때문이다.
본 발명의 원리에 따라, 상기 관련성을 이용하여 각 간격(예를 들어 각 GOP)에 할당될 실제 비트 수를 다음의 인지 모델
의 기울기 K를 사용하여 결정한다.
특히 본 발명의 한 기법에 따라 각 비디오 간격(예를 들어 각 GOP)에 대해 (Mbits/s 단위로 측정된) 상수 K를 변조함으로써, 압축된 스트림의 평균 레이트가 원하는 타겟 레이트를 확실히 만족하게 한다. K를 변조하기 위한 기법을 추가로 후술한다.
2.2VBR 레이트 제어 기법 1
단일 패스 VBR 인코더의 효율은 레이트 제어 기법이 비디오 스트림의 강성 또는 연성을 얼마나 빨리 학습하여 적응할 수 있는 지에 달려 있다. 영상의 불연속 또는 특별한 효과가 발생하는 영역에서 화질의 열화가 최소화되어야 한다. 단일 패스 인코딩에서는 이전 분석되고 인코딩된 화상에 의해 영상 통계량이 제한되기 때문에, 레이트 제어 기법의 학습 레이트는 장래의 비디오 간격의 내용을 예측할 수 있을 만큼 적절해야 하지만, 알고리즘을 불안정하게 할 만큼 너무 적극적이지 않아야 한다. 서로 상충하는 이 두 문제를 푸는 한 방법은 매 시간 간격(즉GOP)동안 인코딩된 스트림의 화질을 조정하고 그 시간 간격 내에 레이트 제어 기법으로 하여금 각 화상의 국부적인 내용을 학습하게 하는 것이다.
본 발명의 원리에 따라, VBR 입력 스트림 Svbr은, 예를 들어 서로 상이한 CBR 비트 레이트에서 동작하는 몇 개의 인접한 비디오 또는 시간 간격(즉 GOP)들의 연접체(連接體)이다. 단원 2.1에서 기술한 인지 모델에 의해 각 비디오 간격에 대한 동적 비트 레이트 조정이 결정되는 반면, 실제쌍은 수학식 1의 레이트 양자화 모델로부터 계산된다. 그러므로 VBR 시퀀스 Svbr를 {Sk}m k=0로 특정되는 유한 개의 GOP로 나뉠 수 있다. GOP Sk에 대하여 평균 비트 수와 평균 양자화 스케일러와 같이 규정된다. 수학식 9의 조건을 본 발명의 원리에 따라 변형하면, GOP Sk의 양자화 스케일러와 평균 비트 사이의 관계는
이고, f는 비디오의 프레임 레이트이다.
은 방금 인코딩된 GOP Sk-2와 Sk-1에 대한 평균 비트 및 평균 양자화 스케일러 쌍이다. CBR 또는 VBR MPEG-2 인코더를 사용하여 이들 GOP를 인코딩할 수 있다. 또한 수학식 1과 같이간의 쌍곡선 의존성이 있다고 가정하고, 본 발명에서는 상기 쌍들을 사용하여사이의 관계에 대한 선형 모델을
와 같이 예측한다. 여기에서이며,이고,이며,이다.
수학식 10은 분석중인 특정 GOP의 즉각적인 레이트 양자화 성향을 규정한다. 수학식 10의 선형 모델 및 그 모델과 수학식 9a의 인지 모델과의 관련성은 도 3에 도시되어 있다.
최적 동작점을 찾기 위해 수학식 9a의 인지 모델과 수학식 10을 연립하여 푼다. 예를 들어로 수학식 9a 및 수학식 10을 풀면 이상적인 동작점 3을 얻고,로 수학식 9a 및 수학식 10을 풀면 이상적인 동작점 4를 얻는다.
특히 다음 GOP는 평균 비트
로 인코딩된다.
각 GOP에 대해 상수 K를 변조하여 VBR 스트림에 의해 생성된 전체 비트 수가, 예를 들어 DVD 디스크인 저장 또는 인출(retrieve) 소자의 크기보다 크지 않도록 한다. 예를 들어 RTOT가 사용할 수 있는 전체 비트 수라면, 입력 시퀀스의 모든 GOP가 분석되고 인코딩된 후, 수학식 9a의 인지 모델을 사용하여 K를
로 계산할 수 있다. 이때, Ngop는 입력 시퀀스 내 GOP의 개수이며, G는 GOP 크기이다.
다중 패스 인코딩 방안에서는 수학식 12의 분모가 용이하게 계산될 수 있지만, 본 발명과 같은 단일 패스 실시간 압축 방안에 대해서는 계산될 수 없다. 그러므로 그 대신에 본 발명의 원리에 따라 이전 인코딩된 허상 시퀀스(phantom sequence)를로 규정된 GOP 양자화기 세트와 함께 사용한다. 여기에서, N* gop는 허상 시퀀스 내에서의 인코딩된 GOP의 개수이다. 그러므로 입력 시퀀스의 각 GOP가 인코딩된 후, 수학식 12의 합이 조정된다.
많은 수의 화상들과 비트 버짓 RTOT가 주어지면, 본 발명의 단일 패스 VBR 인코더는 생성된 모든 비트를 디지탈 매체에 끼워 맞출 책임을 진다. 오버런(over-run)과 언더런(under-run)을 방지하기 위해 RTOT는 각 GOP에 대해 동적으로 변경된다. RTOT에서 실제 비트를 빼면 조정된 버짓 Rk,tot가 얻어지고, 조정된 버짓을 사용하여 새로운 기울기
를 정한다.
도 3에는 연성 GOP 또는 강성 GOP들이 인코딩되는 경우에 인지 모델을 조정하는 방법이 도시되어 있다.
K, 특히 K의 분모를 단일 패스 VBR 인코딩 방안으로 계산할 수 없으므로 본 발명의 원리에 따라 K를 변조하고 각 GOP에 할당할 비트 수를 추정하는 기법이 고안되었다. 이러한 실시간 단일 패스 VBR 방안을 학습 과정이라 지칭하는데, 그 이유는 이 방안이 처리되는 동안 그 방안은 어떤 정보를 학습하기 때문이다. 학습 과정의 한 실시예를 도 4를 참조하여 후술한다.
1. 단계(400)에서, P를 터플(tuple)에 의해 규정된 이전 인코딩된 허상이라 하고,이고라 하자.
Z0의 전형적인 값은 108이고 N0의 전형적인 값은 114이다.
2. 단계(402)에서, 예를 들어 CBR MPEG-2 인코더를 사용하여,의 레이트로 입력 시퀀스의 처음 두 GOP, 즉 S0와 S1을 인코딩함으로써 VBR 레이트 제어 기법을 초기화시킨다.의 명목값은 사용자에 의해 주어진 VBR 스트림의 평균 레이트에 상응해야 한다.
3. 단계(404)에서, Sk-1이 인코딩된 후 다양한 파라미터들이 갱신된다. 예를 들어 인코딩 난이도 측정값의 합을 나타내는 Zk와 GOP의 조정된 개수인 Nk로 갱신하되, γ는 학습 알고리즘의 갱신 속도이다(예를 들어 γ=2.0). 또한 합은 물론 Ck-1,actual을 계산한다.
(a) k-1 = 0 이면, k를 1 만큼 증가시키고 과정 3으로 진행한다.
(b) 그렇지 않으면, 수학식 10에 규정된 인지 모델에 따라 ξk와 ηk같은 다른 파라미터를 계산한다.
4. 단계(404)에서, 위 과정 3의 합을 사용하여 버짓 내의 잔여 비트 Rk,tot를 결정한다. 예를 들어 RTOT에서을 감산하여 Rk,tot를 얻는다. 인코딩될 잔여 프레임 또는 화상 수 Pk를 갱신한다.
5. 단계(406)에서, 새로운 기울기
를 측정한다.
6. 단계(408)에서는, 전술한 수학식 11 또는 후술하는 수학식 14를 사용하여 새로운 타겟를 계산한다.
7. 단계(410)에서, Sk를 VBR 모드로 인코딩한다.
8. 판단 단계(412)에서 시퀀스 내에 종결되지 않은 GOP가 있다면 위 과정 3으로 진행하고, 그렇지 않다면 단계(414)에서 종료한다.
Zk는 각 GOP의 영상 내용에 그 자체를 적응시키고 VBR 비디오의 변화무쌍함을 둔화시키기 위한 것이다. Zk는 안전 척도로 작용하여 매우 높은(낮은) 복잡도인 GOP에 비현실적인 비트 할당을 하지 않도록 한다.
이상에 인코딩될 GOP Sk의 평균 비트를 결정하기 위한 방안에 대해 기술하였다. 요약하면, 이 타겟 비트는
로 주어진다.
본 발명의 레이트 제어 기법을 도 5를 참조하여 추가로 후술한다. 한 실시예에서, 압축해제된 입력 스트림(예를 들어 비디오 스트림)이 압축 엔진(500)에 입력되는 바, 압축 엔진(500)은 예를 들어 도 1에 도시되고 전술된 인코더를 포함한다. 입력 스트림에 대해 미리 알려진 사항이 없으므로 압축 엔진(500)은 칩에 대한 종래 기법, 즉 공지된 CBR 또는 VBR 알고리즘으로 초기화된다. 그 다음 첫 번째 두 GOP들이 예를 들어 CBR 모드로 인코딩된다.
인코딩될 다음 GOP인 GOPk에서 정보를 얻지 않고 이전 인코딩된 GOP(예를 들어 GOPk-1과 GOPk-2)에서 정보를 얻는다는 것을 설명하기 위해 도 5 내에 지연부(502)가 제공된다.
그 다음 인코딩된 마지막 두 GOP(예를 들어 GOPk-1과 GOPk-2) 각각에 대한 평균 비트,와 이 두 GOP에 대한 평균 Q 인자,가 계산된다(504). 일 예로서 첫 번째 두 GOP에 대하여 평균 비트와 평균 Q 인자를 계산하는 방식은 수학식 1 내지 수학식 7과 관련되어 전술되어 있다. 그 다음,의 값을 저장하여, 추후에 인코딩될 다음 GOP(예를 들어 GOPk)에 필요한 GOP 비트를 추정하는 데 사용한다.
새로운 GOP 비트를 추정하기 위하여(506), 수학식 10에 따른예측 모델(508)과 수학식 9a에 따른인지 모델(510)이 새로운 GOP 비트의 추정에 사용된다. 도 5에 도시한 바와 같이 학습 과정의 갱신된 파라미터, 사용할 수 있는 잔여 비트, 인코딩할 화상 개수가 시간 가변 인지 모델로 입력된다(511). 예측 및 인지 모델이 만나는 점은 GOPk에 대한 GOP 비트의 추정이다. 이 점은 이전 기술한 수학식 (14)에 규정되어 있다.
또한 전술한 것은 물론 후술하는 바와 같이 GOP비트에 대한 추정이 특이 효과와 불안정성에 대해 조정될 수 있다(512).
새로운 GOP 비트가 유도된 후, 인코딩될 GOP의 각 프레임 또는 화상에 많은 비트를 할당하기 위해 화상 비트 할당 모델을 사용한다(514). 한 실시예에서 각 화상 유형의 타겟 비트를 조정하기 위해와 GOP 크기 G를 곱하고,
을 사용하여 각 화상에 대한 이상적인 비트를 얻는다.
CBR 동작 유형에 대하여 단위 GOP당 똑같은 양의 비트가 사용될 것이고, 이상적인 GOP 타겟 비트와 실제값 사이에 차이가 있다면, 인코딩될 다음 GOP로 장기 GOP 오차가 이월될 것이다. 이는 한 GOP, 또는 한 GOP 집합, 또는 전체 시퀀스에 대한 비디오 스트림의 비트 레이트가 일정해야 하기 때문이다. Δn-1,gop는 장기 GOP 오차이다. 그러나 실시간 VBR 시나리오인 경우에 각 GOP가 다른 비트 레이트로 동작할 수도 있기 때문에 장기 GOP 오차를 이월할 필요는 없다. VBR 방안의 태스크는 비디오 화질을 위해 전체 비트 버짓을 최적화하는 것이다. 상기 수학식에서의 파라미터 α1로 장기 GOP 오차를 스케일링하고 VBR 인코더의 레이트 제어 알고리즘에 공급되도록 이 정보를 제어할 수 있다. 일단 VBR COP 타겟 비트가 정해지면 α2를 사용하여 GOP 내에 비트 버짓을 만족시킨다. α1와 α2에 대한 전형적인 값은각각 0.05와 0.2이다.
예를 들어 CBR 레이트를 4.0 메가비트(Mbit)/초로 정하고 제 1 GOP를 인코딩한다고 하자. 초당 3.9메가비트가 사용된다고 가정하자. 초당 0.1메가비트의 잔여 비트는 다음 GOP(제 2 GOP)로 넘겨져 제 2 GOP는(이상적으로는) 4.1메가비트/초를 갖는다. 그러나 만약 제 2 GOP가 단지 3.5메가비트/초라면 첫 번째 두 GOP에 대하여 0.6메가비트/초 만큼의 미달이 있게 되고, 미달분이 제 3 GOP로 이월되어 구분(piece-wise) 일정 비트 레이트를 보장한다. 이러한 것은 VBR인 경우에 필요하지 않은 바, CBR이 취약한 영역에 대한 비디오 화질을 최적화하기 위해 노력하고 있기 때문이다. 여분의 비트(0.6메가비트/ 초)는 저장되어 인코딩하기 어려운(힘든) 장면에 효과적으로 사용되어야 한다. 이 때문에 α1이 매우 작아야 하는 것이다.
화상들의 이상적인 비트들이 결정된 후, 예를 들어 수학식 1을 사용하여, 각 화상에 대한 양자화 인자도 유도된다(516). 이러한 양자화 인자는 압축 엔진(500)에 입력되는 바, 압축 엔진(500)을 사용하여 현재 GOP의 각 프레임 또는 화상을 압축한다. 압축 엔진의 출력은 본 발명의 원리에 따라 단일 패스 실시간 가변 비트 레이트 모드로 압축된 스트림이다.
프레임을 인코딩한 후, 예를 들어 압축 엔진 500 내에 있는 계수기에서 각 화상에 할당된 실제 비트 수를 얻을 수 있다. 그 다음 이 값을 수학식 6에 사용하여 실제 비트가 이상적인 비트에서 벗어나는 정도를 결정한다.
도 5에는 GOP 비트 수를 추정하기 위해 사용된 다양한 공정들이 압축 엔진과 별개로 도시되어 있다. 다시 말해서, 압축 엔진과 별개인 처리 로직 또는 회로(processing logic or circuits)를 사용하여 공정을 구현할 수도 있다. 그러나, 또다른 실시예에서는, 도 5에 도시한 하나 이상의 공정들을 한 칩 상에(즉 압축 엔진(500) 내에) 포함할 수 있다.
전술한 단일 패스 VBR 레이트 양자화 체제는 압축 해제 엔진 내의 디코더 버퍼가 무한 크기이고 항상 충분히 많은 비트 수를 사용할 수 있다는 가정에 근거를 두고 있다. 그러나, 실 생활 시나리오에서 버퍼 크기는 MPEG-2 표준에 의해 제한되고 규정된다. 그러므로 본 발명에 따른 인코딩 방안의 태스크는 디코더 버퍼에서 발생할 수 있는 모든 오버플로우 또는 언더플로우 조건을 제거하는 것이다. 이를 위해 가상 디코더 버퍼(hypothetical decoder buffer), 즉 비디오 버퍼 검사 장치(video buffer verifier:VBV)를 조사하고, 화상 유형에 할당된 비트량에 대한 하한/상한을 계산해야 한다. 다행스럽게 VBR 시나리오인 경우에 디코더 버퍼에서 오버플로우가 생기지 않는다. 이는 VBV 버퍼 점유가 최대 수준에 다다른 후에 디코더 버퍼를 채우는 일을 즉각 멈추기 때문이다. 그러므로 화상 한계를 위한 하한이 0으로 주어진다. 또한 디코더 버퍼는 사용자에 의해 설정된 최대 레이트 Rmax(메가비트/초)로 채워진다.
그러나 VBR 디코더의 VBV 버퍼에 대해 언더플로우 조건이 발생할 수 있고, 언더플로우 조건이 발생하지 않도록 하기 위해 이전 결정된 값보다 크지 않은 상한이 할당되어야 한다. 그러므로, Bn과 Bn *를 각각 화상 n이 제거되기 전·후의 디코더 버퍼 충진도라고 하자. Bn *
로 계산된다.
또한 다음 화상을 제거하기 전의 버퍼 충진도는
이고, Bvbv는 비디오 버퍼 검증 장치의 전체 크기이며, Tn은 화상 n에 대한 디스플레이 주기이다(Tn은 f의 역수임). 화상 n이 제거되기 전에 버퍼 내의 모든 정보를 사용할 수 있고, 그러므로 상한 Un이 버퍼 점유가 된다. 화상 타겟 비트가 제한되는 명목값은 하한 Ln과 상한 Un
에 의해 주어진다.
그러므로 화상 한계
를 사용하여 이상적인 화상 비트가 조정된다.
{RTOT, {Ri,Qi}n i=0}에 의해 특정된 단일 패스 VBR MPEG-2 인코더가 전술되어 있다. 시간 가변 인지 모델과 일련의모델을 함께 풀어 형성한 컨스텔레이션(constellation)을 따라 상기 인코더가 동작한다. 컨스텔레이션 내에서 GOP의쌍에 대한 이상적인 상대 위치가 GOP의 '연성' 또는 '강성'에 의해 먼저 결정되고 그 다음 비트 버짓 내에 있는 잔여 비트 수에 의해 조정된다. 화상의쌍에 대한 국부적인 위치는 화상 유형의(R-Q) 모델에 의해 표시된다. 도 3에는 가변 비트 레이트 제어 기법 1을 사용하는 VBR 인코더에 의해쌍에 대한 컨스텔레이션을 형성하는 방법이 도시되어 있다. 도 3에서로 규정된 상수 라인은 CBR 모드로 인코딩 되는 모든쌍들의 이상적인 위치를 나타낸다. 또한 도 3에는 GOP의 강성이 증가할수록 평균 양자화 스케일러가 증가하는 성질이 반영되어 있다. 이상적인 동작점과 실제 동작점이 각각 하얀 원과 검은 점으로 표시되어 있다.를 각각 비디오 시퀀스의 시작 부분에서 VBR 인코더의 초기화로 얻은 처음 두 쌍의 '연성' GOP라고 하자. '3'으로 표시된 다음의 이상적인 동작점은 인지 모델(실선)과 임시 예측 모델의 교차점이다. 점 '3'의 위치가 나타내는 것은 시퀀스 평균 비트보다 작은 평균 비트가 할당된다는 것이다. 그러나 인코더의 출력, 즉 점이 달라질 것이고, 결과적으로 비트 버짓 제한 조건을 만족시키기 위해(점선으로 도시한) 새로운 인지 모델이 유도된다. 그럼 다음쌍들을 사용하여(점선으로 도시한) 새로운 인지 모델을 얻고, 새로운 동작점, 즉 '4'를 계산한다. 비디오 시퀀스가 많은 수의 인접하는 연성 GOP를 포함하는 경우에 인지 모델은 결과적으로 CBR 출력쌍에 근접하여라인과 교차하는 라인으로 수렴할 것이다.
비디오 재료가 '강성' GOP로 시작하는 경우 실제 점라인 상부에 위치한다. 이 때문에 CBR 인코더가 가장 취약한 영역, 즉 '강성' GOP 영역에 대한 가용 비트 버짓이 최적화된다. 이 시나리오에서 할당된 GOP 비트를 점차 낮추고 비트 버짓 제한 조건을 만족시키기 위한 (점선으로 도시한) 새로운 인지 모델이 형성된다. 이 모델을 (역시 점선으로 도시한) 새로운 임시 예측 모델과 함께 사용하여 '4'으로 표시된 다음 동작점을 결정한다. 인입 시퀀스가 오직 '강성' GOP만으로 이루어진 경우에 인지 모델은 결과적으로 점과 점에 인접한 위치에서라인과 만나는 라인에 부합될 것이다. 전형적인 비디오 프로그램에서 같은 GOP (또는 이전 계산된 점들의 컨스텔레이션)을 따라 오랫동안 동작할 가능성은 적다. 그러나 짧은 시간 후에 한 GOP에서 다음인접한 GOP로 옮겨갈 가능성이 있다. 그러므로 다음 성향을 유도할 수 있다. 인지 모델이 GOP의 '강성' 또는 '연성'에서 벗어날 수 있는 상태에 도달하기 전에 레이트 제어 기법이 새로운 GOP로 옮겨갈 것이다. 이전 인코딩된 화상 유형에 대한 실제 양자화 스케일러 값은 '보다 강성인' GOP 또는 '보다 연성인' GOP로 옮겨 갈 것을 결정한다. 장래의 '보다 강성인'('보다 연성인') GOP인 경우에 도 3에 도시한 바와 같이 이전 인코딩된 GOP의 오른쪽(왼쪽)으로 움직일 것이다. 그러므로 교차점에서 인지 모델은 이전 GOP에서 사용된 실제 비트보다 많은(적은) GOP 비트를 생성한다. 이러한 메카니즘에 따라 비슷한 '인코딩 난이도 수준'의 인접한 GOP 집합에 대해서는 '강성'(또는 '연성') 감소 또는 증가의 효과가 상응하는 비디오 간격의 인코딩된 내용을 통하여 분배되는 반면, 최고 (최하) 복잡한 GOP에는 유사한 GOP에 비해 여전히 가장 많은(가장 적은) 비트가 할당될 것이다. 이러한 기법이 인지 모델의 기울기 K를 변조하는데 그 기초를 두고 있지만, 사용자에 의해 설정된 전체 비트 수를 만족하도록 인지 모델을 전사함으로써 또다른 VBR 레이트 제어 기법을 만들 수도 있다. 이러한 가변 비트 레이트 제어 기법을 후술한다.
2.3VBR 레이트 제어 기법 2
이 단원에서는 인코딩될 각 GOP의 타겟 비트를 계산하기 위한 제 2 기법을 기술한다. 본 발명의 원리에 따라인지 모델의 기울기를 변조하는 대신에 파라미터 a1에 대해 인지 모델을 풀어 인지 모델의 위치를 전사한다.의 CBR 레이트에서 기울기 K가 고정되고, 파라미터 a1
으로 유도된다.
수학식 20에서 시그마 합은 실시간 단일 패스 VBR 인코더에 대해서는 규정되지 않는다. 그러므로 (기법 1에서와 같이)이전 인코딩된 가상 시퀀스가 사용되어 본 발명의 VBR 레이트 제어 기법 2를 초기화한다. 디지탈 저장 매체가 오버런(over-rub)/언더런(under-run) 되지 않도록 잔여 비트가 주기적으로 모니터되어 즉각적인 전체 비트 버짓, 즉 Rk,tot으로 사용된다. 인지 모델의 전사는
으로 변화되는 바, ra k는 아직 인코딩 되지 않은 GOP의 장기 레이트와 비디오 스트림의 CBR 레이트 사이의 비를 나타내며, Yk, Ek는 후술한다. 강성 GOP인 경우에이고, 그러므로 전체 비트 버짓을 만족하기 위해서는 비 ra k이 시간이 경과함에 따라 보다 작아져야 한다. 또한 압축 스트림의 레이트를 보다 낮추기 위해 컨스텔레이션을 따라쌍의 위치를 다운스트림(downstream)으로 이동하기 위한 요구가 Ek에 의해 제공된다. 몇 개의 연성 GOP들이 시간에 걸쳐 인코딩된다면 반대 시나리오가 일어난다. 각 GOP의 평균 비트는
와 같이 정해진다.
본 발명의 원리에 따라, VBR 레이트 제어 기법 2에 대한 학습 과정도 제공된다. 이 학습 과정 동안 Y가 초기화되고 갱신된다. 잔여 인코딩 파라미터가 VBR 레이트 제어 기법 1의 구성과 함께 규정된다.
도 6을 참조하여 학습 과정 2의 일 실시예를 이하 기술한다.
1. 단계(600)에서, P를 터플(tuple)에 의해 규정된 이전 인코딩된 허상이라 하고,이고라 하자.
Y0의 전형적인 값은 1869이다.
2. 단계(602)에서, 예를 들어 CBR MPEG-2 인코더를 사용하여,의 레이트로 입력 시퀀스의 처음 두 GOP, 즉 S0와 S1을 인코딩함으로써 VBR 레이트 제어 기법을 초기화시킨다.의 명목값은 VBR 스트림의 평균 레이트에 상응해야 한다.
3. 단계(604)에서, Sk-1이 인코딩된 후 다양한 파라미터들이 갱신된다. 예를 들어 Nk와단위 프레임 그룹당 평균 양자화 인자의 합을 나타내는 Yk를 각각로 갱신하는 바, γ는 학습 알고리즘의 갱신 속도이다(예를 들어 γ=2.0). Ck-1,actual을 계산하고, 그 다음 합을 계산한다.
(a) k-1 = 0 이면, k를 1 만큼 증가시키고 과정 3으로 진행한다.
(b) 그렇지 않으면, 수학식 10에 규정된 인지 모델에 따라 ξk와 ηk를 계산한다.
4. 단계(604)에서, 과정 3의 합을 사용하여 버짓 내의 잔여 비트 Rk,tot를 결정한다. 인코딩될 잔여 화상 수 Pk를 갱신한다.
5. 단계(606)에서, ra k, Ek, 새로운 전사 인자 a1 k를 계산한다.
6. 단계(608)에서, 예를 들어 수학식 22를 사용하여 새로운 타겟를 계산한다.
7. 단계(610)에서, Sk를 VBR 모드로 인코딩한다.
8. 판단 단계(612)에서 시퀀스 내에 종결되지 않은 GOP가 있다면 과정 3으로 진행하고, 그렇지 않다면 단계(614)에서 종료한다.
VBR 버퍼 점유와 타겟 조정 대한 제한 조건은 이전 단원에 기술한 바와 같이 다루어진다. 도 7에는 가변 비트 레이트 제어 기법 2를 사용하는 VBR 인코더에 대한 새로운 점을 추정하기 위해 즉각적인 임시 인지 모델을 각 GOP 내에 형성하는 방법과 즉각적인 임시 인지 모델을 시간 가변 인지 모델과 함께 사용하는 방법이 도시되어 있다. 몇 개의 연성 (또는 강성) GOP들이 어느 시간 동안 인코딩되면 인지 모델은 비트 버짓 제한을 만족시키기 위해 위로 (아래로) 이동할 것이다.
2.4장면 천이
인코딩 과정 동안 VBR 레이트 제어 기법이 불안정하게 될 수 있다. 그 원인은 대개 장면 삭제, 느리거나 빠르게 변하는 페이드 (예를 들어 이전 장면에서 새로운 장면으로의 페이드), (카메라에서 비춰진 고광도의 빛, 액션 영화에서의 총격 등의 결과와 같은) 갑작스런 루미넌스 변화와 같은 자연 발생적인 현상 또는 특이 효과와 압축된 비디오 파라미터의 변화무쌍한 성질이 결합된 것이다. 전술한 시간적 및 공간적 천이인 경우에 인코더에 대한 파라미터 조정은 거의 불가능하게 된다.
본 발명의 원리에 따라, 특이 효과가 압측된 경우일지라도 고 화질 비디오 VBR 스트림이 제공된다. (특이 효과에 의해 생기는) VBR 인코더의 알고리즘적 불안정성을 감지하고 이전 부단원(sub-section)에서 기술한 과정과 상이한 궤적을 따라 GOP 타겟을 설정함으로써 이와 같은 것을 이룰 수 있다.
도 8은 연성 GOP에서 강성 GOP로의 천이가 인코딩될 장래의 GOP를 잘못추정하는 경우를 도시하고 있다. 이러한 잘못된 추정은 도 8에 '부적당한 동작점'이라표시되어 있다. 3 점 메디안 필터를 엄선된 파라미터 세트에 적용함으로써 훨씬 좋은 추정을 할 수 있다.
예를 들어 VBR 레이트 제어 기법 1 인 경우에 새로운 타겟은
으로 구해진다.
또 다른 예에서 VBR 레이트 제어 기법 2 인 경우에 새로운 타겟은
으로 구해지고, H(k)=a1(N* gop+γk)Nk -1이다.
예를 들어 연성 또는 강성인 모든 GOP 유형 내에서 발생할 수 있는 (장면 천이에 의해 생기는) 불안정성 조건을 보상하기 위해 메디안 필터가 사용된다. 상수 세트 {μ1, μ2, μ3}는 장면 천이 동안 생성된 비트 수에 대한 한계를 강화시킨다. 일 예에서 μ1은 1.0이고 μ2는 0.9이며 μ3는 0.9이다.
또한 장면 변화가 감지되는 경우에 수학식 23 및 수학식 24에 따른 GOP 타겟 할당을 사용할 수도 있다. 많은 장면 변화 감지 기법들은 여러 문헌에 나와있으므로 장면 삭제를 감지하는 방법을 본 명세서에 기술하지 않았다. 각 GOP에 대한 인코딩은 I 화상에서 시작되므로 이 화상의 위치가 시퀀스 내에서 장면 삭제되는 부분이라면 수학식 23 또는 수학식 24를 사용하여 새로운 타겟을 설정한다. 또한 인코더가 P 화상에 대한 장면 변화를 감지한 경우에 이 화상 유형이 I 유형으로 변화되고 새로운 GOP가 시작되며 수학식 23 또는 수학식 24에 따라 다시 새로운 타겟이 설정된다.
2.5 불안정성
수학식 1의 (R-Q) 관련성은 다양한 부류의 비디오 시퀀스에 아주 잘 작용하는 것으로 알려져 있으며, 많은 실시간 MPEG 및 비 MPEG 압축 시스템에 대해 사용되는 기본 개념이다. 그러나, 본 발명의 원리에 따라 이전 GOP의 평균 양자화 인자와 실제 평균 GOP 비트를 기초로 (R-Q) 관련성을 사용하여 임시적인 예측 모델을 설정함으로써 인코딩될 현재 GOP의 평균 비트을 추정하게 된다. 그러나 비록 특이 효과, 장면 천이 또는 장면 삭제가 없는 경우에도 몇 개의 비디오 세그먼트에 대해서는 이 예측 모델을 적용할 수 없다. 그 이유는 비디오 소스의 비정상성(non-stationary nature), 예를 들어 매우 높은 루미넌스 또는 크로미넌스의 상세 영상, 원하지 않는 잡음이 존재하는 장면 등을 배경으로 해서 느리게 움직이는 몇 개의 매우 상세한 물체와 관련된다.
도 9에는 인코더에 의해 유도된 두 점이 도시되어 있는데, 그 중 한 점은 복합곡선의 외부에 있다. 이 점은 전술한 기준의 결과로서관련성을 만족하지는 않는다. 또한 '부적당한 동작점'의 계산에 이 점이 사용된다.본 발명의 VBR 인코더는 수학식 23 또는 수학식 24에서 규정된 방법을 개선하는 데 일조함으로써 이러한 불안정성을 억제한다. 특히 GOP 비트는
로 정해지고,
이며, ω1, ω2는 필터의 가중치를 나타낸다. 일 예에서 ω1는 1.0이고 ω2도 1.0이며, 또다른 예에서 ω1는 1.0이고 ω2는 3.0이다.
수학식 25에서 Φ는 할당될 비트 수를 변조하기 위해 사용되는 상수이다. 예를 들어 MAX Φ는 1.1이고 MIN Φ는 0.9이다. 장래의 GOP가 이미 처리된 GOP와 똑같은 비디오 세그먼트에 속한다는 것을 전제로 문턱값 θL(예를 들어 0.1)과 θU(예를 들어 1.0)가 선택되고,은 이전 인코딩된 GOP의 비트에 선형 필터를 적용함으로써 결정되는 평균 GOP 비트이다. 이 선형 필터의 출력은 새로운 동작점이다. MAX와 MIN 함수를 사용하여불안정성을 초래하는 인코딩 비트 파라미터를 필터 출력한다.
고화질 비디오를 생성하면서 다루기 용이한 실시간 단일 패스 가변 비트 레이트를 제공하기 위한 기법들을 상세히 전술하였다. GOP에 할당될 비트 수의 추정값을 결정하고, 그 다음 다양한 기법을 사용하여 추정값을 세밀하게 한다.
본 발명은 예를 들어 컴퓨터 사용 매체를 구비한 하나의 제조 품목 (예를 들어 하나 이상의 컴퓨터 프로그램 제품) 내에 포함될 수 있다. 이 매체는 그 내부에 본 발명의 잠재성을 제공하고 용이하게 하는 예를 들어 컴퓨터 판독 가능 프로그램 코드 수단을 구현하고 있다. 이 제조 품목은 컴퓨터 시스템의 일부로서 포함될 수도 있고 별개로 판매될 수도 있다.
또한 기계에 의해 판독 가능한 적어도 하나의 프로그램 저장 소자를 제공하여, 이 소자가 본 발명의 잠재성을 실행하기 위해 그 기계에 의해 실행할 수 있는 적어도 하나의 명령 프로그램을 실체적으로 구현하게 할 수 있다.
본 명세서에 도시한 흐름도는 오직 예시를 위한 것이다. 본 발명의 정신을 벗어나지 않고 본 명세서에 기술된 이들 다이어그램 또는 단계(또는 동작)에 많은 변화를 줄 수 있다. 예를 들어 상이한 순서로 단계들이 수행될 수 있고 또는 단계가 추가되거나 생략되거나 수정될 수도 있다. 이러한 모든 변화는 본 발명의 청구범위의 일부분으로서 취급된다.
바람직한 실시예들이 본 명세서에 상세히 도시되고 기술되었지만, 본 발명의 정신을 벗어나지 않는 범위에서 본 기술 분야의 당업자라면 많은 변형, 추가 및 치환 등을 할 수 있음은 물론이고, 그러므로 이러한 것들이 첨부된 청구범위에 규정된 바와 같은 본 발명의 범위 내에 있는 것으로 생각해야 할 것이다.
본 발명에 따르면 고화질 비디오를 제공하는 실시간 단일 패스 가변 비트 레이트 인코딩 방안과 하드웨어로 용이하게 구현할 수 있는 실시간 단일 패스 가변 비트 레이트 인코딩 방안이 제공된다.

Claims (21)

  1. 프레임 그룹 처리 방법에 있어서,
    입력 스트림의 적어도 한 프레임 그룹을 인코딩하는 인코딩 단계와,
    전체 입력 스트림을 인코딩하기 전에 가변 비트 레이트 모드로 인코딩될 상기 입력 스트림의 또다른 프레임 그룹에 할당될 다수의 비트를 상기 인코딩 단계에서 얻은 하나 이상의 파라미터값을 사용하여 결정하는 결정 단계
    를 포함하는 프레임 그룹 처리 방법.
  2. 제 1 항에 있어서,
    상기 또다른 프레임 그룹을 단일 패스 가변 비트 레이트 모드로 인코딩 ― 상기 또다른 프레임 그룹은 오직 하나의 인코딩 패스로 인코딩됨 ― 하는 또다른 프레임 그룹 인코딩 단계를 추가로 포함하는 프레임 그룹 처리 방법.
  3. 제 2 항에 있어서,
    상기 입력 스트림의 다른 프레임 그룹들에 대하여 상기 결정 단계 ― 상기 다른 프레임 그룹들의 각각에 대하여 상기 결정 단계는 이전 인코딩된 하나 이상의 프레임 그룹에서 얻은 하나 이상의 파라미터값들을 사용함 ― 와 상기 또다른 프레임 그룹 인코딩 단계를 반복하는 반복 단계를 추가로 포함하는 프레임 그룹 처리 방법.
  4. 제 2 항에 있어서,
    상기 또다른 프레임 그룹 인코딩 단계는,
    상기 또다른 프레임 그룹의 하나 이상의 프레임에 할당될 이상적인 비트 수를 결정하는 비트 수 결정 단계와,
    디코더 버퍼에 대하여 오버플로우 조건과 언더플로우 조건 중의 적어도 한 조건이 만족하지 않도록 상기 이상적인 비트 수를 조정하는 비트 수 조정 단계
    를 포함하는 프레임 그룹 처리 방법.
  5. 제 2 항에 있어서,
    상기 또다른 프레임 그룹 인코딩 단계는 상기 또다른 프레임 그룹 내에 있는 화상 유형의 이상적인 타겟 비트 수를 조정하는 타겟 비트 수 조정 단계 ― 상기 타겟 비트 수 조정 단계는 상기 입력 스트림의 이전 인코딩된 프레임 그룹의 서브 에러 누적을 제 1 스케일링 인자를 사용하여 스케일링하고, 상기 또다른 프레임 그룹의 그룹들의 서브 에러 누적을 제 2 스케일링 인자를 사용하여 스케일링하는 스케일링 단계를 포함함 ― 를 포함하는 프레임 처리 방법.
  6. 제 1 항에 있어서,
    상기 결정 단계는
    상기 또다른 프레임 그룹에 대하여 이전 규정된 인지 함수의 기울기를 변조하는 변조 단계와,
    상기 비트 수를 결정하기 위해 비트 레이트 수식 내에 상기 변조된 기울기를 사용하는 단계
    를 포함하는 프레임 처리 방법.
  7. 제 1 항에 있어서,
    상기 결정 단계는,
    상기 또다른 프레임 그룹에 대하여 이전 규정된 인지 함수에 대한 전사 인자를 결정하는 전사 인자 결정 단계와,
    비트 레이트 수식에 상기 전사 인자를 사용하여 상기 비트 수를 결정하는 전사 인자 사용 단계
    를 포함하는 프레임 처리 방법.
  8. 프레임 그룹 처리 방법에 있어서,
    하나 이상의 이전 인코딩된 프레임 그룹에서 다수의 파라미터 값을 결정하는 결정 단계와,
    단일 패스 가변 비트 레이트 모드로 인코딩될 프레임 그룹에 대하여 상기 다수의 파라미터 값 중의 하나 이상 파라미터 값을 사용하여 이전 규정된 함수의 기울기를 계산하는 기울기 계산 단계와,
    인코딩될 상기 프레임 그룹에 대한 비트 레이트를 상기 계산된 기울기와 상기 다수의 파라미터 값 중의 하나 이상의 파라미터 값을 사용하여 생성하는 생성 단계
    를 포함하는 프레임 그룹 처리 방법.
  9. 제 21 항에 있어서,
    인코딩될 상기 프레임 그룹에 대해 생성된 상기 비트 레이트로 상기 가변 비트 레이트 모드로 인코딩될 상기 프레임 그룹을 인코딩하는 인코딩 단계를 추가로 포함하는 프레임 그룹 처리 방법.
  10. 프레임 그룹 처리 방법에 있어서,
    입력 스트림의 한 프레임 그룹에 할당될 비트 수를 결정하는 결정 단계 ― 상기 결정 단계는 상기 프레임 그룹의 복잡도를 나타내는 인지 모델과 상기 프레임 그룹의 즉각적인 레이트 양자화 성향을 사용함 ― 와,
    상기 결정 단계에서 규정된 레이트로 가변 비트 레이트 모드를 사용하여 상기 프레임 그룹을 인코딩하는 인코딩 단계
    를 포함하는 프레임 그룹 처리 방법.
  11. 단일 패스 가변 비트 레이트 인코더에 있어서,
    입력 스트림의 적어도 한 프레임 그룹을 인코딩하기에 적합한 인코딩 엔진과,
    상기 입력 스트림 전체를 인코딩하기 전에 가변 비트 레이트 모드로 인코딩될 상기 입력 스트림의 또다른 프레임 그룹에 할당될 다수의 비트를 상기 적어도 하나의 프레임 그룹을 인코딩하는 상기 인코딩 엔진에서 생성된 하나 이상의 파라미터값을 사용하여 결정하는 결정 수단
    을 포함하는 단일 패스 가변 비트 레이트 인코더.
  12. 제 33 항에 있어서,
    상기 인코딩 엔진은 단일 패스 가변 비트 레이트 모드로 상기 또다른 프레임 그룹을 인코딩하는 또다른 프레임 그룹 인코딩 수단을 포함하도록 추가로 적합하게되고, 상기 또다른 프레임 그룹은 오직 하나의 인코딩 패스로 인코딩되는 단일 패스 가변 비트 레이트 인코더.
  13. 제 34 항에 있어서,
    상기 또다른 프레임 그룹 인코딩 수단은,
    상기 또다른 프레임 그룹의 하나 이상의 프레임에 할당될 이상적 비트 수를 결정하는 비트 수 결정 수단과,
    오버플로우 조건과 언더플로우 조건 중의 적어도 어느 한 조건이 한 디코더 버퍼에 대하여 만족하지 않도록 상기 이상적 비트 수를 조정하는 비트 수 조정 수단
    을 포함하는 단일 패스 가변 비트 레이트 인코더.
  14. 제 33 항에 있어서,
    상기 결정 수단은,
    상기 또다른 프레임 그룹에 대하여 이전 규정된 인지 함수의 기울기를 변조하는 수단과,
    비트 레이트 수식에 상기 변조된 기울기를 사용하여 상기 비트 수를 결정하는 수단
    을 포함하는 단일 패스 가변 비트 레이트 인코더.
  15. 제 33 항에 있어서,
    상기 결정 수단은,
    상기 또다른 프레임 그룹에 대하여 이전 규정된 인지 함수에 대한 전사 인자를 결정하는 수단과,
    비트 레이트 수식 내에 상기 전사 인자를 사용하여 상기 비트 수를 결정하는 수단
    을 포함하는 단일 패스 가변 비트 레이트 인코더.
  16. 제 33 항에 있어서,
    상기 적어도 한 프레임 그룹은 상기 입력 스트림의 제 1 프레임 그룹과 제 2 프레임 그룹을 포함하고, 상기 하나 이상의 파라미터값은 상기 제 1 프레임 그룹에 대한 제 1 비트 레이트 및 제 1 양자와 인자와 상기 제 2 프레임 그룹에 대한 제 2 비트 레이트 및 제 2 양자화 인자를 포함하는 단일 패스 가변 비트 레이트 인코더.
  17. 제 39 항에 있어서,
    상기 결정 수단은 이전 규정된 함수 ― 상기 이전 규정된 함수는 상기 제 1 비트 레이트, 상기 제 2 비트 레이트, 상기 제 1 양자화 인자, 상기 제 2 양자화 인자를 사용함 ― 를 사용하여 상기 할당될 비트수를 결정하는 수단을 포함하는 단일 패스 가변 비트 레이트 인코더.
  18. 단일 패스 가변 비트 레이트 인코더에 있어서,
    하나 이상의 이전 인코딩된 프레임 그룹에서 다수의 파라미터 값을 결정하는 결정 수단과,
    단일 패스 가변 비트 레이트 모드로 인코딩될 프레임 그룹에 대하여 상기 다수의 파라미터 값 중의 하나 이상의 파라미터 값을 사용하여 이전 규정된 함수의 기울기를 계산하는 계산 수단과,
    인코딩될 상기 프레임 그룹에 대한 비트 레이트를 상기 계산된 기울기와 상기 다수의 파라미터 값 중의 하나 이상의 파라미터 값을 사용하여 생성하는 생성 수단
    을 포함하는 단일 패스 가변 비트 레이트 인코더.
  19. 단일 패스 가변 비트 레이트 인코더에 있어서,
    입력 스트림의 한 프레임 그룹에 할당될 비트 수를 결정하는 결정 수단 ― 상기 결정 수단은 상기 프레임 그룹의 복잡도를 나타내는 인지 모델과 상기 프레임 그룹의 즉각적인 레이트 양자화 성향을 사용함 ― 과,
    상기 결정 수단에서 규정된 레이트로 가변 비트 레이트 모드를 사용하여 상기 프레임 그룹을 인코딩하는 인코딩 엔진
    을 포함하는 단일 패스 가변 비트 레이트 인코더.
  20. 제조물에 있어서,
    프레임 그룹을 처리하기 위해 그 내부에 내장된 컴퓨터 판독 가능 프로그램 코드 수단을 구비한 적어도 하나의 컴퓨터 사용 가능 매체를 포함하고,
    상기 제조물 내의 상기 컴퓨터 판독 가능 프로그램 코드 수단은
    입력 스트림의 적어도 한 프레임 그룹을 컴퓨터로 하여금 인코딩하게 하는 인코딩 관련 컴퓨터 판독 가능 프로그램 코드 수단과,
    상기 입력 스트림 전체를 인코딩하기 전에 가변 비트 레이트 모드로 인코딩될 상기 입력 스트림의 또다른 프레임 그룹에 할당될 다수의 비트를 상기 인코딩 관련 컴퓨터 판독 가능 프로그램 코드 수단에서 얻은 하나 이상의 파라미터값을 사용하여 컴퓨터로 하여금 결정하게 하는 결정 관련 컴퓨터 판독 가능 프로그램 코드 수단
    을 포함하는 제조물.
  21. 제조물에 있어서,
    프레임 그룹을 처리하기 위해 그 내부에 내장된 컴퓨터 판독 가능 프로그램 코드 수단을 구비한 적어도 하나의 컴퓨터 사용 가능 매체를 포함하고,
    상기 제조물 내의 상기 컴퓨터 판독 가능 프로그램 코드 수단은,
    입력 스트림의 한 프레임 그룹에 할당될 비트 수를 컴퓨터로 하여금 결정하게 하는 결정 관련 컴퓨터 판독 가능 프로그램 코드 수단 ― 상기 컴퓨터 판독 가능 프로그램 코드 수단은 상기 프레임 그룹의 복잡도를 나타내는 인지 모델과 상기 프레임 그룹의 즉각적인 레이트 양자화 성향을 사용함 ― 과,
    상기 결정 관련 컴퓨터 판독 가능 프로그램 코드 수단에 의해 규정된 레이트로 가변 비트 레이트 모드를 사용하여 상기 프레임 그룹을 컴퓨터로 하여금 인코딩하게 하는 컴퓨터 판독 가능 프로그램 코드 수단
    을 포함하는 제조물.
KR1019990005614A 1998-03-19 1999-02-19 실시간 단일 패스 가변 비트 레이트 제어 방법 및 그 인코더 KR100305941B1 (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US09/044,642 US6278735B1 (en) 1998-03-19 1998-03-19 Real-time single pass variable bit rate control strategy and encoder
US09/044,642 1998-03-19
US9/044,642 1998-03-19

Publications (2)

Publication Number Publication Date
KR19990077445A KR19990077445A (ko) 1999-10-25
KR100305941B1 true KR100305941B1 (ko) 2001-09-26

Family

ID=21933502

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1019990005614A KR100305941B1 (ko) 1998-03-19 1999-02-19 실시간 단일 패스 가변 비트 레이트 제어 방법 및 그 인코더

Country Status (5)

Country Link
US (1) US6278735B1 (ko)
JP (1) JPH11346362A (ko)
KR (1) KR100305941B1 (ko)
SG (1) SG80615A1 (ko)
TW (1) TW404132B (ko)

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100988402B1 (ko) * 2004-06-27 2010-10-18 애플 인크. 멀티-패스 비디오 인코딩 방법
US8005139B2 (en) 2004-06-27 2011-08-23 Apple Inc. Encoding with visual masking
US8208536B2 (en) 2005-04-28 2012-06-26 Apple Inc. Method and apparatus for encoding using single pass rate controller
US8355436B2 (en) 2002-11-08 2013-01-15 Apple Inc. Method and apparatus for control of rate-distortion tradeoff by mode selection in video encoders
US8406293B2 (en) 2004-06-27 2013-03-26 Apple Inc. Multi-pass video encoding based on different quantization parameters
US8781002B2 (en) 2003-01-08 2014-07-15 Apple Inc. Method and apparatus for improved coding mode selection

Families Citing this family (107)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6845107B1 (en) * 1997-10-15 2005-01-18 Sony Corporation Video data multiplexer, video data multiplexing control method, method and apparatus for multiplexing encoded stream, and encoding method and apparatus
GB2333657B (en) 1998-01-22 2002-08-21 Snell & Wilcox Ltd Video signal compression
GB2333656B (en) * 1998-01-22 2002-08-14 British Broadcasting Corp Compressed signals
GB2335104B (en) 1998-03-06 2002-01-30 British Broadcasting Corp Cascading of up conversion and down conversion
GB2337389B (en) 1998-05-15 2002-05-29 Snell & Wilcox Ltd Video signal processing
GB9822092D0 (en) 1998-10-09 1998-12-02 Snell & Wilcox Ltd Analysis of compression decoded sequences
GB9822094D0 (en) 1998-10-09 1998-12-02 Snell & Wilcox Ltd Improvements in data compression
GB9822087D0 (en) 1998-10-09 1998-12-02 Snell & Wilcox Ltd Improvements in data compression
GB9824061D0 (en) 1998-11-03 1998-12-30 Snell & Wilcox Ltd Film sequence detection (nt4)
US6700623B1 (en) 1998-12-10 2004-03-02 Snell & Wilcox Limited Video signal processing using triplets of pixels
GB2346282B (en) * 1999-01-28 2003-02-19 Snell & Wilcox Ltd Bit rate control in compression encoding
US6453424B1 (en) * 1999-03-31 2002-09-17 International Business Machines Corporation System and method for temporally controlling instruction execution
FR2792798B1 (fr) * 1999-04-26 2001-05-25 Thomson Multimedia Sa Procede et dispositif de quantification pour compression video
EP1061750A3 (en) * 1999-06-18 2010-05-05 THOMSON multimedia Picture compression process, especially of the MPEG2 type
DE19946267C2 (de) * 1999-09-27 2002-09-26 Harman Becker Automotive Sys Digitales Transcodiersystem
GB2361126B (en) * 2000-04-05 2004-04-21 Snell & Wilcox Ltd Spatial video processing
US20020021756A1 (en) * 2000-07-11 2002-02-21 Mediaflow, Llc. Video compression using adaptive selection of groups of frames, adaptive bit allocation, and adaptive replenishment
JP4256574B2 (ja) * 2000-08-04 2009-04-22 富士通株式会社 画像信号符号化方法および画像信号符号化装置
US6741648B2 (en) * 2000-11-10 2004-05-25 Nokia Corporation Apparatus, and associated method, for selecting an encoding rate by which to encode video frames of a video sequence
US6990144B2 (en) * 2000-12-11 2006-01-24 Sony Corporation System and method for overrun catch-up in a real-time software
KR100394014B1 (ko) * 2001-06-23 2003-08-09 엘지전자 주식회사 영상 변환 부호화 장치
US7062445B2 (en) * 2001-01-26 2006-06-13 Microsoft Corporation Quantization loop with heuristic approach
US6947598B2 (en) * 2001-04-20 2005-09-20 Front Porch Digital Inc. Methods and apparatus for generating, including and using information relating to archived audio/video data
US7206453B2 (en) * 2001-05-03 2007-04-17 Microsoft Corporation Dynamic filtering for lossy compression
US6859494B2 (en) * 2001-07-27 2005-02-22 General Instrument Corporation Methods and apparatus for sub-pixel motion estimation
US6941017B2 (en) * 2001-09-18 2005-09-06 Tektronix, Inc. Temporal processing for realtime human vision system behavior modeling
FR2831742B1 (fr) * 2001-10-25 2004-02-27 Cit Alcatel Procede de transmission de paquets par l'intermediaire d'un reseau de telecommunications utilisant le protocole ip
US7356079B2 (en) 2001-11-21 2008-04-08 Vixs Systems Inc. Method and system for rate control during video transcoding
US7403564B2 (en) * 2001-11-21 2008-07-22 Vixs Systems, Inc. System and method for multiple channel video transcoding
FR2832582A1 (fr) * 2001-11-21 2003-05-23 Canon Kk Procede et dispositif de determination d'au moins un parametre de codage de donnees multimedia
US7027982B2 (en) * 2001-12-14 2006-04-11 Microsoft Corporation Quality and rate control strategy for digital audio
US6847682B2 (en) * 2002-02-01 2005-01-25 Hughes Electronics Corporation Method, system, device and computer program product for MPEG variable bit rate (VBR) video traffic classification using a nearest neighbor classifier
US20040057465A1 (en) * 2002-09-24 2004-03-25 Koninklijke Philips Electronics N.V. Flexible data partitioning and packetization for H.26L for improved packet loss resilience
US7277486B2 (en) * 2002-05-03 2007-10-02 Microsoft Corporation Parameterization for fading compensation
US7609767B2 (en) * 2002-05-03 2009-10-27 Microsoft Corporation Signaling for fading compensation
KR100848457B1 (ko) * 2002-05-06 2008-07-28 주식회사 케이티 비디오 인코더의 비트발생 제한 및 버퍼넘침 방지 방법
US7543326B2 (en) * 2002-06-10 2009-06-02 Microsoft Corporation Dynamic rate control
US20030235250A1 (en) * 2002-06-24 2003-12-25 Ankur Varma Video deblocking
US6980695B2 (en) * 2002-06-28 2005-12-27 Microsoft Corporation Rate allocation for mixed content video
FR2851397B1 (fr) * 2003-02-14 2005-05-13 Canon Europa Nv Procede et dispositif d'analyse de sequences video dans un reseau de communication
US8194751B2 (en) * 2003-02-19 2012-06-05 Panasonic Corporation Moving picture coding method and moving picture decoding method
BRPI0411757A (pt) * 2003-06-26 2006-09-19 Thomson Licensing controle de taxa de vìdeo multipasse para casar restrições de canal de janela deslizante
US7383180B2 (en) * 2003-07-18 2008-06-03 Microsoft Corporation Constant bitrate media encoding techniques
US7738554B2 (en) 2003-07-18 2010-06-15 Microsoft Corporation DC coefficient signaling at small quantization step sizes
US7343291B2 (en) 2003-07-18 2008-03-11 Microsoft Corporation Multi-pass variable bitrate media encoding
US7580584B2 (en) * 2003-07-18 2009-08-25 Microsoft Corporation Adaptive multiple quantization
US7602851B2 (en) * 2003-07-18 2009-10-13 Microsoft Corporation Intelligent differential quantization of video coding
US10554985B2 (en) 2003-07-18 2020-02-04 Microsoft Technology Licensing, Llc DC coefficient signaling at small quantization step sizes
US8218624B2 (en) * 2003-07-18 2012-07-10 Microsoft Corporation Fractional quantization step sizes for high bit rates
US8009739B2 (en) * 2003-09-07 2011-08-30 Microsoft Corporation Intensity estimation/compensation for interlaced forward-predicted fields
US7535959B2 (en) 2003-10-16 2009-05-19 Nvidia Corporation Apparatus, system, and method for video encoder rate control
FR2867291B1 (fr) * 2004-03-08 2006-05-19 Canon Kk Procede et dispositif d'acces a une image numerique stockee sur un ordinateur serveur
US7801383B2 (en) 2004-05-15 2010-09-21 Microsoft Corporation Embedded scalar quantizers with arbitrary dead-zone ratios
US7590059B2 (en) * 2004-05-21 2009-09-15 Broadcom Corp. Multistandard video decoder
US7474701B2 (en) * 2004-09-23 2009-01-06 International Business Machines Corporation Single pass variable bit rate control strategy and encoder for processing a video frame of a sequence of video frames
US9781433B2 (en) * 2005-01-26 2017-10-03 Avago Technologies General Ip (Singapore) Pte. Ltd. Systems, methods, and apparatus for real-time video encoding
US8565301B2 (en) * 2005-03-10 2013-10-22 Qualcomm Incorporated Quasi-constant-quality rate control with look-ahead
US20060227870A1 (en) * 2005-03-10 2006-10-12 Tao Tian Context-adaptive bandwidth adjustment in video rate control
US7974193B2 (en) 2005-04-08 2011-07-05 Qualcomm Incorporated Methods and systems for resizing multimedia content based on quality and rate information
US8422546B2 (en) 2005-05-25 2013-04-16 Microsoft Corporation Adaptive video encoding using a perceptual model
US8582905B2 (en) * 2006-01-31 2013-11-12 Qualcomm Incorporated Methods and systems for rate control within an encoding device
JP4795223B2 (ja) * 2006-01-31 2011-10-19 キヤノン株式会社 画像処理装置
US8130828B2 (en) 2006-04-07 2012-03-06 Microsoft Corporation Adjusting quantization to preserve non-zero AC coefficients
US8503536B2 (en) 2006-04-07 2013-08-06 Microsoft Corporation Quantization adjustments for DC shift artifacts
US7995649B2 (en) 2006-04-07 2011-08-09 Microsoft Corporation Quantization adjustment based on texture level
US8059721B2 (en) 2006-04-07 2011-11-15 Microsoft Corporation Estimating sample-domain distortion in the transform domain with rounding compensation
US7974340B2 (en) 2006-04-07 2011-07-05 Microsoft Corporation Adaptive B-picture quantization control
US8711925B2 (en) 2006-05-05 2014-04-29 Microsoft Corporation Flexible quantization
US20100111163A1 (en) * 2006-09-28 2010-05-06 Hua Yang Method for p-domain frame level bit allocation for effective rate control and enhanced video encoding quality
US8238424B2 (en) 2007-02-09 2012-08-07 Microsoft Corporation Complexity-based adaptive preprocessing for multiple-pass video compression
US8498335B2 (en) 2007-03-26 2013-07-30 Microsoft Corporation Adaptive deadzone size adjustment in quantization
US8243797B2 (en) 2007-03-30 2012-08-14 Microsoft Corporation Regions of interest for quality adjustments
US8442337B2 (en) 2007-04-18 2013-05-14 Microsoft Corporation Encoding adjustments for animation content
US8331438B2 (en) 2007-06-05 2012-12-11 Microsoft Corporation Adaptive selection of picture-level quantization parameters for predicted video pictures
US8254455B2 (en) 2007-06-30 2012-08-28 Microsoft Corporation Computing collocated macroblock information for direct mode macroblocks
US8750390B2 (en) * 2008-01-10 2014-06-10 Microsoft Corporation Filtering and dithering as pre-processing before encoding
US8160132B2 (en) 2008-02-15 2012-04-17 Microsoft Corporation Reducing key picture popping effects in video
US8189933B2 (en) 2008-03-31 2012-05-29 Microsoft Corporation Classifying and controlling encoding quality for textured, dark smooth and smooth video content
US8325800B2 (en) 2008-05-07 2012-12-04 Microsoft Corporation Encoding streaming media as a high bit rate layer, a low bit rate layer, and one or more intermediate bit rate layers
US8379851B2 (en) 2008-05-12 2013-02-19 Microsoft Corporation Optimized client side rate control and indexed file layout for streaming media
US7925774B2 (en) 2008-05-30 2011-04-12 Microsoft Corporation Media streaming using an index file
US8897359B2 (en) 2008-06-03 2014-11-25 Microsoft Corporation Adaptive quantization for enhancement layer video coding
US9571856B2 (en) 2008-08-25 2017-02-14 Microsoft Technology Licensing, Llc Conversion operations in scalable video encoding and decoding
US8265140B2 (en) 2008-09-30 2012-09-11 Microsoft Corporation Fine-grained client-side control of scalable media delivery
US9143788B2 (en) * 2008-11-13 2015-09-22 Thomson Licensing Multiple thread video encoding using HRD information sharing and bit allocation waiting
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
US8189666B2 (en) 2009-02-02 2012-05-29 Microsoft Corporation Local picture identifier and computation of co-located information
US20100223396A1 (en) * 2009-02-27 2010-09-02 Yahoo! Inc. Intelligent status polling
WO2011050997A1 (en) 2009-10-29 2011-05-05 Thomas Sikora Method and device for processing a video sequence
US8331709B2 (en) * 2010-04-14 2012-12-11 Newport Media, Inc. Fixed buffer real-time image compression technique
US8705616B2 (en) 2010-06-11 2014-04-22 Microsoft Corporation Parallel multiple bitrate video encoding to reduce latency and dependences between groups of pictures
EP2472868A1 (en) 2010-12-29 2012-07-04 British Telecommunications Public Limited Company Video coding
US9271005B2 (en) * 2011-02-24 2016-02-23 Vixs Systems, Inc. Multi-pass video encoder and methods for use therewith
US9159139B2 (en) * 2011-07-14 2015-10-13 Technische Universitat Berlin Method and device for processing pixels contained in a video sequence
US9591318B2 (en) 2011-09-16 2017-03-07 Microsoft Technology Licensing, Llc Multi-layer encoding and decoding
EP2795896A4 (en) 2011-12-21 2015-05-20 Intel Corp DRAM COMPRESSION SYSTEM FOR REDUCING ELECTRICAL CONSUMPTION DURING MOTION COMPENSATION AND REFRESHING THE DISPLAY
US11089343B2 (en) 2012-01-11 2021-08-10 Microsoft Technology Licensing, Llc Capability advertisement, configuration and control for video coding and decoding
US20130279882A1 (en) 2012-04-23 2013-10-24 Apple Inc. Coding of Video and Audio with Initialization Fragments
CN103517080A (zh) * 2012-06-21 2014-01-15 北京数码视讯科技股份有限公司 实时视频流编码器和实时视频流编码方法
US10152389B2 (en) 2015-06-19 2018-12-11 Western Digital Technologies, Inc. Apparatus and method for inline compression and deduplication
US9552384B2 (en) * 2015-06-19 2017-01-24 HGST Netherlands B.V. Apparatus and method for single pass entropy detection on data transfer
JP6537396B2 (ja) * 2015-08-03 2019-07-03 キヤノン株式会社 画像処理装置、撮像装置および画像処理方法
EP3376766B1 (en) * 2017-03-14 2019-01-30 Axis AB Method and encoder system for determining gop length for encoding video
US10750175B2 (en) * 2017-05-04 2020-08-18 Sony Corporation Quantization partitioning for enhanced image compression
US10602147B2 (en) * 2018-07-10 2020-03-24 Samsung Display Co., Ltd. Efficient entropy coding group grouping methodology for transform mode
US10863179B1 (en) * 2018-09-05 2020-12-08 Amazon Technologies, Inc. Overlapped rate control for high-quality segmented video encoding
TWI806707B (zh) * 2022-07-13 2023-06-21 緯創資通股份有限公司 通訊方法及其通訊裝置

Family Cites Families (30)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5134476A (en) * 1990-03-30 1992-07-28 At&T Bell Laboratories Video signal encoding with bit rate control
JPH04358486A (ja) 1991-06-04 1992-12-11 Toshiba Corp 高能率符号化信号処理装置
US5231484A (en) 1991-11-08 1993-07-27 International Business Machines Corporation Motion video compression system with adaptive bit allocation and quantization
US5241383A (en) 1992-05-13 1993-08-31 Bell Communications Research, Inc. Pseudo-constant bit rate video coding with quantization parameter adjustment
US5426463A (en) 1993-02-22 1995-06-20 Rca Thomson Licensing Corporation Apparatus for controlling quantizing in a video signal compressor
US5703646A (en) 1993-04-09 1997-12-30 Sony Corporation Picture encoding method, picture encoding apparatus and picture recording medium
WO1995013682A1 (en) * 1993-11-08 1995-05-18 Sony Corporation Animation encoding method, animation decoding method, animation recording medium and animation encoder
JP3224465B2 (ja) * 1993-12-22 2001-10-29 シャープ株式会社 画像符号化装置
US5764698A (en) * 1993-12-30 1998-06-09 International Business Machines Corporation Method and apparatus for efficient compression of high quality digital audio
JPH07212710A (ja) 1994-01-21 1995-08-11 Hitachi Ltd 画像送信方法および画像送信装置および画像受信方法および画像受信装置および可変速度対応蓄積装置
EP0670663A1 (fr) * 1994-03-02 1995-09-06 Laboratoires D'electronique Philips S.A.S. Procédé et dispositif de codage de signaux numériques représentatifs d'une séquence d'images
US5566208A (en) 1994-03-17 1996-10-15 Philips Electronics North America Corp. Encoder buffer having an effective size which varies automatically with the channel bit-rate
US5877814A (en) * 1994-04-20 1999-03-02 Thomson Consumer Electronics, Inc. Asynchronous control signal generating apparatus
TW374283B (en) * 1994-05-25 1999-11-11 Sony Corp A multiple coding device
EP0710033A3 (en) * 1994-10-28 1999-06-09 Matsushita Electric Industrial Co., Ltd. MPEG video decoder having a high bandwidth memory
US5606369A (en) 1994-12-28 1997-02-25 U.S. Philips Corporation Buffering for digital video signal encoders using joint bit-rate control
US5539469A (en) * 1994-12-30 1996-07-23 Daewoo Electronics Co., Ltd. Apparatus for determining motion vectors through the use of an adaptive median filtering technique
FR2736743B1 (fr) 1995-07-10 1997-09-12 France Telecom Procede de controle de debit de sortie d'un codeur de donnees numeriques representatives de sequences d'images
JPH0937242A (ja) 1995-07-21 1997-02-07 Nippon Telegr & Teleph Corp <Ntt> 可変ビットレート画像信号符号化装置
JPH0970041A (ja) 1995-08-30 1997-03-11 Kokusai Denshin Denwa Co Ltd <Kdd> 可変ビットレート符号化装置
JPH0974566A (ja) * 1995-09-04 1997-03-18 Sony Corp 圧縮符号化装置及び圧縮符号化データの記録装置
JPH0993537A (ja) 1995-09-27 1997-04-04 Mitsubishi Electric Corp ディジタル映像信号記録再生装置及びディジタル映像信号符号化方法
US5675384A (en) 1995-10-03 1997-10-07 Nec Usa, Inc. VBR MPEG video encoding for ATM networks with dynamic bandwidth renegotiation
JP2000506686A (ja) * 1995-10-25 2000-05-30 サーノフ コーポレイション オーバラップブロック動き補償及びゼロツリーウェーブレット符号化を用いる低ビットレートビデオ符号化器
US5682204A (en) 1995-12-26 1997-10-28 C Cube Microsystems, Inc. Video encoder which uses intra-coding when an activity level of a current macro-block is smaller than a threshold level
KR970057960A (ko) 1995-12-27 1997-07-31 구자홍 디지탈 동영상 압축장치
US5715176A (en) 1996-01-23 1998-02-03 International Business Machines Corporation Method and system for locating a frame position in an MPEG data stream
DE69701515T2 (de) 1996-03-02 2000-07-20 Thomson Brandt Gmbh Verfahren und vorrichtung zum kodieren und dekodieren digitaler videodaten
FR2748623B1 (fr) 1996-05-09 1998-11-27 Thomson Multimedia Sa Encodeur a debit variable
US5987179A (en) * 1997-09-05 1999-11-16 Eastman Kodak Company Method and apparatus for encoding high-fidelity still images in MPEG bitstreams

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8355436B2 (en) 2002-11-08 2013-01-15 Apple Inc. Method and apparatus for control of rate-distortion tradeoff by mode selection in video encoders
US8781002B2 (en) 2003-01-08 2014-07-15 Apple Inc. Method and apparatus for improved coding mode selection
KR100988402B1 (ko) * 2004-06-27 2010-10-18 애플 인크. 멀티-패스 비디오 인코딩 방법
US8005139B2 (en) 2004-06-27 2011-08-23 Apple Inc. Encoding with visual masking
US8406293B2 (en) 2004-06-27 2013-03-26 Apple Inc. Multi-pass video encoding based on different quantization parameters
US8594190B2 (en) 2004-06-27 2013-11-26 Apple Inc. Encoding with visual masking
US8208536B2 (en) 2005-04-28 2012-06-26 Apple Inc. Method and apparatus for encoding using single pass rate controller

Also Published As

Publication number Publication date
JPH11346362A (ja) 1999-12-14
KR19990077445A (ko) 1999-10-25
TW404132B (en) 2000-09-01
SG80615A1 (en) 2001-05-22
US6278735B1 (en) 2001-08-21

Similar Documents

Publication Publication Date Title
KR100305941B1 (ko) 실시간 단일 패스 가변 비트 레이트 제어 방법 및 그 인코더
US7512181B2 (en) Single pass variable bit rate control strategy and encoder for processing a video frame of a sequence of video frames
US6654417B1 (en) One-pass variable bit rate moving pictures encoding
US6650705B1 (en) Method for encoding and transcoding multiple video objects with variable temporal resolution
US7822118B2 (en) Method and apparatus for control of rate-distortion tradeoff by mode selection in video encoders
CA2491522C (en) Efficient compression and transport of video over a network
KR100610520B1 (ko) 비디오 데이터 부호화 장치, 비디오 데이터 부호화 방법, 비디오데이터 전송 장치 및 비디오 데이터 기록 매체
US20060269156A1 (en) Image processing apparatus and method, recording medium, and program
EP1445958A1 (en) Quantization method and system, for instance for video MPEG applications, and computer program product therefor
KR20000005110A (ko) 지각 메트릭을 이용하는 이미지 코딩시스템에서 엔코딩 최적화및 자동 조정가능 이미지 압축을 위한 장치 및 방법
US7095784B2 (en) Method and apparatus for moving picture compression rate control using bit allocation with initial quantization step size estimation at picture level
US7373004B2 (en) Apparatus for constant quality rate control in video compression and target bit allocator thereof
US20050036548A1 (en) Method and apparatus for selection of bit budget adjustment in dual pass encoding
JP4081727B2 (ja) 画像符号化装置および画像符号化方法、並びに記録装置および記録方法
KR100394014B1 (ko) 영상 변환 부호화 장치
JP2005513896A (ja) コーディング画像
JP4586340B2 (ja) 符号化装置、および、符号化方法、並びに、プログラム
KR100513721B1 (ko) 영상의 배경 특성을 이용한 영상 부호화 장치 및 방법
Sun et al. Scene adaptive parameters selection for MPEG syntax based HDTV coding
Cai et al. A high-performance and low-complexity video transcoding scheme for video streaming over wireless links
JPH11196423A (ja) 画像処理装置および方法、並びに提供媒体
Pai Rate control and constant quality rate control for MPEG video compression and transcoding

Legal Events

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

Payment date: 20060725

Year of fee payment: 6

LAPS Lapse due to unpaid annual fee