KR20070001112A - 적응형 레이트 제어를 구비한 인코더 - Google Patents

적응형 레이트 제어를 구비한 인코더 Download PDF

Info

Publication number
KR20070001112A
KR20070001112A KR1020067015359A KR20067015359A KR20070001112A KR 20070001112 A KR20070001112 A KR 20070001112A KR 1020067015359 A KR1020067015359 A KR 1020067015359A KR 20067015359 A KR20067015359 A KR 20067015359A KR 20070001112 A KR20070001112 A KR 20070001112A
Authority
KR
South Korea
Prior art keywords
macroblock
frame
buffer
bits
level
Prior art date
Application number
KR1020067015359A
Other languages
English (en)
Other versions
KR101169108B1 (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 KR20070001112A publication Critical patent/KR20070001112A/ko
Application granted granted Critical
Publication of KR101169108B1 publication Critical patent/KR101169108B1/ko

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/189Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the adaptation method, adaptation tool or adaptation type used for the adaptive coding
    • H04N19/19Methods 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 using optimisation based on Lagrange multipliers
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/124Quantisation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/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/132Sampling, masking or truncation of coding units, e.g. adaptive resampling, frame skipping, frame interpolation or high-frequency transform coefficient masking
    • 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/147Data rate or code amount at the encoder output according to rate distortion criteria
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/146Data rate or code amount at the encoder output
    • H04N19/15Data rate or code amount at the encoder output by monitoring actual compressed data size at the memory before deciding storage at the transmission buffer
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/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/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/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/17Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object
    • H04N19/172Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object the region being a picture, frame or field

Landscapes

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

Abstract

매크로블록으로 분할가능한 이미지 프레임을 인코딩하는 비디오 인코더(100)가 개시된다. 비디오 인코더(100)는 이미지 프레임의 매크로블록에 대해 QP 추정을 생성하는 수단(130)을 포함한다. 비디오 인코더는 또한 매크로블록에 대한 QP 추정의 평균값, 중간값, 및 모드 중 하나를 사용하여, 이미지 프레임에 대한 프레임 레벨 양자화 파라미터(QP)를 선택하는 수단(130)을 포함한다. 비디오를 인코딩하는 방법으로서, 매크로블록으로 분할가능한 이미지 프레임을 인코딩하는 방법이 개시된다. 상기 방법은 이미지 프레임의 매크로블록에 대해 양자화 파라미터(QP) 추정을 생성하고(225), 매크로블록에 대한 QP 추정의 평균값, 중간값, 및 모드 중 하나를 사용하여, 이미지 프레임에 대한 프레임 레벨 QP를 선택한다(230).
비디오, 이미지, 프레임, 매크로블록, 인터 코딩, 인트라 코딩, 양자화

Description

적응형 레이트 제어를 구비한 인코더{ENCODER WITH ADAPTIVE RATE CONTROL}
본 발명은 2004년 1월 30일 출원되고 발명의 명칭이 "ENCODER WITH ADAPTIVE RATE CONTROL"이며 그 전체가 본 명세서에서 참조로 사용되는 미국 가출원 번호 제60/540,634호(대리인 문서 번호 PU040035)를 우선권 주장한다.
본 발명은 일반적으로 비디오 인코더에 관한 것으로, 보다 상세하게는 적응형 레이트 제어를 구비한 비디오 인코더에 관한 것이다.
레이트 제어는, JVT(Joint Video Team) 비디오 인코더에서, 한정된 버퍼 크기를 갖는 고정 채널 대역폭 애플리케이션용으로 필요할 때에 특정의 제한 비트레이트를 달성하기 위해 필요하다. 서로 다른 복잡도 특성을 갖는 섹션, 예를 들면, 장면(scene)이 변하고 디졸브(dissolve)되는 섹션을 포함하는 비디오 콘텐츠상에서, 버퍼 오버플로우(overflow) 및 언더플로우(underflow)를 회피하는 것이 더 요구된다.
레이트 제어는 이전 비디오 압축 표준용으로 연구되어 왔다. H.263+용으로 TMN8이 제안되었다. TMN8 레이트 제어는 프레임-계층 레이트 제어를 사용하여 현재 프레임에 대한 비트의 타겟 수를 선택하고 매크로블록-계층 제어를 사용하여 매크로블록에 대한 양자화 파라미터(QP)의 값을 선택한다.
프레임-계층 레이트 제어에서, 현재 프레임에 대한 비트의 타겟 수는 다음의 수학식 1 내지 수학식 3에 의해서 결정된다.
Figure 112006054630817-PCT00001
Figure 112006054630817-PCT00002
Figure 112006054630817-PCT00003
여기에서, B는 프레임에 대한 비트의 타겟 수이고, R은 초당 비트수에서의 채널 레이트이며, F는 초당 프레임수에서의 프레임 레이트이고, W는 인코더 버퍼에서의 비트 수이며, M은 최대 버퍼 크기이고, Wprev는 버퍼에서의 비트의 이전 수이고, B'은 이전 프레임을 인코딩하는데 사용된 비트의 실제 수이며, Z=0.1은 낮은 지연을 달성하기 위해 디폴트로 설정된다.
매크로블록-계층 레이트 제어는, 프레임에 있는 모든 매크로블록에 대한 양자화 스텝 크기의 값을 선택함으로써, 매크로블록 비트의 합이 비트의 프레임 타겟 수(B)에 근사하게 된다. 프레임에 있는 매크로블록(i)에 대한 최적 양자화 스텝 크기(Qi*)는 수학식 4에 의해 결정될 수 있다.
Figure 112006054630817-PCT00004
여기에서, K는 모델 파라미터이고, A는 매크로블록에 있는 픽셀의 수이며, Ni는 프레임에서 인코딩되기 위해 남아있는 매크로블록의 수이고, σi는 i번째 매크로블록에 있는 레시듀(residue)의 표준 편차이며, αi는 i번째 매크로블록의 왜곡 가중치이고, C는 오버헤드 레이트이며, βi는 초기화 단계에서 β1=B를 설정함으로써 프레임을 인코딩하기 위해 남은 비트의 수이다.
TMN8 기법은 간단하고 고품질 및 정확한 비트 레이트 모두를 달성할 수 있는 것으로 알려져 있지만, H.264에는 그리 적절하지 않다. 레이트-왜곡 최적화(Rate-distortion optimization; RDO)(예를 들면, 레이트-제약 움직임 보상 및 모드 결정)는 모드 결정 및 움직임 추정을 위한 H.264에서 폭넓게 수용되는 접근법이며, 여기에서, (라그랑쥬 최적화에서 λ를 결정하기 위해 사용되는) 양자화 파라미터(QP)는 RDO가 수행되기 전에 결정될 필요가 있다. 그러나, TMN8 모델은 QP를 추정하기 위해 예측 에러 신호(레시듀)의 통계를 필요로 하며, 이것은 움직임 추정 및 모드 결정을 QP가 결정되기 전에 수행할 필요가 있다는 것을 의미하는 것이므로, 그 결과, 각각의 값은 결정에 기초가 되는 다른 계산되지 않은 값을 알아야할 필요가 있기 때문에, 어느 의존 파라미터를 처음에 계산해야 하는지의 딜레마가 발생하게 된다.
전술한 딜레마를 극복하기 위해, H.264 레이트 제어용으로 제안되고 JVT JM 기준 소프트웨어 릴리즈 JM7.4에 채용되는 방법(이후 "종래의 제1 방법"이라 함)은 동일 유형을 갖는 가장 최근 코딩된 픽처에 있는 배열된 매크로블록의 레시듀를 사 용하여 현재 매크로블록의 레시듀를 예측한다. 더욱이, 상기 딜레마를 극복하기 위해, H.264 레이트 제어용으로 제안된 또 다른 방법(이후 "종래의 제2 방법"이라 함)은 2 단계 인코딩을 채용하며, 여기에서, 이전 픽처(QPprev)의 QP를 우선적으로 사용하여 레시듀를 생성한 후, 그 레시듀를 기초로 현재 매크로블록의 QP를 추정한다. 전자의 접근법(즉, 종래의 제1 방법)은 간단하지만, 정확도가 떨어진다. 후자의 접근법(즉, 종래의 제2 방법)은 보다 정확하지만, 다수의 인코딩을 필요로 하여 복잡도가 상당히 증가하게 된다.
상기 종래 기술의 상기 단점, 다른 단점 및 결점은, 적응형 레이트 레이트 제어를 구비한 인코더에 관한 본 발명에 의해 해결된다.
본 발명의 일 양상에 따라, 매크로블록으로 분할가능한 이미지 프레임을 인코딩하는 비디오 인코더가 제공된다. 상기 비디오 인코더는 이미지 프레임의 매크로블록에 대한 양자화 파라미터(QP) 추정을 생성하는 수단을 포함한다. 상기 비디오 인코더는 또한 매크로블록에 대한 QP 추정 모드, 평균값 및 중간값 중 하나를 사용하여, 이미지 프레임에 대한 프레임 레벨 QP를 선택하는 수단을 포함한다.
본 발명의 다른 양상에 따라, 매크로블록으로 분할가능한 이미지 프레임을 인코딩하는 방법이 제공된다. 상기 방법은 이미지 프레임의 매크로블록에 대한 양자화 파라미터 추정을 생성하는 단계를 포함한다. 상기 방법은 또한 매크로블록에 대한 QP 추정 모드, 평균값 및 중간값 중 하나를 사용하여, 이미지 프레임에 대한 프레임 레벨 QP를 선택하는 단계를 포함한다.
본 발명의 이들 및 다른 양상, 특징 및 잇점은 첨부 도면과 결합하여 후술하는 예시적인 실시예의 상세한 설명을 읽음으로써 자명해질 것이다.
본 발명은 후술하는 예시적 도면에 따라 보다 잘 이해될 것이다.
도 1은 비디오 인코더에 대한 블록도를 도시한다.
도 2는 본 발명의 원리에 따라 레이트 제어를 하는 인코딩 프로세스의 흐름도를 도시한다.
본 발명은 적응형 레이트 제어를 하는 인코더에 관한 것이다. 본 발명은, 특히, 서로 다른 복잡도 특성을 갖는 섹션을 포함하는 비디오 콘텐츠의 경우에, 비디오 인코더에서 버퍼 오버플로우 및 언더플로우를 회피하는 잇점이 있다.
본 설명은 본 발명의 원리를 설명한다. 따라서, 본 명세서에서 상세하게 설명되거나 도시되지 않더라도, 본 기술 분야에 능숙한 자는 본 발명의 원리를 구체화하고 본 발명의 사상 및 범위 내에 포함되는 다양한 배치를 안출할 수 있다는 것이 이해될 것이다.
본 명세서에 인용된 모든 예 및 조건부 언어는 본 발명의 원리 및 본 기술을 촉진하기 위해 발명자가 기고한 개념에 대한 이해를 돕기 위한 교육적 목적용이고, 특히 인용된 그러한 예 및 조건에 한정되지 않고 해석되어야 한다.
더욱이, 본 명세서에서 본 발명의 원리, 양상 및 실시예를 인용하는 모든 진술 및 그들의 특정예는 구조적 및 기능적 등가물 모두를 포함하는 것을 의도로 한 다. 부가적으로, 그러한 등가물은 현재 공지된 등가물뿐만 아니라 미래에 개발되는 등가물, 즉, 구조에 관계없이 동일한 기능을 수행하는 것으로 개발되는 임의의 구성요소 모두를 포함하는 것을 의도한다.
따라서, 예를 들면, 본 명세서에서 제공되는 블록도는 본 발명의 원리를 구체화하는 예시적 회로의 개념적 보기를 나타낸다는 것을 본 분야에 능숙한 자에게는 이해될 것이다. 유사하게, 임의의 흐름도, 흐름 다이어그램, 상태 전이 다이어그램, 의사코드 등은 실질적으로 컴퓨터 판독가능 매체에 제공될 수 있고, 따라서, 컴퓨터 또는 프로세서가 상세하게 도시되건 도시되지 않건 간에, 그러한 컴퓨터 또는 프로세서에 의해 실행될 수 있는 다양한 프로세스를 나타낸다는 것이 이해될 것이다.
도면에 도시된 다양한 구성요소의 기능은 전용 하드웨어뿐만 아니라 적절한 소프트웨어와 관계하여 소프트웨어를 실행할 수 있는 하드웨어의 사용을 통해 제공될 수 있다. 기능이 프로세서에 의해 제공될 때, 상기 기능은 단일 전용 프로세서에 의해, 단일 공유 프로세서에 의해, 또는 일부가 공유될 수 있는 복수의 개별 프로세서에 의해 제공될 수 있다. 더욱이, 용어 "프로세서" 또는 "컨트롤러"의 명시적 사용은 소프트웨어를 실행할 수 있는 하드웨어를 독점적으로 언급하는 것으로 해석되어서는 안되며, DSP(digital signal processor) 하드웨어, 소프트웨어를 저장하는 ROM(read-only memory), RAM(random access memory) 및 비휘발성 저장장치를 암묵적으로 포함할 수 있지만, 이에 한정되는 것은 아니다.
종래 및/또는 관습적인 다른 하드웨어 또한 포함될 수 있다. 유사하게, 도 면에 도시된 임의의 스위치는 단지 개념적인 것이다. 그들의 기능은 프로그램 로직의 동작을 통해, 전용 로직을 통해, 프로그램 제어 및 전용 로직의 인터랙션을 통해, 또는, 심지어 수동으로, 특히 본 명세서로부터 이해되는 바에 따라 구현자가 선택가능한 특정 기술을 통해 실행될 수 있다.
청구범위에서, 특정 기능을 수행하는 수단으로서 표현된 임의의 구성요소는 상기 기능을 수행하는 임의의 방법, 예를 들면, a) 그 기능을 수행하는 회로 소자들의 조합 또는 b) 소프트웨어로서 그 소프트웨어를 실행하는 적절한 회로와 결합된 임의의 형태, 예를 들면, 펌웨어, 마이크로코드 등을 포함하는 소프트웨어를 포함하는 것을 의도한다. 그러한 청구범위에 의해 정의되는 본 발명은 다양한 인용 수단에 의해 제공된 기능성이 결합되고 청구범위에서 요구되는 방식으로 함께 결합되고 모아진다는 것에 있다. 따라서, 출원인은 그들 기능성을 제공할 수 있는임의의 수단을 본 명세서에 도시된 수단과 등가물로서 간주한다.
도 1에는, 가산 결합부(110)의 비반전 입력과 신호 통신시에 입력이 접속되는 인코더(100)를 구비한 비디오 인코더가 도시되어 있다. 가산 결합부(110)의 출력은 블록 변환기(120)와 신호 통신으로 접속된다. 변환기(120)는 양자화기(130)의 제1 입력과 신호 통신으로 접속된다. 양자화기(130)의 출력은 가변장 코더(VLC; 140)와 신호 통신으로 접속되고, 여기에서 VLC(140)의 출력은 외부적으로 이용가능한 인코더(100)의 출력이다. 레이트 컨트롤러(177)의 제1 입력은 가산 결합부(110)의 출력과 신호 통신으로 접속되고, 레이트 컨트롤러(177)의 제2 입력은 VLC(140)의 출력과 신호 통신으로 접속되며, 레이트 컨트롤러(177)의 출력은 양자 화기(130)의 제2 입력과 신호 통신으로 접속된다.
양자화기(130)의 출력은 또한 역양자화기(150)와 신호 통신으로 접속된다. 역양자화기(150)는 역 블록 변환기(160)와 신호 통신으로 접속되고, 이 역 블록 변환기(160)는 기준 픽처 저장장치(170)와 신호 통신으로 접속된다. 기준 픽처 저장 장치(170)의 제1 출력은 움직임 추정기(180)의 제1 입력과 신호 통신으로 접속된다. 인코더(100)로의 입력은 또한 움직임 추정기(180)의 제2 입력과 신호 통신으로 접속된다. 움직임 추정기(180)의 출력은 움직임 보상기(190)의 제1 입력과 신호 통신으로 접속된다. 기준 픽처 저장 장치(170)의 제2 출력은 움직임 보상기(190)의 제2 입력과 신호 통신으로 접속된다. 움직임 보상기(190)의 출력은 가산 결합부(110)의 반전 입력과 신호 통신으로 접속된다.
이제, 도 2를 참조하면, 레이트 제어로 이미지 블록을 인코딩하는 예시적 프로세스가 일반적으로 참조 번호 200으로 지시되어 있다. 상기 프로세스는 버퍼를 초기화하고, 평균 타겟 프레임 비트 또는 평균 타겟 GOP(Group Of Pictures) 비트를 계산하고, 모든 레이트 제어 관련 파라미터들의 초기값을 설정하는 등의 기능을 하는 초기화 블록(205)을 포함한다. 초기화 블록(205)은 제1 루프를 시작하고 i=0(범위 0 내지 frame_number-1)을 설정하는 루프 한정 블록(210)으로 제어를 통과시키고, 제어를 판정 블록(215)으로 통과시킨다.
판정 블록(215)에서, 버퍼 충만도(buffer_fullness)가 제1 임계값 T1보다 큰지의 여부와 프레임을 코딩하기 위한 가용 비트(bit_budget)가 제2 임계값 T2보다 작은지 여부가 판정된다.
buffer_fullness가 T1보다 크고 및/또는 bit_budget이 T2보다 작으면, 제어는 기능 블록(220)을 통과되고, 이 기능 블록은 가상 프레임 스킵(skipping)을 수행하고 다음 프레임(i<frame_number)을 위해 루프 종료 블록(275)으로 제어를 통과시키거나 또는 제1 루프(i==frame_number)를 종료한다. 그렇지 않고, buffer_fullness가 T1이하이고 bit_budget이 T2 이상이면, 제어는 기능 블록(225)으로 통과된다.
기능 블록(225)은 픽처 유형에 따라 프레임의 전처리를 수행하여 예측 레시듀얼(residual)의 추정을 획득하고, 제어를 기능 블록(230)으로 통과시킨다. I 픽처에 대해 기능 블록(225)에 의해 수행된 전처리는 허여가능한 인트라 예측 모드의 서브셋을 사용하여 예측하는 인트라 코딩을 포함할 수 있고, 상기 서브세트를 사용하여 형성된 예측의 예측 레시듀얼에 대한 제곱 평균 에러를 사용하여 허여 가능한 인트라 예측 모드의 서브세트 중에서 최상 모드를 결정할 수 있다. P 픽처에 대해 기능 블록(225)에 의해 수행된 전처리는 단지 16×16 블록 유형 및 1 기준 픽처만으로 움직임 추정을 행하는 것을 포함할 수 있다. 본 명세서에서 사용되는 바에 따라, 어구 "최상 모드"는 주어진 프레임 및/또는 이미지 블록에 대해 결과적으로 가장 정확한 예측을 하는 예측 모드를 말한다는 것을 이해하자.
기능 블록(230)은 전처리 블록(225)에 의해 생성된 통계를 기초로 프레임 양자화 파라미터(QP) 추정을 수행하고, 제어를 루프 한정 블록(235)으로 통과시킨다. 루프 한정 블록(235)은 제2 루프를 시작하여 j=0(범위 0 내지 MB_number-1)을 설정하고, 제어를 판정 블록(240)으로 통과시킨다.
판정 블록(240)은 매크로블록-레벨 레이트 제어가 허여되는지 여부를 판정한다. 매크로블록-레벨 레이트 제어가 허여되지 않는 경우에는, 제어가 기능 블록(260)으로 통과되어, 이 블록에서 프레임의 모든 매크로블록을 프레임 QP를 사용하여 코딩하고 제2 루프를 종료하는 루프 종료 블록(265)으로 제어를 통과시킨다. 매크로블록-레벨 레이트 제어가 허여되면, 제어는 기능 블록(245)으로 통과되고, 이 블록에서는 RD(rate-distortion) 모델 및 프레임 QP에 따라 각 매크로블록에 대한 QP를 추정하고, 제어를 기능 블록(250)으로 통과시킨다.
기능 블록(250)은 현재 매크로블록을 인코딩하고 제어를 기능 블록(255)으로 통과시킨다. 하나의 매크로블록이 코딩된 후에 기능 블록(255)은 다른 통계를 따라 RD 모델을 갱신하고 제어를 루프 종료 블록(265)으로 통과시킨다.
루프 종료 블록(265)은 제어를 기능 블록(270)으로 통과시키고, 이 기능 블록에서는 프레임 코딩이 종료되었을 때 버퍼 충만도 및 다른 통계(예를 들면, 다음 프레임에 대한 타겟 비트 및 RD 모델에서의 파라미터)를 갱신하고, 모든 프레임이 코딩된 후에 종료 블록(280)으로 제어를 통과시키는 루프 종료 블록(275)으로 제어를 통과시킨다.
비디오 데이터를 인코딩하기 위해 적응형 레이트 제어를 제공할 때 본 발명에 의해 해결되는 많은 이슈 중 일부를 설명한다. 본 발명은 H.263+의 TMN8에 사용되는 모델에 구축한다. 이 모델은 라그랑쥬 최적화를 사용하여 타겟 비트 레이트 제약에 종속되는 왜곡을 최소화한다. 모델을 ITU-T(International Telecommunication Union, Telecommunication Sector) H.264 표준에 적용시키고 그 성능을 더 향상시키기 위해, 몇개의 이슈가 고려되어야 한다. 첫번째로, RDO(예를 들면, 레이트-제약 움직임 추정 및 모드 결정)는 모드 결정 및 움직임 추정에 대하여 H.264에서 폭넓은 수용 접근법이고, 여기에서, (라그랑쥬 최적화에서 λ를 결정하기 위해 사용되는) QP는 RDO가 수행되기 전에 결정될 필요가 있다. 그러나, TMN8 모델은 QP를 추정하기 위해 예측 에러 신호(레시듀)의 통계를 필요로 하며, 이것은 움직임 추정 및 모드 결정을 QP가 얻어지기 전에 수행할 필요가 있다는 것을 의미하고, 따라서, 그 결과, 각각의 값이 판정을 기초로 하기 위해 다른 계산되지 않은 값을 알아야 할 필요가 있기 때문에, 어떤 의존 파라미터를 우선적으로 계산해야 하는지에 대한 딜레마가 발생하게 된다.
둘째로, TMN8은 낮은 지연 애플리케이션을 타겟으로 하지만, H.264는 다양한 애플리케이션용으로 사용될 수 있다. 따라서, 다양한 콘텐츠에 대하여 새로운 비트 할당 및 버퍼 관리 기법이 필요하다. 세번째로, TMN8은 매크로블록 레벨에서 QP를 적응시킨다.
현재 매크로블록과 마지막 코딩된 매크로블록 간 QP 차(DQUANT)에 제약이 따르지만, 동일 픽처 내의 대규모 QP 변동의 주된 영향이 관찰될 수 있고 부정적인 주된 영향을 갖는다. 부가하여, 전체 이미지에 대하여 일정한 QP를 사용함으로써 DQUANT 코딩에 대해 부가의 비트를 절약하고, 그 결과 매우 낮은 비트 레이트에 대하여 보다 높은 PSNR을 달성하는 것이 공지되어 있다. 마지막으로, H.264는 4×4 정수 변환을 사용하고, 코덱이 JM 기준 소프트웨어에서와 같은 임계화 기술을 사용하면, 디테일(details)이 손실될 수 있다. 따라서, 레이트 제어에 있어서 지 각(perceptual) 모델을 적응시켜 디테일을 유지하는 것이 유용하다.
전처리 단계
수학식 4로부터, TMN8 모델은 QP를 추정하기 위해 레시듀의 표준 편차를 인식할 필요가 있다는 것을 알 수 있다. 그러나, RDO는 움직임 추정 및 모드 결정을 수행하여 레시듀를 생성하기 위해 QP를 인식할 필요가 있다. 이러한 딜레마를 극복하기 위해, 전술한 종래의 제1 방법은 동일 유형을 갖는 가장 최근에 코딩된 픽처에 배열된 매크로블록의 레시듀를 사용하여 현재 매크로블록의 레시듀를 예측하고, 전술한 종래의 제2 방법은 2 단계 인코딩을 채용하고, 여기에서 이전 픽처(QPprev)의 QP를 우선적으로 사용하여 레시듀를 생성한 후, 그 레시듀를 기초로 현재 매크로블록의 QP를 추정한다. 전자의 접근법(즉, 종래의 제1 방법)은 간단하지만, 정확도가 떨어진다. 후자의 접근법(즉, 종래의 제2 방법)은 보다 정확하지만 다수의 인코딩을 필요로 하여 매우 복잡하게 된다.
본 발명에 따라, 레시듀를 추정하기 위해 전술한 종래의 제2 방법보다 더 간단하고 전술한 종래의 제1 방법보다 더 정확한 상이한 접근법이 적용된다. 간단한 전처리 단계가 레시듀를 양호하게 추정할 수 있다는 것을 실험으로부터 알 수 있다. I 픽처에 대하여, 단지 3개의 가장 가능성있는 인트라 16×16 모드(수직, 수평 및 DC(Discrete Cosine) 모드)가 테스트되고 예측 레시듀얼의 MSE(Mean Square Error)를 사용하여 최상 모드를 선택한다. 복잡도를 저감하기 위해 단지 세개의 모드만이 테스트된다. 그러나, 본 발명의 다른 실시예에서, 본 발명의 사상을 유지하면서 그 이상 또는 그 이하의 모드가 테스트될 수 있다. 그 후, 최상 모드를 사용하여 공간 레시듀가 생성된다. 인트라 예측을 위해, 단순히, 재구성된 픽셀이 이용가능하지 않기 때문에, 재구성된 픽셀 대신 오리지날 픽셀 값이 사용된다는 것을 주목하자.
P 픽처에 대하여, 단지 16×16 블록 유형과 1개의 기준 픽처만을 사용하여 레이트-제약 움직임 탐색이 수행된다. 이 모드에서는 최상 움직임 벡터를 사용하여 시간적 레시듀가 생성된다. 이전에 코딩된 픽처의 평균 QP를 사용하여 레이트-제약 움직임 탐색에서 λ를 결정한다. 이전 코딩된 픽처와 현재 픽처 간 QP의 차를 제약함으로써, QPprev를 기초로 하는 λ는 움직임 추정에 대하여 미미한 영향을 미친다는 것을 실험으로부터 알 수 있다. 이 접근법의 부수적인 잇점으로는, 인코딩 동안, 전처리 스텝 결과의 움직임 벡터가 움직임 추정에 있어서 초기 움직임 벡터로서 사용될 수 있다는 점이다.
프레임-계층 레이트 제어
TMN8은 낮은 지연 및 낮은 비트 레이트 애플리케이션을 타겟으로 삼는 것으로, 이는 제1 I 픽처 후의 P 픽처만을 인코딩하는 것으로 가정하는 것이므로, 보다 빈번한 I 픽처를 사용하는 다양한 애플리케이션에 적용하기 위해 수학식 1에 도시된 바와 같이 비트 할당 모델을 재정의해야 한다. 수학식 4에 의한 QP 추정 모델은 하나의 이미지 내에 대규모 QP 변동을 초래할 수 있고, 따라서 프레임-레벨 QP가 우선적으로 추정되어 매크로블록(MB) QP의 변동에 제약을 가하는 것이 바람직하다. 또한 매우 낮은 비트 레이트에 대하여, DQUANT를 코딩하는 오버헤드에 기인하여, 일정한 픽처 QP를 사용하는 것이 보다 효율적일 수 있다. 따라서, 양호한 레 이트 제어 기법을 사용하게 되면 프레임-레벨 및 MB-레벨 모두에서 레이트 제어를 할 수 있게 된다.
우선적으로, 본 발명의 원리에 따른 새로운 비트 할당 기법이 설명될 것이다. 그 후, 본 발명의 원리에 따라 프레임-레벨 QP을 결정하기 위한 간단한 기법이 설명될 것이다.
다수의 애플리케이션, 예를 들면, 실시간 인코더에서, 인코더는 사전에 코딩될 필요가 있는 프레임의 총 수 및 언제 장면 변화가 발생할지를 인식하지 못한다. 따라서, GOP 계층 레이트 제어를 적용하여 각 픽처에 대하여 타겟 비트를 할당한다. H.264 표준은 실제로 GOP를 포함하지는 않지만, 본 명세서에서는 그 용어를 사용하여 I 픽처들 간의 거리를 나타낸다. GOP의 길이는 NGOP로 지시된다. NGOP→∞이면, 다음에는 NGOP=F로 설정되고, 이것은 프레임의 1초의 길이에 대응한다. 표기 BGi,j를 사용하여 픽처 j-1을 코딩한 후 GOP i에서 잔여 비트를 수학식 5와 같이 지시한다.
Figure 112006054630817-PCT00005
상기 수학식에서, RGi -1은 GOP i-1이 코딩된 후의 잔여 비트의 수로서, RGi-1=R/F*Ncoded-Bcoded로 주어지며, 여기에서 Bcoded는 사용된 비트이고 Ncoded는 GOP i가 종료된 후의 코딩된 픽처의 수이다. Bi ,j 및 B'i ,j는 타겟 비트이고 GOP i의 프레임 j 에 대하여 각각 실제 사용된 비트이다. 수학식 5에서, GOP i에 대해 할당된 비트의 총 수에 하나의 제약이 부가되어, 콘텐츠의 복잡도 레벨이 하나의 GOP에서 또 다른 GOP로 급격히 변할 때 버퍼 오버플로우를 방지한다. 예를 들면, 이전 GOP가 매우 낮은 복잡도, 예를 들면, 모두 블랙이어서 버퍼 충만도 레벨이 상당히 낮아지는 시나리오를 고려하자. 이전 GOP로부터 현재 GOP로 모든 미사용 비트를 할당하는 대신에, 미사용 비트를 몇개의 다음 GOP에 걸쳐 배치하되, 개별 GOP에 0.2M 부가 비트가 넘게 배치하지는 않는다. 다음에, 타겟 프레임 비트 Bi ,j가 픽처 유형에 따라 할당된다. j번째 픽처가 P라면, 타겟 비트는 BP i ,j=BGi ,j/(KINI+NP)이고, 여기에서, KI은 I픽처들과 P픽처들 간의 비트율로서 슬라이딩 윈도우 접근법을 사용하여 추정될 수 있으며, NI는 GOP i에 있는 I 픽처들의 잔여 수이고 NP는 P 픽처들의 잔여 수이다: 그렇지 않다면, BI i ,j=KIBP i ,j이다. P 픽처들이 동일 GOP에 있는 후속 P 픽처들에 의해 기준으로서 사용되기 때문에, 나중의 P 픽처들이 보다 나은 품질의 기준으로부터 예측되고 코딩 품질이 향상되는 것을 보장하기 위해 GOP의 시작부에 있는 P 픽처들에 대하여 보다 많은 타겟 비트를 할당한다. 선형 가중 P 픽처 타겟 비트 할당은 다음의 수학식 6과 같이 사용된다.
Figure 112006054630817-PCT00006
GOP에 대하여 그 타겟 비트를 만족하기 위해 또 다른 제약이 다음과 같이 부가된다.
Figure 112006054630817-PCT00007
여기에서,
Figure 112006054630817-PCT00008
이고,
Figure 112006054630817-PCT00009
이다.
본 발명에 따른 예시적 레이트 제어로서, 50% 버퍼 점유가 사용된다. 버퍼 오버플로우 또는 언더플로우를 방지하기 위해, 타겟 비트는 버퍼 레벨과 결합하여 적용될 필요가 있다. 버퍼 레벨(W)은 수학식 3에 의해 각 픽처의 코딩 말기에 갱신된다. 본 발명의 원리에 따라, 타겟 비트를 조정하기 위해 실제 버퍼 레벨을 사용하는 대신에, W'=max(W, 0.4M)로 주어지는 가상의 버퍼 레벨(W')이 제안된다. 이것은, 이전에 코딩된 픽처가 블랙 장면과 같은 매우 낮은 복잡도를 갖고 매우 적은 비트를 소모하는 경우, 버퍼 레벨이 매우 낮게 되는 시나리오를 방지하는데 도움이 된다. 실제 버퍼 레벨을 사용하여 수학식 7에서와 같이 타겟 프레임 비트를 조정하는 경우, 너무 많은 비트가 할당될 수 있어 QP가 매우 빠르게 감소하게 되는 원인이 될 수 있다. 그 후 잠시 동안, 장면이 정상으로 돌아왔을 때, 낮은 QP로 인해 버퍼가 용이하게 오버플로우될 것이다. 따라서, QP를 극적으로 증가시키거나 그 프레임을 스킵할 필요가 있다. 이로 인해 시간적 품질이 상당히 변경된다. 그 후, 비트는 버퍼 제어에 의해 다음의 수학식 7과 같이 조정된다:
Figure 112006054630817-PCT00010
최소 레벨의 품질을 보장하기 위해, 다음의
Figure 112006054630817-PCT00011
가 설정된다. 버퍼 오버플로우 및 언더플로우를 추가로 회피하기 위해, I 픽처에 대해 버퍼 안전 톱(top) 마진(WT) 및 보텀(bottom) 마진(WB)이 WI T=0.75M과 WB I=0.25로서 설정된다. P 픽처에 대하여, 수학식 5에 부합하고 다음 GOP의 다음 I 픽처에 대하여 버퍼를 충분히 하기 위해, 다음의
Figure 112006054630817-PCT00012
Figure 112006054630817-PCT00013
가 설정된다. 최종 타겟 비트는 다음과 같이 결정된다. 다음의
Figure 112006054630817-PCT00014
,
Figure 112006054630817-PCT00015
이 설정된다. WVT<WT이면, B-=WVT-WT이고, 그 외 WVB<WB이면, B+=WB-WVB이다.
장면 변화 검출기가 채용되면, 장면 변화에서의 픽처는 I 픽처가 되도록 인코딩되고 새로운 GOP는 이 I 픽처로부터 시작한다. 전술한 기법이 여전히 채용될 수 있다.
본 발명의 원리에 따른 새로운 접근법으로서, 수학식 4에서 발견된 매크로블록-레벨 QP를 기초로 프레임-레벨 QP를 결정하는 것이 제안된다. 수학식 4는 다음의 수학식 8과 같이 수정된다.
Figure 112006054630817-PCT00016
여기에서,
Figure 112006054630817-PCT00017
는 동일한 유형을 갖는 최종 코딩된 픽처로부터의 오버헤드이고, σi는 전술한 바와 같이 전처리 단계에서 추정된다. 본 발명의 원리에 따른 두 개의 접근법을 사용하여 QPf로 표기된 프레임-레벨의 일정한 QP를 얻을 수 있다. 제1 접근법은 αii로 설정하여, 모든 MB QP가 동일하게 된다. 제2 접근법은, 이 후에 정의되는 바와 같이, MB 레벨의 것으로서 동일한 αi를 사용하고, 그 후,
Figure 112006054630817-PCT00018
값의 히스토그램의 모드, 평균값 또는 중간값을 사용하여 QPf를 찾는다.
본 발명의 바람직한 실시예에서, QPf를 얻기 위해 제2 접근법을 사용하여 MB QP를 양호하게 매칭한다. 프레임-레벨 양자화 스텝 크기는
Figure 112006054630817-PCT00019
값의 평균
Figure 112006054630817-PCT00020
에 의해 결정된다. 양자화 파라미터 QP와 양자화 스텝 크기 Q 간에
Figure 112006054630817-PCT00021
만큼의 변환이 존재한다는 것을 주목하자. 인접한 픽처들 간에 시간적 품질 변동을 저감하기 위해, 다음의
Figure 112006054630817-PCT00022
이 설정되고, 여기에서, QPf'는 최종 코딩된 프레임의 프레임 QP이고,
Figure 112006054630817-PCT00023
이다. 장면이 일반적으로 보다 높은 버퍼 레벨에 기인하여 변경되기 때문에, 시간적 마스킹 효과의 잇점이 있고 Df는 장면 변화가 발생할 때 보다 높은 값이 되도록 설정된다.
MB -계층 레이트 제어
MB 계층 레이트 제어에서의 중요한 제1 특징은 가중 왜곡 αi의 적응 선택을 포함하여 보다 나은 지각 품질을 얻는다는 것이다. 중요한 제2 특징은 동일 픽처에서 MB QP의 변동을 저감한다는 것이다. 오션(ocean) 웨이브같은 낮은 디테일의 콘텐츠에 대해, 그 디테일을 유지하기 위해 더 낮은 QP가 요구된다. 그러나, RDO 포인트의 관점에서는, 보다 낮은 디테일의 콘텐츠가 보다 높은 PSNR을 부여하는 경향이 있기 때문에 보다 높은 QP가 바람직하다. 밸런스를 유지하기 위해, 상이한 αi의 설정은 I 및 P 픽처 각각에 대해 적용된다. I 픽처에 대해, 보다 낮은 디테일을 갖는 MB에 보다 높은 왜곡 가중치를 부여하여, 그 디테일이 양호하게 유지될 수 있다. 따라서, 다음이 설정된다:
Figure 112006054630817-PCT00024
P 픽처에 대하여, 보다 많은 레시듀 에러를 갖는 MB에 보다 높은 왜곡 가중치가 부여된다. 따라서,
Figure 112006054630817-PCT00025
이 방식에서, I 픽처에 대하여 보다 양호한 지각 품질이 유지되고 다음의 P 픽처에 전파될 수 있지만, 보다 높은 목표 품질은 여전히 유지된다. 하나의 픽처 내부에서 품질의 대규모 변동을 방지하기 위해, 다음의
Figure 112006054630817-PCT00026
이 설정된다. 프레임 레벨 레이트 제어가 사용되면,
Figure 112006054630817-PCT00027
이다.
가상 프레임 스킵
하나의 픽처를 인코딩한 후에, 수학식 3에 의해 W가 갱신된다. W>0.9M이면, 그 다음 프레임은 버퍼 레벨이 0.9M보다 낮아질 때까지 가상적으로 스킵된다. 가상 프레임 스킵은 P 픽처에 있는 모든 MB가 SKIP 모드가 되도록 코딩하는 것이 다. 이 방식에서, 일정한 프레임 레이트가 형태소로(syntactically) 유지될 수 있다. 현재 프레임이 가상 스킵 프레임이 되도록 결정되면, 다음의
Figure 112006054630817-PCT00028
가 설정된다.
요약하면, 본 발명에 따른 레이트 제어 기법은 다음의 단계를 포함한다: 전처리, 프레임 타겟 비트 할당 및 프레임 레벨 상수 QP 추정, MB 레벨 QP 추정, 버퍼 갱신 및 가상 프레임 스킵 제어. 본 발명은 프레임 레벨과 MB 레벨 모두를 레이트 제어할 수 있는 잇점이 있다.
본 발명의 다양한 예시적 실시예에 따라 본 발명의 다수의 부수 잇점/특징 중 일부가 설명될 것이다. 예를 들면, 한가지 잇점/특징은 프레임 레벨 QP를 선택하기 위해 초기 매크로블록 QP 추정의 평균값/중간값/모드를 사용하는 것이다. 또다른 잇점/특징은 선택된 프레임 레벨 QP가 개별 매크로블록 QP의 계산에 사용된다는 것이다. 또한, 또 다른 잇점/특징은 인트라 예측을 수행할 때, 허여가능한 인트라 예측 모드의 서브세트를 사용하여 QP 선택 처리에 사용되는 레시듀를 형성한다는 것이다. 더욱이, 또 다른 잇점/특징은 작은 수의 인트라 예측 모드(예를 들면, 3개)를 사용한다는 것이다. 또한, 또 다른 잇점/특징은 이전 GOP가 대규모의 미사용 미트로 코딩되었을 때, 현재 GOP에 할당된 부가의 비트를 소정 임계값으로 한정한다는 것이다. 또 다른 잇점/특징은 버퍼 제어용으로 실제 버퍼 레벨 대신 가상 버퍼 레벨이 사용된다는 것이다.
본 발명의 이들 및 다른 특징 및 잇점은 본 명세서에서의 교시에 기초하여 본 분야에 능숙한 자는 용이하게 알 수 있을 것이다. 본 발명의 교시가 다양한 형 태의 하드웨어, 소프트웨어, 특정 목적의 프로세서, 또는 그들의 조합으로 구현될 수 있다는 것이 이해될 것이다.
본 발명의 교시가 하드웨어 및 소프트웨어의 결합으로 구현되는 것이 보다 바람직하다. 더욱이, 소프트웨어는 프로그램 저장 유닛에 명백하게 구체화된 애플리케이션 프로그램으로서 구현되는 것이 바람직하다. 애플리케이션 프로그램은 임의의 적절한 아키텍처를 포함하는 머신으로 업로드될 수 있고, 그에 의해 실행될 수 있다. 머신은 하나 이상의 중앙 처리 유닛(CPU), RAM(random access memory), 및 I/O(input/output) 인터페이스 같은 하드웨어를 구비하는 컴퓨터 플랫폼 상에 구현된다. 컴퓨터 플랫폼은 또한 운영체제 및 마이크로명령 코드를 포함할 수 있다. 본 명세서에서 설명된 다양한 처리 및 기능은 마이크로명령 코드의 일부 또는 애플리케이션 프로그램의 일부, 또는 그들의 임의의 조합일 수 있고, CPU에 의해 실행될 수 있다. 또한, 부가의 데이터 저장 유닛 및 인쇄 유닛 같은 다양한 다른 주변 유닛이 컴퓨터 플랫폼에 접속될 수 있다.
첨부 도면에 도시된 구성 시스템 컴포넌트 및 방법의 일부가 소프트웨어에서 구현되는 것이 바람직하기 때문에, 시스템 컴포넌트들 또는 처리 기능 블록들 간의 실제 접속은 본 발명이 프로그래밍되는 방식에 따라 다를 수 있다는 것이 또한 이해될 것이다. 본 명세서에서의 교시를 부여받음으로써, 본 분야에 능숙한 자는 본 발명의 상기 구현 및 유사한 구현 또는 구성을 구상할 수 있을 것이다.
본 명세서에서 예시적 실시예를 첨부 도면을 참조하여 설명하였지만, 본 발명은 그 실시예에 한정되는 것이 아니고, 본 발명의 사상 및 범위로부터 벗어나지 않으면서 다양한 변경 및 수정이 가능하다는 것을 본 분야에 능숙한 자는 이해할 수 있을 것이다. 그러한 모든 변경 및 수정을 첨부의 청구범위에 정의되는 본 발명의 범위 내에 포함하고자 한다.

Claims (33)

  1. 매크로블록으로 분할가능한 이미지 프레임을 인코딩하는 비디오 인코더로서,
    상기 이미지 프레임의 매크로블록에 대해 양자화 파라미터(QP) 추정을 생성하는 수단(130); 및
    상기 매크로블록에 대해 QP 추정의 평균값, 중간값, 및 모드 중 하나를 사용하여, 이미지 프레임에 대해 프레임 레벨 QP를 선택하는 수단(130)
    을 포함하는 비디오 인코더.
  2. 제1항에 있어서,
    상기 이미지 프레임은 ITU-T(International Telecommunication Union, Telecommunication Sector) H.264 표준에 부합하는 비디오 데이터를 포함하는 비디오 인코더.
  3. 제1항에 있어서,
    상기 프레임 레벨 QP 선택 수단과 신호 통신 시에, 선택된 프레임 레벨 QP를 사용하여 개별 매크로블록 QP를 계산하는 매크로블록 QP 계산기(130)를 더 포함하는 비디오 인코더.
  4. 제3항에 있어서,
    상기 매크로블록 QP 계산기(130)는 픽처 유형을 기초로 개별 매크로블록 QP를 조정하는 비디오 인코더.
  5. 제4항에 있어서,
    상기 매크로블록 QP 계산기(130)는 개별 매크로블록 QP를 조정하여 인터 코딩된 픽처보다 인트라 코딩된 픽처에 대해 보다 많은 디테일(details)을 유지하고, 인트라 코딩된 픽처 보다 인터 코딩된 픽처에 대해 보다 낮은 제곱 평균 에러를 달성하는 비디오 인코더.
  6. 제1항에 있어서,
    상기 매크로블록에 대해 예측을 형성하기 위해 허여가능 인트라 예측 모드의 서브세트를 사용하여 상기 매크로블록을 인트라 예측하는 인트라 예측 수단; 및
    매크로블록 QP 추정 수단 및 인트라 예측 수단과 신호 통신시에, 예측을 위해 예측 레시듀얼(residual)을 계산하는 예측 레시듀얼 계산 수단(110)을 더 포함하고,
    상기 매크로블록 QP 추정 수단은 상기 QP 추정을 생성하기 위해 상기 예측 레시듀얼 계산 수단에 의해 계산된 레시듀얼 중 적어도 하나의 레시듀얼을 사용하는 비디오 인코더.
  7. 제6항에 있어서,
    상기 예측 레시듀얼 계산 수단과 신호 통신시에, 상기 예측 레시듀얼의 제곱 평균 에러를 사용하여 서브세트에 있는 모드 중 하나의 모드를 선택하는 모드 선택 수단(180)을 더 포함하는 비디오 인코더.
  8. 제7항에 있어서,
    상기 서브세트의 모드 중 선택된 모드는 서브세트에 있는 모드의 다른 모드보다 현재 프레임에 대하여 가장 정확한 예측을 제공하는 비디오 인코더.
  9. 제6항에 있어서,
    상기 서브세트는 세개의 인트라 예측 모드를 포함하는 비디오 인코더.
  10. 제9항에 있어서,
    상기 세개의 인트라 예측 모드는 수직 인트라 예측 모드, 수평 인트라 예측 모드 및 DC 인트라 예측 모드인 비디오 인코더.
  11. 제1항에 있어서,
    상기 이미지 프레임 각각은 단일 픽처를 나타내고, 상기 비디오 인코더는 상기 프레임 레벨 QP 선택 수단과 신호 통신시에, GOP(Group of Picture)에 있는 후속 픽처보다 GOP의 시작부에서 픽처에 대해 보다 많은 타겟 비트를 할당하는 비트 할당 수단(177)을 더 포함하는 비디오 인코더.
  12. 제1항에 있어서,
    상기 이미지 프레임 각각은 단일 픽처를 나타내고, 상기 비디오 인코더는 상기 프레임 레벨 QP 선택 수단 신호 통신시에, 이전 GOP가 소정의 최소 임계값 이하 및 소정의 최대 임계값 이상의 비트 수로 코딩되는 경우 현재 GOP에 할당된 비트의 총 수를 한정하는 비트 할당 수단(177)을 더 포함하는 비디오 인코더.
  13. 제12항에 있어서,
    상기 비트 할당 수단(177)은 선형 가중 할당 기법을 사용하여 비트의 총 수를 한정하는 비디오 인코더.
  14. 제12항에 있어서,
    상기 비트 할당 수단(177)은 가상의 버퍼 레벨을 기초로 비트의 총 수를 한정하고, 상기 가상의 버퍼 레벨은 실제 사용된 버퍼의 충만도를 시뮬레이션하고 실제 사용된 버퍼에 대해 용량에 제약을 받는 비디오 인코더.
  15. 제12항에 있어서,
    상기 비트 할당 수단(177)은 최소 품질 및 버퍼 오버플로우에 관련하는 버퍼 안전 톱(top) 마진 및 버퍼 언더플로우에 관련하는 버퍼 안전 보텀(bottom) 마진 중 적어도 하나에 대한 비트의 총수를 제한하는 비디오 인코더.
  16. 제1항에 있어서,
    상기 프레임 레벨 QP 선택 수단과 신호 통신시에, 현재 버퍼 레벨이 소정의 최대 임계값 이상인 경우 다음 프레임을 가상적으로 스킵하는 가상의 프레임 스킵 수단을 더 포함하는 비디오 인코더.
  17. 매크로블록으로 분할가능한 이미지 프레임을 인코딩하는 방법으로서,
    상기 이미지 프레임의 매크로블록에 대해 양자화 파라미터(QP) 추정을 생성하는 단게(225); 및
    상기 매크로블록에 대해 QP 추정의 평균값, 중간값, 및 모드 중 하나를 사용하여, 상기 이미지 프레임에 대해 프레임 레벨 QP를 선택하는 단계(230)
    를 포함하는 방법.
  18. 제17항에 있어서,
    상기 이미지 프레임은 ITU-T(International Telecommunication Union, Telecommunication Sector) H.264 표준에 부합하는 비디오 데이터를 포함하는 방법.
  19. 제17항에 있어서,
    상기 선택된 프레임 레벨 QP를 사용하여 개별 매크로블록 QP를 계산하는 단 계(245)를 더 포함하는 방법.
  20. 제19항에 있어서,
    픽처 유형을 기초로 개별 매크로블록 QP를 조정하는 단계를 더 포함하는 방법.
  21. 제20항에 있어서,
    상기 개별 매크로블록 QP를 조정하여 인터 코딩된 픽처보다 인트라 코딩된 픽처에 대해 보다 많은 디테일을 유지하고, 인트라 코딩된 픽처보다 인터 코딩된 픽처에 대해 보다 낮은 제곱 평균 에러를 달성하는 방법.
  22. 제17항에 있어서,
    상기 매크로블록에 대해 예측을 형성하기 위해, 허여가능 인트라 예측 모드의 서브세트를 사용하여 상기 매크로블록을 인트라 예측하는 단계(225); 및
    상기 예측을 위해 예측 레시듀얼(residual)을 계산하는 단계(225)를 더 포함하고,
    상기 생성 단계는 상기 QP 추정을 생성하는 상기 계산 단계에서 계산된 레시듀얼 중 적어도 하나의 레시듀얼을 사용하는 방법.
  23. 제22항에 있어서,
    상기 예측 레시듀얼의 제곱 평균 에러를 사용하여 서브세트에 있는 모드 중 하나의 모드를 선택하는 단계를 더 포함하는 방법.
  24. 제23항에 있어서,
    상기 서브세트의 모드 중 선택된 모드는 서브세트에 있는 모드의 다른 모드보다 현재 프레임에 대하여 가장 정확한 예측을 제공하는 방법.
  25. 제22항에 있어서,
    상기 서브세트는 세개의 인트라 예측 모드를 포함하는 방법.
  26. 제25항에 있어서,
    상기 세개의 인트라 예측 모드는 수직 인트라 예측 모드, 수평 인트라 예측 모드 및 DC 인트라 예측 모드인 방법.
  27. 제17항에 있어서,
    상기 이미지 프레임 각각은 단일 픽처를 나타내고, 상기 방법은 GOP(Group of Picture)에 있는 후속 픽처보다 GOP의 시작부에 픽처에 대해 보다 많은 타겟 비트를 할당하는 단계를 더 포함하는 방법.
  28. 제17항에 있어서,
    상기 이미지 프레임 각각은 단일 픽처를 나타내고, 상기 방법은 이전 GOP가 소정의 최소 임계값 이하 및 소정의 최대 임계값 이상의 비트 수로 코딩되는 경우 현재 GOP에 할당된 비트의 총 수를 한정하는 단계를 더 포함하는 방법.
  29. 제28항에 있어서,
    상기 한정 단계는 선형 가중 할당 기법을 사용하여 비트의 총 수를 한정하는 방법.
  30. 제28항에 있어서,
    상기 한정 단계는 가상의 버퍼 레벨을 기초로 비트의 총 수를 한정하고, 상기 가상의 버퍼 레벨은 실제 사용된 버퍼의 충만도를 시뮬레이션하고 실제 사용된 버퍼에 대해 용량에 제약을 받는 방법.
  31. 제28항에 있어서,
    상기 한정 단계는 최소 품질 및 버퍼 오버플로우에 관련하는 버퍼 안전 톱 마진 및 버퍼 언더플로우에 관련하는 버퍼 안전 보텀 마진 중 적어도 하나의 마진에 대하여 비트의 총수를 제한하는 방법.
  32. 제17항에 있어서,
    현재 버퍼 레벨이 소정의 최대 임계값 이상인 경우, 인코딩될 다음 프레임을 가상적으로 스킵하는 단계를 더 포함하는 방법.
  33. 매크로블록으로 분할가능한 이미지 프레임을 인코딩하는 비디오 인코더(100)로서,
    이미지 프레임의 매크로블록에 대하여 양자화 파라미터(QP) 추정을 생성하고 상기 매크로블록에 대해 QP 추정의 평균값, 중간값, 및 모드 중 하나를 사용하여 상기 이미지 프레임에 대한 프레임 레벨 QP를 선택하는 양자화기(130)
    를 포함하는 비디오 인코더.
KR1020067015359A 2004-01-30 2005-01-11 적응형 레이트 제어를 구비한 인코더 KR101169108B1 (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US54063404P 2004-01-30 2004-01-30
US60/540,634 2004-01-30
PCT/US2005/000755 WO2005076632A2 (en) 2004-01-30 2005-01-11 Encoder with adaptive rate control for h.264

Publications (2)

Publication Number Publication Date
KR20070001112A true KR20070001112A (ko) 2007-01-03
KR101169108B1 KR101169108B1 (ko) 2012-07-26

Family

ID=34837408

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020067015359A KR101169108B1 (ko) 2004-01-30 2005-01-11 적응형 레이트 제어를 구비한 인코더

Country Status (7)

Country Link
US (1) US9071840B2 (ko)
EP (1) EP1745653B1 (ko)
JP (1) JP2007522724A (ko)
KR (1) KR101169108B1 (ko)
CN (1) CN1910934B (ko)
BR (1) BRPI0506846B1 (ko)
WO (1) WO2005076632A2 (ko)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2013066026A1 (ko) * 2011-11-04 2013-05-10 주식회사 팬택 양자화 계수 부/복호화 방법 및 이러한 방법을 사용하는 장치
KR101491591B1 (ko) * 2012-11-05 2015-02-09 주식회사 케이티 웹앱 가상화 서비스를 제공하는 가상화 서버 및 웹앱 가상화 서비스 제공을 위한 데이터 전송방법

Families Citing this family (28)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9055298B2 (en) 2005-07-15 2015-06-09 Qualcomm Incorporated Video encoding method enabling highly efficient partial decoding of H.264 and other transform coded information
US20070025441A1 (en) * 2005-07-28 2007-02-01 Nokia Corporation Method, module, device and system for rate control provision for video encoders capable of variable bit rate encoding
US8315308B2 (en) * 2006-01-11 2012-11-20 Qualcomm Incorporated Video coding with fine granularity spatial scalability
US8351513B2 (en) * 2006-12-19 2013-01-08 Allot Communications Ltd. Intelligent video signal encoding utilizing regions of interest information
KR102139535B1 (ko) 2007-10-16 2020-07-30 엘지전자 주식회사 비디오 신호 처리 방법 및 장치
US9285134B2 (en) * 2007-12-14 2016-03-15 Honeywell International Inc. Configurable wall module system
FR2944936A1 (fr) * 2009-04-23 2010-10-29 Thomson Licensing Procedes de codage et de decodage d'un bloc de donnees images, dispositifs de codage et de decodage implementant lesdits procedes
EP2249571A1 (en) * 2009-05-04 2010-11-10 Thomson Licensing SA Method and device for encoding an image frame comprising macroblocks
US9179161B2 (en) * 2009-05-20 2015-11-03 Nissim Nissimyan Video encoding
JP2010288166A (ja) * 2009-06-15 2010-12-24 Panasonic Corp 動画像符号化装置、放送波記録装置及び、プログラム
KR101752418B1 (ko) 2010-04-09 2017-06-29 엘지전자 주식회사 비디오 신호 처리 방법 및 장치
KR101677480B1 (ko) * 2010-09-07 2016-11-21 에스케이 텔레콤주식회사 효과적인 화면내 예측모드 집합 선택을 이용한 영상 부호화/복호화 방법 및 장치
KR101736793B1 (ko) 2010-12-29 2017-05-30 삼성전자주식회사 비디오 프레임 인코딩 장치, 그것의 인코딩 방법 및 그것을 포함하는 비디오 신호 송수신 시스템의 동작 방법
US8902982B2 (en) * 2011-01-17 2014-12-02 Samsung Electronics Co., Ltd. Depth map coding and decoding apparatus and method
CN102647586B (zh) * 2011-02-16 2015-07-08 富士通株式会社 用在视频编码系统中的码率控制方法和装置
JP5875236B2 (ja) 2011-03-09 2016-03-02 キヤノン株式会社 画像符号化装置、画像符号化方法及びプログラム、画像復号装置、画像復号方法及びプログラム
US8792550B2 (en) * 2011-08-04 2014-07-29 Qualcomm Incorporated Color/gray patch prevention for video coding
KR20140110221A (ko) * 2013-03-06 2014-09-17 삼성전자주식회사 비디오 인코더, 장면 전환 검출 방법 및 비디오 인코더의 제어 방법
US20150063461A1 (en) * 2013-08-27 2015-03-05 Magnum Semiconductor, Inc. Methods and apparatuses for adjusting macroblock quantization parameters to improve visual quality for lossy video encoding
US10356405B2 (en) 2013-11-04 2019-07-16 Integrated Device Technology, Inc. Methods and apparatuses for multi-pass adaptive quantization
US10567765B2 (en) * 2014-01-15 2020-02-18 Avigilon Corporation Streaming multiple encodings with virtual stream identifiers
US10805635B1 (en) * 2016-03-22 2020-10-13 NGCodec Inc. Apparatus and method for coding tree unit bit size limit management
US10462459B2 (en) * 2016-04-14 2019-10-29 Mediatek Inc. Non-local adaptive loop filter
US10511853B2 (en) * 2016-11-24 2019-12-17 Ecole De Technologie Superieure Method and system for parallel rate-constrained motion estimation in video coding
CN110832856A (zh) * 2017-11-30 2020-02-21 深圳市大疆创新科技有限公司 用于减小视频编码波动的系统及方法
CN111164972A (zh) 2017-11-30 2020-05-15 深圳市大疆创新科技有限公司 用于在帧级别控制视频编码的系统和方法
WO2020258256A1 (zh) * 2019-06-28 2020-12-30 深圳市大疆创新科技有限公司 一种图像处理的方法、装置和无人机
KR102415309B1 (ko) * 2020-06-16 2022-07-01 에스케이하이닉스 주식회사 인터페이스 장치 및 그 동작 방법

Family Cites Families (25)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6141446A (en) * 1994-09-21 2000-10-31 Ricoh Company, Ltd. Compression and decompression system with reversible wavelets and lossy reconstruction
JPH09331531A (ja) 1996-06-13 1997-12-22 Matsushita Electric Ind Co Ltd 画像符号化装置
US6366614B1 (en) 1996-10-11 2002-04-02 Qualcomm Inc. Adaptive rate control for digital video compression
KR100227336B1 (ko) * 1997-02-20 1999-11-01 서평원 고정 전송율 mpeg 영상 송신기용 전송율 제어 방법 및 그 장치
WO1998038800A1 (en) * 1997-02-25 1998-09-03 British Broadcasting Corporation Digital signal compression encoding with improved quantisation
WO1999007159A2 (en) * 1997-07-29 1999-02-11 Koninklijke Philips Electronics N.V. Variable bitrate video coding method and corresponding video coder
TW501022B (en) * 1998-03-16 2002-09-01 Mitsubishi Electric Corp Moving picture coding system
JP2000287212A (ja) 1999-03-31 2000-10-13 Victor Co Of Japan Ltd 画像符号化装置
JP2000287210A (ja) 1999-03-31 2000-10-13 Nec Ic Microcomput Syst Ltd 画像圧縮方法及び装置
JP4362795B2 (ja) * 1999-07-13 2009-11-11 日本ビクター株式会社 動画像符号化装置及びその方法
JP2004531925A (ja) * 2001-03-05 2004-10-14 インタービデオインコーポレイテッド 圧縮されたビデオビットストリームにおける冗長な動きベクトルを符号化し復号するシステム及び方法
JP2002058038A (ja) 2001-06-12 2002-02-22 Matsushita Electric Ind Co Ltd 画像符号化方法および装置
JP2003009156A (ja) 2001-06-22 2003-01-10 Matsushita Electric Ind Co Ltd 動画像符号化装置、動画像符号化方法、記録媒体、および動画像復号方法
JP3866538B2 (ja) * 2001-06-29 2007-01-10 株式会社東芝 動画像符号化方法及び装置
US6975680B2 (en) * 2001-07-12 2005-12-13 Dolby Laboratories, Inc. Macroblock mode decision biasing for video compression systems
US6891889B2 (en) * 2001-09-05 2005-05-10 Intel Corporation Signal to noise ratio optimization for video compression bit-rate control
JP4718736B2 (ja) 2001-09-17 2011-07-06 株式会社東芝 動画像符号化装置
US6763068B2 (en) * 2001-12-28 2004-07-13 Nokia Corporation Method and apparatus for selecting macroblock quantization parameters in a video encoder
US20030123539A1 (en) * 2001-12-28 2003-07-03 Hyung-Suk Kim Method and apparatus for video bit-rate control
JP2003274410A (ja) * 2002-03-13 2003-09-26 Hitachi Ltd 監視映像の符号化装置及び復号装置並びに符号化方法
US7280700B2 (en) 2002-07-05 2007-10-09 Microsoft Corporation Optimization techniques for data compression
CN1206864C (zh) 2002-07-22 2005-06-15 中国科学院计算技术研究所 结合率失真优化的码率控制的方法及其装置
KR20050098269A (ko) * 2003-01-29 2005-10-11 코닌클리케 필립스 일렉트로닉스 엔.브이. 휴대 장치를 위한 비디오 코딩 방법
KR20040076034A (ko) * 2003-02-24 2004-08-31 삼성전자주식회사 동 영상의 가변 비트율 부호화 방법 및 장치
CN1190969C (zh) * 2003-03-08 2005-02-23 华中科技大学 一种视频编码比特率控制方法

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2013066026A1 (ko) * 2011-11-04 2013-05-10 주식회사 팬택 양자화 계수 부/복호화 방법 및 이러한 방법을 사용하는 장치
US11202091B2 (en) 2011-11-04 2021-12-14 Facebook, Inc. Method for encoding/decoding a quantization coefficient, and apparatus using same
KR101491591B1 (ko) * 2012-11-05 2015-02-09 주식회사 케이티 웹앱 가상화 서비스를 제공하는 가상화 서버 및 웹앱 가상화 서비스 제공을 위한 데이터 전송방법

Also Published As

Publication number Publication date
WO2005076632A3 (en) 2005-12-29
EP1745653A2 (en) 2007-01-24
CN1910934B (zh) 2011-07-06
US20070153892A1 (en) 2007-07-05
WO2005076632A2 (en) 2005-08-18
BRPI0506846A (pt) 2007-06-12
JP2007522724A (ja) 2007-08-09
KR101169108B1 (ko) 2012-07-26
CN1910934A (zh) 2007-02-07
BRPI0506846B1 (pt) 2018-12-11
EP1745653B1 (en) 2017-10-18
US9071840B2 (en) 2015-06-30

Similar Documents

Publication Publication Date Title
KR101169108B1 (ko) 적응형 레이트 제어를 구비한 인코더
KR100484148B1 (ko) 개선된 비트율 제어 방법과 그 장치
Wang et al. Rate-distortion optimization of rate control for H. 264 with adaptive initial quantization parameter determination
CN109068137B (zh) 兴趣区域感知的视频编码
JP5351040B2 (ja) 映像符号化規格に対応した映像レート制御の改善
US20060056508A1 (en) Video coding rate control
KR100790986B1 (ko) 가변 비트율 비디오 코딩에서 비트율을 제어하는 장치 및방법
KR20080031344A (ko) 가변 비트 속도 인코딩이 가능한 비디오 인코더를 위한속도 제어 방법, 모듈, 기기 및 시스템
KR20060111659A (ko) 디지털 화상 시퀀스를 위한 인코딩 방법, 디코딩 방법 및인코딩 장치
Xu et al. Window-level rate control for smooth picture quality and smooth buffer occupancy
KR100601615B1 (ko) 네트워크 대역폭에 적응적인 영상 압축 장치
Jing et al. A novel intra-rate estimation method for H. 264 rate control
CN113286145B (zh) 视频编码方法、装置和电子设备
JP5649296B2 (ja) 画像符号化装置
KR100708182B1 (ko) 동영상 부호화기의 비트율 제어 장치 및 방법
Sun et al. Adaptive bit allocation scheme for rate control in high efficiency video coding with initial quantization parameter determination
KR101336445B1 (ko) 비디오 인코딩 데이터율 제어 방법
KR20090057236A (ko) 분석적이고 경험적인 하이브리드 인코딩 왜곡 모델링을 위한 방법 및 장치
JP6946979B2 (ja) 動画像符号化装置、動画像符号化方法、及び動画像符号化プログラム
KR100336497B1 (ko) 공간예측 오차 모델을 이용한 동영상 부호화기의 율제어장치 및 방법
Tsai Rate control for low-delay video using a dynamic rate table
Li et al. Window-based rate control for video quality optimization with a novel INTER-dependent rate-distortion model
KR101168007B1 (ko) 실시간 비디오 부호화를 위한 적응적인 유닛-레벨 비트율 제어방법
KR20100129091A (ko) H.264를 위한 프레임 단위 비트율 제어 방법
KR101197094B1 (ko) H.264/avc를 위한 통계 모델 기반의 비트율 제어 방법 및 장치

Legal Events

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

Payment date: 20150619

Year of fee payment: 4

FPAY Annual fee payment

Payment date: 20160616

Year of fee payment: 5

FPAY Annual fee payment

Payment date: 20170616

Year of fee payment: 6

FPAY Annual fee payment

Payment date: 20190716

Year of fee payment: 8