一种快速的多媒体视频解码算法

合集下载

MPEG格式简介

MPEG格式简介

MPEG标准MPEG标准主要有以下五个,MPEG-1、MPEG-2、MPEG-4、MPEG-7及MPEG-21等。

该专家组建于1988年,专门负责为CD建立视频和音频标准,而成员都是为视频、音频及系统领域的技术专家。

及后,他们成功将声音和影像的记录脱离了传统的模拟方式,建立了ISO/IEC1172 压缩编码标准,并制定出MPEG-格式,令视听传播方面进入了数码化时代。

因此,大家现时泛指的MPEG-X版本,就是由 ISO(International Organization for Standardization)所制定而发布的视频、音频、数据的压缩标准。

MPEG标准的视频压缩编码技术主要利用了具有运动补偿的帧间压缩编码技术以减小时间冗余度,利用DCT技术以减小图像的空间冗余度,利用熵编码则在信息表示方面减小了统计冗余度。

这几种技术的综合运用,大大增强了压缩性能。

MPEG-1MPEG-1标准于1992年正式出版,标准的编号为ISO/IEC11172,其标题为“码率约为1.5Mb/s用于数字存贮媒体活动图像及其伴音的编码”。

MPEG-1层1 数字盒式录音带MPEG-1层2 DAB,VCD,DVDMPEG-1层3 Internet,MP3音乐MPEG-2MPEG-2标准于1994年公布,包括编号为13818-1系统部分、编号为13818-2的视频部分、编号为13818-3的音频部分及编号为13818-4的符合性测试部分。

MPEG-2编码标准希望囊括数字电视、图像通信各领域的编码标准,MPEG-2按压缩比大小的不同分成五个档次(profile),每一个档次又按图像清晰度的不同分成四种图像格式,或称为级别(level)。

五个档次四种级别共有20种组合,但实际应用中有些组合不太可能出现,较常用的是11种组合。

这11种组合分别应用在不同的场合,如MP@ML(主档次与主级别)用在具有演播室质量标准清晰度电视SDTV中,美国HDTV大联盟采用MP@HL(主档次及高级别)。

视频编解码技术使用教程(系列八)

视频编解码技术使用教程(系列八)

视频编解码技术使用教程在当下科技高速发展的时代,视频编解码技术在我们的生活中扮演着越来越重要的角色。

从我们每天使用的社交媒体应用到电影制作领域,视频编解码技术都是不可或缺的一部分。

本文将为你介绍视频编解码技术的基本原理和使用教程。

第一部分:视频编码的基本原理视频编码是指将原始视频信号转化为数字数据的过程。

其目的是通过压缩数据量,以便于存储、传输和处理。

视频编码的核心原理是采用一系列算法,根据图像的冗余性和视觉特性将原始数据进行压缩。

1. 帧间压缩:视频编码中最常用的压缩技术之一是帧间压缩。

该技术利用了视频中帧与帧之间的冗余性。

在一个连续的视频序列中,相邻帧之间的图像内容通常变化很小。

因此,只需存储每个关键帧(I 帧)以及其后的差异帧(P帧和B帧),就可以恢复出完整的视频序列。

2. 量化和编码:在帧间压缩的基础上,视频编码采用了量化和编码技术来进一步减小数据量。

量化是指将视频中的像素值映射到较少数量的级别,以减小数据的精度。

编码是指将量化后的数据表示为更紧凑的二进制码流,以进一步减小数据量。

第二部分:视频解码的基本原理视频解码是指将压缩后的视频数据恢复为原始视频信号的过程。

其主要任务是逆向视频编码过程,对编码后的数据进行解码和还原。

视频解码的核心原理是采用像素重建和帧重建的技术。

1. 像素重建:在解码阶段,先通过解码器将压缩后的二进制码流还原为量化后的视频数据。

接下来,通过逆量化和逆转换的算法,将量化后的数据恢复为原始像素值。

通过这个过程,可以实现图像像素的逐渐重建。

2. 帧重建:在还原出完整的图像像素后,视频解码器会对连续的帧进行恢复。

对于关键帧(I帧),直接从像素值中重建;对于差异帧(P帧和B帧),则需要根据之前的参考帧和差异数据进行重建。

通过帧重建,可以实现完整视频序列的恢复。

第三部分:视频编解码技术的应用教程视频编解码技术已经广泛应用于各个领域,以下是几个常见的应用教程:1. 视频编码与传输:对于需要传输视频的场景,如实时视频会议、视频直播等,我们可以使用、HEVC等先进的视频编码标准进行压缩和传输。

多媒体视频信息处理技术

多媒体视频信息处理技术

多媒体视频信息处理技术1. 引言多媒体视频信息处理技术是指通过对多媒体视频进行各种处理和分析,提取其中包含的有用信息,并利用这些信息进行进一步的应用和开发。

随着数字化时代的到来,多媒体视频已经成为人们生活中不可或缺的一部分。

人们常常通过多媒体视频来获取信息、娱乐和交流。

因此,对多媒体视频信息进行处理和分析已经成为一个重要的研究领域。

本文将介绍多媒体视频信息处理技术的基本概念、技术原理以及在各个领域的应用,旨在为读者提供对多媒体视频信息处理技术有一个全面的了解。

2. 技术原理多媒体视频信息处理技术的核心是对视频进行各种处理和分析。

以下是多媒体视频信息处理技术中常用的几种技术原理:2.1 视频压缩视频压缩是多媒体视频信息处理技术中的重要一环。

通过对视频信号进行压缩,可以将视频文件的大小减小,从而降低存储和传输的成本。

常用的视频压缩算法有MPEG系列算法和H.264算法等。

2.2 视频编解码视频编解码是多媒体视频信息处理技术中不可或缺的一部分。

视频编码将原始视频信号转换为数字信号,以便存储和传输。

视频解码将数字信号还原为原始视频信号。

常用的视频编解码标准有H.264和AVC等。

2.3 视频分析视频分析是多媒体视频信息处理技术中的关键环节。

通过对视频内容的分析和理解,可以提取其中的有用信息。

视频分析技术可以包括目标检测、跟踪、事件检测和行为分析等。

3. 应用领域多媒体视频信息处理技术已经在各个领域得到广泛应用。

以下列举一些常见的应用领域:视频监控是多媒体视频信息处理技术在安防领域的一种应用。

通过对监控视频的分析和处理,可以实现目标检测、行为分析和异常检测等功能,提升安防系统的效能。

3.2 增强现实增强现实是多媒体视频信息处理技术在虚拟现实领域的一种应用。

通过对实时视频的分析和处理,可以将虚拟对象和现实场景有效地结合起来,提供更加逼真的虚拟体验。

视频广告是多媒体视频信息处理技术在广告领域的一种应用。

通过对用户的兴趣和行为进行分析,可以实现定向投放广告,提升广告的效果和投资回报率。

加密视频破解方法

加密视频破解方法

如何破解视频文件的许可证?数字版权保护(DRM,Digital Rights Manager)介绍数字版权保护方法主要有两类,一类是以数据加密和防拷贝为核心的DRM技术,另一类是采用数字水印技术。

数据加密和防拷贝为核心的DRM技术,是把数字内容进行加密,只有授权用户才能得到解密的密钥,而且密钥可以与用户的硬件信息绑定的。

加密技术加上硬件绑定技术,防止了非法拷贝,这种技术能有效地达到版权保护的目的,当前国内外大部分计算机公司和研究机构的DRM技术采用这种方法,针对各个应用领域,有不同的DRM系统:(1) 流媒体的DRM流媒体的DRM主要有Microsoft Windows Media DRM、Real DRM等。

(2) eBook的DRM系统eBook 的DRM技术相对比较成熟,国内外的应用也较多。

国外的eBook DRM系统,有Microsoft DAS、Adobe Content Server(原Glassbook Content Server)等等,国内的eBook DRM系统有方正Apabi数字版权保护系统。

(3) 电子文档的DRM电子文档的DRM有SealedMedia Enterprise License Server、Authentica Active Rights Management以及方正Apabi Office DRM、方正Apabi CEB DRM等等。

(4) 其他DRM研究工作其他作DRM研究的有Intertrust的DigiBox和Rights|System,IBM的Cryptolope等等,这些系统注重DRM基本原理的研究,不针对具体的某一类数字内容。

更多第一部分 DRM简介数字版权保护技术可有效地杜绝通过网络和计算机非法复制、拷贝、传送数字信息产品。

数字版权保护功能如下:DRM服务器软件是一个端到端的数字版权管理系统,实现一个可扩展的平台用来安全地分发数字产品。

它采用的核心技术主要是密码学,系统构架应该和具体的应用结合,比如与mpeg4相关应用等。

多媒体系统中的音视频编解码技术教程

多媒体系统中的音视频编解码技术教程

多媒体系统中的音视频编解码技术教程随着科技的迅猛发展,多媒体技术已经成为我们生活中不可或缺的一部分。

而音视频编解码技术作为多媒体系统的核心技术,发挥着至关重要的作用。

本文将介绍多媒体系统中的音视频编解码技术,包括其基本原理、常用的编解码算法及其应用场景和发展趋势。

一、音视频编解码技术的基本原理1、音视频编解码的定义音视频编解码是将音频和视频信号转换为数字形式并进行压缩的过程。

编码是指将原始的音频和视频信号转换为数字信号,而解码则是将压缩的数字信号转换为可播放的音频和视频信号。

2、音视频编解码的步骤音视频编解码一般包括以下几个步骤:采样、量化、编码、解码和重构。

采样是将连续的音频和视频信号转换为离散的数字信号,量化是将连续的信号转换为离散的幅度值,编码是将幅度值转换为数字编码,解码是将数字编码还原为幅度值,而重构则是将数字信号转换为可播放的音频和视频信号。

3、音视频编解码的基本原理音视频编解码的基本原理是通过去除信号中的冗余和不可察觉的部分信息,从而实现信号的压缩。

音频信号可以利用声音的听觉特性实现压缩,视频信号则可利用人眼的视觉特性实现压缩。

常用的音视频编解码算法包括MPEG-1、MPEG-2、MPEG-4和H.264等。

二、常用的音视频编解码算法及其应用场景1、MPEG-1MPEG-1是最早的音视频编解码标准之一,它适用于低码率的音视频压缩。

MPEG-1可以有效地压缩音频和视频信号,并在带宽有限的网络条件下进行传输和播放。

MPEG-1广泛应用于CD、VCD和网络视频等领域。

2、MPEG-2MPEG-2是一种高质量的音视频编解码标准,它适用于高清晰度的视频和多声道的音频压缩。

MPEG-2广泛应用于数字电视、DVD和蓝光光盘等领域,具有较好的兼容性和稳定性。

3、MPEG-4MPEG-4是一种面向互联网的音视频编解码标准,它能够实现更高的压缩比和更好的音视频质量。

MPEG-4在视频会议、流媒体和移动多媒体等领域得到广泛应用,具有较好的可扩展性和适应性。

视频解码方案

视频解码方案

视频解码方案引言随着科技的不断发展和进步,视频在我们的生活中扮演着越来越重要的角色。

然而,我们经常会遇到视频无法播放或者播放卡顿的问题。

这是因为视频数据压缩的复杂性和解码的要求提高所致。

为了解决这个问题,各种视频解码方案应运而生。

本文将介绍几种常见的视频解码方案。

1. 软件解码方案1.1 FFmpegFFmpeg是一个开源的跨平台多媒体解决方案,它可以完成多种视频解码操作。

它具有高效、灵活的特点,支持的视频格式非常广泛。

FFmpeg可以通过命令行或API来进行调用,使用起来非常方便。

但是,软件解码方案需要占用较大的CPU资源,对性能要求较高。

1.2 GStreamerGStreamer是一个基于开源的多媒体框架,它提供了一套完整的视频处理工具和解码库。

GStreamer支持各种流行的视频格式,可以在多个平台上运行。

它的可扩展性和灵活性使得在开发过程中可以自定义解码方案。

但是,GStreamer的学习曲线较陡峭,需要一定的技术基础。

2.1 GPU解码使用GPU进行视频解码可以充分利用其并行处理能力,提高解码速度和效率。

GPU解码方案适用于编码格式较复杂、码率较高的视频。

常见的GPU解码库有NVIDIA的Video Codec SDK和AMD的VCE API。

然而,GPU解码需要有具备相应硬件支持的设备,对于一些低端设备来说可能不适用。

2.2 ASIC解码ASIC(Application-Specific Integrated Circuit)是一种专用集成电路,可以定制实现特定的功能。

ASIC解码方案采用专门的硬件芯片来进行视频解码,可以实现高效的解码性能和低功耗消耗。

常见的ASIC解码芯片供应商有Broadcom和Realtek等。

然而,ASIC解码方案的定制性较强,适用范围相对有限。

2.3 FPGA解码FPGA(Field-Programmable Gate Array)是可编程逻辑门阵列,它可以按照需求重新配置其硬件结构。

视频编码概念和主要编码算法

视频编码概念和主要编码算法

视频编码概念和主要编码算法视频编码是将数字视频信号转换为数字视频的过程,它使用编码算法来减少视频数据的冗余,并在保持视觉质量的同时减小文件大小。

视频编码对于视频传输、存储和分享非常重要。

视频编码的主要目标是通过移除冗余和统计特性来降低视频信号的数据率,而同时保持所需质量的最佳可视效果。

视频编码算法通常包含两个主要阶段:预处理和压缩编码。

预处理阶段是对视频信号进行处理和转换,以突出其中的重要信息,并减少冗余。

这些预处理技术包括空间和时间滤波、亮度和色彩空间转换等。

压缩编码阶段是将预处理后的视频数据压缩为尽可能小的比特流,通常使用有损压缩算法。

下面是几种主要的视频编码算法:1. MPEG(Moving Picture Experts Group)算法:MPEG是一组用于压缩和传输视频和音频数据的标准。

MPEG算法基于空间和时间冗余的概念,通过运动估计、运动补偿和离散余弦变换等技术来压缩视频数据。

2. H.264/AVC(Advanced Video Coding)算法:H.264是一种广泛使用的视频编码标准,具有高效的压缩性能。

它采用了运动估计、变换编码和熵编码等多种技术,并引入了一些新的特性,如帧内预测和熵编码上下文建模,以提高编码效率。

3. VP9算法:VP9是Google开发的一种开放源码视频编解码器,用于实现高效的视频压缩。

VP9算法采用了类似于H.264的技术,并引入了一些新的特性,如可变块大小和有损连续运动估计,以提高编码效率和视频质量。

4. AV1算法:AV1是一种由Alliance for Open Media开发的新一代开放源码视频编解码器。

AV1采用了先进的编码技术,如双向预测、变换编码和可变块大小等,以提供更好的压缩效率和视频质量。

这些视频编码算法的选择取决于具体的应用需求和技术要求。

不同的编码算法有不同的性能和兼容性,用户需要根据实际情况选择最适合的算法。

总之,视频编码是对数字视频信号进行处理和压缩的过程。

多媒体通信中的信道编码与解码算法

多媒体通信中的信道编码与解码算法

多媒体通信中的信道编码与解码算法在多媒体通信中,信道编码与解码算法起着至关重要的作用。

它们的主要目标是保证数据的可靠传输,提高通信质量和效率。

本文将介绍几种常见的信道编码与解码算法,包括前向纠错码、自适应调制与解调以及压缩编码。

1. 前向纠错码前向纠错码是一种常用的信道编码算法,它能够通过向数据添加冗余信息来实现错误检测和纠正的功能。

其中最常见的前向纠错码是海明码和卷积码。

海明码是一种块编码方法,它通过添加额外的校验位来实现错误检测和校正。

海明码可以检测到多少位的错码,并且可以校正少量的错码。

卷积码是一种流式编码方法,它通过使用状态转换图来表示编码和解码过程。

它具有较好的纠错性能,适用于高速数据传输。

2. 自适应调制与解调自适应调制与解调是一种根据信道条件自动选择调制方式的算法。

它根据信道的可靠性和带宽等因素来调整传输信号的调制方式,以提高传输效率和质量。

最常见的自适应调制与解调算法是自适应调制阶数和自适应编码调制。

自适应调制阶数根据信道质量自动选择调制方式的调制阶数,从而在低信噪比情况下使用较低阶的调制方式,而在高信噪比情况下使用较高阶的调制方式。

自适应编码调制则根据信道条件选择合适的编码方式,如调制速率、调制格式等。

这些算法在提高系统容量和传输质量方面起着重要的作用。

3. 压缩编码技术压缩编码是一种通过优化数据表示和存储方式来减少数据传输量的技术。

在多媒体通信中,压缩编码可以有效地减少数据传输的带宽要求,提高数据传输的效率。

常见的压缩编码技术包括无损压缩和有损压缩。

无损压缩是一种通过减少冗余信息来实现数据压缩的方法,它保留了数据的完整性和准确性,不会引入任何失真。

有损压缩则是在保证人类感知的前提下,通过牺牲部分细节和精度来实现数据压缩。

有损压缩常用于音频、视频和图像等多媒体数据的传输和存储。

综上所述,信道编码与解码算法在多媒体通信中具有重要的作用。

前向纠错码、自适应调制与解调以及压缩编码是常见的信道编码与解码算法。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

2000年第21卷第4期华 北 工 学 院 学 报V ol.21 N o.4 2000 (总第72期)JOURNAL OF NORTH CHINA INSTITUTE OF TECHNOLOGY(Sum N o.72)文章编号:1006-5431(2000)04-0354-07一种快速的多媒体视频解码算法马 礼1,张永梅1,马 兰2,张永莲3(1.华北工学院计算机科学与技术系,山西太原030051; 2.长征航天控制工程公司,北京100038;3.十三冶职工医院,山西太原030009)摘 要: 目的 找出一种对多媒体视频流的快速解码方案.方法 对多媒体信息流的编码解码过程进行剖析,提出粗跳、细跳算法定位视频流中的I图像.结果 找到了一种快速搜索I图像的算法.结论 多媒体信息流的解码可以用较快的算法实现,从而提高解码速度、节省解码用时间.关键词: 多媒体;视频;系统流;节目流;解码;编码中图分类号: T P37 文献标识码:A0 引 言随着经济的发展和科学技术的进步,当今人类社会的列车已进入了信息化的新时代.在这一阶段,有关多媒体技术的研究、开发、和应用显得格外有生气,并且以极快的速度向普及和产业化方向深入,这种技术的发展是前所未有的.进入信息时代的现代社会,各种信息以极快的速度出现,人们对信息的需求在日益增加,这个增加不仅表现在数量的剧增,同时还表现在信息种类的不断增加.这个巨大的社会需求(或者说市场需求)就是多媒体通信技术发展的基本的内在动力.另一方面,电子技术、计算机技术、电视技术及芯片技术的飞速发展,为多媒体技术的发展提供了确实的外部保证.在美国洛杉矶召开的1993年首届国际多媒体会议上共发表了52篇论文,包括17篇专题,其中约有一半的专题与通信有关[2].此项技术必将为21世纪的信息时代做出更大的贡献[1].目前,多媒体信息的传输技术在国内外的研究较多,并有相应的产品推出.如中国公用数字数据网(CHINADDN),利用数字传输通道(光纤,微波,卫星)和数字交叉复用节点组成的数字数据传输网,为用户提供各种速率的高质量的专用电路和其他新业务,以满足用户多媒体通信和组建中、高速计算机通信网的需要.DDN与传统的模拟电话专线不同,其显著特点是采用数字电路,传输质量高,延时小,通信速率可根据需要选择;电路可以自动迂回,可靠性高;一线可以多用,既可以通话,传真,传输数据,还可以组建会议电视系统等[1].在众多的多媒体研究领域内,媒体的编码和解码技术是人们一直在探求的主题,如何对多媒体信息进行高效编码,对于容量大得惊人的数据量来说,其重要程度是可以想象的,同样,解码方法的研究、再现方案的提出和实现,也为业内人士所关注.在经过对多媒体的解码方法进行研究和实验后,本文提出一种快速搜索关键图像的方法,以达到快进、快倒等特殊效果,在实际应用中取得了较好的效果.1 解码方案1.1 图像和视频信号的表示彩色空间彩色是一种心理感觉,它与照明源的分布及观察者的视觉有关.例如,晚上的天空看上去呈黑色或 收稿日期:2000-06-16 作者简介:马 礼(1968-),男,讲师,硕士.从事专业:计算机应用.灰色,白天则呈不同深浅的蓝色,日出时又出现桔红或红色.这表明色感依赖于光的物理成分和视觉系统的生理学,并进而引起色彩的心理感觉:亮度、色度和饱和度.在各种彩色模型中,最成功的是三基色模型.在三基色模型中,认为人眼有红,绿,蓝三种色感细胞,它们的最大感光灵敏度分别落在红色、绿色和蓝色区域.由此可推断出,任何色彩都可用红,绿,蓝三种基色相加来配制.根据三基色原理,用三幅红、绿、蓝为基色的图像可生成一幅彩色图像.在编码时采用亮度、色度空间,即YUV 空间,用YU V 空间表示图像有一个问题需要解决,就是现在所有的显示系统都采用R ,G ,B 值来驱动显示器,这就要求在每个像素之前,必须把YUV 值转换成RGB 值,其转换关系如式(1)、式(2)所示.RGB 到YUV 的转换关系YU V=0.2990.5870.114-0.1687-0.33130.50.5-0.4187-0.0813R G B (1) YUV 到R GB 的转换关系RG B =10 1.4021-0.34414-0.714141 1.17720Y U V (2) YUV 格式能把大部分图像信息量集中到亮度分量上,把小部分的信息量集中到色度分量上.1.2 MPEG 信息编码格式按M PEG 格式经过编码的多媒体视频流,分为6个层次.1.2.1 块块是亮度和色度成分的正交8×8部分,它是编码器和解码器的最小单位.块的数据是按Z 型扫描存放.其中第一个数据为DC 系数,该系数按差分编码;剩下的63个为AC 系数,AC 系数按行程编码.1.2.2 宏块宏块由16×16个像素组成,宏块头标中包含了防止下溢的宏块填补代码“00000001111”;宏块地址增量(1~11位长),它表示当前宏块和过去编码宏块地址之间的差分值,用它可求出当前宏块的绝对地址,在求宏块地址增量时,有可能出现转义码“00000001000”,它表示当前地址增量再加33;还有1~6位长的宏块类型,对于I 图像则只有两种宏块类型,“1”表示不重新设置量化器尺度,“01”表示重新设置量化器尺度,这时接着的5位为重新设置量化器尺度的值.宏块头标之后是定义宏块中6个块的数据,6个块中有4个亮度块和2个色度块,它们的存放顺序是从顶到底,从左到右:先Y,后U 和V.1.2.3 片片由整数个以光栅扫描顺序排列的宏块组成.开始的宏块是图像的左上角,然后从左到右,从上到下按光栅扫描顺序存放,片之间不能覆盖,且不能有间隙.片在一个图像中可以有不同的大小,一个图像中开始代码的最低8位,定义了该片中第一个宏块在图像中的第几行.片由片头标(00000101-000001AF)和若干宏块组成,在片头标中除了片开始代码以外,接下来的5位是量化器尺度,该值不能为0.片头标之后定义宏块的代码.1.2.4 图像一个图像(Picture )相应于动态视频的帧,它有4种类型:(1)I 图像或称帧内编码图像,这种图像不参考任何其他图像而被解码;(2)P 图像或称预测编码图像,这种图像解码时用到了前面的I 图像或P 图像的运动补偿;(3)B 图像(双向预测编码图像),这种图像解码时用到前面和后面的I 或P 图像的运动补偿;(4)D 图像,这种图像只对应于快速向前搜索模式.图像由图像头标和一系列片组成.图像头标以图像开始代码“00000100”开始,接着的10位是图像的时间引用,定义图像的显示顺序(由于图像不以显示顺序传送,而是以解码器解码它们所需的顺序(位流355(总第72期)一种快速的多媒体视频解码算法(马 礼等)顺序)传送,所以时间引用是很有用的).接下来的3位是图像类型,头标中的其他标志不影响解码I 图像,其编码类型如表1所示.1.2.5 图像组\;图像组是一个随机存取点,即它是最小的编码单位,能在一个序列中被独立解码,它由一个头标和一些图像组成.图像组的头标包含了时间和编码信息.表1 图像编码类型Tab .1 Gr aph coded typ e 图像编码类型图像000禁止001I 图像010P 图像011B 图像100D 图像101~111保留图像组是一系列编码图像,有利于序列进行随机访问.图像组可以有任意长度,图像组可包含一个或多个图像.需要随机访问、快进、快倒或正常播放的应用程序可以使用相对较短的图像组.图像组可以从场景终止处开始,也可以从其他运动补偿无效之处开始.图像组内的图像排序有显示顺序和位流顺序,输入解码器的为位流顺序.1.2.6 视频序列视频序列是视频编码的顶层.序列的开始是序列头标,它定义了解码器需要的重要参数.头标之后是一或多个图像组.图像组由一或多个图像组成.序列可包含其他的序列头标.序列以序列结束代码结束.1.3 M PEG 中I,P,B 图像的解码过程因ISO/IEC11172-2的编码方式是按相应的层次结构的层排列的,所以其解码过程也应按这种顺序来解码.首先,序列是编码层次的顶层,也是解码的最初入口.序列由一个头标和一些图像组(GOP)组成.序列的头标初始化解码器的状态,允许解码器能解码任何序列而不受前面解码情况的影响.一种典型的编码方式是I ,P和B 图像的一个最小组合.通常一个I 图像可以约30s 出现一次,为了给出合理的快速随机存取,在每对I 或P 图像之间插入两个B 图像,如图1所示.图1中箭头表示预测和双向预测编码图像的依赖关系.该组图像的显示顺序为: I B B P B B P B B P B B I 0 1 2 3 4 5 6 7 8 9 10 11 12由于B 图像依赖于后续(按显示顺序)的I 或P 图像,故在此B 图像之前传送和解码I 或P 图像.其位流顺序(解码器的输入顺序)为: I P B B P B B P B B I B B 0 3 1 2 6 4 5 9 7 8 12 10 11按此位流顺序,输入位流在输入缓冲器中聚集起来,由可变长码(VLC)解码器解码第一个图像(图像0)的头标,并确定它是一个I 图像.VLC 解码器产生相应于量化DCT 的量化系数.通过“Z ”形顺序扫描这些量化解码系数,把图像中每个8×8像素块汇集起来.逆量化器使用量化步长大小产生实际的系数DCT.通过逆DCT 变换器,系数变换成像素值并存放在过去图像存储区和显示缓冲区中.图像在合适的时间被显示.VLC 解码器解码下一个图像(图像3)的头标,并确定它是一个P 图像.对每个块,VLC 解码器解码运动向量,从保存的过去图像给出偏移量,然后把系数转换成像素差分值,并加入到预测块中,预测块是通过把运动向量应用于保存着过去图像的块中产生的.导出的块存放在将来图像存储区和显示缓冲区中,直到B 图像1和2已经接收、解码和显示以前,该图像不能被显示.VLC 解码器解码下一个图像(图像1)的头标,并确定它是一个B 图像.对每个块,VLC 解码器解码运动向量,从保存的过去或将来图像或两者中给出偏移量.这些量化的系数逆量化产生实际的DCT 系356华 北 工 学 院 学 报2000年第4期数,然后这些系数逆向转换成像素差分值并加入到预测块中.预测块是通过把运动向量应用于保存的图像产生的.导出的块存放在显示缓冲区中,它可以在合适的时间显示.VLC 解码下一帧图像(图像2)的头标,并确定它是一个B 图像.采用与图像1相同的方法对它进行解码.对图像2解码之后,在过去图像存储区的图像0不再需要,可以丢弃了.VLC 解码器解码下一帧图像(图像6)的头标,并确定它是一个P 图像.在将来图像存储区的图像被拷贝到过去图像存储区中,然后执行与图像3相同的解码过程,直到图像4和5已被接收和显示,图像6才被显示.然后继续重复进行.2 I 图像的解码过程(1)通过一函数定位到视频流,找到序列头标(000001B3),解码出图像的长度和高度,求出量化矩阵.然后定位到图像组开始代码(000001B 8).(2)从图像组中找出图像开始代码(00000100H )解码图像类型.(3)若当前图像的类型为I(在图像开始代码后是10位参考位,3位图像类型码,图像类型码如表1),则开始解码I 图像.(4)在I 图像中找到片开始头标(01H -AFH)使用函数由片开始代码的最低字节解码出图像中该片的第一个宏块在图像中的行号.然后取接下去的5位便是片头标中设置的量化尺度,去掉额外信息便可开始解码一个宏块.对于片中的第一个宏块通过MB A =(片开始代码最低字节-1)×图像中每行的宏块个数+当前宏块的地址增量-1;求出该宏块在片中的绝对地址.对于接着的宏块地址可由MBA =MB A +MB Ainc (当前宏块地址增量)或等同的算法求出.每解码完一个宏块之后判断是否遇到下一个片的开始代码,假如没有遇到该代码,则继续解码下一个宏块,直到遇到下一片的开始代码为止.然后便可解码下一个片,依次解码,退出的条件是图像中的所有宏块解码完成,即宏块绝对地址等于图像中宏块的总个数.(5)对于宏块的解码,通过函数求出宏块的地址增量,接着解码宏块的编码类型.判断该类型宏块是否要重新设置量化尺度(qu-scale),若需重新设置,则接着的5位值便是重新设置的量化值.若不需重新设置,则使用先前的量化尺度.然后开始对每一宏块中的各个块进行解码,解码的顺序为:0→1→2→3→4→5.(6)对于块的解码,首先判断是亮度块(0~3),还是色度块(4,5).对于亮度块:先通过函数解码出DC 系数差分值的长度,然后再根据长度取出DC 系数差分值,求出DC 系数差分值之后,加上预测的DC 系数值便可求出当前块的DC 系数.再乘8进行解量化,从而重构出DCT 系数的DC 系数值.同时将该数值保存,作为下一亮度块的DC 系数差分值的预测.对于片中第一个宏块的第一个亮度块DC 系数的预测值为0,两个色度块的DC 系数也分别为0.对于其他宏块中的第一块使用前一宏块的第三块DC 系数作为预测值.接着解码AC 系数,对解码出来的AC 系数进行反量化,即乘以量化尺度和量化矩阵中的相应项,重构出DCT 矩阵的AC 系数,对于A C 系数在进行反量化之前必须进行逆Z 型变换才可.(7)每一个块重构DCT 系数进行逆量化后进行IDCT 变换再加上128,便可再现未压缩前的Y,U ,V 的值.每一宏块对应4个亮度块,2个色度块.其组合为4个亮度块共用一个色度块U 和一个色度块V ,第0个亮度块对应于色度块U,V 的左上角部分,第1个亮度块对应于色度块U ,V 的右上角部分,依次为2到左下角,3到右下角.在图像复原时,必须使用RGB 格式,而解压缩出来的是YUV 格式,所以需要从YUV 到RGB 的转换.每个像素点用3个字节R,G,B 表示便可构成24位位图,从而进行显示.在显示时使用24位位图显示程序.在解码过程中涉及了很多VLC 的查表过程,所以VLC 的查表将成为本解码程序解码速度的关键问题.若使用传统的查Huffman 代码的方法,逐位地进行匹配,即先从位流中取出一位,判断该代码是否在357(总第72期)一种快速的多媒体视频解码算法(马 礼等)表中,若没有匹配的代码,则再从位流中取出下一位,与先前取出的1位组合成两位,再查Huffman表,看是否有匹配的代码,重复前面的操作直到在Huffman表中找到匹配的代码,或位流中取出的位数大于Huffman表中最长代码的位数还没有匹配时为止.显然这种方法对于解码来说是不可取的.在本解码程序中,对每一个VLC表,根据VLC代码的长度将表中的代码分成几组,再分别组成数组.数组中存放VLC代码对应的值和VLC代码的实际长度,至于如何将该代码对应的值和长度存入数组对应的地址中.具体作法是利用算法使VLC代码和它对应于数组中的地址联系起来.则在查VLC代码时就可直接根据其对应于数组中的地址进行映射,然后取出对应的值和VLC代码的实际长度,从而利用VLC代码的实际长度便可从缓冲区中将该代码移走.具体实例如下:在多媒体计算机上进行编辑和回放时,需解决这样一个问题,即如何在M PEG系统流上搜索I图像,严格讲,应是搜索I图像的编码表示,或称存储单元.一般说来,可以采用逐字搜索法,即在码流上搜索图像头,并通过图像类型信息判断是否已搜索到I图像,但这种方法的搜索速度很慢.这里,采用了一种粗跳步与细跳步相结合的快速搜索方法,应用于恒定比特流的对象中,取得了较好的效果.在M PEG-2系统标准中定义了节目流(Pro gram Str eam[2])和传输流(T ransport Stream[2])两种系统流.节目流与M PEG-1中的系统流[3]类似,但有扩充.为了描述问题方便,这里仅以M PEG-2节目流为例进行阐述.在具体描述前,作以下假设:(1)假设视频流的图像组GOP(Group of Picture)的长度固定;(2)假设MPEG流为恒定速率比特流;(3)假设系统流包的摆放方式是按输入数据的速率均匀摆放的.以上三个假设对目前流行的多媒体信息流来说是成立的.由于流的比特速率恒定,且GOP长度固定,就可以认为,在系统流上两个相邻I图像之间的字节数基本相同,同时考虑到构成系统流的包层次结构,那么,可以尽可能地跳过非图像数据和非I图像数据,以达到快速搜索I图像的目的.为了叙述方便,这里以M PEG-2节目流为例进行阐述,对于MPEG-2传输流和M PEG-1系统流来说,其方法类似.以下是在M PEG-2节目流上正向和反向快速搜索I图像的方法.2.1 估计在节目流上相邻两个I图像间的字节数记为By teCountGOP,同时,将节目流的比特速率记为Mux Rate(bits/s),视频流的GOP长度记为N,这些都可从流中获得或测得,则ByteCountGOP可按式(3)求得B yteCountGOP=Mux Rate×N/P ictureRate8(3)式中,Pictur eRate为图像速率(frame/s),也可从流中获得.2.2 粗跳 粗跳的步长记为Step A,它是由By teCountGOP来决定的.S tep A可以由式(4)计算Step A=(B y teCountGOP/2)×S p eedUP(4)式中 Sp eed UP是加速因子,可以根据不同的应用需要而设定不同的值.假设当前I图像的第一个PES分组在节目流中的位置为I-File-Po inter.如果正向搜索下一个I图像,则应先将文件指针挪到I-File-Pointer+Step A位置上,然后再搜索I的起头PES分组;如果是反向搜索上一个I图像,则应先将文件指针挪到I-File-Po inter-Step A位置上,然后再反向搜索I的起头PES分组,粗跳如图2所示.358华 北 工 学 院 学 报2000年第4期2.3 细跳当做完粗跳时还可以做细跳以进一步提高搜索I 图像的速度.首先是正向细跳方法:为了搜索下一个I 图像,则应先找到I 图像的一个PES 分组.在搜索过程中,当遇到如下情况时,可做细跳转: 搜索到包头字,则可适当作包头跳转,将头部的一些域信息跳过; 搜索到系统起头字,则可根据其长度作系统头跳转,将系统信息跳过; 搜索到音频等非视频PES 分组时,根据分组长度直接跳过;!搜索到视频PES 分组,但非I 图像起头PES 分组,则同样根据分组长度跳过.反向细跳的方法是,为了搜索到上一个I 图像,则也应找到上一个I 图像的头一个PES 分组.搜索的方法是:将做完粗跳的文件指针位置记录下来,放在变量如File -Pointer 中,然后将文件指针往前移M (如M =2048)个字节,并将File-Pointer 减去M ,把当前指针后的M个字节读入缓冲区中,然后再在这M 个字节中搜索I 图像的头一个PES 分组,如果没找到,则File -Po inter 再减去M ,并将文件指针指向该位置,读入M 个字节,继续在新读入的M 个字节中搜索I 图像的头一个PES 分组,如此往复,直至搜索到为止.当在M个字节中搜索到视频PES 分组的前部分,但不能确定是不是I 图像的头一个PES 分组时,可将其后的数据读入,进一步确认.显然,反向的细跳步规则与正向相同,只不过反向的细跳局限于M个字节,超出M 个字节时,则不必往下搜索,接着读入前M 个字节,继续搜索.上面阐述的方法是通过粗跳步与细跳步来加速的,通过对加速因子Sp eedUP 的调整可以获得不同档次的加速需求.快进和快退算法流程图如图3.359(总第72期)一种快速的多媒体视频解码算法(马 礼等)360华 北 工 学 院 学 报2000年第4期2.4 倒播为了获得特殊的视觉效果,往往需要将视频图像序列反序播放出去,即倒播.要想实现视频图像倒播,则必须首先反向搜索到最近的一个I图像,并一次解码一个GOP,然后再反序播放出去.如果解完一个GOP,然后在播放出去,这样则势必导致播放过程的中间停顿.为了克服停顿,可以先预解一个GOP,然后在解下一个GOP的同时穿插播放上一个GOP的图像,这时为了方便,可申请一个双图像组缓冲区.图4为具体的算法流程图.2.5 从YUV到RGB的变换算法解码结束后,得到的是YUV格式的图像数据,要经过转换变成RGB格式之后才能显示,所以要由YUV格式变换到RGB格式,变换依据按式(2)进行.3 结 论多媒体信息流的解码可以用较快的算法实现,从而提高解码速度、节省解码用时间.多媒体信息解码在整个多媒体领域内只是一小部分,但从工作过程中可以看出多媒体技术飞速发展的趋势.研究取得了一些成绩,更主要的是通过研究发现了自己的不足之处,同时也找到了努力的方向.在信息时代的今天,信息的传递胜过一切,谁能掌握最新最及时的信息,谁就能抓住机会,多媒体技术无疑为信息时代的发展贡献了力量.参考文献:[1] 中国公用数字数据网[EB/O L].htt p://guig ang ptt g x cn/teleco m/ddn html,2000-5.[2] 陈维强,高文.M PEG视频编码比特速率控制算法的改进[J].软件学报,1998,(11):806~810.[3] 杨品,钟玉琢.M PEG-1运动图像压缩编码标准(ISO/IEC11172)[M].北京:机械工业出版社,1995.[4] 王兴伟,刘积仁,李华天.多媒体通信:需求与对策[J].小微型计算机系统,1997,18(3):1~7.[5] 李晓明.视听多媒体通信研究展望[J].电信科学,1995,(11):53~56.[6] 宋军,顾冠群.多媒体通信媒体间同步技术综述[J].电信科学,1996,(9):3~8.[7] 钟玉琢,李树青,林福宗,等.多媒体计算机技术[M].北京:清华大学出版社,1993.255~280.[8] Inter natio nal Sta ndar d ISO/I r matio n T echnolog y-G eneric Co ding o f M o ving Pictur es and A sso ciatedA udio[EB/CD].I SO/IEC JT C1/SC29/WG11,1994.A Fast Decoding Algorithm for Multimedia Video SingalM A Li1,ZH ANG Yong-mei1,M A Lan2,ZHANG Yong-lian3(1.Dept.of Co mputer Science and T echnolog y,No rt h China I nstitute of T echno lo gy,T aiyuan030051,China;2.L ong M ar ch A er ospace Co nt ro l Eng ineering Company,Beijing100038,China;3.Emplo yee Hospital o f the T hir teenth M etallur gy and Co nstr uct ion Com pany,T aiyuan030024,China)Abstract:Aim Finding a fast decoding metho d of m ultimedia video signal str eam.Methods By analyzing the coding and decoding process of multim edia video signal stream,it issug gested that the I imag e in the str eam is determined by combining the coarse and finesearching pr ocesses.Results An alg orithm for fast searching I image is fo und.Conclusion Decoding m ultimedia stream may be realized by a quicker algo rithm,im pro ve decodingspeed and save decoing tim e.Key words: m ultimedia;video;sy stem stream;prog ram stream;deco ding coding。

相关文档
最新文档