kennybluezy

kennybluezy

0个粉丝

16

问答

0

专栏

0

资料

kennybluezy  发布于  2015-06-29 10:17:03
采纳率 0%
16个问答
8684

3531H264编码level及图像质量

 
     各位好,我现在正在利用Hi3531进行单路H264编码,SDK版本为Hi3531_V100R001C02SPC0A0。基于sample中的SAMPLE_VENC_4HD_H264()进行修改,VBR进行码流控制,主要参数为:
1.stGrpAttr.bDrEn = HI_FALSE;
   stGrpAttr.bDrEn = HI_FALSE;
   stGrpAttr.bDbEn = HI_FALSE;
   stGrpAttr.bIeEn = HI_TRUE;
   stGrpAttr.bNrEn = HI_FALSE;
   stGrpAttr.bHistEn = HI_TRUE;
2.stH264Attr.u32Profile  = 2;  /*0: baseline; 1:MP; 2:HP */
3.stH264Vbr.u32MinQp = 10;
4.stH264Vbr.u32MaxQp = 30;
5.stH264Vbr.u32MaxBitRate = 1024*6*4;
       其余参数与原sample一致。

       利用VLC播放编码后的h264文件,发现图像质量相对视频源较差,主要表现为色彩普遍偏白、图像锐度不够。经H264Visa分析,其Stream Type为High Profile @ Level 42。与此同时,手头有一份其他设备对同样视频源进行编码后的视频文件,其效果远好于3531编码后的图像。H264Visa分析出其Stream Type为High Profile @ Level 5。初步考虑是否可通过改变编码level来改善图像质量。Hi3531 datasheet中也提到能实现H.264 High profile Level5.0。但查看《Hi3531 H.264编解码处理器用户指南》《HiMPP 媒体处理软件开发参考》等资料后未发现能设置level的部分。
       在此诚恳请求各位能给予相关指点,并先行谢过!
我来回答
回答4个
时间排序
认可量排序

falloutmx

1个粉丝

15

问答

0

专栏

0

资料

falloutmx 2015-07-06 09:54:14
认可0
level对图像质量没帮助,请先用vi_dump确定图像源的好坏。

kennybluezy

0个粉丝

16

问答

0

专栏

0

资料

kennybluezy 2015-07-06 17:19:41
认可0
       非常感谢您的回复。我的视频源有两个DVI接口,同时输出1080p@60fps的视频信号。一个接口通过DVI连接线连接显示器显示,另一个接口通过DVI转HDMI线连接开发板,处理后再通过HDMI转DVI线连接另一台显示器显示,两台显示器型号一致,调整参数后同一图像显示效果基本一致。
       现在我尝试用sample_vio直接显示,且不经过VPSS,即VI绑定到VO,两台显示器显示图像基本相同。然后用VENC进行编码,同样不经过VPSS,VI绑定VENC。采用上述参数,效果仍不是太好。后改用BP编码,VBR码率控制,MaxQp设为20,MaxBitRate = 1024*6*4。通过VLC播放,效果有所改善,与视频源效果基本相同。
       随后我采用VDEC进行硬件解码,输出到HDMI口,在外接显示器上进行观看。由于是高清信号,VDEC首先绑定VPSS,VPSS再绑定VO。VPSS Channel 选择VPSS_PRE0_CHN,本想设置VPSS的bDrEn、bDbEn为TRUE,bIeEn、bNrEn、bHistEn为FALSE,运行后HI_MPI_VPSS_CreateGrp()失败,查询后得知错误码为参数非法。将前述参数均设为FALSE,正常运行。但效果较视频源图像差,且比VLC播放效果差,表现为细节模糊,部分暗区噪声点较大。

       以上是我最近的结果。还请各位前辈能告知H264编解码设计中的注意事项,特别是各参数的设置。海思MPP文档中部分内容感觉说得不是很明白,部分参数是否没有开放。

       另,我不知道level是否对编码效果有所影响,只是手头有另一录像设备对同一视频源的录像结果,h264 HP@level5 编码,MP4封装,其效果非常清晰。

       再次感谢关注和回复!
     

default

0个粉丝

40

问答

0

专栏

0

资料

default 2016-02-03 16:15:51
认可0
这种情况我也试过,使用CBR码率控制,动用了通道高级参数HI_MPI_VENC_SetRcPara(),可以改善图像质量,但码率不受控制了,一帧码流变得异常大,而且帧率跳动厉害,最大时间是120ms,最小时间是8ms,但理论上30帧每秒应该是33.3ms,导致解码器都出现丢帧。

digibird

1个粉丝

1

问答

0

专栏

0

资料

digibird 2016-02-03 17:34:11
认可0
码率设的多少?
图像好坏,跟码率关系比较大。
或将文件直接拖到这里
悬赏:
E币
网盘
* 网盘链接:
* 提取码:
悬赏:
E币

Markdown 语法

  • 加粗**内容**
  • 斜体*内容*
  • 删除线~~内容~~
  • 引用> 引用内容
  • 代码`代码`
  • 代码块```编程语言↵代码```
  • 链接[链接标题](url)
  • 无序列表- 内容
  • 有序列表1. 内容
  • 缩进内容
  • 图片![alt](url)
+ 添加网盘链接/附件

Markdown 语法

  • 加粗**内容**
  • 斜体*内容*
  • 删除线~~内容~~
  • 引用> 引用内容
  • 代码`代码`
  • 代码块```编程语言↵代码```
  • 链接[链接标题](url)
  • 无序列表- 内容
  • 有序列表1. 内容
  • 缩进内容
  • 图片![alt](url)
举报反馈

举报类型

  • 内容涉黄/赌/毒
  • 内容侵权/抄袭
  • 政治相关
  • 涉嫌广告
  • 侮辱谩骂
  • 其他

详细说明

易百纳技术社区