KR101844705B1 - 스테레오 비디오에 대한 심도 인지 강화 - Google Patents

스테레오 비디오에 대한 심도 인지 강화 Download PDF

Info

Publication number
KR101844705B1
KR101844705B1 KR1020167026748A KR20167026748A KR101844705B1 KR 101844705 B1 KR101844705 B1 KR 101844705B1 KR 1020167026748 A KR1020167026748 A KR 1020167026748A KR 20167026748 A KR20167026748 A KR 20167026748A KR 101844705 B1 KR101844705 B1 KR 101844705B1
Authority
KR
South Korea
Prior art keywords
image
depth
right image
left image
determining
Prior art date
Application number
KR1020167026748A
Other languages
English (en)
Other versions
KR20160130414A (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
Family has litigation
First worldwide family litigation filed litigation Critical https://patents.darts-ip.com/?family=52630500&utm_source=google_patent&utm_medium=platform_link&utm_campaign=public_patent_search&patent=KR101844705(B1) "Global patent litigation dataset” by Darts-ip is licensed under a Creative Commons Attribution 4.0 International License.
Application filed by 퀄컴 인코포레이티드 filed Critical 퀄컴 인코포레이티드
Publication of KR20160130414A publication Critical patent/KR20160130414A/ko
Application granted granted Critical
Publication of KR101844705B1 publication Critical patent/KR101844705B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T5/00Image enhancement or restoration
    • G06T5/50Image enhancement or restoration using two or more images, e.g. averaging or subtraction
    • H04N13/0007
    • 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
    • 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/10024Color image
    • 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/10028Range image; Depth image; 3D point clouds
    • 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/20004Adaptive image processing
    • G06T2207/20012Locally adaptive
    • 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/20092Interactive image processing based on input by user
    • G06T2207/20104Interactive definition of region of interest [ROI]
    • 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/20172Image enhancement details
    • G06T2207/20192Edge enhancement; Edge preservation
    • 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
    • H04N13/00Stereoscopic video systems; Multi-view video systems; Details thereof
    • H04N2013/0074Stereoscopic image analysis
    • H04N2013/0088Synthesising a monoscopic image signal from stereoscopic images, e.g. synthesising a panoramic or high resolution monoscopic image
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N13/00Stereoscopic video systems; Multi-view video systems; Details thereof
    • H04N2013/0074Stereoscopic image analysis
    • H04N2013/0092Image segmentation from stereoscopic image signals

Landscapes

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

Abstract

이미지를 강화하기 위한 시스템들, 방법들, 및 디바이스들이 본원에 기술된다. 일부 양태들에서, 디바이스는 좌측 이미지 및 우측 이미지를 저장하도록 구성된 메모리 유닛을 포함한다. 좌측 이미지 및 우측 이미지는 상이한 뷰포인트로부터의 동일한 장면을 각각 묘사한다. 디바이스는, 메모리 유닛으로부터 좌측 이미지 및 우측 이미지를 취출하도록 구성된 코더를 더 포함한다. 코더는 좌측 및 우측 이미지 사이의 공간적 배향에서의 차이에 기초하여 심도 맵을 결정하도록 구성된다. 디바이스는 코더에 커플링된 프로세서를 더 포함한다. 프로세서는 사용자에 의해 선택된 좌측 또는 우측 이미지의 부분을 식별하도록 구성된다. 프로세서는 심도 맵에 기초하여 사용자에 의해 선택된 부분을 둘러싸는 강화 영역을 결정하도록 더 구성된다. 프로세서는 강화 영역을 강화하도록 더 구성된다.

Description

스테레오 비디오에 대한 심도 인지 강화{DEPTH AWARE ENHANCEMENT FOR STEREO VIDEO}
이 개시물은 심도-기반 이미지 강화 (depth-based image enhancement) 의 분야에 관한 것이다. 보다 상세하게는, 이 개시물은 스테레오 이미지들로부터 계산된 심도를 이용한 단안 이미지들의 강화에 관한 것이다.
이미지들 및 비디오와 같은 시각적 매체들은 카메라 또는 비디오 카메라로 캡처될 수 있다. 종종, 카메라 또는 비디오 카메라가 충분한 피처들 (features) 을 포함하고 적절한 렌즈를 포함하는 경우에, 캡처된 미디어들은 최종-사용자에 의해 소망되는 컬러, 콘트래스트, 첨예도 (sharpness), 및/또는 기타 등등을 반영한다. 하지만, 풀-피처링된 (full-featured) 카메라들 또는 비디오 카메라들 및/또는 강력한 렌즈들은 비쌀 수 있다. 더욱이, 풀-피처링된 카메라들 또는 비디오 카메라들 및/또는 강력한 렌즈들은 부피가 크고 어떤 상황들에서는 운반하기 어렵다.
오늘 날, 셀 전화들 또는 태블릿들과 같은 휴대용 디바이스들은 내장형 카메라를 포함한다. 휴대용 디바이스들은 시각적 미디어를 캡처하기 위한 능력 외에도 다양한 기능들을 포함하기 때문에, 많은 사람들은 휴대용 대바이스들을 선호하고 부피가 크고 비싼 카메라들 및 렌즈들을 운반하는 것을 하지 않으려 한다. 하지만, 휴대용 디바이스들에 내장된 카메라들은 제한된 수의 피처들을 갖는다. 또한, 내장형 카메라들은 일반적으로 기본적인 렌즈들을 갖는다. 따라서, 내장형 카메라들에 의해 캡처된 시각적 미디어는 일반적으로 보다 열악한 품질의 것이고 소망되는 컬러, 콘트래스트, 첨예도, 및/또는 기타 등등이 결여된다.
휴대용 디바이스 또는 다른 디바이스 상에서 이용가능한 애플리케이션들은 캡처된 시각적 미디어를 프로세싱 및 강화하기 위해 사용될 수 있다. 예를 들어, 컬러를 조정하고, 콘트래스트를 강화하며, 에지들을 첨예화하고, 및/또는 기타 등등을 위해 최종 사용자에 의해 애플리케이션들이 사용될 수 있다. 하지만, 애플리케이션들 중 많은 것들은 프로세서-집약적이고 및/또는 추가적인 하드웨어를 필요로 할 수 있다. 애플리케이션들이 배터리 소모 및/또는 디바이스의 사이즈를 증가시킴에 따라, 이것은 휴대용 디바이스들 상에서 특히 문제가 될 수 있다.
본 발명의 시스템들, 방법들, 및 디바이스들 각각은 수개의 양태들을 가지고, 그들 중 어떤 단일의 것도 단독으로 그것의 바람직한 속성들에 대해 책임지지 않는다. 이어질 청구항들에 의해 표현되는 바와 같은 본 발명의 범위를 제한함이 없이, 일부 특징들이 이제 간단하게 논의될 것이다. 이 논의를 고려한 후에, 그리고 특히 "상세한 설명" 이라는 제목의 섹션을 읽은 후에, 이 발명의 특징들이 어떻게 무선 네트워크에서 액세스 포인트들 및 국들 사이의 향상된 통신을 포함하는 이점들을 제공하는지를 이해할 것이다.
본 개시의 하나의 양태는 이미지를 강화하는 방법을 제공한다. 이 방법은 메모리 유닛에 저장된 좌측 이미지 및 우측 이미지를 취출하는 단계를 포함한다. 좌측 이미지 및 우측 이미지는 상이한 뷰포인트 (viewpoint) 로부터의 동일한 장면 (scene) 을 각각 묘사할 수도 있다. 이 방법은, 좌측 이미지 및 우측 이미지 사이의 공간적 배향 (spatial orientation) 에서의 차이에 기초하여 심도 맵 (depth map) 을 결정하는 단계를 더 포함한다. 이 방법은, 사용자에 의해 선택된 좌측 이미지 또는 우측 이미지의 부분 (portion) 을 식별하는 단계를 더 포함한다. 이 방법은, 결정된 심도 맵에 기초하여 사용자에 의해 선택된 그 부분을 둘러싸는 강화 영역 (enhancement region) 을 결정하는 단계를 더 포함한다. 이 방법은, 그 강화 영역을 강화하는 단계를 더 포함한다.
본 개시의 다른 양태는 이미지를 강화하기 위한 장치를 제공한다. 이 장치는 메모리 유닛에 저장된 좌측 이미지 및 우측 이미지를 취출하는 수단을 포함한다. 좌측 이미지 및 우측 이미지는 상이한 뷰포인트로부터의 동일한 장면을 각각 묘사할 수도 있다. 이 장치는, 좌측 이미지 및 우측 이미지 사이의 공간적 배향에서의 차이에 기초하여 심도 맵을 결정하는 수단을 더 포함한다. 이 장치는, 사용자에 의해 선택된 좌측 이미지 또는 우측 이미지의 부분을 식별하는 수단을 더 포함한다. 이 장치는, 결정된 심도 맵에 기초하여 사용자에 의해 선택된 부분을 둘러싸는 강화 영역을 결정하는 수단을 더 포함한다. 이 장치는, 강화 영역을 강화하는 수단을 더 포함한다.
본 개시의 또 다른 양태는, 실행될 때, 장치로 하여금, 메모리 유닛에 저장된 좌측 이미지 및 우측 이미지를 취출 (retrieve) 하게 하는 코드를 포함하는 비-일시적 컴퓨터 판독가능 매체를 제공한다. 좌측 이미지 및 우측 이미지는 상이한 뷰포인트로부터의 동일한 장면을 각각 묘사할 수도 있다. 이 매체는, 실행될 때, 장치로 하여금, 좌측 이미지 및 우측 이미지 사이의 공간적 배향에서의 차이에 기초하여 심도 맵을 결정하게 하는 코드를 더 포함한다. 이 매체는, 실행될 때, 장치로 하여금, 사용자에 의해 선택된 좌측 이미지 또는 우측 이미지의 부분을 식별하게 하는 코드를 더 포함한다. 이 매체는, 실행될 때, 장치로 하여금, 결정된 심도 맵에 기초하여 사용자에 의해 선택된 부분을 둘러싸는 강화 영역을 결정하게 하는 코드를 더 포함한다. 이 매체는, 실행될 때, 장치로 하여금, 강화 영역을 강화하게 하는 코드를 더 포함한다.
본 개시의 또 다른 양태는 이미지를 강화하기 위한 디바이스를 제공한다. 이 디바이스는 좌측 이미지 및 우측 이미지를 저장하도록 구성된 메모리 유닛을 포함한다. 좌측 이미지 및 우측 이미지는 상이한 뷰포인트로부터의 동일한 장면을 각각 묘사할 수도 있다. 이 디바이스는, 메모리 유닛으로부터 좌측 이미지 및 우측 이미지를 취출하도록 구성된 코더를 더 포함한다. 이 코더는 좌측 이미지 및 우측 이미지 사이의 공간적 배향에서의 차이에 기초하여 심도 맵을 결정하도록 더 구성될 수도 있다. 이 디바이스는 코더에 커플링된 프로세서를 더 포함한다. 프로세서는 사용자에 의해 선택된 좌측 이미지 또는 우측 이미지의 부분을 식별하도록 구성될 수도 있다. 프로세서는 결정된 심도 맵에 기초하여 사용자에 의해 선택된 부분을 둘러싸는 강화 영역을 결정하도록 더 구성될 수도 있다. 프로세서는 강화 영역을 강화하도록 더 구성될 수도 있다.
도 1 은 소스 디바이스가 스테레오 이미지를 강화하는 예시적인 시스템을 나타내는 블록도이다.
도 2 는 소스 디바이스가 목적지 디바이스에 강화된 스테레오 이미지를 송신하는 예시적인 시스템을 나타내는 블록도이다.
도 3 은 이 개시물의 기술들을 구현할 수도 있는 예시적인 인코더의 블록도이다.
도 4 는 이 개시물의 기술들을 구현할 수도 있는 예시적인 디코더의 블록도이다.
도 5 는 프레임들의 시퀀싱을 나타낸다.
도 6 은 심도 계산 플로우를 나타낸다.
도 7 은 이미지를 강화하기 위한 플로우를 나타낸다.
도 8 은 이미지를 강화하기 위한 다른 플로우를 나타낸다.
도 9 는 예시적인 원래 이미지를 나타낸다.
도 10a 는 도 9 에서의 원래 이미지에 기초하여 인코더에 의해 계산될 수 있는 심도 맵을 나타낸다.
도 10b 는 정제되고 업스케일링된 후의 도 9 의 심도 맵을 나타낸다.
도 11 내지 도 13 은 도 10b 의 스케일링된 심도 맵을 이용하여 강화되는 다양한 이미지들을 나타낸다.
도 14 는 이미지를 강화하기 위한 예시적인 방법을 나타낸다.
상술한 바와 같이, 강력한 렌즈들 및/또는 다른 컴포넌트들을 갖는 풀-피처링된 카메라 또는 비디오 카메라들은 비쌀 수 있다. 휴대용 디바이스와 같은 디바이스 상에서 이용가능한 애플리케이션들은 강력한 렌즈들 및/또는 다른 컴포넌트들에 의해 생성된 효과들을 흉내내기 위해 캡처된 시각적 미디어 (예컨대, 이미지들, 비디오 등) 을 프로세싱 및 강화하기 위해 사용될 수도 있다. 예를 들어, 컬러를 조정하고, 콘트래스트를 강화하며, 에지들을 첨예화하고, 및/또는 기타 등등을 위해 최종 사용자에 의해 애플리케이션들이 사용될 수 있다. 하지만, 애플리케이션들 중 많은 것들은 강화 피처들의 일부 또는 전부를 구현하기 위해 프로세서-집약적이고 및/또는 추가적인 하드웨어를 필요로 할 수 있다. 일 예로서, 강화하기 위한 미디어의 부분을 프로세싱 또는 결정하는 것은 프로세서-집약적일 수 있다. 또한, 강화할 미디어의 부분 및/또는 강화하지 않을 미디어의 부분을 결정하기 위해 심도 맵 엔진과 같은 특별한 하드웨어가 필요할 수 있을 것이다. 이러한 애플리케이션들의 프로세서-집약적 성질 및/또는 추가적인 하드웨어를 포함해야할 필요성은, 애플리케이션들이 배터리 소모 및/또는 디바이스의 사이즈를 증가시킬 수 있기 때문에, 휴대용 디바이스들 상에서 특히 문제가 될 수 있다.
따라서, 본원에 기술된 시스템들 및 방법들은 애플리케이션들이 강화 피처들을 수행할 수 있도록 하기 위해 디바이스 상의 기존 하드웨어를 이용한다. 또한, 본원에 기술된 시스템들 및 방법들은 디바이스로 하여금, 그 디바이스가 유휴상태이거나, 충전되고 있거나, 그 외에 배터리 소모가 문제되지 않는 상태에 있는 동안, 프로세서-집약적인 그들 동작들과 같은 소정의 동작들을 수행하는 것을 허용한다. 이러한 방식으로, 본원에 기술된 시스템들 및 방법들은 배터리 소모를 최소화하고 디바이스의 사이즈를 유지하거나 심지어 감소시키면서 다양한 강화 피처들을 디바이스가 제공할 수 있도록 한다.
본원에 설명된 기술들은 임의의 유형 및 임의의 수의 이미지들 또는 이미지들의 시퀀스들 (예컨대, 비디오) 에 적용될 수 있지만, 본원에 개시된 바와 같은 기술들은 스테레오 이미지들 및/또는 스테레오 비디오에 관해 설명된다. 스테레오 이미지들 (또는 이미지들의 스테레오 쌍) 은 공통 장면의 제 1 이미지 및 제 2 이미지를 일반적으로 포함한다. 제 1 및 제 2 이미지들은 이 개시물 전체에 걸칠 수도 있고 또한 좌측 및 우측 이미지들, 좌측 및 우측 뷰들 (views), 또는 좌측 (L) 및 우측 (R) 프레임들로서 지칭될 수도 있다. 스테레오 쌍의 제 1 및 제 2 이미지들은 3D 오브젝트들을 갖는 장면을 생성하기 위해 동시에 또는 빠르게 연속적으로 디스플레이될 수 있다. 스테레오 이미지들 또는 비디오는 2 개의 카메라들을 이용하여 캡처될 수 있고, 좌측 프레임들 및 우측 프레임들의 스트림으로서 송신된다. 때때로, 비록 통상적이지는 않지만, 스테레오 이미지들 또는 비디오는 L 프레임으로서 송신되고 그 프레임에 대한 심도 맵 (D) 에 의해 수반된다. 하지만, 본원에서 기술된 다른 경우들에서, 스테레오 이미지들 또는 비디오는 프레임들에 대한 심도 맵 없이 송신된다. 하지만, 심도 맵은 L 및 R 프레임들을 이용하여 계산될 수 있다. 2 개의 뷰들 (L 및 R) 이 주어진 심도를 계산하는 것은 보통 관여되고 계산적으로 집약적인 프로세스이다. 실시간 구현은 오로지 (예컨대, 심도 맵을 결정하기 위해 사용될 수 있는) 디스패리티를 계산할 목적을 위한 하드웨어 모듈을 통상적으로 수반한다. 종종, 최상의 디스패리티 계산 알고리즘들은 너무 복잡해서 그들은 실시간으로 구현될 수 없거나 오직 상당한 프로세싱 자원들을 가지고 디바이스들에 의해 실시간으로 구현될 수 있게 된다. 따라서, 심도 맵을 계산하는 것은 일반적으로 가외의 설계 및 아무런 사전 준비 없이 행해지는 경우의 구현 노력을 취한다. 하지만, 본원에서 설명되는 바와 같이, 기존의 시스템이 심도를 계산하는데 재사용될 수 있어, 그러한 노력을 절감하게 된다. 비디오의 심도 맵이 이용가능한 경우에, 심도 인지 강화들이 스테레오 이미지 또는 비디오에 적용될 수 있다.
이 개시물에서 사용된 바와 같은 "디스패리티 (disparity)" 라는 용어는 일반적으로, 다른 이미지에서의 대응하는 픽셀에 대한 하나의 이미지에서의 픽셀의 수평적 오프셋 (예컨대, 2 개의 이미지들 사이의 공간적 배향에서의 차이) 을 설명한다. 이 개시물에서 사용된 바와 같은 대응하는 픽셀들은, 좌측 이미지 및 우측 이미지가 2D 또는 3D 이미지를 렌더링하도록 합성될 때 3D 오브젝트에서의 동일 포인트와 연관되는 픽셀들 (좌측 이미지 및 우측 이미지에서의 픽셀) 을 일반적으로 지칭한다.
이미지들의 스테레오 쌍에 대한 복수의 디스패리티 값들은 디스패리티 맵으로서 지칭되는 데이터 구조에 저장될 수 있다. 이미지들의 스테레오 쌍과 연관된 디스패리티 맵은, 제 1 이미지에서의 임의의 주어진 (x,y) 좌표에서의 d 의 값이 제 2 이미지에서의 대응하는 픽셀을 발견하기 위해 제 2 이미지에서의 좌표 (x,y) 에서의 픽셀에 적용될 필요성이 있는 x-좌표에서의 시프트 (shift) 에 대응하도록, 제 1 이미지에서의 픽셀 좌표들 (x,y) 을 디스패리티 값들 (d) 에 맵핑하는 2-차원 (2D) 함수, d(x,y) 를 나타낸다. 예를 들어, 구체적인 예시로서, 디스패리티 맵은 제 1 이미지에서의 좌표들 (250,150) 에서의 픽셀에 대해 6 의 d 값을 저장할 수도 있다. 이 예시에서, 6 의 d 값이 주어지면, 제 1 이미지에서의 크로마 (chroma) 및 루미넌스 (luminance) 값들과 같은 픽셀 (250,150) 을 기술하는 데이터는 제 2 이미지에서의 픽셀 (256,150) 에서 발생한다.
2D 이미지에서 이용가능한 기본적인 정보는 각 픽셀의 컬러 값이다. 따라서, 대응하는 픽셀들을 식별하기 위한 하나의 기법은, (타겟 이미지로서도 불리는) 제 2 이미지의 픽셀들 중에서 (참조 이미지라고도 불리는) 제 1 이미지에서의 매 픽셀의 컬러 값의 최선의 매치 (match) 를 찾는 것이고, 여기서, 타겟 이미지는 이미지들의 스테레오 쌍에서의 동반 이미지를 지칭한다. 타겟 이미지는 좌측 또는 우측 이미지 중 하나일 수 있고, 참조 이미지는 좌측 또는 우측 이미지 중 다른 것일 수 있다. 교정된 스테레오 쌍이 고려되고 있음에 따라, 타겟 이미지에서의 검색 공간은 참조 이미지에서와 동일한 등극선에서의 픽셀들에 제한될 수 있다. 하지만, 이 기법은, 오브젝트에서의 동일 포인트와 연관된 픽셀들의 컬러 값들이 동일하다고 가정하고, 이는 항상 정확한 가정은 아니다. 예를 들어, 오브젝트 표면들은 일반적으로 모든 방향들에서 균일하게 빛을 반사하지 않고, 스테레오 셋트를 획득하기 위해 사용된 2 개의 이미지 캡처-센서들은 상이한 비색 교정들 (colorimetric calibrations) 을 가질 수도 있다. 추가적으로, 동일한 컬러 값이 라인을 따라서 수개의 픽셀들에서 발견될 수도 있어 수개의 잠재적 매치들을 제공한다. 또한, 특정 픽셀 또는 픽셀들의 그룹은 타겟 이미지에서 폐색될 수도 있을 것이고, 이는 그들이 참조 이미지에서 오브젝트 뒤에 있고 따라서 3D 이미지에서 볼 수 없음을 의미한다. 따라서, 디스패리티 값들은, 아무런 대응하는 픽셀도 식별되지 않는 픽셀들에 대해 이용가능하지 않을 수도 있다. 보간 또는 유사한 기법들이 이러한 값들이 그렇지 않으면 이용가능하지 않은 경우에 디스패리티 값들을 결정하기 위해 사용될 수 있다.
일 실시형태에서, 디스패리티 맵에 기초하여 심도 맵이 형성될 수 있다. 예를 들어, 디스패리티 맵은 디스패리티 값들이 0 에서부터 셋트 넘버 (예컨대, 255) 까지의 범위이도록 스케일링될 수 있다. 스케일링된 디스패리티 맵은 본 명세서에서 심도 맵으로서 지칭된다. 일반적으로, 심도 맵에서의 스케일링된 값들은 그레이스케일 (예컨대, 셋트 넘버가 255 인 경우에 8-비트 그레이스케일) 과 대응한다. 따라서, 이하 설명되고 예시되는 바와 같이, 심도 맵은 그레이스케일 이미지를 통해 그래픽적으로 표현될 수 있다.
대부분의 휴대용 디바이스들은 데이터를 다른 디바이스들로 효율적으로 송신하기 위해 인코더 및/또는 디코더를 포함한다. 특히, 인코더 및/또는 디코더는 시각적 미디어가 보다 빨리 매체를 가로질러 송신될 수 있도록 시각적 미디어를 압축 및/또는 압축해제하기 위해 사용될 수 있다. 본원에서 기술되는 바와 같이, 기존의 인코더 및/또는 디코더는 추가적인 기능들을 수행하도록 레버리지될 수 있다. 예를 들어, 인코더 및/또는 디코더는 심도 맵을 실시간으로 발생시키고 이미지 또는 이미지들의 시퀀스에서의 심도 정보를 결정하기 위해 사용될 수 있다. 이러한 심도 정보는 관련된 이미지의 부분들 (예컨대, 결합될 때, 오브젝트를 포함하는 픽셀들) 및 관련없는 이미지의 부분들 (예컨대, 다른 오브젝트들의 부분인 이웃하는 (neighboring) 픽셀들) 을 식별함에 있어서 유용할 수 있다. 최종 사용자는 이미지의 부분을 선택할 수 있고, 심도 정보에 기초하여, 선택된 부분에 관련되는 이미지의 부분들이 디바이스의 프로세서에 의해 강화될 수 있고, 및/또는, 선택된 부분에 관련없는 이미지의 부분들이 프로세서에 의해 열화 (degrade) 될 수 있다. 본원에 개시된 바와 같은 시스템들 및 방법들이 도 1 내지 도 14 와 관련하여 더욱 더 자세히 설명된다.
도 1 은 소스 디바이스가 스테레오 이미지를 강화하는 예시적인 시스템을 나타내는 블록도이다. 도 1 에서 예시된 바와 같이, 시스템 (100) 은 이미지 소스 (116), 인코더 (120), 프로세서 (122), 및 이미지 디스플레이 (123) 를 갖는 소스 디바이스 (112) 를 포함할 수도 있다. 소스 디바이스 (112) 는 무선 핸드셋, 소위 셀룰러 또는 위성 무선전화, 또는 통신 채널을 통해 화상 및/또는 비디오 정보를 통신할 수 있는 임의의 무선 디바이스와 같은 무선 통신 디바이스를 포함할 수도 있고, 여기서, 통신 채널은 무선 통신 채널을 포함할 수도 있다.
이미지 소스 (116) 는 제 1 뷰 (150) 및 제 2 뷰 (152) 를 포함하는 이미지들의 스테레오 쌍을 인코더 (120) 및 프로세서 (122) 에 제공한다. 이미지 소스 (116) 는 제 1 뷰 (150) 및 제 2 뷰 (152) 를 동시에 또는 상이한 시간에 인코더 (120) 및 프로세서 (122) 에 제공할 수 있다. 예를 들어, 제 1 뷰 (150) 및 제 2 뷰 (152) 는 제 1 뷰 (150) 및 제 2 뷰 (152) 가 이미지 소스 (116) 에 저장된 바로 후에 또는 후에 머지않아 인코더 (120) 에 제공될 수 있다. 제 1 뷰 (150) 및 제 2 뷰 (152) 는 그 다음, 최종 사용자가 제 1 뷰 (150) 및/또는 제 2 뷰 (152) 를 강화하기를 희망하는 것을 표시할 때 프로세서 (122) 에 제공될 수 있다.
이미지 소스 (116) 는 이미지 센서 어레이 (예컨대, 디지털 스틸 사진 카메라 또는 디지털 비디오 카메라), 하나 이상의 저장된 이미지들을 포함하는 컴퓨터-판독가능 저장 매체, 외부 소스로부터 디지털 이미지들을 수신하기 위한 인터페이스, 비디오 게임 또는 다른 상호작용적 멀티미디어 소스를 실행하는 등에 의해 디지털 이미지들을 발생시키는 프로세싱 유닛, 또는 다른 이미지 데이터의 소스들을 포함할 수도 있다. 이미지 소스 (22) 는 일반적으로, 임의의 하나 이상의 캡처된, 사전-캡처된, 및/또는 컴퓨터-생성된 이미지들의 소스에 대응할 수도 있다. 일부 예들에서, 이미지 소스 (116) 는 셀룰러 (즉, 모바일) 전화기의 카메라에 대응할 수도 있다. 일반적으로, 이 개시물에서의 이미지들에 대한 언급들은 스틸 사진들 및 비디오 데이터의 프레임들 양자 모두를 포함한다. 따라서, 이 개시물의 양태들은 스틸 디지털 사진들 및 캡처된 비디오 데이터 또는 컴퓨터-생성된 디지털 비디오 데이터의 프레임들 양자 모두에 적용될 수도 있다.
예를 들어, 이미지 소스 (116) 는 상이한 관점들에서 장면의 2 개의 뷰들을 캡처할 수도 있다. 다양한 예들에서, 이미지 소스 (116) 는 표준 2-차원 카메라, 장면의 입체적 뷰를 제공하는 2 개의 카메라 시스템, 장면의 다수의 뷰들을 캡처하는 카메라 어레이, 하나의 뷰 플러스 (plus) 심도 정보를 캡처하는 카메라, 또는 장면의 입체적 뷰를 함께 제공하는 제 1 디바이스 상의 제 1 카메라 및 제 2 디바이스 상의 제 2 카메라를 포함할 수도 있다.
인코더 (120) 는 심도 맵 (154) 을 발생시키기 위해 제 1 뷰 (150) 및 제 2 뷰 (152) 를 사용한다. 인코더 (120) 는 그 심도 맵 (154) 을 프로세서 (122) 에 전송한다. 프로세서 (122) 는 제 1 뷰 (150) 의 강화된 버전인 강화된 제 1 뷰 (156) 를 생성하기 위해서, 및/또는 제 2 뷰 (152) 의 강화된 버전인 강화된 제 2 뷰 (158) 를 생성하기 위해서 제 1 뷰 (150), 제 2 뷰 (152), 및 심도 맵 (154) 을 이용한다. 프로세서 (122) 는 강화된 제 1 뷰 (156) 및/또는 강화된 제 2 뷰 (158) 를 이미지 디스플레이 (123) 에 송신한다.
강화된 제 1 뷰 (156) 및/또는 강화된 제 2 뷰 (158) 에 기초하여, 이미지 디스플레이 (123) 는 강화된 2-차원 또는 3-차원 이미지를 렌더링할 수 있다. 예를 들어, 이미지 디스플레이 (123) 는 강화된 제 1 뷰 (156) 및 강화된 제 2 뷰 (158) 를 합성하여 단일의 2-차원 이미지를 형성 및 디스플레이할 수 있다. 다른 예로서, 이미지 디스플레이 (123) 는 (예컨대, 3-차원 효과를 생성하기 위해) 강화된 제 1 뷰 (156) 및 강화된 제 2 뷰 (158) 의 2-차원 버전들을 동시에 또는 교대로 디스플레이할 수 있다. 또 다른 예로서, 이미지 디스플레이 (123) 는 강화된 제 1 뷰 (156) 및 강화된 제 2 뷰 (158) 를 합성하여 단일의 3-차원 이미지를 형성 및 디스플레이할 수 있다.
일반적으로, 휴먼 비전 시스템 (human vision system; HVS) 은 오브젝트의 수렴각에 기초하여 심도를 감지한다. 뷰어 (viewer) 에게 상대적으로 더 가까운 오브젝트들은, 뷰어의 눈들은 뷰어로부터 상대적으로 더 먼 오브젝트들보다 더 큰 각도로 오브젝트 상에 수렴하는 것으로 인해, 뷰어에게 더 가까운 것으로서 감지된다. 화상들 및 비디오와 같은 멀티미디어에서의 3 차원들을 시뮬레이션하기 위해, 이미지 디스플레이 (123) 는 뷰어의 눈들의 각각에 대해 하나의 이미지 (좌측 및 우측) 씩 2 개의 이미지들을 뷰어에게 디스프레이할 수 있다. 이미지 내의 동일한 공간적 로케이션에 위치되는 오브젝트들은 이미지들이 디스플레이되고 있는 스크린과 동일한 심도에 있는 것으로서 일반적으로 감지될 것이다.
심도의 착시를 형성하기 위해, 오브젝트들은 수평 축을 따라 이미지들의 각각에서 약간 상이한 포지션들에서 보일 수도 있다. 2 개의 이미지들에서의 오브젝트들의 로케이션들 사이의 차이는 디스패리티로서 지칭된다. 일반적으로, 오브젝트가 스크린에 대해 뷰어에게 더 가깝게 보이도록 만들기 위해, 네거티브 (negative) 디스패리티 값이 사용될 수도 있는 반면, 오브젝트가 스크린에 대해 사용자로부터 더 멀리 보이도록 만들기 위해, 포지티브 (positive) 디스패리티 값이 사용될 수도 있다. 일부 예들에서, 포지티브 또는 네거티브 디스패리티를 갖는 픽셀들은, 초점으로부터 포지티브 또는 네거티브 심도의 효과를 더 형성하기 위해 첨예도 또는 블러리니스 (blurriness) 를 증가 또는 감소시키기 위해 더 많은 또는 더 적은 해상도로 디스플레이될 수도 있다.
이미지 디스플레이 (123) 는 스테레오스코픽 디스플레이 또는 오토스테레오스코픽 디스플레이를 포함할 수도 있다. 일반적으로, 스테레오스코픽 디스플레이들은, 하나의 이미지를 하나의 눈에 그리고 제 2 이미지를 다른 눈에 다이렉팅시키는 고글 또는 안경과 같은 헤드 장착 유닛을 뷰어가 쓰고 있는 동안 2 개의 이미지들을 디스플레이함으로써 3-차원을 시뮬레이션한다. 일부 예들에서, 각각의 이미지는 (예컨대, 편광 안경 또는 컬러-필터링 안경의 사용으로) 동시에 디스플레이된다. 일부 예들에서, 이미지들은 빠르게 교번되고, 안경 또는 고글은 디스플레이와 동기하여 셔터링을 빠르게 교번하여 정확한 이미지가 오직 대응하는 눈에만 보이게 한다. 오토-스테레오스코픽 디스플레이들은 안경을 사용하지 않지만, 대신에 정확한 이미지들을 뷰어의 대응하는 눈들에 다이렉팅시킬 수도 있다. 예를 들어, 오토-스테레오스코픽 디스플레이들은, 뷰어의 눈들이 어디에 위치되는지를 결정하기 위한 카메라들 및 이미지들을 뷰어의 눈들에 다이렉팅 (directing) 시키기 위한 기계적 및/또는 전자적 수단을 구비할 수도 있다.
도 2 는 소스 디바이스가 강화된 스테레오 이미지를 목적지 디바이스에 송신하는 예시적인 시스템을 나타내는 블록도이다. 도 2 에서 예시된 바와 같이, 시스템 (200) 은 이미지 소스 (116), 인코더 (120), 프로세서 (122), 출력 인터페이스 (224) 를 갖는 소스 디바이스 (112) 를 포함할 수도 있고, 디스플레이 (232), 디코더 (230), 및 입력 인터페이스 (228) 를 갖는 목적지 디바이스 (214) 를 더 포함할 수도 있다. 도 2 의 예에서, 목적지 디바이스 (214) 는 소스 디바이스 (112) 로부터 인코딩된 이미지 데이터 (262) 를 수신한다. 소스 디바이스 (112) 및/또는 목적지 디바이스 (214) 는 무선 핸드셋, 소위 셀룰러 또는 위성 무선전화, 또는 통신 채널을 통해 화상 및/또는 비디오 정보를 통신할 수 있는 임의의 무선 디바이스와 같은 무선 통신 디바이스를 포함할 수도 있고, 여기서, 통신 채널은 무선 통신 채널을 포함할 수도 있다. 목적지 디바이스 (214) 는 3-차원 (3D) 디스플레이 디바이스 또는 3D 렌더링 (rendering) 디바이스로서 지칭될 수도 있다.
도 1 과 관련하여 상술한 바와 같이, 이미지 소스 (116) 는 제 1 뷰 (150) 및 제 2 뷰 (152) 를 포함하는 이미지들의 스테레오 쌍을 인코더 (120) 및 프로세서 (122) 에 제공한다. 이미지 소스 (116) 는 제 1 뷰 (150) 및 제 2 뷰 (152) 를 동시에 또는 상이한 시간에 인코더 (120) 및 프로세서 (122) 에 제공할 수 있다. 예를 들어, 제 1 뷰 (150) 및 제 2 뷰 (152) 는 제 1 뷰 (150) 및 제 2 뷰 (152) 가 이미지 소스 (116) 에 저장된 바로 후에 또는 후에 머지않아 인코더 (120) 에 제공될 수 있다. 제 1 뷰 (150) 및 제 2 뷰 (152) 는 그 다음, 최종 사용자가 제 1 뷰 (150) 및/또는 제 2 뷰 (152) 를 강화하기를 희망하는 것을 표시할 때 프로세서 (122) 에 제공될 수 있다.
인코더 (120) 는 심도 맵 (154) 을 발생시키기 위해 제 1 뷰 (150) 및 제 2 뷰 (152) 를 사용한다. 인코더 (120) 는 심도 맵 (154) 을 프로세서 (122) 에 전송한다. 프로세서 (122) 는 제 1 뷰 (150) 의 강화된 버전인 강화된 제 1 뷰 (156) 를 생성하기 위해서, 및/또는 제 2 뷰 (152) 의 강화된 버전인 강화된 제 2 뷰 (158) 를 생성하기 위해서 제 1 뷰 (150), 제 2 뷰 (152), 및 심도 맵 (154) 을 이용한다. 프로세서 (122) 는 강화된 제 1 뷰 (156) 및/또는 강화된 제 2 뷰 (158) 를 인코더 (120) 에 송신한다.
인코더 (120) 는 강화된 제 1 뷰 (156) 에 대한 및/또는 강화된 제 2 뷰 (158) 에 대한 인코딩된 이미지 데이터를 포함하는 인코딩된 이미지 데이터 (262) 를 형성한다. 일부 예들에서, 인코더 (120) 는 소스 디바이스 (112) 로부터 목적지 디바이스 (214) 로 인코딩된 이미지 데이터 (262) 를 송신하기 위해 필요한 비트들의 수를 감소시키기 위해 다양한 손실 또는 무손실 코딩 기법들을 적용할 수도 있다. 인코더 (120) 는 인코딩된 이미지 데이터 (262) 를 출력 인터페이스 (224) 에 패스한다.
강화된 제 1 뷰 (156) 및/또는 강화된 제 2 뷰 (158) 가 디지털 스틸 사진인 경우에, 인코더 (120) 는 강화된 제 1 뷰 (156) 및/또는 강화된 제 2 뷰 (158) 를 예를 들어 JPEG (Joint Photographic Experts Group) 이미지로서 인코딩하도록 구성될 수도 있다. 강화된 제 1 뷰 (156) 및/또는 강화된 제 2 뷰 (158) 가 비디오 데이터의 프레임인 경우에, 인코더 (120) 는, SVC 및 MVC (Multiview Video Coding) 확장판들, ITU-T H.265, 또는 다른 비디오 인코딩 표준들을 포함하는, MPEG (Motion Picture Experts Group), MPEG-2, ITU (International Telecommunication Union) H.261, ISO/IEC MPEG-1 Visual, ITU-T H.262 또는 ISO/IEC MPEG-2 Visual, ITU H.263, (ISO/IEC MPEG-4 AVC (Advanced Video Coding) 으로서도 알려진) ISO/IEC MPEG-4 Visual 및 ITU-T H.264 와 같은 비디오 코딩 표준에 따라 강화된 제 1 뷰 (156) 및/또는 강화된 제 2 뷰 (158) 를 인코딩하도록 구성될 수도 있다. 예를 들어, 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 표준에 일반적으로 호환되는 디바이스들에 적용될 수도 있다. H.264 표준은 H.264 표준 또는 H.264 사양, 또는 H.264/AVC 표준 또는 사양으로서 본 명세서에서 지칭될 수도 있는, ITU-T 스터디 그룹에 의한, 그리고 2005년 3월자의, 일반적 오디오비쥬얼 서비스들을 위한 ITU-T 권고 H.264, 어드밴스드 비디오 코딩에서 설명된다. JVT (Joint Video Team) 는 H.264/MPEG-4 AVC 에 대한 확장판들에 대해 계속 작업하고 있다. MVC 의 드래프트는 "Advanced video coding for generic audiovisual services", ITU-T 권고 H.264, 2010년 3월에서 기술된다. 또한, HEVC (High Efficiency Video Coding) 는 ITU-T VCEG (Video Coding Experts Group) 및 ISO/IEC MPEG (Motion Picture Experts Group) 의 JCT-VC (Joint Collaboration Team on Video Coding) 에 의해 현재 개발되고 있다. "HEVC 워킹 드래프트 7" 로서 지칭되는 HEVC 표준의 드래프트는 문서 HCTVC-I1003, Bross 외 저, "High Efficiency Video Coding (HEVC) Text Specification Draft 7", ITU-T SG16 WP3 및 ISO/IEC JTC1/SC29/WG11 의 JCT-VC (Joint Collaborative Team on Video Coding) , 9차 회의: 스위스, 제네바, 2012년 4월 27일에서 2012년 5월 7일까지에 있다. 이 문서는 그것의 전체가 참조에 의해 본원에 통합된다.
일부 실시형태들에서, 도시되지는 않았지만, 인코더 (120) 는 심도 맵 (154) 을 인코딩하도록 구성되고, 이 심도 맵은 그 후에 인코딩된 이미지 데이터 (262) 의 일부로서 비트스트림에서 송신된다. 이 프로세스는 하나의 캡처된 뷰에 대한 하나의 심도 맵 또는 수개의 송신된 뷰들에 대한 심도 맵들을 생성할 수 있다. 인코더 (120) 는 하나 이상의 뷰들 및 심도 맵들을 수신하고, 그것들을, H.264/AVC, 다수의 뷰들을 공동으로 코딩할 수 있는 MVC, 또는 심도 및 텍스처를 공동으로 코딩할 수 있는 스케일러블 비디오 코딩 (SVC) 과 같은 비디오 코딩 표준들로 코딩할 수도 있다.
강화된 제 1 뷰 (156) 및/또는 강화된 제 2 뷰 (158) 가 비디오 데이터의 프레임에 대응할 때, 인코더 (120) 는 강화된 제 1 뷰 (156) 및/또는 강화된 제 2 뷰 (158) 를 인트라-예측 또는 인터-예측 모드에서 인코딩할 수도 있다. 일 예로서, ITU-T H.264 표준은 루마 컴포넌트들에 대해 16x16, 8x8, 또는 4x4, 및 크로마 컴포넌트들에 대해 8x8 과 같은 다양한 블록 사이즈들에서 인트라-예측을 지원할 뿐만 아니라, 루마 컴포넌트들에 대해 16x16, 16x8, 8x16, 8x8, 8x4, 4x8 및 4x4, 및 크로마 컴포넌트들에 대해 대응하는 스케일링된 사이즈들과 같은 다양한 블록 사이즈들에서 인터-예측을 지원한다. 이 개시물에서, "NxN" 및 "N 바이 (by) N" 은 수직 및 수평 치수들의 면에서 블록의 픽셀 치수들을 지칭하기 위해 상호교환가능하게 사용될 수도 있다 (예컨대, 16x16 픽셀들 또는 16 바이 16 픽셀들). 일반적으로, 16x16 블록은 수직 방향에서 16 픽셀들 및 수평 방향에서 16 픽셀들을 가질 것이다. 마찬가지로, NxN 블록은 일반적으로 수직 방향에서 N 픽셀들 및 수평 방향에서 N 픽셀들을 가지고, 여기서, N 은 16 보다 더 클 수도 있는 양의 정수 값을 나타낸다. 블록에서의 픽셀들은 행들 및 열들로 배열될 수도 있다. 블록들은 또한 NxM 일 수도 있고, 여기서, N 및 M 은 반드시 동일할 필요는 없는 정수들이다.
16 바이 16 보다 적은 블록 사이즈들은 16 바이 16 매크로블록의 파티션들 (partitions) 로서 지칭될 수도 있다. 마찬가지로, NxN 블록에 대해, NxN 보다 적은 블록 사이즈들은 NxN 블록의 파티션들로서 지칭될 수도 있다. 비디오 블록들은 픽셀 도메인에서 픽셀 데이터의 블록들, 또는 변환 도메인 (예컨대, 이산 코사인 변환 (DCT), 정수 변환, 웨이블릿 변환, 또는 코딩된 비디오 블록들과 예측 비디오 블록들 사이의 픽셀 차이들을 나타내는 잔차 비디오 블록 데이터로의 개념적으로 유사한 변환과 같은 변환의 이어지는 적용) 에서 변환 계수들의 블록들을 포함할 수도 있다. 일부 경우들에서, 비디오 블록은 변환 도메인에서 양자화된 변환 계수들의 블록들을 포함할 수도 있다.
더 작은 비디오 블록들은 더 양호한 해상도를 제공할 수 있고, 하이 레벨들의 디테일 (detail) 을 포함하는 비디오 프레임의 로케이션들에 대해 사용될 수도 있다. 일반적으로, 매크로블록들, 및 때로는 서브-블록들로서 지칭되는 다양한 파티션들은 비디오 블록들인 것으로 고려될 수도 있다. 또한, 슬라이스는 매크로블록들 및/또는 서브-블록들과 같은 복수의 비디오 블록들인 것으로 고려될 수도 있다. 각 슬라이스는 비디오 프레임의 독립적으로 디코딩가능한 유닛일 수도 있다. 대안적으로, 프레임들 그것들 자체가 디코딩가능한 유닛들일 수도 있고, 또는, 프레임의 다른 부분들이 디코딩가능한 유닛들로서 정의될 수도 있다. "코딩된 유닛" 또는 "코딩 유닛" 이라는 용어는 전체 프레임, 프레임의 슬라이스, 시퀀스 또는 수퍼프레임으로서 또한 지칭되는 GOP (group of pictures), 또는 적용가능한 코딩 기법들에 따라 정의되는 다른 독립적으로 디코딩가능한 유닛과 같은 비디오 프레임의 임의의 독립적으로 디코딩가능한 유닛을 지칭할 수도 있다.
일반적으로, 매크로블록들 및 다양한 서브-블록들 또는 파티션들은 모두 비디오 블록들인 것으로 고려될 수도 있다. 또한, 슬라이스는 매크로블록들 및/또는 서브-블록들 또는 파티션들과 같은 일련의 비디오 블록들인 것으로 고려될 수도 있다. 일반적으로, 매크로블록은 픽셀들의 16 바이 16 영역을 정의하는 크로미넌스 및 루미넌스 값들의 셋트를 지칭할 수도 있다. 루미넌스 블록은 값들의 16 바이 16 셋트를 포함할 수도 있지만, 8 바이 8 블록들, 4 바이 4 블록들, 8 바이 4 블록들, 4 바이 8 블록들 또는 다른 사이즈들과 같은 더 작은 비디오 블록들로 추가적으로 파티셔닝될 수도 있다. 2 개의 상이한 크로미넌스 블록들은 매크로블록에 대해 컬러를 정의할 수도 있고, 픽셀들의 16 바이 16 영역과 연관된 컬러 값들의 8 바이 8 서브-샘플링된 블록들을 각각 포함할 수도 있다. 매크로블록들은 매크로블록들에 적용되는 코딩 모드들 및/또는 코딩 기법들을 정의하기 위한 신택스 (syntax) 정보를 포함할 수도 있다. 매크로블록들 또는 다른 비디오 블록들은 슬라이스들, 프레임들 또는 다른 독립적인 유닛들과 같은 디코딩가능한 유닛들로 그룹핑될 수도 있다. 각 슬라이스는 비디오 프레임의 독립적으로 디코딩가능한 유닛일 수도 있다. 대안적으로, 프레임들 그것들 자체가 디코딩가능한 유닛들일 수도 있고, 또는, 프레임의 다른 부분들이 디코딩가능한 유닛들로서 정의될 수도 있다.
출력 인터페이스 (224) 는 인코딩된 이미지 데이터 (262) 를 목적지 디바이스 (214) 에 송신한다. 입력 인터페이스 (228) 는 출력 인터페이스 (224) 로부터 인코딩된 이미지 데이터 (262) 를 수신한다. 이 개시물의 양태들은 반드시 무선 애플리케이션들 또는 셋팅들에 제한될 필요는 없다. 예를 들어, 이 개시물의 양태들은 공중파 텔레비전 방송들, 케이블 텔레비전 송신들, 위성 텔레비전 송신들, 인터넷 비디오 송신들, 저장 매체 상에 인코딩된 인코딩된 디지털 비디오, 또는 다른 시나리오들에 적용될 수도 있다. 따라서, 통신 채널은 인코딩된 비디오 및/또는 화상 데이터의 송신에 적합한 무선 또는 유선 매체들의 임의의 조합을 포함할 수도 있다.
출력 인터페이스 (224) 는 인코딩된 이미지 데이터 (262) 를 포함하는 비트스트림을 목적지 디바이스 (214) 의 입력 인터페이스 (228) 에 전송할 수도 있다. 예를 들어, 출력 인터페이스 (224) 는 전송 레벨 캡슐화 (encapsulation) 기법들 (예컨대, MPEG-2 시스템 기법들) 을 이용하여 인코딩된 이미지 데이터 (262) 를 비트스트림에서 캡슐화할 수도 있다. 출력 인터페이스 (224) 는, 예를 들어, 네트워크 인터페이스, 무선 네트워크 인터페이스, 무선 주파수 송신기, 송신기/수신기 (트랜시버), 또는 다른 송신 유닛을 포함할 수도 있다. 다른 예들에서, 소스 디바이스 (112) 는, 예를 들어, 콤팩트 디스크, 디지털 비디오 디스크, 블루-레이 디스크와 같은 광학 저장 매체, 플래시 메모리, 자기 매체들, 또는 다른 저장 매체들과 같은 물리적 매체에 인코딩된 이미지 데이터 (262) 를 포함하는 비트스트림을 저장하도록 구성될 수도 있다. 이러한 예들에서, 저장 매체들은 목적지 디바이스 (214) 의 로케이션에 물리적으로 운반될 수도 있고, 데이터를 취출하기 위해 적절한 인터페이스 유닛에 의해 판독될 수도 있다. 일부 예들에서, 인코딩된 이미지 데이터 (262) 를 포함하는 비트스트림은 출력 인터페이스 (224) 에 의해 송신되기 전에 변조기/복조기 (MODEM) 에 의해 변조될 수도 있다.
비록 이미지 소스 (116) 는 다수의 뷰들 (즉, 강화된 제 1 뷰 (156) 및 강화된 제 2 뷰 (158)) 을 제공할 수도 있지만, 소스 디바이스 (112) 는 오직 강화된 제 1 뷰 (156) 또는 강화된 제 2 뷰 (158) 만을 송신할 수도 있다. 예를 들어, 이미지 소스 (116) 는 다른 각도들로부터 보일 장면의 뷰들의 4 쌍들을 생성하도록 의도된 8 개의 카메라 어레이를 포함할 수도 있다. 소스 디바이스 (112) 는 각 쌍 중 오직 하나의 이미지만을 목적지 디바이스 (214) 에 송신할 수도 있다. 일부 실시형태들에서, 소스 디바이스 (112) 는 단일 이미지와 함께 심도 맵 (154) 과 같은 추가적인 정보를 송신할 수도 있다. 따라서, 8 개의 뷰들을 송신하기 보다는, 소스 디바이스 (112) 는, 이 예에서, 인코딩된 이미지 데이터 (262) 를 포함하는 비트스트림의 형태로 4 개의 뷰들 및/또는 플러스 4 개의 뷰들의 각각에 대한 심도/디스패리티 정보 (예컨대, 심도 맵 (154)) 를 송신할 수도 있다. 일부 예들에서, 프로세서 (122) 는 사용자로부터 또는 다른 외부 디바이스로부터 이미지에 대한 디스패리티 정보 (예컨대, 심도 맵 (154)) 를 수신할 수도 있다.
인코딩된 이미지 데이터 (262) 를 갖는 비트스트림을 수신하고 그 데이터를 캡슐화해제한 후에, 일부 예들에서, 입력 인터페이스 (228) 는 인코딩된 이미지 데이터 (262) 를 디코더 (230) 에 (또는, 일부 예들에서, 비트스트림을 복조하는 MODEM 에) 제공할 수도 있다.
디코더 (230) 는 입력 인터페이스 (228) 로부터 인코딩된 이미지 데이터 (262) 를 수신한다. 디코더 (230) 는 강화된 제 1 뷰 (156) 및/또는 강화된 제 2 뷰 (158) 를 추출하기 위해 그 인코딩된 이미지 데이터 (262) 를 디코딩한다. 강화된 제 1 뷰 (156) 및/또는 강화된 제 2 뷰 (158) 에 기초하여, 이미지 디스플레이 (123) 와 동일하거나 유사한 이미지 디스플레이 (232) 는 2-차원 또는 3-차원 이미지를 렌더링할 수 있다. 비록 도 2 에는 도시되지 않지만, 강화된 제 1 뷰 (156) 및/또는 강화된 제 2 뷰 (158) 는 소스 디바이스 (112) 또는 목적지 디바이스 (214) 중 어느 일방에서 추가적인 프로세싱을 겪을 수도 있다.
도 3 은 본 개시물에 개시된 양태들에 따른 코딩 기술들을 구현할 수도 있는 인코더의 일 예를 예시하는 블록도이다. 인코더 (120) 는 본 개시물의 기술들 중 임의의 것 또는 전부를 수행하도록 구성될 수도 있다. 예를 들어, 모드 선택 유닛 (340) (예컨대, 모션 추정 유닛 (342)) 은 인코더 (120) 에 의해 수신된 이미지들의 시퀀스 (예컨대, 좌측 이미지에 이은 우측 이미지) 에 기초하여 심도 맵을 결정하도록 구성될 수도 있다. 하지만, 이 개시물의 양태들은 거기에 한정되지 아니한다. 일부 예들에서, 본 개시물에 설명된 기술들은 인코더 (120) 의 다양한 컴포넌트들 중에서 공유될 수도 있다. 일부 예들에서, 부가적으로 또는 대신에, (도시되지 않은) 프로세서는 본 개시물에 설명된 기술들 중 임의의 것 또는 전부를 수행하도록 구성될 수도 있다.
인코더 (120) 는 비디오 슬라이스들 내의 비디오 블록들의 인트라 코딩 및 인터 코딩을 수행할 수도 있다. 인트라 코딩은 소정의 비디오 프레임 또는 픽처 (picture) 내의 비디오에서 공간 리던던시 (redundancy) 를 감소시키거나 제거하기 위해 공간 예측에 의존한다. 인터 코딩은 비디오 시퀀스의 인접한 프레임들 또는 픽처들 내의 비디오에서 시간 리던던시를 감소시키거나 제거하기 위해 시간 예측에 의존한다. 인트라 모드 (I 모드) 는 다양한 공간 기반의 코딩 모드들 중 임의의 것을 지칭할 수도 있다. 단방향 예측 (P 모드) 및 양방향 예측 (B 모드) 과 같은 인터 모드들은 몇몇 시간 기반의 코딩 모드들 중 임의의 것을 지칭할 수도 있다. 인코더 (120) 는 또한 본 명세서에서 설명된 인터 코딩 기술들을 이용하여 디스패리티 맵 및/또는 심도 맵을 생성할 수도 있다.
도 3 에 도시된 바와 같이, 인코더 (120) 는 인코딩될 이미지 또는 비디오 프레임 내에서 현재 이미지 블록을 수신한다. 도 3 의 예에서, 인코더 (120) 는 모드 선택 유닛 (340), 참조 프레임 메모리 (364), 합산기 (350), 변환 프로세싱 유닛 (352), 양자화 유닛 (354), 및 엔트로피 코딩 유닛 (356) 을 포함한다. 모드 선택 유닛 (40) 은 다시, 모션 추정 유닛 (342), 모션 보상 유닛 (344), 인트라 예측 유닛 (346), 및 파티션 유닛 (348) 을 포함한다. 비디오 블록 재구성을 위해, 인코더 (120) 는 역양자화 유닛 (358), 역변환 유닛 (360), 및 합산기 (362) 를 또한 포함한다. 재구성된 비디오에서 블록키니스 아티팩트들 (blockiness artifacts) 을 제거하도록 블록 경계들을 필터링하기 위해 디블록킹 필터 (도 3 에 도시되지 않음) 가 또한 포함될 수도 있다. 원하는 경우, 디블록킹 필터는 통상적으로 합산기 (362) 의 출력을 필터링할 것이다. 디블록킹 필터에 부가하여, (루프 내에 또는 루프 다음에) 추가의 필터들이 또한 사용될 수도 있다. 그러한 필터들은 간략함을 위해 도시되지 않지만, 원하는 경우 (인-루프 필터로서) 합산기 (350) 의 출력을 필터링할 수도 있다.
인코딩 프로세스 동안, 인코더 (120) 는 코딩될 비디오 프레임 또는 슬라이스를 수신한다. 이미지, 프레임, 또는 슬라이스는 다수의 비디오 블록들로 분할될 수도 있다. 모션 추정 유닛 (342) 및 모션 보상 유닛 (344) 은 하나 이상의 참조 프레임들에서의 하나 이상의 블록들에 대한 수신된 비디오 블록의 인터 예측 코딩을 수행하여 시간 예측을 제공한다. 인트라-예측 유닛 (346) 은 공간 예측을 제공하기 위해 코딩될 블록과 동일한 프레임 또는 슬라이스에 있어서의 하나 이상의 이웃하는 블록들에 대해 수신된 비디오 블록의 인트라-예측 코딩을 대안적으로 수행할 수도 있다. 인코더 (120) 는 (예컨대, 비디오 데이터의 각 블록에 대하여 적절한 코딩 모드를 선택하도록) 다중 코딩 패스들을 수행할 수도 있다.
또한, 파티션 유닛 (348) 은 이전 코딩 패스들에서 이전 파티셔닝 방식들의 평가에 기초하여, 이미지 또는 비디오 데이터의 블록들을 서브-블록들로 파티셔닝할 수도 있다. 예를 들어, 파티션 유닛 (348) 은 먼저 이미지, 프레임, 또는 슬라이스를 최대 코딩 유닛들 (LCU들) 로 파티셔닝할 수도 있고, 레이트-왜곡 분석 (예컨대, 레이트-왜곡 최적화) 에 기초하여 LCU들의 각각을 서브-코딩 유닛들 (CU들) 로 파티셔닝할 수도 있다. 모드 선택 유닛 (340) (예컨대, 파티션 유닛 (348)) 은 LCU 의 서브-CU들로의 파티셔닝을 표시하는 쿼드트리 데이터 구조를 추가로 생성할 수도 있다. 쿼드트리의 리프-CU들은 하나 이상의 PU들 및 하나 이상의 TU들을 포함할 수도 있다.
모드 선택 유닛 (340) 은, 에러 결과들에 기초하여 코딩 모드들 (예컨대, 인트라 모드 또는 인터 모드) 중 하나를 선택할 수도 있고, 결과적인 인트라 코딩된 블록 또는 인터 코딩된 블록을 합산기 (350) 에 제공하여 잔차 블록 데이터를 생성하고 합산기 (362) 에 제공하여 참조 프레임으로서 사용하기 위한 인코딩된 블록을 재구성할 수도 있다. 모드 선택 유닛 (340) 은 또한 신택스 엘리먼트들, 예컨대 모션 벡터들, 인트라 모드 표시자들, 파티션 정보, 및 다른 그러한 신택스 정보를 엔트로피 인코딩 유닛 (356) 에 제공한다.
모션 추정 유닛 (342) 및 모션 보상 유닛 (344) 은 고도로 통합될 수 있지만, 개념적 목적들을 위해 별개로 예시된다. 모션 추정 유닛 (342) 에 의해 수행된 모션 추정은 또는 모션 정보의 예측은 모션 벡터들을 생성하는 프로세스이며, 모션 벡터들은 비디오 블록들에 대한 모션을 추정한다. 모션 벡터는, 예를 들면, 현재의 프레임 (또는 다른 코딩된 유닛) 내에서 코딩되고 있는 현재의 블록에 대한 참조 프레임 (또는 다른 코딩된 유닛) 내의 예측 블록에 대하여 현재 비디오 프레임 또는 픽처 내의 비디오 블록의 PU 의 변위를 나타낼 수도 있다. 예측 블록은 픽셀 차이의 관점에서, 코딩될 블록과 밀접하게 매칭하는 것으로 발견된 블록이며, 픽셀 차이는 절대 차의 합 (sum of absolute difference; SAD), 제곱 차의 합 (sum of square difference; SSD), 또는 다른 차이 메트릭들에 의해 결정될 수도 있다. 일부 예들에서, 인코더 (120) 는 참조 프레임 메모리 (64) 에 저장된 참조 픽처들의 서브-정수 픽셀 위치들에 대한 값들을 계산할 수도 있다. 예를 들면, 인코더 (120) 는 참조 픽처의 1/4 픽셀 위치들, 1/8 픽셀 위치들, 또는 다른 분수의 픽셀 위치들의 값들을 보간할 수도 있다. 따라서, 모션 추정 유닛 (342) 은 전체 픽셀 위치들 및 분수 픽셀 위치들에 대한 모션 검색을 수행하고, 분수 픽셀 정밀도를 갖는 모션 벡터를 출력할 수도 있다.
모션 추정 유닛 (342) 은 PU 의 위치를 참조 픽처의 예측 블록의 위치와 비교함으로써 인터 코딩된 슬라이스에서의 비디오 블록의 PU 에 대한 모션 벡터를 계산한다. 참조 픽처는 제 1 참조 픽처 리스트 (List 0) 또는 제 2 참조 픽처 리스트 (List 1), 또는 제 3 참조 픽처 리스트 (List C) 로부터 선택될 수도 있는데, 이들 각각은 참조 프레임 메모리 (364) 에 저장된 하나 이상의 참조 픽처들을 식별한다. 참조 픽처는 PU 에 공간적으로 및/또는 시간적으로 이웃하는 블록들의 모션 정보에 기초하여 선택될 수도 있다. 선택된 참조 픽처는 참조 인덱스에 의해 식별될 수도 있다. 모션 추정 유닛 (342) 은 계산된 모션 벡터 및/또는 참조 인덱스를 엔트로피 인코딩 유닛 (356) 과 모션 보상 유닛 (344) 으로 전송한다.
또한, 모션 추정 유닛 (342) 은 시퀀스로 수신되는 2 개의 이미지들 (예컨대, 좌측 이미지 및 우측 이미지) 을 비교하고 본 명세서에서 설명되는 바와 같은 방식으로 그 수신된 이미지들에서의 각 부분 (예컨대, 각 픽셀, 픽셀들의 각 그룹 등) 에 대한 디스패리티 값들을 결정함으로써 디스패리티 맵을 생성한다. 예를 들어, 디스패리티 값들은 2 개의 이미지들 사이의 모션을 분석함으로써 결정될 수 있다. 모션 추정 유닛 (342) 은 심도 맵을 생성하기 위해 디스패리티 맵을 업스케일링할 수 있다.
모션 보상 유닛 (344) 에 의해 수행된 모션 보상은 모션 추정 유닛 (342) 에 의해 결정된 모션 벡터에 기초하여 예측 블록을 페칭(fetching) 또는 생성하는 것을 수반할 수도 있다. 현재 비디오 블록의 PU 에 대한 모션 벡터를 수신 시에, 모션 보상 유닛 (344) 은 모션 벡터가 가리키는 예측 블록을 참조 픽처 리스트들 중 하나에 로케이팅할 수도 있다. 합산기 (350) 는 코딩되고 있는 현재 비디오 블록의 픽셀 값들로부터 예측 블록의 픽셀 값들을 감산함으로써 이하 설명되는 것과 같은 픽셀 차이 값들을 형성하는 잔차 비디오 블록을 형성한다. 일부 실시형태들에서, 모션 추정 유닛 (342) 은 루마 컴포넌트들에 대한 모션 추정을 수행할 수 있고, 모션 보상 유닛 (344) 은 크로마 컴포넌트들과 루마 컴포넌트들 양자에 대한 루마 컴포넌트들에 기초하여 계산된 모션 벡터들을 사용할 수 있다. 모드 선택 유닛 (340) 은 비디오 블록들과 연관된 신택스 엘리먼트들 및 비디오 슬라이스의 비디오 블록들을 디코딩함에 있어서 디코더 (230) 에 의해 사용하기 위한 비디오 슬라이스를 생성할 수도 있다.
일부 실시형태들에서, 인트라-예측 유닛 (346) 은 현재 블록을, 모션 추정 유닛 (342) 및 모션 보상 유닛 (344) 에 의해 수행된 인터-예측에 대한 대안으로서 인트라-예측할 수도 있다. 특히, 인트라-예측 유닛 (346) 은 현재 블록을 인코딩하는데 이용하기 위한 인트라-예측 모드를 결정할 수도 있다. 일부 예들에서, 인트라-예측 유닛 (346) 은, (예를 들어 별개의 인코딩 패스들 동안에) 다양한 인트라-예측 모드들을 이용하여 현재 블록을 인코딩할 수도 있으며, 인트라-예측 유닛 (346) (또는 일부 예들에서는 모드 선택 유닛 (340)) 은 테스트된 모드들로부터 이용하기 위해 적절한 인트라-예측 모드를 선택할 수도 있다.
예를 들어, 인트라-예측 유닛 (346) 은 다양한 테스트된 인트라-예측 모드들에 대한 레이트-왜곡 분석을 이용하여 레이트-왜곡 값들을 계산하고, 테스트된 모드들 중에서 최선의 레이트-왜곡 특성들을 갖는 인트라-예측 모드를 선택할 수도 있다. 레이트-왜곡 분석은 일반적으로, 인코딩된 블록과 그 인코딩된 블록을 생성하도록 인코딩되었던 원래의 인코딩되지 않은 블록 간의 왜곡 (또는 에러) 의 양뿐 아니라 인코딩된 블록을 생성하는데 사용된 비트레이트 (즉, 비트들의 수) 를 결정한다. 인트라-예측 유닛 (346) 은 다양한 인코딩된 블록들에 대한 왜곡들 및 레이트들로부터 비율들을 계산하여, 어떤 인트라-예측 모드가 그 블록에 대한 최선의 레이트-왜곡 값을 나타내는지를 결정할 수도 있다.
블록에 대한 인트라 예측 모드를 선택한 후에, 인트라 예측 유닛 (346) 은 그 블록에 대하여 선택된 인트라 예측 모드를 표시하는 정보를 엔트로피 인코딩 유닛 (356) 에 제공할 수도 있다. 엔트로피 인코딩 유닛 (356) 은 선택된 인트라 예측 모드를 나타내는 정보를 인코딩할 수도 있다. 인코더 (120) 는 복수의 인트라 예측 모드 인덱스 표들 및 복수의 변경된 인트라 예측 모드 인덱스 표들 (또한 코드워드 맵핑 표들로 지칭됨) 을 포함할 수도 있는 송신된 비트스트림 구성 데이터 (configuration data) 에, 다양한 블록들에 대한 인코딩 콘텍스트들의 정의들, 및 콘텍스트들의 각각에 대하여 사용하기 위한 가장 가능한 인트라 예측 모드, 인트라 예측 모드 인덱스 표, 및 변경된 인트라 예측 모드 인덱스 표의 표시를 포함시킬 수도 있다.
상술한 바와 같이, 인코더 (120) 는 코딩되고 있는 원래의 비디오 블록으로부터 모드 선택 유닛 (340) 에 의해 제공된 예측 데이터를 감산함으로써 잔차 비디오 블록을 형성한다. 합산기 (350) 는 이러한 감산 동작을 수행하는 컴포넌트 또는 컴포넌트들을 나타낸다. 변환 프로세싱 유닛 (352) 은, DCT 또는 개념적으로 유사한 변환 (예컨대, 웨이블릿 변환들, 정수 변환들, 서브-밴드 변환들 등) 과 같은 변환을 잔차 블록에 적용하여, 잔차 변환 계수 값들을 포함하는 비디오 블록을 생성한다. 변환은 잔차 정보를 픽셀 값 도메인으로부터 주파수 도메인과 같은 변환 도메인으로 변환할 수도 있다. 변환 프로세싱 유닛 (352) 은 결과적인 변환 계수들을 양자화 유닛 (354) 으로 전송할 수도 있다. 양자화 유닛 (354) 은 변환 계수들을 양자화하여 비트 레이트를 더 감소시킨다. 양자화 프로세스는 계수들의 일부 또는 전부와 연관된 비트 심도를 감소시킬 수도 있다. 양자화의 정도는 양자화 파라미터를 조정함으로써 변경될 수도 있다. 일부 예들에서, 양자화 유닛 (354) 은 그 다음, 양자화된 변환 계수들을 포함하는 매트릭스의 스캔을 수행할 수도 있다. 대안적으로, 엔트로피 인코딩 유닛 (356) 은 스캔을 수행할 수도 있다.
양자화에 이어, 엔트로피 인코딩 유닛 (356) 은 양자화된 변환 계수들을 엔트로피 코딩한다. 예를 들면, 엔트로피 인코딩 유닛 (356) 은 CAVLC, CABAC, SBAC, PIPE 코딩, 또는 다른 엔트로피 코딩 기법을 수행할 수도 있다. 콘텍스트-기반의 엔트로피 코딩의 경우에, 콘텍스트는 이웃하는 블록들에 기반할 수도 있다. 엔트로피 인코딩 유닛 (356) 에 의한 엔트로피 코딩에 이어, 인코딩된 비트스트림은 다른 디바이스 (예컨대, 비디오 디코더 (230)) 로 송신되거나 또는 추후 송신 또는 취출 (retrieval) 을 위해 아카이브될 수도 있다.
역양자화 유닛 (358) 및 역변환 유닛 (360) 은, 각각, 역양자화 및 역변환을 적용하여, (예컨대, 참조 블록으로서 추후 사용을 위해) 픽셀 도메인에서 잔차 블록을 재구성한다. 모션 보상 유닛 (344) 은 참조 프레임 메모리 (364) 에 저장된 프레임들 중 하나의 예측 블록에 잔차 블록을 가산함으로써 기준 블록을 계산할 수도 있다. 모션 보상 유닛 (344) 은, 모션 추정에서 사용하기 위한 서브-정수 픽셀 값들을 계산하기 위해, 재구성된 잔차 블록에 하나 이상의 보간 필터들을 또한 적용할 수도 있다. 합산기 (362) 는 재구성된 잔차 블록을 모션 유닛 (344) 에 의해 생성된 모션 보상된 예측 블록에 가산하여 참조 프레임 메모리 (364)에 저장하기 위한 재구성된 비디오 블록을 생성한다. 재구성된 비디오 블록은 후속하는 비디오 프레임에서의 블록을 인터 코딩하기 위한 기준 블록으로서 모션 추정 유닛 (342) 및 모션 보상 유닛 (344) 에 의해 사용될 수도 있다.
도 4 는 이 개시물에서 설명된 양태들에 따른 기술들을 구현할 수도 있는 디코더의 일 예를 예시하는 블록도이다. 디코더 (230) 는 이 개시물의 기술들 중 임의의 것 또는 전부를 수행하도록 구성될 수도 있다. 예를 들어, 모션 보상 유닛 (472) 은 디스패티리 맵 및/또는 심도 맵을 생성하도록 구성될 수도 있다. 그러나, 본 개시의 양태들은 거기에 제한되는 것은 아니다. 일부 예들에서, 본 개시물에 설명된 기술들은 비디오 디코더 (230) 의 다양한 컴포넌트들 중에서 공유될 수도 있다. 일부 예들에서, 부가적으로 또는 대신에, (도시되지 않은) 프로세서는 본 개시물에 설명된 기술들 중 임의의 것 또는 전부를 수행하도록 구성될 수도 있다.
도 4 의 예에서, 디코더 (230) 는 엔트로피 디코딩 유닛 (470), 모션 보상 유닛 (472), 인트라 예측 유닛 (474), 역양자화 유닛 (476), 역변환 유닛 (478), 참조 프레임 메모리 (482) 및 합산기 (480) 를 포함한다. 디코더 (230) 는, 몇몇 예들에서, 인코더 (120) 에 대해 설명된 인코딩 패스 (도 3) 에 일반적으로 역순인 디코딩 패스를 수행할 수도 있다. 모션 보상 유닛 (472) 은 엔트로피 디코딩 유닛 (470) 으로부터 수신된 모션 벡터들에 기초하여 예측 데이터를 생성할 수도 있고, 인트라 예측 유닛 (474) 은 엔트로피 디코딩 유닛 (470) 으로부터 수신된 인트라 예측 모드 표시자들에 기초하여 예측 데이터를 생성할 수도 있다.
디코딩 프로세스 동안, 디코더 (230) 는 인코딩된 이미지 또는 비디오 슬라이스 및 연관된 신택스 엘리먼트들의 블록들을 나타내는 인코딩된 이미지 비트스트림을 인코더 (120) 로부터 수신한다. 디코더 (230) 의 엔트로피 디코딩 유닛 (470) 은 비트스트림을 엔트로피 디코딩하여 양자화된 계수들, 모션 벡터들 또는 인트라 예측 모드 표시자들, 및/또는 다른 신택스 엘리먼트들을 생성한다. 엔트로피 디코딩 유닛 (470) 은 모션 벡터들 및 다른 신택스 엘리먼트들을 모션 보상 유닛 (472) 으로 포워딩한다. 디코더 (230) 는 이미지, 비디오 슬라이스 레벨, 및/또는 블록 레벨에서 신택스 엘리먼트들을 수신할 수도 있다.
이미지 또는 비디오 슬라이스가 인트라 코딩된 (I) 슬라이스로서 코딩될 때, 인트라 예측 유닛 (474) 은 현재 프레임 또는 픽처의 이전에 디코딩된 블록들로부터의 데이터와 시그널링된 인트라 예측 모드 및 데이터에 기초하여 현재 이미지 또는 비디오 슬라이스의 블록에 대한 예측 데이터를 생성할 수도 있다. 이미지 또는 프레임이 인터 코딩된 (예컨대, B, P 또는 GPB) 슬라이스로서 코딩될 때, 모션 보상 유닛 (472) 은 엔트로피 디코딩 유닛 (470) 으로부터 수신된 다른 신택스 엘리먼트들과 모션 벡터들에 기초하여 현재 비디오 슬라이스의 비디오 블록에 대한 예측 블록들을 생성한다. 예측 블록들은 참조 픽처 리스트들 중 하나 내의 참조 픽처들 중 하나로부터 생성될 수도 있다. 디코더 (230) (예컨대, 모션 보상 유닛 (472)) 는, 참조 프레임 메모리 (492) 에 저장된 참조 픽처들에 기초하여 디폴트 구성 기법들을 이용하여, 참조 프레임 리스트들, List 0, List 1, 및 List C 를 구성할 수도 있다. 모션 보상 유닛 (472) 은 모션 벡터들 및 다른 신택스 엘리먼트들을 파싱 (parsing) 하는 것에 의해 현재의 비디오 슬라이스의 비디오 블록에 대한 예측 정보를 결정하고, 그 예측 정보를 사용하여, 디코딩되고 있는 현재 비디오 블록에 대한 예측 블록들을 생성한다. 예를 들면, 모션 보상 유닛 (472) 은, 비디오 슬라이스의 블록들을 코딩하기 위해 사용되는 예측 모드 (예를 들면, 인트라 예측 또는 인터 예측), 인터 예측 슬라이스 타입 (예를 들면, B 슬라이스, P 슬라이스, 또는 GPB 슬라이스), 슬라이스에 대한 참조 픽처 리스트들 중에 하나 이상에 대한 구성 정보, 이미지 또는 슬라이스의 각각의 인터 인코딩된 블록에 대한 모션 벡터들, 이미지 또는 슬라이스의 각각의 인터 코딩된 블록에 대한 인터 예측 상태, 및/또는 현재의 이미지 또는 비디오 슬라이스에서의 블록들을 디코딩하기 위한 다른 정보를 결정하기 위해, 수신된 신택스 엘리먼트들의 일부를 사용한다.
또한, 모션 보상 유닛 (472) 은 시퀀스로 수신되는 2 개의 이미지들 (예컨대, 좌측 이미지 및 우측 이미지) 을 비교하고 본 명세서에서 설명되는 바와 같은 방식으로 이미지들에서의 각 부분 (예컨대, 각 픽셀, 픽셀들의 각 그룹 등) 에 대한 디스패리티 값들을 결정함으로써 디스패리티 맵을 생성한다. 예를 들어, 디스패리티 값들은 2 개의 이미지들 사이의 모션을 분석함으로써 결정될 수 있다. 모션 보상 유닛 (472) 은 심도 맵을 생성하기 위해 디스패리티 맵을 업스케일링할 수 있다.
모션 보상 유닛 (472) 은 보간 필터들에 기초한 보간을 또한 수행할 수도 있다. 모션 보상 유닛 (472) 은 비디오 블록들의 인코딩 동안 인코더 (120) 에 의해 사용되는 것과 같이 보간 필터들을 사용하여 기준 블록들의 서브-정수 픽셀들에 대한 보간된 값들을 계산할 수도 있다. 이 경우, 모션 보상 유닛 (472) 은 수신된 신택스 엘리먼트들로부터 인코더 (120) 에 의해 사용된 보간 필터들을 결정하고 그 보간 필터들을 사용하여 예측 블록들을 생성할 수도 있다.
역양자화 유닛 (476) 은 비트스트림에서 제공되고 엔트로피 디코딩 유닛 (70) 에 의해 디코딩된 양자화된 변환 계수들을 역양자화, 예컨대, 탈양자화한다. 역양자화 프로세스는 양자화의 정도 및, 마찬가지로, 적용되어야 하는 역양자화의 정도를 결정하기 위해, 비디오 슬라이스에서의 각각의 비디오 블록에 대해 인코더 (120) 에 의해 계산된 양자화 파라미터 QPY 의 사용을 포함할 수도 있다.
역변환 유닛 (478) 은 픽셀 도메인에서 잔차 블록들을 생성하기 위해, 역변환 (예를 들어, 역 DCT), 역 정수 변환, 또는 개념적으로 유사한 역 변환 프로세스를 변환 계수들에 적용한다.
일부 경우들에서, 역 변환 유닛 (478) 은 (수평 및 수직 방향 양자에서) 2-차원 (2-D) 역 변환을 계수들에 적용할 수도 있다. 이 개시물의 기술들에 따르면, 역 변환 유닛 (478) 은 대신에 수평 1-D 역 변환, 수직 1-D 역 변환을 TU 들의 각각에서 잔차 데이터에 적용할 수도 있고, 또는 어떤 변환도 TU 들의 각각에서 잔차 데이터에 적용하지 않을 수도 있다. 인코더 (120) 에서 잔차 데이터에 적용되는 변환의 유형은 변환 계수들에 역 변환의 적절한 유형을 적용하도록 디코더 (230) 에 시그널링될 수도 있다.
모션 보상 유닛 (472) 이 모션 벡터들 및 다른 신택스 엘리먼트들에 기초하여 현재 블록에 대한 예측 블록을 생성한 후에, 디코더 (230) 는 역변환 유닛 (478) 으로부터의 잔차 블록들을 모션 보상 유닛 (472) 에 의해 생성된 대응하는 예측 블록들과 합산하는 것에 의해 디코딩된 비디오 블록을 형성한다. 합산기 (480) 는 이 합산 동작을 수행하는 컴포넌트 또는 컴포넌트들을 나타낸다. 원하는 경우, 블록키니스 아티팩트들을 제거하도록 디코딩된 블록들을 필터링하기 위해 디블록킹 필터가 또한 적용될 수도 있다. 픽셀 천이들을 평활화 (smooth) 하기 위해, 또는 다르게는 비디오 품질을 향상시키기 위해, (코딩 루프 내에 또는 코딩 루프 후에 중 어느 일방에서) 다른 루프 필터들이 또한 사용될 수도 있다. 소정의 프레임 또는 픽처에서의 디코딩된 비디오 블록들은 참조 픽처 메모리 (482) 에 저장되는데, 참조 픽처 메모리 (482) 는 후속 모션 보상을 위해 사용되는 참조 픽처들을 저장한다. 참조 프레임 메모리 (482) 는 디스플레이 디바이스, 예컨대 도 1 의 이미지 디바이스 (123) 또는 도 2 의 이미지 디스플레이 (232) 상에서의 추후의 프리젠테이션을 위해 디코딩된 비디오를 또한 저장한다.
심도 맵 계산
본원에 개시된 기술들은 인코더 (120) 와 같은 인코더들에 대해 설명된다. 하지만, 이것은 제한적인 것으로서 의미되지 아니한다. 유사한 결과들을 달성하기 위해 동일한 기술들이 디코더 (230) 와 같은 디코더에 의해 사용될 수 있다.
인코더 (120) 와 같은 인코더들은 미가공 (raw) 비디오 프레임들을 표준 압축된 포맷들로 변환한다. 인터-코딩된 프레임들에 대한 픽셀와이즈(pixelwise)/블록와이즈(blockwise) 모션을 계산하는 모션 검출 알고리즘에 의해 압축 프로세스가 보조된다. 상기 논의된 바와 같이, 인터-코딩된 프레임들은 2 개의 유형들: P-프레임들 및 B-프레임들의 것일 수 있다. P-프레임들은 이전 인트라-코딩된 프레임 (I-프레임) 을 지칭하는 순방향 모션 값들을 포함한다. B-프레임들은 이전 및 다음 인트라-코딩된 프레임들을 지칭하는, 양방향 모션 값들을 포함한다. 인트라-코딩된 프레임은 공간적으로 인코딩된다. 인트라-코딩된 프레임은 스트림에서의 임의의 모션 값들 또는 임의의 다른 프레임과 연관되지 않는다. 인터-코딩된 프레임에서의 모션 값은 2 개의 비디오 프레임들 사이의 디스패리티 또는 차이이다. 일 실시형태에서, 보통의 2D 비디오 스트림 (예컨대, 단일 카메라를 이용하여 캡처된 이미지들) 이 3D 비디오 스트림 (예컨대, 2 개의 카메라들을 이용하여 캡처된 이미지들) 의 인터리빙된 좌측 (L) 및 우측 (R) 뷰들을 포함하는 비디오 스트림으로 대체되는 경우에, 모션 값들은 L 및 R 프레임들의 각 쌍 사이의 디스패리티 (예컨대, L 및 R 프레임들 사이의 공간적 배향에서의 차이) 를 나타낸다.
인코더는 인터리빙된 스테레오 비디오의 교번 프레임들을 I-프레임들 및 P-프레임들로서 인코딩하도록 구성될 수도 있다. 도 5 는 프레임들의 시퀀싱을 나타낸다. 도 5 에서 예시된 바와 같이, 시퀀스는 4 개의 프레임들: : L1 (502), R1 (504), L2 (506), 및 R2 (508) 을 포함한다. 단순함을 위해, 오직 4 개의 프레임들이 예시되었다; 하지만, 본원에 설명된 기술들은 임의의 수의 프레임들에 적용된다. 일 실시형태에서, L1 (502) 은 인코더 (120) 에 의해 수신되는 제 1 프레임이고, R2 (508) 는 인코더 (120) 에 의해 수신되는 마지막 프레임이다. L 프레임들 (예컨대, L1 (502) 및 L2 (506)) 은 I-프레임들로서 인코딩되고, R 프레임들 (예컨대, R1 (504) 및 R2 (508)) 은 P-프레임들로서 인코딩된다. 따라서, 인코더 (120) 에 의해 수신되는 바와 같은 프레임들의 시퀀스는 I-프레임들과 P-프레임들 사이에서 교번한다. 이것은 디스패리티 값들이 계산될 수 있는 것을 보장하는데 도움이 된다.
도 6 은 심도 계산 플로우를 나타낸다. 도 6 에서 예시된 바와 같이, 인코더 (120) 는 프레임들의 시퀀스 L1 (502), R1 (504), L2 (506), 및 R2 (508) 를 데이터 (608) 로서 수신한다. 일 실시형태에서, 인코더 (120) 는 P-프레임이 대부분 인터-코딩된 매크로블록들 (MB들) 을 갖도록 하이-비트레이트 셋팅으로 설정된다. 일 예로서, 최소 MB 사이즈는 8x8 일 수도 있다. 인터-코딩된 매크로블록들은 대응하는 L 프레임을 다시 역으로 참조하는 모션 벡터 정보를 포함하기 때문에 R 프레임에서 가능한 한 많은 인터-코딩된 매크로블록들을 갖는 것이 바람직할 수도 있다.
인코더 (120) 는 (박스 (602) 에 의해 표시되는) MB 들로부터의 모션 벡터 정보를 데이터 (610) 로서 추출할 수 있고, 인터-코딩되는 및 인트라-코딩되는 블록들은 다운샘플링된 심도 맵 (620) 에서 그래픽적으로 표현될 수 있다. 다운샘플링된 심도 맵 (620) 에서의, 미도시의, 검은 블록들은 인트라-코딩된 블록들을 나타낼 수도 있다. 인트라-코딩된 블록들은 L 및 R 프레임들 사이에서 일치가 발견될 수 없는 폐색된 또는 드러난 영역들에서 일반적일 수도 있다.
일 실시형태에서, X 방향에서의 MB 모션은 (심도 맵으로 변환될 수 있는) 2 개의 스테레오 프레임들 사이의 블록와이즈 (blockwise) 디스패리티를 대략적으로 나타낼 수 있다. MB 사이즈가 더 작을 수록, 심도 맵 해상도는 더 높다. MB 프레임은 (박스 (604) 에 의해 표현되는) 메디안 필터링 (예컨대, 5x5 메디안 필터) 과 같은 정제들 (refinements) 에 의해 인트라-코딩된 패치들 및 노이즈가 있는 심도 값들이 추가적으로 깨끗하게 될 수 있다. 일 예에서, 최소 MB 사이즈가 8x8 픽셀들이기 때문에, MB 모션 이미지는 원래의 입력 프레임에 비해 8 배 다운샘플링된다. 강화 알고리즘들을 적용하기 위해, 이미지는 8 의 팩터 (factor) (또는 다른 유사한 값) 에 의해 업샘플링되어야할 수도 있다.
업스케일링은 박스 (606) 에 의해 표현된다. 일 실시형태에서, 인코더 (120) 는 심도 맵 (620) 을 픽셀 반복함으로써 심도 맵 (620) 을 업스케일한다. 인코더 (120) 는, 필터 커널의 사이즈, 커널의 중심으로부터 필터링되고 있는 픽셀의 공간적 거리 (예컨대, sd), 및/또는 필터링되고 있는 픽셀에서 계산된 디스패리티의 그라디언트 및 필터링되고 있는 픽셀에서 계산된 이미지의 컬러 컴포넌트들의 그라디언트 (예컨대, id) 를 이용함으로써 각 픽셀에 대한 심도 필터를 결정할 수도 있다. 심도 필터는 2 개의 가우시안 컴포넌트들: 공간 컴포넌트 (예컨대, -e-(sd*sd)/λs) 및 이미지 컬러 및 심도 값 그라디언트 컴포넌트 (예컨대, e-(id*id)/ λc), 의 곱일 수도 있고, 여기서, λs 및 λc 는 대응하는 가우시안 커널의 확산 팩터를 결정할 수도 있다. 인코더 (120) 는 심도 맵을 향상시키기 위해 이전에 필터링된 심도 맵에 대해 복수의 필터링 반복들을 수행할 수도 있다. 다른 실시형태에서, 인코더 (120) 는 센서 입력들을 이용하여 심도 맵 (620) 을 업스케일링한다. 예를 들어, 인코더 (120) 는 단순한, 쌍일차 (bilinear) 업스케일을 이용하여 초기 추정치를 생성할 수도 있다. 인코더 (120) 는 초기 추정치에서의 심도 천이들을 식별하고, 외삽을 이용하여 그 천이들에서 심도 값들을 채우고, 채워진 심도 값들을 평활화 (예컨대, 심도 천이들에서 심도 값들에서의 차이를 감소) 할 수도 있다. 업스케일링의 결과는 심도 맵 (624) 에 의해 그래픽적으로 표현될 수도 있고, 이 심도 맵 (624) 은 더 적은 검은 블록들을 포함하고, 다운샘플링된 심도 맵 (620) 의 업샘플링된 버전이다.
박스 (606) 에 의해 표현되고 인코더 (120) 에 의해 수행되는 업스케일링은 수개의 이익들을 가질 수도 있다. 예로서, 스테레오 이미지들로부터의 심도 맵 계산은 연산 집약적 프로세스일 수 있다. 본원에서 설명된 프로세스를 이용하여, 인코더 (120) 는 그러면 계산 자원 사용을 감소시키고, 인코더 (120) 가 더 작은 이미지들을 프로세싱하고 희소한 (sparse) (예컨대, 다운샘플링된) 심도 맵들을 생성하는 경우에 프로세싱 속도를 증가시킬 수 있다. 또한, 정확하지 않은 경우에, 업스케일링된 심도 맵은 심도 맵 세그멘테이션 및 최종 강화 품질에 영향을 미칠 수 있다. 따라서, 본원에서 설명된 프로세스를 이용하여, 인코더 (120) 는 일반적 업스케일링 프로세스를 이용하는 인코더들에 비해 심도 맵 세그멘테이션 및/또는 최종 강화 품질을 향상시킬 수 있다.
일 실시형태에서, 인코더 (120) 에 의해 생성된 심도 맵은 일반적 업스케일링 프로세스를 이용하여 생성된 심도 맵보다 더 높은 강화 품질을 갖는다. 그라운드 트루스 (ground truth) 심도 맵 (예컨대, 이상적 심도 맵) 이 인코더 (120) 에 의해 생성된 심도 맵보다 더 높은 강화 품질을 가질 수도 있는 한편, 인코더 (120) 는 그라운드 트루스 심도 맵을 생성할 때 사용되는 바와 같을 더 적은 샘플들 (예컨대, 1/256 샘플들의 수) 을 사용할 수도 있다.
심도 맵을 이용한 이미지 강화 수행
일 실시형태에서, 심도 맵 (624) 과 같은 심도 맵은 스테레오 이미지 또는 비디오를 강화하기 위해 사용될 수도 있다. 예를 들어, 심도 맵 (624) 은 장면에서의 에지 강화 (예컨대, 장면에서의 오브젝트의 첨예화) 를 보여주기 위해 사용될 수 있다. 다른예로서, 심도 맵 (624) 은 장면에서의 콘트래스트를 조절하고, 장면에서의 컬러들을 변경하며, 장면에서의 기하학적 형상들을 변경하고, 및/또는 기타 등등을 위해 사용될 수 있다. 에지 강화는 장면에서의 오브젝트의 심도에 기초하여 강도에서 변화할 수도 있다. 일 실시형태에서, 아이디어는 커서를 이용하여 픽처에서 오브젝트를 선택하는 것이다. 알고리즘은 심도 맵에 기초하여 이미지의 나머지로부터 오브젝트 또는 그 영역을 분리시키고, 심도에 기초하여 상이한 정도들의 강화 또는 상이한 필터들을 적용한다.
도 7 은 이미지를 강화하기 플로우를 나타낸다. 도 7 에서 예시된 바와 같이, 이미지 (702) 는 프로세서 (122) 에 의해 강화된 이미지 (708) 로 강화된다. 이미지 (702) 의 부분이 포인트 (710) 에서 선택된다. 프로세서 (122) 는 더 이른 시간에서의 심도 맵 (704) 의 생성 또는 선택에 응답하여 인코더 (120) 로부터 심도 맵 (704) 을 취출할 수 있다. 일 예로서, 포인트 (710) 에서의 이미지 (702) 의 심도 값은 D 이다. D 주위의 ±Δ 의 임계치는 프로세서 (122) 에 의해 설정될 수 있다. 임계치 ±Δ 는 대안적으로 역시 최대 심도 범위에 기초하여 프로세서 (122) 에 의해 계산될 수 있다.
사이즈 NxN 의 브러쉬스트로크 (또는 유사한 형상) 를 이용하여, 프로세서 (122) 는 D±Δ (예컨대, D 플러스 또는 마이너스 임계치) 의 심도를 갖는 포인트 (710) 로부터 시작하는 이미지 (702) 의 연속적인 부분을 식별함으로써 포인트 (710) 를 둘러싸는 영역 (R) 을 성장시킬 수 있다. 일 실시형태에서, 영역 (R) 은 임의의 형태 또는 형상의 것일 수 있다.
일부 실시형태들에서, 프로세서 (122) 는, 일단 D±Δ 의 심도 이외의 심도를 갖는 이미지 (702) 의 부분이 도달되면, 그 방향에서 영역 (R) 을 성장시키는 것을 중단한다. 다른 실시형태들에서, 프로세서 (122) 는, 일단 영역 (R) 이 사전설정된 경계 조건을 히트하면, 그 방향에서 영역 (R) 을 성장시키는 것을 중단한다. 또 다른 실시형태들에서, 프로세서 (122) 는, 일단 영역 (R) 의 경계가 포인트 (710) 로부터 소정의 거리에 도달하면, 그 방향에서 영역 (R) 을 성장시키는 것을 중단한다.
프로세서 (122) 는 그 다음, 일단 프로세서 (122) 가 영역 (R) 을 성장시키는 것을 중단하면, 영역 (R) 내에서 이미지 (702) 의 부분을 강화할 수 있다. 예를 들어, 영역 (R) 내의 부분은 하이 패스 필터를 이용함으로써 강화될 수 있다. 영역 (R) 의 외부의 이미지의 부분은 이미지 (702) 의 각각의 부분의 심도 및 심도 (D) 사이의 차이에 비례하는 가우시안 블러 (blur) 를 이용함으로써 평활화 (또는 블러링) 될 수 있다. 다른 예로서, 영역 (R) 내의 부분은 영역 (R) 내의 픽셀들의 컬러를 수정함으로써 강화될 수 있다. 다른 예로서, 영역 (R) 내의 부분은 잘라내지고 및/또는 이미지 (702) 의 다른 부분으로 이동될 수 있다. 도 7 에서 예시된 바와 같이, 심도 맵 (706) 의 백색 부분은 포인트 (710) 가 선택될 때 영역 (R) 의 형상 및 사이즈를 나타낸다. 마찬가지로, 이미지 (708) 에서의 영역 (712) 은 포인트 (710) 가 선택될 때 영역 (R) 의 형상 및 사이즈를 대략적으로 나타낸다. 영역 (714) 은 포인트 (710) 가 선택될 때 영역 (R) 의 외부의 이미지 (708) 의 영역을 대략적으로 나타낸다.
도 8 은 이미지를 강화하기 위한 다른 플로우를 예시한다. 도 8 에서 예시된 바와 같이, 이미지 (702) 의 상이한 비-연속적 부분들이 (임계 값 내에서) 동일한 심도 값을 가질 수 있다. 예를 들어, 심도 맵 (802) 의 백색 부분들은 모두 임계 값 내에서 동일한 심도를 갖는다. 하지만, 심도 맵 (802) 에서의 백색 부분들 사이에 갭들이 존재하기 때문에, 백색 부분들의 전부가 프로세서 (122) 에 의해 강화되지는 않을 것이다. 도 7 과 관련하여 상기 논의된 바와 같이, 포인트 (710) 가 이미지 (702) 에서 선택된다. 따라서, 이미지 (702) 의 몇몇 부분들은 임계 값 내에서 동일한 심도 값을 포함하는 한편, 포인트 (710) 와 인접하는 픽셀들을 포함하고 포인트 (710) 에서 심도의 임계 값 내에서의 심도 값을 갖는 이미지 (702) 의 부분들만이 강화된다 (예컨대, 포인트 (710) 를 둘러싸는 이미지 (702) 의 부분들은 에지가 심도 맵 (802) 에서 도달되는 포인트까지 강화된다). 심도 맵 (706) 은 이러한 기준들을 만족하는 이미지 (702) 의 그들 부분들을 나타낸다. 따라서, 이미지 (708) 의 영역 (712) 은 강화되고, 이미지 (708) 의 다른 부분들은 그대로 남겨지거나 열화된다.
예시적인 사용 경우
도 9 는 예시적인 원래의 이미지 (902) 를 나타낸다. 도 10a 는 도 9 에서의 원래의 이미지 (902) 에 기초하여 인코더 (120) 에 의해 계산될 수 있는 심도 맵 (1002) 을 나타낸다. 도 10b 는 (예컨대, 0-255 스케일로) 정제되고 업스케일링된 후의 심도 맵 (1002) 을 나타낸다.
도 11 내지 도 13 은 본 명세서에서 기술된 스케일링된 심도 맵 (1002) 을 이용하여 강화되는 다양한 이미지들을 나타낸다. 도 11 에서 예시된 바와 같이, 포인트 (1104) 가 선택되고, 포인트 (1104) 와 인접하고 임계 값 내의 심도 값을 공유하는 픽셀들이 강화된다. 이미지 (902) 의 포인트 (1106) 및 다른 부분들은 열화된다.
도 12 에서 예시된 바와 같이, 포인트 (1106) 가 선택되고, 포인트 (1106) 와 인접하고 임계 값 내의 심도 값을 공유하는 픽셀들이 강화된다. 이미지 (902) 의 포인트 (1106) 및 다른 부분들은 열화된다.
도 13 에서 예시된 바와 같이, 포인트 (1308) 가 선택되고, 포인트 (1308) 와 인접하고 임계 값 내의 심도 값을 공유하는 픽셀들이 강화된다. 이미지 (902) 의 포인트들 (1104 및 1106) 및 다른 부분들은 열화된다.
도 14 는 이미지를 강화하기 위한 예시적인 방법 (1400) 을 나타낸다. 방법 (1400) 은 휴대용 전자 디바이스의 하나 이상의 컴포넌트들에 의해 수행될 수 있다. 예를 들어, 방법 (1400) 은 인코더 (120) (예컨대, 모션 추정 유닛 (342)), 디코더 (230) (예컨대, 모션 보상 유닛 (472)), 및/또는 예를 들어 프로세서 (122) 에 의해 수행될 수 있다. 일부 실시형태들에서, 다른 컴포넌트들이 본 명세서에서 설명된 단계들 중 하나 이상을 구현하기 위해 이용될 수도 있다.
블록 (1402) 에서, 메모리 유닛에 저장된 좌측 이미지 및 우측 이미지가 취출된다. 일 실시형태에서, 좌측 이미지 및 우측 이미지 각각은 동일한 장면을 묘사한다. 블록 (1404) 에서, 좌측 이미지와 우측 이미지 사이의 공간적 배향에서의 차이에 기초한 심도 맵이 결정된다.
블록 (1406) 에서, 사용자에 의해 선택된 좌측 이미지 또는 우측 이미지의 부분이 식별된다. 블록 (1408) 에서, 사용자에 의해 선택된 부분을 둘러싸는 강화 영역이 결정된 심도 맵에 기초하여 결정된다. 블록 (1410) 에서, 강화 영역이 강화된다.
상기 예에 따르면, 본 명세서에서 설명된 기법들 중 임의의 기법의 소정의 행동들 또는 이벤트들이 상이한 시퀀스로 수행될 수 있고, 함께 부가, 병합, 또는 배제될 수도 있다 (설명된 행동들 또는 이벤트들 전부가 그 기법들의 실시를 위해 필수적인 것은 아니다) 는 것이 인정될 것이다. 더욱이, 소정의 예들에서, 행동들 또는 이벤트들은 순차적이라기 보다는 예를 들어, 멀티-스레디드 프로세싱, 인터럽트 프로세싱, 또는 다중 프로세서들을 통하여 동시발생적으로 수행될 수도 있다.
하나 이상의 예들에서, 설명된 기능들은 하드웨어, 소프트웨어, 펌웨어, 또는 이들의 임의의 조합으로 구현될 수도 있다. 소프트웨어로 구현된다면, 그 기능들은 컴퓨터 판독가능 매체 상에 하나 이상의 명령들 또는 코드로서 저장 또는 송신될 수도 있으며, 하드웨어 기반 프로세싱 유닛에 의해 실행될 수도 있다. 컴퓨터 판독가능 매체들은 데이터 저장 매체들과 같은 유형의 매체에 대응하는 컴퓨터 판독가능 저장 매체들, 또는 예를 들어, 통신 프로토콜에 따라 일 장소로부터 타 장소로의 컴퓨터 프로그램의 전달을 용이하게 하는 임의의 매체를 포함하는 통신 매체들을 포함할 수도 있다. 이 방식으로, 컴퓨터 판독가능 매체들은 일반적으로 (1) 비일시적인 유형의 컴퓨터 판독가능 저장 매체들 또는 (2) 신호 또는 반송파와 같은 통신 매체에 대응할 수도 있다. 데이터 저장 매체들은 본 명세서에서 설명된 기법들의 구현을 위해 명령들, 코드 및/또는 데이터 구조들을 취출하기 위해 하나 이상의 컴퓨터들 또는 하나 이상의 프로세서들에 의해 액세스될 수 있는 임의의 이용가능한 매체들일 수도 있다. 컴퓨터 프로그램 제품은 컴퓨터 판독가능 매체를 포함할 수도 있다.
제한이 아닌 일 예로, 이러한 컴퓨터 판독가능 저장 매체들은 RAM, ROM, EEPROM, CD-ROM 또는 다른 광 디스크 스토리지, 자기 디스크 스토리지, 또는 다른 자기 스토리지 디바이스들, 플래시 메모리, 또는 원하는 프로그램 코드를 명령들 또는 데이터 구조들의 형태로 저장하는데 이용될 수 있고 컴퓨터에 의해 액세스될 수 있는 임의의 다른 매체를 포함할 수 있다. 또한, 임의의 접속이 컴퓨터 판독가능 매체로 적절히 불리게 된다. 예를 들어, 명령들이 동축 케이블, 광섬유 케이블, 트위스티드 페어, 디지털 가입자 회선 (DSL), 또는 적외선, 무선, 및 마이크로파와 같은 무선 기술들을 이용하여 웹사이트, 서버, 또는 다른 원격 소스로부터 송신된다면, 매체의 정의에는, 동축 케이블, 광섬유 케이블, 트위스티드 페어, DSL, 또는 적외선, 무선, 및 마이크로파와 같은 무선 기술들이 포함된다. 그러나, 컴퓨터 판독가능 저장 매체들 및 데이터 저장 매체들은 접속들, 반송파들, 신호들, 또는 다른 일시적 매체들을 포함하지 않고, 대신에 비일시적, 유형의 저장 매체들과 관련되는 것으로 이해되어야 한다. 디스크 (disk) 및 디스크 (disc) 는, 본 명세서에 사용한 바와 같이, 콤팩트 디스크 (CD), 레이저 디스크, 광 디스크, 디지털 다기능 디스크 (DVD), 플로피 디스크 및 블루-레이 디스크를 포함하며, 여기서 디스크 (disk) 들은 보통 데이터를 자기적으로 재생시키는 한편, 디스크 (disc) 들은 레이저를 이용하여 데이터를 광학적으로 재생시킨다. 상기의 조합들이 또한 컴퓨터 판독가능 매체들의 범위 내에 포함되어야 한다.
명령들은 하나 이상의 디지털 신호 프로세서들 (DSP들), 범용 마이크로프로세서들, 주문형 집적 회로들 (ASIC들), 필드 프로그램가능 로직 어레이들 (FPGA들), 또는 다른 등가의 집적 또는 별개의 로직 회로와 같은 하나 이상의 프로세서들에 의해 실행될 수도 있다. 따라서, 용어 "프로세서" 는 본 명세서에 사용한 바와 같이, 전술한 구조 또는 본 명세서에서 설명된 기법들의 구현에 적합한 임의의 다른 구조 중 임의의 것을 지칭할 수도 있다. 또한, 일부 양태들에서, 본 명세서에서 설명된 기능성은 인코딩 및 디코딩을 위해 구성된 전용 하드웨어 및/또는 소프트웨어 모듈들 내에 제공될 수도 있고, 또는 결합된 코덱에 통합될 수도 있다. 또한, 그 기법들은 하나 이상의 회로들 또는 로직 엘리먼트들에서 완전히 구현될 수 있다.
본 개시물의 기법들은 무선 핸드셋, 집적 회로 (IC) 또는 IC들의 셋트 (예를 들어, 칩 셋트) 를 포함하여, 광범위한 디바이스들 또는 장치들에서 구현될 수도 있다. 다양한 컴포넌트들, 모듈들, 또는 유닛들이 상기 개시된 기법들을 수행하도록 구성된 디바이스들의 기능적 양태들을 강조하기 위해 본 개시물에서 설명되지만, 반드시 상이한 하드웨어 유닛들에 의한 실현을 요구하는 것은 아니다. 오히려, 상기 설명한 바와 같이, 다양한 유닛들은 상기 설명한 바와 같은 하나 이상의 프로세서들을 포함하여, 적합한 소프트웨어 및/또는 하드웨어와 함께, 코덱 하드웨어 유닛에 결합되거나 또는 상호운용적인 하드웨어 유닛들의 콜렉션에 의해 제공될 수도 있다. 다양한 예들이 설명되었다. 이들 및 다른 예들은 다음의 특허청구범위 내에 있다.

Claims (30)

  1. 이미지를 강화하는 방법으로서,
    메모리 유닛에 저장된 좌측 이미지 및 우측 이미지를 취출하는 단계로서, 상기 좌측 이미지 및 상기 우측 이미지는 상이한 뷰포인트로부터의 동일한 장면을 각각 묘사하는, 상기 좌측 이미지 및 우측 이미지를 취출하는 단계;
    상기 좌측 이미지 및 상기 우측 이미지 사이의 공간적 배향에서의 차이에 기초하여 심도 맵을 결정하는 단계;
    사용자에 의해 선택된 상기 좌측 이미지 또는 상기 우측 이미지의 부분을 식별하는 단계로서, 선택된 상기 부분은 제 1 심도를 포함하는, 상기 식별하는 단계;
    결정된 상기 심도 맵에 기초하여 상기 선택된 부분을 둘러싸는 강화 영역을 결정하는 단계로서, 상기 강화 영역은 상기 제 1 심도의 임계 범위 내의 심도를 갖는 상기 좌측 이미지 또는 상기 우측 이미지의 상기 선택된 부분으로부터 시작하는 상기 좌측 이미지 또는 상기 우측 이미지의 연속적인 부분을 포함하는, 상기 선택된 부분을 둘러싸는 강화 영역을 결정하는 단계; 및
    상기 강화 영역을 강화하는 단계를 포함하는, 이미지를 강화하는 방법.
  2. 제 1 항에 있어서,
    상기 사용자에 의해 선택되지 않은 상기 좌측 이미지 또는 상기 우측 이미지의 부분을 열화시키는 단계를 더 포함하는, 이미지를 강화하는 방법.
  3. 제 2 항에 있어서,
    상기 사용자에 의해 선택되지 않은 상기 좌측 이미지 또는 상기 우측 이미지의 부분을 열화시키는 단계는, 상기 사용자에 의해 선택되지 않은 상기 좌측 이미지 또는 상기 우측 이미지의 상기 부분을 블러링하는 단계를 포함하는, 이미지를 강화하는 방법.
  4. 제 1 항에 있어서,
    상기 심도 맵을 결정하는 단계는,
    상기 좌측 이미지 및 상기 우측 이미지 사이의 공간적 배향에서의 상기 차이에 기초하여 디스패리티 맵을 결정하는 단계로서, 상기 좌측 이미지 및 상기 우측 이미지의 부분 사이의 공간적 배향에서의 보다 큰 차이는 보다 높은 디스패리티를 나타내는, 상기 디스패리티 맵을 결정하는 단계;
    상기 디스패리티 맵을 업스케일링하는 단계; 및
    업스케일링된 상기 디스패리티 맵에 기초하여 상기 심도 맵을 결정하는 단계를 더 포함하는, 이미지를 강화하는 방법.
  5. 제 4 항에 있어서,
    상기 디스패리티 맵을 결정하는 단계는, 상기 좌측 이미지에서의 블록과 상기 우측 이미지에서의 대응하는 블록 사이의 거리를 결정하는 단계를 포함하고, 제 1 블록 및 제 2 블록이 임계 범위 내에서 동일한 경우에 상기 제 1 블록은 상기 제 2 블록과 대응하는, 이미지를 강화하는 방법.
  6. 제 1 항에 있어서,
    상기 선택된 부분을 둘러싸는 강화 영역을 결정하는 단계는,
    상기 제 1 심도의 임계 범위 내의 상기 심도를 갖는 상기 좌측 이미지 또는 상기 우측 이미지의 상기 선택된 부분으로부터 시작하는 상기 좌측 이미지 또는 상기 우측 이미지의 상기 연속적인 부분을 식별하는 단계; 및
    상기 좌측 이미지 또는 상기 우측 이미지의 부분이, 사전설정된 경계를 나타내거나 상기 선택된 부분으로부터의 임계 거리인, 상기 제 1 심도의 임계 범위 내의 심도를 가지지 않는 것으로 식별될 때까지, 상기 선택된 부분을 둘러싸는 상기 강화 영역의 사이즈를 증가시키는 단계를 더 포함하는, 이미지를 강화하는 방법.
  7. 제 1 항에 있어서,
    상기 강화하는 단계는, 상기 강화 영역을 첨예화하는 것, 상기 강화 영역을 상기 좌측 이미지 또는 상기 우측 이미지의 다른 부분으로 이동시키는 것, 또는 상기 강화 영역의 컬러를 조정하는 것 중 적어도 하나를 포함하는, 이미지를 강화하는 방법.
  8. 제 1 항에 있어서,
    상기 방법은 무선 통신 디바이스 상에서 실행가능하고,
    상기 디바이스는,
    상기 좌측 이미지 및 상기 우측 이미지를 저장하도록 구성된 상기 메모리 유닛;
    상기 메모리 유닛에 저장된 상기 좌측 이미지 및 상기 우측 이미지를 프로세싱하기 위한 명령들을 실행하도록 구성된 프로세서; 및
    상기 심도 맵을 목적지 디바이스에 송신하도록 구성된 송신기를 포함하는, 이미지를 강화하는 방법.
  9. 제 8 항에 있어서,
    상기 무선 통신 디바이스는 셀룰러 전화기이고, 상기 심도 맵은 상기 송신기에 의해 송신되고 셀룰러 통신 표준에 따라 변조되는, 이미지를 강화하는 방법.
  10. 이미지를 강화하기 위한 장치로서,
    메모리 유닛에 저장된 좌측 이미지 및 우측 이미지를 취출하는 수단으로서, 상기 좌측 이미지 및 상기 우측 이미지는 상이한 뷰포인트로부터의 동일한 장면을 각각 묘사하는, 상기 좌측 이미지 및 우측 이미지를 취출하는 수단;
    상기 좌측 이미지 및 상기 우측 이미지 사이의 공간적 배향에서의 차이에 기초하여 심도 맵을 결정하는 수단;
    사용자에 의해 선택된 상기 좌측 이미지 또는 상기 우측 이미지의 부분을 식별하는 수단으로서, 선택된 상기 부분은 제 1 심도를 포함하는, 상기 식별하는 수단;
    결정된 상기 심도 맵에 기초하여 상기 선택된 부분을 둘러싸는 강화 영역을 결정하는 수단으로서, 상기 강화 영역은 상기 제 1 심도의 임계 범위 내의 심도를 갖는 상기 좌측 이미지 또는 상기 우측 이미지의 상기 선택된 부분으로부터 시작하는 상기 좌측 이미지 또는 상기 우측 이미지의 연속적인 부분을 포함하는, 상기 선택된 부분을 둘러싸는 강화 영역을 결정하는 수단; 및
    상기 강화 영역을 강화하는 수단을 포함하는, 이미지를 강화하기 위한 장치.
  11. 제 10 항에 있어서,
    상기 사용자에 의해 선택되지 않은 상기 좌측 이미지 또는 상기 우측 이미지의 부분을 열화시키는 수단을 더 포함하는, 이미지를 강화하기 위한 장치.
  12. 제 11 항에 있어서,
    상기 사용자에 의해 선택되지 않은 상기 좌측 이미지 또는 상기 우측 이미지의 부분을 열화시키는 수단은, 상기 사용자에 의해 선택되지 않은 상기 좌측 이미지 또는 상기 우측 이미지의 상기 부분을 블러링하는 수단을 포함하는, 이미지를 강화하기 위한 장치.
  13. 제 10 항에 있어서,
    상기 심도 맵을 결정하는 수단은,
    상기 좌측 이미지 및 상기 우측 이미지 사이의 공간적 배향에서의 상기 차이에 기초하여 디스패리티 맵을 결정하는 수단으로서, 상기 좌측 이미지 및 상기 우측 이미지의 부분 사이의 공간적 배향에서의 보다 큰 차이는 보다 높은 디스패리티를 나타내는, 상기 디스패리티 맵을 결정하는 수단;
    상기 디스패리티 맵을 업스케일링하는 수단; 및
    업스케일링된 상기 디스패리티 맵에 기초하여 상기 심도 맵을 결정하는 수단을 더 포함하는, 이미지를 강화하기 위한 장치.
  14. 제 13 항에 있어서,
    상기 디스패리티 맵을 결정하는 수단은, 상기 좌측 이미지에서의 블록과 상기 우측 이미지에서의 대응하는 블록 사이의 거리를 결정하는 수단을 포함하고, 제 1 블록 및 제 2 블록이 임계 범위 내에서 동일한 경우에 상기 제 1 블록은 상기 제 2 블록과 대응하는, 이미지를 강화하기 위한 장치.
  15. 제 10 항에 있어서,
    상기 선택된 부분을 둘러싸는 강화 영역을 결정하는 수단은,
    상기 제 1 심도의 임계 범위 내의 상기 심도를 갖는 상기 좌측 이미지 또는 상기 우측 이미지의 상기 선택된 부분으로부터 시작하는 상기 좌측 이미지 또는 상기 우측 이미지의 상기 연속적인 부분을 식별하는 수단; 및
    상기 좌측 이미지 또는 상기 우측 이미지의 부분이, 사전설정된 경계를 나타내거나 상기 선택된 부분으로부터의 임계 거리인, 상기 제 1 심도의 임계 범위 내의 심도를 가지지 않는 것으로 식별될 때까지, 상기 선택된 부분을 둘러싸는 상기 강화 영역의 사이즈를 증가시키는 수단을 더 포함하는, 이미지를 강화하기 위한 장치.
  16. 제 10 항에 있어서,
    상기 강화하는 수단은, 상기 강화 영역을 첨예화하는 수단, 상기 강화 영역을 상기 좌측 이미지 또는 상기 우측 이미지의 다른 부분으로 이동시키는 수단, 또는 상기 강화 영역의 컬러를 조정하는 수단 중 적어도 하나를 포함하는, 이미지를 강화하기 위한 장치.
  17. 제 10 항에 있어서,
    상기 취출하는 수단 및 상기 심도 맵을 결정하는 수단은 인코더를 포함하고, 상기 식별하는 수단, 상기 강화 영역을 결정하는 수단, 및 상기 강화하는 수단은 프로세서를 포함하는, 이미지를 강화하기 위한 장치.
  18. 코드를 포함하는 비-일시적 컴퓨터 판독가능 저장 매체로서,
    상기 코드는, 실행될 때, 장치로 하여금,
    메모리 유닛에 저장된 좌측 이미지 및 우측 이미지를 취출하는 것으로서, 상기 좌측 이미지 및 상기 우측 이미지는 상이한 뷰포인트로부터의 동일한 장면을 각각 묘사하는, 상기 좌측 이미지 및 우측 이미지를 취출하는 것을 행하게 하고;
    상기 좌측 이미지 및 상기 우측 이미지 사이의 공간적 배향에서의 차이에 기초하여 심도 맵을 결정하게 하고;
    사용자에 의해 선택된 상기 좌측 이미지 또는 상기 우측 이미지의 부분을 식별하는 것으로서, 선택된 상기 부분은 제 1 심도를 포함하는, 상기 식별하는 것을 행하게 하고;
    결정된 상기 심도 맵에 기초하여 상기 선택된 부분을 둘러싸는 강화 영역을 결정하는 것으로서, 상기 강화 영역은 상기 제 1 심도의 임계 범위 내의 심도를 갖는 상기 좌측 이미지 또는 상기 우측 이미지의 상기 선택된 부분으로부터 시작하는 상기 좌측 이미지 또는 상기 우측 이미지의 연속적인 부분을 포함하는, 상기 선택된 부분을 둘러싸는 강화 영역을 결정하는 것을 행하게 하며; 그리고
    상기 강화 영역을 강화하게 하는, 비-일시적 컴퓨터 판독가능 저장 매체.
  19. 제 18 항에 있어서,
    실행될 때, 장치로 하여금,
    상기 좌측 이미지 및 상기 우측 이미지 사이의 공간적 배향에서의 상기 차이에 기초하여 디스패리티 맵을 결정하는 것으로서, 상기 좌측 이미지 및 상기 우측 이미지의 부분 사이의 공간적 배향에서의 보다 큰 차이는 보다 높은 디스패리티를 나타내는, 상기 디스패리티 맵을 결정하는 것을 행하게 하고;
    상기 디스패리티 맵을 업스케일링하게 하며; 그리고
    업스케일링된 상기 디스패리티 맵에 기초하여 상기 심도 맵을 결정하게 하는 코드를 더 포함하는, 비-일시적 컴퓨터 판독가능 저장 매체.
  20. 제 19 항에 있어서,
    상기 비-일시적 컴퓨터 판독가능 저장 매체는, 실행될 때, 장치로 하여금, 상기 좌측 이미지에서의 블록과 상기 우측 이미지에서의 대응하는 블록 사이의 거리를 결정하게 하는 코드를 더 포함하고, 제 1 블록 및 제 2 블록이 임계 범위 내에서 동일한 경우에 상기 제 1 블록은 상기 제 2 블록과 대응하는, 비-일시적 컴퓨터 판독가능 저장 매체.
  21. 제 18 항에 있어서,
    실행될 때, 장치로 하여금,
    상기 제 1 심도의 임계 범위 내의 상기 심도를 갖는 상기 좌측 이미지 또는 상기 우측 이미지의 상기 선택된 부분으로부터 시작하는 상기 좌측 이미지 또는 상기 우측 이미지의 상기 연속적인 부분을 식별하게 하고; 그리고
    상기 좌측 이미지 또는 상기 우측 이미지의 부분이, 사전설정된 경계를 나타내거나 상기 선택된 부분으로부터의 임계 거리인, 상기 제 1 심도의 임계 범위 내의 심도를 가지지 않는 것으로 식별될 때까지, 상기 선택된 부분을 둘러싸는 상기 강화 영역의 사이즈를 증가시키게 하는 코드를 더 포함하는, 비-일시적 컴퓨터 판독가능 저장 매체.
  22. 이미지를 강화하기 위한 디바이스로서,
    좌측 이미지 및 우측 이미지를 저장하도록 구성된 메모리 유닛으로서, 상기 좌측 이미지 및 상기 우측 이미지는 상이한 뷰포인트로부터의 동일한 장면을 각각 묘사하는, 상기 메모리 유닛;
    상기 메모리 유닛으로부터 상기 좌측 이미지 및 상기 우측 이미지를 취출하도록 구성된 코더로서, 상기 코더는 상기 좌측 이미지 및 상기 우측 이미지 사이의 공간적 배향에서의 차이에 기초하여 심도 맵을 결정하도록 더 구성되는, 상기 코더; 및
    상기 코더에 커플링된 프로세서로서, 상기 프로세서는, 사용자에 의해 선택된 상기 좌측 이미지 또는 상기 우측 이미지의 부분을 식별하는 것으로서, 상기 사용자에 의한 상기 선택된 부분은 제 1 심도를 포함하는, 상기 식별하는 것을 행하도록 구성되고, 상기 프로세서는, 결정된 상기 심도 맵에 기초하여 상기 사용자에 의해 선택된 상기 부분을 둘러싸는 강화 영역을 결정하는 것으로서, 상기 강화 영역은 상기 제 1 심도의 임계 범위 내의 심도를 갖는 상기 좌측 이미지 또는 상기 우측 이미지의 상기 선택된 부분으로부터 시작하는 상기 좌측 이미지 또는 상기 우측 이미지의 연속적인 부분을 포함하는, 상기 선택된 부분을 둘러싸는 강화 영역을 결정하는 것을 행하도록 더 구성되며, 상기 프로세서는 상기 강화 영역을 강화하도록 더 구성되는, 상기 프로세서를 포함하는, 이미지를 강화하기 위한 디바이스.
  23. 제 22 항에 있어서,
    상기 프로세서는, 상기 사용자에 의해 선택되지 않은 상기 좌측 이미지 또는 상기 우측 이미지의 부분을 열화시키도록 더 구성되는, 이미지를 강화하기 위한 디바이스.
  24. 제 23 항에 있어서,
    상기 프로세서는, 상기 사용자에 의해 선택되지 않은 상기 좌측 이미지 또는 상기 우측 이미지의 상기 부분을 블러링하도록 더 구성되는, 이미지를 강화하기 위한 디바이스.
  25. 제 22 항에 있어서,
    상기 코더는,
    상기 좌측 이미지 및 상기 우측 이미지 사이의 공간적 배향에서의 상기 차이에 기초하여 디스패리티 맵을 결정하는 것으로서, 상기 좌측 이미지 및 상기 우측 이미지의 부분 사이의 공간적 배향에서의 보다 큰 차이는 보다 높은 디스패리티를 나타내는, 상기 디스패리티 맵을 결정하는 것을 행하고;
    상기 디스패리티 맵을 업스케일링하며; 그리고
    업스케일링된 상기 디스패리티 맵에 기초하여 상기 심도 맵을 결정하도록 더 구성되는, 이미지를 강화하기 위한 디바이스.
  26. 제 25 항에 있어서,
    상기 코더는, 상기 좌측 이미지에서의 블록과 상기 우측 이미지에서의 대응하는 블록 사이의 거리를 결정하도록 더 구성되고, 제 1 블록 및 제 2 블록이 임계 범위 내에서 동일한 경우에 상기 제 1 블록은 상기 제 2 블록과 대응하는, 이미지를 강화하기 위한 디바이스.
  27. 제 22 항에 있어서,
    상기 프로세서는,
    상기 제 1 심도의 임계 범위 내의 상기 심도를 갖는 상기 좌측 이미지 또는 상기 우측 이미지의 상기 부분으로부터 시작하는 상기 좌측 이미지 또는 상기 우측 이미지의 상기 연속적인 부분을 식별하고; 그리고
    상기 좌측 이미지 또는 상기 우측 이미지의 부분이, 사전설정된 경계를 나타내거나 상기 선택된 부분으로부터의 임계 거리인, 상기 제 1 심도의 임계 범위 내의 심도를 가지지 않는 것으로 식별될 때까지, 상기 선택된 부분을 둘러싸는 상기 강화 영역의 사이즈를 증가시키도록 더 구성되는, 이미지를 강화하기 위한 디바이스.
  28. 제 22 항에 있어서,
    상기 프로세서는, 상기 강화 영역을 첨예화하는 것, 상기 강화 영역을 상기 좌측 이미지 또는 상기 우측 이미지의 다른 부분으로 이동시키는 것, 또는 상기 강화 영역의 컬러를 조정하는 것 중 적어도 하나를 행하도록 더 구성되는, 이미지를 강화하기 위한 디바이스.
  29. 제 22 항에 있어서,
    상기 디바이스는 무선 통신 디바이스이고, 상기 심도 맵을 목적지 디바이스에 송신하도록 구성된 송신기를 더 포함하는, 이미지를 강화하기 위한 디바이스.
  30. 제 29 항에 있어서,
    상기 무선 통신 디바이스는 셀룰러 전화기이고, 상기 심도 맵은 상기 송신기에 의해 송신되고 셀룰러 통신 표준에 따라 변조되는, 이미지를 강화하기 위한 디바이스.
KR1020167026748A 2014-03-07 2015-02-23 스테레오 비디오에 대한 심도 인지 강화 KR101844705B1 (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US14/201,261 US9552633B2 (en) 2014-03-07 2014-03-07 Depth aware enhancement for stereo video
US14/201,261 2014-03-07
PCT/US2015/017104 WO2015134222A1 (en) 2014-03-07 2015-02-23 Depth aware enhancement for stereo video

Publications (2)

Publication Number Publication Date
KR20160130414A KR20160130414A (ko) 2016-11-11
KR101844705B1 true KR101844705B1 (ko) 2018-04-02

Family

ID=52630500

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020167026748A KR101844705B1 (ko) 2014-03-07 2015-02-23 스테레오 비디오에 대한 심도 인지 강화

Country Status (6)

Country Link
US (1) US9552633B2 (ko)
EP (1) EP3114643A1 (ko)
JP (1) JP6178017B2 (ko)
KR (1) KR101844705B1 (ko)
CN (1) CN106068527B (ko)
WO (1) WO2015134222A1 (ko)

Families Citing this family (30)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9552633B2 (en) * 2014-03-07 2017-01-24 Qualcomm Incorporated Depth aware enhancement for stereo video
US10057593B2 (en) * 2014-07-08 2018-08-21 Brain Corporation Apparatus and methods for distance estimation using stereo imagery
WO2016025962A1 (en) * 2014-08-15 2016-02-18 The University Of Akron Device and method for three-dimensional video communication
US9772405B2 (en) * 2014-10-06 2017-09-26 The Boeing Company Backfilling clouds of 3D coordinates
US9569692B2 (en) * 2014-10-31 2017-02-14 The Nielsen Company (Us), Llc Context-based image recognition for consumer market research
US20160189355A1 (en) * 2014-12-29 2016-06-30 Dell Products, Lp User controls for depth based image editing operations
US20160295194A1 (en) * 2015-03-30 2016-10-06 Ming Shi CO., LTD. Stereoscopic vision system generatng stereoscopic images with a monoscopic endoscope and an external adapter lens and method using the same to generate stereoscopic images
US20180213201A1 (en) * 2015-07-21 2018-07-26 Heptagon Micro Optics Pte. Ltd. Generating a disparity map based on stereo images of a scene
US9761000B2 (en) * 2015-09-18 2017-09-12 Qualcomm Incorporated Systems and methods for non-obstacle area detection
CN105354805B (zh) * 2015-10-26 2020-03-06 京东方科技集团股份有限公司 深度图像的去噪方法和去噪设备
US10451714B2 (en) 2016-12-06 2019-10-22 Sony Corporation Optical micromesh for computerized devices
US10536684B2 (en) * 2016-12-07 2020-01-14 Sony Corporation Color noise reduction in 3D depth map
US10495735B2 (en) 2017-02-14 2019-12-03 Sony Corporation Using micro mirrors to improve the field of view of a 3D depth map
US10795022B2 (en) 2017-03-02 2020-10-06 Sony Corporation 3D depth map
US10979687B2 (en) 2017-04-03 2021-04-13 Sony Corporation Using super imposition to render a 3D depth map
US10484667B2 (en) 2017-10-31 2019-11-19 Sony Corporation Generating 3D depth map using parallax
CN109753846A (zh) * 2017-11-03 2019-05-14 北京深鉴智能科技有限公司 目标跟踪硬件实现系统和方法
US10580151B2 (en) * 2017-12-05 2020-03-03 Qualcomm Incorporated Tile-based low-resolution depth storage
JP7106859B2 (ja) * 2017-12-27 2022-07-27 トヨタ自動車株式会社 画像表示装置
TWI719440B (zh) * 2018-04-02 2021-02-21 聯發科技股份有限公司 立體匹配方法及相應立體匹配裝置
EP3550837A1 (en) * 2018-04-06 2019-10-09 Comcast Cable Communications LLC Method for generating quantization matrices based on viewing conditions
US10498948B1 (en) * 2018-06-05 2019-12-03 Applied Materials, Inc. Methods and apparatus for absolute and relative depth measurements using camera focus distance
US10549186B2 (en) 2018-06-26 2020-02-04 Sony Interactive Entertainment Inc. Multipoint SLAM capture
CN110728710B (zh) * 2018-07-16 2023-10-27 株式会社理光 视觉里程计算方法、装置和计算机可读存储介质
JP7187688B2 (ja) 2018-10-02 2022-12-12 華為技術有限公司 3d補助データを用いた動き推定
CN109767466B (zh) * 2019-01-10 2021-07-13 深圳看到科技有限公司 画面渲染方法、装置、终端及对应的存储介质
US11468587B2 (en) 2020-05-12 2022-10-11 Samsung Electronics Co., Ltd. System and method for depth map recovery
WO2021230646A1 (en) * 2020-05-12 2021-11-18 Samsung Electronics Co., Ltd. System and method for depth map recovery
KR20230006106A (ko) * 2021-07-02 2023-01-10 주식회사 뷰웍스 스테레오 영상을 이용한 고심도 영상 생성 방법 및 장치, 고심도 영상 생성 모델 학습 장치
WO2022036338A2 (en) * 2021-11-09 2022-02-17 Futurewei Technologies, Inc. System and methods for depth-aware video processing and depth perception enhancement

Family Cites Families (21)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1418766A3 (en) 1998-08-28 2010-03-24 Imax Corporation Method and apparatus for processing images
US8401336B2 (en) * 2001-05-04 2013-03-19 Legend3D, Inc. System and method for rapid image sequence depth enhancement with augmented computer-generated elements
KR20110039537A (ko) * 2008-07-21 2011-04-19 톰슨 라이센싱 3d 비디오 신호들을 위한 멀티 표준 코딩 장치
CA2725800A1 (en) 2008-07-31 2010-02-04 Tele Atlas B.V. Method of displaying navigation data in 3d
JP5444955B2 (ja) * 2009-08-31 2014-03-19 ソニー株式会社 立体画像表示システム、視差変換装置、視差変換方法およびプログラム
WO2011033673A1 (ja) * 2009-09-18 2011-03-24 株式会社 東芝 画像処理装置
US20100164952A1 (en) * 2010-01-25 2010-07-01 Michael Roderick Stereoscopic image production method and system
US20130033586A1 (en) 2010-04-21 2013-02-07 Samir Hulyalkar System, Method and Apparatus for Generation, Transmission and Display of 3D Content
JP5556394B2 (ja) * 2010-06-07 2014-07-23 ソニー株式会社 立体画像表示システム、視差変換装置、視差変換方法およびプログラム
US20120008852A1 (en) * 2010-07-07 2012-01-12 Himax Media Solutions, Inc. System and method of enhancing depth of a 3d image
EP2450450A1 (en) * 2010-11-09 2012-05-09 Ineos Commercial Services UK Limited Process and apparatus for producing ethylene via preparation of syngas
US8406470B2 (en) * 2011-04-19 2013-03-26 Mitsubishi Electric Research Laboratories, Inc. Object detection in depth images
US8629901B2 (en) * 2011-05-19 2014-01-14 National Taiwan University System and method of revising depth of a 3D image pair
US9007441B2 (en) 2011-08-04 2015-04-14 Semiconductor Components Industries, Llc Method of depth-based imaging using an automatic trilateral filter for 3D stereo imagers
US20140333739A1 (en) * 2011-12-02 2014-11-13 Lg Electronics Inc 3d image display device and method
EP2634772A1 (en) 2012-02-28 2013-09-04 BlackBerry Limited Methods and devices for selecting objects in images
US9185387B2 (en) 2012-07-03 2015-11-10 Gopro, Inc. Image blur based on 3D depth information
US20140043447A1 (en) * 2012-08-09 2014-02-13 Sony Corporation Calibration in the loop
US20140104268A1 (en) * 2012-10-15 2014-04-17 Lenny Lipton Method and apparatus for correcting stereoscopic display edge violations
EP2959684A4 (en) * 2013-02-20 2016-11-09 Intel Corp REAL-TIME AUTOMATIC CONVERSION OF IMAGES OR TWO-DIMENSIONAL VIDEO TO OBTAIN STEREO IMAGES OR VIDEO IN THREE DIMENSIONS
US9552633B2 (en) * 2014-03-07 2017-01-24 Qualcomm Incorporated Depth aware enhancement for stereo video

Also Published As

Publication number Publication date
KR20160130414A (ko) 2016-11-11
BR112016020544A8 (pt) 2021-06-15
WO2015134222A1 (en) 2015-09-11
JP2017512440A (ja) 2017-05-18
US20150254811A1 (en) 2015-09-10
CN106068527B (zh) 2018-12-04
BR112016020544A2 (pt) 2017-08-15
EP3114643A1 (en) 2017-01-11
JP6178017B2 (ja) 2017-08-09
US9552633B2 (en) 2017-01-24
CN106068527A (zh) 2016-11-02

Similar Documents

Publication Publication Date Title
KR101844705B1 (ko) 스테레오 비디오에 대한 심도 인지 강화
JP2021168479A (ja) デプスマップの推定および更新を用いる効率的なマルチビュー符号化
CN111819852B (zh) 用于变换域中残差符号预测的方法及装置
KR101617970B1 (ko) 심도 범위 변동을 갖는 모션 심도 맵들의 코딩
EP2491722B1 (en) Depth map generation techniques for conversion of 2d video data to 3d video data
EP2735150B1 (en) Slice header prediction for depth maps in three-dimensional video codecs
JP6250805B2 (ja) 深度ベース・ブロック・パーティショニングを使用して、テクスチャブロックを符号化および復号するための方法ならびに装置
KR101661436B1 (ko) 비디오 인코딩 및 디코딩 방법, 장치 및 시스템
JP6698351B2 (ja) ビュー内でのおよびビューにわたる深度ルックアップテーブルの予測コーディング
JP6446488B2 (ja) ビデオデータデコーディング方法及びビデオデータデコーディング装置
US20120236934A1 (en) Signaling of multiview video plus depth content with a block-level 4-component structure
KR20150132505A (ko) 스킵 및 직접 모드들에 대한 3d 비디오 코딩에서의 디스패리티 벡터 유도
KR20120085326A (ko) 비디오 시퀀스로의 추가 채널로서의 깊이 코딩
KR20150036261A (ko) 3차원 비디오를 표현하는 비트 스트림을 코딩하는 장치
KR20160102073A (ko) 3d 비디오 코딩에서 큰 예측 블록들의 세그먼트-와이즈 dc 코딩의 단순화
KR20140124919A (ko) 객체 기반 적응적 밝기 보상 방법 및 장치
Mora et al. Depth video coding technologies
BR112016020544B1 (pt) Realce consciente de profundidade para vídeo estéreo
CN118042136A (zh) 编解码方法和装置
CN116647683A (zh) 量化处理方法和装置
CN116708787A (zh) 编解码方法和装置

Legal Events

Date Code Title Description
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant