Know the HEVC Standard

HEVC(High Efficiency Video Coding)或H.265是一种新的视频压缩标准,承诺相较于H.264,在相同的视觉质量下提高50%的效率。此标准包括四树结构编码单元、预测树、改进的空间内预测等功能。
What is HEVC?
HEVC (High Efficiency Video Coding) or also called H.265 is the next generation Video compression standard is currently being standardized and is said to be ratified in Jan 2013. HEVC promises up to 50% gains over H.264 with the same or better visual quality. However, gains come at the higher encoding and decoding complexity of the algorithms in the standard. With the encoding processes significantly higher in complexity than the decoding process.
Some salient features of the standard include:
Quad-tree structured coding of coding units of size up to 64x64
Prediction tree (motion compensation block sizes from 64x64 to 4x4)
Transform tree (transform block sizes from 64x64 to 4x4)
Improved spatial intra prediction
More angles of prediction and support for blocks from 32x32 to 4x4
Improved interpolation for motion compensation
MV competition and merge options to reduce MV coding overheads
Mode dependent scans
Improved in-loop deblocking filter
Ability to apply sample-adaptive offsets to reduce coding noise 
Improved Entropy Coding techniques 
Parallel Entropy Coding option
Coding trees and blocks in HEVC
Coding Tree Unit (CTU)
In HEVC, each frame is divided into Coding Tree Units (CTUs). Each CTU can be of size 64x64 or 32x32 or 16x16. The size of the coding tree unit is a parameter that is encoded in the sequence set. A CTU is logical unit i.e. a logical partition of a frame of video.
A logical unit consists of pixel components Y, Cb, Cr. For the sake of simplicity we'll consider each pixel to be in 4:2:0 color sample format so a 64x64 CTU will have one 64x64 Y samples , 32x32 Cb samples and 32x32 Cr samples. Each CTU is composed of 3 Coding Tree Blocks (CTBs). In other words, each CTU will have one Y CTB, one Cb CTB and one Cr CTB. A CTB is a real unit of data in memory as opposed to a CTU which is a logical unit.
Each CTB is further divided into Coding Blocks (CB). The division can be into blocks of size 64x64 or 32x32 or 16x16 or 8x8 in a quad tree format . Each CU will have one Y CB, one Cb CB and one Cr CB. Each CB cab further be divided into Prediction Blocks (PBs) and Transform Blocks (TBs).
Comparison of compression ratios across compression standards
### 高效视频编码(HEVC)标准概述 #### 一、背景与发展历程 高效视频编码(High Efficiency Video Coding, HEVC),也被称为H.265,是由国际电信联盟电信标准化部门(ITU-T)和ISO/IEC运动图像专家组(MPEG)共同开发的新一代视频压缩技术。相较于前代标准如H.264,在保持甚至提高画质的同时能够显著降低数据量约50%左右[^2]。 #### 二、架构组成 同H.264一样,HEVC同样采用了基于块的混合编码框架,内部结构主要分为两大部分: - **视频编码层(VCL)**:负责实际的画面预测与变换量化处理工作; - **网络抽象层(NAL)**:定义了如何将VCL产生的信息打包成适合不同网络环境传输的形式,并提供了必要的控制指令来支持随机访问等功能[^1]。 #### 三、关键技术特性 为了达到更高的压缩效率并适应更广泛的应用场景需求,HEVC引入了一系列创新性的算法和技术手段: - **更大的宏块尺寸**:最大可达64×64像素,允许更加灵活地划分画面区域进行编码优化; - **多方向帧内预测模式**:增加了更多角度的选择范围,使得相邻帧间相似度匹配更为精准; - **自适应环路滤波(ALF)**:通过对重建后的图片边缘部分做额外平滑化操作减少振铃效应; - **样条插值法(SAI)**:改进了亚像素精度下的运动估计准确性; - **分级B切片结构**:增强了时空域联合预测能力,进一步提升了压缩效果; 以上各项措施综合起来不仅提高了压缩率还改善了视觉质量体验。 ```python # Python伪代码展示简单版HEVC编码流程示意 def hevc_encode(frame_sequence): vcl_output = [] for frame in frame_sequence: # 进行帧级预处理... # 执行VCL层面的操作,比如分割CTU单元、执行IPM等过程... coded_ctus = process_vcl_operations(frame) nal_units = pack_into_nal(coded_ctus) vcl_output.extend(nal_units) return vcl_output def unpack_from_nal(bitstream): """模拟NAL解析逻辑""" pass def decode_hevc(compressed_data): frames_recovered = [] while compressed_data: next_frame_bits = extract_next_frame_bits(compressed_data) raw_pixels = reconstruct_raw_image(unpack_from_nal(next_frame_bits)) frames_recovered.append(raw_pixels) return frames_recovered ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值