CN113760216A - 一种圆形图像的存储方法及装置、读写方法和电子设备 - Google Patents
一种圆形图像的存储方法及装置、读写方法和电子设备 Download PDFInfo
- Publication number
- CN113760216A CN113760216A CN202110996530.6A CN202110996530A CN113760216A CN 113760216 A CN113760216 A CN 113760216A CN 202110996530 A CN202110996530 A CN 202110996530A CN 113760216 A CN113760216 A CN 113760216A
- Authority
- CN
- China
- Prior art keywords
- circular image
- virtual buffer
- line
- circular
- buffer area
- 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
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/14—Digital output to display device ; Cooperation and interconnection of the display device with other functional units
- G06F3/147—Digital output to display device ; Cooperation and interconnection of the display device with other functional units using display panels
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/061—Improving I/O performance
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0638—Organizing or formatting or addressing of data
- G06F3/064—Management of blocks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0655—Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
- G06F3/0656—Data buffering arrangements
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0668—Interfaces specially adapted for storage systems adopting a particular infrastructure
- G06F3/0671—In-line storage system
- G06F3/0673—Single storage device
- G06F3/0679—Non-volatile semiconductor memory device, e.g. flash memory, one time programmable memory [OTP]
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Human Computer Interaction (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Controls And Circuits For Display Device (AREA)
Abstract
本发明实施例涉及图像存储技术领域,公开了一种圆形图像的存储方法及装置、读写方法和电子设备,该电子设备设置有圆形屏幕,所述圆形屏幕用于显示圆形图像,该方法首先根据所述圆形图像定义一个虚拟缓冲区,其中,所述虚拟缓冲区能够容纳整个圆形图像的所有像素,然后根据所述圆形图像在所述虚拟缓冲区的块号和偏移量,将所述圆形图像的内容保存至实际物理内存中,本发明实施例提供的方法能够对用于在圆形屏幕上显示的圆形图像直接进行存储,能够充分利用实际物理内存,从而增加圆形图像的读写速度。
Description
技术领域
本发明实施例涉及图像存储技术领域,特别涉及一种圆形图像的存储方法及装置、读写方法和电子设备。
背景技术
随着可穿戴智能手表、手环等可穿戴式智能设备的兴起,由于其具有整合了时钟与其他各种强大功能,如测量距离、热量、脂肪、睡眠监测、高档防水等功能,越来越受到用户的青睐。用户对于这类设备的屏幕的要求也越来越高,从一开始的指示灯、到OLED/LCD显示屏幕、到触摸屏,对屏幕的像素要求也越来越高。
在实现本发明实施例过程中,发明人发现以上相关技术中至少存在如下问题:智能手表等产品越来越多地将圆形屏幕应用到产品中,圆形屏幕的设计跟传统手表保持一致,美观上让人觉得更加舒服。然而,由于屏幕从方形变成圆形,可显示内容的区域减少,但显示控制器仍需要加载同等直径大小的方形内容,这就造成了存储在内存中方形内容有一部分在圆形屏幕上没有显示,增加了内存的缓存需求,在现在市场对屏幕像素要求越来越高的情况下,多出来的不需要显示的内容会对处理器造成负担,导致图片的加载速度和设备的响应速度较慢。
发明内容
本申请实施例提供了一种圆形图像的存储方法及装置、读写方法和电子设备。
本发明实施例的目的是通过如下技术方案实现的:
为解决上述技术问题,第一方面,本发明实施例中提供了一种圆形图像的存储方法,应用于电子设备,所述电子设备设置有圆形屏幕,所述圆形屏幕用于显示圆形图像,所述方法包括:
根据所述圆形图像定义一个虚拟缓冲区,其中,所述虚拟缓冲区能够容纳整个圆形图像的所有像素;
根据所述圆形图像在所述虚拟缓冲区的块号和偏移量,将所述圆形图像的内容保存至实际物理内存中。
在一些实施例中,所述根据所述圆形图像在所述虚拟缓冲区的块号和偏移量,将所述圆形图像的内容保存至实际物理内存中,包括:
计算所述圆形图像在所述虚拟缓冲区中的块号;
计算所述圆形图像在所述虚拟缓冲区中的偏移量;
将所述虚拟缓冲区中每行的块号和偏移量转换为表格格式的行表格数据;
根据所述行表格数据与所述圆形图像的可显示内容确定所述圆形图像的实际缓存内容;
将所述实际缓存内容保存至所述实际物理内存中。
在一些实施例中,所述计算所述圆形图像在所述虚拟缓冲区中的块号,包括:
根据所述圆形图像的像素深度,所述圆形图像在所述虚拟缓冲区中各行的第一个可见像素、以及所述虚拟缓冲区中每个字节块的大小,计算得到所述虚拟缓冲区的各行的第一个可见字节块的块号;
根据所述圆形图像的像素深度,所述圆形图像在所述虚拟缓冲区中各行的最后一个可见像素、以及所述虚拟缓冲区中每个字节块的大小,计算得到所述虚拟缓冲区的各行的最后一个可见字节块的块号。
在一些实施例中,所述计算所述圆形图像在所述虚拟缓冲区中的偏移量,包括:
根据各行的上一行的偏移量、以及所述各行的第一个和最后一个可见字节块的块号,计算得到各行的偏移量,
其中,第0行的偏移量为0。
在一些实施例中,所述将所述虚拟缓冲区中每行的块号和偏移量转换为表格格式的行表格数据,包括:
根据各行的偏移量、第一个可见字节块的块号和最后一个可见字节块的块号,计算得到各行的行表格数据。
在一些实施例中,所述根据所述行表格数据与所述圆形图像的可显示内容确定所述圆形图像的实际缓存内容,包括:
根据所述虚拟缓冲区中各行的第一个可见像素、字节块的大小、以及所述圆形图像的像素深度,计算得到所述虚拟缓冲区中各行的第一个实际缓存像素;
根据所述虚拟缓冲区中各行的最后一个可见像素、字节块的大小、以及所述圆形图像的像素深度,计算得到所述虚拟缓冲区中各行的最后一个实际缓存像素。
为解决上述技术问题,第二方面,本发明实施例中提供了一种圆形图像的读写方法,应用于电子设备,所述电子设备设置有电连接的圆形屏幕和显示控制器,所述电子设备还能够执行如上述第一方面所述的圆形图像的存储方法,所述读写方法包括:
通过所述显示控制器获取访问地址,其中,所述访问地址由所述电子设备在接受到访问操作时产生;
根据访问地址获取所述虚拟缓冲区中对应的位置信息,以确定所述访问操作是否在所述圆形图像上;
若是,根据所述位置信息确定所述访问地址在所述实际物理内存中的物理地址,并将所述物理地址反馈至所述显示控制器,以使所述显示控制器能够在所述实际物理内存中对所述圆形图像进行读写操作。
为解决上述技术问题,第三方面,本发明实施例提供了一种圆形图像的存储装置,应用于电子设备,所述电子设备设置有圆形屏幕,所述圆形屏幕用于显示圆形图像,所述装置包括:
定义单元,用于根据所述圆形图像定义一个虚拟缓冲区,其中,所述虚拟缓冲区能够容纳整个圆形图像的所有像素;
存储单元,用于根据所述圆形图像在所述虚拟缓冲区的块号和偏移量,将所述圆形图像的内容保存至实际物理内存中。
为解决上述技术问题,第四方面,本发明实施例提供了一种电子设备,包括:
圆形屏幕;
与所述圆形屏幕电连接的显示控制器;
与所述显示控制器连接的至少一个处理器;以及,
与所述至少一个处理器通信连接的存储器;其中,
所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行如上第一方面和/或第二方面所述的方法。
为解决上述技术问题,第五方面,本发明实施例还提供了一种计算机可读存储介质,所述计算机可读存储介质存储有计算机可执行指令,所述计算机可执行指令用于使计算机执行如上第一方面和/或第二方面所述的方法。
为解决上述技术问题,第六方面,本发明实施例还提供了一种计算机程序产品,所述计算机程序产品包括存储在计算机可读存储介质上的计算机程序,所述计算机程序包括程序指令,当所述程序指令被计算机执行时,使所述计算机执行如上第一方面所述的方法。
与现有技术相比,本发明的有益效果是:区别于现有技术的情况,本发明实施例中提供了一种圆形图像的存储方法及装置、读写方法和电子设备,该电子设备设置有圆形屏幕,所述圆形屏幕用于显示圆形图像,该方法首先根据所述圆形图像定义一个虚拟缓冲区,其中,所述虚拟缓冲区能够容纳整个圆形图像的所有像素,然后根据所述圆形图像在所述虚拟缓冲区的块号和偏移量,将所述圆形图像的内容保存至实际物理内存中,本发明实施例提供的方法能够对用于在圆形屏幕上显示的圆形图像直接进行存储,能够充分利用实际物理内存,从而增加圆形图像的读写速度。
附图说明
一个或多个实施例中通过与之对应的附图中的图片进行示例性说明,这些示例性说明并不构成对实施例的限定,附图中具有相同参考数字标号的元件/模块和步骤表示为类似的元件/模块和步骤,除非有特别申明,附图中的图不构成比例限制。
图1是本发明实施例提供的圆形图像的存储和读写方法的其中一种应用环境的示意图;
图2是本发明实施例一提供的一种圆形图像的存储方法的流程示意图;
图3是图2所示存储方法中步骤120的一子流程示意图;
图4是本发明实施例二提供的一种圆形图像的读写方法的流程示意图;
图5是本发明实施例三提供的一种圆形图像的存储装置的结构示意图;
图6是本发明实施例四提供的一种电子设备的硬件结构示意图。
具体实施方式
下面结合具体实施例对本发明进行详细说明。以下实施例将有助于本领域的技术人员进一步理解本发明,但不以任何形式限制本发明。应当指出的是,对本领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干变形和改进。这些都属于本发明的保护范围。
为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处所描述的具体实施例仅用以解释本申请,并不用于限定本申请。
需要说明的是,如果不冲突,本发明实施例中的各个特征可以相互结合,均在本申请的保护范围之内。另外,虽然在装置示意图中进行了功能模块划分,在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于装置中的模块划分,或流程图中的顺序执行所示出或描述的步骤。
除非另有定义,本说明书所使用的所有的技术和科学术语与属于本发明的技术领域的技术人员通常理解的含义相同。本说明书中在本发明的说明书中所使用的术语只是为了描述具体的实施方式的目的,不是用于限制本发明。本说明书所使用的术语“和/或”包括一个或多个相关的所列项目的任意的和所有的组合。
此外,下面所描述的本发明各个实施方式中所涉及到的技术特征只要彼此之间未构成冲突就可以相互组合。
为了解决目前可穿戴的具有圆形屏幕的智能电子设备采用方形图像存储会带来的内容浪费的问题,本发明实施例提供了一种圆形图像的存储方法及装置、读写方法和电子设备,通过定义一虚拟缓冲区将圆形图像进行地址转换,从而实现可将圆形图像保存至实际物理内存中。图1为本发明实施例提供的圆形图像的存储方法的其中一种应用环境的示意图,其中,该应用环境中包括:可穿戴智能手表10,所述可穿戴智能手表10设置有一圆形屏幕11,所述圆形屏幕11能够用于显示圆形图像。
本发明实施例提供的圆形图像的存储方法和读写方法可被所述可穿戴智能手表10所执行,具体地,可被所述可穿戴智能手表10中具有数据处理功能、计算功能的单元或模块所执行,搭载在这些模块或单元上,所述单元或模块,例如,可以是微控制单元(Microcontroller Unit,MCU)等,可根据实际情况进行设置。
具体地,下面结合附图,对本发明实施例作进一步阐述。
实施例一
本发明实施例提供了一种圆形图像的存储方法,该方法能够应用于电子设备,所述电子设备设置有圆形屏幕,所述圆形屏幕用于显示圆形图像,所述电子设备可以是如上述应用场景及图1所示的可穿戴智能手表10,也可以是其他具有圆形屏幕的电子设备,具体可根据实际应用场景进行选择,请参见图2,其示出了本发明实施例提供的一种圆形图像的存储方法的流程,所述方法包括但不限于以下步骤:
步骤110:根据所述圆形图像定义一个虚拟缓冲区,其中,所述虚拟缓冲区能够容纳整个圆形图像的所有像素;
在本发明实施例中,首先,需要定义一个虚拟缓冲区,使得所述圆形图像中的每个像素都能够直接映射在所述虚拟缓冲区中,所述虚拟缓冲区包括由多个行列组成,且每行按照字节分块,形成多个字节块,每一字节块对应于所述圆形图像的至少一个像素,且所述虚拟缓冲区支持多种像素深度模式。
以所述虚拟缓冲区具有2048个字节、共有390行为例,将每行按字节分块,每块16字节,则每行有128块,此时各种所述像素深度(Bits Per Pixel,Bpp)模式下对应的每行可处理的最大行宽如下表1所示:
mode | 4Bpp | 3Bpp | 2Bpp | 1Bpp | 0.5Bpp |
行宽 | 512 | 680 | 1024 | 2048 | 4096 |
表1
如上表1可知,当像素深度Bpp=3时,每块调整为12字节。
且有,请参见下表2,其示出了本申请的虚拟缓冲区的一种表征,其中,标记有L且为灰色背景的格子为保存有像素信息的字节块。
L1-fist/last | ||||||
L2-fist | L2-1 | L2-last | ||||
L3-fist | L3-1 | L3-2 | L3-3 | L3-last | ||
表2
如上表2所示,Ln-fist表示所述圆形屏幕中显示的所述圆形图像的第n行的第1个字节块,Ln-last表示所述圆形屏幕中显示的所述圆形图像的第n行的最后1个字节块,n为大于等于1的正整数;且有,当该行仅有一个可显示的字节块时,该字节块既为该行的第1个字节块,又为该行的最后1个字节块,也即是上述表2中的L1-f i st/l ast。
步骤120:根据所述圆形图像在所述虚拟缓冲区的块号和偏移量,将所述圆形图像的内容保存至实际物理内存中。
在本发明实施例中,所述的虚拟缓冲区与实际物理内存具有对应关系,以上述表2为例,所述虚拟缓冲区中的各个字节块在所述实际物理内存,也即是物理缓冲区中可按照每行从上到下,从左到右具有像素内容的字节块的顺序保存,请参见下表3,其示出了表2所示虚拟缓冲区对应的实际物理内存/物理缓冲区的字节块的情况。
L1-fist | L2-fist | L2-1 | L2-last | L3-fist | L3-1 | L3-2 | L3-3 | L3-last |
表3
如表3可知,所述虚拟缓冲区的字节块与所述实际物理内存中保存的字节块对应,因此,在将所述圆形图像定义至所述虚拟缓冲区后,可根据该圆形图像在所述虚拟缓冲区的块号和偏移量,确定其在实际物理内存中的地址,从而将所述圆形图像对应保存至所述实际物理内存中。
具体地,请参见图3,其示出了步骤120的一子流程,所述根据所述圆形图像在所述虚拟缓冲区的块号和偏移量,将所述圆形图像的内容保存至实际物理内存中,进一步包括:
步骤121:计算所述圆形图像在所述虚拟缓冲区中的块号;
具体地,根据所述圆形图像的像素深度,所述圆形图像在所述虚拟缓冲区中各行的第一个可见像素、以及所述虚拟缓冲区中每个字节块的大小,计算得到所述虚拟缓冲区的各行的第一个可见字节块的块号;其中,所述各行的第一个可见字节块的块号的计算公式为:当前行的第一个可见字节块的块号=(当前行的第一个可见像素*像素深度)/字节块的大小。
同时,根据所述圆形图像的像素深度,所述圆形图像在所述虚拟缓冲区中各行的最后一个可见像素、以及所述虚拟缓冲区中每个字节块的大小,计算得到所述虚拟缓冲区的各行的最后一个可见字节块的块号。其中,当所述像素深度为大于1的正整数时,所述各行的最后一个可见字节块的块号的计算公式为:当前行的最后一个可见字节块的块号=(当前行的最后一个可见像素*像素深度-1)/字节块的大小;当所述像素深度为0.5时,所述各行的最后一个可见字节块的块号的计算公式为:当前行的最后一个可见字节块的块号=(当前行的最后一个可见像素*像素深度)/字节块的大小。
以如下表4所示的四行第一个可见像素和最后一个可见像素的值,以及每个像素点的像素深度为4Bpp为例,则块号计算结果如下:
行0的第一个可见块号=floor(176 x 4)/16=44
行0的最后一个可见块号=floor(212 x 4+3)/16=53
行1的第一个可见块号=floor(168 x 4)/16=42
行1的最后一个可见块号=floor(220 x 4+3)/16=55
行2的第一个可见块号=floor(161 x 4)/16=40
行2的最后一个可见块号=floor(227 x 4+3)/16=56
行3的第一个可见块号=floor(156 x 4)/16=39
行3的最后一个可见块号=floor(232 x 4+3)/16=58
其中,floor(x)表示向下取整函数,即取不大于x的最大整数。
表4
步骤122:计算所述圆形图像在所述虚拟缓冲区中的偏移量;
具体地,根据各行的上一行的偏移量、以及所述各行的第一个和最后一个可见字节块的块号,计算得到各行的偏移量,其中,第0行的偏移量为0。所述各行的偏移量的计算公式为:当前行的偏移量=当前行的上一行的偏移量+(当前行的最后一个可见块的块号-当前行的第一个可见块的块号+1)。
依旧以上述表4为例,则表4所示四行的偏移量的计算结果如下:
行0的行偏移量=0
行1的行偏移量=0+(53–44+1)=10
行2的行偏移量=10+(55–42+1)=24
行3的行偏移量=24+(56–40+1)=41
步骤123:将所述虚拟缓冲区中每行的块号和偏移量转换为表格格式的行表格数据;
具体地,根据各行的偏移量、第一个可见字节块的块号和最后一个可见字节块的块号,计算得到各行的行表格数据。其中,所述计算得到各行的行表格数据的计算公式为:当前行的行表格数据=(en*2^31+当前行的偏移量*2^14+(当前行的最后一个可见字节块的块号+1)*2^7+当前行的第一个可见字节块。
依旧以上述表4为例,则表4所示四行的行表格数据的计算结果如下:
行0的table data=(1*2^31+0*2^14+(53+1)*2^7+44=0x80001B2C
行1的table data=(1*2^31+10*2^14+(55+1)*2^7+42=0x80029C2A
行2的table data=(en*2^31+24*2^14+(56+1)*2^7+40=0x80061CA8
行3的table data=(en*2^31+41*2^14+(58+1)*2^7+39=0x800A5DA7
步骤124:根据所述行表格数据与所述圆形图像的可显示内容确定所述圆形图像的实际缓存内容;
在本发明实施例中,由于实际物理内存中存储的图像是以块为单位的,而实际的显示屏幕为圆形,为了使得存储的图像能够完全覆盖住圆形屏幕,避免圆形屏幕边缘周围出现锯齿状图像边缘和/或出现黑点的情况,在每行的起始块跟结束块,需要多缓存几个圆形屏幕上无法显示的点,从而确定所述圆形图像的实际缓存内容。
具体地,根据所述虚拟缓冲区中各行的第一个可见像素、字节块的大小、以及所述圆形图像的像素深度,计算得到所述虚拟缓冲区中各行的第一个实际缓存像素;其中,所述计算得到所述虚拟缓冲区中各行的第一个实际缓存像素的计算公式为:当前行的第一个实际缓存像素=(当前行的第一个可见字节块的块号x字节块的大小)/像素深度。
同时,根据所述虚拟缓冲区中各行的最后一个可见像素、字节块的大小、以及所述圆形图像的像素深度,计算得到所述虚拟缓冲区中各行的最后一个实际缓存像素。其中,所述计算得到所述虚拟缓冲区中各行的最后一个实际缓存像素的计算公式为:当前行的最后一个实际缓存像素=((当前行的最后一个可见字节块的块号+1)x字节块的大小)/像素深度-1。
依旧以上述表4为例,则表4所示四行的第一个实际缓存像素和最后一个实际缓存像素的计算结果如下:
行0缓存的第一个像素点=(44*16)/4=176
行0缓存的最后一个像素点=((53+1)*16)/4–1=215行1缓存的第一个像素点=(42*16)/4=168
行1缓存的最后一个像素点=((55+1)*16)/4–1=223行2缓存的第一个像素点=(40*16)/4=160
行2缓存的最后一个像素点=((56+1)*16)/4–1=227行3缓存的第一个像素点=(39*16)/4=156
行3缓存的最后一个像素点=((58+1)*16)/4–1=235步骤125:将所述实际缓存内容保存至所述实际物理内存中。
最终,在计算得到各个字节块对应的行表格数据之后,依照上述表2的排列方式将各个字节块的实际缓存内容按照虚拟缓冲区中行数和列数从小到大、从左到右、从上到下的顺序存储到所述实际物理内存,实现所述圆形图像的存储。
采用本发明实施例提供的圆形图像的存储方法,能够有效节约实际物理内存。例如,缓存一张像素深度Bpp为2,大小为390x390的方形图像需要的内存为297Kbyte,而缓存一张同等像素深度Bpp且直径为390的圆形图像需要的内存为233Kbyte,优化后可节省约为21%的内存。
实施例二
本发明实施例提供了一种圆形图像的读写方法,应用于电子设备,所述电子设备设置有电连接的圆形屏幕和显示控制器,所述电子设备可以是如上述应用场景及图1所示的可穿戴智能手表10,也可以是其他具有圆形屏幕的电子设备,具体可根据实际应用场景进行选择,所述电子设备还能够执行如上述实施例一所述的圆形图像的存储方法,请参见图4,其示出了本发明实施例提供的一种圆形图像的读写方法的流程,所述方法包括但不限于以下步骤:
步骤210:通过所述显示控制器获取访问地址,其中,所述访问地址由所述电子设备在接受到访问操作时产生;
在本发明实施例中,首先,需要通过所述电子设备中的显示控制器获取访问地址,所述访问地址可以是来自用户直接对所述电子设备进行的访问操作,或者,通过与所述电子设备连接的其他电子电力装置或者设备上的用户的访问操作。例如,当所述电子设备为智能手表时,所述访问地址可以来自于所述智能手表蓝牙连接的智能手机,用户通过所述智能手表上的智能手表应用程序进行所述圆形图像的选择或调整等动作,从而产生访问操作,该访问操作发送至所述智能手表产生访问地址。又或者,用户直接在具有触控屏的智能手表上滑动或点击,从而产生访问操作,所述显示控制器依此获取访问地址。
步骤220:根据访问地址获取所述虚拟缓冲区中对应的位置信息,以确定所述访问操作是否在所述圆形图像上;若是,跳转至步骤230;
在获取到所述访问地址后,需要根据该访问地址来判断所述访问操作是否落在所述圆形图像上,具体地,是否落在如上述实施例一中所示的虚拟缓冲区的可显示字节块中。
步骤230:根据所述位置信息确定所述访问地址在所述实际物理内存中的物理地址,并将所述物理地址反馈至所述显示控制器,以使所述显示控制器能够在所述实际物理内存中对所述圆形图像进行读写操作。
若确定该访问地址落在所述圆形图像上,也即是落在如上述实施例一中所示的虚拟缓冲区的可显示字节块中时,可进一步根据如上述的实施例一所述的行表格数据计算出该操作对应在所述实际物理内存中的地址,并响应一个有效的值给显示控制器;否则,响应一个恒值给显示控制器。例如,当显示控制器是读访问时,地址转换器会响应一个0值给显示控制器,当显示控制器时写访问时,该地址转换器不对实际的物理内存进行操作。
本发明实施例采用如上述实施例一所述的存储方法存储圆形图像,在对具有圆形屏幕的电子设备中所显示的圆形图像进行读写操作时,由于采用采用如上述实施例一所述的存储方法存储圆形图像需要的实际物理内存较少,因此在对其进行读写寻址的过程中需要处理的数据也更少,从而能够有效提高圆形图像的读写速度。
实施例三
本发明一种圆形图像的存储装置,应用于电子设备,所述电子设备设置有圆形屏幕,所述圆形屏幕用于显示圆形图像,所述电子设备可以是如上述应用场景及图1所示的可穿戴智能手表10,也可以是其他具有圆形屏幕的电子设备,具体可根据实际应用场景进行选择,请参见图5,所述圆形图像的存储装置300包括:定义单元310和存储单元320。
所述定义单元310,用于根据所述圆形图像定义一个虚拟缓冲区,其中,所述虚拟缓冲区能够容纳整个圆形图像的所有像素;
所述存储单元320,用于根据所述圆形图像在所述虚拟缓冲区的块号和偏移量,将所述圆形图像的内容保存至实际物理内存中。
在一些实施例中,所述存储单元320还用于计算所述圆形图像在所述虚拟缓冲区中的块号;计算所述圆形图像在所述虚拟缓冲区中的偏移量;将所述虚拟缓冲区中每行的块号和偏移量转换为表格格式的行表格数据;根据所述行表格数据与所述圆形图像的可显示内容确定所述圆形图像的实际缓存内容;将所述实际缓存内容保存至所述实际物理内存中。
在一些实施例中,所述存储单元320还用于根据所述圆形图像的像素深度,所述圆形图像在所述虚拟缓冲区中各行的第一个可见像素、以及所述虚拟缓冲区中每个字节块的大小,计算得到所述虚拟缓冲区的各行的第一个可见字节块的块号;根据所述圆形图像的像素深度,所述圆形图像在所述虚拟缓冲区中各行的最后一个可见像素、以及所述虚拟缓冲区中每个字节块的大小,计算得到所述虚拟缓冲区的各行的最后一个可见字节块的块号。
在一些实施例中,所述存储单元320还用于根据各行的上一行的偏移量、以及所述各行的第一个和最后一个可见字节块的块号,计算得到各行的偏移量,其中,第0行的偏移量为0。
在一些实施例中,所述存储单元320还用于根据各行的偏移量、第一个可见字节块的块号和最后一个可见字节块的块号,计算得到各行的行表格数据。
在一些实施例中,所述存储单元320还用于根据所述虚拟缓冲区中各行的第一个可见像素、字节块的大小、以及所述圆形图像的像素深度,计算得到所述虚拟缓冲区中各行的第一个实际缓存像素;根据所述虚拟缓冲区中各行的最后一个可见像素、字节块的大小、以及所述圆形图像的像素深度,计算得到所述虚拟缓冲区中各行的最后一个实际缓存像素。
实施例四
本发明实施例提供了一种电子设备,请参见图6,其示出了能够执行图2至图4所述方法的电子设备的硬件结构,该电子设备10可以是如上述应用场景及图1所示的可穿戴智能手表10,也可以是其他具有圆形屏幕的电子设备,具体可根据实际应用场景进行选择,该电子设备10包括:圆形屏幕11;与所述圆形屏幕11电连接的显示控制器12;以及,
所述服务器10包括:与所述显示控制器12连接的至少一个处理器13;与所述至少一个处理器13通信连接的存储器14,图6中以一个处理器13为例。所述存储器14存储有可被所述至少一个处理器13执行的指令,所述指令被所述至少一个处理器13执行,以使所述至少一个处理器13能够执行上述图2至图4所述的方法。所述处理器13和所述存储器14可以通过总线或者其他方式连接,图6中以通过总线连接为例。
存储器14作为一种非易失性计算机可读存储介质,可用于存储非易失性软件程序、非易失性计算机可执行程序以及模块,如本申请实施例中的方法对应的程序指令/模块,例如,图5所示的各个模块。处理器13通过运行存储在存储器14中的非易失性软件程序、指令以及模块,从而执行服务器的各种功能应用以及数据处理,即实现上述方法实施例方法。
存储器14可以包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需要的应用程序;存储数据区可存储根据装置的使用所创建的数据等。此外,存储器14可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他非易失性固态存储器件。在一些实施例中,存储器14可选包括相对于处理器13远程设置的存储器,这些远程存储器可以通过网络连接至装置。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
所述一个或者多个模块存储在所述存储器14中,当被所述一个或者多个处理器13执行时,执行上述任意方法实施例中的方法,例如,执行以上描述的图2至图4的方法步骤,实现图5中的各模块和各单元的功能。
上述产品可执行本申请实施例所提供的方法,具备执行方法相应的功能模块和有益效果。未在本实施例中详尽描述的技术细节,可参见本申请实施例所提供的方法。
本申请实施例还提供了一种非易失性计算机可读存储介质,所述计算机可读存储介质存储有计算机可执行指令,该计算机可执行指令被一个或多个处理器执行,例如,执行以上描述的图2至图4的方法步骤,实现图5中的各模块的功能。
本申请实施例还提供了一种计算机程序产品,包括存储在非易失性计算机可读存储介质上的计算程序,所述计算机程序包括程序指令,当所述程序指令被计算机执行时时,使所述计算机执行上述任意方法实施例中的方法,例如,执行以上描述的图2至图4的方法步骤,实现图5中的各模块的功能。
本发明实施例中提供了一种圆形图像的存储方法及装置、读写方法和电子设备,该电子设备设置有圆形屏幕,所述圆形屏幕用于显示圆形图像,该方法首先根据所述圆形图像定义一个虚拟缓冲区,其中,所述虚拟缓冲区能够容纳整个圆形图像的所有像素,然后根据所述圆形图像在所述虚拟缓冲区的块号和偏移量,将所述圆形图像的内容保存至实际物理内存中,本发明实施例提供的方法能够对用于在圆形屏幕上显示的圆形图像直接进行存储,能够充分利用实际物理内存,从而增加圆形图像的读写速度。
需要说明的是,以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。
通过以上的实施方式的描述,本领域普通技术人员可以清楚地了解到各实施方式可借助软件加通用硬件平台的方式来实现,当然也可以通过硬件。本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程是可以通过计算机程序来指令相关的硬件来完成,所述的程序可存储于计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,所述的存储介质可为磁碟、光盘、只读存储记忆体(Read-Only Memory,ROM)或随机存储记忆体(Random Access Memory,RAM)等。
最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;在本发明的思路下,以上实施例或者不同实施例中的技术特征之间也可以进行组合,步骤可以以任意顺序实现,并存在如上所述的本发明的不同方面的许多其它变化,为了简明,它们没有在细节中提供;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的范围。
Claims (10)
1.一种圆形图像的存储方法,其特征在于,应用于电子设备,所述电子设备设置有圆形屏幕,所述圆形屏幕用于显示圆形图像,所述方法包括:
根据所述圆形图像定义一个虚拟缓冲区,其中,所述虚拟缓冲区能够容纳整个圆形图像的所有像素;
根据所述圆形图像在所述虚拟缓冲区的块号和偏移量,将所述圆形图像的内容保存至实际物理内存中。
2.根据权利要求1所述的存储方法,其特征在于,
所述根据所述圆形图像在所述虚拟缓冲区的块号和偏移量,将所述圆形图像的内容保存至实际物理内存中,包括:
计算所述圆形图像在所述虚拟缓冲区中的块号;
计算所述圆形图像在所述虚拟缓冲区中的偏移量;
将所述虚拟缓冲区中每行的块号和偏移量转换为表格格式的行表格数据;
根据所述行表格数据与所述圆形图像的可显示内容确定所述圆形图像的实际缓存内容;
将所述实际缓存内容保存至所述实际物理内存中。
3.根据权利要求2所述的存储方法,其特征在于,
所述计算所述圆形图像在所述虚拟缓冲区中的块号,包括:
根据所述圆形图像的像素深度,所述圆形图像在所述虚拟缓冲区中各行的第一个可见像素、以及所述虚拟缓冲区中每个字节块的大小,计算得到所述虚拟缓冲区的各行的第一个可见字节块的块号;
根据所述圆形图像的像素深度,所述圆形图像在所述虚拟缓冲区中各行的最后一个可见像素、以及所述虚拟缓冲区中每个字节块的大小,计算得到所述虚拟缓冲区的各行的最后一个可见字节块的块号。
4.根据权利要求3所述的存储方法,其特征在于,
所述计算所述圆形图像在所述虚拟缓冲区中的偏移量,包括:
根据各行的上一行的偏移量、以及所述各行的第一个和最后一个可见字节块的块号,计算得到各行的偏移量,
其中,第0行的偏移量为0。
5.根据权利要求4所述的存储方法,其特征在于,
所述将所述虚拟缓冲区中每行的块号和偏移量转换为表格格式的行表格数据,包括:
根据各行的偏移量、第一个可见字节块的块号和最后一个可见字节块的块号,计算得到各行的行表格数据。
6.根据权利要求5所述的存储方法,其特征在于,
所述根据所述行表格数据与所述圆形图像的可显示内容确定所述圆形图像的实际缓存内容,包括:
根据所述虚拟缓冲区中各行的第一个可见像素、字节块的大小、以及所述圆形图像的像素深度,计算得到所述虚拟缓冲区中各行的第一个实际缓存像素;
根据所述虚拟缓冲区中各行的最后一个可见像素、字节块的大小、以及所述圆形图像的像素深度,计算得到所述虚拟缓冲区中各行的最后一个实际缓存像素。
7.一种圆形图像的读写方法,其特征在于,应用于电子设备,所述电子设备设置有电连接的圆形屏幕和显示控制器,所述电子设备还能够执行如上述权利要求1-6任一项所述的圆形图像的存储方法,所述读写方法包括:
通过所述显示控制器获取访问地址,其中,所述访问地址由所述电子设备在接受到访问操作时产生;
根据访问地址获取所述虚拟缓冲区中对应的位置信息,以确定所述访问操作是否在所述圆形图像上;
若是,根据所述位置信息确定所述访问地址在所述实际物理内存中的物理地址,并将所述物理地址反馈至所述显示控制器,以使所述显示控制器能够在所述实际物理内存中对所述圆形图像进行读写操作。
8.一种圆形图像的存储装置,其特征在于,应用于电子设备,所述电子设备设置有圆形屏幕,所述圆形屏幕用于显示圆形图像,所述装置包括:
定义单元,用于根据所述圆形图像定义一个虚拟缓冲区,其中,所述虚拟缓冲区能够容纳整个圆形图像的所有像素;
存储单元,用于根据所述圆形图像在所述虚拟缓冲区的块号和偏移量,将所述圆形图像的内容保存至实际物理内存中。
9.一种电子设备,其特征在于,包括:
圆形屏幕;
与所述圆形屏幕电连接的显示控制器;
与所述显示控制器连接的至少一个处理器;以及,
与所述至少一个处理器通信连接的存储器;其中,
所述存储器存储有可被所述处理器执行的指令,所述指令被所述处理器执行,以使所述处理器能够执行如权利要求1-7任一项所述的方法。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有计算机可执行指令,所述计算机可执行指令用于使计算机执行如权利要求1-7任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110996530.6A CN113760216A (zh) | 2021-08-27 | 2021-08-27 | 一种圆形图像的存储方法及装置、读写方法和电子设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110996530.6A CN113760216A (zh) | 2021-08-27 | 2021-08-27 | 一种圆形图像的存储方法及装置、读写方法和电子设备 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN113760216A true CN113760216A (zh) | 2021-12-07 |
Family
ID=78791521
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110996530.6A Pending CN113760216A (zh) | 2021-08-27 | 2021-08-27 | 一种圆形图像的存储方法及装置、读写方法和电子设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113760216A (zh) |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6628294B1 (en) * | 1999-12-31 | 2003-09-30 | Intel Corporation | Prefetching of virtual-to-physical address translation for display data |
CN107491243A (zh) * | 2017-08-29 | 2017-12-19 | 青岛海信移动通信技术股份有限公司 | 终端在圆形屏幕上显示方形界面的应用程序的方法和装置 |
US20190026061A1 (en) * | 2017-07-19 | 2019-01-24 | Boe Technology Group Co., Ltd. | Display Device And Display Method Thereof |
US20210035263A1 (en) * | 2019-08-02 | 2021-02-04 | Hillary Patience Summerbell | Methods and devices for providing dyslexic readable images |
CN112905122A (zh) * | 2021-02-20 | 2021-06-04 | 炬芯科技股份有限公司 | 一种存储数据的方法及装置 |
-
2021
- 2021-08-27 CN CN202110996530.6A patent/CN113760216A/zh active Pending
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6628294B1 (en) * | 1999-12-31 | 2003-09-30 | Intel Corporation | Prefetching of virtual-to-physical address translation for display data |
US20190026061A1 (en) * | 2017-07-19 | 2019-01-24 | Boe Technology Group Co., Ltd. | Display Device And Display Method Thereof |
CN107491243A (zh) * | 2017-08-29 | 2017-12-19 | 青岛海信移动通信技术股份有限公司 | 终端在圆形屏幕上显示方形界面的应用程序的方法和装置 |
US20210035263A1 (en) * | 2019-08-02 | 2021-02-04 | Hillary Patience Summerbell | Methods and devices for providing dyslexic readable images |
CN112905122A (zh) * | 2021-02-20 | 2021-06-04 | 炬芯科技股份有限公司 | 一种存储数据的方法及装置 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN113225427B (zh) | 一种图像显示的方法及终端设备 | |
EP2893529B1 (en) | Method and device for selective display refresh | |
CN111476852B (zh) | 阅读器刷新方法、计算设备及计算机存储介质 | |
CN108171662B (zh) | 读取图像压缩数据的方法及包含该方法的反畸变方法 | |
JPH08212382A (ja) | Z−バッファタグメモリ構成 | |
CN113849254A (zh) | 页面布局的自适应调整方法及计算设备 | |
WO2022058012A1 (en) | Rendering and post-processing filtering in a single pass | |
CN113010466A (zh) | 墨水屏设备的接口切换方法、墨水屏设备及存储介质 | |
CN113010252A (zh) | 应用页面的展示方法、电子设备及存储介质 | |
CN115237522A (zh) | 页面自适应展示方法及装置 | |
EP3553738A1 (en) | Histogram statistic circuit and multimedia processing system | |
CN110765384A (zh) | 客户端的分辨率适配方法、存储介质及终端 | |
CN112199139B (zh) | 一种系统缩放比例的自适应调整方法及装置 | |
US8937623B2 (en) | Page flipping with backend scaling at high resolutions | |
CN113760216A (zh) | 一种圆形图像的存储方法及装置、读写方法和电子设备 | |
US8982134B2 (en) | Area-based dependency chain analysis of shaders and command stream | |
CN103543974A (zh) | 一种提高字体清晰度的方法及系统 | |
US9594955B2 (en) | Modified wallis filter for improving the local contrast of GIS related images | |
CN107977923B (zh) | 图像处理方法、装置、电子设备及计算机可读存储介质 | |
CN107506119B (zh) | 一种图片显示方法、装置、设备和存储介质 | |
CN115965737A (zh) | 图像渲染方法、装置、终端设备及存储介质 | |
CN116052605A (zh) | 墨水屏刷新方法、装置、墨水屏设备及存储介质 | |
US20080055286A1 (en) | Method And Apparatus For Displaying Bitmap Images | |
EP3008577A1 (en) | Virtualizing applications for multi-monitor environments | |
CN114611031A (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 |