NMM视频技术(旧)

 找回密码
 成为会员
搜索
查看: 4117|回复: 4

[其他] 想问下是否能编码成65万色的视频

[复制链接]
发表于 2009-4-17 23:31 | 显示全部楼层 |阅读模式
RT
虽然完全不知事实上可不可行,但抱着一丝希望还是问下
目的是在只有65万色(好像吧。。。)输出的mp4播放器上用

另外是否能通过自定义矩阵来增加视频暗部的码率?

总之我的目标是消除mp4播放器播放时的严重色块现象(不是“没有蛀牙”==)
色块主要出现在暗部
在imp3论坛上看到高人说这是由于65万色的输出间接导致的
所以一般的无论是AVS的前期除块还是什么xvid自带的除块滤镜都几乎没用
任何管用的方法都好,希望能帮下忙
发表于 2009-6-16 15:53 | 显示全部楼层
这个要解决不是那么容易的,一般来说,数字视频保存时都是按YUV三个通道各8bits(0-255动态范围)存储的,相应的要显示YUV能表征的全部色彩,也需要每个LCD像素点能显示8+8+8bits共24bits的RGB三个通道的色彩,一共是2^24=16.2m,如果出现阉割版LCD屏幕,比如只能显示65万色的mp4用LCD,那么每个像素点的RGB三个通道不能达到那么大的动态范围(比如每个点只有6bits,那动态范围就降低到了0-64),对于这样的LCD,如果硬件上不作任何处理就直接播放普通常见的视频,那就会出现整体屏幕偏白的状况,因为所有输出给屏幕的RGB高于64的值都被truncate到64了,而RGB三个通道满值=白。当然一般来说硬件厂商不会这样做,他们会在dsp芯片上输出显示部分写一个很简单的量化算法,把输入的视频量化到可以在阉割LCD屏上显示的动态范围。但这样出现的问题,就是你说的块效应了,这是阉割版mp4很难避免的一种现象,也不是通过deblock这种本质上对视频做低通滤波的算法可以解决的问题,因为无论如何,你输出的视频每个通道就是8位的。

encoder里面的量化矩阵处理的是变换域编码之后的残差数据,所以这个也和你这个问题的根源--动态范围受限是不相关的,不是视频本身码率受限导致量化后动态范围不够,而是硬件输出时必须量化到一个受限的、阉割过的量化范围。

解决这个问题的方法,应该是从编码视频的动态范围上考虑,如果能找到一种方法,使得输出的编码视频已经是yuv各6位的,那就应该能解决你的问题了。晚上回来看看有没有相关讨论。
发表于 2009-7-14 14:39 | 显示全部楼层
是6万5千色吧...
 楼主| 发表于 2009-7-26 22:57 | 显示全部楼层
十分感谢二楼的回答
很久没来论坛看了,突然想起有来看了看,就发现版主很热心的回复了
这段文字让我见到另一种思路,比较本质性的解决方法的方向
过段时间我进大学学的是电子信息专业,到时多学点这内容。。。
另外这个问题或许以后会再突发兴致研究一下,目前对我不是很重要
再次感谢版主回答
发表于 2009-7-29 14:34 | 显示全部楼层
欢迎步入电子信息的大门...
不过既然你要学这行了,下次多关心下能解264基于arm9的芯片吧,去研究下它输出到阉割LCD时怎么round-off的。
您需要登录后才可以回帖 登录 | 成为会员

本版积分规则

小黑屋|手机版|NMM视频技术

GMT+8, 2025-5-5 23:10 , Processed in 0.039594 second(s), 14 queries .

Powered by Discuz! X3.4

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表