This application is based upon and claims the benefit of priority from the prior Japanese Patent Applications No. 2005-252042 filed on Aug. 31, 2005, the entire contents of which are incorporated herein by reference.
1. Field of the Invention
The present invention relates to a display apparatus, a display method, and a program, which display, for example, a composite video image in a multipoint video conference system utilizing an image composition server.
2. Related Art
As the graphical user interface develops, it is possible in personal computers (PCs) of today to display a plurality of windows on a display (called desktop as well). The display windows are managed by a window display system. The user conducts work while freely operating the windows on the desktop. Among a plurality of display windows, a window which accepts user's operation is called active window. Furthermore, there is a concept of overlapping in windows. For example, there is a front-rear relation between two windows. A rear window is partially or wholly hidden by a front window in some cases. Since in general a desktop area is restricted, the number of windows which can be disposed so as not to overlap each other in the area is limited. In order to effectively use the restricted desktop area, therefore, the user conducts work by actively utilizing overlapping of windows and using a desired window as an active window while operating the front-rear relation between windows as occasion demands.
Although it is possible to effectively use the desktop area by utilizing window overlapping, the overlapping causes trouble that contents displayed by the rear window are hidden and unseen. For ascertaining contents displayed by the rear window, it is necessary for the user to move the rear window to the front or another place having no overlapping. In order to reduce the labor of this manual operation, therefore, a method of automatically changing the display position of the rear window in a window display system is conceivable. Or a method of automatically making the front window transparent in the window display system is also conceivable. As for the operation in the window display system, it is also conceivable that the rear or front window itself detects overlapping and conducts display position movement processing and processing of making the display transparent on the own window.
On the other hand, as a method for automatically displaying data which has disappeared from display due to overlapping of windows without using the technique such as moving or making transparent, a method of moving the start position of data displayed in a window is proposed in JP-A 1997-81107 (KOKAI). In JP-A 2004-234426 (KOKAI), it is mentioned as a problem that an interface object (an operation button such as a minimization button, a maximization button, or a scroll bar) attached to a window is hidden by overlapping of windows, and a method of moving the interface object to a position having no overlapping in the window and displaying the interface object is proposed.
It is possible to construct a multipoint video conference system by exchanging video images and voices between information devices capable of transmitting and receiving data via a network.
When constructing a multipoint video conference system including a plurality of conference terminals, there are a method of mutually exchanging video images between conference terminals, and a method of utilizing a conference server, transmitting video images from conference terminals to a conference server, composing (mixing) video images received from a plurality of conference terminals to form one video image in the conference server, and then delivering the resultant video image to the terminals. Especially in the latter method, it suffices to receive a video image from the single conference server, and consequently the network load can be reduced as compared with the former method. The conference using the former method and the conference using the latter method are sometimes called distributive multipoint conference and concentrated multipoint conference, respectively.
The conference server is sometimes called MCU (Multipoint Control Unit) as well.
Video images received from respective terminals are respectively referred to as video sources. As for positions in which respective video sources are arranged in a composite video image, there are a method in which the conference server automatically determines the positions and a method in which respective terminals exercise control over the positions. For example, in the case where the number of video sources is four, there are various composition patterns as to the arrangement position of the video sources, such as the case where the composite image is arranged so as to be divided into four parts, and the case where with respect to one video image the remaining three video images are arranged like pictures in picture. In the case where control is exercised from each terminal, there is a method in which one is selected from among predetermined patterns and a notice thereof is sent to the conference server to change a composite video image. Besides the method of changing the video arrangement by ordering a pattern, a method of specifying arrangement positions of video sources from the terminal side is also conceivable.
If, in a multipoint video conference system in which one composite video image is transmitted from a conference server to terminals by utilizing a conference server, a terminal which displays the received composite video image is a PC, the composite video image is displayed in one window.
A method of automatically changing the display position of a rear window when the window display system has detected overlapping of windows is conceivable. If the position of the rear window is moved, however, then there is a possibility that a problem that a third window is hidden or the rear window is hidden by a third window will occur. Even if a contrivance such as downscaling of the window at the time of movement is conducted, this problem cannot be completely avoided. Furthermore, a method of making the front window transparent in the window display system is also conceivable. If the front window is made transparent or semitransparent, however, it becomes possible for the user to ascertain the display contents of the rear window. However, hardness to see caused by the fact that overlapping contents of the two windows are displayed poses a problem.
On the other hand, even if a technique of moving the start position of data displayed in a window or changing the display position of the window is used when overlapping is detected by the function of the window display system or an application for operating individual windows, there is a possibility that data which should be originally displayed will not be displayed resulting in a problem. In other words, if the start position of data displayed in the window is moved, there is a possibility that a video image of a portion which has protruded from the window will not be displayed. Furthermore, if there is not a sufficient area in a movement destination when the display position of the window is changed, there is a possibility that a part of a video image in the window will be still hidden by another window. For example, the following problems occur.
It is supposed that in a state in which faces of a plurality of participants are displayed in one window in the video conference system a window of a different application for presentation materials is displayed. In this case, a face of a participant becomes unseen due to overlapping of windows.
In the same way as the video conference system, a surveillance camera system is supposed. If in a state in which video images of a plurality of points are displayed in one window another work window is started, an important video image becomes unseen in some cases.
According to an aspect of the present invention, there is provided with a display apparatus comprising: a display apparatus which displays a first window and a second window, comprising: a receiver configured to receive a composite object obtained by composing a first object and a second object, from a server; a display unit configured to display the composite object in the first window; a window overlap detector configured to detect an overlap between the second window and the composite object in the first window, and to obtain a position of the overlap in the first window; a layout determiner configured to determine layouts of the objects in the composite object according to the position of the overlap so as not to place the first object and the second object on the position of the overlap; and a transmitter configured to transmit information of the layouts of the objects determined by the layout determiner, to the server.
According to an aspect of the present invention, there is provided with a display apparatus which displays a first window and a second window, comprising: an object receiver configured to receive a first object and a second object; a layout storage configured to store layouts of the first object and the second object; a composite object generator configured to compose the first and second objects according to the layouts of the first and second objects to generate a composite object; a display unit configured to display the composite object in the first window; a window overlap detector configured to detect overlap between the second window and the composite object in the first window, and to obtain a position of the overlap in the first window; a layout determiner configured to determine layouts of the first and second objects according to the position of the overlap so as not to place the first object and the second object on the position of the overlap; and a layout updater configured to update the layouts of the first and second objects in the layout storage by using the determined layouts of the first and second objects.
According to an aspect of the present invention, there is provided with a program which is executed by a computer, comprising instructions for: receiving a composite object obtained by composing a first object and a second object, from a server; displaying the composite object in a first window; detecting overlap between a second window and the composite object in the first window; obtaining a position of the overlap in the first window; determining layouts of the objects in the composite object according to the position of the overlap so as not to place the first object and the second object on the position of the overlap; and transmitting information of the determined layouts to the server.
According to an aspect of the present invention, there is provided with a program which is executed by computer, comprising instructions for: receiving a first object and a second object; composing the first and second objects according to layouts of the first and second objects to generate a composite object; displaying the composite object in a first window; detecting overlap between a second window and the composite object in the first window; obtaining a position of the overlap in the first window; determining layouts of the objects on the basis of the detected position so as not to place the first object and the second object on the position of the overlap; and updating the layouts of the first and second objects by using the determined layouts of the first and second objects.
Hereafter, a first embodiment of the present invention will be described with reference to FIGS. 1 to 21.
In the present embodiment, the conference terminals 1B, 1C, 1D and 1E have a function of transmitting video data to the conference server 2 by utilizing communication paths 3-1B, 3-1C, 3-1D and 3-1E, respectively. The conference server 2 has a function of composing video images received from the conference terminals 1B, 1C, 1D and 1E into one video image in a state in which the conference server 2 is connected simultaneously to the conference terminals 1, 1B, 1C, 1D and 1E, and transmitting a resultant composite video image to the conference terminal 1. The video data transmitted by the conference terminals 1B, 1C, 1D and 1E may be video data generated utilizing respective camera devices 4B, 4C, 4D and 4E, or video data stored in respective conference terminals. On the other hand, the conference terminal 1 has a function of receiving video data transmitted by the conference server 2 by utilizing a communication path 3-11 between it and the conference server 2 and transmitting a control signal to the conference server 2 by utilizing a communication path 3-12. By the way, the conference terminal 1 may have a function of transmitting video data to the conference server 2 in the same way as the conference terminals 1B, 1C, 1D and 1E. The conference terminals 1B, 1C, 1D and 1E may have a function of receiving video data from the conference server 2 in the same way as the conference terminal 1. Since only video data is described in the present embodiment, description concerning transmission and reception of voice data which are originally an indispensable function of the multipoint video conference system will be omitted.
The conference terminals 1, 1B, 1C, 1D and 1E are, for example, personal computers (hereafter referred to as PCs) or PDAs (Personal Digital Assistants) having a function of conducting communication via the network. The conference terminals 1, 1B, 1C, 1D and 1E have a function of displaying video data received from the conference server 2. The present embodiment will now be described supposing that the conference terminal 1 is a PC of notebook type having the Windows™ OS of the Microsoft Corporation mounted thereon.
In the present embodiment, it is supposed that the conference server 2 has a function of generating a composite video image from four video data received from the conference terminals.
A desktop screen 1000 is displayed on a screen display of the display unit 12 (on a screen of the LCD 13). Windows 1001 and 1002 and a pointer 2000 are displayed on the desktop screen (hereafter referred to simply as screen) 1000. By the way, since the display function of the windows 1001 and 1002 themselves and the display function and operation function of the pointer 2000 are already mounted on ordinary PCs, description of them will be omitted here.
The computer main body 11 has a thin box-shaped cabinet. On a top surface of the computer main body 11, a pointing device 14 is disposed to conduct operation concerning the pointer 2000. In addition, a network communication device 15 is incorporated in the computer main body 11. By the way, the pointing device 14 is disposed on the computer main body 11. For example, in a PC utilizing an external mouse, however, the mouse corresponds to the pointing device 14. The network communication device 15 is a device which executes network communication. The network communication device 15 includes, for example, a physical connector for connection to the network. The network communication device 15 executes data transfer according to a command input from a CPU in the computer main body 11. Its control is conducted according to a communication protocol stored in a memory in the computer main body 11.
The conference terminal 1 includes an image controller 100, which forms a feature of the present embodiment, as its components. The conference terminal 1 is supposed to be a PC. The image controller 100 can display drawing data generated by itself on the screen 1000 shown in
The image controller 100 includes an image signal generator 200, a receiver 300, a window overlap detector 400, a layout determiner 500, a layout control signal generator 600 and a transmitter 700.
The receiver 300 acquires video data delivered from the conference server 2 via the communication path 3-11 shown in
The window overlap detector 400 can detect a display position, a size and a transparency, of a different window. By utilizing the function, the window overlap detector 400 can detect whether a different opaque window overlaps the display area 1011 in the window 1001 and detect its overlapping quantity.
The layout determiner 500 manages layout information of the composite video image displayed by the image signal generator 200. The layout determiner 500 manages the display area 1011 in the window 1001. Using X-Y coordinates, the layout determiner 500 manages, for example, an upper left-hand vertex of the display area 1011 as (0, 0), an upper right-hand vertex as (100, 0), a lower left-hand vertex as (0, 100), and a lower right-hand vertex as (100, 100) as shown in
Upon being supplied with layout information from the layout determiner 500, the layout control signal generator 600 constructs a layout control signal to convey the layout information to the conference server 2.
Upon being supplied with the layout control signal from the layout control signal generator 600, the transmitter 700 uses the layout control signal as a payload part in a layout control packet to be transmitted to the conference server 2. The transmitter 700 outputs the layout control packet to the network interface 71 together with additional information such as destination address information of the network required to transmit the layout control packet to the conference server 2. Upon being supplied with the layout control packet having the additional information added thereto from the transmitter 700, the network interface 71 transmits the layout control packet to the conference server 2 via the communication path 3-12.
In
The conference server 2 includes an object receiver 20, an object composer 900, a composition layout controller 800 and a network interface 72. Utilizing a function of the network interface 72, the composition layout controller 800 can transmit video data via the communication path 3-11 shown in
The object receiver 20 receives objects delivered from four object transmission apparatuses 2B, 2C, 2D and 2E shown in
Upon being supplied with video data from the object receiver 20, the object composer 900 composes them and generates a composite video image 60A. This composite video image corresponds to the composite object. That is, the object composer 900 composes the objects input from the object receiver 20 and generates a composite object. In generating a composite video image 60A, the object composer 900 has a function of being able to adjust the image size, arrangement position and layer position of each video data in the composite video image 60A. The object composer 900 manages the composite video image 60A by using X-Y coordinates with each of the horizontal direction and the vertical direction normalized to a value of 100 as shown in
On the other hand, the composition layout controller 800 acquires a layout control packet delivered from the conference terminal 1 via the communication path 3-12 shown in
It is now supposed that a different opaque window 1002 shown in
Upon detecting the overlapping caused by the different window, the window overlap detector 400 outputs the overlapping quantity to the layout determiner 500. The overlapping quantity is represented as an overlapping position by using X-Y coordinates (for example, such as “overlapping position: X>50” or “overlapping position: X>50 and Y>50”).
Upon being supplied with the overlapping quantity, the layout determiner 500 calculates an area having no overlapping caused by the different window on the display area 1011 represented by X-Y coordinates, and conducts processing so as to arrange respective pictures (20B, 20C, 20D and 20E) included in the composite video image in areas having no overlapping. As a result of this processing, the layout determiner 500 updates layout information, and outputs the updated layout information to the layout control signal generator 600.
It is now supposed that a different window 1002 is moved onto a display area 1011 in a window 1001 in which a composite video image is displayed as shown in
In the same way,
In the present embodiment, the number of video images to be composed is set equal to four in order to simplify the description. Alternatively, the number of video images to be composed may be set equal to eight or sixteen etc. by expanding the present embodiment.
Heretofore, the detailed configuration and operation of the conference terminal 1 and the conference server 2 have been described as the first embodiment of the present invention. When a different front window overlaps a window which displays a composite object, it becomes possible according to the present embodiment to dynamically rearrange the composite object to display the composite object in an area which causes no overlapping, while following the movement of the front window.
For example, in a state in which faces of a plurality of participants are displayed in one window in the video conference system, a window of a different application for presentation materials is displayed. In this case, a phenomenon that a face of a participant is made unseen by overlapping of windows occurs. When a different front window overlaps a window which is displaying a face of a participant, however, the composite layout is changed following the movement of the front window and the face of the participant is displayed in an area having no overlapping according to the present embodiment.
Hereafter, a second embodiment of the present invention will be described with reference to FIGS. 22 to 24,
The display apparatus 4 includes an image controller 100 which is a feature of the present embodiment, as its component. The image controller 100 can cause a screen 1000 to display drawing data generated internally using a drawing function mounted on the PC. The image controller 100 can receive objects from object transmission apparatuses 2B, 2C, 2D and 2E by utilizing a function of an object receiver 20.
Hereafter, the present embodiment will be described supposing that the objects are video data. Furthermore, it is supposed that the display apparatus 4 is connected to the object transmission apparatuses 2B, 2C, 2D and 2E via a network 3 as shown in
The image controller 100 includes an image signal generator 200, a receiver 300, a window overlap detector 400, a layout determiner 500, a layout control signal generator 600, a transmitter 700 and a composition layout controller 800′.
Upon being supplied with video data from an object receiver 20, the composition layout controller 800′ generates a composite video image from them, and outputs video data concerning the generated video image to the receiver 300. Upon being supplied with the video data from the composition layout controller 800′, the receiver 300 outputs the video data to the image signal generator 200. The receiver 300 may operate to periodically acquire video data from the composition layout controller 800′.
The image signal generator 200 has a function of generating and displaying a window 1001. The image signal generator 200 constructs video data which can be displayed, from video data input from the receiver 300, and displays the video data, for example, in the display area 1011 in the window 1001 as shown in
The window overlap detector 400 can detect a display position, a size and a transparency, of a different window 1002 which differs from the window 1001 displayed on the screen 1000. By utilizing the function, the window overlap detector 400 can detect whether a different opaque window overlaps the display area 1011 in the window 1001 and detect its overlapping quantity.
The layout determiner 500 is the same in operation as the layout determiner 500 described in the first embodiment. The layout determiner 500 manages layout information as shown in
The layout control signal generator 600 is the same in operation as the layout control signal generator 600 described in the first embodiment.
Upon being supplied with the layout control signal from the layout control signal generator 600, the transmitter 700 outputs the layout control signal to the composition layout controller 800′.
The composition layout controller 800′ has two functions: the function of the object composer 900 and the function of the composition layout controller 800 in the conference server 2 described in the first embodiment.
Upon being supplied with four video data 20B, 20C, 20D and 20E from the object receiver 20, the composition layout controller 800′ composes them and generates a composite video image 60A. In generating a composite video image 60A, the composition layout controller 800′ has a function of being able to adjust the image size, arrangement position and layer position of the respective video data. The composition layout controller 800′ manages the composite video image 60A by using X-Y coordinates with each of the horizontal direction and the vertical direction normalized to a value of 100 as shown in
Upon being supplied with the layout control signal from the transmitter 700, the composition layout controller 800′ analyzes the layout control signal, and then updates the contents of the layout management table on the basis of a result of the analysis. In addition, the composition layout controller 800′ changes arrangement positions of respective video data in the composite video image 60A by utilizing the result.
As described earlier, “the layout control signal generator 600 is the same in operation as the layout control signal generator 600 described in the first embodiment.” Instead of generating the layout control signal and outputting the layout control signal to the composition layout controller 800′ via the transmitter 700 as described with reference to the first embodiment and as shown in
It is now supposed that a different window 1002 shown in
The present embodiment has been described supposing that the objects are the video data. However, the present embodiment is not restricted to it. For example, the case where data transmitted from each object transmission apparatus is a set of character strings will now be described. Sets of character strings transmitted by the object transmission apparatuses 2B, 2C, 2D and 2E are supposed to be a set B, a set C, a set D and a set E, respectively. Components in the image controller 100 are components which execute processing with the video data or the display area of it described above replaced by a set of character strings or a display area of it. For example, upon being supplied with four sets of character strings: the set B, the set C, the set D and the set E from the object receiver 20, the composition layout controller 800′ composes those sets and generates a composite character string set. At this time, the layout management table manages display positions and sizes of respective character string sets.
According to the description of the present embodiment, the display apparatus 4 is connected to the object transmission apparatuses 2B, 2C, 2D and 2E via the network 3 as shown in
Functions represented by the configurations shown in
Heretofore, the detailed configuration and operation of the display apparatus 4 have been described as the second embodiment. The second embodiment can be said to be a special example in the case where the video composition function disposed in the conference server in the first embodiment is locally provided. In the case where a different front window overlaps a window which displays a composite object, it becomes possible to dynamically rearrange the composite object so as to display the composite object in an area having no overlapping while following the movement of the front window in the same way as the first embodiment.
For example, when a certain PC in a surveillance camera system receives video images at a plurality of points, composes the video images, and displays a composite video image in one window, starting a different work window causes an important video image to be unseen in some cases. According to the present embodiment, however, the composite layout is changed following the movement of the front overlapping window and each surveillance video image is displayed in an area having no overlapping.
The video sources are not restricted to those received via the network, but they may be video data retained internally. Even if the video sources are, for example, character strings, the composite layout is changed following the movement of the front overlapping window and the subjects to be composed are displayed in non-overlapped areas.
Hereafter, a third embodiment of the present invention will be described with reference to
The present embodiment shows concrete examples of the method in which the window overlap detector 400 described in the first embodiment and the second embodiment detects overlapping of a different window, and the method in which the layout determiner 500 calculates and determines the layout information so as to avoid the overlapping area on the basis of the overlapping quantity.
The window overlap detector 400 has a function of detecting that a different opaque window 1002 overlaps its own window 1001. For example, if the Windows OS of the Microsoft Corporation is mounted as the OS, a technique for detecting that a different front opaque window overlaps a certain window by utilizing the function of Win32 API provided by the system is self-evident. It becomes possible to recognize the position and size of the different window 1002 by, for example, acquiring information including four pieces of information: top left coordinates and bottom right coordinates called RECT structure, from the system by utilizing the handle information. The window overlap detector 400 determines whether the overlapping of the different window 1002 is present in the display area 1011 in its own window 1001. If there is overlapping in the display area 1011, the window overlap detector 400 detects overlapping. The window overlap detector 400 judges a different window which overlaps the own window 1001, but which does not overlap the display area 1011 not to overlap.
Upon detecting overlapping caused by the different window, the window overlap detector 400 can represent the overlapping quantity by analyzing the information of the RECT structure of the different window and utilizing X-Y coordinates indicating the display area 1011. For example, if the different window 1002 overlaps an area represented by X>50 in the display area 1011 as shown in
The number of the overlapping window is not restricted to one. The window overlap detector 400 judges sometimes a plurality of different windows to overlap. For example, it is supposed that two different windows 1002 and 1003 overlap the display area 1011 as shown in
In some cases, the different window 1002 overlaps as shown in
On the other hand, upon being supplied with information concerning the above-described overlapping quantity from the window overlap detector 400, the layout determiner 500 conducts calculation to find non-overlapping areas and determines layout arrangement. Hereafter, processing of arranging respective video images (20B, 20C, 20D and 20E) included in the composite video image in non-overlapping areas conducted by the layout determiner 500 will be described.
For example,
On the other hand, if a sizable area having 50 or more in the horizontal direction and 50 or more in the vertical direction cannot be detected, it is determined whether four areas having 25 in the horizontal direction and 25 in the vertical direction can be detected as the non-overlapping areas. If, as shown in
Although the algorithm for area detection becomes complicated as compared with the case where four areas each having a fixed size which is 25 in the horizontal direction and 25 in the vertical direction are detected, if a sizable area having 50 or more in the horizontal direction and 50 or more in the vertical direction cannot be detected, a method of detecting four areas each having 25 or more in the horizontal direction and 25 or more in the vertical direction as non-overlapping areas can also be used.
If the sizable non-overlapping area having 50 or more in the horizontal direction and 50 or more in the vertical direction cannot be detected or four non-overlapping areas each having 25 in the horizontal direction and 25 in the vertical direction cannot be detected, then immediately preceding layout information may be retained without changing the layout. By doing so, unnecessary screen changes and layout changes can be suppressed.
Alternatively, the layout change may not be conducted when the overlapping quantity detected by the window overlap detector 400 is small or, for example, when the overlapping quantity is 10% or less for the area of the display area 1011. For example, when the composite video image is displayed in the display area 1011 as shown in
In the present embodiment, an example of an algorithm used to determine the layout information on the basis of the overlapping quantity has been shown. However, an algorithm to be used is not restricted to this algorithm, but other algorithms may also be used.
Heretofore, a concrete example of an algorithm which changes the composite layout while following the movement of the front overlapping window to display objects to be composed in non-overlapping areas, has been described as the third embodiment of the present invention. In addition to the effects described in the first and second embodiments, it also becomes possible to suppress screen changes and layout changes the user might feel subjectively unnecessary by using the technique described in the third embodiment of the present invention.
Hereafter, a fourth embodiment of the present invention will be described with reference to
In the present embodiment, there will be described operation conducted when an layout storage 501 shown in
The layout determiner 500 can store layout information to be used when the window overlap detector 400 does not detect overlapping of a different window, in the layout storage 501.
In the third embodiment, only the case where four video sources 20B, 20C, 20D and 20E are composed according to respective layouts shown in
For example, in the third embodiment, the method of automatically changing the layout of the each video source when overlapping of the different window has been detected has been described. In the present embodiment, however, by providing the layout storage 501, it becomes possible to restore the screen layout set freely by the user beforehand (second user layout) on the basis of layout information stored in the layout storage 501 when overlapping of a different window has disappeared.
Furthermore, it is also possible to store two or more pieces of layout information in the layout storage 501. For example, one of the pieces of the layout information is layout information set freely by the user in the non-overlapping state, and the other is favorite layout information specified (selected) by the user. In this case, for example, it is possible to not only change the layout in accordance with the algorithm shown in the third embodiment when overlapping is detected, but also change the layout to the favorite layout specified by the user (first user layout) when overlapping of a certain definite quantity is detected.
Heretofore, the case where the layout information is stored has been described as the fourth embodiment of the present invention. According to the present invention, in the case where the user can freely change the composite layout in the state in which there is not overlapping of a different window, it also becomes possible to positively restore the layout in the non-overlapping state when overlapping has disappeared.
Number | Date | Country | Kind |
---|---|---|---|
2005-252042 | Aug 2005 | JP | national |