KR20190059054A - 영상 데이터를 처리하는 방법 및 장치 - Google Patents

영상 데이터를 처리하는 방법 및 장치 Download PDF

Info

Publication number
KR20190059054A
KR20190059054A KR1020170156607A KR20170156607A KR20190059054A KR 20190059054 A KR20190059054 A KR 20190059054A KR 1020170156607 A KR1020170156607 A KR 1020170156607A KR 20170156607 A KR20170156607 A KR 20170156607A KR 20190059054 A KR20190059054 A KR 20190059054A
Authority
KR
South Korea
Prior art keywords
data
image
memory
image processing
processed
Prior art date
Application number
KR1020170156607A
Other languages
English (en)
Other versions
KR102581470B1 (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 삼성전자주식회사
Priority to KR1020170156607A priority Critical patent/KR102581470B1/ko
Priority to US15/954,144 priority patent/US10809663B2/en
Publication of KR20190059054A publication Critical patent/KR20190059054A/ko
Application granted granted Critical
Publication of KR102581470B1 publication Critical patent/KR102581470B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G03PHOTOGRAPHY; CINEMATOGRAPHY; ANALOGOUS TECHNIQUES USING WAVES OTHER THAN OPTICAL WAVES; ELECTROGRAPHY; HOLOGRAPHY
    • G03HHOLOGRAPHIC PROCESSES OR APPARATUS
    • G03H1/00Holographic processes or apparatus using light, infrared or ultraviolet waves for obtaining holograms or for obtaining an image from them; Details peculiar thereto
    • G03H1/04Processes or apparatus for producing holograms
    • G03H1/08Synthesising holograms, i.e. holograms synthesized from objects or objects from holograms
    • G03H1/0808Methods of numerical synthesis, e.g. coherent ray tracing [CRT], diffraction specific
    • GPHYSICS
    • G03PHOTOGRAPHY; CINEMATOGRAPHY; ANALOGOUS TECHNIQUES USING WAVES OTHER THAN OPTICAL WAVES; ELECTROGRAPHY; HOLOGRAPHY
    • G03HHOLOGRAPHIC PROCESSES OR APPARATUS
    • G03H1/00Holographic processes or apparatus using light, infrared or ultraviolet waves for obtaining holograms or for obtaining an image from them; Details peculiar thereto
    • G03H1/22Processes or apparatus for obtaining an optical image from holograms
    • GPHYSICS
    • G03PHOTOGRAPHY; CINEMATOGRAPHY; ANALOGOUS TECHNIQUES USING WAVES OTHER THAN OPTICAL WAVES; ELECTROGRAPHY; HOLOGRAPHY
    • G03HHOLOGRAPHIC PROCESSES OR APPARATUS
    • G03H1/00Holographic processes or apparatus using light, infrared or ultraviolet waves for obtaining holograms or for obtaining an image from them; Details peculiar thereto
    • G03H1/04Processes or apparatus for producing holograms
    • G03H1/08Synthesising holograms, i.e. holograms synthesized from objects or objects from holograms
    • G03H1/0891Processes or apparatus adapted to convert digital holographic data into a hologram
    • GPHYSICS
    • G03PHOTOGRAPHY; CINEMATOGRAPHY; ANALOGOUS TECHNIQUES USING WAVES OTHER THAN OPTICAL WAVES; ELECTROGRAPHY; HOLOGRAPHY
    • G03HHOLOGRAPHIC PROCESSES OR APPARATUS
    • G03H1/00Holographic processes or apparatus using light, infrared or ultraviolet waves for obtaining holograms or for obtaining an image from them; Details peculiar thereto
    • G03H1/04Processes or apparatus for producing holograms
    • GPHYSICS
    • G03PHOTOGRAPHY; CINEMATOGRAPHY; ANALOGOUS TECHNIQUES USING WAVES OTHER THAN OPTICAL WAVES; ELECTROGRAPHY; HOLOGRAPHY
    • G03HHOLOGRAPHIC PROCESSES OR APPARATUS
    • G03H1/00Holographic processes or apparatus using light, infrared or ultraviolet waves for obtaining holograms or for obtaining an image from them; Details peculiar thereto
    • G03H1/04Processes or apparatus for producing holograms
    • G03H1/0443Digital holography, i.e. recording holograms with digital recording means
    • GPHYSICS
    • G03PHOTOGRAPHY; CINEMATOGRAPHY; ANALOGOUS TECHNIQUES USING WAVES OTHER THAN OPTICAL WAVES; ELECTROGRAPHY; HOLOGRAPHY
    • G03HHOLOGRAPHIC PROCESSES OR APPARATUS
    • G03H1/00Holographic processes or apparatus using light, infrared or ultraviolet waves for obtaining holograms or for obtaining an image from them; Details peculiar thereto
    • G03H1/04Processes or apparatus for producing holograms
    • G03H1/16Processes or apparatus for producing holograms using Fourier transform
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T1/00General purpose image data processing
    • G06T1/20Processor architectures; Processor configuration, e.g. pipelining
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T1/00General purpose image data processing
    • G06T1/60Memory management
    • GPHYSICS
    • G03PHOTOGRAPHY; CINEMATOGRAPHY; ANALOGOUS TECHNIQUES USING WAVES OTHER THAN OPTICAL WAVES; ELECTROGRAPHY; HOLOGRAPHY
    • G03HHOLOGRAPHIC PROCESSES OR APPARATUS
    • G03H1/00Holographic processes or apparatus using light, infrared or ultraviolet waves for obtaining holograms or for obtaining an image from them; Details peculiar thereto
    • G03H1/02Details of features involved during the holographic process; Replication of holograms without interference recording
    • G03H2001/0208Individual components other than the hologram
    • G03H2001/0224Active addressable light modulator, i.e. Spatial Light Modulator [SLM]
    • GPHYSICS
    • G03PHOTOGRAPHY; CINEMATOGRAPHY; ANALOGOUS TECHNIQUES USING WAVES OTHER THAN OPTICAL WAVES; ELECTROGRAPHY; HOLOGRAPHY
    • G03HHOLOGRAPHIC PROCESSES OR APPARATUS
    • G03H2226/00Electro-optic or electronic components relating to digital holography
    • G03H2226/02Computing or processing means, e.g. digital signal processor [DSP]

Landscapes

  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Mathematical Physics (AREA)
  • Computing Systems (AREA)
  • Holo Graphy (AREA)
  • Image Processing (AREA)

Abstract

일 측면에 따른 영상 데이터를 처리하는 영상 처리 시스템은, 상기 영상 데이터를 처리하여 홀로그램 영상을 생성하는 영상 처리 장치; 및 상기 영상 데이터 및 상기 영상 처리 장치에 의하여 처리된 데이터를 저장하는 복수의 메모리들;을 포함하고, 상기 영상 처리 장치는 상기 복수의 메모리들 중 제 1 메모리로부터의 데이터 독출과 상기 복수의 메모리들 중 제 2 메모리로의 데이터 기록을 포함하는 제 1 과정 및 상기 제 2 메모리로부터의 데이터 독출과 상기 제 1 메모리로의 데이터 기록을 포함하는 제 2 과정을 병렬적으로 수행한다.

Description

영상 데이터를 처리하는 방법 및 장치 {Method and apparatus for processing image data}
영상 데이터를 처리하는 방법 및 장치에 관한다.
최근 들어 3차원 영상에 관련된 기술이 많이 연구되고 있다. 빛의 진폭과 위상을 동시에 제어할 수 있는 복합 공간 광변조기(Complex Spatial Light Modulator, SLM)를 이용하여 실시간으로 고화질 홀로그램을 구현하는 장치에 대한 연구가 활발히 진행되고 있다.
최근에는 홀로그램 동영상을 재생하기 위해서 컴퓨터 생성 홀로그램(computer generated hologram, CGH)이 사용되고 있으며, 영상 처리 장치는 홀로그램 평면의 각 위치에 대한 홀로그램 값을 연산하는데, 연산량이 매우 방대하다. 즉, 공간상의 한 점을 표현하기 위해서 영상 처리 장치는 1번의 푸리에 변환(Fourier Transform)을 수행해야 하며, 공간의 영상을 표현하기 위해서는 픽셀의 개수만큼의 FFT를 수행해야 한다.
TV, 모바일 디바이스 등의 영상 처리 장치는 홀로그램 영상을 재생하기 위해 영상 데이터를 처리할 수 있다. 이 경우, 영상 처리 장치는 영상 데이터에 대해 FFT를 수행하고, 변환된 데이터를 이용하여 영상을 재생할 수 있다.
영상 처리 장치가 푸리에 변환을 수행할 때, 연산량이 많고, 많은 시간이 소요된다. 특히, 모바일 디바이스와 같은 휴대용 디바이스들은 크기에 제한이 있고, 사용 가능한 전력(POWER)에도 제한이 있다. 따라서, 푸리에 변환을 수행할 때, 연산량 및 시간을 줄이기 위한 방법들이 요구된다.
영상 데이터를 처리하는 방법 및 장치를 제공하는 데 있다. 또한, 상기 방법을 컴퓨터에서 실행시키기 위한 프로그램을 기록한 컴퓨터로 읽을 수 있는 기록매체를 제공하는 데 있다. 해결하려는 기술적 과제는 상기된 바와 같은 기술적 과제들로 한정되지 않으며, 또 다른 기술적 과제들이 존재할 수 있다.
일 측면에 따른 영상 데이터를 처리하는 영상 처리 시스템은, 상기 영상 데이터를 처리하여 홀로그램 영상을 생성하는 영상 처리 장치; 및 상기 영상 데이터 및 상기 영상 처리 장치에 의하여 처리된 데이터를 저장하는 복수의 메모리들;을 포함하고, 상기 영상 처리 장치는 상기 복수의 메모리들 중 제 1 메모리로부터의 데이터 독출과 상기 복수의 메모리들 중 제 2 메모리로의 데이터 기록을 포함하는 제 1 과정 및 상기 제 2 메모리로부터의 데이터 독출과 상기 제 1 메모리로의 데이터 기록을 포함하는 제 2 과정을 병렬적으로 수행한다.
다른 측면에 따른 영상을 처리하는 방법은, 외부 장치로부터 입력된 영상 데이터를 처리하여 홀로그램 영상을 생성하는 단계; 및 상기 영상 데이터 및 처리된 데이터를 저장하는 단계;를 포함하고, 상기 생성하는 단계는, 복수의 메모리들 중 제 1 메모리로부터의 데이터 독출과 상기 복수의 메모리들 중 제 2 메모리로의 데이터 기록을 포함하는 제 1 과정 및 상기 제 2 메모리로부터의 데이터 독출과 상기 제 1 메모리로의 데이터 기록을 포함하는 제 2 과정을 병렬적으로 수행한다.
또 다른 측면에 따른 컴퓨터로 읽을 수 있는 기록매체는 상술한 방법을 컴퓨터에서 실행시키기 위한 프로그램을 기록한 기록매체를 포함한다.
도 1은 영상 데이터를 처리하는 과정을 나타내는 흐름도이다.
도 2는 데이터를 변환하는 과정의 일 예를 나타내는 도면이다.
도 3은 데이터를 변환하는 과정의 다른 예를 나타내는 도면이다.
도 4는 일 실시예에 따른 영상 처리 시스템의 일 예를 나타내는 구성도이다.
도 5는 일 실시예에 따른 영상 데이터를 처리하는 방법의 일 예를 설명하기 위한 흐름도이다.
도 6은 일 실시예에 따른 영상 처리 시스템의 일 예를 나타내는 세부 구성도이다.
도 7a 내지 도 7g는 일 실시예에 따른 영상 처리 시스템이 동작하는 일 예를 설명하기 위한 도면들이다.
도 8은 일 실시예에 따른 프리즘 페이즈 연산에 이용되는 값들의 특성을 설명하기 위한 도면이다.
도 9는 일 실시예에 따른 PPB의 일 예를 나타내는 구성도이다.
실시 예들에서 사용되는 용어는 본 발명에서의 기능을 고려하면서 가능한 현재 널리 사용되는 일반적인 용어들을 선택하였으나, 이는 당 분야에 종사하는 기술자의 의도 또는 판례, 새로운 기술의 출현 등에 따라 달라질 수 있다. 또한, 특정한 경우는 출원인이 임의로 선정한 용어도 있으며, 이 경우 해당되는 발명의 설명 부분에서 상세히 그 의미를 기재할 것이다. 따라서 본 발명에서 사용되는 용어는 단순한 용어의 명칭이 아닌, 그 용어가 가지는 의미와 본 발명의 전반에 걸친 내용을 토대로 정의되어야 한다.
명세서 전체에서 어떤 부분이 어떤 구성요소를 “포함”한다고 할 때, 이는 특별히 반대되는 기재가 없는 한 다른 구성요소를 제외하는 것이 아니라 다른 구성요소를 더 포함할 수 있음을 의미한다. 또한, 명세서에 기재된 “…부”, “…모듈” 등의 용어는 적어도 하나의 기능이나 동작을 처리하는 단위를 의미하며, 이는 하드웨어 또는 소프트웨어로 구현되거나 하드웨어와 소프트웨어의 결합으로 구현될 수 있다.
아래에서는 첨부한 도면을 참고하여 본 발명의 실시 예에 대하여 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자가 용이하게 실시할 수 있도록 상세히 설명한다. 그러나 본 발명은 여러 가지 상이한 형태로 구현될 수 있으며 여기에서 설명하는 실시 예에 한정되지 않는다.
이하에서는 도면을 참조하여 본 발명의 실시 예들을 상세히 설명한다.
도 1은 영상 데이터를 처리하는 과정을 나타내는 흐름도이다. 도 1을 참조하면, 영상 처리 장치는 영상 데이터를 수신하여, 영상을 출력할 수 있다.
단계 110에서, 영상 처리 장치는 영상 데이터를 수신한다. 예를 들어, CGH(Computer-Generated Holography)연산에 있어서 layer based 알고리즘을 영상 데이터에 적용하는 경우, 영상 데이터는 컬러 데이터(또는 컬러 영상), 깊이 데이터(또는 깊이 영상) 등일 수 있다. 컬러 데이터는 평면마다 복수의 컬러들을 나타내는 데이터일 수 있다. 예를 들어, 컬러 데이터는 레드 영상, 블루 영상 및 그린 영상일 수 있다. Layer based 알고리즘은 홀로그램의 재생 영역을 깊이를 기준으로 분할하여 분할된 각 평면의 데이터를 처리하는 방법이다. 영상 처리 장치는 분할된 각 평면의 데이터를 푸리에 변환 또는 역 푸리에 변환(Inverse Fourier Transform)하여 홀로그램 영상을 생성할 수 있다.
단계 120에서, 영상 처리 장치는 화질 보정 및 필드 연산을 수행한다. 영상 처리 장치는 영상 데이터의 화질을 향상시키기 위해 영상 데이터를 보정할 수 있다.
단계 130에서, 영상 처리 장치는 푸리에 변환(Fourier Transform) 또는 패스트 푸리에 변환(Fast Fourier Transform, FFT)을 수행한다. 예를 들어, 영상 처리 장치는 2D 매트릭스 형태의 영상 데이터에 FFT를 수행할 수 있다. 영상 처리 장치는 2D FFT를 수행하기 위해 1D FFT를 2회 수행할 수 있다. 영상 처리 장치는 영상 데이터를 행 방향(row-wise)으로 1D FFT를 수행하고, 변환된 영상 데이터를 열 방향(column-wise)으로 1D FFT를 수행할 수 있다. 영상 처리 장치는 FFT를 통해 홀로그래픽 영상을 생성한다.
영상 처리 장치는 복수의 코어들을 포함할 수 있으며, 복수의 코어들은 병렬적으로 영상 데이터에 대하여 FFT를 수행할 수 있다. 예를 들어, 영상 처리 장치는 각 평면의 영상 데이터를 복수의 코어들에 할당할 수 있으며, 복수의 코어들은 할당된 영상 데이터에 대하여 FFT를 수행한다.
영상 처리 장치가 영상 데이터를 FFT를 수행하는 과정은 도 2 내지 도 3을 통해 상세히 설명한다.
단계 140에서, 영상 처리 장치는 픽셀 인코딩을 수행한다. 영상 처리 장치는 픽셀 인코딩을 통하여 화면에 입력될 데이터를 생성한다.
단계 150에서, 영상 처리 장치는 영상 표시 장치로 영상을 출력한다.
도 2는 데이터를 변환하는 과정의 일 예를 나타내는 도면이다.
도 2를 참조하면, 영상 처리 장치는 영상 데이터(210)를 2번 1D FFT를 수행하여 최종 데이터(230)를 생성한다(1차 2D FFT). 예를 들어, 영상 처리 장치는 영상 데이터(210)를 열 방향으로 1번 1D FFT하여 중간 데이터(220)를 생성하고, 중간 데이터(220)를 행 방향으로 1번 1D FFT 하여 최종 데이터(230)을 생성한다. 2차 2D FFT도 역시 2번 1D FFT에 의해 수행될 수 있다. 1차 2D FFT는 동공에서 망막까지의 FFT이고, 2차 2D FFT는 패널(panel)에서 동공까지의 FFT일 수 있다.
1차 2D FFT와 2차 2D FFT는 1D FFT를 수행하는 순서가 반대일 수 있다. 예를 들어, 1차 2D FFT가 수행될 때, 열 방향, 행 방향으로 1D FFT가 2번 수행 되였다면, 2차 2D FFT가 수행될 때 행 방향, 열 방향의 순서로 1D FFT가 2번 수행될 수 있다.
도 2에서는 영상 처리 장치가 열 방향으로 1D FFT를 먼저 수행하는 경우를 예를 들어 설명한다. 도 3은 영상 처리 장치가 행 방향으로 1D FFT를 먼저 수행하는 경우를 예를 들어 설명한다.
도 2 및 도 3에서는 1차 2D FFT가 수행되는 경우만을 도시하고 있으며, 2차 2D FFT도 1차 2D FFT와 동일하게 또는 행과 열의 순서가 변경되어 수행될 수 있다.
영상 처리 장치는 영상 데이터(210)를 열 방향으로 1D FFT를 수행한다. 중간 데이터(220)는 영상 데이터(210)를 열 방향으로 1D FFT를 수행한 결과를 나타낸다. 영상 데이터(210)에 표시된 화살표는 영상 처리 장치가 1D FFT를 수행하는 방향을 나타낸다. 중간 데이터(220)에 표시된 직선은 영상 데이터(210)가 변환된 방향을 나타낸다.
영상 처리 장치는 저장된 중간 데이터(220)를 메모리로부터 독출하여 행 방향으로 1D FFT를 수행한다. 영상 처리 장치는 중간 데이터(220)를 메모리로부터 독출할 때, 중간 데이터(220)를 행 방향으로 독출하여 각각의 1D FFT 프로세서로 출력할 수 있다.
영상 처리 장치는 중간 데이터(220)를 행 방향으로 1D FFT를 수행하여 최종 데이터(230)를 생성한다. 최종 데이터(230)는 영상 데이터(210)가 열 방향 및 행 방향으로 각각 1D FFT 변환된 데이터이다.
도 3은 데이터를 변환하는 과정의 다른 예를 나타내는 도면이다.
도 3을 참조하면, 영상 처리 장치는 영상 데이터(310)를 2번 1D FFT를 수행하여 최종 데이터(330)를 생성한다. 예를 들어, 영상 처리 장치는 영상 데이터(310)를 행 방향으로 1번 1D FFT를 수행하여 중간 데이터(320)를 생성하고, 중간 데이터(320)를 열 방향으로 1번 1D FFT를 수행하여 최종 데이터(330)를 생성한다. 도 2와 도 3은 행과 열의 순서가 바뀐 것이며, 도 2에서 적용된 내용은 도 3에도 동일하게 적용될 수 있다.
도 4는 일 실시예에 따른 영상 처리 시스템의 일 예를 나타내는 구성도이다.
도 4를 참조하면, 영상 처리 시스템(400)은 영상 처리 장치(410) 및 복수의 메모리들(421, 422)을 포함한다.
영상 처리 장치(410)는 영상 처리 시스템(400)에 입력되는 영상 데이터를 처리하여 홀로그램 영상을 생성한다. 예를 들어, 영상 처리 장치(410)는 제어부(411), 전/후 처리부(412) 및 적어도 하나의 코어(413)를 포함할 수 있다. 또한, 영상 처리 장치(410)는 코어(413)를 복수 개 포함할 수 있다.
예를 들어, 제어부(411), 전/후 처리부(412) 및 적어도 하나의 코어(413)는 하나 또는 복수 개의 프로세서를 포함할 수 있다. 프로세서는 다수의 논리 게이트들의 어레이로 구현될 수도 있고, 범용적인 마이크로 프로세서와 이 마이크로 프로세서에서 실행될 수 있는 프로그램이 저장된 메모리의 조합으로 구현될 수도 있다. 또한, 다른 형태의 하드웨어로 구현될 수도 있음을 본 실시예가 속하는 기술분야에서 통상의 지식을 가진 자라면 이해할 수 있다.
코어(413)은 데이터에 대한 FFT를 수행한다. 만약, 코어(413)가 복수 개 포함된 경우, 각각의 코어(413)는 병렬적으로 FFT를 수행할 수 있다. 구체적으로, 각각의 코어(413)는 도 1 내지 도 3을 참조하여 상술한 FFT를 병렬적으로 수행할 수 있다.
제어부(411)는 영상 처리 장치(410)의 동작을 전반적으로 제어한다. 다시 말해, 제어부(411)는 전/후 처리부(412) 및 코어(413)의 동작을 제어한다.
전/후 처리부(412)는 코어(413)에 입력되는 데이터 및 코어(413)로부터 출력되는 데이터를 처리한다. 여기에서, 코어(413)에 입력되는 데이터와 코어(413)로부터 출력되는 데이터는 도 2 및 도 3을 참조하여 상술한 영상 데이터, 중간 데이터 및 최종 데이터를 포함한다. 구체적으로, 영상 처리 시스템(400)에 입력되는 영상 데이터는 복수의 메모리들(421, 422) 중 어느 하나에 저장된다. 그 후에, 영상 데이터를 이용한 전/후 처리부(412) 및 코어(413)의 동작에 의하여, 최종적으로 홀로그램 영상이 생성된다. 이 과정에서 중간 데이터 및 최종 데이터가 생성되고, 최종 데이터에 기초하여 홀로그램 영상이 생성된다. 전/후 처리부(412)는 코어(413)로 입력되는 데이터의 전처리 및 코어(413)로부터 출력되는 데이터의 후처리를 수행한다.
예를 들어, 전/후 처리부(412)는 i) 복수의 메모리들(421, 422)과 연결된 메모리 인터페이스(interface), ii) 메모리 인터페이스와 연결된 시스템 버스(system bus), iii) 시스템 버스 및 적어도 하나의 코어(413)와 연결된 데이터 준비 유닛(data preparation unit), iv) 데이터 준비 유닛과 연결된 후처리 유닛(post processing unit) 및 v) 시스템 버스, 후처리 유닛 및 적어도 하나의 코어(413)와 연결된 데이터 필터링 유닛(data filtering unit)을 포함할 수 있다.
일 실시예에 따른 영상 처리 장치(410)는 홀로그램 영상을 생성하는데 필요한 모듈들이 집적된 단일 칩(chip)으로 구현될 수 있다. 따라서, 종래에 PC나 그래픽 카드(graphic card)를 통하여 홀로그램 영상을 생성했던 것과 비교하여, 보다 효율적으로 홀로그램 영상을 생성할 수 있고, 전체 시스템의 부피가 감소될 수 있다.
복수의 메모리들(421, 422)은 영상 처리 시스템(400)에 입력되는 영상 데이터 및 영상 처리 장치(410)에 의하여 처리된 데이터를 저장한다. 구체적으로, 복수의 메모리들(421, 422)은 도 2 및 도 3을 참조하여 상술한 영상 데이터, 중간 데이터 및 최종 데이터를 저장한다. 도 4에는 영상 처리 시스템(400)에 2개의 독립된 메모리들(421, 422)이 포함된 것으로 도시되어 있으나, 그 수는 2개에 한정되지 않는다.
일 실시예에 따른 영상 처리 장치(410)는 복수의 메모리들(421, 422) 각각에 저장된 데이터를 이용하여 복수의 연산들을 병렬적으로 처리한다. 예를 들어, 영상 처리 장치(410)는 제 1 메모리(421)로부터의 데이터 독출 및 제 2 메모리(422)로의 데이터 기록을 포함하는 제 1 과정과 제 2 메모리(422)로부터의 데이터 독출 및 제 1 메모리(421)로의 데이터 기록을 포함하는 제 2 과정을 병렬적으로 수행한다. 여기에서, 제 1 과정은 제 1 메모리(421)로부터 독출된 데이터가 전/후 처리부(412) 및 코어(413)에 의하여 처리되고, 처리된 데이터가 제 2 메모리(422)에 기록되는 과정을 의미한다. 또한, 제 2 과정은 제 2 메모리(422)로부터 독출된 데이터가 전/후 처리부(412) 및 코어(413)에 의하여 처리되고, 처리된 데이터가 제 1 메모리(421)에 기록되는 과정을 의미한다.
다시 말해, 연산을 수행하는 과정에 있어서, 영상 처리 장치(410)는 복수의 메모리들(421, 422)로부터의 데이터 입출력을 병렬적으로 수행한다. 따라서, 영상 처리 시스템(400)은 종래보다 빠른 속도로 홀로그램 영상을 생성할 수 있다. 영상 처리 시스템(400)에 포함된 모듈들 및 모듈들 각각이 수행하는 작업에 대한 구체적인 설명은 도 6을 참조하여 후술한다.
영상 처리 시스템(400)은 디스플레이 장치(2000)와 연결될 수 있다. 여기에서, 디스플레이 장치(2000)는 영상 처리 시스템(400)이 생성한 홀로그램 영상을 디스플레이한다.
이하, 도 5를 참조하여, 영상 처리 시스템(400)이 동작하는 일 예를 설명한다. 그리고, 도 6을 참조하여 영상 처리 시스템(400)에 포함된 모듈들의 일 예를 구체적으로 설명한다.
도 5는 일 실시예에 따른 영상 데이터를 처리하는 방법의 일 예를 설명하기 위한 흐름도이다.
도 5에 도시된 영상 데이터를 처리하는 방법은 도 4에 도시된 영상 처리 시스템(400)에서 시계열적으로 처리되는 단계들로 구성된다. 따라서, 이하에서 생략된 내용이라 하더라도 도 4에 도시된 영상 처리 시스템(400)에 관하여 이상에서 기술된 내용은 도 5의 영상 데이터를 처리하는 방법에도 적용됨을 알 수 있다.
510 단계에서, 영상 처리 시스템(400)은 외부 장치로부터 영상 데이터를 수신한다. 구체적으로, 영상 처리 시스템(400)은 디스플레이 인터페이스(DP I/F)를 통해서 영상에 대한 컬러 데이터(Color data)와 깊이 데이터(Depth data)를 수신할 수 있다.
520 단계에서, 영상 처리 시스템(400)은 1차 2D IFFT를 수행한다. 예를 들어, 적어도 하나의 코어(413)는 행 방향 1차 1D IFFT를 수행하고, 그 후에 열 방향으로 1차 1D IFFT를 함으로써 1차 2D IFFT를 수행할 수 있다. 한편, 행 방향 IFFT가 수행되는 순서와 열 방향 IFFT가 수행되는 순서는 서로 바뀔 수 있음은 도 2 및 도 3을 참조하여 상술한 바와 같다.
530 단계에서, 영상 처리 시스템(400)은 전 처리를 수행한다. 예를 들어, 전/후 처리부(412)는 1차 2D IFFT가 수행된 데이터에 좌표에 영향을 받는 포커스 텀(Focus term) 값을 곱한 후 주파수 필터링(Frequency filtering)을 수행할 수 있다.
540 단계에서, 영상 처리 시스템(400)은 2차 2D IFFT를 수행한다. 예를 들어, 적어도 하나의 코어(413)는 행 방향 2차 1D IFFT를 수행하고, 그 후에 열 방향으로 2차 1D IFFT를 함으로써 2차 2D IFFT를 수행할 수 있다. 한편, 행 방향 IFFT가 수행되는 순서와 열 방향 IFFT가 수행되는 순서는 서로 바뀔 수 있음은 도 2 및 도 3을 참조하여 상술한 바와 같다.
550 단계 내지 570 단계에서, 영상 처리 시스템(400)은 후 처리를 수행한다. 예를 들어, UD(ultra-display) 해상도의 홀로그램 영상을 생성하기 위해서, 전/후 처리부(412)는 2차 2D IFFT가 수행된 데이터를 인터폴레이션(interpolation)하고, 그 후에 프리즘 페이즈(prism phase(Tilt Transmittance)) 연산을 수행할 수 있다. 그리고, 전/후 처리부(412)는 픽셀 인코딩(pixel encoding)을 수행함으로써 홀로그램 영상에 대응하는 데이터를 생성할 수 있다.
580 단계에서, 영상 처리 시스템(400)은, 디스플레이 인터페이스(DP I/F)를 통해서, 디스플레이 장치(2000)에게 홀로그램 영상에 대응하는 데이터를 전송한다. 그리고, 디스플레이 장치(2000)는 디스플레이 패널(panel)을 통하여 홀로그램 영상을 출력한다.
도 6은 일 실시예에 따른 영상 처리 시스템의 일 예를 나타내는 세부 구성도이다.
도 6을 참조하면, 영상 처리 시스템(600)은 영상 처리 장치(610) 및 복수의 메모리들(621, 622)을 포함한다. 한편, 도 6에는 디스플레이 장치(3000)는 영상 처리 시스템(600)에 포함되지 않은 것으로 도시되어 있으나, 디스플레이 장치(3000)도 영상 처리 시스템(600)에 포함될 수 있음은 도 4를 참조하여 상술한 바와 같다.
도 4와 도 6을 비교하면, 도 4의 제어부(411)는 도 6의 시스템 컨트롤러 유닛(System controller unit; 이하 'SCU'라고 함)(611)에 대응되고, 도 4의 적어도 하나의 코어(413)은 도 6의 1D IFFT 프로세서(613)에 대응된다. 도 6에는 영상 처리 장치(610)가 1D IFFT 프로세서(613)를 16개 포함하는 것으로 도시되어 있으나, 그 수에는 제한이 없다.
또한, 도 4의 전/후 처리부(412)는 도 6의 영상 처리 장치(610)에서 SCU(611) 및 1D IFFT 프로세서(613)를 제외한 나머지 구성들에 대응된다. 구체적으로, 전/후 처리부(412)는 디스플레이 인터페이스(Display Interface; 이하, 'DP I/F'라고 함)(6121), 메모리 인터페이스(Memory Interface; 이하, 'Memory I/F'라고 함)(6122), 시스템 버스(system bus)(6123), 데이터 준비 유닛(Data Preparation Unit; 이하, 'DPU'라고 함)(6124), 후처리 유닛(Post Processing Unit; 이하, 'PPU'라고 함)(6125) 및 데이터 필터링 유닛(Data Filtering Unit; 이하, 'DFU'라고 함)(6126)을 포함한다.
도 6에는 각 유닛이 수행하는 기능에 따라 DPU(6124), PPU(6125) 및 DFU(6126)로 구분되어 도시되어 있다. DPU(6124), PPU(6125) 및 DFU(6126)가 수행하는 기능을 개략적으로 정리하면 아래와 같다.
DPU(6124)는 1D IFFT 프로세서(613) 및 PPU(6125)가 동작하는데 필요한 데이터를 제공하는 유닛이다. 예를 들어, DPU(6124)는 depth addition, data aligning, depth data providing, zero padding 등을 수행할 수 있다. 구체적으로, DPU(6124)는 제로 패딩 블록(Zero Padding Block; 'ZPB'이라고 함)(61241), 깊이 추가 블록(Depth Addtion Block; 이하, 'DAB'라고 함)(61242) 및 깊이 데이터 제공자(Depth Data Provider; 이하, 'DDP'라고 함)(61243)를 포함한다.
ZPB(61241)는 주파수 필터링이 적용된 주파수 데이터에 대하여 제로 패딩(zero-padding)을 수행함으로써, IFFT 연산에 필요한 데이터 포인트(data point)의 수를 맞춘다. 또한, 매 프레임의 마지막 행 방향의 IFFT가 수행되어야 할 데이터 및 열 방향의 IFFT가 수행되어야 할 데이터를 1D IFFT 프로세서(613)에 전달한 이후, 1D IFFT 프로세서(613)의 내부에 잔존하는 결과 데이터(즉, 중간 데이터 및/또는 최종 데이터)를 모두 출력하기 위하여 2K/1K-point의 더미(dummy(zero)) 데이터를 1D IFFT 프로세서(613)에 추가로 전달한다.
DAB(61242)는 8개의 깊이(depth)를 갖는 각각의 프레임 데이터를 더한다.
DDP(61243)는 메모리들(621, 622)로부터 독출된 데이터에서 현재 연산이 수행되어야 할 깊이 정보를 갖고 있는 데이터만 선택하여 1D IFFT 프로세서(613)에 전달한다.
PPU(6125)는 1차 및 2차 2D IFFT가 수행된 데이터에 대하여 UHD(Ultra High Definition) 확장(extension), 프리즘 페이즈 연산(prism phase computation), 좌/우 영상 정합(L/R addition) 및 감마 보정(gamma correction)을 수행한다. 구체적으로, PPU(6125)는 프리즘 페이즈 블록(Prism phase block; 이하, 'PPB'라고 함)(61251), 좌/우 영상 정합 및 인코딩 블록(L/R addition & encoding block; 이하, 'LRAB'라고 함)(61252) 및 픽셀 인코딩(Pixel Encording) 블록(61253)을 포함한다.
PPB(61251)는 UHD 프레임에서 각 포인트 데이터의 좌표에 의해 결정되는 특정 복소수 값을 곱하는 연산을 수행한다.
LRAB(61252)는 좌안 영상에 대응하는 데이터 및 우안 영상에 대응하는 데이터를 하나로 정합한다. 그리고, 정합된 데이터를 포인트 당 0부터 255까지의 8-bit 값을 할당한다.
픽셀 인코딩 블록(61253)은 FHD(2Kx1K) 해상도의 프레임 데이터를 UHD(4Kx2K) 해상도로 확장한다. 그리고, 도 2 및 도 3을 참조하여 상술한 최종 데이터를 디스플레이 장치(3000)의 형식에 맞는 8-bit 정수 데이터로 변환한다.
DFU(6126)는 1D IFFT 프로세서(613)로부터 출력된 데이터 또는 PPU(6125)로부터 출력된 데이터에 대하여 주파수 필터링(frequency filtering), 포커스 텀(focus term) 연산 및 스케일링(scaling) 등을 수행한다. 구체적으로, DFU(6126)는 주파수 필터링 블록(Frequency Filtering Block; 이하, 'FFB'라고 함)(61261) 및 포커스 텀 블록(Focus Term Block; 이하, 'FTB'라고 함)(61262)을 포함한다.
FFB(61261)는 1차 2D IFFT 연산이 수행된 데이터의 포인트 수를 1/4로 줄이는 주파수 필터링을 수행한다.
FTB(61262)는 1차 2D IFFT 연산이 수행된 데이터에 대하여 각 포인트 데이터의 좌표에 의해 결정되는 특정 복소수 값을 곱함으로써 영상의 초점을 보정한다.
SCU(611)는 영상 처리 시스템(600)의 전체적인 동작들을 제어한다. 예를 들어, SCU(611)는 디스플레이 장치(3000)와 컨트롤 신호를 교환할 수 있다. 또한, SCU(611)는 영상 처리 시스템(600)에 현재 처리 중인 프레임에 대한 정보를 제공하고, 각각의 처리 과정에서 수행되어야 하는 절차들을 제어한다.
1D IFFT 프로세서(613)는 데이터에 대한 FFT를 수행한다. 예를 들어, 1D IFFT 프로세서(613)는, 듀얼 모드(dual-mode)를 사용하여, 1K-point IFFT 와 2K-point IFFT를 번갈아 가며 수행할 수 있다. 다시 말해, 2D IFFT 연산이 수행되어야 하는 경우, 1D IFFT 프로세서(613)는, 2D의 데이터에 대하여, 행 방향으로의(row-wise) 1D IFFT 및 열 방향으로의(column-wise) 1D IFFT를 각각 1회씩 수행해야 한다. 일 실시예에 따른 영상 처리 장치(610)에는 듀얼 모드(dual-mode)로 동작하는 1D IFFT 프로세서(613)가 포함됨에 따라 하드웨어 활용률(hardware utilization)이 향상될 수 있다. 다시 말해, 영상 처리 장치(610)에 행 방향으로의 1D IFFT를 수행하는 프로세서와 열 방향으로의 1D IFFT를 수행하는 프로세서가 모두 포함되지 않아도 되므로, 하드웨어 활용률(hardware utilization)이 향상될 수 있다.
1D IFFT 프로세서(613)가 1차 2D IFFT를 수행하는 일 예는 다음과 같다. 먼저, 1D IFFT 프로세서(613)는 행 방향의 2K-point 1D IFFT를 수행한다. 그 후에, 1D IFFT 프로세서(613)는 열 방향의 1K-point 1D IFFT를 수행한다. 그리고, 1D IFFT 프로세서(613)가 2차 2D IFFT를 수행하는 일 예는 다음과 같다. 1차 2D IFFT에서와는 반대로, 먼저, 1D IFFT 프로세서(613)는 열 방향의 1K-point 1D IFFT를 수행한다. 그 후에, 1D IFFT 프로세서(613)는 행 방향의 2K-point 1D IFFT를 수행한다.
이때, 각각의 1D IFFT 연산이 진행됨에 따라 생성되는 역-비트 시퀀스(bit-reversal sequence)의 주파수 데이터는 해독기(unscramble)를 거쳐 일반 시퀀스(natural sequence)로 출력되고, 이는 메모리들(621, 622) 중 어느 하나에 저장될 수 있다.
또한, 1D IFFT 프로세서(613)가 복수 개 포함된 경우, 각각의 1D IFFT 프로세서(613)는 상술한 과정들을 병렬적으로 수행할 수 있다.
복수의 메모리들(621, 622) 각각은 도 2 및 도 3을 참조하여 상술한 영상 데이터, 중간 데이터 및 최종 데이터를 저장한다.
Memory I/F(6122)는 메모리에 대한 physical/memory controller interface를 제공하며, 시스템 버스(6123)를 통하여 복수의 메모리들(621, 622) 각각의 원하는 어드레스(address)에 데이터를 기록하거나 독출한다.
시스템 버스(6123)는 데이터의 독출/기록(Read/Write) transaction을 관리한다. 시스템 버스(6123)는 영상 처리 장치(610)에 포함된 유닛들에서 처리된 데이터의 전달을 위하여, 버스 인터페이스(bus interface)에 맞게 데이터를 배열 및 맵핑하는 기능을 수행한다. 시스템 버스(6123)는 SCU(611)과 제어 신호를 교환하며, DP I/F(6121)가 복수의 메모리들(621, 622)에 직접 액세스하는 것을 제어한다.
DP I/F(6121)는 영상 데이터를 시스템 버스(6123)에 맵핑하며, bits per color (BPC), data lane, transfer mode 등을 관리한다. 또한, DP I/F(6121)는 디스플레이 장치(3000)에 대한 physical layer를 제공한다. 또한, DP I/F(6121)는 Video protocol, maximum bandwidth, reference clock 등을 관리한다. 또한, DP I/F(6121)는 디스플레이 장치(3000)의 동작을 제어하고, 시스템 버스(6123)와도 연결이 되어있어 복수의 메모리들(621, 622)에 직접 액세스할 수도 있다.
영상 처리 시스템(600)은 복수의 메모리들(621, 622) 각각에 저장된 데이터를 이용하여 복수의 연산들을 병렬적으로 처리한다. 예를 들어, 영상 처리 시스템(600)은 제 1 메모리(621)로부터의 데이터 독출 및 제 2 메모리(622)로의 데이터 기록을 포함하는 제 1 과정과 제 2 메모리(622)로부터의 데이터 독출 및 제 1 메모리(621)로의 데이터 기록을 포함하는 제 2 과정을 병렬적으로 수행한다. 다시 말해, 영상 처리 시스템(600)은 제 1 과정 및 제 2 과정을 병렬적으로 수행함에 따라 도 5에 도시된 영상 데이터를 처리하는 방법을 수행한다. 이하, 도 7a 내지 도 7g를 참조하여, 영상 처리 시스템(600)이 영상 데이터를 처리하는 일 예를 설명한다.
도 7a 내지 도 7g는 일 실시예에 따른 영상 처리 시스템이 동작하는 일 예를 설명하기 위한 도면들이다.
개략적으로, 도 7a는 도 5의 510 단계를 나타내는 도면이고, 도 7b 내지 도 7f는 도 5의 520 단계 내지 570 단계를 나타내는 도면들이다. 또한, 도 7g는 도 5의 580 단계를 나타내는 도면이다. 따라서, 이하에서 생락된 내용이라 하더라도 도 5를 참조하여 상술한 내용은 도 7a 내지 도 7g를 참조하여 후술하는 예에도 적용됨을 알 수 있다.
도 6을 참조하여, 영상 처리 시스템(600)에 포함된 유닛들이 수행하는 기능에 대하여 설명하였다. 따라서, 이하에서는 영상 처리 시스템(600)에서의 데이터의 흐름에 대하여 설명하고, 영상 처리 시스템(600)에 포함된 유닛들이 수행하는 기능에 대한 구체적인 설명은 생략한다.
또한, 도 7a 내지 도 7g에 도시된 절차는 영상 처리 시스템(600)의 SCU(611)에 의하여 제어된다.
도 7a를 참조하면, 초기 상태(예를 들어, 영상 처리 시스템(600)에 전원을 인가하거나, 영상 처리 시스템(600)을 리셋하는 경우)에서, 영상 처리 시스템(600)은 외부 장치로부터 영상 데이터를 수신한다. 이때, 수신된 영상 데이터는 DP I/F(6121)를 통하여 제 1 메모리(621)에 저장된다.
도 7b를 참조하면, 제 1 메모리(621)에서 깊이 데이터(예를 들어, 8 bit/point) 및 프레임 데이터(예를 들어, 8 bit/point)가 독출된다. 그 후에, 1D IFFT 프로세서(613)는 독출된 데이터에 대하여 행 방향으로의 2K-point 1D IFFT연산을 수행하고, 그 결과를 제 2 메모리(622)에 저장한다. 이때, IFFT 연산은 프레임 데이터(예를 들어, 좌안 영상 및 우안 영상 각각이 8 depth를 갖는 프레임 데이터)에 대해 수행된다. 도 7b에 도시된 과정을 위하여, 시스템 버스(6123), DDP(61243), ZPB(61241), 1D IFFT 프로세서(613) 및 FFB(61261)이 동작한다.
도 7c를 참조하면, 도 7b에 도시된 절차를 통해 연산이 완료된 데이터가 제 2 메모리(622)에서 독출된다. 1D IFFT 프로세서(613)는 열 방향으로의 1K-point 1D IFFT 연산을 수행하고, 그 결과를 제 1 메모리(611)에 저장한다. 이 때 IFFT 연산은 프레임 데이터(예를 들어, 좌안 영상 및 우안 영상 각각이 8 depth를 갖는 프레임 데이터)에 대해 수행된다. 도 7c에 도시된 과정을 위하여, 시스템 버스(6123), ZPB(61241), 1D IFFT 프로세서(613), FFB(61261) 및 FTB(61262)가 동작한다.
도 7b 내지 도 7c에 도시된 절차를 통해, 1차 2D IFFT 연산이 완료된 데이터가 생성된다. 다시 말해, 도 7b에 도시된 절차에 의하여 행 방향으로의 2K-point 1D IFFT가 수행되고, 도 7c의 절차에 의하여 열 방향으로의 1K-point 1D IFFT 가 수행됨에 따라 1차 2D IFFT 연산이 완료된다.
도 7d를 참조하면, 1차 2D IFFT 연산이 완료된 데이터(예를 들어, 32 bit/point)가 제 1 메모리(621)에서 독출된다. 그리고, 독출된 데이터에 포함된 좌안 영상 프레임과 우안 영상 프레임 각각에 대하여 깊이에 대응하는 데이터가 합산된다. 그 후에, ZPB(61241)는 열 방향의 주파수 필터링(column-wise frequency filtering)에 의해 저장되지 않았던 1K-point 데이터 중 일부를 0으로 패딩(padding)함으로써 신규 1K-point 데이터를 형성한다. 그 후에, 1D IFFT 프로세서(613)는 신규 1K-point 데이터에 대하여 열 방향으로의 1K-point 1D IFFT 연산을 수행하고, 그 결과를 제 2 메모리(622)에 저장한다. 도 7d에 도시된 과정을 위하여, 시스템 버스(6123), DAB(61242), ZPB(61241), 1D IFFT 프로세서(613) 및 FFB(61261)가 동작한다.
도 7e를 참조하면, 도 7d에 도시된 잘차를 통해 연산이 완료된 데이터(예를 들어, 32 bit/point)가 제 2 메모리(622)에서 독출된다. 그 후에, ZPB(61241)는 행 방향의 주파수 필터링(row-wise frequency filtering)에 의해 저장되지 않았던 2K-point 데이터 중 일부를 0으로 패딩(padding)함으로써 신규 2K-point 데이터를 형성한다. 그 후에, 1D IFFT 프로세서(613)는 신규 2K-point 데이터에 대하여 행 방향으로의 2K-point 1D IFFT 연산을 수행하고, 그 결과를 제 1 메모리(622)에 저장한다. 도 7e에 도시된 과정을 위하여, 시스템 버스(6123), ZPB(61241), 1D IFFT 프로세서(613) 및 FFB(61261)가 동작한다.
도 7d 내지 도 7e에 도시된 절차를 통해, 2차 2D IFFT 연산이 완료된 데이터가 생성된다. 다시 말해, 도 7d에 도시된 절차에 의하여 열 방향으로의 2K-point 1D IFFT가 수행되고, 도 7e의 절차에 의하여 행 방향으로의 2K-point 1D IFFT 가 수행됨에 따라 2차 2D IFFT 연산이 완료된다.
도 7f를 참조하면, 2차 2D IFFT 연산이 완료된 데이터(예를 들어, 32 bit/point)가 제 1 메모리(621)에서 독출된다. 독출된 데이터는 순서가 변경되어 PPU(6125)에 제공된다. PPU(6125)에서는 FHD 프레임 데이터 대한 확장(extension)을 수행하여 UHD로 확장한다. 그 후에, 확장된 데이터에 프리즘 페이즈(prism phase) 연산을 수행한다. 그 후에, 프리즘 페이즈 연산이 완료된 데이터에, 좌안 영상 프레임의 데이터 및 우안 영상 프레임의 데이터를 더한다. 그 후에, 픽셀 인코딩이 수행되고, 최종 데이터가 제 2 메모리(622)에 저장된다. 도 7f에 도시된 과정을 위하여, 시스템 버스(6123), PPU(6125) 및 FFB(61261)가 동작한다.
도 7g를 참조하면, 제 2 메모리(622)에 저장된 최종 데이터가 독출되고, 독출된 데이터는 시스템 버스(6123)와 DP I/F(6121)를 통해 디스플레이 장치(3000)로 출력된다. 이와 동시에, 기록을 담당하는 메모리와 독출을 담당하는 메모리의 위치를 전환하여 도 7a 내지 도 7g에 도시된 절차를 반복한다. 여기에서, 메모리의 위치 전환은, 도 7a의 영상 데이터가 제 2 메모리(622)에 기록되고 그 이후의 과정이 진행되는 것을 의미한다.
한편, 도 7f를 참조하여 상술한 바와 같이, PPU(6125)은 중간 데이터에 대하여 프리즘 페이즈 연산을 수행한다. 예를 들어, PPU(6125)에 포함된 PPB(61251)는 룩-업 테이블(look-up table)에 저장된 데이터를 이용하여 프리즘 페이즈 연산을 수행할 수 있다. 여기에서, 프리즘 페이즈 연산은 잡음(noise)이 없는 공간에 좌안 및 우안에 맞는 홀로그램 영상이 비춰주는 역할을 하는 것으로, 아래와 같은 수학식 1에 의하여 이루어진다.
Figure pat00001
수학식 1에서, x는 x축 방향 거리를 의미하고, y는 y축 방향 거리를 의미한다. 또한, a 및 b는 상수로서, 영상 처리 장치(410, 610)에 기 설정될 수 있다. 따라서, 프리즘 페이즈 연산은 소정의 주기에 따라 반복(예를 들어, 정현파)되는 값들을 이용하여 수행될 수 있다.
일 실시예에 따른 PPB(61251)는 프리즘 페이즈 연산을 수행함에 있어서 룩-업 테이블(look-up table)에 저장된 데이터를 이용한다. 특히, 프리즘 페이즈 연산에 이용되는 값들이 소정의 주기에 따라 반복되기에, 룩-업 테이블에는 전체 데이터(값) 중 일부만 저장될 수 있다.
이하, 도 8 및 도 9를 참조하여, PPB(61251)가 동작하는 일 예를 설명한다.
도 8은 일 실시예에 따른 프리즘 페이즈 연산에 이용되는 값들의 특성을 설명하기 위한 도면이다.
도 8을 참조하면, 프리즘 페이즈 연산에 이용되는 값들이 소정의 주기에 따라 반복되는 것으로 도시되어 있다. 예를 들어, 프리즘 페이즈 연산에 이용되는 값들은 사인(sine) 함수 또는 코사인(cosine) 함수와 같은 형태로 도시될 수 있다.
일 실시예에 따른 PPB(61251)는 룩-업 테이블로부터 프리즘 페이즈 연산에 이용되는 값을 독출한다. 이때, 룩-업 테이블에는 프리즘 페이즈 연산에 이용되는 전체 데이터(값) 중 일부 데이터(값)만 저장될 수 있다.
예를 들어, 도 8에 도시된 바와 같이, 프리즘 페이즈 연산에 이용되는 값들은 4/4π를 주기로 반복될 수 있다. 따라서, 일 실시예에 따른 룩-업 테이블에는 1/4π에 대응하는 데이터만 저장되고, PPB(61251)은 1/4π에 대응하는 데이터만을 이용하여 전체 프리즘 페이즈 연산을 수행할 수 있다.
구체적으로, PPB(61251)는 1/4π에 대응하는 값들을 좌-우 대칭 및/또는 양수-음수 변경을 함으로써, 4/4π에 대응하는 값들을 연산할 수 있다. 따라서, PPB(61251)는 룩-업 테이블에 저장된 일부 데이터만을 이용하여 전체 프리즘 페이즈 연산을 수행할 수 있다. 따라서, 룩-업 테이블의 크기가 감소될 수 있는바, 영상 처리 장치(400, 600)의 전체 부피가 감소될 수 있다.
도 9는 일 실시예에 따른 PPB의 일 예를 나타내는 구성도이다.
PPB(910)에는 프리즘 페이즈 연산에 이용되는 주파수 데이터 및 컬러 데이터가 입력된다. 이 때, 카운터(920)는 입력된 주파수 데이터 및 컬러 데이터에 대응하는 좌표(프레임 내의 좌표)를 계산하여, PPB(910)에 전송한다. PPB(910)는 입력된 좌표에 따른 주소(Address)를 계산한다. 그리고, PPB(910)는 룩-업 테이블 에서 연산에 필요한 값을 독출한다. 그리고, PPB(910)는 독출된 값을 입력된 데이터에 곱함으로써 프리즘 페이즈 연산을 수행할 수 있다.
한편, 영상 처리 장치(400, 600)에는 복수의 PPB(910)들이 포함될 수 있고, 이 경우 복수의 PPB(910)들은 병렬적으로 프리즘 페이즈 연산을 수행할 수 있다.
상술한 바에 따르면, 영상 처리 시스템(400, 600)은 복수의 메모리들을 동시에 이용하여 연산을 수행하는바, 연산 속도를 높일 수 있다. 또한, 영상 처리 시스템(400, 600)은 룩-업 테이블에 저장된 일부 데이터를 이용하여 전체 프리즘 페이즈 연산을 수행하는 바, 영상 처리 장치(400, 600)의 전체 부피가 감소될 수 있다.
한편, 상술한 방법은 컴퓨터에서 실행될 수 있는 프로그램으로 작성 가능하고, 컴퓨터로 읽을 수 있는 기록매체를 이용하여 상기 프로그램을 동작시키는 범용 디지털 컴퓨터에서 구현될 수 있다. 또한, 상술한 방법에서 사용된 데이터의 구조는 컴퓨터로 읽을 수 있는 기록매체에 여러 수단을 통하여 기록될 수 있다. 상기 컴퓨터로 읽을 수 있는 기록매체는 마그네틱 저장매체(예를 들면, 롬, 램, USB, 플로피 디스크, 하드 디스크 등), 광학적 판독 매체(예를 들면, 시디롬, 디브이디 등)와 같은 저장매체를 포함한다.
본 실시예와 관련된 기술 분야에서 통상의 지식을 가진 자는 상기된 기재의 본질적인 특성에서 벗어나지 않는 범위에서 변형된 형태로 구현될 수 있음을 이해할 수 있을 것이다. 그러므로 개시된 방법들은 한정적인 관점이 아니라 설명적인 관점에서 고려되어야 한다. 본 발명의 범위는 전술한 설명이 아니라 특허청구범위에 나타나 있으며, 그와 동등한 범위 내에 있는 모든 차이점은 본 발명에 포함된 것으로 해석되어야 할 것이다.
400: 영상 처리 시스템
410: 영상 처리 장치
411: 제어부
412: 전/후 처리부
413: 코어
421: 제 1 메모리
422: 제 2 메모리
2000: 디스플레이 장치

Claims (15)

  1. 영상 데이터를 처리하는 영상 처리 시스템에 있어서,
    상기 영상 데이터를 처리하여 홀로그램 영상을 생성하는 영상 처리 장치; 및
    상기 영상 데이터 및 상기 영상 처리 장치에 의하여 처리된 데이터를 저장하는 복수의 메모리들;을 포함하고,
    상기 영상 처리 장치는 상기 복수의 메모리들 중 제 1 메모리로부터의 데이터 독출과 상기 복수의 메모리들 중 제 2 메모리로의 데이터 기록을 포함하는 제 1 과정 및 상기 제 2 메모리로부터의 데이터 독출과 상기 제 1 메모리로의 데이터 기록을 포함하는 제 2 과정을 병렬적으로 수행하는 영상 처리 시스템.
  2. 제 1 항에 있어서,
    상기 제 1 과정은 상기 제 1 메모리로부터 독출된 데이터가 처리되고, 상기 처리된 데이터가 상기 제 2 메모리에 기록되는 과정인 영상 처리 시스템.
  3. 제 1 항에 있어서,
    상기 제 2 과정은 상기 제 2 메모리로부터 독출된 데이터가 처리되고, 상기 처리된 데이터가 상기 제 1 메모리에 기록되는 과정인 영상 처리 시스템.
  4. 제 1 항에 있어서,
    상기 영상 처리 장치는
    데이터에 대한 FFT를 수행하는 적어도 하나의 코어;
    상기 코어에 입력되는 데이터 및 상기 코어로부터 출력되는 데이터를 처리하는 전/후 처리부; 및
    상기 영상 처리 장치의 동작을 제어하는 제어부;를 포함하는 영상 처리 시스템.
  5. 제 4 항에 있어서,
    상기 전/후 처리부는
    상기 복수의 메모리들과 연결된 메모리 인터페이스(interface);
    상기 메모리 인터페이스와 연결된 시스템 버스(system bus);
    상기 시스템 버스 및 상기 적어도 하나의 코어와 연결된 데이터 준비 유닛(data preparation unit);
    상기 데이터 준비 유닛과 연결된 후처리 유닛(post processing unit); 및
    상기 시스템 버스, 상기 후처리 유닛 및 상기 적어도 하나의 코어와 연결된 데이터 필터링 유닛(data filtering unit);을 포함하는 영상 처리 시스템.
  6. 제 1 항에 있어서,
    상기 영상 처리 장치는 룩-업 테이블(look-up table)에 저장된 데이터를 이용하여 프리즘 페이즈(prism phase) 연산을 수행하고,
    상기 룩-업 테이블에 저장된 데이터는 상기 프리즘 페이즈 연산에 이용되는 전체 데이터 중 일부 데이터인 영상 처리 시스템.
  7. 제 6 항에 있어서,
    상기 전체 데이터는 소정의 주기에 따라 반복되는 값들을 포함하고,
    상기 룩-업 테이블에 저장된 데이터는 상기 소정의 주기 중 1/4에 대응하는 데이터인 영상 처리 시스템.
  8. 제 1 항에 있어서,
    상기 영상 처리 시스템은
    상기 홀로그램 영상을 디스플레이하는 디스플레이 장치;를 더 포함하는 영상 처리 시스템.
  9. 영상을 처리하는 방법에 있어서,
    외부 장치로부터 입력된 영상 데이터를 처리하여 홀로그램 영상을 생성하는 단계; 및
    상기 영상 데이터 및 처리된 데이터를 저장하는 단계;를 포함하고,
    상기 생성하는 단계는,
    복수의 메모리들 중 제 1 메모리로부터의 데이터 독출과 상기 복수의 메모리들 중 제 2 메모리로의 데이터 기록을 포함하는 제 1 과정 및 상기 제 2 메모리로부터의 데이터 독출과 상기 제 1 메모리로의 데이터 기록을 포함하는 제 2 과정을 병렬적으로 수행하는 영상을 처리하는 방법.
  10. 제 9 항에 있어서,
    상기 제 1 과정은 상기 제 1 메모리로부터 독출된 데이터가 처리되고, 상기 처리된 데이터가 상기 제 2 메모리에 기록되는 과정인 영상을 처리하는 방법.
  11. 제 9 항에 있어서,
    상기 제 2 과정은 상기 제 2 메모리로부터 독출된 데이터가 처리되고, 상기 처리된 데이터가 상기 제 1 메모리에 기록되는 과정인 영상을 처리하는 방법.
  12. 제 9 항에 있어서,
    상기 생성하는 단계는,
    룩-업 테이블(look-up table)에 저장된 데이터를 이용하여 프리즘 페이즈(prism phase) 연산을 수행하고,
    상기 룩-업 테이블에 저장된 데이터는 상기 프리즘 페이즈 연산에 필요한 전체 데이터 중 일부 데이터인 영상을 처리하는 방법.
  13. 제 12 항에 있어서,
    상기 전체 데이터는 소정의 주기에 따라 반복되는 값들을 포함하고,
    상기 룩-업 테이블에 저장된 데이터는 상기 소정의 주기 중 1/4에 대응하는 데이터인 영상을 처리하는 방법.
  14. 제 9 항에 있어서,
    상기 생성된 홀로그램 영상을 디스플레이하는 단계;를 더 포함하는 영상을 처리하는 방법.
  15. 제 9 항의 방법을 컴퓨터에서 실행시키기 위한 프로그램을 기록한 컴퓨터로 읽을 수 있는 비일시적인(non-transitory) 기록매체.
KR1020170156607A 2017-11-22 2017-11-22 영상 데이터를 처리하는 방법 및 장치 KR102581470B1 (ko)

Priority Applications (2)

Application Number Priority Date Filing Date Title
KR1020170156607A KR102581470B1 (ko) 2017-11-22 2017-11-22 영상 데이터를 처리하는 방법 및 장치
US15/954,144 US10809663B2 (en) 2017-11-22 2018-04-16 Method and apparatus for processing image

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020170156607A KR102581470B1 (ko) 2017-11-22 2017-11-22 영상 데이터를 처리하는 방법 및 장치

Publications (2)

Publication Number Publication Date
KR20190059054A true KR20190059054A (ko) 2019-05-30
KR102581470B1 KR102581470B1 (ko) 2023-09-21

Family

ID=66533885

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020170156607A KR102581470B1 (ko) 2017-11-22 2017-11-22 영상 데이터를 처리하는 방법 및 장치

Country Status (2)

Country Link
US (1) US10809663B2 (ko)
KR (1) KR102581470B1 (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2023120832A1 (ko) * 2021-12-24 2023-06-29 (주)힉스컴퍼니 병렬 처리 방법 및 이를 이용한 고속 프로세싱 시스템

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20200116318A (ko) * 2019-04-01 2020-10-12 삼성전자주식회사 홀로그램 영상 데이터를 처리하는 장치 및 방법
GB2598310B (en) * 2020-08-24 2022-10-12 Dualitas Ltd Data processing

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008159200A (ja) * 2006-12-26 2008-07-10 Sony Corp ホログラム再生装置、ホログラム再生方法、読出装置、読出方法
KR20170043368A (ko) * 2015-10-13 2017-04-21 삼성전자주식회사 푸리에 변환을 수행하는 방법 및 장치

Family Cites Families (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3614189A (en) * 1970-04-23 1971-10-19 Rca Corp Holographic memory with illumination hologram providing reference and object beams
US3706080A (en) * 1971-06-01 1972-12-12 Honeywell Inc Holographic optical memory having pivot lens apparatus
US4120569A (en) * 1975-01-13 1978-10-17 Marvin H. Kleinberg Method and apparatus for the holographic storage and retrieval
JPH02143391A (ja) * 1988-11-25 1990-06-01 Ricoh Co Ltd 並列光情報処理装置
US5285438A (en) * 1991-10-31 1994-02-08 Regents Of The University Of California Motionless parallel readout head for an optical disk recorded with arrayed one-dimensional holograms
US5347375A (en) * 1991-11-26 1994-09-13 Kabushiki Kaisha Toshiba Computer-assisted holographic image formation technique which determines interference pattern data used to form the holographic
US5668648A (en) * 1991-11-26 1997-09-16 Kabushiki Kaisha Toshiba Computer-assisted holographic display apparatus
WO1997015150A1 (fr) * 1995-10-19 1997-04-24 Sony Corporation Procede et dispositif de formation d'images en trois dimensions
US20050100102A1 (en) * 2003-08-04 2005-05-12 Gazdzinski Robert F. Error-corrected wideband holographic communications apparatus and methods
EP2527928B1 (en) 2010-01-22 2019-07-17 University of Hyogo Generation method for complex amplitude in-line hologram and image recording device using said method
KR101841624B1 (ko) 2012-01-25 2018-03-26 삼성전자주식회사 고속으로 3d 홀로그램을 생성하는 방법 및 장치
US8830476B2 (en) * 2012-03-19 2014-09-09 The United States Of America As Represented By The Secretary Of The Army Methods and apparatuses for contact-free holographic imaging of aerosol particles
US8941674B2 (en) * 2012-11-30 2015-01-27 Analog Devices, Inc. System and method for efficient resource management of a signal flow programmed digital signal processor code
WO2015065345A1 (en) * 2013-10-30 2015-05-07 Empire Technology Development Llc Holographic image generation and reconstruction
US9185391B1 (en) * 2014-06-17 2015-11-10 Actality, Inc. Adjustable parallax distance, wide field of view, stereoscopic imaging system
KR102384223B1 (ko) 2015-02-26 2022-04-07 삼성전자주식회사 3차원 영상 표시용 광 변조 신호 형성 방법, 3차원 영상 표시 방법 및 장치
KR102452945B1 (ko) * 2015-08-27 2022-10-11 삼성전자주식회사 푸리에 변환을 수행하는 방법 및 장치
KR102464363B1 (ko) 2015-09-30 2022-11-07 삼성전자주식회사 푸리에 변환을 수행하는 방법 및 장치
KR102664383B1 (ko) 2016-11-30 2024-05-08 삼성전자주식회사 영상 데이터 처리 방법 및 장치

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008159200A (ja) * 2006-12-26 2008-07-10 Sony Corp ホログラム再生装置、ホログラム再生方法、読出装置、読出方法
KR20170043368A (ko) * 2015-10-13 2017-04-21 삼성전자주식회사 푸리에 변환을 수행하는 방법 및 장치

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2023120832A1 (ko) * 2021-12-24 2023-06-29 (주)힉스컴퍼니 병렬 처리 방법 및 이를 이용한 고속 프로세싱 시스템

Also Published As

Publication number Publication date
US10809663B2 (en) 2020-10-20
US20190155217A1 (en) 2019-05-23
KR102581470B1 (ko) 2023-09-21

Similar Documents

Publication Publication Date Title
EP3196773A2 (en) Directional backlight unit, three-dimensional (3d) image display apparatus, and 3d image displaying method
CN106412552B (zh) 用于处理全息图像的方法和装置
KR102581470B1 (ko) 영상 데이터를 처리하는 방법 및 장치
US10321159B2 (en) Apparatus and method of performing fourier transform
JP2011507022A (ja) ホログラフィ像表示システム
US11244492B2 (en) Parallel texture sampling
US11727659B2 (en) Method and apparatus for processing three-dimensional (3D) image
US10223763B2 (en) Apparatus and method for performing fourier transform
KR102654862B1 (ko) 영상 처리 방법 및 장치
CN109003227B (zh) 一种增强对比度的装置及显示器
CN110958442A (zh) 用于处理全息图像数据的方法和装置
JP4258236B2 (ja) 立体視画像生成装置
KR102477098B1 (ko) 영상 데이터 처리 방법 및 장치
JP2007249791A (ja) 画像処理装置および画像処理方法、並びにプログラム
CN108873660B (zh) 基于单空间光调制器的全息成像的方法、装置及设备
CN108154473A (zh) 用于处理图像的方法和装置
KR20190064961A (ko) 영상 데이터 처리 방법 및 장치
KR20200116318A (ko) 홀로그램 영상 데이터를 처리하는 장치 및 방법

Legal Events

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