GPU를 탑재한 여러 대의 PC를 클러스터(서버-클라이언트 구조)로 구성함으로써 고해상도 디지털 홀로그램을 고속으로 생성할 수 있다. 그러나, 비디오 홀로그램의 경우, PC 사이의 데이터 전송 시간이 프레임 수에 비례하여 선형적으로 증가하기 때문에 비디오 홀로그램을 고속 생성하는 데 있어 큰 걸림돌이 된다. 본 논문에서는 이러한 데이터 전송 시간의 증가를 해결하기 위해 멀티쓰레드를 활용하는 방법을 제안한다. 기본적으로 각 클라이언트 PC에서의 홀로그램 생성은 서버로부터 광원 정보 획득, GPU를 이용한 CGH 연산, 서버로의 결과 전송의 과정으로 이루어지는데, 각 과정을 순차적으로 하지 않고 멀티쓰레딩을 통해 병렬로 수행함으로써 전체 홀로그램 생성 시간에서 데이터 전송 시간의 비율을 크게 줄일 수 있다. 실험을 통해, 150 프레임을 가지는 고해상도 비디오 홀로그램을 생성하는 시간을 약 30% 줄일 수 있음을 확인하였다.
GPU를 탑재한 여러 대의 PC를 클러스터(서버-클라이언트 구조)로 구성함으로써 고해상도 디지털 홀로그램을 고속으로 생성할 수 있다. 그러나, 비디오 홀로그램의 경우, PC 사이의 데이터 전송 시간이 프레임 수에 비례하여 선형적으로 증가하기 때문에 비디오 홀로그램을 고속 생성하는 데 있어 큰 걸림돌이 된다. 본 논문에서는 이러한 데이터 전송 시간의 증가를 해결하기 위해 멀티쓰레드를 활용하는 방법을 제안한다. 기본적으로 각 클라이언트 PC에서의 홀로그램 생성은 서버로부터 광원 정보 획득, GPU를 이용한 CGH 연산, 서버로의 결과 전송의 과정으로 이루어지는데, 각 과정을 순차적으로 하지 않고 멀티쓰레딩을 통해 병렬로 수행함으로써 전체 홀로그램 생성 시간에서 데이터 전송 시간의 비율을 크게 줄일 수 있다. 실험을 통해, 150 프레임을 가지는 고해상도 비디오 홀로그램을 생성하는 시간을 약 30% 줄일 수 있음을 확인하였다.
High-resolution digital holograms can be quickly generated by using a PC cluster that is based on server-client architecture and is composed of several GPU-equipped PCs. However, the data transmission time between PCs becomes a large obstacle for fast generation of video holograms because it linearl...
High-resolution digital holograms can be quickly generated by using a PC cluster that is based on server-client architecture and is composed of several GPU-equipped PCs. However, the data transmission time between PCs becomes a large obstacle for fast generation of video holograms because it linearly increases in proportion to the number of frames. To resolve the problem with the increase of data transmission time, this paper proposes a multi-threading-based method. Hologram generation in each client PC basically consists of three processes: acquisition of light sources, CGH operation using GPUs, and transmission of the result to the server PC. Unlike the previous method that sequentially executes the processes, the proposed method executes in parallel them by multi-threading and thus can significantly reduce the proportion of the data transmission time to the total hologram generation time. Through experiments, it was confirmed that the total generation time of a high-resolution video hologram with 150 frames can be reduced by about 30%.
High-resolution digital holograms can be quickly generated by using a PC cluster that is based on server-client architecture and is composed of several GPU-equipped PCs. However, the data transmission time between PCs becomes a large obstacle for fast generation of video holograms because it linearly increases in proportion to the number of frames. To resolve the problem with the increase of data transmission time, this paper proposes a multi-threading-based method. Hologram generation in each client PC basically consists of three processes: acquisition of light sources, CGH operation using GPUs, and transmission of the result to the server PC. Unlike the previous method that sequentially executes the processes, the proposed method executes in parallel them by multi-threading and thus can significantly reduce the proportion of the data transmission time to the total hologram generation time. Through experiments, it was confirmed that the total generation time of a high-resolution video hologram with 150 frames can be reduced by about 30%.
* AI 자동 식별 결과로 적합하지 않은 문장이 있을 수 있으니, 이용에 유의하시기 바랍니다.
문제 정의
또한, 비디오 홀로그램을 실시간으로 생성할 필요가 있을 경우, 각 프레임을 생성하기 위한 전송 시간은 큰 걸림돌이 된다. 그러므로, 본 논문에서는 이러한 각 클라이언트 PC에 의한 서버 PC로의 홀로그램 전송 시간을 줄이기 위한 방안을 제시한다.
본 논문에서는 PC 클러스터를 이용하여 홀로그램을 생성하는 기존 방법을 개선하여 비디오 홀로그램을 고속 생성하기 위한 방법을 제안하였다. 즉, PC 클러스터를 이용할 경우, PC 사이의 데이터 전송 시간이 비디오 홀로그램의 고속 생성에 걸림돌이 되는데 이를 해결하기 위해 멀티쓰레드를 활용하는 방안을 제시하였다.
그러나, 네트워크 환경을 개선하는 데는 물리적인 한계가 있기 때문에 클라이언트 PC의 수나 홀로그램 해상도가 일정 수준 이상이 되면 전송 시간을 줄이기 위한 근본적인 해결 방안이 필요하다. 본 논문에서는 생성, 전송 과정을 순차적으로 반복하는 것을 병렬로 진행되도록 변형하여 전송 시간을 줄이는 방법을 제안한다. 즉, 각 클라이언트 PC에서 n번째 프레임의 부분 홀로그램을 생성하고 나면, 결과를 서버 PC로 전송하면서 동시에 n+1번째 프레임의 부분 홀로그램 생성을 병렬로 수행하도록 한다.
제안 방법
4 대의 클라이언트 PC를 가지는 PC 클러스터를 이용하여 광원 수를 증가시키면서 1024 × 1024 크기의 해상도를 가지는 홀로그램을 생성하였다.
추가적으로, 기존 방법에서 광원을 적응적으로 분배하는 것과 달리 모든 클라이언트 PC에 균일하게 분배하는 방법에 대해 제안 방법 적용에 의한 성능 변화를 분석하였다. 광원 분배 방식에 상관없이 기존 방법의 경우 모든 프로세스를 단일 쓰레드로 진행하지만, 공정한 비교를 위해 기존 방법의 구현 역시 제안 방법의 프로그램 구조를 그대로 사용하였다. 다만, 각 쓰레드가 순차적으로 진행되도록 하기 위해, 그림 4에서 Send 쓰레드는 홀로그램 결과를 서버 PC로 전송 완료하면 Receive 쓰레드로 메시지를 보내도록 하고, Receive 쓰레드는 Send 쓰레드의 전송 완료 메시지를 수신한 후 다음 프레임의 광원 정보를 받도록 하였다.
GPU를 이용한 병렬처리를 위해 CUDA API[11]가 사용되었다. 기존 방법[9]과 제안 방법의 성능을 비교, 분석하기 위해 크게 세 가지 조건(클라이언트 PC 수, 광원 수, 홀로그램 해상도)을 각각 변화시켜 가면서 150 프레임을 가지는 비디오 홀로그램(windmill[9]) 생성 시간을 측정하였다. 추가적으로, 기존 방법에서 광원을 적응적으로 분배하는 것과 달리 모든 클라이언트 PC에 균일하게 분배하는 방법에 대해 제안 방법 적용에 의한 성능 변화를 분석하였다.
광원 분배 방식에 상관없이 기존 방법의 경우 모든 프로세스를 단일 쓰레드로 진행하지만, 공정한 비교를 위해 기존 방법의 구현 역시 제안 방법의 프로그램 구조를 그대로 사용하였다. 다만, 각 쓰레드가 순차적으로 진행되도록 하기 위해, 그림 4에서 Send 쓰레드는 홀로그램 결과를 서버 PC로 전송 완료하면 Receive 쓰레드로 메시지를 보내도록 하고, Receive 쓰레드는 Send 쓰레드의 전송 완료 메시지를 수신한 후 다음 프레임의 광원 정보를 받도록 하였다.
앞의 실험에서는 각 클라이언트 PC의 성능을 고려하여 광원을 분배하는 적응적 분배 방식[9]을 사용함으로써, 각 클라이언트 PC가 주어진 광원에 대해 홀로그램을 생성하는 시간은 크게 차이가 나지 않았다. 그러나, 클라이언트 PC의 성능을 고려하지 않고 광원을 균일하게 분배하는 균일 분배 방식을 사용했을 때, 표 5에서 보는 것처럼 각 클라이언트 PC의 홀로그램 생성 시간은 크게 달라졌으며 성능이 떨어지는 클라이언트 PC로 인해 전체 비디오 홀로그램 생성 시간은 크게 증가하였다(적응적 분배 방식에 비해 대략 1.
본 논문에서는 PC 클러스터를 이용하여 홀로그램을 생성하는 기존 방법을 개선하여 비디오 홀로그램을 고속 생성하기 위한 방법을 제안하였다. 즉, PC 클러스터를 이용할 경우, PC 사이의 데이터 전송 시간이 비디오 홀로그램의 고속 생성에 걸림돌이 되는데 이를 해결하기 위해 멀티쓰레드를 활용하는 방안을 제시하였다. 제안 방법을 적용함으로써, 데이터 전송으로 인한 비디오 홀로그램 생성 속도 저하는 거의 발생하지 않았다.
기존 방법[9]과 제안 방법의 성능을 비교, 분석하기 위해 크게 세 가지 조건(클라이언트 PC 수, 광원 수, 홀로그램 해상도)을 각각 변화시켜 가면서 150 프레임을 가지는 비디오 홀로그램(windmill[9]) 생성 시간을 측정하였다. 추가적으로, 기존 방법에서 광원을 적응적으로 분배하는 것과 달리 모든 클라이언트 PC에 균일하게 분배하는 방법에 대해 제안 방법 적용에 의한 성능 변화를 분석하였다. 광원 분배 방식에 상관없이 기존 방법의 경우 모든 프로세스를 단일 쓰레드로 진행하지만, 공정한 비교를 위해 기존 방법의 구현 역시 제안 방법의 프로그램 구조를 그대로 사용하였다.
평균적으로 23K의 광원을 가지는 각 프레임에 대해 1024 × 1024 크기의 해상도를 가지는 홀로그램을 클라이언트 PC 수를 증가시키면서 생성하였다.
평균적으로 23K의 광원을 가지는 각 프레임에 대해 4 대의 클라이언트 PC를 가지는 PC 클러스터를 이용하여 서로 다른 해상도를 가지는 홀로그램을 생성하였다. 광원은 표 2에서와 같이 분배되었으며, 각 클라이언트 PC에서의 홀로그램 생성 시간과 서버로의 홀로그램 전송 시간은 홀로그램 해상도에 비례하여 함께 증가하였다.
대상 데이터
실험을 위해 한 대의 서버 PC와 4 대의 클라이언트 PC로 구성된 PC 클러스터를 구성하였다(표 1 참조). 각 PC는 기가비트 이더넷 허브(Cisco SG300-28)로 연결되었으며, 소켓 방식으로 TCP/IP 통신을 수행한다.
성능/효과
4 대의 클라이언트 PC와 한대의 서버 PC로 구성된 PC 클러스터를 이용할 경우, 평균적으로 23K의 광원을 가지고 1024 × 1024 크기의 해상도를 가지는 비디오 홀로그램(150 프레임)을 생성하는 데 약 28.96초(기존 방법 대비 28% 감소)가 소요되었다.
홀로그램 전송 시간의 경우, 클라이언트 수나 홀로그램 해상도가 변하지 않으면 거의 변하지 않기 때문에(실제로는 각 클라이언트 PC의 실행 환경이나 네트워크 환경의 변화로 인해 달라졌지만),광원 수가 증가할수록 전체 홀로그램 생성 시간에 대한 전송 시간의 비중이 감소하게 되어 제안 방법의 성능은 줄어들었다. 5K의 광원 수에 대해 제안 방법은 비디오 홀로그램(150 프레임) 생성 시간을 약 37% 줄일 수 있었지만, 50K 이상의 광원 수를 가질 경우, 9% 정도를 줄이는 데 그쳤다.
클라이언트 수에 상관없이 각 클라이언트의 성능에 맞춰 광원은 적절히 분배되었으며, 이는 각 클라이언트가 각 프레임의 홀로그램을 생성하기 위해 걸린 시간(식 (1)의 CGH 계산 시간)이 유사하다는 것을 통해 알 수 있다. 각 클라이언트의 홀로그램 생성 시간은 클라이언트 수가 증가할수록 감소했으나, 서버로의 홀로그램 전송 시간은 증가했다. 전송 시간 자체는 제안 방법이 더 크게 나타났으며, 이는 전송과 생성을 동시에 수행하기 때문인 것으로 판단된다.
반면, 홀로그램 전송 시간은 클라이언트 PC의 성능에 크게 영향을 받지 않기 때문에 적응 분배 방식에 비해 균일 분배 방식에서는 상대적으로 비중이 작았다. 결과적으로, 균일 분배 방식을 사용할 경우 제안 방법의 적용으로 인한 성능 개선은 줄어들었지만, 여전히 비디오 홀로그램 생성 시간을 크게 줄일 수 있었다(생성 시간이 약 15% 감소).
광원은 표 2에서와 같이 분배되었으며, 각 클라이언트 PC에서의 홀로그램 생성 시간과 서버로의 홀로그램 전송 시간은 홀로그램 해상도에 비례하여 함께 증가하였다. 결과적으로, 전체 홀로그램 생성 시간 대비 전송 시간의 비중은 홀로그램 해상도의 변화에 상관없이 거의 일정했으며, 제안 방법의 성능 역시 큰 변화가 없었다. 제안 방법을 통해 대략 28~33% 정도의 시간을 줄일 수 있었으며, 512 × 512, 1024 × 1024, 1536 × 1536의 해상도를 가지는 비디오 홀로그램(150 프레임)을 생성하는 데 각각 약 8.
4 대의 클라이언트 PC를 가지는 PC 클러스터를 이용하여 광원 수를 증가시키면서 1024 × 1024 크기의 해상도를 가지는 홀로그램을 생성하였다. 광원은 적응적 분배 방식에 의해 광원 수에 상관없이 client_1:client_2:client_3:client_4 = 0.15:0.44:0.30:0.11의 비율로 분배가 되었으며, 표 3에서 보는 것처럼 각 클라이언트에서의 홀로그램 생성 시간은 광원 수에 비례하여 증가하였다. 홀로그램 전송 시간의 경우, 클라이언트 수나 홀로그램 해상도가 변하지 않으면 거의 변하지 않기 때문에(실제로는 각 클라이언트 PC의 실행 환경이나 네트워크 환경의 변화로 인해 달라졌지만),광원 수가 증가할수록 전체 홀로그램 생성 시간에 대한 전송 시간의 비중이 감소하게 되어 제안 방법의 성능은 줄어들었다.
평균적으로 23K의 광원을 가지는 각 프레임에 대해 4 대의 클라이언트 PC를 가지는 PC 클러스터를 이용하여 서로 다른 해상도를 가지는 홀로그램을 생성하였다. 광원은 표 2에서와 같이 분배되었으며, 각 클라이언트 PC에서의 홀로그램 생성 시간과 서버로의 홀로그램 전송 시간은 홀로그램 해상도에 비례하여 함께 증가하였다. 결과적으로, 전체 홀로그램 생성 시간 대비 전송 시간의 비중은 홀로그램 해상도의 변화에 상관없이 거의 일정했으며, 제안 방법의 성능 역시 큰 변화가 없었다.
을 사용함으로써, 각 클라이언트 PC가 주어진 광원에 대해 홀로그램을 생성하는 시간은 크게 차이가 나지 않았다. 그러나, 클라이언트 PC의 성능을 고려하지 않고 광원을 균일하게 분배하는 균일 분배 방식을 사용했을 때, 표 5에서 보는 것처럼 각 클라이언트 PC의 홀로그램 생성 시간은 크게 달라졌으며 성능이 떨어지는 클라이언트 PC로 인해 전체 비디오 홀로그램 생성 시간은 크게 증가하였다(적응적 분배 방식에 비해 대략 1.5배 증가). 다시 말해, 그림 6에서 보는 것처럼 성능이 좋은 클라이언트 PC에서 각 프레임의 홀로그램을 빠르게 생성, 전송하더라도 서버는 성능이 떨어지는 클라이언트 PC의 결과를 기다려야 하기 때문에 전체 비디오 홀로그램 생성 시간은 성능이 떨어지는 클라이언트 PC의 홀로그램 생성 시간에 의해 결정되었다.
그러나, 기존 방법은 생성과 전송이 순차적으로 진행되지만, 제안 방법은 전송과 생성이 동시에 진행되기 때문에 비디오 홀로그램 전체 생성 시간은 제안 방법이 더 작았다. 두 방법에 의한 홀로그램 생성 과정의 타임스템프 다이어그램을 보면(그림 5 참조), 기존 방법은 모든 과정이 순차적으로 진행되며 각 프레임의 생성(Cn), 전송(Rn)을 완료한 후에 다음 프레임의 생성이 진행되지만, 제안 방법은 각 프레임의 생성, 전송이 여러 프레임에 걸쳐 병렬로 진행됨을 알 수 있다. 두 방법의 전체 생성 시간 사이의 비율을 보면, 제안 방법의 성능은 클라이언트 수가 증가할수록 더욱 뚜렷했으며, 이는 클라이언트 수가 증가할수록 전송 시간이 늘어나고 전체 생성 시간은 줄어들기 때문에 전체 생성 시간에서의 전송 시간의 비중이 커지기 때문이다.
두 방법에 의한 홀로그램 생성 과정의 타임스템프 다이어그램을 보면(그림 5 참조), 기존 방법은 모든 과정이 순차적으로 진행되며 각 프레임의 생성(Cn), 전송(Rn)을 완료한 후에 다음 프레임의 생성이 진행되지만, 제안 방법은 각 프레임의 생성, 전송이 여러 프레임에 걸쳐 병렬로 진행됨을 알 수 있다. 두 방법의 전체 생성 시간 사이의 비율을 보면, 제안 방법의 성능은 클라이언트 수가 증가할수록 더욱 뚜렷했으며, 이는 클라이언트 수가 증가할수록 전송 시간이 늘어나고 전체 생성 시간은 줄어들기 때문에 전체 생성 시간에서의 전송 시간의 비중이 커지기 때문이다. 4 대의 클라이언트 PC를 이용할 경우, 비디오 홀로그램(150 프레임) 생성 시간의 28% 정도를 줄일 수 있었다.
그러므로, 기존 방법들과 달리 수백만 개의 초다광원을 갖는 물체의 HD급 홀로그램 고속 생성이 가능했다. 또한, 서버-클라이언트 형태의 특성 상, 클라이언트 PC를 추가/제거함으로써 클러스터의 확장/축소가 용이한 장점을 가졌다. 그러나, 각 클라이언트 PC에서 계산된 식 (1)의 부분적인 연산 결과들은 서버 PC로 전송되어 통합되는데, 이러한 서버-클라이언트 간의 데이터 전송 시간이 전체 홀로그램 생성 시간 내에서 많은 비중을 차지했다[9].
각 클라이언트의 홀로그램 생성 시간은 클라이언트 수가 증가할수록 감소했으나, 서버로의 홀로그램 전송 시간은 증가했다. 전송 시간 자체는 제안 방법이 더 크게 나타났으며, 이는 전송과 생성을 동시에 수행하기 때문인 것으로 판단된다. 그러나, 기존 방법은 생성과 전송이 순차적으로 진행되지만, 제안 방법은 전송과 생성이 동시에 진행되기 때문에 비디오 홀로그램 전체 생성 시간은 제안 방법이 더 작았다.
즉, PC 클러스터를 이용할 경우, PC 사이의 데이터 전송 시간이 비디오 홀로그램의 고속 생성에 걸림돌이 되는데 이를 해결하기 위해 멀티쓰레드를 활용하는 방안을 제시하였다. 제안 방법을 적용함으로써, 데이터 전송으로 인한 비디오 홀로그램 생성 속도 저하는 거의 발생하지 않았다. 4 대의 클라이언트 PC와 한대의 서버 PC로 구성된 PC 클러스터를 이용할 경우, 평균적으로 23K의 광원을 가지고 1024 × 1024 크기의 해상도를 가지는 비디오 홀로그램(150 프레임)을 생성하는 데 약 28.
제안 방법을 통해 대략 28~33% 정도의 시간을 줄일 수 있었으며, 512 × 512, 1024 × 1024, 1536 × 1536의 해상도를 가지는 비디오 홀로그램(150 프레임)을 생성하는 데 각각 약 8.6초, 29초, 67초가 걸렸다.
표 2는 기존 방법과 제안 방법의 생성 시간을 보여준다. 클라이언트 수에 상관없이 각 클라이언트의 성능에 맞춰 광원은 적절히 분배되었으며, 이는 각 클라이언트가 각 프레임의 홀로그램을 생성하기 위해 걸린 시간(식 (1)의 CGH 계산 시간)이 유사하다는 것을 통해 알 수 있다. 각 클라이언트의 홀로그램 생성 시간은 클라이언트 수가 증가할수록 감소했으나, 서버로의 홀로그램 전송 시간은 증가했다.
11의 비율로 분배가 되었으며, 표 3에서 보는 것처럼 각 클라이언트에서의 홀로그램 생성 시간은 광원 수에 비례하여 증가하였다. 홀로그램 전송 시간의 경우, 클라이언트 수나 홀로그램 해상도가 변하지 않으면 거의 변하지 않기 때문에(실제로는 각 클라이언트 PC의 실행 환경이나 네트워크 환경의 변화로 인해 달라졌지만),광원 수가 증가할수록 전체 홀로그램 생성 시간에 대한 전송 시간의 비중이 감소하게 되어 제안 방법의 성능은 줄어들었다. 5K의 광원 수에 대해 제안 방법은 비디오 홀로그램(150 프레임) 생성 시간을 약 37% 줄일 수 있었지만, 50K 이상의 광원 수를 가질 경우, 9% 정도를 줄이는 데 그쳤다.
후속연구
향후, 보다 다양한 환경에서 제안 방법의 성능을 검증하는 실험이 뒷받침되어야 할 것이다. 특히, 네트워크 환경의 변화나 클러스터를 구성하는 PC 수나 성능 변화는 제안 방법의 성능에 큰 영향을 주기 때문에 이에 대한 분석이 필요하다.
질의응답
핵심어
질문
논문에서 추출한 답변
홀로그래피란 무엇인가?
3차원 TV 및 영화가 보편화되고 보다 향상된 입체감, 몰입감을 가진 미디어에 대한 수요가 늘어나면서, 입체 영상을 표현하는 궁극적인 기술인 홀로그래피(holography)에 대한 관심이 다시 커지고 있다. 홀로그래피는 실 공간에 디스플레이된 3차원 영상을 아무런 부가 장치 없이 육안으로 관찰이 가능한 영상 기술이다. 이때, 디스플레이된 3차원 영상을 홀로그램(hologram)이라고 하는데, 홀로그램은 물체의 3차원 정보와 광학(optical) 장치를 이용하여 간섭(interference) 패턴을 필름에 기록하고 이를 다시 광학 장치를 이용하여 재현하여 얻어진다.
비디오 홀로그램의 단점은?
GPU를 탑재한 여러 대의 PC를 클러스터(서버-클라이언트 구조)로 구성함으로써 고해상도 디지털 홀로그램을 고속으로 생성할 수 있다. 그러나, 비디오 홀로그램의 경우, PC 사이의 데이터 전송 시간이 프레임 수에 비례하여 선형적으로 증가하기 때문에 비디오 홀로그램을 고속 생성하는 데 있어 큰 걸림돌이 된다. 본 논문에서는 이러한 데이터 전송 시간의 증가를 해결하기 위해 멀티쓰레드를 활용하는 방법을 제안한다.
CGH 방법의 높은 계산 복잡도를 해결하기 위해 제안된 두 가지 방법론은?
CGH 방법의 높은 계산 복잡도를 해결하기 위해 크게 두 가지 방법론이 제안되었다. 우선, CGH 계산 결과들을 미리 룩업테이블에 저장해두거나[3], 특정 픽셀들의 CGH 결과로부터 나머지 픽셀들의 CGH 결과를 반복적으로 추정하거나[4], 코사인 함수를 근사화하는[5] 등의 소프트웨어적으로 개선하는 방법론이 있다. 그러나, 이러한 방법들은 많은 양의 메모리를 필요로 하거나, 고해상도를 가진 홀로그램을 고속으로 생성할 수 있을 정도로 CGH 방법의 계산 복잡도를 향상시킬 수는 없었다.
참고문헌 (11)
H. Yoshikawa and J. Tamai, "Holographic image compression by motion picture coding," Proc. of SPIE, Vol. 2652, pp. 2-9, 1997.
B. R. Brown and A. W. Lohmann, "Complex spatial filtering with binary masks," Applied Optics, Vol. 5, pp. 967-969, 1966.
S. C. Kim and E. S. Kim, "Effective generation of digital holograms of three-dimensional objects using a novel look-up table method," Applied Optics, Vol. 47, No. 19, pp. D55-D62, 2008.
T. Shimobaba and T. Ito, "An efficient computational method suitable for hardware of computer-generated hologram with phase computation by addition," Comput. Phys. Commun., Vol. 138, No. 1, pp. 44-52, 2001.
T. Nishitsuji, T. Shimobaba, T. Kakue, D. Arai, and T. Ito, "Simple and fast cosine approximation method for computer-generated hologram calculation," Optics Express, Vol. 23, No. 25, pp. 32465-32470, 2015.
J. Song, J. Park, H. Park, and J.-I. Park, "Real-time generation of high-definition resolution digital holograms by using multiple graphic processing units," Optical Engineering, Vol. 52, No. 1, pp. 015803, 2013.
T. Sugawara, Y. Ogihara, and Y. Sakamoto, "Fast point-based method of a computer-generated hologram for a triangle-patch model by using a graphics processing unit," Applied Optics, Vol. 55, pp. A160-A166, 2016.
N. Takada, T. Shimobaba, H. Nakayama, A. Shiraki, N. Okada, M. Oikawa, N. Masuda, and T. Ito, "Fast high-resolution computer- generated hologram computation using multiple graphics processing unit cluster system," Applied Optics, Vol. 51, No. 30, pp. 7303-7307, 2012.
J. Song, C. Kim, H. Park, and J.-I. Park, "Fast generation of a high-quality computer-generated hologram using a scalable and flexible PC cluster," Applied Optics, Vol. 55, No. 13, pp. 3681-3688, 2016.
※ AI-Helper는 부적절한 답변을 할 수 있습니다.