MPEG-2TS码流编辑的原理及其应用

[作者:辽宁电视台 赵季伟]
在当今数字媒体不断发展、新媒体业务不断涌现 的前提下,实践证明襁褓中的新媒体只有两种经营方略可供选择:或是购买并集成整套节目,或是低成本深加工新节目,再不可能去按照传统生产模式去自采自编。 低成本的节目生产制作与发布,不仅成为数字媒体经营的主要手段,也成为传统媒体“改革工作流程”的重要举措,进而促成了对新型工作母机和简捷快速流程的迫 切需求。

在辽宁新媒体多业务综合服务平台上,先于国际和国内应用了MPEG-2传输流快速剪辑编辑系统(以下简称码流快编)。这项由辽 宁电视台与深圳奥维迅公司在2003年10月联合开发的新技术,为数字媒体低成本节目的制作、推广和运营提供了高效生产工作母机。尽管担负此项目源代码开 发的奥维迅公司出现了经营问题,在技术推广的中间环节发生梗塞,但并不能说明此项技术走到了尽头。回顾3年的应用实践及研发成果,需要的不是扬弃,而是演 进的升级,否则就是对可调控资源的莫大浪费。特别是针对第二代信源编解码国标AVS-P2的更新换代,很可能成为多业务内容整合的新一代产品的突破口。

一 工作原理

1. 功能目标

码流快编的应用目标是,通过对开放视频的采集,将DVB-S或C的传输流(Transport Stream,TS)节目作为信源,直接进行剪辑处理,再经过人工创意后,整合为新主题内容的新节目,以便直接进入频道集成或编辑频道节目播出,快速实现 数据层的内容整合,不仅简捷了采集制作的工作流程,而且为丰富媒体内容资产开辟了一条捷径。因为码流快编的工作流程无需先以解码后的视频记录于磁带,再以 磁带上载编辑机,经编辑后再下载成为磁带,再编码复用成为新内容的新节目。即便数字化完成以后,视频数据流仍不能用于经复用的数字传输,还需编码、转码、 打包等传输格式化以后,才能在数字信道上传输。而采用码流快编以后,不仅避免了解码后再采样编码所形成的视频损耗,还避免了在1∶1时间的上下载中所造成 的效率损耗。更重要的是在视频内容整合中,一次性完成音/视频同步剪切、字幕处理和音/视频数据打包复用等连续作业。所以,它能够提高生产效率60%以 上。必要时还可进行节目包装的特技编辑,直接创建数据级和文件级的互联互通内容交换平台,在媒体资产管理下,顺利实现网络化与智能化的节目配送与发布。

由于码流快编是针对以TS为信源的再编辑系统,所以实行“高来高走,低来低走”,或是“高来低走”的应用策略,即高码率对应高 码率(包括兼容高清),低码率对应低码率,但码率连续可调,以适应高码率对应低码率的应用。理论和应用都说明,对比源节目和成品节目,经剪切和编辑处理的 图像保持了同等的视频质量,成为不劣化图像的创新工作流程和新型工作母机。

2. 设计特征

码流快编的低成本与高效率来自它的主要特征。常规的非线性编辑机是在编码一侧做文章,通过采集编码卡实现视频图像多层多轨的非线 性编辑;而码流快编则是在解码一侧下功夫,通过对TS拆包还原为基本码流(Elementary Stream,ES),而后经编辑再封包成为TS,快速实现视频内容整合的业务应用。因而,码流快编除了运用非线性图像处理技术外,最大的特点是运用了 MPEG-2和DVB的系统原理,在此基础上进行图像处理的应用开发。

通过图1的系统概念,可以看出码流快编运用了一个逆向思维的方法,利用DVB系统传输的发/收互逆关系,将收端的单节目传输流 (SPTS)作为信源,通过ES实现以视频非线性处理的目标功能。这时的解决方案有两个:一是在TS基础上直接进行图像处理的基础开发,实现与常规非编一 样的操作界面和编辑习惯,这样虽好,但是没有参照模型以及可利用的技术资源,必须从零开始的重写源代码;二是将TS转码为ES,以ES帧结构和句法格式还 原成为符合ITU-R.601建议的原始视频帧,就可以很方便地利用或附加现有的常规非编技术,以无卡站形式实现编辑。码流快编同时采用了两种方案,一方 面独立开发新产品系列,以适应于快速发展的数字电视业务需求,另一方面提高系统的兼容性,向后兼容传统非编,有利于在媒体资产管理下实现互联互通和投资保 护。图2说明了方案二的ES还原并显示原始视频的GOP帧结构。

通过图2可以认为,既然能够形成IBBP的句法帧,再转换成为全I帧格式并不难。这样一来,就可以利用原有的非线性编辑技术, 连续处理长与短GOP、全I帧与IBP帧结构、可变与固定码流的节目素材,实现不同节目格式的快编与混编。由此可见,码流快编的开发技术难点,是结合 DVB系统与MPEG-2标准,从译码过程中读出元数据,实现基于解码器的图像处理技术,并能兼容以编码卡为基础的非线性编辑技术。因而被业内称为“第一 个吃螃蟹者”。

200610203592.gif


3. 数据变换

既然要把TS作为节目源进行编辑,就需要将TS包中的数据变换为非线性编辑所能使用的元数据和视频流。它们是以码流快编作为工作母机进行生产的真正原料。

数据变换的第一个过程是拆DVB复用包。如图3所示,DVB的解码流程中分层译出了许多数据信息,如同步字节(Sync Byte)、节目特定信息(Program Specific Information,PSI)中PAT、PMT、NIT等列表、包识别(Packet Identification,PID)、节目时钟基准(Program Clock Reference,PCR)及PTS/DTS(后详解)和业务信息(Service Information,SI)等部分。这些信息不仅与DVB PSI/SI直接相关,与MPEG-2的句法结构也直接相关,它规范地传递了再生码流中音/视频所需的MPEG-2列表数据,通过这些信息的引导,准确进 入MPEG-2系统层的进一步译码。

第二个过程是拆MPEG-2系统复用包。MPEG-2系统定义了一个的码流层次化结构句法规则,以便于误码处理、随机搜索以及 内容编辑。它自上而下依次分为图像序列层(Video Sequence Layer,VSL)、图像组层(Group of Pictures Layer,GOPL)、图像层(Picture Layer,PL)、像素条层(Slice Layer,SL)、宏块层(Macro block Layer,ML)、像块层(Block Layer,BL)等6个层次,分别赋予每个层次不同的功能。图4说明了MPEG-2 体系的句法结构,通过这种分层排列的结构特征,MPEG-2提高了系统的灵活性和管理效率,使得每一层都可以用来支持一个特定的功能。码流快编大部分应用 于VSL、GOPL、PL层,特别是在GOPL,需要在还原时规范翻译PID、PCR、PTS/DTS等信息,将同步信息、闭合标记、断链标记等数据准确 插入GOP图像组,以形成每组GOP数据流的起点,才能保证图像帧的精确和连续帧的同步接续。

第三个过程是将拆包后所得数据信息,以规范的装填还原MPEG-2 ES以及元数据,因而装填数据是码流快编的重要技术环节。

(1)装填复用的基本码流包

依据MPEG-2 TS规范结构(如图5所示),复用的基本码流包(Packetized Elementary Stream,PES)是由包头、自适应区的ES特有信息和包数据3部分所组成。由于包头和ES特有信息二者可合成1个数据头,因而可认为1个PES包是 由包头和包数据(有效载荷)2个部分所组成。对有线、卫星、地面广播网接收的TS,经过解调和解扰处理后选取包长为188B的SPTS,并从包头中提取相 关信息,以PID区别不同SPTS包,以连续计数器的顺序计对标注PID的TS包重建一个独立分组的PES。根据自适应区中的填充数据,装填到不为TS包 整数倍的PES包中,以保证PES变长包的完整性。同时,依据包头及自适应区内的同步字节、原始程序参考时钟(Original Program Clock Reference,OPCR)、PCR等同步和识别信息,提供27MHz的解码同步时钟,装填共同时间基准、独立时间基准、可变包长和有效载荷等数据。

装填成为PES对码流快编具有格外重要的意义,因为PES包内含音/视频的ES以及包括PID的12个包头识别标志,当对 PES包的起点不能精确定位、对PES包头标志符不能准确识别时,就不能保证拆包后再打包的图像无缝接续和声画同步。这是在初期研发过程中遇到并获得突破 的技术难点。

(2)装填基本码流

根据MPEG-2规范的PES包结构(如图6),还需进一步装填为连续ES流。ES是指只包含1个信源的数据流,即视频数据流或 音频数据流。每个ES由若干个缓存器的特定存取单元(Access Unit,AU)所组成,而每个视频AU或音频AU都是由头部和编码数据的2部分。1个AU相当于编码的1帧视频图像或1个音频帧的取样。PES的包头为 恢复ES提供了向导。

对于PES包头,具有ES特有信息的显示时间标记(Presentation Time Stamp,PTS)、解码时间标记(Decode Time Stamp,DTS)标志、基本流时钟基准(Elementary Stream Clock Reference,ESCR)信息标志、基本流速率信息标志、数字存储媒体(Digital Storage Media,DSM)的特技信息标志等等,其中,唯有PTS/DTS标志,是解决视音频同步显示,防止输入缓存器上溢或下溢的关键所在。

在装填过程中,数据定位指示符引导PES还原所包含的视频、音频及所属其它数据流(如同步、数据和数据通道等),包头识别标志 的PTS/DTS指示了可变长度包数据的帧同步时间,当区分音/视频和其它数据以后,依据PTS/DTS对视频帧分配给特定的AU。其中尤以独立时间基准 是还原ES的同步基础。对于PES包数据,一方面通过扩展标志的数据包计数器,引导恢复数据流,另一方面利用循环冗余校验(Cyclic Redundancy Check,CRC)辅助检测并纠正可能存在的数据包丢失。

200610203593.gif


4. 精确帧定位

帧定位是精确编辑的基础,而精确的帧定位来自于精确的帧同步。在ES上实现逐帧精确的编辑,首要问题是实现精确帧的同步。

如前所述,装填后的ES变成仅含有1种性质的PES包,或视频ES,或音频ES。以视频为例,图7表明了在PTS/DTS标示的 独立同步时间基准指示下,顺序装填再顺序读出,形成连续ES的I1P4B2B3P7B5B6(N=7)GOP组帧顺序。由于PES的数据分组是可变长度的 数据包,但它的最大包数据容量为65526Byte。因此,在码流快编中必须为每个AU准备必不可少的缓存空间。

如图7所示,PTS表明图像帧出现在目标解码器(System Target Decoder,STD)的时间,DTS表明将存取单元全部字节从STD的ES解码缓存器移出的时刻。当以PTS/DTS为独立时间基准,定位和标志 PES的AU起始点后,对UA依次组成图像帧序为I1P4B2B3P7B5B6 I10B8B9的ES。对于I、P帧而言,PES的图像帧序为I1P4B2B3P7B5B6I10B8B9,应该P4比B2、B3在先,但显示时P4一定 要比B2、B3在后,这就必须重新排序。在PTS/DTS时间标志指引下,将P4提前插入数据流,经过缓存器重新排序,重建视频帧序 I1B2B3P4B5B6P7B8B9I10。显然,PTS/DTS是表明确定事件或确定信息,并以专用时标形态确定事件或信息的开始时刻。

值得注意的是,虽然在PES中应该每个I、P、B帧的包头都具有一个PTS和DTS,但由于B帧的解码时间和显示时间存在一致 性,因而对B帧而言,PTS与DTS具有相同作用,无须DTS,只须PTS。音频数据包也很有特点,虽然它可以含有多个存取单元,但由于它必须按照时间顺 序传送,所以音频包头中也不含DTS,只有1个PTS。

由此可见,PTS/DTS不仅直接关联帧定位,而且直接关系到码流快编的帧精确编辑。为此,码流快编的帧定位着重处理以下几个帧序特征:

* 当处理某个含有1个I帧的存取单元时,在其包头文件中应有DTS和PTS,且2个标记之间的时间间隔为1个图像周期,那么在双向编码时的P帧应在I帧之 后,在包头文件中就应有1个DTS和1个PTS,而这2个标记之间应存在3个图像周期的间隔,这样才能插入2个B帧。

* 当前处理IPBB时,I帧应延迟1个图像周期,P帧应延迟3个图像周期,而2个B帧则无需延迟,于是,最后的显示顺序就成为了IBBP帧序。

* 若需要改变GOP结构时,例如在I与P帧之间需要存在更多的B帧,则需调整B帧DTS与PTS之间的时间间隔。

* 当处理IPBB序列后,必在第1个B帧之前先对I和P帧进行解码,但每次只能对一帧图像进行解码,因此需要先解I帧并暂存后,待P帧被解码时,随即读出I帧,而后再读B帧。

* 在处理包头时,对PTS/DTS指示的某图像帧,特殊关注是否只有1个PTS时间标记,是否含有PTS和DTS的2个时间标记,以便快速确认I、P与B帧,以及音频包。

当作为编辑节目源的MPEG-2 TS被拆包以后,以PTS/DTS实现视频帧的精确定位,就能以帧精确的剪切编辑实现码流快编功能,同时,也能以 I1P4B2B3P7B5B6I10B8B9帧序显示I1B2B3P4B5B6P7B8B9I10帧序。那么,在此基础上嫁接现成的MPEG-2 IBP非线性编辑的成熟技术,既不需要高价的采集编码卡,也不需要上下载的转码,从采集、转码、拆包剪切,到特技处理、打包上传,一气呵成地构成了码流快 编系统。

200610203594.gif


二 实际应用

考虑到码流快编的兼容性和通用性,以及互联互通网络平台内容交换的需要,系统是在Windows平台上开发应用,系统流程详见图8。

事实上就应用层而言,看不出码流快编与常规非编究竟有什么区别。只是对照图8,才能看出常规应用时是以传统磁带记录的内容为节目 源,这就需要围绕采集编码卡,设立上下载工作站,通过将模拟节目采集编码为数据流以后,再进行剪切等编辑。因而,目前还需对广泛应用的模拟视频提供接口选 项,附加上下载工作站。它的应用界面及其采集参数选项参见图9。图9、10表示数据输入的采集操作界面,显示目标文件格式初始化选项与合成属性,以维系连 续应用的工作流程。

经采集所合成的码流格式文件,可以同时转换成为可供交换的各种流格式和连续可调的速率,以适应各种内容编辑的整合策略需求,并可利用网络,对连续生产的其它工作站输送和交换素材,直至包括特技的特殊内容加工。这些交换文件的合成属性以及应用格式选项参见图10。

虽然在码流快编上进行快速编辑并合成文件时,与常规操作不无不同,但是通过对TS文件的快速正、反向搜索,以每一帧的入点、出点 的精确定位,进行非线性编辑的剪切操作,制作成为新内容体裁的新文件,却被广电总局主管节目的领导所认可,被称之为“海量空中节目的过滤器”。同时,它还 可以根据内容的需要,通过内置的迭加台标、栏目、字幕等字幕软件,直接参与编辑节目内容信息编辑或局部遮盖,并可联立采集工作站,形成生产流水线,进行不 同任务种类的专项加工。如图11所示,在时间轨上的不同视频、音频、字幕等,均可按帧精确的快速合成为新节目或新素材。

如图12所示,当合成新节目或素材时,文件格式的也可以根据使用的需要加以选择。如果作为DVB播出节目的成品,则可选择 “MPEG-2TS流(DVB格式)”选项;如果需要作为进一步深加工的素材,则可选择“MPEG-2ES流(M2V+MPA)”选项,以素材集的形式存 放于共享应用的集中存储。这样编辑后的节目素材或成品,理论上可以保证与节目源完全相同的视频质量。

还值得一提的是,只要在此基础上再增加一块廉价的Matrox-RGX100采集卡,就可以进一步集成无限轨、无限层的第二代非线性编辑技术,成为多格式混编、混排的超级深度特技编辑机,为动漫、游戏等新媒体节目的快速加工创造工具。

三 结语

无论码流快编对节目制作的现实意义存在何种褒贬,但在一次数字版权还没有进阶到二次版权法规的时候,它的存在具有特殊重要意义。 毕竟能够通过仅12名(前期6人)的人员投入,以低成本、高效率的节目加工,为辽宁电视台提供了18套全省的数字电视节目,而且维系了近3年的节目生产, 至今赢得了全省近百万数字电视用户的向往与肯定。试想一下,倘若按照常规作法,只播出1套节目用12个编辑就很可能要“累死人了”。

实践证明,当国外的政治体制和法规观念与国内存在现实差异的时候,国际上不屑一顾的产品并不是国内市场没有需求;当国际与国内 市场趋于接轨的时候,对瞬息万变的市场不屑一顾也不是新技术的初衷;当码流快编因某种原因并没有得到推广的时候,不屑一顾地扬弃它的内核就不是实事求是。 最恰当的对策是继承技术原理的设计理念,与时俱进地升级新产品,才能获得广电和企业的整体效益。

摘自《现代电视技术》

from:
http://www.tvpro.com.cn/jxlt/20061020/5560.html[@more@]

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/24790158/viewspace-1041568/,如需转载,请注明出处,否则将追究法律责任。

转载于:http://blog.itpub.net/24790158/viewspace-1041568/

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
UVTools are a set of software utilities to play, convert and analyze YUV or RGB video data in their raw formats. The main features of YUVTools are: It accepts (plays, converts, edits and analyzes) the combination of following formats: YUV in 4:4:4, 4:2:2 or 4:2:0 sample format, RGB in 4:4:4 sampling format; in different component order, like YUV, YVU, UYV, RGB, BGR, etc. in progressive (one single frame) or interlaced (two fields) format; in planar (YYY...UUU...VVV...) or packed (YUV, YUV....) pixel format; in predefined or arbitrary resolutions; Support FOURCC ( refer to: http://www.fourcc.org/). An image preview function to help guess the video format interactively. YUV Player can open multiple player dialogs and play different files in each dialog separately, or play multiple video files in one player dialog one by one sequentially. The detailed format of any opened or generated files will be logged, and the user can directly select any file to play back from the history list. YUV Converter can convert any combination of the format to another format, or convert to (or from) a sequence of BMP files. Other conversion functions include: scaling, join, crop, flip, padding, merge and separation of color components. YUV Analyzer can be used to calculate PSNR between two YUV files, or compare pixel by pixel to check the difference between the corresponding frames of two files, or overlay block type or motion vectors on top of each frame. Another useful feature is to help check the motion between two adjacent frames. YUV Editor can be used to edit the images pixel by pixel, or overlay one YUV image on top of another YUV image file. Convert YUV file to AVI format or vice versa; Setting options include grid display, different YUV to RGB conversion formula, etc. Many of above functions can also be performed in command line mode, which are useful for batch process or scripting.
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值