SlideShare una empresa de Scribd logo
1 de 13
Descargar para leer sin conexión
Single-Loop Software Architecture for JPEG 2000
David Barina Ondrej Klima Pavel Zemcik
ICISP 2016
JPEG 2000 coordinate system
LL LL LL LL LL LL
LL
LL
LL
LL
LL
LL
LL
LL
LL
LL
LL
LL
LL
LL
LL
LL
LL
LL
LH LH LH LH LH LH
LH LH LH LH LH LH
LH LH LH LH LH LH
LH LH LH LH LH LH
LH LH LH LH LH LH
HH HH HH HH HH
HH HH HH HH HH
HH HH HH HH HH
HH HH HH HH HH
HH HH HH HH HH
HL HL HL HL HL
HL HL HL HL HL
HL HL HL HL HL
HL HL HL HL HL
(tbx0, tby0)
(tbx1, tby1)
(tbx0, tby0)
(tbx1, tby1)
(tbx0, tby0)
(tbx1, tby1)
(tbx0, tby0)
(tbx1, tby1)
(tcx0, tcy0)
(tcx1, tcy1)
LL
HH
HL
LH
LL
HH
HL
LH
LL
HH
HL
LH
LL
HH
HL
LH
LL
HH
HL
LH
LL
HH
HL
LH
LL
HH
HL
LH
LL
HH
HL
LH
LL
HH
HL
LH
LL
HH
HL
LH
LL
HH
HL
LH
LL
HH
HL
LH
LL
HH
HL
LH
LL
HH
HL
LH
LL
HH
HL
LH
LL
HH
HL
LH
LL
HH
HL
LH
LL
LH
LL
HH
HL
LH
LL
LH
LL
HH
HL
LH
LL
LH
LL
HH
HL
LH
LL
LH
HHLH HHLH HHLH HHLH HHLH LH
2 / 13
CDF 9/7 wavelet
α
β
γ
δ
input
output
steps
even samples
odd samples
3 / 13
Lifting scheme and 1-D core
α
β
γ
δ
4 / 13
Vectorized 2-D core
5 / 13
Code-block scan order
core
code-block
2 × 2cbx
2 × 2cby
6 / 13
Two consecutive LL bands in virtual memory
LLn
LLn+1
HL LH HH
7 / 13
Horizontal strips
LL0
HL
LH HH
LL
transform EBCOT
8 / 13
Processing time and memory consumption
standard resolution input [MiB] memory [MiB] time [ns/pel]
Full HD 1920 × 1080 7.9 4.6 2.78
DCI 4K 4096 × 2160 33.8 7.2 2.40
8K UHD 7680 × 4320 126.6 11.9 2.11
65K tile 216
× 216
16384.0 84.6 1.82
106
tile 106
× 106
3814697.3 1244.9 1.69
9 / 13
Software overview
library data type algorithm
our solution 32-bit FP strip-based, scales interleaved
OpenJPEG 32-bit FX naive approach
JasPer 32-bit FX naive approach
FFmpeg 32-bit FX naive approach
Kakadu 32-bit line-based, scales interleaved
10 / 13
Transform stage 4K
library threads SIMD memory [MiB] time [ns/pel]
our solution yes yes 7.7 2.56
OpenJPEG no no 34.7 101.55
JasPer no no 34.5 67.54
FFmpeg no no 34.5 84.54
Kakadu yes yes (12.3) (27.13)
11 / 13
Performance
0.0
20.0
40.0
60.0
80.0
100.0
120.0
140.0
100.0k 1.0M 10.0M 100.0M 1.0G
time[ns]
resolution [pel]
proposed
OpenJPEG
JasPer
FFmpeg
12 / 13
Summary
solution: a processing unit
continuously consumes an input and produces an output
visits every image sample only once (cache friendly)
is aware of image coordinates (can handle the borders)
configuration (state) can be saved/restored
can be run in any direction
can be SIMD vectorized
can run in parallel (on independent parts of the image)
13 / 13

Más contenido relacionado

La actualidad más candente

Cypher for Gremlin
Cypher for GremlinCypher for Gremlin
Cypher for GremlinopenCypher
 
Some analysis of BlueStore and RocksDB
Some analysis of BlueStore and RocksDBSome analysis of BlueStore and RocksDB
Some analysis of BlueStore and RocksDBXiao Yan Li
 
Status at 2015, Ruby implementation of openEHR
Status at 2015, Ruby implementation of openEHRStatus at 2015, Ruby implementation of openEHR
Status at 2015, Ruby implementation of openEHRShinji Kobayashi
 
The last decade of RWiki and lazy me.
The last decade of RWiki and lazy me.The last decade of RWiki and lazy me.
The last decade of RWiki and lazy me.mseki
 
scTGIFの鬼QC機能の追加
scTGIFの鬼QC機能の追加scTGIFの鬼QC機能の追加
scTGIFの鬼QC機能の追加弘毅 露崎
 
Secondary Active Transport (ANIMATION ONLY)
Secondary Active Transport (ANIMATION ONLY)Secondary Active Transport (ANIMATION ONLY)
Secondary Active Transport (ANIMATION ONLY)RoyB
 
ESCAPE Kick-off meeting - LSST (Feb 2019)
ESCAPE Kick-off meeting - LSST (Feb 2019)ESCAPE Kick-off meeting - LSST (Feb 2019)
ESCAPE Kick-off meeting - LSST (Feb 2019)ESCAPE EU
 
Gc in golang
Gc in golangGc in golang
Gc in golangGenchi Lu
 
Мониторинг. Опять, rootconf 2016
Мониторинг. Опять, rootconf 2016Мониторинг. Опять, rootconf 2016
Мониторинг. Опять, rootconf 2016Vsevolod Polyakov
 
Gc in golang
Gc in golangGc in golang
Gc in golangGenchi Lu
 
Cloud flare jgc bigo meetup rolling hashes
Cloud flare jgc   bigo meetup rolling hashesCloud flare jgc   bigo meetup rolling hashes
Cloud flare jgc bigo meetup rolling hashesCloudflare
 
Multi-threading your way out
Multi-threading your way outMulti-threading your way out
Multi-threading your way out.NET Crowd
 
bup backup system (2011-04)
bup backup system (2011-04)bup backup system (2011-04)
bup backup system (2011-04)apenwarr
 
証明駆動開発のたのしみ@名古屋reject会議
証明駆動開発のたのしみ@名古屋reject会議証明駆動開発のたのしみ@名古屋reject会議
証明駆動開発のたのしみ@名古屋reject会議Hiroki Mizuno
 
Parallel computing with GPars
Parallel computing with GParsParallel computing with GPars
Parallel computing with GParsPablo Molnar
 
[Vietnam Mobile Day 2013] - Memory management for android applications
[Vietnam Mobile Day 2013] - Memory management for android applications[Vietnam Mobile Day 2013] - Memory management for android applications
[Vietnam Mobile Day 2013] - Memory management for android applicationsAiTi Education
 

La actualidad más candente (20)

Lisp Primer Key
Lisp Primer KeyLisp Primer Key
Lisp Primer Key
 
Cypher for Gremlin
Cypher for GremlinCypher for Gremlin
Cypher for Gremlin
 
Some analysis of BlueStore and RocksDB
Some analysis of BlueStore and RocksDBSome analysis of BlueStore and RocksDB
Some analysis of BlueStore and RocksDB
 
Status at 2015, Ruby implementation of openEHR
Status at 2015, Ruby implementation of openEHRStatus at 2015, Ruby implementation of openEHR
Status at 2015, Ruby implementation of openEHR
 
The last decade of RWiki and lazy me.
The last decade of RWiki and lazy me.The last decade of RWiki and lazy me.
The last decade of RWiki and lazy me.
 
scTGIFの鬼QC機能の追加
scTGIFの鬼QC機能の追加scTGIFの鬼QC機能の追加
scTGIFの鬼QC機能の追加
 
Secondary Active Transport (ANIMATION ONLY)
Secondary Active Transport (ANIMATION ONLY)Secondary Active Transport (ANIMATION ONLY)
Secondary Active Transport (ANIMATION ONLY)
 
ESCAPE Kick-off meeting - LSST (Feb 2019)
ESCAPE Kick-off meeting - LSST (Feb 2019)ESCAPE Kick-off meeting - LSST (Feb 2019)
ESCAPE Kick-off meeting - LSST (Feb 2019)
 
Gc in golang
Gc in golangGc in golang
Gc in golang
 
Metrics: where and how
Metrics: where and howMetrics: where and how
Metrics: where and how
 
OS
OSOS
OS
 
Мониторинг. Опять, rootconf 2016
Мониторинг. Опять, rootconf 2016Мониторинг. Опять, rootconf 2016
Мониторинг. Опять, rootconf 2016
 
Gc in golang
Gc in golangGc in golang
Gc in golang
 
Cloud flare jgc bigo meetup rolling hashes
Cloud flare jgc   bigo meetup rolling hashesCloud flare jgc   bigo meetup rolling hashes
Cloud flare jgc bigo meetup rolling hashes
 
Multi-threading your way out
Multi-threading your way outMulti-threading your way out
Multi-threading your way out
 
bup backup system (2011-04)
bup backup system (2011-04)bup backup system (2011-04)
bup backup system (2011-04)
 
証明駆動開発のたのしみ@名古屋reject会議
証明駆動開発のたのしみ@名古屋reject会議証明駆動開発のたのしみ@名古屋reject会議
証明駆動開発のたのしみ@名古屋reject会議
 
Move from C to Go
Move from C to GoMove from C to Go
Move from C to Go
 
Parallel computing with GPars
Parallel computing with GParsParallel computing with GPars
Parallel computing with GPars
 
[Vietnam Mobile Day 2013] - Memory management for android applications
[Vietnam Mobile Day 2013] - Memory management for android applications[Vietnam Mobile Day 2013] - Memory management for android applications
[Vietnam Mobile Day 2013] - Memory management for android applications
 

Destacado (10)

شراب أهل الوصل لفضيلة الشيخ / فوزى محمد أبوزيد
شراب أهل الوصل لفضيلة الشيخ / فوزى محمد أبوزيدشراب أهل الوصل لفضيلة الشيخ / فوزى محمد أبوزيد
شراب أهل الوصل لفضيلة الشيخ / فوزى محمد أبوزيد
 
PR500_Martin_MDS_DRP_2015_Cyber Warfare Schools of Thought v FINAL
PR500_Martin_MDS_DRP_2015_Cyber Warfare Schools of Thought v FINALPR500_Martin_MDS_DRP_2015_Cyber Warfare Schools of Thought v FINAL
PR500_Martin_MDS_DRP_2015_Cyber Warfare Schools of Thought v FINAL
 
¿Se están robando mis ideas?
¿Se están robando mis ideas?¿Se están robando mis ideas?
¿Se están robando mis ideas?
 
Circuit
CircuitCircuit
Circuit
 
Trabajo word xd
Trabajo word xdTrabajo word xd
Trabajo word xd
 
علامات التوفيق لأهل التحقيق لفضيلة الشيخ / فوزى محمد أبوزيد
علامات التوفيق لأهل التحقيق لفضيلة الشيخ / فوزى محمد أبوزيدعلامات التوفيق لأهل التحقيق لفضيلة الشيخ / فوزى محمد أبوزيد
علامات التوفيق لأهل التحقيق لفضيلة الشيخ / فوزى محمد أبوزيد
 
Curriculum vitae marcocastellano
Curriculum vitae marcocastellanoCurriculum vitae marcocastellano
Curriculum vitae marcocastellano
 
Renacimiento
RenacimientoRenacimiento
Renacimiento
 
Chapter 5 sped report
Chapter 5 sped reportChapter 5 sped report
Chapter 5 sped report
 
TILS 2011 Resolution - Spanish
TILS 2011 Resolution - SpanishTILS 2011 Resolution - Spanish
TILS 2011 Resolution - Spanish
 

Similar a Single-Loop Software Architecture for JPEG 2000

Imagecon 2019 - Jon Sneyers
Imagecon 2019 - Jon Sneyers Imagecon 2019 - Jon Sneyers
Imagecon 2019 - Jon Sneyers Cloudinary
 
“Show Me the Garbage!”, Garbage Collection a Friend or a Foe
“Show Me the Garbage!”, Garbage Collection a Friend or a Foe“Show Me the Garbage!”, Garbage Collection a Friend or a Foe
“Show Me the Garbage!”, Garbage Collection a Friend or a FoeHaim Yadid
 
CyberSec_JPEGcompressionForensics.pdf
CyberSec_JPEGcompressionForensics.pdfCyberSec_JPEGcompressionForensics.pdf
CyberSec_JPEGcompressionForensics.pdfMohammadAzreeYahaya
 
NVIDIA GPUs Power HPC & AI Workloads in Cloud with Univa
NVIDIA GPUs Power HPC & AI Workloads in Cloud with UnivaNVIDIA GPUs Power HPC & AI Workloads in Cloud with Univa
NVIDIA GPUs Power HPC & AI Workloads in Cloud with Univainside-BigData.com
 
OpenFOAM benchmark for EPYC server cavity flow small
OpenFOAM benchmark for EPYC server cavity flow smallOpenFOAM benchmark for EPYC server cavity flow small
OpenFOAM benchmark for EPYC server cavity flow smalltakuyayamamoto1800
 
Ceph Day Netherlands - Ceph @ BIT
Ceph Day Netherlands - Ceph @ BIT Ceph Day Netherlands - Ceph @ BIT
Ceph Day Netherlands - Ceph @ BIT Ceph Community
 
Consideration of issues for archiving of 4K/8K. Arai Hirokazu, NHK
Consideration of issues for archiving of 4K/8K. Arai Hirokazu, NHKConsideration of issues for archiving of 4K/8K. Arai Hirokazu, NHK
Consideration of issues for archiving of 4K/8K. Arai Hirokazu, NHKFIAT/IFTA
 
"4K/ UHD Advanced"
"4K/ UHD Advanced""4K/ UHD Advanced"
"4K/ UHD Advanced"Mesclado
 
Master Thesis - UBC.pptx
Master Thesis - UBC.pptxMaster Thesis - UBC.pptx
Master Thesis - UBC.pptxHadi Sinaee
 
Open MPI Explorations in Process Affinity (EuroMPI'13 presentation)
Open MPI Explorations in Process Affinity (EuroMPI'13 presentation)Open MPI Explorations in Process Affinity (EuroMPI'13 presentation)
Open MPI Explorations in Process Affinity (EuroMPI'13 presentation)Jeff Squyres
 
VSP Mainframe Dynamic Tiering Performance Considerations
VSP Mainframe Dynamic Tiering Performance ConsiderationsVSP Mainframe Dynamic Tiering Performance Considerations
VSP Mainframe Dynamic Tiering Performance ConsiderationsHitachi Vantara
 
Ceph Performance Profiling and Reporting
Ceph Performance Profiling and ReportingCeph Performance Profiling and Reporting
Ceph Performance Profiling and ReportingCeph Community
 
The n00bs guide to ovs dpdk
The n00bs guide to ovs dpdkThe n00bs guide to ovs dpdk
The n00bs guide to ovs dpdkmarkdgray
 
The state of SQL-on-Hadoop in the Cloud
The state of SQL-on-Hadoop in the CloudThe state of SQL-on-Hadoop in the Cloud
The state of SQL-on-Hadoop in the CloudNicolas Poggi
 
2016 Q3&Q4 Catalog
2016 Q3&Q4 Catalog2016 Q3&Q4 Catalog
2016 Q3&Q4 CatalogRowena Zhao
 
Jeff Johnson, Research Engineer, Facebook at MLconf NYC
Jeff Johnson, Research Engineer, Facebook at MLconf NYCJeff Johnson, Research Engineer, Facebook at MLconf NYC
Jeff Johnson, Research Engineer, Facebook at MLconf NYCMLconf
 
PLNOG16: Coping with Growing Demands – Developing the Network to New Bandwidt...
PLNOG16: Coping with Growing Demands – Developing the Network to New Bandwidt...PLNOG16: Coping with Growing Demands – Developing the Network to New Bandwidt...
PLNOG16: Coping with Growing Demands – Developing the Network to New Bandwidt...PROIDEA
 

Similar a Single-Loop Software Architecture for JPEG 2000 (20)

Imagecon 2019 - Jon Sneyers
Imagecon 2019 - Jon Sneyers Imagecon 2019 - Jon Sneyers
Imagecon 2019 - Jon Sneyers
 
“Show Me the Garbage!”, Garbage Collection a Friend or a Foe
“Show Me the Garbage!”, Garbage Collection a Friend or a Foe“Show Me the Garbage!”, Garbage Collection a Friend or a Foe
“Show Me the Garbage!”, Garbage Collection a Friend or a Foe
 
CyberSec_JPEGcompressionForensics.pdf
CyberSec_JPEGcompressionForensics.pdfCyberSec_JPEGcompressionForensics.pdf
CyberSec_JPEGcompressionForensics.pdf
 
NVIDIA GPUs Power HPC & AI Workloads in Cloud with Univa
NVIDIA GPUs Power HPC & AI Workloads in Cloud with UnivaNVIDIA GPUs Power HPC & AI Workloads in Cloud with Univa
NVIDIA GPUs Power HPC & AI Workloads in Cloud with Univa
 
Latest HPC News from NVIDIA
Latest HPC News from NVIDIALatest HPC News from NVIDIA
Latest HPC News from NVIDIA
 
OpenFOAM benchmark for EPYC server cavity flow small
OpenFOAM benchmark for EPYC server cavity flow smallOpenFOAM benchmark for EPYC server cavity flow small
OpenFOAM benchmark for EPYC server cavity flow small
 
Ceph Day Netherlands - Ceph @ BIT
Ceph Day Netherlands - Ceph @ BIT Ceph Day Netherlands - Ceph @ BIT
Ceph Day Netherlands - Ceph @ BIT
 
Consideration of issues for archiving of 4K/8K. Arai Hirokazu, NHK
Consideration of issues for archiving of 4K/8K. Arai Hirokazu, NHKConsideration of issues for archiving of 4K/8K. Arai Hirokazu, NHK
Consideration of issues for archiving of 4K/8K. Arai Hirokazu, NHK
 
"4K/ UHD Advanced"
"4K/ UHD Advanced""4K/ UHD Advanced"
"4K/ UHD Advanced"
 
Introduction Data Compression/ Data compression, modelling and coding,Image C...
Introduction Data Compression/ Data compression, modelling and coding,Image C...Introduction Data Compression/ Data compression, modelling and coding,Image C...
Introduction Data Compression/ Data compression, modelling and coding,Image C...
 
Master Thesis - UBC.pptx
Master Thesis - UBC.pptxMaster Thesis - UBC.pptx
Master Thesis - UBC.pptx
 
Open MPI Explorations in Process Affinity (EuroMPI'13 presentation)
Open MPI Explorations in Process Affinity (EuroMPI'13 presentation)Open MPI Explorations in Process Affinity (EuroMPI'13 presentation)
Open MPI Explorations in Process Affinity (EuroMPI'13 presentation)
 
Vips 4mar09e
Vips 4mar09eVips 4mar09e
Vips 4mar09e
 
VSP Mainframe Dynamic Tiering Performance Considerations
VSP Mainframe Dynamic Tiering Performance ConsiderationsVSP Mainframe Dynamic Tiering Performance Considerations
VSP Mainframe Dynamic Tiering Performance Considerations
 
Ceph Performance Profiling and Reporting
Ceph Performance Profiling and ReportingCeph Performance Profiling and Reporting
Ceph Performance Profiling and Reporting
 
The n00bs guide to ovs dpdk
The n00bs guide to ovs dpdkThe n00bs guide to ovs dpdk
The n00bs guide to ovs dpdk
 
The state of SQL-on-Hadoop in the Cloud
The state of SQL-on-Hadoop in the CloudThe state of SQL-on-Hadoop in the Cloud
The state of SQL-on-Hadoop in the Cloud
 
2016 Q3&Q4 Catalog
2016 Q3&Q4 Catalog2016 Q3&Q4 Catalog
2016 Q3&Q4 Catalog
 
Jeff Johnson, Research Engineer, Facebook at MLconf NYC
Jeff Johnson, Research Engineer, Facebook at MLconf NYCJeff Johnson, Research Engineer, Facebook at MLconf NYC
Jeff Johnson, Research Engineer, Facebook at MLconf NYC
 
PLNOG16: Coping with Growing Demands – Developing the Network to New Bandwidt...
PLNOG16: Coping with Growing Demands – Developing the Network to New Bandwidt...PLNOG16: Coping with Growing Demands – Developing the Network to New Bandwidt...
PLNOG16: Coping with Growing Demands – Developing the Network to New Bandwidt...
 

Más de David Bařina

Lossy Light Field Compression
Lossy Light Field CompressionLossy Light Field Compression
Lossy Light Field CompressionDavid Bařina
 
Mathematical curiosities
Mathematical curiositiesMathematical curiosities
Mathematical curiositiesDavid Bařina
 
New Transforms for JPEG Format
New Transforms for JPEG FormatNew Transforms for JPEG Format
New Transforms for JPEG FormatDavid Bařina
 
Discrete Wavelet Transforms on Parallel Architectures
Discrete Wavelet Transforms on Parallel ArchitecturesDiscrete Wavelet Transforms on Parallel Architectures
Discrete Wavelet Transforms on Parallel ArchitecturesDavid Bařina
 
Parallel Implementation of the 2-D Discrete Wavelet Transform
Parallel Implementation of the 2-D Discrete Wavelet TransformParallel Implementation of the 2-D Discrete Wavelet Transform
Parallel Implementation of the 2-D Discrete Wavelet TransformDavid Bařina
 
Parallel Wavelet Schemes for Images
Parallel Wavelet Schemes for ImagesParallel Wavelet Schemes for Images
Parallel Wavelet Schemes for ImagesDavid Bařina
 
Lifting Scheme Cores for Wavelet Transform
Lifting Scheme Cores for Wavelet TransformLifting Scheme Cores for Wavelet Transform
Lifting Scheme Cores for Wavelet TransformDavid Bařina
 
Real-Time 3-D Wavelet Lifting
Real-Time 3-D Wavelet LiftingReal-Time 3-D Wavelet Lifting
Real-Time 3-D Wavelet LiftingDavid Bařina
 
IIR aproximace Gaussovy funkce
IIR aproximace Gaussovy funkceIIR aproximace Gaussovy funkce
IIR aproximace Gaussovy funkceDavid Bařina
 
Akcelerace DWT pomocí SIMD
Akcelerace DWT pomocí SIMDAkcelerace DWT pomocí SIMD
Akcelerace DWT pomocí SIMDDavid Bařina
 
Wavelet Lifting on Application Specific Vector Processor
Wavelet Lifting on Application Specific Vector ProcessorWavelet Lifting on Application Specific Vector Processor
Wavelet Lifting on Application Specific Vector ProcessorDavid Bařina
 
Bit Twiddling Hacks: Integers
Bit Twiddling Hacks: IntegersBit Twiddling Hacks: Integers
Bit Twiddling Hacks: IntegersDavid Bařina
 
Fixed-point arithmetic
Fixed-point arithmeticFixed-point arithmetic
Fixed-point arithmeticDavid Bařina
 

Más de David Bařina (20)

CCSDS 122.0
CCSDS 122.0CCSDS 122.0
CCSDS 122.0
 
Lossy Light Field Compression
Lossy Light Field CompressionLossy Light Field Compression
Lossy Light Field Compression
 
Mathematical curiosities
Mathematical curiositiesMathematical curiosities
Mathematical curiosities
 
C/C++ tricks
C/C++ tricksC/C++ tricks
C/C++ tricks
 
New Transforms for JPEG Format
New Transforms for JPEG FormatNew Transforms for JPEG Format
New Transforms for JPEG Format
 
JPEG
JPEGJPEG
JPEG
 
Discrete Wavelet Transforms on Parallel Architectures
Discrete Wavelet Transforms on Parallel ArchitecturesDiscrete Wavelet Transforms on Parallel Architectures
Discrete Wavelet Transforms on Parallel Architectures
 
Parallel Implementation of the 2-D Discrete Wavelet Transform
Parallel Implementation of the 2-D Discrete Wavelet TransformParallel Implementation of the 2-D Discrete Wavelet Transform
Parallel Implementation of the 2-D Discrete Wavelet Transform
 
Parallel Wavelet Schemes for Images
Parallel Wavelet Schemes for ImagesParallel Wavelet Schemes for Images
Parallel Wavelet Schemes for Images
 
Lifting Scheme Cores for Wavelet Transform
Lifting Scheme Cores for Wavelet TransformLifting Scheme Cores for Wavelet Transform
Lifting Scheme Cores for Wavelet Transform
 
Real-Time 3-D Wavelet Lifting
Real-Time 3-D Wavelet LiftingReal-Time 3-D Wavelet Lifting
Real-Time 3-D Wavelet Lifting
 
Wavelet News
Wavelet NewsWavelet News
Wavelet News
 
IIR aproximace Gaussovy funkce
IIR aproximace Gaussovy funkceIIR aproximace Gaussovy funkce
IIR aproximace Gaussovy funkce
 
Akcelerace DWT pomocí SIMD
Akcelerace DWT pomocí SIMDAkcelerace DWT pomocí SIMD
Akcelerace DWT pomocí SIMD
 
Wavelet Lifting on Application Specific Vector Processor
Wavelet Lifting on Application Specific Vector ProcessorWavelet Lifting on Application Specific Vector Processor
Wavelet Lifting on Application Specific Vector Processor
 
GStreamer
GStreamerGStreamer
GStreamer
 
FFmpeg
FFmpegFFmpeg
FFmpeg
 
Bit Twiddling Hacks: Integers
Bit Twiddling Hacks: IntegersBit Twiddling Hacks: Integers
Bit Twiddling Hacks: Integers
 
Fixed-point arithmetic
Fixed-point arithmeticFixed-point arithmetic
Fixed-point arithmetic
 
Wavelets @ CPU
Wavelets @ CPUWavelets @ CPU
Wavelets @ CPU
 

Último

linear Regression, multiple Regression and Annova
linear Regression, multiple Regression and Annovalinear Regression, multiple Regression and Annova
linear Regression, multiple Regression and AnnovaMansi Rastogi
 
The Sensory Organs, Anatomy and Function
The Sensory Organs, Anatomy and FunctionThe Sensory Organs, Anatomy and Function
The Sensory Organs, Anatomy and FunctionJadeNovelo1
 
Observation of Gravitational Waves from the Coalescence of a 2.5–4.5 M⊙ Compa...
Observation of Gravitational Waves from the Coalescence of a 2.5–4.5 M⊙ Compa...Observation of Gravitational Waves from the Coalescence of a 2.5–4.5 M⊙ Compa...
Observation of Gravitational Waves from the Coalescence of a 2.5–4.5 M⊙ Compa...Sérgio Sacani
 
final waves properties grade 7 - third quarter
final waves properties grade 7 - third quarterfinal waves properties grade 7 - third quarter
final waves properties grade 7 - third quarterHanHyoKim
 
DETECTION OF MUTATION BY CLB METHOD.pptx
DETECTION OF MUTATION BY CLB METHOD.pptxDETECTION OF MUTATION BY CLB METHOD.pptx
DETECTION OF MUTATION BY CLB METHOD.pptx201bo007
 
Pests of Sunflower_Binomics_Identification_Dr.UPR
Pests of Sunflower_Binomics_Identification_Dr.UPRPests of Sunflower_Binomics_Identification_Dr.UPR
Pests of Sunflower_Binomics_Identification_Dr.UPRPirithiRaju
 
6.1 Pests of Groundnut_Binomics_Identification_Dr.UPR
6.1 Pests of Groundnut_Binomics_Identification_Dr.UPR6.1 Pests of Groundnut_Binomics_Identification_Dr.UPR
6.1 Pests of Groundnut_Binomics_Identification_Dr.UPRPirithiRaju
 
Probability.pptx, Types of Probability, UG
Probability.pptx, Types of Probability, UGProbability.pptx, Types of Probability, UG
Probability.pptx, Types of Probability, UGSoniaBajaj10
 
Environmental Acoustics- Speech interference level, acoustics calibrator.pptx
Environmental Acoustics- Speech interference level, acoustics calibrator.pptxEnvironmental Acoustics- Speech interference level, acoustics calibrator.pptx
Environmental Acoustics- Speech interference level, acoustics calibrator.pptxpriyankatabhane
 
Timeless Cosmology: Towards a Geometric Origin of Cosmological Correlations
Timeless Cosmology: Towards a Geometric Origin of Cosmological CorrelationsTimeless Cosmology: Towards a Geometric Origin of Cosmological Correlations
Timeless Cosmology: Towards a Geometric Origin of Cosmological CorrelationsDanielBaumann11
 
Gas-ExchangeS-in-Plants-and-Animals.pptx
Gas-ExchangeS-in-Plants-and-Animals.pptxGas-ExchangeS-in-Plants-and-Animals.pptx
Gas-ExchangeS-in-Plants-and-Animals.pptxGiovaniTrinidad
 
GENERAL PHYSICS 2 REFRACTION OF LIGHT SENIOR HIGH SCHOOL GENPHYS2.pptx
GENERAL PHYSICS 2 REFRACTION OF LIGHT SENIOR HIGH SCHOOL GENPHYS2.pptxGENERAL PHYSICS 2 REFRACTION OF LIGHT SENIOR HIGH SCHOOL GENPHYS2.pptx
GENERAL PHYSICS 2 REFRACTION OF LIGHT SENIOR HIGH SCHOOL GENPHYS2.pptxRitchAndruAgustin
 
DNA isolation molecular biology practical.pptx
DNA isolation molecular biology practical.pptxDNA isolation molecular biology practical.pptx
DNA isolation molecular biology practical.pptxGiDMOh
 
GenAI talk for Young at Wageningen University & Research (WUR) March 2024
GenAI talk for Young at Wageningen University & Research (WUR) March 2024GenAI talk for Young at Wageningen University & Research (WUR) March 2024
GenAI talk for Young at Wageningen University & Research (WUR) March 2024Jene van der Heide
 
Measures of Central Tendency.pptx for UG
Measures of Central Tendency.pptx for UGMeasures of Central Tendency.pptx for UG
Measures of Central Tendency.pptx for UGSoniaBajaj10
 
FBI Profiling - Forensic Psychology.pptx
FBI Profiling - Forensic Psychology.pptxFBI Profiling - Forensic Psychology.pptx
FBI Profiling - Forensic Psychology.pptxPayal Shrivastava
 
Q4-Mod-1c-Quiz-Projectile-333344444.pptx
Q4-Mod-1c-Quiz-Projectile-333344444.pptxQ4-Mod-1c-Quiz-Projectile-333344444.pptx
Q4-Mod-1c-Quiz-Projectile-333344444.pptxtuking87
 
LESSON PLAN IN SCIENCE GRADE 4 WEEK 1 DAY 2
LESSON PLAN IN SCIENCE GRADE 4 WEEK 1 DAY 2LESSON PLAN IN SCIENCE GRADE 4 WEEK 1 DAY 2
LESSON PLAN IN SCIENCE GRADE 4 WEEK 1 DAY 2AuEnriquezLontok
 

Último (20)

linear Regression, multiple Regression and Annova
linear Regression, multiple Regression and Annovalinear Regression, multiple Regression and Annova
linear Regression, multiple Regression and Annova
 
The Sensory Organs, Anatomy and Function
The Sensory Organs, Anatomy and FunctionThe Sensory Organs, Anatomy and Function
The Sensory Organs, Anatomy and Function
 
Observation of Gravitational Waves from the Coalescence of a 2.5–4.5 M⊙ Compa...
Observation of Gravitational Waves from the Coalescence of a 2.5–4.5 M⊙ Compa...Observation of Gravitational Waves from the Coalescence of a 2.5–4.5 M⊙ Compa...
Observation of Gravitational Waves from the Coalescence of a 2.5–4.5 M⊙ Compa...
 
final waves properties grade 7 - third quarter
final waves properties grade 7 - third quarterfinal waves properties grade 7 - third quarter
final waves properties grade 7 - third quarter
 
DETECTION OF MUTATION BY CLB METHOD.pptx
DETECTION OF MUTATION BY CLB METHOD.pptxDETECTION OF MUTATION BY CLB METHOD.pptx
DETECTION OF MUTATION BY CLB METHOD.pptx
 
Introduction Classification Of Alkaloids
Introduction Classification Of AlkaloidsIntroduction Classification Of Alkaloids
Introduction Classification Of Alkaloids
 
Pests of Sunflower_Binomics_Identification_Dr.UPR
Pests of Sunflower_Binomics_Identification_Dr.UPRPests of Sunflower_Binomics_Identification_Dr.UPR
Pests of Sunflower_Binomics_Identification_Dr.UPR
 
6.1 Pests of Groundnut_Binomics_Identification_Dr.UPR
6.1 Pests of Groundnut_Binomics_Identification_Dr.UPR6.1 Pests of Groundnut_Binomics_Identification_Dr.UPR
6.1 Pests of Groundnut_Binomics_Identification_Dr.UPR
 
Probability.pptx, Types of Probability, UG
Probability.pptx, Types of Probability, UGProbability.pptx, Types of Probability, UG
Probability.pptx, Types of Probability, UG
 
Environmental Acoustics- Speech interference level, acoustics calibrator.pptx
Environmental Acoustics- Speech interference level, acoustics calibrator.pptxEnvironmental Acoustics- Speech interference level, acoustics calibrator.pptx
Environmental Acoustics- Speech interference level, acoustics calibrator.pptx
 
Timeless Cosmology: Towards a Geometric Origin of Cosmological Correlations
Timeless Cosmology: Towards a Geometric Origin of Cosmological CorrelationsTimeless Cosmology: Towards a Geometric Origin of Cosmological Correlations
Timeless Cosmology: Towards a Geometric Origin of Cosmological Correlations
 
Gas-ExchangeS-in-Plants-and-Animals.pptx
Gas-ExchangeS-in-Plants-and-Animals.pptxGas-ExchangeS-in-Plants-and-Animals.pptx
Gas-ExchangeS-in-Plants-and-Animals.pptx
 
GENERAL PHYSICS 2 REFRACTION OF LIGHT SENIOR HIGH SCHOOL GENPHYS2.pptx
GENERAL PHYSICS 2 REFRACTION OF LIGHT SENIOR HIGH SCHOOL GENPHYS2.pptxGENERAL PHYSICS 2 REFRACTION OF LIGHT SENIOR HIGH SCHOOL GENPHYS2.pptx
GENERAL PHYSICS 2 REFRACTION OF LIGHT SENIOR HIGH SCHOOL GENPHYS2.pptx
 
DNA isolation molecular biology practical.pptx
DNA isolation molecular biology practical.pptxDNA isolation molecular biology practical.pptx
DNA isolation molecular biology practical.pptx
 
GenAI talk for Young at Wageningen University & Research (WUR) March 2024
GenAI talk for Young at Wageningen University & Research (WUR) March 2024GenAI talk for Young at Wageningen University & Research (WUR) March 2024
GenAI talk for Young at Wageningen University & Research (WUR) March 2024
 
AZOTOBACTER AS BIOFERILIZER.PPTX
AZOTOBACTER AS BIOFERILIZER.PPTXAZOTOBACTER AS BIOFERILIZER.PPTX
AZOTOBACTER AS BIOFERILIZER.PPTX
 
Measures of Central Tendency.pptx for UG
Measures of Central Tendency.pptx for UGMeasures of Central Tendency.pptx for UG
Measures of Central Tendency.pptx for UG
 
FBI Profiling - Forensic Psychology.pptx
FBI Profiling - Forensic Psychology.pptxFBI Profiling - Forensic Psychology.pptx
FBI Profiling - Forensic Psychology.pptx
 
Q4-Mod-1c-Quiz-Projectile-333344444.pptx
Q4-Mod-1c-Quiz-Projectile-333344444.pptxQ4-Mod-1c-Quiz-Projectile-333344444.pptx
Q4-Mod-1c-Quiz-Projectile-333344444.pptx
 
LESSON PLAN IN SCIENCE GRADE 4 WEEK 1 DAY 2
LESSON PLAN IN SCIENCE GRADE 4 WEEK 1 DAY 2LESSON PLAN IN SCIENCE GRADE 4 WEEK 1 DAY 2
LESSON PLAN IN SCIENCE GRADE 4 WEEK 1 DAY 2
 

Single-Loop Software Architecture for JPEG 2000

  • 1. Single-Loop Software Architecture for JPEG 2000 David Barina Ondrej Klima Pavel Zemcik ICISP 2016
  • 2. JPEG 2000 coordinate system LL LL LL LL LL LL LL LL LL LL LL LL LL LL LL LL LL LL LL LL LL LL LL LL LH LH LH LH LH LH LH LH LH LH LH LH LH LH LH LH LH LH LH LH LH LH LH LH LH LH LH LH LH LH HH HH HH HH HH HH HH HH HH HH HH HH HH HH HH HH HH HH HH HH HH HH HH HH HH HL HL HL HL HL HL HL HL HL HL HL HL HL HL HL HL HL HL HL HL (tbx0, tby0) (tbx1, tby1) (tbx0, tby0) (tbx1, tby1) (tbx0, tby0) (tbx1, tby1) (tbx0, tby0) (tbx1, tby1) (tcx0, tcy0) (tcx1, tcy1) LL HH HL LH LL HH HL LH LL HH HL LH LL HH HL LH LL HH HL LH LL HH HL LH LL HH HL LH LL HH HL LH LL HH HL LH LL HH HL LH LL HH HL LH LL HH HL LH LL HH HL LH LL HH HL LH LL HH HL LH LL HH HL LH LL HH HL LH LL LH LL HH HL LH LL LH LL HH HL LH LL LH LL HH HL LH LL LH HHLH HHLH HHLH HHLH HHLH LH 2 / 13
  • 4. Lifting scheme and 1-D core α β γ δ 4 / 13
  • 6. Code-block scan order core code-block 2 × 2cbx 2 × 2cby 6 / 13
  • 7. Two consecutive LL bands in virtual memory LLn LLn+1 HL LH HH 7 / 13
  • 9. Processing time and memory consumption standard resolution input [MiB] memory [MiB] time [ns/pel] Full HD 1920 × 1080 7.9 4.6 2.78 DCI 4K 4096 × 2160 33.8 7.2 2.40 8K UHD 7680 × 4320 126.6 11.9 2.11 65K tile 216 × 216 16384.0 84.6 1.82 106 tile 106 × 106 3814697.3 1244.9 1.69 9 / 13
  • 10. Software overview library data type algorithm our solution 32-bit FP strip-based, scales interleaved OpenJPEG 32-bit FX naive approach JasPer 32-bit FX naive approach FFmpeg 32-bit FX naive approach Kakadu 32-bit line-based, scales interleaved 10 / 13
  • 11. Transform stage 4K library threads SIMD memory [MiB] time [ns/pel] our solution yes yes 7.7 2.56 OpenJPEG no no 34.7 101.55 JasPer no no 34.5 67.54 FFmpeg no no 34.5 84.54 Kakadu yes yes (12.3) (27.13) 11 / 13
  • 12. Performance 0.0 20.0 40.0 60.0 80.0 100.0 120.0 140.0 100.0k 1.0M 10.0M 100.0M 1.0G time[ns] resolution [pel] proposed OpenJPEG JasPer FFmpeg 12 / 13
  • 13. Summary solution: a processing unit continuously consumes an input and produces an output visits every image sample only once (cache friendly) is aware of image coordinates (can handle the borders) configuration (state) can be saved/restored can be run in any direction can be SIMD vectorized can run in parallel (on independent parts of the image) 13 / 13