WO2015138419A1 - Video chat picture-in-picture - Google Patents

Video chat picture-in-picture Download PDF

Info

Publication number
WO2015138419A1
WO2015138419A1 PCT/US2015/019656 US2015019656W WO2015138419A1 WO 2015138419 A1 WO2015138419 A1 WO 2015138419A1 US 2015019656 W US2015019656 W US 2015019656W WO 2015138419 A1 WO2015138419 A1 WO 2015138419A1
Authority
WO
WIPO (PCT)
Prior art keywords
video chat
computing device
chat window
user
video
Prior art date
Application number
PCT/US2015/019656
Other languages
French (fr)
Inventor
Laura PARAGANO
David Young CHUNG
Original Assignee
Google Inc.
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Google Inc. filed Critical Google Inc.
Priority to KR1020167028494A priority Critical patent/KR101754050B1/en
Priority to JP2016556928A priority patent/JP6396490B2/en
Priority to AU2015229639A priority patent/AU2015229639B2/en
Priority to EP15762277.0A priority patent/EP3117540B1/en
Priority to CN201580013397.0A priority patent/CN106165320B/en
Publication of WO2015138419A1 publication Critical patent/WO2015138419A1/en

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N7/00Television systems
    • H04N7/14Systems for two-way working
    • H04N7/141Systems for two-way working between two video terminals, e.g. videophone
    • H04N7/147Communication arrangements, e.g. identifying the communication as a video-communication, intermediate storage of the signals
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/011Arrangements for interaction with the human body, e.g. for user immersion in virtual reality
    • G06F3/013Eye tracking input arrangements
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/03Arrangements for converting the position or the displacement of a member into a coded form
    • G06F3/0304Detection arrangements using opto-electronic means
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0481Interaction techniques based on graphical user interfaces [GUI] based on specific properties of the displayed interaction object or a metaphor-based environment, e.g. interaction with desktop elements like windows or icons, or assisted by a cursor's changing behaviour or appearance
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/02Details
    • H04L12/16Arrangements for providing special services to substations
    • H04L12/18Arrangements for providing special services to substations for broadcast or conference, e.g. multicast
    • H04L12/1813Arrangements for providing special services to substations for broadcast or conference, e.g. multicast for computer conferences, e.g. chat rooms
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/02Details
    • H04L12/16Arrangements for providing special services to substations
    • H04L12/18Arrangements for providing special services to substations for broadcast or conference, e.g. multicast
    • H04L12/1813Arrangements for providing special services to substations for broadcast or conference, e.g. multicast for computer conferences, e.g. chat rooms
    • H04L12/1827Network arrangements for conference optimisation or adaptation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N5/00Details of television systems
    • H04N5/44Receiver circuitry for the reception of television signals according to analogue transmission standards
    • H04N5/445Receiver circuitry for the reception of television signals according to analogue transmission standards for displaying additional information
    • H04N5/45Picture in picture, e.g. displaying simultaneously another television channel in a region of the screen
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N7/00Television systems
    • H04N7/14Systems for two-way working
    • H04N7/141Systems for two-way working between two video terminals, e.g. videophone
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2203/00Indexing scheme relating to G06F3/00 - G06F3/048
    • G06F2203/048Indexing scheme relating to G06F3/048
    • G06F2203/04806Zoom, i.e. interaction techniques or interactors for controlling the zooming operation

Definitions

  • the present disclosure relates generally to video chat software and, more particularly, to techniques for automatically resizing/repositioning a video chat window for multitasking purposes based on a user's interaction with the video chat window.
  • a computer-implemented technique can include initiating, at a computing device having one or more processors, a video chat session with another computing device via a network, the video chat session being initiated in a web browser executing at the computing device.
  • the technique can include displaying, at the computing device, a video chat window in the web browser in response to initiating the video chat session, the video chat window displaying a video stream received from the other computing device.
  • the technique can include detecting, at the computing device, a first action by the user indicative of a lack of interaction with the video chat window, the first action including at least one of: (i) input by the user to the computing device that causes a new web browser tab to be displayed at the computing device, and (ii) a lack of eye contact by the user on the video chat window for longer than a first predetermined period based on video data captured by a video camera associated with the computing device.
  • the technique can include in response to detecting the first action, automatically shrinking and repositioning, at the computing device, the video chat window to obtain a modified video chat window.
  • the technique can include detecting, at the computing device, a second action by the user indicative of interaction with the video chat window, the second action including at least one of: (i) a lack of input by the user via at least one of a keyboard, a mouse, and a touch display associated with the computing device for longer than a second predetermined period, (ii) voice data captured by a microphone associated with the computing device for longer than a third predetermined period, and (iii) eye contact by the user on the modified video chat window for longer than a fourth predetermined period based on the video data captured by the video camera.
  • the technique can also include in response to detecting the second action, automatically enlarging and repositioning, at the computing device, the modified video chat window to obtain the video chat window.
  • the technique can include initiating, at a computing device having one or more processors, a video chat session with another computing device via a network.
  • the technique can include displaying, at the computing device, a video chat window in response to initiating the video chat session, the video chat window displaying a video stream received from the other computing device.
  • the technique can include detecting, at the computing device, a lack of interaction between a user of the computing device and the video chat window.
  • the technique can include in response to detecting the lack of interaction between the user and the video chat window, at least one of automatically resizing and automatically repositioning, at the computing device, the video chat window.
  • the lack of interaction includes a lack of eye contact by the user on the video chat window for longer than a first predetermined period.
  • the technique further includes detecting the lack of eye contact by the user on the video chat window based on the video data captured by the video camera with respect to the computing device.
  • At least one of automatically resizing and automatically repositioning the video chat window further includes: in response to detecting the lack of interaction between the user and the video chat window, automatically shrinking, at the computing device, the video chat window to obtain a modified video chat window, and automatically repositioning, at the computing device, the modified video chat window to a corner of the display.
  • the technique further includes: detecting, at the computing device, interaction between the user and the modified video chat window, and in response to detecting the interaction between the user and the modified video chat window, automatically enlarging the modified video chat window to obtain the video chat window.
  • the interaction includes a lack of input by the user via at least one of a keyboard, a mouse, and the display associated with the computing device for longer than a second predetermined period.
  • the interaction includes voice data captured by a microphone associated with the computing device for longer than a third predetermined period.
  • the interaction includes eye contact by the user on the video chat window for longer than a fourth predetermined period based on video data captured by a video camera associated with the computing device.
  • the video chat session is implemented by a video chat application extension or add-on in a web browser executing at the computing device, wherein the video chat window is displayed in the web browser.
  • the lack of interaction includes input by the user to the computing device that causes a new web browser tab to be displayed at the computing device.
  • a computing device is also presented.
  • the computing device can include a video camera, a communication device, one or more processors, and a display.
  • the video camera can be configured to capture video data with respect to the computing device.
  • the communication device can be configured for communication with another computing device via a network.
  • the one or more processors can be configured to initiate a video chat session with the other computing device.
  • the one or more processors can be configured to output a video chat window at the display in response to initiating the video chat session, the video chat window configured to display a video stream received from the other computing device.
  • the one or more processors can be configured to detect a lack of interaction between a user of the computing device and the video chat window.
  • the one or more processors can also be configured to in response to detecting the lack of interaction between the user and the video chat window, at least one of automatically resize and automatically reposition the video chat window.
  • the display can be configured to display the video chat window.
  • the lack of interaction includes a lack of eye contact by the user on the video chat window for longer than a first predetermined period.
  • the one or more processors are further configured to detect the lack of eye contact by the user on the video chat window based on the video data captured by the video camera.
  • the one or more processors are configured to: in response to detecting the lack of interaction between the user and the video chat window, automatically shrink the video chat window to obtain a modified video chat window, wherein the display is further configured to display the modified video chat window, and automatically reposition the modified video chat window to a corner of the display.
  • the one or more processors are further configured to: detect interaction between the user and the modified video chat window; and in response to detecting the interaction between the user and the modified video chat window, automatically enlarge the modified video chat window to obtain the video chat window.
  • the interaction includes a lack of input by the user via at least one of a keyboard associated with the computing device, a mouse associated with the computing device, and the display when the display is a touch display, for longer than a second predetermined period.
  • the interaction includes voice data captured by a microphone associated with the computing device for longer than a third predetermined period.
  • the interaction includes eye contact by the user on the video chat window for longer than a fourth predetermined period based on the video data captured by the video camera.
  • the video chat session is implemented by a video chat application extension or add-on in a web browser executing at the computing device, wherein the video chat window is displayed in the web browser, and wherein the lack of interaction includes input by the user to the computing device that causes a new web browser tab to be displayed at the computing device.
  • FIG. 1 is a diagram of a computing network including an example computing device according to some implementations of the present disclosure
  • FIG. 2 is a functional block diagram of the example computing device of FIG. 1 ;
  • FIG. 3 is a view of a display of the example computing device of FIG 1. displaying a web browser having a modified video chat window;
  • FIG. 4 is a flow diagram of an example technique for resizing/repositioning a video chat window based on a user's interaction with the video chat window according to some implementations of the present disclosure.
  • PIP video chat picture-in-picture
  • the techniques of the present disclosure include automatically resizing/repositioning a video chat window based on a user's interaction (or lack of interaction) with the video chat window and without any manual resizing/repositioning or other similar input by the user. These techniques can be particularly useful for the user's multitasking purposes, e.g., video chatting and web browsing or document editing simultaneously.
  • the computing system 100 can include computing devices 104a and 104b (collectively “computing devices 104") that are operated by users 108a and 108b (collectively "users 108"), respectively.
  • the computing devices 104 can be configured to communicate with each other via a network 112. Examples of the computing devices 104 include desktop computers, laptop computers, tablet computers, and mobile phones. While two computing devices 104 are illustrated, it should be appreciated that the computing network 100 can include three or more computing devices 104 that can communicate with each other for a group video chat session.
  • the network 112 can include a local area network (LAN), a wide area network (WAN), e.g., the Internet, or a combination thereof.
  • the computing devices 104 include peripheral components.
  • the computing devices 104 include displays 116a and 116b (collectively “displays 116") having display areas 120a and 120b (collectively "display areas 120"), respectively.
  • the displays 116 are touch displays.
  • the computing devices 104 also include video cameras 124a and 124b (collectively "video cameras 124").
  • the video cameras 124 can each be configured to capture video data with respect to its respective computing device 104.
  • the video cameras 124 can be configured to capture video data of the users 108.
  • the computing devices 104 can also include other input devices, such as keyboards 128a and 128b (collectively “keyboards 128”) and mice 132a and 132b (collectively “mice 132").
  • the computing device 104 can include a communication device 200, a processor 204, and a memory 208.
  • the computing device 104 can also include the display 116, the video camera 124, the keyboard 128, and the mouse 132 (collectively "user interface devices 212").
  • the user interface devices 212 are configured for interaction with the user 108.
  • the user interface 212 can further include a microphone 220 and a speaker 224.
  • the communication device 200 is configured for communication between the processor 204 and other devices, e.g., the other computing device 104, via the network 112.
  • the communication device 200 can include any suitable communication components, such as a transceiver. Specifically, the communication device 200 can transmit a request to initiate the video chat session and can provide a response to this request to the processor 204. The communication device 200 can then handle transmission and receipt of the various video streams between the computing devices 200 during the video chat session.
  • the memory 208 can be configured to store information at the computing device 104, such as video chat settings for the user 108, which are discussed in greater detail below.
  • the memory 208 can be any suitable storage medium (flash, hard disk, etc.).
  • the processor 204 can be configured to control operation of the computing device 104. It should be appreciated that the term "processor” as used herein can refer to both a single processor and two or more processors operating in a parailel or distributed architecture.
  • the processor 204 can be configured to perform general functions including, but not limited to, loading/executing an operating system of the computing device 104, controlling communication via the communication device 200, and controlling read/write operations at the memory 208.
  • the processor 204 can also be configured to perform specific functions relating to at least a portion of the present disclosure including, but not limited to, loading/executing web browser software at the computing device 104, initiating/controlling the video chat session, and controlling the display 116, including resizing/repositioning the video chat window, which is described in greater detail below with reference to FIG. 3.
  • FIG. 3 a diagram of the display 116 of one of the example computing devices 104 is illustrated.
  • the computing device 104 can load and execute a web browser 304, which is illustrated as a window with respect to the display area 120 of the display 116. While the web browser 304 is specifically discussed, it should be appreciated that the video chat session could be initiated via an operating system or another application, such as a standalone video chat application.
  • the web browser 304 may not occupy the entire display area 120, e.g., due to toolbars or other borders (not shown).
  • the web browser 304 is configured to initiate the video chat session, which includes displaying a video chat window 308. As illustrated, the video chat window 308 occupies the entirety of the web browser 304.
  • the video chat window 308 could occupy a majority of, but less than the entire web browser 304, e.g., due to toolbars or other borders.
  • the video chat window 308 can also be referred to as a full or maximized video chat window 308.
  • the video chat window 308 can be a default configuration in response to initiating the video chat session.
  • a modified video chat window 312 is also illustrated.
  • the modified video chat window 312 represents a resized and repositioned version of the video chat window 308.
  • the video chat window 308 has been shrunk and repositioned to a bottom right corner of the web browser 304 to obtain the modified video chat window 312.
  • other configurations for the modified video chat window 312 could be implemented, such as smaller/top right, smaller/top left, or smaller/bottom left.
  • the specific configuration of the modified video chat window 312 can be customizable by the user 108.
  • the user 108 may prefer having the modified video chat window 312 in a specific size and/or position configuration to optimize their multitasking efficiency or because of visual impairments of the user 108.
  • the modified video chat window 312 can also follow transitions by the user 108 to other tabs of the web browser 304, which is described in greater detail below.
  • tab can refer to another web page being displayed within a single web browser window, and the various tabs could be displayed along a toolbar or border, e.g., at a top of the web browser 304.
  • the processor 204 can load and execute the web browser 304. Via the web browser 304, the user 108 can initiate the video chat session. For example, the user 108 can select an option within the web browser 304 to initiate the video chat session. This can be referred to as a request from the user 108 to initiate the video chat session. In response to receiving this request, the processor 204 can initiate the video chat session with the other computing device, e.g., computing device 104b, which can include a handshake operation and then transmitting/receiving respective video streams via the communication device 200. The processor 204 can then output the received video stream in the video chat window 308 via the display 1 16. As previously discussed, the default configuration could be the full or maximized video chat window 308.
  • the other computing device e.g., computing device 104b
  • the processor 204 can then output the received video stream in the video chat window 308 via the display 1 16.
  • the default configuration could be the full or maximized video chat window 308.
  • the user 108 can interact with the video chat window 308 in different ways.
  • the user 108 may wish to multitask during the video chat session.
  • the user 108 may wish to view a web page during the video chat session.
  • the user 108 can perform actions that are indicative of a lack of interaction with the video chat window 308.
  • One example action that is indicative of a lack of interaction is the user 108 providing input to open a new tab of the web browser 304.
  • the user 108 could open a new window of the web browser 304, and the video chat session could then be transferred to the new web browser window.
  • Another example action that is indicative of a lack of interaction is a lack of eye contact with the video chat window 308 for longer than a first predetermined period.
  • the eye contact by the user 108 could be detected by the processor 204 by analyzing video data captured by the video camera 124 using suitable video processing algorithms.
  • the first predetermined period could be, for example, a few seconds, and in some implementations, could be specified by the user 108.
  • the phrases "lack of interaction,” “lack of eye contact,” and “lack of input” as used herein can refer to no interaction, no eye contact, and no input, respectively, or to levels of interaction, eye contact, and input less than a specific threshold.
  • a lack of eye contact could be detected even though the user 108 makes split-second eye contact with the specific video chat window during the respective predetermined period.
  • a lack of input could be detected even though the user 108 makes a single input, such as an accidental input, via one or more of the user input devices 212 during the respective predetermined period.
  • the processor 204 can automatically resize and/or reposition the video chat window 308 to obtain the modified video chat window 312. As shown in FIG. 3, the processor 204 can shrink the video chat window 308 and reposition the video chat window 308 to the bottom right corner of the web browser 304 to obtain the modified video chat window 312. in some implementations, the processor 204 could shrink and not reposition the video chat window 308 to obtain the modified video chat window 312. in other implementations where the video chat window 308 is not full or maximized, the processor 204 could reposition and not shrink the video chat window 308 to obtain the modified video chat window 312.
  • the modified video chat window 312 could also be displayed in the new tab of the web browser 304, effectively following the user 108 across the various tabs.
  • the video chat session is configured via an extension or add-on to the web browser 304. In this manner, manipulation of the modified video chat window 312 across different tabs can be easily and seamlessly achieved.
  • the user 108 may wish to interact with the modified video chat window 312 to a greater degree.
  • the user 108 may be done with multitasking, in these cases, the user 108 can perform other actions indicative of interaction with the modified video chat window 312.
  • One example of these actions is a lack of physical/touch input by the user 108 for longer than a second predetermined period.
  • This physical/touch input by the user 108 can include input via the keyboard 128, the mouse 132, or the display 116 when the display 116 is a touch display.
  • the second predetermined period could be, for example, a few seconds, and in some implementations, could be specified by the user 108.
  • the lack of a physical/touch input can indicate that the user 108 is done multitasking.
  • Another example of these actions is detection of voice data, which is captured by the microphone 220, for longer than a third predetermined period. The detection of voice data by the microphone 220 indicates that the user 108 is providing speech input and is thus interacting with the modified video chat window 312.
  • the processor 204 can receive the voice data and process the voice data using suitable voice processing algorithms to detect the speech input by the user 108, e.g., as opposed to other background noise or the other user's voice being output by the speaker 224 as part of the video chat session. While this action is described as voice data for longer than the third predetermined period, it should be appreciated that there can be short gaps (silence) during the voice data, which could correspond to breaks between words or sentences. Like the first and second predetermined periods, the third predetermined period could be, for example, a few seconds, or in some implementations, could be specified by the user 108.
  • Another one of these actions can be eye contact with the modified video chat window 312 for longer than a fourth predetermined period, which can be detected by the processor 204 using the video camera 124 as described above.
  • the fourth predetermined period could be, for example, a few seconds, or in some implementations, could be specified by the user 108.
  • the first, second, third, and fourth predetermined periods could all be the same. [0045] in response to detecting at least one of these actions indicative of interaction by the user 108 with the modified video chat window 312, the processor 204 can automaticaily resize and/or reposition the modified video chat window 312 to obtain the video chat window 308. As shown in FiG.
  • the processor 204 can enlarge the modified video chat window 312 and reposition the modified video chat window 312 to the center of the web browser 304 to obtain the video chat window 308. In some implementations, the processor 204 could enlarge and not reposition the modified video chat window 312 to obtain the video chat window 308. In other implementations where the video chat window 308 was not previously full or maximized, the processor 204 could reposition and not enlarge the modified video chat window 312 to obtain the video chat window 308.
  • the automatic resizing/repositioning feature could be selectively disabled. For example only, when a screen share feature of the video chat session is being utilized, the automatic resizing/repositioning feature could be disabled to prevent interruption with the screen share. In other words, the screen share feature is much less useable via a smaller modified video chat window 312 compared to a larger video chat window 308. For example, the screen share feature may have a default configuration of the full or maximized video chat window 308.
  • computing device 104a can initiate the video chat session with computing device 104b via the network 112. in one implementation, the video chat session can be initiated in a web browser 304 executing at the computing device 104a.
  • computing device 104a can display the video chat window 308 in the web browser 304 in response to initiating the video chat session.
  • the video chat window 308 can display a video stream received from the other computing device 104b.
  • computing device 104a can detect a first action by the user 108a indicative of a lack of interaction with the video chat window 308.
  • the first action include at least one of: (i) input by the user 108a to the computing device 108a that causes a new web browser tab to be displayed at the computing device 104a, and (ii) a lack of eye contact by the user 108a on the video chat window 308 for longer than a first predetermined period based on video data captured by a video camera 124a associated with the computing device 104a.
  • the computing device 104a can automatically shrink and reposition the video chat window 308 to obtain the modified video chat window 312 at 416.
  • the computing device 104a can automatically shrink and reposition the video chat window 308 directly in response to detecting the lack of user interaction with the video chat window 308 and without any user action or intervention.
  • the video chat window 308 can be shrunk and repositioned to obtain the modified video chat window 312 without any explicit/manual action by the user 108a, thereby providing a seamless transition from the video chat window 308 to the modified video chat window 312 based only on the user's lack of interaction with the video chat window 308.
  • This seamless transition can allow the user 108a to easily multitask during the video chat session.
  • This seamless transition can also be performed when enlarging and repositioning the modified video chat window 312 to obtain the video chat window 308, which is described in greater detail below.
  • computing device 104a can detect a second action by the user 108a indicative of interaction with the modified video chat window 312. Examples of the second action include at least one of: (i) a lack of input by the user 108a via at least one of a keyboard 128a, a mouse 132a, and a touch display associated with the computing device 104a for longer than a second predetermined period, (ii) voice data captured by the microphone 220 associated with the computing device 104a for longer than a third predetermined period, and (iii) eye contact by the user 108a on the modified video chat window 312 for longer than a fourth predetermined period based on the video data captured by the video camera 124a.
  • computing device 104a can automatically enlarge and reposition the modified video chat window 312 in response to detecting the second action to obtain the video chat window 308.
  • the technique 400 can then end or return to 404 for one or more additional cycles.
  • Example embodiments are provided so that this disclosure will be thorough, and will fully convey the scope to those who are skilled in the art. Numerous specific details are set forth such as examples of specific components, devices, and methods, to provide a thorough understanding of embodiments of the present disclosure. It will be apparent to those skilled in the art that specific details need not be employed, that example embodiments may be embodied in many different forms and that neither should be construed to limit the scope of the disclosure. In some example embodiments, well-known procedures, well-known device structures, and well-known technologies are not described in detail.
  • first, second, third, etc. may be used herein to describe various elements, components, regions, layers and/or sections, these elements, components, regions, layers and/or sections should not be limited by these terms. These terms may be only used to distinguish one element, component, region, layer or section from another region, layer or section. Terms such as “first,” “second,” and other numerical terms when used herein do not imply a sequence or order unless clearly indicated by the context. Thus, a first element, component, region, layer or section discussed below could be termed a second element, component, region, layer or section without departing from the teachings of the example embodiments.
  • module may refer to, be part of, or include an Application Specific Integrated Circuit (ASIC); an electronic circuit; a combinational logic circuit; a field programmable gate array (FPGA); a processor (shared, dedicated, or group) that executes code, or a process executed by a distributed network of processors and storage in networked clusters or datacenters; other suitable components that provide the described functionality; or a combination of some or all of the above, such as in a system-on-chip.
  • the term module may include memory (shared, dedicated, or group) that stores code executed by the one or more processors.
  • code may include software, firmware, byte-code and/or microcode, and may refer to programs, routines, functions, classes, and/or objects.
  • shared means that some or all code from multiple modules may be executed using a single (shared) processor. In addition, some or all code from multiple modules may be stored by a single (shared) memory.
  • group means that some or all code from a single module may be executed using a group of processors. In addition, some or all code from a single module may be stored using a group of memories.
  • the techniques described herein may be implemented by one or more computer programs executed by one or more processors.
  • the computer programs include processor-executable instructions that are stored on a non-transitory tangible computer readable medium.
  • the computer programs may also include stored data.
  • Non-limiting examples of the non-transitory tangible computer readable medium are nonvolatile memory, magnetic storage, and optical storage.
  • Certain aspects of the described techniques include process steps and instructions described herein in the form of an algorithm. It should be noted that the described process steps and instructions could be embodied in software, firmware or hardware, and when embodied in software, could be downloaded to reside on and be operated from different platforms used by real time network operating systems.
  • the present disclosure also relates to an apparatus for performing the operations herein.
  • This apparatus may be specially constructed for the required purposes, or it may comprise a general-purpose computer selectively activated or reconfigured by a computer program stored on a computer readable medium that can be accessed by the computer.
  • a computer program may be stored in a tangible computer readable storage medium, such as, but is not limited to, any type of disk including floppy disks, optical disks, CD-ROMs, magnetic-optical disks, read-only memories (ROMs), random access memories (RAMs), EPROMs, EEPROMs, magnetic or optical cards, application specific integrated circuits (ASICs), or any type of media suitable for storing electronic instructions, and each coupled to a computer system bus.
  • the computers referred to in the specification may include a single processor or may be architectures employing multiple processor designs for increased computing capability.
  • the present disclosure is well suited to a wide variety of computer network systems over numerous topologies.
  • the configuration and management of large networks comprise storage devices and computers that are communicatively coupled to dissimilar computers and storage devices over a network, such as the Internet.

Abstract

A computer-implemented technique includes initiating, at a computing device having one or more processors, a video chat session with another computing device via a network. The technique includes displaying, at the computing device, a video chat window in response to initiating the video chat session, the video chat window displaying a video stream received from the other computing device. The technique includes detecting, at the computing device, a lack of interaction between a user of the computing device and the video chat window. The technique also includes in response to detecting the lack of interaction between the user and the video chat window, at least one of automatically resizing and automatically repositioning, at the computing device, the video chat window.

Description

VIDEO CHAT PICTURE-IN-PICTURE
CROSS-REFERENCE TO RELATED APPLICATIONS
[0001] This application claims the benefit of U.S. Patent Application No. 14/208,909 filed on March 13, 2014. The disclosure of the above application is incorporated herein by reference.
FIELD
[0002] The present disclosure relates generally to video chat software and, more particularly, to techniques for automatically resizing/repositioning a video chat window for multitasking purposes based on a user's interaction with the video chat window.
BACKGROUND
[0003] The background description provided herein is for the purpose of generally presenting the context of the disclosure. Work of the presently named inventors, to the extent it is described in this background section, as well as aspects of the description that may not otherwise qualify as prior art at the time of filing, are neither expressly nor impliedly admitted as prior art against the present disclosure.
[0004] Users participating in video chats often are multitasking and using other software. For example, the user may be viewing a text document or a website while also participating in the video chat. This other software, however, may block the video chat window unless resizing/repositioning occurs. Users, therefore, either allow the video chat window to move to the background (behind the other software) or manually resize/reposition the video chat window (and, in some cases, the other software) such that both can be viewed. Having a video chat operating in the background is undesirable due to the lack of a visual connection between users. Having to manually resize/reposition the video chat window, on the other hand, may be difficult and time consuming. SUMMARY
[0005] A computer-implemented technique is presented. The technique can include initiating, at a computing device having one or more processors, a video chat session with another computing device via a network, the video chat session being initiated in a web browser executing at the computing device. The technique can include displaying, at the computing device, a video chat window in the web browser in response to initiating the video chat session, the video chat window displaying a video stream received from the other computing device. The technique can include detecting, at the computing device, a first action by the user indicative of a lack of interaction with the video chat window, the first action including at least one of: (i) input by the user to the computing device that causes a new web browser tab to be displayed at the computing device, and (ii) a lack of eye contact by the user on the video chat window for longer than a first predetermined period based on video data captured by a video camera associated with the computing device. The technique can include in response to detecting the first action, automatically shrinking and repositioning, at the computing device, the video chat window to obtain a modified video chat window. The technique can include detecting, at the computing device, a second action by the user indicative of interaction with the video chat window, the second action including at least one of: (i) a lack of input by the user via at least one of a keyboard, a mouse, and a touch display associated with the computing device for longer than a second predetermined period, (ii) voice data captured by a microphone associated with the computing device for longer than a third predetermined period, and (iii) eye contact by the user on the modified video chat window for longer than a fourth predetermined period based on the video data captured by the video camera. The technique can also include in response to detecting the second action, automatically enlarging and repositioning, at the computing device, the modified video chat window to obtain the video chat window.
[0006] Another computer implemented is also presented. The technique can include initiating, at a computing device having one or more processors, a video chat session with another computing device via a network. The technique can include displaying, at the computing device, a video chat window in response to initiating the video chat session, the video chat window displaying a video stream received from the other computing device. The technique can include detecting, at the computing device, a lack of interaction between a user of the computing device and the video chat window. The technique can include in response to detecting the lack of interaction between the user and the video chat window, at least one of automatically resizing and automatically repositioning, at the computing device, the video chat window.
[0007] In some embodiments, the lack of interaction includes a lack of eye contact by the user on the video chat window for longer than a first predetermined period.
[0008] In other embodiments, the technique further includes detecting the lack of eye contact by the user on the video chat window based on the video data captured by the video camera with respect to the computing device.
[0009] In some embodiments, at least one of automatically resizing and automatically repositioning the video chat window further includes: in response to detecting the lack of interaction between the user and the video chat window, automatically shrinking, at the computing device, the video chat window to obtain a modified video chat window, and automatically repositioning, at the computing device, the modified video chat window to a corner of the display.
[0010] In other embodiments, the technique further includes: detecting, at the computing device, interaction between the user and the modified video chat window, and in response to detecting the interaction between the user and the modified video chat window, automatically enlarging the modified video chat window to obtain the video chat window.
[0011] in some embodiments, the interaction includes a lack of input by the user via at least one of a keyboard, a mouse, and the display associated with the computing device for longer than a second predetermined period.
[0012] In other embodiments, the interaction includes voice data captured by a microphone associated with the computing device for longer than a third predetermined period.
[0013] In some embodiments, the interaction includes eye contact by the user on the video chat window for longer than a fourth predetermined period based on video data captured by a video camera associated with the computing device. [0014] in other embodiments, the video chat session is implemented by a video chat application extension or add-on in a web browser executing at the computing device, wherein the video chat window is displayed in the web browser.
[0015] In some embodiments, the lack of interaction includes input by the user to the computing device that causes a new web browser tab to be displayed at the computing device.
[0016] A computing device is also presented. The computing device can include a video camera, a communication device, one or more processors, and a display. The video camera can be configured to capture video data with respect to the computing device. The communication device can be configured for communication with another computing device via a network. The one or more processors can be configured to initiate a video chat session with the other computing device. The one or more processors can be configured to output a video chat window at the display in response to initiating the video chat session, the video chat window configured to display a video stream received from the other computing device. The one or more processors can be configured to detect a lack of interaction between a user of the computing device and the video chat window. The one or more processors can also be configured to in response to detecting the lack of interaction between the user and the video chat window, at least one of automatically resize and automatically reposition the video chat window. The display can be configured to display the video chat window.
[0017] In some embodiments, the lack of interaction includes a lack of eye contact by the user on the video chat window for longer than a first predetermined period.
[0018] In other embodiments, the one or more processors are further configured to detect the lack of eye contact by the user on the video chat window based on the video data captured by the video camera.
[0019] in some embodiments, the one or more processors are configured to: in response to detecting the lack of interaction between the user and the video chat window, automatically shrink the video chat window to obtain a modified video chat window, wherein the display is further configured to display the modified video chat window, and automatically reposition the modified video chat window to a corner of the display. [0020] in other embodiments, the one or more processors are further configured to: detect interaction between the user and the modified video chat window; and in response to detecting the interaction between the user and the modified video chat window, automatically enlarge the modified video chat window to obtain the video chat window.
[0021] In some embodiments, the interaction includes a lack of input by the user via at least one of a keyboard associated with the computing device, a mouse associated with the computing device, and the display when the display is a touch display, for longer than a second predetermined period.
[0022] In other embodiments, the interaction includes voice data captured by a microphone associated with the computing device for longer than a third predetermined period.
[0023] in some embodiments, the interaction includes eye contact by the user on the video chat window for longer than a fourth predetermined period based on the video data captured by the video camera.
[0024] In other embodiments, the video chat session is implemented by a video chat application extension or add-on in a web browser executing at the computing device, wherein the video chat window is displayed in the web browser, and wherein the lack of interaction includes input by the user to the computing device that causes a new web browser tab to be displayed at the computing device.
[0025] Further areas of applicability of the present disclosure will become apparent from the detailed description provided hereinafter. It should be understood that the detailed description and specific examples are intended for purposes of illustration only and are not intended to limit the scope of the disclosure.
BRIEF DESCRIPTION OF THE DRAWINGS
[0026] The present disclosure will become more fully understood from the detailed description and the accompanying drawings, wherein:
[0027] FIG. 1 is a diagram of a computing network including an example computing device according to some implementations of the present disclosure; [0028] FIG. 2 is a functional block diagram of the example computing device of FIG. 1 ;
[0029] FIG. 3 is a view of a display of the example computing device of FIG 1. displaying a web browser having a modified video chat window; and
[0030] FIG. 4 is a flow diagram of an example technique for resizing/repositioning a video chat window based on a user's interaction with the video chat window according to some implementations of the present disclosure.
DETAILED DESCRIPTION
[0031] As previously discussed, having to manually resize/reposition a video chat window in order for a user to multitask is an inconvenient and time consuming process. Accordingly, video chat picture-in-picture (PIP) techniques are presented. The term PIP refers to a smaller video window, e.g., a video chat window, operating within another larger window, e.g., a web browser window. The techniques of the present disclosure include automatically resizing/repositioning a video chat window based on a user's interaction (or lack of interaction) with the video chat window and without any manual resizing/repositioning or other similar input by the user. These techniques can be particularly useful for the user's multitasking purposes, e.g., video chatting and web browsing or document editing simultaneously.
[0032] Referring now to FIG. 1 , a diagram of an example computing system 100 is illustrated. The computing system 100 can include computing devices 104a and 104b (collectively "computing devices 104") that are operated by users 108a and 108b (collectively "users 108"), respectively. The computing devices 104 can be configured to communicate with each other via a network 112. Examples of the computing devices 104 include desktop computers, laptop computers, tablet computers, and mobile phones. While two computing devices 104 are illustrated, it should be appreciated that the computing network 100 can include three or more computing devices 104 that can communicate with each other for a group video chat session. The network 112 can include a local area network (LAN), a wide area network (WAN), e.g., the Internet, or a combination thereof. [0033] in some implementations, the computing devices 104 include peripheral components. The computing devices 104 include displays 116a and 116b (collectively "displays 116") having display areas 120a and 120b (collectively "display areas 120"), respectively. In some implementations, the displays 116 are touch displays. The computing devices 104 also include video cameras 124a and 124b (collectively "video cameras 124"). The video cameras 124 can each be configured to capture video data with respect to its respective computing device 104. For example, the video cameras 124 can be configured to capture video data of the users 108. The computing devices 104 can also include other input devices, such as keyboards 128a and 128b (collectively "keyboards 128") and mice 132a and 132b (collectively "mice 132").
[0034] Referring now to FIG. 2, a functional block diagram of one of the example computing devices 104 is illustrated. While a single computing device 104 and its associated user 108 and components 116-132 are referred to from hereon, it should be appreciated that both computing devices 104 can have the same or similar configuration and thus can operate in the same or similar manner. The computing device 104 can include a communication device 200, a processor 204, and a memory 208. The computing device 104 can also include the display 116, the video camera 124, the keyboard 128, and the mouse 132 (collectively "user interface devices 212"). The user interface devices 212 are configured for interaction with the user 108. In some implementations, the user interface 212 can further include a microphone 220 and a speaker 224.
[0035] The communication device 200 is configured for communication between the processor 204 and other devices, e.g., the other computing device 104, via the network 112. The communication device 200 can include any suitable communication components, such as a transceiver. Specifically, the communication device 200 can transmit a request to initiate the video chat session and can provide a response to this request to the processor 204. The communication device 200 can then handle transmission and receipt of the various video streams between the computing devices 200 during the video chat session. The memory 208 can be configured to store information at the computing device 104, such as video chat settings for the user 108, which are discussed in greater detail below. The memory 208 can be any suitable storage medium (flash, hard disk, etc.).
[0036] The processor 204 can be configured to control operation of the computing device 104. It should be appreciated that the term "processor" as used herein can refer to both a single processor and two or more processors operating in a parailel or distributed architecture. The processor 204 can be configured to perform general functions including, but not limited to, loading/executing an operating system of the computing device 104, controlling communication via the communication device 200, and controlling read/write operations at the memory 208. The processor 204 can also be configured to perform specific functions relating to at least a portion of the present disclosure including, but not limited to, loading/executing web browser software at the computing device 104, initiating/controlling the video chat session, and controlling the display 116, including resizing/repositioning the video chat window, which is described in greater detail below with reference to FIG. 3.
[0037] Referring now to FIG. 3, a diagram of the display 116 of one of the example computing devices 104 is illustrated. The computing device 104 can load and execute a web browser 304, which is illustrated as a window with respect to the display area 120 of the display 116. While the web browser 304 is specifically discussed, it should be appreciated that the video chat session could be initiated via an operating system or another application, such as a standalone video chat application. The web browser 304 may not occupy the entire display area 120, e.g., due to toolbars or other borders (not shown). The web browser 304 is configured to initiate the video chat session, which includes displaying a video chat window 308. As illustrated, the video chat window 308 occupies the entirety of the web browser 304. It should be appreciated, however, that the video chat window 308 could occupy a majority of, but less than the entire web browser 304, e.g., due to toolbars or other borders. The video chat window 308 can also be referred to as a full or maximized video chat window 308. in one implementation, the video chat window 308 can be a default configuration in response to initiating the video chat session.
[0038] A modified video chat window 312 is also illustrated. The modified video chat window 312 represents a resized and repositioned version of the video chat window 308. As illustrated, the video chat window 308 has been shrunk and repositioned to a bottom right corner of the web browser 304 to obtain the modified video chat window 312. It should be appreciated that other configurations for the modified video chat window 312 could be implemented, such as smaller/top right, smaller/top left, or smaller/bottom left. In one implementation, the specific configuration of the modified video chat window 312 can be customizable by the user 108. For example, the user 108 may prefer having the modified video chat window 312 in a specific size and/or position configuration to optimize their multitasking efficiency or because of visual impairments of the user 108. In some implementations, the modified video chat window 312 can also follow transitions by the user 108 to other tabs of the web browser 304, which is described in greater detail below. The term "tab" can refer to another web page being displayed within a single web browser window, and the various tabs could be displayed along a toolbar or border, e.g., at a top of the web browser 304.
[0039] Referring again to FIG. 2 and with continued reference to FIG. 3, the processor 204 can load and execute the web browser 304. Via the web browser 304, the user 108 can initiate the video chat session. For example, the user 108 can select an option within the web browser 304 to initiate the video chat session. This can be referred to as a request from the user 108 to initiate the video chat session. In response to receiving this request, the processor 204 can initiate the video chat session with the other computing device, e.g., computing device 104b, which can include a handshake operation and then transmitting/receiving respective video streams via the communication device 200. The processor 204 can then output the received video stream in the video chat window 308 via the display 1 16. As previously discussed, the default configuration could be the full or maximized video chat window 308.
[0040] During the video chat session, the user 108 can interact with the video chat window 308 in different ways. In some cases, the user 108 may wish to multitask during the video chat session. For example, the user 108 may wish to view a web page during the video chat session. In these cases, the user 108 can perform actions that are indicative of a lack of interaction with the video chat window 308. One example action that is indicative of a lack of interaction is the user 108 providing input to open a new tab of the web browser 304. In some cases, the user 108 could open a new window of the web browser 304, and the video chat session could then be transferred to the new web browser window. Another example action that is indicative of a lack of interaction is a lack of eye contact with the video chat window 308 for longer than a first predetermined period. The eye contact by the user 108 could be detected by the processor 204 by analyzing video data captured by the video camera 124 using suitable video processing algorithms. The first predetermined period could be, for example, a few seconds, and in some implementations, could be specified by the user 108.
[0041] it should be appreciated that the phrases "lack of interaction," "lack of eye contact," and "lack of input" as used herein can refer to no interaction, no eye contact, and no input, respectively, or to levels of interaction, eye contact, and input less than a specific threshold. For example only, a lack of eye contact could be detected even though the user 108 makes split-second eye contact with the specific video chat window during the respective predetermined period. Similarly, for example only, a lack of input could be detected even though the user 108 makes a single input, such as an accidental input, via one or more of the user input devices 212 during the respective predetermined period.
[0042] In response to detecting at least one of these actions indicative of a lack of interaction with the video chat window 308, the processor 204 can automatically resize and/or reposition the video chat window 308 to obtain the modified video chat window 312. As shown in FIG. 3, the processor 204 can shrink the video chat window 308 and reposition the video chat window 308 to the bottom right corner of the web browser 304 to obtain the modified video chat window 312. in some implementations, the processor 204 could shrink and not reposition the video chat window 308 to obtain the modified video chat window 312. in other implementations where the video chat window 308 is not full or maximized, the processor 204 could reposition and not shrink the video chat window 308 to obtain the modified video chat window 312. if the action by the user 108 was opening a new tab in the web browser 304, the modified video chat window 312 could also be displayed in the new tab of the web browser 304, effectively following the user 108 across the various tabs. In one implementation, the video chat session is configured via an extension or add-on to the web browser 304. In this manner, manipulation of the modified video chat window 312 across different tabs can be easily and seamlessly achieved.
[0043] During the video chat session, the user 108 may wish to interact with the modified video chat window 312 to a greater degree. For example, the user 108 may be done with multitasking, in these cases, the user 108 can perform other actions indicative of interaction with the modified video chat window 312. One example of these actions is a lack of physical/touch input by the user 108 for longer than a second predetermined period. This physical/touch input by the user 108 can include input via the keyboard 128, the mouse 132, or the display 116 when the display 116 is a touch display. Like the first predetermined period, the second predetermined period could be, for example, a few seconds, and in some implementations, could be specified by the user 108. The lack of a physical/touch input can indicate that the user 108 is done multitasking. Another example of these actions is detection of voice data, which is captured by the microphone 220, for longer than a third predetermined period. The detection of voice data by the microphone 220 indicates that the user 108 is providing speech input and is thus interacting with the modified video chat window 312.
[0044] The processor 204 can receive the voice data and process the voice data using suitable voice processing algorithms to detect the speech input by the user 108, e.g., as opposed to other background noise or the other user's voice being output by the speaker 224 as part of the video chat session. While this action is described as voice data for longer than the third predetermined period, it should be appreciated that there can be short gaps (silence) during the voice data, which could correspond to breaks between words or sentences. Like the first and second predetermined periods, the third predetermined period could be, for example, a few seconds, or in some implementations, could be specified by the user 108. Another one of these actions can be eye contact with the modified video chat window 312 for longer than a fourth predetermined period, which can be detected by the processor 204 using the video camera 124 as described above. Like the first, second, and third predetermined periods, the fourth predetermined period could be, for example, a few seconds, or in some implementations, could be specified by the user 108. In one implementation, the first, second, third, and fourth predetermined periods could all be the same. [0045] in response to detecting at least one of these actions indicative of interaction by the user 108 with the modified video chat window 312, the processor 204 can automaticaily resize and/or reposition the modified video chat window 312 to obtain the video chat window 308. As shown in FiG. 3, the processor 204 can enlarge the modified video chat window 312 and reposition the modified video chat window 312 to the center of the web browser 304 to obtain the video chat window 308. In some implementations, the processor 204 could enlarge and not reposition the modified video chat window 312 to obtain the video chat window 308. In other implementations where the video chat window 308 was not previously full or maximized, the processor 204 could reposition and not enlarge the modified video chat window 312 to obtain the video chat window 308.
[0046] While specific actions indicative of interaction and lack of interaction by the user 108 with the video chat windows 308, 312 are discussed herein, it should be appreciated that other suitable actions could be detected to determine the interaction and/or lack of interaction by the user 108 with the video chat windows 308, 312. Furthermore, in some implementations, the automatic resizing/repositioning feature could be selectively disabled. For example only, when a screen share feature of the video chat session is being utilized, the automatic resizing/repositioning feature could be disabled to prevent interruption with the screen share. In other words, the screen share feature is much less useable via a smaller modified video chat window 312 compared to a larger video chat window 308. For example, the screen share feature may have a default configuration of the full or maximized video chat window 308.
[0047] Referring now to FiG. 4, a flow diagram of an example technique 400 for automaticaily resizing/repositioning the video chat window 308 based on interaction by the user 108a with the video chat window 308 is illustrated. At 404, computing device 104a can initiate the video chat session with computing device 104b via the network 112. in one implementation, the video chat session can be initiated in a web browser 304 executing at the computing device 104a. At 408, computing device 104a can display the video chat window 308 in the web browser 304 in response to initiating the video chat session. The video chat window 308 can display a video stream received from the other computing device 104b. At 412, computing device 104a can detect a first action by the user 108a indicative of a lack of interaction with the video chat window 308. Examples of the first action include at least one of: (i) input by the user 108a to the computing device 108a that causes a new web browser tab to be displayed at the computing device 104a, and (ii) a lack of eye contact by the user 108a on the video chat window 308 for longer than a first predetermined period based on video data captured by a video camera 124a associated with the computing device 104a.
[0048] In response to detecting the first action, the computing device 104a can automatically shrink and reposition the video chat window 308 to obtain the modified video chat window 312 at 416. In other words, the computing device 104a can automatically shrink and reposition the video chat window 308 directly in response to detecting the lack of user interaction with the video chat window 308 and without any user action or intervention. In this manner, the video chat window 308 can be shrunk and repositioned to obtain the modified video chat window 312 without any explicit/manual action by the user 108a, thereby providing a seamless transition from the video chat window 308 to the modified video chat window 312 based only on the user's lack of interaction with the video chat window 308. This seamless transition can allow the user 108a to easily multitask during the video chat session. This seamless transition can also be performed when enlarging and repositioning the modified video chat window 312 to obtain the video chat window 308, which is described in greater detail below.
[0049] At 420, computing device 104a can detect a second action by the user 108a indicative of interaction with the modified video chat window 312. Examples of the second action include at least one of: (i) a lack of input by the user 108a via at least one of a keyboard 128a, a mouse 132a, and a touch display associated with the computing device 104a for longer than a second predetermined period, (ii) voice data captured by the microphone 220 associated with the computing device 104a for longer than a third predetermined period, and (iii) eye contact by the user 108a on the modified video chat window 312 for longer than a fourth predetermined period based on the video data captured by the video camera 124a. At 424, computing device 104a can automatically enlarge and reposition the modified video chat window 312 in response to detecting the second action to obtain the video chat window 308. The technique 400 can then end or return to 404 for one or more additional cycles.
[0050] Example embodiments are provided so that this disclosure will be thorough, and will fully convey the scope to those who are skilled in the art. Numerous specific details are set forth such as examples of specific components, devices, and methods, to provide a thorough understanding of embodiments of the present disclosure. It will be apparent to those skilled in the art that specific details need not be employed, that example embodiments may be embodied in many different forms and that neither should be construed to limit the scope of the disclosure. In some example embodiments, well-known procedures, well-known device structures, and well-known technologies are not described in detail.
[0051] The terminology used herein is for the purpose of describing particular example embodiments only and is not intended to be limiting. As used herein, the singular forms "a," "an," and "the" may be intended to include the plural forms as well, unless the context clearly indicates otherwise. The term "and/or" includes any and all combinations of one or more of the associated listed items. The terms "comprises," "comprising," "including," and "having," are inclusive and therefore 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 method steps, processes, and operations described herein are not to be construed as necessarily requiring their performance in the particular order discussed or illustrated, unless specifically identified as an order of performance. It is also to be understood that additional or alternative steps may be employed.
[0052] Although the terms first, second, third, etc. may be used herein to describe various elements, components, regions, layers and/or sections, these elements, components, regions, layers and/or sections should not be limited by these terms. These terms may be only used to distinguish one element, component, region, layer or section from another region, layer or section. Terms such as "first," "second," and other numerical terms when used herein do not imply a sequence or order unless clearly indicated by the context. Thus, a first element, component, region, layer or section discussed below could be termed a second element, component, region, layer or section without departing from the teachings of the example embodiments.
[0053] As used herein, the term module may refer to, be part of, or include an Application Specific Integrated Circuit (ASIC); an electronic circuit; a combinational logic circuit; a field programmable gate array (FPGA); a processor (shared, dedicated, or group) that executes code, or a process executed by a distributed network of processors and storage in networked clusters or datacenters; other suitable components that provide the described functionality; or a combination of some or all of the above, such as in a system-on-chip. The term module may include memory (shared, dedicated, or group) that stores code executed by the one or more processors.
[0054] The term code, as used above, may include software, firmware, byte-code and/or microcode, and may refer to programs, routines, functions, classes, and/or objects. The term shared, as used above, means that some or all code from multiple modules may be executed using a single (shared) processor. In addition, some or all code from multiple modules may be stored by a single (shared) memory. The term group, as used above, means that some or all code from a single module may be executed using a group of processors. In addition, some or all code from a single module may be stored using a group of memories.
[0055] The techniques described herein may be implemented by one or more computer programs executed by one or more processors. The computer programs include processor-executable instructions that are stored on a non-transitory tangible computer readable medium. The computer programs may also include stored data. Non-limiting examples of the non-transitory tangible computer readable medium are nonvolatile memory, magnetic storage, and optical storage.
[0056] Some portions of the above description present the techniques described herein in terms of algorithms and symbolic representations of operations on information. These algorithmic descriptions and representations are the means used by those skilled in the data processing arts to most effectively convey the substance of their work to others skilled in the art. These operations, while described functionally or logically, are understood to be implemented by computer programs. Furthermore, it has also proven convenient at times to refer to these arrangements of operations as modules or by functional names, without loss of generality.
[0057] Unless specifically stated otherwise as apparent from the above discussion, it is appreciated that throughout the description, discussions utilizing terms such as "processing" or "computing" or "calculating" or "determining" or "displaying" or the like, refer to the action and processes of a computer system, or similar electronic computing device, that manipulates and transforms data represented as physical (electronic) quantities within the computer system memories or registers or other such information storage, transmission or display devices.
[0058] Certain aspects of the described techniques include process steps and instructions described herein in the form of an algorithm. It should be noted that the described process steps and instructions could be embodied in software, firmware or hardware, and when embodied in software, could be downloaded to reside on and be operated from different platforms used by real time network operating systems.
[0059] The present disclosure also relates to an apparatus for performing the operations herein. This apparatus may be specially constructed for the required purposes, or it may comprise a general-purpose computer selectively activated or reconfigured by a computer program stored on a computer readable medium that can be accessed by the computer. Such a computer program may be stored in a tangible computer readable storage medium, such as, but is not limited to, any type of disk including floppy disks, optical disks, CD-ROMs, magnetic-optical disks, read-only memories (ROMs), random access memories (RAMs), EPROMs, EEPROMs, magnetic or optical cards, application specific integrated circuits (ASICs), or any type of media suitable for storing electronic instructions, and each coupled to a computer system bus. Furthermore, the computers referred to in the specification may include a single processor or may be architectures employing multiple processor designs for increased computing capability.
[0060] The algorithms and operations presented herein are not inherently related to any particular computer or other apparatus. Various general-purpose systems may also be used with programs in accordance with the teachings herein, or it may prove convenient to construct more specialized apparatuses to perform the required method steps. The required structure for a variety of these systems will be apparent to those of skill in the art, along with equivalent variations. In addition, the present disclosure is not described with reference to any particular programming language. It is appreciated that a variety of programming languages may be used to implement the teachings of the present disclosure as described herein, and any references to specific languages are provided for disclosure of enablement and best mode of the present invention.
[0061] The present disclosure is well suited to a wide variety of computer network systems over numerous topologies. Within this field, the configuration and management of large networks comprise storage devices and computers that are communicatively coupled to dissimilar computers and storage devices over a network, such as the Internet.
[0062] The foregoing description of the embodiments has been provided for purposes of illustration and description. It is not intended to be exhaustive or to limit the disclosure. Individual elements or features of a particular embodiment are generally not limited to that particular embodiment, but, where applicable, are interchangeable and can be used in a selected embodiment, even if not specifically shown or described. The same may also be varied in many ways. Such variations are not to be regarded as a departure from the disclosure, and all such modifications are intended to be included within the scope of the disclosure.

Claims

CLAIMS What is claimed is:
1. A computer-implemented method, comprising:
initiating, at a computing device having one or more processors, a video chat session with another computing device via a network, the video chat session being initiated in a web browser executing at the computing device;
displaying, at the computing device, a video chat window in the web browser in response to initiating the video chat session, the video chat window displaying a video stream received from the other computing device;
detecting, at the computing device, a first action by the user indicative of a lack of interaction with the video chat window, the first action including at least one of:
(i) input by the user to the computing device that causes a new web browser tab to be displayed at the computing device, and
(ii) a lack of eye contact by the user on the video chat window for longer than a first predetermined period based on video data captured by a video camera associated with the computing device;
in response to detecting the first action, automatically shrinking and repositioning, at the computing device, the video chat window to obtain a modified video chat window; detecting, at the computing device, a second action by the user indicative of interaction with the video chat window, the second action including at least one of:
(i) a lack of input by the user via at least one of a keyboard, a mouse, and a touch display associated with the computing device for longer than a second predetermined period,
(ii) voice data captured by a microphone associated with the computing device for longer than a third predetermined period, and
(iii) eye contact by the user on the modified video chat window for longer than a fourth predetermined period based on the video data captured by the video camera; and in response to detecting the second action, automatically enlarging and repositioning, at the computing device, the modified video chat window to obtain the video chat window.
2. A computer implemented method, comprising:
initiating, at a computing device having one or more processors, a video chat session with another computing device via a network;
displaying, at the computing device, a video chat window in response to initiating the video chat session, the video chat window displaying a video stream received from the other computing device;
detecting, at the computing device, a lack of interaction between a user of the computing device and the video chat window; and
in response to detecting the lack of interaction between the user and the video chat window, at least one of automatically resizing and automatically repositioning, at the computing device, the video chat window.
3. The computer-implemented method of claim 2, wherein the lack of interaction includes a lack of eye contact by the user on the video chat window for longer than a first predetermined period.
4. The computer-implemented method of claim 3, further comprising detecting the lack of eye contact by the user on the video chat window based on the video data captured by the video camera with respect to the computing device.
5. The computer-implemented method of claim 2, wherein at least one of automatically resizing and automatically repositioning the video chat window includes: in response to detecting the lack of interaction between the user and the video chat window, automatically shrinking, at the computing device, the video chat window to obtain a modified video chat window; and
automaticaliy repositioning, at the computing device, the modified video chat window to a corner of the display.
6. The computer-implemented method of claim 5, further comprising: detecting, at the computing device, interaction between the user and the modified video chat window; and
in response to detecting the interaction between the user and the modified video chat window, automatically enlarging the modified video chat window to obtain the video chat window.
7. The computer-implemented method of claim 6, wherein the interaction includes a lack of input by the user via at least one of a keyboard, a mouse, and the display associated with the computing device for longer than a second predetermined period.
8. The computer-implemented method of claim 6, wherein the interaction includes voice data captured by a microphone associated with the computing device for longer than a third predetermined period.
9. The computer-implemented method of claim 6, wherein the interaction includes eye contact by the user on the video chat window for longer than a fourth predetermined period based on video data captured by a video camera associated with the computing device.
10. The computer-implemented method of claim 2, wherein the video chat session is implemented by a video chat application extension or add-on in a web browser executing at the computing device, wherein the video chat window is displayed in the web browser.
11. The computer-implemented method of claim 2, wherein the lack of interaction includes input by the user to the computing device that causes a new web browser tab to be displayed at the computing device.
12. A computing device, comprising:
a video camera configured to capture video data with respect to the computing device;
a communication device configured for communication with another computing device via a network;
one or more processors configured to:
initiate a video chat session with the other computing device, output a video chat window at the display in response to initiating the video chat session, the video chat window configured to display a video stream received from the other computing device,
detect a lack of interaction between a user of the computing device and the video chat window, and
in response to detecting the lack of interaction between the user and the video chat window, at least one of automatically resize and automatically reposition the video chat window; and
a display configured to display the video chat window.
13. The computing device of claim 12, wherein the lack of interaction includes a lack of eye contact by the user on the video chat window for longer than a first predetermined period.
14. The computing device of claim 13, wherein the one or more processors are further configured to detect the lack of eye contact by the user on the video chat window based on the video data captured by the video camera.
15. The computing device of claim 12, wherein the one or more processors are configured to:
in response to detecting the lack of interaction between the user and the video chat window, automatically shrink the video chat window to obtain a modified video chat window, wherein the display is further configured to display the modified video chat window; and automatically reposition the modified video chat window to a comer of the display.
16. The computing device of claim 15, wherein the one or more processors are further configured to:
detect interaction between the user and the modified video chat window; and in response to detecting the interaction between the user and the modified video chat window, automatically enlarge the modified video chat window to obtain the video chat window.
17. The computing device of claim 16, wherein the interaction includes a lack of input by the user via at least one of a keyboard associated with the computing device, a mouse associated with the computing device, and the display when the display is a touch display, for longer than a second predetermined period.
18. The computing device of claim 16, wherein the interaction includes voice data captured by a microphone associated with the computing device for longer than a third predetermined period.
19. The computing device of claim 16, wherein the interaction includes eye contact by the user on the video chat window for longer than a fourth predetermined period based on the video data captured by the video camera.
20. The computing device of claim 12, wherein the video chat session is implemented by a video chat application extension or add-on in a web browser executing at the computing device, wherein the video chat window is displayed in the web browser, and wherein the lack of interaction includes input by the user to the computing device that causes a new web browser tab to be displayed at the computing device.
PCT/US2015/019656 2014-03-13 2015-03-10 Video chat picture-in-picture WO2015138419A1 (en)

Priority Applications (5)

Application Number Priority Date Filing Date Title
KR1020167028494A KR101754050B1 (en) 2014-03-13 2015-03-10 Video chat picture-in-picture
JP2016556928A JP6396490B2 (en) 2014-03-13 2015-03-10 Video chat picture-in-picture
AU2015229639A AU2015229639B2 (en) 2014-03-13 2015-03-10 Video chat picture-in-picture
EP15762277.0A EP3117540B1 (en) 2014-03-13 2015-03-10 Video chat picture-in-picture
CN201580013397.0A CN106165320B (en) 2014-03-13 2015-03-10 PIP video chat

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US14/208,909 2014-03-13
US14/208,909 US9325938B2 (en) 2014-03-13 2014-03-13 Video chat picture-in-picture

Publications (1)

Publication Number Publication Date
WO2015138419A1 true WO2015138419A1 (en) 2015-09-17

Family

ID=54070409

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/US2015/019656 WO2015138419A1 (en) 2014-03-13 2015-03-10 Video chat picture-in-picture

Country Status (7)

Country Link
US (2) US9325938B2 (en)
EP (1) EP3117540B1 (en)
JP (1) JP6396490B2 (en)
KR (1) KR101754050B1 (en)
CN (1) CN106165320B (en)
AU (1) AU2015229639B2 (en)
WO (1) WO2015138419A1 (en)

Families Citing this family (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9325938B2 (en) * 2014-03-13 2016-04-26 Google Inc. Video chat picture-in-picture
EP2933987B1 (en) 2014-04-17 2019-11-20 Gurulogic Microsystems OY Additional information on a caller
CN106933887B (en) * 2015-12-31 2021-02-12 北京国双科技有限公司 Data visualization method and device
CH712799A1 (en) * 2016-08-10 2018-02-15 Derungs Louis Virtual reality method and system implementing such method.
US10509964B2 (en) * 2017-01-11 2019-12-17 Microsoft Technology Licensing, Llc Toggle view functions for teleconferencing sessions
US10389974B2 (en) * 2017-01-16 2019-08-20 Microsoft Technology Licensing, Llc Switch view functions for teleconference sessions
CN106803916B (en) * 2017-02-27 2021-03-19 腾讯科技(深圳)有限公司 Information display method and device
JP6962079B2 (en) * 2017-09-04 2021-11-05 株式会社Jvcケンウッド Image / audio output device, image / audio output method, and image / audio output program
CN107613311B (en) * 2017-09-30 2020-07-31 上海掌门科技有限公司 Method and equipment for displaying progress of anchor game
US11259088B2 (en) * 2017-10-27 2022-02-22 Google Llc Previewing a video in response to computing device interaction
CN109963187B (en) * 2017-12-14 2021-08-31 腾讯科技(深圳)有限公司 Animation implementation method and device
CN109862301B (en) * 2019-02-25 2021-02-19 北京云中融信网络科技有限公司 Screen video sharing method and device and electronic equipment
JP7433803B2 (en) * 2019-08-08 2024-02-20 キヤノン株式会社 Information processing device, control method and program
CN112148160B (en) * 2020-08-28 2022-08-05 百度在线网络技术(北京)有限公司 Floating window display method and device, electronic equipment and computer readable storage medium

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20120105486A1 (en) * 2009-04-09 2012-05-03 Dynavox Systems Llc Calibration free, motion tolerent eye-gaze direction detector with contextually aware computer interaction and communication methods
US20130124623A1 (en) * 2006-09-12 2013-05-16 Adobe Systems Incorporated Attention tracking in an online conference
US20130339214A1 (en) * 2004-06-21 2013-12-19 Trading Technologies International, Inc. System and Method for Display Management Based on User Attention Inputs

Family Cites Families (31)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5731805A (en) * 1996-06-25 1998-03-24 Sun Microsystems, Inc. Method and apparatus for eyetrack-driven text enlargement
US5850211A (en) * 1996-06-26 1998-12-15 Sun Microsystems, Inc. Eyetrack-driven scrolling
US6152563A (en) * 1998-02-20 2000-11-28 Hutchinson; Thomas E. Eye gaze direction tracker
US6393136B1 (en) * 1999-01-04 2002-05-21 International Business Machines Corporation Method and apparatus for determining eye contact
US6957395B1 (en) * 2000-01-04 2005-10-18 Apple Computer, Inc. Computer interface having a single window mode of operation
US20040001101A1 (en) * 2002-06-27 2004-01-01 Koninklijke Philips Electronics N.V. Active window switcher
US20040008249A1 (en) * 2002-07-10 2004-01-15 Steve Nelson Method and apparatus for controllable conference content via back-channel video interface
JP2004213486A (en) * 2003-01-07 2004-07-29 Sony Corp Image processor and processing method, storage medium, and program
US7762665B2 (en) * 2003-03-21 2010-07-27 Queen's University At Kingston Method and apparatus for communication between humans and devices
KR100703454B1 (en) 2005-05-11 2007-04-03 삼성전자주식회사 Mobile terminal for providing various display mode
US20070180398A1 (en) * 2006-01-30 2007-08-02 Mcardle James M Window cleanup via desktop icon
WO2007105792A1 (en) * 2006-03-15 2007-09-20 Omron Corporation Monitor and monitoring method, controller and control method, and program
US7620905B2 (en) * 2006-04-14 2009-11-17 International Business Machines Corporation System and method of windows management
JP4845581B2 (en) * 2006-05-01 2011-12-28 三菱電機株式会社 Television broadcast receiver with image and audio communication function
KR20070111270A (en) 2006-05-17 2007-11-21 삼성전자주식회사 Displaying method using voice recognition in multilateral video conference
KR100784973B1 (en) 2006-09-11 2007-12-11 삼성전자주식회사 Area displaying method using image data variation
US20080115081A1 (en) * 2006-11-09 2008-05-15 Microsoft Corporation Enhanced windows management feature
US9146991B2 (en) 2007-05-22 2015-09-29 The Rocbox Network Corporation Apparatus and method for user configurable content interface and continuously playing player
US8647206B1 (en) * 2009-01-15 2014-02-11 Shindig, Inc. Systems and methods for interfacing video games and user communications
US9177298B2 (en) * 2009-12-15 2015-11-03 International Business Machines Corporation Abbreviated user interface for instant messaging to minimize active window focus changes
US9507418B2 (en) * 2010-01-21 2016-11-29 Tobii Ab Eye tracker based contextual action
US20120102403A1 (en) * 2010-10-22 2012-04-26 Robert Sanford Havoc Pennington Video integration
US9348417B2 (en) * 2010-11-01 2016-05-24 Microsoft Technology Licensing, Llc Multimodal input system
US8593504B2 (en) * 2011-02-11 2013-11-26 Avaya Inc. Changing bandwidth usage based on user events
JP2014077814A (en) * 2011-02-14 2014-05-01 Panasonic Corp Display control device and display control method
US20120287224A1 (en) * 2011-05-12 2012-11-15 Nicholaz F. Paris Video chat within a webpage and video instant messaging
US9069374B2 (en) 2012-01-04 2015-06-30 International Business Machines Corporation Web video occlusion: a method for rendering the videos watched over multiple windows
US20130219299A1 (en) * 2012-02-16 2013-08-22 Gface Gmbh Live bar
US9467653B2 (en) * 2012-06-29 2016-10-11 Avaya Inc. System and method for aggressive downstream bandwidth conservation based on user inactivity
US9047472B2 (en) * 2013-01-14 2015-06-02 International Business Machines Corporation Managing sensitive content
US9325938B2 (en) * 2014-03-13 2016-04-26 Google Inc. Video chat picture-in-picture

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20130339214A1 (en) * 2004-06-21 2013-12-19 Trading Technologies International, Inc. System and Method for Display Management Based on User Attention Inputs
US20130124623A1 (en) * 2006-09-12 2013-05-16 Adobe Systems Incorporated Attention tracking in an online conference
US20120105486A1 (en) * 2009-04-09 2012-05-03 Dynavox Systems Llc Calibration free, motion tolerent eye-gaze direction detector with contextually aware computer interaction and communication methods

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
See also references of EP3117540A4 *

Also Published As

Publication number Publication date
US9998707B2 (en) 2018-06-12
JP6396490B2 (en) 2018-09-26
JP2017516333A (en) 2017-06-15
KR20160132106A (en) 2016-11-16
KR101754050B1 (en) 2017-07-04
EP3117540A4 (en) 2017-10-11
AU2015229639B2 (en) 2017-08-31
CN106165320B (en) 2019-04-09
CN106165320A (en) 2016-11-23
EP3117540A1 (en) 2017-01-18
US20150264301A1 (en) 2015-09-17
US20170026614A1 (en) 2017-01-26
EP3117540B1 (en) 2021-01-27
US9325938B2 (en) 2016-04-26
AU2015229639A1 (en) 2016-09-01

Similar Documents

Publication Publication Date Title
AU2015229639B2 (en) Video chat picture-in-picture
CN107636595B (en) Method for starting second application by using first application icon in electronic equipment
US9576607B2 (en) Techniques for creating a composite image
US9910557B2 (en) Intent-based graphical user interface window control
JP6037973B2 (en) Automatic switching between input modes for user interface
US10558329B2 (en) Techniques for insertion of content into chat communication
US20150277713A1 (en) Expanding touch zones of graphical user interface widgets displayed on a screen of a device without programming changes
US10620821B2 (en) Page sliding method and apparatus
KR102157332B1 (en) Method and apparatus for controlling zoom function in an electronic device
KR20130119129A (en) Method for controlling window size and an electronic device thereof
US20190095049A1 (en) Window expansion method and associated electronic device
WO2014070274A1 (en) Post-touchdown user invisible tap target size increase
US10254940B2 (en) Modifying device content to facilitate user interaction
US20130335360A1 (en) Touch screen interaction methods and apparatuses
US10248281B2 (en) Controlling input to a plurality of computer windows
CN107077272B (en) Hit testing to determine enabling direct manipulation in response to user action
US20140067366A1 (en) Techniques for selecting languages for automatic speech recognition
CA3003002C (en) Systems and methods for using image searching with voice recognition commands
US20150253944A1 (en) Method and apparatus for data processing
WO2015141091A1 (en) Information processing device, information processing method, and information processing program

Legal Events

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

Ref document number: 15762277

Country of ref document: EP

Kind code of ref document: A1

REEP Request for entry into the european phase

Ref document number: 2015762277

Country of ref document: EP

WWE Wipo information: entry into national phase

Ref document number: 2015762277

Country of ref document: EP

ENP Entry into the national phase

Ref document number: 2015229639

Country of ref document: AU

Date of ref document: 20150310

Kind code of ref document: A

ENP Entry into the national phase

Ref document number: 2016556928

Country of ref document: JP

Kind code of ref document: A

NENP Non-entry into the national phase

Ref country code: DE

ENP Entry into the national phase

Ref document number: 20167028494

Country of ref document: KR

Kind code of ref document: A