KR101599561B1 - 비디오 인코딩 및 디코딩에서 레이트 제어 정밀도를 위한 방법 및 장치 - Google Patents

비디오 인코딩 및 디코딩에서 레이트 제어 정밀도를 위한 방법 및 장치 Download PDF

Info

Publication number
KR101599561B1
KR101599561B1 KR1020107009971A KR20107009971A KR101599561B1 KR 101599561 B1 KR101599561 B1 KR 101599561B1 KR 1020107009971 A KR1020107009971 A KR 1020107009971A KR 20107009971 A KR20107009971 A KR 20107009971A KR 101599561 B1 KR101599561 B1 KR 101599561B1
Authority
KR
South Korea
Prior art keywords
rate control
rate
information
bitstream
encoding
Prior art date
Application number
KR1020107009971A
Other languages
English (en)
Other versions
KR20100058679A (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 KR20100058679A publication Critical patent/KR20100058679A/ko
Application granted granted Critical
Publication of KR101599561B1 publication Critical patent/KR101599561B1/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/196Methods 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 being specially adapted for the computation of encoding parameters, e.g. by averaging previously computed encoding parameters
    • H04N19/198Methods 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 being specially adapted for the computation of encoding parameters, e.g. by averaging previously computed encoding parameters including smoothing of a sequence of encoding parameters, e.g. by averaging, by choice of the maximum, minimum or median value
    • 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
    • H04N19/126Details of normalisation or weighting functions, e.g. normalisation matrices or variable uniform quantisers
    • 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/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/189Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the adaptation method, adaptation tool or adaptation type used for the adaptive coding
    • H04N19/192Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the adaptation method, adaptation tool or adaptation type used for the adaptive coding the adaptation method, adaptation tool or adaptation type being iterative or recursive
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/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/196Methods 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 being specially adapted for the computation of encoding parameters, e.g. by averaging previously computed encoding parameters
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Computing Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Algebra (AREA)
  • General Physics & Mathematics (AREA)
  • Mathematical Analysis (AREA)
  • Mathematical Optimization (AREA)
  • Pure & Applied Mathematics (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)

Abstract

비디오 인코딩 및 디코딩에서 레이트 제어 정밀도를 위한 방법 및 장치가 제공된다. 이 장치는 레이트 제어를 이용하여 영상 데이터를 인코딩하기 위한 비디오 인코더(200)를 포함한다. 레이트 제어는 양자화 스텝 사이즈를 추정하는 것과 라운딩 오프셋을 조정하는 것을 포함한다. 라운딩 오프셋은 인코딩 중에 비상수일 수 있다.

Description

비디오 인코딩 및 디코딩에서 레이트 제어 정밀도를 위한 방법 및 장치{METHOD AND APPARATUS FOR RATE CONTROL ACCURACY IN VIDEO ENCODING AND DECODING}
관련 출원의 상호 인용
본 출원은 미국 임시 특허출원 제60/977,926호(출원일: 2007년 10월 5일)의 우선권을 주장하며, 상기 출원의 전체 내용은 본 명세서에 참고 인용된다.
본 발명은 일반적으로 비디오 인코딩에 관한 것으로, 특히 비디오 인코딩 및 디코딩에서 레이트 제어 정밀도를 위한 방법 및 장치에 관한 것이다.
대부분의 비디오 인코딩 응용들은 인코더가 입력 비디오를 소정의 목표 비트율로 압축하도록 제약을 가한다. 이를 이루기 위해서 인코더는 레이트(rate) 제어 시스템을 이용한다. 레이트 제어 시스템은 입력 비디오 소스 내의 각 화상에 비트 수를 할당하고 이 할당된 비트 수에 맞추어 인코딩 파라미터를 조정한다. 레이트 제어 시스템의 성능은 목표 비트 레이트와 압축된 비디오의 시각 품질을 충족시킴에 있어서 얼마나 정밀한지에 의해 가늠된다. ISO/IEC(International Organization for Standardization/International Electrotechnical Commission) 동화상 전문가 그룹-2 표준(이하 "MPEG-2표준"), ISO/IEC 동화상 전문가 그룹-4(MPEG-4) 파트 10 AVC(Advanced Video Coding) 표준/ITU-T(International Telecommunication Union, Telecommunication Sector) H.264 권고(이하 "MPEG-4 AVC 표준), 및 SMPTE(Society of Motion Picture and Television Engineers) 비디오 코덱-1 표준(이하 "VC-1표준)과 같은 비디오 코딩 표준에는 양자화 스텝 사이즈, 라운딩 오프셋(rounding offset) 및 양자화 행렬과 같이 비트 레이트에 영향을 주는 양자화 파라미터가 몇 가지 있다.
이제 MPEG-4 AVC 표준에 대해 예시적으로 설명한다. 인코더에서는 변환 계수가 다음과 같이 수학적으로 양자화된다.
Figure 112010028981812-pct00001
여기서 W는 변환 계수로서 양자화 레벨 Z로 양자화된다. 여기서 q는 양자화 스텝 사이즈이고 s는 라운딩 오프셋이다. 함수
Figure 112010028981812-pct00002
는 어떤 값을 가장 가까운 정수로 반올림하고, sgn(.)는 신호의 부호를 복귀시킨다. 양자화 행렬이 적용되면 인코더에서 양자화 처리하기 전에 먼저 변환 계수들이 스케일링된다. 변환 계수가 0으로 양자화되는 W의 범위를 데드존(deadzone)이라 한다. 이 특정 경우에는 데드존은Δ=2×(1-s)×q이다. 디코더에서는 양자화 레벨 Z가 신호 W'로 재구성된다. 이것은 역양자화라고 부르며 수학적으로 다음과 같이 기술된다.
Figure 112010028981812-pct00003
레이트 제어 알고리즘은 양자화 파라미터를 조정하여 목표 비트 수를 얻는다. 레이트 제어 알고리즘은 일반적으로 어떤 시구간에 이용된 비트 수가 이 시구간에 대해 할당된 비트 수와 비슷하거나 거의 같을 때에 정확하다고 생각한다. 레이트 제어 정밀도를 측정하는데 이용되는 특정 시구간은 애플리케이션에 따라 정해진다. 어떤 응용 분야에 있어서는 비트 레이트가 화상 레벨(picture level) 수준에서 정밀한 것이 바람직하다. 방송과 같은 다른 분야에서는 비트 레이트는 채널 대역폭 제약 때문에 몇 개의 프레임에 걸쳐 정밀한 것이 바람직하다. DVD 저작(authoring)과 같은 다른 분야에서는 비트 레이트 정밀도는 대개는 전체 시퀀스에 대해 측정되며, 영화 전체가 소비하는 비트 수가 요건을 충족했을 때에 정밀하다고 생각한다.
기존의 레이트 제어 알고리즘은 라운딩 오프셋과 양자화 행렬이 일정하다고 전제하고 양자화 스텝 사이즈만을 조정한다. 양자화 스텝 사이즈들은 유한한 선택 기회만을 제공한다. 양자화 스텝 사이즈들은 인코딩된 비트 스트림 내에 임베드되어 비디오 재구성을 위한 디코더에 반송되는 양자화 지수들로 표현된다. 선택할 수 있는 양자화 스텝 사이즈의 수가 한정됨에 따라 기존의 레이트 제어 알고리즘은 품질 저하 없이 고정밀의 제어를 달성하는 것은 어렵다. 레이트 제어 알고리즘으로 인한 품질 저하는 대개는 하나의 화상(picture) 내의 또는 2 또는 그 이상의 화상에 걸친 품질 불일치로서 종종 보여진다. 저품질 화상은 표시될 화상의 일부를 왜곡시키는 가시적인 아티팩트(artifact)를 포함할 수 있다.
화상에 대한 레이트 제어 정밀도를 향상시키기 위해서 기존의 알고리즘에서의 일반적인 방식은 매크로블록 레벨(MB-레벨) 레이트 제어를 적용하는 것이다. 종래 기술에서는 ρ-영역 레이트 제어법을 이용하여 이 방식을 예시하였다. ρ-영역 레이트 제어법은 ρ과 R 간의 선형적인 관계를 가정한다. 여기서 ρ는 인코딩된 영역에 대한 양자화된 변환 계수들 중의 제로 계수의 백분율이고, R은 그 영역을 인코딩하는데 이용된 비트 수이다. 이것은 수학적으로 다음의 선형적 레이트 모델로 표현될 수 있다.
Figure 112010028981812-pct00004
여기서 RC는 어떤 영역을 인코딩하는데 이용된 비텍스처(non-texture) 비트의 수이고, θ는 상수이다.
ρ는 양자화 스텝 사이즈 q에 따라서 단조 증가하는데, 이는 이들 간에 1대 1 맵핑이 있음을 의미함에 유의한다. 그러므로 목표 비트 수 R과 추정 파라미터 θ와 RC가 주어지면, ρ-영역 레이트 제어법은 ρ값을 얻고, 따라서 1 대 1 ρ-q 맵핑에 기초하여 양자화 스텝 사이즈 q를 얻는다.
상기와 같이 계산된 양자화 스텝 사이즈 q는 대개는 인코더에서 양자화 지수로 표현될 수 있는 양자화 스텝 사이즈들의 제한된 수 내로 떨어지지 않을 수 있다. 한 가지 방식은 화상 내의 매크로블록이 q에 가장 가까우며 양자화 지수로 표현될 수 있는 양자화 스텝 사이즈인, q' 부근의 양자화 스텝 사이즈를 이용하게 하는 것이다. 더욱이 그 화상이 이용하는 평균 양자화 스텝 사이즈는 대략 q이다. 일 실시예에서 매크로블록은 양자화 스텝 사이즈{q'-Δ1, q', q'+Δ2) 중에서 선택할 수 있다. 다른 방식은 각 매크로블록을 인코딩한 후에 θ와 RC를 갱신하고, 각 매크로블록에 대해 q를 계산하는 것이다.
TMN8이라 불리는 다른 일반적인 레이트 제어 알고리즘에서는 먼저 양자화 스텝 사이즈 q가 어떤 화상에 대해 계산된다. 인코더는 q를 가지고 매크로블록을 인코딩하기 시작한다. 이 후 더 많은 매크로블록들이 인코딩됨에 따라 레이트 제어 모델 파라미터들이 갱신되고 양자화 스텝 사이즈는 매크로블록 단위로 갱신된다.
MB-레벨 조정의 한 가지 문제는 양자화 스텝 사이즈가 매크롤블록들 중에서 달라진다는 것이다. 어떤 경우에는 양자화 파라미터들 간의 차이로 인해 화상 내의 품질 불일치가 생길 수 있다.
도 1을 참조로 설명하면 비디오 인코딩에 대한 레이트 제어 방법은 도면부호 100으로 총괄적으로 나타낸다.
이 방법(100)은 제어를 기능 블록(110)으로 넘기는 시작 블록(105)을 포함한다. 기능 블록(110)은 인코딩 설정을 수행하고 그리고/또는 포함하며, 제어를 기능 블록(115)으로 넘긴다. 기능 블록(115)은 레이트 제어 파라미터를 초기화하고 제어를 루프 제한 블록(120)으로 넘긴다. 루프 제한 블록(120)은 처리되고 있는 현재 화상 내의 각 매크로블록에 대해 변수 i(i는 1, ..., 화상 내의 매크로블록 수(#))를 이용하여 루프를 실행하고, 제어를 기능 블록(125)으로 넘긴다. 기능 블록(125)은 매크로블록 i에 대한 양자화 스텝 사이즈 qi를 계산하고, 제어를 기능 블록(130)으로 넘긴다. 기능 블록(130)은 양자화 스텝 사이즈 qi에서 매크로블록 i를 인코딩하고, 제어를 기능 블록(135)으로 넘긴다. 기능 블록(135)은 (예컨대 이전에 인코딩된 매크로를록에 기초하여) 레이트 제어 모델 파라미터를 갱신하고, 제어를 루프 제한 블록(140)으로 넘긴다. 루프 제한 블록은 루프를 종료하고, 제어를 종료 블록(199)으로 넘긴다.
도 1의 방법(100)에서 라운딩 오프셋 파라미터는 이 방법(100)을 적용하는 인코딩 프로세스 전체를 통해 상수임을 알아야 한다.
더욱이 기능 블복(110)은 선택적으로 오퍼레이터의 지원을 수반할 수 있음을 알아야 한다. 더욱이 기능 블록(110)에 대응하는 인코더 설정은 목표 비트 레이트의 설정뿐만 아니라 인코딩 프로세스에 수반된 임의의 파라미터 세트의 지정을 포함할 수 있다.
더욱이 기능 블록(125)에 의해 수행된 매크로블록 i에 대한 양자화 스텝 사이즈 qi의 계산은 예컨대 ρ-영역 레이트 모델 또는 TMN8 레이트 모델에 기초할 수 있다.
모든 매크로블록, {qi}i=1,...,MB들의#에 의해 이용된 양자화 스텝 사이즈는 크게 변할 수 있으며 화상 내의 품질 불일치를 유발할 수 있다. 화상 내의 품질이 좀 더 일치하도록 하기 위해서는, 인코더가 양자화 스텝 사이즈의 동적 범위를 한정하도록 선택할 수 있다. 그 결과, 화상이 실제로 이용하는 비트 수는 목표 비트 수와는 크게 다를 수 있다.
따라서 전술한 바와 같이 종래의 레이트 제어 방법으로는 레이트 제어 정밀도가 결여되거나 품질 불일치가 생기게 된다.
종래 기술의 이들 및 다른 결점과 단점은 비디오 인코딩 및 디코딩에서 레이트 제어 정밀도를 위한 방법 및 장치에 관한 본 발명의 원리에 의해 해결된다.
본 발명의 일 양상에 따라서 소정 장치가 제공된다. 이 장치는 레이트 제어를 이용하여 영상 데이터를 인코딩하기 위한 비디오 인코더를 포함한다. 상기 레이트 제어는 양자화 스텝 사이즈를 추정하는 것과 라운딩 오프셋을 조정하는 것을 포함한다. 상기 라운딩 오프셋은 상기 인코딩 중에 비상수(non-constant)일 수 있다.
본 발명의 다른 양상에 따라서 소정 방법이 제공된다. 이 방법은 레이트 제어를 이용하여 영상 데이터를 인코딩하는 단계를 포함하며, 상기 레이트 제어는 양자화 스텝 사이즈를 추정하는 것과 라운딩 오프셋을 조정하는 것을 포함한다. 상기 라운딩 오프셋은 상기 인코딩 중에 비상수일 수 있다.
본 발명의 또 다른 양상에 따라서 소정 장치가 제공된다. 이 장치는 레이트 제어를 이용하여 영상 데이터를 비트 스트림으로 디코딩하기 위한 비디오 디코더를 포함한다. 상기 레이트 제어는 양자화 스텝 사이즈와 라운딩 오프셋을 포함한다. 상기 라운딩 오프셋은 상기 디코딩 중에 비상수일 수 있고, 상기 비트 스트림 내에 있는 정보와 상기 비트 스트림에 관련된 정보 중 적어도 하나에 기초하여 추정되는 것과 상기 비트 스트림으로부터 추출되는 것 중 어느 하나일 수 있디.
본 발명의 또 다른 양상에 따라서 소정 방법이 제공된다. 이 방법은 레이트 제어를 이용하여 영상 데이터를 비트 스트림으로 디코딩하는 단계를 포함한다. 상기 레이트 제어는 양자화 스텝 사이즈와 라운딩 오프셋을 포함한다. 상기 라운딩 오프셋은 상기 디코딩 단계 중에 비상수일 수 있고, 상기 비트 스트림 내에 있는 정보와 상기 비트 스트림에 속하는 정보 중 적어도 하나에 기초하여 추정되는 것과 상기 비트 스트림으로부터 추출되는 것 중 어느 하나일 수 있다.
본 발명의 이들 및 기타 다른 양상, 특성 및 이점들은 첨부 도면을 참조로 예시적인 실시예들에 대한 하기의 상세한 설명으로부터 명백해 질 것이다.
본 발명은 다음의 예시적인 도면에 따라서 더 잘 이해될 수 있다.
도 1은 종래 기술에 따른 비디오 인코더에서의 레이트 제어 방법에 대한 흐름도.
도 2는 본 발명의 실시예에 따른, 본 발명이 적용될 수 있는 예시적인 비디오 인코더에 대한 블록도.
도 3은 본 발명의 실시예에 따른, 본 발명이 적용될 수 있는 예시적인 비디오 디코더에 대한 블록도.
도 4는 본 발명의 실시예에 따른, 멀티패스 비디오 인코더에서 비상수 라운딩 오프셋을 포함하는 예시적인 레이트 제어 방법에 대한 흐름도.
도 5는 본 발명의 실시예에 따른, 멀티패스 비디오 인코더에서 비상수 라운딩 오프셋을 포함하는 다른 예시적인 레이트 제어 방법에 대한 흐름도.
도 6은 본 발명의 실시예에 따른, 싱글패스 비디오 인코더에서 비상수 라운딩 오프셋을 포함하는 예시적인 레이트 제어 방법에 대한 흐름도.
도 7은 본 발명의 실시예에 따른, 트랜스코더에서의 예시적인 레이트 제어 방법에 대한 흐름도.
도 8은 본 발명의 실시예에 따른, 영상 데이터를 디코딩하는 예시적인 방법에 대한 흐름도.
도 9는 본 발명의 실시예에 따른, 영상 데이터를 디코딩하는 다른 예시적인 방법에 대한 흐름도.
본 발명은 비디오 인코딩 및 디코딩에서 레이트 제어 정밀도를 위한 방법 및 장치에 관한 것이다.
하기의 설명은 본 발명을 예시적으로 설명하는 것이다. 따라서 당업자라면 비록 여기서는 명시적으로 설명되거나 보여지지는 않지만 본 발명을 구체화하며 본 발명의 본질과 범위에 포함되는 여러 가지 구성을 고안할 수 있음을 잘 알 것이다.
여기서 열거된 모든 예와 조건문은 본 기술을 더 향상시키는데 기여하는 본 발명자(들)의 본 발명의 원리와 개념을 이해하는데 도움을 주기 위한 것으로 그와 같은 특별히 열거된 예와 조건에 한정되지 않는 것으로 해석되어야 한다.
더욱이 여기서 본 발명의 그 원리, 양상 및 실시예들은 물론 그 특정 예들을 열거하는 모든 설명은 본 발명의 구조적 기능적 등가물을 포함하는 것이다. 게다가 그와 같은 등가물은 현재 공지된 등가물은 물론 장래에 개발될 등가물, 즉 구조가 어떻든 간에 동일한 기능을 수행하도록 개발된 요소를 포함하는 것이다.
따라서, 예컨대 당업자라면 여기서 제시된 블록도들은 본 발명을 구체화하는 회로를 보여주는 개념도를 나타냄을 잘 알 것이다. 마찬가지로 플로우차트, 흐름도, 상태 전이도, 의사 코드 등은 실질적으로 컴퓨터 판독가능 매체에서 표현되고, 컴퓨터 또는 프로세서에 의해(이러한 컴퓨터 또는 프로세서가 명시적으로 도시되어 있는지에 상관없이) 실행될 수 있는 여러 가지 프로세스를 나타냄을 잘 알 것이다.
도면에 도시된 여러 가지 요소의 기능은 전용 하드웨어의 이용은 물론 적당한 소프트웨어와 결합하여 이 소프트웨어를 실행할 수 있는 하드웨어의 이용을 통해 제공될 수 있다. 기능이 프로세서에 의해 제공되는 경우에 하나의 전용 프로세서, 하나의 공유 프로세서, 또는 일부가 공유될 수 있는 복수의 개별적 프로세서에 의해 제공될 수 있다. 더욱이 "프로세서"나 '컨트롤러"라는 용어의 명시적 사용은 소프트웨어를 실행할 수 있는 하드웨어만을 말하는 것으로 해석해서는 안되며, 제한없이 암시적으로 디지털 신호 프로세서("DSP") 하드웨어, 데이터를 저장하기 위한 읽기 전용 메모리("ROM"), 임의 접근 메모리("RAM") 및 불휘발성 저장 장치를 포함할 수 있다.
다른 종래의 및/또는 맞춤형 하드웨어도 포함될 수 있다. 마찬가지로 도면에 도시된 스위치들도 단지 개념적인 것이다. 그들의 기능은 프로그램 로직의 연산을 통해, 전용 로직을 통해, 프로그램 제어와 전용 로직의 상호작용을 통해, 또는 심지어는 수동적으로 실시될 수 있으며, 정황에 따라 더 명확하게 이해되는 바와 같이 구현자에 의해 특정 기술이 선택될 수 있다.
본 발명의 청구범위에서 특정 기능을 수행하는 수단으로 표현된 요소는, a) 그 기능을 수행하는 회로 요소의 조합 또는 b) 펌웨어, 마이크로코드 등과 같은 것을 포함하는 임의 형태의 소프트웨어로서 그 기능을 수행하도록 이 소프트웨어를 실행하기 위한 적당한 회로와 조합된 소프트웨어를 포함하여, 그 기능을 수행하는 임의 방식을 포괄하는 것이다. 그와 같은 청구범위로 정해지는 본 발명은 여러 가지 열거된 수단이 제공하는 기능들이 청구범위가 요구하는 방식으로 함께 조합되어 제시된다는 사실에 있다. 따라서 이들 기능을 제공할 수 있는 수단은 여기서 보여진 것들과 등가적인 것으로 간주된다.
본 명세서에서 본 발명의 "일 실시예"나 "소정 실시예"라는 말은 그 실시예와 관련하여 설명된 특정 형상, 구조, 특징 등이 본 발명의 적어도 하나의 실시예에 포함된다는 것을 알아야 한다. 따라서 본 명세서의 여러 곳에서 나타나는 "일 실시예에서"나 "소정 실시예에서"라는 구절은 모두 반드시 동일 실시예를 말하는 것은 아니다.
여기서 사용된 영상 데이터라는 말은 프레임, 필드, 화상, 영상 블록, 영상 서브블록 등을 포함하는 정지 영상 데이터와 움직임 영상 데이터를 말한다.
예컨대 "A 및/또는 B"와 "A와 B 중 적어도 하나"의 경우에 "및/또는"과 "적어도 하나"라는 용어의 사용은 첫번째 옵션(A)만의 선택, 두번째 옵션(B)만의 선택 또는 이 두개 옵션(A 및 B) 모두의 선택을 포함함을 알아야 한다. 다른 예로서 "A, B 및/또는 C"와 "A, B 및 C 중 적어도 하나"의 경우에, 그와 같은 구절은 첫번째 옵션(A)만의 선택, 두번째 옵션(B)만의 선택, 세번째 옵션(C)만의 선택, 첫번째 옵션과 두번째 옵션(A 및 B)만의 선택, 첫번째 옵션과 세번째 옵션(A 및 C)만의 선택, 두번째 옵션과 세번째 옵션(B 및 C)만의 선택, 또는 이 세개 옵션 (A, B 및 C) 모두의 선택을 포함한다. 이것은 이 기술분야 및 그 관련 기술분야의 당업자라면 쉽게 알 수 있는 바와 같이 열거된 여러 가지 항목과 같이 확장될 수 있다.
더욱이 여기서는 MPEG-4 AVC 표준과 관련하여 본 발명의 하나 또는 그 이상의 실시예에 대해 설명하지만, 본 발명은 이 표준에만 한정되는 것은 아니며, 따라서 본 발명의 본질을 유지하면서 MPEG-4 AVC 표준의 확장을 포함하여, 임의의 비디오 코딩 표준, 권고안, 그 확장에 관해서도 이용될 수 있음을 알아야 한다. 예컨대 본 발명은 ITU-T H.263 권고(이하 "H.263 권고"), MPEG-2 표준, MPEG-4 AVC 표준, VC-1 표준 등과 관련하여 이용될 수 있다.
전술한 바와 같이 본 발명은 비디오 인코딩 및 디코딩에서 레이트 제어 정밀도를 위한 방법 및 장치에 관한 것이다.
도 2를 참조로 설명하면, 본 발명이 적용될 수 있는 예시적인 비디오 인코더가 도면부호 200으로 총괄적으로 나타나 있다.
인코더(200)는 결합기(285)의 제1 비반전 입력부와 신호 통신하도록 연결된 출력부를 가진 프레임 오더링(ordering) 버퍼(210)를 포함한다. 결합기(285)의 출력부는 변환기 및 양자화기(225)의 입력부와 신호 통신하도록 연결된다. 변환기 및 양자화기(225)의 출력부는 엔트로피 코더(245)의 제1 입력부와 역변환기 및 양자화기(250)의 입력부와 신호 통신하도록 연결된다. 엔트로피 코더(245)의 출력부는 결합기(290)의 제1 비반전 입력부와 신호 통신하도록 연결된다. 이 결합기의 출력부는 출력 버퍼(235)의 입력부와 신호 통신하도록 연결된다. 출력 버퍼(235)의 제1 출력부는 레이트 제어기(205)의 입력부와 신호 통신하도록 연결된다.
SEI(Supplemental Enhancement Information) 삽입기(230)의 출력부는 결합기(290)의 제2 입력부와 신호 통신하도록 연결된다.
역변환기 및 양자화기(250)의 출력부는 결합기(227)의 제1 비반전 입력부와 신호 통신하도록 연결된다. 결합기(227)의 출력부는 인트라(intra) 예측기(260)의 입력부와 디블록킹 필터(265)의 입력부와 신호 통신하도록 연결된다.
디블록킹 필터(265)의 출력부는 기준 화상 버퍼(280)의 입력부와 신호 통신하도록 연결된다. 기준 화상 버퍼(280)의 출력부는 움직임 추정기(275)의 입력부와 움직임 보상기(270)의 제1 입력부와 신호 통신하도록 연결된다.
움직임 추정기(275)의 제1 출력부는 움직임 보상기(270)의 제2 입력부와 신호 통신하도록 연결된다. 움직임 추정기(275)의 제2 출력부는 엔트로피 코더(245)의 제2 입력부와 신호 통신하도록 연결된다.
움직임 추정기(270)의 출력부는 스위치(297)의 제1 입력부와 신호 통신하도록 연결된다. 인트라 예측기(260)의 출력부는 스위치(297)의 제2 입력부와 신호 통신하도록 연결된다. 매크로블록 타입 판단 모듈(220)의 출력부는 스위치(297)의 제3 입력부와 신호 통신하도록 연결된다. 스위치(297)의 출력부는 결합기(285)의 제2 비반전 입력부와 결합기(227)의 제2 비반전 입력부와 신호 통신하도록 연결된다.
레이트 제어기(205)의 출력부는 화상 타입 판단 모듈(215)의 제1 입력부와 시퀀스 파라미터 세트(SPS) 및 화상 파라미터 세트(PPS) 삽입기(240)의 입력부와 신호 통신하도록 연결된다. SPS 및 PPS 삽입기(240)의 출력부는 결합기(290)의 제3 입력부와 신호 통신하도록 연결된다.
화상 타입 판단 모듈(215)의 제1 입력부는 매크로 타입 판단 모듈(220)의 입력부와 신호 통신하도록 연결된다. 화상 타입 판단 모듈(215)의 제2 출력부는 프레임 오더링 버퍼(210)의 제2 입력부와 신호 통신하도록 연결된다.
프레임 오더링 버퍼(210)의 제1 입력은 입력 화상(201)을 수신하기 위한 인코더(200)에의 입력으로서 이용될 수 있다. 출력 버퍼(235)의 제1 출력은 비트 스트림을 출력하기 위한 인코더(200)의 출력으로서 이용될 수 있다.
도 3을 참조로 설명하면, 본 발명이 적용될 수 있는 예시적인 비디오 디코더가 도면부호 300으로 총괄적으로 나타나 있다.
디코더(300)는 엔트로피 디코더(345)의 제1 입력부와 신호 통신하도록 연결된 출력부를 가진 입력 버퍼(310)를 포함한다. 엔트로피 디코더(345)의 제1 출력부는 역변환기 및 역양자화기(350)의 제1 입력부와 신호 통신하도록 연결된다. 역변환기 및 역양자화기(350)의 출력부는 결합기(325)의 제2 비반전 입력부와 신호 통신하도록 연결된다. 결합기(325)의 출력부는 디블록킹 필터(365)의 제2 입력부와 인트라 예측 모듈(360)의 제1 입력부와 신호 통신하도록 연결된다. 디블록킹 필터(365)의 제2 출력부는 기준 화상 버퍼(380)의 제1 입력부와 신호 통신하도록 연결된다. 기준 화상 버퍼(380)의 출력부는 움직임 보상기(370)의 제2 입력부와 신호 통신하도록 연결된다.
엔트로피 디코더(345)의 제2 출력부는 움직임 보상기(370)의 제3 입력부와 디블록킹 필터(365)의 제1 입력부와 신호 통신하도록 연결된다. 엔트로피 디코더(345)의 제3 출력부는 디코더 제어기(305)의 입력부와 신호 통신하도록 연결된다. 디코더 제어기(305)의 제1 출력부는 엔트로피 디코더(345)의 제2 입력부와 신호 통신하도록 연결된다. 디코더 제어기(305)의 제2 출력부는 역변환기 및 역양자화기(350)의 제2 입력부와 신호 통신하도록 연결된다. 디코더 제어기(305)의 제3 출력부는 디블록킹 필터(365)의 제3 입력부와 신호 통신하도록 연결된다. 디코더 제어기(305)의 제4 출력부는 인트라 예측 모듈(360)의 제2 입력부, 움직임 보상기(370)의 제1 입력부 및 기준 화상 버퍼(380)의 제2 입력부와 신호 통신하도록 연결된다.
움직임 보상기(370)의 출력부는 스위치(397)의 제1 입력부와 신호 통신하도록 연결된다. 인트라 예측 모듈(360)의 출력부는 스위치(397)의 제2 입력부와 신호 통신하도록 연결된다. 스위치(397)의 출력부는 결합기(325)의 제1 비반전 입력부와 신호 통신하도록 연결된다.
입력 버퍼(310)의 입력은 입력 스트림을 수신하기 위한 디코더(300)로의 입력으로서 이용될 수 있다. 디블록킹 필터(365)의 제1 출력은 출력 화상을 출력하기 위한 디코더(300)의 출력으로서 이용될 수 있다.
본 발명의 하나 또는 그 이상의 실시예는 화상 레벨(on a picture level)로 비디오 인코딩에 대한 정밀한 레이트 제어를 하는 것을 지향한다. 물론 본 발명은 화상 레벨 레이트 제어에만 한정되는 것은 아니며, 여기서 설명된 본 발명의 교시에 따라서, 본 발명의 본질을 유지하면서 비디오 인코딩에 관한 다른 레벨로 쉽게 확장될 수 있다. 그럼에도 불구하고 레이트 제어 방법이 화상 레벨들로 비트 레이트 정밀도를 얻는 경우에는 레이트 제어 방법은 더 긴 시간 기간들 동안 비트 레이트 정밀도를 쉽게 달성할 수 있음을 알아야 한다.
본 발명의 실시예들은 비디오 인코더에서 레이트 제어 정밀도를 향상시킨다. 전술한 바와 같이 종래 기술에서는 레이트 제어 알고리즘은 비트 레이트 정밀도를 제어하기 위하여 통상적으로 양자화 스텝 사이즈의 조정에 의존한다. 그러나 본 발명의 하나 또는 그 이상의 실시예에 따라서 라운딩 오프셋을 이용하여 비트 레이트 정밀도를 향상시킨다.
즉, 본 발명의 하나 또는 그 이상의 실시예는 바람직하게는 비디오 인코더에서 이용된 레이트 제어 방법에 다른 차원, 즉 라운딩 오프셋을 도입하고, 화상 내의 균질한 품질에 의해 각 화상에 대한 매우 정밀한 레이트 제어를 달성한다. 본 발명의 일 실시예에 따른 레이트 제어 방법이 비트 레이트 정밀도가 화상보다 더 긴 기간(interval)들에서 측정되는 다른 응용 분야에 적용되는 경우에는 그와 같은 레이트 제어 방법은 그 더 긴 기간들에 대해 정밀한 레이트 제어를 쉽게 달성할 수 있다.
따라서 본 발명의 하나 또는 그 이상의 실시예에 따라서 화상 레벨로 레이트 제어 정밀도를 향상시키기 위해 다른 양자화 파라미터, 즉 라운딩 오프셋 s를 포함하는 것을 제시한다. 양자화 스텝 사이즈와 라운딩 오프셋 둘 다 인코더가 이용하는 비트 수 R에 영향을 미친다. 이것은 수학적으로 다음과 같이 기술될 수 있다.
Figure 112010028981812-pct00005
여기서, 함수 f(.)는 양자화 스텝 사이즈와 라운딩 오프셋이 비트 수에 어떻게 영향을 미치는지를 기술한다. 이 함수의 일례는 다음과 같다.
Figure 112010028981812-pct00006
여기서 ks, kq 및 c는 상수이다.
도 4 내지 7은 레이트 제어 방법에서 양자화 스텝 사이즈 이외에 라운딩 오프셋을 포함하는 본 발명의 몇 가지 예시적인 실시예를 보여준다. 본 발명의 실시예들은 비트 수가 할당되는 방식에 따라서 가변 비트 레이트(VBR)이나 고정 비트 레이트(CBR)를 적용할 수 있다. 본 발명의 실시예들은 멀티패스 인코더(multi-pass encoder)의 일부일 수 있으며 다른 패스들에 대한 정보를 제공할 수 있다.
실시예 1
도 4를 참조로 설명하면, 비상수 라운딩 오프셋(non-constant rounding offset)을 포함하는 멀티패스 비디오 인코더에서의 예시적인 레이트 제어 방법은 도면부호 400으로 총괄적으로 나타낸다. 이 방법(400)은 제1 패스(466)와, 하나 또는 그 이상의 후속 패스(총괄적으로 도면부호 477로 표시함)를 포함한다.
이 방법(400)은 제어를 기능 블록(410)으로 넘기는 시작 블록(405)을 포함한다. 기능 블록(410)은 인코딩 설정을 수행하고 그리고/또는 포함하고, 제어를 기능 블록(415)으로 넘긴다. 기능 블록(415)은 변수 n을 1로 초기화하고, 제어를 기능 블록(420)으로 넘긴다. 기능 블록(420)은 패스 1에 대한 레이트 제어 모델 파라미터를 초기화하고, 제어를 루프 제한 블록(425)으로 넘긴다. 루프 제한 블록(425)은 처리되고 있는 현재 비디오 시퀀스 내의 각 화상에 대해 변수 i(i=1,...,화상 수(#))를 이용하여 루프를 실행하고, 제어를 기능 블록(430)으로 넘긴다. 기능 블록(430)은 (예컨대 라운딩 오프셋 s1이 주어지면) 화상 i에 대한 양자화 스텝 사이즈 q1 ,i를 계산하고, 제어를 기능 블록(435)으로 넘긴다. 기능 블록(435)은 q1 ,i와 초기 라운딩 오프셋 s1 ,i에서 화상 i를 인코딩하고, 제어를 루프 제한 블록(440)으로 넘긴다. 루프 제한 블록(440)은 제1 루프를 종료하고, 제어를 기능 블록(445)으로 넘긴다.
기능 블록(445)은 변수 n을 1만큼 증분시키고(즉 n=n+1), 제어를 루프 제한 블록(450)으로 넘긴다.
루프 제한 블록(450)은 처리되고 있는 현재 비디오 시퀀스 내의 각 화상에 대해 변수 i(i=1, ..., 화상 수(#))를 이용하여 n번째 루프를 실행하고, 제어를 기능 블록(455)으로 넘긴다. 기능 블록(455)은 화상 i에 대한 라운딩 오프셋 {sn ,i}을 (선택적으로 이전 패스(들)로부터의 정보를 이용하여) 계산하고, 제어를 기능 블록(460)으로 넘긴다. 기능 블록(460)은 q1 ,i와 sn ,i에서의 화상 i를 인코딩하고, 제어를 루프 제한 블록(465)으로 넘긴다. 루프 제한 블록(465)은 n번째 루프를 종료하고, 제어를 기능 블록(470)으로 넘긴다. 기능 블록(470)은 (예컨대 이전 패스들로부터의 정보에 기초하여) 패스 n에 대한 레이트 제어 모델 파라미터를 갱신하고, 제어를 판단 블록(475)으로 넘긴다.
판단 블록(475)은 비트 레이트가 (예컨대 하나 또는 그 이상의 임계치에 기초하여) 정확한지 또는 패스 수(n)가 최대 패스 수에 도달하였는지 여부를 판단한다. 판단 결과, 긍정이면 제어는 종료 블록(499)으로 넘어간다. 판단 결과, 부정이면 제어는 기능 블록(445)으로 되돌아간다.
따라서, 이 방법(400)에서 제1 패스(466)는 화상에 대해 q1에서 모든 매크로블록을 인코딩한다. q를 목표 비트 레이트에 맞도록 조정하는, TM5, TMN8, ρ-영역 레이트 제어 알고리즘 등을 포함하는(이에 한정되는 것은 아님) 기존의 레이트 제어 알고리즘을 이용할 수 있다. 제1 패스에서는 n=1로 설정한다. 초기 라운딩 오프셋 s1이 이용되며, 그리고 이 단계에서는 ks ,1에 대한 사전 지식이 없으므로 ks ,1은 디폴트값으로 설정하는데, 예컨대 ks ,1=1로 설정된다. q1은 극히 제한적으로 선택되므로 제1 패스에서의 비트 수(R1)는 목표 비트 수(RT)쯤 될 것이나, 대개는 적용 요건을 만족할 정도로 충분히 가깝지는 않다. 일부 파라미터는 미리 정의되어 있어 제1 패스에서는 부정확할 수 있다. 후속 패스에서는 R(q,s)의 모델을 이용하여 라운딩 오프셋을 조정하여 정밀도를 향상시킨다.
각 패스 후에 n을 1만큼 증분한다. 즉 n=n+1. n번째 패스 중에는 RT와 Rn -1 간의 간격을 좁히기 위하여 다음과 같이 수학식(6)의 예시적인 함수를 이용하여 새로운 라운딩 오프셋을 계산한다.
Figure 112010028981812-pct00007
양자화 스텝 사이즈 q1과 sn은 도출된 비트 수(Rn)를 가지고 인코딩하는 n번째 패스에 이용된다. 모든 화상을 인코딩한 후에는 다음과 같이 이전 패스들로부터의 정보를 이용하여 ks를 갱신한다.
Figure 112010028981812-pct00008
하나의 패스에서 인코딩된 화상이 복수 개인 경우에는 그 화상의 일부 또는 전부로부터의 모든 정보를 이용하여 ks를 집합
Figure 112010028981812-pct00009
Figure 112010028981812-pct00010
간의 선형 회귀(linear regression)로서 갱신한다.
새로운 라운딩 오프셋 s를 계산하고 ks를 갱신하여 비트 레이트 정밀도를 향상시키는 프로세스는 지정된 비트 레이트 정밀도가 충족되거나 최대 패스 수에 도달할 때까지 계속될 수 있다.
도 1의 종래의 레이트 제어 방법(100)에 비해 나은 방법(400)의 이점은 화상 내의 모든 매크로블록이 동일한 양자화 스텝 사이즈와 라운딩 오프셋으로 인코딩되고, 따라서 모든 매크로블록의 품질이 일치한다는 점이다.
실시예 2
도 5를 참조로 설명하면, 비상수 라운딩 오프셋을 포함하는 멀티패스 비디오 인코더에서의 다른 예시적인 레이트 제어 방법은 도면부호 500으로 총괄적으로 나타낸다. 이 방법(500)은 제1 패스(566)와 제2 패스(577)를 포함한다.
이 방법(500)은 제어를 기능 블록(510)으로 넘기는 시작 블록(505)을 포함한다. 기능 블록(510)은 인코딩 설정을 수행하고 그리고/또는 포함하고, 제어를 기능 블록(515)으로 넘긴다. 기능 블록(515)은 패스 1에 대한 레이트 제어 모델 파라미터를 초기화하고, 제어를 루프 제한 블록(520)으로 넘긴다. 루프 제한 블록(520)은 처리되고 있는 현재 비디오 시퀀스 내의 각 화상에 대해 변수 i(i=1,...,화상 수(#))를 이용하여 루프를 실행하고, 제어를 기능 블록(525)으로 넘긴다. 기능 블록(525)은 (예컨대 라운딩 오프셋 s1이 주어지면) 화상 i에 대한 양자화 스텝 사이즈 q1 ,i를 계산하고, 제어를 기능 블록(530)으로 넘긴다. 기능 블록(530)은 q1 ,i와 초기 라운딩 오프셋 s1 ,i에서 화상 i를 인코딩하고, 제어를 루프 제한 블록(535)으로 넘긴다. 루프 제한 블록(535)은 제1 루프를 종료하고, 제어를 기능 블록(540)으로 넘긴다.
기능 블록(540)은 패스 2에 대한 레이트 제어 모델 파라미터를 초기화하고, 제어를 루프 제한 블록(545)으로 넘긴다. 루프 제한 블록(545)은 처리되고 있는 현재 비디오 시퀀스 내의 각 화상에 대해 변수 i(i=1, ..., 화상 수(#))를 이용하여 제2 루프를 실행하고, 제어를 기능 블록(550)으로 넘긴다. 기능 블록(550)은 화상 i에 대한 라운딩 오프셋 {s2 ,i}을 (선택적으로 이전 패스로부터의 정보를 이용하여) 계산하고, 제어를 기능 블록(555)으로 넘긴다. 기능 블록(555)은 q1 ,i와 s2 ,i에서 화상 i를 인코딩하고, 제어를 루프 제한 블록(560)으로 넘긴다. 기능 블록(560)은 (예컨대 제1 패스로부터의 정보와 제2 패스에서 미리 인코딩된 화상에 기초하여) 제2 패스에 대한 레이트 제어 모델 파라미터를 갱신하고, 제어를 루프 제한 블록(565)으로 넘긴다. 루프 제한 블록(565)은 제2 루프를 종료하고, 제어를 종료 블록(599)으로 넘긴다.
이 방법(500)은 방법(400)의 변형임을 알아야 한다.
이 실시예에서는 제1 패스(566)로부터의 정보와 제2 패스(577)에서의 이미 인코딩된 화상을 이용하여 제2 패스 내에서 레이트 제어 모델 파라미터를 갱신한다(기능 블록(560)). 어떤 실시예에서는 제1 패스(566)로부터의 정보와 제2 패스(577)에서의 미리 인코딩된 모든 화상을 이용하여 현재 화상에 대한 파라미터를 갱신한다. 다른 실시예에서는 제1 패스(566)로부터의 정보와 제2 패스(577)에서의 미리 인코딩된 n개의 화상을 이용하여 현재 화상에 대한 파라미터를 갱신한다.
도 4의 방법(400)에 대한 이 방법(500)의 한 가지 이점은 레이트 제어 모델 파라미터들이 제2 패스(577) 내에서 갱신된다는 것이다. 이에 따라 제3 및/또는 그 이상의 패스를 완전히 제거함으로써 프로세스의 속도가 향상된다.
실시예 3
도 6을 참조로 설명하면, 비상수 라운딩 오프셋을 포함하는 싱글패스 비디오 인코더에서의 다른 예시적인 레이트 제어 방법은 도면부호 600으로 총괄적으로 나타낸다. 싱글패스는 도면부호 666으로 나타낸다.
이 방법(600)은 제어를 기능 블록(610)으로 넘기는 시작 블록(605)을 포함한다. 기능 블록(610)은 인코딩 설정을 수행하고 그리고/또는 포함하고, 제어를 기능 블록(620)으로 넘긴다. 기능 블록(620)은 레이트 제어 모델 파라미터를 초기화하고, 제어를 루프 제한 블록(625)으로 넘긴다. 루프 제한 블록(625)은 처리되고 있는 현재 비디오 시퀀스 내의 각 화상에 대해 변수 i(i=1,...,화상 수(#))를 이용하여 루프를 실행하고, 제어를 기능 블록(630)으로 넘긴다. 기능 블록(630)은 화상 i에 대한 양자화 스텝 사이즈 q1 ,i와 라운딩 오프셋 s1 ,i를 계산하고, 제어를 기능 블록(635)으로 넘긴다. 기능 블록(635)은 q1 ,i와 초기 라운딩 오프셋 s1 ,i에서 화상 i를 인코딩하고, 제어를 기능 블록(637)으로 넘긴다. 기능 블록(637)은 레이트 제어 모델 파라미터를 갱신하고, 제어를 루프 제한 블록(640)으로 넘긴다. 루프 제한 블록(640)은 루프를 종료하고, 제어를 종료 블록(699)으로 넘긴다.
이 방법(600)은 방법(500)의 변형임을 알아야 한다. 이 방법(600)에서는 레이트 제어 모델 파라미터들은 제1 패스(637) 내에서 갱신된다. 이에 따라 화상을 한 번만 인코딩함으로써 프로세스의 속도가 향상된다.
실시예 4
도 7을 참조로 설명하면, 트랜스코더에서의 예시적인 레이트 제어 방법은 도면부호 700으로 총괄적으로 나타낸다.
이 방법(700)은 제어를 기능 블록(710)으로 넘기는 시작 블록(705)을 포함한다. 기능 블록(710)은 인코딩 설정을 수행하고 그리고/또는 포함하고, 제어를 기능 블록(715)으로 넘긴다. 기능 블록(715)은 비트 스트림을 읽고 파싱하고, 제어를 루프 제한 블록(720)으로 넘긴다. 루프 제한 블록(720)은 비트 스트림 내의 각 화상에 대해 변수 i(i=1,...,화상 수(#))를 이용하여 루프를 실행하고, 제어를 기능 블록(725)으로 넘긴다. 기능 블록(725)은 화상 i에 대한 양자화 스텝 사이즈 qi와 라운딩 오프셋 si를 계산하고, 제어를 기능 블록(730)으로 넘긴다. 기능 블록(730)은 qi와 si에서 화상 i를 인코딩하고, 제어를 루프 제한 블록(735)으로 넘긴다. 루프 제한 블록(735)은 루프를 종료하고, 제어를 종료 블록(799)으로 넘긴다.
기능 블록(710)은 트랜스코딩 후에 목표 비트 레이트와 임의의 다른 인코딩 파라미터 세트를 설정하는 것을 포함할 수 있음을 알아야 한다. 더욱이 기능 블록(715)은 트랜스코딩을 위해 입력되는 비트 스트림으부터의 정보를 파싱(parse)함을 알아야 한다. 파싱되는 정보로는 비트 스트림 내의 화상들의 매크로블록에 대한 각 화상에 이용된 비트 수, 양자화 파라미터, 움직임 벡터 등을 들 수 있으나 이에 한정되는 것은 아니다. 파싱되는 정보는 후술하는 바와 같이 라운딩 오프셋 정보일 수도 있음을 알아야 한다. 비트 스트림으로부터의 파싱된 정보와 트랜스코딩 요건에 기초하여 기능 블록(725)은 화상에 대한 양자화 스텝 사이즈 q와 라운딩 오프셋 s를 계산한다.
(기능 블록(715)에서) 정보를 파싱하게 되면, 양자화 스텝 사이즈가 비트 스트림에 임베드되기 때문에 이 양자화 스텝 사이즈에 쉽게 접근할 수 있다. 라운딩 오프셋을 얻기 위해서는 비트 스트림에 기초하여 라운딩 오프셋을 추정할 필요가 있다. 다른 방식은 파라미터 추출을 쉽게 하기 위하여 비트 스트림 내에 라운딩 오프셋 정보를 임베드하는 것이다. 여기서 설명된 본 발명의 교시에 따라서 당업자라면 본 발명의 본질을 유지하면서 본 발명의 이들 및 기타 다른 변형과 구현을 쉽게 결정한다.
도 8을 참조로 설명하면, 영상 데이터를 디코딩하는 예시적인 방법은 도면부호 800으로 총괄적으로 나타낸다.
이 방법(800)은 제어를 기능 블록(820)으로 넘기는 시작 블록(810)을 포함한다. 기능 블록(820)은 비트 스트림을 읽고 파싱하고, 제어를 루프 제한 블록(830)으로 넘긴다. 루프 제한 블록(830)은 비트 스트림 내의 각 화상에 대해 변수 i(i=1,...,화상 수(#))를 이용하여 개시하고, 제어를 기능 블록(840)으로 넘긴다. 기능 블록(840)은 화상 i에 대한 양자화 스텝 사이즈 qi를 계산하고, 제어를 기능 블록(850)으로 넘긴다. 기능 블록(850)은 양자화 스텝 사이즈 qi에서 화상 i를 재구성하고, 제어를 루프 제한 블록(860)으로 넘긴다. 루프 제한 블록(860)은 루프를 종료하고, 제어를 종료 블록(899)으로 넘긴다.
도 9를 참조로 설명하면, 영상 데이터를 디코딩하는 다른 예시적인 방법은 도면부호 900으로 총괄적으로 나타낸다.
이 방법(900)은 제어를 기능 블록(920)으로 넘기는 시작 블록(910)을 포함한다. 기능 블록(920)은 비트 스트림을 읽고 파싱하고, 제어를 루프 제한 블록(930)으로 넘긴다. 루프 제한 블록(930)은 비트 스트림 내의 각 화상에 대해 변수 i(i=1,...,화상 수(#))를 이용하여 개시하고, 제어를 기능 블록(940)으로 넘긴다. 기능 블록(940)은 화상 i에 대한 양자화 스텝 사이즈 qi와 라운딩 오프셋 si를 계산하고, 제어를 기능 블록(950)으로 넘긴다. 기능 블록(950)은 양자화 스텝 사이즈 qi와 라운딩 오프셋 si에서 화상 i를 재구성하고, 제어를 루프 제한 블록(960)으로 넘긴다. 루프 제한 블록(960)은 루프를 종료하고, 제어를 종료 블록(999)으로 넘긴다.
이제 본 발명의 많은 부수적인 이점/특성들 중 일부에 대해서 설명한다. 이 중 일부는 이미 설명하였다. 예컨대 한 가지 이점/특성은 레이트 제어를 이용하여 영상 데이터를 인코딩하기 위한 비디오 인코더를 가진 장치이다. 상기 레이트 제어는 양자화 스텝 사이즈를 추정하는 것과 라운딩 오프셋을 조정하는 것을 포함한다. 상기 라운딩 오프셋은 상기 인코딩 중에 비상수일 수 있다.
다른 이점/특성은 상기 레이트 제어가 고정 비트 레이트 애플리케이션, 가변 비트 레이트 애플리케이션 및 트랜스코딩 애플리케이션 중 적어도 하나에 적용된, 전술한 비디오 인코더를 가진 장치이다.
또 다른 이점/특성은 상기 레이트 제어를 위한 레이트 제어 파라미터가 ρ-영역 레이트 모델, TM5 레이트 모델 및 TMN8 레이트 모델 중 적어도 하나에 기초한, 전술한 비디오 인코더를 가진 장치이다.
더욱이, 다른 이점/특성은 상기 비디오 인코더가 상기 영상 데이터를 ISO/IEC 동화상 전문가 그룹-4(MPEG-4) 파트 10 AVC 표준/ITU-T H.264 권고에 따른 비트 스트림으로 인코딩하는, 전술한 비디오 인코더를 가진 장치이다.
더욱이, 다른 이점/특성은 상기 비디오 인코더가 멀티패스 비디오 인코더이고, 상기 레이트 제어를 위한 레이트 제어 모델 파라미터는 이전의 인코딩 패스들 중 적어도 하나로부터의 정보와 현재 패스의 이미 인코딩된 화상에 기초하여 갱신되는, 전술한 비디오 인코더를 가진 장치이다.
또한, 다른 이점/특성은 상기 레이트 제어를 위한 레이트 제어 모델 파라미터가 이미 인코딩된 화상으로부터의 정보에 기초하여 갱신되는, 전술한 비디오 인코더를 가진 장치이다.
추가적으로, 다른 이점/특성은 상기 비디오 인코더가 영상 데이터를 비트 스트림으로 인코딩하고, 상기 라운딩 오프셋과 라운딩 오프셋 정보 중 적어도 하나를 상기 비트 스트림에 삽입하는, 전술한 비디오 인코더를 가진 장치이다.
본 발명의 이들 및 다른 특성과 이점들은 당업자라면 여기서 설명된 교시에 따라서 쉽게 확인할 수 있다. 본 발명의 교시는 여러 가지 형태의 하드웨어, 소프트웨어, 펌웨어, 특수 목적 프로세서 또는 이들의 조합으로 구현될 수 있음을 알아야 한다.
가장 바람직하게는 본 발명의 교시는 하드웨어와 소프트웨어의 조합으로 구현된다. 더욱이 소프트웨어는 프로그램 저장 유닛에서 구체화된 애플리케이션 프로그램으로 구현될 수 있다. 애플리케이션 프로그램은 임의의 적당한 구조를 포함하는 기계에 업로드되어 실행될 수 있다. 바람직하게는 기계는 하나 또는 그 이상의 중앙 처리 장치("CPU"), 임의 접근 메모리("RAM") 및 입/출력("I/O") 인터페이스와 같은 하드웨어를 가진 컴퓨터 플랫폼 상에서 구현된다. 컴퓨터 플랫폼은 운영 체제와 마이크로명령어 코드를 포함할 수도 있다. 여기서 설명된 여러 가지 프로세스와 기능은 CPU에 의해 실행될 수 있는 마이크로명령어 코드의 일부 또는 애플리케이션 프로그램의 일부일 수 있으며, 또는 이들의 조합일 수 있다. 그외에도 부가적인 데이터 저장 장치와 프린팅 장치와 같은 여러 가지 다른 주변 장치가 컴퓨터 플랫폼에 연결될 수 있다.
더욱이 첨부 도면에 나타낸 구성 시스템 구성 요소와 방법의 일부는 바람직하게는 소프트웨어로 구현되기 때문에 시스템 구성 요소와 프로세스 기능 블록 간의 실제 연결은 본 발명이 프로그래밍되는 방식에 따라 다를 수 있음을 알아야 한다. 여기서 설명된 교시에 따르면 당업자는 본 발명의 이들 및 유사한 구현이나 구현을 생각해 낼 수 있을 것이다.
지금까지 첨부 도면을 참조 예시적인 실시예들에 대해 설명하였지만, 본 발명은 이들 실시예들에만 한정하는 것이 아니며, 당업자라면 본 발명의 범위나 본질로부터 벗어남이 없이 본 발명을 여러 가지로 수정하고 변형할 수 있음을 알아야 한다. 그와 같은 수정과 변형은 첨부된 청구범위에 기재된 본 발명의 범위 내에 있는 것이다.

Claims (23)

  1. 레이트 제어를 이용하여 영상 데이터를 인코딩하기 위한 비디오 인코더
    를 포함하며,
    상기 레이트 제어는 양자화 스텝 사이즈를 추정하는 것과 라운딩 오프셋을 조정하는 것을 포함하고, 상기 라운딩 오프셋은 상기 인코딩 동안 비상수(non-constant)일 수 있으며 이미 인코딩된 화상들로부터의 정보에 기초하여 화상들 간에 갱신되는 장치.
  2. 제1항에 있어서,
    상기 레이트 제어는 고정 비트 레이트 애플리케이션, 가변 비트 레이트 애플리케이션 및 트랜스코딩 애플리케이션 중 적어도 하나에 적용되는 장치.
  3. 제1항에 있어서,
    상기 레이트 제어를 위한 레이트 제어 파라미터들은 ρ-영역 레이트 모델, TM5 레이트 모델 및 TMN8 레이트 모델 중 적어도 하나에 기초하는 장치.
  4. 제1항에 있어서,
    상기 비디오 인코더는 상기 영상 데이터를 ISO/IEC(International Organization for Standardization/International Electrotechnical Commission) MPEG-4 파트 10 AVC(Advanced Video Coding) 표준/ITU-TS(International Telecommunication Union, Telecommunication Sector) H.264 권고를 준수하는 결과적 비트 스트림으로 인코딩하는 장치.
  5. 제1항에 있어서,
    상기 비디오 인코더는 멀티패스 비디오 인코더이고, 상기 레이트 제어를 위한 레이트 제어 모델 파라미터들은 이전의 인코딩 패스들 중 적어도 하나로부터의 정보와 현재 패스의 이미 인코딩된 화상들에 기초하여 갱신되는 장치.
  6. 제1항에 있어서,
    상기 레이트 제어를 위한 레이트 제어 모델 파라미터들은 이미 인코딩된 화상으로부터의 정보에 기초하여 갱신되는 장치.
  7. 제1항에 있어서,
    상기 비디오 인코더는 영상 데이터를 결과적 비트 스트림으로 인코딩하고, 상기 라운딩 오프셋과 라운딩 오프셋 정보 중 적어도 하나를 상기 결과적 비트 스트림에 임베드(embed)하는 장치.
  8. 레이트 제어를 이용하여 영상 데이터를 인코딩하는 단계
    를 포함하며,
    상기 레이트 제어는 양자화 스텝 사이즈를 추정하는 것과 라운딩 오프셋을 조정하는 것을 포함하고, 상기 라운딩 오프셋은 상기 인코딩 동안 비상수일 수 있으며 이미 인코딩된 화상들로부터의 정보에 기초하여 화상들 간에 갱신되는 방법.
  9. 제8항에 있어서,
    상기 레이트 제어는 고정 비트 레이트 애플리케이션, 가변 비트 레이트 애플리케이션 및 트랜스코딩 애플리케이션 중 적어도 하나에 적용되는 방법.
  10. 제8항에 있어서,
    상기 레이트 제어를 위한 레이트 제어 파라미터들은 ρ-영역 레이트 모델, TM5 레이트 모델 및 TMN8 레이트 모델 중 적어도 하나에 기초하는 방법.
  11. 제8항에 있어서,
    상기 인코딩 단계는 상기 영상 데이터를 ISO/IEC MPEG-4 파트 10 AVC 표준/ITU-TS H.264 권고를 준수하는 결과적 비트 스트림으로 인코딩하는 방법.
  12. 제8항에 있어서,
    상기 인코딩 단계는 멀티패스 비디오 인코더에서 수행되고, 상기 레이트 제어를 위한 레이트 제어 모델 파라미터들은 이전의 인코딩 패스들 중 적어도 하나로부터의 정보와 현재 패스의 이미 인코딩된 화상들에 기초하여 갱신되는 방법.
  13. 제8항에 있어서,
    상기 레이트 제어를 위한 레이트 제어 모델 파라미터들은 이미 인코딩된 화상들로부터의 정보에 기초하여 갱신되는 방법.
  14. 제8항에 있어서,
    상기 인코딩 단계는 영상 데이터를 결과적 비트 스트림으로 인코딩하고, 상기 라운딩 오프셋과 라운딩 오프셋 정보 중 적어도 하나를 상기 결과적 비트 스트림에 임베드하는 방법.
  15. 레이트 제어를 이용하여 영상 데이터를 비트 스트림으로 디코딩하기 위한 비디오 디코더
    를 포함하며,
    상기 레이트 제어는 양자화 스텝 사이즈와 라운딩 오프셋을 포함하고, 상기 라운딩 오프셋은 상기 디코딩 동안 비상수일 수 있으며 이미 디코딩된 화상들로부터의 정보에 기초하여 화상들 간에 갱신되고, 상기 비트 스트림 내에 있는 정보와 상기 비트 스트림에 관련된 정보 중 적어도 하나에 기초하여 추정되는 것과 상기 비트 스트림으로부터 추출되는 것 중 어느 하나인 장치.
  16. 제15항에 있어서,
    상기 레이트 제어는 고정 비트 레이트 애플리케이션, 가변 비트 레이트 애플리케이션 및 트랜스코딩 애플리케이션 중 적어도 하나에 적용되는 장치.
  17. 제15항에 있어서,
    상기 레이트 제어를 위한 레이트 제어 파라미터들은 ρ-영역 레이트 모델, TM5 레이트 모델 및 TMN8 레이트 모델 중 적어도 하나에 기초한 장치.
  18. 제15항에 있어서,
    상기 비트 스트림은 ISO/IEC MPEG-4 파트 10 AVC 표준/ITU-TS H.264 권고를 준수하는 장치.
  19. 레이트 제어를 이용하여 영상 데이터를 비트 스트림으로 디코딩하는 단계
    를 포함하며,
    상기 레이트 제어는 양자화 스텝 사이즈와 라운딩 오프셋을 포함하고, 상기 라운딩 오프셋은 상기 디코딩 단계 동안 비상수일 수 있으며 이미 디코딩된 화상들로부터의 정보에 기초하여 화상들 간에 갱신되고, 상기 비트 스트림 내에 있는 정보와 상기 비트 스트림에 관련된 정보 중 적어도 하나에 기초하여 추정되는 것과 상기 비트 스트림으로부터 추출되는 것 중 어느 하나인 방법.
  20. 제19항에 있어서,
    상기 레이트 제어는 고정 비트 레이트 애플리케이션, 가변 비트 레이트 애플리케이션 및 트랜스코딩 애플리케이션 중 적어도 하나에 적용되는 방법.
  21. 제19항에 있어서,
    상기 레이트 제어를 위한 레이트 제어 파라미터들은 ρ-영역 레이트 모델, TM5 레이트 모델 및 TMN8 레이트 모델 중 적어도 하나에 기초하는 방법.
  22. 제19항에 있어서,
    상기 비트 스트림은 ISO/IEC MPEG-4 파트 10 AVC 표준/ITU-TS H.264 권고를 준수하는 방법.
  23. 인코딩된 비디오 신호 데이터를 갖는 컴퓨터 판독가능 저장 매체로서,
    레이트 제어를 이용하여 인코딩된 영상 데이터를 포함하고,
    상기 레이트 제어는 양자화 스텝 사이즈를 추정하는 것과 라운딩 오프셋을 조정하는 것을 포함하고,
    상기 라운딩 오프셋은 상기 인코딩 동안 비상수이며 이미 인코딩된 화상들로부터의 정보에 기초하여 화상들 간에 갱신되는
    컴퓨터 판독가능 저장 매체.
KR1020107009971A 2007-10-05 2008-09-15 비디오 인코딩 및 디코딩에서 레이트 제어 정밀도를 위한 방법 및 장치 KR101599561B1 (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US97792607P 2007-10-05 2007-10-05
US60/977,926 2007-10-05

Publications (2)

Publication Number Publication Date
KR20100058679A KR20100058679A (ko) 2010-06-03
KR101599561B1 true KR101599561B1 (ko) 2016-03-03

Family

ID=40469853

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020107009971A KR101599561B1 (ko) 2007-10-05 2008-09-15 비디오 인코딩 및 디코딩에서 레이트 제어 정밀도를 위한 방법 및 장치

Country Status (7)

Country Link
US (1) US9979972B2 (ko)
EP (1) EP2206348B1 (ko)
JP (1) JP5411144B2 (ko)
KR (1) KR101599561B1 (ko)
CN (2) CN105898312A (ko)
BR (1) BRPI0817655A2 (ko)
WO (1) WO2009048501A2 (ko)

Families Citing this family (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
BRPI0906760A2 (pt) * 2008-01-17 2015-07-07 Thomson Licensing Método e aparelho para precisão de controle de taxa em codificação de vídeo
US8848788B2 (en) * 2009-05-16 2014-09-30 Thomson Licensing Method and apparatus for joint quantization parameter adjustment
EP2430836B1 (en) * 2009-05-16 2016-08-17 Thomson Licensing Methods and apparatus for improved quantization rounding offset adjustment for video encoding
US10117055B2 (en) 2009-07-08 2018-10-30 Dejero Labs Inc. System and method for providing data services on vehicles
US10033779B2 (en) 2009-07-08 2018-07-24 Dejero Labs Inc. Multipath data streaming over multiple wireless networks
US9756468B2 (en) 2009-07-08 2017-09-05 Dejero Labs Inc. System and method for providing data services on vehicles
US10165286B2 (en) * 2009-07-08 2018-12-25 Dejero Labs Inc. System and method for automatic encoder adjustment based on transport data
US8942215B2 (en) 2010-07-15 2015-01-27 Dejero Labs Inc. System and method for transmission of data from a wireless mobile device over a multipath wireless router
US8681858B2 (en) * 2009-12-23 2014-03-25 General Instrument Corporation Rate control for two-pass encoder
KR102390162B1 (ko) 2015-10-16 2022-04-22 삼성전자주식회사 데이터 인코딩 장치 및 데이터 인코딩 방법
CN109660825B (zh) * 2017-10-10 2021-02-09 腾讯科技(深圳)有限公司 视频转码方法、装置、计算机设备及存储介质
WO2023060103A1 (en) * 2021-10-07 2023-04-13 Google Llc Qp range specification for external video rate control

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004201298A (ja) 2002-12-19 2004-07-15 Mitsubishi Electric Research Laboratories Inc 画像のシーケンスを適応的に符号化するシステムおよび方法
JP2006157881A (ja) * 2004-11-08 2006-06-15 Toshiba Corp 可変長符号化装置及びその方法
WO2007099039A1 (en) 2006-03-02 2007-09-07 Thomson Licensing Method and apparatus for determining in picture signal encoding the bit allocation for groups of pixel blocks in a picture

Family Cites Families (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6141447A (en) * 1996-11-21 2000-10-31 C-Cube Microsystems, Inc. Compressed video transcoder
JPH10174103A (ja) * 1996-12-13 1998-06-26 Matsushita Electric Ind Co Ltd 画像符号化装置、符号化画像記録媒体、画像復号化装置、画像符号化方法、および符号化画像伝送方法
JPH10243399A (ja) * 1997-02-25 1998-09-11 Sharp Corp 符号量制御装置及び該符号量制御装置を含む動画像符号化装置
US6738423B1 (en) * 2000-01-21 2004-05-18 Nokia Mobile Phones Ltd. Method for encoding and decoding video information, a motion compensated video encoder and a corresponding decoder
US7346106B1 (en) * 2003-12-30 2008-03-18 Apple Inc. Robust multi-pass variable bit rate encoding
US7492820B2 (en) * 2004-02-06 2009-02-17 Apple Inc. Rate control for video coder employing adaptive linear regression bits modeling
JP2006067302A (ja) * 2004-08-27 2006-03-09 Toshiba Corp 画像符号化装置、画像符号化方法および画像符号化プログラム
JP4529615B2 (ja) * 2004-09-24 2010-08-25 ソニー株式会社 符号化装置、符号化方法、符号化方法のプログラム及び符号化方法のプログラムを記録した記録媒体
US20060098733A1 (en) * 2004-11-08 2006-05-11 Kabushiki Kaisha Toshiba Variable-length coding device and method of the same
CN100405848C (zh) * 2005-09-16 2008-07-23 宁波大学 一种用于视频图像编码过程中的量化方法
US7889790B2 (en) * 2005-12-20 2011-02-15 Sharp Laboratories Of America, Inc. Method and apparatus for dynamically adjusting quantization offset values
WO2007135626A2 (en) 2006-05-18 2007-11-29 Nxp B.V. Method of video coding
US7773672B2 (en) * 2006-05-30 2010-08-10 Freescale Semiconductor, Inc. Scalable rate control system for a video encoder
JP2007053788A (ja) 2006-10-02 2007-03-01 Sony Corp 映像データ圧縮装置およびその方法
JP5524063B2 (ja) * 2007-09-28 2014-06-18 ドルビー ラボラトリーズ ライセンシング コーポレイション ビデオ情報処理
JP5427785B2 (ja) * 2007-09-28 2014-02-26 ドルビー ラボラトリーズ ライセンシング コーポレイション ビデオ圧縮技法及びビデオ伝達技法

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004201298A (ja) 2002-12-19 2004-07-15 Mitsubishi Electric Research Laboratories Inc 画像のシーケンスを適応的に符号化するシステムおよび方法
JP2006157881A (ja) * 2004-11-08 2006-06-15 Toshiba Corp 可変長符号化装置及びその方法
WO2007099039A1 (en) 2006-03-02 2007-09-07 Thomson Licensing Method and apparatus for determining in picture signal encoding the bit allocation for groups of pixel blocks in a picture

Also Published As

Publication number Publication date
CN101816181A (zh) 2010-08-25
BRPI0817655A2 (pt) 2015-03-31
WO2009048501A3 (en) 2009-06-18
US9979972B2 (en) 2018-05-22
JP5411144B2 (ja) 2014-02-12
EP2206348A2 (en) 2010-07-14
JP2010541469A (ja) 2010-12-24
EP2206348B1 (en) 2016-08-17
WO2009048501A2 (en) 2009-04-16
CN105898312A (zh) 2016-08-24
US20100232498A1 (en) 2010-09-16
KR20100058679A (ko) 2010-06-03

Similar Documents

Publication Publication Date Title
KR101599561B1 (ko) 비디오 인코딩 및 디코딩에서 레이트 제어 정밀도를 위한 방법 및 장치
JP5806219B2 (ja) ビデオ符号化及び復号化における埋め込み量子化パラメータ調整方法及び装置
KR101603747B1 (ko) 비디오 인코딩에서 속도 제어 정확성을 위한 방법 및 장치
KR101702156B1 (ko) 비디오 인코딩 및 디코딩에 대한 개선된 양자화 라운딩 오프셋 조정을 위한 방법들 및 장치
EP2678944B1 (en) Methods and devices for data compression using offset-based adaptive reconstruction levels
EP1745653B1 (en) Encoder with adaptive rate control for h.264
US9025664B2 (en) Moving image encoding apparatus, moving image encoding method, and moving image encoding computer program
US9955168B2 (en) Constraining number of bits generated relative to VBV buffer
JP7343817B2 (ja) 符号化装置、符号化方法、及び符号化プログラム
JP5917117B2 (ja) 画像符号化装置及び画像符号化方法
WO2008047714A1 (en) Code conversion method, transcoder, and integrated circuit thereof

Legal Events

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