This application is based upon and claims the benefit of priority under 35 U.S.C. §119 from prior Japanese Patent Application P2005-274472 filed on Sep. 21, 2005, the entire contents of which are hereby incorporated by reference.
1. Technical Field
This application relates to control of composite images composed of source images by use of HID (Human Interface Device) signals (e.g., from a mouse).
2. Related Art
In one known system, a personal computer (e.g., a “client”) receives image information from a remote computer (e.g., a “server”), and sends signal to the remote computer to request updated image information.
A “Remote Desktop” function is also known which controls a remote computer with a personal computer. Microsoft® Windows® XP has such a “Remote Desktop” function where a personal computer sends operations inputted from local user interfaces (e.g., a mouse and a keyboard), to a remote computer. A remote computer sends back image data processed with operations sent from the personal computer.
As will be appreciated, image information may be compressed when being sent between computers to reduce network load.
On the other hand, Japanese Patent Publication (Kokai) 8-297617 discloses a remote computer sending drawing instructions (instead of an image), to a personal computer where an image is processed using the received drawing instructions. The amount of data required for such drawing instructions is smaller than for an image, so network load can be reduced in this way as well. Virtual Networks Computing (VNC) uses the same concept.
For example, in a “Remote Desktop” a window can be provided in a viewer image sent from a terminal. A window can be moved and resized by user operations on the viewer. In addition, an object, such as a rectangular symbol in a window also can be moved and resized by user operations on the viewer.
On the other hand, in a multipoint video communication system, terminals exchange video signals and sound signals with each other. One way to develop a multipoint video communication system is called distributed multipoint communication, in which terminals are connected to each other. Another way is called integrated multipoint communication, in which terminals are connected to a server (e.g., an MCU or multipoint control unit) that composes images and sounds and sends composed information back to the terminals.
Hereinafter, an image sent from a terminal is called a “source image”.
Some examples of ways to determine source image position on a composed image are described in Japanese Patent Publication (Kokai) 8-297617 etc. One way is for an MCU to determine a source image position automatically. For example, an MCU may allocate equal space for each source image in a composed image. An MCU may also stretch one source image to a full window size and put other source images on a full window-sized source image (Picture-in-Picture). Another way is for a terminal to send position designation information to an MCU. A user may choose a position pattern from a plurality of predetermined patterns on a terminal, and the terminal can then send chosen position pattern information to an MCU.
It is also possible to combine a terminal and a viewer. That is, a terminal-viewer may send source image and position pattern information to an MCU which then generates a composed image based on source image and position pattern information, which image is then sent to a terminal-viewer. A user may resize source images in a composed image on a terminal viewer display. However, if a composed image size is reduced, sizes of objects in a source image on a composed image are also reduced and this may present problems.
For example, a source image may include some objects (e.g., a menu button of a web browser). However, such small objects may be difficult to be “clicked-on” within terminal-viewer display—especially if the image containing such objects is reduced in size.
According to one aspect of an exemplary embodiment, an image control apparatus receives source images defined with respectively corresponding source coordinate systems from source image generators associated with respective source IDs. The source images are composed to generate a composed (i.e., composite) image (e.g., defined with a single composed coordinate system) which is then sent to a viewer which displays the composed image and outputs an HID (Human Interface Device) signal which indicates information defined with respect to the composed coordinate system. The information includes a layout manager configured to store source IDs associated with a plurality of layout data respectively, each including position and size of a corresponding one of the source images. An image composer is also included, configured to generate the composed image by composing source images according to the plurality of layout data. An analyzer is configured to analyze the HID signal for editing plural layout data stored in the layout manager, and to determine a source ID associated with a source image according to the edited plurality of layout data and to convert the HID signal to a converted HID signal which indicates information defined with respect to the source coordinate system that defines the thus determined source image. An operator is also included and configured to send the converted HID signal to the source image generator associated with the determined source ID.
Another non-limiting aspect of the exemplary embodiment is an image control method for controlling an apparatus which processes images of the type just described.
Another non-limiting aspect of the exemplary embodiment is an image control program suitable for execution by a computer for processing images of the type just described.
The exemplary embodiments and attendant advantages therefore are best understood from the following description when read in connection with the accompanying Figures, wherein:
a)-(c) are diagrams illustrating an example of source images and coordinate systems.
a)-(c) are diagrams illustrating another example of source images and coordinate systems.
a)-(b) are examples of a layout management table.
a)-(b) are diagrams illustrating composed images based on
a)-(b) are diagrams illustrating a composed image where a boundary of a source image, and is dragged where the source image is moved to in the composed image.
a)-(b) are examples of a layout management table according to
a)-(b) are diagrams illustrating a composed image where a corner of a source image to dragged and resized in the composed image.
a)-(b) are examples of a layout management table according to
a)-(b) are diagrams illustrating examples of a composed image with an activated frame on a source image.
a)-(b) are examples of a layout management table according to
a)-(e) are diagrams illustrating source images stored in an image store.
a)-(b) are diagrams illustrating source images with buttons in a composed image.
a)-(b) are examples of a layout management table and source images with coordinate systems according to second embodiment.
a)-(b) are examples of a layout management table before and after detection of an operative area.
a)-(b) are diagrams illustrating a composed image including a software keyboard.
a)-(b) are diagrams illustrating a composed image including a software touchpad.
In the FIGURES referred to below, like reference numerals designate identical or corresponding parts through the several views.
A remote-control system includes a plurality of source image generators (numbered from 2-1 to 2-n), a viewer 3, and MCU 1 which communicate with each other through network paths as shown.
Source image generators 2-1 and 2-n can be controlled from a remote location through a network. Source image generators 2-1 to 2-n may be PCs. Source image generator 2-1 transmit a source image V1 with a source ID “V1” to MCU 1 through network path N2-1-1. In this embodiment, source image generator 2-1 treats a specification of source image V1 as a normalized value such as 100 percent for each of a horizontal direction x and a vertical direction y shown in
Source image generator 2-1 controls pointer P on a source image according to a control signal sent from MCU 1. Moreover, source image generator 2-1 detects an event based on the position of pointer P. Source image generator 2-2 also treats a specification of source image V2 as a normalized value (e.g., 100 percent) for each of a horizontal direction x and a vertical direction y (as shown in
Viewer 3 includes display 31 and transmitter 32. Display 31 displays composed image M sent from MCU 1 through network path N3-1. Transmitter 32 generates HID (Human Interface Device) signals based on a user interface device (e.g., a mouse), and sends the HID signals through network path N3-2. The HID signal includes information of distance moved in each of the x and y directions, click events, and so on.
In this embodiment, viewer 3 treats specification of a displaying area as a normalized value (e.g., 100 percent) for each of a horizontal direction x and a vertical direction y (as shown in
MCU 1 includes image composer 11, layout manager 12, common interface generator 13, analyzer 14 and operator 15.
The image composer 11 receives source images from source image generators through the network. More specifically, image composer 11 receives a source image from source image generator 2-1 through network path N2-1-1. Image composer 11 receives a source image from source image generator 2-2 through network path N2-2-1. Image composer 11 receives a source image from source image generator 2-n through network path N2-n-1. Image composer 11 composes such source images and a common interface image generated by common interface generator 13 based on layout information provided from layout manager 12. Image composer 11 transmits the composed image M to viewer 3 through network path N3-1.
Layout manager 12 identifies source image generators 2-1 to 2-n. Source image generators are respectively associated with source IDs V1 to Vn. Source images V1 to Vn are also respectively associated with source IDs V1 to Vn. Therefore, a source image generator and source image are associated with each other through the source ID.
Layout manager 12 stores layout information corresponding to source ID.
Each of the source IDs is associated with specification of the source image. A source ID P is associated with pointer P on the composite image. Source ID F is associated with an active frame described later. For example, layout of source images on composed image M is shown in
The common interface generator 13 may generate (a) a composed image of source images and (b) a composed image of pointer P and an activated frame. The activated frame may be designated as a colored layer overlaid on the activated source image (e.g., as in
Analyzer 14 analyzes the HID signal sent from viewer 3. Analyzer 14 outputs the analysis result (e.g., the pointer's position and clicked-on position in the composed image) to layout manager 12. Layout manager 12 edits the layout management table according to the analysis result. Layout manager 12 notifies analyzer 14 and image composer 11 a finish edit time.
In response to such notification, analyzer 14 determines the source image that pointer P is then on by using position information px, py, associated with source ID “p”, and other layout information associated with source IDs. Analyzer 14 also determines the pointer's position on the determined source image. An example is described with
Analyzer 14 also determines the pointer's position on the determined source image. Specifically, at first, the position of the upper left corner of the source image on the composed image M (15, 15) is subtracted from the position of the pointer P on the composed image M (30, 30). The result of the subtraction (15, 15) is multiplied by the scaling factor (4, 4) between the absolute size (100, 100) and the size on the composed image M (25, 25) of the source image. Then, the pointer's position on the absolute source image V1 is calculated as (60, 60).
If the pointer's position on the composed image M is (20, 25) when notification occurs, the pointer's position on the absolute source image V1 is calculated as (20, 40). Analyzer 14 sends the pointer's position in the source image with the source ID of the source image and the click event, to operator 15 and layout manager 12. In response to receipt, operator 15 detects a network address of the source image generator for the source image, using the source ID. Operator 15 sends the pointer's position in the source image and the click event to the network address. Correspondence between the source ID and the network address of the source image generator is previously stored in MCU 1. Correspondence between the source generator ID and the network address of the source image generator may be detected on their first connection.
Operations of transmitter 32 of viewer 3, analyzer 14, operator 15, and layout manager 12 of MCU 1 are described below with flowcharts.
At first, transmitter 32 executes a timer process (S11), and detects moving distance and click event of the user interface (S12). That is, transmitter 32 periodically detects the pointer's state properties. Transmitter 32 generates the HID signal based on information of the moving distance on each of x direction and y direction and the click event, and sends the HID signal to analyzer 14 (S13). After S13, transmitter 32 determines whether a termination direction (e.g., release of a mouse click button) has been input or not. If transmitter 32 determines that a termination direction has been input, transmitter 32 terminates the process (YES branch of S14). If not, transmitter 32 executes step S11 again (NO branch of S14).
If pointer P is on the boundary line, layout manager 12 temporally stores the control signal sent from the analyzer 14 (S48) and edits properties of the source image associated with the source ID, in the layout management table (S49). Layout manager 12 edits it according to control signals following the control signal temporally stored. This edit can resize the source image on the composed image. Layout manager 12 overwrites the properties of the resized source image in the layout management table (S50). Layout manager 12 notifies an edit finish timing to image composer 11 (S51). After that, layout manager 12 executes step S41 again.
Supplementary information for the layout manager 12 process shown in
In
For example, a layout of source images on the composed image M is shown in
In addition, structure of the layout management table may be like shown in
Viewer 3 may have a device to provide the image and control the position of pointer P instead of common interface generator 13 of MCU 1.
Supplementary information for image composer 11 process is described below.
Decoder 112-0 decodes the image provided from common interface generator 13. Decoders 112-1 to 112-n decode source images sent from each of source image generator 2-1 to 2-n respectively. The images provided form common interface generator 13 or source image generators 2-1 to 2-n may be encoded based on MPEG4 standard.
Composer 111 obtains the source images and the image of pointer P from decoders 112-0 to 112-n, and composes them to the composed image M. Encoder 113-1 encodes composed image M.
Layout director 1112 obtains layout information from layout manager 12. Layout processor 1111 obtains resized source images stored in image storages 1114-0 to 1114-n, and lays them out on composed image M based on the direction of layout director 1112. As described above, source image generators 2-1 to 2-n provide source images respectively. MCU 1 composes those source images to composed image M. Viewer 3 displays composed image M. MCU 1 analyzes the event about pointer P which occurred at viewer 3. MCU 1 reflects the result of the analysis to the source image generator that is the source of the source image on which the viewer 3 operates with pointer P.
a) is an example of source image V1 included in composed image M shown in
Buttons B1 to B4 are reduced together when source image V1 is reduced in the example described with
An example of a second non-limiting embodiment of a remote-control system is described using
a) is an example of layout information stored as layout management table in layout manager 12 in this embodiment. The layout management table has parameters (x′, y′, w′, h′) in addition to the layout management table described in the first embodiment. Those parameters (x′, y′, w′, h′) indicate an operative area.
The operative area indicates an area to be sent independently of MCU 1. That is, an image in the defined operative area is shown independently on the composed image displayed by viewer 3. In
In response to the received HID signal at analyzer 14, layout manager 12 executes operations described below.
(1) Layout manager 12 detects other source images overlapping the reference area determined by coordinates (a1, a2) and (a3, a4). The layout manager 12 determines source IDs of the detected source images.
(2) Layout manager 12 calculates overlap ratios for each of detected source images. The overlap ratio is a ratio of the area of the source image overlapping the reference area to the entire area of the source image. The layout manager 12 determines a source ID of a source image whose overlap ratio is the largest among the source images, as a target source ID. If there are two or more source images having the same and larges overlap ratio, the one of those source images whose layer is in front of another such source image is selected and its source ID is determined as the target source ID.
(3) Layout manager 12 regards the overlapping area of the source image corresponding to the target source ID determined in the above (2) as an operative area of the determined source image. Coordinates and sizes of the overlapping area are written into the layout management table as the properties (x′, y′, w′, h′) associated with the target source ID.
(4) Layout manager 12 adds a row to the layout management table. The additional row is a clone of the properties associated with the target source ID, but the source ID is new instead of the target source ID. The layer of the additional row is on the layer of the target source ID. The properties (x′, y′, w′, h′) of the additional row are the values calculated in (3) above. The property x of the additional row is the sum of the property x of the target source ID and a predetermined offset value for the coordinate. The property y of the additional row is sum of the property y of the target source ID and a predetermined offset for the y coordinate. Additionally, the new source ID is associated with a network address which the target source ID is associated with.
a) illustrates an example of the layout management table before detection of the operative area.
The upper left corner of reference area Area1 is on (35, 5), and the lower right corner of reference area Area1 is on (47, 47), in the coordinate system 300 of
In this example, source images V1 and V2 overlap reference area Area1. Twenty percent of source image V1 overlaps reference area Area1 and 0.16 percent of source image V2 overlaps reference area Area1. Therefore, layout manager 12 determines source ID “V1” corresponding to source image V1 as the target source ID (i.e., because the overlap ratio of the source image V1 is the largest among the source images).
Properties of the overlapping area (x′, y′, w′, h′) written into the layout management table of
An example of a third non-limiting embodiment of a remote-control system is described using
If the user controls pointer P onto a key of the software keyboard SK with the mouse and clicks the right button, an HID signal is sent from transmitter 32 of viewer 3 to analyzer 14 of MCU 1. Analyzer 14 analyzes the HID signal sent from viewer 3 and outputs the results of the analysis (e.g., such as the pointer's position and clicked position on the composed image) to layout manager 12. If analyzer 14 detects the click on software keyboard SK, it converts the clicked position of the pointer indicated by the HID signal with respect to coordinate system 300 to a position on software keyboard SK.
Analyzer 14 determines a source image that adjoins the image of the software keyboard SK in composed image M. Analyzer 14 sends the source ID of the adjoining source image to common interface generator 13. In the example of
Analyzer 14 may send the source IDs of the source images, which are located within a predetermined distance from the software keyboard SK in composed image M, to common interface generator 13. Then, analyzer 14 sends such source IDs to common interface generator 13 which converts the clicked position on the software keyboard SK to a key code and sends the source IDs and the key code to operator 15. Operator 15 sends the key code to source image generators that are associated with the source IDs.
Analyzer 14 may send the source ID of the source image which overlaps the software keyboard SK in composed image M to common interface generator 13.
a) and
Analyzer 14 determines a source image that adjoins the image of the software touchpad ST in composed image M and sends its source ID to common interface generator 13. In the example of
In this embodiment, independent interfaces can be used instead of interfaces in the source image. Thus, a difficulty with control interfaces such as a reduced size button caused by reduction of source image can be avoided.
It will be understood by those in the art that numerous modifications and variations may be made in the above-described exemplary embodiments while yet retaining novel features and advantages. All such modifications and variations are intended to be included within the scope of the appended claims.
Number | Date | Country | Kind |
---|---|---|---|
2005-274472 | Sep 2005 | JP | national |
Number | Name | Date | Kind |
---|---|---|---|
5159667 | Borrey et al. | Oct 1992 | A |
5467450 | Coelho | Nov 1995 | A |
5487143 | Southgate | Jan 1996 | A |
5572647 | Blades | Nov 1996 | A |
5675755 | Trueblood | Oct 1997 | A |
5689665 | Mitsui et al. | Nov 1997 | A |
5751959 | Sato et al. | May 1998 | A |
5764277 | Loui et al. | Jun 1998 | A |
5796402 | Ellison-Taylor | Aug 1998 | A |
5886694 | Breinberg et al. | Mar 1999 | A |
5889932 | Adegeest et al. | Mar 1999 | A |
6031530 | Trueblood | Feb 2000 | A |
6043817 | Bolnick et al. | Mar 2000 | A |
6122005 | Sasaki et al. | Sep 2000 | A |
6760638 | Love et al. | Jul 2004 | B1 |
7019750 | Sakaguchi | Mar 2006 | B2 |
7050112 | Rieder et al. | May 2006 | B2 |
7559031 | Kawamura et al. | Jul 2009 | B2 |
7710449 | Amiel et al. | May 2010 | B2 |
20010027398 | Kohno | Oct 2001 | A1 |
20020075199 | Asahi et al. | Jun 2002 | A1 |
20040008635 | Nelson et al. | Jan 2004 | A1 |
20040119750 | Harrison | Jun 2004 | A1 |
20040130575 | Tai et al. | Jul 2004 | A1 |
20040261037 | Ording et al. | Dec 2004 | A1 |
20050125742 | Grotjohn et al. | Jun 2005 | A1 |
20050188321 | Adams et al. | Aug 2005 | A1 |
20050264648 | Ivashin et al. | Dec 2005 | A1 |
20050286444 | Yang et al. | Dec 2005 | A1 |
20060158510 | Lia et al. | Jul 2006 | A1 |
20060192848 | Ni | Aug 2006 | A1 |
20060274195 | Eshkoli | Dec 2006 | A1 |
20070120967 | Eshkoli et al. | May 2007 | A1 |
Number | Date | Country |
---|---|---|
5-103324 | Apr 1993 | JP |
6-141310 | May 1994 | JP |
6-282405 | Oct 1994 | JP |
7-046564 | Feb 1995 | JP |
7-084905 | Mar 1995 | JP |
A-7-105106 | Apr 1995 | JP |
8-289189 | Nov 1996 | JP |
8-294100 | Nov 1996 | JP |
8-297617 | Nov 1996 | JP |
9-023414 | Jan 1997 | JP |
9-081107 | Mar 1997 | JP |
9-081475 | Mar 1997 | JP |
9-149396 | Jun 1997 | JP |
9-237154 | Sep 1997 | JP |
10-164532 | Jun 1998 | JP |
11-234643 | Aug 1999 | JP |
2000-259535 | Sep 2000 | JP |
A-2001-157186 | Jun 2001 | JP |
2002-342775 | Nov 2002 | JP |
A-2003-134382 | May 2003 | JP |
2003-323387 | Nov 2003 | JP |
2004-234426 | Aug 2004 | JP |
2004-240577 | Aug 2004 | JP |
2005-149241 | Jun 2005 | JP |
2005-191642 | Jul 2005 | JP |
2005-328484 | Nov 2005 | JP |
2005-536132 | Nov 2005 | JP |
2006-201709 | Aug 2006 | JP |
Number | Date | Country | |
---|---|---|---|
20070063972 A1 | Mar 2007 | US |