CN116400967B - 一种基于uefi bios流畅播放开机动画的方法 - Google Patents
一种基于uefi bios流畅播放开机动画的方法 Download PDFInfo
- Publication number
- CN116400967B CN116400967B CN202310306470.XA CN202310306470A CN116400967B CN 116400967 B CN116400967 B CN 116400967B CN 202310306470 A CN202310306470 A CN 202310306470A CN 116400967 B CN116400967 B CN 116400967B
- Authority
- CN
- China
- Prior art keywords
- image
- image data
- animation
- data structure
- gif
- 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
- 238000000034 method Methods 0.000 title claims abstract description 26
- 238000006243 chemical reaction Methods 0.000 abstract description 5
- 230000006870 function Effects 0.000 abstract description 4
- 238000012423 maintenance Methods 0.000 abstract description 3
- 230000006835 compression Effects 0.000 description 2
- 238000007906 compression Methods 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 230000006978 adaptation Effects 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000000903 blocking effect Effects 0.000 description 1
- 230000003111 delayed effect Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/4401—Bootstrapping
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5005—Allocation of resources, e.g. of the central processing unit [CPU] to service a request
- G06F9/5011—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resources being hardware resources other than CPUs, Servers and Terminals
- G06F9/5016—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resources being hardware resources other than CPUs, Servers and Terminals the resource being the memory
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5005—Allocation of resources, e.g. of the central processing unit [CPU] to service a request
- G06F9/5027—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
- G06F9/5044—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals considering hardware capabilities
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computer Security & Cryptography (AREA)
- Processing Or Creating Images (AREA)
Abstract
本发明公开一种基于UEFI BIOS流畅播放开机动画的方法,是在BIOS代码中建立一个图像数据结构和一个动画数据结构;图像数据结构中将完整GIF动态图像数据各部分拆分保存,动画数据结构保留GIF动态图像每一帧图像信息;在播放动画之前,计算机将BIOS芯片内的GIF图像数据加载进内存,然后对其进行解码存入图像数据结构,经过格式转换存入动画数据结构。利用动画数据结构的内容,把GIF图像的每一帧转换为24位BMP图像数据并保存,然后按照顺序和记录下来的间隔时间显示每一帧图像。本发明可以使用户在观感上获得很大提升,将图像数据统一起来分模块化管理,使得其功能扩展性更好,开发更加方便,维护更加容易。
Description
技术领域
本发明属于计算机技术领域,具体涉及一种基于UEFI BIOS流畅播放开机动画的方法。
背景技术
开机动画是软硬件厂商展示自己产品的一种方式,相校于传统的静态图像,用动画的方式展现自己的logo更能给用户留下深刻的印象。随着现代计算机技术的发展,通过UEFI BIOS在计算机进入系统之前高效显示动态logo成为了可能。
在现有的技术方案中,计算机上电后,检查BIOS ROM芯片内的GIF图像数据格式,检索并提取其中的一帧图像信息,将其转换为24位BMP图像数据然后显示,然后检索下一帧,此过程一直持续到检索不到图像数据,以完成GIF动态图像的展示。
当前技术中将GIF图像每一帧图像数据转换为BMP图像格式数据和显示图像划为一个过程,这将使动画显示的效果大打折扣,因为图像的数据格式转换是一个耗时较多的过程,如果每转换一帧显示一帧,会比原GIF动态图像延迟一些时间,在观感上会有“卡顿”的感觉,而且在转换GIF图片时没有完善对每一帧之间差异的进行处理,对转换包含不同扩展数据和局部调色板数据的GIF图可能会使部分图像帧颜色不正确。另外,因为当前技术没有统一管理原GIF动态图像的各部分数据,使得其功能扩展性不是很好,内存管理比较困难。
发明内容
本发明解决的技术问题:提供一种播放流畅的基于UEFI BIOS流畅播放开机动画的方法。
技术方案:为了解决上述技术问题,本发明采用的技术方案如下:
一种基于UEFI BIOS流畅播放开机动画的方法,包括以下步骤:
S1:BIOS代码中建立一个图像数据结构和一个动画数据结构;在BIOS ROM中规划一块存储区域,用于存放要播放的GIF图片;
S2:在播放动画之前,计算机将BIOS芯片内的GIF图像数据加载进内存,然后对其进行解码存入图像数据结构;将其中每一帧图像的数据经过数据格式转换存入动画数据结构;
S3:利用动画数据结构的内容,把GIF图像的每一帧转换为24位BMP图像数据并保存,然后按照顺序和记录下来的间隔时间显示每一帧图像。
进一步地,步骤S1中,图像数据结构中将完整GIF动态图像数据各部分拆分保存;动画数据结构保留GIF动态图像每一帧图像的数据、宽高,每一帧之间显示的间隔时间,以及总共提取的帧数量。
进一步地,步骤S1中,在动画数据结构中用四个变量描述图像属性;用一个数组描述所有的图像数据,数组的每个元素都是一帧图像的完整数据。
进一步地,四个变量包括图像的宽度,图像的高度,图像的帧数,以及图像之间的间隔时间。
进一步地,步骤S2中,在存入动画数据结构过程中,统计图像帧信息,包括图像宽高、数量、前后帧间隔时间,也保存进动画数据结构。
有益效果:与现有技术相比,本发明具有以下优点:
本发明的基于UEFI BIOS流畅播放开机动画的方法,使用GIF动态图片播放开机动画,从而不挤占过多的BIOS ROM空间;利用现代计算机CPU的运算能力,将图像内容全部转换完成再显示,在观感上获得很大提升;在底层对图像数据处理得更加完善,使得定制显示动画更全面;将图像数据统一起来分模块化管理,使得其功能扩展性更好,开发更加方便,维护更加容易。
附图说明
图1是基于UEFI BIOS流畅播放开机动画的方法里流程图。
具体实施方式
下面结合具体实施例,进一步阐明本发明,实施例在以本发明技术方案为前提下进行实施,应理解这些实施例仅用于说明本发明而不用于限制本发明的范围。
如图1所示,本申请的基于UEFI BIOS流畅播放开机动画的方法,包括以下步骤:
S1:BIOS代码中建立一个图像数据结构和一个动画数据结构。
构建图像数据结构的方式:从GIF图片的文件格式出发,构建图像数据结构。GIF图片文件内容包含文件头、逻辑屏幕描述符、全局颜色表、扩展数据(图形控制扩展、纯文本扩展、应用程序扩展、注释扩展)、图像描述符、图像数据、局部颜色表和结束符。
一个GIF图片文件中可以包含多份图像数据,每份数据就是一帧图像,同时每帧图像可以包含不同的扩展数据以及局部颜色表,这样在构建图像数据结构时,使用结构体或指针描述文件头、逻辑屏幕描述符和全局颜色表,在解析图片时,这些数据一个图片文件只会存储一份,且在文件内的顺序固定。
本发明使用链表描述扩展数据、图像描述符、图像数据和局部颜色表,在解析图片时,这些数据一个图片文件会存储一份或多份,且扩展数据在文件内的顺序不固定;GIF图片文件的结束符是固定的,不用特地保留在图像数据结构中。
图像数据结构中将完整GIF动态图像数据各部分拆分保存,在解析GIF图像数据的时候,按照顺序和固定字节数读取图像数据,可以完成文件头、逻辑屏幕描述符和全局颜色表的存储,每一部分扩展数据和图像数据都有固定的开头,识别这些固定的开头就能区分出各类扩展数据和图像数据,因为它们在图像内的顺序是不固定的,所以每识别一部分扩展数据和图像数据都要存储进相应的链表结构中。
构建动画数据结构的方式:动画数据结构要保存转换后的每一帧图像数据和图像的属性,一般而言,一个GIF图片文件中每一帧图像的大小和播放间隔时间都是相同的,所以只需要在动画数据结构中用四个变量描述图像属性,四个变量包括图像的宽度,图像的高度,图像的帧数,以及图像之间的间隔时间。
用一个数组描述所有的图像数据,数组的每个元素都是一帧图像的完整数据。动画数据结构保留GIF动态图每一帧图像的数据、宽高,每一帧之间显示的间隔时间,以及总共提取的帧数量。
S2:在播放动画之前,计算机会将BIOS芯片内的GIF图像数据加载进内存,然后对其按照上述方式进行解码存入图像数据结构,将其中保存的每一帧图像数据通过lzw压缩算法解压缩转换为原始图像数据,原始图像数据是不包含文件头数据的BMP图像,然后把它存入动画数据结构。在将GIF图像解码的过程中也统计了图像帧信息,包括图像宽高、数量、前后帧间隔时间,也保存进动画数据结构。
S3:利用动画数据结构的内容,把GIF图像的每一帧转换为24位BMP图像数据并保存,然后按照顺序和记录下来的间隔时间显示每一帧图像。
24位BMP文件包括文件头和原始图像数据,文件头中包含了图像的属性值(宽高,文件头大小、采用的压缩规则等),在进行图像文件数据格式转换时,使用解析出的图像属性值填充BMP文件头,一般一个GIF图像文件内的所有图像帧都可以使用同一个文件头,所以只需要填充一个文件头结构变量,将填充的文件头数据和保存在动画数据结构中的原始图像数据组合起来就能得到一个完整的BMP图像数据。
本发明把GIF动态图片转化为UEFI支持的图片格式进行显示,这样可以增加显示图片的帧数而不挤占太多BIOS ROM的空间;这个方法的底层是在BIOS代码中建立一个图像数据结构和一个动画数据结构;图像数据结构中将完整GIF动态图像数据各部分拆分保存,动画数据结构保留GIF动态图像每一帧图像信息;在播放动画之前,计算机将BIOS芯片内的GIF图像数据加载进内存,然后对其进行解码存入图像数据结构,经过格式转换存入动画数据结构。利用动画数据结构的内容,把GIF图像的每一帧转换为24位BMP图像数据并保存,然后按照顺序和记录下来的间隔时间显示每一帧图像。本发明使用这种用GIF图片播放开机动画的方法,可以使用户在观感上获得很大提升。将图像数据统一起来分模块化管理,使得其功能扩展性更好,开发更加方便,维护更加容易。
以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。
Claims (5)
1.一种基于UEFI BIOS流畅播放开机动画的方法,其特征在于,包括以下步骤:
S1:BIOS代码中建立一个图像数据结构和一个动画数据结构;在BIOS ROM中规划一块存储区域,用于存放要播放的GIF图片;
S2:在播放动画之前,计算机将BIOS芯片内的GIF图像数据加载进内存,然后对其进行解码存入图像数据结构;将其中每一帧图像的数据经过数据格式转换存入动画数据结构;
S3:利用动画数据结构的内容,把GIF图像的每一帧转换为24位BMP图像数据并保存,然后按照顺序和记录下来的间隔时间显示每一帧图像。
2.根据权利要求1所述的基于UEFI BIOS流畅播放开机动画的方法,其特征在于:步骤S1中,图像数据结构中将完整GIF动态图像数据各部分拆分保存;动画数据结构保留GIF动态图像每一帧图像的数据、宽高,每一帧之间显示的间隔时间,以及总共提取的帧数量。
3.根据权利要求1所述的基于UEFI BIOS流畅播放开机动画的方法,其特征在于:步骤S1中,在动画数据结构中用四个变量描述图像属性;用一个数组描述所有的图像数据,数组的每个元素都是一帧图像的完整数据。
4.根据权利要求3所述的基于UEFI BIOS流畅播放开机动画的方法,其特征在于:四个变量包括图像的宽度,图像的高度,图像的帧数,以及图像之间的间隔时间。
5.根据权利要求1所述的基于UEFI BIOS流畅播放开机动画的方法,其特征在于:步骤S2中,在存入动画数据结构过程中,统计图像帧信息,包括图像宽高、数量、前后帧间隔时间,也保存进动画数据结构。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310306470.XA CN116400967B (zh) | 2023-03-27 | 2023-03-27 | 一种基于uefi bios流畅播放开机动画的方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310306470.XA CN116400967B (zh) | 2023-03-27 | 2023-03-27 | 一种基于uefi bios流畅播放开机动画的方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN116400967A CN116400967A (zh) | 2023-07-07 |
CN116400967B true CN116400967B (zh) | 2024-05-14 |
Family
ID=87011650
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310306470.XA Active CN116400967B (zh) | 2023-03-27 | 2023-03-27 | 一种基于uefi bios流畅播放开机动画的方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116400967B (zh) |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2011032428A1 (zh) * | 2009-09-18 | 2011-03-24 | 中兴通讯股份有限公司 | 一种移动终端中的个性化动画实现方法及装置 |
CN103761132A (zh) * | 2014-01-26 | 2014-04-30 | 广州视源电子科技股份有限公司 | 一种智能终端开机动画播放控制方法 |
CN106569809A (zh) * | 2016-10-25 | 2017-04-19 | 北京小鸟看看科技有限公司 | 一种虚拟现实设备开机动画的实现方法和实现装置 |
CN109901901A (zh) * | 2019-01-29 | 2019-06-18 | 上海华章信息科技有限公司 | 可变帧率开机动画实现方法 |
WO2021179363A1 (zh) * | 2020-03-13 | 2021-09-16 | 海信视像科技股份有限公司 | 一种显示设备及开机动画显示方法 |
-
2023
- 2023-03-27 CN CN202310306470.XA patent/CN116400967B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2011032428A1 (zh) * | 2009-09-18 | 2011-03-24 | 中兴通讯股份有限公司 | 一种移动终端中的个性化动画实现方法及装置 |
CN103761132A (zh) * | 2014-01-26 | 2014-04-30 | 广州视源电子科技股份有限公司 | 一种智能终端开机动画播放控制方法 |
CN106569809A (zh) * | 2016-10-25 | 2017-04-19 | 北京小鸟看看科技有限公司 | 一种虚拟现实设备开机动画的实现方法和实现装置 |
CN109901901A (zh) * | 2019-01-29 | 2019-06-18 | 上海华章信息科技有限公司 | 可变帧率开机动画实现方法 |
WO2021179363A1 (zh) * | 2020-03-13 | 2021-09-16 | 海信视像科技股份有限公司 | 一种显示设备及开机动画显示方法 |
Non-Patent Citations (2)
Title |
---|
Analysis and a case study of transparent computing implementation with UEFI;Wu Ming;HomeInternational Journal of Cloud Computing;20121015;第1卷(第4期);第312-328页 * |
Android启动优化研究及应用;缪汉威;中国优秀硕士学位论文全文数据库 信息科技辑;20140515;第I138-800页 * |
Also Published As
Publication number | Publication date |
---|---|
CN116400967A (zh) | 2023-07-07 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108010112B (zh) | 动画处理方法、装置及存储介质 | |
US11507727B2 (en) | Font rendering method and apparatus, and computer-readable storage medium | |
US20220350842A1 (en) | Video tag determination method, terminal, and storage medium | |
CN111899322B (zh) | 视频处理方法、动画渲染sdk和设备及计算机存储介质 | |
US8006201B2 (en) | Method and system for generating thumbnails for video files | |
CN101008939A (zh) | 一种嵌入式系统的点阵字库的实现方法 | |
CN111221596B (zh) | 字体渲染方法、装置及计算机可读存储介质 | |
CN106327453B (zh) | 一种拼合图片资源的方法及图片资源拼合装置 | |
CN111061525A (zh) | 国际化界面切换方法、存储介质 | |
JP7165272B2 (ja) | 動画データ符号化/復号方法、装置、プログラム及びコンピュータ装置 | |
CN104298504A (zh) | 基于FreeType字体引擎的实现字体绘制的方法 | |
CN113423010A (zh) | 基于文档的视频转换方法、装置、设备及存储介质 | |
US10311060B2 (en) | Glyph management in texture atlases | |
CN116400967B (zh) | 一种基于uefi bios流畅播放开机动画的方法 | |
JP4361950B2 (ja) | 動的な仮想画像を合成する方法 | |
CN110012338A (zh) | 一种显示弹幕数据的方法、装置、计算机设备和存储介质 | |
CN106339210A (zh) | 一种网页游戏中数据处理方法及相关装置 | |
JP2006099761A (ja) | マルチメディアのコンテンツ検索方法 | |
CN101233494B (zh) | 插件模块、浏览器、邮箱运行方法及终端装置 | |
CN113573125B (zh) | 一种基于svg字库的字幕渲染方法及系统 | |
CN113546409B (zh) | Laya引擎播放GIF格式资源的方法、存储介质 | |
CN117376660A (zh) | 字幕元素的渲染方法、装置、设备、介质及程序产品 | |
CN113411517B (zh) | 视频模板的生成方法、装置、电子设备及存储介质 | |
CN111399788A (zh) | 媒体文件播放方法和媒体文件播放装置 | |
JP2000112975A (ja) | マルチメディア・コンテンツ検索方法 |
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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |