KR20130050850A - 테이블 기반 델타 큐피 부호화 방법 - Google Patents

테이블 기반 델타 큐피 부호화 방법 Download PDF

Info

Publication number
KR20130050850A
KR20130050850A KR1020110116129A KR20110116129A KR20130050850A KR 20130050850 A KR20130050850 A KR 20130050850A KR 1020110116129 A KR1020110116129 A KR 1020110116129A KR 20110116129 A KR20110116129 A KR 20110116129A KR 20130050850 A KR20130050850 A KR 20130050850A
Authority
KR
South Korea
Prior art keywords
value
block
current
encoding
prediction
Prior art date
Application number
KR1020110116129A
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 KR1020110116129A priority Critical patent/KR20130050850A/ko
Publication of KR20130050850A publication Critical patent/KR20130050850A/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/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding

Landscapes

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

Abstract

테이블 기반 델타 Qp 부호화 방법.

Description

테이블 기반 델타 큐피 부호화 방법{TABLE BASED DELTA QP ENCODING METHOD}
본 발명은 부호화 방법에 관한 것으로서, 보다 자세하게는 테이블 기반 델타 Qp 부호화방법에 관한 것이다.
JCTVC-F492에서는 slice Qp 값에 따라서 Qp table을 만들고, 해당 block의 Qp값을 Qp table에서 찾아서 해당 index를 부호화 한 후, 현재 block의 Qp 값을 이용하여 Qp table을 update한다. 현재 block의 Qp 값이 다음 block에서 사용될 가능성이 크기 때문에, 현재 block의 Qp 값을 가장 작은 index값으로 update한 후, 다음 Qp의 table을 부호화하는 방법을 사용한다. 그러나 현재 block의 값과 다음 block의 값이 같은 경우도 많이 발생하지만, 비슷하지만 약간씩 다른 경우도 많이 발생한다. 이 경우 JCTVC-F492에서는 효과적으로 처리하지 못한다. 본 발명에서는 현재 block의 Qp 뿐만 아니라, 그 값 주변의 값까지 같이 작은 index값을 갖도록 update하는 방법을 제시하고자 한다.
본 발명의 기술적 과제는 테이블 기반 델타 Qp 부호화 방법을 제공하는 것이다.
테이블 기반 델타 Qp 부호화 방법
테이블 기반 델타 Qp 부호화 방법을 제공할 수 있다.
도 1은 Qp table update 방법의 예시(JCTVC-f492)를 나타낸다.
도 2는 Qp table update방법 예시(현재 Qp 값과 그 주변값 이용)를 나타낸다.
도 3은 Qp table update방법 예시(현재 Qp 값, Left block Qp값, Above block Qp 값 이용)를 나타낸다.
도 4는 인트라 예측모드의 예측방향을 나타낸 것이다.
Table-based delta QP coding method [JCTVC-F492]을 설명한다.
도 1은 Qp table update 방법의 예시(JCTVC-f492)를 나타낸다.
도 1을 참조하면, 기존에는 block 단위 / CU(Coding Unit) / TU(Transform Unit) 단위의 Qp 값을 부호화하기 위해서, Qp 예측 값과 현재 block의 Qp 값의 차이 (Qp - pred_Qp = dQp)를 부호화하는 방법을 사용하여, block 단위 Qp 값을 부호화하는 bit수를 가장 적게 하는 방법을 사용하였다. JCTVC-F492에서는 slice Qp 값에 따라 Qp 값을 initialize하고, 해당 block의 Qp를 부호화 할 때는 table에서 해당 Qp의 index를 부호화하는 방법을 사용한다. 현재 block의 Qp값을 부호화 한 후에는, 현재 Qp 값의 index가 작은 값을 갖도록 Qp table을 update한다. 상기 도 1은 Qp table을 update하는 방법을 나타내고 있다. 다음 수학식은 JCTVC-F492의 Qp 부호화 방법을 나타내고 있다.
1. Initialize Qp table
{sliceQp, sliceQp+1, sliceQp-1, sliceQp+2, sliceQp-2, …}
2. Encode Qp value(Qp_curr) for each Transform Unit
3. Update Qp table
{Qp_curr, sliceQp, sliceQp+1, sliceQp-1, sliceQp+2, sliceQp-2, …, Qp_curr-1, …,}
이제, 현재 block Qp 값과 그 주변 값을 이용한 table-based Qp coding 방법을 설명한다.
도 2는 Qp table update방법 예시(현재 Qp 값과 그 주변값 이용)를 나타낸다.
JCTVC-F492에서 현재 TU의 Qp값을 부호화 한 후에, Qp table을 update하는 방법을 제시하였다. 다음 TU와 현재 TU의 Qp 값이 일치할 확률이 높기 때문에, 현재 block의 Qp를 가장 작은 index값을 가지도록 Qp table을 update하는 방법을 사용하였는데, 다음 TU의 Qp값이 현재 block의 Qp 값과 일치하지는 않지만, 비슷한 값을 가질 확률 또한 높기 때문에, Qp table을 upate할 때, 현재 Qp값과 그 주변 값이 작은 index를 갖도록 Qp table을 update하는 방법을 제시하고자 한다.
도 3은 Qp table update방법 예시(현재 Qp 값, Left block Qp값, Above block Qp 값 이용)를 나타낸다.
Qp table을 update하는 방법으로 현재 Qp, left block의 Qp, above block의 Qp를 update하는 방법이 있다. 즉 index 0에 현재 block의 Qp, index 1에 left block의 Qp, index 2에 above block의 Qp를 할당하는 방법이다.
또한 매 block /Quantization Unit 마다 Qp table을 initialize하는 방법을 사용할 수 있다. 기존방법은 한 번 update하고 난 후 누적해서 다음 block에서도 사용된 Qp값을 이용하여 Qp table을 update하는 방법을 사용하고 있다. 그러나, 현재 block과 주변 block을 update하고 난 후, 다음 block에서는 Qp table을 초기화하고, 현재 Qp와 주변 block의 Qp값을 가지고 update하는 방법을 사용할 수 있다.
인코딩 프로세스를 설명한다.
1. 현재 프레임의 새로운 코딩유닛이 입력된다..
A. 코딩유닛(Coding Unit)은 Inter/Intra 예측을 위해 사용되는 영역분할의 기본 단위이다. CU는 항상 정사각형(square)이며, 크기는 8x8 Luma 블록부터 TB(Tree Block, 64x64)까지 될 수 있다. CU는 TB로부터 시작하여 동일한 크기의 4개의 블록으로 순환적으로(recursively) 분할될 수 있다.
B. 예측유닛(PU)은 코딩유닛(CU: Coding Unit)보다 작은 블록이며, 반드시 square일 필요는 없으며, rectangular 형태의 블록일 수도 있다.
i. PU의 Intra 예측은 기본적으로 2N*2N 과 N*N 블록 단위로 수행된다.
2. 인트라 예측에 필요한 참조픽셀을 생성한다.
A. 현재 예측블록에 인접한 왼쪽 블럭의 맨 오른쪽 수직라인상의 픽셀들과 상위 블럭의 맨 아래쪽 수평라인상의 픽셀들이 참조픽셀 생성에 사용된다. 예측블럭의 크기가 N이라면 각 방향에서 2N개의 픽셀을 참조픽셀로 사용한다.
B. 참조픽셀은 그냥 쓸 수도 있고, 스무딩해서 쓸 수도 있으며, 스무딩을 할 경우 이를 시그널링한다.
i. 스무딩하는 경우, AIS(Adaptive Intra Smoothing) 필터를 사용한다. 필터계수는 [1,2,1], [1,1,4,1,1] 중 하나를 사용한다. 후자의 필터가 더 sharp한 경계면을 제공한다.
ii. 필터를 쓸 건지 말건 지, 그리고 필터를 쓰는 경우 어떤 필터를 쓸건 지를 시그널링한다.
3. 인트라 예측모드를 결정한다.
A. 인트라 예측모드는 PU 단위로 수행된다.
B. 소요 비트율과 왜곡량의 관계를 고려하여 최적의 예측모드를 결정한다.
C. PU 블록 크기에 따라 Luma 성분에 대한 예측모드의 개수는 다음표와 같다.
블록크기 예측모드의 수
4×4 17
8×8 34
16×16 34
32×32 34
64×64 3
D. 인트라 예측모드의 예측방향은 도 4와 같다.
i. 0번은 인접블럭 픽셀값을 수직방향으로, 1번은 수평방향으로, 2번은 현재 PU의 평균밝기값(DC)으로 예측블럭을 생성한다.
ii. 나머지 모드들은 해당 각도에 따라 인접블럭 픽셀값들을 이용하여 예측한다.
E. Chroma 성분의 예측모드를 구한다.
4. 현재 블록의 예측모드를 부호화한다.
i. 현재 블록의 Luma 블록과 Chroma 블록에 대해 예측모드를 부호화한다.
ii. 현재 블록의 예측모드는 인접블록의 예측모드와 상관성이 크기 때문에 인접블록의 예측모드를 이용하여 현재블록의 예측모드를 부호화함으로써 비트량을 절감한다.
iii. 현재 블록의 MPM(Most Probable Mode)을 결정하고, MPM을 이용하여 현재 블록의 예측모드를 부호화한다.
5. 현재 블럭의 픽셀값과 예측블록의 픽셀값을 픽셀단위로 차분을 구해서 Residual 신호를 얻는다.
6. Residual 신호를 변환 부호화한다.
A. 변환부호화 커널은 4x4, 8x8, 16x16, 32x32 를 사용한다.
B. n*n 블록에 대해 변환계수 C는 다음과 같이 계산된다.
[수학식 1]
C(n,n)=T(n,n) x B(n,n) x T(n,n)T
C. 변환계수를 양자화한다.
i. Qp table 값에 따라 해당 Qp 값에 해당하는 index를 부호화한다.
ii. 해당 Qp 값을 부호화 한 후, Qp table을 update한다.
7. Residual 신호와 변환계수 중 어떤 것을 전송할 지 RDO를 통해 결정한다.
A. 예측이 잘된 경우 변환부호화하지 않고 Residual 신호를 그대로 전송할 수 있다.
B. 변환부호화 전/후 코스트함수를 비교하여 코스트가 minimize되는 방법을 선택한다.
C. 현재 블록에 대해 전송할 신호의 타입(Residual 또는 변환계수)을 시그널링한다.
8. 변환계수를 스캔한다.
9. 스캔된 변환계수와 인트라 예측모드를 엔트로피 부호화한다.
이제,디코딩 프로세스를 설명한다.
1. 수신된 비트스트림을 엔트로피 복호화한다.
A. VLC 테이블로부터 블록타입을 알아내고, 현재 블록의 예측모드를 얻는다.
B. 현재 블록에 대해 전송되어 온 신호가 Residual 인지, 아니면 변환계수인지 타입을 알아낸다.
C. 현재 블록에 대한 Residual 신호나 변환계수를 얻는다.
2. 엔트로피 복호화된 Residual 신호나 변환계수를 역스캔(inverse scan)하여 2차원 블록을 생성한다.
A. Residual 신호의 경우, Residual 블록을 생성한다.
B. 변환계수인 경우, 변환블록을 생성한다.
3. 변환계수인 경우, 역양자화, 역변환을 하여 Residual 블록을 얻는다.
A. 역양자화를 수행한다.
i. Qp index를 복호화 한다.
ii. 해당 index 복호화 한 후, Qp table에서 해당 Qp 값을 derivation한다.
iii. Qp table을 update한다.
B. B(n,n)=T(n,n) x C(n,n) x T(n,n)T. 또는 B(m,n)=T(m,m) x C(m,n) x T(n,n)T.
C. 역변환을 통해 Residual 신호를 얻는다.
4. 참조픽셀을 생성한다.
A. 인코더에서 참조픽셀을 생성할 때 스무딩 필터를 썼는지, 썼다면 어떤 타입의 필터를 썼는지 시그널링된 정보를 참조하여 디코더에서 참조픽셀을 생성한다.
B. 현재 예측블록에 인접한, 이미 디코딩되어 재생되어 있는 왼쪽 블럭의 맨 오른쪽 수직라인상의 픽셀들과 상위 블럭의 맨 아래쪽 수평라인상의 픽셀들이 참조픽셀 생성에 사용된다.
C. 인코더에서 사용한 참조픽셀 생성방법에 따라
i. 스무딩된 경우, Adaptive Intra Smoothing 필터를 사용한다..
ii. 필터타입 정보를 이용하여 필터계수는 [1,2,1], [1,1,4,1,1] 중 하나를 선택한다.
5. 예측모드를 이용하여 예측블럭을 생성한다.
A. 엔트로피 복호화된 현재 블록의 예측모드로부터 참조픽셀을 이용하여 예측블럭을 생성한다.
B. 예측블럭의 생성 과정은 인코더의 예측모드 결정에 사용된 과정과 동일하다.
6. 예측블럭 픽셀값과 Residual 블록 픽셀값을 더하여 재생블럭을 생성한다.
즉 전술한 실시예는 본 발명의 이해를 돕기 위하여 예를 든 것에 불과하며 본 발명의 권리범위는 특허청구범위에 의해 정해지며, 전술한 실시예뿐만 아니라 그러한 실시예들의 다양한 변형예, 등가물 또한 본 발명의 권리범위에 속하는 것으로 이해되어야 한다.

Claims (1)

  1. 테이블 기반 델타 Qp 부호화 방법.
KR1020110116129A 2011-11-08 2011-11-08 테이블 기반 델타 큐피 부호화 방법 KR20130050850A (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020110116129A KR20130050850A (ko) 2011-11-08 2011-11-08 테이블 기반 델타 큐피 부호화 방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020110116129A KR20130050850A (ko) 2011-11-08 2011-11-08 테이블 기반 델타 큐피 부호화 방법

Publications (1)

Publication Number Publication Date
KR20130050850A true KR20130050850A (ko) 2013-05-16

Family

ID=48661106

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020110116129A KR20130050850A (ko) 2011-11-08 2011-11-08 테이블 기반 델타 큐피 부호화 방법

Country Status (1)

Country Link
KR (1) KR20130050850A (ko)

Similar Documents

Publication Publication Date Title
KR101927385B1 (ko) 영상 부호화 방법 및 장치, 그리고 복호화 방법 및 장치
TWI572189B (zh) 推導量化參數的方法
EP2628300B1 (en) Adaptive motion vector resolution signaling for video coding
KR101918957B1 (ko) 계층적 가변 블록 변환이 가능한 부호화 방법 및 장치 그리고 복호화 방법 및 장치
KR20190016981A (ko) 인트라 예측 정보 부호화 방법 및 장치
JP2016007017A (ja) 量子化ブロックを生成する方法
AU2013249427A1 (en) Transform coefficient coding
KR20130118246A (ko) 변환 계수 레벨의 엔트로피 부호화 및 복호화를 위한 파라메터 업데이트 방법 및 이를 이용한 변환 계수 레벨의 엔트로피 부호화 장치 및 엔트로피 복호화 장치
TW201644277A (zh) 用於調色盤模式寫碼之寫碼逃脫像素
US20230379494A1 (en) Method and apparatus for encoding/decoding image
US20190335173A1 (en) Image encoding method/device, image decoding method/device and recording medium having bitstream stored therein
US20220345703A1 (en) Image encoding method/device, image decoding method/device and recording medium having bitstream stored therein
KR101377529B1 (ko) 적응적 움직임 벡터 부호화/복호화를 이용한 영상 부호화/복호화 방법 및 장치
KR101622122B1 (ko) 개선된 양자화 정보 표현 조건에 의한 동영상 압축율 향상방법
KR20130050850A (ko) 테이블 기반 델타 큐피 부호화 방법
KR20130045740A (ko) 주변 block의 prediction mode를 이용한 delta Qp scaling 방법
KR20130107414A (ko) 적응적 분할 변환을 이용한 영상의 부호화 방법
KR20170124076A (ko) 영상 신호 그룹의 부호화 및 복호화 방법과 장치
KR20140079519A (ko) 평균 양자화 파라메터를 이용한 양자화 파라메터 부호화 방법
KR20130019737A (ko) Sdip 모드의 색차성분 부호화 방법

Legal Events

Date Code Title Description
WITN Withdrawal due to no request for examination