KR20150094729A - 깊이 룩업 테이블의 효율적인 코딩을 위한 방법 및 장치 - Google Patents

깊이 룩업 테이블의 효율적인 코딩을 위한 방법 및 장치 Download PDF

Info

Publication number
KR20150094729A
KR20150094729A KR1020157018489A KR20157018489A KR20150094729A KR 20150094729 A KR20150094729 A KR 20150094729A KR 1020157018489 A KR1020157018489 A KR 1020157018489A KR 20157018489 A KR20157018489 A KR 20157018489A KR 20150094729 A KR20150094729 A KR 20150094729A
Authority
KR
South Korea
Prior art keywords
dlt
value
depth
table value
maximum
Prior art date
Application number
KR1020157018489A
Other languages
English (en)
Other versions
KR101740630B1 (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
Priority claimed from PCT/CN2013/070377 external-priority patent/WO2014107885A1/en
Priority claimed from PCT/CN2013/077983 external-priority patent/WO2014205665A1/en
Priority claimed from PCT/CN2013/081455 external-priority patent/WO2015021614A1/en
Application filed by 미디어텍 싱가폴 피티이. 엘티디. filed Critical 미디어텍 싱가폴 피티이. 엘티디.
Publication of KR20150094729A publication Critical patent/KR20150094729A/ko
Application granted granted Critical
Publication of KR101740630B1 publication Critical patent/KR101740630B1/ko

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N13/00Stereoscopic video systems; Multi-view video systems; Details thereof
    • H04N13/10Processing, recording or transmission of stereoscopic or multi-view image signals
    • H04N13/106Processing image signals
    • H04N13/122Improving the 3D impression of stereoscopic images by modifying image signal contents, e.g. by filtering or adding monoscopic depth cues
    • H04N13/0048
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N13/00Stereoscopic video systems; Multi-view video systems; Details thereof
    • H04N13/10Processing, recording or transmission of stereoscopic or multi-view image signals
    • H04N13/106Processing image signals
    • H04N13/128Adjusting depth or disparity
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/136Incoming video signal characteristics or properties
    • H04N19/14Coding unit complexity, e.g. amount of activity or edge presence estimation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/46Embedding additional information in the video signal during the compression process
    • H04N19/463Embedding additional information in the video signal during the compression process by compressing encoding parameters before transmission
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/48Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using compressed domain processing techniques other than decoding, e.g. modification of transform coefficients, variable length coding [VLC] data or run-length data
    • 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/597Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding specially adapted for multi-view video sequence encoding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N13/00Stereoscopic video systems; Multi-view video systems; Details thereof
    • H04N13/10Processing, recording or transmission of stereoscopic or multi-view image signals
    • H04N13/106Processing image signals
    • H04N13/161Encoding, multiplexing or demultiplexing different image signal components

Landscapes

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

Abstract

제한된 테이블 값 범위를 이용하여 깊이 룩업 테이블(depth lookup table; DLT)을 인코딩 및 디코딩하기 위한 방법 및 장치가 개시된다. 디코더의 경우, DLT의 최소 테이블 값에서부터 최대 테이블 값까지의 제한된 테이블 값 범위는 코딩된 DLT 정보로부터 디코딩된다. 그런 다음, (최소 테이블 값 + 1)에서부터 (최대 테이블 값 - 1)까지의 깊이 범위의 깊이 값들에 대한 비트 맵 값들이 디코딩된다. 비트 맵 값들은 깊이 값들이 각각 DLT에 있는지를 나타낸다. 깊이 범위의 깊이 값들에 대한 비트 맵 값들 및 제한된 테이블 값 범위에 기초하여, 현재 깊이 맵에 대한 DLT를 재구성할 수 있다. 인코더의 경우, DLT의 최소 테이블 값에서부터 최대 테이블 값까지의 제한된 테이블 값 범위가 결정되고, DLT를 코딩된 DLT 정보로 인코딩한다.

Description

깊이 룩업 테이블의 효율적인 코딩을 위한 방법 및 장치{METHOD AND APPARATUS FOR EFFICIENT CODING OF DEPTH LOOKUP TABLE}
관련 출원에 대한 상호 참조
본 발명은 발명의 명칭이 "An Efficient Coding Method for DLT in 3DVC"이고 2013년 1 월 11일자에 출원된 PCT 특허 출원 제PCT/CN2013/070377호, 발명의 명칭이 "An Efficient Coding Method for DLT in 3DVC"이고 2013년 6월 26일자에 출원된 PCT 특허 출원 제PCT/CN2013/077983호, 및 발명의 명칭이 "An Efficient Differential Coding Method for DLT in 3DVC"이고 2013년 8월 14일자에 출원된 PCT 특허 출원 제PCT/CN2013/081455호의 우선권을 주장한다. 상기 PCT 특허 출원들은 참조에 의해 그 전체가 본 명세서에 통합된다.
발명분야
본 발명은 3차원 비디오 코딩에 관한 것이다. 특히, 본 발명은 3차원 및 멀티 뷰(multi-view) 비디오 코딩에서 깊이 룩업 테이블을 코딩하는 것에 관한 것이다.
3차원(3D) 텔레비전은 시청자들에게 놀랄만 한 시청 경험을 제공하도록 의도된 최근의 기술 동향이 있다. 다양한 기술들이 3D 시청을 가능하게 하기 위해 개발되었다. 이들 중에서, 멀티 뷰 비디오는 무엇 보다도 3D TV 애플리케이션의 핵심 기술이다. 종래의 비디오는 카메라의 시각으로부터 단지 단일 보기의 장면만을 시청자들에게 제공하는 2차원(2D) 매체이다. 그러나, 멀티 뷰 비디오는 동적 장면의 임의의 관점을 제공할 수 있고, 리얼리즘 느낌을 시청자들에게 제공할 수 있다.
3D 비디오 코딩에서, 기본 텍스처 이미지와 연관된 깊이 정보는 코딩 효율을 개선시키는 것뿐만 아니라 합성된 시점들의 렌더링에 유용하다. 통상적 장면에 대한 깊이 데이터의 통계적 분포는 대개 희박하다. 일부 깊이 값들은 깊이 맵에 존재하지 않을 수 있다. 따라서, SDC(Simplified Depth Coding) 및 DLT(Depth Lookup Table)가 HTM(HEVC-based Test Model)에 채택되었고, 여기서 HEVC는 새로운 비디오 코딩 표준 - 고효율 비디오 코딩을 나타낸다. HTM에서, 각각의 CU(coding unit; 코딩 유닛)에 대해, 깊이 데이터의 예측 잔여는 대개 변환 코딩된다. 그러나, HTM은 또한 변환을 바이패스하기 위해 깊이 데이터에 대해 변환 스킵 모드를 지원한다. SDC 모드가 선택된 경우, 한 세트의 네 개의 상이한 예측 모드들이 이용 가능하다. 최적 예측 모드가 네 개의 모드들 중에서 선택되는 경우, 그에 따라 잔여가 형성된다. SDC 모드에서, 변환은 예측 잔여에도 적용되지 않는다. SDC 예측 프로세스가 항상 코딩된 블록마다 한 개 또는 두 개의 깊이 세그먼트들을 야기하기 때문에, 단일 잔여 DC 깊이 값이 이러한 세그먼트들 각각에 대해 코딩된다. 더욱이, DLT가 원래의 깊이 맵의 유효한 깊이 값들에 SDC의 코딩된 깊이 값들을 매핑하는데 이용된다. 인코더 측에서, DLT는 입력 깊이 맵의 초기 분석에 기초하여 구성될 수 있다. 그런 다음, DLT는 시퀀스 파라미터 세트(sequence parameter set; SPS)로 코딩된다.
DLT는 깊이 맵 코딩에 대한 선택적 코딩 툴이다. 현재 HTM에 따라, 0부터 최대 깊이 값(예컨대, 255)까지의 모든 깊이 값들이 분석 단계 동안에 원래의 깊이 맵에 나타나면, 인코더는 DLT 코딩 툴을 이용하지 않을 것이다. 그렇지 않으면, DLT는 시퀀스 파라미터 세트(SPS)로 코딩될 것이다. 도 1은 DLT 코딩 프로세스의 예를 나타낸다. DLT를 코딩하기 위해서, 유효 깊이 값들의 수(즉, 이 예에서 5)가 먼저 Exp-Golomb 코드를 이용하여 코딩된다. 그런 다음, 각각의 유효 깊이 값(즉, 이 예에서 50, 108, 110, 112 및 200에서 선택된 깊이 값)이 역시 Exp-Golomb 코드를 이용하여 코딩된다. 표 1은 HTM에 따른 DLT 코딩의 구문을 나타낸다. 구문 요소 dlt_flag[i]는 DLT 코딩 툴이 레이어 i에 의해 지시된 깊이 시퀀스에 대해 이용되는지를 나타낸다. 그 플래그가 DLT 코딩 툴이 이용되는 것으로 나타나면(즉, dlt_flag[i] = 1), 구문 요소 num_depth_values_in_dlt[i]는 DLT의 테이블 값들의 수를 나타내는데 이용된다. 그런 다음, DLT의 테이블 값들은 비트스트림에 포함된다.
Figure pct00001
Exp-Golomb 코드는 작은 값들이 높은 발생 확률을 갖는 경우에 효율적이다. 그러나, 유효 깊이 값의 경우는 그렇지 않다. 그 결과, Exp-Golomb 코드는 DLT 코딩에 효율적이지 않을 수 있다. 공통 테스트 조건에서, 다른 것들은 DLT 코딩 툴을 이용하지 않도록 결정되는 반면, 네 개의 시퀀스들, 즉, Balloons, Kendo, Newspapercc 및 PoznanHall은 DLT 코딩 툴을 이용하도록 결정된다. 통계는 네 개의 시퀀스에 기초하여 수집된다. 표 2에 도시된 바와 같이, DTL는 평균 557.33 비트를 필요로 하고, 이 평균은 깊이 컴포넌트에 대해 SPS 비트의 65 %이상을 차지한다. 다시 말해서, DLT 코딩은 깊이 컴포넌트에 대해 SPS에서 비트의 대다수의 부분에 기여한다. SPS가 DLT를 운반하는 경우, SPS 크기는 DLT가 없는 SPS보다 훨씬 크게 된다.
Figure pct00002
따라서, DLT의 코딩 효율을 개선시킬 새로운 DLT 코딩 툴을 개발하는 것이 바람직하다.
제한된 테이블 값 범위를 이용하여 3차원 또는 멀티 뷰 비디오 코딩에서 깊이 룩업 테이블(depth lookup table; DLT)을 인코딩 및 디코딩하기 위한 방법 및 장치가 개시된다. 디코더의 경우, 본 발명에 따른 실시예들은 코딩된 DLT 정보에 기초하여, DLT의 최소 테이블 값에서부터 최대 테이블 값까지의 제한된 테이블 값 범위를 디코딩한다. 최소 테이블 값은 전체 범위 DLT의 최소 깊이 값보다 크고, 최대 테이블 값은 전체 범위 DLT의 최대 깊이 값보다 작거나, 최소 테이블 값은 최소 깊이 값보다 크고, 최대 테이블 값은 최대 깊이 값보다 작다. 그런 다음, (최소 테이블 값 + 1)에서부터 (최대 테이블 값 - 1)까지의 깊이 범위의 깊이 값들에 대한 비트 맵 값들이 디코딩된다. 비트 맵 값들은 깊이 값들이 각각 DLT에 있는지를 나타낸다. 깊이 범위의 깊이 값들에 대한 비트 맵 값들 및 제한된 테이블 값 범위에 기초하여, 현재 깊이 맵에 대한 DLT를 재구성할 수 있다. 인코더의 경우, 본 발명에 따른 실시예들은 DLT의 최소 테이블 값에서부터 최대 테이블 값까지의 제한된 테이블 값 범위를 결정하고, DLT를 코딩된 DLT 정보로 인코딩하며, 상기 DLT를 코딩된 DLT 정보로 인코딩하는 것은 제한된 테이블 값 범위와 연관된 제 1 정보를 코딩된 DLT 정보로 인코딩하는 것을 포함한다.
전체 범위 DLT 또는 제한된 DLT를 이용할 것인지를 나타내기 위해 플래그가 이용될 수 있다. 제한된 테이블 값 범위는 최대 테이블 차이 및 최소 테이블 값에 의해 나타날 수 있고, 최대 테이블 차이는 최대 테이블 값과 최소 테이블 값 간의 차이에 해당하고, 최소 테이블 값 및 최대 테이블 차이는 무부호(unsigned) 정수를 이용하여 코딩될 수 있다. 최소 테이블 값 및 최대 테이블 차이가 코딩되지 않은 경우, 최소 테이블 값 및 최대 테이블 값은 디폴트 값을 이용할 수 있다. 예를 들어, 최소 테이블 값은 디폴트 값으로서 -1을 이용할 수 있고, 최대 테이블 값은 디폴트 값으로서 MAX_DEPTH_VALUE + 1을 이용할 수 있으며, 여기서 MAX_DEPTH_VALUE는 최대 깊이 값에 해당한다. 제한된 테이블 값 범위는 또한 최대 테이블 값 및 최소 테이블 값으로 나타날 수 있고, 최소 테이블 값 및 최대 테이블 값은 무부호 정수를 이용하여 코딩될 수 있다.
본 발명의 다른 양태는 비트 맵 코딩에 관한 것이다. (최소 테이블 값 + 1)에서부터 (최대 테이블 값 - 1)까지의 깊이 범위의 깊이 값들에 대한 비트 맵 값들이 또한 코딩된 DLT 정보에 통합되고, 이 비트 맵 값들은 개개의 깊이 값들이 DLT에 있는지의 여부를 나타낸다. 일 실시예에서, 깊이 범위의 깊이 갚들에 대한 비트 맵 값들은 비트 맵 값들과 연관된 제로 런(zero-run) 또는 원 런(one-run)에 런 렝스(run-length) 코딩을 이용하여 코딩된다. 다른 실시예에서, 깊이 범위의 깊이 갚들에 대한 비트 맵 값들은 제로 런과 최소 제로 런 간의 또는 원 런과 최소 원 런 간의 차이를 이용하여 코딩된다. 이 차이는 n 비트 고정 길이 코딩을 이용하여 코딩된 DLT 정보로 인코딩될 수 있고, 여기서 n은 양의 정수이다. 차이의 초과 부분은 Exp-Golomb 코드를 이용하여 코딩될 수 있다. n에 대한 최적 값은 코딩된 DLT 정보에 대한 가장 낮은 결과 비트레이트에 기초하여 인코더 측에서 결정될 수 있다. 런 랭스 코딩이 비트 맵 값들을 코딩하는데 이용되는지 또는 비트 맵 값들이 직접적으로 비트 맵으로서 코딩되는지를 시그널링하기 위해 플래그가 코딩될 수 있다.
본 발명의 또 다른 실시예에서, 깊이 범위의 깊이 값들에 대한 비트 맵 값들은 현재 깊이 맵이 종속 뷰(dependent view)에 있는 경우 인터 뷰(inter-view) 코딩을 이용하여 코딩된다. 인터 뷰 비트 맵 값들은 깊이 범위의 깊이 값들과 기준 뷰의 제 2 깊이 맵의 제 2 DLT와 연관된 제 2 비트 맵 값들 사이에 배타적 논리합(Exclusive OR) 연산을 적용함으로써 형성된다.
도 1은 테이블 값(50, 108, 110, 112 및 200)으로 구성된 깊이 룩업 테이블(depth lookup table; DLT)의 예를 나타낸다.
도 2는 본 발명의 실시예에 따라 깊이 룩업 테이블(DLT) 코딩의 예를 나타내고, 여기서 전체 맵 플래그, 최소 테이블 값, 최대 테이블 값, 및 최소 테이블 값과 최대 테이블 값 사이의 테이블 값들에 대한 비트 맵이 코딩된다.
도 3은 본 발명의 실시예에 따라 깊이 룩업 테이블(DLT) 코딩의 예를 나타내고, 여기서 비트 맵은 런 렝스(run-length) 코딩을 이용하여 코딩된다.
도 4는 본 발명의 실시예에 따라 깊이 룩업 테이블(DLT) 코딩의 예를 나타내고, 여기서 인터 뷰(inter-view) 비트 맵은 기준 뷰의 비트 맵에 기초하여 도출된다.
도 5는 본 발명의 실시예에 따라 깊이 룩업 테이블(DLT) 코딩의 예를 나타내고, 여기서 연이은 테이블 값들의 차이가 코딩된다.
도 6은 본 발명의 실시예에 따라 깊이 룩업 테이블을 디코딩하기 위한 예시적인 흐름도를 나타낸다.
도 7은 본 발명의 실시예에 따라 깊이 룩업 테이블을 인코딩하기 위한 예시적인 흐름도를 나타낸다.
본 명세서의 도면에 일반적으로 기술되고 예시된 바와 같이, 본 발명의 컴포넌트들은 매우 다양한 상이한 구성으로 배치되고 설계될 수 있다는 것을 용이하게 이해할 것이다. 따라서, 도면에 나타난 바와 같이, 본 발명의 시스템 및 방법의 실시예들의 다음의 더욱 상세한 설명은, 청구된 바와 같이, 본 발명의 범위를 제한하는 것이 아니라, 단지 본 발명의 선택된 실시예들을 대표하는 것이다.
본 명세서 전반에 걸쳐 "일 실시예", "실시예", 또는 유사한 언어에 대한 참조는 실시예와 함께 기술된 특정 특징, 구조, 또는 특성이 본 발명의 적어도 하나의 실시예에 포함될 수 있다는 것을 의미한다. 따라서, 본 명세서 전반에 걸쳐 다양한 장소에서 "일 실시예에서" 또는 "실시예에서" 구절의 출현은 반드시 모두 동일한 실시예를 나타낼 필요는 없다.
더욱이, 기술된 피처, 구조, 또는 특성은 하나 이상의 실시예들에서 임의의 적합한 방식으로 조합될 수 있다. 그러나, 관련 기술 분야의 당업자는 본 발명이 하나 이상의 특정한 세부 사항들 없이 실행되거나, 다른 방법, 컴포넌트 등과 함께 실행될 수 있다는 것을 인식할 것이다. 다른 경우에, 잘 알려진 구조물 또는 동작들이 본 발명의 양태들을 모호하게 하는 것을 방지하기 위해서 상세하게 기술되거나 도시되지 않는다.
본 발명의 예시된 실시예들은 도면의 참조에 의해 가장 잘 이해될 것이고, 같은 부분은 내내 같은 번호로 지정된다. 다음의 설명은 단지 예로서 의도되고, 단순히 본 명세서에서 청구된 본 발명과 일치하는 장치 및 방법의 특정 선택된 실시예들을 나타낸다.
본 발명은 효율적인 DLT 코딩을 위해 DLT의 범위를 나타내는 코딩 방법을 개시한다. 일 실시예에서, RCBM(Range Constrained Bit Map) 코딩 방법이 개시된다. RCBM에 따라, DLT는 두 단계로 코딩된다.
제 1 단계에서, 최소 테이블 값(즉, min_table_value) 및 최대 테이블 값 차이(즉, diff_max_value)는 DLT의 제한된 값 범위를 나타내기 위해 무부호 정수로서 코딩된다. 가장 큰 테이블 값은 max_table_value로서 지정되고, 이것은 max_table_value = min_table_value + diff_max_value에 따라 결정될 수 있다.
제 2 단계에서, 비트 맵이 코딩되고, 여기서 플래그 bit_map_flag[i]는 기본 깊이 값이 코딩될 DLT에 존재하는지를 나타내는데 이용된다. max_table_value 및 min_table_value 양자 모두가 존재하기 때문에, max_table_value 및 min_table_value을 위한 비트 맵은 필요가 없다. 따라서, bit_map_flag[i]을 위한 인덱스 i는 0에서부터 (max_table_value - min_table_value - 2)까지이다. bit_map_flag [i] = 1이면, DLT의 깊이 값(i + min_table_value + 1)은 존재한다. bit_map_flag [i] = 0이면, DLT의 깊이 값(i + min_table_value + 0)은 존재하지 않는다.
플래그 full_map_flag는 제한된 테이블 값 범위를 갖는 DLT를 이용할 것인지를 시그널링하는데 이용되고, 여기서 제한된 테이블 값 범위는 min_table_value 및 diff_max_value에 의해 식별된다. 제한된 테이블 값 범위가 코딩되지 않을 경우, 디폴트 값이 이용될 수 있다. 예를 들어, min_table_value는 -1의 디폴트 값을 이용할 수 있고, max_table_value은 (MAX_DEPTH_VALUE + 1)의 디폴트 값을 이용할 수 있다. 제한된 범위가 없는 전체 비트 맵이 이 경우에 코딩된다. 전체 비트 맵은 (MAX_DEPTH_VALUE + 1) 비트를 필요로 한다. 인코더는 RCBM이 적은 비트를 야기하는지에 의존하여, RCBM에 따라 DLT를 코딩할 것인지를 결정할 수 있다. 이 실시예에 따라, DLT를 코딩하는데 필요한 비트의 최대 수는 MAX_DEPTH_VALUE + 2(예컨대, 8 비트 샘플의 경우 257)이다.
도 2는 도 1의 DLT를 위한 RCBM에 기초하여 예시적인 코딩 프로세스를 나타낸다. 도 2에서, 단계 210에 도시된 바와 같이, full_map_flag = 0은 전체 맵이 이용되지 않는다는 것을 나타낸다. 단계 220에서, 최소 테이블 값, 즉, min_table_value = 50이 코딩된다. 단계 230에서, 테이블 범위, 즉, diff_max_value = 150이 코딩된다. 단계 240에 도시된 바와 같이, 비트 맵 값, 즉, i = 0,…, 148(즉, 149 비트)에 대한 bit_map_flag[i]가 코딩된다.
RCBM을 지원하기 위한 예시적인 구문이 표 3에 도시된다. 구문 요소 code_full_bit_map_[i]는 전체 맵이 이용되는지의 여부를 나타내는데 이용되는 플래그이다. 전체 비트 맵이 이용되지 않을 경우, 최소 테이블 값(즉, min_dlt_value[i]) 및 범위 값(즉, diff_max_dlt_value[i])이 구문에 통합된다. 전체 맵이 이용되면, 디폴트 min_dlt_value[i] 및 diff_max_dlt_value[i] (즉, -1 및 MAX_DEPTH_VALUE + 1)이 각각 이용될 것이다. 그런 다음, 비트 맵, 즉, bit_map_flag[i][j]이 코딩된다.
Figure pct00003
본 발명의 다른 실시예에서, DLT는 ERCBM(enhanced range constrained bit-map) 코딩 방법을 이용하여 코딩된다. ERCBM에 따라, DLT는 앞서 언급한 바와 같이 범위 제한된 비트 맵으로 표현되고, 여기서 min_dlt_value 및 diff_max_dlt_value는 DLT에 대해 범위 [MinDltValue, MaxDltValue]로 테이블 값을 제한하기 위해 무부호 정수로서 코딩된다. 이 범위 밖의 값들은 DLT에 이용되지 않는다. (MinDltValue, MaxDltValue) 사이의 DLT의 값들은 0에서부터 MaxDltValue - MinDltValue - 2까지의 i를 갖는 비트 맵 BM[i]으로 표현될 수 있다. BM[i] = 1이면, 값(i + MinDltValue + 1)은 DLT에 속한다. 그렇지 않으면, 값(i + MinDltValue + 1)은 DLT에 속하지 않는다.
일부 실시예들에서, 차분 런 렝스 코딩이 비트 맵을 코딩하는데 적용될 수 있다. 다음 설명에서 차분 런 렝스 코딩은 또한 런 렝스 코딩 또는 차분 코딩으로서 언급된다. 비트 맵은 또한 제로 런(zero-run)(즉, 연이은 0의 수) 또는 원 런(one-run)(즉, 연이은 1의 수)의 길이로 표현될 수도 있다. 런 렝스 코딩은 높은 확률의 반복 심볼(즉, 이 경우에 0)을 갖는 기초 데이터에 효율적이다. 적은 수의 테이블 값을 갖는 DLT의 비트 맵의 경우, 제로 런을 통한 런 렝스 코딩이 더욱 효율적일 것이다. 도 3은 본 발명의 실시예를 통합하는 예시적인 차분 런 렝스 코딩을 나타낸다. 제로 런의 길이는 도 3의 DLT에 대해 순차적으로 3, 2, 2, 및 3이고, 제 1 제로 런(즉, 3)은 깊이 값 64와 깊이 값 60 사이의 세 개의 0에 해당하고, 제 2 제로 런은 깊이 값 67과 깊이 값 64 사이의 두 개의 0에 해당하고, 제 3 제로 런은 깊이 값 70과 깊이 값 67 사이의 두 개의 0에 해당하며, 제 4 제로 런은 깊이 값 74와 깊이 값 70 사이의 세 개의 0에 해당한다. 3, 2, 2, 및 3에 각각 해당하는 제로 런은 최소 테이블 값 및 범위 값(즉, 최대 테이블 값과 최소 테이블 값 간의 차이)에 따라 코딩된다. 제로 런은 n 비트를 갖는 고정 길이 코딩에 의해 코딩될 수 있다. 차이가 2n-2를 초과하면, 그 초과량은 Exp-Golomb 코드로 코딩될 것이고, 여기서 n은 차이가 코딩되기 전에 시그널링된다. 인코더는 비트의 최소 수를 야기할 수 있는 최적의 n을 선택할 수 있다.
예측 가능하고 허용 가능한 최악의 경우에 대한 비트 수를 보장하기 위해서, 인코더는 RCBM을 폴 백 모드(fall back mode)로서 이용할 수 있다. 최악의 경우, 0, 1, … 255가 DLT에 포함된다. diff_value는 8 비트를 필요로 하고, min_value는 0 비트를 필요로 하고, run_length_coding_flag는 1 비트를 필요로 하며, bit_map_flag는 RCBM이 이용되는 경우 254 비트를 필요로 한다. 따라서, DLT는 8 비트 깊이 데이터에 대해 최악의 경우에 263 비트로 코딩될 수 있다. 본 발명의 실시예에 따른 예시적인 구문 설계가 표 4에 나타나고, 여기서 min_run_length는 최소 제로 런에 해당하고, run_length_bits_minus1은 (n-1)에 해당하며, run_length_diff[j]는 현재 제로 런과 최소 제로 런 간의 차이에 해당한다.
Figure pct00004
앞서 논의된 바와 같이 DLT를 위한 차분 런 렝스 코딩은 다른 DLT 처리 기술과 결합될 수 있다. 예를 들어, 차분 런 렝스 코딩은 JCT3V-D0054(Fabian Jager, “CE6.H related: Results on Updating Mechanism for Coding of Depth Lookup Table (Delta-DLT)”, Joint Collaborative Team on 3D Video Coding Extensions of ITU-T SG 16 WP 3 and ISO/IEC JTC 1/SC 29/WG 1, 4th Meeting: Incheon, KR, 20-26 Apr. 2013, Document: JCT3V-D0054)에 논의된 바와 같은 델타-DLT 방법과 합동해서 이용될 수 있다. JCT3V-D0054에서, 인터 뷰(inter-view) 상관 관계가 코딩 효율을 개선시키기 위해 이용된다. 델타-DLT 프로세스는 도 4에 나타나고, 여기서 DLT0 및 DLT1은 기본 뷰 및 종속 뷰의 DLT에 각각 해당한다. DLT0 및 DLT1 양자 모두는 전체 비트 맵 형태로 표현된다. DLT1'는 DLT1' = DLT0
Figure pct00005
DLT1로서 계산되고, 여기서 "
Figure pct00006
"는 "배타적 논리합(Exclusive OR)" 연산을 나타낸다. 델타-DLT 방법에 따라, DLT1'가 DLT1 대신에 코딩된다. DLT1'이 디코딩된 이후에, DLT1은 DLT1 = DLT0
Figure pct00007
DLT1'로서 재구성된다. DLT0 및 DLT1이 같은 장면의 두 개의 뷰의 비트 맵에 해당하기 때문에, 이들은 매우 유사해야 한다. 그러므로, 배타적 논리합 연산은 많은 0을 초래할 것이고, 이는 제로 런의 길이 코딩에 유리할 수 있다. 인터 뷰 정보(즉, DLT0)가 오직 재구성 단계에서만 이용되기 때문에, 델타-DLT 방식은 어떠한 구문 분석 의존 문제도 도입하지 않는다. 그러므로, ERCBM은 DLT가 VPS(video parameter set; 비디오 파라미터 세트), SPS(sequence parameter set; 시퀀스 파라미터 세트), PPS(picture parameter set; 픽처 파라미터 세트) 또는 슬라이스 헤더로 코딩되는 것에 상관없이 잘 작동할 수 있다.
min_dlt_value 및 diff_max_dlt_value가 앞서와 같이 DLT의 제한된 테이블 값 범위 [MinDltValue, MaxDltValue]를 나타내기 위해 무부호 정수로서 코딩되는 경우, 차분 코딩 방법이 개시된다. 이 범위 밖의 값들은 DLT에 이용되지 않는다. DLT의 연이은 값들 간의 차이가 또한 DLT를 나타내는데 이용될 수 있다. 차이, 즉, Diff[i]는 (DLTValue[i+1] - DLTVlaue[i] - 1)로서 정의된다. 예를 들어, DLT의 테이블 값이 60, 64, 67, 70 및 74이면, 해당하는 차이는 3, 2, 2 및 3이다. 연이은 값들 간의 차이는 또한 제로 런으로 해석될 수 있다.
차분 또는 런 렝스 코딩 효율을 더욱 개선시키기 위해서, 최소 차이(즉, 최소 제로 런)가 먼저 코딩되고, 그런 다음, 개개의 차이(즉, 제로 런)와 최소 차이 간의 델타가 그 뒤에 코딩된다. 도 5는 차이가 3, 2, 2, 및 3인 경우, DLT의 예를 입증한다. 최소 차이 '2'가 먼저 코딩되고, 그런 다음 그 차이에 해당하는 델타, 즉, 1, 0, 0, 1이 순차적으로 코딩된다. 델타는 n 비트를 갖는 고정 길이 코딩에 의해 코딩될 수 있다. 차이가 2n-2를 초과하면, 그 초과량은 Exp-Golomb 코드로 코딩될 것이다. 델타가 코딩되기 전에, 고정 길이 코딩을 위한 비트의 수, 즉, n이 시그널링된다. n이 항상 0보다 크기 때문에, n 대신에 n-1이 코딩된다. 인코더는 DLT에 대해 비트의 최소 수를 야기할 수 있는 최적의 n을 선택할 수 있다.
LDT에서의 최소 값과 기본 값 간의 차이의 델타를 이용하는 코딩 프로세스는 도 5에 기초하여 기술될 수 있다. 인코더 측에서, 인코딩 프로세스는 다음과 같다:
a. 최소 값 '60'과 최대 값 '74' 간의 차이는 '14'이다. 그러므로, diff_max_dlt_value = 14가 먼저 코딩된다.
b. 그런 다음, min_dlt_value = 60이 코딩된다.
c. min_diff = 2가 코딩된다.
d. DLT의 테이블 값과 연관된 델타는 1, 0, 0, 1에 해당한다. n = 1이면, 델타를 위해 필요한 비트는 각각 2, 1, 1, 2이고, 이는 총 6 비트를 야기한다. n = 2이면, 델타를 위해 필요한 비트는 각각 2, 2, 2, 2이고, 이는 총 8 비트를 야기한다. n이 커지면, 총 비트도 더욱 커질 것이다. 그 결과, 인코더는 n = 1을 선택할 것이다. 따라서, diff_bits_minus1는 (n-1) = 0의 값을 가질 것이다.
e. 2n-1로서 정의된 DiffBoundary는 1과 같다. 구문 요소 diff_minus_min (즉, 현재 차이와 최소 차이 간의 델타) 및 diff_minus_min_rem(즉, 델타의 초과부분)이 다음과 같이 코딩된다:
diff_minus_min[0] = 1, diff_minus_min_rem[0] = 0;
diff_minus_min[1] = 0, diff_minus_min_rem[1]은 코딩되지 않음;
diff_minus_min[2] = 0, diff_minus_min_rem[2]은 코딩되지 않음;
diff_minus_min[3] = 1, diff_minus_min_rem[3] = 0;
디코더 측에서, 디코딩 프로세스는 다음과 같다:
a. min_dlt_value = 60이기 때문에, DLTValue[0] = 60이다. DLT의 최대 값은 60 + 14 = 74이다;
b. Diff[0] = 2 + 1 + 0 = 3이라서, DLTValue[1] = 60 + 3 + 1 = 64이다;
c. Diff[1] = 2 + 0 = 2이라서, DLTValue[2] = 64 + 2 + 1 = 67이다;
d. Diff[2] = 2 + 0 = 3이라서, DLTValue[3] = 67 + 2 + 1 = 70이다;
e. Diff[3] = 2+1+0=3이라서, DLTValue[5] = 70+ 3 + 1 = 74이다; 74는 DLT의 최대 값과 같아서, 구문 분석 차이를 정지시킨다.
본 발명의 실시예에 기초하여 차이의 델타를 통합하는 예시적인 구문이 표 5에 도시된다. 플래그 DLTDeduced는 DLT가 diff_max_dlt_value 및 min_dlt_value로부터 추론될 수 있는지를 나타내는데 이용된다. diff_max_dlt_value가 0이면, DLT에 오직 하나의 값(즉, min_dlt_value)만 존재할 것이고, 플래그 DLTDeduced는 1로 설정된다. 더욱이, diff_max_dlt_value가 1이면, DLT에 오직 두 개의 값(즉, min_dlt_value 및 min_dlt_value+1)만 존재할 것이고, 플래그 DLTDeduced는 또한 1로 설정된다. 다른 모든 경우에서, DLTDeduced는 0으로 설정된다.
Figure pct00008
일 실시예에서, 플래그는 차분 런 렝스 코딩이 DLT의 비트 맵 값을 코딩하는데 이용되는지를 시그널링하기 위해 코딩된다. 예를 들어, 인코더 및 디코더는 플래그가 0일 경우 직접적으로 비트 맵으로서 DLT의 비트 맵 값을 코딩하기 위해 비트 맵 코딩 방법을 적용하고, 플래그가 1일 경우 DLT의 비트 맵 값을 코딩하기 위해 차분 런 렝스 코딩 방법을 적용한다. 비트 맵 값은 깊이 값이 DLT에 각각 있는지를 나타낸다.
도 6은 본 발명의 실시예에 따라 제한된 테이블 값 범위를 통합하는 3차원 또는 멀티 뷰 비디오 코딩 시스템에서 깊이 룩업 테이블(DLT) 디코딩을 위한 예시적인 흐름도를 나타낸다. 단계 610에 도시된 바와 같이, 시스템은 현재 깊이 맵의 코딩된 DLT 정보와 연관된 입력 데이터를 수신한다. 입력 데이터는 또한 제어기, 중앙 처리 장치, 디지털 신호 프로세서 또는 입력 데이터를 생성하는 전자 회로와 같은 프로세서로부터 수신될 수 있다. 단계 620에 도시된 바와 같이, DLT의 최소 테이블 값에서부터 최대 테이블 값까지의 제한된 테이블 값 범위는 코딩된 DLT 정보에 기초하여 디코딩된다. 최소 테이블 값은 전체 범위 DLT의 최소 깊이 값보다 크고, 최대 테이블 값은 전체 범위 DLT의 최대 깊이 값보다 작거나, 최소 테이블 값은 최소 깊이 값보다 크고, 최대 테이블 값은 최대 깊이 값보다 작다. 그런 다음, 단계 630에 도시된 바와 같이, (최소 테이블 값 + 1)에서부터 (최대 테이블 값 - 1)까지의 깊이 범위의 깊이 값들에 대한 비트 맵 값들이 디코딩되고, 여기서 비트 맵 값들은 깊이 값들이 DLT에 있는지를 각각 나타낸다. 그런 다음, 현재 깊이 맵에 대한 DLT는 깊이 범위의 깊이 값들에 대한 비트 맵 값들 및 제한된 테이블 값 범위에 기초하여 재구성된다.
도 7은 본 발명의 실시예에 따라 제한된 테이블 값 범위를 통합하는 3차원 또는 멀티 뷰 비디오 코딩 시스템에서 깊이 룩업 테이블(DLT) 인코딩을 위한 예시적인 흐름도를 나타낸다. 단계 710에 도시된 바와 같이, 시스템은 현재 깊이 맵의 DLT 정보와 연관된 입력 데이터를 수신한다. 입력 데이터는 또한 제어기, 중앙 처리 장치, 디지털 신호 프로세서 또는 입력 데이터를 생성하는 전자 회로와 같은 프로세서로부터 수신될 수 있다. 단계 720에 도시된 바와 같이, DLT의 최소 테이블 값에서부터 최대 테이블 값까지의 제한된 테이블 값 범위가 결정된다. 최소 테이블 값은 전체 범위 DLT의 최소 깊이 값보다 크고, 최대 테이블 값은 전체 범위 DLT의 최대 깊이 값보다 작거나, 최소 테이블 값은 최소 깊이 값보다 크고, 최대 테이블 값은 최대 깊이 값보다 작다. 그런 다음, 단계 730에 도시된 바와 같이, DLT는 코딩된 DLT 정보로 인코딩되고, 상기 DLT를 코딩된 DLT 정보로 인코딩하는 것은 제한된 테이블 값 범위와 연관된 제 1 정보를 코딩된 DLT 정보로 인코딩하는 것을 포함한다.
앞서 도시된 흐름도는 제한된 테이블 범위를 갖는 깊이 룩업 테이블의 예를 나타내도록 의도된다. 발명 기술 분야의 당업자는 본 발명의 사상을 벗어나지 않고 본 발명을 실시하기 위해서 각 단계를 수정하거나, 단계를 재배열하거나, 단계를 분할하거나, 단계를 결합할 수 있다.
위의 설명은 특정한 애플리케이션 및 그것의 요구 사항의 컨텍스트에 제공되는 바와 같이 발명 기술 분야의 당업자가 본 발명을 실시할 수 있도록 제시된다. 기술된 실시예들에 대한 다양한 수정이 발명 기술 분야의 당업자에게 명백할 것이고, 본 명세서에서 정의된 일반적인 원리들은 다른 실시예들에 적용될 수 있다. 그러므로, 본 발명은 도시되고 기술된 특정한 실시예들로 제한되도록 의도되는 것이 아니라, 본 명세서에 개시된 원리 및 새로운 특징들과 일치하는 가장 넓은 범위가 부여될 것이다. 위의 상세한 설명에서, 본 발명의 완전한 이해를 제공하기 위해서, 다양한 구체적인 상세한 사항들이 나타난다. 그럼에도 불구하고, 본 발명이 실시될 수 있다는 것을 발명 기술 분야의 당업자에 의해 이해될 것이다.
위에 기술된 바와 같은 본 발명의 실시예들은 다양한 하드웨어, 소프트웨어 코드, 또는 이들의 조합으로 구현될 수 있다. 예를 들어, 본 발명의 실시예는 본 명세서에 기술된 프로세싱을 수행하기 위해서 비디오 압축 칩에 통합된 회로 또는 비디오 압축 소프트웨어에 통합된 프로그램 코드일 수 있다. 본 발명의 실시예는 또한 본 명세서에 기술된 프로세싱을 수행하기 위해서 디지털 신호 프로세서(Digital Signal Processor; DSP) 상에서 실행될 프로그램 코드일 수도 있다. 본 발명은 또한 컴퓨터 프로세서, 디지털 신호 프로세서, 마이크로프로세서, 또는 필드 프로그램 가능한 게이트 어레이(field programmable gate array; FPGA)에 의해 수행될 다수의 기능들을 포함할 수도 있다. 이러한 프로세서들은 본 발명에 의해 구현되는 특정한 방법들을 정의하는 기계 판독 가능 소프트웨어 코드 또는 펌웨어 코드를 실행함으로써, 본 발명에 따른 특정한 작업들을 수행하도록 구성될 수 있다. 소프트웨어 코드 또는 펌웨어 코드는 상이한 프로그래밍 언어 및 상이한 포맷 또는 방식으로 개발될 수 있다. 소프트웨어 코드는 또한 상이한 타겟 플랫폼으로 컴파일될 수도 있다. 그러나, 소프트웨어 코드의 상이한 코드 포맷, 방식 및 언어 및 본 발명을 따르는 작업들을 수행하기 위한 코드를 구성하는 다른 수단들은 본 발명의 사상 및 범위로부터 벗어나지 않을 것이다.
본 발명은 본 발명의 사상 또는 본질적인 특징으로부터 벗어남 없이 기타의 특정한 형태로 구현될 수 있다. 기술된 예들은 모든 측면들에서 제한이 아닌 단지 설명용으로서 고려되어야 한다. 따라서 본 발명의 범위는 전술한 설명에 의한 것 보다는 첨부된 특허청구범위에 의해 나타난다. 특허청구범위의 등가적인 범위 및 의미에 속하는 모든 변경들은 본 발명의 범위 내에 포함되어야 한다.

Claims (28)

  1. 3차원 또는 멀티 뷰 비디오 코딩 시스템에서 DLT(depth lookup table; 깊이 룩업 테이블)를 디코딩하기 위한 방법에 있어서,
    현재 깊이 맵의 코딩된 DLT 정보와 연관된 입력 데이터를 수신하는 단계;
    상기 코딩된 DLT 정보에 기초하여, 상기 DLT의 최소 테이블 값에서부터 최대 테이블 값까지의 제한된 테이블 값 범위를 디코딩하는 단계로서, 상기 최소 테이블 값은 전체 범위 DLT의 최소 깊이 값보다 크고, 상기 최대 테이블 값은 상기 전체 범위 DLT의 최대 깊이 값보다 작거나, 상기 최소 테이블 값은 상기 최소 깊이 값보다 크고, 상기 최대 테이블 값은 상기 최대 깊이 값보다 작은 것인, 제한된 테이블 값 범위를 디코딩하는 단계;
    (상기 최소 테이블 값 + 1)에서부터 (상기 최대 테이블 값 - 1)까지의 깊이 범위의 깊이 값들에 대한 비트 맵 값들을 디코딩하는 단계로서, 상기 비트 맵 값들은 상기 깊이 값들이 각각 상기 DLT에 있는지를 나타내는 것인, 깊이 값들에 대한 비트 맵 값들을 디코딩하는 단계; 및
    상기 깊이 범위의 상기 깊이 값들에 대한 상기 비트 맵 값들 및 상기 제한된 테이블 값 범위에 기초하여, 상기 현재 깊이 맵에 대한 상기 DLT를 재구성하는 단계
    를 포함하는 DLT를 디코딩하기 위한 방법.
  2. 제 1 항에 있어서,
    상기 전체 범위 DLT 또는 제한된 DLT를 이용할 것인지를 나타내기 위해 제 1 플래그를 디코딩하는 단계를 더 포함하고,
    상기 제한된 DLT는 상기 최소 테이블 값에서부터 상기 최대 테이블 값까지의 상기 제한된 테이블 값 범위를 갖는 것인, DLT를 디코딩하기 위한 방법.
  3. 제 1 항에 있어서, 상기 제한된 테이블 값 범위는 상기 코딩된 DLT 정보의 최대 테이블 차이 및 상기 최소 테이블 값에 의해 나타나고, 상기 최대 테이블 차이는 상기 최대 테이블 값과 상기 최소 테이블 값 간의 제 1 차이에 해당하고, 상기 최소 테이블 값 및 상기 최대 테이블 차이는 무부호(unsigned) 정수를 이용하여 코딩되는 것인, DLT를 디코딩하기 위한 방법.
  4. 제 3 항에 있어서, 상기 최소 테이블 값 및 상기 최대 테이블 차이가 상기 코딩된 DLT 정보에 코딩되지 않은 경우, 상기 최소 테이블 값 및 상기 최대 테이블 값은 디폴트 값을 이용하는 것인, DLT를 디코딩하기 위한 방법.
  5. 제 4 항에 있어서, 상기 최소 테이블 값은 -1에 해당하는 제 1 디폴트 값을 이용하고, 상기 최대 테이블 값은 MAX_DEPTH_VALUE + 1에 해당하는 제 2 디폴트 값을 이용하며, 상기 MAX_DEPTH_VALUE는 상기 최대 깊이 값에 해당하는 것인, DLT를 디코딩하기 위한 방법.
  6. 제 1 항에 있어서, 상기 제한된 테이블 값 범위는 상기 코딩된 DLT 정보에 코딩된 상기 최대 테이블 값 및 상기 최소 테이블 값으로 나타나고, 상기 최소 테이블 값 및 상기 최대 테이블 값은 무부호 정수를 이용하여 코딩되는 것인, DLT를 디코딩하기 위한 방법.
  7. 제 1 항에 있어서, 상기 깊이 범위의 상기 깊이 갚들에 대한 상기 비트 맵 값들은, 상기 비트 맵 값들과 연관된 제로 런(zero-run) 또는 원 런(one-run)에 런 렝스(run-length) 코딩을 이용하여 코딩되는 것인, DLT를 디코딩하기 위한 방법.
  8. 제 7 항에 있어서, 상기 제로 런과 최소 제로 런 간의 또는 상기 원 런과 최소 원 런 간의 제 2 차이가 인코딩되는 것인, DLT를 디코딩하기 위한 방법.
  9. 제 8 항에 있어서,
    상기 코딩된 DLT 정보로부터 파라미터 n을 디코딩하는 단계를 더 포함하고,
    상기 제 2 차이는 n 비트 고정 길이 코딩을 이용하여 코딩되고, n은 양의 정수인 것인, DLT를 디코딩하기 위한 방법.
  10. 제 9 항에 있어서, 상기 n 비트 고정 길이 코딩이, 현재 제 2 차이가 n 비트에 의해 표현되는 최대 n 비트 값을 초과하는 것을 나타내는 경우, 상기 코딩된 DLT 정보로부터 상기 현재 제 2 차이의 초과 부분을 디코딩하는 단계를 더 포함하고,
    상기 초과 부분은 Exp-Golomb 코드를 이용하여 코딩되며, 상기 초과 부분은 상기 현재 제 2 차이와 상기 최대 n 비트 값 간의 제 3 차이에 해당하는 것인, DLT를 디코딩하기 위한 방법.
  11. 제 7 항에 있어서, 상기 DLT가 상기 런 렝스 코딩을 이용하여 인코딩되거나, 상기 DLT가 직접적으로 비트 맵으로서 인코딩되는지를 나타내기 위해 플래그가 시그널링되는 것인, DLT를 디코딩하기 위한 방법.
  12. 제 1 항에 있어서, 상기 깊이 범위의 상기 깊이 값들에 대한 상기 비트 맵 값들은, 상기 현재 깊이 맵이 종속 뷰(dependent view)에 있는 경우, 인터 뷰(inter-view) 코딩을 이용하여 코딩되고, 인터 뷰 비트 맵 값들은, 상기 깊이 범위의 상기 깊이 값들과 기준 뷰(base view)의 제 2 깊이 맵의 제 2 DLT와 연관된 제 2 비트 맵 값들 사이에 배타적 논리합(Exclusive OR) 연산을 적용함으로써 형성되는 것인, DLT를 디코딩하기 위한 방법.
  13. 3차원 또는 멀티 뷰 비디오 코딩 시스템에서 DLT(깊이 룩업 테이블)를 인코딩하기 위한 방법에 있어서,
    현재 깊이 맵의 DLT와 연관된 입력 데이터를 수신하는 단계;
    상기 DLT의 최소 테이블 값에서부터 최대 테이블 값까지의 제한된 테이블 값 범위를 결정하는 단계로서, 상기 최소 테이블 값은 전체 범위 DLT의 최소 깊이 값보다 크고, 상기 최대 테이블 값은 상기 전체 범위 DLT의 최대 깊이 값보다 작거나, 상기 최소 테이블 값은 상기 최소 깊이 값보다 크고, 상기 최대 테이블 값은 상기 최대 깊이 값보다 작은 것인, 제한된 테이블 값 범위를 결정하는 단계; 및
    상기 DLT를 코딩된 DLT 정보로 인코딩하는 단계로서, 상기 DLT를 상기 코딩된 DLT 정보로 인코딩하는 단계는, 상기 제한된 테이블 값 범위와 연관된 제 1 정보를 상기 코딩된 DLT 정보로 인코딩하는 단계를 포함하는 것인, 상기 DLT를 코딩된 DLT 정보로 인코딩하는 단계
    를 포함하는 DLT를 인코딩하기 위한 방법.
  14. 제 13 항에 있어서,
    상기 전체 범위 DLT 또는 제한된 DLT를 이용할 것인지를 나타내기 위해 제 1 플래그를 인코딩하는 단계를 더 포함하고,
    상기 제한된 DLT는 상기 최소 테이블 값에서부터 상기 최대 테이블 값까지의 상기 제한된 테이블 값 범위를 갖는 것인, DLT를 인코딩하기 위한 방법.
  15. 제 13 항에 있어서, 상기 제한된 테이블 값 범위와 연관된 상기 제 1 정보는 상기 최소 테이블 값 및 최대 테이블 차이로 구성되고, 상기 최대 테이블 차이는 상기 최대 테이블 값과 상기 최소 테이블 값 간의 제 1 차이에 해당하고, 상기 최소 테이블 값 및 상기 최대 테이블 차이는 무부호 정수를 이용하여 코딩되는 것인, DLT를 인코딩하기 위한 방법.
  16. 제 15 항에 있어서, 상기 최소 테이블 값 및 상기 최대 테이블 차이가 코딩되지 않은 경우, 상기 최소 테이블 값 및 상기 최대 테이블 값은 디폴트 값을 이용하는 것인, DLT를 인코딩하기 위한 방법.
  17. 제 16 항에 있어서, 상기 최소 테이블 값은 -1에 해당하는 제 1 디폴트 값을 이용하고, 상기 최대 테이블 값은 MAX_DEPTH_VALUE + 1에 해당하는 제 2 디폴트 값을 이용하며, 상기 MAX_DEPTH_VALUE는 상기 최대 깊이 값에 해당하는 것인, DLT를 인코딩하기 위한 방법.
  18. 제 13 항에 있어서, 상기 제한된 테이블 값 범위와 연관된 상기 제 1 정보는 상기 최대 테이블 값 및 상기 최소 테이블 값으로 구성되고, 상기 최소 테이블 값 및 상기 최대 테이블 값은 무부호 정수를 이용하여 코딩되는 것인, DLT를 인코딩하기 위한 방법.
  19. 제 13 항에 있어서,
    (상기 최소 테이블 값 + 1)에서부터 (상기 최대 테이블 값 - 1)까지의 깊이 범위의 깊이 값들에 대한 비트 맵 값들을 인코딩하는 단계를 더 포함하고,
    상기 비트 맵 값들은 상기 깊이 값들이 각각 상기 DLT에 있는지를 나타내는 것인, DLT를 인코딩하기 위한 방법.
  20. 제 19 항에 있어서, 상기 깊이 범위의 상기 깊이 갚들에 대한 상기 비트 맵 값들은, 상기 비트 맵 값들과 연관된 제로 런 또는 원 런에 런 렝스 코딩을 이용하여 코딩되는 것인, DLT를 인코딩하기 위한 방법.
  21. 제 20 항에 있어서, 상기 제로 런과 최소 제로 런 간의 또는 상기 원 런과 최소 원 런 간의 제 2 차이가 인코딩되는 것인, DLT를 인코딩하기 위한 방법.
  22. 제 21 항에 있어서,
    상기 DLT가 상기 런 렝스 코딩을 이용하여 인코딩되거나, 상기 DLT가 직접적으로 비트 맵으로서 인코딩되는지를 나타내기 위해 플래그를 인코딩하는 단계를 더 포함하는 DLT를 인코딩하기 위한 방법.
  23. 제 21 항에 있어서, 상기 제 2 차이는 n 비트 고정 길이 코딩을 이용하여 상기 코딩된 DLT 정보로 인코딩되고, 여기서 n은 양의 정수인 것인, DLT를 인코딩하기 위한 방법.
  24. 제 23 항에 있어서, 현재 제 2 차이가 n 비트에 의해 표현되는 최대 n 비트 값을 초과하는 경우, 상기 현재 제 2 차이의 초과 부분은 Exp-Golomb 코드를 이용하여 코딩되고, 상기 초과 부분은 상기 현재 제 2 차이와 상기 최대 n 비트 값 간의 제 3 차이에 해당하는 것인, DLT를 인코딩하기 위한 방법.
  25. 제 23 항에 있어서, n에 대한 최적 값은 상기 코딩된 DLT 정보에 대한 가장 낮은 결과 비트레이트에 기초하여 결정되는 것인, DLT를 인코딩하기 위한 방법.
  26. 제 19 항에 있어서, 상기 깊이 범위의 상기 깊이 값들에 대한 상기 비트 맵 값들은, 상기 현재 깊이 맵이 종속 뷰에 있는 경우, 인터 뷰 코딩을 이용하여 코딩되고, 인터 뷰 비트 맵 값들은, 상기 깊이 범위의 상기 깊이 값들과 기준 뷰의 제 2 깊이 맵의 제 2 DLT와 연관된 제 2 비트 맵 값들 사이에 배타적 논리합(Exclusive OR) 연산을 적용함으로써 형성되는 것인, DLT를 인코딩하기 위한 방법.
  27. 3차원 또는 멀티 뷰 비디오 코딩 시스템에서 DLT(깊이 룩업 테이블)를 디코딩하기 위한 장치에 있어서, 상기 장치는 하나 이상의 전자 회로들을 포함하고, 상기 하나 이상의 전자 회로들은,
    현재 깊이 맵의 코딩된 DLT 정보와 연관된 입력 데이터를 수신하고;
    상기 코딩된 DLT 정보에 기초하여, 상기 DLT의 최소 테이블 값에서부터 최대 테이블 값까지의 제한된 테이블 값 범위를 디코딩하는 것으로서, 상기 최소 테이블 값은 전체 범위 DLT의 최소 깊이 값보다 크고, 상기 최대 테이블 값은 상기 전체 범위 DLT의 최대 깊이 값보다 작거나, 상기 최소 테이블 값은 상기 최소 깊이 값보다 크고, 상기 최대 테이블 값은 상기 최대 깊이 값보다 작은 것인, 제한된 테이블 값 범위를 디코딩하고;
    (상기 최소 테이블 값 + 1)에서부터 (상기 최대 테이블 값 - 1)까지의 깊이 범위의 깊이 값들에 대한 비트 맵 값들을 디코딩하는 것으로서, 상기 비트 맵 값들은, 상기 깊이 값들이 각각 상기 DLT에 있는지를 나타내는 것인, 깊이 값들에 대한 비트 맵 값들을 디코딩하며;
    상기 깊이 범위의 상기 깊이 값들에 대한 상기 비트 맵 값들 및 상기 제한된 테이블 값 범위에 기초하여, 상기 현재 깊이 맵에 대한 상기 DLT를 재구성하도록 구성되는 것인, DLT를 디코딩하기 위한 장치.
  28. 3차원 또는 멀티 뷰 비디오 코딩 시스템에서 DLT(깊이 룩업 테이블)를 인코딩하기 위한 장치에 있어서, 상기 장치는 하나 이상의 전자 회로들을 포함하고, 상기 하나 이상의 전자 회로들은,
    현재 깊이 맵의 DLT와 연관된 입력 데이터를 수신하고;
    상기 DLT의 최소 테이블 값에서부터 최대 테이블 값까지의 제한된 테이블 값 범위를 결정하는 것으로서, 상기 최소 테이블 값은 전체 범위 DLT의 최소 깊이 값보다 크고, 상기 최대 테이블 값은 상기 전체 범위 DLT의 최대 깊이 값보다 작거나, 상기 최소 테이블 값은 상기 최소 깊이 값보다 크고, 상기 최대 테이블 값은 상기 최대 깊이 값보다 작은 것인, 제한된 테이블 값 범위를 결정하며;
    상기 DLT를 코딩된 DLT 정보로 인코딩하는 것으로서, 상기 DLT를 상기 코딩된 DLT 정보로 인코딩하는 것은, 상기 제한된 테이블 값 범위와 연관된 제 1 정보를 상기 코딩된 DLT 정보로 인코딩하는 것을 포함하는 것인, 상기 DLT를 코딩된 DLT 정보로 인코딩하도록 구성되는 것인, DLT를 인코딩하기 위한 장치.
KR1020157018489A 2013-01-11 2014-01-10 깊이 룩업 테이블의 효율적인 코딩을 위한 방법 및 장치 KR101740630B1 (ko)

Applications Claiming Priority (7)

Application Number Priority Date Filing Date Title
PCT/CN2013/070377 WO2014107885A1 (en) 2013-01-11 2013-01-11 An efficient coding method for dlt in 3dvc
CNPCT/CN2013/070377 2013-01-11
PCT/CN2013/077983 WO2014205665A1 (en) 2013-06-26 2013-06-26 An efficient coding method for dlt in 3dvc
CNPCT/CN2013/077983 2013-06-26
CNPCT/CN2013/081455 2013-08-14
PCT/CN2013/081455 WO2015021614A1 (en) 2013-08-14 2013-08-14 An efficient differential coding method for dlt in 3dvc
PCT/CN2014/070428 WO2014108088A1 (en) 2013-01-11 2014-01-10 Method and apparatus for efficient coding of depth lookup table

Publications (2)

Publication Number Publication Date
KR20150094729A true KR20150094729A (ko) 2015-08-19
KR101740630B1 KR101740630B1 (ko) 2017-05-26

Family

ID=51166537

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020157018489A KR101740630B1 (ko) 2013-01-11 2014-01-10 깊이 룩업 테이블의 효율적인 코딩을 위한 방법 및 장치

Country Status (5)

Country Link
US (1) US9762882B2 (ko)
EP (1) EP2944080B1 (ko)
KR (1) KR101740630B1 (ko)
CA (1) CA2893011C (ko)
WO (1) WO2014108088A1 (ko)

Families Citing this family (28)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105009575B (zh) * 2013-03-13 2018-12-07 华为技术有限公司 一种基于子范围编码深度查询表的方法
CN104079941B (zh) * 2013-03-27 2017-08-25 中兴通讯股份有限公司 一种深度信息编解码方法、装置及视频处理播放设备
EP2985996B1 (en) * 2013-04-10 2018-11-21 ZTE Corporation Depth information encoding and decoding method and device
WO2014166119A1 (en) * 2013-04-12 2014-10-16 Mediatek Inc. Stereo compatibility high level syntax
CN105659606B (zh) 2013-10-14 2019-06-18 微软技术许可有限责任公司 用于视频和图像编码和解码的方法、系统和介质
US10542274B2 (en) 2014-02-21 2020-01-21 Microsoft Technology Licensing, Llc Dictionary encoding and decoding of screen content
WO2015139203A1 (en) * 2014-03-18 2015-09-24 Mediatek Singapore Pte. Ltd. Dlt signaling in 3d video coding
US9860562B2 (en) 2014-09-30 2018-01-02 Hfi Innovation Inc. Method of lookup table size reduction for depth modelling mode in depth coding
KR102330740B1 (ko) 2014-09-30 2021-11-23 마이크로소프트 테크놀로지 라이센싱, 엘엘씨 파면 병렬 프로세싱이 인에이블되는 경우의 인트라 픽쳐 예측 모드에 대한 규칙
CN106664405B (zh) 2015-06-09 2020-06-09 微软技术许可有限责任公司 用调色板模式对经逸出编码的像素的稳健编码/解码
CN105915917A (zh) * 2015-07-24 2016-08-31 乐视云计算有限公司 深度信息编码方法、解码方法及装置
US10623723B2 (en) * 2016-09-29 2020-04-14 Intel Corporation Hybrid stereo rendering for depth extension in dynamic light field displays
EP3797516A1 (en) 2018-06-29 2021-03-31 Beijing Bytedance Network Technology Co. Ltd. Interaction between lut and amvp
KR102611261B1 (ko) 2018-06-29 2023-12-08 베이징 바이트댄스 네트워크 테크놀로지 컴퍼니, 리미티드 업데이트 대상 lut 또는 비업데이트 lut의 구별
KR20210025537A (ko) 2018-06-29 2021-03-09 베이징 바이트댄스 네트워크 테크놀로지 컴퍼니, 리미티드 하나 또는 다수의 룩업 테이블들을 사용하여 이전에 코딩된 모션 정보를 순서대로 저장하고 이를 사용하여 후속 블록들을 코딩하는 개념
TWI723445B (zh) 2018-06-29 2021-04-01 大陸商北京字節跳動網絡技術有限公司 查找表的更新:fifo、約束的fifo
JP7460617B2 (ja) 2018-06-29 2024-04-02 北京字節跳動網絡技術有限公司 Lut更新条件
TWI728390B (zh) 2018-06-29 2021-05-21 大陸商北京字節跳動網絡技術有限公司 查找表尺寸
KR20210024502A (ko) 2018-06-29 2021-03-05 베이징 바이트댄스 네트워크 테크놀로지 컴퍼니, 리미티드 Hmvp 후보를 병합/amvp에 추가할 때의 부분/풀 프루닝
CN114885173A (zh) 2018-06-29 2022-08-09 抖音视界(北京)有限公司 Lut中的运动候选的检查顺序
TWI723446B (zh) 2018-07-02 2021-04-01 大陸商北京字節跳動網絡技術有限公司 具有lic的lut
TWI820211B (zh) 2018-09-12 2023-11-01 大陸商北京字節跳動網絡技術有限公司 取決於總數減去k的開始檢查hmvp候選的條件
KR102648159B1 (ko) 2019-01-10 2024-03-18 베이징 바이트댄스 네트워크 테크놀로지 컴퍼니, 리미티드 Lut 업데이트의 호출
WO2020143824A1 (en) 2019-01-13 2020-07-16 Beijing Bytedance Network Technology Co., Ltd. Interaction between lut and shared merge list
WO2020147773A1 (en) 2019-01-16 2020-07-23 Beijing Bytedance Network Technology Co., Ltd. Inserting order of motion candidates in lut
CN113615193B (zh) 2019-03-22 2024-06-25 北京字节跳动网络技术有限公司 Merge列表构建和其他工具之间的交互
CN112398484B (zh) * 2019-08-15 2024-04-23 华为技术有限公司 一种编码方法及相关设备
AU2020340538B2 (en) * 2019-09-03 2023-11-30 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. Configurable NAL and slice code point mechanism for stream merging

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP2051527A1 (en) * 2007-10-15 2009-04-22 Thomson Licensing Enhancement layer residual prediction for bit depth scalability using hierarchical LUTs
KR101367282B1 (ko) * 2007-12-21 2014-03-12 삼성전자주식회사 깊이 정보에 대한 적응적 정보 표현 방법 및 그 장치
KR101520624B1 (ko) * 2008-12-31 2015-05-15 삼성전자주식회사 비트 맵 방식의 영상 인코딩/디코딩 방법 및 장치
KR101806949B1 (ko) * 2013-03-13 2017-12-08 후아웨이 테크놀러지 컴퍼니 리미티드 깊이 룩업 테이블을 코딩하는 방법

Also Published As

Publication number Publication date
EP2944080B1 (en) 2018-09-12
CA2893011C (en) 2017-11-21
CA2893011A1 (en) 2014-07-17
US9762882B2 (en) 2017-09-12
KR101740630B1 (ko) 2017-05-26
EP2944080A1 (en) 2015-11-18
EP2944080A4 (en) 2016-08-03
WO2014108088A1 (en) 2014-07-17
US20150350623A1 (en) 2015-12-03

Similar Documents

Publication Publication Date Title
KR101740630B1 (ko) 깊이 룩업 테이블의 효율적인 코딩을 위한 방법 및 장치
US10382778B2 (en) Method for motion vector storage in video coding and apparatus thereof
EP2465268B1 (en) Method and apparatus for encoding and decoding mode information
US9743110B2 (en) Method of 3D or multi-view video coding including view synthesis prediction
CN108259900B (zh) 针对视频的上下文自适应二进制熵编码的变换系数编码
EP4447447A2 (en) Multiple sign bit hiding within a transform unit
CN114402597B (zh) 应用自适应环路滤波器的视频或图像编码
JP7087100B2 (ja) フレームレートスケーラブルビデオ符号化
US20150365698A1 (en) Method and Apparatus for Prediction Value Derivation in Intra Coding
US20150264361A1 (en) Method for screen content coding
JP2015023579A (ja) ストリーミング配信システム
CN115443660A (zh) 用于解码与符号数据隐藏相关的成像的方法和设备
CN111031302A (zh) 三维视频序列辅助信息的解码方法、编码方法及装置
CN113906756A (zh) 视频编码和解码中的空间可扩展性支持
CN115552910A (zh) 用于残差编码的图像解码方法及其装置
CN114402602A (zh) 用于视频编解码的算术编解码器字节填料信令
US20060278725A1 (en) Image encoding and decoding method and apparatus, and computer-readable recording medium storing program for executing the method
CN104904199A (zh) 深度查找表的高效编码方法及装置
CN111713106A (zh) 用信号发送360度视频信息
CN117044204A (zh) 用于多符号算术译码的方法、设备和存储介质
KR102601705B1 (ko) 지오메트리 아틀라스의 부분 선형 스케일링 방법 및 이를 이용한 장치
JP2014110452A (ja) 画像復号装置および画像符号化装置
WO2013039333A1 (ko) 3d 비디오 부호화/복호화 방법 및 그 장치
Heo et al. VLC table prediction for CAVLC in H. 264/AVC using correlation, statistics, and structural characteristics of mode information
Park et al. Lossless image coding based on inter-color prediction for ultra high definition image

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