Embodiments of the present invention relate generally to content sharing technology and, more particularly, relate to a method and apparatus for providing media mixing based on user interactions.
The modern communications era has brought about a tremendous expansion of wireline and wireless networks. Computer networks, television networks, and telephony networks are experiencing an unprecedented technological expansion, fueled by consumer demand. Wireless and mobile networking technologies have addressed related consumer demands, while providing more flexibility and immediacy of information transfer.
Current and future networking technologies continue to facilitate ease of information transfer and convenience to users by expanding the capabilities of mobile electronic devices. One area in which there is a demand to increase ease of information transfer relates to the sharing of information between multiple devices and potentially between multiple users. In this regard, given the ability for modem electronic devices to create and modify content, and also to distribute or share content, it is not uncommon for users of such devices to become prolific users and producers of media content. Networks and services have been developed to enable users to move created content to various points within the networks or experience content at various points within the networks.
Various applications and software have also been developed and continue to be developed in order to give the users robust capabilities to perform tasks, communicate, obtain information or services, entertain themselves, etc. in either fixed or mobile environments. Given the robust capabilities of mobile electronic devices and the relatively small size of such devices, it is becoming increasingly common for individuals to keep mobile electronic devices on or near their person on a nearly continuous basis. Moreover, because such devices are useful for work, play, leisure, entertainment, and other purposes, many users also interact with their devices on a frequent basis. Accordingly, whether interaction occurs via a mobile electronic device or a fixed electronic device (e.g., a personal computer (PC)), more and more people are interacting with friends, colleagues and acquaintances via online networks. This trend has led to the rise of a number of social networking applications that span the entire spectrum of human interaction from purely professional to purely leisure activities and everything in between.
Users of social networking applications often use the social network as a mechanism by which to distribute content to others. Moreover, the concept of social television (TV) has been developed to enable sets of other users, friends, or colleagues to meet in a virtual shared space and watch TV or other video content while also being able to interact socially. The social interaction aspect often takes the form of some form of communication that is added to or over the video content (e.g., dubbing or subtitles). However, it may be desirable to develop yet further mechanisms by which to enable access to content in a social environment and by which to enhance the experience for users.
A method, apparatus and computer program product are therefore provided for enabling the provision of media mixing based on user interaction. In this regard, for example, some embodiments of the present invention may provide a mechanism by which user interaction may impact media mixing. In this regard, for example, movements of media windows associated with social interaction media may have changeable configurations and a content mixer may be provided to account for configuration changes of the media window and also synchronize audio spatial changes with the corresponding configuration changes.
In one example embodiment, a method of providing media mixing based on user interaction is provided. The method may include receiving an indication of shared content to be provided to a plurality of group members, receiving social interaction media associated with at least one of the group members, and mixing the shared content with the social interaction media to provide mixed content having audio mixing performed based at least in part on a configuration of the social interaction media relative to the shared content on a display.
In another example embodiment, a computer program product for providing media mixing based on user interaction is provided. The computer program product includes at least one computer-readable storage medium having computer-executable program code instructions stored therein. The computer-executable program code instructions may include program code instructions for receiving an indication of shared content to be provided to a plurality of group members, receiving social interaction media associated with at least one of the group members, and mixing the shared content with the social interaction media to provide mixed content having audio mixing performed based at least in part on a configuration of the social interaction media relative to the shared content on a display.
In another example embodiment, an apparatus for providing media mixing based on user interaction is provided. The apparatus may include at least one processor and at least one memory including computer program code. The at least one memory and the computer program code may be configured to, with the at least one processor, cause the apparatus to perform at least receiving an indication of shared content to be provided to a plurality of group members, receiving social interaction media associated with at least one of the group members, and mixing the shared content with the social interaction media to provide mixed content having audio mixing performed based at least in part on a configuration of the social interaction media relative to the shared content on a display.
Embodiments of the invention may provide a method, apparatus and computer program product for employment in network based content sharing environments. As a result, for example, individual device users may enjoy improved capabilities with respect to sharing content with a selected group of other device users.
Having thus described embodiments of the invention in general terms, reference will now be made to the accompanying drawings, which are not necessarily drawn to scale, and wherein:
Some embodiments of the present invention will now be described more fully hereinafter with reference to the accompanying drawings, in which some, but not all embodiments of the invention are shown. Indeed, various embodiments of the invention may be embodied in many different forms and should not be construed as limited to the embodiments set forth herein; rather, these embodiments are provided so that this disclosure will satisfy applicable legal requirements. Like reference numerals refer to like elements throughout. As used herein, the terms “data,” “content,” “information” and similar terms may be used interchangeably to refer to data capable of being transmitted, received and/or stored in accordance with embodiments of the present invention. Thus, use of any such terms should not be taken to limit the spirit and scope of embodiments of the present invention.
Additionally, as used herein, the term ‘circuitry’ refers to (a) hardware-only circuit implementations (e.g., implementations in analog circuitry and/or digital circuitry); (b) combinations of circuits and computer program product(s) comprising software and/or firmware instructions stored on one or more computer readable memories that work together to cause an apparatus to perform one or more functions described herein; and (c) circuits, such as, for example, a microprocessor(s) or a portion of a microprocessor(s), that require software or firmware for operation even if the software or firmware is not physically present. This definition of ‘circuitry’ applies to all uses of this term herein, including in any claims. As a further example, as used herein, the term ‘circuitry’ also includes an implementation comprising one or more processors and/or portion(s) thereof and accompanying software and/or firmware. As another example, the term ‘circuitry’ as used herein also includes, for example, a baseband integrated circuit or applications processor integrated circuit for a mobile phone or a similar integrated circuit in a server, a cellular network device, other network device, and/or other computing device.
As defined herein a “computer-readable storage medium,” which refers to a non-transitory, physical storage medium (e.g., volatile or non-volatile memory device), can be differentiated from a “computer-readable transmission medium,” which refers to an electromagnetic signal.
Electronic devices have been rapidly developing in relation to their communication and content sharing capabilities. As the capabilities of such devices have increased, applications and services have grown to leverage the capabilities to provide increased utility and improved experience for users. Social networks and various services and functionalities supporting social networks are examples of mechanisms developed to leverage device and network capabilities to provide users with the ability to communicate with each other while experiencing shared content. The shared content may be video and/or audio content that is broadcast from another source or provided by a member of a social network group for consumption by other group members. Meanwhile, while experiencing the shared content together, various group members may discuss the content or other topics by providing text, audio and/or video commentary (e.g., in the form of social interaction media) to be overlaid over the shared content. However, in some cases, the shared content may be obstructed by overlaid video, commentary, images, or other material.
Accordingly, some embodiments of the present invention may provide for a mechanism by which to enable users to move such media to avoid overlaying the social interaction media over important portions of the content being overlaid. However, some embodiments may further provide for the user interactions with the social interaction media to form a basis for media mixing of the shared content with the social interaction media. For example, a position of media windows providing social interaction media may be used as the basis for audio mixing to make the audio rendering reflective of the relative positions of respective media windows with which audio of the shared content is being mixed. Thus, sound associated with a media window on a left side of a display screen may be mixed such that it sounds like the corresponding audio is coming from the user's left side. Furthermore, as a position of the media window is changed, so to the audio mixing may be altered accordingly. Thus, users will be provided with improved capabilities for personalizing and satisfactorily experiencing content in a social environment.
The mobile terminal 10 may be any of multiple types of mobile communication and/or computing devices such as, for example, portable digital assistants (PDAs), pagers, mobile televisions, mobile telephones, gaming devices, laptop computers, cameras, camera phones, video recorders, audio/video player, radio, global positioning system (GPS) devices, or any combination of the aforementioned, and other types of voice and text communications devices. The second and third communication devices 20 and 25 may be any of the above listed mobile communication devices or an example of a fixed communication device such as a PC or other computing device or communication terminal having a relatively fixed location and wired or wireless access to the network 30.
The network 30 may include a collection of various different nodes, devices or functions that may be in communication with each other via corresponding wired and/or wireless interfaces. As such, the illustration of
One or more communication terminals such as the mobile terminal 10 and the second and third communication devices 20 and 25 may be in communication with each other via the network 30 and each may include an antenna or antennas for transmitting signals to and for receiving signals from a base site, which could be, for example a base station that is a part of one or more cellular or mobile networks or an access point that may be coupled to a data network, such as a local area network (LAN), a metropolitan area network (MAN), and/or a wide area network (WAN), such as the Internet. Alternatively, such devices may include communication interfaces supporting landline based or wired communication with the network 30. In turn, other devices such as processing elements (e.g., personal computers, server computers or the like) may be coupled to the mobile terminal 10 and/or the second and third communication devices 20 and 25 via the network 30. By directly or indirectly connecting the mobile terminal 10 and/or the second communication device 20 and other devices to the network 30, the mobile terminal 10 and/or the second and third communication devices 20 and 25 may be enabled to communicate with the other devices or each other, for example, according to numerous communication protocols including Hypertext Transfer Protocol (HTTP) and/or the like, to thereby carry out various communication or other functions of the mobile terminal 10 and the second and third communication devices 20 and 25, respectively.
Furthermore, although not shown in
In example embodiments, regardless of the form of instantiation of the devices involved, embodiments of the present invention may relate to the provision of access to content within the context of a social network including a defined group of users and/or the devices of the users. The group may be predefined based on any of a number of ways that a particular group may be formed. In this regard, for example, invited members may accept invitations to join the group, applications may be submitted and accepted applicants may become group members, or a group membership manager may define a set of users to be members of a group. Thus, for example, group members could be part of a social network or may be associated with a particular service such as a service hosted by or associated with the service platform 40. Accordingly, it should be appreciated that, although
In an example embodiment, the service platform 40 may be a device or node such as a server or other processing circuitry. The service platform 40 may have any number of functions or associations with various services. As such, for example, the service platform 40 may be a platform such as a dedicated server, backend server, or server bank associated with a particular information source, function or service. Thus, the service platform 40 may represent one or more of a plurality of different services or information sources. The functionality of the service platform 40 may be provided by hardware and/or software components configured to operate in accordance with known techniques for the provision of information to users of communication devices, except as modified as described herein.
In an example embodiment, the service platform 40 may provide, among other things, content management, content sharing, content acquisition and other services related to communication and media content. Nokia's Ovi suite is an example of a service provision mechanism that may be associated with the service platform 40. In some cases, the service platform 40 may include, be associated with, or otherwise be functional in connection with a content distributor 42. However, the content distributor 42 could alternatively be embodied at one or more of the mobile terminal 10 and/or the second and third communication devices 20 and 25, or even at some other device within the network. As such, for example, in some cases the network 30 could be an ad hoc, peer-to-peer (P2P) network in which the content distributor 42 is embodied in at least one of the devices forming the P2P network. Thus, although the content distributor 42 is shown as a separate entity in
In an example embodiment, the service platform 40 may be associated with the provision of functionality and services associated with social networking. Thus, for example, the service platform 40 may include functionality associated with enabling group members to share social interaction media with each other. As such, the service platform 40 may act as or otherwise include a social TV server or another social networking server for providing the social interaction media to group members based on individual participant media submissions from various ones of the group members. The social interaction media may include text, audio, graphics, images, video and/or the like that may be overlaid over other content being shared among group members (e.g., shared content). Thus, in some cases, such as is sometimes the case with social TV, the social interaction media may be commentary regarding the shared content.
In some cases, the content distributor 42 may provide content to the service platform 40 and the service platform 40 may integrate the content provided thereto by the content distributor 42 with social interaction content provided from the group members (e.g., the mobile terminal 10 and/or the second and third communication devices 20 and 25). The service platform 40 may employ an apparatus for object based media mixing according to an example embodiment to thereafter provide mixed content to the group members. Alternatively, the service platform 40 may provide the social interaction media to the group members and the content distributor 42 may separately provide content for viewing by the group members and the individual devices of the group members may employ an apparatus for media mixing based on user interactions according to an example embodiment to thereafter provide mixed or composite content to the group members.
Referring now to
The processor 70 may be embodied in a number of different ways. For example, the processor 70 may be embodied as one or more of various processing means such as a coprocessor, a microprocessor, a controller, a digital signal processor (DSP), a processing element with or without an accompanying DSP, or various other processing devices including integrated circuits such as, for example, an ASIC (application specific integrated circuit), an FPGA (field programmable gate array), a microcontroller unit (MCU), a hardware accelerator, a special-purpose computer chip, processing circuitry, or the like. In an example embodiment, the processor 70 may be configured to execute instructions stored in the memory device 76 or otherwise accessible to the processor 70. Alternatively or additionally, the processor 70 may be configured to execute hard coded functionality. As such, whether configured by hardware or software methods, or by a combination thereof, the processor 70 may represent an entity (e.g., physically embodied in circuitry) capable of performing operations according to embodiments of the present invention while configured accordingly. Thus, for example, when the processor 70 is embodied as an ASIC, FPGA or the like, the processor 70 may be specifically configured hardware for conducting the operations described herein. Alternatively, as another example, when the processor 70 is embodied as an executor of software instructions, the instructions may specifically configure the processor 70 to perform the algorithms and/or operations described herein when the instructions are executed. However, in some cases, the processor 70 may be a processor of a specific device (e.g., a mobile terminal or network device) adapted for employing embodiments of the present invention by further configuration of the processor 70 by instructions for performing the algorithms and/or operations described herein. In some cases, the processor 70 may include, among other things, a clock, an arithmetic logic unit (ALU) and logic gates configured to support operation of the processor 70.
Meanwhile, the communication interface 74 may be any means such as a device or circuitry embodied in either hardware, software, or a combination of hardware and software that is configured to receive and/or transmit data from/to a network and/or any other device or module in communication with the apparatus. In this regard, the communication interface 74 may include, for example, an antenna (or multiple antennas) and supporting hardware and/or software for enabling communications with a wireless communication network. In some environments, the communication interface 74 may alternatively or also support wired communication. As such, for example, the communication interface 74 may include a communication modem and/or other hardware/software for supporting communication via cable, digital subscriber line (DSL), universal serial bus (USB) or other mechanisms.
The user interface 72 may be in communication with the processor 70 to receive an indication of a user input at the user interface 72 and/or to provide an audible, visual, mechanical or other output to the user. As such, the user interface 72 may include, for example, a keyboard, a mouse, a joystick, a display, a touch screen, soft keys, a microphone, a speaker, or other input/output mechanisms. In an example embodiment in which the apparatus is embodied as a server or some other network devices, the user interface 72 may be limited, provided remotely (e.g., from the mobile terminal 10 or another device) or eliminated. However, in an embodiment in which the apparatus is embodied as a communication device (e.g., the mobile terminal 10), the user interface 72 may include, among other devices or elements, any or all of a speaker, a microphone, a display, and a keyboard or the like. In this regard, for example, the processor 70 may comprise user interface circuitry configured to control at least some functions of one or more elements of the user interface, such as, for example, a speaker, ringer, microphone, display, and/or the like. The processor 70 and/or user interface circuitry comprising the processor 70 may be configured to control one or more functions of one or more elements of the user interface through computer program instructions (e.g., software and/or firmware) stored on a memory accessible to the processor 70 (e.g., memory device 76, and/or the like).
In an example embodiment, the processor 70 may be embodied as, include or otherwise control a content mixer 80 and an interaction manager 82. The content mixer 80 and the interaction manager 82 may each be any means such as a device or circuitry operating in accordance with software or otherwise embodied in hardware or a combination of hardware and software (e.g., processor 70 operating under software control, the processor 70 embodied as an ASIC or FPGA specifically configured to perform the operations described herein, or a combination thereof) thereby configuring the device or circuitry to perform the corresponding functions of the content mixer 80 and the interaction manager 82, respectively, as described below. Thus, in examples in which software is employed, a device or circuitry (e.g., the processor 70 in one example) executing the software forms the structure associated with such means.
In an example embodiment, the content mixer 80 may be configured to combine at least two data streams into a single combined content item capable of rendering at an output device such as a display and/or speakers or other user interface components. In some cases, the content mixer 80 may be configured to overlay social interaction media 86 over audio and/or video content from the content distributor 42. As such, the content mixer 80 may combine signaling associated with the audio and/or video content, which may be content intended for sharing amongst members of a group (e.g., shared content 84), with graphics, audio, video, text, images and/or the like that may be provided by one or more group members for sharing with other group members as social interaction media 86. The combined data output from the content mixer 80 may then be provided for display and/or audio rendering such that, for example, video, images, text or graphics associated with the social interaction media 86 are overlaid over the video content of the shared content 84 and sound associated with the social interaction media 86 is dubbed into the audio of the shared content 84. In an example embodiment, the output of the content mixer 80 may also include augmentations or other modifications associated with audio encoding based on user interactions as indicated by the interaction manager 82 as described in greater detail below. As such, for example, the content mixer 80 may be configured to provide for encoding audio to be reflective of a position of a media window of a particular group member on a display or a client device. Thus, if a media window appears on the left side of the display, the corresponding audio may be encoded to provide an audio effect of originating from the user's left side.
The interaction manager 82 may be configured to, perhaps among other things, manage user input regarding intended movements of social interaction media content items with respect to the content mixer 80. Thus, for example, the interaction manager 82 is configured to enable a user to provide commands regarding movement of a media window or other social interaction media content item for movement or other size or configuration changes with respect to the media window or other social interaction media content item and process the commands for implementation of the desired effect on terminals of other group members. In an example embodiment, the interaction manager 82 may receive indications of user inputs made via the user interface 72 and provide corresponding changes to the display of a device rendering mixed content (e.g., shared content 84 with social interaction media 86 overlaid thereon). Some example indications that may be handled include movement of the location of a media window or other social interaction media content item and/or modifications to the size of the media window or other social interaction media content item.
In an example embodiment, the interaction manager 82 may also provide signaling indicative of the movement or configuration change of a media window to the content mixer 80 to enable the content mixer 80 to mix audio and providing audio encoding that is reflective of changes in configuration (e.g., changes in media window size or location). As such, for example, the interaction manager 82 may be configured to provide indications to the content mixer 80 regarding relative movement of a media window on a display rendering mixed content to enable the content mixer 80 to encode audio corresponding to the media window to be reflective of the relative movement. In other words, the interaction manager 82 may inform the content mixer 80 of the movement of a media window so that the content mixer 80 can make the audio associated with the moved media window sound like it is originating from a new location based on the movement of the media window. For example, in response to a media window being moved to the right, the corresponding audio may be encoded to sound like it is originating from the user's right side. As another example, in response to a media window being increased in size, the corresponding audio may be encoded to sound louder or more dominant with respect to mixing the corresponding audio with audio of the shared content 84 and any other social interaction media. Likewise, in response to a media window being decreased in size, the corresponding audio may be encoded to sound quieter or less dominant with respect to mixing the corresponding audio with audio of the shared content 84 and any other social interaction media.
A user may select movement of a media window, which may present live video of a present group member, by utilizing the user interface 72 to select the media window and drag the media window to another location. In some examples, the user may select a particular media window using a cursor, touch screen, gaze tracking, click and drag operation, speech, gestures or other functionality to move the media window. Indications of the movement may be provided to the content mixer 80 for providing audio mixing based on the user interaction indicated by the movement. However, as indicated above, movement is not the only alteration of the media window that may be reflected by the content mixer 80. In this regard, other configuration changes such as media window size may also impact audio mixing performed by the content mixer 80. Thus, the user may select a particular media window and increase or decrease the size of the particular media window, again using a cursor, touch screen, gaze tracking, click and drag operation, speech, gestures or other functionality to change the size of the media window.
A user may decide to move a media window for any number of reasons. In this regard, for example, the user may wish to remove an obstruction to a part of the view of the shared content 84 that is being overlaid by the media window. However, in some cases employing embodiments of the present invention, the user may also wish to achieve a desired environmental feel based on the positioning of media windows to create an impression of particular group members being located in corresponding specific positions relative to the user both visually on the display of the user's device (e.g., the mobile terminal 10) and audibly (e.g., by sound seeming to originate from a direction corresponding to the position of the respective media window on the display and having a relative volume based on the size of the media window). Movement of a media window may follow some or all of the operations in the sequence listed below in some examples with respect to the video portion of the media window:
a. The user uses a touch input (or a cursor or other input mechanism) to point at a display region (e.g., on a device display screen), the area pointed to having coordinates centered at a position (X1, Y1) and corresponding to a region in the device screen (e.g., a window of smaller size than the device display that includes the social interaction media).
b. Then the user drags the media window (e.g., including the session participant) that contains the point (X1, Y1) to a new location of the display having coordinates centered at a position (X2, Y2).
c. The screen coordinates (X1, Y1) and (X2, Y2) may optionally be converted into received video coordinates (according to the video signal received there may be need of scaling operations) (VX1, VY1) and (VX2, VY2) that are the center coordinates in the received video signal for the original and target positions in the device.
d. The received video coordinates (VX1, VY1) and (VX2, VY2) are transmitted to the content mixer 80.
e. If the video coordinates (VX1, VY1) are not within any of the other participants' media windows, then do nothing (the user is in this case trying to move part of the screen outside of the participants media window).
f. Re-encode the video content by shifting the position of the participant's media window that contains the coordinates (VX1, VY1) to a new position with center (VX2, VY2).
g. Transmit the new encoded content to all the session participants.
Further to the operations listed above, audio encoding may also be accomplished by the content mixer 80 to mix the audio content as described above. As such, the audio content may also be encoded to reflect the relative positions of the media windows on the display using coding parameters that correspond to the position of the media window on the display screen. Thus, for example, media windows on the left side of the display may be encoded to sound as though the sound originates to the user's left and media windows on the right side of the display may be encoded to sound as though the sound originates at the user's right. The amount of right or left offset may also impact the encoding to create a corresponding degree of audio offset. For example, the display could be thought to correspond to a grid-like coordinate system with horizontal coordinates from 0 (far left) to 10 (far right), with 5 corresponding to the center. Thus, a media window positioned at a horizontal coordinate of 0 would be encoded to sound as though it is originating to the far left of the user, while a media window positioned at a horizontal coordinate of 3 would still sound as though it originates to the left of the user, but not as far to the left as the sound corresponding to the media window at the horizontal coordinate of 0. In some embodiments, the user may slowly drag a media window across the screen and experience an audible movement of the origin of the sound as the media window moves.
In some examples, in addition to a horizontal scale, other encoding parameters may also be used to create vertical dimensions and even perhaps depth dimensions for three dimensional coding. As such, for example, parameters such as any or all of horizontal position, vertical position and depth position of the media window could be used for providing spatial audio mixing that is based on user interactions. Scaling operations may be provided by the content mixer 80 in some examples in order to fit the same scale to different display screen sizes.
In some embodiments, multi-party conferencing may be accomplished using a content mixer 80 in association with a conferencing mixing server. In other cases, a social TV server may be used to provide mixing of multiple media streams (from the participants as well as from the TV/Video content stream). In these and other examples, when a participant is customizing the view, instead of signaling the changes in position of the rendered media, the participant may perform a signal transformation by recording the new coordinates of the participant's window and comparing it with the original/baseline coordinates. The media transformation could use, for example, post-processing the signal to reverse the coordinate change at the receiver end, re-encoding the audio content with new parameters, and/or changing the single channels (2 or more channels) volume (remixing) in a suitable way such that it will render the audio output from the “new” position.
In the example of
The content mixer 80 may also receive information descriptive of configuration changes with respect to the social interaction media 86 as provided by user interaction detected and reported by the interaction manager 82.
As indicated above, the apparatus 50 may be employed at a network device (e.g., the service platform 40) or at a communication device (e.g., the mobile terminal 10). Accordingly, it should be appreciated that the mixing of content according to example embodiments could be accomplished either at the device displaying the content (such as when the mobile terminal 10 includes the apparatus 50) or at a device serving content to the device displaying the content (such as when the service platform 40 includes the apparatus 50). Thus, for example, if the apparatus 50 is employed at the device serving content to the device displaying the content, the social interaction media 86 and the shared content 84 could be provided in a single stream of data (e.g., composite or mixed data). However, if the apparatus 50 is employed at the device displaying the content, the social interaction media 86 and the shared content 84 could be provided in separate streams of data. In still another alterative embodiment, portions of the apparatus 50 may be split between multiple devices (as discussed above), and thus the content mixer 80 may be embodied at the device displaying the content (e.g., the mobile terminal 10), while the interaction manager 82 is embodied at the device serving content to the device displaying the content (e.g., at the service platform 40). In this example, the shared content 84 may be provided in one stream and the social interaction media 86 may be provided in a separate stream. Regardless of the mechanism by which the streams of data are received and where each respective device is physically located, the content mixer 80 may be configured to modify media mixing (e.g., modify the content to be displayed and the sound to be rendered) to provide media mixing based on user interaction.
In some embodiments, the content mixer 80 may also be configured to perform other functions such as providing animation functions. Thus, for example, the content mixer 80 may be configured to animate audio and video mixing in synch to provide certain desired special effects. As an example, when closing a media window, instead of the media window disappearing immediately, the content mixer 80 may be configured to gradually reduce the size of the media window and correspondingly reduce the speech volume until the window is closed and the volume is reduced to zero. Other functions may also be performed.
Accordingly, some embodiments of the present invention may provide a mechanism by which user interaction may impact media mixing. In this regard, for example, movements of media windows associated with social interaction media may have movable locations and the content mixer 80 may account for visual movement of the media window and also synchronize audio spatial changes with the corresponding location changes on the visual display. Accordingly, users may be able to experience an intuitive relationship between the location of media windows on the screen and the direction from which the corresponding audio for each media window seems to originate.
In an example embodiment, signaling of user selections (e.g., coordinate locations of media windows moved or altered in size) may be provided via a session control channel. Any suitable protocols may be employed for control channel and transport stacks and for media session and transport stacks (e.g., session initiation protocol (SIP), session description protocol (SDP), real-time transport protocol (RTP), real-time transport control protocol (RTCP), HTTP, short message service (SMS), and/or the like, as shown in
Accordingly, blocks of the flowchart support combinations of means for performing the specified functions, combinations of operations for performing the specified functions and program instruction means for performing the specified functions. It will also be understood that one or more blocks of the flowchart, and combinations of blocks in the flowchart, can be implemented by special purpose hardware-based computer systems which perform the specified functions, or combinations of special purpose hardware and computer instructions.
In this regard, a method according to one embodiment of the invention, as shown in
In some embodiments, certain ones of the operations above may be modified or further amplified as described below. Moreover, in some situations, the operations described above may be augmented with additional optional operations (an example of which is shown in
In an example embodiment, the method may further include providing the mixed content to at least one remote client device associated with one of the group members at operation 230. In some cases, mixing the shared content with the social interaction media may include performing audio mixing for a media window based on a size of the media window. For example, performing audio mixing for the media window based on the size of the media window may include controlling a volume level of audio associated with the media window in direct proportion to the size of the media window. In some embodiments, mixing the shared content with the social interaction media may include performing audio mixing for a media window based on a location of the media window on the display. For example, performing audio mixing for a media window based on a location of the media window may include generating location parameters descriptive of horizontal, vertical and depth parameters and utilizing spatial mixing to mix audio of the media window with at least one of the shared content or other media window content based on the location parameters. Moreover, in some embodiments (e.g., when some functions described above are performed by different devices rather than a single device), location parameters may be transmitted from a mobile terminal to a server or service platform. In this regard, the location parameters may be descriptive of horizontal, vertical and depth parameters along with video coordinates for old and new locations (or center locations) for a media window to be moved. In an example embodiment, mixing the shared content with the social interaction media may include tracking movement of a media window and adjusting audio mixing for the media window based on the movement of the media window.
In an example embodiment, an apparatus for performing the method of
Many modifications and other embodiments of the inventions set forth herein will come to mind to one skilled in the art to which these inventions pertain having the benefit of the teachings presented in the foregoing descriptions and the associated drawings. Therefore, it is to be understood that the inventions are not to be limited to the specific embodiments disclosed and that modifications and other embodiments are intended to be included within the scope of the appended claims. Moreover, although the foregoing descriptions and the associated drawings describe example embodiments in the context of certain example combinations of elements and/or functions, it should be appreciated that different combinations of elements and/or functions may be provided by alternative embodiments without departing from the scope of the appended claims. In this regard, for example, different combinations of elements and/or functions than those explicitly described above are also contemplated as may be set forth in some of the appended claims. Although specific terms are employed herein, they are used in a generic and descriptive sense only and not for purposes of limitation.