KR102152239B1 - 비디오 및 이미지 압축에서의 인덱스 맵 코딩을 위한 방법 및 장치 - Google Patents

비디오 및 이미지 압축에서의 인덱스 맵 코딩을 위한 방법 및 장치 Download PDF

Info

Publication number
KR102152239B1
KR102152239B1 KR1020177027814A KR20177027814A KR102152239B1 KR 102152239 B1 KR102152239 B1 KR 102152239B1 KR 1020177027814 A KR1020177027814 A KR 1020177027814A KR 20177027814 A KR20177027814 A KR 20177027814A KR 102152239 B1 KR102152239 B1 KR 102152239B1
Authority
KR
South Korea
Prior art keywords
copy
run
index
palette
mode
Prior art date
Application number
KR1020177027814A
Other languages
English (en)
Other versions
KR20170123677A (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 KR20170123677A publication Critical patent/KR20170123677A/ko
Application granted granted Critical
Publication of KR102152239B1 publication Critical patent/KR102152239B1/ko

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • 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/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/157Assigned coding mode, i.e. the coding mode being predefined or preselected to be further used for selection of another element or parameter
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/167Position within a video image, e.g. region of interest [ROI]
    • 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/182Methods 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 pixel
    • 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/90Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using coding techniques not provided for in groups H04N19/10-H04N19/85, e.g. fractals
    • H04N19/93Run-length coding

Landscapes

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

Abstract

런 모드들을 포함하는 팔레트 코딩 모드를 이용한 비디오 코딩 방법 및 장치가 개시된다. 일 실시예에서, 시스템은 현재 블록의 블록 크기, 현재 픽셀의 픽셀 위치, 및 현재 블록에 대한 마지막 런 타입이 카피-인덱스 모드인지 또는 카피-어보브 모드인지를 포함하는 코딩 정보에 기초하여 코딩되고 있는 현재 픽셀에 대한 최대 팔레트 런을 결정한다. 그 후 최대 팔레트 런에 따라 현재 픽셀과 연관된 현재 런은 하나 이상의 이진 스트링으로 인코딩되거나 비트스트림으로부터 디코딩된다. 현재 블록의 마지막 런 타입을 나타내는 구문 요소가 비트스트림으로부터 시그널링되거나 파싱될 수 있다.

Description

비디오 및 이미지 압축에서의 인덱스 맵 코딩을 위한 방법 및 장치
본 발명은 2015년 3월 18일자로 출원된 미국 특허 가출원 일련 번호 62/134,655에 대한 우선권을 주장한다. 이 미국 특허 가출원은 이로써 그 전체가 인용에 의해 포함된다.
본 발명은 런 모드들을 포함하는 팔레트 코딩 모드를 사용하는 비디오 코딩 시스템에 관한 것이다. 특히, 본 발명은 현재 블록과 관련된 코딩 정보에 따라 현재 픽셀을 인코딩하기 위한 최대 런 길이를 감소시키는 것에 관한 것이다.
고효율 비디오 코딩(High Efficiency Video Coding, HEVC)는 근년에 개발된 새로운 코딩 표준이다. 고효율 비디오 코딩(HEVC) 시스템에서, H.264/AVC의 고정 크기 매크로블록은 코딩 단위(coding unit, CU)로 명명된 가변 블록으로 대체된다. CU의 픽셀들은 코딩 효율을 향상시키기 위해 동일한 코딩 파라미터들을 공유한다. CU는 HEVC에서 코딩된 트리 단위(coded tree unit, CTU)라고도 언급되는 가장 큰 CU(largest CU, LCU)로 시작될 수 있다. 코딩 단위의 개념 외에, 예측 단위(prediction unit, PU)의 개념도 HEVC에 도입되어 있다. CU 계층적 트리의 분할이 완료되면, 각각의 리프(leaf) CU는 예측 타입 및 PU 파티션에 따라 하나 이상의 예측 단위(PU)로 더 분할된다.
고효율 비디오 코딩(HEVC) 표준 개발과 함께, HEVC의 확장들의 개발도 시작되었다. HEVC 확장들은 스크린 콘텐츠 코딩(screen content coding, SCC)을 포함한다. 스크린 콘텐츠의 특정 특성들로 인해, 코딩 도구들이 개발되었고 코딩 효율성의 상당한 증가를 입증하였다. 그 중, 컬러 인덱스 코딩(주요 컬러 기반 코딩이라고도 알려짐) 기법들은 팔레트에 대한 인덱스들(주요 컬러들)을 사용하는 픽셀들의 블록을 나타내고, 공간 중복성을 이용하여 팔레트 및 인덱스들을 인코딩한다. 가능한 컬러 조합의 총수는 막대하지만, 화상의 영역의 컬러의 수는 일반적으로 전형적인 스크린 콘텐츠에 대해 매우 제한된다. 따라서, 컬러 인덱스 코딩은 스크린 콘텐츠 자료에 대해 매우 효과적이게 된다. 관련 키 컬러 인덱스 코딩 기법들이 다음과 같이 간략하게 검토된다.
팔레트 코딩
HEVC 범위 확장들(RExt)의 개발 중에, 팔레트 기반 코딩을 다루기 위한 몇 가지 제안이 개시되었다. 예를 들어, 팔레트 예측 및 공유 기법은 JCTVC-N0247(Guo 외, "RCE3: 스크린 콘텐츠 코딩을 위한 팔레트 모드에 대한 테스트 3.1의 결과(RCE3: Results of Test 3.1 on Palette Mode for Screen Content Coding)", ITU-T SG 16 WP 3 및 ISO/IEC JTC 1/SC 29/WG 11의 비디오 코딩에 대한 공동 협력 팀(Joint Collaborative Team on Video Coding, JCT-VC), 14차 회의: 오스트리아, 비엔나, 2013년 7월 25일 - 8월 2일 문서: JCTVC-N0247) 및 JCTVC-O0218(Guo 외, "HM-12.0+RExt-4.1에 대한 팔레트 모드 코딩의 평가(Evaluation of Palette Mode Coding on HM-12.0+RExt-4.1)", ITU-T SG 16 WP 3 및 ISO/IEC JTC 1/SC 29/WG 11의 비디오 코딩에 대한 공동 협력 팀(JCT-VC), 15차 회의: 스위스, 제네바, 2013년 10월 23일 - 11월 1일, 문서: JCTVC-O0218)에 개시되어 있다. JCTVC-N0247 및 JCTVC-O0218에서는, 각각의 컬러 성분의 팔레트가 구성되어 전송된다. 팔레트는 비트 전송률을 감소시키기 위해 왼쪽 이웃 CU로부터 예측(또는 공유)될 수 있다. 주어진 블록 내의 모든 픽셀은 그들의 팔레트 인덱스들을 사용하여 코딩된다. JCTVC-N0247에 따른 인코딩 프로세스의 예가 다음과 같이 제시된다.
1. 팔레트의 전송: 컬러 인덱스 테이블(팔레트 테이블이라고도 함) 크기가 먼저 전송된 다음 팔레트 요소들(즉, 컬러 값들)이 전송된다.
2. 픽셀 값들의 전송: CU의 픽셀들은 래스터 스캔 순서로 인코딩된다. 하나 이상의 픽셀의 각각의 그룹에 대해, "카피 인덱스 모드(copy index mode)"가 사용 중인지 또는 "카피 어보브 모드(copy above mode)"가 사용 중인지를 나타내기 위해 런 기반 모드에 대한 플래그가 먼저 전송된다.
2.1 "카피 인덱스 모드": 카피 인덱스 모드에서, 먼저 팔레트 인덱스가 시그널링되고 이어서 런 값을 나타내는 "palette_run"(예를 들어, M)이 시그널링된다. 용어 palette_run은 본 명세서에서 pixel_run으로 언급될 수도 있다. 런 값은 총 M개의 샘플이 모두 카피 인덱스 모드를 사용하여 코딩됨을 나타낸다. 현재 위치와 다음 M개의 위치에 대해 추가 정보가 전송될 필요가 없는데 그 이유는 그것들이 비트스트림에서 시그널링된 것과 동일한 팔레트 인덱스를 가지기 때문이다. 팔레트 인덱스(예를 들어, i)는 또한 3개의 컬러 성분 모두에 의해 공유될 수 있으며, 이는 재구성된 픽셀 값들이 YUV 컬러 공간의 경우에 (Y, U, V) = (paletteY[i], paletteU[i], paletteV[i])를 의미한다.
2.2 "카피 어보브 모드": 카피 어보브 모드에서, 다음 N개의 위치(현재 위치 포함)에 대해, 팔레트 인덱스가 위 행에서 대응하는 팔레트 인덱스와 동일함을 나타내기 위해 "copy_run"(예를 들어, N) 값이 전송된다.
3. 잔차의 전송: 단계 2에서 전송된 팔레트 인덱스들은 다시 픽셀 값들로 변환되어 예측으로 사용된다. 잔차 정보는 HEVC 잔차 코딩을 사용하여 전송되고 재구성을 위해 예측에 추가된다.
본 개시에서 "카피 인덱스 모드"와 "카피 어보브 모드" 양쪽 모두는 팔레트 인덱스 코딩을 위한 카피 모드들이라고 언급된다. 또한, 이하의 설명에서 팔레트 모드는 팔레트 코딩 모드라고도 언급된다.
JCTVC-N0247에서는, 각각의 성분의 팔레트가 구성되어 전송된다. 비트 전송률을 감소시키기 위해 팔레트는 그의 왼쪽 이웃 CU로부터 예측(공유)될 수 있다. JCTVC-O0218에서는, 팔레트의 각각의 요소가 3개의 컬러 성분의 특정 조합을 나타내는 트리플릿(triplet)이다. 또한, CU에 걸친 팔레트의 예측 코딩이 제거된다.
주요 컬러 기반(또는 팔레트) 코딩
JCTVC-O0218과 유사한 다른 팔레트 코딩 기법이 또한 개시되었다. 왼쪽 CU로부터 전체 팔레트 테이블을 예측하는 대신, 팔레트의 개별 팔레트 컬러 항목은 위 CU 또는 왼쪽 CU의 정확한 팔레트 컬러 항목으로부터 예측된다.
픽셀 팔레트 인덱스 값들의 전송을 위해, JCTVC-O0182(Guo 외, "AHG8: 주요 컬러 기반 스크린 콘텐츠 코딩(AHG8: Major-color-based screen content coding)", ITU-T SG 16 WP 3 및 ISO/IEC JTC 1/SC 29/WG 11의 비디오 코딩에 대한 공동 협력 팀(JCT-VC), 15차 회의: 스위스, 제네바, 2013년 10월 23일 - 11월 1일, 문서: JCTVC-O0182)에 개시된 바와 같은 인덱스들에 대해 예측 코딩 방법이 적용된다. 각각의 인덱스 라인을 코딩하기 위해 3가지 타입의 라인 모드, 즉, 수평 모드, 수직 모드, 및 일반 모드가 사용된다. 수평 모드에서는, 동일한 라인의 모든 인덱스가 동일한 값을 갖는다. 그 값이 위의 픽셀 라인의 첫 번째 픽셀과 동일하면, 라인 모드 시그널링 비트들만이 전송된다. 그렇지 않으면, 인덱스 값도 전송된다. 수직 모드에서는, 그것은 현재 인덱스 라인이 위의 인덱스 라인과 동일함을 나타낸다. 따라서, 라인 모드 시그널링 비트들만이 전송된다. 일반 모드에서는, 라인의 인덱스들이 개별적으로 예측된다. 각각의 인덱스 위치에 대해, 왼쪽 또는 위의 이웃들이 예측자로서 사용되며, 예측 기호는 디코더에 전송된다.
또한, 픽셀들은 JCTVC-O0182에 따라 주요 컬러 픽셀들(팔레트 인덱스들이 팔레트 컬러들을 가리킴) 및 이스케이프 픽셀로 분류된다. 주요 컬러 픽셀의 경우, 픽셀 값은 디코더 측의 주요 컬러 인덱스(즉, 팔레트 인덱스) 및 팔레트 테이블에 따라 재구성된다. 이스케이프 픽셀의 경우, 픽셀 값이 비트스트림에서 추가로 시그널링된다.
팔레트 테이블 시그널링
스크린 콘텐츠 코딩(SCM) 표준의 참조 소프트웨어, SCM-2.0(Joshi 외, 스크린 콘텐츠 코딩 테스트 모델 2(Screen content coding test model 2, SCM 2), ITU-T SG 16 WP 3 및 ISO/IEC JTC 1/SC 29/WG 11의 비디오 코딩에 대한 공동 협력 팀(JCT-VC), 18차 회의: 일본, 삿포로, 2014년 7월, 문서 번호: JCTVC-R1014)에서, 향상된 팔레트 체계가 JCTVC-R0348(Onno 등, 런 기반 팔레트 모드에 대한 제안된 조합된 소프트웨어 및 텍스트(Suggested combined software and text for run-based palette mode), ITU-T SG 16 WP 3 및 ISO/IEC JTC 1/SC 29/WG 11의 비디오 코딩에 대한 공동 협력 팀(JCT-VC), 18차 회의: 일본, 삿포로, 2014년 7월, 문서 번호: JCTVC-R0348)에 통합된다. 이전의 팔레트 코딩된 CU의 팔레트 테이블은 현재 팔레트 테이블 코딩을 위한 예측자로서 사용된다. 팔레트 테이블 코딩에서는, 이전의 코딩된 팔레트 테이블(팔레트 예측자) 내의 어느 팔레트 컬러들이 재사용되는지를 선택하는 것에 의해 또는 새로운 팔레트 컬러들을 전송하는 것에 현재 팔레트 테이블이 시그널링된다. 현재 팔레트의 크기는 예측된 팔레트의 크기(즉, numPredPreviousPalette)와 전송된 팔레트의 크기(즉, num_signaled_palette_entries)를 더한 값으로 설정된다. 예측된 팔레트는 이전에 재구성된 팔레트 코딩된 CU로부터 도출된 팔레트이다. 현재 CU를 팔레트 모드로서 코딩할 때, 예측된 팔레트를 사용하여 예측되지 않은 팔레트 컬러들은 비트스트림에서 직접 전송된다(즉, 시그널링된 항목들).
팔레트 업데이트의 예는 다음과 같다. 이 예에서, 현재 CU는 팔레트 크기가 6인 팔레트 모드로서 코딩된다. 6개의 주요 컬러 중 3개의 컬러가 팔레트 예측자로부터 예측되고(numPredPreviousPalette = 3) 3개의 컬러는 비트스트림을 통해 직접 전송된다. 전송된 3개의 컬러는 아래에 제시된 예시적인 구문을 사용하여 시그널링될 수 있다.
Figure 112017095411114-pct00001
이 예에서는 팔레트 크기가 6이므로, 팔레트 컬러 테이블에서 주요 컬러 항목들을 나타내기 위해 0 내지 5의 팔레트 인덱스가 사용된다. 3개의 예측된 팔레트 컬러는 인덱스 0 내지 2로 표현된다. 따라서, 인덱스 3 내지 5에 대해 3개의 새로운 팔레트 항목이 전송된다.
SCM-2.0에서, 파면 병렬 처리(wavefront parallel processing, WPP)가 적용되지 않으면, 팔레트 예측자 테이블이 각각의 슬라이스의 시작 부분에서 또는 각각의 타일의 시작 부분에서 초기화(리셋)된다. WPP가 적용되면, 마지막으로 코딩된 팔레트 테이블은 각각의 슬라이스의 시작 부분에서 또는 각각의 타일의 시작 부분에서 초기화(리셋)될 뿐만 아니라, 각각의 CTU 행의 시작 부분에서도 초기화(리셋)된다.
SCM-4.0에서의 팔레트 인덱스 맵 코딩
SCM-4.0(Rosewarne 외, 고효율 비디오 코딩(HEVC) 테스트 모델 16(HM 16) 향상된 인코더 기술 업데이트 2(High Efficiency Video Coding (HEVC) Test Model 16 (HM 16) Improved encoder description Update 2), JCTVC-T1002, ITU-T SG16 WP3 및 ISO/IEC JTC1/SC29/WG11, 20차 회의: 스위스, 제네바, 2015년 2월, 문서: JCTVC-T1002)에 따른 팔레트 모드 코딩에서, 팔레트 인덱스들은 그룹화되어 앞에(즉, palette_run_mode 및 palette_run 코딩 전에) 코딩되며, 이스케이프 픽셀들은 끝에 코딩된다. palette_run_mode 및 palette_run은 팔레트 인덱스들과 이스케이프 픽셀들 사이에 코딩된다.
팔레트 예측자 초기화
SCM-4.0에서는 전역 팔레트 예측자 세트가 PPS에서 시그널링된다. PredictorPaletteSize, PreviousPaletteSize 및 PredictorPaletteEntries를 포함하는 팔레트 예측 상태를 모두 0으로 리셋하는 대신, PPS로부터 획득된 값들이 대신 사용된다.
팔레트 구문
인덱스 맵에서 인덱스들의 런에 대해, 다음을 포함하는, 시그널링될 필요가 있는 몇 가지 요소가 있다:
1) 런 타입: 카피 어보브 런(copy above run) 또는 카피 인덱스 런(copy index run) 중 하나이다.
2) 팔레트 인덱스: 카피 인덱스 런에서, 이것은 이 런에 대해 어떤 인덱스가 사용되는지를 시그널링하는 데 사용된다.
3) 런 길이: 카피 어보브 및 카피 인덱스 타입 양쪽 모두에 대한 이 런의 길이.
4) 이스케이프 픽셀: 런에 N(N>=1)개의 이스케이프 픽셀이 있는 경우, 이 N개의 이스케이프 픽셀에 대해 N개의 픽셀 값이 시그널링될 필요가 있다.
JCTVC-T0065(Karczewicz 외, 비 CE1: 앞에 팔레트 인덱스들의 그룹화(Non CE1: Grouping Palette Indices At Front), ITU-T SG 16 WP 3 및 ISO/IEC JTC 1/SC 29/WG 11의 비디오 코딩에 대한 공동 협력 팀(JCT-VC), 20차 회의: 스위스, 제네바, 2015년 2월 10- 18일, 문서: JCTVC-T0065)에는, 모든 팔레트 인덱스가 함께 그룹화되는, 구문 시그널링이 개시되어 있다. 표 1에 제시된 바와 같이, 팔레트 인덱스의 수가 먼저 시그널링되고, 이어서 팔레트 인덱스들이 시그널링된다.
Figure 112017095411114-pct00002
Figure 112017095411114-pct00003
상기 구문 테이블에 제시된 바와 같이, 최대 팔레트 런은 팔레트 런의 최대 코드워드를 제한하기 위해 도출된다. 코딩 효율을 향상시키기 위해 블록과 관련된 코딩 정보에 기초하여 최대 팔레트 런을 감소시키는 것이 바람직하다.
런 모드들을 포함하는 팔레트 코딩 모드를 이용한 비디오 코딩 방법 및 장치가 개시된다. 일 실시예에서, 시스템은 현재 블록에 대한 마지막 런 타입이 카피-인덱스(copy-index) 모드인지 또는 카피-어보브(copy-above) 모드인지를 포함하는 코딩 정보에 기초하여 코딩되고 있는 현재 픽셀에 대한 최대 팔레트 런을 결정한다. 또 다른 실시예에서, 최대 팔레트 런을 결정하기 위한 코딩 정보는 현재 블록의 블록 크기 및 현재 픽셀의 픽셀 위치를 더 포함한다. 최대 팔레트 런에 따라 현재 픽셀과 연관된 현재 런은 하나 이상의 이진 스트링으로 인코딩되거나 비트스트림으로부터 디코딩된다. 현재 블록의 마지막 런 타입을 나타내는 구문 요소는 비트스트림으로부터 시그널링되거나 파싱될 수 있다.
시스템은 현재 픽셀의 픽셀 위치에서 현재 블록에 대한 나머지 팔레트 인덱스의 수를 도출할 수 있고 코딩 정보에 나머지 팔레트 인덱스의 수를 포함할 수 있다. 일례에서, 최대 팔레트 런은 (nCbS * nCbS - scanPos - NumIndicesLeft - last_palette_run_type_flag - 1)에 따라 결정될 수 있고, 여기서 nCbS는 블록 폭 및 높이를 나타내고, scanPos는 현재 픽셀의 픽셀 위치를 나타내고, NumIndicesLeft는 나머지 팔레트 인덱스의 수를 나타내고, 구문 요소 last_palette_run_type_flag는 마지막 런 타입이 카피-어보브 모드이면 1의 값을 갖고 last_palette_run_type_flag는 마지막 런 타입이 카피-인덱스 모드이면 0의 값을 갖는다. 일례에서, 최대 팔레트 런은 (nCbS * nCbS - scanPos -(last_palette_run_type_flag == the copy-index mode 0 : 1) - 1) 또는 (nCbS * nCbS - scanPos - (last_palette_run_type_flag == the copy-above mode? 1 : 0) - 1)에 따라 결정될 수 있다.
또 다른 예에서, 나머지 팔레트 인덱스의 수가 0보다 큰 경우, 최대 팔레트 런은 (nCbS * nCbS -scanPos - last_palette_run_type_flag - 2), (nCbS * nCbS - scanPos - (last_palette_run_type_flag == the copy-index mode? 0 : 1) - 2) 또는 (nCbS * nCbS - scanPos - (last_palette_run_type_flag == the copy-above mode? 1 : 0) - 2)에 따라 결정된다.
또 다른 실시예에서, 현재 블록에 대한 카피-인덱스 모드의 수 및 카피-어보브 모드의 수는 현재 블록에 대한 비트스트림 내의 현재 블록의 런 타입 그룹 및 런 길이 그룹 전에 시그널링되거나 파싱된다. 나머지 카피-인덱스 모드의 수는 카피-인덱스 모드의 수에 기초하여 도출된다. 나머지 카피-어보브 모드의 수는 카피-어보브 모드의 수에 기초하여 도출된다. 코딩되는 현재 픽셀에 대한 최대 팔레트 런은 나머지 카피-인덱스 모드의 수 및 현재 픽셀에 대한 나머지 카피-어보브 모드의 수를 포함하는 코딩 정보에 기초하여 도출된다. 또 다른 실시예에서, 코딩 정보는 현재 블록의 블록 크기 및 현재 픽셀의 픽셀 위치를 더 포함한다. 일례에서, 현재 픽셀에 대한 최대 팔레트 런은 (nCbS * nCbS - scanPos - 1 - 나머지 카피-인덱스 모드의 수 - 나머지 카피-어보브 모드의 수)에 따라 결정된다. 또 다른 예에서, 나머지 카피-인덱스 모드의 수와 나머지 카피-어보브 모드의 수 양쪽 모두가 0보다 큰 경우, 현재의 픽셀에 대한 최대 팔레트 런은 (nCbS * nCbS - scanPos - 3)에 따라 결정된다. 나머지 카피-인덱스 모드의 수와 나머지 카피-어보브 모드의 수 중 하나가 0보다 크고 다른 하나가 0인 경우, 현재의 픽셀에 대한 최대 팔레트 런은 (nCbS * nCbS - scanPos - 2)에 따라 결정된다. 나머지 카피-인덱스 모드의 수와 나머지 카피-어보브 모드의 수 중 어느 것도 0보다 크지 않은 경우, 현재의 픽셀에 대한 최대 팔레트 런은 (nCbS * nCbS - scanPos - 1)에 따라 결정된다.
도 1은 2개의 픽셀 라인(즉, L = 2)이 CU 경계 위에 위치하는 위 라인으로부터 카피되는, 확장된 카피-어보브 런 모드의 예를 도시한다.
도 2는 처음 M(즉, M = 11)개의 샘플이 재구성된 픽셀들로부터 예측된다는 것을 나타내기 위해 구문 요소, pixel_num(M)을 시그널링함으로써 CU에 걸친 예측의 예를 도시한다.
도 3은 본 발명의 실시예에 따라 copy_pixel_from_neighboring_CU에 대한 추가 인덱스를 삽입하는 예를 도시한다.
도 4는 본 발명의 실시예를 포함하는 팔레트 코딩 모드를 사용하는 비디오 디코더의 예시적인 흐름도를 도시한다.
도 5는 본 발명의 또 다른 실시예를 포함하는 팔레트 코딩 모드를 사용하는 비디오 디코더의 예시적인 흐름도를 도시한다.
다음의 설명은 본 발명을 수행하는 최선으로 고려되는 모드에 관한 것이다. 이 설명은 본 발명의 일반적인 원리들을 설명하기 위한 것이며 제한적인 의미로 해석되어서는 안 된다. 본 발명의 범위는 첨부된 청구항들을 참조함으로써 가장 잘 결정된다.
팔레트 런 코딩
구문 파싱 및/또는 코딩 효율을 향상시키기 위해, 팔레트 런 타입 및 팔레트 런 길이의 구문 요소들 전에 모든 팔레트 인덱스를 그룹화하는 방법이 공동 계류중인 PCT 특허 출원(일련 번호 PCT/CN2015/094410, 2015년 11월 12일자 출원)에 개시되어 있다. "인덱스의 수"가 시그널링되고, 플래그가 마지막 런 타입이 COPY_ABOVE인지 COPY_INDEX인지를 나타내는 데 사용된다. 인덱스의 수와 마지막 런 타입이 식별되면, 마지막 런이 검출될 수 있으므로 이 마지막 런을 시그널링할 필요가 없다. 디코더 측에서는, 마지막 런을 파싱할 필요 없이 블록의 끝(예를 들어, 팔레트 코딩된 CU)에 도달하도록 길이가 도출될 수 있다.
본 출원의 공동 발명자들 중 일부에 의한 또 다른 공동 계류중인 PCT 특허 출원(일련 번호 PCT/CN2016/073289, 2016년 2월 3일자 출원)에 개시된 방법에 따른 팔레트 구문 시그널링의 순서는 다음과 같다:
"팔레트 인덱스의 수 → 팔레트 인덱스 그룹 → last_run_type" → {run_type, run_length} 쌍 인터리빙 → 이스케이프 값 그룹
또한, 본 출원의 일부 공동 발명자들에 의한 공동 계류중인 PCT 특허 출원(일련 번호PCT/CN2015/094410, 2015년 11월 12일자 출원)에서, 모든 런 타입 및 모든 런 길이의 코딩은 함께 그룹화되며, 이는 인덱스 맵 코딩과 관련된 다른 구문 요소 그룹화와 결합될 수 있다.
SCM-4.0에서는, 팔레트 인덱스들이 앞에 그룹화되고 이스케이프 값들은 각각의 코딩된 블록에 대한 비트스트림 내의 끝에 그룹화된다. 구문 last_palette_run_type_flag는 마지막 런 타입이 카피 어보브 모드(COPY_ABOVE_MODE)인지 카피 인덱스 모드(COPY_INDEX_MODE)인지를 나타내기 위해 시그널링된다. 팔레트 런 모드와 팔레트 런 쌍들은 인덱스 그룹 다음에 코딩된다. 팔레트 런을 코딩할 때, 팔레트 런의 최대 코드워드를 제한하기 위해 사용 가능한 최대 런(최대 팔레트 런이라고도 언급됨)이 도출된다. SCM-4.0에서는, 남아 있는 index_run 모드의 수가 도출될 수 있으며 시그널링된 각각의 index_run 모드는 비트스트림에서 시그널링된 적어도 하나의 픽셀에 대응한다. 따라서, 사용 가능한 최대 런 maxPaletteRun은 다음과 같이 결정될 수 있다:
Figure 112017095411114-pct00004
수학식 1에서, scanPos는 스캔 순서에서 현재 위치이고, NumIndicesLeft는 현재 위치까지의 나머지 인덱스의 수이고, nCbS는 블록 폭 및 높이를 나타내고, NumIndicesLeft는 나머지 팔레트 인덱스의 수를 나타낸다.
실시예에서, NumIndicesLeft가 0보다 큰 경우, maxPaletteRun은 수학식 2에 나타낸 바와 같이 수정될 수 있다.
Figure 112017095411114-pct00005
SCM-4.0에서는, 팔레트 런 전에 last_palette_run_type_flag도 시그널링된다. last_palette_run_type_flag가 1이면, 이는 마지막 런 타입이 copy_above_mode임을 나타낸다. 마지막 copy_above_mode는 비트스트림에서 시그널링된 적어도 하나의 픽셀에 대응한다. 따라서, 사용 가능한 최대 런은 일 실시예에 따라 다음과 같이 수정된다:
Figure 112017095411114-pct00006
Figure 112017095411114-pct00007
Figure 112017095411114-pct00008
또는
Figure 112017095411114-pct00009
상기 실시예에서, 수학식 3 내지 수학식 5의 예들은 동일한 결과로 이어지는 3개의 대안적인 구문 표현을 나타낸다. 상기 수학식들에서, 논리 연산(x ? y : z)은 다음과 같은 의미를 갖는다: x가 TRUE이거나 0이 아니면, y의 값으로 평가하고; 그렇지 않으면, z의 값으로 평가한다.
또 다른 실시예에서, NumIndicesLeft가 0보다 클 때, maxPaletteRun은 last_palette_run_type_flag의 값에 따라 감소될 수 있다. 이 실시예에 따른 예들은 다음과 같이 나타낸다:
Figure 112017095411114-pct00010
Figure 112017095411114-pct00011
Figure 112017095411114-pct00012
상기 실시예에서, 수학식 6 내지 수학식 8의 예들은 동일한 결과로 이어지는 3개의 대안적인 구문 표현을 나타낸다.
다른 실시예에서, 구문 순서는 변경될 수 있다. 예를 들어, 팔레트 런들 전에 팔레트 런 타입 그룹이 시그널링될 수 있다. 또한, 런 타입 그룹 및 런 길이 그룹 전에 카피 어보브 모드(즉, copy_above_run)의 수 및/또는 카피 인덱스 모드(즉, index_run)의 수가 시그널링될 수 있다. 예시적인 구문 순서는 다음과 같을 수 있다: copy_above_run의 수 또는 index_run의 수 → 팔레트 인덱스 그룹 → last_run_mode → 런 타입 그룹 → 런 길이 그룹 → 이스케이프 값 그룹. 팔레트 런을 코딩할 때, 사용 가능한 최대 런에서 나머지 알려진 모드의 수를 뺄 수 있다. 예를 들어, maxPaletteRun = nCbS * nCbS - scanPos - 1 - 나머지 COPY_ABOVE_MODE의 수 - 나머지 COPY_INDEX_MODE의 수.
또 다른 실시예에서,
나머지 COPY_ABOVE_MODE의 수와 나머지 COPY_INDEX_MODE의 수가 모두 0보다 큰 경우,
Figure 112017095411114-pct00013
그렇지 않고, 나머지 COPY_ABOVE_MODE의 수 > 0이고 나머지 COPY_INDEX_MODE의 수 == 0인 경우,
Figure 112017095411114-pct00014
그렇지 않고, 나머지 COPY_ABOVE_MODE의 수 == 0이고 나머지 COPY_INDEX_MODE의 수 > 0인 경우,
Figure 112017095411114-pct00015
그렇지 않으면,
Figure 112017095411114-pct00016
CU에 걸친 예측
CU 경계에 걸친 팔레트 예측에 대한 코딩 효율을 더 향상시키기 위해, 특수 런이 개시된다. 이 특수 런은 팔레트 코딩된 CU의 첫 번째 샘플에서 시작하는 카피-어보브 런을 확장한다. 특수 런은 한 번 시그널링될 수 있다. 확장된 카피-어보브 런 모드의 샘플들은 이웃 CU의 재구성된 픽셀들로부터 예측된다. PU/CU의 전체 팔레트 코딩된 샘플들이 감소되는 것을 제외하면, CU의 나머지 샘플들은 SCM-4.0에서 지정된 팔레트 구문을 사용하여 코딩된다.
실시예 1: 처음 L개 라인의 샘플들이 이웃 CU 내의 재구성된 픽셀들로부터 예측된다는 것을 나타내기 위해 구문 요소(예를 들어, L로 표현된 line_num)가 먼저 시그널링되고, 여기서 L은 양의 정수이다. PU/CU의 전체 팔레트 코딩된 샘플들이 감소되는 것을 제외하면, 나머지 샘플들은 SCM-4.0에서의 팔레트 구문을 사용하여 코딩된다. 처음 L개 라인의 샘플들에 대해, 그들의 픽셀 값들은 이웃 CU 내의 재구성된 픽셀들로부터 예측된다. 예를 들어, palette_transpose_flag가 0이면, 위 CU들의 재구성된 픽셀들이 사용된다. 처음 L개 라인의 샘플들의 픽셀 값들은 위 CU들의 마지막 행의 재구성된 픽셀 값들이다. 이는 처음 L개 라인의 샘플들에 인트라(Intra) 수직 예측을 적용하는 것과 유사하지만, 나머지 라인들은 일반 팔레트 모드로 코딩된다.
도 1은 2개 라인의 픽셀들(즉, L = 2)이 CU 경계(110) 위에 위치하는 위 라인으로부터 카피되는 확장된 카피-어보브 런 모드의 예를 도시한다.
실시예 2: 처음 M개의 샘플이 이웃 CU에서 재구성된 픽셀들로부터 예측된다는 것을 나타내기 위해 구문 요소(예를 들어, M으로 표현된 pixel_num)가 먼저 시그널링되고, 여기서 M은 양의 정수이다. PU/CU의 전체 팔레트 코딩된 샘플들이 감소되는 것을 제외하면, 나머지 샘플들은 SCM-4.0에서의 팔레트 구문을 사용하여 코딩된다. 예를 들어, palette_transpose_flag가 0이면, 위 CU들의 재구성된 픽셀들이 사용된다. 처음 M개 샘플의 픽셀 값들은 위 CU들의 마지막 행의 재구성된 픽셀 값들이다. 이는 처음 M개의 샘플에 인트라 수직 예측을 적용하는 것과 유사하다. CU의 폭이 CU_width인 경우, CU의 (M+1)에 있는 첫 번째 샘플에서 시작하여 (M + CU_width)번째 샘플까지의 처음 CU_width 샘플들은 SCM-4.0에서의 구문에 따라 카피-어보브 런 모드에서 코딩될 수 없다. 다시 말해, 스캔 위치가 M 내지 (M + CU_width - 1)인 샘플들은 SCM-4.0에서의 구문에 따라 카피-어보브 런 모드에서 코딩될 수 없다. 도 2는 처음 M(즉, M = 11)개의 샘플이 재구성된 픽셀들로부터 예측되는 것을 나타내기 위해 구문 요소, pixel_num(M)을 시그널링함으로써 CU 경계(210)에 걸친 예측의 예를 도시한다.
예를 들어 SCM-4.0에서의 palette_coding 구문 테이블은 표 2에 나타낸 바와 같이 수정될 수 있다.
Figure 112017095411114-pct00017
표 2에 나타낸 바와 같이, 구문 요소 pixel_num은 Note (2-1)에 의해 나타낸 바와 같이 통합되며, 여기서 pixel_num은 팔레트 인덱스 맵 코딩 전에 시그널링된다. 나머지 팔레트 샘플들은 Note (2-2)에 의해 나타낸 바와 같이 pixel_num에서 시작하는 스캔 위치로부터 코딩된다. 이전 팔레트 샘플 위치들은 Note (2-3)에 따라 도출된다. Note (2-4)에 의해 나타낸 바와 같이 처음 pixel_num개의 샘플 후에 첫 번째 샘플 행에 대해서는 카피-어보브 모드가 허용되지 않는다.
조정된 최대 인덱스를 나타내는 변수 adjustedIndexMax는 다음과 같이 도출된다:
Figure 112017095411114-pct00018
조정된 최대 참조 인덱스를 나타내는 변수 adjustedRefIndexMax는 다음과 같이 도출된다:
Figure 112017095411114-pct00019
위에 언급한 실시예 1실시예 2에서, 구문 요소, copy_from_neighbouring_CU_flag가 먼저 시그널링될 수 있다. copy_from_neighbouring_CU_flag가 0이면, line_num 및 pixel_num은 시그널링되지 않고 0으로 추론될 수 있다. copy_from_neighbouring_CU_flag가 1이면, line_num 및 pixel_num이 시그널링된다. 실제 line_num 및 pixel_num은 1만큼 증가된 파싱된 line_num 및 pixel_num과 같다.
첫 번째 행에 대한 조합된 카피 인덱스 /픽셀에 대한 팔레트 인덱스 맵 코딩 및 앞의 인덱스 그룹 시그널링
JCTVC-T0036(JCTVC-T0036 : Sun 외, CE1 : 테스트 A. 1: 제1 라인에 대한 확장된 카피 어보브 모드(CE1 : Tests A. 1 : Extended copy above mode to the first line)(1.1-1.5), ITU-T SG 16 WP 3 및 ISO/IEC JTC 1/SC29/WG 11, 20차 회의: 스위스, 제네바, 2015년 2월 10-18일, 문서: JCTVC-T0036)에 기술된 바와 같은 첫 번째 행에 대한 카피 어보브 인덱스/픽셀이 적용될 때, 부분 중복 인덱스 제거가 요구된다. adjustedIndexMax는 이전의 코딩된 팔레트 런 모드와 위 샘플이 이웃 CU로부터 카피되었는지에 따라 달라진다. 그러나, JCTVC-T0065에서 설명한 바와 같은 앞의 인덱스 그룹을 이동시키는 방법에서는, adjustedIndexMax가 첫 번째 인덱스를 제외하고 항상 고정 값이다. 이러한 충돌을 해결하기 위해, adjustedRefIndex의 도출은 다음과 같이 수정된다.
실시예 1: adjustedIndexMax에 대한 변경 없음
이 실시예에서, adjustedIndexMax는 항상 indexMax로 고정된다. 이전의 코딩된 런 타입이 카피 어보브 모드(즉, COPY_ABOVE_MODE)이고 위 샘플이 이웃 CU로부터 카피되는 경우를 제외하고는 인덱스 중복성 제거가 여전히 적용된다. 변수 adjustedRefIndex는 다음과 같이 도출된다:
Figure 112017095411114-pct00020
상기 의사 코드들에 나타낸 바와 같이, COPY_ABOVE_MODE인 이전의 코딩된 런 타입에 대응하는 테스트 조건 "PaletteIndexMap[xC][yC - 1]!= copy_pixel_from_neighbouring_CU"이 포함됨에 따라 카피 어보브 모드(즉, COPY_ABOVE_MODE)인 이전의 코딩된 런 타입 및 이웃 CU로부터 카피되는 위 샘플에 인덱스 중복 제거가 적용되지 않을 것이다.
실시예 2: copy_pixel_from_neighbouring_CU에 대한 추가 인덱스 삽입
이 실시예에서, 샘플이 이웃 CU로부터 카피되는 것을 나타내기 위해 특수 인덱스가 삽입된다. 이 특수 인덱스(예를 들어, copy_pixel_index)는 currentPaletteSize(즉, escape_index - 1)와 같은, 또는 currentPaletteSize + 1과 같은, 0에 대응하는 인덱스 값을 가질 수 있다. copy_pixel_index가 0 또는 currentPaletteSize인 경우, 이스케이프 인덱스는 currentPaletteSize+1과 같도록 설정된다. 카피 픽셀 인덱스가 currentPaletteSize + 1과 같은 경우, 이스케이프 인덱스는 currentPaletteSize로 설정된다.
adjustedIndexMax는 palette_escape_val_present_flag가 1이면 currentPaletteSize로 설정되는, indexMax로 항상 고정되며, indexMax는 palette_escape_val_present_flag가 0이면 (currentPaletteSize - 1)로 설정된다. 인덱스 중복 제거는 모든 샘플에 적용된다. 변수 adjustedRefIndex는 다음과 같이 도출된다:
Figure 112017095411114-pct00021
첫 번째 샘플의 인덱스가 copy_pixel_index와 같은 경우, 첫 번째 샘플은 copy_above_mode를 사용하도록 강제된다. 재구성된 인덱스가 copy_pixel_index와 같은 경우, 그 픽셀 값은 이웃 CU로부터 카피된다. 예를 들어, 도 3에서, 점으로 채워진 픽셀들은 copy_pixel_index와 같은 인덱스를 갖는 샘플들에 대응한다. 샘플 A와 B의 경우, 그 픽셀 값들은 샘플 D의 픽셀 값과 같다. 샘플 C의 경우, 그 픽셀 값은 샘플 E의 픽셀 값과 같다.
팔레트 구문 그룹화
SCM-4.0에서는, 팔레트 인덱스들이 앞에 그룹화되고 이스케이프 값들은 다양한 타입의 구문 요소들 중 끝에 그룹화된다. 팔레트 인덱스들과 이스케이프 값들은 모두 바이패스 빈들(bypass bins)로 코딩된다. 이스케이프 값들을 팔레트 인덱스들로 그룹화하는 것(즉, 바이패스 코딩된 빈들의 그룹화)는 파싱 처리량이 증가시킬 수 있다. SCM-4.0에서는, 파싱되는 이스케이프 값의 총수는 팔레트 런 모드, 팔레트 인덱스 및 팔레트 런에 따라 달라진다. 따라서, 이스케이프 값들은 끝에만 그룹화될 수 있다. 이스케이프 값들을 팔레트 인덱스들로 그룹화하기 위해, 여러 실시예들이 제안된다.
이스케이프 값들이 앞에 그룹화될 때, 파싱될 필요가 있는 이스케이프 값의 수는 팔레트 런들과 무관해야 한다. 이스케이프 값 파싱의 경우, 팔레트 런들에 대한 데이터 종속성을 제거하기 위해, 위 행으로부터 이스케이프 샘플들을 카피하기 위해 카피 어보브 런 모드 프로세스가 수정된다.
카피 어보브 런 모드에서, 위 행으로부터 카피되는 다음 샘플의 수를 나타내기 위해 값 "팔레트 런"이 전송되거나 도출된다. 컬러 인덱스들은 위 행의 컬러 인덱스들과 같다. 일 실시예에 따르면, 위 샘플 또는 왼쪽 샘플이 이스케이프 샘플이면, 위 샘플의 컬러 인덱스는 미리 정의된 컬러 인덱스(예를 들어, 0)로서 간주된다. 현재 인덱스는 미리 정의된 인덱스로 설정되며 이러한 예측자 카피 모드들에서는 이스케이프 값이 요구되지 않는다. 이 실시예에 따르면, 시그널링된 인덱스가 이스케이프 인덱스와 같은 경우에도 팔레트 런은 인덱스 런 모드에 대해 시그널링될 수 있다. 이스케이프 인덱스에 대한 런이 0보다 큰 경우(예를 들어, N), 첫 번째 샘플은 코딩된 이스케이프 값으로 재구성된다. 첫 번째 샘플의 인덱스는 이스케이프 인덱스 또는 미리 정의된 컬러 인덱스로 설정될 수 있다. 나머지 N개의 샘플의 인덱스는 미리 정의된 인덱스(예를 들어, 인덱스 0)로 설정되고, 나머지 N개의 샘플은 미리 정의된 인덱스(예를 들어, 인덱스 0)의 값으로 재구성된다. 이 실시예에 따르면, 런 모드에서의 최대 코드워드 인덱스(즉, adjustedIndexMax)는 인덱스 런 모드의 첫 번째 샘플을 제외하고는 고정된다(예를 들어, indexMax - 1). CU의 첫 번째 샘플의 경우, adjustedIndexMax는 indexMax와 같다.
중복 인덱스 제거는 여전히 적용될 수 있다. 파싱될 필요가 있는 이스케이프 값의 수는 이스케이프 인덱스를 갖는 파싱된/재구성된 인덱스의 수에 따라 달라진다. 예를 들어, 팔레트 인덱스들이 잘린 이진 코드로 코딩되고 코딩된 빈들이 모두 1인 경우, 파싱된 인덱스는 이스케이프 인덱스이다. 파싱될 이스케이프 값의 수는 팔레트 런과는 무관하다. 따라서, 이스케이프 값들의 구문은 팔레트 인덱스들로 앞에(팔레트 런 전에) 가져올 수 있다.
이 실시예에 따르면, currentPaletteSize가 0인 경우(모든 샘플이 이스케이프 인덱스로서 코딩됨을 의미함), 첫 번째 팔레트 인덱스는 0(즉, 이스케이프 인덱스)으로 추론되고, 팔레트 런은 nCbS * nCbS - 1로 추론된다. 다시 말해, 모든 샘플은 이스케이프 인덱스로서 코딩된다. (nCbS * nCbS)개의 샘플의 이스케이프 값들이 시그널링된다. 이 조건에서는, 나머지 nCbS * nCbS - 1개의 샘플들을 미리 정의된 인덱스로 간주할 필요가 없다.
도 4는 본 발명의 실시예를 포함하는 팔레트 코딩 모드를 사용하는 비디오 디코더의 예시적인 흐름도를 도시한다. 시스템은 단계 410에서 현재 블록의 코딩된 데이터에 대응하는 비디오 비트스트림을 수신한다. 시스템은 현재 블록에 대한 마지막 런 타입이 카피-인덱스 모드인지 카피-어보브 모드인지를 나타내기 위해 비디오 비트스트림으로부터 제1 구문 요소를 파싱한다. 카피-인덱스 모드는 제1 인덱스 값 및 M개의 런을 시그널링함으로써 모두가 제1 인덱스 값을 갖는 M개의 연속적인 인덱스를 나타내고, 카피-어보브 모드는 N개의 런을 시그널링함으로써 모두가 대응하는 N개의 위 픽셀과 동일한 제2 인덱스 값들을 갖는 N개의 연속적인 제2 인덱스 값을 나타낸다. 그 후, 시스템은 단계 430에서 현재 블록에 대한 마지막 런 타입이 카피-인덱스 모드인지 카피-어보브 모드인지를 포함하는 코딩 정보에 기초하여 코딩되고 있는 현재 픽셀에 대한 최대 팔레트 런을 결정한다. 시스템은 단계 440에서 최대 팔레트 런에 따라 비디오 비트스트림으로부터의 현재 픽셀과 연관된 현재 런을 디코딩한다.
도 5는 본 발명의 또 다른 실시예를 포함하는 팔레트 코딩 모드를 사용하는 비디오 디코더의 예시적인 흐름도를 도시한다. 시스템은 단계 510에서 현재 블록의 코딩된 데이터에 대응하는 비디오 비트스트림을 수신한다. 시스템은 단계 520에서 현재 블록에 대한 비트스트림에서 현재 블록의 런 타입 그룹 및 런 길이 그룹 전에 현재 블록에 대한 카피-인덱스 모드의 제1 총수 및 카피-어보브 모드의 제2 총수를 파싱한다. 카피-인덱스 모드는 제1 인덱스 값 및 M개의 런을 시그널링함으로써 모두가 제1 인덱스 값을 갖는 M개의 연속적인 인덱스를 나타내고, 카피-어보브 모드는 N개의 런을 시그널링함으로써 모두가 대응하는 N개의 위 픽셀과 동일한 제2 인덱스 값들을 갖는 N개의 연속적인 제2 인덱스 값을 나타낸다. 그 후, 시스템은 단계 530에서 현재 픽셀에 대한 나머지 카피-인덱스 모드의 제1 수 및 나머지 카피-어보브 모드의 제2 수를 포함하는 코딩 정보에 기초하여 코딩되고 있는 현재 픽셀에 대한 최대 팔레트 런을 결정한다. 나머지 카피-인덱스 모드의 제1 수는 카피-인덱스 모드의 제1 총수에 기초하여 도출되고, 나머지 카피-어보브 모드의 제2 수는 카피-어보브 모드의 제2 총수에 기초하여 도출된다. 시스템은 단계 540에서 최대 팔레트 런에 따라 비디오 비트스트림으로부터의 현재 픽셀과 연관된 현재 런을 디코딩한다.
도시된 흐름도들은 본 발명에 따른 팔레트 코딩 모드를 사용하는 비디오 디코딩의 예를 설명하기 위한 것이다. 이 기술분야의 숙련자는 본 발명의 사상을 벗어나지 않고 본 발명을 실시하기 위해 각각의 단계를 변경하거나, 단계들을 재배열하거나, 단계를 분할하거나, 단계들을 조합할 수 있다. 이 개시에서, 본 발명의 실시예들을 구현하기 위한 예를 설명하기 위해 특정 구문 및 의미가 사용되었다. 숙련자는 본 발명의 사상을 벗어나지 않고 구문 및 의미를 동등한 구문 및 의미로 대체함으로써 본 발명을 실시할 수 있다.
상기 설명은 이 기술분야의 통상의 기술자가 특정 애플리케이션 및 그 요구 사항의 맥락에서 제공된 바와 같은 본 발명을 실시할 수 있도록 제시된다. 설명된 실시예들에 대한 다양한 수정들이 이 기술분야의 숙련자들에게 명백할 것이며, 본 명세서에서 정의된 일반적인 원리들은 다른 실시예들에 적용될 수 있다. 따라서, 본 발명은 도시되고 설명된 특정 실시예들에 한정되도록 의도되지 않고, 본 명세서에서 개시된 원리들 및 신규한 특징들에 부합하는 가장 넓은 범위가 부여되어야 한다. 상기 상세한 설명에서, 본 발명의 완전한 이해를 제공하기 위해 다양한 특정 세부 사항이 예시되었다. 그럼에도 불구하고, 이 기술분야의 숙련자는 본 발명이 실시될 수 있음을 이해할 것이다.
전술한 바와 같은 본 발명의 실시예는 다양한 하드웨어, 소프트웨어 코드, 또는 이들의 조합으로 구현될 수 있다. 예를 들어, 본 발명의 실시예는 본 명세서에서 설명된 처리를 수행하기 위해 비디오 압축 칩에 통합된 하나 이상의 회로 또는 비디오 압축 소프트웨어에 통합된 프로그램 코드일 수 있다. 본 발명의 일 실시예는 본 명세서에서 설명된 처리를 수행하기 위해 디지털 신호 프로세서(DSP)상에서 실행되는 프로그램 코드일 수도 있다. 본 발명은 또한 컴퓨터 프로세서, 디지털 신호 프로세서, 마이크로프로세서, 또는 필드 프로그래머블 게이트 어레이(FPGA)에 의해 수행되는 다수의 기능을 수반할 수 있다. 이들 프로세서는 본 발명에 의해 구현되는 특정 방법들을 정의하는 기계 판독 가능 소프트웨어 코드 또는 펌웨어 코드를 실행함으로써, 본 발명에 따른 특정 작업들을 수행하도록 구성될 수 있다. 소프트웨어 코드 또는 펌웨어 코드는 상이한 프로그래밍 언어 및 상이한 포맷 또는 스타일로 개발될 수 있다. 소프트웨어 코드는 상이한 타겟 플랫폼을 위해 컴파일될 수도 있다. 그러나, 본 발명에 따른 작업들을 수행하기 위한 상이한 코드 포맷, 스타일 및 소프트웨어 코드 및 다른 코드 구성 수단은 본 발명의 사상 및 범위를 벗어나지 않을 것이다.
본 발명은 그 사상 또는 본질적인 특성을 벗어나지 않고 다른 특정 형태로 구현될 수 있다. 설명된 예들은 제한적인 것이 아니고 단지 예시적인 것으로서 모든 면에서 고려되어야 한다. 따라서, 본 발명의 범위는 전술한 설명보다는 첨부된 청구항들에 의해 지시된다. 청구항들과 균등한 의미 및 범위 내에 있는 모든 변경은 그 범주 내에 포함되어야 한다.

Claims (28)

  1. 팔레트 코딩 모드를 사용하는 비디오 또는 이미지 디코딩 방법에 있어서,
    현재 블록의 코딩된 데이터에 대응하는 비디오 비트스트림을 수신하는 단계;
    상기 현재 블록에 대한 마지막 런(run) 타입이 카피-인덱스 모드(copy-index mode)인지 또는 카피-어보브 모드(copy-above mode)인지 여부를 나타내기 위해 상기 비디오 비트스트림으로부터 제1 구문 요소를 파싱하는(parsing) 단계 ― 상기 카피-인덱스 모드는 제1 인덱스 값 및 M개의 런을 시그널링함으로써 상기 제1 인덱스 값을 모두가 갖는 M개의 연속적인 인덱스를 나타내고, 상기 카피-어보브 모드는 N개의 런을 시그널링함으로써 대응하는 N개의 위 픽셀과 동일한 제2 인덱스 값들을 모두가 갖는 N개의 연속적인 제2 인덱스 값을 나타냄 ― ;
    상기 현재 블록에 대한 마지막 런 타입이 상기 카피-인덱스 모드인지 또는 상기 카피-어보브 모드인지 여부를 포함하는 코딩 정보에 기초하여, 코딩되고 있는 현재 픽셀에 대한 최대 팔레트 런을 결정하는 단계; 및
    상기 최대 팔레트 런에 따라 상기 비디오 비트스트림으로부터의 상기 현재 픽셀과 연관된 현재 런을 디코딩하는 단계
    를 포함하고,
    상기 최대 팔레트 런은,
    Figure 112020030513558-pct00033
    또는
    Figure 112020030513558-pct00034
    또는
    Figure 112020030513558-pct00035

    에 따라 결정되며,
    여기서 maxPaletteRun은 상기 최대 팔레트 런을 나타내고, nCbS는 상기 코딩 정보에 포함되며 상기 현재 블록의 폭 및 높이를 나타내고, scanPos는 상기 코딩 정보에 포함되며 상기 현재 픽셀의 픽셀 위치를 나타내고, NumIndicesLeft는 상기 코딩 정보에 포함되며 상기 현재 픽셀의 상기 픽셀 위치에서 상기 현재 블록에 대한 나머지 팔레트 인덱스의 수를 나타내고, last_palette_run_type_flag는 상기 제1 구문 요소를 나타내며, last_palette_run_type_flag는 상기 마지막 런 타입이 상기 카피-어보브 모드인 경우 1의 값을 갖고, last_palette_run_type_flag는 상기 마지막 런 타입이 상기 카피-인덱스 모드인 경우 0의 값을 갖는 것인,
    비디오 또는 이미지 디코딩 방법.
  2. 삭제
  3. 삭제
  4. 삭제
  5. 삭제
  6. 삭제
  7. 하나 이상의 전자 회로를 포함하는, 팔레트 코딩 모드를 사용하는 비디오 또는 이미지 디코딩을 위한 장치에 있어서, 상기 전자 회로는:
    현재 블록의 코딩된 데이터에 대응하는 비디오 비트스트림을 수신하고;
    상기 현재 블록에 대한 마지막 런 타입이 카피-인덱스 모드인지 또는 카피-어보브 모드인지 여부를 표시하기 위해 상기 비디오 비트스트림으로부터 제1 구문 요소를 파싱하고 ― 상기 카피-인덱스 모드는 제1 인덱스 값 및 M개의 런을 시그널링함으로써 상기 제1 인덱스 값을 모두가 갖는 M개의 연속적인 인덱스를 나타내고, 상기 카피-어보브 모드는 N개의 런을 시그널링함으로써 대응하는 N개의 위 픽셀과 동일한 제2 인덱스 값들을 모두가 갖는 N개의 연속적인 제2 인덱스 값을 나타냄 ― ;
    상기 현재 블록에 대한 마지막 런 타입이 상기 카피-인덱스 모드인지 또는 상기 카피-어보브 모드인지 여부를 포함하는 코딩 정보에 기초하여 코딩되고 있는 현재 픽셀에 대한 최대 팔레트 런을 결정하고;
    상기 최대 팔레트 런에 따라 상기 비디오 비트스트림으로부터의 상기 현재 픽셀과 연관된 현재 런을 디코딩하도록
    배열되고,
    상기 최대 팔레트 런은,
    Figure 112020030513558-pct00036
    또는
    Figure 112020030513558-pct00037
    또는
    Figure 112020030513558-pct00038

    에 따라 결정되며,
    여기서 maxPaletteRun은 상기 최대 팔레트 런을 나타내고, nCbS는 상기 코딩 정보에 포함되며 상기 현재 블록의 폭 및 높이를 나타내고, scanPos는 상기 코딩 정보에 포함되며 상기 현재 픽셀의 픽셀 위치를 나타내고, NumIndicesLeft는 상기 코딩 정보에 포함되며 상기 현재 픽셀의 상기 픽셀 위치에서 상기 현재 블록에 대한 나머지 팔레트 인덱스의 수를 나타내고, last_palette_run_type_flag는 상기 제1 구문 요소를 나타내며, last_palette_run_type_flag는 상기 마지막 런 타입이 상기 카피-어보브 모드인 경우 1의 값을 갖고, last_palette_run_type_flag는 상기 마지막 런 타입이 상기 카피-인덱스 모드인 경우 0의 값을 갖는 것인,
    비디오 또는 이미지 디코딩을 위한 장치.
  8. 팔레트 코딩 모드를 사용하는 비디오 또는 이미지 코딩 방법에 있어서,
    현재 블록에 대한 현재 팔레트 인덱스 맵을 결정하는 단계;
    카피-인덱스 모드 및 카피-어보브 모드를 포함하는 팔레트 인덱스 예측 모드들을 사용하여 상기 현재 팔레트 인덱스 맵을 구문 요소들로 인코딩하는 단계 ― 상기 카피-인덱스 모드는 제1 인덱스 값 및 M개의 런을 시그널링함으로써 상기 제1 인덱스 값을 모두가 갖는 M개의 연속적인 인덱스를 나타내고, 상기 카피-어보브 모드는 N개의 런을 시그널링함으로써 대응하는 N개의 위 픽셀과 동일한 제2 인덱스 값들을 모두가 갖는 N개의 연속적인 제2 인덱스 값을 나타냄 ― ;
    상기 현재 블록에 대한 마지막 런 타입이 상기 카피-인덱스 모드인지 또는 상기 카피-어보브 모드인지 여부를 표시하기 위해 제1 구문 요소를 시그널링하는 단계;
    상기 현재 블록에 대한 상기 마지막 런 타입이 상기 카피-인덱스 모드인지 또는 상기 카피-어보브 모드인지 여부를 포함하는 코딩 정보에 기초하여 코딩되고 있는 현재 픽셀에 대한 최대 팔레트 런을 결정하는 단계; 및
    상기 최대 팔레트 런에 따라 상기 현재 픽셀과 연관된 현재 런을 하나 이상의 이진 스트링으로 인코딩하는 단계
    를 포함하고,
    상기 최대 팔레트 런은,
    Figure 112020030513558-pct00039
    또는
    Figure 112020030513558-pct00040
    또는
    Figure 112020030513558-pct00041

    에 따라 결정되며,
    여기서 maxPaletteRun은 상기 최대 팔레트 런을 나타내고, nCbS는 상기 코딩 정보에 포함되며 상기 현재 블록의 폭 및 높이를 나타내고, scanPos는 상기 코딩 정보에 포함되며 상기 현재 픽셀의 픽셀 위치를 나타내고, NumIndicesLeft는 상기 코딩 정보에 포함되며 상기 현재 픽셀의 상기 픽셀 위치에서 상기 현재 블록에 대한 나머지 팔레트 인덱스의 수를 나타내고, last_palette_run_type_flag는 상기 제1 구문 요소를 나타내며, last_palette_run_type_flag는 상기 마지막 런 타입이 상기 카피-어보브 모드인 경우 1의 값을 갖고, last_palette_run_type_flag는 상기 마지막 런 타입이 상기 카피-인덱스 모드인 경우 0의 값을 갖는 것인,
    비디오 또는 이미지 코딩 방법.
  9. 삭제
  10. 삭제
  11. 삭제
  12. 삭제
  13. 삭제
  14. 삭제
  15. 팔레트 코딩 모드를 사용하는 비디오 또는 이미지 디코딩 방법에 있어서,
    현재 블록의 코딩된 데이터에 대응하는 비디오 비트스트림을 수신하는 단계;
    상기 현재 블록에 대한 비트스트림에서 상기 현재 블록의 런 타입 그룹 및 런 길이 그룹 전에, 상기 현재 블록에 대한 카피-인덱스 모드의 제1 총수(total number) 및 카피-어보브 모드의 제2 총수를 파싱하는 단계 ― 카피-인덱스 모드는 제1 인덱스 값 및 M개의 런을 시그널링함으로써 상기 제1 인덱스 값을 모두가 갖는 M개의 연속적인 인덱스를 나타내고, 카피-어보브 모드는 N개의 런을 시그널링함으로써 대응하는 N개의 위 픽셀과 동일한 제2 인덱스 값들을 모두가 갖는 N개의 연속적인 제2 인덱스 값을 나타냄 ― ;
    코딩되고 있는 현재 픽셀에 대한 최대 팔레트 런을, 상기 현재 픽셀에 대한 나머지 카피-인덱스 모드의 제1 수 및 나머지 카피-어보브 모드의 제2 수를 포함하는 코딩 정보에 기초하여, 결정하는 단계 ― 상기 나머지 카피-인덱스 모드의 제1 수는 상기 카피-인덱스 모드의 제1 총수에 기초하여 도출되고, 상기 나머지 카피-어보브 모드의 제2 수는 상기 카피-어보브 모드의 제2 총수에 기초하여 도출됨 ― ; 및
    상기 최대 팔레트 런에 따라 상기 비디오 비트스트림으로부터의 상기 현재 픽셀과 연관된 현재 런을 디코딩하는 단계
    를 포함하고,
    상기 현재 픽셀에 대한 최대 팔레트 런은,
    maxPaletteRun = nCbS * nCbS - scanPos - 1 - 상기 나머지 카피-인덱스 모드의 제1 수 - 상기 나머지 카피-어보브 모드의 제2 수
    에 따라 결정되고,
    여기서 maxPaletteRun은 상기 최대 팔레트 런을 나타내고, nCbS는 상기 코딩 정보에 포함되며 상기 현재 블록의 폭 및 높이를 나타내고, scanPos는 상기 코딩 정보에 포함되며 상기 현재 픽셀의 픽셀 위치를 나타내는 것인,
    비디오 또는 이미지 디코딩 방법.
  16. 삭제
  17. 삭제
  18. 팔레트 코딩 모드를 사용하는 비디오 또는 이미지 코딩 방법에 있어서,
    현재 블록에 대한 현재 팔레트 인덱스 맵을 결정하는 단계;
    카피-인덱스 모드 및 카피-어보브 모드를 포함하는 팔레트 인덱스 예측 모드들을 사용하여 상기 현재 팔레트 인덱스 맵을 구문 요소들로 인코딩하는 단계 ― 상기 카피-인덱스 모드는 제1 인덱스 값 및 M개의 런을 시그널링함으로써 상기 제1 인덱스 값을 모두가 갖는 M개의 연속적인 인덱스를 나타내고, 상기 카피-어보브 모드는 N개의 런을 시그널링함으로써 대응하는 N개의 위 픽셀과 동일한 제2 인덱스 값들을 모두가 갖는 N개의 연속적인 제2 인덱스 값을 나타냄 ― ;
    상기 현재 블록에 대한 비트스트림에서 상기 현재 블록의 런 타입 그룹 및 런 길이 그룹 전에 상기 현재 블록에 대한 카피-인덱스 모드의 제1 총수 및 카피-어보브 모드의 제2 총수를 시그널링하는 단계;
    코딩되고 있는 현재 픽셀에 대한 최대 팔레트 런을, 상기 현재 픽셀에 대한 나머지 카피-인덱스 모드의 제1 수 및 나머지 카피-어보브 모드의 제2 수를 포함하는 코딩 정보에 기초하여, 결정하는 단계 ― 상기 나머지 카피-인덱스 모드의 제1 수는 상기 카피-인덱스 모드의 제1 총수에 기초하여 도출되고, 상기 나머지 카피-어보브 모드의 제2 수는 상기 카피-어보브 모드의 제2 총수에 기초하여 도출됨 ― ; 및
    상기 최대 팔레트 런에 따라 상기 현재 픽셀과 연관된 현재 런을 하나 이상의 이진 스트링으로 인코딩하는 단계
    를 포함하고,
    상기 현재 픽셀에 대한 최대 팔레트 런은,
    maxPaletteRun = nCbS * nCbS - scanPos - 1 - 상기 나머지 카피-인덱스 모드의 제1 수 - 상기 나머지 카피-어보브 모드의 제2 수
    에 따라 결정되고,
    여기서 maxPaletteRun은 상기 최대 팔레트 런을 나타내고, nCbS는 상기 코딩 정보에 포함되며 상기 현재 블록의 폭 및 높이를 나타내고, scanPos는 상기 코딩 정보에 포함되며 상기 현재 픽셀의 픽셀 위치를 나타내는 것인,
    비디오 또는 이미지 코딩 방법.
  19. 삭제
  20. 삭제
  21. 삭제
  22. 삭제
  23. 삭제
  24. 삭제
  25. 삭제
  26. 삭제
  27. 삭제
  28. 삭제
KR1020177027814A 2015-03-18 2016-03-17 비디오 및 이미지 압축에서의 인덱스 맵 코딩을 위한 방법 및 장치 KR102152239B1 (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US201562134655P 2015-03-18 2015-03-18
US62/134,655 2015-03-18
PCT/CN2016/076627 WO2016146076A1 (en) 2015-03-18 2016-03-17 Method and apparatus for index map coding in video and image compression

Publications (2)

Publication Number Publication Date
KR20170123677A KR20170123677A (ko) 2017-11-08
KR102152239B1 true KR102152239B1 (ko) 2020-09-07

Family

ID=56918358

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020177027814A KR102152239B1 (ko) 2015-03-18 2016-03-17 비디오 및 이미지 압축에서의 인덱스 맵 코딩을 위한 방법 및 장치

Country Status (5)

Country Link
US (1) US10904566B2 (ko)
EP (1) EP3266217B1 (ko)
KR (1) KR102152239B1 (ko)
CN (1) CN107431827B (ko)
WO (1) WO2016146076A1 (ko)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112219399A (zh) * 2018-07-04 2021-01-12 阿里巴巴集团控股有限公司 视频压缩系统中基于调色板的残差编码
US11202101B2 (en) 2019-03-13 2021-12-14 Qualcomm Incorporated Grouped coding for palette syntax in video coding
CN113748674A (zh) * 2019-04-25 2021-12-03 北京达佳互联信息技术有限公司 使用调色板模式进行视频编解码的方法和装置
US11496731B2 (en) * 2020-06-08 2022-11-08 Tencent America LLC String matching with single color value

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9918068B2 (en) 2011-06-15 2018-03-13 Media Tek Inc. Method and apparatus of texture image compress in 3D video coding
US11259020B2 (en) * 2013-04-05 2022-02-22 Qualcomm Incorporated Determining palettes in palette-based video coding
CN104244007B (zh) 2013-06-13 2020-09-01 上海天荷电子信息有限公司 一种图像编码方法和装置及解码方法和装置
US9729875B2 (en) 2013-07-08 2017-08-08 Sony Corporation Palette coding mode
CN114630131B (zh) * 2014-11-12 2023-11-07 寰发股份有限公司 索引映射编解码中的跳出像素编解码方法
CN110519604B (zh) 2014-11-12 2022-04-01 寰发股份有限公司 索引映射编解码中的跳出像素编解码方法

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
R. Joshi, et al. High Efficiency Video Coding (HEVC) Screen Content Coding: Draft 2. JCT-VC of ITU-T and ISO/IEC. JCTVC-S1005 Ver.1, Dec. 10, 2014, pp.1-350*
S-T. Hsiang, et al. Further redundancy removal for coding palette index map. JCT-VC of ITU-T and ISO/IEC. JCTVC-V0065 Ver.4, Oct. 15, 2015, pp.1-4
Y-C. Sun, et al. CE1-related: Harmonization between JCTVC-T0065 Non CE1: Grouping Palette Indices At Front and CE1 Test A.1.5. JCT-VC of ITU-T and ISO/IEC. JCTVC-T0233 Ver.2, Feb. 17, 2015, pp.1-6*

Also Published As

Publication number Publication date
EP3266217A1 (en) 2018-01-10
CN107431827A (zh) 2017-12-01
WO2016146076A1 (en) 2016-09-22
CN107431827B (zh) 2020-02-28
EP3266217A4 (en) 2018-12-05
KR20170123677A (ko) 2017-11-08
US10904566B2 (en) 2021-01-26
EP3266217B1 (en) 2020-01-08
US20180054629A1 (en) 2018-02-22

Similar Documents

Publication Publication Date Title
KR101962458B1 (ko) 인덱스 맵 부호화의 예측자로서 이스케이프 픽셀을 취급하는 방법
KR101943770B1 (ko) 영상 부호화를 위한 팔레트 예측자 신호 방법
US20200336765A1 (en) Method and apparatus for syntax redundancy removal in palette coding
US10390028B2 (en) Methods for palette coding of image and video data
KR101882607B1 (ko) 팔레트 크기 시그널링 및 조건적 팔레트 이스케이프 플래그 시그널링 방법
KR101730249B1 (ko) 이미지 및 비디오 코딩을 위한 팔렛트 인덱스 시그널링 방법
KR101982829B1 (ko) 팔레트 테이블 예측 및 시그널링을 위한 방법과 장치
EP3248377B1 (en) Method and apparatus for palette predictor initialization for palette coding in video and image compression
CN107251555B (zh) 编解码视频数据的方法和装置
KR102152239B1 (ko) 비디오 및 이미지 압축에서의 인덱스 맵 코딩을 위한 방법 및 장치
CN106797471A (zh) 使用一般化复制之前模式的颜色索引编码方法

Legal Events

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