KR101981725B1 - 비디오 및 이미지 코딩에서의 비-444 색채 포맷을 위한 팔레트 기반 예측의 방법 - Google Patents

비디오 및 이미지 코딩에서의 비-444 색채 포맷을 위한 팔레트 기반 예측의 방법 Download PDF

Info

Publication number
KR101981725B1
KR101981725B1 KR1020177018160A KR20177018160A KR101981725B1 KR 101981725 B1 KR101981725 B1 KR 101981725B1 KR 1020177018160 A KR1020177018160 A KR 1020177018160A KR 20177018160 A KR20177018160 A KR 20177018160A KR 101981725 B1 KR101981725 B1 KR 101981725B1
Authority
KR
South Korea
Prior art keywords
chroma
color
samples
palette
block
Prior art date
Application number
KR1020177018160A
Other languages
English (en)
Other versions
KR20170089923A (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 KR20170089923A publication Critical patent/KR20170089923A/ko
Application granted granted Critical
Publication of KR101981725B1 publication Critical patent/KR101981725B1/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/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/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/103Selection of coding mode or of prediction mode
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/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/119Adaptive subdivision aspects, e.g. subdivision of a picture into rectangular or non-rectangular coding blocks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/59Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving spatial sub-sampling or interpolation, e.g. alteration of picture size or resolution
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/593Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving spatial prediction techniques
    • 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
    • H04N11/00Colour television systems

Landscapes

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

Abstract

비-444 색채 포맷(non-444 color format)의 컬러 비디오(color video)에 대해 팔레트 코딩(palette coding) 모드를 사용하는 비디오 코딩 방법이 개시된다. 444 포맷용으로 설계된 팔레트가 비-444 비디오 데이터용으로 사용될 수 있도록 비-444 비디오 데이터는 444 포맷으로 변환될 수 있다. 4:2:0 색채 포맷의 경우, 대응하는 쿼드(quad) 루마(luma) 샘플들과 공동 배치된 각각의 크로마(chroma) 샘플은 3개의 크로마 샘플들로 패딩(pad)되어 변환된 쿼드 크로마 샘플들을 형성한다. 4:2:0 색채 포맷의 경우, 현재 픽셀이 색채 팔레트에 속하지 않으면, 하나 이상의 이스케이프(escape) 값들이 현재 픽셀에 대해 시그널링되고, 각각의 색채 성분에 대한 현재 픽셀의 크로마 샘플과 연관된 이스케이프 값은 대응 쿼드 루마 샘플들과 공동 배치된 쿼드 크로마 샘플 위치들 중 3개에 대해서는 시그널링되지 않는다.

Description

비디오 및 이미지 코딩에서의 비-444 색채 포맷을 위한 팔레트 기반 예측의 방법{METHODS OF PALETTE BASED PREDICTION FOR NON-444 COLOR FORMAT IN VIDEO AND IMAGE CODING}
관련 출원들에 대한 상호참조
본 발명은 2014년 12월 19일에 출원된 미국 가특허출원 62/094,137, 2015년 1월 26일에 출원된 미국 가특허출원 62/107,583, 및 2015년 2월 11일에 출원된 미국 가특허출원 62/114,671의 우선권을 주장한다. 이 미국 가특허출원들은 그 전체가 본 명세서에서 참조로서 병합된다.
기술분야
본 발명은 비디오 데이터에 대한 팔레트 코딩(palette coding)에 관한 것이다. 특히, 본 발명은 444 색채 포맷(color format) 및 비-444(non-444) 색채 포맷의 비디오 데이터에 대해 팔레트 코딩을 적용하는 다양한 기술들에 관한 것이다.
고효율 비디오 코딩(High Efficiency Video Coding; HEVC)은 최근 해에 개발된 새로운 코딩 표준이다. 고효율 비디오 코딩(HEVC) 시스템에서, H.264/AVC의 고정 크기 매크로블록은 코딩 단위(coding unit; CU)라고 불리어지는 플렉시블 블록(flexible block)으로 대체된다. CU에서의 픽셀들은 코딩 효율을 향상시키기 위해 동일한 코딩 파라미터를 공유한다. CU는 HEVC에서 코딩 트리 단위(coded tree unit; CTU)라고도 불리어지는 가장 큰 CU(largest CU; LCU)로 시작할 수 있다. 코딩 단위의 개념 외에도, 예측 단위(prediction unit; PU)의 개념이 또한 HEVC에 도입되었다. CU 계층 트리의 분할이 행해지면, 각각의 리프(leaf) CU는 예측 유형 및 PU 파티션에 따라 하나 이상의 예측 단위(PU)로 더 분할된다. 스크린 콘텐츠 코딩을 위한 몇 가지 코딩 툴이 개발되었다. 본 발명과 관련된 이러한 툴을 아래에서 간략히 검토해본다.
팔레트 모드 코딩
JCTVC-S1005(2014년 10월 17일~24일에 프랑스의 스트라스부르크에서 개최된 ITU-T SG 16 WP 3 및 ISO/IEC JTC 1/SC 29/WG 11의 19차 회의에서 비디오 코딩 공동 협력팀(Joint Collaborative Team on Video Coding; JCT-VC)의 조시(Joshi) 등이 발표한 "HEVC 스크린 콘텐츠 코딩 드래프트 텍스트 2", 문서: JCTVC-S1005)에서 개시된 바와 같이 HEVC에 대한 새로운 코딩 툴(스크린 콘텐츠 코딩(screen content coding; SCC)이라고 호칭됨)이 개발되었다. 팔레트 기반 코딩은 코딩 단위(CU)에 기초하여 수행된다.
팔레트 모드 코딩 프로세스에서, 색채 팔레트 및 인덱스 맵의 유도는 다음과 같이 설명된다. 색채 팔레트는 먼저 444 성분에 대한 픽셀값의 3개 성분들에 의해 유도된다. 색채 팔레트는 N개의 주요 색채(major color)들을 저장한다. 구체적으로, N개의 주요 색채들은 히스토그램 내 피크 값들이 주요 색채들로서 선택되는 최상위(most significant) N개 픽셀들에 대응한다.
주요 색채에 가까운 픽셀값들은 주요 색채로 양자화될 것이다. 현재 픽셀값과 주요 색채들과의 거리를 계산할 때, 3개 성분들이 고려될 것이다. 특히, 3개 성분들과 주요 색채 간의 절대적 차이가 추가될 것이고, 그 결과는 현재 픽셀을 어느 주요 색채에 할당할지를 결정하는데 사용된다. 픽셀을 각각의 주요 색채와 비교하여 가장 가까운 색채를 찾을 것이며, 해당 픽셀은 최단 거리를 갖는 주요 색채에 할당된다. 주요 색채 세트(색채 팔레트 또는 팔레트라고도 부름)에 속하지 않는 다른 픽셀들은 이스케이프 픽셀(escape pixel)로서 지정된다. 각각의 픽셀에 대해, 색채 인덱스가 할당되어 해당 픽셀이 팔레트 내의 어느 색채에 속하는지를 나타낸다. 이스케이프 픽셀들에 대해서는, 특수 색채 인덱스가 이스케이프 픽셀을 나타내는데 사용될 것이다.
팔레트 코딩에 대해 시그널링된 정보는 다음과 같이 도시된다:
1. 팔레트 시그널링: 색채 인덱스 표(팔레트 표이라고도 부름) 크기가 먼저 전송되고 이어서 팔레트 요소들(즉, 색채 값들)이 전송된다. 관련 구문 요소들은 다음을 포함한다:
1.1 palette_share_flag: 이전 팔레트 표가 현재 CU에 대해 사용되는지 여부를 규정한다;
1.2 palette_predictor_run: 이전 팔레트 표 중 어느 것이 현재 팔레트 표에서 재사용되는지를 규정한다;
1.3 palette_num_signaled_entries: 이전 팔레트 표로부터 예측되지 않은 팔레트 항목(palette entry)들의 수를 규정한다;
1.4 palette_entry: 이전 팔레트 표로부터 예측되지 않은 항목들에 대한 각각의 성분의 픽셀값들을 규정한다;
1.5 palette_escape_val_present_flag: 현재 CU에서의 이스케이프 픽셀의 존재를 규정한다;
1.6 cu_qp_delta_palette_abs: 현재 코딩 단위의 루마(luma) 양자화 파라미터와 그 예측 사이의 차이 CuQpDeltaVal의 절대값을 규정한다;
1.7 cu_qp_delta_palette_sign_flag: CuQpDeltaVal의 부호를 규정한다;
1.8 cu_chroma_qp_palette_offset_flag: 존재하고 1인 경우는, cb_qp_offset_list[] 내의 항목이 CuQpOffsetCb의 값을 결정하는데 사용되고 cr_qp_offset_list[] 내의 대응하는 항목이 CuQpOffsetCr의 값을 결정하는데 사용됨을 규정한다. cu_chroma_qp_palette_offset_flag가 0인 것은 CuQpOffsetCb 및 CuQpOffsetCr의 값들을 결정하기 위해 이러한 목록들이 사용되지 않음을 규정한다.
1.9 cu_chroma_qp_palette_offset_idx: 존재하는 경우, CuQpOffsetCb 및 CuQpOffsetCr의 값을 결정하는데 사용되는 인덱스를 cb_qp_offset_list[] 및 cr_qp_offset_list[] 내에서 규정한다. cu_chroma_qp_palette_offset_idx의 값은, 존재하는 경우, 0부터 chroma_qp_offset_list_len_minus1까지의 범위(이 값들을 포함함) 내에 있어야 한다. cu_chroma_qp_palette_offset_idx의 값은, 존재하지 않는 경우, 0이라고 추론된다;
1.10 palette_transpose_flag: 팔레트 예측을 위한 스캐닝 순서를 나타낸다.
2. 인덱스 맵 시그널링: 각각의 픽셀값을 팔레트에 따라 인덱스로 맵핑함으로써 CU 내의 픽셀들은 인덱스들로 표현된다. 관련 구문 요소들은 다음을 포함한다:
2.1 palette_run_type_flag: 현재 픽셀의 런 유형(run type)을 규정한다;
2.2 palette_index_idc: palette_run_type_flag가 copy_index_mode인 경우 픽셀의 팔레트 항목 사용을 나타낸다;
2.3 palette_run_msb_id_plus1: (palette_run_msb_id_plus1 - 1)는 paletteRun의 2진 표현에서의 최상위 비트의 인덱스를 규정한다. palette_run_msb_id_plus1의 값은 0에서 Floor(Log2 ((MaxPaletteRun)) + 1의 범위(이 값들을 포함함) 내에 있어야 한다;
2.4 palette_run_refinement_bits: paletteRun의 2진 표현에서의 정제 비트(refinement bit)들을 규정한다;
2.5 palette_escape_val: 성분에 대한 양자화된 이스케이프 코딩된 샘플값을 규정한다.
기존의 HEVC 관행에 따르면, 각각의 CU에 대해 하나의 팔레트 표가 시그널링된다. 팔레트 표의 각각의 항목은 각각의 성분마다 하나의 값씩, 세 개의 값들을 가질 수 있다. [표 1]은 3개의 색채 성분들에 대응하는 3개의 값들이 각각의 항목마다 있는 팔레트 표의 예시를 도시한다.
[표 1]
Figure 112017062996015-pct00001
팔레트 코딩과 관련된 코딩 단위 구문이 [표 2]에서 도시되어 있다. [표 2]에서의 비고 (2-1)에 표시된 것과 같이, 팔레트 모드가 인에이블되어 있는지(즉, palette_mode_enabled_flag)] 여부, ChromaArrayType이 3(즉, 4:4:4 색채 포맷)인지 여부, 현재 예측 모드가 인트라 예측 모드(즉, CuPredMode[ x0 ][ y0 ] == MODE_INTRA)인지 여부, 및 IntraBC 플래그가 어써팅(assert)되어 있지 않은지(즉, !intra_bc_flag[ x0 ][ y0 ]) 여부에 관한 테스트가 수행된다. 비고 (2-1)에서의 테스트가 어써팅되면, 비고 (2-2)에 표시된 바와 같이 팔레트 모드 플래그(즉, palette_mode_flag[ x0 ][ y0 ])가 포함된다. 팔레트 모드 플래그가 설정되었는지 여부가 비고 (2-3)에서 도시된 바와 같이 테스트된다. 팔레트 모드 플래그가 1이면, 비고 (2-4)에서 표시된 바와 같이 조인트 팔레트(joint palette)를 사용하여 팔레트 코딩이 루마 및 크로마(chroma) 성분들에 적용된다.
[표 2]
Figure 112017062996015-pct00002
현재의 SCM3.0(스크린 콘텐츠 코딩 테스트 모델 버전 3.0) 드래프트 및 소프트웨어에서, 444 포맷의 비디오 데이터의 경우, 위의 플래그들 대부분은 3개의 색채 성분들에 의해 공유된다. 또한, 단일 색채 팔레트가 현재 코딩 단위의 모든 색채 성분들에 대해 시그널링되고, 색채 팔레트의 각각의 항목은 3개의 색채 성분들 각각으로부터의 하나의 샘플값으로 구성된다. 비트 레이트를 보존하기 위해, 색채 팔레트는 예측 코딩을 사용하여 코딩될 수 있으며, 여기서, 예측자(predictor)는 이전의 코딩된 코딩 단위와 연관된 재구축된 팔레트에 대응할 수 있다.
다양한 비디오 코딩 응용예들에서, 비디오 데이터는 비-444 색채 포맷일 수 있으며, 여기서 크로마 색채 샘플들은 루마 성분에 비해 감소된 공간 해상도로 존재할 수 있다. 그러므로, 크로마 샘플은 각각의 루마 샘플마다 존재하지 않을 수 있다. 그러므로, 비-444 비디오 데이터에 대한 팔레트 코딩 기술들을 개발하는 것이 바람직하다.
비-444 색채 포맷의 컬러 비디오(color video)에 대해 팔레트 코딩 모드를 사용하는 비디오 코딩 방법이 개시되며, 컬러 비디오는 하나의 루마 색채 성분과 두 개의 크로마 색채 성분들로 구성된다. 일 실시예에서, 444 포맷용으로 설계된 팔레트가 비-444 비디오 데이터용으로 사용될 수 있도록 비-444 비디오 데이터는 444 포맷으로 변환된다. 비-444 색채 포맷이 4:2:0 색채 포맷에 대응할 때, 대응하는 쿼드(quad) 루마 샘플들과 공동 배치된(collocated) 각각의 크로마 샘플은 3개의 크로마 샘플들로 패딩(pad)되어 변환된 쿼드 크로마 샘플들을 형성한다. 비-444 색채 포맷이 4:2:2 색채 포맷에 대응할 때, 대응하는 듀오(duo) 루마 샘플들과 공동 배치된 각각의 크로마 샘플은 1개의 크로마 샘플들로 패딩되어 변환된 듀오 크로마 샘플들을 형성한다.
4:2:0 색채 포맷의 경우, 현재 픽셀이 색채 팔레트에 속하지 않으면, 하나 이상의 이스케이프 값들이 현재 픽셀에 대해 시그널링되고, 각각의 색채 성분에 대한 현재 픽셀의 크로마 샘플과 연관된 이스케이프 값은 대응 쿼드 루마 샘플들과 공동 배치된 쿼드 크로마 샘플 위치들 중 3개에 대해서는 시그널링되지 않는다. 4:2:2 색채 포맷의 경우, 현재 픽셀이 색채 팔레트에 속하지 않으면, 하나 이상의 이스케이프 값들이 현재 픽셀에 대해 시그널링되고, 각각의 색채 성분에 대한 현재 픽셀의 크로마 샘플과 연관된 이스케이프 값은 대응 듀오 루마 샘플들과 공동 배치된 듀오 크로마 샘플 위치들 중 1개에 대해서는 시그널링되지 않는다.
비-444 비디오 데이터의 경우, 변환된 크로마 블록을 형성하기 위해 각각의 크로마 블록은 디폴트 값을 갖는 크로마 샘플들로 패딩된다.
본 발명의 다른 양태는 비-444 색채 포맷들에 대한 팔레트 형성을 다룬다. 본 발명의 실시예들에 따르면, 비-444 색채 포맷의 경우, 색채 팔레트는 색채 팔레트의 적어도 하나의 항목에 대해 하나보다 많은 샘플 위치들로부터의 색채 샘플들을 포함하거나, 또는 색채 팔레트의 적어도 두 개의 항목들에 대해 상이한 수의 샘플들을 포함한다. 일 예에서, 4:2:0 색채 포맷의 경우, 색채 팔레트의 각각의 항목은 쿼드 루마 샘플들에 대응하는 4개의 루마값들, 쿼드 루마 샘플들과 공동 배치된 하나의 제1 크로마 샘플에 대응하는 하나의 제1 크로마값, 및 쿼드 루마 샘플들과 공동 배치된 하나의 제2 크로마 샘플에 대응하는 하나의 제2 크로마값으로 구성된다. 다른 예에서, 4:2:2 색채 포맷의 경우, 색채 팔레트의 각각의 항목은 듀오 루마 샘플들에 대응하는 2개의 루마값들, 듀오 루마 샘플들과 공동 배치된 하나의 제1 크로마 샘플에 대응하는 하나의 제1 크로마값, 및 듀오 루마 샘플들과 공동 배치된 하나의 제2 크로마 샘플에 대응하는 하나의 제2 크로마값으로 구성된다. 또다른 예에서, 4:2:0 색채 포맷의 경우, 색채 팔레트는 제1 유형 항목들 및 제2 유형 항목들 포함하고, 각각의 제1 유형 항목은 쿼드 루마 샘플들로부터의 하나의 루마값, 쿼드 루마 샘플들과 공동 배치된 하나의 제1 크로마 샘플의 하나의 제1 크로마값, 및 쿼드 루마 샘플들과 공동 배치된 하나의 제2 크로마 샘플의 하나의 제2 크로마값으로 구성되며, 각각의 제2 유형 항목은 쿼드 루마 샘플들의 나머지 3개의 루마 샘플들에 대한 3개의 루마값들로 구성된다. 또다른 예에서, 색채 팔레트는 제1 유형 항목들 및 제2 유형 항목들을 포함하고, 각각의 제1 유형 항목은 하나의 루마 샘플의 하나의 루마값, 하나의 제1 크로마 샘플의 하나의 제1 크로마값, 및 동일한 샘플 위치로부터의 하나의 제2 크로마 샘플의 하나의 제2 크로마값으로 구성되며, 각각의 제2 유형 항목은 제1 유형 항목들에 포함되지 않은 나머지 루마 샘플 위치들에 대한 하나의 루마값으로 구성된다.
컬러 비디오에 대한 팔레트 코딩을 위한 다른 실시예에서, 2개 이상의 색체 팔레트들이 현재 블록의 다중 색채 성분들에 대해 사용된다. 현재 블록의 2개 이상의 색채 팔레트들 각각에 대한 하나 이상의 개별 팔레트 파라미터들이 비디오 비트스트림의 시퀀스 파라미터 세트(sequence parameter set; SPS)에서 시그널링될 수 있다. 개별 팔레트 파라미터들은 최대 팔레트 크기 또는 최대 팔레트 예측자 크기를 포함할 수 있거나 또는 이 둘 다를 포함할 수 있다. 현재 블록의 상기 2개 이상의 색채 팔레트들 모두에 대한 하나 이상의 공통 팔레트 파라미터들이 또한 비디오 비트스트림의 시퀀스 파라미터 세트(SPS)에서 시그널링될 수 있다. 현재 블록의 2개 이상의 색채 팔레트들 각각은 각각의 색채 성분에 대한 개별 팔레트 예측자에 의해 예측될 수 있고, 현재 블록의 개별 팔레트 예측자는 개별적으로 업데이트될 수 있다.
또다른 실시예에서, 색채 포맷이 444 포맷에 대응할 때, 각각의 색채 성분은 각각의 항목에서의 단하나의 색채 성분으로 구성된 개별 색채 팔레트를 사용하거나 또는 각각의 항목에서의 하나의 루마 성분과 두 개의 크로마 성분들로 구성된 단일 색채 팔레트를 사용하여 코딩될 수 있다. 색채 포맷이 비-444 포맷에 대응할 때, 현재 블록의 각각의 색채 성분은 각각의 항목에서의 단하나의 색채 성분으로 구성된 개별 색채 팔레트를 사용하여 코딩될 수 있다. 색채 성분들이 비-444 색채 포맷에 대응하면, 현재 블록의 각각의 색채 성분마다 하나의 인덱스 맵이 생성된다.
도 1은 4:2:0 색채 포맷에 대한 각각의 크로마 샘플과 공동 배치된 쿼드 루마 샘플들 Y(00), Y(01), Y(10) 및 Y(11)의 샘플링 패턴 및 위치들을 도시한다.
도 2는 4:2:2 색채 포맷에 대한 각각의 크로마 샘플과 공동 배치된 듀오 루마 샘플들 Y(00)와 Y(10), 또는 Y(01)와 Y(11)의 샘플링 패턴 및 위치들을 도시한다.
도 3은 4:2:0 색채 포맷에 대한 루마 샘플들과 크로마 샘플들의 샘플링 패턴 및 위치들의 예시를 도시한다.
도 4는 4:2:2 색채 포맷에 대한 루마 샘플들과 크로마 샘플들의 샘플링 패턴 및 위치들의 예시를 도시한다.
도 5는 4:2:0 포맷에 대한 업 샘플링된(up-sampled) 크로마 샘플들로부터 크로마 샘플들을 재구축하기 위한 다운 샘플링(down sampling) 프로세스의 예를 도시한다.
도 6은 크로마 샘플들을 루마 샘플들로서 풀 공간 해상도로 패딩하고 4:2:0 포맷에 대한 루마 샘플들 및 업 샘플링된 크로마 샘플들에 기초하여 단일 색채 팔레트를 생성하는 예를 도시한다.
도 7은 크로마 샘플들을 루마 샘플들로서 풀 공간 해상도로 패딩하고 4:2:2 포맷에 대한 루마 샘플들 및 업 샘플링된 크로마 샘플들에 기초하여 단일 색채 팔레트를 생성하는 예를 도시한다.
도 8은 본 발명의 실시예에 따른 팔레트 코딩을 통합한 코딩 시스템에 대한 예시적인 흐름도를 도시한다.
이하의 설명은 본 발명을 수행하기 위한 최상의 구상 모드에 관한 것이다. 본 설명은 본 발명의 일반적인 원리들을 설명할 목적으로 기술된 것이며, 본 발명의 범위를 한정하는 의미로 받아들여서는 안된다. 본 발명의 범위는 첨부된 청구항들에 대한 참조에 의해 최상으로 결정된다.
기존 팔레트 코딩은 기저 색채 샘플들이 YUV444 또는 RGB444와 같은 4:4:4 색채 포맷으로 있다는 가정하에 설계되었다. 그렇지만, 매우 자주, YUV420 및 YUV422와 같은 보다 콤팩트한 색채 포맷들이 사용되어 왔다. 코딩 성능을 개선하기 위해, 다양한 개선된 팔레트 코딩 기술들이 본 발명에 개시되어 있다.
팔레트 시그널링
이 양태와 관련하여, 팔레트 예측 관련 플래그, 팔레트 크기 관련 정보 및 팔레트 공유 관련 플래그가 본 발명의 실시예들에 따른 코딩 단위(CU) 내의 상이한 성분들에 대해 개별적으로 시그널링될 수 있다. 예를 들어, 일부 성분들은 팔레트 표 자체를 제외하고 팔레트 표와 관련된 동일한 정보를 공유할 수 있다.
본 발명의 실시예들은 컬러 비디오 데이터에 대해 복수의 팔레트 표들을 사용한다. [표 3a] 및 [표 3b]는 루마 및 크로마 성분들 각각에 대한 개별 팔레트 표들(본 발명개시에서 팔레트들 또는 색채 팔레트들이라고도 부름)의 예를 각각 도시한다. [표 3a]에서, 팔레트 표에서의 각각의 항목은 하나의 루마 성분으로 구성된다. [표 3b]에서, 팔레트 표에서의 각각의 항목은 2개의 크로마 성분들로 구성된다.
[표 3a]
Figure 112017062996015-pct00003
[표 3b]
Figure 112017062996015-pct00004
다른 예에서, 2개의 크로마 성분들은 2개의 크로마 성분들에 대한 [표 4a] 및 [표 4b]에서 각각 도시된 바와 같이 각자의 개별 팔레트 표들을 사용한다. 루마 성분에 대한 팔레트 표는 [표 3a]에서 도시된 것과 동일하게 남는다. 따라서, 이 경우 각각의 CU에 대해 총 3개의 팔레트 표들이 사용된다.
[표 4a]
Figure 112017062996015-pct00005
[표 4b]
Figure 112017062996015-pct00006
또다른 예에서, 전술한 복수의 팔레트 표들은 CU를 위해 함께 사용될 수 있다. 복수의 색채 성분들에 대한 선택된 유형의 팔레트 표들이 명시적으로 시그널링되거나 또는 미리 정의될 수 있다. 예를 들어, 시스템은 [표 1]에서 도시된 바와 같이 각각의 항목에서 3개의 성분들을 갖는 종래의 팔레트 표뿐만이 아니라, [표 3a]에서 도시된 루마 성분에 대한 하나의 표와 [표 3b]에 도시된 2개의 크로마 성분을 갖는 표를 사용할 수 있다. 현재 CU에 대해 어느 팔레트 표가 사용되는지를 표시하기 위해 플래그가 사용될 수 있다.
또다른 예에서, 단일 팔레트 표가 4:2:0 색채 포맷의 각각의 CU에 대해 시그널링될 수 있다. 각각의 항목은 4:2:0 색채 포맷에서의 대응 위치들로부터 4개의 루마값들과 2개의 크로마(즉, Cb 및 Cr)값들로 구성된 6개의 값들을 갖는다. [표 5]는 4:2:0 색채 포맷의 경우 각각의 항목에 6개의 샘플값이 있는 팔레트 표의 예를 도시한다. Y(00), Y(01), Y(10), 및 Y(11)의 위치가 도 1에 도시되어 있다. 도 1에서 도시된 바와 같이, 하나의 Cb 샘플과 하나의 Cr 샘플은 4개의 인접한 루마(즉, Y) 샘플들의 클러스터와 연관지어진다. 4개의 인접한 루마(즉, Y) 샘플들의 클러스터를 또한 쿼드 루마 샘플들이라고 지칭한다. Cb 및 Cr 샘플들은 쿼드 루마 샘플들과 공동 배치된다.
[표 5]
Figure 112017062996015-pct00007
또다른 예에서, 하나의 팔레트 표가 4:2:2 포맷의 각각의 CU에 대해 시그널링될 수 있다. 각각의 항목은 4:2:2 색채 포맷에서의 대응 위치들로부터 4개의 루마값들과 4개의 크로마(즉, 2개의 Cb 및 2개의 Cr)값들로 구성된 8개의 값들을 갖는다. [표 6]은 팔레트 표의 예를 도시한다. 도 2에서는 Y(00), Y(01), Y(10), Y(11), Cb(00), Cb(01), Cr(00), 및 Cr(01)의 위치가 도시되어 있다. 도 2에서 도시된 바와 같이, 하나의 Cb 샘플과 하나의 Cr 샘플은 2개의 인접한 루마(즉, Y(00)과 Y(10), 또는 Y(01)과 Y(11)) 샘플들의 클러스터와 연관지어진다. 2개의 인접한 루마 샘플들의 클러스터를 또한 본 발명개시에서 듀오 루마 샘플들이라고 지칭한다. Cb(예컨대, Cb(00)) 및 Cr(예컨대, Cr(00)) 샘플들이 듀오 루마 샘플들(예컨대, Y(00)과 Y(10))과 공동 배치된다.
[표 6]
Figure 112017062996015-pct00008
또다른 예에서, 하나의 팔레트 표가 4:2:0 포맷의 각각의 CU에 대해 시그널링될 수 있다. 3개의 루마 성분값들을 갖는 하나의 항목과, 3개의 루마 및 크로마 성분값들(즉, Y/Cb/Cr)을 갖는 하나의 항목이 인터리빙될 수 있다. [표 7]은 팔레트 표의 예를 도시한다. Y(00), Y(01), Y(10), 및 Y(11)의 위치가 도 1에 도시되어 있다.
[표 7]
Figure 112017062996015-pct00009
또다른 예에서, 하나의 팔레트 표가 4:2:2 포맷의 각각의 CU에 대해 시그널링될 수 있다. 각각의 항목은 4개의 루마 및 크로마 성분값들을 갖는다. 하나의 항목은 2개의 상위 루마 위치들(즉, Y(00) 및 Y(10))과 각각의 크로마 성분의 상위 위치들(즉, Cb(00) 및 Cr(00))에 대한 값들을 갖는다. 다른 항목은 2개의 하위 루마 위치들(즉, Y(01) 및 Y(11))과 각각의 크로마 성분의 하위 위치들(즉, Cb(01) 및 Cr(01))에 대한 값들을 갖는다. 이들 두 항목들은 인터리빙될 수 있다. [표 8]은 각각의 항목에 4개의 샘플값들이 있는 팔레트 표의 예를 도시한다. 도 2에서는 Y(00), Y(01), Y(10), Y(11), Cb(00), Cb(01), Cr(00), 및 Cr(01)의 위치가 도시되어 있다.
[표 8]
Figure 112017062996015-pct00010
또다른 실시예에서, 하나의 팔레트 표가 각각의 CU에 대해 시그널링될 수 있다. 매 4개의 항목들 중 하나는 루마 성분과 크로마 성분에 대한 3개의 유효값들을 갖는다. 매 4개의 항목들 중 나머지 3개 항목들은 루마 성분에 대한 단하나의 유효값과, 크로마 성분들에 대한 2개의 디폴트값들을 갖는다. [표 9]는 팔레트 표의 예를 도시하는데, 여기서 "x"는 각각의 크로마 성분에 대한 디폴트값을 나타낸다.
[표 9]
Figure 112017062996015-pct00011
"x"에 대응하는 표 값들은 중복적이다. 따라서, 팔레트가 시그널링될 때, "x"에 대응하는 픽셀값은 시그널링될 필요가 없다. 따라서, [표 10]의 예에서 도시된 바와 같이, 매 4개의 항목들 중 하나는 시그널링할 3개의 성분들을 갖고, 매 4개의 항목들 중 나머지 3개의 항목들은 시그널링할 단하나의 성분을 갖는다. 팔레트를 시그널링할 때, 3개의 유효 성분값들을 갖는 항목들이 먼저 시그널링될 수 있다. 3개의 유효 성분값들을 갖는 모든 항목들이 시그널링된 후, 각각의 항목에서 단하나의 유효값을 갖는 항목들이 시그널링될 수 있다. 3개 성분 항목들의 최대 수가 maxNum이고 팔레트의 인덱스가 maxNum보다 큰 값을 갖는 경우, 이 인덱스는 해당 항목이 단하나의 유효 성분값을 갖는다는 것을 표시한다.
[표 10]
Figure 112017062996015-pct00012
또한, 하나의 팔레트 표가 각각의 CU에 대해 시그널링될 수 있다. 팔레트 표의 각각의 항목은 3개 성분들에 대응하는 3개의 값들을 가질 수 있다. [표 11]과 [표 12]는 복제 크로마 픽셀값들을 갖는 420 및 422 색채 포맷들에 대한 팔레트 표들의 예를 각각 도시한다.
[표 11]
Figure 112017062996015-pct00013
[표 12]
Figure 112017062996015-pct00014
인덱스 맵 코딩
각각의 성분의 정보는 개별적으로 시그널링될 수 있다. Transpose_flag, sharing_flag 및 이스케이프(escape) 플래그가 각각의 성분마다 시그널링될 수 있다. Transpose_flag는 전치(transpose) 프로세스가 현재 코딩 단위의 연관된 팔레트 인덱스들에 적용되어 있는지 여부를 표시하기 위해 사용된다. Sharing_flag는 두 개의 성분들이 동일한 팔레트 표를 공유하는지 여부를 표시하기 위해 사용된다. 또한 몇몇의 성분들이 플래그들을 공유할 수 있거나 또는 다른 성분들의 플래그들로부터 해당 플래그들을 유도할 수 있다.
본 발명의 다른 양태는 코딩 효율을 향상시키기 위한 인덱스 맵 코딩을 다룬다. 예를 들어, 팔레트 표가 하나보다 많이 있는 경우, 각각의 성분에 대한 인덱스 맵이 개별적으로 시그널링될 수 있다. 따라서, 각각의 성분은 각자의 런 유형, 인덱스, 런 길이, 및 이스케이프 값을 갖는다. 또한, 루마 성분 및 크로마 성분에 대한 2개의 인덱스 맵들이 시그널링될 수 있다. 이 경우, 2개의 크로마 성분들은 하나의 인덱스 맵을 공유한다. 또한, 모든 성분들은 하나의 인덱스 맵을 공유할 수 있다. 각 경우에 대한 의사 코드(pseudo-code)는 다음과 같이 설명될 수 있다.
예시 1: 모든 성분들에 대한 하나의 인덱스 맵
Figure 112017062996015-pct00015
예시 2: 루마 성분에 대한 하나의 인덱스 맵과 크로마 성분들에 대한 하나의 인덱스 맵
Figure 112017062996015-pct00016
예시 3: 각각의 성분에 대한 하나의 인덱스 맵
Figure 112017062996015-pct00017
다른 실시예에서, 모든 성분들 또는 일부 성분들은 런 유형 및 런 길이를 공유할 수 있다. 하나보다 많은 인덱스 맵들이 성분들에 대해 사용될 수 있다. 이 경우, 각각의 성분은 각자의 인덱스 맵을 가질 수 있다. 그렇지 않으면, 색채 성분들은 하나의 인덱스 맵을 공유할 수 있다. 각 경우에 대한 의사 코드는 다음과 같이 설명될 수 있다.
예시 1: 모든 성분에 대한 하나의 인덱스 맵
Figure 112017062996015-pct00018
예시 2: 루마 성분에 대한 하나의 인덱스와 크로마 성분들에 대한 하나의 인덱스
Figure 112017062996015-pct00019
예시 3: 각각의 성분에 대한 하나의 인덱스
Figure 112017062996015-pct00020
각각의 항목에 6개의 값들이 있는 단하나의 팔레트 표가 사용되는 경우, 쿼드 루마 샘플들, 및 이 쿼드 루마 샘플과 공동 배치된 하나의 Cb 크로마 샘플과 하나의 Cr 크로마 샘플에 하나의 인덱스가 할당될 수 있다. 따라서, 도 3에서 도시된 바와 같이 Y0, Y1, Y2, Y3, Cb0 및 Cr0에서의 샘플들은 하나의 인덱스를 공유할 수 있으며, Y4, Y5, Y6, Y7, Cb1 및 Cr1에서의 샘플들은 다른 인덱스를 공유할 수 있다.
각각의 항목에 3개의 값들이 있는 단하나의 팔레트 표가 사용되는 경우, 각각의 크로마 위치는 4:2:0 포맷에 대한 도 3과 같이 4개의 루마 위치들에 대응하며, 굵은 선으로 이루어진 각각의 사각형은 하나의 크로마 위치와 연관된 4개의 루마 샘플들의 세트로 구성된다. 각각의 루마 위치는 각자의 인덱스를 가지므로, 하나의 크로마 위치는 3개의 인덱스들에 대응한다. 이 경우, 크로마 위치에 부과된 인덱스는 다음과 같이 도시된다.
1. 인덱스는 루마 위치들에 할당된 4개의 인덱스들 중 하나일 수 있다. 도 3에서, Cb0(또는 Cr0)의 인덱스는 Y0, Y1, Y2, 및 Y3 중 임의의 인덱스일 수 있다. 마찬가지로, Cb1(또는 Cr1)의 인덱스는 Y4, Y5, Y6, 및 Y7 중 임의의 인덱스일 수 있다.
2. 인덱스는 루마 위치들에 할당된 4개의 인덱스들 중의 최소 인덱스, 최대 인덱스, 또는 중간 인덱스일 수 있다. 도 3에서, Cb0(또는 Cr0)의 인덱스는 Y0, Y1, Y2, 및 Y3 중의 최소 인덱스, 최대 인덱스, 또는 중간 인덱스일 수 있다. 마찬가지로, Cb1(또는 Cr1)의 인덱스는 Y4, Y5, Y6, 및 Y7 중의 최소 인덱스, 최대 인덱스, 또는 중간 인덱스일 수 있다.
위에서 언급한 이들 방법들은 4:2:2 색채 포맷에 적용될 수 있다. 4:2:2 포맷의 경우, 각각의 루마 위치는 각자의 인덱스를 가지므로, 2개의 크로마 위치들은 4개의 인덱스들에 대응한다. 이 경우 크로마 위치들에 부과된 인덱스는 다음과 같이 도시된다.
1. 2개의 크로마 위치들은 1개의 인덱스를 공유할 수 있다. 도 4에서, Cb0와 Cb1의 인덱스들은 동일할 수 있다. 인덱스를 유도하는 방법은 4:2:0 포맷 경우와 동일할 수 있다.
2. 인덱스는 루마 위치들에 할당된 2개의 인덱스들 중 하나일 수 있다. 도 4에서, Cb0(또는 Cr0)의 인덱스는 Y0 또는 Y1 중 하나의 인덱스일 수 있다. Cb1(또는 Cr1)의 인덱스는 또한 Y2 또는 Y3 중 하나의 인덱스일 수 있다.
3. 인덱스들은 루마 위치들에 할당된 4개의 인덱스들 중의 2개의 최소 인덱스들, 2개의 최대 인덱스들, 또는 중간에 있는 2개의 인덱스들일 수 있다. 도 4에서, Cb0(또는 Cr0)의 인덱스는 Y0, Y1, Y2, 및 Y3 중의 최소 인덱스, 최대 인덱스, 또는 중간 인덱스일 수 있다. Cb1(또는 Cr1)의 인덱스는 Y0, Y1, Y2, 및 Y3 중의 두번째로 최소인 인덱스, 두번째로 최대인 인덱스, 또는 두번째로 중간에 있는 인덱스일 수 있다.
크로마 픽셀들의 픽셀값 재구축
성분이 자체적인 인덱스 맵을 갖는 경우, 인덱스에 기초하여 팔레트 표로부터 값이 재구축될 수 있다. 각각의 성분이 사용하는 팔레트 표는 미리 결정되거나 명시적으로 시그널링될 수 있다. CU가 단하나의 팔레트를 갖는 경우, 모든 성분이 이 팔레트 표를 사용할 것이다. CU가 1개보다 많은 팔레트를 갖는 경우, 각각의 성분은 해당 성분에 대응하는 팔레트 표를 사용할 수 있다. 또한, 선택된 성분을 위해 사용된 팔레트 표는 시그널링될 수 있다. 예를 들어, Cb 성분은 루마 성분을 위해 시그널링되는 팔레트 표를 사용할 수 있다.
4:2:0 색채 포맷의 경우, 인덱스가 루마 및 크로마 성분들에 의해 공유되는 경우, 4개의 루마값들과 공동 배치된 하나의 대응하는 크로마 위치에 대해 4개의 크로마값들이 재구축될 수 있다. 이 경우 크로마 픽셀의 값은 다음과 같을 수 있다:
1. 값은 루마 위치들에 대응하는 4개의 크로마값들 중 하나일 수 있다. 예를 들어, Cb0(또는 Cr0)의 값은 Y0, Y1, Y2, 및 Y3 위치들에 할당된 Cb(또는 Cr) 값들 중 하나일 수 있다.
2. 값은 루마 위치들에 대응하는 4개의 크로마값들의 최소값, 최대값 또는 평균값일 수 있다. 예를 들어, Cb0(또는 Cr0)의 값은 Y0, Y1, Y2, 및 Y3의 위치들에 할당된 Cb(또는 Cr) 값들의 최소값, 최대값, 또는 중간값일 수 있다.
3. 값은 쿼드 루마 샘플들의 좌측 위 및 우측 위 위치들 또는 좌측 아래 및 우측 아래 위치들에 있는 루마 샘플들에 대응하는 2개의 크로마값들의 평균값일 수 있다. 예를 들어, Cb0(또는 Cb1)의 값은 Y0 및 Y1의 위치들 또는 Y2 및 Y3의 위치들에 할당된 이들 Cb(또는 Cr) 값들의 평균값일 수 있다.
4. 값은 쿼드 루마 샘플들의 좌측 위 및 좌측 아래 위치들 또는 우측 위 및 우측 아래 위치들에 있는 루마 샘플들에 대응하는 2개의 크로마값들의 평균값일 수 있다. 예를 들어, Cb0(또는 Cb1)의 값은 Y0 및 Y2의 위치들 또는 Y1 및 Y3의 위치들에 할당된 이들 Cb(또는 Cr) 값들의 평균값일 수 있다.
위에서 언급한 바와 같이, 4:2:0 포맷 비디오의 경우, 루마 성분과 크로마 성분들은 하나의 인덱스 맵을 공유할 것이다. 루마값을 재구축하기 위해, 현재 루마값 위치의 인덱스는 루마 픽셀값을 재구축하는데 사용될 것이다. 크로마값을 재구축하기 위해, 현재 크로마값 위치가 인덱스 위치에 맵핑될 것이다. 맵핑된 위치의 인덱스 값은 크로마 픽셀값을 재구축하는데 사용될 것이다. 달리 말하면, 인덱스 맵을 사용하여 크로마 재구축 픽셀들이 유도될 것이다. 이어서, 크로마 재구축 픽셀을 획득하기 위해 다운 샘플링이 수행된다. 도 5는 4:2:0 포맷에 대한 크로마 샘플들을 획득하기 위한 크로마 샘플 다운 샘플링의 예를 도시하며, 여기서 크로마 샘플들(510)은 크로마 샘플들(520)로 다운 샘플링된다.
다운 샘플링 프로세스로 인해, 일부 위치에서의 크로마값은 폐기될 것이다. 픽셀이 이스케이프 인덱스인 경우, 이스케이프가 특정 위치들에서 발생하면 인코더 또는 디코더는 3개 성분들의 이스케이프 값을 사용하여 현재 픽셀을 재구축할 것이다. 다른 위치에 있는 동안, 인코더 또는 디코더는 루마 이스케이프 값만을 사용하여 루마 픽셀을 재구축할 것이다. 예를 들어, 위치 0에서의 인덱스가 이스케이프 인덱스를 나타내는 경우, 루마 재구축된 값 및 크로마 재구축된 값이 위치 0에서의 이스케이프 값으로부터 재구축된다. 위치 1에서의 인덱스가 이스케이프 인덱스를 나타내면, 루마값은 위치 1에서의 이스케이프 값으로부터 재구축되는 반면에, 크로마 값은 색채 표로부터 구해질 수 있다. 일 실시예에서, 인덱스0, 인덱스1, 인덱스2, 인덱스3 중 어느 하나가 이스케이프 인덱스에 대응하면, 크로마 재구축된 값은 이스케이프 값으로부터 구해질 것이다.
위에서 개시된 방법들은 또한 4:2:2 포맷 비디오에 적용될 수 있다. 4:2:2 포맷의 경우, 4개의 크로마값들이 4개의 루마 위치들에 대응하는 2개의 크로마 위치들에 대해 재구축될 수 있다. 이 경우 크로마 픽셀들의 값은 다음과 같을 수 있다:
1. 2개의 크로마 픽셀들의 값들은 동일할 수 있다. 예를 들어, Cb0 및 Cb1의 값은 도 4에서 동일하다. 인덱스를 유도하는 방법은 4:2:0 포맷 경우와 동일할 수 있다.
2. 값은 쿼드 루마 위치들에 대응하는 4개의 크로마값들 중 하나일 수 있다. 예를 들어, Cb0(또는 Cr0)의 값은 Y0, Y1, Y2, 및 Y3의 위치들에 할당된 Cb(또는 Cr) 값들 중 하나일 수 있다. Cb1(또는 Cr1)의 값은 Y0, Y1, Y2, 및 Y3의 위치들에 할당된 Cb(또는 Cr) 값들 중 하나일 수 있다.
3. 값은 루마 위치들에 대응하는 4개의 크로마값들 중 2개의 최소값들 또는 2개의 최대값들일 수 있다. 예를 들어, Cb0(또는 Cr0)의 값은 Y0, Y1, Y2, 및 Y3의 위치들에 할당된 Cb(또는 Cr) 값들 중 최소 또는 최대 Cb(또는 Cr) 값일 수 있다. Cb1(또는 Cr1)의 값은 Y0, Y1, Y2, 및 Y3의 위치들에 할당된 Cb(또는 Cr) 값들 중 두번째로 최소이거나 또는 두번째로 최대인 Cb(또는 Cr) 값일 수 있다.
4. 값은 쿼드 루마 샘플들의 좌측 위 및 우측 위 위치들 또는 좌측 아래 및 우측 아래 위치들에 있는 루마 샘플들에 대응하는 2개의 크로마값들의 평균값일 수 있다. 예를 들어, Cb0(또는 Cr0)의 값은 Y0 및 Y1의 위치들에 할당된 이들 Cb(또는 Cr) 값들의 평균 Cb(또는 Cr) 값일 수 있다. Cb1(또는 Cr1)의 값은 Y2 및 Y3의 위치들에 할당된 이들 Cb(또는 Cr) 값들의 평균 Cb(또는 Cr) 값일 수 있다.
5. 값은 쿼드 루마 샘플들의 좌측 위 및 좌측 아래 위치들 또는 우측 위 및 우측 아래 위치들에 있는 루마 샘플들에 대응하는 2개의 크로마값들의 평균값일 수 있다. 예를 들어, Cb0(또는 Cr0)의 값은 Y0 및 Y2의 위치들에 할당된 이들 Cb(또는 Cr) 값들의 평균 Cb(또는 Cr) 값일 수 있다. Cb1(또는 Cr1)의 값은 Y1 및 Y3의 위치들에 할당된 이들 Cb(또는 Cr) 값들의 평균 Cb(또는 Cr) 값일 수 있다.
팔레트 표 및 인덱스 맵의 유도
본 발명은 팔레트 모드 코딩의 또다른 양태, 즉 팔레트 표 및 인덱스 맵의 유도를 다룬다. 일 실시예에서, 4:2:0 또는 4:2:2 색채 포맷의 경우, 인코더는 비디오를 4:4:4 포맷으로 업 샘플링하여 색채 팔레트 표를 구하고 색채 인덱스를 계산할 것이다. 각각의 CU에 대해, 도 6 및 도 7에서 도시된 바와 같이 색채 팔레트 표를 유도하기 위해 Cb 및 Cr 성분들은 업 샘플링된다. 도 6에서 도시된 바와 같이, 4:2:0 포맷에 대한 원래의 루마 및 크로마 샘플들은 도 6에서 참조번호 610으로 표시된다. Y1, Y2, 및 Y3에서의 루마 위치들에 대응하는 업 샘플링된 크로마 값들은 도 6에서의 참조번호 620에 의해 표시된 Cb0 및 Cr0으로 패딩된다. 다른 실시예에서, Y1, Y2, 및 Y3에서의 루마 위치들에 대응하는 업 샘플링된 크로마 값들은 미리 정의된 값 N일 수 있다. 따라서, 인코더/디코더는 Y/Cb/Cr 3개 성분들을 사용하여 도 6에서의 각각의 CU에 대한 참조번호 630으로 표시된 바와 같은 인덱스 맵을 유도하는 동안 현재 픽셀과 색채 팔레트 내의 픽셀 간의 거리를 계산할 수 있다. 이 업 샘플링 프로세스는 필요할 때마다 수행될 수 있으며 각각의 CU에 기초할 수 있다. 도 7은 4:2:2 포맷의 예를 도시한다. 4:2:2 포맷에 대한 원래의 루마 및 크로마 샘플들은 도 7에서 참조번호 710으로 표시된다. 업 샘플링된 크로마 값들은 도 7에서의 참조번호 720으로 표시된 Cb0/Cb1 및 Cr0/Cr1이다. 인코더/디코더는 Y/Cb/Cr 3개 성분들을 사용하여 도 7에서의 각각의 CU에 대한 참조번호 730으로 표시된 바와 같은 인덱스 맵을 유도하는 동안 현재 픽셀과 색채 팔레트 내의 픽셀 간의 거리를 계산할 수 있다.
각각의 CU에 대해, 색채 인덱스를 유도하기 위해 Cb 및 Cr 성분들은 업 샘플링된다. 하나의 인덱스 맵이 생성되고, 인덱스 맵의 크기는 루마 성분 크기와 동일하다. 현재의 HEVC 테스트 모델 소프트웨어에서, 현재 픽셀과 팔레트 표로부터의 색채 간의 거리의 계산은 현재 픽셀과 팔레트 내의 색채 간의 개별 색채 성분들의 절대적 차이의 합에 기초한다.
본 발명의 실시예에 따르면, 인코더는 현재 픽셀과 팔레트 내의 색채 간의 거리를 계산하기 위해 루마 성분 및 크로마 성분에 상이한 가중치들을 적용한다. 특히, 루마 성분에 대한 가중 계수 Luma_Weight가 현재 픽셀들과 팔레트 내의 색채 간의 루마 성분의 절대적 차이에 적용된다. 다른 가중 계수 Total_Weight는 가중치부여된 절대적 루마 차이와 가중치부여되지 않은 절대적 크로마 차이들의 합에 적용된다.
이스케이프 값 코딩
이스케이프 플래그가 참(true)인 경우, 기저 픽셀에 대한 이스케이프 값이 시그널링될 것이다. 4:2:0 포맷에 대한 일 실시예에서, 현재 위치에서의 실제 이스케이프 픽셀값이 시그널링될 것이다. 달리 말하면, 3개 성분들이 하나씩 시그널링될 것이다. 예를 들어, 위치 0에서의 이스케이프 플래그가 참인 경우, Y0, Cb0 및 Cr0에 대한 픽셀값들이 시그널링될 것이다. 위치 1에서의 이스케이프 플래그가 참인 경우, Y1, Cb0 및 Cr0에 대한 픽셀값들이 시그널링될 것이다.
다른 실시예에서, 3개 성분들 모두가 특정 이스케이프 위치들에서 시그널링될 것이다. 다른 이스케이프 위치들에서는, 루마 성분만이 시그널링될 것이다. 4개의 루마값들은 동일한 크로마값을 공유하므로, 3개 위치들에 대한 크로마값들을 시그널링할 필요는 없다. 예를 들어, 위치 0에서의 이스케이프 플래그가 참인 경우, Y0, Cb0 및 Cr0에 대한 픽셀값들이 시그널링된다. 위치 1에서의 이스케이프 플래그가 참인 경우, Y1에 대한 픽셀값만이 시그널링될 것이다. Y1에 대한 재구축된 Cb 및 Cr 값들이 재구축 단계에서 Cb0 및 Cr0에 기초하여 유도될 것이다. 상술한 바와 같은 이스케이프 값 코딩 방법은 4:2:2 포맷에도 적용될 수 있다.
이스케이프 값 코딩의 상기 실시예를 통합하는 예시적인 팔레트 코딩 구문이 [표 13]에서 도시된다. 표에서 도시된 바와 같이, 비고 (13-1)에서의 조건들 중 임의의 조건이 만족될 때 비고 (13-2)에 의해 표시된 이스케이프 값이 포함된다. 조건 "ChromaArrayType == 3"은 4:4:4 포맷에 대응하며 모든 색채 샘플들이 시그널링된다. 조건 "cIdx == 0"은 항상 시그널링되는 루마 샘플에 대응한다. 조건 "( xC%2 == 0 && ChromaArrayType == 2 && !palette_transpose_flag) || ( yC%2 == 0 && ChromaArrayType == 2 && palette_transpose_flag )"은 4:2:2 포맷에 대응하며 도 2에서의 Y(00) 및 Y(01)에 대응하는 위치들에서의 크로마 샘플들이 시그널링될 것이다. 조건 "xC%2 == 0 && yC%2 == 0 && ChromaArrayType ==1"은 4:2:0 포맷에 대응하며 도 1에서의 Y(00)에 대응하는 위치들에서의 크로마 샘플들이 시그널링될 것이다.
[표 13]
Figure 112017062996015-pct00021
팔레트 코딩 모드와 연관된 구문
JCTVC-T0062(2015년 2월 10일부터 18일까지 스위스 제네바에서 개최된 ITU-T SG 16 WP 3 및 ISO/IEC JTC 1/SC 29/WG 11의 20차 회의에서의 비디오 코딩 공동 협력팀(Joint Collaborative Team on Video Coding; JCT-VC)의 "비-4:4:4 팔레트 드: AhG 방식", 푸(Pu) 등이 발표함, 문서: JCTVC-T0062)에서는, 비-4:4:4 크로마 서브샘플링을 위한 새로운 팔레트 코딩이 개시되어 있는데, 여기서는, 각각의 팔레트 모드 CU에 대한 루마 및 크로마 샘플들이 개별적으로 코딩된다. 루마 및 크로마 성분들에 대한 2개의 팔레트들이 생성된다. 이들 팔레트들은 각각 대응하는 루마 및 크로마 인덱스 블록들을 코딩하는데 사용된다.
예를 들어, 루마 및 크로마 성분들에 대해 유지되는 2개의 개별적인 팔레트 예측자 목록이 있다. 루마 및 크로마 성분들은 각자의 개별적인 스캐닝 방향들(즉, palette_transpose_flag), 이스케이프 픽셀 존재 플래그, 및 팔레트 공유 플래그 값들(즉, palette_share_flag) 등을 갖는다. 대응하는 구문이 [표 14]에 있으며, 여기서 바탕에 사선이 그어져 있는 텍스트(즉, "ChromaArrayType == 3 &&")는 삭제된 텍스트를 나타낸다. [표 14]에서, 팔레트 모드가 인에이블되어 있는지 여부(즉, palette_mode_enabled_flag), 현재 예측 모드가 인트라 예측 모드인지 여부(즉, CuPredMode[ x0 ][ y0 ] == MODE_INTRA), 및 IntraBC 플래그가 어써팅되어 있지 않은지 여부(즉, !intra_bc_flag[ x0 ][ y0 ])에 관한 테스트가 [표 1]에서의 비고 (14-1)에 의해 표시된 바와 같이 수행된다. ChromaArrayType이 3(즉, 4:4:4 색채 포맷)인지 여부에 관한 테스트는 위의 테스트에서 제외된다. 비고 (14-1)에서의 테스트가 어써팅되면, 비고 (14-2)에 표시된 바와 같이 팔레트 모드 플래그(즉, palette_mode_flag[ x0 ][ y0 ])가 포함된다. 팔레트 모드 플래그가 설정되었는지 여부가 비고 (14-3)에서 도시된 바와 같이 테스트된다. 팔레트 모드 플래그가 1인 경우, ChromaArrayType이 0 또는 3(즉, 4:4:4 포맷)인지 여부가 비고 (14-4)에서 도시된 바와 같이 테스트된다. 그 결과가 어써팅되면, 비고 (14-5)에서 표시된 바와 같이 조인트 팔레트(joint palette)를 사용하여 팔레트 코딩이 루마 및 크로마 성분들에 적용된다. 그렇지 않은 경우, 비고 (14-6) 및 비고 (14-7)에 의해 표시된 것처럼 루마 및 크로마 성분들에 대해 개별적인 팔레트들이 각각 사용된다.
[표 14]
Figure 112017062996015-pct00022
제1 실시예 : 비-444 포맷에 대한 Y/ Cb / Cr 팔레트 코딩 모드
전술한 바와 같이, 일 실시예에 따르면, Y, Cb, 및 Cr 성분들은 3개의 개별적인 팔레트들로 개별적으로 코딩된다. 팔레트의 각각의 항목은 단하나의 성분을 나타내며 각각의 성분은 각자의 팔레트 표와 인덱스 맵을 갖는다. palette_share_flag, palette_transpose_flag, palette_escape_val 등과 같은 관련 플래그들이 각각의 성분마다 개별적으로 코딩된다.
팔레트 코딩과 관련된 시퀀스 파라미터 세트(sequence parameter set; SPS) 시맨틱스(semantics)가 또한 각각의 성분에 대해서 개별화되어 있다:
palette_max_size[ cIdx ]: cIdx에 의해 규정된 색채 성분에 대한 최대로 허용된 팔레트 크기를 규정한다. palette_max_size[ cIdx ]의 값은, 존재하지 않으면, 0으로 추론된다.
palette_max_predictor_size[ cIdx ]: cIdx에 의해 규정된 색채 성분에 대한 최대 예측자 팔레트 크기를 규정한다. palette_max_predictor_size[ cIdx ]의 값은, 존재하지 않은 경우, 0이라고 추론된다.
일 실시예에서, 시퀀스 파라미터 세트 시맨틱스는 비-444 포맷에서의 3개 성분들에 대해 동일할 수 있다. 구문 요소들 palette_max_size, 및 palette_max_predictor_size는 Y, Cb, 및 Cr 성분들에 대한 최대 팔레트 크기 및 최대 예측자 팔레트 크기를 규정하는데 사용될 수 있다.
다른 실시예에서, 시퀀스 파라미터 세트 시맨틱스는 비-444 포맷에서의 루마 및 크로마 성분들에 대해 개별화되어 있다. 구문 요소들 palette_luma_max_size, 및 palette_luma_max_predictor_size는 루마 성분에 대한 최대 팔레트 크기와 최대 예측자 팔레트 크기를 규정하는데 사용될 수 있다. 구문 요소들 palette_chroma_max_size, 및 palette_chroma_max_predictor_size는 크로마 성분들에 대한 최대 팔레트 크기 및 최대 예측자 팔레트 크기를 규정하는데 사용될 수 있다.
다른 실시예에서, 크로마 성분들에 대한 palette_max_size 또는 palette_max_predictor_size가 0과 같은 미리 정의된 값이고 루마 성분들에 대한 palette_max_size 또는 palette_max_predictor_size가 0이 아닌 경우, 이것은 pallet_max_size 또는 palette_max_predictor_size의 값들이 루마 성분의 것들과 동일하다는 것을 의미한다.
팔레트 예측자의 업데이트 프로세스는 또한 cIdx에 의해 규정된 색채 성분에 대해서 개별화될 수 있다. 이 실시예를 통합하기 위해 팔레트 예측자 업데이트 프로세스에서 변경이 이루어져야 한다. 단하나의 팔레트 표를 업데이트하는 종래의 업데이트 프로세스와 비교하여, 이 실시예를 지원하는 업데이트 프로세스는 개별적인 색채 성분에 대한 개개별 팔레트들과 개개별 팔레트 예측자들을 업데이트한다.
예시 1: 444 포맷과 비-444 포맷에 대한 팔레트 코딩 정렬
일 실시예에서, 상기 개별적인 코딩 색채 성분 방식은 444 포맷으로 확장될 수 있다. 444 포맷과 비-444 포맷 둘 다의 경우, 3개 성분들이 팔레트 모드에서 개별적으로 코딩된다. 단색(monochrome) 콘텐츠의 경우에는, Y 성분만이 코딩된다. [표 15]는 실시예를 통합하는 예시적인 코딩 단위 구문을 도시한다. 비고 (15-1)에서 도시된 바와 같은 팔레트 모드 플래그(즉, palette_mode_flag[ x0 ][ y0 ])를 포함할지 여부에 대한 결정은 [표 14]에서의 결정(즉, 비고 (14-1))과 동일하다. 팔레트 모드 플래그가 1(즉, 비고 (15-2))인 경우, 팔레트 코딩은 비고 (15-3)에서 표시된 것처럼 루마 또는 단색 성분에 항상 적용된다. 비고 (15-4)에서 표시된 4:2:0, 4:2:2 및 4:4:4 색채 포맷들의 경우, 비고 (15-5)와 비고 (15-6)에서 표시된 것처럼 크로마 성분들에도 팔레트 코딩이 적용된다.
[표 15]
Figure 112017062996015-pct00023
예시 2: 444 포맷 및 비-444 포맷에 대한 동적 팔레트 코딩
다른 실시예에서, 비-444 포맷의 경우, 3개의 성분이 팔레트 모드에서 개별적으로 코딩된다. 3개의 팔레트 표들과 인덱스 맵들이 생성된다. 팔레트 표 내의 각각의 항목은 하나의 성분을 나타낸다. 단색 콘텐츠의 경우에는, Y 성분만이 코딩된다. 444 포맷의 경우, 3개의 성분들은 함께 코딩된다. 따라서, 하나의 팔레트 표와 하나의 인덱스 맵이 생성될 것이다. 팔레트 표 내의 각각의 항목은 3개의 성분들을 나타낸다. 예시적인 구문이 [표 16]에 도시되어 있다. [표 16]에서의 구문은 비고 (15-4)로 표시된 테스트를 제외하고는 [표 15]에서의 구문과 실질적으로 동일하다. [표 16]에서, 테스트 "if(ChromaArrayType > 0 && ChromaArrayType < 3)"가 비고 (16-1)에 표시된 대로 수행된다.
[표 16]
Figure 112017062996015-pct00024
제2 실시예 : 이스케이프 코딩된 크로마 샘플에 대한 개별적인 QP 조정 플래그
위의 방법에서, Cb 및 Cr 성분들은 동일한 구문 요소들 cu_chroma_qp_palette_offset_flag 및 cu_chroma_qp_palette_offset_idx를 공유한다. 구문 요소 cu_chroma_qp_palette_offset_flag는 Cb 및 Cr 성분들에 대한 양자화 파라미터(quantization parameter; QP)에 대한 오프셋 값들의 유도와 관련된다. 구문 요소 cu_chroma_qp_palette_offset_idx는 인덱스를 Cb 및 Cr 성분들에 대한 QP 오프셋 목록 내에서 규정한다. 일 실시예에서, Cb 및 Cr 성분은 QP 조정을 위한 개별적인 플래그들을 가질 수 있다. 예를 들어, Cb 및 Cr 성분들에 대한 QP 오프셋 플래그들 및 인덱스들을 나타내는 cu_cb_qp_palette_offset_flag, cu_cb_qp_palette_offset_idx, cu_cr_qp_palette_offset_flag, cu_cr_qp_palette_offset_idx를 비롯한 4개의 플래그들이 크로마 이스케이프를 위한 QP 조정을 규정하도록 시그널링될 수 있다. 2개의 예시들이 [표 17]과 [표 18]에 도시되어 있다. [표 17]에서, 이들 4개의 플래그들은 비고 (17-1), 비고 (17-2), 비고 (17-3) 및 비고 (17-4)에서 표시된 바와 같이 통합된다. [표 18]에서, 이들 4개의 플래그들은 비고 (18-1), 비고 (18-2), 비고 (18-3) 및 비고 (18-4)에서 표시된 바와 같이 통합된다.
[표 17]
Figure 112017062996015-pct00025
[표 18]
Figure 112017062996015-pct00026
제3 실시예 : 색채 성분들 간의 정보 공유를 위한 PPS/ SPS /CU 플래그
픽처 파라미터 세트(picture parameter set; PPS) 또는 시퀀스 파라미터 세트(sequence parameter set; SPS)에서는, 전술한 팔레트 정보가 3개의 색채 성분들 간에 공유되어 있는지의 여부를 나타내는 색채 성분들에 대한 팔레트 정보 공유 플래그가 시그널링될 수 있다. 팔레트 정보는 팔레트 코딩(예컨대, palette_max_size, palette_max_predictor_size 및 palette_share_flag), 팔레트 예측자(예컨대, palette_predictor_run 및 palette_num_signalled_entries), palette_escape_val_present_flag, cu_qp_delta_palette_abs, cu_qp_delta_palette_sign_flag 및 palette_transpose_flag와 관련된다.
팔레트 정보 공유 플래그가 참이면, 상기 방법들에서 기술된 정보는 모든 색채 성분들에 대해 단한번만 시그널링된다. 루마 및 크로마 성분들은 palette_max_size, palette_max_predictor_size, palette_share_flag, palette_predictor related information(예컨대, palette_predictor_run, palette_num_signalled_entries), palette_escape_val_present_flag, cu_qp_delta_palette_abs, cu_qp_delta_palette_sign_flag 및 palette_transpose_flag에 대해 동일한 값을 가질 수 있고, 이것들은 단한번 시그널링된다. 언급된 정보를 사용하여, 하나의 결합된 팔레트 표와 하나의 결합된 인덱스 맵이 생성될 수 있다. 또한 별도의 팔레트 표들이 사용될 수 있다. 그렇지 않은 경우(즉, 팔레트 정보 공유 플래그가 거짓(false)인 경우), 전술한 팔레트 정보는 각각의 색채 성분마다 시그널링될 수 있다. 이 경우, 루마 및 크로마 성분은 각자의 palette_max_size, palette_max_predictor_size, palette_share_flag, palette_predictor related information(예컨대, palette_predictor_run, palette_num_signalled_entries), palette_escape_val_present_flag, cu_qp_delta_palette_abs, cu_qp_delta_palette_sign_flag 및 palette_transpose_flag를 가지며, 이것들은 개별적으로 시그널링된다. 각각의 성분은 각자의 팔레트 표와 인덱스 맵을 가질 것이다.
팔레트 정보 공유 플래그가 참인지 거짓인지에 관계없이, palette_max_size 및 palette_max_predictor_size와 같은 시퀀스 파라미터 세트에서의 팔레트 코딩에 관한 정보는 개별적으로 시그널링될 수 있다.
또한 팔레트 정보 공유 플래그를 사용하여, run_type, palette_run_msb_id_plus1, palette_run_refinement_bits와 같은, 인덱스 맵에 대한 일부 정보는 각각의 성분이 개별적인 인덱스 맵을 가질 때 공유될 수 있다.
팔레트 정보 공유 플래그는 각각의 CU마다 시그널링될 수 있다. 각각의 CU에 대해, 팔레트 코딩에 관련된 정보는 각각의 성분마다 개별적으로 시그널링되거나, 또는 각각의 CU에 대해 한 번 시그널링되고, 팔레트 정보 공유 플래그가 1의 값을 갖는다면, CU 내의 모든 성분들 간에 공유될 수 있다.
상기 논의에서, 루마 및 크로마 성분들은 본 발명의 실시예에 따른 팔레트 코딩을 설명하기 위해 색채 서브 샘플링 포맷 예시들(예컨대, 444 포맷, 422 포맷 및 420 포맷)로서 항상 사용된다. 그러나, 본 발명은 제1 색채 성분(예컨대, Y 또는 G 성분) 및 하나 이상의 제2 색채 성분들(예컨대, Cb/Cr 또는 B/R)을 갖는 컬러 비디오에도 적용될 수 있다.
도 8은 본 발명의 실시예에 따른 팔레트 코딩을 통합한 코딩 시스템에 대한 예시적인 흐름도를 도시한다. 단계 810에서, 시스템은 현재 픽처 내의 현재 블록과 연관된 입력 데이터를 수신하며, 여기서 현재 블록은 제1 색채 성분에 대응하는 하나의 제1 색채 블록 및 하나 이상의 제2 색채 성분들에 대응하는 하나 이상의 제2 색채 블록들로 구성된다. 각각의 제2 색채 블록의 제2 색채 샘플들은 제1 색채 블록의 제1 색채 샘플들에 비해 감소된 공간 해상도를 갖는다. 입력 데이터는 코딩될 현재 블록의 픽셀 데이터에 대응할 수 있다. 현재 블록은 버퍼의 컴퓨터 메모리(RAM 또는 DRAM)와 같은 저장장치로부터 검색될 수 있다. 비디오 비트스트림이 또한 프로세싱 유닛과 같은 프로세서 또는 디지털 신호로부터 수신될 수 있다. 단계 820에서, 각각의 제2 색채 블록의 제2 색채 샘플들이 제1 색채 블록의 제1 색채 샘플들과 동일한 풀 공간 해상도를 갖는 각각의 제2 색채 블록의 변환된 제2 색채 샘플들로 변환된다. 단계 830에서, 제1 색채 블록의 하나의 제1 색채 샘플 및 각각의 제2 색채 블록의 하나의 변환된 제2 색채 샘플을 사용하여 색채 팔레트의 각각의 항목이 생성된다. 단계 840에서, 제1 색채 블록의 제1 색채 샘플들 및 상기 하나 이상의 제2 색채 블록들의 제2 색채 샘플들이 색채 팔레트에 따라 현재 블록의 인덱스 맵으로 변환된다.
상기 설명은 본 업계의 당업자가 특정 적용예의 상황 및 그 요건에서 제공될 때 본 발명을 실시할 수 있도록 제공된 것이다. 설명된 실시예들에 대한 다양한 수정들이 본 업계의 당업자에게는 명백할 것이며, 여기서 정의된 일반 원리들은 다른 실시예들에 적용될 수 있다. 그러므로, 본 발명은 여기서 도시되고 설명된 특정 실시예들로 제한되는 것을 의도하지 않지만, 여기서 개시된 신규한 특징들 및 원리들에 부합하는 최광의의 범위를 따라야 한다. 상기 상세한 설명에서는, 본 발명의 완전한 이해를 제공하기 위해 다양한 특정 세부사항들이 진술된다. 그럼에도 불구하고, 본 발명이 실시될 수 있다는 것이 본 업계의 당업자에 의해 이해될 것이다.
위에서 설명된 본 발명의 실시예는 다양한 하드웨어, 소프트웨어 코드들, 또는 이들의 조합으로 구현될 수 있다. 예를 들어, 본 발명의 실시예는 여기서 설명된 프로세싱을 수행하기 위해 비디오 압축 칩 내에 병합된 하나 이상의 전자 회로들, 또는 비디오 압축 소프트웨어 내에 병합된 프로그램 코드일 수 있다. 여기서 설명된 프로세싱을 수행하기 위해 본 발명의 실시예는 또한 DSP(Digital Signal Processor) 상에서 실행될 프로그램 코드일 수 있다. 본 발명은 또한 컴퓨터 프로세서, 디지털 신호 프로세서, 마이크로프로세서, 또는 FPGA(field programmable gate array)에 의해 수행될 복수의 기능들을 수반할 수 있다. 이러한 프로세서들은 본 발명에 의해 구체화된 특정 방법들을 정의하는 머신 판독가능 소프트웨어 코드 또는 펌웨어 코드를 실행함으로써 본 발명에 따른 특정 태스크들을 수행하도록 구성될 수 있다. 소프트웨어 코드 또는 펌웨어 코드는 상이한 프로그래밍 언어들 및 상이한 포맷들 또는 스타일들로 개발될 수 있다. 소프트웨어 코드는 또한 상이한 타겟 플랫폼들에 대해 컴파일링될 수 있다. 하지만, 소프트웨어 코드들의 상이한 코드 포맷들, 스타일들 및 언더들과, 본 발명에 따른 태스크들을 수행하기 위해 코드를 구성하는 다른 방법들은 본 발명의 사상과 범위로부터 이탈하지 않을 것이다.
본 발명은 본 발명의 사상 또는 본질적인 특징으로부터 이탈하지 않고서 다른 특정 형태들로 구체화될 수 있다. 설명된 예시들은 모든 측면들에서 예시적인 것으로서만 간주되어야 하며 제한적인 것으로서는 간주되지 않아야 한다. 따라서, 본 발명의 범위는 상술한 설명에 의해서라기 보다는 첨부된 청구항들에 의해서 나타내어진다. 본 청구항들의 의미 및 범위 내에 속하는 모든 변경들이 본 발명의 범위 내에 포함된다.

Claims (23)

  1. 비-444 색채 포맷(non-444 color format)의 컬러 비디오(color video)에 대해 팔레트(palette) 코딩 모드를 사용하는 비디오 코딩 방법으로서, 상기 컬러 비디오는 하나의 제1 색채 성분과 하나 이상의 제2 색채 성분들로 구성되고, 상기 방법은,
    현재 픽처(current picture) 내의 현재 블록과 연관된 입력 데이터를 수신하는 단계 - 상기 현재 블록은, 상기 하나의 제1 색채 성분에 대응하는 하나의 제1 색채 블록 및 상기 하나 이상의 제2 색채 성분들에 대응하는 하나 이상의 제2 색채 블록들로 구성되고, 각각의 제2 색채 블록의 제2 색채 샘플들은 상기 제1 색채 블록의 제1 색채 샘플들에 비해 감소된 공간 해상도를 가짐 -;
    상기 각각의 제2 색채 블록의 제2 색채 샘플들을, 상기 제1 색채 블록의 제1 색채 샘플들과 동일한 풀(full) 공간 해상도를 갖는 각각의 제2 색채 블록의 변환된 제2 색채 샘플들로 변환하는 단계;
    상기 제1 색채 블록의 하나의 제1 색채 샘플 및 상기 각각의 제2 색채 블록의 하나의 변환된 제2 색채 샘플을 사용하여 색채 팔레트(color palette)의 각각의 항목(entry)을 생성하는 단계; 및
    상기 제1 색채 블록의 제1 색채 샘플들 및 상기 하나 이상의 제2 색채 블록들의 제2 색채 샘플들을, 상기 색채 팔레트에 따라 상기 현재 블록의 인덱스 맵(index map)으로 변환하는 단계
    를 포함하는 팔레트 코딩 모드를 사용하는 비디오 코딩 방법.
  2. 제1항에 있어서,
    상기 제1 색채 성분은 루마(luma) 성분에 대응하고,
    상기 하나 이상의 제2 색채 성분들은 제1 크로마(chroma) 성분과 제2 크로마 성분에 대응하고,
    상기 현재 블록은 루마 샘플들로 구성된 루마 블록, 제1 크로마 샘플들로 구성된 제1 크로마 블록, 및 제2 크로마 샘플들로 구성된 제2 크로마 블록을 포함하며,
    상기 각각의 제2 색채 블록의 상기 변환된 제2 색채 샘플들은 상기 제1 크로마 블록의 변환된 제1 크로마 샘플들 및 상기 제2 크로마 블록의 변환된 제2 크로마 샘플들에 대응한 것인 팔레트 코딩 모드를 사용하는 비디오 코딩 방법.
  3. 제2항에 있어서,
    상기 비-444 색채 포맷이 4:2:0 색채 포맷에 대응하는 경우, 대응하는 쿼드(quad) 루마 샘플들과 공동 배치된(collocated) 각각의 제1 크로마 샘플 및 각각의 제2 크로마 샘플은, 변환된 쿼드 제1 크로마 샘플들 및 변환된 쿼드 제2 크로마 샘플들을 형성하도록, 3개의 제1 크로마 샘플들 및 3개의 제2 크로마 샘플들로 각각 패딩(pad)되는 것인 팔레트 코딩 모드를 사용하는 비디오 코딩 방법.
  4. 제2항에 있어서,
    상기 비-444 색채 포맷이 4:2:2 색채 포맷에 대응하는 경우, 대응하는 듀오(duo) 루마 샘플들과 공동 배치된 각각의 제1 크로마 샘플 및 각각의 제2 크로마 샘플은, 변환된 듀오 제1 크로마 샘플들 및 변환된 듀오 제2 크로마 샘플들을 형성하도록, 하나의 제1 크로마 샘플 및 하나의 제2 크로마 샘플로 각각 패딩되는 것인 팔레트 코딩 모드를 사용하는 비디오 코딩 방법.
  5. 제2항에 있어서,
    상기 비-444 색채 포맷이 4:2:0 색채 포맷에 대응하고 하나의 루마 샘플, 하나의 변환된 제1 크로마 샘플 및 하나의 변환된 제2 크로마 샘플로 구성된 현재 픽셀이 상기 색채 팔레트에 속하지 않은 경우, 하나 이상의 이스케이프(escape) 값들이 상기 현재 픽셀에 대해 시그널링되고, 상기 하나 이상의 이스케이프 값들은 상기 하나의 변환된 제1 크로마 샘플과 연관되고, 상기 하나의 변환된 제2 크로마 샘플은 대응하는 쿼드 루마 샘플들과 공동 배치된 쿼드 제1 크로마 샘플 위치들 중 3개의 샘플 위치들 및 쿼드 제2 크로마 샘플 위치들 중 3개의 샘플 위치들에 대해서는 시그널링되지 않는 것인 팔레트 코딩 모드를 사용하는 비디오 코딩 방법.
  6. 제2항에 있어서,
    상기 비-444 색채 포맷이 4:2:2 색채 포맷에 대응하고 하나의 루마 샘플, 하나의 변환된 제1 크로마 샘플 및 하나의 변환된 제2 크로마 샘플로 구성된 현재 픽셀이 상기 색채 팔레트에 속하지 않은 경우, 하나 이상의 이스케이프 값들이 상기 현재 픽셀에 대해 시그널링되고, 상기 하나 이상의 이스케이프 값들은 상기 하나의 변환된 제1 크로마 샘플과 연관되고, 상기 하나의 변환된 제2 크로마 샘플은 대응하는 듀오 루마 샘플들과 공동 배치된 듀오 제1 크로마 샘플 위치들 중 하나의 샘플 위치 및 듀오 제2 크로마 샘플 위치들 중 하나의 샘플 위치에 대해서는 시그널링되지 않는 것인 팔레트 코딩 모드를 사용하는 비디오 코딩 방법.
  7. 제2항에 있어서,
    상기 각각의 제2 색채 블록의 제2 색채 샘플들을 변환하는 단계는, 디폴트 값을 갖는 패딩된 샘플들을 상기 각각의 제2 색채 블록의 제2 색채 샘플들에 추가하여 상기 제1 색채 블록의 상기 제1 색채 샘플들과 동일한 풀 공간 해상도를 갖는 각각의 제2 색채 블록의 상기 변환된 제2 색채 샘플들을 형성하는 것인 팔레트 코딩 모드를 사용하는 비디오 코딩 방법.
  8. 비-444 색채 포맷의 컬러 비디오에 대해 팔레트 코딩 모드를 사용하는 비디오 디코딩 방법으로서, 상기 컬러 비디오는 하나의 제1 색채 성분 및 하나 이상의 제2 색채 성분들로 구성되고, 상기 방법은,
    현재 픽처 내의 현재 블록과 연관된 코딩된 데이터를 포함하는 비디오 비트스트림을 수신하는 단계 - 상기 현재 블록은, 상기 하나의 제1 색채 성분에 대응하는 하나의 제1 색채 블록 및 상기 하나 이상의 제2 색채 성분들에 대응하는 하나 이상의 제2 색채 블록들로 구성되고, 각각의 제2 색채 블록의 제2 색채 샘플들은 상기 제1 색채 블록의 제1 색채 샘플들에 비해 감소된 공간 해상도를 갖고, 상기 각각의 제2 색채 블록의 제2 색채 샘플들은 인코딩을 위해 상기 제1 색채 블록의 제1 색채 샘플들과 동일한 풀 공간 해상도를 갖는 각각의 제2 색채 블록의 변환된 제2 색채 샘플들로 변환됨 -;
    상기 비디오 비트스트림으로부터 색채 팔레트를 유도하는 단계 - 상기 색채 팔레트의 각각의 항목은 상기 제1 색채 블록의 하나의 제1 색채 샘플 및 상기 각각의 제2 색채 블록의 하나의 변환된 제2 색채 샘플로 구성됨 -;
    상기 현재 블록의 인덱스 맵을, 상기 색채 팔레트에 따라 상기 제1 색채 블록의 제1 색채 샘플들 및 상기 하나 이상의 제2 색채 블록들의 상기 변환된 제2 색채 샘플들로 변환하는 단계; 및
    상기 감소된 공간 해상도로 감소시키기 위해 상기 풀 공간 해상도에서의 일부 변환된 제2 색채 샘플들을 폐기함으로써 상기 현재 블록을 복구하는 단계
    를 포함하는 팔레트 코딩 모드를 사용하는 비디오 디코딩 방법.
  9. 삭제
  10. 삭제
  11. 삭제
  12. 삭제
  13. 삭제
  14. 삭제
  15. 삭제
  16. 삭제
  17. 삭제
  18. 삭제
  19. 삭제
  20. 삭제
  21. 삭제
  22. 삭제
  23. 삭제
KR1020177018160A 2014-12-19 2015-12-16 비디오 및 이미지 코딩에서의 비-444 색채 포맷을 위한 팔레트 기반 예측의 방법 KR101981725B1 (ko)

Applications Claiming Priority (7)

Application Number Priority Date Filing Date Title
US201462094137P 2014-12-19 2014-12-19
US62/094,137 2014-12-19
US201562107583P 2015-01-26 2015-01-26
US62/107,583 2015-01-26
US201562114671P 2015-02-11 2015-02-11
US62/114,671 2015-02-11
PCT/US2015/065946 WO2016100424A1 (en) 2014-12-19 2015-12-16 Methods of palette based prediction for non-444 color format in video and image coding

Related Child Applications (1)

Application Number Title Priority Date Filing Date
KR1020197014277A Division KR102150979B1 (ko) 2014-12-19 2015-12-16 비디오 및 이미지 코딩에서의 비-444 색채 포맷을 위한 팔레트 기반 예측의 방법

Publications (2)

Publication Number Publication Date
KR20170089923A KR20170089923A (ko) 2017-08-04
KR101981725B1 true KR101981725B1 (ko) 2019-05-23

Family

ID=56127502

Family Applications (2)

Application Number Title Priority Date Filing Date
KR1020177018160A KR101981725B1 (ko) 2014-12-19 2015-12-16 비디오 및 이미지 코딩에서의 비-444 색채 포맷을 위한 팔레트 기반 예측의 방법
KR1020197014277A KR102150979B1 (ko) 2014-12-19 2015-12-16 비디오 및 이미지 코딩에서의 비-444 색채 포맷을 위한 팔레트 기반 예측의 방법

Family Applications After (1)

Application Number Title Priority Date Filing Date
KR1020197014277A KR102150979B1 (ko) 2014-12-19 2015-12-16 비디오 및 이미지 코딩에서의 비-444 색채 포맷을 위한 팔레트 기반 예측의 방법

Country Status (7)

Country Link
US (2) US10462475B2 (ko)
EP (1) EP3219099B1 (ko)
KR (2) KR101981725B1 (ko)
CN (2) CN110753223B (ko)
PH (1) PH12017501109A1 (ko)
SG (3) SG10201900004UA (ko)
WO (1) WO2016100424A1 (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20190057159A (ko) * 2014-12-19 2019-05-27 에이치에프아이 이노베이션 인크. 비디오 및 이미지 코딩에서의 비-444 색채 포맷을 위한 팔레트 기반 예측의 방법

Families Citing this family (53)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
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
US11146788B2 (en) * 2015-06-12 2021-10-12 Qualcomm Incorporated Grouping palette bypass bins for video coding
US10192137B2 (en) * 2015-11-16 2019-01-29 MorphoTrak, LLC Automatic ruler detection
GB2547047B (en) * 2016-02-08 2018-07-18 Canon Kk Encoder optimizations for palette lossless encoding of content with subsampled colour component
JP6855722B2 (ja) * 2016-09-21 2021-04-07 富士ゼロックス株式会社 画像処理装置およびプログラム
US11695919B2 (en) * 2018-08-28 2023-07-04 Google Llc Lossy image compression using palettization of locally mixed colors
KR102593617B1 (ko) * 2018-08-30 2023-10-23 후아웨이 테크놀러지 컴퍼니 리미티드 팔레트 코딩을 사용하는 인코딩 장치, 디코딩 장치 및 대응 방법
US11025905B2 (en) 2018-09-14 2021-06-01 Tencent America LLC Method and device for decoding with palette mode
AU2019342803B2 (en) * 2018-09-21 2023-07-13 Huawei Technologies Co., Ltd. Apparatus and method for inverse quantization
KR102398217B1 (ko) * 2018-10-08 2022-05-16 베이징 다지아 인터넷 인포메이션 테크놀로지 컴퍼니 리미티드 크로스-검포넌트 선형 모델에 대한 간단화
CN113039791B (zh) * 2018-11-06 2024-02-23 北京字节跳动网络技术有限公司 帧内预测的参数推导中的复杂度降低
CN113170122B (zh) 2018-12-01 2023-06-27 北京字节跳动网络技术有限公司 帧内预测的参数推导
WO2020156528A1 (en) * 2019-02-01 2020-08-06 Beijing Bytedance Network Technology Co., Ltd. Filtering processes based on in-loop reshaping
CN113366841A (zh) 2019-02-01 2021-09-07 北京字节跳动网络技术有限公司 配置用于视频编解码的依赖于亮度的色度残差缩放
CN113475062A (zh) 2019-02-24 2021-10-01 北京字节跳动网络技术有限公司 确定屏幕内容编解码的条件
US10924750B2 (en) * 2019-03-01 2021-02-16 Alibaba Group Holding Limited Palette size constraint in palette mode for video compression system
CN117499644A (zh) 2019-03-14 2024-02-02 北京字节跳动网络技术有限公司 环路整形信息的信令和语法
WO2020192612A1 (en) 2019-03-23 2020-10-01 Beijing Bytedance Network Technology Co., Ltd. Default in-loop reshaping parameters
EP3954125A4 (en) * 2019-05-31 2022-06-22 ByteDance Inc. INTRA-BLOCK COPY PREDICTION PALETTE MODE
KR102594690B1 (ko) * 2019-06-11 2023-10-26 엘지전자 주식회사 크로마 양자화 파라미터 데이터 기반 영상 디코딩 방법 및 그 장치
CN114026859B (zh) 2019-06-28 2024-06-14 字节跳动有限公司 在变换跳过模式中修改量化参数的技术
CN114072849B (zh) 2019-06-28 2023-12-15 字节跳动有限公司 屏幕内容编解码中的色度帧内模式推导
JP7359936B2 (ja) 2019-07-20 2023-10-11 北京字節跳動網絡技術有限公司 パレットモードの使用の指示の条件依存符号化
JP2022542083A (ja) * 2019-07-21 2022-09-29 エルジー エレクトロニクス インコーポレイティド パレットモードの適用有無に応じてクロマ成分予測情報をシグナリングする画像符号化/復号化方法、装置、及びビットストリームを伝送する方法
CN114145013B (zh) * 2019-07-23 2023-11-14 北京字节跳动网络技术有限公司 调色板模式编解码的模式确定
WO2021013210A1 (en) * 2019-07-23 2021-01-28 Beijing Bytedance Network Technology Co., Ltd. Mode determining for palette mode in prediction process
US11277611B2 (en) * 2019-07-24 2022-03-15 Qualcomm Incorporated Delta quantization parameter (QP) signaling in palette mode
WO2021018166A1 (en) 2019-07-29 2021-02-04 Beijing Bytedance Network Technology Co., Ltd. Scanning order improvements for palette mode coding
EP3994886A4 (en) * 2019-08-06 2022-12-28 Beijing Bytedance Network Technology Co., Ltd. VIDEO ZONE PARTITION ACCORDING TO COLOR FORMAT
JP7372443B2 (ja) 2019-08-10 2023-10-31 北京字節跳動網絡技術有限公司 サブピクチャに依存するビデオビットストリーム内のシグナリング
EP4000269A4 (en) 2019-08-15 2022-09-07 ByteDance Inc. PALLET MODE WITH DIFFERENT DIVISION STRUCTURES
CN117395420A (zh) 2019-08-15 2024-01-12 字节跳动有限公司 用于调色板逸出符号的熵编解码
KR20210027175A (ko) * 2019-08-30 2021-03-10 주식회사 케이티 비디오 신호 처리 방법 및 장치
EP4008109A4 (en) 2019-09-02 2022-09-14 Beijing Bytedance Network Technology Co., Ltd. ENCODING MODE DETERMINATION BASED ON COLOR FORMAT
EP4011080A4 (en) * 2019-09-12 2023-04-12 ByteDance Inc. USING PALETTE PREDICTION IN VIDEO CODING
CN114424545A (zh) * 2019-09-19 2022-04-29 字节跳动有限公司 用于调色板模式的量化参数推导
WO2021060845A1 (ko) * 2019-09-23 2021-04-01 엘지전자 주식회사 사용자 정의 팔레트 엔트리를 이용한 영상 부호화/복호화 방법, 장치 및 비트스트림을 전송하는 방법
CA3155112A1 (en) 2019-09-23 2021-04-01 Lg Electronics Inc. Image encoding/decoding method and device using palette mode, and method for transmitting bitstream
MX2022003765A (es) 2019-10-02 2022-04-20 Beijing Bytedance Network Tech Co Ltd Sintaxis para la se?alizacion de subimagen en un flujo de bits de video.
EP4032290A4 (en) 2019-10-18 2022-11-30 Beijing Bytedance Network Technology Co., Ltd. SYNTAX CONSTRAINTS IN REPORTING SUBPICTURE PARAMETER SETS
WO2021086050A1 (ko) * 2019-10-29 2021-05-06 엘지전자 주식회사 변환에 기반한 영상 코딩 방법 및 그 장치
CA3159796A1 (en) 2019-10-29 2021-05-06 Lg Electronics Inc. Image coding method based on transform and apparatus therefor
US20220368907A1 (en) * 2019-11-05 2022-11-17 Lg Electronics Inc. Image or video coding based on signaling of quantization parameter-related information
CN114902667A (zh) * 2019-11-05 2022-08-12 Lg电子株式会社 基于色度量化参数偏移信息的图像或视频编码
CN118214868A (zh) * 2019-11-05 2024-06-18 Lg电子株式会社 图像解码和编码方法及用于图像的数据的发送方法
WO2021091214A1 (ko) * 2019-11-05 2021-05-14 엘지전자 주식회사 크로마 양자화 파라미터 오프셋 관련 정보를 코딩하는 영상 디코딩 방법 및 그 장치
US11973947B2 (en) 2019-11-05 2024-04-30 Lg Electronics Inc. Image or video coding based on signaling of quantization parameter offset-related information
WO2021112950A1 (en) * 2019-12-05 2021-06-10 Alibaba Group Holding Limited Method and apparatus for chroma sampling
US11451801B2 (en) * 2019-12-26 2022-09-20 Alibaba Group Holding Limited Methods for coding video data in palette mode
CN114788284B (zh) * 2019-12-30 2023-03-31 阿里巴巴(中国)有限公司 用于在调色板模式下对视频数据进行编码的方法和装置
WO2021139806A1 (en) * 2020-01-12 2021-07-15 Beijing Bytedance Network Technology Co., Ltd. Constraints for video coding and decoding
CN115777198A (zh) 2020-05-11 2023-03-10 Lg电子株式会社 图像编码方法和用于该图像编码方法的装置
CN113141509B (zh) * 2021-03-30 2022-06-28 中山大学 一种颜色列表生成方法

Family Cites Families (27)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6252989B1 (en) * 1997-01-07 2001-06-26 Board Of The Regents, The University Of Texas System Foveated image coding system and method for image bandwidth reduction
US6259741B1 (en) * 1999-02-18 2001-07-10 General Instrument Corporation Method of architecture for converting MPEG-2 4:2:2-profile bitstreams into main-profile bitstreams
US6674479B2 (en) 2000-01-07 2004-01-06 Intel Corporation Method and apparatus for implementing 4:2:0 to 4:2:2 and 4:2:2 to 4:2:0 color space conversion
US20030174243A1 (en) * 2002-03-13 2003-09-18 Arbeiter James Henry Network streaming system for providing a user with data defining imagecontent at a resolution that may be determined by the user
US7016547B1 (en) * 2002-06-28 2006-03-21 Microsoft Corporation Adaptive entropy encoding/decoding for screen capture content
US7072512B2 (en) 2002-07-23 2006-07-04 Microsoft Corporation Segmentation of digital video and images into continuous tone and palettized regions
KR100657268B1 (ko) * 2004-07-15 2006-12-14 학교법인 대양학원 컬러 영상의 신축적 부호화, 복호화 방법 및 장치
CN101176354B (zh) * 2005-05-13 2013-07-24 皇家飞利浦电子股份有限公司 用于在3d显示器上再现图像数据的设备、***和方法
EP3023940B1 (en) * 2005-05-27 2019-02-27 Telefonaktiebolaget LM Ericsson (publ) Weight based image processing
US7903873B2 (en) * 2007-09-13 2011-03-08 Microsoft Corporation Textual image coding
NO328906B1 (no) * 2007-12-19 2010-06-14 Tandberg Telecom As Fremgangsmate for forbedring av farveskarphet i video- og stillbilder
US20100332981A1 (en) 2009-06-30 2010-12-30 Daniel Lipton Providing Media Settings Discovery in a Media Processing Application
US8786625B2 (en) * 2010-09-30 2014-07-22 Apple Inc. System and method for processing image data using an image signal processor having back-end processing logic
US8923403B2 (en) * 2011-09-29 2014-12-30 Dolby Laboratories Licensing Corporation Dual-layer frame-compatible full-resolution stereoscopic 3D video delivery
JP6029430B2 (ja) * 2012-11-20 2016-11-24 キヤノン株式会社 画像処理装置及び画像処理方法
US9654777B2 (en) 2013-04-05 2017-05-16 Qualcomm Incorporated Determining palette indices in palette-based video coding
WO2015103646A1 (en) * 2014-01-06 2015-07-09 Panamorph, Inc. Image processing system and method
US10091512B2 (en) * 2014-05-23 2018-10-02 Futurewei Technologies, Inc. Advanced screen content coding with improved palette table and index map coding methods
US8837826B1 (en) * 2014-06-12 2014-09-16 Spinella Ip Holdings, Inc. System and method for transmission, reception, and restoration of decimated color channels in image data
US20150381994A1 (en) * 2014-06-27 2015-12-31 Futurewei Technologies, Inc. Advanced screen content coding with improved palette table and index map coding methods
US10178395B2 (en) * 2014-09-30 2019-01-08 Qualcomm Incorporated Explicit signaling of escape sample positions in palette coding mode for video coding
US20160100177A1 (en) * 2014-10-06 2016-04-07 Qualcomm Incorporated Non-uniform exponential-golomb codes for palette mode coding
US10097839B2 (en) 2014-12-19 2018-10-09 Qualcomm Incorporated Palette mode for subsampling format
SG10201900004UA (en) * 2014-12-19 2019-02-27 Hfi Innovation Inc Methods of palette based prediction for non-444 color format in video and image coding
US9505260B2 (en) * 2015-01-09 2016-11-29 Alexander D. Walter Coarsely discretized 3-D decoration
US9942551B2 (en) * 2015-01-30 2018-04-10 Qualcomm Incorporated Palette index grouping for video coding
CN108141505B (zh) * 2015-10-30 2020-11-06 爱克发医疗保健公司 用于高位深医学灰度图像的压缩和解压缩方法

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
Mediatek Inc., "CE1-related: Palette Coding for non-444 format content", 20th meeting Geneva, 2015.02.10-18.

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20190057159A (ko) * 2014-12-19 2019-05-27 에이치에프아이 이노베이션 인크. 비디오 및 이미지 코딩에서의 비-444 색채 포맷을 위한 팔레트 기반 예측의 방법
KR102150979B1 (ko) * 2014-12-19 2020-09-03 에이치에프아이 이노베이션 인크. 비디오 및 이미지 코딩에서의 비-444 색채 포맷을 위한 팔레트 기반 예측의 방법
US10798392B2 (en) 2014-12-19 2020-10-06 Hfi Innovation Inc. Methods of palette based prediction for non-444 color format in video and image coding

Also Published As

Publication number Publication date
EP3219099B1 (en) 2021-04-28
SG10202002209TA (en) 2020-04-29
PH12017501109B1 (en) 2017-11-27
KR102150979B1 (ko) 2020-09-03
KR20170089923A (ko) 2017-08-04
WO2016100424A1 (en) 2016-06-23
EP3219099A1 (en) 2017-09-20
SG10201900004UA (en) 2019-02-27
EP3219099A4 (en) 2018-07-11
CN110753223A (zh) 2020-02-04
KR20190057159A (ko) 2019-05-27
CN110753223B (zh) 2021-08-06
CN107431795A (zh) 2017-12-01
US10798392B2 (en) 2020-10-06
US20170374372A1 (en) 2017-12-28
CN107431795B (zh) 2019-12-06
US20200007875A1 (en) 2020-01-02
US10462475B2 (en) 2019-10-29
SG11201704729PA (en) 2017-07-28
PH12017501109A1 (en) 2017-11-27

Similar Documents

Publication Publication Date Title
KR101981725B1 (ko) 비디오 및 이미지 코딩에서의 비-444 색채 포맷을 위한 팔레트 기반 예측의 방법
US11871007B2 (en) Encoding device, decoding device, encoding method, and decoding method
CN106464881B (zh) 块自适应颜色空间转换译码的方法和装置
EP3248377B1 (en) Method and apparatus for palette predictor initialization for palette coding in video and image compression
KR102132047B1 (ko) 고해상도 크로마 샘플링 포맷들의 프레임 팩킹 및 언팩킹 기법
CN107211136B (zh) 具有大字母表的源样本的熵编码与熵解码的方法
US10397568B2 (en) Method and apparatus for palette coding of monochrome contents in video and image compression
SA517380915B1 (ar) نسخ وحدة داخلي وتنبؤ بيني موحدين
RU2693185C2 (ru) Способ кодирования и способ декодирования цветового преобразования и соответствующие устройства
JP2017520205A (ja) パレットサイズシグナリング、および、条件付きのパレットエスケープフラグシグナリングの方法
CN108141595A (zh) 图像编码/解码方法及其设备
TW202131689A (zh) 經過約束逐層視訊編解碼之方法和裝置
US20150312579A1 (en) Video encoding and decoding method and device using said method
US20170230684A1 (en) Methods, devices and computer programs for encoding and/or decoding images in video bit-streams using weighted predictions
KR20210059768A (ko) 디지털 이미지/비디오 자료를 인코딩 및 디코딩하는 방법 및 장치
Chen et al. Single depth intra coding mode in 3D-HEVC
TW201320750A (zh) 預測影像產生方法、編碼方法及解碼方法

Legal Events

Date Code Title Description
A201 Request for examination
A302 Request for accelerated examination
E701 Decision to grant or registration of patent right