《在H264视频文件中提取缩略图的方法和设备.pdf》由会员分享,可在线阅读,更多相关《在H264视频文件中提取缩略图的方法和设备.pdf(26页珍藏版)》请在专利查询网上搜索。
1、10申请公布号CN104065966A43申请公布日20140924CN104065966A21申请号201310090197822申请日20130320H04N19/34201401H04N19/3920140171申请人三星电子(中国)研发中心地址210061江苏省南京市高新区高新研发大厦912层申请人三星电子株式会社72发明人吴迪孙晔朱春波74专利代理机构北京铭硕知识产权代理有限公司11286代理人韩明星郭鸿禧54发明名称在H264视频文件中提取缩略图的方法和设备57摘要提供了一种在H264视频文件中提取缩略图的方法和设备,所述方法包括在H264视频文件中设置N个采集时间点,其中,N是等。
2、于或大于1的整数;从所述N个采集时间点中的每个采集时间点搜索可独立解码帧;通过对搜索到的可独立解码帧进行解码和缩放,产生缩略图。所述方法能够在H264视频文件中有效地提取缩略图,尤其是在一些H264视频文件中缺乏IDR帧的情况下,可对这些H264视频文件进行有效的缩略图提取操作。51INTCL权利要求书5页说明书14页附图6页19中华人民共和国国家知识产权局12发明专利申请权利要求书5页说明书14页附图6页10申请公布号CN104065966ACN104065966A1/5页21一种在H264视频文件中提取缩略图的方法,所述方法包括在H264视频文件中设置N个采集时间点,其中,N是等于或大于1。
3、的整数;从所述N个采集时间点中的每个采集时间点搜索可独立解码帧;通过对搜索到的可独立解码帧进行解码和缩放,产生缩略图。2如权利要求1所述的方法,其中,设置N个采集时间点的步骤包括获得H264视频文件的总播放时间;通过将所述总播放时间划分为N1等份,获得包括H264视频文件的开始时间点和结束时间点的N2个时间点;将H264视频文件的开始时间点到结束时间点之间的N个时间点作为所述N个采集时间点。3如权利要求1所述的方法,其中,通过在所述N个采集时间点中的每个采集时间点执行以下操作来搜索可独立解码帧跳转到在H264视频文件中与当前采集时间点相应的码流位置;从所述码流位置开始解析视频帧;存储对视频帧进。
4、行解析后获得的关于视频帧的信息;基于所述关于视频帧的信息,确定视频帧是否可独立解码,直到获得一个可独立解码帧,或者直到当前采集时间点到下一个采集时间点之间的帧已解析并确定完毕还未获得可独立解码帧。4如权利要求3所述的方法,其中,解析视频帧的步骤包括解析当前视频帧数据中的所有网络提取层NAL单元,并从所有NAL单元中的每个条带的头信息以及每个条带所参考的序列参数集SPS中提取所述关于视频帧的信息,所述关于视频帧的信息包括以下信息中的至少一个条带类型SLICE_TYPE、帧号FRAME_NUM、帧标志FRAME_MBS_ONLY_FLAG、场标志FIELD_PIC_FLAG、底场标志BOTTOM_。
5、FIELD_FLAG、最大参考帧数量MAX_NUM_REF_FRAMES。5如权利要求4所述的方法,其中,确定视频帧是否可独立解码的步骤包括判断当前视频帧的所有条带是否均为I条带;当当前视频帧的所有条带均为I条带时,确定当前视频帧是可独立解码帧。6如权利要求5所述的方法,其中,判断当前视频帧的所有条带是否均为I条带的步骤包括判断当前视频帧中的所有条带的SLICE_TYPE是否均表示当前条带为I条带;如果当前视频帧中的所有条带的SLICE_TYPE均表示当前条带为I条带,则判断当前视频帧的所有条带均为I条带。7如权利要求4所述的方法,其中,确定视频帧是否可独立解码的步骤包括判断当前视频帧是否满足。
6、以下两个条件1当前视频帧为场编码模式,并在解码顺序上靠前的一场中所有条带均为I条带,2当前视频帧的最大参考帧数量小于或等于1;当当前视频帧满足所述两个条件时,确定当前视频帧是可独立解码帧。8如权利要求7所述的方法,其中,判断当前视频帧是否满足所述两个条件的步骤包括设置并保存变量FIRST_FIELD,并且将FIRST_FIELD的初始值设置为0,其中,FIRST_权利要求书CN104065966A2/5页3FIELD为1表示当前条带属于场编码模式,并且属于解码顺序上的第一场;如果当前条带是当前图像的第一个条带,则更新并保存FIRST_FIELD,其中,当前图像为场编码模式下的场图像或者帧编码模。
7、式下的帧图像;当FIRST_FIELD被更新为1时,判断当前图像中的所有条带的SFICE_TYPE是否均表示当前条带为I条带;如果当前图像中的所有条带的SLICE_TYPE均表示当前条带为I条带,则判断当前视频帧的MAX_NUM_REF_FRAMES是否均等于或小于1;如果当前视频帧的MAX_NUM_REF_FRAMES均等于或小于1,则判断当前视频帧满足所述两个条件,其中,更新FIRST_FIELD的步骤包括判断当前条带是否属于场编码模式;如果当前条带不属于场编码模式,则将FIRST_FIELD更新为0,否则判断未更新时的FIRST_FIELD是否为1;如果未更新时的FIRST_FIELD不。
8、为1,则将FIRST_FIELD更新为1,否则判断当前条带与上一个条带的场极性是否相同;如果当前条带与上一个条带的场极性相同,则将FIRST_FIELD更新为1,否则判断当前条带与上一个条带的FRAME_NUM是否相同;如果当前条带与上一个条带的FRAME_NUM不相同,则将FIRST_FIELD更新为1,否则将FIRST_FIELD更新为0。9如权利要求8所述的方法,其中,判断当前条带是否属于场编码模式的步骤包括判断当前条带的FRAME_MBS_ONLY_FLAG是否为1;如果当前条带的FRAME_MBS_ONLY_FLAG为1,则判断当前条带为帧编码模式,否则判断当前条带的FIELD_PI。
9、C_FLAG是否为0;如果当前条带的FIELD_PIC_FLAG为0,则判断当前条带为帧编码模式,否则判断当前条带为场编码模式。10如权利要求8所述的方法,其中,判断当前条带与上一个条带的场极性是否相同的步骤包括判断当前条带的BOTTOM_FIELD_FLAG与上一个条带的BOTTOM_FIELD_FLAG是否为相同的值;如果当前条带的BOTTOM_FIELD_FLAG和上一个条带的BOTTOM_FIELD_FLAG相同,则判断当前条带和上一条带的场极性相同,否则判断当前条带和上一个条带的场极性不相同,其中,BOTTOM_FIELD_FLAG为1表示当前条带属于底场,BOTTOM_FIELD_。
10、FLAG为0表示当前条带属于顶场。11如权利要求1所述的方法,还包括在产生缩略图之后,基于缩略图信息熵最大的原则,从产生的缩略图中提取M个缩略图作为H264视频文件的最终的缩略图,其中,M为等于或大于1的整数。12如权利要求11所述的方法,其中,基于缩略图信息熵最大的原则,从产生的缩略图中提取多个缩略图的步骤包括将产生的缩略图按时间顺序平均分为M个组,其中,前M1个组中的缩略图数量为通过权利要求书CN104065966A3/5页4对产生的缩略图数量/M向下取整而得到的数量,第M组中包括剩余的缩略图;分别针对所述M个组的每个组中的缩略图计算信息熵;提取所述M个组的每个组中信息熵最大的缩略图,作为。
11、该组的最终的缩略图;输出提取到的M个缩略图,作为H264视频文件的最终的缩略图。13如权利要求12所述的方法,其中,分别针对所述M个组的每个组中的缩略图计算信息熵的步骤包括设置大小为WH1的查找表TABLEWH1,其中,W和H分别表示缩略图的宽和高;基于I从0到WH,依次计算I/WHLOGI/WH的值,并将计算的值存入TABLEI;设置一个数组PIXELNUM256,并将PIXELNUM256初始化为0,其中,PIXELNUM256表示256个亮度值中的每个亮度值在缩略图的像素中出现的个数;从0到WH,依次读取缩略图中的像素的亮度值并将PIXELNUM该亮度值的值更新为PIXELNUM该亮度值。
12、1;基于J从0到256,依次查找并累加TABLEPIXELNUMJ的值;将累加的值作为缩略图的信息熵。14一种在H264视频文件中提取缩略图的设备,所述设备包括采集时间点设置单元,在H264视频文件中设置N个采集时间点,其中,N是等于或大于1的整数;搜索单元,从所述N个采集时间点中的每个采集时间点搜索可独立解码帧;缩略图产生单元,通过对搜索到的可独立解码帧进行解码和缩放,产生缩略图。15如权利要求14所述的设备,其中,采集时间点设置单元通过获得H264视频文件的总播放时间,通过将所述总播放时间划分为N1等份,获得包括H264视频文件的开始时间点和结束时间点的N2个时间点,将H264视频文件的开。
13、始时间点到结束时间点之间的N个时间点作为所述N个采集时间点,来设置N个采集时间点。16如权利要求14所述的设备,其中,搜索单元包括跳转单元,跳转到在H264视频文件中与所述N个采集时间点中的当前采集时间点相应的码流位置;解析单元,从所述码流位置开始解析视频帧;存储单元,存储解析单元对视频帧进行解析后获得的关于视频帧的信息;可独立解码帧确定单元,基于所述关于视频帧的信息,确定视频帧是否可独立解码,直到获得一个可独立解码帧,或者直到当前采集时间点到下一个采集时间点之间的帧已解析并确定完毕还未获得可独立解码帧。17如权利要求16所述的设备,其中,解析单元通过解析当前视频帧数据中的所有网络提取层NAL。
14、单元,并从所有NAL单元中的每个条带的头信息以及每个条带所参考的序列参数集SPS中提取所述关于视频帧的信息来解析视频帧,所述关于视频帧的信息包括以下信息中的至少一个条带类型SLICE_TYPE、帧号FRAME_NUM、帧标志FRAME_MBS_ONLY_FLAG、场标志FIELD_PIC_FLAG、底场标志BOTTOM_FIELD_FLAG、最大参考帧数量MAX_NUM_REF_FRAMES。18如权利要求17所述的设备,其中,可独立解码帧确定单元通过判断当前视频帧的权利要求书CN104065966A4/5页5所有条带是否均为I条带来确定当前视频帧是否是可独立解码帧,当当前视频帧的所有条带均为。
15、I条带时,可独立解码帧确定单元确定当前视频帧是可独立解码帧。19如权利要求18所述的设备,其中,可独立解码帧确定单元通过判断当前视频帧中的所有条带的SLICE_TYPE就否均表示当前条带为I条带来判断当前视频帧中的所有条带是否均为I条带,如果当前视频帧中的所有条带的SLICE_TYPE均表示当前条带为I条带,则可独立解码帧确定单元判断当前视频帧的所有条带均为I条带。20如权利要求17所述的设备,其中,可独立解码帧确定单元判断当前视频帧是否满足以下两个条件来确定当前视频帧是否是可独立解码帧1当前视频帧为场编码模式,并在解码顺序上靠前的一场中所有条带均为I条带,2当前视频帧最大参考帧数量小于或等于。
16、1,当当前视频帧满足所述两个条件时,可独立解码帧确定单元确定当前帧是可独立解码帧。21如权利要求20所述的设备,其中,可独立解码帧确定单元还包括设置单元,设置单元设置变量FIRST_FIELD,并且将FIRST_FIELD的初始值设置为0,并将FIRST_FIELD存储在存储单元,其中,FIRST_FIELD为1表示当前条带属于场编码模式,并且属于解码顺序上的第一场,如果当前条带是当前图像的第一个条带,则设置单元更新FIRST_FIELD,并将更新的FIRST_FIELD存储在存储单元,其中,当前图像为场编码模式下的场图像或者帧编码模式下的帧图像,当FIRST_FIELD被更新为1时,可独立解。
17、码帧确定单元判断当前图像中的所有条带的SLICE_TYPE是否均表示当前条带为I条带,如果当前图像中的所有条带的SLICE_TYPE均表示当前条带为I条带,则可独立解码帧确定单元判断当前图像中的所有条带的MAX_NUM_REF_FRAMES是否均等于或小于1,如果当前图像中的所有条带的MAX_NUM_REF_FRAMES均等于或小于1,则可独立解码帧确定单元判断当前视频帧满足所述两个条件,其中,当设置单元更新FIRST_FIELD时,设置单元判断当前条带是否属于场编码模式;如果当前条带不属于场编码模式,则设置单元将FIRST_FIELD更新为0,否则设置单元判断未更新时的FIRST_FIELD。
18、是否为1;如果未更新时的FIRST_FIELD不为1,则设置单元将FIRST_FIELD更新为1,否则设置单元判断当前条带与上一个条带的场极性是否相同;如果当前条带与上一个条带的场极性相同,则设置单元将FIRST_FIELD更新为1,否则设置单元判断当前条带与上一个条带的FRAME_NUM是否相同;如果当前条带与上一个条带的FRAME_NUM不相同,则设置单元将FIRST_FIELD更新为1,否则设置单元将FIRST_FIELD更新为0。22如权利要求21所述的设备,其中,当设置单元判断当前条带是否属于场编码模式时,判断当前条带的FRAME_MBS_ONLY_FLAG是否为1;如果当前条带的F。
19、RAME_MBS_ONLY_FLAG为1,则设置单元判断当前条带为帧编码模式,否则设置单元判断当前条带的FIELD_PIC_FLAG是否为0;如果当前条带的FIELD_PIC_FLAG为0,则设置单元判断当前条带为帧编码模式,否则设置单元判断当前条带为场编码模式。23如权利要求21所述的设备,其中,当设置单元判断当前条带与上一个条带的场极性是否相同时,判断当前条带的BOTTOM_FIELD_FLAG与上一个条带的BOTTOM_FIELD_FLAG是否为相同的值;如果当前条带的BOTTOM_FIELD_FLAG和上一个条带的BOTTOM_FIELD_权利要求书CN104065966A5/5页6F。
20、LAG相同,则设置单元判断当前条带和上一条带的场极性相同,否则设置单元判断当前条带和上一个条带的场极性不相同,其中,BOTTOM_FIELD_FLAG为1表示当前条带属于底场,BOTTOM_FIELD_FLAG为0表示当前条带属于顶场。24如权利要求14所述的设备,还包括缩略图提取单元,在产生缩略图之后,基于缩略图信息熵最大的原则,从产生的缩略图中提取M个缩略图作为H264视频文件的最终的缩略图,其中,M为等于或大于1的整数。25如权利要求24所述的设备,其中,缩略图提取单元包括分组单元,将产生的缩略图按时间顺序平均分为M个组,其中,前M1个组中的缩略图数量为通过对产生的缩略图数量/M向下取整。
21、而得到的数量,第M组中包括剩余的缩略图;信息熵计算单元,分别针对所述M个组的每个组中的缩略图计算信息熵;提取单元,提取所述M个组的每个组中信息熵最大的缩略图,作为该组的最终的缩略图;输出单元,输出提取到的M个缩略图,作为H264视频文件的最终的缩略图。26如权利要求25所述的设备,其中,信息熵计算单元通过设置大小为WH1的查找表TABLEWH1,其中,W和H分别表示缩略图的宽和高;基于I从0到WH,依次计算I/WHLOGI/WH的值,并将计算的值存入TABLEI;设置一个数组PIXELNUM256,并将PIXELNUM256初始化为0,其中,PIXELNUM256表示256个亮度值中的每个亮度。
22、值在缩略图的像素中出现的个数;从0到WH,依次读取缩略图中的像素的亮度值并将PIXELNUM该亮度值的值更新为PIXELNUM该亮度值1;基于J从0到256,依次查找并累加TABLEPIXELNUMJ的值;将累加的值作为缩略图的信息熵,来计算缩略图的信息熵。权利要求书CN104065966A1/14页7在H264视频文件中提取缩略图的方法和设备技术领域0001本发明涉及一种对视频文件提取缩略图的方法和设备,更具体地说,涉及一种在H264视频文件中提取缩略图的方法和设备。背景技术0002目前,多媒体播放器在对视频文件提取缩略图时,通常使用该视频文件的第一个随机访问点或者随机抽取该视频文件中的多个。
23、随机访问点,并进行解码、缩放,从而得到视频缩略图。0003此外,近年来出现了一些本身支持缩略图显示特性的多媒体文件标准,这些多媒体文件中除了原始视频流之外,还另外存在一组由质量稍低的对原始视频文件的所有内容按一定的时间间隔提取得到的一系列I帧组成的视频流,该视频流可以用于步进播放,也可以用于缩略图显示。0004此外,对于网络视频,网络服务提供商通常会对所要播放的视频文件进行预处理,预先提取出该视频每隔N秒的画面,并制作成一个缩略图列表。当用户将鼠标放在进度条上时,服务器将把与该进度条上的时间点对应的缩略图传送过来,显示给用户。0005在现有技术中,在对基于H264标准的视频文件提取缩略图时,在。
24、多媒体播放器不支持缩略图显示特性的情况下,可将IDR帧INSTANTANEOUSDECODINGREFRESH,瞬时解码更新帧作为提取缩略图的待选帧,其中,IDR帧为帧内预测帧,并且可完全截断预测链,作为随机访问点的关键帧。0006现有的多媒体播放器在进行H264视频文件缩略图制作时,首先会根据给定的提取时间跳转到H264码流中对应的位置,然后搜索离该位置最近的IDR帧,找到IDR帧之后,对其进行解码缩放,最后产生缩略图。0007上述方法对于某些IDR帧比较少的文件有一定的局限性,例如播放时间较短的文件、由摄像机等设备录制的文件以及用于低码率、低延时传输的H264视频文件。通常,在这些文件中会。
25、使用较少的IDR帧,以节省文件码率。因此,这些H264视频文件的IDR帧很少,甚至整个视频文件中只有一个IDR帧,在对这种文件制作缩略图的时候就会比较困难,而且这些IDR帧中可能存在没有意义的IDR帧,如黑屏,白屏等,将这样的帧作为视频缩略图会影响用户观看兴趣。0008因此,需要一种在H264视频文件中有效地提取缩略图的方法和设备。发明内容0009本发明在于至少解决上述问题,并提供下述优点,本发明的一方面在于提供一种在H264视频文件中提取缩略图的方法和设备,所述方法和设备搜索H264视频文件中的可独立解码帧,并基于搜索到的可独立解码帧产生缩略图。0010本发明的另一方面在于提供一种在H264。
26、视频文件中提取缩略图的方法和设备,所述方法和设备基于缩略图信息熵最大的原则筛选并提取缩略图,并通过建立查找表来计说明书CN104065966A2/14页8算缩略图的信息熵。0011根据本发明的一方面,提供了一种在H264视频文件中提取缩略图的方法,所述方法包括在H264视频文件中设置N个采集时间点,其中,N是等于或大于1的整数;从所述N个采集时间点中的每个采集时间点搜索可独立解码帧;通过对搜索到的可独立解码帧进行解码和缩放,产生缩略图。0012设置N个采集时间点的步骤可包括获得H264视频文件的总播放时间;通过将所述总播放时间划分为N1等份,获得包括H264视频文件的开始时间点和结束时间点的N。
27、2个时间点;将H264视频文件的开始时间点到结束时间点之间的N个时间点作为所述N个采集时间点。0013可通过在所述N个采集时间点中的每个采集时间点执行以下操作来搜索可独立解码帧跳转到在H264视频文件中与当前采集时间点相应的码流位置;从所述码流位置开始解析视频帧;存储对视频帧进行解析后获得的关于视频帧的信息;基于所述关于视频帧的信息,确定视频帧是否可独立解码,直到获得一个可独立解码帧,或者直到当前采集时间点到下一个采集时间点之间的帧已解析并确定完毕还未获得可独立解码帧。0014解析视频帧的步骤可包括解析当前视频帧数据中的所有网络提取层NAL单元,并从所有NAL单元中的每个条带的头信息以及每个条。
28、带所参考的序列参数集SPS中提取所述关于视频帧的信息,所述关于视频帧的信息包括以下信息中的至少一个条带类型SLICE_TYPE、帧号FRAME_NUM、帧标志FRAME_MBS_ONLY_FLAG、场标志FIELD_PIC_FLAG、底场标志BOTTOM_FIELD_FLAG、最大参考帧数量MAX_NUM_REF_FRAMES。0015确定视频帧是否可独立解码的步骤可包括判断当前视频帧的所有条带是否均为I条带;当当前视频帧的所有条带均为I条带时,确定当前视频帧是可独立解码帧。0016判断当前视频帧的所有条带是否均为I条带的步骤可包括判断当前视频帧中的所有条带的SLICE_TYPE是否均表示当前。
29、条带为I条带;如果当前视频帧中的所有条带的SLICE_TYPE均表示当前条带为I条带,则判断当前视频帧的所有条带均为I条带。0017确定视频帧是否可独立解码的步骤可包括判断当前视频帧是否满足以下两个条件1当前视频帧为场编码模式,并在解码顺序上靠前的一场中所有条带均为I条带,2当前视频帧的最大参考帧数量小于或等于1;当当前视频帧满足所述两个条件时,确定当前视频帧是可独立解码帧。0018判断当前视频帧是否满足所述两个条件的步骤可包括设置并保存变量FIRST_FIELD,并且将FIRST_FIELD的初始值设置为0,其中,FIRST_FIELD为1表示当前条带属于场编码模式,并且属于解码顺序上的第一。
30、场;如果当前条带是当前图像的第一个条带,则更新并保存FIRST_FIELD,其中,当前图像为场编码模式下的场图像或者帧编码模式下的帧图像;当FIRST_FIELD被更新为1时,判断当前图像中的所有条带的SLICE_TYPE是否均表示当前条带为I条带;如果当前图像中的所有条带的SLICE_TYPE均表示当前条带为I条带,则判断当前视频帧的MAX_NUM_REF_FRAMES是否均等于或小于1;如果当前视频帧的MAX_NUM_REF_FRAMES均等于或小于1,则判断当前视频帧满足所述两个条件,其中,更新FIRST_FIELD的步骤包括判断当前条带是否属于场编码模式;如果当前条带不属于场编码模式,。
31、则将FIRST_FIELD更新为0,否则判断未更新时的FIRST_FIELD是否为1;如果未更新时的FIRST_FIELD不为1,则将FIRST_FIELD更新为1,否则判断当前条带与上一个条带的场极说明书CN104065966A3/14页9性是否相同;如果当前条带与上一个条带的场极性相同,则将FIRST_FIELD更新为1,否则判断当前条带与上一个条带的FRAME_NUM是否相同;如果当前条带与上一个条带的FRAME_NUM不相同,则将FIRST_FIELD更新为1,否则将FIRST_FIELD更新为0。0019判断当前条带是否属于场编码模式的步骤可包括判断当前条带的FRAME_MBS_ON。
32、LY_FLAG是否为1;如果当前条带的FRAME_MBS_ONLY_FLAG为1,则判断当前条带为帧编码模式,否则判断当前条带的FIELD_PIC_FLAG是否为0;如果当前条带的FIELD_PIC_FLAG为0,则判断当前条带为帧编码模式,否则判断当前条带为场编码模式。0020判断当前条带与上一个条带的场极性是否相同的步骤可包括判断当前条带的BOTTOM_FIELD_FLAG与上一个条带的BOTTOM_FIELD_FLAG是否为相同的值;如果当前条带的BOTTOM_FIELD_FLAG和上一个条带的BOTTOM_FIELD_FLAG相同,则判断当前条带和上一条带的场极性相同,否则判断当前条带。
33、和上一个条带的场极性不相同,其中,BOTTOM_FIELD_FLAG为1表示当前条带属于底场,BOTTOM_FIELD_FLAG为0表示当前条带属于顶场。0021所述方法还可包括在产生缩略图之后,基于缩略图信息熵最大的原则,从产生的缩略图中提取M个缩略图作为H264视频文件的最终的缩略图,其中,M为等于或大于1的整数。0022基于缩略图信息熵最大的原则,从产生的缩略图中提取多个缩略图的步骤可包括将产生的缩略图按时间顺序平均分为M个组,其中,前M一1个组中的缩略图数量为通过对产生的缩略图数量/M向下取整而得到的数量,第M组中包括剩余的缩略图;分别针对所述M个组的每个组中的缩略图计算信息熵;提取所。
34、述M个组的每个组中信息熵最大的缩略图,作为该组的最终的缩略图;输出提取到的M个缩略图,作为H264视频文件的最终的缩略图。0023分别针对所述M个组的每个组中的缩略图计算信息熵的步骤可包括设置大小为WH1的查找表TABLEWH1,其中,W和H分别表示缩略图的宽和高;基于I从0到WH,依次计算I/WHLOGI/WH的值,并将计算的值存入TABLEI;设置一个数组PIXELNUM256,并将PIXELNUM256初始化为0,其中,PIXELNUM256表示256个亮度值中的每个亮度值在缩略图的像素中出现的个数;从0到WH,依次读取缩略图中的像素的亮度值并将PIXELNUM该亮度值的值更新为PIXE。
35、LNUM该亮度值1;基于J从0到256,依次查找并累加TABLEPIXELNUMJ的值;将累加的值作为缩略图的信息熵。0024根据本发明的另一方面,提供了一种在H264视频文件中提取缩略图的设备,所述设备包括采集时间点设置单元,在H264视频文件中设置N个采集时间点,其中,N是等于或大于1的整数;搜索单元,从所述N个采集时间点中的每个采集时间点搜索可独立解码帧;缩略图产生单元,通过对搜索到的可独立解码帧进行解码和缩放,产生缩略图。0025采集时间点设置单元可通过获得H264视频文件的总播放时间,通过将所述总播放时间划分为N1等份,获得包括H264视频文件的开始时间点和结束时间点的N2个时间点,。
36、将H264视频文件的开始时间点到结束时间点之间的N个时间点作为所述N个采集时间点,来设置N个采集时间点。0026搜索单元可包括跳转单元,跳转到在H264视频文件中与所述N个采集时间点中的当前采集时间点相应的码流位置;解析单元,从所述码流位置开始解析视频帧;存储单元,存储解析单元对视频帧进行解析后获得的关于视频帧的信息;可独立解码帧确定单元,说明书CN104065966A4/14页10基于所述关于视频帧的信息,确定视频帧是否可独立解码,直到获得一个可独立解码帧,或者直到当前采集时间点到下一个采集时间点之间的帧已解析并确定完毕还未获得可独立解码帧。0027解析单元可通过解析当前视频帧数据中的所有网。
37、络提取层NAL单元,并从所有NAL单元中的每个条带的头信息以及每个条带所参考的序列参数集SPS中提取所述关于视频帧的信息来解析视频帧,所述关于视频帧的信息可包括以下信息中的至少一个条带类型SLICE_TYPE、帧号FRAME_NUM、帧标志FRAME_MBS_ONLY_FLAG、场标志FIELD_PIC_FLAG、底场标志BOTTOM_FIELD_FLAG、最大参考帧数量MAX_NUM_REF_FRAMES。0028可独立解码帧确定单元可通过判断当前视频帧的所有条带是否均为I条带来确定当前视频帧是否是可独立解码帧,当当前视频帧的所有条带均为I条带时,可独立解码帧确定单元确定可当前视频帧是可独立。
38、解码帧。0029可独立解码帧确定单元可通过判断当前视频帧中的所有条带的SLICE_TYPE就否均表示当前条带为I条带来判断当前视频帧中的所有条带是否均为I条带,如果当前视频帧中的所有条带的SLICE_TYPE均表示当前条带为I条带,则可独立解码帧确定单元可判断当前视频帧的所有条带均为I条带。0030可独立解码帧确定单元可判断当前视频帧是否满足以下两个条件来确定当前视频帧是否是可独立解码帧1当前视频帧为场编码模式,并在解码顺序上靠前的一场中所有条带均为I条带,2当前视频帧最大参考帧数量小于或等于1,当当前视频帧满足所述两个条件时,可独立解码帧确定单元可确定当前帧是可独立解码帧。0031可独立解码。
39、帧确定单元还可包括设置单元,设置单元可设置变量FIRST_FIELD,并且将FIRST_FIELD的初始值设置为0,并将FIRST_FIELD存储在存储单元,其中,FIRST_FIELD为1表示当前条带属于场编码模式,并且属于解码顺序上的第一场,如果当前条带是当前图像的第一个条带,则设置单元更新FIRST_FIELD,并将更新的FIRST_FIELD存储在存储单元,其中,当前图像为场编码模式下的场图像或者帧编码模式下的帧图像,当FIRST_FIELD被更新为1时,可独立解码帧确定单元可判断当前图像中的所有条带的SLICE_TYPE是否均表示当前条带为I条带,如果当前图像中的所有条带的SLICE。
40、_TYPE均表示当前条带为I条带,则可独立解码帧确定单元可判断当前图像中的所有条带的MAX_NUM_REF_FRAMES是否均等于或小于1,如果当前图像中的所有条带的MAX_NUM_REF_FRAMES均等于或小于1,则可独立解码帧确定单元可判断当前视频帧满足所述两个条件,其中,当设置单元更新FIRST_FIELD时,设置单元可判断当前条带是否属于场编码模式;如果当前条带不属于场编码模式,则设置单元可将FIRST_FIELD更新为0,否则设置单元可判断未更新时的FIRST_FIELD是否为1;如果未更新时的FIRST_FIELD不为1,则设置单元可将FIRST_FIELD更新为1,否则设置单元。
41、可判断当前条带与上一个条带的场极性是否相同;如果当前条带与上一个条带的场极性相同,则设置单元可将FIRST_FIELD更新为1,否则设置单元可判断当前条带与上一个条带的FRAME_NUM是否相同;如果当前条带与上一个条带的FRAME_NUM不相同,则设置单元可将FIRST_FIELD更新为1,否则设置单元可将FIRST_FIELD更新为0。0032当设置单元判断当前条带是否属于场编码模式时,可判断当前条带的FRAME_MBS_ONLY_FLAG是否为1;如果当前条带的FRAME_MBS_ONLY_FLAG为1,则设置单元可判断当前条带为帧编码模式,否则设置单元可判断当前条带的FIELD_PIC。
42、_FLAG是否为0;如果当前说明书CN104065966A105/14页11条带的FIELD_PIC_FLAG为0,则设置单元可判断当前条带为帧编码模式,否则设置单元可判断当前条带为场编码模式。0033当设置单元判断当前条带与上一个条带的场极性是否相同时,可判断当前条带的BOTTOM_FIELD_FLAG与上一个条带的BOTTOM_FIELD_FLAG是否为相同的值;如果当前条带的BOTTOM_FIELD_FLAG和上一个条带的BOTTOM_FIELD_FLAG相同,则设置单元可判断当前条带和上一条带的场极性相同,否则设置单元可判断当前条带和上一个条带的场极性不相同,其中,BOTTOM_FIE。
43、LD_FLAG为1可表示当前条带属于底场,BOTTOM_FIELD_FLAG为0可表示当前条带属于顶场。0034所述设备还可包括缩略图提取单元,在产生缩略图之后,基于缩略图信息熵最大的原则,从产生的缩略图中提取M个缩略图作为H264视频文件的最终的缩略图,其中,M为等于或大于1的整数。0035缩略图提取单元可包括分组单元,将产生的缩略图按时间顺序平均分为M个组,其中,前M1个组中的缩略图数量为通过对产生的缩略图数量/M向下取整而得到的数量,第M组中包括剩余的缩略图;信息熵计算单元,分别针对所述M个组的每个组中的缩略图计算信息熵;提取单元,提取所述M个组的每个组中信息熵最大的缩略图,作为该组的最。
44、终的缩略图;输出单元,输出提取到的M个缩略图,作为H264视频文件的最终的缩略图。0036信息熵计算单元可通过设置大小为WH1的查找表TABLEWH1,其中,W和H分别表示缩略图的宽和高;基于I从0到WH,依次计算I/WHLOGI/WH的值,并将计算的值存入TABLEI;设置一个数组PIXELNUM256,并将PIXELNUM256初始化为0,其中,PIXELNUM256表示256个亮度值中的每个亮度值在缩略图的像素中出现的个数;从0到WH,依次读取缩略图中的像素的亮度值并将PIXELNUM该亮度值的值更新为PIXELNUM该亮度值1;基于J从0到256,依次查找并累加TABLEPIXELNU。
45、MJ的值;将累加的值作为缩略图的信息熵,来计算缩略图的信息熵。0037所述方法和设备可在H264视频文件中有效地提取缩略图,尤其是在一些H264视频文件中缺乏IDR帧的情况下,可对这些H264视频文件进行有效的缩略图提取操作。此外,所述方法和设备还提供了通过建立查找表来计算缩略图的信息熵以提取缩略图,从而降低了计算信息熵的复杂度,提高了计算效率。附图说明0038通过结合附图,从实施例的下面描述中,本发明这些和/或其它方面及优点将会变得清楚,并且更易于理解,其中0039图1是根据本发明的实施例的在H264视频文件中提取缩略图的设备的框图;0040图2是根据本发明的实施例的设置采集时间点的示意图;。
46、0041图3是根据本发明的实施例的在H264视频文件中提取缩略图的方法的流程图;0042图4是根据本发明的实施例的确定当前视频帧是否为可独立解码帧的操作的流程图;0043图5是根据本发明的实施例的更新变量FIRST_FIELD的操作的流程图;0044图6是根据本发明的实施例的提取缩略图的操作的流程图;0045图7是根据本发明的实施例的计算缩略图信息熵的操作的流程图。说明书CN104065966A116/14页12具体实施方式0046提供参照附图的以下描述以帮助对由权利要求及其等同物限定的本发明的实施例的全面理解。包括各种特定细节以帮助理解,但这些细节仅被视为是示例性的。因此,本领域的普通技术人。
47、员将认识到在不脱离本发明的范围和精神的情况下,可对描述于此的实施例进行各种改变和修改。此外,为了清楚和简洁,省略对公知的功能和结构的描述。0047根据本发明的提取缩略图的设备在提取视频缩略图时,仅需要对选定的某个视频帧进行解码和缩放,而不需要对该视频帧之后的视频帧数据进行解码,因此,仅需要提取离指定采集时间点最近的可独立解码帧。所述可独立解码帧可以是I帧或SEI辅助增强信息指明的恢复点,而并需要是IDR帧。0048图1是根据本发明的实施例的在H264视频文件中提取缩略图的设备100的框图。0049参照图1,设备100可包括采集时间点设置单元101、搜索单元102和缩略图产生单元103。下面,将。
48、参照图1详细介绍设备100的各个部件。0050当接收到H264视频文件时,采集时间点设置单元101可在接收到的H264视频文件中设置N个采集时间点,其中,N为等于或大于1的整数。所述采集时间点是指在该时间点及该时间点附近可采集视频帧以提取缩略图。本领域的技术人员可知,采集时间点的数量N可以是默认设置的也可以是用户根据需要设置的。0051具体地,采集时间点设置单元101可从关于接收到的H264视频文件的文件信息中获得该文件的总播放时间T,并通过将所述总播放时间T划分为N1等份,获得包括该文件的开始时间点T0和结束时间点TT的N2个时间点T0、T1、T2、TN、TT如图2所示。考虑到视频文件的片头。
49、和片尾通常是序幕、演员表等,这些视频内容通常不是用户所关心的内容,不适合用作视频缩略图,因此,采集时间点设置单元101可将该文件的开始时间点T0到结束时间点TT之间的N个时间点T1、T2、TN作为所述N个采集时间点。本领域的技术人员可知,本发明不限于此,本发明的其它实施例也可将开始时间点T0和结束时间点TT作为采集时间点。0052当采集时间点设置单元设置了N个采集时间点时,搜索单元102可从所述N个采集时间点中的每个采集时间点开始搜索可独立解码帧。0053具体地,搜索单元102可包括跳转单元105、解析单元106、存储单元107和可独立解码帧确定单元108。搜索单元102的跳转单元105、解析单元106、存储单元107和可独立解码帧确定单元108可在所述N个采集时间点中的每个采集时间点执行下面的操作跳转单元105在H264视频文件中跳转到与当前采集时间点相应的码流位置;解析单元106从所述码流位置开始解析视频帧;存储单元107存储解析单元106对视频帧进行解析后获得的关于视频帧的信息、可独立解码帧确定单元108基于所述关于视频帧的信息,确定视频帧是否可独立解码,直到获得一个可独立解码帧,或者直到当前采集时间点到下一个采集时间点之间的帧已解析并确定完毕还未获得可独立解码帧。0054也就是说,当在当前采集时间点到下一个采集时间点之间的视频帧中没有获得可独立解码帧时,可独立解码帧确定。