Patent ID: 12190011

DETAILED DESCRIPTION

According to a first aspect of the present disclosure, an electronic device, a method and a computer program product provides automatic cross-view screen sharing of visual content from a first device to a second device communicatively connected via a secure peer-to-peer connection such that opportunities are taken to enhance a discussion about a particular good, service, venue, etc., being viewed by at least one participant who provides semantic input. In an example, participants in an electronic communication session are each viewing respective alternative choices on respective devices and are discussing the alternatives using semantic inputs. In response to determining that a secure peer-to-peer connection is established between the devices, the controller of each device may present each participant with a cross view of visual content from both communication devices to enhance the conversation or discussion. In a first aspect of the present disclosure, automation of cross-view sharing depends on establishment of a secure peer-to-peer connection between devices, ensuring that a level of data privacy is maintained for other less secure communication connections. In a second aspect of the present disclosure, automation of cross-view sharing is triggered in response to detection, by a network device hosting a communication session, of a cross-view context based on an association of what is being discussed using semantic inputs by participants with what has been selected to be viewed as visual content by the participants. In a third aspect of the present disclosure, automation of cross-view sharing is triggered based on detection of the cross-view context by one of the electronic devices being used by a participant during a communication session.

In one or more embodiments, “cross-view context” is intended to encompass situations that are objectively appropriate for, or are subjectively determined to be, a situation in which a discussion or conversation would benefit from screen sharing between electronic devices that exchange discussion inputs. Cross-view context may be based on the nature of the communication session supporting the concurrent exchange of human-originating communication and human-selected visual content. Cross-view context may further be based at least in part of an association determined between the human-originating communication and the human-selected visual content. In one or more embodiments, the network device or electronic device alleviates the inconvenience or difficulty for users to recognize the cross-view context and to initiate screen sharing. The present disclosure provides for one or more “triggers” for cross-view sharing that are based at least in part on detecting the cross-view context. The associations between semantic inputs and visual content includes identifying types, characteristics, classifications and synonyms for what is being presented as visual content in order to find matches with what is being communicated as semantic inputs. Cross-view context may be determined at least in part based on a confidence level in the association between the semantic inputs and the visual content. The confidence level may be a function of a number of matches and how close the match is. In an example, a proper noun describing the visual content is a closer match than a mention of a category of object or thing that loosely encompasses the visual content. Cross-view context may have a confidence level based on combinations of matches of both participants to visual content selected by both participants.

In one or more embodiments, “semantic input” is intended to encompass any technique in which a person can communicate with another person. In an example, each person may speak one word of a plurality of words that are detected by a microphone. The other person hears the spoken word(s) reproduced at an audio output device such as a speaker. Examples of forms of communication that originate from one person or are reproduced for another person include: (i) hand gesture sign language; (ii) Morse code; (iii) lip synching; and (iv) haptic/touch communication such as Braille letters. Electronic devices may convert one form of communication into another form for the convenience or understanding of a receiving participant, including automated language translation.

In one or more embodiments, “visual content” is intended encompass any encapsulation of information that may be selected by and presented to a participation for consumption. The original consumer of the visual content is the user that selected the visual content, as contrasted with exchanging of semantic input that originates as human communication with one participant and is directed to another participant. An example of visual content includes webpages and electronic documents having text boxes, digital photographs, graphical data, tabular numeric data, drawings. Examples of visual content also include photographs, navigation queries for destinations, venues, businesses, and residences. Examples of visual content also include contact directories of persons, groups, associations and entities.

According to the first aspect of the present disclosure, an electronic device, a method and a computer program product support automatically selected cross-view screen sharing, based on using a secure peer-to-peer application. The electronic device includes a first display and includes memory that stores at least one application that presents user selectable visual content on a first user interface presented at the first display. The visual content can include an image, a text description, and/or graphical data. The electronic device includes a communication subsystem having a transceiver configurable by the at least one application for wireless communication using a secure peer-to-peer connection to exchange semantic inputs by participants during a communication session. A controller of the electronic device is connected to the first display, the memory, and the communication subsystem. The controller executes the at least one application to present the first user interface at the first display. The controller, via the communications subsystem, identifies the second communication device as providing a trusted peer device. The controller executes the at least one application to establish a secure peer-to-peer connection with the second communication device for exchanging semantic inputs such as spoken, typed, or gestured words. In response to determining that a secure peer-to-peer connection is established, via the communication subsystem, with a second electronic device that has a second display, the controller executes the at least one application to configure the electronic device to enable a cross-view mode with the second electronic device. The controller executes the at least one application that configures the electronic device to transmit a duplicate copy of the first user interface to the second electronic device for presenting at the second display. The controller executes the at least one application that configures the electronic device to receive, via the communication subsystem from the second electronic device, a duplicate copy of a second user interface being presented at the second display. The controller executes the at least one application to configure the electronic device to present, at the first display, the duplicate copy of the second user interface concurrently with the first user interface.

According to the second aspect of the present disclosure, a network device, a method and a computer program product provide network managed automated dual screen sharing between communication devices during a communication session, based on associating semantic inputs with visual content being viewed. The network device includes a communication subsystem connectable to a communication network. The network device includes a controller that is communicatively connected to the communication subsystem. The controller executes at least one application that configures the electronic device to provide the following functionality. The controller establishes, via the communication subsystem and the communication network, a communication session between a first electronic device and a second electronic device. During the communication session, the controller communicates, to the second electronic device, first semantic input received by at least one first input device of the first electronic device for presenting by at least one second output device of the second electronic device. The controller identifies first visual content selected via the at least one first input device and presented by at least one first user interface via at least one first output device of the first electronic device. In response to determining that the first semantic input is associated with the first visual content, the controller communicates a duplicate copy of the first user interface to the second electronic device for presenting the first user interface by the at least one second output device in addition to content locally presented on the second output device.

According to the third aspect of the present disclosure, an electronic device, a method and a computer program product support a communication application for automatic screen sharing between electronic devices during a communication session based on associating semantic inputs with visual content being viewed. The electronic device includes at least one first input device, at least one first output device, and a communication subsystem. A controller of the electronic device is communicatively connected to the at least one first input device, the at least one first output device, and the communication subsystem. The controller establishes, via the communication subsystem, a communication session with a second electronic device to facilitate a semantic communication exchange (i.e., a conversation or discussion) between the participants using the electronic device and the second electronic device. The controller presents a first user interface via the at least one first output device. The first user interface contains first visual content that is user selected via inputs received by the at least one first input device. The controller transmits, via the communication subsystem to the second electronic device, first semantic input received by the at least one first input device. In response to associating the first semantic input with the first visual content, the controller transmits a duplicate copy of the first user interface to the second electronic device.

In the following detailed description of exemplary embodiments of the disclosure, specific exemplary embodiments in which the various aspects of the disclosure may be practiced are described in sufficient detail to enable those skilled in the art to practice the invention, and it is to be understood that other embodiments may be utilized and that logical, architectural, programmatic, mechanical, electrical, and other changes may be made without departing from the spirit or scope of the present disclosure. The following detailed description is, therefore, not to be taken in a limiting sense, and the scope of the present disclosure is defined by the appended claims and equivalents thereof. Within the descriptions of the different views of the figures, similar elements are provided similar names and reference numerals as those of the previous figure(s). The specific numerals assigned to the elements are provided solely to aid in the description and are not meant to imply any limitations (structural or functional or otherwise) on the described embodiment. It will be appreciated that for simplicity and clarity of illustration, elements illustrated in the figures have not necessarily been drawn to scale. For example, the dimensions of some of the elements are exaggerated relative to other elements.

It is understood that the use of specific component, device and/or parameter names, such as those of the executing utility, logic, and/or firmware described herein, are for example only and not meant to imply any limitations on the described embodiments. The embodiments may thus be described with different nomenclature and/or terminology utilized to describe the components, devices, parameters, methods and/or functions herein, without limitation. References to any specific protocol or proprietary name in describing one or more elements, features or concepts of the embodiments are provided solely as examples of one implementation, and such references do not limit the extension of the claimed embodiments to embodiments in which different element, feature, protocol, or concept names are utilized. Thus, each term utilized herein is to be given its broadest interpretation given the context in which that term is utilized.

As further described below, implementation of the functional features of the disclosure described herein is provided within processing devices and/or structures and can involve use of a combination of hardware, firmware, as well as several software-level constructs (e.g., program code and/or program instructions and/or pseudo-code) that execute to provide a specific utility for the device or a specific functional logic. The presented figures illustrate both hardware components and software and/or logic components.

Those of ordinary skill in the art will appreciate that the hardware components and basic configurations depicted in the figures may vary. The illustrative components are not intended to be exhaustive, but rather are representative to highlight essential components that are utilized to implement aspects of the described embodiments. For example, other devices/components may be used in addition to or in place of the hardware and/or firmware depicted. The depicted example is not meant to imply architectural or other limitations with respect to the presently described embodiments and/or the general invention. The description of the illustrative embodiments can be read in conjunction with the accompanying figures. Embodiments incorporating teachings of the present disclosure are shown and described with respect to the figures presented herein.

FIG.1is a functional block diagram of communication environment100in which the features of the present disclosure are advantageously implemented. In particular, communication environment100includes communication device101, which is an example of an electronic device having communication subsystem102that selectively shares visual content in addition to exchanging semantic input103a-103b, such as participating in a conversation or discussion, with second communication device104discoverable as trusted peer device109bthat is paired with first communication device101as trusted peer device109a. Communication device101and second communication device104respectively receive the semantic content from participants107a-107b. Communication device101can be one of a host of different types of devices, including but not limited to, a mobile cellular phone, satellite phone, or smart phone, a laptop, a netbook, an ultra-book, a networked smartwatch or networked sports/exercise watch, and/or a tablet computing device or similar device that can include wireless communication functionality. As a device supporting wireless communication, communication device101can be utilized as, and also be referred to as, a system, device, subscriber unit, subscriber station, mobile station (MS), mobile, mobile device, remote station, remote terminal, user terminal, terminal, user agent, user device, a Session Initiation Protocol (SIP) phone, a wireless local loop (WLL) station, a personal digital assistant (PDA), computer workstation, a handheld device having wireless connection capability, a computing device, or other processing devices connected to a wireless modem.

Referring now to the specific component makeup and the associated functionality of the presented components. In addition to communication subsystem102, communication device101includes controller105, memory subsystem106, input/output (I/O) subsystem108, and data storage subsystem110that are each managed by controller105. System interlink112communicatively connects controller105with communications subsystem106, memory subsystem106, input/output subsystem108, and data storage subsystem110.

System interlink112represents internal components that facilitate internal communication by way of one or more shared or dedicated internal communication links, such as internal serial or parallel buses. As utilized herein, the term “communicatively coupled” means that information signals are transmissible through various interconnections, including wired and/or wireless links, between the components. The interconnections between the components can be direct interconnections that include conductive transmission media or may be indirect interconnections that include one or more intermediate electrical components. Although certain direct interconnections (system interlink112are illustrated inFIG.1, it is to be understood that more, fewer, or different interconnections may be present in other embodiments.

In one or more embodiments, communication subsystem102is configured to identify communication device101as trusted peer device (TPD)109ato second communication device104that provides identification as TPD109bto communication device101. Communication subsystem102is configured to discover and establish secure peer-to-peer connections with second communication device104. Communication subsystem102is configured to pair with other communication devices128discovered within proximity to communication device101according to authorizing control inputs. Once paired, subsequent discovery enables automatic secure peer-to-peer connections.

In one or more embodiments, communications subsystem102may include one or more network interfaces114such as local wireless communication module116and local wired communication module118to communicatively couple via network cable120or wireless connection122to external networks124. Communication device101, via external networks124may connect to network devices126, second communication devices128and core networks130that support communication networks132. Network interface(s)114may include a network interface controller (NIC) and support one or more network communication protocols. External network124can be a local area network (LAN), a campus area network (CAN), a metropolitan area network (MAN), or a wide area network (WAN). For example, network cable120and wireless connection122can be an Ethernet connection/cable.

In one or more embodiments, communications subsystem106may include additional functionality for communicating, using a cellular connection, with network node(s)134of external communication system136and for communicating, using a wireless connection, with wireless access point138or local wireless devices139of local communication system140. Communications subsystem106may also wirelessly connect directly to trusted peer device109b, such as via sidelink channel142. Communications subsystem106includes antenna subsystem144. Communications subsystem106includes radio frequency (RF) front end146and communication module148having baseband processor150. RF front end146includes transceiver(s)152, which includes transmitter(s)154and receiver(s)156. RF front end146further includes modem(s)158. Baseband processor150of communication module148communicates with controller105and RF front end146. Baseband processor150operates in a baseband frequency range to encode data for transmission and decode received data, according to a communication protocol. Modem(s)158modulates baseband encoded data from communication module148onto a carrier signal to provide a transmit signal that is amplified by transmitter(s)154. Modem(s)158demodulates each signal received using antenna subsystem144from external communication system136or local communication system140. The received signal is amplified and filtered by receiver(s)156, which demodulates received encoded data from a received carrier signal.

In one or more embodiments, communications subsystem102includes a secure peer-to-peer (P2P) module159provides functionality described herein for pairing communication device101to second communication device104. Secure P2P module159may autonomously discover candidate devices for secure P2P pairing, generate user interface controls for authorizing pairing, wirelessly discovered previously paired devices, provide communication protocols for pairing, identifying, and automatically connecting with devices such as second communication device104. Secure P2P module159may be incorporated into different hardware components that operate in a distributed or collaborative manner. Secure P2P module159may include trusted memory, or have access to trusted memory, to safeguard and secure trusted peer relationships with other devices such as second communication device104. Implementation of secure P2P module159may use any known mechanism or process for doing so using integrated hardware and/or software, as known by those skilled in the art. Secure P2P module159may operate using one or more of the communication bandwidths and protocols described herein or known to those skilled in the art including communication using wired or over-the-air channels. Secure P2P module159may support encryption to secure a direct or an indirect communication channel to second communication device104.

In one or more embodiments, controller105, via communications subsystem106, performs multiple types of cellular over-the-air (OTA) or wireless communication with local communication system140. Communications subsystem106can communicate via an OTA connection160with local wireless devices139. In an example, OTA connection160is a Bluetooth connection, or other personal access network (PAN) connection. In one or more embodiments, communications subsystem106communicates with one or more locally networked devices via a wireless local area network (WLAN) link162supported by access point138. In one or more embodiments, access point138supports communication using one or more IEEE 802.11 WLAN protocols. Access point138is connected to communication networks132via a cellular or wired connection. In one or more embodiments, communications subsystem106receives downlink channels164from GPS satellites166to obtain geospatial location information. Communications subsystem106can communicate via over-the-air (OTA) cellular connection168with network node(s)134.

Controller105includes processor subsystem170, which includes one or more central processing units (CPUs), depicted as data processor171. Processor subsystem170can include one or more digital signal processors172that are integrated with data processor171. Processor subsystem170can include other processors that are communicatively coupled to data processor171, such as baseband processors150of communication module148. In one or embodiments that are not depicted, controller105can further include distributed processing and control components that are external to housing173or grouped with other components, such as I/O subsystem108. Data processor171is communicatively coupled, via system interlink112, to memory subsystem106. In one or more embodiments, data processor171is communicatively coupled via system interlink112to communication subsystem106, I/O subsystem108, and data storage subsystem110. Controller105manages, and in some instances directly controls, the various functions and/or operations of communication device101. These functions and/or operations include, but are not limited to including, application data processing, communication with second communication devices, navigation tasks, image processing, and signal processing. In one or more alternate embodiments, communication device101may use hardware component equivalents for application data processing and signal processing. For example, communication device101may use special purpose hardware, dedicated processors, general purpose computers, microprocessor-based computers, micro-controllers, optical computers, analog computers, dedicated processors and/or dedicated hard-wired logic.

Memory subsystem106stores program code174for execution by processor subsystem170to provide the functionality described herein. Program code174includes applications such as communication application175having cross view module176and semantic-visual content association module177, and other applications178. In one or more embodiments, several of the described aspects of the present disclosure are provided via executable program code of applications executed by controller105. In one or more embodiments, program code174may be integrated into a distinct chipset or hardware module as firmware that operates separately from executable program code. Portions of program code174may be incorporated into different hardware components that operate in a distributed or collaborative manner. Implementation of program code174may use any known mechanism or process for doing so using integrated hardware and/or software, as known by those skilled in the art. Memory subsystem106further includes operating system (OS)179, firmware interface180, such as basic input/output system (BIOS) or Uniform Extensible Firmware Interface (UEFI), and firmware181. Memory subsystem106includes computer data182such as image categorization library183aused by semantic-visual content association module177to find word descriptions of visual objects. Memory subsystem106includes computer data182such as gesture mapping database183bused by semantic-visual content association module177to find word description interpretation for one or more gestures made by user or participant107a. Memory subsystem106includes computer data182such as lip reading mapping database183cused by semantic-visual content association module177to find word description interpretation for one or more mouth movements made by user or participant107a.

According to aspects of the present disclosure, semantic-visual content association module177determines a likelihood that at least one participant in a communication session is discussing, using semantic inputs103a-103b, what is being presented as visual content192a-192bat corresponding communication device101a-101b. This association indicates that a cross-view sharing context exists, whereby enabling both communication devices101a-101bto present visual content192a-192benhances the conversation or discussion. In an example, participants107a-10bmay be discussing different types of products, services, venues, navigation routes, people, hobbies, etc. Each participant may select, for presentation on a local user interface/display, an example of one of these items to propose to the other participant. As a picture may convey a significant amount of information, automatically accompanying the discussion with the visual content from the local user interface enhances the exchange of information in a nonintrusive way.

I/O subsystem108includes input devices184and output devices185. Input devices184may include microphone186, image capturing devices187, and touch input devices188. Output devices185may include audio output devices189and display190. Display190presents local user interface (UI)191athat includes first visual content192alocally selected by first participant107a. Display190may present remote UI191bshared by second communication device104and which includes second visual content192bremotely selected by second participant107b.

Data storage subsystem110of communication device101includes data storage device(s)193. Controller105is communicatively connected, via system interlink112, to data storage device(s)193. Data storage subsystem110provides program code174and computer data182stored on nonvolatile storage that is accessible by controller105. For example, data storage subsystem110can provide a selection of applications and computer data, such as communication application175and other application(s)178. These applications can be loaded into memory subsystem106for execution by controller105. In one or more embodiments, data storage device(s)193can include hard disk drives (HDDs), optical disk drives, and/or solid-state drives (SSDs), etc. Data storage subsystem110of communication device101can include removable storage device(s) (RSD(s))194, which is received in RSD interface195. Controller105is communicatively connected to RSD194, via system interlink112and RSD interface195. In one or more embodiments, RSD194is a non-transitory computer program product or computer readable storage device. Controller105can access data storage device(s)193or RSD194to provision communication device101with program code, such as program code for communication application175and other application(s)178, and with computer data182such as object image-semantic library183.

FIG.2depicts communication environment100that includes secure peer-to-peer connection201between first and second communication devices101a-101bthat share cross view visual content and exchange semantic input103a-103bproduced by participants107a-107b. First communication device101amay be similar or identical to communication device101ofFIG.1, including first communication subsystem102ahaving first transceiver152a, first controller105a, first input devices184a, first output device(s)185a, including first display190a, and first memory subsystem106a, which stores first communication application(s)175aand first trusted peer device data203a. Second communication device101bmay be similar or identical to communication device101ofFIG.1, including having second communication subsystem102bwith second transceiver152b, second controller105b, second input devices184b, second output devices185b, including second display190b, and second memory subsystem106b, which stores second communication application(s)175band second trusted peer device data203b.

First communication device101auses and updates first trusted peer device data203ato recognize second communication device101bas second trusted peer device109b, enabling secure peer-to-peer connection201. First communication device101amay discover second and third, and fourth trusted peer devices109b,109c, and109dthat respectively broadcast identifying signals205b,205c, and205dfor pairing or automatic secure connection if previously paired. Similarly, first communication device101abroadcasts identifying signal205athat enables first communication device101ato be discovered as first trusted peer device109aby second communication device104. Second communication device104as trusted peer device109buses and updates second trusted peer device data203b.

First communication application(s)175a, executed by first controller105a, present, at first display190a, first visual content192athat is locally user selectable on first user interface (“UI”)191a. In one or more embodiments, first cross-view mode control207ais presented at first display190a, enabling automatic sharing of visual content during a secure peer-to-peer communication session. Second cross-view mode control207bis presented at second display190b, also enabling automatic sharing of visual content during a secure peer-to-peer communication session. In response to a control input to first cross-view mode control207aand determining that secure peer-to-peer connection201is established, via first communication subsystem102a, with second communication device101b, first controller105aenables a cross-view mode with second communication device101b. First controller105a, via first communication subsystem102a, transmits a duplicate copy of first user interface191ato second communication device101bfor presenting at second display190b. First controller105a, via first communication subsystem102a, receives, via communication subsystem102afrom second communication device101b, second user interface191bthat includes second visual content192bthat is remotely user selectable and is being locally presented at second display190b. In an example, first controller105apresents, at first display190a, duplicate second user interface191b′ concurrently with first user interface191a.

In one or more embodiments, first controller105amonitors first input device(s)184afor user interactions with second user interface191b. In response to detecting a control input from first input device(s)184adirected at/within second user interface191b, first controller105atransmits first control input209ato second communication device101bto prompt performance of a corresponding action by second communication application175bat second communication device101b.

In one or more embodiments, in response to receiving, via first communication subsystem102bfrom second communication device101b, second control input209bdirected to first user interface191abeing presented at second display190b, first controller105aprompts first communication application175ato perform an action corresponding to second control input209b. Second communication device101breceives second control input209bfrom second input device(s)184b.

FIG.3Ais a front view of first display190aof first communication device101apresenting picture-in-picture cross view301having insert foreground presentation303of second UI191bcontaining second visual content192bover a portion of main background presentation305of first UI191acontaining first visual content192a. Participant107amay interact with picture-in-picture cross view301, such as swapping first and second visual content192a-192b. In an example,FIG.3Bis a front view of first display190aof first communication device101apresenting picture-in-picture cross view301having insert foreground presentation303of first visual content192aover a portion of main background presentation305of second visual content192b. Picture-in-picture cross view301is an example of supporting cross view within a constrained spatial area of first display190a.

FIG.4Ais a front view of first display190aof first communication device101apresenting cascaded cross view401of first and second visual content192a-192b. Cascaded cross view401has lower right presentation403of second UI191bcontaining second visual content192bmostly overlaid by top left presentation405of first UI191acontaining first visual content192a. Participant107amay interact with cascaded cross view401, such as selecting a different one of bottom right presentation303and top left presentation305to be on top. In an example,FIG.4Bis a front view of first display190aof first communication device101apresenting cascaded cross view401having insert bottom right presentation403moved to the top to expose second UI191bcontaining second visual content192bthat now overlays top left presentation305of first UI191acontaining first visual content192a. Cascaded cross view401is an example of supporting cross view within a constrained spatial area of first display190a.

FIGS.5A-5B(collectively “FIG.5”) are a flow diagram presenting example method500for automatically selecting cross-view screen sharing for a secure peer-to-peer application. The description of method500(FIGS.5A-5B) is provided with general reference to the specific components illustrated within the precedingFIGS.1-2,3A-3B and4A-4B. Specific components referenced in method500(FIGS.5A-5B) may be identical or similar to components of the same name used in describing precedingFIGS.1-2,3A-3B and4A-4B. In one or more embodiments, controller105configures communication device101(FIG.1) or UE101a(FIGS.2,3A-3B and4A-4B) to provide the described functionality of method500(FIGS.5A-5B).

With reference toFIG.5A, method500includes configuring a transceiver of an electronic device to discover one or more trusted peer devices that are in proximity to the electronic device (block502). Method500includes wirelessly receiving, via the communication subsystem, an identifying signal from a second electronic device (block504). Method500includes establishing a secure peer-to-peer communication session in response to identifying the second electronic device as a trusted peer (block506). Method500includes executing, by a processor of the first electronic device, at least one application to present a first user interface at a first display of the first electronic device (block508). Method500includes presenting a cross-view mode control at the first display (block510). Method500includes monitoring at least one input device for user selection of the cross-view mode control while in a previously selected or default non-shared view mode (block512). Method500includes determining whether an input to the cross-view mode control is received (decision block514). In response to determining that an input to the cross-view mode control is not received, method500returns to block514. In response to determining that an input to the cross-view mode control is received, method500includes enabling the cross-view mode of sharing of user interface content between the first and the second electronic devices across the secure peer-to-peer connection (block516). Method500includes transmitting a duplicate of the first user interface to the second electronic device for presenting at the second display (block518). Then method500proceeds to block520ofFIG.5B.

With reference toFIG.5B, method500includes receiving, via the communication subsystem from the second electronic device, a second user interface being presented at the second display (block520). Method500includes presenting, at the first display, the second user interface concurrently with the first user interface (block522). Method500includes monitoring at least one input device for user interactions with the second user interface (block524). Method500includes determining whether a control input is detected from the at least one input device directed at/within the second user interface (decision block526). In response to detecting a control input from the at least one input device directed at/within the second user interface, method500includes transmitting the control input to the second electronic device to prompt performance of a corresponding action by at least one second application at the second electronic device (block528). In response to not detecting a control input from the at least one input device directed at/within the second user interface or after block528, method500includes determining whether a control input is received, via the communication subsystem from the second electronic device, directed to the first user interface being presented at the second display (decision block530). In response to determining that a control input is received, via the communication subsystem from the second electronic device, directed to the first user interface being presented at the second display, method500includes prompting the at least one application to perform an action corresponding to the control input, the control input provided by at least one second input device at the second electronic device (block532). In response to determining that a control input is not received, via the communication subsystem from the second electronic device, directed to the first user interface being presented at the second display in decision block530or after block532, method500ends.

In one or more embodiments, method500further includes identifying one of the first and the second user interface as a main background presentation of a picture-in-picture (PIP) format. Method500includes identifying another one of the first and the second user interface as an insert foreground presentation of the PIP format. Method500includes presenting the first and the second user interfaces via the PIP format at the first display. In one or more particular embodiments, method500further includes monitoring at least one input device for user selection/input of a PIP switch function. In response to detecting the user input, method500includes switching the first and the second user interfaces between the main background presentation and the insert foreground presentation.

In one or more embodiments, method500further includes arranging the first and the second user interfaces for concurrent (e.g., side-by-side) presentation in response to determining that the first display has a size characteristic greater than a size threshold for simultaneous viewing. In one or more particular embodiments, method500further includes cascading the first and the second user interfaces for selective viewing in response to determining that the first display has a size characteristic that is less than or equal to a size threshold. The size characteristic may be defined at least in part as a minimum size for legibly presenting text or graphical images. The size characteristic may be defined at least in part on physical dimensions of a display. The size characteristic may be defined at least in part on resolution capabilities of the display.

FIG.6is a block diagram of network electronic device601that facilitates sharing cross views of visual content between at least first and second communication devices101a-101bvia external network124. Network electronic device601may have identical or similar components and functionality as described above for communication device101ofFIG.1. In one or more embodiments, network electronic device601includes third communication subsystem102c, third controller105c, third memory subsystem106c, and third data storage subsystem110c. Third controller105cis communicatively connected to third communication subsystem102c, third memory subsystem106c, and third data storage subsystem110cvia third system interlink112c. In an example, third communication subsystem102cis connectable to communication network132. Network electronic device601may be a network server having third communication subsystem102cthat omits wireless and cellular capabilities, being communicatively coupled to external network124via third network interface(s)114cand network cable120. In an example, first and second communication devices101a-101bcan be wirelessly connected to communication networks132that are communicatively connected to external networks124.

According to aspects of the present disclosure, third controller105cestablishes, via third communication subsystem102cand communication network132, a communication session between first and second electronic devices, such as first communication device101aand second communication device101b. During the communication session, third controller105cof network electronic device601communicates, to second communication device101b, first semantic input received by first input device(s)184aof first communication device101afor presenting by second output device(s)185bof second communication device101b. Third controller105cidentifies first visual content192aselected via first input device(s)184aand presented by first user interface191avia first output device(s)185aof first communication device101a. In response to determining that first semantic input103ais associated with first visual content192a, third controller105ccommunicates first user interface191ato second communication device101bfor presenting first user interface191aby second output device(s)185bin addition to content locally presented on second output device(s)185b. During the communication session, third controller105ccommunicates second semantic input103bby second participant107breceived by second input device(s)184bof second communication device101bto first communication device101afor presenting by first output device(s)185ato first participant107a. Third controller105cidentifies second visual content192bselected by second participant107band presented by second user interface191bvia second output device(s)185bof second communication device101b. In response to determining that second semantic input103bis associated with second visual content192bindicating a cross-view context, third controller105ccommunicates second user interface191bto first communication device for presenting by first output device(s)185bconcurrently with first user interface191a.

FIGS.7A-7B(collectively “FIG.7”) are a flow diagram presenting method700that automates sharing of visual content from one or both communication devices in response to an association between semantic and visual content.FIG.8is a flow diagram presenting method800that augments the method ofFIGS.7A-7Bby automating sharing of cross view visual content in additional scenarios. The description of method700(FIGS.7A-7B) and method800(FIG.8) is provided with general reference to the specific components illustrated within the precedingFIGS.1-2,3A-3B,4A-4B, and 6 Specific components referenced in method700(FIGS.7A-7B) and method800(FIG.8) may be identical or similar to components of the same name used in describing precedingFIGS.1-2,3A-3B,4A-4B and6. In one or more embodiments, third controller105cconfigures network electronic device601(FIG.6) to provide the described functionality of method700(FIGS.7A-7B) and method800(FIG.8).

With reference toFIG.7A, method700includes establishing, via a communication subsystem of a network device that connects to a communication network, a communication session between a first electronic device and a second electronic device (block702). Method700includes, during the communication session, communicating, to the second electronic device, first semantic input received by at least one first input device of the first electronic device for presenting by at least one second output device of the second electronic device (block704). Method700includes identifying first visual content selected via the at least one first input device and presented by at least one first user interface via at least one first output device of the first electronic device (block706). Method700includes determining whether the first semantic input is associated with the first visual content (decision block708). In response to determining that the first semantic input is associated with the first visual content, method700includes communicating a duplicate copy of the first user interface to the second electronic device for presenting the first user interface by the at least one second output device in addition to content locally presented on the second output device (block710). In response to determining that the first semantic input is not associated with the first visual content in decision block708or after block710, method700includes, during the communication session, communicating second semantic input as part of a conversation or discussion that is received by at least one second input device of the second electronic device to the first electronic device for presenting by the at least one first output device (block712). In one embodiment, a second participant speaks, types, or gestures the second semantic input to the second electronic device for transmitting to the first electronic device, which presents the second semantic input to the first participant. Then method700proceeds to block714ofFIG.7B.

With reference toFIG.7B, method700includes identifying second visual content selected and presented by at least one second user interface via at least one second output device of the second electronic device (block714). Method700includes determining whether the second semantic input is associated with the second visual content (decision block716). A conversation or discussion that includes the second input is associated with the second visual content. The association indicates that a second participant is discussing what is being presented as the second visual content (i.e., a cross-view sharing context). In response to determining that the second semantic input is associated with the second visual content, indicating a cross-view sharing context, method700includes communicating a duplicate copy of the second user interface to the first electronic device for presenting by the at least one first output device concurrently with the first user interface (block718). In response to determining that the second semantic input is associated with the second visual content, indicating a cross-view context, in decision block716or after block718, method700ends.

With reference toFIG.8, method800includes accessing and identifying each of one or more enablement settings for cross view mode and accessing current context of communication session (block802). In an example, a first enablement setting may require that a secure communication session is established between trusted peers (e.g., secure P2P connection, secure connection over a communication network, etc.). In another example, a second enablement setting may require that both communication devices be identified as using an identical or complementary communication application that has a capacity to support a cross-view mode. In an additional example, a third enablement setting may require that both communication devices be pre-approved for cross-view mode. A user may turn on and turn off automatic cross-view mode, for instance, when viewing private content during a communication session. Method800includes determining whether the one or more enablement settings are satisfied by the current context of the communication session (decision block804). In response to determining that the one or more enablement settings are not satisfied, method800ends. In response to determining that that the one or more enablement settings are satisfied, method800includes determining respective associations between each of the first and the second semantic inputs and the first and the second visual content (block806).

Method800includes evaluating for a first cross view context by determining, during a threshold period of time, that both: (i) the first visual content is associated with the first semantic input; and (ii) the second visual content is associated with the second semantic input (block808). In this first cross-view context, the first participant is discussing what the first participant is viewing and/or the second participant is discussing what the second participant is viewing. Method800includes determining whether the first cross view context exists (decision block810). In response to determining that the first cross view context exists, method800includes communicating a duplicate copy of the first user interface to the second electronic device for presenting the first user interface by the at least one second output device in addition to content locally presented on the second output device for automated cross view screen sharing (block812). Method800includes communicating a duplicate copy of the second user interface to the first electronic device for presenting the second user interface by the at least one first output device in addition to content locally presented on the first output device for automated cross view screen sharing (block814). Then method800ends.

In response to determining that the first cross view context does not exist in decision block810, method800includes evaluating for a second cross view context (block816). In an example, the evaluation for a second cross-view context may be based on determining, during a threshold period of time, that the first semantic input is associated with both the first and the second visual content. In another example, the evaluation for a second cross-view context may be based on determining, during a threshold period of time, that the second semantic input is associated with both the first and the second visual content. The second cross-view context is identified when the first participant is discussing both what the first participant is viewing and what the second participant is viewing. The second cross-view context is also identified when the second participant is discussing both what the first participant is viewing and what the second participant is viewing. Method800includes determining whether the second cross view context exists (decision block818). In response to determining that the second cross view context exists, method800returns to block812. In response to determining that the second cross view context does not exist, method800ends.

FIG.9depicts a functional block diagram of communication environment100including at least two electronic devices such as first and second communication devices101a-101bthat each selectively share visual content for cross view sharing based on associations detected during exchanges of semantic content. First controller105aof first communication device101aestablishes, via first communication subsystem102a, a communication session with second communication device101bto facilitate a semantic communication such as conversation or discussion-between first communication device101aand second communication device101b. In an example, first and second communication devices101a-101bare directly communicatively connected via an ad hoc wireless or a sidelink cellular link901. In another example, first and second communication devices101a-101bare indirectly communicated connected via external network124or communication networks132. First controller105apresents first user interface191avia first output device(s)185a. First user interface191acontains first visual content192athat is user selected via inputs received by first input device(s)184a. First controller105atransmits, via communication subsystem102ato second communication device101b, first semantic input103areceived by first input device(s)184a. In response to associating first semantic input103awith first visual content192a, first controller105atransmits first user interface191ato second communication device101b. First controller105areceives, via communication subsystem102afrom second communication device101b, second semantic input103bentered at second communication device101b. First controller105apresents second semantic input103bvia first output device(s)185a. First controller105adetermines whether second semantic input103bis associated with first visual content192a. In response to determining that second semantic input103bis associated with first visual content192a, first controller105atransmits first user interface191ato second communication device101b.

FIGS.10A-10C(collectively “FIG.10”) are a flow diagram presenting method1000that automates sharing of visual content by a first communication device with a second communication device in response to an association between semantic and visual content. The description of method1000(FIGS.10A-10C) is provided with general reference to the specific components illustrated within the precedingFIGS.1-2,3A-3B,4A-4B,6and9. Specific components referenced in method1000(FIGS.10A-10C) may be identical or similar to components of the same name used in describing precedingFIGS.1-2,3A-3B,4A-4B,6and9. In one or more embodiments, controller105(FIG.1) or controller105a(FIG.9) configures communication device101(FIG.1) or first communication device101a(FIG.9) respectively to provide the described functionality of method1000(FIGS.10A-10C).

With reference toFIG.10A, method1000includes establishing a communication session to facilitate a semantic communication exchange by executing, by a processor of an electronic device, a first communication application to establish the communication session and to communicate with a second communication application executed by a second electronic device (block1002). For clarity, method1000is described as cross-view sharing between two electronic devices. In one or more embodiments, method1000may be extended to doing cross-view sharing between more than two electronic devices. In an example, a copy of visual content of/on a user interface may be shared and prominently presented at the other electronic device(s) while a participant using a corresponding electronic device is an active speaker.

In one or more embodiments, the first electronic device may determine/identify cross-view sharing context and initiate cross-view sharing context in a one-sided manner based on monitoring the first and the second semantic inputs and the first visual content. The second electronic device may similarly determine/identify cross-view sharing context and initiate a second cross-view sharing context in an opposite one-sided manner based on monitoring the first and the second semantic inputs and the second visual content. Either electronic device may be disabled from entering a cross-view sharing mode and refuse to receive and present visual content from the other electronic device. For clarity, method1000depicts a consensus between the first and the second electronic devices that both are enabled to automatically exchange visual content in a cross-view mode before exchanging copies of user interfaces and/or visual content. In one or more embodiments, the enablement may be a predefined setting for each electronic device that is communicatively connected to the other electronic device. The predefined setting may be set by a manufacturer or distributor of each electronic device. Alternatively, or in addition, each electronic device may receive the setting, or an update to currently predefined setting, from a user of the corresponding electronic device.

Method1000includes presenting a first user interface via at least one first output device of the first electronic device, the first user interface containing first visual content that is user selected via inputs received by at least one first input device of the first electronic device (block1006). Method1000includes determining whether the communication session supports an exchange of semantic inputs and cross-view sharing between two electronic devices (decision block1004). In response to determining that the communication session does not support semantic inputs and cross-view sharing between two electronic devices, method1000ends. In response to determining that the communication session supports exchange of semantic inputs and cross-view sharing, method1000includes presenting a cross-view control selectable option via at least one first output device of the first electronic device (block1008). Method1000includes determining whether an input is received from at least one first input device of the first electronic device enabling the cross-view control (decision block1010). In response to determining that the input is not received enabling the cross-view control from the at least on first input device, method1000ends. In response to determining that the input is received enabling the cross-view control from the at least one first input device, method1000includes transmitting an automatic cross-view mode request, via the first communication subsystem, to the second electronic device (block1012). Method1000includes determining whether acceptance is received from the second electronic device to the automatic cross-view mode request (decision block1014). In response to determining that the acceptance is not received enabling the cross-view control from the second electronic device, method1000ends.

In response to determining that the acceptance enabling the cross-view control is received from the second electronic device, method1000includes monitoring for first semantic inputs received by at least one first input device of the first electronic device (block1016). Method1000includes determining whether first semantic inputs are received (decision block1018). In response to determining that first semantic inputs are not received, method1000proceeds to block1040). In response to determining that first semantic inputs are received, method1000includes transmitting, via the communication subsystem to the second electronic device, the first semantic input received by the at least one first input device (block1020). Method1000includes determining whether the first semantic input is associated with the first visual content (decision block1022). In response to determining that the first semantic input is not associated with the first visual content, method1000proceeds to block1032. In response to determining that the first semantic input is associated with the first visual content, method1000includes transmitting a duplicate copy of the first user interface to the second electronic device for presenting of the first user interface within a second display device concurrently with a second user interface of the second electronic device (block1024). In one or more embodiments, method1000includes communicating a duplicate copy of the first user interface to the second electronic device based in part on identifying that the communication session is a secure communication session between trusted peers.

Method1000includes monitoring for receipt, via the communication subsystem from the second electronic device, a second user input entered at the second electronic device to the duplicate copy of the first user interface presented at the at least one second output device (block1026). Method1000includes determining whether the second user input is received (decision block1028). In response to determining that the second user input is received, method1000includes triggering a response to the second user input from the first communication application that generates the first user interface (block1030).

In response to determining that the first semantic input is not associated with the first visual content in decision block1022, or in response to determining that the second user input is not received in decision block1028, or after block1030, method1000includes monitoring for second semantic input that is received, via the first communication subsystem, from the second electronic device (block1032). Method1000includes determining whether the second semantic input is received (decision block1034). In response to determining that the second input is not received, method1000proceeds to block1040.

In response to determining that the second input is received, method1000includes presenting the second semantic input via the at least one first output device (block1036). Method1000includes determining whether the second semantic input is associated with the first visual content (decision block1038). In response to determining that the second semantic input is associated with the first visual content, method1000returns to block1024.

In response to determining that the second semantic input is not associated with the first visual content in decision block1032or after block1034, method1000includes monitoring for a duplicate copy of a second user interface that is received via the first communication subsystem from the second electronic device (block1040). Method1000includes determining whether the duplicate copy of the second user interface is received (decision block1042). In response to determining that the duplicate copy of the second user interface is not received from the second electronic device, method1000ends. In response to determining that a duplicate copy of the second user interface is received from the second electronic device, method1000includes presenting the duplicate copy of the second user interface via the at least one first output device (block1044). Method1000includes monitoring for an input from the at least one first input device directed to the duplicate copy of the second user interface (block1046). Method1000includes determining whether a first input is received directed to the duplicate copy of the second user interface (decision block1048). In response to determining that the first input is not received directed to the duplicate copy of the second user interface, method1000ends. In response to determining that the first input is received directed to the duplicate copy of the second user interface, method1000includes communicating the first input to the second communication application at the second electronic device (block1050). In one or more embodiments, the second communication application responds to the input to the duplicate copy of the second user interface in the same manner as if the input was made directly to the second user interface. Then method1000ends.

Aspects of the present innovation 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 innovation. 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, create means for implementing the functions/acts specified in the flowchart and/or block diagram block or blocks.

As will be appreciated by one skilled in the art, embodiments of the present innovation may be embodied as a system, device, and/or method. Accordingly, embodiments of the present innovation may take the form of an entirely hardware embodiment or an embodiment combining software and hardware embodiments that may all generally be referred to herein as a “circuit,” “module” or “system.”

While the innovation has been described with reference to exemplary embodiments, it will be understood by those skilled in the art that various changes may be made, and equivalents may be substituted for elements thereof without departing from the scope of the innovation. In addition, many modifications may be made to adapt a particular system, device, or component thereof to the teachings of the innovation without departing from the essential scope thereof. Therefore, it is intended that the innovation not be limited to the particular embodiments disclosed for carrying out this innovation, but that the innovation will include all embodiments falling within the scope of the appended claims. Moreover, the use of the terms first, second, etc. do not denote any order or importance, but rather the terms first, second, etc. are used to distinguish one element from another.

The terminology used herein is for the purpose of describing particular embodiments only and is not intended to be limiting of the innovation. As used herein, the singular forms “a”, “an” and “the” are intended to include the plural forms as well, unless the context clearly indicates otherwise. It will be further understood that the terms “comprise” and/or “comprising,” when used in this specification, specify the presence of stated features, integers, steps, operations, elements, and/or components, but do not preclude the presence or addition of one or more other features, integers, steps, operations, elements, components, and/or groups thereof.

The corresponding structures, materials, acts, and equivalents of all means or step plus function elements in the claims below are intended to include any structure, material, or act for performing the function in combination with other claimed elements as specifically claimed. The description of the present innovation has been presented for purposes of illustration and description but is not intended to be exhaustive or limited to the innovation in the form 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 innovation. The embodiments were chosen and described in order to best explain the principles of the innovation and the practical application, and to enable others of ordinary skill in the art to understand the innovation for various embodiments with various modifications as are suited to the particular use contemplated.