CN103221993B - Delivering and controlling streaming interactive media comprising rendered geometric, texture and lighting data - Google Patents

Delivering and controlling streaming interactive media comprising rendered geometric, texture and lighting data Download PDF

Info

Publication number
CN103221993B
CN103221993B CN201180054647.7A CN201180054647A CN103221993B CN 103221993 B CN103221993 B CN 103221993B CN 201180054647 A CN201180054647 A CN 201180054647A CN 103221993 B CN103221993 B CN 103221993B
Authority
CN
China
Prior art keywords
vision area
polygon
grid
graphical information
summit
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
Application number
CN201180054647.7A
Other languages
Chinese (zh)
Other versions
CN103221993A (en
Inventor
巴里·林恩·詹金斯
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Individual
Original Assignee
Individual
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Priority claimed from PCT/US2011/042309 external-priority patent/WO2012012161A2/en
Application filed by Individual filed Critical Individual
Priority to CN202010662407.6A priority Critical patent/CN111833424A/en
Priority to CN201611005881.1A priority patent/CN107093201B/en
Publication of CN103221993A publication Critical patent/CN103221993A/en
Application granted granted Critical
Publication of CN103221993B publication Critical patent/CN103221993B/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T15/003D [Three Dimensional] image rendering
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/50Information retrieval; Database structures therefor; File system structures therefor of still image data
    • G06F16/56Information retrieval; Database structures therefor; File system structures therefor of still image data having vectorial format
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T15/003D [Three Dimensional] image rendering
    • G06T15/10Geometric effects
    • G06T15/20Perspective computation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T19/00Manipulating 3D models or images for computer graphics
    • G06T19/003Navigation within 3D models or images
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2200/00Indexing scheme for image data processing or generation, in general
    • G06T2200/16Indexing scheme for image data processing or generation, in general involving adaptation to the client's capabilities
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/80Generation or processing of content or additional data by content creator independently of the distribution process; Content per se
    • H04N21/81Monomedia components thereof
    • H04N21/8146Monomedia components thereof involving graphical data, e.g. 3D object, 2D graphics

Abstract

In an exemplary embodiment, a method, conducted on a server, sends renderable graphics information to a client device, said graphics information including at least one set of graphics information visible from a second view region and not visible from a first view region. The method includes determining a likelihood that a viewpoint undergoes movement from said first view region to said second view region. The method further includes sending said at least one set of graphics information upon determination that the likelihood that the viewpoint undergoes movement from said first view region to said second view region is greater than a predetermined threshold, said movement determined according to a predetermined motion path.

Description

Transmission and the stream interactive media controlling geometry, texture and the photometric data including rendering
Cross-Reference to Related Applications
This application claims entitled " the System and Method of From-Region submitting on June 29th, 2011 Visibility Determination and Delta-PVS Based Content Streaming Using Conservative Linearized Umbral Event Surfaces ", the PCT of Application No. PCT/US2011/042309 The rights and interests in the front applying date of patent application, this application requires the U.S. Provisional Application 61/ submitted on June 30th, 2010 again 360,283 rights and interests in the front applying date, the full content of each of above-mentioned two application application is incorporated by reference into In the application.The application also requires in entitled " the System and Method of of September in 2010 submission on the 13rd Delivering and Controlling Streaming Interactive Media Comprising Predetermined Packets of Geometric, Texture, Lighting and Other Data Which are The power in the front applying date of the U.S. Provisional Application No. 61/382,056 of Rendered on a Receiving Device " Benefit, the entire disclosure of which is incorporated by reference in the application.The application also requires in the topic of September in 2010 submission on the 19th For " System and Method of Recording and Using Clickable Advertisements The U.S. Provisional Application No. 61/384,284 of Delivered as Streaming Interactive Media " in front Shen Please day rights and interests, the entire disclosure of which is incorporated by reference in the application.The application was also required on March 14th, 2011 Entitled " the System and Method of Controlling Visibility-Based Geometry and submitting to The U.S. Provisional Application No. 61/452,330 of Texture Streaming for Interactive Content Delivery " Number the rights and interests in the front applying date, the entire disclosure of which is incorporated by reference in the application.The application also require in Entitled " the System and Method of protecting game engine data that on April 12nd, 2011 submits to formats and Visibility Event Codec Formats Employing an Application The U.S. Provisional Application No. of Programming Interface Between the Game Engine and the Codec " The rights and interests in the front applying date of 61/474, No. 491, the entire disclosure of which is incorporated by reference in the application.The application Also require on April 19th, 2011 submit to entitled " System and Method of Delivering Targeted, Clickable, Opt-Out or Opt-in Advertising as a Unique, Visibility Event Stream The U.S. Provisional Application No. 61/476,819 of for Games and Streaming Interactive Media " front The rights and interests of the applying date, the entire disclosure of which is incorporated by reference in the application.
Background technology
Technical field
The present invention relates to a kind of for packet is prefetched to geometry, illumination and the other information including being rendered by receiving device Stream interaction content be transmitted and the method and system that control.
Background note
United States Patent (USP) 6,057,847 and 6,111,582 describes to as real in client or receiver apparatus When the method that is transmitted of the geometry that renders, the interactivity content of the single frames packet of texture, illumination and other data.In these sides In method, to generate single frames packet in real time using original re-projection.
In PCT Patent Application PCT/US2011/042309(Entire contents are incorporated by reference in the application)Number In describe method that the interaction content prefetching packet as geometry, texture and other information is transmitted, wherein with PVS Increment(It can be seen that entity sets)Corresponding prefetching is grouped also referred to as visibility events information.In the method, above-mentioned packet includes Represent the information of visible graphic element and the information representing the graphic element being recently blocked recently.This information is organized into PVS increment or visibility events packet, wherein each packet include for reflect graphic element due to viewpoint from one regard unit Move to another becomes potentially recently visible or sightless information recently depending on unit.In the method, not in real time Generate packet, but using the observability precomputation as viewed from depending on unit and to the associated compression method that encoded of packet to point Group carries out precomputation.Operationally, using based on the speculative prefetching of navigation, packet is prefetched to client rendering apparatus, this base In navigation speculative prefetching by represent model can navigation area in unit set observer current and prediction viewpoint position To drive.Meanwhile, the method for PCT Patent Application the PCT/US2011/042309th includes the interaction for such as video-game The efficient codec of the stream transmission of content.
The codec that PCT Patent Application the PCT/US2011/042309th can also transmit and be not required as interactivity Content.In the use of this codec, camera position and direction are not controlled by user mutual, but by one or The camera motion path of more scriptings is determining.The method enables codec to transmit in the nonreciprocal of scripting Hold, its dynamic effect it is of course possible to include animation feature and other scripting.To apply in this way, this codec is to having Effect ground with routine, the corresponding content of nonreciprocal animation sequence carry out stream process.According in PCT Patent Application PCT/ Described in detail in US2011/042309, this codec can be transmitted using less bandwidth for generate have very high The correspondence image sequence of resolution information, with using codec based on image(As MPEG-4 or OnLive company makes Real time imaging compression method)Directly to transmit this image sequence.
Such as wired and STC Satellite Television Corporation broadband digital service supplier is seeking can use for increasing always The method of the inner capacitiess of available bandwidth transmission.Unidirectional by the camera motion path drives of previously described scripting when transmitting During data flow, the codec that PCT Patent Application the PCT/US2011/042309th can be used in transmission and conventional fine definition Video identical entertaining story, vision and audio experience, and be with the little bandwidth transmission of the bandwidth than video.
Great majority adult does not play such as mission calling-modern war 2(Call of Duty Modern Warfare2), thorn Objective creed(Assassin’s Creed), crysis(Crysis), Bioshock 2(Bioshock2)Modern shooting or dynamic Play games.But the game of these types is often able to provide entertaining story, vision and audio experience, this attraction one is big The old adult of group enjoys viewing.But in their pure game form, this content be frequently necessary to too many interaction and Play the next one " grade " that game or be even into plays or plot may become fatigue.
Accordingly, it is desirable to provide following effectively content delivery method:The method provides routine, non interactive or passive High definition video is experienced, and provides the interaction in passive experience and the similar game of similar video as required for observer simultaneously The option of the switching between experience.
Prefetching is the conventional method of data transfer, its by before being actually needed data in client unit by above-mentioned data It is sent to this client unit in advance to carry out hide latency or improve hit rate.According in copending application PCT Patent Application Point out in visibility events data flow for No. PCT/US2011/042309, reduced using specific forecasting method and be grouped into Reach the probability of delay, this can cause significant observability mistake on the contrary during stream process visualization.
Generally, due to compared with actually used data, inevitably by more data transfers to client list In unit, therefore, either what application, prefetches and all will increase the data volume of stream process.Pei Cao(Cao,P, Application-Controlled File Caching and Prefectching.PhD Dissertation, Princeton University, 1996.1, entire contents are incorporated by reference in the application)Give for typically should With in most preferably prefetch and the rule of cache and algorithm.The active of Cao and conservative prefetching algorithm provide for minimizing The method of the elapsed time of known reference sequence.
Wu et al.(Wu,B.,Kshemkalyani,D.,Object-Greedy Algorithms for Long-Term Web Prefectching,Proceedings of the IEEE Conference on Network Computing and Applications, 2004pp.61-68, entire contents are incorporated by reference in the application)Have developed and prefetch for providing Local solution algorithm, it becomes originally to prefetching using by the bandwidth consumption prefetching the increase causing of long-term generic web pages content The hit rate benefit of increase be balanced.
In 2003, Chim et al.(Jimmy Chim,Rynson W.H.Lau,Hong Va Leong,and Antonio Si,CyberWalk:A Web-Based Distributed Virtual Walkthrough Environment,iEEE TRANSACTIONS ON MULTIMEDIA, VOL.5, NO.4,2003.12, entire contents are incorporated by reference into the application In)Describe to prefetch the basic skills of graphic element during rehearsal application.The Cyberwalk system of Chim et al. is based on observes Person to prefetch Drawing Object with the degree of closeness of object.Chim et al. describes pre- in the case of providing current location in the past Survey three kinds of methods of user's Future Positions.The rolling average based on past position for these three methods, including motion vector in the past Meansigma methodss, window and exponentially weighted moving average (EWMA).These motion forecast methods are not clearly by the speed of motion of an observer Or the restriction of acceleration takes into account, the navigation also not solved in environment limits.The restriction that both types can be adopted comes Increase the predictability of navigation, thus increasing hit rate and/or reducing the bandwidth demand prefetching based on navigation.
The degree of closeness based on observer and Drawing Object for the forecasting method of Chim et al..According to the PCT in CO-PENDING Shown in patent application the PCT/US2011/042309th it is seen that property be than degree of closeness significantly more efficient based on navigation The basis prefetching.This is because the object close to observer actually may be blocked by this observer, and on the contrary, away from The object of observer actually may not be blocked.Being used observability to substitute degree of closeness needs from region as the basis prefetching The reality of observability precomputation seen and exact method, in co-pending PCT Patent Application the PCT/US2011/042309th In define the method.
Content of the invention
In the exemplary embodiment, a kind of method executing on the server, can wash with watercolours for sending to client device The graphical information of dye, this graphical information includes can be seen that from the second vision area and believes from the first vision area at least one figure invisible Breath set.The method determines that viewpoint experiences from described first vision area to the probability of the movement of described second vision area.The method is also Including the transmission when determining that viewpoint experience is more than predetermined threshold from described first vision area to the probability of described second vision area movement At least one graphical information set described, described movement is to be determined according to predetermined motion path.
In the exemplary embodiment, system sends the graphical information that can render, described graphical information to client device Can be seen that and from least one the graphical information set invisible of the first vision area including from the second vision area.This system is included with place The server of reason device, this processor is configured to determine viewpoint experience from described first vision area to the movement of described second vision area Probability.This processor be further configured to when determine viewpoint experience from described first vision area to the movement of described second vision area can Property can be more than at least one the graphical information set described of transmission during predetermined threshold, described movement is true according to predetermined motion path Fixed.This system also includes the described client device for showing at least one graphical information set described.
In the exemplary embodiment, a kind of non-transient computer-readable storage medium being stored thereon with executable instruction Matter, so that this computing device is used for setting to client when by the above-mentioned executable instruction of the computing device in server The method that preparation send the graphical information that can render, described graphical information include from the second vision area can be seen that and in terms of the first vision area not At least one the graphical information set seen.The method includes determining that viewpoint experiences from described first vision area to described second vision area The probability of movement.The method also include when determine viewpoint experience from described first vision area to the movement of described second vision area can Property can be more than at least one the graphical information set described of transmission during predetermined threshold, described movement is to determine according to predetermined motion path 's.
In the exemplary embodiment, a kind of method executing on the server, the method is used for sending out to client device Send the graphical information that can render, described graphical information includes can be seen that and from the first vision area invisible at least from the second vision area Individual graphical information set.The method includes determining that viewpoint experiences from described first vision area to the possibility of the movement of described second vision area Property.The method also includes pre- when determining that viewpoint experience is more than to the probability of the movement of described second vision area from described first vision area Determine during threshold value, to send at least one graphical information set described, described movement is true according to the user input of described client device Fixed.
In the exemplary embodiment, a kind of system sending the graphical information that can render to client device, described figure Shape information includes can be seen that and from least one the graphical information set invisible of the first vision area from the second vision area.This system includes There is the server of processor, described processor is configured to determine that viewpoint experiences from described first vision area to described second vision area The probability of movement.This processor is further configured to when determination viewpoint experience from described first vision area to the shifting of described second vision area Dynamic probability is more than at least one the graphical information set described of transmission during predetermined threshold, and described movement is according to described client The user input of equipment determines.This system also includes the described client for showing at least one graphical information set described Equipment.
In the exemplary embodiment, a kind of non-transient computer-readable storage medium being stored thereon with executable instruction Matter, so that described computing device is used for client when by the above-mentioned executable instruction of the computing device in server The method of graphical information that equipment transmission can render, described graphical information include from the second vision area can be seen that and in terms of the first vision area At least one the graphical information set loseing.The method includes determining that viewpoint experiences from described first vision area to described second vision area Movement probability.The method is also included when determination viewpoint experience from described first vision area to the movement of described second vision area Probability is more than at least one the graphical information set described of transmission during predetermined threshold, and described movement is according to described client device User input determine.
In the exemplary embodiment, a kind of execute on the server for sending, to client device, the figure that can render The method of shape information, described graphical information includes can be seen that and from invisible first graphical information of the first vision area from the second vision area Set, and described graphical information include from described second vision area can be seen that and from the invisible second graph of described first vision area Information aggregate, described second graph information aggregate includes representing the graphical information of advertisement.The method is included when determination viewpoint is from institute Described first graphical information is sent when the probability stating the movement to described second vision area for first vision area is more than predetermined mobile threshold value Set, described movement is to be determined according to predetermined motion path.The method also include when determine viewpoint from described first vision area to The probability of the movement of described second vision area is more than this predetermined mobile threshold value and when the described server of determination is to described client When the maximum available transmission bandwidth of equipment exceedes bandwidth threshold value, send described second graph information aggregate, described movement is Determined according to this predetermined motion path.
In the exemplary embodiment, a kind of system sending the graphical information that can render to client device, described figure Shape information include from the second vision area can be seen that and from the invisible first graphical information set of the first vision area, and described figure letter Breath include from described second vision area can be seen that and from the invisible second graph information aggregate of described first vision area, described second figure Shape information aggregate includes representing the graphical information of advertisement.This system includes the server with processor, and described processor is joined It is set to and send when the probability determining that viewpoint moves to described second vision area from described first vision area is more than predetermined mobile threshold value Described first graphical information set, described movement is to be determined according to predetermined motion path.This processor is further configured to when really Determine viewpoint and move the probability of described second vision area more than this predetermined mobile threshold value and when determination is from institute from described first vision area State server to the maximum available transmission bandwidth of described client device exceed bandwidth threshold value when, send described second graph Information aggregate, described movement is to be determined according to this predetermined motion path.This system also includes being display configured to described first Graphical information set or the described client device of described second graph information aggregate.
In the exemplary embodiment, a kind of non-transient computer-readable storage medium of the executable instruction that is stored with thereon Matter, so that described computing device is used for client when by the above-mentioned executable instruction of the computing device in server The method of graphical information that equipment transmission can render, described graphical information include from the second vision area can be seen that and in terms of the first vision area The the first graphical information set loseing, and described graphical information includes can be seen that from described second vision area and regards from described first Area's invisible second graph information aggregate, described second graph information aggregate includes representing the graphical information of advertisement.The method Send including when the probability determining that viewpoint moves to described second vision area from described first vision area is more than predetermined mobile threshold value Described first graphical information set, described movement is to be determined according to predetermined motion path.The method is also included when determination viewpoint The probability moving to described second vision area from described first vision area is more than this predetermined mobile threshold value and when determination is from described clothes Business device arrives the maximum available transmission bandwidth of described client device when exceeding bandwidth threshold value, the described second graph information of transmission Set, described movement is to be determined according to this predetermined motion path.
In the exemplary embodiment, a kind of execute on the server for client device send be denoted as building The method of the graphical information rendering of the actual environment in modular ring border, described graphical information include from the second vision area can be seen that and from At least one the first graphical information set invisible of first vision area.The method includes receiving data, described data include for Pass on the position of described client device or the information of speed.The method is also included when the described position of determination is from described first vision area The probability changing to described second vision area is more than at least one the first graphical information set described of transmission during predetermined mobile threshold value.
In the exemplary embodiment, a kind of to client device send be denoted as modeling environment actual environment can The system of the graphical information rendering, described graphical information includes can be seen that from the second vision area and invisible at least from the first vision area One the first graphical information set.This system includes the server with the processor being configured to receiving data, described data Including the reception and registration position of described client device or the information of speed.This processor is further configured to when the described position of determination is from institute State the probability that the first vision area changes to described second vision area be more than during predetermined mobile threshold value to client device send described in extremely A few first graphical information set.This system also includes being display configured at least one the first graphical information set described Described client device.
In the exemplary embodiment, a kind of non-transient computer-readable storage medium being stored thereon with executable instruction Matter, so that described computing device is used for client when by the above-mentioned executable instruction of the computing device in server Equipment send be denoted as modeling environment the graphical information rendering of actual environment method, described graphical information include from Second vision area can be seen that and from least one the first graphical information set invisible of the first vision area.The method includes receiving number According to described data is included for passing on the position of described client device or the information of speed.The method is also included when determination institute Rheme is put when the probability changing to described second vision area from described first vision area is more than predetermined mobile threshold value to client device Send at least one first graphical information set described.
In the exemplary embodiment, a kind of execute on the server for sending, to client device, the figure that can render The method of shape information, described graphical information include from the second vision area can be seen that and from the first vision area invisible at least one first Graphical information set, and can be seen that and from the 3rd vision area at least one second graph information aggregate invisible from the 4th vision area. The data that the method is included using receiving from described client device determines that viewpoint changes to described second from described first vision area First probability of vision area, the data of described reception includes the user input of described client device, and described user input is used for controlling Make the viewpoint position of described client device.The data that the method is also included using receiving from described client device determines viewpoint Change to the second probability of described 4th vision area from described 3rd vision area, the data of described reception includes described client device User input, described user input is used for controlling the viewpoint position of described client device.The method is also included with first rate Send at least one first graphical information set described, described first rate is that the function according to described first probability determines. The method also includes sending at least one second graph information aggregate described with the second speed, and described second speed is according to institute State the function determination of the second probability.
In the exemplary embodiment, a kind of system sending the graphical information that can render to client device, described figure Shape information includes can be seen that and from least one the first graphical information set invisible of the first vision area from the second vision area, and from Four vision areas can be seen that and from the 3rd vision area at least one second graph information aggregate invisible.This system is included with processor Server, described processor be configured to using from described client device receive data determine that viewpoint position regards from first Area changes to the first probability of described second vision area, and the data of described reception includes the user input of described client device, institute State user input for controlling the viewpoint position of described client device.This processor is further configured to using from described client The data that equipment receives determines that viewpoint position changes to the second probability of described 4th vision area, described reception from described 3rd vision area Data include the user input of described client device, described user input is used for controlling the viewpoint position of described client device Put.This processor is further configured to send at least one first graphical information set described, described first rate with first rate It is the function determination according to described first probability.This processor be further configured to the second speed send described at least one the Two graphical information set, described second speed is that the function according to described second probability determines.This system also includes being configured Become display at least one first graphical information set described or the described client of at least one second graph information aggregate described Equipment.
A kind of non-transient computer-readable storage media being stored thereon with instruction, when being held by the processor in server So that this processor carries out the method for sending, to client device, the graphical information that can render during the above-mentioned instruction of row, described Graphical information include from the second vision area can be seen that and from least one the first graphical information set invisible of the first vision area and from 4th vision area can be seen that and from the 3rd vision area at least one second graph information aggregate invisible.The method is included using from institute State the data of client device reception come to determine viewpoint position from described first vision area change to described second vision area first general Rate, the data of described reception includes the user input of described client device, and described user input is used for controlling described client The viewpoint position of equipment.The method also includes determining viewpoint position from described the using the data receiving from described client device Three vision areas change to the second probability of described 4th vision area, and the user that the data of described reception includes described client device is defeated Enter, described user input is used for controlling the viewpoint position of described client device.The method also includes sending institute with first rate State at least one first graphical information set, described first rate is determined according to the function of described first probability.The method is also wrapped Include to send at least one second graph information aggregate described with the second speed, described second speed is according to described second probability Function determine.
In the exemplary embodiment, a kind of execute on the server for client device send be denoted as building The method of the graphical information of the actual environment in modular ring border, described graphical information includes can be seen that and from the first vision area from the second vision area At least one first graphical information set invisible.The method include receive include passing on described client device position or The data of the information of speed, the data of described reception is to mate using three-dimensional map to determine, using the described actual environment of expression Described graphical information to carry out described three-dimensional map coupling as described modeling environment.The method is also included when determination institute rheme Put when the probability changing to described second vision area from described first vision area is more than predetermined mobile threshold value and send to client device At least one first graphical information set described.
In the exemplary embodiment, a kind of figure sending the actual environment being denoted as modeling environment to client device The system of shape information, described graphical information include from the second vision area can be seen that and from the first vision area invisible at least one first Graphical information set.This system includes having being configured to receive and includes passing on the position of described client device or the letter of speed The server of the processor of data of breath, mates to determine the data of described reception using three-dimensional map, using expression actual rings The described graphical information in border to carry out described three-dimensional map coupling as described modeling environment.This processor is further configured to when really To client when the probability that fixed described position changes to described second vision area from described first vision area is more than predetermined mobile threshold value Equipment sends at least one first graphical information set described.This system also include being display configured to described at least one first The described client device of graphical information set.
In the exemplary embodiment, a kind of non-transient computer-readable storage medium being stored thereon with executable instruction Matter, so that this computing device is used for setting to client when by the above-mentioned executable instruction of the computing device in server The method that preparation send the graphical information of the actual environment being denoted as modeling environment, described graphical information includes can from the second vision area See and from least one the first graphical information set invisible of the first vision area.The method includes receiving data, described data Including passing on the position of described client device or the information of speed, mate to determine the number of described reception using three-dimensional map According to, be used represent described actual environment described graphical information carry out described three-dimensional map coupling as described modeling environment. The method also includes being more than predetermined shifting when the probability that the described position of determination changes to described second vision area from described first vision area At least one first graphical information set described is sent to client device during dynamic threshold value.
In the exemplary embodiment, a kind of execute on the server for the graphical information to client device The method that is controlled is sent based on prefetching of navigation, described graphical information include from the second vision area can be seen that and from the first vision area At least one graphical information set invisible.The method includes determining first time period, is adjusted in described client device After spending for accessing the described first graphical information set on described client device, described first graphical information set will be Reach during described first time period.The method also includes sending to client device described during described first time period For preventing from navigating to the instruction in described second vision area.
In the exemplary embodiment, a kind of to the graphical information to client device based on navigation prefetch send into Row control system, described graphical information include from the second vision area can be seen that and from the first vision area invisible at least one first Graphical information set.This system includes the server with processor, and described processor is configured for determining the very first time Section, after described client device is scheduled as accessing the described first graphical information set on described client device, institute State the first graphical information set to reach during described first time period.This processor is further configured to described client Equipment sends for preventing from navigating to the instruction in described second vision area during described first time period.This system also includes using In the described client device receiving described instruction.
In the exemplary embodiment, a kind of non-transient computer-readable storage medium being stored thereon with executable instruction Matter, so that this processor is carried out for to client when by the above-mentioned executable instruction of the computing device in server The graphical information of equipment the method that is controlled is sent based on prefetching of navigation, described graphical information includes can from the second vision area See and at least one first graphical information set sightless in terms of the first vision area.The method includes determining first time period, After described client device is scheduled as accessing the described first graphical information set on described client device, described One graphical information set will reach during described first time period.The method also includes sending to described client device to be used In preventing from navigating to the instruction in described second vision area during described first time period.
In the exemplary embodiment, a kind of execute on the server for the graphical information to client device The method that is controlled is sent based on prefetching of navigation, described graphical information include from the second vision area can be seen that and from the first vision area Invisible first graphical information set, and described graphical information include from the second vision area can be seen that and in terms of the first vision area not The second graph information aggregate seen, the level of detail of described second graph information aggregate is less than described first graphical information set Level of detail.The method includes determining first time period, is scheduled as accessing described client device in described client device On described first graphical information set after, described first graphical information set will be arrived during described first time period Reach.The method is additionally included in described first time period and sends described second graph information aggregate.The method is additionally included in described Instruction is sent to described client device, described instruction is included for causing including described second graph information during one time period The instruction rendering of at least one of the viewport area of projection of set fuzzy object.
In the exemplary embodiment, a kind of to the graphical information to client device based on navigation prefetch send into Row control system, described graphical information include from the second vision area can be seen that and from invisible first graphical information of the first vision area Set, and described graphical information include from described second vision area can be seen that and from the invisible second graph of described first vision area Information aggregate, the level of detail of described second graph information aggregate is less than the level of detail of described first graphical information set.Should System also includes the server with processor, and described processor is configured to determine first time period, sets in described client Standby be scheduled as accessing the described first graphical information set on described client device after, described first graphical information set Will reach during described first time period.This processor is further configured to during described first time period send described Two graphical information set.This processor is further configured to send to described client device during described first time period and refers to Order, described instruction is included for causing at least one of the viewport area of projection including described second graph information aggregate mould The instruction rendering of paste object.This system also includes being display configured to described second graph information aggregate and receiving described instruction Described client device.
In the exemplary embodiment, a kind of non-transient computer-readable storage medium being stored thereon with executable instruction Matter, so that this computing device is used for to client when by the above-mentioned executable instruction of the computing device in server The graphical information of equipment the method that is controlled is sent based on prefetching of navigation, described graphical information includes can from the second vision area See and from the sightless first graphical information set of the first vision area, and described graphical information includes can be seen that from the second vision area And from the first vision area sightless second graph information aggregate, the level of detail of described second graph information aggregate is less than described the The level of detail of one graphical information set.The method includes determining first time period, is scheduled as visiting in described client device After asking the described first graphical information set on described client device, described first graphical information set will be described Reach during one time period.The method sends described second graph information aggregate during being additionally included in described first time period.Should Method sends instruction to described client device during being additionally included in described first time period, and described instruction includes right for causing The instruction rendering of at least one of the viewport area of projection including described second graph information aggregate fuzzy object.
In the exemplary embodiment, a kind of execute on the server for sending, to client device, the figure that can render The method of shape information, described graphical information includes can be seen that and from sightless at least first figure of the first vision area from the second vision area Information aggregate and from the 3rd vision area visible and from the first vision area at least one second graph information aggregate sightless.The method Determine that viewpoint position changes to described second from described first vision area including using the data receiving from described client device First probability of vision area, the data of described reception includes the user input for controlling viewpoint position.The method also includes using The data receiving from described client device to determine that viewpoint position changes to the of described 3rd vision area from described first vision area Two probability, the data of described reception includes the user input for controlling viewpoint position.The method is also included according to described second The function of the distance to the guidance path limiting for the vision area to increase described first probability.The method also includes regarding according to the described 3rd The function of the distance to the guidance path limiting for the area to increase described second probability.The method also includes sending institute with first rate State at least one first graphical information set, described first rate is that the function according to described first probability determines.The method Also include with the second speed send described at least second graph information aggregate, described second speed is according to described second probability Function determines.
In the exemplary embodiment, a kind of system sending the graphical information that can render to client device, described figure Shape information includes can be seen that and from least one the first graphical information set invisible of the first vision area with from from the second vision area Three vision areas can be seen that and from the first vision area at least one second graph information aggregate invisible.This system is included with processor Server, the data that described processor is configured to using receiving from described client device determines viewpoint position from described First vision area changes to the first probability of described second vision area, and the data of described reception includes the user for controlling viewpoint position Input.This processor is further configured to determine viewpoint position from described first using the data receiving from described client device Vision area changes to the second probability of described 3rd vision area, and the data of described reception is included for controlling the user of viewpoint position defeated Enter.The function that this process is further configured to the distance according to described second vision area to the guidance path limiting increases described first Probability.This processor be further configured to according to described 3rd vision area to limit guidance path distance function increase described in Second probability.This processor is further configured to send at least one first graphical information set described with first rate, and described the One speed is that the function according to described first probability determines.This processor be further configured to second speed send described at least One second graph information aggregate, described second speed is that the function according to described second probability determines.This system also includes It is display configured to the described of at least one first graphical information set described and at least one second graph information aggregate described Client device.
In the exemplary embodiment, a kind of non-transient computer-readable storage medium being stored thereon with executable instruction Matter, so that this computing device is used for setting to client when by the above-mentioned executable instruction of the computing device in server The method that preparation send the graphical information that can render, described graphical information include from the second vision area can be seen that and in terms of the first vision area not At least one seen the first graphical information set and can be seen that and from described first vision area invisible at least from the 3rd vision area Individual second graph information aggregate.The data that the method is included using receiving from described client device determines viewpoint position from described First vision area changes to the first probability of described second vision area, and the data of described reception includes the user for controlling viewpoint position Input.The method also includes determining viewpoint position from described first vision area change using the data receiving from described client device To the second probability of described 3rd vision area, the data of described reception includes the user input for controlling viewpoint position.The method The function also including the distance to the guidance path limiting according to described second vision area increases described first probability.The method is also Function including the distance to the guidance path limiting according to described 3rd vision area increases described second probability.The method is also wrapped Include and at least one first graphical information set described is sent with first rate, described first rate is according to described first probability Function determines.The method also includes sending at least one second graph information aggregate described, described second speed with the second speed Rate is that the function according to described second probability determines.
Brief description
Fig. 1 shows using the single order pivoting and scan method is formed regarding unit by polygonal mesh object and convex The exemplary process diagram of the general histological structure of wedge shape.
Fig. 2 shows depending on unit and two simple polygonal mesh A and B and two single order wheels in terms of depending on unit Wide side(While A1 and while B1(It is divided into section B10 and section B1V))Exemplary isometric view.
Fig. 3 shows for identification in terms of area(In this case in terms of depending on unit)The showing of the method on single order profile side Example property flow chart.Fig. 3 shows the details of the step 110 in Fig. 1.
Fig. 4 A shows the exemplary of the method for SV-ME support polygon being incident on grid profile side for construction Flow chart.Fig. 4 A gives the additional detail of the process shown in the step 116 of Fig. 1.
It is polygon that Fig. 4 B shows that mesh object M1, two candidates depending on unit and the angle of pivot with each of which support Shape.
Fig. 4 C shows and is formed at single order profile side and regards polygon between unit summit whether as support for determining The exemplary process diagram of polygonal test.
Fig. 4 D1 shows the polygonal exemplary diagram of two grids with consistent summit sequence.
Fig. 4 D2 shows the polygonal exemplary diagram of two grids with inconsistent summit sequence.
Fig. 5 A shows for constructing the method that the SE-MV on incident angle grid profile summit internally scans triangle Exemplary process diagram.
Fig. 5 B is the continuation of Fig. 6 A.
Fig. 5 C shows and is formed at inner corners single order profile summit and depending on the polygon between element sides is for determining The exemplary process diagram of the no test for support polygon.
Fig. 6 A shows for constructing SV-ME and SE-ME wedge according to corresponding SV-ME and SE-ME support polygon The exemplary process diagram of the method for shape.
Fig. 6 B shows the exemplary of the method for constructing SE-MV wedge shape according to corresponding SE-MV support polygon Flow chart.
Fig. 7 A shows the exemplary diagram that convex regards unit and non-convex polygonal mesh, wherein, grid from regarding list The single order profile side that unit sees is illustrated with heavy line, this figure be along from depending on unit towards the general direction of polygonal mesh from the point of view of Perspective view.
Fig. 7 B1 shows the exemplary diagram with the object identical object in Fig. 7 B, but it is along from polygon Grid is towards depending on the perspective view from the point of view of the general direction of unit.
Fig. 7 B2 shows the polygonal meshs different from the polygonal mesh shown in Fig. 7 B1, and shows grid not It is the inside arm of angle on single order profile side.
Fig. 7 C1 shows the exemplary diagram of the support polygon of single order profile side A and B, and it is along from regarding unit court To the perspective view from the point of view of the general direction of mesh object.
Fig. 7 C2 shows single order profile in the support polygon of A and B and corresponding source-mesh of vertices(SV-ME) The exemplary diagram of wedge shape, its be along from depending on unit towards the perspective view from the point of view of the general direction of mesh object.
Fig. 7 C3 is the example of the SV-ME wedge shape that illustrate only the extension on the side according to corresponding support polygon to be formed Property figure.
Fig. 7 D1 shows the exemplary diagram with Fig. 7 C identical object, but this figure is along from mesh object direction Depending on the perspective view from the point of view of the general direction of unit.
Fig. 7 D2 shows the exemplary diagram with Fig. 7 C1 identical object, but this figure is along from mesh object direction Depending on the perspective view from the point of view of the general direction of unit.
Fig. 7 D3 shows the exemplary diagram with Fig. 7 C2 identical object, but this figure is along from mesh object direction Depending on the perspective view from the point of view of the general direction of unit.
Fig. 7 D4 shows and Fig. 7 D3 identical polygonal mesh and depending on unit and showing in single order profile contour Outside angular vertex at intersecting two pivot wedge shapes hiding figures.
Fig. 7 D5 shows hiding with Fig. 7 D4 identical polygonal mesh and the pivots wedge shape regarding unit and restriction Figure, but it is with different visual angles.
Fig. 8 A1 shows the scanning triangle in the inside angular vertex being had by the single order profile side being labeled as A and B (SE-MV support polygon)Exemplary diagram.This figure be along from regarding unit towards polygonal mesh object general direction From the point of view of perspective view.
Fig. 8 A2 shows the scanning triangle in the inside angular vertex being had by the single order profile side being labeled as A and B (SE-MV support polygon)Exemplary diagram with corresponding SE-MV wedge shape.This figure be along from regarding unit towards polygonal mesh Perspective view from the point of view of the general direction of object.
Fig. 8 A3 shows the inside angular vertex total by the single order profile side being labeled as A and B and corresponding SE-MV The exemplary diagram of wedge shape.This figure is along the perspective view from the point of view of depending on unit to the general direction of polygonal mesh object.
Fig. 8 A4 shows the single order wedge shape being incident on A and B of profile side(Including two SV-ME wedge shapes and single SE- MV wedge shape)Exemplary diagram, all wedge shapes be labeled as ICSV inside corner contours apex intersect.This figure is along from regarding list The perspective view to from the point of view of the general direction of polygonal mesh object for the unit.
Fig. 8 B1 shows the exemplary diagram with Fig. 8 A1 identical object, but its be along from mesh object towards regarding list Perspective view from the point of view of the general direction of unit.
Fig. 8 B2 shows the exemplary diagram with Fig. 8 A2 identical object, but its be along from mesh object towards regarding list Perspective view from the point of view of the general direction of unit.
Fig. 8 B3 shows the exemplary diagram with Fig. 8 A3 identical object, but its be along from mesh object towards regarding list Perspective view from the point of view of the general direction of unit.Fig. 8 B4 shows the figure with the object identical object shown in Fig. 8 A4, but comes From along from grid towards the perspective view as viewed from regarding the general direction of unit
Fig. 8 A4 shows that the single order wedge shape being incident on A and B of profile side (includes two SV-ME wedge shapes and single SE-MV Wedge shape) exemplary diagram, all these wedge shapes be labeled as ICSV inside corner contours apex intersect.This figure is along from many Side shape grid is towards depending on the perspective view from the point of view of the general direction of unit.
Fig. 8 C shows the exemplary diagram of the single order shadow edge being incident on A and B of profile side, and it is along from regarding list Unit is towards the perspective view from the point of view of the general direction of mesh object.
Fig. 9 A shows by the Teller of prior art(1992)Be incident on A and B of profile side the one of method construct The exemplary diagram of rank shadow edge, its be along from depending on unit towards the perspective view from the point of view of the general direction of mesh object.
Fig. 9 B shows the exemplary diagram with Fig. 9 A identical object, its be along from mesh object towards regarding unit Perspective view from the point of view of general direction.
Fig. 9 C shows the ratio being produced by this method by the shadow edge of the Teller method generation of prior art more Add the exemplary diagram on full shadow border, this figure be along from depending on unit towards the perspective from the point of view of the general direction of mesh object Figure.
Fig. 9 D shows the exemplary diagram with Fig. 9 C identical object, but its be along from mesh object towards regarding list Perspective view from the point of view of the general direction of unit.
Figure 10 A shows by the shadow edge face being crossed to form of the UBP for some adjacent single order profile sides The exemplary diagram of some additional UBP, this figure be along from depending on unit towards the perspective view from the point of view of the general direction of mesh object.
Figure 10 B is the view with Figure 10 A identical polygonal mesh with regarding unit, but shows the UBP forming PAU Set.
Figure 11 A shows the single order observability being generated with scan method in the case of compound-contoured contour by this pivot Event surface(Wedge shape)Exemplary diagram.
Figure 11 B is the different views with the structure identical structure shown in Figure 11 A.
Figure 12 A shows for identifying that observability in figure has high effectively static barriers(ESO)In terms of depending on unit by The method in the region blocked and conservatively simplify the border being blocked and corresponding grid profile side process example Property flow chart.
Figure 12 B is the continuation of Figure 12 A.
Figure 12 C is the continuation of Figure 12 B.
Figure 12 D shows and hides line chart regarding the 3D of unit and two polygonal meshs.
Figure 12 E shows the axonometric chart identical axonometric chart with Figure 12 D and includes blocked area and corresponding block side The 3D on boundary hides line chart.
Figure 13 A shows the example data structure that labelling profile side method is adopted.
Figure 13 B is the continuation of Figure 13 A.
Figure 13 C is the continuation of Figure 13 B.
Figure 13 D is the continuation of Figure 13 B.
Figure 14 A shows exemplary simple shelter.
Figure 14 B show when when connecting in terms of depending on unit A with depending on unit B by(Figure 14 A's)Simple shelter is formed Exemplary block increment area(DR).
Figure 15 shows the observability figure identical system in terms of region with the unification shown in Figure 14 B in addition to those described in the following The one observability figure in terms of region:The part outside positioned at " blocked area is depending on unit B " of " blocked area is depending on unit A " is marked as DROBA(The increment area blocked from B to A)And DREAB(The increment area of the exposure from A to B).
Figure 16 A shows and comes the side of contour identification contour and the method on summit using the data structure of labelling profile contour Exemplary process diagram.
Figure 16 B is the continuation of Figure 16 A.
Figure 17 A shows for being identified from the poor visibility increment area depending on unit A to the transition depending on unit B The exemplary process diagram of method.
Figure 17 B is the exemplary continuation of Figure 17 A.
Figure 16 A shows and comes the side of contour identification contour and the method on summit using the data structure of labelling profile contour Exemplary process diagram.
Figure 16 B is the continuation of Figure 16 A.
Figure 17 A shows for being identified from the poor visibility increment area depending on unit A to the transition depending on unit B The exemplary process diagram of method.
Figure 17 B is the exemplary continuation of Figure 17 A.
Figure 17 C is the exemplary continuation of Figure 17 B.
Figure 17 D is the exemplary continuation of Figure 17 C.
Figure 18 A shows and rapidly operationally to construct observability using the labelling profile contour information of single contour The exemplary process diagram of the method for figure Ouluding boundary section.
Figure 18 B is the continuation of Figure 18 A.
Figure 19 A shows and constructs the observability figure Ouluding boundary section deriving from the single profile side of labelling profile contour The exemplary process diagram of method.
Figure 19 B is the continuation of Figure 19 A.
Figure 20 shows and constructs observability figure to using the ROI border of the labelling profile contour construction according to pre-stored The exemplary process diagram of the process being controlled is processed, wherein ROI borders are demarcated and traveled through the simplification of ROI during the operation of ROI , hint, run when 3D trellis traversal process.
Figure 21 be using simplifying, hint, 3D trellis traversal is processed come according to the labelling profile of pre-stored week when running The main process task to construct ROI for the seed triangle list of the coupling assembly of line information and ROI.
Figure 22 show by with the specific grid elements recently the exposed corresponding increment G+ sub-grid depending on unit transition It is attached to the exemplary process diagram of the method for beginning boundary of corresponding labelling profile contour.
Figure 23 shows the exemplary diagram of the impact of the ability exposing the time to human subject's resolve spatial detail.
The content stream that Figure 24 A shows to the visibility events packet of the data including rendering is controlled The exemplary process diagram of method.
Figure 24 B shows and controls visibility events using the two-way communication between client unit and server unit Block diagram/the flow chart of the further details of the method for data flow.
Figure 25 A shows the example of the vertical view orthograph of the modeling environment including motor and two buildings of billboard Property figure, its be hide line chart.
Figure 25 B shows the exemplary diagram with identical modeling environment shown in Figure 25 A, but is perspective view.
Figure 26 A shows the vertical view orthograph with Figure 25 A and identical modeling environment shown in Figure 25 B and includes regarding The exemplary diagram of cell array.
Figure 26 B shows the exemplary diagram with Figure 26 A identical modeling environment, but is perspective view.
Figure 26 C shows the vertical view orthograph with Figure 26 A identical modeling environment and includes two exemplary phases The exemplary diagram of machine/viewpoint motion path, by the camera of a scripting/regard wherein under the interactive controlling of client user Point motion path changes to camera/viewpoint motion path.
Figure 26 D shows the perspective view with Figure 26 C identical modeling environment and includes two exemplary camera/viewpoints The exemplary diagram of motion path, by the camera of a scripting/viewpoint motion wherein under the interactive controlling of client user Path change is to camera/viewpoint motion path.
Figure 26 E show the identical perspective view with Figure 26 D identical modeling environment and include three exemplary camera/ The exemplary diagram of viewpoint motion path, by the camera/viewpoint of a scripting wherein under the interactive controlling of client user Motion path changes to camera/viewpoint motion path, and third camera/viewpoint motion path realize from reciprocal motion path to The resynchronisation of pre- script motion path.
Figure 27 A shows and carries out observability for transmission for the interaction content of uncoded data and to client unit Block diagram/the flow chart of the method for event code.
Figure 27 B1 shows the work including the visibility events precomputation work for being completed by client unit The figure of the illustrative embodiments of data structure of instruction.
Figure 27 B2 shows including for being completed and sent to the visible sexual behavior of server unit by client unit The figure of the illustrative embodiments of the data structure completing operational data of part precomputation.
Figure 27 B3 show including to specifically the completing of the visibility events precomputation that completed by client unit The figure of the illustrative embodiments of the data structure of information that job sharing corresponding employee's card explicit order board is described.
Figure 28 A shows relative in the function as the available transmission bandwidth between server and client unit Exemplary process diagram to the method that visibility events packet is encoded on level of detail.
Figure 28 B shows on the relative level of detail as the function rendering performance of client unit to visible The exemplary process diagram of the method that property event packets are encoded.
Figure 28 C shows depending on the available transmission bandwidth between server and client unit to as direct geometry Represent or parameter represent visibility events packet encoded method exemplary process diagram.
Figure 29 shows the visibility events to institute's cache and the PVS data being stored in client unit The exemplary process diagram of method that is controlled of amount.
Figure 30 shows the observability to the instruction including geological information, texture information or generation geometry or texture information Event packets carry out the exemplary process diagram of the method for stream process, and wherein visibility events information represents in broadcast stream process interaction Advertisement during the low bandwidth request time section of media data flow and targeted advertisements.
Figure 31 shows the observability to the instruction including geological information, texture information or generation geometry or texture information Event packets carry out the exemplary process diagram of the method for stream process, and wherein visibility events information represents completely interactive visible sexual behavior Advertisement during the low bandwidth request time section of part data flow and targeted advertisements.
The instruction that Figure 32 A shows to geometry or texture information or generation geometry or texture information carries out the side of stream process Method, wherein above- mentioned information or instruction represent wide during interactive media data flow is carried out with the low bandwidth request time section of stream process Accuse and targeted advertisements, and show the example of the advertisement/cache warehouse information information passing in and out single Website server Block diagram/the flow chart of property transmitted in both directions.
Figure 32 B is the continuation of Figure 32 A.
Figure 33 A is to geometry or texture information or the instruction that generates geometry or texture information carries out the showing of method of stream process Example property block diagram/flow diagram, wherein above- mentioned information or instruction represent using based on by under the interactive controlling being in client user Viewpoint motion drive visibility events data based on navigation pre- fetching stream process are carried out to visibility events data Advertisement during low bandwidth request time section or targeted advertisements.
Figure 33 B is the continuation of Figure 33 A.
Figure 34 shows a kind of embodiment of the visibility events codec being integrated into game engine software module Block diagram/flow chart.
Figure 35 A shows visibility events content server and single visibility events advertisement or will broadcast in SIM Hold the block diagram/flow chart being delivered to multiple client unit with unique objects advertisement or cache Warehouse object.
Figure 35 B shows the block diagram/flow chart of the identical visibility events content server shown in Figure 35 A, But it is with different modes of operation, wherein have selected one of client unit to receive complete interactive content stream and still to connect Receive targeted advertisements object or cache Warehouse object.
Figure 35 C shows for from visibility events decoder-uniquely fully interactive interactivity can for server reception See that sexual behavior part content stream is carried out method that the user of visibility events client [1] is charged and changing and shown for transmission Cache Warehouse object carrys out the block diagram/flow chart of the method to client user's imposition of surcharge.
Figure 36 A shows in the case of the current state of given current view point position and speed and vector acceleration Determination will wear the exemplary process diagram of the technology of the probability of fluoroscopy units.
Figure 36 B be the adjacent surface regarding unit representing for the finite aggregate of relatively viewpoint speed vector connect regarding unit The look-up table of penetration probability exemplary sublist.
Figure 37 shows and adaptively applies, in the possible period that delays to reach, the exemplary stream of the method limiting that navigates Cheng Tu.
Figure 38 show when actual view is located on or near driveway or other path by preferably prefetch with Being grouped reducing visibility events depending on the corresponding VE of unit/navigation elements on above-mentioned path(VE)The band of packet stream process The exemplary process diagram of the alternative method of wide demand.
Figure 39 A shows and applies navigation restriction to prevent from postponing the exemplary process diagram that packet reaches, and wherein, is applied Navigation limit with the virtual representation of concealed loss and restriction of navigating is led to by this concealed loss.
Figure 39 B1 be accordingly illustrate to client user postpone visibility events packet reach probability represent hidden The exemplary diagram of shape instrument.
Figure 39 B2 show to client user postpone that the probability that visibility events packet reaches represents using coherent The exemplary diagram of property instrument.
Figure 40 A shows corresponding with the visibility events packet of institute's cache of the first Current camera/viewpoint position The exemplary modeling environment regarding unit overlook orthograph.
Figure 40 B shows corresponding with the visibility events packet of institute's cache of the second Current camera/viewpoint position The exemplary modeling environment regarding unit overlook orthograph.
Figure 40 C shows the exemplary isometric view of the same object of Figure 40 A.
Figure 40 D shows the exemplary isometric view of the same object of Figure 40 B.
Figure 40 E is the identical axonometric chart shown in Figure 40 D, and include representing reduce can be navigational hacures ground Area.
Figure 40 F is the identical axonometric chart of the identical modeling environment shown in Figure 40 E, but does not have the obstruction shown in Figure 40 E The area of navigability and show different visibility events cache warehouses.
Figure 41 is showed and is stored visibility events subgroup using DeltaGplussubmesh example data structure Data structure exemplary diagram.
Figure 42 A shows the exemplary flow of the modification of the method that each visibility events is divided into subgroup Figure, wherein each subgroup includes becoming visible graphic element corresponding depending on unit transition period(For example, polygon and stricture of vagina Reason element)Particular subset.
Figure 42 B shows by being used for all available visibility events streams and process resource when the shortest possible The exemplary process diagram of the interior method completing the PVS when forward sight unit.
Figure 43 shows to be grouped in prediction lag and reaches the observability sending the level of detail reducing under present case The server process of event information and the figure rendering the level of detail that this reduces using fuzzy filter or fuzzy object Block diagram/the flow chart of the client process of information.
Figure 44 show visibility events server send under the pattern that prefetches with father-father regard unit transition corresponding and Including labelling profile contour(Or the Ouluding boundary information being stored)The visibility events packet being used by client process with Generate sub- PVS data;And identical visibility events server under demand model using labelling profile contour information(Or hide Gear boundary information)To generate less sub- PVS or PVS increment groupings and to transmit the block diagram/stream of above-mentioned smaller packet Cheng Tu.
Figure 45 A shows the block diagram/stream of the additional detail of decoder-server process that figure 44 illustrates Cheng Tu.
Figure 45 B shows the block diagram/flow process of the additional detail that figure 44 illustrates decoder-client process Figure.
Figure 46 shows the block diagram/flow chart of the forecasting method based on navigation of visibility events data, its In to prefetch be that client unit position by true environment to drive, this position is by GPS(Or other positioning form)Determine Or to be calculated by 3D map-matching method.
Even if Figure 47 shows safeguards visibility events number by it when the communication linkage with master server is lost Exemplary process diagram according to the process of stream.
Figure 48 obtains 3D data to the scouting assets vehicle of deployment, by this data transfer before showing in actual environment To visibility events encoder and based on attacking movement in actual environment for the assets come by coded visibility events number According to stream process to block diagram/flow chart that is belligerent or attacking assets.
Figure 49 A shows the three dimensional representation obtaining actual environment and this is denoted as visibility events data is activation Exemplary isometric view to two scouting assets to be encoded for the encoder.
Figure 49 B shows and receives the visibility events data flow representing actual environment and in the height for autonomous navigation Imitate the exemplary stereo of the autonomous navigation/attack assets using this visibility events data in 3D map match SLAM solution Figure.
Figure 50 shows example processor figure.
Specific embodiment
Subject description discloses to inclusion PVS increment or visibility events packet(Comprising geometry, texture and other can Render graphical information)The content stream method that is controlled and utilizes.This visibility events data is by decoder-server process Receive and be processed into the PVS of precision controlling to transmit and by decoder-client(It can be seen that entity sets).Obtained PVS data to be rendered effectively by the process that renders being associated with client unit.In the environment of this specification, can render Graphical information includes 3D graphic primitive, and it includes polygon and other face, renders process and is looked unfamiliar according to these polygons and other Become image information.
In some embodiments, using such as disclosed in the following documents Conservative Linear shadow event surface:Topic For " System and Method of From-Region Visibility Determination and Delta-PVS Based Content Streaming Using Conservative Linearized Umbral Event Surfaces” PCT Patent Application the PCT/US2011/042309th(Entire contents are merged in the application by application), from region Adopted visibility events packet is generated in the coded treatment of the method for observability precomputation seen.
In the exemplary embodiment, term refers to be expressed as the polyhedron of polygonal mesh depending on unit or vision area, its Describe to limit the region of viewpoint.Unless otherwise noted, otherwise assume in this manual to regard unit and vision area as convex.Permissible Parallelepiped will be limited to depending on unit, without necessity, vision area so be limited.
In the exemplary embodiment, term PVS(It can be seen that entity sets)Refer to from the polygon that can be seen that depending on unit or The set of polygonal segmentation.Usually, PVS is calculated as conservative, divides including the whole polygons or polygon that can be seen that Section and some sightless polygons or polygon segmentation.
In the exemplary embodiment, term wedge shape(Referring further to CLUES)Refer to by the feature regarding unit(Summit or side) Polygonal summit or side are come the visibility events surface to be formed with grid.Usually, wedge shape limits in terms of the feature depending on unit Observability, and pass through the polygonal summit of grid or side.
The wedge shape that the prior art of discontinuity gridding is adopted is accurate.These sides can be plane or secondary song Face.Plane wedge described in discontinuity grid document has two types, bears the same name as follows:
1)SV-ME wedge shape is by regarding unit(Or " source ")Summit and grid side constitute.Also referred to as pivot wedge shape or prop up Support point wedge shape.
2)SE-MV wedge shape is constituted by depending on the side of unit and the summit of polygonal mesh.Also referred to as scanning wedge shape or support Side wedge shape.
3)SE-MV wedge shape is formed under the particular case parallel with when supporting regarding unit profile in grid profile.
Orthographic projection is assumed in these definition(That is, it is used regarding unit as light source).In back-projection approaches, using profile side or The section on profile side is as " source ", and supports back projection event surface during each profile in axle between depending on unit for the source.Remove Outside this, above-mentioned definition is identical for back projection situation.
Wedge shape due to adopting in discontinuity gridding is generally used for the assembly of identification source penumbra, thus they construct Be referred to as the profile in terms of depending on unit while relatively great amount of polygonal mesh while.
Because plane wedge used in discontinuity gridding is accurate event surface, thus many from wedge shape Side shape grid search-engine look wedge shape regarding element characteristic(Summit or side)Them are not limited on the region being blocked.Wedge shape should It is limited in plane event surface and create " gap " so that surface is discontinuous.In complete discontinuity gridding method, make Fill above-mentioned gap with the high-order visibility events surface that can be quadratic surface wedge shape.Filled out using these high-order event surfaces Fill with and state gap, thus obtaining generally contiguous visibility events surface.
Embodiment is also using plane in terms of feature(planar from-feature)Event surface and Conservative Linear Shadow event surface(CLUES), plane wedge that CLUES adopts with discontinuity gridding similar still in important side Face is different from these wedge shapes.
Plane wedge and CLUES used in discontinuity gridding(It is also referred to as single order wedge shape in this manual, or It is simply referred as wedge shape)Between a difference be:The wedge shape that this method is adopted is only the moon that can be formed in terms of depending on unit Those wedge shapes on shadow event surface, do not consider penumbra event itself in the observability in terms of depending on unit.The wedge shape structure of this method Make on less polygonal mesh side(Referred to as single order profile side)On, and use the pivot only generating potential shadow event wedge shape Turn to construct these wedge shapes with scanning technique.This means that the quantity of the wedge shape constructing in the method is far less than do not connecting The quantity of the wedge shape generating in continuous gridding.
Another difference between discontinuity gridding wedge shape and the wedge shape of this method is:Only special regarding unit using wedge shape The wedge shape to limit and to construct the present invention for the polygonal mesh feature of wedge shape of seeking peace.Omit between this two features any between two parties Geometric figure.
This wedge configuration method visible is spread through sex intercourse based on guarantee to construct in conservative, the polyhedron environment of continuous shadow edge First order modeling.
In fact, geometric figure may cause following region between two parties:For this region, depending on element characteristic from polygonal mesh Feature is seen and is blocked.These regions are following wedge areas:Wherein, do not limit corresponding discontinuity grid wedge shape(Thus, Gap or discontinuity is produced in event surface generally by high-order wedge shape or quadratic surface filling).Several between two parties by omitting this What figure, this method is configured to limit the wedge shape on continuous events surface very close to each other.Because the wedge shape of this method is to pass through The high-order omitting the type blocks to construct, so they conservatively represent actual shadow event surface in terms of feature. For without geometric wedge area between two parties, it is accurate by the wedge shape that this method constructs.
In the inaccurate region of wedge shape, alternatively, this wedge shape can be by using improved wedge configuration method construct Other wedge shapes, to replace, which solve and are blocked by the high-order that geometric figure between two parties causes.
This method includes three types(Single order)Wedge shape:
1)SV-ME wedge shape is formed by extending the polygonal side of corresponding pivot support.Corresponding pivot support is many When shape passes through the single order profile from polygonal mesh to the pivoting regarding unit by the support summit regarding unit(SVV)And side The single order profile side of shape grid is formed.Pivot support polygon is also referred to as SV-ME support polygon or summit support polygon.Should The visibility events surface of type reflects in the closure at the point on unit and by grid(Profile)While blocking.Also referred to as For pivoting wedge shape.Pivot is processed(pivoting process)It is described as following process:To single order profile side with regarding unit it Between supporting plane be identified.Although this process to look like in people persistently pivoting directly around profile side to the reality of plane To it touches regarding unit, but in fact, embodiment can be to by each candidate's supporting plane(By corresponding regarding list First summit is formed)The specific walk-off angle being formed with another polygon measures.Compared with these angular measurements, implement a kind of The support polygon of reality can be determined from substantial amounts of candidate's support polygon in mode.
2)SE-MV wedge shape is passed through to extend corresponding scanning support polygon(Also referred to as sweep polygon or side support Polygon)Side being formed, scanning support polygon is by along supporting the support between the SVV of adjacent SV-ME wedge shape to regard Unit profile contour(SVSC)Scan process many by the support being formed regarding the support edge of unit and inner corners grid profile summit Side shape.The visibility events surface reflection of the type is limited in(Inner corners)Grid profile apex regarding unit(Border)Side On closure.SE-MV wedge shape also referred to as scans wedge shape.
3)SE-MV wedge shape is only supporting depending on the element sides in particular cases shape parallel with the grid profile side being supported Become.It is formed at parallel support by extending depending on the corresponding SE-ME support between element sides and the grid profile side being supported Polygonal side is forming.Different from other types of plane wedge, the determination to observability in the wedge shape of SE-ME wedge shape is one Individual in terms of region rather than from from the point of view of visibility problem.The visibility events surface reflection of the type regards unit(Border)Side The closure at place and grid(Profile)The blocking of side.
Another between wedge shape and the wedge shape using in the present invention used in the discontinuity gridding of prior art One important difference is:In the method, using the single order wheel being limited to occur in by the profile summit in wedge shape in terms of depending on unit Conservative approach on wide side, to determine the observability in wedge shape.Which ensure that the profile summit in each wedge shape is compound-contoured Summit(CSV), two wedge shapes(One corresponds to current wedge shape)Intersection point.On the contrary, in the discontinuity gridding of prior art In method, be usually used as Weiler-Atherton algorithm from from the point of view of entity space observability method to be accurately determined Observability in wedge shape.
In the exemplary embodiment, term pivots wedge shape and refers to by extending what the polygonal side of pivot support was formed SV-ME wedge shape.
In the exemplary embodiment, term CLUES(Conservative Linear shadow event surface)(Referring to wedge shape)It is to instigate Another title of the single order hatched wedges being constructed with pivot and the scan method of the present invention.Can redefine these wedge shapes with Reflect that high-order observability interacts using the back-projection approaches of the present invention.
In the exemplary embodiment, term shadow edge polygon(UBP)Refer to as the umbra volume in terms of depending on unit The polygon of a long-pending part.In the method, it is possible to use according to corresponding(Single order)The conservative UBP that wedge shape derives carrys out structure Make the shade volume in terms of depending on unit(Referred to as polyhedron polymerization shade, or PAU).
The wedge shape that this method is adopted is the shadow event surface in terms of depending on element characteristic, and it is ensured of to be only located to support and is somebody's turn to do The shadow event surface in terms of depending on unit tightly in the vicinity on the grid profile side of wedge shape(In terms of entirely depending on unit).This is because This wedge shape can be come in the way of the shadow edge in terms of depending on unit is limited in wedge shape with another beyond support profiles side Wedge shape intersects.In other words, from being supported the wedge shape itself that tangentially can be seen that in terms of depending on element characteristic can become to regard from this The other parts of unit can be seen that.
High-order UBP can be constructed according to corresponding high-order wedge shape.
In the exemplary embodiment, term polygonal mesh refer to connect summit, while and by summit and while formed Face(Also referred to as polygon)Finite aggregate.If the two of grid polygons intersect, the side of cross-shaped portion or summit are necessarily The assembly of this grid.Face is not allowed to penetrate mutually.Also referred to as polygonal mesh object, triangular mesh or referred to as grid.As Each side of fruit grid is had by most two polygons, then this grid is manifold polygonal mesh.If each side just by Two faces have, then this grid is to block manifold polygonal mesh.Unless otherwise noted, in this manual it is assumed that polygon Grid is to block manifold grid.
In the exemplary embodiment, profile side in terms of region for the term(Profile side also commonly referred to as in terms of region)It is With respect to such as be used as light source regarding unit(Or the polygonal mesh side in the case of back projection)Region defining.If should Position is regarding unit, then from the profile in terms of region when being referred to as the profile in terms of depending on unit.If this region is side, From the profile in terms of region while can be referred to as from while in terms of profile side.In this manual, can be by any types(From from the point of view of, In terms of depending on unit, in terms of side)Profile in referred to as profile, wherein the type on profile side to be implied by context.
General profile side in terms of depending on unit is polygonal mesh, conduct for regarding unit(Or area source)On any Point from from the point of view of profile while any while.This is Nierenstein et al. 2005 and Drettakis et al. 1994 Completely using the definition on the profile side in terms of depending on unit in discontinuity gridding method.
In general, such side supports the penumbra event surface in terms of region, but subset actually supports usually Quadric shadow event surface in terms of region.
When considering the high-order observability interaction of side tlv triple, the profile side in terms of region can be accurately defined.Can replace Dai Di, such as in the method, can by only consider due to side match between interaction and the visibility events surface that produce Lai Conservatively limit the profile side in terms of region;As in the visible single order observability model spreading through sex intercourse.
In the exemplary embodiment, term single order profile is when referring to the single order profile in terms of depending on unit(Can also letter Referred to as single order profile side), it is the side of following polygonal mesh:This polygonal mesh has the back side in the face of entirely regarding the one of unit Individual other constituting at least one summit that should regard unit faced by polygon and front constitutes polygon, wherein composition polygon Relative to each other faced by the back side.
Based on the visible simply conservative model spreading through sex intercourse being referred to as single order observability in polyhedron environment, it only examines this definition The visibility events surface interacting and causing between considering due to side pairing.
One embodiment of the present invention is employed as the polygonal mesh of manifold triangular mesh.In manifold triangle In grid, each side is had by two trianglees just completely.To simplify single order profile side by using manifold triangular mesh Explanation.
Polygonal mesh is polygonal mesh with respect to the local regarding unit with respect to the single order profile side depending on unit Support edge.If only considering to regard two composition polygons on unit and total local support side in supporting test(Triangle), Then this while support this regard unit and this while between polygon(Referring to the definition supporting test).
Usually, single order is accurately little when being the profile in terms of region of any polygonal mesh from the profile in terms of region Subset.
In this manual, can be by any types(In terms of depending on unit, in terms of side)Single order profile side be referred to as single order Profile side, or referred to as profile side, and the type on profile side is then implied by context.
In the exemplary embodiment, term single order observability(The also referred to as visible first order modeling spreading through sex intercourse)Refer to from area The visible model spreading through sex intercourse that domain is seen, in the model, the shadow event surface in terms of region is incident on(Single order)Visible one On rank profile side and(Using pivot and scan method)Shadow event surface in terms of region for the construction, it assumes whole vision area (For example, depending on unit)Can be seen that from this single order profile side.
It can be seen that the first order modeling spreading through sex intercourse is based on the simplification to following conservative hypothesis:If profile side is from can depending on unit See, then this profile side can be seen that depending on all parts of unit from this.This hypothesis draws the simplification definition on single order profile side, is determined Justice is with following:For these sides, triangle back side in the face of the institute on unit a little, and other is constituted Triangular face in the face of should regard unit at least one point, in addition these triangle each other not faced by.This definition is actual Upper with from from the point of view of profile side definition identical and reflect following facts:First order modeling actually will in some importances It is considered as viewpoint depending on unit.
In the exemplary embodiment, term support polygon refers to by the support polygon of two structures " support ".? In this method, in one case, the single order profile side of polygonal mesh and be by single order depending on the support polygon between unit Profile side and the summit depending on unit are formed(SV-ME support polygon).This polygonal summit of support depending on unit is referred to as propping up Support regards unit summit(SVV).Support can be identified by pivoting the back side on profile side regarding single in the face of constituting polygonal plane First summit, the back side wherein this side around this profile edge is straight towards pivoting regarding unit in the face of constituting polygonal normal direction To support polygon plane with intersecting depending on unit.Generally, this intersecting appearing in supports regarding unit apex, Support the support polygon forming triangle depending on unit summit together with single order profile side.If supporting depending on unit summit is regarding list Summit while parallel for the profile with grid of unit, then pivot plane can intersect with this side depending on unit and be not only with singly Individual summit is intersected, and support polygon is by for by grid profile side and the intersecting tetragon being formed regarding element sides.This second The support polygon of type is referred to as SE-ME support polygon.
In the other case of this method, single order profile while inside angular vertex from depending on unit while between formed different The support polygon of type(SE-MV support polygon, also referred to as support triangle shape).
In the context of the present invention, support polygon is conservatively defined to by single order profile side(Also referred to as local Support side), or its summit and corresponding to support depending on unit, ignore single order profile side and block depending on any between unit or dry Disturb.Limited according to the present invention, if support polygon intersects with single order side with depending on the geometric figure between unit, according to Definition of the prior art(If such interference exists, it does not typically allow to define support polygon), this support is polygon Shape is not support polygon.
According to definition of the prior art, if the summit of the summit by a structure for the polygon or side and another structure Or side is supported and do not intersected with any structure, then this polygon can be by " supporting test " between two structures(That is, it is to support Polygon).This support test also requires supported object by support polygon away from first(For example, depending on unit)Direction on Extension(For example, this extension is " wedge shape ")Also not as follows with this another by supporting construction(For example, polygonal mesh) Intersecting:This lies along another " inner side " by supporting construction(For example, in the topology " inner side " of manifold grid).This support Test requires support edge to be structure effectively(For example, polygonal mesh)" outside " side, the structure with such as polygonal mesh , tangentially do not support support polygon with this structure " inner side " while or contrary, " outside " side of this structure general during reflection Tangentially support support polygon with this structure.
In the method, by whether supporting between unit and grid on the side being had by polygon determining grid Conservative support polygon(That is, this when whether being " local support " or single order profile side, referring to single order profile side and local support The definition on side)When only by have this side polygon be included in the way of more limited come using this support test.
Guard definition in the basis emphasizing support polygon and distinguish the difference and the prior art definition of support polygon between In the case of, can be by referred to as conservative for the support polygon defining according to present invention support polygon.Otherwise, will in the present invention The conservative support polygon of definition is referred to as support polygon.
According to definition in the present invention, according to(Conservative)The wedge shape that support polygon is derived always is formed can be with grid The continuous Conservative Linear shadow event surface that polygon intersects, conservatively to determine from the grid polygon that can be seen that depending on unit (Or its fragment)Set, accurately solve without generally leading(With make accurately to solve complication)Quadratic surface.
In the exemplary embodiment, guard support polygon with regard to term, referring to above-mentioned term support polygon.
In the exemplary embodiment, term supports test to refer to:If polygon is by the summit of a polygonized structure Or while and another polygonized structure summit or while support and do not intersect with any other structure, then this polygon can by this two " supporting test " between individual structure(That is, it is support polygon).Test is supported also to require support polygon away from the first quilt Support object(For example, depending on unit)Direction on extension(For example, this extension is " wedge shape ")Also not as follows with another Individual by supporting construction(For example, polygonal mesh)Intersecting:This lies along another " inner side " by supporting construction(For example, it is located at In the topology " inner side " of manifold grid).This support test requires support edge to be structure effectively(For example, polygonal mesh)'s " outside " side, structure, tangentially do not support support polygon with this structure " inner side " side with such as polygonal mesh Or reflection side is contrary, " outside " side of this structure will tangentially support support polygon with this structure.
In the method, by whether supporting between unit and grid on the side being had by polygon determining grid Conservative support polygon(That is, this when whether being " local support " or single order profile side, referring to single order profile side and local support The definition on side)When only by have this side polygon be included in the way of more limited come using this support test.
Guard definition in the basis emphasizing support polygon and distinguish the difference and the prior art definition of support polygon between In the case of, can be by referred to as conservative for the support polygon defining according to present invention support polygon.Otherwise, will in the present invention The conservative support polygon of definition is referred to as support polygon.
In the exemplary embodiment, term supports and regards unit profile contour(SVSC)Refer to the inside from grid profile side The part of the most extreme shadow edge of generation that angular vertex is seen, regarding unit profile contour.SVSC is interior from passing through regarding unit profile Depending on the minimum part blocked of generation of unit profile contour when portion angle grid profile summit is seen.SVSC is still when standing scan operation When produce the contour of SE_MV wedge shape, SE_MV wedge shape is had with the SV-ME wedge shape being connected and is consistently oriented and is formed continuous table Face.Support and regard the extension between corresponding two SVV in grid profile side of the internal angular vertex of generation of unit profile contour.
SE-MV wedge shape was made by depending on comprising on elemental area(containment)Can come to reflect grid profile apex The orientation visibility events surface that opinion property limits.
On the contrary, SV-ME wedge shape is by mean of being caused on profile side by grid polygon(In terms of depending on unit)Block The orientation visibility events surface that observability at reflection grid profile side limits.
SVSC is to produce the corresponding SE-MV wedge shape with the orientation consistent with the orientation of adjacent S V-ME wedge shape(From grid Profile side is seen)Set depending on unit profile side;Thus produce in grid profile apex continuously guarding the shade being consistently oriented Event surface.
Triangle is scanned for term, referring to sweep polygon.
In the exemplary embodiment, term sweep polygon(Also referred to as scanning support polygon or scanning triangle)It is Refer to be located at the non-convex angle of departure on the single order profile side of polygonal mesh(Or " inner side ")Place visibility events border, its not only by Extend to be formed by those support polygons that the profile side constituting inner corners supports, but also can be by as different types of One or more sweep polygons of support polygon are formed, and wherein, these support polygons are formed at grid profile side Internal angular vertex with depending on unit as the inside corner contours summit from mesh object visual angle to be seen as from from the point of view of the profile that goes While some while between.Depending on unit these from from the point of view of the profile side gone the corresponding SVV of the inside arm of angle with mesh object it Between formed contour chain(Extreme or support regards unit profile contour).Polygon " is scanned " on each side for this chain(Triangle), Thus forming sweep polygon.The side of these sweep polygons is extended to form SE-MV or scanning wedge shape, SE-MV or Scanning wedge shape also facilitates the single order visibility events surface at the inner corners of grid profile contour.
In the exemplary embodiment, term scans wedge shape and refers to by extending what the side of scanning support polygon was formed SE-MV wedge shape.
In the exemplary embodiment, term simple profile contour refers to by the total summit belonging to single mesh object even The profile side chain connecing.Also referred to as simple contour.
In the exemplary embodiment, term compound-contoured contour refer to be connected by total summit or by pushing up as follows The profile side chain on the profile side that point connects:These summits are by the phase on wedge shape/UBP and non-adjacent profile side from a contour Hand over and formed.In the research to smooth manifold, by this intersecting referred to as t joint(Referring to Durand, Fredo in Grenoble Doctor's thesis of university).
In the exemplary embodiment, also term T joint is referred to as compound-contoured summit(CSV), referring to compound-contoured week Line.
In the exemplary embodiment, term CSV(Compound-contoured summit)Refer to the intersection point of wedge shape and profile side.For one Rank is implemented, and wedge shape is single order wedge shape and profile when being single order profile.From the aspects of topology, CSV and answering in terms of region Close the t vertex correspondence of the conservative restriction of profile contour.Generally, the inner corners of compound-contoured contour are at CSV.
In the exemplary embodiment, term ESO(Effectively static barriers)Refer to and positioned at the area that is blocked of observability figure Polygon in domain(Original mesh)Quantity and/or the polygonal surface area of these grids become the tolerance of certain direct ratio.ESO is also The newly polygonal quantity introduced with being blocked the visibility region in region around this becomes certain inverse ratio, this new polygon It is trigonometric ratio again because Ouluding boundary side causes and lead to.Using this degree in the conservative simplification to VM or unified VM Amount.
In the exemplary embodiment, term EDO(Effectively dynamic barriers)Refer to and block incremental area(DR)Middle hidden The polygonal quantity of gear and/or these polygonal surface areas become the tolerance of certain direct ratio, and wherein DR represents and specifically regarding Occlusion area produced by unit transition period.The newly polygonal quantity also with introducing in the visibility region around DR for the ESO Become certain inverse ratio, this new polygon is trigonometric ratio again because the side of Ouluding boundary causes and leads to.
In the exemplary embodiment, term EDV(Effectively dynamic observability)Refer to the increment area of unified observability figure Domain(DR)Effectiveness measurement.If DR is for the specific DR regarding unit transitionO(The incremental area blocked), then EDV pair Should be in the EDO of DR.
If DR is DRE(The incremental area exposed), then determine EDV by checking the ESO around the region blocked.Logical Cross simplification around OR and by DREPolygon extend to OR or DROIn carrying out DRESimplification.
In the exemplary embodiment, term unify observability figure refer to according to two regard unit(For example, A and B) Observability figure that generate, Ouluding boundary as viewed from regarding unit, wherein above-mentioned regarding unit with one of following two ways correlation: 1)One depending on unit be completely contained in another in unit, or 2)Above-mentioned have public face completely depending on unit.Unified observability The arrangement in Tu Shi VM area, so that for from regarding unit A to the transition regarding unit B, some regions include the net being recently blocked Lattice triangle/fragment and other region includes the mesh triangles shape/fragment recently exposed.Construct use using unified observability figure PVS data increment in directly storage.Alternately, unified observability figure can be used for identifying and substantially blocks or apparent contour week Line, it can be labeled and be subsequently used to produce G increment/PVS incremental data.
In some embodiments, term visibility events packet refers to include the number of following item in some embodiments According to packet:PVS data increment, the labeled Ouluding boundary information substantially blocked profile contour information, stored and/or PVS Data.
In some embodiments it is seen that property event packets include other visibility events information.In some embodiments In it is seen that property event packets include visibility events information.In this manual it is seen that property event information is also referred to as visible sexual behavior Number of packages evidence.
In some embodiments, the mobile threshold value of term refers to the camera/viewpoint position of reality or prediction from a vision area Change to the certain predetermined threshold value of the probability of another vision area.For example, when viewpoint changes to the probability of the second viewpoint from the first viewpoint (That is, probability)When exceeding mobile threshold value, additional information can be sent to client device.
In some embodiments, term bandwidth threshold refers to the available transmission band between server and client unit Wide predetermined threshold.For example, when available bandwidth is less than bandwidth threshold, relatively low level of detail can be sent to client device Information.
Fig. 2 shows the basic sides of the visible first order modeling spreading through sex intercourse.Specific embodiment part in this specification Give follow-up details.
Fig. 2 shows the figure regarding unit and two simple polygon grid A and B.
Fig. 2 also show two single order profile sides as viewed from regarding unit:While A1 and while B1(It is subdivided into section B10 and B1V).
Now to the Conservative Linear shadow event surface being incident on these single order profile sides(CLUES)Construction carry out Description.In the following discussion, from restriction from the single feature regarding unit(Generally support and regard unit summit or side)Look For in the sense that observability, the shadow event surface being constructed is similar with discontinuity grid wedge shape.After this specification In continuing partly, show and can construct observability figure as viewed from regarding unit for the Conservative Linear using these wedge shapes(VM), its In, PVS can be derived according to VM.
Fig. 2 shows regarding unit and mesh object A and mesh object B.In some embodiments, it is to have depending on unit The three-dimensional on eight summits(3D)Cube.For example, it is with summit V depending on unit in Fig. 21-V8Cube.Implement other In mode, it is any desired convex polyhedron depending on unit.The side of grid A is marked as with summit A1_0With summit A1_1A1. The side of grid B is marked as two sections:B1O and B1V.With respect to single order profile side A1, because B1V is located at event surface " wedge shape 1 " do not block side, thus section B1V from support can be seen that depending on unit summit SVV1, wherein, wedge shape 1 is formed at side A1 and corresponds to Depending on unit V8Corresponding support regard between the SVV1 of unit summit.With regard to this point, due to being incident on the back of the body on single order profile side A1 Facial plane is clockwise towards regarding unit V8Pivot to determine corresponding support regarding unit summit, thus B1V is located at " wedge Not not the blocking on side of shape 1 ".Thus, in some embodiments, it is incident on back side plane on single order profile side towards regarding unit Pivoting direction instruction in summit is not by blocking side depending on unit top point-supported event surface.The rightabout that back side plane pivots Indicate by blocking side depending on unit top point-supported event surface.
With respect to single order profile side A1, because B1O is located at being blocked on side of event surface " wedge shape 1 ", thus section B1O from Support and look depending on unit summit SVV1 and is blocked, wherein, wedge shape 1 be formed at side A1 and corresponding support regarding unit summit SVV1 it Between.
The single order visibility events surface being labeled as " wedge shape 1 " is located in side A1 and the supporting plane between unit.Side A1 and be by the summit A of side A1 depending on the support polygon SP1 between unit1_0With summit A1_1And be labeled as SVV1 regarding unit The triangle that summit is formed(It is labeled as SP1).
According to some embodiments, following formation is incident on the single order visibility events surface " wedge shape 1 " on the A1 of side:For Corresponding support polygon(SP1), the summit A being incident on side A11_0With summit A1_1On two sides extended.This extension with The summit A of A11_0With summit A1_1For starting point, carry out along away from the direction semo-infinite depending on unit.Article two, the ray quilt extending Connect to the summit A of side A11_0With summit A1_1To form the semi-infinite shade visibility events surface being labeled as " wedge shape 1 ". Extend depending on unit semo-infinite because " wedge shape 1 " is located substantially farther from, thus illustrate only the part of " wedge shape 1 " in fig. 2.? In some embodiments, the plane on event surface is represented by the 3D plane equation of such as ax+by+cz.=0.
Therefore, in some embodiments, it is incident on single order profile side and on unit summit to be formed(From regarding list Unit looks)Single order visibility events surface, first structural configuration side and the support polygon between unit.This construction with right The following pivot action that profile side is carried out is similar to:This pivot action is along away from the back side, in the face of composition polygon and direction is regarding list The direction of unit is carried out, until encountering support to regard element characteristic(Side or summit)Till.In some embodiments, by away from regarding Unit extends the non-profile side of this support polygon to form wedge shape.
As shown in Figure 2, event surface " wedge shape 1 " is intersected with side B1, and B1 is divided into two sections of B1V and B1O, B1V phase For single order profile side A1 from regarding element characteristic(Depending on unit summit SVV1)Single order of looking visible, and B1O is with respect to single order profile side A1 single order as viewed from SVV1 is invisible." wedge shape 1 " and single order profile side B1(It is made up of section B1O and B1V)It is being labeled as the point of CSV Place is intersecting.This point is compound-contoured summit.
For purposes of illustration, it is now assumed that section B1V is located at by owning that the side of grid A and the feature of " depending on unit " are formed The side that is not blocked on single order visibility events surface.In this case, B1V be located at by single order wedge shape and grid polygon and The single order polyhedron polymerization shade that cross-shaped portion each other is formed(PAU)Outside(In the side that is not blocked).In these conditions Under, section B1V is as viewed from regarding unit as single order.
If section B1V as viewed from regarding unit as single order, it is assumed that section under the conservative hypothesis of single order observability model B1V is as viewed from any part regarding unit.Therefore, the single order on section B1V is incident on by aforesaid pivot action construction Visibility events surface, this pivot action section B1V and be labeled as SVV2 support regard unit summit between generate support polygon Shape(SP2).As shown in Figure 2, support polygon SP2 is by the summit of section B1V with regarding unit summit V3(SVV2)Limit.Again The secondary method using aforesaid extension support polygon.The obtained single order visibility events surface being incident on BV1 is marked It is designated as " wedge shape 2 ".
Because corresponding in this case support depending on unit summit SVV1 actually from the single order profile side A1 being supported Can be seen that, therefore " wedge shape 1 " is incident upon the fully visible sexual behavior part surface on the A1 of side.
" wedge shape 2 " is not by the fully visible mild-natured face of B1V, this is because violating single order in the way of very special The conservative hypothesis of observability model:Corresponding support reality as viewed from the single order profile side B1V being supported depending on unit summit SVV2 On be sightless, when observing from this side, SVV2 is blocked.
Using to supporting the 2D observability test that the observability as viewed from profile side is tested depending on unit summit, permissible Determine any single order visibility events surface being incident on this profile side(For example, wedge shape)Degree of accuracy(exactness).? In some embodiments, if supporting is summit depending on element characteristic, this be from from the point of view of the observability test gone, itself and to single order Profile side from corresponding support regard unit summit(SVV)The test that the observability looked is carried out is equal to.According to some embodiment party Formula, the visible section of fully visible sexual behavior part surface of support as viewed from corresponding SVV on single order profile side, and single order profile side The section being blocked as viewed from corresponding SVV supports incomplete/conservative visibility events surface.
Regard element sides in particular cases on profile side parallel to supporting, need the special observability as viewed from side to survey Examination.
The method that embodiment also includes the precision for increasing incomplete visibility events surface.In the method, right In each section on the single order profile side supporting incomplete wedge shape, the point on the face depending on unit is identified as visible for this section Support regards unit summit(VSVV).VSVV is actually visible as viewed from corresponding profile side and forms support polygon with this section. These methods adopt the high-order self adaptation progressive refinement of first order modeling, and it is in PCT Patent Application PCT/US2011/042309 It is described in number.
Description, wherein runs through some views, and similar reference refers to identical or corresponding part.
Fig. 1 to Fig. 6 describes in detail:Using the Conservative Linear shadow event surface using pivot and scan method construction First embodiment.
A kind of embodiment includes constructing guarantor based on the first order modeling of the visible simplification spreading through sex intercourse in polyhedron environment The method keeping linearisation observability figure.As above described in embodiments, single order observability model is based on following conservative Hypothesis:If the profile side of polygonal mesh is as viewed from the arbitrary portion regarding unit, this profile side is from regarding unit All parts are looked visible.According to the embodiment of this model, profile side(Referred to as single order profile side)It is limited to following network of triangle Lattice side:These triangular mesh sides have the back side in the face of faced by a composition polygon regarding all summits of unit and front Another composition polygon depending at least one summit of unit.Additionally, as single order profile side, constituting the polygon back side each other Right face-to-face.
This model also results in following methods:By from(Single order)Profile side is to the pivot on the summit regarding unit(From pivot Support polygon derives SV-ME wedge shape)Or by from(Single order)Internal corner contours summit is scanned throughout depending on unit profile side (Derive SE-MV wedge shape from the support triangle shape of scanning), to form the linearisation shadow event surface that single order is guarded(Referred to as CLUES, or referred to as single order wedge shape or referred to as wedge shape).The method also uses and regards element sides on the profile side being supported with supporting The parallel SE-ME wedge shape in particular cases generating.This single order embodiment always produces conservative shadow edge, and one In the case of a little, it is complete shadow edge.
Other embodiment is based on the high-order model spreading through sex intercourse visible in polyhedron environment.High-order model do not assume if Profile side is visible as viewed from any part depending on unit, and it is as viewed from all parts regarding unit.More properly, this mould Type explains the part being blocked as viewed from profile side depending on unit.High-order model constitutes the basis of alternate embodiments, and it can More accurately approximate to complete shadow edge can produce in the case that first-order arithmetic is inaccurate.In PCT Patent Application This high-order thinning method is disclosed in No. PCT/US2011/042309.
Fig. 1:The construction of single order wedge shape
Fig. 1 illustrates to disclose using the single order pivoting and scan method is formed regarding unit by polygonal mesh object and convex The flow chart of the overall tissue of the construction of wedge shape.According to some embodiments, handling process, from the beginning of step 110, is wherein directed to Single order profile side checks respectively for the polygon of polygonal mesh object.Disclose in detail the side on identification single order profile side in figure 3 Method.Figure 20 of PCT Patent Application the PCT/US2011/042309th shows and discloses the reality checking polygonal order Apply mode, it illustrates the algorithm implementing strict vertical order.
Handling process marches to step 112 to determine whether the single order profile side encountered in step 110 regards list with supporting First side is parallel.
If in decision steps 112 determine single order profile side with support regard unit summit parallel, handling process row Proceed to step 114, the support polygon with structural configuration side and between unit.Fig. 4 A shows the details of this construction.
Handling process marches to step 116, with by corresponding to, pivot support is polygonal, be incident on single order profile side Certain edges thereof on summit is extended, and to construct the SV-ME wedge shape being incident on single order profile side.Disclose step in fig. 6 120 additional detail.
If single order profile side is parallel with support profiles, handling process marches to step 118 from step 112.
In step 118, as it was previously stated, by being referred to as SE-ME tetra- from constructing to the pivot depending on unit depending on element sides Side shape(Source side-Grid Edge)Support tetragon.
Handling process marches to step 120, with by the line segment being supported the diagonal summit of tetragon to be formed by SE-ME Carry out extending constructing and support tetragon corresponding SE-ME wedge shape with SE-ME.SE-ME wedge shape while by the profile being supported And the two lines composition by being formed away from the diagonal line segment extending connection profile side summit depending on unit.
Handling process marches to decision steps 125 from step 116 or step 120, to determine adjacent profile side whether shape Become the outside angle of single order profile contour.In some embodiments, using the simple survey of the relative direction for adjacent profile side Try to make this determination.Each side borderline positioned at polygonal mesh has following natural direction:One normal on this side Front is outside polyhedron(Outward normal)And relative normal front is inside polyhedron.If adjacent profile side Two outward normals turn to other places each other, then the profile summit having is the inner corners of this profile contour.Otherwise, total profile Summit forms outside angle.
If determining that in step 125 adjacent profile side defines the outside angle of profile contour, handling process marches to Step 140 is so that the wedge shape being incident on adjacent profile side intersects each other.In some embodiments, if adjacent SV-ME Wedge shape is to be supported regarding unit summit by being switched to identical(SVV)Come to generate, then they are completely intersecting at common edge.No Then, adjacent SV-ME wedge shape intersects each other in their polygonal internal and makes clear and definite polygon-polygon cross-shaped portion Determine.In either case, intersecting SV-ME wedge shape produces crosses over the single order profile being formed by the profile side that two are supported The continuous shadow event surface of a part for contour.In some embodiments, adjacent SV-ME wedge shape is non-intersect.At this In a little embodiments, step 140 is optional.The SV-ME wedge shape not intersected with adjacent SV-ME wedge shape still can be with grid Polygon intersects, and obtained wedge shape-grid polygon cross-shaped portion is tested to determine if being from regarding unit The Ouluding boundary looked.Give the other discussion of intersecting adjacent S V-ME wedge shape in conjunction with Fig. 7 D4 and Fig. 7 D5.
If determining that in decision steps 125 adjacent profile side does not form the outside angle of profile contour, handling process March to step 130 from step 125.This situation is corresponding with the inner corners of single order profile contour.
In some embodiments, such is simple by connected by summit two inner corners that profile side is formed Profile summit.Using the visible first order modeling spreading through sex intercourse it is also possible to not have the top in original manifold grid on assembly profile side Inner corners are formed on the compound-contoured contour of point.These summits are referred to as compound-contoured summit(CSV), they correspond to manifold T summit in terms of region, and the subsequent section in this specification discusses in detail to it.
In step 130, internally angle grid profile summit and depending on forming one or more between the certain edges thereof of unit Support scanning triangle, this certain edges thereof with respect to inner corners grid profile summit be from from the point of view of the profile side gone.In Fig. 5 A and Fig. 5 B In disclose the additional detail of this process.
Handling process marches to step 135, by extending the side of scanning triangle through inner corners grid profile summit, comes Corresponding SE-MV wedge shape is generated according to scanning triangle.Disclose the detail of this process in fig. 6b.
The alternate embodiments constructing the set of single order wedge shape using distinct methods are also possible.For example, replace in one kind Support bag for entirely guarding between unit and polygonal mesh object in embodiment, can be constructed(conservative supporting hull), and single order wedge shape is elected as the conservative support polygonal subset of bag.
Fig. 3 shows the details of the step 110 in Fig. 1, the identification on single order profile side.According to some embodiments, in Fig. 1 Step 110 place enter the process shown in Fig. 3.In some embodiments, the process on identification single order profile side starts from step 310, to identify the composition polygon on this side.In some embodiments, by polygonal mesh is stored as such as wing side number To be easy to this process according to the linked data structure of structure, the composition polygon being stored with above-mentioned data structure for each side Reference.In other embodiments, represent polygonal mesh using any desired data structure.In a kind of enforcement, Polygonal mesh is the manifold blocked, and wherein each side constitutes polygon by two completely and has.
Handling process marches to decision steps 315, and a composition polygon being referred to as polygon B or PB is surveyed Examination, to determine this composition polygon, whether the back side is in the face of regarding all summits of unit.In this case, depending on all tops of unit Point is by the rear side including the polygonal plane of this composition.
If determining that in decision steps 315 PB is not the back side in the face of all regarding unit summit, is processed from step 315 row Proceed to step 320, to test to another composition polygon being referred to as PA, as described in step 315.
If determining the PA back side in the face of regarding all summits of unit, handling process marches to step in decision steps 320 Rapid 325, to determine triangle PB, whether front is in the face of at least one is regarding unit summit.
If determining that in decision steps 325 PB front regards unit summit in the face of at least one, processes and marches to judgement Each other whether step 330 tested to PA and PB to determine them faced by the back side.
If determining PA and PB in decision steps 330 relative to each other faced by the back side, handling process marches to step 335, wherein testing while for single order profile.
If determining PA and PB in decision steps 330 without respect to faced by the back side each other, handling process marches to Step 355, the result when not being single order profile that its return is being tested.
If determining the PB back side in the face of regarding all summits of unit, handling process marches to step 340 in step 315 To determine PA, whether front is in the face of at least one is regarding unit summit.If PA front regards unit summit in the face of at least one, locate Whether each other reason flow process marches to step 345 to determine PA and PB faced by the back side, as functionally described in a step 330.
If each other faced by the back side, handling process marches to step 350 to PA and PB, it returns to the side tested is one The result on rank profile side.If PA and PB is not that each other faced by the back side, handling process marches to step 355 from step 345.As Fruit PA is not that faced by front, at least one regards unit summit, then handling process row marches to 355 from step 340.If step 320th, any test crash in 325,330,340 or 345, then this Grid Edge is not single order profile side, such as in step 355 Indicated.
Fig. 4 A:The building method of SV-ME and SE-ME support polygon
Fig. 4 A shows and is incident on for construction(Single order)The method of SV-ME support polygon on grid profile side Flow chart.Fig. 4 A gives the additional detail of the process illustrating in step 116.According to some embodiments, from the step of Fig. 1 116 enter the process shown in Fig. 4 A.
In some embodiments, when encountering the profile side of polygonal mesh, start to support for construction in step 410 Polygonal process.Although other embodiment may be potentially using high-order profile side, it is in the present embodiment Single order profile side.
Handling process marches to step 415 and is set to " maximum with by single order profile side and depending on " support _ angle " between unit (MAX)" value(For example, 180 degree).According to some embodiments, the following angle being formed is defined as strut angle:From the back side in the face of structure Polygonal plane is become to start to be pivoted through the plane on single order profile side and pivot towards regarding unit(Many in the face of constituting along the back side The general direction of the normal of side shape)Until the angle being formed when encountering depending on the first summit of unit or side.Pivot plane with regarding list The position of unit's contact is profile side and the plane regarding the support polygon between unit.The angle passed through during this pivot is claimed For strut angle or angle of pivot, and supporting plane and profile side the back side in the face of constituting between polygonal plane, this angle is being entered Row measurement.Cause minimum angle of pivot regarding unit summit or side(If support polygon is SE-ME type)Be support summit or Support edge.
The remainder of Fig. 4 A shows and supports the process regarding unit summit and construction support polygon for identification.Process Flow process marches to step 420 so that " VERTEX " to be set to the first summit regarding unit.In embodiments, " VERTEX " is to use In the candidate vertices of test, for determining whether this candidate vertices is to support summit.Handling process marches to step 425 with structure Make grid profile while " while " triangle and " VERTEX " between.Handling process marches to step 430 with using in plane Intersection at angle between measurement plane standard method measuring the plane of " triangle " and the back side on this profile side in the face of structure Become the angle between the viewable side of polygonal plane.Handling process marches to step 435 will be somebody's turn to do working as of " angle " and " support _ angle " Front value is compared.If being somebody's turn to do the currency that " angle " is less than " support _ angle ", handling process marches to step 440 will " prop up Support _ angle " is set to " angle ".Handling process marches to step 445 so that " support _ summit " is set to current " VERTEX ".
Handling process marches to step 450, and wherein support polygon is arranged to by profile side and supports summit to be formed Triangle.
Handling process march to step 455 with determine whether residue have untreated regarding unit summit.If in judgement step Rapid 455 determine do not have remaining untreated then handling process marches to step 460 regarding unit summit, wherein output support polygon Shape.
If decision steps 455 determine residue have untreated regarding unit summit, handling process marches to step 475, The next one to be processed is wherein selected to regard unit summit.
If determining measured " angle " in decision steps 435(Angle of pivot)Not less than current " support _ angle ", then locate Reason flow process marches to step 465 to determine angle of pivot(" angle ")Whether it is equal to the currency of " support _ angle ".If this condition becomes Vertical, then two summits regarding unit form identical angle of pivot with corresponding to the profile side with SE-ME support polygon, and locate Reason flow process marches to step 470 and to regard unit summit at two and regards setting tetragon between element sides(SE-ME supports polygon Shape).
Only in the in particular cases just structure in step 470 that profile side is equal with the strut angle that two regard between unit summit Make tetragon support polygon.Unit is regarded for the convex supposing in the present embodiment, this only occurs in and regards when two supports When unit summit is located on unit and grid profile are while parallel.In this case, as viewed from regarding unit " across The observability on more " profile side be not by common from from the point of view of the observability triangle that goes to determine but alternatively by as viewed from section Observability tetragon determining.
The other embodiment being treated differently this special circumstances is also possible, for example, is incident on parallel by construction Support regard element sides on two support triangle shapes and scanning triangle.Using the method, obtained corresponding adjacent UBP Intersecting not only at side, but alternatively, they can be overlapping in their plane, thus leading to the polyhedron umbra volume surrounding Long-pending regional degeneration.Identification tetragon support polygon this method avoids this degeneration in later step.
No matter candidate's support polygon is triangle or tetragon, handling process all marches to step from step 470 455, with whether remaining any untreated summit determined as described above.If remaining regard unit summit, handling process returns To step 475, the next one is wherein selected to regard unit summit.Next, process following abovementioned steps.
At final step 460, process output support polygon, it is formed by grid profile side and depending on the summit of unit Triangle, or be formed at grid profile side and regard element sides between tetragon.
Method for constructing SV-ME support polygon can have alternate embodiments.In alternate embodiments, With a single order profile while corresponding " support _ summit " be limited to directly with " support _ summit " during for adjacent single order profile Connected those regard unit summit, and wherein adjacent side forms the outside angle of grid(Convex feature).The method constructs with 3D Used in the art methods of the classics of method of dividing and ruling of convex closure, method is similar to.In this application, it is very simple depending on unit The acceleration that single polyhedron and the method are afforded is very limited amount of.
Fig. 4 B shows mesh object M1 and regards unit.Depending on shown in unit and polygonal mesh M1 and Fig. 7 A and Fig. 7 B1 Object is identical.In figure 4b, viewpoint is located between Fig. 7 A and the viewpoint of Fig. 7 B1.The single order profile side being labeled as B also appears in this Three width in figures.The direction of observation of Fig. 4 B is in close proximity to parallel with side B.Therefore, side B is lateral(edge-on)Almost it is seen as a little. In Fig. 4 B and Fig. 7 B1, the summit of polygonal mesh M1 is considered as summit V3.
Two candidate's support polygons are shown as " candidate SP1 " and " candidate SP2 ".Unit by side B and is regarded by construction The triangle that summit is formed to identify candidate's support polygon for single order profile side B.To the plane of this support polygon together The back side having side B measures in the face of constituting the angle that polygonal plane is formed.This angle corresponds in the step 425 of Fig. 4 A really Variable " support _ angle " used in fixed and the step 435 in same in figure and step 465.In example shown in Fig. 4 B, one Rank profile while B the back side in the face of constitute polygon be by while the triangle that formed of B and summit V3.
In this example, the angle being formed by " candidate SP1 "(Corresponding to regarding unit summit V4)With being labeled as the void at " angle -1 " Bank is representing.
In this example, the angle being formed by " candidate SP2 "(Corresponding to regarding unit summit V8)With being labeled as the void at " angle -2 " Bank is representing.
From this two arcs it is evident that " angle -1 " is less than " angle -2 ".According to the exemplary process diagram of Fig. 4 A, by candidate SP1 Remain the polygonal candidate of actual support on single order profile.If the process being illustrated by the exemplary flow in Fig. 4 A All summits of " depending on unit " are tested it will be found that summit V4 produces the support polygon providing minimum support angle (" candidate SP1 ").In Fig. 7 C1, " candidate SP1 " is shown as actual support polygon SPB.
The angular measurement of standard can be adopted, to determine that the normal line vector of plane including backfacing polygon is many with candidate's support The angle of the cross product between the shape of side.
Fig. 4 C shows for determining that whether be formed at single order profile side and regard the polygon between unit summit is to prop up The flow chart supportting polygonal test.
Can there are following alternate embodiments:By considering " the side property of candidate's support polygon(sidedness)Orientation " (Inside with respect to polygonal mesh)To identify SV- with candidate's support polygon with respect to the orientation depending on unit summit ME support polygon.
In one embodiment, grid polygon is all presumed to be " outside " polygon with following normal line vector: Normal line vector is partly oriented to " internal " away from the region included by polygonal mesh.In such embodiment, All grid polygons of polygonal mesh as one man have this identical " side property " orientation.
Polygon is planar structure, and it can have two sides corresponding to the both sides including this polygonal plane.Show The polygonal mesh that example property embodiment includes for manifold or blocks.Its embedded spatial volume is divided into inside by manifold grid And outside.In calculating graphics, the use of following manifold grid is highly useful:Each polygonal normal in this grid Vector is partly oriented front in the face of the inside away from this closed volume.This can be referred to as polygonal " outside " side. Opposition side can be referred to as polygonal " internal " side.If all of polygon all has this consistent side property and takes within a grid To then polygonal private side is invisible from outside.
In the exemplary embodiment, can be by checking adjacent polygons(Have the polygon on side)Vertex order Polygon to establish grid has identical side sexual orientation.(Referring to Schneider (2003) Schneider, Philip J., Eberely,David H.,“Geometric Tools for Computer Graphics”Morgan Kaufmann2003pp.342-345, entire contents are incorporated by reference in the application).If F0And F1It is total by two Summit V1And V3Two adjacent polygons on the side of composition.For polygon F0If, summit V1And V3It is with V3Then V1Row Occurring, then they are in polygon F for sequence1In must be with V1Then V3Sequence occurring.Total side has the adjacent of this sequence Polygon is sorted by being properly termed as having consistent summit.The polygon with the sequence of consistent summit has identical side property and takes To.Summit sequence reflects the order storing summit for each triangle.Triangle is accessed with this identical order Summit defines the vector that its cross product is coefficient A, B, C of plane equation(Triangle edges)Or the normal line vector of this triangle.? In some embodiments, all of mesh triangles shape has consistent summit sequence and all of mesh triangles shape can have Point to the normal line vector in the direction of inside away from grid, i.e. they are all fronts in the face of outside triangle.Embodiment can To be identified using known algorithm before treatment and to repair the inconsistent summit sequence in polygonal mesh(Referring to MakeConsistent procedure of Schneider(2003),pp345).
Fig. 4 D1 shows two adjacent polygons F0And F1Exemplary diagram, wherein, this two polygons have unanimously Summit sequence.Note, for polygon F0, with V1To V3Order accessing total side, and for adjacent polygon F1, With V3To V1Order have side accessing this identical, therefore meet the definition of consistent sequence.Traditional using right hand rule, two Individual polygonal normal points to the outside of the plane of delineation.
Fig. 4 D2 shows two adjacent polygons F0And F1Exemplary diagram, wherein this two polygons do not have unanimously Summit sequence.
In one embodiment, the candidate's SV-ME support polygon for single order profile side is formed at regarding unit summit And single order profile side between.Give the back side grid polygonal side sexual orientation identical side having with total single order profile side Candidate's support polygon of sexual orientation.(Using this consistent side sexual orientation, for example, pass through back side grid polygonal " outside " The people of the single order profile side walking on face can encounter candidate's support polygon " outside " face).Then, with respect to regarding unit summit The orientation of the plane of each candidate's support polygon is checked.If the plane of candidate's support polygon regards with respect to each Faced by the Bu Shi front of unit summit, then form candidate's support polygon is to support to regard unit summit depending on unit summit, and waits Support polygon is selected to be support polygon.
According to some embodiments, adopted eliminates positioned at candidate with respect to depending on the definition faced by the front of unit summit In the plane of support polygon regarding unit summit(That is, recognize to support to regard unit summit faced by non-frontal).The enforcement substituting Mode can be single to determine that candidate's support polygon regards with respect to each using the back side in the face of the modification with the definition faced by front Faced by the Bu Shi front of first summit.In at least one illustrative embodiments, this test includes validating that candidate's support polygon phase Each is regarded faced by the back side of unit summit, wherein includes in this plane with respect to the definition of the plane faced by the back side of summit Summit(That is, recognize to support and regard unit summit with respect to faced by the support polygon back side).
According to some embodiments, enter the process shown in Fig. 4 C from step 480.In a step 408, in single order profile Side with regarding unit summit(V)Between formed candidate's support polygon.
Handling process marches to step 485 to set the side sexual orientation of the candidate's support polygon being formed in step 480 It is set to identical in the face of constituting polygonal side sexual orientation with the back side on total single order profile side.
Handling process marches to step 487 to determine candidate's support polygon with respect to each top in unit summit Whether point is faced by front.If determining that in decision steps 487 candidate's support polygon with respect to each depending on unit summit is not Faced by front, then handling process marches to step 491 with will be regarding unit summit(V)It is identified as supporting depending on unit summit and waiting Support polygon is selected to be identified as support polygon.
If determining candidate's support polygon in decision steps 487 with respect to faced by any front regarding unit summit, Handling process marches to step 489 with will be regarding unit summit(V)It is identified as not being to support to prop up depending on unit summit and by this candidate Support polygon is identified as not being support polygon.
Can also be used to identify SE-ME type support polygon by the test that the exemplary flow of Fig. 4 C illustrates.
Fig. 5 A and Fig. 5 B:Show and support for constructing SE-MV(Scanning)The flow chart of the method for triangle
Fig. 5 A and Fig. 5 B includes showing for constructing the SE-MV support scanning on incident angle grid profile summit internally The flow chart of the method for triangle.This is the additional detail of the step 130 of Fig. 1.According to some embodiments, the step from Fig. 1 Rapid 130 enter the process shown in Fig. 5 A and Fig. 5 B.
In some embodiments, when encountering the inner corners of single order profile contour of polygonal mesh, at step 510 Start to support the process of scanning triangle for constructing SE-MV.This inner corners can have summit by two single order profile sides Simple single order profile contour is formed.If forming the normal on the profile side of this cross-shaped portion(It is assumed that normal direction front is in the face of structure Become polygonal internal direction away from)Facing with each other, then this cross-shaped portion is internal angular vertex.
Alternately, internal angular vertex can be by the compound-contoured contour being crossed to form of wedge shape and single order profile side Summit.In the case of the latter, inner corners Outline mesh profile summit is referred to as compound-contoured summit(CSV).
Handling process marches to step 515 process with use example as disclosed in fig. 4 a to identify for the wheel forming summit The support on one of wide side regards unit summit(SVV).The mark on this summit is stored as variable " SVV_START ".Handling process row Proceed to step 520, be wherein directed to the process of another a line repeat step 515 of inner corners and result is stored as variable “SVV_END”.
If arbitrary support polygon of inner corners is tetragon(The step 470 of Fig. 4 A generates), then support polygon Shape has two SVV.This in particular cases it is necessary to be carefully chosen initiateing in this chain in step 515 and 520 to regard unit Summit(“SVV_START”)Or terminate regarding unit summit(SVV_END), this is because this summit is farthest from the other end of this chain Remove.
Handling process marches to step 525, and wherein variable " CURRENT_POLYGON " is arranged to identification regarding unit top Point " SVV_START " corresponding with polygonal mesh by the support polygon between support edge.
Handling process marches to step 530, wherein will for eventually occur in regarding unit summit " SVV_START " with The starting point depending on the scanning of unit profile contour between " SVV_END " is arranged to depending on unit summit " SVV_START " and stores For variable CVV, it saves the current vertex of scanning.
Handling process marches to decision steps 535 and CVV and " SVV_END " is compare to determine if terminate sweeping Retouch.
If determine in decision steps 535 processing when forward sight unit summit(CVV)With scanning in last Individual summit(“SVV_END”)Identical, then handling process marches to step 540 and terminates.If the two of inner corners sides are regarding Identical point is had on unit, then corresponding SV-ME wedge shape intersects along common edge and do not exist and inner corners vertex correspondence Scanning triangle.This situation can be identified and can terminate scanning and not produce scanning three in the original execution of step 535 Angular.
If determining that in decision steps 535 CVV is not " SVV_END ", handling process marches to step 545, will Variable " CURRENT_ANGLE " is arranged to maximum.
Handling process marches to step 550, wherein selects to have regard unit summit CVV first regarding element sides and with becoming Amount " EDGE " carrys out labelling.
Handling process marches to decision steps 555, to determine whether side " EDGE " is with respect to inner corners grid profile top Point MV's(From from the point of view of go)Profile side.
If determining that in decision steps 555 " EDGE " is the profile side as viewed from MV, handling process marches to step 560 to form triangle between point MV and side " EDGE ".This triangle is MV and the candidate scan triangle between unit, Compared with but it must being scanned triangle candidates with total identical other regarding element sides.
Handling process marches to 565, wherein starts to compare these other scanning triangle candidate.In this regard, to being incident on MV On Current Scan triangle candidate " triangle " and " CURRENT_POLYGON "(Support polygon)Between angle surveyed Amount.This value is stored in variable " ANGLE ".Because " triangle " and " CURRENT_POLYGON " has common edge, adopt With this angle be each polygonal be blocked while between angle convention Lai can this while at measure this angle.Support polygon Be blocked while be during in profile at connect to the side of the polygonal inside of grid.The side that is blocked of candidate scan triangle is on top Connect at point MV to the side of the polygonal inside of grid.This angle is stored in variable " ANGLE ".
Can there are following alternate embodiments:To scanning triangle and corresponding SE-MV wedge shape with respect to adjacent wedge shape The orientation of shape is checked.All of wedge shape is all the directed face with " visible " side and " invisible " side.For SE-MV wedge Shape is it is seen that side is the side that is not blocked(Grid polygon due to not being exceeded corresponding single order profile side blocks, so in this side It is visible).For SV-ME wedge shape it is seen that side is " by comprising " side(Due to when through with beyond corresponding inner corners single order wheel Wide summit is comprised in unit, so being visible when observing).
In one embodiment, constructed " SWEPT_TRIANGLE " depending on element sides according to MV, MV regards element sides and produces Have with adjacent SV-ME wedge shape block direction consistent and with adjacent S V-ME wedge shape comprise the consistent side of comprising in direction To " SWEPT_TRIANGLE ".The SV-ME wedge shape without this consistent direction does not facilitate continuous, conservative linearisation shade Event surface.
The orientation of SV-ME wedge shape is contrary with the orientation of corresponding SV-ME support polygon.This is contrary to be because The side of SV-ME support polygon is effectively projected through inner corners single order profile summit and forms corresponding SV-ME wedge shape.(Example As, have regarding unit and along negative Y-direction " less than " between the inner corners single order profile summit of specific SE-MV support polygon This SE-MV support polygon comprising axle can produce and there is it along positive Y-direction " by comprising " or viewable side is corresponding SE-MV wedge shape).
Handling process marches to decision steps 570, to determine this angle(“ANGLE”)Whether it is less than " CURRENT_ANGLE " Currency.
If the currency determining " ANGLE " in decision steps 570 is less than the value of " CURRENT_ANGLE ", " TRIANGLE " is candidate scan triangle and handling process marches to and processes 5-1, and its step 580 place in figure 5b opens Begin.
In step 580, variable " CURRENT_ANGLE " is set to the value of " ANGLE ".
Handling process marches to step 585 to be arranged to refer to side " EDGE " variable " SWEPT_EDGE ".
Handling process marches to step 590 to be arranged to refer to triangle variable " SWEPT_TRIANGLE " “TRIANGLE”.
Handling process marches to decision steps 591 to determine whether that also any other having works as forward sight unit summit CVV Side not processed.
If determining the remaining untreated total side regarding unit summit in decision steps 591, handling process is advanced To processing 5-3, it is by handling process return to step 575(Fig. 5 A), wherein variable " EDGE " is configured to refer to total summit Next of CVV regards element sides.Then, handling process marches to step 555 to generate next candidate scan triangle and right It is tested.
If determining the side not having other untreated total summit to regard unit, handling process in decision steps 591 March to step 592, wherein be set to refer to triangle " SWEPT_TRIANGLE " by " CURRENT_POLYGON " variable.
Handling process marches to step 593 to export scanning triangle " SWEPT_TRIANGLE ".
Handling process marches to step 594 with according to scanning triangular construction SE-MV wedge shape.Disclose this step in fig. 6b Rapid other details.
Then, handling process marches to process 5-4, and it is in step 594(Fig. 5 A)Start to advance to regarding of next connection Unit summit.Then handling process return to step 535.
If determine in decision steps 555 depending on element sides be not from point MV from from the point of view of the profile side gone, processing stream Journey marches to process 5-2, and it is from step 591(Fig. 5 B)Start to select residue to be processed to regard element sides.
Fig. 5 C shows and is formed at inner corners single order profile summit and depending on the polygon between element sides is for determining The flow chart of the no test being support polygon.
Can there are following alternate embodiments:By considering " the side sexual orientation " of candidate's support polygon(With respect to polygon The inside of shape grid)To identify that SE-MV support is polygon with candidate's support polygon with respect to the orientation depending on unit summit Shape.
In one embodiment, grid polygon is all assumed to " outside " polygon, it has and is partly oriented The normal line vector of " internal " in the region being comprised away from polygonal mesh.In such embodiment, polygonal mesh All grid polygons as one man have this identical " side property " orientation.
As it was previously stated, polygon is planar structure, it can have corresponding to the both sides including this polygonal plane Article two, side.The polygonal mesh that illustrative embodiments include for manifold or block.Manifold grid is by its embedded space body It is integrated into inside and outside.In calculating graphics, the use of following manifold grid is highly useful:Each in this grid is many The normal line vector of side shape is partly oriented front in the face of the inside away from this closed volume.This can be referred to as polygonal " outside " side.Opposition side can be referred to as polygonal " internal " side.If within a grid all of polygon all have this one The side sexual orientation causing, then polygonal private side is invisible from outside.
In the exemplary embodiment, can be by checking adjacent polygons(Have the polygon on side)Vertex order Polygon to establish grid has identical side sexual orientation.(Referring to Schneider, Philip J., Eberely, David H., " Geometric Tools for Computer Graphics " Morgan Kaufmann2003pp.342-345, it is complete Portion's content is incorporated by reference in the application).If F0And F1It is total by two summit V1And V2Two of the side of composition adjacent Polygon.For polygon F0If, summit V1And V2It is with V2Then V1Sequence occurring, then they are in polygon F1In must Must be with V1Then V2Sequence occurring.The adjacent polygons that total side has this sequence are properly termed as having consistent top Point sequence.The polygon with consistent summit sequence has identical side sexual orientation.
In one embodiment, candidate's SV-ME support polygon on inner corners single order profile summit is formed at and regards Between unit shape and inner corners single order profile summit.Provide the one of candidate's support polygon and total inner corners single order profile summit The back side on rank profile side is in the face of grid polygonal side sexual orientation identical side sexual orientation.(Using this consistent side sexual orientation, example As the people through the single order profile side walking on back side grid polygonal " outside " face can encounter candidate's support polygon " outside " face).Then check with respect to the orientation of the plane to each candidate's support polygon depending on unit summit.If waited Select the plane of support polygon to regard faced by the Bu Shi front of unit summit with respect to each, then formed candidate's support polygon regarding list First side is support depending on element sides and this candidate's support polygon is support polygon.
According to some embodiments, enter into the process shown in Fig. 5 C from step 595.In step 595, angle internally Single order profile summit with regarding element sides(E)Between formed candidate's support polygon.Handling process marches to step 596 with will be in step The side sexual orientation of the candidate's support polygon being formed in rapid 595 is arranged to and the single order profile having inner corners single order profile summit The back side on side is identical in the face of constituting polygonal side sexual orientation.In the exemplary embodiment, can be by SE-MV support polygon Side sexual orientation be arranged to consistent with the side sexual orientation of previously determined adjacent S V-ME or SE-MV support polygon.Because SE- The MV support polygon polygon adjacent with these has side it is possible to by assuring that adjacent polygon has consistent top Put sequence to arrange side sexual orientation.
Handling process marches to step 597 to determine candidate's support polygon with respect to each summit in unit summit Whether faced by front.If determining that candidate's support polygon regards unit summit Bu Shi front with respect to each in decision steps 597 Faced by, then handling process marches to step 599 with will be regarding element sides(E)It is identified as supporting and regard element sides and this candidate is supported Polygon is identified as support polygon.
If determining that candidate's support polygon, with respect to arbitrarily regarding faced by the front of unit summit, is located in decision steps 597 Reason flow process marches to step 598 with will be regarding element sides(E)It is identified as not being to support to regard element sides and by candidate's support polygon It is identified as not being support polygon.
Fig. 6 A:Show for SV-ME and SE-ME wedge shape is constructed according to corresponding SV-ME and SE-ME support polygon Method flow chart
The flow chart that Fig. 6 A shows the process for constructing SV-ME wedge shape according to corresponding support polygon.This carries Supply the additional detail with regard to the step 116 in Fig. 1.According to some embodiments, enter shown in Fig. 6 A from the step 116 of Fig. 1 Process.
In some embodiments, start for according to corresponding SV-ME and SE-ME support polygon structure in step 610 Make the process of SV-ME and SE-ME wedge shape, wherein the side that connects of support polygon is identified as the top that summit is regarding unit Point, another summit are those sides on the summit of polygonal mesh.
Handling process marches to step 615, by semi-infinite mode from the corresponding vertex on the profile side being supported Connect side away from extending regarding unit, to construct the ray from connecting side.If support polygon is triangle, extends and connect Depending on unit and profile while two while.If support polygon is tetragon(Step 470 according to Fig. 4 A), then can extend even Connect the diagonal regarding element sides and profile side.Extend diagonal and produce larger wedge shape, it actually reflects through regarding unit While the observability as viewed from regarding element sides.
Handling process marches to step 620 to connect the side of extension to corresponding(Supported)Polygonal mesh profile Side, thus form semi-infinite SV-ME(Or SE-ME)Wedge shape.
Fig. 6 B:The flow chart showing the method for constructing SE-MV wedge shape according to corresponding SE-MV support polygon
Fig. 6 B shows the flow chart for the process according to corresponding scanning triangular construction SE-MV wedge shape.This carries Supply the additional detail of the step 135 in Fig. 1.According to some embodiments, the step 135 from Fig. 1 enters shown in Fig. 6 B Process.
In some embodiments, start for according to corresponding scanning triangular construction SE-MV wedge shape in step 630 Process, wherein the connection side of scanning triangle being identified as summit is to regard unit summit, another summit as polygonal mesh Summit those sides.
Handling process marches to step 635, with by by these sides in semi-infinite mode from corresponding grid profile top Light and extend away from depending on unit, to construct the ray from connecting side.
Handling process marches to step 640 so that the side of extension is connected corner contours summit internal to corresponding polygonal mesh To form semo-infinite wedge shape.
The process of Fig. 6 A and Fig. 6 B describes the construction of following single order wedge shape:This single order wedge shape is only limitted to they and profile week The cross-shaped portion of the adjacent wedge shape on line.These wedge shapes can be referred to as initial wedge shape.
According to some embodiments, in subsequent treatment, such as in the construction of single order observability figure, these initial wedge shapes Subsequently can intersect with grid polygon and other wedge shape.Initial wedge shape can also clearly be intersected to form with other wedge shapes Shadow edge polygon(UBP), it surrounds the conservative polyhedron polymerization shade volume as viewed from regarding unit, and polyhedron polymerization is cloudy Shadow volume includes(Conservatively)Be blocked region.
Fig. 7-Figure 11:Detailed description to the output of first embodiment
Fig. 7 A shows with summit V1To V8Convex regard the figure of unit and non-convex polygonal mesh M1.Shown with thick line Go out the single order profile side as viewed from regarding unit of grid.By single order profile while in two while be labeled as A and B.This be along from Depending on unit towards polygonal mesh the perspective view seen of general direction.
Single order profile side A has front in the face of at least one is regarding a composition polygon on unit summit.This composition is polygon Shape is by side A and to be labeled as the triangle that the grid vertex of MV1 is formed.While A another composition polygon be by while A and Fig. 7 B1 The triangle that the grid vertex MV2 illustrating is formed.This composition polygon back side is in the face of all summit V regarding unit1To V8.Note, Total in A this two composition polygons each other the back side in the face of so that while A be polygonal mesh M1 local support side and single order Profile side.Can be identified below faced by two composition polygon back sides of total side A:Select the first composition polygon(For example, by The triangle that side A and summit MV2 is formed), and determine another summit constituting the polygonal part not being total side(Example As being summit MV1 in this case)It is located at the face side including the first polygonal plane or rear side.If do not had Summit is located at another rear side constituting polygonal plane, then two constitute faced by the polygon back side, such as in this case.Can To make this determination using the plane equation as described in the definition at " faced by the back side " providing from vocabulary.At some In embodiment, the process shown in Fig. 3 is repeated on each side including for polygonal mesh M1, to identify polygonal mesh M1 Each single order profile side.
Fig. 7 B1 shows the figure with the polygonal mesh object M1 identical polygonal mesh object described in Fig. 7 A, but It is for along the perspective view towards from the point of view of depending on the general direction of unit from polygonal mesh.According to this figure, side B has faced by the back side All summit V depending on unit1To V8One triangle(Formed by side B and grid vertex M3).As shown in Figure 7 A, side B tool Have by side B and grid vertex MV1 formed another triangle, this composition triangular face in the face of at least one regard unit top Point.Additionally, total this two composition polygons in B each other the back side in the face of so that while B be polygonal mesh M1 local support While and during single order profile.
Fig. 7 B2 shows the different polygonal mesh of the polygonal mesh drawn from Fig. 7 B1.By this polygonal mesh It is labeled as M3.The a line thick line of polygonal mesh M3 illustrates and is marked as I.This side has as being marked as T1's One composition polygon of triangle and another composition polygon as the triangle being marked as T2.
Constitute the polygon T1 back side in the face of being labeled as all summits regarding unit of " depending on unit ", this is because all of regard Unit summit is located in the rear side of plane including triangle T 1.
Triangle T2 have positioned at include triangle T 2 plane face side at least one regard unit summit, I.e. T2 front is in the face of at least one is regarding unit summit.
Therefore, triangle T1 and T2 meets and makes them common while for respect to during regarding the single order profile of unit Two criterions in required criterion.
However, due to this two triangle be not each other faced by the back side, so total side I is not single order profile Side.This by selecting triangle T 1 and can identify another triangle(T2)Be not that the summit on summit on total side is come really Fixed.This summit is P2 in this case.Summit P2 is located at and includes in the face side of plane of another triangle T1.Permissible Plane Equation using the triangle T 1 as described in describe in the vocabulary for " faced by the back side " establishes this thing Real.
Because T1 and T2 not faced by the back side, in one embodiment, fails the exemplary flow by Fig. 3 each other The judgement test illustrating at the step 345 of figure or 330.
Fig. 7 C1 shows the figure of the support polygon for single order profile side A and B.Support for single order profile side A Polygon is marked as SPA, and is marked as SPB for the support polygon of single order profile side B.Corresponding support regards unit Summit(SVV)It is respectively labeled as SVVA and SVVB, it corresponds respectively to regarding unit summit V4And V8.This is along from regarding unit The perspective view looked towards the general direction of mesh object.
Fig. 7 C2 is to respectively illustrate to push up for support polygon SPA and SPB of single order profile side A and B and corresponding source Point-Grid Edge(SV-ME)The figure of wedge shape.Support polygon for single order profile side A is marked as SPA, and is directed to single order The support polygon of profile side B is marked as SPB.Corresponding support regards unit summit(SVV)Be respectively labeled as SVVA and SVVB.The SV-ME wedge shape being formed by extending support polygon SPA is marked as SV-ME WA.By extending support polygon The SV-ME wedge shape that SPB is formed is marked as SV-ME WB.According to some embodiments, the place according to Fig. 1, Fig. 4 and Fig. 6 A Manage and to construct SV-ME wedge shape WA and WB.This be along from regarding unit towards the perspective view as viewed from the general direction of mesh object.
Fig. 7 C3 is the figure that illustrate only by extending the SV-ME wedge shape that the side of corresponding support polygon is formed.Pass through The SV-ME wedge shape extending support polygon SPA formation is marked as SV-ME WA.By extending what support polygon SPB was formed SV-ME wedge shape is marked as SV-ME WB.Corresponding support regards unit summit(SVV)It is respectively labeled as SVVA and SVVB.This Be along from regarding unit towards the perspective view as viewed from the general direction of mesh object.
Although Fig. 7 C1- Fig. 7 C3 shows the wedge shape being incident on single order profile side A and B, other embodiment according to Process shown in Fig. 1, Fig. 3 to Fig. 6 B is constructing each single order being comprised for included single order profile contour in grid M1 The wedge shape on profile side.
Fig. 7 D1 shows the figure with object identical object shown in Fig. 7 C1, but is along from mesh object M1 direction The perspective view looked depending on the general direction of unit.
Fig. 7 D2 shows the figure with object identical object shown in Fig. 7 C2, but is along from mesh object M1 direction The perspective view looked depending on the general direction of unit.
Fig. 7 D3 shows the figure with object identical object shown in Fig. 7 C2, but is along from mesh object M1 direction The perspective view looked depending on the general direction of unit.
Fig. 7 D4 with identical visual angle show with the polygonal mesh shown in Fig. 7 D3 and regard unit identical polygon latticed Lattice and regard unit.Fig. 7 D4 shows intersecting two pivot wedge shapes at the outside angular vertex of single order profile contour.
Pivot one of wedge shape and be marked as SV-ME WA, it can also be seen in Fig. 7 D3.Fig. 7 D4 show another Outer pivot wedge shape SV-ME WC.This wedge shape regards unit summit by the single order profile side being labeled as C and the support being labeled as SVVC To support.
Two pivot the outside angular vertex that wedge shape SV-ME WA and SV-ME WC has single order profile side.This summit is labeled For OCV.As defined in the step 125 and 140 of the exemplary process diagram in Fig. 1, in one embodiment, have outside The pivot polygon of angular vertex intersects each other.
Have outside corner contours summit and be switched to the identical pivot polygon supporting regarding unit summit at total side Completely intersecting each other.In this case, total side is the ray extending from common summit and is located at and regards unit by supporting On summit and the common line of outside angular vertex formation.This in particular cases, this two pivot wedge shapes common Limit each other on side.
(Have internal corner contours summit and be switched to the identical pivot polygon supporting regarding unit summit also common Side at completely intersecting each other.In this case, there is not scanning support polygon and do not generate corresponding scanning wedge shape.)
In general, the pivot wedge shape having outside angular vertex can be switched to different supports regarding unit summit. In Fig. 7 D4, wedge shape SV-ME WA is by regarding unit summit V4Support, and SV-ME WC is supported by SVVC.In this case, wedge shape The cross-shaped portion of SV-ME WA and wedge shape SV-ME WC is the line segment being marked as I.Wedge shape SV-ME WC is divided into two by line segment I Point.The proximal part of the wedge shape SV-ME WC being segmented is defined with the summit being labeled as VE by line segment I.The one of this proximal part Part is blocked in the figure.
This proximal part of wedge shape SV-ME WC is fully visible in Fig. 7 D5, and it is shown with Fig. 7 D4's with different visual angles Object identical object.This proximal part is marked as SV-ME WCR in Fig. 7 D5.
Usually, have outside angular vertex and be switched to the phase that different supports regard two pivot wedge shapes on unit summit Intersection leads to one of above-mentioned wedge shape to be constrained to proximal part(For example, SV-ME WCR(Indicate limited wedge shape C))And far-end Part.Only this partly limited wedge shape proximal part is actually the shadow event surface as viewed from regarding unit.(Only This proximal part is corresponding polyhedron polymerization shade(PAU)Polygon).Limit and along away from regarding list because this exceeds The distal portions in the direction of unit are entirely located in the side that is not blocked of adjacent wedge shape, thus this distal portions does not indicate that in terms of depending on unit The shadow event surface gone.In example shown in Fig. 7 D4 and Fig. 7 D5, positioned at not hidden of distal portions of SV-ME WC Gear side and the grid polygon that is blocked on side are not actually blocked as viewed from depending on unit summit SVVA, therefore, from regarding Unit is looked and is not blocked.
The local limit of the pivot wedge shape being led to by the adjacent pivot wedge shape on total outside corner contours summit is in some situations The fully little wedge shape of lower generation.Because this is less, the wedge shape of local restricted has the additional closed boundary limiting process, institute With when this wedge shape submitted to carry out the observability timing really with regard to wedge shape, this wedge shape may need fully few process(Example As at the step 1515 in a kind of embodiment that the 2D trellis traversal shown in the exemplary process diagram using Figure 15 is processed).
Therefore, local limit processes the determination that can speed up the observability with regard to wedge shape.Can also adopt and not use this office Portion limits the alternate embodiments processing.Any wedge shape not limited by other wedge shapes is still intersected with grid polygon to produce Raw discontinuous grid section.Then, contained using polyhedral point of the modification described in the exemplary process diagram in Figure 25 Property test, to make with regard to this discontinuous section be whether actually the shadow edge as viewed from regarding unit determination.This test Suitable local restricted and unrestricted wedge shape.
Discussing above assumes that adopted wedge shape is all single order wedge shape.High-order wedge shape stands as in one embodiment Described wedge-wedge intersects(Limited by other wedge shapes), for example, showing for determining whether DM_SEG is actual In the step 2155 of exemplary process diagram of the method for Ouluding boundary section as viewed from regarding unit.
Fig. 8 A1 shows and is located at the inner corners being had by the single order grid profile side being labeled as A and B of mesh object M1 Scanning triangle on summit(SE-MV support triangle shape)Figure.This scanning triangle is marked as ST_AB.In some enforcements In mode, generate scanning triangle ST_AB using the scan process shown in Fig. 5 A and Fig. 5 B, scanning is anchored at and is marked as ICSV and from SVVA(V4)To SVVB(V8)To occur.In this case, inner corners grid profile summit is single order profile week Line(That is, the contour being formed by all single order profile sides of mesh object M1), the single order profile being formed at two total summits Simple inner corners at side.This be along from depending on unit towards the perspective view from the point of view of the general direction of mesh object, its with figure Figure shown in 7A with Fig. 7 C1 is similar.
Fig. 8 A2 shows the scanning triangle in the inside angular vertex being had by the single order profile side being marked as A and B (SE-MV support polygon)Figure.Scanning triangle is marked as ST_AB, according to some embodiments, using in Fig. 5 A and figure Scan process shown in 5B scans triangle ST_AB to generate, and this scanning is anchored at the inside corner contours being labeled as ICSV Apex and from SVVA(V4)To SVVB(V8)Carry out.In this case, inner corners grid profile summit is single order profile week Simple inner corners at two single order profile sides line, being formed at total summit.By extending what scanning triangle was formed Corresponding SE-MV wedge shape is marked as SE-MV WAB.According to some embodiments, the process according to Fig. 6 B is forming SE- MV wedge shape WAB.In this regard, passing through internal angular vertex and extending the side of polygon ST_AB to form SE-MV WAB.This is along regarding , towards the perspective view from the point of view of the general direction of mesh object, it is similar with the figure shown in Fig. 7 A and Fig. 7 C2 for unit.
Fig. 8 A3 shows the figure on the inside corner contours summit being marked as ICSV.Formed by extending scanning triangle Corresponding SE-MV wedge shape be marked as SE-MV WAB.This be along from depending on unit towards the general direction of mesh object from the point of view of Perspective view, it is similar to the figure shown in Fig. 7 A and Fig. 7 C3.
Fig. 8 A4 shows the single order Conservative Linear shadow event surface being incident on A and B of profile side(CLUES)'s Figure.As shown in Fig. 8 A4, continuous shadow event surface includes two SV-ME wedge shapes(Be marked as SV-ME WA and SV-ME WB), and include single SE-MV wedge shape in this case(It is labeled as SE_MV WAB).Corresponding support regards unit Summit is marked as SVVA and SVVB, and inner corners single order profile summit is marked as ICSV.This be along regarding unit towards grid The perspective view that the general direction of object is looked.As shown in Fig. 8 A4, by SV-ME WA, SE-MV WAB and SV-ME WB group Become CLUES formed Ouluding boundary, the wherein side that is not blocked on this border along the direction of arrow U1, and be blocked side along The direction of arrow O1.
Fig. 8 B1 shows the figure with the object identical object shown in Fig. 8 A1, but from along from mesh object M1 The perspective view looked towards the general direction depending on unit.
Fig. 8 B2 shows the figure with the object identical object shown in Fig. 8 A2, but from along from mesh object M1 The perspective view looked towards the general direction depending on unit.
Fig. 8 B3 shows the figure with the object identical object shown in Fig. 8 A3, but from along from mesh object M1 The perspective view looked towards the general direction depending on unit.
Fig. 8 B4 shows the figure with the object identical object shown in Fig. 8 A4, but from along from mesh object M1 The perspective view looked towards the general direction depending on unit.
Identical with Fig. 8 A4, Fig. 8 C shows the single order Conservative Linear shadow event table being incident on A and B of profile side Face(CLUES)Figure.This continuous shadow event surface includes two SV-ME wedge shapes(It is labeled as SV-ME WA and SV-ME WB), and include single SE-MV wedge shape in this case(It is marked as SE-MV WAB).This be along regarding unit towards net The perspective view that the general direction of lattice object is looked.
Fig. 9 A shows by Teller(1992)Description linearisation non-penumbra art methods come constructing, enter Penetrate the figure on the shadow event surface on A and B of profile side.This existing skill in the finiteness problem being only used for entry sequence observability In art method, it is based entirely on the plane of support polygon to construct shadow event surface.Be incident on A and B of profile side these The part of supporting plane is illustrated and is labeled as " WPLANE_A " and " WPLANE_B ".Intersect to form at the online L1 of these planes It is incident on the continuous visibility events surface on A and B of profile side.
In the linearisation non-penumbra art methods of Teller, Teller(1992), by entrance only will be incident on Side and the intersecting next approximate visibility events surface of plane being regarded point-supported support polygon by source, wherein source is in entry sequence In front entrance.These support polygons correspond to SV-ME support polygon(Nomenclature using present embodiment).Teller Method do not adopt corresponding SE-MV support polygon in the construction on shadow event surface, but using these are polygonal Plane.
On the contrary, the SV-ME wedge shape being constructed in the embodiment is the semo-infinite for ray by support polygon Extend the semo-infinite polygon laterally limiting.SV-ME wedge shape is also limited on corresponding single order profile side.Teller " wedge Shape " is virtually free from the plane laterally limiting.The present embodiment of construction " Teller wedge shape " extends at inner corners The plane of adjacent S V-ME wedge shape is until above-mentioned plane intersects.
In following analysis, show:Intersect with the plane of the only one kind of support polygon using Teller Method compare, by using the visibility events surface being constructed according to SV-ME and SE-MV support polygon, this method The significantly more accurate visibility solution in terms of region can be provided.
It has to be emphasized that Teller(1992 California Berkeley doctor's thesis)Method by only It is designed to provide the scheme of the limited visibility problem through polygon entry sequence.Because in the method for Teller, Support visibility events surface margin in the side of entrance, so the method nonrecognition of Teller constructs visibility events table thereon The profile side in face.Because the method for Teller does not apply intersecting plane method to construct on the profile side of General polygon meshes grid Visibility events surface;Following analysis is equivalent to the intersecting plane method of Teller(Assume to be applied to polyhedron environment In the observability in terms of region general considerations)With this method pivoting and scanning visibility events surface structure(It is actual Above it is used for more generally visibility problem)Theory comparison.
Fig. 9 B shows the figure with the object identical object of Fig. 9 A, but from along mesh object towards regarding unit Visual angle.
Fig. 9 C and Fig. 9 D show with will by prior art intersect supporting plane method generation shadow event surface The figure on more accurate shadow event surface comparing, being produced by this method.In Fig. 9 C and Fig. 9 D, by the wedge shape of this method Pivot and the shadow event surface of scanning construction formation is shown as being superimposed upon by the intersecting supporting plane shape of art methods On the shadow event surface becoming.According to the perspective view of Fig. 9 D, along from regarding unit towards as viewed from the general direction of mesh object, can To find out method compared to existing technology, this method creates larger, more accurate shade volume.Compare only flat using supporting The cross-shaped portion in face, increases according to scanning triangle(SE-MV support polygon)The SE-MV wedge shape generating creates larger guarding Shade volume(It is therefore more accurate visible entity sets).Different from the art methods of intersecting plane, scanning regards single This method of first profile contour can explain depending on cell surface with regard to internal corner contours apex observability comprise imitate Really.Thus, adjacent supports polygon is switched to any profile week with internal angular vertex on the different summits depending on unit Line, this method can the more accurate result of producing ratio intersecting plane method.
Fig. 9 D also show:The shadow event surface being produced by this pivot and scan method is flat with by intersecting of prior art Deviation between the shadow event surface that face method produces is tended to increase with the distance away from the profile side being supported and summit And increase.Therefore, for most of internal corner contours summits, the precision of this method can be far above existing using intersecting plane The precision of technical method.
Fig. 9 D shows the figure with the object identical object shown in Fig. 9 C, but along from mesh object towards regarding list The visual angle that the general direction of unit is looked.
For the image sequence view identifying conservative support polygon and construct corresponding wedge shape(flipbook)
When to observe in a particular order, the subset of Fig. 7 to Fig. 9 provide for identify conservative support polygon and Construct the image sequence view of the method for corresponding wedge shape.These order is set forth below:
Pivot support polygon & wedge shape:Generally to observe after depending on unit:7A、7C、7C1、7C2.
Pivot support polygon & wedge shape:Generally to observe before depending on unit:7B、7D、7D1、7D2.
Scanning support polygon & wedge shape:Generally to observe after depending on unit:7A、8A、8A1、8A2、(Show pivot Turn the 8A3 of the combination of wedge shape and scanning wedge shape).
Scanning support polygon & wedge shape:Generally to observe before depending on unit:7B、8B、8B1、8B2、(Show Pivot the 8B3 of the combination of wedge shape and scanning wedge shape).
Figure 10 A shows and the grid polygon shown in Fig. 9 A and Fig. 9 B and depending on unit identical grid polygon and regarding The figure of unit, but with the perspective view along the general direction observed from the polygonal lower section of grid.Figure 10 A shows and Fig. 9 C Shown single order visibility events surface(Wedge shape)Identical single order visibility events surface.Specifically, show and be incident on one Rank profile while the SV-ME WA on A, be incident on single order profile while B on SV-ME WB and SE-MV WAB.
Also show two other single order SV-ME wedge shapes W4 and W5.The support of wedge shape W4 and W5 is V depending on unit summit3. Show the cross-shaped portion of these wedge shapes.Wedge shape intersects each other and wedge shape is intersected with other grid polygons, to form shade side Boundary's polygon(UBP).These UBP form single order polymerization shade(PAU)Face.The spatial volume being surrounded by PAU is from corresponding regarding list Unit looks and is blocked for single order.The UBP of the cross-shaped portion corresponding to wedge shape is not clearly shown in Figure 10 A, but it is permissible From illustrating being inferred to of intersection.Ignore some wedge shapes forming complete PAU in wedge shape, enabling see single order PAU's Partial internal structure(For example, the cross-shaped portion of wedge shape W4, W5, SV-ME WA, SE-MV WAB and SV-ME WB).
Figure 10 B is and the polygonal mesh shown in Figure 10 A(M1)Identical polygonal mesh(M1)View.In Figure 10 B In, grid M1 be to observe from the visual angle similar with the visual angle of Fig. 8 C depending on unit, generally inside the inclusion of grid M1 Observe at " top " side of angle Grid Edge.This view is very different with the M1 being given in Figure 10 A with depending on the view of unit. Note, in both of the figures, the same edge of M1 is marked as E and is located at " bottom " of grid M1.Also mark in both of the figures Remembered while A and while B.
The side that is blocked of wedge shape is shown in Figure 10 A.
Show the side that is not blocked of corresponding UPB in fig. 1 ob.
Figure 10 B shows five UBP by making corresponding wedge shape intersect and be formed with other wedge shapes.
UBP-A is by corresponding wedge shape(SV-ME WA)With wedge shape W5(Shown in Figure 10 A)Cross-shaped portion formed.UBP-A Also limited by the cross-shaped portion of SV-ME WA and wedge shape W4 shown in Figure 10 A.Conceal W4 completely in fig. 1 ob, but In fig. 1 ob the cross-shaped portion of W4 and SV-ME WA is shown as being marked as the side of F.When F is UBP-A.Additionally, UBP-A Have common edge with UBP-AB(It is derived according to the SE-MV WAB shown in Figure 10 A).
UBP-AB is to be formed with wedge shape W4 and with the cross-shaped portion of the wedge shape of UBP-D by SE-MV WAB.Due to corresponding wedge The scanning construction of shape SE-ME WAB, so UBP-AB and UBP-A and UBP-B has common edge.UBP-AB also be subject to its with Pivot wedge shape corresponding to UBP-D(Supported by Grid Edge D)Cross-shaped portion restriction.
UBP-5 is by corresponding pivot wedge shape(W5 shown in Figure 10 A, it has corresponding support and regards unit summit V3)Formed with W4 and with the cross-shaped portion of SV-ME WA.
UPB-D is by the wedge shape being incident on single order profile side D(Not shown wedge shape, but there is support and regard unit summit V8) The wedge shape supported with wedge shape SV-ME B, SE-MV AB and W4 and by side E(Not shown wedge shape)Cross-shaped portion formed.
UBP forms the border of the PAU for M1.The UBP of the PAU of not every formation M1 can be given in fig. 1 ob View in see.
Figure 10 B shows the wedge shape being entirely limited by other wedge shapes.Using completely limited wedge shape(For example, the showing of Figure 26 The sensitive construction of output of the PAU in example property flow chart)Embodiment be possible.Additionally, using partly limited wedge shape (For example, the SV-ME wedge shape intersecting each other at the single order profile side of outside angle)Embodiment for example can be alternatively for use in PCT The output sensitivity structure of the observability figure shown in the exemplary process diagram of Figure 20 that patent application the PCT/US2011/042309th In making, the sensitive construction of this output employs in the step 140 of exemplary process diagram that can be alternatively figure 1 illustrates to be retouched The SV-ME wedge shape that the intersecting adjacent SV-ME wedge shape stated limits.Additionally, because described determination wedge shape is polygon with grid Whether the cross-shaped portion of shape is actually the method for Ouluding boundary(The polyhedral pardon test using modification)Making this The locally or globally restriction of priori not needing wedge shape and other wedge shapes before determination is not it is possible to have such local wedge Using these wedge shapes in the case of shape-wedge shape restriction.
Figure 11 A shows the single order visibility events surface generating in the case of compound-contoured contour by this method (Wedge shape)Figure.In this case, SV-ME wedge shape(" wedge shape 1 ")It is incident on single order profile side A1(Propped up by single order profile side A1 Support)." wedge shape 1 " is intersected with the single order profile side being labeled as B1.As shown in Figure 2 as discussed, " wedge shape 1 " is by single order profile side B1 It is divided into the side that is blocked(B1O)Be not blocked side(B1V).This figure is identical with the figure of Fig. 2.
Single order wedge shape " wedge shape 1 " is the compound-contoured summit being labeled as CSV with the cross-shaped portion on single order profile side.Compound-contoured Vertex correspondence is in the inner corners of compound-contoured contour.Using the term of catastrophe theory, CSV corresponds to the t summit of obtained manifold. Catastrophe theory is included to manifold face(For example, manifold grid)On point singularity(For example, CSV or T summit)And week line singularity (For example, single order profile side)Research.
" wedge shape 2 " is single order visibility events surface(SV-ME wedge shape), it is by the visible part for single order profile side B1 Section B1V supports or is incident on section B1V.
Therefore, " wedge shape 1 " and " wedge shape 2 " is intersecting two SV-ME wedge shapes at point CSV.Because " wedge shape 1 " and " wedge Shape 2 " is to regard unit summit by using different supports(It is SVV1 and SVV2 respectively)Using the pivot pivoting with scan method Process(Fig. 4 A and Fig. 6 A)Come to construct, so this two wedge shapes do not engage to form the visible sexual behavior of continuous shade on side Part surface.
This pivot and the scan process of scan method(Fig. 5 A and Fig. 5 B and Fig. 6 B)For constructing " wedge shape 1 " and " wedge Shape 2 " is bonded into the SE-MV wedge shape on continuous shade visibility events surface(SE-MV WA and SE-MV WB).Wedge shape SE-MV WA is that basis is created on CSV, SVV1 and supports regarding unit profile contour(SVSC)On the IVV1 of summit between two parties between support SE- MV triangle is forming.The extension of two side crossing point CSV of this support triangle shape defines semo-infinite wedge shape SE-MV WA. Similarly, wedge shape SE-MV WB according to be formed at CSV, SVV2 and support regard unit profile contour(SVSC)On summit between two parties Support SE-MV between IVV1(Scanning)Triangle is forming.The extension shape of two side crossing point CSV of this support triangle shape Become semo-infinite wedge shape SE-MV WB.
SE-MV WA and SE-MV WB connects at common edge.SE-MV WA has common edge with " wedge shape 1 ".SE-MV WB Have common edge with " wedge shape 2 ".The wedge shape of this four connections constitutes the continuous single order shade being incident on A1 and B1V of profile side The part on visibility events surface.The view of Figure 11 A shows the side that is blocked of " wedge shape 1 "(Arrow O1)" wedge shape 2 " (As viewed from regarding unit, single order)Be not blocked side(Arrow U1 and U2).The view of Figure 11 A shows SE-MV WA and SE- " by comprising " of MV WB(As viewed from regarding unit, single order)Side.As shown in Figure 11 A, wedge shape " wedge shape 1 ", SE-MV The cross-shaped portion of WA, SE-MV WB and " wedge shape 2 " defines continuous event surface, and arrow U1 and arrow U2 represents this event surface The side that is not blocked.Figure 11 B is and the structure identical different views shown in Figure 11 A.In Figure 11 B, this view be up towards Look in the side that is not blocked to be blocked side and " wedge shape 2 " of " wedge shape 1 ".Figure 11 B also show SE-MV WA and SE-MV WB " by comprising "(As viewed from regarding unit, single order)Side.
This summarizes the description of first embodiment.In this manual it is proposed that being used for generating single order visibility events The process in face.Other embodiment specifies the polygon processing grid and side to generate the secondary of single order visibility events surface Sequence.Still other implementations accurately detail how to determine the polygon being blocked and many using visibility events surface Side shape fragment.In the detailed description of following alternate embodiments, disclose following trellis traversal algorithm:Have tending to In the vertical observability figure construction algorithm of output sensitive property, the single order wedge configuration and in terms of depending on unit of effectively interlocking The observability gone determines.
Figure 11 A shows that the single order being incident on B1V being marked as " wedge shape 2 " pivots wedge shape.Figure 11 A shows by On compound-contoured summit(CSV)The intersecting single order in place pivots the continuous shadow event surface that wedge shape and scanning wedge shape are constituted.
Figure 12 A to Figure 12 C shows and blocks for the high efficiency static that has identifying observability in figure(ESO)From regarding list Unit looks the region method being blocked and for guarding to the zone boundary being blocked and corresponding grid profile contour The exemplary process diagram of the process simplifying.
In some embodiments, using the discontinuity gridding method of prior art or in PCT Patent Application No. PCT/US2011/042309 Figure 20 and the output sensitivity building method of relevant in figure description, using using exemplary The single order Conservative Linear shadow event surface of the method construct of Fig. 1 to Fig. 6 is generating the conservative observability figure in terms of region.
Generally, due to identifying and removing the area of a polygon being more blocked, therefore from high precision computation The PVS that observability in figure derives leads to run time less overdraw during rendering.
But, each OB section of Occlusion Map also creates the additional polygon being added into observability figure/PVS, and this is Because the trigonometric ratio again of the original triangle intersecting with this OB section.(For one kind again Triangulation Algorithm, referring to M.de Berg,M.van Dreveld et.al in “Computational Geometry Algorithms and C.1997, page 45, entire contents are incorporated by reference in the application for Applications, Springer).This adds Geometric figure be easy to subtract simply by increasing the primitive quantity in initial geometry stage being committed to graphics pipeline Slow run time renders.
In order to reduce the overall cost that run time renders, embodiment is included for by the region generation being blocked The increase that the geometric figure that the cost that rasterizing reduces is caused with the additional geometric figure because of the region introducing that is blocked is processed The method that cost is balanced.
The method is using being referred to as effective static barriers(ESO)Heuristics eliminating the region pair that is blocked with small area The region being blocked answered, especially they introduce the situation of larger amount of additional triangular.
In relevant method, ESO is additionally operable to instruct the conservative simplification of Ouluding boundary, attempts maximization simultaneously and is blocked area Surface area.
In some embodiments, the process of Figure 12 A to Figure 12 C to be carried out as offline observability precomputation.This knot Fruit is optimized observability figure in terms of region and relevant PVS.Propose in conjunction with Figure 13, Figure 34 and relevant figure:Pass through Polygonal for grid certain edges thereof contour is labeled as and there is the profile side that the area that is blocked efficiently blocked is associated comes effectively The method of the structure of storage observability figure.In the method, the profile side basis at runtime of preliminary making can be used Adjacent(Comprise)Observability figure/PVS depending on unit to calculate effectively for the observability figure/PVS regarding unit.Figure 12 A is to figure The method of 12C includes the Ouluding boundary not only simplifying observability figure but also is the corresponding of original mesh object by this information Store The step of the profile contour simplifying.To carry out this process as precomputation with the run time method using Figure 20 and about figure Prepare the actual Incremental Construction of observability figure/PVS data.
In some embodiments, when the area that is blocked encountering observability figure(OR)When, handling process is from step 1205 Start.
Handling process marches to step 1207, to determine the number of the original mesh triangle being blocked completely in this OR Amount.In alternative embodiment, the quantity of the original mesh triangle that determination part is blocked.It is also in step 1207, Using being located at the viewpoint in unit that it is constructed with observability figure, come to the original mesh triangle being partly blocked in this OR The image-space area of the original mesh triangle being blocked completely is estimated.
Handling process marches to step 1210 and is produced by the trigonometric ratio again of the original mesh triangle of OR boundary with determining Raw additional triangular(It is located at the area that is not blocked adjoining current OR)Quantity.
Handling process marches to step 1213, wherein to determine pin using the measured value determining in step 1207 and 1210 Effective static barriers are referred to as to whole OR(ESO)Heuristic variable.
In some embodiments, ESO be intended to empty with the image of triangle/triangle segments that is blocked in OR Between area(ISA)Proportional variable.In other embodiment, ESO inspires and also includes reflecting the operation of rasterizing This coefficient of time cost.
According to some embodiments, ESO is confirmed as producing within a grid with the trigonometric ratio again due to OR boundary The quantity of the additional triangle not being blocked become certain inverse ratio.In other embodiment, ESO inspires and also includes reflecting The coefficient of the item of run time cost of geometric manipulations and the reflection storage of additional triangular and other coefficients of transmission cost. Although employing Figure 20 and the increment run time PVS building method about figure, can be by carrying out weight at runtime The storage/transmission cost to eliminate these additional trianglees for the new trigonometric ratio.
According to some embodiments, ESO is represented by below equation:ESO=F(Be blocked polygonal quantity, is hidden Keep off polygonal image space area, the quantity of the 1/ new visible polygon adding at Ouluding boundary).In other embodiment party In formula, ESO can be represented with any desired function.
The other embodiment of this method is possible:It include specific OR generate actually produce the fortune improving The row time renders the supplementary variable in " effectiveness " determination blocked of performance.
Handling process marches to decision steps 1215 to determine whether ESO is more than or equal to designated value " value 1 " from 1213.As Fruit in decision steps 3015 determine ESO be not greater than or equal to value " value 1 ", then handling process marches to step 1217, wherein from Remove whole OR in VM and store original, not trigonometric ratio again the triangle of polygonal mesh.In this regard, in embodiment In, if the ESO being associated with OR is not greater than or equal to " value 1 ", OR is not effective Ouluding boundary.For example, ESO value with Increased and reduced by the quantity that trigonometric ratio again processes the new triangle creating, expressing possibility does not keep OR effectively, and this draws Play again trigonometric ratio to process.Handling process terminates at 1217.
Following alternate embodiments are possible:Those original mesh triangles shapes that only storage part is blocked again and Keep OR.The triangle that part is blocked is by OR border(OB)Place trigonometric ratio again come to produce additional triangular those Triangle.By only storing these trianglees, decrease the number of triangles in VM and still removed from VM/PVS The triangle being entirely blocked.
On the other hand, if determining that in decision steps 1215 ESO is more than or equal to value " value 1 ", handling process is advanced To step 1219, with determine the triangle being configured to OR border in the area that is blocked adjoining current OR additives amount whether Exceed " value 2 ".
If determining that in decision steps 1219 additives amount of constructed triangle is not greater than or equal to " value 2 ", Handling process marches to step 1218, wherein current OR(With the triangle being produced by the borderline trigonometric ratio again of current OR Shape)Keep not changing.If in this regard, the quantity very little of additional triangular, can more efficiently keep OR.
On the other hand, if determining the additives amount of constructed triangle in step 1219 more than or equal to " value 2 ", Then handling process marches to step 1220.
Step 1220 is to 1226 enforcement following methods:Attempt by conservatively remove OR and VM with OR Ouluding boundary phase The adjacent triangle exposing in area handed over, to reduce the number of the additional triangular causing on the adjacent region not being blocked Amount.Using the method, it is presently believed that the adjacent triangle in area, being previously limited at OR Ouluding boundary that is not blocked is complete Entirely it is not blocked, and replace these limited trianglees using original mesh triangles shape.This passes through to eliminate Ouluding boundary Again the trigonometric ratio at place and conservatively increased from the corresponding area depending on not being blocked as viewed from unit and decrease triangle Quantity.
Handling process marches to step 1220, wherein by " border _ triangle(BOUNDARY_TRIANGLES)" be identified as Those trianglees intersecting/adjoining with the Ouluding boundary of VM blocked area.
Handling process marches to step 1221, wherein removes " border _ triangle " from OR and will be corresponding(Again Trigonometric ratio)Edge triangles remove from the adjacent area of exposing of VM, and the net using original, larger not trigonometric ratio again Lattice triangle is replacing.These larger trianglees include primitively being only included in some surface areas being blocked in area, but Be not again after trigonometric ratio step 1221 it is believed that larger original triangle is blocked completely, even if only above-mentioned triangle Part be likely located at and be blocked in area.
Handling process marches to step 1222, is wherein arranged to by OR's OR with the adjacent new border exposed between area The Polygonal Boundary that the triangle adjacent with identification in step 1221 original mesh triangles shape is formed.This step is conservatively It is in the OR of original calculation that the border of OR is redefined.Also be potentially reducing by conservatively redefining OR border The complexity on border and decrease the quantity of the triangle in OR.
Follow-up decision steps 1223 are similar with decision steps 1215, and in this case determine as step 1220 to Whether determine in 1222, conservative the redefining along the Ouluding boundary on the side of original mesh triangle creates and blocks foot The triangle of enough amounts and/or block the blocked area with enough trianglees of image space area.
If determine the quantity of the triangle being blocked in decision steps 1223 and/or image space area exceeded pre- Definite value(For example, " value 44(VALUE44)”), then handling process march to step 1224, wherein by blocked area and adjacent exposing Area is maintained at their current state.
On the other hand if it is determined that the quantity of OR intermediate cam shape or ISA(Image space surface area)It is not above predetermined value, Then handling process marches to process 5-1, and whether its triangle subdivision level from determination OR has exceeded particular value(For example, " value 4(VALUE4)”)Decision steps 1225(Figure 12 B)Start.
If determining that in decision steps 1225 the triangle subdivision level in OR is not above predetermined value, handling process March to step 1226, wherein the triangle of OR is further segmented(For example, segmented come according to 1 using midpoint-side Triangle creates 4 trianglees).Make to also extend to the adjacent pole exposing area in OR with this process of 1225 test Big triangle is gradually subdivided into less triangle, the quantity of the triangle in the area that is blocked and/or triangle ISA exceedes " value 44 "(Step 1223)Or till the horizontal exceeding " value 4 " of subdivision.Handling process marches to process from 1226 12-2, handling process is back to step 1220 by it(Figure 12 A).
If determining the predetermined value of the subdivision horizontal exceeding of triangle in OR, handling process in decision steps 1225 March to step 1227 conservatively to simplify OR Ouluding boundary.Execute these to simplify to increase the ESO of OR.
In step 1227, profile contour will be formed(Construct the Ouluding boundary on the border including current OR according to it (OB)Section)The in-order list on profile side be stored as array " SIL_LIST ".For any internal corner contours summit(No matter Simple or compound), associated being also stored in " SIL_LIST " depending on unit profile side of VSVSC, this is because they There is the corresponding wedge shape for OR border.
Handling process marches to step 1228 to be stored in the initial segment of array in variable SIL.
Handling process marches to step 1229 so that the next section in " SIL_LIST " is stored in variable " NEXT_SIL " In.
Handling process marches to decision steps 1231 to determine whether SIL and " NEXT_SIL " form the outside of profile contour Angle(Salient angle).
If determining that in decision steps 1231 SIL and " NEXT_SIL " form profile contour(With corresponding OR border)'s Outside angle(Salient angle), then handling process march to process 12-4, its from the beginning of step 1240 place, to connect SIL and " NEXT_ SV-ME wedge shape is constructed on the line segment on non-shared summit of SIL ".Using the VM figure building method previously specified, by wedge shape and grid Polygon intersects to form DM_SEG, for the observability as viewed from depending on unit, above-mentioned DM_SEG is tested above-mentioned to determine Whether DM_SEG is effective OB_SEG of VM.These new conservative OB_SEG can be intersected and other with mesh triangles shape OB_SEG is not intersected with original OR border.
Handling process marches to step 1242, determines the ESO in the region between new OB and original OB and is deposited Storage is in variables D _ ESO(Represent the ESO in the poor region between new and old OB)In.This ESO to just pass through the conservative transposition of OB by " effectiveness " of the blocked area removing is estimated.
Handling process marches to step 1250 to determine whether D_ESO is less than predetermined value " value 3(VALUE3)”.
If determining that in decision steps 1250 D_ESO is less than predetermined " value 3 ", handling process marches to step 1260.If the D_ESO in difference region is very low, the quantity very little of triangle being blocked in difference region and/or they have Relatively small surface area.Additionally, low D_ESO value can indicate exist in difference region can be caused by trigonometric ratio again additional The mesh triangles shape that is blocked of geometric mass part ground.
In step 1260 because difference region there is relatively low D_ESO value, by OR in step 1240 again The conserved boundary calculating is stored as the new OR border in the area for this figure.
Handling process marches to step 1270, wherein alternatively, optionally stored introduced by new OR border again three The triangle of keratinization.Mesh triangles shape part being blocked again is conservatively considered not being blocked, thus reducing The newly geometric amount that can be produced by trigonometric ratio again.
Handling process marches to step 1280, wherein wall scroll will be become to guard for being effectively folded (collapse) Profile while two profiles while SIL and " NEXT_SIL " data from represent mesh object labeled as viewed from regarding unit The chain type list of profile contour in remove.As discussed in detail in the relevant figure with reference to Figure 13 and embodiment, will be labeled Outline data be stored as the chain type list with simple profile summit and the corresponding data structure of CSV.In step 1280, right The individual node of chain type list(“CONTOUR_NODE”)Modify to reflect the folding on side.
If determining that in decision steps 1250 D_ESO in difference region is not less than predetermined value, handling process marches to step Rapid 1284, wherein keep original OB, this is because:Due to the trigonometric ratio again of OR boundary, difference region is easy to effectively hide The gear mesh triangles shape of relatively large amount or the part with relative high surface area of mesh triangles shape, and do not introduce and add too much Triangle.
Handling process marches to step 1290, wherein SIL is arranged to " NEXT_SIL " and handling process marches to place Reason 12-5, handling process is back to step 1229 by it, under wherein passing through " NEXT_SIL " is arranged in " SIL_LIST " One untreated side to increase " SIL_LIST " effectively.
If determining that in decision steps 1231 SIL and " NEXT_LIST " form profile contour corresponding with the border of OR Inner corners, then handling process march to process 12-3, it is from the beginning of step 1235(Figure 12 C), it is right with " SIL_LIST " to determine Current contour answering, processing is the area that is blocked(OR)Outer peripheral lines or the interior contour in this area.
If determining that in decision steps 1235 current contour is outer peripheral lines, handling process marches to step 1237 to incite somebody to action Variable " optimal side(BESTSIDE)" it is arranged to value " inner side(INSIDE)”.
If determining that in decision steps 1235 current contour is not outer peripheral lines, current contour is interior contour and processes Flow process marches to step 1239, and variable " optimal side " is arranged to " outside(OUTSIDE)”.
Handling process marches to step 1245, and wherein identification is located at two profile sides of the both sides of SIL or " SIL_NEXT ", Above-mentioned side is located on contour as closely as possible(At contour array " SIL_LIST ")And make the corresponding wedge shape on above-mentioned side Plane intersects to form intersecting line upper in " the optimal side " of contour;Wherein, for outer peripheral lines, " optimal side " is that contour is " interior Side ", and for interior contour, " optimal side " is contour " outside ".Which ensure that internal corner contours summit(Simple or compound)'s The conservative simplification of the contour in region.This process can be to specify span once " to fold " more than one side by variable N.
Handling process marches to step 1255, wherein determines the ESO in the region between new OB and original OB and is stored in Variables D _ ESO(Represent the ESO in the poor region between old OB and new OB)In.This ESO is to by the conservative transposition shifting to OB Except " effectiveness " of blocked area estimated.
Handling process marches to decision steps 1265 to determine whether D_ESO is less than predetermined value " value 3(VALUE3)”.
If whether determining D_ESO in decision steps 1265 less than predetermined " value 3 ", handling process marches to step 1275.If difference region in D_ESO very low, the quantity very little of the triangle being blocked in poor region and/or they have Relatively small surface area.Additionally, low D_ESO value can represent the mesh triangles having mass part to be blocked in difference region Shape, it can cause additional geometric figure by trigonometric ratio again.
In step 1275 because difference region there is relatively low D_ESO value, by OR in step 1245 again The conserved boundary calculating to store and the triangle again by new OR border introducing as the new OR border in the region for figure The triangle changed also alternatively is stored.Again, mesh triangles shape part being blocked is considered not being blocked, thus Decrease the newly geometric amount that will produce by trigonometric ratio again.
Handling process marches to step 1289, will be effectively folded the conservative width on the profile side extending into inclusion , for N number of profile side data from represent mesh object labelling the profile contour as viewed from regarding unit chain type list In remove and remove from " SIL_LIST ".As with reference to Figure 13 and about, in the discussion of figure, the profile side of institute's labelling being stored It is and simple profile summit and CSV corresponding data structure chained list.Subsequently in handling process, in step 1280, permissible Node to chain type list(“CONTOUR_NODE”)Modify to represent the side of folding.
If determining that in decision steps 1265 D_ESO in difference region is not less than predetermined value, handling process marches to step Rapid 1291, wherein because the mesh triangles shape of relatively large amount or having of mesh triangles shape are often actually blocked in difference region The part of relatively large surface area, introduces, without the triangularization again because of OB boundary, the triangle adding too much, thus Keep original OB.
Handling process marches to step 1295, wherein SIL is arranged to " NEXT_SIL+N ", N represents by step 1245 The conservative span simplifying the side processing replacement or folding.Handling process marches to process 12-5, and handling process is back to step by it Rapid 1229, wherein effectively increased by " NEXT_SIL " is arranged to next untreated side in " SIL_LIST " in fact “SIL_LIST”.
The method of Figure 12 is applied to simple profile contour and compound-contoured contour.For compound-contoured contour, internal Corner contours summit can be CSV.Using the method as after-treatment applications to completed observability figure.Thus, to OB_SEG Corresponding profile side is marked.As previously described, during the construction of the observability figure as viewed from regarding unit, finally may be used So that the single single order profile side on triangular mesh to be subdivided into multiple visible sub- segmentations.In addition, each of these segmentations Segmentation can support is intersected with another profile side to generate the SV-ME wedge shape being scanned the CSV that wedge shape is associated with SE-MV.At this In method, " SIL_LIST " is made up of each sub- segmentation of the visible complexity reflecting simple or compound profile contour.
Figure 12 D shows the 3D hidden line depending on unit and two polygonal meshs being labeled as " grid F " and " grid G " Figure.This figure is that mesh object is generally arranged in observer and regards the perspective view between unit.
" grid F " is the triangular mesh representing the box-like object with six sides.Each rectangular surfaces of " grid F " are built Mould is two trianglees.There are 12 trianglees in " grid F ", illustrate only 6, other 6 are blocked thus not shown. One triangle of " grid F " to be formed by the summit being labeled as V1, V2 and V3.
" grid G " is that have 21 polygonal polygonal meshs, and some in these polygons are represented with triangle, And other polygon is then represented with rectangle.In the view, some polygons during these are polygonal are blocked.
Figure 12 E shows the hiding line chart with the 3D of the perspective view identical perspective view of Figure 12 D.In fig. 12e, show It is used depending on unit as making source, observability figure as viewed from regarding unit a part.Construction is on the single order profile side of " grid G " On wedge shape intersect with " grid F " and be labeled as the blocked area of OR-G to produce.Here does not illustrate above-mentioned wedge shape.Blocked area OR-G quilt Surrounded by the Ouluding boundary that 7 Ouluding boundary segmentations form.OR-G is fully located at the original mesh being formed by summit V1, V2 and V3 In triangle.
In one embodiment, the 3D trellis traversal according to Figure 20 and relevant figure processes and surrounds OR-F's to construct The construction of Ouluding boundary segmentation.Specifically, in the step 2068 of exemplary flow in figure shown in Figure 20, these are blocked side Boundary's segmentation is added to intersecting polygon.
In another step that the 3D trellis traversal described in the such as step 2083 of the exemplary process diagram of Figure 20 is processed, By the triangle intersecting with Ouluding boundary segmentation or comprise Ouluding boundary segmentation, the triangle chemical conversion Qu Hewei that is blocked is blocked again Area.Figure 12 E shows that to carry out this using the Ouluding boundary segmentation of OR-G to original mesh triangles shape V1-V2-V3 exemplary heavy The result of new trigonometric ratio.During this again trigonometric ratio, original triangle V1-V2-V3 is repartitioned into 10 new three Angular, wherein 77 Ouluding boundary sides with OR-G correspond, and 3 other trianglees are because OR-G further by three Angular V1-V2-V3 is subdivided into 3 regions being limited by the summit of OR-G and produces.
Because blocked area OR-G is fully located at the single original triangle of " grid F "(V1-V2-V3)Interior, so it does not wrap Containing completely triangle.That is, introduce the polygonal mesh of the Ouluding boundary of OR-G on " grid F "(" grid G ")Not exclusively hide Gear even by " depending on unit " as " the grid F " in source single grid polygon.Therefore, the grid three being blocked completely by OR-G Angular quantity is 0.
Triangle V1-V2-V3 is partly blocked by " grid G ".The region of this partial occlusion is OR-G region.In this example In, the surface area of OR-G is with respect to the surface area very little comprising triangle V1-V2-V3.
In this example, OR-G does not block any grid polygon completely, and blocks only single polygonal relative The little surface area in ground.Because effective static barriers of blocked area(ESO)The polygonal quantity blocked completely with the area that is blocked and The polygonal surface area being completely or partially blocked becomes certain direct ratio, all deficiently increases OR-G by these factors ESO.
The ESO of blocked area becomes one with by the newly polygonal quantity that the trigonometric ratio again in corresponding Ouluding boundary creates Determine the change of direct ratio ground.In the example of OR-G, the trigonometric ratio again at Ouluding boundary creates and is divided into 10 new trianglees Single original triangle.
Therefore, in this example, the positive specific factor of ESO(The polygonal quantity blocked completely is polygon be blocked The surface area of shape)And the inverse ratio factor(For example, the newly polygonal quantity being generated by the trigonometric ratio again of Ouluding boundary)Two Person often produces the value relatively small for the ESO of OR-G.
As described in the exemplary process diagram in Figure 12 A to Figure 12 C, in one embodiment, can will have The OR-G of low ESO removes from observability in figure completely(Step 1217).Alternately, the exemplary stream according to Figure 12 A to Figure 12 C Journey figure can simplify the Ouluding boundary of OR-G and redefine the ESO for the Ouluding boundary simplifying.In a kind of simplification side In method, by Ouluding boundary is equal to the original mesh triangle being blocked completely in blocked area connect the border of collection Lai Make Ouluding boundary less(Step 1220 is to step 1222).This leads to the polygon that is blocked of any part such as exposed ground Redefined.In this case, eliminate from the PVS of the observability figure as viewed from depending on unit and development and be only fully blocked Polygon.In another kind of actual Ouluding boundary simplifying and conservatively simplifying blocked area in embodiment(Step 1223 to 1295).
The factor blocked using measurement according to the method for determining ESO in a kind of described embodiment.? In a kind of embodiment, the determination of ESO also includes reflecting newly polygon by the generation of division again at corresponding Ouluding boundary The factor of the quantity of shape.The method is suitable for implementation below:Can be adjusted respectively based on the coefficient being combined each Factor Weight The relative importance of the individual factor.
Operating principle:Using effective storage of the PVS increment information on the profile side of labelling and the increasing of observability figure/PVS Amount run time construction.
PVS data, if the PVS data especially derived from high accuracy observability figure can have high carrying cost. As it was previously stated, PVS increment is by only storing the adjacent carrying cost reducing PVS data depending on the difference between the PVS of unit Art methods.In Chhugani et al.(2005)PVS increment method in, PVS increment be for each regard elementary boundary The polygon primitive ID of storage(Referred to as increment I)List.Stored using run-length encoding by two assemblies:Increment G+(Recently Visible primitive)With increment G-(Recently the primitive being blocked)The increment I of composition.Even if using this compression, but, PVS data Increment is very big.For having 13,000,000 trianglees and 500,000 dynamic model regarding unit, 7GB is needed to store PVS increasing Amount object ID.
Embodiment includes the method effectively to store PVS increment using implicit aspect, wherein passes through relatively more corresponding Observability figure come the generation to model geometric for specific depending on unit-substantially exposing or substantially hide depending on unit transition The profile side of gear is identified.In offline observability pretreatment identification and cousin these dynamically block or dynamically expose Profile contour.This labelling is compiled using the effective stroke being realized obvious compression algorithm using the definition on single order profile side Code.Give the trip labeling method in conjunction with Figure 13 and relevant figure in detail.
At runtime, it is configured to regarding unit according to the adjacent figure of the observability depending on unit/PVS by following process Observability figure/PVS:
1)Carry out the 3D trellis traversal of the modification of the adjacent observability figure regarding unit.This quick traversal uses the obvious of labelling Block or the profile contour that significantly exposes promptly to construct new Ouluding boundary on the observability figure recently constructing.In conjunction with Figure 20, Figure 21, Figure 22 and relevant figure provide details.
Using these new Ouluding boundary, the triangle being recently blocked is not carried out during traversal processing at runtime Traversal.Because show but the triangle of traversal in new PVS, institute actually makes it possible to generation in this way and removes The PVS of the triangle being recently blocked.Give details in conjunction with Figure 19, Figure 20 and relevant figure.By eliminating in great majority In the case of to clearly storing increment G- information(For example, the big list of the triangle being recently blocked)Needs decreasing Incremental data storage and the cost of transmission.
2)Using the geometric figure recently exposing as can include and the ID being specifically associated depending on unit transition and/or reality The geometric increment G+ on border is grouped and to add, the geometric figure " attachment " wherein recently exposing extremely with VM with newly expose phase The border of association.Because can be to calculate the observability figure in terms of region depending on unit-triangle-segmentation precision, recently Many trianglees in visible triangle can be the segmentation of original mesh triangle.VM Incremental Construction according to adjacent VM During this method suitable traversal/VM at runtime construction, triangle is carried out again with the technology of trigonometric ratio, which obviates necessary By triangle fragmented storage in increment G+ packet.
In some embodiments, this method use level ground arrangement regarding unit.Relatively large father comprises relatively depending on unit Little son regards unit.Using previously described Incremental Construction method according to for adjacent big regarding unit and other increment G+ Data is being configured to the big VM/PVS regarding unit.Because for the big increment between unit transition between unit G+ data is often very big, so naturally assembling above-mentioned data, thus reducing the magnetic disc access times loading needed for increment G+.
By the 3D trellis traversal modified at runtime come according to father(Comprise)Right depending on the VM/PVS derivation of unit Yu Zi(Comprised)VM/PVS depending on unit.Because the sub VM/PVS depending on unit is the subset of the VM/PVS that father regards unit, institute For all according to the run time 3D trellis traversal method of the father VM constructor VM only profile dynamically blocking using labelling Constructing Ouluding boundary, it bypasses in the geometric figure being blocked in sub transition from father line.This makes do not needing to add Increment G+ data in the case of be configured to the more accurate VM/PVS that run time shows.
Hierarchical organization depending on unit also helps effective stream process of PVS data increment.In some embodiments it is only necessary to Transmit the transition corresponding increment G+ packet regarding between unit with relatively large father.Only using increment G- information(In fortune The row time generates according to the profile information of labelling)To construct corresponding son regarding unit according to father depending on the VM/PVS of unit VM/PVS.Because usual find, access and transmission data units needed for the increase of size with packet for the overall time and subtract Little, so it is significantly more efficient for only processing father's increment G+ information.
Using profile information and the packet of associated PVS data increment of the labelling being embodied, according to adjacent(Compatriot)Depending on The VM/PVS of unit to construct the VM/PVS of controlled-precision effectively(Using increment G+ packet and run time 3D trellis traversal To bypass the triangle being recently blocked).Unit is regarded for father and regards unit transition to son, because being recently blocked using bypassing The profile side of the labelling of triangle imply that information can derive for son regarding unit by the traversal again that father is regarded with the VM of unit Whole VMS/PVS, so do not need increment G+ be grouped.
According to some embodiments, runtime processing to be carried out as pre- extract operation.In interactivity roaming, ought The position of front viewpoint is used for based on regarding unit(Itself or the navigation elements of model)Connectivity and work as viewpoint speed and other The factor come to predict possible future regard cell position.Using this speculative prefetching in the know, incrementally construct and maintain and work as forward sight Unit(That is, comprise currently practical or prediction viewpoint regarding unit)The father that vicinity can be reached regards the VM/PVS of unit.? From can be inherently leading of movement including observer when the accessibility set depending on unit of forward sight unit in time period of specifying The constrained factor of boat constraint, including viewpoint speed that is such as maximum actual or predicting and acceleration and governing speed and acceleration Etc. the factor.Modeling environment include barrier and partial structurtes that other conflict limits can also affect to access viewpoint can Reach the adjacent speed regarding unit of vicinity, this is because construction typically does not need to carry out stream process to increment G+ data.
This method achieves effectively being based on of the streaming for the interactivity content via locally or remotely server The codec of observability.This codec utilizes the intrinsic dynamic or interim visible continuity of interactivity roaming Lai minimum Change the asked bandwidth needed for stream process.
Different from the method for stream processing based on image, stream process institute is carried out to visibility events geometric figure and texture information The bandwidth needing is relatively independent of monitor resolution.Actually this method is tended to increase run time wash with watercolours with high-resolution Metachromia energy, this is because with runtime incrementally construct VM relatively small CPU cost, maintain lifting geometric figure and Point-device PVS of both rasterizing cpu performances.Additionally, because this codec may be embodied as speculative prefetching;So it Different from the method for stream processing based on image, its performance is relatively independent of client-server connection delay.
Figure 13 A, Figure 13 B and Figure 13 C show the data structure that the method on labelling profile side is adopted
As described in chapters and sections above, embodiment includes following methods:Identification is dynamically blocked or dynamically The grid profile side exposed and in offline post processing, they being marked;Subsequently run using labelling profile side Time realizes the VM/PVS of increment.
As described in conjunction with Figure 12, be also based on corresponding Ouluding boundary segmentation in VM effective static barriers come right Profile contour in terms of region is simplified.As figure 12 illustrates, can be stored as simplifying mark by simplifying VM border Note profile contour(Subsequently the VM border of simplification can be constructed at runtime according to it).
Figure 13 A includes simple for labelling and compound-contoured contour data structure.
In some embodiments, the simple profile contour of triangle manifold grid is the connection including polygonal side Sequence.Polygon or can cannot form circulation.
Assume that simple profile contour is not blocked, then only use the single order definition on the profile side as viewed from regarding unit;Can With by the single edge of labelling contour come the entirely simple profile contour of labelling effectively.The beginning side of given single marking(Or Point to the data structure on this side), can be connected while by simply looking for and determine any bar be single order profile side when connecting Lai The whole single order profile contour connecting of identification.Adopt this fact in the method with by identifying most of profiles at runtime Contour side stores the cost of labelling profile contour to reduce.
Profile contour as viewed from depending on unit can be compound-contoured contour.If the visibility events surface in terms of region (For example, UBP)With(Different)Profile side is intersected, then produce compound profile contour.This cross-shaped portion be compound-contoured summit or CSV.
The internal angular vertex of each of contour, no matter being simple or compound, can lead to not because of scan process The only SE-MV shadow event surface in terms of region of(Wedge shape/UBP).It is thus possible to have than the side in contour or summit The more event surface being incident on contour.
In some embodiments, the data structure organization being used for labelling profile contour is and the profile being incident on reality The corresponding array of data structures in actual event surface on side and summit.Because can promptly identify adjacent profile at runtime Side and UBP can be generated at runtime(Corresponding OB_SEG with observability figure), so actually not needing to store number Many elements in group element.
By depositing of all line elements of identification at runtime/generate decreasing of realizing intrinsic compression algorithm and produce Storage cost can generate the run time cost quilt of this information with respect to the direct contour nodal information using discussed Figure 13 A Balance.This information is used for accelerating at runtime to generate the data not stored.Figure 13 A and Figure 13 B shows for labelling profile The embodiment of the data structure of contour.
In some embodiments, carry out data storage structure " Contour " for every contour.This data structure includes point Do not refer to specific mesh object, grid while and while summit three fields.In storage form, all of reference be for The integer index of specific element array, although these are quoted is likely to become pointer.Structure " Contour " also comprises field int Node_array, it is the index of the specific array of data structures to Type C ontour_Node.“struct Contour” Also comprise integer field num_nodes giving the length of the node_array for contour.
Data structure " Contour " also comprises integer field VMinfo, and it is the data structure for type VM_Info The index of the element-specific in array.VM_info(In the subsequent section of this specification, it is described in detail)Comprise to carry Information for the specifiable lattice and mesh triangles shape being intersected with UBP is associated with Contour_Node.By this letter of precomputation Cease and it is stored together with the initial profile element of span, if associated UBP and identical triangular mesh phase Hand over, then can promptly construct at runtime and to be associated with the whole span of the outline elements being encoded by Contour_Node All observability figure OB_SEG.(Carry out being somebody's turn to do to the intrinsic continuity using intersecting polyhedrons manifold in conjunction with Figure 19 and relevant figure Process is described in detail).
Data structure " Contour " also comprises integer field " last_contour ", and it is in " Contour " structural array Expression current " Contour " be connected to its tail end specific " Contour " index.Data structure " Contour " also comprises Integer field " next_contour ", it is to represent in " Contour " structural array that current " Contour " is connected to its head end The index of specific " Contour ".
Data structure " Contour_Node " stores the information of each element with regard to contour.As previously indicated, because For many event surfaces in the event surface being incident on contour being generated with algorithm, so not needing clearly to store it ?.Thus, compare side and the shadow event surface that the profile contour of reality has, the Contour_Node battle array of Contour indication Row generally have less element.
Data structure " Contour_Node " comprises character type field " node_type ", and its expression comprises in this node What kind of profile contour information.If node corresponds to the outside angle of profile contour, the value of this field is set to 1. If the corresponding simple inner corners with profile contour of node, the value of this field is set to 2.If node corresponds to compound Profile summit(CSV), then the value of this field is set to 3.
Data structure " Contour_Node " also comprises character type field span_type, its represent corresponding with node across Degree type.If node represents the span on the outside corner contours side for contour, set the values to 1.Can if node represents To include the span at outside angle and inner corners, then set the values to 2.If node represents will " be skipped " to simplify contour Profile side span(As described by with reference to the step 1280 in Figure 12 and 1289).
Data structure " Contour_Node " also includes representing the integer field of the representative length of span.Usually, This corresponds to the quantity generating the shadow event surface generating on the profile side encountered in this span and summit, it is thus possible to Quantity more than the profile summit in span.
Data structure " Contour_Node " also comprises integer field ninfo, and it is the storage for array of data structures For the index of the element-specific of the additional information of node, depending on the value of field node_type.
Data structure " OC_Info " can store attached by the Contour_Node indication of the node_type having equal to 1 Addend evidence.Character field svsc stores for the shadow event surface supporting depending on unit corresponding to single order profile side in span (UBP)The index of certain vertex reference.This optional information can accelerate the run time of UBP to generate but be the increase in storage Size.Because can be generated at runtime with multiple regarding the corresponding multiple UBP of unit, this additional data using wall scroll contour Can once construct at runtime and be stored with data base not as labelling profile contour information.
Data structure " IC_Info " can store and be referred to by the Contour_Node of the node_type having equal to 2 Additional data.Optional character field ic_type is to represent adopt which type of Constructing Policy(Adjacent S V-ME is put down The pivot in face and scanning or intersecting)To generate the hint on the SE-MV event surface being incident on inner corners sound at runtime.Although This judgement can be made using previously described heuristics at runtime, but can be kept away using the data prestoring Exempt from run time test.Note additionally it is possible to pass through the span_type for Contour_Node for the storage(Value 4 represents for span In the pivot on all internal corner contours summit and scanning vs value 5 represent the phase for all of inside corner contours summit in span Adjacent SV-ME plane intersecting)Different value to store this hint data for the whole span on profile summit.
Data structure " IC_Info " can comprise optional character array field SVSC [4], and its expression is formed thereon structure The support making the SE-MV event surface on internal corner contours summit regards the specific hint regarding unit of unit profile contour.
All information included in IC_Info data structure generate at runtime, thus actually not needing to use net Lattice data base is storing.
Data structure CSV_Info can store the additional data being referred to by the Contour_Node having equal to 3.Integer Field " mesh " stores the index for the specific triangles grid intersecting with the current UBP in contour.Integer field " edge " Storage is for the index of the certain edges thereof of intersecting triangular mesh.This two fields are used for being defined in working as by profile contour CSV at the cross-shaped portion on the UBP that front element is supported and another profile side.Again, because in the case of half(Along making In the case that the direction of the farther grid of the UBP/VM contour " leaving " that must be associated processes current contour)Be easily determined with UBP intersects the profile side to form CSV, so field " grid " and " side " are optional.Along making UBP and corresponding VM The direction that OB_SEG is configured to encounter new grid is come in the case of running the other processing contour
" mesh " and " edge " field can fully reduce the run time cost of the new Incremental Construction of VM contour.
Data structure CSV_Info can also alternatively the x, y, z value of CSV be stored in even numbers group field point [3]. CSV_Info structure can also comprise Optional Field char ic_type and char SVSC [4], such as with reference to data structure I C_ Described by Info.
Because all fields of CSV_Info are all optional, it is not that each Contour_Node can link to CSV_Info data structure, decreases carrying cost again.
Data structure VM_Info stores the observability figure that the initial profile element with regard to Contour data structure is associated The information of Ouluding boundary segmentation.Can be intersected using the UBP and VM being associated with these outline elements of grid and side Storage to calculate the corresponding OB_SEG of VM at runtime.When determining OB_SEG, then at runtime promptly generate with The follow-up OB_SEG of profile contour corresponding VM Ouluding boundary polyline.This with CSV_Info data structure in for accelerating VM The grid of the run time construction of data is similar with the storage of side reference.
Reproduce the data knot for labelling profile contour shown in Figure 13 A and Figure 13 B and Figure 13 C further below Structure.
struct Contour
{
int mesh;The index of // grid
int edge;The index on the side of // grid
int vertex;The index on the beginning summit of // contour
int node_array;The index of //Contour_Node array
int num_nodes;The length of //coutour_node array
int VMinfo;The index of //VM_Info array
int last_contour;The index of // next the contour connecting, head connects
int next_contour;The index of the contour of // last connection, WEILIAN connects
Char next_edge_type//if equal to 1, then descend the contour side that a line is that next connects
// if equal to 0, then descend the side that a line is next preceding mark
Char contour_type//if equal to 1 dynamic barriers, if equal to 0 is dynamically exposed
// if equal to 2 is mixing contour
};
struct Contour_Node
{
char node_type;The outside angle of // 1=, the simple inner corners of 2=, 3=CSV
char span_type;// 1=only runs outside angle
// 2=runs and can comprise outside angle and inner corners
// 3=skips span_length segmentation & and connects under the profile contour side simplifying to formation
// mono- summit
// 4=constructs SE-MV using pivot and scanning in all inner corners run
// 5=to construct all inner corners event surfaces by intersecting with adjacent SV-ME plane
int span_length;// shadow event the surface that generated before contour to next node(UBP)Number Amount
int ninfo;If // node_type is equal to the index that 1, ninfo is OC_Info array
If // node_type is equal to the index that 2, ninfo is IC_Info array
If // node_type is equal to the index that 3, ninfo is CSV_Info array
};
Struct VM_Info
{
int mesh;// for the grid comprising OB_SEG corresponding with operating single order outline elements index
int triangle;// for the triangle comprising the corresponding OB_SEG of operating single order outline elements index
The OB_SEG phase of int retriangulate_hint//expression and 31 Contour_Node for Contour Hand over
// mesh triangles shape whether should be at runtime by trigonometric ratio again, 0=is no, 1 =be
// last position represents VM dynamic barriers boundary types:0==blocks, and 1==exposes
float point[3];// when initial vertax be to be formed by the cross-shaped portion with other OB_SEG
The x, y, z value of // initial vertax
};
The information of struct OC_Info//outside corner node
{
char svsc;//(Optional)For the specific hint regarding unit summit forming UBP
};
struct IC_Info
{
char ic_type;//(Optional)1=to form SE-MV by pivoting and scanning
//(Optional)2=intersects the plane of adjacent SV-ME
char SVSC[4];//(Optional)For the specific hint regarding element sides forming SVSC
};
struct CSV_Info
{
int mesh;//(Optional)Comprise the grid of intersection edges
int edge;//(Optional)The index of intersection edges
char ic_type;//(Optional)1=hint-by pivoting and scanning formation SE-MV
//(Optional)2=implies-intersects the plane of adjacent S V-ME
char SVSC[4];//(Optional)For the specific hint regarding element sides forming SVSC
double point[3];//(Optional)The x, y, z value of the precomputation of summit CSV
};
Struct tri_seed//for initiating the trellis traversal simplifying(Figure 37)Come according to regarding unit A observability figure
// construction regards the index/pointer of the specific triangles of unit B observability figure
{
int tri_count;Number of triangles in // seed
int*mesh_array;The order of // grid ID
int*tri_array;The order of // triangle ID
};
struct DeltaGplussubmesh_attach_polyline
// for being attached the list of the precomputation of Grid Edge of sub-grid and original mesh
{
int contour;// specific contour is referred to
char attach_type;// if equal to 0, then the free margins of sub-grid are attached to the free margins of main grid
// if equal to 1, then the free margins of sub-grid are attached to the side listed of main grid
// if equal to 2, then the free margins of sub-grid link to the free margins of main grid
// if equal to 3, then the free margins of sub-grid connect to the side listed of main grid
int submesh;// attachment sub-grid is referred to
Int edgenumber;The quantity on the side in // attachment polyline
Int*submesh_edgelist;The ordered list on the side in // attached sub-grid
int*mainmesh_edgelist;The ordered list on the side in // attached main grid
};
struct Triangle
{
int global_id;//global_id
int vertex[3];The index on 3 summits in //DeltaGplussubmesh.vertexp array
int edge[3];The index on 3 sides in //DeltaGplussubmesh.edgep array
};
Struct Edge
{
int global_id;// overall id
int vertex[2];The index on two summits in //DeltaGplussubmesh.vertexp array
};
struct vertex
{
int global_id;// overall id
float point[3];The x, y, z value on // summit
};
Figure 13 D shows the figure of the data structure of the illustrative embodiments using increment G+ data.
In one embodiment, the increment G+ packet of information can be with each depending on unit-be associated depending on unit transition.Show Example property data structure DeltaGplus_Header includes representing starting regarding unit for associated transition(view_start) Regard unit with end(viewcell_end)And certain surface(transition_face)Field.Another data element DeltaGplus_array is to the finger actually comprising or referring to grid geometric DeltaGplus array of data structures Generation.In DeltaGplus_array is stored in some embodiments in main storage, can be accessed by pointer DeltaGplus_array.In other cases, DeltaGplus_array variable can be the index of array array, for example, To the disk storage being formed by increment G+ data.Another field DeltaGplus_count is deposited in DeltaGplus_array The quantity of storage DeltaGplus data structure.Additional packet_size represents that the storage of associated information is big with transmission byte Little.
DeltaGplus_Header refers to one or more DeltaGplus data structures, and it refers to for corresponding again The geometric figure of polygonal mesh, material, texture information.Example data structure for this information is illustrated as data structure three Angular, side, summit.
Figure 14 A, Figure 14 B respectively illustrate when from connect regarding unit A and regard unit B observe when example shelter and by The increment area blocked that this simple shelter is formed(DR).The flow process of Figure 17 A and Figure 17 B illustrates convection current shape triangular mesh The method that is identified of the area when the connection being blocked when observing depending on unit B and not being blocked when observing depending on unit A.Should Process provide to determine manifold triangular mesh when expose when observing depending on unit A and when not revealing when observing depending on unit B The solution of the problem in the area of the connection going out.
In some embodiments, manifold triangular mesh is adjoined from another depending on exposing as viewed from unit from one (Or comprised)Look depending on unit the connection being blocked area be referred to as increment area(DR).
To not be blocked when observing depending on unit A when being blocked when observing depending on unit B with manifold triangular mesh (That is, positioned at the observability figure regarding unit A)The corresponding increment area of area of connection be appointed as DRoAB(Block increment from A to B Area).
This is with manifold triangular mesh when exposing when observing depending on unit A(That is, positioned at the observability figure regarding unit A)And When corresponding increment area of the area of the connection being blocked when observing depending on unit B is identical.Such increment area is designated as DReBA (Expose increment area from B to A).
Certainly DRoAB=DReBA.
Therefore, although the method for Figure 17 A and Figure 17 B illustrates the determination to DRoAB(From depending on unit A to blocking depending on unit B The determination in increment area), but the method is applied to by determination by the handled order depending on unit of reversion and exposes increment area.
Figure 14 A shows the example polygonal mesh of the shelter as the larger polygonal mesh in Occlusion Map 14B O.
Figure 14 B shows the observability figure causing on the face of the simple mesh being labeled as 1410.1410 is by two three The rectangular polygon grid of angular formation, is shown without above-mentioned triangle to simplify this figure.
In some embodiments, the shade hexagon figure being labeled as " blocked area is depending on unit A " is shown in Figure 14 A Simple being used of shelter as source and uses single order observability figure building method to generate as viewed from regarding unit depending on unit A Blocked area.Note, because SE-MV wedge shape only generates the inner corners in 5 original side shelter O, so the side ratio of blocked area Many one of the side of shelter O.
Similarly, the shadow-free hexagon figure being labeled as " blocked area is depending on unit B " is the simple shelter shown in Figure 14 A Be used depending on unit B as source and use and single order observability figure building method generate blocking as viewed from depending on unit Area.
By " blocked area is depending on unit B ", positioned at " blocked area is depending on unit A ", part outward is labeled as DROAB(Screening from A to B Gear increment area)And DREBA(Expose increment area from B to A).
It is labeled as 1420 area to be located at outside this two blocked areas, and because it is located at from depending on unit A and can depending on unit B In the region 1410 seen, so region 1420 can be seen that and not increment area from depending on unit A with depending on unit B.
Figure 15 shows and is marked as DR except " blocked area is depending on unit A " outside " blocked area is depending on unit B "OBA (Block increment area from B to A)And DREAB(Expose increment area from A to B)Part beyond with the unification shown in Figure 14 B Observability figure identical observability figure in terms of region.Herein, by thereon interior connect observability figure border grid mark be 1510, it is identical with 1410 in Figure 14.The black portions of " blocked area is depending on unit A " represent " blocked area regard unit A " with " hide Gear area regards unit B " public part.Be labeled as 1520 area be located at this two blocked areas outside, and because it be located at from In the area 1510 that can be seen that depending on unit A and depending on unit B, so area 1520 is based on regarding unit A and to regard unit B visible and not It is increment area.
Therefore, in some embodiments, when from vision area B to vision area A mobile when, increment groupings can include vision area B with The poor DR of the visible part between vision area AEAB(That is, increment area).Therefore, the increment groupings in increment area are only included by transmission, Due to not needing again to transmit the whole set of eye diagram element regarding unit for each, so decreasing transmission figure letter The bandwidth demand of breath.
Figure 16 A and Figure 16 B shows the Bian Heding carrying out contour identification contour using the data structure of labelling profile contour The method of point.
The flow process of Figure 16 illustrates in the given contour as viewed from regarding unit that be labeled, simple or compound Some while in the case of using the data structure of Figure 13 rapidly to identify this contour all while method.
The method of Figure 16 make use of the fact that profile contour forms polyline typically on manifold grid.Due to by grid table It is shown as the directed graph being associated with connectivity information(Using wing side data structure or similar data structure), so simplify right Connect to another while while identification.
Data element is wherein stored as array and passes through by the now again data structure with reference to Figure 16 A and using Figure 13 The index of these arrays(Alternate embodiments can be projected as pointer with these with reference to symbol)To access these data elements.One In a little embodiments, handling process from the beginning of step 1605 place, wherein using the index of the data structure from current contour Contour.verte is identifying current vertex c_vertex.This is the side quantity of grid contour.mesh.
Handling process marches to step 1607, actual contour.edge is wherein similarly used to access current side. It is also in step 1607, Integer n i being used for updating the index in the array of Contour_Node type is set to 0.
Handling process marches to step 1609 so that index of reference contour.node_array [ni] is accessing current contour Node c_node.
Handling process marches to decision steps 1611 to determine whether c_node.type is 3.If the type is 3, when Front nodal point represents the data of simple contour node and handling process marches to step 1613 so that enumerator segi is set to 0.
Handling process marches to decision steps 1617 to determine whether c_node.span_type is equal to 2.If c_ Node.span_type is equal to 2, then the section of current contour span can include profile summit as viewed from regarding unit for the outside angle and Profile summit as viewed from depending on unit for the inner corners and handling process marches to step 1620.
In decision steps 1620, determined using previously having specified the method for identifying inner corners simple profile summit Whether the summit being had by c_edge and next_edge is internal corner contours summit.
If determining that in decision steps 1,620 two profile sides form inner corners, handling process marches to step 1624.
In step 1624, integer value p is set equal to be incident on as the scanning construction by applying SE-MV wedge shape (Step 1628)The quantity of the SE-MV wedge shape in the angular vertex of inside determining.
Handling process marches to step 1632, wherein would indicate that the number on the visibility events surface for contour span construction The enumerator segi of amount increases the quantity on the SE-MV event surface being incident on CSV.
The span whether value that handling process marches to decision steps 1629 to determine segi is equal to current contour node is long Degree.
If determining that in decision steps 1629 value of segi is equal to width x length, having been processed by span and processing Flow process marches to decision steps 1633.
In decision steps 1633, whether the value of the integer variable ni of the index as the current contour node of contour for the determination Quantity equal to contour interior joint.
If determining that in decision steps 1633 present node is last node of axis, handling process is advanced Step 1637 to processing next contour.Handling process terminates at step 1637.
On the other hand, if determining that in decision steps 1633 present node is not last node of contour, locates Reason flow process marches to step 1645.
In step 1645, the node contour in step 1609 is shifted to an earlier date to access next node.
If determining that in decision steps 1617 span_type of present node represents there is not internal angularpitch in span Point, then handling process marches to step 1621.
Similarly, if determining that in decision steps 1620 current outline does not form inside while with next profile Angle, then handling process march to step 1621.
In step 1621, formed and be incident on when the corresponding VM section of single SV-ME UBP on front(Using Figure 20, Figure 21 and the method for relevant figure).Handling process marches to step 1625 increases by 1 with variable segi, with construction on profile side Single shade visibility events surface consistent.
Handling process marches to, from step 1625, the decision steps 1629 having been described with.
If determining that in decision steps 1621 type of node is 3, with compound-contoured summit(CSV)Unanimously, then process Flow process proceeds to from step 1650(Figure 16 B)The process 16-1 that place starts.
Handling process marches to step 1650 to quote CSV_ using the array indexing being stored in cnode.ninfo Additional data in info node.The information gives the number of grid of the farther grid comprising CSV.
Handling process is marched to step 1655 and is intersected with current UBP with accessing(Wherein cross-shaped portion is current CSV)Side Side quantity, this is accessed by CSV_info.
Handling process marches to 1660 to calculate CSV with the cross-shaped portion according to current UBP and C_EDGE.Alternately, may be used It is stored in floating-point CSV_Info.point [3] field of corresponding CSV_Info structure with this value of precomputation and by this value.
Handling process marches to step 1665, and C_Vertex is set to CSV(It is not blocked on side)Next top afterwards The index of point, and handling process marches to process 16-2, and handling process is back to arrangement 1615 by it.
Generally, the method for Figure 16 A make it possible for only some labellings while come contour identification contour multiple while.From And, this tagging scheme uses considerably less storage.This process employs the natural continuity of profile contour, thus being conducive to basis Some labelling profile sides to be operationally quickly generated VM section with associating hint information.To beg in detail in conjunction with Figure 20 and Figure 21 By the VM/PVS using labelling profile side operation when Incremental Construction.
Figure 17 A, Figure 17 B, Figure 17 C and Figure 17 D include representing and regarding unit to relevant regarding unit from one to showing The VM region of interest of the unified observability in figure of transition(ROI)The method that is identified and for there is that efficiently block The flow chart of the method that the Ouluding boundary corresponding profile side of a little ROI is marked.
The flow process of Figure 17 A, Figure 17 B and Figure 17 D illustrates what the area of the connection of convection current shape triangular mesh was identified Method, the area of above-mentioned connection is referred to as region of interest or ROI, that reflects regarding unit transition(For example, from VC A to VC B)Period Observability change.
This flow chart also show the Ouluding boundary for identifying and limiting ROI(OB)Or border corresponding profile contour Method.Additionally, the flow diagrams illustrating for these profile contours of labelling(Contour data structure and association using Figure 13 Data structure)And store the additional information being associated with contour(For example, the VM_Info data of Figure 13 A).
According to some embodiments, the method for Figure 17 A to Figure 17 D to be carried out as offline or pre-calculation process.We Method is capable of identify that increment G+ and the increment G- assembly of PVS data increment, can incrementally constructed according to existing PVS new Using said modules during the runtime processing of PVS.Alternately, the method for Figure 17 A to Figure 17 D be capable of identify that with labelling with The border corresponding profile contour of ROI.Subsequently increment G+ can be constructed at runtime using this labelling profile contour information With increment G-.Compare clearly storage/transmission increment G+ and increment G- packet, the method can significantly need less depositing Storage/transfer resource.
If depending on one of unit be completely contained in another in unit, ROI corresponds to only from being comprised regarding unit The region that can be seen that.In some embodiments, come operationally using labelling profile contour corresponding with the ROI of these types Between according to father depending on unit VM come constructor regard unit VM(Using hint, simplification 3D trellis traversal), thus avoiding Clearly storage to increment G- information under particular case.
If two have face and one depending on unit and regard unit and are not included in another in unit(Referred to as " adjacent Connect " relation), then ROI is corresponding to increment area(DR).For from VC A to VC B regarding unit transition(Referred to as AB transition), DR There are two types.A type of increment area DROAB(Block increment area from A to B)Comprise from can be seen that depending on unit A and from Depending on unit B invisible mesh triangles shape fragment.DROAB is also DREBA(Expose increment area from B to A).Similarly, DROAB= DREBA.DROAB corresponds to the increment G- data for AB transition, and DREBA corresponds to the increment G+ data for AB transition.Can To construct increment G+ and/or increment G- data at runtime using labelling profile contour corresponding with the border of these ROI (Also using hint, simplification 3D trellis traversal), thus avoiding under specific circumstances to increment G+ and increment G- polygon The clearly storage of segment information.
Turn now to Figure 17 A to Figure 17 D, in the first stage processing it is intended that being directed to specifically depending on unit transition ROI to be identified Type.ROI is the specific region regarding unit transition for the expression specifically unifying observability figure.Unification for AB transition is visible Property figure be comprise from the mesh triangles shape fragment that can be seen that depending on unit A and depending on unit B and for regarding each of unit from The observability figure of the OB_SEG of the VM looking depending on unit.
In some embodiments, from the beginning of step 1705, whether determination is following in this step regards unit to handling process There is father and son(Comprise-comprised)Relation:To determine the specific increment visibility information regarding unit transition for it.
If in decision steps 1705 determine to determine for it increment visibility information depending on unit have father and son pass System, then handling process marches to step 1707.
In step 1707, ROI to be identified is from for specifically being comprised depending on unit transition(Son)Can depending on unit The region seen.Because for son regard unit VM always father regard unit subset, in some embodiments using pin The clear and definite increment G- information that transition is calculated carrys out constructor VM.But, such as fruit regards unit significantly less than father and regards unit, then Corresponding increment G- information can be relatively large.Alternately, in the method, can be by the region of interest for such transition (ROI)It is arranged to those regions that only can be seen that depending on unit from son.By identifying seed triangle and the border in these regions, lead to Often can be used less by simplification, hint the 3D trellis traversal unified observability figure being carried out start with seed triangle Information according to father depending on unit VM determine son regard unit VM/PVS.
If determining that in decision steps 1705 will determine increment visibility information for it does not have father and son depending on unit Relation, then handling process march to step 1709.
It is adjacent depending on unit that step 1709 represents two(Have face and one depending on unit to be not contained in separately depending on unit One regards in unit).Father and son and syntopy are two two kinds of special arrangement regarding unit, wherein regard unit to another from one The individual transition depending on unit occurs in the spatial volume being completely contained in two joints regarding unit.Using regarding unit this two Kind of arrangement is it is ensured that the ROI as subsequently constructed in processes reflects area that is recently visible and recently exposing completely and conservatively Domain(For example, because relevant depending on unit between there is no " gap ", miss of short duration visible geometric figure).
It is observability increment area that handling process marches to step 1711 to represent ROI(DR).
Handling process marches to decision steps 1713 to enumerate all kinds of DR.If determined in decision steps 1713 DR to be identified can be seen that and from invisible regarding unit B, then handling process marches to step 1715 from VC A.
In step 1715, ROI to be identified is DROAB and DREBA.
If determining that in decision steps 1713 DR to be identified can be seen that from VC B and from invisible regarding unit A, locates Reason flow process marches to step 1717.
In step 1717, ROI to be identified is DREAB and DROBA.
In some embodiments, step 1705 to step 1717 depends on transition and regards relation and increment between unit The intended use of visibility information only enumerates for the specific type depending on unit transition ROI to be identified.Regard for adjacent The concrete transition along AB direction between unit A and B, this two class ROI the generally recognized, DREAB and DROBA.This two class ROI mono- Act the observability change being fully described for regarding unit transition(Increment VM/PVS increment).
From the beginning of from step 1719, start the actual identification of these ROI region of unified observability in figure.
In step 1719, determine for the VM regarding unit in combination including regarding unit A and regard unit B(For example, use Any method in previously described VM building method as viewed from regarding unit).Any superset conduct of this VM can also be used Subsequently construction with for two of transition depending on unit from depending on the corresponding OB_SEG of the unit property of can be seen that figure(Step 1721)Open Beginning VM.The effective hierachical decomposition that this fact makes it possible for the visibility problem in terms of region to solve increment observability letter Breath(Clear and definite increment G packet or the contour data of corresponding labelling)Determination.In this hierarchical method, can be by from comprising to regard Unit A and any triangle segmentation that can be seen that depending on unit depending on unit B are used as to be configured to regarding unit A and regard unit B Unified VM VM.(PVS increment storage demand can also be reduced using this fact, this is because regarding unit for many The PVS increment of transition may finally according to comprise other data regarding the corresponding single unified observability figure of unit regarding unit To generate).
Handling process marches to step 1721, wherein from regarding unit(A+B)In the triangle segmentation that can be seen that construction with According to the corresponding OB_SEG of observability figure determining depending on unit A as viewed from depending on unit and with according to determining depending on unit B from regarding The corresponding OB_SEG of observability figure that unit is looked.Will be from regarding unit(A+B)The triangle segmentation that can be seen that is together with from regarding unit A The set of the OB_SEG looking and the OB_SEG as viewed from depending on unit B is referred to as the unification regarding unit A with regarding unit B Property figure.In some embodiments, the construction of these OB_SEG is constructed for the VM as viewed from regarding unit using previously described 3D/2D trellis traversal method(Figure 20 and relevant figure).
Certainly, if being the father regarding unit B depending on unit A, in step 1719 construction from regarding unit(A+B)That looks can Opinion property figure is included from all mesh triangles shape segmentations that can be seen that depending on unit A and all with the profile as viewed from regarding unit A The corresponding OB_SEG of line.In step 1721 add with regarding the corresponding OB_SEG of unit B.Regard cell abutment and/or institute at two The beginning VM using is VM(A+B)Superset in the case of, step 1721 typically must construct two OB_SEG set.
Handling process marches to process 17-1 from step 1721, and it is from step 1723(Figure 17 B)Start.In step 1723 In, unified observability figure is traveled through to limit by being formed from the OB_SEG arrangement regarding unit A and as viewed from regarding unit B VM area.In this traversal, select triangle and travel through and march to the border being formed by OB_SEG.In this step, 3D grid Traversal to be carried out as the breadth first traversal of constructed unified observability figure.Traversal marches to traversal limited profile week Line and corresponding Ouluding boundary.This simple traversal method ensure that all triangle/segmentations to specific ROI travel through to The border of ROI, even if ROI has internal holes or crosses over multiple single triangular mesh.(Construction before VM may finally The part " fusion " of triangular mesh is become to have the single ROI of internal holes, above-mentioned ROI corresponds to farther mesh triangles shape , the visible area that is not blocked in hole passing through in the nearer triangular mesh that surrounded by Internal periphery contour).
Handling process marches to step 1725 to determine in the whether remaining any triangle not traveled through in current traversal/VM area (That is, connect the triangle not traveled through to current triangle, wherein connect without pass through Ouluding boundary).As in step 1725 There is, in current traversal, the triangle not traveled through in middle determination, then handling process marches to step 1727, the next one in traversal Triangle.
On the other hand, there is no remaining triangle shape, processing stream if determined in decision steps 1725 in current traversal Journey marches to step 1728, because having had stepped through all trianglees of current VM.
The unified VM area determining in traversal step 1723 and 1725 identification in step 1728 is from can depending on unit A See, or from can be seen that depending on unit B, or can be seen that from both of which.In some embodiments, simplifying using Figure 25 Polyhedral pardon test is determined to this.Father and son relevant in the case of unit transition because all of The region of traversal can be seen that depending on unit from father so this test can be carried out with some simplification.
Following alternate embodiments are possible:Traversal is initiated in VM area(Step 1723)In the past first in VM area A single point is determined(Step 1728 and 1731).The method makes it possible to identification in the case that Bu Dui VM area is traveled through entirely It is not the VM region of ROI.
The region that handling process marches to decision steps 1731 to determine the traversal of VM whether correspond to previously be directed to specific The region interested established in previous step 1705 to 1717 regarding unit transition(ROI).This is by step 1728 result(For example, can be seen that from A, can be seen that from B or can be seen that or from both invisible from both;The latter only when The VM being used is VM(A+B)Superset when be possible to)Restriction with the ROI determining in previous step 1705 to 1717 It is compared to determine.
If determining that in decision steps 1731 region of the traversal of unified VM is not ROI, handling process marches to be sentenced Certainly step 1749 is to determine whether there is any triangle not traveled through in VM.
If determining any triangle that do not travel through remaining in unified observability in figure in decision steps 1749, process Flow process marches to step 1737, wherein selects the next triangle in unified VM(Belong to Xin VM area)For processing.
If determining the triangle not having residue not travel through in unified VM in decision steps 1749(No longer have and will process Unified VM area), then handling process march to step 1752.Handling process terminates at 1752.
If determining that in decision steps 1731 region of the traversal of VM is ROI, handling process marches to step 1732.
Determine whether current ROI is to block increment area for depending on unit transition in decision steps 1732(DR_O).As Fruit ROI is DRO, then handling process march to step 1734.
Effective static barriers of ROI in step 1734, are determined using the tolerance being previously directed to the area's description that is blocked.Will Referred to as effectively dynamic observability(EDV)The value of variable be arranged to the ESO of ROI.
If determining that in decision steps 1732 current ROI is not DRO, then handling process march to step 1733.
Determine that whether current ROI is for blocking increment area depending on unit transition in decision steps 1733(DR_E), such as Fruit ROI is DRE, then handling process march to step 1736.
In step 1736, determine being blocked around current ROI using the tolerance being previously directed to the area's description that is blocked Area(Referred to as around area or the SOR of being blocked)Effective static barriers(ESO).The value being referred to as the variable of effectively dynamic observability sets It is set to the polymerization ESO of SOR.
If determining that in decision steps 1733 ROI is not to expose increment area, handling process marches to step 1735.
Determine current ROI whether corresponding to from regarding depending on the son of unit transition for specific father and son in decision steps 1735 The region that unit can be seen that.If ROI is sub-district, handling process marches to step 1738.
In step 1738, determine being blocked around current ROI using the tolerance being previously directed to the area's description that is blocked Area(Referred to as around area or the SOR of being blocked)Effective static barriers(ESO).The value being referred to as the variable of effectively dynamic observability sets It is set to the polymerization ESO of SOR.Note, for DRECarry out identical process with the situation of sub- ROI, but illustrate that, herein They are different.
Then step 1734,1736 or 1738, handling process marches to step 1746.
The EDV for ROI is determined in decision steps 1746(Current ROI can for the specific increment depending on unit in expression " effectiveness " in the opinion property or measurement of efficiency)Whether it is more than predetermined value(For example, " value 2 ").
If determining that in decision steps 1746 EDV for ROI is not more than predetermined value(" value 2 "), then handling process row Proceed to step 1740.
If determining the border in current interest region in decision steps 1740(And corresponding profile contour)Whether Can significantly be simplified(For example, using the method for Figure 12, the tolerance of the conservative simplification with the border that coaches wherein by ESO). If ROI is DRO, then the method for Figure 12 can be applied directly to this region.If ROI is DREOr sub-district, then by the side of Figure 12 Method is applied to the area that is blocked around current ROI(SOR).SOR can be defined as being close to the blocked area of ROI.Alternatively, SOR The other blocked areas connecting to this SOR set can be included.The method makes conservative simplification process and can expand to adjacent region The ROI that domain is fully simplified with final realization.
If determining that in decision steps 1740 border can be simplified, to by simplifying in the decision steps 1746 The EDV of the new conservative expression in area that Ouluding boundary surrounds is determined.
On the other hand if it is determined that the border of current ROI can not be simplified to realize target EDV value, then handling process row Proceed to step 1743.
In step 1743, current ROI is confirmed as thering is low EDV, thus by as when forward sight unit transition The notable assembly of increment observability and be ignored.In this step, if ROI corresponds to DREAB, then be located in region is right The mesh triangles shape answered conservatively is included in the VM of unit A.Introduce new in the boundary segmentation not over DR In the case of triangle, original triangle is included.If current ROI corresponds to DROAB, then the corresponding grid in region Triangle is conservatively included in in the VM of unit B.Introduce the feelings of new triangle in the boundary segmentation not over DR Under condition, original triangle is included.
If unified observability figure ROI regards the EDV in unit transition and region as low corresponding to father and son, around being blocked The geometric figure in area is conservatively included in the roi, and can recalculate the EDV of expansion area.For DRESituation, can Selection of land, can extend SOR area to adjacent area with beyond the SOR tightly adjoining.The method is capable of identify that following extreme case:Father VM Significantly not different with sub- VM.Fully sub- ROI is removed in this case.
Step 1746,1740 ESV permitting a determination that region together with 1743, and if the value of ESV is too low, then may be used To attempt conservatively simplifying border thus increasing ESV.If ESV still is below predetermined value, it is not considered as that ROI is corresponding and regards with being directed to The obvious area of the increment observability of unit transition, and can ignore regarding unit transition.
Using ESV(Obtained according to ESO)Tolerance as the effectiveness of ROI significantly reduces the storage needed for the method With the time of calculating.Because in many cases, little block or expose area can be introduced due to the trigonometric ratio again on ROI border greatly The new triangle around ROI of amount, so this is to set up.These areas often have low ESO, thus will not using this method It is construed as effectively blocking(Or expose)Area.Alternatively, for example, by the recently visible collection of the primitive for specific AB transition Simply conservatively it is considered for the VM/PVS regarding unit A.
If the EDO determining current ROI in decision steps 1746 has exceeded predetermined value(For example, " value 2 "), then processing stream Journey marches to process 17-2, and it starts from step 1755.
In step 1755, to increment G+ and/or increment G-(It can be including refer to reality be recently blocked many The increment I- information of the pointer of side shape or index information)Or son regards cell data(If being parent-child depending on unit transition)Storage Size is estimated, and the value of variable SS is arranged to become certain direct ratio with this storage size.Comprise many triangle/triangles The ROI of shape segmentation often has the high carrying cost for corresponding increment G+ or increment G- packet.The replacement that method is used Storage format with to limit corresponding ROI profile contour/VM border labelling replace increment G packet clearly storage. Only when needing to generate the increment G information of reality using the 3D trellis traversal simplifying, the 3D trellis traversal of above-mentioned simplification adopts root According to the unified VM area border to generate for the specific labelling profile contour information depending on unit transition.
Handling process marches to step 1758, the wherein value to SS and predetermined value(For example, " value 3 ")It is compared.If Determine that the value of SS is not more than " value 3 " in decision steps 1758, then handling process marches to step 1761.
In step 1761, directly store the increment G data for ROI and handling process marches to decision steps 1788.
Decision steps 1788 are identical with previously described step 1749.
If determining that in decision steps 1758 value of SS is more than predetermined value " value 3 ", handling process marches to step 1764.
Step 1764 is identification and the border forming ROI to 1785(Because ROI can comprise hole, be external boundary and Both inner boundaries)OB_SEG corresponding profile contour step.In those steps, labelling corresponding profile contour(It is The side of original triangle grid and summit add simple with inner corners and compound-contoured apex SE-MV wedge shape, and corresponding some are attached Edged), and identify and store the man-to-man seed triangle with the coupling assembly of ROI.
From the beginning of step 1764, to formation and the OB_SEG as viewed from depending on unit A and OB_SEG pair as viewed from regarding unit B These OB_SEG of the external boundary of the ROI answering and profile contour are identified.
Handling process marches to step 1767, and the OB_SEG wherein surrounding ROI intersects each other and is appointed as cross-shaped portion IP and using corresponding to VM_INFO data structure for corresponding profile contour(The data structure being given in figure 13a)Come Storage.
Handling process marches to step 1770, wherein the external boundary corresponding profile contour for ROI be marked and With previously combining the data structure of Figure 13 A, Figure 13 B and Figure 13 C description(Alternatively include DeltaGplus_attach_ polyline info)To store.
Handling process marches to step 1773, wherein to being formed and the OB_SEG as viewed from depending on unit A and in terms of depending on unit B The inner boundary of the corresponding ROI of OB_SEG going and these OB_SEG of profile contour are identified.
Handling process marches to step 1776, and the OB_SEG wherein forming the inner boundary of ROI intersects each other and cross-shaped portion It is designated as IP and use corresponds to VM_INFO data structure for correspondence profile contour(The data knot being given in Figure 13 A Structure)To store.
Handling process marches to step 1779, wherein profile contour corresponding with the inner boundary of ROI is marked and Stored using the previously data structure with reference to Figure 13 A, Figure 13 B and Figure 13 C description.
Handling process marches to process 17-4 from step 1779, and it is from the beginning of step 1782(Figure D).In step 1782, To corresponding all with for the ROI specifically regarding unit transition(May simplify)Outline contour and Internal periphery contour enter Line flag and be specifically associated depending on unit transition.
Handling process traveling step 1785, wherein, a triangle of each assembly connecting for ROI is stored in For in " TRI_SEED_LIST " that specifically regard unit transition.
Then, handling process marches to step 1788 and 1790(If there is not the triangle not traveled through in VM).? In some embodiments, these steps are identical with previously described step 1749 and step 1752 respectively.If existed in VM The triangle not traveled through, then handling process march to process 17-3, it starts from step.
With parent-child regarding the corresponding ROI of unit transition from following meaning for Bu Shi increment area:ROI for the type Seed triangle from can be seen that depending on unit for parent-child depending on unit transition two.ROI using the type, it is possible to use The external boundary of the corresponding labelling profile contour construction according to ROI and inner boundary are come according to father VM, constructor regards unit effectively VM/PVS.This construction uses 3D trellis traversal method hint, simplifying of Figure 20 and Figure 21.
On the contrary, with adjacent be observability increment area depending on the corresponding ROI of the transition between unit(DR).Using the type ROI, can according to from the mesh triangles shape/segmentation that can be seen that depending on unit A+B together with ROI according to corresponding labelling profile contour External boundary and inner boundary to construct to construct increment G+ and increment G- effectively.This construction is also using the hint of Figure 20 and Figure 21 , simplify 3D trellis traversal method.
Figure 18 A and Figure 18 B:Promptly to construct at runtime visible using the labelling profile contour information of wall scroll contour The method of property figure Ouluding boundary segmentation.
As previously described, identification is for regarding unit transition(For example, from A to B)Effective increment area(DR), establish (Method using Figure 17)Generate corresponding profile contour and the data structure using Figure 13 A and Figure 13 B of DR Ouluding boundary Carry out labelling above-mentioned profile contour.This labelling to be carried out as processed offline.
When storage labelling profile contour information(As the data being associated with triangular mesh)When, can make at runtime With this data, unit corresponding observability figure is regarded with specific according to known observability figure construction that is connecting or comprising regarding unit.
The labelling profile contour that Figure 18 A and Figure 18 B shows using being previously stored for specifically regarding unit transition is believed Breath according to connect or comprise to construct with specific regarding unit corresponding observability figure depending on the corresponding known observability figure of unit Method flow chart.
In some embodiments, handling process is from the beginning of step 1805 place, using being associated with grid for adopting The labeling method of Figure 12 and Figure 17 A and Figure 17 B is storing the data structure of labelling profile contour information(Figure 13 A and Figure 13 B) To identify labelling profile contour(Previously it had been directed to considered specific to generate regarding unit transition and storage).
Handling process marches to step 1810 and by current manifold triangular mesh(" grid ")It is arranged to by Figure 13 A's The concrete grid that the Contour.mesh field of Contour data structure refers to.
Handling process marches to step 1815 with by " CURRENT_EDGE "(Manifold triangular mesh side)It is arranged to by scheming The concrete side that the Contour.edge field of the Contour data structure of 13A refers to.
Handling process marches to step 1820 with by " VERTEX(Summit)”(Manifold triangular mesh summit)Be arranged to by The concrete summit that the Contour.vertex field of the Contour data structure of Figure 13 A refers to.
Handling process marches to step 1825 so that variable " NODECOUNT (node counts) " is arranged to 0.
Handling process marches to step 1830, wherein constructs all observability figures corresponding with " CURRENT_EDGE " and blocks Boundary segmentation(VM OB_SEG).Using shown in Figure 19 and the process that discusses in detail with reference to this figure constructs these VM OB_ SEG.
Handling process marches to step 1835 to be arranged to refer to variable " NODE (node) " by the first of current contour The specific Contour_Node data structure that individual node refers to.
Handling process marches to step 1850 to determine current Contour_Node data structure(Figure 13 A)'s NODE.node_type is type 3.If node_type is type 3, node corresponds to compound-contoured summit and processing stream Journey marches to process 18-1, from the beginning of its step 1855 place from Figure 18 B.
In step 1855, now by " MESH (grid) " variable(Step 1810 is initialised)It is arranged to by working as prosthomere The concrete grid that CSV_INFO [NODE.NINFO] .mesh that refers to of point refers to, node_type is 3 present node is compound Profile summit(CSV)Node.
Handling process marches to step 1860, wherein by variable " NEXT_EDGE "(Under representing in profile contour polyline One side)It is arranged to CSV_INFO [NODE.NINIFO] .edge of CSV_Info data structure being referred to by current contour node The side that field refers to.
The CSV_ that handling process marches to step 1865 to be arranged to be referred to variable " VERTEX " by current contour node The summit that CSV_INFO [NODE.NINFO] the .point field of Info data structure refers to.
The effect of step 1855,1860 and 1865 is in a single point(Compound-contoured summit)Place is by one or more manifolds three Two polylines on the face of hexagonal lattice link together.It is being provided with current " MESH ", " NEXT_EDGE " and " VERTEX " To be reflected into after this fusion of compound-contoured contour, handling process marches to process 18-2 to variable, and handling process is back to by it Step 1880(Figure 18 A).
If determining that in decision steps 1850 " NODE_TYPE " is not 3(That is, this node does not correspond to compound-contoured top Point), then handling process march to step 1870.
In step 1870, the value of variable " EDGECOUNT " is initialized to 0.
Handling process marches to step 1875 to be arranged to refer to the company of manifold triangular mesh variable " NEXT_EDGE " It is connected to when front and also be(Single order, as viewed from regarding unit)Profile while while.Can connectivity based on manifold grid and The definition on single order profile side(Referring to Fig. 3)Easily this side to be identified.Alternately, " NEXT_EDGE " is identified as Connect to when side in front, wherein connection when having been labeled as labelling profile contour.This definition of " NEXT_EDGE " is used In situations below:Profile contour does not fully offset or migrates(Because " retraction " on profile side described above).? Situation is next_edge_type field that is establishing during pre-processing and being stored in struct Contour data structure In.If next_edge_type has 0 value, " NEXT_EDGE " is identified as the next connection that previously marked Side.On the other hand, if next_edge_type value is 1, " NEXT_EDGE " is identified as(Single order)Under profile side The side of one connection.
Handling process marches to step 1880 so that " CURRENT_EDGE " is arranged to " NEXT_EDGE ".
Handling process marches to step 1880, wherein observability figure Ouluding boundary segmentation(VM OB_SEG)By by current wedge The shade visibility events surface that shape supports is produced with the cross-shaped portion of manifold triangular mesh.Observability figure from labelling profile week The method that these elements when front derivation of line are used in the flow chart of Figure 19 and discuss in detail with reference to this figure to construct 's.
As the VM OB_SEG that construction is generated by current outline side(Using the method shown in the flow chart in Figure 19), Handling process marches to step 1885.
In step 1885, increase variable " EDGECOUNT ".
Handling process marches to step 1888 whether to determine " EDGECOUNT " less than the Contour_Node in Figure 13 A The span_length for present node specifying in data structure(NODE.span_length).
If determining that in decision steps 1888 " EDGECOUNT " is less than span_length, handling process is back to step Rapid 1875, wherein identify next side.
On the other hand, if determining that in decision steps 1888 " EDGECOUNT " is not less than span_length, is processed Flow process marches to decision steps 1890.
Determine whether " NODECOUNT " is less than in contour by data field CONTOUR.num_ in decision steps 1890 The number of nodes that nodes is given, wherein CONTOUR are referring to and adopting to the current markers profile contour being processed Data structure Contour shown in Figure 13 A.
If determining that in decision steps 1890 " NODECOUNT " is less than CONTOUR.num_nodes, handling process March to step 1892.
In step 1892, increase " NODECOUNT " and process and be back to step 1835, wherein select next node And process continuation.
On the other hand, if determining that in decision steps 1890 " NODECOUNT " is not less than CONTOUR.num_nodes, Then handling process marches to step 1895.
Step 1895 represents that having been processed by labelling profile contour and processing march to next labelling profile week Line.Handling process terminates at step 1895.
By shown in Figure 20 and the process that discusses in detail with reference to this figure is come to for specific all labelling wheels regarding unit The process of wide contour carries out overall control.
Figure 19 A and Figure 19 B:Show the wall scroll profile from labelling profile contour for the construction when the observability figure derived blocks The flow chart of the method for boundary's segmentation.
Figure 18 is to be used in the case that the data structure of given use Figure 13 A is directed to the low volume data of whole contour storage The flow chart on each side of identification labelling profile contour.Figure 19 is to construct the VM OB_ deriving from the single edge of labelling profile contour The flow chart of the process of SEG.
By in the process to profile contour(The step 3482 of Figure 18)Period calls the process of Figure 19, and the process of Figure 18 has Result in effect the construction of all VM_OBSEGD for whole labelling profile contour.
In some embodiments, when encountering the profile side of labelling, handling process is from the beginning of step 1910.This corresponds to The step 1882 calling the process of Figure 18.
Handling process marches to decision steps 1920 to determine current markers profile contour node(" node ", from calling Reason transmission)And whether the span_type specifying in the Contour_Node.node_type data field specified by Figure 13 A Equal to value 1.
If determining that in decision steps 1920 span_type of current markers profile contour node is equal to value 1(Represent Using the outside angle of formation on the labelling profile contour of the Contour_Node.node_type data field of Figure 13 A), then processing stream Journey marches to step 1940.
In step 1940, process to construct SV-ME wedge shape using the previously pivot with reference to Fig. 4 description.
Handling process marches to step 1980 to determine whether the current outline side having constructed wedge shape is in contour A line.
If determining that in decision steps 1980 profile side is a line in contour, handling process marches to step Rapid 1992.
In step 1992, according to the CONTOUR.VMinfo.point specifying in the data structure of Figure 13 A, CONTOUR.VMinfo.mesh and CONTOUR.VMinfo.tri data field is obtaining the wedge shape-mesh triangles shape of pre-stored Intersecting information.This is corresponding to wedge shape and the precomputation of specifiable lattice triangle and the cross-shaped portion of pre-stored, wherein this cross-shaped portion It is the initial OB_SEG of the VM OB_SEG chain including the VM border being associated with labelling profile contour.Regard for specific in identification Unit transition profile contour, produce there is the minimum effectively processed offline of dynamic barriers value during precomputation in advance and depositing Store up this information(The step 1781 of Figure 17).Therefore, if this side is a line in labelling profile contour, step 1992 is raw Become corresponding VM border the OB_SEG.
On the other hand, if determining that in decision steps 1980 the profile side processing is not first in contour Side, then handling process march to step 1985.
In decision steps 1985, determine whether present node has CSV_Info associated there, i.e. current outline The wedge shape intersecting when whether supporting with another visual profile.If it is, Contour_Node.node_type value meeting etc. In 3(Figure 13 A)And Contour_Node.ninfo value can be CSV_Info array of data structures(Figure 13 B)In index.? In a kind of embodiment, store CSV_Info data without labelling profile contour but alternatively the initial point of every contour is limited It is scheduled at CSV, thus by corresponding data storage in Contour.mesh, Contour.triangle and Contour.vertex In field.
If determining that in decision steps 1985 present node is associated with CSV_Info data, handling process marches to Step 1990.
In step 1990, from CSV_Info [Contour_Node.inifo] .mesh, CSV_Info [Contour_ Node.inifo] read initial VM in .edge and CSV_Info [Contour_Node.inifo] .point data structure OB_SEG data.
On the other hand, if determining that in decision steps 1985 present node is not associated with CSV_Info, processing stream Journey marches to step 1995.
In step 1995, using the VM OB_SEG grid on last the profile side in contour, triangle and point Intersection data is constructing VM OB_SEG corresponding with current outline side.Because VM OB_SEG forms the face of manifold triangular mesh On polyline, so from adjacent edge OB_SEG construction be the polyline on polyhedron direct segmented construction.
Then step 1990 or step 1995, handling process marches to process 19-1 and processes 19-2, and it is sentenced from Figure 19 B's Certainly step 1996 starts.In decision steps 1996, determine whether VM_INFO.RETRIANGULATE_HINT field is not equal to 0.This is the field of the VM_INFO data structure of Figure 13 A, and if it is determined that adjoins effective dynamic barriers meeting in observability figure area Increased by the trigonometric ratio again at Ouluding boundary, then during the run time construction of observability figure, this field is arranged to Value 1.
If determining that in decision steps 1996 value of VM_INFO.RETRIANGULATION_HINT is not equal to 0, locates Reason flow process marches to step 1997.
In step 1997, in boundary, trigonometric ratio again is carried out to the triangle adjoining corresponding Ouluding boundary.
On the other hand, if determining that in decision steps 1996 VM_INFO.RETRIANGULATION_HINT is equal to 0, Handling process marches to step 1999.
In step 1999, in boundary, trigonometric ratio again is not carried out to the triangle adjoining corresponding Ouluding boundary. In this case, the triangle " link " including profile contour is not carried out triangle again to being partly blocked triangle Change.Handling process terminates at step 1999.
If determining that in decision steps 1920 NODE.span_type is not equal to value 1, handling process marches to step 1925.
Determine whether NODE.span_type is equal to value 2 in decision steps 1925, if equal to value 2, then handling process March to step 1945.If node_type is equal to value 2, contour can include outside corner contours summit and internal corner contours Summit.Thus, handling process sequentially proceeds to 1945 to determine whether current outline side is related in next wheel with contour In the outside angle on wide side or inner corners.
If determine profile contour in decision steps 1945 forms outside angle, processing stream when front and lower a line Journey marches to step 1940, as previously described.
On the other hand, if determined in decision steps 1945 inside the formation when front and lower a line of profile contour Angle, then handling process march to step 1955.
In step 1955, formed using the scan process previously describing with reference to Fig. 5 A and Fig. 5 B and be incident on internal horn ring SE-MV wedge shape on wide summit.Thus, handling process marches to step 1980, as previously mentioned.
If determining that in decision steps 1925 NODE.span_type is not equal to value 2, handling process marches to step 1930.
Determine whether the value of NODE.span_type is equal to 3 in decision steps 1930.If in decision steps 1930 Determine that the value of NODE.span_type is equal to 3, then handling process marches to step 1960.In this case, span_type table Show that the subset on the side that pass through to skip contour during hatched wedges/VMOB_SEG construction simplifies contour.As in Figure 12 C The effective static barriers of difference of the identification DR in step 1275 and 1289(Also referred to as effective dynamic barriers)With simplification profile contour Period this information is carried out precomputation and by this information be pre-stored in corresponding Contour_Node.span_type and In Contour_Node.span_length data structure.
In step 1960, by NODE.span_length and variable SPAN_COUNTER(First before encountering contour Begin to turn to 0)It is compared to determine construct the shade visibility events table of simplification between those summits of profile contour Face and corresponding VM OB_SEG.If determining that in decision steps 1960 SPAN_COUNTER is less than NODE.span_length, Then handling process marches to step 1965, and it represents not when formation wedge shape on front.
Handling process then moves to step 1970, wherein current outline side is directly linked to for whole profile contour Single OB_SEG, its when decision steps 1960 instruct and process towards step 1945 or step 1940 finally in step 1940 or Construct in 1945.
If determining that in decision steps 1930 NODE.span_type is not equal to value 3, handling process marches to step 1935.
Determine whether NODE.span_type is equal to value 3 in decision steps 1935.
If determining that in decision steps 1935 NODE.span_type is equal to value 3, handling process marches to step 1975.In this case, span_type is represented and should not be constructed the inside corner contours top being incident on contour using scan process Shadow event surface on point, but should be constructed using the simpler method intersecting the plane of adjacent S V-ME wedge shape.
Thus, in step 1975, using adjacent S V-ME wedge shape plane intersecting constructing SE-MV wedge shape(And Corresponding VM OB_SEG)And handling process marches to previously described step 1980.
Figure 20 shows and constructs observability figure to using the ROI border of the labelling profile contour construction according to pre-stored The flow chart of the process that the runtime processing of ROI is controlled, wherein ROI borders/delimited are traveled through to ROI Simplifying, hint, run time 3D trellis traversal is processed.
Combine described by Figure 17 A to Figure 17 D as previously, can be by for the specific increment observability number regarding unit transition Comprise the mesh triangles shape segmentation that can be seen that depending on unit from two and also comprise and two according to being described as unified observability in figure Area-of-interest depending on the corresponding Ouluding boundary as viewed from regarding unit of unit(ROI).
The type of increment observability data depends on the construction of corresponding ROI, and it regards depending on two descriptions depending on unit The relation of unit transition.
If be completely contained in another depending on one of unit regarding in unit, ROI can correspond to only from being comprised The area that can be seen that depending on unit.Labelling profile contour corresponding with the ROI of these types can be used at runtime according to father VM depending on unit carrys out the VM that constructor regards unit(Using hint, simplification 3D trellis traversal), thus avoiding in specific feelings Clearly storage to increment G- information under condition.
If two have face and one depending on unit and regard unit and are not included in another in unit(Referred to as " adjacent Connect " relation), then ROI is corresponding to increment area(DR).For from VC A to VC B regarding unit transition(Referred to as AB transition), DR There are two types.A type of increment area DROAB(Block increment area from A to B)Comprise from can be seen that depending on unit A and from regarding Unit B invisible mesh triangles shape segmentation.DROAB is also DREBA(Expose increment area from B to A).Similarly, DREAB= DROBA.DROAB corresponds to increment G- data and DR for AB transitionEAB corresponds to the increment G+ data for AB transition.Can So that the labelling profile contour on the border corresponding to these ROI to be used in operation being construction increment G+ and/or increment G- data(? Using hint, simplification 3D trellis traversal), thus avoiding under specific circumstances increment G+ and increment G- polygon segmentation being believed The clearly storage of breath.
In some embodiments, from the beginning of handling process is from step 2005, wherein will be for specifically regarding unit transition The list of all labelling profile contours to access as array " LAB_CON_LIST ".
Handling process marches to step 2010, wherein each of contour of labelling in " LAB_CON_LIST " all warps Further processed.
In first step that the labelling profile contour in " LAB_CON_LIST " is processed, handling process is advanced To step 2015, wherein identify the side of labelling profile contour using the process shown in the flow chart of Figure 18, and by above-mentioned side It is stored in " LAB_SIL_EDGE_LIST ".
Handling process marches to step 2020, and the side of wherein " LAB_SIL_EDGE_LIST " stands further to process.
In the first step that the side in " LAB_SIL_EDGE_LIST " is processed, handling process marches to step 2025, the process wherein shown in the flow chart using Figure 19 is constructing VM corresponding with the side of " LAB_SIL_EDGE_LIST " OB_SEG.
Handling process marches to decision steps 2030 to determine whether " LAB_SIL_EDGE_LIST " is empty.If There are more sides will process in " LAB_SIL_EDGE_LIST ", then select next untreated side and and process return To step 2020.
If determining in decision steps 2030 does not have more sides will process in " LAB_SIL_EDGE_LIST ", Handling process marches to step 2035.
Determine that the contour whether having arbitrarily more labellings in " LAB_CON_LIST " will be located in decision steps 2035 Reason.If determining that in decision steps 2035 contour having more labellings in " LAB_CON_LIST " will be processed, and selects Next untreated contour and handling process is back to step 2010.
On the other hand, if determining there is no the week of more labellings in " LAB_CON_LIST " in decision steps 2035 Line will be processed, then handling process marches to step 2040.
In step 2040, using as a triangle specifically regarding unit transition each increment area corresponding The triangle seed list of the list of the precomputation referring to of shape(Precomputation and pre-stored in the step 1785 in Figure 17 D)If It is set to the array of referred to as " TRI_SEED_LIST ".In this case, triangle seed list comprises to come from regarding unit A(Comprise to regard Unit)Look the triangle in each the VM area not being blocked and not being blocked as viewed from depending on unit B.From VM A from regarding Unit A and each the VM area that can be seen that depending on unit B select a seed triangle so that initiating the set to seed triangle Traversal guarantee the 3D trellis traversal that the run time in Figure 21 simplifies during encounter correlation for AB transition(Labelling) Profile contour.This selection of seed triangle guarantees to be constructed regarding unit B according to the VM depending on unit A using following traversal processing VM:" avoided " around geometric figure in AB transition using labelling profile contour information.
Handling process marches to step 2045, and wherein the triangle of " TRI_SEED_LIST " is through being subject to processing.
Handling process marches to step 2050, is wherein initiated as in Figure 21 using the triangle of " TRI_SEED_LIST " Flow chart shown in and combine the manifold trellis traversal of this figure simplification discussed in detail.Should be traversal through to from regarding unit A The triangle that can be seen that(Those trianglees in " TRI_SEED_LIST ")Small subset traversal identifying from regarding unit B The all trianglees that can be seen that.
Handling process marches to decision steps 2060 to determine whether there be any more do not locate in " TRI_SEED_LIST " The triangle of reason.
If determining there is untreated triangle in " TRI_SEED_LIST " in decision steps 2060, select The untreated triangle of the next one in " TRI_SEED_LIST " and handling process is back to step 2045.
On the other hand, if determine in decision steps 2060 do not have in " TRI_SEED_LIST " more untreated Triangle, then handling process march to step 2065.
Step 2065 represents that the run time traversal having passed through to simplify constructs and required increment visibility information pair The specific ROI answered.As previously discussed, when corresponding depending on unit transition be father arrive son transition when, this increment observability believe Breath can essentially be the set of the triangle/segmentation that can be seen that depending on unit from son.Alternately, this ROI information can correspond to In for the adjacent increment G+ regarding unit transition between unit and increment G- data, so that can select when needed Select and generate increment G packet rather than storage for all increment G packets regarding unit transition every time.Handling process is in step 2055 Place terminates.
Figure 21 is to be processed come the labelling profile week according to pre-stored using the run time 3D trellis traversal simplifying, implying Line information structuring ROI and construct the assembly of connection for this ROI seed triangle list main process task.
Figure 21 shows run time 3D guided called in the step 2050 of the control process shown in Figure 20 The flow chart of the embodiment of traversal processing.
Figure 20's of process shown in the flow chart of Figure 21 and PCT Patent Application No. PCT/US2011/042309th number is general 3D trellis traversal processes similar.The process of Figure 20 to carry out generally as offline pretreatment be in precomputation and store PVS and The purpose of labelling profile contour data is constructing observability figure.
On the contrary, the 3D trellis traversal of Figure 21 is processed is to carry out at runtime and for generating for specific regarding unit mistake The ROI of the unified observability figure crossing.These ROI are to because the change of these specific observabilities causing depending on unit transition is entered Row description.
In a type of transition regarding unit, regard unit from father depending on unit to the son being comprised, ROI only comprises to regard from son Those triangle/segmentations that unit can be seen that.When the seed triangle being provided be including come self-contained from son can depending on unit During the triangle sets of a triangle of assembly that each of those ROI of the triangle seen connects, can be according to Figure 21's 3D trellis traversal that simplify, hint processes to generate the ROI of the type.
The relevant ROI border that generated using these seed triangle and according to labelling profile contour so that simplify, dark The 3D trellis traversal process shown bypasses or " avoiding " is specifically regarding unit transition period(For example, from regarding unit A to regarding unit B, Wherein it is comprised in unit A depending on unit B)Become polygon or the polygon segmentation being recently blocked.This makes it possible to Ambiguously remove the polygon being recently blocked and/or polygon segmentation in the case of storage polygon list to be removed. If polygon list to be removed is very big with respect to the quantity of visible polygon, compare using clearly to be removed many The list of side shape, this can be more efficient.
Can also using the traversal method of hint directly generate for two adjacent between unit regarding unit mistake The increment G- crossing and increment G+ packet both, one of regard unit be not included in another depending on unit interior but two regard Unit has public face.In this case, the VM of beginning must comprise from combination depending on unit A+B can be seen that all polygon Shape or polygon segmentation.Additionally, start VM must comprise for the relevant Ouluding boundary regarding unit A with regarding unit B(These block Border is all to be generated according to the profile side of labelling).Such observability figure is referred to as unified observability figure.For two companies The unified observability figure depending on unit that connects comprises from can be seen that depending on unit A and from can be seen that depending on unit B(Or regard from Boolean add Unit A+B can be seen that)All polygon segmentations.Additionally, unified observability figure comprise with regarding unit A and right regarding unit B The Ouluding boundary as viewed from regarding unit answered.
In order to generate the transition for A to B(Also referred to as AB transition)Increment G+ packet, using for being hidden as viewed from A The seed triangle of assembly that each of the VM area keeping off and can be seen that from B connects corresponding unified VM is traveled through.Such The area of type is referred to as DREAB.Initiate to travel through and travel through to march to and regarding unit A or regarding unit B pair using these seed triangle The Ouluding boundary answered.Encounter and encounter on side exposing depending on unit A border being blocked on side depending on unit A border.This corresponds to With the DReAB area shown in light gray in Figure 40.
Table I summarizes when initiating for generating the operation for the hint of the adjacent increment G+ and increment G- packet regarding unit Between travel through the side gathering and showing encountered Ouluding boundary of required seed triangle.
Table I
Carry out basis using the method for Figure 20 and Figure 21 and generate increment G+ depending on unit A with depending on the unified observability figure of unit B With increment G- sub-grid data
The method makes it possible to according to the unified VM being directed to regarding unit transition and corresponding VM Ouluding boundary contour(It is permissible Generated according to labelling profile contour)Generate both increment G+ and increment G- packets.Regarded every time it is not necessary to be directed to using the method Unit transition clearly stores for the increment G+ and increment G- packet regarding unit transition every time.More specifically, can need Any time before packet generates packet by the traversal method of hint.
Additionally, in distributed client-server is implemented, generating the run time 3D traversal side of increment visibility information Method can be more efficient.In the area of the high visible dependency of space-time, can specifically regard unit for some in same zone Continually using the contour information of identical labelling.Therefore, the run time 3D trellis traversal to the profile information based on labelling Can be to compare for every time depending on the transmission data needed for unit transition use direct polygon increment G- list to be removed For the less transmission data observability figure/PVS to calculate increment.
Turn now to Figure 21, simplify run time traversal first step in, handling process from the beginning of step 2105, Wherein it is directed to and specifically initiate to travel through at the specific triangles in " TRI_SEED_LIST " regarding unit transition.
Handling process marches to decision steps 2115 to determine whether traveled through triangle comprises as viewed from regarding unit Ouluding boundary.These borders are constructed in the step 2020 of Figure 20.
If determining that in decision steps 2115 traveled through triangle comprises the Ouluding boundary as viewed from regarding unit, locates Reason flow process marches to step 2135.
Handling process marches to step 2135, interrupts traversal wherein at Ouluding boundary.In other embodiment, place Reason flow process marches to process 21-1 from 2135, and handling process is back to step 2125 by it.
On the other hand, if determining that in decision steps 2115 triangle currently being traveled through does not comprise Ouluding boundary, Handling process marches to step 2120.
Determine whether the triangle currently being traveled through has in decision steps 2120 specific with for considering Depending on unit transition labelling profile in corresponding profile.The profile side of these labellings corresponds to the corresponding ROI's of unified VM Inner boundary.
If determining in decision steps 2120 whether the triangle currently being traveled through has profile side, handling process row Proceed to step 2125.
In step 2125, select next in grid(Connect)The triangle that do not travel through and submitting it to step 2115 and subsequent step for process.
On the other hand, if determining that in decision steps 2120 current triangle does not comprise for when forward sight unit transition The profile side of labelling, then handling process march to step 2180.
Decision steps 2180 determine in current " traversal " with the presence or absence of any untreated(Do not travel through)Triangle, Wherein herein, traversal is defined as connecting by cold profile side and being located at as constructed in the step 2025 of Figure 20 The polygonal set of the grid not being blocked on side for the specific Ouluding boundary depending on unit transition.
There is the triangle not traveled through if determined in decision steps 2180 in current traversal, handling process marches to step Rapid 2125, the next triangle wherein choosing to go through is for data as the aforementioned.
On the other hand, if determining, in decision steps 2180, the triangle not traveled through in current traversal, process Flow process marches to step 2188.
In step 2188, the side that is not blocked of the Ouluding boundary segmentation being constructed in the step 2025 of Figure 20 is continued Traversal;Wherein said Ouluding boundary corresponds to the profile side of the labelling encountered in step 2120.This continuation can be related in quilt Again trigonometric ratio(That is, accurately it is trimmed to about at Ouluding boundary)Triangle on continue traversal, or can be related to not on side By continuation traversal on the side that is not blocked of the triangle of trigonometric ratio again at boundary.Handling process terminates at step 2188.
Figure 22:To be attached with for the specific grid elements recently the exposed corresponding increment G+ sub-grid depending on unit transition Method to the beginning border of corresponding labelling profile contour.
For any regarding unit transition, can be in observability figure as viewed from regarding unit for the construction and corresponding observability increment The processed offline in area(Figure 17)Period determines and stores the corresponding polyline of attachment curve with the sub-grid recently exposing.Permissible DeltaGplussummesh_attach_polyline data structure using Figure 13 B stores these polylines.Can store Use in this data and during the subsequent runtime processing of increment observability figure/PVS construction described in Figure 20 and Figure 21 This data.Specifically, in order that with the net being recently blocked is determined by " avoiding " during 3D trellis traversal at runtime The run time method of lattice element, connects any grid elements recently exposed to the unit previously exposed at attachment polyline Element is to guarantee for the manifold of connection to present to run time traversal.
Note, in some embodiments, when being used for calculating at runtime by getting around the method for Figure 20 and Figure 21 During the geometric figure being recently blocked, using the method for Figure 22.
In some embodiments, handling process marches to step 2205, wherein for for specific regarding unit transition The profile side of labelling(Start)Associated DeltaGplussummesh_attach_polyline data structure conducts interviews And this data structure is referred to variables A P.
Handling process marches to decision steps 2210, wherein determines whether attachment type corresponds to 0.If in decision steps Determine in 2210 that attachment type corresponds to 0, then handling process marches to step 2215.
In step 2215, by increment G+ sub-grid(Hereinafter simply referred to as sub-grid)Side be connected directly to the right of main grid Ying Bian.The single side listed from AP.submesh_edgelist and AP.mainmesh_edgelist starts along corresponding The free margins of grid(Only there is a polygonal side of composition)It is traveling between AP.edgenumber side and make this connection. In this mode, only need the single side of pre-stored for each edgelist.
Handling process marches to decision steps 2220 to determine whether attachment type corresponds to 1.If in decision steps Determine in 2220 that attachment type corresponds to 1, then handling process marches to step 2225.
In step 2225, by increment G+ sub-grid(Hereinafter simply referred to as sub-grid)Side be connected directly to the right of main grid The side answered.The first side listed from AP.submesh_edgelist and AP.mainmesh_edgelist starts sequentially to pass through Wear whole when list is at AP.edgenumber between make this connection.
Handling process marches to decision steps 2230 to determine whether attachment type corresponds to 2.If in decision steps Determine in 2230 that attachment type is equal to 2, then handling process marches to step 2235.
In step 2235, by increment G+ sub-grid(Hereinafter simply referred to as sub-grid)Side " link " to main grid correspondence Side, wherein link can be to many mappings from the one of an ambiguity line segment to another polyline.During pre-processing to this A little links are identified so that they assume the conservative expression of corresponding grid at runtime during 3D travels through.From The single side listed in AP.submesh_edgelist and AP.mainmesh_edgelist starts the freedom along corresponding grid Side(Only there is a polygonal side of composition)It is traveling between AP.edgenumberge side and make this link.In this pattern Under, storage is only needed for each edgelist and stores single side.
Handling process marches to decision steps 2240 to determine whether attachment type is 3.If in decision steps 2230 Determine that attachment type corresponds to 3, then handling process marches to step 2245.
In step 2245, by increment G+ sub-grid(Hereinafter simply referred to as sub-grid)Side " link " to main grid correspondence Side, wherein link can be to many mappings from the one of an ambiguity line segment to another polyline.Right during pre-processing These links are identified the conservative expression making them assume corresponding grid at runtime during 3D travels through.From Start at the first side listed in AP.submesh_edgelist and AP.mainmesh_edgelist and sequentially run through whole Individual when list is traveling in AP.edgenumber between make this link.
Under any circumstance, handling process marches to step 2250 for next depending on unit transition.In step 2250, The next beginning border regarding elementary boundary can be derived according to when the end boundary of forward sight unit transition, and process and be directed to down Once march to decision steps 2210 depending on unit transition.Handling process terminates at step 2250.
In some embodiments, except being grouped using for the polygonal increment G+ geometric figure recently exposing, In the case of not needing clear and definite increment G+ polygonal, program ground reconstructs the face that some expose recently at runtime.At some In embodiment, single big polygon is generated in the increment area recently exposed using the method(Or chessboard trellis face)For example Floor or the visible part recently of ceiling.In this case, specifically instruction runtime processing program ground whole The labelling generating the part recently exposed in face in increment area carrys out labelling profile contour.
Figure 23 shows the figure of the impact of the ability exposing the time to mankind's resolve spatial detail.
Figure 23 is the data having mankind's visual performance institute to reproduce(Luntinen,O.,et.al.(1995) .Modeling the Increase of Contrast Sensitivity with Gating Area and Exposure time.Vision Res.Vol.35,No.16,pp.2339-2346.Elsevier Science Ltd.).
This research shows the remarkable result exposing the time for contrast sensitivity, especially for the height up to 1000ms Spatial frequency.
Figure 23 shows 4 width figures(A to C), wherein contrast sensitivity is drawn into the letter exposing the time from 0 second to 10 seconds Number.In every width in figure, relation is for observed face(Comb mesh pattern)Different always expose area to draw.Every width figure Represent the relation for one of four represented spatial frequencys.This research shows few exposes the time and the little area that exposes subtracts Little contrast sensitivity.Note, in this case contrast sensitivity increase with the increase of spatial frequency be because measured Low frequency be less than with regard to the spatial contrast sensitivity curve under the experiment condition being adopted " peak value " spatial frequency.According to This data is it is evident that ability that human visual system differentiates high spatial frequency data is even more than when exposing of 1000ms Between function.This can make low level of detail increment visibility information purposes by initially using and be subsequently used as increase Plus the of a relatively high level of detail exposing the time of corresponding increment G+ sub-grid data increment visibility information replacing For above-mentioned low level of detail increment visibility information.
Figure 24 A show control include can rendering data the showing of the method for the content stream of visibility events packet Example property flow chart.In some embodiments, these packets include the data sending from server unit, are such as jointly treating Described in detail in PCT Patent Application PCT/US2011/042309 certainly.In the method it is contemplated that calculating and the data with storage Packet include can rendering data PVS increment groupings(Visibility events are grouped).In the method, client unit can position On identical physical equipment such as server unit(For example, in co-pending PCT Patent Application PCT/US2011/ In No. 042309 Figure 46).Alternately, the method also supports following configuration:It is different that client unit is located at server unit Physical equipment on and be located at different positions(For example, in co-pending PCT Patent Application PCT/US2011/ In No. 042309 Figure 46).
Turn now to Figure 24 A, according to some embodiments, the data being labeled as 2405 includes the single number of PVS data increment Be also referred to as visibility events data according to, this single data, represent in game modeling environment regarding unit-regard at elementary boundary or The change of the visible entity sets of graphic element during transition.This data warehouse can be included using special in co-pending PCT The data that the observability pre-computation methods in terms of region specified in profit application PCT/US2011/042309 have been processed.This number Can include using the logarithm being also detailed description in co-pending PCT Patent Application PCT/US2011/042309 according to warehouse The data that compression algorithm has been processed.
In decision steps 2410, determine whether user requests interactive data stream.This request can by user with The interaction of client unit is being input in system.In one embodiment, will be with control device in step 2410(Example As wired or wireless game console)Any reciprocal action be construed to the request to interactivity packet data streams.Other enforcements Scheme can include asking using specific key combination to initialize interactive data stream.In some embodiments, data Stream is two-way, wherein by data from server transport to client and from client transmissions to server.
If determining user's request interacting sexual experience in decision steps 2410, handling process marches to step 2420.
In step 2420, using the camera position control under being controlled by the interactivity being in user based on navigation Fetch in advance it will be seen that property event data stream is supplied to client unit from data warehouse 2405.As in co-pending PCT Patent This applying for being described in detail in PCT/US2011/042309 prefetches in process, and this is predicted in the current location using camera view The Future Positions of viewpoint, and probably worn by this viewpoint to in following predetermined amount of time from data warehouse 2405 Saturating is prefetched depending on elementary boundary corresponding PVS data increment.For example, based on the history when forward sight unit with regarding unit transition To predict that future regards unit transition.In the case of providing current location, it is possible to use the art methods of dead reckoning Or other art methods of navigation prediction are predicting following viewpoint or camera position, said method includes Chim's et al. Method(Jimmy Chim,Rynson W.H.Lau,Hong Va Leong,and Antonio Si,CyberWalk:A Web- Based Distributed Virtual Walkthrough Environment,iEEE TRANSACTIONS ON MULTIMEDIA, VOL.5, NO.4, DECEMBER 2003, entire contents are incorporated by reference in the application).Alternative Ground, navigation prefetches can be using the method for the exemplary process diagram that figure 28 illustrates and discussed with reference to this figure.
In step 2420, determined by user input for controlling the viewpoint position prefetching process based on navigation. This viewpoint can be user the viewpoint in modeling environment, the camera view of the movement following user in modeling environment or The camera view of a certain other user or non-player character is followed in modeling environment.In this case, data flow client is single The user of unit delivers fully interactivity class game experiencing.For example, when user plays interaction sex play and to the left or to the right During moving game controller, in monitor/screen, user's current view point of display correspondingly translates to the left or to the right.
Actually by be located at come from data warehouse with the decoder processes on client display unit identical physical equipment Read prefetched data(For example, if prefetching data flow from local disk).Alternately, can essentially by be located at and visitor Decoder processes on the different physical equipment of family end unit carry out the data prefetching from the data warehouse reading of PVS data increment (For example, prefetch process to may be located on the far-end server unit also including data warehouse 2405).
In step 2420, the data being prefetched in some embodiments represents bidirectional traffic, this bidirectional traffic Can rendering data and be supplied to server process to control number including the PVS increment being prefetched to client process from server process According to the user input data prefetching.
If determining that in decision steps 2410 user does not ask interactivity bidirectional traffic, handling process marches to Step 2460.
In step 2460, controlled using predetermined camera motion path and prefetch regarding of process for controlling based on navigate Point position.In this case, the data flow being supplied to client unit delivers the master of the user not needing client unit The class video tastes of dynamic interactivity input.
In the context of the present specification, camera motion path includes the position sequence specifying virtual camera.Calculating In machine graphics, camera is actually typically by viewpoint position(Corresponding with camera position and projection centre)And viewpoint is specified simultaneously And usually line of vision vector virtual camera.In modeling environment, camera can be arranged at the virtual eye point position of user, Wherein camera is said to be to provide first person.In this case, camera view is identical with user's viewpoint.
Alternately, camera may be located at the points different from the viewpoint of user.Camera can limit regarding body, and it includes table Let others have a look at the incarnation of thing or the vehicle by user's control.In this case, camera provides third person.
Although this pre- constant current can use for example fully interactive bidirectional traffic of data from identical data warehouse, Alternatively, this pre- constant current can qualitative framework be packet-optimized really using make use of stream.Described in United States Patent (USP) 6,057,847 For represent fixed camera path can rendering data packet transmission these optimizations, by quoting, this patent is whole Content is merged in the application.The camera controlling using predetermined camera path and direction and alternatively to visible sexual behavior Being described based on the other subsequent sections optimizing in this specification prefetching of navigation of number of packages evidence.
Being using the major advantage of the deterministic data stream from fixing predetermined camera path clustering can be to multiple use Family is broadcasted simultaneously and is equally accurately flowed.If big digital network(For example, broadband cable, satellite or other network)In user It is provided with uniquely two-way fully interactive data flow, then this uses fairly small bandwidth.In some embodiments, definitiveness Data flow include with regarding unit predetermined data packet sequence corresponding to transition.
According to some embodiments, that is, allow to effectively broadcast, to the multiple users supporting network, the phase specified simultaneously The unidirectional deterministic data stream of machine position control, definitiveness unidirectional traffic remains able to obvious, false from each user As the input of incomplete interactivity.
There is the former of multiple features that this restriction that deterministic data stream alternatively provides is visibility events method for stream processing Cause.First, the data flow that each determines include representing through in model database by embody in a model concrete connect regarding list The camera motion path of the space region that metasequence is formed.By contrast, conventional camera motion path(For example, for computer Animated video)Formed by the space curve embodying in a model.Thus, as long as user's navigation is restricted to by limiting motion path Connection regard what unit sequence limited area, then user arbitrarily can interactively change the stream process of modeling environment to visitor The partly interior viewpoint position of family end unit, i.e. interior random navigation in this section.This course can be by the restriction of client unit Any storage that the cached data amount of client can be stored in limits to limit.This navigation can also be intentionally by servicing The cache that device supplier or Content owner apply to client unit limits and to limit.The limited interactivity phase of the type Machine motion can obtain, even if it is synchronously provided from unidirectional deterministic data stream(Broadcast)To multiple users.
Additionally, being divided using the visibility events that the method for PCT Patent Application the PCT/US2011/042309th carrys out precomputation Group makes it possible to carry out increment and progressive constructing to expression from the PVS data of all graphic elements that specifically can be seen that depending on unit, The direction of observation wherein regarding in unit is unrestricted(That is, omnidirectional).That is, the visible entity sets of result makes it possible to right Answer depending on carrying out omnirange observation in unit.When adopting such visibility events packet using predetermined camera path, even if Receive the broadcast definitiveness visibility events data flow being determined by predetermined camera path, user is maintained to direction of observation Control completely.
Can using the another type of user interactivity of unidirectional deterministic data stream transmission be related to be pointed to model from Corresponding PVS data increment has been transmitted to client unit and the area that can be seen that depending on unit of connection of cache in Incarnation, personage, vehicle and other object are controlled.
Wherein user is arbitrarily run through the fully interactive of modeling environment movement and is employed as in step 2410 and step 2420 Shown in full bi-directional data flow.In this case, user's request is different from the unique data stream of definitiveness broadcasting stream.When When making this selection, digital service supplier can select to add the surcharge reflecting following item:Asked to prefetching only The dedicated bandwidth that this unique data flows to user is transmitted in the first-class use of server resource and request.Additionally, Content owner Can use for the fully interactive stream imposition of surcharge, this fully interactive stream reflect when content be used as game experiencing and not It is the feature that increased of content during more passive class video product.In some embodiments, to user with will be interior Hold pass to user client unit server be associated login account charged.
Step 2430 shows the method increasing expense when user selects bidirectional flow in step 2410.This increased Expense can be fixing charge in due order(pay-per-play)Or hourly rate.Alternately, digital service supplier and/or Content owner enables to user according to monthly or other period expense to access interactivity content.
Handling process marches to decision steps 2440, wherein determines whether user continues what request was provided by bidirectional traffic Interactivity.If there is still a need for completely interactivity in step 2440, process be back to wherein uncertainty, PVS increases The prefetching the step 2420 being controlled by customer location and continuing based on navigation of amount packet.In some embodiments, whenever It is carried out subsequent step 2430 when user's request is fully interactive.In an alternative embodiment, please only for first time interactivity Ask or collect additional expense, as determined by service supplier and/or Content owner for specific interactivity request.
In some embodiments, if the user while not being provided that input in predetermined amount of time, or have if user sends Imitate signal to terminate fully interactive bidirectional flow, then stream resets into one or more deterministic data streams.
If determining that in decision steps 2440 user does not ask or asks fully interactive, handling process marches to Step 2465.In step 2465, stream compression is changed into deterministic unidirectional traffic.
This excessively can be occurred by following:Server or client process is made to control camera view and mobile phase Machine viewpoint make its towards belong to corresponding with deterministic data stream regarding unit path regarding unit regarding unit.In some enforcements In mode, some complete PVS regarding unit regarding with one or more definitivenesss in unit path can be sent by server The PVS data of corresponding precomputation and pre-stored is by previous bidirectional traffic re-synchronization to be and different " stories accurately The corresponding one or more definitiveness unidirectional traffics of outgoing route of plot " or stream process content.
It is alternatively possible to carry out this re-synchronization to experience actually being serviced supplier to create from fully interactive It is broadcast to one or more deterministic data streams of multiple other client unit(Corresponding with " plot ")Seamless mistake Cross.The method makes it possible to effectively utilize available band by unique stream is given only those users of the unique stream of actual expectation Wide.Additionally, network congestion is reduced to this effectively utilizes of available bandwidth.Both deterministic data stream or non-deterministic data stream In any one can be stored on such as hard disk to treat subsequently to use.As described above, in some embodiments, The method includes following technology:Intentionally to cache, the amount of the PVS data increment in client unit carries out limiting Prevent the piracy of used content and resell.
Figure 24 B is to further illustrate to use client unit(It is labeled as 2490)Server unit(It is labeled as 2492) Between the exemplary process diagram to control the details of the method for visibility events data flow for the two-way communication.
In one exemplary embodiment, circular treatment is from the beginning of decision steps 2468.In decision steps 2468 really Determine whether user has provided input to client unit, this input produces and controls or viewpoint position and/or speed(For example, Control bar inputs)Or the intention of such control is provided(For example, button is pressed to signal and is intended to start the user navigating Control).
If determining that in decision steps 2468 user does not make user's control of expression viewpoint/camera navigation to controller System input, then handling process march to step 2470.
In step 2470, the data of viewpoint position/speed is not controlled to be sent to server.In alternate embodiments In, user can wish to abandon the positive instruction of the control to viewpoint/camera navigation using user.
Handling process marches to decision steps 2472 on server unit for the execution.Determining in decision steps 2472 is The data of the no user's control having received that expression viewpoint/camera navigation.In some embodiments, due to when specific Between do not input in section, for determining that the criterion of the input data not being derived from client includes such parameter.Additionally, As previously indicated, in some embodiments, user to the expectation of the control abandoning viewpoint/camera navigation by forward signal (For example, specific controller button is pressed)To indicate.
If determining the input data being not received by from client unit in decision steps 2472(Or represent termination The desired input data of the control of viewpoint/camera navigation), then handling process march to step 2474.
In step 2474, navigating and regarding using by predetermined of viewpoint/camera is driven by predetermined camera motion path Point/camera motion path drives based on navigation pre- fetch it will be seen that property event data packet(Data warehouse 2476)Read Client unit.In this case, the visibility events data flow 2478 of result can provide graphical information to client unit, When rendering this graphical information, this graphical information produces the fully interactive script image sequence do not supported during observing(Example As, not limited viewpoint/camera motion can not be allowed, but the interactivity of more regulation can be allowed, for example, line of vision vector complete Complete or limited control).In an alternative embodiment, substituting is provided constant current really, and current view point remains stationary is until detecting User input.
It will be seen that sexual behavior part packet transmission is decoded to it to produce PVS to client unit and in step 2480 Data, then by PVS data storage in data warehouse 2482.In the exemplary embodiment, using in co-pending PCT The method specified in patent application the PCT/US2011/042309th is being decoded.
If determining the user input input of the user's control of expression viewpoint/camera navigation in decision steps 2468, Then handling process marches to step 2484.
In step 2484, this input data is sent to server unit.For example, input data includes the current of user Position and speed.
If determining the input data receiving from client unit in decision steps 2472, handling process is advanced To step 2486.
In step 2486, determine navigating and using regarding by user's control of viewpoint/camera by user input What point/camera drove is fetched it will be seen that property time data is grouped based on the pre- of navigation(Data warehouse 2476)Read client list Unit.In this case, the visibility events data flow 2478 of result provides graphical information to client's single unit, when rendering this figure During information, this graphical information create support modeling environment can navigation space restriction in and by server unit to storage Completely observation in any restriction that the cache memory sizes of the visibility events in client unit and PVS data apply The figure sequence of the non-scripting of person's motion.
Using Figure 24 A and Figure 24 B previous in co-pending PCT Patent Application PCT/US2011/042309 middle finger Fixed method is controlling the stream process of PVS increment groupings, it is possible to use definitiveness broadcast PVS data increment stream to be broadcasted effectively Appear to the content of high resolution computer animation program, but there is important advantage:At any time, observer is Can select using the game console linking with decoder apparatus and become the personage in story.When user selects to participate in When, stream of packets is switched to from definitiveness broadcasting stream and is bi-directionally connected with the fully interactive of server provider, and it can be used as prize Product or must type content providing.By specify in co-pending PCT Patent Application PCT/US2011/042309 The stream process interactive media of PVS increment codec transmission(SIM)Seamlessly it is switched to game from TV programme.In office when Wait, in some embodiments, user can select the passive scripting plot re-synchronization with program, which increases use The experience to content for the family.
Described in co-pending PCT Patent Application PCT/US2011/042309 to based on visibility events The method that the packet of PVS data increment is encoded enables existing game content to be converted to and can support flexible stream process Interactive media(SIM)Data.It is, of course, also possible to using for target game engine existing development of games instrument together with Described in co-pending PCT Patent Application the PCT/US2011/042309th to the letter being produced by these developing instruments Cease the method being encoded to develop natural SIM content.As discussed with reference to Figure 26, client unit can be in conjunction with integrated Client-decoder processes in game engine.
This SIM method of content transmission enables publisher to affect " free gain " model of content transmission, wherein makes With One-to-All Broadcast data flow, scripting definitiveness SIM content is freely passed to public audience.Content exposure is given vast sight by this Two-way fully interactive content that is many and allowing a viewer to by purchase is raised the price is immediately turned into player.
It is alternatively possible to using in co-pending PCT Patent Application PCT/US2011/ in client unit The content that the method describing in detail in No. 042309 carrys out stream process is rendered and is combined on conventional video.
According to more fully develop with reference to Figure 46, exemplary in Figure 24 step B 2420 or Figure 24 step B 2486 In flow chart, the position of user can be virtual location in modeling environment for the user, or users/customers' end unit is in modeling ring Physical location in the true environment that border is based on.Modeling environment based on actual environment can be according to using LIDAR(Optical detection And range finding)Or other distance measuring method is come the data to obtain, according to conventional 3D modeling or acquisition and manual modeling a combination of both. Publication " Airborne and Terrestrial Laser Scanning, Vosselman, G., Hans-Gerd, M., Eds.CRC Press2010,ISBN9781439827987”(Entire contents are incorporated by reference in the application)Disclosed in This LIDAR method.In some embodiments, if modeling environment is based on actual environment, the visible sexual behavior of stream process The position based on client unit in true environment that part information includes true environment is virtual come stream process to client unit Interactivity represents.
Figure 25 A shows the figure overlooking orthograph, hiding line chart including two building motorcycles and billboard.
Figure 25 A shows the 3D environment of modeling.Hiding line chart shown in this figure.In some embodiments, use Advanced masking and means of illumination carry out rending model.Figure 25 A shows house(2501), chapel(2502), motorcycle (2503)And billboard(2504).Figure 25 B be with three-dimensional view in Figure 25 A shown in identical modeling environment vertical view orthograph Figure.
The vertical view that Figure 26 A shows Figure 25 A modeling environment identical with Figure 25 B and includes depending on cell array is just thrown The figure of shadow figure.
But Figure 26 B shows the identical modeling environment of Figure 26 A with the figure shown in three-dimensional view.
Figure 26 C show the identical modeling environment of Figure 26 A vertical view orthograph and include two exemplary camera/ The figure of viewpoint motion path, one of script flower camera/viewpoint motion path change to be in client user control it Lower camera/viewpoint motion path.
Figure 26 C shows the identical view of Figure 26 A and includes two cameras/viewpoint motion path.By camera/viewpoint fortune Dynamic path is shown as inside sweep, but very close to the top boundary regarding unit.By first camera/viewpoint motion path flags For " path A ", and in one embodiment, it corresponds to the camera/viewpoint motion path of regulation.By second camera/regard Point motion path flags are " path I ", and it corresponds to the camera/viewpoint being under the interactivity control of client user Motion path.
Using being driven prefetching based on navigation from the camera/viewpoint motion path " path A " of exemplary specification Property event decoder-server process produce with following depending between unit depending on unit-depending on unit transition boundary corresponding 7 can The stream process of opinion property event packets:
Depending on unit [1,1,1] with regarding unit [1,1,2]
Depending on unit [1,1,2] with regarding unit [1,1,3 ,]
Depending on unit [1,1,3] with regarding unit [1,1,4]
Depending on unit [1,1,4] with regarding unit [1,1,5]
Depending on unit [1,1,5] with regarding unit [1,1,6]
Depending on unit [1,1,6] with regarding unit [1,1,7]
Depending on unit [1,1,7] with regarding unit [1,1,8]
In the exemplary embodiment, for the camera/viewpoint motion path such as " path A " of regulation, only transmission and reality On by this motion path penetrate depending on unit-be grouped depending on the corresponding visibility events of elementary boundary.In Figure 26 C, illustrate only tool Have with the corresponding border of visibility events packet of transmission during visibility events content stream regarding unit.Thus, due to rule Fixed camera/viewpoint motion path " path A " does not penetrate these and regards unit, so regarding unit [1,2,1] not shown in Figure 26 C With regarding unit [1,2,2](As shown in Figure 26 A).
In the illustrative embodiments of Figure 26 C, be labeled as " path I " camera/viewpoint motion path correspond to be subject to It is labeled as camera/viewpoint motion path that the interactivity of the client user at the point of " point D " controls.In the example of 26C, visitor The visibility events content stream that decoder-client process that family end subscriber uses is receiving corresponds to the pass passes through by " road What footpath A " penetrated is grouped until encountering the visibility events that " point D " to prefetch depending on elementary boundary.In this example, at " point D " place, Client user's input that client user selects to receive based on being input in control device such as mouse or game console is next pre- The interactive visibility events stream of packets taking.As with reference to Figure 24 A and Figure 24 B(And subsequent Figure 35 A and Figure 35 B)Method retouched State, in some embodiments it will be seen that sexual behavior part deliver a packet to the decoder of specific decoder-client process- Server process is from being promptly transitioned into the prefetching of camera/viewpoint motion path corresponding visibility events packet of regulation To with prefetching that the camera being controlled by client user/corresponding visibility events of viewpoint motion path are grouped.
In Figure 26 A, the example of Figure 26 B, Figure 26 C and Figure 26 D, correspond to navigation depending on unit and regard unit, Figure 26 A and figure Shown in 26B depending on unit be merely in the presence of in Figure 26 C and Figure 26 D shown in two cameras/viewpoint motion path area in regarding list Unit.In this example, near modeling object regarding cell array correspond to predefined paths(For example, narrow street)Or course phase To limited area.
Thus, in the example shown in Figure 26 C, the interactivity camera that adopted for client user/viewpoint motion road Footpath " path I ", in some embodiments, can only prefetch during interactive visibility events data flow corresponding with " path I " And following border between unit set:Depending on unit [1,1,5];Depending on unit [1,1,6];Depending on unit [1,1,7];Depending on unit [1,1,8];And and the border between unit set and their neighbours should be regarded:[1,2,5];Depending on unit [1,2,6];Depending on unit [1,2,7];Depending on the corresponding additional visibility event packets of unit [1,2,8].
Figure 26 D shows the three-dimensional view of identical modeling environment of Figure 26 C and includes two exemplary camera/viewpoints The figure of motion path, one of scripting camera/viewpoint motion path changes to the interactivity control being in client user Under camera/viewpoint motion path.
Figure 26 D shows the object identical object with Figure 26 C, but is with three-dimensional view.
Figure 26 E shows the identical axonometric chart of the identical modeling environment of Figure 26 D and includes three exemplary camera/regard The figure of point motion path, the interactivity that one of scripting camera/viewpoint motion path changes to by client user controls Under camera/viewpoint motion path, and third camera/viewpoint motion path achieve from reciprocal motion path to regulation The re-synchronization of motion path.
Figure 26 E show object identical object with Figure 26 D and increased be labeled as the third camera of " path R "/ Viewpoint motion path, " point Q " corresponds to client user's navigation " path I " and selects to abandon the interactive controlling to camera/viewpoint simultaneously And it is re-engaged the point in the room and time of camera/viewpoint motion path of regulation.As described by with reference to Figure 15 A and Figure 15 B , if not receiving interactivity control from corresponding decoder-client process after the specific time period, can be by This decoder-client-user determines to be signaled to decoder-server process as useful signal or default behavior.
In some embodiments, operationally camera/viewpoint motion " path R " is defined as camera when regulation/regard Point is located at intersecting in a flash during the point of intersection of regulation camera/viewpoint motion path with the camera/viewpoint motion path of regulation Track.In the example of Figure 26 E, with the re-synchronization point of " path A " present in labelling point " point S ".In such embodiment party In formula, determined by path implementation and include based on broadcast visibility events stream interactive media(SIM)Programming one or more The camera of multiple regulations/viewpoint motion path.As shown in Figure 26 E, in some embodiments, when user determines from friendship When mutually stream switches to determination stream(That is, point Q), " path R " is back to determination stream with naturally advancing.For example, at point Q, user It is currently located in unit [1,2,6], and determine the forefield of stream positioned at regarding unit [1,1,6].Substitute directly from regarding list First [1,2,6] jumps to regarding unit [1,1,6], and user is re-engaged regarding unit [1,1,2] place really via regarding unit [1,2,7] Constant current.
The motion path itself being labeled as " path R " of motion path connecting fully interactive motion path with regulation is The motion path of scripting(For example, in some embodiments, operationally determine).In the example of Figure 26 E, scripting Motion path " path R " will not wear fluoroscopy units [1,2,8].Thus, should not regard unit shown in Figure 26 E.This with following Operation principle is consistent:Reduce to the transition in the path of regulation from interactivity camera/viewpoint motion path and must prefetch and high Speed caching visibility events data, hence in so that can have faster navigation, less bandwidth consumption or both.
Transmit the interactivity content as uncoded data and encoded in client unit before using content Method and using Distributed Calculation come on client operation unit calculate visibility events data method
Figure 27 show transmit as uncoded data interactivity content and before using content in client list The exemplary process diagram of the method being encoded in unit.
Data warehouse 2705 is can to include representing the geometry of modeling environment, texture, material, illumination and other data not The game content of coding.In step 2710, uncoded game data experiences in co-pending PCT Patent Application PCT/ Coded method described in US2011/042309.This coding creates the PVS increment groupings of also referred to as visibility events packet. In some embodiments, the data storage of this coding is in data warehouse 2720.
In some embodiments, these packets include thering is the corresponding between unit of adjacent or inclusion relation Conservatively become visible geometry and/or texture information recently depending on unit transition period.According to some embodiments, phrase " is protected Become visible with keeping " include for becoming visible all graphic elements depending on unit transition, and also can include for regarding list First transition does not actually become visible graphic element(The precision determining depending on PVS/PVS increment).In co-pending PCT Method described in patent application PCT/US2011/042309(In Fig. 1 to Figure 14 of this specification, also describe the method Subset)The controlled-precision enabling PVS/PVS increment determines.Alternately, in some embodiments, according to jointly treating Described in PCT Patent Application PCT/US2011/042309 certainly it will be seen that the logarithmic compression form storage according to this of sexual behavior number of packages It is the intermediate representation using labelling profile side.Recently the geometry being blocked and texture information can also be stored in 2720.
In some embodiments, execution step 2710 in client unit.This enforcement makes it possible to all in needs Or the PVS data increment of above-mentioned all or part is directly generated before partial PVS data increment on client unit.Work as visitor When family end unit has to the limited connection of server unit or do not connect, this enforcement is probably useful.When jointly treating When employing high accuracy observability precomputation during the coded treatment of PCT Patent Application PCT/US2011/042309 certainly This enforcement can be adopted.In this case, be stored in PVS data increment in data warehouse 2720 size may too big so that It is loaded directly in client unit in being actually unable in being stored on assignable media.
In one embodiment, by the PVS increment visibility events packet transmission calculating in client unit to clothes Business device unit subsequently uses for other users.In the exemplary flow in figure of Figure 27, by determining in client unit This optional transmission being transferred to server unit of visibility events packet is shown as step 2725.
In execution in the step 2730 on server unit, visibility events packet/work is received by server unit Unit and storing data in data warehouse 2735.In some embodiments, step 2730 also sends work and proves number According to token to determining in the client unit that corresponding PVS data increment is grouped and sends it to client.This is counted According to being labeled as 2743.This work proves that information is used as to for calculating specific visibility events(PVS increment)The client of packet The compensation of the operator-owner of end unit.This work proves that information block subsequently can be with bit coin(bitcoins)Similar Mode be used as currency(Using work, the user enabling client in this case proves that currency is bought based on observability Interior perhaps other article of event or service).In the exemplary embodiment, give each game or SIM application each can One serial number of opinion property event packets, this serial number simplifies distribution between server and client for the working cell.
For example, before game is commercially issued(Or during the test second edition is issued), may not exist and recently send out The PVS data increment of each the possible precomputation regarding unit to the transition regarding unit in the modeling environment of the game of cloth.From And, in some embodiments, pre- issue or during the Pre purchase time period to user send job sharing and can with PVS data increment is calculated on the client device at family and is transferred to server.As the benefit for calculating PVS data increment Repay, user receives the employee's card explicit order board of the convertible discount with regard to game or convertible other products or service.Therefore, user There is the motivation of Pre purchase game and receive job sharing.
In subsequent step 2740, the additional PVS increment groupings that server unit determination must calculate, and to client End unit sends the instruction determining these packets.In some embodiments, client is in order to calculate visibility events packet count It is included with working cell instruction according to required data, the instruction of this working cell is by as the data is activation being labeled as 2742 To there is provided to client unit rather than by whole game database 2705.In some embodiments, until every with game Individual navigate depending on elementary boundary/transition corresponding visibility events packet be complete when job sharing be just made available by.
The work that Figure 27 B1 shows including the visibility events precomputation for being completed by client unit refers to The figure of the illustrative embodiments of data structure of order.
The work that Figure 27 B1 shows including the visibility events precomputation for being completed by client unit refers to The figure of the illustrative embodiments of data structure of order.In some embodiments, the data structure of Figure 27 B1 is used for transmitting Worked by the observability precomputation that the data being labeled as 2742 in Figure 27 A represents.
The data structure of Figure 27 B1 includes representing the identifier of client user or the field of ID.Due to each client End subscriber controls more than one client device, so also including unique client device field.In some embodiments, should Device identifier can include identifying the IP data of client unit or IP address or other Unique Device data.In some enforcements In mode, the 3rd field identification will carry out game or the SIM content of observability precomputation.In some embodiments, another Field include playing or SIM can unique identifier in navigation space or specifically regard unit.In some embodiments, root To determine regarding element identifier (element ID) according to the index depending on cell array three-dimensional in modeling environment.In some embodiments, another word Section includes the unique identifier for the specific border regarding unit.In some embodiments, should include depending on elementary boundary information It is grouped the reference markss of corresponding certain surface depending on unit and specific observability.Another field includes the parameter regarding unit.? In some embodiments, these parameters include dimension and the position regarding unit regarding unit.In some embodiments, another Field is included regarding elementary boundary parameter.In some embodiments, include representing each face regarding unit depending on elementary boundary parameter On the adjacent information regarding unit.
In some embodiments it is seen that sexual behavior part precomputation work order includes executing the observability as viewed from regarding unit Drawing Object information needed for precomputation(For example, polygon and polygonal mesh connectivity information).In some embodiments In, this information includes texture vertex information.
Figure 27 B2 show including completed by client unit and be sent to server unit for visible sexual behavior The figure of the illustrative embodiments of the data structure completing operational data of part precomputation.
Figure 27 B2 show including completed by client unit and be sent to server unit for visible sexual behavior The figure of the illustrative embodiments of the data structure completing operational data of part precomputation.In some embodiments, Figure 27 B2 Data structure be used for from client unit, the observability completing precomputation work being conveyed to server unit, such as by Figure 27 A Process 2725 send and 2730 to be received and stored in the data warehouse 2735 of Figure 27 A by processing.
The data structure of Figure 27 B2 includes representing the identifier of client user or the field of ID.Due to each client End subscriber can control more than one client device, so also including unique client device field.In some embodiments In, this device identifier can include identifying the IP data of client unit or IP address or other Unique Device data.One In a little embodiments, the 3rd field represents the game that will execute observability precomputation or SIM content.In some embodiments, Another field comprise to play or SIM can the specific unique identifier regarding unit in navigation space.In some embodiments In, determined regarding element identifier (element ID) according to the index depending on unit three-dimensional array in modeling environment.In some embodiments, separately One field includes the unique identifier of the specific border regarding unit.In some embodiments, elementary boundary packet should be regarded Include the reference symbol being grouped corresponding certain surface regarding unit and specific observability.
In some embodiments, the job sharing completing includes PVS or visibility events information, and it can be included in figure Increment G+ sub-grid information described in 13.
Figure 27 B3 shows specifically complete with the visibility events precomputation being completed by client unit including describing The figure of the illustrative embodiments of the data structure of information of job sharing corresponding employee's card explicit order board becoming.
Figure 27 B3 shows specifically complete with the visibility events precomputation being completed by client unit including describing The figure of the illustrative embodiments of the data structure of information of job sharing corresponding employee's card explicit order board becoming.In some enforcements The card of the observability precomputation work completing being executed by client unit in mode, is passed on using the data structure of Figure 27 B2 Bright token.In some embodiments, by server unit, this employee's card explicit order board is sent out in the step 2730 of Figure 27 A Deliver to client unit and be stored in data warehouse 2743 by client unit.
The data structure of Figure 27 B3 includes representing the identifier of client user or the field of ID.Due to each client End subscriber can control more than one client device, so also including unique client device field.In some embodiments In, this device identifier can include identifying the IP data of client unit or IP address or other Unique Device data.One In a little embodiments, the 3rd field identification will execute game or the SIM content of observability precomputation.In some embodiments, Another field include playing or SIM can the specific unique identifier regarding unit in navigation space.In some embodiments In, determined regarding element identifier (element ID) according to the index of the three-dimensional array depending on unit in modeling environment.In some embodiments, Another field includes the unique identifier of the specific border regarding unit.In some embodiments, elementary boundary information should be regarded Including the reference symbol being grouped corresponding certain surface regarding unit and specific observability.
In some embodiments, the target date of work and time are stored in another field.In some embodiment party In formula, the currency values of storage token.
Above-mentioned field restriction unique employee's card explicit order board corresponding with specific visibility events precomputation.As combined figure Described by 27A, client user can by these tokens be used as to exchange for the article of provided observability precomputation work and Service.
In some embodiments, employee's card explicit order board is that reusable work proves currency such as bit coin, and it can To exchange the article being provided by many producers and service.
Interactivity content is carried out with different level of detail based on available transmission bandwidth and client graphical performance The method of coding
Figure 28 A, Figure 28 B and Figure 28 C show in co-pending PCT Patent Application PCT/US2011/042309 Described in coded treatment as how using the geometry being on specific detail level and/or texture information, wherein level of detail To render performance proportional with maximum available transmission bandwidth and/or client unit available.
The method that co-pending PCT Patent Application the PCT/US2011/042309th specifies following technology:Possible It is dynamically selected the visibility events packet of the relatively relatively low level of detail of transmission during the time period that delay is grouped into occurs. Figure 28 A, Figure 28 B are to be grouped, to the visibility events being in relative level of detail, the static state being encoded with the method for Figure 28 C Method, this relative level of detail reflects maximum available transmission bandwidth or maximum client renders performance.In some embodiment party In formula, employ the previously described visibility events with relatively low level of detail are grouped and encoded and potentially prolonging The method selecting during packet reaches the time period late to send these packets, together with the method for Figure 28 A to Figure 28 C.
In the decision steps 2810 of the exemplary process diagram of Figure 28 A, determine maximum available transmission bandwidth whether more than pre- Definite value(In this case, it is VAR1).If determining that in decision steps 2810 available maximum transmission bandwidth exceedes predetermined value, Then handling process marches to step 2820.In step 2820, execute coding using high level of detail model.In some enforcements In mode, the level of detail of this model to be determined by the factor including geometric detail level, fixture resolution and illumination details.
On the other hand, if determining that in decision steps 2810 available transmission bandwidth is not more than predetermined value, processing stream Journey marches to step 2815.In step 2815, the relatively low level of detail using model executes in co-pending PCT Patent Apply for the coded treatment described in No. PCT/US2011/042309.
In the exemplary flow in figure of Figure 28 B, in decision steps 2830, determine that maximum available client end renders performance and is No exceed predetermined value(It is VAR2 in this case).If determining maximum available client end rendering in decision steps 2830 Can be more than predetermined value VAR2, then handling process march to arrangement 2840, wherein high level of detail visibility events are grouped into Row coding.On the other hand, if determining that in decision steps 2830 available client renders performance and is not more than predetermined value VAR2, Then handling process marches to step 2835.In step 2835, the relatively low level of detail using model executes co-pending Coded treatment described in PCT Patent Application the PCT/US2011/042309th.Again, in some embodiments, model Level of detail to be determined by the factor that can include geometric detail level, fixture resolution and illumination details.
According to some embodiments, execute and store multiple coding for identical modeling environment.Can be based on maximum Available transmission bandwidth and/or client render performance and are dynamically selected, to be directed to prefetch in real time to decode, the observability suitably encoding Event data.Additionally, in some embodiments, also it is based in co-pending PCT Patent Application PCT/US2011/ Method described in No. 042309 come to be adaptive selected level of detail with prevent postpone packet reach.
It is possible in some embodiments that the various parameters of geometric model represent.These parameters represent including by The curved surface that Bezier and other high terrace represent.Parametric surface is procedural face(procedural surface)Type.? In some embodiments, the model that procedural face defines with also including program is as extruded(With and without inclination), pivot face and Its more complicated procedural model.
Typically can using include a small amount of information of program parameter come to these programs the model that limits be described.? During operation, can process and to generate including faces such as such as polygons according to a small amount of parameterized information and corresponding procedural generation Geometric relatively great amount of information.For example, parameterized information can include reasonable b spline surface, can be in fortune according to it Many polygons are generated during row.(The example being effectively stored as the graphical information of parameterized model includes autodesk, inc. 3D Studio Max product and Parametric Technology company Pro-Enginner product, such as place publication “Geometric Modeling with Splines,Cohen,E.,Riesenfeld,R.,Elber,G.2001, Description in the case of the face based on batten in A.K.Peters ", the full content of this publication is incorporated by reference into this In application).
In the decision steps 2850 of the exemplary process diagram of Figure 28 C, determine maximum available transmission bandwidth whether more than pre- Definite value(It is VAR3 in this case).If determining that in decision steps 2810 available transmission bandwidth has exceeded predetermined value, Handling process marches to step 2860.In step 2860, execute coding using original non-program representation.
On the other hand, if determining that in decision steps 2850 available transmission bandwidth is not more than predetermined value, handling process March to step 2855.In step 2855, represent to execute in co-pending PCT Patent Application PCT/ using parametrization Coded treatment described in No. US2011/042309.
Additionally, in some embodiments, operationally adaptively in the observability using original geometry encoding of graphs Event packets and using geometric parametrization presentation code visibility events packet between make a choice be based on be total to Figure 42 A of with the method described in PCT Patent Application co-pending PCT/US2011/042309th and combining this specification and The method that Figure 42 B is discussed to prevent postpone packet reach.
Figure 29:If the visibility events data of institute's cache has exceeded predetermined value, by the data of institute's cache from The method removing in client unit
The exemplary flow of Figure 29 illustrates the visible sexual behavior to the cache being stored in client unit The method that the amount of part and PVS data is controlled.In the exemplary flow in figure of Figure 29, decision steps 2910 determine client Whether the size of the cached data on end unit has exceeded predetermined value(It is " PERMITTED_SIZE in this case(Permitted Can _ size)”).This cached data can be visibility events data, the visibility events data of decoding not decoded (That is, PVS data increment), the combination of PVS data or all three data.
If determining that in decision steps 2910 size of the data of institute's cache in client unit exceedes " PERMITTED_SIZE ", then handling process marches to step 2920.
In step 2920, would indicate that viewpoint invisible PVS data or the current view point from user nearby from user Look and be not readily reachable by PVS data increment(For example, be not located at including user's current view point position near unit regarding list First transition boundary corresponds to)Cached data remove from cache.
This removes to process and result in the cache being typically much smaller than whole model at any time.Due to a period of time in office Carve and only have sub-fraction data storage on the client, so this prevent the unauthorized copying to content(For example, copy or steal Version).If determining that in step 2910 cache memory sizes are not more than " PERMITTED_SIZE ", handling process marches to step Rapid 2915, it is removed without cache element.
During the low bandwidth needs time period of stream process interactive media data flow, advertisement or targeted advertisements are flowed The method processing
Figure 30 shows the observability to the instruction including geological information, texture information or generation geometry or texture information Event packets carry out the exemplary process diagram of the method for stream process, and wherein visibility events information represents stream process interactive media Advertisement or targeted advertisements during the low bandwidth needs time period of data flow.
Server unit is marked as 3005.Specific client unit is marked as 3010.In some embodiments, Server unit is connected to multiple client unit.
In some embodiments, non-variable visibility events data includes the overwhelming majority of the content of modeling environment, on State modeling environment include building, vehicle, incarnation and its do not indicate that to specific client end subscriber be unique advertisement, cache storehouse Storehouse or other contents of telegram object.
On the contrary, variable visibility events data(It is stored in the data warehouse 3025 of this illustrative embodiments)It is right to represent Specific client user is unique advertisement, cache warehouse, telegram or other object.
Based on the interactive user control that may be determined by the camera motion path specifying or may be moved by camera/viewpoint The camera driving/viewpoint movement prefetches non-variable visibility events data and variable visibility events data to client End unit.
Cache Warehouse object includes the expression of the object or object that can be selected in modeling environment by client user, Wherein object is used the selection of cache Warehouse object by client user.In some embodiments, high The selection of speed caching Warehouse object leads to the monetary charge to client user.The example of cache warehouse item includes modeling Clothes, weapon, adnexa, the object of vehicle, real estate and any other type that can represent in modeling environment.
Object by messaging client user in modeling environment for the telegram object or the expression of object.Telegram object Example include billboard, the etching to incarnation, vehicle or clothes or labelling, flight mark or can represent in modeling environment Any other type object.In some embodiments, telegram object can be interacted with client user to send Return message.
Audience is additionally included in the expression of the object that advertisement is sent in modeling environment client user or object.Extensively Accuse object example include billboard, the etching to incarnation, vehicle or clothes or labelling, flight mark or can be in modeling environment The object of its type any of middle expression.In some embodiments telegram object can interact with client user and This intersection record is that the user that can click on advertisement is clicked on.
In the illustrative embodiments of Figure 30, based on scripting predetermined camera path, visibility events packet is carried out Stream process, in this case, non-variable for identical visibility events data flow are broadcast to the client unit of multiple connections. Data warehouse 3015 stores non-variable PVS increment or visibility events packet.In this illustrative embodiments, non-variable visible Property event packets include the camera path based on regulation and the geometry that prefetches and texture information.Visibility events data by result Stream is referred to as flowing interactive media(SIM)Data flow.In the exemplary embodiment, under normal operation pattern transmission as by specifying The visibility events data flow of camera motion path drives SIM data flow(As in Figure 24 A and Figure 24 B and Figure 35 A and figure Shown in the illustrative embodiments of 35B, nonreciprocal SIM stream can be transitioned under user's control and interact SIM completely Stream).In other embodiment, this non-variable visibility events data flow is come by the camera motion path of predetermined scripting Drive, in this case, the SIM of result allows limited interactivity, as described by above in conjunction with Figure 24 A and Figure 24 B.At this In the case of, according to some embodiments, the scripting sequence synchronization of non-variable visibility events packet is broadcasted to multiple clients End unit.
In step 3020, the non-variable packet including stream interactive programming is grouped transmission as non-variable visibility events To client unit.In the illustrative embodiments of Figure 30 embodiment, based on scripting predetermined camera path come to non-can Become visibility events packet to be processed, in this case, will be at most individual for non-variable for identical visibility events data streaming The client unit connecting.In an alternative embodiment, using based on prefetching of navigation, the packet of non-variable visibility events is moved Prefetch to state to specific client unit, in based on the prefetching of navigation, camera/motion of an observer is used by client user Mouse, game console or miscellaneous equipment to be alternatively controlled.
In some embodiments, the second data warehouse 3025 stores the variable data representing targeted ads message, The broadcast delivery of non-variable visibility events data or non-broadcasting transmission period are special to each by this targeted ads message stream process Fixed client unit.According to some embodiments, targeted ads data to be sent as variable packets, non-variable when sending During the bandwidth demand of the data very low time period, this above-mentioned variable packets is added to data flow.
In step 3030, represent that for user will be the geometry of object or the texture information of visible specific advertisement message It is placed in the one or more variable packets being combined with the non-variable packet of broadcast in step 3033.
The alternate embodiments insertion variable packets data of method in step 3030, wherein variable packets data represent can The Drawing Object that renders or for generate include from a user be sent to another user instant message the figure rendering The instruction of shape object.
In some embodiments, 3025 this visibility events data is actual geometry and/or texture information.Replacing For in embodiment, this data is for generating the geometry of reality and/or the instruction of texture information in client unit.One In kind of embodiment, 3025 this data include for represent geometry and/or texture information as representing the right of advertisement information The parameter of the parametrization construction of the object of elephant.In one embodiment, this parameterized information includes certain illustrative symbol and retouches State the reference symbol generating the parameter representing the 3D mark of advertisement information or the extruding of graphic character profile of etching and/or inclination.? In other embodiment, billboard, neon light label, scoring board or with regard to visitor are generated using other parameters constructing technology Other expressions of family advertisement information.
In some embodiments, using in co-pending PCT Patent Application PCT/US2011/ in step 3030 The data in warehouse 3015 is joined by the forecasting method based on navigation described in No. 042309 with geometric transformation matrix correlation, this matrix Affiliated partner is arranged in probably to be become in visible position to user in the time of scheduled volume.In a kind of embodiment In, transition matrix by mutable object change to from when forward sight unit invisible and from quickly will be by regarding that camera/viewpoint penetrates The position that unit can be seen that.Using in publication " Introduction to Computer Graphics, Foley, J., Van Dam,Addison Wesley,1990”(Entire contents are incorporated by reference in the application)Described in matrix cascade Art methods deriving this transition matrix, wherein transition matrix positioning is also invisible and be visible sexual behavior for user The mutable object in unit or navigation elements of a part for part cache.
In step 3030, during the time period when the quantity of the variable packets sending and size very little Variable packets to carry out stream process to the data representing audience.In this illustrative embodiments, when stream process are non-can Become packet bandwidth demand very low when time period during send variable packets.In some embodiments, even if all so In exemplary enforcement, wherein non-variable packet represents the visibility events packet of the regulation being broadcast simultaneously to multiple client, During these time periods of low bandwidth needs, each variable packets is only sent to specific reception/client unit.Use Packet addressing protocol such as TCP/IP or any desired routing plan by variable packets send to one or more clearly The receiving unit of target.
During the time period of the low bandwidth needs to non-variable broadcast packe, the packet of variable non-broadcasting is added to data The method of stream most preferably make use of available bandwidth and is easy to minimize situations below:The client of visibility events data is at a high speed Caching is exhausted by camera/viewpoint position, and otherwise during client renders, this situation can reach and visible corresponding to postponing packet Property mistake.
In step 3030, would indicate that the object of advertisement information to be clearly placed in a part for modeling environment and make Stating object very willing can be visible for user within the scheduled volume time.Additionally, in step 3030, doing to variable packets transmission Go out scheduling so that variable packets substantially its become visible before just reach, thus prevent because postpone packet reach and lead to Observability mistake.
Illustrative embodiments can also include adaptively being grouped to prevent using the visibility events of relatively low level of detail Only expected postpone the method that packet reaches, the method in conjunction with Figure 42 A and Figure 42 B carries out the discussion of a step to the method.For example, If object is it is contemplated that moment t1 becomes visible, scheduling is in the moment being grouped in moment t1 of detail present level(Example As moment t0)Place reaches at client device.However, if it is determined that the packet being in detail present level can not be in moment t0 Place reaches, then send being in being grouped at moment t0 of relatively low level of detail to client device.
In subsequent step 3033, the packet of non-variable visibility events is grouped into variable visibility events and uses number Data splitting stream according to 3050 expressions.
Data flow 3050 is destined for the variable packets of particular customer end unit being represented with rectangle 3010 and broadcast(Non- can Become)The data splitting stream of packet.
In execution in the step 3055 on particular customer end unit, user can select specific with identified ad message Object interacts.Would indicate that time and position(And represent the other information of interacted object)It is sent to from specific receptor Server unit.This data being transmitted back to server unit is shown to be labeled as 3057 data.
In execution in the step 3040 on server unit, connect from the client unit data flow for 3057 expressions The user click data received is used for triggering to the advertisement representing with clicked on(AD)The particular geometric of associated object or texture (Or parametrization)The reading of data.In this case, in some embodiments, represented object is included with regard to being clicked on The additional information of advertisement, this additional information includes the expression of product or additional product word or the purchase order information of institute's advertisement.? In alternate embodiments, the object in modeling environment shows and clicks on-order icon.When selecting to click on-order icon, Suddenly occur allowing users to order product corresponding with selected objects from order.If institute's advertisement to as if stream The virtual objects dressed, drive, fly, navigate or carried by the incarnation of user during the remainder of interactive program, then click on May lead to user be charged, as shown in step 3056.
During the low bandwidth needs time period of fully interactive bidirectional traffic, advertisement or targeted advertisements are carried out at stream The method of reason
As previously described, Figure 30 shows and for variable visibility events packet to be inserted into non-variable visible sexual behavior The illustrative embodiments of the method in the data flow of part packet, wherein non-variable visibility events packet represents great majority Modeling object and the packet expression advertisement of variable visibility events, cache warehouse or telegram object.Exemplary in Figure 30 In embodiment, non-variable visibility events packet and transmutability event data packet are mobile next based on camera/viewpoint Nominally prefetch, this camera/viewpoint movement is true by regulation camera path corresponding with the Animation Programming with limited interactivity Fixed.
In some embodiments, mobile next based on the camera being under the interactive controlling of client user/viewpoint The method applying Figure 30 during visibility events data is carried out with stream process.Show this in the exemplary process diagram of Figure 31 The illustrative embodiments of sample.In data warehouse 3115, represent in some embodiments whole environment PVS increment or can Opinion property event data.In step 3120, controlled using in co-pending PCT Patent Application based on the interactivity being in user Described in No. PCT/US2011042309, the packet of non-variable visibility events is prefetched based on the forecasting method of navigation.
In step 3120, the non-variable packet including stream interactive programming is grouped transmission as non-variable visibility events To client unit.In this case, using based on navigation prefetch by non-variable visibility events packet dynamically prefetch to Specific client unit, in this is based on the prefetching of navigation, client user uses that mouse, game control or miscellaneous equipment is next Alternatively control camera/motion of an observer.In this case, using non-variable visibility events packet as unique data stream Stream process are to specific client/user(For example, there is the content of the class game of obvious interactivity).
According to some embodiments, it is non-in non-variable visibility events data that the second data warehouse 3125 stores expression By the targeted ads message of stream process to each specific client unit during broadcast delivery(Or cache warehouse item or Telegram object).Using targeted ads data as adding during the time period when the bandwidth demand sending non-variable data is very low Variable packets to data flow are sending.Using the inclusion size of visibility events packet to be prefetched and the letter of viewpoint speed Cease and to determine with respect to the current of available bandwidth and prediction bandwidth demand.If thus, for example, scheduled within the given time The quantity being grouped for the visibility events prefetching transmission is less than predetermined threshold, then be less than can be by for the bandwidth demand of prediction user Advertising data transmission to user bandwidth demand.In illustrative embodiments, in step 3130, represent will to The geometry of object of the visible concrete advertisement information in family or texture information are placed on and are carried out with non-variable packet in step 3133 In one or more variable packets of combination.
In some embodiments, 3125 visibility events data is actual geometry and/or texture information.Substituting In embodiment, data is the instruction for generating actual geometry and/or texture information in client unit.Implement a kind of In mode, the data in the second data warehouse 3125 is included for entering line parameter to the object representing geometry and/or texture information Change the parameter of construction, this represents the object of advertisement information to liking.In one embodiment, this parameterized information include specific The reference symbol of graphic character and the extruding of description graphic character profile and/or the parameter of inclination are to generate the 3D mark representing advertisement information Know or etching.In other embodiment, billboard, neon light label, meter are generated using other parameters constructing technology Divide plate or other expression with regard to client's advertisement information.
In some embodiments, using in co-pending PCT Patent Application PCT/US2011/042309 middle finger The forecasting method based on navigation that is fixed and further describing in the further embodiments of this specification is by warehouse 3130 Data and geometric transformation matrix correlation join, this matrix by affiliated partner be arranged in very possible in the time of scheduled volume to Family becomes in visible position.
In step 3130, would indicate that the data of audience as the quantity of the variable packets that ought sending and size The variable packets during time period during very little carry out stream process.Broadcast to multiple clients even representing in non-variable packet simultaneously The enforcement of the visibility events packet of the regulation at end(For example, the illustrative embodiments of Figure 30)In, each variable packets also may be used Potentially to send to specific reception/client unit during these low bandwidth needs time periods.In some embodiments In, using packet addressing protocol such as TCP/IP or any desired routing plan, variable packets are sent to one or more The clearly receiving unit of target.
During the time period of the low bandwidth needs of non-variable packet, the packet of variable non-broadcasting is added to the side of data flow Method most preferably employs available bandwidth and is easy to minimize situations below:The client cache quilt of visibility events data Camera position exhausts, and otherwise this situation reaches and observability mistake corresponding to postponing to be grouped during client renders.
In step 3130, in some embodiments, represent that the object of advertisement information is particularly located at modeling environment So that object is visible for user within the time of scheduled volume in fate.Additionally, in step 3130, to can variation Group transmission make scheduling so that object substantially to become visible before just reach, thus prevent being grouped into because of delay The observability mistake reaching and leading to.
In subsequent step 3133, the packet of non-variable visibility events is grouped into expression with variable visibility events Data splitting stream for data 3150.
Data flow 3150 is to send to the non-variable packet of particular customer end unit that represented with rectangle 3110 and can variation The data splitting stream of group.
In execution in the step 3155 on particular customer end unit, user can select and represent the specific of advertisement information Object interacts.Would indicate that the data of time and position(That is, the object being interacted)It is sent to server from specific receptor Unit.This data of be transmitted back to server unit is illustrated referred to as with 3157 data representing.
In execution in the step 3140 on server unit, in some embodiments, using from being represented with 3157 The user click data of client unit data stream reception is come the advertisement to trigger to expression and clicked on(AD)Associated object Particular geometric or texture(Or parametrization)The reading of data.In this case, in some embodiments, represented object Including the additional information of the advertisement with regard to being clicked on, this additional information includes the expression of product or the addition product word of institute's advertisement Or purchase order information.In an alternative embodiment, represented object is click on-orders icon.
If institute's advertisement to as if stream interactive program remainder during by user incarnation wearing, drive, fly Row, the virtual objects navigating or carrying, then click on the charge that may produce to user, as shown in step 3156.
The user of the audience on record visibility events server clicks on and will click on record and is sent to so that working as User shows the Website server of advertisement url method when subsequently entering website
The instruction that Figure 32 A and Figure 32 B shows to geometry or texture information or generation geometry or texture information is carried out The block diagram/flow diagram of the method for stream process, wherein above- mentioned information or instruction represent low in stream process interactive media data flow Advertisement during the bandwidth demand time period and targeted advertisements.
Server unit is labeled as 3205.Specific client unit is labeled as 3210.In some embodiments, Server unit is connected to multiple client unit.According to some embodiments, would indicate that the data of stream interactive media stream is made Client unit for non-variable multicasting to all connections.
Data warehouse 3215 storage includes flowing interactive media(SIM)Non-variable PVS increment or visibility events packet, its The prefetching by the camera path driving specifying based on navigation of middle visibility events packet.Second data warehouse 3225 storage represents Can during the broadcast of non-variable data stream process to the targeted ads message of each specific client unit can parameter According to.Using this targeted ads data as adding to the number during the time period when the bandwidth demand sending non-variable data is very low Variable packets according to stream to send.
This data warehouse 3225 can also store the object bought by user or give to user with exchange for advertisement pair Variable data as the object of the click of associated advertisement url.In some embodiments, being labeled as from Figure 32 B 3260 Website server sends audience, purchase object or gives object.Alternately, represent that the data of these objects can To be pre-stored on server unit 3205, wherein from Website server(3260)To server unit(3205)Data be used for The particular variable packet that triggering be will be stored in using step 3230 in 3225 is inserted in visibility events stream.
Alternately, can represent from Website server 3260 to the data of server unit 3205 be used for giving object, The parameter of the construction of purchase object or audience;Wherein parametric data is used for actually using in server unit 3205 The parametric modeling method of execution is constructing object.
In some embodiments, as described later, the data receiving from Website server 3260 finally by previously with The interaction of audience, to trigger, is recorded to this interaction by server unit 3205 in step 3242, and this is handed over Mutually record is sent to the Website server 3260 being stored in intersection record in data warehouse 3263.
In step 3220, the non-variable multicasting that would indicate that stream process interactive programming is to all of reception/client Unit.
In step 3230, would indicate that will for user visible specific advertisement message, give object or purchase object Geometry or texture information be placed in step 3233 with broadcast that non-variable packet is combined one or more can variation In group.
In some embodiments, 3225 data is actual geometric error modeling information.In an alternative embodiment, data Including for the geometry of reality and/or the instruction of texture information are generated on client unit.In a kind of enforcement, 3225 number According to the parameter of the parametrization construction of the object including for representing geometry and/or texture information, this represents advertisement information to liking Object.In a kind of enforcement, this parameter information includes the reference symbol of certain illustrative symbol and the extruding of description graphic character profile Parameter to generate 3D mark or to represent the etching of advertising message.In other embodiment, using other parametersization construction Technology is generating billboard, neon light mark, scoring board and with regard to client's advertisement information, purchase object or the other giving object Represent.
In some embodiments, the data in warehouse 3230 and geometric transformation matrix correlation join, this geometric transformation matrix base Navigating in previously described and co-pending PCT Patent Application the PCT/US2011/042309th prefetches feedback side Affiliated partner is placed on and is likely within the scheduled volume time, user be become in visible position by case.
In step 3230, the object that would indicate that advertisement, give or buy(Hereinafter referred to as mutable object)Data Be placed in variable packets, by time period when when the quantity sending variable packets and size very little during send should This variable packets is combined by variable packets with non-variable packet.In some embodiments, in these fall time sections Period only sends each variable packets to specific reception/client unit.Using packet addressing protocol such as TCP/IP or its Variable packets are sent to the receiving unit of one or more specifically targets by its routing plan.
During the time period of the low bandwidth needs of non-variable broadcast packe, variable non-broadcasting packet is added to data The method of stream most preferably make use of available bandwidth and minimizes the client cache of visibility events data by camera The situation that position exhausts.
In step 3230, mutable object is specifically placed in a part for modeling environment and makes these objects pre- Probably visible for user in amount of time.Additionally, in step 3230, variable packets transmission is scheduling so that Object substantially to become visible before just reach, thus preventing observability mistake.
Data flow 3250 is destined for the broadcast of particular customer end unit being represented with rectangle 3210(Non-variable)Packet and can Become the data splitting stream of packet.
In execution in specific receptor or client unit(It is labeled as 3210)On step 3255 in, user can select Interact with the particular variable object representing advertisement information.Would indicate that time and position(For example, the object being interacted)Number It is sent to server unit according to from specific receptor.
In a kind of enforcement, emphasize mutable object for a time period(For example, by illumination or other means).Will be User mutual with stream during this time period(For example, clicked on by the user of single button)Be registered as and particular variable object (For example, audience)Interaction.Because not needing each user's control camera path, this enables multiple users to exist Interact with such audience during single broadcast visibility events stream.Once user's control regards, unit is outer and client The corresponding SIM camera path of side visibility events cache, then user can only need no longer corresponding with broadcasting stream unique Two-way visibility events data flow.
In step 3256, in some embodiments, for the audience the clicked on phase clicked in step 3255 The advertiser-sponsored of association carries out monetary charge.
In step 3240, the user click data from the client unit data stream reception being represented with 3257 is used for touching Send out to the advertisement representing with clicked on(AD)The particular geometric of associated object or texture(Or parametrization)The reading of data.? In the case of being somebody's turn to do, represented object can include the additional information with regard to the advertisement clicked on, and this additional information includes advertisement The expression of product or additional product word or purchase order information.In an alternative embodiment, represented object can be click on- Order icon.
In subsequent step 3242, handling process marches to the process 32-1 in Figure 32 B, wherein would indicate that corresponding to user In Figure 32 B, extremely it is labeled as 3260 Website server list with the data is activation of the specific click event interacting of audience Unit.
Website server unit 3260 is by the record storage interacting of specific user and audience in data warehouse 3263 In.
In the subsequent step 3269 being executed by Website server 3260, when corresponding user accesses as institute in decision steps With the audience previously being interacted during visibility events data flow during the website of the Website server showing pair(This was previously handed over Mutual record has stored in 3263)Corresponding url link is shown.
General effect is for each user record and to be saved in user during SIM/ game visibility events data flow With interacting of advertisement or other mutable object, and above-mentioned interaction is made to be made available by when a web site is accessed.
In decision steps 3272, user can select to click on one or more url chains of display in step 3269 Connect.This can lead to carry out monetary charge in currency mode to advertiser.
In a kind of enforcement, the url of advertiser is clicked on so that user is subsequently right in step 3272 The access to particular variable object is obtained during specific SIM/ game visibility events data flow.If in decision steps 3275 The middle mutable object determining that user obtains access is " free gift ", then handling process marches to step 3281.
In step 3281, by with user passed through click on step 3272 obtain access particular variable object corresponding Data is activation is to visibility events server unit 3205.In some embodiments, this data can be included for constructing spy Determine the parameter of mutable object and identify that the data of mutable object being stored in advance on server unit 3205 or expression can Become the real data of object or the combination of the information of all three type.Handling process marches to process 32-1 from 3281, and it will Handling process is back to the step 3225 in Figure 32 A.
If the url chain determining with display in step 3269 in decision steps 3275 and clicking in step 3272 Connecing corresponding object is not free present but a charge item, then handling process marches to step 3278, and being wherein directed to should The purchase of " cache warehouse " mutable object charges to user.
During the low bandwidth needs time period of completely interactive bidirectional traffic, stream process are carried out to advertisement and targeted advertisements Method.
Figure 32 A and Figure 32 B specifies the data flow being inserted into variable data packet in non-variable visibility events packet In method, wherein non-variable visibility events packet represents the base being driven by the camera path specifying of visibility events packet In prefetching of navigation, the camera path of this regulation is corresponding with the Animation Programming with limited interactivity.
According to some embodiments, also by the method for Figure 32 A and Figure 32 B be applied to as shown in Figure 2 fully interactive can Opinion property event data stream.In data warehouse 215, represent PVS increment or the visibility events data of whole environment.In step In 220, based on the interactivity being in user control under user's viewpoint position using in co-pending PCT Patent Application the Described in No. PCT/US2011/042309 based on navigation forecasting method prefetch visibility events packet.
In step 233, by based on the data flow that prefetches of navigation in the way of with reference to Figure 32 A and Figure 32 B description come with mark Know target, audience can be clicked on and the packet of other mutable object is combined.
The instruction that Figure 33 A and Figure 33 B shows to geometry or texture information or generation geometry or texture information is flowed Process method block diagram/flow diagram, wherein above- mentioned information or instruction represent using visibility events data based on navigation The pre- advertisement fetched during the low bandwidth needs time period that stream process are carried out to visibility events data and targeted advertisements, should Prefetching of visibility events data is to move to drive by the viewpoint being under the interactivity control of client user.
Server unit is labeled as 3305.Particular customer end unit is labeled as 3310.In some embodiments, will Server unit connects to multiple client unit.Would indicate that the data of stream interactive media stream as non-variable multicasting extremely The client unit of all connections.
Data warehouse 3315 storage includes flowing interactive media(SIM)Non-variable PVS increment or visibility events packet, its In stream interactive media, visibility events packet is driven by the camera path specifying based on prefetching of navigation.Second data warehouse 3325 store expression can during the broadcast of non-variable data stream process wide to the orientation of each specific client unit Accuse the variable data of message.Targeted ads data to be sent as variable packets, when the bandwidth for sending non-variable data During time period when demand is very low, variable packets are added to data flow.
In some embodiments, this data warehouse 3325 also stores expression and is bought or given to user to exchange for by user Variable data to the object of the click of the advertisement url being associated with audience.In some embodiments, by advertisement pair As, purchase object or give object and to send from the Website server being labeled as 3360 among Figure 33 B.In alternate embodiments In, would indicate that the data pre-storage of these objects stores up on server unit 3305, wherein from Website server(3360)To service Device unit(3305)Data be used for triggering using step 3330 will be stored in 3325 particular variable packet be inserted into visible In property flow of event.
In an alternative embodiment, represent to the data of server unit 3305 from Website server 260 and give for construction Send the parameter of object, purchase object or audience;Above-mentioned parameter data is commonly used for execution in server unit Parametric modeling method on 3305 practically to construct object.
As disclosed below, the data that receives from Website server 3360 finally by previous with interacting of audience Triggering, records previous interacting with audience by server unit 3305 in step 3342, and intersection record is sent To the Website server 3360 being stored in intersection record in data warehouse 3363.
In step 3320, the non-variable multicasting that would indicate that stream interactive programming is to all of receptor/client list Unit.
In step 3330, will visible to user represent specific advertisement message object, give object or buy right The geometry of elephant or texture information are placed in step 3333 can variation with broadcast the one or more of non-variable packet assembling In group.
In some embodiments, 3325 data is actual geometric error modeling information.In an alternative embodiment, number According to the instruction that could be for the actual geometry of generation and/or texture information in client unit.In a kind of enforcement, 3325 Data includes the parameter for the object representing geometry and/or texture information is carried out with parametrization construction, above-mentioned to as if represent The object of advertising message.In a kind of enforcement, this parameter information includes reference markss and the description graphic character of certain illustrative symbol The parameter of the extruding of profile is to generate 3D mark or the etching representing advertisement information.In other embodiment, using parameter Change constructing technology to generate billboard, neon light mark, scoring board and with regard to client's advertisement information, purchase object or to give object Other expressions.
In some embodiments, the data in warehouse 3330 and geometric transformation matrix correlation join, this geometric transformation matrix base Negate in advance in previously described and navigating in co-pending PCT Patent Application the PCT/US2011/042309th Feedback scheme affiliated partner was placed in the scheduled volume time and probably becomes in the visible position to user.
In step 3330, would indicate that audience, give object or purchase object(Hereinafter referred to as mutable object)Number During according to the quantity being placed on the variable packets sending and size time period when very low by send above-mentioned can variation Group is come in the above-mentioned variable packets being combined with non-variable packet.At this point, in the ground bandwidth time period of variable time section Period sends variable packets.In some embodiments, each variable packets only can be sent out during these fall time sections Deliver to specific receptor/client unit.Using packet addressing protocol such as TCP/IP or other routing plan come can variation Group sends to the receiving unit of one or more specifically targets.
During the time period of the low bandwidth needs of non-variable broadcast packe, variable non-broadcasting packet is added to data The method of stream most preferably make use of available bandwidth and is easy to minimize situations below:The client of visibility events data is at a high speed Caching is exhausted by camera position.
In step 3330, mutable object is specifically placed in a part for modeling environment so that object is predetermined Probably visible for user in the amount time.Additionally, in step 3330, make the scheduling to variable packets transmission so that Substantially become visible object in the past just to reach, thus preventing observability mistake.
Data flow 3350 is the broadcast sending to the particular customer end unit being represented with rectangle 3310(Non-variable)With variable The data splitting stream of packet.
In execution in particular server or client unit(It is labeled as 3310)On step 3355 in, user can select Interact with the particular variable object representing advertisement information.Would indicate that time and position(For example, the object being interacted)Number Send to server unit according to from specific server.
In a kind of enforcement, emphasize during a time period(For example, by illumination or other means)Mutable object.Will The user mutual with stream during this time period(For example, clicked on by the user of single button)Be registered as and particular variable Object(For example, audience)Interaction.Because not needing each user's control camera path, this enables multiple users Enough interact with such audience during single broadcast visibility events stream.Once user's control regard unit outer with Client-side visibility events cache corresponding SIM camera path, then user can only need no longer corresponding with broadcasting stream Uniquely two-way visibility events data flow.
In step 3356, the advertiser of the audience clicked on that patronage is clicked in step 3355 can be carried out Monetary charge.
In step 3340, the user click data from the client unit data stream reception being represented with 3357 is used for touching Send out to the advertisement representing with clicked on(AD)The particular geometric of associated object or texture(Or parametrization)The reading of data.? In the case of being somebody's turn to do, represented object can include the additional information with regard to the advertisement clicked on, and this additional information includes institute's advertisement The expression of product or additional product word or purchase order information.In an alternative embodiment, represented object is click on-determines Purchase icon.
In subsequent step 3343, be would indicate that and the interacting of user and audience by the process 33-2 in Figure 33 B The data is activation of corresponding specific click event is to the Website server being labeled as 3360.
In some embodiments, specific user is deposited by Website server unit 3360 with the record interacting of audience Storage is in data warehouse 3363.
In the subsequent step 3369 being executed by Website server 3360, when corresponding user accesses as shown in decision steps During the website of the Website server going out, to corresponding with the audience previously being interacted during visibility events data flow Url links(The record of this previous interaction has stored in 3363)Shown.
General effect is to store the observation period in SIM/ game visibility events data flow for the user for each user record Between with the interacting and make above-mentioned interaction that user be can use when a web site is accessed of advertisement or other mutable object.
In decision steps 3372, user can select click to be shown in one or more of step 3369 url chain Connect.This is so that carry out monetary charge to advertizer(For example, often click on payment mode).
In some embodiments, the click of the url of advertiser is made user subsequently to tool in step 3372 The access of the object to particular variable is obtained during the observation of body SIM/ game visibility events data flow.If in decision steps In 3375, the mutable object of the access to be obtained of determination user is " free gift ", then handling process marches to step 3381.
In step 3381, by the particular variable object pair to obtain access by clicking on step 3372 with user The data answered to send to visibility events server 3305 via the process 33-1 of Figure 33 A.In some embodiments, this number It is variable right on server unit 3305 to be stored in advance according to the parameter including for constructing particular variable object or identification The data of elephant or represent the variable real data of object or the combination of all three type information.
If the url chain determining with display in step 3369 in decision steps 3375 and clicking in step 3372 Connecing corresponding object is not free gift but payable item, then handling process marches to step 3378, and being wherein directed to should " at a high speed The purchase of caching warehouse " mutable object is charged to user.
Have that transmit using the decoder-server and decoder-client modules being attached to game engine modules can The alone server of opinion property event data stream and the embodiment of client component
Figure 34 shows a kind of exemplary process diagram of embodiment of visibility events codec.In step 3410 In, to be processed expression geometry, texture, material, illumination, animation by encoder step 3410 and to include the normal of other data of sound Rule game database.
In one embodiment, coded treatment runs offline precomputation and generates visibility events data.In one kind In embodiment, it is labeled as in the independent computing device of " cell encoder " executing coded treatment in Figure 34.It will be seen that sexual behavior Part packet is stored in data warehouse 3415, it is possible to use as in co-pending PCT Patent Application PCT/US2011/ The intermediate representation of the labelling profile contour described in 042309 is representing the packet of above-mentioned visibility events.In a kind of embodiment In, data warehouse 3415 is stored in the phase with the visibility events decoder/server unit being labeled as " server unit " With on physical equipment.This equipment property of will be seen that event data packet is supplied to and is labeled as " client unit ".Additional embodiment party Formula includes the data warehouse 3415 on multiple server units being physically distributed.
In some embodiments, operationally process be labeled as 3420 server process read be stored in data warehouse Visibility events packet in 3415.This reading using be grouped using visibility events based on navigation prefetching, this observability The prefetching based on regulation based on navigation of event packets(For example, make a reservation for)Camera motion or based on using as mouse, stick Or game control is inputted the camera motion to control by client/user.
Prefetching using as specified in co-pending PCT Patent Application the PCT/US2011/04239th based on navigation Method and the method specified in this application.
In the exemplary embodiment, depending on visibility events client process(It is labeled as 3430)Operation when shape State, according to in U.S.6,028,608(Entire contents are incorporated by reference in the application)Described in expose the time The method changing level of detail with the contour described in co-pending PCT Patent Application PCT/US2011/042309, Visibility events client process can read visibility events data with different geometric detail levels from warehouse 3415.
Additionally, depending on the visibility events decoder of client unit and the visibility events decoder of server unit Between connection delay, the visibility events decoder of server unit can essentially execute all or part of logarithm of packet Decompression(That is, by according to the labelling profile as described in co-pending patent application the PCT/US2011/042309th Contour to be carried out to generate PVS data increment).Which results in the time of advent faster having to server clients end unit Smaller packet.
It will be seen that property event decoder-client process module marks are 3430.In the exemplary embodiment, in Figure 34 In be labeled as in the client unit of " client unit " implementing decoder-client process module.This processing module from Property event decoder-server process by be labeled as 3425 bidirectional traffic receive visibility events data flow.This is two-way Data flow includes sending the current view point position of the user to server unit to support observability from client in modeling environment The prefetching based on navigation of event data(3415).In an alternative embodiment it is seen that property event data stream 3425 is from clothes The bidirectional traffic of business device unit, it will be sent to client unit by the stream interactive media that the camera motion of scripting drives.
In some embodiments it will be seen that property event decoder-client implementation is stored in warehouse 3440 for output Cache visibility events data software.The visibility events that this data can be compressed are grouped and/or decompress PVS increment or direct PVS/ observability diagram data.It will be seen that property event decoder-client is real in other embodiment Apply as hardware or hardware/software combination.
In some embodiments, Figure 34 shows to process decoder-client software and is attached to for figure, navigation And collision detection, networking, the existing game engine assembly of physics and other existing game engine assembly.In embodiments, Game engine assembly is embodied as hardware, software or firmly soft combining with software.
With regard to existing game engine, the interface of graphic hardware be by standards API such as such as directx or OpenGL come with Graphdriver connects.In some embodiments, graphic hardware is the GeForce model of graphic process unit such as NVIDIA.
Figure 35 A shows and the visibility events content of regulation is transferred in the visibility events of multiple client unit Hold server and the list by unique ad, cache warehouse or telegram content to be transferred to each client unit simultaneously The illustrative embodiments of only visibility events Advertisement Server.
Figure 35 A shows visibility events content server and single observability advertisement or cache repository service Block diagram/the flow chart of device.It will be seen that sexual behavior part content server is labeled as 3505.
Data warehouse 3518 stores the visibility events data representing most of objects in modeling environment.This corresponds to and makes With prefetching, based on navigate, the non-variable visibility events packet being transferred to client unit.
In the illustrative embodiments of Figure 35 A, by being labeled as 3520 visibility events decoder-server process Will be stored in the visibility events content-data in data warehouse 3518 to prefetch to three client unit.In present embodiment In, to be driven by the camera motion path specifying and to prefetch and will be seen that property event data streaming to these three client lists Unit.
Therefore, it is seen that property event server transmits SIM content in the illustrative embodiments of Figure 35 A(For example, by place SIM program A that reason 3520 prefetches), above-mentioned SIM content has effective interactivity and is broadcast simultaneously to these three clients Unit.
Single visibility events Advertisement Server/cache warehouse server is labeled as 3510.In some enforcements In mode, Advertisement Server can also transmit the telegram object such as text message based on visibility events.
The data warehouse 3522 of visibility events Advertisement Server stores variable visibility events data.Showing in Figure 35 In example property embodiment, the visibility events Advertisement Server being labeled as 3510 would indicate that the uniquely variable observability of audience Event packets stream process are to each of these three client unit client unit.In this illustrative embodiments, often Individual client unit receives the SIM program based on visibility events for the identical, and each client unit also receives as can Become visibility events packet and be seamlessly bound to the unique ad object in SIM content.Prefetch to each client for determining The criterion of the particular advertisement object of user can include client user's age, sex, priority advertisements click and be used for driving Other demography criterions of targeted advertisements.Labelling be will be transmitted to by Advertisement Server decoder-server process 3536 The advertisement visibility event packets stream process of the visibility events client [1] for 3531 are to decoder-client process 3535.
Decoder processes 3538 are shown as by two-way communication link connect to decoder-client process 3535.? In some embodiments, only the unique ad object based on visibility events is transmitted by this connection.In some embodiments In, transmitted using the network connection between client unit 3531 and server process 3538 expression client user with The audience that can click on or the information of cache Warehouse object interaction.In this example, will be from client transmissions to service Double-head arrow between decoder-client and decoder-server for the information of device communicates with representing.
In some embodiments, selected uniquely based on the known demographic information of description particular customer end subscriber Be transferred to the audience of visibility events client [1].In some embodiments, for particular customer end subscriber Transmission and the audience that selects is true based on clicking on to the selection of the other audiences being previously sent to client user Fixed.
In order to uniquely variable advertisement visibility event packets client user to be become visible before they are transmitted To in modeling environment, advertisement decoder-server process has had the knowledge of Current camera/viewpoint position.In showing of Figure 35 A In example property embodiment, by this information from visibility events content decoders-server(Process 3520)By with taking from content The communication connection that represents of corresponding strokes and dots connecting line of business device to advertisement decoder server is transferred to visibility events advertisement solution Code device-server process 3538,3539 and 3540.In some embodiments, the information of the position of description camera/viewpoint is led to Cross and be directly connected to directly be transferred to corresponding advertisement decoder-server from decoder client unit.
Although all these three observability client is all from server 3505 in the illustrative embodiments of Figure 35 A Receive SIM content based on accurately identical visibility events, but each during SIM program from visibility events advertisement clothes Business device 3510 receives unique audience set.By the audience being received by decoder-client 3535 pass through decoder- Server process 3538 is sending.The audience being received by decoder-client 3536 is passed through decoder-server process 3539 sending.The audience being received by decoder-client 3537 is sent out by decoder-server process 3540 Send.In some embodiments, the Advertisement Server based on single visibility events can be by unique ad cache warehouse Or telegram content is transferred to receive some client unit that identical broadcasts visibility events content.
Figure 35 B shows and for the visibility events content of regulation to be transferred to gathering and making of multiple client unit One of above-mentioned client unit can select the observability content server of fully interactive visibility events stream and also illustrate that Unique ad, cache warehouse or telegram content be transferred to simultaneously the single observability advertisement of each client unit The illustrative embodiments of server.
Figure 35 B shows the identical visibility events content server representing in Figure 35 A and also show expression Identical in Figure 35 A separately visible property event ad or the block diagram/flow chart of cache warehouse server.? It will be seen that sexual behavior part content server is labeled as 3545 in Figure 35 B.It is identical with the server in Figure 35 A, but is in difference Mode of operation.
Data warehouse 3558 stores the visibility events data representing most of objects in modeling environment.This is based on using That navigates prefetches the non-variable visibility events packet correspondence being transferred to client unit.
In the illustrative embodiments of Figure 35 B, will be stored in the visibility events content-data in data warehouse 3558 Prefetch to visibility events client [2](Be labeled as 3572 and with Figure 35 A in be labeled as 3532 visibility events client [2] identical)And prefetch to visibility events client [3] simultaneously(It is labeled as 3573 and be labeled as 3533 with Figure 35 A Visibility events client [3] identical).In the illustrative embodiments of Figure 35 B, broadcast to visibility events client simultaneously The visibility events data flow at end [2] visibility events client [3] is by the camera motion path drives specifying and by marking It is designated as the visibility events data flow of 3560 visibility events decoder-server process transmission.
In the illustrative embodiments of Figure 35 B, previously(In Figure 35 A)With visibility events client [2] and visible Property event client [3] receive the visibility events client [1] of visibility events stream that identical specifies(It is labeled as 3571 simultaneously And identical with the client unit being labeled as 3531 in Figure 35 A, but it is in different modes of operation)Now not from being labeled as 3561 new demand servicing device processes and receives unique visibility events content stream.
Present is complete just by the visibility events stream as the visibility events client [1] shown in Figure 35 B receives Interactivity visibility events stream, wherein prefetching to be inputted by controller and to drive based on navigation, this controller inputs by observability Providing, it sends to the visibility events decoder-processor U being labeled as 3561 client user of event client [1] [1].
It is labeled as 3550(And be labeled as 3510 visibility events cache warehouse/Advertisement Server in Figure 35 A Identical, but it is in different modes of operation)Visibility events cache warehouse/Advertisement Server continue to include advertisement (Or cache warehouse or telegraphic message)Uniquely variable visibility events data transfer to each client unit.
In Figure 35 B, to be sent out by visibility events decoder-server process U [1] being labeled as 3578 in Figure 12 B Send the unique visibility events ad data stream being transferred to visibility events client [1].For any given client list Unit, moves to prefetch from the observability data flow of visibility events content server and to be derived from using identical camera/viewpoint Both visibility events data flows of observability Advertisement Server.In Figure 35 B, camera for observability client [1]/regard Point is next to the interactivity client user input by control camera/viewpoint motion from being changed by the motion path driving specifying Drive.Thus, in Figure 35 B, unique content is transferred to the visibility events Advertisement Server of visibility events client [1] Process(Process decoder-server process U [1])Receive and generated by the client user for visibility events client [1] Controller input information.In some embodiments, this information is by Advertisement Server-decoder processes(For example, Figure 35 B 3561)From corresponding content server-decoder processes(For example, the 3578 of Figure 35 B), such as by the list between this two process To shown in dashed connectors.In other embodiments, the input information of navigation is sent directly to from client unit Sexual behavior part Advertisement Server, for example, using between decoder-client process 3575 and decoder-server process 3578 Bi-directional communication links.
Thus, it can be seen that the state of property event client [1] is from reception broadcast SIM stream(In Figure 35 A)Change unique to receiving Interactivity visibility events stream(In Figure 35 B).Meanwhile, the ad stream based on corresponding visibility events interacts also by receiving Property camera/viewpoint position be seamlessly transitioned into new interactivity visibility events stream, interactivity camera/viewpoint motion drives new Interactivity visibility events stream substitutes the camera/viewpoint exercise data of the regulation of SIM stream previously transmitted.
In some embodiments, if client user indicates to below content server transmission:Client user selects Select and broadcast not exclusive SIM visibility events stream from reception(To be driven by the camera motion specifying)It is transitioned into fully interactive visible Property flow of event(Navigated by client user and input)Then, it is seen that sexual behavior part content server record this indicate and make to client The result that end subscriber makes transition carries out monetary charge.
Because content server must be to the additional connection bandwidth of allotment and computing resource(That is, the visible sexual behavior of unique content Part decoder-server process)Each decoder-client process for receiving unique visibility events stream uses, can To pay these other resources using the monetary charge made for unique interactivity visibility events content stream.Such In embodiment, client user is that the supplementary features of enhanced interactivity are paid.
Figure 35 C shows the single observability shown in the visibility events content server shown in Figure 35 B, Figure 35 B Two of visibility events decoder-client process shown in event cache warehouse/Advertisement Server and Figure 35 B.
Visibility events content server shown in Figure 35 C and single visibility events cache warehouse/advertisement clothes Business device is identical with Figure 35 B.Figure 35 C also includes two of the visibility events client unit shown in Figure 35 B, but is in clear And do not include visibility events client [2].
Figure 35 C shows to visibility events client [1](It is labeled as 3571)User collect from exemplary enforcement Visibility events decoder-server process U on the visibility events content server being labeled as 3545 is executed in mode [1] method receiving the additional of unique interactivity visibility events content stream or increased expense.Will be for this additional interactivity 2482 are labeled as to the step of user's charge.As described by Figure 24 A(Step 2430), this charge is monetary charge or is applied to Request prefetches the particular clients-use of unique visibility events data flow that the navigation input being to be provided by client user drives Other assessments at family.According to described, in some embodiments, compare that to prefetch be by the camera specifying/viewpoint motion when receiving Situation during the broadcast visibility events stream of packets of path drives, unique visibility events stream of packets allows modeling environment more Plus less limited navigation.In some embodiments, the increase charge reflection being caused by receiving unique visibility events stream The value of the additional navigation degree of freedom that unique stream is allowed.
Figure 35 C also show to user collect transmission cache Warehouse object surcharge method, can with Afterwards in broadcast visibility events stream(For example, by as in the illustrative embodiments of Figure 35 C decoder-server process passed SIM content A that the regulation camera that pass and decoder-client process 3577 is received/viewpoint drives)Period or uniquely may be used See sexual behavior part content stream(By decoder-server process U [1] being such as labeled as 3561 in the illustrative embodiments of Figure 35 C Camera/viewpoint motor control that the client user that transmitted and decoder-client process 3575 is received controls comes Drive)Period uses aforementioned cache Warehouse object.By the transmission charge surcharge for cache Warehouse object Step is labeled as 3582 and can implement to be somebody's turn to do in the case of passive SIM or fully interactive unique visibility events data flow Step.
The forecasting method based on navigation of visibility events data
As specify in this application in co-pending PCT Patent Application the PCT/US2011/042309th and in addition It will be seen that property data from server unit stream process to the method for client unit using based on navigation prefetch with integrated Cache is to prevent delaying to reach of visibility events packet.
Co-pending PCT Patent Application the PCT/US2011/042309th specifies be adaptive selected for The relatively low level of detail packet of transmission during the time period postponing packet arrival and/or high viewpoint speed of prediction(Less big Little packet)Method.The client of these methods combination camera motion or camera/viewpoint movement specified in modeling environment/ User mutual controls fetches work to drive based on the pre- of navigation.
Embodiment is included for navigating to prefetch the specific skill of visibility events packet based on the viewpoint in modeling environment Art.
As described in co-pending PCT Patent Application the PCT/US2011/042309th it is seen that sexual behavior number of packages According to stream process bandwidth demand be visual space-time observability continuity function.By the space observability of modeling environment Continuity(For example, the inverse of the speed of observability change of per unit distance)And the speed of viewpoint is determining space-time observability Continuity.The level of detail that bandwidth demand is also indicated in the visibility events packet being sent with geometry and texture information Relevant.As specify in the method for PCT Patent Application the PCT/US2011/042309th, can be dynamically selected selected Level of detail for the visibility events packet of transmission to prevent as in co-pending PCT Patent Application PCT/ That specifies in No. US2011/042309 delays to reach.
In some embodiments, prefetching is just to send out data in advance by before being actually needed data in client unit Deliver to the conventional method that client unit is carried out hide latency or improved the data transfer of hit rate.At visibility events data flow In the case of reason, prefetch and inherently reduce the probability postponing that packet reaches, otherwise it can be led during the visualization of stream process Cause significant observability mistake,
Usually, because comparing the actual data being used inevitably have more data transfers to client list Unit, no matter so application, prefetch the data volume actually increasing stream process.
By prefetch implement carry out stream process additional data amount(That is, prefetch the bandwidth demand of enforcement)Partially by pre- Take the precision that algorithm predicts Future Data accesses determining.The precision that Future Data accesses(That is, hit rate)It is to give Function to the intrinsic predictability that Future Data accesses in the case of the knowledge of current data accessing.
Following illustrative equation shows the ultimate principle of operation and provides for prefetching to by based on navigation The instrument estimated come a kind of bandwidth demand of embodiment of the method for visibility events stream process to drive.Other In embodiment, other theoretical property models and equation domination operation and bandwidth demand estimate substantially away from.
In some embodiments it is seen that the bandwidth demand prefetching based on navigation of property event data is by equation 1 In the general parameterss specified determining.
Equation 1:
Bandwidth demand=B=v*GV
Wherein
V=viewpoint speed
GV=observability gradient(The observability change of per unit distance)
The inverse of the product of viewpoint speed and observability gradient reflects the continuity of observability in time and is referred to as Time observability continuity, as shown in equation 2.
Equation 2:
Time observability continuity=VTC=1/(v*GV)
Time observability continuity (Temporal Visibility Coherence) reflects the figure during visualizing Averagely visible life-span of shape element and being expressed with unit of time.
The level of detail also with the visibility events data transmitted for the bandwidth demand (Bandwidth Requirement) Proportional, as illustrated by equation 3.
Equation 3:
B=Dp/VTC
Wherein
DPThe level of detail of=visibility events grouped data
Side as Figure 42 A and Figure 42 B and Figure 48 and Figure 50 in PCT Patent Application the PCT/US2011/042309th Described in method, can adaptively reduce level of detail to reduce bandwidth demand during low time observability continuity And prevent from postponing to be grouped to reach to maintain perceiving lossless visibility events data flow, the wherein visual system of user not simultaneously Low level of detail can easily be perceived replace.Figure 23 in conjunction with the application to discuss human visual system to having short exposing The performance reducing in the face of time.Additionally, in conjunction with PCT Patent Application No. PCT/US2011/042309 the mankind to be discussed The performance reducing to the target moving rapidly for the visual system.Encounter during the time period of low time observability continuity The short of sensation target exposes time and rapid pattern space speed.
For any integrated prefetch caching scheme, the data volume being sent amount generally higher than to be accessed.Averagely Cache memory sizes are scaled the shadow of sent data volume and the ratio of the data volume accessing with given cache hit rate Ring.This ratio is consumingly affected by the predictability of data access, for the predictability of data access, based on navigation Prefetch is to be determined by the predictability navigated.Thus, the navigation of very predictable can reduce bandwidth demand, as equation 4 institute Show.
Equation 4:
B=Dp/(VTC*PN)
Wherein
B=bandwidth demand
DPThe level of detail of=visibility events grouped data
VTC=time observability continuity
PNThe predictability of=navigation
For example, navigation can be restricted to modeling environment by applying to limit to increase the predictability of navigation to navigation In limit in advance or during navigating apply path.
Note, the predictability of navigation is also inherently subject to the maximum of the part of basic navigation model as game or SIM Speed and the impact of acceleration.Thus, PNAnd VTCIt is not strictly independent, although as the factor that navigation limits can affect PNAnd Do not directly affect VTC.
In next chapters and sections, disclose by the pre- ad hoc approach fetching transmission visibility events packet based on navigation.This A little methods are corresponding with packet by using reflection to be dividing of the probability regarding unit that next observed person penetrates depending on unit Group priority or stream of packets processing speed increase cache hit rate and minimize by prefetching visibility events data Bandwidth demand.
Figure 36 A is showed and is moved based on maximum possible(MPM)To determine the probability that penetrates depending on unit person to be observed The exemplary process diagram of method.
Figure 36 A shows the method exemplary process diagram of the speed of Data Stream Processing adjusting visibility events packet, The speed of above-mentioned Data Stream Processing reflects and is grouped corresponding can be that the next one that observed person penetrates regards unit depending on unit Probability.
Figure 36 A:Using the mobile method to determine the probability penetrating depending on unit person to be observed of maximum possible
In some embodiments, determined along the speed of every axle in three dimensions and acceleration by viewpoint The motion of the viewpoint in three dimensions.
In some embodiments, adopt equation below in the motion model of game and other roaming type application:
(5)X=X0+VX* dT//X position
(6)VX=VX0+AX*dT//VX=X speed
(7)AX=AX0+JX*dT//AX=X acceleration
(8)Y=Y0+VY* dT//Y position
(9)VY=VY0+AY*dT//VY=Y speed
(10)AY=AY0+JY*dT//AY=Y acceleration
(11)Z=Z0+VZ* dT//Z position
(12)VZ=VZ0+AZ*dT//VZ=Z speed
(13)AZ=AZ0+JZ*dT//AZ=Z acceleration
Wherein, JNIt is " acceleration " of acceleration or the first derivative along direction N.
In great majority game application, speed, acceleration and even acceleration are limited to limit the specific of the value of viewpoint Scope.
Value dT is the timestamp using in the calculation.Examination between visibility events server and client unit (ping)Time(That is, the round trip time)Effectively represent and can be used practically to estimate navigational parameter not according to currency The minima of the timestamp to be worth.If this is because server unit is currently in use " current " value receiving from client unit To determine the future value of navigational parameter, then currency is old at least dT unit of time, wherein dT be server with client it Between the examination time.In an alternative embodiment, if being determined navigational parameter and sent to server by client, take The result that business device unit is used remains the subsequent at least dT value bigger than the actual value of client.
Therefore, the examination time between client and server or delay create position, speed and acceleration not Definitiveness, which reduces the accuracy of navigation prediction algorithm.
In some embodiments, the currency of given position, speed and acceleration is it is assumed that speed and/or acceleration are protected Hold constant, the future value of position can be calculated.This is to be used for predicting object for appreciation according in itself previously known position in multi-player gaming The basis of the dead reckoning navigation prediction of the Future Positions of family.In such an application, it is reduced through network using prediction The frequency of transmission actual player state, thus reduce network traffics.In publication " Simplified Aerial Describe to pass through in Navigation by Dead Reckoning, McMullen, J.Charles Griffin&Co.1933 " This publication, come the basic skills of prediction of simply being navigated, is referred to herein by dead reckoning by quoting.
In the present embodiment of the prediction being related to based on navigation, individually navigation prediction is not used as to connect from client unit Receive the alternative of position, speed and acceleration information(It generally consumes a small amount of bandwidth), and be primarily used for leading given In the case of the currency of boat parameter, prediction future wears the probability of fluoroscopy units.Increase this precision of prediction and reduce prefetched data Amount, this is because the navigation of very predictable generally uses less cache to guarantee high hit rate(Low delay divides Group reaches incidence rate).
Figure 36 A shows the situation for the current state in given current view point position and speed and vector acceleration The lower exemplary process diagram determining the technology depending on unit probability to be pierced.
In the following discussion, in some embodiments it is assumed that depending on unit be located at modeling environment can be in navigation space. The method adapts to be equal to the embodiment of navigation elements depending on unit.The method be also adapted to depending on unit be included in navigation elements with And navigation elements are included in the embodiment in unit.
In some embodiments, be limited to depending on unit environment sky can navigation space(That is, do not comprise the area of object).? In other embodiment, modeling object can be comprised depending on unit, in this case, be included in the modeling object quilt in unit It is considered the part for the corresponding visible entity sets regarding unit.In some embodiments, navigation elements are located at ring Border can be in navigation space.In some embodiments embodiment as collision detection is represented using voxel, navigation is single The sky that unit is also limited to modeling environment can navigation space or can include the border between sky or the space that is occupied.In some enforcements In mode, the collision detection algorithm that navigation elements can comprise in modeling object and navigation elements uses modeling in navigation elements Object.
Thus, in some embodiments, it is equivalent depending on unit and navigation elements.
In step 3605, determine comprise observer current view point regarding unit.Using reference variable " C_ regards unit " Come to represent comprise current view point regarding unit.
In step 3610, identification adjacent with " C_ regarding unit " regarding unit.In the exemplary embodiment, depending on unit it is There is the parallelepiped in 6 faces.Parallelepiped be can have cube or rectangular shape box-like structure.Other convexs regard Unit arrangement is also possible.In some embodiments, adjacent depending on unit include with " C_VIEWCELL " have face those Depending on unit.For example, by all sizes and " C_VIEWCELL " identical depending on unit around " C_VIEWCELL " have 6 adjacent Face connect adjacent regarding unit.If adjacent less regarding unit, this quantity can also be more than 6.Adjacent using comprising unit Information depending on cell data structure collection to identify adjacent regarding unit.Alternate embodiments think if regarding unit to have face or side A part then think that they are adjacent.Using this definition of adjacency, for example, by formed objects depending on unit around regard Unit have 18 adjacent adjacent regarding unit.If summit connection is adjacent and having summit depending on unit and thinks that they are to connect , then by formed objects depending on unit around depending on unit, there are 26 and adjacent mutually regard unit.
In follow-up decision steps 3615, if having been achieved with and " C_VIEWCELL " depending on unit determination for adjacent With adjacent being grouped to the corresponding visibility events of transition regarding unit regarding unit between unit.If in decision steps 3615 Middle determination has been achieved with the adjacent packet of the visibility events regarding unit, then handling process marches to step 3620, under wherein processing One adjacent regarding unit.
If determine in decision steps 3615 also do not obtain with " C_VIEWCELL " and adjacent depending on unit between regard To regarding the packet of unit transition corresponding visibility events, then handling process marches to step 3625 to unit.
In step 3625, current view point is penetrated " C_VIEWCELL " with before adjacent border between unit when Between estimated.This time period is the prediction based on current view point position, speed and possible vector acceleration.In some enforcements In mode, this prediction is using the various methods with different calculating costs and the scheme leading to have different precisions.
In one embodiment it is assumed that over time constant speed vector, in step 3625 to determined by regard Point time of break-through is estimated.This is simple dead reckoning linear arrangement.Alternate embodiments adopt constant acceleration it is assumed that Wherein by quadratic space curve or to the piece wire approximation of this space curve, viewpoint motion path is described.
Wherein assume that constant speed or the aforementioned techniques of acceleration lead to the single solution for estimating time of break-through. Alternate embodiments using the prediction of more refinement, itself it is not assumed that during predicted time section speed or acceleration be constant. In one embodiment, prediction adopts the one of possible initial viewpoint position during predicted time section, speed and acceleration Class value.In the art, this class value being used is followed during reflecting predicted time section initial position, speed and acceleration The probability of particular value distribution curve.This distribution reflects the fortune being applied by maximum and the minima of speed and acceleration Dynamic restriction.Additionally, this distribution can be by if user is based on the identical statistical data regarding unit collection from many users The factor such as the purpose of prediction weighting.
Using the Monte Carlo in possible viewpoint motion(Monte Carlo)Possible leading during prediction in simulation The distribution of boat parameter creates the various results with adjacent prediction time of break-through between unit for " C_VIEWCELL ".
In step 3620, penetrating the specific relative probability depending on unit adjacent with " C_VIEWCELL " is to use and this phase The adjacent quantity of viewpoint curve movement intersecting depending on unit and the estimation time penetrating of these space curves determine.At some In embodiment, for also do not obtain the packet of corresponding visibility events each adjacent depending on unit to calculate this probability and These probability being compared to determine specifically adjacent can be the relative probability that the next one being pierced regards unit depending on unit.? During operation, the Monte Carlo-type prediction of execution viewpoint motion can cause high calculating cost.This method includes following embodiment party Formula:Determine that these predict and store the result into the lookup of the given set of initial position, speed and accekeration offline In table.A kind of the exemplary of this embodiment for the single look-up table regarding unit/navigation elements is given in Figure 36 B Data and it being discussed with reference to this figure.This table reflects and starts phase in the case of unit and initial parameter value given The adjacent penetration probability regarding unit.Because defining in model regarding unit phase around the adjacent step depending on unit starting depending on unit The limited quantity of the pattern continually reappearing in neighbour's property figure, so need to precalculate and prestore limited quantity Table.In subsequent step 3625, using the priority proportional with the corresponding adjacent estimated probability regarding unit will be penetrated or stream Processing speed penetrates corresponding visibility events packet with adjacent depending on unit to obtain.
The method to be adapted to pre- regarding the packet of unit transition corresponding visibility events with non-adjacent by following process Take:Unit will specifically be regarded and be used as starting point, determination will penetrate and regards the adjacent relative probability regarding unit of unit with special neighbourhood, so Afterwards by these probability multiplications.
In one embodiment, by the packet of every visibility events, fully stream process, to client, and select at institute's stream The order of the packet of reason makes it proportional with packet relative penetration probability.In some embodiments, to institute's stream process Packet priority or order be weighted so that its with each be grouped be in proportion.
Following other embodiment is possible:By being selected in the subgroup being grouped from each or byte and to each The substream allocation stream process speed proportional with the corresponding relative penetration probability depending on unit is come to simultaneously to from multiple packets Data carries out stream process.In some embodiments, the stream process speed of visibility events packet is weighted making its with can Being in proportion of opinion property event packets.For example, determine will be equation 14 for the equation of the bandwidth of stream process subgroup distribution:
Equation 14:
BS=PS(SS+IS)+H
Wherein
BS=for stream process subgroup S bandwidth
PSThe probability penetrating depending on elementary boundary of=subgroup s
SSThe size of=subgroup S
ISThe visual importance of=subgroup S(Salience)
The size of H=subgroup head
In step 3630, if the slow replacement of request is controlling cache memory sizes, for replace select with have little Penetration probability regarding unit corresponding cache visibility events packet and corresponding PVS data.
Figure 36 B is to represent to connect penetrating depending on unit depending on unit for the adjacent surface of the finite aggregate of viewpoint speed relatively The exemplary sublist of the look-up table of probability.
As noted earlier, penetrate comprise reality or prediction viewpoint position regarding unit specifically adjacent regarding unit Probability be some parameters function.The adjacent penetration probability regarding unit(POP)Determined by the following factor, above-mentioned factor bag Include start in unit the current location of actual or prediction viewpoint, velocity vector, regard the inherent limitations of navigation at elementary boundary, The navigation made depending on multiple other users of unit by same subscriber or navigation determines and many other factors.
In one embodiment, determine the polymerization effect of these factors(In some embodiments, including such as from many The data excavated in many navigation experience of client user)And it is compiled in various dimensions look-up table.
To show the exemplary sublist of such table based on navigation prediction according to Figure 36 B.In Figure 36 B, will be regarding unit The relative POP in 6 faces of VC [0] [223] [22] is expressed as the reality on the entrance of unit VC [0] [223] [22] or prediction The velocity vector of camera/viewpoint function.In some embodiments, also include the sublist of camera/viewpoint position.
In some embodiments, other navigation Forecasting Methodologies are compared, the less cpu resource of the use requirement of look-up table, But it is likely to be of more storage demands.
Adaptively apply navigation to limit to prevent from postponing the method that packet reaches
Parameter P of equation 4N, the predictability of navigation reflects following facts:From any given regarding unit as viewed from, can arrive The adjacent quantity regarding unit reaching is probably limited.These navigation restrictions can by environment be based on for example with wall, curb, The collision of guardrail etc. causes come the object to limit navigation.
Figure 37 shows and adaptively applies the side that navigation limits during the possible time period postponing packet arrival The exemplary process diagram of method.
In decision steps 3705, given client observability time cache and current view point position, speed and Vector acceleration and currently occupy depending on unit depending in the case of the arrangement of unit adjacency figure determine delay be grouped into Whether reach is possible.
If using dead reckoning(Equation 5-13)Or the probability weight of probability dead reckoning and packet size weight Navigation model(Equation 14)Represent observability packet will viewpoint pass through with this visibility events packet corresponding regarding elementary boundary Reach afterwards at client unit, then prediction has delay packet to reach.
If it is impossible to determine that in decision steps 3705 delay packet reaches, handling process marches to step 3710, Wherein continue nominal to prefetch pattern.
Reach if determining in decision steps 3705 and predicting delay packet, handling process marches to step 3715.
In step 3715, system is applying navigation when forward sight unit with adjacent one or more boundaries regarding unit Limit.In one embodiment, this restriction make one or more depending on elementary boundary be used as prevent viewpoint from penetrating adjacent regarding The colliding object of unit.
According to equation 1 so that such navigation limits and reduces the bandwidth demand prefetching.By close when forward sight unit with Available transmission bandwidth can be used for regarding element sides with remaining untethered by one or more adjacent navigation between unit Boundary's corresponding untethered packet.This provides the advantage reducing bandwidth demand and is easy to prevent not limited prolonging depending on elementary boundary Packet reaches late.
In some embodiments, selected for restriction is following regarding elementary boundary depending on elementary boundary:For above-mentioned Restriction depending on elementary boundary creates the maximum reduction of the probability postponing that packet reaches, and is also easy to cause expected navigation Few interruption.
In some embodiments, the border with following feature is for adaptively applying the good time limiting of navigating Choosing:
1. the packet of corresponding visibility events have very big packet size and only relatively small amount grouping information Sent.This corresponds to the right time completing to be grouped transmission.
2. but corresponding visibility events packet has the right time completing to be grouped transmission has relatively low penetrating Probability.
Not corresponding with the natural impingement area in modeling environment depending on elementary boundary at navigation limit applying be easy to increase The precision of navigation prediction algorithm, thus increased the precision of the prefetching algorithm based on navigation, which prevent delay packet and reaching.But It is that the applying that such navigation limits can also reduce the degree of freedom of the movement of client user, which reduces in modeling environment Interactivity and the level immersed.The low relative penetration probability being limited with navigating selects the method on border to be easy to reduce observer Often meet the frequency of one of arbitrary navigation restriction on these surfaces.
Minimize the applied randomness of navigation restriction and make navigation more predictable for client user Applied navigation restricted representation can be made to user by selecting technology.In some embodiments, this expression includes instruction navigation limit The translucent border of system.This optional step is shown as step 3720.
The forecasting method based on navigation of visibility events data, wherein given compare not on path unit higher Give in the case of penetration probability on the driveway limiting or other path regarding unit/navigation elements distribution weight.
In some embodiments, some factors by including the size of visibility events packet determine visible sexual behavior Part(VE)The bandwidth demand prefetching based on navigation of packet.The size of visibility events packet is corresponding observability boundary Observability continuity and corresponding PVS precision function.As previously described, also with multiple level of detail, VE is divided Group or subgroup are encoded, and wherein relatively low level of detail has less size.
In addition to the size of VE packet, also by navigation speed(That is, in preset time section, viewpoint/camera position is real The quantity on the visibility events border being passed through on border)And navigation predictability come to determine VE packet bandwidth demand.
More predictable, limited guidance path(For example, it is restricted to the navigation of driveway or footpath)May require that dimension Protect less visibility events cache, this is because potentially the quantity on accessibility VE border is subject in special time period Limit to such navigation.
As previously discussed, Figure 37 shows adaptively to reduce bandwidth demand by apply to limit to navigation Method flow chart.
Figure 38 show when actual view is located in footpath or other path by preferentially prefetch with positioned at above-mentioned It is grouped to reduce the showing of alternative method that VE is grouped the bandwidth demand of stream process depending on the corresponding VE of unit/navigation elements on path Example property flow chart.
Turn now to Figure 38, decision steps 3805 determine viewpoint(It can also include the viewpoint position predicted)Whether position Limit on path or near it in road or other.Wherein path is footpath, flight path, water route or other guidance path Illustrative embodiments are possible.
If determining that in decision steps 3805 viewpoint is located to limit on path or near it, processing and marching to step 3815.In step 3815, be current view point adnexa and be located at the path identical path of current view point on regarding unit It is assigned with and compare the of a relatively high penetration probability for unit being not in same paths.It is located at this road by increasing The relative penetration probability regarding unit on footpath, the forecasting method of Figure 36, step 3625 can be easy to by using comparing and non-path Preferentially to prefetch path depending on higher stream process speed or priority order for unit corresponding VE packet to divide depending on the VE of unit Group.
Regard unit corresponding VE packet by preferentially prefetching with path, the method for Figure 38 allows to be limited to path when viewpoint navigation When have higher viewpoint speed, this is because with any given available stream process bandwidth, more be can use stream process to be used for Transmission regards the corresponding VE of unit with path and is grouped.
Under many common situations, user's conatuies are in following the restriction path running through modeling environment.The method of Figure 38 The higher navigation speed on such path can be readily allowed.
If determining that in decision steps 3805 viewpoint is not at limiting on path, processing and marching to step 3820. In this case, because increasing to the adjacent degree of freedom regarding unit movement, the predictability of navigation is relatively low.This situation one As require to larger VE cache maintenance, this maintenance needs more bandwidth again.Can if required bandwidth has exceeded With bandwidth, then because actual viewpoint position is beyond the VE corresponding scope regarding unit of packet with institute's cache, It may occur that postpone packet reaching.In this case, the speed of viewpoint motion can reduce(Jointly treat above-mentioned as combined Described by method shown in exemplary flow Figure 48 of application certainly).
In optional step 3820, will deviate from visually indicating of datapath section and be shown to user, this visually indicates expression at this It is likely to occur relatively low maximum viewpoint speed in a little areas.In one exemplary embodiment, deflection path area comprises naturally It is easy to reduce shrub or its object of navigation speed.Display to the object of these types in deflection path area can be led to signal Know that user may be restricted in these area's medium velocities.
Apply navigation and limit to prevent from postponing the method that packet reaches, the A that wherein navigation limits with concealed loss regards Feel and represent.
The method applying navigation restriction to prevent delay packet from reaching described in the exemplary process diagram of Figure 10 recognizes Any restriction to navigation, hinders those caused restrictions including by collision or to the other of navigation process.
The method limiting navigation during concealed loss state is consistent with the observability continuity reducing
Figure 39 A shows and applies navigation restriction to prevent from postponing the exemplary process diagram of the method that packet reaches, wherein The navigation being applied limits with the visual representation of concealed loss and restriction of navigating is caused by this concealed loss.According to Some embodiments, stealth refers to the traveling ability being not detected by modeling environment of vehicle or incarnation.Apply navigation limit The method of system is best suitable for game or SIM stream process for amusement purpose.However, it is also possible to regard for real world tactics Limited using this navigation during the visibility events stream process of feelization and autonomous navigation and apply.
The navigation being applied is limited should not interrupt and is transmitted in any or uncertain mode by visibility events data flow The seriality of experience or interactivity.The method of exemplary process diagram allows users to predict that navigation speed may be restricted Position(For example, the display by limiting to such navigation in the step 3820 of Figure 38, it can be before navigation limits Occur).
In some embodiments, the method for exemplary process diagram Figure 39 A, the predictability that navigation limits is not bound by elder generation The front existing restriction showing in the environment, but the vehicle of the stealthy state of user or user operation or incarnation are bound by user and exist The navigation model of the movement in environment.
In one exemplary embodiment, stealthy and in environment lasting rapid mobile phase is compromised.With regard to this, due to Bandwidth needed for the client device being associated with vehicle or incarnation be increased, so lasting movement rapidly increased and is deferred to The probability reaching.
Following other examples are possible:When observer moves to area and so that observer becomes to be exposed in environment More reflected light in face when the stealth also compromised.Because the amount being exposed to the surface area of observer is the size of PVS Function, so the rate of change of exposed surface area is inversely related to the local coherence of model.
The height in rapid motion and new face exposes rate and can cause low time observability continuity, and it can threaten visible The delaying to reach of property event packets.By limiting navigation using the navigation model linking to stealth under these conditions, permissible To prevent from postponing packet arrival for reasonable and predictable mode for a user.
Turn now to Figure 39 A, determine whether that prediction lag packet reaches in decision steps 3905.If prediction lag does not divide Group reaches, then handling process marches to step 3910.In step 3910, it is not displayed without the instruction of display of compromising.In example Property embodiment in, this stealth instruction can include for incarnation or vehicle being shown as translucent, transparent or be difficult to see.Acceptable The indicating gage of the stealthy level of display instruction.Embodiment using the instruction of other displays of the stealth of compromise is possible.
If determining that in decision steps 3905 prediction lag packet reaches, handling process marches to step 3913.? In step 3913, the instruction that the stealthy state of display is compromised.As previously described, in various embodiments, this instruction can By include translucence, transparency, in terms of stealth or the changes that represent of stealthy state is compromised for a user other.
In step 3915, limit navigation.This restriction can include the institute for example being led to by the detection of enemy or opponent The navigation applying limits.In one exemplary embodiment, stealthy loss produces and participates in attack or other by making player Harm the result of detection promptly to limit navigation.For example, stealthy loss can trigger and stop the AI advancing forward from attacking.With Lower other embodiment is possible:Automatically reduce the incarnation of user or the speed of vehicle to prevent from detecting.
In step 3920, the cause that display navigation limits.In the exemplary embodiment, this cause can include so that Enemy, trap, field of stagnating link to stealthy model or other possible restriction.
Figure 39 B1 and Figure 39 B2 is the exemplary diagram respectively illustrating stealthy instrument and space-time continuity instrument, and space-time links up Property instrument give client user postpone visibility events packet reach probability instruction.
In some embodiments, the method for Figure 37, Figure 38, Figure 39 A and Figure 43 leads to link up in low space-time observability Property the time period during the limited navigation of client user's experience.This limited navigation can take the form of the speed reducing (For example, Figure 38 and Figure 39 A)And/or prevent from moving to some districts of modeling environment(For example, Figure 37 and Figure 39 A)In actual limit System.According to described method, the predetermined and adaptive restriction applying that user is navigated reduces delay visibility events and divides The probability that group reaches.By preventing from postponing packet arrival, these methods prevent the vision interference effect missing Drawing Object, on State Drawing Object can when after their actual a period of times that should become when exposing unexpected " ejection " or occur on the scene Jing Zhong.
In some embodiments, these methods adaptively applying navigation restriction are only when the low level of detail of transmission divides Group(For example, Figure 42 A and Figure 43)Or little visibility events packet(For example, Figure 44)Do not prevent from postponing when packet reaches just in fact Apply.Although these methods applying navigation restriction can prevent from being reached the vision interference causing, user's phase by delay packet The result of machine/control limits and can disturb the control of client user and immerse sensation.
A kind of method of the sensation of defense controls and predictability during navigation is applied to limit is to client user The such indicator limiting by or being experienced by user quickly of display.
As described in step 3910, for Figure 39 A, an environment being wherein reasonably applied with navigation restriction is Stealthy game or training application program, the wherein some districts of modeling environment(For example, produce noise when advancing or by motion detection The landform that device occupies)In height degree result in stealth loss.In some embodiments, the loss of this stealth result in product The raw result limiting navigation(For example, attack)Detection.
In some embodiments, the stealth of User avatar or vehicle is horizontally placed to the probability postponing that packet reaches Function, in some embodiments, the space-time observability that the determine the probability postponing packet arrival is visibility events data flow The function of the state of visibility events cache of continuity and/or decoder-client process.Reflection postpones packet and reaches The instrument of probability be shown as the instrument of stealthy state or other indicator.
Figure 39 B1 shows the exemplary diagram of the indicator of stealthy state.
In other types of game such as assassin's creed(Ubisoft company limited)In, the camera/viewpoint of user is in replacement Move in space-time, the navigation of wherein User avatar stands to safeguard a type of " synchronous ", it makes this space-time Migration continues.
In a kind of embodiment of the method for Figure 39 A, the ability that user unrestrictedly navigates is depending on navigation model It is configured to the inverse function exposing rate to incarnation or the new surface of vehicle in modeling environment.In this navigation model, low High user velocity in the area of space observability continuity has inherently been compromised " synchronous " or has been described in space-time area and has not been subject to Limit the other parameters of the ability of ground navigation.In this embodiment, by basic navigation model for being arranged to and visible sexual behavior Part transmission codec has identical performance characteristics, i.e. both performances are visual space-time observability continuity functions.
Figure 39 B2 shows the exemplary diagram of " space-time continuity " instrument, and user can pass through to prevent using this instrument It is somebody's turn to do the low powered posterior chamber of " space-time continuity " instrument(That is, prevent the low space-time observability continuity of reality)Mode manually to control Speed processed is to predict or to prevent to postpone the navigation restriction that packet reaches and/or applied.Using this visual detector, user is permissible To avoid postponing packet arrival and also avoiding applied navigation predictably to navigate in the environment in the way of limiting.
Figure 40 A shows corresponding with the visibility events packet of institute's cache of the first Current camera/viewpoint position The modeling environment regarding unit vertical view orthograph.
Figure 40 A shows potentially may be used as viewed from the current camera/viewpoint position of be labeled as VP1 first in modeling environment The object seen.VP1 be in being in client user interactivity control under camera/viewpoint movement locus on camera/ Viewpoint position.The dark arrow being labeled as " vector 1 " is camera corresponding with VP1/viewpoint speed vector.
For the camera/viewpoint position being labeled as VP1, show in Figure 40 A including with by decoder-client process Current cache visibility events packet corresponding regarding unit-regard unit transition regarding unit.Visibility events packet Prefetch is to use, by Current camera/viewpoint position and in some embodiments for vector acceleration, the simple boat predicted of navigating Position supposition method or determined using the navigation Forecasting Methodology with reference to Figure 36 A and Figure 36 B description in some embodiments.In figure Under exemplary cases shown in 40, depending in the secondary series in cell matrix except regarding unit [1,2,1] and regard unit [1,2,2] with Outer is shown without depending on unit, this is because the navigation prediction using in this example have determined super in the following specific time Cross the probability very little wearing fluoroscopy units [1,2,3].Also do not solved depending on the packet of unit corresponding visibility events with not shown Code device-server sends, from without representing visibility events cache corresponding with client viewpoint position VP1.
Can be according to the visibility events packet for exemplary camera/viewpoint position VP1 cache being given(Including PVS data increment and include labelling profile contour information in some embodiments)The visible entity sets of compilation(PVS)'s In the case of, only Drawing Object 4001 and 4002 is potentially visible.That is, for shown in Figure 40 A regarding unit, only object 4001 He 4002 is potentially visible.
Figure 40 C is the axonometric chart of the same object shown in Figure 40 A.
It is right with the visibility events packet for the second Current camera/viewpoint position institute cache that Figure 40 B shows The vertical view orthograph of the modeling environment regarding unit answered.
Figure 40 B show modeling environment as viewed from being labeled as VP2 the second Current camera/viewpoint position potentially Object.VP2 be in being in client user interactivity control under camera/viewpoint movement locus on camera/regard Point position.The dark arrow being labeled as " vector 2 " is camera corresponding with VP2/viewpoint speed vector.
For the camera/viewpoint position being labeled as VP2, show in Figure 40 B including with by decoder-client process The visibility events packet of current institute cache corresponding regarding unit-regard unit transition regarding unit.Visibility events are grouped Prefetch by Current camera/viewpoint position and speed and in some embodiments for vector acceleration using navigation prediction Simple dead reckoning or determined using the navigation Forecasting Methodology with reference to Figure 36 A and Figure 36 B description in some embodiments. Under exemplary cases shown in Figure 40 B, depending in the secondary series of cell matrix except regarding unit [1,2,4] and regard unit [1, Being shown without depending on unit beyond 2,5], this is because the navigation prediction using in this example determines in following special time Can exceed wear fluoroscopy units [1,2,6] probability very low.Additionally, with for previous camera/viewpoint position VP1 institute cache With depending on unit [1,2,1] with the visibility events packet that is associated depending on unit [1,2,2] is no longer present in the high speed for VP2 In caching.In the exemplary case, using method of cache replacement by the visibility events of previous institute cache Packet regards unit [1,2,1] and regards unit [1,2,2] replacement.In some embodiments, method of cache replacement such as LRU (Least recently used method)Or other replacement method, said method the position providing Current camera/viewpoint position and speed to Determine in the case of amount that there is the current institute cache that the correspondence being most unlikely pierced in special time regards unit transition Visibility events packet.In some embodiments, the method adopts the prior art of cache replacement, such as exemplary Publication " Web Caching and its Applications, Nagaraj, S.2004Kluwer Academic Described in Publishers, ISBN1-420-8050-6 ", by quoting, this publication is merged into herein.With VP2 pair The visibility events packet of the institute's cache answered include being used in some embodiments construction as shown in Figure 40 B or More regard the information of the PVS of unit.These PVSs corresponding with the visibility events cache of VP2 include object 4003 and 4004.Their disappearance is shown in by Figure 40 A, and object 4003 and 4004 is not included in the visibility events height with VP1 Speed caches in corresponding PVS.
Object 4003 be in some embodiments with the cache storehouse that can be bought by client user and use The corresponding motorcycle of storehouse object.In some embodiments, click on object by using cursor or cross-hair or select in addition Ground selects this object to buy exemplary motorcycle object 4003.In some embodiments, then so that the high speed bought Caching Warehouse object is available during game or SIM program(For example, motorcycle becomes to can be used for riding).
Due to motorcycle object 4003 from the visibility events cache with viewpoint position VP1 corresponding depending on unit in terms of not See, and become to can be seen that depending on unit from corresponding with the visibility events cache of subsequent viewpoint position VP2, thus with After the VP1 corresponding time and at the time corresponding with VP2 or before processed Drawing Object by client-server 4003 are transferred to client-server is processed.The client-server transmitting this cache warehouse item is processed in some enforcements Compare in mode and transmitting non-cache warehouse item(For example, 4001 and 4002)Corresponding decoder-server process Operate in the decoder-server process on single server apparatus.As shown in Figure 35 A, single decoder-server Process(3538、3539、3540)Variable for unique cache warehouse visibility events are grouped in from single decoder-clothes It is right that the identical visibility events contents of business device process 3520 transmission are transferred to during being broadcast to all of decoder-client process Decoder-the client process answered.
Object 4004 is included in corresponding with the audience that can be selected by client user in some embodiments The billboard of flexible message.In some embodiments, this object or other choosing are clicked on by using cursor or cross-hair Select this object to select example ad board object 4004.In some embodiments, audience is selected also to make to be bought For game or SIM program during use cache warehouse to cache Warehouse object can use.
Due to billboard object 4004 from the visibility events cache with viewpoint position VP1 corresponding depending on unit in terms of not See and become to can be seen that depending on unit from the visibility events cache of subsequent viewpoint position VP2 is corresponding, thus with VP1 After the corresponding time and at the time corresponding with VP2 or before processed Drawing Object by client-server 4004 are transferred to client-decoder processes.The client-server transmitting this audience is processed in some embodiments Compare and transmit non-advertising content object(For example, 4001 and 4002)Decoder-server process operate in individually Decoder-server process on server apparatus.As shown in Figure 35 A, single decoder-server process(3538、 3539、3540)Variable for unique ad visibility events are grouped in the phase from single decoder-server process 3520 With visibility events content broadcast to being transferred at corresponding decoder-client during all decoder-client process Reason.
The transmission that variable, advertisement, cache warehouse or telegram object are grouped as visibility events can be very efficient Ground uses transmission bandwidth and rendering resources, this is because these mutable object only will become right at them in some embodiments Specific client user is visible to be tightly passed to special decoder-client unit before.This compares advertisement transmission in game Existing method be more efficient, in the conventional method, be not for each client unit customize or each client of target The audience of user run through in advance modeling environment come to be distributed and not by visibility events stream process safeguard high-precision It is rendered in the case of the benefit of degree PVS.
Figure 40 D is the axonometric chart of the same object shown in Figure 40 B.
Figure 40 E is the identical axonometric chart shown in Figure 40 D, Figure 40 E include representing reduce can be navigational area the moon Hachure ground area.
As described by with reference to Figure 37, Figure 38, Figure 39 A and Figure 38, in some embodiments, it be not located at particular navigation Path(Also referred to as preferred guidance path)On some depending in unit/navigation elements navigation maximal raties be restricted.Referring to The step 3810 of Figure 38.
In Figure 40 E, can the area that reduce maximum navigation speed of navigation space be shown as modeling environment being labeled as 4005 Cross hatched regions.
In some embodiments, such area can correspond to ground area, and ground area includes in some embodiments Shrub, mud or the other modeling obstruction logically reducing maximum navigation speed can be met.The step of the process shown in Figure 38 The display that these modelings hinder is described in 3820.
As shown in Figure 40 E, the quantity depending on unit of cache visibility events data is not in including depending on unit It is larger for being labeled as in 4005 row in hacures obstruction area.For example, cache regards the visibility events of unit [1,1,7] Data, without cache regard unit [1,2,6] even if visibility events data compare regarding unit regarding unit [1,2,6] [1,1,7] nearer away from VP2.This exemplary cache state is in the step 3815 by Figure 38 in some embodiments The process illustrating, come to realize, wherein, during execution navigation prediction algorithm, if regard unit be located on preferred path, is given Penetrate the higher probability of distribution depending on unit prediction.In the example of Figure 40 E, do not include hinder area those include excellent depending on unit In routing footpath.
Figure 40 F is the identical axonometric chart of the identical modeling environment shown in Figure 40 E, but does not have the obstruction shown in Figure 40 E can Navigational area.
Shown in exemplary approach as shown in Figure 40 E and according to Figure 38 method;As the display in Figure 40 E regards The state of the visibility events cache of current view point VP2 being reflected in unit shows:Compare limited navigation area, not Have in limited navigation area more caches regarding unit.(Referring to step 3815)
Figure 40 F is shown in which the cached state of the not relative obstruction to navigation or obstruction.In this example, use In determining that the intrinsic relative probability weight of each penetration probability depending on unit is identical, and the penetration probability of any cell Only to be determined by current view point position and velocity vector.
Compare for the example of navigation first shown in Figure 40 E, corresponding visible regarding unit in unit [1,2, N] with row Property event packets quantity increase, which reflects in this row lack navigation hinder.
On the contrary, the quantity regarding the packet of unit corresponding visibility events being regarded with row in unit [1,1, N] is reduced, this is anti- Reflect and added to row the additional packet regarding unit [1,2, N].Clearly, what navigation hindered removing and arranging regarding unit [1,2, N] The weight of penetration probability adjoint reduction can increase when row regard unit [1,1, N] in navigation when delay packet reach Probability.Of course, it is possible to by under the conditions of these as described in reference to Figure 30 adjust level of detail previously described method Lai Prevent the delay packet predicted from reaching(And/or relax actual delay packet arrival).
In some embodiments, can operationally apply in the case that the delay packet of prediction reaches will be relatively low Weight distributes to the relative penetration probability regarding elementary boundary;Step 1515 as the exemplary flow in figure in Figure 42 A and Figure 43 Shown in.In one example, the relatively restricted of navigation during operation can correspond to moving back to Figure 40 E's from Figure 40 F The change of the cached state shown in graphic sequence, it illustrates:The navigation that preferred path row regard in unit [1,1, N] is logical Crossing next enhanced regarding unit [1,2, N] applying navigation restriction to arranging.Thus, regard in row and in unit [1,1, N], reduce delay point Organize the chance reaching and/or increased the admissible maximal rate in this preferred path area.
Figure 41 shows data below structure:Using specify in PCT Patent Application the PCT/US2011/042309th The exemplary number with described in the Figure 31 in this application and shown in Figure 41 of the application DeltaGplussubmesh To store visibility events subgroup according to structure.In this illustrative embodiments, DeltaGplussubmesh data structure Quote and become visible triangle sets during correspondence.
By specific regarding unit transition in Figure 41(That is, specific visibility events)DeltaGplussubmesh data The two-dimensional array of the index of the array of structure is expressed as DeltaGplussubmesh_subpackets [M] [N](In this example M=10 and N=5).In this two-dimensional array, first index dimension refer to visibility events packet 10 subgroups it One.Second index dimension quotes the particular version of each subgroup, by this version with 5 wherein in this illustrative embodiments One of level of detail is encoding.In the subpacket storage scheme of Figure 41, all subgroups with identical M index represent Identical geometric object.Have identical N index all subgroups represent visibility events packet be in level of detail N's Version.
Prevent from postponing the method that packet reaches using the subgroup at multiple level of detail.
Co-pending PCT Patent Application the PCT/US2011/042309th specifies following set of method:With multiple thin Ganglionic layer time come to encode visibility events packet and threatened postpone the time period that packet reaches during send low details Level is grouped.
In the method, the packet of each visibility events includes the corresponding institute being in specific detail level depending on unit transition There is data.Unit transition is regarded for each, using the packet of multiple visibility events, the packet of each visibility events regards corresponding to this The partial data with specific level of detail coding of unit transition.
Figure 42 A shows the exemplary flow of the modification that each visibility events is divided into subgroup of the method Figure, wherein each subgroup include becoming visible graphic element in correspondence depending on unit transition period(For example, polygon and texture Element)Particular subset.In the method, subgroup is encoded with multiple level of detail according to some embodiments.Make Subgroup in order to multiple level of detail coding makes it possible to reach the level of detail during the time period in the packet that postpones of projection And visibility events packet prefetch and on demand obtain during level of detail between carry out faster self adaptation switching.
Turning now to Figure 42 A, whether the stream process determining visibility events data in decision steps 4205 are using son point Group.If determining that in decision steps 4205 stream process of visibility events packet do not adopt subgroup, handling process is advanced To step 4207.It is seen that the Automatic adjusument of the level of detail of property event packets is using co-pending in step 4207 The method of PCT Patent Application the PCT/US2011/042309th Figure 48, Figure 49, Figure 50, wherein selected for send Next observability packet is the observability packet with relatively low level of detail.
If determining that in decision steps 4205 stream process of visibility events data adopt subgroup, handling process March to step 4210.
In a kind of embodiment prefetching method for stream processing using subgroup of visibility events packet, by every height It is grouped in before next subgroup is processed stream process completely to client, and select the order of subgroup stream process to reflect Penetrate the probability on corresponding visibility events border.In this embodiment, the order of subgroup can also be selected total to reflect Body visibility events packet size, wherein the subgroup being grouped from larger visibility events is weighted so that its more Continually it is chosen.
In another embodiment, stream process are carried out to the data from some subgroups, wherein by specific son simultaneously The stream process speed of packet is chosen to proportional to the probability that will penetrate corresponding visibility events border.Preferably In, select the data rate of subgroup stream process to make it proportional to the size of population that corresponding visibility events are grouped(For example, Subgroup is the 50% of visibility events packet).
Determine whether that prediction lag reaches in decision steps 4210.Prolong if determining in decision steps 4210 and not predicting It is late and reaches, then handling process marches to step 4220.
In step 4220, subgroup is processed with the current level of detail selecting.
If determining that in decision steps 4210 prediction lag packet reaches, handling process marches to step 4215.
In step 4215, transmitted next subgroup is selected to make it have details below level version(For example, scheme N value in 41 2-d index array), compare the level of detail of current selection, this version has relatively low level of detail.
Generation that packet reaches is postponed relatively due to reducing to can more promptly the switch to during use of subgroup Low level of detail packet.Further, since in the method previously can be by client with the subgroup of higher level of detail transmission To use, the overall time of the full set of subgroup for being transferred to fixed visibility events packet reduce.This is also Reduce the probability postponing that packet reaches.
In step 4215, can come for the current subgroup transmitted or for next subgroup to be transmitted Make to the switching of relatively low level of detail packet.If completing to be in the time of the transmission of current subgroup of detail present level It is in the time needed for the whole corresponding subgroup of relatively low level of detail less than transmission, then should keep detail present level Current subgroup transmission;And make for scheduled next subgroup to be transmitted and dividing to relatively low levels of detail second son The switching of group.Otherwise it should abandon the biography transmitting and immediately beginning to corresponding relatively low level of detail packet of current subgroup Defeated.Adopt visibility events subgroup and/or in addition with the speed proportional to penetration probability simultaneously to from multiple visible things The data of part packet carries out another advantages of stream process is:Because the set that viewpoint runs through regarding unit/navigation elements is moved, So the penetration probability regarding elementary boundary changes.These changes usually can make that previously determined to prefetch solution less smart Really.Make less accurately to prefetch earlier solution using the finer packet of other of less subgroup or smaller particle size More promptly can be adjusted based on more current navigational state data.The finer granularity that these are adjusted allows to more Plus reflect that the visibility events cache of Present navigation parameter carries out Dynamic Maintenance exactly.This more fully visible sexual behavior part Cache reduces and postpones converting and being easy to reduce maintaining cached required bandwidth of packet arrival.
Divided depending on the sequence of elementary boundary and the corresponding visibility events having for the minimum total time of transmission by determining The method to complete PVS for the group.
Figure 42 B shows by all available visibility events streams and process resource were used in the shortest possible time Inside complete to slow down the exemplary process diagram postponing the method that packet reaches of reality as the PVS of forward sight unit.
Described in co-pending PCT Patent Application the PCT/US2011/042309th and present embodiment can Opinion property event data prefetches with the method for cache using reducing the Forecasting Methodology postponing the incidence rate that packet reaches, and works as construction Depending on the visibility events needed for the complete PVS of unit be grouped into soothing the liver forward sight point enter should depending on unit when delay occur be grouped into Reach.
If Forecasting Methodology leads to postpone packet arrival, all visibility events needed for completing regarding the PVS of unit Before data reaches, viewpoint has been put into this regarding unit.The situation that this is reached with actual delay packet is corresponding.In this case, By when the relative penetration probability of forward sight unit be set to represent specific penetrate 1.0.In this case, in some embodiments In, current method passes through to be transferred to obtaining mode and be used for completing by all available visibility events stream bandwidth on demand completely When the delay packet that forward sight unit PVS to be adapted to reality reaches.If at least one adjacent regarding unit(For example, by this viewpoint Last occupying regards unit)PVS be complete, then this on demand stream process correspond to and complete and occupied last Depending on unit and the border corresponding visibility events packet between forward sight unit.
But, under conditions of low space-time observability continuity, the following is possible:Occupied last regards single The PVS of unit is also incomplete.Under these circumstances, in order to complete the PVS when forward sight unit it is necessary to complete occupied A PVS regarding unit afterwards.
In some cases, adjacent in addition to occupied last regards unit can more quickly be completed regarding list The PVS of unit, then will be from it will be seen that property event packets adjacent be transmitted to when forward sight unit depending on unit from this.This is to occur , this is because previous will be seen that property event packets or subpacket simultaneously(For example, it is multiplexed)Stream process adjacent regard to multiple Unit result in scenario described below:With adjacent and when the combination of forward sight unit PVS integrity visibility events packet transmission integrity State enable to more quickly using from adjacent regarding unit rather than from last occupied by viewpoint regard unit Visibility events packet.
In a kind of technology, process and determine which adjacent cells should be used for generation and work as the most rapid of forward sight unit PVS Complete.This determination be by the integrity state of the adjacent PVS regarding unit and with they with when the border of forward sight unit corresponding The size of the non-hop of visibility events packet carry out checking making.
Under conditions of low-down space-time observability continuity, the following is possible:Stay and have incomplete PVS's Previously occupied many regards unit.In this case, recursively using previous technology, from when forward sight unit backward operation is with true Surely must transmit to form the visibility events packet sequence of the PVS chain completing, and visibility events packet has transmission Minimum total time, it makes it possible to quickly complete most as the PVS of forward sight unit.
Turning now to Figure 42 B, being defined to work as by actual delay packet arrival if determined in decision steps 4230 The front incomplete PVS regarding unit being occupied by viewpoint.
If determining that in decision steps 4230 the delay packet arrival of reality does not also occur, handling process marches to Step 4260.At step 420, come to adjacent visible regarding unit to the speed proportional with the probability of fluoroscopy units to be worn The previously described method that property event data carries out stream process is kept.
If determined in decision steps 4230 for the currently occupied delay packet that reality has occurred depending on unit Reach, then handling process marches to step 4235.
In step 4235, all available transmission bandwidth are used for completing as the PVS of forward sight unit with processing.Terminate in not The stream process of the next visibility events data regarding unit that may penetrate.
In step 4240, the size of the adjacent visibility events packet do not transmitted depending on unit is determined.
In step 4245, determine the integrity state of the adjacent PVS regarding unit.As described earlier, when low In the situation of empty observability continuity, previously occupied is also likely to be imperfect depending on unit and other adjacent PVS depending on unit 's.
In step 4250, by PVS integrity state and adjacent depending on unit do not transmit visibility events packet big The time of the little visibility events packet for transmission can be completed with the currently occupied PVS depending on unit of viewpoint is estimated Meter.
The application note of the method is shown in Figure 40 C and Figure 40 D.For example, in camera/viewpoint position from Figure 40 C institute During the VP2 shown in VP1 to Figure 40 D showing moves, the visibility events needed for complete PVS that construction regards unit [1,2,5] are divided Group is not also accepted by decoder-client process completely.Thus, camera/viewpoint enters into for current cache state Any movement of this unit can produce and reach the observability mistake that causes by postponing visibility events packet.If camera/ Viewpoint wears suddenly fluoroscopy units [1,2,5], then using Figure 42 B, step 4240 during this incomplete cached state Method, the non-hop of the adjacent visibility events packet regarding unit(Corresponding to from regarding unit [1,1,5] to regarding unit [1, The VE packet of transition 2,5];And corresponding to from the VE packet regarding unit [1,2,4] to the transition regarding unit [1,2,5])'s Size and these adjacent regarding unit(It is regarding unit [1,1,5] and to regard unit [1,2,4] in this example)PVS integrity come (In step 4245)Determine using which visibility events to be grouped to complete undone PVS(For example, depending on unit [1,2, 5]).In the example of Figure 40 C to Figure 40 D, viewpoint motion vector " vector 2 " together with being located at leading of being not blocked from regarding unit [1,1,5] In navigating area(Therefore, in some embodiments, it is penetration probability distribution higher weights)The fact in some embodiments can It is easy to generation and compare the more complete PVS regarding unit [1,1,5] for the PVS of unit [1,2,4].In this case, such as Fruit with from regarding unit [1,1,5] arrive regarding unit [1,2,5] the corresponding visibility events of transition be grouped non-hop less Greatly, then the step 4250 of Figure 42 B can determine whether that this VE packet should be used for completing the incomplete PVS regarding unit [1,2,5].
According to some embodiments, the place of recursively application drawing 42B in the case of the adjacent PVS regarding unit is incomplete Reason.
In alternate embodiments it is seen that property event code include encode in unit set some regard unit Complete PVS packet.Stream process can be carried out to these complete PVS set, if complete PVS is currently occupied as completing The PVS depending on unit start gather, then be faster than using the time that complete PVS is transmitted in relevant visibility events packet and use portion Divide the existing set of complete PVS.
Figure 43 shows and sends, in the case of the delay predicted is assigned to and reached, the detailed increment observability reducing level Information and render the server process of such details reducing level using fuzzy filter or fuzzy object Block diagram/flow diagram.
The block diagram/flow diagram of Figure 43 show in another embodiment transmission increment visibility information client- The additional detail of server process.In some embodiments, these steps are whether client and server is implemented in by net On the different physical equipments that network connects, or whether client and server process is implemented on identical physical equipment.
In Figure 43, client and server function is separated into different process by this block diagram, and does not consider these process Whether execute on different physical equipments.
It is labeled as 4302 frame to include client process and be labeled as 4355 frame and include server process.
In the first step, client process obtains current view point and stores it in Data Position 4305.Permissible By connect to include mouse, the client process of stick, game console pad or other input equipment input equipment Lai Modification provides the data of current view point position to change current view point position.In an alternative embodiment, can be by regulation Camera path is determining viewpoint position.
Client process provides access to Data Position 4305 to server process, and server process is by this data copy To in Data Position 4310.This copy can occur in local storage or run through network and to occur.
In step 4315, server process predicts the Future Positions of viewpoint using current view point data.Real at some Apply in mode, this prediction adopts dead reckoning and collision limits, speed and acceleration limiting and pre- according to current view point position The other methods surveying following viewpoint position as is common for determining non-player soldier or people in computer game or other simulation Method for searching of the prior art of the navigation of work intelligent agent etc..(Referring to " Tactical Pathfinding Using A* ", Van Der Sterren, William in Game Programming Gems3, Charles River Media2002 ", its Full content is incorporated by reference into herein).
In step 4320, using the following viewpoint position predicted determine prediction regarding unit transition, depending on unit mistake Cross is to pass through to depending on elementary boundary.This step employ from step 4315 data and for known to this model regard unit Both arrangements.Can be read by server process in a subsequent step with each pass through regarding elementary boundary(That is, each Depending on unit transition)Corresponding increment observability data(Also referred to as visibility events information).
In step 4325, to current view point reach with the prediction processing regarding unit transition corresponding regarding elementary boundary The minimum time be determined.This time is current view point position and speed, the acceleration of maximum possible and speed and local Collision and the function of other navigation restriction.This value is stored in variable " time of break-through ".
In step 4330, regard unit transition corresponding increment observability to reading and transmitting with the future processing The maximum time of information is determined.This time is size based on the packet of corresponding increment observability, variable to client Transmission bandwidth and possible other factors are determining.This value is stored in variable " transmission time ".
In follow-up decision steps 4335, determine whether variable " transmission time " is more than variable " time of break-through ".If Determine in decision steps 4335 that variable " time of break-through " is more than " transmission time ", then handling process marches to step 4338.
In step 4338, send instruction to client unit, its instruction client unit should make low level Geometry, texture or shadow detail to observer less visually obvious or unpleasant wave filter to render low level of detail Object(Subsequent step 4340 sends).In one embodiment, using fuzzy filter.In an alternative embodiment, The instruction sending in step 4338 makes client rendering unit to the low level of detail object sending in step 4338 The fuzzy object in front and/or carried out by the object in the viewport area that occupies of low level of detail object sending in step 4338 Render.Implementation below is possible:These fuzzy objects include the liquid or solid on windshield(For example, water, Oil, mud, ice, mist)Or it is located at the protective eye lens between viewpoint and object in modeling environment.Following other embodiment is possible: Client unit 4302 automatically renders, using wave filter and/or fuzzy object, the object reducing level of detail, without Receive special instruction to carry out this process.
In step 4340, read increment observability data from outer nuclear memory(For example, increment G+ sub-grid data)'s Low level of detail(LOD)Version, and make it can be used for client process, client process is updated using this data and regards Unit is corresponding and is stored in the observability figure/PVS data in the Data Position being labeled as 4350.In embodiments, should Relatively low level of detail increment observability data includes the fixture resolution with relatively low geometric detail, lower level Or reduce the data of other methods of details.For example, rule model can include being formed by more than 1,000,000 mesh triangles shapes Polygonal mesh.In some embodiments, the low level of detail version of regular image only can include mesh triangles shape 10%.For the existing method generating the model being in multiple level of detail, referring to Leubke, David;Reddy,Martin et.al,“Level of Detail for3D Graphics”Morgan Kauffman2003,ISBN:1-55860-838-9, Entire contents are merged into by application herein.
If determining that in decision steps 4335 variable " transmission time " is not more than variable " time of break-through ", handling process March to step 4345.
In step 4345, read increment observability data from outer nuclear memory(For example, increment G+ sub-grid data) Higher level of detail version, and make it can be used for client process, client process is updated using this data Corresponding and be stored in the observability figure/PVS data in the Data Position being labeled as 4350 with depending on unit.
To 4340, step 4315 ensure that probably the increment needed for updating regarding the PVS of unit is visible when current view point Property information received by client process before be put into this regard just adopt during unit relatively low thin in the packet of increment observability The geometry of ganglionic layer time and/or texture information.
Reduced using relatively low level of detail information in this case and increment visibility information is read and sends to visitor Family end processes the required time;Thus, reducing viewpoint can be visible in all increments needed for incrementally construction regards the PVS of unit Property information be read/transmitted advance into this regard unit probability.
Additionally, less can be detected by user using the information of this relatively low level of detail in this case.This is because institute The increment visibility information providing(For example, increment G+ sub-grid information)Corresponding with the face recently exposed, the face recently exposed exists The very short time has been exposed under this situation;And known human visual system has for the face having exposed the of short duration time Low visual sensitivity.
Therefore, this method is following methods:Initially come more using the increment visibility information of relatively low level of detail The PVS regarding unit that new current view point probably penetrated before can providing corresponding higher level of detail.In embodiment party In formula, with the increase exposing the time in increment G+ sub-grid face, send of a relatively high level of detail at the subsequent time Increment visibility information, this exposes the time and exposes the time corresponding to following:The time-varying spatial sensitivity of user's visual system is permissible So that for it will be appreciated that the geometry of higher level of detail and/or texture information.In some embodiments, send higher details The time of the visibility information of level is limited by the ability of human perception object.
Compare the information of higher level of detail, the graphical information of low level of detail is quickly transferred to client unit. By transmitting relatively low levels of detail during the transit time section delaying to reach when being on the hazard of graphical information to client Secondary information, this method fully prevents delaying to reach of graphical information.
Because the graphic element of disappearance(Or they are subsequently reappearing suddenly)Easily observed person perceives and is vision Upper unpleasant it is possible to think that delaying to reach of graphical information is that perception ground based on observability pre-fetching system is unexpected Failure.
By initially transmitting the graphical information of low level of detail during these time periods and subsequently sending and can use In the additional patterns information of the level of detail increasing initial graphics information, the method can prevent delaying to reach simultaneously of graphical information And when this replacement is dispatched when visual sensitivity vs mated or exceed for mankind's dynamic visual acuity exposes time graph still So it is capable of perceptually lossless penalty.
If this replacement scheduling approximately exposes time graph with visual sensitivity vs for mankind's dynamic visual acuity, Perceptually graceful penalty then can be experienced by user.Replace relatively low details in the graphical information with higher level of detail This penalty can be experienced as separating replacement event during the graphical information of level.With replacing, scheduling is close to be regarded for the mankind Feel that visual sensitivity vs of sensitivity exposes time graph, this replacement event can become more to be difficult to for a user perceive.? In any case, this replacement event is better than to delay to reach delaying to reach of the graphical information causing with graphical information(And Follow-up unexpected appearance).
Thus, create perception in the case of low space-time observability continuity to transition during visualizing for the method Upper lossless or perceptually graceful penalty.The low space-time observability continuity in this visual transition ground can be by model The area that wherein observability often changes at a high speed(For example, near from indoor moving to the area of outdoor door)In transition ground high regarding Spot speed or partly invisible continuity lead to.The method is also useful for processing scenario described below:Available transmission band Width is that transiently reduction or server performance transiently reduce.
In a kind of important situation, in the situation of high viewpoint speed, the time of exposing in increment G+ sub-grid face can not Increase to the persistent period allowing users to differentiate exposed surface recently completely.This is because with high viewpoint speed, recently exposing Time of being maintained at during viewport of face can be of short duration.
Figure 44 show send under the pattern that prefetches corresponding and include by client depending on unit transition with father-father Reason is used for generating the labelling profile contour of sub- PVS data(Or the Ouluding boundary information being stored)Visibility events packet can Opinion property event server;And the use labelling profile contour information under demand model(Or Ouluding boundary information)And transmit Smaller packet is generating the block diagram/flow process of the identical visibility events server compared with boy PVS or PVS increment groupings Figure.
As previous in addition detailed in this manual and in PCT Patent Application the PCT/US2011/042309th Ground description, in some embodiments, using the wedge configuration and visible describing in detail in the Fig. 1 to Figure 15 using the application Property figure simplify come the single order wedge shape to construct to generate including when viewpoint from one regard unit movement adjacent potential regarding unit time-varying The PVS increment of visible polygon or polygon segmentation or visibility events data.This PVS increment include increment G+ sub-grid and Increment G- data, when by above-mentioned data from being correspondingly added to a PVS depending on unit or deduct it from this depending on the PVS of unit When can produce another regard unit PVS, for example, for adjacent regarding unit.
Method described in Figure 13 to Figure 22 of the application describes to include regarding in the PVS of unit in father by labelling Some seed triangle of polygonal mesh and profile side the PVS being included in many sons that father regards in unit and regarding unit is increased Amount carries out the method illustrative embodiments of efficient coding.The seed triangle of these labellings is used for initiating father regarding unit The breadth first traversal during operation of some sub-districts of PVS, this traversal is in the screening also operationally being generated according to labelling profile contour Gear boundary terminates(Figure 20 and Figure 21).Can be generated corresponding with the transition regarding unit regarding unit to son from father using this traversal PVS increment(Increment G- data), or directly the PVS that son regards unit is generated according to father depending on unit PVS.
Because labelling profile contour information(Or the Ouluding boundary information being stored)There is low-down storage demand, so In some embodiments, this coded treatment decreases the storage demand of PVS data increment.
Additionally, because comparing all PVS data that son regards the increment of whole set of unit, labelling profile contour(Or institute The Ouluding boundary information of storage)Generally require less transmission bandwidth, it is right by only sending that this coding be can be used for by transmission Father is answered to label profile contour depending on the PVS data increment of unit(Or the Ouluding boundary being stored)Data come to generate son in a large number regard single The PVS increment of unit and/or the information of PVS data, to reduce the transmission bandwidth demand of visibility events stream process.
In the exemplary embodiment, following discussion assumes that father 1 and father 2 are only in intersecting two neighbours at elementary boundary Connect depending on unit and son 2 is included in unit 2 depending on unit.
The use of this coding generally results in and sends relatively large increment G+ sub-grid packet(For example, father is arrived for father 1 2 regarding unit transition)And regard unit for big quantum is generated on client unit(For example, the son of father 2)Multiple PVS increase Amount or the lesser amount of labelling profile contour of PVS(Or the Ouluding boundary being stored)Data.It is grouped when transmitting these(Using being based on That navigates prefetches)Decoder-server process operate when nominally prefetching under pattern, send coded packet in this way It is extremely difficult.This is because under the pattern that prefetches, if the predictability of navigation is relatively low, safeguarding with needs and work as In the area of front viewpoint regarding the corresponding relatively big cache PVS data of unit.Regarded between unit using big father Effectively to safeguard this big cache depending on the packet of unit transition corresponding visibility events(For example, the big father of big father 1- The son of 2PVS data increment+father 2 regards the labelling profile contour metadata of unit).
If on the contrary, the transmission of visibility events information operates under demand model, such as prediction or reality Postpone packet to reach(For example, according to reach do not have corresponding visibility events data by client receive at unit Actual user's viewpoint and lead to)In the case of, then big father-father regards unit and is grouped(Plus labelling profile contour or block Border)Can actually cause to postpone packet arrival, this is because big packet has long transmission time.
In some embodiments, under demand model, actually execute on server unit according to father PVS and mark Note profile contour information(Or the Ouluding boundary information being stored)To generate little sub- PVS(Or PVS increment)The decoder of packet Process.Which results under demand model(For example, the condition postponing packet arrival of prediction)Need less transmission time relatively Little packet(Compare larger father-father's packet), thus being more effectively prevented from or minimize delay packet reaching.
Turn now to Figure 44, server unit is labeled as " server ".This server unit transmits visibility events information (Including PVS increment information).In some embodiments, the input based on client user for this transmission controls viewpoint motion Fetch driving with based on the pre- of navigation.In some embodiments, this transmission fetches driving by based on the pre- of navigation, based on navigation Prefetch to be driven by predetermined camera/viewpoint motion path.In either case, prefetch and can cause prediction or the prolonging of reality Packet reaches late, for example, can by the visual low space-time with respect to the available transmission bandwidth between server and client Opinion property continuity and lead to.
Decision steps 4405 determine whether for from corresponding to the adjacent transition regarding unit father 2 regarding unit father 1 The packet of concrete visibility events carry out prediction lag packet and reach.
If determining that in decision steps 4405 prediction lag reaches, handling process marches to step 4415.
In step 4415, using the solution shown in the exemplary process diagram of Figure 18 to Figure 22 in one embodiment Code processes and to generate the visibility events packet less than the packet of father 1- father 2 visibility events.This coding can produce much smaller than father The visibility events packet of 1- father 2VE packet, less packet corresponds in some embodiments and is predicted to be regarded by user The son 2 that point penetrates regards the PVS of unit.In some embodiments, can be by Figure 18 to coding/decoding method root illustrated in fig. 22 To generate this PVS according to father 2 depending on the larger PVS of unit, this coding/decoding method is with the coupling assembly of the sub- 2PVS of restriction to father 2PVS Rapid traversal(For example, using the process of Figure 21)And terminate.The method utilizes following facts:The son that father 2 regards unit regards unit PVS is the subset of the PVS of father 2.
In some embodiments, the packet being generated is that father 1 regards unit and the son 2 of adjacent father 2 regards between unit PVS increment.In some embodiments, the latter's packet is by executing the rapidly dark of the inclusion Figure 21 shown in Figure 18 to Figure 22 The process showing traversal processing is according to increment G+ sub-grid(Father 1- father 2 regards the visibility events packet of unit transition)Come to generate. The method utilizes following facts:The son 2 of father 1 and father 2 is that father 1 regards unit with father 2 depending on the PVS increment depending on unit transition between unit Between the PVS increment regarding unit transition subset.
In step 4420, this less packet is transmitted to client.Compare larger father 1- father 2 to be grouped, less Packet needs less transmission time, thus compare larger packet can be more effectively prevented from or minimize delay being grouped into Reach.Although decoding step 4415 can be added to the transmission delay of smaller packet, under demand model, transmission bandwidth not It is the bottleneck that server process is usually packet transmission.If additionally, in coding(As prefetching under pattern in step 4425)It Front transmission packe, then decoding step execute before treatment in some embodiments in client unit.(In some enforcements In mode, can be in compromised this decoding postponing to delay larger father-father to be grouped during packet reaches;Reduce and can render Elapsed time before, but it is the increase in frame render time, i.e. reduce frame rate, this is because whole father must be rendered PVS rather than less sub- PVS).
It will be seen that sexual behavior part client unit is labeled as " client " in Figure 44.Determining in decision steps 4435 is No for father 1- father 2 depending on unit transition come prediction lag packet reach.If determining that in decision steps 4435 prediction lag divides Group reaches, then handling process marches to step 4435.
In step 4445, sub- 2PVS is received by client unit(Or increase for father 1- 2PVS in some embodiments Amount).
In some embodiments, step 4450 directly uses this little PVS.In an alternative embodiment, by little father 1- 2PVS increment is used for generating sub- 2PVS.
Postpone packet arrival and will include exemplary father if determining in decision steps 4435 and being not previously predicted The visibility events information that 1- father 2 regards unit transition adds labelling profile contour information(Or Ouluding boundary information)Transmit to client End unit, then the step 4455 that handling process marches to this information of reception.
In subsequent step 4460, it is then used by(By being method including Figure 18 to Figure 22 in some embodiments Method)Regard the labelling profile contour information of the PVS data increment transmission of unit transition with father 1- father 2(Or in some embodiment party Ouluding boundary information by being stored in formula)Prediction depending on this little viewpoint depending on unit penetrates and to generate regarding unit 2 Son regards the PVS of unit.
Figure 45 A is the block diagram/flow chart of the additional detail of decoder-server process shown in Figure 44.
In some embodiments, the process shown in Figure 45 A occurs to be labeled as the server list of " server " in Figure 45 A In unit.
Decision steps 4505 determine whether for from corresponding to the adjacent transition regarding unit father 2 regarding unit father 1 The packet of concrete visibility events carry out prediction lag packet and reach.
If determining that in decision steps 4505 prediction lag packet reaches, handling process marches to step 4515.
In step 4515, exemplary father 1- father 2 is selected to regard the increment G+ sub-grid data of unit transition(PVS increment is believed Breath)For processing.In some embodiments, this selection includes reading, from data warehouse, the visibility events letter including pre-stored The data of breath, this information includes increment G+ sub-grid data and labelling profile contour information(And/or, in some embodiments By the Ouluding boundary information being stored).This data warehouse is labeled as 4510.
In subsequent step 4520, generated from labelling wheel using the visibility events information reading in step 4515 The Ouluding boundary section of wide contour(In some embodiments, using the process shown in the exemplary process diagram of Figure 18 and Figure 19). In other embodiments, Ouluding boundary information is directly stored as a part for the visibility events information regarding unit transition, And can be using above-mentioned Ouluding boundary information in the case of the process not needing Figure 18 and Figure 19.In step 4520, institute The labelling profile contour information that uses and/or the Ouluding boundary data that stored specific to specifically regarding unit-regard unit transition, It is the transition between unit father 1 and son 2 in this example.
In subsequent step 4525, expression is belonged to specific depending on unit-divide depending on the corresponding visibility events of unit transition The seed triangle of group(For example, belong to the increment G+ sub-grid that father 1- 2 regards unit transition in this case)Information carry out Select.This data be labeled as 4510 stored visibility information a part.
In some embodiments, using the Ouluding boundary information along with labels profile week of result in subsequent step 4530 Line information can be transmitted with less delay to the relatively little increment G+ sub-grid set of client to generate, right in step 4530 Larger set(For example, the increment G+ sub-grid of unit transition is regarded in the exemplary case for father 1- father 2)Traveled through.? In some embodiments, the traversal of step 4530 is using shown in the exemplary process diagram of Figure 20, Figure 22 and relevant figure Quick hint traversal processing.
In subsequent step, by the polygon being traveled through and in some embodiments in step 4530 traversal many Side shape sectional becomes father 1- 2 to regard the relatively little increment G+ sub-grid of unit transition.This aggregated label is TT.
In subsequent step, this less visibility events packet is transmitted to client unit.Server-decoder processes Handling process terminate at step 4540.Handling process marches to 4560 from 4540 via processing 45-1(Figure 45 B).
If determining that in decision steps 4505 prediction lag packet does not reach, handling process marches to step 4550. In step 4550, read father 1- father 2 from data warehouse 4510 and depending on the larger increment G+ sub-grid of unit transition and enter Row transmission.In some embodiments, the information reading and transmitting in step 4550 also includes regarding with the son of father 2 and father 2 One or more between unit are regarding unit transition corresponding labelling profile contour information(And/or, in some embodiments By the Ouluding boundary information being stored).Handling process marches to 4575 from 4550 via processing 45-2(Figure 45 B).
Figure 45 B shows the block diagram/flow process of the additional detail of decoder-client process shown in Figure 44 Figure.
In some embodiments, the process shown in Figure 45 A betides the visitor being labeled as " client unit " in Figure 45 B On the end unit of family.
Decision steps 4555 determine whether for from corresponding to the adjacent transition regarding unit father 2 regarding unit father 1 Concrete visibility events packet carrys out prediction lag packet and reaches.
If determining that in decision steps 4555 prediction lag packet reaches, handling process marches to step 4560.
In step 4560, decoder-client process receives and sends less visibility events packet in step 4540 TT(Father 1- 2 regards the relatively little increment G+ sub-grid of unit transition), at this, reason server is executing.
In step 4570, by the TT being received data being added to father's 1PVS data next life of previous institute cache Exemplary 2 is become to regard the PVS of unit.In some embodiments, this interpolation includes the process of exemplary process diagram Figure 22, wherein By new sub-grid(The increment G+ sub-grid of father 1- 2 transition)It is attached to the existing sub-grid of father 1PVS.
This accomplishes the sub- 2PVS being labeled as " CHILD2PVS ", it can be used for rendering subprocessing institute by client unit Carry out renders.
This decoder-client process terminates at step 4570.
It is not previously predicted delay packet if determined in decision steps 4555, handling process marches to step 4575.
In step 4575, decoder-client process receives in the step 4550 by decoder-server process execution The larger exemplary father 1- father 2 increment G+ sub-grid data together with labor profile contour information of middle transmission(And/or, at some Ouluding boundary information by being stored in embodiment).This labelling profile contour information or the Ouluding boundary information being stored exist Some embodiment party include with from father 2 to one or more height of father 2 regard unit one or more regarding unit transition pair The profile contour significantly blocking answered(Or the Ouluding boundary being stored).
In subsequent step 4580, it is then used by(In some embodiments by the side of the method including Figure 18 to Figure 22 Method)Regard the labelling profile contour information of the PVS data increment transmission of unit transition with father 1- father 2(Or in some embodiments In by the Ouluding boundary information being stored)Prediction depending on this little viewpoint depending on unit penetrates the son to generate regarding unit 2 PVS depending on unit.
Handling process terminates subsequent step 4580.
Using the method prefetching based on navigation for the visibility events data, wherein prefetch by the actual bit of client unit Put to control.
The exemplary flow of Figure 46 illustrates the forecasting method based on navigation of visibility events data, and wherein prefetching is To be driven by the position of client unit in true environment, this position is as by GPS(Or other positioning form)To determine or such as To be calculated by three-dimensional map matching process.
In some embodiments, based on the modeling environment of actual environment be according to using LIDAR or other range finding form, According to conventional three-dimensional modeling or acquisition and manual modeling a combination of both.
More and more, will be used for generating the close of complexity using the three-dimensional data acquired in LIDAR or other ranging technology The highly detailed 3D graphical model of the actual task environment such as city theater being blocked collection.Can use and include game engine The real-time graph Display Technique of technology come for analysis, task scheduling, the purpose of task rehearsal and show these models, and real When ground display authentic task evolution.
Unfortunately, these 3D models typically have very big file size.Thus, using existing file method for down loading, Can take a very long time these files from central command and control server transport to the client unit of networking, especially It is in the often limited battlefield surroundings of available transmission bandwidth.In some embodiments using existing game engine software Module(For example, Figure 34)The visibility events coding implemented(Fig. 1 to Figure 17), transmission(Figure 36 to Figure 40)And decoding(Figure 18 is extremely Figure 22)Method make it possible to progressively, incrementally transmit to network client end unit a large amount of 3D data sets without very Long download time section.
Further, since these models typically represent the intensive environment being blocked of complexity, thus difficult to use generally permissible Limited graphic hardware for front from the assets to deployment to render them with interactivity frame rate.Visibility events coding, biography Defeated and decoding this method progressively and incrementally transmits such as the substantial amounts of models such as visibility events data, does not wherein transmit simultaneously And do not render great majority and be blocked geometric figure(For currently relevant regarding unit).As described by with reference to Figure 12 A to Figure 13 C And in addition describe in detail in PCT Patent Application PCT/US2011/042309, in some embodiments, figure This reduction of overdraw makes it possible for available cheap graphic hardware in the client unit of forward direction deployment and comes with interactivity Frame rate such a large amount of 3D models are rendered.
In this way, in some embodiments execution Fig. 1 to Fig. 7, Figure 36 to Figure 40, the method for Figure 18 to Figure 22 can See that sexual behavior part codec makes it possible to promptly transmit war with the form very available for the visual purpose of tactics Art information.
The visibility events coding of the exemplary diagram description enumerated in by paragraph, transmission-control and coding/decoding method Another kind of purposes be the 3D data transfer that would indicate that true environment to mobile client end unit, this mobile client end unit is in car The control of human operator under navigate, or autonomously navigate under the control of autonomous navigation algorithm.
If modeling environment is included based in true environment based on actual environment, the visibility events information of stream process The position of client user is represented with the visual interactivity of mobile stream process to the true environment of client unit.Can use The combination of LIDAR acquisition, multiple views method of geometry, the manual modeling according to photo and these and/or other method is come basis Actual environment is reconfiguring modeling environment.Can be to be determined using forms such as such as GPS, inertial navigation and other localization methods The physical location of client in true environment.Further, it is also possible to by solving synchronous positioning and building figure(SLAM)Problem is determining The physical location of client in modeling environment, this synchronization positions and builds the various important side that figure problem includes autonomous navigation field Method.(Referring to Montermerlo, M., Thrun, S., FastSLAM, A Scalable Method for the Simultaneous Localization and Mapping Problem in Robotics,Springer Verlag, 2007.ISBN-10-3-540-46399-2).
SLAM problem is the major issue in autonomy or robot navigation.The robotic vehicle autonomously navigating is commonly used From external sensor(For example, LIDAR)The expression to construct surrounding for the data(For example, 3D map).In certain situation Under, for example, when operating in the environment limiting in GPS or in the disabled any environment of independent method of determination position, machine The autonomous navigation algorithm of people's vehicle must determine position in environment for the robot using the environment representation developed according to sensor Put.In these cases, autonomous navigation algorithm is said to be the solution calculating SLAM problem, this is because this algorithm constructs table simultaneously Show(For example, 3D map)And the expression using this construction determines position in actual environment for the robot together with sensing data Put.
According to be discussed below, if autonomous navigation algorithm has the visit that the 3D of the pre-stored to actual environment represents Ask, then accelerate the solution to position problems, this is because this algorithm need not construct whole 3D map in real time.Map match is to use In the general classification of the algorithm of the position determining in actual environment, it is using in the pre-computed expression to institute's scanning circumstance And the sensing data to the available pre-acquiring of autonomous navigation algorithm.
In one exemplary embodiment, client unit operates in the autonomy in the environment of GPS restriction(I.e., no People drives)Vehicle or airborne vehicle.In this embodiment, the physical location of client unit is to calculate by using 3D map match Method determines solving the problems, such as SLAM.Map-matching algorithm is by the environmental model being stored(3D map or represented model) With the data obtaining in real time in the local environment of vehicle(For example, LIDAR)It is compared.(Referring to See Olesk, A., Wang,J.Geometric and Error Analysis for3D Map Matching,International Global Navigation Satellite Systems Society,Symposium2009.Holiday Inn Surfers Paradise, Qld, Australia.December1-3,2009, entire contents are merged into by application herein).Map The data of the expression being stored environment and the real-time data obtaining are compared to determine vehicle in the environment by matching algorithm Position.Because the map datum being stored can be compared with the real-time data obtaining, it is right that map-matching algorithm allows The particularly effective solution of SLAM problem.Compare and by being related to of using of many other SLAM algorithms, structural environment in real time is had 3D map(That is, 3D model)The method that required all data are obtained and processed, map-matching algorithm is inherently more Added with effect.In some cases, it is possible to use quickly SLAM solution has finite accuracy to improve or to increase(For example, due to making Become " precision dilution(dilution of precision)" factor)GPS solution precision.
Encode in conjunction with the visibility events that the method for the exemplary process diagram of Figure 24 A is used(Fig. 1-Figure 17), transmission(Figure 36 to Figure 40)And decoding(Figure 18 to Figure 22)Method provide and have efficacious prescriptions by what useful map datum was transferred to autonomous vehicle Method, in the method for the exemplary process diagram of Figure 24 A, " customer location " in step 2420 be using map match determine from Control the position of vehicle.This effectiveness is partly due to using in co-pending PCT Patent Application PCT/US2011/ The stream specified in No. 042309 and further specify that in this application prefetches and is led to cache method, can pass through warp Often occur in the interval in battlefield surroundings and finite element network(Tactical Edge Characterization Framework” Volume3,Evolution and Application of the Framework.MITRE Techincal Report080310,September2008)To transmit visibility events packet.Because it will be seen that sexual behavior part packet decoding becomes PVS Data, so produce the added efficiency using data.As Rendering algorithms, map-matching algorithm only needs using map from vehicle Look potentially visible and partly come to be compared with the ranging data obtaining in real time.Because PVS data is calculated for map match Method provides the accurate subset of overall modeling environment(It is typically much deeper than any single PVS), so map-matching algorithm needs to locate Manage less data.
Turn now to Figure 46, server unit is labeled as 4610 and client unit is labeled as 4615.It is being related to client In the intrinsic circular treatment of the bi-directional communication links between end unit and server unit, it is in descriptive purpose, process from sentencing Certainly step 4620 place starts.
In the exemplary embodiment, client unit can be manned vehicle(Including airborne vehicle).Such In embodiment, the visibility events data of stream process to client unit makes it possible to high-fidelity 3D of represented environment Represent and be shown to human user.
In other examples embodiment, client unit can be automatic driving vehicle, for this automatic driving car , navigation completely or partially to be controlled by the autonomous navigation algorithm including map match.
In decision steps 4620, determine whether the location/velocity of client unit is passed through GPS or do not needed 3D map Join the other forms of solution to obtain.If determining that in decision steps 4620 position of client unit and/or speed are logical Cross GPS or do not need the other forms of 3D map match solution come to obtain, then handling process marches to step 4625.
In step 4625, by by GPS or do not need 3D map match solution determine physical location and/or speed transmit to Server unit.
In step 4630, server unit receives and using the information transmitted in step 4625 by client unit To drive on server unit to be stored in visibility events data in the data warehouse being labeled as 4605 based on navigation Prefetch.Should prefetch using pointing out in co-pending PCT Patent Application the PCT/US2011/042309th based on navigation Method and also can adopt this specification Figure 34, Figure 36 A, Figure 36 B, Figure 37, Figure 38, Figure 42 A and Figure 42 B method.
The prefetching and make it possible to read the visibility events being stored in data warehouse 4605 based on navigation of step 4630 Data or PVS data increment and above-mentioned data is sent to client list as the visibility events data flow being labeled as 4635 Unit.
In step 4635, using from server unit transmit to client unit visibility events be grouped safeguard with The corresponding one or more PVS of vision area near the current location of client.
If client unit is manned vehicle, this data can be rendered and by this data display People to operation vehicle.This video data can provide the 3D table of the environment under light, heat, LIDAR or other imaging confined condition Show.
If determining the position of client unit in decision steps 4620 and/or speed being by benefiting from the pre- of 3D environment Determining, then handling process marches to 4655 for the model obtaining or the map match of map or other SLAM solution.
In step 4655, using the PVS data according to visibility events data assembling in step 4640(It is labeled as 4645)Find range together with the LIDAR being obtained and be stored in data warehouse 4650 by client, multiple views geometric figure or other The data storage that data is come using map match or be would indicate that surrounding(Data warehouse 4645)Real with by client unit When ground or other methods of being compared of ranging data of obtaining of the near real-time ground position to determine client unit.
In step 4660, the client location determining and/or speed data by map-matching algorithm are sent to clothes Business device unit.
Step 4665 to be driven and to be described with reference to step 4630 using defined location in step 4655 and/or speed data Based on navigation prefetching.In a kind of illustrative embodiments of the method for Figure 46, come using LIDAR or other ranging data According to by scouting the visibility events data 4605 that the data mining of asset acquisition is stored.Using polygon by this data from Point cloud representation is transformed into boundary representation, and using in co-pending PCT Patent Application the PCT/US2011/042309th The observability pre-computation methods in terms of region pointed out are grouped to determine and to encode visibility events.
This illustrative embodiments makes it possible to vertical before meeting is using the belligerent task of less consumable attack assets Carve and dispose substantial amounts of relatively inexpensive scouting assets.This scouting assets can remotely be operated or can be led using non-map match Boat algorithm, it less calculates ground efficiently and can limit the speed of scout vehicle.
By the data transfer acquired in scouting assets to encoder, this encoder is using in co-pending PCT Patent Shen The observability pre-computation methods in terms of region that please point out in No. PCT/US2011/042309 are stored in data warehouse to generate Visibility events data in 4605.
In some embodiments, 4605 visibility events are determined using the method that the observability in terms of region determines Data warehouse, should determine using the Conservative Linear shadow event table as described in reference to Fig. 1 to Figure 12 from the observability in terms of region Face(CLUES).In some embodiments, CLUES data is used for generating the visibility events data including PVS data increment With bag for the attaching metadata of PVS data is generated when running on client unit(It is labeled as the profile week substantially blocked Line).Such as the coded treatment in Figure 16 and Figure 17 and the inclusion labelling profile described in the decoding process of Figure 18 to Figure 22 The method of contour data reduces the bandwidth demand of visibility events packet transmission.The bandwidth efficiency that this improves is in high bandwidth even Connect is often highly useful in disabled battlefield surroundings.
This visibility events data can efficiently stream process to attacking assets, proper assets of attacking are towards mission area When in way.As previously described, due to only needing 3D map(PVS)Small subset come and attack to obtain in real time in assets area Data is compared, so the visibility events data according to stream process(In step 4640)The PVS data of construction can add Speed is by the map-matching algorithm attacking assets execution.The acceleration of autonomous navigation solution enables to attack assets with than by people Those possible speeds under the control of generic operation person big speed complicated intensive environment being blocked in course exactly.
Access the cache number in local unit when carrying out the visibility events stream inaccessible of primary server According to visibility events stream method
When coming in the way of shown in Figure 24 A using visibility events codec, wherein point out in step 2420 Customer location is the physical location of client unit in true environment, then this codec is realized client-based position and come more New stream interacts 3D virtual map.
In this case, to be provided by the master server being located at a certain distance from client in some embodiments can Opinion property event data.For example, it is connected by satellite communication between this master server and client unit.
Even if Figure 47 shows safeguards visibility events data when the communication linkage with master server is lost by it Process exemplary process diagram.
In decision steps 4710, determine whether complete with the visibility events stream of master server.If in decision steps Determine in 4710 that visibility events stream does not access from master server, then handling process marches to step 4715.
In step 4715, active client accesses the visibility events data of the cache from other clients. Other client unit near the geography of active client are likely to there is storage in the caches by current visitor The visibility events information that family end uses.The method that client unit is used as secondary server implements the net being fully connected Network topological structure, this network topology structure improves the reliability with the transmission in the case of the communication loss of master server.
Visibility events packet can be accessed if determined in decision steps 4710 from master server, handling process is advanced To step 4720, wherein client continues to receive visibility events packet from master server.
Figure 48 shows the 3D data obtaining in actual environment, by this data transfer to visibility events encoder and The visibility events Data Stream Processing that will be encoded based on the attack assets movement in actual environment is extremely belligerent or attacks assets Block diagram/the flow chart of the scouting assets vehicle of forward direction deployment.
Figure 48 shows a kind of block diagram/flow chart of the illustrative embodiments of method shown in Figure 46.
In some embodiments, the unit being labeled as 4805 to 4808 represents acquisition with regard to the 3D data of actual environment Scout assets or vehicle.In some embodiments, using LIDAR, multiple views geometric figure(For example, Multiple View Geometry in Computer Vision Second Edition,Hartley,R.,Zisserman A.Cambridge University Press2003.ISBN0521540518, entire contents are incorporated by reference into herein)Or can obtain The other methods that can be used for constructing the data of three dimensional representation of actual environment are obtained by scouting assets 4805 to 4808 to obtain 3D data.In some embodiments by the 3D data storage of result be cloud data.In some embodiments, also by point Cloud data is processed into polygon or polygonal mesh represents.
Compare using the single possible situation scouted during assets, make it possible to more promptly obtain using multiple scout element Take 3D data, this 3D data set can be dressed up more complete 3D and represent(Also referred to as 3D reconstruct).The integrity that 3D represents depends on In obtaining 3D data from multiple cameras/sensing station, be conducive to this acquisition using multiple scout element.In some embodiments In, scout element includes relatively inexpensive consumable assets, and it includes may operate in including building of remote operation or autonomy Small-sized aerial craft in thing and in other intensive restricted clearance blocking environment or surface car.Figure 48 block diagram/ In flow chart, will be used as scouting main body(For example, for the purpose executing belligerent or strike mission)Actual environment be labeled as 4850.
In some embodiments, the data is activation acquired in scout element 4805 to 4808 is extremely labeled as in Figure 48 4810 visibility events coder processes.In some embodiments, encode from scouting assets stream process to visibility events The 3D data of unit be real-time or near real-time process, therefore the loss of scout vehicle does not cause obvious loss of data.
In some embodiments, will be converted into from the original point cloud data or polygon data of scouting asset acceptance first Polygonal mesh or manifold polygonal mesh data.The business for cloud data being converted into polygonal mesh data can be obtained Product software, for example, from the VRMesh software application of the VirtualGrid company in Washington Bellevue city.At some In embodiment it is seen that sexual behavior part encoder adopt Fig. 1 to Figure 14 method(And be in the U.S. in some embodiments Other visibility events codings described in provisional application 61/382,056 and compression method)To create via visibility events clothes Business device stream process are to the visibility events packet attacking assets.
By obtained visibility events data storage in the data warehouse 4812 of Figure 48.This visibility events data exists With the PVS increment being stored in the data warehouse 3305 of Figure 33 and the data warehouse 2515 of Figure 25/visible in some embodiments Property event data is identical.
In some embodiments, implement visible sexual behavior using the computing resource of the command center resource being labeled as 4820 It is seen that property event decoder-server process, mentioned order center resources include order to part coder processes 4810 and control is single Data from multiple scouting assets and different types of scouting assets is wherein attached to the system of scouted actual environment by unit In one 3D reconstruct.In some embodiments it is seen that sexual behavior part coder processes 4810 and visibility events decoder-server Process trustship on different devices.
The visibility events data being stored in data warehouse is by the visibility events decoder-server being labeled as 4815 Fetch reading using based on the pre- of navigation, should based on navigation prefetch in some embodiments by the attack being labeled as 4830 or The movement of belligerent assets is driving.In some embodiments, actual belligerent assets are autonomous and using GPS, 3D ground Figure coupling or the other methods determining position.Belligerent asset location data is sent to visibility events decoding from belligerent assets In device-server process 4815, as by virtually connecting shown in wiring 4835.If this position or other navigation data are to use map Determining, then communication channel 4835 is equal to by by the process 3360 of Figure 33 coupling in some embodiments(Client list Unit)Connect to process 3365(Server unit)The communication channel that represents of unidirectional connecting line.If using except map match Determining this position or other navigation data, then communication channel 4835 is equal to by will method in addition in some embodiments The process 3325 of Figure 33(Client unit)Connect to process 3330(Server unit)Unidirectional connecting line represent communication letter Road.
In some embodiments, by the position being received by visibility events decoder-server process 4815 and other Navigation data be used for drive visibility events data 4812 from the visibility events decoder-server process being labeled as 4815 To the visibility events decoder-client process being labeled as 4840 prefetching based on navigation, wherein in belligerent assets 4830 Upper enforcement process 4840.In the block diagram/flow chart of Figure 48, the transmission of this visibility events data is shown as being labeled as 4845 communication channel.
As described by the description with reference to Figure 46, determine decoding for using to the 3D map match solution of SLAM problem The embodiment of device-client unit position, because to eliminate process extraneous data(That is, it is not belonging to correspond to regard unit PVS)Needs the 3D map to transmit result for the form, so providing the method as the 3D map of visibility events data to examine Consider particularly efficient solution.Obtain computational efficiency and make it possible to lead in autonomy by using the PVS data in 3D map match There is higher speed, it is so that belligerent task is more efficient between the voyage schedule.
Illustrative embodiments shown in Figure 46 and Figure 48 not only make there is higher speed during autonomous navigation task, And can by allow when belligerent assets just on the way when objective target proximity obtain 3D map datum real-time transmission To increase the assignment of such task.Additionally, in some embodiments, by reconnaissance data stream process that are any additional or updating To decoder-client unit 4840, above-mentioned reconnaissance data is by scouting assets(4805 to 4808)Obtain and belligerent By visibility events encoder during task(4810)Transmit and store.This additional data can be used for improving transmitted 3D ground The precision of figure, thus strengthen the accuracy of belligerent asset task.
The visibility events data being stored in data warehouse 4812 is additionally operable to analysis, objective mesh in some embodiments The tactics visualization in mark area and task scheduling.In some embodiments, task scheduling includes robot path plan.In people In this stage of thing, select the preferred guidance path of autonomous belligerent assets of navigating.In some embodiments, be transferred to decoder- The visibility events data flow of client unit is by the preferably main or assisting navigation determining during this task scheduling stage Path determines.In some embodiments, route planning depend on reconnaissance stage during in the given zone of target environment institute The amount of the 3D data obtaining.
In some embodiments, for training and amusement purpose it is seen that property event data include virtual for controlling The camera of camera/viewpoint exercise data.For example, in the exemplary SIM embodiment of Figure 24 A, by the camera fortune of description regulation The data in dynamic path sends to visibility events decoder-client unit from visibility events decoder-server unit, its In, this data drives virtual camera during the visibility events content stream with limited interactivity is shown.In Figure 48 Illustrative embodiments in, in some embodiments using for realizing belligerent assets along the car of the navigation of expected path Location/velocity control instruction is replacing camera motion control.In such embodiment, unit 4820 is used as integrated Order and control system, this system supports tactics visualization, analysis, robot task plan and by being grouped by visibility events Based on navigation the two-way visibility events stream prefetching driving tasks carrying.
Figure 49 A shows the axonometric chart of two scouting assets, the three dimensional representation of above-mentioned scouting asset acquisition actual environment And this is denoted as visibility events data is activation encoded to encoder.
Be labeled as 4905 and 4906 to as if obtain detecing of 3D data with regard to actual environment in some embodiments Look into assets.In some embodiments, scouting assets 4905 and 4906 is little relatively inexpensive airborne vehicle, using could be used without The autonomous navigation solution of the SLAM of map match comes remote operation or this airborne vehicle that navigates, and therefore, compares map match Possible situation, it is with relatively low speed operation.This makes target be more prone under attack compared with low velocity.
Figure 49 A shows including building 4901 and 4902 and target vehicle 4950 actual environment.Show at this In example, vehicle 4950 is the enemy's vehicle as the target/main body scouting assets 4905 and 4906(And described in Figure 49 B Attack assets 4908 target).
In the example of Figure 49 A, scout assets by the 3D data with regard to actual environment(For example, using LIDAR, multiple views Geometric figure or other method obtain)The coder processes 4810 with reference to Figure 48 description are used to send as visibility events data To command center unit for coding.In some embodiments, coder processes away from reconnaissance zone, for example, are being ordered and are being controlled In unit processed.Data is transferred to visible sexual behavior by the communication channel being labeled as " to the 3D data of encoder " in Figure 49 A Part encoder.
Additionally, being illustrated that in Figure 49 A and visibility events data being encoded(For example, by Figure 48's Process 4810)Regarding unit corresponding one group regard unit.
Figure 49 B shows and receives the visibility events data flow representing actual environment and the efficient 3D in autonomous navigation In map match SLAM solution the autonomy using this visibility events data belligerent/attack assets axonometric chart.
Be labeled as 4901,4902 and 4905 to as if modeling object based on the object in actual environment, above-mentioned modeling To as if reconstructed by 3D using the 3D data of scouting assets 4905 and 4906 acquisition by Figure 49 A and to model, and by scheming The process of the 4810 of 48 is encoding.
Object 4908 is the description attacking assets.In some embodiments, attacking assets is autonomous vehicle such as Northey sieve MQ-8 fire scout's pivotable flap airborne vehicle of general-Grumman Co., Ltd.
In Figure 48, attack assets object 4908 and be illustrated as receiving visibility events data flow and using visible from this Property event data stream the PVS data of decoding to calculate efficient SLAM solution using map match.This enables to attack assets Carry out High-speed Autonomous navigation.This high speed of operation makes attack assets be less susceptible to by offensive or defensive objective target Attack, in Figure 49, for example, be labeled as 4950 object.
It is slow at a high speed that Figure 49 B also show the visibility events having with as the decoder-client process attacking assets Corresponding regarding elementary boundary one group of the visibility events packet of the part deposited regards unit.
Using the efficient visibility events coded treatment described in Fig. 1 to Figure 17, in some embodiments will be in figure The 3D data obtaining during the reconnaissance mission described in 49A is promptly converted into being described with the delay disposal of very little to Figure 49 Attack assets, even if when this attack assets is being led in the way of objective target.Efficient visibility events coding can also be by Obtain data to be rapidly transferred to attack assets, to provide in the area of objective target during ongoing scouting obtains The expression of the frequent updating of tactics situation.Therefore, the attack assets from this 3D data can determine the physical location in environment Attacking the other danger in face of assets with pendulum, even if in the environment that GPS limits.
In some embodiments, by positioned at the belligerent assets of physics(The 4830 of Figure 48)On processing meanss can to execute Opinion property coded treatment(For example, the process 4815 of Figure 48)And decoder-server process(The 4815 of Figure 48)With decoder-visitor Family end is processed(The 4840 of Figure 48).
Figure 50 is the block diagram of processor 5000.In some embodiments, processor 5000 is implemented in visibility events clothes In business device and be configured to execute arbitrary said method of being executed by server.In other embodiment, processor 5000 implement in the client and are configured to execute the arbitrary said method being executed by client device.
In one embodiment, processor 5000 includes CPU5080, its to be stored in main storage 5040 and/or Data in ROM5050 and instruction are processed.CPU5080 also processes the letter being stored on disk 5010 or CD-ROM5020 Breath.For example, CPU5080 is the IBM System X from U.S. IBM, which employs at least one and is derived from Intel Xenon Reason device or the Opteron processor from U.S. AMD.Therefore, instruction corresponding with the process in mobile device is stored in disk 500th, in any one in CD-ROM5020, main storage 5040 or ROM5050.
In one embodiment, processor 5000 is also included as the Intel's Ethernet from Intel The network interface 5075 of PRO NIC, such as be derived from NVIDIA company of the U.S. NVIDIA GeForce GTX graphics adaptation Device etc. is used for the display controller 5030 that display 5002 connects, display 5002 such as Hewlett Packar HP L2445w LCD monitor.The I/O that processor 5000 is also included with keyboard 5095 with as the pointing device such as roller ball or mouse 5085 is connected connects Mouth 5090.According to some embodiments, Magnetic Disk Controler 5060 is interconnected with disk 5010, such as the hard drive of flash memory device and CD-ROM5020 or DVD with bus 5070 driving drives, and this bus is ISA, EISA, VESA, PCI or by server 5000 All component interconnection analog.For brief, eliminate to display 5002, keyboard 5095 and pointing device 5085 and Display controls 5030, Magnetic Disk Controler 5060, network interface 5075 and the general feature of I/O interface 5090 and retouching of function State, because these features are all known.Certainly, other processors and hardware vendor and type are well known in the art, As Freescale ColdFire, i.e. from the arm processor of Freescale company of the U.S..
The example processor 5000 of Figure 50 is the hardware platform of the computing device as PC, and CPU5080 is that Intel is run quickly Rise processor or other desired processor as known in the art.Will be stored in main storage 5040, ROM5050, disk In 5010 or CD-ROM5020, the computer-readable instruction on any one is provided as utility application, background port monitoring journey The assembly of sequence or operating system or a combination thereof, in conjunction with CPU5080 with as Microsoft VISTA, UNIX, Solaris, LINUX, Fructus Mali pumilae MAC-OS and other system well known by persons skilled in the art are executing above-mentioned instruction.
Main storage 5040 is random access memory(RAM), flash memory, eeprom memory etc., and ROM5050 is read-only Memorizer, such as PROM.It is in briefly, omit and main storage 5040 and ROM5050 are further described, because such storage Device is all known.
In other embodiment, client device is smart phone such as iPhone, and it is configured to execution by client Any of above method of end equipment execution.In other embodiment, client device is panel computer such as iPad, and it is joined Be set to execution executed by client device arbitrary said method,.For example, it is possible to application program is downloaded to iPhone or iPad In, wherein this application program makes iPhone or iPad be communicated and be executed with visibility events server to be set by client Arbitrary said method of standby execution.
Obviously, in view of teachings above, various modifications and variations can be carried out to this progress.It will thus be appreciated that unless It is specifically described herein, otherwise can realize described progress within the scope of the appended claims.

Claims (38)

1. a kind of execute on the server for the graphical information that can render being sent to the method for client device, described figure Shape information represents three-dimensional surface, and described graphical information includes not blocked by the second vision area and blocked at least by the first vision area One graphical information set, methods described includes:
Determine that viewpoint experiences from described first vision area to the probability of the movement of described second vision area;And
When the probability from described first vision area to the movement of described second vision area for the determination described viewpoint experience is more than predetermined threshold When, send at least one graphical information set described, described movement determines according to predetermined motion path.
2. method according to claim 1, wherein, at least one graphical information set described includes not regarded by described second Grid polygon or the set of the polygonal fragment of described grid that area blocks and blocked by described first vision area, described first regards Area and described second vision area have multiple vision area summits, and described grid polygon forms polygonal mesh, at least one figure described Shape information aggregate be according to the described grid polygon that do not blocked by described second vision area or the polygonal fragment of described grid Lai Determine, and determine that by following steps the described grid polygon blocking or described grid be not many by described second vision area The fragment of side shape:
A1) determine at least one single order profile side of described polygonal mesh, at least one single order profile side described is described many While shape grid have following item while:
First polygon on total at least one single order profile side described and the second polygon,
The described first polygon back side each vision area summit in the plurality of vision area summit of described second vision area,
At least one of the plurality of vision area summit of described second vision area vision area summit faced by described second polygon front, And
Described first polygon and described second polygon relative to each other have the back side in the face of orientation,
A2) determine at least one support polygon between described second vision area and described polygonal mesh, described at least one Support polygon is to determine between at least one summit on described second vision area and at least one single order profile side described;
A3) at least one wedge shape is constructed according at least one support polygon described, at least one wedge shape described is away from described Second vision area extends at least beyond described polygonal mesh;
A4 at least one wedge shape described and the polygonal one or more cross-shaped portions of described grid) are determined;And
A5 one or more cross-shaped portions of at least one wedge shape described and the described determination of described polygonal mesh) are used, really The fixed described grid polygon not blocked by described second vision area or the set of the polygonal fragment of described grid.
3. method according to claim 2, the wherein said graphical information rendering includes the letter on representation program surface Breath, can generate polygon according to the information on described representation program surface.
4. method according to claim 2, wherein, do not blocked by the second vision area and by the first vision area block described at least One graphical information set includes representing the graphical information of advertisement.
5. method according to claim 4, wherein, sends the step bag of at least one the graphical information set representing advertisement Include:Only include representing that the described graphical information representing advertisement should be by client device described in target alignment in determination data base During the target information of user, send at least one the graphical information set described representing advertisement.
6. method according to claim 5, wherein, described target information includes the described use representing described client device The information of the previous response that family is made to advertisement.
7. method according to claim 4, wherein, the described movement from described first vision area to described second vision area is root Determine according to predetermined mobile route.
8. method according to claim 4, wherein, represent advertisement at least one graphical information set described include for Generate the instruction of described polygonal mesh.
9. method according to claim 4, wherein, represent advertisement at least one graphical information set described include for The parameter of constructing variable geometric model.
10. method according to claim 4, wherein, represents that at least one graphical information set described of advertisement includes figure Show symbol information and for the parameter according to described graphic character information structuring three dimensional symbol.
11. a kind of execute on the server for the graphical information that can render being sent to the method for client device, described Graphical information represents three-dimensional surface, and described graphical information include not blocked by the second vision area and blocked by the first vision area One graphical information set, and described graphical information includes not blocked and blocked by described first vision area by described second vision area Second graph information aggregate, described second graph information aggregate includes representing the graphical information of advertisement, methods described includes following Step:
When determining that viewpoint is more than predetermined mobile threshold value from described first vision area movement to the probability of described second vision area, send Described first graphical information set, described movement is to be determined according to the user input for described client device;And
When the described viewpoint of determination from described first vision area movement to the probability of described second vision area more than described predetermined mobile threshold During value, and when determination exceedes bandwidth threshold value from described server to the available transmission bandwidth of described client device, Send described second graph information aggregate, described movement is to determine according to the user input for described client device.
12. methods according to claim 11, wherein, send at least one the graphical information set described representing advertisement Step includes:Only include representing that the target of the user of target alignment client device should be believed by described advertisement in determination data base During breath, send at least one the graphical information set described representing advertisement.
13. methods according to claim 12, wherein, described target information includes representing the described of described client device The information of the previous response that user makes to advertisement.
14. methods according to claim 12, wherein, at least one graphical information set described is included not by described second Grid polygon or the set of the polygonal fragment of described grid that vision area is blocked and blocked by described first vision area, described first Vision area and described second vision area have multiple vision area summits, and described grid polygon forms polygonal mesh, described at least one Graphical information set is according to the described grid polygon not blocked by described second vision area or the polygonal fragment of described grid Come to determine, and determine the described grid polygon or described grid not blocked by described second vision area by following steps Polygonal fragment:
A1) determine at least one single order profile side of described polygonal mesh, at least one single order profile side described is described many While shape grid have following item while:
First polygon on total at least one single order profile side described and the second polygon,
The described first polygon back side each vision area summit in the plurality of vision area summit of described second vision area,
At least one of the plurality of vision area summit of described second vision area vision area summit faced by described second polygon front, And
Described first polygon and described second polygon relative to each other have the back side in the face of orientation,
A2) determine at least one support polygon between described second vision area and described polygonal mesh, described at least one Support polygon is to determine between at least one summit on described second vision area and at least one single order profile side described;
A3) at least one wedge shape is constructed according at least one support polygon described, at least one wedge shape described is away from described Second vision area extends at least beyond described polygonal mesh;
A4 at least one wedge shape described and the polygonal one or more cross-shaped portions of described grid) are determined;And
A5) use one or more cross-shaped portions of at least one wedge shape described and the described determination of described polygonal mesh, come Determine the set of the described grid polygon or polygonal fragment of described grid do not blocked by described second vision area.
15. methods according to claim 14, wherein, represent that at least one graphical information set described of advertisement includes using In the instruction generating described polygonal mesh.
16. methods according to claim 11, wherein, represent that at least one graphical information set described of advertisement includes using Parameter in constructing variable geometric model.
17. methods according to claim 12, wherein, represent that at least one graphical information set described of advertisement includes figure Show symbol information and for the parameter according to described graphic character information structuring three dimensional symbol.
18. methods according to claim 12, wherein, described graphical information includes to be believed by the figure that observer selects Breath, and methods described is further comprising the steps of:
Receive the information showing to select to represent at least one graphical information set described in described advertisement from described client device;
Show to select to represent at least one graphical information set described in described advertisement when receiving from described client device During information, send at least one second graph information aggregate, at least one second graph information aggregate described represents wide with described Accuse associated Related product or service.
19. methods according to claim 12, wherein, described graphical information includes to be believed by the figure that observer selects Breath, and methods described is further comprising the steps of:
Receive the information showing to select to represent at least one graphical information set described in described advertisement from described client device;
Show to select to represent at least one graphical information set described in described advertisement when receiving from described client device During information, send at least one second graph information aggregate, at least one second graph information aggregate described represents in modeling ring The object that can be used by client user in border.
20. methods according to claim 19, further comprising the steps of:
Select described client user is charged according to described.
21. methods according to claim 11, wherein, when determination viewpoint regards from described first vision area movement to described second The probability in area is more than predetermined mobile threshold value and works as the available transmission band determining from described server to described client device When width exceedes bandwidth threshold value, the described step sending at least one graphical information set described of execution.
22. methods according to claim 11, wherein, the described movement from described first vision area to described second vision area is Determined according to the user input for described client device.
23. methods according to claim 12, wherein, the described movement from described first vision area to described second vision area is Determined according to the user input for described client device.
A kind of 24. methods for receiving, from server, the graphical information that can render executing on a client device, described figure Shape information represents three-dimensional surface, and described graphical information include not blocked and blocked by the first vision area by the second vision area first Graphical information set, the method comprising the steps of:
Send data to described server, described data represents the user input for described client device, and described user is defeated Enter and control described viewpoint position;When determining that described viewpoint is more than from described first vision area movement to the probability of described second vision area During predetermined mobile threshold value, receive described first graphical information set from described server, described movement is according to for described visitor The user input of family end equipment is determining.
25. methods according to claim 24, wherein, at least one graphical information set described is included not by described second Grid polygon or the set of the polygonal fragment of described grid that vision area is blocked and blocked by described first vision area, described first Vision area and described second vision area have multiple vision area summits, and described grid polygon forms polygonal mesh, described at least one Graphical information set be according to not by described second depending on the described grid polygon that blocks or the polygonal fragment of described grid Lai Determine, and determine that by following steps the described grid polygon blocking or described grid be not many by described second vision area The fragment of side shape:
A1) determine at least one single order profile side of described polygonal mesh, at least one single order profile side described is described many While shape grid have following item while:
First polygon on total at least one single order profile side described and the second polygon,
The described first polygon back side each vision area summit in the plurality of vision area summit of described second vision area,
At least one of the plurality of vision area summit of described second vision area vision area summit faced by described second polygon front, And
Described first polygon and described second polygon relative to each other have the back side in the face of orientation,
A2) determine at least one support polygon between described second vision area and described polygonal mesh, described at least one Support polygon is to determine between at least one summit on described second vision area and at least one single order profile side described;
A3) at least one wedge shape is constructed according at least one support polygon described, at least one wedge shape described is away from described Second vision area extends at least beyond described polygonal mesh;
A4 at least one wedge shape described and the polygonal one or more cross-shaped portions of described grid) are determined;And
A5) use one or more cross-shaped portions of at least one wedge shape described and the described determination of described polygonal mesh, come Determine the set of the described grid polygon or polygonal fragment of described grid do not blocked by described second vision area.
26. methods according to claim 24, wherein, do not blocked by the second vision area and by the first vision area block described in extremely A few graphical information set includes representing the graphical information of advertisement.
A kind of 27. methods for receiving the graphical information that can render, described graphical information represents three-dimensional surface, and described figure Shape information includes at least one the graphical information set blocked and do not blocked by the second vision area by the first vision area, and methods described includes Following steps:
Receive the data representing user input on a client device, described user input controls viewpoint position;And
Make a reservation for mobile threshold when determining that described viewpoint position is more than from described first vision area movement to the probability of described second vision area During value, at least one graphical information set described is received on described client device, using the expression user input being received Data carry out described determination, described movement determines according to predetermined motion path.
28. methods according to claim 27, wherein, at least one graphical information set described is included not by described second Grid polygon or the set of the polygonal fragment of described grid that vision area is blocked and blocked by described first vision area, described first Vision area and described second vision area have multiple vision area summits, and described grid polygon forms polygonal mesh, described at least one Graphical information set is according to the described grid polygon not blocked by described second vision area or the polygonal fragment of described grid Come to determine, and determine the described grid polygon or described grid not blocked by described second vision area by following steps Polygonal fragment:
A1) determine at least one single order profile side of described polygonal mesh, at least one single order profile side described is described many While shape grid have following item while:
First polygon on total at least one single order profile side described and the second polygon,
The described first polygon back side each vision area summit in the plurality of vision area summit of described second vision area,
At least one of the plurality of vision area summit of described second vision area vision area summit faced by described second polygon front, And
Described first polygon and described second polygon relative to each other have the back side in the face of orientation,
A2) determine at least one support polygon between described second vision area and described polygonal mesh, described at least one Support polygon is to determine between at least one summit on described second vision area and at least one single order profile side described;
A3) at least one wedge shape is constructed according at least one support polygon described, at least one wedge shape described is away from described Second vision area extends at least beyond described polygonal mesh;
A4 at least one wedge shape described and the polygonal one or more cross-shaped portions of described grid) are determined;And
A5) use one or more cross-shaped portions of at least one wedge shape described and the described determination of described polygonal mesh, come Determine the set of the described grid polygon or polygonal fragment of described grid do not blocked by described second vision area.
29. methods according to claim 28, wherein, do not blocked by the second vision area and by the first vision area block described in extremely A few graphical information set includes representing the graphical information of advertisement.
30. methods according to claim 29, wherein, the step that reception represents at least one graphical information set of advertisement Including:Only include representing that the described graphical information representing advertisement should be by client device described in target alignment in determination data base The target information of user when, receive represent advertisement at least one graphical information set described.
31. methods according to claim 30, wherein, described target information includes representing by the institute of described client device State the information of the previous response that user makes to advertisement.
32. methods according to claim 27, wherein, the available biography from server to described client device only when determination When defeated bandwidth exceedes bandwidth threshold value, the described step receiving at least one graphical information set described of execution.
33. methods according to claim 28, wherein, the described movement from described first vision area to described second vision area is Determined according to predetermined motion path.
34. methods according to claim 27, wherein, the described movement from described first vision area to described second vision area is Determined according to the user input for described client device.
35. methods according to claim 28, wherein, the described movement from described first vision area to described second vision area is Determined according to the user input for described client device.
36. methods according to claim 29, wherein, represent that at least one graphical information set described of advertisement includes using In the instruction generating described polygonal mesh.
37. methods according to claim 29, wherein, represent that at least one graphical information set described of advertisement includes using Parameter in constructing variable geometric model.
38. methods according to claim 29, wherein, represent that at least one graphical information set described of advertisement includes figure Show symbol information and for the parameter according to described graphic character information structuring three dimensional symbol.
CN201180054647.7A 2010-09-13 2011-09-13 Delivering and controlling streaming interactive media comprising rendered geometric, texture and lighting data Active CN103221993B (en)

Priority Applications (2)

Application Number Priority Date Filing Date Title
CN202010662407.6A CN111833424A (en) 2010-09-13 2011-09-13 Streaming interactive media including rendered geometry, texture and lighting data for transmission and control
CN201611005881.1A CN107093201B (en) 2010-09-13 2011-09-13 Streaming interactive media including rendered geometry, texture and lighting data for transmission and control

Applications Claiming Priority (13)

Application Number Priority Date Filing Date Title
US38205610P 2010-09-13 2010-09-13
US61/382,056 2010-09-13
US38428410P 2010-09-19 2010-09-19
US61/384,284 2010-09-19
US201161452330P 2011-03-14 2011-03-14
US61/452,330 2011-03-14
US201161474491P 2011-04-12 2011-04-12
US61/474,491 2011-04-12
US201161476819P 2011-04-19 2011-04-19
US61/476,819 2011-04-19
USPCT/US2011/042309 2011-06-29
PCT/US2011/042309 WO2012012161A2 (en) 2010-06-30 2011-06-29 System and method of from-region visibility determination and delta-pvs based content streaming using conservative linearized umbral event surfaces
PCT/US2011/051403 WO2012037129A2 (en) 2010-09-13 2011-09-13 System and method of delivering and controlling streaming interactive media comprising predetermined packets of geometric, texture, lighting and other data which are rendered on a reciving device

Related Child Applications (2)

Application Number Title Priority Date Filing Date
CN201611005881.1A Division CN107093201B (en) 2010-09-13 2011-09-13 Streaming interactive media including rendered geometry, texture and lighting data for transmission and control
CN202010662407.6A Division CN111833424A (en) 2010-09-13 2011-09-13 Streaming interactive media including rendered geometry, texture and lighting data for transmission and control

Publications (2)

Publication Number Publication Date
CN103221993A CN103221993A (en) 2013-07-24
CN103221993B true CN103221993B (en) 2017-02-15

Family

ID=45832201

Family Applications (3)

Application Number Title Priority Date Filing Date
CN201180054647.7A Active CN103221993B (en) 2010-09-13 2011-09-13 Delivering and controlling streaming interactive media comprising rendered geometric, texture and lighting data
CN201611005881.1A Active CN107093201B (en) 2010-09-13 2011-09-13 Streaming interactive media including rendered geometry, texture and lighting data for transmission and control
CN202010662407.6A Pending CN111833424A (en) 2010-09-13 2011-09-13 Streaming interactive media including rendered geometry, texture and lighting data for transmission and control

Family Applications After (2)

Application Number Title Priority Date Filing Date
CN201611005881.1A Active CN107093201B (en) 2010-09-13 2011-09-13 Streaming interactive media including rendered geometry, texture and lighting data for transmission and control
CN202010662407.6A Pending CN111833424A (en) 2010-09-13 2011-09-13 Streaming interactive media including rendered geometry, texture and lighting data for transmission and control

Country Status (4)

Country Link
US (1) US9489762B2 (en)
EP (2) EP2617025B1 (en)
CN (3) CN103221993B (en)
WO (1) WO2012037129A2 (en)

Families Citing this family (64)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8874477B2 (en) 2005-10-04 2014-10-28 Steven Mark Hoffberg Multifactorial optimization system and method
US9177313B1 (en) * 2007-10-18 2015-11-03 Jpmorgan Chase Bank, N.A. System and method for issuing, circulating and trading financial instruments with smart features
US8381108B2 (en) * 2010-06-21 2013-02-19 Microsoft Corporation Natural user input for driving interactive stories
US9053562B1 (en) 2010-06-24 2015-06-09 Gregory S. Rabin Two dimensional to three dimensional moving image converter
US10109103B2 (en) * 2010-06-30 2018-10-23 Barry L. Jenkins Method of determining occluded ingress and egress routes using nav-cell to nav-cell visibility pre-computation
US10462499B2 (en) * 2012-10-31 2019-10-29 Outward, Inc. Rendering a modeled scene
EP2915038A4 (en) 2012-10-31 2016-06-29 Outward Inc Delivering virtualized content
US9164653B2 (en) 2013-03-15 2015-10-20 Inspace Technologies Limited Three-dimensional space for navigating objects connected in hierarchy
US9361665B2 (en) * 2013-11-27 2016-06-07 Google Inc. Methods and systems for viewing a three-dimensional (3D) virtual object
US10891780B2 (en) 2013-11-27 2021-01-12 Google Llc Methods and systems for viewing a three-dimensional (3D) virtual object
US9344733B2 (en) * 2013-12-27 2016-05-17 Samsung Electronics Co., Ltd. Feature-based cloud computing architecture for physics engine
JP2015191630A (en) * 2014-03-28 2015-11-02 富士通株式会社 Information processing device, change detection method and change detection program
US10154072B2 (en) * 2014-09-17 2018-12-11 Microsoft Technology Licensing, Llc Intelligent streaming of media content
WO2016049729A1 (en) * 2014-09-30 2016-04-07 Cae Inc. Rendering plausible images of 3d polygon meshes
US9691177B2 (en) 2014-12-12 2017-06-27 Umbra Software Ltd. Techniques for automatic occluder simplification using planar sections
US10347038B1 (en) 2015-02-20 2019-07-09 Amazon Technologies, Inc. Determining visibility in virtual environments
US10803089B1 (en) * 2015-02-20 2020-10-13 Amazon Technologies, Inc. Grid based pathfinding
US9616773B2 (en) 2015-05-11 2017-04-11 Uber Technologies, Inc. Detecting objects within a vehicle in connection with a service
US9836895B1 (en) * 2015-06-19 2017-12-05 Waymo Llc Simulating virtual objects
US10091542B1 (en) * 2015-09-04 2018-10-02 Adap.Tv, Inc. Systems and methods of dynamic optimization of data element utilization according to objectives
US10102549B1 (en) * 2015-09-02 2018-10-16 Millennial Media Llc Systems and methods of dynamic optimization of viewability rate utilizing pre-bid client-side detection
US10077984B2 (en) * 2015-09-25 2018-09-18 International Business Machines Corporation Indoor positioning system training
US10712160B2 (en) 2015-12-10 2020-07-14 Uatc, Llc Vehicle traction map for autonomous vehicles
US9841763B1 (en) 2015-12-16 2017-12-12 Uber Technologies, Inc. Predictive sensor array configuration system for an autonomous vehicle
US9840256B1 (en) 2015-12-16 2017-12-12 Uber Technologies, Inc. Predictive sensor array configuration system for an autonomous vehicle
US9990548B2 (en) 2016-03-09 2018-06-05 Uber Technologies, Inc. Traffic signal analysis system
US10026230B2 (en) * 2016-03-30 2018-07-17 Daqri, Llc Augmented point cloud for a visualization system and method
US10459087B2 (en) 2016-04-26 2019-10-29 Uber Technologies, Inc. Road registration differential GPS
US9672446B1 (en) * 2016-05-06 2017-06-06 Uber Technologies, Inc. Object detection for an autonomous vehicle
US9792029B1 (en) 2016-06-16 2017-10-17 Waygate, Inc. Authoring of real-time interactive computer graphics content for predictive bi-adaptive streaming
US10565786B1 (en) * 2016-06-30 2020-02-18 Google Llc Sensor placement interface
US10719083B2 (en) 2016-07-01 2020-07-21 Uatc, Llc Perception system for autonomous vehicle
US11526521B2 (en) * 2016-07-15 2022-12-13 Microsoft Technology Licensing, Llc Prefetching using dynamic user model to reduce latency
US10553029B1 (en) * 2016-09-30 2020-02-04 Amazon Technologies, Inc. Using reference-only decoding of non-viewed sections of a projected video
US10367645B2 (en) * 2016-10-26 2019-07-30 International Business Machines Corporation Proof-of-work for smart contracts on a blockchain
US10609356B1 (en) 2017-01-23 2020-03-31 Amazon Technologies, Inc. Using a temporal enhancement layer to encode and decode stereoscopic video content
US20190026207A1 (en) * 2017-07-19 2019-01-24 Vmware, Inc. Metric transmission
US10958747B2 (en) 2017-08-24 2021-03-23 Google Llc Digital component transmission
EP4177667A1 (en) 2017-09-01 2023-05-10 Magic Leap, Inc. Generating a new frame using rendered content and non-rendered content from a previous perspective
US10192353B1 (en) * 2017-10-10 2019-01-29 8i Limited Multiresolution surface representation and compression
WO2019086115A1 (en) * 2017-11-02 2019-05-09 MAX-PLANCK-Gesellschaft zur Förderung der Wissenschaften e.V. Real-time potentially visible set for streaming rendering
US10504251B1 (en) * 2017-12-13 2019-12-10 A9.Com, Inc. Determining a visual hull of an object
US10504280B2 (en) * 2018-01-10 2019-12-10 Qualcomm Incorporated Accelerated occlusion computation
CN108537872B (en) * 2018-03-07 2022-02-15 海信视像科技股份有限公司 Image rendering method, mobile device and cloud device
CN108510430A (en) * 2018-03-27 2018-09-07 长沙景嘉微电子股份有限公司 A kind of implementation method of resource-sharing in the GPU rendered based on piecemeal
CN110719497B (en) * 2018-07-12 2021-06-22 华为技术有限公司 Point cloud coding and decoding method and coder-decoder
CN109410332B (en) * 2018-09-17 2022-12-23 广西大学 Three-dimensional space geometric virtual model detail level cutting method based on point, line and surface
WO2020068878A1 (en) * 2018-09-24 2020-04-02 Magic Leap, Inc. Methods and systems for three-dimensional model sharing
KR102138977B1 (en) * 2018-10-10 2020-07-28 민코넷주식회사 System of Providing Gaming Video Using Cloud Computer
US10846042B2 (en) * 2018-10-31 2020-11-24 Hewlett Packard Enterprise Development Lp Adaptive rendering for untethered multi-user virtual reality
US11051206B2 (en) 2018-10-31 2021-06-29 Hewlett Packard Enterprise Development Lp Wi-fi optimization for untethered multi-user virtual reality
US11461942B2 (en) * 2018-12-21 2022-10-04 Koninklijke Kpn N.V. Generating and signaling transition between panoramic images
US11393097B2 (en) * 2019-01-08 2022-07-19 Qualcomm Incorporated Using light detection and ranging (LIDAR) to train camera and imaging radar deep learning networks
CN110047085B (en) * 2019-04-17 2023-03-31 泰山学院 Precise repair method for lung membrane adhesion nodule region aiming at lung CT image threshold segmentation result
US11315326B2 (en) * 2019-10-15 2022-04-26 At&T Intellectual Property I, L.P. Extended reality anchor caching based on viewport prediction
US11115688B2 (en) * 2019-12-16 2021-09-07 Netflix, Inc. Global approach to buffering media content
EP3883235A1 (en) 2020-03-17 2021-09-22 Aptiv Technologies Limited Camera control modules and methods
US11195024B1 (en) * 2020-07-10 2021-12-07 International Business Machines Corporation Context-aware action recognition by dual attention networks
US11895170B2 (en) * 2021-03-09 2024-02-06 Cisco Technology, Inc. Synchronicity for virtual reality/augmented reality interactive sessions in wireless networks
CN112995636B (en) * 2021-03-09 2022-03-25 浙江大学 360-degree virtual reality video transmission system based on edge calculation and active cache and parameter optimization method
CN113188520B (en) * 2021-04-30 2023-04-18 成都睿铂科技有限责任公司 Planning method and system for regional block surrounding type route and aerial photography method
CN113786615B (en) * 2021-09-28 2023-06-16 腾讯科技(深圳)有限公司 Interaction method, device and terminal
WO2023063835A1 (en) * 2021-10-12 2023-04-20 Victoria Link Limited Multi resolution subsampled saliency
CN116863100A (en) * 2022-03-28 2023-10-10 腾讯科技(深圳)有限公司 Grid model processing method, device, equipment and storage medium

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6259452B1 (en) * 1997-04-14 2001-07-10 Massachusetts Institute Of Technology Image drawing system and method with real-time occlusion culling
US6326964B1 (en) * 1995-08-04 2001-12-04 Microsoft Corporation Method for sorting 3D object geometry among image chunks for rendering in a layered graphics rendering system

Family Cites Families (22)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE69233717T2 (en) 1991-06-28 2008-10-30 Lim, Hong Lip, Darlington IMPROVEMENTS IN VISIBILITY CALCULATIONS FOR 3D CALCULATORS
US6219045B1 (en) 1995-11-13 2001-04-17 Worlds, Inc. Scalable virtual world chat client-server system
US6057847A (en) 1996-12-20 2000-05-02 Jenkins; Barry System and method of image generation and encoding using primitive reprojection
US6111582A (en) 1996-12-20 2000-08-29 Jenkins; Barry L. System and method of image generation and encoding using primitive reprojection
US6028608A (en) 1997-05-09 2000-02-22 Jenkins; Barry System and method of perception-based image generation and encoding
JP3383563B2 (en) * 1997-12-18 2003-03-04 富士通株式会社 Object movement simulation device
DE69841158D1 (en) * 1998-05-06 2009-10-29 Thomson Multimedia Sa Method of converting the image format
US6771264B1 (en) * 1998-08-20 2004-08-03 Apple Computer, Inc. Method and apparatus for performing tangent space lighting and bump mapping in a deferred shading graphics processor
US6636633B2 (en) 1999-05-03 2003-10-21 Intel Corporation Rendering of photorealistic computer graphics images
US6897863B2 (en) * 2001-11-30 2005-05-24 Caterpillar Inc System and method for hidden object removal
US6791549B2 (en) * 2001-12-21 2004-09-14 Vrcontext S.A. Systems and methods for simulating frames of complex virtual environments
US7348989B2 (en) 2003-03-07 2008-03-25 Arch Vision, Inc. Preparing digital images for display utilizing view-dependent texturing
US6933946B1 (en) 2003-05-07 2005-08-23 At&T Corp. Method for out-of core rendering of large 3D models
EP2408192A3 (en) 2004-04-16 2014-01-01 James A. Aman Multiple view compositing and object tracking system
JP4328311B2 (en) * 2005-04-14 2009-09-09 株式会社東芝 Method and program for creating multi-viewpoint image for 3D image display
CN100438406C (en) * 2006-01-23 2008-11-26 北京航空航天大学 Remote rendering based three-dimensional model network distribution method
DE102007033239A1 (en) * 2007-07-13 2009-01-15 Visumotion Gmbh Method for processing a spatial image
US9111285B2 (en) 2007-08-27 2015-08-18 Qurio Holdings, Inc. System and method for representing content, user presence and interaction within virtual world advertising environments
WO2009080946A2 (en) * 2007-12-07 2009-07-02 France Telecom Method of managing a set of virtual environment control entities, device, and corresponding computer program product
US20090289955A1 (en) 2008-05-22 2009-11-26 Yahoo! Inc. Reality overlay device
JP5238440B2 (en) * 2008-10-02 2013-07-17 株式会社東芝 Image display device and image display method
CN101527865B (en) * 2009-01-05 2010-09-01 清华大学 Projection type high-resolution multi-view auto-stereo display system

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6326964B1 (en) * 1995-08-04 2001-12-04 Microsoft Corporation Method for sorting 3D object geometry among image chunks for rendering in a layered graphics rendering system
US6259452B1 (en) * 1997-04-14 2001-07-10 Massachusetts Institute Of Technology Image drawing system and method with real-time occlusion culling

Also Published As

Publication number Publication date
EP3543958B1 (en) 2020-11-11
CN103221993A (en) 2013-07-24
CN107093201A (en) 2017-08-25
EP2617025A4 (en) 2016-06-29
WO2012037129A3 (en) 2012-08-09
US9489762B2 (en) 2016-11-08
WO2012037129A2 (en) 2012-03-22
EP2617025A2 (en) 2013-07-24
EP3543958A1 (en) 2019-09-25
US20130215115A1 (en) 2013-08-22
EP2617025B1 (en) 2019-05-08
CN111833424A (en) 2020-10-27
CN107093201B (en) 2021-02-12

Similar Documents

Publication Publication Date Title
CN103221993B (en) Delivering and controlling streaming interactive media comprising rendered geometric, texture and lighting data
US6538651B1 (en) Parametric geometric element definition and generation system and method
Anderson et al. Developing serious games for cultural heritage: a state-of-the-art review
US10109103B2 (en) Method of determining occluded ingress and egress routes using nav-cell to nav-cell visibility pre-computation
US20080231630A1 (en) Web Enabled Three-Dimensional Visualization
CN113781626B (en) Techniques to traverse data used in ray tracing
CN103080984A (en) System and method of from-region visibility determination and delta-pvs based content streaming using conservative linearized umbral event surfaces
US20120256915A1 (en) System and method of procedural visibility for interactive and broadcast streaming of entertainment, advertising, and tactical 3d graphical information using a visibility event codec
CN113808245B (en) Enhanced techniques for traversing ray tracing acceleration structures
CN113808241B (en) Hardware acceleration of ray traced primitives sharing vertices
Cohen-Or et al. Visibility streaming for network-based walkthroughs
Farias et al. Optimal path maps on the GPU
Paulin et al. Review and analysis of synthetic dataset generation methods and techniques for application in computer vision
Mulloni et al. Interactive walkthrough of large 3D models of buildings on mobile devices
Robles-Ortega et al. Efficient visibility determination in urban scenes considering terrain information
Rudomin et al. Gpu generation of large varied animated crowds
Zara et al. Virtual campeche: A web based virtual three-dimensional tour
Zara Concise Tour to the Virtual Old Prague.
Bukowski et al. Citywalk: A second generation walkthrough system
Sunar et al. Crowd rendering optimization for virtual heritage system
Koldaş Efficient visibility estimation for distributed virtual urban environments
Moreira et al. i-om: Intelligent optimization: For computer graphics and visualization
Rodrigues et al. A real time lighting technique for procedurally generated 2d isometric game terrains
Aliaga Automatically reducing and bounding geometric complexity by using images
Mehta Virtual reality applications in the field of architectural reconstructions

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant