CN105307050B - 一种基于hevc的网络流媒体应用系统及方法 - Google Patents
一种基于hevc的网络流媒体应用系统及方法 Download PDFInfo
- Publication number
- CN105307050B CN105307050B CN201510701060.0A CN201510701060A CN105307050B CN 105307050 B CN105307050 B CN 105307050B CN 201510701060 A CN201510701060 A CN 201510701060A CN 105307050 B CN105307050 B CN 105307050B
- Authority
- CN
- China
- Prior art keywords
- nal unit
- hevc
- nal
- network flow
- journal file
- 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.)
- Active
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/60—Network structure or processes for video distribution between server and client or between remote clients; Control signalling between clients, server and network components; Transmission of management data between server and client, e.g. sending from server to client commands for recording incoming content stream; Communication details between server and client
- H04N21/63—Control signaling related to video distribution between client, server and network components; Network processes for video distribution between server and clients or between remote clients, e.g. transmitting basic layer and enhancement layers over different transmission paths, setting up a peer-to-peer communication via Internet between remote STB's; Communication protocols; Addressing
- H04N21/643—Communication protocols
- H04N21/6437—Real-time Transport Protocol [RTP]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/20—Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
- H04N21/23—Processing of content or additional data; Elementary server operations; Server middleware
- H04N21/234—Processing of video elementary streams, e.g. splicing of video streams, manipulating MPEG-4 scene graphs
- H04N21/2343—Processing of video elementary streams, e.g. splicing of video streams, manipulating MPEG-4 scene graphs involving reformatting operations of video signals for distribution or compliance with end-user requests or end-user device requirements
- H04N21/234327—Processing of video elementary streams, e.g. splicing of video streams, manipulating MPEG-4 scene graphs involving reformatting operations of video signals for distribution or compliance with end-user requests or end-user device requirements by decomposing into layers, e.g. base layer and one or more enhancement layers
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/20—Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
- H04N21/25—Management operations performed by the server for facilitating the content distribution or administrating data related to end-users or client devices, e.g. end-user or client device authentication, learning user preferences for recommending movies
- H04N21/266—Channel or content management, e.g. generation and management of keys and entitlement messages in a conditional access system, merging a VOD unicast channel into a multicast channel
- H04N21/2662—Controlling the complexity of the video stream, e.g. by scaling the resolution or bitrate of the video stream based on the client capabilities
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/40—Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
- H04N21/43—Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
- H04N21/442—Monitoring of processes or resources, e.g. detecting the failure of a recording device, monitoring the downstream bandwidth, the number of times a movie has been viewed, the storage space available from the internal hard disk
Abstract
本发明提出了一种基于HEVC的网络流媒体应用系统及方法,修改HEVC编码器,对NAL进行权重计算,并且根据NAL权重对GOP内的帧排序,通过自定义的HEVC字节流提取工具,帮助后续对HEVC流分包进行自定义处理,提供支持充分考虑大背景下的网络不稳定状态对HEVC流媒体的视觉观看效果的影响,从而对网络不稳定有充分的鲁棒性和良好的适用性,实现了HEVC的编码、传输和测试的功能,使得该系统的适用性和研究性都提到提升。
Description
技术领域
本发明涉及流媒体播放技术领域,尤其涉及一种基于HEVC的网络流媒体应用系统及方法。
背景技术
HEVC(High Efficiency Video Coding)是一种新的视频压缩标准,可以替代H.264/AVC编码标准。HEVC的规范化对许多未来的发展将做出巨大贡献,比如消费类设备领域(如广播电视、多媒体流媒体),移动通信和多媒体/视频内容的存储都将通过影响实施新兴HEVC标准。直至现在HEVC的研究重点一直放在改进的视频压缩效率上,许多改进都已经应用到HEVC的标准中。
但是,现有的工作并没有考虑到HEVC现实的流媒体的实际障碍环境,因此,现有的HEVC流媒体播放时网络波动造成HEVC播放视觉效果下降,并且,现有的HEVC流媒体播放系统对于测试的实施并不容易实现。
发明内容
为了解决现有技术中的问题,本发明提供了一种基于HEVC的网络流媒体应用系统及方法,弥补现有的HEVC流媒体播放时网络波动造成的HEVC播放视觉效果的下降,并尽可能的阻止信噪比的下降。
本发明通过以下技术方案实现:
一种基于HEVC的网络流媒体应用系统,其特征在于,所述系统包括:发送端和接收端,其中,所述发送端包括修改后的HEVC编码器模块、NAL单元加权重模块、自定义的HEVC字节流提取模块、字节流发送模块;所述修改后的HEVC编码器模块,用于对裸视频进行编码生成NAL单元并产生日志文件,所述日志文件用于记录NAL单元的第一个字节的内存偏移,所述NAL单元包括唯一标识符、PRIORITY字段以及标记原有顺序的字段;所述NAL单元加权重模块用于将所述修改后的HEVC编码器模块编码后的NAL单元根据RDO和PSNR综合计算得出NAL单元的权重,记录到NAL的PRIORITY字段,并将GOP中的连续画面中的NAL单元根据权重重新排序,然后在所述标记原有顺序的字段记录NAL单元排序前的顺序;所述自定义的HEVC字节流提取模块,用于分析HEVC编码器模块产生的日志文件和NAL单元,根据所述日志文件记录的偏移量和NAL单元的顺序,从HEVC字节流中定位并提取NAL单元;所述字节流发送模块,用于发送所述NAL单元。
作为本发明的进一步改进,所述接收端包括接收处理模块,用于接收所述NAL单元,进行丢失标志位的NAL单元的识别、隐蔽性错误的解码和视觉质量的判定。通过对发送端的NAL单元跟踪文件与接收端的NAL单元跟踪文件比较来实现所述隐蔽性错误的解码。
作为本发明的进一步改进,所述发送端还包括测试模块,用于从字节流中提取任何一个的NAL单元进行测试。
另一方面,本发明还提供了一种基于HEVC的网络流媒体应用方法,所述方法基于修改后的HEVC编码器,所述方法包括以下步骤:
S101:对裸视频进行编码生成NAL单元并产生日志文件,所述日志文件用于记录NAL单元的第一个字节的内存偏移,所述NAL单元包括唯一标识符以及标记原有顺序的字段;
S102:对编码后的NAL单元根据RDO和PSNR综合计算得出NAL单元的权重,并将GOP中的连续画面中的NAL单元根据权重重新排序,然后在所述标记原有顺序的字段记录NAL单元排序前的顺序;
S103:分析HEVC编码器模块产生的日志文件和NAL单元,根据所述日志文件记录的偏移量和NAL单元的顺序,从HEVC字节流中定位并提取NAL单元;
S104:发送所述NAL单元;
S105:接收所述NAL单元,进行丢失标志位的NAL单元的识别、隐蔽性错误的解码和视觉质量的判定。
本发明的有益效果是:本发明设计和实施了HEVC流媒体和评估框架,并实现了一个高效的实时基准系统HEVC视频流,并允许有效测试。通过对NAL单元和HEVC编解码器的自定义修改,并把HEVC流媒体播放划分为服务端和接收端,使得对于网络波荡对HEVC流媒体播放造成的视觉影响减少。
附图说明
图1是本发明的基于HEVC的网络流媒体应用系统架构图;
图2是本发明的HEVC NAL单元标记结构体示意图;
图3是本发明的HEVC VCL NAL单元示意图;
图4是本发明的应用场景示意图;
图5是本发明测试得出的NAL单元丢失率示意图。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
附图1所示为本发明的基于HEVC的网络流媒体应用系统包括:发送端和接收端,其中,所述发送端包括修改后的HEVC编码器模块、NAL单元加权重模块、自定义的HEVC字节流提取模块、字节流发送模块。
所述修改后的HEVC编码器模块,用于对裸视频进行编码生成NAL单元并产生日志文件,所述日志文件用于记录NAL(Network Abstract Layer)单元的第一个字节的内存偏移,所述NAL单元包括唯一标识符、PRIORITY字段以及标记原有顺序的字段。由于本发明的基于HEVC的网络流媒体应用方法需要对NAL单元添加字段以及需要产生日志文件,因此HEVC编码器需要做出相应的调整,所述HEVC编码器的修改基于JSVM 12.0,在Windows平台下做出修改并编译通过。
附图2是本发明的HEVC NAL单元标记结构体示意图,其中,OFFSET字段记录偏移,TYPE表示类型,NUM_BYTES记录字节数,FRAME_NO表示帧编号,T_ID记录顺序,解码时使用;DECONDE_TIME解码参数,解码时使用;PRIORITY表示优先级,解码时候需要此字段完成排序。TIMESTAMP表示时间戳。
所述NAL单元加权重模块用于将所述修改后的HEVC编码器模块编码后的NAL单元根据RDO(rate distortion optimization)和PSNR(Peak Signal to Noise Ratio)综合计算得出NAL单元的权重,记录到NAL的PRIORITY字段,并将GOP(Group of Pictures)中的连续画面中的NAL单元根据权重重新排序,由于重排序的NAL单元和原有顺序并不一致,因此需要添加字段T_ID来标记原有顺序,并把这些值记录在NAL单元的标记原有顺序的字段记录NAL单元排序前的顺序。
附图3是本发明的HEVC VCL NAL单元示意图,其中,F表示forbidden_zero_bit,占一位bit;N表示nal_ref_idc,占一位bit;TYPE表示nal_unit_type,占6位bit;以上这些和HEVC标准VCL NAL单元定义是一样的。只是T_ID是本发明的独特设计,加入了T_ID变量,占三个bit,记录了NAL单元和日志文件(扩展文件)的对应关系。RESERVED是保留区域,用来提高以后升级该系统的兼容性和可扩展性。
所述自定义的HEVC字节流提取模块,用于分析HEVC编码器模块产生的日志文件和NAL单元,根据所述日志文件记录的偏移量和NAL单元的顺序,从HEVC字节流中定位并提取NAL单元。
所述字节流发送模块,用于使用RTP/TCP协议传输发送所述NAL单元。
所述发送端还包括测试模块,用于从字节流中提取任何一个的NAL单元进行测试。
所述接收端包括接收处理模块,用于接收所述NAL单元,进行丢失标志位的NAL单元的识别、隐蔽性错误的解码和视觉质量的判定。通过对发送端的NAL单元跟踪文件与接收端的NAL单元跟踪文件比较来实现所述隐蔽性错误的解码。NAL单元跟踪文件是NAL单元的一个字段描述,记录了HEVC视频流中得NAL单元和日志文件的对应关系。
附图1中,PPS(Picture Parameter Set)NAL是NAL单元的一种。STAP(Single-timeaggregation packet)是一种数据格式,用来合并多个NAL单元到一个RTP报文中。VCL NAL是一种NAL单元格式,表示该NAL单元是视频编码层,功能是装在HEVC视频流信息。目前所有的流媒体几乎都是先打包成NAL单元,经过网络链路发送到接收端,进行解码。NAL单元是流媒体传输的基本单位。在HEVC草案中已经明确,所有的NAL单元都需要打包成通用的RTP/TCP包才能发送。
附图4是本发明的应用场景示意图,附图5是本发明在网络不稳定时的丢失率示意图,其中,IDR(Instantaneous Decoding Refresh)是RAP(random access point)的一种方式。RAP(随机读取点)可以是IDR、CRA、BLA帧。序列参数集SPS(Sequence Parameter Set)是HEVC封装视频参数等的一种NAL单元。序列参数集SPS包含CVS中所有slice需要的信息。增强信息SEI(Supplemental enhancement information)用于存储视频元数据,比如说时间戳、使用的色彩空间、3D填充的方式等等。
本发明在网络不稳定或者带宽小幅降低情况下,提高HEVC流媒体应用的鲁棒性和适应性。本发明在网络不稳定时降低视频质量来降低网络带宽达到提高HEVC流媒体应用的鲁棒性和适应性
本发明使得在裸视频预处理阶段依赖于服务器的计算性能,接收端计算性能要求得到降低。自定义的HEVC编解码器使得软件编程方法用来提升网络波动下的HEVC流媒体视觉效果的灵活性更高,适应性更广。HEVC流媒体框架下的服务端和客户端经过验证和实现,并且达到10%的带宽降低仅造成3.61dB的下降。服务端和接收端都使用了软件模块,不依赖于具体的硬件设施,使得该框架的可以不经过修改或少量修改就可以移植。
以上内容是结合具体的优选实施方式对本发明所作的进一步详细说明,不能认定本发明的具体实施只局限于这些说明。对于本发明所属技术领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干简单推演或替换,都应当视为属于本发明的保护范围。
Claims (7)
1.一种基于HEVC的网络流媒体应用系统,其特征在于,所述系统包括:发送端和接收端,其中,所述发送端包括修改后的HEVC编码器模块、NAL单元加权重模块、自定义的HEVC字节流提取模块、字节流发送模块;
所述修改后的HEVC编码器模块,用于对裸视频进行编码生成NAL单元并产生日志文件,所述日志文件用于记录NAL单元的第一个字节的内存偏移,所述NAL单元包括唯一标识符、PRIORITY字段以及标记原有顺序的字段;
所述NAL单元加权重模块用于将所述修改后的HEVC编码器模块编码后的NAL单元根据RDO和PSNR综合计算得出NAL单元的权重,记录到NAL的PRIORITY字段,并将GOP中的连续画面中的NAL单元根据权重重新排序,然后在所述标记原有顺序的字段记录NAL单元排序前的顺序;
所述自定义的HEVC字节流提取模块,用于分析HEVC编码器模块产生的日志文件和NAL单元,根据所述日志文件记录的偏移量和在标记原有顺序的字段记录记录的所述NAL单元排序前的顺序,从HEVC字节流中定位并提取NAL单元;
所述字节流发送模块,用于发送所述NAL单元。
2.根据权利要求1所述的基于HEVC的网络流媒体应用系统,其特征在于:所述接收端包括接收处理模块,用于接收所述NAL单元,进行丢失标志位的NAL单元的识别、隐蔽性错误的解码和视觉质量的判定。
3.根据权利要求2所述的基于HEVC的网络流媒体应用系统,其特征在于:通过对发送端的NAL单元跟踪文件与接收端的NAL单元跟踪文件比较来实现所述隐蔽性错误的解码。
4.根据权利要求1所述的基于HEVC的网络流媒体应用系统,其特征在于:所述字节流发送模块利用PPS NAL单元缓冲,为RTP/TCP包的发送提供支持。
5.根据权利要求1所述的基于HEVC的网络流媒体应用系统,其特征在于:所述发送端还包括测试模块,用于从字节流中提取任何一个的NAL单元进行测试。
6.一种基于HEVC的网络流媒体应用方法,其特征在于:所述方法基于修改后的HEVC编码器,所述方法包括以下步骤:
S101:对裸视频进行编码生成NAL单元并产生日志文件,所述日志文件用于记录NAL单元的第一个字节的内存偏移,所述NAL单元包括唯一标识符以及标记原有顺序的字段;
S102:对编码后的NAL单元根据RDO和PSNR综合计算得出NAL单元的权重,并将GOP中的连续画面中的NAL单元根据权重重新排序,然后在所述标记原有顺序的字段记录NAL单元排序前的顺序;
S103:分析HEVC编码器模块产生的日志文件和NAL单元,根据所述日志文件记录的偏移量和步骤S102中记录的NAL单元的顺序,从HEVC字节流中定位并提取NAL单元;
S104:发送所述NAL单元。
7.根据权利要求6所述的基于HEVC的网络流媒体应用方法,其特征在于:在步骤S104之后还包括S105:接收所述NAL单元,进行丢失标志位的NAL单元的识别、隐蔽性错误的解码和视觉质量的判定。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510701060.0A CN105307050B (zh) | 2015-10-26 | 2015-10-26 | 一种基于hevc的网络流媒体应用系统及方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510701060.0A CN105307050B (zh) | 2015-10-26 | 2015-10-26 | 一种基于hevc的网络流媒体应用系统及方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN105307050A CN105307050A (zh) | 2016-02-03 |
CN105307050B true CN105307050B (zh) | 2018-10-26 |
Family
ID=55203719
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201510701060.0A Active CN105307050B (zh) | 2015-10-26 | 2015-10-26 | 一种基于hevc的网络流媒体应用系统及方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN105307050B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111314156B (zh) * | 2020-03-02 | 2020-12-01 | 四川大学 | 面向对等网络流媒体的覆盖网络快照获取方法及评价方法 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1863302A (zh) * | 2005-11-03 | 2006-11-15 | 华为技术有限公司 | 多媒体通信方法及其终端 |
CN103607667A (zh) * | 2013-11-15 | 2014-02-26 | 南京云川信息技术有限公司 | 一种p2p流媒体系统中的svc视频文件的分片方法 |
WO2015053673A1 (en) * | 2013-10-11 | 2015-04-16 | Telefonaktiebolaget L M Ericsson (Publ) | Method and arrangement for video transcoding using mode or motion or in-loop filter information |
CN104796765A (zh) * | 2015-04-23 | 2015-07-22 | 天脉聚源(北京)教育科技有限公司 | 一种h264帧中提取sps和pps的方法及装置 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2008053029A2 (en) * | 2006-10-31 | 2008-05-08 | Gottfried Wilhelm Leibniz Universität Hannover | Method for concealing a packet loss |
US20090003429A1 (en) * | 2007-06-27 | 2009-01-01 | Mediatek Inc. | Apparatus And Method For Processing A Bitstream |
-
2015
- 2015-10-26 CN CN201510701060.0A patent/CN105307050B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1863302A (zh) * | 2005-11-03 | 2006-11-15 | 华为技术有限公司 | 多媒体通信方法及其终端 |
WO2015053673A1 (en) * | 2013-10-11 | 2015-04-16 | Telefonaktiebolaget L M Ericsson (Publ) | Method and arrangement for video transcoding using mode or motion or in-loop filter information |
CN103607667A (zh) * | 2013-11-15 | 2014-02-26 | 南京云川信息技术有限公司 | 一种p2p流媒体系统中的svc视频文件的分片方法 |
CN104796765A (zh) * | 2015-04-23 | 2015-07-22 | 天脉聚源(北京)教育科技有限公司 | 一种h264帧中提取sps和pps的方法及装置 |
Also Published As
Publication number | Publication date |
---|---|
CN105307050A (zh) | 2016-02-03 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN106134146B (zh) | 处理连续的多周期内容 | |
CN103765914B (zh) | 经译码视频数据的网络流式传输 | |
CN110447234A (zh) | 作为分隔符及可寻址资源标识符的区段类型 | |
CN105612753B (zh) | 媒体流传输期间在适配集合间的切换方法和装置 | |
CN103081433B (zh) | 用于经译码视频数据的网络串流传输的清单文件更新 | |
CN104509064B (zh) | 替换丢失的媒体数据以进行网络流式传输 | |
CN105744382B (zh) | 用于发射经编码视频数据的方法和装置 | |
CN102598688B (zh) | 流式传输经编码视频数据 | |
CN106576097B (zh) | 用于在网络上交换的文件的错误处理 | |
CN103843301B (zh) | 经译码多媒体数据的网络串流期间的表示之间的切换 | |
US9521469B2 (en) | Carriage of quality information of content in media formats | |
CN109155865A (zh) | 在图像中的最感兴趣的区域的先进信号传送 | |
CN107743703A (zh) | DASH客户端QoE度量的中间件分发 | |
CN110089122A (zh) | 对于用于流式处理媒体数据的预取支持的数据发信 | |
CN104081785A (zh) | 来自多个源的多媒体数据的流式传输 | |
CN104219500A (zh) | 监控视频直播的装置和方法 | |
CN109905730A (zh) | 用于经由http的动态自适应流式传输(dash)的实况定时方法 | |
KR20190031490A (ko) | 미디어 스트리밍을 위한 세그먼트 청크들의 취출 및 액세스 | |
CN105744295A (zh) | 提供用于串流传输视频数据的序列数据集 | |
CN107634930A (zh) | 一种媒体数据的获取方法和装置 | |
CN111656791B (zh) | 流式传输服务中的信令和报告交互性使用 | |
CN109644282A (zh) | 用于媒体数据流式处理的补充增强信息轨迹的系统级发信 | |
KR100897525B1 (ko) | Svc 비디오의 rtp 패킷화를 위한 타임스탬프 생성장치 및 그 방법과 그를 이용한 rtp 패킷화 시스템 | |
CN115943631A (zh) | 流式传输包括具有切换集的可寻址资源索引轨道的媒体数据 | |
CN105307050B (zh) | 一种基于hevc的网络流媒体应用系统及方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |