KR20140068013A - 심도맵의 인코딩 및 디코딩 - Google Patents

심도맵의 인코딩 및 디코딩 Download PDF

Info

Publication number
KR20140068013A
KR20140068013A KR1020147003372A KR20147003372A KR20140068013A KR 20140068013 A KR20140068013 A KR 20140068013A KR 1020147003372 A KR1020147003372 A KR 1020147003372A KR 20147003372 A KR20147003372 A KR 20147003372A KR 20140068013 A KR20140068013 A KR 20140068013A
Authority
KR
South Korea
Prior art keywords
frame
clipping plane
depth
plane parameter
parameter value
Prior art date
Application number
KR1020147003372A
Other languages
English (en)
Inventor
주앙페이 우
토마스 루서트
Original Assignee
텔레포나크티에볼라게트 엘엠 에릭슨(피유비엘)
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 텔레포나크티에볼라게트 엘엠 에릭슨(피유비엘) filed Critical 텔레포나크티에볼라게트 엘엠 에릭슨(피유비엘)
Publication of KR20140068013A publication Critical patent/KR20140068013A/ko

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/117Filters, e.g. for pre-processing or post-processing
    • 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/172Methods 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 picture, frame or field
    • 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/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/182Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being a pixel
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/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/503Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
    • 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/503Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
    • H04N19/51Motion estimation or motion compensation
    • H04N19/513Processing of motion vectors
    • H04N19/517Processing of motion vectors by encoding
    • H04N19/52Processing of motion vectors by encoding by predictive encoding
    • 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/503Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
    • H04N19/51Motion estimation or motion compensation
    • H04N19/523Motion estimation or motion compensation with sub-pixel accuracy
    • 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/503Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
    • H04N19/51Motion estimation or motion compensation
    • H04N19/56Motion estimation with initialisation of the vector search, e.g. estimating a good candidate to initiate a search
    • 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/503Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
    • H04N19/51Motion estimation or motion compensation
    • H04N19/573Motion compensation with multiple frame prediction using two or more reference frames in a given prediction direction
    • 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/65Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using error resilience
    • H04N19/66Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using error resilience involving data partitioning, i.e. separation of data into packets or partitions according to importance

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)
  • Testing, Inspecting, Measuring Of Stereoscopic Televisions And Televisions (AREA)

Abstract

본 발명은 카메라(40)와 피사체 사이의 거리를 나타내는 화소값을 각각 갖는 화소(11)로 이루어진 프레임(10) 형태의 심도맵을 예측적 인코딩 및 디코딩하는 데 있어서 예측 가중치를 사용한다. 예측 가중치는, 프레임(10)과 연관된 심도 클리핑 평면 파라미터값에 기초하여 그리고 어느 프레임(10)이 인코드 및 디코드되는지에 근거한 참조 프레임(20, 30)을 이용하여 계산된다. 예측 가중치를 계산시에 심도 클리핑 평면 파라미터값을 사용하여서, 심도맵의 인코딩 및 디코딩을 위한 코딩 효율이 개선된다.

Description

심도맵의 인코딩 및 디코딩{DEPTH MAP ENCODING AND DECODING}
본 발명은 개략적으로 심도맵(depth map)의 처리에 관한 것으로, 구체적으로는 심도맵의 예측적 인코딩 및 디코딩(predictive encoding & decoding)에 관한 것이다.
H.264(동영상 전문가그룹 4의 고급 영상 코딩(MPEG-4 AVC: Moving Picture Experts Group-4 Advanced Video Coding)이라고도 부름)는 최신의 영상 인코딩 표준이다. 이는, 프레임과 프레임 사이에서의 그리고 하나의 프레임 내에서의 중복 제거를 이용한 복합 코덱(hybrid codec)이다. 인코딩의 실행에 의해 출력되는 데이터는 영상 코딩 계층(VCL: Video Coding Layer) 데이터이며 이는 전송 또는 저장되기 전에 네트워크 추상화 계층(NAL: Network Abstraction Layer) 단위로 캡슐화된다. 이는, 양호한 압축율의 다양한 압축 기술들을 사용하는 복합 영상 코딩의 표준이다.
H.264는 블록을 기반으로 한다. 즉 영상 프레임(video frame)이 매크로블록(MB)(즉, 16×16의 화소 블록) 단위로 처리된다. 매크로블록은 보다 세분되어 하위 매크로블록으로 된다. 인코딩해야 할 데이터의 양을 최소화하기 위해, 움직임 보상(MC: motion compensation)이라고 하는 기술을 비인트라(non-intra) 블록에 적용한다. 이 기술은, 현재 블록의 화소값을 예측하기 위해 인접 프레임에서의 화소값을 사전에 재구성(reconstruction)하기 위해 사용된다. 현재 블록에 대한 예측 값을 얻기 위하여, 참조 프레임에서의 현재 블록과 유사한 영역에 대한 참조를 비트열(bitstream)로 나타낸다. 예측된 화소값을 잔여 화소값과 함께 추가함으로써 최종 재구성을 이룰 수 있다. 참조 프레임 내에서 현재 인코딩 블록에 최적으로 매칭되는 것을 찾아내기 위해, 일반적으로 인코더 측에서 움직임 탐색(motion search)을 수행한다. 이는, 현재 블록 및 가능성 있는 참조 블록 사이의 절대차의 합(SAD: Sum of Absolute Differences))의 제곱차 합(SSD: Sum of Squared Differences)의 최소치를 구한다. 움직임 탐색의 결과로서, 어느 참조 프레임을 지칭하는지를 나타내는 참조 프레임 인덱스(reference frame index)와, 참조 영역을 가리키는 옵셋 벡터(offset vector)(움직임 벡터(MV)라고 함)가 얻어진다.
H.264에는 세 가지 유형의 슬라이스(slice)가 있다 - 즉, I, P, B 슬라이스. I 슬라이스는 다른 프레임들을 전혀 참조하지 않고 그 자체로만 인코드된 데이터만을 포함한다. P 슬라이스는 각각 다른 프레임들에서 각각의 단일 영역을 참조하는 단방향의 예측된 매크로블록(MB)을 포함한다. B 슬라이스는, I 또는 P 슬라이스 또는 다른 B 슬라이스에서 재구성된 화소를 참조하는 블록을 포함할 수 있다. 이에 덧붙여, B 슬라이스는 또한, 양방향의 예측된 매크로블록(이 예측값은 다른 참조 영역들로부터 얻은 다수 성분으로 구성됨)을 포함할 수 있다. 통상적으로, 예측은 전방 참조(forward reference)와 후방 참조(backward reference)를 평균함으로써 이루어진다. 가중 예측(weighted prediction)은 양방향 예측의 특수한 종류로서, 이 가중 예측에서는 참조 성분들이 동일한 가중치를 갖지 않는다. 이는 특별한 경우(가령, 페이드인 장면)에 큰 장점을 갖는다.
오늘날의 3D 영상 표기에서 일반적으로 사용되는 형식 중 하나는 "텍스처(texture) + 심도(depth)"이다. 텍스처 영상(texture video)은 실제의 영상 질감을 나타내고, 심도맵(depth map)은 텍스처 표기에 관련된 모든 심도 정보를 포함한다. 뷰(view) 합성 알고리즘을 사용하여, 텍스처 + 심도 형식으로부터 임의 개수의 뷰를 합성할 수 있는데, 이는 스테레오 또는 자동입체(autostereoscopic) 응용에 사용될 수 있다. 일반적으로 심도맵은 그레이스케일 이미지인데, 여기서는 휘도값(luminance value)이 카메라와 피사체 사이의 거리를 나타낸다. 이는 텍스처 영상과 함께 사용되어 또다른 화면을 생성할 수 있다. 심도맵 중 일반적으로 사용되는 한 가지 유형은, 카메라와 피사체가 가까울수록 휘도값이 더 커지는 속성을 갖는다.
비트 심도(bit depth)에 의해 제한되는 심도맵은 한정된 값의 범위만을 갖는다. 8비트로 비트 심도를 나타내는 경우에는 휘도값의 단계가 최대 256개 있을 수 있다. 이들 단계로는 모든 범위의 실제 장면을 표기하기에는 크게 부족하다. 실제 장면의 범위는 거의 무한대에 위치하는 구름으로부터 카메라 렌즈 앞에 있는 개미에까지 이를 수 있기 때문이다. 무한대에 대해서는 휘도값 0을, 카메라가 촬상할 수 있는 가장 가까운 피사체에 대해서는 휘도값 255를 고려하면, 양자화 오차가 너무 크게 일어나고 정확성은 손실될 것이다. 다행히도, 실제 상황에서는 일반적으로, 가까이 있는 책과 멀리 있는 산 모두에 초점을 맞추지는 않는다. 따라서 장면의 속성에 맞게, 관심있는 지역 범위에 256개의 한정된 단계를 할당할 수 있는 것이다. 이러한 심도 범위에 대해 두 가지 파라미터가 정의된다. Znear는 심도값에 의해 분해(resolve)될 수 있는 가장 가까운 피사체를 나타내며, 일반적으로 255의 휘도값을 갖는다. 카메라로부터 0 내지 Znear 사이의 거리에 있는 모든 장면은 심도 Znear를 갖는 것으로 취급되며 따라서 이들 장면들은 휘도수 255를 갖는다. 이와 유사하게, Zfar는 심도값에 의해 분해될 수 있는 가장 먼 피사체를 나타내며 그 휘도값은 0이다. 카메라로부터 Zfar 내지 무한대 사이의 거리에 있는 모든 장면은 심도 Zfar를 갖는 것으로 취급되며 따라서 이들 장면들은 휘도수 0을 갖는다. Znear와 Zfar 사이의 심도 z는 다음 식 1에 의해 주어진다. 이 식에서 d는 휘도를 나타낸다.
Figure pct00001
심도맵은 3D 효과를 만들기 위하여 3D 이용자 측에서 필요하기 때문에, 3D 비트열로서 전송된다. 전송 대역폭을 절약하기 위해서 이를 최대한 압축하는 것이 바람직하다. 오늘날, 심도맵의 코딩을 위한 전용의 비디오 코덱은 없으며, H.264와 같은 통상의 "텍스처" 비디오 코덱이 일반적으로 사용된다.
심도 클리핑 평면(depth clipping plane) 파라미터, 즉, Znear와 Zfar도 또한, 위에서 제시한 휘도-심도 변환공식(수학식 1)을 결정하는 주요 파라미터로서 심도맵과 함께 전송된다. 심도 클리핑 평면은 카메라가 촬영하는 장면에 따라 프레임마다 변경될 수 있다. 예를 들어, 카메라가 줌인될 때에는, 장면의 컨텐트에 보다 잘 맞도록 Znear와 Zfar가 모두 감소될 것이다. 때로는 정지 장면의 경우에도 컨텐트 제작자가 만들려고 하는 특수 효과를 내기 위해서 Znear와 Zfar가 변경된다.
심도맵의 인코딩 및 디코딩, 특히, 심도맵의 예측적 인코딩 및 디코딩은, 인코딩 또는 디코딩할 현재 프레임과 참조 프레임 사이의 심도 클리핑 평면 파라미터값들의 변동이 클 때에 특히 문제시될 수 있다.
본 발명의 전반적인 목적은 심도맵의 예측적 인코딩 및 디코딩을 제공하는 것이다.
본 발명의 구체적인 목적은 심도맵의 예측적 인코딩 및 디코딩과 관련하여 심도 클리핑 평면 파라미터값을 사용하는 것이다.
이들 목적 및 그 밖의 목적은 본 명세서에 개시된 구현형태들에 의해 명확해진다.
본 발명의 일 구현형태의 측면에 따르면, 다수 화소들로 이루어진 프레임 형태의 심도맵을 예측적 인코딩하는 방법이 제공된다. 여기서, 다수 화소들의 각 화소는 카메라와 각 피사체 사이의 각각의 거리를 나타내는 화소값을 각각 갖는다. 본 방법은, 상기 프레임과 연관된 적어도 첫 번째의 심도 클리핑 평면 파라미터값과, 참조 프레임과 연관된 적어도 첫 번째의 심도 클리핑 평면 파라미터값을 생성하는 것을 포함한다. 상기 프레임과 연관된 상기 첫 번째 심도 클리핑 평면 파라미터값과 상기 참조 프레임과 연관된 상기 첫 번째 심도 클리핑 평면 파라미터값에 기초하여 예측 가중치를 계산하며, 이 예측 가중치는 상기 프레임에 대한 예측 잔차를 계산하는 데 사용된다. 이 예측 잔차는 상기 프레임의 적어도 하나의 화소값과 상기 예측 가중치에 의해 가중화된 상기 참조 프레임의 적어도 하나의 화소값에 기초하여 계산된다. 상기 심도맵의 인코드된 표기는 상기 예측 잔차의 인코드된 표기를 포함한다.
상기의 구현형태에 관련된 한 측면에 따르면, 다수 화소들로 이루어진 프레임 형태의 심도맵을 예측적 인코딩하는 인코더가 정의된다. 인코더는, 상기 프레임과 연관된 적어도 첫 번째의 심도 클리핑 평면 파라미터값과 참조 프레임과 연관된 적어도 첫 번째의 심도 클리핑 평면 파라미터값을 생성하도록 구성된 값 생성기를 포함한다. 인코더의 가중치 계산기가 적어도 첫 번째 심도 클리핑 평면 파라미터값에 기초하여 예측 가중치를 계산하도록 구성된다. 인코더는 또한, 상기 프레임의 적어도 하나의 화소값과, 상기 예측 가중치에 의해 가중화된 상기 참조 프레임의 적어도 하나의 화소값에 기초하여 상기 프레임에 대한 예측 잔차를 계산하도록 구성되는 잔차 계산기를 포함한다. 여기서 심도맵의 인코드된 표기는 상기 예측 잔차의 인코드된 표기를 포함한다.
상기의 구현형태에 관련된 다른 측면에 따르면, 다수 화소들로 이루어진 프레임 형태의 심도맵을 수신하도록 구성된 입력부를 포함하는 인코더가 정의된다. 이 인코더는, 메모리에 저장된 컴퓨터 프로그램의 코드 수단을 처리하도록 구성된 프로세서를 포함한다. 여기서 이 코드 수단은 상기 프로세서에서 실행시에 상기 프로세서로 하여금, 상기 프레임과 연관된 적어도 첫 번째의 심도 클리핑 평면 파라미터값과, 참조 프레임과 연관된 적어도 첫 번째의 심도 클리핑 평면 파라미터값을 생성하도록 한다. 코드 수단은 또한, 프로세서로 하여금, 상기 프레임과 연관된 상기 첫 번째 심도 클리핑 평면 파라미터값과 상기 참조 프레임과 연관된 상기 첫 번째 심도 클리핑 평면 파라미터값에 기초하여 예측 가중치를 계산하고, 상기 프레임의 적어도 하나의 화소값과 상기 예측 가중치에 의해 가중화된 상기 참조 프레임의 적어도 하나의 화소값에 기초하여 상기 프레임에 대한 예측 잔차를 계산하도록 한다. 인코더는 또한, 예측 잔차의 인코드된 표기를 포함하는 상기 심도맵의 인코드된 표기를 출력하도록 구성되는 출력부를 포함한다.
본 발명의 다른 구현형태의 측면에 따르면, 다수 화소들로 이루어진 프레임 형태의 심도맵을 예측적 디코딩하는 방법이 제공된다. 여기서, 다수 화소들의 각 화소는 카메라와 각 피사체 사이의 각각의 거리를 나타내는 화소값을 각각 갖는다. 본 방법은, 상기 프레임과 연관된 적어도 첫 번째의 심도 클리핑 평면 파라미터값과 참조 프레임과 연관된 적어도 첫 번째의 심도 클리핑 평면 파라미터값에 기초하여 계산된 예측 가중치를, 상기 심도맵의 인코드된 표기에 기초하여 생성하는 것을 포함한다. 상기 심도맵의 디코드된 표기가, 상기 프레임에 대한 예측 잔차에 기초하여 그리고 상기 예측 가중치에 의해 가중화된 상기 참조 프레임의 적어도 하나의 화소값에 기초하여 결정된다.
상기의 구현형태에 관련된 한 측면에 따르면, 다수 화소들로 이루어진 프레임 형태의 심도맵의 인코드된 표기를 예측적 디코딩하는 디코더가 정의된다. 이 디코더는, 심도맵의 인코드된 표기에 기초하여 예측 가중치를 생성하도록 구성된 가중치 생성기를 포함한다. 예측 가중치는, 상기 프레임과 연관된 적어도 첫 번째의 심도 클리핑 평면 파라미터값과 참조 프레임과 연관된 적어도 첫 번째의 심도 클리핑 평면 파라미터값에 기초하여 계산된다. 상기 프레임에 대한 예측 잔차에 기초하여 그리고 상기 예측 가중치에 의해 가중화된 상기 참조 프레임의 적어도 하나의 화소값에 기초하여 상기 심도맵의 디코드된 표기를 결정하도록 표기 결정기가 구성된다.
상기의 구현형태에 관련된 다른 측면에 따르면, 다수 화소들로 이루어진 프레임 형태의 심도맵의 인코드된 표기를 수신하도록 구성된 입력부를 포함하는 디코더가 정의된다. 이 디코더의 프로세서는, 메모리에 저장된 컴퓨터 프로그램의 코드 수단을 처리하도록 구성된다. 이 코드 수단은 상기 프로세서에서 실행시에 상기 프로세서로 하여금, 심도맵의 인코드된 표기에 기초하여 예측 가중치를 생성하도록 한다. 이 예측 가중치는 상기 프레임과 연관된 적어도 첫 번째의 심도 클리핑 평면 파라미터값과 참조 프레임과 연관된 적어도 첫 번째의 심도 클리핑 평면 파라미터값에 기초하여 계산된다. 그리고 코드 수단은 또한 프로세서로 하여금, 상기 프레임에 대한 예측 잔차에 기초하여 그리고 상기 예측 가중치에 의해 가중화된 상기 참조 프레임의 적어도 하나의 화소값에 기초하여, 상기 심도맵의 디코드된 표기를 결정하도록 한다. 디코더는 또한, 상기 심도맵의 상기 디코드된 표기를 출력하도록 구성되는 출력부를 포함한다.
심도 클리핑 평면 파라미터값에 기초하여 심도맵의 예측적 인코딩 및 디코딩을 수행하는 것, 특히, 상기 심도 클리핑 평면 파라미터값에 기초하여 예측 가중치를 계산하는 것은, 심도맵의 인코딩 및 디코딩을 위한 코딩 효율을 향상시킨다.
본 발명 및 본 발명의 추가 목적과 장점은 아래와 같은 첨부 도면과 함께 이하에서 기재한 상세한 설명을 참조함으로써 최상으로 이해될 수 있을 것이다.
도 1은 세 피사체 A, B, C가 있는 장면에서의 Znear 및 Zfar의 설정 예를 나타낸다.
도 2는 도 1의 장면에서 피사체 A가 카메라에 대해서 상대적으로 수평 이동하는 것을 나타낸다.
도 3은 도 1의 장면에서 피사체 A가 장면 밖으로 이동한 것을 나타낸다.
도 4는 다수의 피사체가 있는 장면에서의 Znear 및 Zfar의 정확한 설정의 예를 나타낸다.
도 5는 다수의 피사체가 있는 장면에서의 Znear 및 Zfar의 지능적 설정의 예를 나타낸다.
도 6은 일 구현형태에 따른 심도맵의 예측적 인코딩 방법의 흐름도이다.
도 7은 도 6 및 도 17의 가중치 계산 단계의 구현형태를 나타내는 흐름도이다.
도 8은 일 구현형태에 따른 도 6의 방법에 추가되는 선택적(옵션) 단계를 도시한 흐름도이다.
도 9는 일 구현형태에 따른 도 6의 방법에 추가되는 선택적(옵션) 단계들을 도시한 흐름도이다.
도 10은 도 9 및 도 18에서의 순서정렬 단계의 일 구현형태를 나타내는 흐름도이다.
도 11은 일 구현형태에 따른 도 6의 방법에 추가되는 선택적(옵션) 단계들을 도시한 흐름도이다.
도 12는 일 구현형태에 따른 도 9의 방법에 추가되는 선택적(옵션) 단계를 도시한 흐름도이다.
도 13은 일 구현형태에 따른 도 6 및 도 15의 방법에 추가되는 선택적(옵션) 단계를 도시한 흐름도이다.
도 14는 다른 구현형태에 따른 도 6 및 도 15의 방법에 추가되는 선택적(옵션) 단계들을 도시한 흐름도이다.
도 15는 일 구현형태에 따른 심도맵의 인코드된 표기의 예측적 디코딩 방법의 흐름도이다.
도 16은 도 15의 가중화 단계의 일 구현형태를 나타내는 흐름도이다.
도 17은 도 15의 가중화 단계의 다른 구현형태를 나타내는 흐름도이다.
도 18은 일 구현형태에 따른 도 15의 방법에 추가되는 선택적(옵션) 단계들을 도시한 흐름도이다.
도 19는 일 구현형태에 따른 도 18의 방법에 추가되는 선택적(옵션) 단계를 도시한 흐름도이다.
도 20은 일 구현형태에 따른 프레임열을 개략적으로 도시한다.
도 21은 일 구현형태에 따른 인코더의 개략 블록도이다.
도 22는 다른 구현형태에 따른 인코더의 개략 블록도이다.
도 23은 도 22의 프레임 순서정렬 유닛의 일 구현형태의 개략적 블록도이다.
도 24는 또다른 구현형태에 따른 인코더의 개략 블록도이다.
도 25는 또다른 구현형태에 따른 인코더의 개략 블록도이다.
도 26은 적어도 부분적으로 소프트웨어로 실현되는 일 구현형태에 따른 인코더의 개략 블록도이다.
도 27은 일 구현형태에 따른 디코더의 개략 블록도이다.
도 28은 도 27의 가중화부의 일 구현형태의 개략 블록도이다.
도 29는 다른 구현형태에 따른 디코더의 개략 블록도이다.
도 30은 도 29의 프레임 순서정렬 유닛의 일 구현형태의 개략 블록도이다.
도 31은 또다른 구현형태에 따른 디코더의 개략 블록도이다.
도 32는 또다른 구현형태에 따른 디코더의 개략 블록도이다.
도 33은 적어도 부분적으로 소프트웨어로 실현되는 일 구현형태에 따른 디코더의 개략 블록도이다.
도면 전반에 걸쳐서, 유사하거나 대응하는 구성요소에는 동일한 참조 번호를 사용하였다.
본 구현형태는 전반적으로 심도맵의 처리에 관한 것이며 구체적으로는 심도맵의 예측적 인코딩 및 디코딩에 관한 것이다.
구현형태들의 전반적인 특징으로서, 심도맵(depth map)의 예측적 인코딩 및 디코딩은, 현재 프레임(current frame)의 형태로서 심도맵에 연관되고 이 현재 프레임에 대한 인코딩 및 디코딩 참조(encoding & decoding reference)로서 사용되는 참조 프레임(reference frame)에 연관된 심도 클리핑 파라미터값(depth clipping parameter value)의 정보에 기초하여 적어도 부분적으로 수행된다. 더 상세하게는, 예측적 인코딩 및 디코딩에 사용되는 예측 가중치(prediction weight)는 상기 심도 클리핑 평면(depth clipping plane) 파라미터에 근거하여 결정된다. 이러한 심도 클리핑 평면에 근거한 가중화의 결과로서, 잔차 신호(residual signal)를 최소화 할 수 있고 따라서 코딩 효율이 극대화된다. 따라서, 예를 들어 가중화된 예측을 사용하여, 심도맵을 코딩 및 디코딩할 때에 장면이 어떻게 변화하는지에 대한 정보를 고려함으로써, 코딩 효율을 향상시킬 수 있다.
심도 클리핑 평면이 심도맵에 어떻게 관련되는지의 개념을 이하에서 도 1 내지 도 5를 참조하여 분석하기로 한다. 도면 1-3에서는, 심도 클리핑 평면 파라미터값의 이른바 '정확한 설정'(PS: precise setting)을 이용하였다. 이러한 프로세스에 의해 다양한 구현형태에 따른 심도 클리핑 평면 파라미터값을 결정할 수 있을 것이다. 일 구현형태에서 장면의 심도는, 예컨대 ToF 카메라(time-of-flight camera)를 이용하여 측정된다. 이로써 심도맵에서의 최소 및 최대 심도를 알게 되고 이에 따라 심도 클리핑 평면 파라미터값 Znear 및 Zfar를 설정할 수 있다. 다른 구현형태에서, 심도는 예를 들어 스테레오 쌍(stereo pair)에 근거하여 그리고 카메라 파라미터를 부여함으로써 추정된다. 이 경우에는 불일치로부터 심도를 계산할 수 있으며 이에 따라 Znear 및 Zfar를 설정할 수 있다. 또다른 구현형태는 특히 컴퓨터 그래픽 애니메이션에 적용할 수 있다. 이 경우에, 구축된 합성 모델을 사용하여, 카메라로부터 가장 가까운 피사체와 가장 먼 피사체 사이의 거리를 구할 수 있으며 이에 따라 Znear 및 Zfar를 설정할 수 있다.
도 1은 카메라(40)로부터 차례대로 멀리 떨어져 있는 세 개의 피사체 A, B, C만 포함된 단순한 장면에서 Znear 및 Zfar가 어떻게 설정되는지의 예를 나타낸다. Znear는 피사체 A에 정확하게 설정되어 있고 Zfar는 피사체 C에 정확하게 설정되어 있다. 피사체 A와 카메라(40) 사이의 영역은 흰색으로 칠해져 있는데, 이는 심도의 8비트 휘도값 255에 해당된다. 피사체 C와 무한대 사이의 영역은 검정색으로 칠해져있고, 휘도값 0에 해당된다. 피사체 A와 피사체 C 사이의 영역은 그레이(회색) 계조로 칠해져 있는데, 이는 각 피사체가 심도맵에서 어떻게 보여야 하는지를 나타내는 그레이스케일을 대략적으로 나타낸다.
이 예에서 피사체 B 및 C는 고정되어 있고 피사체 A는 수평으로 이동하는 것으로 가정하자. 도 2는 도 1에 도시된 프레임 이후의 프레임의 상황을 도시한다. 여기서는 피사체 A의 절반이 장면 밖으로 이동했다. 그러나, 피사체 A는 여전히 Znear가 설정되어 있는 가장 가까운 장면을 나타낸다.
도 3에서, 피사체 A가 장면에서 완전히 나가서 피사체 B가 가장 카메라(40)에 가까운 피사체가 된다. 결과적으로 Znear는 카메라(40)로부터 피사체 B의 거리에 맞게 급격히 증가한다.
프레임 0(도 1)과 프레임 2(도 3)가 먼저 인코드되는, 예를 들어, 프레임 0은 I 프레임으로 프레임 2는 P 프레임으로 인코드되는, 전형적인 계층적 영상 코딩 구조를 고려하자. 그 사이의 프레임 1(도 2)은 나중에, 예컨대 양방향 예측을 이용하여, 예를 들어, 프레임 0과 프레임 2가 모두 각자의 참조 화상(또는 프레임) 리스트(reference picture or frame list) 내에 있는 B 프레임으로 인코드된다. 이 구현형태는, 프레임 1에서 프레임 2로 Znear가 급격히 증가하는 것을 감지할 수 있다는 사실 그리고 이는 프레임 1의 코딩 이전에 일어난다는 사실을 이용한다. 이러한 지식은 장면이 어떻게 변경되었는지의 대략적인 개념을 얻기 위하여 사용될 수 있다. 이로써 본 명세서에서 추후에 설명하는 것과 같이 코딩 효율을 개선시킬 수 있다.
심도 클리핑 평면 파라미터값을 설정하는 또다른 방법은, 가장 가까운 피사체의 거리를 Znear로 설정하고 이보다 먼 피사체의 거리를 Zfar로 단순히 설정하는 것에만 근거하지 않는다. 이 접근법은 장면에서의 심도의 분포도를 분석하고, 심도 범위의 조밀한 부분을 단지 커버하기만 함으로써, 커버된 심도 범위와 양자화 오차 간에 균형이 이루어지도록 Znear 및 Zfar를 지능적으로 설정한다. 이 방법을 본원에서는 '지능적 설정'(IS: intelligent setting)이라고 지칭한다.
IS는 보다 높은 심도 해상도를 제공하기 위하여, 피사체들이 모여 있는 위치 로, 심도 클리핑 평면을 영리하게 조절할 수 있다. 어떤 경우에는, 특수한 효과를 만들기 위하여 수동 작업도 추가된다. 피사체들이 심도 클리핑 평면의 범위 밖에 존재할 수 있기 때문에, Znear 및/또는 Zfar의 급격한 변화는 PS의 경우에 비해, 변화하는 심도맵 컨텐트의 다른 해석 결과를 내놓게 된다.
도 4는 장면에 대한 심도 클리핑 평면 파라미터값을 PS 방식으로 설정하는 전형적인 방법을 나타낸다. 도 5는 도 4와 상응하는 장면을 나타내고 있지만, 대신에, Znear 및 Zfar를 IS 방식으로 설정하는 것을 나타낸다. 이 장면에서는 다른 심도 값을 갖는 다수의 피사체들이 있다. 도 4의 프레임에서, 모든 피사체는 심도 클리핑 평면의 범위에 포함되며, 따라서 255 값(8비트 심도의 해상도를 나타냄)으로 표시되는 피사체 A를 제외하고 다른 모든 피사체는 255 미만의 휘도값으로 표시된다. 도 5에 도시된 프레임에서 Znear는 피사체 B가 위치하고 있는 거리로 증가되어 있다. 여기서, IS 방식은, 예를 들면, 피사체들이 이 위치에 모여 있음을 검출하는 자체 적용 알고리즘을 사용할 수도 있으며, 해당 영역의 심도 해상도를 증가시킬 것을 또는 수동 작업을 개입할 것을 인식하게 될 것이다. 이러한 유형의 동작에 의해서 전범위(global) 휘도 변화의 효과를 얻을 수 있다. 피사체 A와 피사체 B 사이의 피사체는 모두 휘도값 255를 갖는다. 피사체 B 와 피사체 C 사이의 피사체는 도 4의 경우에 비해 더 높은 휘도값을 갖는다. 유일하게 변하지 않은 피사체는, 여전히 검정색으로 되어 있는 피사체 C이다. 따라서, 전체적인 효과는, 도 4 및 도 5를 비교할 때, 전범위의 휘도값이 증가하였다.
이러한 형태의 휘도 변화 거동을 앎으로써, 본 구현형태는 코딩 효율을 개선하며 보다 양호한 예측을 위하여 가중 예측(weighted prediction)을 활용한다.
도 6은, 도 20의 다수 화소(11)를 갖는 프레임(10)의 형태로 심도맵을 예측적 인코딩하는 구현형태를 나타내는 흐름도이다. 프레임(10) 내의 다수 화소(11)의 각 화소(11)는 카메라와 각 피사체 간의 각각의 거리를 나타내는 각각의 화소값을 가진다. 화소값은 전통적으로 심도를 나타내기 위해 사용되는 앞에서 언급한 휘도값인 것이 바람직하며, 앞의 수학식 1에서는 d로 나타내었다.
이 방법의 일반 구현형태는, 단계 S1에서, 프레임(10)과 연관된 적어도 첫 번째의 심도 클리핑 평면 파라미터값과, 참조 프레임(20, 30)과 연관된 적어도 첫 번째의 심도 클리핑 평면 파라미터값을 생성하는 단계를 포함한다. 단계 S2에서는, 프레임(10)과 연관된 상기 첫 번째 심도 클리핑 평면 파라미터값과, 참조 프레임(20, 30)과 연관된 상기 첫 번째 심도 클리핑 평면 파라미터값에 기초하여 예측 가중치를 계산한다. 단계 S3에서, 프레임(10)의 적어도 하나의 화소값과 예측 가중치에 의해 가중화된 참조 프레임(20, 30)의 적어도 하나의 화소값에 기초하여, 프레임(10)에 대한 예측 잔차(prediction residual)가 생성된다. 이에, 심도맵의 인코드된 표기는 예측 잔차의 인코드된 표기를 포함하게 된다.
이러한 일반 구현형태의 여러가지 특정 구현형태들을 이하에서 상세히 설명한다.
일 구현형태에서, 도 6의 방법은 단계 S1에서, 프레임(10)과 연관된 적어도 첫 번째의 심도 클리핑 평면 파라미터값을, 참조 프레임(20, 30)과 연관된 적어도 첫 번째의 심도 클리핑 평면 파라미터값과 함께 생성하는 것으로 일반화해서 언급되어 있다. 상기 생성되는 심도 클리핑 파라미터값은 현재 프레임(10)과 참조 프레임(20, 30)의 각각의 Znear 값 및 현재 프레임(10)과 참조 프레임(20, 30)의 각각의 Zfar 값일 수 있을 것이다. 따라서, 단계 S1에서는 이들 선택지 중에서 하나의 심도 클리핑 평면 파라미터값이 각각 프레임(10, 20, 30)마다 생성된다. 다른 구현형태에서, 단계 S1에서는, 현재 프레임(10)의 Znear 및 Zfar 값과, 참조 프레임(20, 30)의 Znear 및 Zfar 값이 모두 생성된다. 이 구현형태에서, 두 개의 심도 클리핑 평면 파라미터값은 단계 S1에서 각각의 프레임(10 ,20, 30) 별로 생성된다.
단계 S1은 현재 프레임(10) 및 참조 프레임(20, 30)과 연관된 데이터에 기초하여 심도 클리핑 평면 파라미터값을 결정하거나 검색하는 이점을 갖는다. 본 명세서에서 앞에서 설명한 바와 같이, 이들 파라미터값은 PS 접근법에 따라 또는 IS 방식에 따라 결정될 수 있다. 또는 이의 대안으로서, 파라미터값들은 사전에 정해진 것들이며, 프레임(10, 20, 30)의 화소 데이터(휘도값)와 함께 전송된다.
다음 단계 S2에서는, 단계 S1에서 생성된 현재 프레임(10)과 연관된 적어도 첫 번째의 심도 클리핑 평면 파라미터값과, 참조 프레임(20, 30)과 연관된 적어도 첫 번째의 심도 클리핑 평면 파라미터값에 기초하여 예측 가중치를 계산한다. 따라서 이 구현형태에서, 단계 S1에서 현재 프레임(10) 및 참조 프레임(20, 30)에 대해 생성된 심도 클리핑 평면 파라미터값을 단계 S2에서 사용하여 참조 프레임(20, 30)에 대한 적절한 예측 가중치를 계산한다.
다음, 단계 S2에서 계산된 예측 가중치는 현재 프레임(10)으로부터의 예측 잔차 또는 차이를 계산하기 위해 단계 S3에서 사용된다. 이 예측 잔차는 현재 프레임(10)의 적어도 하나의 화소값과 단계 S2에서 계산된 예측 가중치에 의해 가중화된 참조 프레임(20, 30)의 적어도 하나의 화소값에 기초하여 계산된다. 심도맵의 인코드된 표기, 즉, 현재 프레임(10)은, 인코드된 버전 또는 표기의 형태(예컨대, 가변 길이의 인코드된 버전)인 것이 일반적인 상기 계산된 예측 잔차로 구성되는 것이 바람직하다.
참조 프레임(20, 30)의 적어도 하나의 화소값은 일반적으로, 당해 분야에서 널리 공지된 움직임 벡터(25, 35)에 의해 식별(identify)된다. 이에, 심도맵의 인코드된 표기는 이러한 움직임 벡터의 인코드된 표기로 구성되는 것이 바람직하다.
이러한 예측적 영상 코딩의 목적은 예측 잔차 신호를 최소화하는 것인데, 그 이유는 더 큰 예측 잔차에 비해 0에 가까운 잔차 값은 일반적으로 더 적은 비트로써 인코드되기 때문이다. 단일 참조 프레임, 즉, 단방향 예측을 사용하여서 예측 잔차 신호를 일반적으로
Figure pct00002
로 쓸 수 있다. 여기서, d1은 현재 프레임에서 예측되어야 할 신호(현재 프레임의 적어도 하나의 화소값)를 나타내고, pd1은 예측 신호를 나타내고, Δd1은 예측 잔차 신호(예측 잔차)를 나타낸다. 현재 프레임 이 프레임 1이고 참조 프레임이 프레임 0이라고 가정하면, 단계 S2에서 계산되는 예측 가중치 w는 예측치를 개선하기 위해 사용될 수 있고
Figure pct00003
Figure pct00004
를 얻을 수 있다. 여기서, d0는 참조 프레임에서의 참조 신호(참조 프레임의 적어도 하나의 화소값)를 나타낸다.
위에서 제시된 개념은 물론 양방향 예측에도 적용될 수 있다. 이 경우에는, 단계 S1에서는 현재 프레임(10)과 연관된 적어도 첫 번째의 심도 클리핑 평면 파라미터값, 제1 참조 프레임(20)과 연관된 적어도 첫 번째의 심도 클리핑 평면 파라미터값, 및 제2 참조 프레임(30)과 연관된 적어도 첫 번째의 심도 클리핑 평면 파라미터값을 생성한다. 단계 S2에서는 현재 프레임(10)과 제1 참조 프레임(20)에 대해 단계 S1에서 생성된 심도 클리핑 평면 파라미터값에 기초하여 제1 예측 가중치를 계산한다. 단계 S2에서는 또한, 현재 프레임(10)과 제2 참조 프레임(30)에 대해 단계 S1에서 생성된 심도 클리핑 평면 파라미터값에 기초하여 제2 예측 가중치를 계산하는 것이 바람직하다. 이 경우에 단계 S3에서는, 현재 프레임(10)의 적어도 하나의 화소값, 제1 예측 가중치에 의해 가중화된 제1 참조 프레임(20)의 적어도 하나의 화소값, 그리고 제2 예측 가중치에 의해 가중화된 제2 참조 프레임(30)의 적어도 하나의 화소값에 기초하여, 현재 프레임(10)에 대한 예측 잔차를 계산한다.
이에, 상기와 같은 예측 잔차 신호는
Figure pct00005
로 계산할 수 있다. 여기서 wA/wB는 제1/제2 예측 가중치를 나타내며, d0 A/d0 B는 제1/제2 참조 프레임(20/30)에서의 참조 신호를 나타낸다.
단계 S1에서 적어도 하나의 심도 클리핑 평면 파라미터값이 생성된 대상이 되는 참조 프레임은 영상 코딩 기술 분야에서의 주지 기술, 예컨대, 움직임 보상 또는 추정 절차에 따라 식별하거나 찾을 수 있다. 일반적으로, 프레임 열 중에서 적어도 하나의 프레임(20, 30)(통상적으로는 다수임)의 집합이, 현재 프레임(10)에 대한 잠재 또는 후보 참조 프레임으로 식별된다. 이들 참조 프레임(20, 30)은 현재 프레임(10)의 시점보다 먼저 시점을, 그리고 심지어는 나중의 시점을 가질 수 있다. 그러나, 이들은 인코딩/디코딩 순서에 따라 현재 프레임(10)에 선행한다. 전형적 방식에서, 이들 잠재 참조 프레임(20, 30)은, 프레임 열에서 시간적으로 인접한 프레임들 중에서 선택될 수 있을 것이다. 멀티뷰(multiview) 영상 코딩의 경우에, 참조 프레임은 또한, 현재 프레임(10)과 동일한 시점을 갖지만 현재 프레임의 현재의 카메라 뷰에 비하여 다른 카메라 뷰에 속하는 프레임들 중에서 선택될 수 있을 것이다.
다수 후보 프레임(20, 30)의 세트를 사용하는 것이 가능한 경우, 단계 S1은 이들 각 후보 참조 프레임(20, 30)별로 각각의 심도 클리핑 평면 파라미터값을 생성하는 것이 바람직하다. 단계 S2에서는 각 후보 참조 프레임(20, 30)에 대해서 각각의 예측 가중치가 계산되며, 이는 현재 프레임(10)에 있는 화소(11)의 현재 블록(12)과 각각의 가중치에 의해 가중화된 화소값을 갖는 화소(21, 31)의 가능한 참조 영역 또는 블록(22, 32) 간에 최소의 제곱차 합(SSD) 또는 절대차 합(SAD)을 찾는 데 사용된다. 움직임 탐색의 결과로서, 어느 참조 프레임(20, 30)을 지칭하는지를 나타내는 참조 인덱스와, 참조 영역(22, 32)을 가리키는 옵셋 벡터(25, 35)(움직임 벡터(MV)라고 함)가 얻어진다. SAD 또는 SSD를 최소화였던 예측 잔차는 심도맵의 인코드된 표기를 구성하기 위해 함께 상기 참조 인덱스 및 움직임 벡터(25, 35)와 함께 사용된다.
특정 구현형태에서, 단계 S1에서는 현재 프레임에 연관된 근거리 심도 클리핑 평면 파라미터값(Znear) 및 먼 심도 클리핑 평면 파라미터값(Zfar)과, 참조 프레임과 연관된 Znear 및 Zfar가 생성된다. 이 경우에, 이들 네 개의 심도 클리핑 평면 파라미터값은 단계 S2에서 예측 가중치를 계산하는 데 사용된다.
특정 구현형태에서, 예측 가중치는 현재 프레임과 연관된 Zfar 및 Znear 간의 차이와 참조 프레임과 연관된 Zfar 및 Znear 간의 차이의 몫(나눗셈의 몫)에 기초하여 단계 S2에서 계산될 수 있다.
이하, 예측 가중치를 계산하는 다양한 구현형태를 설명한다. 그러나 본 구현형태는, 심도맵의 인코딩 및 디코딩과 관련하여 예측 가중치들을 계산하기 위하여 심도 클리핑 평면 파라미터값을 어떻게 사용하는지를 예시하는 것일 뿐 이에 제한되는 것은 아닌 것으로 보아야 한다.
일 구현형태에서, d0와 d1은 프레임 0(참조 프레임)과 프레임 1(현재 프레임)에서의 화소값(휘도값)이며 8비트 표기법(즉, d0와 d1은 0∼255 사이의 값임)을 사용할 것으로 가정한다. d0와 d1은 수학식 1을 통해서 각각 Z 값의 대응 변수 Z0 및 Z1(즉, 카메라로부터의 물리적 거리)에 연계된다. 수학식 1에서 프레임
Figure pct00006
Figure pct00007
에 대해서 각각
Figure pct00008
Figure pct00009
값이 주어진다. 이 관계는,
Figure pct00010
Figure pct00011
에 대한 시간에 따른 변동값을 고려하여 최적의 예측 가중치 w를 도출하는 데 사용할 수 있다.
예측의 목적상, 참조 거리 Z0 및 현재 거리값 Z1은 동일하다고 가정하는 것이 합리적이다. 그 이유는, 일반적으로 프레임 내의 특정 피사체에 속한 화소는 참조 프레임 내의 동일한 피사체로부터의 화소로부터 예측되며, 이는 피사체 움직임의 경우에 이에 맞게 움직임 보상을 적용함으로써 수행될 수 있기 때문이다. 또한, 충분히 큰 프레임 레이트에서 두 인접한 프레임 간에는 카메라로부터 피사체까지의 거리가 크게 변하지 않는 것으로 가정할 수 있다. 이제, Z0 = Z1이라고 가정하면, 변화되는
Figure pct00012
Figure pct00013
값은 d0 및 d1에 대한 해당 화소값 사이에 차이를 발생시킬 것이다. 따라서 이 결과, 예측 가중치 w를 적절하게 선택하여서 차이를 보상하고 따라서 예측 잔차가 최소화된다. 즉,
Figure pct00014
이며
Figure pct00015
이다. 수학식 1을 사용하면, di는 다음과 같이 쓸 수 있다.
Figure pct00016
본 예에서, Z = Z0 = Z1은 물리적 거리를 나타내는데, 이는 예측의 목적상 일정하다고 가정한다. 따라서, 최적 가중치는 다음과 같이 쓸 수 있다.
Figure pct00017
이 수학식 2는
Figure pct00018
이고
Figure pct00019
인 사소한 특수 사례인 것으로 고려한다. 즉, 심도 클리핑 평면이 변경되지 않는다. 따라서 최적 예측 가중치는 1이 된다. 즉, 특정의 가중치는 없다.
다른 구현형태에서는, 예측 가중치를 얻기 위하여 리매핑 함수(remapping function)를 사용한다(참조: ISO/IEC JTC1/SC29/WG11 MPEG2011/N12349, 2011.12., Test model under consideration for AVC-based 3D video coding(3DV-ATM) by Miska M. Hannuksela, section 4.4 Depth Range Based Weighted Prediction(DRWP)). a 및 a+2b(b는 양의 정수)으로 표시되는 두 개의 입력 샘플을 가정한다. 이에 두 출력 샘플값 y1 및 y2가 나온다. 이때 출력 샘플값 y는 입력 샘플값 x의 선형 함수가 된다. 즉,
Figure pct00020
가 된다. 여기서
Figure pct00021
는 가장 가까운 정수 값을 산출하는 함수이다. 이 리매핑 함수는
Figure pct00022
와 같은 정수 산술식으로 정의할 수 있다. 여기서 >>는 우측 비트 시프트 연산을 나타낸다. 옵셋 o는
Figure pct00023
로 정의되고 가중치 w는
Figure pct00024
로 정의된다고 할 때, 리매핑 함수는 명시적 가중화된 예측치
Figure pct00025
와 동일해진다. 따라서 예측 가중치는 아래 식과 같이 표기될 수 있다.
Figure pct00026
파라미터 b는 카메라와, 비트열에 포함된 뷰 합성 파라미터로부터 도출할 수 있다.
사용할 수 있는 스케일링(scaling) 또는 가중화(weighting)를 수행하는 또다른 구현형태는 'ISO/IEC JTC1/SC29/WG11 MPEG2011/N12559, 2012.2., Test Model under Consideration for HEVC based 3D video coding by Heiko Schwartz and Krzystof Wegner, section 2.3.3 Z-near z-far compensated weighted prediction'에 개시되어 있다. 이 접근방식에서 예측 가중치는 다음과 같이 정의된다.
Figure pct00027
그리고 옵셋은
Figure pct00028
로 정의된다.
도 7에 나타낸 특정 구현형태는 도 6의 단계 S1에서 계속된다. 다음 단계 S10에서는, 참조 프레임에서의 화소 들 중 적어도 하나의 블록의 각 화소(본 명세서에서는 화소 블록 또는 단순히 블록이라고도 지칭됨)에 대해 각각의 예측 가중치를 계산한다. 각 예측 가중치는 바람직하게는
Figure pct00029
와 같이 계산된다. 여기서 Z는 화소의 심도 값을 나타낸다. 이것은, 화소들의 블록에 있는 각 화소가 각각 예측 가중치를 갖고 있음을 의미한다. 예를 들어, 블록이 매크로블록이라고 하면, 이는 16×16의 예측 가중치가 단계 S10에서 계산된다는 것을 의미한다. 다음 단계 S11에서는 단계 S10에서 계산된 각 예측 가중치를 평균하여 하나의 예측 가중치를 계산한다. 따라서, 이 평균 예측 가중치는 참조 프레임에서 의해당 블록에 대한 최적의 예측 가중치로서 사용된다.
평균 예측 가중치를 계산하는 상기 예는, 예측 가중치가 블록에 있는 각 예측 가중치마다 각각 산출되기 때문에 상당히 계산 집약적이다. 이는, 예를 들어, 4×4 블록에 대한 16개의 예측 가중치로부터 매크로블록에 대한 256개의 예측 가중치에까지의 계산량이 된다. 새로운 영상 인코딩 표준인 고효율 영상 코딩(HEVC: High Efficiency Video Coding)에서는, 매크로블록보다도 훨씬 큰 화소 블록(코딩 단위를 의미함)이 제시된다.
또 다른 대안으로서, 도 6의 단계 S2는 현재 프레임 및 참조 프레임의 쌍에 대해서 그리고 이들 두 프레임들 중 적어도 첫 번째의 심도 클리핑 평면 파라미터값에 기초하여, 하나의 예측 가중치를 계산한다.
특정 구현형태에서, 단계 S2는
Figure pct00030
를 기초로 또는 이 식과 같이(이것이 바람직함) 예측 가중치를 계산한다. 이 구현형태에서 파라미터 Z는 참조 프레임에 대한 평균 심도값을 나타낸다.
이 구현형태의 예에서 평균 심도값은 전체 참조 프레임에 대한 평균 심도이다. 따라서, 이 예에서 단일의 예측 가중치는 주어진 현재 프레임 및 참조 프레임의 쌍에 대해서 계산된다. 이 구현형태는 참조 프레임에 대해 계산되어야 할 예측 가중치의 수를 크게 감소시킨다.
또다른 대안으로서, 도 6의 단계 S2는 다수의 화소 블록이 포함된 참조 프레임에 있는 화소들의 블록에 대해서 예측 가중치를 계산한다. 예측 가중치는, 현재 프레임의 적어도 첫 번째의 클리핑 평면 파라미터값에 기초하여, 참조 프레임의 적어도 첫 번째의 클리핑 평면 파라미터값에 기초하여, 그리고 화소들의 블록의 대표적인 적어도 하나의 화소값에 기초하여 계산된다.
특정 구현형태에서, 단계 S2는
Figure pct00031
를 기초로 또는 이 식과 같이(이것이 바람직함) 예측 가중치를 계산한다. 이 구현형태에서 파라미터 Z는 블록에 대한 평균 심도값을 나타낸다.
따라서, 여기서 나타낸 것과 같이 예측 가중치는 화소 단위로, 또는 블록 단위로, 또는 프레임 단위로 계산될 수 있다. 전형적으로, 코딩 효율은 입도(granularity)(즉, 프레임에 특화된 예측 가중치에 대비한 화소 또는 블록에 특화된 예측 가중치)가 클 경우에 더 크게 개선된다.
그러나, 이러한 개선에는 복잡도 및 계산량의 증가라는 희생이 따른다. 따라서, 대부분의 실제 응용에서는 블록 또는 프레임 단위로 예측 가중치를 계산하는 것이 일반적으로는 충분할 것이다.
앞서 본 명세서에 개시된 바와 같이, 예측 가중치가 블록 단위마다 또는 프레임 단위마다 도출되는 경우에는, 이 도출을 위해 사용해야 할 단일의 Z 값은 없다. 왜냐하면 여러 개의 화소가 커버되기 때문이다. 그 경우에는, 몇 가지 평균화 방식을 시행할 수 있다. 따라서 이 구현형태는 커버된 화소(즉, 각 블록 또는 프레임 내의 화소들)의 Z 값의 산술적 평균으로서 또는 기하학적 평균으로서 Z를 사용할 수 있다. 또는 이와 달리, 예측 가중치들을 계산하기 위한 공식은 커버된 각 화소마다 별도로 적용할 수 있고, 이에, 평균 가중치(예를 들어 산술적 또는 기하학적 평균값)는 별도의 가중치값에 근거하여 유도된다.
예측 가중치를 계산하는 상기 예시에서는, 현재 프레임 및 참조 프레임의 Znear 및 Zfar 값 모두가 가중치 계산에 사용되었다. 그러나, 본 발명의 구현형태들이 이에만 한정되는 것은 아니다. 특정의 경우에, 예측 가중치는 현재 프레임 및 참조 프레임의 Znear 값에 근거하여, 또는 현재 프레임과 참조 프레임의 Zfar 값에 근거하여, 도 6의 단계 S2에서 계산된다.
일례로, 근거리 심도 클리핑 평면 파라미터값
Figure pct00032
를 갖는 세 개의 연속된 프레임을 가정하고, 인코딩해야 할 현재 프레임은 프레임 1이다. 그러면 프레임 0에 대한 예측 가중치는 수학식 5를 기초로 계산할 수 있거나, 바람직하게는 수학식 5와 같다.
Figure pct00033
프레임 2에 대한 상응하는 예측 가중치는 수학식 6을 기초로 계산할 수 있거나, 바람직하게는 수학식 6과 같다.
Figure pct00034
이러한 수식의 바탕을 이루는 철학은, 휘도의 변화가 심도 클리핑 평면의 변화에 선형으로 비례하기 때문에 예측 가중치는 두 심도 클리핑 평면 사이의 거리에 반비례한다고 가정하는 것이다. 분모는,
Figure pct00035
일 때 0인 정규화 인자(normalizing factor)임을 유의해야 한다. 이 경우, 예측 가중치 w0, w1 은 1로 설정될 수 있다.
먼 심도 클리핑 평면 파라미터값에 대해서는, 상기 식에서
Figure pct00036
Figure pct00037
로 대체한 아래와 같은 식을 이용할 수 있다.
Figure pct00038
Figure pct00039
Znear 값에 근거한 수식과 Zfar에 근거한 수식은, 예를 들어 영상의 큰 콘텐트가 배경(background)인지 또는 전경(foreground)인지에 따라, 독립적으로 사용될 수도 있고 함께 고려될 수도 있다. 예를 들자면, 두 Znear 및 Zfar의 조합의 효과는, 위의 수식을 각각 이용하여 계산된 Znear와 Zfar의 가중치 요소를 곱하여서 수학식 9와 같이 표기할 수 있다.
Figure pct00040
상기에 개시된 바와 같은 예측 가중치는 인코더 측에서 계산할 수 있을 것이며 그 후에 비트열 형태의(예를 들면, 블록 단위로 또는 프레임 단위로) 부가 정보로서 디코더로 전송될 수 있을 것이다. 도 8은 이 구현형태를 나타낸다. 이 방법은 도 6의 단계 S3에서부터 계속된다. 다음 단계 S20에서는 인코드된 예측 가중치 표기를 심도맵의 인코드된 표기 내에 삽입한다. 이 구현형태에서, 디코더는 단순히, 이 인코드된 예측 가중치 표기를 검색할 수 있으며, 따라서 디코딩 중에 예측 가중치 계산을 반복할 필요가 없다.
다른 구현형태에서, 프레임 인코딩과 관련된 예측 가중치들의 상기 개시된 계산은, 디코더의 심도맵의 인코드된 표기를 디코딩하는 기능에 의해서 수행된다. 이 경우, 어떠한 부가 정보도 비트열로 전송할 필요가 없고 예측 가중치는 파라미터 Z인 각각의 참조 화소값을 갖는 앞에 제시한 화학식들을 사용하여 계산될 수 있을 것이다.
또한, 코딩 효율을 향상시키기 위해서, 현재 프레임 및 참조 프레임의 심도 클리핑 평면 파라미터값을 추가적으로 또는 대체적으로 사용할 수 있다. 이러한 구현형태는 도 9에 개시되어 있다. 이 방법은 전반적으로, 다수의 참조 프레임 또는 후보 참조 프레임을 현재 프레임에 대해서 식별하는 단계 S30에서 시작한다. 이들 참조 프레임은, 앞에서 언급한 것과 같이, 현재 프레임의 시점보다 선행하는 또는 뒤따르는 시간적으로 인접한 참조 프레임일 수 있거나, 또는, 멀티뷰 영상 코딩의 경우에는, 현재 프레임과 동일한 시점을 갖지만 다른 카메라 뷰에 속하는 참조 프레임일 수 있을 것이다. 다음 단계에서는 단계 S30에서 식별된 각 참조 프레임에 대한 유사도(similarity metric)를 계산한다. 이 유사도는 프레임에 연관된 첫 번째 심도 클리핑 평면 파라미터값과 참조 프레임에 연관된 첫 번째 심도 클리핑 평면 파라미터값에 기초한다. 그 다음에, 단계 S32에서, 상기 계산된 유사도에 적어도 부분적으로 기초하여, 다수의 참조 프레임을 참조 화상 또는 프레임 리스트의 순서로 정렬한다. 다음 단계 S33에서는 단계 S32에서 참조 프레임의 순서 정렬에 의해 생성된 참조 프레임 리스트에서 단계 S30에서 식별된 적어도 하나의 참조 프레임 참조 프레임 인덱스를 각각 할당한다. 이에, 심도맵의 인코드된 표기는 적어도 하나의 참조 프레임 인덱스의 각각의 인코드된 표기를 포함하게 된다. 이 방법은 도 6의 S1 단계로 속행된다.
특정 구현형태에서, 단계 S31은 프레임과 연관된 심도 클리핑 평면 파라미터값과 참조 프레임에 연관된심도 클리핑 평면 파라미터값 간의 절대값 차로서 유사도를 계산한다.
도 10은 도 9의 순서정렬 단계 S32의 특정 구현형태를 나타내는 흐름도이다. 이 방법은 도 9의 단계 S31로부터 속행된다. 다음 단계 S40은 유사도(SM)를 임계값(T)와 비교한다. 유사도가 임계값보다 작으면, 상기 방법은 S41 단계로 진행되어, 참조 프레임의 위치를, 다수의 참조 프레임들이 현재 프레임까지의 각 거리를 기초로 하여 순서정렬된 예비 순서에 대해서 참조 프레임 리스트의 앞쪽으로 적어도 한 위치 이동(시프트)시킨다.
따라서, 특정 구현형태에서 도 9의 단계 S30에서 식별된 참조 프레임은 우선, 예를 들어 현재 프레임까지의 각각의 거리에 기초하여 예비적으로 정해진 순서로 정렬된다. 가령, 현재 프레임의 프레임 번호가 j라면, 예비 참조 프레임 리스트의 순서는 프레임 j-1, 프레임 j-2, 프레임 j-3, ...의 순서로 될 수 있다. 참조 프레임이 시간적으로 전과 후에 있는 프레임을 모두 포함하는 경우, 이들은 동일한 예비 참조 프레임 리스트로 또는 두 개의 다른 예비 프레임 리스트, 예컨대, 프레임 j-1, 프레임 j+1, 프레임 j-2, 프레임 j+2, ..., 또는, 프레임 j-1, 프레임 j-2, 프레임 j-3, ...을 갖는 제1리스트 및 프레임 j+1, 프레임 j+2, 프레임 j+3, ...을 갖는 제2리스트의 순서로 정렬될 수 있다.
이에 참조 프레임이 임계값보다 작은 유사도를 갖는 경우에는 단계 S41에서는 리스트의 앞쪽으로 적어도 한 단계 전방으로 이동(shift 또는 move)되는 것이 바람직하다. 따라서 참조 프레임이 예비 순서에 따라 리스트 위치 3번을 점유한다면, 단계 S41에서는 위치 2, 1, 또는 0 중의 어느 하나로 이동되는 것이 바람직하다.
일 구현형태에서, 임계값보다 작은 유사도를 각각 갖는 참조 프레임들은 참조 프레임 리스트의 앞쪽에 위치하고, 리스트 앞쪽에서의 이들의 상대적 위치는 이들의 현재 프레임까지의 각 거리에 기초하여 정해질 수 있을 것이다. 유사도가 임계값보다 작지 않은 모든 참조 프레임들은 참조 프레임 리스트에서 이들 참조 프레임의 뒤에 온다. 뒤쪽에 있는 이들 참조 프레임들은 현재 프레임에 대한 각각의 거리에 기초하여 정해진 리스트의 뒤쪽에서 서로 상대적 위치에 있게 될 수 있다.
이와 다른 대안적 방식으로서, 단계 S41에서는 참조 프레임의 위치를, 예비 순서에 따른 최초 위치를 기준으로, 사전에 정해진 단계 수만큼(가령, 한 단계) 리스트의 앞쪽으로 이동시킨다.
작은 유사도(SM<T)를 갖는 참조 프레임과 큰 유사도(SM≥T)를 갖는 참조 프레임 간을 차별화하는 위에서 제시된 구현형태들은 하나보다 많은 임계값을 사용하는 경우로 확장할 수 있다. 예를 들면, SM<T1인 참조 프레임은 참조 프레임 리스트의 앞쪽에 위치되며, T1≤SM<T2인 참조 프레임은 참조 프레임 리스트의 중간에 위치되고, SM≥T2인 참조 프레임은 참조 프레임 리스트의 뒤쪽에 위치된다(여기서, T1<T2임). 또는 이와 달리, SM<T1인 참조 프레임은 예비 순서에 따른 그 최초 위치에 대해서 k 단계 앞으로 그 위치를 이동시킬 수 있고, T1≤SM<T2인 참조 프레임은 예비 순서에 따른 그 최초 위치에 대해서 l 단계(들)(여기서, k>l임) 앞으로 그 위치를 이동시킬 수 있다. 이는 물론, 두 개 이상의 다른 임계값을 갖는 경우로 확장시킬 수 있다.
많은 코덱에서, 참조 프레임 인덱스는 가변 길이 코딩 방식을 사용하여 인코드된다. 즉, 참조 프레임 인덱스의 값이 작을수록 이에 할당되는 코드워드(codeword)가 짧다. 선행 기술에 있어서, 참조 프레임은, 현재 프레임으로부터의 그 거리에 기초하여 정렬된다. 이러한 측면에 따라, 참조 프레임의 순서정렬은, 낮은 유사도를 갖는 참조 프레임은 참조 프레임 리스트의 앞쪽에 위치하고 결과적으로 낮은 인덱스 값을 갖도록 영향받을 수 있다.
유사도는, 일례로서,
Figure pct00041
로 계산될 수 있다. 이 유사도는 현재 프레임이 의존하는 모든 참조 프레임마다 계산되는 것이 바람직하다. 다음,
Figure pct00042
를 갖는 해당 참조 프레임들을 "similar_Znear"로 분류(범주화)하기 위해 임계값 T가 적용된다. 이와 유사한 분류 방법을 Zfar에 대해서 추가적으로 또는 대체적으로 수행하여서
Figure pct00043
의 유사도를 구한다. 동일한 임계값 또는 다른 임계값을 사용하여 참조 프레임들을 "similar_Zfar"로 분류할 수 있을 것이다.
따라서, 일 구현형태에서, 도 9의 단계 S32에서의 참조 프레임의 순서정렬은, Znear 값에 기초하여 산출된, 또는, Zfar 값에 기초하여 산출된, 또는, Znear 값과 Zfar 값 모두에 기초하여 산출된(가령,
Figure pct00044
) 유사도에 따라 수행된다.
참조 프레임 리스트에서의 참조 프레임의 순서 재정렬은 묵시적으로 요청받을 수 있다. 따라서, 이 경우에, 디코더는, 비트열에서 요청받은 심도 클리핑 평면 파라미터에 기초하여 참조 프레임 리스트의 각 참조 프레임에 대한 유사도를 계산한다. 이에, 인코더 및 디코더는 이 유사도에 기초하여 참조 프레임 리스트 내에서 참조 프레임의 위치를 이동시키는 동일한 순서정렬 규칙을 사용한다. 이에 따라 임의의 이동 명령을 명시적으로 요청하는 것이 필요치 않다.
도 11은 다른 방식으로서, 명시적 요청에 관한 것을 나타낸다. 이 방식은 도 9의 단계 S33에서 속행된다. 다음 단계 S50에서는 유사도에 기초하여 메모리 관리 제어 연산(MMCO: memory management control operation) 명령을 생성한다. 이 MMCO 명령은 참조 프레임 리스트 내에서의 참조 프레임의 순서를 갱신할 것을 지시한다. 이 MMCO 명령은 단계 S51에서, 심도맵의 인코드된 표기 내로 삽입된다. 이에, 디코더는 유사도를 전혀 계산할 필요없이 참조 프레임 리스트에서의 참조 프레임의 정확한 순서정렬을 하기 위해 MMCO 명령을 검색할 수 있다.
심도 클리핑 평면 파라미터에 기초하여 참조 프레임 리스트에서 참조 프레임을 순서정렬하는 접근법은 도 12에 도시된 바와 같이 프레임 단위로 또는 블록 단위로 수행될 수 있다. 이 경우의 방법은 도 9의 단계 S30에서 속행된다. 다음 단계 S60에서는 현재 프레임에서의 다수의 해당 블록의 각 화소 블록에 대하여 블록 기반 값을 결정한다. 단계 S60에서 결정된 블록 기반 값은 블록별 평균 화소값을 나타낸다. 따라서, 블록 기반 값은 화소 블록에 대한 평균 휘도값이 될 수 있다.
다음, 이 방법은 도 9의 S31 단계로 속행된다. 이 단계 S31은 프레임과 연관된 근(가까운) 심도 클리핑 평면 파라미터값과 참조 프레임과 연관된 근거리 심도 클리핑 평면 파라미터값에 기초하여, 단계 S30에서 식별된 각 참조 프레임에 대한 근거리 유사도를 계산한다. 이들 근거리 유사도는
Figure pct00045
로 계산되는 것이 바람직하다. 단계 S31에서는 또한, 현재 프레임의 원(먼) 심도 클리핑 평면 파라미터값과 참조 프레임의 원거리 심도 클리핑 평면 파라미터값에 기초하여 각 참조 프레임에 대한 원거리 유사도를 계산한다. 이들 원거리 유사도는
Figure pct00046
로 계산되는 것이 바람직하다.
도 12의 단계 S60에서 결정된 블록 기반 값이 임계값과 같거나 이를 초과하는 경우, 다수의 참조 프레임들은 근거리 유사도에 기초하여 현재 블록별로 순서정렬하는 것이 바람직하다. 그러나 블록 기반 값이 임계값보다 낮은 경우에는, 그 대신에, 다수의 참조 프레임들을 원거리 유사도에 기초하여 현재 블록별로 순서정렬하는 것이 바람직하다.
따라서, 높은 휘도 값(임계값과 동일하거나 이를 초과하는 블록 기반 값)의 블록에 대해서는 "similar_Znear" 그룹이 장려되고, "similar_Zfar" 그룹은 특별히 취급되지 않는다. 낮은 휘도 값(임계값보다 낮은 블록 기반 값)의 블록에 대해서는 "similar_Zfar" 그룹이 장려되고, "similar_Znear" 그룹은 특별히 취급되지 않는다.
따라서, 본 구현형태에서, 다수의 참조 프레임은, 1차적으로, 현재 프레임에 대한 각자의 거리에 기초하여 예비 순서로 정렬되는 것이 바람직하다. 다음, 이 예비 순서는 근거리 유사도 또는 원거리 유사도에 기초하여 현재 프레임 내의 각 화소 블록별로 갱신된다. 예를 들어, 현재 프레임 내의 블록 번호 1이 매우 높은 휘도값, 즉, 큰 블록 기반 값을 갖는다고 하면, 이는, "similar_Znear" 그룹에 속하는 참조 프레임들이, 예컨대, 정해진 단계수만큼 예비 순서보다도 앞으로 이동되거나 리스트의 앞쪽으로 이동되도록 장려된다는 것을 의미한다. 이 후에 참조 프레임 인덱스는 갱신된 리스트 순서로 고정된다. 한편, 현재 프레임 내의 다음 블록 번호 2가 낮은 휘도값을 갖는다면, 예비 순서는 "similar_Zfar" 그룹을 장려하여서 원거리 유사도에 기초하여 갱신된다. 가령,
Figure pct00047
인 해당 참조 프레임을 리스트 내의 앞쪽으로 정해진 단계 수만큼 이동되거나 이 참조 프레임을 리스트의 앞쪽까지 이동된다.
상기 개시된 블록 단위의 참조 프레임의 순서 재정렬은, 묵시적으로 디코더에 요청되거나 또는, 앞에서 설명한 MMCO 명령에 의해 명시적으로 요청될 수 있다.
앞에서 도 9-12와 관련하여 논의한 심도 클리핑 평면 파라미터에 기초한 참조 프레임의 순서 재정렬의 구현형태들은, 심도 클리핑 평면 파라미터에 기초하여 계산된 예측 가중치를 사용한 예측적 인코딩에 대해 특수 구현형태로서 적용될 수 있다. 또는 이와 달리, 이들 구현형태들은 심도 클리핑 평면 파라미터에 기초하여 산출된 예측 가중치와는 전연 별도로 사용된다. 이 경우에, 이들 구현형태들은, 종래의 예측 가중치를 사용하거나 예측 가중치를 전혀 사용하지 않고 종래의 예측적 인코딩에 적용시킬 수 있다.
따라서 이들 구현형태의 일 측면은, 다수의 화소들의 프레임의 형태로 된 심도맵에 대하여, 참조 프레임 리스트에서 참조 프레임을 순서 정렬하는 방법에 관한 것으로서, 여기서, 다수의 화소들의 각 화소의 각각의 화소값은 카메라와 각 피사체 간의 거리를 나타낸다. 이 방법은 프레임별로 다수의 참조 프레임을 식별하는 단계를 추가로 포함한다. 다음 단계에서는, 다수의 참조 프레임들의 각 참조 프레임에 대해서, 프레임과 연관된 적어도 첫 번째의 심도 클리핑 평면 파라미터값과 참조 프레임에 연관된 적어도 첫 번째의 심도 클리핑 평면 파라미터값에 기초하여, 유사도를 계산한다. 이 방법은 이 유사도에 적어도 부분적으로 기초하여, 참조 프레임 리스트 내에서 다수의 참조 프레임의 순서를 정렬하는 것을 추가로 포함한다. 그 다음의 옵션 단계에서는, 참조 프레임 리스트 내의 다수의 참조 프레임 중 적어도 하나의 참조 프레임에 대해서 각각, 참조 프레임 인덱스를 할당한다. 이 옵션 단계에서는 참조 프레임 리스트 내에 있는 각 참조 프레임 각각에 참조 프레임 인덱스를 할당할 수 있을 것이다.
리스트 내의 참조 프레임의 순서정렬은 현재 프레임 및 참조 프레임의 심도 클리핑 평면 파라미터값에 기초하여 수행되며, 옵션으로서, 현재 프레임과 참조 프레임 간의 거리(가령, 시간상 거리 및/또는 뷰 간의 거리)에 기초하여서도 수행된다.
도 9-12와 관련하여 앞에서 설명한한 다양한 구현형태들은 이상 언급한 측면의 특정 구현예에 적용될 수 있을 것이다.
심도 클리핑 평면 파라미터는 또한, 인코딩을 개선하고 복잡성을 감소시키기 위하여 다른 방식으로도 사용될 수 있다. 이러한 방법이 도 13에 개시되어 있다. 이 방법은 현재 프레임에 대한 다수의 후보 참조 프레임을 식별하는 단계 S70에서 시작한다. 이 단계 S70은 기본적으로 도 9의 S30 단계에 대응하므로, 여기서는 더 논의하지 않는다. 다음 단계 S71에서는 단계 S70에서 식별된 각 후보 참조 프레임에 대한 유사도를 계산한다. 유사도는 현재 프레임과 연관된 적어도 첫 번째의 심도 클리핑 평면 파라미터값과 후보 참조 프레임에 연관된 적어도 첫 번째의 심도 클리핑 평면 파라미터값에 기초하여 계산된다. 이 단계 S71은 기본적으로 도 9의 S31 단계에 대응된다.
다음 단계 S72에서는 단계 S70에서 식별된 다수의 후보 참조 프레임들 중에서 현재 프레임에 대한 적어도 하나의 참조 프레임을 식별한다. 단계 S72에서 식별된 참조 프레임은 임계값보다 작은, 단계 S71에서 계산한 유사도를 갖는다. 다음 단계 S73에서는 현재 프레임의 화소 블록마다, 단계 S72에서 식별된 적어도 하나의 참조 프레임 사이에서의 움직임 탐색을 수행한다. 다음에 이 방법은 도 6의 S1 단계로 속행된다.
움직임 탐색은 영상 인코딩에서 가장 많은 시간이 소요되는 프로세스 중 하나이다. 도 13을 참조하여 설명한 구현형태에서는 이러한 움직임 탐색을, "similar_Znear" 그룹에 속하는, 즉,
Figure pct00048
인 해당 후보 참조 프레임들 사이에서만, 또는, "similar_Zfar" 그룹에 속하는, 즉,
Figure pct00049
인 해당 후보 프레임들 사이에서만, 또는, "similar_Znear" 그룹 또는 "similar_Zfar" 그룹에 속하는 해당 후보 프레임들 사이에서만 이루어진다. 이는, 이들 구현형태에 있어서, 큰 유사도를 갖는 후보 참조 프레임에 대해서는 움직임 탐색을 생략할 수 있다는 것을 의미한다. 이로써 인코딩시의 복잡성을 상당량 감소시킨다.
따라서, 일 구현형태에서, 후보 참조 프레임의 초기 집합은 단계 S70에서, 예컨대 현재 프레임의 시점 및 현재 프레임의 카메라 뷰를 기초로 하여, 현재 프레임별로 식별된다. 다음, 단계 S72에서는 이들 후보 참조 프레임들 중에서, 움직임 탐색 실시의 대상이 되는 부분집합이 선택된다. 이 부분집합은 현재 프레임과 후보 참조 프레임의 심도 클리핑 평면 파라미터값에 기초하여 선택된다. 따라서, 움직임 탐색은, 현재 프레임의 Znear 및/또는 Zfar에 가까운 Znear 및/또는 Zfar를 갖는 후보 참조 프레임에 대해서만 수행되는 것이 바람직하다.
이보다 덜 급진적인 다른 접근 방식에서는 더 짧은 검색 범위를 사용하거나, 탐색 위치를, "similar_Znear" 그룹 또는 "similar_Zfar" 그룹에 속하지 않는 것으로 간주되는 해당 후보 참조 프레임에 대한 정수값 화소로 제한시킨다.
위에서 도 13을 참조하여 논의한 심도 클리핑 평면 파라미터에 기초하여 참조 프레임들 사이에서 움직임 탐색을 제한시키는 구현형태들은, 특정 형태로서, 심도 클리핑 평면 파라미터에 기초하여 계산된 예측 가중치를 이용한 예측적 인코딩 및/또는 심도 클리핑 평면 파라미터에 기초한 참조 프레임 리스트에서의 참조 프레임의 순서 정렬에 적용할 수 있을 것이다. 이에 대한 대안적 방식으로, 이들 구현형태들은 심도 클리핑 평면 파라미터에 기초한 예측 가중치 계산 또는 참조 프레임 순서정렬과 별도로 사용된다. 이 경우, 이들 구현형태들은 종래의 예측 가중치를 사용하거나 예측 가중치를 전혀 사용하지 않는 종래의 예측적 인코딩과, 참조 프레임 리스트에서의 참조 프레임의 종래의 순서정렬에 적용될 수 있다.
한편, 이들 구현형태의 한 측면은, 다수 화소들로 된 프레임 형태의 심도맵에 대하여 움직임 탐색을 수행하는 방법에 관한 것으로, 여기서 다수 화소들의 각각의 화소는 카메라와 각 피사체 간의 거리를 나타내는 각각의 화소값을 갖는다. 이 방법은 프레임에 대한 다수의 후보 참조 프레임을 식별하는 단계를 포함한다. 다음 단계에서는, 프레임과 연관된 적어도 첫 번째의 심도 클리핑 평면 파라미터값과 후보 참조 프레임과 연관된 적어도 첫 번째의 심도 클리핑 평면 파라미터값에 기초하여, 다수의 후보 참조 프레임의 각 후보 참조 프레임에 대한 유사도를 계산한다. 또한, 이 방법은, 다수의 후보 참조 프레임 중에서, 임계값보다 작은 유사도를 갖는 적어도 하나의 참조 프레임을 식별하는 것을 포함한다. 다음 단계에서는, 프레임 내의 다수의 화소 블록 중에서 적어도 하나의(바람직하게는 각각의) 화소 블록에 대해서, 임계값보다 작은 유사도를 갖는 적어도 하나의 참조 프레임 중에서(바람직하게는 이 중에서만) 움직임 탐색을 수행한다.
심도맵 인코딩과 관련된 복잡성을 감소시키는 또 다른 방법은 도 14에 개시되어 있다. 이 방법은 현재 프레임에 대한 다수의 참조 프레임을 식별하는 단계인 S80에서 시작한다. 이 단계 S80은 기본적으로 도 9의 단계 S30과 도 13의 단계 S70에 해당한다. 다음 단계 S81에서는 단계 S80에서 식별된 각 참조 프레임에 대한 유사도를 계산한다. 이 유사도는 프레임과 연관된 첫 번째 심도 클리핑 평면 파라미터와 참조 프레임에 연관된 첫 번째 심도 클리핑 평면 파라미터값에 기초하여 계산된다. 이 단계 S81은 기본적으로 도 9의 단계 S31 및 도 13의 단계 S71에 대응된다. 이 방법은 참조 프레임에 대해 단계 S81에서 계산된 유사도(SM)를 임계값(T)과 비교하는 S82 단계로 속행된다. 유사도가 임계값보다 작으면, 이 방법은 S83 단계로 속행된다. 이 단계에서는 움직임 탐색 절차를 수행시에 참조 프레임에 제1 보간 필터를 적용한다. 한편, 단계 S82에서 유사도가 임계값보다 크거나 이와 같으면, 단계 S84에서 움직임 탐색 절차 수행시에 참조 프레임에 제2 보간 필터(제1 보간 필터와 다름)를 적용한다. 그 다음에 이 방법은 도 6의 S1 단계로 속행된다.
이 구현형태에서 서로 다른 보간 필터들은, 그들의 심도 클리핑 평면 파라미터에 따라 다르게 참조 프레임에 적용된다. 특정 구현형태에서는, 현재 프레임의 심도 클리핑 평면 파라미터값과 다른 심도 클리핑 평면 파라미터값을 갖는 참조 프레임에는(즉, 유사도가 임계값과 같거나 이를 초과하는 경우) 보다 단순한 보간 필터를 적용하는 것이 바람직하다. 예를 들어, 단계 S83에 적용하는 보간 필터는, 예컨대, 2화소(half-pel) 위치를 위한 6탭 위너 보간 필터(6-tap Wiener interpolation filter)와 4화소(quater-pel) 위치를 얻기 위한 이중 선형 필터(bilinear filter)를 사용하여 4화소값 또는 위치를 생성할 수 있을 것이고, 이 경우에, 단계 S84에 적용하는 보간 필터는, 이중 선형 필터는 사용하지 않고 6탭 위너 보간 필터만 사용하여 2화소 위치에 한정시킬 수 있을 것이다. 이와 다른 방법으로서, 단계 S83에는 2화소 또는 4화소 위치를 가능케 하는 보간 필터(들)를 사용하는 반면에, 단계 S84에는 전혀 보간 필터를 사용하지 않고 정수 화소 위치만을 사용할 수도 있다.
또다른 변형의 예로서, 단계 S83에는 적어도 하나의 적응형 보간 필터를 사용하고, 단계 S8은 고정된 보간 필터 또는 고정된 보간 필터들의 집합을 사용하는 것으로 제한된다.
상기에서 도 14를 참조하여 논의한 심도 클리핑 평면 파라미터에 기초하여 보간 필터를 선택하는 구현형태들은, 특정 구현형태로서, 심도 클리핑 평면 파라미터에 기초하여 계산된 예측 가중치를 사용하는 예측적 인코딩 및/또는 심도 클리핑 평면 파라미터에 기초한 참조 프레임 리스트에서의 참조 프레임의 순서정렬에 적용될 수 있다. 이와 다른 대안으로서, 이러한 구현형태들은 심도 클리핑 평면 파라미터에 기반한 예측 가중치 계산 또는 참조 프레임 순서정렬과 별도로 사용된다. 이 경우, 이들 구현형태들은 종래의 예측 가중치를 사용하거나 예측 가중치를 전혀 사용하지 않는 종래의 예측적 인코딩과, 참조 프레임 리스트에서의 참조 프레임의 종래의 순서정렬에 적용될 수 있다.
한편, 상기 구현형태의 한 측면은, 다수 화소들로 된 프레임 형태의 심도맵에 대한 보간 필터링 방법에 관한 것으로, 여기서 다수 화소들의 각각의 화소는 카메라와 각 피사체 간의 거리를 나타내는 각각의 화소값을 갖는다. 이 방법은 프레임에 대한 하나 이상의(바람직하게는, 다수의) 참조 프레임을 식별하는 단계를 포함한다. 다음 단계에서는, 프레임과 연관된 적어도 첫 번째의 심도 클리핑 평면 파라미터값과 후보 참조 프레임과 연관된 적어도 첫 번째의 심도 클리핑 평면 파라미터값에 기초하여, 적어도 하나의 또는 다수의 참조 프레임의 각 참조 프레임에 대해서 유사도를 계산한다. 또한, 이 방법은 적어도 하나의 또는 다수의 참조 프레임들에서 유사도가 임계값보다 작은 참조 프레임에 제1 보간 필터 또는 제1 보간 필터들의 집합을 적용하는 것을 포함한다. 이 방법은 이에 상응하게, 적어도 하나의 또는 다수의 참조 프레임들에서 유사도가 임계값과 같거나 이보다 큰 참조 프레임에 제2 보간 필터 또는 제2 보간 필터들의 집합(제1 보간 필터와 다른 것임)을 적용하는 것을 포함한다.
도 15는 다수 화소들로 된 프레임 형태의 심도맵의 인코드된 표기의 예측적 디코딩을 나타내는 흐름도로서, 여기서 이들 화소들의 각각의 화소는 카메라와 각 피사체 간의 거리를 각각 나타내는 각 화소값을 갖는다.
일반 구현형태로서 이 방법은, 단계 S92에서 심도맵의 인코드된 표기에 기반하여, 프레임에 연관된 적어도 첫 번째의 심도 클리핑 평면 파라미터값과 참조 프레임에 연관된 적어도 첫 번째의 심도 클리핑 평면 파라미터값에 기초하여 계산된 예측 가중치를 생성하는 단계를 포함한다. 심도맵의 디코드된 표기는 프레임(10)에 대한 예측 잔차와, 예측 가중치에 의해 가중화된 참조 프레임(20, 30)의 적어도 하나의 화소값에 기초하여 단계 S93에서 결정된다.
이러한 일반 구현형태의 여러가지 구체적 구현형태를 이하에서 상세히 설명한다.
특정 구현형태에서, 도 15의 방법은 전반적으로, 심도맵의 인코드된 표기에 기초하여 다수의 참조 프레임 중에서 참조 프레임을 식별하는 단계 S90에서부터 시작할 수 있다(이 단계는 옵션으로서 임의적이지만 바람직한 단계이다).
전형적인 구현에서, 인코드된 표기는 참조 프레임을 식별하기 위한 참조 프레임 인덱스를 포함한다. 이에 단계 S90에는, 참조 프레임 인덱스를 검색하고, 혹시 참조 프레임 인덱스가 심도맵의 인코드된 표기로 인코드된 형태로 제공되는 경우에는 이를 디코딩하는 것을 포함하는 것이 바람직하다. 다음, 참조 프레임은 검색 및 혹시 디코드된 참조 프레임 인덱스를 이용하여 식별된다. 이전에 논의된 바와 같이, 참조 프레임은, 참조 프레임 또는 화상 리스트 내의 참조 프레임 인덱스에 의해 식별될 수 있다.
도 15의 단계 S90은 현재 프레임에 대한 디코딩 기준으로서 하나의 참조 프레임을 식별하거나 다수의 참조 프레임을 식별하는 것을 포함할 수 있다. 후자의 경우, 다수의 참조 프레임 인덱스가 생성되어, 예를 들어 하나의 또는 다수의 참조 프레임 리스트로부터 참조 프레임을 식별하는 데 사용될 수 있다.
옵션 단계이지만 바람직한 단계인 S91은 심도맵의 인코드된 표기에 기초하여 현재 프레임에 대한 예측 잔차를 결정한다. 단계 S91은 전형으로, 심도맵의 인코드된 표기로부터 예측 잔차의 인코드된 표기로서 코드 워드를 검색하는 것을 포함한다. 이에, 예측 잔차는 이 코드 워드로부터, 당해 분야에 공지된 기술에 의해서 코드 워드를 디코딩하여 구할 수 있다.
단계 S90 및 S91는 임의의 순서로 연속으로 또는 최소한 부분적으로 병렬로 수행될 수 있다.
다음 단계 S92에서는 심도맵의 인코드된 표기에 기초하여 예측 가중치를 생성한다. 이 예측 가중치는 프레임과 연관된 적어도 첫 번째의 심도 클리핑 평면 파라미터값 및 단계 S90에서 식별된 참조 프레임과 연관된 적어도 첫 번째의 심도 클리핑 평면 파라미터값에 기초하여 계산된다.
단계 S90에서 다수의 참조 프레임을 식별하는 경우에, 단계 S92에서는 식별된 각 참조 프레임마다 각각의 예측 가중치를 생성하는 것이 바람직하다.
그 다음 단계 S93에서는 단계 S91에서 결정된 예측 잔차 및 단계 S92에서 생성된 예측 가중치에 의해 가중화된, 단계 S90에서 식별된 참조 프레임의 적어도 하나의 화소값에 기초하여 프레임의 디코드된 표기를 결정한다. 따라서, 현재 심도맵 내의 화소들의 화소값을, 참조 프레임으로부터의 가중된 화소값과 예측 잔차에 기초하여 결정한다.
당해 분야에 주지된 바와 같이, 화소들의 인코딩 및 디코딩은 일반적으로 화소 블록에 대해 수행된다. 이에, 단계 S93에는 참조 프레임의 한 영역(이 영역은 심도맵의 인코드된 표기에서 요청받은 움직임 벡터에 기초하여 식별됨)으로부터의 가중화된 화소값 및 예측 잔차에 기초하여 현재 프레임 의해당 화소 블록의 디코드된 표기를 생성하는 것이 포함되는 것이 바람직하다. 따라서, 바람직하게는 S93 단계는, 움직임 벡터의 인코드된 표기의 디코딩을 재시도하고 이를 사용하여 예측 가중치에 의해 가중화해야 할 참조 프레임의 화소값을 식별한다.
현재 화소 블록에 대해 양방향 예측이 사용되었다면, 단계 S93에서는 예를 들어, 제1 움직임 벡터에 의해 식별된 제1 참조 프레임의 예측 잔차, 제1 예측 가중치, 그리고 화소값과, 제2 움직임 벡터에 의해 식별된 제2 참조 프레임의 제2 예측 가중치와 화소값을 기초로 하여, 화소 블록의 디코드된 표기를 결정하는 것이 바람직하다.
다음, 단계 S93은 디코딩해야 할 현재 프레임의 각 화소 블록에 대해서 반복된다. 이 경우, 상이한 참조 프레임들 및 이에 의한 상이한 예측 가중치들을, 상이한 화소 블록 또는 동일한 참조 프레임(들)에 사용할 수 있고, 예측 가중치(들)는 현재 프레임 내의 또는 적어도 현재 프레임의 슬라이스 내의 모든 화소 블록들에 대해서 사용할 수도 있다.
도 16은 도 15의 단계 S92의 특정적인 구현형태를 도시한다. 이 방법은 단계 S91에서부터 속행되어, 단계 S100에서 심도맵의 인코드된 표기로부터 인코드된 예측 가중치 표기를 검색한다. 따라서, 본 구현형태에서, 심도맵의 인코드된 표기 및 이에 따른 비트열은, 통상적으로 인코드된 형태로 된 예측 가중치를 포함한다. 이는, 심도 클리핑 평면 파라미터값에 기초한 예측 가중치 계산이 디코더에서 필요하지 않다는 것을 의미한다. 왜냐하면 이 계산은 이미 인코더에서 수행되었기 때문이다. 디코더는 따라서, 단계 S100에서 예측 가중치를 단순히 검색하고 가능하면 이를 디코드한 다음에, 예측 가중치를 사용하는 도 15의 S93 단계로 진행한다.
앞에서 도 16에 개시된 구현형태는 계산량을 감소시킴으로써 디코더에서의 디코딩 복잡도를 감소시킨다. 그러나 이러한 장점은, 비트열에 예측 가중치를 전해줘야 할 필요가 있기 때문에 추가적인 오버헤드가 된다.
도 17은 도 15의 단계 S92에서 예측 가중치를 생성하는 것과 다른 구현형태를 나타내는 흐름도이다. 이 방법은 도 15의 단계 S91에서부터 속행된다. 다음 단계 S110에서는 심도맵의 인코드된 표기로부터, 참조 프레임과 현재 프레임 및 참조 프레임에 연관된 심도 클리핑 평면 파라미터값의 인코드된 표기를 검색한다. 이들 심도 클리핑 평면 파라미터값은, 수학식 1에 따른 화소값, 즉, 휘도값으로부터 심도 값을 계산하기 위해 디코더로 전송되어야 한다. 따라서, 이들 심도 클리핑 평면 파라미터값은 이미 비트열에 존재하기 때문에 추가적인 오버헤드가 필요하지 않다.
검색된(그리고 가능하면 디코드된) 심도 클리핑 평면 파라미터값은 예측 가중치 계산을 위해 단계 S111에서 사용된다. 단계 S111에서의 계산은 기본적으로 도 6의 단계 S2에서와 같이 수행된다. 이 구현형태에서는 인코더 및 디코더 모두가, 심도 클리핑 평면 파라미터값에 기초하여 예측 가중치들을 계산한다.
본 명세서에서 이미 개시된 바와 같이, 단계 S110에는 현재 프레임 또는 참조 프레임과 연관된 각각의 근거리 심도 클리핑 평면 파라미터값과 각각의 원거리 심도 클리핑 평면 파라미터값의 인코드된 표기를 검색하는 것이 포함된다. 이 경우, 단계 S111은 근거리 및 원거리 심도 클리핑 평면 파라미터값에 기초하여 예측 가중치를 계산한다. 일 구현형태에서, 예측 가중치는, '현재 프레임 및 참조 프레임과 연관된 원거리 및 근거리 심도 클리핑 평면 파라미터값들 간의 차이'와 '참조 프레임과 연관된 원거리 및 근거리 심도 클리핑 평면 파라미터값들 간의 차이' 간의 몫(quotient)에 기초하여 계산된다.
예측 가중치는 바람직하게는 이전에 개시된 수학식 중 하나, 가령, 수학식 2-9 중 하나, 특히는 수학식 2에 따라 계산된다.
도 7을 참조하여 이전에 설명한 것과 유사하게, 예측 가중치는 단계 S10에서, 참조 프레임의 적어도 하나의 화소 블록들의 각 화소에 대하여 수학식 2에 따라 각각의 예측 가중치를 계산함으로써 계산될 수 있을 것이다. 이에, 파라미터 Z는 화소의 심도값을 나타낸다. 다음, 예측 가중치는 단계 S11에서, 각 예측 가중치의 평균으로서 계산된다.
대안적 방식으로서, 단일의 예측 가중치는 심도 클리핑 평면 파라미터값에 기초하여, 현재 프레임 및 참조 프레임의 쌍에 대해, 도 17의 단계 S111에서 계산된다. 이 단일의 예측 가중치는, 참조 프레임에 대한 평균 심도 값을 나타내는 파라미터 Z을 써서, 수학식 2에 따라 앞에서 개시한 바와 같이 계산될 수 있다.
다른 구현형태에서, 예측 가중치는, 현재 프레임 및 참조 프레임과 연관된 심도 클리핑 평면 파라미터값에 기초하여 그리고 화소 블록을 대표하는 적어도 하나의 화소값에 기초하여 참조 프레임 내의 화소 블록에 대해서 단계 S111에서 계산된다. 이전에 수학식 2를 사용하여 본원에 개시된 바와 같이 예를 들어,예측 가중치는 계산될 수 있다. 이 경우에, 바람직하게, 파라미터 Z는 화소 블록에 대한 평균 심도 값을 나타낸다.
따라서, 심도맵의 인코딩에 관련하여 앞에서 논의하고 개시한 심도 클리핑 평면 파라미터값에 기초하여 예측 가중치를 계산하는 구현형태 및 실시예들 중 하나를 디코더 측에서 사용할 수 있을 것이다.
심도 클리핑 평면 파라미터값에 기초하여 계산된 예측 가중치들을 심도맵의 디코딩과 관련하여 사용하는 구현형태들은, 본 명세서에서 앞서 논의된 바와 같이 코딩 효율을 개선하고 복잡도를 감소시키는 다른 기술들로 보완될 수 있을 것이다.
예를 들어, 심도 클리핑 평면 파라미터값에 기초하여 참조 프레임 리스트 내에서의 참조 프레임을 순서정렬하고 순서 재정렬하는 것은, 디코딩과 관련하여 사용할 수 있다. 도 18은 이러한 구현형태를 나타낸다.
따라서 이 방법은 바람직하게는 참조 프레임 리스트의 각 참조 프레임에 대한 각각의 유사도를 계산하는 단계 S120에서 시작된다. 이 유사도는, 앞에서 개시된 바와 같이, 현재 프레임과 연관된 적어도 첫 번째의 심도 클리핑 평면 파라미터값 및 참조 프레임과 연관된 적어도 첫 번째의 심도 클리핑 평면 파라미터값에 기초하여 계산된다. 이 단계 S120은 기본적으로 도 9의 S31 단계에 대응한다.
본 명세서에서 이미 설명한 바와 같이, 참조 프레임 리스트는, 프레임 열에, 현재 프레임과 이웃하거나 인접한 참조 프레임을 포함하는 것이 바람직하다. 그러므로, 다른 카메라 뷰에 속하지만 현재 프레임과 동일한 시점을 갖는 것이 바람직한 일시적으로 이웃하는 프레임 또는 선택적으로 이웃하는 프레임들이 하나 이상의 참조 프레임 리스트에 포함되는 것이 바람직할 수 있다. 단계 S120에서의 계산은 이러한 각 참조 프레임에 대해 수행되는 것이 바람직하다.
다음 단계 S121에서는 단계 S120에서 산출된 유사도에 적어도 부분적으로 기초하여 참조 프레임 리스트에서의 참조 프레임을 순서 정렬한다. 이 방법은 그 다음, 도 15의 단계 S90으로 속행된다. 이 단계에서는, 심도맵의 인코드된 표기를 기초로 하여 생성된 참조 프레임 인덱스에 기초하여 정렬된 참조 프레임 리스트로부터 그리고 일반적으로는, 심도맵의 인코드된 표기로부터 참조 프레임 인덱스를 검색하고 이 검색된 데이터를 디코딩함으로써 참조 프레임이 식별된다.
단계 S121에서의 순서정렬은 현재 프레임까지의 상대 거리(시간상 거리 또는 뷰 거리)에 기초하여 참조 프레임을 예비 또는 디폴트 순서로 정렬함으로써 수행될 수 있다. 그 후, 유사도에 기초하여 참조 프레임의 순서 재정렬을 행하는 것이 바람직하다.
이는, 도 15의 단계 S90에서 올바른 참조 프레임을 식별하기 위한 참조 프레임 인덱스를 사용하기 전에 심도 클리핑 평면 파라미터값에 기초하여 참조 프레임 리스트 내에서 참조 프레임의 순서가 정렬(재정렬)된다는 것을 의미한다. 참조 프레임 인덱스는 일반적으로, 참조 프레임 리스트에서의 위치를, 가령, 위치 0(position 0), 위치 1, 위치 2, ..., 즉, 참조 프레임의 암시적 또는 상대적 식별기와 같이 나타낸다. 따라서 정확한 참조 프레임이, 참조 프레임 인덱스가 식별하는 위치를 점하는 것이 중요하다. 따라서, 단계 S121에서의 참조 프레임의 순서정렬은 참조 프레임 인덱스를 사용하기 전에 수행되는 것이 바람직하다.
도 10은 참조 프레임을 순서 정렬하는 구현형태를 나타낸다. 이 구현형태에서는 유사도가, 현재 프레임에 연관된 첫 번째 (근거리 또는 원거리) 심도 클리핑 평면 파라미터값과 참조 프레임에 연관된 첫 번째 (근거리 또는 원거리) 심도 클리핑 평면 파라미터값 간의 절대값 차이로서 계산되는 것이 바람직하다. 유사도가 단계 S40에서의 비교 결과 임계값보다 작으면, 참조 프레임 리스트 내에서의 참조 프레임의 위치는 참조 프레임 리스트의 앞쪽으로 적어도 한 위치만큼 이동한다. 따라서, 현재 프레임의 (근거리 또는 원거리) 심도 클리핑 평면 파라미터값에 가까운 (근거리 또는 원거리) 심도 클리핑 평면 파라미터값을 갖는 해당 참조 프레임들은 참조 프레임 리스트의 앞쪽으로 이동되며, 이에 따라, 참조 프레임 리스트의 끝쪽으로 위치하고 있는 참조 프레임과 비교하여, 더 짧은 비트의 참조 프레임 인덱스를 사용할 수 있게 된다.
도 19는 현재 프레임의 화소 블록에 대한 평균 화소값을 대표하는 블록 기반 값이, 단계 S130에서의 심도맵의 인코드된 표기에 기초하여 결정되거나 이로부터 검색되는 특정 구현형태를 도시한다. 따라서 도 18의 단계 S120는 현재 프레임의 근거리 심도 클리핑 평면 파라미터값과 각 참조 프레임의 근거리 심도 클리핑 평면 파라미터값에 기초한 각각의 근거리 유사도와, 현재 프레임의 원거리 심도 클리핑 평면 파라미터값과 각 참조 프레임의 원거리 심도 클리핑 평면 파라미터값에 기초한 각각의 원거리 유사도를 계산하는 단계를 포함한다.
도 19의 단계 S130에서 검색 또는 결정된 블록 기반 값이 임계값보다 낮은 경우에는, 현재의 화소 블록에 대하여 단계 S121에서 참조 프레임을 순서정렬할 때에 원거리 유사도를 사용하는 것이 바람직하다. 그러나 블록 기반 값이 임계값과 같거나 초과하는 경우에는, 그 대신에, 현재 화소 블록에 대하여 참조 프레임을 순서정렬할 때에 근거리 유사도가 사용된다. 이 구현형태에서, 참조 프레임은 1차적으로, 현재 프레임까지의 상대 거리에 기초하여 예비 순서로 순서정렬되고, 예비 순서에서 시작하는 현재 프레임에서의 각 화소 블록에 대한 원거리 또는 근거리 유사도에 기초하여 단계 S121의 임의의 재정렬이 수행되는 것이 바람직하다.
이상에서 도 18 및 도 19와 관련하여 논의한 심도 클리핑 평면 파라미터에 기초하여 참조 프레임의 순서를 재정렬하는 구현형태들은, 심도 클리핑 평면 파라미터에 기초하여 계산된 예측 가중치를 사용하는 예측적 디코딩에 특정 구현형태로서 적용될 수 있다. 이에 대한 대안으로서, 상기 구현형태들은 심도 클리핑 평면 파라미터에 근거하여 산출된 예측 가중치와 전혀 별도로 사용된다. 이 경우의 구현형태는 종래의 예측 가중치를 사용하거나 예측 가중치를 전혀 사용하지 않는 종래의 예측적 디코딩에 적용할 수 있을 것이다.
따라서 이들 구현형태의 일 측면은, 다수의 화소들의 프레임의 형태로 된 심도맵에 대하여, 참조 프레임 리스트에서 참조 프레임을 순서정렬하는 방법에 관한 것으로서, 여기서, 다수의 화소들의 각 화소의 각각의 화소값은 카메라와 각 피사체 간의 거리를 나타낸다. 이 방법은 프레임별로 다수의 참조 프레임을 식별하는 것을 포함한다. 다음 단계에서는, 다수의 참조 프레임들의 각 참조 프레임에 대해서, 프레임과 연관된 적어도 첫 번째의 심도 클리핑 평면 파라미터값과 참조 프레임에 연관된 적어도 첫 번째의 심도 클리핑 평면 파라미터값에 기초하여, 유사도를 계산한다. 이 방법은 이 유사도에 적어도 부분적으로 기초하여, 참조 프레임 리스트 내에서 다수의 참조 프레임의 순서를 정렬하는 것을 추가로 포함한다. 이 방법의 옵션 단계는, 순서정렬 단계 후에 참조 프레임 리스트로부터 그리고 심도맵의 인코드된 표기에 기초하여 얻은 참조 프레임 인덱스에 기초하여 참조 프레임을 식별하는 것을 포함한다.
도 18 및 도 19와 관련하여 앞에서 설명한 다양한 구현형태는, 위에서 언급한 측면의 특정 구현예로서 적용될 수 있다.
심도 클리핑 평면 파라미터는 또한, 디코딩을 개선하고 복잡도를 감소시키는 다른 방법에도 사용될 수 있다. 이러한 방법은 앞에서 도 13에 개시하였다. 따라서, 움직임 탐색의 수행은, 임계값보다 작은 유사도를 각각 갖는 후보 참조 프레임으로 제한될 수 있다. 따라서, 이전에 도 13과 관련하여 본 명세서에서 논의된 구현형태는 디코더에도 또한 적용될 수 있다.
심도 클리핑 평면 파라미터에 기초하여 참조 프레임 사이에 움직임 탐색을 제한하는 구현형태들은, 심도 클리핑 평면 파라미터에 기초하여 계산된 예측 가중치를 사용한 예측적 디코딩 및/또는 심도 클리핑 평면 파라미터값에 기초한 참조 프레임 리스트에서의 참조 프레임의 순서정렬에 특정 구현형태로서 적용될 수 있다. 이와 다른 대안으로서, 이들 구현형태들은 심도 클리핑 평면 파라미터에 기반한 예측 가중치 계산 또는 참조 프레임 순서정렬과 별도로 사용된다. 이 경우, 이들 구현형태들은 종래의 예측 가중치를 사용하거나 예측 가중치를 전혀 사용하지 않는 종래의 예측적 디코딩과, 참조 프레임 리스트에서의 참조 프레임의 종래의 순서정렬에 적용될 수 있다.
심도맵 디코딩과 관련된 복잡성을 감소시키는 다른 방법은 도 14에 개시되어있다. 따라서, 이전에 도 14와 관련하여 논의한, 보간 필터를 선택하기 위하여 유사도를 사용하는(따라서 심도 클리핑 평면 파라미터값을 사용하는) 구현형태들을 디코딩시에도 이용할 수 있다.
상기에서 도 14를 참조하여 논의한 심도 클리핑 평면 파라미터에 기초하여 보간 필터를 선택하는 구현형태들은, 심도 클리핑 평면 파라미터에 기초하여 계산된 예측 가중치를 사용하는 예측적 디코딩 및/또는 심도 클리핑 평면 파라미터에 기초한 참조 프레임 리스트에서의 참조 프레임의 순서정렬에 특정 구현형태로서 적용될 수 있다. 이와 다른 대안으로서, 이러한 구현형태들은 심도 클리핑 평면 파라미터에 기반한 예측 가중치 계산 또는 참조 프레임 순서정렬과 전연 별도로 사용된다. 이 경우, 이들 구현형태들은 종래의 예측 가중치를 사용하거나 예측 가중치를 전혀 사용하지 않는 종래의 예측적 디코딩과, 참조 프레임 리스트에서의 참조 프레임의 종래의 순서정렬에 적용될 수 있을 것이다.
도 21은 일 구현형태에 따른 다수 화소 프레임 형태의 심도맵의 예측적 인코딩을 위한 인코더의 개략적인 블록도이다. 인코더(100)는 현재 프레임과 연관된 적어도 첫 번째의 심도 클리핑 평면 파라미터값과 참조 프레임에 연관된 적어도 첫 번째의 심도 클리핑 평면 파라미터를 생성하도록 구성되는 값 생성기(110)를 포함한다. 이들 심도 클리핑 평면 파라미터값은 예측 가중치를 계산하는 가중치 계산기(120)에 의해 사용된다. 인코더(100)의 잔차 계산기(130)는 현재 프레임의 적어도 하나의 화소값과 가중치 계산기(120)에 의해 산출된 예측 가중치에 의해 가중화된 참조 프레임의 적어도 하나의 화소값에 기초하여 프레임에 대한 예측 잔차를 계산하도록 구성된다. 심도맵의 인코드된 표기는 계산된 예측 잔차, 일반적으로는 인코드된 형태를 포함한다.
값 생성기(110)는 바람직하게는, 현재 프레임 또는 참조 프레임과 연관된 각각의 근거리 및 원거리 심도 클리핑 평면 파라미터값을 생성한다. 이러한 근거리 및 원거리 심도 클리핑 평면 파라미터값들은 다음에, 현재 프레임에 연관된 원거리 및 근거리 심도 클리핑 평면 파라미터값과 참조 프레임에 연관된 원거리 및 근거리 심도 클리핑 평면 파라미터값 사이의 몫에 기초하여 예측 가중치를 계산하기 위해 가중치 계산기(120)에 의해 이용된다.
가중치 계산기(120)는 수학식 2-9 중 어느 하나를 사용하는 등, 전술일 구현형태 및 실시예들 중 하나를 이용하여 예측 가중치를 계산하도록 구성될 수 있다.
예를 들어, 각각의 예측 가중치는 가중치 계산기(120)에 의해서 수학식 2에 따라, 참조 프레임의 적어도 하나의 화소 블록의 각 화소별로 계산될 수 있다. 가중치 계산기(120)는 또한, 이러한 각각의 예측 가중치의 평균을 기초로 하여, 화소 블록별로 예측 가중치를 계산한다.
이와 다른 대안적 접근방식으로서, 가령 수학식 2에 따라 그리고 참조 프레임에 대한 평균 심도값을 사용하여 가중치 계산기(120)에 의해서, 현재 프레임 및 참조 프레임의 쌍에 대한 하나의 예측 가중치가 계산된다.
또한, 가령 수학식 2 및 참조 프레임에 대한 평균 심도값에 따라, 심도 클리핑 평면 파라미터값에 기초하여 그리고 화소 블록을 대표하는 적어도 하나의 화소값에 기초하여, 참조 프레임 내의 화소 블록에 대한 예측 가중치를 계산하는 것이 추가적으로 가능하다.
옵션사항으로서, 인코더(100)는 또한, 가중치 계산기(120)에 의해 산출된 인코드된 예측 가중치 표기를, 심도맵의 인코드된 표기로 삽입하도록 구성되는 삽입기(140)를 포함한다.
도 22는 인코더(200)의 다른 구현형태의 개략적인 블록도이다. 이 인코더(200)는 바람직하게는, 앞서 도 21과 관련하여 설명한 값 생성기(210), 가중치 계산기(220), 잔차 계산기(230), 옵션 구성요소인 삽입기(240)를 포함한다.
또한, 인코더(200)는 바람직하게, 현재 프레임에 대한 다수의 참조 프레임을 식별하도록 구성된 프레임 식별기(250)를 포함한다. 프레임 식별기(250)는 도 9의 단계 S30과 관련하여 설명한 것과 같이 참조 프레임을 식별하는 것이 바람직하다. 프레임 식별기(250)에 의해 식별된 각 참조 프레임에 대한 유사도를 계산하기 위해 유사도 계산기(260)가 인코더(200)에 구성되는 것이 바람직하다. 유사도 계산기(260)는 현재 프레임과 연관된 심도 클리핑 평면 파라미터값과 참조 프레임과 연관된 심도 클리핑 평면 파라미터값에 기초하여, 가령, 현재 프레임과 참조 프레임의 원거리 및 근거리 심도 클리핑 평면 파라미터값 간의 절대값 차에 기초하여 유사도를 계산한다.
인코더(200)는 또한, 유사도 계산기(260)에 의해 계산된 유사도에 기초하여, 프레임 리스트에서, 프레임 식별기(250)에 의해 식별된 다수의 참조 프레임의 순서를 정렬하도록 구성된 프레임 순서정렬 유닛(270)을 포함한다. 인덱스 할당기(280)는 참조 프레임 리스트의 적어도 하나의 참조 프레임에 각각의 참조 프레임 인덱스를 할당하도록 구성된다. 다음에, 이 적어도 하나의 참조 프레임 인덱스, 또는 이것의 인코딩 버전은, 심도맵의 인코드된 표기 내에 포함된다.
도 23은 도 22의 프레임 순서정렬 유닛(270)의 특정 구현형태의 개략적인 블록도이다. 프레임 순서정렬 유닛(270)은 참조 프레임에 대해 유사도 계산기에 의해 계산된 유사도를 임계값과 비교하도록 구성된 비교기(272)를 포함한다. 다음, 프레임 이동기(274)는 참조 프레임의 위치를, 현재 프레임까지의 각각의 거리에 기초하여 얻어진 다수의 참조 프레임의 예비 순서에 비해 참조 프레임 리스트의 앞쪽으로 적어도 한 단계 위치만큼 이동시킨다.
프레임 이동기(274)는 이전에 도 10의 단계 S41과 관련하여 설명한 바와 같은 다양한 구현형태에 따라 동작한다.
옵션 구현형태에서, 도 22의 인코딩 장치(200)는 유사도에 기초하여 MMCO 명령을 발생하도록 구성된 명령 발생기(290)를 포함한다. 이로써 MMCO 명령은 참조 프레임 리스트의 다수의 참조 프레임의 순서를 나타낸다. 이 MMCO 명령은 삽입기(240)에 의해 심도맵의 인코드된 표기 내로 삽입된다. 이것은, 디코더가, 본 구현형태에서는, 유사도를 전혀 계산할 필요는 없지만 단순히, 심도 클리핑 평면 파라미터값에 기초하여 참조 프레임 리스트 내에서 참조 프레임의 순서정렬을 하기 위해 MMCO 명령을 사용할 수 있다는 것을 의미한다.
다른 옵션 구현형태에서, 인코더(200)는 현재 프레임의 각 화소 블록에 대한 블록 기반 값을 결정하도록 구성된 값 결정기(295)를 포함한다. 블록 기반 값은 블록에 대한 평균 화소값을 대표한다.
본 구현형태에서 유사도 계산기(260)는, 각 참조 프레임에 대해, 본 명세서에서 이미 개시한 바와 같이 원거리 유사도 및 근거리 유사도를 계산하도록 구성된다. 프레임 순서정렬 유닛(270)은 블록 기반 값이 임계값보다 작으면 원거리 유사도에 기초하여 참조 프레임 리스트의 참조 프레임을 순서 정렬하도록 하고, 그렇지 않으면 근거리 유사도에 기초하여 참조 프레임을 순서 정렬하도록 구성된다.
앞에서 설명한한 심도 클리핑 평면 파라미터에 기초하여 참조 프레임의 순서 재정렬을 가능하게 하는 장치 250 내지 295를 갖는 인코더(200)의 구현형태는, 심도 클리핑 평면 파라미터에 기초하여 계산된 예측 가중치를 사용한 예측적 인코더에 특정 구현형태로서 적용될 수 있을 것이다. 이와 다른 대안적 접근방식으로서, 이러한 구현형태들은 심도 클리핑 평면 파라미터에 기초하여 산출된 어떠한 예측 가중치와도 별도로 사용된다. 이 경우, 구현형태들은 종래의 예측 가중치를 사용하거나 전혀 예측 가중치를 사용하지 않는 종래의 예측적 인코더에 적용할 수 있을 것이다.
이들 구현형태의 일 측면은, 다수의 화소들의 프레임의 형태로 된 심도맵에 대하여, 참조 프레임 리스트에서 참조 프레임을 순서정렬하는 장치에 관한 것으로서, 여기서, 다수의 화소들의 각 화소는 카메라와 각 피사체 간의 거리를 나타내는 화소값을 갖는다. 본 장치는 프레임별로 다수의 참조 프레임을 식별하도록 구성된 프레임 식별기(250)를 포함한다. 유사도 계산기(260)는, 다수의 참조 프레임의 각 참조 프레임에 대해, 프레임과 연관된 적어도 첫 번째의 심도 클리핑 평면 파라미터값과 참조 프레임과 연관된 적어도 첫 번째의 심도 클리핑 평면 파라미터값에 기초하여 유사도를 계산하도록 구성된다. 본 장치는 또한, 상기 유사도에 적어도 부분적으로 기초하여 참조 프레임 리스트의 다수의 참조 프레임을 순서 정렬하도록 구성된 프레임 순서정렬 유닛(270)을 추가로 포함한다. 따라서, 프레임 순서정렬 유닛(270)은 현재 프레임과 참조 프레임의 심도 클리핑 평면 파라미터값에 기초하여(그리고 옵션사항으로서, 현재 프레임과 참조 프레임 사이의 거리에 기초하여) 리스트 내에서의 참조 프레임을 순서 정렬한다. 옵션인 인덱스 할당기(280)는 참조 프레임 리스트의 다수의 참조 프레임의 적어도 하나의 참조 프레임에 대한 각각의 참조 프레임 인덱스를 할당하도록 구성된다.
도 22와 관련하여 앞에서 설명한 다양한 구현형태들은 위에서 언급한 측면의 특정 구현예에 적용될 수 있다. 따라서, 참조 프레임의 순서정렬을 위한 이 장치는, 명령 발생기(290)와 삽입기(240) 및/또는 값 결정기(295)를 옵션으로서 포함할 수 있을 것이다.
도 24는 다른 구현형태의 인코더(300)의 개략적인 블록도이다. 이 인코더(300)는, 앞서 도 21과 관련하여 설명한 것과 같이 동작하는 것이 바람직한, 값 생성기(310), 가중치 계산기(320), 및 잔차 계산기(330)를 포함한다.
인코더(300)는 또한, 바람직하게는 이전에 도 13의 단계 S70과 관련하여 설명한 것과 같이, 현재 프레임에 대한 다수의 후보 참조 프레임을 식별하도록 구성된 프레임 식별기(350)를 포함한다. 유사도 계산기(360)는 현재 프레임과 참조 프레임의 심도 클리핑 평면 파라미터값에 기초하여 각 후보 참조 프레임에 대한 유사도를 계산하도록 구성된다. 이 구성요소는 기본적으로 도 22의 유사도 계산기(250)처럼 동작한다. 이 구현형태에서 프레임 식별기(350)는 또한, 다수의 후보 참조 프레임 중 임계값보다 작은 유사도를 갖는 적어도 하나의 참조 프레임을 식별하도록 구성된다. 이에, 인코더(300)의 움직임 추정기(370)는 프레임 식별기(350)에 의해 식별된 적어도 하나의 참조 프레임 사이에서 현재 프레임의 각 화소 블록에 대하여 움직임 탐색을 수행한다.
상기 도 24와 관련하여 논의된 심도 클리핑 평면 파라미터에 기초하여 참조 프레임들 중으로 움직임 탐색을 제한하는 인코더(300)를 갖는 구현형태는, 심도 클리핑 평면 파라미터에 기초하여 계산된 예측 가중치를 사용한 예측적 인코딩에, 그리고/또는 심도 클리핑 평면 파라미터에 기초하여 참조 프레임 리스트 내의 참조 프레임의 순서 정렬에, 특정 구현형태로서 적용될 수 있을 것이다. 이와 다른 대안적 접근방식에서는, 이러한 구현형태들이 심도 클리핑 평면 파라미터에 기초한 예측 가중치 계산 또는 참조 프레임 순서정렬과는 전연 별도로 사용된다. 이 경우, 이들 구현형태들은 종래의 예측 가중치를 사용하거나 예측 가중치를 전혀 사용하지 않는 종래의 예측적 디코딩과, 참조 프레임 리스트에서의 참조 프레임의 종래의 순서정렬에 적용될 수 있다.
한편, 이들 구현형태의 한 측면은, 다수 화소들로 된 프레임 형태의 심도맵에 대하여 움직임 탐색을 수행하는 장치에 관한 것으로, 여기서 다수 화소들의 각각의 화소는 카메라와 각 피사체 간의 거리를 나타내는 각각의 화소값을 갖는다. 이 장치는 프레임에 대해 다수의 후보 참조 프레임을 식별하도록 구성된 프레임 식별기(350)를 포함한다. 유사도 계산기(360)는, 다수의 후보 참조 프레임들의 각 후보 참조 프레임에 대해, 프레임과 연관된 적어도 첫 번째의 심도 클리핑 평면 파라미터값과 참조 프레임과 연관된 적어도 첫 번째의 심도 클리핑 평면 파라미터값에 기초하여 유사도를 계산하도록 구성된다. 프레임 식별기(350)는 또한, 다수의 후보 참조 프레임들 중에서, 임계값보다 작은 유사도를 갖는 적어도 하나의 참조 프레임을 식별하도록 구성된다. 장치의 움직임 추정기(370)는, 프레임 내의 다수의 화소 블록 중에서 적어도 하나의(바람직하게는 각각의) 화소 블록에 대해서, 유사도에 기초하여 프레임 식별자(350)가 식별한 적어도 하나의 참조 프레임 중에서(바람직하게는 이 중에서만) 움직임 탐색을 수행하도록 구성된다.
도 25는 다른 구현형태의 인코더(400)의 개략적인 블록도이다. 이 인코더(400)는, 앞서 도 21과 관련하여 설명한 것처럼 동작하는 것이 바람직한, 값 생성기(410), 가중치 계산기(420), 잔차 계산기(430)를 포함한다.
이 인코더(400)는 또한, 바람직하게 앞서 도 14의 단계 S80과 관련하여 논의한 것과 같이, 현재 프레임에 대한 다수의 참조 프레임을 식별하도록 구성된 프레임 식별기(450)를 포함한다. 유사도 계산기(460)는 현재 프레임과 참조 프레임의 심도 클리핑 평면 파라미터값에 따라 각 참조 프레임에 대한 유사도를 계산하도록 구성된다. 이는 기본적으로, 도 22의 유사도 계산기(250)와 도 24의 유사도 계산기(360)와 동일하게 동작한다. 인코더(400)는 또한, 유사도 계산기(460)에 의해 계산된 유사도가 임계값보다 작은, 프레임 식별기(450)에 의해 식별된 참조 프레임에 제1 보간 필터 또는 제1 보간 필터의 집합을 적용하도록 구성되는 필터 유닛(470)을 포함한다. 다음에, 필터 유닛(470)은 여기서 앞에 기재한 것과 같이 유사도가 임계값과 같거나 더 큰 참조 프레임에 제2 보간 필터 또는 제2 보간 필터의 집합을 적용한다.
상기 도 25와 관련하여 논의한 심도 클리핑 평면 파라미터에 기초한 보간 필터를 선택하는 구현형태들은, 심도 클리핑 평면 파라미터에 기초하여 계산된 예측 가중치를 사용하는 예측적 인코더에, 그리고/또는 심도 클리핑 평면 파라미터에 기초한 참조 프레임 리스트에서의 참조 프레임의 순서정렬에, 특정 구현형태로서 적용될 수 있다. 이와 다른 대안으로서, 이러한 구현형태들은 심도 클리핑 평면 파라미터에 기반한 예측 가중치 계산 또는 참조 프레임 순서정렬과 전연 별도로 사용된다. 이 경우, 이들 구현형태들은 종래의 예측 가중치를 사용하거나 예측 가중치를 전혀 사용하지 않는 종래의 예측적 인코더와, 참조 프레임 리스트에서의 참조 프레임의 종래의 순서정렬에 적용될 수 있을 것이다.
한편, 상기 구현형태들의 한 측면은, 다수 화소들로 된 프레임 형태의 심도맵에 대한 보간 필터링 장치에 관한 것으로, 여기서 다수 화소들의 각각의 화소는 카메라와 각 피사체 간의 거리를 대표하는 각각의 화소값을 갖는다. 이 장치는 프레임에 대한 다수의 참조 프레임을 식별하는 프레임 식별자(450)를 포함한다. 유사도 계산기(360)는, 다수의 후보 참조 프레임들의 각 후보 참조 프레임에 대해, 프레임과 연관된 적어도 첫 번째의 심도 클리핑 평면 파라미터값과 참조 프레임과 연관된 적어도 첫 번째의 심도 클리핑 평면 파라미터값에 기초하여 유사도를 계산하도록 구성된다. 또한, 이 장치는, 다수의 참조 프레임들 중 유사도가 임계값보다 작은 참조 프레임에 제1 보간 필터 또는 제1 보간 필터들의 집합을 적용하도록 구성되는 필터 유닛(470)을 포함한다. 이에 상응하게, 필터 유닛(470)은 다수의 참조 프레임들 중 유사도가 임계값과 같거나 이보다 큰 참조 프레임에 제2 보간 필터 또는 제2 보간 필터들의 집합(제1 보간 필터와 다른 것임)을 적용하도록 구성된다.
도 21, 22, 24, 25의 인코더(100, 200, 300, 400)는 소프트웨어, 하드웨어, 또는 하드웨어/소프트웨어의 조합으로 구현할 수 있다. 인코더(100, 200, 300, 400)는 휴대 전화, 태블릿, 데스크톱, 노트북, 멀티미디어 재생기, 비디오 스트리밍 서버, 셋톱 박스, 또는 컴퓨터 등의 사용자 장비에서 구현될 수 있다. 인코더(100, 200, 300, 400)는 또한, 네트워크 노드의 형태 또는 이에 연결된 네트워크 장치(가령, 무선 기지국), 통신 네트워크 또는 시스템 등에 구현될 수 있다. 인코더(100, 200, 300, 400)는 멀티뷰 비디오 컨텐트를 인코딩하기 위한 장치의 일부로서 구현되는 것이 유리하다.
도 21-25를 참조하여 개시한 각 구성요소(110-140, 210-295, 310-370, 410-470)는 인코더(100, 200, 300, 400) 내의 물리적으로 분리된 요소(110-140, 210-295, 310-370, 410-470)로서 설명되어 있으며 모두 특수목적 회로(가령, ASIC(주문자사양 집적회로)일 수 있지만, 이들 인코더(100, 200, 300, 400)의 다른 구현형태들은 이들 요소(110-140, 210-295, 310-370, 410-470)의 일부 또는 전부가 범용 프로세서에서 실행되는 컴퓨터 프로그램으로서 구현할 수도 있다. 이러한 구현형태는 도 26에 개시되어 있다.
도 26은 DSP(디지털 신호 처리기) 또는 CPU(중앙 처리 장치) 등의 처리 장치 또는 프로세서(520)를 갖는 인코더(500) 또는 컴퓨터를 개략적으로 나타내고 있다. 프로세서(520)는 본원에 기재된 방법의 각기 단계들을 수행하기 위한 하나의 또는 다수의 단위일 수 있다. 이 인코더(500)는 또한, 카메라와 피사체 사이의 거리를 나타내는 화소값을 각각 갖는 다수 화소의 프레임 형태의 심도맵을 수신하기 위한 입력부(510)를 포함한다. 인코더의 출력부(530)는 심도맵의 인코드된 표기를 출력하도록 구성된다. 입력부(510)와 출력부(530)는 별개의 요소 형태로 예시되어 있지만, 이들도 역시 도 26에서 하나의 입/출력 장치(I/O)의 형태일 수 있다.
또한, 인코더(500)는, 예컨대 EEPROM(전기적으로 삭제/프로그램 가능한 읽기 전용 메모리), 플래시 메모리, 또는디스크 드라이브 등의 비휘발성 메모리(540)의 형태로 된 적어도 하나의 컴퓨터 프로그램 제품을 포함한다. 컴퓨터 프로그램 제품은, 인코더(500)(예컨대, 프로세서(520))에서 실행될 때에 프로세서(520)로 하여금 도 6에 도시한 상술한 방법의 단계들을 수행하도록 하는 코드 수단이 포함된 컴퓨터 프로그램(550)을 포함한다. 따라서, 옵션 구현형태에서, 컴퓨터 프로그램(550) 내의 이 코드 수단은, 심도 클리핑 평면 파라미터값을 생성하는 값 생성모듈, 즉, 값 생성기(110, 210, 320, 410)와, 예측 가중치를 계산하는 가중치 계산 모듈, 즉, 가중치 계산기(120, 220, 320, 420)와, 예측 잔차를 계산하는 잔차 계산 모듈, 즉, 잔차 계산기(130, 230, 330, 430)를 포함한다. 이들 모듈은 프로세스(520)에서 실행시에 필수적으로 도 6의 흐름도의 단계들을 수행한다. 따라서 프로세서(520)에서 실행되는 다른 모듈들의 경우에는, 이들 모듈은 도 21, 22, 24, 및 25의 해당 구성요소에 상응한다.
컴퓨터 프로그램(550)은 도 21-25에 개시된 다른 구성요소에 해당되는 모듈들을 추가로 포함할 수 있다.
도 27은 다수의 화소프레임의 형태로 된 심도맵의 인코드된 표기의 예측적 디코딩을 위한 디코더(600)의 개략적인 블록도이다. 디코더(600)는 심도맵의 인코드된 표기에 기초하여 다수의 참조 프레임들 중에서 참조 프레임을 식별하도록 구성된 선택적 구성요소(옵션)인 프레임 식별기(610)를 포함한다. 프레임 식별기(610)는 바람직하게는 앞서 도 15의 단계 S90과 관련하여 본 명세서에서 논의된 심도맵의 인코드된 표기에 기초하여 얻어진 참조 프레임 인덱스를 사용하여 참조 프레임 리스트에서 참조 프레임을 식별한다.
디코더(600)의 선택적 구성요소(옵션)인 잔차 결정기(620)는 도 15의 단계 S91과 관련하여 논의된 바와 같이 심도맵의 인코드된 표기에 기초하여 현재 프레임에 대한 예측 잔차를 결정하도록 구성된다.
디코더(600)는 심도맵의 인코드된 표기에 의한 예측 가중치를 생성하도록 구성되는 가중치 생성기(630)를 포함한다. 이 예측 가중치는 현재 프레임과 연관된 적어도 첫 번째의 심도 클리핑 평면 파라미터값과 프레임 식별기(610)에 의해 식별된참조 프레임에 연관된 적어도 첫 번째의 심도 클리핑 평면 파라미터값에 기초하여 계산된다.
표기 결정기(640)는 잔차 결정기(620)에 의해 결정된 예측 잔차와, 프레임 식별기(610)에 의해 식별되고 가중치 생성기(630)가 생성한 예측 가중치에 의해 가중된 참조 프레임의 적어도 하나의 화소값에 기초하여 현재 프레임의 디코드된 표기를 결정하도록 구성된다. 예측 가중치에 의해 가중화된 적어도 하나의 화소값은 심도맵의 인코드된 표기에 기초하여 결정된 움직임 벡터를 이용하여 식별되는 것이 바람직하다.
일 구현형태에서, 가중치 생성기(630)는 심도맵의 인코드된 표기로부터 인코드된 예측 가중치 표기를 검색하도록 구성된다. 가중치 생성기(630)는 이에, 검색된 인코드된 예측 가중치 표기에 기초하여 참조 프레임에 대해서 사용할 예측 가중치를 결정한다.
도 28은 가중치 생성기(630)의 다른 구현형태의 개략적인 블록도이다. 본 구현형태에서 가중치 생성기(630)는 심도맵의 인코드된 표기로부터, 현재 프레임의 심도 클리핑 평면 파라미터값의 인코드된 표기와 참조 프레임의 심도 클리핑 평면 파라미터값의 인코드된 표기를 검색하도록 구성되는 옵션 구성요소인 검색기(632)를 포함한다. 그리고 가중치 계산기(634)는 검색기(632)에 의해 검색된 데이터에 기초하여 결정된 디코드된 심도 클리핑 평면 파라미터값에 기초하여 예측 가중치를 계산한다.
디코더(600)에 구현되는 가중치 계산기(634)는 기본적으로 인코더에 구현된 것과 동일하게 동작한다. 따라서, 도 21, 22, 24, 25의 인코더(120, 220, 320, 420)에 대해서 한 설명은 도 28의 가중치 계산기(634)에도 적용된다. 이는, 가중치 계산기(634)는 수학식 2-9 중 어느 하나를 사용하여 예측 가중치를 계산할 수 있다는 것을 의미한다. 예를 들어, 가중치 계산기(634)는 참조 프레임의 적어도 한 화소 블록의 각 화소에 대하여 수학식 2에 따라 각각의 예측 가중치를 계산할 수 있다. 가중치 계산기(634)는 또한 추가적으로, 이들 각각의 예측 가중치의 평균을 기초로, 화소 블록에 대해서 예측 가중치를 계산한다.
또는 이에 대한 대안으로, 가중치 계산기(634)는 현재 프레임과 참조 프레임의 쌍에 대해서 하나의 단일 예측 가중치를 계산한다. 예를 들어, 단일 예측 가중치를 수학식 2 및 참조 프레임에 대한 평균 심도 값에 기초하여 계산할 수 있을 것이다.
다른 대안으로서, 가중치 계산기(634)는 현재 프레임의 심도 클리핑 평면 파라미터값 및 참조 프레임의 심도 클리핑 평면 파라미터값에 기초하여 그리고 화소 블록의 대표가 되는 적어도 하나의 화소값에 기초하여 참조 프레임 내의 화소 블록에 대한 예측 가중치를 계산한다. 예를 들어, 예측 가중치를 수학식 2에 기초하여 화소 블록에 대한 평균 심도값을 이용하여 계산할 수 있을 것이다.
도 29는 다른 구현형태의 디코더(700)의 개략적인 블록도이다. 이 디코더(700)는, 앞서 도 27과 관련하여 설명한 것과 같이 동작하는 것이 바람직한 프레임 식별기(710), 잔차 결정기(720), 가중치 생성기(730) 및 표기 결정기(740)를 포함한다.
이 디코더(700)는 또한 심도 클리핑 평면 파라미터값에 기초하여 참조 프레임 리스트의 각 참조 프레임에 대한 유사도를 계산하도록 구성된 유사도 계산기(750)를 포함하는 것이 바람직하다. 이 유사도 계산기(750)는 도 22의 인코더 측에 구현된 유사도 계산기(260)와 동일하게 동작하는 것이 바람직하다. 디코더(700)는 또한, 유사도 계산기(750)에 의해 계산된 유사도에 기초하여 참조 프레임 리스트의 다수의 참조 프레임을 순서 정렬하도록 구성된 프레임 순서정렬 유닛(760)을 포함한다. 이에, 프레임 식별기(710)는 심도맵의 인코드된 표기에 기초하여 얻어진 참조 프레임 인덱스에 기초하여 참조 프레임 리스트로부터 참조 프레임을 식별하도록 구성된다.
도 29의 프레임 순서정렬 유닛(760)은 기본적으로 도 22의 프레임 순서정렬 유닛(270)과 동일한 방식으로 동작한다.
유사도 계산기(750)는 바람직하게는, 현재 프레임과 연관된 근거리 또는 원거리 심도 클리핑 평면 파라미터값과 참조 프레임과 연관된 근거리 또는 원거리 심도 클리핑 평면 파라미터값 간의 절대값 차로서의 유사도를 계산한다.
도 30은 프레임 순서정렬 유닛(760)의 일 구현형태의 개략적 블록도이다. 본 구현형태에서 프레임 순서정렬 유닛(760)은 임계값에 유사도를 비교하도록 구성된비교기(762)를 포함한다. 이 비교기(762)는 도 23의 비교기(272)와 유사하게 동작한다. 현재 프레임까지의 다수의 참조 프레임의 각각의 거리에 기초하여 정의된 예비 순서로부터, 참조 프레임 리스트의 앞쪽으로 참조 단계를 적어도 한 위치 이동시키도록 프레임 이동기(764)가 구성된다. 프레임 이동기(764)는 유사도가 임계값 보다 작을 때 이러한 위치 이동을 행한다. 프레임 이동기(764)는 도 23의 프레임 이동기(274)와 유사하게 동작한다.
일 구현형태에서 도 29의 디코더(700)는 심도맵의 인코드된 표기로부터 현재 프레임의 화소 블록에 대한 블록 기반 값을 검색하도록 구성되는 검색기(770)를 포함한다. 이 블록 기반 값은 화소 블록에 대한 평균 화소값을 대표한다.
한편, 유사도 계산기(750)는 이전에 개시된 바와 같이 각 참조 프레임에 대한 각각의 근거리 및 원거리 유사도를 계산하도록 구성된다. 이 경우에, 프레임 순서정렬 유닛(760)은 블록 기반 값이 임계값보다 낮으면 원거리 유사도에 기초하여 참조 프레임 리스트의 참조 프레임의 순서정렬을 행이며, 그렇지 않으면, 즉, 블록 기반 값이 임계값과 같거나 크면, 근거리 유사도를 사용하여 참조 프레임의 순서정렬을 행한다.
앞에서 도 29와 30을 참조하여 설명한 심도 클리핑 평면 파라미터에 기초한 참조 프레임의 순서 재정렬의 구현형태는, 심도 클리핑 평면 파라미터에 기초하여 계산된 예측 가중치를 사용하는 예측적 디코더에 특정 구현형태로서 적용될 수 있을 것이다. 이와 다른 대안적 접근방식으로서, 이 구현형태들은 심도 클리핑 평면 파라미터에 기초하여 산출된 어떠한 예측 가중치와도 별도로 사용된다. 이 경우, 구현형태들은 종래의 예측 가중치를 사용하거나 전혀 예측 가중치를 사용하지 않는 종래의 예측적 디코더에 적용할 수 있을 것이다.
한편, 이들 구현형태의 일 측면은, 다수의 화소들의 프레임의 형태로 된 심도맵에 대하여 참조 프레임 리스트에서 참조 프레임을 순서정렬하는 장치에 관한 것으로서, 여기서, 다수의 화소들의 각 화소는 카메라와 각 피사체 간의 거리를 나타내는 화소값을 갖는다. 이 장치는 프레임별로 다수의 참조 프레임을 식별하도록 구성된 옵션구성요소인 프레임 식별기(710)를 포함한다. 유사도 계산기(750)는, 다수 참조 프레임의 각 참조 프레임에 대해, 프레임과 연관된 적어도 첫 번째의 심도 클리핑 평면 파라미터값과 참조 프레임과 연관된 적어도 첫 번째의 심도 클리핑 평면 파라미터값에 기초하여 유사도를 계산하도록 구성된다. 이 장치는 또한, 상기 유사도에 적어도 부분적으로 기초하여 참조 프레임 리스트의 다수 참조 프레임을 순서정렬하도록 구성된 프레임 순서정렬 유닛(760)을 추가로 포함한다. 옵션인 프레임 식별기(710)는 또한, 프레임 순서정렬 유닛(760)이 참조 프레임을 순서 정렬한 후에 그리고 심도맵의 인코드된 표기에 기초하여 얻어진 참조 프레임 인덱스에 기초하여서, 참조 프레임 리스트에서 참조 프레임을 식별하도록 구성된다.
도 29 및 30과 관련하여 앞에서 설명한 다양한 구현형태에는 상기 언급한 측면의 특정 구현예로서 적용될 수 있을 것이다.
도 31은 다른 구현형태의 디코더(800)의 개략적인 블록도이다. 이 디코더(800)는 앞서 도 27과 관련하여 설명한 것과 같이 동작하는 것이 바람직한, 프레임 식별기(810), 잔차 결정기(820), 가중치 생성기(830), 및 표기 결정기(840)를 포함한다.
디코더(800)는 또한 다수 후보 프레임의 각 후보 프레임에 대한 유사도를 계산하도록 구성된 유사도 계산기(850)를 포함한다. 유사도는 현재 프레임과 후보 참조 프레임과 연관된 심도 클리핑 평면 파라미터값에 기초하여 각각 산출된다. 유사도 계산기(850)의 동작은 도 24의 유사도 계산기(360)의 동작과 유사하다.
본 구현형태에서 프레임 식별기(810)는 다수의 후보 참조 프레임 중 적어도 하나의 참조 프레임을 식별하도록 구성된다. 이 적어도 하나의 식별된 참조 프레임은 임계값보다 작은 유사도를 가지며, 이에 따라 현재 프레임의 심도 클리핑 평면 파라미터값과 같거나 적어도 이에 근접한 심도 클리핑 평면 파라미터값을 갖게 된다.
프레임 식별기(810)에 의해 식별된 적어도 하나의 참조 프레임들 중에서 현재 프레임의 다수의 화소 블록들 중의 각 화소 블록에 대한 움직임 탐색을 수행하는 움직임 추정기(880)가 디코더(800) 내에 구현된다. 따라서, 움직임 탐색은 현재 프레임의 심도 클리핑 평면 파라미터값과 다른, 임계값보다 작은 심도 클리핑 평면 파라미터값을 갖는 해당 참조 프레임으로 한정된다. 이러한 움직임 추정기의 동작은 기본적으로 도 24의 움직임 추정기(370)와 동일하다.
심도 클리핑 평면 파라미터에 기초하여 참조 프레임들 중으로 움직임 탐색을 제한하는 구현형태는, 심도 클리핑 평면 파라미터에 기초하여 계산된 예측 가중치를 사용한 예측적 인코딩에, 그리고/또는 심도 클리핑 평면 파라미터에 기초하여 참조 프레임 리스트 내의 참조 프레임의 순서 정렬에, 특정 구현형태로서 적용될 수 있을 것이다. 이와 다른 대안적 접근방식에서는, 이러한 구현형태들이 심도 클리핑 평면 파라미터에 기초한 예측 가중치 계산 또는 참조 프레임 순서정렬과는 전연 별도로 사용된다. 이 경우, 이들 구현형태들은 종래의 예측 가중치를 사용하거나 예측 가중치를 전혀 사용하지 않는 종래의 예측적 디코딩과, 참조 프레임 리스트에서의 참조 프레임의 종래의 순서정렬에 적용될 수 있다.
도 32는 다른 구현형태의 디코더(900)의 개략적인 블록도이다. 이 디코더(900)는 앞서 도 27과 관련하여 설명한 것처럼 동작하는 것이 바람직한, 프레임 식별기(910), 잔차 결정기(920), 가중치 생성기(930), 및 표기 결정기(940)를 포함한다.
디코더(900)는 현재 프레임의 심도 클리핑 평면 파라미터 및 참조 프레임의 심도 클리핑 평면 파라미터값에 기초하여 다수 참조 프레임들의 각 참조 프레임에 대한 각각의 유사도를 계산하도록 구성된 유사도 계산기(950)를 포함한다. 이 유사도 계산기(950)의 동작은 기본적으로 도 25의 유사도 계산기(460)와 동일하다.
필터 유닛(990)이, 참조 프레임에 대해 계산된 유사도의 값에 기초하여 참조 프레임에 제1 보간 필터 또는 필터 집합, 또는 제2 보간 필터 또는 필터 집합을 적용하도록 디코더(900)에 구현된다. 따라서, 임계값보다 작은 유사도를 갖는 참조 프레임은 제1 보간 필터(집합)를 사용하게 되고, 임계값과 같거나 이를 초과하는 유사도를 갖는 참조 프레임은 대신에 제2 보간 필터(집합)를 사용하게 될 것이다. 이 필터 유닛(990)의 동작은 기본적으로 도 25의 필터 유닛(470)과 동일하다.
상기 도 32와 관련하여 논의한 심도 클리핑 평면 파라미터에 기초한 보간 필터를 선택하는 구현형태들은, 심도 클리핑 평면 파라미터에 기초하여 계산된 예측 가중치를 사용하는 예측적 인코더에, 그리고/또는 심도 클리핑 평면 파라미터에 기초한 참조 프레임 리스트에서의 참조 프레임의 순서정렬에, 특정 구현형태로서 적용될 수 있다. 이와 다른 대안으로서, 이러한 구현형태들은 심도 클리핑 평면 파라미터에 기반한 예측 가중치 계산 또는 참조 프레임 순서정렬과 전연 별도로 사용된다. 이 경우, 이들 구현형태들은 종래의 예측 가중치를 사용하거나 예측 가중치를 전혀 사용하지 않는 종래의 예측적 인코더와, 참조 프레임 리스트에서의 참조 프레임의 종래의 순서정렬에 적용될 수 있을 것이다.
도 27, 29, 31, 32의 디코더(600, 700, 800, 900)는 하드웨어, 소프트웨어, 또는 하드웨어/소프트웨어의 조합으로 구현할 수 있다. 디코더(600, 700, 800, 900)는 휴대 전화, 태블릿, 데스크톱, 노트북, 멀티미디어 재생기, 비디오 스트리밍 서버, 셋톱 박스, 또는 컴퓨터 등의 사용자 장비에서 구현될 수 있다. 디코더(600, 700, 800, 900)는 멀티뷰 비디오 컨텐트를 인코딩하기 위한 장치의 일부로서 구현되는 것이 유리하다.
도 27-32를 참조하여 개시한 각 구성요소(610-640, 710-770, 810-880, 910-990)는 디코더(600, 700, 800, 900) 내의 물리적으로 분리된 요소(610-640, 710-770, 810-880, 910-990)로서 설명되어 있으며 모두 특수목적 회로(가령, ASIC(주문자사양 집적회로)일 수 있지만, 이들 디코더(600, 700, 800, 900)의 다른 구현형태들은 이들 요소(610-640, 710-770, 810-880, 910-990)의 일부 또는 전부가 범용 프로세서에서 실행되는 컴퓨터 프로그램으로서 구현할 수도 있다. 이 구현형태는 도 33에 개시되어 있다.
도 26은 DSP(디지털 신호 처리기) 또는 CPU(중앙 처리 장치) 등의 처리 장치 또는 프로세서(1020)를 갖는 디코더(1000) 또는 컴퓨터를 개략적으로 나타내고 있다. 프로세서(1020)는 본원에 기재된 방법의 각기 단계들을 수행하기 위한 하나의 또는 다수의 단위일 수 있다. 이 디코더(1000)는 또한, 카메라와 피사체 사이의 거리를 나타내는 화소값을 각각 갖는 다수 화소의 프레임 형태의 심도맵을 수신하기 위한 입력부(1010)를 포함한다. 인코더의 출력부(1030)는 심도맵의 인코드된 표기를 출력하도록 구성된다. 입력부(1010)와 출력부(1030)는 별개의 요소 형태로 예시되어 있지만, 이들도 역시 도 33에서 하나의 입/출력 장치(I/O)의 형태일 수 있다.
나아가, 디코더(1000)는, 예컨대 EEPROM(전기적으로 삭제/프로그램 가능한 읽기 전용 메모리), 플래시 메모리, 또는디스크 드라이브 등의 비휘발성 메모리(1040)의 형태로 된 적어도 하나의 컴퓨터 프로그램 제품을 포함한다. 컴퓨터 프로그램 제품은, 디코더(1000)(예컨대, 프로세서(1020))에서 실행될 때에 프로세서(1020)로 하여금 도 15에 도시한 상술한 방법의 단계들을 수행하도록 하는 코드 수단이 포함된 컴퓨터 프로그램(1050)을 포함한다. 따라서, 옵션 구현형태에서, 컴퓨터 프로그램(1050) 내의 이 코드 수단은, 참조 프레임을 식별하는 값 식별모듈, 즉, 프레임 식별기(610, 710, 810, 810)와, 예측 잔차를 결정하는 잔차 결정 모듈, 즉, 잔차 결정기(620, 720, 820, 920)와, 예측 가중치를 생성하는 가중치 생성 모듈, 즉, 가중치 생성기(630, 730, 830, 930)와, 프레임/심도 맵의 디코드된 표기를 결정하는 표기 결정 모듈, 즉, 표기 결정기(640, 740, 840, 940)를 포함한다. 이들 모듈은 프로세스(1020)에서 실행시에 필수적으로 도 15의 흐름도의 단계들을 수행한다. 따라서 프로세서(1020)에서 실행되는 다른 모듈들의 경우에는, 이들 모듈은 도 27, 29, 31, 32의 해당 구성요소에 상응한다.
컴퓨터 프로그램(1050)은 도 27-32에 개시된 다른 구성요소에 해당되는 모듈들을 추가로 포함할 수 있다.
지금까지 특정 구현형태들을 설명하였지만, 당해 분야에서 통상의 지식을 가진 자는, 이상 설명한 해결방안을 임의의 적절한 통신 표준을 지원하고 임의의 적절한 구성요소를 사용하는 임의의 적절한 형식의 통신 시스템에 구현할 수도 있음을 이해할 것이다. 여기에는, 이상에서 제시한 기능의 일부 또는 전부를 제공하고 그리고/또는 상술한 해결방안을 지원하는 데 필요한 모든 기능을 제공하는 데 사용할 수 있는 임의 조합의 소프트웨어 및/또는 하드웨어(가령, 메모리, 프로세서(들))가 포함된다.
앞에서 설명한 구현형태들은 본 발명을 예시하기 위한 소수의 예임을 이해해야 한다. 당해 분야에서 통상의 지식을 가진 자는, 본 발명의 범위를 벗어나지 않고 다양한 변형, 조합, 및 변경을 행할 수 있음을 이해할 것이다. 특히, 상이한 구현형태에서의 상이한 부분적 해결방안들을 기술적으로 가능한 다른 구성으로 결합시킬 수 있다. 그러나 본 발명의 범위는 첨부된 특허청구범위에 의해 정해진다.
A, B, C: 피사체, 화소(11), 10: 현재 프레임, 11, 21, 31: 화소, 12, 22, 32: 화소 블록, 20, 30: 참조 프레임, 25, 35: 움직임 벡터

Claims (38)

  1. 다수 화소(11)들로 이루어진 프레임(10) 형태의 심도맵을 예측적 인코딩하는 방법에 있어서, 상기 다수 화소(11)의 각 화소(11)는 카메라(40)와 각 피사체 사이의 각각의 거리를 나타내는 각각의 화소값을 가지며, 상기 방법은,
    상기 프레임(10)과 연관된 적어도 첫 번째의 심도 클리핑 평면 파라미터값과, 참조 프레임(20, 30)과 연관된 적어도 첫 번째의 심도 클리핑 평면 파라미터값을 생성(S1)하고;
    상기 프레임(10)과 연관된 상기 첫 번째 심도 클리핑 평면 파라미터값과 상기 참조 프레임(20, 30)과 연관된 상기 첫 번째 심도 클리핑 평면 파라미터값에 기초하여 예측 가중치를 계산(S2)하고; 그리고
    상기 프레임(10)의 적어도 하나의 화소값과 상기 예측 가중치에 의해 가중화된 상기 참조 프레임(20, 30)의 적어도 하나의 화소값에 기초하여 상기 프레임(10)에 대한 예측 잔차를 계산(S3)하는;
    단계를 포함하고,
    상기 심도맵의 인코드된 표기는 상기 예측 잔차의 인코드된 표기를 포함하는 것을 특징으로 하는 심도맵의 예측적 인코딩 방법.
  2. 제1항에 있어서, 상기 적어도 첫 번째의 심도 클리핑 평면 파라미터값을 생성(S1)하는 단계는, 상기 프레임(10)과 연관된 근거리 심도 클리핑 평면 파라미터값과 원거리 심도 클리핑 평면 파라미터값 및 상기 참조 프레임(20, 30)과 연관된 근거리 심도 클리핑 평면 파라미터값과 원거리 심도 클리핑 평면 파라미터값을 생성(S1)하는 단계를 포함하고; 그리고
    상기 예측 가중치를 계산(S2)하는 단계는, 상기 프레임(10)과 연관된 상기 근거리 심도 클리핑 평면 파라미터값과 상기 원거리 심도 클리핑 평면 파라미터값 및 상기 참조 프레임(20, 30)과 연관된 상기 근거리 심도 클리핑 평면 파라미터값 및 상기 원거리 심도 클리핑 평면 파라미터값에 기초하여 상기 예측 가중치를 계산(S2)하는 단계를 포함하는;
    것을 특징으로 하는 심도맵의 예측적 인코딩 방법.
  3. 제1항 또는 제2항에 있어서, 상기 예측 가중치를 계산(S2)하는 단계는
    Figure pct00050
    (단,
    Figure pct00051
    은 상기 프레임(10)에 연관된 상기 근거리 심도 클리핑 평면 파라미터값,
    Figure pct00052
    은 상기 프레임(10)에 연관된 상기 원거리 심도 클리핑 평면 파라미터값,
    Figure pct00053
    은 상기 참조 프레임(20, 30)에 연관된 상기 근거리 심도 클리핑 평면 파라미터값,
    Figure pct00054
    은 상기 참조 프레임(20, 30)에 연관된 상기 원거리 심도 클리핑 평면 파라미터값,
    Figure pct00055
    는 화소의 심도값을 나타냄)와 같이 상기 예측 가중치를 계산하는 것을 포함하는 것을 특징으로 하는 심도맵의 예측적 인코딩 방법.
  4. 제1항 내지 제3항 중 한 항에 있어서, 상기 예측 가중치를 계산(S2)하는 단계는 상기 프레임(10)과 연관된 상기 적어도 첫 번째의 심도 클리핑 평면 파라미터값 및 상기 참조 프레임(20, 30)과 연관된 상기 적어도 첫 번째의 심도 클리핑 평면 파라미터값에 기초하여 상기 프레임(10) 및 상기 참조 프레임(20, 30)의 쌍에 대한 단일의 예측 가중치를 계산(S2)하는 것을 포함하는 것을 특징으로 하는 심도맵의 예측적 인코딩 방법.
  5. 제1항 내지 제3항 중 한 항에 있어서,
    상기 참조 프레임(20, 30)은 화소들(21, 31)로 이루어진 다수의 블록(22, 32)을 포함하고,
    상기 예측 가중치를 계산(S2)하는 단계는, 상기 다수의 블록(22, 32)들 중의 블록(22, 32)에 대하여, 상기 프레임(10)과 연관된 상기 적어도 첫 번째의 심도 클리핑 평면 파라미터값, 상기 참조 프레임(20, 30)과 연관된 상기 적어도 첫 번째의 심도 클리핑 평면 파라미터값, 그리고 상기 블록(22, 32)을 대표하는 적어도 하나의 화소값에 기초하여 상기 예측 가중치를 계산(S2)하는 것을 포함하는 것을 특징으로 하는 심도맵의 예측적 인코딩 방법.
  6. 제1항 내지 제5항 중 한 항에 있어서, 상기 예측 가중치의 인코드된 표기를 상기 심도맵의 상기 인코드된 표기 내에 삽입(S20)하는 단계를 추가로 더 포함하는 것을 특징으로 하는 심도맵의 예측적 인코딩 방법.
  7. 제1항 내지 제6항 중 한 항에 있어서,
    다수의 참조 프레임(20, 30)을 식별(S30)하고;
    상기 다수의 참조 프레임(20, 30)의 각 참조 프레임(20, 30)에 대하여, 상기 프레임(10)과 연관된 상기 적어도 첫 번째의 심도 클리핑 평면 파라미터값과 상기 참조 프레임(20, 30)과 연관된 적어도 첫 번째의 심도 클리핑 평면 파라미터값에 기초하여 유사도를 계산(S31)하고;
    상기 유사도에 기초하여 참조 프레임 리스트에서의 상기 다수의 참조 프레임(20, 30)의 순서를 정렬(S32)하고; 그리고
    상기 참조 프레임 리스트 내의 상기 다수의 참조 프레임(20, 30) 중 적어도 하나의 참조 프레임(20, 30)에 각각의 참조 프레임 인덱스를 할당(S33)하는;
    단계를 추가로 포함하고,
    상기 심도맵의 상기 인코드된 표기는 상기 적어도 하나의 참조 프레임 인덱스의 인코드된 표기를 포함하는 것을 특징으로 하는 심도맵의 예측적 인코딩 방법.
  8. 제7항에 있어서,
    상기 유사도에 기초하여, 상기 참조 프레임 리스트에서 상기 다수의 참조 프레임(20, 30)의 상기 순서정렬을 지시하는 메모리 관리 제어 연산 명령을 생성(S50)하고; 그리고
    상기 메모리 관리 제어 연산 명령을 심도맵의 상기 인코드된 표기 내로 삽입(S51)하는;
    단계를 추가로 포함하는 것을 특징으로 하는 심도맵의 예측적 인코딩 방법.
  9. 제1항 내지 제8항 중 한 항에 있어서,
    다수의 후보 참조 프레임(20, 30)을 식별(S70)하고;
    상기 다수의 후보 참조 프레임(20, 30)의 각각의 후보 참조 프레임(20, 30)에 대하여, 상기 프레임(10)과 연관된 상기 적어도 첫 번째의 심도 클리핑 평면 파라미터값과 상기 참조 프레임(20, 30)과 연관된 적어도 첫 번째의 심도 클리핑 평면 파라미터값에 기초하여 유사도를 계산(S31)하고;
    상기 다수의 후보 참조 프레임(20, 30) 중에서, 임계값보다 작은 유사도를 갖는 적어도 하나의 참조 프레임(20, 30)을 식별(S72)하고; 그리고
    상기 프레임(10) 내의 화소(11)의 다수 블록(12) 중의 각 화소(11)의 블록(12)에 대하여, 상기 적어도 하나의 참조 프레임(20, 30) 중에서 움직임 탐색을 수행(S73)하는;
    단계를 추가로 포함하는 것을 특징으로 하는 심도맵의 예측적 인코딩 방법.
  10. 제1항 내지 제9항 중 한 항에 있어서,
    다수의 참조 프레임(20, 30)을 식별(S80)하고;
    상기 다수의 참조 프레임(20, 30)의 각 참조 프레임(20, 30)에 대하여, 상기 프레임(10)과 연관된 상기 적어도 첫 번째의 심도 클리핑 평면 파라미터값과 상기 참조 프레임(20, 30)과 연관된 적어도 첫 번째의 심도 클리핑 평면 파라미터값에 기초하여 유사도를 계산(S81)하고;
    상기 다수의 참조 프레임(20, 30) 중 상기 유사도가 임계값보다 작은 참조 프레임(20, 30)에 제1 보간 필터를 적용(S83)하고; 그리고
    상기 다수의 참조 프레임(20, 30) 중 상기 유사도가 임계값과 같거나 이보다 큰 참조 프레임(20, 30)에 제2 보간 필터를 적용(S84)하는;
    단계를 추가로 포함하는 것을 특징으로 하는 심도맵의 예측적 인코딩 방법.
  11. 다수 화소(11)들로 이루어진 프레임(10) 형태의 심도맵을 예측적 디코딩하는 방법에 있어서, 상기 다수 화소(11)의 각 화소(11)는 카메라(40)와 각 피사체 사이의 각각의 거리를 나타내는 각각의 화소값을 가지며, 상기 방법은,
    상기 프레임(10)과 연관된 적어도 첫 번째의 심도 클리핑 평면 파라미터값과 참조 프레임(20, 30)과 연관된 적어도 첫 번째의 심도 클리핑 평면 파라미터값에 기초하여 계산된 예측 가중치를, 상기 심도맵의 인코드된 표기에 기초하여 생성(S92)하고; 그리고
    상기 프레임(10)에 대한 예측 잔차에 기초하여 그리고 상기 예측 가중치에 의해 가중화된 상기 참조 프레임(20, 30)의 적어도 하나의 화소값에 기초하여, 상기 심도맵의 디코드된 표기를 결정(S93)하는;
    단계를 포함하는 것을 특징으로 하는 심도맵의 예측적 디코딩 방법.
  12. 제11항에 있어서,
    상기 심도맵의 상기 인코드된 표기에 기초하여 다수의 참조 프레임(20, 30) 중 상기 참조 프레임(20, 30)을 식별(S90)하고; 그리고
    상기 심도맵의 상기 인코드된 표기에 기초하여 상기 프레임(10)에 대한 상기 예측 잔차를 결정하는;
    단계를 추가로 포함하는 것을 특징으로 하는 심도맵의 예측적 디코딩 방법.
  13. 제11항 또는 12항에 있어서, 상기 예측 가중치를 생성(S92)하는 것은, 상기 심도맵의 상기 인코드된 표기로부터, 상기 예측 가중치의 인코드된 표기를 검색(S100)하는 것을 포함하는 것을 특징으로 하는 심도맵의 예측적 디코딩 방법.
  14. 제11항 또는 12항에 있어서, 상기 예측 가중치를 생성(S92)하는 단계는,
    상기 심도맵의 상기 인코드된 표기로부터, 상기 프레임(10)과 연관된 상기 적어도 첫 번째의 심도 클리핑 평면 파라미터값의 인코드된 표기 및 상기 참조 프레임(20, 30)과 연관된 상기 적어도 첫 번째의 심도 클리핑 평면 파라미터값의 인코드된 표기를 검색(S110)하고; 그리고
    상기 프레임(10)과 연관된 상기 적어도 첫 번째의 심도 클리핑 평면 파라미터값 및 상기 참조 프레임(20, 30)과 연관된 상기 적어도 첫 번째의 심도 클리핑 평면 파라미터값에 기초하여 상기 예측 가중치를 계산(S111)하는;
    단계를 포함하는 것을 특징으로 하는 심도맵의 예측적 디코딩 방법.
  15. 제14항에 있어서,
    상기 인코드된 표기를 검색(S110)하는 단계는, 상기 프레임(10)과 연관된 근거리 심도 클리핑 평면 파라미터값과 원거리 심도 클리핑 평면 파라미터값 및 상기 참조 프레임(20, 30)과 연관된 근거리 심도 클리핑 평면 파라미터값과 원거리 심도 클리핑 평면 파라미터값의 인코드된 표기를 검색하는 것을 포함하고; 그리고
    상기 예측 가중치를 계산(S111)하는 단계는, 상기 프레임(10)과 연관된 상기 근거리 심도 클리핑 평면 파라미터값과 상기 원거리 심도 클리핑 평면 파라미터값 및 상기 참조 프레임(20, 30)과 연관된 상기 근거리 심도 클리핑 평면 파라미터값과 상기 원거리 심도 클리핑 평면 파라미터값에 기초하여 상기 예측 가중치를 계산하는 것을 포함하는;
    것을 특징으로 하는 심도맵의 예측적 디코딩 방법.
  16. 제15항에 있어서, 상기 예측 가중치를 계산(S111)하는 단계는, 상기 프레임(10)과 연관된 상기 원거리 심도 클리핑 평면 파라미터값과 상기 근거리 심도 클리핑 평면 파라미터값들 간의 차이와 상기 참조 프레임(20, 30)과 연관된 상기 원거리 심도 클리핑 평면 파라미터값과 상기 근거리 심도 클리핑 평면 파라미터값들 간의 차이 간의 몫에 기초하여 상기 예측 가중치를 계산(S111)하는 것을 포함하는 것을 특징으로 하는 심도맵의 예측적 디코딩 방법.
  17. 제15항 또는 제16항에 있어서, 상기 예측 가중치를 계산(S111)하는 단계는,
    Figure pct00056
    (단,
    Figure pct00057
    은 상기 프레임(10)에 연관된 상기 근거리 심도 클리핑 평면 파라미터값,
    Figure pct00058
    은 상기 프레임(10)에 연관된 상기 원거리 심도 클리핑 평면 파라미터값,
    Figure pct00059
    은 상기 참조 프레임(20, 30)에 연관된 상기 근거리 심도 클리핑 평면 파라미터값,
    Figure pct00060
    은 상기 참조 프레임(20, 30)에 연관된 상기 원거리 심도 클리핑 평면 파라미터값,
    Figure pct00061
    는 화소의 심도값을 나타냄)와 같이 상기 예측 가중치를 계산(S111)하는 것을 포함하는 것을 특징으로 하는 심도맵의 예측적 디코딩 방법.
  18. 제14항 내지 제17항 중 한 항에 있어서, 상기 예측 가중치를 계산(S111)하는 단계는, 상기 프레임(10)과 연관된 상기 적어도 첫 번째의 심도 클리핑 평면 파라미터값 및 상기 참조 프레임(20, 30)과 연관된 상기 적어도 첫 번째의 심도 클리핑 평면 파라미터값에 기초하여 상기 프레임(10) 및 상기 참조 프레임(20, 30)의 쌍에 대한 단일의 예측 가중치를 계산(S111)하는 것을 포함하는 것을 특징으로 하는 심도맵의 예측적 디코딩 방법.
  19. 제14항 내지 제18항 중 한 항에 있어서,
    상기 참조 프레임(20, 30)은 화소들(21, 31)로 이루어진 다수의 블록(22, 32)을 포함하고,
    상기 예측 가중치를 계산(S111)하는 단계는, 상기 다수의 블록(22, 32)들 중의 블록(22, 32)에 대하여, 상기 프레임(10)과 연관된 상기 적어도 첫 번째의 심도 클리핑 평면 파라미터값, 상기 참조 프레임(20, 30)과 연관된 상기 적어도 첫 번째의 심도 클리핑 평면 파라미터값, 그리고 상기 블록(22, 32)을 대표하는 적어도 하나의 화소값에 기초하여 상기 예측 가중치를 계산(S111)하는 것을 포함하는 것을 특징으로 하는 심도맵의 예측적 디코딩 방법.
  20. 제12항에 있어서,
    참조 프레임 리스트 내의 다수의 참조 프레임(20, 30)의 각 참조 프레임(20, 30)에 대하여, 상기 프레임(10)과 연관된 상기 적어도 첫 번째의 심도 클리핑 평면 파라미터값과 상기 참조 프레임(20, 30)과 연관된 적어도 첫 번째의 심도 클리핑 평면 파라미터값에 기초하여 유사도를 계산(S120)하고;
    상기 유사도에 기초하여 상기 참조 프레임 리스트에서의 상기 다수의 참조 프레임(20, 30)의 순서를 정렬(S121)하는;
    단계를 추가로 포함하고,
    상기 참조 프레임(20, 30)을 식별(S90)하는 단계는 상기 심도맵의 상기 인코드된 표기에 기초하여 생성된 참조 프레임 인덱스에 기초하여 상기 참조 프레임 리스트로부터 상기 참조 프레임(20, 30)을 식별(S90)하는 것을 포함하는 것을 특징으로 하는 심도맵의 예측적 디코딩 방법.
  21. 제20항에 있어서,
    상기 유사도를 계산(S120)하는 단계는, 상기 다수의 참조 프레임(20, 30)의 각 참조 프레임(20, 30)에 대하여, 상기 프레임(10)과 연관된 상기 적어도 첫 번째의 심도 클리핑 평면 파라미터값 및 상기 참조 프레임(20)과 연관된 상기 적어도 첫 번째의 심도 클리핑 평면 파라미터값 간의 절대갑 차로서 상기 유사도를 계산(S120)하는 것을 포함하고;
    상기 다수의 참조 프레임(20, 30)을 순서 정렬(S121)하는 단계는, 상기 다수의 참조 프레임(20, 30)의 각 참조 프레임(20, 30)에 대하여, i) 상기 유사도를 임계값과 비교(S40)하고, ii) 상기 유사도가 상기 임계값보다 작으면, 상기 참조 프레임(20, 30)의 위치를, 상기 다수의 참조 프레임(20, 30)이 상기 프레임(10)까지의 각각의 거리에 기초하여 순서정렬된 예비 순서 리스트를 기준으로 상기 참조 프레임 리스트의 앞쪽으로 적어도 하나의 위치만큼 이동(S41)시키는 것을 포함하는 것을 특징으로 하는 심도맵의 예측적 디코딩 방법.
  22. 제20항 또는 제21항에 있어서,
    상기 프레임(10)은 화소(11)들의 다수의 블록(12)을 포함하고, 상기 프레임(10)은 근거리 심도 클리핑 평면 파라미터값과 원거리 심도 클리핑 평면 파라미터값에 연관되고, 상기 다수의 참조 프레임(20, 30)들의 각 참조 프레임(20, 30)은 각각의 근거리 심도 클리핑 평면 파라미터값과 각각의 원거리 심도 클리핑 평면 파라미터값과 연관되며,
    상기 방법은, 상기 다수의 블록(12)의 각 블록(12)에 대하여, 상기 심도맵의 상기 인코드된 표기로부터 상기 블록(12)에 대한 평균 화소값을 대표하는 블록 기반 값을 검색(S130)하는 것을 포함하고;
    상기 유사도를 계산(S120)하는 단계는, i) 상기 다수의 참조 프레임(20, 30)의 각 참조 프레임(20, 30)에 대하여, 상기 프레임(10)에 연관된 상기 근거리 심도 클리핑 평면 파라미터값과 상기 참조 프레임(20, 30)과 연관된 상기 근거리 심도 클리핑 평면 파라미터값에 기초하여 근거리 유사도를 계산(S120)하고, ii) 상기 다수의 참조 프레임(20, 30)의 각 참조 프레임(20, 30)에 대하여, 상기 프레임(10)에 연관된 상기 원거리 심도 클리핑 평면 파라미터값과 상기 참조 프레임(20, 30)과 연관된 상기 원거리 심도 클리핑 평면 파라미터값에 기초하여 원거리 유사도를 계산(S120)하는 것을 포함하고;
    상기 다수의 참조 프레임(20, 30)을 순서 정렬(S121)하는 단계는, 상기 다수 블록(12)의 각 블록(12)에 대하여, i) 상기 블록 기반 값이 임계값과 같거나 이보다 크면, 상기 근거리 유사도에 기초하여 상기 참조 프레임 리스트 내의 상기 다수의 참조 프레임(20, 30)을 순서정렬(S121)하고, i) 상기 블록 기반 값이 상기 임계값보다 작으면, 상기 원거리 유사도에 기초하여 상기 참조 프레임 리스트 내의 상기 다수의 참조 프레임(20, 30)을 순서 정렬(S121)하는 것을 포함하는 것을 특징으로 하는 심도맵의 예측적 디코딩 방법.
  23. 제11항 내지 제22항 중 어느 한 항에 있어서,
    다수의 후보 참조 프레임(20, 30)의 각 후보 참조 프레임(20, 30)에 대하여, 상기 프레임(10)과 연관된 상기 적어도 첫 번째의 심도 클리핑 평면 파라미터값과 상기 참조 프레임(20, 30)과 연관된 적어도 첫 번째의 심도 클리핑 평면 파라미터값에 기초하여 유사도를 계산(S71)하고;
    상기 다수의 후보 참조 프레임(20, 30) 중에서, 임계값보다 작은 유사도를 갖는 적어도 하나의 참조 프레임(20, 30)을 식별(S72)하고; 그리고
    상기 프레임(10) 내의 화소(11)의 다수 블록(12) 중의 각 화소(11)의 블록(12)에 대하여, 상기 적어도 하나의 참조 프레임(20, 30) 중에서 움직임 탐색을 수행(S73)하는;
    단계를 추가로 포함하는 것을 특징으로 하는 심도맵의 예측적 디코딩 방법.
  24. 제11항 내지 제23항 중 한 항에 있어서,
    다수의 참조 프레임(20, 30)의 각 참조 프레임(20, 30)에 대하여, 상기 프레임(10)과 연관된 상기 적어도 첫 번째의 심도 클리핑 평면 파라미터값과 상기 참조 프레임(20, 30)과 연관된 적어도 첫 번째의 심도 클리핑 평면 파라미터값에 기초하여 유사도를 계산(S81)하고;
    상기 다수의 참조 프레임(20, 30) 중 상기 유사도가 임계값보다 작은 참조 프레임(20, 30)에 제1 보간 필터를 적용(S83)하고; 그리고
    상기 다수의 참조 프레임(20, 30) 중 상기 유사도가 임계값과 같거나 이보다 큰 참조 프레임(20, 30)에 제2 보간 필터를 적용(S84)하는;
    단계를 추가로 포함하는 것을 특징으로 하는 심도맵의 예측적 디코딩 방법.
  25. 다수 화소(11)들로 이루어진 프레임(10) 형태의 심도맵의 인코드된 표기를 예측적 인코딩하는 인코더(100, 200, 300, 400)에 있어서, 상기 다수 화소(11)의 각 화소(11)는 카메라(40)와 각 피사체 사이의 각각의 거리를 나타내는 각각의 화소값을 가지며, 상기 인코더(100, 200, 300, 400)는,
    상기 프레임(10)과 연관된 적어도 첫 번째의 심도 클리핑 평면 파라미터값과 참조 프레임(20, 30)과 연관된 적어도 첫 번째의 심도 클리핑 평면 파라미터값을 생성하도록 구성된 값 생성기(110, 210, 310, 410);
    상기 프레임(10)과 연관된 상기 첫 번째 심도 클리핑 평면 파라미터값과 상기 참조 프레임(20, 30)과 연관된 상기 첫 번째 심도 클리핑 평면 파라미터값에 기초하여 예측 가중치를 계산하도록 구성된 가중치 계산기(120, 220, 320, 420); 및
    상기 프레임(10)의 적어도 하나의 화소값과, 상기 예측 가중치에 의해 가중화된 상기 참조 프레임(20, 30)의 적어도 하나의 화소값에 기초하여 상기 프레임(10)에 대한 예측 잔차를 계산하는 잔차 계산기(130, 230, 330, 430);
    를 포함하고,
    상기 심도맵의 인코드된 표기는 상기 예측 잔차의 인코드된 표기를 포함하는 하는 것을 특징으로 하는 심도맵의 예측적 인코딩을 수행하는 인코더.
  26. 제25항에 있어서,
    상기 값 생성기(110, 210, 310, 410)는, 상기 프레임(10)과 연관된 근거리 심도 클리핑 평면 파라미터값과 원거리 심도 클리핑 평면 파라미터값 및 상기 참조 프레임(20, 30)과 연관된 근거리 심도 클리핑 평면 파라미터값과 원거리 심도 클리핑 평면 파라미터값을 생성하도록 구성되고; 그리고
    상기 가중치 계산기(120, 220, 320, 420)는, 상기 프레임(10)과 연관된 상기 근거리 심도 클리핑 평면 파라미터값과 상기 원거리 심도 클리핑 평면 파라미터값 및 상기 참조 프레임(20, 30)과 연관된 상기 근거리 심도 클리핑 평면 파라미터값 및 상기 원거리 심도 클리핑 평면 파라미터값에 기초하여 상기 예측 가중치를 계산하도록 구성되는;
    것을 특징으로 하는 심도맵의 예측적 인코딩을 수행하는 인코더.
  27. 제26항에 있어서, 상기 가중치 계산기(120, 220, 320, 420)는
    Figure pct00062
    (단,
    Figure pct00063
    은 상기 프레임(10)에 연관된 상기 근거리 심도 클리핑 평면 파라미터값,
    Figure pct00064
    은 상기 프레임(10)에 연관된 상기 원거리 심도 클리핑 평면 파라미터값,
    Figure pct00065
    은 상기 참조 프레임(20, 30)에 연관된 상기 근거리 심도 클리핑 평면 파라미터값,
    Figure pct00066
    은 상기 참조 프레임(20, 30)에 연관된 상기 원거리 심도 클리핑 평면 파라미터값,
    Figure pct00067
    는 화소의 심도값을 나타냄)와 같이 상기 예측 가중치를 계산하도록 구성되는 것을 특징으로 하는 심도맵의 예측적 인코딩을 수행하는 인코더.
  28. 제25항 내지 제27항 중 한 항에 있어서,
    상기 참조 프레임(20, 30)은 화소들(21, 31)로 이루어진 다수의 블록(22, 32)을 포함하고,
    상기 가중치 계산기(120, 220, 320, 420)는, 상기 다수의 블록(22, 32)들 중의 블록(22, 32)에 대하여, 상기 프레임(10)과 연관된 상기 적어도 첫 번째의 심도 클리핑 평면 파라미터값, 상기 참조 프레임(20, 30)과 연관된 상기 적어도 첫 번째의 심도 클리핑 평면 파라미터값, 그리고 상기 블록(22, 32)을 대표하는 적어도 하나의 화소값에 기초하여 상기 예측 가중치를 계산하도록 구성되는 것을 특징으로 하는 심도맵의 예측적 인코딩을 수행하는 인코더.
  29. 제25항 내지 제28항 중 한 항에 있어서, 상기 예측 가중치의 인코드된 표기를 상기 심도맵의 상기 인코드된 표기 내에 삽입하는 삽입기(140, 240)가 추가로 포함되는 것을 특징으로 하는 심도맵의 예측적 인코딩을 수행하는 인코더.
  30. 다수 화소(11)들로 이루어진 프레임(10) 형태의 심도맵의 인코드된 표기를 예측적 디코딩하는 디코더(600, 700, 800, 900)에 있어서, 상기 다수 화소(11)의 각 화소(11)는 카메라(40)와 각 피사체 사이의 각각의 거리를 나타내는 각각의 화소값을 가지며, 상기 디코더(600, 700, 800, 900)는,
    상기 프레임(10)과 연관된 적어도 첫 번째의 심도 클리핑 평면 파라미터값과 참조 프레임(20, 30)과 연관된 적어도 첫 번째의 심도 클리핑 평면 파라미터값에 기초하여 계산된 예측 가중치를, 상기 심도맵의 인코드된 표기에 기초하여 생성하도록 구성된 가중치 생성기(630, 730, 830, 930); 및
    상기 프레임(10)에 대한 예측 잔차에 기초하여 그리고 상기 예측 가중치에 의해 가중화된 상기 참조 프레임(20, 30)의 적어도 하나의 화소값에 기초하여, 상기 심도맵의 디코드된 표기를 결정하도록 구성된 표기 결정기(640, 740, 840, 940);
    를 포함하는 것을 특징으로 하는 심도맵의 예측적 인코딩을 수행하는 디코더.
  31. 제30항에 있어서,
    상기 심도맵의 상기 인코드된 표기에 기초하여 다수의 참조 프레임(20, 30) 중 상기 참조 프레임(20, 30)을 식별하도록 구성된 프레임 식별기(610, 710, 810, 910); 및
    상기 심도맵의 상기 인코드된 표기에 기초하여 상기 프레임(10)에 대한 상기 예측 잔차를 결정하도록 구성된 잔차 결정기(620, 720, 820, 920);
    를 추가로 포함하는 것을 특징으로 하는 심도맵의 예측적 인코딩을 수행하는 디코더.
  32. 제30항 또는 31항에 있어서, 상기 가중치 생성기(630, 730, 830, 930)는, 상기 심도맵의 상기 인코드된 표기로부터, 상기 예측 가중치의 인코드된 표기를 검색하도록 구성되는 것을 특징으로 하는 심도맵의 예측적 인코딩을 수행하는 디코더.
  33. 제30항 또는 31항에 있어서, 상기 가중치 생성기(630)는,
    상기 심도맵의 상기 인코드된 표기로부터, 상기 프레임(10)과 연관된 상기 적어도 첫 번째의 심도 클리핑 평면 파라미터값의 인코드된 표기 및 상기 참조 프레임(20, 30)과 연관된 상기 적어도 첫 번째의 심도 클리핑 평면 파라미터값의 인코드된 표기를 검색하도록 구성된 검색기(632); 및
    상기 프레임(10)과 연관된 상기 적어도 첫 번째의 심도 클리핑 평면 파라미터값 및 상기 참조 프레임(20, 30)과 연관된 상기 적어도 첫 번째의 심도 클리핑 평면 파라미터값에 기초하여 상기 예측 가중치를 계산하도록 구성된 가중치 계산기(634);
    를 포함하는 것을 특징으로 하는 심도맵의 예측적 인코딩을 수행하는 디코더.
  34. 제33항에 있어서,
    상기 검색기(632)는, 상기 프레임(10)과 연관된 근거리 심도 클리핑 평면 파라미터값과 원거리 심도 클리핑 평면 파라미터값 및 상기 참조 프레임(20, 30)과 연관된 근거리 심도 클리핑 평면 파라미터값과 원거리 심도 클리핑 평면 파라미터값의 인코드된 표기를 검색하도록 구성되고; 그리고
    상기 가중치 계산기(634)는, 상기 프레임(10)과 연관된 상기 근거리 심도 클리핑 평면 파라미터값과 상기 원거리 심도 클리핑 평면 파라미터값 및 상기 참조 프레임(20, 30)과 연관된 상기 근거리 심도 클리핑 평면 파라미터값과 상기 원거리 심도 클리핑 평면 파라미터값에 기초하여 상기 예측 가중치를 계산하도록 구성되는;
    것을 특징으로 하는 심도맵의 예측적 인코딩을 수행하는 디코더.
  35. 제34항에 있어서, 상기 가중치 계산기(634)는
    Figure pct00068
    (단,
    Figure pct00069
    은 상기 프레임(10)에 연관된 상기 근거리 심도 클리핑 평면 파라미터값,
    Figure pct00070
    은 상기 프레임(10)에 연관된 상기 원거리 심도 클리핑 평면 파라미터값,
    Figure pct00071
    은 상기 참조 프레임(20, 30)에 연관된 상기 근거리 심도 클리핑 평면 파라미터값,
    Figure pct00072
    은 상기 참조 프레임(20, 30)에 연관된 상기 원거리 심도 클리핑 평면 파라미터값,
    Figure pct00073
    는 화소의 심도값을 나타냄)와 같이 상기 예측 가중치를 계산하도록 구성되는 것을 특징으로 하는 심도맵의 예측적 인코딩을 수행하는 디코더.
  36. 제33항 내지 제34항 중 한 항에 있어서,
    상기 참조 프레임(20, 30)은 화소들(21, 31)로 이루어진 다수의 블록(22, 32)을 포함하고, 그리고
    상기 가중치 계산기(634)는, 상기 다수의 블록(22, 32)들 중의 블록(22, 32)에 대하여, 상기 프레임(10)과 연관된 상기 적어도 첫 번째의 심도 클리핑 평면 파라미터값, 상기 참조 프레임(20, 30)과 연관된 상기 적어도 첫 번째의 심도 클리핑 평면 파라미터값, 그리고 상기 블록(22, 32)을 대표하는 적어도 하나의 화소값에 기초하여 상기 예측 가중치를 계산하도록 구성되는,
    것을 특징으로 하는 심도맵의 예측적 인코딩을 수행하는 디코더.
  37. 인코더(500)에 있어서,
    카메라(40)와 각 피사체 사이의 각각의 거리를 나타내는 화소값을 각각 갖는 다수 화소(11)들의 각 화소(11)로 이루어진 프레임(10) 형태의 심도맵을 수신하도록 구성된 입력부(510);
    메모리(540)에 저장된 컴퓨터 프로그램(550)의 코드 수단을 처리하도록 구성된 프로세서(520) (상기 코드 수단은 상기 프로세서(520)에서 실행시에 상기 프로세서(520)로 하여금, i) 상기 프레임(10)과 연관된 적어도 첫 번째의 심도 클리핑 평면 파라미터값과, 참조 프레임(20, 30)과 연관된 적어도 첫 번째의 심도 클리핑 평면 파라미터값을 생성하고, ii) 상기 프레임(10)과 연관된 상기 첫 번째 심도 클리핑 평면 파라미터값과, 상기 참조 프레임(20, 30)과 연관된 상기 첫 번째 심도 클리핑 평면 파라미터값에 기초하여 예측 가중치를 계산하고, iii) 상기 프레임(10)의 적어도 하나의 화소값과 상기 예측 가중치에 의해 가중화된 상기 참조 프레임(20, 30)의 적어도 하나의 화소값에 기초하여 상기 프레임(10)에 대한 예측 잔차를 계산하도록 함); 및
    상기 예측 잔차의 인코드된 표기를 포함하는 상기 심도맵의 인코드된 표기를 출력하도록 구성되는 출력부(530);
    를 포함하는 것을 특징으로 하는 인코더(500).
  38. 디코더(1000)에 있어서,
    카메라(40)와 각 피사체 사이의 각각의 거리를 나타내는 화소값을 각각 갖는 다수 화소(11)들의 각 화소(11)로 이루어진 프레임(10) 형태의 심도맵의 인코드된 표기를 수신하도록 구성된 입력부(1010);
    메모리(1040)에 저장된 컴퓨터 프로그램(1050)의 코드 수단을 처리하도록 구성된 프로세서(1020) (상기 코드 수단은 상기 프로세서(1020)에서 실행시에 상기 프로세서(1020)로 하여금, i) 상기 프레임(10)과 연관된 적어도 첫 번째의 심도 클리핑 평면 파라미터값과 참조 프레임(20, 30)과 연관된 적어도 첫 번째의 심도 클리핑 평면 파라미터값에 기초하여 계산된 예측 가중치를, 상기 심도맵의 인코드된 표기에 기초하여 생성하고, ii) 상기 프레임(10)에 대한 예측 잔차에 기초하여 그리고 상기 예측 가중치에 의해 가중화된 상기 참조 프레임(20, 30)의 적어도 하나의 화소값에 기초하여, 상기 심도맵의 디코드된 표기를 결정하도록 함); 및
    상기 심도맵의 상기 디코드된 표기를 출력하도록 구성되는 출력부(1030);
    를 포함하는 것을 특징으로 하는 디코더(1000).
KR1020147003372A 2011-08-25 2012-08-15 심도맵의 인코딩 및 디코딩 KR20140068013A (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US201161527303P 2011-08-25 2011-08-25
US61/527,303 2011-08-25
PCT/SE2012/050874 WO2013028121A1 (en) 2011-08-25 2012-08-15 Depth map encoding and decoding

Publications (1)

Publication Number Publication Date
KR20140068013A true KR20140068013A (ko) 2014-06-05

Family

ID=46964000

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020147003372A KR20140068013A (ko) 2011-08-25 2012-08-15 심도맵의 인코딩 및 디코딩

Country Status (5)

Country Link
US (1) US10158850B2 (ko)
EP (1) EP2749024A1 (ko)
JP (1) JP6005157B2 (ko)
KR (1) KR20140068013A (ko)
WO (1) WO2013028121A1 (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10931939B2 (en) 2015-11-06 2021-02-23 Samsung Electronics Co.. Ltd. Glassless three-dimensional (3D) display apparatus and control method thereof

Families Citing this family (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
SG195289A1 (en) * 2011-06-17 2013-12-30 Astrazeneca Ab Process for preparing heterocyclic compounds including trans-7-oxo-6-(sulphooxy)-1,6-diazabicyclo[3,2,1]octane-2-carboxamide and salts thereof
ES2758507T3 (es) * 2012-05-30 2020-05-05 Meiji Seika Pharma Co Ltd Nuevo inhibidor de B-lactamasa y método para producir el mismo
US10021388B2 (en) 2012-12-26 2018-07-10 Electronics And Telecommunications Research Institute Video encoding and decoding method and apparatus using the same
EP2944082B1 (en) 2013-01-11 2019-08-21 Huawei Technologies Co., Ltd. Method and apparatus of depth prediction mode selection
US20140267616A1 (en) * 2013-03-15 2014-09-18 Scott A. Krig Variable resolution depth representation
US9288507B2 (en) * 2013-06-21 2016-03-15 Qualcomm Incorporated More accurate advanced residual prediction (ARP) for texture coding
WO2017192985A1 (en) * 2016-05-05 2017-11-09 The Procter & Gamble Company Topsheets integrated with heterogenous mass layer
US10116957B2 (en) * 2016-09-15 2018-10-30 Google Inc. Dual filter type for motion compensated prediction in video coding
US11212553B2 (en) * 2017-11-28 2021-12-28 Electronics And Telecommunications Research Institute Bidirectional intra prediction method and apparatus
CN109587481B (zh) * 2018-10-26 2020-07-10 江苏怀业信息技术股份有限公司 视频编码方法及设备
CN109547781B (zh) * 2018-10-26 2020-12-22 嘉兴奥恒进出口有限公司 基于图像预测的压缩方法及设备
CN109561303B (zh) * 2018-10-26 2020-12-15 广东弘视数字传媒有限公司 一种基于视频压缩的预测方法
CN109587494B (zh) * 2018-10-26 2020-07-10 江苏怀业信息技术股份有限公司 视频压缩的预测方法
US11259006B1 (en) 2019-01-08 2022-02-22 Avegant Corp. Encoded depth data for display
US10805549B1 (en) * 2019-08-20 2020-10-13 Himax Technologies Limited Method and apparatus of auto exposure control based on pattern detection in depth sensing system
US20230066438A1 (en) * 2020-02-21 2023-03-02 Sony Semiconductor Solutions Corporation Information processing device and method

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20090008418A (ko) * 2006-04-28 2009-01-21 가부시키가이샤 엔티티 도코모 화상 예측 부호화 장치, 화상 예측 부호화 방법, 화상 예측부호화 프로그램, 화상 예측 복호 장치, 화상 예측 복호 방법 및 화상 예측 복호 프로그램
WO2010079921A2 (ko) * 2009-01-12 2010-07-15 엘지 전자 주식회사 뎁스 정보를 이용한 비디오 신호 처리 방법 및 장치
WO2010126608A2 (en) * 2009-05-01 2010-11-04 Thomson Licensing 3d video coding formats

Family Cites Families (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
AU2003246987A1 (en) * 2002-07-09 2004-01-23 Nokia Corporation Method and system for selecting interpolation filter type in video coding
KR100693669B1 (ko) * 2003-03-03 2007-03-09 엘지전자 주식회사 피일드 매크로 블록의 레퍼런스 픽쳐 결정 방법
EP3133813B1 (en) 2004-09-16 2020-06-17 InterDigital VC Holdings, Inc. Method and apparatus for weighted prediction video codec utilizing local brightness variation
BRPI0706352B1 (pt) * 2006-01-09 2019-07-30 Dolby International Ab Método e aparelho para prover modo de atualização de resolução reduzida para codificação de vídeo de múltiplas visualizações
WO2008010929A2 (en) 2006-07-18 2008-01-24 Thomson Licensing Methods and apparatus for adaptive reference filtering
JP5023739B2 (ja) * 2007-02-28 2012-09-12 ソニー株式会社 画像情報符号化装置及び符号化方法
KR101408698B1 (ko) * 2007-07-31 2014-06-18 삼성전자주식회사 가중치 예측을 이용한 영상 부호화, 복호화 방법 및 장치
US8270472B2 (en) 2007-11-09 2012-09-18 Thomson Licensing Methods and apparatus for adaptive reference filtering (ARF) of bi-predictive pictures in multi-view coded video
US8660175B2 (en) * 2007-12-10 2014-02-25 Qualcomm Incorporated Selective display of interpolated or extrapolated video units
WO2010093350A1 (en) * 2009-02-13 2010-08-19 Thomson Licensing Depth map coding using video information
KR20110135786A (ko) * 2010-06-11 2011-12-19 삼성전자주식회사 깊이 전이 데이터를 이용한 3d 비디오 인코딩/디코딩 장치 및 방법
US8989270B2 (en) * 2011-06-23 2015-03-24 Apple Inc. Optimized search for reference frames in predictive video coding system

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20090008418A (ko) * 2006-04-28 2009-01-21 가부시키가이샤 엔티티 도코모 화상 예측 부호화 장치, 화상 예측 부호화 방법, 화상 예측부호화 프로그램, 화상 예측 복호 장치, 화상 예측 복호 방법 및 화상 예측 복호 프로그램
WO2010079921A2 (ko) * 2009-01-12 2010-07-15 엘지 전자 주식회사 뎁스 정보를 이용한 비디오 신호 처리 방법 및 장치
WO2010126608A2 (en) * 2009-05-01 2010-11-04 Thomson Licensing 3d video coding formats

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
국제공개공보 WO2010/126608(2010.11.04.) 1부. *

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10931939B2 (en) 2015-11-06 2021-02-23 Samsung Electronics Co.. Ltd. Glassless three-dimensional (3D) display apparatus and control method thereof

Also Published As

Publication number Publication date
JP6005157B2 (ja) 2016-10-12
EP2749024A1 (en) 2014-07-02
JP2014527774A (ja) 2014-10-16
US20140205015A1 (en) 2014-07-24
WO2013028121A1 (en) 2013-02-28
US10158850B2 (en) 2018-12-18

Similar Documents

Publication Publication Date Title
KR20140068013A (ko) 심도맵의 인코딩 및 디코딩
RU2639665C1 (ru) Устройство декодирования движущегося изображения, способ декодирования движущегося изображения и носитель записи
KR101370919B1 (ko) 신호처리방법 및 장치
US8208557B2 (en) Video encoding and decoding method and apparatus using weighted prediction
US9479786B2 (en) Complexity allocation for video and image coding applications
CN107483958B (zh) 编码方法、编码装置、解码方法和解码装置
CN111971960B (zh) 用于基于帧间预测模式处理图像的方法及其装置
US9349192B2 (en) Method and apparatus for processing video signal
Shen et al. Efficient intra mode selection for depth-map coding utilizing spatiotemporal, inter-component and inter-view correlations in 3D-HEVC
KR20150109282A (ko) 다시점 비디오 신호 처리 방법 및 장치
JP2005191706A (ja) 動画像符号化方法及びその装置
CN117440169A (zh) 编码器、解码器及对应方法
JP2007267414A (ja) フレーム内画像符号化方法及びその装置
KR20150034729A (ko) 비디오 신호 처리 방법 및 장치
Fu et al. Fast wedgelet pattern decision for DMM in 3D-HEVC
KR20130103140A (ko) 영상압축 전에 행해지는 전처리 방법, 영상 압축률 개선을 위한 적응성 움직임 추정방법 및 영상 타입별 영상 데이터 제공방법
Zhang et al. Low-complexity depth map compression in HEVC-based 3D video coding
JP5926451B2 (ja) 画像符号化方法、画像復号方法、画像符号化装置、画像復号装置、画像符号化プログラム、および画像復号プログラム
KR20080006495A (ko) 비디오 신호의 디코딩 방법 및 장치
JP5706291B2 (ja) 映像符号化方法,映像復号方法,映像符号化装置,映像復号装置およびそれらのプログラム
Dou et al. Segment-based view synthesis optimization scheme in 3D-HEVC
KR101078525B1 (ko) 다중시점 영상의 부호화 방법
Kim et al. An efficient inter-frame coding with intra skip decision in H. 264/AVC
RU2793275C2 (ru) Кодирование и декодирование видео
Hanca et al. Segmentation-based intra coding of depth maps using texture information

Legal Events

Date Code Title Description
E902 Notification of reason for refusal
E601 Decision to refuse application