PPT

advertisement
Zarna Patel
Department of Electrical Engineering
University of Texas at Arlington
Advisor: Dr. K. R. Rao
• Need for Video Compression
• Evolution of Video Coding Standards
• Context and Emerging Problem
• Introduction of HEVC
• Partial Decoding
• Tiled Encoding
• Simulation Results
• Conclusions and Future Work
• Acknowledgements
• Acronyms
• References
• Uncompressed video data are huge. In HDTV, the bitrate easily exceeds 1 Gbps -- big problems for storage &
network communcations. For example,
• Typical HDTV video -- 1920 × 1080 pixels per frame, 30 frames per second, full color depth 24 bits per pixel (8
bits red, green, blue)
• Total bit rate for transmitting video -- 1.5 Gb/sec.
• Nowadays, more than 50% of the current network traffic is video.
• High-resolution video is expected to become widely available in the near future. E.g., 4k, 8k, 10k
• Mobile devices – unable to display such videos. Many of the captured details are lost or unclear because the
small screen sizes available in such devices.
• A solution to this problem – cropping and zooming
• The use of cropping enables increased freedom in video editing and the ability to view other parts in the
same content.
• Cropping & Zooming applications – Google Maps, Sports, Surveillance and Education
Example of Cropping & Zooming [13]:
• One of the problems involved in displaying the region of interest (ROI) of a high resolution video is the
decoding load – This is challenging issue in mobile devices because of having low speed CPUs.
• Another problem -- amount of data and communication bandwidth.
• Two different techniques evaluated – to optimize bitrate, decoding calculation cost and bandwidth efficiency.
• This research was shown on their tablet at the CeBIT computer expo in Hanover city of Germany on
March 16-20, 2015.
• HEVC is the most recent international
standard for video compression; a
successor to the H.264/MPEG-4 AVC
(Advanced Video Coding) standard.
• It
was
introduced
by
Joint
Collaborative Team of ITU-T VCEG and
ISO/IEC MPEG.
• 50% bitrate reduction over the H.264
standard with the same perceptual
quality.
Block diagram of HEVC Encoder and Decoder [3]
Video Encoder
Video Source
Partitioning
Prediction
Transform
& Quantization
Entropy Encode
Compressed
Syntax
Video Decoder
Video output
In loop filters
Reconstruct
Inverse Transform
& Quantization
Entropy decode
(a) 4:2:0
(b) 4:2:2
(c) 4:4:4
• In HEVC, each picture is divided into Coding
Tree Units (CTUs). Also called Largest
coding Unit (LCU). Possible sizes -- 64×64,
32×32 and 16×16. All the CTUs in a video
stream have the same size.
• CTUs are composed of one luma (Y) and
two chroma (Cb and Cr) Coding Tree Blocks
(CTBs).
• CTB – too big to decide intra or inter
prediction.
CTU and CTB
Three CBs form CU
CTB spit in CB
• CTBs are further divided into Coding Blocks (CBs). CB size is as small as 8×8. A luma and the corresponding chroma CBs form a
Coding Unit (CU). The decision about the prediction type (intra, inter) is made from each CU, so CU is the basic unit of
prediction in HEVC.
• The luma and chroma CBs can be further divided into
PBs.
• PBs can be symmetric or asymmetric.
• PB sizes – from 64×64 to 4×4 samples.
• Two types: Intra Prediction and Inter Prediction
CB split into PB
Spatial (intra-frame) correlation
in a video sequence [25]
Intra Prediction Modes for HEVC [1]
• Spatial Redundancy or Intra-frame Correlation – pixels in an image are often similar to their adjacent
neighbor pixels. This can be reduced using Intra-frame Prediction.
• 35 luma intra prediction modes, including DC & planar modes.
• Temporal Redundancy or Inter-frame Correlation –
successive frames in time order are usually high correlated. Parts
of the scene are repeated in time with little or no changes.
• Inter-frame Prediction is used to code only the changes in the
video content, rather than coding each entire picture repeatedly.
Temporal (inter-frame) correlation
in a video sequence [25]
1.
Block based Motion Estimation and Compensation:
To obtain the motion vector and the motion compensation, the following procedure is carried out for each
MxN block in the current frame, where M and N are the block height and width respectively:
 1st step Motion Estimation:
Each possible MxN block from previously encoded reference
frame is compared with the MxN current block in terms of a
certain matching criterion (e.g. energy). The block at a given
displacement that minimizes the matching criterion is chosen
as the best match. This process of finding the best match is
known as motion estimation. This spatial displacement offset
between the position of the candidate block (block extracted
from reference frame) and the current block is the motion
vector (MV).
Motion Estimation [25]
 2nd step Motion Compensation: This chosen candidate block is subtracted from the current block to
form a residual block.
 3rd step: The residual block is encoded and transmitted with motion vector.
On the other side, the decoder uses the received motion vector to recreate the candidate region. This is
added to the decoded residual block, to reconstruct a version of the original block.
• The residual signal of the intra or inter prediction, which is the
difference between the original block and its prediction, is
transformed using a block transform based on the Discrete Cosine
Transform (DCT) or Discrete Sine Transform (DST).
• By means of transform, the residual signal is converted to the
frequency domain in order to decorrelate and compact the
information. HEVC supports four transform sizes: 4x4, 8x8, 16x16
and 32x32.
• After obtaining the transform coefficients, they are then scaled
and quantized.
• Once the quantized transform coefficients are obtained, they are
combined with prediction information such as prediction modes,
motion vectors, partitioning information and other header data,
and then coded in order to obtain an HEVC bit-stream. All of these
elements are coded using Context Adaptive Binary Arithmetic
Coding (CABAC).
CB split into TB
• In HEVC, the two loop filters are deblocking filter (DBF) followed by a sample adaptive offset (SAO). The
DBF is intended to reduce the blocking artefacts around the block boundaries that may be introduced by the
lossy encoding process.
• After deblocking is performed, a second filter optionally processes the picture. The SAO classifies
reconstructed pixels into categories and reduces the distortion, improving the appearance of smooth regions
and edges of objects, by adding an offset to pixels of each category in the current region. The SAO filter is a
non-linear filter that makes use of look-up tables transmitted by the encoder.
(a)
(b)
(c)
Subdivision of a picture into (a) slices and (b) tiles; (c) wavefront parallel processing
• When dealing with a high-resolution video on a mobile
phone, it is necessary to reduce the decoding calculation
cost.
• This method decides the decoded partial area (DPA) by
extending N number of luma samples around the ROI in
each direction.
• Pros and cons : if the reference ranges in the ROI change
rapidly, the video will deteriorate; now, deterioration
could be prevented by using a very large buffer, but this
in turn would decrease the effect of reduced calculation
cost.
Buffered area decoding
• This method was evaluated in terms of
bandwidth efficiency and storage requirements
for ROI-based streaming.
• Tiled encoding partitions video frames into grid
of tiles and encodes each tile as an
independently decodable stream.
• For convenience, the tiles have a 1:1 aspect ratio
in order to use the CTU size of HEVC.
• These streams are indexed by the spatial region
they cover. For a given ROI, a minimal set of tiled
streams covering the ROI is streamed by looking
up the index. New tiles may be included into the
stream or tiles may be dropped when the ROI
changes.
Tiled streams
• Here is the brief explanation for requested ROI tiles:
• Let’s consider the original video (uncompressed video in YUV format) with the
frame size is 3x3.
• Now, create the tiled streams of size 1x1. That means total number of tiles: 3x3 /
1x1 = 9 tiles.
• From the uncompressed YUV video, crop into 9 smaller uncompressed YUV of
size 1x1, at the coordinates (0,0) ,(0,1), …(2,2).
• For each of 9 tiled YUV of size 1x1, encode it from YUV —> compressed tiled
streams. After this step, 9 compressed tiled streams of size 1x1 in total will be
obtained. Each of these tiled streams is independently decodable stream.
• Now, request ROI X of size 2x2 at coordinates (0,0) —> the server needs to send
2x2 / 1x1 = 4 tiled streams at coordinates (0,0), (0,1), (1,0), (1,1).
• Since the tiled streams of size 1x1 at (0,0), (0,1), (1,0), (1,1) are already
obtained. Then, the compressed file size of those streams are just summed up,
and the sum would be the amount of data to send for the ROI X – average data
rate or transported data size.
Example of Tiled Encoding
 Slice Structure Dependency on Tiled Encoding:
• This was introduced to further improve bandwidth efficiency in tiled
encoding.
• Slices can be encoded and decoded independently.
• In tiled encoding, entire CTU that is on border of ROI, is sent. So, it can lead to
transmission of redundant bits to clients.
• Thus, slice concept was introduced in terms of bytes (It could contain number
of CTU, bytes, tiles).
Example of Tiled Encoding
• For Tiled Encoding method: given the ROI size, ROI position, and the entire video frame size (W*H), the set
of tiles which are overlapping with this ROI and necessary to send/decode this ROI can be easily
determined.
• Number of slices in these tiles are same as number of slices in each of these compressed tiled streams.
• There are different ways to get these information.
• Each slice always starts with a slice header. Modify the decoder. While the decoder is parsing the bitstream,
look for slice headers in each video frame, and increase the counter accordingly.
• In this experiment, test sequences are encoded for a
combination of three different tile sizes chosen from {16*16
LCU, 32*32 LCU and 64*64 LCU} and slice size (in bytes)
chosen from {64, 512, 1460}. For partial decoding, three
kinds of buffered luma samples are experimented: 16, 32
and 64.
• QP value (32) & video crop size (480×280) are fixed, but
cropping position is taken different in all sequences.
• Random access profile was used for coding with GOP (Group
of pictures) as 8, and 25 frames were encoded for each
sequence.
• These results show the comparison of PSNR, file size,
decoding time and transported data size. The transported
data size (average data rate) is computed as the number of
bits that would be transferred for a specific ROI dimension.
No.
Sequence
Name
Resolution
Type
No. of
frames
1.
park_joy
1280×720
HD
25
2.
shields
1280×720
HD
25
3.
KristenAnd
Sara
1280×720
HD
25
Test Sequences Used [7][33]
1st frame of original sequence (Resolution: 1280×720)
3rd frame of original sequence (Resolution: 1280×720)
1st frame of original sequence (Resolution: 1280×720)
1st frame of cropped sequence (Resolution: 480×280)
3rd frame of cropped sequence (Resolution: 480×280)
1st frame of cropped sequence (Resolution: 480×280)
Tile Size: 32*32
Tile Size: 64*64
Encoded File Size
42
41
40
39
38
37
36
35
34
33
32
31
30
29
28
Tile Size: 16*16
Tile Size: 32*32
Tile Size: 64*64
Encoded Files’ PSNR
Transported Data Size (Byte)
Tile Size: 16*16
PSNR (dB)
Compressed File Size (Bytes)
450000
400000
350000
300000
250000
200000
150000
100000
50000
0
80000
70000
60000
50000
40000
30000
Tile Size: 16*16
20000
Tile Size: 32*32
10000
Tile Size: 64*64
0
Transported Data Size
park_joy
60
35
50
30
40
Tile Size: 16*16
30
Tile Size: 32*32
Tile Size: 64*64
20
10
Decoding time (sec.)
Decoding time (sec.)
70
25
20
Tile Size: 16*16
15
Tile Size: 32*32
10
Tile Size: 64*64
5
0
0
park_joy
shields
Buffered: 16
KristenAndSara
KristenAndSara
50
50
45
45
40
40
35
Tile Size: 16*16
Tile Size: 32*32
20
Tile Size: 64*64
15
10
Decoding time (sec.)
Decoding time (sec.)
shields
25
35
30
10
0
Decoding time of shields sequence (buffered area decoding)
Tile Size: 64*64
15
0
Buffered: 64
Tile Size: 32*32
20
5
Buffered: 32
Tile Size: 16*16
25
5
Buffered: 16
Buffered: 64
Decoding time of park_joy sequence (buffered area decoding)
Decoding time
30
Buffered: 32
Buffered: 16
Buffered: 32
Buffered: 64
Decoding time of KristenAndSara sequence (buffered area decoding)
120000
460000
100000
440000
Tile Size: 16*16
400000
Tile Size: 32*32
380000
Tile Size: 64*64
360000
340000
80000
60000
Tile Size: 16*16
40000
Tile Size: 32*32
20000
Tile Size: 64*64
0
64 Bytes
512 Bytes 1460 Bytes
Slice Size
Encoded File Size for Three Different
Slice Sizes of park_joy sequence
64 Bytes
512 Bytes
1460 Bytes
Slice Size
Encoded File Size for Three Different
Slice Sizes of shields sequence
File Size (Bytes)
480000
420000
KristenAndSara
shields
File Size (Bytes)
File Size (Bytes)
park_joy
45000
40000
35000
30000
25000
20000
15000
10000
5000
0
Tile Size: 16*16
Tile Size: 32*32
Tile Size: 64*64
64 Bytes
512 Bytes 1460 Bytes
Slice Size
Encoded File Size for Three Different Slice
Sizes of KristenAndSara sequence
70000
Tile Size: 16*16
Transported Data Size (Bytes)
70000
60000
50000
40000
64 Bytes Slice
30000
1460 Bytes Slice
20000
60000
Transported Data Size (Byte)
Compared with
previous results
80000
50000
40000
Tile Size: 16*16
30000
20000
10000
10000
0
0
park_joy
shields
KristenAndSara
Transported Data Size for 64 and 1460 Bytes Slice
(Tile Size: 16*16)
park_joy
shields
KristenAndSara
Transported Data Size (Previous Results)
• In this thesis, two methods for ROI based video transmission to support cropping and zooming were
implemented and evaluated.
• The first, tiled encoding divides frames of a raw video stream into tiles and encodes individual tiles
using a standard encoder. The requested ROI is met by sending tile streams that overlaps with the ROI.
The results show that bandwidth efficiency of the tiled streaming system is best when the tile size is
16*16, despite a slight increase in encoded file size.
• Second, partial decoding using buffered area decoding based on DPA was performed to reduce decoding
calculation cost, and these results demonstrate that 32 buffered luma samples around ROI give 40-55%
time reduction to transmit requested ROI.
• At last, slice structure dependency on tiled encoding was performed to further improve bandwidth
efficiency. In which, how slice structure influences bandwidth efficiency of ROI region was highlighted.
The results show that larger slice size significantly reduces the average data rate. Thus, in terms of
bandwidth efficiency 1460 byte slice structure is better than 64 byte slice for ROI based decoding.
• Among many possible future directions for this research, the next is to see motion vector dependency
on tiled encoding that would lead to better bandwidth efficiency.
• In tiled encoding, entire CTU that is on border of ROI, is sent. So, it can lead to transmission of
redundant bits to clients – bits that do not contribute to decoding of pixels within ROI at all. To
overcome this issue, Monolithic Stream method can be used. This method transmits only bits that are
required for decoding of ROI.
• Dr. K. R. Rao – being my mentor
• Dr. W. Dillon & Dr. J. Bredow – committee members
• Khiem NGO – Ph.D Student at USC
• Karsten Suehring -- Project Manager at Fraunhofer HHI
• Tuan Ho and Srikanth Vasireddy -- MPL lab mates
• My family and friends
AVC: Advanced Video Coding
CABAC: Context Adaptive Binary Arithmetic Coding
CB: Coding Block
CPU: Central Processing Unit
CTB: Coding Tree Block
CTU: Coding Tree Unit
CU: Coding Unit
DBF: Deblocking Filter
DCT: Discrete Cosine Transform
DPA: Decoded Partial Area
DST: Discrete Sine Transform
GOP: Group of Pictures
HEVC: High Efficiency Video Coding
IEC: International Electrotechnical Commission
ISO: International Organization for standardization
ITU: International Telecommunication Union
LCU: Largest Coding Unit
LTE: Long Term Evolution
MC: Motion compensation
ME: Motion Estimation
MPEG: Moving Picture Experts Group
MSE: Mean Square Error
MV: Motion Vector
NAL: Network Abstraction Layer
PB: Prediction Block
PSNR: Peak Signal to Noise Ratio
PU: Prediction Unit
QP: Quantization Parameter
ROI: Region of Interest
SAD: Sum of Absolute Difference
SPS: Sequence Parameter Set
SVC: Scalable video coding
TB: Transform Block
TU: Transform Unit
UHD: Ultrahigh Definition
URQ: Uniform Reconstruction Quantization
VCEG: Visual Coding Experts Group
VCL: Video Coded Layer
VGA: Video Graphics Array
WPP: Wavefront Parallel Processing
[1] G. J. Sullivan et al, "Overview of the High Efficiency Video Coding (HEVC) Standard", IEEE Trans. on Circuits and Systems for Video Technology, vol. 22, no. 12, pp. 1649-1668,
Dec. 2012.
[2] G.J. Sullivan et al, “Standardized Extensions of High Efficiency Video Coding (HEVC)”, IEEE Journal of Selected Topics in Signal Processing, vol. 7, no. 6, pp. 1001-1016, Dec.
2013.
[3] K.R. Rao, D. N. Kim and J. J. Hwang, “Video Coding standards: AVS China, H.264/MPEG-4 Part 10, HEVC, VP6, DIRAC and VC-1”, Springer, 2014.
[4] M. Wien, “High Efficiency Video Coding: Coding Tools and Specification”, Springer, 2014.
[5] ITU-T: "H.265 : High efficiency video coding", April 2013.
http://www.itu.int/rec/T-REC-H.265-201304-I/en
[6] Special issues on HEVC:
1. Special issue on emerging research and standards in next generation video coding, IEEE Trans. on Circuits and Systems for Video Technology, vol. 22, pp. 1646-1909, Dec.
2012.
2. IEEE Journal on Emerging and Selected Topics in Circuits and Systems (JETCAS)
Special Issue on Screen Content Video Coding and Applications: Final papers are due July 2016.
3. IEEE Journal of Selected Topics in Signal Processing, vol. 7, pp. 931-1151, Dec. 2013.
[7] Test sequences:
http://basakoztas.net/hevc-test-sequences/
[8] HEVC Reference Software HM15.0.
https://hevc.hhi.fraunhofer.de/svn/svn_HEVCSoftware/branches/HM-15.0-dev/
[9] Discussion on “Multi-Frame Motion-Compensated Prediction” by Fraunhofer HHI
http://www.hhi.fraunhofer.de/en/fields-of-competence/image-processing/research-groups/image-communication/video-coding/multi-frame-motion-compensatedprediction.html
[10] NTT DOCOMO Technical Journal, vol. 14, no. 4
https://www.nttdocomo.co.jp/english/binary/pdf/corporate/technology/rd/technical_journal/bn/vol14_4/vol14_4_043en.pdf
[11] Y. Umezaki and S. Goto, ‘Image Segmentation Approach for Realizing Zoomable Streaming HEVC Video”, 9th International Conference on Information, Communication and
Signal Processing (ICICS), pp. 1-4, Dec. 2013.
[12] C. Liu et al, “Encoder-unconstrained user interactive partial decoding scheme”, IEICE Trans. on Fundamentals of Electronics, Communications and Computer Sciences,
vol. E95-A, no. 8, pp. 1288-1296, Aug. 2012.
[13] N. Quang et al, “Supporting zoomable video streams with dynamic region-of-interest cropping”, Proceedings of the 18th ACM International Conference on Multimedia, pp.
259-270, Feb. 2010.
[14] A. Mavlankar et al, “Region-of-interest prediction for interactively streaming regions of high resolution video”, Proceedings International Packet Video Workshop, Nov.
2007.
[15] K. B. Shimoga, “Region-of-interest based video image transcoding for heterogeneous client displays”, Proceedings International Packet Video Workshop, Apr. 2002.
[16] X. Fan et al, “Looking into video frames on small displays”, Proceedings of the 11th ACM International Conference on Multimedia, pp. 247-250, Nov. 2003.
[17] W. Feng et al, “Supporting region-of-interest cropping through constrained compression”, Proceedings of the 16th ACM international conference on Multimedia, pp. 745748, Oct. 2008.
[18] A. Saxena et al, “Jointly optimal intra prediction and adaptive primary transform”, JCTVC-C108, Guangzhou, CN, Oct. 2010.
To access it, go to this link:
http://phenix.int-evry.fr/jct/doc_end_user/current_meeting.php and then give number JCTVC-C108 in Number field or type title of this document.
[19] I. E. G. Richardson, “H.264 and MPEG-4 Video Compression: Video Coding for Next-generation Multimedia”, Wiley, 2003.
[20] T. Wiegand et al, “WD2: Working Draft 2 of High-Efficiency Video Coding”, JCT-VC document, JCTVC-D503, Daegu, KR, Jan. 2011.
To access it, go to this link:
http://phenix.int-evry.fr/jct/doc_end_user/current_meeting.php and then give number JCTVC-D503 in Number field or type title of this document.
[21] G.J. Sullivan et al, “High efficiency video coding: the next frontier in video compression [Standards in a Nutshell]”, IEEE Signal Processing Magazine, vol. 30, no. 1, pp. 152158, Jan. 2013.
[22] M.T. Pourazad et al, "HEVC: The New Gold Standard for Video Compression: How Does HEVC Compare with H.264/AVC", IEEE Consumer Electronics Magazine, vol. 1, no.
3, pp.36-46, July 2012.
[23] J. Chen et al, “Planar intra prediction improvement”, JCT-VC document, JCTVC-F483, Torino, Italy, July 2011.
To access it, go to this link:
http://phenix.int-evry.fr/jct/doc_end_user/current_meeting.php and then give number JCTVC-F483 in Number field or type title of this document.
[24] G. J. Sullivan and T, Wiegand, “Rate Distortion Optimization for Video Compreession”, IEEE Signal Processing Magazine, vol. 15, no. 6, pp. 74-90, Nov. 1998.
[25] I. E. Richardson, “The H.264 Advanced Video Compression Standard”, Wiley, 2010.
[26] J. Sole et al, “Transform Coefficient Coding in HEVC”, IEEE Trans. on Circuits and Systems for Video Technology, vol. 22, no. 12, pp. 1765-1777, Dec. 2012.
[27] D. Marpe et al, “Context-Based Adaptive Binary Arithmetic Coding in the H.264/AVC Video Compression Standard” , IEEE Trans. on Circuits and System for Video
Technology, vol. 13, no. 7, pp. 620-636, July 2003.
[28] V. Sze et al, “High Throughput CABAC Entropy Coding in HEVC “, IEEE Trans. on Circuits and System for Video Technology, vol. 22, no. 12, pp. 1778-1791, Dec.
2012.
[29] V. Sze, M. Budagavi and G. J. Sullivan, “High Efficiency Video Coding (HEVC): Algorithms and Architectures”, Springer, 2014.
[30] M.Budagavi and V.Sze, “Design and Implementation of Next Generation Video Coding Systems”, IEEE International Symposium on Circuits and Systems Tutorial,
Melbourne, Australia, June 2014:
http://www.rle.mit.edu/eems/wp-content/uploads/2014/06/H.265-HEVC-Tutorial-2014-ISCAS.pdf
[31] M.Budagavi, “Design and Implementation of Next Generation Video Coding Systems HEVC/H.265 Tutorial”, Seminar presented in EE Department, UTA, 21st Nov.
2014. http://iscas2014.org/
[32] HM15.0 Software Manual:
https://hevc.hhi.fraunhofer.de/svn/svn_HEVCSoftware/branches/HM-15.0-dev/doc/software-manual.pdf
[33] Test sequences:
https://media.xiph.org/video/derf/
[34] K. R. Rao and P. Yip, “Discrete Cosine Transform: Algorithms, Advantages, Applications”, Academic Press, 1990.
[35] Z. Shi, X. Sun and F. Wu, “Spatially scalable video coding for HEVC”, IEEE Trans. on Circuits and System for Video Technology, vol. 22, no. 12, pp.1813-1826, Dec
2012.
[36] D.-K. Kwon, M. Budagavi and M. Zhou, “Multi-loop scalable video codec based on high efficiency video coding (HEVC)”, IEEE International Conference on Acoustics,
Speech and Signal Processing, pp.1749-1753, June 2013.
[37] Y. Ye and P. Andrivon, “The scalable extensions of HEVC for ultra-high definition video delivery”, IEEE Multimedia magazine, vol. 21, no. 3, pp. 58-64, July 2014.
[38] H. Schwarz, “Extension of high efficiency video coding (HEVC) for multiview video and depth data”, IEEE International Conference on Image Processing, pp. 205-208,
Oct. 2012.
[39] J. Stankowski et al, “Extensions of the HEVC technology for efficient multiview video coding", IEEE International Conference on Image Processing, pp. 225-228, Oct.
2012.
[40] M. Budagavi and D.-Y. Kwon, “Intra motion compensation and entropy coding improvements for HEVC screen content coding”, IEEE Picture Coding Symposium, pp.
365-368, Dec. 2013.
[41] M. Naccari et al, “Improving inter prediction in HEVC with residual DPCM for lossless screen content coding”, IEEE Picture Coding Symposium, pp. 361-364, Dec.
2013.
[42] I.E. Richardson, “Coding Video: A Practical guide to HEVC and beyond”, Wiley, May 2015.
[43] x265 HEVC Video Encoder:
http://x265.org/
[44] X. Jing and L.-P. Chau, “An efficient three-step search algorithm for block motion estimation”, IEEE Trans. on Multimedia, vol. 6, no. 3, pp. 435-438, June 2004.
[45] H.A. Choudhury and M. Saikia, “Survey on block matching algorithms for motion estimation”, IEEE International Conference on Communications and Signal
Processing, pp. 36-40, Apr. 2014.
[46] S.M. Arora and N. Rajpal, “Survey of fast block motion estimation algorithms”, IEEE International Conference on Advances in Computing, Communications and
Informatics, pp. 2022-2026, Sept. 2014.
[47] M.J. Jakubowski and G. Pastuszak, “Block-based motion estimation algorithms – a survey”, Opto-Electronics Review, vol. 21, pp. 86-102, Mrch 2013.
[48] Fraunhofer HHI – The Institute:
http://www.hhi.fraunhofer.de/start-page.html
Thank you very much.
Download