Specific embodiment
System for buffering application image can include composition manager and comprise front buffer area and back buffer
The memorizer in area.Application image can be logically divided into or be divided into image sheet (tile).Each of image sheet can
To identify the respective regions of application image.Composition manager can determine which in (overlap) image sheet be vision area overlap.
Vision area can identify the viewable portion of application image.Viewable portion is likely less than application image.For example, viewing area can be ground
The part that figure shows on the display device in navigation system.
In some systems, the image sheet that composition manager (or assuming the application of application image) can overlap to vision area
Carry out double buffering (or more generally, multi-buffer).Composition manager (or application) may not overlap to vision area
Image sheet carry out double buffering (or multi-buffer).The amount reducing the memorizer of multi-buffer can reduce for depositing
The bandwidth demand of reservoir.
Double buffering can prevent when process to relief area write and another process from identical relief area
The visual tear illusion (tearing artifacts) causing when being read out.In order to reduce or avoid to cause these visual
The probability of defect, application can read application image in another process of composition manager etc. from preposition relief area
While, assume application image in back buffer area.More generally, system is write to it with the frame of Structural application image
Relief area can be back buffer area.The relief area that system is read from complete frame can be front buffer area.Using
In the example in multi-buffer area, system can include and use multiple back buffer areas.
In response to vertical sync pulse or certain other event, can with switching preamplifier relief area and back buffer area so that
Back buffer area is changed into front buffer area, and front buffer area is changed into back buffer area.The switching of this relief area may also be referred to as
Relief area is replaced.After relief area replaces it, back buffer area can include the content of frame n, and front buffer area can include
The content of frame n+1.If the entire content of front buffer area (frame n+1) copies to back buffer area (frame n), back buffer area
Can have nearest content (frame n+1), and apply and can start to assume new frame n+2 in back buffer area.Can weigh
The process presenting again, replace and showing.
However, in the system for buffering application image, when generation is replaced in relief area, can avoid from front buffer
Area is to the entire content of rearmounted relief area replication application image.On the contrary, composition manager and/or application can be skipped to vision area not
The double buffering (or multi-buffer) of overlapping image sheet.Specifically, composition manager and/or application can be preposition slow
Rush the image sheet that both area and back buffer area middle buffering vision area overlaps, and in back buffer area not in front buffer area
The image sheet that buffering vision area does not overlap.
Can in corresponding image sheet relief area each of relief area image sheet.Can will be non-for image sheet relief area
It is successively positioned in memorizer.If relief area not phase each other in the memory address space of the memorizer residing in relief area
Neighbour, then two relief areas can be discrete.
In some systems, composition manager can be come directly based on the composition manager understanding vision area and image sheet relief area
Connect the buffered viewable portion from discrete image sheet relief area replication application image.Application does not need to create continuously is depositing
The buffered viewable portion of application image is comprised so that composition manager can replicate visually from connected storage in reservoir
Partial intermediate buffer.Establishment intermediate buffer is avoided to reduce the bandwidth demand for accessing memorizer.Composition manager
Composograph can be generated according to the viewable portion of this application image and one or more extra application image.
Fig. 1 shows tiling vision area synthesis system 100.System 100 can include applying 102, application relief area 104, show
Show relief area 106 and composition manager 108.Tiling vision area synthesis system 100 is the system for buffering application image 110.
Application 102 can assume application image 110.Application image 110 can be included by the operating system (example based on window
As for the operating system of mobile electronic device, desk computer or server) window that generates.Operation system based on window
The example of system can include MICROSOFT WINDOWS(it is the registered trade mark of the Microsoft of Washington Redmond);
LINUX(it is the registered trade mark of the Lin Nasi. Tuo Wazi of Finland);And ANDROIDTM(it is California mountain scene city
Google Inc trade mark).Alternatively or additionally, application image 110 can include graphic user interface (GUI), draw
Middle picture (PiP), taskbar, background picture, can be video the frame sequence of a part in frame or any other type
Digital picture.The example of application 102 can include word processor, mailer, web browser, Mobile solution or permissible
Assume other types of software program or the nextport hardware component NextPort of application image 110.
Application relief area 104 can be memorizer represent the one or more of application image 110 and/or its various pieces
Region.Memorizer can include the continuous of memorizer and/or discrete regions.
Display buffer 106 can include representing from by one or more applications (for example, the application 102 shown in Fig. 1)
The region of the memorizer of composograph 112 of each image combination generating.Composograph 112 can be presented on display device
Above, sent by network or processed in Local or Remote.
Composition manager 108 each image can be synthesized composograph 112 or each image is synthesized by guidance
Composograph 112.Each image can include all or part of of application image.The example of composition manager 108 includes firmly
Part synthesizer, window manager or any other assembly that each image is synthesized composograph 112.
During operation tiling vision area synthesis system 100, composition manager 108 can be according to answering of being identified by vision area 114
Assume composograph 112 with the viewable portion of image 110.Whole application is likely less than by the viewable portion that vision area 114 identifies
Image 110.Composition manager 108 can be according to the viewable portion of application image 110 with according to one or more extra images
To assume composograph 112.
Viewable portion with application image 110 changes over, and application 102 can move around application image 110
Dynamic vision area 114.In one example, application image 110 can be map image, and vision area 114 mark map image will be
The part of display in navigation system.When the position change of navigation system, the part that map image shows in navigation system
May change.In the second example, application image 110 can be the image of the pass in video-game, and vision area 114 is permissible
Identify the part that the image of this pass will show on screen.When game role moves around this pass, the figure of this pass
Part shown on screen changes.In the 3rd example, web browser can present and the content shown on display
Compare more contents.When applying the viewable portion that 102 update application image 110 using vision area 114, composograph 112
Can update or produce visually smoother transition outward appearance more quickly.
Application image 110 logically can be divided into or be divided into image sheet 116 by application 102.In image sheet 116
Each can identify the respective regions of application image 110.In whole application image 110, image sheet 116 is in size and shape
On can be consistent.Alternatively, in whole application image 110, the size and shape of image sheet 116 can change.?
In different examples, the size and shape of image sheet 116 can be different.
Image sheet 116 can be represented in corresponding image sheet relief area 118.For example, it is possible to be individually appointed as
The image sheet 116 being individually appointed as T1 to T4 in FIG is represented in the image sheet relief area 118 of A1 to A4.Image sheet delays
Rush area 118 to may be embodied in application relief area 104.
Which in vision area 114 overlapping image piece 116 be composition manager 108 can determine.Overlap or folded with vision area 114
Each of image sheet 116 of lid (intersect) can at least include the part 120 of the viewable portion of application image 110.
On the contrary, the image sheet 116 that vision area 114 does not overlap may not comprise any viewable portion 120 of application image 110.
Composition manager 108 can carry out dual to the image sheet 116 that vision area 114 overlaps rather than residual graph photo 116
Buffering.Front buffer area 122 can include representing the image sheet relief area 118 of the overlapping image sheet 116 (T3 and T4) of vision area 114
(A3 and A4).Therefore, the image sheet relief area 118 (A3 and A4) in front buffer area 122 includes the buffered of application image 110
Viewable portion 124.On the contrary, back buffer area 126 can include representing the image sheet 116 (T1 and T2) that vision area 114 does not overlap
Image sheet relief area 118 (A1 and A2).Additionally, back buffer area 126 can include and the figure being in front buffer area 122
Photo relief area 118 (A3 and A4) is corresponding and image sheet relief area 118 that represent the image sheet 116 being overlapped by vision area 114
(B3 and B4).
When generating composograph 112, composition manager 108 can be delayed from the image sheet being in front buffer area 122
Rush the buffered viewable portion 124 extracting application image 110 in area 118 (A3 and A4).Buffered viewable portion 124 is permissible
There is the frame n of application image 110.Application 102 can be in the image sheet relief area 118 in back buffer area 126 by modification
(A1, A2, B3 and B4) is assuming the frame n+1 of the application image 110 in back buffer area 126.
When generation is replaced in relief area, the image sheet being in back buffer area 126 can be buffered by composition manager 108
The content of the subset in area 118 copies to front buffer area 122.The subset of image sheet relief area 118 can be and be in preposition delaying
Rush the corresponding image sheet relief area 118 (B3 and B4) in image sheet relief area 118 (A3 and A4) in area 122.Composition manager
108 can skip the image sheet relief area 118 (A1 and A2) of the image sheet 116 (T1 and T2) that would indicate that vision area 114 does not overlap again
Make front buffer area 122.
As the content of the subset of image sheet relief area 118 is multiple from back buffer area 126 when replacing generation when relief area
Make replacement or the interpolation in front buffer area 122, it is slow with preposition that composition manager 108 can change image sheet relief area 118
Rush the association between area 122 and back buffer area 126.Composition manager 108 can follow the tracks of image sheet buffering in data structure
Which in area 118 be associated with front buffer area 122 and image sheet relief area 118 in which and back buffer
Area 126 is associated.Associating between image sheet relief area 118 and front buffer area 122 and back buffer area 126 indicates image sheet
Which in relief area 118 is included in each of front buffer area 122 and back buffer area 126.When relief area is replaced
When changing raw, the subset (B3 and B4) of image sheet relief area 118 can be released by composition manager 108 with back buffer area 126
Association, and the subset (B3 and B4) of image sheet relief area 118 is associated with front buffer area 122.Therefore, composition manager
The image sheet relief area 118 (A3 and A4) being initially associated with front buffer area 122 can be changed into and back buffer area by 108
126 are associated.In other words, composition manager 108 can be replaced in response to relief area, by image sheet relief area 118 with preposition
The first set that relief area 122 is associated and the second set being associated with back buffer area 126 of image sheet relief area 118 are entered
Row exchanges, and wherein, the image sheet relief area 118 being exchanged represents that the overlapping image sheet 116 of vision area 114 does not indicate that vision area 114
The image sheet 116 not overlapped.
When composition manager 108 by the image sheet relief area 118 being associated with front buffer area 122 and with back buffer area
When 126 associated corresponding image sheet relief areas 118 swap, the image sheet being switched in back buffer area 126 delays
Rush the frame that area 118 can represent older, for example, frame n.The image sheet relief area 118 being switched in front buffer area 126 is permissible
Represent frame n+1.After relief area exchanges, application 102 can assume the 3rd frame, for example, frame n+2 in back buffer area 126.
When vision area 114 is mobile and overlaps with new image sheet in image sheet 116, composition manager 108 can be to new
Overlapping image sheet 116 carries out double buffering.On the contrary, when vision area 114 is mobile and no longer overlapping with one of image sheet 116 when,
Composition manager 108 can stop carrying out double buffering to the image sheet 116 previously overlapping.
Therefore, when vision area 114 is mobile, composition manager 108 can adjust which in image sheet relief area 118 at
The image sheet that image sheet relief area 118 in front buffer area 122 so that in front buffer area 122 is overlapped with vision area 114
116 is corresponding.Similarly, when vision area 114 is mobile, which in image sheet relief area 118 be composition manager 108 can adjust
It is in back buffer area 126.
When vision area 114 is mobile and overlaps with the image sheet 116 newly overlapping, in back buffer area 126 with newly overlap
The corresponding image sheet relief area 118 of image sheet 116 may be embodied in front buffer area 122.Do not need be in again completely
Now it is added to the image sheet relief area 118 in front buffer area, this is because application 102 may be in back buffer area 126
Present image sheet relief area 118.
In some systems, can dynamically distribute with the movement of vision area 114 and discharge image sheet relief area 118.
For example, if vision area 114 mobile and with the image sheet 116 shown in Fig. 1 in four image sheets (T1 to T4) rather than figure
Two image sheets (T3 and T4) in photo 116 overlap, then composition manager 108 can dynamically distribute two image sheet bufferings
Area 118 (B1 and B2, it is not shown in FIG).Then, front buffer area 122 can include four in image sheet relief area 118
Individual image sheet relief area (A1 to A4), and back buffer area 126 can include four corresponding image sheet relief area 118 (B1
To B4).
As the replacement of dynamically distributes image sheet relief area 118, image sheet relief area 118 can be distributed in advance.For example, exist
After the initialization of application 102 request, composition manager 108 can distribute enough image sheet relief areas 118, with rearmounted
Application image 110 is fully represented in relief area 126 and front buffer area 122.Composition manager 108 can dynamically be divided in advance
The image sheet relief area 118 joined is associated with front buffer area 122 and back buffer area 126.
Application 102 and composition manager 108 can have the features different from described feature.In a system,
Application image 110 can be divided or be divided into image sheet 116 by composition manager 108 (rather than application 102).Application 102 can
To call API (application programming interface) to indicate the size of application image 110 to composition manager 108.As response, composite tube
Application image 110 can be divided into image sheet 116 by reason device 108, and distributes corresponding image sheet relief area 118.Another
In individual system, application 102 (rather than composition manager 108) can be to the image sheet 116 being overlapped by vision area 114 rather than residue
Image sheet 116 carries out double buffering.In another system, except application 102 and composition manager 108 in addition to one or many
Individual assembly can execute the described function of application 102 and composition manager 108.
Composition manager 108 can assume composite diagram according to the viewable portion of the application image 110 being identified by vision area 114
As 112.The composition manager 108 of understanding image sheet relief area 118 and vision area 114 can be straight by buffered viewable portion 124
The image sheet relief area 118 connecing from preposition relief area 122 copies to display buffer 106, even if buffered viewable portion
124 to spread all over multiple discrete image sheet relief areas 118 be also such.By buffered viewable portion 124 from preposition relief area
In image sheet relief area 118 copy to intermediate buffer and then copy to display buffer 106 from intermediate buffer and can be
Unnecessary.For example, application 102 can to composition manager 108 provide relevant with vision area 114 and with front buffer area 122
In the relevant information in image sheet relief area 118.Composition manager 108 can be using the information by application 102 offer come by warp
Image sheet relief area 118 from preposition relief area 122 for the viewable portion 124 of relief area copies to display buffer 106.Can replace
Change ground, composition manager 108 can assume the composograph 112 from intermediate buffer.Application 102 can be by from preposition slow
Rush the buffered viewable portion 124 in area 122 to replicate to fill intermediate buffer.
The frame of the application image 110 representing in front buffer area 122 can be frame n or any other frame.Rearmounted
The frame of the application image 110 representing in relief area 126 can be frame n+1 or any other frame.
As described above, the figure that composition manager 108, application 102 and/or a certain other assembly can overlap to vision area 114
The image sheet 116 of photo 116 or the part being located at or extending (extend) and covering vision area 114 carries out double buffering.Close
Become the figure that manager 108 and/or application 102 can not overlap to vision area 114 to the image sheet 116 being overlapped from vision area 114
Photo 116 applies multi-buffer.Multi-buffer area can include double buffering, triple buffer or other buffering course and/or
Hardware, including one or more of storage application image 110 frame in one or more front buffer areas to extract application drawing
Picture 110, and store one or more of application image 110 frame in one or more back buffer areas to assume application drawing
As 110.
Fig. 2 is the hardware schematic of tiling vision area synthesis system 100.Tiling vision area synthesis system 100 can include processing
Device 204, memory interface 206 and memorizer 208.Tiling vision area synthesis system 100 can be referred to as system 100.
Processor 204 can be carried out being embodied in computer executable instructions in memorizer 208 or other memorizer or
Computer code is to realize the hardware of one or more features of vision area synthesis system 100 that tiles.Processor 204 can include leading to
Can be compiled with processor, CPU, Graphics Processing Unit, special IC (ASIC), digital signal processor, scene
Journey gate array (FPGA), digital circuit, analog circuit, microcontroller, the processor of any other type or its combination in any.
Memory interface 206 can manage to and from memorizer 208 (for example, in processor 204 and memorizer 208
Between) data transmission.Memory interface 206 can include any Memory Controller, for example, memory chip controller
(MCC), it is used for driving Double Data Rate 2 (DDR2) SDRAM's (double data speed synchronous dynamic RAM)
The Memory Controller of DDR2 Memory Controller, periphery component interconnection (PCI) bus control unit or any other type.Deposit
Memory interface 206 can be by bus 214 (for example, in 64 bit DDR2 buses of 400 megahertzs or place's operation or any
Other types of bus) to be communicated with memorizer 208.
Memorizer 208 can include the equipment for storing and fetching data or its combination in any.Memorizer 208 can wrap
Include nonvolatile memory and/or volatile memory, for example, random access memory (RAM), read only memory (ROM), can
Erasable programmable read-only memory (EPROM) (EPROM) or flash memory.Alternatively or additionally, memorizer 208 can include optical storage and sets
Standby, magnetic storage apparatus (hard disk drive) or the data storage device of any other form.
Memorizer 208 can store computer code, for example, composition manager 108, application 102 and/or any other should
With.Computer code can be included using the executable instruction of processor 204.Computer can be write with any computer language
Code, computer language is, for example, C, C++, assembler language, shader code, channel program code and/or computer language
Combination in any.
Memorizer 208 can include applying the relief area of relief area 104 and display buffer 106 etc..Application buffering
Area 104 can include image sheet relief area 118.
No matter described specific implementation, all disclosures are all exemplary rather than restricted in itself
's.System 100 can include more, less or different assemblies compared with the assembly shown in Fig. 1 and Fig. 2.For example, system
100 can also include display controller 210 and display device 212.Display controller 210 can by memory interface 206 from
Composograph 112 is read in display buffer 106, and so that composograph 112 is shown in display device 212.
Processor 204 can be communicated with memorizer 208 via memory interface 206.Processor 204 can with all
Other assemblies as display controller 210 and/or network controller (not shown) etc. are communicated.
Additionally, each of assembly of system 100 assembly can be included compared with the element shown in Fig. 1 and Fig. 2 more
Many, less or different elements.For example, memorizer 208 can include more, less or different modules, graphic buffer and
Application.Additionally, application 102 and/or composition manager 108 can include various modules.Labelling, data, data base, form, reality
Body and other data structures can be stored separately and manage, and can be incorporated in single memory or data base, can be point
Cloth, or can logically and physically be organized in many different ways.These assemblies can independently be grasped
Make or can be identical program or a part for hardware.These assemblies may reside within such as single removable circuit board
Deng single hardware on, or the common hardware of shared identical memorizer and processor etc., to execute from storage
The instruction of device.Program can be the various pieces of single program, is single program, or is distributed in multiple memorizeies and process
On device.
In some instances, one or more of assembly of system 100 assembly may be embodied in SOC(system on a chip) (SOC)
In 216.For example, SOC 216 can include processor 204, memory interface 206 and display controller 210.In another example
In, SOC 216 can include extra assembly, for example, memorizer.
System 100 can be implemented in a lot of processes and/or system.For example although some features are shown as reality
Now be computer executable instructions logic or as the data structure storage in memorizer in computer-readable memory,
But the various pieces of system 100 and its logical sum data structure can be stored on any other machinable medium,
It is distributed on any other machinable medium or be read out from any other machinable medium.Storage is situated between
The example of matter can include memorizer, high-speed buffer, relief area, RAM, removable media, hard disk drive, hard disk, floppy disk,
The machinable medium of CD-ROM or any other type or computer-readable recording medium.Medium can include any
Non-transitory computer-readable storage medium, for example, volatile memory or nonvolatile memory, RAM, ROM, CD-ROM, appoints
Storage device or its combination in any that what it is suitable for.Alternatively or additionally, it is described as being embodied as the executable finger of computer
The logic of order or be described as the feature of the data structure in memorizer and/or module can be implemented in hardware, or realize
In the combination of hardware and software (for example, realize at the scene programmable gate array (FPGA) in).
Can hold in response to being stored in one or more logics among or on computer-readable medium or instruction set
Shown in row accompanying drawing or described function, action or task.These functions, action or task are independent of certain types of
Instruction set, storage medium, processor or process strategy, and can be by the software of individually operated or joint operation, hardware, integrated
Circuit, firmware, microcode etc. are realizing.Similarly, process strategy and can include multiprocessing, multitask, parallel processing, distributed
Process and/or the process of any other type.In one embodiment, these instruction be stored in removable media device with by
Local system or remote system are reading.In other embodiments, logic or instruction are stored at remote location, with by calculating
Machine network or transmitted on the telephone line.In further embodiments, logic or instruction can be stored in given calculating
In machine, CPU (" CPU "), Graphics Processing Unit (" GPU ") or system.
The disposal ability of system 100 can be distributed between multiple entities, for example, is distributed in multiple processors and memorizer
Between, plurality of entity selectively includes multiple distributed processing system(DPS)s.Parameter and other data structure can be independent
Ground storage and managing, can be incorporated in single memory or data base, can in many different ways logically and physics
On organized, and can be using the different types of number of lists of links, hash table or implicit storage mechanisms etc.
To realize according to structure.The logic of program or circuit etc. can be combined or divide between multiple programs, it is many to be distributed in
On individual memorizer and processor.
Fig. 3 is the flow chart of the logic of tiling vision area synthesis system 100.Application image 110 can be provided, this application image
110 are logically divided into image sheet 116.For example, image sheet relief area 118 may be in memorizer 208 and represents
Image sheet 116.
Which in (310) vision area 114 overlapping image piece 116 be logic can determine.Vision area 114 can identify application drawing
As 110 viewable portion, and viewable portion can be less than application image 110.
The image sheet 116 that vision area 114 overlaps can buffer (320) in front buffer area 122 and back buffer area 126,
Wherein, extract the viewable portion of application image 110 from preposition relief area 122, and modification application in back buffer area 126
Image 110.For example, front buffer area 122 can be with buffered frame n, and back buffer area 126 can be with buffered frame n+1.
The image sheet 116 that vision area 114 does not overlap can (in back buffer area 126, modification should in back buffer area 126
With image 119) in and not in front buffer area 122 (extracting the viewable portion of application image 110 from preposition relief area 122)
Buffering (330).For example, logic can extract the warp of application image 110 from preposition relief area 122 by composition manager 108
Buffering viewable portion 124 and terminate.
Logic can include extra, different or less operation.In such example, logic can include
By distributing image sheet relief area 118, application image 110 is divided into image sheet 116.Can with the order shown in Fig. 3
Different orders is executing operation.
In order that the use of following phrase is clear and thus makes public attention, replace above any other implicit determining
Justice or unless applicant hereinafter clearly statement be contrary, applicant most broadly define phrase "<A>、<B>、……
With<N>At least one of " or "<A>、<B>、……<N>At least one of or a combination thereof " or "<A>、<B
>... and/or<N>", thus mean from include A, B ... and N group select one or more elements, in other words,
Key element A, B ... or the combination in any of one or more of N includes any one key element single, or include any one
Individual key element and may also combine one or more of the other key elements including unlisted additional element key element.
Although it have been described that each embodiment, but for those of ordinary skills it is readily apparent that
Scope of the present disclosure interior, more embodiments are possible with realization.Therefore, except according to claims and its
Beyond equivalents, should not limit present disclosure.