KR20050050094A - 입체 화상을 작성하는 방법 및 장치 - Google Patents

입체 화상을 작성하는 방법 및 장치 Download PDF

Info

Publication number
KR20050050094A
KR20050050094A KR1020057002869A KR20057002869A KR20050050094A KR 20050050094 A KR20050050094 A KR 20050050094A KR 1020057002869 A KR1020057002869 A KR 1020057002869A KR 20057002869 A KR20057002869 A KR 20057002869A KR 20050050094 A KR20050050094 A KR 20050050094A
Authority
KR
South Korea
Prior art keywords
value
pixel
image
interest
image data
Prior art date
Application number
KR1020057002869A
Other languages
English (en)
Other versions
KR100659206B1 (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 KR20050050094A publication Critical patent/KR20050050094A/ko
Application granted granted Critical
Publication of KR100659206B1 publication Critical patent/KR100659206B1/ko

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N13/00Stereoscopic video systems; Multi-view video systems; Details thereof
    • H04N13/20Image signal generators
    • H04N13/261Image signal generators with monoscopic-to-stereoscopic image conversion
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T15/003D [Three Dimensional] image rendering
    • G06T15/10Geometric effects
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N13/00Stereoscopic video systems; Multi-view video systems; Details thereof
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N13/00Stereoscopic video systems; Multi-view video systems; Details thereof
    • H04N13/20Image signal generators
    • H04N13/275Image signal generators from 3D object models, e.g. computer-generated stereoscopic image signals
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N13/00Stereoscopic video systems; Multi-view video systems; Details thereof
    • H04N13/30Image reproducers
    • H04N13/332Displays for viewing with the aid of special glasses or head-mounted displays [HMD]
    • H04N13/337Displays for viewing with the aid of special glasses or head-mounted displays [HMD] using polarisation multiplexing
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N2213/00Details of stereoscopic systems
    • H04N2213/003Aspects relating to the "2D+depth" image format

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Physics & Mathematics (AREA)
  • Geometry (AREA)
  • Computer Graphics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Testing, Inspecting, Measuring Of Stereoscopic Televisions And Televisions (AREA)
  • Processing Or Creating Images (AREA)
  • Image Processing (AREA)
  • Image Analysis (AREA)

Abstract

3차원 시화상 형성장치(1)는 2차원 화상 데이터의 그레이 스케일값에 따라 깊이값(Z값)을 산출한다. 그리고 이 Z값에 대해 역전 판정 처리, 평활화 처리, 분포 보정 처리, 국소 보정 처리를 실시한다. 그리고 구해진 Z값에 따라 시차를 결정하고, 이 시차에 따른 양만큼 각 화소를 이동시키는 처리를 행함으로써 3차원 시화상 데이터를 생성한다.

Description

입체 화상을 작성하는 방법 및 장치{METHOD AND DEVICE FOR CREATING 3-DIMENSIONAL VIEW IMAGE}
본 발명은 이차원 화상 데이터로부터 입체 화상 데이터를 작성하는 방법 및 장치에 관한 것이다.
인간은 시각을 통해서 삼차원 공간 내의 입체물을 입체적으로 파악하는 이른바 입체시(stereopsis)를 할 수 있다. 이 입체시의 프로세스에 있어서, 인간의 뇌는 좌우 각각의 눈으로 본 영상에 따라 입체물을 인식한다. 환언하면, 입체시를 행하기 위해서는 오른쪽 눈과 왼쪽 눈 각각이 보는 화상이 필요하다.
한편, 2차원 화상에 있는 가공을 행하는 것에 따라, 평면적인 화상을 입체적인 화상으로서 감상자에게 인식시키는 이른바 「입체시」라는 기술이 있다. 그리고 이 「입체시」의 기술 중에는 한 장의 화상의 데이터를 가공하여, 왼쪽 눈과 오른쪽 눈의 2개의 화상 데이터를 작성하는 기술이 있다. 구체적으로는 먼저 화상 중의 물체(피사체)에 대한 양 눈의 시차를 산출하고, 다음에, 이 시차에 따라 원래의 화상 데이터의 화소의 위치를 좌우에 바꾸어 놓는 것으로 왼쪽 눈의 화상 및 오른쪽 눈의 화상을 생성한다는 처리가 행해진다.
이 시차를 산출하는 방법으로서는 물체의 채도, 명도 또는 색채 중 적어도 하나에 따라, 실제의 물체가 어느 정도 멀리(또는 앞)에 위치하고 있는지를 나타내는 깊이값(이하에서는 Z값이라고 함)을 산출하고, 이 값을 시차로 간주하는 것이 있다. 예를 들면, JP2002-123842A에는 원래의 화상의 채도 및 명도에 따라 Z값을 결정하는 방법이 개시되어 있다. 구체적으로는 (a) 먼저 화상 데이터의 채도에 따라 화소마다 Z값을 산출하고, (b) 더하여, 화상 데이터의 명도에 따라 정지 화상에 포함되는 물체의 윤곽선을 추출하고, (c) 그리고, 추출한 물체에 포함되는 화소 전체의 Z값의 평균치를 산출하여, 이것을 당해 물체의 Z값으로 한다. 이 Z값에 따라 시차가 결정된다.
또한, 입체감을 향상시키기 위하여, 물체 주위둘레의 화소의 채도를 변경함으로써, 당해 물체의 에지에 대해 "흐릿함(blur)" 처리가 행해진다. 이 기술은 화상 내의 물체가 멀리 위치할수록 일반적으로 그 화상이 희미하고(즉 채도가 저하하고), 물체가 가까이 위치할수록 그 화상이 예리하게 되는(즉 채도가 높아지는) 경향이 있다는 경험법칙을 이용하고 있다. 즉, 원경에서는 공기 중의 티끌 등에 의해 채도가 저하되고, 물체의 에지(윤곽선)가 가늘고, 희미해진다. 한편, 근경에서는 채도가 높게 되는 물체의 수가 많게 되어, 물체의 에지는 굵고, 선명하게 보인다.
그러나 예를 들면, 어두운 숲이 가까이 보이고 밝은 공간이 멀리 보이는 구도의 화상은 상기의 경험법칙에 들어맞지 않고, 따라서, 얻어진 Z값은 실제의 물체의 깊이를 정확하게 반영하고 있지 않다. 즉, 올바른 시차를 얻지 못하고, 얻어진 입체 화상은 부자연스러운 것으로 된다.
또한, 물체의 일부에 하이라이트 또는 그림자가 형성되어 있는 경우, 환언하면, 물체에 있어서의 채도의 변화가 현저한 경우도, 올바른 Z값을 산출할 수 없다. 이와 같은 경우, 얻어진 입체 화상은 그 물체의 일부만이 국소적으로 볼록하게 (또는 오목하게) 보여 버릴 것이다. 또한 이 경우는 물체의 에지를 정확하게 추출할 수 없기 때문에, 전술한 흐릿함 처리를 행해도 입체감의 향상에 기여하지 않는다.
또, 하이라이트 부분에서는 산출되는 Z값이 큰 값으로 되기 때문에, 결과적으로 그 부분의 시차가 크게 추산된다. 그 결과, 입체 화상을 작성할 때, 원래의 화상에 있어서 인접한 화소가 상이한 방향으로 이동되는 경우가 생긴다. 이것을 화소 크로스 현상이라 하며, 이에 의해 화상의 불균일이 일으켜져 작성되는 입체 화상의 질은 감상할 수 없을 정도로 열화된다. 특히, 복수개의 물체가 서로 겹치는 장소에서는 상기의 문제가 두드러져, 화상의 왜곡이 생기기 쉽고, 자연스러운 입체감이 얻어지는 입체 화상을 생성하는 것이 한층 곤란해진다.
이같이, 종래의 기술에서는 입체 화상을 생성하기 위해 화상 데이터로부터 적절한 Z값을 산출할 수 없어, 따라서 실감나는 입체 화상을 생성하는 것은 곤란하였다.
도 1은 본 발명의 제1 실시예에 관한 입체 화상 형성 장치의 일례를 나타낸 기능 블록도이다.
도 2는 입체 화상 표시 애플리케이션의 표시 화면의 일례를 나타낸 개략도이다.
도 3은 설정 다이얼로그 패널의 일례를 나타낸 개략도이다.
도 4는 본 발명의 제1 실시예에서의 3D 화상 표시 기구를 설명하기 위한 개략도이다.
도 5는 본 발명의 제1 실시예에서의 3D 화상 표시 기구를 설명하기 위한 개략도이다.
도 6은 입체시 안경을 나타낸 도면이다.
도 7은 3D 화상 표시 모드가 선택된 경우에 행해지는 화상 처리를 나타낸 플로 차트이다.
도 8은 화상 데이터의 구조를 설명하기 위한 개략도이다.
도 9는 그레이 스케일 보정 처리를 나타낸 플로 차트이다.
도 10은 그레이 스케일 보정 처리를 나타낸 플로 차트이다(계속).
도 11은 그레이 스케일 보정 처리를 나타낸 플로 차트이다(계속).
도 12는 역전 판정 처리에 있어서 이용되는 샘플링 영역 및 가중 계수를 나타낸 도면이다.
도 13은 역전 판정 처리를 나타낸 플로 차트이다.
도 14는 역전 판정 처리를 나타낸 플로 차트이다(계속).
도 15는 평활화 처리에 있어서 이용되는 매트릭스 영역 MM을 나타낸 도면이다.
도 16은 평활화 처리를 나타낸 플로 차트이다.
도 17은 분포 보정 처리를 설명하기 위한 모식도이다.
도 18은 분포 보정 처리를 나타낸 플로 차트이다.
도 19는 분포 보정 처리를 나타낸 플로 차트이다(계속).
도 20은 국소 보정 처리로 적용하는 피사체의 Z값 분포를 나타낸 도면이다.
도 21은 국소 보정 처리를 나타낸 플로 차트이다.
도 22는 국소 보정 처리의 일 과정인 등고선 산출 처리를 나타낸 플로 차트이다.
도 23은 국소 보정 처리의 일 과정인 등고선 산출 처리를 설명하기 위한 도면이다.
도 24는 국소 보정 처리의 일 과정인 등고선 산출 처리를 나타낸 플로 차트이다(계속).
도 25는 국소 보정 처리의 일 과정인 피사체 중심 특정 처리를 나타낸 플로 차트이다.
도 26은 국소 보정 처리의 일 과정인 피사체 중심 특정 처리를 나타낸 플로 차트이다(계속).
도 27은 국소 보정 처리의 일 과정인 피사체 중심 특정 처리를 나타낸 플로 차트이다(계속).
도 28은 국소 보정 처리의 일 과정인 교점 산출 처리를 나타낸 플로 차트이다.
도 29는 국소 보정 처리의 일 과정인 면내 Z값 산출 처리를 나타낸 플로 차트이다.
도 30은 국소 보정 처리의 일 과정인 면내 수정치 산출 처리를 나타낸 플로 차트이다.
도 31은 국소 보정 처리의 일 과정인 Z값 보정 처리를 나타낸 플로 차트이다.
도 32는 화소 이동 처리를 나타낸 플로 차트이다.
도 33은 화소 이동 처리를 나타낸 플로 차트이다(계속).
도 34는 화소 이동 처리를 나타낸 플로 차트이다(계속).
도 35는 본 발명의 변형예에 있어서의 강조 처리를 설명하기 위한 도면이다.
도 36은 본 발명의 변형예에 있어서의 화상 처리를 나타낸 플로 차트이다.
도 37은 본 발명의 변형예에 있어서의 강조 처리를 나타낸 플로 차트이다.
도 38은 본 발명의 변형예에 있어서의 입체 화상의 표시 방식을 나타낸 개략도이다.
도 39는 본 발명의 변형예에 있어서의 입체 화상의 표시 방식을 나타낸 개략도이다.
도 4O은 본 발명의 변형예에 있어서의 입체 화상의 표시 방식을 나타낸 개략도이다.
도 41은 본 발명의 변형예에 있어서의 입체 화상의 표시 방식을 나타낸 개략도이다.
도 42는 본 발명의 변형예에 있어서의 화소 이동 처리를 나타낸 플로 차트이다.
도 43은 본 발명의 제2 실시예에서의 휴대 단말기(1A)의 기능 구성을 설명하기 위한 블록도이다.
도 44는 휴대 단말기(1A)의 외관도이다.
도 45는 표시부(21b)의 구성을 나타낸 개략도이다.
도 46은 화상이 육안으로 보일 때 입체시의 원리를 설명하기 위한 도면이다.
도 47은 휴대 단말기(1A)에 있어서, 정지화상을 표시할 때 행해지는 처리를 나타낸 플로 차트이다.
도 48은 휴대 단말기(1A)에 있어서, 동영상을 표시할 때 행해지는 처리를 나타낸 플로 차트이다.
도 49는 본 발명의 제3 실시예에 관한 입체 화상 형성 장치(1B)의 기능 구성의 일례를 나타낸 블록도이다.
도 50은 입체 화상 형성 장치(1B)에 있어서의 동영상을 표시할 때의 처리를 나타낸 플로 차트이다.
도 51은 본 발명의 일 응용예인 운전 시뮬레이터(40)의 기능 구성을 나타낸 블록도이다.
본 발명은 이러한 실정을 감안하여 이루어진 것이며, 2차원 화상 데이터로부터 자연스러운 입체시를 얻을 수 있는 입체 화상 데이터를 작성하는 방법, 및 당해 방법을 이용한 입체 화상 데이터 작성 장치를 제공하는 것을 목적으로 한다.
출원인은 인간이 강한 입체감을 느끼는 데는 어떠한 조건이 필요한가를 연구하고, 이 연구의 결과 본 발명을 상도하기에 이르렀다.
본 발명의 입체 화상 작성 방법은 화상을 구성하는 복수개의 화소의 화상 데이터에 따라, 각 화소에 대응하는 피사체의 깊이를 나타내는 Z값을 산출하는 산출 스텝과, 상기 산출 스텝에 산출된 각 화소에 대응하는 Z값을, 당해 화소 이외의 화소에 대응하는 Z값을 사용하여 수정하는 수정 스텝과, 각 화소의 수정 후의 Z값에 따라 각 화소의 화소이동량을 결정하고, 상기 화상을 구성하는 각 화소가 상기 결정된 화소이동량만큼 수평으로 늦추는 것으로, 오른쪽 눈을 위한 화상과 왼쪽 눈을 위한 화상을 작성하는 작성 스텝을 구비하는 것을 특징으로 한다. 이같이 Z값의 수정을 행함으로써, 자연스러운 입체감을 얻을 수 있는 입체 화상이 생성된다.
바람직한 실시예에 있어서, 상기 산출 스텝에서는 화상 데이터의 색 성분의 각각에 소정의 계수를 곱하는 것으로 Z값을 산출한다. 또, 상기 소정의 계수는 인간의 망막에 존재하는 R, G 및 B 각각의 원뿔체의 비율에 따라 결정된다.
또, 상기 수정 스텝에서는 원화상의 구도상에서 앞에 위치하는 피사체를 나타내는 화상을 구성하는 화소의 Z값보다, 원화상의 구도상에서 뒤에 위치하는 피사체를 나타내는 화상을 구성하는 화소의 Z값 쪽이 크게 되도록, 상기 각 화소의 Z값을 보정해도 된다.
또, 상기 수정 스텝에서, 당해 화소를 포함하는 영역에 포함되는 화소의 Z값의 평균치를 산출하고, 당해 화소의 Z값을 당해 평균치로 치환해도 된다. 또, 상기 화상에서의 모든 화소의 Z값의 분포 및 모든 화소의 Z값의 평균치를 산출하고, 상기 산출한 평균치를 사용하여 당해 분포의 편향을 보정해도 된다.
또, 상기 수정 스텝에서, 상기 산출된 Z값을 참조하여, 상기 화상 데이터에 의해 표현되는 화상 중 적어도 하나 이상의 피사체의 화상을 특정하고, 상기 피사체에 대응하는 영역 내의 화소의 Z값에 따라 당해 화소의 Z값을 수정하여도 된다.
또, 상기 수정 스텝에서, 사용자에게 따라 지정되는 파라미터 값을 사용하여, Z값의 양자화 스텝 사이즈, 상기 산출된 Z값이 취할 수 있는 값의 상한치 또는 하한치 중 어느 하나를 결정해도 된다.
또, 상기 수정 스텝에서, 하나의 영역에 포함되는 화소의 Z값과 다른 영역에 포함되는 화소의 Z값을 비교함으로써, 상기 화상에 있어서의 Z값의 변화 경향을 해석하고, 얻어진 해석 결과가 소정의 것인 경우, 상기 작성 스텝에서, 상기 Z값과 상기 화소이동량의 대소 관계를 역전시켜도 된다.
또, 바람직한 실시예에 있어서, 복수개의 화상으로 구성되는 동화상을 취득하는 스텝과, 상기 취득한 화상의 각각으로부터 입체 화상을 작성하는 스텝을 추가로 구비하는 것으로, 상기 동화상에 대응하는 입체 화상을 리얼 타임으로 작성하는 것으로 해도 된다.
또, 본 발명에 관한 입체 화상 작성 장치는 화상을 구성하는 복수개의 화소의 화상 데이터에 따라, 각 화소에 대응하는 피사체의 깊이를 나타내는 Z값을 산출하는 산출 수단과, 상기 산출 수단에 있어서 산출된 각 화소에 대응하는 Z값을, 당해 화소 이외의 화소에 대응하는 Z값을 사용하여 수정하는 수정 수단과, 각 화소의 수정 후의 Z값에 따라 각 화소의 화소이동량을 결정하고, 상기 화상을 구성하는 각 화소를 상기 결정된 화소이동량만큼 수평으로 늦추는 것으로, 오른쪽 눈을 위한 화상과 왼쪽 눈을 위한 화상을 작성하는 작성 수단을 구비하는 것을 특징으로 한다.
또한, 상기 수정 수단에 있어서 이용되는 각종 파라미터를 사용자로부터 취득하는 취득 수단을 추가로 구비해도 된다.
또, 본 발명은 전술한 입체 화상 작성 장치로서 컴퓨터를 기능시키기 위한 프로그램을 제공한다. 이 프로그램은 예를 들면, 각종 기록 매체에 저장되고, 또는 네트워크를 통하여 상기 컴퓨터에 인스톨된다.
이하, 첨부 도면을 참조하면서, 본 발명의 실시예를 상세하게 설명한다.
<제1 실시예>
<A. 장치의 구성>
도 1은 본 발명의 제l 실시예에 관한 입체 화상 형성 장치(1)을 나타낸다. 동 도면에 있어서, CPU(중앙처리장치)(11)는 이 입체 화상 형성 장치(1)의 각 부의 동작을 제어하고, 입체 화상 데이터 작성 처리 등의 각종 처리를 실행한다. ROM(리드·온리·메모리)(12)은 기동 시 등에 실행되는 프로그램이나 참조 데이터 등을 저장한다. RAM(랜덤·액세스·메모리)(13)은 CPU(11)의 워크 에어리어 역할을 실현한다.
캐릭터 제너레이터(14)는 도형 문자의 표시 데이터(폰트 데이터)를 발생한다. 시계 회로(15)는 현재 시각을 출력한다. 인터페이스(16)는 입체 화상 형성 장치(1)을 인터넷(도시 대략)에 접속하기 위한 것이다. 전송 제어부(17)는 인터페이스(16)를 통하여, 인터넷에 접속된 단말기 사이에 데이터의 수수를 행한다.
자기 디스크 장치(18)는 입체 화상 형성 장치(1)로 실행되는 각종 처리나 오퍼레이팅 시스템 등의 프로그램 데이터를 기억하는 동시에 각종 처리에 의해 작성되는 각종 데이터 등을 기억하는 기억 장치이다. CD-ROM 드라이브(19)는 CD-ROM(20)에 기억되어 있는 화상 데이터를 판독하기 위한 것이다. 표시부(21)는 예를 들면 CRT나 LCD이며, 표시 제어부(22)의 제어하에 화상을 표시한다.
키보드(23)는 풀-사이즈 키보드(full-sized keyboard)이며, 사용자는 키보드(23)를 사용하여 지시를 입력한다. 화면 지시 장치(24)는 터치 패널 등의 입력 디바이스이며, 사용자는 터치 패널을 가압함으로써 각종 지시를 입력한다. 입력 제어부(25)는 키보드(23) 및 화면 지시 장치(24)로부터 입력된 지시를 취입하여 CPU(11)에 출력한다.
CPU(11), ROM(12), RAM(13), 캐릭터 제너레이터(14), 시계 회로(15), 전송 제어부(17), 자기 디스크 장치(18), CD-ROM 드라이브(19), 표시 제어부(22), 및 입력 제어부(25)는 내부 버스(26)에 접속되어 있다. 이들 각종 요소간의 데이터 교환은 이 내부 버스(26)를 통하여 행해진다.
입체 화상 데이터를 작성하는 것에 즈음하여, CPU(11)에 의하여, 예를 들면 ROM(12)내의 입체 화상 표시용의 애플리케이션이 실행된다. 당해 애플리케이션이 실행되었을 때 표시부(21)에 표시되는 화면의 일례를 도 2에 나타낸다.
동 도면에 나타낸 바와 같이, 애플리케이션 실행시에 표시되는 화면은 메인 화면 MD와 메뉴 항목이 배열되는 도구모음 MB로 이루어진다. 메인 화면 MD에는 사용자가 선택한 동영상이 표시된다.
또, 도구모음 MB에는 항목 MI1 ~ MI10가 표시된다. 항목 MI1은 톤 사용자가 처리 대상으로 되는 동영상 데이터의 선택 등을 행하기 위한 「파일 메뉴」를 선택하기 위한 것이다. 항목 MI2는 입체 화상의 표시 설정을 행하기 위한 것이다. 항목 MI3은 입체 화상 데이터를 기록할 때 선택 조작하기 위한 것이다. 항목 MI4는 이 입체 화상 표시 애플리케이션을 종료시키는 조작을 행하기 위한 것이다. 항목 M15는 메인 화면 MD에 표시하고 있는 동영상의 재생 조작을 행하기 위한 것이다. 항목 MI6은 메인 화면 MD에 표시하고 있는 동영상의 정지 조작을 행하기 위한 것이다. 항목 MI7은 메인 화면 MD에 표시하고 있는 동영상의 일시 정지 조작을 행하기 위한 것이다.
항목 MI8은 메인 화면 MD에 표시하는 동영상의 표시 모드를 통상 모드(2D)인가 또는 입체시 모드(3D)인지를 표시하면 동시에, 그 표시 모드의 전환을 지정하기 위한 조작을 행하기 위한 것이다. 구체적으로는 사용자가 항목 MI8을 클릭할 때마다 통상 모드(2D 모드)와 입체시 모드(3D 모드)가 전환 토글 동작을 한다. 도 2의 위쪽의 도면은 2D 모드 시의 표시 화면이며, 아래쪽의 도는 3D 모드 시의 화면이다.
항목 MI9는 3D 화상 표시 모드의 종류(Odd-even 모드 또는 보색 모드)의 선택을 행하기 위한 것이다. 그리고 본 실시예에 있어서는 2개의 모드만이 선택 가능하지만, 이것에 한정되지 않고, 다른 합성 방법으로 적합한 모드를 설정할 수도 있다. 구체적으로는 화상을 합성하여 입체 화상을 얻는데 있어서, 좌우 양 눈의 2 시점에 대응하는 2개의 화상을 사용하는 방법 이외에, 4 시점에 대응하는 4개의 화상을 사용하는 방법이나, 8 시점 및 9 시점에 각각 대응하는 8 화상 및 9 화상을 사용하는 합성 방법의 모드를 사용자에게 선택 가능하도록 한다.
항목 MI10은 합성 방법을 지정하는 것으로서, 입체 세계가 화면으로부터 오목하게 보이는 F1 모드의 것인지, 볼록하게 보이는 F2 모드의 것인지의 전환조작을 행하기 위한 것이다. 도 2에서는 양 화면과도 F1 모드로 되어 있기 때문에, 사용자에게는 입체 세계가 오목한 것으로 보이게 된다.
도 3은 사용자가 항목 MI2를 조작한 경우에 표시부(21)에 표시되는 설정 다이얼로그 패널의 일례를 나타내고 있다. 동 도면에 나타낸 바와 같이, 이 설정 다이얼로그 패널은 상부에 타이틀 바 BR가 표시되고, 그 타이틀 바에는 이 설정 다이얼로그 패널을 닫기 위한 클로즈 박스 BC가 배치되어 있다.
또, 설정 다이얼로그 패널은 슬라이더 바 IS1, IS2, 입력창 IB1, IB2, IB3, IB4, 입력 박스 IB5 및 IB6, 및 버튼 BM2 및 BM3가 배치되어 있다. 사용자는 슬라이더 바 IS1을 조작하고, 인터페이스 깊이의 값을 지정할 수 있다. 입력창 IB1에는 지정되어 있는 "인터페이스 깊이"의 값이 표시된다. 또는 입력창 IB1에 직접 수치를 입력할 수도 있다.
여기서, 인터페이스 깊이란, 사용자에게, 표시 화면에 대해 입체 화상 전체가 어느 정도 오목하게 (또는 볼록하게) 지각되는지를 나타내는 파라미터이다. 이 값이 클수록, 입체 화상 전체가 화면으로부터 볼록하게 (또는 오목하게) 있는 것으로 지각된다. 또, 예를 들면, 화소를 왼쪽 눈 화상에 대하여 시차분을 좌측으로 이동해 오른쪽 눈 화상에 대하여 우측으로 이동해 표시된 입체 화상이 표시 화면으로부터 내부에 오목하게 보인다고 하면, 화소 이동 방향을 반대로 함으로써, 입체 화상은 표시 화면으로부터 볼록하게 보이게 된다.
사용자는 슬라이더 X-IS2를 조작하고, "기복도(undulation)"의 값을 지정할 수 있다. 입력창 IB2에는 지정되어 있는 기복도의 값이 표시된다. 또는 입력창 IB2에 직접 수치를 입력해도 된다. 여기서 기복도란, 입체 화상의 기복도, 환언하면, 입체 화상의 최저 깊이로부터 최고 깊이까지의 깊이를 나타낸다. 즉, 이 값이 클수록 입체 화상 내의 기복이 강조되고 역으로 이 값이 작으면 입체 화상 전체가 더 편평한 것으로 지각된다.
사용자는 피사체 깊이의 상한치 및 하한치를 각각 입력창 IB3 및 IB4에 입력할 수 있다. 여기서 피사체 깊이란, 화상에 포함되는 피사체마다 할당되는 양으로서, 화면에 대하여 그 피사체가 어느 정도 오목하게 되어 있는지 (또는 볼록하게 되어 있는지)를 나타낸 파라미터이다. 조작 버튼 BM1은 피사체 깊이의 상한치 및 하한치를 디폴트값으로 설정하기 위한 것이다.
사용자는 체크 박스 IB5 또는 IB6 중 어느 하나 한쪽을 체크함으로써 개시 라인을 홀수 라인으로 할 것인지 짝수 라인으로 할 것인지를 지정할 수 있다. 버튼 BM2가 조작되면, 현재의 설정 내용이 확정하고, 버튼 BM3이 조작되면, 현재의 설정 내용이 파기되고 이전에 설정한 내용이 유효로 된다. 이같이 하여 설정된 파라미터값은 후술하는 화상 처리에 있어서 이용된다.
1조의 화상을 사용하여 입체시를 실현하는 수법은 여러 가지 있지만, 본 실시예에서는 Odd-Even 방식을 채용한다. 즉, 표시부(21)의 화면에 편광 스트라이프 필터를 붙여 사용자는 편광 안경을 장착하여 표시 화면을 보는 것으로, 입체적인 화상이 사용자에게 지각되는 것이다.
구체적으로는 먼저, 도 4에 나타낸 바와 같이, 표시부(21)의 표시 화면을 구성하는 각 수평 주사선 중 짝수 라인 S10, S12, ···에, 왼쪽 눈의 편광 스트라이프 필터 FL0, FL2, ···를, 각각에 대응하는 폭과 간격으로 붙인다. 한편, 표시 화면의 홀수 라인 S11, S13, ···에는 오른쪽 눈의 편광 스트라이프 필터 FL1, FL3, ···을, 각각에 대응하는 폭과 간격으로 붙인다. 그리고 도 5에 나타낸 바와 같이, 입체 화상 데이터 중 왼쪽 눈을 위한 화상 데이터를 표시부(21)의 짝수 라인 S10, S12, ···에 표시하는 동시에 오른쪽 눈을 위한 화상 데이터를 표시부(21)의 홀수 라인 S11, S13, ···에 표시한다. 여기서 왼쪽 눈의 편광 스트라이프 필터 FL0, FL2, ···와 오른쪽 눈의 편광 스트라이프 필터 FL1, FL3, ···과는 그 편광 방향이 직교하고 있다.
한편, 도 6에 나타낸 편광 안경 GS에 있어서는 왼쪽 눈에 대응하여 필터 Fleft가, 오른쪽 눈에 대응하여 필터 Fright가 설치된다. 여기서, Fleft 및 Fright의 편광 방향은 각각 왼쪽 눈의 편광 스트라이프 필터 및 오른쪽 눈의 편광 스트라이프 필터와 평행이다.
사용자는 편광 안경 GS를 착용하여 이 표시부(21)의 표시 화면을 보면, 표시부(21)의 짝수 라인 S10, S12, ···의 표시 내용은 편광 스트라이프 필터 FL0, FL2, ···를 통과하므로, 왼쪽 눈에 대응하여 설치된 필터 Fleft를 투과하여 왼쪽 눈에 도달하지만, 오른쪽 눈에 대응하여 설치된 필터 Fright에 의해 차단되므로 오른쪽 눈에는 도달하지 않는다. 한편, 표시부(21)의 홀수 라인 S11, S13, ···의 표시 내용은 편광 스트라이프 필터 FL1, FL3, ···을 통과하므로, 필터 Fright를 투과하여 오른쪽 눈에 도달하지만, 필터 Fleft에 의해 차단되므로 왼쪽 눈에는 도달하지 않는다. 이같이 하여, 사용자의 왼쪽 눈에서는 왼쪽 눈을 위한 화상이, 오른쪽 눈에서는 오른쪽 눈을 위한 화상이 각각 감지되므로, 사용자는 표시 화상을 입체적으로 지각할 수 있다.
<B. 화상처리>
도 7은 사용자가 소정의 조작을 행하고, 입체 화상 표시 애플리케이션이 기동되고 3D 화상 표시 모드가 선택된 경우에, 3D 화상 형성 장치(1)가 행하는 화상 처리의 흐름의 개략을 나타낸 것이다.
먼저, CPU(11)는 컬러 동영상 데이터의 1프레임분의 데이터를 판독(스텝 S101), 그 데이터가 RGB 포맷의 것인지 여부를 조사한다(스텝 S102). RGB 이외의 포맷인 경우, 읽어들인 1프레임분의 컬러 화상 데이터를, RGB 포맷의 컬러 화상 데이터로 변환한다(스텝 S103). 여기서, 컬러 동영상 데이터의 포맷은 임의이다. 또, 당해 동영상 데이터는 압축되어 있어도 된다. 이 경우, 스텝 S101의 전에, 당해 데이터를 복호화하는 처리를 설치하면 된다. 또, 컬러 동영상 데이터의 1화소 근처의 색 깊이(비트 깊이)로서는 16 비트, 24 비트, 또는 32 비트 중 어느 하나의 것을 적용할 수 있다. 또, 이 컬러 동영상 데이터는 자기 디스크 장치(18)나 CD-ROM(20)에 보존되어 있는 것이어도 된다. 또는 DVD 등의 영상 재생 기기와 케이블 접속함으로써 화상 데이터를 입력해도 된다. 또는 디지털 카메라나 비디오 등의 촬영 기기로부터 입력되어도 된다. 또는 수상기와 접속에 의하여, 수신한 위성방송이나 유선 방송의 화상 데이터를 입력하는 것으로 해도 된다. 또는 인터넷상의 서버로부터 다운로드한 것이어도 된다.
다음에, CPU(11)는 판독한 1 프레임분의 컬러 화상 데이터에 대하여, 각각의 화소에 대하여, 화상 데이터 값(R값, G값, B값)에 근거해 그레이 스케일값을 산출하고, 이것을 Z값으로 설정한다(스텝 S104, 이하 그레이 스케일 보정 처리라 한다).
이같이 하여 각 화소의 Z값을 결정하면, 역전 판정 처리(스텝 S105), 평활화(스텝 S106), 분포 보정(스텝 S107), 국소 보정(스텝 S108, S109)을 행하고, Z값을 보정하여 간다. 마지막으로, 이같이 하여 얻어진 보정 후의 Z값에 따라 화소이동량을 산출하고, 화소를 늦추는 것으로 입체 화상을 작성하는 것이다(스텝 S110) 이하, 각 처리를 상세하게 설명한다.
그리고 이하의 설명에 있어서, 식의 구문이나 데이터 형태 등의 기술 방법은 C 언어 또는 그것의 확장 언어(C++ 언어 등)의 기술 방법에 준거하는 것으로 한다. 또, 전술한 바와 같이, 본 실시예에서는 색 깊이로서 16 비트, 24 비트, 및 32 비트 중 어느 하나의 RGB 포맷의 컬러 화상 데이터를 사용하는 것으로 한다. 도 8에 나타낸 바와 같이, 각 화소에 있어서의 색 깊이가 16 비트의 컬러 화상 데이터는 R 데이터가 5 비트, C 데이터가 6 비트, 및 B 데이터가 5 비트의 데이터 구성을 가진다. 색 깊이가 24 비트의 데이터의 경우는 R 데이터, G 데이터, B 데이터는 각각 8 비트, 8 비트, 8 비트의 데이터 구성을 가진다. 또, 색채 깊이가 32 비트의 경우는 24 비트의 컬러 화상 데이터의 선두에 8 비트의 더미 데이터를 부가한 데이터 구성을 가진다.
<B-1. 그레이 스케일 보정 처리>
도 9, 도 10, 및 도 11을 사용하여, 그레이 스케일 보정 처리(도 7, 스텝 S104)의 상세를 설명한다.
이 그레이 스케일 보정 처리에 있어서는 원화상 데이터의 R값, G값, 및 B값을 그대로 Z값으로 하는 것이 아니라, 먼저, R값, G값, 및 B값에 대하여, 가중을 행한다. 구체적으로는 이하의 식 1에 나타낸 바와 같이, 각각의 화소의 표시 색 중 적색성분 R, 녹색성분 G 및 청색 성분 B 각각에 소정의 가중을 행하여 그레이 스케일값을 취득한다.
Z = 0. 3 × R + 0. 59 × G + 0.11 × B 1
화상 데이터의 색 깊이가 16비트인 경우에는 하나의 화소의 그레이 스케일값이 취할 수 있는 범위는 0 ~ 31이며, 24 비트 또는 32 비트인 경우는 모두 0 ~ 255로 된다.
그리고 이 가중 계수 30%, 59%, 11%는 인간의 망막에 존재하는 적 원뿔체, 녹 원뿔체, 및 청 원뿔체의 수의 비율에 근거한 것이다. 이외의 가중 계수도 채용하는 것은 가능하지만, 상기 계수를 사용하여 산출한 그레이 스케일값에 따라 입체 화상을 생성하면, 가장 자연스러운 입체감을 낼 수가 있다.
다음에, 가중 계수를 사용한 그레이 스케일의 값을 보정한다. 이 그레이 스케일의 1계조를 1단위의 깊이로서 사용하면, 원화상의 구도상에서 앞에 위치하는 1계조와 멀리 위치하는 1계조가, 같은 단위의 깊이(같은 깊이 거리)를 표현하게 되어, 화소 본래의 Z값의 표현에 부정확이 생긴다. 그래서, 원화상의 구도상에서 앞에 위치하는 계조의 값(그레이 스케일값)보다도 멀리 위치하는 계조의 값(그레이 스케일값)만큼, 보다 큰 값의 깊이(깊이 거리)를 표현할 필요가 있다. 그 방법으로서, 가중 계수를 사용하여 취득한 그레이 스케일의 계조의 값을 수열 an(n = 1, 2, 3, ···)으로 간주하여, 이하의 수식(2)에 나타낸 등차 수열 또는 이하의 수식(3)에 나타낸 등비 수열을 사용하여, 원화상의 구도상에서 앞에 위치하는 계조로부터 멀리 위치하는 계조일수록, 보다 큰 단위의 깊이(깊이 거리)를 부여하여 얻어지는 값을 당해 화소의 Z값으로 한다.
an = a + (n-1) * d (2)
an = a * rn-1 (3)
다만, n은 정의 정수, a는 초항으로서, 보정량을 나타내는 파라미터인 공차 d 및 공비 r은 원화상의 특징에 따라 적절한 값을 설정할 수 있다.
이하, *src는 원화상 데이터 src가 저장되고 영역(어드레스)을 나타낸 포인터, WD는 원래의 화상의 가로 방향의 화소수, HT는 원화상의 세로 방향의 화소수, *zinfo는 산출한 Z값을 저장하는 영역을 나타낸 포인터를 나타내는 것으로 한다. 예를 들면, 원래의 화상 데이터의 사이즈가 1024도트 * 768도트인 경우, WD는 1024, HT는 768로 된다.
먼저, 도 9에 있어서, CPU(11)는 처리 대상으로 되어 있는 화소의 데이터의 색 깊이가 16 비트인지 여부를 판정한다(스텝 S201). 16 비트의 경우, 변수 선언 Unsigned Short * srcp를 수행하고(스텝 S202), 주목 화소의 데이터 src를 unsigned short로 형태 변환하고(스텝 S203), 변수 srcp에, 데이터 src의 어드레스를 대입한다(스텝 S204).
이어서, CPU(11)는 카운터 CC의 값을 0으로 설정한다(스텝 S205). 다음에, 스텝 S206으로 진행되어, 카운터 CC의 값이 WD*HT」보다도 작은지 여부를 판정한다(스텝 S206). 판정 결과가 NO인 경우는 1화면분의 모든 화소에 대한 처리가 종료된 것으로 판단하고, 그레이 스케일 보정 처리를 종료한다.
판정 결과가 YES인 경우, 후단의 스텝 S207 ~ S210에 있어서, 당해 화소에 대하여 그레이 스케일 보정 처리를 행한다. 즉, CPU(11)는 먼저, 스텝 S207에 있어서, 변수 R에, 포인터*srcp에 의해 지시받는 영역에 저장되어 있는 16 비트의 데이터와 16 진수 F800 또는 2진수에서는 1111100000000000과의 논리곱을 취하여, 이것을 11비트 산술 우측 시프트(arithmetic shift right)하고, 그 결과에 30을 곱한다. 이같이 하여 얻어진 값을 int로 형태 변환하고, 이것을 새로운 R값을 이라고한다(스텝 S207). 이같이 하여, 변수 R에는 5 비트의 R 데이터에 30을 곱한 값이 대입된다. 다음에, 스텝 S208로 진행되어, 변수 G에, 포인터*srcp에 의해 지시받는 영역에 저장되어 있는 16 비트 데이터와 16 진수 07E0를 논리적하고, 이것을 5 비트 산술 우측 시프트하고, 이것에 59를 곱한다. 또한, 이같이 하여 얻어진 값을 int로 형태 변환하고, 이것을 새로운 G값으로 한다(스텝 S208). 이상에 의하여, 변수 G에는 6 비트의 G 데이터에 59를 곱한 값이 대입된다. 다음에, 변수 B에, 포인터*srcp에 의해 지시받는 영역에 저장되어 있는 16 비트 데이터와 16 진수 001F를 논리곱을 취하여, 이것에 11을 곱한다. 또한, 이같이 하여 얻어진 값을 int로 형태 변환하고, 이것을 새로운 B값으로 한다(스텝 S209). 이같이 하여, 변수 B에는 5 비트의 B 데이터 5 비트에 11을 곱한 값이 대입된다. 마지막으로, 변수 R과 변수 G와 변수 B의 값의 총합을 100으로 나눈 결과를, 포인터*zinfo로 나타내는 영역에 대입한다(스텝 S210).
이것으로 1화소의 처리가 종료했으므로, 변수 srcp, zinfo, 카운터 CC의 값을 각각 1씩 늘리고(스텝 S211), 다시 스텝 S206으로 복귀하여, 다음의 화소에 대하여 마찬가지의 처리를 행한다. 이상의 처리를 1화면분의 모든 화소에 대하여 행한다.
또, 스텝 S201의 판정 결과가 NO로 되는 경우는 색 깊이가 24 비트인지 여부를 조사한다(도 10, 스텝 S215). 다음에, 도 9의 스텝 S205 및 S206와 마찬가지로, 카운터의 리셋(스텝 S216) 및 종료 판정(스텝 S217)을 행한다.
이어서 16 비트 데이터의 경우와 마찬가지로, R값, G값, B값을 각각 보정한다. 즉, 도 9의 스텝 S207 ~ S209 대신에, 도 10의 스텝 S218 ~ S220을 실행한다. 즉, 먼저, 변수 B에 있어서, 포인터*STC로 나타내는 영역에 저장되어 있는 24 비트 데이터에 11을 곱해 이것을 변수 B에 대입한다(스텝 S218). 다음에, 포인터*(src+1)에 의해 나타내는 영역에 저장되어 있는 24 비트 데이터에 59를 곱한 값을 변수 G에 대입한다(스텝 S219). 이어서, 포인터*(src+2)에 의해 나타내는 영역에 저장되어 있는 데이터에 30을 곱한 값을 변수 R에 대입한다(스텝 S220). 스텝 S221 및 S222를 포함하는 이후의 처리는 16 비트 데이터의 경우와 같다.
스텝 S215에서 판단 결과가 NO인 경우, CPU(11)는 색 깊이가 32 비트인 것으로 판단한다. 이 경우에는 변수 선언 Unsigned long *srcp를 수행하고(도 11, 스텝 S225), 처리 대상의 화소의 데이터 src를 unsigned long으로 형태 변환하고(스텝 S226), 변수 srcp에, 데이터 src의 어드레스를 대입한다(스텝 S227). 이어서, 16 비트 데이터의 경우와 마찬가지로, 카운터값의 리셋(스텝 S228) 및 종료 판정(스텝 S229를 행한다.
다음에, 스텝 S230 ~ S232에 있어서, R값, G값, B값을 보정한다. 즉, 먼저 포인터*srcp에 의해 나타내는 영역에 저장되어 있는 32 비트 데이터와 16 진수 00FF0000의 논리곱을 취하여, 이것을 16 비트 산술 우측 시프트하고, 그 결과에 30을 곱한다. 또한, 이것을 int로 형태 변환하고, 변수 R에 대입한다(스텝 S230). 이로써, 변수 R에는 8 비트의 R 데이터에 30을 곱한 값이 대입된다. 다음에, 데이터 32 비트 데이터와 16 진수 0000FFO0를 논리곱하고, 이것을 8 비트 산술 우측 시프트하고, 그 결과에 59를 곱한다. 또한, 이것을 int로 형태 변환하여 변수 G에 대입한다(스텝 S231). 이로써, 변수 G에는 8 비트의 G 데이터에 59를 곱한 값이 대입된다. 다음에, 포인터*srcp에 의해 지시받는 영역에 저장되어 있는 데이터 32 비트 데이터와 16 진수 000000FF과의 논리곱을 취하여, 이것에 11을 곱한다. 또한, 이 값을 int로 형태 변환하여 변수 B에 대입한다(스텝 S232). 이로써, 변수 B에는 8 비트의 B 데이터에 11을 곱한 값이 대입된다. 이후의 처리는 16 비트 및 24 비트의 경우와 같다.
<B-2. 역전 판정 처리>
다음에, 도 12 ~ 14를 참조하여 역전 판정 처리에 대하여 설명한다 (도 7, 스텝 S105).
본 처리에 있어서는 입체 화상으로부터 자연스러운 입체감을 얻을 수 있는 화상으로 하기 위하여, 스텝 S104에서 얻어진 Z값을 수정한다.
전술한 바와 같이, 입체 화상만을 작성할 때는 화소의 Z값에 따라 화소이동량을 결정하면 되는 것으로 말하는 것이 원칙이다. 예를 들면, 스텝 S104에서 얻어진 Z값에 정비례하도록 화소이동량을 결정하면 된다. 이같이 하면, Z값이 큰 피사체(즉 밝은 피사체)일수록 이용자로부터 보아 앞에 위치하고, Z값이 작은 피사체(즉 어두운 피사체)일수록 이용자로부터 보아 멀리 위치하게 된다. 따라서, 실제의 원화상에 있어서, 어두운 피사체가 멀리 위치하고, 밝은 피사체가 앞에 위치하는 경우에는 현실감이 있는 자연스러운 입체시가 실현된다.
그러나 원화상 속에는 밝은 배경(예를 들면 푸른 하늘)의 중앙에 어두운 피사체가 존재하는 경우, Z값이 큰 피사체일수록 이용자로부터 보아 멀리 위치하고, Z값이 작은 피사체일수록 이용자로부터 보아 앞에 위치하는 경우도 있다. 이와 같은 화상에 대하여 Z값에 비례하도록 화소이동량을 결정하면, 이용자가 지각하는 입체 화상은 피사체의 원근이 역전한 부자연스러운 것으로 된다.
그래서, 본 처리에 있어서는 원화상에 있어서의 Z값의 변화의 경향을 해석하고, 이것에 따라서, 화소이동량의 대소와 Z값의 대소와의 관계를 역전시켜야할 것인가의 여부를 판정하는 것이다. 구체적으로는 도 12에 나타낸 바와 같이, 원화상 데이터에 의해 표현되는 1화면을, 좌측 상코너, 중앙 상단, 우측 상코너, 중앙 좌측 구석, 중앙, 중앙 우측 구석, 좌측 하코너, 중앙 하단, 우측 하코너에 있는 세로 8 도트 x 가로 8 도트 사이즈의 각 영역(이하, "샘플링 영역"이라 한다) SS1 ~ SS9으로 분할한다. 그리고 이 샘플링 영역의 크기는 세로 8 도트 x 가로 도트에 한정되지 않고, 또 샘플링 영역의 수도 임의로 설정할 수 있다.
이들 샘플링 영역의 각각에는 가중 계수가 할당되어 있다. 구체적으로는 영역 SS1, SS2, SS3, SS4, SS5, SS6, SS7, SS8, SS9에는 각각 3, 4, 3, 2, 5, 2, 1, 2, 1의 가중 계수가 할당된다. 할당 방법은 이것에 한정되지 않지만, 화상 중의 피사체의 원근에 관한 일반적인 경향에 따라 결정된다. 여기서 일반적인 경향이란, 화상 중 상부 쪽이 하부보다 원경(예를 들면 하늘)인 경우가 많고, 또, 인물이나 꽃 등을 촬영한 화상의 경우는 화상의 중앙부에 피사체가 배치되는 경우가 많다는 것이다. 즉, 중앙의 샘플링 영역의 가중 계수가 가장 크게 되고, 위쪽의 샘플링 영역은 하방의 샘플링 영역보다도 큰 가중 계수가 할당된다.
이하, 도 13 및 14를 참조하여, 역전 판정 처리의 흐름을 구체적으로 설명한다. 먼저, CPU(11)는 화상 데이터에 있어서의 모든 화소의 Z값의 평균치 MZ를 산출한다(스텝 S301). 다음에, 변수 S1, S2, 및 카운터 CT의 값을 0에 초기설정한다(스텝 S302). 여기서, 변수 S1(S2)는 화면의 밝기의 평균치보다 어두운(밝은) 영역의 가중 계수를 나타내는 파라미터이며, 카운터 CT의 값은 처리가 행해진 샘플링 영역의 수를 나타낸다.
이어서, 카운터 CT의 값이 9보다 작은지 여부를 판정하고(스텝 S303), 모든 샘플링 영역 SS에 관해서 처리가 종료했는지 여부를 판정한다. 판정 결과가 YES인 경우는 당해 샘플링 영역의 평균 Z값이 평균치 MZ 이상인지 여부를 판정한다(스텝 S304).
스텝 S304의 판정 결과가 YES가 될 때는 변수 S1에, CT번째의 샘플링 영역의 가중 계수를 가산한다(스텝 S305). 또, 스텝 S304의 판정 결과가 NO가 될 때는 변수 S2에, CT번째의 영역의 가중 계수를 가산한다(스텝 S306). 다음에, 카운터 CT의 값을 1만큼 늘리고(스텝 S307), 스텝 S303으로 복귀하여, 다음의 샘플링 영역에 관해서 처리를 행한다.
이같이 하여 9개 샘플링 영역의 모두에 관해서 처리가 종료하면(스텝 S303, NO), 도 14의 스텝 S308로 진행되어, 변수 S1의 값이 변수 S2의 값보다 큰지를 조사한다. S1>S2인 경우는(스텝 S308, YES), Z값을 반전하는 것으로 결정한다(스텝 S309). S1>S2가 아닌 경우(스텝 S308, NO), 또한 S1<S2인가를 판정한다(스텝 S310). S1<S2인 경우(스텝S310, YES), Z값을 반전하지 않는 것으로 판정한다(스텝 S311). S1>S2이고 S1<S2, 즉 S1=S2인 경우는(스텝S310, NO), 중앙부의 샘플링 영역 SS5의 평균 Z값이, 평균치 MZ 이상인지 여부를 판정한다(스텝 S312). 스텝 S312의 판정 결과가 YES인 때는 Z값을 반전하지 않는 것으로 결정하고(스텝 S313), NO인 때는 Z값을 반전하는 것으로 결정한다(스텝 S314).
또, 이하의 판정 처리를 또한 행해도 된다. 즉, 9개의 샘플링 영역 SS1 ~ SS9 중, 샘플링 영역 내의 Z값의 평균치가 원화상 전체의 Z값의 평균치보다 큰 샘플링 영역을 특정하고, 특정한 1이상의 샘플링 영역의 가중치를 합계한다. 그리고 구해진 합계치가 예정된 임계치 이상인 경우, 원화상의 구도상에서 앞의 위치에 묘사되어 있는 부분보다 어둡고, 먼 위치에 묘사되어 있는 부분보다 밝은 경향에 있는 것으로 판단하고, 화소이동량의 대소와 Z값의 대소와의 관계를 반전시키는 것으로 판정한다. 이것에 대하여, 구해진 합계치가 예정된 임계치 미만인 경우, 즉 원화상의 구도상에서 앞의 위치에 묘사되어 있는 부분보다 밝고, 먼 위치에 묘사되어 있는 부분보다 어두운 경향에 있는 것으로 판단하고, 화소이동량의 대소와 Z값의 대소와의 관계를 반전시키지 않는 것으로 판정한다.
이어서, CPU(11)는 입체 화상 표시 애플리케이션에 있어서의 항목 M110의 설정이, F2 모드(볼록하게 보임)가 되어 있는지 여부를 판정한다(스텝 S315). F2 모드가 되어 있는 경우는 스텝 S309, S311, S313, S314에서 얻어진 판정 결과를 또한 반전한다(스텝 S316). F2 모드의 경우는 깊이와 Z값의 관계를 역전시킬 필요가 있기 때문이다. 이상으로, 역전 판정 처리가 종료한다. 그리고 본 처리에서 얻어진 역전의 유무의 판정 결과는 후술하는 처리(도 7, 스텝 S110)에 반영된다.
<B-3. 평활화 처리>
역전 판정 처리에 이어서, CPU(11)는 도 7의 스텝 S104에서 산출한 Z값을 평활화하기 위한 처리를 행한다(스텝 S106). 본 처리를 행하는 이유는 이하와 같다.
전술한 바와 같이, 입체 화상은 각 화소를 원래의 위치로부터 시차에 상당하는 양만 좌우로 이동함으로써 생성된다. 그리고 그 이동량은 Z값으로부터 구해진 다. 따라서, Z값의 변화가 격렬한 부분에서는 시차의 변화가 격렬하고, '화소 크로스 현상'이 발생하며 이것은 인접하는 화소가 각각 좌우 역의 방향으로 이동하는 것이다. 이와 같은 현상은 물체에 광이 맞아 하이라이트가 되어 있는 윤곽의 부분 등에 많이 발생한다. 그 결과, 생성된 입체 화상에는 윤곽이 희미해지고, 간섭 무늬 모양(interference fringe)이라는 혼란이 생긴다. 본 처리에서는 이와 같은 현상이 출현하지 않게 Z값을 보정하는 것이다.
구체적으로는 도 15에 나타낸 바와 같이, CPU(11)는 원화상에 포함되는 각 화소 Px마다, 그 화소 Px를 포함하는 특정의 영역(이하 매트릭스 영역이라고 한다) MM에 있어서의 Z값의 평균치를 산출하고, 이 구해진 평균치를 당해 화소 Px의 Z값으로서 갱신한다. 즉, 각 화소 Px의 Z값이, 당해 화소 Px를 좌측 상코너에 포함하는 세로 12 도트(My)와 가로 12 도트(Mx)의 매트릭스 영역 MM에 있어서의 합계 144 화소의 Z값의 평균치로 치환된다. 이 처리를 행함으로써, 원화상에 있어서의 근접 화소의 Z값의 변화는 스텝 S1O4에서 산출된 Z값보다 스무스한 것으로 된다.
그리고 매트릭스 영역 MM의 크기는 임의로 설정 가능하다. 매트릭스 영역 MM을 크게 하면, 평균치를 산출하는 대상으로 되는 화소수가 많아지기 때문에, 각 화소끼리의 Z값의 차는 작아지고, 따라서 이용자에 의해 지각되는 입체감은 작게 된다. 역으로, 매트릭스 영역을 작게 하면, 각 화소끼리의 Z값의 차는 크게 되어, 이용자에 의해 지각되는 입체감은 크게 된다.
이하, 도 16을 참조하여 본 처리의 흐름을 구체적으로 설명한다. 그리고, *outinfo는 평활화된 Z값을 저장하는 영역에의 포인터를 나타내는 것으로 한다.
먼저, 주목 화소의 세로 방향의 위치를 나타내는 카운터 CLN를 0에 세트한다(스텝 S401). 다음에, 카운터 CLN의 값이 세로 화소수 HT보다 작은지 여부를 판정한다(스텝 S402). 이 판정 결과가 NO는 1화면분의 처리가 종료된다고 판정하고, 이 처리를 종료한다.
스텝 S403에 있어서, 주목 화소 Px가 화면의 하단으로부터 12화소보다도 위에 있는지, 즉 HT-CLN의 값이 12 이상 인가를 판정한다. 이 판정 결과가 YES가 될 때는 매트릭스 영역 MM의 세로 방향의 사이즈를 나타내는 변수 MTh에 12를 대입한다(스텝 S404). 그렇지 않은 경우, 변수 MTh에 HT-CLN의 값을 대입한다(스텝 S405). 이같이 하여, 주목 화소가 화면의 하단 부근에 있는 경우의 매트릭스 영역의 사이즈를 조정한다.
다음에, 주목 화소의 가로 방향의 위치를 나타내는 카운터 CWD의 값을 0에 세트한다(스텝 S406). 다음에, 카운터 CWD의 값이 가로 폭 화소수 WD보다 작은지 여부를 판정한다(스텝 S407). 이 판정 결과가 YES인 경우, 주목 화소 Px가 화면의 우측 구석으로부터 12화소분보다 좌측에 있는지, 즉 WD-CWM의 값이 12 이상인지 여부를 판정한다(스텝 S408).
이 판정 결과가 YES인 경우에는 매트릭스 영역 MM의 세로의 사이즈를 나타내는 변수 MTw에 12를 대입한다(스텝 S409). 판단 결과가 NO인 경우는 변수 MTw에WD-CWD의 값을 대입한다(스텝 S410). 이같이 하여, 주목 화소가 화면의 우측 구석 부근에 있는 경우의 매트릭스 영역의 사이즈를 조정한다.
다음에, 그때의 카운터 CLN, CWD의 값으로 나타내는 주목 화소에 대하여, 사이즈가 MTh x MTw로 표현되는 매트릭스 영역 MM 내의 모든 화소의 Z값(zinfo)의 합계치 SM1을 산출한다(스텝 S411). 그리고 매트릭스 영역 MM의 Z값의 평균치인 SM1/(MTh*MTw)를 outinfo에 대입한다(스텝 S412).
이것으로 1화소분의 처리가 완료하였으므로, 다음에 카운터 CWD의 값을 1 늘리고(스텝 S413), 스텝 S407에 복귀하여, 주목 화소를 치환하여 마찬가지의 처리를 행한다. 또, 스텝 S407의 판정 결과가 NO가 될 때는 1행분의 화소에 대한 처리가 종료했으므로, 카운터 CLN의 값을 1 늘리고(스텝 S414), 스텝 S4O2로 복귀하여, 마찬가지의 처리를 반복한다. 이상과 같이 하여, 모든 화소에 대하여 본 처리를 행한다.
<B-4. 분포 보정 처리>
다음에, 분포 보정 처리(도 7, 스텝 S107)에 대하여 설명한다.
상기 평활화 처리를 거쳐 산출된 각 화소의 Z값은 화상 전체의 Z값의 평균에 의존하므로, 그만큼 분포가 편향되어 있는 경우가 있다. 이 예를 나타낸 것이 도 17의 윗 그림이다. 이 Z값을 그대로 사용하여 입체 화상을 작성하면, 자연스러운 입체감을 얻을 수 없는 것으로 되어 버린다. 그래서, Z값 분포를 도 17의 아래 그림과 같이 보정하는 것이 본 처리이다.
이하, 도 18 및 도 19를 참조하여 구체적으로 설명한다. 여기서, *z_image는 Z값을 저장한 영역을 나타낸 포인터, ave_z는 모든 화소의 평균의 Z값, max_z 및 min_z는 각각 Z값의 최대치, 최소치를 나타내고, *adjust_z_image는 보정 후의 Z값을 저장하는 영역을 나타낸 포인터이다.
먼저, max_z, min_z, ave_z를 각각 산출한다(스텝 S501). 이어서, 분포의 펼쳐져 변동을 나타내는 변수 max_span 및 변수 min_span에, 각각 max_z-ave_z의 값 및 min_z_avez의 값을 대입한다(스텝 S502).
다음에, 색 깊이가 16 비트인지 여부를 판정한다(스텝 S503). 16 비트인 경우는 계조도(gradation scale)를 나타내는 변수 max에 31을 대입한다(스텝 S504). 색 깊이가 24 비트 또는 32 비트의 경우(스텝 S503, NO), 변수 max에 255를 대입한다(스텝 S505).
이어서, 카운터 CLN를 0에 세트하고, 주목 화소에 있어서의 Z값의 수정분을 나타내는 포인터 변수 *pz_image에 z_image가 저장되는 어드레스를 저장한다(스텝 S506). 이어서, 카운터치 CLN이 세로폭 화소수 HT보다 작은지 여부를 조사한다(스텝 S507). 이 판정 결과가 NO인 경우, 모든 화소에 대하여 처리가 종료된다고 판정하고, 분포 보정 처리를 종료한다.
이 판정 결과가 YES인 경우, 카운터 CWD를 0에 세트하고(스텝 S508), 카운터 CWD의 값이 가로폭 화소수 WD보다 작은지 여부를 판정한다(스텝 S509). 이 판정 결과가 NO 때는 1행분의 화소의 처리가 종료된다고 판정하고, 카운터 CLN의 값을 1 늘리고(스텝 S510), 스텝 S507에 복귀하여, 다음 행의 화소의 처리를 행한다.
또, 스텝 S509의 판정 결과가 YES로 된 때에는 pz_image의 값이 ave_z보다 큰지를 판정한다(스텝 S511). pz_image>ave_z, 즉 Z값이 평균치보다 큰 경우는 Z값의 수정분을 나타내는 변수 z에, (z-ave_z)/max_span*(max-avez)의 값을 대입한다(스텝 S512).
스텝 S511의 판정 결과가 NO인 경우는 또한, *pz_image<ave_z인가의 여부를 판정한다(스텝 S513). 스텝 S513의 판정 결과가 YES가 될 때는 변수 z에, (z-ave_z)/(min-z-ave_z)*M1n_span의 값을 대입한다(스텝 S514). 스텝 S513의 판정 결과가 NO가 될 때, 즉, *pz_image의 값이 화소 평균치 ave_z에 동등할 때에는 변수 z에 O를 대입한다(스텝 S515).
이같이 하여, 변수 z를 산출하면, *adjust_z_image에, *pz_image+z의 값을 대입한다(스텝 S516). 이상에 의하여, 당해 화소에 대하여 보정 후의 Z값이 저장된다.
다음에, pz_image의 값, adjust_z_image의 값, CLN의 값을 각각 1 늘린 후(스텝 S517), 스텝 S509로 복귀하여, 주목 화소를 치환하여 마찬가지의 처리를 행한다. 이것을 반복하여, 모든 화소에 대하여 마찬가지의 처리를 행한다.
<B-5. 국소 보정 처리>
다음에, 국소 보정 처리(도 7, 스텝 S108)에 대하여 설명한다.
이상의 처리를 행하여 Z값을 보정해도, 아직 충분하지 않은 경우가 있다. 구체적으로는 하나의 피사체에 있어서의 Z값 분포에 불균일이 생기는 경우가 있다. 예를 들면, 본래, 구형의 물체 내에서는 Z값은 중심으로부터 방사상으로 완만하게 변화해야 하지만, 어떠한 원인으로, 어느 부분의 화소만 그 Z값이 극단적으로 큰(작은) 경우가 생길 수 있다. 또는 그 Z값의 분포에 불균일이 있는 경우도 있을 수 있다.
이와 같은 Z값을 사용하여 입체 화상을 작성하면, 당해 피사체의 깊이의 순서성이 불균일하게 되고, 하나의 물체로서 인식되어야할 피사체의 화상이 부자연스러운 것으로 되어 버린다. 그래서, 이 국소 보정 처리에 있어서는 1 이상의 피사체를 추출하여, 피사체마다 화소의 Z값을 보정하는 것이다.
이 처리의 개요를, 도 20 및 도 21을 참조하여 설명한다. 먼저, 스텝 S107까지의 처리로 얻어진 Z값의 범위(단계수)를 수정한다(도 21, 스텝 S700). 다음에, 수정 후의 Z값이 같은 화소에 의해 표현되는 Z값의 등고선(HL0 ~ HL5)을 구한다(스텝 S701). 다음에, 얻어진 등고선에 따라 피사체(도 20: OB1, OB2)를 특정한다(스텝 S702). 또한, 상기 피사체의 Z값에 관한 중심점 PPC의 Y 좌표를 구하고, PPC로부터 시작하는 수직선과 등고선과의 교점의 Y 좌표를 산출한다(스텝 S703).
그리고 이들 산출한 좌표를 사용하여 그 피사체에 관한 화소의 Z값을 구한다(스텝 S704, S705). 마지막으로, 인접하는 2개의 등고선으로 둘러싸인 영역(이후 등고면이라고 함)마다, 상기 영역 내의 화소의 Z값을 보정한다(스텝 S706). 단, 등고선이 한 개밖에 없는 경우는 상기 등고선의 내측의 영역이 등고면으로 된다. 이하, 각 처리에 대하여 상세하게 설명한다.
(a) 계조수 수정
전술한 바와 같이, 입체 화상에 있어서의 화소이동량의 최소의 단위는 하나의 화소이다. 즉, 하나의 화소보다 작은 양을 화소이동량으로서 설정할 수 없다. 따라서, Z값이 1만큼 증가하는 것으로 화소이동량을 그 최소단위인 화소 하나만 증가시켜도, Z값이 최대치인 255인 경우에는 화소이동량이 화소 256개분에 상당하는 크기로 된다. 그러나, 화소이동량이 너무나 커지면(예를 들면 화면 위에서 8mm 이상으로 되면) 입체 화상을 시인하는 이용자에게 눈의 피로가 오기 쉬워지고, 또한 이용자가 입체적으로 지각하기 어려워진다고 하는 문제가 생길 수 있다. 그러므로, CPU(11)는 스텝 S107까지의 처리로 얻어진 각 화소의 Z값을 몇 개의 단계의 이산치에 근사하기 위한 처리를 행한다.
구체적으로는 CPU(11)는 화소마다, 스텝 S107에 의해 얻어진 Z값을 둥근 계수 MK로 나누고, 이 제산 결과를 정수화(소수점 이하의 버림, 올림 또는 사사오입)한 수치에 대하여 같은 둥근 계수 MK를 곱셈한다. 이 결과, 각 화소의 Z값은 둥근 계수 MK의 정수배에 상당하는 수치에 근사된다.
즉, 둥근 계수 MK는 Z값이 근사되어야 할 각 이산치의 간격의 크기를 나타내는 수치라 할 수 있다. 본 실시예에 있어서는 이 둥근 계수 MK로서, Z값이 취할 수 있는 값의 최대치 255를, 사용자에게로부터 지정되는 피사체 깊이 0b로 제거한 값을 정수화한 수치가 이용된다. 이 피사체 깊이 0b는 근사에 의해 얻어진 Z값이 취할 수 있는 값의 단계수를 나타낸다. 예를 들면, MK=10이면, 취할 수 있는 Z값의 범위는 0, 1, 2, 3, ···25의 26 단계로 된다.
(b) 등고선 산출
다음에, 도 22 ~ 24를 참조하여, 등고선 산출 처리에 대하여 상세하게 설명한다. 여기서, *outline는 윤곽 추출 기초 데이터의 저장 영역을 나타낸 포인터, *cord는 Z값 벡터 저장용 영역을 나타낸 포인터이다. 또, cord는 Vinfo라는 구조체의 데이터이며, Vinfo라는 구조체는 Z값, npoint(정수치), 및 *point(좌표 데이터)라는 데이터 요소를 가진다.
먼저, CPU(11)는 정수 max에, 255를 둥근 계수 MK로 제산한 결과를 대입하고, 처리가 끝난 화소의 수를 나타내는 변수 Targetz에 0 을 대입한다(스텝 S710).
다음에, 변수 Target_z의 값이 소정의 정수 max보다 크게 되었는지 어떠했는지를 판정한다(스텝 S711). 판정 결과가 NO가 될 때는 이 처리를 종료한다. 판정 결과가 YES가 될 때는 카운터 CLN를 0에 세트하고(스텝 S712), 카운터 CLN의 값이 HT보다 작은지 여부를 판정한다(스텝 S713). 이 판정 결과가 NO인 경우는 Target_z의 값을 1 늘리고(스텝 S714), 스텝 S711로 복귀한다. 스텝 S713의 판정 결과가 YES가 되는 경우는 카운터 CWD에 0을 대입하고, 변수 P1에 -1을 대입하고, 변수 P2에 -1을 대입하고, 변수 fnd에 0을 대입한다(스텝 S715).
다음에, 카운터 CWD의 값이 WD보다 작은지 여부를 조사하여(스텝 S716), 스텝 S716의 판정 결과가 YES가 될 때는 *outline의 값이 Target_z의 값에 동등한가 여부를 판정한다(스텝 S717). 스텝 S717의 판정 결과가 YES로 되는 때에는 변수 P1의 값이 0 이상인지 여부를 조사하여(스텝 S718), 이 판정 결과가 NO인 경우는 변수 P1에 카운터 CWD의 값을 대입하고(스텝 S719), 카운터 CWD의 값을 1 늘리고(스텝 S720), 스텝 S716으로 복귀한다. 또, 스텝 S718의 판정 결과가 YES가 될 때는 스텝 S720으로 이행하고, 그 이후의 처리를 실행한다.
또, 스텝 S717의 판정 결과가 NO인 경우는 변수 P1의 값이 0 이상인지 여부를 판정한다(스텝 S721). 이 판정 결과가 YES인 경우는 변수 P2에 카운터 CWD의 값을 대입하고, 변수 fnd의 값을 1 늘리고(스텝 S722), 스텝 S720로 이행하고, 그 이후의 처리를 마찬가지로 실행한다. 또, 스텝 S721의 판정 결과가 NO인 경우는 스텝 S720로 이행하고, 그 이후의 처리를 마찬가지로 실행한다.
또, 스텝 S716의 판정 결과가 NO인 경우는 변수 fnd의 값이 0보다도 큰지 여부를 판정한다 (스텝 S723). 이 판정 결과가 NO인 경우는 카운터 CLN의 값을 1 늘리고(스텝 S724), 스텝 S713으로 복귀한다.
또, 스텝 S723의 판정 결과가 YES인 경우는 당해 화소 위치에 대하여, Z값이 변화하고 있는 근방의 화소를 탐색한다. 구체적으로는 도 23의 좌측에 나타낸 순서에 따라 탐색하여 간다. 즉, 먼저, 주목 화소 P1과 우측 상 위치에 있는 화소의 Z값을 비교한다(스텝 S730). 2개의 Z값이 같은 경우는(스텝 S730, NO), 화소 P1의 바로 위에 있는 화소의 Z값과 주목 화소의 Z값을 비교한다(스텝 S731). 이하 마찬가지로 하여, 주목 화소의 주위 6개의 화소에 대하여 비교 판정을 행한다(스텝 S732 ~ S735). 이 탐색 순서의 모식도를 도 23의 우측에 나타낸다.
주목 화소 P1의 Z값과 다른 Z값을 가지는 화소를 발견한 경우(스텝 S730, S731, S732, S733, S734, S735, YES)는 찾아낸 화소의 좌표가 이미 발견된 것인지의 여부를 조사하여, 근방의 화소를 모두 조사하였는지를 판정한다(스텝 S736). 이같이 하여, 1화소씩 Z값의 상이한 에지 부분을 검출하여 간다. 에지 부분을 모두 조사하였을 경우(스텝 S736, YES), 이 처리를 종료한다.
또, 스텝 S736의 판정 결과가 NO인 경우는 cord의 point의 x 및 y의 값에, 각각 발견한 화소의 X 좌표의 값, Y 좌표의 값을 저장한다(스텝 S737). 다음에, cord의 point의 값 및 npoint의 값을 각각 1 늘리고(스텝 S738 및 S739), 주목 화소 P1을 당해 발견한 화소의 위치로 이동하고(스텝 S740), 스텝 S730으로 복귀하여, 다음의 화소에 대하여 처리를 행한다. 이같이 하여 에지 부분을 순차적으로 검출하여 가면, 한 개의 등고선이 구해진다.
(c) 피사체 중심 특정
다음에, 도 25 ~ 27을 참조하여, 피사체 중심 특정 처리(도 21, 스텝 S702)를 설명한다. 본 처리에 있어서는 하나의 피사체에 관한 등고선 속에서 최내에 있는 것에 외접하는 직사각형의 정점의 좌표를 구하고, 당해 직사각형의 중심을 당해 피사체의 Z값의 중심으로 한다. 그리고 cent_cord는 최내의 직사각형을 저장하는 벡터 영역을 나타낸 포인터, center는 구하는 중심점의 좌표 데이터, *sidecord는 구하는 직사각형(다만 최내에서는 없다)을 저장하는 벡터 영역을 나타내는 포인터이다.
먼저, CPU(11)는 처리 대상으로 되는 등고선을 1개 선택한다(스텝 S750). 다음에, 이 등고선상의 화소의 X 좌표 및 Y 좌표의 최소치 및 최대치를 나타내는 변수 g_min_x, g_max_x, g_min_y, 및 g_max_y의 값을 초기설정한다(스텝 S751). 그리고 도 25에 있어서는 편의상, gminx의 초기치는 999999로서 도시되어 있지만, WD보다 크면 어떤 값으로도 된다. _min_y 대하여도 마찬가지이다. 또, cordp에 cord의 값을 대입한다(스텝 S752).
다음에, cordp의 npoint의 값이 O보다 큰지 여부를 판정한다(스텝 S753). 이 판정 결과가 NO인 경우는 모든 등고선에 대한 처리가 종료하였는지 여부를 판정한다(스텝 S754). 이 판정 결과가 NO인 경우, 스텝 S750에 복귀하여, 다음의 등고선에 대한 처리를 행한다. 또, 스텝 S754의 판정 결과가 YES인 경우, 처리를 종료한다.
스텝 S753의 판정 결과가 YES가 될 때는 변수의 초기설정을 행한다. 구체적으로는 카운터 CNT의 값을 0에 세트하고(스텝 S755), minx에 999999를 대입하고, max_x에 0을 대입하고, min_y에 999999를 대입하고, 'max_y에 0을 대입하고(스텝 S756), 변수 PNT에 corpd의 point의 값을 대입한다.
이어서, 카운터 CNT의 값이 cordp의 npoint보다 작은지, 즉, 한 개의 등고선에 관한 화소의 모두에 관한 처리가 완료했는지 여부를 판정한다(스텝 S757). 완료하고 있지 않은 경우(스텝 S757, YES), 변수 PNT의 x의 값이 min_x보다 작은지 여부를 판정한다(스텝 S758). 이 판정 결과가 YES인 경우, 수평 최소 위치를 p1에 대입한다. 즉, p1.x의 값에 PNT의 x의 값을 대입하고, p1.y의 값에 PNT의 y의 값을 대입하고, min_x의 값에 p1.x의 값을 대입한다(스텝 S759). 이 판정 결과가 NO인 경우는 스텝 S759는 실행하지 않는다.
이어서, PNT의 x의 값이 max_x보다 큰지 여부를 판정한다(스텝 S760). 이 판정 결과가 YES인 경우, 수평 최대 위치를 p2에 대입한다. 즉, p2.x의 값에 PNT의 x의 값을 대입하고, p2.y의 값에 PNT의 y의 값을 대입하고, max_x의 값에 p2.x의 값을 대입한다(스텝 S761). 이 판정 결과가 NO인 경우, 스텝 S761은 실행하지 않는다.
다음에, 변수 PNT의 y의 값이, min_y보다 작은지 여부를 판정한다(스텝 S762). 이 판정 결과가 YES인 경우는 수직 최소 위치를 p3에 대입한다. 즉, p3.x의 값에 PNT의 x의 값을 대입하고, p3.y의 값에 PNT의 y의 값을 대입하고, min_y의 값에 p3.y의 값을 대입한다(스텝 S763). 이 판정 결과가 NO인 경우는 스텝 S763은 실행하지 않는다.
이어서, 변수 PNT의 y의 값이 max_y보다 큰지 여부를 판정한다(스텝 S764). 이 판정 결과가 YES인 경우는 수직 최대 위치를 p4에 대입한다. 즉, p4.x의 값에 PNT의 x의 값을 대입하고, p4.y의 값에 PNT의 y의 값을 대입하고, max_y의 값에 p4.y의 값을 대입한다(스텝 S765). 이 판정 결과가 NO인 경우는 스텝 S765는 실행하지 않는다. 그리고 카운터 CNT의 값을 1 늘리고, PNT의 값을 1 늘리고(스텝 S766), 스텝 S757로 복귀한다.
외접 직사각형의 정점이 산출되면(스텝 S757, NO), p1.x의 값이 g_min_x의 값보다 작은지 여부, 즉 구해진 직사각형이 최내에 있는지 여부를 판정한다(스텝 S767). 직사각형이 최내에 있는 경우(스텝 S767, YES), cordp를 cent_cord에 저장하고(스텝 S768), g_min_x에 p1.x의 값을 대입한다(스텝 S769). 이어서, 결정된 최내의 직사각형의 정점인 (p1.x, p3.y)와 점(p2.x, p4.y)을 연결하는 선분과 점(p2.x, p3.y)과 점(p1.X, p4.y)을 연결하는 선분과의 교점을 구하고, 이 X 좌표와 Y 좌표의 값을, 각각 center.x 및 center.y에 저장한다(스텝 S770). 그리고 직사각형이 최내의 것이 아닌 경우(스텝 S767, NO), 스텝 S768 ~ S770을 실행하지 않는다.
다음에, p2.x가 g_max_x보다 큰지를 판정한다(스텝 S771). p2.x>g_max_x인 경우(스텝 S771, YES), crordp를 side_cord에 저장하고, g_m2ax_x에 p2.x를 대입한다(스텝 S772, S773). 그리고, p2.x>g_max_x가 아닌 경우(스텝 S771, NO), 스텝 S772 및 S773를 실행하지 않는다. 그리고, cordp의 값을 1 늘리고(스텝 S774), 스텝 S753으로 복귀하여, 다른 등고선에 대하여 마찬가지의 처리를 반복한다.
(d) 교점 산출
도 28을 참조하여 교점 산출 처리(도 21, 스텝 S703)에 대하여 상세하게 설명한다. 여기서, p[]는 교점의 좌표 데이터를 저장하는 배열이다.
먼저, 등고선을 1개 선택하고(스텝 S780), cordp에 cord를 대입하고, 변수 find를 0에 초기설정한다(스텝 S781). 이어서, corpd의 npoint의 값이 0보다도 큰지를 판정한다(스텝 S782). 이 판정 결과가 NO인 경우, 모든 등고선의 처리가 종료하였는지 여부를 판정한다(스텝 S783). 스텝 S783의 판정 결과가 NO인 경우는 스텝 S780에 복귀하여, 다음의 등고선에 대하여 처리를 실행한다. 또, 스텝 S783의 판정 결과가 YES인 경우는 이 교점 산출 처리를 종료한다.
스텝 S782의 판정 결과가 YES인 경우는 변수 PNT에 cordp의 point의 값을 대입하고, 카운터 CNT의 값을 0에 초기설정한다(스텝 S784). 다음에, 카운터 CNT의 값이, cordp의 npoint보다 작은지 여부를 판정한다(스텝 S785). 이 판정 결과가 YES가 될 때는 또한 PNT.x와 center.x 가 동등한가 여부를 판정한다(스텝 S786).
스텝 S786의 판정 결과가 YES인 경우는 또한, PNT.y가 center.y보다 큰지 여부를 판정한다(스텝 S787). 이 판정 결과가 YES인 경우는 중심점으로부터 수직에 내린 수직선과 등고선과의 교점이 구해진다. 즉, p[find]·x에 PNT.x의 값을 대입하고, p[find].y에 PNT.y의 값을 대입한다(스텝 S788).
이어서, find의 값을 1 늘리고(스텝 S789), 또, 데이터의 종단을 나타내기 위해, p[find].x와 p[find].y에 각각 -1을 대입한다(스텝 S790). 다음에, cordp의 값을 1 늘리고(스텝 S791), 스텝 S782로 복귀한다.
또, 스텝 S786 또는 S787의 판정 결과가 NO인 경우는 CNT의 값을 1 늘리고, PNT의 값을 1 늘리고(스텝 S792), 스텝 S785에 복귀하여, 마찬가지의 처리를 반복한다. 스텝 S785의 판정 결과가 NO가 될 때에는 스텝 S791로 진행된다.
(e) 면내 Z값 산출
도 29를 참조하여, 면내 Z값 산출 처리(도 21, 스텝 S704)를 상세하게 설명한다. 본 처리에 있어서는 산출된 피사체 중심 및 교점의 좌표를 사용하여, 등고면 내의 화소의 Z값을 새롭게 산출한다. 여기서, 정수 dist는 화면 상에 표시되는 화상을 카메라로 촬영했다고 가정한 경우에 있어서의, 카메라로부터 표시 화면까지의 거리, 정수 focus는 상기 카메라의 초점 거리, new_z[]는 본 처리로 산출되는 Z값을 저장하는 배열이다.
먼저, CPU(11)는 등고면을 1개 선택한 후(스텝 S795), 카운터 CNT의 값을 0에 초기설정한다(스텝 S796). 다음에, cent_h에 HT로부터 center.y를 감한 값을 대입하고, 피사체의 깊이를 나타내는 object_h에, (dist/focus*cent_h)의 값을 대입한다(스텝 S797).
이어서, p[CNT].x의 값이 0 이상인지 여부를 판정한다(스텝 S798). 이 판정 결과가 YES인 경우는 new_z[CNT]에, (object_h*focus/(p[CNT].y-center.y)-dist)의 값을 대입한다(스텝 S799). 즉, 임의의 등고면 내의 화소의 Z값을, 피사체의 Z값의 중심점으로부터 상기 화소까지의 거리의 y성분에 비례하도록 보정하는 것이다.
그리고, 카운터 CNT의 값을 1 늘리고(스텝 S800), 스텝 S798에 복귀하여, 마찬가지의 처리를 행한다. 스텝 S798의 판정 결과가 NO가 될 때는 모든 등고면에 대하여 처리가 종료하였는지 여부를 조사하여(스텝 S801), 스텝 S801의 판정 결과가 NO가 될 때는 스텝 S795로 복귀하여, 다른 등고면에 대하여 처리를 행한다. 또, 스텝 S801의 판정 결과가 YES가 될 때는 이 처리를 종료한다.
(f) 면내 수정치 산출
본 처리에 있어서는 도 21에 나타낸 스텝 S704에서 산출된 Z값을 사용하여, 등고면 내에 있는 화소의 Z값의 수정치를 산출한다. 이하, 도 30을 사용하여 본 처리를 상세하게 설명한다. 그리고 adjust_outline[]는 보정 후의 Z값과 원래의 Z값과의 차분을 저장하는 배열이다.
먼저, 산출한 교점을 1개 선택하고(스텝 S805), 카운터 CNT의 값에 1을 대입한다(스텝 S806). 다음에, p[CNT].x의 값이 0 이상인지 여부를 판정한다(스텝 S807). 이 판정 결과가 NO인 경우는 1개의 교점에 대한 처리가 종료된다고 판정하고, 또한, 모든 교점에 대한 처리를 종료하였는지 여부를 판정한다(스텝 S808). 스텝 S808의 판정 결과가 NO가 될 때는 스텝 S805에 복귀하여, 다른 교점에 대한 처리를 행한다. 또, 스텝 S808의 판정 결과가 YES인 경우는 본 처리를 종료한다.
스텝 S807의 판정 결과가 YES인 경우는 변수 oz1에 (P[CNT-1].x, p[CNT-1].y-1)의 좌표의 Z값을 대입하고(스텝 S809), 변수 oz2에 (p[CNT].X, P[CNT]·y-1)의 좌표의 Z값을 대입한다(스텝 S810). 다음에, 변수 sub1에 (oz2-oz1)의 값을 대입하고(스텝 S811), 변수 sub2에 보정 후의 Z값의 증분인 (new_z[CNT]-new_z[CNT-1])의 값을 대입한다(스텝 S812).
다음에, sub1과 sub2의 부호가 동일인지 여부를 판정한다(스텝 S813). 부호가 동일인 경우(스텝 S813, YES), adjustoutline[CNT]에 0을 대입한다(스텝 S814). 부호가 다른 경우(스텝 S813, NO), adjust_outline[CNT]에 (sub2-sub1)의 값을 대입한다(스텝 S815). 다음에, 카운터 CNT의 값을 1 늘리고(스텝 S816), 스텝 S807에 돌아온다.
(g) 피사체내 Z값 보정
이 Z값 보정 처리에서는 스텝 S705에서 산출된 면내 수정 Z값을 사용하여, 피사체 내에 있는 화소의 Z값을 보정한다. 이하, 도 31을 참조하여, 피사체내 Z값 보정 처리(도 7, 스텝 S109)를 상세하게 설명한다. 그리고, *adjustz_image는 수정 Z값을 저장하는 영역을 나타낸 포인터이다.
먼저, 카운터 CLN에 0을 대입하고(스텝 S901), 다음에 CLN의 값이 HT보다 작은지 여부를 판정한다(스텝 S902). 이 판정 결과가 NO인 경우는 본 처리를 종료한다. 이 판정 결과가 YES인 경우는 카운터 CWD에 0을 대입하고(스텝 S903), 이어서, CWD가 WD보다 작은지 여부를 판정한다(스텝 S904). 스텝 S904의 판정 결과가 YES인 경우는 그때의 주목 화소에 대응하는 adjust_z_image를 취득하고(스텝 S905), z_image를, z_image와 adjust_z_image를 가산한 값으로 갱신한다(스텝 S906). 이상으로 1화소분의 처리를 종료한다.
이어서, CLN의 값을 1 늘리고(스텝 S907), 스텝 S904에 복귀하여, 다음의 화소에 대하여 마찬가지의 처리를 행한다. 스텝 S904의 판정 결과가 NO인 경우는 CWD의 값을 1 늘리고(스텝 S908), 스텝 S902에 복귀하여, 다음 행에 관한 화소에 대하여 처리를 행한다. 이상의 처리를 반복하여, 모든 화소에 대하여 Z값을 보정한다.
<B-6. 화소 이동 처리>
본 처리에 있어서는 이상의 처리에 의해 산출된 Z값, 및 사용자가 지정한 파라미터에 따라 시차값(화소이동량)를 결정하고, 이 이동량에 따라 화소를 좌우로 이동시킨다. 도 32에, 화상 이동 처리(도 7, 스텝 S110)의 개요를 나타낸다. 여기서, *image3d는 입체 화상 데이터를 저장하는 영역을 나타낸 포인터이다.
먼저, 카운터 CLN를 0에 세트하고(스텝 S1001), CLN가 HT보다 작은지 여부를 판정한다(스텝 S1002). 이 판정 결과가 NO인 경우는 본 처리를 종료한다. 이 판정 결과가 YES인 경우는 카운터 CWD를 0에 초기설정한다(스텝 S1003).
다음에 CWD가 WD보다도 작은지를 판정한다(스텝 S1004). 이 판정 결과가 YES인 경우는 이 때의 outinfo에 대응한 Z값의 범위를 보정한다(스텝 S1005). 이하, 이에 따라 얻어진 Z값을 ZZ이라 한다. 도 33을 참조하여 이 ZZ 산출 처리를 구체적으로 설명한다.
먼저, 둥근 계수 MK를 이용하여 Z값에 유용한 범위를 수정한다(스텝 S1020 및 S1021). 도 7에 도시된 스텝 S700에서 설명된 처리와 마찬가지이다. 이하에서는, 스텝 S1020 및 스텝 S1021을 수행해서 얻어진 Z값을 ZZ으로 한다.
다음에, ZZ의 값이 상한치보다도 큰지를 판정한다(스텝 S1022). 이 상한치는 사용자에 의해 전술한 설정 다이얼로그 패널의 입력창 IB3에 입력된 것이다. ZZ값이 상한치를 초과하는 경우에는(스텝 S1022, YES), ZZ을 당해 상한치로 치환한다(스텝 S1023). 마찬가지로, ZZ의 값이 하한치보다도 작은지를 판정한다(스텝 S1024). 이 하한치는 사용자에 의해 전술한 다이얼로그 패널의 입력창 IB4에 입력된 값이다. ZZ값이 하한치를 하회하는 경우에는(스텝 S1024, YES), ZZ을 당해 하한치로 치환한다.
이와 같이 해서, 상한기준치와 하한기준치의 처리에서 특정의 값을 초과하는 Z값을 일정범위 내로 들어오도록 수정한다. 이 처리는, Z값이 높은 화소 및 Z값이 낮은 호소의 수는 화상 데이터 전체의 화소수에 비해 매우 적은 수라는 사실을 이용한 것이다. 이와 같이, 화소 크로스 현상이 발생하지 않는 범위에서 Z값에 유용한 범위 수정함으로써, 생성되는 입체시 화상의 질을 효과적으로 높일 수 있다.
다시 도 32를 참조하면, 계속해서 얻어진 ZZ값을 이용하여 시차값 SS를 산출한다. 이 처리를 도 34를 이용하여 구체적으로 설명한다. 먼저, 스텝 S105의 역정 판정 처리에서, Z값을 반전시키는 결정이 이루어졌는지를 판정한다(스텝 S1030). 반전의 판정이 이루어진 경우(스텝 S1030, YES), ZZ에 256-ZZ의 값을 대입한다(스텝 S1031).
다음에, ZZ에 인터페이스 깊이를 가산하여, 그 판정 결과를 시차값 SS에 대입하여(스텝 S1032) 이 처리를 종료한다. 이 인터페이스 깊이는 전술한 설정 다이얼로그 패널의 입력창 IB1에 입력된 값이다.
그리고, 반전하지 않는 취지의 결정이 이루어진 경우(스텝 S1030, NO), 그대로 스텝 S1032로 처리를 이행한다.
다시 도 32를 참조하면, 이같이 하여 시차값 SS가 산출되면, 다음에 카운터 CLN의 값이 짝수인지 홀수인지를 판정한다(스텝 S1007). 짝수인 경우(스텝 S1007, YES), 화소이동치 MV에 CN+SS의 값을 대입하고(스텝 S1008), 홀수인 경우는 MV에 CN-SS의 값을 대입한다(스텝 S1009). 이같이 하여, 오른쪽 눈과 왼쪽 눈으로 반대 방향으로 화소를 이동시킨다. 마지막으로, 원화상 데이터의 src+MV의 위치의 화소 데이터를 image3d에 저장한다(스텝 S1010). 이상으로 1화소분의 처리가 종료되었다.
다음에, image3d의 값을 1 늘리고, outinfo의 값을 1 늘리고, 카운터 CWD의 값을 1 늘리고(스텝 S1011), 스텝 S1004로 복귀하여, 다음의 화소에 대하여 마찬가지의 처리를 행한다. 이것을 반복하여, 1행분의 화소에 대하여 처리를 행한다. 1행분의 화소의 처리가 종료하면(스텝 S1O04, NO), src를 다음의 행 선두로 진행시키고(스텝 S1012), CLN의 값을 1 늘리고(스텝 S1013), 스텝 S1002에 복귀하여, 마찬가지의 처리를 반복한다. 이것을 반복하여, 모든 행에 관해서 처리가 종료하면(스텝 S1002, NO), 본 처리가 완료된다.
이같이, 1물체로서 인식되어야할 피사체마다 Z값의 보정을 하기 때문에, 피 피사체 내의 깊이의 순서성이 담보되어 생성되는 입체 화상은 더욱 현실감이 있는 것으로 된다.
이상 나타낸 바와 같이, 본 실시예에 있어서는 Z값에 전술한 보정을 함으로써, 질 높은 입체 화상을 생성할 수 있다. 또, 입체 화상의 생성에 있어서는 사용자가 설정 다이얼로그 패널로 입력한 입력값이 이용되므로, 사용자의 기호에 따른 입체 화상을 생성할 수 있다.
그리고, 본 실시예에 있어서는 도 7에 나타낸 스텝 S103로부터 S109까지의 보정 처리를 연속하여 실행했지만, 반드시 모두를 실행할 필요는 없다. 적절하게, 바람직한 보정 처리를 조합시켜 실행하는 것이 가능하다.
<C. 변형예>
< 1. 강조 처리>
그런데 도 20에 나타낸 바와 같은 화면 GG에 포함되는 복수개의 피사체 중, 특정의 것만의 입체감을 의도적으로 강조하도록 한 효과를 입체 화상에게 주는 것이 가능하다. 예를 들면, 동영상에 있어서, 어느 물체가 깊이 방향의 움직임에 특징이 있는 것 같은 경우, 이와 같은 효과를 주는 것은 유용하다. 이것을 모식적으로 나타낸 것이 도 35이다. 이것을 실현시키기 위해서는 동 도면에 나타낸 바와 같이, 피사체 OBa에 포함되는 모든 등고면의 Z값에 소정값을 가산된다.
도 36은 이 경우에, 3D 화상 표시 모드가 선택된 경우에 행해지는 처리의 일례를 나타내고 있다. 화상 이동 처리(스텝 S1111)의 직전에 강조 처리(스텝 S1110)가 추가되어 있는 점이다. 스텝 S1101 ~ S1109 및 S1111의 처리는 제1 실시예와 같으므로, 그 설명을 생략한다.
이하, 도 37을 참조하여, 강조 처리(스텝 S1110)을 설명한다. 여기서, offset_z는 피사체를 강조시키는 정도를 나타내는 양이다. 먼저, 스텝 S1120 ~ S1122에 있어서 종료 판정을 행한다. 즉, 카운터 CLN의 값을 0으로 설정하고(스텝 S1120), CLN이 HT보다 작은지 여부를 판정한다(스텝 S1121). 이 판정 결과가 NO인 경우는 본 강조 처리를 종료한다. 이 판정 결과가 YES인 경우는 CLN의 값을 0으로 설정한다(스텝 S1122).
다음에, 카운터 CWD가 WD보다 작은지 여부를 판정한다(스텝 S1123). 이 판정 결과가 YES인 경우는 좌표(CWD, CLN)로부터 화상 외관까지의 반직선을 그어(스텝 S1124), 이 반직선과 등고선과의 교점의 수를 구한다(스텝 S1125).
그리고 구해진 교점수가 짝수인지 홀수인지를 판정한다(스텝 S1126). 홀수인 경우(스텝 S1126, YES), 좌표(CWD, CLN)는 당해 주위둘레 직사각형의 내부에 위치하는 것으로 판정한다(스텝 S1127). 이어서, pz_image에 z_image+CLN*WD+CWD를 대입하고(스텝 S1128), *pz_image에 *pz_Image+offset_z의 값을 대입한다(스텝 S1129). 홀수인 경우(스텝 S1126, NO), 스텝 S1127 ~ S1129를 실행하지 않는다. 이상으로 1화소에 대하여 처리가 종료된다.
이어서, CWD의 값을 1 늘리고, 스텝 S1123에 복귀하여, 다음의 화소에 대하여 마찬가지의 처리를 행한다. 이것을 반복하여, 모든 화소에 대하여 처리를 종료되면, 강조 처리가 완료된다.
<2. 표시 방식>
전술한 실시예에서는 입체 화상의 표시 방식으로서, 표시부(21)의 표시 화면의 짝수 라인에 왼쪽 눈 화상을 표시하는 동시에 홀수 라인에 오른쪽 눈 화상을 표시하도록 한 이른바 Odd-even 방식의 것을 채용하고 있다. 그러나 본 발명은 이것에 한정되지 않고, 예를 들면, 표시부(21)의 표시 화면의 짝수 라인에 오른쪽 눈 화상을 표시하는 동시에 홀수 라인에 왼쪽 눈 화상을 표시하도록 한 Odd-even 방식의 것에도 적용할 수 있다.
또는 도 38에 나타낸 바와 같이, 왼쪽 눈을 위한 화상 데이터의 짝수 라인을 추출하여 프레임 버퍼의 상 화상 부분에 저장하는 동시에, 오른쪽 눈을 위한 화상 데이터의 홀수 라인을 추출하여 프레임 버퍼의 하 화상 부분에 저장하는 상하 방식에도 적용할 수 있다. 이 표시 방식은 입체시 프로젝터 등에 채용되고 있는 것이다. 역으로, 오른쪽 눈을 위한 화상 데이터의 짝수 라인을 프레임 버퍼의 상 화상 부분에, 왼쪽 눈을 위한 화상 데이터의 홀수 라인을 프레임 버퍼의 하 화상 부분에 저장하는 방식에도 적용가능하다.
또, 도 39에 나타낸 바와 같이, 왼쪽 눈을 위한 화상 데이터의 짝수 번째의 화소를 추출하여 프레임 버퍼의 좌측 화상 부분에 저장하는 동시에, 오른쪽 눈을 위한 화상 데이터의 홀수 번째의 화소를 추출하여 프레임 버퍼의 우측 화상 부분에 저장하는 좌우 방식에도 적용할 수 있다. 이 표시 방식은 육안의 시력 입체시용 CRT 등에 채용되고 있는 것이다. 역으로, 오른쪽 눈을 위한 화상 데이터의 짝수 번째의 화소를 프레임 버퍼의 좌측 화상 부분에, 왼쪽 눈을 위한 화상 데이터를 홀수 번째의 화소를 프레임 버퍼의 우측 화상 부분에 저장하는 방식에도 적용가능하다.
또, 도 40에 나타낸 바와 같이, 왼쪽 눈을 위한 화상 데이터를 짝수 번째의 프레임 버퍼에 저장하는 동시에, 오른쪽 눈을 위한 화상 데이터의 홀수 번째의 프레임 버퍼에 저장하는 2프레임 방식에도 적용할 수 있다. 이 표시 방식은 입체시 프로젝터 등에 채용되고 있는 것이다. 역으로, 오른쪽 눈을 위한 화상 데이터를 짝수 번째 프레임의 프레임 버퍼에, 왼쪽 눈을 위한 화상 데이터의 홀수 번째의 프레임 버퍼에 저장하는 방식에도 적용할 수 있다.
또, 도 41에 나타낸 바와 같이, 왼쪽 눈을 위한 화상 데이터와 오른쪽 눈을 위한 화상 데이터 파일과 각각 별개의 파일에 저장하는 Odd-even 파일 분리 방식에도 적용할 수 있다. 이 표시 방식은 입체시 프로젝터 등에 채용되고 있는 것이다.
<3. 데이터 저장 영역>
오른쪽 눈을 위한 화상과 왼쪽 눈을 위한 화상을 개별 영역에 저장하는 것도 가능하다. 이 경우는 화소 이동 처리(도 7, 스텝 S110)를 도 42에 나타낸 바와 같이 행하면 된다. 도 32를 사용하여 설명한 제1 실시예에 관한 화소 이동 처리와, 본 변형예의 화소 이동 처리와의 차이는 도 32의 스텝 S1007 ~ S1011로 바꾸어, 도 42의 스텝 S1057 ~ 1060을 행하는 점이다. 즉, 왼쪽 눈을 위한 화상 데이터와 오른쪽 눈을 위한 화상 데이터를, 각각 Limage3d와 Rimage3d로 나타내는 왼쪽 눈을 위한 화상 데이터 영역과 오른쪽 눈을 위한 화상 데이터 영역에 저장하고 있는 점이 상이하다.
구체적으로는 스텝 S1056에 있어서 시차값 SS가 산출되면, MV1에 CN+SS의 값을 대입하는 동시에 MV2에 CN-SS의 값을 대입한다(스텝 S1057). 이어서, 원화상 데이터의 src+MV1의 위치의 화소의 데이터를 Limage3d에 저장하고(스텝 S1058), 원화상 데이터의 src+MV2의 위치의 화소의 데이터를 Rimage3d에 저장한다(스텝 S1059). 다음에, Limage3d의 값을 1 늘리고, Rimage3d의 값을 1 늘리고, outinfo의 값을 1 늘리고, CWD의 값을 1 늘리고(스텝 S1060), 스텝 S1054에 복귀하여 마찬가지의 처리를 반복한다.
<4. 데이터 종류>
그런데, 전술한 실시예에서는 처리 대상으로 하는 화상 데이터를, 2D 컬러 화상 데이터로 하고 있지만, 본 발명은 흑백 영화의 동영상 데이터와 같은 2D 흑백다계조 화상 데이터 대하여도 마찬가지로 적용할 수 있다. 또, 상기 실시예에서는 가공되는 원화상 데이터는 동영상 데이터의 1프레임분의 데이터로 하고 있지만, 정지화상 데이터라도 양호한 것은 말할 필요도 없다.
<5. Z값 산출>
상기 실시예에 있어서는 원화상의 R값, G값, B값에 각각 0.59, 0.3, 0.11 정도의 계수를 곱한 것을 Z값으로 하고 있었지만, 계수의 조합은 이것에 한정되지 않는다. 각 사용자가 느끼는 입체감이 가장 자연스럽게 되도록, 또는 각 사용자의 기호에 맞추어, 당해 계수를 적당 변경할 수 있다. 또, 화상의 색표현으로서, RGB 표현이 아닌 휘도, 채도, 색상에 근거한 표현도 사용해도 된다. 또는 ARGB 표현(여기서 A는 알파색 성분을 나타낸다) 등을 사용해도 되는 것은 말할 필요도 없다.
<6. 피사체 특정>
상기 실시예에 있어서는 Z값의 등고선을 산출하고, 이것에 따라서 피사체를 특정하고, 당해 피사체에 대응하는 화소의 Z값을 보정하고 있었다. 그러나, 피사체를 특정하는 방법은 이것에 한정되지 않는다. 예를 들면, 휘도, 채도, 또는 색상 정보로부터 윤곽을 검출하고, 상기 에지에서 둘러싸인 영역을 1물체인 것으로 판정해도 된다.
<제2 실시예>
<A. 장치의 구성>
이하, 본 발명의 제2 실시예에 대하여 설명한다. 그리고 제1 실시예와 마찬가지의 구성 요소에는 마찬가지의 참조 부호를 부여하고 있다. 제2 실시예가 제1 실시예와 다른 것은 입체 화상 형성 장치(1) 대신 휴대 단말기(1A)를 사용하는 점이다. 도 43에 휴대 단말기(1A)의 기능 구성도를, 도 44에 그 외관도를 나타낸다. 도 44에 나타낸 바와 같이, 휴대 단말기(1A)는 예를 들면 휴대 전화기이다. 이하, 제1 실시예와의 차이에 주목하여, 본 실시예를 설명한다.
도 43에 있어서, 무선 통신 유닛(27)은 안테나 AT를 포함하고, 이 휴대 단말기 장치를 이동체 통신망에 접속하고, 동영상 데이터를 포함하는 각종 데이터의 송수신을 행한다. 통화 유닛(28)은 스피커 유닛 및 마이크 유닛을 포함하고, 음성 통신을 행한다. 표시부(21a)는 비입체시 모드의 화상 표시 기능과 입체시 모드의 화상 표시 기능을 구비한 것이며, 육안의 입체시가 가능한 표시 패널을 구비하고 있다. 또, 표시 제어부(22a)는 표시부(21a)의 표시 내용을 제어하기 위한 것이다. 입력 조작부(30)는 텐 키 패드나 커서 키 등의 입력 디바이스이며, 이것을 사용하여 사용자는 휴대 단말기(1A)에 대하여 지시 등을 입력한다.
여기서, 도 45 및 도 46을 사용하여, 육안의 입체시의 원리를 간단하게 설명한다. 도 45에 나타낸 바와 같이, 표시부(21a)는 백라이트(211), 액정 패널(212), 및 패럴랙스 액정 패널(213)을 구비하고 있다. 패럴랙스 액정 패널(213)은 일정 간격으로 세로 방향에 슬릿(214)이 형성되어 있다. 이 상태에서, 액정 패널에 왼쪽 눈을 위한 화상 L1 ~ L5, 오른쪽 눈을 위한 화상 R1 ~ R5가, 슬릿 간격과 같은 간격으로 스트라이프 형상으로 표시되고, 또한 관찰자가 화면으로부터 소정의 거리만큼 떨어졌다고 하면, 왼쪽 눈을 위한 화상 L1 ~ L5는 왼쪽 눈에만, 오른쪽 눈을 위한 화상 R1 ~ R5는 오른쪽 눈에만 도달한다. 따라서, 왼쪽 눈을 위한 화상 L1 ~ L5와 오른쪽 눈을 위한 화상 R1 ~ R5를 일정한 시차를 가지도록 작성, 육안의 입체시가 실현되는 구조이다.
도 44로 복귀하여, 휴대 단말기(1A) 상자체의 하부에는 전화번호 등을 입력하기 위한 숫자 패드 TK가 설치되어 있고, 그 위쪽에는 기능 키 FK 및 표시 모드를 비입체시 모드(2D 모드)와 입체시 모드(3D 모드)로 전환하기 위한 전환 스위치 DK가 형성되어 있다. 그 상부에는 액정부(21a)의 표시 화면이 설치되어 있고, 또한 그 상부에는 안테나 AT가 설치된다. 또, 통화 유닛(28)의 스피커 유닛을 위한 구멍 부분(28a)과, 마이크 유닛을 위한 구멍 부분(28b)이 각각 적당한 장소에 형성되어 있다.
<2. 동작>
도 47은 휴대 단말기(1A)에 있어서, 휴대 단말기(1A)에 저장되고 정지 화상을 표시하는 경우의 처리의 일례를 나타내고 있다. 먼저, 휴대 단말기(1A)에 전원이 투입된 후, 사용자가 소정의 조작을 행하여 화상을 선택하면(스텝 S2001), CPU(11)는 표시 모드를 비입체시 모드(2D 모드)로 설정한다(스텝 S2000). 다음에, CPU(11)는 당해 화상의 데이터를 표시 제어부(22a)에 출력한다(스텝 S2002). 이로써, 이동체 통신 단말기 장치의 사용자는 통상의 정지화상을 볼 수가 있다.
사용자가 당해 화상 표시의 중지를 지시하면(스텝 S2003, NO, 및 스텝 S2004, YES), CPU(11)는 당해 화상의 표시를 중지한다(스텝 S2005).
전환 스위치 DK가 조작되는 경우(스텝 S2003, YES), CPU(11)는 표시 모드를 3D 화상 표시 모드에 세트하고(스텝 S2006), 입체 화상 표시 데이터 작성 처리를 행한다(스텝 S2007). CPU(11)는 작성된 데이터를 표시 제어부(22a)에 출력한다(스텝 S2008). 이로써, 사용자는 입체 화상을 볼 수가 있다. 그리고, 입체 화상 데이터의 작성 방법은 제1 실시예에서 사용한 방법과 마찬가지이므로, 그 설명은 생략한다.
사용자가 표시의 종료를 지시하면(스텝 S2009, NO 및 스텝 S2110, YES), 당해 화상의 표시를 종료한다(스텝 S2111). 사용자가 다시 전환 스위치 DK를 조작하면(스텝 S2009, YES), 스텝 S2001에 복귀하여, 휴대 단말기(1A)를 비입체시 모드(2D 모드)로 설정한다.
<B. 동영상 표시>
도 48은 휴대 단말기(1A)에 있어서, 이동 통신망을 통하여 동영상을 다운로드하여 표시하는 경우의 처리의 일례를 나타내고 있다.
먼저, 휴대 단말기(1A)의 전원이 투입되면, CPU(11)는 표시 모드를 비입체시 모드(2D 모드)로 설정한다(스텝 S3001). 사용자가 소정의 조작을 행하면, 복수개의 프레임의 화상 데이터로 구성된 동영상 데이터를 수신한다(스텝 S3002). 그러면, CPU(11)는 수신한 동영상 데이터를 RAM(13)에 저장하고, 당해 데이터의 선두의 1프레임의 화상 데이터를 표시 제어부(22a)에 출력한다(스텝 S3203). 이어서, CPU(11)는 수신한 동영상 데이터에 후속 프레임이 있는지 여부를 판정한다(스텝 S3004). 후속 프레임이 없는 경우(스텝 S3004, NO), 또는 후속 프레임은 있지만 사용자로부터 표시 종료의 지시가 있었을 경우(스텝 S3007, YES), 당해 표시를 종료한다(스텝 S3005). 후속 프레임이 있는 경우(스텝 S3004, YES), RAM(13)으로부터 당해 프레임의 화상 데이터를 판독하여, 표시 제어부(22a)에 출력한다.
이같이, 사용자가 전환 스위치 DK의 조작, 또는 화상 표시의 종료의 지정 중 어느 하나를 행할 때까지, 1프레임씩 화상을 판독만 하고, 그것을 표시부에 출력하여 간다(스텝 S3006, NO 및 S3007, NO). 사용자가 화상 표시의 종료를 지정하면(스텝 S3006, NO 및 스텝 S3007, YES), 화상 표시를 종료한다(스텝 S3005). 이상에 의하여, 초기 상태에서는 이동체 통신 단말기 장치의 사용자는 비입체시 모드의 동영상을 볼 수가 있다.
사용자가 전환 스위치 DK를 조작하면(스텝 S3006, YES), CPU(11)는 표시 모드를 3D 화상 표시 모드로 설정한다(스텝 S3008). 다음에, 당해 프레임의 다음의 프레임에 관한 화상 데이터를 RAM(13)으로부터 판독한다(스텝 S3009). 판독한 화상 데이터에 대하여 전술한 3D 화상 표시 데이터 작성 처리를 실시하고(스텝 S3010), 표시 제어부(22a)에 출력한다(스텝 S3011). 이로써, 사용자는 입체시용의 동영상을 볼 수가 있다.
후속의 프레임이 존재하지 않거나(스텝 S3012, NO), 사용자가 전환 조작을 행하거나(스텝 S3013, YES), 사용자가 표시 종료를 지시하는 것(스텝 S3014, YES) 중 어느 하나의 경우에 해당할 때까지, 입체시용 동영상을 1프레임씩 순차적으로 계속 표시한다.
사용자가 전환 스위치 DK를 조작하면(스텝 S3013, YES), 스텝 S3001에 복귀하고, CPU(11)는 표시 모드를 비입체시 모드(2D 모드)에 설정하여, 다음 프레임의 표시 제어부(22a)에 출력한다.
이같이 본 실시예에 의하면, 사용자가 전환 스위치 DK를 조작할 때마다, 표시부(21a)에 표시되는 화상(정지화상 또는 동영상)이, 통상의 화상과 입체 화상간에 리얼 타임으로 바뀐다. 이로써, 사용자는 통상의 화상과 입체 화상을 적당 전환하여 감상할 수 있기 때문에 입체 화상의 즐기는 방법이 넓어진다. 예를 들면, 통상은 비입체시 모드로 동영상을 감상하고, 기호의 원하는 장면이 시작되면 입체시 모드로 전환하여 감상하는 것이 가능하게 된다.
그리고, 본 실시예에 있어서는 동영상 데이터를 일괄하여 다운로드한 후 재생하는 것을 가정하고 있지만, 동영상의 수신 및 재생 방법은 이것에 한정되지 않는다. 예를 들면, 전체 동영상 데이터의 내부 일부를 순서대로 수신하면서부터 재생하여 가는 이른바 스트리밍 분배·재생이어도 상관없다.
<제3 실시예>
도 49는 본 발명의 제3 실시예에서의 입체 화상 형성 장치(1B)의 기능 구성도를 나타낸다. 입체 화상 형성 장치(1B)가 제1 실시예에서의 입체 화상 형성 장치(1)와 다른 것은 표시 제어부(22) 대신, 표시 제어부(22b), 제1 데이터 버퍼(31), 제2 데이터 버퍼(32)를 사용하는 점과, 표시부(21) 대신, 표시부(21b)를 사용하는 점이다. 그리고 본 실시예에 있어서는 사용자가 액정 셔터 안경(34)을 착용함으로써 입체시를 실현하는 방식을 채용하고 있다.
또, 이 입체 화상 형성 장치(1B)에 있어서는 제2 실시예와 마찬가지로, 3D 화상 표시 모드와 비3D 화상 표시 모드를 구비하고 있다. 3D 화상 표시 모드 시에 있어서, 표시 제어부(22b)는 제1 데이터 버퍼(31)에 왼쪽 눈을 위한 화상 데이터를 저장하고, 제2 데이터 버퍼(32)에 오른쪽 눈 화상 데이터가 저장한다. 또한, 표시 제어부(22b)는 전환기(33)를 제어하여, 제1 데이터 버퍼(31) 및 제2 화상 데이터 버퍼(32)를 교대로 선택한다. 구체적으로는 표시부(21b)는 소정의 주기로 1화면의 묘화를 갱신하지만, 표시 제어부(22b)는 이 묘화 갱신에 동기시켜 전환기(33)를 전환시킨. 또한, 표시 제어부(22b)는 이 묘화 갱신에 동기시켜 액정 셔터 안경(34)의 전환 동작을 행한다.
즉, 전환기(33)가 제1 화상 버퍼(31)를 선택하고 있는 상태에서는 액정 셔터 안경(34)의 왼쪽 눈을 온(투과 상태)으로 하는 동시에 오른쪽 눈을 오프(차단 상태)로 하여, 전환기(33)가 제2 화상 버퍼(32)를 선택하고 있는 상태에서는 액정 셔터 안경(34)의 오른쪽 눈을 온(투과 상태)으로 하는 동시에 왼쪽 눈을 오프(차단 상태)로 한다. 이같이 함으로써, 왼쪽 눈을 위한 화상은 왼쪽 눈에서만 시인되고 오른쪽 눈을 위한 화상은 오른쪽 눈에서만 시인할 수 있기 때문에 입체시가 실현되는 것이다.
그리고, 비입체시 모드의 경우에는 표시 제어부(22b)는 제1 화상 데이터 버퍼(31)에 화상 데이터를 저장하고, 전환기(33)에 의해 제1 화상 데이터 버퍼(31)를 선택한다.
도 50은 이 입체 화상 표시 장치(1B)를 사용하여, 수신한 동영상을 표시할 때의 처리의 일례를 나타내고 있다. 본 처리의 흐름은 도 48을 사용하여 설명한 제2 실시예와 같지만, 스텝 S3003 대신 스텝 S3003b, 및 스텝 S3011 대신 스텝 S3011b를 설치하고 있는 점에서 상이하다.
구체적으로, 2D 모드에 있어서는 CPU(11)는 RAM(13)에 저장된 원화상 데이터 중, 1프레임분의 화상 데이터를 추출하여 제1 데이터 버퍼(31)에 저장하는 동시에, 전환기를 제1 데이터 버퍼(31) 측으로 선택한다(스텝 S3003b). 이로써, 초기 상태에서는 사용자는 비입체시 모드의 동영상을 볼 수 있다.
또, 3D 모드에 있어서는 표시 제어부(22b)는 스텝 S3010에 있어서 작성된 입체 화상 중 왼쪽 눈 화상 데이터를 제1 데이터 버퍼(31)에 저장하고, 오른쪽 눈 화상 데이터를 제2 데이터 버퍼(32)에 저장한다(스텝 S3011b). 그리고 표시 제어부(22b)는 표시부(21b)의 묘화 갱신에 동기 시켜, 전환기(33)를 전환시킨다. 이같이 하여, 사용자는 당해 프레임을 입체시할 수 있다. 이것을 1프레임씩 행하고, 당해 동영상의 입체시가 실현된다.
<응용예>
본 발명에 있어서의 입체 화상 형성 장치를, 자동차, 전철, 비행기 등의 조작을 훈련하기 위해 사용되는 시뮬레이터에 적용할 수 있다. 즉, 당해 시뮬레이터의 화면에 입체 화상을 표시시킨다. 이로써, 훈련자에게 현실감을 줄 수가 있으므로 매우 유익하다. 본 발명의 입체 화상 형성 장치(1B)를 내장한 운전 시뮬레이터 장치(40)의 일례를 도 51에 나타낸다.
동 도면에 있어서, 조작 유닛(41)은 핸들 등의 조작 디바이스를 가진다. 사용자의 조작 정보는 시뮬레이션 처리부(42)에 공급된다. 시뮬레이션 처리부(42)는 조작 유닛(41)으로부터 입력된 조작 정보에 따라 연산 처리 등을 행하고, 화면에 표시해야 할 데이터를 작성한다. 표시 데이터는 프레임 버퍼(43)에 출력된다.
입체 화상 형성 장치(1B)는 조작 유닛(41)에 의하여 2D모드(비3D 화상 표시 모드)가 지정되어 있는 경우에는 통상의 화상을 화면에 표시한다. 3D 모드(3D 화상 표시 모드)가 지정되어 있는 경우에는 프레임 버퍼(43)에 보존되어 있는 1프레임분 화상 데이터를 추출해 입체 화상 데이터를 작성하여, 이 화상을 화면에 표시한다.
본 발명의 입체 화상 형성 방법을 LSI(대규모 집적회로)에 의해 실현되는 것이 가능하다. 이 LSI를 다양한 전자 기기에 조립함으로써, 저비용으로 입체 화상을 생성하는 것이 가능해진다. 예를 들면, 통신 단말기 장치, 디지털 카메라, 수상기, 스토리지형 표시 장치, 내시경 그 외의 의료 기구에 본 발명의 입체 화상 형성 방법을 적용할 수 있다.
이상, 본 실시예에 대하여 설명했지만, 본 발명의 범위는 상기 실시예에 한정되지 않고, 본 발명의 범위를 일탈하지 않는 한에 있어서, 변형 등을 행하는 것이 가능한 것은 말할 필요도 없다.

Claims (17)

  1. 화상을 구성하는 복수개의 화소의 화상 데이터에 따라, 각 화소에 대응하는 피사체의 깊이를 나타내는 Z값을 산출하는 산출 스텝과,
    상기 산출 스텝에서 산출된 주목 화소에 대응하는 Z값을, 상기 주목 화소 이외의 화소에 대응하는 Z값을 사용하여 수정하는 수정 스텝과,
    상기 주목 화소의 수정 후의 Z값에 따라 주목 화소의 화소이동량을 결정하고, 상기 화상을 구성하는 주목 화소를 상기 결정된 화소이동량만큼 수평으로 늦추는 것으로, 오른쪽 눈을 위한 화상과 왼쪽 눈을 위한 화상을 작성하는 작성 스텝
    을 구비하는 것을 특징으로 하는 입체 화상 작성 방법.
  2. 제1항에 있어서,
    상기 산출 스텝에서, 상기 주목 화소의 화상 데이터의 색 성분 각각에 소정의 계수를 곱하는 것으로 상기 주목 화소의 Z값을 산출하는 것을 특징으로 하는 입체 화상 작성 방법.
  3. 제2항에 있어서,
    상기 소정의 계수는 인간의 망막에 존재하는 민감한 R, G 및 B 원뿔체 각각의 비율에 따라 결정되는 것을 특징으로 하는 입체 화상 작성 방법.
  4. 제1항에 있어서,
    상기 수정 스텝에서, 원화상의 구도상에서 앞에 위치하는 피사체를 나타내는 화상을 구성하는 화소의 Z값보다, 원화상의 구도상에서 뒤에 위치하는 피사체를 나타내는 화상을 구성하는 화소의 Z값이 크게 되도록, 상기 각 화소의 Z값을 보정하는 것을 특징으로 하는 입체 화상 작성 방법.
  5. 제1항에 있어서,
    상기 수정 스텝에서 하나의 영역에 포함되는 화소의 Z값과 다른 영역에 포함되는 화소의 Z값을 비교함으로써, 상기 화상에 있어서의 Z값의 변화 경향을 해석하고,
    얻어진 해석 결과가 소정의 조건과 일치하는 경우, 상기 작성 스텝에서, 상기 Z값과 상기 화소이동량의 대소 관계를 역전시키는 것을 특징으로 하는 입체 화상 작성 방법.
  6. 제1항에 있어서,
    상기 수정 스텝에서, 주목 화소를 포함하는 영역에 포함되는 각 화소의 Z값의 평균치를 산출하고,
    상기 주목 화소의 Z값을 상기 산출된 평균치로 치환하는 것을 특징으로 하는 입체 화상 작성 방법.
  7. 제1항에 있어서,
    상기 수정 스텝에서, 상기 화상에서의 모든 화소의 Z값의 분포 및 모든 화소의 Z값의 평균치를 산출하고,
    상기 산출된 평균치를 사용하여 당해 분포의 편향을 보정하는 것을 특징으로 하는 입체 화상 작성 방법.
  8. 제1항에 있어서,
    상기 수정 스텝에서, 상기 산출 단계에서 산출된 각 화소의 Z값을 참조하여, 상기 화상 데이터에 의해 표현되는 화상 중의 적어도 하나의 피사체를 특정하고,
    상기 특정된 피사체에 대응하는 영역 내의 화소의 Z값에 따라 상기 주목 화소의 Z값을 수정하는 것을 특징으로 하는 입체 화상 작성 방법.
  9. 제1항에 있어서,
    상기 수정 스텝에서, 사용자에 의해 지정되는 파라미터 값을 사용하여 Z값의 양자화 스텝 사이즈를 정하는 것을 특징으로 하는 입체 화상 작성 방법.
  10. 제1항에 있어서,
    상기 수정 스텝에서, 사용자에 의해 지정되는 파라미터 값을 사용하여 상기 산출된 Z값이 취할 수 있는 값의 상한치 또는 하한치 중 어느 하나를 결정하는 것을 특징으로 하는 입체 화상 작성 방법.
  11. 제1항에 있어서,
    복수개의 화상으로 구성되는 동화상을 취득하는 스텝을 추가로 포함하고,
    상기 취득한 화상의 각각으로부터 입체 화상을 작성함으로써, 상기 동화상에 대응하는 입체 화상을 리얼 타임으로 작성하는 것을 특징으로 하는 입체 화상 작성 방법.
  12. 입체 화상을 작성하는 입체 화상 작성 장치에 있어서,
    화상을 구성하는 복수개의 화소의 화상 데이터에 따라, 각 화소에 대응하는 피사체의 깊이를 나타내는 Z값을 산출하는 산출 수단과,
    상기 산출 수단에서 산출된 주목 화소에 대응하는 Z값을, 상기 주목 화소 이외의 화소에 대응하는 Z값을 사용하여 수정하는 수정 수단과,
    상기 주목 화소의 수정 후의 Z값에 따라 주목 화소의 화소이동량을 결정하고, 상기 화상을 구성하는 상기 주목 화소를 상기 결정된 화소이동량만큼 수평으로 늦추는 것으로, 오른쪽 눈을 위한 화상과 왼쪽 눈을 위한 화상을 작성하는 작성 수단
    을 구비하는 것을 특징으로 하는 입체 화상 작성 장치.
  13. 제12항에 있어서,
    상기 수정 수단에서 이용되는 파라미터를 사용자로부터 취득하는 취득 수단을 추가로 구비하는 것을 특징으로 하는 입체 화상 작성 장치.
  14. 제13항에 있어서,
    상기 파라미터는 상기 Z값의 상한치 또는 하한치를 나타내는 것을 특징으로 하는 입체 화상 작성 장치.
  15. 제13항에 있어서,
    상기 파라미터는 상기 Z값의 양자화 스텝 사이즈를 나타내는 것을 특징으로 하는 입체 화상 작성 장치.
  16. 제13항에 있어서,
    상기 작성된 오른쪽 눈을 위한 화상 및 왼쪽 눈을 위한 화상의 화상 데이터를 저장하는 저장 수단과,
    상기 저장 수단에 저장되어 있는 화상 데이터로 표현되는 화상을 소정의 방식에 따라 표시하는 표시 수단
    을 추가로 구비하는 것을 특징으로 하는 입체 화상 작성 장치.
  17. 컴퓨터 프로그램 제품에 있어서,
    컴퓨터로 하여금
    화상을 구성하는 복수개의 화소의 화상 데이터에 따라, 각 화소에 대응하는 피사체의 깊이를 나타내는 Z값을 산출하는 수단과,
    상기 산출 수단에서 산출된 주목 화소에 대응하는 Z값을, 상기 주목 화소 이외의 화소에 대응하는 Z값을 사용하여 수정하는 수단과,
    상기 주목 화소의 수정 후의 Z값에 따라 주목 화소의 화소이동량을 결정하고, 상기 화상을 구성하는 상기 주목 화소를 상기 결정된 화소이동량만큼 수평으로 늦추는 것으로, 오른쪽 눈을 위한 화상과 왼쪽 눈을 위한 화상을 작성하는 수단
    으로서 기능시키기 위한 컴퓨터 프로그램 제품.
KR1020057002869A 2002-08-20 2003-08-20 입체 화상을 작성하는 방법 및 장치 KR100659206B1 (ko)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
JP2002238709 2002-08-20
JPJP-P-2002-00238709 2002-08-20
JP2002238710 2002-08-20
JPJP-P-2002-00238710 2002-08-20
PCT/JP2003/010499 WO2004019621A1 (ja) 2002-08-20 2003-08-20 立体視用画像を作成する方法および装置

Publications (2)

Publication Number Publication Date
KR20050050094A true KR20050050094A (ko) 2005-05-27
KR100659206B1 KR100659206B1 (ko) 2006-12-19

Family

ID=31949537

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020057002869A KR100659206B1 (ko) 2002-08-20 2003-08-20 입체 화상을 작성하는 방법 및 장치

Country Status (8)

Country Link
US (1) US7558420B2 (ko)
EP (1) EP1551190B1 (ko)
JP (1) JP4061305B2 (ko)
KR (1) KR100659206B1 (ko)
CN (1) CN1675937B (ko)
AU (1) AU2003257611A1 (ko)
CA (1) CA2496353C (ko)
WO (1) WO2004019621A1 (ko)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2008144110A1 (en) * 2007-05-18 2008-11-27 3M Innovative Properties Company Stereoscopic 3d liquid crystal display apparatus with black data insertion
KR101463029B1 (ko) * 2008-12-24 2014-11-19 엘지디스플레이 주식회사 3차원 영상 구현을 위한 깊이 데이터 보정 장치
US9153032B2 (en) 2008-09-25 2015-10-06 Samsung Electronics Co., Ltd. Conversion method and apparatus with depth map generation

Families Citing this family (73)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9286941B2 (en) 2001-05-04 2016-03-15 Legend3D, Inc. Image sequence enhancement and motion picture project management system
KR100554991B1 (ko) * 2002-09-17 2006-02-24 샤프 가부시키가이샤 2d(2차원) 및 3d(3차원)표시 기능을 구비하는 전자 기기
US8384773B2 (en) * 2004-04-01 2013-02-26 Hewlett-Packard Development Company, L.P. Method and system for displaying an image in three dimensions
JP3790764B2 (ja) * 2004-04-02 2006-06-28 一成 江良 投写型表示装置および投写型表示システム
JP4523368B2 (ja) * 2004-09-10 2010-08-11 株式会社マーキュリーシステム 立体視画像生成装置およびプログラム
DE102005017313A1 (de) * 2005-04-14 2006-10-19 Volkswagen Ag Verfahren zur Darstellung von Informationen in einem Verkehrsmittel und Kombiinstrument für ein Kraftfahrzeug
US9224303B2 (en) 2006-01-13 2015-12-29 Silvertree Media, Llc Computer based system for training workers
US8009903B2 (en) * 2006-06-29 2011-08-30 Panasonic Corporation Image processor, image processing method, storage medium, and integrated circuit that can adjust a degree of depth feeling of a displayed high-quality image
US7572232B2 (en) * 2006-07-24 2009-08-11 Cardiac Pacemakers, Inc. Cardiac signal display and event detection using multiresolution Z-score transform
CN101523924B (zh) * 2006-09-28 2011-07-06 皇家飞利浦电子股份有限公司 3d菜单显示
RU2454025C2 (ru) * 2006-12-19 2012-06-20 Конинклейке Филипс Электроникс Н.В. Способ и система для преобразования двухмерного видео в трехмерное видео
CN101000296B (zh) * 2006-12-20 2011-02-02 西北师范大学 基于数字图像技术三维重构金相组织微观浮凸的方法
US8131098B2 (en) * 2007-07-06 2012-03-06 Panasonic Corporation Image processing device, image processing method, image processing system, program, storage medium, and integrated circuit
KR100957129B1 (ko) * 2008-06-12 2010-05-11 성영석 영상 변환 방법 및 장치
JP5024632B2 (ja) * 2008-09-19 2012-09-12 ソニー株式会社 画像処理装置および方法、並びにプログラム
US8254467B2 (en) * 2008-10-30 2012-08-28 Sensio Technologies Inc. Method and system for scaling compressed image frames
CN101751661B (zh) * 2008-12-01 2012-12-19 奇景光电股份有限公司 深度相关的影像加强系统及方法
KR101506926B1 (ko) 2008-12-04 2015-03-30 삼성전자주식회사 깊이 추정 장치 및 방법, 및 3d 영상 변환 장치 및 방법
CN101770738A (zh) * 2009-01-04 2010-07-07 朗讯科技公司 3d显示设备和方法
JP5428454B2 (ja) * 2009-03-30 2014-02-26 凸版印刷株式会社 画像生成方法
JP4919122B2 (ja) 2009-04-03 2012-04-18 ソニー株式会社 情報処理装置、情報処理方法、及び、プログラム
US8830301B2 (en) * 2009-06-10 2014-09-09 Lg Electronics Inc. Stereoscopic image reproduction method in case of pause mode and stereoscopic image reproduction apparatus using same
CN101605271B (zh) * 2009-07-08 2010-10-13 无锡景象数字技术有限公司 一种基于单幅图像的2d转3d方法
US8947422B2 (en) * 2009-09-30 2015-02-03 Disney Enterprises, Inc. Gradient modeling toolkit for sculpting stereoscopic depth models for converting 2-D images into stereoscopic 3-D images
US8884948B2 (en) * 2009-09-30 2014-11-11 Disney Enterprises, Inc. Method and system for creating depth and volume in a 2-D planar image
US8502862B2 (en) * 2009-09-30 2013-08-06 Disney Enterprises, Inc. Method and system for utilizing pre-existing image layers of a two-dimensional image to create a stereoscopic image
JP5521913B2 (ja) 2009-10-28 2014-06-18 ソニー株式会社 画像処理装置、および画像処理方法、並びにプログラム
JP5794335B2 (ja) * 2009-10-28 2015-10-14 ソニー株式会社 画像処理装置、および画像処理方法、並びにプログラム
CN102055992B (zh) * 2009-10-29 2012-06-27 华映视讯(吴江)有限公司 形成立体影像的方法及其相关显示模组
JP2011114863A (ja) * 2009-11-23 2011-06-09 Samsung Electronics Co Ltd 3D映像の提供方法、3D映像の変換方法、GUI提供方法及びこれを適用した3Dディスプレイ装置、そして3D映像の提供システム{Methodforproviding3Dimage、methodforconverting3Dimage、GUIprovidingmethodrelatedto3Dimageand3Ddisplayapparatusandsystemforproviding3Dimage}
KR20110057629A (ko) * 2009-11-24 2011-06-01 엘지전자 주식회사 Ui 제공 방법 및 디지털 방송 수신기
US20110157155A1 (en) * 2009-12-31 2011-06-30 Disney Enterprises, Inc. Layer management system for choreographing stereoscopic depth
US9042636B2 (en) 2009-12-31 2015-05-26 Disney Enterprises, Inc. Apparatus and method for indicating depth of one or more pixels of a stereoscopic 3-D image comprised from a plurality of 2-D layers
US9426441B2 (en) 2010-03-08 2016-08-23 Dolby Laboratories Licensing Corporation Methods for carrying and transmitting 3D z-norm attributes in digital TV closed captioning
JP5792157B2 (ja) * 2010-03-19 2015-10-07 ラピスセミコンダクタ株式会社 画像処理装置、方法、プログラム及び記録媒体
US20110267441A1 (en) * 2010-04-29 2011-11-03 Yan Yan Lee 3-d moving picture viewing apparatus
KR101198320B1 (ko) * 2010-06-21 2012-11-06 (주)아이아이에스티 2차원에서 3차원으로의 영상 변환 방법 및 장치
KR101731343B1 (ko) * 2010-07-14 2017-04-28 엘지전자 주식회사 이동 단말기 및 그 제어방법
KR101733488B1 (ko) * 2010-07-22 2017-05-10 엘지전자 주식회사 3차원 영상 표시 방법 및 그에 따른 3차원 영상 표시 장치
KR20120015165A (ko) * 2010-08-11 2012-02-21 엘지전자 주식회사 영상의 깊이감 조절 방법 및 이를 이용하는 이동 단말기
CN102792702A (zh) * 2010-09-02 2012-11-21 青岛海信电器股份有限公司 一种景深调整装置、方法及3d电视机
EP2429209A3 (en) * 2010-09-14 2015-10-14 LG Electronics Inc. Apparatus and method for providing stereoscopic image contents
TWI451751B (zh) 2010-10-29 2014-09-01 Silicon Motion Inc 立體影像擷取裝置以及其控制晶片
TWI441093B (zh) * 2010-10-29 2014-06-11 Altek Corp 立體影像產生方法及立體成像系統
JP5559012B2 (ja) 2010-11-12 2014-07-23 キヤノン株式会社 画像処理装置及びその制御方法
CN102469323B (zh) * 2010-11-18 2014-02-19 深圳Tcl新技术有限公司 一种2d图像转3d图像的方法
JP4892098B1 (ja) * 2010-12-14 2012-03-07 株式会社東芝 立体映像表示装置及び方法
CN102036094B (zh) * 2010-12-30 2012-02-01 浙江大学 一种基于数字分数延时技术的立体匹配方法
US9582144B2 (en) * 2011-01-20 2017-02-28 Blackberry Limited Three-dimensional, multi-depth presentation of icons associated with a user interface
US9407904B2 (en) 2013-05-01 2016-08-02 Legend3D, Inc. Method for creating 3D virtual reality from 2D images
US9282321B2 (en) 2011-02-17 2016-03-08 Legend3D, Inc. 3D model multi-reviewer system
US9288476B2 (en) 2011-02-17 2016-03-15 Legend3D, Inc. System and method for real-time depth modification of stereo images of a virtual reality environment
EP2697975A1 (en) * 2011-04-15 2014-02-19 Dolby Laboratories Licensing Corporation Systems and methods for rendering 3d images independent of display size and viewing distance
CN103004217B (zh) * 2011-06-08 2016-08-03 松下知识产权经营株式会社 视差图像生成装置、视差图像生成方法、程序及集成电路
TWI493505B (zh) * 2011-06-20 2015-07-21 Mstar Semiconductor Inc 影像處理方法以及影像處理裝置
JP5121081B1 (ja) * 2011-09-21 2013-01-16 シャープ株式会社 立体画像表示装置
JP5887966B2 (ja) * 2012-01-31 2016-03-16 株式会社Jvcケンウッド 画像処理装置、画像処理方法及び画像処理プログラム
US20130222422A1 (en) * 2012-02-29 2013-08-29 Mediatek Inc. Data buffering apparatus capable of alternately transmitting stored partial data of input images merged in one merged image to image/video processing device and related data buffering method
US9547937B2 (en) 2012-11-30 2017-01-17 Legend3D, Inc. Three-dimensional annotation system and method
US10013940B2 (en) * 2012-12-31 2018-07-03 Nvidia Corporation Method and apparatus to reduce panel power through horizontal interlaced addressing
CN105191287B (zh) * 2013-03-08 2019-06-21 迪基特阿雷纳股份公司 替换视频流中的对象的方法及计算机程序
US9438878B2 (en) 2013-05-01 2016-09-06 Legend3D, Inc. Method of converting 2D video to 3D video using 3D object models
JP5682656B2 (ja) * 2013-05-09 2015-03-11 カシオ計算機株式会社 距離情報補正装置、画像生成装置、距離情報補正方法、及び、プログラム
CN103324802A (zh) * 2013-06-27 2013-09-25 苏州创智宏云信息科技有限公司 一种cad模型空间转换方法
US9823728B2 (en) 2013-09-04 2017-11-21 Nvidia Corporation Method and system for reduced rate touch scanning on an electronic device
US9881592B2 (en) 2013-10-08 2018-01-30 Nvidia Corporation Hardware overlay assignment
KR20150108994A (ko) * 2014-03-18 2015-10-01 삼성디스플레이 주식회사 표시 장치 및 그 구동 방법
US10122992B2 (en) 2014-05-22 2018-11-06 Disney Enterprises, Inc. Parallax based monoscopic rendering
CN104536145B (zh) * 2015-01-21 2017-06-27 深圳市华星光电技术有限公司 2d/3d可切换显示装置
US9609307B1 (en) 2015-09-17 2017-03-28 Legend3D, Inc. Method of converting 2D video to 3D video using machine learning
JP2019029875A (ja) * 2017-07-31 2019-02-21 パナソニックIpマネジメント株式会社 画像処理装置、カメラ装置及び画像処理方法
JP7191514B2 (ja) * 2018-01-09 2022-12-19 キヤノン株式会社 画像処理装置、画像処理方法、およびプログラム
US10726526B1 (en) * 2018-05-31 2020-07-28 Deeplook, Inc. Digital image analysis and display system using radiographic attenuation data

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0591545A (ja) * 1991-09-30 1993-04-09 Toshiba Corp 立体画像記録再生システム
JPH0829734A (ja) 1994-07-18 1996-02-02 Sony Corp 表示装置の光源
JP3005474B2 (ja) * 1996-08-07 2000-01-31 三洋電機株式会社 2次元映像を3次元映像に変換する装置および方法
WO1998004087A1 (fr) * 1996-07-18 1998-01-29 Sanyo Electric Co., Ltd. Dispositif et procede pour convertir des signaux video bidimensionnels en signaux video tridimensionnels
WO2001039512A1 (en) 1999-11-26 2001-05-31 Sanyo Electric Co., Ltd. Device and method for converting two-dimensional video to three-dimensional video
JP4036599B2 (ja) * 2000-04-11 2008-01-23 三洋電機株式会社 2次元映像を3次元映像に変換する方法
US7035451B2 (en) * 2000-08-09 2006-04-25 Dynamic Digital Depth Research Pty Ltd. Image conversion and encoding techniques
JP2002123842A (ja) 2000-10-13 2002-04-26 Takumi:Kk 立体視画像生成装置および情報記憶媒体

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2008144110A1 (en) * 2007-05-18 2008-11-27 3M Innovative Properties Company Stereoscopic 3d liquid crystal display apparatus with black data insertion
US9153032B2 (en) 2008-09-25 2015-10-06 Samsung Electronics Co., Ltd. Conversion method and apparatus with depth map generation
KR101463029B1 (ko) * 2008-12-24 2014-11-19 엘지디스플레이 주식회사 3차원 영상 구현을 위한 깊이 데이터 보정 장치

Also Published As

Publication number Publication date
CA2496353A1 (en) 2004-03-04
JPWO2004019621A1 (ja) 2005-12-15
EP1551190A1 (en) 2005-07-06
CA2496353C (en) 2011-10-18
EP1551190B1 (en) 2018-08-08
EP1551190A4 (en) 2008-06-04
CN1675937B (zh) 2011-08-24
KR100659206B1 (ko) 2006-12-19
US20050254702A1 (en) 2005-11-17
JP4061305B2 (ja) 2008-03-19
AU2003257611A1 (en) 2004-03-11
WO2004019621A1 (ja) 2004-03-04
US7558420B2 (en) 2009-07-07
CN1675937A (zh) 2005-09-28

Similar Documents

Publication Publication Date Title
KR100659206B1 (ko) 입체 화상을 작성하는 방법 및 장치
US6496598B1 (en) Image processing method and apparatus
EP3158536B1 (en) Method and apparatus for generating a three dimensional image
CN108573524B (zh) 基于渲染管线的交互式实时自由立体显示方法
CN100565589C (zh) 用于深度感知的装置和方法
JP5090337B2 (ja) 平面パススルーを有する自動立体ディスプレイ
US8471898B2 (en) Medial axis decomposition of 2D objects to synthesize binocular depth
EP2323416A2 (en) Stereoscopic editing for video production, post-production and display adaptation
WO2014083949A1 (ja) 立体画像処理装置、立体画像処理方法、及びプログラム
Shao et al. QoE-guided warping for stereoscopic image retargeting
WO2013074753A1 (en) Display apparatuses and methods for simulating an autostereoscopic display device
US9196080B2 (en) Medial axis decomposition of 2D objects to synthesize binocular depth
US20170142394A1 (en) 3d system including a neural network
CN116708746A (zh) 一种基于裸眼3d的智能显示处理方法
Miyashita et al. Depth boost: Extended depth reconstruction capability on volumetric display
CN105812765A (zh) 分屏图像显示方法与装置
CN102404583A (zh) 三维影像的深度加强系统及方法
Miyashita et al. Perceptual Assessment of Image and Depth Quality of Dynamically Depth-compressed Scene for Automultiscopic 3D Display
US20200388069A1 (en) Method for presenting a three-dimensional object and an associated computer program product, digital storage medium and a computer system
JP2004200784A (ja) 3次元映像端末装置、プログラムおよび記録媒体
Shen et al. 3-D perception enhancement in autostereoscopic TV by depth cue for 3-D model interaction
US10148932B2 (en) 3D system including object separation
Yasakethu et al. 3D cinema to 3DTV content adaptation
Babalis Three-dimensional filters for multiview stereoscopic applications using layered depth images
AU8964598A (en) Image processing method and apparatus

Legal Events

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

Payment date: 20121203

Year of fee payment: 7

FPAY Annual fee payment

Payment date: 20131129

Year of fee payment: 8

FPAY Annual fee payment

Payment date: 20141202

Year of fee payment: 9

FPAY Annual fee payment

Payment date: 20151125

Year of fee payment: 10

FPAY Annual fee payment

Payment date: 20161111

Year of fee payment: 11

FPAY Annual fee payment

Payment date: 20171109

Year of fee payment: 12

LAPS Lapse due to unpaid annual fee