그래픽 처리 장치를 이용한 웨이블렛 변환 방법
METHOD FOR WAVELET TRANSFORM USING GRAPHIC PROCESSING UNIT
특허 요약
본 발명의 일 실시예에 따른 그래픽 처리 장치를 이용한 웨이블릿 변환 방법은 글로벌 메모리(global memory)에 저장된 프레임을 공유 메모리(shared memory)로 불러오는 단계와, 프레임에 포함된 픽셀을 복수의 스레드(thread)에 가로 방향으로 순차적으로 할당하고, 각 스레드에 할당된 픽셀을 공유 메모리로부터 각 스레드가 관리하는 레지스터로 저장하는 제1 단계와, 제1 단계에서의 레지스터에 저장된 픽셀에 대하여 가로 웨이블릿 리프팅(wavelet lifting)을 수행하는 단계와, 가로 웨이블릿 리프팅이 수행된 프레임을 공유 메모리에 저장하는 단계와, 가로 웨이블릿 리프팅이 수행된 프레임에 포함된 픽셀을 복수의 스레드에 세로 방향으로 순차적으로 할당하고, 각 스레드에 할당된 픽셀을 공유 메모리로부터 각 스레드가 관리하는 레지스터에 저장하는 제2 단계와, 제2 단계에서의 레지스터에 저장된 픽셀에 대하여 세로 웨이블릿 리프팅을 수행하는 단계와, 세로 웨이블릿 리프팅이 수행된 웨이블릿 변환 결과를 공유 메모리에 저장하는 단계와, 공유 메모리에 저장된 웨이블릿 변환 결과를 글로벌 메모리에 저장하는 단계를 포함한다.
청구항
번호청구항
1

그래픽 처리 장치(graphic processing unit, GPU)가 프레임을 웨이블릿 변환(wavelet transform)하는 방법에 있어서,글로벌 메모리(global memory)에 저장된 상기 프레임을 공유 메모리(shared memory)로 불러오는 단계와,상기 프레임에 포함된 픽셀을 복수의 스레드(thread)에 가로 방향으로 순차적으로 할당하고, 각 스레드에 할당된 픽셀을 상기 공유 메모리로부터 상기 각 스레드가 관리하는 레지스터로 저장하는 제1 단계와,상기 제1 단계에서의 상기 레지스터에 저장된 픽셀에 대하여 가로 웨이블릿 리프팅(wavelet lifting)을 수행하는 단계와,상기 가로 웨이블릿 리프팅이 수행된 프레임을 상기 공유 메모리에 저장하는 단계와,상기 가로 웨이블릿 리프팅이 수행된 프레임에 포함된 픽셀을 복수의 스레드에 세로 방향으로 순차적으로 할당하고, 각 스레드에 할당된 픽셀을 상기 공유 메모리로부터 상기 각 스레드가 관리하는 레지스터에 저장하는 제2 단계와,상기 제2 단계에서의 상기 레지스터에 저장된 픽셀에 대하여 세로 웨이블릿 리프팅을 수행하는 단계와,상기 세로 웨이블릿 리프팅이 수행된 웨이블릿 변환 결과를 상기 공유 메모리에 저장하는 단계와,상기 공유 메모리에 저장된 상기 웨이블릿 변환 결과를 상기 글로벌 메모리에 저장하는 단계를 포함하되,상기 제1 단계는,상기 프레임에 포함된 픽셀을 복수의 스레드에 가로 방향으로 순차적으로 할당하되, 상기 프레임에서 동일한 행에 포함된 픽셀을 하나의 워프(warp)에 해당하는 복수의 스레드에 할당하는 단계를 포함하며, 상기 가로 웨이블릿 리프팅을 수행하는 단계는,하나의 스레드가 상기 하나의 스레드와 같은 워프에 해당하는 다른 스레드의 레지스터에 저장된 픽셀을 워프 셔플 인스트럭션(warp shuffle instruction)을 통해 공유하여 상기 가로 웨이블릿 리프팅을 수행하는 단계를 포함하는그래픽 처리 장치를 이용한 웨이블릿 변환 방법.

2

삭제

3

삭제

4

제1항에 있어서,상기 제1 단계는, 상기 프레임의 복수의 연속된 행을 구성하는 픽셀을 복수의 연속된 열 단위로 구분하여 가로 방향으로 순차적으로 상기 복수의 스레드에 할당하는 단계를 포함하는그래픽 처리 장치를 이용한 웨이블릿 변환 방법.

5

제4항에 있어서,상기 가로 웨이블릿 리프팅을 수행하는 단계는,하나의 스레드가 상기 하나의 스레드에 할당된 픽셀 중 하나의 행씩 순차적으로 상기 가로 웨이블릿 리프팅을 수행하는 단계를 포함하는그래픽 처리 장치를 이용한 웨이블릿 변환 방법.

6

그래픽 처리 장치(graphic processing unit, GPU)가 프레임을 웨이블릿 변환(wavelet transform)하는 방법에 있어서,글로벌 메모리(global memory)에 저장된 상기 프레임을 공유 메모리(shared memory)로 불러오는 단계와,상기 프레임에 포함된 픽셀을 복수의 스레드(thread)에 가로 방향으로 순차적으로 할당하고, 각 스레드에 할당된 픽셀을 상기 공유 메모리로부터 상기 각 스레드가 관리하는 레지스터로 저장하는 제1 단계와,상기 제1 단계에서의 상기 레지스터에 저장된 픽셀에 대하여 가로 웨이블릿 리프팅(wavelet lifting)을 수행하는 단계와,상기 가로 웨이블릿 리프팅이 수행된 프레임을 상기 공유 메모리에 저장하는 단계와,상기 가로 웨이블릿 리프팅이 수행된 프레임에 포함된 픽셀을 복수의 스레드에 세로 방향으로 순차적으로 할당하고, 각 스레드에 할당된 픽셀을 상기 공유 메모리로부터 상기 각 스레드가 관리하는 레지스터에 저장하는 제2 단계와,상기 제2 단계에서의 상기 레지스터에 저장된 픽셀에 대하여 세로 웨이블릿 리프팅을 수행하는 단계와,상기 세로 웨이블릿 리프팅이 수행된 웨이블릿 변환 결과를 상기 공유 메모리에 저장하는 단계와,상기 공유 메모리에 저장된 상기 웨이블릿 변환 결과를 상기 글로벌 메모리에 저장하는 단계를 포함하되,상기 제2 단계는,상기 가로 웨이블릿 리프팅이 수행된 프레임에 포함된 픽셀을 복수의 스레드에 세로 방향으로 순차적으로 할당하되, 상기 가로 웨이블릿 리프팅이 수행된 프레임에서 동일한 열에 포함된 픽셀을 하나의 워프(warp)에 해당하는 복수의 스레드에 할당하는 단계를 포함하며,상기 세로 웨이블릿 리프팅을 수행하는 단계는,하나의 스레드가 상기 하나의 스레드와 같은 워프에 해당하는 다른 스레드의 레지스터에 저장된 픽셀을 워프 셔플 인스트럭션(warp shuffle instruction)을 통해 공유하여 상기 세로 웨이블릿 리프팅을 수행하는 단계를 포함하는그래픽 처리 장치를 이용한 웨이블릿 변환 방법.

7

프레임을 웨이블릿 변환(wavelet transform)하는 그래픽 처리 장치(graphic processing unit, GPU)에 있어서,상기 그래픽 처리 장치는,글로벌 메모리(global memory)에 저장된 상기 프레임을 공유 메모리(shared memory)로 불러오는 동작과,상기 프레임에 포함된 픽셀을 복수의 스레드(thread)에 가로 방향으로 순차적으로 할당하고, 각 스레드에 할당된 픽셀을 상기 공유 메모리로부터 상기 각 스레드가 관리하는 레지스터로 저장하는 제1 동작과,상기 제1 동작에서의 상기 레지스터에 저장된 픽셀에 대하여 가로 웨이블릿 리프팅(wavelet lifting)을 수행하는 동작과,상기 가로 웨이블릿 리프팅이 수행된 프레임을 상기 공유 메모리에 저장하는 동작과,상기 가로 웨이블릿 리프팅이 수행된 프레임에 포함된 픽셀을 복수의 스레드에 세로 방향으로 순차적으로 할당하고, 각 스레드에 할당된 픽셀을 상기 공유 메모리로부터 상기 각 스레드가 관리하는 레지스터에 저장하는 제2 동작과,상기 제2 동작에서의 상기 레지스터에 저장된 픽셀에 대하여 세로 웨이블릿 리프팅을 수행하는 동작과,상기 세로 웨이블릿 리프팅이 수행된 웨이블릿 변환 결과를 상기 공유 메모리에 저장하는 동작과,상기 공유 메모리에 저장된 상기 웨이블릿 변환 결과를 상기 글로벌 메모리에 저장하는 동작을 수행하되,상기 제2 동작은,상기 가로 웨이블릿 리프팅이 수행된 프레임에 포함된 픽셀을 복수의 스레드에 세로 방향으로 순차적으로 할당하되, 상기 가로 웨이블릿 리프팅이 수행된 프레임에서 동일한 열에 포함된 픽셀을 하나의 워프(warp)에 해당하는 복수의 스레드에 할당하는 단계를 포함하며,상기 세로 웨이블릿 리프팅을 수행하는 동작은,하나의 스레드가 상기 하나의 스레드와 같은 워프에 해당하는 다른 스레드의 레지스터에 저장된 픽셀을 워프 셔플 인스트럭션(warp shuffle instruction)을 통해 공유하여 상기 세로 웨이블릿 리프팅을 수행하는 동작을 포함하는그래픽 처리 장치.

8

제1항에 있어서,상기 제2 단계는, 상기 프레임의 복수의 연속된 열을 구성하는 픽셀을 복수의 연속된 행 단위로 구분하여 세로 방향으로 순차적으로 상기 복수의 스레드에 할당하는 단계를 포함하는그래픽 처리 장치를 이용한 웨이블릿 변환 방법.

9

제8항에 있어서,상기 세로 웨이블릿 리프팅을 수행하는 단계는,하나의 스레드가 상기 하나의 스레드에 할당된 픽셀 중 하나의 열씩 순차적으로 상기 세로 웨이블릿 리프팅을 수행하는 단계를 포함하는그래픽 처리 장치를 이용한 웨이블릿 변환 방법.

10

프레임을 웨이블릿 변환(wavelet transform)하는 그래픽 처리 장치(graphic processing unit, GPU)에 있어서,상기 그래픽 처리 장치는,글로벌 메모리(global memory)에 저장된 상기 프레임을 공유 메모리(shared memory)로 불러오는 동작과,상기 프레임에 포함된 픽셀을 복수의 스레드(thread)에 가로 방향으로 순차적으로 할당하고, 각 스레드에 할당된 픽셀을 상기 공유 메모리로부터 상기 각 스레드가 관리하는 레지스터로 저장하는 제1 동작과,상기 제1 동작에서의 상기 레지스터에 저장된 픽셀에 대하여 가로 웨이블릿 리프팅(wavelet lifting)을 수행하는 동작과,상기 가로 웨이블릿 리프팅이 수행된 프레임을 상기 공유 메모리에 저장하는 동작과,상기 가로 웨이블릿 리프팅이 수행된 프레임에 포함된 픽셀을 복수의 스레드에 세로 방향으로 순차적으로 할당하고, 각 스레드에 할당된 픽셀을 상기 공유 메모리로부터 상기 각 스레드가 관리하는 레지스터에 저장하는 제2 동작과,상기 제2 동작에서의 상기 레지스터에 저장된 픽셀에 대하여 세로 웨이블릿 리프팅을 수행하는 동작과,상기 세로 웨이블릿 리프팅이 수행된 웨이블릿 변환 결과를 상기 공유 메모리에 저장하는 동작과,상기 공유 메모리에 저장된 상기 웨이블릿 변환 결과를 상기 글로벌 메모리에 저장하는 동작을 수행하되,상기 제1 동작은,상기 프레임에 포함된 픽셀을 복수의 스레드에 가로 방향으로 순차적으로 할당하되, 상기 프레임에서 동일한 행에 포함된 픽셀을 하나의 워프(warp)에 해당하는 복수의 스레드에 할당하는 동작를 포함하며, 상기 가로 웨이블릿 리프팅을 수행하는 동작은,하나의 스레드가 상기 하나의 스레드와 같은 워프에 해당하는 다른 스레드의 레지스터에 저장된 픽셀을 워프 셔플 인스트럭션(warp shuffle instruction)을 통해 공유하여 상기 가로 웨이블릿 리프팅을 수행하는 동작를 포함하는그래픽 처리 장치.

11

제1항, 제4항 내지 제6항, 제8항 및 제9항 중 어느 한 항의 방법을 프로세서가 수행하도록 하는 컴퓨터 판독 가능 기록매체에 저장된 프로그램.

12

제1항, 제4항 내지 제6항, 제8항 및 제9항 중 어느 한 항의 방법을 프로세서가 수행하게 하는 명령어를 포함하는 프로그램이 기록된 컴퓨터 판독 가능 기록매체.