关于场编码的作用

关于场编码的作用

为什么我们有的时候场编码呢? 这种模式能给编码效率带来什么好处呢?在我的印象中, 场的概念(隔行扫描) 是图像显示的概念, 为什么把他引入到编码里面来呢?
收藏 分享
 

 
以前在群里讨论的时候,有人是这么说的:

对于隔行帧图像来说,如果图像中物体运动(垂直方向)较小的话,相邻两行(这两行分别在奇数场和偶数场中,在时间上相差一个场周期,即对于50Hz场频为20ms)之间的像素相关性比较大,这时在同一场中的相邻两行的像素,虽然在时间上只相差一个行周期(0.064ms),但之间的相关性却相对较小,所以这时比较适合采用的逐行分割方式。如果图像中物体运动(垂直方向)较大的话,同一帧中相邻两行(这两行分别在奇数场和偶数场中,相差20ms)之间的像素,由于时间差较大,因而相关性也比较小,而这时在同一场中的相邻两行的像素,虽然在空间上相差两行,但在时间上只差0.064ms,所以之间的相关性却比较大,所以这时比较适合采用的隔行分割方式。
欢迎加入我们的QQ群: 12923082。新加入者请先仔细阅读论坛中的 《群成员须知》

TOP

 
给楼上补个图解:
0 0 255 255 255
0 0    0 255 255
0 0 255 255 255
0 0    0 255 255

这个块是隔行情况下,一个运动的黑白边界的采样情况。
假设先采的是奇数场,都为0 0 255 255 255
当采完奇数场,轮到偶数场的时候,由于有一定时间差,而这个边界水平移动了1个像素
那么偶数场,就是0 0 0 255 255

这种情况下是按照帧来编
0 0 255 255 255
0 0    0 255 255
0 0 255 255 255
0 0    0 255 255
还是按照场来编
0 0 255 255 255  + 0 0    0 255 255
0 0 255 255 255     0 0    0 255 255
这两种哪个更有利于编码,应该很明显了吧

TOP

 
回复 3# QuestionMark

楼上的意思,是不是可以归纳为:运动剧烈,采用场编码;运动很小,采用帧编码?
 

TOP

 
欢迎加入我们的QQ群: 12923082。新加入者请先仔细阅读论坛中的 《群成员须知》

TOP

 

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
ABI(Application Binary Interface)编码是用于在波区块链上进行智能合约交互的一种编码格式。它定义了智能合约的函数和参数的编码方式,以及返回值的解码方式。下面是一个使用Python进行波ABI编码解码的示例: 首先,你需要安装web3.py库,它是一个用于与以太坊和波区块链进行交互的Python库。你可以使用以下命令安装web3.py: ```shell pip install web3 ``` 接下来,你可以使用以下代码示例来进行波ABI编码解码: ```python from web3 import Web3 # 创建一个web3实例 w3 = Web3(Web3.HTTPProvider('https://api.trongrid.io')) # 定义合约ABI abi = [ { "constant": True, "inputs": [], "name": "getValue", "outputs": [ { "name": "", "type": "uint256" } ], "payable": False, "stateMutability": "view", "type": "function" }, { "constant": False, "inputs": [ { "name": "_value", "type": "uint256" } ], "name": "setValue", "outputs": [], "payable": False, "stateMutability": "nonpayable", "type": "function" } ] # 创建合约实例 contract_address = '0x1234567890abcdef' contract = w3.eth.contract(address=contract_address, abi=abi) # 编码函数调用 encoded_function_call = contract.encodeABI(fn_name='setValue', args=[42]) # 解码函数调用 decoded_function_call = contract.decode_function_input(encoded_function_call) # 打印结果 print("Encoded function call:", encoded_function_call) print("Decoded function call:", decoded_function_call) ``` 在上面的示例中,我们首先创建了一个web3实例,并指定了波的API提供者。然后,我们定义了一个合约的ABI(Application Binary Interface),它描述了合约的函数和参数的结构。接下来,我们创建了一个合约实例,指定了合约的地址和ABI。然后,我们使用`encodeABI`方法对函数调用进行编码,将函数名和参数列表作为参数传入。最后,我们使用`decode_function_input`方法对编码后的函数调用进行解码,得到函数名和参数列表。 请注意,上述示例中的合约地址和ABI是示例数据,你需要根据你自己的合约进行相应的修改。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值