CN102025956B - 网络流媒体快进快退播放的处理方法、装置和*** - Google Patents
网络流媒体快进快退播放的处理方法、装置和*** Download PDFInfo
- Publication number
- CN102025956B CN102025956B CN 200910174227 CN200910174227A CN102025956B CN 102025956 B CN102025956 B CN 102025956B CN 200910174227 CN200910174227 CN 200910174227 CN 200910174227 A CN200910174227 A CN 200910174227A CN 102025956 B CN102025956 B CN 102025956B
- Authority
- CN
- China
- Prior art keywords
- file
- frame data
- frame
- key frame
- flash memory
- 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
Images
Landscapes
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
Abstract
本发明公开了一种网络流媒体快进快退播放的处理方法、装置和***。本发明实施例采用将抽帧文件存储在闪存中,在接收到终端发送的快进或快退播放请求后,确定快进或快退倍速,并根据快进或快退倍速确定需要读取的关键帧数据的位置,然后根据该关键帧数据的位置从抽帧文件中读取关键帧数据并发送给终端,以便进行播放;由于闪存没有机械磁头,随机访问性能高,而且本发明实施例是通过查找索引文件来确定需要读取的关键帧数据的位置并读取关键帧数据的,所以可以不需要抽取并保存多个倍速的抽帧文件,在保证该通信***具有良好的服务性能的同时,也提高了该通信***自身的性能,与此同时,与现有技术相比也大大节省存储空间。
Description
技术领域
本发明涉及通信技术领域,具体涉及网络流媒体快进快退播放的处理方法、装置和***。
背景技术
网际协议电视(IPTV,Internet Protocol Television)是一种利用宽带IP网络,向用户提供包括数字电视在内的多种交互式服务的技术,是网络流媒体技术在传统电视领域的应用。IPTV***里海量的媒体文件是存放于分布式部署的媒体服务器(MS,Media Server,即流媒体服务器)上的,终端与媒体服务器之间通过网际协议(IP,Internet Protocol)网络进行信令交互和媒体流的传输,使得用户可以在家中通过机顶盒(STB,Set Top Box)和电视机来进行交互式操作,例如用户除了可以观看IPTV节目的正常播放之外,还可以通过机顶盒进行类似于影碟机的快进或快退播放操作,从而找到自己想要的IPTV节目片段。
IPTV节目的点播文件媒体文件里面的视频画面包括关键帧和过渡帧。关键帧拥有完整的数字图像信息,可以被独立解码,而过渡帧则必须参考前一帧(P帧)或者前后两帧(B帧)进行相关性计算后才能被正确解码。为了降低网络流量,在快进或快退播放时,IPTV***只发送关键帧,不同倍速的快进或快退播放操作通过跳过相应比例的关键帧数据来实现,可参见图1,其中,I帧为关键帧,P帧和B帧为过渡帧。
在流媒体服务器上,媒体文件具体是存放于连接到服务器的磁盘或者基于硬盘的存储设备(以下统称磁盘)上的。在快进或快退播放的情况下,磁盘里的磁头必须进行反复寻道跳跃来读取关键帧数据,导致磁盘性能较低。现有技术对于快进快退播放造成磁盘性能低下问题的解决方案是对媒体文件进行关键帧抽取,把跳跃式读取变成顺序读取,例如,可以如下:
如图1所示,媒体服务器预先在媒体文件中抽取一些关键帧作为2倍速(简称2X)快进抽帧文件,抽取一些关键帧作为2倍速快退抽帧文件,抽取一些关键帧作为4倍速(简称4X)快进抽帧文件,抽取一些关键帧作为4倍速快退抽帧文件,以此类推设置其他倍速快进或快退的抽帧文件,抽取之后将这些抽帧文件保存在磁盘上;这样,当媒体服务器接收到机顶盒发起的2倍速快进播放请求时,就可以从磁盘打开预先设置的2倍速快进抽帧文件,并顺序读取2倍速快进抽帧文件中的关键帧数据,然后将该关键帧数据发送给机顶盒,以便进行播放,直到倍速快进抽帧文件中的关键帧数据读取完毕或者用户中断以此类推。
需说明的是,其中,2倍速快进或快退指的是在原播放时间的一半时间内发送完所有关键帧,4倍速快进或快退指的是在原播放时间的四份之一时间内发送完所有关键帧,其他倍速快进或快退的含义以此类推;另外,快退抽帧文件与快进抽帧文件大小相同,只是关键帧排列顺序相反。
在对现有技术的研究过程中,本发明的发明人发现,抽取多个倍速的关键帧会占用过多的磁盘存储空间,例如,以所有关键帧数据的大小占原媒体文件大小x的30%计算,在支持2倍速、4倍速、8倍速(简称8X)、16倍速(简称16X)和32倍速(简称32X)快进快退的情况下,若按照现有技术的方案,所需的抽帧文件总大小约为x*(30%+15%+8%+4%+2%)*2=120%*x,也就是说,需要额外占用大小约为120%*x的磁盘空间。
发明内容
本发明实施例提供一种网络流媒体快进快退播放的处理方法、装置和***,目的在于保证媒体服务器在较少的存储空间占用的情况下仍然可以获得很高的快进快退服务性能。
一种网络流媒体快进快退播放的处理方法,包括:
接收终端发送的快进或快退播放请求;
根据所述快进或快退播放请求确定快进或快退倍速;
根据快进或快退倍速确定需要读取的关键帧数据的位置;
根据所述关键帧数据的位置从存储在闪存(Flash Memory)的抽帧文件中读取关键帧数据;
发送所述关键帧数据给终端,以便所述终端进行播放。
一种处理装置,包括:
接收单元,用于接收终端发送的快进或快退播放请求;
倍速确定单元,用于根据所述接收单元接收到的快进或快退播放请求确定快进或快退倍速;
位置确定单元,用于根据倍速确定单元确定的快进或快退倍速确定需要读取的关键帧数据的位置;
读取单元,用于根据所述位置确定单元确定的关键帧数据的位置从存储在闪存的抽帧文件中读取关键帧数据;
发送单元,用于发送所述读取单元读取到的关键帧数据给终端,以便所述终端进行播放。
一种通信***,包括:
处理装置,用于接收终端发送的快进或快退播放请求,根据所述快进或快退播放请求确定快进或快退倍速,根据快进或快退倍速确定需要读取的关键帧数据的位置,根据所述关键帧数据的位置从存储在闪存的抽帧文件中读取关键帧数据,然后发送所述关键帧数据给终端,以便所述终端进行播放;
闪存,用于存储抽帧文件。
该通信***具体可以为媒体服务器。
本发明实施例采用将抽帧文件存储在闪存中,在接收到终端发送的快进或快退播放请求后,确定快进或快退倍速,并根据快进或快退倍速确定需要读取的关键帧数据的位置,然后根据该关键帧数据的位置从抽帧文件中读取关键帧数据并发送给终端,以便所述终端进行播放;由于闪存没有机械磁头,随机访问性能高,而且本发明实施例是通过查找索引文件来确定需要读取的关键帧数据的位置并读取关键帧数据的,所以可以不需要抽取并保存多个倍速的抽帧文件,使得可以在保证该通信***,例如媒体服务器在快进快退下的服务性能的同时,提升了该通信***自身的性能,例如缩短了抽帧时间,而且与现有技术相比,由于不需要保存多个倍速的抽帧文件,所以可以大大节省存储空间。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是现有技术中建立抽帧文件的示意图;
图2是本发明实施例一中提供的媒体文件快进快退播放的处理方法的方法流程图;
图3是本发明实施例中各种倍速播放模式的场景示意图;
图4是本发明实施例中抽取关键帧数据以建立抽帧文件的流程示意图;
图5是本发明实施例二中提供的媒体文件的播放流程示意图;
图6是本发明实施例提供的处理装置的结构示意图;
图7是本发明实施例提供的通信***的结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本发明实施例提供一种网络流媒体快进快退播放的处理方法。本发明实施例还提供相应的装置和***。以下分别进行详细说明。
实施例一、
本实施例将从处理装置的角度进行描述,该处理装置可以为服务进程模块。另外,需说明的是,本发明实施例的抽帧文件存放于基于闪存的存储设备中,例如固态盘(SSD,Solid State Disk)、标准闪存卡(CF,Compact Flash)、闪存(FLASH)扣卡等设备中,为了描述方便,以下均简称闪存。
一种网络流媒体快进快退播放的处理方法,在接收到终端发送的快进或快退播放请求后,根据该快进或快退播放请求确定快进或快退倍速,并根据快进或快退倍速确定需要读取的关键帧数据的位置,然后根据确定的关键帧数据的位置从存储在闪存上的抽帧文件中读取关键帧数据,并将该关键帧数据发送给终端,以便所述终端进行播放。如图2所示,具体流程可以如下:
101、接收终端发送的快进或快退播放请求,即接收终端发送的快进播放请求或者接收终端发送的快退播放请求;
例如,接收终端发送的2倍速(简称2X)快进播放请求,或者接收终端发送的4倍速(简称4X)快进播放请求,或者接收终端发送的4倍速快退播放请求等等。
102、根据接收到的快进或快退播放请求确定快进或快退倍速;
比如,该快进或快退播放请求中直接携带快进或快退倍速,处理装置接收到该快进或快退播放请求后,直接获取该快进或快退倍速,或者该快进或快退播放请求中携带关于指示快进或快退倍速的标识,处理装置接收到该快进或快退播放请求后,根据该关于指示快进或快退倍速的标识通过查找预置的数据库获取该快进或快退倍速,其中,该预置的数据库中存储了关于指示快进或快退倍速的标识和快进或快退倍速的对应关系。
103、根据快进或快退倍速确定需要读取的关键帧数据的位置;比如可以根据快进或快退倍速通过查找索引文件确定需要读取的关键帧数据的位置;
例如,假设所述索引文件为索引表,则处理装置在索引表中查找与该快进或快退播放请求相对应的记录,并在查找到的记录中获取需要读取的关键帧数据的位置,该位置具体可以为发送该快进或快退播放请求时的播放时间点以及该快进或快退播放请求所请求的倍速所对应的位置。
104、根据所述关键帧数据的位置从存储在闪存的抽帧文件中读取关键帧数据;
105、发送所述关键帧数据给终端,以便所述终端进行播放。
当然,在接收终端发送的快进或快退播放请求之前,即步骤101之前,需要预先创建抽帧文件,当然,还可以创建索引文件,具体可以在媒体文件中抽取关键帧数据以建立抽帧文件,并将抽帧文件存储在闪存中;如果在步骤103中,是通过查找索引文件确定需要读取的关键帧数据的位置,则此时还可以根据建立的抽帧文件创建索引文件。
例如,可以通过读取媒体文件的帧数据,判断读取到的帧数据是否为关键帧数据,若是,则将所述帧数据写入闪存,然后继续执行读取媒体文件的帧数据的步骤,直到媒体文件所有的帧数据读取完毕;若否,则跳过所述帧数据,然后继续执行读取媒体文件的帧数据的步骤,直到媒体文件所有的帧数据读取完毕;其中,索引文件可以在建立抽帧文件的过程中建立,例如预先创建一个空白的索引文件,然后每抽取一个关键帧数据就在该索引文件中更新一条记录;或者,索引文件也可以在抽帧文件完全建立后进行创建,例如可以预先创建一个空白的索引文件,然后在关键帧数据的抽取完毕后,根据整个抽帧文件在该索引文件中更新记录。
另外,需说明的是,在将抽帧文件存放于闪存上时可以只存放一份较低倍速的抽帧文件,也就是说,无需针对每个倍速都单独创建一个抽帧文件,而只需要创建一份较低倍速,比如2倍速的抽帧文件,因为其他倍速的抽帧文件的内容都是该较低倍速抽帧文件内容的子集,针对不同倍速的快进或快退播放请求可以通过在该较低倍速抽帧文件中跳跃地读取不同时间间隔的关键帧数据来实现,同时,快进播放和快退播放也使用同一份抽帧文件,只是快退播放时读取关键帧数据的顺序与快进播放时读取关键帧数据的顺序相反,这样,与现有技术相比,可以更加节省存储空间;以下将举例作简略说明。
参见图3,假设存在一个12秒钟的媒体文件,该媒体文件的关键帧用I帧来表示,过渡帧用P帧和B帧表示,其中,I帧间隔为1秒,也就是说,该媒体文件包括I0~I11共12个关键帧(需说明的是,为了制图的方便,在图3中I0~I11均用I表示),又假设该通信***允许的较低倍速播放模式为2倍速播放模式(本发明实施例均以2倍速播放模式为较低倍速播放模式为例进行说明),那么,可以只创建一个2倍速的抽帧文件,即将该媒体文件中的所有关键帧I0~I11抽取出来作为2倍速的抽帧文件,在作2倍速快进(在图3中用2X表示)播放的时候,所有关键帧I0~I11都将被发送出去,参见图3中的时间轴,发送时间为12/2=6秒;而在作4倍速快进(在图3中用4X表示)播放时,由于发送时间缩短到12/4=3秒,为2倍速快进播放时间的一半(参见图3中的时间轴),所以需要将一半的关键帧数据丢弃,具体实现可以隔一个丢一个,也就是说,可以从2倍速的抽帧文件中抽取一半的关键帧数据进行发送,若是以“隔一个丢一个”的方式来实现的话,则关键帧I0、I2、I4、I6、I8和I10将被发送出去;其他倍速的快进播放依此类推,另外,快退播放与快进播放类似,只是关键帧数据的读取方向相反,例如,若快进播放时关键帧数据的读取是从I0到I11,那么,快退播放时关键帧数据的读取就是从I11到I0,这里不再赘述。
当然,上述所描述的方案并不排除可以创建和在闪存中存储一个以上抽帧文件的可实施性,关于这一点(即创建和存储的抽帧文件的数量)以及较低倍速播放模式的选择,可以根据用户或设备生产方的策略来进行设置,但是,若只从节省存储空间的角度考虑,只创建和存储一个较低倍速的抽帧文件相对而言会较优选些。
此外,在接收终端发送的快进或快退播放请求之前,即步骤101之前,还需要预先建立抽帧文件和索引文件和媒体文件之间的映射关系,以便在接收到终端发送的快进或快退播放请求后,可以根据所述映射关系确定与所述快进或快退播放请求相对应的索引文件和抽帧文件。具体可以如下:
(1)通过目录替换方式来建立抽帧文件和索引文件和媒体文件之间的映射关系。
例如,假设媒体文件都存放于基于磁盘的“/home/media/”目录下,抽帧文件都存放于基于闪存的“/home/flash/”目录下。那么,媒体文件“/home/media/vod/example.ts”对应的关键帧抽取文件就是“/home/flash/vod/example.ts.keyframe ”,索引文件就是“/home/flash/vod/example.ts.idx”。
(2)通过建立映射关系表的方式建立抽帧文件和索引文件和媒体文件三者之间的相互映射关系。
例如“/home/media/vod/example.ts”的关键帧抽取文件根据编号规则确定是“20090401-142021-001”,那索引文件就存放于“/home/flash/20090401-142021-001.keyframe”。在映射关系表里可以添加一条记录把这两个文件关联起来就可以了。
当然,除以上列举的方法之外,还可以采用其他的方式建立抽帧文件和索引文件和媒体文件之间的映射关系,在此不再赘述。
另外,需说明的是,本发明实施例中的终端具体可以为机顶盒、智能手机等具备网络流媒体展现能力的设备。
由上可知,本发明实施例采用将抽帧文件存储在闪存中,在接收到终端发送的快进或快退播放请求后,通过查找索引文件确定需要读取的关键帧数据的位置,然后根据该关键帧数据的位置从抽帧文件中读取关键帧数据并发送给终端,以便终端进行播放;由于闪存没有机械磁头,随机访问性能高,而且本发明实施例是通过查找索引文件来确定需要读取的关键帧数据的位置并读取关键帧数据的,所以可以不需要抽取并保存多个倍速的抽帧文件,使得在保证该通信***,例如媒体服务器在快进快退下具有良好的服务性能的同时,也大大提高了该通信***自身性能(响应速度和CPU资源的占用等方面的性能),例如缩短了抽帧时间,与此同时,与现有技术相比,也大大节省了存储空间,例如,以所有关键帧数据的大小占原媒体文件大小x的30%计算,在支持2倍速、4倍速、8倍速(简称8X)、16倍速(简称16X)和32倍速(简称32X)快进快退的情况下,若按照现有技术的方案,所需的抽帧文件总大小约为x*(30%+15%+8%+4%+2%)*2=120%*x,也就是说,需要额外占用大小约为120%*x的磁盘空间,而按照本发明实施例的方案,可以只抽取一个较低倍速的抽帧文件,例如2倍速抽帧文件,所需抽帧文件的大小为x*30%=30%*x,可见,远远小于现有技术的抽帧文件总大小。
实施例二、
根据实施例一描述的方法,本实施例将以该通信***为媒体服务器,通信***中的处理装置为服务进程模块,终端为机顶盒为例作进一步详细说明(以通过查找索引文件确定需要读取的关键帧数据的位置为例)。
首先,需要在媒体服务器中预先创建抽帧文件和索引文件,比如,服务进程模块可以在媒体文件中抽取关键帧数据以建立抽帧文件,然后根据所述抽帧文件创建索引文件。参见图4,抽取关键帧数据以建立抽帧文件的流程可以如下:
001、服务进程模块从媒体服务器的磁盘打开媒体文件,以便后续的读取;
002、服务进程模块在媒体服务器的闪存上创建原始的抽帧文件和索引文件,例如可以是空白的抽帧文件和索引文件;
003、服务进程模块读取媒体文件中的一个帧数据并判断该帧数据的帧类型,即判断该帧数据是否为关键帧数据,若是,则执行步骤004,若否,则执行步骤005;
004、服务进程模块将该帧数据写入存放于闪存的抽帧文件中,并更新索引文件中的记录;重复步骤003,即继续读取媒体文件中的其他帧数据,直到媒体文件中的帧数据全部读取完毕;
005、服务进程模块跳过该帧数据,继续执行步骤003,即继续读取媒体文件中的其他帧数据,直到媒体文件中的帧数据全部读取完毕;
006、服务进程模块关闭媒体文件;
007、服务进程模块关闭抽帧文件和索引文件,结束关键帧数据的抽取;
如图3的流程可知,索引文件可以在建立抽帧文件的过程中建立,例如预先创建一个空白的索引文件,然后每抽取一个关键帧数据就在该索引文件中更新一条记录;除此之外,索引文件也可以在抽帧文件完全建立后进行创建,例如可以预先创建一个空白的索引文件,然后在关键帧数据的抽取完毕后,根据整个抽帧文件在该索引文件中更新记录。
为了描述方便,在本实施例将以索引文件为索引表为例进行说明。索引表的表结构可以如表一所示,该索引表的建立主要是为了方便关键帧数据的快速定位。
关键帧时间点 | 文件偏移量 | 长度 |
00:00:00 | 0 | 19239 |
00:00:01 | 19239 | 22132 |
00:00:02 | 41371 | 21928 |
…… | …… | …… |
表一
如表一所示,表中的“关键帧时间点”为该索引表的关键字,表示关键帧的起始时间点,“文件偏移量”指的是抽帧文件中关键帧数据的偏移量,“长度”指的是抽帧文件中关键帧数据的长度。该索引表一般较小,可以保存在媒体服务器的磁盘上,也可以保存在媒体服务器的闪存上。为了描述方便,本发明实施例均以将该索引表保存在媒体服务器的闪存上为例进行说明。
媒体服务器在打开媒体文件时可以把保存在闪存上的索引表加载到内存,然后在需要读取某个时间点的关键帧数据的时候就可以通过查询该索引表来确定该需要读取的关键帧数据的位置,以便根据该关键帧数据的位置从抽帧文件中读取到关键帧数据。
例如,若用户在媒体文件播放到“00:00:01”时请求2倍速(假设2倍速为较低倍速)快进播放,则服务进程模块在接收到该2倍速快进播放请求后,根据该2倍速快进播放请求中携带的关键帧时间点“00:00:01”查询索引表,得知“00:00:01”所对应的文件偏移量为“19239”,长度为“22132”,于是服务进程模块从存储在闪存上的抽帧文件中的关键帧数据指针为“19239”处开始读取长度为“22132”的关键帧数据,发送给机顶盒以便进行播放,然后继续查找2倍速快进播放所对应的下一个关键帧数据的位置,即关键帧时间点为“00:00:02”的关键帧数据的位置,由表一可知,“00:00:02”所对应的文件偏移量为“41371”,长度为“21928”,于是服务进程模块从存储在闪存上的抽帧文件中的关键帧数据指针为“41371”处开始读取长度为“21928”的关键帧数据,并发送给机顶盒,等等,依此类推;
又例如若用户在媒体文件播放到“00:00:00”时请求4倍速(假设2倍速为较低倍速)快进播放,则服务进程模块在接收到该4倍速快进播放请求后,根据该4倍速快进播放请求中携带的关键帧时间点“00:00:00”查询索引表,得知“00:00:00”所对应的文件偏移量为“0”,长度为“19239”,于是服务进程模块从存储在闪存上的抽帧文件中的关键帧数据指针为“0”处开始读取长度为“19239”的关键帧数据,发送给机顶盒以便进行播放,然后继续查找4倍速快进播放所对应的下一个关键帧数据的位置,即关键帧时间点为“00:00:02”的关键帧数据的位置,由表一可知,“00:00:02”所对应的文件偏移量为“41371”,长度为“21928”,于是服务进程模块从存储在闪存上的抽帧文件中的关键帧数据指针为“41371”处开始读取长度为“21928”的关键帧数据,并发送给机顶盒,等等,依此类推;
其次,媒体服务器中的服务进程模块还需要预先建立抽帧文件和索引文件和媒体文件之间的映射关系,以便在接收到机顶盒发送的快进或快退播放请求后,可以根据所述映射关系确定与所述快进或快退播放请求相对应的索引文件和抽帧文件。具体可通过目录替换或建立映射关系表的方式来建立,参见实施例一,在此不再赘述。
在创建了抽帧文件、索引表,以及抽帧文件、索引文件和媒体文件三者之间的映射关系之后,当用户需要对媒体文件进行快进或快退播放时,就可以通过机顶盒发送快进或快退播放请求给服务进程模块,服务进程模块在接收到该快进或快退播放请求后,根据抽帧文件和索引文件和媒体文件之间的映射关系找到与媒体文件相对应的索引文件和抽帧文件,根据该快进或快退播放请求通过查找索引文件确定需要读取的关键帧数据的位置,然后根据该关键帧数据的位置从存储在闪存的抽帧文件中读取关键帧数据,并发送给机顶盒,机顶盒接收到该关键帧数据后进行播放,从而实现媒体文件的快进或快退播放。参见图5,媒体文件的播放流程可以如下:
201、机顶盒发起正常播放请求给服务进程模块;
202、服务进程模块接收到该正常播放请求后,从磁盘打开媒体文件;
203、服务进程模块从媒体文件中读取帧数据,并发送帧数据给机顶盒,以便进行播放;
204、机顶盒发起2倍速快进播放请求给服务进程模块;
205、服务进程模块接收到该2倍速快进播放请求后,关闭磁盘上的媒体文件;
206、服务进程模块根据抽帧文件和索引文件和媒体文件之间的映射关系找到与该媒体文件相对应的索引文件和抽帧文件,打开该抽帧文件;
207、服务进程模块根据该2倍速快进播放请求确定快进或快退倍速为2倍速快进,根据该2倍速快进通过查找索引文件确定需要读取的关键帧数据的位置,根据该关键帧数据的位置在抽帧文件中按照2倍速正向读取关键帧数据;
208、服务进程模块把读取到的2倍速关键帧数据发送给机顶盒,以便进行播放;
209、机顶盒发起4倍速快退播放请求给服务进程模块;
210、服务进程模块接收到该4倍速快退播放请求后,根据该4倍速快退播放请求确定快进或快退倍速为4倍速快退,根据该4倍速快退通过查找索引文件确定需要读取的关键帧数据的位置,根据该关键帧数据的位置在抽帧文件中按照4倍速反向读取关键帧数据;
211、服务进程模块把读取到的4倍速关键帧数据发送给机顶盒,以便进行播放;
212、机顶盒发起正常播放请求给服务进程模块;
213、服务进程模块接收到该正常播放请求后,关闭抽帧文件,退出快进快退播放模式;
214、服务进程模块从磁盘打开媒体文件;
215、服务进程模块从媒体文件中读取帧数据并发送给机顶盒,以便进行播放。
需说明的是,以上流程仅仅为本发明实施例的一个例子,应当理解的是,本发明在具体实施时并不需要严格地按照以上流程来执行。
由上可知,本发明实施例采用将抽帧文件存储在闪存中,在接收到机顶盒发送的快进或快退播放请求后,确定快进或快退倍速,根据该快进或快退倍速通过查找索引文件确定需要读取的关键帧数据的位置,然后根据该关键帧数据的位置从抽帧文件中读取关键帧数据并发送给机顶盒,以便所述终端进行播放;由于闪存没有机械磁头,随机访问性能高,而且本发明实施例是通过查找索引文件来确定需要读取的关键帧数据的位置并读取关键帧数据的,所以可以不需要抽取并保存多个倍速的抽帧文件,使得在保证该通信***,例如媒体服务器在快进快退下具有良好的服务性能的同时,也提高了该通信***自身的性能,与此同时,与现有技术相比,由于可以不需要保存多个倍速的抽帧文件,所以可以大大节省存储空间。
实施例三、
为了更好地实施以上方法,本发明实施例还相应地提供一种处理装置,如图6所示,该处理装置包括接收单元301、确定单元302、读取单元303和发送单元304;
接收单元301,用于接收终端发送的快进或快退播放请求,即接收终端发送的快进播放请求或者接收终端发送的快退播放请求;
倍速确定单元302,用于根据所述接收单元301接收到的快进或快退播放请求确定快进或快退倍速,比如通过查找索引文件确定快进或快退倍速;具体可参见实施一和实施二,在此不再赘述。
位置确定单元303,用于根据倍速确定单元302确定的快进或快退倍速确定需要读取的关键帧数据的位置;例如,假设所述索引文件为索引表,则处理装置在索引表中查找与该快进或快退播放请求相对应的记录,并在查找到的记录中根据倍速确定单元302确定的快进或快退倍速获取需要读取的关键帧数据的位置,具体可参见实施一和实施二,在此不再赘述。
读取单元304,用于根据所述位置确定单元303确定的关键帧数据的位置从存储在闪存的抽帧文件中读取关键帧数据;
发送单元305,用于发送所述读取单元304读取到的关键帧数据给终端,以便所述终端进行播放。
当然,在接收终端发送的快进或快退播放请求之前,需要预先创建抽帧文件,因此,如图6所示,该处理装置还可以包括抽取单元306;
抽取单元306,用于在媒体文件中抽取关键帧数据以建立抽帧文件,并将抽帧文件存储在闪存中;
所述读取单元304,用于根据位置确定单元303确定的关键帧数据的位置从抽取单元306存储在闪存的抽帧文件中读取关键帧数据。
进一步的,该处理装置还可以包括索引建立单元307;
索引建立单元307,用于根据所述抽取单元306抽取到的抽帧文件创建索引文件,例如创建索引表,具体可参见实施例二,在此不再赘述。
所述位置确定单元303,用于根据倍速确定单元302确定的快进或快退倍速通过查找索引建立单元307创建的索引文件确定需要读取的关键帧数据的位置;
所述读取单元304,用于根据位置确定单元303确定的关键帧数据的位置从抽取单元306建立的抽帧文件中读取关键帧数据;
其中,抽取单元306还可以包括读取子单元、判断子单元和写入子单元;
读取子单元,用于读取媒体文件的帧数据;
判断子单元,用于判断所述读取子单元读取到的帧数据是否为关键帧数据;
写入子单元,用于当所述判断子单元判断所述读取子单元读取到的帧数据为关键帧数据时,将所述帧数据写入闪存。
需说明的是,在将抽帧文件写入闪存上时可以只存放一份较低倍速的抽帧文件,也就是说,抽取单元306无需针对每个倍速都单独创建一个抽帧文件,而只需要创建一份较低倍速,比如2倍速的抽帧文件,因为其他倍速的抽帧文件的内容都是该较低倍速抽帧文件内容的子集,针对不同倍速的快进或快退播放请求可以利用查询索引表来进行关键帧数据的定位,然后通过在该较低倍速抽帧文件中跳跃地读取不同时间间隔的关键帧数据来实现,同时,快进播放和快退播放也使用同一份抽帧文件,只是快退播放时读取关键帧数据的顺序与快进播放时读取关键帧数据的顺序相反,这样,与现有技术相比,可以更加节省存储空间;当然,上述所描述的方案并不排除可以创建和在闪存中存储一个以上抽帧文件的可实施性,关于这一点(即创建和存储的抽帧文件的数量)以及较低倍速播放模式的选择,可以根据用户或设备生产方的策略来进行设置,但是,若只从节省存储空间的角度考虑,只创建和存储一个较低倍速的抽帧文件相对而言会较优选些。
如图6所示,该处理装置还可以包括映射关系建立单元308;
映射关系建立单元308,用于建立媒体文件和抽取单元306建立的抽帧文件和索引建立单元307建立的索引文件三者之间的相互映射关系,以便在接收单元301接收到终端发送的快进或快退播放请求后,根据所述映射关系确定与所述快进或快退播放请求相对应的索引文件和抽帧文件。具体可通过目录替换或建立映射关系表的方式来建立,参见实施例一,在此不再赘述。
该处理装置具体可以为媒体服务器中的服务进程模块(或者称为服务线程模块),例如IPTV中的服务进程模块,或者数字电视(DTV,Digital TV,这是一种广电***基于同轴电缆的电视服务)中的服务进程模块,或者移动电视(MTV,Mobile TV,这是一种基于智能手机终端的流媒体服务***)中的服务进程模块,或者个人视频录像机(PVR,Personal Video Recorder)中的服务进程模块,等等支持快进快退播放的***和设备中的服务进程模块。终端具体可以为机顶盒、智能手机等具备网络流媒体展现能力的设备。
为了描述方便,以上各个单元的实施具体可参见实施例一和二,在此不再赘述。
由上可知,本发明实施例的抽取单元306可以在媒体文件中抽取关键帧数据建立抽帧文件,并将抽帧文件存储在闪存中,然后在接收单元301接收到终端发送的快进或快退播放请求后,由位置确定单元303通过查找索引文件确定需要读取的关键帧数据的位置,然后读取单元304根据该关键帧数据的位置从抽帧文件中读取关键帧数据并由发送单元305发送给终端,以便所述终端进行播放;由于闪存没有机械磁头,随机访问性能高,而且本发明实施例是通过查找索引文件来确定需要读取的关键帧数据的位置并读取关键帧数据的,所以可以不需要抽取并保存多个倍速的抽帧文件,在保证该通信***,例如媒体服务器在快进快退下具有良好的服务性能的同时,也提高了该通信***自身的性能(响应速度和CPU资源的占用等方面的性能),例如缩短了抽帧时间,与此同时,与现有技术相比,由于可以不需要保存多个倍速的抽帧文件,所以可以大大节省存储空间。
实施例四、
为了更好地实施以上方法,本发明实施例还相应地提供一种通信***,如图7所示,该通信***包括处理装置401和闪存402;
处理装置401,用于接收终端发送的快进或快退播放请求,根据所述快进或快退播放请求确定快进或快退倍速,根据快进或快退倍速确定需要读取的关键帧数据的位置,根据所述关键帧数据的位置从存储在闪存的抽帧文件中读取关键帧数据,然后发送所述关键帧数据给终端,以便所述终端进行播放;
闪存402,用于存储抽帧文件,该闪存402具体可以为基于闪存的存储设备,例如固态盘(SSD,Solid State Disk)、CF卡、闪存(FLASH)扣卡等设备。
当然,在接收终端发送的快进或快退播放请求之前,需要预先创建抽帧文件,如果处理装置401是根据快进或快退倍速通过查找索引文件确定需要读取的关键帧数据的位置的,则还可以创建索引文件,因此,所述处理装置401,还用于在媒体文件中抽取关键帧数据以建立抽帧文件,将所述抽帧文件存储在闪存中;进一步的,该处理装置401还可以根据所述抽帧文件创建索引文件。
另外,为了接收到终端发送的快进或快退播放请求后,可以找到与所述快进或快退播放请求相对应的索引文件和抽帧文件,还需要建立抽帧文件和索引文件和媒体文件之间的映射关系,因此,所述处理装置401,还用于建立抽帧文件和索引文件和媒体文件之间的映射关系,以便在接收到终端发送的快进或快退播放请求后,根据所述映射关系确定与所述快进或快退播放请求相对应的索引文件和抽帧文件。
以下将举例作简略说明,详细的实施可参见实施例一和二,此处不再赘述。
首先,处理装置401需要预先创建抽帧文件和索引文件,其次,处理装置401还需要预先建立抽帧文件和索引文件和媒体文件之间的映射关系,然后,当用户需要对媒体文件进行快进或快退播放时,用户就可以通过终端发送快进或快退播放请求给处理装置401,处理装置401在接收到该快进或快退播放请求后,根据抽帧文件和索引文件和媒体文件之间的映射关系找到与媒体文件相对应的索引文件和抽帧文件,根据该快进或快退播放请求确定快进或快退倍速,根据快进或快退倍速通过查找索引文件确定需要读取的关键帧数据的位置,然后根据该关键帧数据的位置从存储在闪存402上的抽帧文件中读取关键帧数据,并发送给终端,终端接收到该关键帧数据后进行播放,从而实现媒体文件的快进或快退播放。
该通信***具体可以为媒体服务器,例如IPTV、DTV、MTV或PVR等等支持快进快退播放的***和设备。
终端具体可以为机顶盒、智能手机等具备网络流媒体展现能力的设备。
其中,处理装置401可以包括接收单元301、倍速确定单元302、位置确定单元303、读取单元304和发送单元305;处理装置401还可以包括抽取单元306、索引建立单元307和映射关系建立单元308;其中,抽取单元306可以包括读取子单元、判断子单元和写入子单元。该处理装置401具体可以为媒体服务器中的服务进程模块,例如IPTV、DTV、MTV或PVR等等支持快进快退播放的***和设备中的服务进程模块。
综上,本发明实施例的通信***采用将抽帧文件存储在闪存中,在接收到终端发送的快进或快退播放请求后,通信***中的处理装置401先确定确定快进或快退倍速,并根据快进或快退倍速确定需要读取的关键帧数据的位置,然后根据该关键帧数据的位置从存储在闪存402上的抽帧文件中读取关键帧数据并发送给终端,以便所述终端进行播放;由于闪存没有机械磁头,随机访问性能高,而且本发明实施例的通信***是通过查找索引文件来确定需要读取的关键帧数据的位置并读取关键帧数据的,所以可以不需要抽取并保存多个倍速的抽帧文件,使得在保证该通信***,例如媒体服务器在快进快退下具有良好的服务性能的同时,也提高了该通信***,例自身的性能(响应速度和CPU资源的占用等方面的性能),例如缩短了抽帧时间,与此同时,与现有技术相比,也节省了存储空间,例如,以所有关键帧数据的大小占原媒体文件大小x的30%计算,在支持2倍速、4倍速、8倍速、16倍速和32倍速快进快退的情况下,若按照现有技术的方案,所需的抽帧文件总大小约为x*(30%+15%+8%+4%+2%)*2=120%*x,也就是说,需要额外占用大小约为120%*x的磁盘空间,而按照本发明实施例的方案,可以只抽取一个较低倍速的抽帧文件,例如2倍速抽帧文件,所需抽帧文件的大小为x*30%=30%*x,可见,远远小于现有技术的抽帧文件总大小。
本领域普通技术人员可以理解上述实施例的各种方法中的全部或部分步骤是可以通过程序来指令相关的硬件来完成,该程序可以存储于一计算机可读存储介质中,存储介质可以包括:只读存储器(ROM,Read Only Memory)、随机存取记忆体(RAM,RandomAccess Memory)、磁盘或光盘等。
以上对本发明实施例所提供的媒体文件快进快退播放的处理方法、装置和***进行了详细介绍,本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。
Claims (5)
1.一种网络流媒体快进快退播放的处理方法,其特征在于,包括:
在媒体文件中抽取关键帧数据以建立抽帧文件,并将抽帧文件存储在闪存中;
根据所述抽帧文件创建索引文件;
接收终端发送的快进或快退播放请求;
根据所述快进或快退播放请求确定快进或快退倍速;
根据快进或快退倍速通过查找索引文件确定需要读取的关键帧数据的位置;
根据所述关键帧数据的位置从存储在闪存的抽帧文件中读取关键帧数据;
发送所述关键帧数据给终端,以便所述终端进行播放;
其中,所述在媒体文件中抽取关键帧以建立抽帧文件,并将抽帧文件存储在闪存中包括:读取媒体文件的帧数据;判断所述帧数据是否为关键帧数据;若是,则将所述帧数据写入闪存,然后继续执行读取媒体文件的帧数据的步骤;若否,则跳过所述帧数据,然后继续执行读取媒体文件的帧数据的步骤;
其中,在将抽帧文件存放于闪存上时,只存放一份较低倍速的抽帧文件,其他倍速的抽帧文件的内容为所述较低倍速抽帧文件内容的子集。
2.根据权利要求1所述的方法,其特征在于,还包括:
建立抽帧文件和索引文件和媒体文件三者之间的相互映射关系,以便在接收到终端发送的快进或快退播放请求后,根据所述映射关系确定与所述快进或快退播放请求相对应的索引文件和抽帧文件。
3.根据权利要求2所述的方法,其特征在于,所述建立抽帧文件和索引文件和媒体文件三者之间的相互映射关系包括:
通过目录替换或建立映射关系表的方式建立抽帧文件和索引文件和媒体文件之间的映射关系。
4.一种处理装置,其特征在于,包括:
抽取单元,用于在媒体文件中抽取关键帧数据以建立抽帧文件,并将抽帧文件存储在闪存中;其中,在将抽帧文件存放于闪存上时,只存放一份较低倍速的抽帧文件,其他倍速的抽帧文件的内容为所述较低倍速抽帧文件内容的子集;
索引建立单元,用于根据所述抽取单元抽取到的抽帧文件创建索引文件;
接收单元,用于接收终端发送的快进或快退播放请求;
倍速确定单元,用于根据所述接收单元接收到的快进或快退播放请求确定快进或快退倍速;
位置确定单元,用于根据倍速确定单元确定的快进或快退倍速通过查找索引建立单元创建的索引文件确定需要读取的关键帧数据的位置;
读取单元,用于根据位置确定单元确定的关键帧数据的位置从存储在闪存的抽帧文件中读取关键帧数据;
发送单元,用于发送所述读取单元读取到的关键帧数据给终端,以便所述终端进行播放;
其中,所述抽取单元包括读取子单元、判断子单和写入子单元;
读取子单元,用于读取媒体文件的帧数据;
判断子单元,用于判断所述读取子单元读取到的帧数据是否为关键帧数据;
写入子单元,用于当所述判断子单元判断所述读取子单元读取到的帧数据为关键帧数据时,将所述帧数据写入闪存。
5.一种通信***,其特征在于,包括:
处理装置,用于在媒体文件中抽取关键帧数据以建立抽帧文件,将所述抽帧文件存储在闪存中,根据所述抽帧文件创建索引文件,接收终端发送的快进或快退播放请求,根据所述快进或快退播放请求确定快进或快退倍速,根据快进或快退倍速通过查找索引文件确定需要读取的关键帧数据的位置,根据所述关键帧数据的位置从存储在闪存的抽帧文件中读取关键帧数据,然后发送所述关键帧数据给终端,以便所述终端进行播放;其中,所述在媒体文件中抽取关键帧以建立抽帧文件,并将抽帧文件存储在闪存中包括:读取媒体文件的帧数据;判断所述帧数据是否为关键帧数据;若是,则将所述帧数据写入闪存,然后继续执行读取媒体文件的帧数据的步骤;若否,则跳过所述帧数据,然后继续执行读取媒体文件的帧数据的步骤;其中,在将抽帧文件存放于闪存上时,只存放一份较低倍速的抽帧文件,其他倍速的抽帧文件的内容为所述较低倍速抽帧文件内容的子集;闪存,用于存储抽帧文件。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN 200910174227 CN102025956B (zh) | 2009-09-23 | 2009-09-23 | 网络流媒体快进快退播放的处理方法、装置和*** |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN 200910174227 CN102025956B (zh) | 2009-09-23 | 2009-09-23 | 网络流媒体快进快退播放的处理方法、装置和*** |
Publications (2)
Publication Number | Publication Date |
---|---|
CN102025956A CN102025956A (zh) | 2011-04-20 |
CN102025956B true CN102025956B (zh) | 2013-01-23 |
Family
ID=43866732
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN 200910174227 Active CN102025956B (zh) | 2009-09-23 | 2009-09-23 | 网络流媒体快进快退播放的处理方法、装置和*** |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN102025956B (zh) |
Families Citing this family (24)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102572406B (zh) * | 2012-02-24 | 2014-12-10 | 深圳市长宇电器有限公司 | 在服务器端快速浏览车载终端视频文件的方法及装置 |
CN103369351A (zh) * | 2012-03-29 | 2013-10-23 | 深圳市龙视传媒有限公司 | 一种流媒体快进快退的处理方法、视频服务器及*** |
CN102761773A (zh) * | 2012-07-03 | 2012-10-31 | Ut斯达康通讯有限公司 | 一种利用i帧改善iptv业务的用户体验的方法 |
CN103942216B (zh) * | 2013-01-21 | 2017-12-29 | 中国科学院声学研究所 | 一种基于稀疏解析的索引信息存储、查询方法及存储*** |
CN103428213A (zh) * | 2013-08-08 | 2013-12-04 | 深圳市同洲电子股份有限公司 | 一种多媒体文件生成的方法及多媒体设备 |
CN104639951B (zh) * | 2013-11-06 | 2019-05-21 | 杭州海康威视数字技术股份有限公司 | 视频码流的抽帧处理方法及装置 |
CN103686411A (zh) * | 2013-12-11 | 2014-03-26 | 深圳Tcl新技术有限公司 | 视频的播放方法及多媒体设备 |
CN104837030B (zh) * | 2014-02-12 | 2019-04-16 | 中国电信股份有限公司 | 一种http流媒体实现快进快退播放的方法和*** |
CN105049881A (zh) * | 2014-12-03 | 2015-11-11 | 武汉市烽视威科技有限公司 | 基于流媒体服务器实现快进快退播放的方法及*** |
CN104394426B (zh) * | 2014-12-10 | 2017-12-26 | 福建星网锐捷网络有限公司 | 流媒体倍速播放方法和装置 |
CN105744297A (zh) * | 2014-12-12 | 2016-07-06 | 中兴通讯股份有限公司 | 码流传输方法和装置 |
CN104683882B (zh) * | 2015-02-13 | 2018-02-23 | 北京数码视讯科技股份有限公司 | 一种流媒体倍速文件的生成及播放方法、装置 |
CN105307013B (zh) * | 2015-10-22 | 2020-09-22 | 厦门雅迅网络股份有限公司 | 一种快进播放视频帧选择方法 |
CN106612462B (zh) * | 2015-10-26 | 2021-02-19 | 中兴通讯股份有限公司 | 快进快退的处理方法及终端 |
CN106454417B (zh) * | 2016-11-11 | 2019-08-09 | 青岛海信宽带多媒体技术有限公司 | 流媒体倍速播放方法及装置 |
CN109391585B (zh) * | 2017-08-03 | 2021-06-11 | 杭州海康威视数字技术股份有限公司 | 视频数据处理方法、装置、终端及计算机可读存储介质 |
CN109640019B (zh) * | 2018-12-13 | 2021-09-07 | 广州艾美网络科技有限公司 | 一种通过移动终端录制编辑长视频的方法 |
CN111355989B (zh) * | 2018-12-21 | 2023-08-08 | 深圳市中兴微电子技术有限公司 | 一种帧率控制方法及相关设备 |
CN111031355B (zh) * | 2019-12-25 | 2021-08-27 | 湖南快乐阳光互动娱乐传媒有限公司 | 媒体资源播放处理方法、装置及*** |
CN112489683A (zh) * | 2020-11-24 | 2021-03-12 | 广州市久邦数码科技有限公司 | 基于关键词语定位实现音频快进快退的方法和装置 |
CN112558873B (zh) * | 2020-12-14 | 2021-10-15 | 上海创米科技有限公司 | 嵌入式音视频数据存储、检索、删除方法及装置、存储器 |
CN113596518B (zh) * | 2021-08-13 | 2022-04-08 | 北京中电兴发科技有限公司 | 一种用于提升倍速播放性能的视频存取方法 |
CN114173202A (zh) * | 2021-11-23 | 2022-03-11 | 武汉市烽视威科技有限公司 | 基于rtsp协议的连续倍速播放方法及相关设备 |
CN114579771A (zh) * | 2022-02-24 | 2022-06-03 | 珠海海奇半导体有限公司 | 一种媒体文件播放方法及播放***、控制装置、存储介质 |
-
2009
- 2009-09-23 CN CN 200910174227 patent/CN102025956B/zh active Active
Also Published As
Publication number | Publication date |
---|---|
CN102025956A (zh) | 2011-04-20 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN102025956B (zh) | 网络流媒体快进快退播放的处理方法、装置和*** | |
CN101636726B (zh) | 包含连续播放的视频分配*** | |
CN104869467B (zh) | 媒体播放中的信息输出方法、装置和*** | |
CN101662661B (zh) | 基于直播录制的视频点播方法及*** | |
FI1969839T4 (fi) | Useita laitteita sisältävä interaktiivinen medianohjausjärjestelmä | |
CN103442300A (zh) | 一种音视频跳转播放方法以及装置 | |
CN103314602A (zh) | 再生装置及其控制方法、生成装置及其控制方法、记录介质、数据结构、控制程序以及记录了该程序的记录介质 | |
US8000578B2 (en) | Method, system, and medium for providing broadcasting service using home server and mobile phone | |
US8665963B2 (en) | Communication terminal, content reproduction method, content reproduction program, and content reproduction system for distributing and reproducing video contents with reduced stress | |
US8509599B2 (en) | Recording and reproducing apparatus, recording and reproducing method and program | |
CN103369351A (zh) | 一种流媒体快进快退的处理方法、视频服务器及*** | |
US8301009B2 (en) | Detailed information providing method and apparatus of personal video recorder | |
KR100770908B1 (ko) | 디지털 방송 스트림의 변속 재생 장치 및 방법 | |
US20090136204A1 (en) | System and method for remote live pause | |
KR101221473B1 (ko) | 메타 데이터 정보 제공 서버, 클라이언트 장치, 메타데이터 정보 제공 방법 및 콘텐츠 제공 방법 | |
CN103402137A (zh) | 一种应用推送方法、移动终端以及数字电视接收端 | |
KR100780061B1 (ko) | 동영상 제공 시스템 및 동영상 등록/재생/조회방법 | |
US8364003B2 (en) | Broadcast signal-providing device, broadcast signal-providing method, broadcast signal-providing program, and broadcast signal-providing system | |
CN105744297A (zh) | 码流传输方法和装置 | |
JP2005151445A (ja) | コンテンツ再生装置 | |
JP4544353B2 (ja) | 情報処理装置、情報処理方法、およびプログラム | |
KR20060102639A (ko) | 동영상 재생 시스템 및 방법 | |
JP2006139682A (ja) | 映像検索システム、映像検索方法及びプログラム | |
KR20050022631A (ko) | 다중 유닛 pvr ird 시스템에서 프로그램 녹화 및재생 방법 | |
JP4972466B2 (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 |