KR20120071407A - 2d 비디오 데이터의 3d 비디오 데이터로의 컨버전을 위한 깊이 맵 생성 기술들 - Google Patents

2d 비디오 데이터의 3d 비디오 데이터로의 컨버전을 위한 깊이 맵 생성 기술들 Download PDF

Info

Publication number
KR20120071407A
KR20120071407A KR1020127013246A KR20127013246A KR20120071407A KR 20120071407 A KR20120071407 A KR 20120071407A KR 1020127013246 A KR1020127013246 A KR 1020127013246A KR 20127013246 A KR20127013246 A KR 20127013246A KR 20120071407 A KR20120071407 A KR 20120071407A
Authority
KR
South Korea
Prior art keywords
video unit
video
depth
values
pixels
Prior art date
Application number
KR1020127013246A
Other languages
English (en)
Other versions
KR101354387B1 (ko
Inventor
롱 장
잉 천
마르타 카르체비츠
Original Assignee
퀄컴 인코포레이티드
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 퀄컴 인코포레이티드 filed Critical 퀄컴 인코포레이티드
Publication of KR20120071407A publication Critical patent/KR20120071407A/ko
Application granted granted Critical
Publication of KR101354387B1 publication Critical patent/KR101354387B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/50Depth or shape recovery
    • G06T7/55Depth or shape recovery from multiple images
    • G06T7/579Depth or shape recovery from multiple images from motion
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N13/00Stereoscopic video systems; Multi-view video systems; Details thereof
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N13/00Stereoscopic video systems; Multi-view video systems; Details thereof
    • H04N13/10Processing, recording or transmission of stereoscopic or multi-view image signals
    • H04N13/106Processing image signals
    • H04N13/128Adjusting depth or disparity
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N13/00Stereoscopic video systems; Multi-view video systems; Details thereof
    • H04N13/20Image signal generators
    • H04N13/204Image signal generators using stereoscopic image cameras
    • H04N13/207Image signal generators using stereoscopic image cameras using a single 2D image sensor
    • H04N13/221Image signal generators using stereoscopic image cameras using a single 2D image sensor using the relative movement between cameras and objects
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N13/00Stereoscopic video systems; Multi-view video systems; Details thereof
    • H04N13/20Image signal generators
    • H04N13/257Colour aspects
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N13/00Stereoscopic video systems; Multi-view video systems; Details thereof
    • H04N13/20Image signal generators
    • H04N13/261Image signal generators with monoscopic-to-stereoscopic image conversion
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/10Image acquisition modality
    • G06T2207/10016Video; Image sequence

Abstract

본 개시물은 비디오 프레임들 또는 비디오 프레임들의 슬라이스들과 같은 비디오 유닛들에 대한 깊이 맵들을 생성하기 위한 기술들을 설명한다. 이 기술들은 2 차원 (2D) 비디오를 3 차원 (3D) 비디오로 컨버팅하기 위하여 비디오 인코더에 의해 수행될 수도 있다. 이 기술들은 대안적으로, 수신된 2D 비디오를 3D 비디오로 컨버팅하기 위해 비디오 디코더에 의해 수행될 수도 있다. 이 기술들은 깊이 맵 생성 프로세스에서 모션과 컬러 고려 사항들의 조합을 이용할 수도 있다.

Description

2D 비디오 데이터의 3D 비디오 데이터로의 컨버전을 위한 깊이 맵 생성 기술들{DEPTH MAP GENERATION TECHNIQUES FOR CONVERSION OF 2D VIDEO DATA TO 3D VIDEO DATA}
본 출원은, 2009년 10월 23일에 출원된 미국 가출원 제61/254,558호의 이익을 주장하며, 그 전체 내용은 본 명세서에서 참조로서 통합된다.
기술분야
본 개시물은 비디오 코딩, 및 2 차원 (2D) 비디오 데이터의 3 차원 (3D) 비디오 데이터로의 컨버전에 관한 것이다.
디지털 멀티미디어 능력들은 디지털 텔레비전들, 디지털 다이렉트 브로드캐스트 시스템들, 무선 통신 디바이스들, 무선 브로드캐스트 시스템들, 개인 휴대 정보 단말기들 (PDAs), 랩톱 또는 데스크톱 컴퓨터들, 디지털 카메라들, 디지털 레코딩 디바이스들, 비디오 게임 디바이스들, 비디오 게임 콘솔들, 셀룰러 또는 위성 무선 전화기들, 디지털 미디어 플레이어들, 등등을 포함하는 광범위한 디바이스들 내에 통합될 수 있다. 디지털 멀티미디어 디바이스들은 디지털 비디오 데이터를 더 효율적으로 송신 및 수신하거나 저장 및 검색하기 위해 MPEG-2, ITU-H.263, MPEG-4, 또는 ITU-H.264/MPEG-4 Part 10, AVC (Advanced Video Coding) 와 같은 비디오 코딩 기술들을 구현할 수도 있다. 비디오 인코딩 기술들은 비디오 시퀀스들 내에서 고유한 리던던시를 감소시키거나 제거하기 위해 공간적인 및 시간적인 예측을 통해 비디오 압축을 수행할 수도 있다.
대부분의 종래의 비디오 시퀀스들은 2 차원 (2D) 뷰잉 포맷으로 인코딩 및 디코딩된다. 그러나, 3 차원 (3D) 시퀀스들 또한 가능하며, 그 비디오 시퀀스는 각각의 비디오 프레임과 연관된 2 이상의 뷰들을 갖는다. 이 경우에, 2 이상의 뷰들은 3D 디스플레이 상에서 결합되어 3D 비디오를 렌더링할 수도 있다.
일부 경우들에서, 2 이상의 뷰들은 서로 다른 카메라들에 의해 캡처되어 복수의 뷰들을 포함하는 3D 시퀀스로 인코딩될 수도 있다. 대안적으로, 비디오 프레임의 하나 이상의 2차 뷰들이 원래의 2D 비디오 프레임에 기초하여 합성될 수도 있다. 2D - 3D 컨버전을 용이하게 하기 위해, 비디오 프레임들의 픽셀들에 깊이 값들을 할당하는데 깊이 맵들이 이용될 수도 있다. 소정의 비디오 프레임에 대한 깊이 맵은 비디오 프레임의 2차 뷰 또는 복수의 추가 뷰들을 생성하기 위해 뷰 합성 프로세스에서 그 비디오 프레임에 적용될 수도 있다.
본 개시물은 비디오 프레임들, 비디오 프레임들의 슬라이스들, 비디오 프레임들의 다른 부분들과 같은 비디오 유닛들에 대한 깊이 맵들을 생성하기 위한 기술들을 설명한다. 이 기술들은 2 차원 (2D) 비디오를 3 차원 (3D) 비디오로 컨버팅하기 위하여 비디오 인코더에 의해 수행될 수도 있다. 이 기술들은 대안적으로, 수신된 2D 비디오를 3D 비디오로 컨버팅하기 위해 비디오 디코더에 의해 수행될 수도 있다.
본 개시물의 기술들은 깊이 맵 초기화 프로세스를 포함할 수도 있다. 깊이 맵 초기화를 위해, 초기 깊이 값들은 비디오 시퀀스의 이전 비디오 유닛의 대응하는 픽셀들과 관련된 픽셀들과 연관된 모션에 기초하여 비디오 유닛의 픽셀들에 할당될 수도 있다. 그 후에, 임계치를 만족하는 초기 깊이 값들은 조정될 수도 있고, 여기서 조정된 깊이 값들은 픽셀들과 연관된 컬러에 기초한다. 그 후에, 비디오 유닛에 대하여 초기화된 깊이 맵이 생성될 수 있고, 여기서 초기화된 깊이 맵은 픽셀들의 제 1 서브세트에 대한 초기 깊이 값들 및 픽셀들의 제 2 서브세트에 대한 조정된 깊이 값들을 포함한다. 일부 경우들에서, 초기화된 깊이 맵은 추가의 프로세싱 없이 최종 깊이 맵으로 이용될 수도 있고, 다른 경우들에서, 최종 깊이 맵을 정의하기 위해 초기 깊이 맵에 대하여 추가의 기술들이 적용될 수도 있다.
예를 들면, 그 기술들은 비디오 유닛이 이전의 비디오 유닛에 대한 장면 변화에 대응하는지 여부를 결정할 수도 있다. 만약 비디오 유닛이 장면 변화에 대응한다면, 기술들은 초기화된 깊이 맵을 비디오 유닛에 대한 최종 깊이 맵으로서 선택할 수도 있다. 그러나, 비디오 유닛이 장면 변화에 대응하지 않는다면, 기술들은 비디오 유닛이 이전의 비디오 유닛에 대하여 낮은 레벨의 모션을 나타내는지 여부를 결정할 수도 있다. 만약, 비디오 유닛이 낮은 레벨의 모션을 나타내지 않는다면, 기술들은 비디오 유닛에 대한 초기화된 깊이 맵의 깊이 값들과 이전 비디오 유닛에 대한 이전 깊이 맵의 깊이 값들의 가중된 평균들에 기초하여 최종 깊이 맵을 정의할 수도 있다. 비디오 유닛이 낮은 레벨의 모션을 나타낸다면, 기술들은 비디오 유닛에 대한 초기화된 깊이 맵의 깊이 값들과 이전 비디오 유닛의 이전 깊이 맵의 깊이 값들의 최대치들에 기초하여 최종 깊이 맵을 정의할 수도 있다.
일 실시예에서, 본 개시물은, 비디오 시퀀스의 이전 비디오 유닛의 대응하는 픽셀들에 대한 비디오 유닛의 픽셀들과 연관된 모션에 기초하여 초기 깊이 값들을 상기 비디오 유닛의 픽셀들에 할당하는 단계, 상기 초기 깊이 값들이 임계치를 만족하는지 여부를 확인하는 단계, 상기 초기 깊이 값들이 상기 임계치를 만족하는, 상기 비디오 유닛의 하나 이상의 픽셀들에 조정된 깊이 값들을 할당하는 단계로서, 상기 조정된 깊이 값들은 상기 픽셀들과 연관된 컬러에 기초하는, 상기 조정된 깊이 값들을 할당하는 단계, 및 상기 비디오 유닛에 대한 깊이 맵을 생성하는 단계로서, 상기 깊이 맵은 상기 픽셀들의 제 1 서브세트에 대한 상기 초기 깊이 값들 및 상기 픽셀들의 제 2 서브세트에 대한 상기 조정된 깊이 값들을 포함하는, 상기 깊이 맵을 생성하는 단계를 포함하는, 방법을 설명한다.
다른 실시예에서, 비디오 코더 장치는, 비디오 시퀀스의 이전 비디오 유닛의 대응하는 픽셀들에 대한 비디오 유닛의 픽셀들과 연관된 모션에 기초하여 초기 깊이 값들을 상기 비디오 유닛의 픽셀들에 할당하고, 상기 초기 깊이 값들이 임계치를 만족하는지 여부를 확인하고, 상기 초기 깊이 값들이 상기 임계치를 만족하는, 상기 비디오 유닛의 하나 이상의 픽셀들에 조정된 깊이 값들을 할당하는 것으로서, 상기 조정된 깊이 값들은 상기 픽셀들과 연관된 컬러에 기초하는, 상기 조정된 깊이 값들을 할당하며, 그리고 상기 비디오 유닛에 대한 깊이 맵을 생성하는 것으로서, 상기 깊이 맵은 상기 픽셀들의 제 1 서브세트에 대한 상기 초기 깊이 값들 및 상기 픽셀들의 제 2 서브세트에 대한 상기 조정된 깊이 값들을 포함하는, 상기 깊이 맵을 생성하는, 깊이 맵 생성 유닛을 포함할 수도 있다.
또 다른 실시예에서, 디바이스는, 비디오 시퀀스의 이전 비디오 유닛의 대응하는 픽셀들에 대한 비디오 유닛의 픽셀들과 연관된 모션에 기초하여 초기 깊이 값들을 상기 비디오 유닛의 픽셀들에 할당하는 수단, 상기 초기 깊이 값들이 임계치를 만족하는지 여부를 확인하는 수단, 상기 초기 깊이 값들이 상기 임계치를 만족하는, 상기 비디오 유닛의 하나 이상의 픽셀들에 조정된 깊이 값들을 할당하는 수단으로서, 상기 조정된 깊이 값들은 상기 픽셀들과 연관된 컬러에 기초하는, 상기 조정된 깊이 값들을 할당하는 수단, 및 상기 비디오 유닛에 대한 깊이 맵을 생성하는 수단으로서, 상기 깊이 맵은 상기 픽셀들의 제 1 서브세트에 대한 상기 초기 깊이 값들 및 상기 픽셀들의 제 2 서브세트에 대한 상기 조정된 깊이 값들을 포함하는, 상기 깊이 맵을 생성하는 수단을 포함할 수도 있다.
본 개시물에서 설명되는 기술들은 하드웨어, 소프트웨어, 펌웨어 또는 이들의 임의의 조합에서 구현될 수도 있다. 소프트웨어에서 구현되는 경우에, 소프트웨어는 마이크로프로세서, 주문형 집적 회로 (ASIC), 필드 프로그램가능한 게이트 어레이 (FPGA), 또는 디지털 신호 프로세서 (DSP) 와 같은 하나 이상의 프로세서들에서 실행될 수도 있다. 이러한 기술들을 실행하는 소프트웨어는 먼저 컴퓨터 판독가능한 매체에 저장되고, 프로세서에 로딩되고 실행될 수도 있다.
따라서, 본 개시물은 또한, 명령들을 포함하는 컴퓨터 판독가능 저장 매체를 고려하며, 상기 명령들은, 프로세서에 의해 실행될 시, 상기 프로세서로 하여금, 비디오 시퀀스의 이전 비디오 유닛의 대응하는 픽셀들에 대한 비디오 유닛의 픽셀들과 연관된 모션에 기초하여 초기 깊이 값들을 상기 비디오 유닛의 픽셀들에 할당하게 하고, 상기 초기 깊이 값들이 임계치를 만족하는지 여부를 확인하게 하고, 상기 초기 깊이 값들이 상기 임계치를 만족하는, 상기 비디오 유닛의 하나 이상의 픽셀들에 조정된 깊이 값들을 할당하게 하는 것으로서, 상기 조정된 깊이 값들은 상기 픽셀들과 연관된 컬러에 기초하는, 상기 조정된 깊이 값들을 할당하게 하며, 및 상기 비디오 유닛에 대한 깊이 맵을 생성하게 하는 것으로서, 상기 깊이 맵은 상기 픽셀들의 제 1 서브세트에 대한 상기 초기 깊이 값들 및 상기 픽셀들의 제 2 서브세트에 대한 상기 조정된 깊이 값들을 포함하는, 상기 깊이 맵을 생성하게 한다.
깊이 맵 초기화 이후에, 본 개시물에 부합하여, 최종 깊이 맵을 정의하기 위해 추가의 기술들이 적용될 수도 있다. 이러한 실시예들에서, 원래 생성된 깊이 맵은 초기화된 깊이 맵으로 지칭될 수도 있다. 이 경우에, 방법은, 상기 비디오 유닛이 상기 이전 비디오 유닛에 대한 장면 변화에 대응하는지 여부를 결정하는 단계, 상기 비디오 유닛이 상기 이전 비디오 유닛에 대한 장면 변화에 대응한다면, 상기 초기화된 깊이 맵을 상기 비디오 유닛에 대한 최종 깊이 맵으로서 선택하는 단계, 상기 비디오 유닛이 상기 이전 비디오 유닛에 대한 장면 변화에 대응하지 않는다면, 상기 비디오 유닛이 상기 이전 비디오 유닛에 대하여 낮은 레벨의 모션을 나타내는지 여부를 결정하는 단계, 상기 비디오 유닛이 상기 낮은 레벨의 모션을 나타내지 않는다면, 상기 비디오 유닛에 대한 상기 초기화된 깊이 맵의 깊이 값들과 상기 이전 비디오 유닛에 대한 이전 깊이 맵의 깊이 값들의 가중된 평균들에 기초하여 상기 최종 깊이 맵을 정의하는 단계, 및 상기 비디오 유닛이 상기 낮은 레벨의 모션을 나타낸다면, 상기 비디오 유닛에 대한 상기 초기화된 깊이 맵의 깊이 값들과 상기 이전 비디오 유닛에 대한 상기 이전 깊이 맵의 깊이 값들의 최대치들에 기초하여 상기 최종 깊이 맵을 정의하는 단계를 더 포함할 수도 있다.
본 기술들의 하나 이상의 양태들의 세부사항을 첨부한 도면 및 하기의 설명에서 설명한다. 본 개시물에서 기술되는 기술들의 다른 특징들, 목적들 및 이점들은 상세한 설명 및 도면과 청구범위로부터 명백해질 것이다.
도 1 은 본 개시물의 기술들을 구현할 수도 있는 예시적인 비디오 인코딩 및 디코딩 시스템을 예시한 블록도이다.
도 2 는 비디오 인코딩 프로세스의 일부로서 본 개시물의 기술들을 수행할 수도 있는 예시적인 비디오 인코더를 예시한 블록도이다.
도 3 은 비디오 디코딩 프로세스의 일부로서 본 개시물의 기술들을 수행할 수도 있는 예시적인 비디오 디코더를 예시한 블록도이다.
도 4 는 깊이 추정 및 뷰 합성의 프로세스를 예시한 흐름도이다.
도 5 는 깊이 맵을 초기화하는 프로세스를 예시한 흐름도이다.
도 6 은 최종 깊이 맵을 생성하는 프로세스를 예시한 흐름도이다.
도 7 은 깊이 맵 초기화 및 최종 깊이 맵의 생성을 예시한 흐름도이다.
본 개시물은 비디오 프레임들 또는 비디오 프레임들의 슬라이스들과 같은 비디오 유닛들에 대한 깊이 맵들을 생성하기 위한 기술들을 설명한다. 그 기술들은 2 차원 (2D) 비디오를 3 차원 (3D) 비디오로 컨버팅하기 위해 비디오 인코더에 의해 수행될 수도 있다. 그 기술들은 대안적으로, 수신된 2D 비디오를 3D 비디오로 컨버팅하기 위해 비디오 디코더에 의해 수행될 수도 있다. 용어 "코딩" 은 여기서 비디오 인코딩 또는 비디오 디코딩을 지칭하도록 정의된다. 유사하게, 어구 "비디오 코더" 는 비디오 인코더 또는 비디오 디코더를 지칭한다. 일반적으로, 깊이 맵 초기화 및 생성은 본 개시물에 부합하는 인코더 또는 디코더에 의해 수행될 수도 있다.
본 개시물의 기술들은 깊이 맵 초기화 프로세스를 포함할 수도 있다. 깊이 맵 초기화를 위해, 초기 깊이 값들은 비디오 시퀀스의 이전 비디오 유닛의 대응하는 픽셀들과 관련된 픽셀들과 연관된 모션에 기초하여 비디오 유닛의 픽셀들에 할당될 수도 있다. 그 후에, 임계치를 만족하는 초기 깊이 값들은 조정될 수도 있고, 여기서 조정된 깊이 값들은 픽셀들과 연관된 컬러에 기초한다. 그 후에, 비디오 유닛에 대하여 (초기화된 깊이 맵으로 지칭될 수도 있는) 깊이 맵이 생성될 수 있고, 여기서 깊이 맵은 픽셀들의 제 1 서브세트에 대한 초기 깊이 값들 및 픽셀들의 제 2 서브세트에 대한 조정된 깊이 값들을 포함한다.
(초기화된 깊이 맵이라 불릴 수도 있는) 초기화 동안 생성된 깊이 맵에 기초하여 최종 깊이 맵을 정의하기 위해 추가의 기술들이 적용될 수도 있다. 예를 들면, 그 기술들은 비디오 유닛이 이전의 비디오 유닛에 대한 장면 변화에 대응하는지 여부를 결정할 수도 있다. 만약 비디오 유닛이 장면 변화에 대응한다면, 기술들은 초기화된 깊이 맵을 비디오 유닛에 대한 최종 깊이 맵으로서 선택할 수도 있다. 그러나, 비디오 유닛이 장면 변화에 대응하지 않는다면, 기술들은 비디오 유닛이 이전의 비디오 유닛에 대하여 낮은 레벨의 모션을 나타내는지 여부를 결정할 수도 있다. 만약, 비디오 유닛이 낮은 레벨의 모션을 나타내지 않는다면, 기술들은 비디오 유닛에 대한 초기화된 깊이 맵의 깊이 값들과 이전 비디오 유닛에 대한 이전 깊이 맵의 깊이 값들의 가중된 평균들에 기초하여 최종 깊이 맵을 정의할 수도 있다. 비디오 유닛이 낮은 레벨의 모션을 나타낸다면, 기술들은 비디오 유닛에 대한 초기화된 깊이 맵의 깊이 값들과 이전 비디오 유닛의 이전 깊이 맵의 깊이 값들의 최대치들에 기초하여 최종 깊이 맵을 정의할 수도 있다.
도 1 은 본 개시물의 기술들을 구현할 수도 있는 예시적인 비디오 인코딩 및 디코딩 시스템 (10) 을 예시한 블록도이다. 도 1 에 도시된 바와 같이, 시스템 (10) 은 인코딩된 비디오를 통신 채널 (15) 을 통해 목적지 디바이스 (16) 로 송신하는 소스 디바이스 (12) 를 포함한다. 소스 디바이스 (12) 및 목적지 디바이스 (16) 는 모바일 디바이스들 또는 일반적으로 고정된 디바이스들을 포함하는 광범위한 디바이스들 중 임의의 것을 포함할 수도 있다. 일부 경우에, 소스 디바이스 (12) 및 목적지 디바이스 (16) 는 무선 핸드셋들, 소위 셀룰러 또는 위성 무선 전화기들, 개인 휴대 정보 단말기들 (PDAs), 모바일 미디어 플레이어들, 또는 무선일 수도 있거나 무선이 아닐 수도 있는 통신 채널 (15) 을 통해 비디오 정보를 통신할 수 있는 임의의 디바이스와 같은 무선 통신 디바이스들을 포함한다. 그러나, 2D - 3D 비디오 컨버전을 위한 깊이 맵들의 생성 및 적용에 관한 본 개시물의 기술들은, 무선, 유선 또는 하이브리드 시스템들을 포함하는 다수의 서로 다른 시스템들 및 세팅들에서 사용될 수도 있다. 도 1 은 그러한 시스템의 하나의 실시예일 뿐이다.
도 1 의 실시예에서, 소스 디바이스 (12) 는 비디오 소스 (20), 비디오 인코더 (22), 변조기/복조기 (모뎀) (23) 및 송신기 (24) 를 포함할 수도 있다. 목적지 디바이스 (16) 는 수신기 (26), 모뎀 (27), 비디오 디코더 (28) 및 디스플레이 디바이스 (30) 를 포함할 수도 있다. 본 개시물에 따라, 소스 디바이스 (12) 의 비디오 인코더 (22) 또는 수신 디바이스의 비디오 인코더 (28) 는 2D - 3D 비디오 컨버전을 위한 깊이 맵들을 생성하도록 구성될 수도 있다.
소스 디바이스 (12) 는 비디오 정보를 인코딩하여 목적지 디바이스 (16) 로 전송할 수도 있다. 목적지 디바이스 (16) 는 소스 디바이스 (12) 로부터 수신된 무선 신호들을 수신하여 복조할 수도 있다. 소스 디바이스 (12) 와 목적지 디바이스 (16) 는 코딩 디바이스들의 실시예들이다. 예를 들어, 소스 디바이스 (12) 는 목적지 디바이스 (16) 로의 전송을 위해 코딩된 비디오 데이터를 생성하는 코딩 디바이스를 포함할 수도 있다. 일부 경우들에서, 디바이스들 (12, 16) 은 디바이스들 (12, 16) 각각이 비디오 인코딩 및 디코딩 컴포넌트들을 포함하도록 실질적으로 대칭적인 방식으로 동작할 수도 있다. 따라서, 시스템 (10) 은 예컨대 비디오 스트리밍, 비디오 플레이백, 비디오 브로드캐스팅 또는 비디오 전화를 위해 비디오 디바이스들 (12, 16) 사이의 일 방향 또는 양방향 비디오 전송을 지원할 수도 있다.
소스 디바이스 (12) 의 비디오 소스 (20) 는 비디오 카메라와 같은 비디오 캡처 디바이스, 이전에 캡처된 비디오를 저장하는 비디오 아카이브 (archive), 또는 비디오 콘텐츠 제공자로부터의 비디오 피드를 포함할 수도 있다. 추가의 대안으로서, 비디오 소스 (20) 는 소스 비디오로서 컴퓨터 그래픽-기반 데이터, 또는 라이브 비디오, 보관된 비디오, 및 컴퓨터-생성된 비디오의 조합을 생성할 수도 있다. 일부 경우에, 비디오 소스 (20) 가 비디오 카메라이면, 소스 디바이스 (12) 및 목적지 디바이스 (16) 는 소위 카메라폰 또는 비디오폰을 형성한다. 각각의 경우에, 캡처되거나, 미리 캡처되거나, 컴퓨터-생성된 비디오는 비디오 인코더 (22) 에 의해 인코딩될 수도 있다. 인코딩된 비디오 정보는 예컨대, 코드 분할 다중 액세스 (CDMA), 모바일 통신용 글로벌 시스템 (GSM), 주파수 분할 다중 접속 (FDMA), 시간 분할 다중 접속 (TDMA), "wifi", 블루투스, 임의의 광대역 통신 또는 임의의 다른 통신 기술, 표준 또는 이들의 조합들과 같은 통신 표준에 따라 모뎀 (23) 에 의해 변조될 수도 있다. 그 후에, 변조된 정보는 송신기 (24) 를 통해 목적지 디바이스 (16) 로 전송될 수도 있다. 모뎀 (23) 은 신호 변조를 위해 설계된 다양한 믹서들, 필터들, 증폭기들 또는 다른 컴포넌트들을 포함할 수도 있다. 송신기 (24) 는 증폭기들, 필터들, 및 하나 이상의 안테나들을 포함하는, 데이터를 전송하기 위해 설계된 회로들을 포함할 수도 있다.
목적지 디바이스 (16) 의 수신기 (26) 는 채널 (15) 을 통해 정보를 수신하고, 모뎀 (27) 은 그 정보를 복조한다. 상이한 실시예들에서, 소스 디바이스 (12) 의 비디오 인코딩 프로세스 또는 목적지 디바이스 (16) 의 비디오 디코딩 프로세스는 깊이 맵들을 생성하기 위해 여기서 설명된 기술들 중 하나 이상을 구현할 수도 있다. 일부 경우에, 채널 (15) 을 통해 통신된 정보는 소스 디바이스 (12) 에 의해 생성된 깊이 맵들을 포함할 수도 있고, 다른 경우에, 깊이 맵들은 소스 디바이스 (12) 로부터 통신된 2D 비디오 프레임들에 기초하여 목적지 디바이스 (16) 에서 생성될 수도 있다. 디스플레이 디바이스 (30) 는 디코딩된 비디오 데이터를 사용자에게 디스플레이하고, 음극선관, 액정 디스플레이 (LCD), 플라즈마 디스플레이, 유기 발광 다이오드 (OLED) 디스플레이, 또는 다른 타입의 디스플레이 디바이스와 같은 다양한 디스플레이 디바이스들 중 임의의 것을 포함할 수도 있다. 디스플레이 디바이스 (30) 는 멀티-뷰 렌더링을 위한 3D 능력들을 가질 수도 있다.
도 1 의 실시예에서, 통신 채널 (15) 은 무선 주파수 (RF) 스펙트럼 또는 하나 이상의 물리적인 전송 라인들과 같은 임의의 무선 또는 유선 통신 매체, 또는 무선 및 유선 매체의 임의의 조합을 포함할 수도 있다. 따라서, 모뎀 (23) 및 송신기 (24) 는 다수의 가능한 무선 프로토콜들, 유선 프로토콜들, 또는 유선 및 무선 프로토콜들을 지원할 수도 있다. 통신 채널 (15) 은 근거리 네트워크 (LAN) 와 같은 패킷-기반 네트워크, 광역 네트워크 (WAN), 또는 하나 이상의 네트워크들의 상호 접속을 포함하는, 인터넷과 같은 글로벌 네트워크의 일부를 형성할 수도 있다. 통신 채널 (15) 은 일반적으로 소스 디바이스 (12) 로부터 목적지 디바이스 (16) 로 비디오 데이터를 전송하기 위한, 임의의 적절한 통신 매체 또는 서로 다른 통신 매체의 집합을 나타낸다. 통신 채널 (15) 은 라우터들, 스위치들, 기지국들, 또는 소스 디바이스 (12) 로부터 목적지 디바이스 (16) 로의 통신을 용이하게 하는데 유용할 수도 있는 임의의 다른 장비를 포함할 수도 있다. 본 개시물의 기술들은 반드시 하나의 디바이스로부터 다른 디바이스로 인코딩된 데이터의 통신을 요구하는 것이 아니며, 상호 디코딩 없이 인코딩 시나리오들에 적용할 수도 있다. 또한, 본 개시물의 양태들은 상호 인코딩 없이 디코딩 시나리오들에 적용할 수도 있다.
비디오 인코더 (22) 및 비디오 디코더 (28) 는 대안적으로 MPEG-4, Part 10, AVC (Advanced Video Coding) 로서 설명되는 ITU-T H.264 표준과 같은 비디오 압축 표준과 실질적으로 일치하게 동작할 수도 있다. 그러나, 본 개시물의 기술들은 임의의 특정 코딩 표준 또는 그 확장에 제한되지 않는다. 도 1 에 도시되지는 않았지만, 일부 양태에서, 비디오 인코더 (22) 및 비디오 디코더 (28) 가 오디오 인코더 및 디코더와 각각 통합될 수도 있고, 적절한 MUX-DEMUX 유닛들, 또는 다른 하드웨어 및 소프트웨어를 포함하여, 공통 데이터 스트림 또는 개별 데이터 스트림들에서 오디오 및 비디오 양쪽 모두의 인코딩을 핸들링할 수도 있다. 적용가능하다면, MUX-DEMUX 유닛들은 ITU H.223 멀티플렉서 프로토콜, 또는 사용자 데이터그램 프로토콜 (UDP) 과 같은 다른 프로토콜들에 따를 수도 있다.
ITU-T H.264/MPEG-4 (AVC) 표준은 JVT (Joint Video Team) 로 알려진 집단 파트너쉽의 제품으로서 ISO/IEC MPEG (Moving Picture Experts Group) 과 함께 ITU-T VCEG (Video Coding Experts Group) 에 의해 만들어졌다. H.264 표준은 2005 년 3 월에 ITU-T Study Group 에 의한, 일반적인 시청각 서비스들을 위한 ITU-T 권고 H.264, AVC (Advanced Video Coding) 에서 설명되며, 이는 본 명세서에서 H.264 표준 또는 H.264 규격, 또는 H.264/AVC 표준 또는 규격으로 지칭될 수도 있다. JVT (Joint Video Team) 은 H.264/MPEG-4 AVC 로의 확장을 위해 계속해서 노력하고 있다.
H.264/MPEG-4 AVC 표준을 강화시키는 작업은 KTA (Key Technologies Area) 포럼과 같은 ITU-T 의 다양한 포럼들에서 발생한다. KTA 포럼은 H.264/AVC 표준에 의해 보여지는 것보다 더 높은 코딩 효율을 보이는 코딩 기술들을 개발하려 한다. 본 개시물에서 설명되는 기술들은 특히 3D 비디오를 위한 H.264/AVC 표준 및 2D - 3D 비디오 컨버전과 관련하여 코딩 개선들을 제공할 수도 있다.
비디오 인코더 (22) 및 비디오 디코더 (28) 각각은 하나 이상의 마이크로프로세서들, 디지털 신호 프로세서 (DSP) 들, 주문형 집적회로 (ASIC) 들, 필드 프로그램가능 게이트 어레이 (FPGA) 들, 개별 로직 회로, 마이크로프로세서 또는 다른 플랫폼에 실행하는 소프트웨어, 하드웨어, 펌웨어 또는 이들의 임의의 조합들로서 구현될 수도 있다. 비디오 인코더 (22) 및 비디오 디코더 (28) 각각은 하나 이상의 인코더들 또는 디코더들에 포함될 수 있고, 그 중 어느 하나는 각각의 모바일 디바이스, 가입자 디바이스, 브로드캐스트 디바이스, 서버 등등 내에 결합된 인코더/디코더 (CODEC) 의 일부로서 통합될 수 있다.
비디오 시퀀스는 통상적으로 일련의 비디오 프레임들을 포함한다. 비디오 인코더 (22) 및 비디오 디코더 (28) 는 비디오 데이터를 인코딩하고 디코딩하기 위해 개개의 비디오 프레임들 내의 픽셀들의 블록들 상에서 동작할 수도 있다. 비디오 블록들은 고정 또는 가변 사이즈들을 가질 수도 있고, 특정된 코딩 표준에 따라 사이즈가 달라질 수도 있다. 각각의 비디오 프레임은 일련의 슬라이스들 또는 다른 독립적으로 디코딩가능한 유닛들을 포함할 수도 있다. 각각의 슬라이스는 일련의 매크로블록들을 포함할 수도 있고, 그 매크로블록들은 서브-블록들로 배열될 수도 있다. 일 실시예로서, ITU-T H.264 표준은, 루마 성분들에 대하여 16×16, 8×8, 4×4 및 크로마 성분들에 대하여 8×8 과 같은 다양한 블록 사이즈들에서의 인트라 예측 (intra prediction) 뿐만 아니라, 루마 성분들에 대하여 16×16, 16×8, 8×16, 8×8, 8×4, 4×8 및 4×4 및 크로마 성분들에 대하여 대응하는 스케일링된 사이즈들과 같은 다양한 블록 사이즈들에서의 인터 예측 (inter prediction) 을 지원한다. 비디오 블록들은 예컨대, 이산 코사인 변환과 같은 변환 프로세스 또는 개념적으로 유사한 변환 프로세스들 이후에 변환 계수들의 블록들 또는 나머지 픽셀 데이터의 블록들을 포함할 수도 있다.
비디오 블록들이 작을수록 더 양호한 분해능을 제공할 수 있고, 이는 높은 세부 레벨을 포함하는 비디오 프레임의 위치들을 위해 이용될 수도 있다. 일반적으로, 매크로블록들 및 다양한 서브-블록들 또는 파티션들은 모두 비디오 블록들인 것으로 고려될 수도 있다. 또한, 하나의 슬라이스는 매크로블록들 및/또는 서브-블록들 또는 파티션들과 같은 일련의 비디오 블록들인 것으로 고려될 수도 있다. 일반적으로, 매크로블록은 픽셀들의 16×l6 영역을 정의하는 크로미넌스 및 루미넌스 값들의 세트를 지칭할 수도 있다. 루미넌스 블록은 값들의 16×l6 세트를 포함할 수도 있지만, 8×8 블록들, 4×4 블록들, 8×4 블록들, 4×8 블록들 또는 다른 사이즈들과 같은 더 작은 비디오 블록들로 추가로 분할될 수도 있다. 2 개의 서로 다른 크로미넌스 블록들은 매크로 블록에 대한 컬러를 정의할 수도 있고, 각각 픽셀들의 16×16 영역과 연관된 컬러 값들의 8×8 서브-샘플링된 블록들을 포함한다. 매크로블록들은 매크로블록들에 적용된 코딩 모드들 및/또는 코딩 기술들을 정의하기 위한 신택스 (syntax) 정보를 포함할 수도 있다.
매크로블록들 또는 다른 비디오 블록들은 슬라이스들, 프레임들 또는 다른 독립적인 유닛들과 같은 디코딩 가능한 유닛들로 그룹화될 수도 있다. 각각의 슬라이스는 비디오 프레임의 독립적으로 디코딩 가능한 유닛일 수도 있다. 대안적으로, 프레임들은 자체적으로 디코딩 가능한 유닛들이 될 수도 있거나, 프레임의 다른 부분들이 디코딩 가능한 유닛들로 정의될 수도 있다. 본 개시물에서, 용어 "코딩된 유닛" 은 전체 프레임, 프레임의 슬라이스, 픽처 그룹 (GOPs), 또는 이용되는 코딩 기술들에 따라 정의되는 다른 독립적으로 디코딩 가능한 유닛과 같은 비디오 프레임의 임의의 독립적으로 디코딩 가능한 유닛을 지칭한다.
인트라-기반 또는 인터-기반 예측 인코딩 이후 및 (H.264/AVC 에서 이용되는 4×4 또는 8×8 정수 변환 또는 이산 코사인 변환 또는 DCT 와 같은) 임의의 변환들 이후에, 양자화가 수행될 수도 있다. 양자화는 일반적으로 계수들을 나타내기 위해 이용되는 데이터의 양을 감소시킬 수 있도록 계수들이 양자화되는 프로세스를 지칭한다. 양자화 프로세스는 계수들 중 일부 또는 전부와 연관된 비트 깊이를 감소시킬 수도 있다. 예를 들면, 16-비트 값은 양자화 동안 15-비트 값으로 절단 (round down) 될 수도 있다. 양자화 이후, 예컨대, 콘텐츠 적응형 가변 길이 코딩 (CAVLC), 컨텍스트 적응형 이진 산술 코딩 (CABAC), 또는 다른 엔트로피 코딩 방법에 따라 엔트로피 코딩이 수행될 수도 있다.
3D 비디오는 각각의 최초 인코딩된 프레임과 연관된 하나 이상의 추가의 비디오 프레임들 (예컨대, 추가의 뷰들) 을 요청할 수도 있다. 예를 들어, 2 개의 서로 다른 뷰들은 비디오 프레임의 입체적인 3D 렌디션 (rendition) 을 정의하기 위해 이용될 수도 있다. 2 개의 뷰들, 3 개의 뷰들, 3 개 초과의 뷰들을 포함할 수도 있는 다중 뷰들은 멀티-뷰 3D 렌디션들을 지원할 수도 있다. 3D 비디오의 서로 다른 뷰들은 2 이상의 뷰들과 연관된 비디오 프레임들 또는 슬라이스들이 비디오 시퀀스의 동일한 시간 인스턴스들에 대응하도록 유사한 타이밍 또는 동기화를 가질 수도 있다. 이러한 방식으로, 2 이상의 뷰들은 일반적으로 3D 시퀀스를 함께 형성하는 2 이상의 2D 시퀀스들을 정의할 수도 있고, 이러한 3D 시퀀스는 3D 비디오를 제공하도록 집합적으로 렌더링될 수도 있다.
초기의 2D 비디오 시퀀스에 기초한 3D 비디오 렌더링을 지원하기 위해, 본 개시물은 깊이 맵들의 생성을 설명한다. 깊이 맵들은 프레임 또는 슬라이스와 같은 비디오 유닛의 상이한 픽셀들에 대하여 깊이 값들을 포함할 수도 있다. 깊이 맵들은 인코더에서 생성될 수도 있고, 이 경우에 깊이 맵들은 비트스트림의 일부로서 디코더로 통신될 수도 있거나, 비트스트림으로 통신될 수 있는 하나 이상의 추가 뷰들을 생성하기 위해 인코더에서의 뷰 합성 프로세스에 적용될 수도 있다. 대안적으로, 깊이 맵들은 디코더에서 생성될 수도 있고, 이 경우에 인코더 디바이스는 간단히 2D 스트림을 디코더 디바이스로 전송하여 깊이 맵들을 생성할 수도 있다. 깊이 맵 초기화 및 최종 깊이 맵 생성 기술들은, 본 개시물에서 설명되는 것과 같이, 인코더에서 전체적으로 및 디코더에서 전체적으로, 또는 인코더에서 부분적으로 및 디코더에서 부분적으로 수행될 수도 있다. 깊이 맵들이 생성되면, 2D 시퀀스에 대한 하나 이상의 2차 뷰들을 생성하기 위해 뷰 합성 프로세스에서 이용될 수도 있으며, 따라서 2D 시퀀스는 3D 로 렌더링될 수 있다.
도 2 는 비디오 인코딩 프로세스의 일부로서 본 개시물과 부합하는 기술들을 수행할 수도 있는 비디오 인코더 (50) 의 일 실시예를 예시한 블록도이다. 도 2 의 실시예에서, 깊이 맵들이 생성되어 비디오 비트스트림의 일부로서 통신될 수도 있다. 그러나, 언급된 것과 같이, 본 개시물은 인코더에서의 깊이 맵들의 생성 및 적용을 고려하며, 이 경우에 깊이 맵들 또는 생성된 3D 시퀀스는 비디오 인코더 (50) 로부터 또 다른 디바이스로 통신될 수도 있다.
비디오 인코더 (50) 는 소스 디바이스 (12) 의 비디오 인코더 (22) 또는 다른 디바이스의 비디오 인코더에 대응할 수도 있다. 비디오 인코더 (50) 는 비디오 프레임들 내의 블록들의 인트라-코딩 및 인터-코딩을 수행할 수도 있다. 인트라-코딩은 공간적 예측에 의존하여, 소정의 비디오 프레임 내에서 비디오의 공간적 리던던시를 감소 또는 제거한다. 인터-코딩은 시간적 예측에 의존하여, 비디오 시퀀스의 인접 프레임들 내에서 비디오의 시간적 리던던시를 감소 또는 제거한다. 인트라-모드 (I-모드) 는 공간 기반 압축 모드를 지칭할 수도 있고, 예측 모드 (P-모드) 또는 양방향 모드 (B-모드) 와 같은 인터-모드들은 시간 기반 압축 모드들을 지칭할 수도 있다.
도 2 에 도시된 바와 같이, 비디오 인코더 (50) 는 인코딩될 비디오 프레임 또는 슬라이스 내의 현재 비디오 블록을 수신한다. 도 2 의 실시예에서, 비디오 인코더 (50) 는 예측 유닛 (35), 메모리 (34), 합산기 (48), 변환 유닛 (38), 양자화 유닛 (40), 및 엔트로피 코딩 유닛 (46) 을 포함한다. 비디오 블록 복원을 위해, 비디오 인코더 (50) 는 또한 역 양자화 유닛 (42), 역변환 유닛 (44) 및 합산기 (51) 를 포함한다. 또한, 본 개시물에 따라, 비디오 인코더 (50) 는 본 명세서에서 설명되는 깊이 맵들을 생성하는, 깊이 맵 생성 유닛 (36) 을 포함할 수도 있다. 비디오 인코더 (50) 는 또한 복원된 비디오로부터 블록화 아티팩트들 (blockiness artifacts) 을 제거하기 위해 블록 경계들을 필터링하는 디블로킹 (deblocking) 필터 (비도시) 와 같은 다른 컴포넌트들을 포함할 수도 있다. 요구되는 경우, 디블로킹 필터는 통상적으로 합산기 (51) 의 출력을 필터링할 것이다.
인코딩 프로세스 동안, 비디오 인코더 (50) 는 코딩될 비디오 블록을 수신하고, 예측 유닛 (35) 은 인트라-예측 또는 인터-예측 코딩을 수행한다. 예를 들어, 인코더 (50) 의 예측 유닛 (35) 은 코딩된 유닛 (예컨대, 프레임 또는 슬라이스) 의 각각의 비디오 블록 또는 비디오 블록 파티션에 대하여 모션 추정 및 모션 보상을 수행할 수 있다. 예측 유닛 (35) 은 특정 블록을 인코딩하는 것과 연관된 각각의 적용가능한 모드에 대한 레이트-왜곡 비용 (rdcost) 을 계산할 수도 있고, 최저 비용을 산출하는 코딩 모드를 선택할 수도 있다. rdcost 는 이용되는 비트들의 수 및 원래의 비디오 데이터에 대하여 코딩된 데이터에서의 왜곡의 레벨과 관련하여 비용을 정량화할 수도 있다.
레이트-왜곡 (RD) 분석은 비디오 코딩에서 상당히 통상적이며, 일반적으로 코딩 비용을 나타내는 비용 메트릭의 계산을 수반한다. 비용 메트릭은 코딩을 위해 요구되는 비트들의 수 (레이트) 와 코딩과 연관된 품질 레벨 (왜곡) 사이에서 균형을 이룰 수도 있다. 통상적인 레이트-왜곡 비용 계산은 일반적으로 하기의 포맷에 대응할 수도 있다:
Figure pct00001
상기
Figure pct00002
는 비용이고, R 은 비트 레이트이고, D 는 왜곡이며,
Figure pct00003
는 라그랑제 (Lagrange) 승수이다. 예측 유닛 (35) 은 비디오 블록 인코딩을 수행하기 위해 이용될 수 있는 다양한 인트라-코딩 및 인터-코딩 모드들 (및 적용가능한 파티션 사이즈들) 을 비교하기 위해 상기와 같은 타입의 비용 함수를 적용할 수도 있다.
요구되는 예측 데이터가 예측 유닛 (35) 에 의해 식별되면, 비디오 인코더 (50) 는 잔여 블록을 생성하기 위해 코딩되는 원래의 비디오 블록으로부터 예측 데이터를 감산함으로써 잔여 비디오 블록을 형성한다. 합산기 (48) 는 이러한 감산 연산들을 수행하는 컴포넌트 또는 컴포넌트들을 나타낸다. 변환 유닛 (38) 은 이산 코사인 변환 (DCT) 또는 개념적으로 유사한 변환과 같은 변환을 블록 내의 잔여 값들에 적용하여 잔여 변환 블록 계수들을 포함하는 비디오 블록을 생성한다. 변환 유닛 (38) 은 DCT 와 개념적으로 유사한, H.264 표준에 의해 정의되는 것과 같은 변환들을 수행할 수도 있다. 웨이블릿 (wavelet) 변환들, 정수 변환들, 서브-대역 변환들 또는 다른 타입의 변환들이 또한 이용될 수 있다. 임의의 경우에, 변환 유닛 (38) 은 변환을 잔여 블록에 적용하여 잔여 변환 계수들의 블록을 생성한다. 변환은 잔여 정보를 픽셀 영역으로부터 주파수 영역으로 컨버팅할 수도 있다.
양자화 유닛 (40) 은 잔여 변환 계수들을 양자화하여, 비트 레이트를 더 감소시킨다. 양자화 프로세스는 이러한 계수들의 전부 또는 일부와 연관된 비트 깊이를 감소시킬 수도 있다. 예를 들면, m-비트 값은 양자화 동안 m-n-비트 값으로 절단될 수도 있으며, 여기서 m 과 n 은 비-제로이고, m 은 n 보다 크다. 추가로, 양자화 유닛 (40) 은 오프셋이 이용되는 경우들을 위해 서로 다른 오프셋들을 양자화할 수도 있다.
양자화 이후에, 엔트로피 코딩 유닛 (46) 은 양자화된 변환 계수들을 엔트로피 코딩한다. 예를 들면, 엔트로피 코딩 유닛 (46) 은 콘텐츠 적응형 가변 길이 코딩 (CAVLC), 콘텍스트 적응형 이진 산술 코딩 (CABAC), 또는 다른 엔트로피 코딩 방법을 수행할 수도 있다. 엔트로피 코딩 유닛 (46) 에 의한 엔트로피 코딩 이후에, 인코딩된 비디오는 다른 디바이스로 전송되거나, 이후 전송 또는 검색을 위해 보관될 수도 있다. 코딩된 비트스트림은 엔트로피 코딩된 잔여 블록들, 이러한 블록들에 대한 모션 벡터들 및 2D - 3D 비디오 컨버전을 지원하기 위해 본 명세서에 설명된 깊이 맵들과 같은 다른 신택스를 포함할 수도 있다.
역 양자화 유닛 (42) 및 역변환 유닛 (44) 은 각각 역 양자화 및 역 변환을 적용하여, 픽셀 영역 내의 잔여 블록을, 예컨대 전술된 방식에서 참조 데이터로서의 향후 이용을 위해 복원한다. 합산기 (51) 는 복원된 잔여 블록을 모션 보상 유닛 (35) 에 의해 생성된 1차 및/또는 2차 예측 블록들에 합산하여 메모리 (34) 내의 저장을 위한 복원된 비디오 블록을 생성한다. 복원된 비디오 블록 및 잔여 데이터는 모션 보상 유닛 (35) 에 의해 후속 비디오 프레임 또는 다른 코딩된 유닛 내의 블록을 인터-인코딩하기 위한 참조 블록으로서 이용될 수도 있다.
3D 비디오를 지원하기 위해, 비디오 인코더 (50) 는 메모리 (34) 내에 저장된 복원된 2D 비디오 시퀀스와 관련하여 동작하는 깊이 맵 생성 유닛 (36) 을 추가로 포함할 수도 있다. 깊이 맵 생성 유닛 (36) 은 비디오 시퀀스의 이전 비디오 유닛의 대응하는 픽셀들과 관련된 픽셀들과 연관된 모션에 기초하여 초기 깊이 값들을 비디오 유닛의 픽셀들에 할당할 수도 있다. 깊이 맵 생성 유닛 (36) 은 초기 깊이 값들이 임계치를 만족하는지 여부, 예컨대 임의의 초기 깊이 값들이 정의된 임계치 이상인지, 또는 대안적으로, 정의된 임계치 미만인지 여부를 확인할 수도 있다. 깊이 맵 생성 유닛 (36) 은 초기 깊이 값들이 임계치를 만족하는 비디오 유닛의 하나 이상의 픽셀들에 조정된 깊이 값들을 할당할 수도 있고, 여기서 조정된 깊이 값들은 픽셀들과 연관된 컬러에 기초한다. 그 후에, 깊이 맵 생성 유닛 (36) 은 비디오 유닛에 대한 초기화된 깊이 맵을 생성할 수도 있고, 여기서 초기화된 깊이 맵은 임계값을 만족하지 않는 픽셀들의 제 1 서브세트에 대한 초기 깊이 값들 및 임계값을 만족하는 픽셀들의 제 2 서브 세트에 대한 조정된 깊이 값들을 포함한다. 다시 말해서, 대안적인 실시예들에서, 임계치의 만족은 임계값보다 크거나, 다른 실시예들에서 임계값 미만인 깊이 값들과 관련하여 고려될 수도 있다.
깊이 맵 생성 유닛 (36) 은 이전 비디오 유닛의 공동-위치된 픽셀들의 루마 값들에 대한 비디오 유닛의 픽셀들의 루마 값들에 기초하여 초기 깊이 값들을 할당함으로써 모션에 기초하여 초기 깊이 값들을 할당할 수도 있다. 깊이 맵 생성 유닛 (36) 은 비디오 유닛의 픽셀들의 크로마 값들에 적어도 부분적으로 기초하여 조정된 깊이 값들을 할당함으로써 컬러에 기초하여 조정된 깊이 값들을 할당할 수도 있다. 예를 들어, 하기에서 더 상세히 설명되는 것과 같이, 모션에 기초하여 초기 깊이 값들을 할당하는 것은 하기의 식에 따라 초기 깊이 값들을 할당하는 것을 포함할 수도 있다:
Figure pct00004
상기 mn ,i 는 초기 깊이 값을 나타내고, Ln ,i 는 비디오 유닛 n 에서 픽셀 i 에 대한 루마 값을 나타내며, Ln -1,i 는 이전의 비디오 유닛 n-1 에서 픽셀 i 에 대한 대응하는 루마 값을 나타낸다. 컬러에 기초하여 조정된 깊이 값들을 할당하는 것은 하기의 식에 따라 조정된 깊이 값들을 할당하는 것을 포함할 수도 있다:
Figure pct00005
상기
Figure pct00006
는 조정된 깊이 값을 나타내고, g(cn ,i) 는 크로마 값들과 관련된 함수 g 를 나타내고, Tm 는 임계치이고, Cn ,i 는 비디오 유닛 n 의 소정의 픽셀에 대한 크로마 값을 나타내며, Cmax 는 허용되는 최대 크로마 값을 나타내고, Cmin 는 허용되는 최소 크로마 값을 나타낸다.
깊이 맵 생성 유닛 (36) 은 또한 초기화된 깊이 맵에 적어도 부분적으로 기초하여 최종 깊이 맵을 생성하기 위해 추가의 기술들을 수행할 수도 있다. 예를 들면, 깊이 맵 생성 유닛 (36) 은 비디오 유닛이 이전의 비디오 유닛에 대한 장면 변화에 대응하는지 여부를 결정하고, 비디오 유닛이 이전 비디오 유닛에 대한 장면 변화와 대응한다면 초기화된 깊이 맵을 비디오 유닛에 대한 최종 깊이 맵으로서 선택할 수도 있다. 비디오 유닛이 이전 비디오 유닛에 대한 장면 변화에 대응하지 않는다면, 깊이 맵 생성 유닛 (36) 은 비디오 유닛이 이전 비디오 유닛에 대하여 낮은 레벨의 모션을 나타내는지 여부를 결정할 수도 있다. 이 경우에, 모션은 현재 비디오 유닛과 이전 비디오 유닛 사이의 루마 차이들의 크기에 의해 정량화될 수도 있다. 만약, 비디오 유닛이 낮은 레벨의 모션을 나타내지 않는다면, 깊이 맵 생성 유닛 (36) 은 비디오 유닛에 대한 초기화된 깊이 맵의 깊이 값들과 이전 비디오 유닛에 대한 이전 깊이 맵의 깊이 값들의 가중된 평균들에 기초하여 최종 깊이 맵을 정의할 수도 있다. 비디오 유닛이 낮은 레벨의 모션을 나타낸다면, 깊이 맵 생성 유닛 (36) 은 비디오 유닛에 대한 초기화된 깊이 맵의 깊이 값들과 이전 비디오 유닛의 이전 깊이 맵의 깊이 값들의 최대치들에 기초하여 최종 깊이 맵을 정의할 수도 있다.
최종 깊이 맵이 생성되면, 깊이 맵은 다른 디바이스에서의 뷰 합성에 적용하여 원래의 뷰와 최종 깊이 맵에 기초하여 하나 이상의 2차 뷰들을 생성하기 위해 비디오 인코더 (50) 로부터 다른 디바이스로 통신될 수도 있다. 대안적으로, 비디오 인코더 (50) 는 비디오 유닛에 대한 2차 뷰를 생성하기 위해 최종 깊이 맵에 기초하여 뷰 합성을 수행할 수 있고, 이 경우에 (깊이 맵 보다) 2차 뷰는 비디오 유닛의 일부로서 비디오 인코더 (50) 로부터 다른 디바이스로 통신될 수도 있다.
도 3 은 본 개시물의 기술들을 수행하도록 구성될 수도 있는 예시적인 비디오 디코더 (70) 을 예시한 블록도이다. 이 경우에, 비디오 디코더 (70) 는 2D 비디오 시퀀스를 수신할 수도 있고, 2D 시퀀스의 비디오 프레임들에 대한 깊이 맵들을 생성할 수도 있다. 깊이 맵들은 비디오 프레임들에 대한 2차 뷰들을 합성하기 위해 비디오 디코더 (70) 에 의해 이용될 수도 있으며, 따라서 2D 시퀀스는 3D 시퀀스로 컨버팅될 수 있다.
비디오 디코더 (70) 는 엔트로피 디코딩 유닛 (72), 예측 유닛 (75), 역 양자화 유닛 (76), 역변환 유닛 (78), 메모리 (74), 및 합산기 (79) 를 포함할 수도 있다. 예측 유닛 (75) 은 모션 보상 유닛뿐만 아니라 공간 예측 컴포넌트들을 포함할 수도 있다.
비디오 디코더 (70) 는 인코딩된 2D 비디오 시퀀스를 포함하는 인코딩된 비디오 비트스트림을 수신할 수도 있다. 엔트로피 디코딩 유닛 (72) 은 2D 시퀀스의 잔여 비디오 블록들에 대하여 양자화된 계수들을 생성하기 위해 비트스트림의 엔트로피 디코딩을 수행한다. 엔트로피 디코딩 유닛 (72) 은 비트스트림으로부터 신택스 엘리먼트들을 분석하여 이러한 신택스 엘리먼트를 비디오 디코더 (70) 의 다양한 유닛들로 포워딩할 수도 있다. 모션 정보 (예컨대, 모션 벡터들) 및 다른 신택스 정보는 예컨대, 예측 유닛 (75) 으로 포워딩될 수도 있다.
역 양자화 유닛 (76) 은 엔트로피 디코딩 유닛 (72) 으로부터 데이터를 역 양자화하고, 역변환 유닛은 역변환을 수행하여 픽셀 영역 내에 잔여 블록을 생성한다. 그 후에, 합산기 (79) 는 예측 유닛 (75) 에 의해 생성된 예측 블록과 잔여 블록을 결합하여 원래의 비디오 블록의 복원을 생성하며, 이는 메모리 (74) 내에 저장되고 및/또는 디코딩된 2D 비디오 데이터로서 디스플레이로 출력될 수도 있다. 다수의 비디오 블록들은 비디오 프레임들을 복원하고, 궁극적으로는 메모리 (74) 내의 비디오 프레임들의 전체 2D 시퀀스를 복원하기 위해 상기와 같은 방식으로 디코딩될 수도 있다. 이러한 방식으로, 비디오 디코더 (70) 는 전술된 비디오 인코더 (50) 에 의해 수행된 인코딩에 대하여 상호 디코딩을 수행한다.
본 개시물에 따라, 비디오 디코더 (70) 는 추가로 깊이 맵 생성 유닛 (77) 및 2D - 3D 컨버전 유닛 (79) 을 포함할 수도 있다. 깊이 맵 생성 유닛 (77) 은 본 개시물에 부합하는 깊이 맵 초기화 및 깊이 맵 생성 기술들을 수행할 수도 있다. 깊이 맵들이 생성되면, 2D - 3D 컨버전 유닛 (79) 은 비디오 프레임들에 대하여 하나 이상의 2차 뷰들을 생성하기 위해 뷰 합성 프로세스에서 깊이 맵들에 적용될 수도 있다.
일반적으로, 입체적인 디스플레이 기술의 개발에 따라, 입체적인 또는 3D 비디오는 엔터테인먼트 산업에서 유행하는 트렌드가 되고 있다. 종래의 2D 디스플레이와 비교하여 몰입형인 3D 경험으로 인해, 영화, 텔레비전 및 게임의 3D 콘텐츠에 대한 요구들이 계속해서 급격하게 증가하고 있다.
컴퓨터 그래픽들에서, 3D 렌더링은 3D 모델을 3D 포토리얼리스틱 효과들을 갖는 2D 이미지들로 자동으로 컨버팅하는 프로세스일 수도 있다. 컴퓨터 그래픽에서 때때로 몰입감 (immersiveness) 이라 지칭되는 포토리얼리스틱 효과들은 통상적으로 상이한 입체적인 뷰들의 뷰 각도 또는 위치를 서로에 대하여 변화시킴으로써 획득된다. 3D 비디오 애플리케이션들에서, 이러한 시나리오는 때때로 프리-뷰포인트 (free-viewpoint) 비디오라 불린다.
비디오 프로세싱에서, 3D 렌더링은 또한 뷰어들이 3D 안경을 이용하거나 이용하지 않고 스테레오 또는 오토 스테레오 뷰잉 경험을 가질 수 있도록 하는 몰입형 렌더링의 애플리케이션들을 포함할 수도 있다. 이 경우에, 디스플레이는 2 이상의 뷰들을 동시에 렌더링하는 능력을 가질 수도 있다. 가장 최근의 3D 디스플레이 기술들은 두 눈으로 보는 시력, 즉 좌측 및 우측 눈에 의해 감지되는 약간 상이한 뷰들을 이용하며, 그 결과 인간의 뇌에 의해 깊이에 대한 정신적인 느낌 (mental impression) 을 발생한다. 예를 들어, 일부 3D 시스템들은 스테레오 또는 오토 스테레오 디스플레이에서 2 이상의 뷰들을 허용한다.
다양한 3D 디스플레이 시스템들은 3D 비디오를 디스플레이할 수도 있지만, 종종 3D 렌더링에 필요한 추가의 데이터로 인해 비디오 통신에 대하여 증가된 대역폭들을 요구할 수도 있다. 추가로, 몇몇 뷰들을 동시에 획득하는 것은 종종 비디오 캡처 시스템들에서 사용될 수 없다. 또한, 상업적인 마켓 및 개인 레코딩들 양자에서 엄청난 양의 2D 컨텐츠가 존재하며, 이들을 위해 3D 비디오로 컨버팅하는 것은 바람직할 수도 있다. 따라서, 2D 로부터 3D 로의 데이터의 컨버전은 매우 바람직하다.
2D - 3D 비디오 컨버전 문제는 이미 알려진 원래의 2D 뷰로부터 하나의 가상 뷰 (즉, 2차 뷰) 또는 몇몇 가상 뷰들을 생성하는 문제로서 간주될 수 있다. 2차 뷰의 생성은 오브젝트 깊이 값들을 추정하고, 그 후에 그 깊이 값들을 적용하여 하나 이상의 2차 뷰들을 합성함으로써 달성될 수도 있다. 깊이 추정은 모노스코프 (monoscopic) 비디오 또는 몇몇 뷰들로부터의 카메라 면과 오브젝트들 사이의 절대적인 또는 상대적인 거리들을 추정하는 프로세스이다. 통상적으로 그레이-레벨 이미지로 표시되는 추정된 깊이 정보는 깊이 이미지 기반 렌더링 (DIBR) 기술들에 기초하여 임의의 적절한 각도의 가상 뷰들을 생성하는데 이용될 수 있다.
도 4 는 모노스코프 좌측-뷰로부터 우측-뷰를 생성하는 예시적인 뷰 합성 프로세스를 예시한 흐름도이다. 이 경우에, 좌측 뷰에 대한 2D 비디오 (401) 는 이 상기 프로세스로의 입력을 포함할 수도 있다. 각각의 비디오 프레임에 대하여, 깊이 맵 생성 유닛 (77) 은 좌측 뷰에 적용될 깊이 맵을 생성하기 위해 깊이 추정 (402) 을 수행할 수도 있다. 특히, 깊이 맵 생성 유닛 (77) 은 본 개시물에 설명되는 것과 같은 깊이 맵 초기화 및 깊이 맵 생성 기술들을 수행할 수도 있다. 깊이 맵들은 뷰 합성에서 사용하기 위한 추정된 깊이들 (403) 을 포함할 수도 있다. 깊이 맵들이 생성되면, 2D - 3D 컨버전 유닛 (79) 은 비디오 프레임들에 대하여 하나 이상이 2차 뷰들을 생성하기 위해 뷰 합성 프로세스 (404) 에 깊이 맵들을 적용할 수도 있다. 이 경우에, 뷰 합성 프로세스 (404) 의 출력은 합성된 우측 뷰 (405) 를 포함할 수도 있다.
깊이 추정 (402) 에서, 다양한 깊이 큐 (cue) 들이 이용될 수도 있다. 이러한 큐들은 오브젝트 모션 및 컬러와 같은 다른 시간 큐 또는 2D 공간 큐와 관련하여 정의된 원근법 기하 (perspective geometry) 를 포함할 수도 있다. 2 이상의 미리 캡처된 뷰들이 존재하는 경우에, 깊이 맵들은 공지된 카메라 내부 및 외부 파라미터들의 도움으로 에피폴라 (epipolar) 기하에 의해 획득될 수 있다. 깊이 추정 기술은, 예컨대 2 개의 상이한 스테레오 뷰들에서 동일한 오브젝트의 대응성을 발견함으로써 차이 정보 (예컨대, 일반적으로 오브젝트 깊이와 반비례하는 정보) 를 추정할 수도 있다. 유감스럽게도, 스테레오 매칭에 기초한 2D - 3D 컨버전은 매우 복잡할 수 있고, 집약적인 계산들을 필요로 할 수도 있다.
반면에, 일부 공통적으로 이용되는 비디오 캡처 디바이스들, 예컨대 카메라들, 캠코더들 및 모바일 전화기들에 대하여 통상적으로는 단일의 뷰 만이 사용가능하며, 이는 예컨대 2 개의 상이한 카메라들에 의해 캡처되는 실세계 (real-world) 장면들로부터 충분한 정보의 부족으로 인해 2D - 3D 컨버전을 도전할만한 문제로 만든다. 그러나, 일부 깊이 큐들은 모노스코프 소스들에 여전히 사용가능하다. 비디오 프레임은 몇몇 전경 오브젝트들과 배경의 합성으로서 고려될 수도 있다. 포커싱된 카메라의 뷰 포인트로부터, 카메라는 포커싱되지 않은 영역들의 컬러 세기들이 포커싱된 영역들과 비교하여 더 많은 블러 (blur) 를 포함할 것임을 가정할 수도 있다. 더 가까운 오브젝트들은 통상적으로 멀리 떨어진 오브젝트들 보다 더 적은 블러 현상 (blurriness) 을 가지는 것으로 예상된다. 따라서, 블러 현상은 깊이 할당을 위해 중요한 큐 (cue) 로서 이용될 수도 있다.
2D - 3D 컨버전을 위해 이용된 블러 현상은 경사도 기반의 측정들 또는 주파수 영역 분석을 포함할 수도 있다. 큰 경사도 값들을 가지는 이미지 영역들은 더 작은 양의 블러를 갖는 영역들의 일부인 경향이 있는 반면, 작은 경사도 값들을 가지는 영역들은 더 큰 양의 블러를 갖는 영역들의 일부인 경향이 있다. 저밀도의 (sparse) 깊이 맵들은 비대칭의 깊이 맵 평활화 이전에 오브젝트 에지들과 경계들에 대한 경사도 값들로부터 추정될 수도 있다. 정확하지는 않지만, 이러한 타입의 깊이 맵들은 몇몇 레벨의 "의사" 3D 경험을 제공할 수도 있다.
그러나, 일부 비디오 프레임들에 대하여, 전술된 가정들은 참 (true) 이 아닐 수도 있다. 먼저, 카메라는 카메라와 인접한 오브젝트들 대신에, 실제로 배경에 속하는 멀리 떨어진 오브젝트들을 포커싱할 수도 있다. 추가로, 전경의 텍스처 없는 (textureless) 영역들의 블러 분석은 전경의 동종의 영역들이 종종 고주파수 성분들을 포함하지 않기 때문에 실패할 수도 있다. 따라서, 저 블러 현상이 항상 더 적은 깊이 (카메라로의 거리) 를 나타내는 것은 아니며, 고 블러 현상이 항상 더 큰 깊이에 대응하는 것은 아니다.
모션은 모노스코프 2D 비디오에 대한 깊이 추정에서 사용될 수 있는 다른 중요한 큐이다. 레코딩 동안 카메라 위치가 고정된다면, 더 가까운 오브젝트들이 원근법 기하로 인해 멀리 떨어진 오브젝트들과 비교하여 더 크게 보이고 더 하이 모션을 가지는 것으로 예상된다. 모션 추정은 인접한 비디오 프레임들을 통한 오브젝트 움직임을 추정하는 프로세스이다. 모션 벡터들은 통상적으로 이전 비디오 프레임의 유사한 "예측 데이터" 와 관련된 오브젝트 수평 및 수직 병진 변위 (translational displacement) 들을 설명하는 벡터로서 정의된다. 특정 장면 세팅들에 대하여, 고정된 배경이 사용가능한 경우에, 모션은 등록된 배경 장면으로부터 현재의 프레임을 제거함으로써 (substracting) 간단히 획득될 수 있다. 그러나, 고정된 배경의 제약들로 인해, 이러한 방법들은 바람직하지 않다. 그러므로, 인접 프레임들 사이의 차이들을 발견함으로써 다른 간단하고 신속한 모션 측정이 달성될 수도 있다. 이러한 타입의 모션 측정은 이웃하는 프레임들의 공동-위치된 픽셀들의 루마 세기들의 픽셀-기반 또는 윈도우-기반 감산들에 의해 획득될 수도 있다.
모션 추정을 위해 이용되는 다른 기술들은 블록-기반의 매칭 및 시각적 흐름을 포함한다. 블록-기반 매칭 접근 방식들은 비디오 프레임들이 먼저 몇몇 비디오 블록들로 분할되는 비디오 압축에서 이용될 수도 있다. 현재 프레임 n 에서 각각의 비디오 블록은 동일한 사이즈를 가지지만 현재 블록에 대하여 기준 프레임에서 변위를 가지는 블록들과 비교될 수도 있다. 최소 매칭 비용과 연관된 변위, 예컨대 매칭 에러의 절대 값들의 최저 합은 그 블록에서의 픽셀들 모두에 대하여 추정된 모션 값을 정의할 수도 있다. 그러나, 블록-기반 매칭과는 달리, 시각적 흐름 기술들은 경사도-기반의 세기 변화들을 통해 픽셀 변위들을 오브젝트 속도들과 관련시키며, 여기서 픽셀-레벨 모션들이 획득될 수 있다. 그러나, 시각적 흐름 기술들은 통상적으로 잡음에 민감하며, 평활한 영역들에 대하여 매우 정확하지 않다.
블러 현상 분석과 유사하게, 모션 큐들은 강인성 문제들을 경험할 수 있다. 다시 말해서, 일부 경우에, 모션-깊이 관계의 가정은 실패할 수 있다. 예를 들어, 카메라로의 거리가 동일한 오브젝트들은 종종 서로 독립적으로 이동하고, 상이한 속도들로 이동할 수 있다. 이 경우, 추정된 모션과 깊이 값 사이에 반비례 관계가 어긋날 수 있다. 추가로, 이동하는 카메라, 회전하는 카메라, 줌-인들, 줌-아웃들 등등을 통해 장면들이 캡처될 수도 있기 때문에, 글로벌 모션을 갖는 장면들이 존재한다. 이 경우에, 예컨대 카메라가 이동하고 있거나 장면에 대하여 변화하고 있는 경우에, 먼 거리의 오브젝트들은 더 가까운 오브젝트들과 비교할 때 더 높게 추정된 모션들을 가질 수도 있다. 또한, 전경 오브젝트들은 카메라 모션에도 고정될 수도 있다. 전체 이미지가 짧은 시간 간격에 걸쳐 어떤 모션 없이 고정되어 있는 경우에, 깊이 추정을 위해 모션 큐들을 이용하는 것은 어렵게 된다.
깊이 값 맵핑과 더 관련되거나 덜 관련된 블러 현상 및 모션 큐들과는 달리, 컬러 세기로부터 측정된 비디오 프레임 평활화는 또한 공간 및 시간적으로 일관된 깊이 맵을 생성하는데 이용될 수 있다. 깊이 맵 일관성은 합성된 가상 뷰들에서 플리커링 (flickering) 및 로컬 변형과 같은 아티팩트들을 감소시키는 데 중요한 역할을 한다. 일반적으로, 동일하거나 유사한 컬러들을 갖는 픽셀들은 통상적으로 동일한 오브젝트에 속하지만, 급격한 세기 변화들은 통상적으로 오브젝트 경계들을 나타낸다. 깊이 필드는 부분적으로 평활하고, 깊이의 불연속성은 이미지 세기의 불연속성을 반영하는 것으로 가정될 수도 있다.
깊이 추정을 위한 또 다른 기술은 이미지 세분화와 관련된다. 비디오 프레임들은 먼저 몇몇 오브젝트들로 세분될 수도 있다. 그 후에, 이러한 세그먼트들에는 모션 및 블러 현상과 같은 큐들에 기초하여 상이한 깊이 값들이 할당될 수 있다. 이미지 세그먼트들의 깊이 추정은 통상적으로 픽셀-기반의 추정들과 비교하여 더 일관된 깊이 맵들을 달성하지만, 계산 복잡도는 증가할 수도 있다. 일부 경우에, 이미지 세분화는 자체적으로 문제들을 발생할 수도 있다. 예를 들어, 고 레벨의 텍스처를 갖는 영역들을 포함하는 몇몇 장면들은 세분하기가 매우 어려울 수도 있다. 이미지 세분화는 또한 컬러 변화, 예컨대 동일한 오브젝트들의 루미넌스 변화들을 경험할 수도 있다. 이 경우에, 하나의 오브젝트에 대하여 몇몇 서로 다른 세그먼트들이 획득될 수도 있고, 하나의 오브젝트의 부분들은 서로다른 세그먼트들 및 서로 다른 깊이들로 분류될 수도 있다. 이 경우에, 세분화는 열악한 깊이 추정을 발생할 수 있다.
컬러 세기 값들에 따라 하나의 이미지를 몇몇 동종의 영역들로 분할하는 대신에, 컬러 세기 값들 (예컨대, 크로마 값들) 은 또한 깊이 추정에서 직접 이용될 수도 있다. 특정 컬러 공간들에서 그 성분들로부터의 깊이 추정에 있어 한가지 가능한 장점은 간단함이다. 크로미넌스 (크로마) 성분들은 통상적으로 동일한 오브젝트들에 속하는 픽셀들에 대하여 매우 평활하다. 세분화-기반의 깊이 추정과 비교할 때, 컬러 성분들로부터 직접 생성된 깊이 맵들은 통상적으로 오브젝트 형상을 보존하며, 따라서 더 양호한 공간적 일관성을 제공할 수도 있다. 추정된 깊이 값들이 실제 깊이에 비해 부정확한 경우에도, 합성된 스테레오 쌍들은 몇몇 레벨의 원하는 3D 효과를 제공할 수 있다.
예컨대, 2D - 3D 컨버전 유닛 (79) 에 의해 수행되는 뷰 합성 프로세스는 임의의 뷰 각도로 뷰를 생성하기 위해 고밀도로 (densely) 샘플링된 뷰들을 필요로 하는 샘플링 문제로서 간주될 수도 있다. 그러나, 실제 애플리케이션들에서, 고밀도로 샘플링된 뷰들에 의해 요구되는 저장 또는 전송 대역폭은 실현되기에 너무 클 수도 있다. 저밀도로 샘플링된 뷰들에 대한 뷰 합성 알고리즘들은 3D 랩핑 (wraping) 에 기초할 수도 있다. 3D 랩핑에서, 깊이와 카메라 모델이 제공될 때, 기준 뷰의 픽셀 u1 은 2D 카메라 좌표로부터 세계 좌표의 한 점으로 다시 투영될 수도 있다. 그 후에 그 포인트는 투영되는 축을 따라 목적지 뷰 (생성될 가상 뷰) 로 투영될 수도 있다. 이 경우에, 재투영된 픽셀 위치는 u2 로 정의될 수도 있고, 2 개의 픽셀들 (u1 및 u2) 은 동일한 오브젝트의 상이한 투영들에 대응할 수도 있다. 이 경우에, u1 및 u2 는 동일한 컬러 세기들을 가지는 것으로 예상된다.
카메라 모델은 뷰 합성에서 이용될 수도 있다. 일 예는 이른바 "핀홀" 카메라 모델이다. 핀홀 카메라 모델은 내부 및 외부 메트릭들에 의해 파라미터화될 수도 있고, 세계 좌표들로부터 카메라 이미지 평면 좌표들로의 변환을 설명하는데 이용될 수 있다. 간략함을 위해, 언급되는 좌표 시스템들 모두는 3D 세계 좌표들, 3D 카메라 좌표들 및 2D 이미지 평면 좌표들을 포함하며, 직교하는 것으로 가정될 수도 있다.
4×4 외부 행렬
Figure pct00007
은 세계 좌표들에서 카메라 센터의 위치 및 카메라 방위를 정의할 수도 잇고, 여기서 R 은 3×3 회전 행렬이고, t 는 3×1 평행 이동 벡터 (translation vector) 이다. 세계 좌표들 (xw, yw, zw)T 로부터 카메라 좌표들 (x, y, z)T 로의 변환은 하기와 같이 기재될 수 있고:
Figure pct00008
여기서 윗 첨자 T 는 벡터 전치 연산을 나타낸다.
카메라 좌표 시스템에서, z 축은 주축으로 불릴 수도 있다. 카메라 평면은 주축과 수직하는 평면이고, 카메라 좌표들에서 (0,0,f)T 를 통과하며, 여기서 f 는 카메라 초점거리이다. 주점은 주축이 이미지 평면과 만나는 점으로 정의된다.
내부 파라미터는 카메라 좌표들(x, y, z)T 로부터 이미지 평면 좌표들 (u, v)T 로의 변환을 명시한다. 핀홀 카메라 모델로부터, 주점이 이미지 평면 원점 (origin) 과 일치한다면,
Figure pct00009
은 참이며, 상기 식은 하기와 같은 동등한 표현으로 기재될 수 있다:
Figure pct00010
상기 식들로부터, 하기와 같이 세계 좌표 시스템으로부터 이미지 평면으로의 변환을 유도할 수 있다:
Figure pct00011
주된 (principal) 오프셋이 존재하는 경우에, 주점은 더 이상 이미지 평면 좌표 원점이 아니지만, 이미지 평면 좌표들에서 (px, py)T 가 될 수도 잇다. 내부 카메라 행렬
Figure pct00012
은 더 복잡할 수 있다. 주된 오프셋, x 및 y 축들을 따라 fx 및 fy 에 의해 정의되는 상이한 초점거리, 및 카메라 스큐 (skew) 인자를 고려할 때, 행렬
Figure pct00013
은 하기와 같이 표현될 수도 있다:
Figure pct00014
간략함을 위해, 스테레오 비디오에서, 2 개의 카메라들이 세계 좌표들에서 동일한 방위들을 가지고, 이 카메라들 중 하나는 세계 좌표 원점에 위치하며, 즉 R 1 = R 2 = I 이고, t 1 = 0 이라고 가정할 수도 있다. x 축을 따라 2 개의 카메라들 사이에 오직 한 번의 평행 이동 (translation) 이 발생하며, 따라서 t 2 = (tx, 0, 0)T 라고 가정하자.
만약 2 개의 카메라들이 fx = fy = f, Skew = 0 및 px = py = p 인 동일한 내부 파라미터들
Figure pct00015
을 갖는다면, 2 개의 픽셀들은 이미지 평면 좌표들의 u 축을 따라 서로 달라질 수 있다. 전술된 식들에 기초하여,
Figure pct00016
Figure pct00017
따라서,
Figure pct00018
이며, 여기서 u2-u1 은 깊이 zw 와 반비례하는, 이른바 디스패리티 (disparity) 이다. 하나의 픽셀 위치 u1 와 깊이 zw 가 주어질 때, 3D 랩핑은 간단히
Figure pct00019
의 계산식으로서 정의될 수 있고, 여기서 f 및 tx 는 공지된 카메라 파라미터들이다. 목적지 가상 뷰 상에서 투영 위치 u2 가 결정된 후에, 픽셀 u2 의 컬러 세기는 기준 뷰로부터의 픽셀 u1 과 동일한 값으로 세팅될 수 있다.
뷰 합성에서, 2 이상의 뷰가 참조들로 고려될 수 있다. 그러나, 단 하나의 기준 뷰가 존재하는 경우에도, 2 이상의 픽셀이 동일한 이미지 픽셀 u2 로 투영될 수 있다. 이 경우에, 참조 픽셀들 또는 최소 깊이 값을 가지는 픽셀의 가중된 평균은 픽셀 u2 을 합성하기 위해 이용될 수 있다. 추가로, 교합 (occlusion) 현상으로 인해 기준 뷰 또는 뷰들로부터 어떤 픽셀도 u2 로 투영되지 않는 경우가 존재한다. 이 경우에, 홀이 존재하며 홀 필링 기술들은 이웃하는 픽셀들로부터 u2 에 대한 세기 값들을 구성하는데 이용될 수도 있다.
깊이 추정에서 깊이 값들의 한가지 현실적인 문제는 깊이 값들이 8 개 비트들이 이용되는 0 부터 255 까지의 깊이 값 v 범위와 같은 동적 범위 내에서 통상적으로 표현된다는 것이다. 이 경우에, 0 은 최대 깊이를 나타낼 수 있고, 255 는 가장 가까운 깊이를 나타낼 수도 있다. 본 명세서에서 사용되는 어구 "깊이 값" 은 오브젝트 깊이 z 의 이러한 8 비트 표현을 지칭할 수도 있지만, 다른 비트 사이즈들이 이용될 수도 있다. v = 255 의 최대 깊이 값은 최소 깊이 znear, 즉 카메라로의 최인접 거리인 깊이에 대응할 수도 있지만, 최소 깊이 값 v = 0 은 최대 깊이 zfar, 즉 카메라로의 최대 거리인 깊이를 나타낸다. 일부 통상적인 깊이 값 맵핑들은 하기와 같다:
Figure pct00020
또는
Figure pct00021
3D 비디오 포맷을 지원하기 위해, JVT (Joint Video Team) 및 MPEG (Motion Picture Experts Group) 는 다수의 표준들 및 특징들을 도입하였다. 일부 경우에, 본 개시물의 기술들은 이러한 JVT 및 MPEG 표준들 또는 특징들과 호환가능할 수도 있거나, 다른 타입의 시스템들에서 사용될 수도 있다. MPEG-2 에서, 좌측 뷰와 같은 하나의 뷰는 감소된 프레임 레이트 (예컨대, 초당 15 프레임 (fps)) 로 코딩될 수도 있고, 다른 뷰는 더 높은 프레임 레이트 (예컨대, 초당 30 프레임 (fps)) 를 요구하는 시간 확장 계층으로서 코딩될 수도 있다.
H.264/AVC 에서, 스테레오 비디오 보충 강화 정보 (SEI) 메세지는 하나의 비트스트림 내에 2 개의 뷰들이 배열되는 방식을 나타내기 위해 사용될 수 있다. 2 개의 뷰들은 교번하는 프레임들 또는 상보적 필드 쌍들일 수도 있다. 2 개의 뷰들이 교번하는 프레임들일 때, 그들은 시간 인터리빙 모드로 정렬된다. 2 개의 뷰들이 상보적 필드 쌍들인 경우에, 2 개의 뷰들로부터의 이미지 쌍은 실제로 하나의 픽처에서 로우 (row) 인터리빙된다. 본 개시물의 기술들이 인코더에 의해 깊이 맵들을 생성하고 2차 뷰들을 합성하기 위해 수행되는 경우, 그러한 2차 뷰는 SEI 메세지들의 이용을 통해 H.264/AVC 에 따라 인코딩되고 통신될 수 있다. 다른 경우에, 깊이 맵들은 비트 스트림에서 통신될 수 있다. 다른 경우에, 인코더 보다는 디코더가 본 개시물에서 설명되는 깊이 맵 생성 기술들을 수행할 수 있다.
JVT 는 또한 시간 인터리빙 및 로우 (row) 인터리빙으로부터의 2 개의 뷰들의 지원을 더 유동적인 공간 인터리빙 모드들로 확장시킬 수 있는 공간 인터리빙 픽처 SEI 메세지를 채용하고 있다. 로우 인터리빙에 부가하여, SEI 메세지는 또한 이미지 쌍의 배열을 나란히, 위 아래로, 컬럼 인터리빙으로, 또는 체커보드 패턴으로 지원할 수도 있다. H.264/AVC 에서 상기 SEI 메세지들은 3D 입력이 2D 비디오 시퀀스인 것처럼 허용될 수 있는 경우를 지원할 수도 있다. SEI 메세지는 2 개의 뷰들이 인터리빙되어 디스플레이가 디코딩된 비디오 시퀀스를 2 개의 뷰들로 구분할 수 있는 방식을 디코더 또는 렌더러에 제시하는데 이용될 수도 있다. 이러한 경우로의 입력은 2 개의 뷰들에 의해 표현되는 3D 입력을 포함할 수도 있다.
H.264/AVC 의 확장으로서, 멀티뷰 비디오 코딩 (MVC) 은 3 이상의 뷰들의 코딩을 지원하며, 인코더가 깊이 맵들을 생성하고 뷰 합성을 수행하는 예들과 일치할 수도 있다. MVC 예측은 각각의 뷰 내의 인터-픽처 예측과 인터-뷰 예측 양자를 포함할 수도 있다. MVC 는 H.264/AVC 디코더들에 의해 디코딩될 수 있는, 이른바 기본 뷰를 포함할 수도 있으며, 2 개의 뷰들은 또한 MVC 에 의해 지원될 수 있다. MVC 의 장점은 MVC 가 3D 비디오 입력과 같은 3 이상의 뷰들이 이용되는 케이스를 지원할 수 있고, 다수의 뷰들에 의해 표시되는 이 3D 비디오를 디코딩하는 것이다. SEI 메세지들을 이용하는 H.264/AVC 에서와 같이, MVC 는 통상적으로 깊이 맵들을 이용하지 않는다.
MPEG 는 또한 MPEG-C, 파트 3 에서 정규 비디오 스트림에 대하여 깊이 맵을 부가하기 위한 포맷을 명시한다. 이 규격은 하기에서 설명된다:
Figure pct00022
MPEG-C 파트 3 에서, 이른바 보조 비디오는 깊이 맵 또는 시차 (parallax) 맵 일 수 있다. 깊이 맵을 표시할 때, MPEG-C 파트 3 는 깊이 맵의 각각의 깊이 값 및 해상도를 표시하기 위해 이용되는 비트 수와 관련하여 융통성을 제공한다. 그러나 MPEG-C 파트 3 는 깊이 맵을 생성하는 방식을 명시하지 않는다.
MPEG 비디오 서브그룹에서, MPEG-C 파트 3와 유사한 애플리케이션 시나리오를 연구하는 3DV EE (Exploration Experiments in 3D Vedio Coding) 이 존재한다. 각각의 뷰에 대한 깊이 맵들을 포함하기 위해 이러한 애플리케이션들이 유용할 수도 있다. 깊이 추정 및 뷰 합성은 3DV EE 의 애플리케이션에 매우 유용할 수도 있다. 일부 경우에, 비디오 콘텐츠는 멀티-카메라 시스템에 의해 캡처될 수 있고, 깊이 맵들이 생성되어 뷰들 중 하나의 인코딩된 버전과 함께 전송될 수 있다. 이 경우에, 뷰 합성은 전송되지 않는 더 많은 뷰들을 생성하기 위해 디코딩된 디바이스에서 이용될 수도 있다. 통상의 3D 비디오 통신 시스템은 인코딩 디바이스에서 로우 데이터를 캡처하고 인코딩하며, 2D 시퀀스와 함께 전송할 깊이 맵들을 생성하며, 따라서 3D 시퀀스는 디코더 디바이스에서 생성될 수 있다.
포착 시스템들은 하나의 카메라 캡처 시스템들 또는 카메라 어레이들을 포함할 수도 있거나, 심지어 깊이 맵들을 생성할 수 있는 디바이스들과 연관될 수도 있다. 일반적으로, 비디오 캡처는 하기의 사항들 중 하나로 카테고리화될 수도 있다:
정상적으로 3D 콘텐츠를 제공하지 않는 2D 비디오 캡처.
스테레오스코프 (stereoscopic) 비디오를 제공하는 2 개의 카메라 시스템들.
멀티 뷰들을 캡처하는 카메라 어레이 시스템들.
하나의 뷰를 캡처하고, 깊이를 캡처하거나 합성하는 시스템들.
다른 시스템들은 깊이 정보를 직접 캡처하거나 3D 모델을 생성할 수도 있다.
3D 렌더링을 위해 사전 프로세싱이 또한 수행될 수도 있다. 3D 사전 프로세싱은 인코딩에 유익할 수 있는 잡음 추정 및 장면 검출과 같은 통상의 프로세싱 기술들을 지칭하지 않는다. 대신에, 3D 사전 프로세싱은, 3D 비디오 콘텐츠의 일부로서 코딩될 수도 있는 깊이 맵들의 생성을 지칭할 수도 있다. 이러한 3D 사전 프로세싱은 하나의 캡처된 뷰에 대한 하나의 깊이 맵 또는 몇몇 뷰들에 대한 몇몇 깊이 맵들을 생성할 수도 있다. 깊이 맵은 일 시퀀스의 각각의 비디오 프레임과 연관될 수도 있다. 인코더는 하나 이상의 뷰들 및 깊이 맵들을 인코딩할 수도 있고, 깊이 및 텍스처를 공동으로 코딩할 수 있는 H.264/AVC, MVC 또는 심지어 SVC 와 같은 비디오 코딩 표준들로 이들을 코딩할 수도 있다.
비디오 콘텐츠가 렌더링 디바이스에서 수신되면, 임의의 경우에, 대응하는 깊이 맵들과 함께 하나 이상의 뷰들로 디코딩되고 복원될 수 있다. 깊이 맵들의 디코딩 이후에, 뷰 합성 알고리즘은 전송되지 않는 다른 뷰들에 대한 픽셀 값들을 생성하기 위해 렌더링 디바이스에서 실행될 수도 있다. 정규 3D 디스플레이들은 2 개의 뷰들 또는 다수의 뷰들을 렌더링한다. 높은 프레임 레이트의 비디오들을 디스플레이할 수 있는 일부 2D 디스플레이들은 또한 입체 안경의 도움으로 3D 디스플레이로서 이용될 수 있다. 편광 (Polarization) 은 2 개의 뷰들을 출력으로서 제공할 수 있는 3D 디스플레이 기술의 일 예이다. 일부 디스플레이들 또는 3DTV들이 입력의 일부로서 깊이를 처리하도록 구성될 수도 있지만, 출력으로서 2 이상의 뷰들을 생성하는 "뷰 합성" 모듈이 여전히 존재할 수도 있다.
깊이 맵-기반의 2D - 3D 비디오 컨버전에 대하여, 문제들은 깊이 맵 정확성 및 계산 복잡도를 포함할 수도 있다. 깊이 추정의 정확성은 가상 뷰 합성에 있어 중요하다. 정확하지 않은 깊이 맵들은 합성된 가상 뷰들에서 곤란한 아티팩트들, 로컬 변형들 및 플리커링을 발생할 수도 있다. 이러한 아티팩트들은 스테레오스코프 경험을 극적으로 저하시킬 수 있다. 다른 한편으로, 정확한 깊이 맵들은 통상적으로 높은 계산 복잡도로 획득된다. 유감스럽게, 일부 디바이스들에 대하여, 계산적으로 집약적인 연산들이 유용하지 않을 수도 있다. 성공적인 깊이 추정 알고리즘을 위해, 깊이 정확성과 깊이 추정 계산 복잡도 사이의 균형이 신중하게 고려되어야 한다.
본 개시물의 기술들은 깊이 정확성과 계산 복잡도 사이에 양호한 균형을 제공할 수도 있다. 이러한 기술들은 DIBR 기반의 뷰 합성 2D - 3D 컨버전 시스템에서 유용할 수도 있다. 본 개시물은 각 프레임에서 픽셀들의 2D 비디오 시퀀스 및 컬러 성분들의 공동으로 이용하는 모션 정보에 기초하는, 상대적으로 낮은 복잡도의 깊이 추정 알고리즘을 제공할 수도 있다.
더욱 상세하게, 깊이 값들은 먼저 오브젝트 모션들로부터의 선형 맵핑에 의해 초기화될 수도 있다. 하이 모션 픽셀들에는 더 큰 모션 값들이 할당될 수도 있다. 로우 모션 픽셀들에 대하여, 깊이 값들은 픽셀 컬러 세기들로부터 직접 맵핑될 수 있다. 픽셀 컬러 정보로부터의 맵핑은 로우 모션 픽셀들에 대한 깊이 값들이 항상 더 하이 모션 픽셀들에 대한 깊이 값들보다 작도록 선택될 수 있다. 결과적으로, 깊이 사후 프로세싱 및 시간 방향에 따른 전파는 더 평활하고 일정한 깊이 맵을 보장하는 것을 돕도록 적용될 수 있다. 일반적으로, 본 명세서에서 설명되는 깊이 추정 기술들은 상대적으로 낮은 복잡도로 이루어질 수도 있고, 스테레오스코프 디바이스들에 대한 몰입형의 3D 경험 능력을 제공한다.
상대적으로 낮은 복잡도의 깊이 추정 기술들은 실시간 2D - 3D 비디오 컨버전에 적용될 수도 있다. 다시 말해서, 이 기술들은 깊이 초기화를 위한 모션 및 컬러 큐들을 이용할 수도 있다. 그 후에, 연속하는 비디오 프레임들의 깊이 맵들은 시간적인 일관성을 위해 사후 프로세싱될 수 있다.
도 5 는 본 개시물과 부합하는 깊이 맵 초기화를 위한 예시적인 프로세스를 예시한 흐름도이다. 도 5 의 프로세스는, 예컨대 도 2 및 도 3 을 참조하여 설명되는 것과 같이 인코더 또는 디코더에 의해 수행될 수 있다. 예를 들면, 프로세스는 비디오 인코더 (50) 의 깊이 맵 생성 유닛 (36) 또는 비디오 디코더 (70) 의 깊이 맵 생성 유닛 (77) 에 의해 수행될 수도 있다. 간략함을 위해, 도 5 의 프로세스는 비디오 디코더 (70) 의 깊이 맵 생성 유닛 (77) 의 관점에서 설명될 것이다.
도 5 에 도시된 것과 같이, 깊이 맵 생성 유닛 (77) 은 이전 프레임 n-1 (502) 의 데이터에 기초하여 프레임 n (501) 에 대한 모션을 계산 (503) 함으로써 시작한다. 그 후에, 추정된 모션 값들은 프레임 n 내의 각각의 픽셀에 초기 깊이 값들을 할당하는데 이용될 수도 있다 (505). 한편, 컬러 성분은 프레임 n 의 픽셀 세기들로부터 추출될 수도 있다 (504). 픽셀 모션들로부터의 깊이 값들에 대체 기준 (replacement criterion) 이 적용될 수 있다. 특히, 모션에 기초하는 할당된 깊이 값이 임계치 이상이면 (506 에서 "예"), 할당된 깊이 값은 그러한 하이 모션 픽셀들에 대한 깊이 맵에서 이용될 수도 있다 (507). 그러나, 모션에 기초하는 할당된 깊이 값이 임계치 미만이면 (506 에서 "아니오"), 할당된 깊이 값은 컬러에 기초하는 깊이 값으로 대체될 수도 있고 (508), 대체된 깊이 값은 로우 모션 픽셀들에 대한 깊이 맵에서 이용될 수도 있다 (509). 깊이 맵 결합 (510) 은 일 프레임의 하이 모션 픽셀들에 대한 초기화된 깊이 값들과 일 프레임의 로우 모션 픽셀들에 대한 대체된 깊이 값들을 결합하는, 초기화된 깊이 맵을 형성하는 프로세스이다. 따라서, 최종 깊이 맵은 모션에 기초하여 정의된 일부 깊이 값들과 컬러에 기초하여 정의된 다른 깊이 값들을 포함할 수도 있다.
다시 말해서, 임의의 로우 모션 (고정형) 픽셀들에 대하여, 모션에 기초하여 생성된 깊이 값들은 픽셀 컬러 성분들로부터 결정된 깊이 값들로 대체될 수도 있다 (508). 그 후에, 깊이 결합 (510) 은 2 가지 타입의 픽셀들의 깊이 값들을 전체 프레임에 대한 하나의 깊이 맵으로 통합한다. 결과적으로, 원하는 경우에, 결합된 깊이 맵은 더 공간적으로 일관된 깊이를 생성하기 위해 사후 프로세싱될 수도 있다 (511). 예컨대, 사후 프로세싱 (511) 은 깊이 값들이 공간적으로 일관되도록 보장하기 위해 필터링 또는 다른 타입의 프로세싱을 포함할 수도 있다. 도 5 의 출력 (512) 은 하기에서 더 상세히 논의되는 것과 같이 완성된 깊이 맵을 생성할 때 깊이 맵 생성 유닛 (77) 에 의해 이용될 수 있는, 초기화된 깊이 맵을 포함할 수도 있다.
픽셀-기반의 연속하는 프레임 차이들은 간단하기 때문에 모션을 계산 (503) 하는데 이용될 수도 있다.
Figure pct00023
는 픽셀 위치를 표시하고, 여기서 u 및 v 는 각각 이미지 평면 수평 및 수직 축들을 나타낸다고 하자. 픽셀 i 에서 프레임 n 의 컬러 세기 값 (예컨대, 루마 값) 이 Ln ,i 이면, 그 대응하는 모션 값은 픽셀 i 에서 프레임 n 과 프레임 n-1 사이에 컬러 세기 (루마 "L") 차이의 절대값인,
Figure pct00024
로서 정의될 수도 있다.
컬러 세기 L 는 임의의 컬러 공간의 세기 값을 나타낸다. 세기 값 L 은 대안적인 컬러 세기 값들이 이용될 수 있음에도 YUV 컬러 공간의 "Y" 또는 루미넌스에 대응할 수도 있다. YUV 컬러 공간에서, Y 는 루미넌스를 나타내고, U 및 V 는 크로미넌스의 차이 값들을 나타낸다. 변수들 "L", "cr" 및 "cb" 은 또한 루미넌스 "L" 와 2 개의 상이한 크로미넌스 값들 "cr" 및 "cb" 을 나타내는데 이용될 수도 있다. 크로미넌스 값 차이들 또는 가중 평균 컬러 성분 차이들은 또한 모션을 정의하는데 이용될 수 있다. 상기 식은 루마 차이들의 스칼라 값들에 기초하여 모션을 정의함으로써 간단함에 있어 장점들을 가질 수도 있다. 이 경우에, 모션은 실제 수평 및 수직 오브젝트 변위들을 나타내는 것이 아니라 적은 양의 오브젝트 변위를 반영할 수도 있다. 이는 더 큰 컬러 차이들이 통상적으로 더 큰 변위를 나타내는 반면, 매우 작은 컬러 차이들은 상대적으로 고정된 픽셀들에서 더 자주 발생하기 때문이다.
대안적으로, 예컨대, 디코딩 프로세스 동안 압축된 비트스트림들로부터 직접 획득된 블록-레벨 모션 벡터들은 입력 소스가 압축된 비디오인 경우에 실시간 2D - 3D 비디오 컨버전 프레임워크에서 이용될 수 있다. 이 경우에, 픽셀 i 에 대하여, 디코더로부터의 모션 벡터는
Figure pct00025
라고 추정하자. 이 경우에, 깊이 할당을 위해 이용된 모션 값은 2-놈 (norm) 의 모션 벡터, 즉,
Figure pct00026
로서 정의될 수 있다.
블록-레벨 모션 맵들은 뷰 합성을 위한 깊이 값들로 맵핑되기 전에 픽셀-레벨 모션들로 보간될 (interpolated) 수도 있다.
모션 값들을 획득한 후에, 모션 값 mn , i 으로부터 깊이 값 dn , i 으로의 맵핑
Figure pct00027
이 정의될 수도 있다. 통상적으로 더 큰 모션이 더 인접한 오브젝트들과 관련된다는 가정에 따라, 맵핑은 구간 [mmin, mmax] 으로부터 [df min, df max] 으로의 맵핑으로 정의될 수도 있다. 따라서,
Figure pct00028
이고, 상기 mmax 및 mmin 은 비디오 시퀀스에 대한 최대 및 최소 모션 값들을 나타내는 상수들이고, df max 및 df min 은 맵핑 이후에 최대 및 최소 깊이 값들에 대응하는 상수 값들이다.
mmax, mmin, df max 및 df min 의 상수 값들은 시간적으로 일관된 깊이 맵들을 획득하기 위해 하나의 비디오 시퀀스 내의 모든 프레임들에 대하여 이용될 수도 있다. 이러한 상수들의 통상의 값들은 mmax = 255, mmin = 0, df max = 255 및 df min = 64 이다. df min 의 값은 이 예에서 0 으로 세팅되지 않는다.
도 5 의 단계 (510) 에 나타나는 것과 같은 사전 프로세싱은 평활화 및 중간값 필터링을 포함할 수도 있다. 중간값 필터링에서, 각각의 픽셀 i 에 대하여, 모션 값들 세트 {mn ,j} 의 중간값은 최종 모션 값들로 세팅될 수도 있고, 여기서 j∈W 는 픽셀 i 의 이웃 픽셀들에 대응한다. 이웃 픽셀들 W 은 픽셀 i 주위의 임의의 직사각형과 같은 형태들로 선택될 수도 있다. 중간값 필터링은 모션 값들의 원하지 않는 잡음을 제거하는데 이용될 수도 있다. 이러한 방식으로, 필터링은 전술된 방식으로 획득된 깊이 값들이 이웃 픽셀들의 깊이 값들보다 더 평활하고 더 일관되게 하기 위해 이용될 수도 있다.
모션 값들을 깊이들로 맵핑할 때, 최대 모션 값은 카메라로의 가장 가까운 거리 (예컨대, 깊이 값 df max) 로 맵핑될 수도 있다. 제로 (0) 의 모션을 갖는 픽셀들은 카메라로부터 가장 먼 거리 (깊이 값 df min) 를 가지는 것으로 간주될 수도 있다. 이 경우에, 장면 내의 고정된 오브젝트들에 대하여, 오브젝트들이 캡처된 장면에서 카메라로부터 실제로 얼마나 멀어지는지는 중요하지 않다. 대신에, 고정된 오브젝트들은 최대 깊이를 가지는 것으로 간주된다. 이러한 단점을 극복하기 위해, 본 개시물의 기술들은 모션 값들로부터의 깊이 맵핑 이후에 깊이 값 대체들을 이용할 수도 있다.
도 5 에 도시된 것과 같이, 모션 값 df n ,i 이 임의의 임계치 Tm 보다 작거나 동일할 때 (506 에서 "아니오") 대체가 발생한다. Tm 은 양호한 깊이 맵 생성을 발생하는 값을 가지도록 미리 정의될 수도 있고, 다양한 비디오 코딩 시뮬레이션들을 고려한 후에 선택될 수도 있다. 조건이 만족되면 (예컨대, df n ,i 가 Tm 보다 크면), df n ,i 는 dg n , i 로 대체될 수도 있고 (508), 여기서,
Figure pct00029
이 경우에, dg n ,i 는 컬러 성분들에 기초하는 깊이 값을 나타낸다. Cn ,i 는 소정의 위치에 대한 크로마 값을 나타내고, Cmax 및 Cmin 는 비디오 시퀀스에서 최대 및 최소 컬러 크로마 값들을 나타내는 상수들을 포함할 수도 있다.
함수 g(?) 는 구간 [0, Tm] 에서 컬러 값들을 깊이 값으로 맵핑하는데 이용될 수도 있다. 고정된 오브젝트들에 대응하는 픽셀들에 대하여, 모션 값 mn ,i 은 0 일 수도 있고, 깊이 값은 df n ,i = df min 일 수도 있다. 임계치 Tm 는 일부 예들에서 df min 으로 세팅될 수도 있다. 그러나, 약간의 조명 변화들로 인해, 고정된 픽셀의 컬러 세기는 프레임 n-1 으로부터 프레임 n 으로 변화할 수도 있다. 이러한 이유로, 일부 예들은 임계치 Tm 에 대하여 약간 더 큰 값을 구현할 수도 있다.
본 개시물에 따라, 모션
Figure pct00030
에 기초한 깊이 값들을 만족하는 모든 픽셀들은 범위 [0, Tm] 에서 컬러 dg n ,i 에 기초한 깊이 값들로 대체될 수도 있다. 따라서, 대체는 일부 상대적으로 고정된 픽셀들에 대하여 상이한 깊이 값들을 할당할 수도 있다. 일부 컬러 정보는 깊이 맵의 초기화로서 이용될 수도 있다. 본 개시물은 컬러에 기초한 깊이 값들에 대한 YUV 컬러 공간의 크로미넌스 값들 Cr 의 이용을 고려하지만, 대안적인 솔루션들은 RGB 컬러 공간의 R 성분, YUV 공간의 Cb 성분 및 L*a*b 컬러 공간의 a 또는 b 성분들을 포함할 수도 있다.
본 개시물에 따라, 모션에 기초한 초기 깊이 값들을 할당하는 것은 이전 비디오 유닛의 공동-위치된 픽셀들의 루마 값들에 대하여 비디오 유닛의 픽셀들의 루마 값들에 기초하여 초기 깊이 값들을 할당하는 것을 포함할 수도 있고, 컬러에 기초하여 조정된 깊이 값들을 할당하는 것은 비디오 유닛의 픽셀들의 크로마 값들에 적어도 부분적으로 기초하여 조정된 깊이 값들을 할당하는 것을 포함한다. 앞서 식들과 부합하여, 조정된 깊이 값들을 할당하는 것은 허용되는 구간의 크로마 값들의 내의 크로마 값들을 제로와 임계치 사이의 깊이 값들로 맵핑하는 것을 포함할 수도 있다.
본 개시물의 기술들은 컬러 세기들의 평활화를 이용할 수도 있고, 고정형 픽셀들에 대하여 깊이 값들을 할당하기 위해 이를 이용할 수도 있다. 본 명세서에 정의된 선형 맵핑들이 고정형 픽셀들에 대한 실제 깊이 정보를 나타내는 것은 아닐수도 있지만, 맵핑들은 원하는 3D 효과를 달성하는 일부 "지각과 관련된 (perceptual)" 깊이를 제공할 수도 있다. 컬러 세기들의 깊이 값 범위 [0, Tm] 로의 선형 맵핑들은 그 픽셀들의 깊이 값들이 항상, 상당한 모션과 연관된 픽셀들의 깊이 값들보다 작을 것을 보장한다.
컬러 성분 추출에 관한 다른 실질적인 구현 문제는 컬러 성분 추출이 예측 유닛 (35) 또는 예측 유닛 (75) 의 보간 절차와 통합될 수도 있다는 점이다. 비디오 애플리케이션들에서, YUV 4:2:0 의 순차적인 포맷이 통상적으로 이용된다. YUV 4:2:0 의 순차적인 포맷에 대하여, 비디오 데이터는 n1×n2 의 사이즈를 갖는 Y 성분을 포함할 수도 있고,
Figure pct00031
의 사이즈를 갖는 Cb 및 Cr 성분들, 즉 크로미넌스 성분들은 수평 및 수직 양자의 방향들을 따라 2 의 인자로 서브 샘플링된다. 본 개시물의 기술들이 컬러 추출에서 크로미넌스 Cr 를 이용할 수도 있기 때문에,
Figure pct00032
Cr 성분은 깊이 추정을 위해 각각의 프레임에 대하여 n1×n2 의 분해능으로 업샘플링되어야 할 수도 있다.
깊이 맵 초기화는 모션 정보와 컬러 정보 양자를 추정한 후에 획득될 수도 있다. 프레임 n 에서 픽셀 i 에 대한 깊이 값은,
Figure pct00033
로서 표현될 수도 있다.
더 공간적으로 평활하고 일관된 깊이 맵들에 대하여, 깊이 값 dn , i 의 사후 프로세싱 (511) 이 수행될 수도 있다. 전술된 것과 같은 중간값 필터링 및 블러링 (blurring) 필터링은 사후 프로세싱에 적용될 수도 있다. 가우시안 평활화는 특정 윈도우 W 내에 적용될 수도 있다. 깊이 값 dn , i 의 사후 프로세싱 동안 가우시안 필터링을 위해 이용될 수도 있는 1D 가우시안 커널 (Gaussian kernel) 의 일 예는:
Figure pct00034
에 의해 제공될 수도 있고, 여기서 x 는 입력 값이고, g(x) 는 가우시안 필터 함수 값이고, σ2 는 깊이 값들의 분산이다. 이러한 가우시안 필터링은 각각 u 및 v 방향들에서 서로 다른 분산들 σ2 u 및 σ2 v 과는 별개로 u 및 v 방향들에서 이미지 평면에 적용될 수도 있다.
도 6 은 본 개시물의 하나 이상의 기술들과 부합하는 완성된 깊이 맵을 생성하는 프로세스를 예시한 흐름도이다. 도 6 의 프로세스는 인코더 또는 디코더에 의해 수행될 수 있다. 예를 들면, 상기 프로세스는 비디오 인코더 (50) 의 깊이 맵 생성 유닛 (36) 또는 비디오 인코더 (70) 의 깊이 맵 생성 유닛 (77) 에 의해 수행될 수도 있다. 간략함을 위해, 도 6 의 프로세스는 비디오 디코더 (70) 의 깊이 맵 생성 유닛 (77) 의 관점에서 설명될 것이다.
도 6 에 도시된 것과 같이, 깊이 맵 생성 유닛 (77) 은 2D 좌측 뷰 (601) 에서 시작한다. 도 6 의 기술은 결국 대응하는 우측 뷰를 생성하기 위해 이용될 수 있는 깊이 맵을 정의할 수도 있다. 물론, 초기 뷰는 대안적으로 우측 뷰일수 있고, 이 때, 깊이 맵은 좌측 뷰를 생성하는데 이용된다.
깊이 초기화 (602) 는 궁극적으로 초기화된 깊이 맵 (603) 을 생성하는 도 5 의 프로세스와 대응할 수도 있다. 그러나, 도 6 에 따라, 깊이 맵 생성 유닛 (77) 은 궁극적으로 완성된 깊이 맵을 생성하기 위해 초기화된 깊이 맵에 대하여 추가의 기술들을 수행할 수도 있다. 도 6 에 도시된 것과 같이, 깊이 맵 생성 유닛 (77) 은 현재 비디오 프레임이 새로운 장면에 대응하는지 여부를 결정하기 위해 (605), 장면 검출 (604) 을 수행할 수도 있다. 예컨대 현재의 프레임이 장면 변화에 대응하는지 여부를 추정하기 위해 현재 프레임과 이전 프레임 사이에 픽셀 차이들을 정량화함으로써, 이러한 결정들을 수행하기 위해 다양한 기술들이 적용될 수도 있다.
현재 프레임이 장면 변화에 대응한다면 (605 에서 "예"), 가중치 값 w 은 제로 (0) 로 세팅될 수도 있다 (607). 이는 깊이 가중 평균 (610) 에서의 임의의 가중치가 이전 프레임에 제공되지 않을 것을 보장한다. 이 경우에 (새로운 장면이 검출되면), 깊이 맵은 가중된 것으로 정의될 수도 있지만 (610), w=0 이기 때문에, 깊이 맵은 도 5 의 프로세스에서 생성된 초기화된 깊이 맵에 대응할 것이다. 사후 프로세싱이 수행될 수도 있고 (611), 깊이 맵 생성 유닛 (77) 은 2차 뷰 (예컨대, 도 6 의 프로세스로의 입력인, 입력 좌측 뷰에 대응하는 우측 뷰) 를 생성하기 위한 뷰 합성 프로세스에서 2D - 3D 컨버전 유닛 (79) 에 의해 이용될 수 있는 완성된 깊이 맵의 형태로 추정된 깊이 (612) 를 출력할 수도 있다.
현재 프레임이 장면 변화에 대응하지 않으면 (605 에서 "아니오"), 깊이 맵 생성 유닛 (77) 은 프레임이 로우 모션 프레임인지 레귤러 모션 프레임인지 여부를 결정할 수도 있다 (608). 레귤러 프레임은 또한 로우 모션 프레임에 대하여 하이 모션이기 때문에 하이 모션 프레임으로 불릴 수도 있다. 따라서, 로우 모션 및 하이 모션은 전체 프레임의 루마 값들과 이전 프레임의 루마 값들의 상대적인 차이에 기초하여 정의될 수 있는 상대적인 용어들일 수도 있다. 그러나, 프레임이 로우 모션 프레임인지 레귤러 (하이 모션) 프레임인지 여부의 결정은 다른 방식들로 수행될 수 있다.
현재 프레임이 로우 모션 프레임이 아니면 (608 에서 "아니오"), 가중된 깊이 맵 평균이 이용되어, 완성된 깊이 맵은 현재 프레임의 초기화된 깊이 맵과 하나 이상의 선행하는 프레임들의 초기화된 깊이 맵의 가중된 평균일 수도 있다. 가중 인자 w 는 가중된 평균을 증진시키도록 정의될 수도 있다. 가중 인자 w 는 0.5 일 수도 있거나, 현재 프레임의 초기화된 깊이 맵을 이전 프레임에 비하여 더 심하게 가중하기 위해 더 낮은 값이 할당될 수도 있다.
현재 프레임이 로우 모션 프레임이면 (608 에서 "예"), 깊이 최대치가 이용될 수도 있고 (609), 깊이 맵의 각각의 깊이 값은 현재 프레임의 초기화된 깊이 맵과 이전 프레임의 초기화된 깊이 맵 (또는 이전 프레임의 완성된 깊이 맵) 의 대응하는 깊이 값들의 최대치로서 정의된다. 깊이 맵 버퍼 (613) 는 이전 깊이 맵들을 저장하기 위해 깊이 맵 생성 유닛 (77) 에 포함될 수도 있다.
다시 말해서, 초기화된 깊이 값들은 비디오 모션 및 컬러 정보로부터 추정될 수도 있다. 그러나, 전체 시퀀스의 초기화된 깊이 맵들은 시간 방향을 따라 매우 일정하지 않을 수도 있다. 더 양호한 합성된 뷰 품질을 위해, 깊이 맵 일관성은 중요한 역할을 담당할 수도 있다. 도 6 의 기술들은 이러한 깊이 맵 일관성을 보장하는 것을 도울 수도 있다.
도 6 에서, 깊이 맵은 2D의 원래의 비디오 (예컨대, 좌측 뷰 (601)) 의 프레임 n 에 대하여 초기화된다 (602). 한편, 장면 검출 (604) 은 현재 프레임 n 이 새로운 장면에서 시작하는지 여부를 검사하도록 적용될 수 있다. 새로운 장면이 검출되면 (605 에서 "예"), 초기화된 깊이 맵은 사후 프로세싱 (611) 및 뷰 합성 (612) 을 위해 전송된다. 프레임 n 이 새로운 장면을 시작하지 않으면, 프레임 분류 단계가 적용된다. 프레임 분류 절차는 프레임을 로우 모션 프레임 또는 레귤러 프레임으로 분류한다.
프레임이 로우 모션 프레임이면 (608 에서 "예"), 프레임 n 에 대한 깊이 맵 dn 은 프레임 n 및 프레임 n-1 의 각각의 개별 픽셀 i 에 대하여 dn ,i 및 dn -1, i 의 최대값으로 세팅될 수도 있다. 다시 말해서,
Figure pct00035
이다.
그러나, 현재 프레임이 로우 모션 프레임이 아니면 (608 에서 "아니오"), 프레임 n 에 대한 깊이 맵 dn 은 임의의 미리 정의된 가중 인자 "w" 에 의해 가중된, 이전 프레임의 깊이 맵 dn 과 깊이 맵 dn - 1 의 가중된 평균일 수도 있다. 다시 말해서, 현재 프레임이 로우 모션 프레임이 아니면,
Figure pct00036
이다.
사후 프로세싱 (611) 이후에 최종 깊이 맵들은 2D - 3D 컨버전 유닛에 의한 뷰 합성에서 이용하기 위한 깊이 맵 생성 유닛 (77) 으로부터 출력될 수도 있다. 추가로, 프레임 n 에 대한 깊이 맵 dn 의 카피는 이후의 프레임들의 깊이 추정을 위해 깊이 맵 버퍼 (613) 에 저장될 수도 있다. 도 6 의 흐름도에 도시된 깊이 맵 버퍼 (613) 는 깊이 맵 생성 유닛 (77) 내에 포함되거나 깊이 맵 생성 유닛 (77) 에 의해 액세스될 수 있는 구조적인 하드웨어 메모리 엘리먼트일 수도 있다.
장면 검출 기술들은 종종 비디오 트리밍, 비디오 트래킹, 및 장면 분류와 같은 비디오 분석 애플리케이션들에서 이용된다. 인접하는 프레임들의 유사성들이 추정되어 장면 변화 검출 (604) 을 위한 기준들로서 이용될 수 있다. 본 개시물의 기술들은 이러한 접근 방식의 간단함으로 인해 장면 변화들을 검출하기 위해 연속하는 프레임들의 평균 컬러 세기 차이를 이용할 수도 있다. 이 경우에, 2 개의 프레임들 사이의 차이는:
Figure pct00037
로서 정의될 수도 있고, 상기 n1 및 n2 은 각각 이미지 수평축 및 이미지 수직축을 따른 픽셀들의 수이고, Ln ,i 및 Ln -1,i 는 2 개의 연속하는 프레임에 대한 픽셀 위치 i 에서의 루마 값들이다. 만약
Figure pct00038
이 임계치 Ts 보다 크면, 프레임 n 은 새로운 장면의 시작으로 간주될 수도 있다.
본 개시물에 따른 장면 검출의 목표는, 시간적으로 일관된 깊이 맵들의 생성을 돕는 것을 수도 있다. 동일한 장면에 속하는 연속하는 깊이 맵들은 매우 유사한 깊이 값들을 가지는 경향이 있다. 그러나, 각각의 프레임에 대하여 독립적으로 획득되는 깊이 맵들은 시간 방향을 따라 플리커링 (flickering) 문제가 있을 수도 있다. 이전 프레임 깊이 맵 dn -1 은 시간적인 일관성을 개선하기 위해 다음 프레임 깊이 맵 dn 으로 전파될 수도 있다.
연속하는 깊이 맵들 dn 및 dn - 1 의 가중된 평균에 의해 하나의 솔루션이 획득될 수도 있다. 그러나, 매우 느린 모션들을 갖는 장면들에 대하여, 매우 적은 픽셀들에 깊이 값들 df n 이 할당될 수도 있다. 이 경우에, 프레임 n 에 대하여 더 양호한 최종 깊이 맵을 생성하기 위해 깊이 최대치가 이용될 수도 있다. 추가로, 장면 검출과 유사한 방식으로, 본 개시물의 기술들은 로우 모션 프레임 분류를 이용할 수도 있다. 로우 모션 프레임에 대한 기준은 평균 프레임 차이
Figure pct00039
가 임계치 TL 미만인지 여부일 수도 있고, 여기서 TL 은 프레임이 새로운 장면이 아님을 나타내도록 Ts 보다 작지만, 정규 모션 또는 상대적으로 빠른 모션을 나타내는 충분한 차이들을 갖는다.
이전 프레임 dn - 1 의 깊이 맵 일부 또는 전부를 현재 프레임 dn 의 깊이 맵으로 전파한 후에, 더 평활한 깊이 맵들을 생성하기 위해 사후 프로세싱 (611) 이 이용될 수도 있다. 사후 프로세싱 이후, 추정된 깊이 맵은 그 후에 2D - 3D 컨버전 유닛 (79) 에 의해 수행될 수도 있는 뷰 합성에서 이용하기 위해 대기할 수도 있다. 동시에, 깊이 맵의 카피는 깊이 맵 버퍼 (613) 에 저장될 수도 있고, 깊이 맵 버퍼 (613) 는 이후 프레임들에 대한 깊이 맵들을 추정하는데 이용하기 위해 깊이 맵 생성 유닛 (77) 내에 있거나 깊이 맵 생성 유닛 (77) 에 의해 액세스될 수 있다. 버퍼 사이즈는 구현에 의존하여 하나의 이전 깊이 맵 또는 몇몇 이전 깊이 맵들을 수용하도록 설계될 수도 있다.
도 7 은 깊이 맵 초기화 및 완성된 깊이 맵의 생성을 예시하는 흐름도이다. 도 7 의 프로세스는 인코더 또는 디코더에 의해 수행될 수 있다. 예를 들어, 프로세스는 비디오 인코더 (50) 의 깊이 맵 생성 유닛 (36) 에 의해 또는 비디오 디코더 (70) 의 깊이 맵 생성 유닛 (77) 에 의해 수행될 수 있다. 간단함을 위해, 도 7 의 프로세스는 비디오 디코더 (70) 의 깊이 맵 생성 유닛 (77) 의 관점에서 설명될 것이다.
도 7 에 도시된 것과 같이, 깊이 맵 생성 유닛 (77) 은 비디오 시퀀스의 이전 비디오 유닛의 대응하는 픽셀들과 관련된 픽셀들과 연관된 모션에 기초하여 초기 깊이 값들을 비디오 유닛 (예컨대, 비디오 프레임 또는 슬라이스) 의 픽셀들에 할당하고 (701), 초기 깊이 값들이 임계치를 만족하는지 여부를 확인한다 (702). 깊이 맵 생성 유닛 (77) 은 초기 깊이 값들이 임계치를 만족하는 비디오 유닛의 하나 이상의 픽셀들에 조정된 깊이 값들을 할당하고 (703), 여기서 조정된 깊이 값들은 픽셀들과 연관된 컬러에 기초한다. 이 프로세스는 할당된 모든 초기 깊이 값에 대하여 반복된다 (704).
모든 깊이 값들을 고려하고 임계치를 만족하지 않는 깊이 갚들을 조정한 후에, 깊이 맵 생성 유닛 (77) 은 비디오 유닛에 대한 초기화된 깊이 맵을 생성하고 (705), 여기서 초기화된 깊이 맵은 픽셀들의 제 1 서브세트에 대한 초기 깊이 값들 및 픽셀들의 제 2 서브세트에 대한 조정된 깊이 값들을 포함한다. 전술된 것과 같이, 모션에 기초하여 초기 깊이 값들을 할당하는 것은 이전 비디오 유닛의 공동-위치된 픽셀들의 루마 값들에 대한 비디오 유닛의 픽셀들의 루마 값들에 기초하여 초기 깊이 값들을 할당하는 것을 포함할 수도 있다. 또한, 컬러에 기초하여 조정된 깊이 값들을 할당하는 것은 비디오 유닛의 픽셀들의 크로마 값들에 적어도 부분적으로 기초하여 조정된 깊이 값들을 할당하는 것을 포함할 수도 있다.
예를 들어, 모션에 기초하여 초기 깊이 값들을 할당하는 것은 하기의 식에 따라 초기 깊이 값들을 할당하는 것을 포함하며:
Figure pct00040
상기 mn ,i 는 초기 깊이 값을 나타내고, Ln ,i 는 비디오 유닛 n 에서 픽셀 i 에 대한 루마 값을 나타내며, Ln -1,i 는 이전 비디오 유닛 n-1 에서 픽셀 i 에 대한 대응하는 루마 값을 나타낸다. 추가로, 컬러에 기초하여 조정된 깊이 값들을 할당하는 것은 하기의 식에 따라 조정된 깊이 값들을 할당하는 것을 포함할 수도 있고:
Figure pct00041
상기
Figure pct00042
는 조정된 깊이 값을 나타내고, g(cn ,i) 는 크로마 값들에 대한 함수 g 를 나타내고, Tm 는 임계치이고, Cn ,i 는 비디오 유닛 n 에서 소정의 픽셀에 대한 크로마 값을 나타내며, Cmax 는 허용되는 최대 크로마 값을 나타내고, Cmin 는 허용되는 최소 크로마 값을 나타낸다.
다음에, 깊이 맵 생성 유닛 (77) 은 비디오 유닛이 이전 비디오 유닛에 대한 장면 변화에 대응하는지 여부를 결정한다 (706). 만약 그렇다면 (706에서 "예"), 깊이 맵 생성 유닛 (77) 은 초기화된 깊이 맵을 비디오 유닛에 대한 최종 깊이 맵으로서 선택한다. 그러나, 비디오 유닛이 이전 비디오 유닛에 대한 장면 변화에 대응하지 않으면, 깊이 맵 생성 유닛 (77) 은 비디오 유닛이 이전 비디오 유닛에 낮은 레벨의 모션을 나타내는지 여부를 결정한다 (708). 비디오 유닛이 낮은 레벨의 모션을 나타내지 않는다면 (708 에서 "아니오"), 깊이 맵 생성 유닛 (77) 은 그 비디오 유닛에 대한 초기화된 깊이 맵의 깊이 값들과 이전 비디오 유닛에 대한 이전의 초기화된 깊이 맵의 깊이 값들의 가중된 평균들에 기반하여 최종 깊이 맵을 정의한다 (709). 이 경우에, 비디오 유닛은 하이 모션 또는 정규 모션을 나타낼 수도 있다. 대안적으로, 비디오 유닛이 로우 레벨의 모션을 나타내면 (708 에서 "예"), 깊이 맵 생성 유닛 (77) 은 그 비디오 유닛에 대한 초기화된 깊이 맵의 깊이 값들과 이전 비디오 유닛에 대한 이전의 초기화된 깊이 맵의 깊이 값들의 최대치들에 기반하여 최종 깊이 맵을 정의한다 (710).
전술된 것과 같이, 본 개시물의 기술들은 디코더 또는 인코더에 의해 수행될 수도 있다. 기술들이 비디오 디코더에 의해 수행되면, 기술들은 추가로 비디오 유닛에 대한 2차 뷰를 생성하기 위해 최종 깊이 맵에 기초하여 뷰 합성을 수행하는 것을 포함할 수도 있다. 뷰 합성은, 예컨대 비디오 디코더 (70) 의 2D - 3D 컨버전 유닛 (79) 에 의해 수행될 수도 있다. 뷰 합성 프로세스는 원래의 뷰 및 원래의 뷰의 깊이 맵에 기초한 2차 뷰를 생성하는 프로세스를 포함할 수도 있다.
본 개시물의 기술들이 비디오 인코더에 의해 수행된다면, 기술들은 추가로 최종 깊이 맵을 비디오 유니과 함께 통신하는 것을 포함할 수도 있다. 그러나, 일부 경우에, 뷰 합성은 비디오 유닛에 대한 2차 뷰를 생성하기 위해 최종 깊이 맵에 기초하여 인코더에 의해 수행될 수도 있고, 이 경우에 비디오 인코더와 연관된 디바이스는 비디오 유닛의 일부로서 2차 뷰를 통신할 수도 있다.
이 기술들은 최종 깊이 맵을 생성하기 위한 추가의 프로세싱 이전에 깊이 맵 초기화를 포함하는 것으로 설명되고 있다. 그러나, 깊이 맵 초기화 기술들은 추가의 프로세싱 없이 이용될 수도 있고, 초기화된 깊이 맵은 일부 예들에서 임의의 추가의 프로세싱 없이 최종 깊이 맵으로서 정의될 수 있다.
본 개시물의 기술들은 모바일 폰과 같은 무선 통신 디바이스 핸드셋, 집적 회로 (IC) 또는 IC들의 세트 (즉, 칩셋) 을 포함하는 폭넓게 다양한 디바이스들 또는 장치들로 구현될 수도 있다. 임의의 컴포넌트들, 모듈들 또는 유닛들은 기능적 양태들을 강조하기 위해 제공된 것으로 설명되었고, 상이한 하드웨어 유닛들에 의한 구현을 반드시 필요로 하지는 않는다. 본 명세서에서 설명된 기술들은 하드웨어, 소프트웨어, 펌웨어, 또는 이들의 임의의 조합에서 구현될 수도 있다. 모듈들, 유닛들, 컴포넌트들로서 설명되는 임의의 특징들은 통합된 로직 디바이스에서 함께, 또는 별개이지만 공동사용가능한 로직 디바이스들로서 별도로 구현될 수도 있다. 일부 경우에, 다양한 특징들은 집적 회로 칩 또는 칩셋과 같은 집적 회로 디바이스로서 구현될 수도 있다.
소프트웨어로 구현되는 경우, 그 기술들은 프로세서에서 실행될 때에 상술된 방법들 중 하나 이상을 수행하는 명령들을 포함하는 컴퓨터 판독가능 매체에 의해 적어도 부분적으로 실현될 수도 있다. 컴퓨터 판독가능 매체는 물리적 구조물인 컴퓨터 판독가능 저장 매체를 포함할 수도 있고, 패키징 재료들을 포함할 수도 있는 컴퓨터 프로그램 제품의 일부를 형성할 수도 있다. 컴퓨터 판독가능 저장 매체는 동기식 동적 랜덤 액세스 메모리 (SDRAM : synchronous dynamic random access memory) 와 같은 랜덤 액세스 메모리 (RAM : random access memory), 판독 전용 메모리 (ROM : read-only memory), 비휘발성 랜덤 액세스 메모리 (NVRAM : non-volatile random access memory), 전기적 소거가능 프로그램가능 판독전용 메모리 (EEPROM : electrically erasable programmable read-only memory), 플래시 메모리 (FLASH memory), 자기 또는 광학 데이터 저장 매체 등을 포함할 수도 있다. 기술들은 추가로 또는 대안적으로, 명령들 또는 데이터 구조들의 형식으로 코드를 운반하거나 통신하고, 컴퓨터에 의해 액세스되고, 판독되고, 및/또는 실행될 수도 있는 컴퓨터 판독가능 통신 매체에 의해 적어도 부분적으로 실현될 수도 있다.
명령들은 하나 이상의 디지털 신호 프로세서 (DSP) 들, 범용 마이크로프로세서들, 주문형 집적 회로 (ASIC), 필드 프로그램가능 게이트 어레이 (FPGA) 들, 또는 다른 동등한 통합된 또는 개별적 로직 회로와 같은 하나 이상의 프로세서들에 의해 실행될 수도 있다. 따라서, 여기에 사용되는 "프로세서" 라는 용어는 여기에 기술된 기술들의 구현에 적합한 임의의 상기 구조 또는 임의의 다른 구조를 지칭할 수도 있다. 또한, 일부 양태들에서는, 여기에 기술된 기능성이 인코딩 및 디코딩을 위해 구성된 전용 소프트웨어 모듈들 또는 하드웨어 모듈들 내에 제공될 수도 있거나, 조합된 비디오 코덱 내에 포함될 수도 있다. 또한, 그 기술들은 하나 이상의 회로들 또는 로직 엘리먼트들에서 완전히 구현될 수 있다.
또한, 본 개시물은, 본 개시물에 기술된 기술들 중 하나 이상을 구현하기 위한 회로를 포함하는 다양한 집적 회로 디바이스들 중 임의의 집적 회로 디바이스를 고려한다. 이러한 회로가 소위 칩셋 내의 단일의 집적 회로 칩 또는 다수의 상호동작가능한 집적 회로 칩들로 제공될 수도 있다. 이러한 집적 회로 디바이스들은 그 일부가 포함될 수도 있는 다양한 애플리케이션들에서 이용될 수도 있고, 모바일 전화기 핸드셋들과 같은 무선 통신 디바이스들에서 이용할 수도 있다.
기술들의 다양한 양태들이 기술되었다. 이들 양태들 및 다른 양태들은 하기의 청구항들의 범위 내에 있다.

Claims (33)

  1. 비디오 시퀀스의 이전 비디오 유닛의 대응하는 픽셀들에 대한 비디오 유닛의 픽셀들과 연관된 모션에 기초하여 초기 깊이 값들을 상기 비디오 유닛의 픽셀들에 할당하는 단계;
    상기 초기 깊이 값들이 임계치를 만족하는지 여부를 확인하는 단계;
    상기 초기 깊이 값들이 상기 임계치를 만족하는 상기 비디오 유닛의 하나 이상의 픽셀들에 조정된 깊이 값들을 할당하는 단계로서, 상기 조정된 깊이 값들은 상기 픽셀들과 연관된 컬러에 기초하는, 상기 조정된 깊이 값들을 할당하는 단계; 및
    상기 비디오 유닛에 대한 깊이 맵을 생성하는 단계를 포함하고,
    상기 깊이 맵은 상기 픽셀들의 제 1 서브세트에 대한 상기 초기 깊이 값들 및 상기 픽셀들의 제 2 서브세트에 대한 상기 조정된 깊이 값들을 포함하는, 방법.
  2. 제 1 항에 있어서,
    상기 모션에 기초하여 초기 깊이 값들을 할당하는 단계는, 상기 이전 비디오 유닛의 공동-위치된 픽셀들의 루마 값들에 대한 상기 비디오 유닛의 픽셀들의 루마 값들에 기초하여 상기 초기 깊이 값들을 할당하는 단계를 포함하는, 방법.
  3. 제 1 항에 있어서,
    상기 컬러에 기초하는 상기 조정된 깊이 값들을 할당하는 단계는, 상기 비디오 유닛의 픽셀들의 크로마 값들에 적어도 부분적으로 기초하여 상기 조정된 깊이 값들을 할당하는 단계를 포함하는, 방법.
  4. 제 1 항에 있어서,
    상기 모션에 기초하여 초기 깊이 값들을 할당하는 단계는, 상기 이전 비디오 유닛의 공동-위치된 픽셀들의 루마 값들에 대한 상기 비디오 유닛의 픽셀들의 루마 값들에 기초하여 상기 초기 깊이 값들을 할당하는 단계를 포함하고,
    상기 컬러에 기초하는 상기 조정된 깊이 값들을 할당하는 단계는, 상기 비디오 유닛의 픽셀들의 크로마 값들에 적어도 부분적으로 기초하여 상기 조정된 깊이 값들을 할당하는 단계를 포함하며, 그리고
    상기 조정된 깊이 값들을 할당하는 단계는, 허용된 구간의 크로마 값들 내의 크로마 값들을 제로 (0) 와 상기 임계치 사이의 깊이 값들로 맵핑하는 단계를 포함하는, 방법.
  5. 제 1 항에 있어서,
    상기 깊이 맵은 초기화된 깊이 맵을 포함하고,
    상기 방법은,
    상기 비디오 유닛이 상기 이전 비디오 유닛에 대한 장면 변화에 대응하는지 여부를 결정하는 단계;
    상기 비디오 유닛이 상기 이전 비디오 유닛에 대한 장면 변화에 대응한다면, 상기 초기화된 깊이 맵을 상기 비디오 유닛에 대한 최종 깊이 맵으로서 선택하는 단계;
    상기 비디오 유닛이 상기 이전 비디오 유닛에 대한 장면 변화에 대응하지 않는다면, 상기 비디오 유닛이 상기 이전 비디오 유닛에 대하여 낮은 레벨의 모션을 나타내는지 여부를 결정하는 단계;
    상기 비디오 유닛이 상기 낮은 레벨의 모션을 나타내지 않는다면, 상기 비디오 유닛에 대한 상기 초기화된 깊이 맵의 깊이 값들과 상기 이전 비디오 유닛에 대한 이전 깊이 맵의 깊이 값들의 가중된 평균들에 기초하여 상기 최종 깊이 맵을 정의하는 단계; 및
    상기 비디오 유닛이 상기 낮은 레벨의 모션을 나타낸다면, 상기 비디오 유닛에 대한 상기 초기화된 깊이 맵의 깊이 값들과 상기 이전 비디오 유닛에 대한 상기 이전 깊이 맵의 깊이 값들의 최대치들에 기초하여 상기 최종 깊이 맵을 정의하는 단계를 더 포함하는, 방법.
  6. 제 5 항에 있어서,
    상기 방법은 비디오 디코더에 의해 수행되고,
    상기 방법은, 상기 비디오 유닛에 대한 2차 뷰를 생성하기 위해 상기 최종 깊이 맵에 기초하여 뷰 합성을 수행하는 단계를 더 포함하는, 방법.
  7. 제 5 항에 있어서,
    상기 방법은 비디오 인코더에 의해 수행되고,
    상기 방법은, 상기 최종 깊이 맵을 상기 비디오 유닛과 통신하는 단계를 더 포함하는, 방법.
  8. 제 5 항에 있어서,
    상기 방법은 비디오 인코더에 의해 수행되고,
    상기 방법은,
    상기 비디오 유닛에 대한 2차 뷰를 생성하기 위해 상기 최종 깊이 맵에 기초하여 뷰 합성을 수행하는 단계; 및
    상기 2차 뷰를 상기 비디오 유닛과 통신하는 단계를 더 포함하는, 방법.
  9. 깊이 맵 생성 유닛을 포함하는 비디오 코더 장치로서,
    상기 깊이 맵 생성 유닛은,
    비디오 시퀀스의 이전 비디오 유닛의 대응하는 픽셀들에 대한 비디오 유닛의 픽셀들과 연관된 모션에 기초하여 초기 깊이 값들을 상기 비디오 유닛의 픽셀들에 할당하고;
    상기 초기 깊이 값들이 임계치를 만족하는지 여부를 확인하고;
    상기 초기 깊이 값들이 상기 임계치를 만족하는 상기 비디오 유닛의 하나 이상의 픽셀들에 조정된 깊이 값들을 할당하는 것으로서, 상기 조정된 깊이 값들은 상기 픽셀들과 연관된 컬러에 기초하는, 상기 조정된 깊이 값들을 할당하며; 그리고
    상기 비디오 유닛에 대한 깊이 맵을 생성하고,
    상기 깊이 맵은 상기 픽셀들의 제 1 서브세트에 대한 상기 초기 깊이 값들 및 상기 픽셀들의 제 2 서브세트에 대한 상기 조정된 깊이 값들을 포함하는, 비디오 코더 장치.
  10. 제 9 항에 있어서,
    상기 모션에 기초하여 초기 깊이 값들을 할당할 시, 상기 깊이 맵 생성 유닛은 상기 이전 비디오 유닛의 공동-위치된 픽셀들의 루마 값들에 대한 상기 비디오 유닛의 픽셀들의 루마 값들에 기초하여 상기 초기 깊이 값들을 할당하는, 비디오 코더 장치.
  11. 제 9 항에 있어서,
    상기 컬러에 기초하는 상기 조정된 깊이 값들을 할당할 시, 상기 깊이 맵 생성 유닛은 상기 비디오 유닛의 픽셀들의 크로마 값들에 적어도 부분적으로 기초하여 상기 조정된 값들을 할당하는, 비디오 코더 장치.
  12. 제 9 항에 있어서,
    상기 모션에 기초하여 초기 깊이 값들을 할당하는 것은, 상기 이전 비디오 유닛의 공동-위치된 픽셀들의 루마 값들에 대한 상기 비디오 유닛의 픽셀들의 루마 값들에 기초하여 상기 초기 깊이 값들을 할당하는 것을 포함하고,
    상기 컬러에 기초하는 상기 조정된 깊이 값들을 할당하는 것은, 상기 비디오 유닛의 픽셀들의 크로마 값들에 적어도 부분적으로 기초하여 상기 조정된 깊이 값들을 할당하는 것을 포함하며, 그리고
    상기 조정된 깊이 값들을 할당하는 것은, 허용된 구간의 크로마 값들 내의 크로마 값들을 제로 (0) 와 상기 임계치 사이의 깊이 값들로 맵핑하는 것을 포함하는, 비디오 코더 장치.
  13. 제 9 항에 있어서,
    상기 깊이 맵은 초기화된 깊이 맵을 포함하고,
    상기 깊이 맵 생성 유닛은,
    상기 비디오 유닛이 상기 이전 비디오 유닛에 대한 장면 변화에 대응하는지 여부를 결정하고;
    상기 비디오 유닛이 상기 이전 비디오 유닛에 대한 장면 변화에 대응한다면, 상기 초기화된 깊이 맵을 상기 비디오 유닛에 대한 최종 깊이 맵으로서 선택하고;
    상기 비디오 유닛이 상기 이전 비디오 유닛에 대한 장면 변화에 대응하지 않는다면, 상기 비디오 유닛이 상기 이전 비디오 유닛에 대하여 낮은 레벨의 모션을 나타내는지 여부를 결정하고;
    상기 비디오 유닛이 상기 낮은 레벨의 모션을 나타내지 않는다면, 상기 비디오 유닛에 대한 상기 초기화된 깊이 맵의 깊이 값들과 상기 이전 비디오 유닛에 대한 이전 깊이 맵의 깊이 값들의 가중된 평균들에 기초하여 상기 최종 깊이 맵을 정의하며; 그리고
    상기 비디오 유닛이 상기 낮은 레벨의 모션을 나타낸다면, 상기 비디오 유닛에 대한 상기 초기화된 깊이 맵의 깊이 값들과 상기 이전 비디오 유닛에 대한 상기 이전 깊이 맵의 깊이 값들의 최대치들에 기초하여 상기 최종 깊이 맵을 정의하는, 비디오 코더 장치.
  14. 제 13 항에 있어서,
    상기 비디오 코더 장치는 비디오 디코더를 포함하고,
    상기 비디오 디코더는,
    상기 비디오 유닛에 대한 2차 뷰를 생성하기 위해 상기 최종 깊이 맵에 기초하여 뷰 합성을 수행하는 2 차원 (2D) - 3 차원 컨버전 유닛을 더 포함하는, 비디오 코더 장치.
  15. 제 13 항에 있어서,
    상기 비디오 코더 장치는 비디오 인코더를 포함하고,
    비디오 코딩 장치는, 상기 최종 깊이 맵을 상기 비디오 유닛과 통신하는 송신기를 더 포함하는, 비디오 코더 장치.
  16. 제 13 항에 있어서,
    상기 비디오 코더 장치는 비디오 인코더를 포함하고,
    상기 비디오 인코더는, 상기 비디오 유닛에 대한 2차 뷰를 생성하기 위해 상기 최종 깊이 맵에 기초하여 뷰 합성을 수행하는 2 차원 (2D) - 3 차원 컨버전 유닛을 더 포함하고,
    비디오 코딩 장치는, 상기 2차 뷰를 상기 비디오 유닛과 통신하는 송신기를 더 포함하는, 비디오 코더 장치.
  17. 제 9 항에 있어서,
    상기 비디오 코더 장치는,
    집적 회로;
    마이크로프로세서;
    비디오 인코더를 포함하는 무선 통신 디바이스; 및
    비디오 디코더를 포함하는 무선 통신 디바이스
    중 적어도 하나를 포함하는, 비디오 코더 장치.
  18. 비디오 시퀀스의 이전 비디오 유닛의 대응하는 픽셀들에 대한 비디오 유닛의 픽셀들과 연관된 모션에 기초하여 초기 깊이 값들을 상기 비디오 유닛의 픽셀들에 할당하는 수단;
    상기 초기 깊이 값들이 임계치를 만족하는지 여부를 확인하는 수단;
    상기 초기 깊이 값들이 상기 임계치를 만족하는 상기 비디오 유닛의 하나 이상의 픽셀들에 조정된 깊이 값들을 할당하는 수단으로서, 상기 조정된 깊이 값들은 상기 픽셀들과 연관된 컬러에 기초하는, 상기 조정된 깊이 값들을 할당하는 수단; 및
    상기 비디오 유닛에 대한 깊이 맵을 생성하는 수단을 포함하고,
    상기 깊이 맵은 상기 픽셀들의 제 1 서브세트에 대한 상기 초기 깊이 값들 및 상기 픽셀들의 제 2 서브세트에 대한 상기 조정된 깊이 값들을 포함하는, 디바이스.
  19. 제 18 항에 있어서,
    상기 모션에 기초하여 초기 깊이 값들을 할당하는 수단은, 상기 이전 비디오 유닛의 공동-위치된 픽셀들의 루마 값들에 대한 상기 비디오 유닛의 픽셀들의 루마 값들에 기초하여 상기 초기 깊이 값들을 할당하는 수단을 포함하는, 디바이스.
  20. 제 18 항에 있어서,
    상기 컬러에 기초하는 상기 조정된 깊이 값들을 할당하는 수단은, 상기 비디오 유닛의 픽셀들의 크로마 값들에 적어도 부분적으로 기초하여 상기 조정된 값들을 할당하는 수단을 포함하는, 디바이스.
  21. 제 18 항에 있어서,
    상기 모션에 기초하여 초기 깊이 값들을 할당하는 수단은, 상기 이전 비디오 유닛의 공동-위치된 픽셀들의 루마 값들에 대한 상기 비디오 유닛의 픽셀들의 루마 값들에 기초하여 상기 초기 깊이 값들을 할당하는 수단을 포함하고,
    상기 컬러에 기초하는 상기 조정된 깊이 값들을 할당하는 수단은, 상기 비디오 유닛의 픽셀들의 크로마 값들에 적어도 부분적으로 기초하여 상기 조정된 깊이 값들을 할당하는 수단을 포함하며, 그리고
    상기 조정된 깊이 값들을 할당하는 수단은, 허용된 구간의 크로마 값들 내의 크로마 값들을 제로 (0) 와 상기 임계치 사이의 깊이 값들로 맵핑하는 수단을 포함하는, 디바이스.
  22. 제 18 항에 있어서,
    상기 깊이 맵은 초기화된 깊이 맵을 포함하고,
    상기 디바이스는,
    상기 비디오 유닛이 상기 이전 비디오 유닛에 대한 장면 변화에 대응하는지 여부를 결정하는 수단;
    상기 비디오 유닛이 상기 이전 비디오 유닛에 대한 장면 변화에 대응한다면, 상기 초기화된 깊이 맵을 상기 비디오 유닛에 대한 최종 깊이 맵으로서 선택하는 수단;
    상기 비디오 유닛이 상기 이전 비디오 유닛에 대한 장면 변화에 대응하지 않는다면, 상기 비디오 유닛이 상기 이전 비디오 유닛에 대하여 낮은 레벨의 모션을 나타내는지 여부를 결정하는 수단;
    상기 비디오 유닛이 상기 낮은 레벨의 모션을 나타내지 않는다면, 상기 비디오 유닛에 대한 상기 초기화된 깊이 맵의 깊이 값들과 상기 이전 비디오 유닛에 대한 이전 깊이 맵의 깊이 값들의 가중된 평균들에 기초하여 상기 최종 깊이 맵을 정의하는 수단; 및
    상기 비디오 유닛이 상기 낮은 레벨의 모션을 나타낸다면, 상기 비디오 유닛에 대한 상기 초기화된 깊이 맵의 깊이 값들과 상기 이전 비디오 유닛에 대한 상기 이전 깊이 맵의 깊이 값들의 최대치들에 기초하여 상기 최종 깊이 맵을 정의하는 수단을 더 포함하는, 디바이스.
  23. 제 22 항에 있어서,
    상기 디바이스는 비디오 디코더를 포함하고,
    상기 디바이스는, 상기 비디오 유닛에 대한 2차 뷰를 생성하기 위해 상기 최종 깊이 맵에 기초하여 뷰 합성을 수행하는 수단을 더 포함하는, 디바이스.
  24. 제 22 항에 있어서,
    상기 디바이스는 비디오 인코더를 포함하고,
    상기 디바이스는, 상기 최종 깊이 맵을 상기 비디오 유닛과 통신하는 수단을 더 포함하는, 디바이스.
  25. 제 22 항에 있어서,
    상기 디바이스는 비디오 인코더를 포함하고,
    상기 디바이스는,
    상기 비디오 유닛에 대한 2차 뷰를 생성하기 위해 상기 최종 깊이 맵에 기초하여 뷰 합성을 수행하는 수단; 및
    상기 2차 뷰를 상기 비디오 유닛과 통신하는 수단을 더 포함하는, 디바이스.
  26. 명령들을 포함하는 컴퓨터 판독가능 저장 매체로서,
    상기 명령들은, 프로세서에 의해 실행될 시, 상기 프로세서로 하여금,
    비디오 시퀀스의 이전 비디오 유닛의 대응하는 픽셀들에 대한 비디오 유닛의 픽셀들과 연관된 모션에 기초하여 초기 깊이 값들을 상기 비디오 유닛의 픽셀들에 할당하게 하고;
    상기 초기 깊이 값들이 임계치를 만족하는지 여부를 확인하게 하고;
    상기 초기 깊이 값들이 상기 임계치를 만족하는 상기 비디오 유닛의 하나 이상의 픽셀들에 조정된 깊이 값들을 할당하게 하는 것으로서, 상기 조정된 깊이 값들은 상기 픽셀들과 연관된 컬러에 기초하는, 상기 조정된 깊이 값들을 할당하게 하며; 그리고
    상기 비디오 유닛에 대한 깊이 맵을 생성하게 하고,
    상기 깊이 맵은 상기 픽셀들의 제 1 서브세트에 대한 상기 초기 깊이 값들 및 상기 픽셀들의 제 2 서브세트에 대한 상기 조정된 깊이 값들을 포함하는, 컴퓨터 판독가능 저장 매체.
  27. 제 26 항에 있어서,
    상기 모션에 기초하여 초기 깊이 값들을 할당할 시, 상기 명령들은 상기 프로세서로 하여금, 상기 이전 비디오 유닛의 공동-위치된 픽셀들의 루마 값들에 대한 상기 비디오 유닛의 픽셀들의 루마 값들에 기초하여 상기 초기 깊이 값들을 할당하게 하는, 컴퓨터 판독가능 저장 매체.
  28. 제 26 항에 있어서,
    상기 컬러에 기초하는 상기 조정된 깊이 값들을 할당할 시, 상기 명령들은 상기 프로세서로 하여금, 상기 비디오 유닛의 픽셀들의 크로마 값들에 적어도 부분적으로 기초하여 상기 조정된 값들을 할당하게 하는, 컴퓨터 판독가능 저장 매체.
  29. 제 26 항에 있어서,
    상기 모션에 기초하여 초기 깊이 값들을 할당하는 것은, 상기 이전 비디오 유닛의 공동-위치된 픽셀들의 루마 값들에 대한 상기 비디오 유닛의 픽셀들의 루마 값들에 기초하여 상기 초기 깊이 값들을 할당하는 것을 포함하고,
    상기 컬러에 기초하는 상기 조정된 깊이 값들을 할당하는 것은, 상기 비디오 유닛의 픽셀들의 크로마 값들에 적어도 부분적으로 기초하여 상기 조정된 깊이 값들을 할당하는 것을 포함하며, 그리고
    상기 조정된 깊이 값들을 할당하는 것은, 허용된 구간의 크로마 값들 내의 크로마 값들을 제로 (0) 와 상기 임계치 사이의 깊이 값들로 맵핑하는 것을 포함하는, 컴퓨터 판독가능 저장 매체.
  30. 제 26 항에 있어서,
    상기 깊이 맵은 초기화된 깊이 맵을 포함하고,
    상기 명령들은 상기 프로세서로 하여금,
    상기 비디오 유닛이 상기 이전 비디오 유닛에 대한 장면 변화에 대응하는지 여부를 결정하게 하고;
    상기 비디오 유닛이 상기 이전 비디오 유닛에 대한 장면 변화에 대응한다면, 상기 초기화된 깊이 맵을 상기 비디오 유닛에 대한 최종 깊이 맵으로서 선택하게 하고;
    상기 비디오 유닛이 상기 이전 비디오 유닛에 대한 장면 변화에 대응하지 않는다면, 상기 비디오 유닛이 상기 이전 비디오 유닛에 대하여 낮은 레벨의 모션을 나타내는지 여부를 결정하게 하고;
    상기 비디오 유닛이 상기 낮은 레벨의 모션을 나타내지 않는다면, 상기 비디오 유닛에 대한 상기 초기화된 깊이 맵의 깊이 값들과 상기 이전 비디오 유닛에 대한 이전 깊이 맵의 깊이 값들의 가중된 평균들에 기초하여 상기 최종 깊이 맵을 정의하게 하며; 그리고
    상기 비디오 유닛이 상기 낮은 레벨의 모션을 나타낸다면, 상기 비디오 유닛에 대한 상기 초기화된 깊이 맵의 깊이 값들과 상기 이전 비디오 유닛에 대한 상기 이전 깊이 맵의 깊이 값들의 최대치들에 기초하여 상기 최종 깊이 맵을 정의하게 하는, 컴퓨터 판독가능 저장 매체.
  31. 제 30 항에 있어서,
    상기 프로세서는 비디오 디코더를 포함하고,
    상기 명령들은 상기 프로세서로 하여금,
    상기 비디오 유닛에 대한 2차 뷰를 생성하기 위해 상기 최종 깊이 맵에 기초하여 뷰 합성을 수행하게 하는, 컴퓨터 판독가능 저장 매체.
  32. 제 30 항에 있어서,
    상기 프로세서는 비디오 인코더를 포함하고,
    상기 명령들은 상기 프로세서로 하여금, 상기 최종 깊이 맵을 상기 비디오 유닛과 통신하게 하는, 컴퓨터 판독가능 저장 매체.
  33. 제 30 항에 있어서,
    상기 프로세서는 비디오 인코더를 포함하고,
    상기 명령들은 상기 프로세서로 하여금,
    상기 비디오 유닛에 대한 2차 뷰를 생성하기 위해 상기 최종 깊이 맵에 기초하여 뷰 합성을 수행하게 하고,
    상기 2차 뷰를 상기 비디오 유닛과 통신하게 하는, 컴퓨터 판독가능 저장 매체.
KR1020127013246A 2009-10-23 2010-10-22 2d 비디오 데이터의 3d 비디오 데이터로의 컨버전을 위한 깊이 맵 생성 기술들 KR101354387B1 (ko)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
US25455809P 2009-10-23 2009-10-23
US61/254,558 2009-10-23
US12/696,499 2010-01-29
US12/696,499 US8537200B2 (en) 2009-10-23 2010-01-29 Depth map generation techniques for conversion of 2D video data to 3D video data
PCT/US2010/053823 WO2011050304A2 (en) 2009-10-23 2010-10-22 Depth map generation techniques for conversion of 2d video data to 3d video data

Publications (2)

Publication Number Publication Date
KR20120071407A true KR20120071407A (ko) 2012-07-02
KR101354387B1 KR101354387B1 (ko) 2014-01-22

Family

ID=43898419

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020127013246A KR101354387B1 (ko) 2009-10-23 2010-10-22 2d 비디오 데이터의 3d 비디오 데이터로의 컨버전을 위한 깊이 맵 생성 기술들

Country Status (7)

Country Link
US (1) US8537200B2 (ko)
EP (1) EP2491722B1 (ko)
JP (1) JP5575908B2 (ko)
KR (1) KR101354387B1 (ko)
CN (1) CN102598674B (ko)
TW (1) TW201130306A (ko)
WO (1) WO2011050304A2 (ko)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101355894B1 (ko) * 2012-09-14 2014-01-29 한밭대학교 산학협력단 적응적 깊이 융합을 이용한 2차원 영상의 3차원 영상 변환장치 및 방법
WO2014107099A1 (en) * 2013-01-07 2014-07-10 Samsung Electronics Co., Ltd. Display apparatus and display method thereof
KR20150079576A (ko) * 2012-11-01 2015-07-08 구글 인코포레이티드 조합된 깊이 큐들에 기초하여 모노스코픽 이미지로부터 깊이 맵 생성
KR20190029505A (ko) * 2016-03-22 2019-03-20 인터디지털 브이씨 홀딩스 인코포레이티드 레거시 및 몰입형 렌더링 디바이스들에 대한 몰입형 비디오를 포맷하는 방법, 장치 및 스트림

Families Citing this family (153)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7983835B2 (en) 2004-11-03 2011-07-19 Lagassey Paul J Modular intelligent transportation system
CN100566427C (zh) * 2007-07-31 2009-12-02 北京大学 用于视频编码的帧内预测编码最佳模式的选取方法及装置
US8284237B2 (en) * 2009-09-09 2012-10-09 Nokia Corporation Rendering multiview content in a 3D video system
US20110122225A1 (en) * 2009-11-23 2011-05-26 General Instrument Corporation Depth Coding as an Additional Channel to Video Sequence
US8610758B2 (en) * 2009-12-15 2013-12-17 Himax Technologies Limited Depth map generation for a video conversion system
JP2011176800A (ja) * 2010-01-28 2011-09-08 Toshiba Corp 画像処理装置、立体表示装置及び画像処理方法
US9398289B2 (en) * 2010-02-09 2016-07-19 Samsung Electronics Co., Ltd. Method and apparatus for converting an overlay area into a 3D image
US8787663B2 (en) * 2010-03-01 2014-07-22 Primesense Ltd. Tracking body parts by combined color image and depth processing
JP5572437B2 (ja) * 2010-03-29 2014-08-13 富士フイルム株式会社 3次元医用画像に基づいて立体視用画像を生成する装置および方法、並びにプログラム
EP2595116A1 (en) * 2010-05-07 2013-05-22 Telefónica, S.A. Method for generating depth maps for converting moving 2d images to 3d
EP2596641A4 (en) * 2010-07-21 2014-07-30 Thomson Licensing METHOD AND DEVICE FOR PROVIDING ADDITIONAL CONTENT IN A 3D COMMUNICATION SYSTEM
US20120050483A1 (en) * 2010-08-27 2012-03-01 Chris Boross Method and system for utilizing an image sensor pipeline (isp) for 3d imaging processing utilizing z-depth information
KR20120023431A (ko) * 2010-09-03 2012-03-13 삼성전자주식회사 깊이 조정이 가능한 2차원/3차원 영상 변환 방법 및 그 장치
WO2012061549A2 (en) * 2010-11-03 2012-05-10 3Dmedia Corporation Methods, systems, and computer program products for creating three-dimensional video sequences
JP5422538B2 (ja) * 2010-11-09 2014-02-19 株式会社東芝 画像処理装置、表示装置、方法およびそのプログラム
US20120121163A1 (en) * 2010-11-15 2012-05-17 Samsung Electronics Co., Ltd. 3d display apparatus and method for extracting depth of 3d image thereof
JP5050094B2 (ja) * 2010-12-21 2012-10-17 株式会社東芝 映像処理装置及び映像処理方法
KR20120084216A (ko) * 2011-01-19 2012-07-27 삼성전자주식회사 깊이 정보에 대한 픽셀 노이즈를 제거하는 3차원 이미지 신호 처리 방법 및 상기 방법을 수행하는 3차원 이미지 신호 프로세서
RU2480941C2 (ru) * 2011-01-20 2013-04-27 Корпорация "Самсунг Электроникс Ко., Лтд" Способ адаптивного предсказания кадра для кодирования многоракурсной видеопоследовательности
JP5594477B2 (ja) 2011-01-26 2014-09-24 Nltテクノロジー株式会社 画像表示装置、画像表示方法、及びプログラム
US9407904B2 (en) 2013-05-01 2016-08-02 Legend3D, Inc. Method for creating 3D virtual reality from 2D images
KR101763944B1 (ko) * 2011-02-18 2017-08-01 엘지디스플레이 주식회사 영상표시장치
US9483836B2 (en) * 2011-02-28 2016-11-01 Sony Corporation Method and apparatus for real-time conversion of 2-dimensional content to 3-dimensional content
CN107197226B (zh) 2011-03-18 2019-05-28 索尼公司 图像处理设备、图像处理方法和计算机可读存储介质
US9470778B2 (en) * 2011-03-29 2016-10-18 Microsoft Technology Licensing, Llc Learning from high quality depth measurements
US20120274626A1 (en) * 2011-04-29 2012-11-01 Himax Media Solutions, Inc. Stereoscopic Image Generating Apparatus and Method
EP2525581A3 (en) * 2011-05-17 2013-10-23 Samsung Electronics Co., Ltd. Apparatus and Method for Converting 2D Content into 3D Content, and Computer-Readable Storage Medium Thereof
WO2012157887A2 (en) * 2011-05-19 2012-11-22 Samsung Electronics Co., Ltd. Apparatus and method for providing 3d content
TWI482484B (zh) * 2011-06-17 2015-04-21 Wistron Corp 立體顯示系統及其方法
TWI493505B (zh) * 2011-06-20 2015-07-21 Mstar Semiconductor Inc 影像處理方法以及影像處理裝置
US8982117B2 (en) * 2011-06-22 2015-03-17 Samsung Display Co., Ltd. Display apparatus and method of displaying three-dimensional image using same
CN102857772B (zh) * 2011-06-29 2015-11-11 晨星软件研发(深圳)有限公司 影像处理方法以及影像处理装置
US9525858B2 (en) * 2011-07-06 2016-12-20 Telefonaktiebolaget Lm Ericsson (Publ) Depth or disparity map upscaling
US9351028B2 (en) * 2011-07-14 2016-05-24 Qualcomm Incorporated Wireless 3D streaming server
US9363535B2 (en) 2011-07-22 2016-06-07 Qualcomm Incorporated Coding motion depth maps with depth range variation
CA2844602A1 (en) * 2011-08-09 2013-02-14 Samsung Electronics Co., Ltd. Method and device for encoding a depth map of multi viewpoint video data, and method and device for decoding the encoded depth map
US8711141B2 (en) * 2011-08-28 2014-04-29 Arcsoft Hangzhou Co., Ltd. 3D image generating method, 3D animation generating method, and both 3D image generating module and 3D animation generating module thereof
WO2013031573A1 (ja) 2011-08-31 2013-03-07 ソニー株式会社 符号化装置および符号化方法、復号装置および復号方法
WO2013031575A1 (ja) * 2011-08-31 2013-03-07 ソニー株式会社 画像処理装置および画像処理方法
US8928729B2 (en) * 2011-09-09 2015-01-06 Disney Enterprises, Inc. Systems and methods for converting video
US20130071008A1 (en) * 2011-09-15 2013-03-21 National Taiwan University Image conversion system using edge information
TWI486053B (zh) * 2011-09-27 2015-05-21 Realtek Semiconductor Corp 立體影像傳輸方法及立體影像傳輸電路
TWI595770B (zh) * 2011-09-29 2017-08-11 杜比實驗室特許公司 具有對稱圖像解析度與品質之圖框相容全解析度立體三維視訊傳達技術
CN103037226A (zh) * 2011-09-30 2013-04-10 联咏科技股份有限公司 深度融合方法及其装置
US8995755B2 (en) 2011-09-30 2015-03-31 Cyberlink Corp. Two-dimensional to stereoscopic conversion systems and methods
US9167269B2 (en) 2011-10-25 2015-10-20 Qualcomm Incorporated Determining boundary strength values for deblocking filtering for video coding
JP5791818B2 (ja) * 2011-11-01 2015-10-07 コーニンクレッカ フィリップス エヌ ヴェ 突出ベース視差マッピング
US9471988B2 (en) 2011-11-02 2016-10-18 Google Inc. Depth-map generation for an input image using an example approximate depth-map associated with an example similar image
JP6095067B2 (ja) * 2011-11-14 2017-03-15 国立研究開発法人情報通信研究機構 立体映像符号化装置、立体映像復号化装置、立体映像符号化方法、立体映像復号化方法、立体映像符号化プログラム及び立体映像復号化プログラム
US9661307B1 (en) * 2011-11-15 2017-05-23 Google Inc. Depth map generation using motion cues for conversion of monoscopic visual content to stereoscopic 3D
US8611642B2 (en) 2011-11-17 2013-12-17 Apple Inc. Forming a steroscopic image using range map
US9041819B2 (en) 2011-11-17 2015-05-26 Apple Inc. Method for stabilizing a digital video
US20130129192A1 (en) * 2011-11-17 2013-05-23 Sen Wang Range map determination for a video frame
WO2013086137A1 (en) 2011-12-06 2013-06-13 1-800 Contacts, Inc. Systems and methods for obtaining a pupillary distance measurement using a mobile computing device
US9414048B2 (en) 2011-12-09 2016-08-09 Microsoft Technology Licensing, Llc Automatic 2D-to-stereoscopic video conversion
TWI483612B (zh) * 2011-12-22 2015-05-01 Nat Univ Chung Cheng Converting the video plane is a perspective view of the video system
US9571810B2 (en) * 2011-12-23 2017-02-14 Mediatek Inc. Method and apparatus of determining perspective model for depth map generation by utilizing region-based analysis and/or temporal smoothing
US9137519B1 (en) 2012-01-04 2015-09-15 Google Inc. Generation of a stereo video from a mono video
US8824778B2 (en) * 2012-01-13 2014-09-02 Cyberlink Corp. Systems and methods for depth map generation
WO2013109252A1 (en) * 2012-01-17 2013-07-25 Thomson Licensing Generating an image for another view
TWI499278B (zh) * 2012-01-20 2015-09-01 Univ Nat Taiwan Science Tech 影像重建方法
TWI478102B (zh) * 2012-01-20 2015-03-21 Realtek Semiconductor Corp 影像深度產生裝置與其方法
CN103220539B (zh) * 2012-01-21 2017-08-15 瑞昱半导体股份有限公司 图像深度产生装置及其方法
US9111350B1 (en) 2012-02-10 2015-08-18 Google Inc. Conversion of monoscopic visual content to stereoscopic 3D
KR20130098042A (ko) * 2012-02-27 2013-09-04 삼성전자주식회사 깊이 정보 생성 장치 및 이를 포함하는 촬영 장치
US9313498B2 (en) 2012-04-16 2016-04-12 Qualcomm Incorporated Sign hiding techniques for quantized transform coefficients in video coding
CA2869322C (en) 2012-04-20 2021-04-13 Affirmation, Llc Systems and methods for real-time conversion of video into three-dimensions
JP5871705B2 (ja) * 2012-04-27 2016-03-01 株式会社日立メディコ 画像表示装置、方法及びプログラム
US9311746B2 (en) 2012-05-23 2016-04-12 Glasses.Com Inc. Systems and methods for generating a 3-D model of a virtual try-on product
US9483853B2 (en) 2012-05-23 2016-11-01 Glasses.Com Inc. Systems and methods to display rendered images
US9286715B2 (en) 2012-05-23 2016-03-15 Glasses.Com Inc. Systems and methods for adjusting a virtual try-on
US9013549B2 (en) 2012-05-24 2015-04-21 Silicon Integrated Systems Corp. Depth map generation for conversion of two-dimensional image data into three-dimensional image data
US9621869B2 (en) * 2012-05-24 2017-04-11 Sony Corporation System and method for rendering affected pixels
US20130321564A1 (en) 2012-05-31 2013-12-05 Microsoft Corporation Perspective-correct communication window with motion parallax
US9846960B2 (en) 2012-05-31 2017-12-19 Microsoft Technology Licensing, Llc Automated camera array calibration
US9767598B2 (en) 2012-05-31 2017-09-19 Microsoft Technology Licensing, Llc Smoothing and robust normal estimation for 3D point clouds
US20130329800A1 (en) * 2012-06-07 2013-12-12 Samsung Electronics Co., Ltd. Method of performing prediction for multiview video processing
JP6071257B2 (ja) * 2012-06-07 2017-02-01 キヤノン株式会社 画像処理装置及びその制御方法、並びにプログラム
US20140003530A1 (en) * 2012-06-28 2014-01-02 Qualcomm Incorporated Sign hiding techniques for quantized transform coefficients in video coding
TWI464692B (zh) * 2012-07-03 2014-12-11 Wistron Corp 操作物辨識方法、操作物深度資訊建立方法及電子裝置
US9175975B2 (en) 2012-07-30 2015-11-03 RaayonNova LLC Systems and methods for navigation
US8666655B2 (en) 2012-07-30 2014-03-04 Aleksandr Shtukater Systems and methods for navigation
US9360932B1 (en) * 2012-08-29 2016-06-07 Intellect Motion Llc. Systems and methods for virtually displaying real movements of objects in a 3D-space by means of 2D-video capture
US9374583B2 (en) * 2012-09-20 2016-06-21 Qualcomm Incorporated Video coding with improved random access point picture behaviors
US10085039B2 (en) * 2012-09-21 2018-09-25 Hfi Innovation Inc. Method and apparatus of virtual depth values in 3D video coding
US9501831B2 (en) * 2012-10-02 2016-11-22 Google Inc. Identification of relative distance of objects in images
US8976224B2 (en) 2012-10-10 2015-03-10 Microsoft Technology Licensing, Llc Controlled three-dimensional communication endpoint
US9547937B2 (en) 2012-11-30 2017-01-17 Legend3D, Inc. Three-dimensional annotation system and method
US9875543B2 (en) * 2012-12-10 2018-01-23 Intel Corporation Techniques for rectification of camera arrays
US9857470B2 (en) 2012-12-28 2018-01-02 Microsoft Technology Licensing, Llc Using photometric stereo for 3D environment modeling
JP6150277B2 (ja) * 2013-01-07 2017-06-21 国立研究開発法人情報通信研究機構 立体映像符号化装置、立体映像復号化装置、立体映像符号化方法、立体映像復号化方法、立体映像符号化プログラム及び立体映像復号化プログラム
US9826244B2 (en) * 2013-01-08 2017-11-21 Qualcomm Incorporated Device and method for scalable coding of video information based on high efficiency video coding
JP2016510473A (ja) * 2013-02-12 2016-04-07 トムソン ライセンシングThomson Licensing デプスマップのコンテンツを強化するための方法およびデバイス
EP2962290B1 (en) * 2013-02-21 2019-07-17 HERE Global B.V. Relaying 3d information by depth simulation using 2d pixel displacement
US9940553B2 (en) 2013-02-22 2018-04-10 Microsoft Technology Licensing, Llc Camera/object pose from predicted coordinates
US9674498B1 (en) 2013-03-15 2017-06-06 Google Inc. Detecting suitability for converting monoscopic visual content to stereoscopic 3D
US9369708B2 (en) * 2013-03-27 2016-06-14 Qualcomm Incorporated Depth coding modes signaling of depth data for 3D-HEVC
US9191643B2 (en) 2013-04-15 2015-11-17 Microsoft Technology Licensing, Llc Mixing infrared and color component data point clouds
CN103260032B (zh) * 2013-04-18 2016-07-06 清华大学深圳研究生院 一种立体视频深度图序列的帧率提升方法
US9438878B2 (en) 2013-05-01 2016-09-06 Legend3D, Inc. Method of converting 2D video to 3D video using 3D object models
JP5858254B2 (ja) * 2013-06-06 2016-02-10 ソニー株式会社 2次元コンテンツの3次元コンテンツへのリアルタイム変換の方法及び装置
ITTO20130503A1 (it) * 2013-06-18 2014-12-19 Sisvel Technology Srl Metodo e dispositivo per la generazione, memorizzazione, trasmissione, ricezione e riproduzione di mappe di profondita¿ sfruttando le componenti di colore di un¿immagine facente parte di un flusso video tridimensionale
WO2015003554A1 (en) 2013-07-08 2015-01-15 Mediatek Singapore Pte. Ltd. Method of simplified cabac coding in 3d video coding
US10045014B2 (en) * 2013-07-15 2018-08-07 Mediatek Singapore Pte. Ltd. Method of disparity derived depth coding in 3D video coding
US10491916B2 (en) * 2013-10-01 2019-11-26 Advanced Micro Devices, Inc. Exploiting camera depth information for video encoding
US9619884B2 (en) * 2013-10-03 2017-04-11 Amlogic Co., Limited 2D to 3D image conversion device and method
EP3084721A4 (en) * 2013-12-17 2017-08-09 Intel Corporation Camera array analysis mechanism
CN103686139B (zh) 2013-12-20 2016-04-06 华为技术有限公司 帧图像转换方法、帧视频转换方法及装置
KR101694522B1 (ko) * 2014-02-11 2017-01-10 한국전자통신연구원 2차원 동영상을 3차원 동영상으로 변환하는 방법 및 장치
CN104933755B (zh) * 2014-03-18 2017-11-28 华为技术有限公司 一种静态物体重建方法和系统
WO2015158570A1 (en) * 2014-04-17 2015-10-22 Koninklijke Philips N.V. System, method for computing depth from video
WO2015184605A1 (en) * 2014-06-04 2015-12-10 Mediatek Singapore Pte. Ltd. Depth coding compatible with arbitrary bit-depth
US20160050440A1 (en) * 2014-08-15 2016-02-18 Ying Liu Low-complexity depth map encoder with quad-tree partitioned compressed sensing
CN104361583B (zh) * 2014-10-27 2017-03-08 浙江科技学院 一种确定非对称失真立体图像客观质量的方法
CN104615421A (zh) * 2014-12-30 2015-05-13 广州酷狗计算机科技有限公司 虚拟礼物展示方法和装置
US10127714B1 (en) 2015-01-27 2018-11-13 Google Llc Spherical three-dimensional video rendering for virtual reality
US9679387B2 (en) * 2015-02-12 2017-06-13 Mitsubishi Electric Research Laboratories, Inc. Depth-weighted group-wise principal component analysis for video foreground/background separation
US9948920B2 (en) 2015-02-27 2018-04-17 Qualcomm Incorporated Systems and methods for error correction in structured light
US10068338B2 (en) 2015-03-12 2018-09-04 Qualcomm Incorporated Active sensing spatial resolution improvement through multiple receivers and code reuse
US9530215B2 (en) 2015-03-20 2016-12-27 Qualcomm Incorporated Systems and methods for enhanced depth map retrieval for moving objects using active sensing technology
US9635339B2 (en) 2015-08-14 2017-04-25 Qualcomm Incorporated Memory-efficient coded light error correction
WO2017030507A1 (en) * 2015-08-19 2017-02-23 Heptagon Micro Optics Pte. Ltd. Generating a disparity map having reduced over-smoothing
US9846943B2 (en) 2015-08-31 2017-12-19 Qualcomm Incorporated Code domain power control for structured light
US10142613B2 (en) * 2015-09-03 2018-11-27 Kabushiki Kaisha Toshiba Image processing apparatus, image processing system, and image processing method
US9609307B1 (en) * 2015-09-17 2017-03-28 Legend3D, Inc. Method of converting 2D video to 3D video using machine learning
TWI553591B (zh) * 2015-12-28 2016-10-11 緯創資通股份有限公司 深度影像處理方法及深度影像處理系統
US9852513B2 (en) * 2016-03-01 2017-12-26 Intel Corporation Tracking regions of interest across video frames with corresponding depth maps
US10841491B2 (en) * 2016-03-16 2020-11-17 Analog Devices, Inc. Reducing power consumption for time-of-flight depth imaging
US10560683B2 (en) 2016-04-08 2020-02-11 Maxx Media Group, LLC System, method and software for producing three-dimensional images that appear to project forward of or vertically above a display medium using a virtual 3D model made from the simultaneous localization and depth-mapping of the physical features of real objects
DE102016208056A1 (de) 2016-05-11 2017-11-16 Robert Bosch Gmbh Verfahren und Vorrichtung zur Verarbeitung von Bilddaten und Fahrerassistenzsystem für ein Fahrzeug
US10607417B2 (en) 2016-06-08 2020-03-31 Sony Interactive Entertainment Inc. Image generating apparatus and image generating method
WO2017212720A1 (ja) * 2016-06-08 2017-12-14 株式会社ソニー・インタラクティブエンタテインメント 画像生成装置および画像生成方法
US10553029B1 (en) 2016-09-30 2020-02-04 Amazon Technologies, Inc. Using reference-only decoding of non-viewed sections of a projected video
US10026014B2 (en) * 2016-10-26 2018-07-17 Nxp Usa, Inc. Method and apparatus for data set classification based on generator features
US20200005529A1 (en) * 2017-01-23 2020-01-02 Virtual Diamond Boutique Inc. System, method and computer-accessible medium for displaying a three-dimensional digital version of an object
US10609356B1 (en) * 2017-01-23 2020-03-31 Amazon Technologies, Inc. Using a temporal enhancement layer to encode and decode stereoscopic video content
KR101947782B1 (ko) 2017-02-22 2019-02-13 한국과학기술원 열화상 영상 기반의 거리 추정 장치 및 방법. 그리고 이를 위한 신경망 학습 방법
EP3396949A1 (en) * 2017-04-26 2018-10-31 Koninklijke Philips N.V. Apparatus and method for processing a depth map
US10547784B2 (en) * 2017-06-19 2020-01-28 SighTour Technologies, Inc. Image stabilization
US10735707B2 (en) * 2017-08-15 2020-08-04 International Business Machines Corporation Generating three-dimensional imagery
WO2019075473A1 (en) 2017-10-15 2019-04-18 Analog Devices, Inc. METHODS AND SYSTEMS FOR PROCESSING FLIGHT TIME DEPTH IMAGE
US11157985B2 (en) * 2017-11-29 2021-10-26 Ditto Technologies, Inc. Recommendation system, method and computer program product based on a user's physical features
US10984583B2 (en) * 2018-03-28 2021-04-20 Apple Inc. Reconstructing views of real world 3D scenes
FR3080968A1 (fr) * 2018-05-03 2019-11-08 Orange Procede et dispositif de decodage d'une video multi-vue, et procede et dispositif de traitement d'images.
KR102219561B1 (ko) 2018-11-23 2021-02-23 연세대학교 산학협력단 대응점 일관성에 기반한 비지도 학습 방식의 스테레오 매칭 장치 및 방법
EP4216164A1 (en) * 2019-01-28 2023-07-26 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. Localization of elements in the space
US11670039B2 (en) 2019-03-04 2023-06-06 Dolby Laboratories Licensing Corporation Temporal hole filling for depth image based video rendering
TWI720513B (zh) * 2019-06-14 2021-03-01 元智大學 影像放大方法
CN113643342B (zh) * 2020-04-27 2023-11-14 北京达佳互联信息技术有限公司 一种图像处理方法、装置、电子设备及存储介质
TWI736335B (zh) * 2020-06-23 2021-08-11 國立成功大學 基於深度影像生成方法、電子裝置與電腦程式產品
US20220182597A1 (en) 2020-12-08 2022-06-09 Tencent America LLC Adaptation of 2d video for streaming to heterogenous client end-points
US11736748B2 (en) * 2020-12-16 2023-08-22 Tencent America LLC Reference of neural network model for adaptation of 2D video for streaming to heterogeneous client end-points
US20230237730A1 (en) * 2022-01-21 2023-07-27 Meta Platforms Technologies, Llc Memory structures to support changing view direction

Family Cites Families (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE69121930T2 (de) 1990-02-08 1997-04-03 Canon Kk Bildaufnahmevorrichtung
JP3214688B2 (ja) * 1994-02-01 2001-10-02 三洋電機株式会社 2次元映像を3次元映像に変換する方法及び3次元映像信号生成装置
JP3234412B2 (ja) * 1994-09-21 2001-12-04 三洋電機株式会社 動きベクトル検出装置
JP3005474B2 (ja) * 1996-08-07 2000-01-31 三洋電機株式会社 2次元映像を3次元映像に変換する装置および方法
US6208693B1 (en) 1997-02-14 2001-03-27 At&T Corp Chroma-key for efficient and low complexity shape representation of coded arbitrary video objects
AUPO894497A0 (en) 1997-09-02 1997-09-25 Xenotech Research Pty Ltd Image processing method and apparatus
KR100327103B1 (ko) 1998-06-03 2002-09-17 한국전자통신연구원 사용자의조력및물체추적에의한영상객체분할방법
JP2001320731A (ja) * 1999-11-26 2001-11-16 Sanyo Electric Co Ltd 2次元映像を3次元映像に変換する装置及びその方法
CN1236628C (zh) * 2000-03-14 2006-01-11 株式会社索夫特4D 产生立体图像的方法和装置
US7676081B2 (en) 2005-06-17 2010-03-09 Microsoft Corporation Image segmentation of foreground from background layers
US7720283B2 (en) 2005-12-09 2010-05-18 Microsoft Corporation Background removal in a live video
US8250940B2 (en) 2006-07-20 2012-08-28 Steering Solutions Ip Holding Corporation System and method for controlling contact between members in operable communication
DE102006035906A1 (de) 2006-07-31 2008-04-17 Claas Selbstfahrende Erntemaschinen Gmbh Messvorrichtung zur Inhaltsstofferfassung
KR20090071624A (ko) * 2006-10-04 2009-07-01 코닌클리케 필립스 일렉트로닉스 엔.브이. 이미지 개선
US20080205791A1 (en) * 2006-11-13 2008-08-28 Ramot At Tel-Aviv University Ltd. Methods and systems for use in 3d video generation, storage and compression
US8330801B2 (en) * 2006-12-22 2012-12-11 Qualcomm Incorporated Complexity-adaptive 2D-to-3D video sequence conversion
CA2627999C (en) * 2007-04-03 2011-11-15 Her Majesty The Queen In Right Of Canada, As Represented By The Minister Of Industry Through The Communications Research Centre Canada Generation of a depth map from a monoscopic color image for rendering stereoscopic still and video images
US8131098B2 (en) * 2007-07-06 2012-03-06 Panasonic Corporation Image processing device, image processing method, image processing system, program, storage medium, and integrated circuit
CN101483788B (zh) * 2009-01-20 2011-03-23 清华大学 一种平面视频转立体视频的方法和装置

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101355894B1 (ko) * 2012-09-14 2014-01-29 한밭대학교 산학협력단 적응적 깊이 융합을 이용한 2차원 영상의 3차원 영상 변환장치 및 방법
KR20150079576A (ko) * 2012-11-01 2015-07-08 구글 인코포레이티드 조합된 깊이 큐들에 기초하여 모노스코픽 이미지로부터 깊이 맵 생성
WO2014107099A1 (en) * 2013-01-07 2014-07-10 Samsung Electronics Co., Ltd. Display apparatus and display method thereof
US9177411B2 (en) 2013-01-07 2015-11-03 Samsung Electronics Co., Ltd. Display apparatus and display method thereof
KR20190029505A (ko) * 2016-03-22 2019-03-20 인터디지털 브이씨 홀딩스 인코포레이티드 레거시 및 몰입형 렌더링 디바이스들에 대한 몰입형 비디오를 포맷하는 방법, 장치 및 스트림

Also Published As

Publication number Publication date
KR101354387B1 (ko) 2014-01-22
EP2491722A2 (en) 2012-08-29
TW201130306A (en) 2011-09-01
JP5575908B2 (ja) 2014-08-20
US20110096832A1 (en) 2011-04-28
US8537200B2 (en) 2013-09-17
JP2013509104A (ja) 2013-03-07
CN102598674B (zh) 2014-12-10
WO2011050304A3 (en) 2011-06-16
CN102598674A (zh) 2012-07-18
EP2491722B1 (en) 2015-09-23
WO2011050304A2 (en) 2011-04-28

Similar Documents

Publication Publication Date Title
KR101354387B1 (ko) 2d 비디오 데이터의 3d 비디오 데이터로의 컨버전을 위한 깊이 맵 생성 기술들
US9552633B2 (en) Depth aware enhancement for stereo video
JP6026534B2 (ja) 深度範囲の変動を伴う動き深度マップのコーディング
JP5763184B2 (ja) 3次元画像に対する視差の算出
US20130271565A1 (en) View synthesis based on asymmetric texture and depth resolutions
US8488870B2 (en) Multi-resolution, multi-window disparity estimation in 3D video processing
JP5970609B2 (ja) 3dビデオ符号化における統一された視差ベクトル導出の方法と装置
US20120236934A1 (en) Signaling of multiview video plus depth content with a block-level 4-component structure
JP6446488B2 (ja) ビデオデータデコーディング方法及びビデオデータデコーディング装置
WO2010141927A1 (en) Encoding of three-dimensional conversion information with two-dimensional video sequence
RU2571511C2 (ru) Кодирование карт глубин движения с изменением диапазона глубины
WO2013159300A1 (en) An apparatus, a method and a computer program for video coding and decoding
BR112016020544B1 (pt) Realce consciente de profundidade para vídeo estéreo
KR20140124045A (ko) 객체 기반 적응적 밝기 보상 방법 및 장치

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20161229

Year of fee payment: 4

FPAY Annual fee payment

Payment date: 20171228

Year of fee payment: 5

FPAY Annual fee payment

Payment date: 20181227

Year of fee payment: 6