KR101704674B1 - 디지털 시네마 영상의 고속 생성 장치 및 그 방법 - Google Patents

디지털 시네마 영상의 고속 생성 장치 및 그 방법 Download PDF

Info

Publication number
KR101704674B1
KR101704674B1 KR1020150113080A KR20150113080A KR101704674B1 KR 101704674 B1 KR101704674 B1 KR 101704674B1 KR 1020150113080 A KR1020150113080 A KR 1020150113080A KR 20150113080 A KR20150113080 A KR 20150113080A KR 101704674 B1 KR101704674 B1 KR 101704674B1
Authority
KR
South Korea
Prior art keywords
processing unit
encoding
graphics processing
image
unit
Prior art date
Application number
KR1020150113080A
Other languages
English (en)
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 KR1020150113080A priority Critical patent/KR101704674B1/ko
Application granted granted Critical
Publication of KR101704674B1 publication Critical patent/KR101704674B1/ko

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N1/00Scanning, transmission or reproduction of documents or the like, e.g. facsimile transmission; Details thereof
    • H04N1/41Bandwidth or redundancy reduction
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T9/00Image coding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/234Processing of video elementary streams, e.g. splicing of video streams, manipulating MPEG-4 scene graphs
    • H04N21/2343Processing of video elementary streams, e.g. splicing of video streams, manipulating MPEG-4 scene graphs involving reformatting operations of video signals for distribution or compliance with end-user requests or end-user device requirements
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/234Processing of video elementary streams, e.g. splicing of video streams, manipulating MPEG-4 scene graphs
    • H04N21/2343Processing of video elementary streams, e.g. splicing of video streams, manipulating MPEG-4 scene graphs involving reformatting operations of video signals for distribution or compliance with end-user requests or end-user device requirements
    • H04N21/234363Processing of video elementary streams, e.g. splicing of video streams, manipulating MPEG-4 scene graphs involving reformatting operations of video signals for distribution or compliance with end-user requests or end-user device requirements by altering the spatial resolution, e.g. for clients with a lower screen resolution
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/234Processing of video elementary streams, e.g. splicing of video streams, manipulating MPEG-4 scene graphs
    • H04N21/2343Processing of video elementary streams, e.g. splicing of video streams, manipulating MPEG-4 scene graphs involving reformatting operations of video signals for distribution or compliance with end-user requests or end-user device requirements
    • H04N21/234381Processing of video elementary streams, e.g. splicing of video streams, manipulating MPEG-4 scene graphs involving reformatting operations of video signals for distribution or compliance with end-user requests or end-user device requirements by altering the temporal resolution, e.g. decreasing the frame rate by frame skipping

Abstract

본 발명은 디지털 시네마 표준 배급 콘텐츠 고속 생성 장치 및 그 방법에 관한 것으로, 영상 데이터를 특정 표준에 따른 포맷으로 인코딩하는 작업을 멀티 GPU를 이용하여, 인코딩 연산 과정을 모듈화하고, 이를 모듈별로 병렬처리 함에 있어서 공유 메모리를 이용하여 그래픽 프로세싱 유닛 간의 트래픽을 줄임으로써, 인코딩 작업을 고속으로 처리하기 위한 장치 및 그 방법에 관한 것이다.

Description

디지털 시네마 영상의 고속 생성 장치 및 그 방법{AN APPARATUS FOR GENERATING DIGITAL CINEMA IMAGES IN HIGH SPEED AND THE METHOD THEREOF}
본 발명은 디지털 시네마 영상의 고속 생성 장치 및 그 방법에 관한 것으로, 더욱 상세하게는 상기 입력되는 디지털 시네마 영상 데이터의 인코딩 작업을 멀티 그래픽 프로세싱 유닛을 이용하여 병렬로 처리함에 있어서, 공유 메모리를 이용하여 그래픽 프로세싱 유닛 간의 트래픽을 줄임으로써, 인코딩 작업을 고속으로 처리하기 위한 장치 및 그 방법에 관한 것이다.
최근 디지털 카메라나 디지털 캠코더의 보급이 확산됨에 따라 일반 사용자들도 이를 쉽게 구비하여 영화 촬영과 같은 디지털 동영상을 직접 제작하고 편집이 가능해 졌다.
또한 통신 기술의 급속한 발달은, 상기 제작된 디지털 동영상들이 유무선 네트워크를 이용하여 쉽게 배포되어, 사용자가 구비하는 개인 단말기 또는 유튜브와 같은 온라인상의 동영상 서비스 사이트를 통해 상영될 수 있다.
그러나 이러한 디지털 동영상은 대규모 용량을 필요로 하므로, 디지털 영상 콘텐츠를 제작하여 배포함에 있어, 디지털 영상 콘텐츠의 용량을 대폭 줄일 수 있는 인코딩 기술이 필요하다.
기존의 인코딩 기술로는 정지영상 압축의 표준인 JPEG이 대표적이다.
상기 JPEG은, 인간의 시각이 밝기의 변화에는 민감하지만, 미묘한 색의 변화에는 둔감하고, 실제 이미지 데이터는 인접 픽셀 데이터 간의 값에 대한 변화가 크지 않다는 점에서 착안된 기술로써, 인간의 눈에 덜 민감한 부분의 데이터를 누락시키는 형태를 취해 전체적인 이미지 파일의 용량을 줄이는 기술이다.
그러나 JPEG는 영상을 8x8 또는 4x4의 블록으로 분할하여, 각 분할한 블록마다 DCT(Discrete Cosine Transform)를 취한 후에 압축과정을 수행하기 때문에, 느린 비트 레이트에서의 심각한 이미지 블록화 현상이 일어나는 단점이 있다.
이에 따라 JPEG의 단점을 극복하기 위해 새로운 표준안으로 JPEG2000이 제정되었으며, JPEG2000은 기존의 JPEG의 이미지 압축 방식인 DCT방식이 아닌 웨이블릿 변환을 이용한 압축방식을 사용하여, 이미지 블록화 현상을 제거하고, 압축률 또한 JPEG보다 2배 이상 향상되어 압축의 효율성 면에서도 우수하다.
특히 디지털 시네마 시스템 규격(Digital Cinema System Specification, DCSS)이라는 디지털 시네마 시스템에 대한 기술의 표준을 제정한 DCI(Digital Cinema Initiative)는 상기 기술 표준에서 규정하고 있는 TIFF이미지 소스들을 상기 JPEG2000 이미지 인코딩 방식에 의해 압축 하도록 규정하고 있다. 또한 상기 TIFF이미지 소스는 촬영이 완료된 영화 이미지를 저장하기 위한 포맷이다.
그러나 JPEG2000은 상기 JPEG과 대비하여 동일한 화질이라면 두 배 정도의 높은 압축률을 가지고 있으나, 영상 데이터를 인코딩함에 있어, 그 압축 속도가 너무 느려 많은 시간이 소요되는 단점이 있다.
이에 따라 본 발명은 병렬 처리에 특화된 멀티 그래픽 프로세스 유닛(Multi Graphic Processor Unit, MGPU, 이하 멀티 GPU로 칭함)을 이용하여 상기 디지털 영상 데이터의 압축을 병렬로 처리하여, 상기 디지털 영상 콘텐츠를 고속으로 인코딩할 수 있는 장치 및 그 방법을 제공하고자 한다.
다음으로 본 발명의 기술 분야에 존재하는 선행기술에 대하여 간단하게 설명하고, 이어서 본 발명이 상기 선행기술에 비해서 차별적으로 이루고자 하는 기술적 사항에 대해서 기술하고자 한다.
먼저 한국등록특허 제1226544호(2013.01.25.)는 DSP(Digital Signal Processing)와 FPGA(Field Programmable Gate Array)를 이용한 JPEG2000 압축 설계 방법 및 장치에 관한 것으로, 임베디드 시스템에서 효율적인 DSP/FPGA 분산설계 방법을 사용하여 DSP의 JPEG2000 영상 압축 연산량을 FPGA의 MQ-코더로 분산시켜 영상 압축 속도를 향상시키는 방법 및 장치가 구현되어 있다.
상기 선행기술은 영상 압축의 연산량을 분산하여 영상 압축의 속도를 향상시키는 점에서 본 발명과 일부분 유사하나, 반면에 본 발명은 FPGA라는 반도체 소자를 별도로 구비하는 것이 아니라 멀티 GPU를 이용하여, 영상 압축을 인코딩 연산 모듈 별로 나누어 병렬로 처리함으로써, 압축 연산 속도를 향상시키는 기술적 특징에 대해서는 기재하거나 시사하고 있지 않다.
또한 한국공개특허 제2014-0021388호(2014.02.20.)는 GPU 기반 JPEG2000 인코딩 및 디코딩 장치 및 그 방법에 관한 것으로, 웨이블릿 기반의 JPEG2000 인코딩 및 디코딩 시스템을 GPU의 다중 코어 및 CPU의 멀티 코어를 활용하여 JPEG2000을 사용하는 시스템을 구축하고, 속도 저하를 유발하는 현상을 줄이는 기술이 구현되어 있다.
상기 선행기술은 JPEG2000으로의 포맷을 코딩하는 단계는 CPU에서 수행하고, 입력되는 영상 데이터를 압축하는 단계는 GPU에서 수행하도록 2원화 시켰으나 실질적으로 상기 영상 데이터를 압축하는 단계는 순차적으로 이루어지고 있어, 압축 속도의 향상을 기대할 수 없는 문제점이 있다.
반면에 본 발명은 멀티 GPU에서 수행하는 압축 단계를 멀티 GPU의 다중 코어 별로 모듈화하고 이를 병렬처리 함으로써, 한 번에 여러 프레임을 압축할 수 있고 상기 모듈의 아이들 시간(idle time)을 줄여 상기 영상 데이터를 고속으로 압축하는 효과가 있다.
또한 한국등록특허 제1291432호(2013.07.31.)는 고속 이산 웨이블릿 변환 처리를 위한 리프팅연산 병렬화 및 그 방법에 관한 것으로, GPGPU(General-Purpose computing on Graphics Processing Unit)를 이용하여 JPEG2000 영상 압축 알고리즘의 DWT 연산을 병렬로 처리하여 고속으로 수행할 수 있는 기술이 구현되어 있다.
상기 선행기술은 JPEG2000 인코딩에 있어서, 압축 단계를 병렬로 처리한다는 점에서 본 반명과 일부분 유사하나, 반면에 본 발명은 압축의 여러 단계 중에 하나의 단계인 웨이블릿 변환 단계만을 병렬로 처리하는 것이 아니라 특정 표준에 따른 영상 압축의 전 단계를 모듈화하여 병렬로 처리하는 것이며, 또한 각 단계마다 복수개의 쓰레드를 생성하여 각 단계에서 처리되는 연산량을 분산하여 처리함으로써, 디지털 시네마 영상의 압축을 시간을 현저하게 줄일 수 있는 효과에 대한 기술적 특징에 대해서는 기재하거나 시사하고 있지 않다.
본 발명은 상기와 같은 문제점을 해결하기 위해 창작 된 것으로서, 디지털 시네마 영상을 특정 표준에 따라 인코딩함에 있어, 멀티 GPU 기술을 적용하여 압축하는 각 단계를 모듈화하고, 병렬처리 함으로써, 인코딩 속도를 향상시킬 수 있는 장치 및 그 방법을 제공하는 것을 목적으로 한다.
또한 본 발명은 상기 모듈화한 각 단계마다 생성되는 중간 데이터를 공유메모리에 저장함으로써, 각 단계별로 필요한 데이터를 엑세스하는 시간을 줄여, 디지털 시네마 영상을 특정 표준에 따라 인코딩하는 시간을 현저하게 줄일 수 있는 장치 및 그 방법을 제공하는 것을 목적으로 한다.
본 발명의 일 실시예에 따른 디지털 시네마 영상의 고속 생성 장치는, 영상 데이터에 대해서 특정 표준에 따른 인코딩을 수행하는 멀티 그래픽 처리 유니트, 상기 멀티 그래픽 처리 유니트가 상기 인코딩을 수행하도록 복수의 쓰레드를 생성하고, 상기 쓰레드의 동작을 스케줄링하는 중앙 처리 유니트 및 상기 멀티 그래픽 처리 유니트와 상기 중앙 처리 유니트가 처리한 결과를 메모리를 통해서 공유하는 공유 메모리를 포함하며, 상기 멀티 그래픽 처리 유니트와 상기 중앙 처리 유니트가 상기 메모리를 공유함으로써, 상기 멀티 그래픽 처리 유니트와 상기 중앙 처리 유니트 사이의 데이터 이동을 최소화하는 것을 특징으로 한다.
또한 상기 특정 표준에 따른 인코딩은 Motion-JPEG, JPEG2000, MPEG-2, MPEG-4 또는 H.264 중 적어도 어느 하나를 포함하는 것을 특징으로 한다.
또한 상기 중앙 처리 유니트는 상기 복수의 쓰레드를 통해서, 복수의 그래픽 처리 유니트 간에서 인코딩할 연산 모듈을 할당하거나, 단일의 그래픽 처리 유니트에서 복수의 인코딩 연산 모듈 중 일부 혹은 전부에 대한 연산 모듈을 수행하도록 할당하는 것을 특징으로 한다.
또한 상기 복수의 그래픽 처리 유니트들 사이에서 혹은 단일의 그래픽 처리 유니트에서 상기 인코딩 연산 모듈을 병렬 처리하도록 함으로써, 고속의 인코딩을 수행하도록 하는 것을 특징으로 한다.
또한 상기 중앙 처리 유니트는, 상기 특정 표준에 따른 인코딩에 대한 동작을 초기화하는 인코딩 초기화부, 외부로부터 영상 데이터를 받아 들여 공유 메모리에 저장하는 이미지 리드부, 상기 복수의 쓰레드에 의해서 상기 멀티 그래픽 처리 유니트에서 수행된 결과를 공유 메모리에서 읽어와 특정 표준에 따른 구문으로 인코딩하는 인코드부 및 상기 인코딩된 특정 표준에 따른 구문으로 된 스트림을 파일로 생성하는 파일생성부를 더 포함하는 것을 특징으로 한다.
아울러 본 발명의 일 실시예에 따른 디지털 시네마 영상의 고속 생성 방법은, 중앙 처리 유니트에서 상기 멀티 그래픽 처리 유니트가 상기 인코딩을 수행하도록 복수의 쓰레드를 생성하는 단계, 멀티 그래픽 처리 유니트에서 입력된 영상 데이터에 대해서 특정 표준에 따른 인코딩을 수행하는 단계 및 상기 중앙 처리 유니트가 상기 인코딩을 수행하는 과정에서 상기 쓰레드의 동작을 스케줄링하는 단계를 포함하며, 상기 멀티 그래픽 처리 유니트와 상기 중앙 처리 유니트가 처리한 결과를 공유 메모리를 통해서 공유함으로써, 상기 멀티 그래픽 처리 유니트와 상기 중앙 처리 유니트 사이의 데이터 이동을 최소화하는 것을 특징으로 한다.
또한 상기 디지털 시네마 영상의 고속 생성 방법은, 인코딩 초기화부 통해서 상기 특정 표준에 따른 인코딩에 대한 동작을 초기화하는 인코딩 초기화 단계, 이미지 리드부를 통해서 외부로부터 받아들인 영상 데이터를 공유 메모리에 저장하는 이미지 리드 단계, 인코드부를 통해서 상기 복수의 쓰레드에 의해서 상기 멀티 그래픽 처리 유니트에서 수행된 결과를 공유 메모리에서 읽어와 특정 표준에 따른 구문으로 인코딩하는 인코딩 단계 및 파일생성부를 통해서 상기 인코딩된 특정 표준에 따른 구문으로 된 스트림을 파일로 생성하는 파일생성 단계를 더 포함하는 것을 특징으로 한다.
본 발명은 디지털 시네마 영상의 고속 생성 장치 및 그 방법에 관한 것으로, 디지털 시네마 영상을 특정 표준에 따라 인코딩함에 있어, 상기 디지털 시네마 영상을 인코딩하는 각 과정을 멀티 GPU 기술로 구현하여 이를 모듈화하고, 상기 모듈화된 각 과정을 병렬로 처리함함에 있어서, 공유 메모리를 이용하여 그래픽 프로세싱 유닛 간의 트래픽을 줄임으로써, 상기 인코딩하는 속도를 현저하게 향상시킬 수 있는 효과가 있다.
도 1은 본 발명의 일 실시예에 따른 디지털 시네마 영상의 고속 생성 장치의구성을 나타낸 블록도이다.
도 2는 본 발명의 일 실시예에 따른 멀티 GPU의 구성을 나타낸 블록도이다.
도 3은 본 발명의 일 실시예에 따른 멀티 GPU에서 수행되는 모듈별 병렬처리 과정을 나타낸 예시도이다.
도 4는 본 발명의 일 실시예에 따른 JPEG2000 파일을 생성하는 절차를 나타낸 흐름도이다.
이하, 본 발명의 바람직한 실시 예를 첨부된 도면을 참조하여 상세히 설명한다. 각 도면에 제시된 동일한 참조부호는 동일한 부재를 나타낸다.
도 1은 본 발명의 일 실시예에 따른 디지털 시네마 영상의 고속 생성 장치의구성을 나타낸 블록도이다.
우선 중앙 처리 유니트(Central Process Unit, CPU, 이하 CPU로 칭함)(100)는 복잡한 분기문과 캐쉬들을 고려하고 수용 가능한 쓰레드의 수가 한정적이기 때문에 디지털 시네마 영상 콘텐츠를 병렬적으로 처리하기에는 한계가 있다.
따라서 병렬처리 연산에 집중적이고 대량의 코어를 탑재한 멀티 GPU(200)를 이용해 상기 CPU(100)의 제한된 병렬처리를 극복하고 많은 연산을 효과적으로 처리할 수 있다.
또한 본 발명을 하기의 도면을 통해서 JPEG2000을 예를 들어, 상세히 설명하고 있지만, 본 발명은 상기 디지털 시네마 영상을 특정 표준에 따라 인코딩을 함에 있어 상기 특정 표준에서 지원하는 압축 연산과 같은 인코딩 연산 과정을 각 과정별로 모듈화하여 병렬처리 함으로써, 상기 인코딩하는 시간을 현저하게 향상시키는 것이 본 발명의 핵심이다. 또한 본 발명은 공유 메모리를 이용하여 그래픽 프로세싱 유닛 간의 트래픽을 줄임으로써, 인코딩 처리 속도를 더욱 향상시킨다.
따라서 JPEG2000에 따른 인코딩뿐 만아니라 MPEG-2 또는 H.264와 같은 다른 표준에서 정하는 인코딩 기술에도 적용될 수 있음은 당연하다.
도 1에 도시한 바와 같이, 상기 디지털 시네마 표준 배급 콘텐츠 고속 생성 장치는 고속의 멀티 GPU(200) 연산을 위한 공유 메모리, TIFF 영상파일, DPX 영상파일 또는 Cineon 영상 데이터와 같은 대용량 영상 데이터를 압축하는 멀티 GPU(200) 및 상기 멀티 GPU(200)가 상기 영상 데이터의 압축을 수행하도록 스케줄링하는 CPU(100)를 포함하여 구성된다.
또한 상기 CPU(100)는 상기 영상 데이터를 인코딩하기 위해 상기 장치를 초기화하는 인코딩 초기화부(110), 상기 영상 데이터를 디지털 카메라 또는 상기 영상 데이터를 저장한 DB로부터 읽어오는 이미지 리드부(120), 상기 멀티 GPU(200)가 특정 표준에 따른 인코딩을 수행하도록 제어하기 위해 상기 CPU(100)가 생성한 복수의 쓰레드(150), 및 상기 멀티 GPU(200)를 통해 압축된 영상 데이터를 JPEG2000 신택스에 따라 인코딩하는 인코드부(130) 및 상기 인코딩된 JPEG2000에 따른 구문으로 된 스트림을 파일로 생성하여 DB에 저장하는 파일 생성부(140)를 포함하여 구성된다.
한편 상기 CPU(100)를 구성하는 각 부는 상기 영상 데이터를 인코딩하기 위해 상기 CPU(100)가 생성한 쓰레드이거나, 상기 CPU(100)에 따로 장착되는 모듈일 수 있다.
한편 상기 영상 데이터의 압축은 영상의 공간적 요소의 상관관계를 고려하여 중복된 정보를 최소화하는 것을 의미하며, 상기 영상 데이터의 압축은 이하에서 기술할 압축 단계를 거쳐 수행된다.
또한 상기 대용량 영상 데이터를 인코딩 연산을 하기 위한 과정은 적어도 하나 이상의 멀티 GPU(200)에 모듈화되어 있거나, 하나의 GPU에 탑재되는 복수의 코어에 모듈화 되어 있다.
또한 상기 인코딩 연산 과정은 상기 영상 데이터의 프레임내 필요 없는 부분을 잘라내는 클리핑 과정, 상기 클리핑된 프레임을 R, G, 및 B에 따른 각각의 성분으로 구성되는 데이터를 분해하고 XYZ 성분의 데이터로 구분하는 성분 분해 과정, 상기 성분 분해한 프레임의 컬러 스페이스를 RGB형태에서 YCbCr형태로 변환하는 ICT(Irreversible Color Transform, ICT, 이하 ICT로 칭함)변환하는 ICT변환 과정, 상기 ICT변환 과정을 통해 변환된 해당 프레임을 웨이블릿 변환을 통해 상기 프레임을 세분화하는 웨이블릿 변환 과정 및 상기 웨이블릿 변환된 프레임을 양자화하기 위한 양자화 과정으로 구성될 수 있다.
또한 상술한 상기 인코딩 연산 과정은, 각 과정별로 상기 멀티 GPU(200)에서 모듈화 되어 병렬처리 되며, 이는 복수의 프레임을 동시에 압축할 수 있도록 하여 대용량 영상 데이터를 고속으로 인코딩할 수 있는 효과가 있다.
한편 상기 각 압축 단계는 도 2를 통하여 상세히 설명하도록 한다.
또한 상기 각 단계별로 생성되는 중간 데이터는 상기 공유 메모리(300)에 저장됨으로써, 불필요한 데이터의 이동을 최소화하고 상기 각 인코딩 연산 과정에서 필요한 데이터를 신속하게 엑세스하여 사용할 수 있으므로 효율적인 병렬처리가 가능해진다.
또한 상기 CPU(100)는 디지털 카메라와 같은 외부 장치로부터 입력되거나 로컬 DB에 저장된 영상 데이터를 상기 공유 메모리에 저장한다. 한편 상기 공유 메모리(300)는 상기 CPU(100)와 멀티 GPU(200)사이의 불필요한 데이터 이동을 최소화함으로써, 상기 영상 데이터를 압축하는 시간을 줄일 수 있으며, 상기 CPU(100)와 멀티 GPU간(200)의 데이터 이동을 고속으로 할 수 있는 장점이 있다.
또한 상기 CPU(100)는 상기 멀티 GPU(200)와 파이프 연결을 하고, 복수개의 쓰레드를 생성하여 상기 멀티 GPU(200)를 제어하게 된다. 한편 상기 멀티 GPU(200)는 GPU가 여러 개 일수도 있으므로, 상기 CPU(100)와 GPU간에 연결되는 파이프는 복수 개일 수 있다.
또한 상기 CPU(100)는 상기 쓰레드의 동작을 스케줄링하여 상기 멀티 GPU(200)를 제어할 수 있으며, 또한 상기 CPU(100)는 상기 생성한 복수의 쓰레드를 통해서, 복수의 GPU 간에서 인코딩할 연산 모듈(압축 모듈)을 할당하거나, 단일의 GPU에서 복수의 인코딩 연산 모듈 중 일부 혹은 전부에 대한 인코딩 연산 모듈을 수행하도록 할당할 수 있다.
즉, 상기 연산 모듈은 JPEG2000뿐만 아니라 다른 표준에서 정의한 연산 모듈일 수 있음은 상술한 바와 같다.
또한 상기 인코딩 연산 모듈별로 생성되는 중간 데이터는 공유 메모리(300)에 저장되고, 상기 저장된 중간 데이터는 다음에 병렬적으로 수행되어질 인코딩 연산 모듈의 입력 데이터로 사용된다. 또한 모든 인코딩 연산 모듈이 끝난 상기 영상 데이터는 상기 인코드부(130)에 의해 JPEG2000에 따른 구문으로 인코딩되고, 상기 인코딩된 스트림을 상기 파일 생성부(140)에 의해 JPEG2000 파일로 생성하여 DB에 저장되거나 네트워크를 통하여 배포된다.
또한 상기 멀티 GPU(200)는 상기 영상 데이터를 프레임별로 인코딩 연산을 함에 있어서, 상기 인코딩 연산 모듈별로 수행하는 연산량을 효율적으로 처리하기 위해, 복수의 쓰레드를 생성하여 수행할 수 있으며, 이는 상기 연산량을 분산하여 동시에 처리하도록 함으로써, 각 인코딩 연산 모듈별로 소요되는 시간을 현저하게 줄일 수 있는 효과가 있다.
또한 상기 인코드부(130)는 상기 공유 메모리(300)에 저장된 압축 데이터를 읽어와 Tier-1 및 Tier-2 코딩 과정을 수행하여 최종적인 JPEG2000 표준에 따른 구문으로 인코딩한다. 한편 상기 Tier-1 및 Tier-2 코딩 과정 역시 복수의 쓰레드를 이용하여 병렬적으로 수행한다. 이러한 방식은 공유 메모리를 이용하여 그래픽 프로세싱 유닛 간의 트래픽을 줄여주어, 전체적인 데이터 송수신 시간을 줄여주어 전체적인 장치의 구조를 단순화해 주고, 처리 속도도 향상시킬 수 있는 장점이 있다.
도 2는 본 발명의 일 실시예에 따른 멀티 GPU의 구성을 나타낸 블록도이다.
상기 멀티 GPU(200)는, 적어도 하나 이상의 GPU에 적어도 하나 이상의 인코딩 연산 과정이 모듈화 되어 있다. 즉, 상술한 영상 데이터의 인코딩 연산 과정이 각 GPU마다 각각 하나의 인코딩 연산 과정으로 구성되거나 2개 이상의 인코딩 연산 과정으로 구성될 수 있다.
또한 상기 하나의 GPU에 구비되는 복수개의 코어에 상기 인코딩 연산 과정이 과정별로 모듈화될 수 있다.
도 2에 도시한 바와 같이, 상기 멀티 GPU(200)는 영상 데이터의 프레임 내에서 장면을 벗어나는 부분을 삭제하는 클리핑 모듈(210), 상기 클리핑된 영상 프레임의 화소 단위를 R, G 및 B 각각의 성분으로 구성되는 데이터로 분해하고, X, Y 및 Z 변환연산을 수행하여 상기 분해한 데이터를 X, Y 및 Z 성분으로 변환하기 위한 이미지 성분 분해 모듈(220), 상기 성분 분해한 각각의 성분을 YCbCr 성분으로 변환하기 위한 ICT변환 모듈(230), 상기 YCbCr 성분으로 변환한 프레임을 웨이블릿 변환하기 위한 웨이블릿 변환 모듈(240) 및 상기 웨이블릿 변환한 각 성분값을 양자화하는 양자화 모듈(250)을 포함하여 구성될 수 있다.
또한 상기 영상 프레임을 인코딩하는 연산 모듈은 클리핑 모듈(210), 이미지 성분 분해 모듈(220), ICT변환 모듈(230), 웨이블릿 변환 모듈(240) 및 양자화 모듈(250) 순으로 순차적으로 수행된다. 또한 상기 각 인코딩 연산 모듈별로 압축이 수행되고, 생성되는 중간 데이터는 공유 메모리(300)에 저장되고, 상기 저장된 중간 데이터는 다음에 수행되는 인코딩 연산 모듈의 입력 데이터로 사용되어 진다.
상기 영상 데이터의 각 프레임에 대하여 각 인코딩 연산 모듈별 압축이 종료된 경우에는 연속적으로 입력되는 다음 프레임에 대해 각 인코딩 연산 모듈별 압축이 수행된다. 이는 상기 영상 파일에 대한 압축 시간을 현저하게 줄일 수 있는 효과가 있다.
또한 상기 인코딩 연산 모듈별로 압축이 수행되는 경우, 상기 멀티 GPU(200)는 상기 CPU(100)의 제어명령에 의해 복수의 쓰레드를 생성하여, 해당 인코딩 연산 모듈의 연산량을 분산하여 처리할 수 있다. 예를 들어, 상기 이미지 성분 분해 모듈에서 R, G 및 B 각각의 성분으로 구성되는 데이터로 분해하는 경우에, 하나의 GPU 또는 GPU에 구비된 코어가 한 번에 수행하는 것이 아니라 상기 생성한 복수의 쓰레드가 R, G 및 B의 각각의 성분으로 분해할 수 있다. 이는 하나의 모듈에서 수행되는 연산량을 분산처리하여 연산에 소요되는 시간을 대폭 줄일 수 있는 효과가 있다.
또한 상기 클리핑 모듈(210)은 사용자가 미리 설정한 클리핑 마스크를 이용하여 해당 영상 데이터의 프래임내 이미지의 필요 없는 부분을 삭제함으로서, 상기 영상 데이터의 용량을 줄일 수 있다.
한편 상기 클리핑된 영상 데이터는 일반적인 화소단위의 RGB 형태의 데이터로 구성되어 있으며, 상기 이미지 성분 분해 모듈(220)은 이를 각각 R, G 및 B 성분으로 구성되는 데이터로 분해하고, 상기 분해한 R, G 및 B 성분으로 구성되는 데이터를 컴포넌트 기반 X, Y 및 Z 성분으로 구성된 데이터로 변환한다.
한편 상기 R, G, 및 B 데이터를 X, Y 및 Z 성분으로 변화하는 이유는, 상기 R, G, 및 B로 색깔을 표현함에 있어, 특정 파장의 영역에서 색을 표현할 때 어느 하나 R, G, 또는 B 함수는 음의 값을 가질 때가 있다. 이는 두 성분을 합성한 후, 다른 성분을 빼야 원래의 기준 광원과 매칭 됨을 의미한다. 한편 R, G 및 B 광원에서 나온 빛은 서로 합성 될 뿐 뺄 수는 없기 때문에 R, G, 및 B 컬러 매칭으로는 모든 자연색을 표현할 수 없는 문제점이 있다.
따라서 특정 상수값으로 구성된 행렬과 각 R, G 및 B 함수를 곱하여 X, Y 및 Z 함수로 변환할 수 있고, 이는 자연에 존재하는 모든 가시적인 색상을 상기 변환한 함수의 덧셈에 의해 만들어 질 수 있다.
한편 상기 컴포넌트 기반 X, Y 및 Z로 변환하는 과정에서 uncoalesced 현상이 발생할 수 있다. uncoalesced 현상은 상기 생성한 각 쓰레드들이 해당 작업을 수행하기 위해 동시에 데이터를 요청하는 메모리 주소가 동일한 경우, 특정 쓰레드의 연산이 끝날 때 까지 다른 쓰레드가 대기하는 현상을 말한다.
이러한 경우 병렬처리를 하는 경우에도 상당히 긴 시간을 소비하게 된다. 따라서 이런 대기 시간을 낭비하지 않기 위해 Warp 기반 연산 알고리즘을 적용하여 스케줄링할 수 있다.
즉, Warp 기반 연산 알고리즘은 상기 쓰레드가 메모리를 읽고 쓰거나, 부동소수점 연산, 분기 명령 등과 같이 지연 시간이 긴 작업을 진행하는 동안 또 다른 쓰레드를 스위칭하여 연산을 수행하도록 하여 상기 uncoalesced 현상을 최소화 할 수 있다.
또한 상기 ICT변환 모듈(230)은 상기 분해한 X, Y 및 Z 성분을 YCrCb의 성분으로 변환한다.
상기 Y는 휘도(밝기 정도), Cr과 Cb는 색깔의 푸름과 붉은 정도는 타나내는 색체 정보다. 한편 사람의 시각은 색의 차이가 정확하지 않더라도 휘도 정보만 정확하면 원래의 색으로 인식하는 특성 때문에 상기 Cr과 Cb의 용량을 줄일 수 있다. 상기 각 성분별로 8비트로 할당되는 용량을 Cr과 Cb에 4비트로 할당하여 상기 영상 데이터의 용량을 줄인다.
또한 상기 웨이블릿 변환 모듈(240)은, 상기 프레임을 웨이블릿 알고리즘을 통해 부호화하기 위해, 상기 ICT변환된 상기 프레임을 수평방향, 수직방향 및 시간방향인 세 방향에서 주파수 대역필터(로우패스 필터와 하이패스 필터)를 적용시켜, 상기 프레임을 복수의 서브밴드로 분해한다. 상기 복수의 서브밴드는 4개의 밴드로 구성된다.
또한 상기 웨이블릿 알고리즘을 이용한 압축은 프레임 전체에 대해 압축을 하기 때문에 JPEG에서 발생하는 이미지 블록화 현상을 제거할 수 있다. 한편 상기 웨이블릿 변환은 상기 입력되는 프레임의 크기에 따라 수행되는 횟수가 달라질 수 있다.
또한 상기 양자화 모듈(250)은, 상기 웨이블릿 변환된 각 주파수의 성분 값을 양자화 스텝 사이즈로 불리는 특정 값으로 나누어 나머지를 반올림하여, 불필요한 성분을 제거한다. 즉, 상기 웨이블릿 변환된 서브밴드의 각 주파수의 성분값을 상기 양자화 스텝 사이즈로 나누어, 상기 프레임 내의 이미지를 크게 변화시키지 않는 범위 내에서 불필요한 성분을 제거하는 것이다. 다만 상기 양자화 스텝 사이즈의 값이 크면 클수록 압축률이 올라가지만 상기 프레임 내의 이미지가 변화될 수 있는 문제점도 있다.
또한 상술한 바와 같이, 상기 멀티 GPU(200)는 복수의 쓰레드를 생성하고, 상기 양자화를 서브밴드별로 나누어 처리할 수 있다. 이는 상기 양자화모듈의 연산량을 분산하여 처리할 수 있는 장점이 있다.
도 3은 본 발명의 일 실시예에 따른 멀티 GPU에서 수행되는 모듈별 병렬처리 과정을 나타낸 예시도이다.
우선 멀티 GPU(200)의 특성에 따라, 상기 영상 데이터의 프레임을 압축하는 인코딩 연산 과정은 각 과정별로 복수의 GPU에 모듈화 될 수 있거나, 하나의 GPU에 적어도 하나 이상의 인코딩 연산 과정이 모듈화 될 수 있거나, 하나의 GPU에 모든 인코딩 연산 과정이 모듈화되어 수행될 수 있다.
도 3에 도시한 바와 같이, 하나의 인코딩 연산 모듈이 상기 프레임의 인코딩 연산 과정을 수행하여 중간 데이터를 공유 메모리(300)에 저장하면, 바로 다음 인코딩 연산 과정의 모듈이 상기 저장한 중간 데이터를 입력데이터로 하여 해당 인코딩 연산 모듈을 수행한다.
또한 상기 인코딩 연산 과정을 수행한 하나의 인코딩 연산 모듈은 순차적으로 들어오는 다음 프레임을 연속해서 인코딩 연산 과정을 수행하여 생성된 중간 데이터를 공유 메모리에 저장한다.
예를 들어, GPU(1)는 클리핑 모듈(210)을 수행하여 불필요한 부분이 삭제된 해당 프레임을 상기 공유 메모리(300)에 저장하면, GPU(2)는 이미지 성분 분해 모듈을 수행하여 상기 저장된 프레임을 공유 메모리(300)로부터 읽어와 해당 인코딩 연산 과정을 수행하고 수행한 결과물인 중간 데이터를 공유 메모리(300)에 저장한다. 이렇게 순차적으로 GPU(3), GPU(40) 및 GPU(5)순으로 해당 인코딩 연산 모듈을 수행하게 된다. 한편 상기 GPU들은 각각의 인코딩 연산 모듈을 수행하고 종료한 경우에도, 순차적으로 들어오는 해당 영상 데이터의 다음 프레임을 입력받아 각각의 인코딩 연산 모듈을 수행함으로써, 동시에 복수의 프레임을 압축할 수 있다.
이렇게 함으로써, 복수의 프레임을 한 번에 압축할 수 있으며, 이는 대용량 영상 데이터의 인코딩 시간을 현저하게 줄일 수 있는 장점이 있다.
또한 상기 GPU들은 하나의 GPU에 상기 인코딩 연산 모듈을 모두 수행할 수 있으며, 멀티 GPU(200)로 구성된 각 GPU들은 순차적으로 입력되는 하나의 프레임을 압축할 수 있으며, 각 GPU들은 압축이 끝난 프레임에 식별번호를 부여하여 상기 공유 메모리(300)에 저장할 수 있다. 한편 상기 인코드부(130)는 상기 식별번호를 확인하여 식별번호 순서대로 인코딩하고, 상기 파일 생성부(140)은 상기 인코딩된 스트림을 JPEG2000 파일로 변환하여 생성할 수 있다.
또한 상기 GPU는 적어도 하나 이상의 인코딩 연산 과정을 모듈화하여 수행할 수 있고, 상기 모듈별 연산처리를 위해 복수의 쓰레드를 생성하고 모듈별 연산처리를 분산하여 처리함으로써, 상기 모듈별 압축 시간을 줄일 수 있다.
도 4는 본 발명의 일 실시예에 따른 JPEG2000 파일을 생성하는 절차를 나타낸 흐름도이다.
우선 CPU를 통해 영상 데이터를 읽어와 공유 메모리(300)에 저장한다(S110). 상기 공유 메모리는 상기 CPU(100)와 멀티 GPU(200)간의 데이터 이동을 하나의 메모리를 이용하여 수행함으로써, 불필요한 데이터의 이동을 최소화할 수 있다.
다음으로 상기 CPU(100)와 멀티 GPU(200)간의 파이프 연결을 수행한다(S120). 상기 파이프 연결을 통하여 상기 CPU(100)는 상기 멀티 GPU(200)를 제어할 수 있으며, 상기 CPU는 복수의 쓰레드(150)를 생성하여(S130), 각 쓰레드 별로 상기 멀티 GPU(200)를 제어하게 할 수 있다.
다음으로 상기 생성한 복수의 쓰레드(150)를 통해 상기 멀티 GPU(200)를 제어하여, 상기 영상 데이터를 병렬적으로 압축한다(S140).
다음으로 상기 압축하는 과정에서 생성되는 중간 데이터는, 다른 쓰레드 또는 GPU가 사용할 수 있도록 공유 메모리(300)에 저장한다(S150).
다음으로 상기 압축한 영상 데이터를 인코드부(130)를 통해 JPEG2000 신택스에 따라 인코딩하고, 상기 파일생성부(140)를 통해 JPEG2000 파일을 생성하고, 이를 DB에 저장한다(S160).
이상에서 설명하였듯이, 본 발명인 디지털 시네마 영상의 고속 생성 장치 및 그 방법은, 멀티 GPU(200)를 이용하여 각 인코딩 수행 과정을 모듈화하여, 모듈화된 상기 인코딩 연산 과정을 병렬적으로 수행함으로써, 상기 인코딩하는 속도를 현저하게 향상시킬 수 있는 효과가 있다.
상기에서는 본 발명에 따른 바람직한 실시예를 위주로 상술하였으나, 본 발명의 기술적 사상은 이에 한정되는 것은 아니며 본 발명의 각 구성요소는 동일한 목적 및 효과의 달성을 위하여 본 발명의 기술적 범위 내에서 변경 또는 수정될 수 있을 것이다.
또한, 이상에서는 본 발명의 바람직한 실시 예에 대하여 도시하고 설명하였지만, 본 발명은 상술한 특정의 실시 예에 한정되지 아니하며, 청구범위에서 청구하는 본 발명의 요지를 벗어남이 없이 당해 발명이 속하는 기술분야에서 통상의 지식을 가진 자에 의해 다양한 변형 실시가 가능한 것은 물론이고, 이러한 변형 실시들은 본 발명의 기술적 사상이나 전망으로부터 개별적으로 이해되어서는 안 될 것이다.
100 : 중앙 처리 유니트 110 : 인코딩 초기화부
120 : 이미지 리드부 130 : 인코드부
140 : 파일 생성부 200 : 멀티 그래픽 처리 유니트
210 : 클리핑 모듈 220 : 이미지 성분 분해 모듈
230 : ICT 변환 모듈 240 : 웨이블릿 변환 모듈
250 : 양자화 모듈 300 : 공유 메모리

Claims (10)

  1. 영상 데이터에 대해서 특정 표준에 따른 인코딩을 수행하는 멀티 그래픽 처리 유니트;
    상기 멀티 그래픽 처리 유니트가 상기 인코딩을 수행하도록 복수의 쓰레드를 생성하고, 상기 쓰레드의 동작을 스케줄링하는 중앙 처리 유니트; 및
    상기 멀티 그래픽 처리 유니트와 상기 중앙 처리 유니트가 처리한 결과를 메모리를 통해서 공유하는 공유 메모리;를 포함하며,
    상기 멀티 그래픽 처리 유니트에서 수행하는 인코딩 단계를 상기 멀티 그래픽 처리 유니트의 다중 코어 별로 모듈화하고 이를 병렬처리 함으로써, 한 번에 여러 프레임을 압축할 수 있고 상기 모듈의 아이들 시간(idle time)을 줄여 상기 영상 데이터를 고속으로 압축하는 것이 가능하며,
    상기 멀티 그래픽 처리 유니트와 상기 중앙 처리 유니트가 상기 메모리를 공유함으로써, 상기 멀티 그래픽 처리 유니트와 상기 중앙 처리 유니트 사이의 데이터 이동을 최소화하는 것을 특징으로 하는 디지털 시네마 영상의 고속 생성 장치.
  2. 청구항 1에 있어서,
    상기 특정 표준에 따른 인코딩은 Motion-JPEG, JPEG2000, MPEG-2, MPEG-4 또는 H.264 중 적어도 어느 하나를 포함하는 것을 특징으로 하는 디지털 시네마 영상의 고속 생성 장치.
  3. 청구항 1에 있어서,
    상기 중앙 처리 유니트는 상기 복수의 쓰레드를 통해서, 복수의 그래픽 처리 유니트 간에서 인코딩할 연산 모듈을 할당하거나,
    단일의 그래픽 처리 유니트에서 복수의 인코딩 연산 모듈 중 일부 혹은 전부에 대한 연산 모듈을 수행하도록 할당하여,
    상기 복수의 그래픽 처리 유니트들 사이에서 혹은 단일의 그래픽 처리 유니트에서 상기 인코딩할 연산 모듈을 병렬처리하도록 함으로써, 고속의 인코딩을 수행하도록 하는 것을 특징으로 하는 디지털 시네마 영상의 고속 생성 장치.
  4. 삭제
  5. 청구항 1에 있어서,
    상기 중앙 처리 유니트는,
    상기 특정 표준에 따른 인코딩에 대한 동작을 초기화하는 인코딩 초기화부;
    외부로부터 영상 데이터를 받아 들여 공유 메모리에 저장하는 이미지 리드부; 및
    상기 복수의 쓰레드에 의해서 상기 멀티 그래픽 처리 유니트에서 수행된 결과를 공유 메모리에서 읽어와 특정 표준에 따른 구문으로 인코딩하는 인코드부; 및
    상기 인코딩된 특정 표준에 따른 구문으로 된 스트림을 파일로 생성하는 파일생성부;를 더 포함하는 것을 특징으로 하는 디지털 시네마 영상의 고속 생성 장치.
  6. 중앙 처리 유니트에서 멀티 그래픽 처리 유니트가 인코딩을 수행하도록 복수의 쓰레드를 생성하는 단계;
    멀티 그래픽 처리 유니트에서 입력된 영상 데이터에 대해서 특정 표준에 따른 인코딩을 수행하는 단계;및
    상기 중앙 처리 유니트가 상기 인코딩을 수행하는 과정에서 상기 쓰레드의 동작을 스케줄링하는 단계;를 포함하며,
    상기 멀티 그래픽 처리 유니트에서 수행하는 인코딩 단계를 상기 멀티 그래픽 처리 유니트의 다중 코어 별로 모듈화하고 이를 병렬처리 함으로써, 한 번에 여러 프레임을 압축할 수 있고 상기 모듈의 아이들 시간(idle time)을 줄여 상기 영상 데이터를 고속으로 압축하는 것이 가능하며,
    상기 멀티 그래픽 처리 유니트와 상기 중앙 처리 유니트가 처리한 결과를 공유 메모리를 통해서 공유함으로써, 상기 멀티 그래픽 처리 유니트와 상기 중앙 처리 유니트 사이의 데이터 이동을 최소화하는 것을 특징으로 하는 디지털 시네마 영상의 고속 생성 방법.
  7. 청구항 6에 있어서,
    상기 특정 표준에 따른 인코딩은 Motion-JPEG, JPEG2000, MPEG-2, MPEG-4 또는 H.264 중 적어도 어느 하나를 포함하는 것을 특징으로 하는 디지털 시네마 영상의 고속 생성 방법.
  8. 청구항 6에 있어서,
    상기 중앙 처리 유니트는 상기 복수의 쓰레드를 통해서, 복수의 그래픽 처리 유니트 간에서 인코딩할 연산 모듈을 할당하거나,
    단일의 그래픽 처리 유니트에서 복수의 인코딩 연산 모듈 중 일부 혹은 전부에 대한 연산 모듈을 수행하도록 할당하여,
    상기 복수의 그래픽 처리 유니트들 사이에서 혹은 단일의 그래픽 처리 유니트에서 상기 인코딩할 연산 모듈을 병렬처리하도록 함으로써, 고속의 인코딩을 수행하도록 하는 것을 특징으로 하는 디지털 시네마 영상의 고속 생성 방법.
  9. 삭제
  10. 청구항 6에 있어서,
    상기 디지털 시네마 영상의 고속 생성 방법은,
    이미지 리드부를 통해서 상기 특정 표준에 따른 인코딩에 대한 동작을 초기화하는 인코딩 초기화 단계;
    이미지 리드부를 통해서 외부로부터 받아들인 영상 데이터를 공유 메모리에 저장하는 이미지 리드 단계; 및
    인코드부를 통해서 상기 복수의 쓰레드에 의해서 상기 멀티 그래픽 처리 유니트에서 수행된 결과를 공유 메모리에서 읽어와 특정 표준에 따른 구문으로 인코딩하는 인코딩 단계; 및
    파일생성부를 통해서 상기 인코딩된 특정 표준에 따른 구문으로 된 스트림을 파일로 생성하는 파일생성 단계;를 더 포함하는 것을 특징으로 하는 디지털 시네마 영상의 고속 생성 방법.
KR1020150113080A 2015-08-11 2015-08-11 디지털 시네마 영상의 고속 생성 장치 및 그 방법 KR101704674B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020150113080A KR101704674B1 (ko) 2015-08-11 2015-08-11 디지털 시네마 영상의 고속 생성 장치 및 그 방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020150113080A KR101704674B1 (ko) 2015-08-11 2015-08-11 디지털 시네마 영상의 고속 생성 장치 및 그 방법

Publications (1)

Publication Number Publication Date
KR101704674B1 true KR101704674B1 (ko) 2017-02-08

Family

ID=58154825

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020150113080A KR101704674B1 (ko) 2015-08-11 2015-08-11 디지털 시네마 영상의 고속 생성 장치 및 그 방법

Country Status (1)

Country Link
KR (1) KR101704674B1 (ko)

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2012022616A (ja) * 2010-07-16 2012-02-02 Panasonic Corp 共有メモリシステム及びその制御方法
KR20120091550A (ko) * 2011-02-09 2012-08-20 주식회사 글로벌미디어테크 범용 그래픽 처리장치의 병렬 프로세서를 이용한 고속 영상 처리 장치 및 방법
KR20140021388A (ko) * 2012-08-10 2014-02-20 한국전자통신연구원 그래픽 프로세스 유닛 기반 jpeg2000 인코딩/디코딩 장치 및 방법

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2012022616A (ja) * 2010-07-16 2012-02-02 Panasonic Corp 共有メモリシステム及びその制御方法
KR20120091550A (ko) * 2011-02-09 2012-08-20 주식회사 글로벌미디어테크 범용 그래픽 처리장치의 병렬 프로세서를 이용한 고속 영상 처리 장치 및 방법
KR20140021388A (ko) * 2012-08-10 2014-02-20 한국전자통신연구원 그래픽 프로세스 유닛 기반 jpeg2000 인코딩/디코딩 장치 및 방법

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
홍정현 외 2인,"OpenCL 을 이용한 공유 메모리 시스템에서의 LDPC 디코더 병렬화," 한국통신학회 종합 학술 발표회 논문집 (동계) 페이지 1069-1070, 2015.01. *

Similar Documents

Publication Publication Date Title
AU2020246735B2 (en) An encoder, a decoder and corresponding methods for intra prediction
JP6749922B2 (ja) 高効率ビデオ符号化(hevc)画面コンテンツ符号化(scc)における改善されたパレットモード
CN114503573A (zh) 低复杂性增强视频编码
KR101710001B1 (ko) 그래픽 프로세스 유닛 기반 jpeg2000 인코딩/디코딩 장치 및 방법
CA3128919A1 (en) An encoder, a decoder and corresponding methods of intra prediction
KR20010025085A (ko) 2-차원 이산 웨이브렛 변환을 바탕으로 지각적 무손실이미지를 산출하는 컬러 이미지의 압축
US7113645B2 (en) Image decompression apparatus and method
US10812832B2 (en) Efficient still image coding with video compression techniques
CN113660489B (zh) 用于帧内子划分的解码方法、装置、解码器和存储介质
CA3155487A1 (en) Apparatus and method for filtering in video coding
JP2022515003A (ja) コンパクトなmvストレージを用いるエンコーダ、デコーダ、及び対応する方法
JP2023085351A (ja) Cbfフラグの効率的なシグナリング方法
JP2023126795A (ja) ビデオコーディングにおけるクロマイントラ予測のための方法及び装置
JP2022516775A (ja) Dct2が有効である高レベルフラグを使用するエンコーダ、デコーダ及び対応する方法
KR101704674B1 (ko) 디지털 시네마 영상의 고속 생성 장치 및 그 방법
EP4300958A1 (en) Video image encoding method, video image decoding method and related devices
CN112740703B (zh) 编码器、解码器和用于变换处理的对应方法
WO2021025597A1 (en) Method and apparatus of sample adaptive offset in-loop filter with application region size constraint
CA3128913A1 (en) An encoder, a decoder and corresponding methods using intra mode coding for intra prediction
JP4040404B2 (ja) 符号列変換装置及び方法、画像処理装置並びに画像記録装置
JP2004200959A (ja) 符号列変換装置、画像編集システム、カメラシステム及びプログラム
JP2022531544A (ja) 平面モードのためのイントラ予測における複雑さ減少のエンコーダ、デコーダ、および対応する方法
AU2017201933A1 (en) Method, apparatus and system for encoding and decoding video data

Legal Events

Date Code Title Description
A201 Request for examination
GRNT Written decision to grant