CN102547268B - 一种流媒体播放方法及播放设备 - Google Patents

一种流媒体播放方法及播放设备 Download PDF

Info

Publication number
CN102547268B
CN102547268B CN201010615908.5A CN201010615908A CN102547268B CN 102547268 B CN102547268 B CN 102547268B CN 201010615908 A CN201010615908 A CN 201010615908A CN 102547268 B CN102547268 B CN 102547268B
Authority
CN
China
Prior art keywords
frame
fritter
video
frames
station location
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
Application number
CN201010615908.5A
Other languages
English (en)
Other versions
CN102547268A (zh
Inventor
李明
戎志刚
刘道强
丁亮
徐海波
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Huaqiang infante (Shenzhen) Film Co. Ltd.
Original Assignee
SHENZHEN HYVISION DIGITAL FILM Inc
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by SHENZHEN HYVISION DIGITAL FILM Inc filed Critical SHENZHEN HYVISION DIGITAL FILM Inc
Priority to CN201010615908.5A priority Critical patent/CN102547268B/zh
Publication of CN102547268A publication Critical patent/CN102547268A/zh
Application granted granted Critical
Publication of CN102547268B publication Critical patent/CN102547268B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Abstract

本发明涉及一种流媒体播放方法和播放设备,该播放方法包括:预先将流媒体的视频帧切分成多个小块帧,并为每个小块帧分配一帧号,使所编的小块帧号包括原视频帧的帧序标识及在原视频帧里的位置标识,然后分别将该多个小块帧进行压缩,并将压缩的多个小块帧依序存储在硬盘同一文件中;多核CPU多线程根据每个小块帧的原视频帧的帧序标识和位置标识将多个小块帧解压到对应视频帧的对应位置,以合成待播放的视频帧。该方法可大幅提高CPU的解压速度,并且可以避免画面的抖动。

Description

一种流媒体播放方法及播放设备
技术领域
本发明涉及流媒体播放技术领域,更具体地说,涉及一种流媒体播放方法及播放设备。
背景技术
DirectX是由微软公司开发的用途广泛的应用程序编程接口(API),它包含有Direct Graphics(Direct 3D+Direct Draw)、Direct Input、Direct Play、Direct Sound、Direct Show、Direct Setup、Direct Media Objects等多个组件,它提供了一整套的多媒体接口方案。DirectX而今已发展成为对整个多媒体系统的各个方面都有决定性影响的接口。
Microsoft DirectDraw支持快速访问计算机视频适配器的加速硬件功能。它支持在所有视频适配器上显示图形的标准方法,并且使用加速驱动程序时可以更快更直接地访问。Microsoft DirectX 9.0c DirectShow为流媒体播放提供了功能完善的框架,但尽管框架这么完善,目前市面上的播放器包括Media Player、暴风影映、kmplay等等都无法实现4k(4096 X 2160)超高分辩率、30帧/秒流媒体的流畅播放,主要有如下两方面瓶颈使得播放器无法实现超高分辨率流媒体的播放:
一、    CPU解压速度跟不上播放速度
由于目前CPU发展到多核CPU,所以解决CPU解压速度的问题一般都采用多核同时解压,从而使得CPU解压速度跟得上播放速度的,但这样就会产生一个新的问题:对于巨幕电影的播放器,4k分辨率的视频帧需要整帧输出,才不至于需要将输出视频在巨幕上实现拼接,否则巨幕播放失去了根本意义。而普通的播放器是将整帧解压后整帧输出,这导致操作系统无法将整帧解压负担平均分配到CPU内部多核同时处理,结果造成CPU内部某个内核超负荷运行而其他内核无负担或很少负担的情况,CPU内部只要有一个内核超负荷运行就会造成播放器丢帧,从而使得播放不流畅;
二、    计算机硬盘读速度跟不上播放速度
解决计算机硬盘读速度跟不上播放速度的问题,一般采用压缩率高的压缩算法,例如:h.264或MPEG4等,但采用这种方法会碰到新的问题:1)视频帧有点失真,视频质量达不到最佳效果;2)由于压缩率太高,造成播放时解压费时,使CPU解压速度跟不上。如果用当今数字电影界所倡导的MJPEG2000标准进行压缩,则视频质量可以,并且压缩率也适中,但由于用了小波变换解压算法,解压很费时,需专用的解压芯片支持,纯软件无法解决CPU解压速度瓶颈问题。
发明内容
本发明要解决的技术问题在于,针对现有技术的上述对于超高分辨率的流媒体,CPU解压速度和硬盘读速度都跟不上播放速度的瓶颈问题,提供一种流媒体播放方法,能提高CPU解压速度,弥补硬盘读速度偶尔跟不上播放速度的缺陷。
本发明解决其技术问题所采用的技术方案是:构造一种流媒体播放方法,包括:
预先将流媒体的视频帧切分成多个小块帧,并为每个小块帧分配一帧号,所述小块帧的帧号包括原视频帧的帧序标识及该小块帧在原视频帧里的位置标识,然后分别将该多个小块帧进行压缩,并将压缩的多个小块帧依序存储在硬盘同一文件中;
多核CPU多线程根据每个小块帧的帧序标识和位置标识将多个小块帧解压到对应视频帧的对应位置,以合成待播放的视频帧。
在本发明所述的流媒体播放方法中,采用TrueMotion压缩方法对该多个小块帧进行压缩。
在本发明所述的流媒体播放方法中,将流媒体的视频帧切分成3个小块帧。
在本发明所述的流媒体播放方法中,所述帧序标识是所对应的原视频帧的序号的整数倍。
本发明还构造一种流媒体播放设备,包括:
切分模块,用于将流媒体的视频帧切分成多个小块帧,并为每个小块帧分配一帧号,所述小块帧的帧号包括原视频帧的帧序标识及在该小块帧在原视频帧里的位置标识;
压缩模块,用于分别将该多个小块帧进行压缩;
存储模块,用于分别将压缩的多个小块帧存储在硬盘中;
读取模块,用于读取存储在硬盘中的多个压缩的小块帧;
解压合并模块,用于采用多核CPU多线程根据每个小块帧的帧序标识和位置标识将多个小块帧解压到对应视频帧的对应位置,以合成待播放的视频帧。
在本发明所述的流媒体播放设备中,采用TrueMotion压缩方法对该多个小块帧进行压缩。
在本发明所述的流媒体播放设备中,所述多个小块帧为3个小块帧。
在本发明所述的流媒体播放设备中,采用大缓冲区技术读取硬盘多个小块帧。
在本发明所述的流媒体播放设备中,所述帧序标识是对应的原视频帧的序号的整数倍。
实施本发明的技术方案,具有以下有益效果:
1.由于预先将视频帧切分成多个小块帧,并为每个小块帧分配一帧号,使所编的小块帧号包括原视频帧的帧序标识及在原视频帧里的位置标识,然后对每个小块帧进行压缩和存储。在播放流媒体时,多核CPU多线程根据每个小块帧的位置标识(帧号)将多个小块帧解压到对应视频帧的对应位置,以合成待播放的视频帧。同时,由于解压和合并多个小块帧是同时进行的,所以避免了小块帧数据块的拷贝,大幅减轻了CPU的负担,从而提高了CPU的解压速度,并且避免了画面的抖动,保证了高分辨率的视频流的流畅播放。另外,由于合并多个小块帧是CPU根据位置标识(帧号)以软件方式来实现的,所以不需要在巨幕上实现视频拼接; 
2.对多个小块帧压缩采用TrueMotion压缩方法,既保证了视频质量,又使得压缩具有适中的压缩率。
3.由于采用了大缓冲区技术读硬盘,解决了硬盘对小块帧读取速度不均匀缺陷,保证了高分辨率视频流的流畅播放。 
附图说明
下面将结合附图及实施例对本发明作进一步说明,附图中:
图1是本发明流媒体播放方法实施例一的流程图;
图2是本发明流媒体播放设备实施例一的逻辑图。 
具体实施方式
如图1所示,在本发明的流媒体播放方法实施例一的流程图中,该流媒体播放方法包括:
步骤S100. 预先将流媒体的视频帧切分成多个小块帧,并为每个小块帧分配一帧号,所述小块帧的帧号包括原视频帧的帧序标识及该小块帧在原视频帧里的位置标识,然后分别将该多个小块帧进行压缩,并将压缩的多个小块帧依序存储在硬盘同一文件中;
步骤S200. 多核CPU多线程根据每个小块帧的帧序标识和位置标识将多个小块帧解压到对应视频帧的对应位置,以合成待播放的视频帧。在该步骤中,由于将同一视频帧的几个小块帧分别用不同的线程进行解压,也就是将一个视频帧的整帧的解压负担平均分配给CPU内部的各内核。
实施该实施例的技术方案,由于预先将视频帧切分成多个小块帧,并为每个小块帧分配一帧号,使所编的小块帧号包括原视频帧的帧序标识及在原视频帧里的位置标识,然后对每个小块帧进行压缩和存储。在播放流媒体时,多核CPU根据每个小块帧的位置标识(帧号)将多个小块帧解压到对应视频帧的对应位置,以合成待播放的视频帧。由于解压和合并多个小块帧是同时进行的,所以避免了小块帧数据块的拷贝,大幅减轻了CPU的负担,从而提高了CPU的解压速度,且避免了画面的抖动,保证了高分辨率的视频流的流畅播放。另外,由于合并多个小块帧是CPU根据位置标识(帧号)以软件方式来实现的,所以不需要在巨幕上实现视频拼接。
优选地,对该多个小块帧进行压缩时,采用TrueMotion(真实的动感)压缩方法。TrueMotion是Sixense公司在2008 年开发出来的用于 3D动感电影的压缩方法。正因为运用了3D效果处理,才使得压缩成的视频质量非常好,但压缩率并不高,而且每帧的压缩率大不一样,因此这种压缩方法使得硬盘读取帧的“读帧率”很不均匀,致使播放时,硬盘读帧速度有时会大于播放速度,有时可能又会小于播放速度,所以必须同时采用大缓冲区技术来缓冲视频帧的读取,以适配播放速度。 
优选地,将流媒体的视频帧切分成3个小块帧。
优选地,所述帧序标识是对应的原视频帧的序号的整数倍。例如,设某视频帧的原序号是n, 将该视频帧切分成3个小块,则该帧的三小块帧序号就是3n、3n+1、3n+2,此小块帧序号既标识了该小块帧属于哪一视频帧(第n帧),又标识了该小块帧在视频帧中的位置(第0小块、第1小块第、2小块)。
图2是本发明流媒体播放设备实施例一的逻辑图,该流媒体播放设备包括依次连接的切分模块11、压缩模块12、存储模块13、读取模块14和解压合并模块15。其中,切分模块11用于将流媒体的视频帧切分成多个小块帧,并为每个小块帧分配一帧号,,所述小块帧的帧号包括原视频帧的帧序标识及在该小块帧在原视频帧里的位置标识;压缩模块12用于分别将该多个小块帧进行压缩;存储模块13用于分别将压缩的多个小块帧存储在硬盘中;读取模块14用于读取存储在硬盘中的多个压缩的小块帧;解压合并模块15用于采用多核CPU多线程根据每个小块帧的帧序标识和位置标识将多个小块帧解压到对应视频帧的对应位置,以合成待播放的视频帧。
优选地,采用TrueMotion压缩方法对该多个小块帧进行压缩。
优选地,多个小块帧为3个小块帧。
优选地,采用大缓冲区技术读取硬盘小块帧。
优选地,所述帧序标识是对应的原视频帧的序号的整数倍。
本发明的流媒体播放方法和播放设备不仅仅适用于4k分辨率的视频,随着计算机硬件技术的发展,还可适用于8k、16k、32k等分辨率的视频。
以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的权利要求范围之内。 

Claims (4)

1.一种流媒体播放方法,其特征在于,包括:
预先将流媒体的视频帧切分成多个小块帧,并为每个小块帧分配一帧号,所述小块帧的帧号包括原视频帧的帧序标识及该小块帧在原视频帧里的位置标识,然后分别将该多个小块帧进行压缩,并将压缩的多个小块帧依序存储在硬盘同一文件中;其中,所述帧序标识是所对应的原视频帧的序号的整数倍;
读取存储在硬盘中的多个压缩的小块帧;
多核CPU多线程根据每个小块帧的帧序标识和位置标识将多个小块帧解压到对应视频帧的对应位置,并在多个线程同步解压的过程中同时将多个小块帧根据位置标识合成待播放的视频帧;
采用TrueMotion压缩方法对该多个小块帧进行压缩;并采用大缓冲区技术来缓冲视频帧的读取。
2.根据权利要求1所述的流媒体播放方法,其特征在于,将流媒体的视频帧切分成3个小块帧。
3.一种流媒体播放设备,其特征在于,包括:
切分模块,用于将流媒体的视频帧切分成多个小块帧,并为每个小块帧分配一帧号,所述小块帧的帧号包括原视频帧的帧序标识及该小块帧在原视频帧里的位置标识;所述帧序标识是所对应的原视频帧的序号的整数倍;
压缩模块,用于分别将该多个小块帧进行压缩;
存储模块,用于分别将压缩的多个小块帧存储在硬盘同一文件中;
读取模块,用于读取存储在硬盘中的多个压缩的小块帧;
解压合并模块,用于采用多核CPU多线程根据每个小块帧的帧序标识和位置标识将多个小块帧解压到对应视频帧的对应位置,并在多个线程同步解压的过程中同时将多个小块帧根据位置标识合成待播放的视频帧;
采用TrueMotion压缩方法对该多个小块帧进行压缩;并采用大缓冲区技术来缓冲视频帧的读取。
4.根据权利要求3所述的流媒体播放设备,其特征在于,所述多个小块帧为3个小块帧。
CN201010615908.5A 2010-12-30 2010-12-30 一种流媒体播放方法及播放设备 Active CN102547268B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201010615908.5A CN102547268B (zh) 2010-12-30 2010-12-30 一种流媒体播放方法及播放设备

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201010615908.5A CN102547268B (zh) 2010-12-30 2010-12-30 一种流媒体播放方法及播放设备

Publications (2)

Publication Number Publication Date
CN102547268A CN102547268A (zh) 2012-07-04
CN102547268B true CN102547268B (zh) 2014-12-10

Family

ID=46353075

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201010615908.5A Active CN102547268B (zh) 2010-12-30 2010-12-30 一种流媒体播放方法及播放设备

Country Status (1)

Country Link
CN (1) CN102547268B (zh)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105007189B (zh) * 2015-07-29 2018-09-25 无锡天脉聚源传媒科技有限公司 一种视频数据的播出方法及装置
CN108011966B (zh) * 2017-12-14 2021-07-06 广东金赋科技股份有限公司 一种自助终端日志压缩上传的优化方法
CN111935542A (zh) * 2020-08-21 2020-11-13 广州酷狗计算机科技有限公司 视频处理方法、视频播放方法、装置、设备及存储介质

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5121438A (en) * 1988-11-30 1992-06-09 Toshiba Kikai Kabushiki Kaisha Apparatus for inspecting articles
JPH0856226A (ja) * 1994-08-11 1996-02-27 Nec Corp Atmセル転送方式
WO2002013177A1 (en) * 2000-08-04 2002-02-14 Pulsent Corporation Method and apparatus for digital image segmentation using an iterative method
CN1451124A (zh) * 1999-09-30 2003-10-22 英特尔公司 链接到视频信息
CN1857001A (zh) * 2003-05-20 2006-11-01 Amt先进多媒体科技公司 混合视频压缩方法
CN101869466A (zh) * 2010-07-13 2010-10-27 李超宏 基于自适应光学技术的共焦扫描与光学相干层析成像仪

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH06197133A (ja) * 1992-12-24 1994-07-15 Toshiba Corp 通信システム
WO2010056310A1 (en) * 2008-11-12 2010-05-20 Thomson Licensing I-frame de-flickering for gop-parallel multi-thread video encoding
CN102693299B (zh) * 2012-05-17 2015-01-07 西安交通大学 一种并行视频拷贝检测系统和方法

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5121438A (en) * 1988-11-30 1992-06-09 Toshiba Kikai Kabushiki Kaisha Apparatus for inspecting articles
JPH0856226A (ja) * 1994-08-11 1996-02-27 Nec Corp Atmセル転送方式
CN1451124A (zh) * 1999-09-30 2003-10-22 英特尔公司 链接到视频信息
WO2002013177A1 (en) * 2000-08-04 2002-02-14 Pulsent Corporation Method and apparatus for digital image segmentation using an iterative method
CN1857001A (zh) * 2003-05-20 2006-11-01 Amt先进多媒体科技公司 混合视频压缩方法
CN101869466A (zh) * 2010-07-13 2010-10-27 李超宏 基于自适应光学技术的共焦扫描与光学相干层析成像仪

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
视频转码技术研究现状与最新进展;尚书林等;《自动化学报》;20071231;第32卷(第12期);1233-1241 *

Also Published As

Publication number Publication date
CN102547268A (zh) 2012-07-04

Similar Documents

Publication Publication Date Title
TWI768308B (zh) 沈浸式媒體資料軌道之軌道導出方法和裝置
CN1997155B (zh) 混合多比特深度视频处理体系结构
CN109327728A (zh) 一种一对多同屏方法、装置和系统、同屏设备及存储介质
US20140086309A1 (en) Method and device for encoding and decoding an image
US8401339B1 (en) Apparatus for partitioning and processing a digital image using two or more defined regions
TW202041020A (zh) 用信號通知點雲多媒體資料軌道的空間關係的方法和裝置
CN105120184B (zh) 一种基于fpga的高清视频无缝矩阵系统
CN108881916A (zh) 远程桌面的视频优化处理方法及装置
US9270929B2 (en) Formatting audio-video information compliant with first transmission format to second transmission format in integrated circuit for offloading physical layer logic for first transmission format to separate integrated circuit
CN105187845B (zh) 视频数据解码装置及解码方法
CN105245759B (zh) 一种实现图像同步显示的方法及装置
CN103248941B (zh) 一种多通道视频源同步显示的方法及装置
US11321905B2 (en) Error concealment in split rendering
CN107533752A (zh) 用于图形处理的基于表面格式的自适应存储器地址扫描
CN102547268B (zh) 一种流媒体播放方法及播放设备
US7996699B2 (en) System and method for synchronizing multiple media devices
CN105554416A (zh) 一种基于fpga的高清视频淡入淡出处理系统及方法
CN206472189U (zh) 一种基于fpga芯片模块的超高清vr固态延时器
WO2022187777A1 (en) Error concealment in split rendering using shading atlases
US10755746B2 (en) Real-time editing system
CN105681893A (zh) 流媒体视频数据的解码方法和装置
CN100337190C (zh) 在远端计算机上将本地计算机显示内容显示回放的方法
CN110115026B (zh) 在电子装置中在矩形投影上产生360度内容的方法和系统
CN116636225A (zh) 信息处理装置和方法
US20170048532A1 (en) Processing encoded bitstreams to improve memory utilization

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
C56 Change in the name or address of the patentee
CP01 Change in the name or title of a patent holder

Address after: 518057, 14 floor, Huaqiang hi tech development building, Nanshan District science and technology, Shenzhen, Guangdong

Patentee after: Huaqiang infante (Shenzhen) Film Co. Ltd.

Address before: 518057, 14 floor, Huaqiang hi tech development building, Nanshan District science and technology, Shenzhen, Guangdong

Patentee before: Shenzhen Hyvision Digital Film Inc.