CN102547268B - 一种流媒体播放方法及播放设备 - Google Patents
一种流媒体播放方法及播放设备 Download PDFInfo
- 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
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个小块帧。
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)
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)
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)
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 | 西安交通大学 | 一种并行视频拷贝检测系统和方法 |
-
2010
- 2010-12-30 CN CN201010615908.5A patent/CN102547268B/zh active Active
Patent Citations (6)
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)
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. |