WO2017052880A1 - Augmented reality with off-screen motion sensing - Google Patents

Augmented reality with off-screen motion sensing Download PDF

Info

Publication number
WO2017052880A1
WO2017052880A1 PCT/US2016/048018 US2016048018W WO2017052880A1 WO 2017052880 A1 WO2017052880 A1 WO 2017052880A1 US 2016048018 W US2016048018 W US 2016048018W WO 2017052880 A1 WO2017052880 A1 WO 2017052880A1
Authority
WO
WIPO (PCT)
Prior art keywords
effect
video
physical model
scene
signal
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.)
Ceased
Application number
PCT/US2016/048018
Other languages
French (fr)
Inventor
Glen J. Anderson
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.)
Intel Corp
Original Assignee
Intel Corp
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
Application filed by Intel Corp filed Critical Intel Corp
Publication of WO2017052880A1 publication Critical patent/WO2017052880A1/en
Anticipated expiration legal-status Critical
Ceased legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T19/00Manipulating three-dimensional [3D] models or images for computer graphics
    • G06T19/006Mixed reality
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/016Input arrangements with force or tactile feedback as computer generated output to the user
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/011Arrangements for interaction with the human body, e.g. for user immersion in virtual reality
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/16Sound input; Sound output
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/16Sound input; Sound output
    • G06F3/167Audio in a user interface, e.g. using voice commands for navigating, audio feedback
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/20Analysis of motion
    • G06T7/246Analysis of motion using feature-based methods, e.g. the tracking of corners or segments
    • G06T7/251Analysis of motion using feature-based methods, e.g. the tracking of corners or segments involving models
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B27/00Editing; Indexing; Addressing; Timing or synchronising; Monitoring; Measuring tape travel
    • G11B27/02Editing, e.g. varying the order of information signals recorded on, or reproduced from, record carriers
    • G11B27/031Electronic editing of digitised analogue information signals, e.g. audio or video signals
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/10Image acquisition modality
    • G06T2207/10016Video; Image sequence

Definitions

  • Embodiments generally relate to augmented reality. More particularly, embodiments relate to augmented reality with off-screen motion sensing.
  • Augmented reality (AR) applications may overlay video content with virtual and/or animated characters that interact with the environment shown in the video content. Such AR applications may be limited, however, to on-screen activity of the AR characters. Accordingly, the user experience may be suboptimal.
  • AR Augmented reality
  • FIGs. 1A and IB are illustrations of on-screen and off-screen activity, respectively, of an augmented reality object according to an embodiment
  • FIGs. 2 and 3 are flowcharts of examples of methods of controlling augmented reality settings according to embodiments
  • FIG. 4 is a block diagram of an example of an augmented reality architecture according to an embodiment
  • FIG. 5 is a block diagram of an example of a processor according to an embodiment.
  • FIG. 6 is a block diagram of an example of a computing system according to an embodiment. DESCRIPTION OF EMBODIMENTS
  • FIGs. 1A and IB an augmented reality (AR) scenario is shown in which a reproduction system 10 (e.g., smart phone) records a scene behind the reproduction system 10 (e.g., using a rear-facing camera, not shown) and presents the recorded scene as an AR video on a front-facing display 12 of the system 10.
  • the scene may include an actual scene and/or virtual scene (e.g., rendered against a "green screen").
  • the AR video may be enhanced with on-screen virtual and/or animated content such as, for example, a virtual object 16 (e.g., toy helicopter), wherein the virtual object 16 corresponds to a physical model 14 (FIG.
  • a virtual object 16 e.g., toy helicopter
  • the physical model 14 which may be any item used to represent any object, may be identified based on a fiducial marker 18 (e.g., QR/quick response code, bar code) applied to a visible surface of the physical model 14, a radio frequency identifier (RFID) tag coupled to the physical model 14 and/or the result of object recognition techniques (e.g., using a local and/or remote camera feed).
  • a fiducial marker 18 e.g., QR/quick response code, bar code
  • RFID radio frequency identifier
  • FIG. IB demonstrates that as the physical model 14 is moved to a position outside the scene being recorded, the system 10 may automatically remove the virtual object 16 from the AR video based on the new position of the physical model 14 may be generated.
  • "off-screen" effects such as, for example, visual effects (e.g., smoke, crash debris, bullets, etc.) and/or sound effects (e.g., blade "whosh", engine strain, crash noise) coming from the direction of the physical model 14.
  • the off-screen effects may include haptic effects such as vibratory representations of the physical model 14 drawing nearer to the field of view, olfactory effects such as burning smells, and so forth.
  • the off-screen effects may generally simulate actions by objects at positions outside the scene.
  • Modifying the AR video based on activity of the physical model 14 that takes place outside the scene represented in the AR video may significantly enhance the user experience.
  • a single model 14 is shown to facilitate discussion, multiple different models 14 may be used, wherein their respective off-screen effects mix with one another.
  • FIG. 2 shows a method 20 of controlling AR settings.
  • the method 20 may be implemented as a module or related component in a set of logic instructions stored in a non-transitory machine- or computer-readable storage medium such as random access memory (RAM), read only memory (ROM), programmable ROM (PROM), firmware, flash memory, etc., in configurable logic such as, for example, programmable logic arrays (PLAs), field programmable gate arrays (FPGAs), complex programmable logic devices (CPLDs), in fixed-functionality hardware logic using circuit technology such as, for example, application specific integrated circuit (ASIC), complementary metal oxide semiconductor (CMOS) or transistor-transistor logic (TTL) technology, or any combination thereof.
  • PLAs programmable logic arrays
  • FPGAs field programmable gate arrays
  • CPLDs complex programmable logic devices
  • ASIC application specific integrated circuit
  • CMOS complementary metal oxide semiconductor
  • TTL transistor-transistor logic
  • computer program code to carry out operations shown in the method 20 may be written in any combination of one or more programming languages, including an object oriented programming language such as JAVA, SMALLTALK, C++ or the like and conventional procedural programming languages, such as the "C" programming language or similar programming languages.
  • object oriented programming language such as JAVA, SMALLTALK, C++ or the like
  • conventional procedural programming languages such as the "C” programming language or similar programming languages.
  • Other transitory media such as, for example, propagated waves, may also be used to implement the method 20.
  • Illustrated processing block 22 provides for identifying a physical model of an object.
  • the physical model may be identified based on a local and/or remote camera feed using code scanning and/or object recognition techniques that facilitate detection of the physical model in the field of view of the camera(s) generating the feed.
  • Illustrated block 24 determines a position of the physical model relative to a scene represented in a video. The position may be determined based on one or more signals from, for example, the physical model (e.g., sensor array coupled to the physical model), a peripheral device (e.g., environmental -based sensors), a local sensor (e.g., sensor array coupled to the reproduction device/system), etc., or any combination thereof.
  • the physical model e.g., sensor array coupled to the physical model
  • a peripheral device e.g., environmental -based sensors
  • a local sensor e.g., sensor array coupled to the reproduction device/system
  • the off-screen effects may simulate an action by the object (e.g., vehicle crashing, character speaker) at the position outside the scene.
  • generating the off-screen effect may include adding a visual effect to the video (e.g., overlaying smoke and/or debris at the edge of the screen adjacent to the physical object), adding a sound effect to audio associated with the video (e.g., inserting directional sound in the audio), triggering a haptic effect via a reproduction device associated with the video (e.g., vibrating the reproduction device to simulate a collision), and so forth.
  • the off-screen effect may be selected from an event database that associates object/physical model positions, states and/or conditions with various AR effects. Table I below shows one example of a portion of such an event database.
  • the off-screen effect may be selected based on user input such as, for example, voice commands, gestures, gaze location, facial expressions, and so forth.
  • block 28 might include recognizing a particular voice command, searching the event database for the voice command and using the search results to generate the off-screen effect. If, on the other hand it is determined at block 26 that the position of the physical model is not outside the scene represented in the video, illustrated block 30 generates one or more on-screen effects corresponding to the object (e.g., including displaying the object in the scene).
  • FIG. 3 shows a more detailed method 32 of controlling AR settings. Portions of the method 32 may be implemented as a module or related component in a set of logic instructions stored in a non-transitory machine- or computer-readable storage medium such as RAM, ROM, PROM, firmware, flash memory, etc., in configurable logic such as, for example, PLAs, FPGAs, CPLDs, in fixed-functionality hardware logic using circuit technology such as, for example, ASIC, CMOS or TTL technology, or any combination thereof.
  • a non-transitory machine- or computer-readable storage medium such as RAM, ROM, PROM, firmware, flash memory, etc.
  • configurable logic such as, for example, PLAs, FPGAs, CPLDs
  • circuit technology such as, for example, ASIC, CMOS or TTL technology, or any combination thereof.
  • a user activates video recording at block 34, which triggers an initiation of an AR subsystem at block 36. Additionally, the system may initiate object detection and tracking at block 38. In response to the user powering on the physical model at block 40, illustrated block 42 detects the presence of the model. The system may also detect at block 44 whether the model is in-frame (e.g., inside the scene represented in the video recording) or out-of-frame (e.g., outside the scene represented in the video recording). An optional block 46 may determine the position of the physical model relative to the recording/viewing (e.g., reproduction) device.
  • Illustrated block 48 determines one or more AF effects for the current presence, in-frame status and/or relative position of the physical model. Block 48 may therefore involve accessing an event database that associates obj ect/physical model positions, states and/or conditions with various AR effects, as already discussed. In addition, the system may render the selected AR effects at block 50. The illustrated method 32 returns to block 44 if it is determined at block 52 that the presence of the physical model is still detected. Otherwise, the method 32 may terminate at block 54.
  • FIG. 4 shows an AR architecture in which a reproduction device 56 generally renders an AR video based on the position of a physical model 58 (58a-58c) of an object, wherein the components of the reproduction device 56 may be communicatively coupled to one another in order to accomplish the rendering.
  • the reproduction device 56 may function similarly to the reproduction system 10 (FIGs. 1A and IB) and the physical model 58 may function similarly to the physical model 14 (FIG. IB), already discussed.
  • the reproduction device 56 and/or the physical model 58 may perform one or more aspects of the method 20 (FIG. 2) and/or the method 32 (FIG. 3), already discussed.
  • the reproduction device 56 includes an AR apparatus 60 (60a-60c) having a model tracker 60a to identify the physical model 58 based on, for example, a fiducial marker 58b coupled to the physical model 58, an RFID tag coupled to the physical model 58, obj ect recognition techniques, etc., or any combination thereof.
  • an AR apparatus 60 60a-60c
  • model tracker 60a to identify the physical model 58 based on, for example, a fiducial marker 58b coupled to the physical model 58, an RFID tag coupled to the physical model 58, obj ect recognition techniques, etc., or any combination thereof.
  • the model tracker 60a may also determine the position of the physical model 58 relative to a scene represented in a video presented via one or more output devices 62 (e.g., display, vibratory motor, air conducting speakers, bone conducting speakers, olfactory generator).
  • the virtual position of the off-screen object may also be represented on the output device(s) 62.
  • stereo or surround sound speakers may enable the user perception of a directionality of the sound of the tracked obj ect in the audio-video stream.
  • a haptic motor may cause a vibration on the side of a viewing device that corresponds to the side of the tracked obj ect.
  • the position may be determined based on, for example, signal(s) (e.g., wireless transmissions) from a communications module 58a and/or sensor array 58c (e.g., ultrasound, microphone, vibration sensor, visual sensor, three-dimensional/3D camera, tactile sensor, conductance meter, force sensor, proximity sensor, Reed switch, biometric sensor, etc.) of the physical model 58, signal(s) (e.g., wired or wireless transmissions) from a peripheral device including one or more environment- based sensors 64, signal(s) from a local sensor in a sensor array 66 (e.g., ultrasound, microphone, vibration sensor, visual sensor, 3D camera, tactile sensor, conductance meter, force sensor, proximity sensor, Reed switch, biometric sensor), etc., or any combination thereof.
  • the reproduction device 56 uses a communications module 68 (e.g., having Bluetooth, near field communications/NFC, RFID capability, etc.) to interact with the environment-based sensors 64 and/or the communications module 58a of the physical model 58
  • the illustrated AR apparatus 60 also includes an effect manager 60b to select effects to enhance the viewing experience. More particularly, the effect manager 60b may generate off-screen effects that simulate actions by the object at the position of the physical model if the position of the physical model is outside the scene being rendered (e.g., in real-time). As already noted, the effect manager 60b may also and generate on-screen effects corresponding to the object if the position of the physical model is within the scene being rendered (e.g., in real-time). For example, the effect manager 60b may search an event database 60c for one or more visual effects to be added to the video via a video editor 70, the output devices 62 and/or an AR Tenderer 72.
  • the effect manager 60b may search the event database 60c for one or more sound effects to be added to audio associated with the video via an audio editor 74, the output devices 62 and/or the AR Tenderer 72. Moreover, the effect manager 60b may search the event database 60c for one or more haptic effects to be triggered on the reproduction device 56 via a haptic component 76, the output devices 62 and/or the AR Tenderer 72.
  • the haptic component 76 may generally cause the reproduction device 56 to vibrate.
  • the haptic component 76 may include a DC (direct current) motor rotatably attached to an off- center weight. Other haptic techniques may also be used.
  • the effect manager 60b may also include other components such as, for example, olfactory components (not shown), and so forth. In one example, the effect manager 60b also initiates the proper timing of the AR experiences.
  • the off-screen effect may be selected based on user input such as, for example, voice commands, gestures, gaze location, facial expressions, and so forth.
  • the reproduction device 56 may also include a voice recognition component 78 (e.g., middleware) to identify and recognize the voice commands, as well as a context engine 80 to determine/infer the current usage context of the reproduction device 56 based on the voice commands and/or other information such as one or more signals from the sensor array 66 (e.g., indicating motion, location, etc.).
  • the selection of the off-screen effects may take into consideration the outputs of the voice recognition component 78 and/or the context engine 80.
  • the physical model 58 might include an internal AR apparatus 60 that is able to determine the location of the physical model 58 as well as select the off-screen and/or on-screen effects to be used, wherein the reproduction device 56 may merely present the enhanced AR video/audio to the user.
  • FIG. 5 illustrates a processor core 200 according to one embodiment.
  • the processor core 200 may be the core for any type of processor, such as a microprocessor, an embedded processor, a digital signal processor (DSP), a network processor, or other device to execute code. Although only one processor core 200 is illustrated in FIG. 5, a processing element may altematively include more than one of the processor core 200 illustrated in FIG. 5.
  • the processor core 200 may be a single- threaded core or, for at least one embodiment, the processor core 200 may be multithreaded in that it may include more than one hardware thread context (or "logical processor") per core.
  • FIG. 5 also illustrates a memory 270 coupled to the processor core 200.
  • the memory 270 may be any of a wide variety of memories (including various layers of memory hierarchy) as are known or otherwise available to those of skill in the art.
  • the memory 270 may include one or more code 213 instruction(s) to be executed by the processor core 200, wherein the code 213 may implement aspects of the method 20 (FIG. 2) and/or the method 32 (FIG. 3), already discussed.
  • the processor core 200 follows a program sequence of instructions indicated by the code 213. Each instruction may enter a front end portion 210 and be processed by one or more decoders 220.
  • the decoder 220 may generate as its output a micro operation such as a fixed width micro operation in a predefined format, or may generate other instructions, microinstructions, or control signals which reflect the original code instruction.
  • the illustrated front end portion 210 also includes register renaming logic 225 and scheduling logic 230, which generally allocate resources and queue the operation corresponding to the convert instruction for execution.
  • the processor core 200 is shown including execution logic 250 having a set of execution units 255-1 through 255-N. Some embodiments may include a number of execution units dedicated to specific functions or sets of functions. Other embodiments may include only one execution unit or one execution unit that can perform a particular function.
  • the illustrated execution logic 250 performs the operations specified by code instructions.
  • back end logic 260 retires the instructions of the code 213.
  • the processor core 200 allows out of order execution but requires in order retirement of instructions.
  • Retirement logic 265 may take a variety of forms as known to those of skill in the art (e.g., re-order buffers or the like). In this manner, the processor core 200 is transformed during execution of the code 213, at least in terms of the output generated by the decoder, the hardware registers and tables utilized by the register renaming logic 225, and any registers (not shown) modified by the execution logic 250.
  • a processing element may include other elements on chip with the processor core 200.
  • a processing element may include memory control logic along with the processor core 200.
  • the processing element may include I/O control logic and/or may include I/O control logic integrated with memory control logic.
  • the processing element may also include one or more caches.
  • FIG. 6 shown is a block diagram of a computing system 1000 embodiment in accordance with an embodiment. Shown in FIG. 6 is a multiprocessor system 1000 that includes a first processing element 1070 and a second processing element 1080. While two processing elements 1070 and 1080 are shown, it is to be understood that an embodiment of the system 1000 may also include only one such processing element.
  • the system 1000 is illustrated as a point-to-point interconnect system, wherein the first processing element 1070 and the second processing element 1080 are coupled via a point-to-point interconnect 1050. It should be understood that any or all of the interconnects illustrated in FIG. 6 may be implemented as a multi-drop bus rather than point-to-point interconnect.
  • each of processing elements 1070 and 1080 may be multicore processors, including first and second processor cores (i.e., processor cores 1074a and 1074b and processor cores 1084a and 1084b). Such cores 1074a, 1074b,
  • 1084a, 1084b may be configured to execute instruction code in a manner similar to that discussed above in connection with FIG. 5.
  • Each processing element 1070, 1080 may include at least one shared cache
  • the shared cache 1896a, 1896b may store data (e.g., instructions) that are utilized by one or more components of the processor, such as the cores 1074a,
  • the shared cache 1896a, 1896b may locally cache data stored in a memory 1032, 1034 for faster access by components of the processor.
  • the shared cache 1896a, 1896b may locally cache data stored in a memory 1032, 1034 for faster access by components of the processor.
  • 1896b may include one or more mid-level caches, such as level 2 (L2), level 3 (L3), level 4 (L4), or other levels of cache, a last level cache (LLC), and/or combinations thereof.
  • L2 level 2
  • L3 level 3
  • L4 level 4
  • LLC last level cache
  • processing elements 1070, 1080 While shown with only two processing elements 1070, 1080, it is to be understood that the scope of the embodiments are not so limited. In other embodiments, one or more additional processing elements may be present in a given processor. Alternatively, one or more of processing elements 1070, 1080 may be an element other than a processor, such as an accelerator or a field programmable gate array. For example, additional processing element(s) may include additional processors(s) that are the same as a first processor 1070, additional processor(s) that are heterogeneous or asymmetric to processor a first processor 1070, accelerators (such as, e.g., graphics accelerators or digital signal processing (DSP) units), field programmable gate arrays, or any other processing element.
  • accelerators such as, e.g., graphics accelerators or digital signal processing (DSP) units
  • DSP digital signal processing
  • processing elements 1070, 1080 there can be a variety of differences between the processing elements 1070, 1080 in terms of a spectrum of metrics of merit including architectural, micro architectural, thermal, power consumption characteristics, and the like. These differences may effectively manifest themselves as asymmetry and heterogeneity amongst the processing elements 1070, 1080.
  • the various processing elements 1070, 1080 may reside in the same die package.
  • the first processing element 1070 may further include memory controller logic (MC) 1072 and point-to-point (P-P) interfaces 1076 and 1078.
  • the second processing element 1080 may include a MC 1082 and P-P interfaces 1086 and 1088.
  • MC's 1072 and 1082 couple the processors to respective memories, namely a memory 1032 and a memory 1034, which may be portions of main memory locally attached to the respective processors.
  • the MC 1072 and 1082 is illustrated as integrated into the processing elements 1070, 1080, for alternative embodiments the MC logic may be discrete logic outside the processing elements 1070, 1080 rather than integrated therein.
  • the first processing element 1070 and the second processing element 1080 may be coupled to an I/O subsystem 1090 via P-P interconnects 1076 1086, respectively.
  • the I/O subsystem 1090 includes P-P interfaces 1094 and 1098.
  • I/O subsystem 1090 includes an interface 1092 to couple I/O subsystem 1090 with a high performance graphics engine 1038.
  • bus 1049 may be used to couple the graphics engine 1038 to the I/O subsystem 1090.
  • a point-to-point interconnect may couple these components.
  • I/O subsystem 1090 may be coupled to a first bus 1016 via an interface 1096.
  • the first bus 1016 may be a Peripheral Component Interconnect (PCI) bus, or a bus such as a PCI Express bus or another third generation I/O interconnect bus, although the scope of the embodiments are not so limited.
  • PCI Peripheral Component Interconnect
  • various I/O devices 1014 may be coupled to the first bus 1016, along with a bus bridge 1018 which may couple the first bus 1016 to a second bus 1020.
  • the second bus 1020 may be a low pin count (LPC) bus.
  • Various devices may be coupled to the second bus 1020 including, for example, a keyboard/mouse 1012, communication device(s) 1026, and a data storage unit 1019 such as a disk drive or other mass storage device which may include code 1030, in one embodiment.
  • the illustrated code 1030 may implement the method 20 (FIG. 2) and/or the method 32 (FIG. 3), already discussed, and may be similar to the code 213 (FIG. 5), already discussed.
  • an audio I/O 1024 may be coupled to second bus 1020 and a battery port 1010 may receive power to supply the computing system 1000.
  • FIG. 6 may implement a multi-drop bus or another such communication topology.
  • the elements of FIG. 6 may alternatively be partitioned using more or fewer integrated chips than shown in FIG. 6.
  • Example 1 may include a content reproduction system comprising a battery port, a display to present a video, a speaker to output audio associated with the video, and an augmented reality apparatus including a model tracker to identify a physical model of an object and determine a position of the physical model relative to a scene represented in the video and an effect manager communicatively coupled to the model tracker, the effect manager to generate, if the position of the physical model is outside the scene, an effect that simulates an action by the object at the position outside the scene.
  • a content reproduction system comprising a battery port, a display to present a video, a speaker to output audio associated with the video
  • an augmented reality apparatus including a model tracker to identify a physical model of an object and determine a position of the physical model relative to a scene represented in the video and an effect manager communicatively coupled to the model tracker, the effect manager to generate, if the position of the physical model is outside the scene, an effect that simulates an action by the object at the position outside the scene.
  • Example 2 may include the system of Example 1, further including a local sensor, wherein the position is to be determined based on one or more of a first signal from the physical model, a second signal from a peripheral device or a third signal from the local sensor.
  • Example 3 may include the system of Example 1, wherein the effect manager includes a video editor to add a visual effect to the video.
  • Example 4 may include the system of Example 1, wherein the effect manager includes an audio editor to add a sound effect to audio associated with the video.
  • Example 5 may include the system of Example 1, wherein the effect manager includes a haptic component to trigger a haptic effect.
  • Example 6 may include the system of any one of Examples 1 to 5, wherein the effect manger is to select the effect from a database based on user input.
  • Example 7 may include an augmented reality apparatus comprising a model tracker to identify a physical model of an object and determine a position of the physical model relative to a scene represented in a video and an effect manager communicatively coupled to the model tracker, the effect manager to generate, if the position of the physical model is outside the scene, an effect that simulates an action by the object at the position outside the scene.
  • a model tracker to identify a physical model of an object and determine a position of the physical model relative to a scene represented in a video
  • an effect manager communicatively coupled to the model tracker, the effect manager to generate, if the position of the physical model is outside the scene, an effect that simulates an action by the object at the position outside the scene.
  • Example 8 may include the apparatus of Example 7, wherein the position is to be determined based on one or more of a first signal from the physical model, a second signal from a peripheral device or a third signal from a local sensor.
  • Example 9 may include the apparatus of Example 7, wherein the effect manager includes a video editor to add a visual effect to the video.
  • Example 10 may include the apparatus of Example 7, wherein the effect manager includes an audio editor to add a sound effect to audio associated with the video.
  • Example 11 may include the apparatus of Example 7, wherein the effect manager includes a haptic component to trigger a haptic effect via a reproduction device associated with the video.
  • Example 12 may include the apparatus of any one of Examples 7 to 11, wherein the effect manger is to select the effect from a database based on user input.
  • Example 13 may include a method of controlling augmented reality settings, comprising identifying a physical model of an object, determining a position of the physical model relative to a scene represented in a video, and generating, if the position of the physical model is outside the scene, an effect that simulates an action by the object at the position outside the scene.
  • Example 14 may include the method of Example 13, wherein the position is determined based on one or more of a first signal from the physical model, a second signal from a peripheral device or a third signal from a local sensor.
  • Example 15 may include the method of Example 13, wherein generating the off-screen effect includes adding a visual effect to the video.
  • Example 16 may include the method of Example 13, wherein generating the off-screen effect includes adding a sound effect to audio associated with the video.
  • Example 17 may include the method of Example 13, wherein generating the off-screen effect includes triggering a haptic effect via a reproduction device associated with the video.
  • Example 18 may include the method of any one of Examples 13 to 17, further including selecting the effect based on user input.
  • Example 19 may include at least one non-transitory computer readable storage medium comprising a set of instructions, which when executed by a computing device, cause the computing device to identify a physical model of an object, determine a position of the physical model relative to a scene represented in a video, and generate, if the position of the physical model is outside the scene, an effect that simulates an action by the object at the position outside the scene.
  • Example 20 may include the at least one computer readable storage medium of Example 19, wherein the position is to be determined based on one or more of a first signal from the physical model, a second signal from a peripheral device or a third signal from a local sensor.
  • Example 21 may include the at least one computer readable storage medium of Example 19, wherein the instructions, when executed, cause a computing device to add a visual effect to the video.
  • Example 22 may include the at least one computer readable storage medium of Example 19, wherein the instructions, when executed, cause a computing device to add a sound effect to audio associated with the video.
  • Example 23 may include the at least one computer readable storage medium of Example 19, wherein the instructions, when executed, cause a computing device to trigger a haptic effect via a reproduction device associated with the video.
  • Example 24 may include the at least one computer readable storage medium of any one of Examples 19 to 23, wherein the instructions, when executed, cause a computing device to select the effect from a database based on user input.
  • Example 25 may include an augmented reality apparatus comprising means for identifying a physical model of an object, means for determining a position of the physical model relative to a scene represented in a video, and means for generating, if the position of the physical model is outside the scene, an effect that simulates an action by the object at the position outside the scene.
  • Example 26 may include the apparatus of Example 25, wherein the position is to be determined based on one or more of a first signal from the physical model, a second signal from a peripheral device or a third signal from a local sensor.
  • Example 27 may include the apparatus of Example 25, wherein the means for generating the off-screen effect includes means for adding a visual effect to the video.
  • Example 28 may include the apparatus of Example 25, wherein the means for generating the off-screen effect includes means for adding a sound effect to audio associated with the video.
  • Example 29 may include the apparatus of Example 25, wherein the means for generating the off-screen effect includes means for triggering a haptic effect via a reproduction device associated with the video.
  • Example 30 may include the apparatus of any one of Examples 25 to 29, further including means for selecting the effect from a database based on user input.
  • techniques described herein may achieve model tracking in a variety of different ways depending on the circumstances. For example, the presence of a powered device (e.g., model) reporting its identifier (ID) may demonstrate that the model is in the vicinity of a radio (e.g., Bluetooth low energy /LE) in the reproduction device. Moreover, signal strength monitoring may also be used to track the physical model.
  • the model might emit an ultrasonic signal that is detected by the reproduction device, wherein the ultrasonic signal may indicate distance and whether the model is moving closer or farther away.
  • environment- based sensors may be mounted on walls or other structures in order to map the location of the model to a 3D position in space.
  • motion sensors in the model may enable the tracking of gestures (e.g., to change sound effects) even if the distance of the model from the reproduction device is unknown.
  • capacitive coupling may enable proximity tracking of models, particularly if the reproduction device is stationary. In such an example, as the user's hand and the model approach an electrostatically charged surface of the reproduction device, a sense of proximity may be estimated by the system.
  • Embodiments are applicable for use with all types of semiconductor integrated circuit (“IC") chips.
  • IC semiconductor integrated circuit
  • Examples of these IC chips include but are not limited to processors, controllers, chipset components, programmable logic arrays (PLAs), memory chips, network chips, systems on chip (SoCs), SSD/NAND controller ASICs, and the like.
  • PLAs programmable logic arrays
  • SoCs systems on chip
  • SSD/NAND controller ASICs solid state drive/NAND controller ASICs
  • signal conductor lines are represented with lines. Some may be different, to indicate more constituent signal paths, have a number label, to indicate a number of constituent signal paths, and/or have arrows at one or more ends, to indicate primary information flow direction. This, however, should not be construed in a limiting manner.
  • Any represented signal lines may actually comprise one or more signals that may travel in multiple directions and may be implemented with any suitable type of signal scheme, e.g., digital or analog lines implemented with differential pairs, optical fiber lines, and/or single-ended lines.
  • Example sizes/models/values/ranges may have been given, although embodiments are not limited to the same. As manufacturing techniques (e.g., photolithography) mature over time, it is expected that devices of smaller size could be manufactured.
  • well known power/ground connections to IC chips and other components may or may not be shown within the figures, for simplicity of illustration and discussion, and so as not to obscure certain aspects of the embodiments.
  • arrangements may be shown in block diagram form in order to avoid obscuring embodiments, and also in view of the fact that specifics with respect to implementation of such block diagram arrangements are highly dependent upon the computing system within which the embodiment is to be implemented, i.e., such specifics should be well within purview of one skilled in the art.
  • Coupled may be used herein to refer to any type of relationship, direct or indirect, between the components in question, and may apply to electrical, mechanical, fluid, optical, electromagnetic, electromechanical or other connections.
  • first”, second, etc. may be used herein only to facilitate discussion, and carry no particular temporal or chronological significance unless otherwise indicated.
  • a list of items j oined by the term "one or more of may mean any combination of the listed terms.
  • the phrases "one or more of A, B or C" may mean A; B; C; A and B; A and C; B and C; or A, B and C.

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Human Computer Interaction (AREA)
  • Multimedia (AREA)
  • Health & Medical Sciences (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • General Health & Medical Sciences (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Computer Graphics (AREA)
  • Computer Hardware Design (AREA)
  • Software Systems (AREA)
  • User Interface Of Digital Computer (AREA)

Abstract

Systems, apparatuses and methods may provide for identifying a physical model of an object and determining a position of the physical model relative to a scene in a video. Additionally, if the position of the physical model is outside the scene, an effect may be generated, wherein the effect simulates an action by the object at the position outside the scene. In one example, the positioned is determined based on one or more of a first signal from the physical model, a second signal from a peripheral device or a third signal from a local sensor.

Description

AUGMENTED REALITY WITH OFF-SCREEN MOTION SENSING
CROSS-REFERENCE TO RELATED APPLICATIONS
The present application claims the benefit of priority to U.S. Non- Provisional Patent Application No. 14/866,337 filed on September 25, 2015.
TECHNICAL FIELD
Embodiments generally relate to augmented reality. More particularly, embodiments relate to augmented reality with off-screen motion sensing.
BACKGROUND
Augmented reality (AR) applications may overlay video content with virtual and/or animated characters that interact with the environment shown in the video content. Such AR applications may be limited, however, to on-screen activity of the AR characters. Accordingly, the user experience may be suboptimal.
BRIEF DESCRIPTION OF THE DRAWINGS
The various advantages of the embodiments will become apparent to one skilled in the art by reading the following specification and appended claims, and by referencing the following drawings, in which:
FIGs. 1A and IB are illustrations of on-screen and off-screen activity, respectively, of an augmented reality object according to an embodiment;
FIGs. 2 and 3 are flowcharts of examples of methods of controlling augmented reality settings according to embodiments;
FIG. 4 is a block diagram of an example of an augmented reality architecture according to an embodiment;
FIG. 5 is a block diagram of an example of a processor according to an embodiment; and
FIG. 6 is a block diagram of an example of a computing system according to an embodiment. DESCRIPTION OF EMBODIMENTS
Turning now to FIGs. 1A and IB, an augmented reality (AR) scenario is shown in which a reproduction system 10 (e.g., smart phone) records a scene behind the reproduction system 10 (e.g., using a rear-facing camera, not shown) and presents the recorded scene as an AR video on a front-facing display 12 of the system 10. The scene may include an actual scene and/or virtual scene (e.g., rendered against a "green screen"). As best shown in FIG. 1A, the AR video may be enhanced with on-screen virtual and/or animated content such as, for example, a virtual object 16 (e.g., toy helicopter), wherein the virtual object 16 corresponds to a physical model 14 (FIG. IB) of the virtual object 16 being manipulated by a user. The physical model 14, which may be any item used to represent any object, may be identified based on a fiducial marker 18 (e.g., QR/quick response code, bar code) applied to a visible surface of the physical model 14, a radio frequency identifier (RFID) tag coupled to the physical model 14 and/or the result of object recognition techniques (e.g., using a local and/or remote camera feed).
FIG. IB demonstrates that as the physical model 14 is moved to a position outside the scene being recorded, the system 10 may automatically remove the virtual object 16 from the AR video based on the new position of the physical model 14 may be generated. As will be discussed in greater detail, "off-screen" effects such as, for example, visual effects (e.g., smoke, crash debris, bullets, etc.) and/or sound effects (e.g., blade "whosh", engine strain, crash noise) coming from the direction of the physical model 14. Additionally, the off-screen effects may include haptic effects such as vibratory representations of the physical model 14 drawing nearer to the field of view, olfactory effects such as burning smells, and so forth. Thus, the off-screen effects may generally simulate actions by objects at positions outside the scene. Modifying the AR video based on activity of the physical model 14 that takes place outside the scene represented in the AR video may significantly enhance the user experience. Although a single model 14 is shown to facilitate discussion, multiple different models 14 may be used, wherein their respective off-screen effects mix with one another.
FIG. 2 shows a method 20 of controlling AR settings. The method 20 may be implemented as a module or related component in a set of logic instructions stored in a non-transitory machine- or computer-readable storage medium such as random access memory (RAM), read only memory (ROM), programmable ROM (PROM), firmware, flash memory, etc., in configurable logic such as, for example, programmable logic arrays (PLAs), field programmable gate arrays (FPGAs), complex programmable logic devices (CPLDs), in fixed-functionality hardware logic using circuit technology such as, for example, application specific integrated circuit (ASIC), complementary metal oxide semiconductor (CMOS) or transistor-transistor logic (TTL) technology, or any combination thereof. For example, computer program code to carry out operations shown in the method 20 may be written in any combination of one or more programming languages, including an object oriented programming language such as JAVA, SMALLTALK, C++ or the like and conventional procedural programming languages, such as the "C" programming language or similar programming languages. Other transitory media such as, for example, propagated waves, may also be used to implement the method 20.
Illustrated processing block 22 provides for identifying a physical model of an object. The physical model may be identified based on a local and/or remote camera feed using code scanning and/or object recognition techniques that facilitate detection of the physical model in the field of view of the camera(s) generating the feed. Illustrated block 24 determines a position of the physical model relative to a scene represented in a video. The position may be determined based on one or more signals from, for example, the physical model (e.g., sensor array coupled to the physical model), a peripheral device (e.g., environmental -based sensors), a local sensor (e.g., sensor array coupled to the reproduction device/system), etc., or any combination thereof.
A determination may be made at block 26 as to whether the position of the physical model is outside the scene represented (e.g., in real-time) in the video. If so, one or more off-screen effects corresponding to the object may be generated at block 28. The off-screen effects may simulate an action by the object (e.g., vehicle crashing, character speaker) at the position outside the scene. As already noted, generating the off-screen effect may include adding a visual effect to the video (e.g., overlaying smoke and/or debris at the edge of the screen adjacent to the physical object), adding a sound effect to audio associated with the video (e.g., inserting directional sound in the audio), triggering a haptic effect via a reproduction device associated with the video (e.g., vibrating the reproduction device to simulate a collision), and so forth. The off-screen effect may be selected from an event database that associates object/physical model positions, states and/or conditions with various AR effects. Table I below shows one example of a portion of such an event database.
Figure imgf000005_0001
Table I
Additionally, the off-screen effect may be selected based on user input such as, for example, voice commands, gestures, gaze location, facial expressions, and so forth. Thus, block 28 might include recognizing a particular voice command, searching the event database for the voice command and using the search results to generate the off-screen effect. If, on the other hand it is determined at block 26 that the position of the physical model is not outside the scene represented in the video, illustrated block 30 generates one or more on-screen effects corresponding to the object (e.g., including displaying the object in the scene).
FIG. 3 shows a more detailed method 32 of controlling AR settings. Portions of the method 32 may be implemented as a module or related component in a set of logic instructions stored in a non-transitory machine- or computer-readable storage medium such as RAM, ROM, PROM, firmware, flash memory, etc., in configurable logic such as, for example, PLAs, FPGAs, CPLDs, in fixed-functionality hardware logic using circuit technology such as, for example, ASIC, CMOS or TTL technology, or any combination thereof.
In the illustrated example, a user activates video recording at block 34, which triggers an initiation of an AR subsystem at block 36. Additionally, the system may initiate object detection and tracking at block 38. In response to the user powering on the physical model at block 40, illustrated block 42 detects the presence of the model. The system may also detect at block 44 whether the model is in-frame (e.g., inside the scene represented in the video recording) or out-of-frame (e.g., outside the scene represented in the video recording). An optional block 46 may determine the position of the physical model relative to the recording/viewing (e.g., reproduction) device.
Illustrated block 48 determines one or more AF effects for the current presence, in-frame status and/or relative position of the physical model. Block 48 may therefore involve accessing an event database that associates obj ect/physical model positions, states and/or conditions with various AR effects, as already discussed. In addition, the system may render the selected AR effects at block 50. The illustrated method 32 returns to block 44 if it is determined at block 52 that the presence of the physical model is still detected. Otherwise, the method 32 may terminate at block 54.
FIG. 4 shows an AR architecture in which a reproduction device 56 generally renders an AR video based on the position of a physical model 58 (58a-58c) of an object, wherein the components of the reproduction device 56 may be communicatively coupled to one another in order to accomplish the rendering. Accordingly, the reproduction device 56 may function similarly to the reproduction system 10 (FIGs. 1A and IB) and the physical model 58 may function similarly to the physical model 14 (FIG. IB), already discussed. Moreover, the reproduction device 56 and/or the physical model 58 may perform one or more aspects of the method 20 (FIG. 2) and/or the method 32 (FIG. 3), already discussed. In the illustrated example, the reproduction device 56 includes an AR apparatus 60 (60a-60c) having a model tracker 60a to identify the physical model 58 based on, for example, a fiducial marker 58b coupled to the physical model 58, an RFID tag coupled to the physical model 58, obj ect recognition techniques, etc., or any combination thereof.
The model tracker 60a may also determine the position of the physical model 58 relative to a scene represented in a video presented via one or more output devices 62 (e.g., display, vibratory motor, air conducting speakers, bone conducting speakers, olfactory generator). The virtual position of the off-screen object may also be represented on the output device(s) 62. For example, stereo or surround sound speakers may enable the user perception of a directionality of the sound of the tracked obj ect in the audio-video stream. In another example, a haptic motor may cause a vibration on the side of a viewing device that corresponds to the side of the tracked obj ect.
The position may be determined based on, for example, signal(s) (e.g., wireless transmissions) from a communications module 58a and/or sensor array 58c (e.g., ultrasound, microphone, vibration sensor, visual sensor, three-dimensional/3D camera, tactile sensor, conductance meter, force sensor, proximity sensor, Reed switch, biometric sensor, etc.) of the physical model 58, signal(s) (e.g., wired or wireless transmissions) from a peripheral device including one or more environment- based sensors 64, signal(s) from a local sensor in a sensor array 66 (e.g., ultrasound, microphone, vibration sensor, visual sensor, 3D camera, tactile sensor, conductance meter, force sensor, proximity sensor, Reed switch, biometric sensor), etc., or any combination thereof. In one example, the reproduction device 56 uses a communications module 68 (e.g., having Bluetooth, near field communications/NFC, RFID capability, etc.) to interact with the environment-based sensors 64 and/or the communications module 58a of the physical model 58.
The illustrated AR apparatus 60 also includes an effect manager 60b to select effects to enhance the viewing experience. More particularly, the effect manager 60b may generate off-screen effects that simulate actions by the object at the position of the physical model if the position of the physical model is outside the scene being rendered (e.g., in real-time). As already noted, the effect manager 60b may also and generate on-screen effects corresponding to the object if the position of the physical model is within the scene being rendered (e.g., in real-time). For example, the effect manager 60b may search an event database 60c for one or more visual effects to be added to the video via a video editor 70, the output devices 62 and/or an AR Tenderer 72. Additionally, the effect manager 60b may search the event database 60c for one or more sound effects to be added to audio associated with the video via an audio editor 74, the output devices 62 and/or the AR Tenderer 72. Moreover, the effect manager 60b may search the event database 60c for one or more haptic effects to be triggered on the reproduction device 56 via a haptic component 76, the output devices 62 and/or the AR Tenderer 72. The haptic component 76 may generally cause the reproduction device 56 to vibrate. For example, the haptic component 76 may include a DC (direct current) motor rotatably attached to an off- center weight. Other haptic techniques may also be used. The effect manager 60b may also include other components such as, for example, olfactory components (not shown), and so forth. In one example, the effect manager 60b also initiates the proper timing of the AR experiences.
As already noted, the off-screen effect may be selected based on user input such as, for example, voice commands, gestures, gaze location, facial expressions, and so forth. In this regard, the reproduction device 56 may also include a voice recognition component 78 (e.g., middleware) to identify and recognize the voice commands, as well as a context engine 80 to determine/infer the current usage context of the reproduction device 56 based on the voice commands and/or other information such as one or more signals from the sensor array 66 (e.g., indicating motion, location, etc.). Thus, the selection of the off-screen effects (as well as on-screen effects), may take into consideration the outputs of the voice recognition component 78 and/or the context engine 80.
One or more of the components of the reproduction device 56 may altematively reside in the physical model 58. For example, the physical model 58 might include an internal AR apparatus 60 that is able to determine the location of the physical model 58 as well as select the off-screen and/or on-screen effects to be used, wherein the reproduction device 56 may merely present the enhanced AR video/audio to the user.
FIG. 5 illustrates a processor core 200 according to one embodiment. The processor core 200 may be the core for any type of processor, such as a microprocessor, an embedded processor, a digital signal processor (DSP), a network processor, or other device to execute code. Although only one processor core 200 is illustrated in FIG. 5, a processing element may altematively include more than one of the processor core 200 illustrated in FIG. 5. The processor core 200 may be a single- threaded core or, for at least one embodiment, the processor core 200 may be multithreaded in that it may include more than one hardware thread context (or "logical processor") per core.
FIG. 5 also illustrates a memory 270 coupled to the processor core 200. The memory 270 may be any of a wide variety of memories (including various layers of memory hierarchy) as are known or otherwise available to those of skill in the art. The memory 270 may include one or more code 213 instruction(s) to be executed by the processor core 200, wherein the code 213 may implement aspects of the method 20 (FIG. 2) and/or the method 32 (FIG. 3), already discussed. The processor core 200 follows a program sequence of instructions indicated by the code 213. Each instruction may enter a front end portion 210 and be processed by one or more decoders 220. The decoder 220 may generate as its output a micro operation such as a fixed width micro operation in a predefined format, or may generate other instructions, microinstructions, or control signals which reflect the original code instruction. The illustrated front end portion 210 also includes register renaming logic 225 and scheduling logic 230, which generally allocate resources and queue the operation corresponding to the convert instruction for execution.
The processor core 200 is shown including execution logic 250 having a set of execution units 255-1 through 255-N. Some embodiments may include a number of execution units dedicated to specific functions or sets of functions. Other embodiments may include only one execution unit or one execution unit that can perform a particular function. The illustrated execution logic 250 performs the operations specified by code instructions.
After completion of execution of the operations specified by the code instructions, back end logic 260 retires the instructions of the code 213. In one embodiment, the processor core 200 allows out of order execution but requires in order retirement of instructions. Retirement logic 265 may take a variety of forms as known to those of skill in the art (e.g., re-order buffers or the like). In this manner, the processor core 200 is transformed during execution of the code 213, at least in terms of the output generated by the decoder, the hardware registers and tables utilized by the register renaming logic 225, and any registers (not shown) modified by the execution logic 250.
Although not illustrated in FIG. 5, a processing element may include other elements on chip with the processor core 200. For example, a processing element may include memory control logic along with the processor core 200. The processing element may include I/O control logic and/or may include I/O control logic integrated with memory control logic. The processing element may also include one or more caches.
Referring now to FIG. 6, shown is a block diagram of a computing system 1000 embodiment in accordance with an embodiment. Shown in FIG. 6 is a multiprocessor system 1000 that includes a first processing element 1070 and a second processing element 1080. While two processing elements 1070 and 1080 are shown, it is to be understood that an embodiment of the system 1000 may also include only one such processing element.
The system 1000 is illustrated as a point-to-point interconnect system, wherein the first processing element 1070 and the second processing element 1080 are coupled via a point-to-point interconnect 1050. It should be understood that any or all of the interconnects illustrated in FIG. 6 may be implemented as a multi-drop bus rather than point-to-point interconnect.
As shown in FIG. 6, each of processing elements 1070 and 1080 may be multicore processors, including first and second processor cores (i.e., processor cores 1074a and 1074b and processor cores 1084a and 1084b). Such cores 1074a, 1074b,
1084a, 1084b may be configured to execute instruction code in a manner similar to that discussed above in connection with FIG. 5.
Each processing element 1070, 1080 may include at least one shared cache
1896a, 1896b. The shared cache 1896a, 1896b may store data (e.g., instructions) that are utilized by one or more components of the processor, such as the cores 1074a,
1074b and 1084a, 1084b, respectively. For example, the shared cache 1896a, 1896b may locally cache data stored in a memory 1032, 1034 for faster access by components of the processor. In one or more embodiments, the shared cache 1896a,
1896b may include one or more mid-level caches, such as level 2 (L2), level 3 (L3), level 4 (L4), or other levels of cache, a last level cache (LLC), and/or combinations thereof.
While shown with only two processing elements 1070, 1080, it is to be understood that the scope of the embodiments are not so limited. In other embodiments, one or more additional processing elements may be present in a given processor. Alternatively, one or more of processing elements 1070, 1080 may be an element other than a processor, such as an accelerator or a field programmable gate array. For example, additional processing element(s) may include additional processors(s) that are the same as a first processor 1070, additional processor(s) that are heterogeneous or asymmetric to processor a first processor 1070, accelerators (such as, e.g., graphics accelerators or digital signal processing (DSP) units), field programmable gate arrays, or any other processing element. There can be a variety of differences between the processing elements 1070, 1080 in terms of a spectrum of metrics of merit including architectural, micro architectural, thermal, power consumption characteristics, and the like. These differences may effectively manifest themselves as asymmetry and heterogeneity amongst the processing elements 1070, 1080. For at least one embodiment, the various processing elements 1070, 1080 may reside in the same die package.
The first processing element 1070 may further include memory controller logic (MC) 1072 and point-to-point (P-P) interfaces 1076 and 1078. Similarly, the second processing element 1080 may include a MC 1082 and P-P interfaces 1086 and 1088. As shown in FIG. 6, MC's 1072 and 1082 couple the processors to respective memories, namely a memory 1032 and a memory 1034, which may be portions of main memory locally attached to the respective processors. While the MC 1072 and 1082 is illustrated as integrated into the processing elements 1070, 1080, for alternative embodiments the MC logic may be discrete logic outside the processing elements 1070, 1080 rather than integrated therein.
The first processing element 1070 and the second processing element 1080 may be coupled to an I/O subsystem 1090 via P-P interconnects 1076 1086, respectively. As shown in FIG. 6, the I/O subsystem 1090 includes P-P interfaces 1094 and 1098. Furthermore, I/O subsystem 1090 includes an interface 1092 to couple I/O subsystem 1090 with a high performance graphics engine 1038. In one embodiment, bus 1049 may be used to couple the graphics engine 1038 to the I/O subsystem 1090. Alternately, a point-to-point interconnect may couple these components.
In turn, I/O subsystem 1090 may be coupled to a first bus 1016 via an interface 1096. In one embodiment, the first bus 1016 may be a Peripheral Component Interconnect (PCI) bus, or a bus such as a PCI Express bus or another third generation I/O interconnect bus, although the scope of the embodiments are not so limited.
As shown in FIG. 6, various I/O devices 1014 (e.g., speakers, cameras, sensors) may be coupled to the first bus 1016, along with a bus bridge 1018 which may couple the first bus 1016 to a second bus 1020. In one embodiment, the second bus 1020 may be a low pin count (LPC) bus. Various devices may be coupled to the second bus 1020 including, for example, a keyboard/mouse 1012, communication device(s) 1026, and a data storage unit 1019 such as a disk drive or other mass storage device which may include code 1030, in one embodiment. The illustrated code 1030 may implement the method 20 (FIG. 2) and/or the method 32 (FIG. 3), already discussed, and may be similar to the code 213 (FIG. 5), already discussed. Further, an audio I/O 1024 may be coupled to second bus 1020 and a battery port 1010 may receive power to supply the computing system 1000.
Note that other embodiments are contemplated. For example, instead of the point-to-point architecture of FIG. 6, a system may implement a multi-drop bus or another such communication topology. Also, the elements of FIG. 6 may alternatively be partitioned using more or fewer integrated chips than shown in FIG. 6.
Additional Notes and Examples:
Example 1 may include a content reproduction system comprising a battery port, a display to present a video, a speaker to output audio associated with the video, and an augmented reality apparatus including a model tracker to identify a physical model of an object and determine a position of the physical model relative to a scene represented in the video and an effect manager communicatively coupled to the model tracker, the effect manager to generate, if the position of the physical model is outside the scene, an effect that simulates an action by the object at the position outside the scene.
Example 2 may include the system of Example 1, further including a local sensor, wherein the position is to be determined based on one or more of a first signal from the physical model, a second signal from a peripheral device or a third signal from the local sensor.
Example 3 may include the system of Example 1, wherein the effect manager includes a video editor to add a visual effect to the video.
Example 4 may include the system of Example 1, wherein the effect manager includes an audio editor to add a sound effect to audio associated with the video.
Example 5 may include the system of Example 1, wherein the effect manager includes a haptic component to trigger a haptic effect.
Example 6 may include the system of any one of Examples 1 to 5, wherein the effect manger is to select the effect from a database based on user input.
Example 7 may include an augmented reality apparatus comprising a model tracker to identify a physical model of an object and determine a position of the physical model relative to a scene represented in a video and an effect manager communicatively coupled to the model tracker, the effect manager to generate, if the position of the physical model is outside the scene, an effect that simulates an action by the object at the position outside the scene.
Example 8 may include the apparatus of Example 7, wherein the position is to be determined based on one or more of a first signal from the physical model, a second signal from a peripheral device or a third signal from a local sensor.
Example 9 may include the apparatus of Example 7, wherein the effect manager includes a video editor to add a visual effect to the video. Example 10 may include the apparatus of Example 7, wherein the effect manager includes an audio editor to add a sound effect to audio associated with the video.
Example 11 may include the apparatus of Example 7, wherein the effect manager includes a haptic component to trigger a haptic effect via a reproduction device associated with the video.
Example 12 may include the apparatus of any one of Examples 7 to 11, wherein the effect manger is to select the effect from a database based on user input.
Example 13 may include a method of controlling augmented reality settings, comprising identifying a physical model of an object, determining a position of the physical model relative to a scene represented in a video, and generating, if the position of the physical model is outside the scene, an effect that simulates an action by the object at the position outside the scene.
Example 14 may include the method of Example 13, wherein the position is determined based on one or more of a first signal from the physical model, a second signal from a peripheral device or a third signal from a local sensor.
Example 15 may include the method of Example 13, wherein generating the off-screen effect includes adding a visual effect to the video.
Example 16 may include the method of Example 13, wherein generating the off-screen effect includes adding a sound effect to audio associated with the video.
Example 17 may include the method of Example 13, wherein generating the off-screen effect includes triggering a haptic effect via a reproduction device associated with the video.
Example 18 may include the method of any one of Examples 13 to 17, further including selecting the effect based on user input.
Example 19 may include at least one non-transitory computer readable storage medium comprising a set of instructions, which when executed by a computing device, cause the computing device to identify a physical model of an object, determine a position of the physical model relative to a scene represented in a video, and generate, if the position of the physical model is outside the scene, an effect that simulates an action by the object at the position outside the scene.
Example 20 may include the at least one computer readable storage medium of Example 19, wherein the position is to be determined based on one or more of a first signal from the physical model, a second signal from a peripheral device or a third signal from a local sensor.
Example 21 may include the at least one computer readable storage medium of Example 19, wherein the instructions, when executed, cause a computing device to add a visual effect to the video.
Example 22 may include the at least one computer readable storage medium of Example 19, wherein the instructions, when executed, cause a computing device to add a sound effect to audio associated with the video.
Example 23 may include the at least one computer readable storage medium of Example 19, wherein the instructions, when executed, cause a computing device to trigger a haptic effect via a reproduction device associated with the video.
Example 24 may include the at least one computer readable storage medium of any one of Examples 19 to 23, wherein the instructions, when executed, cause a computing device to select the effect from a database based on user input.
Example 25 may include an augmented reality apparatus comprising means for identifying a physical model of an object, means for determining a position of the physical model relative to a scene represented in a video, and means for generating, if the position of the physical model is outside the scene, an effect that simulates an action by the object at the position outside the scene.
Example 26 may include the apparatus of Example 25, wherein the position is to be determined based on one or more of a first signal from the physical model, a second signal from a peripheral device or a third signal from a local sensor.
Example 27 may include the apparatus of Example 25, wherein the means for generating the off-screen effect includes means for adding a visual effect to the video.
Example 28 may include the apparatus of Example 25, wherein the means for generating the off-screen effect includes means for adding a sound effect to audio associated with the video.
Example 29 may include the apparatus of Example 25, wherein the means for generating the off-screen effect includes means for triggering a haptic effect via a reproduction device associated with the video.
Example 30 may include the apparatus of any one of Examples 25 to 29, further including means for selecting the effect from a database based on user input. Thus, techniques described herein may achieve model tracking in a variety of different ways depending on the circumstances. For example, the presence of a powered device (e.g., model) reporting its identifier (ID) may demonstrate that the model is in the vicinity of a radio (e.g., Bluetooth low energy /LE) in the reproduction device. Moreover, signal strength monitoring may also be used to track the physical model. In another example, the model might emit an ultrasonic signal that is detected by the reproduction device, wherein the ultrasonic signal may indicate distance and whether the model is moving closer or farther away. Additionally, environment- based sensors may be mounted on walls or other structures in order to map the location of the model to a 3D position in space. In yet another example, motion sensors in the model may enable the tracking of gestures (e.g., to change sound effects) even if the distance of the model from the reproduction device is unknown. Moreover, capacitive coupling may enable proximity tracking of models, particularly if the reproduction device is stationary. In such an example, as the user's hand and the model approach an electrostatically charged surface of the reproduction device, a sense of proximity may be estimated by the system.
Embodiments are applicable for use with all types of semiconductor integrated circuit ("IC") chips. Examples of these IC chips include but are not limited to processors, controllers, chipset components, programmable logic arrays (PLAs), memory chips, network chips, systems on chip (SoCs), SSD/NAND controller ASICs, and the like. In addition, in some of the drawings, signal conductor lines are represented with lines. Some may be different, to indicate more constituent signal paths, have a number label, to indicate a number of constituent signal paths, and/or have arrows at one or more ends, to indicate primary information flow direction. This, however, should not be construed in a limiting manner. Rather, such added detail may be used in connection with one or more exemplary embodiments to facilitate easier understanding of a circuit. Any represented signal lines, whether or not having additional information, may actually comprise one or more signals that may travel in multiple directions and may be implemented with any suitable type of signal scheme, e.g., digital or analog lines implemented with differential pairs, optical fiber lines, and/or single-ended lines.
Example sizes/models/values/ranges may have been given, although embodiments are not limited to the same. As manufacturing techniques (e.g., photolithography) mature over time, it is expected that devices of smaller size could be manufactured. In addition, well known power/ground connections to IC chips and other components may or may not be shown within the figures, for simplicity of illustration and discussion, and so as not to obscure certain aspects of the embodiments. Further, arrangements may be shown in block diagram form in order to avoid obscuring embodiments, and also in view of the fact that specifics with respect to implementation of such block diagram arrangements are highly dependent upon the computing system within which the embodiment is to be implemented, i.e., such specifics should be well within purview of one skilled in the art. Where specific details (e.g., circuits) are set forth in order to describe example embodiments, it should be apparent to one skilled in the art that embodiments can be practiced without, or with variation of, these specific details. The description is thus to be regarded as illustrative instead of limiting.
The term "coupled" may be used herein to refer to any type of relationship, direct or indirect, between the components in question, and may apply to electrical, mechanical, fluid, optical, electromagnetic, electromechanical or other connections. In addition, the terms "first", "second", etc. may be used herein only to facilitate discussion, and carry no particular temporal or chronological significance unless otherwise indicated.
As used in this application and in the claims, a list of items j oined by the term "one or more of may mean any combination of the listed terms. For example, the phrases "one or more of A, B or C" may mean A; B; C; A and B; A and C; B and C; or A, B and C.
Those skilled in the art will appreciate from the foregoing description that the broad techniques of the embodiments can be implemented in a variety of forms. Therefore, while the embodiments have been described in connection with particular examples thereof, the true scope of the embodiments should not be so limited since other modifications will become apparent to the skilled practitioner upon a study of the drawings, specification, and following claims.

Claims

CLAIMS We claim:
1. A content reproduction system comprising:
a battery port;
a display to present a video; and
an augmented reality apparatus including,
a model tracker to identify a physical model of an object and determine a position of the physical model relative to a scene represented in the video, and
an effect manager communicatively coupled to the model tracker, the effect manager to generate, if the position of the physical model is outside the scene, an effect that simulates an action by the obj ect at the position outside the scene.
2. The system of claim 1, further including a local sensor, wherein the position is to be determined based on one or more of a first signal from the physical model, a second signal from a peripheral device or a third signal from the local sensor.
3. The system of claim 1, wherein the effect manager includes a video editor to add a visual effect to the video.
4. The system of claim 1, wherein the effect manager includes an audio editor to add a sound effect to audio associated with the video.
5. The system of claim 1, wherein the effect manager includes a haptic component to trigger a haptic effect.
6. The system of any one of claims 1 to 5, wherein the effect manger is to select the effect from a database based on user input.
7. An augmented reality apparatus comprising:
a model tracker to identify a physical model of an object and determine a position of the physical model relative to a scene represented in a video; and
an effect manager communicatively coupled to the model tracker, the effect manager to generate, if the position of the physical model is outside the scene, an effect that simulates an action by the object at the position outside the scene.
8. The apparatus of claim 7, wherein the position is to be determined based on one or more of a first signal from the physical model, a second signal from a peripheral device or a third signal from a local sensor.
9. The apparatus of claim 7, wherein the effect manager includes a video editor to add a visual effect to the video.
10. The apparatus of claim 7, wherein the effect manager includes an audio editor to add a sound effect to audio associated with the video.
11. The apparatus of claim 7, wherein the effect manager includes a haptic component to trigger a haptic effect via a reproduction device associated with the video.
12. The apparatus of any one of claims 7 to 1 1, wherein the effect manger is to select the effect from a database based on user input.
13. A method of controlling augmented reality settings, comprising:
identifying a physical model of an obj ect;
determining a position of the physical model relative to a scene represented in a video; and
generating, if the position of the physical model is outside the scene, an effect that simulates an action by the object at the position outside the scene.
14. The method of claim 13, wherein the position is determined based on one or more of a first signal from the physical model, a second signal from a peripheral device or a third signal from a local sensor.
15. The method of claim 13, wherein generating the off-screen effect includes adding a visual effect to the video.
16. The method of claim 13, wherein generating the off-screen effect includes adding a sound effect to audio associated with the video.
17. The method of claim 13, wherein generating the off-screen effect includes triggering a haptic effect via a reproduction device associated with the video.
18. The method of any one of claims 13 to 17, further including selecting the effect from a database based on user input.
19. At least one computer readable storage medium comprising a set of instructions, which when executed by a computing device, cause the computing device to:
identify a physical model of an object;
determine a position of the physical model relative to a scene represented in a video; and
generate, if the position of the physical model is outside the scene, an effect that simulates an action by the object at the position outside the scene.
20. The at least one computer readable storage medium of claim 19, wherein the position is to be determined based on one or more of a first signal from the physical model, a second signal from a peripheral device or a third signal from a local sensor.
21. The at least one computer readable storage medium of claim 19, wherein the instructions, when executed, cause a computing device to add a visual effect to the video.
22. The at least one computer readable storage medium of claim 19, wherein the instructions, when executed, cause a computing device to add a sound effect to audio associated with the video.
23. The at least one computer readable storage medium of claim 19, wherein the instructions, when executed, cause a computing device to trigger a haptic effect via a reproduction device associated with the video.
24. The at least one computer readable storage medium of any one of claims 19 to 23, wherein the instructions, when executed, cause a computing device to select the effect from a database based on user input.
25. An augmented reality apparatus comprising means for performing the method of any one of claims 13 to 17.
PCT/US2016/048018 2015-09-25 2016-08-22 Augmented reality with off-screen motion sensing Ceased WO2017052880A1 (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US14/866,337 2015-09-25
US14/866,337 US20170092001A1 (en) 2015-09-25 2015-09-25 Augmented reality with off-screen motion sensing

Publications (1)

Publication Number Publication Date
WO2017052880A1 true WO2017052880A1 (en) 2017-03-30

Family

ID=58387231

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/US2016/048018 Ceased WO2017052880A1 (en) 2015-09-25 2016-08-22 Augmented reality with off-screen motion sensing

Country Status (2)

Country Link
US (1) US20170092001A1 (en)
WO (1) WO2017052880A1 (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113412471A (en) * 2019-02-08 2021-09-17 苹果公司 Object positioning and movement in three-dimensional content

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10847186B1 (en) * 2019-04-30 2020-11-24 Sony Interactive Entertainment Inc. Video tagging by correlating visual features to sound tags
US11694084B2 (en) 2020-04-14 2023-07-04 Sony Interactive Entertainment Inc. Self-supervised AI-assisted sound effect recommendation for silent video
KR20210114059A (en) * 2020-06-30 2021-09-17 바이두 온라인 네트웍 테크놀러지 (베이징) 캄파니 리미티드 Video processing methods, devices, electronic devices and storage media
CN112348968B (en) * 2020-11-06 2023-04-25 北京市商汤科技开发有限公司 Display method and device in augmented reality scene, electronic equipment and storage medium
CN112348969B (en) * 2020-11-06 2023-04-25 北京市商汤科技开发有限公司 Display method and device in augmented reality scene, electronic equipment and storage medium
US12487793B2 (en) * 2021-07-23 2025-12-02 Beijing Honor Device Co., Ltd. Audio playback method, failure detection method for screen sound production component, and electronic device

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20090322671A1 (en) * 2008-06-04 2009-12-31 Cybernet Systems Corporation Touch screen augmented reality system and method
US20130303285A1 (en) * 2012-05-11 2013-11-14 Sony Computer Entertainment Europe Limited Apparatus and method for augmented reality
US20130307875A1 (en) * 2012-02-08 2013-11-21 Glen J. Anderson Augmented reality creation using a real scene
US20140028714A1 (en) * 2012-07-26 2014-01-30 Qualcomm Incorporated Maintaining Continuity of Augmentations
US20140267404A1 (en) * 2013-03-15 2014-09-18 Disney Enterprises, Inc. Augmented reality device with predefined object data

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8009022B2 (en) * 2009-05-29 2011-08-30 Microsoft Corporation Systems and methods for immersive interaction with virtual objects
US20110246276A1 (en) * 2010-04-02 2011-10-06 Richard Ross Peters Augmented- reality marketing with virtual coupon
US9892560B2 (en) * 2014-09-11 2018-02-13 Nant Holdings Ip, Llc Marker-based augmented reality authoring tools

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20090322671A1 (en) * 2008-06-04 2009-12-31 Cybernet Systems Corporation Touch screen augmented reality system and method
US20130307875A1 (en) * 2012-02-08 2013-11-21 Glen J. Anderson Augmented reality creation using a real scene
US20130303285A1 (en) * 2012-05-11 2013-11-14 Sony Computer Entertainment Europe Limited Apparatus and method for augmented reality
US20140028714A1 (en) * 2012-07-26 2014-01-30 Qualcomm Incorporated Maintaining Continuity of Augmentations
US20140267404A1 (en) * 2013-03-15 2014-09-18 Disney Enterprises, Inc. Augmented reality device with predefined object data

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113412471A (en) * 2019-02-08 2021-09-17 苹果公司 Object positioning and movement in three-dimensional content

Also Published As

Publication number Publication date
US20170092001A1 (en) 2017-03-30

Similar Documents

Publication Publication Date Title
WO2017052880A1 (en) Augmented reality with off-screen motion sensing
CN107810465B (en) System and method for generating painted surfaces
KR101879478B1 (en) Method to extend laser depth map range
US9847079B2 (en) Methods and apparatus to use predicted actions in virtual reality environments
US11429189B2 (en) Monitoring
US10088900B2 (en) Information processing method and information processing system
WO2020226832A1 (en) Device, method, and computer-readable medium for presenting computer-generated reality files
EP3942394A1 (en) Device, method, and graphical user interface for composing cgr files
WO2016120806A1 (en) Method and system for providing virtual display of a physical environment
KR20220125353A (en) Systems, methods and media for automatically triggering real-time visualization of physical environments in artificial reality
JP2016539398A (en) Augmented reality content generation for unknown objects
JP2020537200A (en) Shadow generation for image content inserted into an image
WO2017092332A1 (en) Method and device for image rendering processing
US20240104744A1 (en) Real-time multi-view detection of objects in multi-camera environments
JP2023536434A (en) System and method for object tracking using fused data
EP3654205A1 (en) Systems and methods for generating haptic effects based on visual characteristics
US11474776B2 (en) Display-based audio splitting in media environments
US9734866B2 (en) Perceptual computing input to determine post-production effects
EP3864494B1 (en) Locating spatialized sounds nodes for echolocation using unsupervised machine learning
US20250299544A1 (en) Directional Warnings In Co-Located Play In Virtual Reality Environments
WO2025247292A1 (en) Method and apparatus for device control, and device and computer-readable storage medium
US11593868B1 (en) Real-time virtual try-on item modeling
CN119325586A (en) Thermal management of electronic devices
CN112101297A (en) Training data set determination method, behavior analysis method, device, system and medium
US12067171B1 (en) Systems and methods for operating artificial reality devices using gestures

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 16849231

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 16849231

Country of ref document: EP

Kind code of ref document: A1