KR20150003246A - 크로마 슬라이스-레벨 qp 오프셋 및 디블록킹 - Google Patents

크로마 슬라이스-레벨 qp 오프셋 및 디블록킹 Download PDF

Info

Publication number
KR20150003246A
KR20150003246A KR1020147030695A KR20147030695A KR20150003246A KR 20150003246 A KR20150003246 A KR 20150003246A KR 1020147030695 A KR1020147030695 A KR 1020147030695A KR 20147030695 A KR20147030695 A KR 20147030695A KR 20150003246 A KR20150003246 A KR 20150003246A
Authority
KR
South Korea
Prior art keywords
quantization parameter
color difference
video data
block
offset value
Prior art date
Application number
KR1020147030695A
Other languages
English (en)
Other versions
KR101726484B1 (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 KR20150003246A publication Critical patent/KR20150003246A/ko
Application granted granted Critical
Publication of KR101726484B1 publication Critical patent/KR101726484B1/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/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/117Filters, e.g. for pre-processing or post-processing
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/136Incoming video signal characteristics or properties
    • H04N19/14Coding unit complexity, e.g. amount of activity or edge presence estimation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/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/174Methods 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 slice, e.g. a line of blocks or a group of blocks
    • 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/186Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being a colour or a chrominance component
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/80Details of filtering operations specially adapted for video compression, e.g. for pixel interpolation
    • H04N19/82Details of filtering operations specially adapted for video compression, e.g. for pixel interpolation involving filtering within a prediction loop
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/85Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using pre-processing or post-processing specially adapted for video compression
    • H04N19/86Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using pre-processing or post-processing specially adapted for video compression involving reduction of coding artifacts, e.g. of blockiness

Landscapes

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

Abstract

일 예에서, 비디오 데이터를 프로세싱하기 위한 장치는, 하나 이상의 색차 컴포넌트들의 각각에 대해, 비디오 데이터의 제 1 블록에 대한 제 1 휘도 양자화 파라미터, 비디오 데이터의 제 2 블록에 대한 제 2 휘도 양자화 파라미터, 및 색차 컴포넌트에 대한 색차 양자화 파라미터 오프셋 값에 기초하여 비디오 데이터의 2 개의 블록들 사이의 공통 에지에 대한 색차 양자화 파라미터를 산출하도록 구성된 비디오 코더를 포함한다. 비디오 코더는 색차 컴포넌트에 대한 색차 양자화 파라미터에 기초하여 공통 에지에 대한 디블록킹 필터에 대한 강도를 결정하고, 결정된 강도에 따라 디블록킹 필터를 적용하여 공통 에지를 디블록킹하도록 더 구성된다.

Description

크로마 슬라이스-레벨 QP 오프셋 및 디블록킹{CHROMA SLICE-LEVEL QP OFFSET AND DEBLOCKING}
본 출원은 다음의 미국 가출원들의 혜택을 주장하며, 그 각각의 전체 내용들은 참조로서 본원에 포함된다:
2012 년 4 월 3 일에 출원된 미국 가출원 제 61/619,806 호;
2012 년 7 월 6 일에 출원된 미국 가출원 제 61/668,810 호;
2012 년 9 월 24 일에 출원된 미국 가출원 제 61/704,941 호; 및
2012 년 10 월 1 일에 출원된 미국 가출원 제 61/708,497 호.
기술분야
본 개시물은 비디오 코딩에 관한 것으로, 좀더 특히, 비디오 데이터의 코딩된 블록들을 디블록킹하기 위한 기법들에 관한 것이다.
디지털 비디오 성능들은, 디지털 텔레비전, 디지털 다이렉트 브로드캐스트 시스템들, 무선 브로드캐스트 시스템들, 개인 휴대 정보 단말기 (PDA) 들, 랩탑 또는 데스크탑 컴퓨터들, 디지털 카메라들, 디지털 레코딩 디바이스들, 디지털 미디어 재생기들, 비디오 게임용 디바이스들, 비디오 게임 콘솔들, 셀룰러 또는 위성 무선 전화기들, 화상 원격회의 디바이스들 등을 포함하는 광범위한 디바이스들에 통합될 수 있다. 디지털 비디오 디바이스들은, 좀더 효율적으로 디지털 비디오 정보를 송수신하기 위해, MPEG-2, MPEG-4, ITU-T H.263 또는 ITU-T H.264/MPEG-4, Part 10, 고급 비디오 코딩 (Advanced Video Coding; AVC) 에 의해 정의된 표준들, 및 그러한 표준들의 확장들에서 설명된 것과 같은 비디오 압축 기법들을 구현한다. 다른 비디오 압축 기법들이 현재 개발 하에 있는 고효율 비디오 코딩 (High efficiency video coding; HEVC) 표준에서 설명된다. 비디오 디바이스들은 그러한 비디오 코딩 기법들을 구현함으로써, 디지털 비디오 정보를 좀더 효율적으로 송신하거나, 수신하거나, 인코딩하거나, 디코딩하거나, 및/또는 저장할 수도 있다.
블록 기반 비디오 코딩에 있어서, 비디오 슬라이스 (예를 들어, 비디오 프레임, 또는 비디오 프레임의 부분) 는 비디오 블록들로 파티셔닝될 수도 있으며, 비디오 블록들은 또한 트리블록들, 코딩 유닛 (CU) 들 및/또는 코딩 노드들로 지칭될 수도 있다. 화상의 인트라-코딩된 (I) 슬라이스에서의 비디오 블록들은 동일한 화상에서의 이웃하는 블록들에서의 참조 샘플들에 대한 공간 예측을 이용하여 인코딩된다. 화상의 인터-코딩된 (P 또는 B) 슬라이스에서의 비디오 블록들은 동일한 화상에서의 이웃하는 블록들에서의 참조 샘플들에 대한 공간 예측, 또는 다른 참조 화상들에서의 참조 샘플들에 대한 시간 예측을 이용할 수도 있다. 화상들은 프레임들이라고 지칭될 수도 있고, 참조 화상들은 참조 화상들로 지칭될 수도 있다.
공간 예측 또는 시간 예측은 코딩될 블록에 대한 예측 블록을 초래한다. 잔차 데이터는 코딩될 원래의 블록과 예측 블록 사이의 픽셀 차이들을 나타낸다. 인터-코딩된 블록은 예측 블록을 형성하는 참조 샘플들의 블록을 가리키는 모션 벡터, 및 코딩된 블록과 예측 블록 사이의 차이를 표시하는 잔차 데이터에 따라 인코딩된다. 인트라-코딩된 블록은 인트라-코딩 모드 및 잔차 데이터에 따라 인코딩된다. 추가 압축을 위해, 잔차 데이터는 픽셀 도메인에서 변환 도메인으로 변환되어, 잔차 변환 계수들로 나타날 수도 있고, 그 후 이들은 양자화될 수도 있다. 처음에 2 차원 어레이로 배열된, 양자화된 변환 계수들은, 변환 계수들의 1 차원 벡터를 생성하도록 스캐닝될 수도 있고, 엔트로피 코딩이 적용되어 보다 많은 압축을 달성할 수도 있다.
일반적으로, 본 개시물은 비디오 데이터의 코딩된 블록들, 예를 들어, 변환 유닛 (transform unit; TU) 들, 코딩 유닛 (coding unit; CU) 들, 또는 예측 유닛 (prediction unit; PU) 들을 디블록킹하기 위한 기법들을 설명한다. 블록 기반 비디오 코딩 기법들은 종종 "블록화 (blockiness)" 아티팩트 (artifact) 들을 야기할 수 있으며, 여기서 개개의 코딩된 블록들 사이의 경계들 또는 에지 (edge) 들이 인지될 수 있다. 그러한 아티팩트들은 블록들이 상이한 품질 레벨들로 코딩되는 경우에 생길 수 있다. (양자화 파라미터 (quantization parameter; QP) 에 의해 표시되는 바와 같은) 블록에 적용되는 양자화의 양은 블록의 품질에 직접적으로 영향을 줄 수 있다. 따라서, 디블록킹 기법들은 통상적으로, 예를 들어, 에지를 디블록킹할지 여부 및 에지를 어떻게 디블록킹할지를 결정하는 경우에 블록의 QP 를 고려한다.
본 개시물의 기법들은 그러한 에지들에 적용되는 디블록킹 기능들을 개선시킬 수도 있고 (예를 들어, 에지의 출현을 감소시킨다), 좀더 특히, 비디오 데이터의 2 개의 블록들에 의해 공유되는 공통 에지에서의 색차 (chrominance) 컴포넌트들에 적용되는 디블록킹 기능들을 개선시킬 수도 있다. 특히, 본 개시물의 기법들에 따르면, 비디오 코더, 예를 들어, 비디오 인코더 또는 비디오 디코더는, 비디오 데이터의 2 개의 블록들에 대한 휘도 (luminance) 양자화 파라미터들에 기초해서 뿐만 아니라, 색차 양자화 파라미터 오프셋 값에 기초하여, 비디오 데이터의 2 개의 블록들 사이의 에지에 대한 색차 양자화 파라미터를 산출할 수도 있다. 비디오 코더는 색차 양자화 파라미터에 기초하여 공통 에지에 대한 디블록킹 필터에 대한 강도를 결정한다. 비디오 디코더가 색차 양자화 파라미터 오프셋 값에 기초하여 에지에 대한 색차 양자화 파라미터를 결정했기 때문에, 디블록킹 필터의 강도는 공통 에지를 공유하는 비디오 데이터의 2 개의 블록들의 색차 컴포넌트들의 양자화 레벨들에 대해 보다 적절할 수도 있다.
일 예에서, 비디오 데이터를 프로세싱하는 방법은 비디오 데이터의 제 1 블록 및 비디오 데이터의 제 2 블록을 디코딩하는 단계 (여기서 비디오 데이터의 제 1 블록 및 비디오 데이터의 제 2 블록은 공통 에지를 공유한다), 및 비디오 데이터의 제 1 블록에 대한 제 1 휘도 양자화 파라미터 및 비디오 데이터의 제 2 블록에 대한 제 2 휘도 양자화 파라미터를 결정하는 단계를 포함한다. 방법은, 하나 이상의 색차 컴포넌트들의 각각에 대해, 색차 양자화 파라미터 오프셋 값을 결정하는 단계, 하나 이상의 색차 컴포너트들의 각각에 대해, 비디오 데이터의 제 1 블록에 대한 제 1 휘도 양자화 파라미터, 비디오 데이터의 제 2 블록에 대한 제 2 휘도 양자화 파라미터, 및 색차 컴포넌트에 대한 색차 양자화 파라미터 오프셋 값에 기초하여 에지에 대한 색차 양자화 파라미터를 산출하는 단계를 더 포함한다. 방법은, 하나 이상의 색차 컴포넌트들의 각각에 대해, 색차 컴포넌트에 대한 색차 양자화 파라미터에 기초하여 공통 에지에 대한 디블록킹 필터에 대한 강도를 결정하는 단계, 및 하나 이상의 색차 컴포넌트들의 각각에 대해, 결정된 강도에 따라 디블록킹 필터를 적용하여 공통 에지를 디블록킹하는 단계를 더 포함한다.
다른 예에서, 비디오 데이터를 프로세싱하기 위한 장치는 비디오 데이터의 제 1 블록 및 비디오 데이터의 제 2 블록을 디코딩하고 (여기서 비디오 데이터의 제 1 블록 및 비디오 데이터의 제 2 블록은 공통 에지를 공유한다), 비디오 데이터의 제 1 블록에 대한 제 1 휘도 양자화 파라미터 및 비디오 데이터의 제 2 블록에 대한 제 2 휘도 양자화 파라미터를 결정하도록 구성된 비디오 코더를 포함한다. 비디오 코더는, 하나 이상의 색차 컴포넌트들의 각각에 대해, 색차 양자화 파라미터 오프셋 값을 결정하고, 하나 이상의 색차 컴포너트들의 각각에 대해, 비디오 데이터의 제 1 블록에 대한 제 1 휘도 양자화 파라미터, 비디오 데이터의 제 2 블록에 대한 제 2 휘도 양자화 파라미터, 및 색차 컴포넌트에 대한 색차 양자화 파라미터 오프셋 값에 기초하여 에지에 대한 색차 양자화 파라미터를 산출하도록 더 구성된다. 비디오 코더는, 하나 이상의 색차 컴포넌트들의 각각에 대해, 색차 컴포넌트에 대한 색차 양자화 파라미터에 기초하여 공통 에지에 대한 디블록킹 필터에 대한 강도를 결정하고, 하나 이상의 색차 컴포넌트들의 각각에 대해, 결정된 강도에 따라 디블록킹 필터를 적용하여 공통 에지를 디블록킹하도록 더 구성된다.
다른 예에서, 비디오 데이터를 프로세싱하기 위한 장치는 비디오 데이터의 제 1 블록 및 비디오 데이터의 제 2 블록을 디코딩하는 수단 (여기서 비디오 데이터의 제 1 블록 및 비디오 데이터의 제 2 블록은 공통 에지를 공유한다), 및 비디오 데이터의 제 1 블록에 대한 제 1 휘도 양자화 파라미터 및 비디오 데이터의 제 2 블록에 대한 제 2 휘도 양자화 파라미터를 결정하는 수단을 포함한다. 장치는, 하나 이상의 색차 컴포넌트들의 각각에 대해, 색차 양자화 파라미터 오프셋 값을 결정하는 수단, 및 하나 이상의 색차 컴포너트들의 각각에 대해, 비디오 데이터의 제 1 블록에 대한 제 1 휘도 양자화 파라미터, 비디오 데이터의 제 2 블록에 대한 제 2 휘도 양자화 파라미터, 및 색차 컴포넌트에 대한 색차 양자화 파라미터 오프셋 값에 기초하여 에지에 대한 색차 양자화 파라미터를 산출하는 수단을 더 포함한다. 장치는, 하나 이상의 색차 컴포넌트들의 각각에 대해, 색차 컴포넌트에 대한 색차 양자화 파라미터에 기초하여 공통 에지에 대한 디블록킹 필터에 대한 강도를 결정하는 수단, 및 하나 이상의 색차 컴포넌트들의 각각에 대해, 결정된 강도에 따라 디블록킹 필터를 적용하여 공통 에지를 디블록킹하는 수단을 더 포함한다.
다른 예에서, 컴퓨터 판독가능 저장 매체는, 실행되는 경우, 비디오 코더의 프로세서로 하여금, 비디오 데이터의 제 1 블록 및 비디오 데이터의 제 2 블록을 디코딩하게 하고 (여기서 비디오 데이터의 제 1 블록 및 비디오 데이터의 제 2 블록은 공통 에지를 공유한다), 비디오 데이터의 제 1 블록에 대한 제 1 휘도 양자화 파라미터 및 비디오 데이터의 제 2 블록에 대한 제 2 휘도 양자화 파라미터를 결정하게 하는, 저장된 명령들을 포함한다. 명령들은, 또한, 프로세서로 하여금, 하나 이상의 색차 컴포넌트들의 각각에 대해, 색차 양자화 파라미터 오프셋 값을 결정하게 하고, 하나 이상의 색차 컴포너트들의 각각에 대해, 비디오 데이터의 제 1 블록에 대한 제 1 휘도 양자화 파라미터, 비디오 데이터의 제 2 블록에 대한 제 2 휘도 양자화 파라미터, 및 색차 컴포넌트에 대한 색차 양자화 파라미터 오프셋 값에 기초하여 에지에 대한 색차 양자화 파라미터를 산출하게 한다. 명령들은 또한, 프로세서로 하여금, 하나 이상의 색차 컴포넌트들의 각각에 대해, 색차 컴포넌트에 대한 색차 양자화 파라미터에 기초하여 공통 에지에 대한 디블록킹 필터에 대한 강도를 결정하게 하고, 하나 이상의 색차 컴포넌트들의 각각에 대해, 결정된 강도에 따라 디블록킹 필터를 적용하여 공통 에지를 디블록킹하게 한다.
하나 이상의 예들의 세부사항들이 첨부되는 도면들 및 하기의 설명에서 제시된다. 다른 특징들, 목적들, 및 이점들은 하기의 설명과 도면들, 및 청구항들로부터 명확해질 것이다.
도 1 은 비디오 블록들 사이의 에지들을 디블록킹하기 위한 기법들을 사용할 수도 있는 예시적인 비디오 인코딩 및 디코딩 시스템을 도시하는 블록도이다.
도 2 는 비디오 블록들 사이의 에지들을 디블록킹하기 위한 기법들을 구현할 수도 있는 비디오 인코더의 예를 도시하는 블록도이다.
도 3 은 비디오 블록들 사이의 에지를 디블록킹하기 위한 기법들을 구현할 수도 있는 비디오 디코더의 예를 도시하는 블록도이다.
도 4 는 예시적인 디블록커의 컴포넌트들을 도시하는 블록도이다.
도 5 는 2 개의 이웃하는 비디오 블록들에 의해 형성된 에지를 도시하는 개념도이다.
도 6 은 본 개시물의 기법들에 따른 비디오 코딩 프로세스 중에 디블록킹을 수행하는 예시적인 방법을 도시하는 플로차트이다.
비디오 코더들, 예컨대, 비디오 인코더들 및 비디오 디코더들은 일반적으로 공간 예측 (또는 인트라-예측) 또는 시간 예측 (또는 인터-예측) 중 어느 일방을 이용하여 화상 (picture) 들의 시퀀스의 개개의 화상들을 코딩하도록 구성된다. 좀더 특히, 비디오 코더들은 인트라-예측 또는 인터-예측을 이용하여 화상의 블록들을 예측할 수도 있다. 비디오 코더들은 블록들에 대한 잔차 값들을 코딩할 수도 있으며, 여기서 잔차 값들은 예측된 블록과 원래의 (즉, 코딩되지 않은) 블록 사이의 픽셀-바이-픽셀 (pixel-by-pixel) 차이들에 대응한다. 비디오 코더들은 잔차 블록을 변환하여 잔차 블록의 값들을 픽셀 도메인에서 주파수 도메인으로 컨버팅한다. 또한, 비디오 코더들은 양자화 파라미터 (quantization parameter; QP) 에 의해 표시되는 특정 정도의 양자화를 이용하여 변환된 잔차 블록의 변환 계수들을 양자화할 수도 있다.
일부 경우들에서, 이러한 방식에서의 블록 기반 코딩은 화상의 블록들 사이의 블록화 아티팩트들을 야기할 수도 있다. 즉, 프레임을 블록들로 나누고, 블록들을 코딩하고, 그리고 나서 블록들을 디코딩한 후에, 블록들 사이의 에지들에서 인지할 수 있는 아티팩트들이 발생할 수도 있다. 따라서, 비디오 코더들은 다양한 디블록킹 절차들을 수행하여 블록화 아티팩트들을 제거할 수도 있다.
예를 들어, 비디오 인코더들은 프레임의 비디오 데이터를 인코딩하고, 그 다음에 후속하여 인코딩된 비디오 데이터를 디코딩하고, 그 다음에 참조 비디오 데이터로서의 이용을 위해 디코딩된 비디오 데이터에 디블록킹 필터들을 적용할 수도 있다. 참조 데이터는, 예를 들어, 후속하여 코딩된 비디오 데이터의 인터-예측을 위해 비디오 인코더가 이용할 수도 있는 하나 이상의 화상들로부터의 데이터일 수도 있다. 비디오 인코더는 인터-예측을 위해 참조 프레임 저장부 내에 하나 이상의 프레임들을 저장할 수도 있다.
참조 데이터로서의 이용을 위해 디코딩된 비디오 데이터를 저장하기 전에, 비디오 코딩 디바이스, 예컨대, 비디오 인코더 또는 비디오 디코더에 의해 수행되는 그러한 디블록킹 필터링은, 일반적으로 "인-루프 (in-loop)" 필터링이라고 지칭된다. "인-루프" 필터링에서, 비디오 인코더 또는 디코더는 비디오 루프 내에서 디블록킹을 수행할 수도 있다. 비디오 인코더들은 원시 비디오 데이터를 수신하며, 비디오 데이터를 인코딩하며, 인코딩된 비디오 데이터를 디코딩하며, 디코딩된 비디오 데이터를 디블록킹하고, 참조 화상 메모리에 디블록킹된 화상들을 저장하기 시작할 수도 있다.
비디오 디코더들은 수신된 비디오 데이터를 디코딩하고, 그 다음에 인코더에 의해 적용된 것과 동일한 디블록킹 필터들을 디코딩된 비디오 데이터에 적용하도록 구성될 수도 있다. 비디오 디코더들은, 예를 들어, 디코더를 포함하는 디바이스의 사용자에게 비디오 데이터를 디스플레이할 목적으로, 뿐만 아니라, 예를 들어, 참조 화상 메모리에 저장을 위해 디코딩될 후속하는 비디오 데이터에 대한 참조 비디오로서의 이용을 위해, 디코딩된 비디오 데이터를 디블록킹할 수도 있다. 동일한 디블록킹 기법들을 적용하도록 인코더들 및 디코더들 양자 모두를 구성함으로써, 인코더들 및 디코더들이 동기화 될 수 있어, 디블록킹은 참조를 위해 디블록킹된 비디오 데이터를 이용하는 후속하는 코딩된 비디오 데이터에 대해 오류를 도입하지 않는다.
일반적으로, 디블록킹은 2 개의 단계들: 2 개의 블록들 사이의 특정 에지가 디블록킹되어야 하는지 여부를 결정하는 단계, 그리고 나서 디블록킹되어야 한다는 결정이 이루어진 에지들을 디블록킹하는 단계를 수반한다. 디블록킹 프로세스는, 본 개시물에서 디블록킹 강도라고도 지칭되는, 경계 필터링 강도 값에 의해 영향을 받는다. 디블록킹 결정들에 이용되는 필터링 강도 및 계수들, 예를 들어, 에지를 디블록킹할지 여부, 및 에지를 디블록킹하도록 결정한 후에, 이용할 필터의 유형 (예를 들어, 강 또는 약), 및 약한 필터가 선택되는 경우, 필터의 폭을 결정하는데, 베타 (β) 및 tc 값들이 이용될 수도 있다.
디블록킹 절차는 2 개의 블록들 사이의 에지를 디블록킹하는 경우 블록들에 대한 QP 값들을 고려할 수도 있다. (QP 에 의해 표시되는 바와 같은) 블록에 적용되는 양자화의 양은 블록의 품질에 직접적으로 영향을 줄 수 있다. 따라서, 디블록킹 기법들은 통상적으로, 예를 들어, 블록을 에지를 디블록킹할지 여부 및 에지를 어떻게 디블록킹할지를 결정하는 경우에 블록의 QP 를 고려한다.
현재 고효율 비디오 코딩 (High Efficiency Video Coding; HEVC) 으로 지칭되는, 새로운 비디오 코딩 표준을 개발하기 위한 노력들이 현재 진행 중에 있다. 새로 나올 표준은 H.265 로 또한 지칭된다. HEVC 표준은 또한 ISO/IEC 23008-HEVC 라고 지칭될 수도 있으며, 이는 HEVC 의 인계된 버전에 대한 표준 번호가 되고자 한다. 표준화 노력들은 HEVC 테스트 모델 (HEVC Test Model; HM) 로 지칭되는 비디오 코딩 디바이스의 모델에 기초한다. HM 은 ITU-T H.264/AVC 와 같은 이전의 코딩 표준들에 따른 디바이스들에 대해 비디오 코딩 디바이스들의 여러 능력들을 가정한다. 예를 들어, H.264 가 9 개의 인트라-예측 인코딩 모드들을 제공하는데 반해, HM 은 35 개만큼 많은 인트라-예측 인코딩 모드들을 제공한다.
"HEVC Working Draft 6" 또는 "WD6" 이라고 지칭되는 HEVC 의 최근의 작업 초안 (working Draft; WD) 이 <문서 제 JCTVC-H1003 호, Bross 외, "High-Efficiency Video Coding (HEVC) text specification draft 6", ITU-T SG16 WP3 와 ISO/IEC JTC1/SC29/WG11 의 JCT-VC (Joint Collaborative Team on Video Coding), 제 8 차 회의: 미국 캘리포니아 산 호세, 2012 년 2월> 에서 설명되며, 이는 그 전체가 참조로서 본원에 포함되고, 2012 년 10 월 1 일자로, http ://phenix.int-eyry.fr/jct/doc_end_user/documents/8_San%20Jose/wg11/JCTVC-H1003-v22.zip 으로부터 다운로드가능하다.
또한, "HEVC Working Draft 8" 또는 "WD8" 이라고 지칭되는 HEVC 의 다른 최근의 작업 초안인 작업 초안 8 이 <문서 제 JCTVC-J1003_d7 호, Bross 외, "High Efficiency Video Coding (HEVC) Text Specification draft 8", ITU-T SG16 WP3 및 ISO/IEC JTC1/SC29/WG11 의 JCT-VC, 제 10 차 회의: 스웨덴 스톡홀름, 2012 년 7월> 에 설명되어 있으며, 이는 그 전체가 참조로서 본원에 포함되고, 2012 년 10 월 1 일자로서 http://phenix.int-eyry.fr/ict/doc_end_user/documents/10_Stockholm/wg11/JCTVC-J1003-v8.zip 으로부터 다운로드가능하다.
또한, HEVC 의 텍스트 명세서 초안이 <문서 제 JCTVC-LV1003_v28 호, Bross 외, "High Efficiency Video Coding (HEVC) text specification draft 10 (for FDIS & Consent)", ITU-T SG 16 WP 3 및 ISO/IEC JTC 1/SC 29/WG 11 의 JCT-VC, 제 12 차 회의: 스위스 제네바, 2013 년 1월 14 일 - 23 일> 에 설명되어 있으며, 이는 그 전체가 참조로서 본원에 포함된다.
제안된 HEVC 표준은 색차 컴포넌트들 (Cr 및 Cb) 을 코딩하는데 이용되는 양자화 파라미터들 (QP) 에 대한 각각의 오프셋 값들을 시그널링하는 것을 포함한다. 좀더 특히, 제안된 HEVC 표준에 따르면, 화상 파라미터 세트 (picture parameter set; PPS) 에서 시그널링되는 cb_qp_offset 구문 요소 및 cr_qp_offset 구문 요소를 명시한다. 구문 요소들 (cb_qp_offset 및 cr_qp_offset) 은, 각각의 색차 컴포너트에 대해, 휘도 QP 에 대한 오프셋을 명시하는 색차 양자화 파라미터 오프셋 값들의 예들이고, 비디오 블록에 대한 휘도 QP (예를 들어, QP'Y) 로부터 비디오 블록에 대한 각각의 색차 QP (예를 들어, QP'Cb 및 QP'Cr) 를 결정하기 위해 비디오 코더에 의해 이용될 수도 있다.
또한, 제안된 HEVC 표준은 비디오 코더들이 디블록킹 필터로 색차 컴포넌트들을 프로세싱할 수도 있다는 것을 명시한다. 특히, 비디오 코더들은, 이러한 비디오 블록들 중 적어도 하나의 블록이 인트라-코딩된 경우, 2 개의 비디오 블록들 (P 및 Q) 사이의 에지를 프로세싱할 수도 있다. 공통 에지를 갖는 2 개의 비디오 블록들 중 적어도 하나의 비디오 블록이 인트라-코딩된 경우, 공통 에지는 경계 강도 Bs=2 를 갖는 것으로 지칭될 수도 있다. 특정 색차 컴포넌트에 대한 디블록킹 필터를 구성하기 위해, 비디오 코더는 통상적으로 그 컴포넌트, 예를 들어, 각각 Cr 컴포넌트 및 Cb 컴포넌트에 대한 QPC,Cr 또는 QPC,Cb 에 대한 에지의 색차 QP 에 기초하여 표에서 tc 파라미터를 찾아본다. tc 파라미터는 디블록킹 필터의 강도를 결정할 수도 있고, 비디오 코더는 색차 필터의 클리핑 (clipping) 동작에서 tc 파라미터를 적용할 수도 있다.
그러나, 제안된 HEVC 표준이 색차 양자화 파라미터 오프셋 값들, 및 비디오 데이터의 블록들에 대한 색차 QP 파라미터들을 결정하기 위해 그러한 값들의 이용을 명시하기는 하나, 에지에 대한 색차 컴포넌트 디블록킹 필터를 구성하는 경우에는, 공통 에지를 갖는 블록들에 대한 휘도 QP 및 색차 QP 사이의 오프셋은 고려되지 않을 수도 있다. 예를 들어, HEVC WD 6 에서, 에지에 대한 색차 QP, 즉, 에지에 대한 색차 컴포넌트 디블록킹 필터를 구성하는데 이용되는 색차 QP 는, 색차 양자화 파라미터 오프셋 값들을 고려하지 않으면서, 단지 에지를 공유하는 비디오 블록들에 대한 휘도 QP 들에 기초하여 결정될 수도 있다. 특히, HEVC WD6 에 따르면, 적색 및 청색 색차에 대한 각각의 디블록킹 필터들을 구성하는데 이용되는 QPC,Cr 및 QPC,Cb 의 값들은 동일하고, 각각 P 블록 및 Q 블록의 루마 QPY,P 및 QPY,Q 값들에 기초하여 다음과 같이 결정된다:
Figure pct00001
(1)
여기서 QpUV 는 크로마 (chroma) QPCr 값 또는 QPCb 값에서 루마 QPY 를 컨버팅하는 함수 또는 표이다.
식 1 에서, 색차 QP 오프셋 값들은 고려되지 않는다. 오프셋 값들이 클 수도 있기 때문에, 비디오 코더는 이상적인 디블록킹 강도보다 적은 디블록킹 강도를 갖는 디블록킹 필터들을 색차 컴포넌트들에 적용할 수도 있다.
본 개시물의 기법들은 그러한 에지들에 적용되는 디블록킹 기능들을 개선시킬 수도 있고, 그렇게 함으로써 에지의 출현을 감소시킬 수도 있다. 좀더 특히, 본 개시물의 기법들은 비디오 데이터의 2 개의 블록들에 의해 공유되는 공통 에지에서의 색차 컴포넌트들에 적용되는 디블록킹 기능들을 개선시킬 수도 있다. 특히, 본 개시물의 기법들에 따르면, 비디오 코더, 예를 들어, 비디오 인코더 또는 비디오 디코더는, 비디오 데이터의 2 개의 블록들에 대한 휘도 QP 들에 기초해서 뿐만 아니라, 색차 QP 오프셋 값에 기초하여, 비디오 데이터의 2 개의 블록들 사이의 에지에 대한 색차 QP 를 산출할 수도 있다. 비디오 디코더는, 본 개시물의 기법들에 따르면, 색차 QP 오프셋 값에 기초하여 에지에 대한 색차 QP 를 결정할 수도 있기 때문에, 디블록킹 필터의 강도, 예를 들어, tc 파라미터의 값은, 공통 에지를 공유하는 비디오 데이터의 2 개의 블록들의 색차 컴포넌트들의 품질 레벨들에 보다 적절할 수도 있다.
도 1 은 비디오 블록들 사이의 에지를 디블록킹하기 위한 기법들을 사용할 수도 있는 예시적인 비디오 인코딩 및 디코딩 시스템 (10) 을 도시하는 블록도이다. 도 1 에 도시된 바와 같이, 시스템 (10) 은 목적지 디바이스 (14) 에 의해 추후에 디코딩될 인코딩된 비디오 데이터를 제공하는 소스 디바이스 (12) 를 포함한다. 특히, 소스 디바이스 (12) 는 컴퓨터 판독가능 매체 (16) 를 통해 목적지 디바이스 (14) 에 비디오 데이터를 제공한다. 소스 디바이스 (12) 및 목적지 디바이스 (14) 는, 데스크탑 컴퓨터들, 노드북 (즉, 랩탑) 컴퓨터들, 태블릿 컴퓨터들, 셋탑박스들, 이른바 "스마트" 폰들과 같은 전화 핸드셋들, 이른바 "스마트" 패드들, 텔레비전들, 카메라들, 디스플레이 디바이스들, 디지털 미디어 재생기들, 비디오 게임용 콘솔들, 비디오 스트리밍 디바이스 등을 포함하는 광범위의 디바이스들 중 임의의 것을 포함할 수도 있다. 일부 경우들에서, 소스 디바이스 (12) 및 목적지 디바이스 (14) 는 무선 통신을 갖추고 있을 수도 있다. 그러한 경우들에서, 컴퓨터 판독가능 매체 (16) 는 무선 통신 채널을 포함할 수도 있다.
목적지 디바이스 (14) 는 디코딩될 인코딩된 비디오 데이터를 컴퓨터 판독가능 매체 (16) 를 통해 수신할 수도 있다. 컴퓨터 판독가능 매체 (16) 는 인코딩된 비디오 데이터를 소스 디바이스 (12) 에서 목적지 디바이스 (14) 로 이동시킬 수 있는 임의의 유형의 매체 또는 디바이스를 포함할 수도 있다. 일 예에서, 컴퓨터 판독가능 매체 (16) 는 소스 디바이스 (12) 가 인코딩된 비디오 데이터를 목적지 디바이스 (14) 로 실시간으로 직접적으로 송신하는 것을 가능하게 하는 통신 매체를 포함할 수도 있다. 인코딩된 비디오 데이터는 무선 통신 프로토콜과 같은 통신 표준에 따라 변조되고, 목적지 디바이스 (14) 로 송신될 수도 있다. 통신 매체는 임의의 무선 또는 유선 통신 매체, 예컨대, 무선 주파수 (radio frequency; RF) 스펙트럼, 또는 하나 이상의 물리적 송신 라인들을 포함할 수도 있다. 통신 매체는 패킷 기반 네트워크, 예컨대, 근거리 통신망 (local area network), 원거리 통신망 (wide-area network), 또는 인터넷과 같은 글로벌 네트워크의 일부를 형성할 수도 있다. 통신 매체는 라우터들, 스위치들, 기지국들, 또는 소스 디바이스 (12) 에서 목적지 디바이스 (14) 로의 통신을 가능하게 하는데 유용할 수도 있는 임의의 다른 장비를 포함할 수도 있다.
일부 예들에서, 인코딩된 데이터는 출력 인터페이스 (22) 에서 저장 디바이스로 출력될 수도 있다. 유사하게, 인코딩된 데이터는 입력 인터페이스 (28) 에 의해 저장 디바이스로부터 액세스될 수도 있다. 저장 디바이스는 하드 드라이브, 블루레이 디스크들, DVD 들, CD-ROM 들, 플래시 메모리, 휘발성 또는 비휘발성 메모리와 같은 임의의 다양한 분산된 또는 로컬로 액세스되는 데이터 저장 매체들, 또는 인코딩된 비디오 데이터를 저장하기 위한 임의의 다른 적합한 디지털 저장 매체들을 포함할 수도 있다. 다른 예에서, 저장 디바이스는 소스 디바이스 (12) 에 의해 발생된 인코딩된 비디오를 저장할 수도 있는 다른 중간 저장 디바이스 또는 파일 서버에 대응할 수도 있다. 목적지 디바이스 (14) 는 스트리밍 또는 다운로드를 통해 저장 디바이스로부터의 저장된 비디오 데이터에 액세스할 수도 있다. 파일 서버는 인코딩된 비디오 데이터를 저장할 수 있고 그 인코딩된 비디오 데이터를 목적지 디바이스 (14) 로 송신할 수 있는 임의의 유형의 서버일 수도 있다. 예시적인 파일 서버들은 (예를 들어, 웹사이트용) 웹 서버, FTP 서버, NAS (network attached storage) 디바이스들, 또는 로컬 디스크 드라이브를 포함한다. 목적지 디바이스 (14) 는 인터넷을 접속을 포함하는 임의의 표준 데이터 접속을 통해 인코딩된 비디오 데이터에 액세스할 수도 있다. 이는 파일 서버에 저장된 인코딩된 비디오 데이터를 액세스하는데 적합한 무선 채널 (예를 들어, 와이파이 접속), 유선 접속 (예를 들어, DSL, 케이블 모뎀 등), 또는 양자 모두의 조합을 포함할 수도 있다. 저장 디바이스로부터의 인코딩된 비디오 데이터의 송신은 스트리밍 송신, 다운로드 송신, 또는 이들의 조합일 수도 있다.
비디오 블록들 사이의 에지들을 디블록킹하는 것에 관련되는 본 개시물의 기법들이 반드시 무선 애플리케이션들 또는 설정들로 제한되는 것은 아니다. 기법들은 다양한 멀티미디어 애플리케이션들, 예컨대, 지상파 (over-the-air) 텔레비전 브로드캐스트들, 케이블 텔레비전 송신들, 위성 텔레비전 송신들, HTTP 를 통한 동적 적응형 스트리밍 (dynamic adaptive streaming over HTTP; DASH) 과 같은 인터넷 스트리밍 비디오 송신들, 데이터 저장 매체 상에 인코딩되는 디지털 비디오, 데이터 저장 매체 상에 저장되는 디지털 비디오의 디코딩, 또는 다른 애플리케이션들 중 임의의 것의 지원 시에 비디오 코딩에 적용될 수도 있다. 일부 예들에서, 시스템 (10) 은, 비디오 스트리밍, 비디오 재생, 비디오 브로드캐스트, 및/또는 화상 전화와 같은 애플리케이션들을 지원하기 위해 일방향 또는 양방향 비디오 송신을 지원하도록 구성될 수도 있다.
도 1 의 예에서, 소스 디바이스 (12) 는 비디오 소스 (18), 비디오 인코더 (20), 및 출력 인터페이스 (22) 를 포함한다. 목적지 디바이스 (14) 는 입력 인터페이스 (28), 비디오 디코더 (30), 및 디스플레이 디바이스 (32) 를 포함한다. 다른 예들에서, 소스 디바이스 및 목적지 디바이스는 다른 컴포넌트들 또는 배열들을 포함할 수도 있다. 예를 들어, 소스 디바이스 (12) 는 외부 비디오 소스 (18), 예컨대, 외부 카메라로부터 비디오 데이터를 수신할 수도 있다. 마찬가지로, 목적지 디바이스 (14) 는, 집적된 디스플레이 디바이스를 포함하는 대신, 외부 디스플레이 디바이스와 인터페이싱할 수도 있다. 소스 디바이스 (12) 의 비디오 인코더 (20) 및 목적지 디바이스 (14) 의 비디오 디코더 (30) 는 비디오 블록들 사이의 에지들을 디블록킹하기 위해 본 개시물의 기법들을 적용하도록 구성될 수도 있는 비디오 코더들의 예들이다.
도 1 의 도시된 시스템 (10) 은 단지 일 예에 불과하다. 비디오 블록들 사이의 에지들을 디블록킹하기 위한 기법들은 임의의 디지털 비디오 인코딩 및/또는 디코딩 디바이스에 의해 수행될 수도 있다. 또한, 본 개시물의 기법들은 비디오 프리프로세서에 의해 또한 수행될 수도 있다. 소스 디바이스 (12) 및 목적지 디바이스 (14) 는, 소스 디바이스 (12) 가 목적지 디바이스 (14) 로의 송신을 위한 코딩된 비디오 데이터를 발생시키는 그러한 코딩 디바이스들의 단지 예들에 불과하다. 일부 예들에서, 디바이스들 (12, 14) 은, 디바이스들 (12, 14) 의 각각이 비디오 인코딩 및 디코딩 컴포넌트들을 포함하는 것과 실질적으로 대칭적인 방식으로 동작할 수도 있다. 따라서, 시스템 (10) 은, 예를 들어, 비디오 스트리밍, 비디오 재생, 비디오 브로드캐스팅, 또는 화상 전화를 위해, 비디오 디바이스들 (12, 14) 사이의 일방향 또는 양방향 비디오 송신을 지원할 수도 있다.
소스 디바이스 (12) 의 비디오 소스 (18) 는 비디오 캡쳐 디바이스, 예컨대, 비디오 카메라, 이전에 캡쳐된 비디오를 포함하는 비디오 아카이브, 및/또는 비디오 컨텐츠 제공자로부터의 비디오를 수신하기 위한 비디오 피드 인터페이스를 포함할 수도 있다. 다른 대안으로, 비디오 소스 (18) 는 소스 비디오로서 컴퓨터 그래픽 기반 데이터, 또는 라이브 비디오, 아카이브된 비디오, 및 컴퓨터로 발생된 비디오의 결합을 발생시킬 수도 있다. 일부 경우들에서, 비디오 소스 (18) 가 비디오 카메라인 경우, 소스 디바이스 (12) 및 목적지 디바이스 (14) 는 이른바 카메라 폰들 또는 비디오 폰들을 형성할 수도 있다. 그러나, 위에서 언급된 바와 같이, 본 개시물에서 설명된 기법들은 일반적으로 비디오 코딩에 적용가능할 수도 있으며, 무선 및/또는 유선 애플리케이션들에 적용될 수도 있다. 각각의 경우에서, 캡쳐된, 프리캡쳐된, 또는 컴퓨터로 발생된 비디오는 비디오 인코더 (20) 에 의해 인코딩될 수도 있다. 인코딩된 비디오 정보는 그 다음에 컴퓨터 판독가능 매체 (16) 상으로 출력 인터페이스 (22) 에 의해 출력될 수도 있다.
컴퓨터 판독가능 매체 (16) 는 전이 매체들, 예컨대, 무선 브로드캐스트 또는 유선 네트워크 송신, 또는 하드 디스크, 플래시 드라이브, 컴팩트 디스크, 디지털 비디오 디스크, 블루레이 디스크와 같은 저장 매체들 (즉, 비일시적 저장 매체들), 또는 다른 컴퓨터 판독가능 매체들을 포함할 수도 있다. 일부 예들에서, 네트워크 서버 (미도시) 는 소스 디바이스 (12) 로부터 인코딩된 비디오 데이터를 수신하고, 예를 들어, 네트워크 송신을 통해 목적지 디바이스 (14) 에 인코딩된 비디오 데이터를 제공할 수도 있다. 유사하게, 디스크 스탬핑 기능과 같은 매체 생성 기능의 컴퓨팅 디바이스가 소스 디바이스 (12) 로부터 인코딩된 비디오 데이터를 수신하고, 인코딩된 비디오 데이터를 포함하는 디스크를 생성할 수도 있다. 따라서, 컴퓨터 판독가능 매체 (16) 는, 다양한 예들에서, 다양한 형태들의 하나 이상의 컴퓨터 판독가능 매체들을 포함하는 것으로 이해될 수도 있다.
목적지 디바이스 (14) 의 입력 인터페이스 (28) 는 컴퓨터 판독가능 매체 (16) 로부터 정보를 수신한다. 컴퓨터 판독가능 매체 (16) 의 정보는 비디오 인코더 (20) 에 의해 정의된 구문 정보를 포함할 수도 있는데, 이것은 비디오 디코더 (30) 에 의해 또한 이용되며, 특성들 및/또는 블록들 및 다른 코딩된 유닛들, 예를 들어, GOP 들의 프로세싱을 설명하는 구문 요소들을 포함한다. 디스플레이 디바이스 (32) 는 디코딩된 비디오 데이터를 사용자에게 디스플레이하고, 음극선관 (CRT), 액정 디스플레이 (liquid crystal display; LCD), 플라즈마 디스플레이, 유기 발광 다이오드 (organic light emitting diode; OLED) 디스플레이, 또는 다른 유형의 디스플레이 디바이스와 같은 다양한 디스플레이 디바이스들 중 임의의 것을 포함할 수도 있다.
비디오 인코더 (20) 및 비디오 디코더 (30) 는, "H.265" 라고도 지칭되는, 곧 있을 ITU-T 고효율 비디오 코딩 (HEVC) 표준과 같은 비디오 압축 표준에 따라 동작할 수도 있다. 비디오 인코더 (20) 및 비디오 디코더 (30) 는 고효율 비디오 코딩 테스트 모델 (HM) 에 따를 수도 있다. 그러나, 본 개시물의 기법들은 임의의 특정 코딩 표준에 제한되지 않는다. 다른 예들은 MPEG-2 와 ITU-T H.263, 및 ITU-T H.264/AVC (고급 비디오 코딩) 를 포함한다. 도 1 에 도시되지 않았지만, 일부 양상들에서, 비디오 인코더 (20) 및 비디오 디코더 (30) 는 오디오 인코더 및 디코더와 각각 통합될 수도 있고, 공통 데이터 스트림 또는 개별적인 데이터 스트림들에서 오디오 및 비디오 양자의 인코딩을 처리하기 위해 적절한 MUX-DEMUX 유닛들, 또는 다른 하드웨어 및 소프트웨어를 포함할 수도 있다. 적용가능한 경우, MUX-DEMUX 유닛들은 ITU H.223 다중화기 프로로톨, 또는 사용자 데이터그램 프로토콜 (user datagram protocol; UDP) 과 같은 다른 프로토콜에 따를 수도 있다.
ITU-T H.264/MPEG-4 (AVC) 표준은 JVT (Joint Video Team) 로서 알려진 공동 파트너십의 산물로서 ISO/IEC MPEG (Moving Picture Experts Group) 과 함께 ITU-T VCEG (Video Coding Experts Group) 에 의해 제정되었다. 일부 양상들에서, 본 개시물에서 설명된 기법들은 일반적으로 H.264 표준을 따르는 디바이스들에 적용될 수도 있다. H.264 표준은 ITU-T 연구 그룹에 의한 2005 년 3 월자의, ITU-T 권고안, 일반적인 시청각 서비스들에 대한 고급 비디오 코딩에서 설명되며, 본원에서 H.264 표준 또는 H.264 사양, 또는 H.264/AVC 표준 또는 사양으로 지칭될 수도 있다. JVT (Joint Video Team) 는 H.264/MPEG-4 AVC 에 대한 확장안들에 대한 연구를 계속하고 있다.
비디오 인코더 (20) 및 비디오 디코더 (30) 각각은 임의의 다양한 적합한 인코더 회로부, 예컨대, 하나 이상의 마이크로프로세서들, 디지털 신호 프로세서 (DSP) 들, 주문형 반도체들 (ASIC) 들, 필드 프로그램가능 게이트 어레이 (FPGA) 들, 비디오 코딩 디바이스, 예컨대, 인코더나 디코더, 이산 로직, 소프트웨어, 하드웨어, 펌웨어, 또는 이들의 임의의 조합을 포함하는 무선 통신 디바이스들로 구현될 수도 있다. 비디오 인코더 (20) 및 비디오 디코더 (30) 각각은 하나 이상의 인코더들 또는 디코더들에 포함될 수도 있고, 이들 중 어느 것이라도 결합된 인코더/디코더 (CODEC) 의 일부로서 각각의 카메라, 컴퓨터, 모바일 디바이스, 가입자 디바이스, 방송 디바이스, 셋톱박스, 서버 등에 통합될 수도 있다.
일반적으로, HM 의 작업 모델은, 비디오 프레임 또는 화상이 루마 샘플 및 크로마 샘플 양자 모두를 포함하는 최대 코딩 유닛 (largest coding unit; LCU) 들 또는 트리블록들의 시퀀스로 나누어질 수도 있다는 것을 기술한다. 비트스트림 내의 구문 데이터는 LCU 에 대한 사이즈를 정의할 수도 있는데, LCU 는 픽셀들의 수의 면에서 최대 코딩 유닛이다. 슬라이스는 코딩 순서에서 다수의 연속적인 트리블록들을 포함한다. 비디오 프레임 또는 화상은 하나 이상의 슬라이스들로 파티셔닝될 수도 있다. 각각의 트리블록은 쿼드트리에 따라 코딩 유닛 (coding unit; CU) 들로 분할될 수도 있다. 일반적으로, 쿼드트리 데이터 구조는 CU 당 하나의 노드를 포함하는데, 여기서 루트 노드는 트리블록에 대응한다. CU 가 4 개의 서브-CU 들로 분할되는 경우, 그 CU 에 대응하는 노드는 4 개의 리프 노드들을 포함하고, 그 각각은 서브-CU 들의 하나의 서브-CU 에 대응한다.
쿼드트리 데이터 구조의 각각의 노드는 대응하는 CU 에 대해 구문 데이터를 제공할 수도 있다. 예를 들어, 쿼드트리에서의 노드는, 그 노드에 대응하는 CU 가 서브-CU 들로 분할되는지의 여부를 표시하는 분할 플래그를 포함할 수도 있다. CU 에 대한 구문 요소들은 재귀적으로 정의될 수도 있고, CU 가 서브-CU 들로 분할되는지 여부에 의존할 수도 있다. CU 가 더 이상 분할되지 않는 경우, 그것은 리프-CU 라고 지칭된다. 본 개시물에서, 리프-CU 의 4 개의 서브-CU 들은, 원래의 리프-CU 의 명백한 분할이 없지만 리프-CU 들로서 또한 지칭될 것이다. 예를 들어, 16×16 사이즈에서 CU 가 더 이상 분할되지 않으면, 4 개의 8×8 서브-CU들은, 16×16 CU 가 분할되지 않았지만, 리프-CU 들이라고 또한 지칭될 것이다.
CU 가 사이즈 구별을 갖지 않는다는 점을 제외하면, CU 는 H.264 표준의 매크로블록과 유사한 목적을 갖는다. 예를 들어, 트리블록은 (서브-CU 들이라고도 지칭되는) 4 개의 자식 (child) 노드들로 분할될 수도 있고, 각각의 자식 노드는 결과적으로 부모 (parent) 노드일 수도 있고 다른 4 개의 자식 노드들로 분할될 수도 있다. 쿼드트리의 리프 노드라고 지칭되는 최종의 분할되지 않는 자식 노드는 리프-CU 라고도 지칭되는 코딩 노드를 포함한다. 코딩된 비트스트림과 연관된 구문 데이터는, 최대 CU 심도라고 지칭되는, 트리블록이 분할될 수도 있는 최대 횟수를 정의할 수도 있고, 코딩 노드들의 최소 사이즈를 또한 정의할 수도 있다. 이에 따라, 비트스트림은 최소 코딩 유닛 (smallest coding unit; SCU) 을 또한 정의할 수도 있다. 본 개시물은 HEVC 의 맥락에서 CU, PU, 또는 TU, 또는 다른 표준들의 맥락에서 유사한 데이터 구조들 (예를 들어, H.264/AVC 에서의 매크로블록들 및 서브 블록들) 중 임의의 것을 지칭하기 위해 용어 "블록" 을 이용한다.
CU 는 코딩 노드 및 코딩 노드와 관련된 변환 유닛 (transform unit; TU) 들 및 예측 유닛 (prediction unit; PU) 들을 포함한다. CU 의 사이즈는 코딩 노드의 사이즈에 대응하고 형상이 정사각형이어야 한다. CU 의 사이즈는 8×8 픽셀들에서 최대 64×64 픽셀들 이상의 픽셀들을 갖는 트리블록의 사이즈까지의 범위에 있을 수도 있다. 각각의 CU 는 하나 이상의 PU 들 및 하나 이상의 TU 들을 포함할 수도 있다. CU 와 연관된 구문 데이터는, 예를 들어, CU 를 하나 이상의 PU 들로 파티셔닝하는 것을 설명할 수도 있다. 파티셔닝 모드들은, CU 가 스킵 또는 다이렉트 모드 인코딩되는지, 인트라-예측 모드 인코딩되는지, 또는 인터-예측 모드 인코딩되는지 여부의 사이에서 상이할 수도 있다. PU 들은 형상이 비정사각형으로 파티셔닝될 수도 있다. CU 와 연관된 구문 데이터는, 예를 들어, CU 를 쿼드트리에 따라 하나 이상의 TU들로 파티셔닝하는 것을 또한 설명할 수도 있다. TU 는 형상이 정사각형 또는 비정사각형 (예를 들어, 직사각형) 일 수 있다.
HEVC 표준은 TU 들에 따른 변환들을 허용하는데, 이것은 상이한 CU 들에 대해 상이할 수도 있다. TU 들은 파티셔닝된 LCU 에 대해 정의된 주어진 CU 내에서의 PU 들의 사이즈에 기초하여 통상 사이즈가 정해지지만, 이것이 항상 그런 것은 아닐 수도 있다. TU 들은 통상 PU 들과 동일한 사이즈이거나 더 작다. 일부 예들에서, CU 에 대응하는 잔차 샘플들은, "잔차 쿼드 트리 (residual quad tree; RQT)" 로서 알려진 쿼드트리 구조를 이용하여 더 작은 유닛들로 세분될 수도 있다. RQT 의 리프 노드들은 변환 유닛 (TU) 들로 지칭될 수도 있다. TU 들과 연관된 픽셀 차이 값들은 변환되어 변환 계수들을 생성할 수도 있고, 변환 계수는 양자화될 수도 있다.
리프-CU 는 하나 이상의 예측 유닛 (PU) 들을 포함할 수도 있다. 일반적으로, PU 는 대응하는 CU 의 전체 또는 일부에 대응하는 공간적 영역을 나타내고, PU 에 대한 참조 샘플을 취출하는 데이터를 포함할 수도 있다. 또한, PU 는 예측과 관련된 데이터를 포함한다. 예를 들어, PU 가 인트라-모드 인코딩된 경우, PU 에 대한 데이터는 잔차 쿼드트리 (RQT) 에 포함될 수도 있으며, 잔차 쿼드트리는 PU 에 대응하는 TU 에 대한 인트라-예측 모드를 설명하는 데이터를 포함할 수도 있다. 다른 예로서, PU 가 인터-모드 인코딩되는 경우, PU 는 PU 에 대한 하나 이상의 모션 벡터들을 정의하는 데이터를 포함할 수도 있다. PU 에 대한 모션 벡터를 정의하는 데이터는, 예를 들어, 모션 벡터의 수평 컴포넌트, 모션 벡터의 수직 컴포넌트, 모션 벡터에 대한 해상도 (예를 들어, 1/4 픽셀 정밀도 또는 1/8 픽셀 정밀도), 모션 벡터가 가리키는 참조 화상, 및/또는 모션 벡터에 대한 참조 화상 리스트 (예를 들어, List 0, List 1, 또는 List C) 를 설명할 수도 있다.
하나 이상의 PU 들을 갖는 리프-CU 는 하나 이상의 변환 유닛 (TU) 들을 또한 포함할 수도 있다. 변환 유닛들은, 위에서 논의된 바와 같이, (TU 쿼드트리 구조라고도 지칭되는) RQT 를 이용하여 명시될 수도 있다. 예를 들어, 리프-CU 가 4 개의 변환 유닛들로 분할되는지의 여부를 분할 플래그가 표시할 수도 있다. 그 다음에, 각각의 변환 유닛은 서브-TU 들로 더 분할될 수도 있다. TU 가 더 이상 분할되지 않는 경우, 그것은 리프-TU 라고 지칭될 수도 있다. 일반적으로, 인트라 코딩에 있어서, 리프-CU 에 속하는 모든 리프-TU 들은 동일한 인트라-예측 모드를 공유한다. 즉, 리프-CU 의 모든 TU 들에 대한 예측된 값들을 산출하기 위해 동일한 인트라-예측 모드가 일반적으로 적용된다. 인트라 코딩에 있어서, 비디오 인코더는, TU 에 대응하는 CU 의 부분과 원래의 블록 사이의 차이로서, 인트라-예측 모드를 이용하여 각각의 리프-TU 에 대한 잔차 값을 산출할 수도 있다. TU 는 PU 의 사이즈에 반드시 제한되는 것은 아니다. 따라서, TU 들은 PU 보다 더 크거나 더 작을 수도 있다. 인트라 코딩에 있어서, PU 는 동일한 CU 에 대한 대응하는 리프-TU 와 콜로케이팅 (collocate) 될 수도 있다. 일부 예들에서, 리프-TU 의 최대 사이즈는 대응하는 리프-CU 의 사이즈에 대응할 수도 있다.
또한, 리프-CU 들의 TU 들은 또한 잔차 쿼드트리 (RQT) 들이라고도 지칭되는 각각의 쿼드트리 데이터 구조들과 연관될 수도 있다. 즉, 리프-CU 는 리프-CU 가 TU 들로 어떻게 파티셔닝되는지를 표시하는 쿼드트리를 포함할 수도 있다. TU 쿼드트리의 루트 노드는 일반적으로 리프-CU 에 대응하지만, CU 쿼드트리의 루트 노드는 일반적으로 트리블록 (또는 LCU) 에 대응한다. 분할되지 않은 RQT 의 TU 들은 리프-TU 들이라고 지칭된다. 일반적으로, 다르게 지시되지 않는 한, 본 개시물은 각각 리프-CU 및 리프-TU 를 지칭하기 위해 용어 CU 및 TU 를 이용한다.
비디오 시퀀스는 일련의 비디오 프레임들 또는 화상들을 통상 포함한다. 화상들의 그룹(group of pictures; GOP) 은 일반적으로 일련의 하나 이상의 비디오 화상들을 포함한다. GOP 는 GOP 의 헤더, 화상들 중 하나 이상의 화상의 헤더, 또는 그 외의 곳에, GOP 에 포함된 화상들의 수를 설명하는 구문 데이터를 포함할 수도 있다. 화상의 각각의 슬라이스는 각각의 슬라이스에 대한 인코딩 모드를 설명하는 슬라이스 구문 데이터를 포함할 수도 있다. 비디오 인코더 (20) 는 통상적으로 비디오 데이터를 인코딩하기 위해 개개의 비디오 화상들 내의 비디오 블록들에 대해 동작한다. 비디오 블록은 CU 내의 코딩 노드에 대응할 수도 있다. 비디오 블록들은 고정된 또는 가변적인 사이즈들을 가질 수도 있고, 특정 코딩 표준에 따라 사이즈가 상이할 수도 있다.
일 예로서, HM 은 다양한 PU 사이즈들에서의 예측을 지원한다. 특정 CU 의 사이즈가 2N×2N 이라고 가정하면, HM 은 2N×2N 또는 N×N 의 PU 사이즈들에서의 인트라-예측, 및 2N×2N, 2N×N, N×2N, 또는 N×N 의 대칭적 PU 사이즈들에서의 인터-예측을 지원한다. HM 은 2N×nU, 2N×nD, nL×2N, 및 nR×2N 의 PU 사이즈들에서의 인터-예측에 대한 비대칭적 파티셔닝을 또한 지원한다. 비대칭적 파티셔닝에서, CU 의 한 방향은 분할되지 않지만, 나머지 방향은 25% 및 75% 로 파티셔닝된다. 25% 파티셔닝에 대응하는 CU 의 부분은 "위쪽", "아래쪽", "왼쪽", 또는 "오른쪽" 의 표시가 후속하는 "n" 에 의해 표시된다. 따라서, 예를 들어, "2N×nU" 은 위쪽의 2N×0.5N PU 와 아래쪽의 2N×1.5N PU 로 수평적으로 파티셔닝되는 2N×2N CU 를 지칭한다.
본 개시물에서, "N×N" 및 "N 바이 N", 예컨대, 16×16 픽셀들 또는 16 바이 16 픽셀들은 수직 및 수평 치수들의 면에서 비디오 블록의 픽셀 치수들을 언급하기 위해 상호교환적으로 이용될 수도 있다. 일반적으로, 16×16 블록은 수직 방향으로 16 픽셀들 (y=16) 및 수평 방향으로 16 픽셀들 (x=16) 을 가질 것이다. 마찬가지로, N×N 블록은 일반적으로 수직 방향으로 N 개의 픽셀들 및 수평 방향으로 N 개의 픽셀들을 구비하는데, 여기서 N 은 음이 아닌 정수 값을 나타낸다. 블록에서의 픽셀들은 행들 및 열들로 배열될 수도 있다. 또한, 블록들은 수평 방향에서의 픽셀들의 수가 수직 방향에서의 것과 반드시 동일한 개수의 픽셀들을 가질 필요가 없다. 예를 들어, 블록들은 N×M 픽셀들을 포함할 수도 있으며, 여기서 M 은 N 과 반드시 동일하지는 않다.
CU 의 PU 들을 이용하는 인트라-예측 또는 인터-예측 코딩 다음에, 비디오 인코더 (20) 는 CU 의 TU 들에 대한 잔차 데이터를 산출할 수도 있다. PU 들은 공간 도메인 (픽셀 도메인으로도 지칭됨) 에서 예측 픽셀 데이터를 발생시키는 방법 또는 모드를 설명하는 구문 데이터를 포함할 수도 있고, TU들은, 잔차 비디오 데이터에 대한, 예를 들어, 이산 코사인 변환 (discrete cosine transform; DCT), 정수 변환, 웨이브릿 변환, 또는 개념적으로 유사한 변환과 같은 변환의 적용에 후속하는 변환 도메인에서의 계수들을 포함할 수도 있다. 잔차 데이터는 인코딩되지 않은 화상과 PU 들에 대응하는 예측 값들의 픽셀들 사이의 픽셀 차이들에 대응할 수도 있다. 비디오 인코더 (20) 는 CU 에 대한 잔차 데이터를 포함하는 TU 들을 형성하고, 그 다음에 TU 들을 변환하여 CU 에 대한 변환 계수들을 생성할 수도 있다.
변환 계수들을 생성하기 위한 임의의 변환들 다음에, 비디오 인코더 (20) 는 변환 계수들의 양자화를 수행할 수도 있다. 양자화는 일반적으로, 변환 계수 블록의 계수들을 나타내기 위해 이용되는 데이터의 양을 최대한 줄이도록 변환 계수들이 양자화되어 추가적인 압축을 제공하는 프로세스를 지칭한다. 양자화 프로세스는 계수들의 일부 또는 전부와 연관된 비트 심도를 감소시킬 수도 있다. 예를 들어, n-비트 값은 양자화 중에 m-비트 값으로 라운드 다운될 (round down) 수도 있는데, 여기서 n 은 m 보다 더 크다.
양자화 다음에, 비디오 인코더는 변환 계수들을 스캐닝하여, 양자화된 변환 계수들을 포함하는 2 차원 매트릭스로부터 1 차원 벡터를 생성할 수도 있다. 스캔은 어레이의 앞쪽에 보다 높은 에너지 (따라서 보다 낮은 주파수) 계수들을 배치하고, 어레이의 뒤쪽에 보다 낮은 에너지 (따라서 보다 높은 주파수) 계수들을 배치하도록 설계될 수도 있다. 일부 예들에서, 비디오 인코더 (20) 는 엔트로피 인코딩될 수 있는 직렬화된 벡터를 생성하기 위해 양자화된 변환 계수들을 스캔하기 위한 미리 정의된 스캔 순서를 사용할 수도 있다. 다른 예들에서, 비디오 인코더 (20) 는 적응 스캔 (adaptive scan) 을 수행할 수도 있다. 양자화된 변환 계수들을 스캐닝하여 1 차원 벡터를 형성한 이후, 비디오 인코더 (20) 는, 예를 들어, 컨텍스트 적응 가변 길이 코딩 (CAVLC), 컨텍스트 적응 이진 산술 코딩 (CABAC), 구문 기반 컨텍스트 적응 이진 산술 코딩 (SBAC), 확률 간격 파티셔닝 엔트로피 (PIPE) 코딩, 또는 다른 엔트로피 인코딩 방법론에 따라, 1 차원 벡터를 엔트로피 인코딩할 수도 있다. 비디오 인코더 (20) 는 비디오 데이터를 디코딩함에 있어서 비디오 디코더 (30) 에 의해 이용하기 위한 인코딩된 비디오 데이터와 연관된 구문 요소들을 또한 엔트로피 인코딩할 수도 있다.
CABAC 를 수행하기 위해, 비디오 인코더 (20) 는 컨텍스트 모델 내의 컨텍스트를 송신될 심볼에 할당할 수도 있다. 컨텍스트는, 예를 들어, 심볼의 이웃하는 값들이 넌-제로 (non-zero) 인지 아닌지 여부에 관련될 수도 있다. CAVLC 를 수행하기 위해, 비디오 인코더 (20) 는 송신될 심볼에 대한 가변 길이 코드를 선택할 수도 있다. VLC 에서의 코드워드들은, 더 짧은 코드들이 고확률 (more probable) 심볼들에 대응하고, 더 긴 코드들이 저확률 (less probable) 심볼들에 대응하도록 구성될 수도 있다. 이러한 방식으로, VLC 의 이용은, 예를 들어, 송신될 각각의 심볼에 대해 동일한 길이의 코드워드들을 이용하는 것에 비해 비트 절감들을 달성할 수도 있다. 확률 결정은 심볼들에 할당된 컨텍스트에 기초할 수도 있다.
비디오 인코더 (20) 는 구문 데이터, 예컨대 블록 기반 구문 데이터, 프레임 기반 구문 데이터, 및 GOP 기반 구문 데이터를, 예를 들어, 프레임 헤더, 블록 헤더, 슬라이스 헤더, 또는 GOP 헤더에서, 비디오 디코더 (30) 로 또한 전송할 수도 있다. GOP 구문 데이터는 각각의 GOP 에서의 다수의 프레임들을 설명할 수도 있고, 프레임 구문 데이터는 대응하는 프레임을 인코딩하기 위해 이용된 인코딩/예측 모드를 표시할 수도 있다.
또한, 비디오 인코더 (20) 는, 예를 들어, 잔차 데이터를 역 양자화하고 역 변환함으로써 인코딩된 화상들을 디코딩하고, 잔차 데이터를 예측 데이터와 결합할 수도 있다. 이러한 방식으로, 비디오 인코더 (20) 는 비디오 디코더 (30) 에 의해 수행되는 디코딩 프로세스를 시뮬레이션할 수 있다. 비디오 인코더 (20) 및 비디오 디코더 (30) 양자 모두는, 따라서, 인터-화상 예측에서의 이용을 위해 실질적으로 동일한 디코딩된 화상들에 액세스할 것이다.
일반적으로, 비디오 디코더 (30) 는 비디오 인코더에 의해 수행되는 인코딩 프로세스의 역인 디코딩 프로세스를 수행할 수도 있다. 예를 들어, 비디오 디코더 (30) 는 양자화된 비디오 데이터를 엔트로피 인코딩하기 위해 비디오 인코더에 의해 이용되는 엔트로피 인코딩 기법들의 역을 이용하여 엔트로피 디코딩을 수행할 수도 있다. 비디오 디코더 (30) 는 비디오 인코더 (20) 에 의해 사용되는 양자화 기법들의 역을 이용하여 비디오 데이터를 또한 역 양자화할 수도 있고, 양자화된 변환 계수들을 생성하기 위해 비디오 인코더 (20) 에 의해 이용되는 변환의 역을 수행할 수도 있다. 비디오 디코더 (30) 는 그 다음에 결과적인 잔차 블록들을 인접한 참조 블록들 (인트라-예측) 또는 다른 화상 (인터-예측) 으로부터의 참조 블록들에 적용하여 최종적 디스플레이를 위한 비디오 블록을 생성할 수도 있다. 비디오 디코더 (30) 는 비디오 디코더 (30) 에 의해 수신된 비트스트림에서의 인코딩된 비디오 데이터와 함께 비디오 인코더 (20) 에 의해 제공되는 구문 요소들에 기초하여 비디오 인코더 (20) 에 의해 수행되는 다양한 프로세스들의 역을 수행하도록 구성되거나, 명령되거나, 제어되거나, 지시될 수도 있다.
디블록킹은 일반적으로, 비디오 데이터의 역 양자화 및 역 변환 다음에, 비디오 인코더 (20) 또는 비디오 디코더 (30) 에 의해 "인 루프" 수행되거나, 비디오 디코더 (30) 에 의한 비디오 데이터의 블록들의 최종적 디스플레이를 위해 수행될 수도 있다. 디블록킹 프로세스는 디블록킹 필터링된 화상들이 후속하여 코딩된 화상들 (예를 들어, 인터-예측을 이용하여 코딩된 화상들) 에 대한 참조 화상들로서 이용될 수도 있다는 면에서 "인 루프" 로 수행될 수도 있다.
위에서 논의된 바와 같이, 비디오 인코더 (20) 및 비디오 디코더 (30) 는 HEVC 테스트 모델 (HM) 에 따라 구성될 수도 있다. HM 에 따라 구성된 비디오 인코더 또는 디코더는 일반적으로, 2 개의 PU 들 또는 TU 들을 분리하는 각각의 에지에 대해, 에지를 디블록킹하기 위해 디블록킹 필터를 적용할지 여부를 결정할 수도 있다. HM 의 기법들에 따라 구성된 비디오 인코더 또는 디코더는 에지에 대해 직각을 이루는 픽셀들의 하나 이상의 라인들, 예를 들어, 8 개의 픽셀들의 라인의 분석에 기초하여 에지를 디블록킹할지 여부를 결정하도록 구성될 수도 있다. 따라서, 예를 들어, 수직 에지들에 대해, HM 은 공통 라인을 따라 에지의 왼쪽으로 4 개의 픽셀들 및 오른쪽으로 4 개의 픽셀들을 조사함으로써 에지를 디블록킹할지 여부를 결정할 수도 있다. 선택된 픽셀들의 개수는 일반적으로 디블록킹하기 위한 가장 작은 블록, 예를 들어, 8×8 픽셀들에 대응한다. 이러한 방식으로, 분석에 이용되는 픽셀들의 라인은 오직 2 개의 PU 들 또는 TU 들만을 입력할 수도 있는데, 즉, PU 들 또는 TU 들은 에지의 바로 왼쪽 또는 바로 오른쪽에 있다. 에지에 대해 디블록킹을 수행할지 여부의 분석에 이용되는 픽셀들의 라인은 또한 지원 픽셀들의 세트, 또는 간단하게 "지원" 이라고 지칭된다.
비디오 인코더 (20) 및 비디오 디코더 (30) 는 비디오 데이터의 제 1 및 제 2 디코딩된 블록들 사이의 공통 에지에서의 색차 컴포넌트들을 디블록킹하기 위해 본 개시물의 기법들에 따라 디블록킹을 수행할 수도 있는 비디오 코더들의 예들이다. 예를 들어, 비디오 인코더 (20) 및 비디오 디코더 (30) 는 데이터의 제 1 블록 및 비디오 데이터의 제 2 블록을 디코딩하도록 구성될 수도 있다. 제 1 블록 및 제 2 블록 양자 모두는 공통 에지를 공유할 수도 있다. 비디오 인코더 (20) 의 경우에, 비디오 인코더 (20) 는 제 1 블록 및 제 2 블록을 인코딩할 수도 있으며, 인코더 (20) 는 이를 추후에 참조 화상을 발생시키도록 디코딩할 수도 있다. 본 개시물의 기법들에 따르면, 비디오 인코더 (20) 및/또는 비디오 디코더 (30) 는, 색차 양자화 파라미터 오프셋 값에 적어도 부분적으로 기초하여, 에지를 디블록킹하기 위한, 좀더 구체적으로 색차 컴포넌트들을 디블록킹하기 위한, 디블록킹 필터의 강도를 결정할 수도 있다.
예를 들어, 비디오 인코더 (20) 또는 비디오 디코더 (30) 는, 다음과 같이, 비디오 데이터의 2 개의 블록들 사이의 에지에서의 Cb 및 Cr 색차 컴포넌트들을 디블록킹 필터링하기 위한 tc 파라미터들을 찾아보는데 이용되는 QPC,Cr 및 QPC,Cb 값들의 계산에서 cr_qp_offset 및 cb_qp_offset 값들을 포함할 수도 있다:
Figure pct00002
(2)
Figure pct00003
(3)
위의 식들에서, QpUV 는 비디오 데이터의 특정 블록에 대한 휘도 양자화 파라미터 (QPY) 를 각각 Cb 및 Cr 에 있어서 비디오 블록에 대한 색차 양자화 파라미터들 (QPCr 또는 QPCb) 값들로 컨버팅하는 함수, 표 등이다. QPY,P 및 QPY,Q 는 각각 (P 및 Q 로 표시되는) 비디오 데이터의 제 1 블록 및 제 2 블록에 대한 휘도 양자화 파라미터 값들이다. (QPY,P + QPY,Q + l)/2 은 비디오 데이터의 제 1 블록 및 제 2 블록에 대한 휘도 양자화 파라미터 값들의 평균이다. Cr 및 Cb 에 대한 색차 양자화 파라미터 오프셋 값들은 각각 cr_qp_offset 및 cb_qp_offset 이다. 색차 양자화 파라미터 오프셋 값들은 화상에서의 비디오 데이터의 모든 블록들에 적용될 수도 있고, 화상 파라미터 세트 (PPS) 에서, 예를 들어, 비디오 인코더 (20) 에 의해, 시그널링될 수도 있다.
QPC,Cr 및 QPC,Cb 는 비디오 데이터의 2 개의 블록들 사이의 공통 에지에 대한 (각각 Cr 및 Cb 에 대한) 색차 양자화 파라미터 값들의 예들이다. Cb 및 Cr 에 대한 각각의 디블록킹 필터들에 대한 별개의 tc 값들이 계산된 QPC,Cr 및 QPC,Cb 에 기초하여 표에서 찾아질 수도 있다. tc 값들을 찾기 위해, 상수 2 에 대해 Bs=2 에 대해 가산될 수도 있고, 잠재적으로, 현재 제안된 HEVC 표준에서 제공되는 바와 같이, 시그널링된 디블록킹 필터 조절 파라미터 (tc_offset_div2) 가 또한 고려될 수도 있다. 본원에서의 예들에서, Cr 및 Cb 는 2 개의 상이한 유형의 색차 값들, 예를 들어, 비디오 데이터의 2 개의 상이한 색차 컴포넌트들을 지칭할 수도 있다. 동일한 식들이 색차 값들 양자 모두에 적용될 수도 있어, "Cr" 및 "Cb" 가 값 "C" 로 일반화되어 나타내어질 수도 있다.
일부 예들에서, 본 개시물의 기법들은 다음의 JCT-VC 제안 <Xu, A. Talabatabai, "Consideration on chroma QP range extension for HEVC version 1 and 2", 제 10 차 JCT-VC 회의, 스웨덴 스톡홀름, 2010 년 7월, 문서 제 JCTVC-J0318 호> 에서 제안된 색차 QP 오프셋 시그널링 방법들과 호환가능할 수도 있다.
Xu 의 제안서는 HEVC WD6 에서 설명된 기법들에 대한 대안으로서 QPCr 및 QPCb 크로마 양자화 파라미터들을 시그널링하기 위한 다음의 기법들을 제안한다:
방법 A:
Figure pct00004
(4)
Figure pct00005
(5)
방법 B:
Figure pct00006
(6)
Figure pct00007
(7)
위의 식들에서, QPCr 값 및 QPCb 값은, 비디오 데이터의 특정 블록에 있어서, 각각 Cr 및 Cb 에 대한 색차 양자화 파라미터들이다. Cb_QP_offset 및 Cr_QP_offset 은 각각 Cr 및 Cb 에 대한 시그널링된 색차 양자화 파라미터 오프셋 값들이다. Cb_QP_offset 및 Cr_QP_offset 은 화상에서의 비디오 데이터의 각각의 블록에 적용될 수도 있고, PPS 에서 시그널링될 수도 있다.
QPCr 및 QPCb 양자화 파라미터들이 Xu 에서 제안된 방법들에 따라 시그널링되는 경우, Cb 컴포넌트 및 Cr 컴포넌트를 디블록킹 필터링하기 위한 tc 파라미터들을 찾아보는데 이용되는 2 개의 블록들 사이의 공통 에지에 대한 QPC,Cr 및 QPC,Cb 양자화 파라미터 값들은, 다음과 같이 본 개시물의 기법들에 따라 계산될 수도 있다:
방법 A*:
Figure pct00008
(8)
Figure pct00009
(9)
또는:
Figure pct00010
(10)
Figure pct00011
(11)
방법 B*:
Figure pct00012
(12)
Figure pct00013
(13)
또는:
Figure pct00014
(14)
Figure pct00015
(15)
다른 예들에서, 본 개시물의 기법들은 다음의 JCT-VC 제안 <G. J. Sullivan, S. Kanumuri, J.-Z. Xu, Y. Wu, "Chroma QP range extension", 제 10 차 JCT-VC 회의, 스웨덴 스톡홀름, 2012 년 7월, 문서 제 JCTVC-J0342 호> 에서 제안된 색차 QP 오프셋 시그널링 방법들과 호환가능할 수도 있다.
제 10 차 JCT-VC 회의 중에, Sullivan 의 제안서가 HEVC WD8 의 텍스트로 채택되었다. Sullivan 의 제안에 기초한 HEVC 표준의 수정안은 휘도 QP 에서 색차 QP 로의 컨버젼 표에 관한 것으로, 이는 본원에서의 식들에서 QpUV 의 예이다. Sullivan 의 제안에 따르면, 휘도 QP 의 색차 QP 로의 맵핑에서 지원되는 값들의 범위가 확장된다. 변수 QPCbr 은 QPCb 및 QPCr 의 값을 명시하고, 하기의 표 1 (QPUV) 로 주어진다.
표 1 에서 보여진 바와 같이, 변수 QPCbr 은 인덱스 qPI 에 기초한다. 표 1 에서의 인덱스 qPI 는 색차 컴포넌트 Cb 에 대해 qPICb, 그리고 색차 컴포넌트 Cr 에 대해 qPICr 에 대응한다. 예로서, qPICb 및 qPICr 은 다음과 같이 도출될 수도 있다:
Figure pct00016
(16)
Figure pct00017
(17)
위의 예들에서, QpBdOffsetC 는 색차 양자화 파라미터 범위 오프셋의 값이다. QpBdOffsetC 의 값은 색차 컴포넌트들의 비트 심도에 기초하여 결정될 수도 있다.
Figure pct00018
표 1 QpUV (qPI)
또한, Sullivan 의 제안은 슬라이스-레벨 색차 QP 오프셋들을 도입한다. 특히, Sullivan 의 제안은 슬라이스-레벨 색차 QP 오프셋들로서 slice_qp_delta_cb 및 slice_qp_delta_cr 을 도입한다. 반면 cb_qp_offset 및 cr_qp_offset 은 화상에서의 모든 비디오 블록들에 적용되는 화상-레벨 QP 오프셋들일 수도 있으며, 화상에서의 하나 이상의 슬라이스들의 각각은 특정 슬라이스에서의 모든 비디오 블록들과 연관되는 각각의 슬라이스-레벨 색차 QP 오프셋들과 연관될 수도 있다. 슬라이스-레벨 색차 QP 오프셋들은, 예를 들어, 슬라이스 헤더에서 시그널링될 수도 있다. 비디오 코더는 슬라이스-레벨 색차 QP 오프셋들 및 화상-레벨 색차 QP 오프셋들 양자 모두를 이용하여 비디오 블록에 대한 휘도 QP 값으로부터 비디오 블록의 색차 QP 값들 (예를 들어, QPCr 및 QPCb) 을 결정할 수도 있다.
Sullivan 의 제안에 따르면, 슬라이스-레벨 색차 QP 오프셋들은 다음과 같이 qPICb 및 qPICr 를 결정하는데 이용되는 클립핑 함수의 인수로 추가된다:
Figure pct00019
(18)
Figure pct00020
(19)
본 개시물의 기법들에 따르면, 비디오 코더는 슬라이스-레벨 색차 QP 오프셋을 이용하여 다음과 같이 Cb 컴포넌트 및 Cr 컴포넌트를 디블록킹 필터링하기 위한 tc 파라미터들을 찾아보는데 이용되는 에지에 대한 색차 양자화 파라미터 값들 (예를 들어, QPC,Cr 및 QPC,Cb) 을 결정할 수도 있다:
Figure pct00021
(20)
Figure pct00022
(21)
다시, QpUV 는 휘도 양자화 파라미터 (QPY) 를 색차 양자화 파라미터 값들 (QPCr 또는 QPCb) 로 컨버팅하기 위해 비디오 코더에 의해 이용되는 함수 또는 표이다. QpUV 는 또한 수학 식들 및/또는 조건들로 구현될 수도 있다. 일 예에서, 클립핑은 QpUV 표에서 tc 파라미터들을 찾아보기 전에 적용될 수도 있다.
위에서 식 20 및 식 21 은, 공통 에지를 갖는 제 1 블록 및 제 2 블록 (P 및 Q) 양자 모두가 동일한 슬라이스 내에 있는 경우, 디블록킹 필터의 강도를 결정하기 위한 에지에 대한 양자화 파라미터 값들을 결정하기 위해 비디오 코더에 의해 이용될 수도 있다. 일부 예들에서, 블록 (P) 및 블록 (Q) 이 상이한 슬라이스들에 속하는 경우, 비디오 코더는 슬라이스들 중 하나의 슬라이스로부터 slice_qp_delta_cr 및 slice_qp_delta_cb 의 값들을 취할 수도 있다. 어느 슬라이스로부터 슬라이스-레벨 색차 양자화 파라미터 오프셋 값들이 취해지는지는 미리 결정될 수도 있거나, 비디오 인코더 (20) 에 의해 시그널링될 수도 있다. 일 예에서, slice_qp_delta_cr 및 slice_qp_delta_cb 의 값들은 블록 (Q) 을 포함하는 슬라이스로부터 취해질 수도 있다.
다른 예들에서, 블록 (P) 및 블록 (Q) 이 상이한 슬라이스들에 속하는 경우, 비디오 코더는 슬라이스-레벨 QP 오프셋 값이 2 개의 슬라이스들에 대한 각각의 슬라이스 레벨 QP 오프셋 값들의 평균 또는 다른 수학적 결합이 되도록 결정할 수도 있다. 일부 예들에서, 비디오 코더는 다음과 같이 Cb 컴포넌트 및 Cr 컴포넌트를 디블록킹 필터링하기 위한 tc 파라미터들을 찾아보는데 이용되는 QPC,Cr 값 및 QPC,Cb 값을 계산할 수도 있다:
Figure pct00023
(22)
Figure pct00024
(23)
위의 예시적인 식 21 및 식 22 에서, slice_qp_delta_cr_P 및 slice_qp_delta_cr_Q 는 각각 비디오 블록 (P) 및 비디오 블록 (Q) 을 포함하는 스라이스들에 대한 Cr 컴포넌트 QP 오프셋들이다. 위의 예시적인 식 21 및 식 22 에서, slice_qp_delta_cb_P 및 slice_qp_delta_cb_Q 는 각각 P 및 Q 를 포함하는 슬라이스들에 대한 Cb 컴포넌트 QP 오프셋들이다.
유사한 방식으로, 위의 방법 A* 및 방법 B* 에 대해 상술된 본 개시물의 기법들에 따라 QPC,Cr 및 QPC,Cb 를 계산하기 위한 8 개의 식들 (예시적인 식 8 내지 식 15) 에 슬라이스-레벨 색차 QP 오프셋들이 도입될 수도 있다.
예를 들어, 식 8 은 다음과 같이 수정될 수도 있다:
Figure pct00025
(24)
이러한 방식으로, 슬라이스-레벨 색차 QP 오프셋들은 방법 A* 및 방법 B* 에 대해 상술된 7 개의 남아 있는 식들의 화상-레벨 색차 QP 오프셋들에 추가될 수도 있다. 간략함을 위해, 식들의 각각은 본원에서 재현되지 않는다.
다른 예에서, QPCr 및 QPCb 색차 양자화 파라미터들이 슬라이스-레벨 색차 QP 오프셋들을 이용하여 시그널링되는 경우, 비디오 코더는 다음과 같이 Cb 컴포넌트 및 Cr 컴포넌트를 디블록킹 필터링하기 위한 tc 파라미터들을 찾아보는데 이용되는 에지에 대한 색차 양자화 파라미터 값들, 예를 들어, QPC,Cr 및 QPC,Cb 를 계산할 수도 있다:
Figure pct00026
(25)
Figure pct00027
(26)
위의 예시적인 식 25 및 식 26 에서, QPY,P 및 QPY,Q 는 공통 에지를 공유하는 (P 및 Q 로 표시되는) 제 1 비디오 블록 및 제 2 비디오 블록의 각각의 휘도 QP 값들이다.
또한, HEVC WD8 메인 프로파일이 4:2:0 컬러 포맷을 현재 지원하는데 반해, 4:2:2 및 4:4:4 포맷들이 장래의 HEVC 확장안들에 포함될 수도 있다. 상술된 바와 같이, PPS 및/또는 슬라이스-레벨 색차 QP 오프셋들에서 cb_qp_offset 구문 요소 및 cr_qp_offset 구문 요소는 QPC,Cr 및 QPC,Cb 의 값을 결정하는데 이용될 수도 있다. QPC,Cr 및 QPC,Cb 는 Cb 컴포넌트 및 Cr 컴포넌트를 디블록킹 필터링하기 위한 tc 파라미터들을 찾아보는데 이용될 수도 있다. HEVC 확장안들이 추가적인 컬러 포맷들을 지원할 수도 있기 때문에, 디블록킹 필터를 구성하는 경우 PPS 및/또는 슬라이스-레벨 색차 오프셋들을 포함시킬지 여부를 결정하는 것은 컬러 포맷에 의존할 수도 있다. 이러한 방식으로, QPC,Cr 및 QPC,Cb 는 컬러 포맷에 의존하게 될 수도 있다. 본 개시물의 기법들에 따른 일부 예들에서, 4:2:2 색차 컴포넌트 및/또는 4:4:4 색차 컴포넌트를 디블록킹 필터링하는 것을 구성하는 경우 PPS 및/또는 슬라이스-레벨 색차 오프셋들이 포함될 수도 있다.
시퀀스 파라미터 세트 (Sequence Parameter Set; SPS) 에 포함된 HEVC 하이-레벨 구문 파라미터 (chroma_format_idc) 가 크로마 포맷을 결정한다. 따라서, QPC,Cr 값 및 QPC,Cb 값을 결정하기 위한 PPS-레벨 크로마 QP 오프셋 및/또는 슬라이스-레벨 크로마 QP 오프셋의 포함은 chroma_format_idc 구문 요소에 의존하게 될 수도 있다. 또한, QPC,Cr 값 및 QPC,Cb 값을 결정하기 위한 PPS-레벨 크로마 QP 오프셋 및/또는 슬라이스-레벨 크로마 QP 오프셋의 포함은 공통 에지를 공유하는 비디오 데이터의 블록들에 포함된 비디오 데이터에 대한 프로파일 및/또는 레벨에 의존하게 될 수도 있다.
비디오 인코더 (20) 및 비디오 디코더 (30) 각각은 비디오 데이터의 2 개의 블록들 사이의 공통 에지에서의 색차 컴포넌트들의 디블록킹 필터링에 대해 본원에서 설명된 기법들 중 임의의 기법을 구현할 수도 있다. 예를 들어, 비디오 인코더 (20) 및 비디오 디코더 (30) 는 에지에 대한 색차 QP 값을 결정하기 위해 위에서 논의된 예시적인 식들 중 임의의 식을 각각 사용할 수도 있으며, 식은, 차례로, 색차 컴포넌트에 대한, 디블록킹 필터의 강도, 예를 들어, tc 값을 결정하는데 이용될 수도 있다.
비디오 인코더 (20) 및 비디오 디코더 (30) 각각은, 적용 가능하다면, 임의의 다양한 적합한 인코더 또는 디코더 회로부, 예컨대, 하나 이상의 마이크로프로세서들, 디지털 신호 프로세서 (DSP) 들, 주문형 반도체 (ASIC) 들, 필드 프로그램가능 게이트 어레이 (FPGA) 들, 이산 로직 회로, 소프트웨어, 하드웨어, 펌웨어, 또는 이들의 임의의 조합들로서 구현될 수도 있다. 비디오 인코더 (20) 및 비디오 디코더 (30) 의 각각은 하나 이상의 인코더들 또는 디코더들에 포함될 수도 있고, 이들 중 어느 것도 결합된 인코더/디코더 (CODEC) 의 일부로서 통합될 수도 있다. 비디오 인코더 (20) 및/또는 비디오 디코더 (30) 를 포함하는 장치는 집적 회로, 마이크로프로세서, 및/또는 무선 통신 디바이스, 예컨대, 셀룰러 전화기를 포함할 수도 있다.
도 2 는 비디오 블록들 사이의 에지들을 디블록킹하기 위한 기법들을 구현할 수도 있는 비디오 인코더 (20) 의 예를 도시하는 블록도이다. 비디오 인코더 (20) 는, CU 들 또는 CU 들의 서브-CU 들을 포함하여, 비디오 프레임들 내의 블록들의 인트라-코딩 및 인터-코딩을 수행할 수도 있다. 인트라-코딩은 주어진 비디오 프레임 내의 비디오에서 공간적 중복을 감소시키거나 제거하기 위해 공간 예측에 의존한다. 인터-코딩은 비디오 시퀀스의 인접한 프레임들 내의 비디오에서의 시간적 중복을 감소시키거나 제거하기 위해 시간 예측에 의존한다. 인트라-모드 (I-모드) 는 임의의 여러 공간 기반 압축 모드들을 지칭할 수도 있고, 단방향 예측 (P 모드) 또는 양방향 예측 (B-모드) 과 같은 인터-모드들은 임의의 여러 시간 기반 압축 모드들을 지칭할 수도 있다. 비록 인터-모드 인코딩에 대한 컴포넌트들이 도 2 에 도시되었으나, 비디오 인코더 (20) 는 인트라-모드 인코딩에 대한 컴포넌트들을 더 포함할 수도 있는 것으로 이해되어야 한다. 그러나, 그러한 컴포넌트들은 간략함과 명료함을 위해 설명되지 않는다.
도 2 에 도시된 바와 같이, 비디오 인코더 (20) 는 인코딩될 비디오 프레임 내의 현재 비디오 블록을 수신한다. 도 2 의 예에서, 비디오 인코더 (20) 는 모드 선택 유닛 (40), 참조 화상 메모리 (64), 합산기 (50), 변환 프로세싱 유닛 (52), 양자화 유닛 (54), 엔트로피 인코딩 유닛 (56), 및 디블록커 (deblocker) (66) 를 포함한다. 모드 선택 유닛 (40) 은, 차례로, 모션 보상 유닛 (44), 모션 추정 유닛 (42), 인트라-예측 유닛 (46), 및 파티션 유닛 (48) 을 포함한다. 비디오 블록 재구성을 위해, 비디오 인코더 (20) 는 역 양자화 유닛 (58), 역 변환 모듈 (60), 및 합산기 (62) 를 또한 포함한다.
본 개시물의 기법들에 따르면, 비디오 인코더 (20) 는 합산기 (62) 의 출력을 선택적으로 필터링하는 디블록커 (66) 를 포함한다. 특히, 디블록커 (66) 는 합산기 (62) 로부터 재구성된 비디오 데이터를 수신하며, 재구성된 비디오 데이터는 모션 보상 유닛 (44) 또는 인트라-예측 유닛 (46) 중 어느 일방으로부터 수신된 예측 데이터에 대응하며, 변환된 잔차 데이터를 역 양자화하고 역 변환하도록 추가된다. 이러한 방식으로, 디블록커 (66) 는 비디오 데이터의 디코딩된 블록들, 예를 들어, LCU 의 CU 들 및/또는 슬라이스 또는 프레임의 LCU 들을 수신한다. 일반적으로, 디블록커 (66) 는 비디오 데이터의 블록들을 선택적으로 필터링하여 블록화 아티팩트들을 제거한다. 디블록커 (66) 는 하기에서 보다 상세히 설명된다.
인코딩 프로세스 중에, 비디오 인코더 (20) 는 코딩될 비디오 프레임 또는 슬라이스를 수신한다. 프레임 또는 슬라이스는 다수의 비디오 블록들로 나누어질 수도 있다. 모션 추정 유닛 (42) 및 모션 보상 유닛 (44) 은 하나 이상의 참조 프레임들에서의 하나 이상의 블록들에 대해 수신된 비디오 블록의 인터-예측 코딩을 수행하여 시간적 압축을 제공한다. 인트라-예측 유닛은 코딩될 블록과 동일한 프레임 또는 슬라이스에서의 하나 이상의 이웃하는 블록들에 대한 수신된 비디오 블록의 인트라-예측 코딩을 또한 수행하여 공간적 압축을 제공할 수도 있다. 비디오 인코더 (20) 는, 예를 들어, 비디오 데이터의 각각의 블록에 대한 적절한 코딩 모드를 선택하기 위해, 다수의 코딩 처리단계들을 수행할 수도 있다.
또한, 파티션 유닛 (48) 은, 이전의 코딩 처리단계들에서의 이전의 파티셔닝 기법들의 추정에 기초하여, 비디오 데이터의 블록들을 서브-블록들로 파티셔닝할 수도 있다. 예를 들어, 파티션 유닛 (48) 은, 레이트 왜곡 분석 (예를 들어, 레이트 왜곡 최적화) 에 기초하여, 프레임 또는 슬라이스를 LCU 들로 최초에 파티셔닝하고, LUC 들의 각각을 서브-CU 들로 파티셔닝할 수도 있다. 모드 선택 유닛 (40) 은 LUC 의 서브-CU 들로의 파티셔닝을 표시하는 쿼드트리 데이터 구조를 더 생성할 수도 있다. 쿼드트리의 리프-노드 CU 들은 하나 이상의 PU 들 및 하나 이상의 TU 들을 포함할 수도 있다.
모드 선택 유닛 (40) 은, 예를 들어, 에러 결과들에 기초하여 코딩 모드들 중 하나, 인트라 또는 인터를 선택할 수도 있고, 결과적인 인트라-코딩된 블록 또는 인터-코딩된 블록을 합산기 (50) 에 제공하여 잔차 블록 데이터를 발생시키고 이를 합산기 (62) 에 제공하여 참조 화상으로서 이용하기 위한 인코딩된 블록을 재구성한다. 모드 선택 유닛 (40) 은 또한 구문 요소들, 예컨대, 모션 벡터들, 인트라-모드 표시자들, 파티션 정보, 및 다른 그러한 구문 정보를 엔트로피 인코딩 유닛 (56) 에 제공한다.
모션 추정 유닛 (42) 및 모션 보상 유닛 (44) 은 고도로 집적될 수도 있지만, 개념적 목적들을 위해 별개로 예시되어 있다. 모션 추정 유닛 (42) 에 의해 수행된 모션 추정은 모션 벡터들을 발생시키는 프로세스이며, 모션 벡터들은 비디오 블록들에 대한 모션을 추정한다. 모션 벡터는, 예를 들어, 현재 프레임 (또는 다른 코딩된 유닛) 내의 코딩되고 있는 현재 블록에 대한 참조 화상 (또는 다른 코딩된 유닛) 내의 예측 블록에 대한 현재 비디오 프레임 또는 화상 내의 비디오 블록의 PU 의 변위를 표시할 수도 있다. 예측 블록은 픽셀 차이의 면에서, 코딩될 비디오 블록과 밀접하게 일치하는 것으로 발견된 블록인데, 픽셀 차이는 절대 차의 합 (sum of absolute difference; SAD), 제곱 차의 합 (sum of square difference; SSD), 또는 다른 차이 메트릭들에 의해 결정될 수도 있다. 일부 예들에서, 비디오 인코더 (20) 는 참조 화상 메모리 (64) 에 저장된 참조 화상들의 서브-정수 (sub-integer) 픽셀 포지션들에 대한 값들을 산출할 수도 있다. 예를 들어, 비디오 인코더 (20) 는 1/4 픽셀 포지션들, 1/8 픽셀 포지션들, 또는 참조 화상의 다른 분수 픽셀 포지션들의 값들을 보간할 수도 있다. 따라서, 모션 추정 유닛 (42) 은 전 픽셀 (full pixel) 포지션들 및 분수 (fractional) 픽셀 포지션들에 대한 모션 검색을 수행하고 분수 픽셀 정밀도를 갖는 모션 벡터를 출력한다.
모션 추정 유닛 (42) 은 PU 의 포지션을 참조 화상의 예측 블록의 포지션과 비교함으로써 인터-코딩된 슬라이스에서의 비디오 블록의 PU 에 대한 모션 벡터를 산출한다. 참조 화상은 제 1 참조 화상 리스트 (List 0) 또는 제 2 참조 화상 리스트 (List 1) 로부터 선택될 수도 있는데, 이들 각각은 참조 화상 메모리 (64) 에 저장된 하나 이상의 참조 화상들을 식별한다. 모션 추정 유닛 (42) 은 산출된 모션 벡터를 엔트로피 인코딩 유닛 (56) 과 모션 보상 유닛 (44) 으로 전송한다.
모션 보상 유닛 (44) 에 의해 수행된 모션 보상은 모션 추정 유닛 (42) 에 의해 결정된 모션 벡터에 기초한 예측 블록을 불러오거나 발생시키는 것을 수반할 수도 있다. 다시, 모션 추정 유닛 (42) 및 모션 보상 유닛 (44) 은, 일부 예들에서, 기능적으로 통합될 수도 있다. 현재 비디오 블록의 PU 에 대한 모션 벡터를 수신하면, 모션 보상 유닛 (44) 은 참조 화상 리스트들 중 하나에서 모션 벡터가 가리키는 예측 블록을 찾아낼 수도 있다. 합산기 (50) 는, 하기에서 논의되는 바와 같이, 코딩되고 있는 현재 비디오 블록의 픽셀 값들로부터 예측 블록의 픽셀 값들을 감산함으로써 픽셀 차이 값들을 형성하는 잔차 비디오 블록을 형성한다. 일반적으로, 모션 추정 유닛 (42) 이 휘도 컴포넌트들에 대한 모션 추정을 수행하고, 모션 보상 유닛 (44) 이 색차 컴포넌트들 및 휘도 컴포넌트들 양자 모두에 대한 휘도 컴포넌트들에 기초하여 산출된 모션 벡터들을 이용한다. 모션 선택 유닛 (40) 은 비디오 블록들과 연관된 구문 요소들 및 비디오 슬라이스의 비디오 블록들을 디코딩함에 있어서 비디오 디코더 (30) 에 의해 이용하기 위한 비디오 슬라이스를 또한 발생시킬 수도 있다.
인트라-예측 유닛 (46) 은, 상술된 바와 같이, 모션 추정 유닛 (42) 및 모션 보상 유닛 (44) 에 의해 수행되는 인터-예측에 대한 대안으로서, 현재 블록을 인트라-예측할 수도 있다. 특히, 인트라-예측 유닛 (46) 은 현재 블록을 인코딩하는데 이용할 인트라-예측 모드를 결정할 수도 있다. 일부 예들에서, 인트라-예측 유닛 (46) 은, 예를 들어, 별도의 인코딩 처리단계들 중에, 다양한 인트라-예측 모드들을 이용하여 현재 블록을 인코딩할 수도 있고, 인트라-예측 유닛 (46) (또는, 일부 실시예들에서, 모드 선택 유닛 (40)) 이 테스트된 모드들로부터 이용할 적절한 인트라-예측 모드를 선택할 수도 있다.
예를 들어, 인트라-예측 유닛 (46) 은 다양한 테스트된 인트라-예측 모드들에 대한 레이트 왜곡 분석을 이용하여 레이트 왜곡 값들을 산출하고, 테스트된 모드들 중에서 최상의 레이트 왜곡 특성들을 갖는 인트라-예측 모드를 선택할 수도 있다. 레이트 왜곡 분석은 일반적으로 인코딩된 블록과 원래 블록 사이의 왜곡 (또는 오류) 의 양, 인코딩된 블록을 생성하도록 인코딩되어진 인코딩되지 않은 블록, 뿐만 아니라 인코딩된 블록을 생성하는데 이용된 비트레이트 (즉, 비트들의 수) 를 결정한다. 인트라-예측 유닛 (46) 은 왜곡들로부터의 비율들 및 다양한 인코딩된 블록들에 대한 레이트들을 산출하여 어느 인트라-예측 모드가 블록에 대한 최상의 레이트 왜곡 값을 보이는지를 결정할 수도 있다.
블록에 대한 인트라-예측 모드를 선택한 후에, 인트라-예측 유닛 (46) 은 엔트로피 코딩 유닛 (56) 에 블록에 대해 선택된 인트라-예측 모드를 표시하는 정보를 제공할 수도 있다. 엔트로피 인코딩 유닛 (56) 은 선택된 인트라-예측 모드를 표시하는 정보를 인코딩할 수도 있다. 비디오 인코더 (20) 는 송신되는 비트스트림 구성 데이터를 포함시킬 수도 있으며, 비트스트림 구성 데이터는 (코드워드 맵핑 표들이라고도 지칭되는) 복수의 인트라-예측 모드 인덱스 표들과 복수의 수정된 인트라-예측 모드 인덱스 표들, 다양한 블록들에 대한 인코딩 컨텍스트들의 정의들, 및 가장 확률이 높은 인트라-예측 모드의 표시들, 인트라-예측 모드 인덱스 표, 및 컨텍스트들의 각각에 대해 이용하기 위한 수정된 인트라-예측 모드 인덱스 표를 포함할 수도 있다.
비디오 인코더 (20) 는 코딩되고 있는 원래의 비디오 블록으로부터 모드 선택 유닛 (40) 으로부터의 예측 데이터를 감산함으로써 잔차 비디오 블록을 형성한다. 합산기 (50) 는 이러한 감산 동작을 수행하는 컴포넌트 또는 컴포넌트들을 나타낸다. 변환 프로세싱 유닛 (52) 은, 이산 코사인 변환 (DCT) 또는 개념적으로 유사한 변환과 같은 변환을 잔차 블록에 적용하여, 잔차 변환 계수 값들을 포함하는 비디오 블록을 생성한다. 변환 프로세싱 유닛 (52) 은 DCT 와 개념적으로 유사한 다른 변환들을 수행할 수도 있다. 웨이블릿 변환들, 정수 변환들, 서브-대역 변환들, 또는 다른 유형의 변환들이 또한 이용될 수도 있다. 임의의 경우에, 변환 프로세싱 유닛 (52) 은 잔차 블록에 변환을 적용하여, 잔차 변환 계수들의 블록을 생성한다. 변환은 잔차 블록을 픽셀값 도메인에서 주파수 도메인과 같은 변환 도메인으로 컨버팅할 수도 있다. 변환 프로세싱 유닛 (52) 은 결과적인 변환 계수들을 양자화 유닛 (54) 에 전송할 수도 있다. 양자화 유닛 (54) 은 변환 계수들을 양자화하여 비트 레이트를 더 감소시킬 수도 있다. 양자화 프로세스는 계수들의 일부 또는 전부와 연관된 비트 심도를 감소시킬 수도 있다. 양자화의 정도는 양자화 파라미터를 조정함으로써 수정될 수도 있다. 일부 예들에서, 양자화 유닛 (54) 은 그 다음에 양자화된 변환 계수들을 포함하는 매트릭스의 스캔을 수행할 수도 있다. 다르게는, 엔트로피 인코딩 유닛 (56) 이 스캔을 수행할 수도 있다.
양자화 다음에, 엔트로피 인코딩 유닛 (56) 이 양자화된 변환 계수들을 엔트로피 코딩한다. 예를 들어, 엔트로피 인코딩 유닛 (56) 은 컨텍스트 적응적 가변 길이 코딩 (CAVLC), 컨텍스트 적응적 이진 산술 코딩 (CABAC), 구문 기반 컨텍스트 적응적 이진 산술 코딩 (SBAC), 확률 구간 파티셔닝 엔트로피 (PIPE) 코딩, 또는 다른 엔트로피 코딩 기법을 수행할 수도 있다. 컨텍스트 기반 엔트로피 코딩의 경우에, 컨텍스트는 이웃하는 블록들에 기초할 수도 있다. 엔트로피 인코딩 유닛 (56) 에 의한 엔트로피 코딩 다음에, 인코딩된 비트스트림은 다른 디바이스 (예를 들어, 비디오 디코더 (30)) 로 송신되거나 추후의 송신 또는 취출을 위해 아카이브될 (archive) 수도 있다.
역 양자화 유닛 (58) 및 역 변환 유닛 (60) 은, 각각, 역 영자화 및 역 변환을 적용하여, 추후의 사용을 위한 참조 블록으로서 픽셀 도메인에서 잔차 블록을 재구성한다. 모션 보상 유닛 (44) 은 참조 화상 메모리 (64) 의 프레임들 중 하나의 예측 블록에 잔차 블록을 가산함으로써 참조 블록을 산출할 수도 있다. 모션 보상 유닛 (44) 은, 모션 추정에서 이용하기 위한 서브-정수 픽셀 값들을 산출하기 위해, 재구성된 잔차 블록에 하나 이상의 보간 필터들을 또한 적용할 수도 있다. 합산기 (62) 는 재구성된 잔차 블록을 모션 보상 유닛 (44) 에 의해 생성된 모션 보상된 예측 블록에 가산하여 참조 화상 메모리 (64) 에 저장하기 위한 재구성된 비디오 블록을 생성한다.
본 개시물의 기법들에 따르면, 비디오 인코더 (20) 는 합산기 (62) 의 출력을 선택적으로 필터링하는 디블록커 (66) 를 포함한다. 디블록커 (66) 는 합산기 (62) 의 출력, 즉, 재구성된 비디오 블록들을 디블록킹하기 위해 본 개시물의 기법들 중 임의의 기법 또는 모든 기법을 수행한다. 디블록커 (66) 에 의해 필터링된 바와 같은, 재구성된 비디오 블록들은, 후속하여 코딩되는 화상에서의 블록을 인터-코딩하기 위한 참조 블록으로서 모션 추정 유닛 (42) 및 모션 보상 유닛 (44) 에 의해 이용될 수도 있다.
특히, 디블록커 (66) 는 합산기 (62) 로부터 재구성된 비디오 데이터를 수신하며, 재구성된 비디오 데이터는 모션 보상 유닛 (44) 또는 인트라-예측 유닛 (46) 중 어느 일방으로부터 수신된 예측 데이터에 대응하며, 역 양자화하고 역 변환된 잔차 데이터에 가산된다. 이러한 방식으로, 디블록커 (66) 는 비디오 데이터의 디코딩된 블록들, 예를 들어, LCU 의 CU 들, 슬라이스 또는 프레임의 LCU 들, CU 의 PU 들, 및/또는 CU 의 TU 들을 수신한다. 일반적으로, 디블록커 (66) 는 비디오 데이터의 블록들을 선택적으로 필터링한다.
디블록커 (66) 는 일반적으로 에지를 디블록킹할지 여부를 결정하기 위해 2 개의 블록들 사이의 에지 근처의 2 개의 이웃하는 블록들 (예를 들어, 2 개의 CU 들, PU 들, 또는 TU 들) 의 픽셀들을 분석하도록 구성된다. 좀더 구체적으로, 디블록커 (66) 는 값들에서 고주파수 변화들이 검출되는 경우 에지 근처의 픽셀들의 값들을 변경할 수도 있다. 디블록커 (66) 는 또한 본 개시물의 기법들 중 임의의 기법 또는 모든 기법을 수행하도록 구성될 수도 있다.
디블록커 (66) 는 미리 결정된 지원의 적응된 세트들을 포함하거나, 작동 중에 (on the fly) 지원의 적응된 세트들을 산출할 수도 있다. 디블록커 (66) 는 그렇게 함으로써 디블록킹 결정들 또는 디블록킹 필터링의 계산에 근처의 에지들을 포함시키는 것을 방지하고, 근처의 에지들 사이의 필터 결과 의존성들을 필터링하는 것을 방지할 수도 있다. 디블록커 (66) 는 또한 디블록킹에 대해 고려 하에 있는 에지의 사이드들 중 어느 일방 또는 양자 모두에서의 좁은 블록들이 에지에 대해 직각을 이루는 경우 지원 적응을 스킵할 수도 있다. 적어도 하나의 좁은 비정사각형 파티션 또는 변환이 디블록킹될 에지에 평행할 경우, 디블록커 (66) 는 근처의 에지들의 필터링 사이의 상호의존성들을 방지하고 디블록킹 결정들 및 필터링에 근처의 에지들을 포함시키는 것을 방지하도록 디블록킹 결정 함수들 및/또는 디블록킹 필터들을 구성할 수도 있다.
디블록커 (66) 는, 비디오 데이터의 하나 이상의 색차 컴포넌트들의 각각에 대해, 2 개의 비디오 블록들에 대한 각각의 휘도 QP 값들에 기초한 비디오 데이터의 2 개의 블록들 사이의 공통 에지에 대한 색차 QP 값, 뿐만 아니라 색차 컴포넌트에 대한 색차 QP 오프셋 값을 산출할 수도 있다. 디블록커 (66) 는 또한 색차 컴포넌트에 대한 색차 QP 값에 기초하여 공통 에지에 대한 디블록킹 필터의 강도를 결정하고, 에지를 디블록킹하기 위해 색차 컴포넌트에 필터를 적용할 수도 있다. 예를 들어, 디블록커 (66) 는 본원에 설명된 기법들에 따라, 예를 들어, 상술된 식들 중 임의의 식에 따라 디블록킹 필터링에 대한 tc 파라미터들을 찾아보는데 이용되는 QPC,Cr 값 및 QPC,Cb 값을 계산할 수도 있다. 일부 예들에서, 디블록커 (66) 는, 예를 들어, 식 2, 식 3, 및 식 8 내지 식 15 에 의해 도시되는 바와 같이, 2 개의 비디오 블록들에 대한 제 1 휘도 QP 값 및 제 2 휘도 QP 값의 평균을 산출하고, 평균에 색차 QP 오프셋 값을 적용함으로써, 비디오 데이터의 2 개의 블록들 사이의 공통 에지에 대한 색차 QP 값을 산출할 수도 있다.
일부 예들에서, 색차 컴포넌트에 대한 색차 QP 오프셋 값은 화상-레벨 색차 QP 오프셋 값일 수도 있으며, 이는 화상의 모든 비디오 블록들에 적용될 수도 있고 PPS 에서 시그널링될 수도 있다. 일부 예들에서, 디블록커 (66) 는 또한 색차 컴포넌트에 대한 슬라이스-레벨 색차 QP 오프셋 값을 결정할 수도 있으며, 이는 주어진 슬라이스에서의 모든 비디오 블록들에 적용될 수도 있고, 슬라이스-헤더에서 시그널링될 수도 있다. 슬라이스-레벨 색차 QP 오프셋은, 유사한 방식으로, 예를 들어, 화상-레벨 색차 QP 오프셋 값과의 합산, 및 식 20 및 식 21 에 의해 도시된 바와 같은 2 개의 블록들에 대한 휘도 QP 값들의 평균에 의해, 화상-레벨 색차 QP 오프셋 값에 적용될 수도 있다.
일부 예들에서, 공통 에지를 공유하는 2 개의 비디오 블록들이 상이한 슬라이스들 내에 위치된다. 그러한 예들에서, 2 개의 비디오 블록들은 상이한 슬라이스-레벨 QP 오프셋 값들, 예를 들어, slice_qp_delta_cr 및 slice_qp_delta_cb 에 대한 상이한 값들과 연관될 수도 있다. 일부 예들에서, 디블록커 (66) 는 본원에서 설명된 기법들에 따라 적용하기 위한 블록들 중 하나의 블록에 대한 슬라이스-레벨 QP 오프셋 값들을 선택하여 에지에 대한 색차 QP 값들을 결정하도록 구성될 수도 있다. 다른 예들에서, 디블록커 (66) 는 2 개의 블록들에 대한 슬라이스-레벨 QP 오프셋 값들을 평균을 내거나 그렇지 않으면 결합하여 결합된 슬라이스-레벨 QP 오프셋 값들을 결정하도록 구성될 수도 있고, 그 다음에 본원에 설명된 기법들에 따라 결합된 슬라이스-레벨 QP 오프셋 값들을 적용하여 에지에 대한 색차 QP 값들을 결정할 수도 있다.
이러한 방식으로, 도 2 의 비디오 인코더 (20) 는, 본 개시물의 기법들에 따라, 색차 QP 오프셋 값에 기초하여 비디오 데이터의 2 개의 디코딩된 블록들 사이의 공통 에지에 대한 색차 QP 값을 결정하고, 에지에 대한 색차 QP 값에 기초하여 디블록킹 필터에 대한 강도를 결정하도록 구성된 비디오 인코더의 예를 나타낸다.
도 3 은 인코딩된 비디오 시퀀스를 디코딩하는, 비디오 디코더 (30) 의 예를 도시하는 블록 다이어그램이다. 도 3 의 예에서, 비디오 디코더 (30) 는 엔트로피 디코딩 유닛 (70), 모션 보상 유닛 (72), 인트라-예측 유닛 (74), 역 양자화 유닛 (76), 역 변환 유닛 (78), 참조 화상 저장부 (82), 합산기 (80), 및 디블록커 (84) 를 포함한다. 비디오 디코더 (30) 는, 일부 예들에서, 비디오 인코더 (20) (도 2) 에 대해 설명된 인코딩 처리단계에 일반적으로 역순인 디코딩 처리단계를 수행할 수도 있다. 모션 보상 유닛 (72) 은 엔트로피 디코딩 유닛 (70) 으로부터 수신된 모션 벡터들에 기초하여 예측 데이터를 발생시킬 수도 있다.
디코딩 프로세스 중에, 비디오 디코더 (30) 는 비디오 인코더 (20) 로부터 인코딩된 비디오 슬라이스의 비디오 블록들 및 연관된 구문 요소들을 나타내는 인코딩된 비디오 비트스트림을 수신한다. 비디오 디코더 (30) 의 엔트로피 디코딩 유닛 (70) 은 비트스트림을 엔트로피 디코딩하여 양자화된 계수들, 모션 벡터들이나 인트라-예측 모션 표시자들, 및 다른 구문 요소들을 발생시킨다. 엔트로피 디코딩 유닛 (70) 은 모션 보상 유닛 (72) 에 모션 벡터들 및 다른 구문 요소들을 포워딩한다. 비디오 디코더 (30) 는 비디오 슬라이스 레벨 및/또는 비디오 블록 레벨에서의 구문 요소들을 수신할 수도 있다.
비디오 슬라이스가 인트라-코딩된 (I) 슬라이스로서 코딩되는 경우, 인트라-예측 유닛 (74) 은 현재 프레임 또는 화상의 이전에 디코딩된 블록들로부터 시그널링된 인트라-예측 모드 및 데이터에 기초하여 현재 비디오 슬라이스의 비디오 블록에 대한 예측 데이터를 발생시킬 수도 있다. 비디오 프레임이 인터-코딩된 (즉, B, P, 또는 GPB) 슬라이스로 코딩되는 경우, 모션 보상 유닛 (72) 은 엔트로피 디코딩 유닛 (70) 으로부터 수신된 다른 구문 요소들과 모션 벡터들에 기초하여 현재 비디오 슬라이스의 비디오 블록에 대한 예측 블록들을 생성한다. 예측 블록들은 참조 화상 리스트들 중 하나 내의 참조 화상들 중 하나로부터 생성될 수도 있다. 비디오 디코더 (30) 는, 참조 화상 메모리 (82) 에 저장된 참조 화상들에 기초한 디폴트 구성 기법들을 이용하여, 참조 화상 리스트들, List 0 및 List 1 을 구성할 수도 있다.
모션 보상 유닛 (72) 은 모션 벡터들 및 다른 구문 요소들을 파싱함으로써 현재 비디오 슬라이스의 비디오 블록에 대한 예측 정보를 결정하고, 예측 정보를 이용하여 디코딩되고 있는 현재 비디오 블록에 대한 예측 블록들을 생성한다. 예를 들어, 모션 보상 유닛 (72) 은, 비디오 슬라이스의 비디오 블록들을 코딩하기 위해 이용되는 예측 모드 (예를 들어, 인트라-예측 또는 인터-예측), 인터-예측 슬라이스 유형 (예를 들어, B 슬라이스, P 슬라이스, 또는 GPB 슬라이스), 슬라이스에 대한 참조 화상 리스트들 중 하나 이상의 참조 화상 리스트에 대한 구성 정보, 슬라이스의 각각의 인터 인코딩된 비디오 블록에 대한 모션 벡터들, 슬라이스의 각각의 인터-코딩된 비디오 블록에 대한 인터-예측 상태, 및 현재 비디오 슬라이스에서의 비디오 블록들을 디코딩하기 위한 다른 정보를 결정하기 위해, 수신된 구문 요소들의 일부를 이용한다.
모션 보상 유닛 (72) 은 보간 필터들에 기초한 보간을 또한 수행할 수도 있다. 모션 보상 유닛 (72) 은 비디오 블록들의 인코딩 중에 비디오 인코더 (20) 에 의해 이용되는 것과 같이 보간 필터들을 이용하여 참조 블록들의 서브-정수 픽셀들에 대한 보간된 값들을 산출할 수도 있다. 이러한 경우에, 모션 보상 유닛 (72) 은 수신된 구문 요소들로부터 비디오 인코더 (20) 에 의해 이용되는 보간 필터들을 결정하고 보간 필터들을 이용하여 예측 블록들을 생성할 수도 있다.
역 양자화 유닛 (76) 은 비트스트림에서 제공되고 엔트로피 디코딩 유닛 (80) 에 의해 디코딩된 양자화된 변환 계수들을 역 영자화, 즉, 탈양자화한다 (dequantize). 역 양자화 프로세스는 양자화의 정도, 및, 마찬가지로, 적용되어야 하는 역 양자화의 정도를 결정하기 위해, 비디오 슬라이스에서의 각각의 비디오 블록에 대해 비디오 디코더 (30) 에 의해 산출된 양자화 파라미터 (QPY) 의 이용을 포함할 수도 있다.
역 변환 유닛 (78) 은, 픽셀 도메인에서의 잔차 블록들을 생성하기 위해 변환 계수들에 대해 역 변환, 예를 들어, 역 DCT, 역 정수 변환, 또는 개념적으로 유사한 역 변환 프로세스를 적용한다.
모션 보상 유닛 (82) 이 모션 벡터들 및 다른 구문 요소들에 기초하여 현재 비디오 블록에 대한 예측 블록을 발생시킨 후에, 비디오 디코더 (30) 는 역 변환 유닛 (78) 로부터의 잔차 블록들을 모션 보상 유닛 (82) 에 의해 발생된 대응하는 예측 블록들과 합함으로써 디코딩된 비디오 블록을 형성한다. 합산기 (80) 는 이러한 합산 동작을 수행하는 컴포넌트 또는 컴포넌트들을 나타낸다.
디블록커 (84) 는 합산기 (80) 의 출력을 디블록킹하기 위해 본 개시물의 기법들 중 임의의 기법 또는 모든 기법을 수행하도록 구성될 수도 있다. 디블록커 (84) 는, 본 개시물의 기법들 중 임의의 기법 또는 모든 기법에 따라, 합산기 (80) 로부터 수신된, TU 들 및 CU 들의 PU 들을 포함하여, CU 들을 선택적으로 디블록킹할 수도 있다. 디블록커 (84) 가 디블록커 (66) 에 대해 설명된 기법들 중 임의의 기법 또는 모든 기법을 수행하도록 구성될 수도 있다는 점에서, 디블록커 (84) 는 디블록커 (66) (도 2) 에 실질적으로 일치할 수도 있다. 그 다음, 디블록커 (84) 에 의해 필터링된 바와 같은, 주어진 프레임 또는 화상에서의 디코딩된 비디오 블록들은 참조 화상 메모리 (92) 에 저장되며, 참조 화상 메모리는 후속하는 모션 보상에 이용되는 참조 화상들을 저장한다. 참조 화상 메모리 (82) 는 도 1 의 디스플레이 디바이스 (32) 와 같은 디스플레이 디바이스 상에서의 추후의 프레젠테이션을 위해 디코딩된 비디오를 또한 저장한다.
예를 들어, 디블록커 (84) 는 본원에 설명된 기법들에 따라, 예를 들어, 상술된 식들 중 임의의 식에 따라 디블록킹 필터링을 위해 tc 파라미터들을 찾아보는데 이용되는 QPC,Cr 값 및 QPC,Cb 값을 계산할 수도 있다. 일부 예들에서, 디블록커 (84) 는, 예를 들어, 식 2, 식 3, 및 식 8 내지 식 15 에 의해 도시되는 바와 같이, 2 개의 비디오 블록들에 대한 제 1 휘도 QP 값 및 제 2 휘도 QP 값의 평균을 산출하고, 평균에 색차 QP 오프셋 값을 적용함으로써, 비디오 데이터의 2 개의 블록들 사이의 공통 에지에 대한 색차 QP 값을 산출할 수도 있다.
일부 예들에서, 색차 컴포넌트에 대한 색차 QP 오프셋 값은 화상-레벨 색차 QP 오프셋 값일 수도 있으며, 이는 화상의 모든 비디오 블록들에 적용될 수도 있고 PPS 에서 시그널링될 수도 있다. 일부 예들에서, 디블록커 (84) 는 또한 또는 대안으로 색차 컴포넌트에 대한 슬라이스-레벨 색차 QP 오프셋 값을 결정할 수도 있으며, 이는 주어진 슬라이스에서의 모든 비디오 블록들에 적용될 수도 있고, 슬라이스-헤더에서 시그널링될 수도 있다. 슬라이스-레벨 색차 QP 오프셋은, 유사한 방식으로, 예를 들어, 화상-레벨 색차 QP 오프셋 값과의 합산, 및 식 20 및 식 21 에 의해 도시된 바와 같은 2 개의 블록들에 대한 휘도 QP 값들의 평균에 의해, 화상-레벨 색차 QP 오프셋 값에 적용될 수도 있다.
일부 예들에서, 공통 에지를 공유하는 2 개의 비디오 블록들이 상이한 슬라이스들 내에 위치된다. 그러한 예들에서, 2 개의 비디오 블록들은 상이한 슬라이스-레벨 QP 오프셋 값들, 예를 들어, slice_qp_delta_cr 및 slice_qp_delta_cb 에 대한 상이한 값들과 연관될 수도 있다. 일부 예들에서, 디블록커 (84) 는 본원에서 설명된 기법들에 따라 적용하기 위한 블록들 중 하나의 블록에 대한 슬라이스-레벨 QP 오프셋 값들을 선택하여 에지에 대한 색차 QP 값들을 결정하도록 구성될 수도 있다. 다른 예들에서, 디블록커 (84) 는 2 개의 블록들에 대한 슬라이스-레벨 QP 오프셋 값들을 평균을 내거나 그렇지 않으면 결합하여 결합된 슬라이스-레벨 QP 오프셋 값들을 결정하도록 구성될 수도 있고, 그 다음에 본원에 설명된 기법들에 따라 결합된 슬라이스-레벨 QP 오프셋 값들을 적용하여 에지에 대한 색차 QP 값들을 결정할 수도 있다.
이러한 방식으로, 도 3 의 비디오 디코더 (30) 는, 본 개시물의 기법들에 따라, 색차 QP 오프셋 값에 기초하여 비디오 데이터의 2 개의 디코딩된 블록들 사이의 공통 에지에 대한 색차 QP 값을 결정하고, 에지에 대한 색차 QP 값에 기초하여 디블록킹 필터에 대한 강도를 결정하도록 구성된 비디오 디코더의 예를 나타낸다.
도 4 는 예시적인 디블록커 (90) 의 컴포넌트들을 도시하는 블록도이다. 일반적으로, 디블록커 (66) (도 2) 및 디블록커 (84) (도 3) 중 어느 일방 또는 양자 모두는 디블록커 (90) 의 컴포넌트들과 실질적으로 유사한 컴포넌트들을 포함할 수도 있다. 다른 비디오 코딩 디바이스들, 예컨대, 비디오 인코더들, 비디오 디코더들, 비디오 인코더/디코더 (CODEC) 들 등은 또한 디블록커 (90) 와 실질적으로 유사한 컴포넌트들을 포함할 수도 있다. 디블록커 (90) 는 하드웨어, 소프트웨어, 또는 펌웨어로 구현될 수도 있다. 소프트웨어 또는 펌웨어로 구현되는 경우, 대응하는 하드웨어 (예컨대, 하나 이상의 프로세서들 또는 프로세싱 유닛들, 및 소프트웨어 또는 펌웨어에 대한 명령들을 저장하기 위한 메모리) 가 또한 제공될 수도 있다.
도 4 의 예에서, 디블록커 (90) 는 디블록킹 결정 유닛 (94), 지원 정의들 (92), 디블록킹 필터링 유닛 (96), 디블록킹 필터 정의들 (98), 및 에지 위치들 데이터 구조 (95) 를 포함한다. 디블록커 (90) 의 컴포넌트들 중 임의의 컴포넌트 또는 모든 컴포넌트는 기능적으로 통합될 수도 있다. 디블록커 (90) 의 컴포넌트들은 단지 설명을 위해 별개로 도시된다.
일반적으로, 디블록커 (90) 는, 예를 들어, 합산 컴포넌트, 예컨대, 예측 데이터를 블록들에 대한 잔차 데이터와 결합하는 유닛 (62) (도 2) 또는 유닛 (80) (도 3) 으로부터, 디코딩된 블록들에 대한 데이터를 수신한다. 데이터는 블록들이 어떻게 예측되었는지의 표시를 더 포함할 수도 있다. 일부 예들에서, 디블록커 (90) 는 디코딩된 LCU 및 LUC 에 대한 CU 쿼드트리를 포함하는 데이터를 수신하도록 구성되며, 여기서 CU 쿼드트리는 LCU 가 어떻게 CU 들로 파티셔닝되는지를 설명하고 리프-노드 CU 들에 대한 예측 모드들을 설명한다. 데이터는 또한 리프-노드 CU 의 PU 들 및 TU 들로의 파티셔닝을 표시하는 정보를 포함할 수도 있으며, 정보는 PU 들이 비대칭 모션 파티션들인지 여부 및/또는 TU 들이 비정사각형 쿼드트리 변환 (NSQT) 파티션들인지 여부를 더 표시할 수도 있다. TU 쿼드트리는 TU 들이 NSQT 파티션들인지 여부, 및/또는 TU 들이 비대칭 모션 파티션 PU 들에 대응하는지 여부를 표시할 수도 있다.
디블록킹 결정 유닛 (94) 은 일반적으로, 2 개의 이웃하는 블록들 (예를 들어, 2 개의 CU 들, PU 들, 또는 TU 들) 에 대해, 2 개의 블록들 사이의 에지가 디블록킹되어야 하는지 여부를 결정한다. 디블록킹 결정 유닛 (94) 은 에지 위치들 데이터 구조 (95) 를 이용하여 에지들의 위치들을 결정할 수도 있다.
일반적으로, 디블록킹 결정 유닛 (94) 은 하나 이상의 디블록킹 결정 함수들로 구성된다. 디블록킹 결정 함수는 함수의 결과에 기초하여 특정 에지에 디블록킹을 적용할지 말지 여부를 결정할 수도 있다. 함수들은 2 개의 CU 들과 같은 블록들 사이의 에지에 걸쳐 있는 픽셀들의 라인들에 적용되는 복수의 계수들을 포함할 수도 있다. 예를 들어, 함수들은 에지에 대해 직각을 이루는 8 개의 픽셀들의 라인에 적용될 수도 있으며, 여기서 픽셀들 중 4 개의 픽셀은 2 개의 블록들 중 하나의 블록에 있고 다른 4 개의 픽셀들은 2 개의 블록들 중 다른 블록에 있다. 지원 함수들의 형상 및 사이즈에 의존하여, 함수들은 보다 많거나 보다 적은 픽셀들을 이용하도록 구성될 수도 있다. 지원 정의들 (92) 은 함수들에 대한 지원을 정의한다. 일반적으로, "지원" 은 함수들이 적용되는 픽셀들에 대응한다.
디블록킹 결정 유닛 (94) 은 하나 이상의 디블록킹 결정 함수들을 지원 정의들 (92) 에 의해 정의된 바와 같은 지원의 하나 이상의 세트들에 적용하여, 비디오 데이터의 2 개의 블록들 사이의 특정 에지가 디블록킹되어야 할지 여부를 결정하도록 구성될 수도 있다. 일부 예들에서는, 그러나, 디블록킹 결정 유닛 (94) 은 디블록킹 결정 함수들의 특정 에지에 대한 적용을 스킵하거나, 특정 에지에 대한 디블록킹 결정 함수들 및/또는 디블록킹 필터들을 적응시키도록 구성된다.
디블록킹 결정 유닛 (94) 으로부터 비롯되는 파선은 필터링되지 않으면서 출력되는 블록들에 대한 데이터를 나타낸다. 2 개의 블록들 사이의 에지가 필터링되어서는 안된다고 디블록킹 결정 유닛 (94) 이 결정하는 경우들에서, 디블록커 (90) 는 데이터를 변경하지 않으면서 블록들에 대한 데이터를 출력할 수도 있다. 즉, 데이터는 디블록킹 필터링 유닛 (96) 을 바이패스할 수도 있다. 예로서, 2 개의 블록들이 디블록킹 함수 및/또는 디블록킹 함수에 대한 지원의 중첩하는 세트들을 갖는 경우, 디블록커 (90) 는 2 개의 블록들이 필터링되지 말아야 한다고 결정할 수도 있다. 반면에, 에지가 디블록킹되어야 한다고 디블록킹 결정 유닛 (94) 이 결정하는 경우, 디블록킹 결정 유닛 (94) 은 디블록킹 필터링 유닛 (96) 이 에지 근처의 픽셀들에 대한 값들을 필터링하여 에지를 디블록킹하게 할 수도 있다.
디블록커 (90) 는 각각의 에지 세그먼트들에 대해 직각을 이루고 각각의 에지 세그먼트들에 교차하는 픽셀들의 라인들을 분석하여, 에지 세그먼트들 중 임의의 에지 세그먼트 또는 모든 에지 세그먼트를 디블록킹할지 여부, 디블록킹될 에지 세그먼트들에 약한 필터 또는 강한 필터를 적용할지 여부, 및 약한 필터들의 폭들을 결정하도록 구성될 수도 있다. 특히, 디블록킹 결정 유닛 (94) 은 디블록킹 파라미터들, 예를 들어, β 및 tc 에 적어도 부분적으로 기초하여 이러한 다양한 결정들 (즉, 에지 세그먼트를 디블록킹할지 여부, 에지 세그먼트에 강한 필터 또는 약한 필터를 적용할지 여부, 및 약한 필터가 선택되는 경우 약한 필터의 폭) 을 하도록 구성될 수도 있다. 지원 정의들 (92) 은 이러한 결정들을 하는데 이용될 픽셀들의 라인들을 정의하는 데이터를 포함한다.
디블록킹 필터링 유닛 (96) 은, 디블록킹 결정 유닛 (94) 에 의해 표시된 바와 같은, 디블록킹될 에지들에 대한 디블록킹 필터 정의들 (98) 로부터 디블록킹 필터들의 정의들을 취출한다. 비정사각형 블록들 사이의 에지들에 대해, 디블록킹 필터링 유닛 (96) 은, 필터들이 추가적인 경계들에 걸쳐 있지 않도록, 디블록킹 필터 정의들 (98) 로부터 적응된 디블록킹 필터들을 취출할 수도 있다. 일반적으로, 에지의 필터링은 디블록킹될 현재 에지의 이웃으로부터의 픽셀들의 값들을 이용한다. 따라서, 디블록킹 결정 함수들 및 디블록킹 필터들 양자 모두는 에지의 양 사이드들에 소정의 지원 영역을 가질 수도 있다. 에지의 이웃에서의 픽셀들에 디블록킹 필터를 적용함으로써, 디블록킹 필터링 유닛 (96) 은 에지 근처의 고주파수 전이 (transition) 들이 약화되도록 픽셀들의 값들을 평활화할 수도 있다. 이러한 방식으로, 에지 근처의 픽셀들에 대한 디블록킹 필터들의 적용은 에지 근처의 블록화 아티팩트들을 감소시킬 수도 있다.
디블록킹 필터 정의들 (98) 은 다양한 디블록킹 필터들, 예컨대, 다양한 폭들의 약한 필터들 및 강한 필터들을 정의한다. 약한 필터들의 폭들은 경계의 각각의 사이드 상의 하나의 픽셀, 경계의 각각의 사이드 상의 2 개의 픽셀, 및 경계의 하나의 사이드 상의 하나의 픽셀과 다른 사이드 상의 2 개의 픽셀들을 수정하는 약한 필터들을 정의할 수도 있다. 디블록킹 필터에 의해 수정되는 픽셀들의 개수는 디블록킹 필터에 대한 입력으로서 이용되는 픽셀들의 개수와 반드시 동일하지는 않다. 따라서, 디블록킹 필터 정의들 (98) 은 디블록킹 필터에 대한 입력들의 개수, 뿐만 아니라 입력들을 이용하여 수정될 픽셀들의 개수를 정의하는 데이터를 포함할 수도 있다. 일반적으로, 디블록킹 필터는 입력 픽셀들 및 입력 픽셀들에 수학적으로 적용될 필터 계수들에 의해 정의되어 소정의 픽셀들의 수정된 값들을 생성한다.
본 개시물의 기법들에 따른 일부 예들에서, 비디오 디코딩 디바이스, 예컨대, 도 1 내지 도 3 의 비디오 인코더 (20) 또는 비디오 디코더 (30) 는 디블로커 (90) 의 예에 실질적으로 일치하는 디블록킹 유닛을 포함할 수도 있다. 비디오 인코더 (20) 또는 비디오 디코더 (30) 는 2 개의 블록들 사이의 공통 에지가 디블록킹되어야 한다고 결정 함수가 표시하는 경우 디블록킹 필터 또는 함수를 적용하도록 구성될 수도 있다.
예를 들어, 디블록커 (90) 는 본원에 설명된 기법들에 따라, 예를 들어, 상술된 식들 중 임의의 식에 따라 디블록킹 필터링을 위한 tc 파라미터들을 찾아보는데 이용되는 QPC,Cr 값 및 QPC,Cb 값을 계산할 수도 있다. 위에서 논의된 바와 같이, tc 파라미터는 디블록커 (90) 에 의해 적용되는 디블록킹 필터의 강도에 영향을 줄 수도 있다. 일부 예들에서, 디블록커 (90) 는, 예를 들어, 식 2, 식 3, 및 식 8 내지 식 15 에 의해 도시되는 바와 같이, 2 개의 비디오 블록들에 대한 제 1 휘도 QP 값 및 제 2 휘도 QP 값의 평균을 산출하고, 평균에 색차 QP 오프셋 값을 적용함으로써, 비디오 데이터의 2 개의 블록들 사이의 공통 에지에 대한 색차 QP 값을 산출할 수도 있다.
일부 예들에서, 색차 컴포넌트에 대한 색차 QP 오프셋 값은 화상-레벨 색차 QP 오프셋 값일 수도 있으며, 이는 화상의 모든 비디오 블록들에 적용될 수도 있고 PPS 에서 시그널링될 수도 있다. 일부 예들에서, 디블록커 (90) 는 또한 또는 대안으로 색차 컴포넌트에 대한 슬라이스-레벨 색차 QP 오프셋 값을 결정할 수도 있으며, 이는 주어진 슬라이스에서의 모든 비디오 블록들에 적용될 수도 있고, 슬라이스-헤더에서 시그널링될 수도 있다. 슬라이스-레벨 색차 QP 오프셋은, 유사한 방식으로, 예를 들어, 화상-레벨 색차 QP 오프셋 값과의 합산, 및 식 20 및 식 21 에 의해 도시된 바와 같은 2 개의 블록들에 대한 휘도 QP 값들의 평균에 의해, 화상-레벨 색차 QP 오프셋 값에 적용될 수도 있다.
일부 예들에서, 공통 에지를 공유하는 2 개의 비디오 블록들이 상이한 슬라이스들 내에 위치된다. 그러한 예들에서, 2 개의 비디오 블록들은 상이한 슬라이스-레벨 QP 오프셋 값들, 예를 들어, slice_qp_delta_cr 및 slice_qp_delta_cb 에 대한 상이한 값들과 연관될 수도 있다. 일부 예들에서, 디블록커 (90) 는 본원에서 설명된 기법들에 따라 적용하기 위한 블록들 중 하나의 블록에 대한 슬라이스-레벨 QP 오프셋 값들을 선택하여 에지에 대한 색차 QP 값들을 결정하도록 구성될 수도 있다. 다른 예들에서, 디블록커 (90) 는 2 개의 블록들에 대한 슬라이스-레벨 QP 오프셋 값들을 평균을 내거나 그렇지 않으면 결합하여 결합된 슬라이스-레벨 QP 오프셋 값들을 결정하도록 구성될 수도 있고, 그 다음에 본원에 설명된 기법들에 따라 결합된 슬라이스-레벨 QP 오프셋 값들을 적용하여 에지에 대한 색차 QP 값들을 결정할 수도 있다.
도 5 는 2 개의 이웃하는 비디오 블록들 (100, 102) 에 의해 형성된 에지 (104) 를 도시하는 개념도이다. 블록들 (100, 102) 은 상술된 블록 (P) 및 블록 (Q) 에 대응할 수도 있다. 도 5 의 예는 나란한 (side-by-side) 배열로 블록들 (100, 102) 을 도시하나, 위-아래로 이웃하는 블록들이 본 개시물의 기법들에 따라 디블록킹될 수 있는 에지를 또한 이룰 수도 있는 것으로 이해되어야 한다. 또한, 블록들 (100, 102) 이 동일한 사이즈인 것으로 도시되었으나, 에지를 형성하는 이웃하는 블록들은 반드시 동일한 사이즈는 아니다.
블록들 (100, 102) 은 각각의 변환 유닛 (TU) 의 변환 블록들을 나타낼 수도 있다. 이에 따라, 블록들 (100, 102) 은 각각의 양자화 파라미터 (QP) 값들과 연관될 수도 있다. 또한, 블록들 (100 및 102) 은 휘도 컴포넌트들, 뿐만 아니라 하나 이상의 색차 첨포넌트들, 예를 들어, Cr 및 Cb 를 각각 포함할 수도 있다.
본 개시물의 기법들에 따르면, 디블록커, 예컨대, 디블록커 (66) (도 2), 디블록커 (84) (도 3), 또는 디블록커 (90) (도 4) 는, 블록들 (100 및 102) 에 대한 각각의 휘도 QP 들, 뿐만 아니라 색차 QP 오프셋 값에 기초하여, 블록들 (100 및 102) 사이의 에지 (104) 를 디블록킹하기 위한 (하나 이상의 색차 컴포넌트들의 각각에 대한) 색차 QP 값을 결정하도록 구성될 수도 있다. 예를 들어, 디블록커는, 예를 들어, 식 2, 식 3, 및 식 8 내지 식 15 중 임의의 식에 따라, 색차 QP 오프셋 값을 블록들 (100 및 102) 의 휘도 QP 값들의 평균에 적용할 수도 있다. 디블록커는 그 다음에 특정 색차 컴포넌트에 대한 에지 (104) 에 대한 색차 QP 값을 이용하여 디블록킹 필터의 강도를 결정해, 예를 들어, tc 값을 결정하도록, 특정 색차 컴포넌트에 대한 에지에 적용할 수도 있다.
일부 예들에서, 블록들 (100 및 102) 은 상이한 슬라이스들에 포함될 수도 있다. 그러한 예들에서, 블록들 (100 및 102) 은 상이한 슬라이스-레벨 QP 오프셋 값들, 예를 들어, slice_qp_delta_cr 및 slice_qp_delta_cb 의 각각에 대한 상이한 값들과 연관될 수도 있다. 일부 예들에서, 디블록커는 본 개시물의 기법들에 따라 에지 (104) 에 대한 색차 QP 값들을 결정하기 위해 적용하기 위한 블록들 (100 및 102) 중 하나의 블록과 연관된 슬라이스-레벨 QP 오프셋 값들을 선택하도록 구성될 수도 있다. 다른 예들에서, 디블록커는 2 개의 블록들에 대한 슬라이스-레벨 QP 오프셋 값들을 평균을 내거나 그렇지 않으면 수학적으로 결합하여 결합된 슬라이스-레벨 QP 오프셋 값들을 결정하도록 구성될 수도 있고, 그 다음에 결합된 슬라이스-레벨 QP 오프셋 값들을 적용하여 본원에 설명된 기법들에 따라 에지에 대한 색차 QP 값들을 결정할 수도 있다.
도 6 은 본 개시물의 기법들에 따른 비디오 코딩 프로세스 중에 디블록킹을 수행하는 예시적인 방법을 도시하는 플로차트이다. 도 6 의 예시적인 방법은 디블록커, 예컨대, 디블록커 (66) (도 2), 디블록커 (84) (도 3), 또는 디블록커 (90) (도 4) 에 의해 수행될 수도 있다. 또한, 도 6 의 예시적인 방법은 비디오 인코더 (20) 또는 비디오 디코더 (30) (도 1 내지 도 3) 와 같은 비디오 인코더 또는 비디오 디코더일 수도 있는 비디오 코더에 의해 수행될 수도 있다.
도 6 의 예시적인 방법에 따르면, 비디오 코더는 공통 에지 (예를 들어, 도 5 의 에지 (104)) 를 갖는 비디오 데이터의 제 1 블록 및 제 2 블록 (예를 들어, 위에서 지칭되는 블록 (Q) 및 블록 (P), 또는 도 5 의 블록 (100) 및 블록 (102)) 을 디코딩한다 (110). 비디오 코더, 예를 들어, 비디오 코더의 디블록커는, 각각, 제 1 비디오 블록 및 제 2 비디오 블록에 대한 제 1 휘도 QP 및 제 2 휘도 QP, 예를 들어, QPY,P 및 QPY,Q 를 결정할 수도 있다 (112). 비디오 코더, 예를 들어, 디블록커는 또한 비디오 블록들의 하나 이상의 색차 컴포넌트들 중 특정 색차 컴포넌트에 대한 색차 QP 오프셋 값, 예를 들어, Cr 컴포넌트에 대한 cr_qp_offset, 또는 Cb 컴포넌트에 대한 cb_qp_offset 을 결정할 수도 있다 (114).
색차 컴포넌트들의 각각에 대해, 비디오 코더, 예를 들어, 디블록커는 제 1 블록 및 제 2 블록에 대한 각각의 휘도 QP 들, 뿐만 아니라 색차 컴포넌트에 대한 색차 QP 오프셋 값에 기초하여 제 1 블록과 제 2 블록 사이의 공통 에지에 대한 색차 QP 값을 산출한다 (116). 일부 예들에서, 비디오 코더는 2 개의 비디오 블록들에 대한 휘도 QP 값들을 평균을 내고, 평균에 색차 QP 오프셋 값을 적용함으로써, 공통 에지에 대한 색차 QP 값을 산출한다. 일부 예들에서, 비디오 코더는 위에서 논의된 예시적인 식 2, 식 3, 및 식 8 내지 식 15 중 임의의 식을 이용하여 공통 에지에 대한 색차 QP 값을 산출한다.
비디오 코더, 예를 들어, 비디오 코더의 디블록커는 그 다음에, 특정 색차 컴포넌트에 대해 산출된 에지에 대한 색차 QP 값에 기초하여, 색차 컴포넌트, 예를 들어, Cr 또는 Cb 에 대한 공통 에지에 적용될 디블록킹 필터의 강도를 결정할 수도 있다 (118). 위에서 논의된 바와 같이, 디블록킹 필터의 강도의 결정은 특정 색차 컴포넌트에 대해 산출된 에지에 대한 색차 QP 값에 기초하여 tc 파라미터 값을 결정하는 것을 포함할 수도 있다. 비디오 코더, 예를 들어, 비디오 코더의 디블록커는 그 다음에 결정된 강도를 갖는 디블록킹 필터를 적용하여 제 1 블록과 제 2 블록 사이의 공통 에지를 디블록킹할 수도 있다 (120).
이러한 방식으로, 도 6 의 방법은 색차 QP 오프셋 값에 기초하여 비디오 데이터의 2 개의 디코딩된 블록들 사이의 공통 에지에 대한 색차 QP 값을 결정하는 단계, 및 에지에 대한 색차 QP 값에 기초하여 디블록킹 필터에 대한 강도를 결정하는 단계를 포함하는 방법의 예를 나타낸다.
하나 이상의 예들에서, 설명된 기능들은 하드웨어, 소프트웨어, 펌웨어, 또는 이들의 임의의 결합으로 구현될 수도 있다. 소프트웨어로 구현되는 경우, 기능들은 하드웨어 기반 프로세싱 유닛에 의해 실행되는 하나 이상의 명령들 또는 코드로서 컴퓨터 판독가능 매체 상에 저장되거나 송신될 수도 있다. 컴퓨터 판독가능 매체들은, 데이터 저장 매체들과 같은 유형의 매체, 또는 예를 들어, 통신 프로토콜에 따라, 한 곳에서 다른 곳으로 컴퓨터 프로그램의 전송을 가능하게 하는 임의의 매체를 포함하는 통신 매체들에 대응하는 컴퓨터 판독가능 저장 매체들을 포함할 수도 있다. 이러한 방식으로, 컴퓨터 판독가능 매체들은 일반적으로 (1) 비일시적인 유형의 컴퓨터 판독가능 저장 매체들 또는 (2) 신호 또는 반송파와 같은 통신 매체에 대응할 수도 있다. 데이터 저장 매체들은 본 개시물에 설명된 기법들의 구현을 위한 명령들, 코드, 및/또는 데이터 구조들을 취출하기 위해 하나 이상의 컴퓨터들 또는 하나 이상의 프로세서들에 의해 액세스될 수 있는 임의의 이용가능한 매체들일 수도 있다. 컴퓨터 프로그램 제품은 컴퓨터 판독가능 매체를 포함할 수도 있다.
비제한적인 예로서, 그러한 컴퓨터 판독가능 저장 매체들은 RAM, ROM, EEPROM, CD-ROM 또는 다른 광학 디스크 스토리지, 자기 디스크 스토리지 또는 다른 자기 저장 디바이스들, 플래시 메모리, 또는 원하는 프로그램 코드를 명령들 또는 데이터 구조들의 형태로 저장하기 위해 이용될 수 있고 컴퓨터에 의해 액세스될 수 있는 임의의 다른 매체를 포함할 수 있다. 또한, 임의의 접속은 컴퓨터 판독가능 매체라고 적절히 칭해진다. 예를 들어, 소프트웨어가 동축 케이블, 광섬유 케이블, 연선, 디지털 가입자 회선 (digital subscriber line; DSL), 또는 적외선, 무선, 및 마이크로파와 같은 무선 기술들을 이용하여 웹사이트, 서버, 또는 다른 원격 소스로부터 명령들이 송신되는 경우, 동축 케이블, 광섬유 케이블, 연선, DSL, 또는 적외선, 무선, 및 마이크로파와 같은 무선 기술들은 매체의 정의 내에 포함된다. 그러나, 컴퓨터 판독가능 저장 매체들 및 데이터 저장 매체들은 접속부들, 반송파들, 신호들, 또는 다른 일시적 매체들을 포함하지 않고, 대신에 비일시적, 유형의 저장 매체들에 대한 것임이 이해되어야 한다. 본원에서 사용된 디스크 (disk) 와 디스크 (disc) 는, 컴팩트 디스크 (CD), 레이저 디스크, 광학 디스크, 디지털 다기능 디스크 (DVD), 플로피 디스크, 및 블루레이 디스크를 포함하며, 여기서 디스크 (disk) 는 통상 자기적으로 데이터를 재생하고, 반면 디스크 (disc) 는 레이저를 이용하여 광학적으로 데이터를 재생한다. 위의 결합들도 컴퓨터 판독가능 매체들의 범위 내에 포함되어야 한다.
명령들은, 하나 이상의 디지털 신호 프로세서 (DSP) 들, 범용 마이크로프로세서들, 주문형 집적 회로 (ASIC) 들, 필드 프로그래머블 로직 어레이 (FPGA) 들, 또는 다른 등가의 집적 또는 이산 로직 회로와 같은, 하나 이상의 프로세서들에 의해 실행될 수도 있다. 이에 따라, 본원에서 이용되는 바와 같은 용어 "프로세서" 는 앞서 언급한 구조들, 또는 본원에서 설명된 기법들을 구현하기에 적합한 임의의 다른 구조 중 임의의 것을 지칭할 수도 있다. 또한, 일부 양상들에서, 본원에서 설명된 기능성은 인코딩 및 디코딩을 위해 구성된 전용 하드웨어 및/또는 소프트웨어 모듈 내에 제공되거나, 또는 통합 코덱에 통합될 수도 있다. 또한, 기법들은 하나 이상의 회로들 또는 로직 소자들에서 완전히 구현될 수 있다.
본 개시물의 기법들은 무선 핸드셋, 집적 회로 (integrated circuit; IC), 또는 IC 들의 세트 (예를 들어, 칩셋) 를 포함하여, 매우 다양한 디바이스들 또는 장치들로 구현될 수도 있다. 개시된 기술들을 수행하도록 구성된 디바이스들의 기능적 양상들을 강조하기 위해 다양한 컴포넌트들, 모듈들, 또는 유닛들이 본 개시물에서 설명되었지만, 반드시 상이한 하드웨어 유닛들에 의한 실현을 요구하지는 않는다. 대신, 상술한 바와 같이, 다양한 유닛들은, 적절한 소프트웨어 및/또는 펌웨어와 연계하여, 코덱 하드웨어 유닛에 통합되거나 또는 상술한 하나 이상의 프로세서들을 포함하여 상호동작적인 하드웨어 유닛들의 집합에 의해 제공될 수도 있다.
다양한 예들이 설명되었다. 이들 및 다른 예들은 다음의 청구항들의 범위 내에 있다.

Claims (53)

  1. 비디오 데이터의 제 1 블록 및 비디오 데이터의 제 2 블록을 디코딩하는 단계로서, 상기 비디오 데이터의 제 1 블록 및 상기 비디오 데이터의 제 2 블록은 공통 에지를 공유하는, 상기 비디오 데이터의 제 1 블록 및 비디오 데이터의 제 2 블록을 디코딩하는 단계;
    상기 비디오 데이터의 제 1 블록에 대한 제 1 휘도 양자화 파라미터 및 상기 비디오 데이터의 제 2 블록에 대한 제 2 휘도 양자화 파라미터를 결정하는 단계;
    하나 이상의 색차 (chrominance) 컴포넌트들의 각각에 대해, 색차 양자화 파라미터 오프셋 값을 결정하는 단계;
    상기 하나 이상의 색차 컴포넌트들의 각각에 대해, 상기 비디오 데이터의 제 1 블록에 대한 상기 제 1 휘도 양자화 파라미터, 상기 비디오 데이터의 제 2 블록에 대한 상기 제 2 휘도 양자화 파라미터, 및 상기 색차 컴포넌트에 대한 상기 색차 양자화 파라미터 오프셋 값에 기초하여 상기 에지에 대한 색차 양자화 파라미터를 산출하는 단계;
    상기 하나 이상의 색차 컴포넌트들의 각각에 대해, 상기 색차 컴포넌트에 대한 상기 색차 양자화 파라미터에 기초하여 상기 공통 에지에 대한 디블록킹 필터에 대한 강도를 결정하는 단계; 및
    상기 하나 이상의 색차 컴포넌트들의 각각에 대해, 상기 공통 에지를 디블록킹하기 위해, 결정된 상기 강도에 따라 상기 디블록킹 필터를 적용하는 단계를 포함하는, 비디오 데이터를 프로세싱하는 방법.
  2. 제 1 항에 있어서,
    상기 에지에 대한 색차 양자화 파라미터를 산출하는 단계는,
    상기 비디오 데이터의 제 1 블록에 대한 상기 제 1 휘도 양자화 파라미터와 상기 비디오 데이터의 제 2 블록에 대한 상기 제 2 휘도 양자화 파라미터의 평균을 산출하는 단계; 및
    상기 색차 양자화 파라미터 오프셋 값을 상기 평균에 적용하는 단계를 포함하는, 비디오 데이터를 프로세싱하는 방법.
  3. 제 2 항에 있어서,
    상기 에지에 대한 색차 양자화 파라미터를 산출하는 단계는,
    QpUV ( (QPY,P + QPY,Q + 1) / 2 + c_qp_offset )
    을 산출하는 단계를 포함하고,
    QpUV 는 휘도 양자화 파라미터 값들을 색차 양자화 파라미터 값들로 컨버팅하는 함수를 포함하며,
    c_qp_offset 은 상기 색차 양자화 파라미터 오프셋 값을 포함하고,
    QPY,P 는 상기 비디오 데이터의 제 1 블록에 대한 상기 제 1 휘도 양자화 파라미터를 포함하고, QPY,Q 는 상기 비디오 데이터의 제 2 블록에 대한 상기 제 2 휘도 양자화 파라미터를 포함하며,
    (QPY,P + QPY,Q + 1) / 2 는 상기 비디오 데이터의 제 1 블록에 대한 상기 제 1 휘도 양자화 파라미터와 상기 비디오 데이터의 제 2 블록에 대한 상기 제 2 휘도 양자화 파라미터의 상기 평균을 포함하는, 비디오 데이터를 프로세싱하는 방법.
  4. 제 2 항에 있어서,
    상기 에지에 대한 색차 양자화 파라미터를 산출하는 단계는,
    Clip3(0, 51, (QPY,P + QPY,Q + 1)/2 + c_qp_offset) )
    을 산출하는 단계를 포함하고,
    c_qp_offset 은 상기 색차 양자화 파라미터 오프셋 값을 포함하며,
    QPY,P 는 상기 비디오 데이터의 제 1 블록에 대한 상기 제 1 휘도 양자화 파라미터를 포함하고, QPY,Q 는 상기 비디오 데이터의 제 2 블록에 대한 상기 제 2 휘도 양자화 파라미터를 포함하며,
    (QPY,P + QPY,Q + 1) / 2 는 상기 비디오 데이터의 제 1 블록에 대한 상기 제 1 휘도 양자화 파라미터와 상기 비디오 데이터의 제 2 블록에 대한 상기 제 2 휘도 양자화 파라미터의 상기 평균을 포함하는, 비디오 데이터를 프로세싱하는 방법.
  5. 제 2 항에 있어서,
    상기 에지에 대한 색차 양자화 파라미터를 산출하는 단계는,
    Clip3(0, 51, QpUV ( (QPY,P + QPY,Q + 1)/2 ) + cr_qp_offset )
    을 산출하는 단계를 포함하고,
    QpUV 는 휘도 양자화 파라미터 값들을 색차 양자화 파라미터 값들로 컨버팅하는 함수를 포함하며,
    c_qp_offset 은 상기 색차 양자화 파라미터 오프셋 값을 포함하고,
    QPY,P 는 상기 비디오 데이터의 제 1 블록에 대한 상기 제 1 휘도 양자화 파라미터를 포함하고, QPY,Q 는 상기 비디오 데이터의 제 2 블록에 대한 상기 제 2 휘도 양자화 파라미터를 포함하며,
    (QPY,P + QPY,Q + 1) / 2 는 상기 비디오 데이터의 제 1 블록에 대한 상기 제 1 휘도 양자화 파라미터와 상기 비디오 데이터의 제 2 블록에 대한 상기 제 2 휘도 양자화 파라미터의 상기 평균을 포함하는, 비디오 데이터를 프로세싱하는 방법.
  6. 제 1 항에 있어서,
    상기 색차 양자화 파라미터 오프셋 값은 화상 파라미터 세트에서 시그널링되는, 비디오 데이터를 프로세싱하는 방법.
  7. 제 1 항에 있어서,
    상기 색차 양자화 파라미터 오프셋 값을 상기 비디오 데이터의 제 1 블록에 대한 상기 제 1 휘도 양자화 파라미터에 적용하여 상기 비디오 데이터의 제 1 블록에 대한 제 1 색차 양자화 파라미터를 결정하는 단계; 또는
    상기 색차 양자화 파라미터 오프셋 값을 상기 비디오 데이터의 제 2 블록에 대한 상기 제 2 휘도 양자화 파라미터에 적용하여 상기 비디오 데이터의 제 2 블록에 대한 제 2 색차 양자화 파라미터를 결정하는 단계
    중 적어도 하나의 단계를 더 포함하는, 비디오 데이터를 프로세싱하는 방법.
  8. 제 1 항에 있어서,
    상기 색차 컴포넌트에 대한 상기 색차 양자화 파라미터에 기초하여 상기 공통 에지에 대한 디블록킹 필터에 대한 강도를 결정하는 단계는, 상기 색차 양자화 파라미터에 기초하여 tc 파라미터를 결정하는 단계를 포함하며, 상기 tc 파라미터는 상기 디블록킹 필터의 클리핑 동작에서 적용되는, 비디오 데이터를 프로세싱하는 방법.
  9. 제 1 항에 있어서,
    상기 색차 양자화 파라미터 오프셋 값은 화상 내의 모든 비디오 블록들과 연관된 화상-레벨 색차 양자화 파라미터 오프셋 값을 포함하고, 상기 화상은 하나 이상의 슬라이스들을 포함하며,
    상기 방법은,
    상기 하나 이상의 색차 컴포넌트들의 각각에 대해, 상기 슬라이스들 중 하나의 슬라이스 내의 모든 비디오 블록들과 연관된 슬라이스-레벨 색차 양자화 파라미터 오프셋 값을 결정하는 단계를 더 포함하고,
    상기 에지에 대한 색차 양자화 파라미터를 산출하는 단계는, 상기 비디오 데이터의 제 1 블록에 대한 상기 제 1 휘도 양자화 파라미터, 상기 비디오 데이터의 제 2 블록에 대한 상기 제 2 휘도 양자화 파라미터, 상기 색차 컴포넌트에 대한 상기 화상-레벨 색차 양자화 파라미터 오프셋 값, 및 상기 색차 컴포넌트에 대한 상기 슬라이스-레벨 색차 양자화 파라미터 오프셋 값에 기초하여 상기 색차 양자화 파라미터를 산출하는 단계를 포함하는, 비디오 데이터를 프로세싱하는 방법.
  10. 제 9 항에 있어서,
    상기 에지에 대한 색차 양자화 파라미터를 산출하는 단계는,
    QpUV ( (QPY,P + QPY,Q + 1)/2 + cr_qp_offset + slice_qp_delta_cr
    을 산출하는 단계를 포함하고,
    QpUV 는 휘도 양자화 파라미터 값들을 색차 양자화 파라미터 값들로 컨버팅하는 함수를 포함하며,
    c_qp_offset 은 상기 화상-레벨 색차 양자화 파라미터 오프셋 값을 포함하고,
    slice_qp_delta_cr 은 상기 슬라이스-레벨 색차 양자화 파라미터 오프셋 값을 포함하며,
    QPY,P 는 상기 비디오 데이터의 제 1 블록에 대한 상기 제 1 휘도 양자화 파라미터를 포함하고, QPY,Q 는 상기 비디오 데이터의 제 2 블록에 대한 상기 제 2 휘도 양자화 파라미터를 포함하며,
    (QPY,P + QPY,Q + 1) / 2 는 상기 비디오 데이터의 제 1 블록에 대한 상기 제 1 휘도 양자화 파라미터와 상기 비디오 데이터의 제 2 블록에 대한 상기 제 2 휘도 양자화 파라미터의 평균을 포함하는, 비디오 데이터를 프로세싱하는 방법.
  11. 제 9 항에 있어서,
    상기 비디오 데이터의 제 1 블록은 제 1 슬라이스-레벨 색차 양자화 파라미터 오프셋 값과 연관된 상기 슬라이스들 중 제 1 슬라이스 내에 있고, 상기 비디오 데이터의 제 2 블록은 제 2 슬라이스-레벨 색차 양자화 파라미터 오프셋 값과 연관된 상기 슬라이스들 중 제 2 슬라이스 내에 있으며,
    상기 슬라이스-레벨 색차 양자화 파라미터 오프셋 값을 결정하는 단계는, 상기 제 1 슬라이스-레벨 색차 양자화 파라미터 오프셋 값 및 상기 제 2 슬라이스-레벨 색차 양자화 파라미터 오프셋 값 중 하나를 선택하는 단계를 포함하는, 비디오 데이터를 프로세싱하는 방법.
  12. 제 9 항에 있어서,
    상기 비디오 데이터의 제 1 블록은 제 1 슬라이스-레벨 색차 양자화 파라미터 오프셋 값과 연관된 상기 슬라이스들 중 제 1 슬라이스 내에 있고, 상기 비디오 데이터의 제 2 블록은 제 2 슬라이스-레벨 색차 양자화 파라미터 오프셋 값과 연관된 상기 슬라이스들 중 제 2 슬라이스 내에 있으며,
    상기 슬라이스-레벨 색차 양자화 파라미터 오프셋 값을 결정하는 단계는, 상기 제 1 슬라이스-레벨 색차 양자화 파라미터 오프셋 값과 상기 제 2 슬라이스-레벨 색차 양자화 파라미터 오프셋 값의 평균을 결정하는 단계를 포함하는, 비디오 데이터를 프로세싱하는 방법.
  13. 제 12 항에 있어서,
    상기 에지에 대한 색차 양자화 파라미터를 산출하는 단계는,
    QpUV ( QPY,P + slice_qp_delta_P + QPY,Q + slice_qp_delta_Q + 1)/2 + c_qp_offset)
    을 산출하는 단계를 포함하고,
    QpUV 는 휘도 양자화 파라미터 값들을 색차 양자화 파라미터 값들로 컨버팅하는 함수를 포함하며,
    c_qp_offset 은 상기 화상-레벨 색차 양자화 파라미터 오프셋 값을 포함하고,
    slice_qp_delta_P 는 상기 제 1 슬라이스-레벨 색차 양자화 파라미터 오프셋 값을 포함하며,
    slice_qp_delta_Q 는 상기 제 2 슬라이스-레벨 색차 양자화 파라미터 오프셋 값을 포함하고,
    QPY,P 는 상기 비디오 데이터의 제 1 블록에 대한 상기 제 1 휘도 양자화 파라미터를 포함하고, QPY,Q 는 상기 비디오 데이터의 제 2 블록에 대한 상기 제 2 휘도 양자화 파라미터를 포함하는, 비디오 데이터를 프로세싱하는 방법.
  14. 제 12 항에 있어서,
    상기 에지에 대한 색차 양자화 파라미터를 산출하는 단계는,
    ( QpUV ( QPY,P + c_qp_offset + slice_qp_delta_P) + QpUV ( QPY,Q + c_qp_offset + slice_qp_delta_Q) + 1 ) / 2
    를 산출하는 단계를 포함하고,
    QpUV 는 휘도 양자화 파라미터 값들을 색차 양자화 파라미터 값들로 컨버팅하는 함수를 포함하며,
    c_qp_offset 은 상기 화상-레벨 색차 양자화 파라미터 오프셋 값을 포함하고,
    slice_qp_delta_P 는 상기 제 1 슬라이스-레벨 색차 양자화 파라미터 오프셋 값을 포함하며,
    slice_qp_delta_Q 는 상기 제 2 슬라이스-레벨 색차 양자화 파라미터 오프셋 값을 포함하고,
    QPY,P 는 상기 비디오 데이터의 제 1 블록에 대한 상기 제 1 휘도 양자화 파라미터를 포함하고, QPY,Q 는 상기 비디오 데이터의 제 2 블록에 대한 상기 제 2 휘도 양자화 파라미터를 포함하는, 비디오 데이터를 프로세싱하는 방법.
  15. 제 9 항에 있어서,
    색차 포맷을 결정하는 단계를 더 포함하고,
    상기 비디오 데이터의 제 1 블록에 대한 상기 제 1 휘도 양자화 파라미터, 상기 비디오 데이터의 제 2 블록에 대한 상기 제 2 휘도 양자화 파라미터, 상기 색차 컴포넌트에 대한 상기 화상-레벨 색차 양자화 파라미터 오프셋 값, 및 상기 색차 컴포넌트에 대한 상기 슬라이스-레벨 색차 양자화 파라미터 오프셋 값에 기초하여 상기 색차 양자화 파라미터를 산출하는 단계는, 상기 색차 포맷에 기초하여, 상기 화상-레벨 색차 양자화 파라미터 오프셋 값 및 상기 슬라이스-레벨 색차 양자화 파라미터 오프셋 값 중 어느 일방이 상기 색차 양자화 파라미터를 산출하는데 이용되는지 여부를 결정하는 단계를 포함하는, 비디오 데이터를 프로세싱하는 방법.
  16. 제 9 항에 있어서,
    상기 비디오 데이터와 연관된 프로파일 또는 레벨 중 하나를 결정하는 단계를 더 포함하고,
    상기 비디오 데이터의 제 1 블록에 대한 상기 제 1 휘도 양자화 파라미터, 상기 비디오 데이터의 제 2 블록에 대한 상기 제 2 휘도 양자화 파라미터, 상기 색차 컴포넌트에 대한 상기 화상-레벨 색차 양자화 파라미터 오프셋 값, 및 상기 색차 컴포넌트에 대한 상기 슬라이스-레벨 색차 양자화 파라미터 오프셋 값에 기초하여 상기 색차 양자화 파라미터를 산출하는 단계는, 상기 프로파일 또는 레벨에 기초하여, 상기 화상-레벨 색차 양자화 파라미터 오프셋 값 및 상기 슬라이스-레벨 색차 양자화 파라미터 오프셋 값 중 어느 일방이 상기 색차 양자화 파라미터를 산출하는데 이용되는지 여부를 결정하는 단계를 포함하는, 비디오 데이터를 프로세싱하는 방법.
  17. 제 1 항에 있어서,
    상기 비디오 데이터의 제 1 블록 및 비디오 데이터의 제 2 블록을 디코딩하는 단계는, 사용자에 대한 상기 비디오 데이터의 프레젠테이션을 위해 디코더에 의해 상기 비디오 데이터의 제 1 블록 및 제 2 블록을 디코딩하는 단계를 포함하는, 비디오 데이터를 프로세싱하는 방법.
  18. 제 1 항에 있어서,
    상기 비디오 데이터의 제 1 블록 및 비디오 데이터의 제 2 블록을 디코딩하는 단계는, 참조 화상 리스트에 저장하기 위해 인코더에 의해 상기 비디오 데이터의 제 1 블록 및 제 2 블록을 디코딩하는 단계를 포함하고,
    상기 디블록킹 필터를 적용하는 단계는, 상기 비디오 데이터의 인-루프 필터링을 위해 상기 디블록킹 필터를 적용하는 단계를 포함하는, 비디오 데이터를 프로세싱하는 방법.
  19. 비디오 데이터를 프로세싱하기 위한 장치로서,
    상기 장치는 비디오 코더를 포함하고,
    상기 비디오 코더는,
    비디오 데이터의 제 1 블록 및 비디오 데이터의 제 2 블록을 디코딩하는 것으로서, 상기 비디오 데이터의 제 1 블록 및 상기 비디오 데이터의 제 2 블록은 공통 에지를 공유하는, 상기 비디오 데이터의 제 1 블록 및 비디오 데이터의 제 2 블록을 디코딩하는 것;
    상기 비디오 데이터의 제 1 블록에 대한 제 1 휘도 양자화 파라미터 및 상기 비디오 데이터의 제 2 블록에 대한 제 2 휘도 양자화 파라미터를 결정하는 것;
    하나 이상의 색차 (chrominance) 컴포넌트들의 각각에 대해, 색차 양자화 파라미터 오프셋 값을 결정하는 것;
    상기 하나 이상의 색차 컴포넌트들의 각각에 대해, 상기 비디오 데이터의 제 1 블록에 대한 상기 제 1 휘도 양자화 파라미터, 상기 비디오 데이터의 제 2 블록에 대한 상기 제 2 휘도 양자화 파라미터, 및 상기 색차 컴포넌트에 대한 상기 색차 양자화 파라미터 오프셋 값에 기초하여 상기 에지에 대한 색차 양자화 파라미터를 산출하는 것;
    상기 하나 이상의 색차 컴포넌트들의 각각에 대해, 상기 색차 컴포넌트에 대한 상기 색차 양자화 파라미터에 기초하여 상기 공통 에지에 대한 디블록킹 필터에 대한 강도를 결정하는 것; 및
    상기 하나 이상의 색차 컴포넌트들의 각각에 대해, 상기 공통 에지를 디블록킹하기 위해, 결정된 상기 강도에 따라 상기 디블록킹 필터를 적용하는 것
    을 행하도록 구성되는, 비디오 데이터를 프로세싱하기 위한 장치.
  20. 제 19 항에 있어서,
    상기 에지에 대한 상기 색차 양자화 파라미터를 산출하기 위해,
    상기 비디오 코더는,
    상기 비디오 데이터의 제 1 블록에 대한 상기 제 1 휘도 양자화 파라미터와 상기 비디오 데이터의 제 2 블록에 대한 상기 제 2 휘도 양자화 파라미터의 평균을 산출하고;
    상기 색차 양자화 파라미터 오프셋 값을 상기 평균에 적용하도록 구성되는, 비디오 데이터를 프로세싱하기 위한 장치.
  21. 제 20 항에 있어서,
    상기 에지에 대한 상기 색차 양자화 파라미터를 산출하기 위해,
    상기 비디오 코더는,
    QpUV ( (QPY,P + QPY,Q + 1) / 2 + c_qp_offset )
    을 산출하도록 구성되고,
    QpUV 는 휘도 양자화 파라미터 값들을 색차 양자화 파라미터 값들로 컨버팅하는 함수를 포함하며,
    c_qp_offset 은 상기 색차 양자화 파라미터 오프셋 값을 포함하고,
    QPY,P 는 상기 비디오 데이터의 제 1 블록에 대한 상기 제 1 휘도 양자화 파라미터를 포함하고, QPY,Q 는 상기 비디오 데이터의 제 2 블록에 대한 상기 제 2 휘도 양자화 파라미터를 포함하며,
    (QPY,P + QPY,Q + 1) / 2 는 상기 비디오 데이터의 제 1 블록에 대한 상기 제 1 휘도 양자화 파라미터와 상기 비디오 데이터의 제 2 블록에 대한 상기 제 2 휘도 양자화 파라미터의 상기 평균을 포함하는, 비디오 데이터를 프로세싱하기 위한 장치.
  22. 제 20 항에 있어서,
    상기 에지에 대한 상기 색차 양자화 파라미터를 산출하기 위해,
    상기 비디오 코더는,
    Clip3(0, 51, (QPY,P + QPY,Q + 1)/2 + c_qp_offset) )
    을 산출하도록 구성되고,
    c_qp_offset 은 상기 색차 양자화 파라미터 오프셋 값을 포함하며,
    QPY,P 는 상기 비디오 데이터의 제 1 블록에 대한 상기 제 1 휘도 양자화 파라미터를 포함하고, QPY,Q 는 상기 비디오 데이터의 제 2 블록에 대한 상기 제 2 휘도 양자화 파라미터를 포함하며,
    (QPY,P + QPY,Q + 1) / 2 는 상기 비디오 데이터의 제 1 블록에 대한 상기 제 1 휘도 양자화 파라미터와 상기 비디오 데이터의 제 2 블록에 대한 상기 제 2 휘도 양자화 파라미터의 상기 평균을 포함하는, 비디오 데이터를 프로세싱하기 위한 장치.
  23. 제 20 항에 있어서,
    상기 에지에 대한 상기 색차 양자화 파라미터를 산출하기 위해,
    상기 비디오 코더는,
    Clip3(0, 51, QpUV ( (QPY,P + QPY,Q + 1)/2 ) + cr_qp_offset )
    을 산출하도록 구성되고,
    QpUV 는 휘도 양자화 파라미터 값들을 색차 양자화 파라미터 값들로 컨버팅하는 함수를 포함하며,
    c_qp_offset 은 상기 색차 양자화 파라미터 오프셋 값을 포함하고,
    QPY,P 는 상기 비디오 데이터의 제 1 블록에 대한 상기 제 1 휘도 양자화 파라미터를 포함하고, QPY,Q 는 상기 비디오 데이터의 제 2 블록에 대한 상기 제 2 휘도 양자화 파라미터를 포함하며,
    (QPY,P + QPY,Q + 1) / 2 는 상기 비디오 데이터의 제 1 블록에 대한 상기 제 1 휘도 양자화 파라미터와 상기 비디오 데이터의 제 2 블록에 대한 상기 제 2 휘도 양자화 파라미터의 상기 평균을 포함하는, 비디오 데이터를 프로세싱하기 위한 장치.
  24. 제 19 항에 있어서,
    상기 색차 양자화 파라미터 오프셋 값은 화상 파라미터 세트에서 시그널링되는, 비디오 데이터를 프로세싱하기 위한 장치.
  25. 제 19 항에 있어서,
    상기 비디오 코더는,
    상기 색차 양자화 파라미터 오프셋 값을 상기 비디오 데이터의 제 1 블록에 대한 상기 제 1 휘도 양자화 파라미터에 적용하여 상기 비디오 데이터의 제 1 블록에 대한 제 1 색차 양자화 파라미터를 결정하는 것; 또는
    상기 색차 양자화 파라미터 오프셋 값을 상기 비디오 데이터의 제 2 블록에 대한 상기 제 2 휘도 양자화 파라미터에 적용하여 상기 비디오 데이터의 제 2 블록에 대한 제 2 색차 양자화 파라미터를 결정하는 것
    중 적어도 하나를 행하도록 더 구성되는, 비디오 데이터를 프로세싱하기 위한 장치.
  26. 제 19 항에 있어서,
    상기 색차 컴포넌트에 대한 상기 색차 양자화 파라미터에 기초하여 상기 공통 에지에 대한 상기 디블록킹 필터에 대한 상기 강도를 결정하기 위해, 상기 비디오 코더는 상기 색차 양자화 파라미터에 기초하여 tc 파라미터를 결정하도록 구성되며, 상기 tc 파라미터는 상기 디블록킹 필터의 클리핑 동작에서 적용되는, 비디오 데이터를 프로세싱하기 위한 장치.
  27. 제 19 항에 있어서,
    상기 색차 양자화 파라미터 오프셋 값은 화상 내의 모든 비디오 블록들과 연관된 화상-레벨 색차 양자화 파라미터 오프셋 값을 포함하고, 상기 화상은 하나 이상의 슬라이스들을 포함하며,
    상기 비디오 코더는, 상기 하나 이상의 색차 컴포넌트들의 각각에 대해, 상기 슬라이스들 중 하나의 슬라이스 내의 모든 비디오 블록들과 연관된 슬라이스-레벨 색차 양자화 파라미터 오프셋 값을 결정하도록 더 구성되고,
    상기 에지에 대한 상기 색차 양자화 파라미터를 산출하기 위해, 상기 비디오 코더는, 상기 비디오 데이터의 제 1 블록에 대한 상기 제 1 휘도 양자화 파라미터, 상기 비디오 데이터의 제 2 블록에 대한 상기 제 2 휘도 양자화 파라미터, 상기 색차 컴포넌트에 대한 상기 화상-레벨 색차 양자화 파라미터 오프셋 값, 및 상기 색차 컴포넌트에 대한 상기 슬라이스-레벨 색차 양자화 파라미터 오프셋 값에 기초하여 상기 색차 양자화 파라미터를 산출하도록 더 구성되는, 비디오 데이터를 프로세싱하기 위한 장치.
  28. 제 27 항에 있어서,
    상기 에지에 대한 상기 색차 양자화 파라미터를 산출하기 위해,
    상기 비디오 코더는,
    QpUV ( (QPY,P + QPY,Q + 1)/2 + cr_qp_offset + slice_qp_delta_cr
    을 산출하도록 구성되고,
    QpUV 는 휘도 양자화 파라미터 값들을 색차 양자화 파라미터 값들로 컨버팅하는 함수를 포함하며,
    c_qp_offset 은 상기 화상-레벨 색차 양자화 파라미터 오프셋 값을 포함하고,
    slice_qp_delta_cr 은 상기 슬라이스-레벨 색차 양자화 파라미터 오프셋 값을 포함하며,
    QPY,P 는 상기 비디오 데이터의 제 1 블록에 대한 상기 제 1 휘도 양자화 파라미터를 포함하고, QPY,Q 는 상기 비디오 데이터의 제 2 블록에 대한 상기 제 2 휘도 양자화 파라미터를 포함하며,
    (QPY,P + QPY,Q + 1) / 2 는 상기 비디오 데이터의 제 1 블록에 대한 상기 제 1 휘도 양자화 파라미터와 상기 비디오 데이터의 제 2 블록에 대한 상기 제 2 휘도 양자화 파라미터의 평균을 포함하는, 비디오 데이터를 프로세싱하기 위한 장치.
  29. 제 27 항에 있어서,
    상기 비디오 데이터의 제 1 블록은 제 1 슬라이스-레벨 색차 양자화 파라미터 오프셋 값과 연관된 상기 슬라이스들 중 제 1 슬라이스 내에 있고, 상기 비디오 데이터의 제 2 블록은 제 2 슬라이스-레벨 색차 양자화 파라미터 오프셋 값과 연관된 상기 슬라이스들 중 제 2 슬라이스 내에 있으며,
    상기 슬라이스-레벨 색차 양자화 파라미터 오프셋 값을 결정하기 위해, 상기 비디오 코더는 상기 제 1 슬라이스-레벨 색차 양자화 파라미터 오프셋 값 및 상기 제 2 슬라이스-레벨 색차 양자화 파라미터 오프셋 값 중 하나를 선택하도록 구성되는, 비디오 데이터를 프로세싱하기 위한 장치.
  30. 제 27 항에 있어서,
    상기 비디오 데이터의 제 1 블록은 제 1 슬라이스-레벨 색차 양자화 파라미터 오프셋 값과 연관된 상기 슬라이스들 중 제 1 슬라이스 내에 있고, 상기 비디오 데이터의 제 2 블록은 제 2 슬라이스-레벨 색차 양자화 파라미터 오프셋 값과 연관된 상기 슬라이스들 중 제 2 슬라이스 내에 있으며,
    상기 슬라이스-레벨 색차 양자화 파라미터 오프셋 값을 결정하기 위해, 상기 비디오 코더는 상기 제 1 슬라이스-레벨 색차 양자화 파라미터 오프셋 값과 상기 제 2 슬라이스-레벨 색차 양자화 파라미터 오프셋 값의 평균을 결정하도록 구성되는, 비디오 데이터를 프로세싱하기 위한 장치.
  31. 제 30 항에 있어서,
    상기 에지에 대한 상기 색차 양자화 파라미터를 산출하기 위해,
    상기 비디오 코더는,
    QpUV ( QPY,P + slice_qp_delta_P + QPY,Q + slice_qp_delta_Q + 1)/2 + c_qp_offset)
    을 산출하도록 구성되고,
    QpUV 는 휘도 양자화 파라미터 값들을 색차 양자화 파라미터 값들로 컨버팅하는 함수를 포함하며,
    c_qp_offset 은 상기 화상-레벨 색차 양자화 파라미터 오프셋 값을 포함하고,
    slice_qp_delta_P 는 상기 제 1 슬라이스-레벨 색차 양자화 파라미터 오프셋 값을 포함하며,
    slice_qp_delta_Q 는 상기 제 2 슬라이스-레벨 색차 양자화 파라미터 오프셋 값을 포함하고,
    QPY,P 는 상기 비디오 데이터의 제 1 블록에 대한 상기 제 1 휘도 양자화 파라미터를 포함하고, QPY,Q 는 상기 비디오 데이터의 제 2 블록에 대한 상기 제 2 휘도 양자화 파라미터를 포함하는, 비디오 데이터를 프로세싱하기 위한 장치.
  32. 제 30 항에 있어서,
    상기 에지에 대한 상기 색차 양자화 파라미터를 산출하기 위해,
    상기 비디오 코더는,
    ( QpUV ( QPY,P + c_qp_offset + slice_qp_delta_P) + QpUV ( QPY,Q + c_qp_offset + slice_qp_delta_Q) + 1 ) / 2
    를 산출하도록 구성되고,
    QpUV 는 휘도 양자화 파라미터 값들을 색차 양자화 파라미터 값들로 컨버팅하는 함수를 포함하며,
    c_qp_offset 은 상기 화상-레벨 색차 양자화 파라미터 오프셋 값을 포함하고,
    slice_qp_delta_P 는 상기 제 1 슬라이스-레벨 색차 양자화 파라미터 오프셋 값을 포함하며,
    slice_qp_delta_Q 는 상기 제 2 슬라이스-레벨 색차 양자화 파라미터 오프셋 값을 포함하고,
    QPY,P 는 상기 비디오 데이터의 제 1 블록에 대한 상기 제 1 휘도 양자화 파라미터를 포함하고, QPY,Q 는 상기 비디오 데이터의 제 2 블록에 대한 상기 제 2 휘도 양자화 파라미터를 포함하는, 비디오 데이터를 프로세싱하기 위한 장치.
  33. 제 27 항에 있어서,
    상기 비디오 코더는 색차 포맷을 결정하도록 더 구성되고,
    상기 비디오 데이터의 제 1 블록에 대한 상기 제 1 휘도 양자화 파라미터, 상기 비디오 데이터의 제 2 블록에 대한 상기 제 2 휘도 양자화 파라미터, 상기 색차 컴포넌트에 대한 상기 화상-레벨 색차 양자화 파라미터 오프셋 값, 및 상기 색차 컴포넌트에 대한 상기 슬라이스-레벨 색차 양자화 파라미터 오프셋 값에 기초하여 상기 색차 양자화 파라미터를 산출하기 위해, 상기 비디오 코더는, 상기 색차 포맷에 기초하여, 상기 화상-레벨 색차 양자화 파라미터 오프셋 값 및 상기 슬라이스-레벨 색차 양자화 파라미터 오프셋 값 중 어느 일방이 상기 색차 양자화 파라미터를 산출하는데 이용되는지 여부를 결정하도록 구성되는, 비디오 데이터를 프로세싱하기 위한 장치.
  34. 제 27 항에 있어서,
    상기 비디오 코더는 상기 비디오 데이터와 연관된 프로파일 또는 레벨 중 하나를 결정하도록 더 구성되고,
    상기 비디오 데이터의 제 1 블록에 대한 상기 제 1 휘도 양자화 파라미터, 상기 비디오 데이터의 제 2 블록에 대한 상기 제 2 휘도 양자화 파라미터, 상기 색차 컴포넌트에 대한 상기 화상-레벨 색차 양자화 파라미터 오프셋 값, 및 상기 색차 컴포넌트에 대한 상기 슬라이스-레벨 색차 양자화 파라미터 오프셋 값에 기초하여 상기 색차 양자화 파라미터를 산출하기 위해, 상기 비디오 코더는, 상기 프로파일 또는 레벨에 기초하여, 상기 화상-레벨 색차 양자화 파라미터 오프셋 값 및 상기 슬라이스-레벨 색차 양자화 파라미터 오프셋 값 중 어느 일방이 상기 색차 양자화 파라미터를 산출하는데 이용되는지 여부를 결정하도록 구성되는, 비디오 데이터를 프로세싱하기 위한 장치.
  35. 제 19 항에 있어서,
    상기 비디오 코더는 사용자에 대한 상기 비디오 데이터의 프레젠테이션을 위해 상기 비디오 데이터의 제 1 블록 및 상기 비디오 데이터의 제 2 블록을 디코딩하도록 구성된 비디오 디코더를 포함하는, 비디오 데이터를 프로세싱하기 위한 장치.
  36. 제 19 항에 있어서,
    상기 비디오 코더는 참조 화상 리스트에 저장하기 위해 인코더에 상기 비디오 데이터의 제 1 블록 및 상기 비디오 데이터의 제 2 블록을 디코딩하도록 구성된 비디오 인코더를 포함하고,
    상기 비디오 인코더는 상기 비디오 데이터의 인-루프 필터링을 위해 상기 디블록킹 필터를 적용하도록 구성되는, 비디오 데이터를 프로세싱하기 위한 장치.
  37. 제 19 항에 있어서,
    상기 장치는,
    집적 회로;
    마이크로프로세서; 및
    상기 비디오 코더를 포함하는 무선 통신 디바이스
    중 적어도 하나를 포함하는, 비디오 데이터를 프로세싱하기 위한 장치.
  38. 비디오 데이터의 제 1 블록 및 비디오 데이터의 제 2 블록을 디코딩하는 수단으로서, 상기 비디오 데이터의 제 1 블록 및 상기 비디오 데이터의 제 2 블록은 공통 에지를 공유하는, 상기 비디오 데이터의 제 1 블록 및 비디오 데이터의 제 2 블록을 디코딩하는 수단;
    상기 비디오 데이터의 제 1 블록에 대한 제 1 휘도 양자화 파라미터 및 상기 비디오 데이터의 제 2 블록에 대한 제 2 휘도 양자화 파라미터를 결정하는 수단;
    하나 이상의 색차 (chrominance) 컴포넌트들의 각각에 대해, 색차 양자화 파라미터 오프셋 값을 결정하는 수단;
    상기 하나 이상의 색차 컴포넌트들의 각각에 대해, 상기 비디오 데이터의 제 1 블록에 대한 상기 제 1 휘도 양자화 파라미터, 상기 비디오 데이터의 제 2 블록에 대한 상기 제 2 휘도 양자화 파라미터, 및 상기 색차 컴포넌트에 대한 상기 색차 양자화 파라미터 오프셋 값에 기초하여 상기 에지에 대한 색차 양자화 파라미터를 산출하는 수단;
    상기 하나 이상의 색차 컴포넌트들의 각각에 대해, 상기 색차 컴포넌트에 대한 상기 색차 양자화 파라미터에 기초하여 상기 공통 에지에 대한 디블록킹 필터에 대한 강도를 결정하는 수단; 및
    상기 하나 이상의 색차 컴포넌트들의 각각에 대해, 상기 공통 에지를 디블록킹하기 위해, 결정된 상기 강도에 따라 상기 디블록킹 필터를 적용하는 수단을 포함하는, 비디오 데이터를 프로세싱하기 위한 장치.
  39. 제 38 항에 있어서,
    상기 에지에 대한 색차 양자화 파라미터를 산출하는 수단은,
    상기 비디오 데이터의 제 1 블록에 대한 상기 제 1 휘도 양자화 파라미터와 상기 비디오 데이터의 제 2 블록에 대한 상기 제 2 휘도 양자화 파라미터의 평균을 산출하는 수단; 및
    상기 색차 양자화 파라미터 오프셋 값을 상기 평균에 적용하는 수단을 포함하는, 비디오 데이터를 프로세싱하기 위한 장치.
  40. 제 39 항에 있어서,
    상기 에지에 대한 색차 양자화 파라미터를 산출하는 수단은,
    QpUV ( (QPY,P + QPY,Q + 1) / 2 + c_qp_offset )
    을 산출하는 수단을 포함하고,
    QpUV 는 휘도 양자화 파라미터 값들을 색차 양자화 파라미터 값들로 컨버팅하는 함수를 포함하며,
    c_qp_offset 은 상기 색차 양자화 파라미터 오프셋 값을 포함하고,
    QPY,P 는 상기 비디오 데이터의 제 1 블록에 대한 상기 제 1 휘도 양자화 파라미터를 포함하고, QPY,Q 는 상기 비디오 데이터의 제 2 블록에 대한 상기 제 2 휘도 양자화 파라미터를 포함하며,
    (QPY,P + QPY,Q + 1) / 2 는 상기 비디오 데이터의 제 1 블록에 대한 상기 제 1 휘도 양자화 파라미터와 상기 비디오 데이터의 제 2 블록에 대한 상기 제 2 휘도 양자화 파라미터의 상기 평균을 포함하는, 비디오 데이터를 프로세싱하기 위한 장치.
  41. 제 38 항에 있어서,
    상기 색차 양자화 파라미터 오프셋 값은 화상 파라미터 세트에서 시그널링되는, 비디오 데이터를 프로세싱하기 위한 장치.
  42. 제 38 항에 있어서,
    상기 색차 컴포넌트에 대한 상기 색차 양자화 파라미터에 기초하여 상기 공통 에지에 대한 디블록킹 필터에 대한 강도를 결정하는 수단은, 상기 색차 양자화 파라미터에 기초하여 tc 파라미터를 결정하는 수단을 포함하며, 상기 tc 파라미터는 상기 디블록킹 필터의 클리핑 동작에서 적용되는, 비디오 데이터를 프로세싱하기 위한 장치.
  43. 제 38 항에 있어서,
    상기 색차 양자화 파라미터 오프셋 값은 화상 내의 모든 비디오 블록들과 연관된 화상-레벨 색차 양자화 파라미터 오프셋 값을 포함하고, 상기 화상은 하나 이상의 슬라이스들을 포함하며,
    상기 장치는, 상기 하나 이상의 색차 컴포넌트들의 각각에 대해, 상기 슬라이스들 중 하나의 슬라이스 내의 모든 비디오 블록들과 연관된 슬라이스-레벨 색차 양자화 파라미터 오프셋 값을 결정하는 수단을 더 포함하고,
    상기 에지에 대한 색차 양자화 파라미터를 산출하는 수단은, 상기 비디오 데이터의 제 1 블록에 대한 상기 제 1 휘도 양자화 파라미터, 상기 비디오 데이터의 제 2 블록에 대한 상기 제 2 휘도 양자화 파라미터, 상기 색차 컴포넌트에 대한 상기 화상-레벨 색차 양자화 파라미터 오프셋 값, 및 상기 색차 컴포넌트에 대한 상기 슬라이스-레벨 색차 양자화 파라미터 오프셋 값에 기초하여 상기 색차 양자화 파라미터를 산출하는 수단을 포함하는, 비디오 데이터를 프로세싱하기 위한 장치.
  44. 제 43 항에 있어서,
    상기 비디오 데이터의 제 1 블록은 제 1 슬라이스-레벨 색차 양자화 파라미터 오프셋 값과 연관된 상기 슬라이스들 중 제 1 슬라이스 내에 있고, 상기 비디오 데이터의 제 2 블록은 제 2 슬라이스-레벨 색차 양자화 파라미터 오프셋 값과 연관된 상기 슬라이스들 중 제 2 슬라이스 내에 있으며,
    상기 슬라이스-레벨 색차 양자화 파라미터 오프셋 값을 결정하는 수단은, 상기 제 1 슬라이스-레벨 색차 양자화 파라미터 오프셋 값 및 상기 제 2 슬라이스-레벨 색차 양자화 파라미터 오프셋 값 중 하나를 선택하는 수단을 포함하는, 비디오 데이터를 프로세싱하기 위한 장치.
  45. 제 43 항에 있어서,
    상기 비디오 데이터의 제 1 블록은 제 1 슬라이스-레벨 색차 양자화 파라미터 오프셋 값과 연관된 상기 슬라이스들 중 제 1 슬라이스 내에 있고, 상기 비디오 데이터의 제 2 블록은 제 2 슬라이스-레벨 색차 양자화 파라미터 오프셋 값과 연관된 상기 슬라이스들 중 제 2 슬라이스 내에 있으며,
    상기 슬라이스-레벨 색차 양자화 파라미터 오프셋 값을 결정하는 수단은, 상기 제 1 슬라이스-레벨 색차 양자화 파라미터 오프셋 값과 상기 제 2 슬라이스-레벨 색차 양자화 파라미터 오프셋 값의 평균을 결정하는 수단을 포함하는, 비디오 데이터를 프로세싱하기 위한 장치.
  46. 저장된 명령들을 포함하는 컴퓨터 판독가능 저장 매체로서,
    상기 명령들은, 실행되는 경우, 비디오 코더의 프로세서로 하여금,
    비디오 데이터의 제 1 블록 및 비디오 데이터의 제 2 블록을 디코딩하게 하고, 상기 비디오 데이터의 제 1 블록 및 상기 비디오 데이터의 제 2 블록은 공통 에지를 공유하며;
    상기 비디오 데이터의 제 1 블록에 대한 제 1 휘도 양자화 파라미터 및 상기 비디오 데이터의 제 2 블록에 대한 제 2 휘도 양자화 파라미터를 결정하게 하며;
    하나 이상의 색차 (chrominance) 컴포넌트들의 각각에 대해, 색차 양자화 파라미터 오프셋 값을 결정하게 하고;
    상기 하나 이상의 색차 컴포넌트들의 각각에 대해, 상기 비디오 데이터의 제 1 블록에 대한 상기 제 1 휘도 양자화 파라미터, 상기 비디오 데이터의 제 2 블록에 대한 상기 제 2 휘도 양자화 파라미터, 및 상기 색차 컴포넌트에 대한 상기 색차 양자화 파라미터 오프셋 값에 기초하여 상기 에지에 대한 색차 양자화 파라미터를 산출하게 하며;
    상기 하나 이상의 색차 컴포넌트들의 각각에 대해, 상기 색차 컴포넌트에 대한 상기 색차 양자화 파라미터에 기초하여 상기 공통 에지에 대한 디블록킹 필터에 대한 강도를 결정하게 하고;
    상기 하나 이상의 색차 컴포넌트들의 각각에 대해, 상기 공통 에지를 디블록킹하기 위해 결정된 상기 강도에 따라 상기 디블록킹 필터를 적용하게 하는, 컴퓨터 판독가능 저장 매체.
  47. 제 46 항에 있어서,
    상기 프로세서로 하여금 상기 에지에 대한 상기 색차 양자화 파라미터를 산출하게 하는 상기 명령들은, 상기 프로세서로 하여금,
    상기 비디오 데이터의 제 1 블록에 대한 상기 제 1 휘도 양자화 파라미터와 상기 비디오 데이터의 제 2 블록에 대한 상기 제 2 휘도 양자화 파라미터의 평균을 산출하게 하고;
    상기 색차 양자화 파라미터 오프셋 값을 상기 평균에 적용하게 하는 명령들을 포함하는, 컴퓨터 판독가능 저장 매체.
  48. 제 47 항에 있어서,
    상기 프로세서로 하여금 상기 에지에 대한 상기 색차 양자화 파라미터를 산출하게 하는 상기 명령들은, 상기 프로세서로 하여금,
    QpUV ( (QPY,P + QPY,Q + 1) / 2 + c_qp_offset )
    을 산출하게 하는 명령들을 포함하고,
    QpUV 는 휘도 양자화 파라미터 값들을 색차 양자화 파라미터 값들로 컨버팅하는 함수를 포함하며,
    c_qp_offset 은 상기 색차 양자화 파라미터 오프셋 값을 포함하고,
    QPY,P 는 상기 비디오 데이터의 제 1 블록에 대한 상기 제 1 휘도 양자화 파라미터를 포함하고, QPY,Q 는 상기 비디오 데이터의 제 2 블록에 대한 상기 제 2 휘도 양자화 파라미터를 포함하며,
    (QPY,P + QPY,Q + 1) / 2 는 상기 비디오 데이터의 제 1 블록에 대한 상기 제 1 휘도 양자화 파라미터와 상기 비디오 데이터의 제 2 블록에 대한 상기 제 2 휘도 양자화 파라미터의 상기 평균을 포함하는, 컴퓨터 판독가능 저장 매체.
  49. 제 46 항에 있어서,
    상기 색차 양자화 파라미터 오프셋 값은 화상 파라미터 세트에서 시그널링되는, 컴퓨터 판독가능 저장 매체.
  50. 제 46 항에 있어서,
    프로세서로 하여금 상기 색차 컴포넌트에 대한 상기 색차 양자화 파라미터에 기초하여 상기 공통 에지에 대한 디블록킹 필터에 대한 강도를 결정하게 하는 상기 명령들은, 상기 프로세서로 하여금 상기 색차 양자화 파라미터에 기초하여 tc 파라미터를 결정하게 하는 명령들을 포함하며, 상기 tc 파라미터는 상기 디블록킹 필터의 클리핑 동작에서 적용되는, 컴퓨터 판독가능 저장 매체.
  51. 제 46 항에 있어서,
    상기 색차 양자화 파라미터 오프셋 값은 화상 내의 모든 비디오 블록들과 연관된 화상-레벨 색차 양자화 파라미터 오프셋 값을 포함하고, 상기 화상은 하나 이상의 슬라이스들을 포함하며,
    상기 매체는, 상기 프로세서로 하여금, 상기 하나 이상의 색차 컴포넌트들의 각각에 대해, 상기 슬라이스들 중 하나의 슬라이스 내의 모든 비디오 블록들과 연관된 슬라이스-레벨 색차 양자화 파라미터 오프셋 값을 결정하게 하는 명령들을 더 포함하고,
    상기 프로세서로 하여금 상기 에지에 대한 상기 색차 양자화 파라미터를 산출하게 하는 상기 명령들은, 상기 프로세서로 하여금, 상기 비디오 데이터의 제 1 블록에 대한 상기 제 1 휘도 양자화 파라미터, 상기 비디오 데이터의 제 2 블록에 대한 상기 제 2 휘도 양자화 파라미터, 상기 색차 컴포넌트에 대한 상기 화상-레벨 색차 양자화 파라미터 오프셋 값, 및 상기 색차 컴포넌트에 대한 상기 슬라이스-레벨 색차 양자화 파라미터 오프셋 값에 기초하여 상기 색차 양자화 파라미터를 산출하게 하는 명령들을 포함하는, 컴퓨터 판독가능 저장 매체.
  52. 제 51 항에 있어서,
    상기 비디오 데이터의 제 1 블록은 제 1 슬라이스-레벨 색차 양자화 파라미터 오프셋 값과 연관된 상기 슬라이스들 중 제 1 슬라이스 내에 있고, 상기 비디오 데이터의 제 2 블록은 제 2 슬라이스-레벨 색차 양자화 파라미터 오프셋 값과 연관된 상기 슬라이스들 중 제 2 슬라이스 내에 있으며,
    상기 프로세서로 하여금 상기 슬라이스-레벨 색차 양자화 파라미터 오프셋 값을 결정하게 하는 상기 명령들은, 상기 프로세서로 하여금, 상기 제 1 슬라이스-레벨 색차 양자화 파라미터 오프셋 값 및 상기 제 2 슬라이스-레벨 색차 양자화 파라미터 오프셋 값 중 하나를 선택하게 하는 명령들을 포함하는, 컴퓨터 판독가능 저장 매체.
  53. 제 51 항에 있어서,
    상기 비디오 데이터의 제 1 블록은 제 1 슬라이스-레벨 색차 양자화 파라미터 오프셋 값과 연관된 상기 슬라이스들 중 제 1 슬라이스 내에 있고, 상기 비디오 데이터의 제 2 블록은 제 2 슬라이스-레벨 색차 양자화 파라미터 오프셋 값과 연관된 상기 슬라이스들 중 제 2 슬라이스 내에 있으며,
    상기 프로세서로 하여금 상기 슬라이스-레벨 색차 양자화 파라미터 오프셋 값을 결정하게 하는 상기 명령들은, 상기 프로세서로 하여금, 상기 제 1 슬라이스-레벨 색차 양자화 파라미터 오프셋 값과 상기 제 2 슬라이스-레벨 색차 양자화 파라미터 오프셋 값의 평균을 결정하게 하는 명령들을 포함하는, 컴퓨터 판독가능 저장 매체.
KR1020147030695A 2012-04-03 2013-04-02 크로마 슬라이스-레벨 qp 오프셋 및 디블록킹 KR101726484B1 (ko)

Applications Claiming Priority (11)

Application Number Priority Date Filing Date Title
US201261619806P 2012-04-03 2012-04-03
US61/619,806 2012-04-03
US201261668810P 2012-07-06 2012-07-06
US61/668,810 2012-07-06
US201261704941P 2012-09-24 2012-09-24
US61/704,941 2012-09-24
US201261708497P 2012-10-01 2012-10-01
US61/708,497 2012-10-01
US13/826,124 2013-03-14
US13/826,124 US9451258B2 (en) 2012-04-03 2013-03-14 Chroma slice-level QP offset and deblocking
PCT/US2013/034961 WO2013152007A1 (en) 2012-04-03 2013-04-02 Chroma slice-level qp offset and deblocking

Publications (2)

Publication Number Publication Date
KR20150003246A true KR20150003246A (ko) 2015-01-08
KR101726484B1 KR101726484B1 (ko) 2017-04-12

Family

ID=49235015

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020147030695A KR101726484B1 (ko) 2012-04-03 2013-04-02 크로마 슬라이스-레벨 qp 오프셋 및 디블록킹

Country Status (15)

Country Link
US (1) US9451258B2 (ko)
EP (1) EP2834979A1 (ko)
JP (1) JP6165840B2 (ko)
KR (1) KR101726484B1 (ko)
CN (1) CN104205836B (ko)
AU (1) AU2013243604B2 (ko)
CA (1) CA2866781C (ko)
HK (1) HK1203117A1 (ko)
IL (1) IL234521A (ko)
MY (1) MY168174A (ko)
PH (1) PH12014502045B1 (ko)
RU (1) RU2636103C2 (ko)
SG (1) SG11201405476TA (ko)
TW (1) TWI479869B (ko)
WO (1) WO2013152007A1 (ko)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20210064396A (ko) * 2017-04-06 2021-06-02 파나소닉 인텔렉츄얼 프로퍼티 코포레이션 오브 아메리카 부호화 장치, 복호 장치, 부호화 방법 및 복호 방법
US11375186B2 (en) 2017-04-06 2022-06-28 Panasonic Intellectual Property Corporation Of America Encoder, decoder, encoding method, and decoding method
US11882301B2 (en) 2020-06-11 2024-01-23 Tencent America LLC Modified quantizer

Families Citing this family (57)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9756327B2 (en) * 2012-04-03 2017-09-05 Qualcomm Incorporated Quantization matrix and deblocking filter adjustments for video coding
TWI569625B (zh) * 2012-04-06 2017-02-01 Sony Corp Image processing apparatus and method, program, and recording medium
US9414054B2 (en) 2012-07-02 2016-08-09 Microsoft Technology Licensing, Llc Control and use of chroma quantization parameter values
US9591302B2 (en) * 2012-07-02 2017-03-07 Microsoft Technology Licensing, Llc Use of chroma quantization parameter offsets in deblocking
AU2013200051B2 (en) * 2013-01-04 2016-02-11 Canon Kabushiki Kaisha Method, apparatus and system for de-blocking video data
GB2512826B (en) * 2013-04-05 2017-05-10 Canon Kk Method and device for determining the value of a quantization parameter
US9294766B2 (en) * 2013-09-09 2016-03-22 Apple Inc. Chroma quantization in video coding
CN110177276B (zh) * 2014-02-26 2021-08-24 杜比实验室特许公司 处理视频图像的空间区域的方法、存储介质及计算装置
CN105264888B (zh) 2014-03-04 2018-09-14 微软技术许可有限责任公司 用于对色彩空间、色彩采样率和/或比特深度自适应切换的编码策略
CN110049325B (zh) 2014-03-04 2022-07-05 微软技术许可有限责任公司 色彩空间、色彩采样率和/或比特深度的自适应切换
JP6367359B2 (ja) * 2014-03-27 2018-08-01 マイクロソフト テクノロジー ライセンシング,エルエルシー 色空間を切り替えるときの量子化/スケーリング及び逆量子化/スケーリングの調整
US10142642B2 (en) 2014-06-04 2018-11-27 Qualcomm Incorporated Block adaptive color-space conversion coding
US20170295369A1 (en) * 2014-10-06 2017-10-12 Sony Corporation Image processing device and method
CN105960802B (zh) 2014-10-08 2018-02-06 微软技术许可有限责任公司 切换色彩空间时对编码和解码的调整
US9445131B1 (en) * 2015-01-23 2016-09-13 Faroudja Enterprises, Inc. De-blocking and de-banding filter with adjustable filter strength for video and image processing
WO2017045101A1 (en) * 2015-09-14 2017-03-23 Mediatek Singapore Pte. Ltd. Advanced deblocking filter in video coding
US10432936B2 (en) * 2016-04-14 2019-10-01 Qualcomm Incorporated Apparatus and methods for perceptual quantization parameter (QP) weighting for display stream compression
US10735725B2 (en) 2016-09-14 2020-08-04 Microsoft Technology Licensing, Llc Boundary-intersection-based deblock filtering
EP3547685A4 (en) * 2016-11-28 2020-08-05 Nippon Hoso Kyokai CODING DEVICE, DECODING DEVICE, CODING METHODS, AND DECODING METHODS
EP3349455A1 (en) * 2017-01-11 2018-07-18 Thomson Licensing Method and device for coding a block of video data, method and device for decoding a block of video data
RU2759218C2 (ru) * 2017-06-21 2021-11-11 Вид Скейл, Инк. Адаптивное квантование для кодирования 360-градусного видео
US11019339B2 (en) 2017-07-12 2021-05-25 Futurewei Technologies, Inc. Fractional quantization parameter offset in video compression
US10778978B2 (en) * 2017-08-21 2020-09-15 Qualcomm Incorporated System and method of cross-component dynamic range adjustment (CC-DRA) in video coding
CN113573057B (zh) * 2018-02-01 2023-07-18 寰发股份有限公司 具有视频数据自适应量化的视频编码或解码方法和装置
US10298895B1 (en) * 2018-02-15 2019-05-21 Wipro Limited Method and system for performing context-based transformation of a video
AU2019342803B2 (en) * 2018-09-21 2023-07-13 Huawei Technologies Co., Ltd. Apparatus and method for inverse quantization
EP3857883A1 (en) * 2018-09-24 2021-08-04 InterDigital VC Holdings, Inc. Method and apparatus for determining chroma quantization parameters when using separate coding trees for luma and chroma
CN113906763B (zh) * 2019-05-05 2024-01-12 北京字节跳动网络技术有限公司 用于视频编解码的色度去方块协调
WO2020224629A1 (en) 2019-05-08 2020-11-12 Beijing Bytedance Network Technology Co., Ltd. Conditions for applicability of cross-component coding
CN114745544B (zh) * 2019-05-28 2024-05-28 杜比实验室特许公司 用信号发送量化参数的方法和计算机可读记录介质
BR112021026046A2 (pt) 2019-06-24 2022-02-08 Huawei Tech Co Ltd Níveis de clipping para filtro loop adaptativo não linear
US11418787B2 (en) 2019-06-28 2022-08-16 Qualcomm Incorporated Chroma delta QP in video coding
US11057623B2 (en) * 2019-07-03 2021-07-06 Qualcomm Incorporated Deblock filtering for video coding
US11381819B2 (en) 2019-07-05 2022-07-05 Qualcomm Incorporated Chroma delta quantization parameter (QP) in video coding
KR102660738B1 (ko) 2019-07-07 2024-04-26 베이징 바이트댄스 네트워크 테크놀로지 컴퍼니, 리미티드 크로마 잔차 스케일링의 시그널링
JP7326585B2 (ja) * 2019-08-22 2023-08-15 エルジー エレクトロニクス インコーポレイティド 画像デコード方法及びその装置
US20210058620A1 (en) * 2019-08-23 2021-02-25 Qualcomm Incorporated Chroma quantization parameter (qp) derivation for video coding
MX2021008260A (es) 2019-08-23 2021-08-16 Huawei Tech Co Ltd Un codificador, un decodificador y metodos correspondientes para ejecutar desbloqueo de crominancia para bloques que utilizan codificacion de crominancia conjunta.
CN114342369A (zh) * 2019-09-02 2022-04-12 北京字节跳动网络技术有限公司 用于视频编解码的色度去方块调谐
WO2021051044A1 (en) 2019-09-14 2021-03-18 Bytedance Inc. Quantization parameter offset for chroma deblocking filtering
CN114503597B (zh) * 2019-09-21 2024-03-12 字节跳动有限公司 视频编解码中的色度去方块方法
WO2021072177A1 (en) 2019-10-09 2021-04-15 Bytedance Inc. Cross-component adaptive loop filtering in video coding
JP2022552338A (ja) 2019-10-14 2022-12-15 バイトダンス インコーポレイテッド クロマ残差の共同コーディング及びビデオ処理におけるフィルタリング
WO2021101317A1 (ko) * 2019-11-22 2021-05-27 엘지전자 주식회사 무손실 색상 변환을 이용한 영상 부호화/복호화 방법, 장치 및 비트스트림을 전송하는 방법
CN114762352A (zh) * 2019-11-27 2022-07-15 北京达佳互联信息技术有限公司 用于视频编解码的去块滤波
EP4055827A4 (en) 2019-12-09 2023-01-18 ByteDance Inc. USING QUANTIFICATION GROUPS IN VIDEO CODING
WO2021121419A1 (en) 2019-12-19 2021-06-24 Beijing Bytedance Network Technology Co., Ltd. Interaction between adaptive color transform and quantization parameters
CN114902657A (zh) 2019-12-31 2022-08-12 字节跳动有限公司 视频编解码中的自适应颜色变换
CN112544079A (zh) * 2019-12-31 2021-03-23 北京大学 视频编解码的方法和装置
WO2021136554A1 (en) 2020-01-05 2021-07-08 Beijing Bytedance Network Technology Co., Ltd. General constraints information for video coding
CN114946180B (zh) * 2020-01-15 2024-07-09 抖音视界(北京)有限公司 使用量化参数信息的去方块滤波
CN115176470A (zh) 2020-01-18 2022-10-11 抖音视界有限公司 图像/视频编解码中的自适应颜色变换
KR20220131250A (ko) 2020-02-05 2022-09-27 베이징 바이트댄스 네트워크 테크놀로지 컴퍼니, 리미티드 크로마 컴포넌트에 대한 디블로킹 파라미터
WO2021155833A1 (en) 2020-02-05 2021-08-12 Beijing Bytedance Network Technology Co., Ltd. Palette mode for local dual tree
US11558616B2 (en) 2020-03-05 2023-01-17 Qualcomm Incorporated Methods for quantization parameter control for video coding with joined pixel/transform based quantization
CN114727107B (zh) * 2021-01-04 2024-01-23 北京金山云网络技术有限公司 一种视频处理方法、装置、设备及介质
US11652996B2 (en) * 2021-05-25 2023-05-16 Tencent America LLC Method and apparatus for video coding

Family Cites Families (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7227901B2 (en) * 2002-11-21 2007-06-05 Ub Video Inc. Low-complexity deblocking filter
US7349689B2 (en) 2003-07-01 2008-03-25 Microsoft Corporation Communications device processor peripheral
CN1973546B (zh) * 2004-03-09 2010-05-12 汤姆森研究基金公司 用于高级视频编码的降低分辨率更新模式
CN100438629C (zh) * 2005-09-19 2008-11-26 华为技术有限公司 图像编码处理中的环路滤波方法
JP4769605B2 (ja) 2006-03-17 2011-09-07 富士通株式会社 動画像符号装置及び方法
TWI348653B (en) 2006-06-08 2011-09-11 Via Tech Inc Decoding of context adaptive binary arithmetic codes in computational core of programmable graphics processing unit
US8233048B2 (en) 2006-09-19 2012-07-31 Mavs Lab. Inc. Method for indexing a sports video program carried by a video stream
JP2009004920A (ja) * 2007-06-19 2009-01-08 Panasonic Corp 画像符号化装置および画像符号化方法
US8331444B2 (en) * 2007-06-26 2012-12-11 Qualcomm Incorporated Sub-band scanning techniques for entropy coding of sub-bands
TW200922328A (en) 2007-11-13 2009-05-16 Univ Nat Cheng Kung Hierarchical multimedia streaming system of utilizing video synchronization and bandwidth adaption techniques
US8150187B1 (en) 2007-11-29 2012-04-03 Lsi Corporation Baseband signal quantizer estimation
WO2010007727A1 (ja) 2008-07-17 2010-01-21 パナソニック株式会社 映像記録装置、映像再生装置およびその方法
EP2237557A1 (en) 2009-04-03 2010-10-06 Panasonic Corporation Coding for filter coefficients
US9185430B2 (en) * 2010-03-15 2015-11-10 Mediatek Singapore Pte. Ltd. Deblocking filtering method and deblocking filter
JP5464435B2 (ja) 2010-04-09 2014-04-09 ソニー株式会社 画像復号装置および方法
JP2012034213A (ja) * 2010-07-30 2012-02-16 Toshiba Corp 画像処理装置、画像処理システムおよび画像処理方法
US9756327B2 (en) 2012-04-03 2017-09-05 Qualcomm Incorporated Quantization matrix and deblocking filter adjustments for video coding

Non-Patent Citations (4)

* Cited by examiner, † Cited by third party
Title
Greert Van der Auwera, et al., ‘Chroma Qp offsets and Chroma Deblocking Filter’, (JCTVC-I0283), JCT-VC of ITU-T SG 16 WP 3 and ISO/IEC JTC 1/SC 29/WG11, 9th Meeting: Geneva, CH, 16 April 2012 *
Jun Xu, et al., "Chroma QP extension", (JCTVC-H0400r2) JCT-VC of ITU-T SG 16 WP 3 and ISO/IEC JTC 1/SC 29/WG11, 8th Meeting: San Jose, CA, USA, 13 January 2012 *
Jun Xu, et al., ‘Chroma QP extension and signalling enhancementr’, (JCTVC-I0265), JCT-VC of ITU-T SG 16 WP 3 and ISO/IEC JTC 1/SC 29/WG11, 9th Meeting: Geneva, CH, 27 April 2012 *
Xu, A. Talabatabai, ‘Consideration on chroma QP range extension for HEVC version 1 and’, (JCTVC-J0318), JCT-VC of ITU-T SG 16 WP 3 and ISO/IEC JTC 1/SC 29/WG11, 10th Meeting: Stockholm, SE, 11-20 July *

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20210064396A (ko) * 2017-04-06 2021-06-02 파나소닉 인텔렉츄얼 프로퍼티 코포레이션 오브 아메리카 부호화 장치, 복호 장치, 부호화 방법 및 복호 방법
KR20220003675A (ko) * 2017-04-06 2022-01-10 파나소닉 인텔렉츄얼 프로퍼티 코포레이션 오브 아메리카 부호화 장치, 복호 장치, 부호화 방법 및 복호 방법
US11375186B2 (en) 2017-04-06 2022-06-28 Panasonic Intellectual Property Corporation Of America Encoder, decoder, encoding method, and decoding method
KR20220119753A (ko) * 2017-04-06 2022-08-30 파나소닉 인텔렉츄얼 프로퍼티 코포레이션 오브 아메리카 부호화 장치, 복호 장치, 부호화 방법 및 복호 방법
US11778178B2 (en) 2017-04-06 2023-10-03 Panasonic Intellectual Property Corporation Of America Encoder, decoder, encoding method, and decoding method
US11882301B2 (en) 2020-06-11 2024-01-23 Tencent America LLC Modified quantizer

Also Published As

Publication number Publication date
RU2014144303A (ru) 2016-05-27
CN104205836A (zh) 2014-12-10
US20130259141A1 (en) 2013-10-03
US9451258B2 (en) 2016-09-20
CN104205836B (zh) 2018-01-02
WO2013152007A1 (en) 2013-10-10
MY168174A (en) 2018-10-11
IL234521A (en) 2017-03-30
EP2834979A1 (en) 2015-02-11
KR101726484B1 (ko) 2017-04-12
PH12014502045A1 (en) 2014-12-10
RU2636103C2 (ru) 2017-11-20
AU2013243604B2 (en) 2017-10-12
JP6165840B2 (ja) 2017-07-19
BR112014024749A8 (pt) 2021-06-22
CA2866781C (en) 2019-05-21
BR112014024749A2 (pt) 2017-06-20
AU2013243604A1 (en) 2014-10-02
PH12014502045B1 (en) 2014-12-10
CA2866781A1 (en) 2013-10-10
TW201404160A (zh) 2014-01-16
JP2015512600A (ja) 2015-04-27
HK1203117A1 (en) 2015-10-16
TWI479869B (zh) 2015-04-01
SG11201405476TA (en) 2014-11-27

Similar Documents

Publication Publication Date Title
KR101726484B1 (ko) 크로마 슬라이스-레벨 qp 오프셋 및 디블록킹
US10412419B2 (en) Adaptive filtering in video coding
KR101854893B1 (ko) 비디오 코딩에서 4:2:2 샘플 포맷에 대한 인트라 코딩
KR101607788B1 (ko) 비디오 코딩에서 슬라이스 경계들 또는 타일 경계들 주위의 루프 필터링
KR101633197B1 (ko) 변환 의존적 디블록킹 필터링의 수행
KR101719971B1 (ko) 비디오 코딩을 위한 크로마 데이터의 디블록킹
KR101642615B1 (ko) 비디오 코딩에서 양자화 파라미터 예측
KR102334126B1 (ko) 인트라 블록 복사를 위한 레지듀얼 예측
KR101619004B1 (ko) 인트라 예측 코딩에 있어서의 최빈 변환
KR101772350B1 (ko) 비디오 코딩을 위한 고 정확도 명시적 가중 예측
EP2984827B1 (en) Sample adaptive offset scaling based on bit-depth
KR102031468B1 (ko) 팔레트 모드 코딩을 위한 이스케이프 픽셀들 코딩
KR20170066402A (ko) 비디오 코딩에서의 적응적 컬러 변환을 위한 qp 도출 및 오프셋
KR20160047486A (ko) 인트라 블록 복사를 수행할 경우의 지역들의 결정
KR20170068460A (ko) 인트라블록 카피를 위한 디블록 필터링
KR20160132866A (ko) 블록 적응적 컬러­공간 변환 코딩
KR20150110516A (ko) 라인 버퍼가 감소된 디블로킹 필터

Legal Events

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