CN111354384A - Gif图片生成方法、播放方法、装置以及电子设备 - Google Patents
Gif图片生成方法、播放方法、装置以及电子设备 Download PDFInfo
- Publication number
- CN111354384A CN111354384A CN202010123020.3A CN202010123020A CN111354384A CN 111354384 A CN111354384 A CN 111354384A CN 202010123020 A CN202010123020 A CN 202010123020A CN 111354384 A CN111354384 A CN 111354384A
- Authority
- CN
- China
- Prior art keywords
- gif
- audio
- picture
- data
- playing
- 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.)
- Pending
Links
Images
Classifications
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11B—INFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
- G11B27/00—Editing; Indexing; Addressing; Timing or synchronising; Monitoring; Measuring tape travel
- G11B27/02—Editing, e.g. varying the order of information signals recorded on, or reproduced from, record carriers
- G11B27/031—Electronic editing of digitised analogue information signals, e.g. audio or video signals
- G11B27/036—Insert-editing
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11B—INFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
- G11B20/00—Signal processing not specific to the method of recording or reproducing; Circuits therefor
- G11B20/10—Digital recording or reproducing
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11B—INFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
- G11B27/00—Editing; Indexing; Addressing; Timing or synchronising; Monitoring; Measuring tape travel
- G11B27/10—Indexing; Addressing; Timing or synchronising; Measuring tape travel
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11B—INFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
- G11B20/00—Signal processing not specific to the method of recording or reproducing; Circuits therefor
- G11B20/10—Digital recording or reproducing
- G11B2020/10935—Digital recording or reproducing wherein a time constraint must be met
- G11B2020/10953—Concurrent recording or playback of different streams or files
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
Abstract
本发明实施例提供了一种GIF图片生成方法、播放方法、装置以及电子设备。在目标GIF图片中的GIF数据的末尾写入音频数据,并添加音频标识符生成带音频的GIF图片,在其播放过程中,根据音频标识符识别带音频的GIF图片,并分离GIF图片携带的GIF数据和音频数据,在分别解析后进行同步播放。在GIF图片写入携带音频数据,使其在展示其图片序列的同时还能播放声音,丰富了动态GIF图片的播放形式,提升动态GIF图片的播放效果。
Description
技术领域
本发明涉及图像技术领域,尤其涉及一种GIF图片生成方法、播放方法、装置以及电子设备。
背景技术
GIF的全称是Graphics Interchange Format,可译为图形交换格式,用于以HTML(Hypertext Markup Language,超文本标记语言)方式显示索引彩色图像,可具体分为静态GIF和动态GIF。
标准的GIF图片是图片格式,仅能展示图片动画效果。
可见,现有技术中存在GIF图片的播放形式单一,播放效果较差的问题。
发明内容
本发明实施例的目的在于提供一种GIF图片生成方法、播放方法、装置以及电子设备,以解决现有技术中GIF图片的播放形式单一,播放效果较差的问题。具体技术方案如下:
在本发明实施的第一方面,首先提供了一种GIF图片生成方法,包括:
获取目标GIF图片对应的音频文件中的音频数据;
在所述目标GIF图片中的GIF数据的末尾写入所述音频数据,并在所述音频数据的末尾,或者在所述GIF数据和所述音频数据之间添加音频标识符,生成带音频的GIF图片;
其中,所述音频标识符用于识别带音频的GIF图片。
在本发明实施的第二方面,还提供了一种GIF图片播放方法,所述GIF图片根据本发明实施的第一方面提供的方法生成,包括:
查找音频标识符,识别所述GIF图片为带音频的GIF图片;
分离所述GIF图片携带的GIF数据和音频数据;
对所述GIF数据解析得到所述GIF图片对应的GIF帧,以及对所述音频数据解析得到所述GIF图片对应的音频帧;
同步播放所述GIF帧和所述音频帧。
在本发明实施的第三方面,还提供了一种GIF图片生成装置,包括:
获取模块,用于获取目标GIF图片对应的音频文件中的音频数据;
生成模块,用于在所述目标GIF图片中的GIF数据的末尾写入所述音频数据,并在所述音频数据的末尾,或者在所述GIF数据和所述音频数据之间添加音频标识符,生成带音频的GIF图片;
其中,所述音频标识符用于识别带音频的GIF图片。
在本发明实施的第四方面,还提供了一种GIF图片播放装置,所述GIF图片根据本发明实施的第一方面提供的方法生成,包括:
识别模块,用于查找音频标识符,识别所述GIF图片为带音频的GIF图片
分离模块,用于根据音频标识符,分离所述GIF图片携带的GIF数据和音频数据;
解析模块,用于对所述GIF数据解析得到所述GIF图片对应的GIF帧,以及对所述音频数据解析得到所述GIF图片对应的音频帧;
播放模块,用于同步播放所述GIF帧和所述音频帧。
在本发明实施的第五方面,还提供了一种电子设备,包括处理器、通信接口、存储器和通信总线,其中,处理器,通信接口,存储器通过通信总线完成相互间的通信;
存储器,用于存放计算机程序;
处理器,用于执行存储器上所存放的程序时,实现本发明实施例第一方面或者本发明实施例第二方面中所述的方法步骤。
在本发明实施的又一方面,还提供了一种计算机可读存储介质,所述计算机可读存储介质中存储有指令,当其在计算机上运行时,使得计算机执行上述任一所述的GIF图片生成方法或者GIF图片播放方法。
在本发明实施的又一方面,还提供了一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机执行上述任一所述的GIF图片生成方法或者GIF图片播放方法。
本发明实施例提供的GIF图片生成方法、播放方法、装置以及电子设备,在目标GIF图片中的GIF数据的末尾写入音频数据,并添加音频标识符生成带音频的GIF图片,在其播放过程中,根据音频标识符识别带音频的GIF图片,并分离GIF图片携带的GIF数据和音频数据,在分别解析后进行同步播放。在GIF图片写入携带音频数据,使其在展示其图片序列的同时还能播放声音,丰富了动态GIF图片的播放形式,提升动态GIF图片的播放效果。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍。
图1为本发明实施例中一种GIF图片生成方法的流程图;
图2为本发明实施例中一种GIF图片播放方法的流程图之一;
图3为本发明实施例中一种GIF图片播放方法的流程图之二;
图4为本发明实施例中一种GIF图片播放方法的流程图之三;
图5是本发明实施例中一种GIF图片生成装置的结构图;
图6是本发明实施例中一种GIF图片播放装置的结构图;
图7是本发明实施例中一种电子设备的结构图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行描述。
实施例一
请参见图1,图1是本发明实施例提供的一种GIF图片生成方法的流程图,所述方法应用于GIF图片生成装置,该GIF图片生成装置可以是专门用于生成带音频的GIF图片的软件。
步骤101、获取目标GIF图片对应的音频文件中的音频数据;
步骤102、在所述目标GIF图片中的GIF数据的末尾写入所述音频数据,并在所述音频数据的末尾,或者所述GIF数据和所述音频数据之间添加音频标识符,生成带音频的GIF图片;
其中,所述音频标识符用于识别带音频的GIF图片。
GIF图片分为静态GIF图片和动态GIF图片两种类型。动态GIF图片由连续的图片序列组成,其仅包含有图片数据而不包含音频数据,因此其只能展示图片序列形成的动态效果,而不能播放声音,播放形式较为单一。
本发明实施例中,为了使GIF图片能够播放声音,在GIF图片中写入其对应音频文件的音频数据,并添加音频标识符标识当前GIF图片为带音频的GIF图片,该带音频的GIF图片可使用GIF图片播放装置进行播放,GIF图片播放装置可根据带音频的GIF图片的生成方法,确定对应的播放方法。
其中,音频标识符可以由一个或者多个字符串,包括用于标识音频数据存在的标识符,该标识音频数据存在的标识符可以表示为“audiosz”或者其他形式,在此不作任何限定。
步骤101中,GIF图片对应的音频文件可以是与GIF图片匹配的原始音频文件,例如,当前GIF图片是从某一视频中截取的动态图片,其所截取的视频片段本身是具有音频数据的;GIF图片对应的音频文件也可以是其他用户选择的与GIF图片匹配的音频文件,例如,用户根据GIF图片自行录制的音频数据。
用户可将需要添加音频数据的GIF图片,以及该GIF图片对应的音频文件导入GIF图片生成装置中,GIF图片生成装置在从音频文件中读取其音频数据。
步骤102中,在GIF图片中的GIF数据的末尾写入音频数据。
GIF图片中的GIF数据包括GIF文件头、图片块和结束块三个部分。其中,GIF文件头是一个带有标识GIF格式数据流的数据块,通用看图软件可根据GIF文件头识别GIF格式并读取。GIF图片块包含有GIF图片数据和图片控制块,其中,GIF图片数据由位深为1-8bit(binary digit,比特)的二进制字符流组成。结束块是GIF图片的结束标志区,标志着GIF图片中整个GIF数据流的结束。
上述在GIF图片中的GIF数据的末尾写入音频数据,即是在结束块之后写入音频数据。一方面,可以使带音频的GIF图片中的GIF数据保持在文件的开始位置,即使将带音频的GIF图片导入通用看图软件中,通用看图软件根据文件开始的GIF文件头依然可以识别GIF数据,并读取至结束块以展示其中的图片序列。另一方面,在结束块之后写入音频数据保留了GIF数据的完整性,方便后续将GIF数据和音频数据完整的分离。
步骤102中,音频标识符用于识别带音频的GIF图片,可以在音频数据的末尾,即音频数据之后添加音频标识符,或者在GIF数据和音频数据之间,即音频数据之前添加音频标识符。
在音频数据的末尾添加音频标识符,可以理解为:GIF图片生成装置在获取到目标GIF图片后,先读取其中的GIF数据,当读取指针偏移到文件末尾,即结束块的末尾时,将音频数据的数据流依次写入,在音频数据写入完毕后,于音频数据的末尾添加音频标识符。
在GIF数据和音频数据之间添加音频标识符,可以理解为:GIF图片生成装置在获取到目标GIF图片后,先读取其中的GIF数据,当读取指针偏移到文件末尾,即结束块的末尾时,先添加音频标识符,在音频标识符的末尾依次将音频数据的数据流写入。
需要说明的是,上述写入音频数据和添加音频标识符的过程可参照现有技术中读写数据的具体操作,在此不再赘述。
本发明实施例中,在GIF图片中GIF数据的末尾写入其对应音频文件的音频数据,并添加音频标识符,生成带音频的GIF图片。在不破坏GIF图片中GIF数据的完整性,不影响通用看图软件对GIF数据的解析展示的前提下,对其写入音频数据,使得生成后的GIF图片不仅可显示其对应的图片序列,还可根据写入其中音频数据播放对应的音频,丰富了GIF图片的播放形式,提高了GIF图片的播放效果。
可选的,所述音频标识符包括标识所述音频数据大小的第一标识符,所述第一标识符用于在播放带音频的GIF图片时,分离带音频的GIF图片中携带音频数据。
音频标识符除包括用于标识音频数据存在的标识符之外,还可包括一个或者多个用于标识其他性质的标识符。本实施例中,音频标识符包括用于标识音频数据大小的第一标识符,包含有第一标识符的音频标识符即可添加于音频数据的末尾,也可以添加于GIF数据和所述音频数据之间。
其中,第一标识符可以由一个或者多个字符串组成,其可以表示为“12345678”或者其他形式。第一标识符可以位于标识音频数据存在的标识符之后,例如“audiosz123456789”,也可以位于用于标识音频数据存在的标识符之前。可以理解的是,第一标识符的实现形式并不限于此,在此不作任何限定。
在后续对带音频的GIF图片进行解析播放时,若音频标识符包括标识所述音频数据大小的第一标识符,GIF图片播放装置在查找到音频标识符的同时,即可获取音频数据的大小,结合音频标识符的位置,读取音频数据的大小对应长度的数据可分离带音频的GIF图片中携带的音频数据。
进一步的,在一些实施例中,音频标识符包括第一标识符,且该音频标识符添加于音频数据的末尾。
在上述实施例中,包含有第一标识符的音频标识符添加于音频数据的末尾,对于这样生成的带音频的GIF图片,可以设置在GIF图片播放装置对其进行播放时,从文件的末尾开始读取数据。那么,GIF图片播放装置可快速查找到音频标识符识别当前带音频的GIF图片,并且获取其中携带的音频数据的大小,提高带音频的GIF图片在播放时的解析效率。
在其他实施例中,音频标识符包括第一标识符,且音频标识符添加于GIF数据和音频数据之间。在上述实施例中,既可以设置在GIF图片播放装置对其进行播放时,从文件的初始位置开始读取数据,也可以设置在GIF图片播放装置对其进行播放时,从文件的初始位置开始读取数据。
可以理解的是,带音频的GIF图片的播放方法与该带音频的GIF图片的生成方法是相互对应的,带音频的GIF图片在生成时,根据其中音频标识符的不同情况,可以为GIF图片播放装置对应设置不同的播放方法。
在一些实施例中,音频标识符还可包括标识音频标识符位置的第二标识符,第二标识符可以位于音频标识符的末尾,且同样可以由一个或者多个字符串组成。例如,当音频标识符添加于音频数据的末尾时,该音频标识符的第二标识符可以为“01”、当音频标识符添加于GIF数据和音频数据之间时,该音频标识符的第二标识符可以为“02”。可以理解的是,第二标识符的实现形式并不限于此,在此不作任何限定。
综上所述,本发明实施例提供的GIF图片生成方法,在目标GIF图片中的GIF数据的末尾写入音频数据,并添加音频标识符生成带音频的GIF图片,在其播放过程中,根据音频标识符识别带音频的GIF图片,并分离GIF图片携带的GIF数据和音频数据,在分别解析后进行同步播放。在GIF图片写入携带音频数据,使其在展示其图片序列的同时还能播放声音,丰富了动态GIF图片的播放形式,提升动态GIF图片的播放效果。
实施例二
请参见图2,图2是本发明实施例提供的一种GIF图片播放方法的流程图,该方法可应用于GIF图片播放装置,所述GIF图片播放装置可以是专门用于播放带音频的GIF图片的软件。
其中,所述GIF图片为带音频的GIF图片,是根据本发明实施例提供的GIF图片生成方法所生成,该带音频的GIF图片在其GIF数据的末尾写入了音频数据,并添加了音频标识符。
如图2所示,所述方法包括以下步骤:
步骤201、查找音频标识符,识别所述GIF图片为带音频的GIF图片
步骤202、分离所述GIF图片携带的GIF数据和音频数据;
步骤203、对所述GIF数据解析得到所述GIF图片对应的GIF帧,以及对所述音频数据解析得到所述GIF图片对应的音频帧;
步骤204、同步播放所述GIF帧和所述音频帧。
本发明实施例中,所述GIF图片为带音频的GIF图片,携带有音频数据和音频标识符,音频标识符用于识别带音频的GIF图片。
步骤201中,GIF图片播放装置可查找GIF图片文件中是否包含的音频标识符,以确定当前GIF图片文件中是否携带有音频数据,并开始执行后续解析播放的步骤。
步骤202中,对带音频的GIF图片进行播放时,需要先将带音频的GIF图片携带的GIF数据和音频数据进行分离。
由于带音频的GIF图片在生成时,是将音频数据写入GIF数据的末尾,因此GIF数据仍然保持在带音频的GIF图片的开始位置。GIF数据包括GIF文件头、图片块和结束块三个部分。其中,结束块是GIF图片的结束标志区,标志着GIF图片中整个GIF数据流的结束。
GIF图片播放装置从带音频的GIF图片文件的开始位置开始读取数据,读取指针依次读取带音频的GIF图片中的GIF数据的GIF文件头、图片块和结束块三个部分,当读取指针偏移到GIF数据的结束块的末尾时,标志着GIF数据读取完毕,已读取的数据即为带音频的GIF图片中的GIF数据,GIF图片播放装置可将其发送至对应的解析模块进行解析。
之后,GIF图片播放装置继续往后读取文件中的剩余数据,文件中的剩余数据包括带音频的GIF图片中携带的音频数据和音频标识符,由于音频标识符不同于音频数据的二进制数据流,GIF图片播放装置可区分剩余数据中的音频数据和音频标识符,仅识别其中的音频数据后可将其发送至对应的解析模块进行解析:
当音频标识符添加于音频数据之后时,GIF图片播放装置在读取文件中的剩余数据时,当读取到音频标识符时,说明已经读取的数据流即为音频数据对应的数据流;
当音频标识符添加于GIF数据和音频数据之间,即音频数据之前时,GIF图片播放装置在读取文件中的剩余数据时,先读取完音频标识符对应的数据流后,即可读取音频数据对应的数据流。
GIF图片播放装置也可从带音频的GIF图片的末尾倒序依次读取数据,当读取到GIF数据中的结束块时,已经读取的数据中包括音频数据加上音频标识符,由于音频标识符不同于音频数据的二进制数据流,GIF图片播放装置可区分已读取数据中的音频数据和音频标识符,仅识别其中的音频数据后可将其发送至对应的解析模块进行解析。之后,GIF图片播放装置继续往后读取文件中的剩余数据,剩余数据即为带音频的GIF图片中的GIF数据。
可以理解的是,根据带音频的GIF图片中GIF数据的GIF文件头和结束块,以及音频标识符这三种具有标识性质的数据流,GIF图片播放装置可实现分别读取带音频的GIF图片中携带的GIF数据和音频数据,并将二者发送至对应的解析模块进行后续解析。
步骤203中,对分离后的GIF数据和音频数据分别进行解析。
将GIF数据解析后得到对应的GIF帧,每一GIF帧的帧数据包含有帧分隔符、帧数据说明、存储有颜色列表索引值的点阵数据、时间戳以及每一GIF帧的帧控制扩展块等相关原始GIF信息。其中,每一GIF帧的帧控制扩展块用于决定当前GIF帧的表现行为,例如延迟时间、渲染方式等。
将音频数据解析后得到对应的音频帧,根据具体音频的编码方式,解析可以得到出音频数据对应的总帧数、采样数、采样频率、比特率、时间戳等相关音频采样数据。
需要说明的是,对GIF数据的解析可参照现有技术中的解析方式进行,对音频数据的解析也可参照现有技术中的解析方式进行,在此不再赘述。
步骤204中,解析后的GIF数据和音频数据将分别发送至对应的播放模块进行同步播放。其中,解析后的GIF帧数据可发送至系统显卡中加以转换后,输入显示器等显示设备中进行显示,解析后的音频帧数据可发送至声卡中加以转换后,输入至耳机、扬声器等声响设备中进行播放。
GIF帧和音频帧的同步播放是一个动态的调整过程,播放过程中,需要根据同一参考时钟以及GIF帧、音频帧对应的时间戳,调整播放。由于人体对声音的敏感程度强于对视觉的敏感程度,本发明实施例中,可以根据音频帧的播放时间作为参考时钟,来对应调整GIF帧的播放。通过音频帧与GIF帧之间时间戳的对比,来判断GIF帧当前播放的快慢,并进行对应调整,实现GIF帧和音频帧的同步播放,进一步提高GIF图片播放的效果。
本发明实施例中,针对带音频的GIF图片,通过音频标识符识别器为带音频的GIF图片,之后分离其携带的GIF数据和音频数据,并分别进行解析后同步播放。在不破坏GIF图片中GIF数据的完整性,不影响通用看图软件对GIF数据的解析展示的前提下,即可显示其中的图片序列,还可播放其中的音频,丰富了GIF图片的播放形式,提高了GIF图片的播放效果。
实施例三
请参见图3,图3是本发明实施例提供的另一种GIF图片播放方法的流程图,该方法可应用于GIF图片播放装置,所述GIF图片播放装置可以是专门用于播放带音频的GIF图片的软件。
其中,GIF图片为带音频的GIF图片,是根据本发明实施例提供的GIF图片生成方法所生成,该带音频的GIF图片在其GIF数据的末尾写入了音频数据,且音频标识符包括标识音频数据大小的第一标识符。
如图3所示,所述方法包括以下步骤:
步骤301、查找音频标识符,识别所述GIF图片为带音频的GIF图片;
步骤302、根据所述第一标识符,确定所述GIF图片携带的音频数据的大小;
步骤303、根据所述音频标识符的位置和所述音频数据的大小,分离所述音频数据;
步骤304、对所述GIF数据解析得到所述GIF图片对应的GIF帧,以及对所述音频数据解析得到所述GIF图片对应的音频帧;
步骤305、同步播放所述GIF帧和所述音频帧。
本实施例中,所述GIF图片为带音频的GIF图片,携带有音频数据和音频标识符,且音频标识符包括标识音频数据大小的第一标识符,第一标识符用于在播放带音频的GIF图片时,分离带音频的GIF图片中携带音频数据。
步骤301的具体实现形式可参考如图2所示实施例中步骤201的说明,为避免重复,在此不再赘述。
在本实施例中,包含有第一标识符的音频标识符可以添加于音频数据的末尾,也可以添加于GIF数据和音频数据之间,GIF图片播放装置既可以从带音频的GIF图片的开始位置正序读取数据流,也可以从带音频的GIF图片的末尾位置倒序读取数据流。当GIF图片播放装置读取到音频标识符时,根据音频标识符包含的第一标识符,可以确定带音频的GIF图片中音频数据的大小,即音频数据的数据流长度,结合音频标识符的位置,读取音频数据的大小对应长度的数据流,可分离其中的音频数据。
进一步的,在一些实施例中,音频标识符添加于音频数据的末尾。
在上述实施例中,GIF图片播放装置在读取带音频的GIF图片时,可将读取指针偏移至带音频的GIF图片的末尾,依次倒序读取数据,这样可以快速读取到音频标识符以获取音频数据的大小。当GIF图片播放装置倒序将音频标识符对应的数据流长度(在此设为A)读取完毕之后,可根据读取到的第一标识符获取音频数据的大小,即音频数据的数据流长度(在此设为B)。然后,继续往前倒序读取B对应长度的数据流,该数据流即为音频数据的数据流,而带音频的GIF图片中还未读取的数据流即为GIF数据。
在其他实施例中,音频标识符添加于GIF数据和音频数据之间。
在上述实施例中,GIF图片生成装置既可从带音频的GIF图片的开始位置依次正序读取数据至读取到音频标识符,也可从带音频的GIF图片的末尾依次倒序读取数据至读取到音频标识符,在此不作任何限定。
在将带音频的GIF图片携带的GIF数据和音频数据成功分离后,可将二者分别进行步骤304中的解析流程,步骤304的具体实现形式可参考如图2所示实施例中步骤203的说明,为避免重复,在此不再赘述。
可选的,步骤305包括:
计算当前播放的GIF帧的时间戳与当前播放的音频帧的时间戳之间的差值;
若所述差值大于零,计算当前播放的音频帧的剩余播放时长;
在所述差值大于所述剩余播放时长的情况下,将当前播放的GIF帧持续显示所述剩余播放时长,并在播放下一音频帧的同时,播放下一GIF帧;
若所述差值小于或者等于零,直接播放下一GIF帧。
GIF帧和音频帧的同步播放是一个动态的调整过程,需要根据当前播放的GIF帧的内容与当前播放的音频帧的内容是否匹配,逐帧判断音画是否同步,并在音画不同步时,对GIF帧和音频帧的播放播放时长进行调整。
每一GIF帧的播放时长由帧控制扩展块控制,帧控制扩展块中包括延迟时间,延迟时间是指控制当前帧的展示时间,单位为0.01秒,表示暂停展示时间后继续处理下一GIF帧,例如当延迟时间置为2时,表示暂停0.02秒后继续处理下一GIF帧。通过对帧控制扩展块中的延迟时间赋予不同的值,即可控制每一GIF帧的展示时长。
每一音频帧的播放时长可根据下式进行确定:
每帧播放时长(毫秒)=每帧采样数/采样频率*10000
本实施例中,基于人体听觉的敏感程度强于视觉的敏感程度,将音频帧的播放时间作为参考时钟,对应调整GIF帧的播放。由于每一GIF帧的延迟时间与每一音频帧的播放时长各不相同,需要综合考虑GIF帧和音频帧时间戳上的偏移量,以及音频帧的剩余播放时长来逐帧确定当前播放的GIF帧与当前播放的音频帧是否匹配。
为简化表达,在对本实施例进行描述时,用Gn表示当前播放的GIF帧;Gn-t表示Gn的时间戳,也可以理解为当前已播GIF时长。其中,n表示当前播放的GIF帧的帧数。Am表示当前播放的音频帧;Am-t表示Am的时间戳,也可以理解为当前已播音频时长。其中,m表示当前播放的音频帧的帧数。
首先,可计算当前播放的GIF帧Gn的时间戳Gn-t与当前播放的音频帧Am的时间戳Am-t之间的差值,该差值可以理解为当前已播GIF时长相比已播音频时长的偏移量,具体可表示为:
ΔT=Gn-t-Am-t
若ΔT>0,即Gn-t>Am-t,表示Gn的时间戳快于Am的时间戳,而Gn播放的内容与Am播放的内容是否对应同步,还需要进一步计算Am的剩余播放时长,Am的剩余播放时长可表示为:
Am的剩余播放时长=Am的播放时长-Am的已播时长
在ΔT>剩余播放时长的情况下,Gn播放的内容已经超出Am的剩余播放时长范围,Gn播放的内容快于Am播放的内容,二者并不对应同步,需要调整Gn的播放。在已经播放Gn的情况下,需要将Gn持续显示Am的剩余播放时长,在播放下一音频帧Am+1的同时,播放下一GIF帧Gn+1。具体可通过将Gn的延迟时间调整为上述Am的剩余播放时长。例如,Am的剩余播放时长为0.02秒,则将Gn的延迟时间赋值为2,则Gn将暂停显示0.02秒后,在播放下一音频帧Am+1的同时,播放下一GIF帧Gn+1。
在ΔT≤剩余播放时长的情况下,即使Gn与Am当前播放的时间点不完全对应,但Gn播放的内容仍处于Am的剩余播放时长范围内,Gn播放的内容与Am播放的内容是对应同步的,从用户感知的角度判断图片的显示于声音的播放是匹配的。此时,不需要对Gn进行调整,正常播放即可。
若ΔT<0,即Gn-t<Am-t,表示Gn的时间戳慢于Am的时间戳,可直接跳转播放下一GIF帧Gn+1,以赶上音频帧播放的进度,若跳转下一GIF帧Gn+1后出现ΔT>0的情况,再根据ΔT>0时的调整方案进行具体调整。
若差值ΔT=0,即Gn-t=Am-t,表示说明当前GIF帧与音频帧播放同步,可直接跳转播放下一GIF帧。若跳转下一GIF帧Gn+1后出现ΔT>0的情况,再根据ΔT>0时的调整方案进行具体调整。
本实施例中,以音频帧的播放时间作为参考时钟,通过当前播放的GIF帧的时间戳与当前播放的音频帧的时间戳之间的时间差,结合音频帧的剩余播放时长,来判断音画是否同步,并对GIF帧的播放进行调整,以实现GIF帧和音频帧的同步播放。
需要说明的是,上述实施例中的技术方案同样适用于图2所示实施例,且具有相同的有益效果,为避免重复,在此不再赘述。
下面介绍本发明的一完整实施例,如图4所示:
GIF图片播放装置在接收到需要播放的GIF图片后,首先读取文件,查找当前GIF图片中是否存在音频标识符,根据音频标识符识别当前GIF图片为带音频的GIF图片。
本实施例中,音频标识符包括标识音频数据大小的第一标识符。在GIF图片播放装置读取到音频标识符后可获取音频数据的大小,进而分离带音频的GIF图片中携带的GIF数据和音频数据。
将GIF数据和音频数据分别发送至对应的解析模块进行分别解析,其中,GIF数据通过解析之后得到其对应的GIF帧以及相关控制信息;音频数据通过音频解码后得到其对应的音频帧。
将解码后的GIF帧发送至GIF图片播放装置的显卡播放,将解码后的音频帧发送至GIF图片播放装置的声卡播放,并以音频帧的播放时间为参考时钟,控制调整GIF帧的播放,实现同步播放GIF帧和音频帧。
本实施例中,在实施例二基础上,增加了多种实现形式,进一步提高动态GIF图片的播放效果。
请参见图5,图5是本发明实施例提供的一种GIF图片生成装置的结构图。
如图5所示,GIF图片生成装置500包括:
获取模块501,用于获取目标GIF图片对应的音频文件中的音频数据;
生成模块502,用于在所述目标GIF图片中的GIF数据的末尾写入所述音频数据,并在所述音频数据的末尾,或者在所述GIF数据和所述音频数据之间添加音频标识符,生成带音频的GIF图片;
其中,所述音频标识符用于识别带音频的GIF图片。
可选的,所述音频标识符包括标识所述音频数据大小的第一标识符,所述第一标识符用于在播放带音频的GIF图片时,分离带音频的GIF图片中携带音频数据。
GIF图片生成装置500能够实现如图1的方法实施例中实现的各个过程,为避免重复,这里不再赘述。
请参见图6,图6是本发明实施例提供的一种GIF图片播放装置的结构图。
如图6所示,GIF图片播放装置600包括:
识别模块601,用于查找音频标识符,识别所述GIF图片为带音频的GIF图片
分离模块602,用于根据音频标识符,分离所述GIF图片携带的GIF数据和音频数据;
解析模块603,用于对所述GIF数据解析得到所述GIF图片对应的GIF帧,以及对所述音频数据解析得到所述GIF图片对应的音频帧;
播放模块604,用于同步播放所述GIF帧和所述音频帧。
可选的,所述音频标识符包括标识所述音频数据大小的第一标识符;
分离模块602包括:
确定单元,用于根据所述第一标识符,确定所述GIF图片携带的音频数据的大小;
分离单元,用于根据所述GIF数据的大小和所述音频数据的大小,分离所述GIF数据和所述音频数据。
可选的,播放模块604包括:
第一计算单元,用于计算当前播放的GIF帧的时间戳与当前播放的音频帧的时间戳之间的差值;
第二计算单元,用于若所述差值大于零,计算当前播放的音频帧的剩余播放时长;
第一播放单元,在所述差值大于所述剩余播放时长的情况下,将当前播放的GIF帧持续显示所述剩余播放时长,在播放下一音频帧的同时,播放下一GIF帧;
第二播放单元,用于若所述差值小于或者等于零,播放下一GIF帧。
GIF图片生成装置600能够实现如图2至图3所示的方法实施例中实现的各个过程,为避免重复,这里不再赘述。
请参见图7,图7是本发明实施例提供的一种电子设备的结构图。
如图7所示,电子设备700包括处理器701、通信接口702、存储器703及通信总线704,其中,处理器701,通信接口702,存储器703通过通信总线704完成相互间的通信。
其中,存储器703用于存放计算机程序。
其中,处理器701用于执行存储器703上所存放的程序时,实现如下步骤:
获取目标GIF图片对应的音频文件中的音频数据;
在所述目标GIF图片中的GIF数据的末尾写入所述音频数据,并在所述音频数据的末尾,或者在所述GIF数据和所述音频数据之间添加音频标识符,生成带音频的GIF图片;
其中,所述音频标识符用于识别带音频的GIF图片。
可选的,所述音频标识符包括标识所述音频数据大小的第一标识符,所述第一标识符用于在播放带音频的GIF图片时,分离带音频的GIF图片中携带音频数据。
或者,处理器701还实现如下步骤:
查找音频标识符,识别所述GIF图片为带音频的GIF图片;
分离所述GIF图片携带的GIF数据和音频数据;
对所述GIF数据解析得到所述GIF图片对应的GIF帧,以及对所述音频数据解析得到所述GIF图片对应的音频帧;
同步播放所述GIF帧和所述音频帧。
可选的,所述音频标识符包括标识所述音频数据大小的第一标识符;
所述分离所述GIF图片携带的GIF数据和音频数据,包括:
根据所述第一标识符,确定所述GIF图片携带的音频数据的大小;
根据所述音频标识符的位置和所述音频数据的大小,分离所述音频数据。
可选的,所述同步播放所述GIF帧和所述音频帧,包括:
计算当前播放的GIF帧的时间戳与当前播放的音频帧的时间戳之间的差值;
若所述差值大于零,计算当前播放的音频帧的剩余播放时长;
在所述差值大于所述剩余播放时长的情况下,将当前播放的GIF帧持续显示所述剩余播放时长,在播放下一音频帧的同时,播放下一GIF帧;
若所述差值小于或者等于零,播放下一GIF帧。
上述电子设备700提到的通信总线704可以是外设部件互连标准(PeripheralComponent Interconnect,简称PCI)总线或扩展工业标准结构(Extended IndustryStandard Architecture,简称EISA)总线等。该通信总线704可以分为地址总线、数据总线、控制总线等。为便于表示,图中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。
通信接口702用于上述电子设备700与其他设备之间的通信。
存储器703可以包括随机存取存储器(Random Access Memory,简称RAM),也可以包括非易失性存储器(non-volatile memory),例如至少一个磁盘存储器。可选的,存储器还可以是至少一个位于远离前述处理器的存储装置。
上述的处理器701可以是通用处理器,包括中央处理器(Central ProcessingUnit,简称CPU)、网络处理器(Network Processor,简称NP)等;还可以是数字信号处理器(Digital Signal Processing,简称DSP)、专用集成电路(Application SpecificIntegrated Circuit,简称ASIC)、现场可编程门阵列(Field-Programmable Gate Array,简称FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。
在本发明提供的又一实施例中,还提供了一种计算机可读存储介质,该计算机可读存储介质中存储有指令,当其在计算机上运行时,使得计算机执行上述实施例中任一所述的GIF图片生成方法或者GIF图片播放方法。
在本发明提供的又一实施例中,还提供了一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机执行上述实施例中任一所述的GIF图片生成方法或者GIF图片播放方法。
在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。所述计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行所述计算机程序指令时,全部或部分地产生按照本发明实施例所述的流程或功能。所述计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。所述计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,所述计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如同轴电缆、光纤、数字用户线(DSL))或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。所述计算机可读存储介质可以是计算机能够存取的任何可用介质或者是包含一个或多个可用介质集成的服务器、数据中心等数据存储设备。所述可用介质可以是磁性介质,(例如,软盘、硬盘、磁带)、光介质(例如,DVD)、或者半导体介质(例如固态硬盘Solid State Disk(SSD))等。
需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
本说明书中的各个实施例均采用相关的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于系统实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
以上所述仅为本发明的较佳实施例而已,并非用于限定本发明的保护范围。凡在本发明的精神和原则之内所作的任何修改、等同替换、改进等,均包含在本发明的保护范围内。
Claims (12)
1.一种GIF图片生成方法,其特征在于,所述方法包括:
获取目标GIF图片对应的音频文件中的音频数据;
在所述目标GIF图片中的GIF数据的末尾写入所述音频数据,并在所述音频数据的末尾,或者在所述GIF数据和所述音频数据之间添加音频标识符,生成带音频的GIF图片;
其中,所述音频标识符用于识别带音频的GIF图片。
2.根据权利要求1所述的生成方法,其特征在于,所述音频标识符包括标识所述音频数据大小的第一标识符,所述第一标识符用于在播放带音频的GIF图片时,分离带音频的GIF图片中携带音频数据。
3.一种GIF图片播放方法,其特征在于,所述GIF图片根据权利要求1所述的方法生成,所述播放方法包括:
查找音频标识符,识别所述GIF图片为带音频的GIF图片;
分离所述GIF图片携带的GIF数据和音频数据;
对所述GIF数据解析得到所述GIF图片对应的GIF帧,以及对所述音频数据解析得到所述GIF图片对应的音频帧;
同步播放所述GIF帧和所述音频帧。
4.根据权利要求3所述的播放方法,其特征在于,所述音频标识符包括标识所述音频数据大小的第一标识符;
所述分离所述GIF图片携带的GIF数据和音频数据,包括:
根据所述第一标识符,确定所述GIF图片携带的音频数据的大小;
根据所述音频标识符的位置和所述音频数据的大小,分离所述音频数据。
5.根据权利要求3所述的播放方法,其特征在于,所述同步播放所述GIF帧和所述音频帧,包括:
计算当前播放的GIF帧的时间戳与当前播放的音频帧的时间戳之间的差值;
若所述差值大于零,计算当前播放的音频帧的剩余播放时长;
在所述差值大于所述剩余播放时长的情况下,将当前播放的GIF帧持续显示所述剩余播放时长,并在播放下一音频帧的同时,播放下一GIF帧;
若所述差值小于或者等于零,直接播放下一GIF帧。
6.一种GIF图片生成装置,其特征在于,所述装置包括:
获取模块,用于获取目标GIF图片对应的音频文件中的音频数据;
生成模块,用于在所述目标GIF图片中的GIF数据的末尾写入所述音频数据,并在所述音频数据的末尾,或者在所述GIF数据和所述音频数据之间添加音频标识符,生成带音频的GIF图片;
其中,所述音频标识符用于识别带音频的GIF图片。
7.根据权利要求6所述的装置,其特征在于,所述音频标识符包括标识所述音频数据大小的第一标识符,所述第一标识符用于在播放带音频的GIF图片时,分离带音频的GIF图片中携带音频数据。
8.一种GIF图片播放装置,其特征在于,所述GIF图片根据权利要求1所述的方法生成,所述播放装置包括:
识别模块,用于查找音频标识符,识别所述GIF图片为带音频的GIF图片
分离模块,用于分离所述GIF图片携带的GIF数据和音频数据;
解析模块,用于对所述GIF数据解析得到所述GIF图片对应的GIF帧,以及对所述音频数据解析得到所述GIF图片对应的音频帧;
播放模块,用于同步播放所述GIF帧和所述音频帧。
9.根据权利要求8所述的装置,其特征在于,所述音频标识符包括标识所述音频数据大小的第一标识符;
所述分离模块包括:
确定单元,用于根据所述第一标识符,确定所述GIF图片携带的音频数据的大小;
分离单元,用于根据所述音频标识符的位置和所述音频数据的大小,分离所述音频数据。
10.根据权利要求8所述的装置,其特征在于,所述播放模块包括:
第一计算单元,用于计算当前播放的GIF帧的时间戳与当前播放的音频帧的时间戳之间的差值;
第二计算单元,用于若所述差值大于零,计算当前播放的音频帧的剩余播放时长;
第一播放单元,在所述差值大于所述剩余播放时长的情况下,将当前播放的GIF帧持续显示所述剩余播放时长,并在播放下一音频帧的同时,播放下一GIF帧;
第二播放单元,用于若所述差值小于或者等于零,直接播放下一GIF帧。
11.一种电子设备,其特征在于,包括处理器、通信接口、存储器和通信总线,其中,处理器,通信接口,存储器通过通信总线完成相互间的通信;
存储器,用于存放计算机程序;
处理器,用于执行存储器上所存放的程序时,实现权利要求1至5中任一所述的方法步骤。
12.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,该程序被处理器执行时实现如权利要求1至5中任一所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010123020.3A CN111354384A (zh) | 2020-02-27 | 2020-02-27 | Gif图片生成方法、播放方法、装置以及电子设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010123020.3A CN111354384A (zh) | 2020-02-27 | 2020-02-27 | Gif图片生成方法、播放方法、装置以及电子设备 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN111354384A true CN111354384A (zh) | 2020-06-30 |
Family
ID=71197179
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010123020.3A Pending CN111354384A (zh) | 2020-02-27 | 2020-02-27 | Gif图片生成方法、播放方法、装置以及电子设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111354384A (zh) |
Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1777265A (zh) * | 2005-08-19 | 2006-05-24 | 上海晨兴电子科技有限公司 | 影音同步录制及播放方法 |
CN1960509A (zh) * | 2006-08-29 | 2007-05-09 | 中兴通讯股份有限公司 | 在传输移动多媒体广播媒体数据时实现错误隔离的方法 |
CN103458269A (zh) * | 2012-05-28 | 2013-12-18 | 中国移动通信集团公司 | 移动多媒体业务访问方法、热点服务器及系统 |
CN103646048A (zh) * | 2013-11-25 | 2014-03-19 | 宇龙计算机通信科技(深圳)有限公司 | 实现多媒体图片的方法和装置 |
CN104916298A (zh) * | 2015-05-28 | 2015-09-16 | 努比亚技术有限公司 | 编解码方法、编解码装置、电子设备及有声图片生成方法 |
CN105261054A (zh) * | 2015-08-27 | 2016-01-20 | 努比亚技术有限公司 | 一种合成有声gif图片的装置和方法 |
CN105472289A (zh) * | 2015-11-11 | 2016-04-06 | 努比亚技术有限公司 | 编辑有声照片的装置及方法 |
CN108846054A (zh) * | 2018-05-31 | 2018-11-20 | 出门问问信息科技有限公司 | 一种音频数据续播方法及装置 |
CN109166165A (zh) * | 2018-06-25 | 2019-01-08 | 网宿科技股份有限公司 | 一种动态图片的播放方法、终端和可存储介质 |
CN110418189A (zh) * | 2019-08-02 | 2019-11-05 | 钟国波 | 一种可用于传输游戏的低延迟、高帧率音视频传输方法 |
-
2020
- 2020-02-27 CN CN202010123020.3A patent/CN111354384A/zh active Pending
Patent Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1777265A (zh) * | 2005-08-19 | 2006-05-24 | 上海晨兴电子科技有限公司 | 影音同步录制及播放方法 |
CN1960509A (zh) * | 2006-08-29 | 2007-05-09 | 中兴通讯股份有限公司 | 在传输移动多媒体广播媒体数据时实现错误隔离的方法 |
CN103458269A (zh) * | 2012-05-28 | 2013-12-18 | 中国移动通信集团公司 | 移动多媒体业务访问方法、热点服务器及系统 |
CN103646048A (zh) * | 2013-11-25 | 2014-03-19 | 宇龙计算机通信科技(深圳)有限公司 | 实现多媒体图片的方法和装置 |
CN104916298A (zh) * | 2015-05-28 | 2015-09-16 | 努比亚技术有限公司 | 编解码方法、编解码装置、电子设备及有声图片生成方法 |
CN105261054A (zh) * | 2015-08-27 | 2016-01-20 | 努比亚技术有限公司 | 一种合成有声gif图片的装置和方法 |
CN105472289A (zh) * | 2015-11-11 | 2016-04-06 | 努比亚技术有限公司 | 编辑有声照片的装置及方法 |
CN108846054A (zh) * | 2018-05-31 | 2018-11-20 | 出门问问信息科技有限公司 | 一种音频数据续播方法及装置 |
CN109166165A (zh) * | 2018-06-25 | 2019-01-08 | 网宿科技股份有限公司 | 一种动态图片的播放方法、终端和可存储介质 |
CN110418189A (zh) * | 2019-08-02 | 2019-11-05 | 钟国波 | 一种可用于传输游戏的低延迟、高帧率音视频传输方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110418186B (zh) | 音视频播放方法、装置、计算机设备和存储介质 | |
CN110996182A (zh) | 时间戳处理方法、装置、电子设备及计算机存储介质 | |
CN1581951A (zh) | 信息处理设备及其方法 | |
CN110519627B (zh) | 一种音频数据的同步方法和装置 | |
US20190342428A1 (en) | Content evaluator | |
CN111246288A (zh) | 一种视频化演示pptx文档的方法及终端 | |
US8307403B2 (en) | Triggerless interactive television | |
CN113992926B (zh) | 界面显示方法、装置、电子设备和存储介质 | |
US8078654B2 (en) | Method and apparatus for displaying image data acquired based on a string of characters | |
CN114117120A (zh) | 基于内容分析的视频文件智能索引生成系统及方法 | |
CN110322525B (zh) | 一种动图处理方法及终端 | |
CN113391745A (zh) | 网络课程的重点内容处理方法、装置、设备及存储介质 | |
CN111354384A (zh) | Gif图片生成方法、播放方法、装置以及电子设备 | |
US20050155071A1 (en) | Demultiplexing device | |
CN116708892A (zh) | 一种音画同步检测方法、装置、设备和存储介质 | |
JP2002057990A (ja) | 映像再生システム及びそれに用いるデータ同期方式 | |
CN116437068A (zh) | 一种唇音同步的测试方法、装置、电子设备和存储介质 | |
CN113891108A (zh) | 字幕优化方法、装置、电子设备和存储介质 | |
CN113573088B (zh) | 一种为直播视频流同步绘制识别对象的方法与设备 | |
CN116962741A (zh) | 音画同步检测方法、装置、计算机设备和存储介质 | |
CN112437289A (zh) | 一种切换时延获取方法 | |
JP6252083B2 (ja) | 会議システム、サーバ装置、クライアント端末、およびプログラム | |
KR102659489B1 (ko) | 정보 처리 장치, 정보 처리 장치 및 프로그램 | |
CN109275007B (zh) | 一种处理方法和电子设备 | |
CN118509612A (zh) | 视频片段处理方法、装置、电子设备及存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20200630 |
|
RJ01 | Rejection of invention patent application after publication |