KR102452945B1 - 푸리에 변환을 수행하는 방법 및 장치 - Google Patents

푸리에 변환을 수행하는 방법 및 장치 Download PDF

Info

Publication number
KR102452945B1
KR102452945B1 KR1020150121031A KR20150121031A KR102452945B1 KR 102452945 B1 KR102452945 B1 KR 102452945B1 KR 1020150121031 A KR1020150121031 A KR 1020150121031A KR 20150121031 A KR20150121031 A KR 20150121031A KR 102452945 B1 KR102452945 B1 KR 102452945B1
Authority
KR
South Korea
Prior art keywords
data
fft
final
fourier transform
image processing
Prior art date
Application number
KR1020150121031A
Other languages
English (en)
Other versions
KR20170025097A (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 KR1020150121031A priority Critical patent/KR102452945B1/ko
Priority to US15/218,243 priority patent/US10321159B2/en
Priority to EP16184294.3A priority patent/EP3139278A1/en
Priority to CN201610740690.3A priority patent/CN106485669B/zh
Publication of KR20170025097A publication Critical patent/KR20170025097A/ko
Application granted granted Critical
Publication of KR102452945B1 publication Critical patent/KR102452945B1/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/16Processes or apparatus for producing holograms using Fourier transform
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T5/00Image enhancement or restoration
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/60Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F17/00Digital computing or data processing equipment or methods, specially adapted for specific functions
    • G06F17/10Complex mathematical operations
    • G06F17/14Fourier, Walsh or analogous domain transformations, e.g. Laplace, Hilbert, Karhunen-Loeve, transforms
    • G06F17/141Discrete Fourier transforms
    • G06F17/142Fast Fourier transforms, e.g. using a Cooley-Tukey type algorithm
    • 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/42Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by implementation details or hardware specially adapted for video compression or decompression, e.g. dedicated software implementation
    • 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
    • G03H2210/00Object characteristics
    • G03H2210/303D object
    • 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]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/20Special algorithmic details
    • G06T2207/20048Transform domain processing
    • G06T2207/20056Discrete and fast Fourier transform, [DFT, FFT]

Abstract

일 실시 예에 따른 푸리에 변환을 수행하는 방법은 데이터의 행(Row) 방향으로 1D FFT(Fast Fourier Transform)를 수행하여 중간 데이터를 생성하는 단계; 상기 중간 데이터 중 일부 데이터를 저장하는 단계; 상기 일부 데이터의 열(Column) 방향으로 1D FFT를 수행하여 최종 데이터를 생성하는 단계; 및 상기 최종 데이터의 일부를 출력 데이터로 저장하는 단계;를 포함한다.

Description

푸리에 변환을 수행하는 방법 및 장치{Apparatus and Method for performing Fourier transform}
푸리에 변환을 수행하는 방법 및 장치에 관한 것이다.
최근 들어 3차원 영상에 관련된 기술이 많이 연구되고 있다. 빛의 진폭과 위상을 동시에 제어할 수 있는 복합 공간 광변조기(Complex Spatial Light Modulator, SLM)를 이용하여 실시간으로 고화질 홀로그램을 구현하는 장치에 대한 연구가 활발히 진행되고 있다.
최근에는 홀로그램 동영상을 재생하기 위해서 컴퓨터 생성 홀로그램(computer generated hologram, CGH)이 사용되고 있으며, 영상 처리 장치는 홀로그램 평면의 각 위치에 대한 홀로그램 값을 연산하는데, 연산량이 매우 방대하다. 즉, 공간상의 한 점을 표현하기 위해서 영상 처리 장치는 1번의 푸리에 변환(Fourier Transform)을 수행해야 하며, 공간의 영상을 표현하기 위해서는 픽셀의 개수 만큼의 푸리에 변환을 수행해야만 한다.
TV, 모바일 디바이스 등의 영상 처리 장치는 홀로그램 영상을 재생하기 위해 영상 데이터를 처리할 수 있다. 이 경우, 영상 처리 장치는 영상 데이터에 대해 푸리에 변환을 수행하고, 변환된 데이터를 이용하여 영상을 재생할 수 있다.
영상 처리 장치가 푸리에 변환을 수행할 때, 연산량이 많고, 많은 시간이 소요된다. 특히, 모바일 디바이스와 같은 휴대용 디바이스들은 크기에 제한이 있고, 사용가능한 전력(POWER)에도 제한이 있다. 따라서, 푸리에 변환을 수행할 때, 연산량 및 시간을 줄이기 위한 방법들이 요구된다.
푸리에 변환을 수행할 때, 연산량을 줄이기 위한 장치 및 방법을 제공하는 데 있다.
또한, 푸리에 변환을 수행할 때 사용되는 메모리의 용량을 줄이기 위한 장치 및 방법을 제공하는데 있다.
또한, 상기 방법을 컴퓨터에서 실행시키기 위한 프로그램을 기록한 컴퓨터로 읽을 수 있는 기록 매체를 제공하는데 있다.
일 실시 예에 따른 푸리에 변환을 수행하는 방법은 데이터의 행(Row) 방향으로 1D FFT(Fast Fourier Transform)를 수행하여 중간 데이터를 생성하는 단계; 상기 중간 데이터 중 일부 데이터를 저장하는 단계; 상기 일부 데이터의 열(Column) 방향으로 1D FFT를 수행하여 최종 데이터를 생성하는 단계; 및 상기 최종 데이터의 일부를 출력 데이터로 저장하는 단계;를 포함한다.
또한, 상기 중간 데이터를 생성하는 단계는, 행 방향으로 1D FFT를 수행하는 중 상기 일부 데이터가 모두 생성되면, 행 방향으로 1D FFT를 수행하는 것을 종료하는 것을 특징으로 한다.
또한, 상기 최종 데이터를 저장하는 단계는, 열 방향으로 1D FFT를 수행하는 중 상기 출력 데이터가 모두 생성되면, 열 방향으로 1D FFT를 수행하는 것을 종료하는 것을 특징으로 한다.
또한, 상기 일부 데이터를 저장하는 단계는, 상기 중간 데이터를 열 방향으로 절단하여 생성된 상기 일부 데이터를 상기 메모리에 저장하는 것을 특징으로 한다.
또한, 상기 출력 데이터로 저장하는 단계는, 상기 최종 데이터를 행 방향으로 절단하여 생성된 상기 출력 데이터를 상기 버퍼에 저장하는 것을 특징으로 한다.
또한, 상기 일부 데이터는 상기 중간 데이터 중 저주파 성분을 나타내는 것을 특징으로 한다.
또한, 상기 출력 데이터는 상기 최종 데이터 중 저주파 성분을 나타내는 것을 특징으로 한다.
또 다른 실시 예에 따른 푸리에 변환을 수행하는 방법은 데이터의 열 방향으로 1D FFT를 수행하여 중간 데이터를 생성하는 단계; 상기 중간 데이터 중 일부 데이터를 저장하는 단계; 상기 일부 데이터의 행 방향으로 1D FFT를 수행하여 최종 데이터를 생성하는 단계; 및 상기 최종 데이터의 일부를 출력 데이터로 저장하는 단계;를 포함한다.
또 다른 실시 예에 따른 영상 처리 장치는 데이터의 행 방향으로 1D FFT를 수행하여 중간 데이터를 생성하는 제1 코어; 상기 중간 데이터 중 일부 데이터를 저장하는 메모리; 상기 일부 데이터의 열 방향으로 1D FFT를 수행하여 최종 데이터를 생성하는 제2 코어; 및 상기 최종 데이터의 일부를 출력 데이터로 저장하는 버퍼;를 포함한다.
또한, 상기 제1 코어는 행 방향으로 1D FFT를 수행하는 중 상기 일부 데이터가 모두 생성되면, 행 방향으로 1D FFT를 수행하는 것을 종료하는 것을 특징으로 한다.
또한, 상기 제2 코어는 열 방향으로 1D FFT를 수행하는 중 상기 출력 데이터가 모두 생성되면, 열 방향으로 1D FFT를 수행하는 것을 종료하는 것을 특징으로 한다.
또한, 상기 제1 코어는 상기 중간 데이터를 열 방향으로 절단한 상기 일부 데이터를 상기 메모리에 저장하는 것을 특징으로 한다.
또한, 상기 제2 코어는 기 최종 데이터를 행 방향으로 절단한 상기 최종 데이터를 상기 버퍼에 저장하는 것을 특징으로 한다.
또한, 상기 일부 데이터는 상기 중간 데이터 중 저주파 성분을 나타내는 것을 특징으로 한다.
또한, 상기 출력 데이터는 상기 최종 데이터 중 저주파 성분을 나타내는 것을 특징으로 한다.
또 다른 일 실시 예에 따른 영상 처리 장치는 데이터의 열 방향으로 1D FFT를 수행하여 중간 데이터를 생성하는 제1 코어; 상기 중간 데이터 중 일부 데이터를 저장하는 메모리; 상기 일부 데이터의 행 방향으로 1D FFT를 수행하여 최종 데이터를 생성하는 제2 코어; 및 상기 최종 데이터의 일부를 출력 데이터로 저장하는 버퍼;를 포함한다.
또 다른 일 실시 예에 따른 영상 처리 장치는 NxM 데이터의 행 방향으로 1D FFT를 수행하는 N개의 제1 코어들; 상기 제1 코더들로부터 생성된 중간 데이터 중 L개의 열을 저장하는 메모리; 상기 메모리에 저장된 데이터를 열 방향으로 1D FFT를 수행하는 L개의 제2 코어들; 및 상기 제2 코어들로부터 출력된 최종 데이터를 저장하는 버퍼;를 포함한다.
또한, 상기 제1 코어들은 M-point FFT를 수행하는 것을 특징으로 한다.
또한, 상기 제2 코어들은 N-point FFT를 수행하는 것을 특징으로 한다.
또한, 상기 중간 데이터를 저장하고, 상기 중간 데이터의 M개의 열 중 선택된 L개의 열을 상기 메모리로 출력하는 FIFO 버퍼를 더 포함하는 것을 특징으로 한다.
또한, 상기 L개의 열 각각을 상기 L개의 제2 코어들 각각에 출력하는 인터리빙 버퍼를 더 포함하는 것을 특징으로 한다.
또 다른 일 실시 예에 따른 영상 처리 장치는 데이터의 행 방향으로 1D FFT를 수행하여 중간 데이터를 생성하는 제1 코어들; 상기 중간 데이터 중 일부 데이터를 저장하는 메모리; 상기 일부 데이터의 행 방향으로 1D FFT를 수행하여 최종 데이터를 생성하는 제2 코어들; 및 상기 최종 데이터의 일부를 출력 데이터로 저장하는 버퍼;를 포함하고, 상기 제1 코어들의 수는 상기 데이터의 열의 개와 일치하고, 상기 제2 코어들의 수는 상기 일부 데이터의 행의 수와 일치하는 것을 특징으로 한다.
전체 데이터 중에서 푸리에 변환을 수행할 데이터를 선택하고, 선택된 데이터에 대해 푸리에 변환을 수행함으로써 푸리에 변환을 수행할 때 발생하는 연산량을 줄일 수 있다.
전체 데이터 중에서 푸리에 변환을 수행할 데이터를 선택하고, 선택된 데이터만을 메모리에 저장함으로써, 푸리에 변환을 수행할 때 요구되는 메모리를 줄일 수 있다.
푸리에 변환을 수행하는 데이터를 줄임으로써, 푸리에 변환을 수행하는 코어의 수를 줄일 수 있다.
도 1은 영상 데이터를 처리하는 과정을 나타내는 흐름도이다.
도 2는 일 실시 예에 따른 푸리에 변환 방법을 나타내는 순서도이다.
도 3은 푸리에 변환을 수행하는 단계를 설명하기 위한 도면이다.
도 4는 또 다른 실시 예에 따른 푸리에 변환 방법을 설명하기 위한 도면이다.
도 5는 또 다른 실시 예에 다른 푸리에 변환을 설명하기 위한 흐름도이다.
도 6은 푸리에 변환을 수행하는 단계를 설명하기 위한 도면이다.
도 7은 또 다른 실시 예에 따른 푸리에 변환 방법을 설명하기 위한 도면이다.
도 8은 일 실시 예에 따른 영상 처리 장치를 설명하기 위한 구성도이다.
도 9는 또 다른 일 실시 예에 따른 영상 처리 장치를 설명하기 위한 구성도이다.
도 10은 또 다른 일 실시 예에 따른 영상 처리 장치를 설명하기 위한 구성도이다.
도 11은 데이터의 크기에 따른 푸리에 변환 방법을 설명하기 위한 도면이다.
도 12는 또 다른 일 실시 예에 따른 영상 처리 장치를 설명하기 위한 구성도이다.
이하에서는 도면을 참조하여 본 발명의 실시 예들을 상세히 설명한다.
도 1은 영상 데이터를 처리하는 과정을 나타내는 흐름도이다. 도 1을 참조하면, 영상 처리 장치는 영상 데이터를 수신하여, 영상을 출력할 수 있다.
단계 110에서, 영상 처리 장치는 영상 데이터를 수신한다. 예를 들어, CGH(Computer-Generated Holography)연산에 있어서 layer based 알고리즘을 영상 데이터에 적용하는 경우, 영상 데이터는 컬러 데이터, 깊이 데이터 등일 수 있다. 컬러 데이터는 평면마다 복수의 컬러들을 나타내는 데이터일 수 있다. Layer based 알고리즘은 홀로그램의 재생 영역을 깊이를 기준으로 분할하여 분할된 각 평면의 데이터를 처리하는 방법이다. 영상 처리 장치는 분할된 각 평면의 데이터를 푸리에 변환 또는 역 푸리에 변환(Inverse Fourier Transform)하여 홀로그램 영상을 생성할 수 있다.
단계 120에서, 영상 처리 장치는 화질 보정 및 필드 연산을 수행한다. 영상 처리 장치는 영상 데이터의 화질을 향상시키기 위해 영상 데이터를 보정할 수 있다.
단계 130에서, 영상 처리 장치는 푸리에 변환(Fourier Transform) 또는 패스트 푸리에 변환(Fast Fourier Transform)을 수행한다. 예를 들어, 영상 처리 장치는 2D 매트릭스 형태의 영상 데이터를 푸리에 변환할 수 있다. 영상 처리 장치는 2D 푸리에 변환을 위해 1D 푸리에 변환을 2회 수행할 수 있다. 영상 처리 장치는 영상 데이터를 행 방향으로 1D 푸리에 변환하고, 변환된 영상 데이터를 열 방향으로 1D 푸리에 변환할 수 있다. 영상 처리 장치는 푸리에 변환을 통해 홀로그래픽 영상을 생성한다.
영상 처리 장치는 복수의 코어들을 포함할 수 있으며, 복수의 코어들은 병렬적으로 영상 데이터를 푸리에 변환할 수 있다. 예를 들어, 영상 처리 장치는 각 평면의 영상 데이터를 복수의 코어들에 할당할 수 있으며, 복수의 코어들은 할당된 영상 데이터를 푸리에 변환한다.
영상 처리 장치가 영상 데이터를 푸리에 변환하는 과정은 도 2 내지 도 6을 통해 상세히 설명한다.
단계 140에서, 영상 처리 장치는 픽셀 인코딩을 수행한다. 영상 처리 장치는 픽셀 인코딩을 통하여 화면에 입력될 데이터를 생성한다.
단계 150에서, 영상 처리 장치는 영상 표시 장치로 영상을 출력한다.
영상 처리 장치는 많은 연산이 필요한 단계 140에서 일부 데이터만을 푸리에 변환을 함으로써, 연산량을 줄일 수 있다. 또한, 영상 처리 장치는 단계 140에서 일부 데이터만을 저장함으로써, 메모리에 저장하는 데이터를 줄일 수 있다.
도 2는 일 실시 예에 따른 푸리에 변환 방법을 나타내는 순서도이다.
단계 210에서, 영상 처리 장치는 데이터의 행 방향으로 1D FFT(Fast Fourier Transform)를 수행하여 중간 데이터를 생성한다. 데이터는 2D 매트릭스 형태일 수 있으며, 영상 처리 장치는 데이터의 각 행에 포함된 픽셀값들에 대한 1D FFT를 수행한다.
단계 220에서, 영상 처리 장치는 중간 데이터 중 일부 데이터를 저장한다. 영상 처리 장치는 중간 데이터 중에서 저주파 성분이 포함된 일부 데이터만을 저장할 수 있다. 예를 들어, 저주파 성분은 중간 데이터의 중앙에 포함될 수 있다. 영상 데이터는 중간 데이터의 중앙의 일부 열에 포함된 데이터만을 메모리에 저장할 수 있다.
단계 230에서, 영상 처리 장치는 일부 데이터의 열 방향으로 1D FFT를 수행하여 최종 데이터를 생성한다. 영상 처리 장치는 일부 데이터의 각 열에 포함된 픽셀값들에 대한 1D FFT를 수행한다.
단계 240에서, 영상 처리 장치는 최종 데이터의 일부를 출력 데이터로 저장한다. 영상 처리 장치는 최종 데이터 중에서 저주파 성분이 포함된 출력 데이터만을 메모리에 저장할 수 있다. 예를 들어, 저주파 성분은 최종 데이터의 중앙에 포함될 수 있다. 따라서, 영상 처리 장치는 최종 데이터의 일부 행에 포함된 데이터만을 메모리에 저장할 수 있다.
도 3은 푸리에 변환을 수행하는 단계를 설명하기 위한 도면이다. 도면 3에서는 설명의 편의를 위해 사각형으로 데이터를 표현하였으나, 데이터는 각각의 픽셀값들의 집합을 나타내고, 화살표는 영상 처리 장치가 픽셀값들에 대한 FFT를 수행하는 것을 나타낸다.
영상 처리 장치는 데이터(310)를 행 방향으로 1D FFT를 수행한다.
중간 데이터(320)는 데이터(310)를 행 방향으로 변환한 데이터를 나타낸다. 다시 말해서, 중간 데이터(320)는 변환된 픽셀값들을 포함한다.
일부 데이터(330)은 중간 데이터(320) 중 일부를 나타낸다. 영상 처리 장치는 중간 데이터(320) 중에서 일부만을 메모리에 저장할 수 있다. 다시 말해서, 영상 처리 장치는 중간 데이터(320)를 경계(301)과 경계(302) 사이의 픽셀값들만 일부 데이터(330)으로 메모리에 저장할 수 있다. 따라서, 영상 처리 장치는 중간 데이터(320) 전체를 메모리에 저장하는 경우보다 일부 데이터(330)만을 메모리에 저장하여 메모리의 저장 공간을 줄일 수 있다.
또한, 영상 처리 장치는 중간 데이터(320) 중 일부 픽셀값들을 선정하고, 나머지 픽셀값들은 0으로 채워서 일부 데이터(330)를 생성할 수 있다. 일부 데이터(330)에서 검정색으로 표시된 부분은 중간 데이터(320)의 픽셀값들을 나타내고, 흰색으로 표시된 부분들의 픽셀값은 0을 나타낸다.
영상 처리 장치는 일부 데이터(330)의 열 방향으로 1D FFT를 수행한다. 일부 데이터(330)에 표시된 화살표는 1D FFT를 수행하는 방향을 나타낸다.
최종 데이터(340)는 일부 데이터(330)를 열 방향으로 변환한 데이터를 나타낸다. 결론적으로, 최종 데이터(340)는 데이터(310)을 행 방향 및 열 방향으로 2D 푸리에 변환한 데이터를 나타낸다.
영상 처리 장치는 최종 데이터(340) 중에서 일부만 메모리에 저장할 수 있다. 출력 데이터(350)는 최종 데이터(340) 중 일부를 나타낸다. 영상 처리 장치는 최종 데이터(340)에서 경계들(301 내지 304) 사이의 픽셀값들만 출력 데이터(330)로 메모리에 저장할 수 있다.
또한, 영상 처리 장치는 최종 데이터(340) 중 일부 픽셀값들을 선정하고, 나머지 픽셀값들은 0으로 채워서 출력 데이터(350)를 생성할 수 있다. 출력 데이터(350)에서 검정색으로 표시된 부분은 최종 데이터(340)의 픽셀값들을 나타내고, 흰색으로 표시된 부분들의 픽셀값은 0을 나타낸다.
도 4는 또 다른 실시 예에 따른 푸리에 변환 방법을 설명하기 위한 도면이다. 도 4를 참조하면, 영상 처리 장치는 출력 데이터(450)를 생성하는데 필요한 데이터를 획득하면 푸리에 변환을 조기에 종료할 수 있으며, 연산량을 줄일 수 있다.
영상 처리 장치는 행 방향으로 데이터(410)의 경계(401)까지 푸리에 변환을 수행한다. 다시 말해서, 영상 처리 장치는 경계(401)까지의 픽셀들에 대한 푸리에 변환값을 계산한다.
영상 처리 장치는 중간 데이터(420)의 경계들(401 내지 403)까지의 변환값들을 포함하는 일부 데이터(430)를 메모리에 저장한다. 일부 데이터(430)는 경계들(401 내지 403)까지의 변환값들을 포함하며, 나머지 픽셀값들은 0일 수 있다.
영상 처리 장치는 일부 데이터(430)의 열 방향으로 경계(403)까지 픽셀값들에 대한 푸리에 변환을 수행한다. 더 상세히 설명하면, 영상 처리 장치는 일부 데이터(430)의 경계들(401 내지 403)까지의 픽셀값들에 대한 푸리에 변환을 수행한다.
최종 데이터(440)는 일부 데이터(430)를 열 방향으로 변환한 데이터를 나타낸다. 결론적으로, 최종 데이터(440)는 데이터(410)을 행 방향 및 열 방향으로 2D 푸리에 변환한 데이터를 나타낸다.
영상 처리 장치는 최종 데이터(440) 중에서 일부만 메모리에 저장할 수 있다. 출력 데이터(450)는 최종 데이터(440)의 경계들(401 내지 404)에 포함된 데이터를 포함한다. 출력 데이터(450)의 나머지 픽셀값들은 0일 수 있다. 다시 말해서, 출력 데이터(450)에서 검정색으로 표시된 부분은 최종 데이터(440)의 픽셀값들을 나타내고, 흰색으로 표시된 부분들의 픽셀값은 0을 나타낸다.
도 5는 또 다른 실시 예에 다른 푸리에 변환을 설명하기 위한 흐름도이다. 도 2의 순서도와 비교할때, 영상 처리 장치는 행과 열의 순서를 변경하여 푸리에 변환을 수행할 수 있다.
단계 510에서, 영상 처리 장치는 데이터의 열 방향으로 1D FFT를 수행하여 중간 데이터를 생성한다. 데이터는 2D 매트릭스 형태일 수 있으며, 영상 처리 장치는 데이터의 각 행에 포함된 픽셀값들에 대한 1D FFT를 수행한다.
단계 520에서, 영상 처리 장치는 중간 데이터 중 일부 데이터를 저장한다. 영상 처리 장치는 중간 데이터 중에서 저주파 성분이 포함된 일부 데이터만을 저장할 수 있다. 예를 들어, 저주파 성분은 중간 데이터의 중앙에 포함될 수 있다. 영상 데이터는 중간 데이터의 중앙의 일부 행에 포함된 데이터만을 메모리에 저장할 수 있다.
단계 530에서, 영상 처리 장치는 일부 데이터의 행 방향으로 1D FFT를 수행하여 최종 데이터를 생성한다. 영상 처리 장치는 일부 데이터의 각 행에 포함된 픽셀값들에 대한 1D FFT를 수행한다.
단계 540에서, 영상 처리 장치는 최종 데이터의 일부를 출력 데이터로 저장한다. 영상 처리 장치는 최종 데이터 중에서 저주파 성분이 포함된 출력 데이터만을 메모리에 저장할 수 있다. 예를 들어, 저주파 성분은 최종 데이터의 중앙에 포함될 수 있다. 따라서, 영상 처리 장치는 최종 데이터의 일부 열에 포함된 데이터만을 메모리에 저장할 수 있다.
도 6은 푸리에 변환을 수행하는 단계를 설명하기 위한 도면이다. 도면 6에서는 설명의 편의를 위해 사각형으로 데이터를 표현하였으나, 데이터는 각각의 픽셀값들의 집합을 나타내고, 화살표는 영상 처리 장치가 픽셀값들에 대한 FFT를 수행하는 것을 나타낸다.
영상 처리 장치는 데이터(610)를 열 방향으로 1D FFT를 수행한다.
중간 데이터(620)는 데이터(610)를 열 방향으로 변환한 데이터를 나타낸다. 다시 말해서, 중간 데이터(620)는 변환된 픽셀값들을 포함한다.
일부 데이터(630)은 중간 데이터(620) 중 일부를 나타낸다. 영상 처리 장치는 중간 데이터(620) 중에서 일부만을 메모리에 저장할 수 있다. 다시 말해서, 영상 처리 장치는 중간 데이터(620)를 경계(601)과 경계(602) 사이의 픽셀값들만 일부 데이터(630)으로 메모리에 저장할 수 있다. 따라서, 영상 처리 장치는 중간 데이터(620) 전체를 메모리에 저장하는 경우보다 일부 데이터(630)만을 메모리에 저장하여 메모리의 저장 공간을 줄일 수 있다.
또한, 영상 처리 장치는 중간 데이터(620) 중 일부 픽셀값들을 선정하고, 나머지 픽셀값들은 0으로 채워서 일부 데이터(630)를 생성할 수 있다. 일부 데이터(630)에서 검정색으로 표시된 부분은 중간 데이터(620)의 픽셀값들을 나타내고, 흰색으로 표시된 부분들의 픽셀값은 0을 나타낸다.
영상 처리 장치는 일부 데이터(630)의 행 방향으로 1D FFT를 수행한다. 일부 데이터(630)에 표시된 화살표는 1D FFT를 수행하는 방향을 나타낸다.
최종 데이터(640)는 일부 데이터(630)를 열 방향으로 변환한 데이터를 나타낸다. 결론적으로, 최종 데이터(640)는 데이터(610)를 열 방향 및 행 방향으로 2D 푸리에 변환한 데이터를 나타낸다.
영상 처리 장치는 최종 데이터(640) 중에서 일부만 메모리에 저장할 수 있다. 출력 데이터(650)는 최종 데이터(640) 중 일부를 나타낸다. 영상 처리 장치는 최종 데이터(640)에서 경계들(601 내지 604) 사이의 픽셀값들만 출력 데이터(630)로 메모리에 저장할 수 있다.
또한, 영상 처리 장치는 최종 데이터(640) 중 일부 픽셀값들을 선정하고, 나머지 픽셀값들은 0으로 채워서 출력 데이터(650)를 생성할 수 있다. 출력 데이터(650)에서 검정색으로 표시된 부분은 최종 데이터(640)의 픽셀값들을 나타내고, 흰색으로 표시된 부분들의 픽셀값은 0을 나타낸다.
도 7은 또 다른 실시 예에 따른 푸리에 변환 방법을 설명하기 위한 도면이다. 도 7을 참조하면, 영상 처리 장치는 출력 데이터(750)를 생성하는데 필요한 데이터를 획득하면 푸리에 변환을 조기에 종료할 수 있으며, 연산량을 줄일 수 있다.
영상 처리 장치는 열 방향으로 데이터(710)의 경계(701)까지 푸리에 변환을 수행한다. 다시 말해서, 영상 처리 장치는 경계(701)까지의 픽셀들에 대한 푸리에 변환값을 계산한다.
영상 처리 장치는 중간 데이터(720)의 경계들(701 내지 703)까지의 변환값들을 포함하는 일부 데이터(730)를 메모리에 저장한다. 일부 데이터(730)는 경계들(701 내지 703)까지의 변환값들을 포함하며, 나머지 픽셀값들은 0일 수 있다.
영상 처리 장치는 일부 데이터(730)의 행 방향으로 경계(703)까지 픽셀값들에 대한 푸리에 변환을 수행한다. 더 상세히 설명하면, 영상 처리 장치는 일부 데이터(730)의 경계들(701 내지 703)까지의 픽셀값들에 대한 푸리에 변환을 수행한다.
최종 데이터(740)는 일부 데이터(730)를 행 방향으로 변환한 데이터를 나타낸다. 결론적으로, 최종 데이터(740)는 데이터(710)를 열 방향 및 행 방향으로 2D 푸리에 변환한 데이터를 나타낸다.
영상 처리 장치는 최종 데이터(740) 중에서 일부만 메모리에 저장할 수 있다. 출력 데이터(750)는 최종 데이터(740)의 경계들(701 내지 704)에 포함된 데이터를 포함한다. 출력 데이터(750)의 나머지 픽셀값들은 0일 수 있다. 다시 말해서, 출력 데이터(750)에서 검정색으로 표시된 부분은 최종 데이터(740)의 픽셀값들을 나타내고, 흰색으로 표시된 부분들의 픽셀값은 0을 나타낸다.
도 8은 일 실시 예에 따른 영상 처리 장치를 설명하기 위한 구성도이다. 도 8을 참조하면, 프로세서(800)는 영상 처리 장치 또는 푸리에 변환 장치의 일 예일 수 있다.
프로세서(800)는 제어부(810), 제1 코어(820), 메모리(830), 제2 코어(840) 및 버퍼(850)를 포함한다. 도 8에서 프로세서(800)는 2개의 코어들(820 및 840)을 포함하고 있으나, 프로세서(800)는 2개 이상의 코어들을 포함할 수 있다.
제어부(810)는 제1 코어(820), 메모리(830), 제2 코어(840) 등을 제어한다. 제어부(810)는 제1 및 제2 코어들(820 및 840)이 수행할 연산을 지정할 수 있다. 예를 들어, 제어부(810)는 제1 코어(820)가 데이터를 행 방향으로 1D FFT를 수행하도록 제어할 수 있다. 제어부(810)는 제1 코어(820)가 데이터의 일부만을 행 방향으로 1D FFT를 수행하도록 제어할 수 있다. 또한, 제어부(810)는 제2 코어(840)가 데이터를 열 방향으로 1D FFT를 수행하도록 제어할 수 있다. 제어부(810)는 제2 코어(840)가 데이터의 일부만을 열 방향으로 1D FFT를 수행하도록 제어할 수 있다.
제어부(810)는 제1 코어(820)에서 연산한 결과 데이터를 메모리(830)에 저장할 수 있다. 제어부(810)는 결과 데이터 중 필요한 데이터만을 메모리(830)에 저장할 수 있다. 예를 들어, 제어부(810)는 제1 코어(820)가 1D FFT를 수행한 결과 데이터 중 일부 데이터를 메모리(830)에 저장할 수 있다.
제어부(810)는 제2 코어(840)가 메모리(830)로부터 독출(read)할 데이터를 지정할 수 있다. 예를 들어, 제어부(810)는 행 방향으로 순차적으로 저장된 결과 데이터를 열 방향으로 제2 코어(840)로 출력할 수 있다. 반대로, 제어부(810)는 열 방향으로 순차적으로 저장된 결과 데이터를 행 방향으로 제2 코어(840)로 출력할 수 있다.
제어부(810)는 제2 코어(840)에서 연산한 결과 데이터를 버퍼(850)에 저장할 수 있다. 제어부(810)는 결과 데이터 중 필요한 데이터만을 버퍼(850)에 저장할 수 있다. 예를 들어, 제어부(810)는 제2 코어(840)가 1D FFT를 수행한 결과 데이터 중 일부 데이터를 버퍼(850)에 저장할 수 있다.
제1 코어(820)는 데이터를 푸리에 변환할 수 있다. 예를 들어, 제1 코어(820)는 영상 데이터를 행 방향 또는 행 방향으로 1D FFT를 수행할 수 있다. 제1 코어(820)는 변환된 데이터 중 일부만을 메모리(830)로 출력할 수 있다. 예를 들어, 제1 코어(820)는 변환된 데이터 중 1/4만을 메모리(830)로 출력하거나, 변환된 데이터 중 저주파 성분에 해당하는 데이터만을 메모리(830)로 출력할 수 있다.
제2 코어(840)는 데이터를 푸리에 변환할 수 있다. 예를 들어, 제2 코어(840)는 영상 데이터를 열 방향 또는 행 방향으로 1D FFT를 수행할 수 있다. 제2 코어(840)는 변환된 데이터 중 일부만을 버퍼(850)로 출력할 수 있다. 제2 코어(840)는 변환된 데이터 중 1/4만을 버퍼(850)로 출력하거나, 변환된 데이터 중 저주파 성분에 해당하는 데이터만을 버퍼(850)로 출력할 수 있다.
프로세서(800)는 데이터의 일부에 대해서만 푸리에 변환을 수행함으로써, 푸리에 변환을 수행할 때 연산량 및 시간을 줄일 수 있다. 또한, 프로세서(800)는 데이터의 일부만 메모리(830) 또는 버퍼(850)에 저장함으로써, 메모리(830) 또는 버퍼(850)의 크기를 줄이고, 메모리(830) 또는 버퍼(850)에 데이터를 저장하는 시간을 줄일 수 있다.
도 9는 또 다른 일 실시 예에 따른 영상 처리 장치를 설명하기 위한 구성도이다. 도 9를 참조하면, 프로세서(900)는 영상 처리 장치 또는 푸리에 변환 장치의 일 예일 수 있다. 도 9에서는 코어(920)가 16개 있는 경우를 도시하고 있으나, 코어(920)의 수는 16개에 한정되지 않는다.
제어부(910)와 복수의 코어들(920) 및 메모리(930)는 서로 연결되어, 데이터 및 제어 신호를 송수신할 수 있다. 또한, 복수의 코어들(920)과 메모리(930)는 서로 연결되어, 코어들(920)은 메모리(930)에 데이터를 기록하거나, 메모리(930)에 저장된 데이터를 독출할 수 있다.
프로세서(900)는 제어부(910), 복수의 코어들(920) 및 메모리(930)를 포함할 수 있다. 제어부(910)는 복수의 코어들(920) 및 메모리(930)를 제어한다. 제어부(910)는 각각의 코어(920)가 수행할 연산을 지정하고, 각각의 코어(920)가 처리할 데이터를 할당할 수 있다. 예를 들어, layer based 알고리즘을 영상 데이터에 적용하는 경우, 제어부(910)는 각각의 코어(920)에 각각의 layer에 대한 영상 데이터를 할당할 수 있다.
코어(920)는 영상 처리 장치는 화질 보정 및 필드 연산을 수행하거나, 픽셀 인코딩을 수행할 수 있다.
코어(920)는 푸리에 변환을 수행할 수 있다. 예를 들어, 코어(920)는 1D FFT를 행 방향 또는 열 방향으로 수행할 수 있다.
도 10은 또 다른 일 실시 예에 따른 영상 처리 장치를 설명하기 위한 구성도이다. 도 10을 참조하면, 프로세서(1000)는 제어부(1010), 제1 코어들(1020), 메모리(1030), 제2 코어들(1040) 및 버퍼(1050)을 포함한다.
제1 코어들(1020)은 데이터를 행 방향 또는 열 방향으로 1D FFT를 수행할 수 있다. 만약, 제1 코어들(1020)이 데이터를 행 방향으로 1D FFT를 수행하면, 제2 코어들(1040)은 데이터를 열 방향으로 1D FFT를 수행한다. 또는, 제1 코어들(1020)이 데이터를 열 방향으로 1D FFT를 수행하면, 제2 코어들(1040)은 데이터를 행 방향으로 1D FFT를 수행한다.
제1 코어들(1020)이 행 방향으로 푸리에 변환을 수행하는 경우를 예를 들어 설명한다. 제1 코어들(1020)은 데이터의 각각의 행에 대해 1D FFT를 수행한다. 상세히 설명하면, 제1 코어들(1020) 각각은 데이터의 각각의 행 방향으로 데이터를 수신하고, 수신된 데이터를 1D FFF하여 변환된 데이터를 메모리(1030)로 출력한다. 따라서, 제1 코어들(1020)의 수는 데이터의 행의 수와 일치할 수 있다.
메모리(1030)은 행 방향으로 변환된 데이터를 저장한다. 이때, 메모리(1030)는 변환된 데이터 중 일부 데이터만을 저장할 수 있다.
제2 코어들(1040)은 메모리(1030)에 저장된 일부 데이터의 각각의 열에 대해 1D FFT를 수행한다. 상세히 설명하면, 제2 코어들(1040) 각각은 변환된 데이터의 각각의 열 방향으로 데이터를 수신하고, 수신된 데이터를 1D FFT하여 변환된 데이터를 버퍼(1050)로 출력한다. 따라서, 제2 코어들(1040)의 수는 일부 데이터의 열의 수와 일치할 수 있다.
도 11은 데이터의 크기에 따른 푸리에 변환 방법을 설명하기 위한 도면이다. 도 11은 도 10의 영상 처리 장치가 NxM 데이터(1100)를 푸리에 변환하는 예를 설명한다.
N 개의 제1 코어들(1020)은 M-point FFT를 수행한다. 데이터(1100)은 N 개의 행으로 이루어져 있으므로, 제1 코어(1020)는 N 개가 요구된다. 또한, 데이터(1100)은 M 개의 열로 이루어져 있으므로, 제1 코어들(1020) 각각은 M-point FFT를 수행한다. M-point FFT는 M 개의 픽셀값들을 1D FFT하는 것을 의미한다.
메모리(1030)는 L 개의 열 데이터를 저장한다. 제1 코어들(1020)에 의해 변환된 데이터는 NxM의 크기이나, 메모리(1030)에 저장되는 데이터는 변환된 NxM 데이터 중 일부만이 저장된다. 예를 들어, 변환된 NxM 데이터 중 가운데 L 개의 열 데이터가 메모리(1030)에 저장될 수 있다.
L 개의 제2 코어들(1040)은 N-point FFT를 수행한다. 메모리(1030)에 저장된 데이터는 L 개의 열 데이터이므로, 제2 코어(1040)는 L 개가 요구된다. 또한, L 개의 열 데이터는 N 개의 행으로 이루어져 있으므로, 제2 코어들(1040) 각각은 N-point FFT를 수행한다.
제2 코어들(1040)으로부터 출력되는 데이터는 NxL 데이터이다. 다만, NxL 데이터 중 일부 행이 선택될 수 있다. 예를 들어, K 개의 행이 선택되는 경우, 버퍼(1050)에는 KxL 데이터가 저장될 수 있다. K 개의 행은 NxL 데이터 중 가운데 행들일 수 있다. 따라서, 버퍼(1050)는 KxL 데이터를 저장하기 위한 크기로 제작될 수 있다.
도 12는 또 다른 일 실시 예에 따른 영상 처리 장치를 설명하기 위한 구성도이다. 도 12를 참조하면, 프로세서(1200)는 FIFO 버퍼(1220) 및 인터리빙 버퍼(1240)을 더 포함한다.
제1 코어들(1210)은 데이터를 행 방향으로 1D FFT하여 FIFO 버퍼(1220)으로 출력한다.
FIFO 버퍼(1220)는 제1 코어들(1210)으로부터 출력되는 데이터를 저장하고, 순차적으로 메모리(1230)으로 출력한다. 이때, FIFO 버퍼(1220)는 일부 데이터만을 메모리(1230)으로 출력할 수 있다. 예를 들어, 도 11에서 설명한 것과 같이, FIFO 버퍼(1220)는 NxL 데이터를 메모리(1230)으로 출력할 수 있다.
인터리빙 버퍼(1250)는 메모리(1230)으로부터 수신된 데이터를 제2 코어들(1250)으로 출력한다. 인터리빙 버퍼(1250)는 제2 코어들(1250)이 NxL 데이터를 열 방향으로 1D FFT를 수행할 수 있도록 NxL 데이터를 제2 코어들(1250) 각각으로 출력한다. 예를 들어, 인터리빙 버퍼(1250)는 NxL 데이터 중 첫 번째 열 데이터(Nx1)를 1xN 데이터와 같은 형태로 첫 번째 제2 코어(1250)로 출력할 수 있다. 다시 말해서, 인터리빙 버퍼(1240)는 메모리(1230)에는 Nx1 형태로 저장된 데이터를 1xN 형태로 출력한다.
제2 코어들(1250)은 수신된 데이터를 1D FFT한다. 제2 코어들(1250) 각각은 1xN 형태의 데이터를 수신하므로, 수신된 데이터를 1D FFT한다.
본 실시 예들에 따른 장치는 프로세서, 프로그램 데이터를 저장하고 실행하는 메모리, 디스크 드라이브와 같은 영구 저장부(permanent storage), 외부 장치와 통신하는 통신 포트, 터치 패널, 키(key), 버튼 등과 같은 사용자 인터페이스 장치 등을 포함할 수 있다. 소프트웨어 모듈 또는 알고리즘으로 구현되는 방법들은 상기 프로세서상에서 실행 가능한 컴퓨터가 읽을 수 있는 코드들 또는 프로그램 명령들로서 컴퓨터가 읽을 수 있는 기록 매체 상에 저장될 수 있다. 여기서 컴퓨터가 읽을 수 있는 기록 매체로 마그네틱 저장 매체(예컨대, ROM(read-only memory), RAM(random-access memory), 플로피 디스크, 하드 디스크 등) 및 광학적 판독 매체(예컨대, 시디롬(CD-ROM), 디브이디(DVD: Digital Versatile Disc)) 등이 있다. 컴퓨터가 읽을 수 있는 기록 매체는 네트워크로 연결된 컴퓨터 시스템들에 분산되어, 분산 방식으로 컴퓨터가 판독 가능한 코드가 저장되고 실행될 수 있다. 매체는 컴퓨터에 의해 판독가능하며, 메모리에 저장되고, 프로세서에서 실행될 수 있다.
본 실시 예는 기능적인 블록 구성들 및 다양한 처리 단계들로 나타내어질 수 있다. 이러한 기능 블록들은 특정 기능들을 실행하는 다양한 개수의 하드웨어 또는/및 소프트웨어 구성들로 구현될 수 있다. 예를 들어, 실시 예는 하나 이상의 마이크로프로세서들의 제어 또는 다른 제어 장치들에 의해서 다양한 기능들을 실행할 수 있는, 메모리, 프로세싱, 로직(logic), 룩 업 테이블(look-up table) 등과 같은 직접 회로 구성들을 채용할 수 있다. 구성 요소들이 소프트웨어 프로그래밍 또는 소프트웨어 요소들로 실행될 수 있는 것과 유사하게, 본 실시 예는 데이터 구조, 프로세스들, 루틴들 또는 다른 프로그래밍 구성들의 조합으로 구현되는 다양한 알고리즘을 포함하여, C, C++, 자바(Java), 어셈블러(assembler) 등과 같은 프로그래밍 또는 스크립팅 언어로 구현될 수 있다. 기능적인 측면들은 하나 이상의 프로세서들에서 실행되는 알고리즘으로 구현될 수 있다. 또한, 본 실시 예는 전자적인 환경 설정, 신호 처리, 및/또는 데이터 처리 등을 위하여 종래 기술을 채용할 수 있다. “매커니즘”, “요소”, “수단”, “구성”과 같은 용어는 넓게 사용될 수 있으며, 기계적이고 물리적인 구성들로서 한정되는 것은 아니다. 상기 용어는 프로세서 등과 연계하여 소프트웨어의 일련의 처리들(routines)의 의미를 포함할 수 있다.
본 실시 예에서 설명하는 특정 실행들은 예시들로서, 어떠한 방법으로도 기술적 범위를 한정하는 것은 아니다. 명세서의 간결함을 위하여, 종래 전자적인 구성들, 제어 시스템들, 소프트웨어, 상기 시스템들의 다른 기능적인 측면들의 기재는 생략될 수 있다. 또한, 도면에 도시된 구성 요소들 간의 선들의 연결 또는 연결 부재들은 기능적인 연결 및/또는 물리적 또는 회로적 연결들을 예시적으로 나타낸 것으로서, 실제 장치에서는 대체 가능하거나 추가의 다양한 기능적인 연결, 물리적인 연결, 또는 회로 연결들로서 나타내어질 수 있다.
본 명세서(특히 특허청구범위에서)에서 “상기”의 용어 및 이와 유사한 지시 용어의 사용은 단수 및 복수 모두에 해당하는 것일 수 있다. 또한, 범위(range)를 기재한 경우 상기 범위에 속하는 개별적인 값을 포함하는 것으로서(이에 반하는 기재가 없다면), 상세한 설명에 상기 범위를 구성하는 각 개별적인 값을 기재한 것과 같다. 마지막으로, 방법을 구성하는 단계들에 대하여 명백하게 순서를 기재하거나 반하는 기재가 없다면, 상기 단계들은 적당한 순서로 행해질 수 있다. 반드시 상기 단계들의 기재 순서에 한정되는 것은 아니다. 모든 예들 또는 예시적인 용어(예들 들어, 등등)의 사용은 단순히 기술적 사상을 상세히 설명하기 위한 것으로서 특허청구범위에 의해 한정되지 않는 이상 상기 예들 또는 예시적인 용어로 인해 범위가 한정되는 것은 아니다. 또한, 당업자는 다양한 수정, 조합 및 변경이 부가된 특허청구범위 또는 그 균등물의 범주 내에서 설계 조건 및 팩터에 따라 구성될 수 있음을 알 수 있다.
800: 프로세서
810: 제어부
820: 제1 코어
830: 메모리
840: 제2 코어
850: 버퍼

Claims (23)

  1. 푸리에 변환을 수행하는 방법에 있어서,
    데이터의 행(Row) 방향으로 1D FFT(Fast Fourier Transform)를 수행하여 중간 데이터를 생성하는 단계;
    상기 중간 데이터 중 일부 데이터를 저장하는 단계;
    상기 중간 데이터 중 상기 저장된 일부 데이터에 대하여 열(Column) 방향으로 1D FFT를 수행하여 최종 데이터를 생성하는 단계;
    상기 최종 데이터의 일부를 저장하는 단계; 및
    상기 최종 데이터의 상기 저장된 일부를 출력 데이터로서 출력하는 단계;를 포함하고,
    상기 중간 데이터를 생성하는 단계는 상기 중간 데이터 중 상기 일부 데이터가 모두 생성되면, 상기 행 방향으로 상기 1D FFT를 수행하는 것을 종료하고,
    상기 최종 데이터를 생성하는 단계는 상기 최종 데이터의 상기 일부가 모두 생성되면, 상기 열 방향으로 상기 1D FFT를 수행하는 것을 종료하고,
    상기 중간 데이터 중 상기 일부 데이터는 상기 중간 데이터 중 저주파 성분을 포함하고,
    상기 최종 데이터의 상기 일부는 상기 최종 데이터 중 저주파 성분을 포함하는,
    푸리에 변환 수행 방법.
  2. 삭제
  3. 삭제
  4. 제 1 항에 있어서, 상기 일부 데이터를 저장하는 단계는,
    상기 중간 데이터를 열 방향으로 절단하여 생성된 상기 일부 데이터를 메모리에 저장하는 것을 특징으로 하는 푸리에 변환 수행 방법.
  5. 제 1 항에 있어서, 상기 출력 데이터로 저장하는 단계는,
    상기 최종 데이터를 행 방향으로 절단하여 생성된 상기 최종 데이터의 상기 일부를 버퍼에 저장하는 것을 특징으로 하는 푸리에 변환 수행 방법.
  6. 삭제
  7. 삭제
  8. 푸리에 변환을 수행하는 방법에 있어서,
    데이터의 열 방향으로 1D FFT를 수행하여 중간 데이터를 생성하는 단계;
    상기 중간 데이터 중 일부 데이터를 저장하는 단계;
    상기 중간 데이터 중 상기 저장된 일부 데이터에 대하여 행 방향으로 1D FFT를 수행하여 최종 데이터를 생성하는 단계;
    상기 최종 데이터의 일부를 저장하는 단계; 및
    상기 최종 데이터의 상기 저장된 일부를 출력 데이터로서 출력하는 단계;를 포함하고,
    상기 중간 데이터를 생성하는 단계는 상기 중간 데이터 중 상기 일부 데이터가 모두 생성되면, 상기 열 방향으로 상기 1D FFT를 수행하는 것을 종료하고,
    상기 최종 데이터를 생성하는 단계는 상기 최종 데이터의 상기 일부가 모두 생성되면, 상기 행 방향으로 상기 1D FFT를 수행하는 것을 종료하고,
    상기 중간 데이터 중 상기 일부 데이터는 상기 중간 데이터 중 저주파 성분을 포함하고,
    상기 최종 데이터의 상기 일부는 상기 최종 데이터 중 저주파 성분을 포함하는,
    푸리에 변환 수행 방법.
  9. 푸리에 변환을 수행하는 영상 처리 장치에 있어서,
    데이터의 행 방향으로 1D FFT를 수행하여 중간 데이터를 생성하는 제1 코어;
    상기 중간 데이터 중 일부 데이터를 저장하는 메모리;
    상기 중간 데이터 중 상기 저장된 일부 데이터에 대하여 열 방향으로 1D FFT를 수행하여 최종 데이터를 생성하는 제2 코어; 및
    상기 최종 데이터의 일부를 저장하고, 상기 최종 데이터의 상기 저장된 일부를 출력 데이터로서 출력하는 버퍼;를 포함하고,
    상기 제1 코어는 상기 중간 데이터 중 상기 일부 데이터가 모두 생성되면, 상기 행 방향으로 상기 1D FFT를 수행하는 것을 종료하고,
    상기 제2 코어는 상기 최종 데이터의 상기 일부가 모두 생성되면, 상기 열 방향으로 상기 1D FFT를 수행하는 것을 종료하고,
    상기 중간 데이터 중 상기 일부 데이터는 상기 중간 데이터 중 저주파 성분을 포함하고,
    상기 최종 데이터의 상기 일부는 상기 최종 데이터 중 저주파 성분을 포함하는 영상 처리 장치.
  10. 삭제
  11. 삭제
  12. 삭제
  13. 삭제
  14. 삭제
  15. 삭제
  16. 푸리에 변환을 수행하는 영상 처리 장치에 있어서,
    데이터의 열 방향으로 1D FFT를 수행하여 중간 데이터를 생성하는 제1 코어;
    상기 중간 데이터 중 일부 데이터를 저장하는 메모리;
    상기 중간 데이터 중 상기 저장된 일부 데이터에 대하여 행 방향으로 1D FFT를 수행하여 최종 데이터를 생성하는 제2 코어; 및
    상기 최종 데이터의 일부를 저장하고, 상기 최종 데이터의 상기 저장된 일부를 출력 데이터로서 출력하는 버퍼;를 포함하고,
    상기 제1 코어는 상기 중간 데이터 중 상기 일부 데이터가 모두 생성되면, 상기 열 방향으로 상기 1D FFT를 수행하는 것을 종료하고,
    상기 제2 코어는 상기 최종 데이터의 상기 일부가 모두 생성되면, 상기 행 방향으로 상기 1D FFT를 수행하는 것을 종료하고,
    상기 중간 데이터 중 상기 일부 데이터는 상기 중간 데이터 중 저주파 성분을 포함하고,
    상기 최종 데이터의 상기 일부는 상기 최종 데이터 중 저주파 성분을 포함하는 영상 처리 장치.
  17. 제1항, 제4항, 제5항 및 제8항 중에 어느 한 항의 방법을 컴퓨터에서 실행시키기 위한 프로그램을 기록한 컴퓨터로 읽을 수 있는 기록매체.
  18. 푸리에 변환을 수행하는 영상 처리 장치에 있어서,
    NxM 데이터의 행 방향으로 1D FFT를 수행하여 중간 데이터를 생성하는 N개의 제1 코어들;
    상기 중간 데이터 중 L개의 열 데이터를 저장하는 메모리;
    상기 메모리에 저장된 상기 L개의 열 데이터를 열 방향으로 1D FFT를 수행하여 최종 데이터를 생성하는 L개의 제2 코어들; 및
    상기 최종 데이터의 일부를 저장하고, 상기 최종 데이터의 상기 저장된 일부를 출력 데이터로서 출력하는 버퍼;를 포함하고,
    상기 제1 코어는 상기 L개의 열 데이터가 모두 생성되면, 상기 행 방향으로 상기 1D FFT를 수행하는 것을 종료하고,
    상기 제2 코어는 상기 최종 데이터의 상기 일부가 모두 생성되면, 상기 열 방향으로 상기 1D FFT를 수행하는 것을 종료하고,
    상기 L개의 열 데이터는 상기 중간 데이터 중 저주파 성분을 포함하고,
    상기 최종 데이터의 상기 일부는 상기 최종 데이터 중 저주파 성분을 포함하는,
    영상 처리 장치.
  19. 제 18 항에 있어서,
    상기 제1 코어들은 M-point FFT를 수행하는 것을 특징으로 하는 영상 처리 장치.
  20. 제 18 항에 있어서,
    상기 제2 코어들은 N-point FFT를 수행하는 것을 특징으로 하는 영상 처리 장치.
  21. 제 18 항에 있어서,
    상기 중간 데이터를 저장하고, 상기 중간 데이터의 M개의 열 중 선택된 L개의 열을 상기 메모리로 출력하는 FIFO 버퍼를 더 포함하는 것을 특징으로 하는 영상 처리 장치.
  22. 제 18 항에 있어서,
    상기 L개의 열 데이터 각각을 상기 L개의 제2 코어들 각각에 출력하는 인터리빙 버퍼를 더 포함하는 것을 특징으로 하는 영상 처리 장치.
  23. 푸리에 변환을 수행하는 영상 처리 장치에 있어서,
    데이터의 열 방향으로 1D FFT를 수행하여 중간 데이터를 생성하는 제1 코어들;
    상기 중간 데이터 중 일부 데이터를 저장하는 메모리;
    상기 중간 데이터 중 상기 저장된 일부 데이터에 대하여 행 방향으로 1D FFT를 수행하여 최종 데이터를 생성하는 제2 코어들; 및
    상기 최종 데이터의 일부를 저장하고, 상기 최종 데이터의 상기 저장된 일부를 출력 데이터로서 출력하는 버퍼;를 포함하고,
    상기 제1 코어들의 수는 상기 데이터의 열의 개수와 일치하고,
    상기 제2 코어들의 수는 상기 일부 데이터의 행의 개수와 일치하고,
    상기 제1 코어는 상기 중간 데이터 중 상기 일부 데이터가 모두 생성되면, 상기 열 방향으로 상기 1D FFT를 수행하는 것을 종료하고,
    상기 제2 코어는 상기 최종 데이터의 상기 일부가 모두 생성되면, 상기 행 방향으로 상기 1D FFT를 수행하는 것을 종료하고,
    상기 중간 데이터 중 상기 일부 데이터는 상기 중간 데이터 중 저주파 성분을 포함하고,
    상기 최종 데이터의 상기 일부는 상기 최종 데이터 중 저주파 성분을 포함하는,
    영상 처리 장치.
KR1020150121031A 2015-08-27 2015-08-27 푸리에 변환을 수행하는 방법 및 장치 KR102452945B1 (ko)

Priority Applications (4)

Application Number Priority Date Filing Date Title
KR1020150121031A KR102452945B1 (ko) 2015-08-27 2015-08-27 푸리에 변환을 수행하는 방법 및 장치
US15/218,243 US10321159B2 (en) 2015-08-27 2016-07-25 Apparatus and method of performing fourier transform
EP16184294.3A EP3139278A1 (en) 2015-08-27 2016-08-16 Apparatus and method of performing fourier transform
CN201610740690.3A CN106485669B (zh) 2015-08-27 2016-08-26 执行傅立叶变换的装置和方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020150121031A KR102452945B1 (ko) 2015-08-27 2015-08-27 푸리에 변환을 수행하는 방법 및 장치

Publications (2)

Publication Number Publication Date
KR20170025097A KR20170025097A (ko) 2017-03-08
KR102452945B1 true KR102452945B1 (ko) 2022-10-11

Family

ID=57130134

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020150121031A KR102452945B1 (ko) 2015-08-27 2015-08-27 푸리에 변환을 수행하는 방법 및 장치

Country Status (4)

Country Link
US (1) US10321159B2 (ko)
EP (1) EP3139278A1 (ko)
KR (1) KR102452945B1 (ko)
CN (1) CN106485669B (ko)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20180064823A (ko) * 2016-12-06 2018-06-15 삼성전자주식회사 영상 처리 방법 및 장치
US11517197B2 (en) * 2017-10-06 2022-12-06 Canon Medical Systems Corporation Apparatus and method for medical image reconstruction using deep learning for computed tomography (CT) image noise and artifacts reduction
US10803984B2 (en) * 2017-10-06 2020-10-13 Canon Medical Systems Corporation Medical image processing apparatus and medical image processing system
KR102581470B1 (ko) * 2017-11-22 2023-09-21 삼성전자주식회사 영상 데이터를 처리하는 방법 및 장치
KR102477098B1 (ko) 2018-02-23 2022-12-13 삼성전자주식회사 영상 데이터 처리 방법 및 장치

Citations (1)

* 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 ホログラム再生装置、ホログラム再生方法、読出装置、読出方法

Family Cites Families (35)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5107345A (en) 1990-02-27 1992-04-21 Qualcomm Incorporated Adaptive block size image compression method and system
US5596604A (en) * 1993-08-17 1997-01-21 Amati Communications Corporation Multicarrier modulation transmission system with variable delay
US5814820A (en) * 1996-02-09 1998-09-29 The Board Of Trustees Of The University Of Illinois Pump probe cross correlation fluorescence frequency domain microscope and microscopy
JP2008117044A (ja) * 2006-11-01 2008-05-22 Oki Electric Ind Co Ltd 2次元高速フーリエ変換演算方法及び2次元高速フーリエ変換演算装置
JP4214329B2 (ja) 1998-08-20 2009-01-28 富士ゼロックス株式会社 光記録方法、光記録装置、光読み取り方法、光読み取り装置
US6307569B1 (en) * 1999-03-18 2001-10-23 Sharp Laboratories Of America, Inc. POCS-based method for digital image interpolation
US6411978B1 (en) 1999-05-26 2002-06-25 Infineon Technologies Ag I. Gr. Mechanism for block floating point FFT hardware support on a fixed point digital signal processor
US6178018B1 (en) 1999-06-25 2001-01-23 International Business Machines Corporation Process and method employing dynamic holographic display medium
US7418470B2 (en) * 2000-06-26 2008-08-26 Massively Parallel Technologies, Inc. Parallel processing systems and method
KR100592753B1 (ko) * 2001-02-24 2006-06-26 인터내셔널 비지네스 머신즈 코포레이션 다차원 고속 푸리에 변환의 효율적 구현 방법, 시스템 및 그에 관한 프로그램을 기록한 컴퓨터 판독가능 기록 매체와, 다차원 어레이의 효율적 재배치 방법, 시스템 및 그에 관한 프로그램을 기록한 컴퓨터 판독가능 기록 매체
JP2004206254A (ja) 2002-12-24 2004-07-22 Mega Chips Corp フーリエ変換装置、フーリエ変換方法、計算機ホログラム生成装置及び計算機ホログラム生成方法、並びに回折光学素子の製造装置
US7483932B1 (en) * 2004-05-05 2009-01-27 Sun Microsystems, Inc. Method and system for computing multidimensional fast Fourier transforms
DE602005013401D1 (de) * 2004-07-22 2009-04-30 Nec Corp Bildverarbeitungssystem
JP4033208B2 (ja) 2005-05-02 2008-01-16 富士ゼロックス株式会社 ホログラム記録方法及びホログラム記録装置
US7230424B1 (en) * 2005-06-17 2007-06-12 Fonar Corporation Magnetic resonance imaging
US7734674B2 (en) * 2005-08-08 2010-06-08 Freescale Semiconductor, Inc. Fast fourier transform (FFT) architecture in a multi-mode wireless processing system
GB0518912D0 (en) * 2005-09-16 2005-10-26 Light Blue Optics Ltd Methods and apparatus for displaying images using holograms
US7436176B2 (en) * 2006-03-27 2008-10-14 Fonar Corporation Magnetic resonance imaging using adaptive phase encoding gradient
US7432707B1 (en) * 2006-06-14 2008-10-07 Fonar Corporation Magnetic resonance imaging with corrected intensity inhomogeneity
US8340185B2 (en) * 2006-06-27 2012-12-25 Marvell World Trade Ltd. Systems and methods for a motion compensated picture rate converter
JP4524708B2 (ja) * 2008-06-19 2010-08-18 ソニー株式会社 再生装置、再生方法
US9342486B2 (en) * 2008-10-03 2016-05-17 Microsoft Technology Licensing, Llc Fast computation of general fourier transforms on graphics processing units
US8539201B2 (en) * 2009-11-04 2013-09-17 International Business Machines Corporation Transposing array data on SIMD multi-core processor architectures
JP5322182B2 (ja) * 2010-05-14 2013-10-23 Jx日鉱日石エネルギー株式会社 有機el素子用のマイクロレンズ、それを用いた有機el素子、及びそれらの製造方法
EP2664430B1 (en) * 2011-01-14 2016-11-30 JX Nippon Oil & Energy Corporation Method for producing mold for fine pattern transfer, method for producing diffraction grating using same, and method for manufacturing organic el element which comprises the diffraction grating
US20120235855A1 (en) * 2011-03-18 2012-09-20 University Of Florida Research Foundation Inc. Advanced low power personnel/vehicle detecting radar
ITTO20120417A1 (it) * 2012-05-09 2013-11-10 St Microelectronics Srl Procedimento e dispositivi per elaborare segnali radar, ad esempio per sistemi di sicurezza stradale, relativo prodotto informatico
US9202258B2 (en) * 2012-06-20 2015-12-01 Disney Enterprises, Inc. Video retargeting using content-dependent scaling vectors
WO2014027695A1 (ja) * 2012-08-16 2014-02-20 株式会社アクション・リサーチ 振動処理装置及び方法
KR101366116B1 (ko) 2012-10-31 2014-02-24 전자부품연구원 Fft 병렬 처리 방법, 이를 적용한 데이터 처리 방법 및 홀로그램 복원 장치
WO2015191771A1 (en) * 2014-06-10 2015-12-17 Zoll Medical Corporation Selecting energy escalation for defibrillation
KR102224718B1 (ko) 2014-08-06 2021-03-08 삼성전자주식회사 홀로그램 생성 방법 및 장치
KR102477093B1 (ko) * 2015-10-13 2022-12-13 삼성전자주식회사 푸리에 변환을 수행하는 방법 및 장치
KR102526750B1 (ko) * 2015-12-17 2023-04-27 삼성전자주식회사 푸리에 변환을 수행하는 방법 및 장치
KR102654862B1 (ko) * 2016-08-31 2024-04-05 삼성전자주식회사 영상 처리 방법 및 장치

Patent Citations (1)

* 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 ホログラム再生装置、ホログラム再生方法、読出装置、読出方法

Also Published As

Publication number Publication date
EP3139278A1 (en) 2017-03-08
CN106485669B (zh) 2022-01-04
CN106485669A (zh) 2017-03-08
KR20170025097A (ko) 2017-03-08
US10321159B2 (en) 2019-06-11
US20170064333A1 (en) 2017-03-02

Similar Documents

Publication Publication Date Title
KR102452945B1 (ko) 푸리에 변환을 수행하는 방법 및 장치
EP3196773A2 (en) Directional backlight unit, three-dimensional (3d) image display apparatus, and 3d image displaying method
US20160187850A1 (en) Data format for hologram, and apparatus and method for holographic video system
US11727659B2 (en) Method and apparatus for processing three-dimensional (3D) image
KR102477093B1 (ko) 푸리에 변환을 수행하는 방법 및 장치
KR102654862B1 (ko) 영상 처리 방법 및 장치
US10223763B2 (en) Apparatus and method for performing fourier transform
JP2020126651A (ja) ニューラルネットワークのコンボルーション演算を処理する方法及び装置
US10901367B2 (en) Image data processing method and apparatus
US10996627B2 (en) Image data processing method and apparatus
US10545328B2 (en) Method and apparatus for processing image
KR20150009369A (ko) 영상 처리 장치 및 영상 처리 방법
CN109873999B (zh) 图像数据处理方法和装置
CN111800621A (zh) 用于处理全息图图像数据的方法和设备

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