KR101943770B1 - 영상 부호화를 위한 팔레트 예측자 신호 방법 - Google Patents

영상 부호화를 위한 팔레트 예측자 신호 방법 Download PDF

Info

Publication number
KR101943770B1
KR101943770B1 KR1020177000780A KR20177000780A KR101943770B1 KR 101943770 B1 KR101943770 B1 KR 101943770B1 KR 1020177000780 A KR1020177000780 A KR 1020177000780A KR 20177000780 A KR20177000780 A KR 20177000780A KR 101943770 B1 KR101943770 B1 KR 101943770B1
Authority
KR
South Korea
Prior art keywords
palette
current
encoding
mode
index
Prior art date
Application number
KR1020177000780A
Other languages
English (en)
Other versions
KR20170016973A (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
Family has litigation
First worldwide family litigation filed litigation Critical https://patents.darts-ip.com/?family=54934890&utm_source=google_patent&utm_medium=platform_link&utm_campaign=public_patent_search&patent=KR101943770(B1) "Global patent litigation dataset” by Darts-ip is licensed under a Creative Commons Attribution 4.0 International License.
Application filed by 에이치에프아이 이노베이션 인크. filed Critical 에이치에프아이 이노베이션 인크.
Publication of KR20170016973A publication Critical patent/KR20170016973A/ko
Application granted granted Critical
Publication of KR101943770B1 publication Critical patent/KR101943770B1/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/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/103Selection of coding mode or of prediction mode
    • H04N19/11Selection of coding mode or of prediction mode among a plurality of spatial predictive coding modes
    • 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/12Selection from among a plurality of transforms or standards, e.g. selection between discrete cosine transform [DCT] and sub-band transform or selection between H.263 and H.264
    • H04N19/122Selection of transform size, e.g. 8x8 or 2x4x8 DCT; Selection of sub-band transforms of varying structure or type
    • 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/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/42Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by implementation details or hardware specially adapted for video compression or decompression, e.g. dedicated software implementation
    • H04N19/423Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by implementation details or hardware specially adapted for video compression or decompression, e.g. dedicated software implementation characterised by memory arrangements
    • H04N19/426Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by implementation details or hardware specially adapted for video compression or decompression, e.g. dedicated software implementation characterised by memory arrangements using memory downsizing methods
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/44Decoders specially adapted therefor, e.g. video decoders which are asymmetric with respect to the encoder
    • 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/60Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding
    • H04N19/625Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding using discrete cosine transform [DCT]

Abstract

영상 부호화 시스템에서 생성되는 팔레트 부호화와 관련된 구문을 부호화하는 방법이 개시된다. 일 실시형태에 따르면, 현재 블록 크기가 미리 규정된 블록 크기에 대하여 체크된다. 만일 현재 블록 크기가 미리 규정된 블록 크기보다 더 크면, 현재 부호화 모드는 팔레트 부호화 모드를 배제한 부호화 그룹으로부터 선택된다. 만일 현재 블록 크기가 미리 규정된 블록 크기 이하이면, 현재 부호화 모드는 팔레트 부호화 모드를 포함한 부호화 그룹으로부터 선택된다. 다른 실시형태로서, 만일 현재 블록 크기가 최대 변환 크기보다 더 크면, 현재 부호화 모드는 팔레트 부호화 모드를 배제한 부호화 그룹으로부터 선택된다. 만일 현재 블록 크기가 최대 변환 크기 이하이면, 현재 부호화 모드는 팔레트 부호화 모드를 포함한 부호화 그룹으로부터 선택된다.

Description

영상 부호화를 위한 팔레트 예측자 신호 방법{METHOD OF PALETTE PREDICTOR SIGNALING FOR VIDEO CODING}
관련 출원에 대한 교차 참조
본 출원은 2014년 6월 20일자 출원된 미국 가특허 출원 제62/014,959호, 2014년 12월 2일자 출원된 미국 가특허 출원 제62/086,319호, 2015년 1월 27일자 출원된 미국 가특허 출원 제62/108,165호, 2015년 1월 30일자 출원된 미국 가특허 출원 제62/109,830호, 2015년 1월 30일자 출원된 미국 가특허 출원 제62/109,836호 및 2015년 2월 3일자 출원된 미국 가특허 출원 제62/111,140호에 대하여 우선권을 주장한다. 상기 미국 가특허 출원들은 인용에 의해 그 전부가 본원에 통합된다.
기술 분야
본 발명은 영상 데이터의 팔레트 부호화에 관한 것이다. 특히 본 발명은 부호화 효율을 개선하기 위한 팔레트 크기 시그널링, 시스템 복잡성을 줄이기 위한 최대 부호화 단위 크기 제한, 런 타입에 대한 단순화한 콘텍스트 적응 부호화, 및 팔레트 부호화에서의 단순화한 중복성 제거를 포함한 긱종 기술에 관한 것이다.
고효율 영상 부호화(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 구획(partition)에 따라 하나 이상의 예측 단위로 추가로 분할된다. 화면 내용 부호화를 위한 몇 가지 부호화 툴이 개발되었다. 본 발명과 관련된 이러한 툴에 대하여 이하에서 간단히 설명한다.
팔레트 부호화
HEVC 범위 확장(RExt)의 개발 중에, 팔레트 기반 부호화를 다루기 위한 몇 가지 제안이 있었다. 예를 들면, 팔레트 예측 및 공유 기술은 JCTVC-N0247(2013년 7월 25일부터 8월 2일까지 오스트리아 비엔나에서 개최된 ITU-T SG 16 WP 3 및 ISO/IEC JTC 1/SC 29/WG 11의 영상 부호화에 대한 합동 협력팀(JCT-VC)의 14차 회의에서 구오(Guo) 등이 "RCE3: 화면 내용 부호화를 위한 팔레트 모드에서 테스트 3.1의 결과"(RCE3: Results of Test 3.1 on Palette Mode for Screen Content Coding)의 명칭으로 발표한 문서 JCTVC-N0247) 및 JCTVC-O0218(2013년 10월 23일부터 11월 1일까지 스위스 제네바에서 개최된 ITU-T SG 16 WP 3 및 ISO/IEC JTC 1/SC 29/WG 11의 영상 부호화에 대한 합동 협력팀(JCT-VC)의 15차 회의에서 구오(Guo) 등이 "HM-12.0+RExt-4.1에서 팔레트 모드 부호화의 평가"(Evaluation of Palette Mode Coding on HM-12.0+RExt-4.1)의 명칭으로 발표한 문서 JCTVC-O0218)에 개시되어 있다. JCTVC-N0247 및 JCTVC-O0218에서, 각각의 색 성분의 팔레트가 구성되고 전송된다. 팔레트는 비트레이트를 줄이기 위해 그 좌측의 이웃 CU로부터 예측(또는 공유)될 수 있다. 그 다음에, 주어진 블록 내의 모든 픽셀들이 그들의 팔레트 인덱스를 이용하여 부호화된다. JCTVC-N0247에 따른 인코딩 처리의 예가 다음과 같이 나타난다.
1. 팔레트의 전송: 색 인덱스 테이블(팔레트 테이블이라고도 부름) 크기가 먼저 전송되고 그 다음에 팔레트 요소(즉, 색 값(color value))들이 전송된다.
2. 픽셀 값의 전송: CU 내의 픽셀들이 래스터 스캔 순으로 인코딩된다. 하나 이상 픽셀들의 각 그룹에 대하여, 런(run) 기반 모드의 플래그가 먼저 전송되어 "인덱스 복사 모드"가 사용되는지 또는 "상측 복사 모드"가 사용되는지 표시한다.
2.1 "인덱스 복사 모드(Copy index mode)": 인덱스 복사 모드에서, 팔레트 인덱스가 먼저 신호되고 그 다음에 런 값을 표시하는 "팔레트 런"(palette_run)(예를 들면, M)이 신호된다. 용어 '팔레트 런'은 이 명세서에서 '픽셀 런'(pixel_run)이라고도 또한 부를 수 있다. 런 값은 총 M개의 샘플이 모두 인덱스 복사 모드를 이용하여 부호화되는 것을 표시한다. 현재 위치와 다음의 M개의 위치는 비트스트림으로 신호된 것과 동일한 팔레트 인덱스를 갖기 때문에 상기 현재 위치와 다음의 M개의 위치에 대하여 추가의 정보를 전송할 필요가 없다. 팔레트 인덱스(예를 들면, i)는 또한 3개의 색 성분 모두에 의해 공유되고, 이것은 YUV 색 공간의 경우에 재구성된 픽셀 값이 (Y. U. V) = (paletteY[i], paletteU[i], paletteV[i])임을 의미한다.
2.2 "상측 복사 모드(Copy above mode)": "상측 복사 모드"에서, 다음의 N개의 위치(현재 위치를 포함함)에 대하여 팔레트 인덱스가 상측 행에 있는 대응하는 팔레트 인덱스와 동일하다는 것을 표시하기 위해 값 "복사 런"(copy_run)(예를 들면, N)이 전송된다.
3. 나머지의 전송: 스테이지 2에서 전송된 팔레트 인덱스는 픽셀 값으로 다시 변환되고 예측으로서 사용된다. 나머지 정보는 HEVC 잔여 부호화를 이용하여 전송되고 재구성을 위한 예측에 추가된다.
"인덱스 복사 모드"와 "상측 복사 모드"는 둘 다 이 명세서에서 팔레트 인덱스 부호화를 위한 복사 모드로서 인용된다. 그 외에, 팔레트 모드는 이하의 설명에서 팔레트 부호화 모드로서 또한 인용된다.
JCTVC-N0247에서, 각 성분의 팔레트가 구성되고 전송된다. 팔레트는 비트레이트를 줄이기 위해 그 좌측의 이웃 CU로부터 예측(공유)될 수 있다. JCTVC-O0218에서, 팔레트의 각 요소는 3개의 색 성분의 특수 조합을 표시하는 3개 한벌(triplet)이다. 또한, CU 전역에서 팔레트의 예측 부호화는 제거된다.
JCTVC-O0218과 유사한 다른 팔레트 부호화 기술이 또한 개시되었다. 좌측 CU로부터 전체 팔레트 테이블을 예측하는 대신에, 팔레트 내의 개별적인 팔레트 색 엔트리가 상측 CU 또는 좌측 CU 내의 정확한 대응하는 팔레트 색 엔트리로부터 예측된다.
픽셀 팔레트 인덱스 값의 전송을 위해, 예측 부호화 방법이 JCTVC- O0182(2013년 10월 23일부터 11월 1일까지 스위스 제네바에서 개최된 ITU-T SG 16 WP 3 및 ISO/IEC JTC 1/SC 29/WG 11의 영상 부호화에 대한 합동 협력팀(JCT-VC)의 15차 회의에서 구오(Guo) 등이 "AHG8: 주요 색 기반 화면 내용 부호화"(AHG8: Major-color-based screen content coding)의 명칭으로 발표한 문서 JCTVC-O0182)에 개시된 것처럼 인덱스에 적용된다. 3종의 라인 모드, 즉 수평 모드, 수직 모드 및 정상 모드가 각 인덱스 라인을 부호화하기 위해 사용된다. 수평 모드에서, 동일 라인 내의 모든 인덱스는 동일 값을 갖는다. 만일 값이 상측 픽셀 라인의 제1 픽셀과 동일하면, 라인 모드 시그널링 비트만이 전송된다. 그렇지 않으면 인덱스 값이 또한 전송된다. 수직 모드에서는 현재 인덱스 라인이 상측 인덱스 라인과 동일하다고 표시한다. 그러므로 라인 모드 시그널링 비트만이 전송된다. 정상 모드에서는 라인 내의 인덱스들이 개별적으로 예측된다. 각각의 인덱스 위치에 대하여, 좌측 또는 상측 이웃이 예측자로서 사용되고, 예측 기호가 디코더에 전송된다.
또한, 픽셀들은 JCTVC-O0182에 따라서 주요 색 픽셀(팔레트 색을 지시하는 팔레트 인덱스를 가짐)과 이스케이프 픽셀(escape pixel)로 분류된다. 주요 색 픽셀에 대하여, 픽셀 값이 디코더 측의 주요 색 인덱스(즉, 팔레트 인덱스) 및 팔레트 테이블에 따라 재구성된다. 이스케이프 픽셀에 대하여, 픽셀 값이 비트스트림으로 추가로 신호된다.
팔레트 테이블 시그널링
화면 내용 부호화(screen content coding, SCC) 표준의 참조 소프트웨어인 SCM-2.0(2014년 7월 일본 삿포로에서 개최된 ITU-T SG 16 WP 3 및 ISO/IEC JTC 1/SC 29/WG 11의 영상 부호화에 대한 합동 협력팀(JCT-VC)의 18차 회의에서 죠시(Joshi) 등이 "화면 내용 부호화 테스트 모델 2(SCM 2)"(Screen content coding test model 2(SCM 2))의 명칭으로 발표한 문서 번호 JCTVC-R1014)에서, 개선된 팔레트 방식은 JCTVC-R0348(2014년 7월 일본 삿포로에서 개최된 ITU-T SG 16 WP 3 및 ISO/IEC JTC 1/SC 29/WG 11의 영상 부호화에 대한 합동 협력팀(JCT-VC)의 18차 회의에서 오노(Onno) 등이 "런 기반 팔레트 모드에 대한 제안된 결합형 소프트웨어 및 텍스트"(Suggested combined software and text for run-based palette mode)의 명칭으로 발표한 문서 번호 JCTVC-R0348)에 통합된다. 이전의 팔레트 부호화된 CU의 팔레트 테이블은 현재 팔레트 테이블 부호화를 위한 예측자로서 사용된다. 팔레트 테이블 부호화에 있어서, 현재 팔레트 테이블은 이전 부호화된 팔레트 테이블(팔레트 예측자) 내의 어떤 팔레트 색을 재사용할 것인지 선택함으로써, 또는 새로운 팔레트 색을 전송함으로써 신호된다. 현재 팔레트의 크기는 예측된 팔레트의 크기(즉, numPredPreviousPalette) 더하기 전송된 팔레트의 크기(즉, num_signalled_palette_entries)로서 설정된다. 예측된 팔레트는 이전에 재구성된 팔레트 부호화 CU로부터 도출된 팔레트이다. 현재 CU를 팔레트 모드로서 부호화할 때, 예측된 팔레트를 이용하여 예측되지 않은 팔레트 색은 비트스트림으로 직접 전송된다(즉, 신호된 엔트리).
팔레트 갱신의 예를 이하에서 설명한다. 이 예에서 현재 CU는 6과 같은 팔레트 크기를 가진 팔레트 모드로서 부호화된다. 6개의 주요 색 중 3개가 팔레트 예측자로부터 예측되고(numPredPreviousPalette = 3), 다른 3개가 비트스트림을 통하여 직접 전송된다. 전송된 3개의 색은 아래에 나타낸 예시적인 구문을 이용하여 신호될 수 있다.
Figure 112017003088270-pct00001
팔레트 크기가 이 예에서 6이므로, 팔레트 색 테이블의 주요 색 엔트리를 표시하기 위해 0-5의 팔레트 인덱스가 사용된다. 3개의 예측된 팔레트 색은 인덱스 0-2로 표시된다. 따라서, 3개의 새로운 팔레트 엔트리가 인덱스 3-5에 대하여 전송된다.
SCM-2.0에서, 만일 파면 병렬 처리(wavefront parallel processing, WPP)가 적용되지 않으면, 팔레트 예측자 테이블은 각 슬라이스의 시작부에서 또는 각 타일의 시작부에서 초기화(리세트)된다. 만일 WPP가 적용되면, 최종 부호화된 팔레트 테이블이 각 슬라이스의 시작부에서 또는 각 타일의 시작부에서 초기화(리세트)될 뿐만 아니라 각 CTU 행의 시작부에서 초기화(리세트)된다.
파면 병렬 처리( WPP )
HEVC에서, WPP가 지원되고, 여기에서 부호화 트리 단위(CTU)의 각 행은 복수의 인코딩 또는 디코딩 스레드에 의해 서브스트림으로서 병렬로 처리될 수 있다. 부호화 효율의 저하를 제한하기 위해, 처리 순서의 파면 패턴은 공간 이웃에 대한 의존성이 변하지 않는 것을 보장한다. 반면에, 각 CTU 행의 시작부에서는 CABAC 상태가 상부 CTU 행에 있는 동기화 지점의 CABAC 상태에 기초하여 초기화된다. 예를 들면, 동기화 지점은 도 1에 도시된 것처럼 상부 CTU 행으로부터 제2 CTU의 최종 CU일 수 있고, 이 지점에서 병렬 처리가 CTU 행에 적용된다. 또한, 이 예에서 각각의 현재 CTU(도 1에서 "X"로 표시됨)의 팔레트 부호화는 그 좌측, 상측-좌측, 상측 및 상측-우측 CTU에 의존하는 것으로 추정한다. 최상부(top) CTU 행의 경우에 팔레트 처리는 좌측 CTU에만 의존한다. 더욱이, CABAC 엔진은 각 CTU 행의 끝에서 플러시(flush)되고 바이트 정렬이 각 서브프트림의 끝에서 시행된다. WPP 서브스트림의 엔트리 지점은 파면을 포함한 슬라이스의 슬라이스 헤더에서 바이트 오프셋으로서 신호된다.
도 1에서, 각 블록은 하나의 CTU를 나타내고 화상에 4개의 CTU 행이 있다. 각 CTU 행은 인코딩 또는 디코딩 스레드에 의해 독립적으로 처리될 수 있는 파면 서브스트림을 형성한다. "X" 기호는 복수의 스레드에 대하여 처리 중인 현재 CTU를 표시한다. 현재 CTU가 상측-우측 CTU에 대해 의존성을 갖기 때문에, 현재 CTU의 처리는 상측-우측 CTU의 완료를 기다려야 한다. 그러므로 데이터 의존성(예를 들면, 공간 픽셀 및 모션 벡터(MV))가 보전될 수 있도록 이웃 CTU 행의 2개의 처리 스레드 사이에는 2개의 CTU 지연이 있어야 한다. 또한, 각 CTU 행의 제1 CTU의 CABAC 상태는 상부 CTU 행의 제2 CTU가 처리된 후에 획득된 상태로 초기화된다. 예를 들면, 제2 CTU 행에서 제1 CTU의 제1 CU("p1"으로 표시됨)는 상측 CTU 행의 제2 CTU의 최종 CU("p2"로 표시됨)가 처리된 후에 초기화된다. 의존성은 "p1"으로부터 "p2"까지 지시하는 곡선 화살표 선으로 표시된다. 각 CTU 행의 제1 CTU에 대한 유사한 의존성이 곡선 화살표에 의해 표시된다. 이것은 각 CTU 행에 대하여 슬라이스 초기화 상태를 이용하는 것보다 CTU의 제1 열을 따르는 확률의 더 빠른 학습을 가능하게 한다. 상부 CTU 행의 제2 CTU는 현재 CTU 행에 항상 이용할 수 있기 때문에, 병렬 처리는 이 파면 구조를 이용하여 달성될 수 있다. 각각의 현재 CTU에 대하여 처리는 좌측 CTU에 의존한다. 그러므로 처리는 좌측 CTU의 최종 CU가 처리될 때까지 기다려야 한다. 도 1에 도시된 바와 같이, 현재 CTU의 최초 CU("p3"로 표시됨)는 좌측 CTU의 최종 CU("p4"로 표시됨)가 종료될 때까지 기다려야 한다. 마찬가지로, 의존성은 "p3"로부터 "p4"까지 지시하는 곡선 화살표 선으로 표시된다. 좌측 CTU에 대한 유사한 의존성이 처리되는 CTU("X"로 표시됨)에 대하여 곡선 화살표로 표시된다.
인트라 블록 복사
인트라 블록 복사(Intra-block copy, IntraBC)라고 부르는 새로운 인트라 부호화 모드가 사용되었다. IntraBC 기술은 2013년 4월 18-26일에 한국의 인천에서 개최된 ITU-T SG 16 WP 3 및 ISO/IEC JTC 1/SC 29/WG 11의 영상 부호화에 대한 합동 협력 팀(JCT-VC)의 13차 회의에서 'AHG8: 인트라 모션 보상을 이용한 영상 부호화'(AHG8: Video coding using Intra motion compensation)의 명칭으로 발표된 문서 JCTVC-M0350(이하, JCTVC-M0350이라고 부름)에서 부다가비(Budagavi)에 의해 최초로 제안되었다. JCTVC-M0350에 따른 예는 도 2에 도시되어 있고, 여기에서는 현재 부호화 단위(CU)(210)가 인트라 모션 보상(motion compensation, MC)을 이용하여 부호화된다. 예측 블록(220)은 현재 CU 및 변위 벡터(212)로부터 위치 지정된다. 이 예에서, 검색 구역은 현재 CTU(부호화 트리 단위), 좌측 CTU 및 좌측-좌측 CTU로 제한된다. 예측 블록은 이미 재구성된 영역으로부터 획득된다. 그 다음에, 변위 벡터(즉, MV) 및 현재 CU에 대한 잔여(residual)가 부호화된다. HEVC가 영상 데이터를 부호화하기 위한 기본 단위로서 CTU 및 CU 블록 구조를 채용하는 것은 잘 알려져 있다. 각각의 화상은 복수의 CTU로 나누어지고, 각각의 CTU는 복수의 CU로 회귀적으로 나누어진다. 예측 단계에서, 각각의 CU는 예측 처리를 수행하기 위해 예측 단위(prediction unit, PU)라고 부르는 복수의 블록으로 나누어질 수 있다. 예측 잔여가 각각의 CU에 대하여 형성된 후, 각각의 CU와 관련된 잔여는 변환(예를 들면, 이산 코사인 변환(DCT))을 적용하기 위해 변환 단위(transform unit, TU)라고 부르는 복수의 블록으로 나누어진다.
JCTVC-M0350에서, 인트라 MC는 적어도 하기의 구역에서 인터 예측을 위해 사용되는 모션 보상과 상이하다.
ㆍ MV는 인터 예측이 2-D 모션 추정을 이용하는 동안 인트라 MC의 1-D(즉, 수평 또는 수직)로 제한된다. MV는 인트라 복사 예측을 위한 블록 벡터(BV)라고도 부른다.
ㆍ 이진화는 인터 예측이 지수 골롬(exponential-Golomb)을 이용하는 동안 인트라 MC에 대하여 길이가 고정된다.
ㆍ 인트라 MC는 MV가 수평인지 수직인지를 신호하기 위해 새로운 구문 요소를 도입한다.
JCTVC-M0350에 기초해서, 일부 수정이 2013년 7월 25일부터 8월 2일까지 오스트리아의 비엔나에서 개최된 ITU-T SG 16 WP 3 및 ISO/IEC JTC 1/SC 29/WG 11의 영상 부호화에 대한 합동 협력 팀(JCT-VC)의 14차 회의에서 '비-RCE3: 2-D MV에 의한 인트라 모션 보상'(Non-RCE3: Intra motion compensation with 2-D MVs)의 명칭으로 발표된 문서 JCTVC-N0256(이하, JCTVC-N0256이라고 부름)에서 팡(Pang) 등에 의해 개시되어 있다. 먼저, 인트라 MC는 2-D MV를 지원하도록 확장되고, 그래서 양측의 MV 성분이 동시에 0이 아닐 수 있다. 이것은 본래 접근법보다 인트라 MC에 대하여 더 많은 융통성을 제공하고, 이때 MV는 엄격하게 수평 또는 수직으로 제한된다.
JCTVC-N0256에서는 2개의 MV 부호화 방법이 개시되어 있다.
ㆍ 방법 1- 모션 벡터 예측. 좌측 또는 상측 MV가 MV 예측자(predictor)로서 선택되고 결과적인 모션 벡터 차(motion vector difference, MVD)가 부호화된다. 플래그를 이용하여 MVD가 0인지 표시한다. MVD가 0이 아니면 제3차의 지수 골롬 코드를 이용하여 MVD의 나머지 절대 레벨를 부호화한다. 다른 플래그는 부호(sign)를 부호화하기 위해 사용된다.
ㆍ 방법 2: 비 모션 벡터 예측. MV는 HEVC에서 MVD에 대하여 사용된 지수 골롬 코드를 이용하여 부호화된다.
JCTVC-N0256에 개시되어 있는 다른 차이는 2-D 인트라 MC가 파이프라인 친화적 접근법으로 추가로 결합되는 것이다.
1. 보간 필터를 사용하지 않는다.
2. MV 검색 구역이 제한된다. 2개의 경우가 개시되어 있다.
a. 검색 구역은 현재 CTU와 좌측 CTU이다. 또는
b. 검색 구역은 현재 CTU, 및 좌측 CTU의 최우측 4열 샘플이다.
JCTVC-N0256의 제안된 방법들 중에서, 2-D 인트라 MC, 보간 필터의 제거, 및 현재 CTU와 좌측 CTU에 대한 검색 구역 제한(constraint)은 신 버전 드래프트 표준에서 채용되었다. JCTVC-N0256에 대응하는 CU 레벨 구문이 '고효율 영상 부호화(HEVC) 범위 확장 텍스트 명세서: 드래프트 4(RExt Draft 4)'(High Efficiency Video Coding(HEVC) Range Extension text specification: Draft 4(RExt Draft 4))(2013년 7월 25일부터 8월 2일까지 오스트리아의 비엔나에서 개최된 ITU-T SG 16 WP 3 및 ISO/IEC JTC 1/SC 29/WG 11의 영상 부호화에 대한 합동 협력 팀(JCT-VC)의 14차 회의에서 플라인(Flynn) 등이 발표한 문서 JCTVC-N1005)에 통합되었다.
또한, 전프레임(full-frame) IntraBC가 JCTVC-Q0031(2014년 3월 27일부터 4월 4일까지 스페인의 발렌시아에서 개최된 ITU-T SG 16 WP 3 및 ISO/IEC JTC 1/SC 29/WG 11의 영상 부호화에 대한 합동 협력 팀(JCT-VC)의 17차 회의에서 '퀄컴에 의한 화면 내용 부호화 기술 제안의 드래프트 텍스트'(Draft text of screen content coding technology proposal by Qualcomm)의 명칭으로 발표된 문서 JCTVC-Q0031) 및 JCTVC-Q0035(2014년 3월 27일부터 4월 4일까지 스페인의 발렌시아에서 개최된 ITU-T SG 16 WP 3 및 ISO/IEC JTC 1/SC 29/WG 11의 영상 부호화에 대한 합동 협력 팀(JCT-VC)의 17차 회의에서 '마이크로소프트에 의한 화면 내용 부호화 기술 제안의 설명'(Description of screen content coding technology proposal by Microsoft)의 명칭으로 발표된 문서 JCTVC-Q0035)에 개시되어 있다. 전프레임 IntraBC는 검색 구역 제한을 제거하여 IntraBC의 부호화 효율을 더욱 개선한다. 그러므로 모든 재구성된 블록은 현재 CU에 의해 참조될 수 있고, 이것은 현재 CU와 이전의 모든 부호화 CU 간에 데이터 의존성을 도입한다. 비록 전프레임 IntraBC가 본래 IntraBC를 능가하지만, 이 데이터 의존성은 특히 HEVC에서 타일 처리 또는 파면 병렬 처리(WPP)를 가능하게 하기 위해 디코딩 처리 중에 병렬 처리의 사용을 금지한다.
팔레트 인덱스 맵 스캔 순서
SCM-2.0 팔레트 모드 부호화에서는 도 3에 도시된 바와 같이 인덱스 맵 부호화를 위해 트래버스 스캔(traverse scan)을 이용한다. 도 3은 8x8 블록에 대한 트래버스 스캔을 도시한다. 트래버스 스캔에서 스캔 순서가 수평일 때 짝수 행에 대한 스캔은 좌측으로부터 우측으로 행하여지고 홀수 행에 대한 스캔은 우측으로부터 좌측으로 행하여진다. 트래버스 스캔은 수직 방향으로 또한 적용될 수 있고, 이때 스캔은 짝수 열에 대하여 최상부로부터 최하부로 및 홀수 열에 대하여 최하부로부터 최상부로 행하여진다. 트래버스 스캔은 팔레트 모드의 모든 블록 크기에 대하여 적용된다.
부호화 효율을 더욱 개선하거나 또는 팔레트 모드에서 생성된 구문 요소에 대한 복잡성을 낮추기 위한 방법을 개발하는 것이 요망된다.
부호화 효율을 개선하거나 또는 영상 부호화 시스템에서 생성되는 팔레트 부호화와 관련된 구문의 복잡성을 낮추기 위한 방법이 개시된다. 본 발명의 일 실시형태에 따르면, 현재 블록 크기가 미리 규정된 블록 크기에 대하여 체크된다. 만일 현재 블록 크기가 미리 규정된 블록 크기보다 더 크면, 현재 부호화 모드가 팔레트 부호화 모드를 배제한 제1 부호화 그룹으로부터 선택된다. 만일 현재 블록 크기가 미리 규정된 블록 크기 이하이면, 현재 부호화 모드는 팔레트 부호화 모드를 포함한 제2 부호화 그룹으로부터 선택된다. 그 다음에 현재 블록이 선택된 현재 부호화 모드에 따라 인코딩 또는 디코딩된다. 미리 규정된 블록 크기는 32x32 또는 최대 변환 단위 크기에 대응할 수 있다. 현재 블록 크기가 미리 규정된 블록 크기보다 더 큰 경우에는 현재 부호화 단위에 대하여 팔레트 부호화 모드가 사용되지 않는다는 것을 표시하기 위해 팔레트 모드 플래그가 0이 되는 것으로 추론될 수 있다. 팔레트 모드 플래그는 또한 명시적으로 전송되는 대신에 현재 부호화 단위에 대하여 팔레트 부호화 모드가 사용되지 않는다는 것을 표시하기 위해 0이도록 제한될 수 있다. 일 실시형태에 있어서, 만일 팔레트 부호화 모드가 현재 부호화 단위에 대하여 사용되지 않고 현재 부호화 단위가 미리 규정된 블록 크기보다 더 크다고 팔레트 모드 플래그가 표시하면, 현재 부호화 단위는 미리 규정된 블록 크기와 크기가 동일한 복수의 블록으로 나누어지고, 각 블록은 팔레트 부호화 모드에 의해 부호화된다. 각 블록은 개별적인 팔레트 부호화 구문을 이용할 수 있다.
또 다른 실시형태에 있어서, 팔레트 관련 크기는 K차 지수 골롬 코드를 포함한 코드를 이용하여 더 효율적으로 부호화된다. 팔레트 관련 크기는 팔레트 예측자의 주요 색을 재사용하는 현재 팔레트 테이블 내 주요 색의 제1 개수를 표시하는 재사용된 주요 색 크기, 팔레트 예측자에 의해 예측되지 않은 현재 팔레트 테이블 내 주요 색의 제2 개수를 표시하는 새로운 주요 색 크기, 또는 현재 블록에 존재하는 주요 색의 제3 개수를 표시하는 총 주요 색 크기에 대응할 수 있다. 팔레트 관련 크기는 재사용된 주요 색 크기, 새로운 주요 색 크기 및 총 주요 색 크기의 조합에 대응할 수 있다. 팔레트 관련 크기는 하나의 K차 지수 골롬 코드, 하나의 K차 지수 골롬 코드 더하기 하나의 일진법 코드, 또는 하나의 K차 지수 골롬 코드 더하기 하나의 절단(truncated) 일진법 코드에 따라 이진화 팔레트 관련 크기를 생성하도록 이진화된다. 그 다음에 상기 이진화 팔레트 관련 크기에 엔트로피 부호화를 적용하여 부호화 팔레트 관련 크기를 생성한다. K는 0, 1, 2 또는 3에 대응할 수 있다. 상기 하나의 절단 일진법 코드의 비트의 최대수는 1, 2 또는 3에 대응할 수 있다. 이진화 팔레트 관련 크기의 빈(bin)의 일부는 콘텍스트 적응 부호화를 이용하여 부호화될 수 있다. 만일 팔레트 관련 크기가 재사용된 주요 색 크기에 대응하면, 최초 N개의 재사용 플래그에 대응하는 최초 N 비트가 현재 팔레트 내 주요 색의 제1 개수를 감소시키도록 인코딩될 수 있고, 이때 N은 양의 정수이다. 또한, 이진화 팔레트 관련 크기를 생성하기 위한 팔레트 관련 크기의 이진화는 가능한 최대 팔레트 크기에 따라 적응적으로 수행될 수 있다. 디코더 측에 대한 유사한 처리가 또한 개시된다.
또 다른 실시형태에 있어서, 단일 콘텍스트에 의한 콘텍스트 적응 부호화가 팔레트 런 타입을 부호화하기 위해 사용된다. 만일 현재 픽셀이 복사 모드에서 부호화되면, 현재 픽셀에 대한 팔레트 런 타입이 결정되고, 이때 팔레트 런 타입은 상측 복사 모드 또는 인덱스 복사 모드에 대응한다. 그 다음에 팔레트 런 타입이 현재 픽셀 위에 위치된 임의의 이전에 부호화된 픽셀과 연관된 임의의 이전에 부호화된 팔레트 런 타입에 대한 의존성 없이 단일 콘텍스트에 의한 콘텍스트 적응 엔트로피 부호화를 이용하여 인코딩된다. 디코더 측에 대한 유사한 처리가 또한 개시된다.
또 다른 실시형태에 있어서, 중복성 인덱스 제거가 스캔 순서로 이전 픽셀에 대응하는 복사 모드에 의존하여 적응적으로 수행된다. 만일 이전 픽셀이 인덱스 복사 모드이면, 이전 픽셀 인덱스에 대응하는 중복 인덱스가 팔레트 집합으로부터 제거되어 갱신된 팔레트 집합을 형성한다. 만일 이전 픽셀이 상측 복사 모드이면, 중복 인덱스 제거를 생략(skip)하고 팔레트 집합이 중복성 제거 없이 갱신된 팔레트 집합으로서 사용된다. 현재 픽셀의 현재 인덱스는 갱신된 팔레트 집합에 따라 인코딩 또는 디코딩된다.
도 1은 4개의 부호화 트리 단위(CTU) 행을 가진 예시적인 파면 병렬 처리(WPP)를 보인 도이다.
도 2는 화면 내용 부호화(SCC)를 위한 예시적인 인트라 블록 복사(인트라BC) 부호화 모드를 보인 도이다.
도 3은 짝수 행의 스캔이 좌측으로부터 우측으로 행하여지고 홀수 행의 스캔이 우측으로부터 좌측으로 행하여지는, 8x8 블록에 대한 수평 트래버스 스캔을 보인 도이다.
도 4는 연속 픽셀의 인덱스가 상측 행에 위치된 픽셀의 인덱스로부터 복사되는 상측 복사 모드의 예를 보인 도이다.
도 5는 연속 픽셀의 인덱스뿐만 아니라 픽셀 값이 상측 행에 위치된 픽셀의 인덱스로부터 복사되는 상측 복사 모드의 예를 보인 도이다.
도 6은 인덱스 값이 부호화 단위(CU) 전역에서 복사되는 것을 표시하기 위해 특수 인덱스 값(즉, N)을 지정함으로써 부호화 단위(CU) 전역에서 픽셀들을 복사하기 위한 상측 복사 모드의 예를 보인 도이다.
도 7은 인덱스 0 및 대응하는 픽셀 값을 패딩함으로써 부호화 단위(CU) 전역에서 픽셀들을 복사하기 위한 상측 복사 모드의 예를 보인 도이다.
도 8은 특수 인덱스 N 및 픽셀 값 X를 패딩함으로써 부호화 단위(CU) 전역에서 픽셀들을 복사하기 위한 상측 복사 모드의 예를 보인 도이다.
도 9a는 인덱스 I상측가 이웃 부호화 단위의 상측 픽셀로부터 직접 복사되는 예를 보인 도이다.
도 9b는 상측 픽셀의 인덱스가 이웃 부호화 단위의 상측 픽셀로부터 차례로 복사되는, I상측가 상측 픽셀로부터 복사되는 예를 보인 도이다.
도 10은 짝수 행의 스캔이 좌측으로부터 우측으로 행하여지고 홀수 행의 스캔이 우측으로부터 좌측으로 행하여지는, 64x64 블록에 대한 수평 트래버스 스캔을 보인 도이다.
도 11a는 화살표가 있는 굵은 지그재그 선으로 표시한 바와 같이 상부 좌측, 하부 좌측, 상부 우측 및 그 다음에 하부 우측에 대응하는 4개의 32x32 블록 전역의 스캔 순서의 예를 보인 도이다.
도 11b는 4개의 32x32 블록 전역에서 도 11a에 대응하는 완전한 스캔 패턴을 보인 도이다.
도 12a는 화살표가 있는 굵은 지그재그 선으로 표시한 바와 같이 상부 좌측, 상부 우측, 하부 좌측 및 그 다음에 하부 우측에 대응하는 4개의 32x32 블록 전역의 스캔 순서의 예를 보인 도이다.
도 12b는 4개의 32x32 블록 전역에서 도 12a에 대응하는 완전한 스캔 패턴을 보인 도이다.
도 13a는 도 11b의 스캔 순서에 대한 기하학적 위치 및 스캔 순서에 기초한 상측 샘플 위치 도출의 예를 보인 도이다.
도 13b는 도 12b의 스캔 순서에 대한 기하학적 위치 및 스캔 순서에 기초한 상측 샘플 위치 도출의 예를 보인 도이다.
도 14a는 4개의 32x32 블록 전역에서 수직 먼저의 스캔 순서의 예를 보인 도이다.
도 14b는 4개의 32x32 블록 전역에서 수직 먼저의 스캔 순서 및 각각의 32x32 블록에 대한 수직 래스터 스캔의 예를 보인 도이다.
도 15a는 4개의 32x32 블록 전역에서 수평 먼저의 스캔 순서의 예를 보인 도이다.
도 15b는 4개의 32x32 블록 전역에서 수평 먼저의 스캔 순서 및 각각의 32x32 블록에 대한 수평 래스터 스캔의 예를 보인 도이다.
도 16은 본 발명의 실시형태에 따른 구문 설계를 통합한 구문 파싱의 예시적인 흐름도이다.
도 17은 본 발명의 실시형태에 따른, 각 라인의 제1 인덱스를 부호화하는 예를 보인 도이다.
도 18은 본 발명의 실시형태에 따른 구문 설계를 통합한 구문 파싱의 다른 예시적인 흐름도이다.
도 19a는 인덱스 자체를 신호하는 대신에 인덱스가 상측 인덱스와 동일하다는 것을 표시하기 위해 플래그- 여기에서의 플래그는 상측 픽셀로부터의 인덱스 "3"을 표시함 -를 이용하는 예를 보인 도이다.
도 19b는 인덱스 자체를 신호하는 대신에 인덱스가 상측 인덱스와 동일하다는 것을 표시하기 위해 플래그 - 여기에서의 플래그는 상측 픽셀로부터의 인덱스 "1"을 표시함 - 를 이용하는 예를 보인 도이다.
도 20은 본 발명의 실시형태에 따른 구문 설계를 통합한 구문 파싱의 또 다른 예시적인 흐름도이다.
도 21은 본 발명의 실시형태에 따른 임의 복사 모드의 예를 보인 도이다.
이하에서는 본 발명의 최상으로 예상되는 실행 모드를 설명한다. 이 설명은 본 발명의 일반적인 원리를 예시하기 위한 것이고 제한하는 의도로 해석되지 않아야 한다. 발명의 범위는 첨부된 특허 청구범위를 참고하여 최상으로 결정된다.
본 발명은 이하에서 설명하는 팔레트 부호화에 관한 몇 가지 양태와 관련된다.
팔레트 크기 시그널링
JCTVC-O0218에서 인코더는 재사용된 팔레트 예측자 내 주요 색의 수를 표시하기 위해 재사용 플래그를 먼저 인코딩할 것이다. 그 다음에, 신호되는 새로운 주요 색의 수를 표시하기 위해 새로운 주요 색 크기가 부호화된다. 새로운 주요 색 크기의 수는 일진법 코드 또는 절단 일진법 코드를 이용하여 부호화된다. JCTVC-O0182에서, 총 주요 색 크기의 수는 고정 길이 코드를 이용하여 부호화된다.
그러나 일진법 코드, 절단 일진법 코드 및 고정 길이 코드의 이진화 방법은 효율적이지 않다. 그러므로 K차 지수 골롬 코드, 절단 K차 지수 골롬 코드, 일진법 코드 더하기 K차 지수 골롬 코드, 또는 절단 일진법 코드 더하기 K차 지수 골롬 코드가 새로운 주요 색 크기의 수, 팔레트 예측자 내의 재사용된 주요 색 크기의 수, 총 주요 색 크기 또는 이들의 임의 조합과 같은 팔레트 관련 크기의 이진화를 위해 본 발명의 실시형태에 따라 사용된다.
예를 들면, 이진화는 표 1에 나타낸 바와 같이 3비트의 최대 길이를 가진 절단 일진법(truncated unary, TU) 코드 더하기 3과 같은 K를 가진 K차 지수 골롬 코드(즉, EG-3 코드)를 이용할 수 있다.
[표 1]
Figure 112017003088270-pct00002
표 1의 예에서 K는 3과 같지만, K는 본 발명의 실시형태에 따라서 0, 1, 2, 3 또는 4일 수 있다. 반면에, TU 코드의 최대 길이는 본 발명의 실시형태에 따라서 0, 1, 2 또는 3일 수 있다. 이진화 팔레트 관련 크기의 빈(bin)의 일부는 콘텍스트에 의해 부호화될 수 있다. 예를 들면, 최초 3개의 빈이 콘텍스트에 의해 부호화될 수 있다.
주요 색 크기의 수는 부호화를 위해 M으로 나누어질 수 있다. 예를 들어서 만일 주요 색 크기가 17이고 M이 4이면, 부호화된 크기는 ceil(17/4) = 5이고, 여기에서 ceil()은 올림 함수에 대응한다.
예측자 내 재사용 플래그 중의 일부는 항상 직접 부호화될 수 있다. 예를 들면, 최초 N개의 재사용 플래그에 대응하는 최초 N(예를 들면, 4) 비트는 런렝스 부호화 대신에 직접 부호화될 수 있다. 그러므로 재사용 플래그의 수가 감소될 수 있다.
이진화 코드워드는 가능한 최대 크기에 따라 적응적으로 변화될 수 있다. 예를 들어서 만일 최대 크기가 3이면, TU 코드의 3 비트가 적당할 것이다. 이 경우에는 EG-K 코드가 필요 없고 EG-K 부분은 생략할 수 있다.
상측 픽셀 또는 이웃 CU 픽셀( NCP ) 로부터의 예측
SCM 2.0에서, 픽셀이 '복사 런'(copy_run) 구문에 의해 신호될 때, 도 4에 도시된 것처럼 상측 픽셀의 인덱스 값을 복사하고 그 인덱스 값을 이용할 것이다. 재구성된 픽셀 값은 표 2에 나타낸 팔레트로부터 도출될 것이다.
[표 2]
Figure 112017003088270-pct00003
본 발명의 실시형태에 따르면, 픽셀이 '복사 런' 구문의 시그널링에 의해 부호화된 때, 그 픽셀은 도 5에 도시된 바와 같이 상측 픽셀의 픽셀 인덱스뿐만 아니라 상측 픽셀의 픽셀 값도 복사할 것이다. 디코더는 팔레트를 참조하지 않고 상기 복사된 픽셀 값으로부터 '복사 런' 모드로 픽셀을 재구성할 수 있다.
다른 실시형태에 따르면, 파싱 단계 중에 '복사 런'(상측 복사)에 의해 커버되는 모든 지점에 특수 기호(예를 들면, "A")가 지정될 수 있다. 그 다음에, 재구성 단계에서, 디코더가 "A"를 만날 때마다 디코더는 상측으로부터 픽셀 값을 복사한다.
또한, '인덱스 런'(index_run)의 픽셀 값은 관련 인덱스 없이 직접 신호될 수 있다. 이 경우에는 팔레트 테이블 및 이 팔레트 테이블과 관련된 다른 정보를 부호화할 필요가 없다.
만일 상측 픽셀이 CU 경계를 넘어서 다른 CU로부터 오면, 본 발명에 따른 실시형태는 N으로서 표시되는 이웃 CU 픽셀(NCP)에 대한 특수 인덱스를 지정한다. 픽셀이 '복사 런' 구문에 의해 신호된 때, 그 픽셀은 도 6에 도시된 바와 같이 상측 픽셀의 픽셀 인덱스(N)뿐만 아니라 상측 픽셀의 픽셀 값도 복사할 것이다. 특수 값(N)은 가능한 모든 인덱스 값과 다른 값(예를 들면, 최대 인덱스 값 + 1)일 수 있다.
만일 예측이 좌측 NCP로부터이면, 유사한 방법을 적용할 수 있고 이 경우의 NCP는 좌측 NCP일 것이다.
NCP의 인덱스 및 픽셀 값 패딩
만일 상측 CU가 무효이면, 디코더는 상측 NCP의 인덱스 및 픽셀 값을 미리 규정된 값 또는 도출된 값으로 대체할 수 있다. 대체 방법은 인덱스 복사(예를 들면, 도 4), 값 복사, 및 인덱스와 값 둘 다 복사(예를 들면, 도 5)의 경우에 또한 적용될 수 있다.
디코더 측에 대한 본 발명의 실시형태를 나타내는 일 예가 도 7에 도시되어 있고, 여기에서는 상측 NCP의 인덱스와 픽셀 값이 모두 0과 같고 엔트리에서의 팔레트 색이 각각 0이다.
디코더 측에 대한 본 발명의 실시형태를 나타내는 다른 예가 도 8에 도시되어 있고, 여기에서는 상측 NCP의 인덱스와 픽셀 값이 N과 같고 미리 규정된 또는 도출된 픽셀 값이 도 8에 도시된 것처럼 각각 X이다. 픽셀 값 X는 YUV 포맷에 대하여 (127, 0, 0) 또는 (128, 0, 0)이거나, 또는 YUV 포맷에 대하여 (127, 127, 127) 또는 (128, 128, 128)일 수 있다.
일 실시형태에 있어서, 인코더와 디코더는 상측 인덱스를 가장 빈번하게 생성하는 인덱스로 대체하고 픽셀 값을 대응하는 픽셀 값으로 대체할 수 있다.
중복 인덱스 제거
SCM 2.0에서, 만일 이전 런(즉, 이전 픽셀에 적용된 복사 모드)이 상측 복사 런이면, 현재 픽셀(Pc)은 현재 픽셀이 새로운 인덱스 런의 최초 픽셀일 때 상측 픽셀(Pa)의 인덱스와 동일한 인덱스를 가질 수 없다. 그렇지 않으면, 현재 픽셀은 이전 런에 합병될 것이다. 이 경우에 현재 픽셀의 인덱스(Ic)는 중복성 제거에 의해 부호화될 수 있다. 상측 픽셀(Pa)의 인덱스는 I상측로서 인용되고 이전 픽셀(예를 들면, 좌측 픽셀(Pleft))의 인덱스는 Ileft로서 인용된다. 이전 픽셀은 또한 스캔 방향에 따라 우측 픽셀(수평 스캔), 상측 또는 하측 픽셀(수직 스캔)일 수 있다. 상측 픽셀은 스캔 방향에 따라 현재 픽셀 위의 행에 또는 현재 픽셀 좌측의 열에 있을 수 있다.
본 발명의 실시형태에 따르면, 라인 버퍼 필요조건을 줄이기 위해, 만일 이전 픽셀(예를 들면, 좌측 픽셀(Pleft))이 상측 복사 모드를 이용하여 부호화되고 I상측가 수평 스캔시에 상측 CU로부터 또는 수직 스캔시에 좌측 CU로부터의 것이면, 중복 인덱스 제거가 디스에이블되고, 그래서 상측 픽셀의 인덱스를 저장 및 액세스할 필요가 없다. 다시 말해서, 이전 픽셀이 인덱스 복사 모드를 이용하여 부호화되는 경우에만 이전 픽셀 인덱스에 대응하는 중복 인덱스가 현재 픽셀의 인덱스를 인코딩 또는 디코딩하기 위한 갱신된 팔레트 집합을 형성하기 위해 팔레트 집합으로부터 제거될 것이다. 도 9a는 I상측가 이웃 CU로부터 직접 복사되는 경우를 보인 것이다. 도 9b는 I상측가 상측 픽셀로부터 복사되는 경우를 보인 것이고, 이때 상측 픽셀의 인덱스는 이웃 CU로부터 차례로 복사된다.
일 실시형태에 있어서, Pleft가 상측 복사 모드에서 부호화되고 현재 픽셀이 현재 CU의 최초 N행에 있으면, 중복성 제거가 디스에이블될 것이다.
다른 실시형태에 있어서, Pleft가 상측 복사 모드에서 부호화되면, 인덱스 중복성 제거는 모든 인덱스에 대하여 디스에이블될 것이다.
또 다른 실시형태에 있어서, 중복 인덱스 제거는 Pleft의 모드와 관계없이 모든 인덱스에 대하여 디스에이블될 수 있다.
일 실시형태에 있어서, I상측가 (NCP로부터의) N과 같으면, 중복 인덱스 제거는 Pleft가 상측 복사 모드에서 부호화된 때 디스에이블될 수 있다.
64x64 팔레트 부호화 블록에 대한 서브블록 스캔
SCM-2.0 팔레트 모드에서, 64x64 블록을 포함한 모든 블록 크기에 대하여 트래버스 스캐닝이 적용된다. 64x64 블록의 트래버스 스캔은 도 10에 도시되어 있다.
HEVC에서, 부호화 단위(CU)가 64x64만큼 클 수 있지만, 최대 처리 단위는 단지 32x32일 수 있다. 이것은 최대 변환 단위(TU)가 32x32이고 인트라 또는 인터 모드에서 부호화된 64x64 CU가 계수 및 재구성의 파싱을 위해 4개의 32x32 블록으로 나누어질 수 있기 때문이다. HEVC 디코딩의 경우에는 64x64 버퍼를 사용할 필요가 없다.
그러나 SCM-2.0 팔레트 모드 부호화에서는 인코더 및 디코더에 대하여 64x64 버퍼를 요구하는 64x64 트래버스 스캔이 사용된다. 그러므로 인코더와 디코더는 64x64 블록을 처리할 수 있도록 처리 장치의 처리 능력을 수용할 필요가 있다. 따라서 구현 비용 및 복잡성이 증가한다.
본 발명의 일 실시형태에 있어서, 64x64 트래버스 스캔은 도 11a, 11b 및 도 12a, 12b에 도시된 것처럼 4개의 32x32 트래버스 스캔으로 분할된다. 일 실시형태에 따르면, 64x64 블록은 4개의 32x32 블록으로 나누어지고 4개의 32x32 블록 전역에서 2개의 다른 스캔 패턴은 도 11a 및 도 12a에 각각 도시되어 있다. 도 11a에서, 4개의 32x32 블록 전역에서의 스캔 순서는 화살표가 있는 굵은 지그재그 선으로 표시된 바와 같이 상부 좌측, 하부 좌측, 상부 우측 및 그 다음에 하부 우측이다. 도 12a에서, 4개의 32x32 블록 전역에서의 스캔 순서는 화살표가 있는 굵은 지그재그 선으로 표시된 바와 같이 상부 좌측, 상부 우측, 하부 좌측 및 그 다음에 하부 우측이다. 각각의 32x32 블록에 대하여 32x32 트래버스 스캔이 적용된다. 도 11b는 4개의 32x32 블록 전역에서 도 11a에 대응하는 완전한 스캔 패턴을 보인 것이다. 도 12b는 4개의 32x32 블록 전역에서 도 12a에 대응하는 완전한 스캔 패턴을 보인 것이다. 이 스캔 순서에서 64x64 팔레트 CU는 4개의 32x32 블록으로서 취급될 수 있고 32x32와 동일한 크기를 가진 처리 장치에 맞을 수 있다. 그러므로 단지 32x32 버퍼 및 일부 라인 버퍼만이 요구된다.
'상측 복사 런'(copy_above_run) 모드에 대하여, 상측 샘플 위치는 스캔 순서 위치 또는 기하학적 위치로부터 도출될 수 있다. 만일 상측 샘플 위치가 스캔 순서로부터 도출되면, 상측 샘플의 스캔 인덱스는 현재 스캔 인덱스 빼기 32와 같다. 예를 들면, 현재 픽셀 A에 대하여, 만일 상측 샘플 위치가 스캔 순서로부터 도출되면, 그 상측 샘플 위치는 픽셀 B이다. 만일 상측 샘플 위치가 기하학적 위치로부터 도출되면, 그 상측 샘플 위치는 도 13a, 13b에 도시된 것처럼 픽셀 C이고, 여기에서 도 13a는 도 11b의 스캔 순서에 대응하고 도 13b는 도 12b의 스캔 순서에 대응한다. 더 나아가 혼합 샘플 위치 도출이 적용될 수 있다. 예를 들면, 상부 우측의 32x32 블록의 제1행에 대하여, 그 상측 픽셀을 찾기 위해 스캔 순서 위치 도출을 사용하고 다른 행에 대하여 기하학적 도출을 이용할 수 있다.
현재 샘플에 대하여, 만일 상측 샘플을 이용할 수 없으면, '상측 복사 런' 모드("상측 복사 모드"라고도 부름)가 적용될 수 없다. 예를 들어서 만일 상측 샘플 위치가 기하학적 위치로부터 도출되면, 상부 우측 32x32 블록의 제1행의 팔레트 예측 모드는 '상측 복사 런' 모드일 수 없다.
팔레트 런의 최대수는 제한될 수 있다. 더 나아가 이전 부호화 팔레트 런 모드가 '상측 복사 런'이고 상측 샘플을 이용할 수 없을 때 중복 인덱스 제거는 적용되지 않는다. 도 13b는 이 경우의 예를 보인 것이다. 만일 픽셀 D의 최종 부호화 팔레트 런 모드가 '상측 복사 런'이고 런이 픽셀 E로부터 시작하면, '상측 복사 런'은 픽셀 F에서 종료되어야 한다. 픽셀 E에 대한 팔레트 런의 최대수는 (scan_order_F - scan_order_E)일 수 있다. 픽셀 D의 팔레트 런 모드는 인덱스 런 모드이어야 한다. 픽셀 D에 대하여 중복 인덱스 제거는 그 상측 샘플의 인덱스를 이용할 수 없기 때문에 적용되지 않는다.
서브블록의 크기는 최대 변화 단위(TU) 크기와 정렬될 수 있다. 각 서브블록 스캔은 독립적일 수 있다.
비- 트래버스 (non-traverse) 스캔에 대한 64x64 팔레트 부호화 블록의 서브블록 스캔
트래버스 스캔에 대하여 전술한 서브블록 스캔 및 팔레트 예측자 도출은 래스터 스캔에도 또한 적용될 수 있다. 만일 래스터 스캔이 사용되면, 64x64 블록이 4개의 32x32 블록으로 또한 나누어질 수 있다. 도 11a, 11b, 도 12a, 12b 및 도 13a, 13b에 도시된 각 32x32 블록 내의 스캔 순서는 래스터 스캔으로 변경될 수 있다. 4개의 32x32 블록 전역에서의 스캔 순서는 도 14a에 도시된 것처럼 수직 먼저일 수도 있고 또는 도 15a에 도시된 것처럼 수평 먼저일 수도 있다. 도 14b에서는 수직 래스터 스캔이 각각의 서브블록 내에서 적용되고, 도 15b에서는 수평 래스터 스캔이 각각의 서브블록 내에서 적용된다.
팔레트 부호화를 위한 64x64 CU의 추론된 팔레트 모드 플래그 또는 강제 CU 분할
블록 스캐닝 순서의 불규칙 구조를 회피하기 위해, 팔레트 부호화는 미리 규정된 블록 크기보다 더 큰 크기를 가진 CU의 경우에 생략할 수 있다. 일 실시형태에 있어서, 미리 규정된 블록 크기는 32x32이다. 따라서, 64x64 CU의 경우에는 '팔레트 모드 플래그'(palette_mode_flag)가 시그널링 없이 0으로서 도출된다. 표 3은 예시적인 구문 테이블을 보인 것이고, 여기에서 구문 palette_mode_flag[x0][y0]는 주해(Note) (3-1)에서 조건 (nCbS !=64)로 표시된 바와 같이 블록 크기 64x64인 경우에 생략한다.
[표 3]
Figure 112017003088270-pct00004
다른 실시형태에 있어서, CU 크기가 64x64와 같고 '팔레트 모드 플래그'가 1일 때 현재 CU는 4개의 32x32 팔레트 부호화 블록으로 나누어진다. 각 블록은 팔레트 부호화를 위해 그 개별적 구문을 이용할 수 있다.
또 다른 실시형태에 있어서, 만일 CU 크기가 64x64와 같으면 '팔레트 모드 플래그'가 0으로 제한되도록(즉, 팔레트 모드 오프) 인코더 제한이 부과된다.
팔레트 부호화를 위한 추론된 palette_mode_flag
SCM-2.0 팔레트 모드에서, 64x64 블록을 포함한 모든 블록 크기에 대하여 트래버스 스캔이 적용된다. 64x64 블록의 트래버스 스캔은 도 10에 도시되어 있다.
블록 스캐닝 순서의 불규칙 구조를 회피하기 위해, 팔레트 부호화는 팔레트 부호화 CU의 크기가 최대 TU 크기보다 더 클 때 생략할 수 있다. 만일 CU 크기가 최대 TU 크기보다 더 크면, '팔레트 모드 플래그'는 시그널링 없이 0으로서 도출된다. 표 4는 예시적인 구문 테이블을 보인 것이고, 여기에서 구문 palette_mode_flag[x0][y0]는 주해 (4-1)에서 조건 (log2CbSize <= MaxTbLog2SizeY)로 표시된 바와 같이 최대 TU 크기보다 더 큰 CU 크기인 경우에 생략한다.
[표 4]
Figure 112017003088270-pct00005
다른 실시형태에 있어서, 만일 CU 크기가 최대 TU 크기보다 더 크면 'palette_mode_flag'가 0으로 제한되도록(즉, 팔레트 모드 오프) 인코더 제한이 부과된다.
미리 규정된 블록 크기(예를 들면, 최대 TU 크기 또는 32x32)보다 크지 않은 크기를 가진 임의의 CU에 대하여, 만일 CU가 팔레트 부호화 모드에 의해 부호화되면, 이 명세서에서 설명한 기술(예를 들면, 팔레트 크기 시그널링, 최대 부호화 단위 크기 제한, 런 타입에 대한 단순화한 콘텍스트 적응 부호화 및 팔레트 부호화에서 단순화한 중복성 제거)이 적용될 수 있다.
run_type의 콘텍스트
본 발명의 다른 양태는 '런 타입'(run_type) 부호화의 콘텍스트를 다룬다. 예를 들면, '런 타입'("팔레트 런 타입"이라고도 부름)은 표 5에 나타낸 것처럼 하나의 고정된 콘텍스트로 부호화될 수 있다. 이 경우에는 단지 하나의 콘텍스트만이 사용되고 콘텍스트는 어느 것에도 의존하지 않는다.
[표 5]
Figure 112017003088270-pct00006
다른 실시형태에 있어서, '런 타입'은 표 6에 나타낸 것처럼 상측 픽셀의 '런 타입'에 대응하는 하나의 구문을 이용하여 콘텍스트 부호화될 수 있고, 여기에서 빈 인덱스 0은 콘텍스트 적응 부호화를 이용하여 부호화되고 다른 빈 인덱스는 그렇지 않다. '런 타입'에 대하여 2개의 가능한 값(즉, 2개의 콘텍스트)가 있고, 2개의 '런 타입' 값 각각에 대하여 하나의 콘텍스트 모델이 사용된다.
[표 6]
Figure 112017003088270-pct00007
HEVC 표준에 있어서, 부호화 트리 블록(CTB) 내의 블록들은 다수의 블록으로의 쿼드트리 구획 CTB와 일치하도록 z-스캔 패턴에 따라 처리된다. 픽셀 (xNbA, yNbA)는 현재 픽셀 위의 픽셀을 표시한다. 변수 available A는 픽셀 (xNbA, yNbA)가 현재 CTB에 포함되는 것을 표시한다. 표 7은 palette_run_type_flag의 ctxInc를 결정하기 위한 예시적인 조건을 보인 것이다. 상측 픽셀의 런 타입이 0이라고 condA가 표시할 때 ctxInc는 0이다. (xNbA, yNbA)가 현재 CTB에 포함되지 않은 때 ctxInc는 0이다.
[표 7]
Figure 112017003088270-pct00008
상측 픽셀의 위치 (xNbA, yNbA)는 (x0, y0)에서 현재 픽셀에 대하여 (xA, yA)와 같게 설정되고, 이때
xA = x0, yA = y0-1(스캔 순서가 수평일 때)
xA = x0-1, yA = y0(다른 실시형태에서 스캔 순서가 수직일 때)이다.
'런 타입'은 표 8에 나타낸 것처럼 이전 픽셀의 '런 타입'에 대응하는 하나의 구문을 이용하여 부호화된 콘텍스트일 수 있고, 여기에서 빈 인덱스 0은 콘텍스트 적응 부호화를 이용하여 부호화되고 다른 빈 인덱스는 그렇지 않다. 역시 '런 타입'에 대하여 2개의 가능한 값(즉, 2개의 콘텍스트)가 있고, 2개의 '런 타입' 값 각각에 대하여 하나의 콘텍스트 모델이 사용된다.
[표 8]
Figure 112017003088270-pct00009
이전 픽셀의 위치 (xNbB, yNbB)는 (x0, y0)에서 현재 픽셀에 대하여 (xB, yB)와 같게 설정되고, 이때
xB = x0-1, yB = y0(스캔 순서가 수평 트래버스이고 y0가 짝수일 때),
xB = x0+1, yB = y0(스캔 순서가 수평 트래버스이고 y0가 홀수일 때),
xB = x0, yB = y0-1(스캔 순서가 수직 트래버스이고 x0가 짝수일 때), 및
xB = x0, yB = y0+1(스캔 순서가 수직 트래버스이고 x0가 짝수일 때)이다.
만일 스캔 순서가 트래버스가 아니면, 위치 (xB, yB)가 하기 방법에 따라 결정된다:
xB = x0-1, yB = y0(스캔 순서가 수평일 때),
xB = x0, yB = y0-1(스캔 순서가 수직일 때),
변수 available B는 픽셀 (xNbB, yNbB)가 현재 CTB에 포함되는 것을 표시한다. 표 9는 palette_run_type_flag의 ctxInc를 결정하기 위한 예시적인 조건을 보인 것이다. 이전 픽셀의 런 타입이 0이라고 condL이 표시할 때 ctxInc는 0이다. (xNbB, yNbB)가 현재 CTB에 포함되지 않은 때 ctxInc는 0이다.
[표 9]
Figure 112017003088270-pct00010
인트라BC의 일시적 합병 후보
HEVC 합병 모드에서, 일시적 합병 후보는 합병 후보 중의 하나로서 사용된다. 일시적 합병 후보 도출에 있어서, List_0에서의 현재 화상의 목표 참조 화상이 먼저 특정된다. 현재 화상의 목표 참조 화상은 List_0에서 0과 같은 참조 화상 인덱스(ref_Idx)를 가진 화상이다. 그 다음에 공존되는 PU의 모션 벡터가 일시적 합병 후보를 도출하기 위해 스케일된다. 일시적 합병 후보의 ref_Idx는 0과 같게 설정된다. B-슬라이스의 경우에, 참조 화상 리스트 0에 대한 하나의 모션 벡터와 참조 화상 리스트 1에 대한 하나의 모션 벡터로 이루어진 2개의 모션 벡터가 획득되고 합병되어 중복예측(bi-predictive) 합병 후보를 만든다.
그러나 일시적 합병 후보 도출에 있어서, 만일 현재 화상의 목표 참조 화상 또는 공존 화상의 참조 화상이 장기 참조 프레임이면, MV 스케일링이 디스에이블된다. 만일 상기 2개의 화상 중 하나만이 장기 참조 화상이면, 일시적 합병 후보는 이용불능으로서 지정된다.
인트라BC 설계의 일 실시형태에 있어서, 재구성된 현재 화상은 현재 화상에 대한 참조 화상 중의 하나로서 사용된다. 이 재구성된 현재 화상은 List_0의 최종 참조 화상과 같은 참조 화상 리스트에 삽입된다. 그러므로 인트라BC 모드는 인터 모드 중의 하나로서 취급될 수 있다. 그러나 참조 화상은 이 재구성된 현재 화상을 지시한다. 인트라BC 블록의 블록 벡터(BV)는 이 재구성된 현재 화상을 지시하는 MV로서 취급된다. 그러한 인트라BC 설계에서, 재구성된 현재 화상은 장기 참조 화상으로서 표시된다.
전술한 인트라BC 설계에 있어서, BV는 만일 공존 블록이 인트라BC 모드로서 부호화되면 공존 블록의 참조 화상이 장기 화상이기 때문에 일시적 합병 후보를 도출하는데 사용될 수 없다. 만일 현재 화상의 참조 화상이 단기 화상이면, 일시적 합병 후보는 이용할 수 없다. 이것은 BV가 일시적 합병 후보 도출을 이용하여 도출될 수 없다는 것을 암시한다.
전술한 문제를 극복하기 위해, 본 발명에 따른 실시형태는 BV가 일시적 합병 후보 도출에 사용될 수 있게 한다. 일시적 합병 후보 도출에 있어서, 만일 공존 블록의 MV가 BV이면 BV는 일시적 합병 후보로서 사용된다. 일시적 합병 후보는 만일 현재 재구성된 화상이 현재 참조 프레임 리스트에 있으면 이용 가능하다. 일시적 합병 후보의 참조 화상 인덱스(ref_Idx)는 현재 재구성된 화상을 지시하는 참조 화상 인덱스와 같게 설정된다.
예를 들어서 만일 현재 재구성된 화상이 List_0 MV에 대한 일시적 합병 후보 도출 중에 List_0에 삽입되고 공존 PU의 MV가 BV이면, BV는 이 일시적 합병 후보에 대한 List_0 MV로서 사용되고 ref_Idx는 현재 재구성된 화상을 지시하는 참조 화상 인덱스와 같게 설정된다.
팔레트 인덱스의 라인 제한형(line-constrained) 런 부호화
파이프라인 친밀성을 더욱 촉진하기 위해, 본 발명의 실시형태는 팔레트 인덱스의 라인 제한형 런 부호화를 이용하고, 이것은 팔레트 인덱스의 라인을 부호화하기 위해 4개의 방법(모드)을 갖는다.
ㆍ 라인 '인덱스 복사'(copy_index): 라인 내의 모든 샘플들은 동일한 팔레트 인덱스를 갖는다.
ㆍ 라인 '상측 복사'(copy_above): 라인의 모든 인덱스는 상측 라인으로부터 복사된다.
ㆍ 라인 단편 '인덱스 복사': 라인의 인덱스는 index_run만을 이용하여 부호화된다. 각각의 런은 특정 인덱스의 반복이다. 최종 런은 라인의 끝에서 종료한다.
ㆍ 라인 단편 혼합: 라인의 인덱스는 index_run과 copy_above를 이용하여 부호화된다. 각각의 런은 특정 인덱스의 반복(copy_index)이거나 상측 라인으로부터의 연속적 인덱스의 복사(copy_above)이다. 최종 런은 라인의 끝에서 종료한다.
상기 4개의 방법 각각에 대하여, 런은 항상 라인의 끝에서 종료하여 파이프라인 친밀성을 달성한다. 이것은 또한 트래버스 스캔을 이용할 필요성을 제거한다.
이하에서는 본 발명의 실시형태를 통합한 라인 제한형 런 부호화를 신호하는 실시예들을 설명한다.
실시예 1. 이 예에서, 구문 설계는 먼저 "라인 '상측 복사'" 모드인지를 결정한다. 만일 아니면, 추가의 구문 요소가 단일 런(라인 '인덱스 복사') 또는 복수 런(라인 단편) 모드를 결정할 것이다. 아래의 표 10은 구문 설계를 요약한 것이다.
[표 10]
Figure 112017003088270-pct00011
"라인 '상측 복사'" 모드와 "라인 '인덱스 복사'" 모드 둘 다의 경우에, 팔레트 런은 런 길이가 블록의 폭(또는 스캔이 수직이면 높이)과 같기 때문에 신호될 필요가 없다.
"라인 단편 모드"의 경우에, 최종 런이 라인의 끝에서 종료되어야 하기 때문에, 그 길이는 특수한 "run-to-the-end" 구문 설계에 의해 또는 '라인 내 런의 수'(number_of_run_in_line)를 신호함으로써 효율적으로 부호화될 수 있다. 그러므로 최종 런의 런 길이는 생략할 수 있다.
도 16은 전술한 구문 설계를 통합한 구문 파싱의 예시적인 흐름도를 보인 것이다. 도 16에 도시된 바와 같이, 단계 1610에서 Run_type_line이 체크된다. 만일 런 타입이 '인덱스 복사'(Copy_index)이면 처리는 단계 1620으로 진행하고, 만일 런 타입이 '상측 복사'(Copy_above)이면 단계 1630이 수행된다. 단계 1620에서, Full_line_flag가 참(true)인지 결정하기 위해 Full_line_flag를 체크한다. 만일 Full_line_flag가 참이면(즉, "예" 경로), 단계 1640에 나타낸 것처럼 인덱스가 파싱되고 만일 필요하다면 단계 1650에 나타낸 것처럼 Escape_values가 추가로 파싱된다. 만일 Full_line_flag가 참이 아니면(즉, "아니오" 경로), 단계 1660이 수행되고, 이 단계에서 구문 Run_type_fraction을 체크한다. 만일 Run_type_fraction이 '상측 복사'(Copy_above)이면, 단계 1690이 수행된다. 만일 Run_type_fraction이 '인덱스 복사'(Copy_index)이면, 단계 1670이 수행되고, 이 단계에서 인덱스가 파싱된다. 단계 1670 후에 단계 1680에서 런이 파싱된다. 런이 파싱된 후, 만일 필요하다면 단계 1690에서 Escape_values가 파싱된다.
상기 실시형태는 "라인 단편 copy_index"와 "라인 단편 혼합"을 구별하지 않는다. 이것은 주어진 라인 내의 각 런의 시작부에서 Run_type_fraction을 단순히 신호함으로써 양측의 시나리오를 가능하게 한다.
실시예 2. 이 예에서, 구문 설계는 먼저 "라인 '상측 복사'" 모드인지를 결정한다. 만일 아니면, 추가의 구문 요소가 단일 런(라인 '인덱스 복사') 또는 복수 런(라인 단편) 모드를 결정할 것이다. 아래의 표 11은 구문 설계를 요약한 것이다.
[표 11]
Figure 112017003088270-pct00012
실시예 1과 비교해서, 플래그 Copy_index_only가 라인 단편 copy_index를 표시하기 위해 사용되고, 이때 루프 오버 런스(loop over runs)는 이들이 모두 copy_index 런이기 때문에 런 타입을 신호할 필요가 없다.
"라인 단편 모드"의 경우에, 최종 런이 라인의 끝에서 결정되어야 하기 때문에, 그 길이는 특수한 "run-to-the-end" 구문 설계에 의해 또는 '라인 내 런의 수'(number_of_run_in_line)를 신호함으로써 효율적으로 부호화될 수 있다. 최종 런의 런 길이는 생략할 수 있다.
다른 이진화 실시예. 4개 모드에 대한 추가의 이진화 시그널링 예를 표 12a-J에 나타내었고, 여기에서 가변 길이 이진화는 표 12a-I에 나타내었고, 고정 길이 이진화는 표 12J에 나타내었다.
[표 12a]
Figure 112017003088270-pct00013
[표 12b]
Figure 112017003088270-pct00014
[표 12c]
Figure 112017003088270-pct00015
[표 12d]
Figure 112017003088270-pct00016
[표 12e]
Figure 112017003088270-pct00017
[표 12f]
Figure 112017003088270-pct00018
[표 12g]
Figure 112017003088270-pct00019
[표 12h]
Figure 112017003088270-pct00020
[표 12i]
Figure 112017003088270-pct00021
[표 12j]
Figure 112017003088270-pct00022
콘텍스트 부호화 실시예. 상기 이진화 예에서의 각각의 빈(bin)은 바이패스 또는 규칙적인 콘텍스트 모드를 이용하여 부호화될 수 있다. 콘텍스트 부호화는 이전 모드, 상측 라인에서의 모드, 또는 이들 둘 다에 의존할 수 있다. 만일 콘텍스트가 부호화되면, Run_type_lineRun_type_fraction이 동일한 콘텍스트를 공유하거나, 또는 다른 콘텍스트를 이용할 수 있다.
라인의 최종 런의 부호화
각 라인의 최종 런이 그 라인의 끝에서 종료되어야 하기 때문에, 그 길이는 특수한 "run_to_the_end" 구문 설계에 의해 효율적으로 부호화될 수 있다. 예를 들면, 특수한 코드가 팔레트 이진화 테이블의 run_to_the_end 코드로서 지정될 수 있다. 다른 예로서, 라인 내 런의 수에 대응하는 구문 number_of_run_in_line이 신호될 수 있다. 라인 내 루프 오버 런스를 파싱할 때, 최종 런의 런 길이는 생략할 수 있다. 또 다른 실시형태에 있어서, 구문 last_run 플래그가 각 런에 대하여 신호될 수 있다. 이 플래그가 1일 때, 런은 신호될 필요가 없다.
런의 부호화
본 발명은 런을 부호화하기 위한 특수한 이진화 방법으로 제한되지 않는다. 절단 일진법 또는 절단 이진법과 같은 다른 런 부호화 방법을 이용하여 런을 이진화할 수 있다.
런은 런 길이가 블록 폭(또는 높이)보다 더 짧게 되도록 제한되는 "라인 단편" 모드에 대해서만 필요하기 때문에, 고정 길이 부호화를 또한 이용할 수 있다.
런의 주어진 이진화를 위하여, 각각의 빈은 바이패스 또는 규칙적 콘텍스트 모드로 부호화될 수 있다.
각 라인의 제1 인덱스의 부호화
현재 라인이 전체 라인 또는 부분 라인으로서 부호화된 것을 신호한 후의 각 라인에 대하여, 그 라인의 인덱스가 신호된다. 만일 인덱스가 상측 인덱스와 동일하면, 인덱스 자체 대신에 하나의 플래그가 신호될 수 있다. 도 17에 도시된 예에서, 모든 인덱스가 3인 라인에 대하여, 인덱스 '3'이 신호될 수 있다. 또한 인덱스가 상측 픽셀(1710)과 동일함을 표시하는 플래그가 신호될 수 있다.
도 18은 전술한 구문 설계를 통합한 구문 파싱의 예시적인 흐름도를 보인 것이다. 도 18의 흐름도는 Full_line_flag가 참인 경우를 제외하고 도 16의 흐름도와 유사하다. 이 경우에, Copy_index_from_above가 참인지에 관한 추가의 테스트가 단계 1810에서 수행된다. 만일 결과가 "예"이면, 단계 1830이 수행되고, 이 단계에서 만일 필요하면 Escape_values가 파싱된다. 만일 결과가 "아니오"이면, 단계 1820이 수행되고, 이 단계에서 인덱스가 파싱된다. 단계 1820 후에, 만일 필요하면 단계 1830에 나타낸 것처럼 Escape_values가 파싱된다.
만일 현재 라인이 전체 라인으로서 부호화되지 않으면, 인덱스 자체를 신호하는 대신에 인덱스가 상측 인덱스와 동일함을 표시하는 플래그를 이용할 수 있다. 2개의 예가 도 19a 및 도 19b에 도시되어 있고, 플래그는 상측 픽셀(1910)로부터의 인덱스 "3"이 도 19a에서 사용되고 상측 픽셀(1920)로부터의 인덱스 "1"이 도 19b에서 사용되는 것을 표시한다.
도 20은 전술한 구문 설계를 통합한 구문 파싱의 예시적인 흐름도를 보인 것이다. 도 20의 흐름도는 추가의 단계 2010이 단계 1660과 단계 1670 사이에 포함된 것을 제외하고 도 18의 흐름도와 유사하다. 단계 2010에서, Copy_index_from_above가 참인지 테스트한다. 만일 결과가 "예"이면, 단계 1690에 나타낸 바와 같이, 필요한 경우 Escape_values가 파싱된다. 만일 결과가 "아니오"이면, 단계 1670에 나타낸 바와 같이 인덱스가 파싱된다.
전체 행 런
부호화 효율을 개선하기 위해, 색 인덱스 부호화시에 전체 행에 대응하는 정합 길이를 부호화하는 실시형태가 개시된다. 이 경우에는 row_run_flag가 신호된다. 표 13a는 본 발명의 실시형태에 따른 row_run_length의 시그널링을 위한 이진화의 예를 나타낸 것이다. 만일 row_run_flag=1이면 이 라인은 행 런(row run)이고, 복사는 복사 위치로부터 행의 끝까지 된다. 만일 row_run_flag=0이면 길이 구문이 row_run_flag 다음에 추가로 신호된다.
전체 행 런에 대한 상기 실시형태는 상측 복사, 좌측 복사, 다른 방향 복사, 천이(transition) 복사, 임의 복사 또는 이들의 임의 조합에 또한 적용할 수 있다. 예를 들면, 전술한 전체 행 런 기술은 상측 복사 또는 좌측 복사 모드에 적용할 수 있지만, 천이 복사 또는 임의 복사에는 적용할 수 없다. 표 13b-C는 본 발명의 실시형태에 따른 row_run_length의 시그널링을 위한 이진화의 2개의 예를 나타낸 것이다.
[표 13a]
Figure 112017003088270-pct00023
[표 13b]
Figure 112017003088270-pct00024
[표 13c]
Figure 112017003088270-pct00025
상기 예들은 상이한 팔레트 예측 모드의 전체 행 런을 보인 것이다. 이 예들은 가능한 모든 이진화 및 팔레트 예측 모드를 총망라하여 리스트한 것이 아니다.
임의 위치 복사
인덱스 맵을 인코딩하기 위한 상측 복사 및 좌측 복사 외에, 본 발명의 실시형태는 다른 위치로부터 인덱스 길이(length-of-indices)의 복사를 촉진하기 위한 임의 위치 복사 모드를 포함한다.
천이 복사는 HEVC 하에서 화면 내용 부호화를 위해 개발된 부호화 모드이다. 천이 복사와 다르게, 현재 픽셀 임의 복사 모드는 좌측 픽셀에 의해 결정되지 않는다. 인코더는 현재 색 인덱스와 정합되는 색 인덱스를 찾기 위해 이전 부호화 색 인덱스를 검색할 것이다. 거리는 상기 2개의 색 인덱스 위치 간의 거리이다. 길이는 특정 거리에 있는 픽셀과 동일한 색 인덱스를 가진 픽셀의 수에 따라 도출된다. 거리와 길이 쌍은 최장 길이에 의해 또는 율-왜곡 최적화(rate-distortion optimization, RDO) 결정에 의해 결정된다.
임의 복사의 사용을 표시하기 위해 추가의 구문 요소가 추가된다. 만일 임의 복사 모드가 사용되면, 구문 요소 '임의 복사 런 거리'(arbitrary_copy_run_destance) 및 '임의 복사 런 길이'(arbitrary_copy_run_length)(예를 들면, n)이 파싱될 것이고, 그래서 다음의 n개의 샘플 인덱스가 '임의 복사 런 거리'에 의해 특정된 위치로부터 직접 복사된다. 도 21은 임의 복사 모드의 예를 보인 것이다. 현재 픽셀(2110)을 인코딩할 때, 인코더는 이전 부호화 픽셀을 검색할 것이다. 길이 3과 6을 가진 2개의 정합 쌍이 도 21에서 현재 패턴(2140)과 함께 타원(2120, 2130)으로 표시한 것처럼 발견된다. 정합 쌍의 위치는 각각의 블록 벡터(2150, 2160)에 의해 식별될 수 있다. 인코더는 RDO 결정 또는 최장 길이에 따라 하나를 선택할 것이다.
'임의 복사 런 거리'는 벡터 또는 2개의 분리된 1D 스칼라 값으로 신호될 수 있다.
TU 기반 팔레트 부호화
팔레트 부호화의 인덱스 맵 부호화를 각 TU에 또한 적용할 수 있다. 팔레트 자체의 정보는 CU 내의 모든 TU에 의해 공유될 수 있다. 최대 TU 분할 깊이는 '최대 변환 계층 깊이 인트라-1'(max_transform_hierarchy_depth_intra-1)과 같이 N으로서 고정될 수 있다.
TU 분할 깊이는 64x64 CU와 같은 큰 CU의 경우 N(예를 들면, 1)으로서 고정되고 32x32, 16x16 및 8x8과 같은 작은 CU의 경우 N-1(예를 들면, 0)로서 고정될 수 있다.
전술한 설명은 당업자가 특정 응용 및 그 필요조건과 관련하여 제공된 대로 본 발명을 실시할 수 있게 하기 위해 제시된다. 당업자에게는 설명한 실시형태에 대한 각종 수정이 명백할 것이고, 여기에서 규정된 일반 원리는 다른 실시형태에 적용될 수 있다. 그러므로 본 발명은 도시되고 설명된 특정 실시형태로 제한되지 않고, 여기에서 개시된 원리 및 신규 특징과 일치하는 최광의의 범위로 고려되어야 한다. 전술한 상세한 설명에서, 본 발명의 완전한 이해를 제공하기 위해 각종의 특정 세부들이 설명되었다. 그러나 당업자라면 그러한 세부 없이 본 발명이 실시될 수 있다는 것을 이해할 것이다.
서브샘플링된 색 인덱스 맵 부호화
JCTVC-O0218 및 JCTVC-O0182에서는 색 인덱스 맵 부호화를 위해 수평 래스터 스캔을 이용한다. 본 발명의 일 실시형태에 있어서, 서브샘플링된 인덱스 맵이 인코딩되고 인덱스 맵의 다른 부분이 그 다음에 인코딩되거나 직접 채워진다. 예를 들면, 짝수 번호 샘플 행 또는 짝수 번호 샘플 열이 원래의 팔레트 색 인덱스 맵 부호화를 이용하여 먼저 인코딩된다. 나머지 샘플에 대하여 샘플들을 채우기 위해 보간이 적용될 수 있다. 대안적으로, 나머지 샘플 행 또는 열에 대하여 구문이 신호될 수 있다. 예를 들면, 각 행에 대하여 예측 모드가 신호될 수 있다. 예측 모드는 수직 모드, 수평 모드, 보간 모드 및 정상 부호화 모드를 포함할 수 있다. 보간 모드의 경우, 샘플들은 이웃 픽셀들을 이용하여 보간된다.
서브샘플링된 색 인덱스 맵이 CU에 대하여 사용되는지 표시하기 위해 CU-레벨 플래그가 신호될 수 있다. PPS/SPS/슬라이스 헤더의 플래그가 이 툴에 대하여 턴온/오프하기 위해 신호될 수 있다.
단일 팔레트 인덱스 CU의 런 부호화
SCM 2.0에서, 만일 CU가 단지 하나의 가능한 팔레트 인덱스를 내포하면, palette_transpose_flag 및 런 부호화는 생략할 것이다. 하기와 같은 2가지 경우에 생성할 수 있다.
경우 1: 하나의 팔레트 색을 갖고 이스케이프 인덱스가 없는 CU, 및
경우 2: 팔레트 색이 없고 하나의 이스케이프 인덱스를 가진 CU.
그러나 팔레트 부호화를 위해 CU 전역 픽셀 복사를 이용할 때, 현재 팔레트 CU가 단지 하나의 인덱스를 갖는 경우에도 CU 내의 일부 픽셀이 CU 전역으로부터 복사되고 현재 팔레트 또는 이스케이프에 의해 대표되지 않는다. 그러한 경우를 허용하기 위해, 단지 하나의 가능한 인덱스를 내포한 CU에 대하여 palette_transpose_flag 및 런 부호화가 적응적으로 신호될 수 있다. 예를 들면, 경우 1에서, CU가 하나의 팔레트 색을 갖고 이스케이프 인덱스를 갖지 않을 때, palette_transpose_flag 및/또는 런 부호화의 시그널링이 가능해진다. 만일 palette_transpose_flag를 생략하면, 이것은 온 또는 오프로서 추론될 수 있다. 경우 2에서, CU가 팔레트 색을 갖지 않고 하나의 이스케이프 인덱스를 가질 때, palette_transpose_flag 및/또는 런 부호화의 시그널링이 가능해진다. 만일 palette_transpose_flag를 생략하면, 이것은 온 또는 오프로서 추론될 수 있다.
다른 실시형태에 따르면, 경우 1, 경우 2 또는 둘 다에서 palette_transpose_flag 및 런 부호화의 디스에이블링의 임의 조합이 적용될 수 있다.
N보다 작은 팔레트 크기의 오프셋 부호화
일 실시형태에 있어서, 일반화된 상측 복사 모드가 사용될 때, 일반화된 상측 복사 모드의 오프셋이 팔레트 크기에 의해 추론될 수 있다. 팔레트 크기가 N보다 작고 인덱스 모드가 상측 복사 모드일 때, 상기 오프셋은 M(예를 들면, M=1)으로 추론되고 인코더와 디코더는 상측 복사 모드의 경우에 오프셋을 신호할 필요가 없다. 팔레트 크기가 N보다 클 때, 상측 복수 행 복사가 사용된다.
일 실시형태에 있어서, 인코더와 디코더는 상측 복사 모드의 경우에 항상 오프셋을 신호할 것이다.
예측자 정제 정보를 부호화하기 위한 팔레트 구문 사용
팔레트 부호화 방법은 다른 잔여 부호화 방법(예를 들면, 예측자 정제 정보 부호화)으로서 사용될 수 있다. HEVC에서, 인트라 또는 인터 예측 후에, 잔여(residual)가 예측자 정제를 위해 신호될 것이다. 본 발명의 일 실시형태에 있어서, HEVC의 잔여 부호화 구문을 이용하는 대신에, 팔레트 부호화 구문이 예측자 정제 정보(즉, 잔여)를 신호하기 위해 사용된다. 이 실시형태에 따른 실시예를 이하에서 설명한다.
실시예 1. 인코더가 팔레트 구문을 이용하여 예측자 정제 정보를 인코딩할 때, 인코더는 팔레트를 이용하여 잔여 신호를 인코딩한다. 다시 말해서, 디코더는 팔레트 인덱스를 디코딩하고 팔레트 인덱스에 대응하는 팔레트의 값들을 취득한다. 그 값은 잔여 값이고 예측자를 정제하기 위해 사용된다. 특수한 인덱스를 0과 같은 잔여에 대하여 예약할 수 있다. 예를 들면, 예약된 인덱스는 0 또는 1일 수 있다.
실시예 2. 인코더가 팔레트 구문을 이용하여 예측자 정제 정보를 인코딩할 때, 인코더는 팔레트를 이용하여 원래 픽셀 값을 인코딩하지만 재구성된 픽셀이 예측자와 동일한 것을 표시하기 위해 특수 인덱스를 예약한다. 디코더가 팔레트 구문을 디코딩할 때, 만일 픽셀의 인덱스가 0이면 재구성된 픽셀 값은 (인트라 또는 인터) 예측자와 같다. 그렇지 않으면, 재구성된 픽셀 값은 인덱스에 대응하는 팔레트 내의 색과 같다. 예를 들면, 예약된 인덱스는 0 또는 1일 수 있다.
HEVC 잔여 구문은 새로운 팔레트 구문 전 또는 후에 신호될 수 있다. 다시 말해서, 2단계의 예측자 정제가 있을 수 있고, 하나는 HEVC 잔여 부호화를 위한 것이고 다른 하나는 새로운 팔레트 부호화를 위한 것이다.
최종 부호화된 BV의 리세트
SCM 2.0에서, 최종 부호화된 BV가 BV 부호화를 위한 BV 예측자(BVP) 도출에 사용된다. 최종 부호화된 BV는 각각의 CTU에 대하여 (0, 0)으로 리세트된다.
본 발명의 일 실시형태에 따르면, 리세트 메카니즘은 각 CTU의 최종 부호화된 BV를 (0, 0) 대신에 미리 규정된 값으로 리세트하도록 수정된다. 미리 규정된 값은 (-8, 0), (-16, 0), (-32, 0), (-64, 0), (0, -8), (0, -16), (0, -32), (0, -64)일 수 있다.
만일 2개의 최종 부호화된 BV가 리세트되어야 하면, 미리 규정된 BV 쌍은 {(-64, 0), (-32, 0)}, {(-32, 0), (-64, 0)}, {(-128, 0), (-64, 0)}, {(-64, 0), (-128, 0)}, {(-32, 0), (-16, 0)}, {(-16, 0), (-32, 0)}, {(-16, 0), (-8, 0)}, {(-8, 0), (-16, 0)}, {(-32, 0), (-8, 0)}, 또는 {(-8, 0), (-32, 0)}일 수 있다.
제안된 방법으로 BV 예측자 도출은 단순화될 수 있다. 최종 부호화된 BV에 대한 가용성 체크(즉, 최종 부호화된 BV가 (0, 0)과 같은지 체크)는 생략할 수 있다. 이 실시형태에 따른 리세트 메카니즘의 실시예를 이하에서 설명한다.
실시예 1. 최종 부호화된 BV는 현재 블록이 현재 CTU의 최초 부호화된 인트라BC PU일 때 (-2w, 0) 및 (-w, 0)으로 리세트되고, 이때 w는 PU 폭 또는 PU 높이이다.
실시예 2. 최종 부호화된 BV는 각 CTU의 시작부에서 미리 규정된 값으로 리세트되고, 여기에서 상기 미리 규정된 값은 CTU 폭 또는 CTU 높이와 관련된다. 예를 들면, 미리 규정된 값은 (-CTU_width, 0), (-(CTU_width>>1), 0), (-(CTU_width>>2), 0), (-(CTU_width>>3), 0)일 수 있다. 최소치/최대치 제한이 이들 미리 규정된 값에 적용될 수 있다. 예를 들면, 각 성분의 최대치는 -8보다 클 수 없다. 그러므로 상기 미리 규정된 값은 (max(-8, -CTU_width), 0), (max(-8, -(CTU_width>>1)), 0), (max(-8, -(CTU_width>>2)), 0), (max(-8, -(CTU_width>>3)), 0)일 수 있다.
실시예 3. 최종 부호화된 BV는 각 CTU의 시작부에서 미리 규정된 값으로 리세트되고, 여기에서 상기 미리 규정된 값은 min_CU_width 또는 min_CU_height와 관련된다. 예를 들면, 미리 규정된 값은 (-min_CU_width, 0), (-2*min_CU_width, 0), (-3*min_CU_width, 0), (-4*min_CU_width, 0), (-8*min_CU_width, 0)일 수 있다. 최소치/최대치 제한이 이들 미리 규정된 값에 적용될 수 있다. 예를 들면, 각 성분의 최소치는 -64보다 클 수 없다. 그러므로 상기 미리 규정된 값은 (min(-64, -min_CU_width), 0), (min(-64, -2*min_CU_width), 0), (min(-64, -3*min_CU_width), 0), (min(-64, -4*min_CU_width), 0), (min(-64, -8*min_CU_width), 0)일 수 있다.
만일 2개의 최종 부호화된 BV가 리세트되어야 하면, 미리 규정된 BV 쌍은 {(-min_CU_width, 0), (-2*min_CU_width, 0)}, {(-2*min_CU_width, 0), (-min_CU_width, 0)}, {(-2*min_CU_width, 0), (-4*min_CU_width, 0)}, 또는 {(-4*min_CU_width, 0), (-2*min_CU_width, 0)}일 수 있다.
전술한 실시형태에 따르면, 최종 부호화된 BV 리세팅은 단순화될 수 있다. 현재 블록이 현재 CTU의 최초 인트라BC 부호화된 블록인지를 검출할 필요는 없을 것이다.
전술한 본 발명의 실시형태는 각종 하드웨어, 소프트웨어 코드 또는 이들의 조합으로 구현될 수 있다. 예를 들면, 본 발명의 실시형태는 여기에서 설명한 처리를 수행하도록 영상 압축 칩에 집적된 하나 이상의 전자 회로 또는 영상 압축 소프트웨어에 통합된 프로그램 코드일 수 있다. 본 발명의 실시형태는 또한 여기에서 설명한 처리를 수행하도록 디지털 신호 프로세서(DSP)에서 실행되는 프로그램 코드일 수 있다. 본 발명은 컴퓨터 프로세서, 디지털 신호 프로세서, 마이크로프로세서 또는 현장 프로그램가능 게이트 어레이(FPGA)에 의해 수행되는 다수의 기능을 또한 수반할 수 있다. 이러한 프로세서들은 본 발명에 의해 구현되는 특수 방법들을 규정하는 기계 판독가능 소프트웨어 코드 또는 펌웨어 코드를 실행함으로써, 본 발명에 따른 특정 태스크를 수행하도록 구성될 수 있다. 상기 소프트웨어 코드 또는 펌웨어 코드는 상이한 프로그래밍 언어 및 상이한 포맷 또는 스타일로 개발될 수 있다. 상기 소프트웨어 코드는 다른 타겟 플랫폼용으로 또한 컴파일될 수 있다. 그러나 소프트웨어 코드의 다른 코드 포맷, 스타일 및 언어, 및 본 발명에 따른 태스크를 수행하도록 코드를 구성하는 다른 수단은 본 발명의 정신 및 범위로부터 벗어나지 않을 것이다.
본 발명은 그 정신 또는 본질적 특성으로부터 벗어나지 않고 다른 특정 형태로 구현될 수 있다. 전술한 예들은 모든 점에서 예시하는 것이지 제한하는 것이 아닌 것으로 생각하여야 한다. 그러므로 본 발명의 범위는 전술한 상세한 설명보다는 첨부된 특허 청구범위에 의해 규정된다. 특허 청구범위의 균등물의 의미 및 범위 내에 있는 모든 변화들은 본 발명의 범위 내에 포함되어야 한다.

Claims (21)

  1. 영상 부호화 시스템을 위해 팔레트 부호화를 이용하여 영상 데이터의 블록을 부호화하는 방법에 있어서,
    현재 블록 크기를 가진 현재 부호화 단위와 연관된 입력 데이터를 수신하는 단계;
    상기 현재 블록 크기가 미리 규정된 블록 크기보다 더 큰 경우, 팔레트 부호화 모드를 배제한 제1 부호화 그룹으로부터 현재 부호화 모드를 선택하는 단계;
    상기 현재 블록 크기가 상기 미리 규정된 블록 크기 이하인 경우, 상기 팔레트 부호화 모드를 포함한 제2 부호화 그룹으로부터 상기 현재 부호화 모드를 선택하는 단계; 및
    선택된 상기 현재 부호화 모드에 따라 상기 현재 부호화 단위를 인코딩 또는 디코딩하는 단계
    를 포함한, 영상 데이터 블록 부호화 방법.
  2. 제1항에 있어서,
    상기 미리 규정된 블록 크기는 32x32에 대응하는 것인, 영상 데이터 블록 부호화 방법.
  3. 제1항에 있어서,
    상기 미리 규정된 블록 크기는 최대 변환 단위 크기에 대응하는 것인, 영상 데이터 블록 부호화 방법.
  4. 제3항에 있어서,
    상기 현재 블록 크기가 상기 미리 규정된 블록 크기보다 더 큰 경우에, 상기 현재 부호화 단위에 대하여 어떠한 팔레트 부호화 모드도 사용되고 있지 않다는 것을 표시하기 위해, 팔레트 모드 플래그가 0이라고 추론되는 것인, 영상 데이터 블록 부호화 방법.
  5. 제3항에 있어서,
    상기 현재 부호화 단위에 대하여 어떠한 팔레트 부호화 모드도 사용되고 있지 않다는 것을 표시하기 위해, 팔레트 모드 플래그가 0이도록 제한(restrict)되는 것인, 영상 데이터 블록 부호화 방법.
  6. 제1항에 있어서,
    팔레트 모드 플래그가, 상기 팔레트 부호화 모드가 사용되고 있고 상기 현재 부호화 단위가 상기 미리 규정된 블록 크기보다 더 크다는 것을 표시하는 경우, 상기 현재 부호화 단위는, 상기 미리 규정된 블록 크기와 크기가 동일한 복수의 블록들로 나누어지고, 각 블록은 상기 팔레트 부호화 모드에 의해 부호화되는 것인, 영상 데이터 블록 부호화 방법.
  7. 제6항에 있어서,
    각 블록은 개별적인 팔레트 부호화 구문을 이용하는 것인, 영상 데이터 블록 부호화 방법.
  8. 제1항에 있어서,
    상기 현재 부호화 단위를 인코딩하기 위해 선택된 상기 현재 부호화 모드가 팔레트 부호화 모드인 때, 재사용된 주요 색(major color) 크기, 새로운 주요 색 크기 및 총 주요 색 크기 중의 하나 또는 조합에 대응하는 팔레트 관련 크기를 결정하는 단계, 하나의 K차 지수 골롬 코드(Kth order Exp-Golomb code), 하나의 일진법 코드 더하기 하나의 K차 지수 골롬 코드, 또는 하나의 절단(truncated) 일진법 코드 더하기 하나의 K차 지수 골롬 코드에 따라, 이진화 팔레트 관련 크기를 생성하기 위해 상기 팔레트 관련 크기를 이진화하는 단계, 및 부호화된 팔레트 관련 크기를 생성하기 위해 상기 이진화 팔레트 관련 크기에 엔트로피(entropy) 부호화를 적용하는 단계; 및
    상기 현재 부호화 단위를 디코딩하기 위해 선택된 상기 현재 부호화 모드가 상기 팔레트 부호화 모드인 때, 상기 하나의 K차 지수 골롬 코드, 상기 하나의 일진법 코드 더하기 하나의 K차 지수 골롬 코드, 또는 상기 하나의 절단 일진법 코드 더하기 하나의 K차 지수 골롬 코드를, 상기 현재 부호화 단위를 포함한 비트스트림으로부터 복구된 이진화 팔레트 관련 크기에 적용하여, 상기 팔레트 관련 크기를 복구하는 단계, 및 상기 팔레트 관련 크기를 포함한 팔레트 정보 및 팔레트 예측자에 기초하여 상기 현재 부호화 단위를 위한 현재 팔레트 테이블을 복구하는 단계
    를 더 포함하고,
    상기 재사용된 주요 색 크기는, 상기 팔레트 예측자 내의 주요 색을 재사용하는 상기 현재 팔레트 테이블 내 주요 색들의 제1 개수를 표시하고, 상기 새로운 주요 색 크기는, 상기 팔레트 예측자에 의해 예측되지 않은 상기 현재 팔레트 테이블 내 주요 색들의 제2 개수를 표시하며, 상기 총 주요 색 크기는, 상기 현재 부호화 단위에 존재하는 주요 색들의 제3 개수를 표시하는 것인, 영상 데이터 블록 부호화 방법.
  9. 제1항에 있어서,
    상기 현재 부호화 단위를 인코딩하기 위해 선택된 상기 현재 부호화 모드가 팔레트 부호화 모드이고, 상기 현재 부호화 단위의 현재 픽셀이 복사(copy) 모드로 부호화되는 경우, 상기 현재 픽셀에 대한 팔레트 런(run) 타입을 결정하는 단계, 및 임의의 이전 픽셀과 연관된 임의의 이전에 인코딩된 팔레트 런 타입에 의존하지 않고, 단일 콘텍스트(context)를 가진 콘텍스트 적응 엔트로피 부호화를 이용하여 상기 팔레트 런 타입을 인코딩하는 단계로서, 상기 팔레트 런 타입은 상측 복사(copy-above) 모드 또는 인덱스 복사(copy-index) 모드에 대응하는 것인, 상기 인코딩하는 단계; 및
    상기 현재 부호화 단위를 디코딩하기 위해 선택된 상기 현재 부호화 모드가 팔레트 부호화 모드일 때, 임의의 이전 픽셀과 연관된 임의의 이전에 디코딩된 팔레트 런 타입에 의존하지 않고, 상기 단일 콘텍스트를 가진 상기 콘텍스트 적응 엔트로피 부호화를 이용하여 상기 현재 픽셀에 대한 상기 팔레트 런 타입을 디코딩하는 단계, 디코딩된 상기 팔레트 런 타입이 상측 복사 모드인 경우 상측 복사 모드에 따라 상기 현재 픽셀 및 하나 이상의 후속 픽셀을 재구성하는 단계, 및 디코딩된 상기 팔레트 런 타입이 인덱스 복사 모드인 경우 상기 인덱스 복사 모드에 따라 상기 현재 픽셀 및 하나 이상의 후속 픽셀을 재구성하는 단계
    를 더 포함한, 영상 데이터 블록 부호화 방법.
  10. 제1항에 있어서,
    상기 현재 부호화 단위를 인코딩 또는 디코딩하기 위해 선택된 상기 현재 부호화 모드가 상기 팔레트 부호화 모드일 때, 스캐닝 순서에 따라 상기 현재 부호화 단위 내의 현재 픽셀에 대한 이전 픽셀을 결정하는 단계;
    상기 현재 부호화 단위에 대한 팔레트 집합을 결정하는 단계;
    상기 이전 픽셀이 인덱스 복사 모드에 대응하는 경우, 갱신된 팔레트 집합을 형성하기 위해, 이전 픽셀 인덱스에 대응하는 중복(redundant) 인덱스를 상기 팔레트 집합으로부터 제거하는 단계;
    상기 이전 픽셀이 상측 복사 모드에 대응하는 경우, 중복 인덱스 제거 단계를 생략(skip)하고 상기 팔레트 집합을 상기 갱신된 팔레트 집합으로서 이용하는 단계; 및
    상기 갱신된 팔레트 집합에 기초하여 상기 현재 픽셀의 현재 인덱스를 인코딩 또는 디코딩하는 단계
    를 더 포함한, 영상 데이터 블록 부호화 방법.
  11. 삭제
  12. 삭제
  13. 삭제
  14. 삭제
  15. 삭제
  16. 삭제
  17. 삭제
  18. 삭제
  19. 삭제
  20. 삭제
  21. 삭제
KR1020177000780A 2014-06-20 2015-06-19 영상 부호화를 위한 팔레트 예측자 신호 방법 KR101943770B1 (ko)

Applications Claiming Priority (13)

Application Number Priority Date Filing Date Title
US201462014959P 2014-06-20 2014-06-20
US62/014,959 2014-06-20
US201462086319P 2014-12-02 2014-12-02
US62/086,319 2014-12-02
US201562108165P 2015-01-27 2015-01-27
US62/108,165 2015-01-27
US201562109830P 2015-01-30 2015-01-30
US201562109836P 2015-01-30 2015-01-30
US62/109,830 2015-01-30
US62/109,836 2015-01-30
US201562111140P 2015-02-03 2015-02-03
US62/111,140 2015-02-03
PCT/CN2015/081909 WO2015192800A1 (en) 2014-06-20 2015-06-19 Method of palette predictor signaling for video coding

Related Child Applications (1)

Application Number Title Priority Date Filing Date
KR1020197001367A Division KR102042085B1 (ko) 2014-06-20 2015-06-19 영상 부호화를 위한 팔레트 예측자 신호 방법

Publications (2)

Publication Number Publication Date
KR20170016973A KR20170016973A (ko) 2017-02-14
KR101943770B1 true KR101943770B1 (ko) 2019-01-29

Family

ID=54934890

Family Applications (2)

Application Number Title Priority Date Filing Date
KR1020177000780A KR101943770B1 (ko) 2014-06-20 2015-06-19 영상 부호화를 위한 팔레트 예측자 신호 방법
KR1020197001367A KR102042085B1 (ko) 2014-06-20 2015-06-19 영상 부호화를 위한 팔레트 예측자 신호 방법

Family Applications After (1)

Application Number Title Priority Date Filing Date
KR1020197001367A KR102042085B1 (ko) 2014-06-20 2015-06-19 영상 부호화를 위한 팔레트 예측자 신호 방법

Country Status (6)

Country Link
US (2) US10623747B2 (ko)
EP (1) EP3143767B1 (ko)
JP (2) JP6328277B2 (ko)
KR (2) KR101943770B1 (ko)
CN (3) CN106716999B (ko)
WO (1) WO2015192800A1 (ko)

Families Citing this family (35)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11223832B2 (en) 2014-07-24 2022-01-11 Qualcomm Incorporated Methods and apparatus for encoding video data using block palettes and sub-block and pixel scanning orders
US20160234494A1 (en) * 2015-02-10 2016-08-11 Qualcomm Incorporated Restriction on palette block size in video coding
CN107431824B (zh) 2015-04-08 2020-10-02 寰发股份有限公司 视频编解码中调色板模式上下文编解码和二值化的方法
US10455228B2 (en) * 2016-03-21 2019-10-22 Qualcomm Incorporated Determining prediction parameters for non-square blocks in video coding
US10623774B2 (en) 2016-03-22 2020-04-14 Qualcomm Incorporated Constrained block-level optimization and signaling for video coding tools
US11259047B2 (en) 2016-04-06 2022-02-22 Kt Corporation Method and apparatus for processing video signal
CN107948659B (zh) * 2017-11-21 2020-07-31 天津大学 针对游戏视频内容的hevc-scc自适应能耗控制策略
WO2019230904A1 (ja) * 2018-06-01 2019-12-05 シャープ株式会社 画像復号装置、および画像符号化装置
BR112021003269A2 (pt) 2018-08-28 2021-05-18 Huawei Technologies Co., Ltd. método de particionamento de imagem e aparelho
CN112889269B (zh) * 2018-10-23 2023-10-27 腾讯美国有限责任公司 视频解码方法及装置
US10652537B1 (en) * 2018-11-21 2020-05-12 Alibaba Group Holding Limited Coding unit size adaptive palette mode for video compression system
US10970881B2 (en) * 2018-12-21 2021-04-06 Samsung Display Co., Ltd. Fallback modes for display compression
CN114157864B (zh) 2019-01-08 2022-10-28 华为技术有限公司 图像预测方法、装置、设备、系统及存储介质
CN111416975B (zh) * 2019-01-08 2022-09-16 华为技术有限公司 预测模式确定方法和装置
JP7431827B2 (ja) * 2019-01-10 2024-02-15 オッポ広東移動通信有限公司 画像デコーディング方法、デコーダ及びコンピューター記憶媒体
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
SG11202109482PA (en) * 2019-03-08 2021-09-29 Beijing Bytedance Network Technology Co Ltd Joint coding of palette mode usage indication
US11202101B2 (en) 2019-03-13 2021-12-14 Qualcomm Incorporated Grouped coding for palette syntax in video coding
CN117459744A (zh) 2019-07-20 2024-01-26 北京字节跳动网络技术有限公司 调色板模式使用指示的条件相关编解码
CN117221536A (zh) 2019-07-23 2023-12-12 北京字节跳动网络技术有限公司 调色板模式编解码的模式确定
JP7383119B2 (ja) * 2019-07-26 2023-11-17 北京字節跳動網絡技術有限公司 映像コーディングモードのブロックサイズ依存使用
WO2021023262A1 (en) 2019-08-06 2021-02-11 Beijing Bytedance Network Technology Co., Ltd. Using screen content coding tool for video encoding and decoding
KR102650079B1 (ko) 2019-09-02 2024-03-22 베이징 바이트댄스 네트워크 테크놀로지 컴퍼니, 리미티드 색상 포맷에 기초한 코딩 모드 결정
MX2022003122A (es) 2019-09-21 2022-04-06 Beijing Bytedance Network Tech Co Ltd Modo intra basado para croma de restriccion de tama?o.
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 阿里巴巴(中国)有限公司 用于在调色板模式下对视频数据进行编码的方法和装置
WO2021142446A1 (en) * 2020-01-11 2021-07-15 Beijing Dajia Internet Information Technology Co., Ltd. Methods and apparatus of video coding using palette mode
US11184632B2 (en) * 2020-01-20 2021-11-23 Tencent America LLC Method and apparatus for palette based coding mode under local dual tree structure
CN115349262A (zh) * 2020-03-27 2022-11-15 北京达佳互联信息技术有限公司 使用调色板模式的视频编解码的方法和装置
CN115428455A (zh) * 2020-03-31 2022-12-02 阿里巴巴集团控股有限公司 调色板预测方法
CN115362681A (zh) * 2020-04-10 2022-11-18 抖音视界有限公司 视频编解码中的变换跳过块的最小允许量化
US20220094951A1 (en) * 2020-09-23 2022-03-24 Ati Technologies Ulc Palette mode video encoding utilizing hierarchical palette table generation
CN112153475B (zh) 2020-09-25 2022-08-05 北京字跳网络技术有限公司 用于生成文字模式的视频的方法、装置、设备和介质
US11463716B2 (en) * 2021-02-25 2022-10-04 Qualcomm Incorporated Buffers for video coding in palette mode

Family Cites Families (30)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6335985B1 (en) * 1998-01-07 2002-01-01 Kabushiki Kaisha Toshiba Object extraction apparatus
US6256415B1 (en) * 1998-06-10 2001-07-03 Seiko Epson Corporation Two row buffer image compression (TROBIC)
US7302006B2 (en) * 2002-04-30 2007-11-27 Hewlett-Packard Development Company, L.P. Compression of images and image sequences through adaptive partitioning
KR20050053297A (ko) * 2003-12-02 2005-06-08 학교법인 성균관대학 동영상 부호화 방법 및 장치
US20090010533A1 (en) * 2007-07-05 2009-01-08 Mediatek Inc. Method and apparatus for displaying an encoded image
CN100576921C (zh) * 2008-01-14 2009-12-30 浙江大学 基于块分类的混合图像压缩方法
WO2010022002A1 (en) * 2008-08-19 2010-02-25 Marvell World Trade Ltd Systems and methods for perceptually lossless video compression
KR101522850B1 (ko) * 2010-01-14 2015-05-26 삼성전자주식회사 움직임 벡터를 부호화, 복호화하는 방법 및 장치
JP5614122B2 (ja) 2010-06-21 2014-10-29 富士ゼロックス株式会社 画像データ復号装置
US20120294353A1 (en) * 2011-05-16 2012-11-22 Mediatek Inc. Apparatus and Method of Sample Adaptive Offset for Luma and Chroma Components
US9654785B2 (en) * 2011-06-09 2017-05-16 Qualcomm Incorporated Enhanced intra-prediction mode signaling for video coding using neighboring mode
WO2012174973A1 (en) * 2011-06-20 2012-12-27 Mediatek Inc. Method and apparatus for line buffers reduction
US20130101033A1 (en) * 2011-10-14 2013-04-25 Qualcomm Incorporated Coding non-symmetric distributions of data
US8615138B2 (en) * 2011-11-03 2013-12-24 Google Inc. Image compression using sub-resolution images
KR20130050403A (ko) * 2011-11-07 2013-05-16 오수미 인터 모드에서의 복원 블록 생성 방법
ES2746961T3 (es) * 2012-04-13 2020-03-09 Canon Kk Procedimiento, aparato y sistema para codificar y descodificar un subconjunto de unidades de transformación de datos de vídeo codificados
HRP20231318T1 (hr) * 2012-06-26 2024-02-16 Lg Electronics Inc. Postupak dekodiranja videozapisa, postupak kodiranja videozapisa i medija za pohranu na kojem se pohranjuju kodirane video informacije
US11259020B2 (en) * 2013-04-05 2022-02-22 Qualcomm Incorporated Determining palettes in palette-based video coding
US9558567B2 (en) 2013-07-12 2017-01-31 Qualcomm Incorporated Palette prediction in palette-based video coding
US20150110181A1 (en) * 2013-10-18 2015-04-23 Samsung Electronics Co., Ltd. Methods for palette prediction and intra block copy padding
EP3926955A1 (en) * 2013-12-10 2021-12-22 Canon Kabushiki Kaisha Method and apparatus for encoding or decoding blocks of pixel
JP6322713B2 (ja) * 2014-01-02 2018-05-09 ヴィド スケール インコーポレイテッド スクリーンコンテンツコーディングのための2次元パレットコーディング
CN106105229B (zh) * 2014-03-14 2019-03-15 寰发股份有限公司 使用调色板编码来编码视频数据的块的方法及装置
US9681135B2 (en) * 2014-03-14 2017-06-13 Hfi Innovation Inc. Method for palette table initialization and management
US10264285B2 (en) * 2014-05-22 2019-04-16 Qualcomm Incorporated Coding runs in palette-based video coding
JP6310152B2 (ja) * 2014-05-23 2018-04-11 寰發股▲ふん▼有限公司HFI Innovation Inc. パレットテーブル予測とシグナリングの方法と装置
US9749628B2 (en) * 2014-07-07 2017-08-29 Hfi Innovation Inc. Methods of handling escape pixel as a predictor in index map coding
US9544607B2 (en) * 2014-08-25 2017-01-10 Hfi Innovation Inc. Method of palette index signaling for image and video coding
US20160234494A1 (en) * 2015-02-10 2016-08-11 Qualcomm Incorporated Restriction on palette block size in video coding
CN107409227B (zh) * 2015-03-20 2020-01-21 联发科技(新加坡)私人有限公司 视频编解码方法及装置

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
PU W et al: "Non-RCE4:Refinement of the palette in RCE4 Test 2", no.JCTVC-P0231, 7 Jan. 2014.
Sullivan G J et al: "Meeting Report of 14th JCT-VC Meeting", no JCTVC-N1000, 23 October 2013.

Also Published As

Publication number Publication date
JP6612920B2 (ja) 2019-11-27
US20170195676A1 (en) 2017-07-06
CN114501033B (zh) 2023-11-10
US11044479B2 (en) 2021-06-22
JP2017522804A (ja) 2017-08-10
JP2018142973A (ja) 2018-09-13
KR102042085B1 (ko) 2019-11-08
US20200077095A1 (en) 2020-03-05
CN106716999A (zh) 2017-05-24
KR20170016973A (ko) 2017-02-14
EP3143767A1 (en) 2017-03-22
WO2015192800A1 (en) 2015-12-23
KR20190008435A (ko) 2019-01-23
US10623747B2 (en) 2020-04-14
EP3143767B1 (en) 2022-06-01
CN114501033A (zh) 2022-05-13
EP3143767A4 (en) 2018-05-09
CN110278437A (zh) 2019-09-24
CN106716999B (zh) 2019-08-09
CN110278437B (zh) 2022-03-08
JP6328277B2 (ja) 2018-05-23

Similar Documents

Publication Publication Date Title
KR101943770B1 (ko) 영상 부호화를 위한 팔레트 예측자 신호 방법
AU2019201623B2 (en) Methods of escape pixel coding in index map coding
KR101961385B1 (ko) 인트라 블록 카피 검색 및 보상 범위의 방법
KR101908205B1 (ko) 인트라 화상 블록 카피에 기초한 예측을 이용하는 비디오 코딩 방법
KR102051197B1 (ko) 비디오 코딩에서의 인터 예측으로의 팔레트 코딩 방법
TWI634783B (zh) 用於二叉樹分割塊的確定候選集的方法及裝置
KR102034938B1 (ko) 스크린 콘텐츠 및 비디오 코딩을 위한 인트라 픽처 블록 카피의 방법
EP3033886B1 (en) Method of video coding using prediction based on intra picture block copy
CN107295347B (zh) 用于解码合并模式下的运动信息的装置
JP2019017104A (ja) ビデオを復号化する方法、ビデオを符号化する方法、デコーダ、エンコーダ、復号プログラムを記録したコンピュータ読み取り可能な記録媒体、および符号化プログラムを記録したコンピュータ読み取り可能な記録媒体
KR20180010260A (ko) 화상 및 비디오 데이터의 팔레트 코딩 방법
TWI774141B (zh) 視訊編解碼方法及裝置
US10484696B2 (en) Method and apparatus for color index prediction
CN106797471A (zh) 使用一般化复制之前模式的颜色索引编码方法
KR102152239B1 (ko) 비디오 및 이미지 압축에서의 인덱스 맵 코딩을 위한 방법 및 장치

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
A107 Divisional application of patent
GRNT Written decision to grant