KR20120084168A - 비디오 인코딩 모드 선택 방법 및 이를 수행하는 비디오 인코딩 장치 - Google Patents

비디오 인코딩 모드 선택 방법 및 이를 수행하는 비디오 인코딩 장치 Download PDF

Info

Publication number
KR20120084168A
KR20120084168A KR1020110005558A KR20110005558A KR20120084168A KR 20120084168 A KR20120084168 A KR 20120084168A KR 1020110005558 A KR1020110005558 A KR 1020110005558A KR 20110005558 A KR20110005558 A KR 20110005558A KR 20120084168 A KR20120084168 A KR 20120084168A
Authority
KR
South Korea
Prior art keywords
distortion
code rate
encoding
quantized
estimated
Prior art date
Application number
KR1020110005558A
Other languages
English (en)
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 삼성전자주식회사
Priority to KR1020110005558A priority Critical patent/KR20120084168A/ko
Priority to US13/316,746 priority patent/US20120183051A1/en
Publication of KR20120084168A publication Critical patent/KR20120084168A/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/103Selection of coding mode or of prediction mode
    • 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/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/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

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (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

본 발명은 비디오 인코딩 모드 선택 방법 및 이를 수행하는 비디오 인코딩 장치에 관한 것으로 본 발명의 일 실시 예에 따르는 비디오 인코딩 모드 선택 방법은, 원본 영상 블록을 둘 이상의 인코딩 모드에 따라 각각 주파수 영역으로 변환하는 단계, 상기 변환된 영상 블록을 양자화하는 단계, 상기 양자화된 영상 블록의 양자화된 인덱스 및 양자화 파라미터를 이용하여 상기 인코딩 모드에 상응하는 인코드블록의 왜곡을 추정하는 왜곡추정단계, 상기 양자화된 인덱스를 이용하여 상기 인코딩 모드에 상응하는 인코드블록의 부호화율을 추정하는 부호화율추정단계 및 상기 추정된 부호화율 및 상기 추정된 왜곡을 이용하여 인코딩 모드를 선택하는 모드선택단계를 포함할 수 있다. 본 발명의 일 실시 예에 따르면, 효율적이고 효과적으로 율-왜곡 비용을 계산하여 적당한 인코드 모드를 선택하는 방법 및 이를 수행하는 비디오 인코딩 장치를 제공할 수 있는 효과가 있다.

Description

비디오 인코딩 모드 선택 방법 및 이를 수행하는 비디오 인코딩 장치{METHOD FOR VIDEO ENCODING MODE SELECTION AND VIDEO ENCODING APPARATUS PERFORMING THE SAME}
본 발명은 비디오 인코딩 모드 선택 방법 및 이를 수행하는 비디오 인코딩 장치에 관한 것으로, 더욱 상세하게는 영상에 적합한 비디오 인코딩 모드를 효율적으로 선택하는 방법 및 장치에 관한 것이다.
도 1은 일반적인 비디오 배포 방식을 나타낸 도면이다.
송신측(100)의 원본 비디오(110)는 비디오 압축(120) 과정을 통해 압축된 비트스트림(130)으로 압축된다. 압축된 비트스트림(130)은 채널(140)을 통해 수신측(150)에 전달된다. 수신측(150)은 수신한 압축된 비트스트림(160)을 압축 해제(170)하여 재생성된 비디오(180, constructive video)를 생성한다. 사용자는 이와 같은 과정을 통해 비디오를 시청할 수 있다. 이와 같이 일반적으로 비디오 배포를 위해서는 압축 또는 인코딩과 압축해제(decompress) 또는 디코딩이 필요하다. 여러 인코딩 방법이 알려져 있으며 그 중 비디오 인코딩(encoding) 표준 H.264/AVC가 중요한 인코딩 방식으로 각광받고 있다.
비디오 인코딩(encoding) 표준 H.264/AVC에서, 그 인코딩 효율을 크게 향상시키기 위해 수많은 인코딩(또는 코딩) 방식이 제안되었다. 인코더의 효율적인 구현의 열쇠는 율-왜곡(rate-distortion) 성능을 측정하기 위한 알맞은 비용 기준을 정의하는 것이다. 또한 이러한 기준에 기초하여, 최적의 파라미터를 선택하는 것도 인코더의 효율적인 구현을 위한 열쇠가 된다. 하지만, 특히 율-왜곡 최적화(Rate-Distortion Optimization; RDO)가 사용될 때, 동작 추정 및 모드 결정에 의해 인코더의 복잡도가 크게 증가한다. RDO 이론은 라그랑주 방법(Lagrange's method)을 이용한다. RDO 이론은 인코딩 화상의 각기 다른 부분을 위한 최적의 인코딩 모드 선택을 위한 효과적인 기준을 제공한다. 하지만, RDO 이론은 왜곡(distortion)과 부호화율(bit-rate)을 계산하기 위한 변환(transform)과 엔트로피 코딩(entropy coding)으로 인한 높은 계산 복잡도를 요하는 문제가 있다.
H.264/AVC의 JM(Joint Model) 구현에서, 두 종류의 비용이 정의된다. 낮은 복잡도 비용은 동작에 관한 정보에만 적용되지만, 높은 복잡도 비용은 동작 및 정치 화상 인코딩을 위한 부호화율(rate) 및 왜곡(distortion)에 모두 적용된다. 비록 높은 복잡도 비용을 이용하는 것이, 특히 양방향 코드된 조각들(Bi-directional coded slices)을 위해, 높은 인코딩 효율에 이를 수 있도록 하지만, 심각한 계산 부담이 문제가 된다.
각 블록의 각 모드를 위한 율-왜곡(RD; rate-distortion) 비용을 계산하는 것은 시간을 많이 소비하는(time-consuming) 작업이다. 따라서 모드 결정을 위한 인코드된 비트(coded bits) 및 왜곡(distortion)을 예상하는 좋은 방법을 찾을 수 있다면, RDO의 장점은 유지한 채로 RDO 동작의 복잡도는 크게 낮출 수 있다.
본 발명은 상술한 문제점을 해결하기 위하여 제안된 것으로 효율적이고 효과적으로 율-왜곡 비용을 계산하여 적당한 인코드 모드를 선택하는 방법 및 이를 수행하는 비디오 인코딩 장치를 제공하는데 그 목적이 있다.
상술한 과제를 달성하기 위하여, 본 발명의 일 실시 예에 따르는 비디오 인코딩 장치의 인코딩 모드 선택 방법은, 원본 영상 블록을 둘 이상의 인코딩 모드에 따라 각각 주파수 영역으로 변환하는 단계, 상기 변환된 영상 블록을 양자화하는 단계, 상기 양자화된 영상 블록의 양자화된 인덱스 및 양자화 파라미터를 이용하여 상기 인코딩 모드에 상응하는 인코드블록의 왜곡을 추정하는 왜곡추정단계, 상기 양자화된 인덱스를 이용하여 상기 인코딩 모드에 상응하는 인코드블록의 부호화율을 추정하는 부호화율추정단계 및 상기 추정된 부호화율 및 상기 추정된 왜곡을 이용하여 인코딩 모드를 선택하는 모드선택단계를 포함할 수 있다.
상술한 과제를 달성하기 위하여, 본 발명의 일 실시 예에 따르는 비디오 인코딩 장치는 원본 영상 블록을 둘 이상의 인코딩 모드에 따라 각각 주파수 영역으로 변환하는 변환부, 상기 변환된 영상 블록을 양자화하는 양자화부, 상기 양자화된 영상 블록의 양자화된 인덱스 및 양자화 파라미터를 이용하여 상기 인코딩 모드에 상응하는 인코드블록의 왜곡을 추정하는 왜곡추정부, 상기 양자화된 인덱스를 이용하여 상기 인코딩 모드에 상응하는 인코드블록의 부호화율을 추정하는 부호화율추정부 및 상기 추정된 부호화율 및 상기 추정된 왜곡을 이용하여 인코딩 모드를 선택하는 모드선택부를 포함할 수 있다.
기타 실시 예들의 구체적인 사항들은 상세한 설명 및 도면들에 포함되어 있다.
본 발명의 일 실시 예에 따르면 효율적이고 효과적으로 율-왜곡 비용을 계산하여 적당한 인코드 모드를 선택하는 방법 및 이를 수행하는 비디오 인코딩 장치를 제공할 수 있는 효과가 있다.
도 1은 일반적인 비디오 배포 방식을 나타낸 도면이다.
도 2는 H.264/AVC 표준에 따라 인코딩 모드를 선택하는 과정을 나타낸 도면이다.
도 3은 종래 기술에 따르는 인코딩 모드 선택 과정을 나타낸 도면이다.
도 4는 본 발명의 일 실시 예에 따르는 인코딩 모드 선택 방법을 나타낸 도면이다.
도 5는 본 발명의 일 실시 예에 따르는 비디오 인코딩 장치의 블록구성도이다.
도 6은 본 발명의 일 실시 예에 따르는 비디오 인코딩 과정의 순서도이다.
도 7은 본 발명의 일 실시 예에 따르는 왜곡 추정 단계 (630)의 상세 순서도이다.
도 8은 본 발명의 일 실시 예에 따르는 부호화율추정단계(640)의 상세 순서도이다.
도 9 및 도 10은 본 발명의 일 실시 예에 따르는 부호화율 및 왜곡 추정의 결과를 나타낸 도면이다.
이하, 본 발명의 실시 예를 첨부된 도면을 참조하여 상세하게 설명한다.
실시 예를 설명함에 있어서 본 발명이 속하는 기술 분야에 익히 알려져 있고 본 발명과 직접적으로 관련이 없는 기술 내용에 대해서는 설명을 생략한다. 이는 불필요한 설명을 생략함으로써 본 발명의 요지를 흐리지 않고 더욱 명확히 전달하기 위함이다.
마찬가지 이유로 첨부 도면에 있어서 일부 구성요소는 과장되거나 생략되거나 개략적으로 도시되었다. 또한, 각 구성요소의 크기는 실제 크기를 전적으로 반영하는 것이 아니다. 각 도면에서 동일한 또는 대응하는 구성요소에는 동일한 참조 번호를 부여하였다.
본 발명의 이점 및 특징, 그리고 그것들을 달성하는 방법은 첨부되는 도면과 함께 상세하게 후술되어 있는 실시 예들을 참조하면 명확해질 것이다. 그러나 본 발명은 이하에서 개시되는 실시 예들에 한정되는 것이 아니라 서로 다른 다양한 형태로 구현될 수 있으며, 단지 본 실시 예들은 본 발명의 개시가 완전하도록 하고, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 발명의 범주를 완전하게 알려주기 위해 제공되는 것이며, 본 발명은 청구항의 범주에 의해 정의될 뿐이다. 명세서 전체에 걸쳐 동일 참조 부호는 동일 구성 요소를 지칭한다.
이하, 본 발명의 실시 예들에 의하여 비디오 인코딩 모드 선택 방법 및 이를 수행하는 비디오 인코딩 장치를 설명하기 위한 도면들을 참고하여 본 발명에 대해 설명하도록 한다.
도 2는 H.264/AVC 표준에 따라 인코딩 모드를 선택하는 과정을 나타낸 도면이다.
비디오 인코딩 장치는 비디오 이미지(210)를 이미지 블록들(220)로 나눈다. 비디오 이미지(210)는 예를 들어 4x4 픽셀 단위의 이미지 블록들(220)로 나뉘어질 수 있다. 그리고 해당 비디오 인코딩 장치가 처리할 수 있는 인코딩 모드(230)들을 각각 적용하여 각 이미지 블록들을 인코드하고 인코드된 이미지 블록에 대해서 왜곡(Distortion) 및 부호화율(Rate)를 계산한다(241, 242, 243). 그리고 계산된 각 왜곡 및 부호화율에 대해 아래 JHC를 최소로 하는 인코딩 모드, 즉 최적모드(250)를 선택하여 그에 따라 인코딩을 수행하게 된다.
<수학식 1>
JHC=D+λR
수학식 1에서 R은 매크로블록(MB)는 해당 인코딩 모드에 따라 인코딩된 부호화율 또는 비트 수(비트비용)이다., D는 해당 인코딩 모드에 따라 인코딩된 매크로블록의 왜곡(Distortion)이다. λ는 양자화 파라미터(QP; Quantization Parameter)에 의존하는 계수로써, 왜곡과 비트 비용 사이의 균형을 맞춰준다.
도 3은 종래 기술에 따르는 인코딩 모드 선택 과정을 나타낸 도면이다.
도 3을 참조하면, 단계 310에서 비디오 인코딩 장치는 비디오의 이미지 블록을 주파수 영역으로 변환한다. 이후 단계 320에서 비디오 인코딩 장치는 주파수 영역으로 변환된 이미지 블록을 양자화(Quantization)한다. 단계 330에서 비디오 인코딩 장치는 양자화된 이미지 블록을 엔트로피 코딩한다. 비디오 인코딩 장치는 엔트로피 코딩이 완료된 이미지 블록의 부호화율을 이용하여 비트 비용 또는 부호화율(Rate, 380)을 계산할 수 있다.
이후 단계 350에서 비디오 인코딩 장치는 엔트로피 코딩이 완료된 이미지 블록에 대해 엔트로피 디코딩을 수행한다. 단계 350에서 비디오 인코딩 장치는 엔트로피 디코딩이 수행된 이미지 블록을 역양자화(DeQuantization)한다. 단계 360에서 비디오 인코딩 장치는 역양자화된 이미지 블록을 공간 영역으로 변환(Verse Transformation)한다. 비디오 인코딩 장치는 공간 영역으로 변환된 이미지 블록과 원본 이미지 블록을 비교하여 왜곡(Distortion, 390)을 계산할 수 있다. 그리고 이렇게 구한 부호화율 및 왜곡을 이용하여 JHC를 구할 수 있다.
도 3의 종래 기술에 따르면 각 인코딩 모드에 대해 단계 310 내지 단계 360을 수행하여야 각 인코딩 모드에 대한 JHC를 구할 수 있다. 결국 각각의 이미지 블록에 대해 모든 인코딩 모드로 인코딩 및 디코딩을 수행하여야 모드 결정이 가능하므로 시간이 많이 소요된다.
도 4는 본 발명의 일 실시 예에 따르는 인코딩 모드 선택 방법을 나타낸 도면이다.
도 4를 참조하면, 단계 410에서 비디오 인코딩 장치는 비디오의 이미지 블록을 주파수 영역으로 변환한다. 이후 단계 420에서 비디오 인코딩 장치는 주파수 영역으로 변환된 이미지 블록을 양자화(Quantization)한다. 도 4의 실시 예에서는 도 3의 종래기술과 달리 엔트로피 코딩(430), 엔트로피 디코딩(440), 역양자화(450), 공간 영역으로 변화(460)을 수행하지 않는다. 비디오 인코딩 장치는 상기 430 내지 460 단계 대신 양자화된 이미지 블록을 이용하여 각 인코딩 모드의 부호화율(Rate, 480) 및 왜곡(Distortion, 490)을 추정한다. 비디오 인코딩 장치는 추정된 부호화율 및 왜곡을 이용하여 JHC를 구하여 최적의, 또는 적어도 최적에 가까운 인코딩 모드를 적은 비용으로 선택할 수 있다.
도 5는 본 발명의 일 실시 예에 따르는 비디오 인코딩 장치(500)의 블록구성도이다.
도 5를 참조하면 본 발명의 일 실시 예에 따르는 비디오 인코딩 장치(500)는 변환부(520), 양자화부(530), 왜곡추정부(540), 부호화율추정부(550), 모드선택부(560) 및 인코딩부(570)를 포함한다.
변환부(520)는 원본 영상 블록(이미지 블록)을 주파수 영역으로 변환한다. 이 때 변환부(520)는 둘 이상의 인코딩 모드에 따라 원본 영상 블록을 각각 주파수 영역으로 변환한다. 이후 인코딩 모드 선택 전까지 양자화, 왜곡 추정, 부호화율 추정 및 JHC 계산 등이 각 인코딩 모드 별로 수행된다. 상세한 선택 과정은 도 6을 참조하여 후술한다.
변환부(520)가 수행하는 변환은 예를 들어 정수형 DCT(Discrete Cosine Transform) 이나 이를 대체할 수 있는 변환이 될 수 있다. H.264 표준의 변화에 따라 다른 변환 방식이 사용될 수도 있다. 원본 영상 블록을 주파수 영역으로 변환하는 것은 공지기술이므로 여기서는 상세한 설명을 생략한다.
변환된 영상 블록은 양자화부(530)로 전달된다.
양자화부(530)는 주파수 영역으로 변환된 영상 블록을 양자화한다. 양자화부(530)는 영상 블록의 행렬에 적당한 양자화 행렬을 곱하거나 이에 상응하는 연산을 수행하는 방식으로 영상 블록을 양자화할 수 있다. 주파수 영역으로 변환된 영상 블록을 양자화하는 것은 공지기술이므로 여기서는 상세한 설명을 생략한다.
양자화된 영상 블록은 왜곡추정부(540), 부호화율추정부(550)로 전달된다. 특히 해당 인코딩 모드가 선택되면 양자화된 영상 블록은 인코딩부(570)로 전달될 수 있다.
왜곡추정부(540)는 양자화된 영상 블록을 구성하는 양자화된 인덱스 및 각 인코딩 모드에 따라 결정되는 양자화 파라미터를 이용하여 각 인코딩 모드에 상응하는 인코드블록의 왜곡을 추정한다. 여기서 인코드블록은 최종적으로 인코딩된 영상 블록을 가리킨다. 왜곡 추정 방법에 대해서는 도 7을 참조하여 상세히 후술한다. 추정된 왜곡은 모드선택부(560)로 전달되어 모드 선택의 판단 기준이 된다.
부호화율추정부(550)는 양자화된 인덱스를 이용하여 각 인코딩 모드에 상응하는 인코드블록의 부호화율을 추정한다. 부호화율 추정 방법에 대해서는 도 8을 참조하여 상세히 후술한다. 추정된 부호화율은 모드선택부(560)로 전달되어 모드 선택의 판단 기준이 된다.
모드선택부(560)는 왜곡추정부(540)가 추정한 왜곡 및 부호화율추정부(550)가 추정한 부호화율을 이용하여 수학식 1을 적용하여 JHC를 계산하고 이를 이용하여 최적의 인코딩 모드를 선택한다. 선택된 인코딩 모드는 인코딩부(570)로 전달되어 실제 인코딩을 수행할 인코딩 모드를 알려주게 된다.
인코딩부(570)는 모드선택부(560)가 선택한 인코딩 모드로 원본 영상 블록을 인코딩한다. 양자화부(530)가 양자화한 영상 블록을 인코딩 단계가 수행될 때까지 삭제하지 않고 유지한다고 가정한다. 이 경우 모드선택부(560)가 선택한 인코딩 모드에 따라 양자화된 블록을 찾아서 여기에 엔트로피 코딩을 수행하는 것만으로 해당 영상 블록에 대한 전체 인코딩 과정이 완료된다. 이렇게 인코딩 된 영상블록은 파일의 형태로 저장되거나 비트스트림의 형태로 네트워크를 통해 전달된다.
도 6은 본 발명의 일 실시 예에 따르는 비디오 인코딩 과정의 순서도이다.
단계 610 내지 단계 640은 비디오 인코딩 장치(500)가 지원하는 각 인코딩 모드에 대해 각각 한번씩 수행된다. 여기서 인코딩 모드는 예를 들어 비디오 인코딩 장치(500)가 지원하는 인트라 예측 모드(intra prediction mode)가 될 수 있다. H.264에 따르면 4x4 블록에 대해 9가지의 인트라 예측 모드가 허용된다. 발명의 성질에 어긋나지 않는 이상 다른 종류의 모드에 대해서도 본원 발명이 적용될 수 있다.
단계 605에서 비디오 인코딩 장치(500)는 초기 인코딩 모드에 대해 율-왜곡 추정을 수행하도록 설정한다. 여기서 초기 인코딩 모드는 임의로 선택된 인코딩 모드이고, 최종적으로는 모든 인코딩 모드에 대해 단계 610 내지 단계 640이 수행되므로 어느 인코딩 모드가 초기 인코딩 모드로 선택되는지는 중요하지 않다.
단계 610에서 변환부(520)는 현재 율-왜곡 추정을 수행하도록 설정된 인코딩 모드에 따라 원본 영상 블록(이미지 블록)을 주파수 영역으로 변환한다. 변환부(520)가 수행하는 변환은 예를 들어 정수형 DCT(Discrete Cosine Transform) 이나 이를 대체할 수 있는 변환이 될 수 있다. H.264 표준의 변화에 따라 다른 변환 방식이 사용될 수도 있다. 원본 영상 블록을 주파수 영역으로 변환하는 것은 공지기술이므로 여기서는 상세한 설명을 생략한다. 변환된 영상 블록은 양자화부(530)로 전달된다.
단계 620에서 양자화부(530)는 주파수 영역으로 변환된 영상 블록을 양자화한다. 양자화부(530)는 영상 블록의 행렬에 적당한 양자화 행렬을 곱하거나 이에 상응하는 연산을 수행하는 방식으로 영상 블록을 양자화할 수 있다. 주파수 영역으로 변환된 영상 블록을 양자화하는 것은 공지기술이므로 여기서는 상세한 설명을 생략한다. 양자화된 영상 블록은 왜곡추정부(540) 및 부호화율추정부(550)로 전달된다.
단계 630에서 왜곡추정부(540)는 양자화된 영상 블록을 구성하는 양자화된 인덱스 및 현재 율-왜곡 추정을 수행하도록 설정된 인코딩 모드에 따라 결정되는 양자화 파라미터를 이용하여 각 인코딩 모드에 상응하는 인코드블록의 왜곡을 추정한다. 왜곡 추정 방법에 대해서는 도 7을 참조하여 상세히 후술한다. 추정된 왜곡은 모드선택부(560)로 전달되어 인코딩 모드 선택의 기준으로 사용된다.
단계 640에서 부호화율추정부(550)는 양자화된 인덱스를 이용하여 각 인코딩 모드에 상응하는 인코드블록의 부호화율을 추정한다. 부호화율 추정 방법에 대해서는 도 8을 참조하여 상세히 후술한다. 추정된 부호화율은 모드선택부(560)로 전달되어 인코딩 모드 선택의 기준으로 사용된다.
단계 650에서 비디오 인코딩 장치(500)는 단계 610 내지 단계 640의 율-왜곡 추정이 모든 인코딩 모드에 대해서 수행되었는지 판단한다. 율-왜곡 추정이 수행되지 않은 인코딩 모드가 있으면 단계 660으로 진행하여 율-왜곡 추정이 수행되지 않은 인코딩 모드에 대해 단계 610 내지 단계 640을 반복하여 수행한다. 율-왜곡 추정이 모든 인코딩 모드에 대해서 수행되었다면 단계 670으로 이동한다.
단계 670에서 모드선택부(560)는 각 인코딩 모드에 대해 추정된 부호화율 및 왜곡을 이용하여 인코딩 모드를 선택한다. 여기서 인코딩 모드 선택을 위해 아래 수학식 2의 JHC를 각 인코딩 모드에 대해 계산할 수 있다.
<수학식 2>
(추정된 JHC)=(추정된 왜곡)+λ(추정된 부호화율)
수학식 2는 본원 발명의 방식에 따라 추정된 왜곡과 부호화율이 사용된다는 점에서 수학식 1과 차이가 있다.
모드선택부(560)는 추정된 JHC를 최소로 하는 인코딩 모드를 선택할 수 있다.
단계 680에서 인코딩부(570)는 선택된 인코딩 모드에 따라 인코딩을 수행한다. 이 때 단계 620에서 해당 인코딩 모드에 따라 양자화된 영상 블록을 활용하여 인코딩할 수도 있다. 이 경우 엔트로피 코딩 과정만 거치면 인코딩이 완성된다.
도 6에서, 각 인코딩 모드에 대한 왜곡 추정 및 부호화율 추정이 순차적으로 수행되었다. 하지만 비디오 인코딩 장치(500)가 멀티코어 장치라면 각 인코딩 모드에 대한 왜곡 추정 및 부호화율 추정이 병렬적으로, 동시에 수행되어도 무방하다. 또한 동일한 인코딩 모드에 대해 단계 630의 왜곡 추정과 단계 640의 부호화율 추정은 병렬적으로 수행될 수도 있다.
도 7은 본 발명의 일 실시 예에 따르는 왜곡 추정 단계 (630)의 상세 순서도이다. 여기서는 하나의 모드에 대한 왜곡 추정을 설명한다. 도 6을 참조해서 설명한 바와 같이 630의 추정은 모든 인코딩 모드에 대해서 반복해서 수행될 수 있다.
H.264/AVC에서 주파수 영역으로의 변환 및 공간 영역으로의 변환은 모두 오쏘고날(orthogonal)하다. 따라서 인코드된 영상의 왜곡은 적당한 스케일링(scaling)을 이용하여 주파수 영역에서 수행될 수 있다. 주파수 위치 (i, j)에 대해 변환 계수(Transform Coefficient) C(i, j)가 양자화 파라미터(QP)에 따라 양자화된 인덱스 Cq(i, j)로 양자화된다.
단계 710에서 왜곡추정부(540)는 양자화된 인덱스를 추출한다. 왜곡추정부는 양자화부(530)로부터 양자화된 영상을 수신하며 양자화된 영상은 양자화된 인덱스로 구성된다. 왜곡추정부(540)는 이들 중 하나를 임의로 추출한다.
단계 720에서 왜곡추정부(540)는 양자화된 인덱스가 0인지 판단한다. 단계 720에서 양자화된 인덱스가 0이면 단계 730으로 진행하여 아래 수학식 3에 따라 왜곡을 계산한다. 양자화된 인덱스가 0인 경우 주파수 위치 (i, j)의 왜곡 D(i, j)은 아래 수학식 3에 따라 계산된다.
<수학식 3>
D(i,j)=C2(i,j)/W(i,j)
여기서 W(i, j)는 해당 주파수 위치의 변환 게인(transform gain)이다. 변환 게인은 변환 매트릭스로부터 유도될 수 있다. 변환 게인의 유도 방법은 공지기술이므로, 여기서는 상세한 설명을 생략한다.
단계 735에서는 단계 730에서 계산된 왜곡을 전체 왜곡에 가산한다.
단계 720에서 양자화된 인덱스가 0이 아니면 왜곡추정부(540)는 단계 740으로 진행하여 아래 수학식 4에 따라 왜곡을 근사추정한다. 양자화된 인덱스가 0이 아닌 경우 주파수 위치 (i, j)의 왜곡 D(i, j)의 계산은 더 복잡하다, 하지만 우리는 왜곡의 근사적 추정을 위해 양자화 이론(quantization theory)의 장점을 취할 수 있다. 알려진 바와 같이 신호의 확률 분포(probability distribution)가 스무드(smooth)하고 양자화 단계 수(quantization step)가 충분히 작다면, 양자화 왜곡은 아래 수학식 4를 이용해서 근사추정될 수 있다.
<수학식 4>
D'(i, j)= Δ2/12
여기서 D'(i, j) 주파수 위치 (i, j)의 왜곡(i, j)의 추정값이다. 여기서 Δ는 양자화 파라미터(QP)에 상응하는 양자화 단계 수이다. 양자화 파라미터(QP)에 상응하는 양자화 단계 수를 구하는 것은 공지기술에 해당하므로 여기서는 상세한 설명을 생략한다.
단계 745에서는 단계 740에서 근사추정된 왜곡을 전체 왜곡에 가산한다.
단계 750에서 왜곡추정부(540)는 모든 양자화된 인덱스에 대해서 왜곡의 추정 또는 계산을 수행하여 가산하였는지 판단한다. 모든 양자화된 인덱스에 대해서 왜곡의 가산이 수행되지 않았으면 단계 710으로 돌아가서 모든 양자화된 인덱스에 대해서 왜곡의 가산을 수행할 때까지 단계 710 내지 단계 750을 반복한다. 모든 양자화된 인덱스에 대해서 왜곡의 가산이 수행되었을 때 전체 왜곡 값이 구하고자 하는 왜곡의 추정값이다. 영상 블록 전체의 왜곡을 추정하기 위해 도 7의 과정을 수학식 5로 나타낼 수 있다.
<수학식 5>
Figure pat00001
양자화 이론은 양자화 단계가 작을 때에만 적용이 가능하다. 하지만 그 근사적 추정은 넓은 범위의 양자화 파라미터(QP)에 대해서 정확하다. 양자화 파라미터(QP)가 클 때 대부분의 변환 계수(transform coefficient)는 양자화되면 양자화 인덱스가 0이 된다. 그런데, 상술한 수학식 3 및 수학식 5를 참조하여 설명한 바와 같이 양자화된 인덱스가 0일 때에는 왜곡을 정확히 계산할 수 있다. 따라서 양자화 이론의 부정합(mismatch)에 따른 부정적 영향을 보상할 수 있다. 또한, 변환 계수들(transform coefficients)은 특히 라플라스 분포로써 모델링될 수 있다. 이것은 양자화된 인덱스가 0이 아닌 변환 계수들의 확률 밀도(probability density)가 꽤 낮다는 것을 의미한다.
추정된 왜곡은 모드선택부(560)로 전달되어 인코딩 모드 선택의 기준으로 사용된다.
도 8은 본 발명의 일 실시 예에 따르는 부호화율 추정 단계 (640)의 상세 순서도이다.
부호화율 또는 부호화율은 부호화율추정테이블을 참조하여 추정될 수 있다. 이를 통해 인코딩 특성이 추적되고, 인코딩 파라미터 및 비디오 콘텐츠에 따라 적응형으로 부호화율 또는 부호화율이 추정될 수 있다.
단계 810에서 부호화율추정부(550)는 양자화된 인덱스를 이용하여 부호화율추정테이블을 초기화한다. 양자화된 인덱스에 대해서는 도 7을 참조하여 설명하였으므로 여기서는 상세한 설명을 생략한다. 부호화율추정부(550)는 부호화 추정을 위해 부호화율추정테이블을 유지할 수 있다.
부호화율추정테이블은 함수 f(TC, TZ)의 밸류 맵을 저장한다. 부호화율추정테이블은 다음 수학식 6에 따라 초기화된다.
<수학식 6>
fi(TC, TZ) = 3×TC + TZ + SAD
여기서 TC는 양자화된 영상 블록의 양자화된 인덱스 중 0이 아닌 양자화된 인덱스의 수이다. TZ는 양자화된 영상 블록의 런 밸류(run values)의 합이다. SAD(sum of absolute difference)는 양자화된 영상 블록의 양자화된 인덱스의 합이다.
단계 820에서 부호화율추정부(550)는 부호화율추정테이블을 이용하여 영상 블록의 부호화율을 추정한다. 영상 블록의 부호화율을 추정하기 위해 수학식 7을 이용한다.
<수학식 7>
Re=SAD+f(TC, TZ)
상술한 바와 같이 f(TC, TZ)는 부호화율추정테이블에 저장된 밸류 맵을 이용하여 구할 수 있다.
단계 830에서 부호화율추정부(550)는 실제 부호화율 피드백을 수신한다. 부호화율추정테이블에 따라 부호화율을 추정하여 이를 모드선택부(560)에 전달하면 이를 이용하여 인코딩 모드가 결정되고, 인코딩부(570)는 해당 인코딩 모드에 따라 엔트로피코딩을 완료한다. 엔트로피 코딩이 완료되면 실제 인코딩된 영상 블록의 부호화율을 구할 수 있다. 부호화율추정부(550)는 실제 부호화율을 피드백으로 수신한다.
단계 850에서 부호화율추정부(550)는 추정된 부호화율과 피드백받은 실제 부호화율의 차이를 이용하여 로우패스 필터링 규칙에 따라 부호화율추정테이블을 갱신한다.
<수학식 8>
f(TC, TZ)=ε[R-SAD-f(TC, TZ)]
여기서 ε은 망각팩터(forgetting factor)이고 R은 실제 부호화율이다.
엔트로피 코딩을 위해 CABAC(Context-Adaptive Binary Arithmetic Coding, 문맥기반 적응적 이진 산술 부호화)을 이용하면, 비디오 시퀀스의 집합이 부호화율추정테이블을 트레이닝하는 데 사용될 수 있다. 4x4 블록에서 0 ≤ TC ≤ 16 이고 0 ≤ TZ ≤ 16-TC 이므로 17(17+1)/2=136개의 테이블 슬롯만이 필요하다. 이는 실제 구현을 위해 충분히 사용할 수 있는 공간이다.
모션에 관련된 정보를 인코딩하는 데 대한 부호화율 또는 부호화율은 Exp-Golomb 코드를 이용하여 추정될 수 있다.
도 9 및 도 10은 본 발명의 일 실시 예에 따르는 부호화율 및 왜곡 추정의 결과를 나타낸 도면이다. 종래의 방식에 비해서 오류가 크게 증가하지 않은 것을 알 수 있다.
JM10.1 참조 소프트웨어가 실험 플랫폼으로 사용되었다.
표 1은 테스트된 세 가지 카테고리의 코딩 파라미터들이다.
Category QP range Entropy coding Transform size
1 24, 28, 32, 36 CAVLC 4x4
2 24, 28, 32, 36 CABAC 4x4
3 20, 24, 28, 32 CAVLC 4x4 & 8x8
표 2 내지 표 4는 실험 결과이다.
CAVLC 인코딩의 경우 RDO vs.
Fast RDO
RDO vs.
RDO off
MD time decrease
(%)
Rate
Dec. (%)
Gain
(dB)
Rate
Dec. (%)
Gain
(dB)
Foreman.qcf 0.96 0.051 4.99 0.21 35.4
Silent.qcf 0.70 0.039 6.39 0.36 30.8
Paris.cif 0.61 0.044 5.69 0.30 33.2
Tempete.cif 1.33 0.057 10.82 0.42 41.3
Coastguard.cif 0.42 0.011 8.11 0.34 39.5
Mobile.cif 1.48 0.067 9.49 0.41 42.7
Average 0.92 0.045 7.58 0.34 37.2
CABAC 인코딩의 경우 RDO vs.
Fast RDO
RDO vs.
RDO off
MD time decrease
(%)
Rate
Dec. (%)
Gain
(dB)
Rate
Dec. (%)
Gain
(dB)
Foreman.qcf 1.81 0.085 4.30 0.182 43.6
Silent.qcf 1.12 0.067 5.22 0.296 41.3
Paris.cif 1.41 0.082 3.55 0.183 41.7
Tempete.cif 1.59 0.068 9.60 0.349 46.9
Coastguard.cif 0.36 0.017 7.02 0.289 48.9
Mobile.cif 1.69 0.077 7.78 0.315 49.0
Average 1.33 0.066 6.25 0.269 45.23
변환 크기 선택이 있는
CAVLC 인코딩의 경우
RDO vs.
Fast RDO
RDO vs.
RDO off
MD time decrease
(%)
Rate
Dec. (%)
Gain
(dB)
Rate
Dec. (%)
Gain
(dB)
Tempete.cif 1.63 0.084 11.58 0.53 65.2
Coastguard.cif 0.89 0.043 13.22 0.65 63.9
Mobile.cif 1.59 0.083 10.52 0.52 63.9
Average 1.37 0.070 11.77 0.57 64.3
Foreman, Silent 및 Paris에 대한 GOP 포맷은 IPPP이다. Mobile과 Coastguard 및 Tempete에 대한 포맷은 IPBP이다. "MD 시간 감소"는 종래의 RDO 계산 및 본원 발명에 따라 계산된 경우의 모드 결정 시간 감소를 가리킨다. 인터 슬라이스들에서 인트라 모드들에 대한 율-왜곡 계산이 많은 시간을 차지하지만 성능 향상은 작은 편이므로, 정확한 계산을 위해 이를 수행하지 않도록 옵션을 선택했다. 결과로부터, 우리는 CAVLC가 사용될 때 본원 발명에 따르는 경우 RDO로부터 얻을 수 있는 성능 향상을 대부분 얻을 수 있다는 것을 알 수 있다. 비트 수(부호화율) 증가는 평균 0.92% 정도이며, 이는 평균 0.045dB의 PSNR 누락에 해당한다. CABAC이 사용될 때 성능 감소는 부호화율 추정의 부정합(mismatch) 때문에 좀더 늘어난다. 하지만, 모드 결정 시간이 40%이상 감소됐기 때문에 이러한 성능 감소는 허용되는 수준이다. 또한, 이는 최적 변환 크기를 결정함에 있어도 본원 발명의 방식이 적용될 수 있음을 보여준다.
본원 발명의 추정은 모드와 변환 크기 결정을 위해 실제 사용되기에 충분한 정확도를 가지고 있다. 동시에 이는 율-왜곡 최적화 기술을 효과적으로 구현할 수 있게 한다.
이 때, 처리 흐름도 도면들의 각 블록과 흐름도 도면들의 조합들은 컴퓨터 프로그램 인스트럭션들에 의해 수행될 수 있음을 이해할 수 있을 것이다. 이들 컴퓨터 프로그램 인스트럭션들은 범용 컴퓨터, 특수용 컴퓨터 또는 기타 프로그램 가능한 데이터 프로세싱 장비의 프로세서에 탑재될 수 있으므로, 컴퓨터 또는 기타 프로그램 가능한 데이터 프로세싱 장비의 프로세서를 통해 수행되는 그 인스트럭션들이 흐름도 블록(들)에서 설명된 기능들을 수행하는 수단을 생성하게 된다. 이들 컴퓨터 프로그램 인스트럭션들은 특정 방식으로 기능을 구현하기 위해 컴퓨터 또는 기타 프로그램 가능한 데이터 프로세싱 장비를 지향할 수 있는 컴퓨터 이용 가능 또는 컴퓨터 판독 가능 메모리에 저장되는 것도 가능하므로, 그 컴퓨터 이용가능 또는 컴퓨터 판독 가능 메모리에 저장된 인스트럭션들은 흐름도 블록(들)에서 설명된 기능을 수행하는 인스트럭션 수단을 내포하는 제조 품목을 생산하는 것도 가능하다. 컴퓨터 프로그램 인스트럭션들은 컴퓨터 또는 기타 프로그램 가능한 데이터 프로세싱 장비 상에 탑재되는 것도 가능하므로, 컴퓨터 또는 기타 프로그램 가능한 데이터 프로세싱 장비 상에서 일련의 동작 단계들이 수행되어 컴퓨터로 실행되는 프로세스를 생성해서 컴퓨터 또는 기타 프로그램 가능한 데이터 프로세싱 장비를 수행하는 인스트럭션들은 흐름도 블록(들)에서 설명된 기능들을 실행하기 위한 단계들을 제공하는 것도 가능하다.
또한, 각 블록은 특정된 논리적 기능(들)을 실행하기 위한 하나 이상의 실행 가능한 인스트럭션들을 포함하는 모듈, 세그먼트 또는 코드의 일부를 나타낼 수 있다. 또, 몇 가지 대체 실행 예들에서는 블록들에서 언급된 기능들이 순서를 벗어나서 발생하는 것도 가능함을 주목해야 한다. 예컨대, 잇달아 도시되어 있는 두 개의 블록들은 사실 실질적으로 동시에 수행되는 것도 가능하고 또는 그 블록들이 때때로 해당하는 기능에 따라 역순으로 수행되는 것도 가능하다.
이 때, 본 실시 예에서 사용되는 '~부'라는 용어는 소프트웨어 또는 FPGA또는 ASIC과 같은 하드웨어 구성요소를 의미하며, '~부'는 어떤 역할들을 수행한다. 그렇지만 '~부'는 소프트웨어 또는 하드웨어에 한정되는 의미는 아니다. '~부'는 어드레싱할 수 있는 저장 매체에 있도록 구성될 수도 있고 하나 또는 그 이상의 프로세서들을 재생시키도록 구성될 수도 있다. 따라서, 일 예로서 '~부'는 소프트웨어 구성요소들, 객체지향 소프트웨어 구성요소들, 클래스 구성요소들 및 태스크 구성요소들과 같은 구성요소들과, 프로세스들, 함수들, 속성들, 프로시저들, 서브루틴들, 프로그램 코드의 세그먼트들, 드라이버들, 펌웨어, 마이크로코드, 회로, 데이터, 데이터베이스, 데이터 구조들, 테이블들, 어레이들, 및 변수들을 포함한다. 구성요소들과 '~부'들 안에서 제공되는 기능은 더 작은 수의 구성요소들 및 '~부'들로 결합되거나 추가적인 구성요소들과 '~부'들로 더 분리될 수 있다. 뿐만 아니라, 구성요소들 및 '~부'들은 디바이스 또는 보안 멀티미디어카드 내의 하나 또는 그 이상의 CPU들을 재생시키도록 구현될 수도 있다.
본 발명이 속하는 기술분야의 통상의 지식을 가진 자는 본 발명이 그 기술적 사상이나 필수적인 특징을 변경하지 않고서 다른 구체적인 형태로 실시될 수 있다는 것을 이해할 수 있을 것이다. 그러므로 이상에서 기술한 실시 예들은 모든 면에서 예시적인 것이며 한정적이 아닌 것으로 이해해야만 한다. 본 발명의 범위는 상기 상세한 설명보다는 후술하는 특허청구의 범위에 의하여 나타내어지며, 특허청구의 범위의 의미 및 범위 그리고 그 균등 개념으로부터 도출되는 모든 변경 또는 변형된 형태가 본 발명의 범위에 포함되는 것으로 해석되어야 한다.
한편, 본 명세서와 도면에는 본 발명의 바람직한 실시 예에 대하여 개시하였으며, 비록 특정 용어들이 사용되었으나, 이는 단지 본 발명의 기술 내용을 쉽게 설명하고 발명의 이해를 돕기 위한 일반적인 의미에서 사용된 것이지, 본 발명의 범위를 한정하고자 하는 것은 아니다. 여기에 개시된 실시 예 외에도 본 발명의 기술적 사상에 바탕을 둔 다른 변형 예들이 실시 가능하다는 것은 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자에게 자명한 것이다.
100: 송신측
150: 수신측
500: 비디오 인코딩 장치

Claims (20)

  1. 원본 영상 블록을 둘 이상의 인코딩 모드에 따라 각각 주파수 영역으로 변환하는 단계;
    상기 변환된 영상 블록을 양자화하는 단계;
    상기 양자화된 영상 블록의 양자화된 인덱스 및 양자화 파라미터를 이용하여 상기 인코딩 모드에 상응하는 인코드블록의 왜곡을 추정하는 왜곡추정단계;
    상기 양자화된 인덱스를 이용하여 상기 인코딩 모드에 상응하는 인코드블록의 부호화율을 추정하는 부호화율추정단계; 및
    상기 추정된 부호화율 및 상기 추정된 왜곡을 이용하여 인코딩 모드를 선택하는 모드선택단계를 포함하는 비디오 인코딩 장치의 인코딩 모드 선택 방법.
  2. 제1항에 있어서,
    상기 왜곡추정단계는,
    양자화된 인덱스가 0인 경우의 제1 왜곡을 계산하는 단계;
    양자화된 인덱스가 0이 아닌 경우의 제2 왜곡을 근사추정하는 단계; 및
    상기 계산된 제1 왜곡 및 상기 추정된 제2 왜곡을 이용하여 상기 인코딩 모드에 상응하는 인코드블록의 왜곡을 추정하는 단계를 포함하는 인코딩 모드 선택 방법.
  3. 제2항에 있어서
    상기 왜곡추정단계는 다음 수학식 9를 이용하여 상기 인코딩 모드에 상응하는 인코드블록의 왜곡을 추정하는 것을 특징으로 하는 모드 선택 방법.
    <수학식 9>
    Figure pat00002

    여기서 Δ는 상기 양자화 파라미터에 상응하는 양자화 단계 수이고, W(i, j)는 해당 주파수 위치의 변환 게인(transform gain)이며, C(i,j)는 해당 주파수 위치의 변환 계수이며 Cq(i,j)는 해당 주파수 위치의 양자화된 인덱스이며 D는 추정된 왜곡이다.
  4. 제1항에 있어서,
    상기 부호화율추정단계는,
    상기 양자화된 인덱스를 이용하여 부호화율추정테이블을 초기화하는 단계; 및
    상기 부호화율추정테이블을 이용하여 상기 인코딩 모드에 상응하는 인코드블록의 부호화율을 추정하는 단계를 포함하는 인코딩 모드 선택 방법.
  5. 제4항에 있어서,
    상기 부호화율추정단계는,
    실제 부호화율 피드백을 수신하는 단계; 및
    상기 추정된 부호화율 와 상기 피드백된 실제 부호화율의 차이를 이용하여 상기 부호화율추정테이블을 갱신하는 단계를 더 포함하는 모드 선택 방법.
  6. 제4항에 있어서
    상기 부호화율추정단계는 아래 수학식 10을 이용하여 부호화율추정테이블을 초기화하는 것을 특징으로 하는 모드 선택 방법.
    <수학식 10>
    fi(TC, TZ) = 3×TC + TZ + SAD
    여기서 fi(TC, TZ)는 초기화값이고, TC는 양자화된 영상 블록의 양자화된 인덱스 중 0이 아닌 양자화된 인덱스의 수이며 TZ는 양자화된 영상 블록의 런 밸류(run values)의 합이고 SAD(sum of absolute difference)는 양자화된 영상 블록의 양자화된 인덱스의 합이다.
  7. 제6항에 있어서 상기 부호화율추정단계는 아래 수학식 11을 이용하여 상기 인코딩 모드에 상응하는 인코드블록의 부호화율을 추정하는 것을 특징으로 하는 모드 선택 방법.
    <수학식 11>
    Re=SAD+f(TC, TZ)
    여기서 Re는 추정된 부호화율이며, f(TC, TZ)는 부호화율추정테이블에 저장된 값이다.
  8. 제7항에 있어서
    상기 부호화율추정단계는 실제 부호화율(R) 피드백을 수신하고 아래 수학식 12를 이용하여 부호화율추정테이블을 갱신하는 것을 특징으로 하는 모드 선택 방법.
    <수학식 12>
    f(TC, TZ)=ε[R-SAD-f(TC, TZ)]
    여기서 ε은 망각팩터(forgetting factor)이다.
  9. 제1항에 있어서, 상기 선택된 인코딩 모드로 원본 영상 블록을 인코딩하는 단계를 더 포함하는 모드 선택 방법.
  10. 제1항에 있어서, 상기 모드선택단계는 아래 수학식 13에 따라 추정된 JHC를 최소로 하는 인코딩 모드를 선택하는 것을 특징으로 하는 모드 선택 방법.
    <수학식 13>
    (추정된 JHC)=(추정된 왜곡)+λ(추정된 부호화율)
    여기서 λ는 양자화 파라미터(QP; Quantization Parameter)에 의존하는 계수이다.
  11. 원본 영상 블록을 둘 이상의 인코딩 모드에 따라 각각 주파수 영역으로 변환하는 변환부;
    상기 변환된 영상 블록을 양자화하는 양자화부;
    상기 양자화된 영상 블록의 양자화된 인덱스 및 양자화 파라미터를 이용하여 상기 인코딩 모드에 상응하는 인코드블록의 왜곡을 추정하는 왜곡추정부;
    상기 양자화된 인덱스를 이용하여 상기 인코딩 모드에 상응하는 인코드블록의 부호화율을 추정하는 부호화율추정부; 및
    상기 추정된 부호화율 및 상기 추정된 왜곡을 이용하여 인코딩 모드를 선택하는 모드선택부를 포함하는 비디오 인코딩 장치.
  12. 제11항에 있어서,
    상기 왜곡추정부는,
    양자화된 인덱스가 0인 경우의 제1 왜곡을 계산하고,
    양자화된 인덱스가 0이 아닌 경우의 제2 왜곡을 근사추정하며,
    상기 계산된 제1 왜곡 및 상기 추정된 제2 왜곡을 이용하여 상기 인코딩 모드에 상응하는 인코드블록의 왜곡을 추정하는 것을 특징으로 하는 비디오 인코딩 장치.
  13. 제12항에 있어서
    상기 왜곡추정부는 다음 수학식 14를 이용하여 상기 인코딩 모드에 상응하는 인코드블록의 왜곡을 추정하는 것을 특징으로 하는 비디오 인코딩 장치.
    <수학식 14>
    Figure pat00003

    여기서 Δ는 상기 양자화 파라미터에 상응하는 양자화 단계 수이고, W(i, j)는 해당 주파수 위치의 변환 게인(transform gain)이며, C(i,j)는 해당 주파수 위치의 변환 계수이며 Cq(i,j)는 해당 주파수 위치의 양자화된 인덱스이며 D는 추정된 왜곡이다.
  14. 제11항에 있어서,
    상기 부호화율추정부는,
    상기 양자화된 인덱스를 이용하여 부호화율추정테이블을 초기화하고,
    상기 부호화율추정테이블을 이용하여 상기 인코딩 모드에 상응하는 인코드블록의 부호화율을 추정하는 것을 특징으로 하는 비디오 인코딩 장치.
  15. 제14항에 있어서,
    상기 부호화율추정부는,
    실제 부호화율 피드백을 수신하고,
    상기 추정된 부호화율 와 상기 피드백된 실제 부호화율의 차이를 이용하여 상기 부호화율추정테이블을 갱신하는 것을 특징으로 하는 비디오 인코딩 장치.
  16. 제14항에 있어서
    상기 부호화율추정부는 아래 수학식 15를 이용하여 부호화율추정테이블을 초기화하는 것을 특징으로 하는 비디오 인코딩 장치.
    <수학식 15>
    fi(TC, TZ) = 3×TC + TZ + SAD
    여기서 fi(TC, TZ)는 초기화값이고, TC는 양자화된 영상 블록의 양자화된 인덱스 중 0이 아닌 양자화된 인덱스의 수이며 TZ는 양자화된 영상 블록의 런 밸류(run values)의 합이고 SAD(sum of absolute difference)는 양자화된 영상 블록의 양자화된 인덱스의 합이다.
  17. 제16항에 있어서 상기 부호화율추정부는 아래 수학식 16을 이용하여 상기 인코딩 모드에 상응하는 인코드블록의 부호화율을 추정하는 것을 특징으로 하는 비디오 인코딩 장치.
    <수학식 16>
    Re=SAD+f(TC, TZ)
    여기서 Re는 추정된 부호화율이며, f(TC, TZ)는 부호화율추정테이블에 저장된 값이다.
  18. 제17항에 있어서
    상기 부호화율추정부는 실제 부호화율(R) 피드백을 수신하고 아래 수학식 17를 이용하여 부호화율추정테이블을 갱신하는 것을 특징으로 하는 비디오 인코딩 장치.
    <수학식 17>
    f(TC, TZ)=ε[R-SAD-f(TC, TZ)]
    여기서 ε은 망각팩터(forgetting factor)이다.
  19. 제11항에 있어서, 상기 선택된 인코딩 모드로 원본 영상 블록을 인코딩하는 인코딩부를 더 포함하는 비디오 인코딩 장치.
  20. 제11항에 있어서, 상기 모드선택부는 아래 수학식 18에 따라 추정된 JHC를 최소로 하는 인코딩 모드를 선택하는 것을 특징으로 하는 비디오 인코딩 장치.
    <수학식 18>
    (추정된 JHC)=(추정된 왜곡)+λ(추정된 부호화율)
    여기서 λ는 양자화 파라미터(QP; Quantization Parameter)에 의존하는 계수이다.
KR1020110005558A 2011-01-19 2011-01-19 비디오 인코딩 모드 선택 방법 및 이를 수행하는 비디오 인코딩 장치 KR20120084168A (ko)

Priority Applications (2)

Application Number Priority Date Filing Date Title
KR1020110005558A KR20120084168A (ko) 2011-01-19 2011-01-19 비디오 인코딩 모드 선택 방법 및 이를 수행하는 비디오 인코딩 장치
US13/316,746 US20120183051A1 (en) 2011-01-19 2011-12-12 Method for video encoding mode selection and video encoding apparatus performing the same

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020110005558A KR20120084168A (ko) 2011-01-19 2011-01-19 비디오 인코딩 모드 선택 방법 및 이를 수행하는 비디오 인코딩 장치

Publications (1)

Publication Number Publication Date
KR20120084168A true KR20120084168A (ko) 2012-07-27

Family

ID=46490745

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020110005558A KR20120084168A (ko) 2011-01-19 2011-01-19 비디오 인코딩 모드 선택 방법 및 이를 수행하는 비디오 인코딩 장치

Country Status (2)

Country Link
US (1) US20120183051A1 (ko)
KR (1) KR20120084168A (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20170025538A (ko) * 2015-08-28 2017-03-08 삼성전자주식회사 비디오 부호화 방법 및 장치, 비디오 복호화 방법 및 장치

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10230956B2 (en) 2012-09-26 2019-03-12 Integrated Device Technology, Inc. Apparatuses and methods for optimizing rate-distortion of syntax elements
US10277907B2 (en) 2012-10-25 2019-04-30 Integrated Device Technology, Inc. Rate-distortion optimizers and optimization techniques including joint optimization of multiple color components
US20140219331A1 (en) * 2013-02-06 2014-08-07 Magnum Semiconductor, Inc. Apparatuses and methods for performing joint rate-distortion optimization of prediction mode
WO2018014301A1 (zh) * 2016-07-21 2018-01-25 华为技术有限公司 视频编码方法及装置
US10931954B2 (en) * 2018-11-20 2021-02-23 Sony Corporation Image coding modes selection for an embedded codec circuitry
CN112655212B (zh) * 2018-11-28 2023-04-04 Oppo广东移动通信有限公司 视频编码优化方法、装置及计算机存储介质
CN110365981B (zh) * 2019-07-10 2021-12-24 中移(杭州)信息技术有限公司 一种视频编码方法、装置、电子设备及存储介质

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7280700B2 (en) * 2002-07-05 2007-10-09 Microsoft Corporation Optimization techniques for data compression
JP5087624B2 (ja) * 2006-08-30 2012-12-05 トムソン ライセンシング 解析的且つ実験的な複合型の符号化歪みモデル化のための方法及び装置
US8654859B1 (en) * 2009-12-17 2014-02-18 Ambarella, Inc. Low cost rate-distortion computations for video compression

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20170025538A (ko) * 2015-08-28 2017-03-08 삼성전자주식회사 비디오 부호화 방법 및 장치, 비디오 복호화 방법 및 장치

Also Published As

Publication number Publication date
US20120183051A1 (en) 2012-07-19

Similar Documents

Publication Publication Date Title
US8249145B2 (en) Estimating sample-domain distortion in the transform domain with rounding compensation
KR101187238B1 (ko) Cabac 코더의 2-패스 양자화
KR101590237B1 (ko) 변환 계수들에 대한 함수-기반의 스캐닝 순서를 이용한 비디오 코딩
KR101632776B1 (ko) 비디오 코딩에 대한 구문 엘리먼트들의 공동 코딩
RU2475999C2 (ru) Квантование, основанное на моделировании искажения скорости передачи, для кодеров cabac
TWI469644B (zh) 使用辭典編碼視訊之方法
KR101232420B1 (ko) 컨텍스트-적응형 가변 길이 코딩 (cavlc) 을 위한 레이트-왜곡 양자화
Zhao et al. Novel statistical modeling, analysis and implementation of rate-distortion estimation for H. 264/AVC coders
US10992958B2 (en) Video coding using mapped transforms and scanning modes
US9219912B2 (en) Coding of residual data in predictive compression
KR20120084168A (ko) 비디오 인코딩 모드 선택 방법 및 이를 수행하는 비디오 인코딩 장치
US20100086028A1 (en) Video encoding and decoding method and apparatus
WO2012042646A1 (ja) 動画像符号化装置、動画像符号化方法、動画像符号化用コンピュータプログラム、動画像復号装置及び動画像復号方法ならびに動画像復号用コンピュータプログラム
KR102218696B1 (ko) 영상 변환 부호화/복호화 방법 및 장치
US8295623B2 (en) Encoding and decoding with elimination of one or more predetermined predictors
JP2021114786A (ja) デジタル画像のコーディング方法、デコーディング方法、装置、および関連するコンピュータプログラム
KR20160106599A (ko) 이미지 데이터를 인코딩하는 방법과 장치, 및 이미지 데이터를 디코딩하는 방법과 장치
US8306115B2 (en) Method and apparatus for encoding and decoding image
US20180249160A1 (en) Vector quantization for video coding using codebook generated by selected training signals
US20100027623A1 (en) Method and device for optimizing the compression of a video stream
Lasserre et al. Low-complexity intra coding for scalable extension of HEVC based on content statistics
KR101441899B1 (ko) 움직임 정보 부호화 및 복호화 방법과 이를 이용한 장치
Jiang et al. A rate-distortion based quantization level adjustment algorithm in block-based video compression

Legal Events

Date Code Title Description
WITN Application deemed withdrawn, e.g. because no request for examination was filed or no examination fee was paid