H264的coded_block_pattern编码块模式

2023-11-07 10:10

本文主要是介绍H264的coded_block_pattern编码块模式,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

1 词汇约定

  CodedBlockPatternLuma:一个宏块的亮度分量的coded_block_pattern

  CodedBlockPatternChroma:一个宏块的色度分量的coded_block_pattern,Cb、Cr的CodedBlockPatternChroma相同。

  宏块:一个 16X16 的亮度象素块和两个对应的色差象素块。

  块:一个 MxN的象素数组(M列,N 行),或者一个 MxN 变换系数数组。

  子宏块:一个宏块的1/4采样大小,即:对于有三个采样数组(即一个亮度分量两个色度分量比如YCbCr)的图像来说,

  一个8x8的亮度块与两个的相应色度块,他们分别的一个角位于宏块的一个角,或者对于单色图像或每个分量单独编码的有

  三个采样数组的图像(比如XYZ色彩格式)其一个8x8亮度块的一个角位于宏块的一个宏块的一个角。

  

2 coded_block_pattern

  规定了一个宏块的4个8x8亮度子宏块(对于I_16x16是针对16个4x4块)与相关联的色度块中的哪些会包含非0变换系数。

3 chroma_format_idc

  

    a)在单色采样中,仅存在一个采样阵列,其通常被认为是亮度阵列,没有色度阵列。

    b)在4:2:0采样时,两个色度阵列中每一个的高度与宽度都是亮度阵列的一半,举例对于CIF:352x288,

     其亮色阵列为352*288而两个色度阵列中的第一个都为176*144。

    c) 在4:2:2采样时,两个色度阵列中每一个的高度等于亮度阵列的高度,其宽度等于亮度阵列的一半,

     举例对于CIF:352x288,其亮色阵列为352*288而两个色度阵列中的第一个都为176*288。

    d) 在4:4:4采样时,若separate_colour_plance_flag等于0表示色度阵列与亮度阵列的宽高是一样的,

      否则也就是separate_colour_plance_flag等于1表示亮度陈列与两个色度阵列就像单色图像哪样分别单独编码,

     即Y、Cb、Cr阵列都当成单色图像的采样阵列,然后按单色图像哪样编码。

    e) chroma_format_idc如果在码流中不出现,其默认值为1即(4:2:0),separate_colour_plance_flag如果在码流中不出现默认值为0

5) ChromaArrayType

if (separate_colour_plance_flag == 0)ChromaArrayType = chroma_format_idc
elseChromaArrayType = 1;
<

这篇关于H264的coded_block_pattern编码块模式的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/362927

相关文章

Linux系统配置NAT网络模式的详细步骤(附图文)

《Linux系统配置NAT网络模式的详细步骤(附图文)》本文详细指导如何在VMware环境下配置NAT网络模式,包括设置主机和虚拟机的IP地址、网关,以及针对Linux和Windows系统的具体步骤,... 目录一、配置NAT网络模式二、设置虚拟机交换机网关2.1 打开虚拟机2.2 管理员授权2.3 设置子

Python使用自带的base64库进行base64编码和解码

《Python使用自带的base64库进行base64编码和解码》在Python中,处理数据的编码和解码是数据传输和存储中非常普遍的需求,其中,Base64是一种常用的编码方案,本文我将详细介绍如何使... 目录引言使用python的base64库进行编码和解码编码函数解码函数Base64编码的应用场景注意

SpringBoot如何通过Map实现策略模式

《SpringBoot如何通过Map实现策略模式》策略模式是一种行为设计模式,它允许在运行时选择算法的行为,在Spring框架中,我们可以利用@Resource注解和Map集合来优雅地实现策略模式,这... 目录前言底层机制解析Spring的集合类型自动装配@Resource注解的行为实现原理使用直接使用M

VSCode中C/C++编码乱码问题的两种解决方法

《VSCode中C/C++编码乱码问题的两种解决方法》在中国地区,Windows系统中的cmd和PowerShell默认编码是GBK,但VSCode默认使用UTF-8编码,这种编码不一致会导致在VSC... 目录问题方法一:通过 Code Runner 插件调整编码配置步骤方法二:在 PowerShell

C#原型模式之如何通过克隆对象来优化创建过程

《C#原型模式之如何通过克隆对象来优化创建过程》原型模式是一种创建型设计模式,通过克隆现有对象来创建新对象,避免重复的创建成本和复杂的初始化过程,它适用于对象创建过程复杂、需要大量相似对象或避免重复初... 目录什么是原型模式?原型模式的工作原理C#中如何实现原型模式?1. 定义原型接口2. 实现原型接口3

大数据spark3.5安装部署之local模式详解

《大数据spark3.5安装部署之local模式详解》本文介绍了如何在本地模式下安装和配置Spark,并展示了如何使用SparkShell进行基本的数据处理操作,同时,还介绍了如何通过Spark-su... 目录下载上传解压配置jdk解压配置环境变量启动查看交互操作命令行提交应用spark,一个数据处理框架

Python如何实现读取csv文件时忽略文件的编码格式

《Python如何实现读取csv文件时忽略文件的编码格式》我们再日常读取csv文件的时候经常会发现csv文件的格式有多种,所以这篇文章为大家介绍了Python如何实现读取csv文件时忽略文件的编码格式... 目录1、背景介绍2、库的安装3、核心代码4、完整代码1、背景介绍我们再日常读取csv文件的时候经常

Java实现状态模式的示例代码

《Java实现状态模式的示例代码》状态模式是一种行为型设计模式,允许对象根据其内部状态改变行为,本文主要介绍了Java实现状态模式的示例代码,文中通过示例代码介绍的非常详细,需要的朋友们下面随着小编来... 目录一、简介1、定义2、状态模式的结构二、Java实现案例1、电灯开关状态案例2、番茄工作法状态案例

解读静态资源访问static-locations和static-path-pattern

《解读静态资源访问static-locations和static-path-pattern》本文主要介绍了SpringBoot中静态资源的配置和访问方式,包括静态资源的默认前缀、默认地址、目录结构、访... 目录静态资源访问static-locations和static-path-pattern静态资源配置

在JS中的设计模式的单例模式、策略模式、代理模式、原型模式浅讲

1. 单例模式(Singleton Pattern) 确保一个类只有一个实例,并提供一个全局访问点。 示例代码: class Singleton {constructor() {if (Singleton.instance) {return Singleton.instance;}Singleton.instance = this;this.data = [];}addData(value)