KR102294937B1 - 듀얼 모드 깊이 추정기 - Google Patents

듀얼 모드 깊이 추정기 Download PDF

Info

Publication number
KR102294937B1
KR102294937B1 KR1020187033646A KR20187033646A KR102294937B1 KR 102294937 B1 KR102294937 B1 KR 102294937B1 KR 1020187033646 A KR1020187033646 A KR 1020187033646A KR 20187033646 A KR20187033646 A KR 20187033646A KR 102294937 B1 KR102294937 B1 KR 102294937B1
Authority
KR
South Korea
Prior art keywords
depth
video data
data
downscaled
circuit
Prior art date
Application number
KR1020187033646A
Other languages
English (en)
Other versions
KR20180135955A (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 KR20180135955A publication Critical patent/KR20180135955A/ko
Application granted granted Critical
Publication of KR102294937B1 publication Critical patent/KR102294937B1/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/593Depth or shape recovery from multiple images from stereo images
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T1/00General purpose image data processing
    • G06T1/60Memory management
    • 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N13/00Stereoscopic video systems; Multi-view video systems; Details thereof
    • H04N13/10Processing, recording or transmission of stereoscopic or multi-view image signals
    • H04N13/106Processing image signals
    • H04N13/122Improving the 3D impression of stereoscopic images by modifying image signal contents, e.g. by filtering or adding monoscopic depth cues
    • 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/10Processing, recording or transmission of stereoscopic or multi-view image signals
    • H04N13/106Processing image signals
    • H04N13/15Processing image signals for colour aspects of image signals
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N13/00Stereoscopic video systems; Multi-view video systems; Details thereof
    • H04N13/10Processing, recording or transmission of stereoscopic or multi-view image signals
    • H04N13/106Processing image signals
    • H04N13/161Encoding, multiplexing or demultiplexing different image signal components
    • 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/10004Still image; Photographic image
    • G06T2207/10012Stereo images
    • 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
    • G06T2207/10021Stereoscopic video; Stereoscopic image sequence
    • 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/10024Color image
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/20Special algorithmic details
    • G06T2207/20016Hierarchical, coarse-to-fine, multiscale or multiresolution image processing; Pyramid transform
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/20Special algorithmic details
    • G06T2207/20024Filtering details
    • G06T2207/20028Bilateral filtering
    • 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/261Image signal generators with monoscopic-to-stereoscopic image conversion
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N13/00Stereoscopic video systems; Multi-view video systems; Details thereof
    • H04N2013/0074Stereoscopic image analysis
    • H04N2013/0081Depth or disparity estimation from stereoscopic image signals
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N2213/00Details of stereoscopic systems
    • H04N2213/003Aspects relating to the "2D+depth" image format
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N2213/00Details of stereoscopic systems
    • H04N2213/005Aspects relating to the "3D+depth" image format

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Testing, Inspecting, Measuring Of Stereoscopic Televisions And Televisions (AREA)
  • Image Processing (AREA)
  • Stereo-Broadcasting Methods (AREA)
  • Optical Communication System (AREA)
  • Controls And Circuits For Display Device (AREA)

Abstract

비디오 데이터의 실-시간 깊이 추정을 위해 구성된 시스템-온-칩이 제공된다. 시스템-온-칩은 모노스코픽-타입의 비디오 데이터로부터의 모노스코픽 깊이 추정을 수행하도록 구성된 모노스코픽 깊이 추정기(200), 및 스테레오스코픽-타입의 비디오 데이터로부터의 스테레오스코픽 깊이 추정을 수행하도록 구성된 스테레오스코픽 깊이 추정기(210)를 포함한다. 시스템-온-칩은 선택된 깊이 추정 모드를 정의하는 구성 데이터를 기초로 모노스코픽 깊이 추정 또는 스테레오스코픽 깊이 추정을 수행하도록 재구성가능하다. 깊이 추정기들 둘 모두는 공유 회로들(120, 150)을 포함하며, 공유 회로들(120, 150)은 하드웨어로 인스턴스화되며, 각각의 깊이 추정기에서 회로의 기능성의 차이들을 설명하도록 재구성가능하다.

Description

듀얼 모드 깊이 추정기
본 발명은 실-시간 깊이 추정을 위해 구성된 시스템-온-칩에 관한 것으로, 시스템-온-칩은 복수의 회로들, 및 공유 메모리에 대한 직접적 메모리 액세스를 가능하게 하기 위한 메모리 인터페이스를 포함한다.
텔레비전들, 디지털 포토 프레임들, 테블릿들 및 스마트폰들과 같은 디스플레이 디바이스들은 점점 더, 3D 디스플레이들을 포함하여, 사용자에게 그러한 디바이스 상에서 컨텐츠를 볼 때 깊이에 대한 지각(perception of depth)을 제공한다. 그러한 목적을 위해, 그러한 3D 디스플레이들은, 그 자체로 또는 사용자가 착용하는 안경과 함께, 스테레오스코피(stereoscopy)에 기반한 깊이에 대한 지각을 사용자에게 제공하기 위해 각각의 눈에서의 상이한 이미지들을 사용자에게 제공할 수 있다.
미디어 분배에서, 2가지 타입들의 비디오 컨텐츠가 현재 널리 이용가능하다.
1. 좌측 및 우측 이미지 쌍들의 시퀀스(보통 "스테레오 비디오" 또는 "3D 비디오"로 지칭됨)로 구성된 스테레오스코픽(stereoscopic) 비디오 컨텐츠
2. 단일 이미지들의 시퀀스(보통 "2D 비디오"로 지칭됨)로 구성된 모노스코픽(monoscopic) 비디오 컨텐츠
각각의 타입의 비디오 데이터를 소위 말하는 이미지+깊이 포맷으로 변환할 필요성이 존재할 수 있으며, 깊이 정보는 깊이 값들, 디스패리티 값들 및/또는 시차 변이 값들 ― 상기 값들 전부는 이미지 내의 오브젝트들이 카메라를 향하여 가지는 거리를 표시함 ― 을 포함할 수 있는 깊이 맵에 의해 제공된다. 그러한 포맷은, 예컨대, 컨텐츠 생성 이후의 깊이 조절을 가능하게 하는 것, 2개 초과의 뷰들을 가지는 오토스테레오스코픽(autostereoscopic) 멀티-뷰 디스플레이들을 다루는 것 등에 유리한 것으로 증명되었다.
모노스코픽 및 스테레오스코픽 비디오 데이터를 이미지+깊이 포맷으로 변환하기 위해, 깊이 추정이 사용될 수 있다. 그러나, 깊이 추정의 타입은 모노스코픽 보다는 스테레오스코픽 비디오 데이터에 대해 상이하다. 즉, 스테레오스코픽 비디오 컨텐츠의 경우, 스테레옵시스(stereopsis)가 깊이 추정을 위한 쌍안 깊이 큐(binocular depth cue)로서 이용가능한 반면, 모노스코픽 비디오 컨텐츠의 경우, 모션, 고도, 커브리니어 관점(curvilinear perspective), 디포커스 블러(defocus blur) 등으로부터의 깊이를 포함하는(그러나, 이들로 제한되는 것은 아님) 모노스코픽 깊이 큐들만이 이용가능하다. 이와 같이, 모노스코픽 및 스테레오스코픽 비디오 데이터에 대해 상이한 깊이 추정이 필요하다.
그러나, 일단 이미지+깊이 포맷으로 변환되면, 뷰 렌더링, 깊이 조절 등을 포함하는 임의의 후속 프로세싱은 동일할 수 있다.
본 발명의 목적은 스테레오스코픽 및 모노스코픽 비디오 데이터 둘 모두의 실-시간 깊이 추정을 위한 자원 효율적 시스템-온-칩을 제공하는 것이다.
본 발명의 제1 양상은 비디오 데이터의 실-시간 깊이 추정을 위해 구성된 시스템-온-칩을 제공한다. 시스템-온-칩은,
- 모노스코픽(monoscopic)-타입의 비디오 데이터로부터의 모노스코픽 깊이 추정을 수행하도록 구성된 모노스코픽 깊이 추정기;
- 스테레오스코픽(stereoscopic)-타입의 비디오 데이터로부터의 스테레오스코픽 깊이 추정을 수행하도록 구성된 스테레오스코픽 깊이 추정기;
- 공유 메모리에 대한 직접적 메모리 액세스를 가능하게 하기 위한 메모리 인터페이스를 포함하고,
시스템-온-칩은 선택된 깊이 추정 모드를 정의하는 구성 데이터를 기초로 모노스코픽 깊이 추정 또는 스테레오스코픽 깊이 추정을 수행하도록 재구성가능하고, 모노스코픽 깊이 추정기 및 스테레오스코픽 깊이 추정기는,
- 하드웨어로 인스턴스화된 재구성가능한 공유 입력 프로세싱 회로;
- 각각 개별적으로, 하드웨어로 인스턴스화된 깊이 추정기 코어 회로; 및
- 하드웨어로 인스턴스화된 재구성가능한 공유 깊이 업스케일링(upscaling) 회로를 포함하며,
재구성가능한 공유 입력 프로세싱 회로는,
- 복수의 다운스케일 팩터(downscale factor)들에 따라 비디오 데이터의 입력 이미지를 공간적으로 다운스케일링함으로써, 비디오 데이터의 각각의 입력 이미지에 대한 다운스케일링된 이미지들의 계층(hierarchy)을 생성하고 ― 입력 프로세싱 회로는 사용-사례 특정 다운스케일링된 비디오 데이터를 획득하기 위해 모노스코픽 깊이 추정보다는 스테레오스코픽 깊이 추정을 위해 출력될 다운스케일링된 이미지들의 계층의 상이한 서브세트를 선택하도록 구성 데이터에 의해 구성가능함 ― , 그리고
- 공유 메모리 내에 사용-사례 특정 다운스케일링된 비디오 데이터를 저장하도록 구성 데이터에 의해 재구성가능하고,
깊이 추정기 코어 회로는,
- 비디오 데이터 또는 사용-사례 특정 다운스케일링된 비디오 데이터에 액세스하고,
- 상기 액세스된 비디오 데이터로부터 깊이 데이터를 추정하고 ― 깊이 데이터는 비디오 데이터의 공간 해상도보다 낮은 공간 해상도를 가짐 ― , 그리고
- 공유 메모리 내에 깊이 데이터를 저장하고,
재구성가능한 공유 깊이 업스케일링 회로는,
- 깊이 데이터 및 사용-사례 특정 다운스케일링된 비디오 데이터에 액세스하고, 그리고
- 사용-사례 특정 다운스케일링된 비디오 데이터를 사용하여 연속적 단계들에서 깊이 데이터를 업스케일링하도록 구성 데이터에 의해 재구성가능하고, 깊이 업스케일링 회로는 선택된 깊이 추정 모드에 따라 모노스코픽 깊이 추정보다는 스테레오스코픽 깊이 추정을 위해 상이한 연속적 단계들을 사용하도록 구성 데이터에 의해 구성가능하다.
유입 비디오 데이터는 스테레오스코픽 또는 모노스코픽이고, 따라서, 깊이 추정 사용-사례들 둘 모두, 예컨대, 스테레오스코픽 비디오 데이터로부터의 깊이 추정 및 모노스코픽 비디오 데이터로부터의 깊이 추정은 서로 배타적이다. 통상적으로, 스테레오스코픽 비디오 데이터에 대한 깊이 추정기 및 모노스코픽 비디오 데이터에 대한 깊이 추정기의 구현은 전용(기능-특정) 회로들을 결과로 하며, 따라서, 단지 교대로 활성인 택일적 회로들을 설정할 것이다. 청구되는 바와 같은 본 발명에 따라, 시스템은 재구성가능한 공유 회로들을 포함한다. '공유' 회로라는 용어는, 깊이 추정기들 둘 모두에 의해 사용되는 회로를 지칭하며, 하드웨어로 한번만 인스턴스화될 수 있다.
그럼에도 불구하고, 공유 회로들은 각각의 깊이 추정기에서 공유 회로의 기능성의 차이들을 설명하기 위해, 선택된 깊이 추정 모드를 정의하는 구성 데이터에 의해 상이하게 구성될 수 있다. 공유된 재구성가능한 회로들 중 하나로서, 선택된 깊이 추정 모드에 따라 비디오 데이터를 상이하게 공간적으로 다운스케일링하는 입력 프로세싱 회로가 제공된다. 특히, 입력 프로세싱 회로는 복수의 다운스케일 팩터들에 따라 입력 이미지를 다운스케일링함으로써 다운스케일링된 이미지들의 계층을 생성하도록 배열된다. 예컨대, 입력 이미지는 2배만큼 반복적으로 다운스케일링될 수 있다. 입력 프로세싱 회로는, 전술된 모노스코픽 깊이 추정 및 스테레오스코픽 깊이 추정을 포함하는 각각의 상이한 사용-사례에 대해, 다운스케일링된 이미지들의 상이한 서브세트를 출력하도록 구성 데이터를 기초로 구성가능하다. 따라서, 입력 프로세싱 회로는, 모노스코픽 깊이 추정 및 스테레오스코픽 깊이 추정을 위해 그리고 특히, 깊이 추정에 관련된 다른 회로들에 의해 요구될 수 있는 이미지들의 해상도에 관해 상이한 요건들을 수용할 수 있다.
그러한 회로들의 일 예는 하드웨어로 개별적으로 인스턴스화된 깊이 추정기 코어 회로들이다. 깊이 추정기 코어 회로들 둘 모두는 다운스케일링된 비디오 데이터를 사용하여 깊이를 추정할 수 있으며, 다운스케일링된 비디오 데이터의 해상도에 관련하여, 그리고 또한 비디오 데이터의 어떤 컴포넌트들이 제공되는지에 관련하여 선택적 양상에 따라, 상이한 요건들을 가질 수 있다. 따라서, 입력 프로세싱 회로는, 현재 활성인 깊이 추정기 코어 회로에 사용-사례 특정 다운스케일링된 비디오 데이터를 제공함으로써 그러한 상이한 입력 요건들을 수용하도록 배열된다.
다른 예는, 공유 회로로서 제공되며 따라서 하드웨어로 한번만 인스턴스화될 수 있고, 선택된 깊이 추정 모드에 따라 깊이 데이터를 상이하게 업스케일링하는 깊이 업스케일링 회로이다. 특히, 업스케일링은 연속적 단계들에서 수행될 수 있으며, 연속적 단계들은 모노스코픽 깊이 추정 및 스테레오스코픽 깊이 추정에 대해 상이하다. 이것에 대한 비-제한적 이유는, 깊이가 모노스코픽 깊이 추정기에 의해 추정되었는지 또는 스테레오스코픽 깊이 추정기에 의해 추정되었는지에 따라 깊이 데이터가 상이한 공간 해상도를 가진다는 것일 수 있다. 입력 프로세싱 회로와 유사하게, 깊이 업스케일링 회로는 그러한 상이한 스케일링 요건들을 수용하도록 구성 데이터에 의해 구성가능하며, 따라서 하드웨어로 한번만 인스턴스화되어야 한다. 업스케일링이, 예컨대, 이미지-적응형 업스케일링을 사용하여 깊이 데이터를 업스케일링하기 위해 다운스케일링된 이미지들을 사용하고, 특히, 각각의 사용-사례에서, 다운스케일링된 이미지들의 상이한 서브세트를 사용할 수 있기 때문에, 사용-사례 특정 다운스케일링된 비디오 데이터는 특정 사용-사례에 대해 입력 프로세싱 회로에 의해 생성되는 바와 같이 입력으로서 사용된다.
이로써, 2개의 깊이 추정기들 사이에 상당한 양의 하드웨어 공유 또는 하드웨어 재-사용이 이루어져, 모노스코픽 및 스테레오스코픽 깊이 추정을 위한 자원-효율적 시스템-온-칩을 결과로 한다.
선택적으로, 모노스코픽 깊이 추정기의 깊이 추정기 코어 회로는 비디오 데이터의 이미지 또는 사용-사례 특정 다운스케일링된 비디오 데이터에 적용될 때 깊이 맵을 출력으로서 제공하는 조인트 바이래터럴 필터(joint bilateral filter)를 구현한다. 조인트 바이래터럴 필터들은, 이들이 실제 이미지 컨텐츠들에 일반적 깊이 프로파일을 적응시키기 위해 사용될 수 있으므로, 모노스코픽 비디오 데이터로부터의 깊이 추정에 적합한 것으로 밝혀졌다. 그러한 바이래터럴 필터들이 다운스케일링된 이미지 데이터를 입력으로서 사용하며, 다운스케일링된 깊이 데이터를 출력으로서 생성할 수 있기 때문에, 블록 매칭에 기반하여 스테레오 깊이 추정기들과의 실질적 기능 오버랩이 존재하며, 그러한 바이래터럴 필터들은 또한, 다운스케일링된 이미지 데이터를 입력으로서 사용하고, 다운스케일링된 깊이 데이터를 출력으로서 생성할 수 있다.
선택적으로, 스테레오스코픽 깊이 추정기의 깊이 추정기 코어 회로는 비디오 데이터의 스테레오 이미지 쌍 또는 사용-사례 특정 다운스케일링된 비디오 데이터에 적용될 때 디스패리티 맵을 출력으로서 제공하는 블록 매처(block matcher)를 구현한다.
실시예들은 종속항들에 정의된다.
본 발명의 이러한 그리고 다른 양상들은 이하에서 설명되는 실시예들로부터 명백하며, 이들을 참조하여 설명될 것이다. 도면들에서,
도 1은 실-시간 변환(RTC: real-time conversion) IP 블록을 포함하는 시스템-온-칩을 가지는 (외부) 공유 메모리를 가지는 시스템-온-칩의 개요를 도시한다.
도 2는 스테레오스코픽 비디오 데이터 또는 모노스코픽 비디오 데이터의 깊이 추정을 위한 RTC IP 블록의 구성을 예시한다.
도 3은 RTC IP 블록의 입력 프로세싱 회로를 도시한다.
도 4는 RTC IP 블록의 DUP(depth upscaling)를 도시한다.
도 5-도 7은 다양한 스테레오스코픽 깊이 추정 사용-사례들을 예시한다.
도 8 및 도 9는 다양한 모노스코픽 깊이 추정 사용-사례들을 예시한다.
도 10-도 13은 도 5-도 8의 사용-사례들에 대응하지만, 이제, 도 3을 참조하여 설명되는 바와 같은 입력 프로세싱 회로를 사용하여 도시된다.
도 14 및 도 15는 도 10-도 13의 사용-사례들에 관한 요약들을 제공한다.
도 16-도 18은 비디오 데이터의 버퍼 관리를 예시한다.
도 19는 스테레오스코픽 비디오 데이터의 실-시간 변환을 위한 스케줄을 도시한다.
도 20은 스테레오스코픽 비디오 데이터의 실-시간 변환을 위한 다른 스케줄을 도시한다.
도 21은 모노스코픽 비디오 데이터의 실-시간 변환을 위한 스케줄을 도시한다.
도 22는 모노스코픽 비디오 데이터의 실-시간 변환을 위한 또 다른 스케줄을 도시한다.
상이한 도면들에서 동일한 참조 번호들을 가지는 아이템들은 동일한 구조적 특징들 및 동일한 기능들을 가지거나, 또는 동일한 신호들이라는 점이 주목되어야 한다. 그러한 아이템의 기능 및/또는 구조가 설명된 경우, 상세한 설명에서 이에 대해 반복적으로 설명할 필요는 없다.
참조 번호들의 리스트
다음의 참조 번호 리스트는 도면들의 해석을 용이하게 하기 위해 제공되며 청구항들을 제한하는 것으로 해석되지 않아야 한다.
010 외부 공유 메모리
020 비디오 데이터
030 신호 입력
040-046 외부 공유 메모리와의 데이터 통신
050 신호 출력
060 출력 신호
100 시스템-온-칩
110 실-시간 변환 IP 블록
120 입력 프로세싱 회로
130 블록 매칭 회로
140 조인트 바이래터럴 필터
150 깊이 업스케일링 회로
160 임베디드 CPU 코어
200 모노스코픽 깊이 추정기
210 스테레오스코픽 깊이 추정기
300 스테레오스코픽 비디오 데이터의 실-시간 변환을 위한 기본 스케줄
310 스테레오스코픽 비디오 데이터의 실-시간 변환을 위한 진보된 스케줄
320 모노스코픽 비디오의 실-시간 변환을 위한 기본 스케줄
330 모노스코픽 비디오의 실-시간 변환을 위한 진보된 스케줄
도 1은 실-시간 변환 IP 블록(110)('RTC IP 블록'으로 라벨링되고, 이후에는 또한 'RTC IP 블록'으로 지칭됨)을 포함하는 SoC(100)를 가지는 외부 공유 메모리(010)('Ext. mem'로 라벨링됨)를 가지는 시스템-온-칩(100)('SoC'로 도 1에서 라벨링되고, 이후에는 'SoC'로 또한 지칭됨)의 개요를 도시한다. 여기서, 'IP 블록'이라는 용어는 전자 설계 분야의 반도체 지적 재산 코어로 또한 지칭되는 로직, 셀 또는 칩 레이아웃 설계의 재사용가능한 유닛의 구현을 지칭한다. RTC IP 블록(110)은 입력 프로세싱 회로(120)('INP'로 라벨링됨), 블록 매칭 회로(130)('BM'으로 라벨링됨), 조인트 바이래터럴 필터 회로(140)('BF'로 라벨링됨), 깊이 업스케일링 회로(150)('DUP'로 라벨링됨) 및 임베디드 CPU 코어(160)('IP CPU'로 라벨링됨)를 포함하는 것으로 도시된다.
SoC(100)는 다음과 같은 방식으로 외부 메모리(010)와 인터페이싱(040)하는 것으로 도시된다. 복수의 이미지들을 포함하는 비디오 데이터(020)는 SoC(100)의 신호 입력(030)('Sign. In'으로 라벨링됨)에 의해 수신되며, 데이터 통신(042)을 통해 외부 메모리(010)에 저장된다. 신호 입력(030)은 색 공간 변환(예컨대, RGB에서 YUV), 크로마 서브샘플링(chroma subsampling), (예컨대, 외부 메모리(010) 내의 평면 버퍼들에의 저장을 위한) 평면 포맷으로의 디-멀티플렉싱(de-multiplexing) 등과 같은 입력 프로세싱을 수행할 수 있지만, 수행할 필요는 없다. 그런 다음, 저장된 이미지들은 데이터 통신(044)을 통해 RTC IP 블록(110)에 의해 프로세싱되고, RTC IP 블록(110)은 이미지들의 컨텐츠에 의해 표현되는 깊이를 추정하도록 구성되어, 그에 의해, 적어도 깊이 정보 및 가능하게는, 외부 메모리(010)에 저장된 중간 데이터를 출력으로서 산출한다. 그런 다음, 이미지들 및 깊이 정보는 데이터 통신(046)을 통해 SoC(100)의 신호 출력(050)('Sign. Out'으로 라벨링됨)에 의해 판독되며, 출력 신호(060)로 합성된다.
RTC IP 블록(110)의 프로세싱은 다음과 같을 수 있다: 입력 프로세싱 회로(120)가 다운스케일링된 비디오 데이터를 획득하기 위해 비디오 데이터를 공간적으로 다운스케일링하고, 외부 메모리에 다운스케일링된 비디오 데이터를 저장할 수 있다. 블록 매칭 회로(130) 또는 조인트 바이래터럴 필터 회로(140)이며, 도 2를 참조하여 추가로 논의되는 깊이 추정기 코어 회로는 다운스케일링된 비디오 데이터에 액세스하고, 다운스케일링된 비디오 데이터로부터 깊이를 추정하고(그에 의해 비디오 데이터의 공간 해상도보다 낮은 공간 해상도를 가지는 깊이 데이터를 획득함), 외부 메모리에 깊이 데이터를 저장할 수 있다. 깊이 업스케일링 회로(150)는 깊이 데이터 및 다운스케일링된 비디오 데이터에 액세스하고, 다운스케일링된 비디오 데이터를 사용하여 깊이 데이터를 업스케일링할 수 있다.
RTC IP 블록(110)은 2개의 상이한 모드들, 즉, 모노스코픽(또한 간단히 '2D'라 칭함) 깊이 추정 모드 및 스테레오스코픽(또한 간단히 '스테레오'라 칭함) 깊이 추정 모드에서 재구성가능할 수 있다. 이로써, 시스템-온-칩은 모노스코픽 깊이 추정 또는 스테레오스코픽 깊이 추정을 수행하도록 재구성가능할 수 있다. 도 2는, 각각의 개개의 깊이 추정기를 표현하는 회로들을 포함하는 점선에 의해 모노스코픽 깊이 추정기(200) 및 스테레오스코픽 깊이 추정기(210) 각각을 표시하는, RTC IP 블록(110)의 각각의 모드에 관련된 회로들을 개략적으로 예시한다. 즉, 모노스코픽 깊이 추정기(200)는 입력 프로세싱 회로(120), 조인트 바이래터럴 필터 회로(140) 및 깊이 업스케일링 회로(150)를 포함하는 반면, 스테레오스코픽 깊이 추정기(210)는 입력 프로세싱 회로(120), 블록 매칭 회로(130) 및 깊이 업스케일링 회로(150)를 포함한다.
그에 따라서, 모노스코픽-타입의 비디오 데이터로부터 그리고 스테레오스코픽-타입의 비디오 데이터로부터 깊이를 추정하기 위해 개별 깊이 추정기 코어 회로가 제공되는 반면, 깊이 추정기들(200, 210) 둘 모두는 입력 프로세싱 회로(120) 및 깊이 업스케일링 회로(150)를 공유한다. 또한, 도 2에서 예시되는 바와 같이, 모노스코픽 깊이 추정을 위한 깊이 추정기 코어 회로는 조인트 바이래터럴 필터 회로(140)일 수 있는 반면, 스테레오스코픽 깊이 추정을 위한 깊이 추정기 코어 회로는 블록 매칭 회로(130)일 수 있다. 입력 프로세싱 회로(120) 및 깊이 업스케일링 회로(150)는 각각, 그에 따라 모노스코픽 깊이 추정기 및 스테레오스코픽 깊이 추정기에 의해 공유되는 바와 같은 모노스코픽-타입의 비디오 데이터 또는 스테레오스코픽-타입의 비디오 데이터를 프로세싱하도록 재구성가능할 수 있다.
깊이 추정기들 둘 모두는 상호 배타적인 상황들, 즉, 비디오 데이터가 모노스코픽 비디오 데이터 또는 스테레오스코픽 비디오 데이터일 때 사용된다는 것이 인식되었다. 이러한 인식은 RTC IP 블록(110)에 대한 기초로서 사용되며, RTC IP 블록(110)의 2개의 깊이 추정기들 사이에 상당한 양의 하드웨어 공유 또는 하드웨어 재-사용이 이루어져, 모노스코픽 및 스테레오스코픽 비디오 데이터 둘 모두에 적합한 비용-효율적 IP 블록을 결과로 한다. 특히, 그러한 재-사용은 구성 데이터에 의해 재구성가능한 재구성가능 공유 회로들을 제공함으로써 획득된다. 구성 데이터는 깊이 추정 모드들 각각에 대한 각각의 회로의 기능성을 정의하는 파라미터들을 포함할 수 있다. 각각의 공유 회로는 파라미터화가능한 입력들, 스케일러들 및 출력들을 포함할 수 있다. 이로써, '재구성'이라는 용어는 구성 데이터의 파라미터들에 따라 구성되는 입력, 스케일러들 및 출력들을 지칭할 수 있다.
RTC IP 블록(110)은 선택된 깊이 추정 모드를 표시하는 구성 데이터를 기초로 2D 모드 또는 스테레오 모드로 재구성될 수 있다는 점이 주목된다. 특히, 그러한 구성 데이터는 도 3 및 도 4를 추가로 참조하여 추가로 설명될 바와 같이, 선택된 깊이 추정 모드에 따라 입력 프로세싱 회로(120) 및 깊이 업스케일링 회로(150)를 재구성하기 위한 구성 데이터 컴포넌트들을 포함할 수 있다. 데이터 컴포넌트들은 RTC IP 블록(110)의 상이한 부분들에, 예컨대, 상이한 레지스터들 또는 내부 메모리들에 저장될 수 있고, 따라서, 구성 데이터는, 예컨대, 데이터의 단일 블록에 의해 구성되는 것보다는 분배될 수 있다. 구성 데이터는 최종-사용자 (메뉴) 세팅들을 포함하는(그러나, 이로 제한되는 것이 아님) 상이한 소스들로부터 발신할 수 있거나, 또는 입력 신호(020)의 특성들로부터 자동으로 도출될 수 있다. 비-제한적 예는, 입력이 HDMI이면, 소위 말하는 프레임-패킹된 모드가 입력에서 검출되고, 스테레오 추정기를 선택/활성화하는 역할을 할 수 있다는 것이다.
RTC IP 블록(110)의 깊이 추정기들 각각에 대한 동작들의 스케줄의 예는 도 19-22를 추가로 참조하여 논의될 것이다.
도 3은 RTC IP 블록의 입력 프로세싱 회로(120)의 특정 실시예의 보다 많은 세부사항들을 도시한다. 입력 프로세싱 회로(120)는 다운스케일링된 비디오 데이터를 획득하기 위해 비디오 데이터를 공간적으로 다운스케일링하고, 외부 메모리에 다운스케일링된 비디오 데이터를 저장하도록 구성될 수 있다. 그러한 목적을 위해, 입력 프로세싱 회로(120)는, 2D 모드 또는 스테레오 모드에서 사용하도록 그리고 감소된 구성에 그리고 그에 따라서, 블록에서의 하드웨어의 증가된 재-사용에 Y 및 U/V 컴포넌트들을 사용하도록 구성될 수 있는 하드웨어를 포함할 수 있다. 이것은 비용-효율적이고 다목적 솔루션에 기여한다.
스테레오 모드의 경우, 모든 출력들이 인에이블링되며, 이는 DMA IN1x1 블록을 통해 획득된 입력 이미지가 2x2, 4x4 및 8x8배만큼 스케일링 다운된다는 것을 의미하며, 그 숫자들은 수평 및 수직 차원(dimension)을 따라 다운스케일링을 각각 표시한다. 여기서, '2x2' 블록은 2x2 만큼 입력을 다운스케일링하는 스케일링 회로를 표시하고, 개개의 출력은 DMA OUT 블록에 의해 표시된다. 2D 깊이 추정의 경우, 8x8 출력이 디스에이블링될 수 있는데, 그 이유는 이 출력이 사용되지 않기 때문이다. 스테레오스코픽 깊이 추정기의 경우, 좌측 및 우측 이미지들이 때로는 색 차이들을 겪는다는 것이 밝혀졌다. 입력 프로세싱 회로(120)는 그러한 차이들을 정정하기 위한 피처들을 포함할 수 있다. 구체적으로, 둘 모두의 이미지들의 히스토그램은 'ACC HIST'로 라벨링된 회로에 의해 누적될 수 있다. 그런 다음, IP CPU(도 3에 도시되지 않음)는, 우측 이미지에 'PIX REMAP'로 라벨링된 회로에 의해 적용될 수 있는 색 차이들을 정정하도록 픽셀 리맵핑 테이블을 구성할 수 있다. 좌측 이미지는, 그것이 통상적으로 스테레오 카메라의 뷰파인더로서 사용되므로, 참조 이미지로서 바람직하게 사용된다는 점이 주목된다. 히스토그램 누적 및 픽셀 리맵핑은 2D 모드에서, 즉, 2D 깊이 추정기를 사용할 때, 디스에이블링될 수 있다는 점이 추가로 주목되며, 이는 개개의 회로들이 선택된 깊이 추정 모드에 따라 사용되도록 구성가능하거나 또는 그렇지 않을 수 있다는 것을 의미한다.
입력 프로세싱 회로(120)는 비디오 데이터의 U 및 V 컬러 컴포넌트들을 또한 다운스케일링하도록 구성될 수 있다는 점이 추가로 주목된다. 이러한 컴포넌트들은 평면 방식으로 저장되며, 이로써 각각의 컴포넌트가 그 자체 버퍼에 저장된다고 가정될 수 있다. 통상적인 경우, 입력 신호는 4:2:0의 크로미넌스 서브샘플링을 사용할 수 있는데, 이는 입력 U 및 V 버퍼들이 2x2 Y 해상도로 이미 사전-다운스케일링된다는 것을 의미한다. 그러한 2x2 다운스케일링된 U 또는 V 버퍼는 동일한 하드웨어 블록에 의해 프로세싱될 수 있다. 이러한 경우, 2x2에서의 입력 U 또는 V 버퍼는 4x4로 다운스케일링되어 DMA O2x2(여기서, 접두어 'O'는 '출력(Output)'을 나타냄)를 통해 출력되고, 8x8로 다운스케일링되어 DMA O4x4를 통해 출력되고, 그리고 16x16으로 다운스케일링되어 DMA O8x8을 통해 출력될 수 있다. 더욱이, O8x8 출력은 통상적으로 스테레오 모드에 대해 디스에이블링된다. 2D 모드의 경우, O4x4 출력은 크로미넌스 컴포넌트들에 대해 디스에이블링될 수 있다.
도 4는 RTC IP 블록의 DUP(depth upscaling) 회로(150)를 도시하며, 이는 또한 구성 데이터를 기초로 재구성가능하여, 그에 의해, 2D 모드 및 스테레오 모드 둘 모두에서의 그것의 사용을 가능하게 한다. 특정 예에서, 깊이 업스케일링 회로(150)는, 그것의 업스케일링에서, 논문 Riemens 등의, Proc.에 의한 "Multistep joint bilateral depth upsampling"에서 설명되는 기법을 사용할 수 있다. SPIE 7257, Visual Communications and Image Processing 2009, January 19, 2009, 즉, 조인트 바이래터럴 필터링 기법에서, 업샘플링(즉, 업스케일링) 필터는 바이래터럴 필터의 소위 말하는 '레인지 텀(range term)'에서 높은-해상도 및 낮은-해상도 이미지들 둘 모두로부터의 샘플들을 사용한다. 업샘플링은 각각의 스테이지에서 2x2배만큼 해상도를 정제하는 다수의 스테이지들에서 수행될 수 있다. 특히, 깊이 업스케일링 회로는 (DUP2, DUP1 및 DUP0을 사용하여) 3-단계 업샘플링을 위해 또는 (단지 DUP1 및 DUP0을 사용하여) 2-단계 업샘플링을 위해 구성될 수 있다. 이 3-단계 업샘플링은 D4x4 DMA 유닛(여기서, 접두어 'D'는 '깊이(Depth)'를 나타냄) 및 멀티플렉서가 D4x4 데이터를 포함하는 로컬 버퍼에 기록된 데이터의 소스를 결정하는 것을 수반할 수 있다. 추가로, 테스트를 보조하기 위해, D4x4 입력과 유사한 선택적 D2x2 입력 거동이 있는 것으로 도시된다. 도 4에 도시되는 바와 같이, DUP2 및 DUP1 업샘플 단계들은 이미지 에지들의 개선된 검출을 획득하기 위해 U 및 V 이미지 데이터를 사용하도록 구성될 수 있다. 이러한 단계들에 대해, 바이래터럴 필터들에서의 계수 가중치는 Y, U 및 V 컴포넌트들에 의해 결정될 수 있다. U 및 V 컴포넌트들은 서비스 품질을 허용하기 위한 선택 사항이다: 이러한 이미지 버퍼들을 제공하지 않는 것은 깊이 업스케일링 회로의 보다 낮은 대역폭 사용을 결과로 하지만, 바이래터럴 필터의 에지 보존 거동의 품질의 감소를 감수한다. 최종 업샘플 단계 DUP0은 Y 컴포넌트만을 사용할 수 있다는 점이 추가로 주목된다. 실제로, 대부분의 신호 소스들은 미디어 분배 네트워크들을 통해 분배되었으며, 그에 따라서, 통상적으로 4:2:0의 크로미넌스 서브샘플링을 겪었다. 이러한 경우들에서, 전체-해상도 크로미넌스 신호들에는, 그러한 신호가 이용가능할지라도, 유용한 정보가 존재하지 않는다.
깊이 추정기들 둘 모두 사이에서 입력 데이터의 다운스케일링 및 출력 깊이 데이터의 업샘플링 둘 모두에 대해 상이한 이유들이 존재한다는 점이 주목된다.
스테레오 깊이 추정기의 경우, 블록 매처는 특정 블록 사이즈로 동작할 수 있다. 블록 사이즈의 선택은 통상적으로 중요한 알고리즘 설계 파라미터이다: 매우 작은 사이즈들을 사용할 때, 블록들은 충분히 고유하지 않고, 따라서, 블록 매처가 유사한 이미지 컨텐츠를 인식하기 어려운 반면, 매우 큰 블록 사이즈들을 사용할 때, 결과적 깊이 필드는 매우 거친(coarse) 구조를 가진다. 양호한 밸런스는, 예컨대, 8x8 픽셀들의 블록 사이즈를 사용할 때 발견된다. 이것은 입력 해상도와 관련하여 각각의 8x8 블록에 대한 디스패리티 벡터, 및 따라서, 또한 각각의 8x8 픽셀 블록에서의 깊이 값을 결과로 한다. 예컨대, 뷰 렌더링을 위한 출력에서 각각의 픽셀에서의 깊이 값이 요구되기 때문에, 이것은 8x8 그리드로부터 1x1 그리드로의 업샘플링을 요구한다. 깊이 업스케일링 회로는 이러한 업샘플링 기능성을 제공한다. 스테레오 추정기가 입력 해상도에서만 실행되는 경우, 블록 매칭 회로에 대한 비디오 입력 이미지들을 다운스케일링할 필요가 없다. 그러나, 깊이 업스케일링 회로는 연속적 2x2 단계들에서 단계 방식(step-wise) 업샘플링을 수행할 수 있다는 점이 주목된다. 이러한 단계들 각각은 보다 낮은 공간 해상도뿐만 아니라 보다 높은 공간 해상도 둘 모두에서 이미지 데이터의 사용으로부터 이익을 얻을 수 있다. 그에 따라서, 8x8, 4x4 및 2x2 해상도의 다운스케일링된 이미지가 사용될 수 있다. 이러한 다운스케일링된 이미지들은 입력 프로세싱 회로에 의해 생성될 수 있다. 계층적 블록 매칭이 스테레오 깊이 추정기에 의해 사용되는 경우, 다운스케일링된 입력 이미지들은 "보다 높은" 계층적 레벨들에 대해 다운스케일링된 입력 이미지들이 요구될 수 있고, 이로써 이러한 경우, 다운스케일링된 입력 이미지들은 상이한 목적들을 위해 재사용될 수 있다.
모노스코픽 깊이 추정기의 경우, 발명자들은 입력 해상도보다 낮은 해상도로 바이래터럴 필터 회로를 실행하는 것이 유리하다는 것을 인식하였다. 고속(fast) 바이래터럴 필터 구현의 경우에도, 이것은 시스템의 자원 사용을 감소시킨다. 발명자들은 4x4 다운스케일링된 이미지 데이터에 대한 바이래터럴 필터링이 충분한 양호한 결과들을 제공한다는 것을 인식하였다. 이것은 바이래터럴 필터의 출력 깊이 맵이 입력 해상도에 비해 4x4 다운스케일링된 그리드 상에 있게 야기한다. 바이래터럴 필터가 4x4 다운스케일링된 이미지에서 동작하게 하기 위해, 입력은 다운스케일링될 필요가 있고, 깊이 업스케일링 회로는 4x4 깊이 맵을 1x1 그리드로 업샘플링할 필요가 있다.
도 5-도 18은 본 명세서에서 설명되는 바와 같은 입력 프로세싱 회로 및 깊이 업스케일링 회로에 대한 다양한 설계 고려사항들을 예시한다.
도 5-도 7은 8x8 깊이 맵을 출력으로서 제공하는 블록 매처 BM을 사용하여 스테레오 깊이 추정을 예시하며, 이는 그런 다음, 일련의 업스케일링 단계들에서 1x1 해상도로 업스케일링된다. 여기서 그리고 다음의 도면들에서, "/V"는 벡터 필드를 나타낸다.
도 5-도 7은 이들이 스테레오 깊이 추정을 위한 상이한 사용-사례들을 도시한다는 점에서 상이하다. 도 5는 계층적 블록 매칭이 사용된 사용-사례 A를 도시한다. 도 6은 제1 QoS(Quality of Service) 사용-사례 B를 도시하며, 여기서, 깊이 스케일링의 스테이지 1은, 사용-사례 A에서와 같이 (좌측 이미지) U 및 V 컴포넌트들을 사용하기보다는 (좌측 이미지) Y 컴포넌트만을 사용하고, 이는 출력 품질을 감소시키지만, 또한 대역폭 사용을 DUP 블록으로 감소시키며, 전력 소비를 낮춘다. 도 7은 다른 QoS 사용-사례 C를 도시한다. 이러한 사용-사례에서는, 어떠한 계층적 블록 추정도 사용되지 않고, 이는 대역폭을 블록 매처로 감소시키며, 전력 소비를 낮춘다. 이러한 사용-사례들 모두의 경우, RY, LY, LU 및 LV의 비디오 데이터가, 각각의 기능 블록에 대해 개별적으로 획득되고, 블록의 요건들에 따라, 사전에 다운스케일링되는 데이터 흐름들이 도시된다. 이로써. 도 5-도 7은 입력 데이터에 관해 각각의 기능 블록의 요건들을 예시한다.
도 8 및 도 9는 도 5-도 7과 유사하지만, 이제, 모노스코픽 깊이 추정기에 대한 2개의 상이한 사용-사례들 K, L을 도시한다. 여기서, 4x4 다운스케일링된 Y 컴포넌트를 레인지 텀으로서 사용하여, 깊이 템플릿, 예컨대, 슬랜트에 적용되는 조인트 바이래터럴 필터가 사용된다. 업스케일링은 다수의 스테이지들에서 다시 수행되며, 도 8의 사용-사례 K는 비디오 데이터의 루미넌스 데이터 컴포넌트 Y뿐만 아니라, 크로미넌스 컴포넌트들 U, V를 사용하여 업스케일링을 수행하는 반면, 도 9의 사용-사례 L은 루미넌스 데이터 컴포넌트 Y만을 사용하여, 그에 의해, 대역폭 사용을 DUP 블록으로 감소시키며, 전력 소비를 낮춘다.
각각의 깊이 추정기에 대한 상이한 사용-사례들을 서로 비교할뿐만 아니라, 스테레오스코픽 사용-사례들을 모노스코픽 사용-사례들과 비교할 때, 상이한 기능 블록들의 입력 요건들 사이의 상당한 오버랩이 존재한다는 것을 알 수 있다. 따라서, 발명자들은 하드웨어로 한번만 인스턴스화될 필요가 있을 수 있지만 이러한 모든 사용-사례들을 수용할 수 있는 하드웨어 회로인 것으로서 입력 프로세싱 회로를 고안하였다. 추가로, 발명자들은 또한, 모든 이러한 사용-사례들을 수용할 수 있는 하드웨어 회로 DUP로서 깊이 업스케일링 프로세스 회로를 고안하였다. 그 결과는 사용-사례들 A, B, C에 대한 도 10-도 12에 그리고 사용-사례 K에 대한 도 13에 도시된다(사용-사례 L에 대한 대응하는 도면은 도 13과의 그것의 유사성으로 인해 생략되어서, DUP 회로로의 크로미넌스 입력들만을 생략함).
이러한 도면들 각각에서, 입력 프로세싱 회로는 스케일링되지 않은 Y 비디오 데이터인, 또는 U, V의 경우 4:2:0 포맷팅으로 인해 Y와 관련하여 2x2 만큼 이미 다운스케일링된 1x1 비디오 데이터를 입력으로서 수신하는 것으로 도시된다. 입력 프로세싱 회로는, 그것의 8x8, 4x4 및 2x2 다운스케일링된 버전들에 대한 선택가능한 출력들뿐만 아니라 다운스케일링되지 않은 '1x1' 출력을 포함하는 것으로 추가로 도시된다. 이러한 설계는 도 3을 참조하여 앞서 설명된 입력 프로세싱 회로의 설계에 대응한다. 상이한 데이터 컴포넌트들, 예컨대, 스테레오스코픽 깊이 추정을 위한 LY, RY, LU, LV 및 모노스코픽 깊이 추정을 위한 Y, U, V의 프로세싱을 효율적으로 핸들링하기 위해, 입력 프로세싱 회로는 하드웨어로 한번 인스턴스화되지만, 데이터 컴포넌트들 각각을 시간-순차적으로 프로세싱하도록 구성될 수 있다. 이로써, 4회(도 10-도 12) 또는 3회(도 13)로 도시되지만, 하드웨어로의 단일 인스턴스화가 사용될 수 있다. 도 10-도 12를 도 5-도 7과 그리고 도 13을 도 8과 비교할 때, 상이한 사용-사례들을 수용하기 위해 입력 프로세싱 회로의 재구성가능성으로 인해 입력 스케일러들의 수가 상당히 감소된다는 것을 알 수 있다.
도 14는 사용-사례들 각각에 대한 입력 프로세싱 회로의 구성을 요약하며, 이는, 어떤 사용-사례에 대해 그리고 개개의 사용-사례 내에서 각각의 데이터 컴포넌트에 대해 어떤 출력들이 선택되는지를 표시한다. 여기서, '리맵'은, 픽셀 리맵핑으로 지칭되고, 도 3을 참조하여 앞서 설명된 히스토그램-기반 조절을 지칭한다.
도 15는 사용-사례들 각각에 대한 깊이 업스케일링 회로의 구성을 요약하며, 이는 업스케일링 스테이지들 및 U, V 입력들이 사용되는 각각의 사용-사례에 대해 표시한다.
도 16은, 리맵 피처를 사용하여 스테레오 이미지들의 히스토그램-조절을 허용하는 것에 부가하여, 입력 프로세싱 회로가 1x1 출력을 가지는 것으로, 즉, 부가적 스케일링 없이 비디오 데이터를 출력하는 것으로 설계되는 이유를 예시한다. 그러한 목적을 위해, 도 16은, 도 5의 사용 사례 A에 대해, 스케일링되지 않은 비디오 데이터가 입력 버퍼로부터 직접적으로 각각의 기능 블록에 의해 획득될 경우(IRY 컴포넌트를 제외하고, 이는 입력 프로세싱 회로에 의해 픽셀 리맵핑되며, 입력 프로세싱 회로의 출력으로부터 반드시 획득될 필요가 있음), 버퍼링이 어떻게 수행되는지를 도시한다. 이러한 예에서, 버퍼들은 입력 데이터 컴포넌트들 IRY(input right Y), ILY(input left Y), ILU(input left U) 및 ILY(input left Y)에 대해 공유 메모리에 배정된다. 그러한 버퍼들은 통상적으로, 예컨대, 시스템-온-칩 내의 마이크로프로세서 또는 제어기에 의해, RTC IP 블록 그 자체로부터 외부적으로 배정될 것이다. 내부적으로 배정된 버퍼들로서, LY8(이러한 경우 8x8 다운스케일링된 좌측 Y), LY4, LY2, RY2, RY1, LU4, LU2, LV4 및 LV2에 대한 버퍼들이 공유 메모리에 배정된다. 이러한 버퍼들은 흰색 텍스트를 가지는 흑색으로 도 16에 도시된다.
도 16에서 2개의 상이한 버퍼 사용들이 인식될 수 있다. 하나의 사용은 I/O 버퍼들이다: 입력 버퍼들 ILY, ILU, ILV 및 IRY는 RTC IP 블록 외부에서 이미지 데이터로 기록되고(이러한 동작은 도 16에 도시되지 않음), 데이터는 RTC IP 블록에서 판독되고; 유사하게, 출력 버퍼 D1이 RTC IP 블록에 의해 기록되며, RTC IP 블록 외부에서 판독된다(다시 도시되지 않음). 다른 사용은 RTC IP 블록 컴포넌트들에 의해 단지 내부적으로 판독 및 기록 둘 모두가 수행되는 내부 버퍼들에 관한 것이다. 실-시간 시스템에, 이용가능한 메모리의 사전-배정된 풀이 통상적으로 존재한다. 버퍼들은 특정 목적을 위해 사용되는 풀로부터 취해질 수 있고, 더 이상 사용중이지 않을 때에는, 이들은 풀로 리턴될 수 있다. 이러한 버퍼들 각각은 통상적으로 적절히 관리될 필요가 있으며, 즉: 시스템은, 버퍼가 어디에 사용되는지 그리고 버퍼가 얼마나 오래 여전히 사용중인지에 대해, 각각의 버퍼를 추적할 수 있다. 버퍼가 사용 중인 듀레이션은 버퍼의 수명이라 칭해진다. 설계 파티셔닝을 고려하여, 내부 버퍼들은 통상적으로, RTC IP 블록 컴포넌트들의 작업들의 상세한 지식 및 그것의 사용-사례들(예컨대, 설명된 사용 사례 A, B, C와 같은 QoS 세팅들)을 가지는 시스템 컴포넌트에 의해 관리된다. 그러나, I/O 버퍼들은 RTC IP 블록의 "외부"와 공유되며, 그에 따라서, 시스템에서의 전체 비디오 데이터 흐름에 대한 정보를 가지는 보다 글로벌한 시스템 컴포넌트에 의해 관리될 필요가 있다.
도 16에 도시되는 시나리오의 단점은, 이러한 특정 예에서, ILY, ILU 및 ILV에 대한 입력 버퍼들이 다운스케일링하기 위한 입력 프로세싱 회로에 의해뿐만 아니라, ILY의 경우에는 또한 블록 매처에 의해 향후에 그리고 ILU 및 ILV의 경우에는 또한 스테이지 0에서 깊이 업스케일링 회로에 의해 사용된다는 것이다. 이것은, 관심 대상의 설계 파티셔닝 및 분리를 복잡하게 하는데, 그 이유는, 입력 버퍼들이, RTC IP 블록 컴포넌트들이 구성되고, 따라서, 수명이 RTC IP 블록의 외부에서 관리될 필요가 있는 특정 사용-사례에 의존하는 연장된 수명을 가질 필요가 있을 수 있기 때문이다.
도 17은, 스케일링되지 않은 비디오 데이터가, 필요하다면, 입력 프로세싱 회로의 1x1 출력으로부터 획득되는 사용-사례 A*를 예시한다. 그러한 목적을 위해, 개별 출력 버퍼들은 LY1, LU1 및 LV1에 대한 이러한 예시적 버퍼들에 있는 공유 메모리에 배정된다. 입력 버퍼들 ILY, ILU 및 ILV를 사용하기보다는, 기능 블록들은 대신에, 입력 프로세싱 회로의 1x1 출력으로부터의 배정된 출력 버퍼들을 사용한다. 이러한 방식에서, 일단 입력 프로세싱 회로가 모든 데이터 컴포넌트들을 프로세싱하면, 입력 버퍼들은 더 이상 필요하지 않은데, 그 이유는 후속 블록 매칭 및 깊이 업스케일링이 단지 입력 프로세싱 회로의 출력 버퍼들 내의 비디오 데이터에만 의존하기 때문이다. 이것은, 입력 버퍼들이 더 이상 연장된 기간 동안 배정될 필요가 없으므로, 관심 대상의 설계 추상 및 분리를 가능하게 한다. 도 18은 다시, 사용-사례들 A 및 A* 각각에 대한 입력 프로세싱 회로의 구성을 요약하며, 이는, 어떤 사용-사례에 대해 그리고 개개의 사용-사례 내에서 각각의 데이터 컴포넌트에 대해 어떤 출력들이 선택되는지를 표시한다.
사용-사례 A*에서 1x1 버퍼들의 부가적 데이터 카피 동작들이 부가적 대역폭 및 전력 소비에 관해 시스템 비용을 부가할 수 있다는 것이 인식될 것이다. 이로써, 사용-사례 A와 A* 사이에서 선정하기 위한 옵션은 하드웨어 자원 사용(대역폭 및 전력 소비)과 버퍼 관리의 복잡성 사이의 설계 트레이드-오프를 가능하게 한다. 예컨대, 주-전원(mains-powered) 디바이스에 이러한 IP 블록이 통합되고, 덜 복잡한 버퍼 관리가 선택될 수 있다. 대안적으로, 배터리-전원(battery-powered) 디바이스에서, 전력 소비 및 이러한 연장 배터리 수명을 절약하기 위해 보다 복잡한 버퍼 관리에서 부가적 설계 노력이 소비될 준비가 될 수 있다.
도 19는 스테레오스코픽 비디오 데이터의 실-시간 변환을 위한 동작들의 기본 스케줄(300)을 도시한다. 여기서 그리고 다음의 스케줄들에서, 수평 축은 시간 축에 대응하고, 특정 입력 이미지는 N으로 라벨링되고, N+1은 다음의 입력 이미지를 표현한다. RTC IP 블록은, 스테레오 모드에서 동작하도록 구성될 때, 입력 프로세싱, 블록 매칭 및 깊이 업스케일링 하드웨어 회로들을, 시간 스케줄의 수직 축을 따라 그들의 개개의 약어들로 표시되는 바와 같이 사용한다. 깊이 추정을 위해, 좌측 및 우측 이미지들의 루미넌스 컴포넌트만이 사용된다. 도 19에서, 입력 프로세싱 회로는 연속적으로 입력 이미지들의 컴포넌트들, 즉, 먼저 좌측 이미지의 루미넌스 컴포넌트 LY, 그런 다음, 우측 이미지의 루미넌스 컴포넌트 RY, 및 그런 다음 좌측 이미지의 크로미넌스 컴포넌트들 LU, LV를 프로세싱하는 것으로 도시된다. 컴포넌트들의 순차적 프로세싱은, 도 19를 계속 참조하여 계속 설명되는 바와 같이, 실-시간 변환의 전체 레이턴시를 감소시킨다.
입력 프로세싱 회로는 또한, RTC IP 블록 "외부에서" 입력 버퍼를 릴리스하기 위해 다운스케일링 또는 단순한 복사에 부가하여, 예컨대, 좌측 및 우측 카메라 센서들의 광학 또는 센서 감도의 미묘한 차이들이 존재할 수 있으므로 좌측 이미지와 우측 이미지 사이의 밝기의 약간의 차이들을 보완하기 위해 루미넌스 매칭과 같은 기능들을 수행할 수 있다. 입력 프로세싱 회로가 입력 이미지들의 좌측 및 우측 이미지 둘 모두의 루미넌스 컴포넌트들의 프로세싱을 완료할 때, 블록 매칭 회로는 활성화될 수 있다. 그런 다음, 블록 매칭 회로는 깊이 정보를, 예컨대, 디스패리티 필드 또는 깊이 맵의 형태로 리턴할 수 있다.
일반적으로, 깊이 추정은 오브젝트들이 카메라 또는 뷰어 또는 디스플레이를 향해 가지는 거리를 표시하는 값들을 포함하는 깊이 데이터를 제공한다는 점이 주목된다. 값들은 깊이 맵, 즉, 깊이 값들의 이미지-형 어레인지먼트(arrangement)의 형태로 배열될 수 있는 깊이 값들일 수 있다. 대안적으로, 깊이 추정은 디스패리티 값들 또는 시차 변이 값들을 포함하는 깊이 데이터를 산출할 수 있다. 디스패리티 값들 및 시차 변이 값들은 깊이 값들과 대략적 역의 관계를 가지며, 따라서, 오브젝트들이 카메라 또는 뷰어 또는 디스플레이를 향해 가지는 거리들을 표시하지만, 상기 거리들에 직접적으로 대응하지 않는다. 모든 위의 타입들의 신호들 사이의 변환을 위한 디바이스 및 방법들이 알려져 있다.
디스패리티 추정은 8x8 픽셀 블록들에 대한 블록 매칭을 사용하여 수행될 수 있다. 여기서, '블록 매칭'이라는 용어는 좌측 및 우측 이미지들에서의 대응하는 이미지 컨텐츠의 블록-방식 탐색을 지칭한다. 블록 매칭은 모션 추정의 필드에 관해 그 자체가 알려져 있으며, 좌측 이미지와 우측 이미지 사이의 변위들이 시간-연속 이미지들 사이의 모션과 유사하므로 디스패리티 추정을 위해 사용될 수 있다는 점이 주목된다. 결과적으로, 디스패리티 벡터는 이미지의 각각의 8x8 픽셀 블록에 대해 이용가능할 수 있다. 벡터의 x-컴포넌트는 깊이에 대한 척도로 고려될 수 있다. 그런 다음, 깊이 업스케일링 회로는 8x8 깊이 맵을 4x4 깊이 맵, 2x2 깊이 맵, 및 최종적으로 픽셀 그리드에서의 깊이 맵, 즉, 1x1로 단계 방식으로 정제할 수 있다. 각각의 단계에서, 보다 낮은 그리고 보다 높은 해상도의 이미지 데이터가 사용될 수 있다. 그러한 목적을 위해, 다운스케일링된 이미지들의 계층은 입력 프로세싱 회로에 의해, 예컨대, 2의 수평 및 수직 팩터에 의해 입력 이미지를 단순히 반복적으로 다운스케일링함으로써 생성될 수 있다.
도 19의 스케줄에서, 좌측 이미지 및 우측 이미지의 루미넌스 컴포넌트들 LY, RY가 입력 프로세싱 회로에 의해 프로세싱되면, 블록 매칭 회로는 이미 시작된다는 것, 즉, 크로미넌스 컴포넌트들 LU 및 LV의 입력 프로세싱이 완료되는 것을 기다리지 않는 것을 알 수 있다. 이와 같이, 블록 매칭은 이미지 쌍의 입력 프로세싱이 완전히 완료되기 이전에 이미 시작된다. 깊이 업스케일링이 시작될 때, 예컨대, 깊이 정보가 이용가능할 시, 크로미넌스 컴포넌트들은 또한 이용가능하며, 깊이 맵의 깊이 업스케일링에서 사용될 수 있다. 따라서, 도 19의 스케줄은, 입력 프로세싱 회로가 전체 입력 이미지 데이터를 먼저 프로세싱할, 즉, 크로미넌스 컴포넌트들을 포함하는 시나리오에 비해 레이턴시 감소를 획득하며, 그런 다음, 블록 매칭만을 시작한다.
도 20은 스테레오스코픽 비디오 데이터의 실-시간 변환을 위한 동작들의 보다 진보된 스케줄(310)을 도시한다. 여기서, IP-CPU는 "A" 및 "B"로 라벨링된 일부 중간 프로세싱을 수행하는 것으로 도시된다. 프로세싱 "A"는 좌측 입력 이미지에만 의존한다. 이러한 프로세싱은, 예컨대, 입력 시퀀스의 분석, 및 분석의 결과에 따른 후속 프로세싱의 적응을 수반할 수 있다. 예컨대, 프로세싱 "A"는 샷-컷(shot-cut) 검출기를 적용하는 것을 수반할 수 있고, 후속 프로세싱 단계들의 파라미터 세팅은 샷-컷 검출기의 출력에 의존한다. 예컨대, 샷-컷 (shot-cut) 직후에, 디스패리티 필드는 재초기화될 수 있고, 이와 같이, 디스패리티 필드는 시간-재귀적으로 사용될 수 있으며, 이는 샷-컷에서 무의미하다. 또한, 다른 시간-재귀적 필터들이 재조절될 수 있다. 프로세싱 단계 "B"는, 예컨대, 블록 매칭 회로의 디스패리티 필드를 깊이 맵으로 변환하는 것을 수반할 수 있다. 그러한 변환은 디스플레이의 이용가능한 깊이 레인지, 디스패리티 필드에서 측정된 디스패리티 레인지 및/또는 휴리스틱스(heuristics)에 의존할 수 있다. 시간 필터링은 깊이 맵의 안정화를 돕는다는 것이 밝혀졌다. 일반적으로, 이 영역에서 추가적 알고리즘 혁신이 발생할 가능성이 있다. 그에 따라서, IP-CPU 상에서의 구현에 의해 제공되는 바와 같은 소프트웨어 구현의 유연성은 그러한 기능에 유익하다. 추가적 예로서, 개선된 안정화 및 품질을 위해 시-공간 필터링이 깊이 맵에 적용될 수 있다. 그러한 프로세싱이 8x8 블록 사이즈에서 실행되고 있으므로, 데이터의 양은 소프트웨어 구현에 대해 수용가능하며, 이는 유연성을 제공하며, 예컨대, 필드-내 펌웨어 업그레이드들이 지원되는 제품 도입 이후에도 알고리즘 설계 수정을 허용한다.
도 19의 스케줄의 경우와 마찬가지로, 도 20의 스케줄은, 루미넌스 데이터 컴포넌트가 크로미넌스 데이터 컴포넌트 이전에 공간적으로 다운스케일링됨으로써 그리고 요구되는 입력 데이터가 이용가능한 이후에 시작하는, 예컨대, IP-CPU 및 블록 매칭 회로에 의한 추가적 프로세싱에 의해 레이턴시가 감소되었다. 따라서, 입력 프로세싱 회로가 크로미넌스 컴포넌트들을 포함하여 전체 입력 이미지 데이터를 먼저 프로세싱하고, 그런 다음, 입력 이미지 데이터의 추가적 프로세싱만이 시작될 시나리오에 대해 레이턴시 감소가 획득된다.
도 21은 모노스코픽 비디오 데이터의 실-시간 변환을 위한 동작들의 기본 스케줄(320)을 도시한다. 이 예에서, 2D 깊이 추정기는 조인트 바이래터럴 필터의 구현에 기반한다. 그러한 조인트 바이래터럴 필터는, 특히 도 1을 참조하여 US8447141 B2에서 설명된 바와 같이, 실제 이미지 컨텐츠들에 일반적 깊이 프로파일을 적응시키는 데 사용될 수 있다. 게다가, 그러한 필터의 고속 구현은 간행물 Paris 등에 의한 "A fast approximation of the bilateral filter using a signal processing approach", International Journal of Computer Vision 81.1 (2009): 24-52에서 설명되었다. 고속 구현은 자원 효율적이며, 따라서, 다음에서, 조인트 바이래터럴 필터(이후에는 간단히 "고속 바이래터럴 필터"로 또한 지칭됨)를 구현하도록 가정된다.
RTC IP 블록은, 2D 모드에서 동작하도록 구성될 때, 시간 스케줄의 수직 축을 따라 표시되는 바와 같이, 입력 프로세싱, 고속 바이래터럴 필터 및 깊이 업스케일링 하드웨어 회로들을 사용할 수 있다. 상당히 다운스케일링된 입력 신호에서 고속 바이래터럴 필터를 실행하는 것이 유익하다는 것이 밝혀졌다. 그에 따라서, 입력 프로세싱 회로는, 예컨대, 4배만큼 스케일링 다운되는 수평으로 그리고 수직으로 다운스케일링된 이미지들을 생성할 수 있다. 결과적으로, BF 회로로부터의 깊이 맵은 4x4만큼 업스케일링될 것이다. 이것은 2개의 단계들에서 깊이 업스케일링 회로에 의해 달성될 수 있다. 즉, 깊이 업스케일링 회로는 다운스케일링된 입력 이미지들을 사용하여 2개의 단계들에서의 4x4 해상도로부터 2x2 그리고 마지막으로 1x1 픽셀 해상도로 깊이 맵을 정제하는 것을 도울 수 있다. 4x4 해상도 및 2x2 해상도로 다운스케일링된 이미지들은 입력 프로세싱 회로에 의해 생성될 수 있다.
고속 바이래터럴 필터는 3개의 주요 프로세싱 단계들을 수반할 수 있다: 전술된 논문 Paris 등에 의한 "A fast approximation of the bilateral filter using a signal processing approach"에서, 특히, 섹션 4.1 및 도 2의 수식들 12a-12c에 의해 요약된 그것의 섹션 4에서 설명된 바와 같은, 다운스케일링(즉, 다운샘플링) 단계, 컨볼루션을 포함하는 계산 단계, 및 업스케일링(즉, 업샘플링) 단계. 후자의 도면에서, 다운샘플링 단계는 알고리즘 단계 3에 대응하고, 계산 단계는 알고리즘 단계 4에 대응하고, 업샘플링 단계는 알고리즘 단계 5에 대응할 수 있다. 다운샘플링은 2D 입력 데이터 (X,Y)를 취하고, 이를 3-차원 공간 (X,Y,I)로 변환하며, (X,Y)는 정상 이미지 차원들을 반영하고, (I)는 강도 차원을 반영한다. 데이터의 이러한 3-차원 볼륨 표현은 볼륨 그리드를 다운샘플링함으로써 데이터의 선형 동작들 및 실질적 감소를 가능하게 한다. 설명된 SoC에서, 다운스케일링 단계(도 21 및 다음에서 'down'으로 라벨링됨)는 FBF 하드웨어 회로에 의해 수행된다. 후속적으로, 계산 단계('calc'로 라벨링됨)는, 예컨대, FBF 하드웨어 회로에 의해 또는 IP-CPU에 의한 소프트웨어로 수행될 수있다. 그런 다음, 2D 깊이 맵 표현으로의 3-차원 볼륨의 업샘플링('up'으로 라벨링됨)은 FBF 하드웨어 회로에 의해 다시 수행될 수 있다.
이러한 프로세싱 단계들은 도 21에 도시되는 바와 같은 스케줄을 결과로 한다. 고속 바이래터럴 필터가 루미넌스 컴포넌트 Y에만 적용되기 때문에, 그것의 프로세싱은, 입력 프로세싱 회로가 루미넌스 컴포넌트 Y를 다운스케일링한 시점에 이미 시작될 수 있다. 앞서 논의된 바와 같이, 고속 바이래터럴 필터는 3개의 단계들을 수반한다: FBF 하드웨어 회로를 사용하는 다운샘플링, IP-CPU에 의해 수행되는 비-선형 계산들, 및 FBF 하드웨어 회로를 다시 사용하는 업샘플링. 마지막으로, 깊이 맵은 깊이 업스케일링 회로를 사용하여 입력 해상도로 업샘플링되고, 업샘플링은 또한 입력 이미지의 크로미넌스 컴포넌트들, 즉, U 및 V를 사용한다.
도 22는 모노스코픽 비디오 데이터의 실-시간 변환, 즉, 보다 진보된 예를 위한 또 다른 스케줄(330)을 도시한다. 여기서, 부가적 최적화 단계 "opt"는 깊이 업스케일링 회로를 사용하여 깊이 업샘플링 이전에 삽입되며, 부가적 최적화 단계는 IP-CPU를 사용하여 수행된다. 이러한 최적화 단계는 깊이 맵 필터링, 깊이 레인지 적응 등을 수반할 수 있다. 이러한 예에서, 최적화 단계는 고속 바이래터럴 필터의 업샘플링된 출력에만 의존하지만, 그것은 또한 입력 루미넌스 컴포넌트 Y를 사용할 수 있다. 스케줄로부터 알 수 있는 바와 같이, 또한 입력 크로미넌스 컴포넌트들 U 및 V는 이용가능하며, IP-CPU에 의해 사용될 수 있다.
일반적으로, RTC IP 블록은, 설명된 SoC와 개별적으로, 예컨대, 다른 타입의 SoC에 제공될 수 있다는 것이 인식될 것이다. 예컨대, 설명된 SoC가 외부 메모리와 인터페이싱하는 대신에, 그러한 메모리는 RTC IP 블록을 포함하는 SoC에 포함될 수 있다. 다른 예는, SoC가 RTC IP 블록에 의해 생성된 깊이 맵을 사용하여 뷰들을 렌더링하기 위한, 예컨대, 멀티-뷰 3D 디스플레이 상에 디스플레이하기 위한 렌더링 회로를 포함할 수 있다는 것이다.
게다가, 데이터는 RTC IP 블록을 네트리스트(netlist)들 및/또는 합성가능한(synthesizable) RTL의 형태로 정의하는 컴퓨터 판독가능한 매체 상에 제공될 수 있다. 컴퓨터 판독가능한 매체 및 그에 의해 그 상에 저장된 데이터는 일시적 또는 비-일시적일 수 있다. 예컨대, RTC IP 블록은 합성가능한 코어로서, 예컨대, Verilog 또는 VHDL과 같은 하드웨어 설명 언어로, 또는 일반적 게이트들로서 또는 프로세스 특정 표준 셀들로서 구현되는 RTC IP 블록의 논리적 기능에 대한 불-대수(boolean-algebra) 표현을 제공하는 일반 게이트-레벨 네트리스트들로서 제공될 수 있다.
일반적으로, 설명되는 RTC IP 블록은 RTC IP 블록의 "내부 세계"와 SoC의 "외부 세계" 사이의 관심 대상의 추상 및/또는 분리를 제공하는 것을 목표로 한다는 것이 인식될 것이다. 그러한 목적을 위해, 회로들이 고도로 구성가능할 수 있다는 점에서, RTC IP 블록 내부의 회로들의 상세한 제어가 제공될 수 있다. 그런 다음, 회로들은 IP-CPU 상에서 실행되는 하나 이상의 신호 분석 기능들에 의해 구성될 수 있으며, 이는 보다 낮은 해상도로 실행되고, 따라서, 제한된 컴퓨테이션 복잡성을 가질 수 있다. 출력으로서, 구성 데이터는 회로의 파라미터들을 적절히 세팅하도록 생성될 수 있어서, 그에 의해, 입력 프로세싱 회로, 깊이 업스케일링 회로 등을 구성할 수 있다.
본 발명에 따른 SoC의 적어도 일부 실시예들에서, 입력 프로세싱(다운스케일링)은 입력 신호의 컴포넌트들에 대해 시간-순차적으로 실행될 수 있다는 것이 추가로 인식될 것이다. 먼저, 루미넌스 컴포넌트는 이것이 후속 프로세싱을 위해 가능한 한 일찍 이용가능하게 하도록 프로세싱될 수 있다. 루미넌스 컴포넌트 이후에, 크로미넌스 컴포넌트들이 프로세싱될 수 있다. 루미넌스에만 기반한 중간 프로세싱이 존재하기 때문에, 이 스케줄은 가능한 한 일찍 중간 프로세싱의 시작을 가능하게 한다. 추후 프로세싱 스테이지들에서, 다운스케일링된 크로미넌스 컴포넌트들이 또한 사용될 수 있다. 중간 프로세싱이 완료될 때까지, 입력은 또한 다운스케일링된 크로미넌스 컴포넌트들을 완료한다. 결과적으로, 프로세싱의 총 레이턴시는 감소될 수 있으며, 컴포넌트들의 순차적 프로세싱은 동일한 하드웨어의 재-사용을 촉진한다.
위에서, 맵이라는 용어는 행들 및 열들로 배열되는 데이터를 지칭한다는 점이 주목된다. 더욱이, 형용사 깊이는 카메라에 대한 이미지의 부분들의 깊이를 표시하는 것으로서 이해될 것이다. 그에 따라서, 깊이 맵은 깊이 값들로 구성될 수 있을뿐만 아니라, 예컨대, 디스패리티 값들 또는 시차 변이 값들로 구성될 수 있다. 본질적으로, 깊이 맵은 그에 따라서, 디스패리티 맵 또는 시차 변이 맵을 구성할 수 있다. 여기서, 디스패리티라는 용어는 사용자의 좌안 또는 우안으로 지각될 때 오브젝트의 포지션의 차이를 지칭한다. 시차 변이라는 용어는 상기 디스패리티를 사용자에게 제공하기 위해 2개의 뷰들 사이의 오브젝트의 변위를 지칭한다. 디스패리티 및 시차 변이는 일반적으로, 거리 또는 깊이와 역 상관된다(negatively correlated). 모든 위의 타입들의 맵들 및/또는 값들 사이의 변환을 위한 디바이스 및 방법들이 알려져 있다.
본 발명의 추가적 실시예들이 다음의 조항들에서 설명된다.
조항 1. 비디오 데이터의 레이턴시-감소된 실-시간 깊이 추정을 위해 구성된 시스템-온-칩으로서, 시스템-온-칩은 복수의 회로들, 및 공유 메모리에 대한 직접적 메모리 액세스를 가능하게 하기 위한 메모리 인터페이스를 포함하고, 복수의 회로들은,
입력 프로세싱 회로;
깊이 추정기 회로;
깊이 업스케일링 회로를 포함하며,
입력 프로세싱 회로는,
- 다운스케일링된 비디오 데이터를 획득하기 위해 비디오 데이터를 공간적으로 다운스케일링하고, 그리고
- 공유 메모리 내에 다운스케일링된 비디오 데이터를 저장하도록 구성되고,
깊이 추정기 회로는,
- 다운스케일링된 비디오 데이터에 액세스하고,
- 다운스케일링된 비디오 데이터로부터 깊이를 추정하고 ― 그에 의해 비디오 데이터의 공간 해상도보다 낮은 공간 해상도를 가지는 깊이 데이터를 획득함 ― , 그리고
- 공유 메모리 내에 깊이 데이터를 저장하도록 구성되고,
깊이 업스케일링 회로는,
- 깊이 데이터 및 다운스케일링된 비디오 데이터에 액세스하고, 그리고
- 다운스케일링된 비디오 데이터를 사용하여 깊이 데이터를 업스케일링하도록 구성되고,
깊이 추정기 회로는 다운스케일링된 비디오 데이터의 루미넌스(luminance) 데이터 컴포넌트로부터 깊이를 추정하도록 구성되고,
깊이 업스케일링 회로는 다운스케일링된 비디오 데이터의 크로미넌스(chrominance) 데이터 컴포넌트를 사용하여 깊이 데이터를 업스케일링하도록 구성되고,
입력 프로세싱 회로는 비디오 데이터의 공간적 다운스케일링을 시간 멀티플렉싱하도록 구성되고, 시간 멀티플렉싱은 비디오 데이터의 각각의 입력 이미지 또는 스테레오 입력 이미지 쌍에 대해, 크로미넌스 데이터 컴포넌트를 공간적으로 다운스케일링하기 이전에 루미넌스 데이터 컴포넌트를 공간적으로 다운스케일링하는 것을 포함한다.
조항 2. 제1 조항에 따른 시스템-온-칩으로서,
시스템-온-칩은 비디오 데이터를 분석하도록 구성된 이미지 프로세싱 회로를 더 포함하고, 이미지 프로세싱 회로는 비디오 데이터가 이미지 쌍들의 시퀀스를 포함하는 스테레오스코픽-타입의 비디오 데이터일 때, 깊이 추정에 사용하기 위한 분석 데이터를 획득하도록 개개의 이미지 쌍의 제1 이미지를 분석하도록 구성되고,
입력 프로세싱 회로는 이미지 쌍의 제2 이미지를 다운스케일링하기 이전에 이미지 쌍의 제1 이미지를 다운스케일링하도록 구성된다.
예컨대, 이미지 프로세싱 회로는 이미지 분석을 수행하도록 프로그래밍된 임베디드(embedded) CPU 코어에 의해 표현될 수 있다.
조항 3. 제2 조항에 따른 시스템-온-칩으로서, 이미지 프로세싱 회로는 샷-컷 검출을 수행하도록 구성된다.
조항 4. 제2 조항 또는 제3 조항에 따른 시스템-온-칩으로서, 개개의 이미지 쌍의 제1 이미지는 좌측 이미지이다.
조항 5. 비디오 데이터의 실-시간 깊이 추정을 위해 구성된 시스템-온-칩으로서,
- 모노스코픽-타입의 비디오 데이터로부터의 모노스코픽 깊이 추정을 수행하도록 구성된 모노스코픽 깊이 추정기;
- 스테레오스코픽-타입의 비디오 데이터로부터의 스테레오스코픽 깊이 추정을 수행하도록 구성된 스테레오스코픽 깊이 추정기;
- 공유 메모리에 대한 직접적 메모리 액세스를 가능하게 하기 위한 메모리 인터페이스를 포함하고,
시스템-온-칩은 선택된 깊이 추정 모드를 정의하는 구성 데이터를 기초로 모노스코픽 깊이 추정 또는 스테레오스코픽 깊이 추정을 수행하도록 재구성가능하고, 모노스코픽 깊이 추정기 및 스테레오스코픽 깊이 추정기는,
- 재구성가능한 공유 입력 프로세싱 회로;
- 각각 개별적인 깊이 추정기 코어 회로;
- 재구성가능한 공유 깊이 업스케일링 회로를 포함하며,
재구성가능한 공유 입력 프로세싱 회로는,
- 다운스케일링된 비디오 데이터를 획득하기 위해, 선택된 깊이 추정 모드에 따라 비디오 데이터를 상이하게 공간적으로 다운스케일하고, 그리고
- 공유 메모리 내에 다운스케일링된 비디오 데이터를 저장하도록 구성 데이터에 의해 재구성가능하고,
깊이 추정기 코어 회로는,
- 비디오 데이터 또는 다운스케일링된 비디오 데이터에 액세스하고,
- 액세스된 비디오 데이터로부터 깊이 데이터를 추정하고 ― 깊이 데이터는 비디오 데이터의 공간 해상도보다 낮은 공간 해상도를 가짐 ― , 그리고
- 공유 메모리 내에 깊이 데이터를 저장하도록 구성되고,
재구성가능한 공유 깊이 업스케일링 회로는,
- 깊이 데이터 및 다운스케일링된 비디오 데이터에 액세스하고, 그리고
- 선택된 깊이 추정 모드에 따라 다운스케일링된 비디오 데이터를 사용하여 깊이 데이터를 상이하게 업스케일링하도록 구성 데이터에 의해 재구성가능하다.
위에서 언급된 실시예들은 본 발명을 제한하기보다는 예시하고, 당업자들은 많은 대안적 실시예들을 설계할 수 있을 것이라는 점이 주목되어야 한다.
청구항들에서, 괄호 사이에 배치된 임의의 참조 부호들은 청구항을 제한하는 것으로 해석되지 않아야 한다. "포함하다"라는 동사 및 그것의 활용형들의 사용은 청구항에서 서술되는 것들 이외의 엘리먼트들 또는 단계들의 존재를 배제하지 않는다. 엘리먼트의 단수 표현은 그러한 엘리먼트들의 복수의 존재를 배제하지 않는다. 본 발명은 몇몇 별개의 엘리먼트들을 포함하는 하드웨어에 의해 그리고 적합하게 프로그래밍된 컴퓨터에 의해 구현될 수 있다. 몇몇 수단을 열거하는 장치 청구항에서, 이러한 수단들 몇몇은 하나의 그리고 동일한 하드웨어 아이템에 의해 구현될 수 있다. 특정 측정들이 서로 상이한 종속 청구항들에서 인용된다는 단순한 사실만으로 이 측정들의 조합이 유리하게 사용될 수 없다는 것을 나타내는 것은 아니다.

Claims (10)

  1. 비디오 데이터의 실-시간 깊이 추정을 위해 구성된 시스템-온-칩(100)으로서,
    모노스코픽(monoscopic)-타입의 비디오 데이터로부터의 모노스코픽 깊이 추정을 수행하도록 구성된 모노스코픽 깊이 추정기(200);
    스테레오스코픽(stereoscopic)-타입의 비디오 데이터로부터의 스테레오스코픽 깊이 추정을 수행하도록 구성된 스테레오스코픽 깊이 추정기(210);
    공유 메모리(010)에 대한 직접적 메모리 액세스를 가능하게 하기 위한 메모리 인터페이스를 포함하고,
    상기 시스템-온-칩은, 선택된 깊이 추정 모드를 정의하는 구성 데이터에 기초하여, 상기 모노스코픽 깊이 추정 또는 상기 스테레오스코픽 깊이 추정 중 어느 하나를 수행하도록 재구성될 수 있고,
    상기 모노스코픽 깊이 추정기 및 상기 스테레오스코픽 깊이 추정기는,
    하드웨어로 인스턴스화된 재구성가능한 공유 입력 프로세싱 회로(120),
    각각 개별적으로, 하드웨어로 인스턴스화된 깊이 추정기 코어 회로(130, 140); 및
    하드웨어로 인스턴스화된 재구성가능한 공유 깊이 업스케일링(upscaling) 회로(150)를 포함하며,
    상기 재구성가능한 공유 입력 프로세싱 회로(120)는,
    복수의 다운스케일 팩터(downscale factor)들에 따라 상기 비디오 데이터의 입력 이미지를 공간적으로 다운스케일링함으로써, 상기 비디오 데이터의 각각의 입력 이미지에 대한 다운스케일링된 이미지들의 계층(hierarchy)을 생성하고 ― 상기 입력 프로세싱 회로는 상기 선택된 깊이 추정 모드에 특정된 다운스케일링된 비디오 데이터를 획득하기 위해 상기 모노스코픽 깊이 추정보다는 상기 스테레오스코픽 깊이 추정을 위해 출력될 다운스케일링된 이미지들의 계층의 상이한 서브세트를 선택하도록 상기 구성 데이터에 의해 구성가능함 ― , 그리고
    상기 공유 메모리 내에 상기 다운스케일링된 비디오 데이터를 저장하도록 상기 구성 데이터에 의해 재구성가능하고,
    상기 깊이 추정기 코어 회로(130, 140)는,
    상기 비디오 데이터 또는 상기 다운스케일링된 비디오 데이터에 액세스하고,
    상기 액세스된 비디오 데이터로부터 깊이 데이터를 추정하고 ― 상기 깊이 데이터는 상기 비디오 데이터의 공간 해상도보다 낮은 공간 해상도를 가짐 ― , 그리고
    상기 공유 메모리 내에 상기 깊이 데이터를 저장하도록 구성되고,
    상기 재구성가능한 공유 깊이 업스케일링 회로(150)는,
    상기 깊이 데이터 및 상기 다운스케일링된 비디오 데이터에 액세스하고, 그리고
    상기 다운스케일링된 비디오 데이터를 사용하여 연속적 단계들에서 상기 깊이 데이터를 업스케일링하도록 상기 구성 데이터에 의해 재구성가능하고,
    상기 깊이 업스케일링 회로는 상기 선택된 깊이 추정 모드에 따라 상기 모노스코픽 깊이 추정보다는 상기 스테레오스코픽 깊이 추정을 위해 상이한 연속적 단계들을 사용하도록 상기 구성 데이터에 의해 구성가능한,
    시스템-온-칩(100).
  2. 제1항에 있어서,
    상기 모노스코픽 깊이 추정기의 상기 깊이 추정기 코어 회로(140)는 상기 비디오 데이터의 이미지 또는 상기 다운스케일링된 비디오 데이터에 적용될 때 깊이 맵을 출력으로서 제공하는 조인트 바이래터럴 필터(joint bilateral filter)를 구현하는,
    시스템-온-칩(100).
  3. 제1항에 있어서,
    상기 스테레오스코픽 깊이 추정기의 상기 깊이 추정기 코어 회로(130)는 상기 비디오 데이터의 스테레오 이미지 쌍 또는 상기 다운스케일링된 비디오 데이터에 적용될 때 깊이 맵을 출력으로서 제공하는 블록 매처(block matcher)를 구현하는,
    시스템-온-칩(100).
  4. 제1항에 있어서,
    상기 입력 프로세싱 회로(120)는 각각의 입력 이미지에 대한 다운스케일링된 이미지들의 계층을 생성하는 것에 부가하여, 상기 입력 이미지의 스케일링되지 않은 버전을 추가로 출력하도록, 그리고 상기 공유 메모리(010) 내에 원래의 비디오 데이터로부터의 개별 비디오 데이터로서 상기 입력 이미지의 스케일링되지 않은 버전을 저장하도록 상기 구성 데이터에 의해 구성가능한,
    시스템-온-칩(100).
  5. 제4항에 있어서,
    각각의 깊이 추정기 코어 회로(130, 140)는, 상기 깊이 데이터를 추정하기 위해 상기 입력 이미지의 스케일링되지 않은 버전을 사용할 때, 상기 원래의 비디오 데이터 대신에 상기 개별 비디오 데이터를 사용하도록 구성되는,
    시스템-온-칩(100).
  6. 제1항에 있어서,
    상기 시스템-온-칩(100)은, 비디오 데이터의 레이턴시-감소된 실-시간 깊이 추정을 위해 구성되고,
    각각의 깊이 추정기 코어 회로(130, 140)는 상기 다운스케일링된 비디오 데이터의 루미넌스(luminance) 데이터 컴포넌트로부터 상기 깊이 데이터를 추정하도록 구성되고,
    상기 깊이 업스케일링 회로(150)는 상기 다운스케일링된 비디오 데이터의 크로미넌스(chrominance) 데이터 컴포넌트를 사용하여 상기 깊이 데이터를 업스케일링하도록 구성되고,
    상기 입력 프로세싱 회로(120)는 상기 비디오 데이터의 공간적 다운스케일링을 시간 멀티플렉싱하도록 구성되고,
    상기 시간 멀티플렉싱은 상기 비디오 데이터의 각각의 입력 이미지 또는 스테레오 입력 이미지 쌍에 대해, 상기 크로미넌스 데이터 컴포넌트를 공간적으로 다운스케일링하기 이전에 상기 루미넌스 데이터 컴포넌트를 공간적으로 다운스케일링하는 것을 포함하는,
    시스템-온-칩(100).
  7. 제6항에 있어서,
    상기 깊이 업스케일링 회로(150)는 조인트 바이래터럴 필터를 사용하여 상기 깊이 데이터를 업스케일링하도록 구성되고,
    상기 조인트 바이래터럴 필터의 레인지(range) 특성들은 상기 다운스케일링된 비디오 데이터의 크로미넌스 데이터 컴포넌트로부터 도출되는,
    시스템-온-칩(100).
  8. 제1항에 있어서,
    상기 비디오 데이터의 공간적 다운스케일링 및 상기 깊이 데이터의 업스케일링 중 적어도 하나는, 2x2 스케일링의 반복되는 단계들 중 하나 또는 다수에서 수행되는,
    시스템-온-칩(100).
  9. 삭제
  10. 삭제
KR1020187033646A 2016-04-21 2017-04-20 듀얼 모드 깊이 추정기 KR102294937B1 (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
EP16166353.9 2016-04-21
EP16166353.9A EP3236657A1 (en) 2016-04-21 2016-04-21 Dual mode depth estimator
PCT/EP2017/059344 WO2017182548A1 (en) 2016-04-21 2017-04-20 Dual mode depth estimator

Publications (2)

Publication Number Publication Date
KR20180135955A KR20180135955A (ko) 2018-12-21
KR102294937B1 true KR102294937B1 (ko) 2021-08-27

Family

ID=55802290

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020187033646A KR102294937B1 (ko) 2016-04-21 2017-04-20 듀얼 모드 깊이 추정기

Country Status (11)

Country Link
US (1) US10679373B2 (ko)
EP (2) EP3236657A1 (ko)
KR (1) KR102294937B1 (ko)
CN (1) CN109076205B (ko)
BR (1) BR112018070142A2 (ko)
CA (1) CA3018439C (ko)
ES (1) ES2865384T3 (ko)
IL (1) IL262255B (ko)
RU (1) RU2735150C2 (ko)
TW (1) TWI767908B (ko)
WO (1) WO2017182548A1 (ko)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP3416381A1 (en) 2017-06-12 2018-12-19 Thomson Licensing Method and apparatus for providing information to a user observing a multi view content
EP3416371A1 (en) * 2017-06-12 2018-12-19 Thomson Licensing Method for displaying, on a 2d display device, a content derived from light field data
US11527005B2 (en) 2019-07-22 2022-12-13 Samsung Electronics Co., Ltd. Video depth estimation based on temporal attention

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP2268047A2 (en) 2009-06-16 2010-12-29 Samsung Electronics Co., Ltd. Conversion device and method converting a two dimensional image to a three dimensional image
US20140232820A1 (en) 2013-02-20 2014-08-21 Hyeong-Seok V Ha Real-time automatic conversion of 2-dimensional images or video to 3-dimensional stereo images or video

Family Cites Families (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8472699B2 (en) * 2006-11-22 2013-06-25 Board Of Trustees Of The Leland Stanford Junior University Arrangement and method for three-dimensional depth image construction
CN101222647B (zh) * 2007-10-12 2010-10-27 四川虹微技术有限公司 多视角视频图像的场景全局深度估计方法
EP2184713A1 (en) 2008-11-04 2010-05-12 Koninklijke Philips Electronics N.V. Method and device for generating a depth map
KR101506926B1 (ko) * 2008-12-04 2015-03-30 삼성전자주식회사 깊이 추정 장치 및 방법, 및 3d 영상 변환 장치 및 방법
RU2689191C2 (ru) * 2009-01-26 2019-05-24 Томсон Лайсенсинг Упаковка кадров для кодирования видео
TWI398158B (zh) * 2009-12-01 2013-06-01 Ind Tech Res Inst 產生立體影像之影像深度的方法
CN101888566B (zh) * 2010-06-30 2012-02-15 清华大学 立体视频编码率失真性能估计方法
US8537201B2 (en) * 2010-10-18 2013-09-17 Silicon Image, Inc. Combining video data streams of differing dimensionality for concurrent display
US11496760B2 (en) * 2011-07-22 2022-11-08 Qualcomm Incorporated Slice header prediction for depth maps in three-dimensional video codecs
TWI502960B (zh) * 2011-08-05 2015-10-01 Novatek Microelectronics Corp 二維轉三維轉換裝置及其方法
US9414048B2 (en) * 2011-12-09 2016-08-09 Microsoft Technology Licensing, Llc Automatic 2D-to-stereoscopic video conversion
US9516306B2 (en) * 2013-03-27 2016-12-06 Qualcomm Incorporated Depth coding modes signaling of depth data for 3D-HEVC
WO2015069734A1 (en) * 2013-11-05 2015-05-14 Arris Enterprises, Inc. Bit depth variable for high precision data in weighted prediction syntax and semantics
EP2916290A1 (en) 2014-03-07 2015-09-09 Thomson Licensing Method and apparatus for disparity estimation
WO2017021731A1 (en) * 2015-08-03 2017-02-09 Hoarton, Lloyd 2d-to-3d video frame conversion
JP7012642B2 (ja) * 2015-11-09 2022-01-28 ヴァーシテック・リミテッド アーチファクトを意識したビュー合成のための補助データ

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP2268047A2 (en) 2009-06-16 2010-12-29 Samsung Electronics Co., Ltd. Conversion device and method converting a two dimensional image to a three dimensional image
US20140232820A1 (en) 2013-02-20 2014-08-21 Hyeong-Seok V Ha Real-time automatic conversion of 2-dimensional images or video to 3-dimensional stereo images or video

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
Tse kai Heng 등, Implementation and optimization of software depth estimation for ARM, 3DTV.(2012.10.15.)

Also Published As

Publication number Publication date
TWI767908B (zh) 2022-06-21
RU2018140836A (ru) 2020-05-21
IL262255B (en) 2021-04-29
BR112018070142A2 (pt) 2019-02-05
KR20180135955A (ko) 2018-12-21
RU2735150C2 (ru) 2020-10-28
US10679373B2 (en) 2020-06-09
EP3446479B1 (en) 2021-01-27
EP3236657A1 (en) 2017-10-25
ES2865384T3 (es) 2021-10-15
RU2018140836A3 (ko) 2020-08-31
IL262255A (en) 2018-11-29
WO2017182548A1 (en) 2017-10-26
CA3018439A1 (en) 2017-10-26
TW201802772A (zh) 2018-01-16
CN109076205B (zh) 2021-03-09
EP3446479A1 (en) 2019-02-27
US20190130593A1 (en) 2019-05-02
CN109076205A (zh) 2018-12-21
CA3018439C (en) 2023-10-10

Similar Documents

Publication Publication Date Title
US9525858B2 (en) Depth or disparity map upscaling
KR101452172B1 (ko) 깊이―관련 정보를 처리하기 위한 방법, 장치 및 시스템
KR101625830B1 (ko) 깊이 맵을 생성하기 위한 방법 및 디바이스
CN109360235B (zh) 一种基于光场数据的混合深度估计方法
US9924153B2 (en) Parallel scaling engine for multi-view 3DTV display and method thereof
EP3105738B1 (en) Method, apparatus and computer program product for image-driven cost volume aggregation
KR102464523B1 (ko) 이미지 속성 맵을 프로세싱하기 위한 방법 및 장치
WO2017080420A1 (en) Auxiliary data for artifacts –aware view synthesis
KR102294937B1 (ko) 듀얼 모드 깊이 추정기
US20160180514A1 (en) Image processing method and electronic device thereof
Werner et al. Hardware implementation of a full HD real-time disparity estimation algorithm
JP6128748B2 (ja) 画像処理装置及び方法
US10650488B2 (en) Apparatus, method, and computer program code for producing composite image
WO2016092533A1 (en) A method for obtaining and merging multi-resolution data
US20140205023A1 (en) Auxiliary Information Map Upsampling
KR101619327B1 (ko) 적응적 결합 양측 깊이 맵 업샘플링
Jin Depth-Map-Assisted Texture and Depth Map Super-Resolution
Kim et al. Three-dimensional perception improvement using sharpness adjustment and hardware implementation

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