WO2007114667A1 - Apparatus for providing multiple screens and method of dynamically configuring multiple screens - Google Patents

Apparatus for providing multiple screens and method of dynamically configuring multiple screens Download PDF

Info

Publication number
WO2007114667A1
WO2007114667A1 PCT/KR2007/001673 KR2007001673W WO2007114667A1 WO 2007114667 A1 WO2007114667 A1 WO 2007114667A1 KR 2007001673 W KR2007001673 W KR 2007001673W WO 2007114667 A1 WO2007114667 A1 WO 2007114667A1
Authority
WO
WIPO (PCT)
Prior art keywords
screen
service
logical
application
service context
Prior art date
Application number
PCT/KR2007/001673
Other languages
French (fr)
Inventor
Jong-Ho Lee
Kwang-Kee Lee
Sung-Wook Byun
Glenn A. Adams
Un-Gyo Jung
Original Assignee
Samsung Electronics Co., Ltd.
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
Priority claimed from KR1020070024323A external-priority patent/KR20070100110A/en
Application filed by Samsung Electronics Co., Ltd. filed Critical Samsung Electronics Co., Ltd.
Priority to CA002648944A priority Critical patent/CA2648944A1/en
Priority to MX2008012833A priority patent/MX2008012833A/en
Publication of WO2007114667A1 publication Critical patent/WO2007114667A1/en

Links

Classifications

    • 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
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
    • H04N21/431Generation of visual interfaces for content selection or interaction; Content or additional data rendering
    • H04N21/4312Generation of visual interfaces for content selection or interaction; Content or additional data rendering involving specific graphical features, e.g. screen layout, special fonts or colors, blinking icons, highlights or animations
    • H04N21/4316Generation of visual interfaces for content selection or interaction; Content or additional data rendering involving specific graphical features, e.g. screen layout, special fonts or colors, blinking icons, highlights or animations for displaying supplemental content in a region of the screen, e.g. an advertisement in a separate window
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
    • H04N21/443OS processes, e.g. booting an STB, implementing a Java virtual machine in an STB or power management in an STB
    • H04N21/4438Window management, e.g. event handling following interaction with the user interface
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/47End-user applications

Definitions

  • Apparatuses and methods consistent with the present invention relate to configuring multiple screens, and more particularly, to dynamically configuring multiple screens which provide multiple contents on a single physical display device.
  • TVs digital televisions
  • digital set-top boxes provide only one content element on a single physical display device or simultaneously display a main screen and a sub-screen on a single physical display device.
  • Content sources include a broadcast service such as a satellite broadcaster, a terrestrial broadcaster, or a cable broadcaster, a storage medium such as digital versatile discs (DVDs), or an external device connected to an input terminal.
  • a broadcast service such as a satellite broadcaster, a terrestrial broadcaster, or a cable broadcaster
  • a storage medium such as digital versatile discs (DVDs)
  • DVDs digital versatile discs
  • MHP Mobile Multimedia Subsystem
  • ACAP Advanced Common Application
  • OCAP Open Cable Application Platform
  • HAVi Video Interoperability
  • UI user interface
  • the present invention provides an apparatus and method for dynamically configuring multiple screens which provide a plurality of contents on a physical display device.
  • a method of method of dynamically configuring multiple screens includes generating a plurality of logical screens; associating a service context with a first logical screen selected from the generated logical screens; and moving the service context from the first logical screen to a second logical screen selected from the generated logical screens.
  • an apparatus for providing multiple screens includes a user/application interface module receiving a service moving request from a user or an application; and a service processing module generating a plurality of logical screens and moving a service context ssociated with a first logical screen, which is selected from the generated logical screen, to a second logical screen, which is selected from the generated logical screens, in response to the service moving request.
  • FIGS. 1 to 8 are diagrams illustrating a configuration of a PIP screen according to an exemplary embodiment of the present invention
  • FIG. 9 is a diagram illustrating the relationship between a logical screen and a display screen according to an exemplary embodiment of the present invention.
  • FIGS. 10 to 14 are diagrams illustrating a configuration of a screen including a mapper according to an exemplary embodiment of the present invention.
  • FIG. 15 is a block diagram illustrating service sources according to an exemplary embodiment of the present invention.
  • FIGS. 16 and 17 are diagrams illustrating a non-abstract service and an abstract service according to an exemplary embodiment of the present invention.
  • FIG. 18 is a diagram illustrating attribute information and interfaces of a logical screen and a display screen
  • FIG. 19 is a diagram illustrating an attribute 'z-order' of a logical screen according to an exemplary embodiment of the present invention.
  • FIGS. 20 and 21 are diagrams each illustrating an attribute 'Display _Area' of a logical screen according to exemplary embodiments of the present invention.
  • FIG. 22 is a diagram illustrating a method of mapping two services to a display screen according to an exemplary embodiment of the present invention
  • FIG. 23 is a diagram illustratin g processes of moving services according to an exemplary embodiment of the present invention.
  • FIG . 24 is a diagram illustrating processes of moving services according to an exemplary embodiment of the present invention.
  • FIG. 25 is a block diagram illustrating a configuration of an apparatus for providing multiple screens according to an exemplary embodiment of the present invention.
  • FIG. 26 is a flowchart illustrating a method of dynamically configuring multiple screens according to an exemplary embodiment of the present invention
  • FIG. 27 is a diagram illustrating a process of service moving according to an exemplary embodiment of the present invention.
  • FIG. 28 is a diagram illustrating a software architecture for providing multiple screens according to an exemplary embodiment of the present invention.
  • FIG. 29 is a diagram illustrating the relationships among modules constituting an application programming interface (API) layer according to an exemplary embodiment of the present invention.
  • API application programming interface
  • FIG. 30 is a flowchart illustrating a method of displaying a plurality of services that are displayed on respective corresponding logical screens on a display screen by the modules illustrated in FIG. 29 according to an exemplary embodiment of the present invention
  • FIG. 31 is a flowchart illustrating a method of moving services displayed on logical screens between the modules illustrated in FIG. 29 according to an exemplary embodiment of the present invention.
  • FIG. 32 is a flowchart illustrating a method of moving services displayed on logical screens between the modules illustrated in FIG. 29 according to an exemplary embodiment of the present invention.
  • Mode for Invention
  • the term 'service' indicates a group of multimedia contents displayed together, i.e., at least one of service components forms a single service.
  • Service components are elements of a service and include a video component, an audio component, and a data component.
  • the video component and the audio component include video information and audio information, respectively.
  • the data component refers an application in a service and includes an application providing weather information, an application providing stock information, an application providing subtitles or an electronic program guide (EPG).
  • EPG electronic program guide
  • the term 'service context' indicates an object which can control the executing of a service and includes various resources, devices, and execution state information needed for providing a service. It is possible to confirm the service components that are configuration elements of the service by the service context.
  • the term 'physical display device' indicates a physical device which actually displays the content of a service, an external output port to which the content is output, or a storage device in which the content is stored.
  • the term 'display screen' indicates a screen actually displayed on a physical display device.
  • An arbitrary service may be directly set in the display screen, and the display screen may be displayed on a physical display device.
  • at least one logical screen which is mapped to a certain area of the display screen may be displayed on the physical display device.
  • the term 'logical screen' indicates a space in which an arbitrary service is displayed.
  • a logical screen is a virtual screen before being mapped to a display screen and thus is not displayed on a physical display device. Therefore, the logical screen is mapped to the display screen to be displayed on the physical display device.
  • the logical screen and the display screen may be a combination of a background still image, a video raster, and a graphic raster.
  • the graphic raster may be a combination of text, lines, colors, and images or a mixture of video frames.
  • 'main service' indicates a service that is selected as a main service through a menu displayed on the physical display device or a remote controller by a user or through an API by an application, and the screen on which the main service is displayed is referred to as a 'main screen'.
  • PIP service indicates a service that is selected as a sub-service in the main service through a menu displayed on a physical display device or a remote controller by a user via an API by an application, and the PIP service may be displayed on a picture-in-picture screen (PIP screen) or a main screen.
  • the PIP screen includes a screen that occupies a part of another screen as illustrated in FIGS. 1 to 4 and a screen that is simultaneously displayed with another screen without overlapping the other screen as illustrated in FIGS. 5 to 6.
  • the PIP screen may include a screen that is displayed on an arbitrary location or area in the physical display device or overlaps another screen, as illustrated in FIGS. 7 and 8.
  • FIG. 9 is a diagram illustrating the relationship between a logical screen and a display screen according to an exemplary embodiment of the present invention.
  • a service may be displayed using logical screens 210, 212, and
  • the logical screens 210, 212, and 214 are mapped to display screens 220, 222, and 224 through a mapping block 230.
  • the logical screens 210 and 212 are mapped to the display screen 220
  • the logical screens 212 and 214 are mapped to the display screen 222
  • the logical screens 210, 212, and 214 are mapped to the display screen 224.
  • At least one logical screen which displays a service is mapped to an arbitrary area of a display screen by the mapping block 230.
  • the mapping block 230 is a group of various pieces of information needed for mapping a logical screen to a display screen.
  • the various pieces of information include coordinate information of a predetermined area on a display screen to which each of a plurality of logical screens is mapped, identification information of the logical screens and the display screen, and information specifying in what order the logical screens are displayed on the display screen.
  • the mapping block 230 can change the size of the logical screen so to be allocated in an arbitrary area of the display screen. That is, the mapping block 230 can perform scaling of the logical screen and allocating of the position thereof, and FIGS. 10 to 14 are diagrams illustrating a configuration of the screen including a mapper as the mapping block.
  • the main screen including a combination of a background still image B, a video raster V, and a graphic raster G is mapped to the entire display screen by a mapper with a normal size.
  • the PIP screen including only video components is mapped to the entire display screen by the mapper with a reduced size.
  • the mapped PIP screen is displayed on the main screen, which is determined depending on a Z value.
  • the reference character Z refers to z-order value which will be described later.
  • An overlay screen may be combined with the display screen.
  • the overlay screen is a specific screen disposed at the outmost side, and may be used when providing a caption function.
  • the PIP screen may have only a video component as illustrated in FIG. 10, or may have a combination of the background still image B, the video raster V, and the graphic rater G as illustrated in FIG. 11.
  • the main screen including the combination of the background still image B, the video raster V, and the graphic rater G is mapped to the entire display screen by the mapper with a normal size.
  • Two PIP screens #1 and #2 having only video component is mapped to an arbitrary area of the display screen by the mapper with a reduced size.
  • the mapped PIP screen is disposed on the main screen and the Z value can be constantly maintained.
  • the overlay screen may be combined with the display screen.
  • the configuration of the screen may have a plurality of PIP screens including only video components as illustrated in FIG. 12 or a plurality of PIP screens including a combination of the background still image B, the video raster V, and the graphic rater G as shown in FIG. 13.
  • FIG. 14 Picture-Outside-Picture (POP) screens are illustrated in FIG. 14. It can be understood that the PIP screen is displayed inside the main screen and the POP screen is displayed outside the main screen.
  • the plurality of PIP screens #1 and #2 including a combination of the background still image B, the video raster V, and the graphic rater G are mapped to arbitrary areas of the display screen by the mapper with a reduced size. In this case, the Z value of the mapped POP screens #1 and #2 may be constantly maintained. Further, the overlay screen may be combined with the display screen.
  • the mapping block 230 may be realized by interfaces or functions prepared by various computer program languages to be executed and create or change the relationship between the logical screen and the display screen by using the above information as parameters.
  • mapping block 230 may also be realized by a hardware in order to function for mapping the logical screen to the display screen
  • services provided by various service sources may be displayed on a display screen, and the display screen may be displayed on a physical display device, as illustrated in FIG. 15.
  • service sources which provide broadcast services such as a terrestrial broadcaster 320 and a cable broadcaster 330, service sources which provide services stored in a storage medium such as a personal video recorder (PVR) 340, and service sources (not illustrated in FIG. 15) which provide services via a wired network or a wireless network.
  • PVR personal video recorder
  • a broadcast receiver 310 receives services from the service sources and produces logical screens displaying each of the received services.
  • an arbitrary service is directly set on the display screen to be displayed on a physical display device using a predefined method or a method set by a user or an application. Otherwise, at least one logical screen that is mapped to an arbitrary area on the display screen is displayed on a physical display device 350.
  • services provided by the terrestrial broadcaster 320, the cable broadcaster 330, and the PVR are displayed on the physical display device 350.
  • the terrestrial broadcaster 320, the cable broadcaster 330, and the PVR 340 are illustrated in FIG. 15 as being service sources, but the present invention is not limited to it. Any type of multimedia content source which provides multimedia contents that can be displayed together can be a service source according to an exemplary embodiment of the present invention.
  • Services according to an exemplary embodiment of the present invention can be classified into abstract services and non-abstract services, as illustrated in FIGS. 16 and 17.
  • the abstract services are not services provided by broadcast signals transmitted in real time but services independent of broadcast channels.
  • the abstract services include only data components, i.e., application, without video components and audio components. Examples of the abstract services include services having unbound applications based on the OCAP standard.
  • the non-abstract services are understood as services other than abstract services.
  • both abstract services and non-abstract services have independency.
  • abstract services may be directly set on the physical display device not through logical screens and non-abstract services may be displayed on the logical screens.
  • the logical screens may be mapped to the display screen in which the abstract services are set. Thereafter, the display screen may be output through the physical display device.
  • the abstract services can be displayed on the display screen independently of the non-abstract services.
  • the abstract services and non-abstract services may be mapped to different logical screens. Thereafter, the logical screens may be mapped to a single display screen. In other words, the abstract services can be displayed on the display screen independently of non-abstract services.
  • the logical screen and the display screen may be categorized as being different objects.
  • a screen may serve as a logic screen or a display screen according to attribute information of one screen object.
  • the attribute information of the screen object includes a plurality of attributes 'z-
  • FIG. 18 illustrates the attribute information of the screen object and the type of interfaces that process the attribute information.
  • An attribute 'type' 505 is attribute information indicating whether the screen is a logical screen or a display screen.
  • An attribute 'z-Order' 510 is for determining in what order a plurality of logical screens are arranged along the z-axis.
  • FIG. 19 illustrates a configuration of logical screens on a physical display device for a combination of the values of attributes 'z- Order' of the logical screens.
  • first and second logical screens 620 and 630 are respectively mapped to predetermined areas of a display screen 610.
  • the first logical screen 620 is displayed on the display screen 610
  • the second logical screen 630 is displayed on the display screen partially overlapping the first logical screen 620.
  • the display screen 610, the first logical screen 620, and the second logical screen 630 are sequentially arranged in the direction of the z-axis.
  • an attribute 'z-Order' of the first logical screen 620 may be set to a value of 1
  • an attribute 'z-Order' of the second logical screen 630 may be set to a value of 2.
  • the attributes 'z-Order' of the first and second logical screens 620 and 630 may be set to any numbers or characters as long as they can represent a certain order in which the first and second logical screens 620 and 630 are to be arranged along the z-axis.
  • An attribute 'Display _Area' 520 is information regarding a display screen area of a logical screen, as to be illustrated in FIGS. 20 and 21.
  • FIG. 20 illustrates that a logical screen 710 is mapped to an entire area of the display screen 720
  • FIG. 21 illustrates that a logical screen 730 is mapped to a partial area of the display screen 740.
  • the attribute 'Display _Area' may include information specifying the two-dimensional coordinates of a predetermined portion of a display screen to which the logical screen is to be mapped or may include information specifying a predetermined location on the display screen and an offset value indicating how much the logical screen deviates from the predetermined location on the display screen.
  • An attribute 'Visibility' 530 determines whether a logical screen is to be visibly or invisibly displayed on a display screen. It is possible to make a logical screen appear on or disappear from a display screen by altering the value of the attribute 'Visibility' 530.
  • An attribute 'Associated_Display_Screen' 540 is information regarding display screens associated with a logical screen.
  • a logical screen which is not associated with any display screens may not be displayed on a physical display device nor be transmitted to external output devices.
  • An attribute 'Associated_Service_Contexts' 550 is information regarding service contexts connected to a logical screen or a display screen. Services set in such service contexts may be displayed on a logical screen or a display screen.
  • An attribute 'OutputPort' 560 is information regarding devices by which a display screen is to be output, and such devices include display screens, wired/wireless communication media, and various storage media.
  • Interfaces for identifying or altering the values of the attributes illustrated in FIG. 18 may be provided.
  • the interfaces may include an interface 'SET' for setting attribute values or connecting a logical screen to a display screen, an interface 'ADD' for adding attribute values or connecting a logical screen to a service, an interface 'GET' for identifying attribute values, and an interface 'REMOVE' for deleting attribute values.
  • These interfaces may include processes, functions, procedures, or methods that perform their functions, respectively.
  • a method 'getDisplayScreen(void)' returns a display screen associated with the current screen.
  • the method 'getDisplayScreen(void)' returns the associated display screen.
  • the method 'getDisplayScreen(void)' returns reference information regarding the current screen.
  • the method 'getDisplayScreen(void)' returns a value of 'NULL'.
  • IllegalStateException' provides a function for mapping the current logical screen to a predetermined area of the associated display screen.
  • An instance that is provided as a parameter is of a class ⁇ ScreenRectangle' of a package 'org.havi.ui', and has two-dimensional position information.
  • the execution of the methods 'SecurityException' and 'IllegalStateException' may be conducted as an exceptional operation for the method 'setDis- playScreen(HScreen screen)'.
  • the method 'IllegalStateException' may be executed when the current screen is a logical screen or when a portion of a display screen associated with a current logical screen cannot change due to the characteristics of a host platform.
  • a method 'getDisplayArea(void)' returns regional information of a current screen as HScreenRectangle information. If the current screen corresponds to a display screen, the method 'getDisplayArea(void)' returns HScreen- Rectangle information having the same value as HScreenRectangle (0,0,1,1). If the current screen is a logical screen, the method 'getDisplayArea(void)' returns information regarding an area on a display screen occupied by the current screen. If the current screen is a logical screen but is not associated with any display screen, the method 'getDisplayArea(void)' returns a value 'NULL'.
  • FIG. 22 is a diagram illustrating a process that two services are set on two logical screens to be mapped to a single display screen.
  • a first service includes all the three service components, i.e., video, audio, and data components, and a second service includes only video and audio components.
  • the present invention does not impose any restrictions on service components, and the first and second services illustrated in FIG. 8 are exemplary.
  • the first and second services are displayed on a physical display device in almost the same manner as in the related art. According to the current exemplary embodiment of the present invention, it is possible to display a plurality of services on a physical display device independently of one another without imposing any restrictions on the number of services that can be displayed on a single display screen.
  • service contexts By associating the service context for a service with a screen, contents in the service can be displayed, and service contexts can be moved or interchanged between screens according to a selection of a user or an application.
  • the operation of moving the service contexts between the screens refers to service moving.
  • a service context used in the service moving may be for an abstract service or non-abstract service.
  • the service moving can be performed using interfaces 'remove' and 'add' described with reference to FIG. 18. More specifically, an operation of canceling the association between the service context s and the screen is performed through a method 're- moveServiceContext s, ' and an operation of associating the service contexts removed from the screen with another screen is performed through a method 'addSer- viceContexts.' That is, in order for service moving, a service context to be moved is removed from a source screen, and then the service context removed from the source screen is added to a destination screen.
  • the service moving can be performed between logical screens.
  • the present invention is not limited thereto, and the service moving can also be performed between a logical screen and a display screen.
  • all of a plurality of service contexts associated with a source screen can be moved to a destination screen.
  • the present invention is not limited thereto, and some of the service contexts associated with the source screen can be moved to the destination screen. In this case, some of a plurality of services displayed on the source screen are displayed on the destination screen.
  • FIG. 23 A process of service moving according to an exemplary embodiment of the present invention is illustrated in FIG. 23. It is assumed that a source screen 10 is associated with a service 12, and no service is associated with a destination screen 20 (refer to (A) in FIG. 23). In this state, when a user or an application requests a service moving, the service 12 is disconnected from the source screen 10 (refer to (B) in FIG. 23). To this end, a service context related to the service 12 may be removed from the source screen 10.
  • a service context related to the service 12 may be added to the destination screen 20.
  • the service moving process is performed in a state where no service is displayed on the destination screen 20.
  • the present invention is not limited thereto.
  • a service displayed on a source screen can be moved to a destination screen even if another service is displayed on the destination screen.
  • FIG. 24 a source screen 10 displays a service 14 including data components
  • a destination screen 20 displays a service 16 including video components.
  • the service 14 is moved from the source screen 10 to the destination screen 20.
  • the destination screen 20 displays the two services 14 and 16.
  • the service moving can also be performed between a main screen and a PIP screen.
  • the signal information can be included in application information indicating information for applications in the services.
  • Examples of the application information include an application information table (AIT) based on the MHP standard and an extended application information table (XAIT) based on the OCAP standard.
  • the signal information may be provided by a service provider (for example, broadcasting system providing terrestrial broadcasts 320 or cable broadcasts 330 of FIG. 15).
  • the application is interrupted.
  • the interruption may include suspension, i.e., the application is temporally suspended, and termination, i.e., the application is completely terminated. Therefore, the application executed on the main screen may be suspended or terminated.
  • the type of interruption of the application is varied according to realized examples.
  • FIG. 25 is a block diagram of an apparatus for providing multiple screens according to an exemplary embodiment of the present invention.
  • an apparatus 900 for providing multiple screens includes a digital signal processing module 940, a service processing module 950, an output module 960, and a user/application interface module 965.
  • the apparatus 900 includes a broadcast signal reception module 910, a storage medium 920, and an external input module 930 as service sources, and includes a physical display device 970, a storage medium 980, and an external output module 990 as service output media.
  • a module means, but is not limited to, a software or hardware component, such as a Field Programmable Gate Array (FPGA) or an Application Specific Integrated Circuit (ASIC), which performs certain tasks.
  • a module may advantageously be configured to reside on the addressable storage medium and configured to be executed on one or more processors.
  • a module may include, by way of example, components, such as software components, object-oriented software components, class components and task components, processes, functions, attributes, procedures, subroutines, segments of program code, drivers, firmware, microcode, circuitry, data, databases, data structures, tables, arrays, and variables.
  • the functionality provided for in the components and modules may be combined into fewer components and modules or further separated into additional components and modules.
  • the digital signal processing module 940 receives various information of a service such as a multimedia content, e.g., video information, audio information, or data information, from the broadcast signal reception module 910, the storage medium 920, or the external input module 930.
  • a multimedia content e.g., video information, audio information, or data information
  • the broadcast signal reception module 910 receives a satellite, terrestrial, or cable broadcast signal and transmits the received broadcast signal
  • the storage medium 920 stores video information, audio information, or data information of a service
  • the external input module 930 receives video information, audio information, or data information of a service from an external device such as a network interface module connected to a network.
  • the digital signal processing module 940 restores a plurality of services using received service components.
  • the restored services include abstract or non-abstract services.
  • the phrase 'a plurality of services' refers to two or more services transmitted by the broadcast signal reception module 910 or two or more services respectively transmitted by the broadcast signal reception module 910 and the storage medium 920.
  • the digital signal processing module 940 may restore services according to selection by a user or an application with the aid of the user/application interface module 965.
  • the user or the application may select the connection between an arbitrary service and a screen.
  • the service processing module 950 generates a logical screen and a display screen to display a service restored by the digital signal processing module 940.
  • the service processing module 950 connects the services to the logical screens. Further, the service restored by the digital signal processing module 940 may be not connected to the logical screens in the service processing module 950, but may be directly connected to the display screen.
  • the service processing module 950 may perform service moving between the screens in response to the request of a user or an application through the user/ application interface module 965. According to an exemplary embodiment of the present invention, the service processing module 950 may suspend or terminate a service during the service moving.
  • the service processing module 950 may include functionally divided modules.
  • the service processing module 950 may include a screen generation module (not shown) and a service selection module (not shown).
  • the screen generation module may generate a screen
  • the service selection module may connect a service to the generated screen or remove a service connected to a screen.
  • the output module 960 maps one or more logical screens produced by the service processing module 950 to the display screen.
  • the output module 960 may serve as the mapping block 230 illustrated in FIG. 9.
  • the mapping area of the logical screens to the display screen may be previously set using a predefined method or a method set by the user with the aid of the user/application interface module 965.
  • a display screen provided by the output module 960 may be displayed on the physical display device 970 or may be stored in the storage medium 980.
  • Examples of the storage medium 980 include computer readable floppy discs, hard discs, CD-ROM. DVD, DVD-ROM, BD (Blu-ray Disc), and semiconductor memories.
  • a display screen provided by the output module 960 may be transmitted to an external device connected to a network via the external output module 990.
  • the output module 960 may include a plurality of output ports via which a display screen can be provided.
  • a display screen can be provided via an output port set in advance as a default or an output port chosen by the user with the aid of the user/application interface module 965.
  • the user or the application can choose one of a plurality of services or restore desired services using the user/application interface module 965. Also, the user can choose one of a plurality of display screens using the user/application interface module 965.
  • FIG. 26 is a flowchart illustrating a method of dynamically configuring multiple screens according to an exemplary embodiment of the present invention.
  • video information, audio information, and data information constituting a multimedia content are transmitted in a predetermined format, for example, an MPEG stream format.
  • an apparatus for providing a service such as a multimedia content service receives video information, audio information, and data information and restores a service based on the video information, the audio information, and the data information.
  • the service restored in operation SlOlO may be selected or previously determined by a user or an application.
  • the user may use a menu displayed on the display device or a remote controller to select the connections between an arbitrary screen and a screen.
  • the application may select the connections using an API.
  • data information includes application information regarding application for a service, and these application information includes signal information indicating whether the application can be executed on a PIP screen.
  • application information include an AIT based on the MHP standard and an XAIT based on the OCAP standard.
  • the signal information may be added to the application information.
  • the restored service is set such that it can be displayed on a logical screen.
  • the logical screen is mapped to a display screen.
  • the display screen is provided to the user using a display device, a storage medium, or a network.
  • the restored service is illustrated in FIG. 26 as being displayed on a physical display device via a logical screen. However, the restored service may be directly displayed on a physical display device without passing through the logical screen.
  • the PIP service is realized in two modes. In the first mode, only video component for PIP service selected on the main screen is provided without creating a separate logical screen for PIP service (that is, PIP screen ) . In the second mode, a separate logical screen for PIP service is created to provide the PIP service selected on the created PIP screen.
  • FIG. 26 illustrates a method of mapping only one service to a display screen for simplicity. However, a plurality of services may be mapped to a display screen with or without passing through a plurality of logical screens.
  • FIG. 27 is a diagram illustrating a process of moving services according to an exemplary embodiment of the present invention.
  • a request for service moving is input through the user/application interface module 965 by the user or an application, and in operation S 120, the service processing module 950 disconnects a service, which is displayed on a source screen, from the source screen .
  • a user may determine which of a plurality of screens generated in advance to be source screen and which of them to be a destination screen.
  • the service processing module 950 connects the service disconnected from the source screen to the destination screen.
  • the destination screen is a PIP screen and the service disconnected from the source screen includes an application
  • FIG. 28 is a diagram illustrating a software architecture for providing multiple screens according to an exemplary embodiment of the present invention.
  • a software architecture 1100 includes a device driver layer 1110, an API layer 1120, and an application layer 1130.
  • the device driver layer 1110 receives service components from various multimedia content sources and decodes the received service components. Examples of the received service components include video information, audio information, and data information.
  • the API layer 1120 generates a logical screen and a display screen and maps a service, the logical screen, and the display screen to one another. That is, the API layer 1120 can be implemented as the service processing module 950 illustrated in FIG. 25.
  • the application layer 1130 provides a user interface so that a user can dynamically configure a logical screen which displays a service or transmits a user command to the API layer 1120 so that the API layer 1120 can execute the user command.
  • the user enables the device driver layer 1110 with the aid of the application layer 1130 to provide a display screen via a physical display device or to store the display screen in a storage medium.
  • the user can enable the device driver layer 1110 to transmit a display screen to an external device via a network.
  • the device driver layer 1110 may include a plurality of output ports which can provide a display screen.
  • API layer 1120 may include the plurality of output ports.
  • the API layer 1120 may include a plurality of software modules, e.g., a multiscreen manager module ' MultiScreenManager ' 1210, a multiscreen context module ' Multi- ScreenContext' 1230, a multiscreen context listener module ' MultiScreenCon- textListener' 1250, and a multiscreen context event module ' MultiScreenContextEvent' 1240, as illustrated in FIG. 29.
  • a multiscreen manager module ' MultiScreenManager ' 1210 e.g., a multiscreen manager module ' MultiScreenManager ' 1210
  • a multiscreen context module ' Multi- ScreenContext' 1230 e.g., a multiscreen context listener module ' MultiScreenCon- textListener' 1250
  • a multiscreen context event module ' MultiScreenContextEvent' 1240 e.g., a multiscreen context event module ' MultiScreenContextEvent' 1240, as illustrated in FIG. 29.
  • the multiscreen manager module 1210 manages the multiscreen context module
  • the multiscreen context module 1230 is an interface object associated with a screen object 1220 and determines whether the screen object 1220 is to become a logical screen or a display screen according to an interface operation performed by the multiscreen context module 1230.
  • Various attributes such as the attributes 510 through 570 illustrated in FIG. 18 may be set in the multiscreen context module 1230.
  • the multiscreen context module 1230 can provide the functions 'SET', 'ADD', 'GET', and 'REMOVE' described above with reference to FIG. 18.
  • the multiscreen context event module 1240 serves as an event class announcing that the attribute information of the screen object 1220 has been changed, and the multiscreen context listener module 1250 serves as a listener interface object which can be realized in a predetermined application class which attempts to receive an event prompted by the multiscreen context event module 1240. Therefore, if service moving is performed, the multiscreen context event module 1240 announces the occurrence of an event in which service contexts of screens (source and destination screens), which are targets for service moving, have been changed. This announcement may be transmitted to a monitor application, which manages screen information, by the multiscreen context listener module 1250 .
  • T he monitor application may update a screen information table according to the announcement of the multiscreen context event module 1240 . Since the monitor application is merely an embodiment of the present invention, the announcement of the occurrence of the event can also be transmitted to a specified module or another application which manages the screen information.
  • An application 1260 is a module which is driven on the application layer 1130.
  • the application 1260 allows the user to choose a desired service and to freely arrange a plurality of logical screens on a display screen.
  • the application 1260 transmits various commands which allow the user to dynamically configure and manage logical screens to the multiscreen manager module 1210, and the multiscreen manager module 1210 controls operations corresponding to the various commands to be executed through the multiscreen context module 1230.
  • the multiscreen context module 1230 is associated with the screen object 1220 and manages the attribute information of the screen object 1220 illustrated in FIG. 18.
  • the multiscreen context module 1230 may include a variety of functions or methods. Further, these function may be performed by a separate module (not shown).
  • the multiscreen manager module 1210 receives service components provided by various service sources from the device driver layer 1110 and performs operations to display the received service components on a logical screen or a display screen. According to an exemplary embodiment of the present invention, the above functions can be performed another module (not illustrated).
  • FIG. 30 is a flowchart illustrating a method of displaying a plurality of services displayed on respective corresponding logical screens by the modules illustrated in FIG. 29 on a display screen according to an exemplary embodiment of the present invention.
  • the multiscreen manager module 1210 produces a display screen and a number of logical screens corresponding to the number of services to be performed.
  • the multiscreen manager module 1210 connects the logical screens to respective corresponding services received from the device driver layer 1110.
  • the multiscreen manager module 1210 may call a method 'addServiceContext s ' for each of the logical screens by setting service context objects of the received services as parameters for the logical screens services.
  • the method 'addServiceContext s ' connects a logical screen to service s and may be provided by the multiscreen context module 1230.
  • the multiscreen manager module 1210 connects the logical screens to the display screen.
  • the multiscreen manager module 1210 may call a method 'setDis- playScreen' for each of the logical screens by setting a display screen object to which the logical screens are connected as a parameter.
  • the method 'setDisplayScreen' connects a logical screen to a display screen and may be provided by the multiscreen context module 1230.
  • a method 'setDisplayScreen' may be set to 'public void setDisplayScreen (HScreen screen) throws SecurityException, Illegal StateException', and this method allows an instance 'HScreen' that is provided as a parameter to be associated with the current logical screen.
  • the instance 'HScreen' is preferably a display screen.
  • a parameter of the method 'setDisplayScreen(HScreen screen)' may include a value of 'NULL'. In this case, when the method 'setDisplayScreen(HScreen screen)' is executed without exception handling, the current logical screen is no longer associated with the display screen.
  • the method 'IllegalStateException' may be executed when a current screen is a logical screen or when a portion of a display screen associated with a current logical screen cannot change due to the characteristics of a host platform.
  • operation S 1340 areas on the display screen to which the logical screens are to be respectively mapped are determined.
  • a predetermined method provided by the multiscreen context module 1230 can be called to determine an area on the display screen where the logical screens are to be displayed.
  • FIG. 31 is a flowchart illustrating a method of moving services displayed on logical screens between the modules illustrated in FIG. 29 according to an exemplary embodiment of the present invention.
  • a method of moving services between logical and display screens can also be understood based on the method of FIG. 31.
  • a method 'removeServiceContext s ' is called for the source logical screen.
  • the method 'remove Service Context s ' removes service context s connected to the so urce logical screen.
  • the method 'removeServiceContext s ' may be provided by the multiscreen context module 1230.
  • the service that is to be moved may be suspended before operation S 1410.
  • the multiscreen context event module 1240 announces the occurrence of an event in which the service has been disconnected from the source logical screen. More specifically, the multiscreen context event module 1240 announces the occurrence of an event in which the service contexts of the source logical screen have been changed in operation S 1410. Thereafter, the multiscreen manager module 1210 connects the service removed from the source logical screen to the destination logical screen in operation S 1430. At this time, a method 'addServiceContext s ' may be called for the destination logical screen. The method 'addServiceContext s ' adds service context s to the destination logical screen. The method 'addServiceContexts' may be provided by the multiscreen context module 1230.
  • the multiscreen context event module 1240 announces the occurrence of an event in which the service has been connected to the destination logical screen. More specifically, the multiscreen context event module 1240 announces the occurrence of an event in which the service contexts of the destination logical screen have been changed in operation S 1430 .
  • the multiscreen context event module 1240 separately announces the occurrence of events when the service is disconnected from the source logical screen and when the service is connected to the destination logical screen.
  • the present invention is not limited thereto.
  • the multiscreen context event module 1240 may announce, at a time, the occurrence of an event related to the source logical screen and the destination logical screen after the two operations are performed. This operation is illustrated in FIG. 32.
  • the multiscreen manager module 1210 disconnects a service, which is to be moved, from a source logical screen in operation S 1510. Then, in operation S 1520, the multiscreen manager module 1210 connects the service disconnected from the source logical screen to a destination logical screen.
  • Operations S 1510 and S 1520 of FIG. 32 respectively correspond to operations S 1410 and S 1430 of FIG. 31.
  • the operation of announcing the occurrence of an event using the multiscreen context event module 1240 is not performed between operations S 1510 and S 1520.
  • the multiscreen context event module 1240 announces, at a time, the occurrence of an event in which service contexts of the source logical screen have been changed and an event in which service contexts of the destination logical screen have been changed.

Abstract

An apparatus for providing multiple screens and a method of dynamically configuring multiple screens are provided. The method of dynamically configuring multiple screens includes generating a plurality of logical screens; associating a service context with a first logical screen selected from the generated logical screens; and moving the service context from the first logical screen to a second logical screen selected from the generated logical screens.

Description

Description
APPARATUS FOR PROVIDING MULTIPLE SCREENS AND METHOD OF DYNAMICALLY CONFIGURING MULTIPLE
SCREENS
Technical Field
[1] Apparatuses and methods consistent with the present invention relate to configuring multiple screens, and more particularly, to dynamically configuring multiple screens which provide multiple contents on a single physical display device. Background Art
[2] Related art broadcast receivers such as digital televisions (TVs) or digital set-top boxes provide only one content element on a single physical display device or simultaneously display a main screen and a sub-screen on a single physical display device.
[3] Even though related art broadcast receivers can simultaneously display both the main screen and the sub-screen on the same display screen, they can only arrange the main screen and the sub-screen in a limited number of manners. In the case of a content displayed within the main screen, all elements of the content, i.e., video data, audio data, and other data, are displayed. On the other hand, in the case of a content displayed within the sub-screen, only some of the elements of the content are displayed.
[4] Content sources include a broadcast service such as a satellite broadcaster, a terrestrial broadcaster, or a cable broadcaster, a storage medium such as digital versatile discs (DVDs), or an external device connected to an input terminal. However, it is quite difficult to display contents provided by such various content sources on a display screen using the existing broadcast receivers.
Disclosure of Invention Technical Problem
[5] In an interactive TV application program environment such as the Multimedia Home
Platform (MHP), the Advanced Common Application (ACAP), and the Open Cable Application Platform (OCAP), it is assumed that only one screen is output on a physical display device.
[6] In the interactive TV application program environment, for example, a Home Audio/
Video Interoperability (HAVi)-based user interface (UI) is adopted. According to the HAVi UI standard, even though no restriction is imposed on the number of screens displayed on a physical display device, only one screen is generally displayed on a physical display device.
[7] In such an environment, it is difficult to perform operations, such as decoding, digital signal processing, user interaction processing, etc. with respect to one among multimedia contents displayed on a screen while displaying the multimedia contents on independent screens. In addition, it is also difficult to dynamically control the life cycles of application programs and the use of resources in the units of the screens.
[8] Accordingly, there exists a need for a method of displaying a variety of contents on a dynamically configured screen. Technical Solution
[9] The present invention provides an apparatus and method for dynamically configuring multiple screens which provide a plurality of contents on a physical display device.
[10] According to an aspect of the present invention, there is provided a method of method of dynamically configuring multiple screens. The method includes generating a plurality of logical screens; associating a service context with a first logical screen selected from the generated logical screens; and moving the service context from the first logical screen to a second logical screen selected from the generated logical screens.
[11] According to another aspect of the present invention, there is provided an apparatus for providing multiple screens. The apparatus includes a user/application interface module receiving a service moving request from a user or an application; and a service processing module generating a plurality of logical screens and moving a service context ssociated with a first logical screen, which is selected from the generated logical screen, to a second logical screen, which is selected from the generated logical screens, in response to the service moving request. Description of Drawings
[12] The above and other aspects of the present invention will become more apparent by describing in detail exemplary embodiments thereof with reference to the attached drawings, in which:
[13] FIGS. 1 to 8 are diagrams illustrating a configuration of a PIP screen according to an exemplary embodiment of the present invention;
[14] FIG. 9 is a diagram illustrating the relationship between a logical screen and a display screen according to an exemplary embodiment of the present invention;
[15] FIGS. 10 to 14 are diagrams illustrating a configuration of a screen including a mapper according to an exemplary embodiment of the present invention;
[16] FIG. 15 is a block diagram illustrating service sources according to an exemplary embodiment of the present invention;
[17] FIGS. 16 and 17 are diagrams illustrating a non-abstract service and an abstract service according to an exemplary embodiment of the present invention;
[18] FIG. 18 is a diagram illustrating attribute information and interfaces of a logical screen and a display screen;
[19] FIG. 19 is a diagram illustrating an attribute 'z-order' of a logical screen according to an exemplary embodiment of the present invention;
[20] FIGS. 20 and 21 are diagrams each illustrating an attribute 'Display _Area' of a logical screen according to exemplary embodiments of the present invention;
[21] FIG. 22 is a diagram illustrating a method of mapping two services to a display screen according to an exemplary embodiment of the present invention;
[22] FIG. 23 is a diagram illustratin g processes of moving services according to an exemplary embodiment of the present invention;
[23] FIG . 24 is a diagram illustrating processes of moving services according to an exemplary embodiment of the present invention;
[24] FIG. 25 is a block diagram illustrating a configuration of an apparatus for providing multiple screens according to an exemplary embodiment of the present invention;
[25] FIG. 26 is a flowchart illustrating a method of dynamically configuring multiple screens according to an exemplary embodiment of the present invention;
[26] FIG. 27 is a diagram illustrating a process of service moving according to an exemplary embodiment of the present invention;
[27] FIG. 28 is a diagram illustrating a software architecture for providing multiple screens according to an exemplary embodiment of the present invention;
[28] FIG. 29 is a diagram illustrating the relationships among modules constituting an application programming interface (API) layer according to an exemplary embodiment of the present invention;
[29] FIG. 30 is a flowchart illustrating a method of displaying a plurality of services that are displayed on respective corresponding logical screens on a display screen by the modules illustrated in FIG. 29 according to an exemplary embodiment of the present invention;
[30] FIG. 31 is a flowchart illustrating a method of moving services displayed on logical screens between the modules illustrated in FIG. 29 according to an exemplary embodiment of the present invention and
[31] FIG. 32 is a flowchart illustrating a method of moving services displayed on logical screens between the modules illustrated in FIG. 29 according to an exemplary embodiment of the present invention. Mode for Invention
[32] Advantages and features of the present invention and methods of accomplishing the same may be understood more readily by reference to the following detailed description of exemplary embodiments and the accompanying drawings. The present invention may, however, be embodied in many different forms and should not be construed as being limited to the exemplary embodiments set forth herein. Rather, these exemplary embodiments are provided so that this disclosure will be thorough and complete and will fully convey the concept of the invention to those skilled in the art, and the present invention will only be defined by the appended claims. Like reference numerals refer to like elements throughout the specification.
[33] Before explaining the present invention, terms used in the specification will now be described briefly. However, it is noted that the use of any and all examples or exemplary terms provided herein is intended merely to better illuminate the invention and is not a limitation on the scope of the invention unless otherwise claimed.
[34] The term 'service' indicates a group of multimedia contents displayed together, i.e., at least one of service components forms a single service.
[35] Service components are elements of a service and include a video component, an audio component, and a data component. The video component and the audio component include video information and audio information, respectively. Further, the data component refers an application in a service and includes an application providing weather information, an application providing stock information, an application providing subtitles or an electronic program guide (EPG).
[36] The term 'service context' indicates an object which can control the executing of a service and includes various resources, devices, and execution state information needed for providing a service. It is possible to confirm the service components that are configuration elements of the service by the service context.
[37] The term 'physical display device' indicates a physical device which actually displays the content of a service, an external output port to which the content is output, or a storage device in which the content is stored.
[38] The term 'display screen' indicates a screen actually displayed on a physical display device. An arbitrary service may be directly set in the display screen, and the display screen may be displayed on a physical display device. Alternatively, at least one logical screen which is mapped to a certain area of the display screen may be displayed on the physical display device.
[39] The term 'logical screen' indicates a space in which an arbitrary service is displayed.
A logical screen is a virtual screen before being mapped to a display screen and thus is not displayed on a physical display device. Therefore, the logical screen is mapped to the display screen to be displayed on the physical display device.
[40] The logical screen and the display screen may be a combination of a background still image, a video raster, and a graphic raster. The graphic raster may be a combination of text, lines, colors, and images or a mixture of video frames.
[41] The term 'main service' indicates a service that is selected as a main service through a menu displayed on the physical display device or a remote controller by a user or through an API by an application, and the screen on which the main service is displayed is referred to as a 'main screen'.
[42] The term 'Picture-in-Picture service' (PIP service) indicates a service that is selected as a sub-service in the main service through a menu displayed on a physical display device or a remote controller by a user via an API by an application, and the PIP service may be displayed on a picture-in-picture screen (PIP screen) or a main screen.
[43] The PIP screen includes a screen that occupies a part of another screen as illustrated in FIGS. 1 to 4 and a screen that is simultaneously displayed with another screen without overlapping the other screen as illustrated in FIGS. 5 to 6. In this case, it is understood that the PIP screen may include a screen that is displayed on an arbitrary location or area in the physical display device or overlaps another screen, as illustrated in FIGS. 7 and 8.
[44] The terms that have not been described in the foregoing description will be described as necessary. Hereinafter, exemplary embodiments will be described in detail with reference to accompanying drawings.
[45] FIG. 9 is a diagram illustrating the relationship between a logical screen and a display screen according to an exemplary embodiment of the present invention.
[46] Referring to FIG. 9, a service may be displayed using logical screens 210, 212, and
214. The logical screens 210, 212, and 214 are mapped to display screens 220, 222, and 224 through a mapping block 230.
[47] In detail, the logical screens 210 and 212 are mapped to the display screen 220, the logical screens 212 and 214 are mapped to the display screen 222, and the logical screens 210, 212, and 214 are mapped to the display screen 224.
[48] In short, at least one logical screen which displays a service is mapped to an arbitrary area of a display screen by the mapping block 230.
[49] The mapping block 230 is a group of various pieces of information needed for mapping a logical screen to a display screen. Examples of the various pieces of information include coordinate information of a predetermined area on a display screen to which each of a plurality of logical screens is mapped, identification information of the logical screens and the display screen, and information specifying in what order the logical screens are displayed on the display screen.
[50] The mapping block 230 can change the size of the logical screen so to be allocated in an arbitrary area of the display screen. That is, the mapping block 230 can perform scaling of the logical screen and allocating of the position thereof, and FIGS. 10 to 14 are diagrams illustrating a configuration of the screen including a mapper as the mapping block.
[51] Referring to FIG. 10, the main screen including a combination of a background still image B, a video raster V, and a graphic raster G is mapped to the entire display screen by a mapper with a normal size. The PIP screen including only video components is mapped to the entire display screen by the mapper with a reduced size. In this case, the mapped PIP screen is displayed on the main screen, which is determined depending on a Z value. The reference character Z refers to z-order value which will be described later. An overlay screen may be combined with the display screen. The overlay screen is a specific screen disposed at the outmost side, and may be used when providing a caption function. The PIP screen may have only a video component as illustrated in FIG. 10, or may have a combination of the background still image B, the video raster V, and the graphic rater G as illustrated in FIG. 11.
[52] Referring to FIG. 12, the main screen including the combination of the background still image B, the video raster V, and the graphic rater G is mapped to the entire display screen by the mapper with a normal size. Two PIP screens #1 and #2 having only video component is mapped to an arbitrary area of the display screen by the mapper with a reduced size. In this case, the mapped PIP screen is disposed on the main screen and the Z value can be constantly maintained. Further, the overlay screen may be combined with the display screen. The configuration of the screen may have a plurality of PIP screens including only video components as illustrated in FIG. 12 or a plurality of PIP screens including a combination of the background still image B, the video raster V, and the graphic rater G as shown in FIG. 13.
[53] Picture-Outside-Picture (POP) screens are illustrated in FIG. 14. It can be understood that the PIP screen is displayed inside the main screen and the POP screen is displayed outside the main screen. Referring to FIG. 14, the plurality of PIP screens #1 and #2 including a combination of the background still image B, the video raster V, and the graphic rater G are mapped to arbitrary areas of the display screen by the mapper with a reduced size. In this case, the Z value of the mapped POP screens #1 and #2 may be constantly maintained. Further, the overlay screen may be combined with the display screen.
[54] The mapping block 230 may be realized by interfaces or functions prepared by various computer program languages to be executed and create or change the relationship between the logical screen and the display screen by using the above information as parameters.
[55] The mapping block 230 may also be realized by a hardware in order to function for mapping the logical screen to the display screen
[56] Further, services provided by various service sources may be displayed on a display screen, and the display screen may be displayed on a physical display device, as illustrated in FIG. 15.
[57] There are service sources which provide broadcast services such as a terrestrial broadcaster 320 and a cable broadcaster 330, service sources which provide services stored in a storage medium such as a personal video recorder (PVR) 340, and service sources (not illustrated in FIG. 15) which provide services via a wired network or a wireless network.
[58] A broadcast receiver 310 receives services from the service sources and produces logical screens displaying each of the received services.
[59] Then, an arbitrary service is directly set on the display screen to be displayed on a physical display device using a predefined method or a method set by a user or an application. Otherwise, at least one logical screen that is mapped to an arbitrary area on the display screen is displayed on a physical display device 350. In short, services provided by the terrestrial broadcaster 320, the cable broadcaster 330, and the PVR are displayed on the physical display device 350.
[60] The terrestrial broadcaster 320, the cable broadcaster 330, and the PVR 340 are illustrated in FIG. 15 as being service sources, but the present invention is not limited to it. Any type of multimedia content source which provides multimedia contents that can be displayed together can be a service source according to an exemplary embodiment of the present invention.
[61] Services according to an exemplary embodiment of the present invention can be classified into abstract services and non-abstract services, as illustrated in FIGS. 16 and 17.
[62] The abstract services are not services provided by broadcast signals transmitted in real time but services independent of broadcast channels. The abstract services include only data components, i.e., application, without video components and audio components. Examples of the abstract services include services having unbound applications based on the OCAP standard.
[63] The non-abstract services are understood as services other than abstract services.
[64] According to the current exemplary embodiment of the present invention, both abstract services and non-abstract services have independency. For example, abstract services may be directly set on the physical display device not through logical screens and non-abstract services may be displayed on the logical screens. Then, the logical screens may be mapped to the display screen in which the abstract services are set. Thereafter, the display screen may be output through the physical display device. By doing so, the abstract services can be displayed on the display screen independently of the non-abstract services. In addition, the abstract services and non-abstract services may be mapped to different logical screens. Thereafter, the logical screens may be mapped to a single display screen. In other words, the abstract services can be displayed on the display screen independently of non-abstract services.
[65] According to the current exemplary embodiment of the present invention, the logical screen and the display screen may be categorized as being different objects. Alternatively, a screen may serve as a logic screen or a display screen according to attribute information of one screen object.
[66] That is, it is possible to confirm whether the screen is a logical screen or a display screen, on the basis of type information among attribute information of the screen object.
[67] The attribute information of the screen object includes a plurality of attributes 'z-
Order', 'Display _Area', 'Visibility', 'Associated_Display_Screen', Associated_Service_Contexts', and 'OutputPort'.
[68] FIG. 18 illustrates the attribute information of the screen object and the type of interfaces that process the attribute information.
[69] An attribute 'type' 505 is attribute information indicating whether the screen is a logical screen or a display screen.
[70] An attribute 'z-Order' 510 is for determining in what order a plurality of logical screens are arranged along the z-axis. FIG. 19 illustrates a configuration of logical screens on a physical display device for a combination of the values of attributes 'z- Order' of the logical screens.
[71] Referring to FIG. 19, first and second logical screens 620 and 630 are respectively mapped to predetermined areas of a display screen 610. In detail, the first logical screen 620 is displayed on the display screen 610, and the second logical screen 630 is displayed on the display screen partially overlapping the first logical screen 620. In other words, the display screen 610, the first logical screen 620, and the second logical screen 630 are sequentially arranged in the direction of the z-axis. In this case, an attribute 'z-Order' of the first logical screen 620 may be set to a value of 1, and an attribute 'z-Order' of the second logical screen 630 may be set to a value of 2. The attributes 'z-Order' of the first and second logical screens 620 and 630 may be set to any numbers or characters as long as they can represent a certain order in which the first and second logical screens 620 and 630 are to be arranged along the z-axis.
[72] An attribute 'Display _Area' 520 is information regarding a display screen area of a logical screen, as to be illustrated in FIGS. 20 and 21.
[73] FIG. 20 illustrates that a logical screen 710 is mapped to an entire area of the display screen 720, and FIG. 21 illustrates that a logical screen 730 is mapped to a partial area of the display screen 740.
[74] The attribute 'Display _Area' may include information specifying the two-dimensional coordinates of a predetermined portion of a display screen to which the logical screen is to be mapped or may include information specifying a predetermined location on the display screen and an offset value indicating how much the logical screen deviates from the predetermined location on the display screen.
[75] An attribute 'Visibility' 530 determines whether a logical screen is to be visibly or invisibly displayed on a display screen. It is possible to make a logical screen appear on or disappear from a display screen by altering the value of the attribute 'Visibility' 530.
[76] An attribute 'Associated_Display_Screen' 540 is information regarding display screens associated with a logical screen. A logical screen which is not associated with any display screens may not be displayed on a physical display device nor be transmitted to external output devices.
[77] An attribute 'Associated_Service_Contexts' 550 is information regarding service contexts connected to a logical screen or a display screen. Services set in such service contexts may be displayed on a logical screen or a display screen.
[78] An attribute 'OutputPort' 560 is information regarding devices by which a display screen is to be output, and such devices include display screens, wired/wireless communication media, and various storage media.
[79] Interfaces for identifying or altering the values of the attributes illustrated in FIG. 18 may be provided. Referring to FIG. 18, the interfaces may include an interface 'SET' for setting attribute values or connecting a logical screen to a display screen, an interface 'ADD' for adding attribute values or connecting a logical screen to a service, an interface 'GET' for identifying attribute values, and an interface 'REMOVE' for deleting attribute values. These interfaces may include processes, functions, procedures, or methods that perform their functions, respectively.
[80] For example, a method 'getDisplayScreen(void)' returns a display screen associated with the current screen. In detail, if the current screen is a logical screen, the method 'getDisplayScreen(void)' returns the associated display screen. If the current screen is display screen, the method 'getDisplayScreen(void)' returns reference information regarding the current screen. Further, if the current screen is a logical screen, but there is no associated screen, the method 'getDisplayScreen(void)' returns a value of 'NULL'.
[81] According to another example, a method 'public void set-
Display Area(HScreenRectangle rect) throws SecurityException, IllegalStateException' provides a function for mapping the current logical screen to a predetermined area of the associated display screen. An instance that is provided as a parameter is of a class ΗScreenRectangle' of a package 'org.havi.ui', and has two-dimensional position information. The execution of the methods 'SecurityException' and 'IllegalStateException' may be conducted as an exceptional operation for the method 'setDis- playScreen(HScreen screen)'. The method 'IllegalStateException' may be executed when the current screen is a logical screen or when a portion of a display screen associated with a current logical screen cannot change due to the characteristics of a host platform.
[82] According to still another example, a method 'getDisplayArea(void)' returns regional information of a current screen as HScreenRectangle information. If the current screen corresponds to a display screen, the method 'getDisplayArea(void)' returns HScreen- Rectangle information having the same value as HScreenRectangle (0,0,1,1). If the current screen is a logical screen, the method 'getDisplayArea(void)' returns information regarding an area on a display screen occupied by the current screen. If the current screen is a logical screen but is not associated with any display screen, the method 'getDisplayArea(void)' returns a value 'NULL'.
[83] Certain terms are used throughout the following description to refer to particular interfaces. However, one skilled in the art will appreciate that a particular function is named simply to indicate its functionality. This detailed description of the exemplary embodiments does not intend to distinguish between functions that differ in name but not function.
[84] FIG. 22 is a diagram illustrating a process that two services are set on two logical screens to be mapped to a single display screen.
[85] Referring to FIG. 22, a first service includes all the three service components, i.e., video, audio, and data components, and a second service includes only video and audio components. However, the present invention does not impose any restrictions on service components, and the first and second services illustrated in FIG. 8 are exemplary.
[86] As illustrated in FIG. 22, the first and second services are displayed on a physical display device in almost the same manner as in the related art. According to the current exemplary embodiment of the present invention, it is possible to display a plurality of services on a physical display device independently of one another without imposing any restrictions on the number of services that can be displayed on a single display screen.
[87] By associating the service context for a service with a screen, contents in the service can be displayed, and service contexts can be moved or interchanged between screens according to a selection of a user or an application. The operation of moving the service contexts between the screens refers to service moving. A service context used in the service moving may be for an abstract service or non-abstract service.
[88] The service moving can be performed using interfaces 'remove' and 'add' described with reference to FIG. 18. More specifically, an operation of canceling the association between the service context s and the screen is performed through a method 're- moveServiceContext s, ' and an operation of associating the service contexts removed from the screen with another screen is performed through a method 'addSer- viceContexts.' That is, in order for service moving, a service context to be moved is removed from a source screen, and then the service context removed from the source screen is added to a destination screen.
[89] In an exemplary embodiment of the present invention, as described above, a method 'moveServiceContexts' or a method 'moveMultiScreenContexts' that moves service contexts between specific screens can also be used.
[90] The service moving can be performed between logical screens. However, the present invention is not limited thereto, and the service moving can also be performed between a logical screen and a display screen.
[91] In addition, all of a plurality of service contexts associated with a source screen can be moved to a destination screen. However, the present invention is not limited thereto, and some of the service contexts associated with the source screen can be moved to the destination screen. In this case, some of a plurality of services displayed on the source screen are displayed on the destination screen.
[92] A process of service moving according to an exemplary embodiment of the present invention is illustrated in FIG. 23. It is assumed that a source screen 10 is associated with a service 12, and no service is associated with a destination screen 20 (refer to (A) in FIG. 23). In this state, when a user or an application requests a service moving, the service 12 is disconnected from the source screen 10 (refer to (B) in FIG. 23). To this end, a service context related to the service 12 may be removed from the source screen 10.
[93] Thereafter, the service 12 is connected to the destination screen 20 (refer to (C) in
FIG. 23). To this end, a service context related to the service 12 may be added to the destination screen 20.
[94] After the service 12 is moved from the source screen 10 to the destination screen 20, the service 12 displayed on the source screen 10 is displayed on the destination screen 20 (refer to (D) in FIG. 23).
[95] During the service moving process, the execution of the service 12 may be suspended until the service moving is completed.
[96] In FIG. 23, the service moving process is performed in a state where no service is displayed on the destination screen 20. However, the present invention is not limited thereto. For example, a service displayed on a source screen can be moved to a destination screen even if another service is displayed on the destination screen. This situation is illustrated in FIG. 24. Referring to FIG. 24, a source screen 10 displays a service 14 including data components, and a destination screen 20 displays a service 16 including video components. In this state, if service moving is performed between the source screen 10 and the destination screen 20, the service 14 is moved from the source screen 10 to the destination screen 20. Then, the destination screen 20 displays the two services 14 and 16.
[97] The service moving can also be performed between a main screen and a PIP screen.
When the service moving is performed based on the assumption that the main screen on which an application is executed is a source screen and that the PIP screen is a destination screen, it is necessary to check whether the application executed on the source screen (main screen) can also be executed on the destination screen (PIP screen).
[98] It is possible to check whether an application executed on the main screen can be executed on the PIP screen on the basis of signal information. The signal information can be included in application information indicating information for applications in the services. Examples of the application information include an application information table (AIT) based on the MHP standard and an extended application information table (XAIT) based on the OCAP standard. The signal information may be provided by a service provider (for example, broadcasting system providing terrestrial broadcasts 320 or cable broadcasts 330 of FIG. 15).
[99] If the application exe c uted on the main screen cannot be executed on the PIP screen, the application is interrupted. The interruption may include suspension, i.e., the application is temporally suspended, and termination, i.e., the application is completely terminated. Therefore, the application executed on the main screen may be suspended or terminated. In this case, the type of interruption of the application is varied according to realized examples.
[100] When the service moving is performed based on the assumption that the PIP screen is a source screen and that the main screen is a destination screen, if an interrupted application is connected to the PIP screen, the interrupted application can be re-executed after the interrupted application is moved to the main screen. When the application is in a suspension state on the PIP screen , the application that is moved to the main screen is resumed. When the application is in a terminated state on the PIP screen , the application moved to the main screen is restarted.
[101] FIG. 25 is a block diagram of an apparatus for providing multiple screens according to an exemplary embodiment of the present invention.
[102] Referring to FIG. 25, an apparatus 900 for providing multiple screens includes a digital signal processing module 940, a service processing module 950, an output module 960, and a user/application interface module 965.
[103] Also, the apparatus 900 includes a broadcast signal reception module 910, a storage medium 920, and an external input module 930 as service sources, and includes a physical display device 970, a storage medium 980, and an external output module 990 as service output media.
[104] The term 'module', as used herein, means, but is not limited to, a software or hardware component, such as a Field Programmable Gate Array (FPGA) or an Application Specific Integrated Circuit (ASIC), which performs certain tasks. A module may advantageously be configured to reside on the addressable storage medium and configured to be executed on one or more processors. Thus, a module may include, by way of example, components, such as software components, object-oriented software components, class components and task components, processes, functions, attributes, procedures, subroutines, segments of program code, drivers, firmware, microcode, circuitry, data, databases, data structures, tables, arrays, and variables. The functionality provided for in the components and modules may be combined into fewer components and modules or further separated into additional components and modules.
[105] The digital signal processing module 940 receives various information of a service such as a multimedia content, e.g., video information, audio information, or data information, from the broadcast signal reception module 910, the storage medium 920, or the external input module 930.
[106] The broadcast signal reception module 910 receives a satellite, terrestrial, or cable broadcast signal and transmits the received broadcast signal, the storage medium 920 stores video information, audio information, or data information of a service, and the external input module 930 receives video information, audio information, or data information of a service from an external device such as a network interface module connected to a network.
[107] The digital signal processing module 940 restores a plurality of services using received service components. The restored services include abstract or non-abstract services.
[108] Here, the phrase 'a plurality of services' refers to two or more services transmitted by the broadcast signal reception module 910 or two or more services respectively transmitted by the broadcast signal reception module 910 and the storage medium 920.
[109] The digital signal processing module 940 may restore services according to selection by a user or an application with the aid of the user/application interface module 965. In this case, the user or the application may select the connection between an arbitrary service and a screen.
[110] The service processing module 950 generates a logical screen and a display screen to display a service restored by the digital signal processing module 940. The service processing module 950 connects the services to the logical screens. Further, the service restored by the digital signal processing module 940 may be not connected to the logical screens in the service processing module 950, but may be directly connected to the display screen.
[I l l] Further, the service processing module 950 may perform service moving between the screens in response to the request of a user or an application through the user/ application interface module 965. According to an exemplary embodiment of the present invention, the service processing module 950 may suspend or terminate a service during the service moving.
[112] The service processing module 950 may include functionally divided modules. For example, the service processing module 950 may include a screen generation module (not shown) and a service selection module (not shown). The screen generation module may generate a screen, and the service selection module may connect a service to the generated screen or remove a service connected to a screen.
[113] The output module 960 maps one or more logical screens produced by the service processing module 950 to the display screen. For example, the output module 960 may serve as the mapping block 230 illustrated in FIG. 9. The mapping area of the logical screens to the display screen may be previously set using a predefined method or a method set by the user with the aid of the user/application interface module 965.
[114] A display screen provided by the output module 960 may be displayed on the physical display device 970 or may be stored in the storage medium 980. Examples of the storage medium 980 include computer readable floppy discs, hard discs, CD-ROM. DVD, DVD-ROM, BD (Blu-ray Disc), and semiconductor memories.
[115] Also, a display screen provided by the output module 960 may be transmitted to an external device connected to a network via the external output module 990.
[116] For this, the output module 960 may include a plurality of output ports via which a display screen can be provided. In this case, a display screen can be provided via an output port set in advance as a default or an output port chosen by the user with the aid of the user/application interface module 965.
[117] The user or the application can choose one of a plurality of services or restore desired services using the user/application interface module 965. Also, the user can choose one of a plurality of display screens using the user/application interface module 965.
[118] Since the modules illustrated in FIG. 25 are divided according to their functions, it is possible to be connected to the other modules.
[119] FIG. 26 is a flowchart illustrating a method of dynamically configuring multiple screens according to an exemplary embodiment of the present invention.
[120] In general, video information, audio information, and data information constituting a multimedia content are transmitted in a predetermined format, for example, an MPEG stream format. In operation SlOlO, an apparatus for providing a service such as a multimedia content service receives video information, audio information, and data information and restores a service based on the video information, the audio information, and the data information. Here, the service restored in operation SlOlO may be selected or previously determined by a user or an application. The user may use a menu displayed on the display device or a remote controller to select the connections between an arbitrary screen and a screen. The application may select the connections using an API.
[121] Further, data information includes application information regarding application for a service, and these application information includes signal information indicating whether the application can be executed on a PIP screen. Examples of the application information include an AIT based on the MHP standard and an XAIT based on the OCAP standard. The signal information may be added to the application information.
[122] Thereafter, in operation S 1020, the restored service is set such that it can be displayed on a logical screen. In operation S 1030, the logical screen is mapped to a display screen. In operation S 1040, the display screen is provided to the user using a display device, a storage medium, or a network.
[123] The restored service is illustrated in FIG. 26 as being displayed on a physical display device via a logical screen. However, the restored service may be directly displayed on a physical display device without passing through the logical screen.
[124] When the user selects the PIP service, the PIP service is realized in two modes. In the first mode, only video component for PIP service selected on the main screen is provided without creating a separate logical screen for PIP service (that is, PIP screen ) . In the second mode, a separate logical screen for PIP service is created to provide the PIP service selected on the created PIP screen.
[125] FIG. 26 illustrates a method of mapping only one service to a display screen for simplicity. However, a plurality of services may be mapped to a display screen with or without passing through a plurality of logical screens.
[126] When a display screen is provided to the user in this manner, the user or the application can perform a plurality of services.
[127] As illustrated in FIG. 26, when the services are displayed on the screens, the service moving is performed between the screens in response to the request of the user or the application.
[128] FIG. 27 is a diagram illustrating a process of moving services according to an exemplary embodiment of the present invention.
[129] In operation Sl 10, a request for service moving is input through the user/application interface module 965 by the user or an application, and in operation S 120, the service processing module 950 disconnects a service, which is displayed on a source screen, from the source screen . Here, a user may determine which of a plurality of screens generated in advance to be source screen and which of them to be a destination screen.
[130] Thereafter, in operation S 130, the service processing module 950 connects the service disconnected from the source screen to the destination screen.
[131] If the destination screen is a PIP screen and the service disconnected from the source screen includes an application, it is determined whether the application can be executed on the PIP screen. Based on the determination result, the application may be interrupted or executed on the PIP screen.
[132] Hereinafter, this invention will be described from the view point of a software arc hitecture. FIG. 28 is a diagram illustrating a software architecture for providing multiple screens according to an exemplary embodiment of the present invention.
[133] Referring to FIG. 28, a software architecture 1100 includes a device driver layer 1110, an API layer 1120, and an application layer 1130.
[134] The device driver layer 1110 receives service components from various multimedia content sources and decodes the received service components. Examples of the received service components include video information, audio information, and data information.
[135] The API layer 1120 generates a logical screen and a display screen and maps a service, the logical screen, and the display screen to one another. That is, the API layer 1120 can be implemented as the service processing module 950 illustrated in FIG. 25.
[136] The application layer 1130 provides a user interface so that a user can dynamically configure a logical screen which displays a service or transmits a user command to the API layer 1120 so that the API layer 1120 can execute the user command.
[137] The user enables the device driver layer 1110 with the aid of the application layer 1130 to provide a display screen via a physical display device or to store the display screen in a storage medium. In addition, the user can enable the device driver layer 1110 to transmit a display screen to an external device via a network.
[138] For this, the device driver layer 1110 may include a plurality of output ports which can provide a display screen. Otherwise, API layer 1120 may include the plurality of output ports.
[139] In order to dynamically configure a plurality of logical screens on a display screen, the API layer 1120 may include a plurality of software modules, e.g., a multiscreen manager module ' MultiScreenManager ' 1210, a multiscreen context module ' Multi- ScreenContext' 1230, a multiscreen context listener module ' MultiScreenCon- textListener' 1250, and a multiscreen context event module ' MultiScreenContextEvent' 1240, as illustrated in FIG. 29.
[140] The multiscreen manager module 1210 manages the multiscreen context module
1230, searches for a desired screen, displays information specifying what devices are shared by screens, registers the multiscreen context listener module 1250, or cancels the registration of the screen context listener module 1250.
[141] The multiscreen context module 1230 is an interface object associated with a screen object 1220 and determines whether the screen object 1220 is to become a logical screen or a display screen according to an interface operation performed by the multiscreen context module 1230. Various attributes such as the attributes 510 through 570 illustrated in FIG. 18 may be set in the multiscreen context module 1230. The multiscreen context module 1230 can provide the functions 'SET', 'ADD', 'GET', and 'REMOVE' described above with reference to FIG. 18.
[142] When attribute information of the screen object 1220 is altered by the multiscreen context module 1230, the multiscreen context event module 1240 serves as an event class announcing that the attribute information of the screen object 1220 has been changed, and the multiscreen context listener module 1250 serves as a listener interface object which can be realized in a predetermined application class which attempts to receive an event prompted by the multiscreen context event module 1240. Therefore, if service moving is performed, the multiscreen context event module 1240 announces the occurrence of an event in which service contexts of screens (source and destination screens), which are targets for service moving, have been changed. This announcement may be transmitted to a monitor application, which manages screen information, by the multiscreen context listener module 1250 . T he monitor application may update a screen information table according to the announcement of the multiscreen context event module 1240 . Since the monitor application is merely an embodiment of the present invention, the announcement of the occurrence of the event can also be transmitted to a specified module or another application which manages the screen information.
[143] An application 1260 is a module which is driven on the application layer 1130. The application 1260 allows the user to choose a desired service and to freely arrange a plurality of logical screens on a display screen.
[144] In detail, the application 1260 transmits various commands which allow the user to dynamically configure and manage logical screens to the multiscreen manager module 1210, and the multiscreen manager module 1210 controls operations corresponding to the various commands to be executed through the multiscreen context module 1230.
[145] The multiscreen context module 1230 is associated with the screen object 1220 and manages the attribute information of the screen object 1220 illustrated in FIG. 18. In order to manage the attribute information of the screen object 1220, the multiscreen context module 1230 may include a variety of functions or methods. Further, these function may be performed by a separate module (not shown).
[146] The multiscreen manager module 1210 receives service components provided by various service sources from the device driver layer 1110 and performs operations to display the received service components on a logical screen or a display screen. According to an exemplary embodiment of the present invention, the above functions can be performed another module (not illustrated).
[147] FIG. 30 is a flowchart illustrating a method of displaying a plurality of services displayed on respective corresponding logical screens by the modules illustrated in FIG. 29 on a display screen according to an exemplary embodiment of the present invention.
[148] Referring to FIG. 30, in operation S1310, the multiscreen manager module 1210 produces a display screen and a number of logical screens corresponding to the number of services to be performed.
[149] In operation S 1320, the multiscreen manager module 1210 connects the logical screens to respective corresponding services received from the device driver layer 1110. The multiscreen manager module 1210 may call a method 'addServiceContext s ' for each of the logical screens by setting service context objects of the received services as parameters for the logical screens services. The method 'addServiceContext s ' connects a logical screen to service s and may be provided by the multiscreen context module 1230.
[150] In operation S 1330, once the logical screens are connected to the respective services, the multiscreen manager module 1210 connects the logical screens to the display screen. At this time, the multiscreen manager module 1210 may call a method 'setDis- playScreen' for each of the logical screens by setting a display screen object to which the logical screens are connected as a parameter. The method 'setDisplayScreen' connects a logical screen to a display screen and may be provided by the multiscreen context module 1230.
[151] A method 'setDisplayScreen' may be set to 'public void setDisplayScreen (HScreen screen) throws SecurityException, Illegal StateException', and this method allows an instance 'HScreen' that is provided as a parameter to be associated with the current logical screen. In this case, the instance 'HScreen' is preferably a display screen.
[152] A parameter of the method 'setDisplayScreen(HScreen screen)' may include a value of 'NULL'. In this case, when the method 'setDisplayScreen(HScreen screen)' is executed without exception handling, the current logical screen is no longer associated with the display screen.
[153] The execution of the methods 'SecurityException' and 'IllegalStateException' may be conducted as an exceptional operation for the method 'setDisplayScreen(HScreen screen)'.
[154] The method 'IllegalStateException' may be executed when a current screen is a logical screen or when a portion of a display screen associated with a current logical screen cannot change due to the characteristics of a host platform.
[155] In operation S 1340, areas on the display screen to which the logical screens are to be respectively mapped are determined. At this time, a predetermined method provided by the multiscreen context module 1230 can be called to determine an area on the display screen where the logical screens are to be displayed.
[156] FIG. 31 is a flowchart illustrating a method of moving services displayed on logical screens between the modules illustrated in FIG. 29 according to an exemplary embodiment of the present invention. A method of moving services between logical and display screens can also be understood based on the method of FIG. 31.
[157] In operation S1410, if a source logical screen and a destination logical screen are selected from a plurality of logical screens, the multiscreen manager module 1210 disconnects a service , which is to be moved , from the source logical screen.
[158] At this time, a method 'removeServiceContext s ' is called for the source logical screen. The method 'remove Service Context s ' removes service context s connected to the so urce logical screen. The method 'removeServiceContext s ' may be provided by the multiscreen context module 1230.
[159] Although not shown in FIG. 31, the service that is to be moved may be suspended before operation S 1410.
[160] In operation S 1420, if the service is disconnected from the source logical screen, the multiscreen context event module 1240 announces the occurrence of an event in which the service has been disconnected from the source logical screen. More specifically, the multiscreen context event module 1240 announces the occurrence of an event in which the service contexts of the source logical screen have been changed in operation S 1410. Thereafter, the multiscreen manager module 1210 connects the service removed from the source logical screen to the destination logical screen in operation S 1430. At this time, a method 'addServiceContext s ' may be called for the destination logical screen. The method 'addServiceContext s ' adds service context s to the destination logical screen. The method 'addServiceContexts' may be provided by the multiscreen context module 1230.
[161] In operation S 1450, if the service is connected to the destination logical screen, the multiscreen context event module 1240 announces the occurrence of an event in which the service has been connected to the destination logical screen. More specifically, the multiscreen context event module 1240 announces the occurrence of an event in which the service contexts of the destination logical screen have been changed in operation S 1430 .
[162] After a series of the above operations, the service moved from the source logical screen to the destination logical screen is executed on the destination logical screen.
[163] In FIG. 31, the multiscreen context event module 1240 separately announces the occurrence of events when the service is disconnected from the source logical screen and when the service is connected to the destination logical screen. However, the present invention is not limited thereto. For example, since the operation of disconnecting the service from the source logical screen and the operation of connecting t he service to the destination logical screen are consecutively performed during service moving, the multiscreen context event module 1240 may announce, at a time, the occurrence of an event related to the source logical screen and the destination logical screen after the two operations are performed. This operation is illustrated in FIG. 32.
[164] According to an exemplary embodiment of FIG. 32, the multiscreen manager module 1210 disconnects a service, which is to be moved, from a source logical screen in operation S 1510. Then, in operation S 1520, the multiscreen manager module 1210 connects the service disconnected from the source logical screen to a destination logical screen. Operations S 1510 and S 1520 of FIG. 32 respectively correspond to operations S 1410 and S 1430 of FIG. 31. In the current exemplary embodiment of the present invention, the operation of announcing the occurrence of an event using the multiscreen context event module 1240 is not performed between operations S 1510 and S 1520.
[165] After operations S1510 and S1520 are performed, in operation S1530, the multiscreen context event module 1240 announces, at a time, the occurrence of an event in which service contexts of the source logical screen have been changed and an event in which service contexts of the destination logical screen have been changed. Industrial Applicability
[166] According to the exemplary embodiments of the present invention, it is possible to perform a plurality of services provided by various sources such as cable broadcasts, terrestrial broadcasts, various storage media, and external inputs, in various manners using a single physical display screen.
[167] While the present invention has been particularly illustrated and described with reference to exemplary embodiments thereof, it will be understood by those of ordinary skill in the art that various changes in form and details may be made therein without departing from the spirit and scope of the present invention as defined by the following claims. Therefore, it is to be understood that the above-described exemplary embodiments have been provided only in a descriptive sense and will not be construed as placing any limitation on the scope of the invention.

Claims

Claims
[1] A method of dynamically configuring multiple screens, the method comprising: generating a plurality of logical screens; associating a service context with a first logical screen selected from the plurality of logical screens; and moving the service context from the first logical screen to a second logical screen selected from the plurality of logical screens.
[2] The method of claim 1, further comprising announcing occurrence of an event in which a logical screen associated with the service context has been changed.
[3] The method of claim 1, wherein the moving of the service context comprises: removing the service context from the first logical screen; and adding the service context removed from the first logical screen to the second logical screen.
[4] The method of claim 3, further comprising: announcing an occurrence of an event in which the service context has been removed from the first logical screen; and announcing an occurrence of an event in which the service context has been added to the second logical screen, wherein the announcing of the occurrence of the event in which the service context has been removed from the first logical screen is performed after the removing of the service context and before the adding of the service context, and the announcing of the occurrence of the event in which the service context has been added to the second logical screen is performed after the adding of the service context.
[5] The method of claim 3, further comprising suspending a service indicated by the service context before the removing of the service context.
[6] The method of claim 3, further comprising, before the adding of the service context, if the service indicated by the service context comprises an application and the second logical screen is a picture-in-picture (PIP) screen: determining whether the application can be executed on the PIP screen; and interrupting the application if it is determined that the application cannot be executed on the PIP screen.
[7] The method of claim 6, wherein the interrupting of the service comprises suspending the application.
[8] The method of claim 6, wherein the interrupting of the service comprises terminating the application.
[9] The method of claim 3, wherein the adding of the service context comprises re- executing the application if the service context comprises a suspended application and the second logical screen is not a picture-in-picture (PIP) screen.
[10] The method of claim 1, wherein the service context comprises information regarding a service, which comprises at least one of video information, audio information and data information, and information regarding a source which provides the service.
[11] The method of claim 1 , further comprising : generating a display screen; and mapping the second logical screen to the display screen.
[12] The method of claim 11, further comprising outputting the display screen, to which the second logical screen is mapped, to at least one of a physical display device, a storage medium, and an external device.
[13] An apparatus for providing multiple screens, the apparatus comprising: an interface module which receives a service moving request from a user or an application; and a service processing module which generates a plurality of logical screens and moves a service context associated with a first logical screen, which is selected from the plurality of logical screens, to a second logical screen , which is selected from the plurality of logical screens , in response to the service moving request.
[14] The apparatus of claim 13 , wherein the service processing module announces an occurrence of an event in which a logical screen associated with the service context has been changed.
[15] The apparatus of claim 13 , wherein the service processing module removes the service context from the first logical screen and then adds the service context to the second logical screen.
[16] The apparatus of claim 15, wherein the service processing module announces an occurrence of an event in which the service context has been removed from the first logical screen after removing the service context from the first logical screen and before adding the service context to the second logical screen and announces an occurrence of an event in which the service context has been added to the second logical screen after adding the service context to the second logical screen.
[17] The ap p aratus of claim 15, wherein a service indicated by the service context is suspended until the service context is added to the second logical screen.
[18] The apparatus of claim 15, wherein, if the service indicated by the service context comprises an application, the second logical screen is a picture-in-picture (PIP) screen, and the application cannot be executed on the PIP screen, the service processing module interrupts the application.
[19] The apparatus of claim 18, wherein the service processing module interrupts the application by temporally suspending the application or completely terminating the application.
[20] The apparatus of claim 15, wherein, if the service context comprises a suspended application and the second logical screen is not a picture-in-picture (PIP) screen , the application is re-executed on the second logical screen.
[21] The apparatus of claim 13 , wherein the service context comprises information regarding a service, which comprises at least one of video information, audio information and data information, and information regarding a source which provides the service.
[22] The apparatus of claim 13 , wherein the service processing module generates a display screen and maps the second logical screen to the generated display screen.
[23] The apparatus of claim 22, further comprising an output module which outputs the display screen, to which the second logical screen is mapped, to at least one of a physical display device, a storage medium, and an external device.
PCT/KR2007/001673 2006-04-06 2007-04-05 Apparatus for providing multiple screens and method of dynamically configuring multiple screens WO2007114667A1 (en)

Priority Applications (2)

Application Number Priority Date Filing Date Title
CA002648944A CA2648944A1 (en) 2006-04-06 2007-04-05 Apparatus for providing multiple screens and method of dynamically configuring multiple screens
MX2008012833A MX2008012833A (en) 2006-04-06 2007-04-05 Apparatus for providing multiple screens and method of dynamically configuring multiple screens.

Applications Claiming Priority (10)

Application Number Priority Date Filing Date Title
US78957706P 2006-04-06 2006-04-06
US60/789,577 2006-04-06
US81209006P 2006-06-09 2006-06-09
US60/812,090 2006-06-09
US87047106P 2006-12-18 2006-12-18
US60/870,471 2006-12-18
KR10-2007-0024323 2007-03-13
KR1020070024323A KR20070100110A (en) 2006-04-06 2007-03-13 Apparatus for providing multiple screens and method for dynamic configuration of the same
US91889407P 2007-03-20 2007-03-20
US60/918,894 2007-03-20

Publications (1)

Publication Number Publication Date
WO2007114667A1 true WO2007114667A1 (en) 2007-10-11

Family

ID=38563889

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/KR2007/001673 WO2007114667A1 (en) 2006-04-06 2007-04-05 Apparatus for providing multiple screens and method of dynamically configuring multiple screens

Country Status (1)

Country Link
WO (1) WO2007114667A1 (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111416996A (en) * 2020-03-26 2020-07-14 腾讯科技(深圳)有限公司 Multimedia file detection method, multimedia file playing device, multimedia file equipment and storage medium

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4653020A (en) * 1983-10-17 1987-03-24 International Business Machines Corporation Display of multiple data windows in a multi-tasking system
US5347624A (en) * 1987-03-05 1994-09-13 Hitachi, Ltd. Method and apparatus for display control
US6917362B2 (en) * 2002-01-25 2005-07-12 Hewlett-Packard Development Company, L.P. System and method for managing context data in a single logical screen graphics environment

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4653020A (en) * 1983-10-17 1987-03-24 International Business Machines Corporation Display of multiple data windows in a multi-tasking system
US5347624A (en) * 1987-03-05 1994-09-13 Hitachi, Ltd. Method and apparatus for display control
US6917362B2 (en) * 2002-01-25 2005-07-12 Hewlett-Packard Development Company, L.P. System and method for managing context data in a single logical screen graphics environment

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111416996A (en) * 2020-03-26 2020-07-14 腾讯科技(深圳)有限公司 Multimedia file detection method, multimedia file playing device, multimedia file equipment and storage medium
CN111416996B (en) * 2020-03-26 2021-06-22 腾讯科技(深圳)有限公司 Multimedia file detection method, multimedia file playing device, multimedia file equipment and storage medium

Similar Documents

Publication Publication Date Title
US8095887B2 (en) Apparatus for providing multiple screens and method of dynamically configuring multiple screens
US20080106533A1 (en) Apparatus for providing multiple screens and method of dynamically configuring multiple screens
US20080094513A1 (en) Apparatus for providing multiple screens and method of dynamically configuring multiple screens
EP1911270A1 (en) Apparatus for providing multiple screens and method of dynamically configuring multiple screens
EP1913770A1 (en) Apparatus for providing multiple screens and method of dynamically configuring multiple screens
CA2648944A1 (en) Apparatus for providing multiple screens and method of dynamically configuring multiple screens
US20080094415A1 (en) Method and apparatus for identifying application in multiscreen environment
WO2007114667A1 (en) Apparatus for providing multiple screens and method of dynamically configuring multiple screens
EP1911272A1 (en) Apparatus for providing multiple screens and method of dynamically configuring multiple screens
EP1911275B1 (en) Apparatus for providing multiple screens and method of dynamically configuring multiple screens
EP1911281A1 (en) Apparatus for providing multiple screens and method of dynamically configuring multiple screens
WO2007114669A1 (en) Apparatus and method for identifying an application in the multiple screens environment
WO2007018383A1 (en) Apparatus for providing multiple screens and method of dynamically configuring multiple screens
WO2007114662A1 (en) Apparatus for providing multiple screens and method of dynamically configuring multiple screens
WO2007018379A1 (en) Apparatus for providing multiple screens and method of dynamically configuring multiple screens
EP1911271A1 (en) Apparatus for providing multiple screens and method of dynamically configuring multiple screens
WO2007018385A1 (en) Apparatus for providing multiple screens and method of dynamically configuring multiple screens
WO2007018374A1 (en) Apparatus for providing multiple screens and method of dynamically configuring multiple screens
WO2007114660A1 (en) Apparatus for providing multiple screens and method of dynamically configuring multiple screens

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: 07745836

Country of ref document: EP

Kind code of ref document: A1

DPE1 Request for preliminary examination filed after expiration of 19th month from priority date (pct application filed from 20040101)
WWE Wipo information: entry into national phase

Ref document number: MX/a/2008/012833

Country of ref document: MX

WWE Wipo information: entry into national phase

Ref document number: 2648944

Country of ref document: CA

NENP Non-entry into the national phase

Ref country code: DE

32PN Ep: public notification in the ep bulletin as address of the adressee cannot be established

Free format text: DEEMED TO BE WITHDRAWN. FEES NOT PAID WITHIN TIME LIMIT.

122 Ep: pct application non-entry in european phase

Ref document number: 07745836

Country of ref document: EP

Kind code of ref document: A1