KR20110071204A - 웨이블릿 변환 기반의 jpeg2000에서의 병렬 처리 방법 - Google Patents
웨이블릿 변환 기반의 jpeg2000에서의 병렬 처리 방법 Download PDFInfo
- 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
Links
- 238000003672 processing method Methods 0.000 title claims abstract description 8
- 238000000034 method Methods 0.000 abstract description 10
- 230000008569 process Effects 0.000 abstract description 6
- 230000009466 transformation Effects 0.000 abstract description 6
- 230000006835 compression Effects 0.000 description 8
- 238000007906 compression Methods 0.000 description 8
- 238000010586 diagram Methods 0.000 description 3
- 238000013139 quantization Methods 0.000 description 3
- 238000006243 chemical reaction Methods 0.000 description 1
- 230000008878 coupling Effects 0.000 description 1
- 238000010168 coupling process Methods 0.000 description 1
- 238000005859 coupling reaction Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/38—Concurrent instruction execution, e.g. pipeline or look ahead
- G06F9/3885—Concurrent instruction execution, e.g. pipeline or look ahead using a plurality of independent parallel functional units
- G06F9/3887—Concurrent 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 영상 압축에 관한 것으로, 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)
- 입력된 영상의 다수의 성분에 대해 웨이블릿 변환을 병렬로 수행하는 단계;상기 웨이블릿 변환된 데이터 중 최상위 데이터 영역을 부호화하는 단계; 및상기 최상위 데이터 영역을 이용하여, 상기 웨이블릿 변환된 데이터 중 상기 최상위 데이터 영역을 제외한 나머지 데이터 영역에 대한 부호화를 병렬로 수행하는 단계를 포함하는 웨이블릿 변환 기반의 병렬 처리 방법.
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)
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 | 西安电子科技大学 | 基于众核并行处理器的多路帧序列排序方法 |
-
2009
- 2009-12-21 KR KR1020090127708A patent/KR20110071204A/ko not_active Application Discontinuation
Cited By (11)
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) | 병렬 디코딩 경로를 사용하는 vc2 디코딩 | |
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 |