KR20140056300A - 심도 코딩 - Google Patents

심도 코딩 Download PDF

Info

Publication number
KR20140056300A
KR20140056300A KR1020147005148A KR20147005148A KR20140056300A KR 20140056300 A KR20140056300 A KR 20140056300A KR 1020147005148 A KR1020147005148 A KR 1020147005148A KR 20147005148 A KR20147005148 A KR 20147005148A KR 20140056300 A KR20140056300 A KR 20140056300A
Authority
KR
South Korea
Prior art keywords
depth indicator
depth
video image
target
value
Prior art date
Application number
KR1020147005148A
Other languages
English (en)
Other versions
KR101838341B1 (ko
Inventor
슈지에 리우
왕 린 라이
동 티안
Original Assignee
톰슨 라이센싱
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 톰슨 라이센싱 filed Critical 톰슨 라이센싱
Publication of KR20140056300A publication Critical patent/KR20140056300A/ko
Application granted granted Critical
Publication of KR101838341B1 publication Critical patent/KR101838341B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/10Segmentation; Edge detection
    • G06T7/11Region-based segmentation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/30Determination of transform parameters for the alignment of images, i.e. image registration
    • G06T7/33Determination of transform parameters for the alignment of images, i.e. image registration using feature-based methods
    • G06T7/337Determination of transform parameters for the alignment of images, i.e. image registration using feature-based methods involving reference images or patches
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/97Determining parameters from multiple pictures
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/167Position within a video image, e.g. region of interest [ROI]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/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/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

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)
  • Testing, Inspecting, Measuring Of Stereoscopic Televisions And Televisions (AREA)

Abstract

다양한 구현은 심도 코딩 및 관련 규율을 다룬다. 하나의 특정 구현에 있어서, 비디오 이미지 시퀀스에서의 비디오 이미지의 특정 부분에 대한 조각내기가 결정된다. 조각내기는 비디오 이미지 시퀀스에서의 하나의 비디오 이미지의 적어도 일부와 연관되는 참조 심도 지표에 기반하여 결정된다. 비디오 이미지의 특정 부분과 연관된 표적 심도 지표가 프로세싱된다. 프로세싱은 비디오 이미지의 특정 부분에서의 결정된 조각내기에 기반한다. 또 다른 특정 구현에 있어서, 소정 부분과 연관된 심도 지표에 기반하여 비디오 이미지의 적어도 소정 부분에 대한 조각내기가 결정된다. 조각내기는 표적 부분에서의 픽셀 값에 그리고 소정 부분에서의 픽셀 값에 기반하여 소정 부분으로부터 비디오 이미지의 표적 부분으로 확장된다.

Description

심도 코딩{DEPTH CODING}
3D에 관한 구현이 개시된다. 다양한 특정 구현은 비디오 이미지와 연관되는 심도 맵 코딩에 관한 것이다.
3-차원("3D") 애플리케이션에 있어서, 비디오 이미지는 빈번하게 심도 정보를 수반한다. 심도 정보는 비디오 이미지 상의 다양한 프로세싱 연산에 사용될 수 있다. 본 명세서에서는 인코딩이라 지칭되는, 심도 정보의 압축은 심도 정보의 크기를 줄이려고 한다. 효율적 인코딩은 심도 정보의 저장 및 송신을 용이하게 하기 위해 진행중인 소망이다.
일반적 태양에 의하면, 비디오 이미지 시퀀스에서의 비디오 이미지의 특정 부분에 대한 조각내기(segmentation)가 결정된다. 조각내기는 비디오 이미지 시퀀스에서의 하나의 비디오 이미지의 적어도 일부와 연관되는 참조 심도 지표(reference depth indicator)에 기반하여 결정된다. 비디오 이미지의 특정 부분과 연관된 표적 심도 지표가 프로세싱된다. 프로세싱은 비디오 이미지의 특정 부분에서의 결정된 조각내기에 기반한다.
또 다른 일반적 태양에 의하면, 소정 부분과 연관된 심도 지표에 기반하여 비디오 이미지의 적어도 소정 부분에 대한 조각내기가 결정된다. 조각내기는 표적 부분에서의 픽셀 값에 그리고 소정 부분에서의 픽셀 값에 기반하여 소정 부분으로부터 비디오 이미지의 표적 부분으로 확장된다.
하나 이상의 구현의 상세는 이하의 설명 및 수반 도면에서 제시된다. 하나의 특정 방식으로 설명되어 있기는 하지만, 구현은 다양한 방식으로 구성 또는 구체화될 수 있음이 명확한 것이다. 예컨대, 구현은 방법으로 수행되거나, 연산 세트를 수행하기 위한 명령어를 저장하는 장치 또는 연산 세트를 수행하도록 구성된 장치 등과 같이 장치로서 구체화되거나, 신호로 구체화될 수 있다. 다른 태양 및 특징이 수반 도면 및 청구범위와 함께 고려되는 이하의 상세한 설명으로부터 명백해질 것이다.
도 1은 시간에 걸친 비디오 이미지 시퀀스, 및 연관된 심도 이미지 시퀀스의 일례의 회화 표현도;
도 2는 심도값을 예측하기 위한 장치 및 프로세스의 구현을 묘사하는 블록/흐름 선도;
도 3은 심도 블록( B ) 인근에 있는 픽셀의 일례의 회화 표현도;
도 4는 도 3의 인근 픽셀의 조각내기의 일례의 회화 표현도;
도 5는 도 3의 인근 픽셀과 연관된 비디오 픽셀에 적용된 도 4의 조각내기의 일례의 회화 표현도;
도 6은 심도 블록( B )과 연관된 비디오 블록( B' )의 비디오 픽셀로 성장되는 도 5의 조각내기의 일례의 회화 표현도;
도 7은 심도 블록( B )에 적용된 도 6의 성장된 조각내기의 일례의 회화 표현도;
도 8은 도 4의 인근 심도 픽셀의 조각내기의 또 다른 회화 표현도;
도 9는 도 6의 비디오 블록( B' )으로 도 5의 조각내기를 성장시키기 위한 장치 및 프로세스의 구현을 묘사하는 블록/흐름 선도;
도 10은 도 6의 비디오 블록( B' )으로 도 5의 조각내기를 성장시키기 위한 또 다른 장치 및 프로세스의 구현을 묘사하는 블록/흐름 선도;
도 11은 심도 샘플을 인코딩하기 위한 인코딩 프로세스 및 인코더의 구현을 묘사하는 블록/흐름 선도;
도 12는 심도 샘플을 디코딩하기 위한 디코딩 프로세스 및 디코더의 구현을 묘사하는 블록/흐름 선도;
도 13은 영역 성장 기반 예측을 사용하여 블록을 인코딩하기 위한 장치 및 프로세스의 구현을 묘사하는 블록/흐름 선도;
도 14는 영역 성장 기반 예측을 사용하여 블록을 디코딩하기 위한 장치 및 프로세스의 구현을 묘사하는 블록/흐름 선도;
도 15는 심도 데이터를 프로세싱하기 위한 장치 및 프로세스의 구현을 묘사하는 블록/흐름 선도;
도 16은 하나 이상의 구현과 사용될 수 있는 송신 시스템 및 프로세스의 구현을 묘사하는 블록/흐름 선도;
도 17은 하나 이상의 구현과 사용될 수 있는 수신 시스템 및 프로세스의 일례를 묘사하는 블록/흐름 선도.
본 출원에서 제시되는 특징 중 일부의 프리뷰로서, 적어도 하나의 구현은 (i) 표적 블록에 이웃하는 복원된(reconstructed) 심도값, 및 (ii) 심도값의 표적 블록과 연관된 비디오 블록을 사용하여 심도 맵에서의 표적 블록을 인코딩하는 것을 개시하고 있다. 그 구현은 이웃하는 복원된 심도값 상에 조각내기 연산을 수행하고, 그 결과적 조각내기를 사용하여 비디오 블록의 조각내기를 전개한다. 비디오 블록에 대해 전개되는 조각내기는 그 후 표적 심도 블록을 인코딩하도록 표적 심도 블록에 다시 적용된다. 그리하여, 심도 정보는 비디오 정보를 조각내기 위한 시작 지점을 제공하고, 그 후 비디오 정보의 조각내기는 연관된 심도 정보를 인코딩하도록 사용된다. 이러한 구현은 공동으로 심도 정보 및 비디오 정보를 고려하여 심도 정보를 인코딩한다.
또 다른 구현에 있어서, 새로운 코딩 모드가 제공된다. 새로운 코딩 모드는 또 다른 심도 이미지를 사용함이 없이 심도 이미지를 코딩하기 위한 영역-성장 모드(region-growing mode)로 지칭될 수 있다. 부가적으로, 적어도 하나의 구현은 예측 참조로서 어떠한 다른 심도 이미지도 사용하지 않고, 또한 전통적 예측 참조로서 어떠한 비디오 이미지도 사용하지 않는다.
적어도 하나의 구현의 하나의 이점은 연관된 2D 비디오 및 이전 인코딩된 심도 정보를 사용함으로써 현재 심도 블록에서의 심도 정보가 매우 높은 정확도로 추정될 수 있는 것이 가능한 것이다. 일부 구현에 있어서, 이러한 추정은 심도 정보의 인코딩으로서 사용되고, 이 경우 추정이 인코더뿐만 아니라 디코더에서도 결정될 수 있기 때문에 어떠한 심도 정보도 송신 또는 저장될 필요가 없다. 대안으로, 일부 구현은 이러한 추정을 심도의 예측으로서 사용하고, 레지듀가 결정 및 코딩된다. 결과로서, 다양한 구현은 심도 정보를 인코딩하기 위한 비트 레이트를 줄이고, 또한 심도 정보의 복원을 사용하여 렌더링된 뷰의 품질을 유지한다.
적어도 하나의 구현에 있어서, 위에서 언급된 바와 같이, 영역 성장-모드는 효율적 심도 맵 코딩을 위해 제안된다. 영역-성장-모드는 이웃하는 심도값과 표적 심도 블록 사이의 상관과 더불어, 심도 맵과 연관된 비디오 사이의 구조적 유사성을 사용한다. 결과로서, 이러한 코딩 모드는 심도 맵의 코딩 비트 레이트를 줄일 수 있다. 또한 이러한 코딩 모드는 코딩된 심도 맵으로부터 복원되는 복원된 심도 맵을 사용하여 렌더링되는 뷰의 품질을 유지한다.
다양한 구현은 다양한 애플리케이션 중 하나 이상에서 유용하다. 예컨대, 3D 텔레비전("3DTV") 및 프리 뷰포인트 비디오(free viewpoint video: "FVV")처럼 새로운 비디오 애플리케이션에 있어서, 전형적으로는 캡처링된, 인코딩된, 그리고 디코딩된 뷰에 부가하여 가상 뷰를 렌더링하는 것이 필수적이다. 심도 이미지 기반 렌더링(Depth Image Based Rendering: "DIBR")은 가상 뷰를 렌더링하는 기술이다. 렌더링된 뷰에서 충분한 품질을 달성하기 위해서는, 심도 경계가 잘 보존되는 것이 바람직하다. 관용적 비디오 코딩 기술은 전형적으로는 샤프 에지 주위에 큰 아티팩트의 결과를 초래한다. 심도 에지의 충실한 표현은 일반적으로는 심도 정보의 다른 영역을 코딩하는 것보다 비트가 상당히 더 든다. 수개의 구현이 허용가능한 비용으로 소망 품질을 제공하는데 유용하다.
심도 데이터는 업계에서 알려져 있는 바와 같이 시차 데이터(disparity data)로 변환될 수 있다. 부가적으로, 본 출원에서 설명되는 구현 및 특징은 심도와 시차 둘 다에 적용하도록 의도된다. 따라서, 심도(예컨대, 심도 데이터, 심도값, 심도 이미지, 심도 맵 또는 심도 정보) 및 시차(예컨대, 시차 데이터, 시차 값, 시차 이미지, 시차 맵 또는 시차 정보)는, 어느 용어가 사용되는지에 무관하게, 본 설명 곳곳에서 다뤄지도록 의도된다.
부가적으로, 때로는 용어 "심도 지표"가 사용되고, 용어 심도 지표는 본 명세서에서는 심도 지표 및/또는 시차 지표와 더불어, 예컨대, 심도 및/또는 시차를 나타내는 다른 유형의 데이터 또는 정보도 포함하도록 명시적으로 정의된다. 심도 지표는, 예컨대, 다양한 구현에 있어서, 심도 데이터, 시차 데이터, 심도값, 시차 값, 심도 이미지의 적어도 일부, 시차 이미지의 적어도 일부, 심도 맵의 적어도 일부, 시차 맵의 적어도 일부, 심도 정보, 및/또는 시차 정보를 포함한다. 선행하는 아이템은 반드시 상호 배타적인 것은 아니며, 또한 가능한 심도 지표를 빠짐없이 나타낸 것도 아니다. 심도 지표를 포함하는 화상은 심도-지표 화상이라고 지칭될 수 있다.
심도 지표는 전형적으로는 특정 비디오 픽셀에 대한, 또는 비디오 화상의 특정 부분에 대한 정보(예컨대, 심도 또는 시차 정보)를 제공한다. 일례에 있어서, 심도 지표는 심도 맵에 구체화되고, 심도 맵의 위치(x, y)에서의 심도 지표는 특정 비디오 화상의 위치(x, y)에서의 특정 비디오 픽셀에 대한 실제 심도값을 제공한다. 본 출원 곳곳에서, 그러한 관계는 심도 지표가 특정 비디오 픽셀과 연관된다고 말하는 것에 의해 지칭된다. 균등하게는, 본 출원은 심도 지표가 특정 비디오 픽셀에 대응한다고 말함으로써 그러한 관계를 지칭한다.
물론, 이러한 개념은, 예컨대, 단일 픽셀보다 더 큰 비디오 화상 및 심도 맵의 부분들을 지칭하도록 일반화된다. 일례에 있어서, 심도 맵은 비디오 화상에서의 픽셀에 대한 심도값 모두를 제공한다. 더 구체적으로는, 심도 맵의 위치(x, y)에서의 심도값은, 모든 위치(x, y)에 대해, 비디오 화상의 위치(x, y)에서의 픽셀에 대한 심도값을 제공한다. 심도 맵 전체는 비디오 화상 전체와 연관(또는 대응)된다고 말해진다.
도 1을 참조하면, 본 출원에서의 일부 구현의 특정 태양을 예시하도록 사용될 일련의 비디오 화상(100) 및 일련의 심도 화상(110)이 도시되어 있다. 일련의 비디오 화상(100)은 시각(T1)에서 일어나는 제1 비디오 화상(V1), 시각(T2)에서 일어나는 제2 비디오 화상(V2) 및 시각(T3)에서 일어나는 제3 비디오 화상(V3)을 포함한다. 일련의 심도 화상(110)은 시각(T1)에서 일어나는 제1 심도 화상(D1), 시각(T2)에서 일어나는 제2 심도 화상(D2), 및 시각(T3)에서 일어나는 제3 심도 화상(D3)을 포함한다.
V1과 D1이 서로 대응하고, V2와 D2가 서로 대응하고, V3와 D3가 서로 대응한다. 대응은 예컨대 D2에서의 블록이 V2의 대응하는 위치에 대한 심도 정보를 포함하고 있음을 의미한다. 예컨대, 이것은 D2의 위치(x, y)에서의 블록(130)에 대응하는, V2의 위치(x, y)에서의 블록(120)에 대해 도시되어 있다.
본 출원의 이하의 특정 부분들은 별개의 섹션으로 분할된다. 이러한 분할은 설명 및 이해의 용이함을 제공하려는 의도이다. 그렇지만, 분할은 어떠한 방식으로라도 본 발명을 한정하려는 의도는 아니다. 구체적으로, 어느 소정 섹션에서 제공된 개시라도, 섹션 분할이 없는 것처럼, 어느 다른 섹션에서의 개시에라도 적용가능하다.
A. 영역 성장 기반 예측
이제 우리는 심도값의 특정 MxN 블록에 대해, 더 일반적으로는 추정이라고 지칭되기도 하는 예측을 발생시키기 위한 프로세스의 구현을 설명한다. 이 실시예에 있어서는, 심도값의 MxN 블록 및 심도값의 이웃하는 블록과 더불어, 대응하는 비디오가 주어진다. 이 실시예에 있어서는, 현재 MxN 블록( B )의 예측을 얻기 위해 영역 성장 기반 방법을 제안한다. 도 2를 참조하면, 영역 성장 기반 예측자가 도 2에 도시된 프로세스(200)에 따라 발생될 수 있고, 아래에 설명된다.
단계(1): 도 2의 연산(210)에 설명된 바와 같이, 블록( B ) 인근에 있는 인근 복원된 심도 샘플을 결정한다. 도 3-8을 참조하면, 도 3은 블록( B )의 좌측에 이웃하는 픽셀(205) 라인, 및 블록( B )의 상부에 이웃하는 픽셀(210) 라인만이 인근 복원된 심도 샘플로서 고려되는 이러한 단계(1)의 일례를 도시하고 있다.
단계(2): 인근 복원된 심도 샘플을 조각내고, 옵션으로서, 각각의 심도 샘플에 조각내기 인덱스를 할당한다. 이 단계(2)는 도 2의 연산(220)에 설명되고, 도 4에 묘사되어 있다. 도 4는 수직 해칭으로 도시된 4개의 픽셀을 포함하는 제1 조각(220), 수평 해칭으로 도시된 7개의 픽셀을 포함하는 제2 조각(224), 및 대각선 해칭으로 도시된 5개의 픽셀을 포함하는 제3 조각(228)을 포함한다.
단계(3): (도 3-8에는 도시되지 않고) 도 2의 연산(230)에 설명된 바와 같이, 블록( B )에 대응하는 비디오 샘플을 결정한다. 그렇지만, 도 1의 블록(130)이 블록( B )으로 생각되면, 블록(120)에는 블록( B )에 대응하는 비디오 샘플이 들어있다.
단계(4): 도 2의 연산(240)에서 설명된 바와 같이, 복원된 심도 샘플(205, 210)에 대응하는 비디오 샘플을 조각낸다. 이것을 행하는 일례는 대응하는 복원된 심도 샘플의 것과 동일한 조각내기를 비디오 샘플에 적용하는 것이다. 이러한 예는 심도 블록( B )에 대응하는 블록인 비디오 블록( B' )에 대해 도 5에 도시되어 있다. 도 5는 비디오 블록( B' )의 좌측에 비디오 픽셀(205') 라인, 및 비디오 블록( B' )의 상부에 비디오 픽셀(210') 라인을 포함한다. 더욱, 픽셀(205', 210')은 심도 블록( B )의 조각내기에 대응하는 3개의 조각으로 조각내어진다. 즉, 픽셀(205', 210')은 (i) 4개의 픽셀을 포함하고 도 4의 조각(220)에 대응하는, 수직 해칭으로 도시된, 제1 조각(220'), (ii) 7개의 픽셀을 포함하고 도 4의 조각(224)에 대응하는, 수평 해칭으로 도시된, 제2 조각(224') 및 (iii) 5개의 픽셀을 포함하고 도 4의 조각(228)에 대응하는, 대각선 해칭으로 도시된, 제3 조각(228')으로 조각내어진다.
또 다른 구현은 대응하는 복원된 심도 샘플의 것과 동일한 인덱스 번호를 비디오 샘플에 할당한다.
단계(5): 도 2의 연산(250)에 설명된 바와 같이, 단계(4)의 초기 조각내기에 기반하여 비디오 블록( B' )을 조각낸다. 일례는 도 6에 도시되어 있는데, 조각(220', 224', 228')은 비디오 픽셀( VP )이라고 지칭되고, 조각내기는 VP 로부터 비디오 블록( B' )으로 성장된다. 도 6은 라인(205', 210')에서의 이웃하는 비디오 픽셀( VP )의 3개의 조각(220', 224', 228')이 3개의 조각을 산출하도록 비디오 블록( B' )으로 성장되었음을 도시하고 있다. 비디오 블록( B' )에서의 3개의 산출된 조각은 수직 해칭으로 도시된 제1 조각(230'), 수평 해칭으로 도시된 제2 조각(234'), 및 대각선 해칭으로 도시된 제3 조각(238')을 포함한다.
해칭으로 나타낸 바와 같이, 일 구현에 있어서, 조각(230', 234', 238')은 조각(220', 224', 228')으로부터 성장하였다고 생각될 수 있다. 구체적으로, 조각(230')은 조각(220')으로부터 성장하였다고 생각될 수 있고, 조각(234')은 조각(224')으로부터 성장하였다고 생각될 수 있고, 조각(238')은 조각(228')으로부터 성장하였다고 생각될 수 있다.
단계(6): 도 2의 연산(260)에 설명된 바와 같이, 대응하는 비디오 블록( B' )의 조각내기에 기반하여 심도 블록( B )을 조각낸다. 일례가 도 7에 도시되어 있는데, 비디오 조각(230', 234', 238')이 심도 블록( B )에 적용된다. 도 7에 있어서, (i) 심도 블록( B )에서의 조각(230)은, 공통 수직 해칭에 의해 도시된 바와 같이, 이웃하는 복원된 심도 샘플의 조각(220)과 연관되어 있고, (ii) 심도 블록( B )에서의 조각(234)은, 공통 수평 해칭에 의해 도시된 바와 같이, 이웃하는 복원된 심도 샘플의 조각(224)과 연관되어 있고, (iii) 심도 블록( B )에서의 조각(238)은, 공통 대각선 해칭에 의해 도시된 바와 같이, 이웃하는 복원된 심도 샘플의 조각(228)과 연관되어 있다.
다양한 구현이 블록( B , B' )의 조각에 조각내기 인덱스를 할당한다. 더욱, 특정 구현은 B B' 사이의 대응하는 조각에 대해 대응하는 인덱스를 할당한다.
부가적으로, 다양한 구현이 복원된 심도 샘플(205, 210)의 조각에 더불어, 복원된 심도 샘플(205, 210)에 대응하는 비디오 샘플(205', 210')의 조각에도 조각내기 인덱스를 할당한다. 더욱, 특정 구현이 이들 심도와 비디오 샘플 사이의 대응하는 조각에 대해 대응하는 인덱스를 할당한다.
단계(7): (도 3-8에 도시되지 않고) 도 2의 연산(270)에 설명된 바와 같이, 도 6의 조각내기에 기반하여 심도 블록( B )에서의 각각의 심도 샘플에 대해 심도 예측 값을 결정한다. 다양한 구현이 아래에 제공된다.
이하에서, 단계(2), 단계(5) 및 단계(7)의 다양한 구현에 대한 상세를 제공한다.
A.1. 인근 심도 샘플의 조각내기
도 4로 도시되어 있는, 위로부터의 단계(2)의 구현의 더 구체적 상세를 제공한다.
소정 심도 맵에서의 심도 샘플에는 흔히 샤프 에지에 의해 분리된 동종 에어리어가 들어있다. 결과로서, 일부 단순 조각내기 방법은 영역-성장 기반 예측에 대해 양호한 결과를 갖는 것으로 기대된다. 일 실시예에 있어서, 조각내기 규칙은 임계값(th)에 기반하여 연속적 조각을 발생시키는 것이다. 2개의 이웃하는 심도 샘플 사이의 심도값 차이가 th보다 더 크면, 그때 이들 2개의 샘플은 서로 다른 조각에 할당될 것이다. 도 4의 구현에 있어서, 심도값 차이는 각각의 심도 샘플에 대해 하나 이상의 방향으로 결정되어 있다.
도 4의 예는 도 8에서 계속된다. 도 8은 16개의 인근 복원된 심도 샘플을 도시하고 있다. 이들 심도 샘플은 샘플(241-248, 251-258)로 도시되어 있다. 조각내기를 결정하기 위해, 샘플(241)의 심도값은 샘플(242)의 심도값에 비교된다. 차이는 th보다 작거나 같고, 그래서 심도 샘플(241, 242)은 공통 조각(220)의 일부분이다. 마찬가지로, 샘플(242, 243)의 심도값 사이의 차이, 및 샘플(243, 244)의 심도값 사이의 차이는 둘 다 th보다 작거나 같다. 그래서, 샘플(241-244)은 모두 공통 조각(220)의 일부분이다.
그렇지만, 샘플(244, 245)의 심도값 사이의 차이는 th보다 더 크고, 그래서 심도 샘플(245)은 조각(220)의 일부분이 아니다. 그보다는, 심도 샘플(245)은 조각(224)에 포함된다. 심도 샘플의 이하의 쌍의 심도값 사이의 차이는 th보다 작거나 같다: (i) 심도 샘플(245, 246), (ii) 심도 샘플(246, 247), (iii) 심도 샘플(247, 248), (iv)심도 샘플(248, 251), (v) 심도 샘플(251, 252), 및 (vi) 심도 샘플(252, 253). 그래서, 심도 샘플(245-248, 251-253)은 모두 공통 조각(224)의 일부분이다. 심도 샘플(248, 251)은 그것들이 충분히 근접해 있다고 생각되기 때문에 비교되는 것임을 주목하라. 그렇지만, 또 다른 구현은 심도 샘플(248)로부터 심도 샘플(251)로 이행할 때 새로운 조각을 자동으로 시작한다.
그렇지만, 샘플(253, 254)의 심도값 사이의 차이는 th보다 더 크다. 그래서 심도 샘플(254)은 조각(224)의 일부분이 아니다. 그보다는, 심도 샘플은 조각(228)에 포함된다. 심도 샘플의 이하의 쌍의 심도값 사이의 차이는 th보다 작거나 같다: (i) 심도 샘플(254, 255), (ii) 심도 샘플(255, 256), (iii) 심도 샘플(256, 257) 및 (iv) 심도 샘플(257, 258). 그래서, 심도 샘플(254-258)은 모두 공통 조각(228)의 일부분이다.
일 구현에 있어서, 임계값(th)은 상수로 설정된다. 수개의 다른 구현에 있어서, 임계값(th)은 심도 이미지에서의 대응하는 최대 및 최소 심도값에 기반하여 계산된다. 하나의 특정 구현은 등식 th 〓α×(d max d min )을 사용하고, 이 경우 d max 는 최대 심도값, d min 은 최소 심도값, α는 [0,1]로부터 선택된 스케일링된 인자이다.
이러한 구현의 일 변형에 있어서, 최대 및 최소 심도값은, 디코더가 동일 프로세스를 행할 수 있도록, 이미 복원된 인접하는 심도 블록으로부터 결정된다. 이러한 구현의 또 다른 변형은 이미 복원되었지만 현재 심도 블록에 인접하지는 않는 하나 이상의 심도 블록을 사용하여 최대 및 최소 심도값을 결정한다.
이러한 구현의 또 다른 변형은 인코딩되고 있는 심도 블록을 사용하여 최대 및 최소 심도값을 결정하고, 또 다른 변형은 이제 인코딩될 하나 이상의 다른 블록을 고려한다. 디코더는 전형적으로는 그 정확한 미리-인코딩된 심도값을 알고 있지 않을 것이기 때문에, 특정 구현은 th를 컴퓨팅하고 th의 값을 보낸다. th의 값은 전형적으로는 정수이고, 그래서 이러한 값을 보내기 위한 오버헤드는 일반적으로 작다.
이들 변형의 조합은 또한 부가적 구현을 제공한다. 하나의 그러한 구현에 있어서, 심도 이미지 전체가 사용되고, th의 값이 인코딩되어 송신된다.
알파의 값은 다수의 방식으로 선택될 수 있다. 하나의 구현에 있어서, 알파는 레이트-왜곡 최적화에 기반하여 가장 효율적인 인코딩 모드를 구하도록 실험적 데이터에 기반하여 결정된다. 작은 값의 알파는 흔히 더 많은 조각의 결과를 초래할 것이다. 더 많은 조각을 갖는 것은, 부가적 프로세싱 및 저장을 치르면서, 더 정확한 예측을 산출할 수 있다. 그렇지만, 알파가 너무 작으면, th 또한 너무 작을 수 있어서 조각내기가 심도 픽셀 값의 사소한 변형에도 너무 민감하게(덜 강건하게) 될 것이다. 이러한 감도는, 어떤 구현에서는, 잠재적으로 잡음 있는 영역-성장 결과, 덜 정확한 예측, 및 덜 효율적 압축의 결과를 초래할 것이다.
A.2. 영역 성장
이하의 논의는 도 6으로 도시되어 있는, 위로부터의 단계(5)의 구현의 더 구체적 상세를 제공한다. 비디오 픽셀에 적용되는 영역 성장 프로세스에서 다양한 방법이 사용될 수 있다. 도 9 및 10을 참조하면, 도 9 및 10의 흐름도에 2개의 그러한 방법이 도시되어 있다.
도 9는, 루프 초기화 연산(910)에 도시된 바와 같이, 비디오 블록( B' )에서의 각각의 픽셀(p)에 적용되는 프로세스(900)를 설명하고 있다. 프로세스(900)에 있어서, 인근 픽셀 세트( VP )는 이미 조각내어졌고 그 조각내기는 비디오 블록( B' )으로 성장된다.
단계(9-1): 프로세스(900)는 픽셀
Figure pct00001
을 결정하기 위한 연산(920)을 포함하고, 여기서 Iq는 픽셀(q)에 대한 픽셀 값이다. 이것은 현재 픽셀(p)에 가장 가까운 값을 갖는 VP 내 비디오 픽셀을 결정한다. 또 다른 구현은 현재 픽셀(p)의 값의 임계값 내 값을 갖는 제1 비디오 픽셀( VP )을 결정한다.
또 다른 구현은 VP 의 조각내기의 평균(다른 구현은 중간값 또는 모드를 사용)을 결정하고, 예컨대, Ip VP 내 모든 픽셀마다 대비하여 비교하기보다는 Ip를 이들 평균값에 대비하여 비교한다. 이러한 구현은 각각의 현재 픽셀(p)을 VP 의 조각과 효과적으로 연관시킨다. 비교는, 다양한 구현에 있어서, 소정 임계값 내에 있는 제1 평균을 결정하거나 가장 가까운 평균을 결정함으로써 수행된다. 임계값은, 다양한 구현에 있어서, 평균이 픽셀 값의 절대 수 내에 있는 절대 임계값, 또는 평균이 픽셀 값의 소정 퍼센티지 내에 있는 퍼센티지 임계값 중 하나 이상이다.
단계(9-2): 프로세스(900)는 픽셀(p)의 조각내기 인덱스에 픽셀(p')의 조각내기 인덱스를 할당하기 위한 연산(930)을 포함한다. 조각내기 인덱스를 사용하지 않는 구현에 있어서, 그 자체로는, 조각내어진 것이 어떻게 나타내어지는지에 무관하게 픽셀(p)이 픽셀(p')과 동일 조각에 할당되는 것이 충분하다.
프로세스(900)는 또한 비디오 블록( B' )에 프로세싱될 픽셀(p)이 더 많이 있는지 결정하기 위한 연산(940)을 포함한다. 프로세싱될 픽셀(p)이 더 많이 있으면, 연산(920-930)은 그들 남아있는 픽셀(p)에 대해 반복된다.
도 10은 루프 초기화 연산(1060)에 도시된 바와 같이 비디오 블록( B' )에서의 각각의 픽셀(p)에 적용되는 프로세스(1050)를 설명하고 있다. 프로세스(1050)에 있어서, 프로세스(900)에서처럼, 인근 픽셀 세트( VP )는 이미 조각내어졌고 그 조각내기는 비디오 블록( B' )으로 성장된다.
단계(10-1): 초기화 연산으로서, 픽셀 세트 VP' = VP (비디오 블록( B' )의 인근 픽셀 세트)를 설정한다(도 10에는 도시하지 않음).
비디오 블록( B' )에서의 각각의 픽셀(p)에 대해, 이하의 2개의 단계를 행한다:
단계(10-2): 프로세스(1050)는 다음과 같이 조각내기 인덱스를 결정하기 위한 연산(1070)을 포함한다:
Figure pct00002
Kp는 양방향 필터 설계에서 흔히 사용되는 바와 같이 정규화 인자이다.
프로세스(1050)는 또한 연산(1070)으로부터의 결과에 따라 픽셀(p)의 조각내기 인덱스를 설정하기 위한 연산(1080)을 포함한다. 또 다른 구현은 연산(1070, 1080)을 조합한다.
Sq는 픽셀(q)의 조각내기 인덱스를 지칭한다. 더욱, 함수 f 및 g는 각자 도메인 (공간) 필터 커널 및 레인지 필터 커널을 지칭한다. f의 값은
Figure pct00003
이 더 커질수록 더 작아져야 하고, 유사하게, g의 값은
Figure pct00004
이 더 커질수록 더 작아져야 한다. 예컨대, 각자 p 및 Ip에 중심이 있는 가우스 필터와 같이, 이들 2개의 커널에 다른 설계가 사용될 수 있다.
연산(1070, 1080)은 비디오 블록( B' )으로부터의 픽셀(p)을 양방향 필터 합산을 최대화하는 조각 내에 넣는 효과를 갖는다. 소정 조각에 대한 합산은, 아래 단계(10-3)에서 조각 내에 이미 놓여 있는 비디오 블록( B' )으로부터의 픽셀(p) 및 인근 픽셀을 포함하는, 조각 내의 모든 픽셀을 가로질러 수행된다.
일반적으로 양방향 필터는 (i) 픽셀 사이의 거리 및 (ii) 픽셀 사이의 픽셀 값 차이 둘 다를 고려하는 효과를 갖는다. 그리하여, 거리가 가까운 픽셀에는 함수 f를 통해 가중치가 더 부여되고, 유사한 픽셀 값을 갖는 픽셀에는 함수 g를 통해 가중치가 더 부여된다.
부가적으로, f 및 g의 선택은 단일 픽셀에 얼마나 많은 강조를 부여할지 제어하는 것임이 명확한 것이다. 예컨대, f 및 g의 선택에 의존하여, 함수 f 및 g에 대해 더 낮은 값을 갖는 다중 픽셀은 함수 f 및/또는 g 중 하나 이상에 대해 높은 값을 갖는 단일 픽셀보다 더 크게 될 수 있거나, 또는 그렇지 않거나 할 수 있다.
조각내기 인덱스를 사용하지 않는 구현에 있어서, 그 자체로는, 픽셀(p)이 위의 등식을 최대화하는 동일 조각에 할당되는 것이 충분하다. 예컨대, 또 다른 구현에 있어서, 연산(1070)이 소정 픽셀(p)에 대한 조각내기 인덱스를 결정하는 대신에, 연산(1070)은 픽셀(p)에 대한 조각을 결정한다. 동일한 양방향 필터 등식이 사용되지만(즉, 동일 함수 f 및 g가 사용되지만), 양방향 필터 결과는 소정 조각 내의 모든 픽셀을 가로질러 합산되고, 이러한 합산을 최대화하는 조각이 픽셀(p)에 대한 조각으로서 선택된다.
단계(10-3): 연산(1070)은 또한, 일 구현에 있어서, VP' = VP' ∪{p}를 설정한다. 이러한 단계(10-3)는 비디오 블록( B' )에서의 다음 픽셀(p)에 대해 바로 위 단계(10-2)에서 (또한 연산(1070)에서) 고려되는 픽셀 세트를 확장하는 효과를 갖는다. 또 다른 구현은 단계(10-3)를 거너뛰고, 세트 VP' 가 프로세스(1050) 내내 변하지 않게 둔다.
프로세스(1050)는 또한 비디오 블록( B' )에 프로세싱될 픽셀(p)이 더 많이 있는지 결정하기 위한 연산(1090)을 포함한다. 프로세싱될 픽셀(p)이 더 많이 있으면, 연산(1070-1080)은 그들 남아있는 픽셀(p)에 대해 반복된다.
A.3. 심도 예측자를 발생
이하의 논의는 도 2의 연산(270)에 도시되어 있는 바와 같이, 위로부터의 단계(7)의 구현의 더 구체적 상세를 제공한다. 위로부터의 단계(7)은, (도 3-8에는 도시되어 있지 않고) 도 2의 연산(270)에 설명된 바와 같이, 조각내기에 기반하여 심도 샘플의 심도 블록( B )에서의 각각의 심도 샘플에 대한 심도 예측 값을 결정한다.
심도 예측자라고도 지칭되는 심도 예측 값을 결정하기 위해 다양한 방법이 사용될 수 있다. 일부 구현에 있어서, 각각의 심도 샘플의 예측은 예컨대 조각내기 인덱스에 기반하여 발생된다. 다른 구현에 있어서, 각각의 심도 샘플의 예측은 예컨대 인근 픽셀의 값에 기반하여 발생된다. 다른 구현에 있어서, 각각의 심도 샘플의 예측은 예컨대 조각내기 인덱스 및 인근 픽셀의 값에 기반하여 발생된다.
다양한 실시예에 있어서, 인근 심도 샘플의 각각의 조각(조각은, 수개의 구현에 있어서, 조각내기 인덱스에 대응함)에 대한 중간값 또는 평균값이 계산된다. 이것은 인근 심도 샘플의 각각의 조각에 대한 평균값을 산출한다. 도 4의 예를 사용하여, 예컨대, 이것은 조각(220)에 대한 제1 평균값, 조각(224)에 대한 제2 평균값 및 조각(228)에 대한 제3 평균값을 산출한다.
도 4의 예의 사용으로 계속하면, 심도 블록( B )에서의 심도 샘플(p)에 대한 심도 예측은 인근 심도 샘플의 할당된 조각의 중간값 또는 평균값으로 설정된다. 그 할당된 조각은 예컨대 조각내기 인덱스(Sp)로 라벨이 붙여질 수 있다. 도 7의 예를 사용하면, 예컨대, 이것은 (i) 조각(230)에서의 픽셀의 각각에 대해 제1 평균값(조각(220)의 평균)과 동등한 심도 예측, (ii) 조각(234)에서의 픽셀의 각각에 대해 제2 평균값(조각(224)의 평균)과 동등한 심도 예측, 및 (iii) 조각(238)에서의 픽셀의 각각에 대해 제3 평균값(조각(228)의 평균)과 동등한 심도 예측을 산출한다.
다른 구현은 서로 다른 메트릭스 또는 함수 또는 필터를 사용한다. 하나의 특정 구현은 모드를 사용하고, 또 다른 구현은 중간값을 사용한다.
B. 영역 성장- 모드
이러한 실시예에 있어서, 새로운 심도 코딩 모드가 제안된다: 영역-성장 모드. 그 모드는 서로 다른 뷰 또는 서로 다른 시각으로부터의 심도 화상을 참조로서 사용함이 없이 심도 화상의 소정 블록에 대한 예측을 형성한다. 우리는 그 모드를 영역 성장 모드라고 지칭한다. 이 모드는, 예컨대, 도 11 및 도 12에 도시된 바와 같이 심도 인코더/디코더에서 사용된다. 다른 구현은 서로 다른 시각으로부터의 그리고/또는 서로 다른 뷰로부터의 참조 심도 화상을 사용하도록 영역 성장 모드를 적응시킨다. 그러한 참조 심도 화상은 현재 심도 블록을 예측하는데 보조하는, 또는 레지듀를 인코딩하는 여러 다른 구현에서 사용된다.
이 모드의 구현의 설명에 대한 부가적 맥락을 제공하기 위해, 도 11 및 도 12가 이제 논의된다. 도 11은 인코딩에 관한 것이다. 도 12는 디코딩에 관한 것이다.
도 11을 참조하면, 인코더(1100)는 예컨대 비디오 이미지 또는 심도 이미지와 같은 이미지를 인코딩하도록 다양한 구현에서 사용되는 인코더의 구현을 묘사하고 있다. 인코더(1100)는 또한 예컨대 인코딩된 비트스트림에 대한 정보를 제공하는 메타데이터와 같은 데이터를 인코딩하기 위해 특정 구현에서 사용된다. 인코더(1100)는, 일 구현에서는, 예컨대, 도 16에 관해 아래에 설명되는 바와 같은 비디오 송신 시스템의 일부분으로서 구현된다. 또한 도 11의 블록은, 인코더의 블록 선도를 제공하는 것에 부가하여, 인코딩 프로세스의 흐름 선도를 제공하는 것임이 명확한 것이다.
입력 이미지 시퀀스는 가산기(1101)에 더불어, 변위 보상 블록(1120), 변위 추정 블록(1118), 및 영역 성장 기반 예측 블록(1116)에도 도달한다. 변위는, 예컨대, 모션 변위 또는 시차 변위 중 어느 것을 지칭함을 주목하라. 입력 이미지 시퀀스는, 일 구현에서는, 심도 시퀀스이다. 가산기(1101)로의 또 다른 입력은 스위치(1123)를 통해 수신된 다양한 가능한 참조 화상 정보 아이템 중 하나이다.
예컨대, 제1 시나리오에 있어서, 스위치(1123)와 신호 통신하고 있는 모드 결정 모듈(1124)은 인코딩 모드가 현재 인코딩되고 있는 동일 화상(예컨대, 심도 화상)으로부터의 블록을 참조하여 역내-예측(intra-prediction)이어야 한다고 결정한다. 이러한 제1 시나리오에 있어서, 가산기(1101)는 역내-예측 모듈(1122)로부터 그 입력을 수신한다. 대안으로, 제2 시나리오에 있어서, 모드 결정 모듈(1124)은 인코딩 모드가 현재 인코딩되고 있는 화상과는 다른(예컨대, 다른 시각 또는 뷰, 또는 둘 다) 화상을 참조하여 변위 보상 및 추정되어야 한다고 결정한다. 이러한 제2 시나리오에 있어서, 가산기(1101)는 변위 보상 모듈(1120)로부터 그 입력을 수신한다. 대안으로, 제3 시나리오에 있어서, 모드 결정 모듈(1124)은 인코딩 모드가 (아래에 더 설명되는 바와 같이) 현재 인코딩되고 있는 심도 및 대응하는 비디오 화상을 참조하여 영역 성장 기반 예측이어야 한다고 결정한다. 이러한 제3 시나리오에 있어서, 가산기(1101)는 영역 성장 기반 예측 블록(1116)으로부터 그 입력을 수신한다.
다양한 구현에 있어서, 역내-예측 모듈(1122)은 인코딩되고 있는 블록에 이웃하는 블록인 하나 이상의 블록에 기반하여 미리 결정된 예측자를 제공한다. 다양한 구현에 있어서, 역내-예측 모듈(1122)은 인코딩되고 있는 화상 내에서 최선의 참조 블록을 찾음으로써 예측자(참조)를 제공한다.
더 구체적으로, 수개의 그러한 예측자-기반 구현은 이미 인코딩되어 있는 현재 화상의 그 부분들의 복원 내에서 검색한다. 일부 구현에 있어서, 검색은 기존 블록 경계 상에 놓여 있는 블록에 국한된다. 그렇지만, 다른 구현에 있어서, 검색은 그들 블록이 기존 블록 경계를 건너는지와 무관하게 블록을 검색하도록 허용된다. 검색 때문에, 그러한 구현은 단지 미리 결정된 이웃하는 블록을 참조로서 사용하는 것보다 흔히 더 많이 시간-집약적이고 프로세서-집약적이다. 그렇지만, 그러한 구현은 전형적으로는 소정 블록의 더 나은 예측을 구하는 이점을 제의한다.
그러한 구현은 최선 추정 역내-예측 블록의 결과를 초래할 수 있다. 부가적으로, 다양한 구현에 있어서, 참조 블록의 경계는 서브-픽셀 경계 상에 놓여 있을 수 있고, 참조의 복구는 디코딩 동안 참조로서 사용될 실제 블록을 회복하도록 보간 단계를 관련시킨다. 화상의 컨텐트에 의존하여, 그러한 서브-픽셀 보간 구현은 참조로서 이웃하는 블록의 사용에 비해 압축 효율을 개선할 수 있다.
가산기(1101)는, 그 입력 신호를 변환하고 변환된 신호를 양자화 모듈(1104)에 제공하도록 구성되는 변환 모듈(1102)에 신호를 제공한다. 양자화 모듈(1104)은 그 수신된 신호 상에 양자화를 수행하고 그 양자화된 정보를 엔트로피 인코더(1105)에 출력하도록 구성된다. 엔트로피 인코더(1105)는 그 입력 신호 상에 엔트로피 인코딩을 수행하여 비트스트림을 발생시키도록 구성된다. 역 양자화 모듈(1106)은 양자화 모듈(1104)로부터 양자화된 신호를 수신하고 그 양자화된 신호 상에 역 양자화를 수행하도록 구성된다. 차례로, 역 변환 모듈(1108)은 역 양자화 모듈(1106)로부터 역 양자화된 신호를 수신하고 그 수신된 신호 상에 역 변환을 수행하도록 구성된다. 역 변환 모듈(1108)의 출력은 가산기(1101)로부터 출력되는 신호의 복원이다.
(더 일반적으로는 조합기라고 지칭되는) 가산기(1109)는 스위치(1123) 및 역 변환 모듈(1108)로부터 수신된 신호를 가산(조합)하고 결과적 신호를 역내-예측 모듈(1122), 인-루프 필터(1110), 및 영역 성장 기반 예측 블록(1116)에 출력한다. 역내-예측 모듈(1122) 및 영역 성장 기반 예측 블록(1116)은, 예컨대, 현재 화상으로부터의 부가적 블록을 코딩하는데 그 결과적 신호를 사용한다. 인-루프 필터(1110)는 소정 화상에 대해 복원된 화상 데이터를 필터링하여, 아래에 더 설명될 바와 같은 심도 참조 버퍼(1112)에 이것을 제공한다. 결과적 신호는 인코더(1100)에 입력되는 이미지 시퀀스 신호의 복원이다.
역내-예측 모듈(1122)은, 위에서 논의된 바와 같이, 그 수신된 신호를 사용하여 역내-예측을 수행한다. 인-루프 필터(1110)는 가산기(1109)로부터 수신된 신호를 필터링하고 필터링된 신호를 심도 참조 버퍼(1112)에 제공한다. 심도 참조 버퍼(1112)는 이미지 정보를 변위 추정 및 보상 모듈(1118, 1120)에 제공한다. 일 구현에 있어서, 심도 참조 버퍼(1112)는 현재 화상으로부터라기보다는, 예컨대, 다른 시각 인스턴스 또는 다른 뷰로부터 참조 화상을 저장한다. 인-루프 필터(1110)는, 일 구현에 있어서, 블로킹 해제 필터이다.
일 구현에 있어서, 인-루프 필터(1110)는 현재 블록에서의 소정 픽셀에 대해 필터링된 결과를 얻기 위해 이웃하는 픽셀을 사용한다. 다양한 필터 설계에 있어서, 현재 블록에 대한 이웃하는 픽셀은 비-디코딩된 블록으로부터의 픽셀을 포함한다. 따라서, 그들 필터 설계에 대해, 현재 블록은 그것이 디코딩되고 있는 동안 필터링될 수 없다. 부가적으로, 이미 디코딩되어 있는 특정 이웃하는 픽셀은 현재 블록이 디코딩될 때까지 필터링될 수 없다. 결과로서, 적어도 하나의 구현은 역내-예측 또는 영역-성장 모드에서 필터링된 결과를 사용하지 않는다. 그렇지만, 구현은 이전 화상(참조 화상)으로부터의 모든 블록이 디코딩되었고 필터링될 수 있기 때문에 역외-예측(inter-prediction)에 대해 필터링된 결과를 사용한다. 메타데이터는 인코딩된 메타데이터로 인코더(1100)에 부가되고 엔트로피 코더(1105)로부터의 출력 비트스트림과 조합될 수 있다. 대안으로, 예컨대, 인코딩되지 않은 메타데이터는 양자화된 이미지 시퀀스와 함께 엔트로피 인코딩하기 위해 엔트로피 코더(1105)에 입력될 수 있다.
데이터는 또한 모드 결정 모듈(1124)에 의해 출력 비트스트림에 제공된다. 모드 결정 모듈(1124)은 소정 블록을 인코딩하는데 사용되는 모드를 나타내는 정보를 비트스트림에 제공한다. 그러한 정보는 흔히 참조 블록의 위치의 표시를 포함한다. 예컨대, 역내-예측을 사용하는 그리고 참조 블록을 구하기 위해 현재 화상의 검색을 수행하는 다양한 구현에 있어서, 모드 결정 모듈(1124)은 시차 벡터를 사용하여 참조의 위치를 나타낸다. 시차 벡터 정보는 역내-예측 모듈(1122)에 의해 모드 결정 모듈(1124)에 제공될 수 있다.
아래에 더 설명되는 바와 같이, 시차 벡터 정보는 참조로서 이웃하는 매크로블록의 시차 벡터를 사용하여 차등적으로 코딩될 수 있다. 부가적으로, 시차 벡터에서 공간적 유사성이 있을 가능성이 있으므로 화상에 대한 시차 벡터는 그룹화되고 부가적으로 인코딩되어 엔트로피를 제거할 수 있다.
비디오 참조 버퍼(1114)는, 일 구현에서는, 인코딩되고 있는 심도 이미지에 대응하는 비디오 이미지를 저장한다. 별개의 비디오 인코더는 일 구현에 있어서 비디오 이미지를 인코딩하도록 사용되고, 비디오 인코더는 비디오 참조 버퍼(1114)를 포함한다. 일 구현에 있어서, 영역 성장 기반 예측 블록(1116)은 인코딩되고 있는 심도 블록에 대응하는 비디오의 좌표를 결정하기 위해 입력 이미지 시퀀스에 의해 제공된 정보를 사용한다. 영역 성장 기반 예측 블록(1116)은 비디오 참조 버퍼(1114)로부터의 소망 비디오에 액세스하기 위해 이들 좌표를 사용한다. 소망 비디오는, 일 구현에 있어서, 인코딩되고 있는 심도 샘플에 이웃하는 심도 샘플에 대응하는 비디오와 더불어, 인코딩되고 있는 심도 샘플에 대응하는 비디오도 포함한다.
영역 성장 기반 예측 블록(1116)은, 다양한 구현에 있어서, 인코딩되고 있는 이미지의 예측을 제공하도록 연산한다. 일 구현에 있어서, 영역 성장 기반 예측 블록(1116)은 도 2의 프로세스(200)를 수행한다.
도 12를 참조하면, 디코더(1200)는 예컨대 심도 이미지와 같은 이미지를 디코딩하는데 사용될 수 있는 디코더의 구현을 묘사하고 있다. 디코딩된 이미지는, 일 구현에서는, 심도 데이터에 기반하여 부가적 뷰를 산출하기 위해 렌더링 디바이스에 제공된다. 디코더(1200)는, 다른 구현에서는, 예컨대, 디코딩된 비트스트림에 대한 정보를 제공하는 메타데이터를 디코딩하도록, 그리고/또는 비디오 데이터를 디코딩하도록 사용된다. 일 구현에 있어서, 디코더(1200)는, 예컨대, 도 17에 관하여 아래에서 설명되는 바와 같은 비디오 수신 시스템의 일부분으로서 구현된다. 도 12의 블록은 또한, 디코더의 블록 선도를 제공하는 것에 부가하여, 디코딩 프로세스의 흐름 선도를 제공하는 것임이 명확한 것이다.
디코더(1200)는 비트스트림 수신기(1202)를 사용하여 비트스트림을 수신하도록 구성된다. 비트스트림 수신기(1202)는 비트스트림 파서(bitstream parser)(1204)와 신호 통신하고 있고 비트스트림을 비트스트림 파서(1204)에 제공한다.
비트스트림 파서(1204)는 레지듀 비트스트림을 엔트로피 디코더(1206)에 송신하고, 제어 구문 요소를 모드 선택 모듈(1216)에 송신하고, 변위(모션/시차) 벡터 정보를 변위 보상 모듈(1226)에 송신하도록 구성된다.
변위 벡터 정보는 예컨대 모션 벡터 정보 또는 시차 벡터 정보일 수 있다. 모션 벡터 정보는 전형적으로는 이전 이미지로부터의 상대적 모션을 나타내도록 역외-예측에서 사용된다. 시차 벡터 정보는 전형적으로는 (i) 별개 이미지에 관해 시차를 나타내도록 역외-예측 또는 (ii) 동일 이미지의 일부에 관해 시차를 나타내도록 역내-예측 중 어느 것에서 사용된다. 업계에 알려져 있는 바와 같이, 시차는 전형적으로는 2개 이미지 사이의 상대적 오프셋 또는 변위를 나타낸다. 또한 시차는 이미지의 2개 부분 사이의 상대적 오프셋 또는 변위를 나타내도록 사용될 수 있다.
역 양자화 모듈(1208)은 엔트로피 디코더(1206)로부터 수신된 엔트로피 디코딩된 신호 상에 역 양자화를 수행한다. 부가적으로, 역 변환 모듈(1210)은 역 양자화 모듈(1208)로부터 수신된 역 양자화 신호 상에 역 변환을 수행하고 그 역 변환된 신호를 가산기(조합기라고도 지칭됨)(1212)에 출력하도록 구성된다.
가산기(1212)는 채용된 디코딩 모드에 의존하여 다양한 다른 신호 중 하나를 수신할 수 있다. 예컨대, 일 구현에 있어서, 모드 결정 모듈(1216)은 제어 구문 요소를 파싱 및 분석함으로써 변위 보상 또는 역내-예측 인코딩이 현재 프로세싱된 블록 상에서 인코더에 의해 수행되었는지 결정한다. 결정된 모드에 의존하여, 모드 선택 제어 모듈(1216)은, 가산기(1212)가 변위 보상 모듈(1226), 역내-예측 모듈(1218) 또는 영역 성장 기반 예측 블록(1230)으로부터 신호를 수신하도록, 제어 구문 요소에 기반하여 스위치(1217)를 액세스 및 제어한다.
여기서, 역내-예측 모듈(1218)은 현재 디코딩되고 있는 동일 화상에 대한 참조를 사용하여 블록을 디코딩하도록 역내-예측을 수행하도록 구성된다. 차례로, 변위 보상 모듈(1226)은 현재 디코딩되고 있는 화상과는 다른 (예컨대, 서로 다른 시각 또는 뷰, 또는 둘 다로부터의) 또 다른 이전 프로세싱된 화상의 블록에 대한 참조를 사용하여 블록을 디코딩하도록 변위 보상을 수행하도록 구성된다. 영역 성장 기반 예측 블록(1230)은 디코딩되고 있는 블록에 대한 예측을 결정하도록 구성된다.
영역 성장 기반 예측 블록(1230)은, 다양한 구현에 있어서, 디코딩되고 있는 이미지의 예측을 제공하도록 연산한다. 일 구현에 있어서, 영역 성장 기반 예측 블록(1230)은 도 2의 프로세스(200)를 수행한다. 부가적으로, 다양한 구현에 있어서, 영역 성장 기반 예측 블록(1230)은 인코더(1100)의 영역 성장 기반 예측 블록(1116)과 동일한 연산을 수행한다.
예측 또는 보상 정보 신호를 수신한 후에, 가산기(1212)는 인-루프 필터(1214)로의 송신을 위해 역 변환된 신호와 예측 또는 보상 정보 신호를 가산한다. 인-루프 필터(1214)는, 예컨대, 블로킹 아티팩트를 필터링해 내는 블로킹 해제 필터이다. 가산기(1212)는 또한 역내-예측에 사용하기 위한 역내-예측 모듈(1218)에 그리고 영역 성장 기반 예측 블록(1230)에 그 가산된 신호를 출력한다.
인-루프 필터(1214)는 그 입력 신호를 필터링하여 디코딩된 화상을 출력하도록 구성된다. 더욱, 인-루프 필터(1214)는 필터링된 신호를 심도 참조 버퍼(1220)에 제공한다. 심도 참조 버퍼(1220)는 심도 참조 버퍼(1220)가 파싱된 신호를 제공하는 변위 보상 모듈(1226)에 의한 변위 보상 디코딩을 허용하고 도와주도록 그 수신된 신호를 파싱하도록 구성된다. 그러한 파싱된 신호는, 예컨대, 참조로서 사용되었을 수 있는 다양한 화상의 일부 또는 전부일 수 있다.
비디오 참조 버퍼(1240)는, 일 구현에서는, 디코딩되고 있는 심도 이미지에 대응하는 비디오 이미지를 저장한다. 별개의 비디오 디코더는 일 구현에 있어서 비디오 이미지를 디코딩하도록 사용되고, 비디오 디코더는 비디오 참조 버퍼(1240)를 포함한다. 적어도 일 구현에 있어서, 영역 성장 기반 예측 블록(1230)은 디코딩되고 있는 심도 블록에 대응하는 비디오의 좌표를 결정한다. 영역 성장 기반 예측 블록(1230)은 비디오 참조 버퍼(1240)로부터의 소망 비디오에 액세스하기 위해 이들 좌표를 사용한다. 소망 비디오는, 일 구현에 있어서, 디코딩되고 있는 심도 샘플에 이웃하는 심도 샘플에 대응하는 비디오와 더불어, 디코딩되고 있는 심도 샘플에 대응하는 비디오도 포함한다. 영역 성장 기반 예측 블록(1230)은 다양한 방식으로 비디오 좌표를 결정한다. 예컨대, 일 구현에 있어서, 영역 성장 기반 예측 블록(1230)은 디코딩이 화상 및 블록 내에서 알려져 있는 방식으로 (예컨대, 좌측에서 우측으로, 그리고 상부에서 하부로) 진행하기 때문에 디코딩되고 있는 심도 블록의 좌표를 자동으로 알고 있다. 또 다른 예로서, 또 다른 구현에서는, 영역 성장 기반 예측 블록(1230)은 디코딩되고 있는 심도 블록의 좌표를 결정하기 위해 입력 비트스트림에 의해 제공된 정보를 사용한다. 대응하는 비디오는 심도 블록과 동일한 좌표를 갖는 것으로 상정되거나, 또는 대응하는 비디오를 나타내도록 데이터가 제공된다.
메타데이터는 비트스트림 수신기(1202)에 제공된 비트스트림에 포함될 수 있다. 메타데이터는 비트스트림 파서(1204)에 의해 파싱되고, 엔트로피 디코더(1206)에 의해 디코딩될 수 있다. 디코딩된 메타데이터는 출력(도시하지 않음)을 사용하여 엔트로피 디코딩 후에 디코더(1200)로부터 추출될 수 있다.
적어도 하나의 구현에 있어서, 도 12의 블록 중 다수는 도 11에서의 대응하는 블록의 역 연산을 수행한다. 예컨대, 일 구현에 있어서:
- 엔트로피 디코더(1206)는 엔트로피 인코더(1105)의 역을 수행하고,
- 역 양자화 모듈(1208)은 양자화 모듈(1104)의 역을 수행하고,
- 역 변환 모듈(1210)은 변환 모듈(1102)의 역을 수행한다.
더욱, 위에서 이미 나타낸 바와 같이, 적어도 하나의 구현에 있어서, 도 12의 블록 중 다수는 도 11에서의 대응하는 블록과 동일한 연산을 수행한다. 예컨대, 일 구현에 있어서:
- 인-루프 필터(1214)는 인-루프 필터(1110)와 동일한 연산을 수행하고,
- 역내-예측 모듈(1218)은 역내-예측 모듈(1122)과 동일한 연산을 수행하고,
- 변위 보상 모듈(1226)은 변위 보상 모듈(1120)과 동일한 연산을 수행하고,
- 영역 성장 기반 예측 블록(1230)은 영역 성장 기반 예측 블록(1116)과 동일한 연산을 수행한다.
영역 성장-모드를 또 다시 생각한다. 이 모드의 일 구현에 있어서, 모드는 16x16 매크로블록("MB") 레벨 상에 구현된다. 그렇지만, 영역 성장 예측은 4x4 블록 레벨로 수행된다. 다른 구현은 예측을 수행하도록 여러 다른 크기를 사용한다. 이 구현의 인코딩 및 디코딩 프로세스는 아래에서 설명된다.
B.1. 영역 성장 기반 모드로 인코딩
도 11을 다시 참조하면, 인코더(1100)는 영역 성장-모드를 구현하는 심도 인코더의 구현을 제공한다. 인코더(1100)의 2개의 블록은 특히 영역 성장 모드를 구현하는데 관련된다. 이들 2개의 블록은 영역 성장 기반 예측 블록(1116) 및 비디오 참조 버퍼(1114)이다. 이들 2개의 블록의 연산이 위에서 설명되어 있다. 적어도 하나의 구현에 있어서 비디오 참조 버퍼(1114)는 비디오 인코더로부터의 복원된 비디오 프레임이 RG 예측을 위해 액세스될 수 있게 되도록 유지됨을 주목하라.
도 13을 참조하면, 영역 성장 모드로 매크로블록을 인코딩하기 위한 프로세스(1300)가 도시되어 있다. 다른 구현은, 예컨대, 매크로블록보다 더 큰 (예컨대, 필드, 프레임 또는 프레임 세트), 매크로블록보다 더 작은 (예컨대, 파티션), 그리고/또는 비-균일 형상으로 된 (예컨대, 비-직사각형) 데이터에 영역 성장 모드와 같은 영역 성장 예측을 적용한다. 프로세스(1300)는 이하의 연산을 포함한다:
단계(13-1): 프로세스(1300)는 현재 MB를 4x4 블록으로 분할하는 연산을 포함한다(1310). 다른 구현은, 예컨대, 4x8, 8x4, 8x8, 8x16 또는 16x8과 같이 4x4와는 다른 크기를 갖는 파티션을 사용한다.
단계(13-2): 각각의 4x4 블록에 대해, 프로세스(1300)는 루프에 들어간다(1320). 루프 내부에서, 소정 4x4 블록에 대해, 프로세스(1300)는 인근 복원된 심도 샘플로부터 영역 성장 기반 예측을 결정하는 연산을 수행한다(1330). 일 구현에 있어서, 영역 성장 기반 예측은 도 2의 프로세스(200)를 사용하여 결정된다.
단계(13-3): 루프 내에서, 프로세스(1300)는, 옵션으로서, 단계(13-2)에서 결정된 예측을 정제한다(1340). 연산(1340)의 파선 박스는 연산(1340)이 프로세스(1300)에서 옵션임을 나타낸다.
단계(13-4): 루프 내에서, 프로세스(1300)는 단계(13-2)에서의 연산(1330) 또는 단계(13-3)에서의 연산(1340) 중 어느 것으로부터 예측된 심도값 및 입력 심도 정보에 기반하여 레지듀얼을 결정한다(1350). 일 구현에 있어서, 레지듀얼은 입력 심도 정보와 예측된 심도값 사이의 차이로서 계산되고, 그 후 변환 및 양자화된다(예컨대, 도 11에서의 블록(1102, 1104)을 참조). 다른 구현은 인코딩 프로세스의 일부분으로서 레지듀 상에 부가적 연산을 수행한다.
단계(13-5): 루프 내에서, 프로세스(1300)는 레지듀얼 정보 및 예측된 심도값에 기반하여 복원된 심도 블록을 결정한다(1360). 일 구현에 있어서, 복원은 (예컨대, 도 11의 블록(1106, 1108)에서 도시된 바와 같이, 역-양자화 및 역-변환되는) 레지듀얼 정보를 예측된 심도값에 가산함으로써 형성된다. 다른 구현은 인코딩 프로세스의 일부분으로서 레지듀 상에 부가적 연산을 수행한다.
단계(13-6): 프로세스(1300)는 다음 블록에 대해 또 루프 연산을 수행할지 결정한다(1370). 프로세싱될 부가적 블록이 남아있으면, 그때 프로세스(1300)는 다음 블록에 대해 단계(13-2) 내지 단계(13-5)를 수행하고(단계(13-3)는 옵션임을 주목), 모든 블록이 프로세싱될 때까지 루프 연산을 수행하는 것을 계속한다. 블록은 상부로부터 하부로 그리고 좌측으로부터 우측으로 프로세싱된다. 일 구현은, 모든 로우가 프로세싱될 때까지, 상부 로우를 (좌측으로부터 우측으로) 프로세싱하고 그 후 아래로 다음 로우로 진행함으로써, 좌측으로부터 우측으로 그리고 상부로부터 하부로 진행한다. 또 다른 구현은, 모든 칼럼이 프로세싱될 때까지, 좌측 칼럼을 (상부로부터 하부로) 프로세싱하고 우측으로 다음 칼럼으로 진행함으로써 균등한 결과를 제공한다. 또 다른 구현은 프로세싱에서 어느 이웃하는 픽셀이 사용되는지에 의존하여 우측으로부터 좌측으로 그리고/또는 하부로부터 상부로 프로세싱한다. 다른 구현은 여러 다른 순서로 블록을 프로세싱한다.
MB로부터 이전에 코딩된 블록/파티션은 동일 MB로부터 현재 (다른) 블록/파티션의 예측을 발생시키도록 사용될 수 있다. 이것은, 레지듀얼 정보가 각각의 블록/파티션에 대해 독립적으로 프로세싱되고, 이전 블록/파티션의 복원은 현재 블록/파티션의 예측이 결정되기 전에 이용가능하기 때문이다.
단계(13-3)에서의 정제 프로세스(refinement process)는 인코더 및/또는 디코더의 복잡성을 줄이기 위해 다양한 구현에서는 건너뛴다. 그렇지만, 수개의 구현은 정제 연산을 포함한다. 정제 연산은 예컨대 부가적 필터링 연산을 포함한다.
우리는 정제 연산의 또 다른 예를 제공한다. 일 구현에 있어서, 4x4 블록에서의 소정 심도 샘플에 대해, 2개의 기준을 만족하는 인근 심도 샘플이 식별된다. 2개의 기준은 소정 심도 샘플 및 인근 심도 샘플이 (i) 서로 유사한 심도값을 갖고, (ii) 서로 유사한 대응하는 비디오 픽셀 값을 갖는 것이다. 이들 식별된 인근 심도 샘플의 중간 심도값이 결정된다. 중간값은 정제된 심도 샘플 값으로서 사용된다.
인근 심도 샘플은, 일 구현에 대해, 코딩되고 있는 심도 샘플의 4x4 블록 바로 위에 있는 4개 픽셀의 세트, 및 바로 좌측에 있는 4개 픽셀의 세트이다. 인근 심도 샘플은 하나 이상의 이전에 인코딩된 블록/파티션으로부터의 복원된 심도 샘플임을 주목하라. 인근 픽셀의 세트는, 예컨대, 8개 픽셀까지이다. 인근 픽셀의 세트는 연산(1330) 및/또는 연산(260)에서 코딩될 소정 심도 픽셀과 연관되는 조각 내의 픽셀의 세트보다 더 크거나 또는 그보다 더 작고, 그와 중첩하거나 비-중첩할 수 있다.
인근 심도 샘플은, 또 다른 구현에 대해서는, 위의 2개의 정제 기준을 더 만족하는 (예컨대, 연산(260)에서 결정된 바와 같이) 연관된 조각으로부터의 그들 심도 샘플에 국한된다. 그리하여, 인근 심도 샘플의 세트는 조각 내의 픽셀의 세트보다 더 크지 않고 그와 중첩하고 있다.
위의 2개의 정제 기준은, 예컨대, 2개의 값이 서로의 소정 임계값 내에 있으면 2개의 값이 유사하다고 결정함으로써 평가될 수 있다. 임계값은 예컨대 절대 임계값 또는 퍼센티지 임계값일 수 있다.
일 구현은 인근 심도 샘플의 중간값을 계산한다. 그렇지만, 다른 구현은 평균 또는 모드 중 하나 이상을 계산한다.
B.2. 디코딩/렌더링
이러한 구현의 디코더 측에서는, 2D 비디오의 프레임이 대응하는 심도 데이터를 디코딩하기 전에 디코딩될 것이다. 도 12를 또 참조하면, 디코더(1200)는 심도 데이터를 디코딩하는 심도 디코더의 구현을 제공한다. 구체적으로, 디코더(1200)는 영역 성장 모드를 사용하여 인코딩되어 있는 데이터를 디코딩할 수 있다. 디코더(1200)의 2개의 블록이 영역 성장 모드로 인코딩되어 있는 심도 데이터를 디코딩하는데 특히 관련된다. 이들 2개의 블록은 영역 성장 기반 예측 블록(1230) 및 비디오 참조 버퍼(1240)이다. 이들 2개의 블록의 연산이 위에서 설명되어 있다.
도 14를 참조하면, 영역 성장 모드로 인코딩되어 있는 MB를 디코딩하기 위한 프로세스(1400)가 도시되어 있다. 다른 구현은, 매크로블록보다 더 큰 (예컨대, 필드, 프레임 또는 프레임 세트), 매크로블록보다 더 작은 (예컨대, 파티션), 그리고/또는 비-균일 형상으로 된 (예컨대, 비-직사각형) 데이터에 영역 성장 기반 모드, 또는 더 일반적으로는 영역 성장 예측을 적용한다. 따라서, 인코딩 및 디코딩 양측의 다른 구현은 매크로블록과는 다른 크기 및/또는 형상인 데이터 세트 상에 연산한다. 프로세스(1400)는 이하의 연산을 포함한다:
단계(14-1): 프로세스(1400)는 레지듀를 디코딩하는 것을 포함한다(1410).
단계(14-2): 프로세스(1400)는 MB를 다중 4x4 블록으로 분할하는 것을 포함한다(1420).
단계(14-3): 각각의 4x4 블록에 대해, 프로세스(1400)는 루프에 들어간다(1430). 루프 내부에서, 소정 블록에 대해, 프로세스(1400)는 인근 디코딩된 블록에 기반하여 영역 성장 기반 예측을 결정한다(1440). 이러한 연산은 인코딩 프로세스(1300)의 연산(1330)에서 수행된 것과 동일하다. 블록 스캐닝 순서는 전형적으로는 인코더에서 사용된 것과 동일하여, 예컨대, 좌측에서 우측으로 그리고 상부에서 하부로이다. 이것은 인코더 및 디코더에서 일관된 결과를 제공한다. 이것은 또한 요구된 블록을 디코더에서 적절한 순서로 제공하고, 그리하여 수신된 블록을 블록이 수신되는 순서와 다른 순서로 디코딩하는 동안 수신된 블록을 저장할 어떠한 필요성이라도 줄인다.
단계(14-4): 루프 내에서, 프로세스(1400)는, 옵션으로서, 연산(1440)에서 결정된 예측을 정제한다(1450). 이러한 연산은 인코딩 프로세스(1300)의 연산(1340)에서 수행된 것과 동일하다. 부가적으로, 다른 구현은 정제 연산을 수행하지만 정제된 예측을 사용할지 여부를 결정하는 결정 프로세스를 통과한다. 일관성을 보장하기 위해, 이들 다른 구현은 인코더와 디코더 둘 다에서 동일한 결정 프로세스를 수행하거나, 인코더가 결정 프로세스의 결과를 디코더에 보낸다. 연산(1450)의 파선 박스는 연산(1450)이 프로세스(1400)에서 옵션임을 나타낸다.
단계(14-5): 루프 내에서, 프로세스(1400)는 블록 복원을 수행하는 것을 포함한다(1460). 일 구현에 있어서, 4x4 블록은 단계(14-3)(연산(1440)) 또는 단계(14-4)(연산(1450)) 중 어느 것으로부터 발생된 현재 블록 예측에 연산(1410)(단계 1)으로부터의 디코딩된 레지듀얼 정보를 가산함으로써 복원된다. 복원된 심도 블록은 현재 심도 블록에 대해 디코딩된 결과이다. 단계(14-4)에 관해 논의된 바와 같이, 일부 구현은 정제된 예측을 사용할지 여부를 결정하기 위한 결정 프로세스를 갖는다.
단계(14-6): 프로세스(1400)는 다음 블록에 대해 또 루프 연산을 수행할지 결정한다(1470). 프로세싱될 부가적 블록이 남아있으면, 그때 프로세스(1400)는 다음 블록에 대해 단계(14-3) 내지 단계(14-5)(연산(1440-1460))를 수행한다(단계(14-4) 및 연산(1450)은 옵션임). 더욱, 프로세스(1400)는 모든 블록이 프로세싱될 때까지(즉, 모든 블록이 디코딩될 때까지) 루프 연산을 수행하는 것을 계속한다. 블록은, 인코딩 측에 대해 행해지는 바와 같이, 상부로부터 하부로 그리고 좌측으로부터 우측으로 프로세싱된다. 다른 구현은 여러 다른 순서로 블록을 프로세싱한다.
도 15를 참조하면, 심도 지표를 프로세싱하기 위한 프로세스(1500)가 도시되어 있다. 프로세싱은 다양한 다른 연산을 포함할 수 있다. 예컨대, 다양한 구현에 있어서, 프로세싱은 심도 지표의 예측을 형성하는 것, 심도 지표를 인코딩하는 것, 및/또는 심도 지표를 디코딩하는 것을 포함한다.
프로세스(1500)는 비디오 이미지 시퀀스에서의 비디오 이미지의 특정 부분에 대한 조각내기를 결정하는 것을 포함한다(1510). 조각내기는 참조 심도 지표에 기반하여 결정된다. 참조 심도 지표는 비디오 이미지 시퀀스에서의 적어도 하나의 비디오 이미지에 대해서이다.
프로세스(1500)는 비디오 이미지의 특정 부분에 대응하는 표적 심도 지표를 프로세싱하는 것을 포함한다(1520). 프로세싱은 비디오 이미지의 특정 부분에서 결정된 조각내기에 기반한다.
프로세스(1500)의 다양한 구현은 3-단계 프로세스를 사용한다. 특정 구현에 적용가능한 하나의 그러한 3-단계 프로세스가 이제 설명된다. 제1 단계에서는, 심도 데이터가 프로세싱된다. 제2 단계에서는, (제1 단계로부터의) 심도 데이터의 프로세싱이 관련 비디오를 프로세싱하는데 사용된다. 관련 비디오는 프로세싱된 심도 데이터에 정확하게 대응할 필요는 없음을 주목하라. 예컨대, 일 구현에 있어서, 관련 비디오 데이터는 프로세싱된 심도 데이터 인근에 있는 심도 데이터에 대응한다. 제3 단계에서는, 관련 비디오 데이터의 프로세싱이 대응하는 심도 데이터를 프로세싱하는데 사용된다. 그리하여, 이들 구현의 3-단계 프로세스는 심도 데이터로 시작하고 종료한다.
일 구현에 있어서, 연산(1510, 1520)은 영역 성장 기반 예측 블록(1116 및/또는 1230)에서 수행된다.
도 16을 이제 참조하면, 위에서 설명된 특징 및 원리가 적용될 수 있는 비디오 송신 시스템 또는 장치(1600)가 도시되어 있다. 비디오 송신 시스템 또는 장치(1600)는, 예컨대, 위성, 케이블, 전화-회선 또는 지상 방송과 같이 다양한 미디어 중 어느 것이라도 사용하여 신호를 송신하기 위한 헤드-엔드 또는 송신 시스템일 수 있다. 비디오 송신 시스템 또는 장치(1600)는 또한 또는 대안으로, 예컨대 저장을 위한 신호를 제공하도록 사용될 수 있다. 송신은 인터넷 또는 어떤 다른 네트워크를 통해 제공될 수 있다. 비디오 송신 시스템 또는 장치(1600)는, 예컨대 심도 및/또는 시차 값을 포함하는 심도의 지표 등과 같은 다른 컨텐트 및 비디오 컨텐트 등을 발생 및 배달할 수 있다. 또한, 도 16의 블록은, 비디오 송신 시스템 또는 장치의 블록 선도를 제공하는 것에 부가하여, 비디오 송신 프로세스의 흐름 선도를 제공하는 것임이 명확한 것이다.
비디오 송신 시스템 또는 장치(1600)는 프로세서(1601)로부터 입력 비디오를 수신한다. 일 구현에 있어서, 프로세서(1601)는 단순하게 도 1의 비디오 이미지(V1, V2, V3)와 같은 비디오 이미지를 비디오 송신 시스템 또는 장치(1600)에 제공한다. 그렇지만, 또 다른 구현에 있어서, 프로세서(1601)는, 대안으로 또는 부가적으로, 도 1의 심도 이미지(D1, D2, D3)와 같은 심도 이미지를 비디오 송신 시스템 또는 장치(1600)에 제공한다. 프로세서(1601)는 또한 메타데이터를 비디오 송신 시스템 또는 장치(1600)에 제공하는데, 메타데이터는 입력 이미지 중 하나 이상에 관한 것이다.
비디오 송신 시스템 또는 장치(1600)는 인코딩된 신호를 송신할 수 있는 송신기(1604) 및 인코더(1602)를 포함한다. 인코더(1602)는 프로세서(1601)로부터 비디오 정보를 수신한다. 비디오 정보는, 예컨대, 비디오 이미지 및/또는 시차(또는 심도) 이미지를 포함할 수 있다. 인코더(1602)는 비디오 및/또는 시차 정보에 기반하여 인코딩된 신호(들)를 발생시킨다. 인코더(1602)는, 일 구현에서는, 도 11의 인코더(1100)이다.
다양한 구현에 있어서, 인코더(1602)는 예컨대 AVC 인코더이다. AVC 인코더는 비디오와 시차 정보 둘 다에 적용될 수 있다. AVC는 현존 ISO/IEC(International Organization for Standardization/International Electrotechnical Commission) MPEG-4(Moving Picture Experts Group-4) Part 10 AVC(Advanced Video Coding) ITU-T(standard/International Telecommunication Union, Telecommunication Sector) H.264 권고(이하, "H.264/MPEG-4 AVC 표준" 또는 "AVC 표준", "H.264 표준" 또는 단순히 "AVC" 또는 "H.264"와 같은 그 변형)를 지칭한다.
인코더(1602)는, 예컨대 여러 가지의 정보를 수신하여 저장 또는 송신을 위한 구조화된 포맷으로 어셈블링하기 위한 어셈블리 유닛을 포함하는 서브-모듈을 포함할 수 있다. 여러 가지의 정보는, 예컨대, 구문 요소, 코딩 모드 지표 및 모션 벡터 등과 같은 인코딩되거나 인코딩되지 않은 요소, 인코딩되거나 인코딩되지 않은 시차(또는 심도) 값, 및 인코딩되거나 인코딩되지 않은 비디오를 포함할 수 있다. 일부 구현에 있어서, 인코더(1602)는 프로세서(1601)를 포함하고 그래서 프로세서(1601)의 연산을 수행한다.
송신기(1604)는 인코더(1602)로부터 인코딩된 신호(들)를 수신하고 인코딩된 신호(들)를 하나 이상의 출력 신호로 송신한다. 송신기(1604)는, 예컨대, 인코딩된 화상 및/또는 그에 관련된 정보를 표현하는 하나 이상의 비트스트림을 갖는 프로그램 신호를 송신하도록 적응될 수 있다. 전형적 송신기는, 예컨대, 에러-정정 코딩을 제공하는 것, 신호에서의 데이터를 인터리빙하는 것, 신호에서의 에너지를 랜덤화하는 것, 및 변조기(1606)를 사용하여 신호를 하나 이상의 반송파 상으로 변조하는 것 중 하나 이상과 같은 기능을 수행한다. 송신기(1604)는 안테나(도시하지 않음)를 포함하거나 그와 인터페이싱할 수 있다. 더욱, 송신기(1604)의 구현은 변조기(1606)로 한정될 수 있다.
비디오 송신 시스템 또는 장치(1600)는 또한 저장 유닛(1608)에 통신 결합되어 있다. 일 구현에 있어서, 저장 유닛(1608)은 인코더(1602)에 결합되고, 저장 유닛(1608)은 인코더(1602)로부터의 인코딩된 비트스트림을 저장하고, 옵션으로서, 저장된 비트스트림을 송신기(1604)에 제공한다. 또 다른 구현에 있어서, 저장 유닛(1608)은 송신기(1604)에 결합되어 있고, 송신기(1604)로부터의 비트스트림을 저장한다. 송신기(1604)로부터의 비트스트림은, 예컨대, 송신기(1604)에 의해 더 프로세싱되어 있는 하나 이상의 인코딩된 비트스트림을 포함할 수 있다. 저장 유닛(1608)은, 여러 다른 구현에서는, 표준 DVD, 블루-레이 디스크, 하드 드라이브, 또는 어떤 다른 저장 디바이스 중 하나 이상이다.
도 17을 이제 참조하면, 위에서 설명된 특징 및 원리가 적용될 수 있는 비디오 수신 시스템 또는 장치(1700)가 도시되어 있다. 비디오 수신 시스템 또는 장치(1700)는, 예컨대, 위성, 케이블, 전화-회선 또는 지상 방송과 같이 다양한 미디어를 통해 신호를 수신하도록 구성될 수 있다. 신호는 인터넷 또는 어떤 다른 네트워크를 통해 수신될 수 있다. 또한, 도 17의 블록은, 비디오 수신 시스템 또는 장치의 블록 선도를 제공하는 것에 부가하여, 비디오 수신 프로세스의 흐름 선도를 제공하는 것임이 명확한 것이다.
비디오 수신 시스템 또는 장치(1700)는, 예컨대, 인코딩된 비디오를 수신하고 예컨대 디스플레이(예컨대, 사용자에게 디스플레이)를 위해, 프로세싱을 위해, 또는 저장을 위해 디코딩된 비디오 신호를 제공하는 셀-폰, 컴퓨터, 셋-톱 박스, 텔레비전 또는 다른 디바이스일 수 있다. 그리하여, 비디오 수신 시스템 또는 장치(1700)는, 예컨대, 텔레비전의 스크린, 컴퓨터 모니터, (저장, 프로세싱 또는 디스플레이를 위해) 컴퓨터, 또는 어떤 다른 저장, 프로세싱 또는 디스플레이 디바이스에 그 출력을 제공할 수 있다.
비디오 수신 시스템 또는 장치(1700)는 비디오 정보를 수신 및 프로세싱할 수 있고, 비디오 정보는, 예컨대, 비디오 이미지 및/또는 시차(또는 심도) 이미지를 포함할 수 있다. 비디오 수신 시스템 또는 장치(1700)는, 예컨대, 본 출원의 구현에서 설명된 신호와 같은 인코딩된 신호를 수신하기 위한 수신기(1702)를 포함한다. 수신기(1702)는, 예컨대, 도 1의 비디오 이미지(V1, V2, V3), 도 1의 심도 이미지(D1, D2, D3), 또는 도 16의 비디오 송신 시스템(1600)으로부터 (예컨대, 송신기(1604) 또는 저장 유닛(1608)으로부터) 출력된 신호 중 하나 이상을 제공하는 신호를 수신할 수 있다.
수신기(1702)는, 예컨대, 인코딩된 화상(예컨대, 비디오 화상 또는 심도 화상)을 표현하는 복수의 비트스트림을 갖는 프로그램 신호를 수신하도록 적응될 수 있다. 전형적 수신기는, 예컨대, 변조 및 인코딩된 데이터 신호를 수신하는 것, 복조기(1704)를 사용하여 하나 이상의 반송파로부터 데이터 신호를 복조하는 것, 신호에서의 에너지를 디-랜덤화하는 것, 신호에서의 데이터를 디-인터리빙하는 것, 및 신호를 에러-정정 디코딩하는 것 중 하나 이상과 같은 기능을 수행한다. 수신기(1702)는 안테나(도시하지 않음)를 포함하거나 그와 인터페이싱할 수 있다. 수신기(1702)의 구현은 복조기(1704)로 한정될 수 있다.
비디오 수신 시스템 또는 장치(1700)는 디코더(1706)를 포함한다. 디코더(1706)는, 일 구현에서는, 도 12의 디코더(1200)이다.
수신기(1702)는 수신된 신호를 디코더(1706)에 제공한다. 수신기(1702)에 의해 디코더(1706)에 제공된 신호는 하나 이상의 인코딩된 비트스트림을 포함할 수 있다. 디코더(1706)는, 예컨대, 비디오 정보를 포함하는 디코딩된 비디오 신호, 또는 심도 정보를 포함하는 디코딩된 심도 신호와 같이 디코딩된 신호를 출력한다. 디코더(1706)는 예컨대 AVC 디코더일 수 있다.
비디오 수신 시스템 또는 장치(1700)는 또한 저장 유닛(1707)에 통신 결합되어 있다. 일 구현에 있어서, 저장 유닛(1707)은 수신기(1702)에 결합되고, 수신기(1702)는 저장 유닛(1707)으로부터의 비트스트림에 액세스하고/하거나 수신된 비트스트림을 저장 유닛(1707)에 저장한다. 또 다른 구현에 있어서, 저장 유닛(1707)은 디코더(1706)에 결합되어 있고, 디코더(1706)는 저장 유닛(1707)으로부터의 비트스트림에 액세스하고/하거나 디코딩된 비트스트림을 저장 유닛(1707)에 저장한다. 저장 유닛(1707)으로부터 액세스된 비트스트림은, 여러 다른 구현에서는, 하나 이상의 인코딩된 비트스트림을 포함한다. 저장 유닛(1707)은, 여러 다른 구현에서는, 표준 DVD, 블루-레이 디스크, 하드 드라이브, 또는 어떤 다른 저장 디바이스 중 하나 이상이다.
디코더(1706)로부터의 출력 비디오는, 일 구현에서는, 프로세서(1708)에 제공된다. 프로세서(1708)는, 일 구현에서는, 새로운 뷰를 렌더링하는 것을 수행하도록 구성된 프로세서이다. 일부 구현에서는, 디코더(1706)는 프로세서(1708)를 포함하고 그래서 프로세서(1708)의 연산을 수행한다. 다른 구현에서는, 프로세서(1708)는, 예컨대, 셋-톱 박스 또는 텔레비전과 같은 다운스트림 디바이스의 일부분이다.
본 출원은 도 2 및 도 9-17의 블록/흐름 선도를 포함하는 다중 블록/흐름 선도를 제공한다. 본 출원의 블록/흐름 선도는 프로세스를 설명하는 흐름 선도 및 장치의 기능적 블록을 설명하는 블록 선도 둘 다를 제시하는 것임이 명확한 것이다. 부가적으로, 본 출원은 도 1 및 도 3-8의 회화 표현을 포함하는 다중 회화 표현을 제공한다. 본 출원의 회화 표현은 예시 또는 결과 또는 출력, 및 프로세스를 설명하는 흐름 선도 둘 다를 제시하는 것임이 명확한 것이다.
새로운 모드를 구현하는 다양한 구현이 설명되었다. 그 모드는 영역 성장 모드라고 지칭된다. 다양한 구현은 모드 테이블에서의 구문을 사용하여 새로운 모드를 시그널링한다. 구문은, 일 구현에서는, 특정 블록이 새로운 영역 성장 모드로 인코딩되는지 또는 그보다는 관용적 모드로 인코딩되는지 나타내도록 플래그를 사용하는 것을 포함한다. AVC는 예컨대 다양한 관용적 모드를 포함한다.
다양한 구현은 다양한 이점 중 하나 이상을 가질 수 있다. 이들 이점 중 부분적 리스트는 다음을 포함한다: (i) 낮은 복잡도, (ii) 심도 에지를 보존, (iii) 이미지의 평탄 에어리어를 코딩하는데 사용되는 비트의 수를 감축, (iv) 뷰-간 왜곡 및 뒤틀림을 회피하기 위해, 다중 뷰보다는 단일 뷰만의 심도 및 비디오로부터의 정보를 사용, 및 (v) 단지 모션 정보(예컨대, 모션 벡터) 및 코딩 코드를 사용하기보다는 비디오 프레임에서의 실제 샘플 값을 사용하여 심도 맵에 대한 에지 정보를 유도.
그리하여 우리는 특정 특징 및 태양을 갖는 하나 이상의 구현을 제공한다. 특히, 우리는 심도 지표를 예측하는 것에 관한 수개의 구현을 제공한다. 그렇지만, 이들 구현 및 부가적 애플리케이션의 변형이 고려되고 우리의 개시 내에 있으며, 설명된 구현의 특징 및 태양은 다른 구현을 위해 적응될 수 있다.
본 출원에서 설명된 구현 및 특징 중 몇몇은 AVC 표준, 및/또는 MVC 익스텐션(에넥스 H)을 갖는 AVC, 및/또는 SVC 익스텐션(에넥스 G)을 갖는 AVC의 맥락에서 사용될 수 있다.
부가적으로, 이들 구현 및 특징은 또 다른 표준(현존 또는 장래)의 맥락에서, 또는 표준을 관련시키지 않는 맥락에서 사용될 수 있다.
본 원리의 "하나의 실시예" 또는 "일 실시예" 또는 "하나의 구현" 또는 "일 구현"과 더불어 그 다른 변형의 지칭은 실시예와 연관하여 설명된 특정 특징, 구조, 특성 등이 본 원리의 적어도 하나의 실시예에 포함됨을 의미한다. 그리하여, 본 명세서의 곳곳에 다양한 곳에서 나타나는 문구 "하나의 실시예에 있어서" 또는 "일 실시예에 있어서" 또는 "하나의 구현에 있어서" 또는 "일 구현에 있어서"와 더불어 어떠한 다른 변형의 출현은 반드시 모두 동일한 실시예를 지칭하는 것은 아니다.
부가적으로, 본 출원 또는 그 청구범위는 여러 가지의 정보를 "결정"함을 가리킬 수 있다. 정보를 결정하는 것은, 예컨대, 정보를 추정하는 것, 정보를 계산하는 것, 정보를 예측하는 것 또는 메모리로부터 정보를 검색하는 것 중 하나 이상을 포함할 수 있다.
더욱, 본 출원 또는 그 청구범위는 여러 가지의 정보를 "액세스"함을 가리킬 수 있다. 정보를 액세스하는 것은, 예컨대, 정보를 수신하는 것, 정보를 검색하는 것(예컨대, 메모리), 정보를 저장하는 것, 정보를 프로세싱하는 것, 정보를 송신하는 것, 정보를 이동시키는 것, 정보를 복사하는 것, 정보를 삭제하는 것, 정보를 계산하는 것, 정보를 결정하는 것, 정보를 예측하는 것, 또는 정보를 추정하는 것 중 하나 이상을 포함할 수 있다.
다양한 구현은 "이미지" 및/또는 "화상"을 가리킨다. 용어 "이미지" 및 "화상"은 본 문서 곳곳에서 상호교환가능하게 사용되고, 폭넓은 용어로 의도된다. "이미지" 또는 "화상"은, 예컨대, 프레임 또는 필드의 일부 또는 전부일 수 있다. 용어 "비디오"는 이미지(또는 화상)의 시퀀스를 가리킨다. 이미지 또는 화상은, 예컨대, 다양한 비디오 컴포넌트 또는 그 조합 중 어느 것이라도 포함할 수 있다. 그러한 컴포넌트 또는 그 조합은, 예컨대, 휘도, 색차, (YUV 또는 YCbCr 또는 YPbPr의) Y, (YUV의) U, (YUV의) V, (YCbCr의) Cb, (YCbCr의) Cr, (YPbPr의) Pb, (YPbPr의) Pr, (RGB의) 적색, (RGB의) 녹색, (RGB의) 청색, S-비디오, 및 이들 컴포넌트 중 어느 것의 네거티브 또는 포지티브를 포함한다. "이미지" 또는 "화상"은, 또한 또는 대안으로, 전형적 2-차원 비디오, 2D 비디오 화상에 대한 시차 맵, 2D 비디오 화상에 대응하는 심도 맵, 또는 에지 맵 등을 포함하는 다양한 여러 다른 유형의 컨텐트를 가리킬 수 있다.
"심도 맵", 또는 "시차 맵", 또는 "에지 맵", 또는 유사한 용어는 또한 폭넓은 용어로 의도된다. 맵은 일반적으로는, 예컨대, 특정 유형의 정보를 포함하는 화상을 가리킨다. 그렇지만, 맵은 그 명칭으로는 나타나지 않는 다른 유형의 정보를 포함할 수 있다. 예컨대, 심도 맵은 전형적으로는 심도 정보를 포함하지만, 비디오 또는 에지 정보 등과 같은 다른 정보를 또한 포함할 수 있다.
용어 "이웃" 및 "이웃하는"은 본 출원의 곳곳에서 사용된다. 예로서, 제1 블록 또는 픽셀이 제2 블록 또는 픽셀을 터치하면 제1 블록 또는 픽셀은 제2 블록 또는 픽셀에 이웃이라고 말해진다. 그래서, 소정 블록 또는 픽셀은 일반적으로는 좌측, 우측, 위, 아래, 및 4개 코너에서의 블록 또는 픽셀을 포함하여 8개의 이웃을 갖는다.
예컨대 "A/B", "A 및/또는 B" 및 "A 및 B 중 적어도 하나"의 경우에 있어서의 그 "/", "및/또는", 및 "중 적어도 하나" 중 어느 것의 사용은 제1 목록의 옵션(A)만의 선택, 또는 제2 목록의 옵션(B)만의 선택, 또는 옵션(A, B) 둘 다의 선택을 아우르려는 의도이다. 추가적 예로서, "A, B 및/또는 C" 및 "A, B 및 C 중 적어도 하나" 및 "A, B 또는 C 중 적어도 하나"의 경우에 있어서, 그러한 표현은 제1 목록의 옵션(A)만의 선택, 또는 제2 목록의 옵션(B)만의 선택, 또는 제3 목록의 옵션(C)만의 선택, 또는 제1 및 제2 목록의 옵션(A, B)만의 선택, 또는 제1 및 제3 목록의 옵션(A, C)만의 선택, 또는 제2 및 제3 목록의 옵션(B, C)만의 선택, 또는 모든 3개의 옵션(A, B, C)의 선택을 아우르려는 의도이다. 이것은, 업계 및 관련 업계의 당업자에 의해 쉽게 명백한 바와 같이, 목록의 수만큼의 아이템에 대해 확장될 수 있다.
부가적으로, 다수의 구현이 인코더(예컨대, 인코더(1100 또는 1602)), 디코더(예컨대, 디코더(1200 또는 1706)), 디코더로부터의 출력을 프로세싱하는 후치-프로세서(예컨대, 프로세서(1708)), 또는 인코더에 입력을 제공하는 전치-프로세서(예컨대, 프로세서(1601)) 중 하나 이상에서 구현될 수 있다. 더욱, 다른 구현이 본 개시에 의해 고려된다.
본 명세서에서 설명된 구현은, 예컨대, 방법 또는 프로세스, 장치, 소프트웨어 프로그램, 데이터 스트림 또는 신호로 구현될 수 있다. 단일 형태의 구현의 맥락에서만 논의(예컨대, 방법으로서만 논의)되었더라도, 논의된 특징의 구현은 또한 다른 형태(예컨대, 장치 또는 프로그램)로도 구현될 수 있다. 장치는 적절한 하드웨어, 소프트웨어 및 펌웨어 등으로 구현될 수 있다. 방법은, 예컨대, 컴퓨터, 마이크로프로세서, 집적 회로 또는 프로그래밍가능한 로직 디바이스 등을 포함하는 프로세싱 디바이스를 일반적으로 가리키는 프로세서 등과 같은 장치로 구현될 수 있다. 프로세서는 또한 최종-사용자 사이에 정보의 통신을 용이하게 하는 컴퓨터, 셀 폰, 휴대용/퍼스널 디지털 어시스턴트("PDA") 및 다른 디바이스 등과 같은 통신 디바이스를 포함한다.
본 명세서에서 설명된 다양한 프로세스 및 특징의 구현은, 특히, 데이터 인코딩, 데이터 디코딩, 뷰 발생, 심도 또는 시차 프로세싱, 및 이미지 및 관련 심도 및/또는 시차 맵의 다른 프로세싱과 연관된 애플리케이션 또는 장비 등의 다양한 여러 다른 애플리케이션 또는 장비에서 구체화될 수 있다. 그러한 장비의 예는 인코더, 디코더, 디코더로부터의 출력을 프로세싱하는 후치-프로세서, 인코더로의 입력을 제공하는 전치-프로세서, 비디오 코더, 비디오 디코더, 비디오 코덱, 웹 서버, 셋-톱 박스, 랩톱, 퍼스널 컴퓨터, 셀 폰, PDA, 및 다른 통신 디바이스를 포함한다. 명확한 바와 같이, 장비는 이동식일 수 있고 이동 차량에 설치될 수도 있다.
부가적으로, 방법은 프로세서에 의해 수행되는 명령어에 의해 구현될 수 있고, 그러한 명령어(및/또는 구현에 의해 산출된 데이터 값)는, 예컨대, 집적 회로, 소프트웨어 캐리어, 또는 하드 디스크, 콤팩트 디스켓("CD"), 광학 디스크(예컨대, 흔히 디지털 다기능 디스크 또는 디지털 비디오 디스크라고 지칭되는 DVD 등), 램("RAM"), 또는 롬("ROM")과 같은 다른 저장 디바이스 등의 프로세서-읽기가능한 매체 상에 저장될 수 있다. 명령어는 프로세서-읽기가능한 매체 상에 유형적으로 구체화된 애플리케이션 프로그램을 형성할 수 있다. 명령어는, 예컨대, 하드웨어, 펌웨어, 소프트웨어 또는 그 조합에 있을 수 있다. 명령어는, 예컨대, 운영 체계, 별개 애플리케이션 또는 그 둘의 조합에서 발견될 수 있다. 그래서, 프로세서는, 예컨대, 프로세스를 수행하도록 구성된 디바이스 및 프로세스를 수행하기 위한 명령어를 갖는 프로세서-읽기가능한 매체(저장 디바이스 등)를 포함하는 디바이스 둘 다로서 특징지어질 수 있다. 더욱, 프로세서-읽기가능한 매체는, 명령어에 부가하여 또는 그 대신에, 구현에 의해 산출된 데이터 값을 저장할 수 있다.
당업자에게는 명백할 바와 같이, 구현은 예컨대 저장 또는 송신될 수 있는 정보를 반송하도록 포매팅된 다양한 신호를 산출할 수 있다. 정보는, 예컨대, 방법을 수행하기 위한 명령어, 또는 설명된 구현 중 하나에 의해 산출된 데이터를 포함할 수 있다. 예컨대, 신호는, 설명된 실시예의 구문을 쓰거나 읽기 위한 규칙을 데이터로서 반송하도록, 또는 설명된 실시예에 의해 쓰인 실제의 구문-값을 데이터로서 반송하도록 포매팅될 수 있다. 그러한 신호는, 예컨대, 전자기파(예컨대, 스펙트럼의 RF 부분을 사용)로서 또는 기저대역 신호로서 포매팅될 수 있다. 포매팅은, 예컨대, 데이터 스트림을 인코딩하고 인코딩된 데이터 스트림으로 반송파를 변조하는 것을 포함할 수 있다. 신호가 반송하는 정보는 예컨대 아날로그 또는 디지털 정보일 수 있다. 신호는, 알려져 있는 바와 같이, 다양한 여러 다른 유선 또는 무선 링크를 통해 송신될 수 있다. 신호는 프로세서-읽기가능한 매체 상에 저장될 수 있다.
소정 수의 구현이 설명되었다. 그렇지만, 다양한 수정이 이루어질 수 있음을 이해할 것이다. 예컨대, 여러 다른 구현의 요소는 다른 구현을 산출하도록 조합, 보충, 수정 또는 제거될 수 있다. 부가적으로, 당업자는 개시된 것들을 다른 구조 및 프로세스가 대신할 수 있고 결과적 구현이 적어도 실질적으로 동일 방식(들)으로 적어도 실질적으로 동일 기능(들)을 수행하여 개시된 구현과 적어도 실질적으로 동일 결과(들)를 달성할 것임을 이해할 것이다. 따라서, 이들 및 다른 구현이 본 출원에 의해 고려된다.

Claims (29)

  1. 참조 심도 지표(reference depth indicator)에 기반하여 비디오 이미지 시퀀스에서의 비디오 이미지의 특정 부분에 대한 조각내기를 결정하는 단계; 및
    상기 비디오 이미지의 상기 특정 부분과 연관된 표적 심도 지표를 프로세싱하는 단계를 포함하되,
    상기 참조 심도 지표는 상기 비디오 이미지 시퀀스에서의 하나의 비디오 이미지의 적어도 일부와 연관된 심도 지표이고, 상기 프로세싱하는 단계는 상기 비디오 이미지의 상기 특정 부분에서의 상기 결정된 조각내기(sementation)에 기반하는 것인 방법.
  2. 제1항에 있어서, 상기 참조 심도 지표는 복원된(reconstructed) 심도 지표를 포함하는 것인 방법.
  3. 제2항에 있어서,
    상기 복원된 심도 지표는 상기 비디오 이미지의 적어도 일부와 연관되고,
    상기 복원된 심도 지표는 상기 표적 심도 지표와 공통 이미지에 있는 것인 방법.
  4. 제1항에 있어서, 상기 특정 부분에 대한 상기 조각내기를 결정하는 단계는,
    상기 참조 심도 지표의 참조 조각내기를 결정하는 단계; 및
    상기 특정 부분에 대한 상기 조각내기를 결정하도록 상기 참조 조각내기를 사용하는 단계를 포함하는 것인 방법.
  5. 제4항에 있어서,
    상기 참조 심도 지표는 상기 표적 심도 지표와 이웃하는 심도 지표를 포함하고,
    상기 특정 부분에 대한 상기 조각내기를 결정하도록 상기 참조 조각내기를 사용하는 단계는,
    상기 비디오 이미지의 상기 특정 부분의 이웃인 상기 비디오 이미지의 이웃 부분에 상기 참조 조각내기를 적용하는 단계; 및
    성장된 조각내기를 산출하도록 상기 이웃 부분으로부터의 상기 참조 조각내기를 상기 비디오 이미지의 상기 특정 부분으로 성장시키는 단계를 포함하는 것인 방법.
  6. 제5항에 있어서, 상기 참조 조각내기를 성장시키는 단계는,
    상기 특정 부분으로부터 소정 픽셀을 선택하는 단계;
    상기 소정 픽셀의 값을 결정하는 단계;
    상기 이웃 부분으로부터의 픽셀을 결정하는 단계;
    상기 이웃 부분으로부터의 상기 픽셀의 조각을 결정하는 단계; 및
    상기 이웃 부분으로부터의 상기 픽셀의 상기 조각에 상기 소정 픽셀을 할당하는 단계를 포함하는 것인 방법.
  7. 제6항에 있어서, 상기 이웃 부분으로부터의 상기 픽셀을 결정하는 단계는, 상기 이웃 부분에서의 모든 픽셀 중, 상기 소정 픽셀의 값에 가장 가까운 값을 갖는 상기 이웃 부분으로부터 픽셀을 결정하는 단계를 포함하는 것인 방법.
  8. 제5항에 있어서, 상기 참조 조각내기를 성장시키는 단계는,
    상기 특정 부분으로부터 소정 픽셀을 선택하는 단계;
    상기 참조 조각내기의 특정 조각에 관해 상기 소정 픽셀에 대한 메트릭 값을 결정하는 단계; 및
    상기 결정된 메트릭 값에 기반하여 상기 특정 조각에 상기 소정 픽셀을 할당하는 단계를 포함하되, 상기 메트릭 값은 (i) 상기 소정 픽셀로부터 상기 특정 조각 내 하나 이상의 픽셀까지의 거리, 및 (ii) 상기 소정 픽셀과 상기 특정 조각 내 상기 하나 이상의 픽셀 사이의 픽셀 값 차이에 기반하는 것인 방법.
  9. 제5항에 있어서, 상기 표적 심도 지표를 프로세싱하는 단계는 상기 표적 심도 지표에 상기 성장된 조각내기를 적용하는 단계를 포함하는 것인 방법.
  10. 제9항에 있어서, 상기 표적 심도 지표를 프로세싱하는 단계는,
    (i) 상기 표적 심도 지표에 상기 성장된 조각내기를 적용하는 단계로부터 초래된 상기 표적 심도 지표의 조각을 (ii) 상기 참조 심도 지표의 상기 참조 조각내기의 조각과 연관시키는 단계;
    상기 참조 조각내기의 상기 조각에 대한 대표값(representative)을 결정하는 단계; 및
    상기 대표값을 상기 표적 심도 지표의 상기 조각에서의 심도값에 대한 예측자로서 사용하는 단계를 더 포함하는 것인 방법.
  11. 제10항에 있어서, 상기 표적 심도 지표를 프로세싱하는 단계는 상기 대표값에 기반하여 상기 표적 심도 지표를 인코딩하는 단계를 더 포함하는 것인 방법.
  12. 제10항에 있어서, 상기 표적 심도 지표를 프로세싱하는 단계는 상기 대표값에 기반하여 상기 표적 심도 지표를 디코딩하는 단계를 더 포함하는 것인 방법.
  13. 제10항에 있어서, 상기 대표 심도값을 결정하는 단계는 상기 참조 조각내기의 상기 조각에 대한 평균 또는 중간값 중 적어도 하나를 결정하는 단계를 포함하는 것인 방법.
  14. 제1항에 있어서, 상기 프로세싱하는 단계는 상기 비디오 이미지의 상기 특정 부분에 대한 상기 결정된 조각내기에 기반하여 상기 표적 심도 지표에 대한 하나 이상의 예측자를 결정하는 단계를 포함하는 것인 방법.
  15. 제14항에 있어서, 상기 결정된 조각내기에 기반하여 상기 예측자를 결정하는 단계는,
    상기 표적 심도 지표에 상기 결정된 조각내기를 적용하는 단계;
    상기 표적 심도 지표의 조각에 대한 대표 심도값을 결정하는 단계; 및
    상기 대표 심도값을 상기 표적 심도 지표의 상기 조각에서의 심도값에 대한 예측자로서 사용하는 단계를 포함하고, 상기 조각은 상기 표적 심도 지표에 상기 결정된 조각내기를 적용하는 단계로부터 얻어진 것인 방법.
  16. 제1항에 있어서, 상기 표적 심도 지표를 프로세싱하는 단계는 상기 결정된 조각내기에 기반하여 상기 표적 심도 지표를 코딩하는 단계를 포함하는 것인 방법.
  17. 제16항에 있어서, 상기 결정된 조각내기에 기반하여 상기 표적 심도 지표를 코딩하는 단계는 상기 표적 심도 지표에 상기 결정된 조각내기를 적용하는 단계를 포함하는 것인 방법.
  18. 제17항에 있어서, 상기 결정된 조각내기에 기반하여 상기 표적 심도 지표를 코딩하는 단계는,
    상기 표적 심도 지표에 상기 결정된 조각내기를 적용하는 단계로부터 초래된 상기 표적 심도 지표의 조각에 대한 대표 심도값을 결정하는 단계;
    상기 대표 심도값을 상기 표적 심도 지표의 상기 조각에서의 심도값에 대한 예측자로서 사용하는 단계;
    상기 예측자에 기반하여 상기 표적 심도 지표의 상기 조각에 대한 레지듀를 결정하는 단계; 및
    상기 레지듀를 코딩하는 단계를 더 포함하는 것인 방법.
  19. 제1항에 있어서, 상기 표적 심도 지표를 프로세싱하는 단계는, 복원된 표적 심도 지표를 산출하도록, 상기 결정된 조각내기에 기반하여 상기 표적 심도 지표를 디코딩하는 단계를 포함하는 것인 방법.
  20. 제19항에 있어서, 상기 결정된 조각내기에 기반하여 상기 표적 심도 지표를 디코딩하는 단계는 상기 표적 심도 지표에 상기 결정된 조각내기를 적용하는 단계를 포함하는 것인 방법.
  21. 제20항에 있어서, 상기 결정된 조각내기에 기반하여 상기 표적 심도 지표를 디코딩하는 단계는,
    상기 표적 심도 지표에 상기 결정된 조각내기를 적용하는 단계로부터 초래된 상기 표적 심도 지표의 조각에 대한 대표 심도값을 결정하는 단계;
    상기 대표 심도값을 상기 표적 심도 지표의 상기 조각에서의 심도값에 대한 예측자로서 사용하는 단계;
    상기 예측자에 기반하여 상기 표적 심도 지표의 상기 조각에 대한 레지듀에 액세스하는 단계; 및
    상기 복원된 표적 심도 지표를 산출하도록 상기 레지듀를 상기 예측자에 가산하는 단계를 더 포함하는 것인 방법.
  22. 적어도 다음의 연산:
    참조 심도 지표에 기반하여 비디오 이미지 시퀀스에서의 비디오 이미지의 특정 부분에 대한 조각내기를 결정하는 연산; 및
    상기 비디오 이미지의 상기 특정 부분의 적어도 일부와 연관된 표적 심도 지표를 프로세싱하는 연산을 수행하도록 구성된 장치로서,
    상기 참조 심도 지표는 상기 비디오 이미지 시퀀스에서의 적어도 하나의 비디오 이미지와 연관된 심도 지표이고, 상기 프로세싱하는 연산은 상기 비디오 이미지의 상기 특정 부분에서의 결정된 조각내기에 기반하는 것인 장치.
  23. 제22항에 있어서, 상기 장치는 인코더 또는 디코더 중 하나 이상을 포함하는 것인 장치.
  24. 제22항에 있어서, 상기 장치는 상기 조각내기를 결정하는 연산 및 상기 표적 심도 지표를 프로세싱하는 연산을 수행하도록 구성된 프로세서를 포함하는 것인 장치.
  25. 참조 심도 지표에 기반하여 비디오 이미지 시퀀스에서의 비디오 이미지의 특정 부분에 대한 조각내기를 결정하는 수단; 및
    상기 비디오 이미지의 상기 특정 부분과 연관된 표적 심도 지표를 프로세싱하는 수단을 포함하되,
    상기 참조 심도 지표는 상기 비디오 이미지 시퀀스에서의 하나의 비디오 이미지의 적어도 일부와 연관된 심도 지표이고, 상기 프로세싱은 상기 비디오 이미지의 상기 특정 부분에서의 결정된 조각내기에 기반하는 것인 장치.
  26. 프로세서 읽기가능한 매체로서, 하나 이상의 프로세서가,
    참조 심도 지표에 기반하여 비디오 이미지 시퀀스에서의 비디오 이미지의 특정 부분에 대한 조각내기를 결정하는 단계; 및
    상기 비디오 이미지의 상기 특정 부분에 대응하는 표적 심도 지표를 프로세싱하는 단계를 총괄하여 수행하도록 하기 위한 명령어를 저장하고 있는 상기 프로세서 읽기가능한 매체로서,
    상기 참조 심도 지표는 상기 비디오 이미지 시퀀스에서의 하나의 비디오 이미지의 적어도 일부와 연관된 심도 지표이고, 상기 프로세싱하는 단계는 상기 비디오 이미지의 상기 특정 부분에서의 결정된 조각내기에 기반하는 것인 프로세서 읽기가능한 매체.
  27. 비디오 이미지의 적어도 소정 부분에 대한 조각내기를 상기 소정 부분과 연관된 심도 지표에 기반하여 결정하는 단계; 및
    상기 소정 부분에서의 픽셀 값 및 표적 부분에서의 픽셀 값에 기반하여 상기 소정 부분으로부터의 상기 조각내기를 상기 비디오 이미지의 상기 표적 부분으로 확장시키는 단계를 포함하는 방법.
  28. 제27항에 있어서, 확장된 조각내기를 심도-지표 이미지의 적어도 표적 부분에 적용하는 단계를 더 포함하고, 상기 심도-지표 이미지의 상기 표적 부분은 상기 비디오 이미지의 상기 표적 부분과 연관된 심도 지표를 포함하는 것인 방법.
  29. 제28항에 있어서, 적용된 조각내기에 기반하여 상기 심도-지표 이미지의 상기 표적 부분을 인코딩하는 단계를 더 포함하는 방법.
KR1020147005148A 2011-08-26 2011-08-26 심도 코딩 KR101838341B1 (ko)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/US2011/049316 WO2013032423A1 (en) 2011-08-26 2011-08-26 Depth coding

Publications (2)

Publication Number Publication Date
KR20140056300A true KR20140056300A (ko) 2014-05-09
KR101838341B1 KR101838341B1 (ko) 2018-04-26

Family

ID=44545978

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020147005148A KR101838341B1 (ko) 2011-08-26 2011-08-26 심도 코딩

Country Status (6)

Country Link
US (1) US20140184744A1 (ko)
EP (1) EP2748794B1 (ko)
JP (1) JP5937212B2 (ko)
KR (1) KR101838341B1 (ko)
CN (1) CN103765474B (ko)
WO (1) WO2013032423A1 (ko)

Families Citing this family (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20120236114A1 (en) * 2011-03-18 2012-09-20 Te-Hao Chang Depth information generator for generating depth information output by only processing part of received images having different views, and related depth information generating method and depth adjusting apparatus thereof
IN2014KN01040A (ko) 2011-11-11 2015-10-09 Fraunhofer Ges Forschung
WO2013068564A1 (en) 2011-11-11 2013-05-16 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. Effective wedgelet partition coding using spatial prediction
KR101663394B1 (ko) 2011-11-11 2016-10-06 지이 비디오 컴프레션, 엘엘씨 적응적 분할 코딩
EP2777286B1 (en) 2011-11-11 2017-01-04 GE Video Compression, LLC Effective wedgelet partition coding
ES2698515T3 (es) 2013-03-15 2019-02-05 Qualcomm Inc Predictor para la intra-codificación de mapas de profundidad
US9497485B2 (en) 2013-04-12 2016-11-15 Intel Corporation Coding unit size dependent simplified depth coding for 3D video coding
US9571809B2 (en) 2013-04-12 2017-02-14 Intel Corporation Simplified depth coding with modified intra-coding for 3D video coding
WO2014168642A1 (en) * 2013-04-12 2014-10-16 Intel Corportation Simplified depth coding with modified intra-coding for 3d video coding
WO2015000168A1 (en) 2013-07-05 2015-01-08 Mediatek Singapore Pte. Ltd. A simplified dc prediction method in intra prediction
CN103841405B (zh) * 2014-03-21 2016-07-06 华为技术有限公司 深度图像的编解码方法和编解码装置
US9736455B2 (en) * 2014-06-30 2017-08-15 Nokia Technologies Oy Method and apparatus for downscaling depth data for view plus depth data compression
WO2016185079A1 (en) * 2015-05-18 2016-11-24 Nokia Technologies Oy Filtering depth map image
WO2017220164A1 (en) * 2016-06-24 2017-12-28 Huawei Technologies Co., Ltd. Devices and methods for video coding using segmentation based partitioning of video coding blocks
KR102351542B1 (ko) * 2017-06-23 2022-01-17 삼성전자주식회사 시차 보상 기능을 갖는 애플리케이션 프로세서, 및 이를 구비하는 디지털 촬영 장치
US11315321B2 (en) * 2018-09-07 2022-04-26 Intel Corporation View dependent 3D reconstruction mechanism
CN109600600B (zh) * 2018-10-31 2020-11-03 万维科研有限公司 涉及深度图转换的编码器、编码方法以及三层表达式的存储方法和格式

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10242255B2 (en) * 2002-02-15 2019-03-26 Microsoft Technology Licensing, Llc Gesture recognition system using depth perceptive sensors
US8160388B2 (en) * 2008-06-17 2012-04-17 International Business Machines Corporation Spatially selective transformation of a spatially varying optical characteristic of an image in an array of pixels
KR20110117075A (ko) * 2009-01-29 2011-10-26 엘지전자 주식회사 경계 인트라 코딩을 이용한 비디오 신호 처리 방법 및 장치
US20120008684A1 (en) * 2010-07-09 2012-01-12 Samsung Electronics Co., Ltd. Method and apparatus of encoding and decoding video signal
JP5858380B2 (ja) * 2010-12-03 2016-02-10 国立大学法人名古屋大学 仮想視点画像合成方法及び仮想視点画像合成システム
JP5357199B2 (ja) * 2011-03-14 2013-12-04 日本電信電話株式会社 画像符号化方法,画像復号方法,画像符号化装置,画像復号装置,画像符号化プログラムおよび画像復号プログラム
WO2012147740A1 (ja) * 2011-04-25 2012-11-01 シャープ株式会社 画像符号化装置、画像符号化方法、画像符号化プログラム、画像復号装置、画像復号方法及び画像復号プログラム
KR101927967B1 (ko) * 2011-08-09 2018-12-12 삼성전자주식회사 다시점 비디오 데이터의 깊이맵 부호화 방법 및 장치, 복호화 방법 및 장치

Also Published As

Publication number Publication date
JP2014529955A (ja) 2014-11-13
CN103765474B (zh) 2017-10-24
WO2013032423A1 (en) 2013-03-07
EP2748794B1 (en) 2017-07-12
US20140184744A1 (en) 2014-07-03
CN103765474A (zh) 2014-04-30
EP2748794A1 (en) 2014-07-02
KR101838341B1 (ko) 2018-04-26
JP5937212B2 (ja) 2016-06-22

Similar Documents

Publication Publication Date Title
KR101838341B1 (ko) 심도 코딩
JP7528179B2 (ja) パーティション符号化を用いた有効な予測
KR102602614B1 (ko) 변환에 기반한 영상 코딩 방법 및 그 장치
US9998761B2 (en) Apparatus for coding a bit stream representing a three-dimensional video
TW202002631A (zh) 用於視訊寫碼及處理的解區塊濾波器
JP2017108427A (ja) 高い分割自由度を伴う効果的なパーティション符号化
CN106068527A (zh) 用于立体数据的深度感知增强
KR20160052808A (ko) 화소 레벨 적응 인트라-평활화
CN105025997A (zh) 针对位深度可缩放视频译码使用样本自适应调整的层间预测
KR102661461B1 (ko) 팔레트 모드 기반 영상 또는 비디오 코딩
KR20200015783A (ko) 인트라 예측 모드 기반 영상 처리 방법 및 이를 위한 장치
KR20200140896A (ko) 인터 예측 모드 기반 영상 처리 방법 및 이를 위한 장치
CN114424548B (zh) 基于调色板编码的图像或视频编码
KR20220098114A (ko) 영상 부호화 방법/장치, 영상 복호화 방법/장치 및 비트스트림을 저장한 기록 매체
KR102605674B1 (ko) 디블록킹 필터링을 사용하는 영상 코딩 방법 및 장치
KR20220038725A (ko) 팔레트 이스케이프 코딩 기반 영상 또는 비디오 코딩
KR20210024113A (ko) 양방향 인트라 예측을 위한 참조 샘플 보간 방법 및 장치
KR20210152576A (ko) 디블록킹 필터링에 기반한 영상 코딩 방법 및 그 장치
KR102234851B1 (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
GRNT Written decision to grant