Beruflich Dokumente
Kultur Dokumente
J
orn Hameyer
July 5, 2013
Importance General Problems Specific problems Brief introduction to HEVC HEVC parallelism approaches CABAC Conclusions
Outline
J
orn Hameyer | Parallelism in High Efficiency Video Coding(HEVC) | 2
Chair for
Chip Design for
Embedded Computing
Importance General Problems Specific problems Brief introduction to HEVC HEVC parallelism approaches CABAC Conclusions
J
orn Hameyer | Parallelism in High Efficiency Video Coding(HEVC) | 3
Chair for
Chip Design for
Embedded Computing
Importance General Problems Specific problems Brief introduction to HEVC HEVC parallelism approaches CABAC Conclusions
J
orn Hameyer | Parallelism in High Efficiency Video Coding(HEVC) | 3
Chair for
Chip Design for
Embedded Computing
Importance General Problems Specific problems Brief introduction to HEVC HEVC parallelism approaches CABAC Conclusions
Data dependency
Load of the cores have to be maintained leading to overhead
Overhead
Heavy increase of computational complexity
Video coding processes are naturally sequential
J
orn Hameyer | Parallelism in High Efficiency Video Coding(HEVC) | 4
Chair for
Chip Design for
Embedded Computing
Importance General Problems Specific problems Brief introduction to HEVC HEVC parallelism approaches CABAC Conclusions
Data-based parallelism
Frame Level parallelism
Slice Level parallelism
Macroblock Level parallelism
Task-based parallelism
J
orn Hameyer | Parallelism in High Efficiency Video Coding(HEVC) | 5
Chair for
Chip Design for
Embedded Computing
Importance General Problems Specific problems Brief introduction to HEVC HEVC parallelism approaches CABAC Conclusions
J
orn Hameyer | Parallelism in High Efficiency Video Coding(HEVC) | 6
Chair for
Chip Design for
Embedded Computing
Importance General Problems Specific problems Brief introduction to HEVC HEVC parallelism approaches CABAC Conclusions
[1]
J
orn Hameyer | Parallelism in High Efficiency Video Coding(HEVC) | 6
Chair for
Chip Design for
Embedded Computing
Importance General Problems Specific problems Brief introduction to HEVC HEVC parallelism approaches CABAC Conclusions
[2]
[3]
Chair for
Chip Design for
Embedded Computing
Importance General Problems Specific problems Brief introduction to HEVC HEVC parallelism approaches CABAC Conclusions
A macroblock is dependent on
its adjacent macroblocks
[4]
J
orn Hameyer | Parallelism in High Efficiency Video Coding(HEVC) | 8
Chair for
Chip Design for
Embedded Computing
Importance General Problems Specific problems Brief introduction to HEVC HEVC parallelism approaches CABAC Conclusions
J
orn Hameyer | Parallelism in High Efficiency Video Coding(HEVC) | 9
Chair for
Chip Design for
Embedded Computing
Importance General Problems Specific problems Brief introduction to HEVC HEVC parallelism approaches CABAC Conclusions
Most recent joint video project of the ITU-T VCEG and ISO/IEC
MPEG standardization organizations Joint Collaborative Team
on Video Coding (JCT-VC)
Has been finalized in January 2013 (First Version)
Successor of H.264/AVC, achieves a compression gain of 50% over
H.264/AVC
Can support 8k UHD and resolutions up to 8192x4320
J
orn Hameyer | Parallelism in High Efficiency Video Coding(HEVC) | 10
Chair for
Chip Design for
Embedded Computing
Importance General Problems Specific problems Brief introduction to HEVC HEVC parallelism approaches CABAC Conclusions
[5]
Main Structure very similar to conventional video codecs
Many differences in terms of flexibility: significant gain
J
orn Hameyer | Parallelism in High Efficiency Video Coding(HEVC) | 11
Chair for
Chip Design for
Embedded Computing
Importance General Problems Specific problems Brief introduction to HEVC HEVC parallelism approaches CABAC Conclusions
[6]
J
orn Hameyer | Parallelism in High Efficiency Video Coding(HEVC) | 12
Chair for
Chip Design for
Embedded Computing
Importance General Problems Specific problems Brief introduction to HEVC HEVC parallelism approaches CABAC Conclusions
[6]
Cannot be used in conjunction with Tiles
J
orn Hameyer | Parallelism in High Efficiency Video Coding(HEVC) | 12
Chair for
Chip Design for
Embedded Computing
Importance General Problems Specific problems Brief introduction to HEVC HEVC parallelism approaches CABAC Conclusions
Tiles
[7]
Reduced line buffer requirements for motion estimation
Slices can contain tiles and vice versa
Explicit division of frames
Multiple tiles use same header
J
orn Hameyer | Parallelism in High Efficiency Video Coding(HEVC) | 13
Chair for
Chip Design for
Embedded Computing
Importance General Problems Specific problems Brief introduction to HEVC HEVC parallelism approaches CABAC Conclusions
Tiles
[7]
Reduced line buffer requirements for motion estimation
Slices can contain tiles and vice versa
Explicit division of frames
Multiple tiles use same header
Cannot be used in conjunction with WPP
J
orn Hameyer | Parallelism in High Efficiency Video Coding(HEVC) | 13
Chair for
Chip Design for
Embedded Computing
Importance General Problems Specific problems Brief introduction to HEVC HEVC parallelism approaches CABAC Conclusions
J
orn Hameyer | Parallelism in High Efficiency Video Coding(HEVC) | 14
Chair for
Chip Design for
Embedded Computing
Importance General Problems Specific problems Brief introduction to HEVC HEVC parallelism approaches CABAC Conclusions
[8]
J
orn Hameyer | Parallelism in High Efficiency Video Coding(HEVC) | 14
Chair for
Chip Design for
Embedded Computing
Importance General Problems Specific problems Brief introduction to HEVC HEVC parallelism approaches CABAC Conclusions
CABAC overview
J
orn Hameyer | Parallelism in High Efficiency Video Coding(HEVC) | 15
Chair for
Chip Design for
Embedded Computing
Importance General Problems Specific problems Brief introduction to HEVC HEVC parallelism approaches CABAC Conclusions
CABAC overview
J
orn Hameyer | Parallelism in High Efficiency Video Coding(HEVC) | 15
Chair for
Chip Design for
Embedded Computing
Importance General Problems Specific problems Brief introduction to HEVC HEVC parallelism approaches CABAC Conclusions
CABAC in H.264/AVC
[9]
CABAC was already implemented in H.264/AVC
Some serious bottlenecks
Because of data dependency between the bins it is very difficult to
parallalize them
J
orn Hameyer | Parallelism in High Efficiency Video Coding(HEVC) | 16
Chair for
Chip Design for
Embedded Computing
Importance General Problems Specific problems Brief introduction to HEVC HEVC parallelism approaches CABAC Conclusions
CABAC in HEVC
J
orn Hameyer | Parallelism in High Efficiency Video Coding(HEVC) | 17
Chair for
Chip Design for
Embedded Computing
Importance General Problems Specific problems Brief introduction to HEVC HEVC parallelism approaches CABAC Conclusions
[10]
Zig-Zig Scan implemented in H.264/AVC has stronger data
dependency, but less computational complexity
Diagonal Scan implemented in HEVC has almost no data
dependency, but more computational complexity
J
orn Hameyer | Parallelism in High Efficiency Video Coding(HEVC) | 18
Chair for
Chip Design for
Embedded Computing
Importance General Problems Specific problems Brief introduction to HEVC HEVC parallelism approaches CABAC Conclusions
[10]
Zig-Zig Scan implemented in H.264/AVC has stronger data
dependency, but less computational complexity
Diagonal Scan implemented in HEVC has almost no data
dependency, but more computational complexity
After all, the little increase in computational complexity is negligible
J
orn Hameyer | Parallelism in High Efficiency Video Coding(HEVC) | 18
Chair for
Chip Design for
Embedded Computing
Importance General Problems Specific problems Brief introduction to HEVC HEVC parallelism approaches CABAC Conclusions
Conclusion
J
orn Hameyer | Parallelism in High Efficiency Video Coding(HEVC) | 19
Chair for
Chip Design for
Embedded Computing
Importance General Problems Specific problems Brief introduction to HEVC HEVC parallelism approaches CABAC Conclusions
Conclusion
[11]
J
orn Hameyer | Parallelism in High Efficiency Video Coding(HEVC) | 20
Chair for
Chip Design for
Embedded Computing
J
orn Hameyer | Parallelism in High Efficiency Video Coding(HEVC) | 21
Chair for
Chip Design for
Embedded Computing
Importance General Problems Specific problems Brief introduction to HEVC HEVC parallelism approaches CABAC Conclusions
References
[1]:Chi Ching Chi; Alvarez-Mesa, M.; Juurlink, B.; Clare, G.; Henry, F.; Pateux, S.; Schierl, T., Parallel Scalability and
Efficiency of HEVC Parallelization Approaches, Circuits and Systems for Video Technology, IEEE Transactions on , vol.22,
no.12, pp.1827,1838, Dec. 2012 doi: 10.1109/TCSVT.2012.2223056
[2][3]:Sullivan, G.J.; Ohm, J.; Woo-Jin Han; Wiegand, T., Overview of the High Efficiency Video Coding (HEVC)
Standard, Circuits and Systems for Video Technology, IEEE Transactions on , vol.22, no.12, pp.1649,1668, Dec. 2012 doi:
10.1109/TCSVT.2012.2221191
[4][6]:Kiho Choi; Jang, Euee S., Leveraging Parallel Computing in Modern Video Coding Standards, MultiMedia, IEEE ,
vol.19, no.3, pp.7,11, July-Sept. 2012 doi: 10.1109/MMUL.2012.36
[5]: http://www.panoramaaudiovisual.com/wp-content/uploads/ 2012/01/H.265-605x289.jpg
[7]:Fuldseth, A.; Horowitz, M.; Shilin Xu; Misra, K.; Segall, A.; Minhua Zhou, Tiles for managing computational
complexity of video encoding and decoding, Picture Coding Symposium (PCS), 2012 , vol., no., pp.389,392, 7-9 May 2012
doi: 10.1109/PCS.2012.6213371
[8][11]:Chi Ching Chi; Alvarez-Mesa, M.; Juurlink, B.; Clare, G.; Henry, F.; Pateux, S.; Schierl, T., Parallel Scalability and
Efficiency of HEVC Parallelization Approaches, Circuits and Systems for Video Technology, IEEE Transactions on , vol.22,
no.12, pp.1827,1838, Dec. 2012 doi: 10.1109/TCSVT.2012.2223056
[9][10]:Sze, V.; Budagavi, M., High Throughput CABAC Entropy Coding in HEVC, Circuits and Systems for Video
Technology, IEEE Transactions on , vol.22, no.12, pp.1778,1791, Dec. 2012 doi: 10.1109/TCSVT.2012.2221526
J
orn Hameyer | Parallelism in High Efficiency Video Coding(HEVC) | 22
Chair for
Chip Design for
Embedded Computing