KR20220138864A - 이미지 또는 비디오 프로세싱 시스템에서의 루프 필터 파라미터 시그널링 방법 및 장치 - Google Patents

이미지 또는 비디오 프로세싱 시스템에서의 루프 필터 파라미터 시그널링 방법 및 장치 Download PDF

Info

Publication number
KR20220138864A
KR20220138864A KR1020227031849A KR20227031849A KR20220138864A KR 20220138864 A KR20220138864 A KR 20220138864A KR 1020227031849 A KR1020227031849 A KR 1020227031849A KR 20227031849 A KR20227031849 A KR 20227031849A KR 20220138864 A KR20220138864 A KR 20220138864A
Authority
KR
South Korea
Prior art keywords
chroma
picture
slice
pps
current
Prior art date
Application number
KR1020227031849A
Other languages
English (en)
Inventor
치아-밍 차이
치-웨이 수
시-타 시앙
Original Assignee
에이치에프아이 이노베이션 인크.
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 에이치에프아이 이노베이션 인크. filed Critical 에이치에프아이 이노베이션 인크.
Publication of KR20220138864A publication Critical patent/KR20220138864A/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/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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/17Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object
    • H04N19/172Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object the region being a picture, frame or field
    • 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/17Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object
    • H04N19/176Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object the region being a block, e.g. a macroblock
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/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/70Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by syntax aspects related to video coding, e.g. related to compression standards
    • 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
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)
  • Ultra Sonic Daignosis Equipment (AREA)
  • Magnetic Resonance Imaging Apparatus (AREA)

Abstract

이미지 또는 비디오 프로세싱 방법 및 장치는 현재 픽처 또는 현재 픽처에서 현재 슬라이스와 연관된 입력 데이터를 수신하는 단계, 현재 픽처가 모노크롬 픽처인지 여부를 결정하는 단계, 현재 픽처가 모노크롬 픽처인지 여부에 따라 크로마 디블록킹 파라미터들을 조건부로 시그널링하거나 파싱하는 단계, 및 현재 픽처 또는 현재 슬라이스를 인코딩 또는 디코딩하는 단계를 포함한다. 크로마 디블록킹 파라미터들은 현재 픽처가 모노크롬 픽처가 아닐 때 현재 픽처 또는 현재 슬라이스의 크로마 성분들에 적용되는 디블록킹 필터 연산에 사용된다. 신택스 요소는 크로마 디블록킹 파라미터들의 도출을 나타내기 위해 사용될 수 있고, 신택스 요소의 값에 기초하여 크로마 디블록킹 파라미터들이 명시적으로 신택스 구조에서 시그널링되거나 신택스 구조로부터 파싱되도록 허용되거나, 또는 크로마 디블록킹 파라미터들이 암시적으로 추론된다.

Description

이미지 또는 비디오 프로세싱 시스템에서의 루프 필터 파라미터 시그널링 방법 및 장치
관련 출원에 대한 상호 참조
본 발명은 "Methods and Apparatus of Signalling Loop Filter Parameters for Image and Video Coding"이라는 명칭으로 2020년 2월 26일에 출원된 미국 임시 특허출원 No. 62/981,583에 대해 우선권을 주장한다. 상기 미국 임시 특허출원은 그 전체가 참고로 여기에 포함된다.
발명의 분야
본 발명은 이미지 또는 비디오 인코딩 또는 디코딩을 위한 이미지 또는 비디오 데이터 프로세싱 방법 및 장치에 관한 것이다. 특히, 본 발명은 이미지 또는 비디오 프로세싱 시스템을 위한 루프 필터 파라미터 시그널링(loop filter parameter signaling)에 관한 것이다.
고효율 비디오 코딩(High-Efficiency Video Coding, HEVC) 표준은 ITU-T 연구 그룹의 비디오 코딩 전문가로 구성된 JCT-VC(Joint Collaborative Team on Video Coding) 그룹에 의해 개발된 최신 비디오 코딩 표준이다. HEVC 표준은 각각의 슬라이스(slice)를 다수의 코딩 트리 유닛(Coding Tree Unit, CTU)들로 분할하는 블록-기반 코딩 구조에 의존한다. CTU는 휘도(luminance)(루마(luma)) 샘플들의 NxN 블록과 색차(chrominance)(크로마(chroma)) 샘플들의 2개의 대응하는 블록으로 구성된다. 도 1은 다수의 CTU들로 분할된 픽처의 일 예를 나타낸다. HEVC에서, 루마 변환 블록의 최대 크기는 64x64이지만 CTU에서 최대 허용된 루마 블록 크기는 128x128로 지정된다. 슬라이스에서 CTU들은 래스터(raster) 스캔 순서에 따라 프로세싱된다. 각각의 CTU는 다양한 로컬 특성에 적응하기 위해 쿼드트리(quadtree, QT) 파티셔닝 방식에 따라 하나 이상의 코딩 유닛(Coding Unit, CU)으로 재귀적으로(recursively) 더 분할된다. 각각의 CTU는 단일 CU이거나 동일한 크기의 4개의 더 작은 유닛들로 스플리팅될 수 있고, 이들은 코딩 트리의 스플릿 노드들(split nodes)이다. 유닛들이 코딩 트리의 리프 노드들(leaf nodes)이면 상기 유닛들은 CU들이 되고, 그렇지 않으면 쿼드트리 스플리팅(splitting) 프로세스가 노드의 크기가 시퀀스 파라미터 세트(Sequence Parameter Set, SPS)에 지정된 최소 허용된 CU 크기에 도달할 때까지 각각의 유닛을 반복적으로 파티셔닝한다.
예측 결정(prediction decision)은 CU 레벨에서 이루어지며, 여기서 각각의 CU는 인터 픽처(시간) 예측 또는 인트라 픽처(공간) 예측에 의해 코딩된다. CU 계층적 트리의 스플리팅이 완료되면, 각각의 CU는 HEVC에서 예측을 위한 예측 유닛(Prediction Unit, PU) 파티션 타입에 따라 하나 이상의 예측 유닛(PU)들로 더 스플리팅된다. PU의 모든 픽셀에 동일한 예측 프로세스가 적용되고 예측 관련 정보는 PU 기반으로 디코더에 전달되기 때문에, PU는 예측 정보를 공유하기 위한 기본적인 대표 블록으로 작용한다. PU 스플리팅 타입에 기초한 예측 프로세스에 의해 생성된 잔차 신호(residual signal)를 획득한 후, 하나의 CU에 속하는 잔차 신호의 데이터는 상기 잔차 신호를 컴팩트 데이터(compact data) 표현을 위한 변환 계수들(transform coefficients)로 변환하기 위해 또 다른 QT 블록 파티셔닝 구조에 따라 하나 이상의 변환 유닛(Transform Unit, TU)들로 더 스플리팅된다. TU는 잔차 신호에 정수 변환(integer transform) 및 양자화(quantization)를 적용하기 위한 기본적인 대표 블록이다. 각각의 TU에 대해, TU와 동일한 크기를 갖는 하나의 변환 행렬이 잔차 신호에 적용되어 변환 계수들을 생성하고, 이러한 변환 계수들은 양자화되어 TU 기반으로 디코더에 전달된다.
용어 코딩 트리 블록(Coding Tree Block, CTB), 코딩 블록(Coding block, CB), 예측 블록(Prediction Block, PB) 및 변환 블록(Transform Block, TB)은 CTU, CU, PU 및 TU와 각각 연관된 하나의 색상 성분의 2차원 샘플 어레이를 지정하도록 정의된다. 예를 들어, CTU는 하나의 휘도(루마) CTB, 두 개의 색차(크로마) CTB, 및 그것의 연관 신택스 요소들(syntax elements)로 구성된다. HEVC 시스템에서는, 크로마 블록의 최소 크기에 도달되지 않은 한, 일반적으로 동일한 쿼드트리 블록 파티셔닝 구조가 루마 및 크로마 성분들 모두에 적용된다.
픽처의 다양한 파티셔닝(Various Partitioning of Pictures) 픽처는 하나 이상의 타일(tile) 행과 하나 이상의 타일 열로 분할된다. 타일은 픽처의 직사각형 영역을 커버하는 일련의 CTU들이다. 슬라이스(slice)는 정수 개수의 완전한 타일들 또는 픽처의 타일 내 정수 개수의 연속적인 완전한 CTU 행들로 구성된다. 래스터-스캔 슬라이스 모드와 직사각형 슬라이스 모드는 비디오 인코딩 및 디코딩에서 지원되는 두 가지 슬라이스 모드이다. 래스터-스캔(raster-scan) 슬라이스 모드에서, 슬라이스는 픽처의 타일 래스터 스캔에서 일련의 완전한 타일들을 포함한다. 직사각형 슬라이스 모드에서, 슬라이스는 픽처의 직사각형 영역을 집합적으로 형성하는 다수의 완전한 타일들 또는 픽처의 직사각형 영역을 집합적으로 형성하는 한 타일의 다수의 연속적인 완전한 CTU 행들을 포함한다. 직사각형 슬라이스 내의 타일들은 그 슬라이스에 대응하는 직사각형 영역 내에서 타일 래스터 스캔 순서로 스캔된다. 서브픽처는 픽처의 직사각형 영역을 집합적으로 커버하는 하나 이상의 슬라이스들을 포함한다. 도 2는 픽처의 래스터-스캔 슬라이스 파티셔닝의 일 예를 나타내며, 여기서 픽처는 12개의 타일들과 3개의 래스터-스캔 슬라이스들로 분할된다. 도 2에 도시된 픽처에는 3개의 타일 열들과 4개의 타일 행들이 있으며, 각 타일은 18개의 CTU들로 구성된다. 픽처의 첫 번째 슬라이스는 처음 2개의 타일들로 구성되고, 두 번째 슬라이스는 5개의 연속적인 타일들로 구성되며, 세 번째 슬라이스는 나머지 5개의 타일들로 구성된다. 도 3은 픽처의 직사각형 슬라이스 파티셔닝의 일 예를 나타내며, 여기서 픽처는 24개의 타일들과 9개의 직사각형 슬라이스들로 분할된다. 이 예에서는 6개의 타일 열들과 4개의 타일 행들이 있다. 네 번째, 다섯 번째, 여섯 번째 직사각형 슬라이스들이 각각 4개의 타일들을 가지는 것을 제외하고, 다른 모든 직사각형 슬라이스들은 2개의 타일들로 구성된다. 도 4는 타일들과 직사각형 슬라이스들로 피티셔닝된 픽처의 일 예를 도시하며, 여기서 픽처는 4개의 타일들과 4개의 직사각형 슬라이스들로 분할된다. 이 예에서는 2개의 타일 열들과 2개의 타일 행들이 있으며, 각 타일은 54개의 CTU들을 포함한다. 이 예에서 슬라이스는 2개의 타일들을 포함할 수 있으며, 대안적으로 타일은 2개의 슬라이스들을 포함할 수 있다. 도 5는 픽처의 서브픽처 파티셔닝의 일 예를 도시하며, 여기서 픽처는 다양한 치수의 28개의 서브픽처들로 파티셔닝된다.
픽처 헤더 및 슬라이스 헤더에 대한 하이 레벨 신택스(High Level Syntax for Picture Header and Slice Header) VVC(Versatile Video Coding) Draft 8에 기초하여, 표 1은 픽처 파라미터 세트(PPS)에서 시그널링되는 픽처 파라미터 세트 RBSP 신택스를 열거한다.
pic_parameter_set_rbsp( ) { Descriptor
pps_pic_parameter_set_id ue(v)
pps_seq_parameter_set_id u(4)
mixed_nalu_types_in_pic_flag u(1)
pic_width_in_luma_samples ue(v)
pic_height_in_luma_samples ue(v)
pps_conformance_window_flag u(1)
if( pps_conformance_window_flag ) {
pps_conf_win_left_offset ue(v)
pps_conf_win_right_offset ue(v)
pps_conf_win_top_offset ue(v)
pps_conf_win_bottom_offset ue(v)
}
scaling_window_explicit_signalling_flag u(1)
if( scaling_window_explicit_signalling_flag ) {
scaling_win_left_offset ue(v)
scaling_win_right_offset ue(v)
scaling_win_top_offset ue(v)
scaling_win_bottom_offset ue(v)
}
output_flag_present_flag u(1)
subpic_id_mapping_in_pps_flag u(1)
if( subpic_id_mapping_in_pps_flag ) {
pps_num_subpics_minus1 ue(v)
pps_subpic_id_len_minus1 ue(v)
for( i = 0; i <= pps_num_subpic_minus1; i++ )
pps_subpic_id[ i ] u(v)
}
no_pic_partition_flag u(1)
if( !no_pic_partition_flag ) {
pps_log2_ctu_size_minus5 u(2)
num_exp_tile_columns_minus1 ue(v)
num_exp_tile_rows_minus1 ue(v)
for( i = 0; i <= num_exp_tile_columns_minus1; i++ )
tile_column_width_minus1[ i ] ue(v)
for( i = 0; i <= num_exp_tile_rows_minus1; i++ )
tile_row_height_minus1[ i ] ue(v)
if( NumTilesInPic > 1 )
rect_slice_flag u(1)
if( rect_slice_flag )
single_slice_per_subpic_flag u(1)
if( rect_slice_flag && !single_slice_per_subpic_flag ) {
num_slices_in_pic_minus1 ue(v)
if( num_slices_in_pic_minus1 > 0 )
tile_idx_delta_present_flag u(1)
for( i = 0; i < num_slices_in_pic_minus1; i++ ) {
if( NumTileColumns > 1 )
slice_width_in_tiles_minus1[ i ] ue(v)
if( NumTileRows > 1 &&
( tile_idx_delta_present_flag | | tileIdx % NumTileColumns = = 0 ) )
slice_height_in_tiles_minus1[ i ] ue(v)
if( slice_width_in_tiles_minus1[ i ] = = 0 &&
slice_height_in_tiles_minus1[ i ] = = 0 &&
RowHeight[ SliceTopLeftTileIdx[ i ] / NumTileColumns ] > 1 ) {
num_exp_slices_in_tile[ i ] ue(v)
numExpSlicesInTile = num_exp_slices_in_tile[ i ]
for( j = 0; j < numExpSlicesInTile; j++ )
exp_slice_height_in_ctus_minus1[ j ] ue(v)
i += NumSlicesInTile[ i ]
}
if( tile_idx_delta_present_flag && i < num_slices_in_pic_minus1 )
tile_idx_delta[ i ] se(v)
}
}
loop_filter_across_tiles_enabled_flag u(1)
loop_filter_across_slices_enabled_flag u(1)
}
cabac_init_present_flag u(1)
for( i = 0; i < 2; i++ )
num_ref_idx_default_active_minus1[ i ] ue(v)
rpl1_idx_present_flag u(1)
init_qp_minus26 se(v)
cu_qp_delta_enabled_flag u(1)
pps_chroma_tool_offsets_present_flag u(1)
if( pps_chroma_tool_offsets_present_flag ) {
pps_cb_qp_offset se(v)
pps_cr_qp_offset se(v)
pps_joint_cbcr_qp_offset_present_flag u(1)
if( pps_joint_cbcr_qp_offset_present_flag )
pps_joint_cbcr_qp_offset_value se(v)
pps_slice_chroma_qp_offsets_present_flag u(1)
pps_cu_chroma_qp_offset_list_enabled_flag u(1)
}
if( pps_cu_chroma_qp_offset_list_enabled_flag ) {
chroma_qp_offset_list_len_minus1 ue(v)
for( i = 0; i <= chroma_qp_offset_list_len_minus1; i++ ) {
cb_qp_offset_list[ i ] se(v)
cr_qp_offset_list[ i ] se(v)
if( pps_joint_cbcr_qp_offset_present_flag )
joint_cbcr_qp_offset_list[ i ] se(v)
}
}
pps_weighted_pred_flag u(1)
pps_weighted_bipred_flag u(1)
deblocking_filter_control_present_flag u(1)
if( deblocking_filter_control_present_flag ) {
deblocking_filter_override_enabled_flag u(1)
pps_deblocking_filter_disabled_flag u(1)
if( !pps_deblocking_filter_disabled_flag ) {
pps_beta_offset_div2 se(v)
pps_tc_offset_div2 se(v)
pps_cb_beta_offset_div2 se(v)
pps_cb_tc_offset_div2 se(v)
pps_cr_beta_offset_div2 se(v)
pps_cr_tc_offset_div2 se(v)
}
}
rpl_info_in_ph_flag u(1)
if( deblocking_filter_override_enabled_flag )
dbf_info_in_ph_flag u(1)
sao_info_in_ph_flag u(1)
alf_info_in_ph_flag u(1)
if( ( pps_weighted_pred_flag | | pps_weighted_bipred_flag ) && rpl_present_in_ph_flag )
wp_info_in_ph_flag u(1)
qp_delta_info_in_ph_flag u(1)
pps_ref_wraparound_enabled_flag u(1)
if( pps_ref_wraparound_enabled_flag )
pps_ref_wraparound_offset ue(v)
picture_header_extension_present_flag u(1)
slice_header_extension_present_flag u(1)
pps_extension_flag u(1)
if( pps_extension_flag )
while( more_rbsp_data( ) )
pps_extension_data_flag u(1)
rbsp_trailing_bits( )
}
표 2 및 표 3은 각각 VVC Draft 8에서의 픽처 헤더(Picture Header, PH) 신택스 및 슬라이스 헤더(Slice Header, SH) 신택스를 나타낸다. AUD(Access Unit Delimiter)가 SPS 및 PPS보다 선행하는 경우, SH에서 일부 픽처-레벨 신택스 요소들은 AUD로 이동될 수 없다. PH를 어서팅(asserting)하는 것은 이 문제를 해결할 수 있다.
picture_header_structure( ) { Descriptor
gdr_or_irap_pic_flag u(1)
if( gdr_or_irap_pic_flag )
gdr_pic_flag u(1)
ph_inter_slice_allowed_flag u(1)
if( ph_inter_slice_allowed_flag )
ph_intra_slice_allowed_flag u(1)
non_reference_picture_flag u(1)
ph_pic_parameter_set_id ue(v)
ph_pic_order_cnt_lsb u(v)
if( gdr_or_irap_pic_flag )
no_output_of_prior_pics_flag u(1)
if( gdr_pic_flag )
recovery_poc_cnt ue(v)
for( i = 0; i < NumExtraPhBits; i++ )
ph_extra_bit[ i ] u(1)
if( sps_poc_msb_flag ) {
ph_poc_msb_present_flag u(1)
if( ph_poc_msb_present_flag )
poc_msb_val u(v)
}
if( sps_alf_enabled_flag && alf_info_in_ph_flag ) {
ph_alf_enabled_flag u(1)
if( ph_alf_enabled_flag ) {
ph_num_alf_aps_ids_luma u(3)
for( i = 0; i < ph_num_alf_aps_ids_luma; i++ )
ph_alf_aps_id_luma[ i ] u(3)
if( ChromaArrayType != 0 )
ph_alf_chroma_idc u(2)
if( ph_alf_chroma_idc > 0 )
ph_alf_aps_id_chroma u(3)
if( sps_ccalf_enabled_flag ) {
ph_cc_alf_cb_enabled_flag u(1)
if( ph_cc_alf_cb_enabled_flag )
ph_cc_alf_cb_aps_id u(3)
ph_cc_alf_cr_enabled_flag u(1)
if( ph_cc_alf_cr_enabled_flag )
ph_cc_alf_cr_aps_id u(3)
}
}
}
if( sps_lmcs_enabled_flag ) {
ph_lmcs_enabled_flag u(1)
if( ph_lmcs_enabled_flag ) {
ph_lmcs_aps_id u(2)
if( ChromaArrayType != 0 )
ph_chroma_residual_scale_flag u(1)
}
}
if( sps_scaling_list_enabled_flag ) {
ph_scaling_list_present_flag u(1)
if( ph_scaling_list_present_flag )
ph_scaling_list_aps_id u(3)
}
if( sps_virtual_boundaries_enabled_flag && !sps_virtual_boundaries_present_flag ) {
ph_virtual_boundaries_present_flag u(1)
if( ph_virtual_boundaries_present_flag ) {
ph_num_ver_virtual_boundaries u(2)
for( i = 0; i < ph_num_ver_virtual_boundaries; i++ )
ph_virtual_boundaries_pos_x[ i ] u(13)
ph_num_hor_virtual_boundaries u(2)
for( i = 0; i < ph_num_hor_virtual_boundaries; i++ )
ph_virtual_boundaries_pos_y[ i ] u(13)
}
}
if( output_flag_present_flag )
pic_output_flag u(1)
if( rpl_info_in_ph_flag )
ref_pic_lists( )
if( partition_constraints_override_enabled_flag )
partition_constraints_override_flag u(1)
if( ph_intra_slice_allowed_flag ) {
if( partition_constraints_override_flag ) {
ph_log2_diff_min_qt_min_cb_intra_slice_luma ue(v)
ph_max_mtt_hierarchy_depth_intra_slice_luma ue(v)
if( ph_max_mtt_hierarchy_depth_intra_slice_luma != 0 ) {
ph_log2_diff_max_bt_min_qt_intra_slice_luma ue(v)
ph_log2_diff_max_tt_min_qt_intra_slice_luma ue(v)
}
if( qtbtt_dual_tree_intra_flag ) {
ph_log2_diff_min_qt_min_cb_intra_slice_chroma ue(v)
ph_max_mtt_hierarchy_depth_intra_slice_chroma ue(v)
if( ph_max_mtt_hierarchy_depth_intra_slice_chroma != 0 ) {
ph_log2_diff_max_bt_min_qt_intra_slice_chroma ue(v)
ph_log2_diff_max_tt_min_qt_intra_slice_chroma ue(v)
}
}
}
if( cu_qp_delta_enabled_flag )
ph_cu_qp_delta_subdiv_intra_slice ue(v)
if( pps_cu_chroma_qp_offset_list_enabled_flag )
ph_cu_chroma_qp_offset_subdiv_intra_slice ue(v)
}
if( ph_inter_slice_allowed_flag ) {
if( partition_constraints_override_flag ) {
ph_log2_diff_min_qt_min_cb_inter_slice ue(v)
ph_max_mtt_hierarchy_depth_inter_slice ue(v)
if( ph_max_mtt_hierarchy_depth_inter_slice != 0 ) {
ph_log2_diff_max_bt_min_qt_inter_slice ue(v)
ph_log2_diff_max_tt_min_qt_inter_slice ue(v)
}
}
if( cu_qp_delta_enabled_flag )
ph_cu_qp_delta_subdiv_inter_slice ue(v)
if( pps_cu_chroma_qp_offset_list_enabled_flag )
ph_cu_chroma_qp_offset_subdiv_inter_slice ue(v)
if( sps_temporal_mvp_enabled_flag ) {
ph_temporal_mvp_enabled_flag u(1)
if( ph_temporal_mvp_enabled_flag && rpl_info_in_ph_flag ) {
ph_collocated_from_l0_flag u(1)
if( ( ph_collocated_from_l0_flag &&
num_ref_entries[ 0 ][ RplsIdx[ 0 ] ] > 1 ) | |
( !ph_collocated_from_l0_flag &&
num_ref_entries[ 1 ][ RplsIdx[ 1 ] ] > 1 ) )
ph_collocated_ref_idx ue(v)
}
}
mvd_l1_zero_flag u(1)
if( sps_fpel_mmvd_enabled_flag )
ph_fpel_mmvd_enabled_flag u(1)
if( sps_bdof_pic_present_flag )
ph_disable_bdof_flag u(1)
if( sps_dmvr_pic_present_flag )
ph_disable_dmvr_flag u(1)
if( sps_prof_pic_present_flag )
ph_disable_prof_flag u(1)
if( ( pps_weighted_pred_flag | | pps_weighted_bipred_flag ) && wp_info_in_ph_flag )
pred_weight_table( )
}
if( qp_delta_info_in_ph_flag )
ph_qp_delta se(v)
if( sps_joint_cbcr_enabled_flag )
ph_joint_cbcr_sign_flag u(1)
if( sps_sao_enabled_flag && sao_info_in_ph_flag ) {
ph_sao_luma_enabled_flag u(1)
if( ChromaArrayType != 0 )
ph_sao_chroma_enabled_flag u(1)
}
if( sps_dep_quant_enabled_flag )
ph_dep_quant_enabled_flag u(1)
if( sps_sign_data_hiding_enabled_flag && !ph_dep_quant_enabled_flag )
pic_sign_data_hiding_enabled_flag u(1)
if( deblocking_filter_override_enabled_flag && dbf_info_in_ph_flag ) {
ph_deblocking_filter_override_flag u(1)
if( ph_deblocking_filter_override_flag ) {
ph_deblocking_filter_disabled_flag u(1)
if( !ph_deblocking_filter_disabled_flag ) {
ph_beta_offset_div2 se(v)
ph_tc_offset_div2 se(v)
ph_cb_beta_offset_div2 se(v)
ph_cb_tc_offset_div2 se(v)
ph_cr_beta_offset_div2 se(v)
ph_cr_tc_offset_div2 se(v)
}
}
}
if( picture_header_extension_present_flag ) {
ph_extension_length ue(v)
for( i = 0; i < ph_extension_length; i++)
ph_extension_data_byte[ i ] u(8)
}
}
slice_header( ) { Descriptor
picture_header_in_slice_header_flag u(1)
if( picture_header_in_slice_header_flag )
picture_header_structure( )
if( subpic_info_present_flag )
slice_subpic_id u(v)
if( ( rect_slice_flag && NumSlicesInSubpic[ CurrSubpicIdx ] > 1 ) | |
( !rect_slice_flag && NumTilesInPic > 1 ) )
slice_address u(v)
for( i = 0; i < NumExtraPhBits; i++ )
sh_extra_bit[ i ] u(1)
if( !rect_slice_flag && NumTilesInPic > 1 )
num_tiles_in_slice_minus1 ue(v)
if( ph_inter_slice_allowed_flag )
slice_type ue(v)
if( sps_alf_enabled_flag && !alf_info_in_ph_flag ) {
slice_alf_enabled_flag u(1)
if( slice_alf_enabled_flag ) {
slice_num_alf_aps_ids_luma u(3)
for( i = 0; i < slice_num_alf_aps_ids_luma; i++ )
slice_alf_aps_id_luma[ i ] u(3)
if( ChromaArrayType != 0 )
slice_alf_chroma_idc u(2)
if( slice_alf_chroma_idc )
slice_alf_aps_id_chroma u(3)
if( sps_ccalf_enabled_flag ) {
slice_cc_alf_cb_enabled_flag u(1)
if( slice_cc_alf_cb_enabled_flag )
slice_cc_alf_cb_aps_id u(3)
slice_cc_alf_cr_enabled_flag u(1)
if( slice_cc_alf_cr_enabled_flag )
slice_cc_alf_cr_aps_id u(3)
}
}
}
if( separate_colour_plane_flag = = 1 )
colour_plane_id u(2)
if( !rpl_info_in_ph_flag && ( ( nal_unit_type != IDR_W_RADL && nal_unit_type !=
IDR_N_LP ) | | sps_idr_rpl_present_flag ) )
ref_pic_lists( )
if( ( rpl_info_in_ph_flag | | ( ( nal_unit_type != IDR_W_RADL && nal_unit_type !=
IDR_N_LP ) | | sps_idr_rpl_present_flag ) ) &&
( slice_type != I && num_ref_entries[ 0 ][ RplsIdx[ 0 ] ] > 1 ) | |
( slice_type = = B && num_ref_entries[ 1 ][ RplsIdx[ 1 ] ] > 1 ) ) {
num_ref_idx_active_override_flag u(1)
if( num_ref_idx_active_override_flag )
for( i = 0; i < ( slice_type = = B ? 2: 1 ); i++ )
if( num_ref_entries[ i ][ RplsIdx[ i ] ] > 1 )
num_ref_idx_active_minus1[ i ] ue(v)
}
if( slice_type != I ) {
if( cabac_init_present_flag )
cabac_init_flag u(1)
if( ph_temporal_mvp_enabled_flag && !rpl_info_in_ph_flag ) {
if( slice_type = = B )
slice_collocated_from_l0_flag u(1)
if( ( slice_collocated_from_l0_flag && NumRefIdxActive[ 0 ] > 1 ) | |
( ! slice_collocated_from_l0_flag && NumRefIdxActive[ 1 ] > 1 ) )
slice_collocated_ref_idx ue(v)
}
if( !wp_info_in_ph_flag && ( ( pps_weighted_pred_flag && slice_type = = P ) | |
( pps_weighted_bipred_flag && slice_type = = B ) ) )
pred_weight_table( )
}
if( !qp_delta_info_in_ph_flag )
slice_qp_delta se(v)
if( pps_slice_chroma_qp_offsets_present_flag ) {
slice_cb_qp_offset se(v)
slice_cr_qp_offset se(v)
if( sps_joint_cbcr_enabled_flag )
slice_joint_cbcr_qp_offset se(v)
}
if( pps_cu_chroma_qp_offset_list_enabled_flag )
cu_chroma_qp_offset_enabled_flag u(1)
if( sps_sao_enabled_flag && !sao_info_in_ph_flag ) {
slice_sao_luma_flag u(1)
if( ChromaArrayType != 0 )
slice_sao_chroma_flag u(1)
}
if( deblocking_filter_override_enabled_flag && !dbf_info_in_ph_flag )
slice_deblocking_filter_override_flag u(1)
if( slice_deblocking_filter_override_flag ) {
slice_deblocking_filter_disabled_flag u(1)
if( !slice_deblocking_filter_disabled_flag ) {
slice_beta_offset_div2 se(v)
slice_tc_offset_div2 se(v)
slice_cb_beta_offset_div2 se(v)
slice_cb_tc_offset_div2 se(v)
slice_cr_beta_offset_div2 se(v)
slice_cr_tc_offset_div2 se(v)
}
}
slice_ts_residual_coding_disabled_flag u(1)
if( ph_lmcs_enabled_flag )
slice_lmcs_enabled_flag u(1)
if( pic_scaling_list_enabled_flag )
slice_scaling_list_present_flag u(1)
if( NumEntryPoints > 0 ) {
offset_len_minus1 ue(v)
for( i = 0; i < NumEntryPoints; i++ )
entry_point_offset_minus1[ i ] u(v)
}
if( slice_header_extension_present_flag ) {
slice_header_extension_length ue(v)
for( i = 0; i < slice_header_extension_length; i++)
slice_header_extension_data_byte[ i ] u(8)
}
byte_alignment( )
}
이미지 또는 비디오 인코딩 또는 디코딩 시스템을 위한 이미지 또는 비디오 프로세싱 방법의 실시예는, 현재 픽처 또는 상기 현재 픽처에서 현재 슬라이스와 연관된 입력 데이터를 수신하고, 현재 픽처가 모노크롬(monochrome) 픽처인지 여부를 결정하고, 현재 픽처가 모노크롬 픽처인지 여부에 따라 현재 픽처 또는 현재 슬라이스에 대한 색차(크로마) 디블록킹 파라미터들(chrominance (chroma) deblocking parameters)을 조건부로 시그널링 또는 파싱하고; 현재 픽처 또는 현재 슬라이스를 인코딩 또는 디코딩한다. 상기 크로마 디블록킹 파라미터들은 현재 픽처가 모노크롬 픽처가 아닐 때 현재 픽처 또는 현재 슬라이스의 크로마 성분들에 적용되는 디블록킹 필터 연산(deblocking filter operation)에 사용된다. 이미지 또는 비디오 인코딩 또는 디코딩 시스템의 실시예는, 현재 픽처가 모노크롬 픽처가 아닐 때에만 현재 픽처 또는 현재 슬라이스에 대해 상기 크로마 디블록킹 파라미터들을 시그널링하거나 파싱하고, 현재 픽처가 모노크롬 픽처일 때에는 현재 픽처 또는 현재 슬라이스에 대해 상기 크로마 디블록킹 파라미터들을 시그널링하는 것을 스킵(skip)하거나 파싱하는 것을 스킵한다. 일부 실시예에서, 상기 디블록킹 필터 연산은 현재 픽처가 모노크롬 픽처일 때 휘도(루마) 성분에만 적용된다. 상기 크로마 디블록킹 파라미터들의 일부 예들은 크로마 성분 Cb 및 Cr에 대한 디블록킹 오프셋(deblocking offsets) 베타(beta) 및 tC를 포함한다.
일부 실시예에서, 현재 픽처는 현재 픽처와 연관된 픽처 파라미터 세트(Picture Parameter Set, PPS)에서 시그널링되는 PPS 레벨 크로마 툴 오프셋 존재 플래그의 값에 따라 모노크롬 픽처인 것으로 결정되고, 예를 들어, 상기 PPS 레벨 크로마 툴 오프셋 존재 플래그가 0일 때, 상기 크로마 디블록킹 파라미터들은 PPS에서 시그널링되지 않거나 PPS로부터 파싱되지 않는다. 일 실시예에서, 상기 PPS 레벨 크로마 툴 오프셋 존재 플래그는 대응하는 시퀀스 파라미터 세트(SPS)에서 시그널링되는 신택스 요소 ChromaArrayType이 0일 때 0으로 설정된다. 일부 다른 실시예에서, 현재 픽처는 SPS에서 시그널링되는 신택스 요소 ChromaArrayType의 값에 따라 모노크롬 픽처인 것으로 결정된다. 예를 들어, 신택스 요소 ChromaArrayType이 0일 때 크로마 디블록킹 파라미터들은 현재 픽처와 연관된 픽처 헤더(PH)에서 시그널링되지 않고, 신택스 요소 ChromaArrayType이 0이 아닐 때 크로마 디블록킹 파라미터들은 PH에서 시그널링되도록 허용된다. 다른 예에서, 신택스 요소 ChromaArrayType이 0일 때 크로마 디블록킹 파라미터들은 현재 슬라이스와 연관된 슬라이스 헤더(SH)에서 시그널링되지 않고, 신택스 요소 ChromaArrayType이 0이 아닐 때 크로마 디블록킹 파라미터들은 SH에서 시그널링되도록 허용된다.
이미지 또는 비디오 인코딩 또는 디코딩 시스템을 위한 이미지 또는 비디오 프로세싱 방법의 실시예는, 현재 픽처 또는 상기 현재 픽처에서 현재 슬라이스와 연관된 입력 비디오 데이터를 수신하고, 현재 픽처 또는 현재 슬라이스에 대한 크로마 디블록킹 파라미터들의 도출을 나타내기 위해 사용되는 신택스 요소를 결정하고, 상기 크로마 디블록킹 파라미터들을 도출하고, 상기 크로마 디블록킹 파라미터들을 사용하여 현재 픽처 또는 현재 슬라이스의 크로마 성분들에 디블록킹 필터 연산을 적용하고, 현재 픽처 또는 현재 슬라이스를 인코딩 또는 디코딩한다. 현재 픽처 또는 현재 슬라이스에 대한 상기 크로마 디블록킹 파라미터들은 상기 신택스 요소의 값에 따라 명시적으로 시그널링 또는 파싱되도록 허용되거나, 암시적으로 추론된다. 일부 실시예에서, 신택스 요소의 값은 현재 픽처가 모노크롬 픽처가 아닐 때 현재 픽처 또는 상기 현재 픽처의 현재 슬라이스에 대해 0보다 큰 수로 추론되도록 허용된다. 예를 들어, 신택스 요소는 현재 픽처와 연관된 PPS 또는 PH, 또는 현재 슬라이스와 연관된 SH에서 시그널링된다.
이미지 또는 비디오 프로세싱 방법의 실시예는, PPS, PH, 또는 SH에서 시그널링되는 신택스 요소의 값에 따라, 크로마 디블록킹 파라미터들이 PPS, PH, 또는 SH 신택스 구조에서 명시적으로 시그널링되거나 PPS, PH, 또는 SH 신택스 구조로부터 명시적으로 파싱되도록 허용되는지, 또는 크로마 디블록킹 파라미터들이 암시적으로 추론되는지를 결정한다. 예를 들어, 크로마 디블록킹 파라미터가 명시적으로 시그널링되지 않을 때, 크로마 디블록킹 파라미터들은 0으로 암시적으로 추론되거나, 대응하는 루마 디블록킹 파라미터들로부터 암시적으로 추론되거나, 다른 신택스 구조로부터 암시적으로 추론된다.
일부 실시예에서, 신택스 요소는 현재 픽처와 연관된 PPS에서 시그널링되거나 상기 PPS로부터 파싱되고, 신택스 요소의 값이 제1 값일 때 크로마 디블록킹 파라미터들은 명시적으로 PPS에서 시그널링되거나 PPS로부터 파싱되도록 허용되고, 신택스 요소의 값이 제1 값과 상이한 제2 값보다 작을 때 크로마 디블록킹 파라미터들은 PPS에 존재하지 않는다. 일부 다른 실시예에서, PPS에서 크로마 디블록킹 파라미터들은 PPS에서 대응하는 루마 디블록킹 파라미터들과 동일한 것으로 암시적으로 추론된다.
일부 다른 실시예에서, 신택스 요소의 값이 제1 값일 때 현재 픽처 또는 현재 슬라이스에 대한 크로마 디블록킹 파라미터들은 명시적으로 PH 또는 SH에서 시그널링되거나 PH 또는 SH로부터 파싱되도록 허용되고, 신택스 요소의 값이 제1 값과 상이한 제2 값일 때 크로마 디블록킹 파라미터들은 PH 또는 SH에 존재하지 않는다. 현재 픽처와 연관된 PH에서 신택스 요소를 시그널링하는 예에서, 신택스 요소의 값이 제1 값이고 크로마 디블록킹 파라미터들이 PH에 존재하지 않을 때, 현재 픽처에 대한 크로마 디블록킹 파라미터들은 현재 픽처와 연관된 PPS에서 시그널링되는 크로마 디블록킹 파라미터들과 동일한 것으로 암시적으로 추론되고, 신택스 요소의 값이 제1 값과 상이한 제2 값일 때, 현재 픽처에 대한 크로마 디블록킹 파라미터들은 현재 픽처와 연관된 PH에서 시그널링되는 대응하는 루마 디블록킹 파라미터들과 동일한 것으로 암시적으로 추론된다. 현재 슬라이스와 연관된 SH에서 신택스 요소를 시그널링하는 예에서, 신택스 요소의 값이 제1 값이고 크로마 디블록킹 파라미터들이 SH에 존재하지 않을 때, 현재 슬라이스에 대한 크로마 디블록킹 파라미터들은 현재 픽처와 연관된 PH에서 시그널링되는 크로마 디블록킹 파라미터들과 동일한 것으로 암시적으로 추론되고, 신택스 요소의 값이 제1 값과 상이한 제2 값일 때, 현재 슬라이스에 대한 크로마 디블록킹 파라미터들은 현재 슬라이스와 연관된 SH에서 시그널링되는 대응하는 루마 디블록킹 파라미터들과 동일한 것으로 암시적으로 추론된다.
본 개시의 양태들은 또한 이미지 또는 비디오 인코딩 또는 디코딩 시스템을 위한 장치를 제공한다. 장치의 일부 실시예는, 현재 픽처 또는 상기 현재 픽처에서 현재 슬라이스와 연관된 입력 데이터를 수신하고, 현재 픽처가 모노크롬 픽처인지 여부를 결정하고, 현재 픽처가 모노크롬 픽처인지 여부에 따라 현재 픽처 또는 현재 슬라이스에 대한 크로마 디블록킹 파라미터들을 조건부로 시그널링하거나 파싱하고, 현재 픽처 또는 현재 슬라이스를 인코딩 또는 디코딩한다. 크로마 디블록킹 파라미터들은 현재 픽처가 모노크롬 픽처가 아닐 때 현재 픽처 또는 현재 슬라이스의 크로마 성분들에 적용되는 디블록킹 필터 연산에 사용된다. 장치의 일부 다른 실시예는, 현재 픽처 또는 상기 현재 픽처에서 현재 슬라이스와 연관된 입력 데이터를 수신하고, 현재 픽처 또는 현재 슬라이스에 대한 크로마 디블록킹 파라미터들의 도출을 나타내기 위해 사용되는 신택스 요소를 결정하고, 신택스 요소의 값에 따라 현재 픽처 또는 현재 슬라이스에 대한 크로마 디블록킹 파라미터들을 명시적으로 시그널링 또는 파싱하거나, 현재 픽처 또는 현재 슬라이스에 대한 크로마 디블록킹 파라미터들을 암시적으로 추론하고, 크로마 디블록킹 파라미터들을 사용하여 현재 픽처 또는 현재 슬라이스의 크로마 성분들에 디블록킹 필터 연산을 적용하고, 현재 픽처 또는 현재 슬라이스를 인코딩 또는 디코딩한다.
예로서 제안된 본 개시의 다양한 실시예들이 다음의 도면들을 참조하여 상세하게 설명될 것이며, 도면에서 유사한 숫자들은 유사한 요소들을 나타내고, 도면에서:
도 1은 비디오 픽처를 다수의 CTU들로 파티셔닝하는 일 예를 나타낸다.
도 2는 래스터-스캔 슬라이스 파티셔닝을 적용하여 픽처를 12개의 타일들과 3개의 래스터-스캔 슬라이스들로 분할하는 일 예를 나타낸다.
도 3은 직사각형 슬라이스 파티셔닝을 적용하여 픽처를 24개의 타일들과 9개의 직사각형 슬라이스들로 분할하는 일 예를 나타낸다.
도 4는 픽처를 4개의 타일들과 4개의 직사각형 슬라이스들로 파티셔닝하는 일 예를 나타낸다.
도 5는 픽처를 28개의 서브픽처들로 파티셔닝하는 일 예를 나타낸다.
도 6은 본 발명의 일 실시예에 따라 크로마 디블록킹 파라미터들을 조건부로 시그널링하거나 파싱하여 이미지 또는 비디오 데이터를 프로세싱하는 흐름도이다.
도 7은 본 발명의 일 실시예에 따라 크로마 디블록킹 파라미터들을 조건부로 추론하여 이미지 또는 비디오 데이터를 프로세싱하는 흐름도이다.
도 8은 본 발명의 실시예들에 따른 비디오 프로세싱 방법을 포함하는 비디오 인코딩 시스템에 대한 예시적인 시스템 블록도를 나타낸다.
도 9는 본 발명의 실시예들에 따른 비디오 프로세싱 방법을 포함하는 비디오 디코딩 시스템에 대한 예시적인 시스템 블록도를 나타낸다.
본 명세서에서 전반적으로 설명되고 도면에 예시된 바와 같이, 본 발명의 구성요소들은 매우 다양한 상이한 구성으로 배열되고 설계될 수 있다는 것이 용이하게 이해될 것이다. 따라서, 도면에 나타낸 바와 같은, 본 발명의 시스템 및 방법의 실시예들에 대한 다음의 보다 상세한 설명은, 청구된 바와 같은 본 발명의 범위를 제한하고자 하는 것이 아니라 단지 본 발명의 선택된 실시예들을 대표하는 것이다.
본 명세서 전반에 걸쳐 "일 실시예", "일부 실시예" 또는 유사한 표현에 대한 언급은 실시예들과 관련하여 설명된 특정 특징(feature), 구조(structure) 또는 특성(characteristic)이 본 발명의 적어도 하나의 실시예에 포함될 수 있음을 의미한다. 따라서, 본 명세서 전반에 걸쳐 다양한 개소에서 "일 실시예에서" 또는 "일부 실시예에서"라는 문구의 출현은 반드시 모두 동일한 실시예를 지칭하는 것은 아니며, 이러한 실시예들은 개별적으로 또는 하나 이상의 다른 실시예들와 함께 구현될 수 있다. 또한, 설명된 특징들, 구조들 또는 특성들은 하나 이상의 실시예에서 임의의 적절한 방식으로 조합될 수 있다. 그러나 관련 기술 분야의 기술자는 본 발명이 하나 이상의 특정 세부 사항 없이, 또는 다른 방법들, 구성요소들 등과 함께 실시될 수 있음을 인식할 것이다. 그 밖에 다른 예들에서, 잘 알려진 구조들 또는 동작들은 본 발명의 양태를 모호하게 하는 것을 피하기 위해 상세하게 도시되거나 설명되지 않는다.
크로마 디블록킹 파라미터들을 조건부로 시그널링(Conditionally Signaling Chroma Deblocking Parameters) 본 발명의 실시예는 크로마 성분들에 대해 루프 필터 파라미터들(loop filter parameters)을 조건부로 시그널링함으로써 시그널링 오버헤드를 감소시킨다. 예를 들어, 크로마 디블록킹 파라미터들은 조건부로 시그널링되거나 파싱된다. 크로마 디블록킹 파라미터들의 몇몇 예로는 이미지 또는 비디오 데이터의 크로마 성분들에 대한 디블록킹 오프셋(deblocking offsets) 베타(β) 및 tC를 포함한다. 일부 바람직한 실시예에서, 현재 픽처에 대한 크로마 디블록킹 파라미터들은 현재 픽처가 모노크롬 픽처일 때 시그널링되거나 파싱되지 않는다. 예를 들어, 픽처 파라미터 세트(PPS)에서 크로마 디블록킹 파라미터들의 시그널링은 PPS에서 시그널링된 PPS-레벨 크로마 툴 오프셋 존재 플래그 pps_chroma_tool_offsets_present_flag에 의존한다. 표 4는 PPS에서 크로마 디블록킹 파라미터들을 조건부로 시그널링하는 이 예를 보여주는 예시적인 PPS 신택스 테이블이다. 표 4에 나타낸 예시적인 PPS 신택스 테이블에서, 크로마 디블록킹 파라미터들은 pps_cb_beta_offset_div2, pps_cb_tc_offset_div2, pps_cr_beta_offset_div2, 및 pps_cr_tc_offset_div2를 포함하고, 이들 크로마 디블록킹 파라미터들은 PPS-레벨 크로마 툴 오프셋 존재 플래그 pps_chroma_tool_offsets_present_flag가 1일 때 PPS에서 시그널링되도록 허용된다. 이 PPS-레벨 크로마 툴 오프셋 존재 플래그 pps_chroma_tool_offsets_present_flag는 PPS와 연관된 픽처가 모노크롬 픽처인지 여부를 나타내고, 예를 들어, PPS와 연관된 픽처는 이 PPS-레벨 크로마 툴 오프셋 존재 플래그가 0일 때 모노크롬 픽처이다. 일 실시예에서, PPS-레벨 크로마 툴 오프셋 존재 플래그의 값은 픽처가 모노크롬 픽처가 아닐 때 0보다 큰 수로 추론되는 것이 허용된다. PPS-레벨 크로마 툴 존재 플래그가 1과 같은 것은 크로마 툴 오프셋 관련 신택스 요소들이 PPS RBSP 신택스 구조에 존재하도록 허용됨을 지정하고, 이 플래그가 0과 같은 것은 크로마 툴 오프셋 관련 신택스 요소들이 PPS RBSP 신택스 구조에 존재하지 않음을 지정한다. 이 플래그 pps_chroma_tool_offsets_present_flag의 값은, 신택스 요소 ChromaArrayType이 0일 때 0과 같을 것이다. 신택스 요소 ChromaArrayType은 해당 시퀀스 파라미터 세트(SPS)에서 시그널링되며, 상기 SPS와 연관된 픽처들이 모노크롬 픽처들인지 여부를 나타낸다. 이 실시예에서, 상기 SPS와 연관된 픽처들은 신택스 요소 ChromaArrayType이 0일 때 모노크롬 픽처들이다.
pic_parameter_set_rbsp( ) { Descriptor
pps_chroma_tool_offsets_present_flag u(1)
if( pps_chroma_tool_offsets_present_flag ) {
pps_cb_qp_offset se(v)
pps_cr_qp_offset se(v)
pps_joint_cbcr_qp_offset_present_flag u(1)
if( pps_joint_cbcr_qp_offset_present_flag )
pps_joint_cbcr_qp_offset_value se(v)
pps_slice_chroma_qp_offsets_present_flag u(1)
pps_cu_chroma_qp_offset_list_enabled_flag u(1)
}
...
deblocking_filter_control_present_flag u(1)
if( deblocking_filter_control_present_flag ) {
deblocking_filter_override_enabled_flag u(1)
pps_deblocking_filter_disabled_flag u(1)
if( !pps_deblocking_filter_disabled_flag ) {
pps_beta_offset_div2 se(v)
pps_tc_offset_div2 se(v)
if( pps_chroma_tool_offsets_present_flag ) {
pps_cb_beta_offset_div2 se(v)
pps_cb_tc_offset_div2 se(v)
pps_cr_beta_offset_div2 se(v)
pps_cr_tc_offset_div2 se(v)
}
}
}
...
일부 다른 예들에서, 픽처 헤더(PH) 또는 슬라이스 헤더(SH)에서 크로마 디블록킹 파라미터들의 시그널링은 시퀀스 파라미터 세트(SPS)에서 시그널링되는 신택스 요소 ChromaArrayType에 의존한다. 표 5 및 표 6은 각각 PH 및 SH에서 크로마 디블록킹 파라미터들을 조건부로 시그널링하는 예를 보여주는 예시적인 픽처 헤더 신택스 표 및 슬라이스 헤더 신택스 표이다. 표 5에 나타낸 바와 같이, 크로마 디블록킹 파라미터들 ph_cb_beta_offset_div2, ph_cb_tc_offset_div2, ph_cr_beta_offset_div2, 및 ph_cr_tc_offset_div2는 신택스 요소 ChromaArrayType이 0이 아닐 때 PH에서 시그널링되도록 허용된다. SPS에서 시그널링되는 신택스 요소 ChromaArrayType가 0과 같은 것은 상기 SPS에 대응하는 픽처들이 모노크롬 픽처들임을 지정한다. 유사하게, 크로마 디블록킹 파라미터들 slice_cb_beta_offset_div2, slice_cb_tc_offset_div2, slice_cr_beta_offset_div2, 및 slice_cr_tc_offset_div2는 신택스 요소 ChromaArrayType이 0이 아닐 때 SH에서 시그널링되도록 허용된다.
picture_header_structure( ) { Descriptor
...
if( deblocking_filter_override_enabled_flag && dbf_info_in_ph_flag ) {
ph_deblocking_filter_override_flag u(1)
if( ph_deblocking_filter_override_flag ) {
ph_deblocking_filter_disabled_flag u(1)
if( !ph_deblocking_filter_disabled_flag ) {
ph_beta_offset_div2 se(v)
ph_tc_offset_div2 se(v)
if( ChromaArrayType != 0 ) {
ph_cb_beta_offset_div2 se(v)
ph_cb_tc_offset_div2 se(v)
ph_cr_beta_offset_div2 se(v)
ph_cr_tc_offset_div2 se(v)
}
}
}
}
...
slice_header( ) { Descriptor
...
if( deblocking_filter_override_enabled_flag && !dbf_info_in_ph_flag )
slice_deblocking_filter_override_flag u(1)
if( slice_deblocking_filter_override_flag ) {
slice_deblocking_filter_disabled_flag u(1)
if( !slice_deblocking_filter_disabled_flag ) {
slice_beta_offset_div2 se(v)
slice_tc_offset_div2 se(v)
if( ChromaArrayType != 0 ) {
slice_cb_beta_offset_div2 se(v)
slice_cb_tc_offset_div2 se(v)
slice_cr_beta_offset_div2 se(v)
slice_cr_tc_offset_div2 se(v)
}
}
}
...
크로마 디블록킹 오프셋 파라미터들의 존재를 나타내는 플래그(A Flag Indicating Present of Chroma Deblocking Offset Parameters) 본 발명의 일부 실시예에서, 크로마 디블록킹 오프셋 파라미터들의 존재를 나타내기 위해 하나의 플래그가 특별히 시그널링된다. 크로마 디블록킹 오프셋 파라미터들은 본 개시에서 크로마 디블록킹 파라미터들로도 언급된다. 일 실시예에서, 이 플래그는 현재 픽처가 모노크롬 픽처가 아닐 때 시그널링된다. 예를 들어, PPS-레벨 플래그 pps_chroma_deblocking_offsets_present_flag는 현재 픽처가 모노크롬 픽처가 아닐 때 PPS에서의 크로마 디블록킹 오프셋 파라미터들의 존재를 나타내기 위해 상기 PPS에서 시그널링된다. 이 예에서, 표 7에 나타낸 바와 같이 크로마 디블록킹 파라미터들은 이 PPS-레벨 플래그 pps_chroma_deblocking_offsets_present_flag의 값에 따라 PPS에서 적응적으로 시그널링된다. 이 PPS-레벨 플래그가 1과 같은 것은 크로마 디블록킹 오프셋 관련 신택스 요소들이 PPS RBSP 신택스 구조에 존재하도록 허용됨을 지정하고, 0과 같은 것은 크로마 디블록킹 오프셋 관련 신택스 요소들이 PPS RBSP 신택스 구조에 존재하지 않음을 지정한다. 이 PPS-레벨 pps_chroma_deblocking_offsets_present_flag의 값은 SPS-레벨 신택스 요소 ChromaArrayType이 0일 때 0과 같을 것이다. 일부 다른 예들에서는, PH-레벨 플래그 또는 SH-레벨 플래그가 각각 PH 또는 SH에서 크로마 디블록킹 오프셋 파라미터들의 존재를 나타내기 위해 시그널링된다. PH 및 SH에서의 해당 수정이 표 8 및 표 9에 각각 나타내져 있다. 표 8에서, PH-레벨 플래그 ph_chroma_deblocking_offsets_present_flag가 1과 같은 것은 크로마 디블록킹 오프셋 관련 신택스 요소들이 PH RBSP 신택스 구조에 존재하도록 허용됨을 지정하고, 이 플래그가 0과 같은 것은 크로마 디블록킹 오프셋 관련 신택스 요소들이 PH RBSP 신택스 구조에 존재하지 않음을 지정한다. 이 PH-레벨 플래그는 그것이 존재하지 않을 때 0과 같을 것이다. 유사하게, 표 9에서, SH-레벨 플래그 slice_chroma_deblocking_offsets_present_flag가 1과 같은 것은 크로마 디블록킹 오프셋 관련 신택스 요소들이 슬라이스 신택스 구조에 존재하도록 허용됨을 지정하고, 이 플래그가 0과 같은 것은 크로마 디블록킹 오프셋 관련 신택스 요소들이 슬라이스 신택스 구조에 존재하지 않음을 지정한다. 이 SH-레벨 플래그의 값은 그것이 존재하지 않을 때 0과 같을 것이다.
pic_parameter_set_rbsp( ) { Descriptor
pps_chroma_tool_offsets_present_flag u(1)
if( pps_chroma_tool_offsets_present_flag ) {
pps_cb_qp_offset se(v)
pps_cr_qp_offset se(v)
pps_joint_cbcr_qp_offset_present_flag u(1)
if( pps_joint_cbcr_qp_offset_present_flag )
pps_joint_cbcr_qp_offset_value se(v)
pps_slice_chroma_qp_offsets_present_flag u(1)
pps_cu_chroma_qp_offset_list_enabled_flag u(1)
}
...
deblocking_filter_control_present_flag u(1)
if( deblocking_filter_control_present_flag ) {
deblocking_filter_override_enabled_flag u(1)
pps_deblocking_filter_disabled_flag u(1)
if( !pps_deblocking_filter_disabled_flag ) {
pps_beta_offset_div2 se(v)
pps_tc_offset_div2 se(v)
pps_chroma_deblocking_offsets_present_flag u(1)
if( pps_chroma_deblocking_offsets_present_flag ) {
pps_cb_beta_offset_div2 se(v)
pps_cb_tc_offset_div2 se(v)
pps_cr_beta_offset_div2 se(v)
pps_cr_tc_offset_div2 se(v)
}
}
}
...
picture_header_structure( ) { Descriptor
...
if( deblocking_filter_override_enabled_flag && dbf_info_in_ph_flag ) {
ph_deblocking_filter_override_flag u(1)
if( ph_deblocking_filter_override_flag ) {
ph_deblocking_filter_disabled_flag u(1)
if( !ph_deblocking_filter_disabled_flag ) {
ph_beta_offset_div2 se(v)
ph_tc_offset_div2 se(v)
if( ChromaArrayType != 0 ) {
ph_chroma_deblocking_offsets_present_flag u(1)
if( ph_chroma_deblocking_offsets_present_flag ) {
ph_cb_beta_offset_div2 se(v)
ph_cb_tc_offset_div2 se(v)
ph_cr_beta_offset_div2 se(v)
ph_cr_tc_offset_div2 se(v)
}
}
}
}
...
slice_header( ) { Descriptor
...
if( deblocking_filter_override_enabled_flag && !dbf_info_in_ph_flag )
slice_deblocking_filter_override_flag u(1)
if( slice_deblocking_filter_override_flag ) {
slice_deblocking_filter_disabled_flag u(1)
if( !slice_deblocking_filter_disabled_flag ) {
slice_beta_offset_div2 se(v)
slice_tc_offset_div2 se(v)
if( ChromaArrayType != 0 ) {
slice_chroma_deblocking_offsets_present_flag u(1)
if( slice_chroma_deblocking_offsets_present_flag ) {
slice_cb_beta_offset_div2 se(v)
slice_cb_tc_offset_div2 se(v)
slice_cr_beta_offset_div2 se(v)
slice_cr_tc_offset_div2 se(v)
}
}
}
...
크로마 디블록킹 오프셋 파라미터들을 암시적으로 추론(Implicitly Inferring Chroma Deblocking Offset Parameters) 본 발명의 일부 실시예에 따른 크로마 디블록킹 오프셋 파라미터들의 도출(derivation)을 나타내기 위해 신택스 요소가 시그널링된다. 이 신택스 요소는 현재 픽처가 모노크롬 픽처가 아닐 때 현재 픽처에 대해 시그널링된다. 일부 실시예에 따르면 현재 픽처가 모노크롬 픽처가 아닐 때 상기 신택스 요소의 값은 0보다 큰 수로 추론되도록 허용된다. 크로마 디블록킹 오프셋 파라미터들은 이 신택스 요소의 값에 따라 PPS, PH 또는 SH 신택스 구조에서 명시적으로(explicitly) 시그널링되거나, 또는 암시적으로(implicitly) 추론될 수 있다. 예를 들어, 크로마 디블록킹 오프셋 파라미터들은 암시적으로 0으로 추론되거나, 또는 대응하는 루마 디블록킹 오프셋 파라미터들로부터 암시적으로 추론되거나, 또는 다른 신택스 구조에서 시그널링되는 크로마 디블록킹 오프셋 파라미터들로부터 암시적으로 추론될 수 있다. 일 예에서, 표 10에 나타낸 바와 같이 크로마 디블록킹 파라미터들은 신택스 요소 pps_chroma_deblocking_offsets_present_idc에 따라 PPS에서 적응적으로 시그널링된다. 신택스 요소 pps_chroma_deblocking_offsets_present_idc가 2와 같은 것은 크로마 디블록킹 오프셋 관련 신택스 요소들이 PPS RBSP 신택스 구조에 존재함을 지정한다. pps_chroma_deblocking_offsets_present_idc의 값이 2보다 작을 때 크로마 디블록킹 오프셋 관련 신택스 요소들은 PPS RBSP 신택스 구조에 존재하지 않는다. 일부 다른 실시예에서, 신택스 요소 pps_chroma_deblocking_offsets_present_idc가 제1 값과 같은 것은 크로마 디블록킹 오프셋 관련 신택스 요소들이 PPS RBSP 신택스 구조에 존재함을 지정하고; pps_chroma_deblocking_offsets_present_idc의 값이 제1 값이 아닌 다른 값과 같을 때 크로마 디블록킹 오프셋 관련 신택스 요소들은 PPS RBSP 신택스 구조에 존재하지 않는다. SPS-레벨 신택스 요소 ChromaArrayType이 0일 때 pps_chroma_deblocking_offsets_present_idc의 값은 0과 같을 것이다. 디폴트 디블록킹 파라미터 오프셋들이 픽처 헤더들 또는 PPS를 참조하는 슬라이스들의 슬라이스 헤더들에 존재하는 디블록킹 파라미터 오프셋들에 의해 무효화되지 않는 한, 신택스 요소들 pps_cb_beta_offset_div2 및 pps_cb_tc_offset_div2는 PPS를 참조하는 슬라이스들에 대한 크로마 Cb 성분에 적용되는 β 및 tC에 대한 디폴트 디블록킹 파라미터 오프셋들(2로 나누어짐)을 지정한다. pps_cb_beta_div2 및 pps_cb_tc_offset_div2의 값들은 모두 -12에서 12까지의 범위에 있어야 하며, PPS에 존재하지 않는 경우, 신택스 요소 pps_chroma_deblocking_offset_present_idc가 0일 때 pps_cb_beta_offset_div2 및 pps_cb_tc_offset_div2는 모두 0으로 추론된다. 그렇지 않고, 신택스 요소 pps_chroma_deblocking_offsets_present_idc가 1일 때, pps_cb_beta_offset_div2 및 pps_cb_tc_offset_div2의 값들은 대응하는 루마 디블록킹 파라미터들 pps_beta_offset_div2 및 pps_tc_offset_div2와 동일한 것으로 추론된다. 일부 다른 실시예에서, pps_cb_beta_div2 및 pps_cb_tc_offset_div2가 PPS에 존재하지 않고 신택스 요소 pps_chroma_deblocking_offset_present_idc가 제1 값일 때, pps_cb_beta_offset_div2 및 pps_cb_tc_offset_div2의 값들은 모두 0으로 추론되고; 그렇지 않고, 신택스 요소 pps_chroma_deblocking_offsets_present_idc가 제1 값과 상이한 제2 값일 때, pps_cb_beta_offset_div2 및 pps_cb_tc_offset_div2의 값들은 대응하는 루마 디블록킹 파라미터들 pps_beta_offset_div2 및 pps_tc_offset_div2와 동일한 것으로 추론된다. 유사하게, 디폴트 디블록킹 파라미터 오프셋들이 픽처 헤더들 또는 PPS를 참조하는 슬라이스들의 슬라이스 헤더들에 존재하는 디블록킹 파라미터 오프셋들에 의해 무효화되지 않는 한, 신택스 요소들 pps_cr_beta_offset_div2 및 pps_cr_tc_offset_div2는 PPS를 참조하는 슬라이스들에 대한 크로마 Cr 성분에 적용되는 β 및 tC에 대한 디폴트 디블록킹 파라미터 오프셋들(2로 나누어짐)을 지정한다. pps_cr_beta_div2 및 pps_cr_tc_offset_div2의 값들은 모두 -12에서 12까지의 범위에 있어야 하고, PPS에 존재하지 않는 경우, 신택스 요소 pps_chroma_deblocking_offset_present_idc가 0일 때, pps_cr_beta_offset_div2 및 pps_cr_tc_offset_div2의 값들은 모두 0으로 추론된다. 그렇지 않고, 신택스 요소 pps_chroma_deblocking_offsets_present_idc가 1일 때, pps_cr_beta_offset_div2 및 pps_cr_tc_offset_div2의 값들은 대응하는 루마 디블록킹 파라미터들 pps_beta_offset_div2 및 pps_tc_offset_div2와 동일한 것으로 추론된다.
pic_parameter_set_rbsp( ) { Descriptor
pps_chroma_tool_offsets_present_flag u(1)
if( pps_chroma_tool_offsets_present_flag ) {
pps_cb_qp_offset se(v)
pps_cr_qp_offset se(v)
pps_joint_cbcr_qp_offset_present_flag u(1)
if( pps_joint_cbcr_qp_offset_present_flag )
pps_joint_cbcr_qp_offset_value se(v)
pps_slice_chroma_qp_offsets_present_flag u(1)
pps_cu_chroma_qp_offset_list_enabled_flag u(1)
}
...
deblocking_filter_control_present_flag u(1)
if( deblocking_filter_control_present_flag ) {
deblocking_filter_override_enabled_flag u(1)
pps_deblocking_filter_disabled_flag u(1)
if( !pps_deblocking_filter_disabled_flag ) {
pps_beta_offset_div2 se(v)
pps_tc_offset_div2 se(v)
pps_chroma_deblocking_offsets_present_idc u(2)
if( pps_chroma_deblocking_offsets_present_idc == 2 ) {
pps_cb_beta_offset_div2 se(v)
pps_cb_tc_offset_div2 se(v)
pps_cr_beta_offset_div2 se(v)
pps_cr_tc_offset_div2 se(v)
}
}
}
...
PH 및 SH에서의 해당 수정이 각각 표 11 및 표 12에 나타나 있다. 표 11에서, 2의 값을 갖는 신택스 요소 ph_chroma_deblocking_offsets_present_idc는 크로마 디블록킹 오프셋 관련 신택스 요소들이 PH RBSP 신택스 구조에 존재하도록 허용됨을 지정하고, 2보다 작은 값을 갖는 신택스 요소 ph_chroma_deblocking_offsets_present_idc는 크로마 디블록킹 오프셋 관련 신택스 요소들이 PH RBSP 신택스 구조에 존재하지 않음을 지정한다. 이 신택스 요소가 존재하지 않을 때 ph_chroma_deblocking_offsets_present_idc의 값은 0일 것이다. 일부 다른 실시예에서, 제1 값을 갖는 신택스 요소 ph_chroma_deblocking_offsets_present_idc는 크로마 디블록킹 오프셋 관련 신택스 요소들이 PH RBSP 신택스 구조에 존재하도록 허용됨을 지정하고, 제1 값 이외의 값을 갖는 신택스 요소 ph_chroma_deblocking_offsets_present_idc는 크로마 디블록킹 오프셋 관련 신택스 요소들이 PH RBSP 신택스 구조에 존재하지 않음을 지정한다. 이 신택스 요소가 존재하지 않을 때, ph_chroma_deblocking_offsets_present_idc의 값은 제1 값과 상이한 제2 값과 같을 것이다. 표 11에서 2개의 신택스 요소들 ph_cb_beta_offset_div2 및 ph_cb_tc_offset_div2는 PH와 연관된 슬라이스들에 대한 크로마 Cb 성분에 적용되는 β 및 tC에 대한 디블록킹 파라미터 오프셋들(2로 나누어짐)을 지정한다. ph_cb_beta_offset_div2 및 ph_cb_tc_offset_div2의 값들은 모두 -12에서 12까지의 범위에 있어야 한다. 이 두 신택스 요소들이 존재하지 않을 때, 그리고 신택스 요소 ph_chroma_deblocking_offsets_present_idc가 0이면, ph_cb_beta_offset_div2 및 ph_cb_tc_offset_div2의 값들은 각각 PPS 레벨 신택스 요소들 pps_cb_beta_offset_div2 및 pps_cb_tc_offset_div2와 동일한 것으로 추론된다. 그렇지 않고, 신택스 요소 ph_chroma_deblocking_offsets_present_idc가 1이면, ph_cb_beta_offset_div2 및 ph_cb_tc_offset_div2의 값들은 대응하는 루마 디블록킹 파라미터들, 예를 들어 루마 성분 신택스 요소들 ph_beta_offset_div2 및 ph_tc_offset_div2와 각각 동일한 것으로 추론된다. 일부 다른 실시예에서, 이들 2개의 신택스 요소들이 존재하지 않을 때, 그리고 신택스 요소 ph_chroma_deblocking_offsets_present_idc가 제1 값이면, ph_cb_beta_offset_div2 및 ph_cb_tc_offset_div2의 값들은 PPS 레벨 신택스 요소들 pps_cb_beta_offset_div2 및 pps_cb_tc_offset_div2과 각각 동일한 것으로 추론되고; 그렇지 않고, 신택스 요소 ph_chroma_deblocking_offsets_present_idc가 제1 값과 상이한 제2 값이면, ph_cb_beta_offset_div2 및 ph_cb_tc_offset_div2의 값들은 대응하는 루마 디블록킹 파라미터들, 예를 들어 루마 성분 신택스 요소들 ph_beta_offset_div2 및 ph_tc_offset_div2와 각각 동일한 것으로 추론된다. 루마 성분 신택스 요소들 ph_beta_offset_div2 및 ph_tc_offset_div2는 PH 신택스 구조에서 시그널링된다.
유사하게, 표 11에서 신택스 요소들 ph_cr_beta_offset_div2 및 ph_cr_tc_offset_div2는 PH와 연관된 슬라이스들에 대한 크로마 Cr 성분에 적용되는 β 및 tC에 대한 디블록킹 파라미터 오프셋들(2로 나누어짐)을 지정한다. ph_cr_beta_offset_div2 및 ph_cr_tc_offset_div2의 값들은 모두 -12에서 12까지의 범위에 있어야 한다. 이들 2개의 신택스 요소들이 존재하지 않을 때, 그리고 신택스 요소 ph_chroma_deblocking_offsets_present_idc가 0이면, ph_cr_beta_offset_div2 및 ph_cr_tc_offset_div2의 값들은 PPS 레벨 신택스 요소들 pps_cr_beta_offset_div2 및 pps_cr_tc_offset_div2와 각각 동일한 것으로 추론된다. 그렇지 않고, 신택스 요소 ph_chroma_deblocking_offsets_present_idc가 1이면, ph_cr_beta_offset_div2 및 ph_cr_tc_offset_div2의 값들은 대응하는 루마 성분 신택스 요소들 ph_beta_offset_div2 및 ph_tc_offset_div2와 각각 동일한 것으로 추론된다.
picture_header_structure( ) { Descriptor
...
if( deblocking_filter_override_enabled_flag && dbf_info_in_ph_flag ) {
ph_deblocking_filter_override_flag u(1)
if( ph_deblocking_filter_override_flag ) {
ph_deblocking_filter_disabled_flag u(1)
if( !ph_deblocking_filter_disabled_flag ) {
ph_beta_offset_div2 se(v)
ph_tc_offset_div2 se(v)
if( ChromaArrayType != 0 ) {
ph_chroma_deblocking_offsets_present_idc u(2)
if( ph_chroma_deblocking_offsets_present_idc == 2 ) {
ph_cb_beta_offset_div2 se(v)
ph_cb_tc_offset_div2 se(v)
ph_cr_beta_offset_div2 se(v)
ph_cr_tc_offset_div2 se(v)
}
}
}
}
if( picture_header_extension_present_flag ) {
SH에서의 해당 수정이 표 12에 나타나 있으며, 여기서 2의 값을 갖는 신택스 요소 slice_chroma_deblocking_offsets_present_idc는 크로마 디블록킹 오프셋 관련 신택스 요소들이 슬라이스 신택스 구조에 존재하도록 허용됨을 지정하고, 2보다 작은 값을 갖는 신택스 요소 slice_chroma_deblocking_offsets_present_idc는 크로마 디블록킹 오프셋 관련 신택스 요소들이 슬라이스 신택스 구조에 존재하지 않음을 지정한다. 이 신택스 요소가 존재하지 않을 때 slice_chroma_deblocking_offsets_present_idc의 값은 0일 것이다. 일부 다른 실시예에서, 제1 값과 동일한 값을 갖는 신택스 요소 slice_chroma_deblocking_offsets_present_idc는 크로마 디블록킹 오프셋 관련 신택스 요소들이 슬라이스 신택스 구조에 존재하도록 허용됨을 지정하고, 제1 값 이외의 값을 갖는 신택스 요소 slice_chroma_deblocking_offsets_present_idc는 크로마 디블록킹 오프셋 관련 신택스 요소들이 슬라이스 신택스 구조에 존재하지 않음을 지정하고, 여기서 이 신택스 요소가 존재하지 않을 때 slice_chroma_deblocking_offsets_present_idc의 값은 제1 값과 상이한 제2 값과 동일할 것이다. 표 12에서 2개의 신택스 요소들 slice_cb_beta_offset_div2 및 slice_cb_tc_offset_div2는 현재 슬라이스에 대한 크로마 Cb 성분에 적용되는 β 및 tC에 대한 디블록킹 파라미터 오프셋들(2로 나누어짐)을 지정한다. slice_cb_beta_offset_div2 및 slice_cb_tc_offset_div2의 값들은 모두 -12에서 12까지의 범위에 있어야 한다. 이들 2개의 신택스 요소가 존재하지 않을 때, 그리고 신택스 요소 slice_chroma_deblocking_offsets_present_idc가 0이면, slice_cb_beta_offset_div2 및 slice_cb_tc_offset_div2의 값들은 PH 레벨 신택스 요소들 ph_cb_beta_offset_div2 및 ph_cb_tc_offset_div2와 각각 동일한 것으로 추론된다. 그렇지 않고, 신택스 요소 slice_chroma_deblocking_offsets_present_idc가 1이면, slice_cb_beta_offset_div2 및 slice_cb_tc_offset_div2의 값들은 대응하는 루마 성분 신택스 요소들 slice_beta_offset_div2 및 slice_tc_offset_div2와 각각 동일한 것으로 추론된다. 일부 다른 실시예에서, 이들 2개의 신택스 요소가 존재하지 않을 때, 그리고 신택스 요소 slice_chroma_deblocking_offsets_present_idc가 제1 값이면, slice_cb_beta_offset_div2 및 slice_cb_tc_offset_div2의 값들은 PH 레벨 신택스 요소들 ph_cb_beta_offset_div2 및 ph_cb_tc_offset_div2와 각각 동일한 것으로 추론되고; 그렇지 않고, 신택스 요소 slice_chroma_deblocking_offsets_present_idc가 제1 값과 상이한 제2 값이면, slice_cb_beta_offset_div2 및 slice_cb_tc_offset_div2의 값들은 대응하는 루마 성분 신택스 요소들 slice_beta_offset_div2 및 slice_tc_offset_div2와 각각 동일한 것으로 추론된다. 유사하게, 표 12에서 신택스 요소들 slice_cr_beta_offset_div2 및 slice_cr_tc_offset_div2는 현재 슬라이스에 대한 크로마 Cr 성분에 적용되는 β 및 tC에 대한 디블록킹 파라미터 오프셋들(2로 나누어짐)을 지정한다. slice_cr_beta_offset_div2 및 slice_cr_tc_offset_div2의 값들은 모두 -12에서 12까지의 범위에 있어야 한다. 이들 2개의 신택스 요소가 존재하지 않을 때, 그리고 신택스 요소 slice_chroma_deblocking_offsets_present_idc가 0이면, slice_cr_beta_offset_div2 및 slice_cr_tc_offset_div2의 값들은 PH 레벨 신택스 요소들 ph_cr_beta_offset_div2 및 ph_cr_tc_offset_div2와 각각 동일한 것으로 추론된다. 그렇지 않고, 신택스 요소 slice_chroma_deblocking_offsets_present_idc가 1이면, slice_cr_beta_offset_div2 및 slice_cr_tc_offset_div2의 값들은 대응하는 루마 성분 신택스 요소들 slice_beta_offset_div2 및 slice_tc_offset_div2와 각각 동일한 것으로 추론된다.
slice_header( ) { Descriptor
...
if( deblocking_filter_override_enabled_flag && !dbf_info_in_ph_flag )
slice_deblocking_filter_override_flag u(1)
if( slice_deblocking_filter_override_flag ) {
slice_deblocking_filter_disabled_flag u(1)
if( !slice_deblocking_filter_disabled_flag ) {
slice_beta_offset_div2 se(v)
slice_tc_offset_div2 se(v)
if( ChromaArrayType != 0 ) {
slice_chroma_deblocking_offsets_present_idc u(2)
if( slice_chroma_deblocking_offsets_present_idc ) {
slice_cb_beta_offset_div2 se(v)
slice_cb_tc_offset_div2 se(v)
slice_cr_beta_offset_div2 se(v)
slice_cr_tc_offset_div2 se(v)
}
}
}
...
본 발명의 일부 실시예에서, 특정 신택스 구조에서 시그널링된 신택스 요소가 0이면, 크로마 디블록킹 파라미터들은 상기 특정 신택스 구조에 존재하지 않는다. 현재 픽처와 연관된 PPS에서 신택스 요소를 시그널링하거나 현재 픽처와 연관된 PPS로부터 신택스 요소를 파싱하는 실시예에서, 신택스 요소의 값이 0일 때 PPS에 대한 크로마 디블록킹 파라미터들은 PPS에 존재하지 않는다. 신택스 요소의 값이 1일 때 PPS에 대한 크로마 디블록킹 파라미터들은 명시적으로 PPS에서 시그널링되거나 PPS로부터 파싱되도록 허용된다. 예를 들어, 신택스 요소의 값이 0일 때 PPS에 대한 크로마 디블록킹 파라미터들은 대응하는 PPS 레벨 루마 디블록킹 파라미터들과 동일한 것으로 암시적으로 추론된다. 현재 픽처와 연관된 PH에서 신택스 요소를 시그널링하거나 현재 픽처와 연관된 PH로부터 신택스 요소를 파싱하는 실시예에서, 신택스 요소의 값이 1일 때 PH에 대한 크로마 디블록킹 파라미터들은 명시적으로 PH에서 시그널링되거나 PH로부터 파싱되도록 허용되고, 신택스 요소의 값이 0일 때 PH에 대한 크로마 디블록킹 파라미터들은 PH에 존재하지 않는다. 예를 들어, 현재 픽처에 대한 크로마 디블록킹 파라미터들은, 신택스 요소의 값이 1이고 PH에 크로마 디블록킹 파라미터들이 존재하지 않을 때, 현재 픽처와 연관된 PPS에서 시그널링되는 크로마 디블록킹 파라미터들과 동일한 것으로 암시적으로 추론된다. 현재 픽처에 대한 크로마 디블록킹 파라미터들은 신택스 요소의 값이 0일 때 현재 픽처와 연관된 PH에서 시그널링되는 대응하는 루마 디블록킹 파라미터들과 동일한 것으로 암시적으로 추론된다. 현재 픽처의 현재 슬라이스와 연관된 SH에서 신택스 요소를 시그널링하거나 현재 픽처의 현재 슬라이스와 연관된 SH로부터 신택스 요소를 파싱하는 실시예에서, 신택스 요소의 값이 1일 때 SH에 대한 크로마 디블록킹 파라미터들은 명시적으로 SH에서 시그널링되거나 SH로부터 파싱되도록 허용되고, 신택스 요소의 값이 0일 때 SH에 대한 크로마 디블록킹 파라미터들은 SH에 존재하지 않는다. 예를 들어, 현재 슬라이스에 대한 크로마 디블록킹 파라미터들은, 신택스 요소의 값이 1이고 SH에 크로마 디블록킹 파라미터들이 존재하지 않을 때, 현재 픽처와 연관된 PH에서 시그널링되는 크로마 디블록킹 파라미터들과 동일한 것으로 암시적으로 추론된다. 현재 슬라이스에 대한 크로마 디블록킹 파라미터들은 신택스 요소의 값이 0일 때 현재 슬라이스와 연관된 SH에서 시그널링되는 대응하는 루마 디블록킹 파라미터들과 동일한 것으로 암시적으로 추론된다.
일부 실시예에서, 전술한 실시예들 또는 예들에서 디블록킹 필터 파라미터들의 신택스 요소들은 서로 결합될 수 있다. 예를 들어, 일부 툴 파라미터 신택스 변경은 하나의 특정 실시예에서 비롯되고 일부 다른 툴 파라미터 신택스는 다른 실시예들에서 비롯될 수 있다. 다른 예에서, 툴 파라미터 신택스는 상이한 실시예들로부터 결합될 수 있다.
크로마 디블록킹 파라미터들을 조건부로 시그널링하기 위한 대표적인 흐름도 도 6은 크로마 디블록킹 파라미터들을 조건부로 시그널링하거나 파싱함으로써 입력 데이터를 프로세싱하는 이미지 또는 비디오 인코딩 또는 디코딩 시스템의 실시예를 나타내는 흐름도이다. 단계(S602)에서, 이미지 또는 비디오 인코딩 또는 디코딩 시스템은 현재 픽처와 연관된 입력 데이터 또는 현재 픽처에서 현재 슬라이스와 연관된 입력 비디오 데이터를 수신한다. 단계(S604)에서, 이미지 또는 비디오 인코딩 또는 디코딩 시스템은 현재 픽처가 모노크롬 픽처인지 여부를 확인한다. 예를 들어, 현재 픽처가 모노크롬 픽처인지 여부를 나타내기 위해 현재 픽처에 대한 PPS 레벨 크로마 툴 오프셋 존재 플래그가 사용된다. 다른 예에서, 현재 픽처가 모노크롬 픽처인지 여부를 나타내기 위해 SPS 신택스 요소가 사용된다. 단계(S608)에서, 현재 픽처가 모노크롬 픽처가 아닐 때 이미지 또는 비디오 인코딩 시스템은 현재 픽처 또는 현재 슬라이스에 대한 크로마 디블록킹 파라미터들을 시그널링하도록 허용된다. 예를 들어, 크로마 디블록킹 파라미터들은 PPS, PH, 또는 SH에서 시그널링된다. 단계(S608)에서 현재 픽처가 모노크롬 픽처가 아닐 때 이미지 또는 비디오 디코딩 시스템은 현재 픽처 또는 현재 슬라이스에 대한 크로마 디블록킹 파라미터들을 조건부로 파싱한다. 현재 픽처가 모노크롬 픽처일 때, 비디오 인코딩 또는 디코딩 시스템은 단계(S606)에서 현재 픽처 또는 현재 슬라이스에 대한 크로마 디블록킹 파라미터들을 시그널링 또는 파싱하는 것을 스킵한다. 현재 픽처가 모노크롬 픽처가 아닐 때, 단계(S610)에서 크로마 디블록킹 파라미터들에 따라 현재 픽처 또는 현재 슬라이스의 크로마 성분들에 디블록킹 필터 연산이 적용된다. 단계(S612)에서, 이미지 또는 비디오 인코딩 또는 디코딩 시스템은 현재 픽처 또는 현재 슬라이스를 인코딩 또는 디코딩한다.
크로마 디블록킹 파라미터들을 조건부로 추론하기 위한 대표적인 흐름도 도 7은 신택스 요소의 값에 따라 크로마 디블록킹 파라미터들을 명시적으로 시그널링 또는 파싱하거나, 크로마 디블록킹 파라미터들을 암시적으로 추론하는, 이미지 또는 비디오 인코딩 또는 디코딩 시스템에서의 이미지 또는 비디오 프로세싱의 실시예를 나타내는 흐름도이다. 이미지 또는 비디오 인코딩 또는 디코딩 시스템은 단계(S702)에서 현재 픽처 또는 현재 픽처에서 현재 슬라이스의 입력 데이터를 수신하고, 단계(S704)에서 크로마 디블록킹 파라미터들의 도출을 나타내기 위해 사용되는 신택스 요소를 결정한다. 예를 들어, 신택스 요소는 현재 픽처 또는 현재 슬라이스와 연관된 PPS, PH, 또는 SH에서 시그널링되거나 이들로부터 파싱된다. 단계(S706)에서, 이미지 또는 비디오 인코딩 또는 디코딩 시스템은 신택스 요소의 값에 따라 현재 픽처 또는 현재 슬라이스에 대한 크로마 디블록킹 파라미터들이 명시적으로 시그널링 또는 파싱될지, 또는 암시적으로 추론될지 여부를 결정한다. 현재 픽처 또는 현재 슬라이스에 대한 크로마 디블록킹 파라미터들은 신택스 요소의 값에 따라 단계(S708)에서 암시적으로 추론되거나, 단계(S710)에서 명시적으로 시그널링 또는 파싱된다. 예를 들어, 크로마 디블록킹 파라미터들은 명시적으로 PPS, PH, 또는 SH 신택스 구조에서 시그널링되거나 PPS, PH, 또는 SH 신택스 구조로부터 파싱될 수 있으며; 또는 크로마 디블록킹 파라미터들은 0으로 추론될 수 있거나, 또는 대응하는 루마 디블록킹 파라미터들, 또는 다른 신택스 구조에서 시그널링된 크로마 디블록킹 파라미터들로부터 추론될 수 있다. 단계(S712)에서, 크로마 디블록킹 파라미터들에 따라 현재 픽처 또는 현재 슬라이스의 크로마 성분들에 디블록킹 필터 연산이 적용된다. 단계(S714)에서 이미지 또는 비디오 인코딩 또는 디코딩 시스템은 현재 픽처 또는 현재 슬라이스를 인코딩 또는 디코딩한다.
본 발명을 구현하는 예시적인 비디오 인코더 및 비디오 디코더 본 발명의 실시예들은 비디오 인코더 및/또는 비디오 디코더에서 구현될 수 있다. 예를 들어, 개시된 방법들은 비디오 인코더의 엔트로피 인코딩 모듈, 인터(Inter), 인트라(Intra), 또는 예측 모듈, 변환 모듈, 또는 디블록킹 모듈, 및/또는 비디오 디코더의 엔트로피 디코딩 모듈, 역 디블록킹(inverse deblocking) 모듈, 역 변환(inverse transform) 모듈, 인터, 인트라 또는 예측 모듈에서 구현될 수 있다. 대안적으로, 개시된 방법들 중 임의의 것은 비디오 인코더의 엔트로피 인코딩 모듈, 인터, 인트라, 또는 예측 모듈, 변환 모듈, 또는 디블록킹 모듈, 및/또는 비디오 디코더의 엔트로피 디코딩 모듈, 역 디블록킹 모듈, 역 변환 모듈, 인터, 인트라 또는 예측 모듈에 결합된 회로로서 구현되어, 상기 모듈들 중 임의의 것에 필요한 정보를 제공할 수 있다. 비디오 인코더는 허용되는(legal) 비트스트림을 생성하기 위해 전술한 신택스 설계를 따라야 하고, 비디오 디코더는 파싱 프로세스가 전술한 신택스 설계를 따를 경우에만 비트스트림을 정확하게 디코딩할 수 있다. 비트스트림에서 임의의 신택스 요소가 스킵되면, 비디오 인코더 및 디코더는 상기 신택스 요소의 값을 추론된 값으로 설정하여 인코딩 및 디코딩 결과가 일치하도록 보장한다.
도 8은 본 발명의 다양한 실시예 중 하나 이상을 구현하는 비디오 인코더(800)에 대한 예시적인 시스템 블록도를 나타낸다. 인트라 예측 모듈(810)은 현재 픽처의 재구성된(reconstructed) 비디오 데이터에 기초하여 인트라 예측자(intra predictors)를 제공한다. 인터 예측 모듈(812)은 다른 픽처 또는 픽처들로부터의 비디오 데이터를 참조하는 것에 기초하여 인터 예측자(inter predictors)를 제공하기 위해 모션 추정(Motion Estimation, ME) 및 모션 보상(Motion Compensation, MC)을 수행 한다. 인트라 예측 모듈(810) 또는 인터 예측 모듈(812)은 스위치(814)를 사용하여 현재 픽처에서 현재 블록의 선택된 예측자를 가산기(Adder)(816)에 공급하여 현재 블록의 원본 비디오 데이터로부터 상기 선택된 예측자를 감산함으로써 잔차(residues)를 형성한다. 현재 블록의 잔차는 변환 모듈(T)(818)에 이어 양자화 모듈(Q)(820)에 의해 추가로 처리된다. 그 다음, 변환되고 양자화된 잔차 신호는 엔트로피 인코더(834)에 의해 인코딩되어 비디오 비트스트림을 형성한다. 현재 블록의 변환되고 양자화된 잔차 신호는 역 양자화 모듈(Inverse Quantization module, IQ)(822) 및 역 변환 모듈(Inverse Transformation module, IT)(824)에 의해 처리되어 예측 잔차를 복구한다. 도 8에 도시된 바와 같이, 잔차는 재구성된 비디오 데이터를 생성하기 위해 재구성 모듈(Reconstruction module, REC)(826)에서 선택된 예측기에 다시 더해짐으로써 복구된다. 재구성된 비디오 데이터는 참조 픽처 버퍼(Ref. Pict. Buffer)(832)에 저장되어 다른 픽처들의 예측에 사용될 수 있다. REC(826)로부터의 재구성된 비디오 데이터는 인코딩 프로세싱으로 인해 다양한 손상을 받을 수 있으며, 따라서, 픽처 품질을 더욱 향상시키기 위해 참조 픽처 버퍼(832)에 저장하기 전에 상기 재구성된 비디오 데이터의 루마 및 크로마 성분들에 적어도 하나의 인-루프 프로세싱 필터(In-loop Processing Filter, ILPF)(828)가 조건부로 적용된다. 디블록킹 필터는 ILPF(828)의 일 예이다. 신택스 요소들은 비디오 비트스트림으로의 통합을 위해 엔트로피 인코더(834)에 제공된다. 본 발명의 일 실시예에서, 현재 픽처 또는 현재 픽처에서 현재 슬라이스에 대한 크로마 디블록킹 파라미터들은 현재 픽처가 모노크롬 픽처인지 여부에 따라 비디오 비트스트림에서 조건부로 시그널링된다. 다른 실시예에서, 현재 픽처 또는 현재 슬라이스에 대한 크로마 디블록킹 파라미터들은 PPS, PH, 또는 SH에서 시그널링된 신택스 요소의 값에 따라 명시적으로 시그널링되거나 암시적으로 추론된다.
도 8의 비디오 인코더(800)에 대한 대응하는 비디오 디코더(900)가 도 9에 도시되어 있다. 비디오 인코더에 의해 인코딩된 비디오 비트스트림은 비디오 디코더(900)에 대한 입력이고 변환 및 양자화된 잔차 신호 및 기타 시스템 정보를 파싱 및 복구하기 위해 엔트로피 디코더(910)에 의해 디코딩된다. 디코더(900)의 디코딩 프로세스는 디코더(900)는 인터 예측 모듈(914)에서 모션 보상 예측만을 필요로 한다는 점을 제외하고, 인코더(800)에서의 재구성 루프와 유사하다. 각각의 블록은 인트라 예측 모듈(912) 또는 인터 예측 모듈(914)에 의해 디코딩된다. 스위치(916)는 디코딩된 모드 정보에 따라 인트라 예측 모듈(912)로부터 인트라 예측자를 선택하거나 인터 예측 모듈(914)로부터 인터 예측자를 선택한다. 변환 및 양자화된 잔차 신호는 역 양자화(Inverse Quantization, IQ) 모듈(920) 및 역 변환 모듈(IT)(922)에 의해 복구된다. IQ 모듈(920)은 역 양자화(de-quantization) 모듈이라고도 한다. 복구된 잔차 신호는 재구성된 비디오를 생성하기 위해 재구성(REC) 모듈(918)에서 상기 예측자를 다시 더함으로써 재구성된다. 재구성된 비디오는 적어도 하나의 인-루프 프로세싱 필터(ILPF)(924)에 의해 조건부로 추가 프로세싱되어 최종으로 디코딩된 비디오를 생성한다. 디블록킹 필터는 ILPF(924)의 일 예이다. 본 발명의 일부 실시예에서, 크로마 디블록킹 파라미터들은 현재 픽처가 모노크롬 픽처인지 여부에 따라 현재 픽처 또는 현재 슬라이스에 대해 조건부로 파싱된다. 일부 다른 실시예에서, 현재 픽처 또는 현재 픽처에서 현재 슬라이스에 대한 크로마 디블록킹 파라미터들은 현재 픽처 또는 현재 슬라이스와 연관된 PPS, PH, 또는 SH로부터 파싱된 신택스 요소에 따라 명시적으로 파싱되거나 암시적으로 추론된다. 현재 디코딩된 픽처가 참조 픽처이면, 디코딩 순서에서 나중 픽처들을 위해 현재 디코딩된 픽처의 재구성된 비디오도 참조 픽처 버퍼(Ref. Pict. Buffer)(928)에 저장된다.
도 8 및 도 9에서 비디오 인코더(800) 및 비디오 디코더(900)의 다양한 구성요소들은 하드웨어 구성요소들, 메모리에 저장된 프로그램 명령을 실행하도록 구성된 하나 이상의 프로세서, 또는 하드웨어와 프로세서의 조합에 의해 구현될 수 있다. 예를 들어, 프로세서는 현재 픽처가 모노크롬 픽처인지 여부를 결정하는 것을 제어하기 위해 프로그램 명령을 실행한다. 프로세서는 단일 또는 다수의 프로세싱 코어들이 장착되어 있다. 일부 예에서, 프로세서는 인코더(800) 및 디코더(900)의 일부 구성요소에서의 기능(functions)을 수행하기 위한 프로그램 명령을 실행하고, 프로세서와 전기적으로 연결된 메모리는 상기 프로그램 명령, 블록들의 재구성된 이미지들에 대응하는 정보, 및/또는 인코딩 또는 디코딩 프로세스 동안의 중간 데이터를 저장하는 데 사용된다. 일부 예들에서, 비디오 인코더(800)는 비디오 비트스트림에 하나 이상의 신택스 요소들을 포함함으로써 정보를 시그널링할 수 있고, 대응하는 비디오 디코더(900)는 상기 하나 이상의 신택스 요소들을 파싱 및 디코딩함으로써 그러한 정보를 도출한다. 일부 실시예에서 메모리는 반도체 또는 솔리드-스테이트(solid-state) 메모리, 랜덤 액세스 메모리(RAM), 읽기전용 메모리(ROM), 하드 디스크, 광 디스크, 또는 다른 적절한 저장 매체와 같은 비일시적 컴퓨터 판독가능 매체를 포함한다. 메모리는 또한 위에 열거된 비일시적 컴퓨터 판독가능 매체들 중 둘 이상의 조합일 수 있다. 도 8 및 도 9에 도시된 바와 같이, 인코더(800) 및 디코더(900)는 동일한 전자 장치에서 구현될 수 있으므로, 동일한 전자 장치에서 구현되는 경우 인코더(800) 및 디코더(900)의 다양한 기능적 구성요소들은 공유되거나 재사용될 수 있다. 예를 들어, 도 8의 재구성 모듈(826), 역 변환 모듈(824), 역 양자화 모듈(822), 인-루프 프로세싱 필터(828), 및 참조 픽처 버퍼(832) 중 하나 이상은 각각 도 9의 재구성 모듈(918), 역 변환 모듈(922), 역 양자화 모듈(920), 인-루프 프로세싱 필터(924), 및 참조 픽처 버퍼(928)로 기능하도록 사용될 수도 있다.
보다 효율적인 크로마 디블록킹 파라미터 시그널링을 위한 비디오 프로세싱 방법의 실시예들은 전술한 프로세싱을 수행하기 위해 비디오 압축 칩에 통합된 회로 또는 비디오 압축 소프트웨어에 통합된 프로그램 코드에 구현될 수 있다. 예를 들어, 크로마 디블록킹 파라미터들을 조건부로 시그널링 또는 파싱하는 것은 컴퓨터 프로세서, DSP(Digital Signal Processor), 마이크로프로세서, 또는 FPGA(field programmable gate array)에서 실행될 프로그램 코드로 구현될 수 있다. 이들 프로세서들은 본 발명에 의해 구체화된 특정 방법들을 정의하는 기계 판독가능 소프트웨어 코드 또는 펌웨어 코드를 실행함으로써, 본 발명에 따른 특정 작업을 수행하도록 구성될 수 있다.
본 발명은 그 사상 또는 본질적인 특징을 벗어나지 않고 다른 특정한 형태로 구체화될 수 있다. 설명된 예들은 모든 면에서 설명을 위한 것일 뿐이고 제한적이지 않은 것으로 고려되어야 한다. 따라서, 본 발명의 범위는 전술한 설명보다는 첨부된 청구범위에 의해 나타내어진다. 청구범위와 균등한 의미 및 범위 내에 있는 모든 변경들은 청구범위의 범위 내에 포함되어야 한다.

Claims (19)

  1. 이미지 또는 비디오 코딩 시스템에서의 이미지 또는 비디오 프로세싱 방법으로서,
    현재 픽처와 연관된 입력 데이터를 수신하거나 상기 현재 픽처에서 현재 슬라이스와 연관된 입력 데이터를 수신하는 단계;
    상기 현재 픽처가 모노크롬(monochrome) 픽처인지 여부를 결정하는 단계;
    상기 현재 픽처가 모노크롬 픽처인지 여부에 따라 상기 현재 픽처 또는 현재 슬라이스에 대한 색차(크로마) 디블록킹 파라미터들(chrominance(chroma) deblocking parameters)을 조건부로 시그널링하거나 파싱하는 단계;
    상기 현재 픽처가 모노크롬 픽처가 아닐 때, 상기 크로마 디블록킹 파라미터들에 따라 상기 현재 픽처 또는 현재 슬라이스의 크로마 성분들에 디블록킹 필터 연산(deblocking filter operation)을 적용하는 단계; 및
    상기 현재 픽처 또는 상기 현재 픽처의 현재 슬라이스를 인코딩 또는 디코딩하는 단계
    를 포함하는, 방법.
  2. 제1 항에 있어서,
    상기 크로마 디블록킹 파라미터들을 조건부로 시그널링하거나 파싱하는 단계는,
    상기 현재 픽처가 모노크롬 픽처가 아닐 때 현재 픽처 또는 현재 슬라이스에 대해 상기 크로마 디블록킹 파라미터들을 시그널링하거나 파싱하는 단계, 및
    상기 현재 픽처가 모노크롬 픽처일 때 상기 현재 픽처 또는 현재 슬라이스에 대해 상기 크로마 디블록킹 파라미터들을 시그널링하는 것을 스킵하거나 파싱하는 것을 스킵하는 단계
    를 포함하는 것인, 방법.
  3. 제1 항에 있어서,
    상기 현재 픽처는 상기 현재 픽처와 연관된 픽처 파라미터 세트(Picture Parameter Set, PPS)에서 시그널링되는 PPS 레벨 크로마 툴 오프셋 존재 플래그(PPS level chroma tool offset present flag)의 값에 따라 모노크롬 픽처로 결정되는 것인, 방법.
  4. 제3 항에 있어서,
    상기 PPS 레벨 크로마 툴 오프셋 존재 플래그는 대응하는 시퀀스 파라미터 세트(Sequence Parameter Set, SPS)에서 시그널링되는 신택스 요소 ChromaArrayType이 0일 때 0과 같고, 상기 PPS 레벨 크로마 툴 오프셋 존재 플래그가 0일 때 상기 크로마 디블록킹 파라미터들은 상기 PPS에서 시그널링되지 않거나 상기 PPS로부터 파싱되지 않는 것인, 방법.
  5. 제1 항에 있어서,
    상기 크로마 디블록킹 파라미터들은 상기 크로마 성분들에 대한 디블록킹 오프셋(deblocking offsets) 베타(beta) 및 tC를 포함하는 것인, 방법.
  6. 제1 항에 있어서,
    상기 현재 픽처는 시퀀스 파라미터 세트(SPS)에서 시그널링되는 신택스 요소 ChromaArrayType에 따라 모노크롬 픽처로 결정되는 것인, 방법.
  7. 제6 항에 있어서,
    상기 신택스 요소 ChromaArrayType이 0일 때 상기 크로마 디블록킹 파라미터들은 상기 현재 픽처와 연관된 픽처 헤더(Picture Header, PH)에서 시그널링되지 않고, 상기 신택스 요소 ChromaArrayType이 0이 아닐 때 상기 크로마 디블록킹 파라미터들은 상기 PH에서 시그널링되도록 허용되는 것인, 방법.
  8. 제6 항에 있어서,
    상기 신택스 요소 ChromaArrayType이 0일 때 상기 크로마 디블록킹 파라미터들은 상기 현재 슬라이스와 연관된 슬라이스 헤더(Slice Header, SH)에서 시그널링되지 않고, 상기 신택스 요소 ChromaArrayType이 0이 아닐 때 상기 크로마 디블록킹 파라미터들은 상기 SH에서 시그널링되도록 허용되는 것인, 방법.
  9. 이미지 또는 비디오 코딩 시스템에서의 이미지 또는 비디오 프로세싱 방법으로서,
    현재 픽처와 연관된 입력 데이터를 수신하거나 상기 현재 픽처에서 현재 슬라이스와 연관된 입력 데이터를 수신하는 단계;
    상기 현재 픽처 또는 현재 슬라이스에 대한 색차(크로마) 디블록킹 파라미터들의 도출을 나타내기 위해 사용되는 신택스 요소를 결정하는 단계;
    상기 신택스 요소의 값에 따라 상기 현재 픽처 또는 현재 슬라이스에 대한 상기 크로마 디블록킹 파라미터들을 명시적으로 시그널링 또는 파싱하거나, 상기 현재 픽처 또는 현재 슬라이스에 대한 상기 크로마 디블록킹 파라미터들을 암시적으로 추론하는 단계;
    상기 크로마 디블록킹 파라미터들에 따라 상기 현재 픽처 또는 현재 슬라이스의 크로마 성분들에 디블록킹 필터 연산을 적용하는 단계; 및
    상기 현재 픽처 또는 상기 현재 픽처에서 현재 슬라이스를 인코딩 또는 디코딩하는 단계
    를 포함하는, 방법.
  10. 제9 항에 있어서,
    상기 신택스 요소의 값은 상기 현재 픽처가 모노크롬 픽처가 아닐 때 0보다 큰 수로 추론되도록 허용되는 것인, 방법.
  11. 제9 항에 있어서,
    상기 크로마 디블록킹 파리미터들은 상기 현재 픽처와 연관된 픽처 파라미터 세트(PPS) 또는 픽처 헤더(PH), 또는 상기 현재 슬라이스와 연관된 슬라이스 헤더(SH)에서 명시적으로 시그널링되거나 상기 PPS 또는 PH 또는 SH로부터 파싱되거나, 또는 상기 크로마 디블록킹 파리미터들은 상기 PPS, PH, 또는 SH에서 시그널링되는 신택스 요소의 값에 따라 암시적으로 추론되는 것인, 방법.
  12. 제11 항에 있어서,
    상기 크로마 디블록킹 파라미터들이 암시적으로 추론될 때, 상기 크로마 디블록킹 파라미터들은 0으로 암시적으로 추론되거나, 또는 루마 디블록킹 파라미터들(luma deblocking parameters)로부터 암시적으로 추론되거나, 또는 다른 신택스 구조로부터 암시적으로 추론되는 것인, 방법.
  13. 제9 항에 있어서,
    상기 신택스 요소는 상기 현재 픽처와 연관된 픽처 파라미터 세트(PPS)에서 시그널링 또는 상기 PPS로부터 파싱되고, 상기 신택스 요소의 값이 제1 값일 때 상기 크로마 디블록킹 파라미터들은 명시적으로 상기 PPS에서 시그널링 또는 상기 PPS로부터 파싱되도록 허용되고, 상기 신택스 요소의 값이 제2 값일 때 상기 크로마 디블록킹 파라미터들은 상기 PPS에 존재하지 않으며, 상기 제1 값과 상기 제2 값은 서로 상이한 것인, 방법.
  14. 제9 항에 있어서,
    픽처 파라미터 세트(PPS)에서 상기 크로마 디블록킹 파라미터들은 상기 PPS에서 대응하는 루마 디블록킹 파라미터들과 동일한 것으로 암시적으로 추론되는 것인, 방법.
  15. 제9 항에 있어서,
    상기 신택스 요소의 값이 제1 값일 때 상기 현재 픽처 또는 현재 슬라이스에 대한 상기 크로마 디블록킹 파라미터들은 명시적으로 픽처 헤더(PH) 또는 슬라이스 헤더(SH)에서 시그널링 또는 상기 PH 또는 SH로부터 파싱되도록 허용되고, 상기 신택스 요소의 값이 제2 값일 때 상기 크로마 디블록킹 파라미터들은 상기 PH 또는 SH에 존재하지 않으며, 상기 제1 값과 상기 제2 값은 서로 상이한 것인, 방법.
  16. 제9 항에 있어서,
    상기 신택스 요소의 값이 제1 값이고 상기 크로마 디블록킹 파라미터들이 픽처 헤더(PH)에 존재하지 않을 때, 상기 현재 픽처에 대한 상기 크로마 디블록킹 파라미터들은 상기 현재 픽처와 연관된 픽처 파라미터 세트(PPS)에서 시그널링되는 크로마 디블록킹 파라미터들과 동일한 것으로 암시적으로 추론되고, 상기 신택스 요소의 값이 제2 값일 때 현재 픽처에 대한 상기 크로마 디블록킹 파라미터들은 상기 현재 픽처와 연관된 상기 PH에서 시그널링되는 대응하는 루마 디블록킹 파라미터들과 동일한 것으로 암시적으로 추론되며, 상기 제1 값과 상기 제2 값은 서로 상이한 것인, 방법.
  17. 제9 항에 있어서,
    상기 신택스 요소의 값이 제1 값이고 상기 크로마 디블록킹 파라미터들이 슬라이스 헤더(SH)에 존재하지 않을 때, 상기 현재 슬라이스에 대한 상기 크로마 디블록킹 파라미터들은 상기 현재 픽처와 연관된 PH에서 시그널링되는 크로마 디블록킹 파라미터들과 동일한 것으로 암시적으로 추론되고, 상기 신택스 요소의 값이 제2 값일 때 상기 현재 슬라이스에 대한 상기 크로마 디블록킹 파라미터들은 상기 현재 슬라이스와 연관된 상기 SH에서 시그널링되는 대응하는 루마 디블록킹 파라미터들과 동일한 것으로 암시적으로 추론되며, 상기 제1 값과 상기 제2 값은 서로 상이한 것인, 방법.
  18. 이미지 또는 비디오 인코딩 또는 디코딩 시스템을 위한 이미지 또는 비디오 프로세싱 장치로서,
    하나 이상의 전자 회로를 포함하고, 상기 하나 이상의 전자 회로는,
    현재 픽처와 연관된 입력 데이터를 수신하거나 상기 현재 픽처에서 현재 슬라이스와 연관된 입력 데이터를 수신하고;
    상기 현재 픽처가 모노크롬 픽처인지 여부를 결정하고;
    상기 현재 픽처가 모노크롬 픽처인지 여부에 따라 상기 현재 픽처 또는 현재 슬라이스에 대한 색차(크로마) 디블록킹 파라미터들을 조건부로 시그널링하거나 파싱하고;
    상기 현재 픽처가 모노크롬 픽처가 아닐 때, 상기 크로마 디블록킹 파라미터들에 따라 상기 현재 픽처 또는 현재 슬라이스의 크로마 성분들에 디블록킹 필터 연산을 적용하고; 그리고
    상기 현재 픽처 또는 상기 현재 픽처의 현재 슬라이스를 인코딩 또는 디코딩하도록
    구성된 것인, 이미지 또는 비디오 프로세싱 장치.
  19. 이미지 또는 비디오 인코딩 또는 디코딩 시스템을 위한 이미지 또는 비디오 프로세싱 장치로서,
    하나 이상의 전자 회로를 포함하고, 상기 하나 이상의 전자 회로는,
    현재 픽처와 연관된 입력 데이터를 수신하거나 상기 현재 픽처에서 현재 슬라이스와 연관된 입력 데이터를 수신하고;
    상기 현재 픽처 또는 현재 슬라이스에 대한 색차(크로마) 디블록킹 파라미터들의 도출을 나타내기 위해 사용되는 신택스 요소를 결정하고;
    상기 신택스 요소의 값에 따라, 상기 현재 픽처 또는 현재 슬라이스에 대한 상기 크로마 디블록킹 파라미터들을 명시적으로 시그널링 또는 파싱하거나, 상기 현재 픽처 또는 현재 슬라이스에 대한 상기 크로마 디블록킹 파라미터들을 암시적으로 추론하고;
    상기 크로마 디블록킹 파라미터들에 따라 현재 픽처 또는 현재 슬라이스의 크로마 성분들에 디블록킹 필터 연산을 적용하고; 그리고
    상기 현재 픽처 또는 상기 현재 픽처에서 현재 슬라이스를 인코딩 또는 디코딩하도록
    구성된 것인, 이미지 또는 비디오 프로세싱 장치.
KR1020227031849A 2020-02-26 2021-02-25 이미지 또는 비디오 프로세싱 시스템에서의 루프 필터 파라미터 시그널링 방법 및 장치 KR20220138864A (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US202062981583P 2020-02-26 2020-02-26
US62/981,583 2020-02-26
PCT/CN2021/077862 WO2021170036A1 (en) 2020-02-26 2021-02-25 Methods and apparatuses of loop filter parameter signaling in image or video processing system

Publications (1)

Publication Number Publication Date
KR20220138864A true KR20220138864A (ko) 2022-10-13

Family

ID=77489870

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020227031849A KR20220138864A (ko) 2020-02-26 2021-02-25 이미지 또는 비디오 프로세싱 시스템에서의 루프 필터 파라미터 시그널링 방법 및 장치

Country Status (7)

Country Link
US (1) US20230087875A1 (ko)
EP (1) EP4107963A4 (ko)
KR (1) KR20220138864A (ko)
CN (1) CN115152235A (ko)
MX (1) MX2022010468A (ko)
TW (1) TWI792200B (ko)
WO (1) WO2021170036A1 (ko)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN118540503A (zh) * 2020-02-27 2024-08-23 Lg电子株式会社 图像解码设备、图像编码设备和发送设备
JP2021158633A (ja) * 2020-03-30 2021-10-07 Kddi株式会社 画像復号装置、画像復号方法及びプログラム
JP2023520040A (ja) * 2020-04-02 2023-05-15 エルジー エレクトロニクス インコーポレイティド ビデオまたは映像コーディングシステムにおける白黒映像に関するクロマデブロッキングパラメータ情報に基づく映像コーディング方法

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2006124885A2 (en) * 2005-05-12 2006-11-23 Kylintv, Inc. Codec for iptv
US9591302B2 (en) * 2012-07-02 2017-03-07 Microsoft Technology Licensing, Llc Use of chroma quantization parameter offsets in deblocking
US10412419B2 (en) * 2013-07-12 2019-09-10 Qualcomm Incorporated Adaptive filtering in video coding
AU2016222177A1 (en) * 2015-02-17 2017-08-31 Hfi Innovation Inc. Method and apparatus for palette coding of monochrome contents in video and image compression
CN109196862B (zh) * 2016-05-28 2021-01-22 联发科技股份有限公司 视频数据处理方法、装置及相应可读存储介质
US11019339B2 (en) * 2017-07-12 2021-05-25 Futurewei Technologies, Inc. Fractional quantization parameter offset in video compression
US10708592B2 (en) * 2018-04-02 2020-07-07 Qualcomm Incorporated Deblocking filter for video coding and processing
AU2021215741A1 (en) * 2020-02-04 2022-09-08 Huawei Technologies Co., Ltd. An encoder, a decoder and corresponding methods about signaling high level syntax
CN115152221A (zh) * 2020-02-05 2022-10-04 抖音视界有限公司 用于色度分量的去方块参数
EP4107962A4 (en) * 2020-02-21 2023-07-26 Alibaba Group Holding Limited METHODS OF PROCESSING CHROMA SIGNALS
BR112022015618A2 (pt) * 2020-02-25 2022-09-27 Panasonic Ip Corp America Codificador, decodificador, método de codificação e método de decodificação

Also Published As

Publication number Publication date
WO2021170036A1 (en) 2021-09-02
EP4107963A4 (en) 2024-04-24
CN115152235A (zh) 2022-10-04
EP4107963A1 (en) 2022-12-28
TWI792200B (zh) 2023-02-11
US20230087875A1 (en) 2023-03-23
MX2022010468A (es) 2022-09-19
TW202137766A (zh) 2021-10-01

Similar Documents

Publication Publication Date Title
EP3158739B1 (en) Block adaptive color-space conversion coding
EP3350995B1 (en) Palette predictor initialization and merge for video coding
EP3117610B1 (en) Modifying bit depths in color-space transform coding
EP3155814B1 (en) Determining application of deblocking filtering to palette coded blocks in video coding
US9516340B2 (en) Methods and apparatus supporting multi-pass video syntax structure for slice data
US11582454B2 (en) Method and apparatus of the quantization matrix computation and representation for video coding
US20220182655A1 (en) Palette mode with different partition structures
US11792388B2 (en) Methods and apparatuses for transform skip mode information signaling
TWI772951B (zh) 用於編解碼視訊序列的方法和裝置
US20230087875A1 (en) Methods and Apparatuses of Loop Filter Parameter Signaling in Image or Video Processing System
US11601647B2 (en) Methods and apparatuses of inter coding for pictures partitioned into subpictures in video coding systems
US20230199223A1 (en) High-level syntax for video coding
US20230031964A1 (en) Methods and devices for high-level syntax in video coding
KR20220156029A (ko) 구문 요소를 사용한 비디오 프로세싱
US11477445B2 (en) Methods and apparatuses of video data coding with tile grouping
CN110771166B (zh) 帧内预测装置和方法、编码、解码装置、存储介质
US11711513B2 (en) Methods and apparatuses of coding pictures partitioned into subpictures in video coding systems
US20230128378A1 (en) Method and Apparatus for Imposing Bitstream Constraints in Video Coding
US11425388B2 (en) Methods and apparatuses of coding pictures with CTU based slice partitions in video coding system
US12015802B2 (en) Method and apparatus for signaling slice partition information in image and video coding
US20240114172A1 (en) Method for the Synthesis of Nitrogen Oxides and Nitric Acid in a Thermal Reactor