CN101119469A - 一种高清数字电视码流仪及播放器内存控制优化方法 - Google Patents
一种高清数字电视码流仪及播放器内存控制优化方法 Download PDFInfo
- Publication number
- CN101119469A CN101119469A CNA2006100890583A CN200610089058A CN101119469A CN 101119469 A CN101119469 A CN 101119469A CN A2006100890583 A CNA2006100890583 A CN A2006100890583A CN 200610089058 A CN200610089058 A CN 200610089058A CN 101119469 A CN101119469 A CN 101119469A
- Authority
- CN
- China
- Prior art keywords
- module
- file
- player
- user
- code stream
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Images
Landscapes
- Television Signal Processing For Recording (AREA)
Abstract
本发明公开了一种高清数字电视码流仪,包括由遥控器模块、XML解析模块、图形显示模块、播放器模块、网络升级模块组成的高清数字电视码流仪终端,还包括高清数字电视码流仪前端,所述高清数字电视码流仪前端由网络控制服务器端模块、版权文件加密模块、文件控制发行模块以及FTP服务器模块组成;所述高清数字电视码流仪终端中还包括功能模块、客户端网络控制模块、FTP客户端模块以及播放列表解析模块;所述的播放器模块中还包括播放列表管理单元、自适应文件格式检索单元、影片解密单元。本发明还公开了一种播放器内存控制优化方法。本发明的优点在于:具备加解密功能、可有效解决黑屏现象、实现了码流仪的网络控制。
Description
技术领域
本发明涉及嵌入式视频播放系统,特别涉及到嵌入式视频播放系统中播放器内存控制的优化方法。
背景技术
目前越来越多的音视频类码流仪产品采用嵌入式操作系统,如μClinux。μClinux实时操作系统可以支持很强大的功能,并有良好的可扩展性,在整个设备中起了承接的作用,并包含硬件的驱动,也为整个系统提供了内存管理,消息队列,以及一些网络协议等。此类嵌入式产品是一种高集成度的单芯片解决方案,它支持多种音视频解码,被广泛应用于先进的码流仪、媒体网关和需要对数字电视、各种视频进行解码的信息家电产品中。
在现有技术中,音视频类码流仪如图1所示,主要包括遥控器模块、XML解析模块、图形显示模块、网络模块、播放器模块。
遥控器模块主要是一种交互工具,它采用外部中断服务方式实现遥控器对码流仪的外部控制。它产生的红外脉冲信号的接收和处理由微处理器的GPIO(GeneralPurpose Input/Output)中断和计时器中断(timer interrupt)共同完成,通过读取GPIO中断寄存器和定时寄存器的内容来确定遥控器的前导码和每一个按键的32位信息码。
XML解析模块主要是解析已经定义好的XML文档,生成各类显示信息的数据结构列表和控制信息列表,并把解析出来的操作命令传递给其他模块。
图形显示模块处理XML解析出的操作命令,并显示XML解析信息的图形,它基于GFX图形加速器对图片,文字进行OSD层的显示。图形显示模块也有很好的扩展性,可以根据需求定义各种类型和功能的接口来满足对显示的需求,如字幕接口,快捷菜单接口,汉字接口等。
网络模块用于连接外部网络,通过网络模块可对码流仪作网络升级,以及下载片源。它可以支持网速可达10Mbps~100Mbps,并支持多种传输协议。
播放器模块是码流仪的核心部分,用于影片的播放。
在这种音视频类码流仪产品中,播放器模块是关键性的模块,其掌管着整个码流仪的核心部分,播放器模块能否正确、优质、高效地对音视频文件进行解码和播放对音视频类码流仪尤为重要。由于嵌入式系统对音视频的解码和播放建立在计算和显示的基础上,因此整个系统是以计算机技术为主要技术的,是一种专门针对功能、成本、可靠性等要求而设计的专用计算机系统。因此它与普通的PC机相比有如下优点:一、针对性较强,是一种电视码流仪平台;二、体积较小,适于家庭日常娱乐;三、以电视作为显示终端,方便与用户交互;四、成本相对于一台PC来说有明显的差距,适合大众消费者。但是出于性价比方面的考虑,嵌入式系统的资源通常是比较有限的,这也就需要开发人员在对产品进行开发时,要尽量地避免由于资源的浪费而引起的性能上的缺点。尤其是对于内存的管理尤为重要,如果不注意,通常会引起很多性能上的问题,如片源播放不连续、播放死机等问题。
由于播放器是整个产品的核心,因此对播放器的内存管理也就成了重中之重。在播放器打开和关闭的时间内,要对各种所需的内存空间进行分配和释放,通常在这段时间中电视屏幕处于黑屏状态,如果黑屏的时间较长,容易给用户一种死机的概念。而对于这种状态通常的解决办法是显示一些静态的提示信息,如“请稍等...”等。但是这种办法并不能从根本上解决此问题,而是在问题表面做文章。因此对于播放器的内存管理和彻底解决黑屏“假死机”现象的问题还有很大的优化余地。
另外由于本码流仪采用硬盘、移动硬盘作为片源的存储媒介,因此允许用户从硬盘以及移动硬盘中导入或导出文件。这种操作对于存在版权的文件是非常不安全的。因此对于安全性的处理也是至关重要的。
在网络控制上,现有码流仪只能通过网络进行升级服务,或下载文件。但是对于多台码流仪的中央控制并不完善,不具备网络控制功能。
发明内容
本发明的一个目的是克服现有码流仪不具备网络控制功能的缺陷,从而提供一种能够实现网络控制的码流仪。
本发明的另一个目的是克服现有码流仪不具备加密功能,不能实现对版权文件保护的缺陷,从而提供一种能够实现文件加密的码流仪。
本发明的另一个目的是克服现有码流仪中的播放器在打开和关闭时存在黑屏“假死机”现象的缺陷,从而提供一种播放器内存控制优化方法。
为了实现上述目的,本发明提供了一种高清数字电视码流仪,包括由遥控器模块、XML解析模块、图形显示模块、播放器模块、网络升级模块、硬盘组成的高清数字电视码流仪终端,还包括高清数字电视码流仪前端,所述高清数字电视码流仪前端由网络控制服务器端模块、版权文件加密模块、文件控制发行模块以及FTP服务器模块组成;所述高清数字电视码流仪终端中还包括功能模块、客户端网络控制模块、FTP客户端模块以及用户播放列表解析模块;其中,所述的版权文件加密模块与所述的文件控制发行模块相连,所述的文件控制发行模块与FTP服务器模块连接,所述的网络控制服务器端模块则分别与FTP服务器模块和终端中的客户端网络控制模块相连,所述的FTP服务器模块与终端中的FTP客户端模块连接;所述的客户端网络控制模块分别与所述的FTP客户端模块和所述的功能模块相连,所述的FTP客户端模块分别连接到用户播放列表解析模块和终端的硬盘上,所述的用户播放列表解析模块和硬盘连接到播放器模块,所述的遥控器模块与所述的XML解析模块连接,所述的XML解析模块分别与所述的功能模块和所述的图形显示模块相连,所述的播放器模块与所述的图形显示模块都与外部的电视机连接;所述的网络升级模块通过网络与外部的升级站点连接;所述的播放器模块中还包括播放列表管理单元、自适应文件格式检索单元、影片解密单元。
上述技术方案中,所述的高清数字电视码流仪前端是超级用户的使用服务器,通过在计算机上安装相应的软件得到所述的高清数字电视码流仪前端,其中,所述的网络控制服务器端模块用于对多台码流仪实现中央控制;所述的版权文件加密模块用于对超级用户的有版权的文件进行加密;所述的文件控制发行模块用于超级用户对所要发行的文件进行发行处理,并生成自行定义的扩展名为ADU的文件。
上述技术方案中,所述的功能模块包括删除/全删除单元、拷贝/全拷贝单元、硬盘格式化单元、用户创建自定义列表单元、磁盘信息检索单元以及输出制式设置单元。
上述技术方案中,所述的客户端网络控制模块解析服务器前端通过网络发来的指令信息,并对其进行响应。
上述技术方案中,所述的FTP客户端模块用来使码流仪终端通过FTP协议访问前端的FTP服务器。
上述技术方案中,所述的播放列表解析模块用来对超级用户在服务器内,使用加密片源打包工具制作出的用户播放列表扩展名为ADU的文件进行解析。
本发明还提供了一种应用于所述的高清数字电视码流仪的播放器内存控制优化方法,包括:
1)、播放器模块创建并初始化视频解码器、音频解码器、解码器存储池、文件格式检索句柄,从缓冲区中读取用户控制参数,所述的用户控制参数包括输出制式、视频比例、声道选择、用户选择的文件名;
2)、根据步骤1)中得到的用户控制参数中的用户选择的文件名,判断文件的类型,若为扩展名为ADU的文件,则送入播放列表管理单元,执行下一步,否则,送入自适应文件格式检索单元,执行步骤4);
3)、播放列表管理单元从缓冲区中读取在播放器模块外解析好的扩展名为ADU的数据,标记当前播放的文件,并随时准备对用户通过遥控器传入的控制信息做出判断并响应,如用户想要跳到上/下一曲时,播放器设置为列表文件循环播放,并检索列表中当前播放的文件的上/下一个文件名称,记录并送入播放器中,同时修改当前播放的文件的标志位,以备用户的下一次选择,如用户想要选择某个文件进行播放时,播放器设置为该文件的循环播放,并从列表中检索用户选择的文件,记录并送入播放器中,并修改当前播放的文件的标志位,以备用户的下一次选择;
在列表循环播放时,播放列表管理单元关闭上一播放文件,对文件指针清空,并对音视频格式的参数复位,使之还原到初始状态,同时还对自适应文件格式检索单元中所需的指针进行清空;
4)、自适应文件格式检索单元打开文件,创建探测文件所需的文件格式检索句柄,随后读入文件头到内存中进行解析,根据MPEG标准格式比对出文件的视频类型,根据读出的视频类型,对MPEG片源进行音频检索,最后根据检索的结果对文件的音频、视频类型进行设置以选择正确的音视频解码器;
5)、进入无限循环播放单元,在该单元中根据步骤4)得到的文件的音频、视频类型选择合适的音视频播放器对数据进行解码;
6)、读取缓存器容量大小的文件内容到内存中;
7)、影片解密单元对内存中的文件内容进行解密;
8)、解密后的数据送入底层解复用;
9)、判断当前文件是否播放完毕,没有播放完毕,则执行步骤5),若播放完毕,则执行下一步;
10)、清空文件缓存器和解码器存储池,视频解码器可不清除,保留最后一帧;
11)、判断当前文件的播放模式为单文件循环播放还是列表循环播放,若为单文件循环播放,则执行步骤5),若为列表文件循环播放,则执行步骤3),若用户退出播放器,则执行下一步;
12)、关闭播放器并释放视频解码器、音频解码器、解码器存储池、文件格式检索句柄。
在所述的步骤4)中,在所述的对MPEG片源进行音频检索时,对于音频类型的检索每次读出0.5K字节循环送入缓存器中进行硬件解复用,并比对音频标志位,对其进行标注,一旦音频标志位被确定,循环立刻退出。
上述技术方案中,在所述的步骤6)中,所述的缓存器容量大小为16k。
本发明的优点在于:
1、本发明的高清数字电视码流仪具有加密、解密功能,实现了对版权文件的保护。
2、本发明的高清数字电视码流仪中所采用的播放器内存控制优化方法有效地解决了“黑屏”现象。
3、本发明的高清数字电视码流仪具备网络控制功能,可实现对码流仪的中央控制,不必对码流仪逐一操作,提高了控制效率。
附图说明
图1为现有码流仪的结构图;
图2为本发明的高清数字电视码流仪的结构图;
图3为本发明的高清数字电视码流仪的前端与终端的连接关系图;
图4为高清数字电视码流仪终端的播放器模块中包含的控制单元以及之间的关系示意图;
图5为高清数字电视码流仪终端的功能模块中包含的控制单元及各个单元之间的关系示意图;
图6为码流仪网络控制服务器端模块的结构图;
图7为播放器模块的工作流程图;
图8为播放列表管理单元的工作流程图;
图9为播放器模块检索文件格式时的流程图;
图10为内存分配、参数复位以及内存释放的示意图。
具体实施方式
下面结合附图和具体实施方式对本发明作进一步的说明。
本发明的高清数字电视码流仪包括高清数字电视码流仪终端和高清数字电视码流仪前端,其中,如图2所示,高清数字电视码流仪终端主要包括遥控器模块、图形显示模块、XML解析模块、网络升级模块、客户端网络控制模块、FTP客户端模块、用户播放列表解析模块、播放器模块和功能模块。
如图2所示,高清数字电视码流仪前端包括码流仪的网络控制服务器端模块,版权文件加密模块,文件控制发行模块以及FTP服务器模块。在一个实施例中,所述的高清数字电视码流仪前端是在计算机上安装相关软件实现的。
下面具体说明终端与前端模块的相互关系和各个模块的功用。
终端与前端的相互关系如图3所示。前端是超级用户的使用服务器,使用一台计算机来进行控制,它提供了四种功能,一是文件加密功能,由版权文件加密模块实现;二是文件发行功能,由文件控制发行模块实现;三是网络中控功能,由网络控制服务器端模块实现;四是FTP服务器功能,要实现这一功能需要在前端安装FTP服务器,通过网络中控功能对码流仪终端发出指令,令码流仪终端到前端的FTP服务器上下载指定的影片。码流仪终端主要是用来播放超级用户制作发行的影片和未经加密的影片,另还可响应前端的指令实现中央控制以及作为FTP客户端访问前端的FTP服务器端进行文件的下载。
码流仪终端主要包含9个模块,各个模块的具体功能描述如下。
(1)遥控器模块:遥控器模块主要是一种交互工具,它采用外部中断服务方式实现遥控器对码流仪的外部控制。它产生的红外脉冲信号的接收和处理由微处理器的GPIO(General Purpose Input/Output) 中断和计时器中断(timer interrupt)共同完成,通过读取GPIO中断寄存器和定时寄存器的内容来确定遥控器的前导码和每一个按键的32位信息码。本发明码流仪终端中的遥控器模块与现有码流仪中的遥控器模块相同。
(2)XML解析模块:XML解析模块主要是解析已经定义好的XML文档,生成各类显示信息的数据结构列表和控制信息列表,并把解析出来的操作命令传递给图形显示模块或功能模块。其优越性在于可以根据需求来构建和编写所需的语法和解析算法。
(3)图形显示模块:图形显示模块处理XML解析出的操作命令,并显示XML解析信息的图形,它基于GFX图形加速器对图片,文字进行OSD层的显示。图形显示模块也有很好的扩展性,可以根据需求定义各种类型和功能的接口来满足对显示的需求,如字幕接口,快捷菜单接口,汉字接口等。
(4)网络升级模块:网络升级模块主要是用来维护码流仪终端中的软件,使码流仪终端中的软件可以通过网络自动更新。当码流仪终端与网络相连接,就会自动寻找指定升级站点下发的最新软件,如果指定升级站点中的最新软件比码流仪中的软件版本号高,则码流仪自动更新自身软件。
(5)客户端网络控制模块:客户端网络控制模块是用来对码流仪前端的网络控制服务器端模块进行响应的。该模块主要是解析服务器前端通过网络发来的指令信息,并对其进行响应。其主要功能是通过ftp协议对服务器前端ftp服务器内的文件进行ftp下载,另外还可取代遥控器来对码流仪进行所有功能的控制。
(6)FTP客户端模块:FTP客户端模块是用来使码流仪终端可以通过FTP协议访问前端的FTP服务器。当码流仪客户端网络控制模块解析出中央控制命令需要码流仪到前端的服务器上去下载文件时,码流仪终端立刻启动FTP客户端去建立连接、访问前端的FTP服务器,并下载文件到码流仪终端的硬盘中。
(7)用户播放列表解析模块:用户播放列表解析模块用来对超级用户在服务器内,使用加密片源打包工具制作出的用户播放列表扩展名为ADU的文件进行解析。该模块解析出的数据包含用户播放列表中的文件定义头、文件个数、文件名等信息。用户播放列表解析模块解析出的数据后,把数据存放在内存中,以供播放器使用。该模块还可对扩展名为ADU的文件中的错误信息做出判断和修正,以达到容错要求。其中,所述的ADU文件是自定义的一种文件格式,这个文件是由前端文件打包软件生成的,里面包含了文件头、用户选择的文件名、文件个数等信息
(8)播放器模块是码流仪的核心模块,它不仅包含了MPEG2播放器单元,还嵌入了其他的控制单元,其中包括:播放列表管理单元、自适应文件格式检索单元、影片解密单元。图4描述了播放器中包含的控制单元以及之间的关系。播放列表管理单元主要是用来处理用户在播放时通过遥控器传入的控制信息,以配合播放器达到文件控制的目的,如单文件循环播放、列表文件循环播放、选择切换到列表文件中的某一文件进行播放等操作。自适应文件格式检索单元用来解析文件的音频和视频格式,以此来对播放器的音视频解码器进行正确的设置。影片解密单元主要是用来对前端加密的影片进行终端解密。为了配合自适应文件格式检索单元的处理,得到最优的处理效果,前端加密软件采用前1024字节不加密,而终端影片解密单元采用前1024字节跳过文件解密软件不解密的方式。
(9)功能模块:功能模块中包含了对文件以及硬盘的各种操作。主要操作单元有:删除/全删除单元、拷贝/全拷贝单元、硬盘格式化单元、用户创建自定义列表单元、磁盘信息检索单元以及输出制式设置单元。如图5所示为功能模块的控制单元及各个单元之间的关系。删除/全删除单元用于对码流仪中文件的删除,并可通过对用户播放列表ADU文件的删除来实现对文件列表中所有文件的一次性删除。拷贝/全拷贝单元用于实现对码流仪中文件的移动硬盘到硬盘、光驱到硬盘、硬盘到移动硬盘的拷贝和全拷贝,并可通过对用户播放列表ADU文件的拷贝来实现对文件列表中所有文件的一次性删除。硬盘格式化单元用于对硬盘进行格式化维护,以达到在硬盘分区被毁坏、磁盘碎片较多的情况下提供硬盘维护功能。用户创建自定义列表单元是一种面向用户的单元,其通过用户选择文件后,自动形成自定义ADU文件的形式,使用户创建自己喜欢的列表,进行ADU列表文件循环的播放。磁盘信息检索单元提供了检索硬盘和移动硬盘空间大小的功能。输出制式设置用于设置用户的显示制式,如YPbPr、A/V、HDMI等。并可对用户设置好的信息存入内存中,以便用户可以在下次开机时不必再作调整。
本发明的码流仪前端(服务器部分)主要包含4个模块。
(1)码流仪网络控制服务器端模块:码流仪网络控制服务器端模块主要用于通过一台计算机作为服务器对多台码流仪实现中央控制。如图6所示,该模块可以通过参数的设定对被选定单个或多个IP地址的码流仪进行控制(一个码流仪内附一个IP地址),并可以对码流仪进行一切遥控器所能完成的工作,另外还可通过控制码流仪的FTP功能来实现码流仪从服务器的FTP server上下载或上传文件。所有控制命令使用自定义格式,通过网络使用TCP/IP协议进行传输。如图7所示为码流仪网络控制服务器端模块的结构图。
(2)版权文件加密模块:版权文件加密模块用于对超级用户的有版权的文件进行加密。由于码流仪采用硬盘和移动硬盘存储文件,因此文件的导入和导出是必要的,这种情况下版权文件存在安全问题。虽然码流仪中对于硬盘到移动硬盘的拷贝作了权限控制处理(输入密码键正确才能从硬盘中到出文件),但是仍然不能保证文件的安全性。因此对于超级用户,可通过安装在前端的版权文件加密软件对文件进行加密处理。这样只有配合终端的嵌入在播放器内部的影片解密单元一起使用才能对加密影片进行播放,否则无法观看影片。有效的防止了版权文件从硬盘被导出后的流失。
(3)文件控制发行模块:文件控制发行模块用于超级用户对所要发行的文件进行发行处理,并生成自行定义的扩展名为ADU的文件。该软件可让用户对加密后要发行的文件进行选择,并可控制播放的顺序,在设置完成后生成终端可以解析的用户播放列表ADU文件。
(4)FTP服务器模块:FTP服务器是现有技术,可从网络上直接下载得到。
在工作时,码流仪前端的文件控制发行模块根据用户的命令生成用户播放列表,由版权文件加密模块对该列表进行加密,然后通过FTP服务器模块发送到终端的FTP客户端模块中,此外,在FTP服务器端模块中所存储的影片的数据也通过FTP客户端模块传送到码流仪终端。码流仪终端在接收到数据或命令后,存储在本地硬盘中,然后由用户播放列表解析模块解析列表文件,然后把解析后的列表文件传入播放器模块中。与此同时,终端中的遥控器模块从用户手中的遥控器接收命令,并把命令传送到XML解析模块中解析,并通过图形显示模块显示到外部的电视上,用户通过观看电视屏幕做进一步的交互操作。播放器模块根据用户发出的命令,从列表文件中选择某一文件进行解码,并将解码后的数据输出到外部的电视机上显示。
下面对播放器内存控制的优化作进一步的阐述。
采用本发明的高清数字电视码流仪,通过内存优化方法使得播放器在嵌入播放列表管理单元、自适应文件格式检索、影片解密单元后的工作效率仍比现有码流仪播放器的工作效率高,并可解决现有码流仪在播放用户列表中的文件过程中常常出现的黑屏现象。所述的高清数字电视码流仪的播放器工作流程如图8所示。
下面分为四部分来具体介绍内存的优化方法以及黑屏现象的解决。四部分包括:一:播放器提供的播放方式;二:播放器与嵌入播放器各个功能单元的关系和流程;三:内存优化的具体方法;四:黑屏现象的解决。
(1)播放器提供的播放方式
码流仪中允许播放两种类型的文件。一种是扩展名为ADU的文件,即超级用户在码流仪前端制作和发行的播放列表文件。另一种是非列表文件,该种文件就是通常所说的MPEG或WMV文件,其可以是经过加密的也可以是未经加密的。对于ADU文件,其实是用户的播放列表,当中既可包含了超级用户想要发行的加密片源的名称,也可包括未经加密的免费片源的名称。对于这两种文件的播放,播放器所提供的功能不同。对于单一文件(加密或未经加密的MPEG或WMV文件)的播放,播放器只提供该文件的循环播放。而对于播放ADU文件,播放器通过获取用户播放列表解析模块所解析出的文件列表名称来对列表中的文件提供整个列表文件的循环播放、播放上/下/某一曲文件和列表中某个文件的循环播放的功能。如图8是播放列表管理单元的简要流程图。
对于播放扩展名为ADU的文件时,上述功能的判断是由播放器中的播放列表管理单元来操作的。这样可以使得播放器在结束一个片源并开启下一个片源的播放时不用退出播放器。从而节省了播放器初始化内存和播放结束时释放内存所需要的时间。因为这段时间图像没有显示,即黑屏现象。因此把播放列表管理单元嵌入播放器内部是解决内存优化和黑屏现象第一步。
(2)播放器与嵌入播放器各个功能单元的关系和流程。
图7是播放器的主流程与嵌入播放器的各个功能单元的关系和流程。
首先当开启播放器时先要对播放器的各种内存进行初始化,以分配空间用来播放,并对各种播放器的各种参数进行设置。当内存分配结束,设置参数完成后播放器开始判断是否是ADU文件,如果是ADU文件则进入播放列表管理单元进行文件选择,如果不是,则跳过此步进入自适应文件格式检索单元。自适应文件格式检索单元对要播放的文件进行文件的音视频格式检索。检索完成后进入循环读入文件的播放流程。影片解密单元嵌入在循环读入文件的播放流程中。由于播放器是一次读入16K字节到内存中,再送入底层进行硬件解复用。因此在循环读入数据到内存中后,把数据送入影片解密单元对数据进行还原解密处理,之后再把解密还原的数据送入底层进行解复用。当用户强制退出播放器时,播放器释放其申请的内存空间,并退出播放器流程回到主菜单下。
步骤100:各种内存初始化,并设置参数。高清数字电视码流仪中的播放器模块从缓冲区中读取用户控制参数,如输出制式、视频比例、声道选择、用户选择的文件名(是ADU列表文件还是MPEG或WMV视频文件)。播放器模块创建视频解码器(Video Decoder)、解码器存储池(Demux DramPool)等内存,并对它们进行初始化。另外对于从缓冲区中读取用户控制参数,播放器要根据这些参数对播放器内部的参数进行设置。
步骤101:播放列表管理单元。当播放器判断送入播放器的用户控制信息中扩展名是ADU的文件,则进入播放列表管理单元,并从缓冲区中读取在播放器外解析好的ADU数据。标记当前播放的文件,对随时准备对用户通过遥控器传入的控制信息做出判断并响应。如用户想要跳到上/下一曲时,播放器设置为列表文件循环播放,并检索列表中当前播放的文件的上/下一个文件名称,记录并送入播放器中,同时修改当前播放的文件的标志位,以备用户的下一次选择。如用户想要选择某个文件进行播放时,播放器设置为该文件的循环播放。并从列表中检索用户选择的文件,记录并送入播放器中,并修改当前播放的文件的标志位,以备用户的下一次选择。图9所示为播放列表管理单元的简要流程图。
步骤102:自适应文件格式检索单元。播放器在检索文件的音视频类型与播放器播放文件是两个分开的步骤,其需要打开文件两次。播放器检索文件格式的流程如图9所示。其在开始检索文件时先要把文件打开,并创建探测文件所需的句柄DetectorHandle,随后读入文件头到内存中进行解析。根据MPEG标准格式比对出文件的视频类型。随后根据读出的视频类型,对MPEG片源进行音频检索。对于音频类型的检索每次读出0.5K字节循环送入buffer中进行硬件解复用。并比对音频标志位,对其进行标注,一旦音频标志位被确定,循环立刻退出。最后对文件的音频,视频类型进行设置以选择正确的音视频解码器。
步骤103:影片解密单元。由于有些影片是加密过的文件,如果播放器直接读入文件送入底层进行硬件解复用,文件是无法播放的,必须通过影片解密单元还原成原始数据后才能送入底层进行硬件解复用。影片解密单元从文件的第1024开始解密得到密钥。
步骤104:播放单元:将文件指针定位到文件头,为文件的播放做好最后的准备工作。之后循环读文件的入口,进入文件的播放。这里使用无限循环来播放文件,只有当文件读完、文件读数据失败,或是用户控制强制退出时,才从无限循环中跳出。读入buffer大小的文件数据,并送入底层解码器。在步骤102中,已经检索到了文件中视频流与音频流的类型,在本步骤中,只要将视频流和音频流送入与其类型相适应的解码器中进行解码即可。在本实施例中,所述的buffer大小的数据通常为16k。在播放器的底层解码器中,对buffer大小的数据进行解码,当buffer中的数据解码完成后,重新读入数据;若当前文件的数据解码完毕,则判断当前的播放模式为单文件循环播放还是列表文件循环播放,若为单文件循环播放,则跳转到步骤103,若为列表文件循环播放,则跳转到步骤101;若用户退出播放器,则执行下一步。
步骤105:播放器退出和各种内存的释放:释放所有使用的内存,以保证最小的资源消耗和系统性能的稳定。
(3)内存优化的具体方法
如图10所示为内存分配、内容复位以及释放的示意图。
由于使用了ADU文件,使得播放器在结束一个片源并开启下一个片源的播放时不用退出播放器,从而节省了播放器初始化内存和播放结束时释放内存所需要的时间。因此需要对播放器的内存分配进行重新分配,使之达到最优状态。
播放器对于内存的分配,初始化是需要时间的,因此在ADU文件播放的情况下尽可能的使内存分配在进入播放列表管理单元之前完成。这样对于ADU文件中的文件循环播放,不用每次都去申请和释放内存空间,大大节省了申请和释放内存空间所需的时间。
步骤200:在进入播放器后,先要初始化所有的内存,如视频解码器(VideoDecoder)、音频解码器(Video Decoder)、解码器存储池(Demux DramPool)、文件格式检索句柄DetectorHandle,这些内存的初始化要保证在彻底退出播放器之前不再去申请或释放。
步骤201:在进入播放列表管理单元后流程开始了列表文件的循环播放,由于每次当一个片源播放停止,另一个片源开启时都从这里开始循环,因此在这之间避免了内存的分配,但是由于此时内存中的内容没有清空,如上一影片的视频最后一帧留在了视频解码器得buffer中,而且由于文件格式的不同文件需要对音视频的各种参数进行重新设置。因此在进入播放列表管理单元后首先要确认已经关闭了上一播放文件,并对文件指针进行清空,不能让其仍然指向上一播放的文件,其次需要对音视频格式的参数复位,使之还原到初始状态,否则会对一文件通过自适应文件格式检索出的音视频格式参数造成影响,另外需要对自适应文件格式检索单元中所需的指针进行清空。
步骤202:通过步骤201确定需要播放的下一文件后,需要为自适应文件格式检索单元打开文件并读入文件到存放文件内容的buffer中,检索完成后还要及时关掉文件,清空存放文件内容的buffer。因为文件在正式播放时还要被打开,因此此时关闭文件是必须的,否则文件被打开两次,将会造成播放死机。
步骤203:最后进入播放的无限循环状态,直到文件播放完成后程序回到播放列表管理单元继续下一影片的播放,或用户强制播放弃选择的影片,或用户强制关闭播放器。无论选择上述哪种操作在退出无限循环后都要对内存储池中的和存放文件内容的buffer清空。这样才不至于干扰下一文件的解析和播放。
步骤204:只有当彻底关闭播放器时,才释放掉如视频解码器(Video Decoder)、音频解码器(Video Decoder)、解码器存储池(Demux DramPool)、文件格式检索句柄DetectorHandle这些内存空间。
通过对上述方法对内存重新优化,使得文件循环播放的时候不必在每次退出播放器对需要复位的参数进行重新设置,也不必每次都去申请和释放内存,大大提高了播放器的播放效率,缩短了因每次都需要进入和退出播放器,并申请和释放内存所占用的时间。
(4)黑屏现象的解决
黑屏现象是指在进入播放器和退出播放器时,播放器由于对内存进行分配和释放需要占用一定时间,而这期间屏幕上没有图像,因此被成为黑屏现象。如果在播放一个用户列表时,用户列表中所包含的文件普遍较小时,播放器就会频繁的退出、进入。退出大约占用2秒时间,而进入播放器同样需要1-2秒的时间,这样在连续播放列表文件时就会频繁的在屏幕上出现3-4秒的黑屏现象。
通过在播放器中嵌入播放列表管理单元、自适应文件格式检索单元、影片解密单元,并对内存进行优化,达到了播放器可连续播放文件无需退出的效果,有效地解决了黑屏现象。
首先在播放器中嵌入播放列表管理单元,使用户从外部操作播放器时,播放器可以不必退出就可对用户播放列表进行检索和控制。避免了播放器退出和进入时所需的内存分配和释放的时间,使得黑屏现象的时间可以大大缩短。
其次在播放器中嵌入自适应文件格式检索单元,使得播放器可以自行检索文件的音视频格式,并设置播放器的音视频参数。避免了因为需要从播放器外部送入音视频参数而不得不退出播放器的问题。而且由于前端对文件进行加密时,前1024K并不加密,因此有效地避免了在自适应文件格式检索单元中还要先解密在检索文件格式的问题,大大提高了检索的速度,使得黑屏现象的时间可以大大缩短
另外在播放器模块中嵌入影片解密单元使得播放器可以边解密边播放,而不必在播放器外部进行全文件解密。大大节省了解密的时间。
最后结合上述三个模块的嵌入对内存进行了优化整合,使得其达到了内存的分配、复位和释放的有效分离,从而不必在循环播放列表中文件时退出播放器。另外由于在一个文件结束时,在视频解码器的内存中保留了视频的最后一帧直到下一文件的第一帧送入视频解码器前才去清空内存。这样在连续循环播放文件时,黑屏现象就彻底消失了,所看到的只是最后一帧图像停留不足1秒的时间后就开始播放下一片源。
因此综上所述,对播放器所需模块进行播放器嵌入使播放器不必退出,对内存优化整合使其减少对不必要的内存进行分配和释放来缩短内存分配和释放所带来的时间上的开销,对视频最后一帧的保留使得有图像停留在屏幕上直到下一文件开始。图像停留的时间与内存的优化整合成正比,随着内存的优化整合,所需的时间开销大大缩短,图像停留的时间也大大缩短,并可以以人眼察觉不到的速度进入下一节目,其效果好像是在观看一个片源,而不是多个片源。这样就有效地解决了黑屏现象。
Claims (9)
1.一种高清数字电视码流仪,包括由遥控器模块、XML解析模块、图形显示模块、播放器模块、网络升级模块、硬盘组成的高清数字电视码流仪终端,其特征在于,还包括高清数字电视码流仪前端,所述高清数字电视码流仪前端由网络控制服务器端模块、版权文件加密模块、文件控制发行模块以及FTP服务器模块组成;所述高清数字电视码流仪终端中还包括功能模块、客户端网络控制模块、FTP客户端模块以及用户播放列表解析模块;其中,所述的版权文件加密模块与所述的文件控制发行模块相连,所述的文件控制发行模块与FTP服务器模块连接,所述的网络控制服务器端模块则分别与FTP服务器模块和终端中的客户端网络控制模块相连,所述的FTP服务器模块与终端中的FTP客户端模块连接;所述的客户端网络控制模块分别与所述的FTP客户端模块和所述的功能模块相连,所述的FTP客户端模块分别连接到用户播放列表解析模块和终端的硬盘上,所述的用户播放列表解析模块和硬盘连接到播放器模块,所述的遥控器模块与所述的XML解析模块连接,所述的XML解析模块分别与所述的功能模块和所述的图形显示模块相连,所述的播放器模块与所述的图形显示模块都与外部的电视机连接;所述的网络升级模块通过网络与外部的升级站点连接;所述的播放器模块中还包括播放列表管理单元、自适应文件格式检索单元、影片解密单元。
2.根据权利要求1所述的高清数字电视码流仪,其特征在于,所述的高清数字电视码流仪前端是在计算机上安装相应的软件得到的,其中,所述的网络控制服务器端模块用于对多台码流仪终端实现中央控制;所述的版权文件加密模块用于对超级用户的有版权的文件进行加密;所述的文件控制发行模块用于超级用户对所要发行的文件进行发行处理,并生成自行定义的扩展名为ADU的文件。
3.根据权利要求1所述的高清数字电视码流仪,其特征在于,所述的功能模块包括删除/全删除单元、拷贝/全拷贝单元、硬盘格式化单元、用户创建自定义列表单元、磁盘信息检索单元以及输出制式设置单元。
4.根据权利要求1所述的高清数字电视码流仪,其特征在于,所述的客户端网络控制模块解析服务器前端通过网络发来的指令信息,并对其进行响应。
5.根据权利要求1所述的高清数字电视码流仪,其特征在于,所述的FTP客户端模块用来使码流仪终端通过FTP协议访问前端的FTP服务器。
6.根据权利要求1所述的高清数字电视码流仪,其特征在于,所述的播放列表解析模块用来对超级用户在服务器内,使用加密片源打包工具制作出的用户播放列表扩展名为ADU的文件进行解析。
7.一种应用于权利要求1所述的高清数字电视码流仪的播放器内存控制优化方法,包括:
1)、播放器模块创建并初始化视频解码器、音频解码器、解码器存储池、文件格式检索句柄,从缓冲区中读取用户控制参数,所述的用户控制参数包括输出制式、视频比例、声道选择、用户选择的文件名;
2)、根据步骤1)中得到的用户控制参数中的用户选择的文件名,判断文件的类型,若为扩展名为ADU的文件,则送入播放列表管理单元,执行下一步,否则,送入自适应文件格式检索单元,执行步骤4);
3)、播放列表管理单元从缓冲区中读取在播放器模块外解析好的扩展名为ADU的数据,标记当前播放的文件,并随时准备对用户通过遥控器传入的控制信息做出判断并响应,如用户想要跳到上/下一曲时,播放器设置为列表文件循环播放,并检索列表中当前播放的文件的上/下一个文件名称,记录并送入播放器中,同时修改当前播放的文件的标志位,以备用户的下一次选择,如用户想要选择某个文件进行播放时,播放器设置为该文件的循环播放,并从列表中检索用户选择的文件,记录并送入播放器中,并修改当前播放的文件的标志位,以备用户的下一次选择;
在列表循环播放时,播放列表管理单元关闭上一播放文件,对文件指针清空,并对音视频格式的参数复位,使之还原到初始状态,同时还对自适应文件格式检索单元中所需的指针进行清空;
4)、自适应文件格式检索单元打开文件,创建探测文件所需的文件格式检索句柄,随后读入文件头到内存中进行解析,根据MPEG标准格式比对出文件的视频类型,根据读出的视频类型,对MPEG片源进行音频检索,最后根据检索的结果对文件的音频、视频类型进行设置以选择正确的音视频解码器;
5)、进入无限循环播放单元,在该单元中根据步骤4)得到的文件的音频、视频类型选择合适的音视频播放器对数据进行解码;
6)、读取缓存器容量大小的文件内容到内存中;
7)、影片解密单元对内存中的文件内容进行解密;
8)、解密后的数据送入底层解复用;
9)、判断当前文件是否播放完毕,没有播放完毕,则执行步骤5),若播放完毕,则执行下一步;
10)、清空文件缓存器和解码器存储池,视频解码器可不清除,保留最后一帧;
11)、判断当前文件的播放模式为单文件循环播放还是列表循环播放,若为单文件循环播放,则执行步骤5),若为列表文件循环播放,则执行步骤3),若用户退出播放器,则执行下一步;
12)、关闭播放器并释放视频解码器、音频解码器、解码器存储池、文件格式检索句柄。
8.根据权利要求7所述的播放器内存控制优化方法,其特征在于,在所述的步骤4)中,在所述的对MPEG片源进行音频检索时,对于音频类型的检索每次读出0.5K字节循环送入缓存器中进行硬件解复用,并比对音频标志位,对其进行标注,一旦音频标志位被确定,循环立刻退出。
9.根据权利要求7所述的播放器内存控制优化方法,其特征在于,在所述的步骤6)中,所述的缓存器容量大小为16k。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2006100890583A CN101119469B (zh) | 2006-08-01 | 2006-08-01 | 一种嵌入式高清数字电视码流仪及播放器内存控制优化方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2006100890583A CN101119469B (zh) | 2006-08-01 | 2006-08-01 | 一种嵌入式高清数字电视码流仪及播放器内存控制优化方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN101119469A true CN101119469A (zh) | 2008-02-06 |
CN101119469B CN101119469B (zh) | 2011-07-27 |
Family
ID=39055366
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN2006100890583A Expired - Fee Related CN101119469B (zh) | 2006-08-01 | 2006-08-01 | 一种嵌入式高清数字电视码流仪及播放器内存控制优化方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN101119469B (zh) |
Cited By (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101339789B (zh) * | 2008-08-13 | 2010-08-18 | 中兴通讯股份有限公司 | 一种多媒体引擎的实现方法 |
CN101882079A (zh) * | 2010-06-13 | 2010-11-10 | 深圳市万兴软件有限公司 | 多媒体网页录制的方法和装置 |
CN102723086A (zh) * | 2011-05-05 | 2012-10-10 | 新奥特(北京)视频技术有限公司 | 一种智能图文动画更新播放的方法 |
CN102752584A (zh) * | 2011-04-18 | 2012-10-24 | 安凯(广州)微电子技术有限公司 | 一种在低端嵌入式产品播放视频的方法、装置及终端 |
CN104883540A (zh) * | 2015-05-13 | 2015-09-02 | 成都三零凯天通信实业有限公司 | 一种基于中标麒麟操作系统的视频监控客户端系统 |
CN105681913A (zh) * | 2016-01-12 | 2016-06-15 | 青岛海信电器股份有限公司 | 多屏互动方法及装置 |
CN105898539A (zh) * | 2013-05-15 | 2016-08-24 | 孔涛 | 使用hevc视频解码的超高清数字电视接收机 |
CN106101750A (zh) * | 2016-08-08 | 2016-11-09 | 深圳市众幕电影科技有限公司 | 映前广告播放控制系统及其控制方法 |
Family Cites Families (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20020003541A (ko) * | 1999-10-29 | 2002-01-12 | 이데이 노부유끼 | 디지털 데이터 전송방법과 장치, 디지털 데이터재생방법과 장치, 디지털 데이터 복사방법과 장치, 데이터기록매체와, 디지털 데이터의 저장 및 재생방법 |
US8458754B2 (en) * | 2001-01-22 | 2013-06-04 | Sony Computer Entertainment Inc. | Method and system for providing instant start multimedia content |
SG99387A1 (en) * | 2001-02-02 | 2003-10-27 | Matsushita Electric Ind Co Ltd | Content usage management system and content usage management method |
JP2004005309A (ja) * | 2002-06-03 | 2004-01-08 | Matsushita Electric Ind Co Ltd | コンテンツ配信システムおよびそれに関する方法または記録媒体またはプログラム |
US8291236B2 (en) * | 2004-12-07 | 2012-10-16 | Digital Keystone, Inc. | Methods and apparatuses for secondary conditional access server |
CN100589481C (zh) * | 2005-01-14 | 2010-02-10 | 中兴通讯股份有限公司 | 一种数据同步服务器存储资源处理方法 |
-
2006
- 2006-08-01 CN CN2006100890583A patent/CN101119469B/zh not_active Expired - Fee Related
Cited By (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101339789B (zh) * | 2008-08-13 | 2010-08-18 | 中兴通讯股份有限公司 | 一种多媒体引擎的实现方法 |
CN101882079B (zh) * | 2010-06-13 | 2013-04-03 | 深圳市万兴软件有限公司 | 多媒体网页录制的方法和装置 |
CN101882079A (zh) * | 2010-06-13 | 2010-11-10 | 深圳市万兴软件有限公司 | 多媒体网页录制的方法和装置 |
CN102752584A (zh) * | 2011-04-18 | 2012-10-24 | 安凯(广州)微电子技术有限公司 | 一种在低端嵌入式产品播放视频的方法、装置及终端 |
CN102723086B (zh) * | 2011-05-05 | 2017-04-12 | 新奥特(北京)视频技术有限公司 | 一种智能图文动画更新播放的方法 |
CN102723086A (zh) * | 2011-05-05 | 2012-10-10 | 新奥特(北京)视频技术有限公司 | 一种智能图文动画更新播放的方法 |
CN105898539A (zh) * | 2013-05-15 | 2016-08-24 | 孔涛 | 使用hevc视频解码的超高清数字电视接收机 |
CN105898539B (zh) * | 2013-05-15 | 2018-12-25 | 宁夏天绿健知识产权运营有限公司 | 使用hevc视频解码的超高清数字电视接收机 |
CN104883540A (zh) * | 2015-05-13 | 2015-09-02 | 成都三零凯天通信实业有限公司 | 一种基于中标麒麟操作系统的视频监控客户端系统 |
CN105681913A (zh) * | 2016-01-12 | 2016-06-15 | 青岛海信电器股份有限公司 | 多屏互动方法及装置 |
CN105681913B (zh) * | 2016-01-12 | 2019-02-19 | 青岛海信电器股份有限公司 | 多屏互动方法及装置 |
CN106101750A (zh) * | 2016-08-08 | 2016-11-09 | 深圳市众幕电影科技有限公司 | 映前广告播放控制系统及其控制方法 |
CN106101750B (zh) * | 2016-08-08 | 2022-11-11 | 深圳市众幕电影科技有限公司 | 映前广告播放控制系统及其控制方法 |
Also Published As
Publication number | Publication date |
---|---|
CN101119469B (zh) | 2011-07-27 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN101119469B (zh) | 一种嵌入式高清数字电视码流仪及播放器内存控制优化方法 | |
US7844661B2 (en) | Composition of local media playback with remotely generated user interface | |
JP4902861B2 (ja) | インタラクティブ方式のテレビアプリケーションを用いたデジタルコンテンツをエクスポートするための方法およびシステム | |
CN102568517B (zh) | 用于数字媒体处理的接口 | |
US8793303B2 (en) | Composition of local user interface with remotely generated user interface and media | |
KR100844705B1 (ko) | 재생 장치, 비디오 데이터의 재생 방법, 콘텐츠 기록 매체,및 컴퓨터 판독 가능한 기록 매체 | |
US8826324B2 (en) | Server apparatus, trick reproduction restriction method, and reception apparatus | |
US20060013566A1 (en) | Content recording apparatus, content playback apparatus, content recording method, content playback method, and computer program | |
CN101946505A (zh) | 在具有加密能力的数字电视面板上使能会聚电视可访问性的方法、系统及装置 | |
CN102859539B (zh) | 内容接收装置和内容发布系统 | |
US20100129067A1 (en) | Electronic apparatus, reproducing method and program | |
US20040237107A1 (en) | Media distribution systems and methods | |
KR20090001707A (ko) | 멀티미디어 컨텐츠 재생방법 및 시스템과 멀티미디어컨텐츠 재생장치와 프로그램 기록매체 | |
WO2001044957A1 (fr) | Dispositif et procede de traitement de l'information et support d'enregistrement associe | |
JP5085747B2 (ja) | 再生装置、コンテンツ記録媒体、再生装置の制御方法、制御プログラム、及び記録媒体 | |
JP2006107586A5 (zh) | ||
JP2006107586A (ja) | 再生装置、再生装置の制御方法、コンテンツ記録媒体、データ構造、制御プログラム、制御プログラムを記録したコンピュータ読み取り可能な記録媒体 | |
RU2351002C2 (ru) | Программный интерфейс приложения демультиплексора | |
JP2003235012A (ja) | ファイル及びコンテンツ管理 | |
JP2006109317A (ja) | 再生装置 | |
JP2007294057A (ja) | 再生装置 | |
KR20020064439A (ko) | 다기능 미디어 기기의 특정 기능 서비스 방법 | |
JP2006113639A (ja) | コンテンツ蓄積装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
C17 | Cessation of patent right | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20110727 Termination date: 20120801 |