KR20110071204A - 웨이블릿 변환 기반의 jpeg2000에서의 병렬 처리 방법 - Google Patents

웨이블릿 변환 기반의 jpeg2000에서의 병렬 처리 방법 Download PDF

Info

Publication number
KR20110071204A
KR20110071204A KR1020090127708A KR20090127708A KR20110071204A KR 20110071204 A KR20110071204 A KR 20110071204A KR 1020090127708 A KR1020090127708 A KR 1020090127708A KR 20090127708 A KR20090127708 A KR 20090127708A KR 20110071204 A KR20110071204 A KR 20110071204A
Authority
KR
South Korea
Prior art keywords
wavelet
data
parallel processing
data area
encoding
Prior art date
Application number
KR1020090127708A
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 KR1020090127708A priority Critical patent/KR20110071204A/ko
Publication of KR20110071204A publication Critical patent/KR20110071204A/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/38Concurrent instruction execution, e.g. pipeline or look ahead
    • G06F9/3885Concurrent instruction execution, e.g. pipeline or look ahead using a plurality of independent parallel functional units
    • G06F9/3887Concurrent instruction execution, e.g. pipeline or look ahead using a plurality of independent parallel functional units controlled by a single instruction for multiple data lanes [SIMD]

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)
  • Compression Of Band Width Or Redundancy In Fax (AREA)

Abstract

본 발명은 웨이블릿 변환 기반의 JPEG2000에서의 병렬 처리 방법에 관한 것으로, 일면에 따른 병렬 처리 방법은, 입력된 영상의 다수의 성분에 대해 웨이블릿 변환을 병렬로 수행하는 단계와, 웨이블릿 변환된 데이터를 양자화하는 단계와, 상기 웨이블릿 변환된 데이터 중 최상위 데이터 영역을 부호화하는 단계 및 상기 최상위 데이터 영역을 이용하여, 상기 웨이블릿 변환된 데이터 중 상기 최상위 데이터 영역을 제외한 나머지 데이터 영역에 대한 부호화를 병렬로 수행하는 단계를 포함한다.
웨이블릿 변환, 병렬처리, 쓰레드

Description

웨이블릿 변환 기반의 JPEG2000에서의 병렬 처리 방법{Parallel processing method in wavelet-based JPEG2000}
본 발명은 디지털시네마에서 영상 압축 알고리즘으로 사용하는 JPEG2000 영상 압축에 관한 것으로, CPU의 멀티코어를 이용하여 JPEG2000 영상 압축을 병렬 처리하기 위한 방법에 관한 것이다.
디지털시네마 표준에서는 대용량의 영상 압축을 위해 JPEG2000 알고리즘을 채택하였다. JPEG2000 알고리즘은 DCT 변환을 기본으로 하는 JPEG/MPEG 과는 달리 웨이블릿(Wavelet) 변환을 기본으로 한다. 8x8 혹은 4x4 크기의 블록을 기본 단위로 하는 DCT 변환과는 달리 웨이블릿 변환은 부호화 화면 전체를 기본 단위로 하기 때문에, 4개 혹은 8개의 코어를 가지는 CPU 기반의 시스템에서 병렬 처리를 수행하는 것이 힘들다.
도 1은 종래의 웨이블릿 기반의 JPEG2000 압축 알고리즘의 전체적인 블록도를 보여준다.
도 1을 참조하면, 영상입력은 카메라 혹은 저장장치를 통해 들어오는 영상이다. 보통의 경우 화소 단위의 RGB 혹은 YUV 신호로 구성된다.
성분변환은 웨이블릿 변환을 수행하기 위해 화소 단위로 구성되어 있는 데이터를 R, G, B 각각의 성분으로 구성되는 데이터로 변환하는 단계이다. 디지털시네마의 경우에는 성분변환 과정을 통해 X성분, Y성분, Z성분의 데이터로 구분된다.
웨이블릿 부호화는 X, Y, Z 각각의 성분을 웨이블릿 변환 알고리즘을 이용하여 부호화하는 단계이다. 도 2에 도시된 바와 같이, x(m,n) 원데이터가 웨이블릿 변환을 수행하면 y11(m,n), y12(m,n), y21(m,n), y22(m,n) 데이터로 나뉜다. 이를 각각 LLR-1 밴드, LHR-1 밴드, HLR-1 밴드, HHR-1 밴드 데이터라 한다. 그리고 LLR-1 밴드 데이터는 다시 위의 과정을 거쳐 다시 4개의 데이터, 즉 LLR-2, LHR-2, HLR-2, HHR-2 데이터를 생성할 수 있다. 디지털시네마의 경우에 2K 영상은 5번의 변환을 반복 수행하고, 4K 영상은 6번의 변환을 반복 수행한다. 이때 R은 각각 5와 6이 된다.
양자화 단계는 변환 부호화된 데이터를 일정값으로 나누는 단계로 무압축의 경우에는 양자화 변수가 1이다.
Tier-1 부호화 단계는 EBCOT(Embedded Block Coding with Optimized Truncation) 알고리즘을 이용하여 각 성분을 부호화하는 단계로서, LHR-1 데이터는 LHR-2 데이터 정보를 이용하여 부호화하고, HLR-1 데이터는 HLR-2 데이터 정보를, HHR-1 데이터는 HHR-2 데이터 정보를 이용하여 부호화한다.
Tier-2 부호화 단계는 Tier-1 단계에서 부호화된 데이터를 실제 부호화스트림으로 변환하는 단계이다.
현재 JPEG2000 부호화기는 각 성분을 차례대로 부호화한 후에 나온 전체 데이터에 대해 Tier-1/Tier-2 부호화 과정을 거치기 때문에 멀티코어를 가지는 시스템에서 최적의 성능을 가질 수 없다.
본 발명은 웨이블릿 변환 단계에서 영상의 각 성분과 웨이블릿 과정에서 레이어별 데이터의 독립성을 이용한 병렬처리와 Tier-1/Tier-2 변환 단계에서의 병렬처리 방법을 제시하여, 멀티코어를 가지는 시스템에 적용할 수 있는 방법을 제공하는 데 있다.
본 발명의 목적은 이상에서 언급한 목적으로 제한되지 않으며, 언급되지 않은 또 다른 목적들은 아래의 기재로부터 당업자에게 명확하게 이해될 수 있을 것이다.
본 발명의 일면에 따른 웨이블릿 변환 기반의 JPEG2000에서의 병렬 처리 방법은, 입력된 영상의 다수의 성분에 대해 웨이블릿 변환을 병렬로 수행하는 단계와, 웨이블릿 변환된 데이터를 양자화하는 단계와, 상기 웨이블릿 변환된 데이터 중 최상위 레이어 영역을 부호화하는 단계 및 상기 웨이블릿 변환된 데이터 중 상기 최상위 레이어 영역을 제외한 나머지레이어 영역에 대한 부호화를 병렬로 수행하는 단계를 포함한다.
여기서 각 성분에 대해 웨이블릿 변환을 병렬로 수행하는 단계는, 별도의 쓰레드를 할당함으로써 각 성분에 대해 웨이블릿 변환을 수행하는 것이다.
또한 상기 웨이블릿 변환된 데이터 중 상기 최상위 레이어 영역을 제외한 나머지레이어 영역에 대한 부호화를 병렬로 수행하는 단계도, 별도의 쓰레드를 할당 함으로써 각 레이어에 대해 부호화를 수행하는 것이다.
기타 실시예들의 구체적인 사항들은 상세한 설명 및 도면들에 포함되어 있다.
본 발명의 구성에 따르면, 웨이블릿 기반의 JPEG2000 부호화 단계에서 서로 독립적인 데이터 영역에 대해서 별도의 쓰레드를 이용하여 병렬처리를 수행할 수 있기 때문에 고속의 부호화 시스템 구성에 효과가 있다.
본 발명의 이점 및 특징, 그리고 그것들을 달성하는 방법은 첨부되는 도면과 함께 상세하게 후술되어 있는 실시예들을 참조하면 명확해질 것이다. 그러나 본 발명은 이하에서 개시되는 실시예들에 한정되는 것이 아니라 서로 다른 다양한 형태로 구현될 것이며, 단지 본 실시예들은 본 발명의 개시가 완전하도록 하며, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 발명의 범주를 완전하게 알려주기 위해 제공되는 것이며, 본 발명은 청구항의 범주에 의해 정의될 뿐이다. 한편, 본 명세서에서 사용된 용어는 실시예들을 설명하기 위한 것이며 본 발명을 제한하고자 하는 것은 아니다. 또한, 본 명세서에서 하나의 소자(elements)가 다른 소자와 "연결된(connected to)" 이라고 지칭되는 것은, 다른 소자와 직접 연결 또는 커플링된 경우 또는 중간에 다른 소자를 개재한 경우를 모두 포함한다. 본 명세서에서, 단수형은 문구에서 특별히 언급하지 않는 한 복수형도 포함한다. 명세서에서 사용되는 "포함한다(comprises)" 및/또는 "포함하는(comprising)"은 언급된 구 성요소는 하나 이상의 다른 구성요소의 존재 또는 추가를 배제하지 않는다.
이하 첨부된 도면들을 참조하여 본 발명의 실시예들을 설명한다.
도면 3은 본 발명의 실시예에 따른 웨이블릿 변환 기반의 JPEG2000에서의 병렬 처리 방법을 나타내는 순서도이다.
도 3에는, 카메라 혹은 저장 장치에서 입력되는 영상을 디지털시네마 압축 표준에서 사용하는 JPEG2000 알고리즘을 이용하여 멀티코어 기반의 CPU 병렬처리에 의한 고속의 인코딩 방법이 도시되어 있다.
먼저, 화소당 RGB 혹은 YUV로 구성되는 영상을 입력받고, 성분변환을 통해 X성분, Y성분, Z성분과 같이 각각의 성분으로 변환한다(S310).
그리고, 성분변환을 통해 하나의 프레임으로 구성되는 각 성분에 대해 별도의 쓰레드(Thread)를 할당하는 방식으로 병렬처리한다. 구체적으로, 각 성분을 웨이블릿 변환을 통해 LL밴드와 LH밴드 데이터를 생성하기 위한 상위 웨이블릿 변환을 수행한다(S320). 이와 병렬적으로, HL밴드와 HH밴드 데이터를 생성하기 위한 하위 웨이블릿 변환을 수행한다(S330). 상위 웨이블릿 변환과 하위 웨이블릿 변환은 별도의 쓰레드를 이용하여 병렬처리한다. 즉 한 영상의 모든 성분을 변환하기 위해 6개의 쓰레드를 이용하여 동시에 처리한다.
다음으로, 웨이블릿 변환된 데이터에 대해 양자화 과정을 수행한다(S340).
그리고 웨이블릿 변환된 데이터의 가장 상위 데이터인 LL0 영역의 데이터를 Tier-1과 Tier-1 인코딩을 수행한다(S350).
그리고, LL0 영역의 데이터를 이용하여 LH0~LHR-1 영역 데이터를 부호화하고(S360), 이와 병렬적으로 LL0 영역의 데이터를 이용하여 HL0~HHR-1 영역 데이터를 부호화하고(S370), 이와 병렬적으로 LL0 영역의 데이터를 이용하여 HH0~HHR-1 영역 데이터를 부호화한다(S380). 즉 각각 별도의 프로세스를 할당하여, LH0~LHR-1 영역 데이터, HL0~HHR-1 영역 데이터 및 HH0~HHR-1 영역 데이터를 병렬로 부호화한다.
다음으로 부호화된 데이터를 저장장치에 저장하거나 외부로 출력한다(S390).
이러한 방법은 도 1에 도시된 기능블록의 구조로 구현될 수 있다.
본 발명이 속하는 기술분야의 통상의 지식을 가진 자는 본 발명이 그 기술적 사상이나 필수적인 특징을 변경하지 않고서 다른 구체적인 형태로 실시될 수 있다는 것을 이해할 수 있을 것이다. 그러므로 이상에서 기술한 실시예들은 모든 면에서 예시적인 것이며 한정적이 아닌 것으로 이해해야만 한다. 본 발명의 범위는 상기 상세한 설명보다는 후술하는 특허청구의 범위에 의하여 나타내어지며, 특허청구의 범위의 의미 및 범위 그리고 그 균등 개념으로부터 도출되는 모든 변경 또는 변형된 형태가 본 발명의 범위에 포함되는 것으로 해석되어야 한다.
도 1 및 도 2는 종래의 웨이블릿 기반의 JPEG2000 압축 알고리즘의 전체적인 블록도 및 동작을 설명하기 위한 개념도이다.
도 3은 본 발명의 실시예에 따른 웨이블릿 변환 기반의 병렬 처리 방법을 설명하기 위한 순서도이다.

Claims (1)

  1. 입력된 영상의 다수의 성분에 대해 웨이블릿 변환을 병렬로 수행하는 단계;
    상기 웨이블릿 변환된 데이터 중 최상위 데이터 영역을 부호화하는 단계; 및
    상기 최상위 데이터 영역을 이용하여, 상기 웨이블릿 변환된 데이터 중 상기 최상위 데이터 영역을 제외한 나머지 데이터 영역에 대한 부호화를 병렬로 수행하는 단계
    를 포함하는 웨이블릿 변환 기반의 병렬 처리 방법.
KR1020090127708A 2009-12-21 2009-12-21 웨이블릿 변환 기반의 jpeg2000에서의 병렬 처리 방법 KR20110071204A (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020090127708A KR20110071204A (ko) 2009-12-21 2009-12-21 웨이블릿 변환 기반의 jpeg2000에서의 병렬 처리 방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020090127708A KR20110071204A (ko) 2009-12-21 2009-12-21 웨이블릿 변환 기반의 jpeg2000에서의 병렬 처리 방법

Publications (1)

Publication Number Publication Date
KR20110071204A true KR20110071204A (ko) 2011-06-29

Family

ID=44402373

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020090127708A KR20110071204A (ko) 2009-12-21 2009-12-21 웨이블릿 변환 기반의 jpeg2000에서의 병렬 처리 방법

Country Status (1)

Country Link
KR (1) KR20110071204A (ko)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2013115572A1 (ko) * 2012-01-30 2013-08-08 삼성전자 주식회사 계층적 데이터 단위의 양자화 파라메터 예측을 포함하는 비디오 부호화 방법 및 장치, 비디오 복호화 방법 및 장치
KR20140021388A (ko) * 2012-08-10 2014-02-20 한국전자통신연구원 그래픽 프로세스 유닛 기반 jpeg2000 인코딩/디코딩 장치 및 방법
CN108491261A (zh) * 2018-01-19 2018-09-04 西安电子科技大学 基于众核并行处理器的多路帧序列排序方法

Cited By (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2013115572A1 (ko) * 2012-01-30 2013-08-08 삼성전자 주식회사 계층적 데이터 단위의 양자화 파라메터 예측을 포함하는 비디오 부호화 방법 및 장치, 비디오 복호화 방법 및 장치
CN104094600A (zh) * 2012-01-30 2014-10-08 三星电子株式会社 用于包括量化参数预测的基于分层数据单元的视频编码和解码的方法和设备
US9538192B2 (en) 2012-01-30 2017-01-03 Samsung Electronics Co., Ltd. Method and apparatus for hierarchical data unit-based video encoding and decoding comprising quantization parameter prediction
US9544603B2 (en) 2012-01-30 2017-01-10 Samsung Electronics Co., Ltd. Method and apparatus for hierarchical data unit-based video encoding and decoding comprising quantization parameter prediction
US9544604B2 (en) 2012-01-30 2017-01-10 Samsung Electronics Co., Ltd. Method and apparatus for hierarchical data unit-based video encoding and decoding comprising quantization parameter prediction
US9549185B2 (en) 2012-01-30 2017-01-17 Samsung Electronics Co., Ltd. Method and apparatus for hierarchical data unit-based video encoding and decoding comprising quantization parameter prediction
US9693061B2 (en) 2012-01-30 2017-06-27 Samsung Electronics Co., Ltd. Method and apparatus for hierarchical data unit-based video encoding and decoding comprising quantization parameter prediction
CN104094600B (zh) * 2012-01-30 2017-10-03 三星电子株式会社 用于包括量化参数预测的基于分层数据单元的视频编码和解码的方法和设备
US10045025B2 (en) 2012-01-30 2018-08-07 Samsung Electronics Co., Ltd. Method and apparatus for hierarchical data unit-based video encoding and decoding comprising quantization parameter prediction
KR20140021388A (ko) * 2012-08-10 2014-02-20 한국전자통신연구원 그래픽 프로세스 유닛 기반 jpeg2000 인코딩/디코딩 장치 및 방법
CN108491261A (zh) * 2018-01-19 2018-09-04 西安电子科技大学 基于众核并行处理器的多路帧序列排序方法

Similar Documents

Publication Publication Date Title
JP6761490B2 (ja) Cnn基盤インループフィルタを含む符号化方法と装置及び復号化方法と装置
CN104041035B (zh) 用于复合视频的无损编码及相关信号表示方法
JP4365957B2 (ja) 画像処理方法及びその装置及び記憶媒体
US7349579B2 (en) Image processing device, image processing method, and image reading method
KR101710001B1 (ko) 그래픽 프로세스 유닛 기반 jpeg2000 인코딩/디코딩 장치 및 방법
JP2011035902A (ja) 画像シーケンスを表す符号化データストリームの復号方法と画像シーケンスの符号化方法
JP2006157481A5 (ko)
RU2555226C2 (ru) Кодирование сигнала в масштабируемый поток битов и декодирование такого потока битов
CN108881913B (zh) 图像编码的方法和装置
CN106341692B (zh) 图像数据的霍夫曼解码装置和方法
CN101960858A (zh) 运动图像编码装置、摄像装置以及运动图像编码方法
CN103997650A (zh) 一种视频解码的方法和视频解码器
US8908985B2 (en) Image processing including encoding information concerning the maximum number of significant digits having largest absolute value of coefficient data in groups
CN104704826A (zh) 两步量化和编码方法和装置
KR20110071204A (ko) 웨이블릿 변환 기반의 jpeg2000에서의 병렬 처리 방법
KR102219133B1 (ko) 컴팩트한 비트 평면(bit-plane) 데이터 압축을 위한 인코더, 디코더 및 부호화 방법
JP2004166254A (ja) 画像符号化装置及び方法、並びにプログラム及び記録媒体
Yang et al. A low complexity block-based adaptive lossless image compression
WO2020168501A1 (zh) 图像的编码方法、解码方法及所适用的设备、系统
CN104780377A (zh) 一种基于分布式计算机系统的并行hevc编码系统及方法
CN106063268A (zh) 将视频数据从h.264转码成h.265的方法和设备
CN114025166A (zh) 视频压缩方法、电子设备及计算机可读存储介质
Naidu et al. A novel framework for JPEG image compression using baseline coding with parallel process
KR102247196B1 (ko) 병렬 디코딩 경로를 사용하는 vc­2 디코딩
Wang et al. APBT-JPEG image coding based on GPU

Legal Events

Date Code Title Description
A201 Request for examination
E601 Decision to refuse application