标准第27页 mbAddrA= CurrMbAddr – 1

本文详细解析了视频编码中宏块地址计算与可用性判断的方法,通过实例验证了宏块A、B、C、D的位置关系及判断条件,并探讨了光栅扫描顺序下宏块的编号与边界条件。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

 6.4.5 节规定的过程的输入为mbAddrA= CurrMbAddr – 1,输出为mbAddrA 宏块是否可用。另外,当CurrMbAddr % PicWidthInMbs等于0时mbAddrA将被标识为不可用。
6.4.5节规定的过程的输入为mbAddrB = CurrMbAddr – PicWidthInMbs,输出为mbAddrB是否可用。
6.4.5 节规定的过程的输入为mbAddrC = CurrMbAddr – PicWidthInMbs + 1,输出为mbAddrC 是否可用。另外,当( CurrMbAddr + 1 ) % PicWidthInMbs等于0时mbAddrC将被标识为不可用。
6.4.5 节规定的过程的输入为mbAddrD = CurrMbAddr – PicWidthInMbs – 1,输出为mbAddrD 是否可用。另外,当CurrMbAddr % PicWidthInMbs等于0时mbAddrD将被标识为不可用。

   

标准第27页 mbAddrA= CurrMbAddr – 1 - 加菲 -  .
 
 

 如截图所示,有三个计算式:

 

mbAddrA= CurrMbAddr – 1

mbAddrB = CurrMbAddr – PicWidthInMbs

mbAddrC = CurrMbAddr – PicWidthInMbs + 1

mbAddrD = CurrMbAddr – PicWidthInMbs – 1

 

如果看到这个计算式,不去更多的想,也没什么,但是仔细一想,为什么会有这样的关系,标准上的这个只给了个3*3的,我画了个一般情况下的图,发现比标准上的图看着会更明显。

标准第27页 mbAddrA= CurrMbAddr – 1 - 加菲 -  .

 

把上图中的宏块进行编号,也就是代入具体的值,可以验算这几个计算关系式。

编号顺序为光栅扫描顺序

标准第27页 mbAddrA= CurrMbAddr – 1 - 加菲 -  .
 

 

 计算式 用实际的值来验证
 

mbAddrA= CurrMbAddr – 1

mbAddrB = CurrMbAddr – PicWidthInMbs

mbAddrC = CurrMbAddr – PicWidthInMbs + 1

mbAddrD = CurrMbAddr – PicWidthInMbs – 1

 

mbAddrA= 15 – 1 = 14

mbAddrB = 15 – 6 = 9

mbAddrC = 15 – 6 + 1 = 10

mbAddrD = 15 – 6 – 1 = 8

   

另一方面,分析图像也可以验证

A在当前宏块的左侧,自然是比当前宏块小1

B在C左侧,D在B左侧,自然依次比右侧的小1

标准第27页 mbAddrA= CurrMbAddr – 1 - 加菲 -  .

 粗线框住的,正好是图像的宽度,用宏块为单位来计数,正好是以宏块为单位的图像宽,即PicWidthInMbs

标准第27页 mbAddrA= CurrMbAddr – 1 - 加菲 -  .
这个图更明显表明了这一点。
 

 

 

( CurrMbAddr + 1 ) % PicWidthInMbs等于0时mbAddrC将被标识为不可用。

( CurrMbAddr + 1 ) % PicWidthInMbs等于0,意即( CurrMbAddr + 1 )是图像宽度PicWidthInMbs的整数倍,代表当前宏块在图像的最右边,如下图所示位置:

标准第27页 mbAddrA= CurrMbAddr – 1 - 加菲 -  .

 编号貌似该从0开始,呵呵。

n % m指的是n被m除后的余数

比如, 9 模 4 等于1,因为9除以4的余数是1

 

A不能用的,直观的认为应该是当前块在最左边。

标准第27页 mbAddrA= CurrMbAddr – 1 - 加菲 -  .
最左边时满足:CurrMbAddr % PicWidthInMbs = 0
如果从1开始编号,这个就不符合,如果从0开始沿光栅扫描顺序编码,这个就正确。
0    1    2    3     4       5
6    7    8    9     10     11
12 13  14  15    16     17

 例如,当前块为12 ,12%6=0

当前块为6,6%6 = 0

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值