Video Compression

VideoNerd

HEVC/H.265 supports a lightweight form of slicing – entropy slice or dependent slice segments. Unlike to regular slices, entropy slices are not self-contained:

  • Intra and MV prediction is not broken across slice boundaries.
  • CABAC context models are not reset to defaults at the start of each entropy slice (context models of the previous slice are taken). However, CABAC engine per se is flushed and reset in order to make the slice to end at byte boundary.

Notes:

  • entropy slice carries a shortened slice header, missing parameters are taken from the preceding regular slice header (a regular slice must present, the first slice of a frame must be regular).
  • entropy slice is specified by the flag dependent_slice_segment_flag in slice header.

Thus, due to spatial predictions and CABAC dependencies between successive entropy slices, the entropy slicing is not tailored for enhancement of error resilience. The purpose of the entropy slicing is to enable a generalized wavefront parallelization and/or ultra-low latency.

Use case of the entropy slicing: How realize wavefront processing with entropy slices?

Each frame is divided into entropy slices (slice = CTU row). Due to dependendies in CABAC context models between slices, CABAC should be decoupled from the main processing

1. The first thread starts processing (syntax elements after transform and quantization are sent directly to CABAC). 

2. Upon the first thread completed several CTUs, the second thread starts the second CTU row (data for prediction is available). Syntax elements generated by the second thread are buffered since CABAC can’t start processing until all syntax elements of the first slice coded (context models are not reset).

3. Upon the second thread completed several CTUs, the third thread starts the third CTU row. Syntax elements generated by the third thread are buffered (CABAC will take them after encoding the second slice)

Ultra-low latency is achieved if CABAC immediately sends just completed slice.

13 Responses

  1. Great blog! Is your theme custom made or did you download it from somewhere? A design like yours with a few simple tweeks would really make my blog stand out. Please let me know where you got your design. Kudos

  2. Enjoyed studying this, very good stuff, thankyou. “If it was an overnight success, it was one long, hard, sleepless night.” by Dicky Barrett.

  3. I’ve been surfing online greater than 3 hours nowadays, yet I by no means found any interesting article like yours. It is lovely price sufficient for me. Personally, if all website owners and bloggers made just right content as you did, the internet can be much more useful than ever before.

  4. Hmm it appears like your site ate my first comment (it was super long) so I guess I’ll just sum it up what I submitted and say, I’m thoroughly enjoying your blog. I too am an aspiring blog blogger but I’m still new to everything. Do you have any points for newbie blog writers? I’d definitely appreciate it.

  5. I’m extremely inspired with your writing abilities as well as with the layout in your blog. Is that this a paid subject or did you modify it your self? Anyway keep up the nice quality writing, it’s rare to look a great blog like this one today..

  6. Good day! I simply want to give a huge thumbs up for the great information you will have right here on this post. I can be coming again to your blog for extra soon.

Leave a Reply

Your email address will not be published. Required fields are marked *