Playback of media associated with media tags
The media tag system allows for enhanced media playback by broadcasting a unique identifier for client devices to associate and play media content without complex devices, addressing the limitations of smart frames and geolocation, enabling cost-effective and precise media experiences with multiple objects.
Patent Information
- Application Number
- PCT/US2024/033134
- Authority / Receiving Office
- WO · WO
- Patent Type
- Applications
- Current Assignee / Owner
- Filing Date
- 2024-06-07
- Publication Date
- 2025-12-11
AI Technical Summary
Smart picture frames and home assistant devices require complex and costly computing resources, limiting their utility in displaying multiple pictures due to high complexity and cost, while RFID tags and geolocation approaches lack precision and require close proximity or complex hardware, respectively.
A media tag that broadcasts a unique identifier via short-range radio transmission, enabling a client device to associate media content and playback using a playback device without needing a complex display or computing device, and allowing multiple objects to be supported within a given space.
Enables enhanced media playback experiences with lower cost and improved location precision, supporting multiple objects without requiring close proximity or complex hardware, thus overcoming limitations of traditional smart frames and geolocation methods.
Smart Images

Figure US2024033134_11122025_PF_FP_ABST
Abstract
Description
PLAYBACK OF MEDIA ASSOCIATED WITH MEDIA TAGSBACKGROUNDField of the Embodiments of the Present Disclosure
[0001] Embodiments of the present invention relate generally to computing devices and media delivery and, more specifically, to media playback associated with media tags.Description of the Related Art
[0002] Smart picture frames are a popular device used to view photography. Smart picture frames are often equipped with a display that is powered by a computing device integrated into the smart picture frame. Additionally, a network interface is often integrated into the smart picture frame to enable retrieval of photos from a remote location, such as a network- accessible photo service. In some cases, a smart picture frame may also be equipped with one or more speakers to enable playback of audio. In some instances, the smart picture frame might also be equipped with one or more microphones to enable voice commands or audio capture for other reasons. Home assistant devices with a display often double as smart picture frames. In this scenario, the video assistant device is also running software that performs more advanced functionality, such as video playback, home automation tasks, integration with smart home devices, and other tasks that are more removed from the task of displaying pictures on the display. Additionally, a smart picture frame or home assistant device has software powering the devices that often require software updates to enable additional functionality or security updates.
[0003] RFID tags can be used to uniquely identify objects. An RFID tag affixed to or near a picture frame can be read by a reader to extract a unique identifier that can uniquely identify the picture frame. The reader device can take one or more actions in response to obtaining the unique identifier from the RFID tag.
[0004] Geolocation is also another way to provide an enhanced media viewing experience involving a tag affixed on or near a physical media providing a unique identifier as well as a geolocation to a client device, which can take one or more action in response to determining that the client device is in the same location as the tag. In some approaches, the geolocation of an object can be associated with media to be played back by the client device without a tag.
[0005] One drawback with smart picture frames is the complexity and cost relative to traditional picture frames. As noted above, smart picture frames often require a display device, a local area network interface, and significant processor and memory resources to run softwarepowering a smart picture frame experience on the device. The additional complexity and cost may cause users to limit the number of devices that are used in a given physical environment. Therefore, conventional smart picture frames and home assistant devices have limited utility to users desiring the display of many pictures in a given physical environment.
[0006] One drawback of approaches that utilize an RFID tag that uniquely identifies a photo or other object to which the tag is affixed is that most consumer devices, such as smartphones, lack the capability to communicate with an RFID tag. Additionally, because RFID tags are passive devices in that they often lack a power supply or the ability to communicate beyond the scale of several millimeters, RFID tags generally require close proximity by the reader to extract an identifier from the tag. In some cases, an RFID tag requires that the reader touch or nearly touch the RFIG tag to identify information about the RFID tag.
[0007] One drawback of a geolocation approach for detecting proximity to an object is that geolocation technologies generally lack precision in an indoor environment because a device obtaining its geolocation must generally obtain geolocation data from geolocation satellites. Additionally, such an approach is impractical for discerning between multiple objects in a particular indoor environment. Discerning between multiple objects in an indoor environment could be addressed by utilizing a tag that has geolocation capabilities. However, a drawback of such an approach is the cost and complexity required to provision the tag with geolocation capabilities.
[0008] As the foregoing illustrates, what is needed in the art are more effective and lightweight devices and techniques that provide an enhanced picture viewing experience to the user.SUMMARY
[0009] Various embodiments of the present disclosure set forth a computer-implemented method. The method includes receiving a unique identifier associated with a media tag via a short-range radio transmission from the media tag, where the unique identifier is periodically broadcast by the media tag on a short-range network. The method also includes determining media content associated with the unique identifier. The method also includes causing playback of the media content using a playback device.
[0010] Other embodiments include, without limitation, a computing device that implements one or more aspects of the disclosed techniques, and a computer readable medium including instructions for performing one or more aspects of the disclosed techniques.
[0011] At least one technical advantage of the disclosed techniques relative to the prior art is that the disclosed techniques enable the playback of media content associated with an object without the need of a complex display device or a complex or expensive computing device being dedicated to the object. Another advantage of the disclosed techniques is that, because of the lower cost, a user can support multiple objects with associated media content within a given physical space, thereby allowing the user to enjoy an enhanced experience with a larger set of objects. Another technical advantage is that a media tag according to the disclosure does not rely on a passive device such as a RFID tag that requires very close proximity to detect. Another advantage of the disclosed techniques is that a media tag according to the disclosure does not rely on geolocation approaches to detect proximity to a user’s device, which can potentially require complex hardware to be integrated into a tag to which proximity is being detected. An advantage over a geolocation approach is improved location precision, as geolocation technology tends to lack precision in indoor environments. These technical advantages represent one or more technological improvements over prior art approaches.BRIEF DESCRIPTION OF THE DRAWINGS
[0012] So that the manner in which the above recited features of the various embodiments can be understood in detail, a more particular description of the inventive concepts, briefly summarized above, may be had by reference to various embodiments, some of which are illustrated in the appended drawings. It is to be noted, however, that the appended drawings illustrate only typical embodiments of the inventive concepts and are therefore not to be considered limiting of scope in any way, and that there are other equally effective embodiments.
[0013] Figure 1 illustrates a media tag environment configured to implement one or more embodiments;
[0014] Figure 2 is a more detailed illustration of the media tag of Figure 1, according to various embodiments;
[0015] Figure 3 is a more detailed illustration of the client device of Figure 1, according to various embodiments;
[0016] Figure 4A illustrates a user interface for associating media content with a media tag, according to various embodiments;
[0017] Figure 4B illustrates a user interface for selecting a playback device when playing media content associated with a media tag, according to various embodiments; and
[0018] Figures 5A and 5B are flow diagrams of method steps for performing an operation when a media tag is detected, according to various embodiments.DETAILED DESCRIPTION
[0019] In the following description, numerous specific details are set forth to provide a more thorough understanding of the various embodiments. However, it will be apparent to one skilled in the art that the inventive concepts can be practiced without one or more of these specific details.
[0020] As further described herein, a media tag, which can be mounted or placed near a picture frame or other object, is associated with a unique device identifier. When a client device, such as a smartphone or wearable device associated with a user, detects the media tag, the client device causes playback of a media file, such as audio or video content. The client device runs a media companion application that allows the user to select a media file for playback when proximity to the media tag is detected. This provides an enhanced media experience when the user is in proximity to the picture frame or object associated with the media tag. The media tag and media companion application can be utilized within various environments, such as a home environment, an office environment, commercial environments, and / or the like.System Overview
[0021] Figure 1 illustrates a media tag environment 100 in which one or more embodiments of the disclosure are implemented. As shown, media tag environment 100 includes, without limitation, a client device 102, a media tag 104, a playback device 112, a remote server 114, a communication network 116, and a short-range communication network 118. Client device 102 includes, without limitation, a media companion application 106 and one or more media content 110. Media companion application 106 includes, without limitation, one or more media playback records 108.
[0022] Client device 102 is a computing device associated with a user. Client device 102 can be a personal computer, personal digital assistant, tablet computer, mobile phone, mobiledevice, a wearable computing device, or any other device suitable for implementing one or more aspects of the present invention. In operation, the client device 102 executes a media companion application 106 to detect proximity to a media tag 104 and initiate playback of media content 110 on a playback device 112 based upon a media playback record 108 defined for the media tag 104. The media companion application 106 includes one or more media playback records 108 as well as media content 110.
[0023] The media companion application 106, when executed by the client device 102 supports playback of media content 110 on a playback device 112 when proximity to the media tag 104 is detected. The media companion application 106 detects proximity to a media tag 104 by obtaining a unique identifier that is periodically broadcasted or advertised by the media tag 104 over short-range communication network 118. The media companion application 106 obtains a unique identifier corresponding to the media tag 104. If the media tag 104 is not already associated with a media playback record 108 accessible to the client device 102, the media companion application 106 generates a user interface through which a user creates a media playback record 108 that associates the media tag 104 with media content 110. The user interface allows a user to specify media content 110 (e.g„ one or more audio or video files) to be associated with the media tag 104. The media content 110 can be stored on client device 102, stored in a remote server (e.g„ the remote server 114), received via a streaming service, and / or the like. In some examples, the media content is identified via a uniform resource locator (URL). The user interface also allows the user to identify a default playback device 112 on which to playback the media content. In some examples, the user interface also allows the user to specify a nickname for the media tag 104, such as “Picture of Grandma”. The unique identifier, the identifiers for the one or more media files, the default playback device, and optionally the nickname, are then stored in a media playback record 108. The media playback record 108 can be stored in client device 102 or in audio or by remote server 114 for later access by the client device 102 or other client devices.
[0024] If the media companion application 106 determines that the unique identifier of the media tag is already associated with a media playback record 108 stored in the client device 102 or accessible to the media companion application 106 via the remote server 114, the media companion application 106 accesses the media playback record 108 associated with the unique identifier for the media tag 104. Using the media playback record 108, the media companion application 106 initiates a media playback operation. The media playback operation begins with the loading of the media content 110 identified in the media playbackrecord 108. The media content 110 can be loaded from the client device 102, the remote server 114, or the streaming service identified by the media playback record 108. In some examples, the media playback operation can include automatically playing the media content 110 via the playback device 112 identified in the media playback record 108 without further user intervention. In some examples, the media playback operation further includes displaying a user interface that identifies the media tag 104 (e.g., using the nickname identified in the media playback record 108), the media content 110 being played back, and the playback device 112. In some examples, the user interface also allows the user to select a different media playback device 112 on which to playback the media content 110. In some embodiments, the media companion application 106 detects proximity to multiple media tags 104 in the case of an environment in which multiple media tags 104 are installed. In some examples, the media companion application 106 automatically selects the unique identifier associated with the media tag 104 associated with the media tag 104 whose short-range radio transmission has a strongest signal strength. In some examples, the media companion application 106 causes a user interface to be displayed on the client device 102 that allows the user to select from one or more media tags 104 that are in proximity to the client device 102 and detected as registered with a media playback record 108.
[0025] The media companion application 106 can also authenticate a user identity with the remote server 114. Upon authenticating a user identity, the media companion application 106 can synchronize one or more media playback records 108 saved on the client device 102 with the remote server 114. Accordingly, should a user login to the user account from a different client device 102, the media companion application 106 running on the other client device 102 obtains the media playback records 108 associated with the user account from the remote server 114. Accordingly, the media companion application 106 facilitates a multi-user experience in which multiple user accounts are stored on the remote server 114 and are linked together to utilize the functionality associated with the same set of media tags 104. In this scenario, the one or more media playback records 108 are associated with one or more users, can allow one user to share media playback records 108 with other users, such as family, friends, guests, patrons, and / or the like. In some examples, media content 110 specified by a media playback record 108 can be stored on the remote server 114, and the media companion application 106 retrieves or stream the media content 110 from the remote server 114 for playback on a playback device 112 specified by the media playback record 108. Alternatively, the media companion application 106 can direct the playback device 112 to retrieve or stream the media content 110 from the remote server 114.
[0026] A media playback record 108 represents a data record that is stored on the client device 102 by the media companion application 106 or the remote server 114. The media playback record 108 stores an association between media content 110 and a media tag 104. The media playback record 108 includes a unique identifier of the media tag 104 associated with the media playback record 108 and the associated media content 110. The media content 110 can be represented in a media playback record 108 by a uniform resource identifier (URI) that specifies the storage location of the media content 110. The media playback record 108 further identifies the default playback device 112. The media playback record 108 can optionally store a nickname for the media tag 104.
[0027] Media content 110 includes one or more audio or video files that are associated with the media playback records 108. Whenever the media companion application 106 detects proximity of the client device 102 to media tag 104, the media companion application 106 plays back the media content 110 associated with a detected media tag 104 on playback device 112. The media content 110 can be stored on the client device 102, remote server 114, or obtained from a media streaming service.
[0028] Media tag 104 is a computing device with limited computing power that is equipped with a short-range communications capability to communicate with the client device 102 or other devices via short-range communication network 118. After configuration, media tag 104 stores an identifier that is usable to identify media that is to be played back when the client device 102 is within close proximity to media tag 104. In some examples, the identifier is a unique identifier. Media tag 104 transmits the identifier to client device 102 using a short- range radio transmission via the short-range communication network 118. Media tag 104 lacks the capability to communicate with other devices via the communication network 116. In some examples, media tag 104 is integrated into or affixed onto a photo frame that displays printed photographs that are mounted or otherwise placed within the photo frame. In some examples, media tag 104 is integrated into or attached to other objects, such a piece of art. In some examples, media tag 104 is a Bluetooth beacon or a Bluetooth low energy device that operates as a Bluetooth low energy broadcaster and uses Bluetooth or Bluetooth low energy messages to transmit the identifier. When implemented using Bluetooth low energy, the media tag 104 can transmit up to thirty meters but has a typical operating range of about two to five meters.
[0029] Playback device 112 is a device that has audio or video playback capabilities. A playback device 112 includes, without limitation, a computing device such as a personalcomputer, personal digital assistant, tablet computer, mobile phone, mobile device, a wearable computing device, or any other device suitable for implementing one or more aspects of the present invention. A playback device 112 can also include an audio system or video playback device that plays back audio or video content. In some implementations, playback device 112 can be omitted when the client device 102 can play back media content 110 without using a playback device 112.
[0030] Remote server 114 includes, without limitation, a computing device (not shown) that can be a standalone server, a cluster or “farm” of servers, one or more network appliances, or any other device suitable for implementing one or more aspects of the present disclosure. Illustratively, remote server 114 communicates over communication network 116 with one or more client devices 102. However, in many implementations of the disclosure, the remote server 114 does not directly communicate with the media tag 104 over the communication network 116 because the media tag 104 lacks the communication capability to communicate over the communication network 116.
[0031] In various embodiments, the remote server 114 performs one or more of the techniques described herein in conjunction with client device 102. For example, the remote server 114 can store the user account data so that the user account data is accessible by various client devices 102 that are associated with a given user account. In some embodiments, the media companion application 106 running on the client device 102 communicates with the remote server 114 to create or access user account data regarding media tags 104 associated with a user account. Within the user account data, the remote server 114 can store one or more media playback records 108 that are associated with respective media tags 104. The media playback records 108 associated with a user account can be accessed by one or more client devices 102 running the media companion application 106 that have authenticated with a user account corresponding to the media playback records 108. The remote server 114 can also store media content 110 referenced by media playback records 108.
[0032] The communication network 116 is any suitable environment to enable communications among remote or local computer systems and computing devices, including, without limitation, wireless and wired LANs (Local Area Networks), Internet-based WANs (Wide Area Networks), cellular networks, and / or the like. The client device 102 and the remote server 114 are in communication with each other via short-range communication network 118.
[0033] Short-range communication network 118 is a different network from the communication network 116. The short-range communication network 118 can be a feasible short-range network, such as a wireless LAN, a personal area network, a Bluetooth network, a Bluetooth low energy network, and / or the like. The client device 102 and media tag 104 are in communication with each other via short-range communication network 118.Media Tag
[0034] Figure 2 is a more detailed illustration of media tag 104 according to various embodiments. As shown, media tag 104 includes, without limitation, a processor 202, memory204, a network interface 208, and an interconnect 210. The memory 204 includes, without limitation, a media tag application 220.
[0035] Processor 202 can be any suitable processor, such as a central processing unit (CPU), multiple CPUs, a single CPU having multiple processing cores, a graphics processing unit (GPU), an application-specific integrated circuit (ASIC), a field programmable gate array (FPGA), a digital signal processor (DSP), and / or any other type of processing unit, or a combination of different processing units, such as a system on a chip (SoC), or a CPU configured to operate in conjunction with a GPU. In general, the processor 202 can be any technically feasible hardware unit capable of processing data and / or executing software applications. The processor 202 executes instructions loaded into the memory 204, such as the media tag application 220.
[0036] Memory 204 can include a random-access memory (RAM) module, a flash memory unit, or any other type of memory unit or combination thereof. Memory 204 stores media tag application 220 as well as data associated with media tag application 220. Memory 204 further stores a unique identifier associated with the media tag.
[0037] The media tag application 220 is stored in memory 204 and is executed by the processor 202. The media tag application 220 causes media tag 104 to transmit a unique identifier associated with the media tag 104 to nearby computing devices, such as client device 102. The media tag application 220 transmits the unique identifier via the short-range communication network 118. In some examples, the media tag application 220 periodically broadcasts the unique identifier in short-range radio transmissions via the short-range communication network 118. In some instances, the media tag application 220 periodically broadcasts or advertises the unique identifier of media tag 104 in a beacon, such as a Bluetooth or Bluetooth low energy beacon. In some examples, the unique identifier is broadcasted as anadvertising message that can be detected by client devices 102 that are in proximity to the media tag 104. In some embodiments, other devices, such as the client device 102 can respond to the beacon or the advertising data with a scan request. In response to a scan request, the media tag application 220 can provide the unique identifier directly to the client device 102 in a responsive message.
[0038] Network interface 208 enables communication between the media tag 104 and other devices via the short-range communication network 118. The network interface 208 can include a Bluetooth radio or Bluetooth low energy module that enables communication using the short-range communication network 118. In some instances, the network interface 208 has a unique identifier, such as a Bluetooth MAC address or other unique identifier that the client device 102 can utilize to uniquely identify media tag 104. Media tag 104 uses the network interface 208 to transmit the unique identifier to the client device 102 via a short-range radio transmission so that the client device 102 can detect proximity to and identify media tag 104.
[0039] Media tag 104 can be affixed to or placed near various types of media, such as printed photos, artwork, sculptural works, or other objects. Media tag 104 enables a companion media playback experience in which media content 110 is played back whenever a client device 102 that has access to a media playback record 108 identifying media tag 104 is in proximity to media tag 104. In some instances, a media tag 104 is physically integrated into a frame in which one or more printed photos or other forms of media are mounted or upon which printed photos rest within the frame.
[0040] The media tag 104 is distinguishable from a RFID tag in that the media tag 104 operates on a short-range communication network 118 that does not require a device communicating with the media tag 104 to be in contact or within a few millimeters of to the media tag 104 to detect proximity, which is the case with an RFID tag. Additionally, the media tag 104 also operates on the short-range communication network 118, such as a Bluetooth network, on which the one or more network interfaces 208 of the client device 102 are more likely to operate. In many client device 102 implementations, such as a smartphone or wearable device, an RFID interface is less likely to be provided. Additionally, an RFID tag is a passive device that does not periodically broadcast a unique identifier. Thus, an RFID tag approach requires the user to have awareness of the location of the RFID tag and physically engage with or become located in very close proximity to the RFID tag to obtain information, such as an identifier, from the RFID tag.Client Device
[0041] Figure 3 is a more detailed illustration of a client device 102 according to various embodiments. As shown, client device 102 includes, without limitation, one or more processors 304, I / O devices 306, one or more network interfaces 308, interconnect 312, storage 314, and memory 316. Storage 314 includes, without limitation, one or more media playback records 108, and media content 110. Memory 316 includes, without limitation, the media companion application 106.
[0042] The one or more processors 304 are any suitable processor, such as a central processing unit (CPU), a graphics processing unit (GPU), an application-specific integrated circuit (ASIC), a field programmable gate array (FPGA), a tensor processing unit (TPU), any other type of processing unit, or a combination of multiple processing units, such as a CPU configured to operate in conjunction with a GPU. In general, each of the one or more processors 304 is any technically feasible hardware unit capable of processing data and / or executing software applications and modules.
[0043] Storage 314 includes, without limitation, non-volatile storage for applications, software modules, and data, and includes fixed or removable disk drives, flash memory devices, and CD-ROM, DVD-ROM, Blu-Ray, HD-DVD, or other magnetic, optical, solid state storage devices, and / or the like. The media companion application 106 is loaded into memory 316 for execution by the one or more processors 304.
[0044] The memory 316 can include a random-access memory (RAM) module, a flash memory unit, or any other type of memory unit or combination thereof. The one or more processors 304 are configured to read data from and write data to memory 316. In various embodiments, the memory 316 includes non-volatile memory, such as optical drives, magnetic drives, flash drives, or other storage. In some embodiments, separate data stores, such as an external device included in a network (“cloud storage”) supplements the memory 316.Memory 316 includes various software programs and modules (e.g., an operating system, one or more applications) that are executed by the one or more processors 304 and application data (e.g., data loaded from storage 314) associated with said software programs.
[0045] The client device 102 includes one or more network interfaces 308. A first network interface 308 allows the client device 102 to communicate with the media tag 104 over the short-range communication network 118. The first network interface 308 can include a wireless module, a personal area network module, a Bluetooth module, and / or the like. Insome instances, the client device 102 also communicates with playback device 112 over the same short-range communication network 118. A second network interface 308 allows the client device 102 to communicate with the remote server 114. The second network interface 308 can include a wide area networking interface, a wired or wireless local area network interface, a cellular interface, and / or other communications interfaces that support protocols for communication with other devices, such as the remote server 114 via communication network 116.
[0046] I / O devices 306 include devices capable of providing input, such as a touchpad, a touch-sensitive screen, buttons, knobs, dials, sliders, joysticks, microphones, and so forth, as well as devices capable of providing output, such as playing back media content 110 via a display device, audio speaker, or a combination thereof. Examples of display(s) include, without limitation, LCD displays, LED displays, touch-sensitive screens, transparent displays, projection systems (e.g., a heads-up display projection system), optical combiners, and / or the like.Configuration of Media Playback Record and Playback of Media Content
[0047] Figure 4A illustrates a user interface 400 for associating media content 110 with a media tag 104. User interface 400 includes, without limitation, a nickname field 402, a media content selection component 404, a playback device selection component 406, and a save button 408.
[0048] The user interface 400 is generated by the media companion application 106 on the client device 102. The user interface 400 allows a user to define a media playback record 108 using the media companion application 106. For example, the media companion application 106 can display user interface 400 whenever media companion application 106 detects a media tag 104 transmitting a unique identifier for which the media companion application 106 cannot find a corresponding media playback record 108. Upon detecting proximity of a media tag 104 to the client device 102, the media companion application 106 determines whether media tag 104 has been previously registered with the media companion application 106. If media tag 104 has not been previously registered with the media companion application 106, the media companion application 106 causes user interface 400 to be displayed in which the user defines a media playback record 108 corresponding to media tag 104. In one example, the media companion application 106 allows the user to specify a nickname associated with mediatag 104 in nickname field 402, and the specified nickname is also stored in association with media tag 104 in the media playback record 108.
[0049] The user interface 400 also allows the user to select media content 110 to be associated with media tag 104 using media content selection component 404. The media content 110 corresponds to an audio or video file, or a list of files, that is to be played back when the media companion application 106 determines that the client device 102 is subsequently in proximity to media tag 104. As shown in the user interface 400, the media content selection component 404 generated by the media companion application 106 allows the user to select media content (e.g„ a file) that is stored on the client device 102, media stored on a remote server (e.g., remote server 114) to which the user has access, or from a media streaming service that provides streaming media. The media content 110 could also be identified by a URI that specifies a storage location of media content 110 to be associated with the media playback record 108. The URI could specify a storage location on the client device 102 or a storage location that is remote from the client device 102.
[0050] The user interface 400 generated by the media companion application 106 also allows the user to specify a default playback device 112 via the playback device selection component 406. The playback device selection component 406 is a dropdown or any other user interface component that allows the user to select a playback device 112. The media companion application 106 populates the playback device selection component 406 with a list of the playback devices 112 on which the selected media content 110 can be played back when subsequent proximity to media tag 104 is detected. The media companion application 106 can be populated with playback devices 112 from the devices in the system settings of the client device 102 that are identified as media playback sources. For example, the Bluetooth settings of the client device 102 can identify one or more Bluetooth audio or video playback devices that have been previously associated with the client device 102 as audio or video playback devices. The media companion application 106 can also access an audio or video broadcasting application programming interface (API) associated with the operating system of the client device 102 that identifies media playback devices or services on which media can be played back by the client device 102. In this scenario, the client device 102 initiates playback of audio or video content on a playback device 112 The playback device selection component 406 also allows the user to select the client device 102 on which the media companion application 106 is running as the playback device 112 for the selected media content 110.
[0051] Upon obtaining a selection of media content 110 and a playback device 112, the media companion application 106 allows the user to save the media playback record 108 using the save button 408. Upon saving the media playback record 108, the media companion application 106 associates the media content 110, a unique identifier of media tag 104, and a playback device 112 together in a media playback record 108. The media companion application 106 then saves the media playback record 108 in storage on the client device 102 and / or optionally on a remote server 114 in association with a user account.
[0052] Figure 4B illustrates a user interface 410 for selecting a playback device 112 when playing back media content 110 associated with a media tag 104, according to various embodiments. User interface 410 includes, without limitation, a playback device selection component 406 and a confirmation button 412.
[0053] The user interface 410 is generated by the media companion application 106 on the client device 102 when the media companion application 106 detects subsequent proximity of the client device 102 to the media tag 104 once a media playback record 108 has been created. Upon detecting subsequent proximity of the client device 102 to a media tag 104, the media companion application 106 causes the media content 110 to be played back on the playback device 112 specified by the media playback record 108 without user intervention or prompt the user to identify a playback device 112 for the media content 110 specified by the media playback record 108.
[0054] In some embodiments, the media companion application 106, the media companion application 106 prompts the user to select a playback device 112 upon detecting subsequent proximity to a media tag 104 rather than initiating playback of media content 110 without user intervention. In another scenario, the playback device 112 selected by the user upon creating the media playback record 108 might be unavailable to the client device 102. In either scenario, the user interface 410 generated by the media companion application 106 can prompt the user to select a playback device 112. A user can select a playback device 112 using the playback device selection component 406 and initiate playback of the media content 110 associated with the media tag 104 by selecting the confirmation button 412. Upon selection of the confirmation button 412, the media companion application 106 can initiate playback of the media content 110 associated with the media tag 104 by the media playback record 108.
[0055] Figures 5A-5B illustrate flow diagrams of method steps for performing an operation when a media tag is detected, according to various embodiments. Although themethod steps are described in conjunction with the systems of Figures 1-4B, persons skilled in the art will understand that any system configured to perform the method steps, in any order, is within the scope of the present disclosure. The flowchart of Figures 5A-5B illustrates how the media companion application 106 running on a client device 102 detects proximity to a media tag 104 and causes playback of media content 110 on a playback device 112 according to examples of the disclosure.
[0056] A method 500 begins at step 502, where the media companion application 106 detects a media tag 104 via a short-range radio transmission. The short-range radio transmission is received over the short-range communication network 118 from media tag 104. The short-range radio transmission corresponds to a broadcasted message from media tag 104, such as a beacon message, an advertisement message, and / or the like.
[0057] At step 504, the media companion application 106 obtains a unique identifier of media tag 104 from the short-range radio transmission. The unique identifier is extracted from a short-range radio transmission. For example, the unique identifier can be identified by parsing a header or a body of the short-range radio transmission. The unique identifier uniquely identifies media tag 104 and can represent a Bluetooth MAC address or any other identifier that is unique with respect to other media tags 104.
[0058] At step 506, the media companion application 106 determines whether media tag 104 has been previously associated with a media playback record 108 by the media companion application 106. To determine whether the media tag is registered with the media companion application 106, the media companion application 106 determines whether a media playback record 108 has been created for media tag 104 that specifies media content 110 that should be played back when proximity to the 102 is detected. The media companion application 106 determines whether media tag 104 is associated with a media playback record 108 by determining whether the unique identifier of media tag 104 is associated with a media playback record 108 that is saved on the client device 102 or on the remote server 114, such as in association with a user account. In some embodiments, the media companion application 106 transmits a query to the remote server 114 with the unique identifier of media tag 104 to determine whether a media playback record 108 is associated with the user account of the user of the media companion application 106. The remote server 114 can provide a media playback record 108 corresponding to the unique identifier and the user account if such a media playback record 108 is stored by the remote server 114. If the media companion application 106 determines that a media playback record 108 has been created for media tag 104, themethod 500 continues with step 514. If the media companion application 106 determines that media tag 104 is not associated with a media playback record 108 on the client device 102 or in association with a user account of a user, method 500 continues with step 508.
[0059] At step 508, the media companion application 106 displays a user interface 400 to create a media playback record 108 for media tag 104. The user interface 400 allows the user to specify media content 110 to be played back when proximity to media tag 104 is detected. The user interface 400 also allows the user to specify a default playback device 112 on which the media content 110 should be played when proximity to media tag 104 is detected. In some instances, the media companion application 106 can allow the user to skip specifying a playback device 112 at the time the media playback record 108 is created.
[0060] At step 510, the media companion application 106 determines the parameters of the media playback record 108 from the user interface 400. The media companion application 106 obtains, for example, a nickname associated with a media playback record 108 from the nickname field 402, information about media content 110 associated with the media playback record 108 from the media content selection component 404, and in some cases, an identity of the default playback device 112 from the playback device selection component 406.
[0061] At step 512, the media companion application 106 saves or confirms the parameters of the media playback record 108 once the user activates save button 408 in the user interface 400. The media companion application 106 saves the media playback record 108 in association with media tag 104 by saving the media playback record 108 in storage of the client device 102 or on a remote server 114. Upon saving the media playback record 108, the process can return to step 502, where the media companion application 106 can await proximity to a media tag 104.
[0062] At step 514, the media companion application 106 identifies the media playback record 108 associated with media tag 104 for which proximity is detected in step 502. The media playback record 108 is selected by identifying a media playback record 108 associated with the unique identifier of media tag 104.
[0063] At step 516, the media companion application 106 identifies media content 110 specified by the media playback record 108. The media content 110 is stored on the client device 102, streamed from a media streaming service, or stored on another computing device, such as a media server on a network to which the client device 102 is connected. The mediacontent 110 could also identified by a URI specified by the media playback record 108 that is saved on the client device 102, the playback device 112 specified by the media playback record 108, or the remote server 114.
[0064] At step 518, the media companion application 106 identifies a playback device 112 on which the media content 110 should be played back. The playback device 112 can be specified by the media playback record 108 or selected by the user via the playback device selection component 406 in the user interface 410. In some examples, the playback device 112 is the client device 102, a playback device 112 linked to or paired with the client device 102, such as headphones or a speaker paired to the client device 102, or another computing device on which the client device 102 can initiate playback of the media content 110 via a media broadcast API.
[0065] At step 520, the media companion application 106 initiates playback of the media content 110 on the playback device 112. The media companion application 106 initiates playback of the media content 110 using audio or video playback capabilities of the playback device 112. After step 520, the method 500 can return to step 502, where the media companion application 106 detects proximity to another media tag 104.
[0066] As discussed above and further emphasized here, Figures 5A and 5B are merely an examples which should not unduly limit the scope of the claims. One of ordinary skill in the art would recognize many variations, alternatives, and modifications. In some embodiments, when short-range transmissions are received from multiple media tags 104 that are registered in corresponding media playback records 108, media companion application 106 can generate a user interface that prompts the user to select from among multiple media tags 104 that are detected in proximity to the client device 102. Alternatively, media companion application 106 can automatically playback the media content 110 associated with the media tag 104 whose short-range radio transmission has a strongest signal strength.
[0067] In sum, a media tag broadcasts a unique identifier via a short-range network to a client device. When the client device detects the identifier, the determines whether a media playback record is associated with the unique identifier of the media tag that specifies media content and / or a playback device for the media content. The client device then provides the media content to the playback device for playback. The playback device can be selected by the user in a user interface when proximity to the media tag is detected or specified by the media playback record. When a client device determines that the identifier of the media tag is notassociated with media content, the client device can prompt a user to select the media content to associate with the media tag. The selected media content is then associated with the media tag. The association is stored for later reference when other client devices detect the identifier of a media tag.
[0068] At least one technical advantage of the disclosed techniques relative to the prior art is that the disclosed techniques enable the playback of media content associated with an object without the need of a complex display device or a complex or expensive computing device being dedicated to the object. Another advantage of the disclosed techniques is that, because of the lower cost, a user can support multiple objects with associated media content within a given physical space, thereby allowing the user to enjoy an enhanced experience with a larger set of objects. These technical advantages represent one or more technological advancements over prior art approaches.
[0069] 1. In some embodiments, a computer-implemented method comprises receiving a unique identifier associated with a media tag via a short-range radio transmission from the media tag, wherein the unique identifier is periodically broadcast by the media tag on a short- range network, determining media content associated with the unique identifier, and causing playback of the media content using a playback device.
[0070] 2. The computer-implemented method of clause 1, wherein the media content is stored on a client device receiving the unique identifier.
[0071] 3. The computer-implemented method of clauses 1 or 2, further comprising obtaining the media content from a device that is remote from the media tag and a client device receiving the unique identifier.
[0072] 4. The computer-implemented method of any of clauses 1-3, wherein the media content comprises at least one of audio or video.
[0073] 5. The computer-implemented method of any of clauses 1-4, further comprising receiving a second unique identifier associated with a second media tag via a second short- range radio transmission from the second media tag, wherein the second unique identifier is periodically broadcast by the media tag on the short-range network, in response to determining that the second unique identifier is not associated with media content determining a second media content to associate with the second media tag, and saving the association in a second media playback record.
[0074] 6. The computer-implemented method of any of clauses 1-5, wherein determining the second media content comprises receiving a selection of the second media content from a user.
[0075] 7. The computer-implemented method of any of clauses 1-6, further comprising saving the second media playback record on a remote server in association with a user account.
[0076] 8. The computer-implemented method of any of clauses 1-7, wherein the playback device comprises a client device receiving the unique identifier.
[0077] 9. The computer-implemented method of any of clauses 1-8, wherein the playback device is a different device than a client device receiving the unique identifier.
[0078] 10. The computer-implemented method of any of clauses 1-9, wherein the media tag is embedded into or attached to a picture frame or an object.
[0079] 11. The computer-implemented method of any of clauses 1-10, wherein receiving the unique identifier comprises detecting a plurality of unique identifiers via a short-range communication network from a plurality of media tags, identifying a respective signal strength associated with each unique identifier included in the plurality of unique identifiers, and selecting the unique identifier corresponding to a respective unique identifier with the strongest respective signal strength as the media tag.
[0080] 12. The computer-implemented method of any of clauses 1-11, wherein receiving the unique identifier comprises detecting a plurality of unique identifiers via a short-range communication network that correspond to a plurality of media tags, causing a user interface to be displayed by a client device identifying the plurality of media tags, and obtaining, via the user interface, a selection of one of the plurality of media tags as the media tag.
[0081] 13. In some embodiments, one or more non-transitory computer-readable media include instructions that, when executed by one or more processors, cause the one or more processors to perform the steps of receiving a unique identifier associated with a media tag via a short-range radio transmission from the media tag, wherein the media tag periodically broadcasts the unique identifier on a short-range network, determining media content associated with the unique identifier, and causing playback of the media content using a playback device.
[0082] 14. The one or more non-transitory computer-readable media of clause 13, wherein determining the media content comprises querying a remote server storing associations between media content and identifiers of media tags.
[0083] 15. The one or more non-transitory computer-readable media of clauses 13 or 14, wherein the media content comprises at least one of audio or video.
[0084] 16. The one or more non-transitory computer-readable media of any of clauses 13-15, further comprising receiving a second unique identifier associated with a second media tag via a second short-range radio transmission from the second media tag, wherein the second unique identifier is periodically broadcast by the media tag on the short-range network, in response to determining that the second unique identifier is not associated with media content determining a second media content to associate with the second media tag, and saving the association in a second media playback record.
[0085] 17. The one or more non-transitory computer-readable storage media of any of clauses 13-16, wherein the media tag is embedded into or attached to a picture frame or an object.
[0086] 18. The one or more non-transitory computer-readable storage media of any of clauses 13-17, wherein the steps further comprise generating a user interface in which the user selects the playback device, and obtaining a selection of the playback device via the user interface.
[0087] 19. In some embodiments, a computing device comprises a memory that includes instructions, and a processor that is coupled to the memory that, when executing the instructions, are configured to perform the steps of receiving a unique identifier associated with a media tag via a short-range radio transmission from the media tag, wherein the media tag periodically broadcasts the unique identifier on a short-range network, determining media content associated with the unique identifier, and causing playback of the media content using a playback device.
[0088] 20. The computing device of clause 19, further comprising the playback device.
[0089] Any and all combinations of any of the claim elements recited in any of the claims and / or any elements described in this application, in any fashion, fall within the contemplated scope of the present disclosure and protection.
[0090] The descriptions of the various embodiments have been presented for purposes of illustration, but are not intended to be exhaustive or limited to the embodiments disclosed.Many modifications and variations will be apparent to those of ordinary skill in the art without departing from the scope and spirit of the described embodiments.
[0091] Aspects of the present embodiments may be embodied as a system, method or computer program product. Accordingly, aspects of the present disclosure may take the form of an entirely hardware embodiment, an entirely software embodiment (including firmware, resident software, micro-code, etc.) or an embodiment combining software and hardware aspects that may all generally be referred to herein as a “module” or “system.” Furthermore, aspects of the present disclosure may take the form of a computer program product embodied in one or more computer readable medium(s) having computer readable program code embodied thereon.
[0092] Any combination of one or more computer readable medium(s) may be utilized. The computer readable medium may be a computer readable signal medium or a non-transitory computer readable storage medium. A computer readable storage medium may be, for example, but not limited to, an electronic, magnetic, optical, electromagnetic, infrared, or semiconductor system, apparatus, or device, or any suitable combination of the foregoing. More specific examples (a non-exhaustive list) of the computer readable storage medium would include the following: an electrical connection having one or more wires, a portable computer diskette, a hard disk, a random access memory (RAM), a read-only memory (ROM), an erasable programmable read-only memory (EPROM or Flash memory), an optical fiber, a portable compact disc read-only memory (CD-ROM), an optical storage device, a magnetic storage device, or any suitable combination of the foregoing. In the context of this document, a computer readable storage medium may be any tangible medium that can contain, or store a program for use by or in connection with an instruction execution system, apparatus, or device.
[0093] Aspects of the present disclosure are described above with reference to flowchart illustrations and / or block diagrams of methods, apparatus (systems) and computer program products according to embodiments of the disclosure. It will be understood that each block of the flowchart illustrations and / or block diagrams, and combinations of blocks in the flowchart illustrations and / or block diagrams, can be implemented by computer program instructions. These computer program instructions may be provided to a processor of a general purpose computer, special purpose computer, or other programmable data processing apparatus to produce a machine, such that the instructions, which execute via the processor of the computer or other programmable data processing apparatus, enable the implementation of thefunctions / acts specified in the flowchart and / or block diagram block or blocks. Such processors may be, without limitation, general purpose processors, special-purpose processors, application-specific processors, or field-programmable
[0094] The flowchart and block diagrams in the figures illustrate the architecture, functionality, and operation of possible implementations of systems, methods and computer program products according to various embodiments of the present disclosure. In this regard, each block in the flowchart or block diagrams may represent a module, segment, or portion of code, which comprises one or more executable instructions for implementing the specified logical function(s). It should also be noted that, in some alternative implementations, the functions noted in the block may occur out of the order noted in the figures. For example, two blocks shown in succession may, in fact, be executed substantially concurrently, or the blocks may sometimes be executed in the reverse order, depending upon the functionality involved. It will also be noted that each block of the block diagrams and / or flowchart illustration, and combinations of blocks in the block diagrams and / or flowchart illustration, can be implemented by special purpose hardware-based systems that perform the specified functions or acts, or combinations of special purpose hardware and computer instructions.
[0095] While the preceding is directed to embodiments of the present disclosure, other and further embodiments of the disclosure may be devised without departing from the basic scope thereof, and the scope thereof is determined by the claims that follow.
Claims
WHAT IS CLAIMED IS:
1. A computer-implemented method, comprising: receiving a unique identifier associated with a media tag via a short-range radio transmission from the media tag, wherein the unique identifier is periodically broadcast by the media tag on a short-range network; determining media content associated with the unique identifier; and causing playback of the media content using a playback device.
2. The computer-implemented method of claim 1, wherein the media content is stored on a client device receiving the unique identifier.
3. The computer-implemented method of claim 1, further comprising obtaining the media content from a device that is remote from the media tag and a client device receiving the unique identifier.
4. The computer-implemented method of claim 1, wherein the media content comprises at least one of audio or video.
5. The computer-implemented method of claim 1, further comprising: receiving a second unique identifier associated with a second media tag via a second short-range radio transmission from the second media tag, wherein the second unique identifier is periodically broadcast by the media tag on the short-range network; in response to determining that the second unique identifier is not associated with media content: determining a second media content to associate with the second media tag; and saving the association in a second media playback record.
6. The computer-implemented method of claim 5, wherein determining the second media content comprises receiving a selection of the second media content from a user.
7. The computer-implemented method of claim 5, further comprising saving the second media playback record on a remote server in association with a user account.
8. The computer-implemented method of claim 1, wherein the playback device comprises a client device receiving the unique identifier.
9. The computer-implemented method of claim 1, wherein the playback device is a different device than a client device receiving the unique identifier.
10. The computer-implemented method of claim 1, wherein the media tag is embedded into or attached to a picture frame or an object.
11. The computer-implemented method of claim 1, wherein receiving the unique identifier comprises: detecting a plurality of unique identifiers via a short-range communication network from a plurality of media tags; identifying a respective signal strength associated with each unique identifier included in the plurality of unique identifiers; and selecting the unique identifier corresponding to a respective unique identifier with the strongest respective signal strength as the media tag.
12. The computer-implemented method of claim 1, wherein receiving the unique identifier comprises: detecting a plurality of unique identifiers via a short-range communication network that correspond to a plurality of media tags; causing a user interface to be displayed by a client device identifying the plurality of media tags; and obtaining, via the user interface, a selection of one of the plurality of media tags as the media tag.
13. One or more non-transitory computer-readable media including instructions that, when executed by one or more processors, cause the one or more processors to perform the steps of: receiving a unique identifier associated with a media tag via a short-range radio transmission from the media tag, wherein the media tag periodically broadcasts the unique identifier on a short-range network; determining media content associated with the unique identifier; andcausing playback of the media content using a playback device.
14. The one or more non-transitory computer-readable media of claim 13, wherein determining the media content comprises querying a remote server storing associations between media content and identifiers of media tags.
15. The one or more non-transitory computer-readable media of claim 13, wherein the media content comprises at least one of audio or video.
16. The one or more non-transitory computer-readable media of claim 13, further comprising: receiving a second unique identifier associated with a second media tag via a second short-range radio transmission from the second media tag, wherein the second unique identifier is periodically broadcast by the media tag on the short-range network; in response to determining that the second unique identifier is not associated with media content: determining a second media content to associate with the second media tag; and saving the association in a second media playback record.
17. The one or more non-transitory computer-readable storage media of claim 13, wherein the media tag is embedded into or attached to a picture frame or an object.
18. The one or more non-transitory computer-readable storage media of claim 13, wherein the steps further comprise: generating a user interface in which the user selects the playback device; and obtaining a selection of the playback device via the user interface.
19. A computing device, comprising: a memory that includes instructions; and a processor that is coupled to the memory that, when executing the instructions, are configured to perform the steps of:receiving a unique identifier associated with a media tag via a short-range radio transmission from the media tag, wherein the media tag periodically broadcasts the unique identifier on a short-range network; determining media content associated with the unique identifier; and causing playback of the media content using a playback device.
20. The computing device of claim 19, further comprising the playback device.
Citation Information
Patent Citations
Tagging media assets, locations, and advertisements
US20100131567A1
System and method for broadcast media tagging
US20100293187A1
Using Low-Cost Tags as a Virtual Storage Medium for Multimedia Information
US20120286029A1
Systems and methods for initiating personalized media
US20210342412A1
Wireless interfacing system and associated method
WO2023097401A1