글
모션 JPEG2000: 디지털 시네마의 기본
질 헌터/Amphion Co., 기술 마케팅 부장
초기 JPEG 이미지 코딩 표준은 디지털 사진과 인터넷, 멀티미디어 데스크탑 간행 등에 폭넓게 사용되어 왔다. 그러나 느린 비트 레이트에서의 심각한 블록킹 효과와 스케일 능력에 대한 불충분한 지원, 부정확한 레이트 컨트롤, 그리고 낮은 오류 복구 능력과 같은 결점을 갖고 있다. JPEG은 약
JPEG2000은 풀-프레임 이미지 압축에 대한 새로운 표준이다. 그것은 강력한 새로운 특성뿐 아니라 더 작은 파일 사이즈로 더 우수한 영상을 제공한다. 이 글에서는 디지털 시네마와 홈 시어터 애플리케이션에서 JPEG2000을 응용하는 것에 대하여 살펴보게 된다. 지금까지 가장 성공적인 영상 및 비디오 표준인 JPEG 및 MPEG은 현재 및 차기 애플리케이션에 대한 정보호환성을 가져다 주었다. 표준은 급속도로 변화하고 있는 하이-테크 환경에 대하여 차세대 장비가 계속 호환성을 가질 수 있도록 보장하여 준다.
데이터에 의한 복구
디지털 영상 데이터는 많은 저장 용량을 필요로 한다. 전형적인 JPEG 컬러 영상은 디스크 공간의 6MB를 차지한다. 디지털 비디오의 경우는 더 심하다. 30fps와 데이터 전송 속도 6Mbps에서 650MB 용량을 가진 전형적인 CD-R은 겨우 30초의 풀-모션 비디오만을 제공할 수 있다. MPEG2나 최근의 MPEG4가 최대 100:1의 압축 레이트를 얻도록 사용된다. 이들 덕분에 주로 DVD나 PVR 시스템과 같은 가전기기가 역사상 그 어느 애플리케이션보다도 빠르게 판매될 수 있었다. 간단히 말하자면 MPEG은 하나의 장면 안에서 변하지 않는 물체에 대한 불필요한 데이터를 제거함으로써 고도의 압축을 가능하게 한다.
많은 애플리케이션에서 이것은 매우 뛰어난 기술인 반면 하나의 치명적인 제약을 안고 있다-프레임 대 프레임 기준으로 볼 때, 프레임이 완성되지 않는다는 점이다. 편집이나 압축을 하기 위하여 임의적으로 프레임을 선택할 수 있는 능력이 없어진다. 이것은 특히 디지털 시네마를 지원하는 애플리케이션에서 중요하다. 전형적인 35mm 특성 필름을 압축되지 않은 디지털 포맷에 저장하는 것은 대체적으로 1 테라비트의 디스크 공간을 필요로 한다. 손실없는 시네마 압축을 위하여 보다 높은 해상도의 스캔을 도입하는 것은 취급해야 할 데이터의 양을 증가시키게 된다. 이것은 홈 시어터 시스템 시장의 증가에 부정적인 영향을 준다. 소비자는 실제 영화관과 같은 스케일이나 해상도를 기대하지는 않지만 최대한 비슷한 경험을 하길 바라고 있다.
JPEG2000 포맷은 디지털 시네마를 가정에서 즐길 수 있도록 스튜디오 시스템과 가전기기를 구축하는데 적합하게 개발 되었다. JPEG2000은 지금까지 고해상도 디지털 시네마 및 홈 시어터 보급 증대의 걸림돌이었던 정보 호환성의 문제와 표준화 부족, 컨텐츠 보호 이슈, 대형 스토리지 요건 및 고대역폭 네트워크에 대한 필요성을 해결하도록 해준다.
첨단 기술 JPEG2000
JPEG2000은 압축 효율성면에서 JPEG에 비하여 100퍼센트의 향상을 보여, 최대 40:1의 압축을 제공할 수 있다. JPEG2000의 핵심에는 JPEG에서 사용되었던 DCT(Discrete Cosine Transform) 압축 방식에 비하여 많은 장점을 갖고 있는 새로운 wavelet-기반의 압축 방식이 있다. Wavelet은 연속적인 스트림으로 이미지를 인코딩한다.
이것은 DCT가 이미지를 디스크리트 압축 블록으로 나눌 때 생기는 결과를 피하여 준다. 극단의 압축 레벨에서 소개된 wavelet 결과는 대비 라인(contrast line)이 흐릿한 형태를 띄게 되며 관람자에게 영상이 더 부드럽게 보이도록 해줄 뿐이다 - 이것은 기존의 JPEG나 MPEG 포맷과 비교할 때 뛰어난 장점이다.
타고난 스케일 기능
JPEG2000에서의 한 가지 흥미로운 혁신은 멀티-해상도의 압축이다. 하나의 이미지 파일 내에서, 정보는 밴드 시리즈 형태로 저장되며 각각의 밴드는 전체 이미지의 표현을 포함하고 있다. 밴드는 Coarse 해상도와 구성에서부터 세부 사항에 대하여 스케일 한다. 대부분의 중요한 세부 사항이 파일의 앞에 저장되어 있기 때문에 영상은 연속적으로 액세스될 수 있다. 그림은 Coarse 해상도를 가진 이미지로서 처음 나타나고 그후 세부사항이 점차로 채워지면서 더 높은 해상도가 나타난다. 대개, 이미지 데이터의 약 10퍼센트로 사용자는 어떤 이미지가 올 지 미리 알게 되며 더 높은 해상도의 이미지를 기다릴 것인지 아닌지를 결정하게 된다. JPEG2000은 대기 시간을 제거한 영상의 디스플레이나 다운로드를 위하여 보다 효율적인 방식을 제공한다. 이것은 특히 웹-기반의 애플리케이션에서 중요하다.
또한 JPEG2000은 ROI(Region of Interest) 코딩을 제공한다. 사용자는 영상의 나머지 부분보다 더 높은 품질로 코딩될 필요가 있는 영역을 영상내에서 정할 수 있다. 이 ROI 는 그들이 디코딩 과정상 처음부터 디코딩되거나 정제되도록 코드스트림(codestream)의 초기에 배치된다.
Lossy와 Lossless
JPEG2000은 같은 파일에서 lossy와 lossless 압축을 모두 지원한다. 한 데이터의 어느 한 세트의 동일한 엔트로피 인코딩을 가지고 9/7 wavelet과 quantiser은 lossy 압축에 사용되며 quantization이 없는 5/3 wavelet은 lossless에 사용된다. Lossless 압축에 대하여 wavelet은 대개 파일 사이즈를 절반으로 줄여줄 수 있다. 이것은 디지털 시네마나 홈 시어터에 있어 중요한 점이다.
JPEG2000를 통하여 lossy레벨의 압축이 가정에서의 송수신 및 디스플레이에 사용될 수 있는 한편 최고 품질의 lossless 압축이 35mm 릴과 새로운 다이렉트-디지털 컨텐트를 압축하는데 사용될 수 있다. 서로 다른 기기로의 분배를 위하여 영화가 인코딩되는 상황에서 트랜스코딩에 대한 필요 없이 그리고 데이터 리던던시 없이 컨텐트가 추출될 수 있는 경우에 하나의 파일이 만들어질 수 있다..
유연성 및 디지털 저작권
JPEG2000은 대형 이미지(최대 2행 ^32열, 지원 가능한 메가픽셀에 대한 제약 없음)와 다양한 이미지 비트 depth, 그리고 최대 256채널의 정보를 허용한다. 이것은 JPEG2000이 하나의 파일 포맷내에서 CMYK나 LAB와 같은 완전한 컬러 모델을 표현할 수 있다는 것을 의미한다. 더욱이 파일 포맷에 메타-데이터(그래픽 소유권이나 저작권과 같은)를 포함할 수 있어 지적 재산권 정보를 파일 포맷으로 유지할 수 있다.
모션 JPEG2000에 대하여 정의된 포맷
JPEG와는 달리, JPEG2000은 JPEG2000 표준의 파트 3인, 모션 애플리케이션에 대하여 특별히 정의된 파일 포맷을 갖고 있다. 이 유연한 파일 포맷은 MP4/ QuickTime 포맷에 기반하고 있으며 음성 및 다른 메타-데이터와 함께 압축된 이미지 데이터의 간편한 동기화를 허용한다. 이미지 시장에 있어서 모션 JPEG2000과 MPEG이 서로 공존하게 될 것으로 전망된다: MPEG은 모션 JPEG2000에 비하여 보다 효율적인 압축을 제공하는 한편, JPEG2000은 스케일이 가능하고 네트워크나 포인트-투-포인트 환경에 더 적합하다.
또한 JPEG2000은 random frame access와 관련된 장점들을 제공한다. 디지털 편집에 있어 이것은 영화가 빠르고 끊어짐 없이 그래픽 아트와 같은 애플리케이션에 대하여 여전히 재타겟되도록 해준다. 또한 영화촬영기법에 있어 컴퓨터 생성-애니메이션 패키지를 디지털로 사용하여 창의적인 영화 컨텐츠가 더욱더 많이 만들어지고 있다. 이러한 애니메이션을 내장하기 위하여, 원래 필름이 디지털적으로 스캐닝되고, 애니메이션이 컨텐츠에 통합되며 디지털 조작후에 모든 내용이 다시 필름에 녹화된다. 모든 디지털 프레임 기반의 파일 포맷으로 바꾸는 것은 시간과 비용 면에서 커다란 이점을 가져다 줄 것이다.
오류 복구
JPEG2000의 오류 복구는 주로 패킷화된 코드스트림(codestream)을 통하여 얻어진다. 이 데이터의 패킷은 코드스트림내에서 세그먼트화될 수 있으며 오류 복구를 향상시키기 위하여 동기화 마커(marker)들이 삽입될 수 있다. 두 가지 특성 모두 영상의 한 영역에서 발생할 수 있는 오류가 디코딩 동안에 영상의 다른 부분으로 전파되지 않도록 막아준다.
또한 코드스트림은 헤더와 같은 가장 중요한 정보가 코드스트림의 특정 위치에 국한되도록 하기 위하여 재구성 가능하다. 그리고 나서 이 정보는 적절한 채널-코딩 구조에 의하여 전송되는 동안 보호될 수 있다. 많은 홈 시어터 애플리케이션은 가정 주변에서 비디오를 무선으로 전송하는 것을 목표로 하고 있다. JPEG2000의 오류 복구 기능은 이 목표를 가능하게 해줄 것이다.
하드웨어-가속화된 JPEG2000
JPEG2000은 JPEG에 비하여 대략 5배 이상 복잡하다. 초기 연구에 의하면 이러한 대부분의 시스템 시장에서 현재의 실리콘 테크놀로지를 가지고 소프트웨어로만 구축된 솔루션이 원하는 수준의 성능을 제공하는 것은 불가능하다는 것을 알 수 있다. 디지털 영상 촬영기법에 있어 JPEG2000을 최대한 활용하기 위하여 하드웨어의 가속이 필수적이다.
JPEG2000 알고리즘은 웹 브라우징과 싱글-이미지 인코딩/디코딩과 같은 경량급 애플리케이션에서 소프트웨어 상으로 동작될 수 있지만 그러나 고해상도 풀-모션 JPEG2000은 중량급 스트리밍 애플리케이션이다.
JPEG2000의 특성을 가진 대부분의 시스템은 범용 프로세서 또는 DSP도 갖고 있을 것이다. 설계자는 이러한 프로세서가 뛰어난 성능을 보이는 반면 첨단 DSP 시스템을 코딩하는 것이 더욱 복잡해지고 성능 목표를 얻는 것이 보다 힘들어진다는 것을 알게 될 것이다. 계산적으로 집약적인 JPEG2000 알고리즘을 시스템 프로세서에서 전용 코어로 옮김으로써 시스템 프로세서는 오디오 프로세싱이나 간단한 작동과 같은, 시스템상에서 보다 부가 가치적인 기능을 수행할 수 있게 된다.
암피온사는 최적화된 시그널 프로세싱 알고리즘을 실리콘상에서 커스텀 스트림-기반의 아키텍쳐에 직접 매핑하는 방식을 취하였다. 대상 반도체 디바이스의 테크놀로지가 무엇이든지 그 특성을 활용함으로써 성능은 더욱 최적화되었다. JPEG2000 하드웨어 아키텍쳐에 대하여 효율적인 메모리 활용은 성능에 영향을 미치는 중요한 이슈이다. 프로그래머블 로직 구현에 있어 많은 양의 메모리 블록과 임베디드 DSP 특성(알테라의 Stratix 디바이스의 M4K 메모리 블록이나 DSP 블록과 같은)은 이러한 문제를 완화시켜준다.
JPEG2000의 wavelet 엔진에 대하여 8개의 DSP 블록과 24개의 M4K 블록은 Stratix 프로그래머블 디바이스에서 초당 최대 50M샘플의 처리 성능을 가진 솔루션을 제공한다. 이 처리효율은 5M픽셀의 압축이 300msec이하 동안에 여전히 이미지를 생성할 수 있도록 해준다. 그러므로 알테라의 Stratix 디바이스와 같은 고성능 FPGA(field-programmable gate array)를 사용하여 프로페셔널 시네마 인코더의 강력한 JPEG2000 성능을 얻을 수 있다.
그림 1은 Stratix FPGA의 JPEG2000 인코더 구현을 보여준다. 두 스테이지의 동작을 통하여 이미지들이 인코딩된다. CS6510 JPEG2000 인코더를 사용하여 각 이미지의 초기 스테이지(Tier-1)가 완성된다. 이 인코더는 DMA 동작에 대하여 컨피규레이션 가능한 소스와 목적지 메모리 주소를 가진 버스 마스터의 역할을 하는 사용자의 시스템 CPU-예를 들어 Nios 임베디드 프로세서-와 직접적으로 인터페이스한다. Tier-2 프로세싱의 경우, 컨트롤 소프트웨어는 이미지 요소를 통하여 반복하고 출력 비트스트림(JP2 파일)을 구성하여야 한다.
이미지를 압축하기 위하여 모든 컬러 스페이스 포맷의 소스 데이터가 CS6510 코어에 읽혀진다. Forward discrete wavelet transform이 입력 데이터를 분석하고 그것을 데이터 압축의 첫번째 단계가 가능해진 quantizer로 전달한다. 충분한 데이터가 quantization되었을 때 한번에 한 코드블록씩 읽혀지며 그것은 많은 엔트로피 인코더중 하나에게로 전달된다. JPEG2000에 대하여, 엔트로피 인코딩이 이미지 코드블록의 horizontal bit-plane이상으로 활동하며 따라서 시스템의 처리효율을 높여 주기 위하여 병렬화가 필요하다. 표준 암피온 JPEG2000 솔루션은 세가지 엔트로피 인코더를 포함하고 있으며, 각각은 개별 코드블록에 지정되어 있으며 라운드-로빈 구조에 스케쥴되어 있다.
엔트로피 코딩은 효율적으로 이미지 데이터를 압축하며 인코딩된 비트스트림이 압축된 데이터에 대한 변형 매트릭스(distortion metrics)와 함께 병렬로 출력된다. 이 변형 매트릭스는 시스템 메인 프로세서에서 구동되는 Tier-2 소프트웨어에 의하여 검사되고 레이트 컨트롤을 제공하기 위하여 압축된 이미지 데이터를 구성하고 절단하는데 사용된다. 그리고 나서 소프트웨어는 속도-변형 정보에 기초하여 SNR 프로그레시브와 같은 사용자 정의된 순서로 비트스트림의 순서를 다시 정한다.
인코딩을 완성하기 위하여 소프트웨어는 파일 헤더와 파일 마커 정보를 구축하고 선택된 엔트로피 코딩된 데이터와 함께 이것을 코드 스트림에 배치한다. 출력은 JPEG2000 표준의 파트1을 완벽하게 따르는 완전한 JPEG2000 비트스트림이다. 파트 1은 기본 JPEG와 유사한 JPEG2000을 따르는 정규 레벨을 지정하고 있다. 곧 출시될 예정인 표준의 파트 2는 JPEG2000에 비하여 더 많은 유연성과 확장을 규정하고 있다.
그러한 하나의 확장으로서 사용자-정의된 wavelet 변형의 사용을 허용하여 특정 이미지 타입에 대하여 압축 효율성을 증대시켜 준다. 그리고 나서 JPEG2000의 프로그래머블 로직 구현이 서로 다른 wavelet 엔진을 포함하도록 현장에서 재 컨피규레이션될 수 있으며 따라서 사용자가 원하는 대로 압축 효율성을 변경할 수 있도록 해준다.
앞으로의 과제
JPEG2000 단독으로는 테라비트의 데이터를 소비하는 모션 픽쳐를 압축하는 데 있어 모든 과제를 해결할 수 없다. 40:1 의 압축 비율에서조차 데이터는 25기가바이트를 초과할 수도 있다. 대중이 사용할 수 있을 만큼 경제적이고 쉬운 디지털 시네마 공급에 블루 레이저나 홀로그래피의 사용과 같이 디스크 저장 테크놀러지에서의 지속적인 발전이 필수적이다.
표준화된 디지털 포맷 필름 생산 체인으로의 전환이 필름 품질 저하 및 유통, 해적판과 관련된 문제를 최소화해줄 것이다. JPEG2000은 다른 압축 구조에 비하여 획기적인 장점을 제공하는 컴퓨팅-집약적인 DSP 서브-시스템이다. 디지털 시네마 및 디지털 홈 시어터와 같은 애플리케이션에서 하드웨어-가속화된 성능이 실-시간 JPEG2000 솔루션의 성공적인 개발을 위한 주요 열쇠이다.
RECENT COMMENT