Language selection

Search

Patent 2648960 Summary

Third-party information liability

Some of the information on this Web page has been provided by external sources. The Government of Canada is not responsible for the accuracy, reliability or currency of the information supplied by external sources. Users wishing to rely upon this information should consult directly with the source of the information. Content provided by external sources is not subject to official languages, privacy and accessibility requirements.

Claims and Abstract availability

Any discrepancies in the text and image of the Claims and Abstract are due to differing posting times. Text of the Claims and Abstract are posted:

  • At the time the application is open to public inspection;
  • At the time of issue of the patent (grant).
(12) Patent Application: (11) CA 2648960
(54) English Title: APPARATUS AND METHOD FOR IDENTIFYING AN APPLICATION IN THE MULTIPLE SCREENS ENVIRONMENT
(54) French Title: APPAREIL ET PROCEDE PERMETTANT D'IDENTIFIER UNE APPLICATION DANS UN ENVIRONNEMENT A ECRANS MULTIPLES
Status: Dead
Bibliographic Data
(51) International Patent Classification (IPC):
  • H04N 5/45 (2011.01)
  • H04N 21/414 (2011.01)
(72) Inventors :
  • LEE, JONG-HO (Republic of Korea)
  • LEE, KWANG-KEE (Republic of Korea)
  • BYUN, SUNG-WOOK (Republic of Korea)
  • ADAMS, GLENN A. (United States of America)
  • JUNG, UN-GYO (Republic of Korea)
(73) Owners :
  • SAMSUNG ELECTRONICS CO., LTD. (Republic of Korea)
(71) Applicants :
  • SAMSUNG ELECTRONICS CO., LTD. (Republic of Korea)
(74) Agent: RIDOUT & MAYBEE LLP
(74) Associate agent:
(45) Issued:
(86) PCT Filing Date: 2007-04-05
(87) Open to Public Inspection: 2007-10-11
Availability of licence: N/A
(25) Language of filing: English

Patent Cooperation Treaty (PCT): Yes
(86) PCT Filing Number: PCT/KR2007/001675
(87) International Publication Number: WO2007/114669
(85) National Entry: 2008-10-06

(30) Application Priority Data:
Application No. Country/Territory Date
60/789,577 United States of America 2006-04-06
60/812,090 United States of America 2006-06-09
60/870,471 United States of America 2006-12-18
60/918,894 United States of America 2007-03-20
10-2007-0033464 Republic of Korea 2007-04-04

Abstracts

English Abstract

A method and apparatus for identifying an application in a multi-screen environment are provided. The apparatus includes a digital signal processing module receiving video information, audio information, or data information and restoring a service based on the video information, the audio information or the data information, a service processing module producing a plurality of logical screens for displaying the restored service, and an output module mapping the plurality of logical screens provided by the service processing module to different locations on a display screen. An application present in the service is identified by a service context in which the application is executed and by identification inform.


French Abstract

L'invention concerne un procédé et un appareil permettant d'identifier une application dans un environnement à écrans multiples. L'appareil comprend: un module de traitement de signal numérique conçu pour recevoir des informations vidéo, des informations audio ou des données et pour rétablir un service sur la base des informations vidéo, des informations audio et des données; un module de traitement de service conçu pour produire une pluralité d'écrans logiques destinés à l'affichage du service rétabli; et un module de sortie conçu pour associer les écrans logiques fournis par le module de traitement de service à différents emplacements sur l'écran d'affichage. Une application présente dans le service est identifiée par un contexte de service dans lequel l'application est exécutée et par des informations d'identification.

Claims

Note: Claims are shown in the official language in which they were submitted.



23
CLAIMS
1. An apparatus for identifying an application in a multi-screen environment,
the apparatus comprising:
a digital signal processing module receiving video information, audio
information,
or data information and restoring a service based on the video information,
the audio
information or the data information;
a service processing module producing a plurality of logical screens for
displaying
the restored service; and
an output module mapping the plurality of logical screens provided by the
service
processing module to different locations on a display screen,
wherein an application present in the service is identified by a service
context in
which the application is executed and by identification information.

2. The apparatus of claim 1, wherein the identification information comprises
information regarding an application provider that provides the application.

3. The apparatus of claim 1, wherein the identification information includes
information regarding the application.

4. An apparatus for identifying an application in a multi-screen environment,
the apparatus comprising:
a service processing module producing a logical screen displaying a service
and a
display screen that allows the logical screen to be associated with the
service and displays
the logical screen; and

an output module mapping the produced logical screen to a certain area on the
produced display screen,

wherein an application in the service is identified by a service context in
which the
application is executed and identification information.

5. The apparatus of claim 4, wherein the identification information comprises
information regarding an application provider that provides the application.



24

6. The apparatus of claim 4, wherein the identification information includes
information regarding the application.

7. A method of identifying an application in a multi-screen environment, the
method comprising:
receiving video information, audio information, or data information and
restoring
a service;
producing a plurality of logical screens displaying the restored service; and
mapping the logical screens to different locations on a display screen,
wherein an application in the service is identified by a service context in
which the
application is executed and identification information.

8. The method of claim 7, wherein the identification information comprises
information regarding an application provider that provides the application.

9. The method of claim 7, wherein the identification information includes
information regarding the application.

10. A method of identifying an application in a multi-screen environment, the
method comprising:
producing a plurality of logical screens displaying a service and a display
screen
displaying the plurality of logical screen; and
mapping the logical screens to arbitrary areas on the display screen,
wherein an application in the service is identified by a service context in
which the
application is executed and identification information.

11. The method of claim 10, wherein the identification information comprises
information regarding an application provider that provides the application.

12. The method of claim 10, wherein the identification information includes
information regarding the application.

Description

Note: Descriptions are shown in the official language in which they were submitted.



CA 02648960 2008-10-06
WO 2007/114669 PCT/KR2007/001675
1
APPARATUS AND METHOD FOR IDENTIFYING AN
APPLICATION IN THE MULTIPLE SCREENS ENVIRONMENT
Technical Field

The present invention relates to a method and apparatus for identifying an
application in a multi-screen environment.
Background Art

Conventional broadcast receivers such as digital 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.
Even though conventional 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.
Content sources include a broadcast service such as a satellite broadcaster, a
terrestrial broadcaster, or a cable broadcaster, a storage medium such as
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.
In an interactive TV application program environment such as Multimedia Home
Platform (MHP), Advanced Common Application (ACAP), Open Cable Application
Platform (OCAP), it is assumed that only one screen is output on a physical
display
device.
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.


CA 02648960 2008-10-06
WO 2007/114669 PCT/KR2007/001675
2
Disclosure

Technical Problem

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.
Accordingly, there exists a need for a method of identifying an application
that
operates in a multi-screen environment while displaying a variety of contents
on a display
screen in various manners.
Technical Solution

The present invention provides identifying an application that is executed on
a
plurality of screens in a multi-screen environment in which a plurality of
content items are
displayed on a physical display screen.
The above and other objects of the present invention will be described in or
be
apparent from the following description of the preferred embodiments.
According to an aspect of the present invention, there is provided an
apparatus for
identifying an application in a multi-screen environment, the apparatus
including a digital
signal processing module receiving video information, audio information, or
data
information and restoring a service based on the video information, the audio
information
or the data information, a service processing module producing a plurality of
logical
screens for displaying the restored service, and an output module mapping the
plurality of
logical screens provided by the service processing module to different
locations on a
display screen, wherein an application present in the service is identified by
a service
context in which the application is executed and by identification
information.
According to another aspect of the present invention, there is provided an
apparatus for identifying an application in a multi-screen environment, the
apparatus
including a service processing module producing a logical screen displaying a
service and
a display screen that allows the logical screen to be associated with the
service and
displays the logical screen; and an output module mapping the produced logical
screen to
a certain area on the produced display screen, wherein an application in the
service is


CA 02648960 2008-10-06
WO 2007/114669 PCT/KR2007/001675
3
identified by a service context in which the application is executed and
identification
information.
According to another aspect of the present invention, there is provided a
method
of identifying an application in a multi-screen environment, the method
including
receiving video information, audio information, or data information and
restoring a
service, producing a plurality of logical screens displaying the restored
service, and
mapping the logical screens to different locations on a display screen,
wherein an
application in the service is identified by a service context in which the
application is
executed and identification information.
According to another aspect of the present invention, there is provided a
method
of identifying an application in a multi-screen environment, the method
including
producing a plurality of logical screens displaying a service and a display
screen
displaying the plurality of logical screen, and mapping the logical screens to
arbitrary
areas on the display screen, wherein an application in the service is
identified by a service
context in which the application is executed and identification information.
Description of Drawings
The above and other features and advantages of the present invention will
become
more apparent by describing in detail preferred embodiments thereof with
reference to the
attached drawings in which:
FIG. 1 is a diagram illustrating a configuration of a PiP screen according to
an
exemplary embodiment of the present invention;
FIG. 2 is a diagram illustrating the relationship between a logical screen and
a
display screen according to an exemplary embodiment of the present invention;
FIGS. 3 to 7 are diagrams illustrating a configuration of a screen including a
mapper according to an exemplary embodiment of the present invention;
FIG. 8 is a block diagram illustrating service sources according to an
exemplary
embodiment of the present invention;
FIGS. 9 and 10 are diagrams illustrating a non-abstract service and an
abstract
service according to an exemplary embodiment of the present invention;
FIG. 11 is a diagram illustrating attribute information and interfaces of a
logical
screen and a display screen;


CA 02648960 2008-10-06
WO 2007/114669 PCT/KR2007/001675
4
FIG. 12 is a diagram illustrating an attribute `z-order' of a logical screen
according
to an exemplary embodiment of the present invention;
FIGS. 13 and 14 are diagrams each illustrating an attribute `Display_Area' of
a
logical screen according to exemplary embodiments of the present invention;
FIG. 15 is a diagram illustrating a method of mapping two services to a
display
screen according to an exemplary embodiment of the present invention;
FIG. 16 is a block diagram illustrating a configuration of an apparatus for
providing multiple screens according to an exemplary embodiment of the present
invention;
FIG. 17 is a flowchart illustrating a method of dynamically configuring
multiple
screens according to an exemplary embodiment of the present invention;
FIG. 18 is a diagram illustrating a software architecture for providing
multiple
screens according to an exemplary embodiment of the present invention;
FIG. 19 is a diagram illustrating the relationships among modules constituting
an
application program interface (API) layer according to an exemplary embodiment
of the
present invention;
FIG. 20 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. 19;
FIG. 21 is a flowchart illustrating a method of exchanging services displayed
on
logical screens between the modules illustrated in FIG. 19
FIG. 22 illustrates the operation of an application on a plurality of screens;
FIG. 23 illustrates a data structure for identifying an application according
to an
exemplary embodiment of the present invention; and
FIG. 24 illustrates a method of identifying an application according to an
exemplary embodiment of the present invention.
<Reference Names of Major Components Shown in the Drawings>
900: apparatus for providing multiple screens
910: broadcast signal reception module
920: storage medium
930: external input module
940: digital signal processing module


CA 02648960 2008-10-06
WO 2007/114669 PCT/KR2007/001675
950: service processing module
960: output module
965: user/application interface module
970: physical display device
5 980: storage medium
990: external output module
Mode for Invention
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 preferred 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 embodiments set forth herein. Rather, these
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.
The present invention is described hereinafter with reference to flowchart
illustrations of user interfaces, methods, and computer program products
according to
embodiments of the invention. It will be understood that each block of the
flowchart
illustrations, and combinations of blocks in the flowchart illustrations, can
be
implemented by computer program instructions. These computer program
instructions
can be provided to a processor of a general purpose computer, special purpose
computer,
or other programmable data processing apparatus to produce a machine, such
that the
instructions, which execute via the processor of the computer or other
programmable data
processing apparatus, create means for implementing the functions specified in
the
flowchart block or blocks.
These computer program instructions may also be stored in a computer usable or
computer-readable memory that can direct a computer or other programmable data
processing apparatus to function in a particular manner, such that the
instructions stored
in the computer usable or computer-readable memory produce an article of
manufacture
including instruction means that implement the function specified in the
flowchart block
or blocks.


CA 02648960 2008-10-06
WO 2007/114669 PCT/KR2007/001675
6
The computer program instructions may also be loaded onto a computer or other
programmable data processing apparatus to cause a series of operational steps
to be
performed on the computer or other programmable apparatus to produce a
computer
implemented process such that the instructions that execute on the computer or
other
programmable apparatus provide steps for implementing the functions specified
in the
flowchart block or blocks.
And each block of the flowchart illustrations may represent a module, segment,
or
portion of code, which comprises one or more executable instructions for
implementing
the specified logical function(s). It should also be noted that in some
alternative
implementations, the functions noted in the blocks may occur out of the order.
For
example, two blocks illustrated in succession may in fact be executed
substantially
concurrently or the blocks may sometimes be executed in the reverse order,
depending
upon the functionality involved.
For a better understanding of the present invention, the terms used in this
disclosure will now be defined.
The term `service' indicates a group of multimedia contents displayed
together,
i.e., a group of service components.
Service components are elements of a service and include a video component, an
audio component, and a data component. A data component is an application
program
in a service.
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.
The term `physical display device' indicates a physical space which actually
displays the content of a service.
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.


CA 02648960 2008-10-06
WO 2007/114669 PCT/KR2007/001675
7
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.
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.
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'.
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.
The PiP screen includes a screen that occupies a part of another screen as
illustrated in FIGS. 1(a) to 1(d) and a screen that is simultaneously
displayed with another
screen without overlapping the other screen as illustrated in FIGS. 1(e) to
1(f). In this
case, it is understood that the PiP screen may include a screen that overlaps
another screen
on an arbitrary location or area in the physical display device, as
illustrated in FIGS. 1(g)
and 1(h). FIG. 2 is a diagram illustrating the relationship between a logical
screen
and a display screen according to an exemplary embodiment of the present
invention.
Referring to FIG. 2, 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.
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.
In short, at least one logical screen which displays a service is mapped to an
arbitrary area of a display screen.
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


CA 02648960 2008-10-06
WO 2007/114669 PCT/KR2007/001675
8
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. 3 to 7 are
diagrams illustrating a configuration of the screen including a mapper as the
mapping
block.
Referring to FIG. 3, 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. 3, or
may have a combination of the background still image B, the video raster V,
and the
graphic rater G as illustrated in FIG. 4.
Referring to FIG. 5, 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. 5 or a
plurality of PiP
screens including a combination of the background still image B, the video
raster V, and
the graphic rater G.
POP screens are illustrated in FIG. 7. 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. 7, the plurality of PiP screens #1 and #2 including a
combination of the


CA 02648960 2008-10-06
WO 2007/114669 PCT/KR2007/001675
9
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.
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. 8.
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. 8) which provide services via a wired network
or a
wireless network.
A broadcast receiver 310 receives services from the service sources and
produces
logical screens displaying each of the received services.
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.
The terrestrial broadcaster 320, the cable broadcaster 330, and the PVR 340
are
illustrated in FIG. 8 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. 9 and 10.


CA 02648960 2008-10-06
WO 2007/114669 PCT/KR2007/001675
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 programs, without video components and
audio
components. Examples of the abstract services include services having unbound
5 applications based on the open cable application platform (OCAP) standard.
The non-abstract services are understood as services other than abstract
services.
According to the current 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
10 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.
According to the current 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.
In detail, if screen object attributes corresponding to the characteristics of
a logical
screen has a predefined value and other screen object attributes have fixed
values, a
screen object may serve as a logical screen. On the other hand, if screen
object attributes
corresponding to the characteristics of a display screen have predefined
values and other
screen object attributes have fixed values, a screen object may serve as a
display screen.
Attribute information of the screen object includes a plurality of attributes
`z-Order', `Display_Area', `Visibility', `Associated Display_Screen',
`Associated Service_Contexts', `Associated Logical_Screens', and `OutputPort'.
If the attributes `z-Order', `Display_Area', `Visibility',
`Associated Display_Screen', and `Associated Service_Contexts' have predefined
values


CA 02648960 2008-10-06
WO 2007/114669 PCT/KR2007/001675
11
and the attributes `Associated_Logical_Screens', and `OutputPort' have fixed
values, a
screen object may serve as a logical screen.
On the other hand, if the attributes `Associated Service_Contexts',
`Associated Logical_Screens', and `OutputPort' have predefined values and the
attributes
`z-Order', `Display_Area', `Visibility', and `Associated Display_Screen' have
fixed
values, a screen object may serve as a display screen.
FIG. 11 illustrates attribute information and interfaces of a logical screen
and a
display screen.
Referring to FIG. 11, an attribute `Type' 510 is for determining a screen type
- a
logical screen or a display screen.
Referring to FIG. 11, an attribute `z-Order' 520 is for determining in what
order a
plurality of logical screens are arranged along the z-axis. FIG. 12
illustrates different
configurations of logical screens on a physical display device for different
combinations
of the values of attributes `z-Order' of the logical screens.
Referring to FIG. 12, 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.
An attribute `Display_Area' 520 is information regarding a display screen area
of
a logical screen, as to be illustrated in FIGS. 13 and 14.
FIG. 13 illustrates that a logical screen 710 is mapped to an entire area of
the
display screen 720, and FIG. 14 illustrates that a logical screen 730 is
mapped to a partial
area of the display screen 740.
The attribute `Display_Area' may include infonnation specifying the
2-dimensional coordinates of a predetermined portion of a display screen to
which the


CA 02648960 2008-10-06
WO 2007/114669 PCT/KR2007/001675
12
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 infoimation 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 `Associated Logical_Screens' 560 is information regarding logical
screens associated with a display screen.
An attribute `OutputPort' 570 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 FIGS.
6A and 6B may be provided. Referring to FIGS. 6A and 6B, 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.

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'.


CA 02648960 2008-10-06
WO 2007/114669 PCT/KR2007/001675
13
According to another example, a method `public void
setDisplayArea(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
`HScreenRectangle' of a package `org.havi.ui', and has 2-dimensional position
information. The execution of the methods `SecurityException' and
`I11ega1StateException' may be conducted as an exceptional operation for the
method
`setOutputScreen(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.
According to still another example, a method `getOutputArea(void)' returns
regional information of a current screen as HScreenRectangle information. If
the current
screen corresponds to a display screen, the method `getOutputArea(void)'
returns
HScreenRectangle information having the same value as HScreenRectangle
(0,0,1,1). If
the current screen is a logical screen, the method `getOutputArea(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
`getOutputArea(void)' returns a value `NULL'.
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 just to indicate its functionality. This document does not intend to
distinguish
between functions that differ in name but not function.
FIG. 15 is a diagram illustrating a process that two services are set on a
display
screen to be mapped to a single screen. -
Referring to FIG. 15, 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.
As illustrated in FIG. 15, 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
embodiment of the present invention, it is possible to display a plurality of
services on a


CA 02648960 2008-10-06
WO 2007/114669 PCT/KR2007/001675
14
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.
FIG. 16 is a block diagram of an apparatus for providing multiple screens
according to an exemplary embodiment of the present invention.
Referring to FIG. 16, 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 interface module 965.
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
display screen 970, a storage medium 980, and an external output module 990 as
service
output media.
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
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 execute 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.
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.
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.


CA 02648960 2008-10-06
WO 2007/114669 PCT/KR2007/001675
The digital signal processing module 940 restores a plurality of services
using
received service components. The restored services include abstract or non-
abstract
services.
Here, the 'a plurality of services' refers to two or more services transmitted
by the
5 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. In this case, the user or the application may select the connection
between an
10 arbitrary service and a screen.
The service processing module 950 produces a logical screen to display a
service
restored by the digital signal processing module 940.
The output module 960 maps a plurality of logical screens produced by the
service
processing module 950 to the display screen. The mapping of the logical
screens to the
15 display screen may be conducted using a predefined method or a method set
by the user
with the aid of the user/application interface module 965.
A service restored by the digital signal processing module 940 may not be
processed by the service module 950. Instead, a service restored by the
digital signal
processing module 940 may be directly mapped to a certain portion of a display
screen
produced by the output module 960.
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.
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.
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 interface module 965.


CA 02648960 2008-10-06
WO 2007/114669 PCT/KR2007/001675
16
The user or the application can choose one of a plurality of services or
restore
desired services using the user interface module 965. Also, the user can
choose one of a
plurality of display screens using the user interface module 965.
Since the modules illustrated in FIG. 16 are divided according to their
functions, it
is possible to be connected to the other modules.
FIG. 17 is a flowchart illustrating a method of dynamically configuring
multiple
screens according to an exemplary embodiment of the present invention.
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 S 1010, 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 S 1010 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.
Further, data information includes application information regarding
application
program for a service, and these application information includes signal
information
indicating whether the application program can be executed on a PiP screen.
Examples
of the application information include application information table (AIT)
based on MHP
standard and eXtended application information table (XAIT) based on OCAP
standard.
The signal information may be added to the application.
Thereafter, in operation S1020, the restored service is set such that it can
be
displayed on a logical screen. In operation S1030, the logical screen is
mapped to a
display screen. In operation S 1040, the display screen is provided to the
user using a
display screen, a storage medium, or a network.
The restored service is illustrated in FIG. 17 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.
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


CA 02648960 2008-10-06
WO 2007/114669 PCT/KR2007/001675
17
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. 17 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.
When a display screen is provided to the user in this marmer, the user can
perform
a plurality of services.

FIG. 18 is a diagram illustrating a software architecture for providing
multiple
screens according to an exemplary embodiment of the present invention.
Referring to FIG. 18, a software architecture 1100 includes a device driver
layer
1110, an application program interface (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.
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 I 110 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.
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.

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
`MultiScreenContext' 1230, a multiscreen context listener module


CA 02648960 2008-10-06
WO 2007/114669 PCT/KR2007/001675
18
`MultiScreenContextListener' 1250, and a multiscreen context event module
`MultiScreenContextEvent' 1240, as illustrated in FIG. 19.
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.
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 FIGS. 6A and 6B 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 FIGS. 6A and 6B.
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.
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.
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.
The multiscreen context module 1230 is associated with the screen object 1220
and manages the attribute information of the screen object 1220 illustrated in
FIGS. 6A
and 6B. 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.
The multiscreen manager module 1210 (not illustrated) receives service
components provided by various service sources from the device driver layer
1110 and


CA 02648960 2008-10-06
WO 2007/114669 PCT/KR2007/001675
19
performs operations to display the received service components on a logical
screen or a
display screen.
FIG. 20 is a flowchart illustrating a method of displaying a plurality of
services
displayed on respective corresponding logical screens by the modules
illustrated in FIG.
19 on a display screen according to an exemplary embodiment of the present
invention.
Referring to FIG. 20, in operation S 1310, the multiscreen manager module 1210
produces a display screen and a number of logical screens corresponding to the
number of
services to be performed.
In operation S1320, 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' 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'
connects a
logical screen to a service and may be provided by the multiscreen context
module 1230.
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
`setDisplayScreen' 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 `setDisplayScreensetDisplayScreen' may be set to `public void
setDisplayScreensetDisplayScreen(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.
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.


CA 02648960 2008-10-06
WO 2007/114669 PCT/KR2007/001675
The execution of the methods `SecurityException' and `IllegalStateException'
may be conducted as an exceptional operation for the method
`setOutputScreen(HScreen
screen)'.
The method `I1legalStateException' may be executed when a current screen is a
5 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.
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
10 screen where the logical screens are to be displayed.
FIG. 21 is a flowchart illustrating a method of exchanging services displayed
on
logical screens between the modules illustrated in FIG. 19 according to an
exemplary
embodiment of the present invention.
In operation S 1410, the multiscreen manager module 1210 temporarily
terminates
15 a service to be exchanged between two logical screens.
Thereafter, in operation S 1420, information regarding the service is
exchanged
between the two logical screens. At this time, a method `removeServiceContext'
and a
method `addServiceContext' are called for each of the two logical screens,
thereby
exchanging service contexts set in the two logical screens between the two
logical screens.
20 The method `removeContext' removes a service context connected to a logical
screen,
and the method `addServiceContext' adds a new service context to a logical
screen. The
methods `removeServiceContext' and `addServiceContext' may be provided by the
multiscreen context module 1230. According to the current embodiment of the
present
invention, service information regarding a service connected to logical
services is
exchanged between the logical services, thereby obtaining the effect of
exchanging a main
screen and a sub-screen. In addition, according to the current embodiment of
the present
invention, even when 3 or more services are performed on a display screen,
they can be
exchanged between an arbitrary number of logical screens.
In operation S1430, occurrence of an event in which the connection between the
service and the two logical screens has been changed is announced. Thereafter,
in
operation S 1440, the multiscreen context event module 1240 transmits the
event to the


CA 02648960 2008-10-06
WO 2007/114669 PCT/KR2007/001675
21
multiscreen context listener module 1250, and a service newly connected to the
two
logical screens begins to be performed.
The same application may be executed by a plurality of service contexts
belonging
to different screens, and this will hereinafter be described in detail with
reference to FIG.
22. For example, referring to FIG. 22, the same application may be executed on
a main
screen HScreenl and on a PiP screen HScreen2.
It may be determined whether a plurality of applications respectively executed
on
a plurality of screens are the same applications or different applications by
comparing
application provider identification information Org_ID and application
identification
information App_ID of the applications. Referring to FIG. 22, the applications
respectively executed on the main screen HScreenl and the PiP screen HScreen2
share
the same application provider identification information Org_ID and the same
application
identification information App_ID, thereby making it difficult to precisely
determine
whether an application currently being executed is being executed on the main
screen
HScreenl or on the PiP screen HScreen2.
That is, additional information, other than Org_ID and App_ID, is necessary to
precisely determine whether a plurality of applications respectively executed
on a
plurality of screens are the same applications or different applications, even
though the
applications share the same Org_ID and the same App_ID. A data structure of
the
additional information is illustrated in FIG. 23.
Referring to FIG. 23, a class `OcapAppID' inherits a class 'AppID'. The class
'AppID' includes integer variables `AID' and `OID' and functions `getAID(' and
`getOID()' which return the values of the variables `AID' and `OID'.
The class `OcapAppID', which inherits the class 'AppID', includes a variable
`sc'
which identifies a service context and a function `getServiceContext()' which
returns the
value of the variable `sc'. The variable `sc' may be interpreted as being
pointer
information or reference information that indicates a service context for
executing an
application.

Since the class `OcapAppID' not only includes 'Org_ID' and `App_ID' but also
includes identification information of a service context for executing an
application, it is
possible to identify each of a plurality of instances of an application even
when the


CA 02648960 2008-10-06
WO 2007/114669 PCT/KR2007/001675
22
application is executed on a plurality of screens. This will hereinafter be
described in
further detail with reference to FIG. 24.
Referring to FIG. 24, assuming that application A has an Org_ID value of
`Oxaaaaaaaa' and an App_ID value of `0x4000', a class `OcapApp_ID_1' and a
class
`OcapApp_ID_2' have the same Org_ID and App_ID values.
However, since a variable SC_1 of the class `OcapApp_ID_1' includes
identification information of a service context `Service Context 1' and a
variable SC 2 of
the class `OcapApp_ID_2' includes identification information of a service
context
`Service Context 2', it is possible to identify each of a plurality of
instances of an
application even when the application is executed on a plurality of screens.
Industrial Applicability
According to 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.
In addition, according to the present invention, it is possible to identify
each of a
plurality of instances of an application in a multi-screen environment even
when the
application is executed on a plurality of screens.
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 embodiments
have been
provided only in a descriptive sense and will not be construed as placing any
limitation on
the scope of the invention.

Representative Drawing
A single figure which represents the drawing illustrating the invention.
Administrative Status

For a clearer understanding of the status of the application/patent presented on this page, the site Disclaimer , as well as the definitions for Patent , Administrative Status , Maintenance Fee  and Payment History  should be consulted.

Administrative Status

Title Date
Forecasted Issue Date Unavailable
(86) PCT Filing Date 2007-04-05
(87) PCT Publication Date 2007-10-11
(85) National Entry 2008-10-06
Dead Application 2011-04-05

Abandonment History

Abandonment Date Reason Reinstatement Date
2010-04-06 FAILURE TO PAY APPLICATION MAINTENANCE FEE

Payment History

Fee Type Anniversary Year Due Date Amount Paid Paid Date
Application Fee $400.00 2008-10-06
Maintenance Fee - Application - New Act 2 2009-04-06 $100.00 2008-10-06
Owners on Record

Note: Records showing the ownership history in alphabetical order.

Current Owners on Record
SAMSUNG ELECTRONICS CO., LTD.
Past Owners on Record
ADAMS, GLENN A.
BYUN, SUNG-WOOK
JUNG, UN-GYO
LEE, JONG-HO
LEE, KWANG-KEE
Past Owners that do not appear in the "Owners on Record" listing will appear in other documentation within the application.
Documents

To view selected files, please enter reCAPTCHA code :



To view images, click a link in the Document Description column. To download the documents, select one or more checkboxes in the first column and then click the "Download Selected in PDF format (Zip Archive)" or the "Download Selected as Single PDF" button.

List of published and non-published patent-specific documents on the CPD .

If you have any difficulty accessing content, you can call the Client Service Centre at 1-866-997-1936 or send them an e-mail at CIPO Client Service Centre.


Document
Description 
Date
(yyyy-mm-dd) 
Number of pages   Size of Image (KB) 
Abstract 2008-10-06 2 82
Claims 2008-10-06 2 82
Drawings 2008-10-06 21 705
Description 2008-10-06 22 1,245
Representative Drawing 2009-02-16 1 16
Cover Page 2009-02-17 1 53
PCT 2008-10-06 8 330
Assignment 2008-10-06 5 144