KR20220162859A - 적응적 분할 코딩 - Google Patents

적응적 분할 코딩 Download PDF

Info

Publication number
KR20220162859A
KR20220162859A KR1020227041021A KR20227041021A KR20220162859A KR 20220162859 A KR20220162859 A KR 20220162859A KR 1020227041021 A KR1020227041021 A KR 1020227041021A KR 20227041021 A KR20227041021 A KR 20227041021A KR 20220162859 A KR20220162859 A KR 20220162859A
Authority
KR
South Korea
Prior art keywords
block
coding
picture
segmentation
decoder
Prior art date
Application number
KR1020227041021A
Other languages
English (en)
Other versions
KR102588425B1 (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 지이 비디오 컴프레션, 엘엘씨
Priority to KR1020237034261A priority Critical patent/KR20230145540A/ko
Publication of KR20220162859A publication Critical patent/KR20220162859A/ko
Application granted granted Critical
Publication of KR102588425B1 publication Critical patent/KR102588425B1/ko

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/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/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/105Selection of the reference unit for prediction within a chosen coding or prediction mode, e.g. adaptive choice of position and number of pixels used for prediction
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/119Adaptive subdivision aspects, e.g. subdivision of a picture into rectangular or non-rectangular coding blocks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/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/124Quantisation
    • 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/13Adaptive entropy coding, e.g. adaptive variable length coding [AVLC] or context adaptive binary arithmetic coding [CABAC]
    • 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/132Sampling, masking or truncation of coding units, e.g. adaptive resampling, frame skipping, frame interpolation or high-frequency transform coefficient masking
    • 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/189Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the adaptation method, adaptation tool or adaptation type used for the adaptive coding
    • H04N19/196Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the adaptation method, adaptation tool or adaptation type used for the adaptive coding being specially adapted for the computation of encoding parameters, e.g. by averaging previously computed encoding parameters
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/20Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using video object coding
    • H04N19/23Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using video object coding with coding of regions that are present throughout a whole video segment, e.g. sprites, background or mosaic
    • 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/46Embedding additional information in the video signal during the compression process
    • 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/70Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by syntax aspects related to video coding, e.g. related to compression standards
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/80Details of filtering operations specially adapted for video compression, e.g. for pixel interpolation
    • H04N19/82Details of filtering operations specially adapted for video compression, e.g. for pixel interpolation involving filtering within a prediction loop
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/90Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using coding techniques not provided for in groups H04N19/10-H04N19/85, e.g. fractals
    • H04N19/91Entropy coding, e.g. variable length coding [VLC] or arithmetic coding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/90Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using coding techniques not provided for in groups H04N19/10-H04N19/85, e.g. fractals
    • H04N19/96Tree coding, e.g. quad-tree coding
    • 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

Abstract

웨지렛 기반의 분할이 윤곽선 분할에 비해 한편으로 보조 정보 레이트와 다른 한편으로 분할 가능성의 달성 가능한 다양성 사이의 양호한 트레이드오프를 나타내는 것처럼 보이지만, 분할이 웨지렛 분할이어야 하는 정도까지 분할의 제한을 완화하는 능력은 깊이/변이 맵에서 이중 세그먼테이션에 대한 양호한 예측기를 도출하기 위해 중첩된 공간적 샘플링된 텍스처 정보 상으로의 비교적 복잡하지 않은 통계적 분석을 적용할 수 있게 한다. 따라서, 제 1 양태에 따르면, 그것은 픽처 형태의 동일 위치된 텍스처 정보가 존재할 경우에 시그널링 오버헤드를 완화하는 자유를 정확히 증가시킨다. 다른 양태는 불규칙한 분할을 지원하는 각각의 코딩 모드를 시그널링하는 것과 관련된 보조 정보 레이트를 저장할 수 있는 가능성에 관한 것이다.

Description

적응적 분할 코딩 {ADAPTIVE PARTITION CODING}
본 발명은 높은 자유도를 가능하게 하는 윤곽선(contour) 블록 분할(partitioning) 또는 블록 분할을 이용한 샘플 어레이 코딩에 관한 것이다.
대부분의 코딩 방식은 블록으로의 샘플 어레이의 세분(subdivision)을 이용하여 샘플 어레이 데이터를 압축한다. 샘플 어레이는 텍스처, 즉 픽처(picture)의 공간적 샘플링을 정의할 수 있지만, 물론 다른 샘플 어레이는 깊이 맵 등과 같은 유사한 코딩 기술을 사용하여 압축될 수 있다. 각각의 샘플 어레이에 의해 공간적으로 샘플링된 정보의 서로 다른 특성으로 인해, 서로 다른 코딩 개념은 서로 다른 종류의 샘플 어레이에 가장 적합하다. 그러나, 이러한 종류의 샘플 어레이와 관계없이, 이러한 코딩 개념의 대부분은 개개의 코딩 옵션을 샘플 어레이의 블록에 할당하기 위해 블록-세분(block-subdivisioning)을 이용하여, 한편으로 개개의 블록에 할당된 코딩 파라미터를 코딩하기 위한 보조(side) 정보 레이트와, 각각의 블록의 예측 실패로 인해 잔류 예측을 코딩하기 위한 잔류 코딩 레이트 사이의 양호한 트레이드오프(tradeoff)를 찾거나, 잔류 코딩을 갖거나 갖지 않고 레이트/왜곡 의미에서 양호한 타협(comprise)을 찾는다.
대부분, 블록은 직사각형 또는 이차의(quadratic) 형상이다. 분명히, 코딩 유닛(블록)의 형상을 코딩되도록 샘플 어레이의 콘텐츠에 적응시킬 수 있는 것이 바람직하다. 그러나, 불행하게도, 블록 또는 코딩 유닛의 형상을 샘플 어레이의 콘텐츠에 적응시키는 것은 블록 분할의 시그널링을 위한 추가적인 보조 정보를 이용하는 것을 포함한다. 블록의 웨지렛형(wedgelet-type) 분할은 가능한 블록 분할 형상과 포함된 보조 정보 오버헤드 사이의 적절한 절충인 것으로 발견되었다. 웨지렛형 분할은 예를 들어 특정 코딩 파라미터가 사용될 수 있는 웨지렛 분할으로 블록의 분할에 이르게 한다.
그러나, 심지어 웨지렛 분할에 대한 제한은 블록의 분할의 시그널링을 위한 상당량의 부가적인 오버헤드에 이르게 하고, 따라서 더욱 효율적인 방식으로 샘플 어레이를 코딩할 시에 블록의 분할의 높은 자유도를 가능하게 하는 더욱 효과적인 코딩 개념을 가까이에 갖는 것이 바람직하다.
이러한 목적은 계류 중인 독립항의 발명 대상에 의해 달성된다.
본 발명의 기초가 되는 주된 아이디어는 웨지렛 기반의 분할이 윤곽선 분할에 비해 한편으로 보조 정보 레이트와 다른 한편으로 분할 가능성의 달성 가능한 다양성 사이의 양호한 트레이드오프를 나타내는 것처럼 보이지만, 분할이 웨지렛 분할이어야 하는 정도까지 분할의 제한을 완화하는 능력은 깊이/변이(disparity) 맵에서 이중 세그먼테이션(bi-segmentation)에 대한 양호한 예측기를 도출하기 위해 중첩된 공간적 샘플링된 텍스처 정보 상으로의 비교적 복잡하지 않은 통계적 분석을 적용할 수 있게 한다. 따라서, 제 1 양태에 따르면, 그것은 픽처 형태의 동일 위치된(co-located) 텍스처 정보가 존재할 경우에 시그널링 오버헤드를 완화하는 자유를 정확히 증가시킨다.
본 발명의 추가의 양태가 기초가 되는 다른 구상은 이중 세그먼테이션의 도출이 깊이/변이 맵의 현재 블록 상으로의 이중 세그먼테이션의 후속 전달을 갖는 픽처 내의 동일 위치된 참조 블록에 기초한다는 방금 설명된 아이디어가 깊이/변이 맵의 현재 블록의 콘텐츠의 양호한 근사치(approximation)를 달성하는 가능성이 상당히 높아 이러한 이중 세그먼테이션 전달 모드를 트리거하기 위해 대응하는 코딩 옵션 식별자의 각각의 미리 정해진 값의 예약을 정당화할 경우에만 타당하다는 것이다. 다시 말하면, 각각의 이중 세그먼테이션 전달이 어쨌든 선택되지 않을 가능성이 높은 경우에 이러한 코딩 옵션 식별자를 엔트로피 코딩할 때 깊이/변이 맵의 현재 블록에 대한 코딩 옵션 식별자의 각각의 미리 정해진 값을 취할 필요성을 회피함으로써 보조 정보 레이트는 저장될 수 있다.
추가의 보조 양태는 종속항의 발명의 대상이다.
본 발명의 바람직한 실시예는 도면과 관련하여 아래에서 더욱 상세히 설명된다.
도 1은 본 발명의 실시예가 일례에 따라 구축될 수 있는 멀티뷰(multi-view) 인코더의 블록도를 도시한다.
도 2는 뷰(view) 및 비디오 깊이/변위 경계에 걸친 정보 재사용을 예시하기 위한 멀티뷰 신호의 일부의 개략도를 도시한다.
도 3은 도 1에 맞는 디코더의 블록도를 도시한다.
도 4는 연속(왼쪽) 및 이산 신호 공간(오른쪽)의 이차 블록의 웨지렛 분할을 도시한다.
도 5는 웨지렛 블록 분할의 6개의 서로 다른 방향의 개략도를 도시한다.
도 6은 블록 크기 4×4(왼쪽), 8×8(중간), 및 16×16(오른쪽)에 대한 웨지렛 분할 패턴의 일례를 도시한다.
도 7은 분할 정보와 CPV(분할 영역의 깊이 신호의 평균값)를 조합함으로써 웨지렛 모델과의 깊이 신호의 근사치를 도시한다.
도 8은 웨지렛 분할 패턴의 생성을 도시한다.
도 9는 연속(왼쪽) 및 이산 신호 공간(오른쪽)의 이차 블록의 윤곽선 분할을 도시한다.
도 10은 블록 크기 8×8에 대한 윤곽선 분할 패턴의 일례를 도시한다.
도 11은 분할 정보와 CPV(분할 영역의 깊이 신호의 평균값)를 조합함으로써 윤곽선 모델과의 깊이 신호의 근사치를 도시한다.
도 12는 위의 참조 블록이 웨지렛형 분할(왼쪽) 또는 규칙내(regular intra) 방향(오른쪽)의 어느 하나인 시나리오에 대한 웨지렛 분할(파란색)의 인트라(intra) 예측을 도시한다.
도 13은 텍스처 루마 참조(texture luma reference)으로부터의 웨지렛(파란색) 및 윤곽선 (녹색) 분할 정보의 예측을 도시한다.
도 14는 서로 다른 CPV형 사이의 관계를 보여주는 블록 분할의 CPV: 이웃한 블록의 인접한 샘플(왼쪽) 및 블록의 단면(오른쪽)으로부터의 CPV 예측을 도시한다.
도 15는 텍스처 루마 변동량(luma variance)에 기초한 모드 사전 선택을 도시한다.
도 16은 실시예에 따른 디코더의 블록도를 도시한다.
도 17은 도 16에 맞는 인코더의 블록도를 도시한다.
도 18은 실시예에 따른 디코더의 블록도를 도시한다.
도 19는 도 18에 맞는 인코더의 블록도를 도시한다.
도 20은 실시예에 따른 디코더의 블록도를 도시한다.
도 21은 도 20에 맞는 인코더의 블록도를 도시한다.
도 22은 실시예에 따른 디코더의 블록도를 도시한다.
도 23은 도 22에 맞는 인코더의 블록도를 도시한다.
도 24는 실시예에 따른 디코더의 블록도를 도시한다.
도 25는 도 24에 맞는 인코더의 블록도를 도시한다.
본 발명의 바람직한 실시예에 대한 다음의 설명은 본 발명의 실시예가 유리하게 채용될 수 있는 가능한 환경으로 시작한다. 특히, 실시예에 따른 멀티뷰 코덱은 도 1 내지 도 3에 대해 설명된다. 그러나, 이후에 설명되는 실시예는 멀티뷰 코딩으로 제한되지 않는다는 것이 강조되어야 한다. 그럼에도 불구하고, 아래에 설명되는 일부 양태는 더 잘 이해될 수 있으며, 멀티뷰 코딩과 함께 사용될 때, 아니면, 좀 더 정확히 하기 위해, 특히 깊이 맵의 코딩과 함께 사용될 때 특별한 상승 효과가 있다. 따라서, 도 1 내지 도 3 후에, 설명은 불규칙한 블록 분할로의 도입, 및 그것과 함께 포함된 문제로 진행한다. 이러한 설명은 도 4-11를 참조하고, 이 후에 설명되는 본 발명의 실시예의 설명에 대한 기초를 형성한다.
상술한 바와 같이, 아래에 더 설명되는 실시예는 이미지 및 비디오 코딩 애플리케이션에서 직사각형이 아니거나 불규칙한 블록 분할 및 모델링 기능을 이용하고, 특히 이러한 실시예가 또한 종래의 이미지 및 비디오 코딩에 적용 가능할지라도 장면의 기하학적 형상을 표현하기 위한 것과 같이 깊이 맵의 코딩에 적용 가능하다. 아래에 더 설명되는 실시예는 이미지 및 비디오 코딩 애플리케이션에서 직사각형이 아닌 블록 분할 및 모델링 기능을 이용하기 위한 개념을 더 제공한다. 실시예는 특히 (장면의 기하학적 형상을 표현하기 위한) 깊이 맵의 코딩에 적용 가능하지만, 또한 종래의 이미지 및 비디오 코딩에도 적용 가능하다.
멀티뷰 비디오 코딩에서, (다수의 카메라에 의해 동시에 캡처되는) 비디오 장면의 둘 이상의 뷰는 단일 비트스트림으로 코딩된다. 멀티뷰 비디오 코딩의 주 목적은 3차원 뷰잉 느낌(viewing impression)을 제공함으로써 향상된 멀티미디어 경험을 최종 사용자에게 제공하는 것이다. 2개의 뷰가 코딩되면, 2개의 재구성된 비디오 시퀀스는 (안경을 가진) 종래의 스테레오 디스플레이에 표시될 수 있다. 그러나, 종래의 스테레오 디스플레이를 위한 안경의 사용을 필요로 하는 것은 종종 사용자에게는 성가시다. 안경 없이 고품질의 스테레오 뷰잉 느낌을 가능하게 하는 것은 현재 연구 및 개발에서 중요한 주제이다. 이러한 오토스테레오스코픽(autostereoscopic) 디스플레이를 위한 유망한 기술은 렌티큘러 렌즈 시스템에 기초로 한다. 원칙적으로, 원통형 렌즈의 어레이는 비디오 장면의 다수의 뷰가 동시에 표시되는 식으로 종래의 디스플레이 상에 장착된다. 사용자의 각각의 눈이 서로 다른 이미지를 볼 수 있도록 각 뷰는 작은 콘(cone)에 표시되며, 이러한 효과는 특수 안경 없이 스테레오 느낌을 생성한다. 그러나, 이러한 오토스테레오스코픽 디스플레이는 통상적으로 동일한 비디오 장면의 10-30 뷰를 필요로 한다(기술이 더욱 향상될 경우에는 더 많은 뷰가 요구될 수 있다). 셋 이상의 뷰는 또한 비디오 장면에 대한 관점을 대화식으로 선택할 수 있는 가능성을 사용자에게 제공하기 위해 사용될 수 있다. 그러나, 비디오 장면의 다수의 뷰의 코딩은 기존의 단일 뷰(2차원) 비디오에 비해 필요한 비트 레이트를 크게 증가시킨다. 통상적으로, 필요한 비트 레이트는 코딩된 뷰의 수로 대략 선형 방식을 증가시킨다. 오토스테레오스코픽 디스플레이에 대한 전송된 데이터의 량을 감소시키는 개념은 소수의 뷰(아마도 2-5 뷰)만을 전송하는 것으로 되어 있지만, 부가적으로 하나 이상의 뷰에 대한 이미지 샘플의 깊이(카메라에 대한 실세계 물체의 거리)를 나타내는 소위 깊이 맵을 전송하는 것으로 되어 있다. 대응하는 깊이 맵에 소수의 코딩된 뷰가 주어지면, 고품질의 중간 뷰(코딩된 뷰 사이에 있는 가상 뷰)와, 어느 정도까지 또한 카메라 어레이의 하나 또는 두 단부에 대한 부가적인 뷰는 적절한 렌더링 기법에 의해 수신기측에 생성될 수 있다.
현재 기술 수준의 이미지 및 비디오 코딩에서, 픽처 또는 픽처에 대한 샘플 어레이의 특정 세트는 일반적으로 특정 코딩 파라미터와 관련되는 블록으로 분해된다. 픽처는 일반적으로 다수의 샘플 어레이(휘도 및 색차)로 구성된다. 게다가, 픽처는 또한 예를 들어 투명도 정보 또는 깊이 맵을 할당할 수 있는 부가적인 보조 샘플 어레이와 관련될 수 있다. 각각의 픽처 또는 샘플 어레이는 일반적으로 블록으로 분해된다. 블록(또는 샘플 어레이의 대응하는 블록)은 인터픽처 예측 또는 인트라픽처 예측 중 하나에 의해 예측된다. 블록은 서로 다른 크기를 가질 수 있고, 이차 또는 직사각형일 수 있다. 블록으로의 픽처의 분할은 구문(syntax)에 의해 고정될 수 있거나, (적어도 부분적으로) 비트스트림 내에 시그널링될 수 있다. 종종 미리 정의된 크기의 블록에 대한 세분을 시그널링하는 구문 요소가 전송된다. 이러한 구문 요소는 블록이 더욱 작은 블록으로 세분되고, 예를 들어 예측을 위해 관련된 코딩 파라미터인지의 여부 및 방법을 할당할 수 있다. 블록(또는 샘플 어레이의 대응하는 블록)의 모든 샘플의 경우, 관련된 코딩 파라미터의 디코딩은 어떤 방식으로 할당된다. 예에서, 블록의 모든 샘플은 (이미 코딩된 픽처의 세트의 참조 픽처를 식별하는) 참조 인덱스, (참조 픽처와 현재 픽처 사이에서 블록의 움직임에 대한 측정을 할당하는) 움직임 파라미터, 보간 필터를 할당하는 파라미터, 인트라 예측 모드 등과 같은 예측 파라미터의 동일한 세트를 이용하여 예측된다. 움직임 파라미터는 수평 및 수직 구성 요소을 가진 변위 벡터에 의해 나타내거나 6개의 구성 요소로 이루어지는 아핀(affine) 움직임 파라미터와 같은 고차 움직임 파라미터에 의해 나타낼 수 있다. 또한, (참조 인덱스 및 움직임 파라미터와 같은) 특정 예측 파라미터의 둘 이상의 세트는 단일의 블록과 관련되는 것이 가능하다. 그 경우에, 이러한 특정 예측 파라미터의 각 세트에 대해, 블록(또는 샘플 어레이의 대응하는 블록)에 대한 단일의 중간 예측 신호가 생성되고, 최종 예측 신호는 중간 예측 신호를 중첩하는 것을 포함하는 조합에 의해 구축된다. 대응하는 가중 파라미터 및 잠재적으로 또한 (가중된 합에 부가되는) 일정한 오프셋은 픽처 또는 참조 픽처 또는 참조 픽처의 세트에 고정될 수 있거나, 이들은 대응하는 블록에 대한 예측 파라미터의 세트에 포함될 수 있다. 또한, 잔여 신호로 지칭되는 원래의 블록(또는 샘플 어레이의 대응하는 블록)과 이의 예측 신호 사이의 차이는 일반적으로 변환되어 양자화된다. 종종, 2차원 변환은 잔여 신호(또는 잔여 블록에 대한 대응하는 샘플 어레이)에 적용된다. 변환 코딩의 경우, 예측 파라미터의 특정 세트가 이용된 블록(또는 샘플 어레이의 대응하는 블록)은 변환을 적용하기 전에 추가로 분할될 수 있다. 변환 블록은 예측에 이용되는 블록과 동일하거나 작을 수 있다. 또한, 변환 블록은 예측에 이용되는 둘 이상의 블록을 포함하는 것이 가능하다. 서로 다른 변환 블록은 서로 다른 크기를 가질 수 있고, 변환 블록은 이차 또는 직사각형 블록을 나타낼 수 있다. 변환 후에, 생성된 변환 계수는 양자화되고, 소위 변환 계수 레벨이 획득된다. 변환 계수 레벨 뿐만 아니라 예측 파라미터 및, 제공된다면 세분 정보가 엔트로피 코딩된다.
또한, ITU-T Rec. H.264 | ISO/IEC JTC 1 14496-10과 같은 현재 기술 수준의 코딩 기술 또는 HEVC에 대한 작동 모델은 또한 깊이 맵에 적용 가능하고, 코딩 도구(tool)는 특히 자연 비디오의 코딩을 위해 설계되었다. 깊이 맵는 자연 비디오 시퀀스의 픽처와 다른 특성을 갖는다. 예를 들면, 깊이 맵은 적은 공간 상세 사항을 포함한다. 이들은 주로 (물체의 경계를 나타내는) 모서리(sharp edge) 및 (물체 영역을 나타내는) 거의 일정하거나 서서히 변화하는 샘플 값의 넓은 영역을 특징으로 한다. 깊이 맵으로의 멀티뷰 비디오 코딩의 전체적인 코딩 효율은 깊이 맵이 특히 깊이 맵의 특성을 이용하기 위해 설계되는 코딩 도구를 적용함으로써 더욱 효율적으로 코딩될 경우에 향상될 수 있다.
그 다음에 설명되는 본 발명의 실시예가 이점으로 이용될 수 있는 가능한 코딩 환경에 대한 기초로서 역할을 하기 위해, 가능한 멀티뷰 코딩 개념이 도 1 내지 도 3에 관하여 아래에 더 설명된다.
도 1은 실시예에 따른 멀티뷰 신호를 인코딩하기 위한 인코더를 도시한다. 도 1의 실시예가 또한 다수의 뷰로 실현할 수 있을지라도, 도 1의 멀티뷰 신호는 2개의 뷰(121 및 122)를 포함하는 10에 예시적으로 표시된다. 더욱이, 도 1의 실시예에 따르면, 아래에 추가로 설명되는 실시예의 많은 유리한 원리가 또한 어떤 깊이/변이 맵 데이터를 포함하지 않는 뷰와 함께 멀티뷰 신호와 관련하여 이용될 경우에 유익할지라도, 각 뷰(121 및 122)는 비디오(14) 및 깊이/변이 맵 데이터(16)를 포함한다.
각각의 뷰(121 및 122)의 비디오(14)는 서로 다른 투영/뷰잉 방향을 따라 일반적인 장면의 투영의 공간-시간적 샘플링을 나타낸다. 바람직하게는, 이러한 제약 조건이 반드시 충족될 필요는 없지만, 뷰(121 및 122)의 비디오(14)의 시간적 샘플링 레이트는 서로 동일하다. 도 1에 도시된 바와 같이, 바람직하게는, 각각의 비디오(14)는 프레임의 시퀀스를 포함하며, 각각의 프레임은 각각의 타임 스탬프 t, t-1, t-2,...와 관련되어 있다. 도 1에서, 비디오 프레임은 Vview number, time stamp number로 표시된다. 각 프레임 Vi,t는 각각의 타임 스탬프 t에서 각각의 뷰 방향을 따라 장면 i의 공간적 샘플링을 나타내고, 따라서, 예를 들어, 루마 샘플에 대한 하나의 샘플 어레이 및 크로마 샘플을 가진 2개의 샘플 어레이, 또는 RGB 색 공간 등의 색 구성 요소과 같은 다른 색 구성 요소에 대한 단순히 휘도 샘플 또는 샘플 어레이와 같은 하나 이상의 샘플 어레이를 포함한다. 하나 이상의 샘플 어레이의 공간적 해상도는 하나의 비디오(14) 및 서로 다른 뷰(121 및 122)의 비디오(14) 내에서 둘 다 다를 수 있다.
마찬가지로, 깊이/변이 맵 데이터(16)는 뷰(121 및 122)의 각각의 뷰잉 방향을 따라 측정되는 일반적인 장면의 장면 물체의 깊이의 공간-시간적 샘플링을 나타낸다. 깊이/변이 맵 데이터의 시간적 샘플링 레이트는 도 1에 도시된 바와 같은 뷰의 관련된 비디오의 시간적 샘플링 레이트와 동일할 수 있거나 이와 다를 수 있다. 도 1의 경우에, 각 비디오 프레임 v는 각각의 뷰(121 및 122)의 깊이/변이 맵 데이터(16)의 각각의 깊이/변이 맵 d와 관련된다. 다시말하면, 도 1의 예에서, 뷰 i 및 타임 스탬프 t의 각 비디오 프레임 vi,t은 이와 관련된 깊이/변이 맵 di,t을 갖는다. 깊이/변이 맵 d의 공간적 해상도에 관하여, 비디오 프레임에 대해 상술한 바와 같이 적용된다. 즉, 공간적 해상도는 서로 다른 뷰의 깊이/변이 맵 사이에 상이할 수 있다.
멀티뷰 신호(10)를 효과적으로 압축하기 위하여, 도 1의 인코더는 평행하게 뷰(121 및 122)를 데이터 스트림(18)으로 인코딩한다. 그러나, 제 1 뷰(121)를 인코딩하는데 사용되는 코딩 파라미터는 제 2 뷰(122)를 인코딩하는데 사용되도록 제 2 코딩 파라미터와 동일하게 채용하거나 예측하기 위해 재사용된다. 이러한 측정에 의해, 도 1의 인코더는 뷰(121 및 122)의 병렬 인코딩이 인코더 이러한 뷰에 대한 코딩 파라미터를 유사하게 결정하게 한다는 사실을 이용하여, 이러한 코딩 파라미터 사이의 중복이 압축률 또는 레이트/왜곡 비율을 증가시키기 위해 효율적으로 이용될 수 있도록 한다(왜곡은 예를 들어 뷰 모두의 평균 왜곡으로 측정되고, 레이트는 전체 데이터 스트림(18)의 코딩 레이트로 측정된다).
특히, 도 1의 인코더는 일반적으로 참조 부호(20)로 표시되고, 멀티뷰 신호(10)를 수신하는 입력 및 데이터 스트림(18)을 출력하는 출력을 포함한다. 도 2에서 알 수 있는 바와 같이, 도 1의 인코더(20)는 뷰(121 및 122) 당 2개의 코딩 브랜치, 즉 비디오 데이터에 대한 하나 및 깊이/변이 맵 데이터에 대한 다른 하나를 포함한다. 따라서, 인코더(20)는 뷰 1의 비디오 데이터에 대한 코딩 브랜치(22v,1), 뷰 1의 깊이/변이 맵 데이터에 대한 코딩 브랜치(22d,1), 제 2 뷰의 비디오 데이터에 대한 코딩 브랜치(22v,2), 및 제 2 뷰의 깊이/변이 맵 데이터에 대한 코딩 브랜치(22d,2)를 포함한다. 이러한 코딩 브랜치(22)의 각각은 유사하게 구성되어 있다. 인코더(20)의 구성 및 기능을 설명하기 위해, 다음의 설명은 코딩 브랜치(22v,1)의 구성 및 기능으로 시작한다. 이러한 기능은 모든 브랜치(22)에 공통적이다. 그 후, 브랜치(22)의 개개의 특성이 논의된다.
코딩 브랜치(22v,1)는 멀티뷰 신호(12)의 제 1 뷰(121)의 비디오(141)를 인코딩하기 위한 것이고, 따라서 브랜치(22v,1)는 비디오(141)를 수신하는 입력을 갖는다. 이 외에도, 브랜치(22v,1)는, 상술한 순서로 서로 직렬로 연결되어, 감산기(24), 양자화/변환 모듈(26), 재양자화/역변환 모듈(28), 가산기(30), 추가의 처리 모듈(32), 디코딩된 픽처 버퍼(34), 결과적으로 서로 병렬로 연결되는 2개의 예측 모듈(36 및 38), 및 한편으로 예측 모듈(36 및 38)의 출력과 다른 한편으로 감산기(24)의 반전 입력 사이에 연결되는 조합기 또는 선택기(40)를 포함한다. 조합기(40)의 출력은 또한 가산기(30)의 추가의 입력에 연결된다. 감산기(24)의 비반전 입력은 비디오(141)를 수신한다.
코딩 브랜치(22v,1)의 요소(24 내지 40)는 비디오(141)를 인코딩하기 위해 협력한다. 인코딩은 어떤 부분의 단위로 비디오(141)를 인코딩한다. 예를 들면, 비디오(141)를 인코딩할 시에, 프레임(v1,k)는 블록 또는 다른 샘플 그룹과 같은 세그먼트로 분할된다. 세그먼테이션(segmentation)은 시간이 지남에 따라 일정할 수 있거나 시간에 따라 변할 수 있다. 더욱이, 세그먼테이션은 기본적으로 인코더 및 디코더에 알려질 수 있거나 데이터 스트림(18) 내에 시그널링될 수 있다. 세그먼테이션은 행 및 열로 블록의 비중첩 배열과 같은 블록으로의 프레임의 정규 세그먼테이션일 수 있거나, 다양한 크기의 블록으로의 쿼드트리(quad-tree) 기반의 세그먼테이션일 수 있다. 감산기(24)의 비반전 입력에 들어가는 비디오(141)의 현재 인코딩된 세그먼트는 도 1 내지 3의 다음의 설명에서는 비디오(141)의 현재 블록이라고 한다.
예측 모듈(36 및 38)은 현재 블록을 예측하기 위한 것이며, 이를 위해, 예측 모듈(36 및 38)은 이의 입력이 디코딩된 픽처 버퍼(34)에 연결된다. 사실상, 두 예측 모듈(36 및 38)은 감산기(24)의 비반전 입력에 들어가는 현재의 블록을 예측하기 위해 디코딩된 픽처 버퍼(34)에 존재하는 비디오(141)의 이전에 재구성된 부분을 이용한다. 이와 관련하여, 예측 모듈(36)은 비디오(141)의 동일한 프레임의 공간적으로 이웃한 이미 재구성된 부분으로부터 비디오(141)의 현재 부분을 공간적으로 예측하는 인트라 예측기의 역할을 하는 반면에, 예측 모듈(38)은 비디오(141)의 이전에 재구성된 프레임으로부터 현재 부분을 시간적으로 예측하는 인터 예측기의 역할을 한다. 모듈(36 및 38)은 둘 다 어떤 예측 파라미터에 따르거나 이에 의해 설명되는 예측을 수행한다. 좀 더 정확하게 말하면, 후자의 파라미터는 최대 비트레이트와 같은 일부 제약 하에 또는 어떤 제약 없이 레이트/왜곡 비율을 최적화하는 것과 같은 일부 최적화 목표를 최적화하기 위한 몇몇 최적화 프레임워크에서는 인코더(20)이도록 결정된다.
예를 들면, 인트라 예측 모듈(36)은 인트라 예측 방향과 같은 현재 부분에 대한 공간적 예측 파라미터를 결정할 수 있으며, 이에 따라 비디오(141)의 동일한 프레임의 이웃한 이미 재구성된 부분의 어떤 콘텐츠는 후자를 예측하기 위해 현재 부분으로 확장/복사된다.
인터 예측 모듈(38)은 이전에 재구성된 프레임으로부터 현재 부분을 예측하기 위해 움직임 보상을 이용할 수 있고, 이와 함께 포함된 인터 예측 파라미터는 움직임 벡터, 참조 프레임 인덱스, 현재 부분에 관한 움직임 예측 세분 정보, 가설 수 또는 이의 어떤 조합을 포함할 수 있다.
조합기(40)는 모듈(36 및 38)에 의해 제공된 예측 중 하나 이상을 조합하거나 이 중 하나만을 선택할 수 있다. 조합기 또는 선택기(40)는 현재 부분의 생성된 예측을 제각기 감산기(24)의 삽입 입력 및 가산기(30)의 추가의 입력으로 전송한다.
감산기(24)의 출력에서, 현재 부분의 잔여 예측은 출력되고, 양자화/변환 모듈(36)은 변환 계수를 양자화하여 이러한 잔여 신호를 변환하도록 구성된다. 변환은 DCT와 같이 어떤 스펙트럼 분해 변환일 수 있다. 양자화로 인해, 양자화/변환 모듈(26)의 처리 결과는 비가역적(irreversible)이다. 즉, 코딩 손실이 초래한다. 모듈(26)의 출력은 데이터 스트림 내에서 전송되는 잔여신호(421)이다. 모든 블록이 잔여 코딩이 될 수는 없다. 오히려, 일부 코딩 모드는 잔여 코딩을 억제할 수 있다.
잔여 신호(421)는 가능한 잔여 신호를 재구성하기 위해, 즉 양자화 잡음에도 불구하고 감산기(24)에 의해 출력될 때에 잔여 신호에 대응하기 위해 역 양자화되어 모듈(28)에서 역변환된다. 가산기(30)는 이러한 재구성된 잔여 신호를 합산하여 현재 부분의 예측과 조합한다. 다른 조합이 또한 가능하다. 예를 들면, 감산기(24)는 잔류물의 비율을 측정하는 분배기로서 동작할 수 있고, 가산기는 대안에 따라 현재의 부분을 재구성하는 곱셈기로서 구현될 수 있다. 따라서, 가산기(30)의 출력은 현재 부분의 예비 재구성을 나타낸다. 그러나, 모듈(32)에서의 추가의 처리는 선택적으로 재구성을 보강하는데 사용될 수 있다. 이러한 추가의 처리는 예를 들어 디블로킹, 적응 필터링 등을 포함할 수 있다. 지금까지 이용 가능한 모든 재구성은 디코딩된 픽처 버퍼(34)에서 버퍼링된다. 따라서, 디코딩된 픽처 버퍼(34)는 비디오(141)의 이전에 재구성된 프레임 및 현재 부분이 속하는 현재 프레임의 이전에 재구성된 부분을 버퍼링한다.
디코더가 데이터 스트림(18)으로부터 멀티뷰 신호를 재구성할 수 있도록 하기 위해, 양자화/변환 모듈(26)은 잔여 신호(421)를 인코더(20)의 멀티플렉서(44)로 전송한다. 동시에, 예측 모듈(36)은 인트라 예측 파라미터(461)를 멀티플렉서(44)로 전송하고, 인터 예측 모듈(38)은 인터 예측 파라미터(481)를 멀티플렉서(44)로 전송하며, 추가의 처리 모듈(32)은 추가의 처리 파라미터(501)를 멀티플렉서(44)로 전송하며, 멀티플렉서(44)는 결과적으로 이러한 모든 정보를 멀티플렉싱하여 데이터 스트림(18)에 삽입한다.
도 1의 실시예에 따라 위의 논의로부터 자명하듯이, 코딩 브랜치(22v,1)에 의한 비디오(141)의 인코딩은 인코딩이 깊이/변이 맵 데이터(161) 및 다른 뷰(122)의 어떤 데이터로부터 독립적이다는 점에서 자립적이다. 보다 일반적인 관점에서, 코딩 브랜치(22v,1)는 코딩 파라미터를 결정하고, 제 1 코딩 파라미터에 따라 현재 부분의 인코딩 전에 인코더(20)에 의해 데이터 스트림(18)으로 인코딩되는 비디오(141)의 이전에 인코딩된 부분으로부터 비디오(141)의 현재 부분을 예측하며, 보정 데이터, 즉 상술한 잔여 신호(421)를 획득하기 위해 현재 부분의 예측의 예측 에러를 결정함으로써 비디오(141)를 데이터 스트림(18)으로 인코딩하는 것으로 간주될 수 있다. 코딩 파라미터 및 보정 데이터는 데이터 스트림(18)에 삽입된다.
코딩 브랜치(22v,1)에 의해 데이터 스트림(18)에 삽입되는 방금 언급된 코딩 파라미터는 다음의 것 중 하나, 조합 또는 모두를 포함할 수 있다:
- 첫째로, 비디오(141)에 대한 코딩 파라미터는 이전에 간단히 논의된 바와 같이 비디오(141)의 프레임의 세그먼테이션을 정의/시그널링할 수 있다.
- 더욱이, 코딩 파라미터는 각각의 세그먼트 또는 현재 부분을 나타내는 코딩 모드 정보를 포함할 수 있으며, 코딩 모드는 인트라 예측, 인터 예측 또는 이의 조합과 같은 각각의 세그먼트를 예측하기 위해 사용되어야 한다.
- 코딩 파라미터는 또한 인트라 예측에 의해 예측되는 부분/세그먼트에 대한 인트라 예측 파라미터, 및 인터 예측된 부분/세그먼트에 대한 인터 예측 파라미터와 같은 방금 언급된 예측 파라미터를 포함할 수 있다.
- 그러나, 코딩 파라미터는 추가적으로 비디오(141)의 현재 또는 다음의 부분을 예측하기 위해 동일하게 사용하기 전에 비디오(141)의 이미 재구성된 부분을 추가로 처리하는 방법을 디코딩측으로 시그널링하는 추가 처리 파라미터(501)를 포함할 수 있다. 이러한 추가 처리 파라미터(501)는 각각의 필터, 필터 계수 등을 인덱싱하는 인덱스를 포함할 수 있다.
- 예측 파라미터(461, 481) 및 추가 처리 파라미터(501)는 추가적으로 모드 선택의 세분성(granularity)을 정의하거나, 추가 처리 내에서 프레임의 서로 다른 부분에 대한 서로 다른 적응 필터의 기기에 대해서와 같이 완전히 독립된 세그먼테이션을 정의하는 상술한 세그먼테이션에 대한 추가의 서브세그먼테이션을 정의하기 위해 서브세그먼테이션 데이터를 포함할 수 있다.
- 코딩 파라미터는 또한 잔여 신호의 결정에 영향을 미칠 수 있으며, 따라서 잔여 신호(421)의 부분일 수 있다. 예를 들면, 양자화/변환 모듈(26)에 의해 출력되는 스펙트럼 변환 계수 레벨은 보정 데이터로 간주될 수 있는 반면에, 양자화 스텝 크기는 또한 데이터 스트림(18) 내에 시그널링될 수 있고, 양자화 스텝 크기 파라미터는 코딩 파라미터로 간주될 수 있다.
- 코딩 파라미터는 위에서 논의된 제 1 예측 단계의 예측 잔여의 2 단계 예측을 정의하는 예측 파라미터를 추가로 정의할 수 있다. 인트라/인터 예측은 이와 관련하여 사용될 수 있다.
코딩 효율을 높이기 위해, 인코더(20)는 모든 코딩 파라미터 및 추가의 정보를 수신하는 코딩 정보 교환 모듈(52)을 포함하며, 이러한 추가의 정보는 예를 들어 각각의 모듈로부터 코딩 정보 교환 모듈(52)을 가리키는 수직 확장 화살표에 의해 예시적으로 나타내는 바와 같이 모듈(36, 38 및 32) 내의 처리에 영향을 미치거나 이에 의해 영향을 받는다. 코딩 정보 교환 모듈(52)은 브랜치가 서로로부터 코딩 파라미터를 예측하거나 채용할 수 있도록 코딩 브랜치(22) 사이에서 코딩 파라미터 및 선택적으로 추가의 코딩 정보를 공유할 책임이 있다. 도 1의 실시예에서, 순서는 이를 위해 멀티뷰 신호(10)의 뷰(121 및 122)의 데이터 엔티티, 즉 비디오 및 깊이/변이 맵 데이터 중에서 정의된다. 특히, 제 1 뷰(121)의 비디오(141)는 제 1 뷰의 깊이/변이 맵 데이터(161)에 앞서고 나서, 비디오(142)가 뒤따르고, 그 후 제 2 뷰(122)의 깊이/변이 맵 데이터(162) 등이 뒤따른다. 여기서, 멀티뷰 신호(10)의 데이터 엔티티 사이에서 이러한 엄격한 순서는 전체 멀티뷰 신호(10)의 인코딩을 위해 엄격히 적용될 필요가 없다는 것이 주목되어야 하지만, 더욱 쉬운 논의를 위해, 다음에는 이러한 순서가 일정한 것을 추정된다. 데이터 엔티티 사이의 순서는 당연히 또한 이와 관련된 브랜치(22) 사이에 순서를 정의한다 .
이미 상술한 바와 같이, 코딩 브랜치(22d,1, 22v,2 및 22d,2)와 같은 추가의 코딩 브랜치(22)는 제각기 각각의 입력(161, 142 및 162)을 인코딩하기 위해 코딩 브랜치(22v,1)와 유사하게 작용한다. 그러나, 제각기 뷰(121 및 122)의 비디오 및 깊이/변이 맵 데이터 사이의 방금 언급된 순서, 및 코딩 브랜치(22) 사이에 정의된 대응하는 순서로 인해, 코딩 브랜치(22d,1)는 예를 들어 제 1 뷰(121)의 깊이/변이 맵 데이터(161)의 현재 부분을 인코딩하기 위해 사용되는 코딩 파라미터를 예측할 시의 추가적인 자유(freedom)를 갖는다. 이것은 서로 다른 뷰의 비디오 및 깊이/변이 맵 데이터 사이의 상술한 순서 때문이다: 예를 들면, 이러한 엔티티의 각각은 이러한 데이터 엔티티 사이의 상술한 순서에 선행하는 그 자체의 재구성된 부분을 이용할 뿐만 아니라 이의 엔티티를 이용하여 인코딩되도록 허용된다. 따라서, 깊이/변이 맵 데이터(161)를 인코딩할 시에, 코딩 브랜치(22d,1)는 대응하는 비디오(141)의 이전에 재구성된 부분으로부터 알려진 정보를 이용하도록 허용된다. 깊이/변이 맵 데이터(161)의 압축의 더욱 양호한 압축 레이트를 가능하게 하는 깊이/변이 맵 데이터(161)의 어떤 특성을 예측하기 위해 브랜치(22d,1)가 비디오(141)의 재구성된 부분을 이용하는 방법은 이론적으로 제한받지 않는다. 깊이/변이 맵 데이터(161)를 인코딩하기 위한 코딩 파라미터를 획득하기 위해 코딩 브랜치(22d,1)는 예를 들어 상술한 바와 같이 비디오(141)를 인코딩할 시에 포함되는 코딩 파라미터를 예측/채용할 수 있다. 채용의 경우에, 데이터 스트림(18) 내에서 깊이/변이 맵 데이터(161)에 관한 어떤 코딩 파라미터의 시그널링은 억제될 수 있다. 예측의 경우에는, 이러한 코딩 파라미터에 관한 예측 잔여/보정 데이터만이 데이터 스트림(18) 내에서 시그널링되어야 필요가 있을 수 있다. 코딩 파라미터의 이러한 예측/채용에 대한 예는 아래에 더 설명된다.
현저하게는, 모듈(36 및 38)에 대해 상술한 모드 외에, 코딩 브랜치(22d,1)는 깊이/변이 맵 데이터(161)의 코드 블록에 이용 가능한 추가적인 코딩 모드를 가질 수 있다. 이러한 추가적인 코딩 모드는 아래에 더 설명되고, 불규칙한 블록 분할 모드에 관련된다. 대안적인 관점에서, 아래 설명된 바와 같은 불규칙한 분할은 블록/분할로의 깊이/변이 맵의 세분의 연속으로 보여질 수 있다.
어떤 경우에, 추가적인 예측 능력은 후속 데이터 엔티티, 즉 제 2 뷰(122)의 비디오(142) 및 깊이/변이 맵 데이터(162)를 위해 제공된다. 이러한 코딩 브랜치에 대하여, 이의 인터 예측 모듈은 시간적 예측을 수행할 뿐만 아니라, 인터뷰 예측을 수행할 수도 있다. 대응하는 인터 예측 파라미터는 시간적 예측, 즉 인터뷰 예측된 세그먼트 당 예측, 변이 벡터, 뷰 인덱스, 참조 프레임 인덱스 및/또는 다수의 가설의 표시(indication), 즉 예를 들어 합산으로 인터뷰 인터 예측을 형성하는데 참여하는 다수의 인터 예측의 표시에 비교되는 유사한 정보를 포함한다. 이러한 인터뷰 예측은 비디오(142)에 대한 브랜치(22v,2) 뿐만 아니라, 깊이/변이 맵 데이터(162)에 대한 브랜치(22d,2)의 인터 예측 모듈(38)에 이용 가능하다. 물론, 이러한 인터뷰 예측 파라미터는 또한 도 1에 도시되지 않는 가능한 제 3 뷰의 후속 뷰 데이터에 대한 채용/예측을 위한 기초로서 역할을 할 수 있는 코딩 파라미터를 나타낸다.
위의 측정으로 인해, 멀티플렉서(44)에 의해 데이터 스트림(18)에 삽입되는 데이터량은 더욱 적어진다. 특히, 코딩 브랜치(22d,1, 22v,2 및 22d,2)의 코딩 파라미터의 량은 이전의 코딩 브랜치의 코딩 파라미터를 채용하거나, 단지 이에 대한 예측 잔여를 멀티플렉서(44)를 통해 데이터 스트림(28)에 삽입함으로써 크게 감소될 수 있다. 시간적 및 인터뷰 예측 사이에서 선택할 수 있는 능력으로 인해, 코딩 브랜치(22v,2 및 22d,2)의 잔여 데이터(423 및 424)의 량은 적어진다. 잔여 데이터의 량의 감소는 시간적 및 인터뷰 예측 모드를 구별할 시에 추가적인 코딩 노력을 과잉 보상을 한다.
코딩 파라미터 채용/예측의 원리를 보다 상세히 설명하기 위해, 도 2에 대한 참조가 이루어진다. 도 2는 멀티뷰 신호(10)의 예시적인 부분을 도시한다. 도 2는 세그먼트 또는 부분(60a, 60b 및 60c)으로 분할되는 비디오 프레임(v1,t)을 도시한다. 단순화 이유로, 세그먼테이션이 프레임을 세그먼트/부분으로 균일하고 끊김 없이 나눌 수 있지만, 프레임(v1,t)의 세 부분만이 도시된다. 상술한 바와 같이, 비디오 프레임(v1,t)의 세그먼테이션은 고정되거나 시간적으로 변화할 수 있고, 세그먼테이션은 데이터 스트림 내에서 시그널링될 수 있거나 시그널링되지 않을 수 있다. 도 2는 부분(60a 및 60b)이 본 경우에 예시적인 프레임(v1,t-1)인 비디오(141)의 어떤 참조 프레임의 재구성된 버전으로부터 움직임 벡터(62a 및 62b)를 이용하여 시간적으로 예측되는 것을 도시한다. 본 기술 분야에 공지된 바와 같이, 비디오(141)의 프레임 사이의 코딩 순서는 이러한 프레임 사이의 프리젠테이션(presentation) 순서와 일치하지 않을 수 있으며, 따라서 참조 프레임은 프리젠테이션 시간 순서(64)에서 현재 프레임(v1,t)을 뒤따를 수 있다. 부분(60c)은 예를 들어 인트라 예측 파라미터가 데이터 스트림(18)에 삽입되는 인트라 예측된 부분이다.
깊이/변이 맵(d1,t)을 인코딩할 시에, 코딩 브랜치(22d,1)는 도 2에 대하여 다음에 예시되는 아래의 방식 중 하나 이상으로 상술한 가능성을 이용할 수 있다.
- 예를 들면, 깊이/변이 맵(d1,t)을 인코딩할 시에, 코딩 브랜치(22d,1)는 코딩 브랜치(22v,1)에 의해 이용되는 바와 같이 비디오 프레임(v1,t)의 세그먼테이션을 채용할 수 있다. 따라서, 비디오 프레임(v1,t)에 대한 코딩 파라미터 내에 세그멘테이션 파라미터가 있을 경우, 깊이/변이 맵 데이터(d1,t)에 대한 이의 재전송은 회피될 수 있다. 대안적으로, 코딩 브랜치(22d,1)는 데이터 스트림(18)을 통해 비디오 프레임(v1,t)에 대한 세그먼테이션의 편차를 시그널링하여 깊이/변이 맵(d1,t)에 사용될 세그멘테이션을 위한 기초/예측으로서 비디오 프레임(v1,t)의 세그먼테이션을 이용할 수 있다. 도 2는 코딩 브랜치(22d,1)가 깊이/변이 맵(d1,t)의 사전 세그먼테이션으로서 비디오 프레임(v1,t)의 세그먼테이션을 이용하는 경우를 도시한다. 즉, 코딩 브랜치(22d,1)는 비디오 프레임(v1,t)의 세그먼테이션으로부터 사전 세그먼테이션을 채용하거나 그로부터 사전 세그먼테이션을 예측한다.
- 더욱이, 코딩 브랜치(22d,1)는 비디오 프레임(v1,t) 내의 각각의 부분(60a, 60b 및 60c)에 할당된 코딩 모드로부터 깊이/변이 맵(d1,t)의 부분(66a, 66b 및 66c)의 코딩 모드를 를 채용하거나 예측할 수 있다. 비디오 프레임(v1,t)와 깊이/변이 맵(d1,t) 사이의 상이한 세그먼테이션의 경우에, 비디오 프레임(v1,t)으로부터의 코딩 모드의 채용/예측은 채용/예측이 비디오 프레임(v1,t)의 세그먼테이션의 동일 위치 부분으로부터 획득되도록 제어될 수 있다. 동일 위치(co-location)의 적절한 정의는 다음과 같을 수 있다. 깊이/변이 맵(d1,t)의 현재 부분에 대한 비디오 프레임(v1,t)의 동일 위치 부분은 예를 들어 깊이/변이 맵(d1,t)의 현재 프레임의 상위 왼쪽 코너에 있는 동일 위치 위치를 포함하는 것일 수 있다. 코딩 모드의 예측의 경우에, 코딩 브랜치(22d,1)는 데이터 스트림(18) 내에 명시적으로 시그널링되는 비디오 프레임(v1,t) 내의 코딩 모드에 대한 깊이/변이 맵(d1,t)의 부분(66a 내지 66c)의 코딩 모드 편차를 시그널링할 수 있다.
- 예측 파라미터가 관계되는 한, 코딩 브랜치(22d,1)는 동일한 깊이/변이 맵(d1,t) 내의 이웃한 부분을 인코딩하는데 이용되는 예측 파라미터를 공간적으로 채용하거나 예측하며, 또는 이러한 것을, 비디오 프레임(v1,t)의 동일 위치 부분(60a 내지 60c)을 인코딩하는데 이용되는 예측 파라미터로부터 채용/예측하는 자유를 갖는다. 예를 들면, 도 2는 깊이/변이 맵(d1,t)의 부분(66a)이 인터 예측된 부분이고, 대응하는 움직임 벡터(68a)가 비디오 프레임(v1,t)의 동일 위치 부분(60a)의 움직임 벡터(62a)로부터 채용되거나 예측될 수 있다는 것을 도시한다. 예측의 경우에, 움직임 벡터의 차이만이 인터 예측 파라미터(482)의 일부로서 데이터 스트림(18)에 삽입되어야 한다.
- 코딩 효율의 관점에서, 코딩 브랜치(22d,1)는 불균칙한 블록 분할을 이용하여 깊이/변이 맵(d1,t)의 사전 세그먼테이션의 세그먼트를 세분할 능력을 갖는 것이 유리할 수 있다. 아래에 더 설명되는 실시예를 참조하는 일부 불균칙한 블록 분할 모드는 동일한 뷰의 재구성된 픽처(v1,t)로부터 웨지렛 분리 라인(70)과 같은 분할 정보를 도출한다. 이러한 측정에 의해, 깊이/변이 맵(d1,t)의 사전 세그먼테이션의 블록은 세분된다. 예를 들면, 깊이/변이 맵(d1,t)의 블록(66c)는 2개의 웨지렛 형상의 분할(72a 및 72b)로 세분된다. 코딩 브랜치(22d,1)는 이러한 서브세그먼트(72a 및 72b)를 인코딩하도록 구성될 수 있다. 도 2의 경우에, 서브세그먼트(72a 및 72b)는 둘 다 각각의 움직임 벡터(68c 및 68d)를 이용하여 인터 예측되도록 예시적으로 도시된다. 섹션 3 및 4에 따르면, 코딩 브랜치(22d,1)는 불규칙한 블록 분할을 위한 다수의 코딩 옵션 사이에서 선택하고, 데이터 스트림(18) 내에서 보조 정보로서 선택을 디코더로 시그널링하는 자유를 가질 수 있다.
비디오(142)를 인코딩할 시에, 코딩 브랜치(22v,2)는 코딩 브랜치(22v,1)에 이용 가능한 코딩 모드 옵션 외에 인터뷰 예측의 옵션을 갖는다.
도 2는 예를 들어 비디오 프레임(v2,t)의 세그먼테이션의 부분(64b)이 변이 벡터(76)를 이용하여 제 1 뷰 비디오(141)의 시간적으로 대응하는 비디오 프레임(v1,t)으로부터 인터뷰 예측되는 것을 도시한다.
이러한 차이에도 불구하고, 코딩 브랜치(22v,2)는 추가적으로 비디오 프레임(v1,t) 및 깊이/변이 맵(d1,t)의 인코딩으로부터 이용 가능한 모든 정보, 특히 이러한 인코딩에 이용되는 코딩 파라미터와 같은 정보를 이용할 수 있다. 따라서, 코딩 브랜치(22v,2)는 제각기 시간적으로 할당된 비디오 프레임(v1,t) 및 깊이/변이 맵(d1,t)의 동일 위치 부분(60a 및 66a)의 움직임 벡터(62a 및 68a) 중 어느 하나 또는 조합으로부터 비디오 프레임(v2,t)의 시간적으로 인터 예측된 부분(74a)에 대한 움직임 벡터(78)를 포함하는 움직임 파라미터를 채용하거나 예측할 수 있다. 어느 경우에, 예측 잔여는 부분(74a)에 대한 인터 예측 파라미터에 대해 시그널링될 수 있다. 이 점에서, 움직임 벡터(68a)은 움직임 벡터(62a) 자체로부터 이미 예측/채용되었다는 것이 상기되어야 한다.
깊이/변이 맵(d1,t)의 인코딩에 관련하여 상술한 바와 같이 비디오 프레임(v2,t)을 인코딩하기 위한 코딩 파라미터를 채용/예측하는 다른 가능성은 또한 코딩 브랜치(22v,2)에 의해 비디오 프레임(v2,t)의 인코딩에 적용 가능하지만, 모듈(52)에 의해 변동량되는 이용 가능한 공통 데이터는 비디오 프레임(v1,t) 및 대응하는 깊이/변이 맵(d1,t)의 둘 다의 코딩 파라미터가 이용 가능하기 때문에 증가된다.
그런 다음, 코딩 브랜치(22d,2)는 코딩 브랜치(22d,1)에 의한 깊이/변이 맵(d1,t)의 인코딩과 유사하게 깊이/변이 맵(d2,t)을 인코딩한다. 이것은 예를 들어 동일한 뷰(122)의 비디오 프레임(v2,t)으로부터 코딩 파라미터 채용/예측 경우의 모두에 대해 사실이다. 그러나, 부가적으로, 코딩 브랜치(22d,2)는 이전의 뷰(121)의 깊이/변이 맵(d1,t)을 인코딩하기 위해 이용된 코딩 파라미터로부터 코딩 파라미터를 또한 채용/예측할 기회를 갖는다. 부가적으로, 코딩 브랜치(22d,2)는 코딩 브랜치(22v,2)에 대해 설명된 바와 같이 인터뷰 예측을 이용할 수 있다.
도 1의 인코더(20)을 설명한 후, 이것은 소프트웨어, 하드웨어 또는 펌웨어, 즉 프로그램 가능한 하드웨어로 구현될 수 있다는 것이 주목되어야 한다. 도 1의 블록도는 인코더(20)가 구조적으로 병렬 코딩 브랜치, 즉 멀티뷰 신호(10)의 비디오 및 깊이/변이 데이터 당 하나의 코딩 브랜치를 포함한다는 것을 제시하지만, 이것이 그 경우일 필요는 없다. 예를 들면, 소프트웨어 루틴, 요소(24 내지 40)의 태스크를 수행하도록 구성되는 회로 부분 또는 프로그램 가능한 논리 부분은 제각기 코딩 브랜치의 각각에 대한 태스크를 순차적으로 수행하는데 사용될 수 있다. 병렬 처리 시에, 병렬 코딩 브랜치의 프로세스는 병렬 프로세서 코어 또는 병렬 실행 회로에서 수행될 수 있다.
도 3은 데이터 스트림(18)으로부터의 멀티뷰 신호로 나타내는 장면에 대응하는 하나 이상의 뷰 비디오를 재구성하기 위해 데이터 스트림(18)을 디코딩할 수 있는 디코더에 대한 일례를 도시한다. 대체로, 도 3의 디코더의 구조 및 기능은 도 1의 참조 부호가 도 1에 대해 위에 제공된 기능 설명이 또한 도 3에 적용하는 것을 나타내도록 가능한 재사용되도록 도 2의 인코더와 유사하다.
도 3의 디코더는 일반적으로 참조 부호(100)로 나타내고, 데이터 스트림(18)에 대한 입력 및 상술한 하나 이상의 뷰(102)의 재구성을 출력하는 출력을 포함한다. 디코더(100)는 디멀티플렉서(104), 및 데이터 스트림(18)으로 나타내는 멀티뷰 신호(10)(도 1)의 데이터 엔티티의 각각에 대한 한 쌍의 디코딩 브랜치(106) 뿐만 아니라 뷰 추출기(108) 및 코딩 파라미터 교환기(110)를 포함한다. 도 1의 인코더를 가진 경우와 같이, 디코딩 브랜치(106)는 동일한 상호 연결의 동일한 디코딩 요소를 포함하며, 따라서, 이는 대표적으로 제 1 뷰(121)의 비디오(141)의 디코딩할 책임이 있는 디코딩 브랜치(106v,1)에 대해 설명된다. 특히, 각 코딩 브랜치(106)는 멀티뷰 신호(10)의 각각의 데이터 엔티티, 즉 디코딩 브랜치(106v,1)의 경우의 비디오(141)를 뷰 추출기(108)로 출력하기 위해 멀티플렉서(104)의 각각의 출력에 연결된 입력 및 뷰 추출기(108)의 각각의 입력에 연결된 출력을 포함한다. 중간에, 각 코딩 브랜치(106)는 역양자화/역변환 모듈(28), 가산기(30), 추가의 처리 모듈(32), 및 멀티플렉서(104)와 뷰 추출기(108) 사이에 직렬로 연결되는 디코딩된 픽처 버퍼(34)를 포함한다. 가산기(30), 추가의 처리 모듈(32) 및 디코딩된 픽처 버퍼(34)는 예측 모듈(36 및 38)의 병렬 연결과 함께 루프를 형성하고나서, 언급된 순서로 디코딩된 픽처 버퍼(34)와 가산기(30)의 추가의 입력 사이에 연결되는 조합기/선택기(40)를 형성한다. 도 1의 경우에서와 동일한 참조 부호를 사용하여 나타낸 바와 같이, 디코딩 브랜치(106)의 요소(28 내지 40)의 구조 및 기능은 디코딩 브랜치(106)의 요소가 데이터 스트림(18) 내에 전달된 정보를 이용하여 코딩 프로세스의 처리를 에뮬레이트(emulate)한다는 점에서 도 1의 코딩 브랜치의 대응하는 요소와 유사하다. 물론, 디코딩 브랜치(106)는 단지 인코더(20)에 의해 최종으로 선택된 코딩 파라미터에 대해 코딩 절차를 반전시키는 반면에, 도 1의 인코더(20)는 선택적으로 최대 비트 레이트 등과 같은 어떤 제한을 받는 레이트/왜곡 비용 함수를 최적화하는 코딩 파라미터와 같은 일부 최적화 의미에서의 코딩 파라미터의 최적의 세트를 찾아야 한다.
디멀티플렉서(104)는 데이터 스트림(18)을 다양한 디코딩 브랜치(106)로 변동량하기 위한 것이다. 예를 들면, 디멀티플렉서(104)는 역양자화/역변환 모듈(28)에 잔여 데이터(421)를 제공하고, 추가의 처리 모듈(32)에 추가의 처리 파라미터(501)를 제공하고, 인트라 예측 모듈(36)에 인트라 예측 파라미터(461)를 제공하며, 인터 예측 모듈(38)에 인터 예측 파라미터(481)를 제공한다. 코딩 파라미터 교환기(110)는 일반적인 코딩 파라미터 및 다른 일반적인 데이터를 다양한 디코딩 브랜치(106) 사이로 변동량하기 위해 도 1의 대응하는 모듈(52)과 같이 작용한다.
뷰 추출기(108)는 병렬 디코딩 브랜치(106)에 의해 재구성되는 멀티뷰 신호를 수신하여, 이로부터 외부에 제공된 중간 뷰 추출 제어 데이터(112)에 의해 규정된 뷰 각도 또는 뷰 방향에 대응하는 하나 이상의 뷰(102)를 추출한다.
인코더(20)의 대응하는 부분에 대한 디코더(100)의 유사한 구성으로 인해, 뷰 추출기(108)에 대한 기능 내지 인터페이스는 위의 설명과 유사하여 쉽게 설명된다.
사실상, 코딩 브랜치(106v,1 및 106d,1)는, (421 내의 스케일링 파라미터, 파라미터(461, 481, 501), 및 제 2 브랜치(16d,1)의 코딩 파라미터의 대응하는 비채용된 것 및 예측 잔여, 즉 422, 파라미터(462, 482, 502)와 같은) 데이터 스트림(18) 내에 포함된 제 1 코딩 파라미터에 따라, 제 1 뷰(121)의 현재 부분의 재구성 전에 데이터 스트림(18)으로부터 재구성되는 멀티뷰 신호(10)의 이전에 재구성된 부분으로부터 제 1 뷰(121)의 현재 부분을 예측하고, 또한 데이터 스트림(18) 내에 포함된 421 및 422 내의 제 1 보정 데이터를 이용하여 제 1 뷰(121)의 현재 부분의 예측의 예측 에러를 보정함으로써 데이터 스트림(18)으로부터 멀티뷰 신호(10)의 제 1 뷰(121)를 재구성하도록 함께 작용한다. 코딩 브랜치(106v,1)가 비디오(141)를 디코딩할 책임이 있을 동안, 코딩 브랜치(106d,1)는 깊이/변이 맵 데이터(161)를 재구성할 책임을 추정한다. 예를 들어 도 2를 참조한다: 코딩 브랜치(106v,1)는, 데이터 스트림(18)으로부터 판독된 대응하는 코딩 파라미터, 즉 421 내의 스케일링 파라미터, 파라미터(461, 481, 501)에 따라, 멀티뷰 신호(10)의 이전에 재구성된 부분으로부터 60a, 60b 또는 60c과 같은 비디오(141)의 현재 부분을 예측하고, 데이터 스트림(18), 즉 421 내의 변환 계수 레벨로부터 획득되는 대응하는 보정 데이터를 이용하여 이러한 예측의 예측 에러를 보정함으로써 데이터 스트림(18)으로부터 제 1 뷰(121)의 비디오(141)를 재구성한다. 예를 들면, 코딩 브랜치(106v,1)는 비디오 프레임 중의 코딩 순서 및, 프레임 내의 세그먼트를 코딩하기 위해, 인코더의 대응하는 코딩 브랜치가 행할 때 이러한 프레임의 세그먼트 중의 코딩 순서를 이용하여 세그먼트/부분의 단위로 비디오(141)를 처리한다. 따라서, 비디오(141)의 이전에 재구성된 모든 부분은 현재 부분에 대한 예측을 위해 이용 가능하다. 현재 부분에 대한 코딩 파라미터는 인트라 예측 파라미터(501), 인터 예측 파라미터(481), 추가의 처리 모듈(32)에 대한 필터 파라미터 등 중 하나 이상을 포함할 수 있다. 예측 에러를 보정하기 위한 보정 데이터는 잔류 데이터(421) 내의 특정 변환 계수 레벨로 나타낼 수 있다. 코딩 파라미터의 이러한 모두가 전부 전송될 필요가 없다. 이들 중 일부는 비디오(141)의 이웃한 세그먼트의 코딩 파라미터로부터 공간적으로 예측되었을 수 있다. 비디오(141)에 대한 움직임 벡터는 예를 들어 비디오(141)의 이웃한 부분/세그먼트의 움직임 벡터 사이의 움직임 벡터 차로서 비트스트림 내에 전송될 수 있다.
제 2 디코딩 브랜치(106d,1)이 관계하는 한, 이는 잔여 데이터(422) 및, 데이터 스트림(18) 내에 시그널링되고, 디멀티플렉서(104)에 의해 각각의 디코딩 브랜치(106d,1)로 변동량되는 대응하는 예측 및 필터 파라미터, 즉 인터뷰 경계에 걸쳐 예측되지 않는 코딩 파라미터 뿐만 아니라, 코딩 정보 교환 모듈(110)을 통해 변동량될 때 디멀티플렉서(104)를 통해 디코딩 브랜치(106v,1)에 제공된 코딩 파라미터 및 보정 데이터 또는 이로부터 추론 가능한 어떤 정보에 간접적으로 액세스한다. 디코딩 브랜치(106d,1)는 디멀티플렉서(104)를 통해 제 1 뷰(121)에 대한 디코딩 브랜치(106v,1 및 106d,1)의 쌍으로 전송되는 코딩 파라미터의 부분으로부터 깊이/변이 맵 데이터(161)를 재구성하는 코딩 파라미터를 결정하며, 이는 부분적으로 특히 디코딩 브랜치(106v,1)에 전용되고 전송된 이러한 코딩 파라미터의 부분을 오버랩한다. 예를 들면, 디코딩 브랜치(106d,1)는 예를 들어 한편으로 프레임(v1,t)의 다른 이웃한 부분에 대한 움직임 벡터차 및 한편으로 482 내에 명시적으로 전송된 움직임 벡터차로서 481 내에 명시적으로 전송된 움직임 벡터(62a)로부터 움직임 벡터(68a)를 결정한다. 추가적으로, 또는 대안적으로, 디코딩 브랜치(106d,1)는 디코딩 깊이/변이 맵 데이터(161)와 관련하여 간단히 상술한 바와 같이 불규칙한 블록 분할을 도출하기 위해 웨지렛 분리 라인의 예측에 대하여 상술한 바와 같이 비디오(141)의 재구성된 부분을 사용할 수 있으며, 이는 아래에 더 상세히 설명될 것이다.
더욱 정확하게는, 디코딩 브랜치(106d,1)는 디코딩 브랜치(106v,1)에 의해 이용되는 코딩 파라미터로부터 적어도 부분적으로 예측되고(또는 이로부터 채용되고), 및/또는 디코딩 브랜치(106v,1)의 디코딩된 픽처 버퍼(34) 내의 비디오(141)의 재구성된 부분으로부터 예측되는 코딩 파라미터를 이용하여 데이터 스트림으로부터 제 1 뷰(121)의 깊이/변이 맵 데이터(161)를 재구성한다. 코딩 파라미터의 예측 잔여는 데이터 스트림(18)으로부터 디멀티플렉서(104)를 통해 획득될 수 있다. 디코딩 브랜치(106d,1)에 대한 다른 코딩 파라미터는 전부 또는 다른 기초에 대하여, 즉 깊이/변이 맵 데이터(161) 자체의 이전에 재구성된 어떤 부분을 코딩하기 위해 사용된 코딩 파라미터를 참조하여 데이터 스트림(18) 내에 전송될 수 있다. 이러한 코딩 파라미터에 기초하여, 디코딩 브랜치(106d,1)는 깊이/변이 맵 데이터(161)의 현재 부분의 재구성 전에 디코딩 브랜치(106d,1)에 의해 데이터 스트림(18)으로부터 재구성되는 깊이/변이 맵 데이터(161)의 이전에 재구성된 부분으로부터 깊이/변이 맵 데이터(161)의 현재 부분을 예측하고, 각각의 보정 데이터(422)를 이용하여 깊이/변이 맵 데이터(161)의 현재 부분의 예측의 예측 에러를 보정한다.
제 2 뷰(122)에 대한 디코딩 브랜치(106v,2 및 106d,2)의 쌍의 기능은 인코딩에 대해 이미 상술한 바와 같이 제 1 뷰(121)에 대해서와 유사하다. 브랜치는 둘 다 자신의 코딩 파라미터를 이용하여 데이터 스트림(18)으로부터 멀티뷰 신호(10)의 제 2 뷰(122)를 재구성하도록 협력한다. 이러한 코딩 파라미터의 부분만은 디멀티플렉서(104)를 통해 이러한 두 디코딩 브랜치(106v,2 및 106d,2) 중 어느 하나로 전송되고 변동량될 필요가 있으며, 이러한 디코딩 브랜치 중 어느 하나는 뷰(121 및 122) 사이의 뷰 경계, 및 인터뷰 예측 부분의 잔여 부분에 걸쳐 채용/예측되지 않는다. 제 2 뷰(122)의 현재 부분은 제 2 뷰(122)의 각각의 현재 부분의 재구성 전에 어떤 디코딩 브랜치(106)에 의해 데이터 스트림(18)으로부터 재구성되는 멀티뷰 신호(10)의 이전에 재구성된 부분으로부터 예측되고, 이에 따라 디멀티플렉서(104)에 의해 이러한 디코딩 브랜치(106v,2 및 106d,2)의 쌍으로 전송되는 보정 데이터, 즉 423 및 424를 이용하여 예측 에러를 보정한다.
디코딩 브랜치(106d,2)는 재구성된 비디오(142) 및/또는 제 1 뷰(121)의 재구성된 깊이/변이 맵 데이터(161)로부터 디코딩 브랜치(106v,1, 106d,1 및 106v,2) 중 어느 하나에 의해 사용되는 코딩 파라미터로부터의 채용/예측에 의해 코딩 파라미터를 마지막 부분적으로 결정할 수 있다. 예를 들면, 데이터 스트림(18)은 현재 부분(80b)에 대한 코딩 파라미터 및 이의 어떤 부분이 비디오(141), 깊이/변이 맵 데이터(161) 및 비디오(142) 또는 이의 적절한 서브세트 중 어느 하나의 동일 위치 부분으로 채용되거나 채택되어야 하는지 깊이/변이 맵 데이터(162)의 현재 부분(80b)에 대해 시그널링할 수 있다. 이러한 코딩 파라미터의 관심 부분은 예를 들어 84과 같은 움직임 벡터, 또는 변이 벡터(82)와 같은 변이 벡터를 포함할 수 있다. 더욱이, 불규칙하게 분할된 블록에 대한 것과 같은 다른 코딩 파라미터는 디코딩 브랜치(106d,2)에 의해 도출될 수 있다.
어떤 경우에, 멀티뷰 데이터(10)의 재구성된 부분은 뷰 추출기(108)에 도달하며, 뷰 추출기(108) 내에 포함된 뷰는 새로운 뷰, 즉 예를 들어 이러한 새로운 뷰와 관련된 비디오의 뷰 추출을 위한 기초가 된다. 이러한 뷰 추출은 이와 관련된 깊이/변이 맵 데이터를 사용하여 비디오(141 및 142)의 재투사를 포함할 수 있다. 솔직히 말해서, 비디오를 다른 중간 뷰로 재투사할 시에, 뷰어(viewer)에 더욱 가까이 위치된 장면 부분에 대응하는 비디오의 부분은 뷰어 위치에서 더 떨어져 위치된 장면 부분에 대응하는 비디오의 부분 이상으로 변이 방향, 즉 뷰 방향차 벡터의 방향을 따라 시프트된다.
디코더는 반드시 뷰 추출기(108)를 포함하지 않는다는 것이 언급되어야 한다. 오히려, 뷰 추출기(108)는 제공되지 않을 수 있다. 이 경우에, 디코더(100)는 단지 뷰(121 및 122) 중 하나, 수개 또는 모두와 같이 뷰(121 및 122) 중 어느 하나를 재구성하기 위한 것이다. 깊이/변이 데이터가 개개의 뷰(121 및 122)에 존재하지 않는 경우에도, 뷰 추출기(108)는 서로에 대해 이웃한 뷰의 대응하는 부분에 관련된 변이 벡터를 이용함으로써 중간 뷰 추출을 수행할 수 있다. 이웃한 뷰의 비디오와 관련된 변이 벡터 필드의 변이 벡터를 지원할 때 이러한 변이 벡터를 이용하여, 뷰 추출기(108)는 이러한 변이 벡터 필드를 적용함으로써 이웃한 뷰(121 및 122)의 이러한 비디오로부터 중간 뷰 비디오를 구축할 수 있다. 예를 들어, 비디오 프레임(v2,t)은 예측된 부분/세그먼트 인터뷰의 50 %를 갖는다는 것을 상상한다. 즉, 부분/세그먼트의 50 %에 대해, 변이 벡터가 존재하는 것이다. 나머지 부분의 경우, 변이 벡터는 공간적 의미에서 보간/외삽(interpolation/extrapolation)을 통해 뷰 추출기(108)에 의해 결정될 수 있다. 비디오(142)의 이전에 재구성된 프레임의 부분/세그먼트에 대한 변이 벡터를 이용하는 시간적 보간이 또한 사용될 수 있다. 그 후, 비디오 프레임(v2,t) 및/또는 참조 비디오 프레임(v1,t)은 중간 뷰를 만들기 위해 이러한 변이 벡터에 따라 왜곡될 수 있다. 이를 위해, 변이 벡터는 제 1 뷰(121) 및 제 2 뷰(122)의 뷰 위치 사이의 중간 뷰의 중간 뷰 위치에 따라 스케일링된다. 이러한 절차에 관한 상세 사항은 아래 더 상세히 설명된다.
그러나, 아래에 설명되는 실시예는 유리하게도 상술한 실시예의 제 1 뷰(121)와 같이 비디오 및 대응하는 깊이/변이 맵 데이터를 포함하는 하나의 뷰의 코딩만을 고려할 경우에 도 1 내지 도 3의 프레임워크에서 사용될 수 있다. 그 경우에, 전송된 신호의 정보, 즉, 단일 뷰(121)는 뷰 합성 컴플라이언트 신호(compliant signal), 즉 뷰 합성을 가능하게 하는 신호라고 할 수 있다. 깊이/변이 맵 데이터(161)와 함께 비디오(141)의 첨부(accompanying)는 뷰 추출기(108)가 깊이/변이 맵 데이터(161)를 이용하여 뷰(121)를 이웃한 새로운 뷰로 재투사함으로써 일종의 뷰 합성을 수행할 수 있도록 한다. 다시 말하면, 코딩 효율 이득은 불규칙한 블록 분할을 이용하여 획득된다. 따라서, 아래에서 더 설명되는 불규칙한 블록 분할의 실시예는 상술한 인터뷰 코딩 정보 교환 양태로부터 독립적인 단일 뷰 코딩 개념 내에서 사용될 수 있다. 더욱 정확히 말하면, 도 1 내지 도 3의 위의 실시예는 브랜치(22, 100v/d,2) 및 관련된 뷰(122)가 없어질 정도까지 변화될 수 있다.
따라서, 도 1 내지 도 3은 연속적으로 설명된 불규칙한 블록 분할이 유리하게 사용될 수 있는 멀티뷰 코딩 개념에 대한 일례를 도시하였다. 그러나, 아래에 설명되는 코딩 모드는 또한 샘플 어레이가 깊이/변이 맵인지의 여부에 관계없이 다른 종류의 샘플 어레이 코딩과 관련하여 사용될 수 있다는 것이 다시 강조된다. 아래에 설명되는 코딩 모드의 일부는 대응하는 텍스처 맵과 함께 깊이/변이 맵의 공존을 필요로 하지 않는다.
특히, 아래에 설명되는 실시예는 블록의 신호가 신호의 샘플을 샘플의 두 세트로 분리하고, 샘플의 각 세트를 일정한 샘플 값으로 나타내는 모델에 의해 표현되는 몇몇 코딩 모드를 포함한다. 이하에 설명되는 코딩 모드의 일부는 블록의 신호를 직접 나타내기 위해 이용될 수 있거나, 추가적인 잔여 정보(예를 들어, 변환 계수 레벨)를 코딩함으로써 추가로 정제되는 블록에 대한 예측 신호를 생성하기 위해 이용될 수 있다. 연속하여 설명되는 코딩 모드 중 하나가 깊이 신호에 적용되는 경우에, 다른 바람직한 양태에 더하여, 깊이 신호가 주로 천천히 변화하는 영역 및 천천히 변화하는 영역 사이의 모서리를 특징으로 한다는 사실로부터 이점이 생성될 수 있다. 천천히 변화하는 영역이 (DCT에 기초하여) 변환 코딩 접근 방식에 의해 효율적으로 나타낼 수 있지만, 거의 일정한 두 영역 사이의 모서리의 표현은 코딩될 다수의 변환 계수를 필요로 한다. 모서리를 포함하는 이러한 블록은 아래에 설명되는 실시예의 일부에 대하여 설명되는 바와 같이 블록을 두 영역으로 분할하는 모델을 이용하여 더욱 양호하게 나타낼 수 있으며, 두 영역의 각각은 일정한 샘플 값을 갖는다.
다음에는, 본 발명의 여러 실시예가 더 상세히 설명된다. 섹션 1 및 2에서, 블록을 일정한 샘플 값의 두 영역으로 분할하기 위한 기본적인 개념이 설명된다. 섹션 3은 블록이 어떻게 서로 다른 영역으로 분할될 수 있는지와, 무슨 파라미터가 분할 뿐만 아니라 영역에 대한 샘플 값을 나타내기 위해 전송될 필요가 있는지를 할당하기 위한 여러 실시예를 설명한다.
실시예는 어떤 다른 블록과는 관계없이 분할 정보를 시그널링하고, 공간적으로 이웃한 블록을 위해 전송된 데이터에 기초하여 분할 정보를 시그널링하며, 코딩될 깊이 맵과 관련되는 이미 전송된 텍스처 픽처(종래의 비디오 픽처)에 기초하여 분할 정보를 시그널링하기 위한 개념을 포함한다. 따라서, 섹션 4는 모드 정보의 코딩, 분할 정보, 및 불규칙적으로 위치된 블록을 처리하기 위해 일부 실시예에 관련된 일정한 샘플 값에 대하여 본 발명의 실시예를 설명한다.
다음의 설명이 주로 (특히 멀티뷰 비디오 코딩의 맥락에서) 깊이 맵의 코딩을 타겟으로 하고, 다음의 설명이 주어진 깊이 블록에 기초하지만, 본 발명의 몇몇 실시예는 또한 종래의 비디오 코딩에 적용될 수 있다. 따라서, 용어 "깊이 블록"은 일반적인 용어 "신호 블록"으로 대체되는 경우, 설명은 다른 신호 타입에 적용될 수 있다. 더욱이, 다음의 설명은 때때로 이차 블록에 집중하지만, 본 발명은 또한 직사각형 블록 또는 샘플의 다른 연결 또는 단순히 연결된 세트에 적용될 수 있다.
1. 웨지렛
예를 들어, 도 1 내지 도 3에 도시된 바와 같은 블록 기반 하이브리드 비디오 코딩에서, 프레임은 직사각형 블록으로 세분된다. 종종 이러한 블록은 이차이며, 각 블록의 처리는 동일한 기능적 구조를 따른다. 이러한 섹션의 예의 대부분이 이차 블록을 이용하지만, 웨지렛 블록 분할 및 모든 관련된 방법은 이차 블록으로 제한되지 않고, 오히려 어떤 직사각형 블록 크기에 가능하다.
1.1 웨지렛 블록 분할
웨지렛 블록 분할의 기본 원리는 도 4에 도시된 바와 같이 블록(200)의 영역을 라인(201)에 의해 분리되는 두 영역(202a, 202b)으로 분할하는 것이며, 여기서 두 영역은 P1 및 P2이라는 라벨이 붙는다. 분리 라인은 시작점 S 및 종료점 E에 의해 결정되며, 둘 다 블록 경계에 위치된다. 때때로, 다음에서, 영역 P1은 웨지렛 분할(202a)이라고 하지만, 영역 P2은 웨지렛 분할(202b)이라고 한다.
연속 신호 공간에 대해(도 4의 왼쪽 참조), 시작점 위치는
Figure pat00001
이고, 종료점 위치는
Figure pat00002
이며, 둘 다 블록 크기
Figure pat00003
Figure pat00004
로 제한된다(여기서 좌표 중 하나는 최소 값(0) 또는 최대 값(
Figure pat00005
또는
Figure pat00006
)과 동일해야 한다). 이러한 정의에 따르면, 분리 라인의 방정식은 다음과 같다:
Figure pat00007
(1)
이러한 방정식은
Figure pat00008
에 대해서만 유효하다는 것을 주목한다. 그리고 나서, 두 영역(P1 및 P2)은 제각기 라인의 왼쪽 영역 및 오른쪽 영역으로 정의된다.
디지털 이미지 처리에서, 일반적으로 이산 신호 공간(도 4의 오른쪽 참조)이 사용되며, 여기서 블록은 그리드 사각형(grid square)으로 도시된 샘플(203)의 정수로 구성된다. 여기서, 시작점 및 종료점(S 및 E)는 위치
Figure pat00009
Figure pat00010
와의 블록(200)의 경계 샘플에 대응하며, 둘 다 블록 크기
Figure pat00011
Figure pat00012
로 제한된다. 이산 경우에, 분리 라인 방정식은 (1)에 따라 공식화될 수 있다. 그러나, 완전한 샘플만이 도 4의 오른쪽에 도시된 두 영역 중 하나의 부분으로서 할당될 수 있을 때에 영역(P1 및 P2)의 정의는 여기서 서로 다르다. 이러한 할당 문제는 섹션 1.4.1에 설명된 바와 같이 알고리즘식으로 해결될 수 있다.
웨지렛 블록 분할(202a, 202b)은 블록(200)의 서로 다른 에지에 위치될 시작 및 종료점(204)을 필요로 한다. 결과적으로, 웨지렛 블록 분할(202a, 202b)의 6개의 서로 다른 방향은 도 5에 도시된 바와 같이 직사각형 또는 이차 블록(200)에 대해 구별될 수 있다.
1.2 웨지렛 분할 패턴
코딩 프로세스에서 웨지렛 블록 분할을 이용하는 경우, 분할 정보는 분할 패턴의 형태로 저장될 수 있다. 이러한 패턴은 크기
Figure pat00013
의 어레이로 구성되며, 각 요소는 부합하는(according) 샘플이 영역(P1 또는 P2)에 속하는지를 판단하는 이진 정보를 포함한다. 도 6은 서로 다른 블록 크기에 대한 예시적인 웨지렛 분할 패턴을 도시한다. 여기서, 이진 영역 정보, 즉 이중 세그먼테이션은 흑색 또는 흰색 샘플(203)로 나타낸다.
1.3 웨지렛 모델링 및 근사
웨지렛으로 블록의 깊이 신호를 모델링하기 위해, 필요한 정보는 개념적으로 2개의 요소로 구성된다. 하나는 예를 들어 분할 패턴의 형태의 분할 정보이며(섹션 1.1 참조), 이는 각각의 샘플(203)을 두 영역 중 하나에 할당한다(섹션 1.2 참조). 필요한 다른 정보 요소는 영역의 샘플에 할당되는 값이다. 두 웨지렛 영역의 각각의 값은 상수인 것으로 정의될 수 있다. 이것은 아래에 설명되는 실시예의 일부에 따른 경우이다. 따라서, 이러한 값은 일정한 분할 값(CPV)으로 지칭될 것이다. 그 경우에, 제 2 정보 요소는 할당된 영역에 대한 두 대표적인 샘플 값으로 구성된다.
도 7에 도시된 바와 같이, 웨지렛에 의해 깊이 블록의 신호의 근사치를 내는 경우, 주어진 분할의 CPV는 대응하는 영역의 원래의 깊이 신호의 평균값으로서 계산될 수 있다. 도 7의 왼쪽에서, 대표적인 깊이 맵에서의 그레이스케일(grey-scaled) 부분이 도시된다. 현재 웨지렛 기반 분할의 대상인 블록(200)은 예시적으로 도시된다. 특히, 원래의 깊이 신호(205) 내의 예시적인 위치가 도시될 뿐만 아니라 확장된 그레이스케일 버전도 도시된다. 먼저, 영역(P1 및 P2)의 관점에서 분할 정보, 즉 가능한 이중 세그먼테이션은 블록(200)과 중첩된다. 그 후, 하나의 영역의 CPV는 각각의 영역으로 커버되는 모든 샘플의 평균값으로서 계산된다. 도 5의 예에서의 분할 정보가 깊이 신호(205)와 아주 잘 일치할 때, 생성된 웨지렛 모델, 즉 영역(P1)에 대한 하위 CPV(어두운 회색) 및 영역(P2)에 대한 상위 CPV(밝은 회색)으로 설명되는 웨지렛 분할 모드에 기초한 블록(200)의 예측은 깊이 블록의 양호한 근사치를 나타낸다.
1.4 웨지렛 처리
1.4.1 웨지렛 패턴 리스트
웨지렛 블록 분할의 효율적인 처리 및 시그널링을 위해, 분할 패턴은 룩업(lookup) 리스트에 구성될 수 있다. 이러한 웨지렛 패턴 리스트는 영역 분리 라인에 대한 시작점 및 종료점 위치의 모든 가능한 조합에 대한 패턴을 포함하거나 모든 가능한 조합의 적절한 서브세트를 포함한다. 따라서, 하나의 룩업 리스트는 각각의 예측 블록의 크기에 대해 생성될 수 있다. 어떤 블록 크기의 리스트 내에서 특정 패턴의 위치 또는 인덱스에 의존하는 인코더와 디코더 사이의 시그널링을 가능하게 하기 위해(상세 사항을 위한 섹션 3 참조) 인코더 및 디코더에서 이용 가능한 동일한 리스트가 만들어질 수 있다. 이것은 패턴의 사전 정의된 세트를 포함하거나 인코더 및 디코더 초기화의 일부로서 동일한 생성 알고리즘을 실행함으로써 구현될 수 있다.
도 8에 도시된 바와 같이 웨지렛 분할 패턴 룩업 리스트를 생성하기 위한 핵심적인 기능은 하나의 리스트 요소를 생성시킨다. 이것은 다음에 설명되는 바와 같이 (또는 유사한 알고리즘에 의해) 실현될 수 있다. 빈(empty) 패턴(이진 요소의
Figure pat00014
어레이)과 시작점 S 및 종료점 E 좌표(도 8 왼쪽)가 주어지면, 제 1 단계는 분리 라인을 그리는 것이다. 이를 위해, Bresenham 라인 알고리즘이 적용될 수 있다. 일반적으로, 알고리즘은 주어진 두 지점 사이의 직선에 대한 근사치를 형성하기 위해 샘플(203)이 도시되어야 하는지를 판단한다. 웨지렛 분할 패턴의 경우에, 시작점 S 과 종료점 E 사이의 선의 근사치를 내는 모든 요소(203)가 표시된다( 도 8의 흑색 박스, 중간 왼쪽). 마지막 단계는 표시된 샘플로 분리되는 생성된 두 영역 중 하나를 필링(filling)하는 것이다. 여기서, 상술한 할당 문제가 논의될 필요가 있다. 패턴의 요소가 이진수일 때, Bresenham 알고리즘에 의해 표시되는 분리 라인은 하나의 영역의 일부가 된다. 직관적으로, 이것은 라인 샘플이 이론적으로 두 도메인의 일부일 때 불균형이 될 것으로 보인다. 그러나, 일반성의 손실없이 하나의 영역에 분리 라인 샘플을 할당하는 것이 가능하다. 이것은 라인 표시 및 영역 필링 알고리즘이 둘 다 부합하는 방향의 루트 코너(root corner)에 대해 방향을 인식한다는 사실에 의해 보장된다. 코너 영역이 분리 라인에 의해 완전히 구분된다는 사실에 기초하여, 이러한 영역을 필링하는 것은 비교적 간단하다. 필링 알고리즘은 루트 코너 요소(206)로 시작하고, 그것이 이미 표시된 요소 및 라인(207)의 부분에 도달할 때까지(도 8 중간 오른쪽 참조) 연속으로 모든 패턴 요소 칼럼 및 라인 방향으로 표시한다. 결과적으로, 주어진 시작점 및 종료점 위치에 대한 웨지렛 분할 패턴은 이진 값으로 나타낸다(도 8 오른쪽).
어떤 블록 크기의 웨지렛 분할 패턴 룩업 리스트에 대한 생성 프로세스는 가능한 라인 시작 및 종료 위치에 대한 리스트 요소를 작성한다. 이것은 도 5에 도시된 여섯 방향을 통해 반복함으로써 실현된다. 각 방향에 대해, 시작 위치는 블록의 한 에지에 위치되고, 종료 위치는 블록의 다른 에지에 위치되며, 리스트 생성 프로세스는 시작 및 종료 위치의 각각의 가능한 조합에 대해 위에 도입된 웨지렛 패턴 생성 방법을 실행한다. 효율적인 처리 및 시그널링에 대해, 웨지렛 패턴 리스트는 고유 패턴만을 포함해야 한다. 그래서, 새로운 패턴이 리스트에 추가되기 전에, 이미 리스트에 있는 어떤 패턴과 동일하거나 반대로 동일한(inverse identical) 것에 대해 체크된다. 이러한 경우에, 패턴은 중복하며, 그래서 폐기된다. 그 외에도, 평면 패턴, 즉 모든 샘플은 하나의 영역에 할당되고, 또한 이들이 유효한 웨지렛 블록 분할을 나타내지 않을 때 리스트에서 제외된다.
설명된 웨지렛 패턴 리스트에 대한 확장으로서, 패턴을 생성하는데 사용되는 라인 시작 및 종료 위치의 해상도는 예를 들어 블록 크기에 따라 적응적으로 증가되거나 감소될 수 있다. 이러한 확장의 목적은 코딩 효율성과 복잡성 사이의 양호한 트레이드오프를 찾기 위한 것이다. 정상 해상도에 비해, 해상도를 증가시키는 것은 더 많은 패턴을 가진 리스트에 이르게 하지만, 해상도를 감소시키는 것은 더 짧은 리스트를 생성시킨다. 결과적으로, 해상도는 통상적으로 작은 블록 크기에 대해서는 증가되고, 큰 블록 크기에 대해서는 감소된다. 시작 및 종료 위치에 대한 해상도와는 관계없이, 리스트에 저장된 웨지렛 분할 패턴은 항상 정상 해상도, 즉 원래의 블록 크기를 가져야 한다는 것을 주목하는 것이 중요하다. 해상도를 감소시키는 것은 상술한 바와 같이 패턴을 생성시킴으로써 간단히 실현될 수 있지만, 시작 및 종료 위치의 서브세트에 대해서만 가능하다. 예를 들면, 해상도의 절반은 패턴 생성을 매 제 2 시작 및 종료 위치로 제한하는 것을 의미한다. 이와 대조적으로, 해상도를 증가시키는 것은 더욱 어렵다. 모든 시작 및 종료 위치를 커버하기 위해, 해상도를 증가시킨 임시 패턴은 상술한 알고리즘을 이용하여 먼저 생성된다. 제 2 단계에서, 생성된 패턴은 정상 해상도로 다운샘플링된다. 이진 데이터에 대해, 다운샘플링은 증가된 해상도의 경우에 대해 다수의 동일한 패턴을 생성시키는 보간된 값을 지원하지 않는다는 것을 주목한다.
상술한 웨지렛 패턴 생성의 최종 결과로서, 웨지렛 패턴의 정렬된 리스트는 인코더 및 디코더 측 둘 다에서 도출된다. 실제 구현에서, 이러한 패턴은 또한 사용된 코딩 알고리즘/코딩 표준에 의해 미리 정의될 수 있다. 더욱이, 상술한 실제 알고리즘에 의해 패턴을 생성할 필요가 없고, 이러한 알고리즘의 수정이 또한 사용될 수 있다. 인코더 및 디코더 둘 다가 인코딩 및 디코딩 프로세스를 위한 웨지렛 패턴의 동일한 리스트를 생성하였다는(나중에 사용) 것만이 중요하다.
1.4.2 최소 왜곡 웨지렛 검색
상술한 룩업 리스트에 기초하여, 웨지렛 분할에 의한 블록의 신호의 최상의 근사치는 검색 알고리즘에 의해 발견될 수 있다. 웨지렛 기반 코딩 알고리즘에 대해, 최상의 근사치는 최소 왜곡을 유발시키는 웨지렛 모델로 이해될 수 있다. 다시 말하면, 검색은 주어진 블록에 가장 일치하는 웨지렛 분할 패턴을 찾을려고 한다. 검색은 주어진 블록 크기에 대한 모든 가능한 웨지렛 분할 패턴을 포함하는 도출된 패턴 리스트을 이용한다(상세 사항을 위한 섹션 1.4.1 참조). 이러한 리스트는 최소 왜곡 웨지렛 검색이 실행될 때마다 패턴이 다시 생성될 필요가 없을 때 검색의 처리 시간을 제한하는 것을 돕는다. 각 검색 단계는 다음의 단계로 구성될 수 있다:
Figure pat00015
주어진 분할 패턴 및 원래의 블록 신호로부터의 CPV 값의 계산.
Figure pat00016
원래의 블록 신호와 웨지렛 모델 사이의 왜곡
Figure pat00017
의 계산.
Figure pat00018
Figure pat00019
의 평가: 참(true)일 경우,
Figure pat00020
를 설정하고, 현재 분할 패턴의 리스트 인덱스를 저장함으로써 최소 왜곡 웨지렛 정보를 업데이트한다.
왜곡 대신에, 라그랑지안(Lagrangian) 비용 측정치는 이용된 웨지렛 패턴을 찾기 위해 사용될 수 있다. 라그랑지안 const 측정치는 라그랑지안 승수(multiplier)
Figure pat00021
를 제공한 관련된 파라미터를 전송하기 위해 필요한 레이트 R을 가진 특정 웨지렛 패턴에 의해 얻어진 왜곡 D에 가중치를 주는 가중 합
Figure pat00022
이다.
철저한 검색에서 빠른 검색 전략에 이르기까지 검색 알고리즘에 대한 여러 전략이 가능하다. 철저한 검색은 웨지렛 패턴 리스트의 모든 요소가 최소 왜곡에 대해 연속적으로 테스트된다는 것을 의미한다. 이러한 전략은 (특히 인코더에 중요한) 느린 가격(price of being slow)이 아니었다면 전역 최소값(global minimum)이 확실히 발견된다. 빠른 검색은 필요한 검색 단계의 수를 줄이는 개선된 전략을 의미한다. 빠른 검색 전략은 예를 들어 연속적 정제(successive refinement)일 수 있다. 제 1 단계에서, 예를 들어, 단지 제 4 경계 샘플마다 제한된 수의 라인 시작 및 종료 위치로부터 생성하는 분할 패턴의 서브세트에 대한 최소 왜곡 웨지렛이 검색된다. 제 2 단계에서, 시작 및 종료 위치는 예를 들어 매 제 2 경계 샘플을 허용하지만, 테스트된 시작 및 종료 위치의 범위를 제 1 단계의 최상의 결과 주변의 범위로 제한함으로써 정제되어야 한다. 사이클마다 스텝 크기를 정제함으로써, 최종적으로 최소 왜곡 웨지렛이 발견된다. 전체 검색과는 대조적으로, 이러한 빠른 검색 전략만은 로컬 최소값을 찾는 것을 허용하지만, 테스트될 웨지렛 패턴의 수는 상당히 감소하여, 결과적으로 검색이 빠르다. 제 1 단계의 스텝 크기는 고정 값일 필요가 없지만, 예를 들어 블록 크기의 함수로서 적응적으로 설정될 수 있다는 것을 주목한다.
웨지렛 라인 또는 웨지렛 패턴의 프로세스을 인덱싱하는 방금 논의된 인덱스는 wedge_full_tab_idx 라고 할 수 있다.
2 윤곽선
이러한 섹션의 예의 대부분이 이차 블록을 이용하지만, 윤곽선 블록 분할 및 모든 관련된 실시예는 이차 블록으로 제한되지 않고, 오히려 어떤 직사각형 블록의 크기에 대해 가능하다는 것을 주목한다.
2.1 윤곽선 블록 분할
윤곽선 블록 분할의 기본 원리는 블록(200)의 영역을 두 영역(202a, 202b)로 분할하는 것이다. 웨지렛 블록 분할에 대해서와는 달리, 영역 사이의 분리 라인(201)은 기하학적 공식화에 의해 설명될 수 없다. 도 9에서 P1 및 P2로 표시된 두 영역에 의해 도시된 바와 같이, 윤곽선의 영역은 임의의 형상일 수 있으며, 이들은 심지어 연결될 필요는 없다.
도 9는 또한 윤곽선 블록 분할에 대한 연속 및 이산 신호 공간 사이의 차이를 도시한다. 다시 말하면, 완전한 샘플만이 이산 신호 공간에 대한 두 영역 중 하나의 부분으로 할당될 수 있다(도 9 오른쪽). 윤곽선 분할 정보가 기하학적 공식화에서가 아닌 이산 참조 신호에서 도출될 경우(상세 사항을 위한 섹션 3.2.2 참조), 웨지렛 블록 분할에 대해서와 같은 할당 문제는 여기에서 고려될 필요가 없다.
2.2 윤곽선 분할 패턴
웨지렛 분할 패턴에 순응하여(섹션 1.2 참조 ), 윤곽선 블록 분할 정보는 분할 패턴의 형태로 저장될 수 있다. 이러한 패턴은 크기
Figure pat00023
의 어레이로 구성되고, 각 요소는 부합하는 샘플이 영역(P1 또는 P2)에 속하는지를 판단하는 이진 정보를 포함한다. 도 10은 흑색 또는 흰색 샘플 색상으로 이진 영역 정보를 나타내는 예시적인 윤곽선 분할 패턴을 도시한다.
2.3 윤곽선 모델링 및 근사치
윤곽선으로 블록의 깊이 신호의 근사치를 내는 원리는 섹션 1.3에서 설명된 웨지렛 개념과 동일하다. 다시 말하면, 필요한 정보는 두 요소 분할 정보 및 분할 필링 명령어로 구성될 수 있으며, 이러한 명령어는 결과적으로 두 영역의 각각에 대해 하나의 일정한 분할 값(CPV)을 포함할 수 있으며, 이러한 값은 대응하는 영역의 원래의 깊이 신호의 평균값으로 계산될 수 있다.
윤곽선 근사치는 도 11에 도시되어 있으며, 여기서 예측 블록(200)의 원래의 깊이 신호는 이의 주변을 보여주기 위해 강조되어 확대 도시된다. 다시 말하면, 영역(P1 및 P2)의 측면에서의 분할 정보는 먼저 블록과 중첩된 후, CPV는 영역에 의해 커버되는 모든 샘플의 평균 값으로 계산된다. 도 11의 예에서의 분할 정보가 깊이 신호와 아주 잘 일치할 때, 영역(P1)에 대한 낮은 CPV(어두운 회색) 및 영역(P2)에 대한 높은 CPV(밝은 회색)를 가진 생성된 윤곽선 모델은 깊이 블록의 양호한 근사치를 나타낸다.
3. 블록 분할 코딩
도 1 내지 도 3의 코딩 환경과 같은 멀티뷰 비디오 플러스 깊이(MVD)에 대한 코딩 프레임워크 내에서 이전 섹션에 설명된 방법 및 알고리즘을 이용하는 경우, 새로운 코딩 루틴 또는 모드가 정의되어야 하고, 필요한 도구는 인코더 및 디코더에서 구현되어야 한다.
도 1의 인코더와 같은 하이브리드 비디오 코더 또는 코딩 브랜치 쌍 22v/d,1의 경우, 이러한 도구는 추정, 예측 또는 시그널링의 부분으로 분류될 수 있다. 추정은 도구가 원래의 입력 정보(예를 들어 압축되지 않은 픽처)에 의존할 때 단지 인코딩 프로세스의 일부인 도구를 요약한다. 이것과 대조적으로, 예측은 도구가 단지 전송 및/또는 재구성된 정보(예를 들어 디코딩된 픽처)에 의존할 때 인코딩 및 디코딩 프로세스의 일부인 도구를 요약한다. 시그널링은 비트스트림으로 인코더에서 디코더로 전송되는 정보를 코딩하기 위한 도구를 요약한다. 결과적으로, 이들은 동일한 구문 및 동일한 엔트로피 코딩 상태를 이용하는데 필요로 된다.
추정 도구의 경우, 블록의 왜곡 및 원래의 깊이 신호 사이의 차이를, 예를 들어 평균 제곱 에러(MSE) 또는 평균 절대차(MAD)로서 측정하거나, 블록의 왜곡된 깊이 신호로 인해 위치가 뒤바뀌게 되는 샘플에 의해 생성된 합성된 뷰의 차이를 합성된 뷰의 왜곡으로서 측정하는 종래의 비디오 코딩 접근 방식에서 공지된 바와 같이 왜곡은 도출될 수 있다.
아래에 설명되는 실시예에 따른 불규칙한 블록 분할 코딩에 대한 개념은 분할 정보를 처리하기 위한 개념(섹션 3.1 및 3.2 참조) 및 CPV를 처리하기 위한 개념(섹션 3.3 참조)으로 나눌 수 있다.
3.1 웨지렛 기반 인트라 코딩
이러한 섹션은 웨지렛 블록 분할에 기초하여 두 인트라 코딩 모드를 제공한다(섹션 1 참조). 두 모드는 델타 CPV 방법과 조합될 수 있다(섹션 3.3.2 참조).
3.1.1 웨지렛 블록 분할의 인트라 모델링
이러한 모드의 기본 원리는 인코더에서 가장 일치하는 웨지렛 분할을 발견하고, 비트스트림으로 분할 정보를 명시적으로 전송하는 것이다. 디코더에서, 블록의 신호는 명시적으로 전송된 분할 정보를 이용하여 재구성된다. 결과적으로, 이러한 모드에 대한 주요 도구는 추정 및 시그널링의 일부이다.
이러한 모드에 대한 웨지렛 분할 정보는 예측되지 않고, 인코더에서 추정 프로세스 내에서 검색된다. 이를 위해, 섹션 1.4.2에서 설명된 바와 같이 최소 왜곡 웨지렛 검색은 참조로서 현재 블록의 원래의 깊이 신호를 이용하여 실행된다. 검색은 사용된 왜곡 방법에 대해 가장 일치하는 웨지렛 분할을 생성한다.
디코더에서 블록을 재구성하면, 웨지렛 분할 정보는 비트스트림으로 시그널링되어야 한다. 이것은 리스트 내에서 부합하는 패턴의 인덱스 또는 위치를 명시적으로 전송함으로써 실현된다(섹션 1.4.1 참조). 이러한 리스트 인덱스는 고정된 수의 빈(bin)으로 시그널링된다. 웨지렛 패턴 리스트에 N 요소를 제공하면, 사용된 패턴의 인덱스는 고정 길이 코드, 또는 가변 길이 코드, 또는 (콘텍스트 적응 이진 산술 코딩을 포함하는) 산술 코딩, 또는 어떤 다른 엔트로피 코딩 방법을 이용하여 코딩된다. 웨지렛 분할 정보를 시그널링하기 위한 전진된 방법은 각 분할 패턴의 확률에 기초하여 리스트를 분류하거나, 분할 정보의 대안적인 표현, 예를 들어 라인 시작 및 종료 위치 또는 라인 시작 위치 및 변화도(gradient)를 이용하는 단계를 포함할 수 있다.
3.1.2 웨지렛 블록 분할의 인트라 예측
이러한 모드의 기본 원리는 동일한 픽처, 즉 인트라 예측에서 이전에 코딩된 블록에 이용 가능한 정보로부터 웨지렛 분할을 예측하는 것이다. 양호한 근사치를 위해, 예측된 분할은 예를 들어 라인 종료 위치를 변경함으로써 인코더에서 정제된다. 비트스트림에서의 라인 종료 위치에 대한 오프셋의 유일한 전송은 충분할 수 있고, 디코더에서 블록의 신호는 오프셋과 같이 전송된 리파인먼트 정보(refinement information)와 예측된 분할을 조합하는 것으로부터 생성된 분할 정보를 이용하여 재구성될 수 있다. 결과적으로, 이러한 모드에 대한 주요 도구는 예측, 추정, 및 시그널링의 일부이다.
이러한 모드에 대한 웨지렛 분할 정보의 예측은 시작 위치 및 분리 라인의 변화도로 구성되는 웨지렛 표현과 함께 내부적으로 작동한다. 추가의 처리를 위해, 즉 라인 종료 위치 오프셋을 적응시키고, 블록의 신호를 재구성하기 위해, 예측 결과는 라인 시작 및 종료 위치로 이루어지는 표현으로 변환된다. 이러한 모드의 예측 프로세스는 현재 블록의 이웃한 블록의 왼쪽 및 위와 같이 이전에 코딩된 블록의 정보로부터 라인 시작 위치 및 변화도를 도출한다. 도 12에서는, 현재 블록(210) 및 위의 이웃한 블록(212)만이 도시된다. 일부 블록의 경우, 이웃한 블록 중 하나 또는 둘 다는 사용할 수 없다는 것을 주목한다. 이러한 경우에, 이러한 모드에 대한 처리는 스킵되거나 상실한 정보를 의미있는 디폴트 값으로 계속 설정된다.
도 12에 도시된 바와 같이, 2개의 주요 개념은 현재 제시된 실시예에 따른 웨지렛 분할 정보를 예측하기 위해 구별된다. 제 1 개념은 2개의 이웃한 참조 블록 중 하나가 도 12 왼쪽의 예에 도시된 타입 웨지렛인 경우를 커버하며, 여기서, 블록(212)은 예시적으로 웨지렛 분할된다. 제 2 개념은 2개의 이웃한 참조 블록이 타입 웨지렛이 아니고, 타입 인트라 방향일 때의 경우를 커버하며, 이는 도 12 오른쪽의 예에 도시된 디폴트 인트라 코딩 타입일 수 있으며, 여기서, 블록(212)은 예시적으로 인트라 코딩된다.
참조 블록(212)이 타입 웨지렛인 경우, 예측 프로세스는 다음과 같이 작동할 수 있다: 도 12 왼쪽에 따르면, 참조 웨지렛의 변화도 mref는 제 1 단계에서 시작 위치 Sref및 종료 위치 Eref로부터 도출된다. 이러한 개념의 원리는 참조 웨지렛(212)의 분리 라인(201')의 연속이 실제로 현재 블록(210)과 교차하는 경우에만 가능한 현재 블록(210) 내에서 참조 웨지렛, 즉 웨지렛 분리 라인(201')을 계속하는 것이다. 그래서, 다음 단계는 참조 웨지렛을 계속할 수 있는지를 체크하는 것이다. 도 12 왼쪽의 예는 가능하지만, 참조 웨지렛의 시작 및 종료 위치가 블록의 왼쪽 및 오른쪽 에지에 위치될 경우, 라인의 연속은 블록 아래에 교차하지 않는 시나리오를 보여준다. 체크가 긍정적인 경우에, 시작 위치 Sp 및 종료 위치 Ep는 최종 단계에서 예측된다. 변화도 mp가 정의에 의해 mref과 동일할 때, 위치는 단순히 블록 경계 샘플과 연속된 라인의 교차 지점으로 계산된다.
참조 블록(212)이 타입 인트라 방향인 경우, 예측 프로세스는 다음과 같이 작동할 수 있다: 도 12 오른쪽에 따르면, 참조 블록(212)의 변화도 mref는 제 1 단계에서 인트라 예측 방향(214)으로부터 도출된다. 추상적 인덱스의 형태로 제공되는 인트라 예측 방향(214)만의 경우에, 매핑 또는 변환 함수는 변화도 mref를 달성하는데 필요할 수 있다. 타입 웨지렛의 참조 블록(212)으로부터 예측하기 위한 개념과는 달리, 타입 인트라 방향의 참조 블록(212)에 의해 어떠한 분리 라인 정보도 제공되지 않는다. 결과적으로, 시작 위치 Sp는 또한 디코더, 즉 왼쪽 및 위의 이웃한 블록의 인접한 샘플에서 이용 가능한 정보로부터 도출된다. 이들은 도 12 오른쪽에 해칭(hatching)되어 도시되어 있다. 해칭의 밀도는 이웃한 샘플의 값을 나타낸다. 도 12 오른쪽에 도시된 바와 같이, 이러한 인접한 샘플로부터 최대 기울기를 가진 이웃한 샘플의 쌍에 인접한 것은 시작 위치 Sp로서 선택된다. 여기서, 기울기는 2개의 연속적인 샘플의 값의 절대차로 이해된다. 웨지렛 분할에 대해, 라인 시작점 Sp은 두 영역(202a, 202b)을 블록(210)의 하나의 에지(216)에서 서로 다른 값으로 분리한다. 따라서, 이웃한 블록의 인접한 샘플 사이의 최대 기울기 지점이 Sp를 최상으로 예측한 것이다. 변화도에 관해, mp는 다시 정의에 의해 mref와 동일하고, Sp와 함께 종료 위치 Ep는 최종 단계로 계산될 수 있다.
두 제시된 개념은 상호 보완적이다. 타입 웨지렛의 참조 블록으로부터의 예측이 더 잘 일치하는 분할 정보를 가지고 있지만, 항상 가능한 것은 아니며, 타입 인트라 방향의 참조 블록으로부터의 예측은 항상 가능하지만, 분할 정보는 적합하지 않다. 따라서, 두 개념을 하나의 예측 모드로 조합하는 것이 유리하다. 추가적인 시그널링 없이 이것을 실현하기 위해, 다음의 처리 계층이 정의될 수 있다: 위의 참조 블록이 타입 웨지렛인 경우에는 분할을 예측하려고 한다. 그렇지 않으면, 왼쪽 참조 블록이 타입 웨지렛인 경우에는 분할을 예측하려고 한다. 그렇지 않으면, 위 및 왼쪽 참조 정보로부터 분할을 예측한다. 후자의 경우, 위 및 왼쪽 방향 사이에 결정하기 위한 서로 다른 결정 기준은 공동으로 인접한 샘플의 방향 및 기울기를 평가하기 위해 단순히 위의 우선 순위에서 진보된 접근 방식에 이르기까지 가능하다. 위 및 왼쪽 참조 블록이 타입 웨지렛인 경우에 이러한 진보된 기준(criterions)이 또한 적용될 수 있다.
웨지렛 분할을 정제하기 위한 라인 종료 위치 오프셋은 예측되지 않고, 인코더에서의 추정 프로세스 내에서 검색될 수 있다. 도 12에 도시된 바와 같이, 검색을 위해, 후보(candidate) 분할은 예측된 웨지렛 분할 및 라인 종료 위치 Eoff에 대한 오프셋 값으로부터 생성된다. 오프셋 값의 범위 이상으로 반복하고, 서로 다른 생성된 웨지렛 분할의 왜곡을 비교함으로써, 가장 잘 일치하는 웨지렛 분할의 오프셋 값은 사용된 왜곡 방법에 대하여 결정된다.
디코더에서 블록을 재구성하기 위해, 라인 종료 위치 오프셋 값은 비트스트림에서 시그널링되어야 한다. 이는 3개의 구문 요소(syntax element), 즉 어떤 오프셋 Eoff이 존재하는지에 대한, 즉 이러한 오프셋이 0인지에 대한 제 1 시그널링 요소, 오프셋이 0이 아닌 경우에 오프셋의 부호, 즉 시계 방향 또는 시계 반대 방향 편차의 부호를 의미하는 제 2 요소, 및 절대 오프셋 값 마이너스 1: dmm_delta_end_flag, dmm_delta_end_sign_flag, dmm_delta_end_abs_minus1을 나타내는 제 3 요소를 이용하여 시그널링될 수 있다. 의사 코드에서, 이러한 구문 요소는 다음과 같은 것으로 포함될 수 있다.
dmm_delta_end_flag
( dmm_delta_end_flag ) {이면
dmm_delta_end_abs_minus1
dmm_delta_end_sign_flag}
dmm_delta_end_abs_minus1 및 dmm_delta_end_sign_flag는 다음과 같이 DmmDeltaEnd, 즉 Eoff를 도출하는데 이용될 수 있다:DmmDeltaEnd [ x0 ] [ y0 ] = ( 1 - 2 * dmm_delta_end_sign_flag[ x0 ][ y0 ] ) * ( dmm_delta_end_abs_minus1 [ x0 ][ y0 ] + 1)
가장 가능성이 높은 경우는 오프셋 값이 0이다는 것이다. 효율적인 시그널링의 경우, 오프셋이 0인지의 여부를 나타내는 플래그의 함수를 가진 제 1 빈이 전송된다. 오프셋이 0이 아닌 경우, k + 1의 추가적인 빈은 범위 ±2k에서 오프셋 값을 시크널링하기 위해 따르며, 여기서 제 1 빈은 부호를 나타내고, 나머지 k 빈은 오프셋의 절대 값을 나타낸다. 효율적인 코딩을 위해, k는 통상적으로 작은 수이고, 예를 들어, 블록 크기에 따라 적응적으로 설정될 수 있다. 라인 종료 위치 오프셋은 또한 고정 길이 코드, 가변 길이 코드, 또는 (콘텍스트 적응 이진 산술적 코딩을 포함하는) 산술적 코딩을 포함하는 어떤 다른 엔트로피 코딩 기술에 의해 전송될 수 있다.
3.2 블록 분할 코딩에 대한 구성 요소 간 예측
이러한 섹션은 텍스처로부터 분할 정보를 예측하는 것에 기초하여 두 코딩 모드를 제공한다. 두 모드는 델타 CPV 방법(섹션 3.3.2 참조)과 조합될 수 있다. 텍스처 정보(즉, 종래의 비디오 픽처)는 관련된 깊이 맵 전에 전송된다는 것이 추정된다.
이러한 모드의 기본 원리는 웨지렛 또는 윤곽선 블록 분할로서 텍스처 참조 블록으로부터 분할 정보를 예측하는 것으로 설명될 수 있다. 이러한 타입의 예측은 구성 요소 간 예측으로 지칭될 수 있다. 시간적 또는 인터뷰 예측과는 달리, 텍스처 참조 픽처가 동시에 동일한 관점에서 장면을 보여줄 때 움직임 또는 변이 보상은 여기서 필요하지 않다. 분할 정보가 이러한 모드 동안에 전송되지 않을 때, 구성 요소 간 예측은 참조로서 재구성된 텍스처 픽처를 이용한다. 텍스처 코딩을 위해 이용된 색 공간에 따라, 텍스처 신호의 하나 이상의 구성 요소는 구성 요소 간 예측을 위해 고려된다. 비디오 코딩을 위해 통상적으로 YUV 색 공간이 사용된다. 여기서, 루마 구성 요소는 깊이 블록의 신호, 즉 객체 간의 에지를 예측하는 가장 중요한 정보를 포함한다. 따라서, 간단한 구성 요소 간 예측 접근 방식은 단지 루마 구성 요소의 정보를 이용하지만, 진보된 접근 방식은 추가적으로 공동 예측을 위해 또는 루마 예측 결과를 정제하기 위해 크로마 구성 요소를 이용한다.
3.2.1 웨지렛 블록 분할의 텍스처 기반의 예측
이러한 모드의 기본 원리는 텍스처 참조 블록(216)으로부터 깊이 맵(213)에서 깊이 블록(210)의 웨지렛 분할을 예측하는 것이다. 이것은 도 13에 도시된 바와 같이 재구성된 텍스처 픽처에 대해 가장 잘 일치하는 웨지렛 분할을 검색함으로써 실현된다. 이를 위해, 섹션 1.4.2에서 설명된 바와 같이 최소 왜곡 웨지렛 탐색은 재구성된 텍스처 신호(215), 특히 참조로서 깊이 블록(210)과 같은 위치 및 크기를 가진 루마 블록(216)을 이용하여 실행된다. 생성된 웨지렛 분할 패턴(218)은 깊이 블록의 예측(220)에 사용된다. 도 13에서, 이것은 상부 박스에 의해 강조되고, 도시된 예의 경우, 예측된 웨지렛 분할(중간)은 깊이 블록(210)에 매우 잘 근접한다. 설명된 웨지렛 예측이 인코더 및 디코더에서 동일하게 수행될 수 있을 때, 분할 정보의 시그널링은 이러한 모드 동안에 필요로 되지 않는다.
3.2.2 윤곽선 블록 분할의 텍스처 기반의 예측
이러한 모드의 기본 원리는 텍스처 참조 블록으로부터 깊이 블록의 윤곽선 분할을 예측하는 것이다. 이것은 도 10에 도시된 바와 같이 재구성된 텍스처 픽처(215)에 대한 윤곽선 분할(218')을 도출함으로써 실현된다. 이를 위해, 윤곽선 근사치는 재구성된 텍스처 신호(215), 특히 참조로서 깊이 블록(210)과 같은 위치 및 크기를 가진 루마 블록(216)을 이용하여 실행된다. 이러한 윤곽선 예측이 인코더 및 디코더에서 동일하게 수행될 수 있을 때, 분할 정보의 시그널링은 이러한 모드 동안에 필요로 되지 않는다.
윤곽선 분할 패턴은 참조 블록(216)의 평균값을 계산하여, 그것을 임계값으로 설정함으로써 생성될 수 있다. 참조 블록(216)에서의 샘플값이 임계 값의 아래인지 위인지에 따라, 부합하는 위치는 분할 패턴(218')에서 영역(P1 또는 P2)의 일부로서 표시된다. 생성된 윤곽선 분할 패턴(218')은 깊이 블록(210)의 예측(220)에 사용된다. 도 13에서, 이것은 하부 박스에 의해 강조되고, 도시된 예의 경우, 예측된 웨지렛 분할(중간)(218')은 깊이 블록(210)에 매우 잘 근접한다. 그러나, 임계값 접근 방식은 잠재적으로 깊이 신호에 잘 근접하지 않는 많은 격리된 작은 부분을 가진 마모된 패턴(frayed pattern)에 이르게 한다. 윤곽선 패턴의 일관성을 개선하기 위해, 편차 프로세스는 예를 들어 필터링 또는 세그먼테이션 접근 방식에 의해 확장될 수 있다.
윤곽선 분할 패턴, dmmWedgeletPattern[x, y]를 정의하고, x, y =0..nT-1을 가진 (x, y)가 분할될 블록 내의 샘플 위치를 나타내는 이진 분할 패턴은 다음과 같이 x, y =0..nT-1을 가진 동일 위치 텍스처 비디오 블록 videoLumaSamples[x,y]의 루마 샘플로부터 도출될 수 있다.
임계 값 tH는 다음과 같이 도출된다:
tH = sumDC/(nT*nT), sumDC += videoLumaSamples[x, y], x, y = 0..nT-1
패턴 값은 다음과 같이 설정된다:
- videoLumaSamples[x, y]가 tH보다 클 경우, 다음과 같은 것이 적용된다:
dmmWedgeletPattern[x, y] = 1
- 그렇지 않으면, 다음과 같은 것이 적용된다:
dmmWedgeletPattern[x, y] = 0
3.3 CPV 코딩
CPV 코딩에 대한 개념은 이러한 섹션에 제시되어 있다. 이들은 두 분할 타입, 즉 웨지렛 및 윤곽선이 정의에 의해 일정한 값을 가진 2개의 분할 영역을 가질 때 블록 분할 정보를 예측 또는 추정하기 위해 모두 4개의 모드에 동일하게 적용될 수 있다. 결과적으로, CPV 처리는 분할 타입 또는 코딩 모드 사이를 구별할 필요가 없지만, 오히려 분할 패턴이 현재 깊이 블록에 제공된다는 것을 추정한다.
3.3.1 예측 CPV
CPV 예측에 대한 양호한 이해를 위해, 원래의 CPV, 예측된 CPV, 및 델타 CPV인 3가지 타입의 CPV가 구별된다. 이들 사이의 관계는 블록의 단면(도 14 왼쪽의 점선(230))에 대해 도 14 오른쪽에 개략적으로 도시되어 있다. 여기서, 라인(232)은 라인(230)을 따라 블록(200)의 원래의 신호를 나타낸다. 섹션 1.3 및 2.3의 설명에 따르면, 원래의 CPV(도 14 오른쪽의 라인(234 및 236)는 제각기 대응하는 영역(P1 및 P2)에 의해 커버되는 신호의 평균값으로 계산된다.
원래의 CPV
Figure pat00024
Figure pat00025
는 주어진 블록 분할에 대한 원래의 신호의 최상의 근사치(도 14 왼쪽, 또는 라인(232))에 이르지만, 원래의 신호가 디코더에서 이용할 수 없을 때, 비트 스트림으로 값을 전송할 필요가 있다. 이것은 비트 레이트의 관점에서 상당히 비싸고, CPV에 대한 예측의 원리를 채용함으로써 회피될 수 있다. 원래의 CPV와는 대조적으로, 도 14 왼쪽에서 해칭된 샘플(203) 상에 예시된 바와 같이, 예측된 CPV는 또한 디코더, 즉 왼쪽 위의 이웃한 블록의 인접한 샘플에서 이용할 수 있는 정보로부터 도출된다. 여기서, 인접한 샘플은 회색으로 표시되고, 주어진 분할 패턴의 각 영역에 대한 예측된 CPV는 대응하는 영역(도 14 왼쪽의 라인(238 및 240))에 인접하는 이들 샘플의 평균값을 계산하여 생성된다. 왼쪽 또는 위의 이웃한 블록이 항상 이용 가능한 것은 아니다는 것을 주목한다. 이러한 경우에, 각각의 인접하는 샘플은 디폴트 값으로 설정될 수 있다.
도 14 오른쪽에서, 예측된 CPV
Figure pat00026
Figure pat00027
는 라인(238 및 240)으로 나타내고, 예시는 원래의 CPV 및 예측된 CPV가 상당히 서로 다를 수 있다는 것을 강조한다. 사실상, 원래의 값과 예측된 값 사이의 차이
Figure pat00028
Figure pat00029
는 현재 블록(200)의 원래의 신호(232)와 해칭된 샘플(203) 상에 표시된 재구성된 이웃한 블록의 경계 신호 사이의 유사성에 의존한다. 이러한 차이는 대응하는 영역의 델타 CPV로 정의된다. 이것은 델타 CPV
Figure pat00030
Figure pat00031
가 인코더에서 추정되고, 비트 스트림으로 전송되는 경우에 델타 CPV를 예측된 CPV에 추가함으로써 디코더에서 원래의 CPV를 재구성할 수 있다는 것을 의미한다. 원래의 값 대신에 델타를 전송하는 것만이 필요한 비트 레이트를 상당히 감소시킨다.
예측된 일정한 분할 값 CPV는 dmmPredPartitionDC1 및 dmmPredPartitionDC2이라고 하고, 다음과 같이 이웃한 샘플 p[x, y]로부터 도출될 수 있다. 다음에서, dmmWedgeletPattern은 샘플(x,y)을 둘러싸는 현재 블록의 분할을 나타내고, 예시적으로 x, y = 0..nT-1이다. 즉, 상위 에지에 이웃한 샘플 위치는 (x, -1)에 위치되고, x = 0..nT-1, 왼쪽 에지에 이웃한 샘플 위치는 (-1, y)에 위치되고, y = 0..nT-1. 이미 재구성된 이웃한 샘플 값은 p[x, y]로 나타낸다. sumPredDC2, sumPredDC1, numSamplesPredDC2 및 numSamplesPredDC1은 처음에 0으로 설정된다:
x = 0..nT-1에 대해, 위의 이웃한 샘플은 다음과 같이 요약된다:
- dmmWedgeletPattern [x, 0]이 1(예를 들어 분할 P1)과 같을 경우, 다음의 것이 적용된다:
sumPredDC2 + = p [x, -1] 및 numSamplesPredDC2 + = 1
- 그렇지 않으면(예를 들어 분할 P2), 다음의 것이 적용된다:
sumPredDC1 + = p [x, -1] 및 numSamplesPredDC1 + = 1
y = 0..nT-1에 대해, 왼쪽 이웃한 샘플은 다음과 같이 요약된다:
- dmmWedgeletPattern [0, y ]가 1과 같다면 ,다음의 것이 적용된다:
sumPredDC2 + = p [-1, y ] 및 numSamplesPredDC2 + = 1
- 그렇지 않으면, 다음의 것이 적용된다:
sumPredDC1 + = p [-1 , y ] 및 numSamplesPredDC1 + = 1
예측된 일정한 분할 값은 다음과 같이 도출된다.
- numSamplesPredDC1이 0인 경우, 다음의 것이 적용된다:
dmmPredPartitionDC1 = 1 << ( BitDepthY - 1)
- 그렇지 않으면, 다음의 것이 적용된다:
dmmPredPartitionDC1 = sumPredDC1 / numSamplesPredDC1
- numSamplesPredDC2가 0과 같다면, 다음의 것이 적용된다:
dmmPredPartitionDC2 = 1 << ( BitDepthY - 1)
- 그렇지 않으면, 다음의 것이 적용된다:
dmmPredPartitionDC2 = sumPredDC2 / numSamplesPredDC2
3.3.2 델타 CPV의 양자화 및 적응
CPV 예측의 원리에 기초하여, 델타 CPV의 효율적인 처리를 위한 개념은 이러한 섹션에서 소개된다. 비트스트림으로 델타 CPV를 전송하는 것은 블록 분할 코딩을 위한 재구성된 신호의 왜곡을 감소시키기 위한 것이다. 그러나, 원래의 신호와 예측된 신호 사이의 차이가 또한 잔류(residuum)의 변환 코딩에 의해 커버될 때 델타 CPV 값을 시그널링하는 데 필요한 비트 레이트는 이러한 접근 방식의 이점을 제한한다. 따라서, 델타 CPV의 양자화는 다음과 같이 도입될 수 있다: 값은 인코더에서 추정 후에 선형적으로 양자화되고, 디코더에서 재구성 전에 역 양자화된다. 양자화된 델타 CPV를 전송하는 것은 비트 레이트가 감소되는 이점을 갖지만, 역 양자화된 값으로부터 재구성된 신호만은 최상의 가능한 근사치와 약간 다르다. 결과적으로, 이것은 양자화가 없는 경우에 비해 레이트 왜곡 비용을 낮게 한다. 선형 양자화의 스텝 크기에 대하여, 변환 코딩으로부터 잘 알려진 원리를 적용함으로써, 즉, 고정된 값이 아닌 QP의 함수로서 양자화 스텝 크기를 정의함으로써 성능은 더 개선될 수 있다. 효율적이고 강력한 것으로 되는
Figure pat00032
을 가진
Figure pat00033
로서 델타 CPV에 대한 양자화 스텝 크기를 설정한다.
분할된 블록의 두 영역의 비트스트림에서의 델타 CPV의 가능한 시그널링은 다음과 같이 이해될 수 있다:
dmm_dc_1_abs[x0 + i][y0 + i]
dmm_dc_1_sign_flag[x0 + i][y0 + i]
dmm_dc_2_abs[x0 + i][y0 + i]
dmm_dc_2_sign_flag[x0 + i][y0 + i]
어떤 블록에 대한 비트스트림에서의 전송은 몇몇 코딩 모드 구문 요소로부터 명시적으로 전송되거나 도출되는 구문 요소 DmmDeltaFlag에 의존하여 행해질 수 있다.dmm_dc_1_abs, dmm_dc_1_sign_flag, dmm_dc_2_abs, dmm_dc_2_sign_flag는 다음과 같이 DmmQuantOffsetDC1 및 DmmQuantOffsetDC2 값을 도출하는데 사용될 수 있다:
DmmQuantOffsetDC1[ x0 ][ y0 ] = ( 1 - 2 *dmm_dc_1_sign_flag[ x0 ][ y0 ] )*dmm_dc_1_abs[ x0 ][ y0 ]
DmmQuantOffsetDC2[ x0 ][ y0 ] = ( 1 - 2 *dmm_dc_2_sign_flag [ x0 ][ y0 ] )*dmm_dc_2_abs[ x0 ][ y0 ]
역 양자화된 오프셋 dmmOffsetDC1 및 dmmOffsetDC2는 다음과 같이 DmmQuantOffsetDC1 및 DmmQuantOffsetDC2로부터 도출될 수 있다.
Figure pat00034
BitDepthY는 DmmQuantOffsetDC1 및 DmmQuantOffsetDC2가 인코더 및 디코더 내에서 내부적으로 표현되는 비트 깊이일 수 있으며, QP'는 예를 들어 현재 슬라이스의 코딩 예측 잔여의 변환 계수 레벨에 포함되는 상술한 양자화 파라미터 QP일 수 있다.
그 후, 일정한 분할 값 CPV는 역양자화된 오프셋을 예측된 CPV에 추가함으로써 획득될 수 있다:
제 1 분할의 경우: dmmPredPartitionDC1 + dmmOffsetDC1
제 2 분할의 경우: dmmPredPartitionDC2 + dmmOffsetDC2
섹션 3의 시작 부분에서 이미 언급한 바와 같이, 추정 도구에 대한 왜곡은 2개의 서로 다른 방식으로 측정될 수 있다. 델타 CPV에 관하여, 이러한 왜곡 방법은 추정 프로세스에 상당히 영향을 미친다. 왜곡이 블록의 왜곡된 깊이 신호와 원래의 깊이 신호 사이의 차이로서 측정되는 경우에, 추정 프로세스는 상술한 바와 같이 단순히 델타 CPV를 계산하여 양자화함으로써 원래의 CPV의 가까운 근사치를 검색한다. 왜곡이 합성된 뷰에 대해 측정되는 경우에, 추정 프로세스는 델타 CPV를 합성된 뷰의 품질에 양호하게 적응시키기 위해 확장될 수 있다. 이것은 원래의 CPV의 최상의 근사치로 이어지는 이러한 델타 CPV가 반드시 최상의 합성된 뷰 품질로 이어지지 않는다는 사실에 기초한다. 최상의 합성된 뷰 품질로 이어지는 델타 CPV를 찾는 경우, 추정 프로세스는 2개의 분할을 위한 모든 가능한 델타 CPV 조합에 대해 반복하는 최소 왜곡 검색(섹션 1.4.2 참조)에 의해 확장된다. 효율적인 처리 및 시그널링을 위해, 테스트된 값의 범위는 제한될 수 있다. 검색은 합성된 뷰에서 최소 왜곡을 일으키는 델타 CPV를 조합시키고, 전송을 위해 이러한 값은 최종으로 양자화된다.
델타 CPV 방법은 잠재적으로 (나머지) 잔류의 변환/양자화 및 전송을 스킵(skip)할 수 있다는 것을 주목한다. 제각기 원래의 깊이 신호 또는 최적의 깊이 신호의 근접한 근사치로 인해, 렌더링된(rendered) 뷰의 품질에 대해 평가될 경우에 잔류를 생략하는 임팩트(impact)는 제한된다.
4. 모드의 코딩
4.1 모드 시그널링
인코딩 프로세스에서, 레이트-왜곡 최적화를 통해 블록 마다 하나의 모드가 선택되고, 모드 정보는 예를 들어 분할 및 CPV 정보에 앞서와 같이 비트스트림에서 시그널링된다. 섹션 3에 따르면, 다음과 같은 4개의 블록 분할 모드가 (예를 들어, 비불규칙한 분할 모드 외에) 정의될 수 있다:
Figure pat00035
Wedgelet_ModelIntra: 웨지렛 블록 분할의 인트라 모델링 (섹션 3.1.1 참조)
Figure pat00036
Wedgelet_PredIntra: 웨지렛 블록 분할의 인트라 예측 (섹션 3.1.2 참조)
Figure pat00037
Wedgelet_PredTexture: 웨지렛 블록 분할의 텍스처 기반의 예측 (섹션 3.2.1 참조)
Figure pat00038
Contour_PredTexture: 윤곽선 블록 분할의 텍스처 기반의 예측 (섹션 3.2.2 참조)
4개의 모드의 각각은 디코더를 시그널링하기 위한 8개의 서로 다른 mode_ID를 생성하는 델타 CPV 처리 방법을 갖거나 갖지 않고 적용될 수 있으며(섹션 3.3.2 참조), 어떤 타입의 처리는 블록의 예측 및 재구성에 적용되어야 한다.
위에 소개된 블록 분할 모드가 도 1 내지 도 3의 것과 같은 기존의 코딩 프레임워크로의 블록 코딩 모드의 추가적 세트로서 구현되는 경우, 모드 정보에 앞선 추가적인 플래그는 비트 스트림으로 전송될 수 있고, 블록 분할 모드가 사용되는지의 여부를 시그널링할 수 있다. 이러한 플래그가 설정되지 않은 경우에, 보통의 블록 코딩 모드 시그널링이 따른다. 그렇지 않으면, 실제 블록 분할 모드를 할당하고, 델타 CPV가 또한 전송되는지의 여부를 할당하는 mode_ID는 시그널링된다. 비트스트림에서, mode_ID는 3개의 빈을 통해 표현된다.
4.2 모드 사전 선택
모드 사전 선택 뒤의 아이디어는 현재 블록에 대해 선택되지 않을 가능성이 매우 높은 모드를 제외한 개념을 구현함으로써 블록 분할 코딩을 위한 처리 및 시그널링 노력을 줄이는 것이다.
제 1 모드 사전 선택의 개념은 가능성이 작은 블록 크기에 대해 매우 낮은 모드를 사용 가능하지 않게 한다. 이것은 대부분의 경우에 왜곡이 모드 정보를 시그널링하기 위해 필요한 레이트에 비해 높다는 것을 의미한다. 섹션 4.1에 정의된 4개의 모드 중에서, 이것은 Wedgelet_PredIntra 및 Contour_PredTexture에 적용된다. 통계적 분석에 기초하여, 이러한 2개의 모드는 블록 크기 4×4이하에 대해 사용 가능하지 않게 된다.
제 2 모드 사전 선택의 개념은 구성 요소 간 예측, 즉 Wedgelet_PredTexture 및 Contour_PredTexture에 기초하여 2개의 모드에 적용된다. 이러한 개념 뒤의 아이디어는 의미있는 블록 분할 패턴이 텍스처 참조 블록으로부터 도출될 수 있는 가능성이 매우 낮은 경우에 이러한 모드를 적절히 제외시키는 것이다. 이러한 블록은 중요한 에지 및 윤곽선 없이 비교적 평면인 것을 특징으로 한다. 이러한 블록을 식별하기 위해, 텍스처 참조 블록의 변동량(variance)이 분석된다. 두 언급된 모드를 불가능하게 하는 기준은 변동량이 어떤 임계값 이하인 것이다. 이러한 모드 사전 선택 방법은 다음과 같이 구현 된다: 변동량은 루마 샘플 및 참조 블록의 평균 값 사이의 평균 절대 에러(MAE)로서 측정된다(도 13의 216 참조). 고정된 값 대신에, 임계값은 양자화 파라미터(QP)의 함수로서 설정된다. MAE 값의 통계적 분석의 결과에 기초하여, QP가 높을 경우와 그 반대일 경우에 임계값은 이러한 2개의 모드가 더욱 많은 블록을 위해 제외된다는 사실을 가진
Figure pat00039
로서 설정된다.
도 15는 2개의 텍스처 루마 블록(2501 및 2502)에 대한 상세 사항, 및 제각기 2521 및 2522에서의 오른쪽에 있는 절대 차이 대 평균값을 가진 이러한 모드 사전 선택 방법의 시각화를 도시한다. 블록(2501)은 매우 낮은 변동량에 의해 반영되어 구조를 거의 갖지 않은 매우 평면 공간적인 샘플 값의 외관(sample value appearance)을 갖는다. 의미있는 분할 정보가 이러한 블록(2501)으로부터 예측되지 않을 때, 모드 Wedgelet_PredTexture 및 Contour_PredTexture는 고려되지 않는다. 이와는 대조적으로, 블록(2502)은 상당한 에지 및 윤곽선으로부터 생성되는 높은 변동량을 갖는다. 따라서, 블록(2502)으로부터 도출되는 분할 정보가 부합하는 깊이 블록의 분할을 위한 양호한 예측기일 가능성이 있을 때 2개의 모드가 고려된다.
제한: 블록 크기
제한: 텍스처 참조 변동량
오프
오프

오프
오프

Figure pat00040
x
x
x
x
x
x
x
x
x
x


x
x
x
x
x
x
x
x
Figure pat00041
8
3
4
2
4
2
2
1
테이블 1: 사전 선택 결정에 따른 모드.테이블 1은 사용 가능한 모드 상의 두 모드 사전 선택 개념의 효과를 요약한 것이다. 어떤 모드를 제외함으로써, 비트스트림에서 시그널링될 필요가 있는 mode_ID의 수는 감소된다. 테이블은 각 방법이 mode_ID를 시그널링하는 필요한 빈의 수를 1씩 감소시키고, 두 모드의 조합은 빈의 수를 2씩 감소시킬 때에 두 방법이 효율적인 방식으로 조합될 수 있다는 것을 보여준다.
5. 일반화
다수의 가능한 불규칙한 분할 모드, 한편으로 이중 세그먼테이션 결정으로의 개념적 세분(3.1 및 3.2 참조), 다른 한편으로 생성된 두 분할에 대해 코딩하는 코딩 파라미터(3.3 참조) 뿐만 아니라 코딩 프레임워크에서의 가능한 채용 및 이러한 모드가 추가적으로 제공될 수 있는 가능한 코딩 환경을 설명한 후, 각각의 디코더 및 인코더에 대해 생성된 실시예는 부분적으로 더욱 일반적인 관점에서 설명되어야 한다. 특히, 다음의 섹션은 위에 설명된 특정 유리한 상세 사항을 강조하고, 이러한 상세 사항이 위에서 설명된 것보다 더 일반적인 의미에서 디코더 및 인코더 내에 이용될 수 있는 방법을 설명한다. 특히, 아래에 설명되는 바와 같이, 위의 모드에 이용된 유익한 양태의 일부는 개별적으로 이용될 수 있다.
5.1 블록 경계에 걸친 웨지렛 분리 라인 연속
위의 논의로부터 명백해지듯이, 웨지렛 분할의 사용은 한편으로 분할을 시그널링하기 위한 시그널링 오버헤드와 다른 한편으로 불규칙한 분할에 의해 달성 가능한 다양성의 양(amount of variety) 사이에서 가능한 절충을 형성한다. 그럼에도 불구하고, 상당량의 보조 정보 데이터는 분할 정보, 즉 예를 들어 섹션 3.1.1에 대해 위에서 설명된 개념에 따르는 것과 같이 예를 들어 웨지렛 분리 라인의 위치의 인덱싱을 이용함으로써와 같은 웨지렛 분리 라인의 위치를 명시적으로 전송하기 위해 필요하다.
따라서, 블록 경계에 걸친 웨지렛 분리 라인 연속은 방금 설명된 문제를 해결하는 하나의 가능한 방법을 형성한다. 섹션 3.1.2에서의 위의 설명은 이러한 문제의 솔루션을 이용하기 위한 특정 예를 설명하였다. 그러나, 더욱 일반적으로, 블록 경계에 걸친 웨지렛 분리 라인 연속의 아이디어를 이용할 시에, 디코더는, 본 발명의 실시예에 따라, 도 16에 대해 아래에 설명되는 바와 같이 구성될 수 있다. 그럼에도 불구하고, 섹션 3.1.2 및 3 내지 4 중에서 다른 섹션에 설명된 모든 상세 사항은 개별적으로 아래에 제시된 설명과 조합될 수 있는 가능한 실현 상세 사항으로서 이해되어야 한다.
도 16의 디코더는 일반적으로 참조 부호(300)로 표시되고, 데이터 스트림(304)으로부터 샘플 어레이(302)를 재구성하도록 구성된다. 디코더는 블록 기반 디코딩에 의해 재구성을 수행하도록 구성된다. 예를 들면, 샘플 어레이(302)는 샘플 어레이의 시퀀스의 부분일 수 있고, 디코더(300)는 각 블록(304)에 대해 서로 다른 코딩 모드를 지원하는 블록 기반의 하이브리드 디코더로서 구현될 수 있다. 샘플 어레이는 예를 들어 텍스처 또는 깊이 맵과 같은 어떤 공간적 샘플링된 정보일 수 있다. 예를 들면, 도 16의 디코더(300)는 샘플 어레이(302)를 나타내는 텍스처/비디오 및 깊이/변이 맵을 포함하는 하나의 뷰를 재구성하기 위해 구현될 수 있다. 디코더(300)는 디코딩 브랜치(106d,1 플러스 106v,1)의 쌍으로 구현될 수 있거나, 디코딩 브랜치(106d,1)에 따라 개별적으로 구현될 수 있다. 즉, 디코더(300)는 예측 잔여의 잔여 코딩이 있고 없고 인트라 예측, 시간적(움직임 보상) 예측 및/또는 인터뷰(변이 보상) 예측과 같은 코딩 모드를 이용하여 샘플 어레이(302)를 재구성하도록 구성될 수 있다. 코딩 모드는 예를 들어 또한 명시적 웨지렛 코딩 모드를 포함할 수 있으며, 이에 따라 각각의 블록에 대해 웨지렛 분리 라인의 위치가 섹션 3.1.1에서 설명된 모드와 같이 데이터 스트림(304) 내에 명시적으로 전송된다.
어떤 경우에, 이러한 디코더(300)는 미리 정해진 코딩 모드 옵션이 데이터 스트림(304) 내에서 시그널링되는 블록과 같은 현재 블록(210)에 대해 수행하도록 구성되고, 단계는 이제 설명된다. 이러한 단계에 관련된 기능은 인트라 예측 모듈(36) 또는 인트라 예측 모듈 및 교환 모듈(52) 내에 통합될 수 있다.
각각의 모드의 블록에 대해 디코더(300)에 의해 수행되는 단계는 웨지렛 분리 라인 위치 예측 단계(306) 후에 위치 리파인먼트(refinement) 단계(308) 및 디코딩 단계(310)가 따른다. 특히, 도 16의 디코더(16)는 예측 위치(312)에서의 웨지렛 분리 라인이 현재 블록(210)으로의 이웃한 블록(212)의 웨지렛 분리 라인(201')의 확장 또는 연속을 형성하도록 블록(210)의 이웃한 블록(212)의 웨지렛 분리 라인(201')에 따라 샘플 어레이(302)의 블록(210) 내의 웨지렛 분리 라인의 위치(312)를 단계(306)에서 예측하도록 구성된다. 다시 말하면, 디코더(300)는 데이터 스트림(304)으로부터 블록(212)에 대한 각각의 명시적인 시그널링, 또는 샘플 어레이(302)가 속하는 텍스처 샘플 어레이 내의 에지 검출 등과 같은 일부 다른 코딩 옵션에 의해 이웃한 블록(212)의 웨지렛 분리 라인(201')의 위치를 도출할 수 있다. 다른 가능성은 상술되었고, 아래에서 추가로 설명될 것이다.
상술한 바와 같이, 위치(312)가 306에서 예측되는 블록(210)의 웨지렛 분리 라인은 섹션 3.1.2에서 상술한 설명의 경우와 같이 직선일 수 있다. 그러나, 대안적으로, 라인은 예를 들어 샘플 위치 홉(hop)의 시퀀스, 즉 분리 라인에 속하는 라인 내에 다음 픽셀을 정의하는 각각의 심볼의 시퀀스를 이용하여 더욱 일반적으로 정의될 수 있다. 라인은 또한 라인(201')으로부터 예측될 수 있거나 데이터 스트림(304)의 일부 다른 이전에 처리된 부분으로부터 도출될 수 있는 분석적으로 결정된 미리 정해진 곡률을 가질 수 있다.
특히, 예측(306)은 나중에 블록(210)의 웨지렛 분리 라인이 일반적인 확장 방향에 대하여 미리 결정될 뿐만 아니라 웨지렛 분리 라인의 일반적인 확장 방향에 측면인 위치에 대해 결정된다. 곡선의 경우에, 예를 들어 다항식 함수를 이용하는 곡선 피팅(curve fitting)은 블록(212)의 분리 라인을 추론하여, 제각기 블록(210)의 분리 라인을 찾는데 이용될 수 있다. 직선의 경우, 웨지렛 분리 라인에 측면인 방향에서의 기울기 및 위치가 결정된다.
예측(306)에 대해, 이웃한 부분 및 확장 부분은 반드시 공간적 측면에서 정의될 필요가 없다는 것이 또한 언급되어야 한다. 오히려, 블록(210 및 212)은 또한 시간적으로 인접할 수 있다. 예를 들면, 블록(212)은 시간적으로 샘플 어레이(302)에 이웃한 샘플 어레이 시퀀스의 샘플 어레이의 동일 위치의 블록일 수 있다. 그 경우에, 블록(210)으로의 웨지렛 분리 라인(201)의 확장은 "시간적 연속"이어야 한다.
예측(306)이 수행될 수 있다는 명시적 가능성은 섹션 3.1.2에서 상술되었고, 이의 설명은 본 명세서에서 언급된다. 위치 리파인먼트(308)는 예측된 위치(312)를 정제하기 위한 것이다. 즉, 디코더(300)는, 위치 리파인먼트(308)에서, 데이터 스트림(304) 내에서 시그널링된 리파인먼트 정보를 이용하여 블록(210)의 웨지렛 분리 라인(301)의 예측된 위치(312)를 정제하도록 구성된다. 이에 의해, 정제된 웨지렛 분리 라인(201)은 블록(210)을 제 1 및 제 2 웨지렛 분할(202a 및 202b)로 나눈다.
상술한 바와 같이, 디코더(300)는 예측된 위치(312)에서의 웨지렛 분리 라인(201)이 이웃한 블록(212)의 웨지렛 분리 라인(201')의 공간적 동일 직선상의 확장을 형성하도록 구성될 수 있으며, 리파인먼트는 이웃한 블록(212)에 인접하는 미리 정해진 블록(210)의 웨지렛 분리 라인의 시작 위치(314)가 리파인먼트 정보와 무관하게 예측된 위치(312)에 대해 유지되도록 제한될 수 있다. 즉, 직선 웨지렛 분리 라인의 경우에, 이의 기울기만이 정제될 수 있지만, 블록(210 및 212)을 분리하는 블록(210)의 에지(316)에서의 웨지렛 분리 라인(201)의 시작점은 변화되지 않는다. 예를 들면, 웨지렛 분리 라인(201)의 대향 단부(318)의 오프셋, 즉 웨지렛 분리 라인(201)의 종료 위치의 오프셋은 예측된 웨지렛 분리 라인의 위치(312)에 따라 종료 위치(320)로부터의 블록(210)의 주변을 따라 웨지렛 분리 라인(201)의 대향 단부(318)의 오프셋, 즉 웨지렛 분리 라인(201)의 종료 위치의 오프셋은 섹션 3.1.2에 대해 상술한 바와 같이 데이터 스트림(304) 내에서 시그널링될 수 있다.
섹션 3.1.2에서, 오프셋은 Eoff로 나타내었다. 이러한 섹션에서 설명된 바와 같이, 디코더(300)는 엔트로피 디코딩을 이용하여 데이터 스트림으로부터 리파인먼트 정보를 추출하도록 구성될 수 있으며, 여기서 주변 방향을 따라 샘플 위치 피치의 단위로 측정되는 블록(210)의 주변을 따른 직접 확장 샘플 위치(320)와의 서로 다른 가능한 오프셋이 이와 관련되고 큰 오프셋에서 작은 오프셋으로 단조롭게 증가하는 확률 추정치를 가져, 작은 오프셋이 이와 관련되고 큰 오프셋보다 높은 확률을 갖도록 한다. 예를 들면, VLC 코드워드 길이는 단조롭게 감소할 수 있다.
또한, 상술한 바와 같이, 3개의 구문 요소, 어떤 오프셋 Eoff이 존재하는지, 즉 이러한 오프셋이 0인지에 대한 제 1 시그널링, 오프셋이 0이 아닐 경우에 오프셋의 부호, 즉 시계 방향 또는 시계 반대 방향 편차의 부호를 의미하는 제 2 시그널링, 및 절대 오프셋 값 마이너스 1을 나타내는 제 3 시그널링: dmm_delta_end_flag, dmm_delta_end_sign_flag, dmm_delta_end_abs_minus1은 Eoff를 전송하는데 이용될 수 있다. 의사 코드에서, 이러한 구문 요소는 다음의 것으로 포함될 수 있다.
dmm_delta_end_flag
if( dmm_delta_end_flag ) {
dmm_delta_end_abs_minus1
dmm_delta_end_sign_flag}
dmm_delta_end_abs_minus1 및 dmm_delta_end_sign_flag는 다음과 같이 DmmDeltaEnd, 즉, Eoff를 도출하는데 이용될 수 있다:DmmDeltaEnd[ x0 ][ y0 ] = ( 1 - 2 * dmm_delta_end_sign_flag[ x0 ][ y0 ] ) * ( dmm_delta_end_abs_minus1[ x0 ][ y0 ] + 1)
그 후, 디코더(300)는, 디코딩(310)에서, 제 1 및 제 2 웨지렛 분할(202a 및 202b)의 단위로 미리 정해진 블록(210)을 디코딩하도록 구성된다. 섹션 3 및 4에서, 특히 섹션 4에서 위에 앞당겨진 설명에서, 디코딩(310)은 제 1 일정한 분할 값
Figure pat00042
을 제 1 웨지렛 분할(202a) 내의 샘플 어레이 위치의 샘플에 할당하고, 제 2 일정한 분할 값
Figure pat00043
을 제 2 웨지렛 분할(202b) 내의 샘플 어레이 위치의 샘플에 할당함으로써 현재 블록(210)의 예측을 포함한다. 디코딩 절차(310)의 구현의 이점은 보조 정보의 량이 낮게 유지될 수 있다는 것이다. 특히, 이러한 가능한 구현은 특히 깊이 맵의 경우와 같이 급격한 에지를 가진 비교적 평평한 값 플래토(value plateau)로 구성되는 상술한 특성을 갖는 샘플 어레이에 의해 반송되는 정보의 종류의 경우에 특히 유리하다. 그러나, 심지어 디코더는 개별적으로 다른 코딩 파라미터를 웨지렛 분할(202a 및 202b)에 할당하는 것이 가능하다. 예를 들면, 움직임 및/또는 변이 보상된 예측은 디코딩(310)에서 분할(202a 및 202b)에 개별적으로 적용되어, 개별 벡터와 같이 분할(202a 및 202b)에 대해 개별적으로 각각의 움직임 및/또는 변이 파라미터를 획득할 수 있다. 대안적으로, 분할(202a 및 202b)은 예컨대 각각의 인트라 코딩 방향을 개별적으로 동일한 방향에 적용함으로써 디코딩(306)에서 개별적으로 인트라 코딩될 수 있다.
도 16에 따르면, 다음의 정보: 1) 단계(306-310)를 트리거하는 각각의 미리 정해진 상태를 가진 코딩 옵션 식별자, 2) 종료 위치 오프셋과 같은 리파인먼트 정보, 3) 선택적으로, 이웃한 샘플/블록으로부터 공간적 또는 시간적으로 예측되도록 허용될 수 있기 때문에 선택적으로 하나 또는 두 분할(202a, 202b)에 대해 CPV 또는 CPV 잔여와 같은 코딩 파라미터, 4) 선택적으로, DeltaCPV와 같은 코딩 파라미터 잔여는 블록(210)에 대해 데이터 스트림에 제공될 수 있다.
더욱이, 도 16의 디코더(300)는 절차(306-310)에 의해 실현되는 코딩 모드가 단지 데이터 스트림(304) 내의 각각의 코딩 옵션 식별자의 각각의 공통의 미리 정해진 값에 의해 트리거되는 두 코딩 모드 옵션 중의 디폴트 코딩 모드 옵션이도록 구성될 수 있다. 예를 들면, 도 16의 디코더(300)는 데이터 스트림(304)으로부터 코딩 옵션 식별자를 검색하고, 코딩 옵션 식별자가 미리 정해진 값을 가질 경우, 미리 정해진 블록에 이웃한 어떤 후보 블록의 세트가 블록(210)으로 확장하는 웨지렛 분리 라인을 갖는지를 검사하도록 구성될 수 있다. 예를 들면, 후보 블록은 코딩 순서 또는 디코딩 순서로 샘플 어레이(302)의 디코딩 블록(304)에서 디코더(300)에 의해 적용되는 현재 블록(210)에 앞서는 샘플 어레이(302)의 공간적으로 이웃한 블록(304)을 포함할 수 있다. 예를 들면, 코딩 순서는 블록(304)을 행 방향로 왼쪽에서 오른쪽으로, 상부에서 하부로 스캐닝할 수 있으며, 그 경우에 후보 블록은 현재 블록(210)의 왼쪽에 바로 이웃한 블록을 포함시키고, 블록(212)과 같은 현재 블록(210)의 상부에 바로 이웃한 블록을 포함시킬 수 있다. 검사가 후보 블록의 세트 중에 이러한 웨지렛 블록이 있다는 것을 밝히면, 디코더(300)는 수정되지 않은 방식으로 예측(306), 리파인먼트(308) 및 디코딩(310)을 수행할 수 있다. 그러나, 그렇지 않은 경우, 디코더(300)는 예측(306)을 상이하게 수행할 수 있다. 섹션 3.1.2에서 상술되고, 다음 섹션에 대해 더욱 상세히 설명되는 바와 같이, 디코더(300)는 현재 블록(210)에 이웃한 재구성된 이웃한 샘플 또는 후보 블록의 하나 이상의 인트라 예측된 블록의 인트라 예측 방향에 따라 현재 블록(210) 내의 웨지렛 분리 라인(201)의 확장 방향을 설정함으로써 현재 블록(210) 내에서 웨지렛 분리 라인(201)의 위치를 예측하도록 구성될 수 있다. 디코딩(310)에서 일정한 분할 값의 예측을 위한 가능한 구현이 관계되는 한, 위 아래 설명에 대한 참조가 행해진다.
더욱이, 블록 경계에 걸친 웨지렛 분리 라인 연속이 상술하고 아래에 더 설명되는 바와 같이 윤곽선 모드와 같이 현재 블록의 이중 세그먼테이션에 더욱 더 자유로울 수 있는 코딩 모드와 조합될 경우에 특정 이점이 생성한다는 것이 주목되어야 한다. 좀 더 정학히 하기 위해, 디코더(300)는 블록(306 내지 310)에 의해 실현되는 모드 뿐만 아니라 윤곽선 분할 모드를 지원하여, 블록의 요구에 코딩 오버헤드를 적절하게 적응하는 것을 가능하게 하도록 구성될 수 있다.
어떤 경우에, 절차(306 내지 310)에 의해 디코딩/재구성되는 블록은 디코더(300)의 예측 루프의 참조 역할을 할 수 있다. 즉, 이중 값(bi-valued) 예측을 이용하는 경우의 예측 결과는 예를 들어 움직임 및/또는 변이 보상 예측을 위한 참조 역할을 할 수 있다. 더욱이, 디코딩(310)에 의해 획득되는 재구성된 값은 디코딩 순서에 따르는 샘플 어레이(302)의 블록(304) 중 어느 하나를 인트라 예측할 시의 공간적 이웃한 샘플 역할을 할 수 있다.
도 17은 도 16의 디코더에 맞는 가능한 인코더를 도시한다. 특히, 도 17은 예측된 위치에서의 웨지렛 분리 라인이 미리 정해진 블록으로의 이웃한 블록의 웨지렛 분리 라인의 확장을 형성하도록 미리 정해진 블록의 이웃한 블록의 웨지렛 분리 라인에 따라 샘플 어레이의 미리 정해진 블록 내에서 웨지렛 분리 라인의 위치를 예측하도록 구성된 데이터 스트림으로 샘플 어레이를 인코딩하기 위한 인코더(330)를 도시한다. 이러한 기능은 332에 도시되어 있다. 더욱이, 디코더(330)는 리파인먼트 정보를 이용하여 웨지렛 분리 라인의 예측 위치를 정제하는 기능(334)을 가지며, 미리 정해진 블록의 웨지렛 분리 라인은 미리 정해진 블록을 제 1 및 제 2 웨지렛 분할로 나눈다. 인코더(330)는 또한 리파인먼트 정보가 데이터 스트림 내에 삽입되는 삽입 기능(336), 및 인코더(330)가 제 1 및 제 2 웨지렛 분할의 단위로 미리 정해진 블록을 인코딩하는 인코딩 기능을 갖는다.
5.2 이웃한 블록의 인트라 예측 방향으로부터의 웨지렛 분리 라인 확장 방향 예측
상술한 바와 같이, 웨지렛 기반의 블록 분할조차도 웨지렛 분리 라인의 위치에 대해 디코딩 측에 알리기 위해 상당량의 보조 정보를 필요로 한다.
아래에 설명되는 실시예가 기초한다는 아이디어는 이웃한 인트라 예측 블록의 인트라 예측 방향이 현재 블록의 웨지렛 분리 라인의 확장 방향을 예측하여, 분할 정보를 전달하기 위해 필요한 보조 정보 레이트를 줄이기 위해 이용될 수 있다는 것이다.
위의 설명에서, 섹션 3.1.2는 섹션 3 및 4에서 상술한 불규칙한 분할 모드의 글로머레이션(glomeration)에 제한되지 않도록 하기 위해 더욱 일반적인 용어로 설명되는 아래에 설명된 실시예의 가능한 구현을 보여주었다. 오히려, 방금 언급된 아이디어는 이점으로 아래에 더욱 상세히 설명되는 바와 같이 섹션 3.1.2에서 설명된 다른 상세 사항으로부터 독립적으로 이용될 수 있다. 그럼에도 불구하고, 섹션 3.1.2 및 다른 섹션에서 설명된 모든 상세 사항은 개별적으로 아래에 제시되는 설명과 조합될 수 있는 가능한 실현의 상세 사항으로 이해되어야 한다.
따라서, 도 18은 방금 설명한 아이디어를 이용하고, 가능한 추가적인 기능이 관계되는 한 섹션 3.1.2 및/또는 도 1 내지 도 3에 대하여 상술한 바와 같이 구현될 수 있는 디코더(400)에 대한 실시예를 도시한다. 즉, 도 18의 디코더(400)는 데이터 스트림(304)으로부터 샘플 어레이(302)를 재구성하도록 구성된다. 일반적으로, 기능(306 내지 310)에 의해 정의되고, 도 18의 디코더에 대해 선택적인 코딩 모드를 제외하고, 도 18의 디코더(400)는 도 16의 디코더(300)에 대하여 섹션 5에서 위에 명시된 바와 같이 구현될 수 있다. 즉, 도 18의 디코더(400)는 블록 기반의 하이브리드 디코딩과 같은 블록 기반의 디코딩에 의해 도 18의 샘플 어레이(302)를 재구성하도록 동작할 수 있다. 샘플 어레이(302)의 블록(303)에 이용 가능한 코딩 모드 중에는, 디코더(400)의 기능 모듈(402)에 대하여 더 설명된 인트라 예측 모드가 있다. 도 18의 디코더(300)의 경우와 마찬가지로, 블록(303)으로의 샘플 어레이(302)의 세분은 기본적으로 고정될 수 있거나, 각각의 세분 정보에 의해 데이터 스트림(304) 내에서 시그널링될 수 있다. 특히, 도 18의 디코더(400)는 도 1 내지 도 3에 대해 상술한 바와 같이, 즉 도 3의 디코더 또는 코딩 브랜치(106v/d,1)의 쌍과 같은 어떤 뷰 디코더 처럼 구성될 수 있거나, 단순히 (106d,1)과 같은 깊이 디코더로서 구성될 수 있다.
특히, 도 18의 디코더(400)는 기능(402)을 가지며, 이러한 기능에 따라 샘플 어레이(302)의 제 1 블록(212)은 인트라 예측을 이용하여 예측된다. 예를 들면, 인트라 예측 모드는 블록(212)에 대한 데이터 스트림(304) 내에서 시그널링된다. 디코더(400)는 인트라 예측 방향(214)을 따라 제 1 블록(212)에 이웃한 샘플 어레이(302)의 샘플(404)의 재구성된 값을 제 1 블록(212)에 복사하여 제 1 블록(212)을 필링(filling)함으로써 인트라 예측(402)을 수행하도록 구성될 수 있다. 인트라 예측 방향(214)은 또한 예컨대 다수의 가능한 방향 중 하나를 인덱싱함으로써 블록(212)에 대한 데이터 스트림(304) 내에서 시그널링될 수 있다. 대안적으로, 블록(212) 자체의 인트라 예측 방향(214)은 예측될 수 있다. 예를 들면, 디코딩 브랜치(106d,1)의 인트라 예측기(36)가 단계(402)를 수행하도록 구성될 수 있는 도 1 내지 도 3에 대한 설명을 참조한다. 구체적으로, 이웃한 샘플(404)은 블록(212)에 이웃한 샘플(404)의 재구성된 값을 포함하는 재구성이 이미 이용 가능하도록 디코더(400)에 의해 디코딩 순서로 이미 전달된 샘플 어레이(302)의 블록(303)에 속할 수 있다. 상술한 바와 같이, 다양한 코딩 모드는 디코더(400)에 의해 이전의 블록을 재구성하기 위해 이용되었을 수 있으며, 이는 디코딩 순서에서 앞선다.
더욱이, 도 18의 디코더(400)는 이웃한 블록(212)의 인트라 예측 방향(214)에 따라 제 2 블록(210) 내에 웨지렛 분리 라인(201)의 확장 방향을 설정함으로써 제 1 블록(212)에 이웃하는 제 2 블록(210) 내에서 웨지렛 분리 라인(201)의 위치(312)를 예측하도록 구성되며, 웨지렛 분리 라인(201)은 제 2 블록(212)을 제 1 및 제 2 웨지렛 분할(202a 및 202b)로 나눈다. 예를 들면, 도 18의 디코더(400)는 웨지렛 분리 라인(201)의 확장 방향의 표현의 양자화에 대하여 가능한 한 인트라 예측 방향(214)과 동일하게 웨지렛 분리 라인(201)의 확장 방향을 설정하도록 구성될 수 있다. 직선 분리 라인의 경우에, 확장 방향은 단순히 라인의 기울기에 대응한다. 곡선 분리 라인의 경우에는, 인트라 예측 방향은 예를 들어 이웃한 블록에 대한 경계에서 현재 블록의 분리 라인의 로컬 기울기로서 채용될 수 있다. 예를 들면, 도 18의 디코더(400)는 인트라 예측 방향(214)의 최상의 근사치를 형성하는 가능한 확장 방향의 세트 중에서 확장 방향을 선택한다.
따라서, 예측(404)에서, 디코더(400)는 적어도 확장 방향이 관계되는 한 현재 블록(210)의 웨지렛 분리 라인(201)의 위치(312)를 예측한다. 제 2 블록(210)의 웨지렛 분리 라인(201)의 위치의 도출은 확장 방향(408)을 수정하지 않은 채로 마무리될 수 있다. 예를 들면, 웨지렛 분리 라인(201)의 시작점(314)의 예측은 단계(406)에서 웨지렛 분리 라인 위치를 도출할 시에 디코더(400)에 의해 수행될 수 있다는 것이 섹션 3.1.2에서 설명되었지만, 디코더(400)는 대안적으로 데이터 스트림(304) 내에서 명시적인 시그널링에 의해 이러한 시작점(314)을 도출하도록 구성될 수 있다. 더욱이, 이전에 디코딩된 샘플 어레이에서의 동일 위치의 웨지렛 블록으로부터 횡 방향 위치의 거리를 시간적으로 예측하거나, 샘플 어레이(302)에 비해 서로 다른 뷰에 속하는 다른 샘플 어레이로부터 횡 방향의 위치를 공간적으로 예측함으로써 도 18의 디코더(400)는 확장 방향(316)과 병렬로 확장 방향(316)의 유지 하에 확장 방향(316)에 횡방향으로 도출(406) 시에 웨지렛 분리 라인(201)을 공간적으로 배치하도록 구성될 수 있다.
그러나, 샘플 어레이(302)의 제 2 블록(210) 내에서 웨지렛 분리 라인(201)의 위치를 도출할 시에, 디코더(400)는 제 2 블록(210)의 주변의 부분을 따라 제 2 블록(210)에 인접한 확장 샘플의 라인의 샘플의 재구성된 값의 시퀀스의 연속적인 것 사이의 최대 변화의 위치에 웨지렛 분리 라인(201)의 시작점(314)을 배치하는 것이 바람직하다. 샘플의 라인은 샘플이 작은 십자형으로 상징되는 도 18에서 참조 부호(410)로 나타낸다. 샘플의 라인(410)은 이용 가능한 공간적으로 이웃한 블록의 샘플로 제한될 수 있다. 어떤 경우에, 도 18에 도시된 바와 같이 최대 변화가 결정되는 샘플의 라인(410)은 직사각형 블록(210)의 모서리 중 하나의 주위로 확장할 수 있다는 것이 강조되어야 한다. 따라서, 이러한 절차에 따르면, 디코더(400)는 이웃한 샘플과, 확장 방향(408)과 병렬로 재구성된 값의 최대 차이가 존재하는 샘플 라인(410) 사이에서 시작하기 위해 도출(406)에서 웨지렛 분리 라인을 배치하도록 구성될 수 있다.
따라서, 양호한 예측이 데이터 스트림(304) 내에서 명시적인 신호화와 다른 수단에 의해 웨지렛 분리 라인(201)의 위치를 도출하는 것으로 발견되었으므로 보조 정보 레이트는 저장된다.
그 후, 디코더(400)에 의해 디코딩(412)이 이루어지며, 이에 따라 디코더(400)는 도 16에 대해 설명된 것처럼 제 1 및 제 2 웨지렛 분할(202a 및 202b)의 단위로 제 2 블록을 디코딩한다.
당연히, 도 18의 디코더(400)는 또한 도 16의 리파인먼트 기능(308)을 포함하도록 수정될 수 있다. 따라서, 상술한 바와 같이 직선이도록 제한될 수 있거나 제한될 수 없는 웨지렛 분리 라인의 위치의 종료 위치(320)에 대한 현재 블록(210)의 웨지렛 분리 라인(201)의 종료 위치(318)의 오프셋은 단계(406)에서 도출되는 바와 같이 데이터 스트림(304) 내에서 시그널링될 수 있다.
또한 상술한 바와 같이, 3개의 구문 요소, 즉 어떤 오프셋 Eoff이 존재하는지에 대한, 즉 이러한 오프셋이 0인지에 대한 제 1 시그널링 요소, 오프셋이 0이 아닌 경우에 오프셋의 부호, 즉 시계 방향 또는 시계 반대 방향 편차의 부호를 의미하는 제 2 요소, 및 절대 오프셋 값 마이너스 1을 나타내는 제 3 요소: dmm_delta_end_flag, dmm_delta_end_sign_flag, dmm_delta_end_abs_minus1는 이러한 종료 위치 오프셋 Eoff을 전송하는데 이용될 수 있다. 의사 코드에서, 이러한 구문 요소는 다음과 같은 것으로 포함될 수 있다.
dmm_delta_end_flag
( dmm_delta_end_flag ) {이면
dmm_delta_end_abs_minus1
dmm_delta_end_sign_flag}
dmm_delta_end_abs_minus1 및 dmm_delta_end_sign_flag는 다음과 같이 DmmDeltaEnd, 즉 Eoff를 도출하는데 이용될 수 있다:DmmDeltaEnd [ x0 ][ y0 ] = ( 1 - 2 * dmm_delta_end_sign_flag[ x0 ][ y0 ] ) * ( dmm_delta_end_abs_minus1 [ x0 ][ y0 ] + 1)
그러나, 대안적인 절차는 또한 실행 가능하다. 예를 들면, 종료 위치 오프셋을 시그널링하는 대신에, 인트라 예측 방향(214)에 따라 확장 방향 세트에 대한 방향 또는 각도 오프셋은 블록(202)에 대한 데이터 스트림(304) 내에서 시그널링될 수 있다.
도 18에 따르면, 다음의 정보: 1) 단계(406-412)를 트리거하는 각각의 미리 정해진 상태를 가진 코딩 옵션 식별자, 2) 선택적으로, 종료 위치 오프셋과 같은 리파인먼트 정보, 3) 선택적으로, 이웃한 샘플/블록으로부터 공간적 또는 시간적으로 예측되도록 허용될 수 있기 때문에 선택적으로 하나 또는 두 분할(202a, 202b)에 대해 CPV 또는 CPV 잔여와 같은 코딩 파라미터, 4) 선택적으로, DeltaCPV와 같은 코딩 파라미터 잔여는 블록(210)에 대한 데이터 스트림에 제공될 수 있다.
섹션 3.3의 설명에 대한 디코딩 단계(412)의 가능한 수정에 대해서, 도 16의 단계(310)에 대한 위의 설명으로 참조가 행해진다.
도 18의 디코더(400)는 데이터 스트림(304) 내에서 코딩 옵션 식별자에 의해 활성화되는 코딩 모드 옵션으로서 단계(406 및 412)를 처리하도록 구성될 수 있으며, 웨지렛 분리 라인 위치 도출(406)은 현재 블록(210)의 이웃의 후보 블록의 세트 중 어떤 것도 이런 블록 내에 웨지렛 분리 라인을 갖지 않는 경우에 웨지렛 분리 라인 위치를 도출하기 위해 부차적인 측정을 형성하며, 웨지렛 분리 라인의 확장은 현재 블록(210)으로 계속한다.
도 19는 도 18의 디코더에 맞는 인코더에 대한 실시예를 도시한다. 도 19의 인코더는 일반적으로 참조 부호(430)로 나타내고, 샘플 어레이를 데이터 스트림(304)에 인코딩하도록 구성된다. 내부적으로, 인코더(430)는 블록(432)의 인트라 예측, 및 블록(434)에서 도 18의 블록(406)의 설명에 따른 라인 도출을 이용하여 샘플 어레이의 제 1 블록을 예측하도록 구성된다. 그 후, 인코더(430)는 인코딩 블록(436)에서 제 1 및 제 2 분할의 단위로 434에서 라인 도출의 대상인 제 2 블록을 인코딩한다.
당연히, 도 19에 도시된 기능 이상으로, 인코더(430)는 도 18의 디코더의 기능을 반영하기 위해 동작하도록 구성된다. 즉, 인코더(430)는 예를 들어 블록 기반의 하이브리드 인코딩을 이용하여 블록 기반으로 동작할 수 있다. 명시적으로 상술되지 않았지만, 도 16의 디코더에 비해 도 17의 인코더에 대해서도 적용한다.
5.3 이웃한 샘플의 재구성된 값에 따라 시작점을 배치한 웨지렛 분리선 도출
웨지렛 블록의 웨지렛 분리 라인의 위치에 대한 정보를 전달하기 위해 필요한 보조 정보를 줄이기 위한 추가적인 방법은 아래에서 더 설명되는 실시예에 기초하여 형성한다. 특히, 아이디어는 이전에 재구성된 샘플, 즉 코딩/디코딩 순서에 따라 현재 블록에 앞서는 블록의 재구성된 값이 즉, 현재 블록의 주변을 따라 현재 블록에 인접한 확장 샘플의 라인의 샘플의 재구성된 값의 시퀀스의 연속적인 것 사이의 최대 변화의 위치에 웨지렛 분리 라인의 시작점을 배치함으로써 웨지렛 분리 라인의 시작점의 정확한 배치의 적어도 예측을 허용한다는 것이다. 따라서, 섹션 5.1 및 5.2에 대해 위에서 설명된 가능성과 유사하게도, 디코더가 웨지렛 분리 라인을 정확하게 위치시키도록 허용하기 위해 필요한 보조 정보 레이트는 감소될 수 있다. 아래에 설명되는 실시예를 기본으로 하는 아이디어는 섹션 3.1.2에서 위의 설명에도 이용되었으며, 이에 따라 아래에 설명되는 실시예의 가능한 구현이 설명된다.
따라서, 도 20은 방금 설명한 아이디어를 이용하고, 가능한 추가적인 기능이 관계되는 한 섹션 3.1.2 및/또는 도 1 내지 도 3에 대하여 상술한 바와 같이 구현될 수 있는 디코더(500)에 대한 실시예를 도시한다. 즉, 도 20의 디코더(500)는 데이터 스트림(304)으로부터 샘플 어레이(302)를 재구성하도록 구성된다. 일반적으로, 도 20의 디코더(500)는, 예를 들어 기능(306 내지 310)에 의해 정의되고, 도 18의 디코더에 대해 선택적인 코딩 모드를 제외하고는 도 16의 디코더(300)에 대하여 섹션 5.1 또는 5,2에서 위에 명시된 바와 같이 구현될 수 있고, 예를 들어 기능(402, 406 및 412)에 의해 정의되고, 도 20의 디코더에 대해 선택적인 코딩 모드를 제외하고는 도 18의 디코더(400)에 대하여 섹션 5.1 또는 5,2에서 위에 명시된 바와 같이 구현될 수 있다. 즉, 도 20의 디코더(500)는 블록 기반의 하이브리드 디코딩과 같은 블록 기반의 디코딩에 의해 도 20의 샘플 어레이(302)를 재구성하도록 동작할 수 있다. 도 18의 디코더(300)의 경우와 마찬가지로, 블록(303)으로의 샘플 어레이(302)의 세분은 기본적으로 고정될 수 있거나, 각각의 세분 정보에 의해 데이터 스트림(304) 내에서 시그널링될 수 있다. 특히, 도 20의 디코더(500)는 도 1 내지 도 3에 대해 상술한 바와 같이, 즉 도 3의 디코더 또는 코딩 브랜치(106v/d,1)의 쌍과 같은 어떤 뷰 디코더처럼 구성될 수 있거나, 단순히 (106d,1)과 같은 깊이 디코더로서 구성될 수 있다.
솔직히 말해서, 참조 부호(500)에 표시된 도 20의 디코더는 주로 도 18의 디코더에 대응한다. 그러나, 블록(402 및 406)에서 도 18에 대해 설명된 기능은 단지 도 20에 대해 선택적인 단계를 나타낸다. 오히려, 도 20의 디코더(500)는 미리 정해진 블록(210)의 주변의 부분을 따라 미리 정해진 블록(210)에 인접한 확장 샘플의 라인(410)의 샘플의 재구성된 값의 시퀀스의 연속적인 것 사이의 최대 변화의 위치에 웨지렛 분리 라인(201)의 시작점(314)을 배치함으로써 단계(406')에서 샘플 어레이(302)의 미리 정해진 블록(210) 내에서 웨지렛 분리 라인(201)의 위치를 도출시키도록 구성되며, 웨지렛 분리 라인(201)은 미리 정해진 블록(210)을 제 1 및 제 2 웨지렛 분할(202a 및 202b)로 나눈다. 그 후, 단계(412')에서, 디코더(500)는 도 18에 대해 위에 설명된 식으로 생성된 분할(202a 및 202b)의 디코딩을 수행한다.
좀 더 정확하게 말하면, 도출(406')에서, 디코더(500)는 샘플을 시계 반대 방향 또는 시계 방향으로 순회할 때 발생 순서에 따라 블록(210)의 이미 디코딩된 이웃한 블록의 샘플의 재구성된 값을 주문한다. 재구성된 값의 생성된 시퀀스는 502에서 도 20에 도시되어 있다. 알 수 있는 바와 같이, 연속적인 재구성된 값 사이의 최대 차이는 제 n 및 제 (n + 1) 이웃한 샘플 사이에서 생성하며, 따라서 도 20의 디코더는 결과적으로 이웃한 샘플의 쌍에 직접 인접하는 블록(210)의 샘플 사이에 이웃한 샘플의 쌍이 인접하는 에지(316)에서의 웨지렛 분리 라인을 배치한다. 위에 설명된 바와 같이, 디코더(500)는 행 방향 블록 스캐닝 방향을 이용할 수 있으며, 따라서 샘플 라인(410)의 이웃한 샘플은 블록(210)의 왼쪽 에지 및 상부 에지를 따라 확장할 수 있다. 이는 디코딩/코딩 순서에 따라 행 방향으로 스캐닝되는 트리 루트(tree root) 블록의 행 방향 스캔의 혼합을 이용함으로써 달성될 수 있으며, 현재 방문된 각 트리 루트 블록에 대해, 쿼드 트리(quad-tree) 세분이 수행되고, 이의 리프 루트(leaf root) 블록은 깊이 우선 순회 순서(depth-first traversal order)로 스캐닝된다. 이러한 순서를 이용하는 경우, 이미 재구성된 이웃한 샘플의 최대 수를 갖는 가능성은 폭 우선 순회 순서를 사용하는 것에 비해 증가된다.
도출(406')에서, 도 20의 디코더(500)는 도 18에 대해 섹션 3.1.2에서 선택적인 방식으로 설명된 바와 같이 웨지렛 분리 라인 확장 방향(408)의 도출을 이용할 수 있다. 대안적으로, 디코더(500)가 현재 블록(210)의 웨지렛 분리 라인(201)을 위치시키는 웨지렛 분리 라인 확장 방향은 예를 들어 샘플 어레이(302)를 포함하는 샘플 어레이 시퀀스의 이전에 디코딩된 샘플 어레이의 동일 위치 웨지렛 블록으로부터 시간적으로 서로 다르게 예측될 수 있다. 대안적으로, 웨지렛 분리 라인의 종료점(318)의 명시적 시그널링이 이용될 수 있다. 명시적 시그널링은 블록(210)의 중간점에 걸친 시작 위치(314)에 대한 대향 위치에 있는 샘플 위치로부터의 종료점(318)의 오프셋을 나타낸다. 다른 솔루션이 물론 또한 실현 가능하다.
이것과 관련하여, 시작점(314)은 제 n 샘플 위치, 제 (n + 1) 샘플 위치 또는 그 사이의 서브픽셀 위치에 대응하도록 단계(406')에서 디코더(500)에 의해 정의될 수 있다는 것이 주목되어야 한다.
섹션 5.1 및 5.2에서 위에 언급된 조합 가능성의 대부분은 또한 본 섹션의 실시예에 이전할 수 있다. 예를 들면, 블록(406' 및 412')에 의해 실현되는 디코더(500)의 코딩 모드는 후보 이웃한 블록의 세트 중 하나가 현재 블록(210)으로 계속하는 웨지렛 분리 라인을 가질 때마다 대신에 수행되는 기본 코딩 모드를 나타내는 섹션 5.1의 웨지렛 분리 라인 연속 개념을 가진 공통의 코딩 옵션 식별자의 공통의 미리 정해진 값과 트리거되는 부수적인 폴백(subsidiary fallback) 기능을 나타낼 수 있다. 다른 일반화 및 수정이 또한 실현 가능하다. 예를 들면, 디코더(500)는 또한 윤곽선 분할 모드 등을 지원할 수 있다.
도 20에 따르면, 다음의 정보: 1) 단계(406'-412')를 트리거하는 각각의 미리 정해진 상태를 가진 코딩 옵션 식별자, 2) 선택적으로, 종료 위치 오프셋과 같은 리파인먼트 정보, 3) 선택적으로, 이웃한 샘플/블록으로부터 공간적 또는 시간적으로 예측되도록 허용될 수 있기 때문에 선택적으로 하나 또는 두 분할(202a, 202b)에 대해 CPV 또는 CPV 잔여와 같은 코딩 파라미터, 4) 선택적으로, DeltaCPV와 같은 코딩 파라미터 잔여는 블록(210)에 대한 데이터 스트림에 제공될 수 있다.
도 21은 도 20의 디코더에 맞는 인코더를 나타낸다. 이는 참조 부호(530)로 나타내고, 단계(406)에 따라 라인 도출(434')을 수행하고, 도 19에 대해 설명된 바와 같이 블록(436)에 대해 인코딩(436')을 수행하도록 구성된다.
5.4 픽처의 동일 위치의 부분의 임계화에 의한 깊이/변이 맵의 타일(픽셀) 기반의 이중 세그먼테이션
위의 논의에서 자명해지듯이, 웨지렛 기반의 분할은 한편으로 보조 정보 레이트와 다른 한편으로 분할 가능성에서 달성 가능한 다양성 사이의 트레이드오프의 종류를 나타낸다. 이에 비해, 윤곽선 분할은 보조 정보 레이트의 관점에서 더 복잡한 것 같다.
아래에 더 설명되는 실시예를 기본으로 하는 아이디어는 분할이 웨지렛 분할이어야 한다는 정도까지 분할의 제약을 완화하는 능력이 깊이/변이 맵에서의 이중 세그먼테이션을 위한 양호한 예측을 도출하기 위해 비교적 복잡하지 않은 통계적 분석을 중첩된 공간적 샘플링된 텍스처 정보에 적용할 수 있다는 것이다. 따라서, 이러한 아이디어에 따르면, 그것은 픽처의 형태의 동일 위치의 텍스처 정보가 제공되고, 의미있는 텍스처 변화가 여기에서 가시적인 경우에 시그널링 오버헤드를 완화하는 자유를 정확히 증가시킨다. 이러한 아이디어를 이용하는 본 아이디어의 가능한 구현은 섹션 3.2.2에서 상술되었지만, 보다 일반적인 관점에서 아래에 더욱 상세히 설명된다. 다시 말하면, 섹션 3.2.2 및 다른 섹션에서 설명된 모든 상세 사항은 아래에 개별적으로 제시되는 설명과 조합될 수 있는 가능한 실현 상세 사항으로 이해되어야 한다.
특히, 도 22는 본 발명의 이러한 실시예에 따른 디코더(600)를 도시한다. 디코더(600)는 데이터 스트림(304)으로부터의 픽처(215)와 관련된 깊이/변이 맵(213)의 미리 정해진 블록을 재구성하기 위한 것이다. 디코더는 세그먼터(602), 공간적 이송기(604) 및 디코더(606)를 포함한다. 디코더(600)는 디코딩 브랜치(106d,1/2) 중 어느 하나에 대하여 상술한 바와 같이 구성될 수 있다. 즉, 디코더(600)는 블록에 기초하여 동작할 수 있다. 더욱이, 이는 하이브리드 비디오 디코더로서 구현될 수 있다. 블록으로의 깊이/변이 맵(213)의 세분은 블록으로의 픽처(215)의 세분으로부터 완전히 도출될 수 있거나, 이로부터 벗어날 수 있으며, 깊이/변이 맵의 세분은 데이터 스트림(304) 내에서 시그널링될 수 있거나, 그렇지 않으면 디코더(600)에 알려질 수 있다.
세그먼터(602)는 제 1 및 2 분할로의 참조 블록(216)의 이중 세그먼테이션을 획득하기 위해 참조 블록(216) 내의 픽처(215)의 임계화에 의해 픽처(215)의 참조 블록(216)을 세그먼트하도록 구성되고, 깊이/변이 맵(213)의 미리 정해진 블록(210)에 동일 위치되도록 구성된다.
그 후, 공간적 이송기(604)는 미리 정해진 블록(210)의 제 1 및 제 2 분할(202a 및 202b)을 획득하기 위해 깊이/변이 맵(213)의 미리 정해진 블록(210)으로 픽처의 참조 블록(216)의 이중 세그먼테이션을 이송한다.
디코더(606)는 제 1 및 제 2 분할(202a 및 202b)의 단위로 미리 정해진 블록(210)을 디코딩하도록 구성된다. 디코더(606)의 기능은 박스(310, 412 및 412')에 대해 상술한 기능에 대응한다.
도 1 내지 도 3을 참조하면, 세그먼터 및 이송기 기능은 제각기 교환 모듈(52 및 110) 내에 포함될 수 있지만, 디코더(606)의 기능은 예를 들어 인트라 예측 모듈에서 구현될 수 있다.
설명이 개별적으로 도 22의 요소에 대한 가능한 구현 상세 사항을 나타낼 수 있는 섹션 3.2.2에 대해 상술한 바와 같이, 픽처(215)의 참조 블록(216)의 제 1 및 제 2 분할(202a 및 202b)의 각각이 픽처(215)의 참조 블록(216)을 서로 완전히 커버하고, 서로에 상보적인 타일(608)의 세트이도록 세그먼터(602)는, 임계화할 시에, 각각의 값이 각각의 미리 정해진 값보다 큰지 작은지에 대해 참조 블록(216)의 2차원 세분의 타일(608)에서 참조 블록(216) 내의 픽처(215)의 값을 개별적으로 검사하도록 구성될 수 있다. 즉, 임계화는 샘플 해상도에서 수행될 수 있으며, 이러한 경우에 타일(608)은 픽처(215)의 개별적인 샘플(610)에 대응한다. 디코더(600)는 또한 임계화에서 개별적인 검사의 대상인 값이 재구성된 픽처(215)의 재구성된 값인 픽처(215)를 재구성할 책임이 있을 수 있다. 특히, 도 1 내지 도 3에 대하여 설명한 바와 같이, 디코더(600)는 이와 관련된 깊이/변이 맵(213)에 앞서 픽처(215)를 재구성하도록 구성될 수 있다.
이미 상술한 바와 같이, 제 1 및 제 2 분할로의 참조 블록(216)의 이중 세그먼테이션을 획득하기 위해 세그먼터(602)는, 세그먼트할 시에, 형태학 홀 필링(morphological hole filling) 및/또는 저역 통과 필터링을 임계화의 결과에 적용하도록 구성될 수 있다. 이것은 공간 이송기(604)에 의해 공간적으로 이송되는 참조 블록(216)으로부터 획득된 이중 세그먼테이션의 분할의 많은 격리된 두 세그먼트의 발생을 피하지만, 이러한 급격한 깊이 변화는 가시적으로 발생할 가능성이 훨씬 적다. 당연히, 인코더는 이를 수행한다.
더욱이, 디코더(600) 및 세그먼터(602)는, 임계화에서, 픽처(215)의 참조 블록(216)의 재구성된 샘플 값의 중심 집중 경향(central tendency)에 대한 측정치를 결정하고, 픽처(215)의 참조 블록(216)의 각 재구성된 샘플 값을 결정된 측정치에 의존하는 각각의 임계값과 비교함으로써 임계화를 수행하도록 구성될 수 있다. 상술한 바와 같이, 임계값은 전체적으로 참조 블록(216) 내의 샘플(610) 사이에서 정의될 수 있다. 중심 집중 경향으로서, 산술 평균 또는 중간 값과 같은 일부 평균값이 이용될 수 있다.
섹션 4.2에서 상술한 바와 같이, 디코더(600)는 미리 정해진 임계값을 초과하는 픽처(215)의 참조 블록(216) 내의 샘플의 값의 연역적인(a-priori) 결정된 분산의 경우에만 블록(602 내지 606)에 의해 나타낸 코딩 모드의 이용 가능성을 지원하도록 구성될 수 있다. 그렇지 않은 경우, 임계화에 의해 발견된 이중 세그먼테이션은 깊이/변이 맵의 블록(210)의 외관(appearance)에 대한 양호한 예측기를 형성하지 않을 가능성이 크며, 따라서 이러한 코딩 모드는 이러한 블록을 허용하지 않을 수 있다. 모드 가능성을 억제함으로써, 엔트로피 확률 추정치가 고려되어야 하는 각각의 코딩 옵션 식별자의 심볼 값의 수의 유익하지 않은 불필요한 증가가 회피된다.
도 22에 따르면, 다음의 정보: 1) 단계(602-604)를 트리거하는 각각의 미리 정해진 상태를 가진 코딩 옵션 식별자, 2) 선택적으로, 임계 후속 필터링/홀 필링 지향성(directivities) 등과 같은 이중 세그먼테이션을 스티어링(steering)하는 정보, 3) 선택적으로, 이웃한 샘플/블록으로부터 공간적 또는 시간적으로 예측되도록 허용될 수 있기 때문에 선택적으로 하나 또는 두 분할(202a, 202b)에 대해 CPV 또는 CPV 잔여와 같은 코딩 파라미터, 4) 선택적으로, DeltaCPV와 같은 코딩 파라미터 잔여는 블록(210)에 대한 데이터 스트림에 제공될 수 있다.
도 16, 도 18 및 도 20의 실시예에 대하여 위에서 언급된 모든 추가의 변형은 또한 도 22의 실시예에 적용 가능하다. 이것은 디코더(600)의 예측 루프에서 참조의 일부, 및 섹션 5.1 내지 5.3 중 어느 하나에서 또는 섹션 3 내지 4에서 상술한 변형에 대해 설명된 어떤 다른 코딩 모드와 도 22의 코딩 모드를 조합하는 가능성으로서 예측 결과의 이용에 특히 사실이다.
도 23은 도 22의 디코더에 맞는 인코더에 대한 가능한 구성을 도시한다. 도 23의 인코더는 일반적으로 참조 부호(630)로 나타내고, 픽처와 관련된 깊이/변이 맵의 미리 정해진 블록을 데이터 스트림(304)으로 인코딩하도록 구성된다. 인코더는 데이터 스트림(304)의 이전에 인코딩된 부분의 내부적으로 재구성된 버전에서 동작하는 도 22의 구성 요소(602 및 604) 처럼 동작하는 세그먼터(632) 및 공간 이송기(634)를 포함한다. 인코더(636)는 생성된 분할의 단위로 미리 정해진 블록을 인코딩한다.
5.5 픽처의 참조 블록 내의 샘플 값 분산에 대해 픽처에서 깊이/변이 맵으로의 이중 세그먼테이션 이송의 가용성의 종속성
아래에 설명되는 실시예를 기본으로 하는 아이디어, 즉 깊이/변이 맵의 현재 블록으로의 이중 세그먼테이션의 후속 이송으로 픽처 내의 공동 위치의 참조 블록에 기초하는 이중 세그먼테이션의 도출이 깊이/변이 맵의 현재 블록의 콘텐츠의 양호한 근사치를 달성하는 가능성이 이러한 이중 세그먼테이션 이송 모드를 트리거하기 위해 대응하는 코딩 옵션 식별자의 각각의 미리 정해진 값의 예약을 정당화할 정도로 충분히 높을 경우에만 타당하다는 아이디어는 섹션 4.2에서 이미 상술되었다. 다시 말하면, 각각의 이중 세그먼테이션 이송이 하여간 선택되지 않을 가능성이 높은 경우에 이러한 코딩 옵션 식별자를 엔트로피 코딩할 때 깊이/변이 맵의 현재 블록에 대한 코딩 옵션 식별자의 각각의 미리 정해진 값을 고려할 필요성을 회피함으로써 보조 정보 레이트는 저장될 수 있다.
따라서, 도 22의 디코더(600)의 수정된 실시예에 따르면, 디코더는 일반적으로 도 20의 디코더와 유사하게 구성되기 때문에, 디코더(600)의 가능한 구현이 일반적으로 관계되는 한 위의 설명에 대한 참조가 행해맵록 한다. 그러나, 세그먼터(602)는 참조 블록(216)을 웨지렛 분할로가 아니라 윤곽선 분할로 세그먼트하기 위해 구성되도록 제한되지 않는다. 오히려, 세그먼터(602)는 제 1 및 제 2 분할로의 참조 블록의 이중 세그먼테이션을 획득하기 위해 참조 블록(216) 내의 픽처(215)의 텍스처 특징에 따라 픽처(215)의 참조 블록(216)을 세그먼트하도록 단순히 구성된다. 예를 들면, 이러한 수정된 실시예에 따라, 세그먼터(602)는 웨지렛 분리 라인의 가능한 확장 방향을 검출하기 위해 에지 검출을 이용하여, 이와 같이 위치된 라인을 공간 이송기(604)에 의해 블록(216)에서 공간적으로 깊이/변이 블록(210)으로 이송할 수 있다. 세그먼터(602)에 의한 다른 가능한 이중 세그먼테이션이 또한 실현 가능하다.
그러나, 그 외에도, 디코더(600)는, 본 실시예에 따라, 세그먼터(602)에 의한 세그먼테이션, 공간 이송기(604)에 의한 공간적 이송 및 디코딩이 디코더(600)의 코딩 옵션의 제 2 세트의 부분이 아닌 디코더(600)의 코딩 옵션의 제 1 세트 중 하나를 형성하도록 구성되며, 디코더는, 픽처(215)의 참조 블록(216) 내의 샘플의 값의 분산을 결정하고, 데이터 스트림(304)으로부터 코딩 옵션 식별자를 검색하며, 박스(602 내지 606) 내에서 인덱스가 하나의 코딩 옵션을 가리킬 경우에 미리 정해진 블록(210) 상으로의 세그먼테이션, 공간적 이송 및 디코딩의 수행으로 분산이 미리 정해진 임계값을 초과하는 경우에는 코딩 옵션의 제 1 세트로의 인덱스, 및 분산이 미리 정해진 임계값을 계승하는 경우에는 코딩 옵션의 제 2 세트로의 인덱스로서 코딩 옵션 식별자를 이용하도록 더 구성된다. 따라서, 코딩 옵션 식별자를 시그널링하기 위한 시그널링 오버헤드가 저장될 수 있다. 분산으로서, 평균 절대 차이, 표준 편차 또는 변동량이 이용될 수 있다.
도 22의 방금 언급된 수정의 실시예의 추가 수정에 대하여, 섹션 5.4 및 섹션 4.2에 대한 설명에 대한 참조가 행해진다.
대응하는 인코더는 도 23의 인코더로부터 도출될 수 있다.
5.6. 이웃한 샘플로부터의 하나 또는 두 일정한 분할 값의 예측을 이용한 이중 분할에 의한 효과적인 예측
지금까지 설명된 다양한 실시예와 관련하여 이미 상술한 바와 같이, 일정한 분할 값을 블록의 이중 분할의 분할에 할당함으로써 현재 블록을 예측하는 방법은 특히 깊이/변이 맵과 같은 코딩 샘플 어레이의 경우에 매우 효과적이며, 이러한 샘플 어레이의 콘텐츠는 대부분 급격한 에지에 의해 서로 분리되는 비슷한 값의 플래토 또는 단순 연결된 영역으로 구성된다. 그럼에도 불구하고, 이러한 일정한 분할 값의 전송 조차도 회피되어야 하는 상당량의 보조 정보를 필요로 한다.
아래에 더 설명되는 실시예를 기본으로 하는 아이디어는 각각의 분할과 관련되거나 인접한 이웃한 샘플의 값의 평균값이 일정한 분할 값에 대한 예측기로 이용되는 경우에 이러한 보조 정보 레이트가 감소될 수 있다는 것이다. 발명자는 샘플 어레이의 블록에 대한 이러한 코딩 모드가 심지어 각각의 일정한 분할 값의 리파인먼트의 시그널링을 남길 수 있다는 것을 발견하였다.
도 24는 데이터 스트림(304)으로부터 샘플 어레이(302)를 재구성하기 위한 디코더(700)를 도시한다. 디코더(700)는 블록 기반의 디코딩을 이용하여 샘플 어레이(302)를 재구성하고, 하이브리드 디코딩을 이용하도록 구성될 수 있다. 일반적으로, 섹션 5.1 내지 5.5에서 상술한 모든 가능한 구현은 또한 도 24의 디코더(700)에 적용된다. 당연히, 현재 블록(210)을 2개의 분할로 분할하기 위한 가능한 모든 구현은 단지 이런 점에서 또한 서로 다르게 구현될 수 있는 도 700의 디코더에 대한 선택적인 대안을 나타낸다.
특히, 디코더(700)는 현재 블록(210)의 예측을 도출하기 위해 서로 다른 태스크 또는 기능을 수행하도록 구성된다. 특히, 디코더(700)는 해칭된(hatched) 샘플에 의해 예시되는 제 1 분할, 및 해칭되지 않은 샘플에 의해 예시되는 제 2 분할로의 샘플 어레이(302)의 미리 정해진 블록(210)의 이중 분할의 도출(702)을 수행하도록 구성된다. 더욱이, 디코더(700)는 각 이웃한 샘플이 관련되는 분할에 인접하도록 각각의 제 1 및 제 2 분할과, 미리 정해진 블록(210)에 인접한 샘플 어레이(302)의 이웃한 샘플의 각각의 관련(704)을 수행하도록 구성된다. 도 24에서, 관련(704)의 대상인 이웃한 샘플은 2개의 서로 다른 종류의 해칭, 즉 도트 해칭(dotted hatching) 및 크로스 해칭으로 예시된다. 도트 해칭은 블록(210)의 하나의 블록에 속하는 블록(210)의 샘플에 인접한 샘플을 나타내는 반면에, 크로스 해칭은 다른 블록에 속하는 블록(210)의 샘플에 인접한 샘플을 나타낸다. 섹션 5.1 내지 5.4에 대해 상술한 바와 같이, 디코더(700)에 의해 이미 재구성된 샘플 어레이(302)의 블록(303)의 이웃한 샘플의 가용성에 대한 높은 확률을 달성하기 위해 디코더(700)는 샘플 어레이(302)의 블록(303) 중에서 적절한 코딩/디코딩 순서를 이용할 수 있다.
물론, 이용 가능한 이웃한 샘플, 즉 샘플 어레이(302)의 이미 재구성된 블록(303) 내에 위치된 블록(210)의 이웃한 샘플은 단순히 블록(210)의 분할 중 하나에 연결한다는 것이 발생할 수 있다. 그 경우에, 데이터 스트림(304)은 이웃한 샘플의 어떤 것도 인접하지 않는 각각의 다른 분할에 대한 일정한 분할 값을 명시적으로 전송할 수 있다. 대안적으로, 일부 다른 고장 대체 절차(fallback procedure)는 그 경우에 디코더(700)에 의해 수행될 수 있다. 예를 들면, 디코더(700)는, 그 경우에, 이러한 누락한(missing) 일정한 분할 값을 미리 정해진 값, 또는 샘플 어레이(302) 및/또는 일부 다른 이전에 재구성된 샘플 어레이의 이전에 재구성된 값 중에서 장기 평균(long-term mean)으로부터 결정된 값으로 설정할 수 있다.
마지막으로, 예측(706)에서, 디코더(700)는 제 1 분할과 관련된 이웃한 샘플의 값의 평균값을 제 1 분할 내에 위치된 샘플 어레이의 샘플에 할당하고/하거나, 제 2 분할과 관련된 이웃한 샘플의 값의 평균값을 제 2 분할 내에 위치된 샘플 어레이의 샘플에 할당함으로써 미리 정해진 블록(210)을 예측한다.
디코더(700)는, 데이터 스트림 내에서 리파인먼트 정보를 이용하여, 즉 리파인먼트 정보 내의 제 1 리파인먼트 값을 제 1 분할과 관련된 이웃한 샘플의 값의 평균값에 적용하고/하거나, 리파인먼트 정보 내의 제 2 리파인먼트 값을 제 2 분할과 관련된 이웃한 샘플의 값의 평균값에 적용함으로써 미리 정해진 블록(210)의 예측을 정제하도록 구성될 수 있다. 이와 관련하여, 디코더(700)는, 제 1 및/또는 제 2 리파인먼트 값을 적용할 시에, 제각기 제 1 분할과 관련된 이웃한 샘플의 값의 평균값, 및/또는 제 2 분할과 관련된 이웃한 샘플의 값의 평균값과 제 1 및/또는 제 2 리파인먼트 값을 부가하는 것과 같이 선형적으로 조합하도록 더 구성될 수 있다. 디코더(700)는, 제 1 및/또는 제 2 리파인먼트 값을 적용할 시에, 데이터 스트림으로부터 제 1 및/또는 제 2 리파인먼트 값을 검색하고, 샘플 어레이와 관련되는 미리 정해진 공간적 샘플링된 구성 요소, 즉 텍스처 및/또는 깊이/맵이 데이터 스트림 내에 전송되는 참조 양자화 스텝 크기에 따라 양자화 스텝 크기를 이용하여 검색될 시에 제 1 및/또는 제 2 리파인먼트 값을 스케일링하도록 구성될 수 있다. 샘플 어레이는, 예를 들어, 깊이 맵일 수 있지만, 참조 양자화 스텝 크기는 디코더(700)에 의해 깊이 맵이 관련된 비트스트림으로부터 텍스처 샘플 어레이를 재구성하기 위해 이용될 수 있다. 더욱이, 더 상세 사항을 위해 섹션 3.3.2에서의 각각의 부분에 대한 추가적인 참조가 행해진다.
디코더는, 제 1 및 제 2 분할로의 샘플 어레이의 미리 정해진 블록의 이중 분할을 도출할 시에, 예측된 위치에서의 웨지렛 분리 라인이 미리 정해진 블록으로 이웃한 블록의 웨지렛 분리 라인의 확장을 형성하도록 미리 정해진 블록의 이웃한 블록의 웨지렛 분리 라인에 따라 샘플 어레이의 미리 정해진 블록 내의 웨지렛 분리 라인의 위치를 예측하도록 구성된다. 디코더는 데이터 스트림 내의 리파인먼트 정보를 이용하여 웨지렛 분리 라인의 예측된 위치를 정제하도록 더 구성되며, 미리 정해진 블록의 웨지렛 분리 라인은 미리 정해진 블록을 제 1 및 제 2 분할로 나눈다.
상술한 바와 같이, 디코더(700)는 섹션 5.1 내지 5.5에 설명된 어떤 아이디어를 이용하여 이중 세그먼테이션을 행할 수 있다. 인트라 예측 방향을 따라 제 1 블록에 이웃한 샘플 어레이의 샘플의 재구성된 값을 참조 블록에 복사하여 참조 블록을 필링함으로써 디코더(700)는 인트라 예측을 이용하여 미리 정해진 블록(210)에 이웃한 샘플 어레이(302)의 참조 블록을 예측하도록 구성될 수 있다. 제 1 및 제 2 분할로의 샘플 어레이의 미리 정해진 블록의 이중 분할을 도출할 시에, 디코더(700)는 인트라 예측 방향에 따라 미리 정해진 블록 내에 웨지렛 분리 라인의 확장 방향을 설정함으로써 미리 정해진 블록(210) 내의 웨지렛 분리 라인의 위치를 예측할 수 있으며, 웨지렛 분리 라인은 미리 정해진 블록을 제 1 및 제 2 분할로 나눈다.
대안적으로, 제 1 미리 정해진 분할로의 참조 블록의 이중 세그먼테이션을 획득하고, 제 1 및 제 2 분할을 획득하기 위해 깊이/변이 맵의 미리 정해진 블록 상으로 픽처의 참조 블록의 이중 세그먼테이션을 공간적으로 이송하도록 참조 블록 내의 픽처를 임계화함으로써 디코더(700)는 샘플 어레이(302)가 픽처와 관련된 깊이/변이 맵인 경우, 미리 정해진 블록(210)에 동일 위치된 픽처의 참조 블록을 세그먼트하도록 구성될 수 있다.
디코더는 디코더의 예측 루프의 참조로서 미리 정해진 블록을 이용하도록 더 구성될 수 있다.
도 25는 도 24의 디코더(700)에 맞는 인코더(730)에 대한 가능한 실시예를 도시한다. 샘플 어레이를 데이터 스트림으로 인코딩하기 위한 인코더(730)는 제 1 및 제 2 분할로의 샘플 어레이의 미리 정해진 블록의 이중 분할을 도출하고(732), 각 이웃한 샘플이 관련되는 분할에 인접하도록 각각의 제 1 및 제 2 분할과, 미리 정해진 블록에 인접한 샘플 어레이의 이웃한 샘플의 각각을 관련시키도록(734) 구성된다. 인코더는 제 1 분할과 관련된 이웃한 샘플의 값의 평균값을 제 1 분할 내에 위치된 샘플 어레이의 샘플에 할당하고, 제 2 분할과 관련된 이웃한 샘플의 값의 평균값을 제 2 분할 내에 위치된 샘플 어레이의 샘플에 할당함으로써 미리 정해진 블록을 예측하도록(736) 더 구성된다.
일부 양태가 장치와 관련하여 설명되었지만, 이러한 양태는 또한 대응하는 방법의 설명을 나타내는 것이 자명하며, 여기서 블록 또는 장치는 방법 단계 또는 방법 단계의 특징에 대응한다. 유사하게는, 방법 단계와 관련하여 설명된 양태는 또한 대응하는 블록 또는 대응하는 장치의 항목 또는 특징의 설명을 나타낸다. 방법 단계의 일부 또는 모두는 예를 들어 마이크로 프로세서, 프로그램 가능한 컴퓨터 또는 전자 회로처럼 하드웨어 장치에 의해(또는 이용하여) 실행될 수 있다. 일부 실시예에서, 가장 중요한 방법 단계 중 일부 하나 이상은 이러한 장치에 의해 실행될 수 있다.
어떤 구현 요구 사항에 따라, 본 발명의 실시예는 하드웨어 또는 소프트웨어로 구현될 수 있다. 이러한 구현은 디지털 저장 매체, 예를 들어 플로피 디스크, DVD, 블루레이, CD, ROM, PROM, EPROM, EEPROM 또는 FLASH 메모리를 이용하여 수행 될 수 있으며, 이러한 매체는 이에 저장된 전자식으로 판독 가능한 제어 신호를 가지며, 이러한 신호는 각각의 방법이 수행되도록 프로그래밍 가능한 컴퓨터 시스템과 협력한다(또는 협력할 수 있다). 따라서, 디지털 저장 매체는 컴퓨터 판독 가능할 수 있다.
본 발명에 따른 일부 실시예는 여기에 설명된 방법 중 하나가 수행되도록 프로그램 가능한 컴퓨터 시스템과 협력할 수 있는 전자식으로 판독 가능한 제어 신호를 갖는 데이터 캐리어를 포함한다.
일반적으로, 본 발명의 실시예는 프로그램 코드를 가진 컴퓨터 프로그램 제품으로 구현될 수 있으며, 프로그램 코드는 컴퓨터 프로그램 제품이 컴퓨터에서 실행될 때 방법 중 하나를 수행하기 위해 동작한다. 프로그램 코드는 예를 들어 머신 판독 가능한 캐리어 상에 저장될 수 있다.
다른 실시예는 여기에 설명되고, 머신 판독 가능한 캐리어 상에 저장된 방법 중 하나를 수행하기 위한 컴퓨터 프로그램을 포함한다.
그래서, 다시 말하면, 본 발명의 방법의 실시예는 컴퓨터 프로그램이 컴퓨터 상에서 실행할 때 여기에 설명된 방법 중 하나를 수행하기 위해 프로그램 코드를 갖는 컴퓨터 프로그램이다.
그래서, 본 발명의 방법의 추가의 실시예는 데이터 캐리어 상에 기록되어 여기에 설명된 방법 중 하나를 수행하기 위한 컴퓨터 프로그램을 포함하는 데이터 캐리어(또는 디지털 저장 매체, 또는 컴퓨터 판독 가능한 매체)이다. 데이터 캐리어, 디지털 저장 매체 또는 기록된 매체는 통상적인 유형 및/또는 비과도기적(tangible and/or non-transitionary)이다.
그래서, 본 발명의 추가의 실시예는 데이터 스트림, 또는 여기에 설명된 방법 중 하나를 수행하기 위한 컴퓨터 프로그램을 나타내는 신호의 시퀀스이다. 데이터 스트림 또는 신호의 시퀀스는 예를 들어 인터넷을 통해 예를 들어 데이터 통신 연결을 통해 이송되도록 구성될 수 있다.
추가의 실시예는 처리 수단, 예를 들어 여기에 설명된 방법 중 하나를 수행하도록 구성되거나 적응되는 컴퓨터, 또는 프로그램 가능한 논리 장치를 포함한다.
추가의 실시예는 여기에 설명된 방법 중 하나를 수행하기 위한 컴퓨터 프로그램을 설치한 컴퓨터를 포함한다.
본 발명에 따른 추가의 실시예는 여기에 설명된 방법 중 하나를 수행하기 위한 컴퓨터 프로그램을 (예를 들어, 전자식 또는 광학식으로) 수신기로 이송하도록 구성된 장치 또는 시스템을 포함한다. 수신기는, 예를 들어, 컴퓨터, 모바일 장치, 메모리 장치 등일 수 있다. 장치 또는 시스템은, 예를 들어, 컴퓨터 프로그램을 수신기로 이송하기 위한 파일 서버를 포함할 수 있다.
일부 실시예에서, 프로그램 가능한 논리 장치(예를 들어 필드 프로그램 가능한 게이트 어레이)는 여기에 설명된 방법의 기능의 일부 또는 모두를 수행하기 위해 이용될 수 있다. 일부 실시예에서, 필드 프로그램 가능한 게이트 어레이는 여기에 설명된 방법 중 하나를 수행하기 위해 마이크로 프로세서와 협력할 수 있다. 일반적으로, 방법은 바람직하게는 어떤 하드웨어 장치에 의해 수행된다.
상술한 실시예는 단지 본 발명의 원리에 대해 예시적이다. 여기에 설명된 배치 및 상세 사항의 수정 및 변형은 당업자에게 자명할 것으로 이해된다. 그래서, 여기서 실시예의 설명에 의해 제시된 특정 상세 사항에 의해 제한되지 않고, 첨부한 특허 청구 범위에 의해서만 제한되도록 의도된다.

Claims (22)

  1. 데이터 스트림(304)으로부터 픽처(215)와 관련된 깊이/변이 맵(213)의 미리 정해진 블록(210)을 재구성하기 위한 디코더로서,
    제 1 및 제 2 분할로의 참조 블록(216)의 이중 세그먼테이션을 획득하기 위해 상기 참조 블록(216) 내의 상기 픽처(215)를 임계화함으로써, 상기 미리 정해진 블록(210)에 동일 위치된 상기 픽처(215)의 참조 블록(216)을 세그먼트하고,
    상기 미리 정해진 블록(210)의 제 1 및 제 2 분할(202a, 202b)을 획득하기 위해 상기 참조 블록(216)의 이중 세그먼테이션을 상기 깊이/변이 맵(213)의 상기 미리 정해진 블록(210) 상으로 공간적으로 이송하며,
    제 1 및 제 2 웨지렛 분할(202a, 202b)의 단위로 상기 미리 정해진 블록(210)을 디코딩하도록 구성되는 디코더.
  2. 제 1 항에 있어서,
    상기 픽처(215)의 상기 참조 블록(216)의 제 1 및 제 2 분할(218')의 각각이 상기 픽처(215)의 상기 참조 블록(216)을 서로 완전히 커버하고, 서로에 상보적인 타일(608)의 세트이도록, 임계화할 시에, 각각의 값이 각각의 미리 정해진 값보다 큰지 작은지에 대해 상기 참조 블록(216)의 2차원 세분의 타일에서 상기 참조 블록(216) 내의 상기 픽처(215)의 값을 개별적으로 검사하도록 구성되는 디코더.
  3. 제 2 항에 있어서,
    임계화할 시에, 각 타일이 상기 참조 블록의 샘플 위치에 대응하도록 샘플 해상도에서 상기 참조 블록 내의 상기 픽처의 값을 개별적으로 검사하도록 구성되는 디코더.
  4. 제 1 항 내지 제 3 항 중 어느 한 항에 있어서,
    상기 제 1 및 제 2 분할로의 상기 참조 블록(216)의 이중 세그먼테이션을 획득하기 위해 세그먼트할 시에 형태학 홀 필링 및/또는 저역 통과 필터링을 임계화의 결과에 적용하도록 구성되는 디코더.
  5. 제 1 항 내지 제 4 항 중 어느 한 항에 있어서,
    임계화에서, 상기 픽처(215)의 상기 참조 블록(216)의 재구성된 샘플 값의 중심 집중 경향에 대한 측정치를 결정하고, 상기 픽처(215)의 상기 참조 블록(216)의 각 재구성된 샘플 값을 결정된 측정치에 의존하는 각각의 임계값과 비교함으로써 임계화를 수행하도록 구성되는 디코더.
  6. 제 1 항 내지 제 5 항 중 어느 한 항에 있어서,
    상기 세그먼테이션, 공간적 이송 및 예측이 코딩 옵션의 제 2 세트의 부분이 아닌 코딩 옵션의 제 1 세트 중 하나를 형성하도록 구성되며, 상기 디코더는
    상기 픽처(215)의 상기 참조 블록(216) 내의 샘플의 값의 분산을 결정하고,
    상기 데이터 스트림으로부터 코딩 옵션 식별자를 검색하며,
    인덱스가 하나의 코딩 옵션을 가리킬 경우에 상기 미리 정해진 블록 상으로의 세그먼테이션, 공간적 이송 및 예측의 수행으로 분산이 미리 정해진 임계값을 초과하는 경우에는 코딩 옵션의 제 1 세트로의 인덱스, 및 상기 분산이 상기 미리 정해진 임계값을 계승하는 경우에는 코딩 옵션의 제 2 세트로의 인덱스로서 상기 코딩 옵션 식별자를 이용하도록 더 구성되는 디코더.
  7. 데이터 스트림으로부터 픽처와 관련된 깊이/변이 맵(213)의 미리 정해진 블록을 재구성하기 위한 디코더로서,
    제 1 및 제 2 분할로의 참조 블록(216)의 이중 세그먼테이션을 획득하기 위해 상기 참조 블록(216) 내의 픽처(215)의 텍스처 특징에 따라 상기 미리 정해진 블록에 동일 위치된 상기 픽처(215)의 참조 블록(216)을 세그먼트하고,
    상기 미리 정해진 블록의 제 1 및 제 2 분할을 획득하기 위해 상기 픽처의 상기 참조 블록의 이중 세그먼테이션을 상기 깊이/변이 맵의 상기 미리 정해진 블록 상으로 공간적으로 이송하고,
    제 1 및 제 2 웨지렛 분할(202a, 202b)의 단위로 상기 미리 정해진 블록(210)을 디코딩하도록 구성되며,
    상기 디코더는 상기 세그먼테이션, 공간적 이송 및 디코딩이 상기 디코더의 코딩 옵션의 제 2 세트의 부분이 아닌 상기 디코더의 코딩 옵션의 제 1 세트 중 하나를 형성하도록 구성되고, 상기 디코더는
    상기 픽처(215)의 상기 참조 블록(216) 내의 샘플의 값의 분산을 결정하고,
    상기 데이터 스트림(304)으로부터 코딩 옵션 식별자를 검색하며,
    인덱스가 하나의 코딩 옵션을 가리킬 경우에 상기 미리 정해진 블록(210) 상으로의 세그먼테이션, 공간적 이송 및 디코딩의 수행으로 분산이 미리 정해진 임계값을 초과하는 경우에는 코딩 옵션의 제 1 세트로의 인덱스, 및 상기 분산이 상기 미리 정해진 임계값을 계승하는 경우에는 코딩 옵션의 제 2 세트로의 인덱스로서 상기 코딩 옵션 식별자를 이용하도록 더 구성되는 디코더.
  8. 제 7 항에 있어서,
    상기 디코더는 엔트로피 디코딩에 의해 상기 코딩 옵션 식별자를 검색하도록 구성되는 디코더.
  9. 제 1 항 내지 제 8 항 중 어느 한 항에 있어서,
    상기 디코더의 예측 루프의 참조로서 상기 미리 정해진 블록을 이용하도록 더 구성되는 디코더.
  10. 제 1 항 내지 제 9 항 중 어느 한 항에 있어서,
    상기 디코더는, 상기 미리 정해진 블록(210)을 디코딩할 시에,
    제 1 일정한 분할 값을 상기 제 1 웨지렛 분할(202a) 내에 위치된 샘플 어레이의 샘플(203)에 할당하고, 제 2 일정한 분할 값을 상기 제 2 웨지렛 분할(202b) 내에 위치된 상기 샘플 어레이의 샘플에 할당함으로써 상기 미리 정해진 블록(210)을 예측하도록 구성되는 디코더.
  11. 제 10 항에 있어서,
    상기 디코더는, 상기 미리 정해진 블록을 예측할 시에, 각 이웃한 샘플이 관련되는 웨지렛 분할에 인접하도록 각각의 제 1 및 제 2 웨지렛 분할과, 상기 미리 정해진 블록에 인접한 상기 샘플 어레이의 이웃한 샘플의 각각을 관련시키고, 상기 제 1 분할과 관련된 상기 이웃한 샘플의 값의 평균값을 상기 제 1 분할 내에 위치된 샘플 어레이의 샘플에 할당하고, 상기 제 2 분할과 관련된 상기 이웃한 샘플의 값의 평균값을 상기 제 2 분할 내에 위치된 샘플 어레이의 샘플에 할당함으로써 상기 미리 정해진 블록을 예측하도록 더 구성되는 디코더.
  12. 제 10 항 또는 제 11 항에 있어서,
    리파인먼트 정보 내의 제 1 리파인먼트 값을 상기 제 1 분할과 관련된 상기 이웃한 샘플의 값의 평균값에 적용하고/하거나, 상기 리파인먼트 정보 내의 제 2 리파인먼트 값을 상기 제 2 분할과 관련된 상기 이웃한 샘플의 값의 평균값에 적용함으로써 상기 미리 정해진 블록의 예측을 정제하도록 구성되는 디코더.
  13. 제 12 항에 있어서,
    상기 제 1 및/또는 제 2 리파인먼트 값을 적용할 시에, 제각기 상기 제 1 분할과 관련된 상기 이웃한 샘플의 값의 평균값, 및/또는 상기 제 2 분할과 관련된 상기 이웃한 샘플의 값의 평균값과 상기 제 1 및/또는 제 2 리파인먼트 값을 선형적으로 조합하도록 구성되는 디코더.
  14. 제 12 항 또는 제 13 항에 있어서,
    상기 제 1 및/또는 제 2 리파인먼트 값을 적용할 시에, 상기 데이터 스트림으로부터 상기 제 1 및/또는 제 2 리파인먼트 값을 검색하고, 상기 샘플 어레이와 관련되는 미리 정해진 공간적 샘플링된 구성 요소가 상기 데이터 스트림 내에 전송되는 참조 양자화 스텝 크기에 따라 양자화 스텝 크기를 이용하여 검색될 때에 상기 제 1 및/또는 제 2 리파인먼트 값을 스케일링하도록 구성되는 디코더.
  15. 제 14 항에 있어서,
    상기 샘플 어레이는 깊이 맵이고, 상기 디코더는 상기 깊이 맵이 관련되는 비트스트림으로부터 텍스처 샘플 어레이를 재구성하기 위해 상기 참조 양자화 스텝 크기를 이용하도록 구성되는 디코더.
  16. 픽처와 관련된 깊이/변이 맵의 미리 정해진 블록을 데이터 스트림으로 인코딩하기 위한 인코더로서,
    제 1 및 제 2 분할로의 참조 블록의 이중 세그먼테이션을 획득하기 위해 상기 참조 블록 내의 상기 픽처를 임계화함으로써, 상기 미리 정해진 블록에 동일 위치된 상기 픽처의 참조 블록을 세그먼트하고,
    상기 미리 정해진 블록의 제 1 및 제 2 분할을 획득하기 위해 상기 픽처의 상기 참조 블록의 이중 세그먼테이션을 상기 깊이/변이 맵의 상기 미리 정해진 블록 상으로 공간적으로 이송하며,
    제 1 및 제 2 웨지렛 분할(202a, 202b)의 단위로 미리 정해진 블록(210)을 인코딩하도록 구성되는 인코더.
  17. 픽처와 관련된 깊이/변이 맵의 미리 정해진 블록을 데이터 스트림으로 인코딩하기 위한 인코더로서,
    제 1 및 제 2 분할로의 참조 블록(216)의 이중 세그먼테이션을 획득하기 위해 상기 참조 블록(216) 내의 픽처(215)의 텍스처 특징에 따라 상기 미리 정해진 블록에 동일 위치된 상기 픽처(215)의 참조 블록(216)을 세그먼트하고,
    상기 미리 정해진 블록의 제 1 및 제 2 분할을 획득하기 위해 상기 픽처의 상기 참조 블록의 이중 세그먼테이션을 상기 깊이/변이 맵의 상기 미리 정해진 블록 상으로 공간적으로 이송하고,
    제 1 및 제 2 웨지렛 분할(202a, 202b)의 단위로 상기 미리 정해진 블록(210)을 인코딩하도록 구성되며,
    상기 인코더는 상기 세그먼테이션, 공간적 이송 및 인코딩이 상기 인코더의 코딩 옵션의 제 2 세트의 부분이 아닌 상기 인코더의 코딩 옵션의 제 1 세트 중 하나를 형성하도록 구성되고, 상기 인코더는
    상기 픽처(215)의 상기 참조 블록(216) 내의 샘플의 값의 분산을 결정하고,
    코딩 옵션 식별자를 데이터 스트림(304)으로 인코딩하며,
    인덱스가 하나의 코딩 옵션을 가리킬 경우에 상기 미리 정해진 블록(210) 상으로의 세그먼테이션, 공간적 이송 및 인코딩의 수행으로 분산이 미리 정해진 임계값을 초과하는 경우에는 코딩 옵션의 제 1 세트로의 인덱스, 및 상기 분산이 상기 미리 정해진 임계값을 계승하는 경우에는 코딩 옵션의 제 2 세트로의 인덱스로서 상기 코딩 옵션 식별자를 이용하도록 더 구성되는 인코더.
  18. 데이터 스트림(304)으로부터 픽처(215)와 관련된 깊이/변이 맵(213)의 미리 정해진 블록(210)을 재구성하기 위한 방법으로서,
    제 1 및 제 2 분할로의 참조 블록(216)의 이중 세그먼테이션을 획득하기 위해 상기 참조 블록(216) 내의 상기 픽처(215)를 임계화함으로써, 상기 미리 정해진 블록(210)에 동일 위치된 상기 픽처(215)의 참조 블록(216)을 세그먼트하는 단계,
    상기 미리 정해진 블록(210)의 제 1 및 제 2 분할(202a, 202b)을 획득하기 위해 상기 픽처의 상기 참조 블록(216)의 이중 세그먼테이션을 상기 깊이/변이 맵(213)의 상기 미리 정해진 블록(210) 상으로 공간적으로 이송하는 단계, 및
    제 1 및 제 2 웨지렛 분할(202a, 202b)의 단위로 상기 미리 정해진 블록(210)을 디코딩하는 단계를 포함하는 방법.
  19. 데이터 스트림으로부터 픽처와 관련된 깊이/변이 맵의 미리 정해진 블록을 재구성하기 위한 방법으로서,
    제 1 및 제 2 분할로의 참조 블록(216)의 이중 세그먼테이션을 획득하기 위해 상기 참조 블록(216) 내의 픽처(215)의 텍스처 특징에 따라 상기 미리 정해진 블록에 동일 위치된 상기 픽처(215)의 참조 블록(216)을 세그먼트하는 단계,
    상기 미리 정해진 블록의 제 1 및 제 2 분할을 획득하기 위해 상기 픽처의 상기 참조 블록의 이중 세그먼테이션을 상기 깊이/변이 맵의 상기 미리 정해진 블록 상으로 공간적으로 이송하는 단계, 및
    제 1 및 제 2 웨지렛 분할(202a, 202b)의 단위로 상기 미리 정해진 블록(210)을 디코딩하는 단계를 포함하며,
    상기 방법은 상기 세그먼테이션, 공간적 이송 및 디코딩이 상기 방법의 코딩 옵션의 제 2 세트의 부분이 아닌 코딩 옵션의 제 1 세트 중 하나를 형성하도록 수형되고, 상기 방법은
    상기 픽처(215)의 상기 참조 블록(216) 내의 샘플의 값의 분산을 결정하는 단계,
    상기 데이터 스트림(304)으로부터 코딩 옵션 식별자를 검색하는 단계,
    인덱스가 하나의 코딩 옵션을 가리킬 경우에 상기 미리 정해진 블록(210) 상으로의 세그먼테이션, 공간적 이송 및 디코딩의 수행으로 분산이 미리 정해진 임계값을 초과하는 경우에는 코딩 옵션의 제 1 세트로의 인덱스, 및 상기 분산이 상기 미리 정해진 임계값을 계승하는 경우에는 코딩 옵션의 제 2 세트로의 인덱스로서 상기 코딩 옵션 식별자를 이용하는 단계를 더 포함하는 방법.
  20. 픽처와 관련된 깊이/변이 맵의 미리 정해진 블록을 데이터 스트림으로 인코딩하기 위한 방법으로서,
    제 1 및 제 2 분할로의 참조 블록의 이중 세그먼테이션을 획득하기 위해 상기 참조 블록 내의 상기 픽처를 임계화함으로써, 상기 미리 정해진 블록에 동일 위치된 상기 픽처의 참조 블록을 세그먼트하는 단계,
    상기 미리 정해진 블록의 제 1 및 제 2 분할을 획득하기 위해 상기 픽처의 상기 참조 블록의 이중 세그먼테이션을 상기 깊이/변이 맵의 상기 미리 정해진 블록 상으로 공간적으로 이송하는 단계, 및
    제 1 및 제 2 웨지렛 분할(202a, 202b)의 단위로 미리 정해진 블록(210)을 인코딩하는 단계를 포함하는 방법.
  21. 픽처와 관련된 깊이/변이 맵의 미리 정해진 블록을 데이터 스트림으로 인코딩하기 위한 방법으로서,
    제 1 및 제 2 분할로의 참조 블록(216)의 이중 세그먼테이션을 획득하기 위해 상기 참조 블록(216) 내의 픽처(215)의 텍스처 특징에 따라 상기 미리 정해진 블록에 동일 위치된 상기 픽처(215)의 참조 블록(216)을 세그먼트하는 단계,
    상기 미리 정해진 블록의 제 1 및 제 2 분할을 획득하기 위해 상기 픽처의 상기 참조 블록의 이중 세그먼테이션을 상기 깊이/변이 맵의 상기 미리 정해진 블록 상으로 공간적으로 이송하는 단계, 및
    제 1 및 제 2 웨지렛 분할(202a, 202b)의 단위로 상기 미리 정해진 블록(210)을 인코딩하는 단계를 포함하며,
    상기 방법은 상기 세그먼테이션, 공간적 이송 및 인코딩이 상기 방법의 코딩 옵션의 제 2 세트의 부분이 아닌 상기 방법의 코딩 옵션의 제 1 세트 중 하나를 형성하도록 수행되고, 상기 방법은
    상기 픽처(215)의 상기 참조 블록(216) 내의 샘플의 값의 분산을 결정하는 단계,
    코딩 옵션 식별자를 데이터 스트림(304)으로 인코딩하는 단계,
    인덱스가 하나의 코딩 옵션을 가리킬 경우에 상기 미리 정해진 블록(210) 상으로의 세그먼테이션, 공간적 이송 및 인코딩의 수행으로 분산이 미리 정해진 임계값을 초과하는 경우에는 코딩 옵션의 제 1 세트로의 인덱스, 및 상기 분산이 상기 미리 정해진 임계값을 계승하는 경우에는 코딩 옵션의 제 2 세트로의 인덱스로서 상기 코딩 옵션 식별자를 이용하는 단계를 더 포함하는 방법.
  22. 컴퓨터 상에서 실행할 때 제 18 항 또는 제 21 항에 따른 방법을 수행하기 위해 프로그램 코드를 갖는 컴퓨터 프로그램.




KR1020227041021A 2011-11-11 2012-11-09 적응적 분할 코딩 KR102588425B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020237034261A KR20230145540A (ko) 2011-11-11 2012-11-09 적응적 분할 코딩

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
US201161558631P 2011-11-11 2011-11-11
US61/558,631 2011-11-11
KR1020227007636A KR102471528B1 (ko) 2011-11-11 2012-11-09 적응적 분할 코딩
PCT/EP2012/072328 WO2013068566A1 (en) 2011-11-11 2012-11-09 Adaptive partition coding

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
KR1020227007636A Division KR102471528B1 (ko) 2011-11-11 2012-11-09 적응적 분할 코딩

Related Child Applications (1)

Application Number Title Priority Date Filing Date
KR1020237034261A Division KR20230145540A (ko) 2011-11-11 2012-11-09 적응적 분할 코딩

Publications (2)

Publication Number Publication Date
KR20220162859A true KR20220162859A (ko) 2022-12-08
KR102588425B1 KR102588425B1 (ko) 2023-10-12

Family

ID=47178013

Family Applications (7)

Application Number Title Priority Date Filing Date
KR1020147015914A KR101663394B1 (ko) 2011-11-11 2012-11-09 적응적 분할 코딩
KR1020207030494A KR102373445B1 (ko) 2011-11-11 2012-11-09 적응적 분할 코딩
KR1020237034261A KR20230145540A (ko) 2011-11-11 2012-11-09 적응적 분할 코딩
KR1020227041021A KR102588425B1 (ko) 2011-11-11 2012-11-09 적응적 분할 코딩
KR1020197030492A KR102171788B1 (ko) 2011-11-11 2012-11-09 적응적 분할 코딩
KR1020167026828A KR102036175B1 (ko) 2011-11-11 2012-11-09 적응적 분할 코딩
KR1020227007636A KR102471528B1 (ko) 2011-11-11 2012-11-09 적응적 분할 코딩

Family Applications Before (3)

Application Number Title Priority Date Filing Date
KR1020147015914A KR101663394B1 (ko) 2011-11-11 2012-11-09 적응적 분할 코딩
KR1020207030494A KR102373445B1 (ko) 2011-11-11 2012-11-09 적응적 분할 코딩
KR1020237034261A KR20230145540A (ko) 2011-11-11 2012-11-09 적응적 분할 코딩

Family Applications After (3)

Application Number Title Priority Date Filing Date
KR1020197030492A KR102171788B1 (ko) 2011-11-11 2012-11-09 적응적 분할 코딩
KR1020167026828A KR102036175B1 (ko) 2011-11-11 2012-11-09 적응적 분할 코딩
KR1020227007636A KR102471528B1 (ko) 2011-11-11 2012-11-09 적응적 분할 코딩

Country Status (15)

Country Link
US (7) US9756330B2 (ko)
EP (4) EP3249923B1 (ko)
JP (6) JP6084627B2 (ko)
KR (7) KR101663394B1 (ko)
CN (5) CN109257598B (ko)
BR (2) BR112014011406B1 (ko)
DK (1) DK2777285T3 (ko)
ES (1) ES2647514T3 (ko)
HK (1) HK1202202A1 (ko)
HU (1) HUE034631T2 (ko)
IN (1) IN2014KN01047A (ko)
NO (1) NO2806722T3 (ko)
PL (1) PL2777285T3 (ko)
PT (1) PT2777285T (ko)
WO (1) WO2013068566A1 (ko)

Families Citing this family (45)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP2777286B1 (en) 2011-11-11 2017-01-04 GE Video Compression, LLC Effective wedgelet partition coding
EP3657788B1 (en) * 2011-11-11 2021-08-04 GE Video Compression, LLC Effective prediction using partition coding
KR101663394B1 (ko) * 2011-11-11 2016-10-06 지이 비디오 컴프레션, 엘엘씨 적응적 분할 코딩
EP4161078A1 (en) 2011-11-11 2023-04-05 GE Video Compression, LLC Effective wedgelet partition coding using spatial prediction
WO2013129822A1 (ko) * 2012-02-27 2013-09-06 세종대학교산학협력단 영상 부호화와 복호화 장치 및 영상을 부호화와 복호화하는 방법
KR20130098122A (ko) * 2012-02-27 2013-09-04 세종대학교산학협력단 영상 부호화/복호화 장치 및 영상을 부호화/복호화하는 방법
WO2014042459A1 (ko) * 2012-09-17 2014-03-20 엘지전자 주식회사 비디오 신호 처리 방법 및 장치
CN105409215B (zh) 2013-01-11 2018-10-09 华为技术有限公司 深度预测模式选择方法及装置
CN104427291B (zh) * 2013-08-19 2018-09-28 华为技术有限公司 一种图像处理方法及设备
US9544601B2 (en) * 2013-10-15 2017-01-10 Qualcomm Incorporated Wedgelet pattern extension for depth intra coding
US9756359B2 (en) * 2013-12-16 2017-09-05 Qualcomm Incorporated Large blocks and depth modeling modes (DMM'S) in 3D video coding
US20150189269A1 (en) * 2013-12-30 2015-07-02 Google Inc. Recursive block partitioning
WO2015101640A1 (en) * 2014-01-03 2015-07-09 Ge Video Compression, Llc Wedgelet-based coding concept
US10368097B2 (en) 2014-01-07 2019-07-30 Nokia Technologies Oy Apparatus, a method and a computer program product for coding and decoding chroma components of texture pictures for sample prediction of depth pictures
CN106576175A (zh) * 2014-06-18 2017-04-19 三星电子株式会社 多视点图像编码/解码方法和装置
JP2017523682A (ja) 2014-06-20 2017-08-17 サムスン エレクトロニクス カンパニー リミテッド インターレイヤビデオ符号化/復号のためのデプス映像の予測モード伝送方法及びその装置
WO2016003210A1 (ko) * 2014-07-04 2016-01-07 주식회사 케이티 다시점 비디오 신호 처리 방법 및 장치
AU2015327521B2 (en) * 2014-09-30 2018-07-26 Hfi Innovation Inc. Method of lookup table size reduction for depth modelling mode in depth coding
WO2016049913A1 (en) * 2014-09-30 2016-04-07 Mediatek Singapore Pte. Ltd. A simplified method for the depth modeling modes
WO2016049891A1 (en) * 2014-09-30 2016-04-07 Mediatek Singapore Pte. Ltd. Methods on segmentation coding in intra prediction
WO2016123783A1 (zh) * 2015-02-05 2016-08-11 华为技术有限公司 图像预测处理方法和相关设备
WO2016123782A1 (zh) * 2015-02-05 2016-08-11 华为技术有限公司 模板处理方法和相关设备
US20160277751A1 (en) * 2015-03-19 2016-09-22 Patrick J. Sweeney Packaging/mux and unpackaging/demux of geometric data together with video data
WO2016182316A1 (ko) * 2015-05-12 2016-11-17 삼성전자 주식회사 인트라 예측을 수행하는 영상 복호화 방법 및 그 장치 및 인트라 예측을 수행하는 영상 부호화 방법 및 그 장치
WO2016182317A1 (ko) * 2015-05-12 2016-11-17 삼성전자 주식회사 인트라 예측을 수행하는 영상 복호화 방법 및 그 장치 및 인트라 예측을 수행하는 영상 부호화 방법 및 그 장치
CN105007494B (zh) * 2015-07-20 2018-11-13 南京理工大学 一种3d视频深度图像的帧内楔形分割模式选择方法
WO2017097441A1 (en) * 2015-12-07 2017-06-15 Huawei Technologies Co., Ltd. Devices and methods for video coding using intra prediction
CN109565595B (zh) 2016-06-24 2021-06-22 华为技术有限公司 一种使用基于分割的视频编码块划分的视频编码设备和方法
CN109565592B (zh) 2016-06-24 2020-11-17 华为技术有限公司 一种使用基于分割的视频编码块划分的视频编码设备和方法
US20210337202A1 (en) * 2017-06-21 2021-10-28 Vid Scale, Inc. Adaptive quantization method for 360-degree video coding
US20190096041A1 (en) * 2017-09-25 2019-03-28 Texas Instruments Incorporated Methods and system for efficient processing of generic geometric correction engine
US11145079B2 (en) 2017-09-25 2021-10-12 Texas Instruments Incorporated Method and apparatus for arbitrary output shape processing of an image
US11108841B2 (en) 2018-06-19 2021-08-31 At&T Intellectual Property I, L.P. Apparatus, storage medium and method for heterogeneous segmentation of video streaming
US11265579B2 (en) * 2018-08-01 2022-03-01 Comcast Cable Communications, Llc Systems, methods, and apparatuses for video processing
CN110809159B (zh) 2018-08-04 2022-06-07 北京字节跳动网络技术有限公司 更新的mv或推导的mv的裁剪
JP2022502905A (ja) * 2018-09-21 2022-01-11 インターデイジタル ヴィーシー ホールディングス インコーポレイテッド 双予測を使用するビデオエンコーディングおよびデコーディングのための方法および装置
EP3861732A4 (en) * 2018-10-01 2022-07-06 OP Solutions, LLC EXPONENTIAL PARTITIONING METHODS AND SYSTEMS
US11317099B2 (en) 2018-10-05 2022-04-26 Tencent America LLC Method and apparatus for signaling an offset in video coding for intra block copy and/or inter prediction
CN111010569B (zh) 2018-10-06 2023-02-28 北京字节跳动网络技术有限公司 Bio中的时间梯度计算的改善
EP3891977A4 (en) * 2018-12-29 2022-06-22 Huawei Technologies Co., Ltd. METHOD AND DEVICE FOR INTRAPREDICTION
US20220132109A1 (en) * 2019-02-21 2022-04-28 Lg Electronics Inc. Image decoding method and apparatus using intra prediction in image coding system
CN110363212B (zh) * 2019-03-28 2022-02-15 西南石油大学 基于边界扫描的多wedgelet图像近似方法
US11240534B2 (en) * 2019-04-05 2022-02-01 Qualcomm Incorporated Extended multiple transform selection for video coding
CN110225339A (zh) * 2019-05-10 2019-09-10 上海德衡数据科技有限公司 一种hevc视频序列编解码加速方法
CN114731430A (zh) * 2019-12-05 2022-07-08 交互数字Vc控股法国有限公司 与多个变换选择、矩阵加权帧内预测或多参考线帧内预测结合的用于视频编码和解码的帧内子分区

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20080101707A1 (en) * 2006-10-30 2008-05-01 Debargha Mukherjee Method for decomposing a video sequence frame
WO2011046607A2 (en) * 2009-10-14 2011-04-21 Thomson Licensing Filtering and edge encoding
WO2011127966A1 (en) * 2010-04-13 2011-10-20 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. Inter-plane prediction

Family Cites Families (45)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS60248076A (ja) 1984-05-24 1985-12-07 Matsushita Electric Ind Co Ltd 符号化方法及びその装置
JPH01303888A (ja) * 1988-05-31 1989-12-07 Fujitsu Ltd フレーム間符号化装置
JP3353968B2 (ja) * 1992-09-25 2002-12-09 オリンパス光学工業株式会社 画像処理装置
JPH06153167A (ja) * 1992-11-13 1994-05-31 Oki Electric Ind Co Ltd 動きベクトル検出回路
JPH08298665A (ja) * 1994-04-21 1996-11-12 Sanyo Electric Co Ltd 動きベクトル検出回路、検出方法、及び動画像圧縮回路
JPH09275565A (ja) * 1996-04-05 1997-10-21 Kokusai Electric Co Ltd 画像ブロックマッチング方法及び画像符号化方法
JP3231618B2 (ja) * 1996-04-23 2001-11-26 日本電気株式会社 3次元画像符号化復号方式
US6636633B2 (en) 1999-05-03 2003-10-21 Intel Corporation Rendering of photorealistic computer graphics images
WO2003101117A1 (en) 2002-05-28 2003-12-04 Sharp Kabushiki Kaisha Methods and systems for image intra-prediction mode estimation, communication, and organization
JP4088205B2 (ja) * 2002-06-11 2008-05-21 松下電器産業株式会社 符号化装置、コンピュータ読取可能なプログラム、符号化方法。
US7227901B2 (en) 2002-11-21 2007-06-05 Ub Video Inc. Low-complexity deblocking filter
US6900748B2 (en) 2003-07-17 2005-05-31 Fraunhofer-Gesellschaft Zur Foerderung Der Angewandten Forschung E.V. Method and apparatus for binarization and arithmetic coding of a data value
US9351013B2 (en) * 2003-11-13 2016-05-24 Qualcomm Incorporated Selective and/or scalable complexity control for video codecs
EP1790168B1 (en) 2004-09-16 2016-11-09 Thomson Licensing Video codec with weighted prediction utilizing local brightness variation
US8948266B2 (en) * 2004-10-12 2015-02-03 Qualcomm Incorporated Adaptive intra-refresh for digital video encoding
CN1777289A (zh) 2005-11-30 2006-05-24 天津大学 利用选择性预测加快运动估计的方法
WO2007128706A2 (en) 2006-05-05 2007-11-15 Thomson Licensing Simplified inter-layer motion prediction for scalable video coding
EP2052546A4 (en) 2006-07-12 2010-03-03 Lg Electronics Inc METHOD AND DEVICE FOR SIGNAL PROCESSING
EP2047687B1 (en) 2006-08-02 2018-05-16 Thomson Licensing DTV Adaptive geometric partitioning for video encoding
JP4956304B2 (ja) * 2006-08-08 2012-06-20 キヤノン株式会社 画像符号化装置及びその制御方法、並びに、コンピュータプログラム及びコンピュータ可読記憶媒体
JP5026092B2 (ja) 2007-01-12 2012-09-12 三菱電機株式会社 動画像復号装置および動画像復号方法
KR101680951B1 (ko) * 2007-04-12 2016-11-29 톰슨 라이센싱 비디오 인코더에서 고속으로 기하학적 모드를 결정하기 위한 방법들 및 장치
CN101822064A (zh) * 2007-10-16 2010-09-01 汤姆逊许可公司 用于几何分割超级块的视频编码和解码的方法和设备
JP5097523B2 (ja) 2007-12-07 2012-12-12 船井電機株式会社 音声入力装置
EP2243297B1 (en) 2008-02-05 2017-03-08 Thomson Licensing Methods and apparatus for implicit block segmentation in video encoding and decoding
JP5071721B2 (ja) 2008-02-27 2012-11-14 ソニー株式会社 画像処理装置および方法、並びにプログラム
KR20090095316A (ko) 2008-03-05 2009-09-09 삼성전자주식회사 영상 인트라 예측 방법 및 장치
CN101609548B (zh) 2008-09-12 2011-04-06 西安电子科技大学 基于Wavelet和Wedgelet变换HMT模型的图像分割方法
WO2010036772A2 (en) 2008-09-26 2010-04-01 Dolby Laboratories Licensing Corporation Complexity allocation for video and image coding applications
JP2012089905A (ja) 2009-01-13 2012-05-10 Hitachi Ltd 画像符号化装置および画像符号化方法、画像復号化装置および画像復号化方法
EP2384004A4 (en) 2009-01-29 2012-08-01 Lg Electronics Inc METHOD AND APPARATUS FOR PROCESSING VIDEO SIGNALS USING INTRA MODE CONTOUR CODING
JP5456907B2 (ja) * 2009-12-04 2014-04-02 トムソン ライセンシング テクスチャー・パターン適応式の分割ブロック変換
KR20110068792A (ko) 2009-12-16 2011-06-22 한국전자통신연구원 적응적 영상 부호화 장치 및 방법
US8913661B2 (en) 2010-02-19 2014-12-16 Skype Motion estimation using block matching indexing
PL2559166T3 (pl) 2010-04-13 2018-04-30 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. Koder i dekoder dzielący interwał prawdopodobieństwa
PT3301648T (pt) * 2010-04-13 2020-04-20 Ge Video Compression Llc Herança em matriz de amostras em subdivisão multitree
US9020043B2 (en) 2010-05-10 2015-04-28 Google Inc. Pathway indexing in flexible partitioning
US20120008684A1 (en) 2010-07-09 2012-01-12 Samsung Electronics Co., Ltd. Method and apparatus of encoding and decoding video signal
EP2604036B1 (en) * 2010-08-11 2018-03-07 GE Video Compression, LLC Multi-view signal codec
WO2012147740A1 (ja) 2011-04-25 2012-11-01 シャープ株式会社 画像符号化装置、画像符号化方法、画像符号化プログラム、画像復号装置、画像復号方法及び画像復号プログラム
EP2521357A1 (de) 2011-05-06 2012-11-07 Siemens Aktiengesellschaft Verfahren und Vorrichtung zur Filterung von kodierten Bildpartitionen
JP5937212B2 (ja) * 2011-08-26 2016-06-22 トムソン ライセンシングThomson Licensing デプス符号化
KR101663394B1 (ko) * 2011-11-11 2016-10-06 지이 비디오 컴프레션, 엘엘씨 적응적 분할 코딩
EP3657788B1 (en) 2011-11-11 2021-08-04 GE Video Compression, LLC Effective prediction using partition coding
JP6717790B2 (ja) 2017-09-14 2020-07-08 ファナック株式会社 レーザ加工中に光学系の汚染レベルに応じて焦点シフトを調整するレーザ加工装置

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20080101707A1 (en) * 2006-10-30 2008-05-01 Debargha Mukherjee Method for decomposing a video sequence frame
WO2011046607A2 (en) * 2009-10-14 2011-04-21 Thomson Licensing Filtering and edge encoding
WO2011127966A1 (en) * 2010-04-13 2011-10-20 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. Inter-plane prediction

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
Yixiong Zhang, "Motion Compensation using Polyline based Block Partition", Image and Signal Processing, 2009. CISP '09. 2nd International Congress on, 17-19 Oct. 2009 (2009.10.19.) *

Also Published As

Publication number Publication date
JP6501808B2 (ja) 2019-04-17
US9756330B2 (en) 2017-09-05
BR122020014854B1 (pt) 2022-09-13
KR20190120444A (ko) 2019-10-23
EP3691262B1 (en) 2023-10-25
US20170332086A1 (en) 2017-11-16
JP6788699B2 (ja) 2020-11-25
KR102588425B1 (ko) 2023-10-12
US20200128260A1 (en) 2020-04-23
IN2014KN01047A (ko) 2015-10-09
CN109257597B (zh) 2023-05-16
CN109257599A (zh) 2019-01-22
EP2777285A1 (en) 2014-09-17
EP3691262A1 (en) 2020-08-05
EP3249923A1 (en) 2017-11-29
CN109257599B (zh) 2023-05-16
US10341667B2 (en) 2019-07-02
US10362317B2 (en) 2019-07-23
EP2777285B1 (en) 2017-08-16
CN109257598A (zh) 2019-01-22
US10567776B2 (en) 2020-02-18
JP2024012629A (ja) 2024-01-30
JP6084627B2 (ja) 2017-02-22
KR20160118373A (ko) 2016-10-11
JP2022153645A (ja) 2022-10-12
KR20230145540A (ko) 2023-10-17
US10986352B2 (en) 2021-04-20
JP7389185B2 (ja) 2023-11-29
US20200404294A1 (en) 2020-12-24
KR102373445B1 (ko) 2022-03-11
BR112014011406A2 (pt) 2017-06-27
CN109257596A (zh) 2019-01-22
EP3249923B1 (en) 2020-01-01
CN109257597A (zh) 2019-01-22
JP2015502063A (ja) 2015-01-19
CN109257598B (zh) 2023-05-12
HK1202202A1 (en) 2015-09-18
KR20200125750A (ko) 2020-11-04
CN104221379B (zh) 2019-01-01
HUE034631T2 (en) 2018-02-28
US20190297334A1 (en) 2019-09-26
CN109257596B (zh) 2023-06-13
KR102036175B1 (ko) 2019-10-24
EP4325865A2 (en) 2024-02-21
JP2021022947A (ja) 2021-02-18
WO2013068566A1 (en) 2013-05-16
US10771794B2 (en) 2020-09-08
US11863763B2 (en) 2024-01-02
BR112014011406A8 (pt) 2018-12-26
KR101663394B1 (ko) 2016-10-06
DK2777285T3 (da) 2017-11-27
US20140247871A1 (en) 2014-09-04
PT2777285T (pt) 2017-12-01
US20210185329A1 (en) 2021-06-17
NO2806722T3 (ko) 2018-03-10
JP7121093B2 (ja) 2022-08-17
BR112014011406B1 (pt) 2022-06-14
ES2647514T3 (es) 2017-12-22
CN104221379A (zh) 2014-12-17
KR102171788B1 (ko) 2020-10-29
PL2777285T3 (pl) 2018-01-31
EP3691262C0 (en) 2023-10-25
KR20140077990A (ko) 2014-06-24
JP2017108427A (ja) 2017-06-15
KR20220035274A (ko) 2022-03-21
KR102471528B1 (ko) 2022-11-28
JP2019134466A (ja) 2019-08-08
US20170332088A1 (en) 2017-11-16

Similar Documents

Publication Publication Date Title
JP7389185B2 (ja) 高い分割自由度を伴う効果的なパーティション符号化
US10771793B2 (en) Effective prediction using partition coding
US20200404315A1 (en) Effective wedgelet partition coding using spatial prediction

Legal Events

Date Code Title Description
A107 Divisional application of patent
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right