zoukankan      html  css  js  c++  java
  • 无损1080i到1080p是如何制作的

      目前高清电影的格式有多种如720p、1080i、1080p等等。其中的1080p和1080i有着密不可分的关系,因为1080p可以由1080i通过无损变换而制作。
    无损变换的定义:100%保留原有画面细节,包括内容,亮度,色调,对比度,甚至原有的MSK. 但是,不再有锯齿或水波纹。
    无损变换的基本原理
    我们看到的大多数1080i片源,最初都是用电影方式摄制的逐行信号,数字化以后成为1080p信号,为了在符合1080i的传输设备和显示设备上使用,电视台对它进行了简单的处理(不是重新压缩编码),使它符合1080i的要求。只要我们把这个简单的处理变回去,就得到了原始的1080p信号。简单说,我们下载到的1080i信号,实际上是化了妆的1080p信号,只要卸妆,就得到原始1080p。这个变换过程只修改视频流里面的某些隔行/逐行相关的标志位,完全不涉及真正的视频数据,因此你看到的视频完全不会有任何变化。
    无损变换的过程如下
    1. 鉴定片源是否符合无损变换的要求。最简单的办法是用dgindex查film信号百分比,如果接近100%就可以。但是有时候信号标志位有可能错误,那么需要复杂的办法去逐帧查看视频流,确认真实的信号符合1080p的要求。我目前用的办法是parse D2V, VirtualDub+AVISynth。我现在正在写一些小程序用于简化这个工作。鉴定过程是最花费时间的。如果鉴定不合格,此片只能用重编码方式转换1080p,那就是有损方式了。鉴定合格以后就简单了。
    2.把ts流用MVW(或其他工具)分离成基础视频流m2v/mpv和基础音频流m2a/mpa
    3.用pulldown.exe把m2v/mpv变换成为1080p信号。有时候由于ts分割的原因,m2v/mpv头部会有一些垃圾数据,需要用十六进制编辑工具如WINHEX/ULTRAEDIT把头上的垃圾去掉,确保m2v/mpv是一个合格的基础视频流。否则pulldown.exe不认。
    4. 变换完成后,再用MVW(或其他工具)把1080p版本的m2v/mpv与原来的m2a/mpa合成ts流。需要仔细检查一下是否存在音画不同步问题。
  • 相关阅读:
    ECC 构筑安全可靠的区块链
    代理模式和装饰者模式
    Context都没弄明白,还怎么做Android开发?
    如何在Android Studio中查看一个类的继承关系呢?
    Android控件的继承关系
    安卓控件体系结构
    Android View框架总结(三)View工作原理
    Laravel中用GuzzleHttp
    学习PHP好,还是Python好呢?
    ElasticSearch入门 第一篇:Windows下安装ElasticSearch
  • 原文地址:https://www.cnblogs.com/MaxWoods/p/1640048.html
Copyright © 2011-2022 走看看