U.S. patent application number 15/691427 was filed with the patent office on 2017-12-21 for video reproduction apparatus, control method thereof, and computer-readable storage medium storing program.
The applicant listed for this patent is CANON KABUSHIKI KAISHA. Invention is credited to Hiroto Oka.
Application Number | 20170366832 15/691427 |
Document ID | / |
Family ID | 44914186 |
Filed Date | 2017-12-21 |
United States Patent
Application |
20170366832 |
Kind Code |
A1 |
Oka; Hiroto |
December 21, 2017 |
VIDEO REPRODUCTION APPARATUS, CONTROL METHOD THEREOF, AND
COMPUTER-READABLE STORAGE MEDIUM STORING PROGRAM
Abstract
The present invention is directed to a technique capable of
preventing resources from being wastefully used due to continuous
reproduction of video data which cannot be viewed by a user as the
video data does not exist in a display range of a window or
preventing the user from missing the video data. A CPU of a video
transmission apparatus determines whether a reproduction frame of
video data during reproduction is within a display range of a
window. As a result of the determination, if the reproduction frame
is not within the display range, the reproduction of the video data
is stopped and a reproduction position is stored.
Inventors: |
Oka; Hiroto; (Machida-shi,
JP) |
|
Applicant: |
Name |
City |
State |
Country |
Type |
CANON KABUSHIKI KAISHA |
Tokyo |
|
JP |
|
|
Family ID: |
44914186 |
Appl. No.: |
15/691427 |
Filed: |
August 30, 2017 |
Related U.S. Patent Documents
|
|
|
|
|
|
Application
Number |
Filing Date |
Patent Number |
|
|
14720134 |
May 22, 2015 |
|
|
|
15691427 |
|
|
|
|
13395547 |
Mar 12, 2012 |
9060194 |
|
|
PCT/JP2011/002611 |
May 11, 2011 |
|
|
|
14720134 |
|
|
|
|
Current U.S.
Class: |
1/1 |
Current CPC
Class: |
H04N 21/2343 20130101;
H04N 21/4334 20130101; G06F 16/95 20190101; H04N 21/44008 20130101;
H04N 21/4147 20130101; H04N 21/4333 20130101; H04N 21/25825
20130101; H04N 21/47202 20130101 |
International
Class: |
H04N 21/258 20110101
H04N021/258; H04N 21/44 20110101 H04N021/44; H04N 21/2343 20110101
H04N021/2343; G06F 17/30 20060101 G06F017/30; H04N 21/4147 20110101
H04N021/4147; H04N 21/472 20110101 H04N021/472; H04N 21/433
20110101 H04N021/433 |
Foreign Application Data
Date |
Code |
Application Number |
May 13, 2010 |
JP |
2010-111540 |
Apr 28, 2011 |
JP |
2011-101306 |
Claims
1. A video processing apparatus comprising: a processor; and a
memory storing a program which, when executed by the processor,
causes the video processing apparatus to: obtain a page including a
plurality of videos; display a part of the page within a screen;
reproduce a first video out of the first video and a second video
which are displayed within the screen, wherein the second video is
not reproduced while the first video is reproduced even if the
second video is displayed within the screen; and reproduce the
second video if the first video is not reproduced and the second
video is displayed within the screen.
2. The apparatus according to claim 1, wherein the program when
executed by the processor further causes the apparatus to: change
the part of the page to be displayed by resizing or scrolling the
screen according to a user operation, wherein the second video is
newly displayed within the screen according to the change.
3. The apparatus according to claim 1, wherein the program when
executed by the processor further causes the apparatus to: change
the part of the page to be displayed by resizing or scrolling the
screen according to a user operation, wherein the first video is
not reproduced if the first video is not displayed within the
screen according to the change.
4. The apparatus according to claim 1, wherein the program when
executed by the processor further causes the apparatus to: change
the part of the page to be displayed by resizing or scrolling the
screen according to a user operation, store a reproduction position
of the second video if the second video is not displayed within the
screen according to the change; and start reproducing the second
video based on the reproduction position if the second video is
displayed again within the screen according to the change and the
first video is not reproduced.
5. The apparatus according to claim 1, wherein the program when
executed by the processor further causes the apparatus to: download
the video from an external apparatus via a network, and continue to
download the video after the video is not displayed within the
screen.
6. The apparatus according to claim 1, wherein the program when
executed by the processor further causes the apparatus to: download
the video from an external apparatus via a network, and stop
downloading the video after the video is not displayed within the
screen.
7. The apparatus according to claim 1, wherein the program when
executed by the processor further causes the apparatus to: compare
display positions of the screen and the video; and determine if the
video is not displayed within the screen, in accordance with a
result of the comparison.
8. The apparatus according to claim 1, wherein the program when
executed by the processor further causes the apparatus to: store a
reproduction position of the first video if a ratio of area of a
portion of the first video which is not displayed within the screen
with respect to area of a whole of the first video exceeds a
predetermined value.
9. The apparatus according to claim 8, wherein the first video is
reproduced based on the stored reproduction position, if the first
video is displayed within the screen again and the second video
displayed within the screen is not being reproduced.
10. The apparatus according to claim 1, wherein the program when
executed by the processor further causes the apparatus to: stop
reproduction of the first video if at least a part of the first
video is not displayed within the screen.
11. A method for reproducing video data, the method comprising:
obtaining a page including a plurality of videos; displaying a part
of the page within a screen; reproducing a first video out of the
first video and a second video which are displayed within the
screen, wherein the second video is not reproduced while the first
video is reproduced even if the second video is displayed within
the screen; and reproducing the second video if the first video is
not reproduced and the second video is displayed within the
screen.
12. A non-transitory computer-readable storage medium storing a
program that, when executed by a processor, causes the processor to
perform operations comprising: obtaining a page including a
plurality of videos; displaying a part of the page within a screen;
reproducing a first video out of the first video and a second video
which are displayed within the screen, wherein the second video is
not reproduced while the first video is reproduced even if the
second video is displayed within the screen; and reproducing the
second video if the first video is not reproduced and the second
video is displayed within the screen.
Description
[0001] This application is a continuation of U.S. patent
application Ser. No. 14/720,134, filed on May 22, 2015, which is a
continuation of prior U.S. patent application Ser. No. 13/395,547
filed Mar. 12, 2012 and issued as U.S. Pat. No. 9,060,194 on Jun.
16, 2015, that was the National Stage of International Application
No. PCT/JP2011/002611, filed May 11, 2011, which patent(s) and
patent applications are hereby incorporated by reference herein in
their entireties. This application also claims the benefit of
Japanese Patent Applications No. 2010-111540 filed May 13, 2010,
and No. 2011-101306 filed Apr. 28, 2011, which applications are
hereby incorporated by reference herein in their entireties.
TECHNICAL FIELD
[0002] The present invention relates to a video reproduction
apparatus configured to reproduce video data including moving image
data and audio data and a control method and a program thereof.
BACKGROUND ART
[0003] Conventionally, a user of a communication apparatus displays
image data by downloading the image data from a web server to the
communication apparatus using a web browser and a plug-in.
[0004] If the user operates the communication apparatus and resizes
or scrolls the window of the web browser while the video data is
being reproduced, a display state of a reproduction frame of the
video data in the window may be changed. Then, even if the
reproduction frame of the video data is not actually displayed in
the window, the reproduction processing of the video data will be
continuously executed. Thus, although the user is unable to view
the video data, the resources of the communication apparatus will
be wasted. Further, the sound irrelevant to the content which is
displayed in the window may be continuously reproduced and the user
will be confused.
SUMMARY OF INVENTION
[0005] The present invention is directed to a technique capable of
preventing resources from being wastefully used due to continuous
reproduction of video data which cannot be viewed by a user as the
video data does not exist in a display range of a window or
preventing the user from missing the video data.
[0006] According to an aspect of the present invention, a video
reproduction apparatus includes a reproduction unit configured to
reproduce video data in a window, an update unit configured to
update a display content in the window if the window is scrolled,
and a stopping unit configured to stop reproduction of the video
data if the video data is not displayed in the window as a result
of the update.
[0007] Further features and aspects of the present invention will
become apparent from the following detailed description of
exemplary embodiments with reference to the attached drawings.
BRIEF DESCRIPTION OF DRAWINGS
[0008] The accompanying drawings, which are incorporated in and
constitute a part of the specification, illustrate exemplary
embodiments, features, and aspects of the invention and, together
with the description, serve to explain the principles of the
invention.
[0009] FIG. 1 is a block diagram illustrating a configuration of a
video reproduction system.
[0010] FIG. 2 is a block diagram illustrating a configuration of a
video reproduction apparatus.
[0011] FIG. 3 is a flowchart illustrating an operation of the video
reproduction apparatus.
[0012] FIG. 4A illustrates display contents of a web page.
[0013] FIG. 4B illustrates display contents of a web page.
[0014] FIG. 4C illustrates display contents of a web page.
[0015] FIG. 4D illustrates display contents of a web page.
[0016] FIG. 5 is a flowchart illustrating an operation of the video
reproduction apparatus.
[0017] FIG. 6A illustrates contents of a script.
[0018] FIG. 6B illustrates contents of a script.
[0019] FIG. 7 is a flowchart illustrating an operation of the video
reproduction apparatus.
DESCRIPTION OF EMBODIMENTS
[0020] Various exemplary embodiments, features, and aspects of the
invention will be described in detail below with reference to the
drawings.
[0021] A configuration of a video reproduction system according to
a first exemplary embodiment will be described below with reference
to a block diagram illustrated in FIG. 1. A video transmission
apparatus 101 and a video reproduction apparatus 102 are connected
via a network.
[0022] A configuration of a computer apparatus 200 that realizes
the video reproduction apparatus 102 according to the present
exemplary embodiment will be described below with reference to a
block diagram illustrated in FIG. 2. A central processing unit
(CPU) 201 is a control unit used for controlling the entire
computer apparatus 200. A random access memory (RAM) 202 temporary
stores a program or data supplied from an external apparatus or the
like.
[0023] A read-only memory (ROM) 203 stores a program or a parameter
that requires no changes. The program stored in the ROM 203 is
loaded onto the RAM 202 when the computer apparatus 20X) is
started, and then executed by the CPU 201.
[0024] A storage device 204 is a hard disk or the like that stores
various programs, an operating system (OS), a web browser program,
and a plug-in program. The program stored in the storage device 204
is loaded onto the RAM 202 according to a user's operation and
executed by the CPU 201.
[0025] A communication interface (I/F) 205 is a connection unit
used for communication with an external device, and is a universal
serial bus (USB) port or the like. A storage medium interface 206
is an insertion unit used for reading and writing of an external
storage medium such as a memory card or a digital versatile disk
(DVD). A network interface 207 is a connection unit used for
connecting a network cable.
[0026] An operation unit 208 may include a keyboard or a mouse
which is used when the user inputs information or instructions in
the computer apparatus 200. A display unit 209 is a monitor or the
like for displaying an image or a graphical user interface (GUI)
screen. A bus 210 communicably connects each of the modules 201 to
209.
[0027] The video reproduction apparatus 102 according to the
present exemplary embodiment stops reproduction of video data when
it determines that a display state of a reproduction frame of the
video data in a window is changed to a non-display state during the
reproduction of the video data. The reproduction frame is changed
to a non-display state in the window if the display content in the
window is updated by the user resizing or scrolling the window of
the web browser.
[0028] Operations of the video reproduction apparatus 102 according
to the present exemplary embodiment will be described with
reference to the flowchart in FIG. 3. The operations described
below are realized by the CPU 201 of the video reproduction
apparatus 102 starting the OS or the web browser and performing
operations according to the OS or the web browser. Further, the
video reproduction apparatus 102 can be realized by various
terminals that include a communication function and a display
function. The reproducing apparatus 102 is, for example, a personal
computer, a cellular phone, or a digital camera.
[0029] In step S301, the CPU 201 accesses the video transmission
apparatus 101 via the network interface 207 according to a uniform
resource locator (URL) input in the window of the web browser and
downloads a web page.
[0030] In step S302, the CPU 201 determines whether a predetermined
plug-in is stored in the storage device 204. If the predetermined
plug-in is not stored (NO in step S302), the processing proceeds to
step S303. In step S303, the CPU 201 downloads a plug-in from the
video transmission apparatus 101 or another web server apparatus
and stores it in the storage device 204. In step S304, the CPU 201
detects an operation of the user.
[0031] In step S305, the CPU 201 determines whether the user's
operation is related to a reproduction instruction of video data.
If the operation is determined as the reproduction instruction of
video data (YES in step S305), the processing proceeds to step
S306. In step S306, the CPU 201 downloads the video data from the
video transmission apparatus 101 according to a file path described
in the web page and stores the video data in the storage device
204. In step S307, after the download is completed, the CPU 201
reads out the video data from the storage device 204 and reproduces
it in a reproduction frame.
[0032] In step S308, the CPU 201 determines whether the
reproduction of the video data is finished. If the reproduction is
not yet finished (NO in step S308), the processing proceeds to step
S309. In step S309, the CPU 201 executes an operation according to
the plug-in or the OS, and detects a display state of the
reproduction frame. In step S310, the CPU 201 determines whether
the reproduction frame is within a display range of the window.
[0033] For example, if the web page is similar to what is
illustrated in FIG. 4A, the web page is displayed in either of the
following states. More specifically, the entire reproduction frame
is included in the display range of the window of the web page
(FIG. 4B), a part of the reproduction frame is included (FIG. 4C),
or the reproduction frame is not included (FIG. 4D). The web pages
in FIGS. 4A to 4D include a web page 401, a reproduction frame 402,
a button 403 used for inputting a reproduction-start instruction, a
button 404 for inputting a reproduction-stop instruction, a bar 405
that indicates a reproduction position.
[0034] In step S310, if the CPU 201 determines that the
reproduction frame is not within the display range of the window
(NO in step S310), the processing proceeds to step S311. In step
S311, the CPU 201 stores the reproduction position of the video
data in the RAM 202. Then in step S312, the CPU 201 stops the
reproduction of the video data.
[0035] In step S308, if the CPU 201 determines that the
reproduction of the video data has been finished (YES in step
S308), then the processing ends. In step S310, if the CPU 201
determines that the reproduction frame is displayed (YES in step
S310), then the processing returns to step S308, and the subsequent
processing is repeated.
[0036] Then, the user performs the operation again and if the
reproduction frame of the video data whose reproduction is stopped
is displayed within the window and if the user gives a reproduction
instruction, the CPU 201 reads out the reproduction position from
the RAM 202 and starts the reproduction of the video data from that
position.
[0037] Next, details of the operation in step S309, which is the
operation of the CPU 201 detecting the change in the display state
of the reproduction frame of the video data, will be described with
reference to FIG. 5. In step S501, the CPU 201 acquires coordinates
(an upper left corner (L.sub.x, L.sub.y) and a lower right corner
(R.sub.x, R.sub.y) of the window) of the display position in the
window of the web browser from the OS.
[0038] In step S502, the CPU 201 acquires coordinates (an upper
left corner (l.sub.x, l.sub.y) and a lower right corner (r.sub.x,
r.sub.y) of the reproduction frame) of the display position of the
reproduction frame from the OS. The CPU 201 can acquire the
coordinates indicating the display position and a size of the
window from the OS using the reproduction frame or a window handle
of the window of the web browser. The plug-in includes information
regarding the reproduction frame and the window handle.
[0039] In step S503, the CPU 201 compares the coordinates of the
display positions of the window and the reproduction frame. Then in
step S504, the CPU 201 determines whether the reproduction frame is
within the display range of the window. If at least one out of the
following conditions, i.e. l.sub.x<L.sub.x, r.sub.x>R.sub.x,
l.sub.y>L.sub.y, and r.sub.y<R.sub.y, is satisfied, the CPU
201 determines that the reproduction frame is not included in the
display range of the window (NO in step S504), and the processing
proceeds to step S505. In step S505, the CPU 201 stores, in the RAM
202, information indicating that the reproduction frame is not
displayed.
[0040] On the other hand, if any of the conditions,
l.sub.x<L.sub.x, r.sub.x>R.sub.x, l.sub.y>L.sub.y, and
r.sub.y<R.sub.y is not satisfied, then the CPU 201 determines
that the reproduction frame is within the display range of the
window (YES in step S504), and the processing proceeds to step
S506. In step S506, the CPU 201 stores, in the RAM 202, information
indicating that the reproduction frame is being displayed.
[0041] Next, an example of a script of the web page according to
the present exemplary embodiment will be described with reference
to FIG. 6A. The script includes a control plug-in 601 and a video
reproduction plug-in 602. The CPU 201 identifies the control
plug-in 601 by identification (ID) "Controller" and identifies the
video reproduction plug-in 602 by ID "MoviePlayer". The video
reproduction plug-in 602 includes a display state, a reproduction
state, a reproduction position, volume, and ON/OFF of a mute.
[0042] If the reproduction frame is not within the display range of
the window, an event "OnExit" is generated, and the CPU 201 calls a
function "MoviePlayerA_OnExit". Then, when a method "SetPlaverExit"
for the control plug-in is called, an event "On-StopPlayer" for
stopping reproduction of video data is generated, and the CPU 201
calls a reproduction stop method "Stop" of the video reproduction
plug-in.
[0043] According to the present exemplary embodiment, the CPU 201
determines that the reproduction frame is not within the display
range of the window when a portion of the reproduction frame is not
displayed in the window, and stops the reproduction of the video
data.
[0044] However, the determination is not limited to such a
criterion, and the CPU 201 can determine that the reproduction
frame is not within the display range of the window according to a
size of a portion of the reproduction frame which is no longer
displayed in the display range, and then stop the reproduction of
the video data. In this case, in step S310, the CPU 201 detects the
area of a portion which is no longer included in the window, and if
the ratio of that area with respect to the area of the whole
reproduction frame exceeds a predetermined value, the CPU 201
determines that the reproduction frame is not displayed. Then, the
CPU 201 stops the reproduction of the video data in step S308.
[0045] Further, the CPU 201 can also determine that the
reproduction frame is not within the display range of the window
when not even a small portion of the reproduction frame is
displayed in the window, and stop the reproduction of the video
data. In this case, if at least one out of the following
conditions, i.e. r.sub.x<L.sub.x, l.sub.x>R.sub.x,
r.sub.y>L.sub.y, and l.sub.y<R.sub.y, is satisfied, the CPU
201 determines that the reproduction frame is not within the
display range of the window (NO in step S504).
[0046] Further, according to the present exemplary embodiment, a
case where the display state of the reproduction frame of the video
data in the window is changed from a display state to a non-display
state due to resizing or scrolling of the window has been
described. However, the non-display state of the reproduction frame
of the video data also occurs when the user changes tabs and a
different web page is displayed in place of the reproduction frame.
Accordingly, the reproduction frame of the video data is not
displayed in the window. Thus, if the CPU 201 receives an
instruction to change tabs on the window, the CPU 201 may determine
that the state of the video data will be the non-display state and
stop the reproduction of the video data.
[0047] Further, if the display state of the window itself is
changed from the display state to the non-display state according
to automatic activation of a screen saver, the reproduction frame
of the video data will not be displayed. Thus, when the CPU 201
detects that the screen saver is activated, the CPU 201 determines
that the video data will not be displayed, and stops the
reproduction of the video data.
[0048] The resizing of the window includes minimization of the
window. When the window is minimized, the reproduction frame of the
video data is not displayed. Thus, if the CPU 201 receives an
instruction to minimize the window, the CPU 201 determines that the
video data will not be displayed, and may stop the reproduction of
the video data.
[0049] According to the above described exemplary embodiment, when
the video data is not displayed in the window, the reproduction of
the video data is automatically stopped. In this manner, the
reproduction of the video data when the user cannot view the video
data is stopped and resources are prevented from being wasted due
to the continuance of the reproduction of the video data. Further,
it is also useful in preventing the video data from being
reproduced before the user realizes that the reproduction has been
forwarded.
[0050] Next, a case where the reproduction of the video data is
started after the reproduction of the video data is stopped
according to a change in the state of the reproduction frame in the
window from the display state to the non-display state, and
accordingly the display of the reproduction frame of the video data
in the window is detected again, will be described.
[0051] The reproduction frame of the video data can be displayed
again in the window by the user resizing or scrolling the window of
the web browser, changing tabs, turning off the screen saver, or
cancelling the minimization of the window. The operation of the
video reproduction apparatus 102 according to the present exemplary
embodiment will be described with reference to the flowchart in
FIG. 7. The operations described below are realized by the CPU 201
of the video reproduction apparatus 102 starting the OS or the web
browser and performing operations according to the OS or the web
browser.
[0052] In step S701, after the CPU 201 stops the reproduction of
the video data in step S312, the CPU 201 detects the display state
of the reproduction frame. In step S702, the CPU 201 determines
whether the reproduction frame is within the display range of the
window. If the CPU 201 determines that the reproduction frame is
within the display range of the window (YES in step S702), the
processing proceeds to step S703. In step S703, the CPU 201 reads
out the reproduction position of the video data from the RAM 202.
In step S704, the CPU 201 acquires the video data from the storage
device 204 and reproduces the video data from the reproduction
position read out in step S703. The operation in step S701 is
similar to the operation performed in step S309.
[0053] Further, the CPU 201 can determine whether the reproduction
position read out in step S703 is the beginning of the video data.
If the reproduction position is not the beginning of the video
data, the reproduction of the video data can be started in step
S704. If the reproduction position is the beginning of the video
data, the CPU 201 can determine not to start the reproduction of
the video data. In this manner, automatic reproduction of the video
data which has not yet been reproduced by the user or the video
data whose reproduction has been completed can be prevented. This
improves convenience for the user.
[0054] Further, the CPU 201 can determine whether video data which
is being reproduced in a different reproduction frame exists. If
such video data is not being reproduced, the CPU 201 can start
reproduction of the video data in step S704. If such video data is
being reproduced, the CPU 201 can determine not to start the
reproduction of the video data. Additionally, if the reproduction
of the different video data ends, the CPU 201 can start reproducing
the video data whose reproduction frame is displayed again in the
window. Accordingly, the video data is not reproduced while the
user is viewing another video data, and the user does not miss the
video data that the user desires to view. Further, it can prevent
sounds from being difficult to listen because a plurality of pieces
of video data is reproduced overlapping one another.
[0055] Next, an example of a script of the web page according to
the present exemplary embodiment will be described with reference
to FIG. 6B. The script in FIG. 6B is added to the script
illustrated in FIG. 6A. When the reproduction frame of the video
data is moved into the display range of the window, an event
"OnEnter" is generated, and the CPU 201 calls a function
"MoviePlaverB_OnEnter". Then, when a method "SetPlayer-Entrance" of
the control plug-in is called, an event "OnStartPlayer" which
starts the reproduction of video data is generated, and the CPU 201
calls a reproduction start method "Start" of the video reproduction
plug-in.
[0056] Although the web page according to the present exemplary
embodiment includes one piece of video data and its reproduction
frame, a plurality of pieces of data and reproduction frames of the
data can be included in the web page. In this case, if the CPU 201
detects that reproduction frames of a plurality of pieces of video
data are displayed again in the window, from among the plurality of
pieces of video data, reproduction of moving image data pieces are
simultaneously started and, further, repeatedly reproduced. Audio
data pieces can be reproduced in the order of the video data. In
this manner, the user can listen to the sound of each piece of
video data more easily.
[0057] Further, although the reproduction of the video data is
started after the download of the video data is completed in the
present exemplary embodiment, the video data can be reproduced
while it is being downloaded.
[0058] For example, a case where the video transmission apparatus
101 transmits video data to the video reproduction apparatus 102 by
streaming and video reproduction apparatus 102 reproduces the
received video data will be described. After executing the
processing in steps S301 to S305, the CPU 201 downloads a part of
the video data from the video transmission apparatus 101 via a
streaming server and stores the video data in a buffer. Then, the
CPU 201 reproduces a part of the video data stored in the buffer in
the reproduction frame.
[0059] Then, the processing in steps S308 to S309 is executed.
Then, if the CPU 201 determines that the reproduction frame is
displayed (YES in step S310), the successive part of the video data
is repeatedly downloaded and reproduced.
[0060] On the other hand, if the CPU 201 determines that the
reproduction frame is not displayed (NO in step S310), then in step
S311, the CPU 201 stores the reproduction position of the video
data, and stops the download and the reproduction of the video
data. Then, the CPU 201 executes the processing in step S701. If
the CPU 201 determines that the reproduction frame is displayed
again (YES in step S702), the CPU 201 downloads a part of the video
data from the video transmission apparatus 101 from the
reproduction position stored in the storage device 204 (step S306),
and reproduces the video data (step S307).
[0061] Further, a case where the video transmission apparatus 101
transmits video data to the video reproduction apparatus 102 by
progressive download, and then the video reproduction apparatus 102
reproduces the video data will be described. The progressive
download is to reproduce video data while the video data is being
downloaded.
[0062] In this case, after executing the processing in steps S301
to S305, the CPU 201 downloads a part of the video data from the
video transmission apparatus 101 via a hypertext transfer protocol
(HTTP) server, stores the video data in a temporary folder of the
storage device 204, and then reproduces a part of the video data
stored in the temporary folder in the reproduction frame.
[0063] Then, the processing in steps S308 to S309 is executed. If
the CPU 201 determines that the reproduction frame is displayed
(YES in step S310), the successive part of the video data is
repeatedly downloaded and reproduced.
[0064] On the other hand, if the CPU 201 determines that the
reproduction frame is not displayed (NO in step S310), the CPU 201
stores the reproduction position of the video data (step S311), and
stops the download and the reproduction of the video data (step
S312). Then, the CPU 201 executes the processing in step S701. If
the CPU 201 determines that the reproduction frame is displayed
again (YES in step S702), the CPU 201 downloads a part of the video
data from the video transmission apparatus 101 from the
reproduction position stored in the storage device 204 (step S306),
and reproduces the video data (step S307). In this manner, since
the video data which is not yet reproduced is not downloaded and
stored, a load on an amount of storage capacity of the video
reproduction apparatus 102 can be reduced.
[0065] If the CPU 201 determines that the reproduction frame is not
displayed (NO in step S310), the CPU 201 stores the reproduction
position of the video data (step S311), stops only the reproduction
of the video data, and continues the download of the video data.
The downloaded video data can be stored in a temporary folder.
Then, the CPU 201 executes the processing in step S701. If the CPU
201 determines that the reproduction frame is displayed again (YES
in step S702), the CPU 201 acquires the video data from the
temporary folder and reproduces the video data from the
reproduction position stored in the storage device 204 (step S307).
Since the video data which is not yet reproduced is downloaded and
stored in advance, the user can reproduce the video data not only
from the position where the reproduction has been stopped but can
immediately reproduce the video data from a further position.
[0066] According to the present exemplary embodiment, if the
reproduction frame of the video data is displayed again in the
window, the reproduction of the video data can be automatically
started. Accordingly, the user can watch the rest of the video data
without performing special operations.
[0067] According to the present exemplary embodiment, a case where
the video reproduction apparatus 102 downloads video data from the
video transmission apparatus 101 and reproduces the video data in
the reproduction frame of the window of the web browser has been
described. Similarly, the present exemplary embodiment can be
applied to a case where the video reproduction apparatus reads out
video data from the storage device 204 and the video data is
reproduced in the reproduction frame in the window of another
application.
[0068] Further, although the reproduction of the video data is
always stopped when the reproduction frame in the window of the
video reproduction apparatus 102 is not displayed in the present
exemplary embodiment, whether to stop or continue the reproduction
can be changed according to a predetermined setting. For example,
if it is set in advance in the storage device 204 that the
reproduction of the video data is not to be stopped even if the
video data is not displayed, even when the video data is not
displayed in the window, the CPU 201 continues the reproduction of
the video data. On the other hand, if it is set in advance in the
storage device 204 that the reproduction of the video data is to be
stopped when the video data is not displayed, the CPU 201 stops the
reproduction of the video data when the video data in the window is
not displayed. Accordingly, by making the setting in advance, the
user can control the reproduction of the video data.
[0069] Further, the present invention can also be realized by
executing the following processing. More specifically, software (a
program) for realizing the functions of the above exemplary
embodiment is supplied to a system or an apparatus via a network or
various storage media and a computer (or CPU or micro processing
unit (MPU)) of the system or the apparatus reads and executes the
program.
[0070] Further, the functions of the above-described exemplary
embodiment are realized not only when the computer executes a
program code. For example, an operation system (OS) or the like,
which runs on a computer, can execute a part or whole of the actual
processing based on an instruction of the program code so that the
functions of the above-described embodiment can be achieved.
Furthermore, a case where the functions of the above-described
exemplary embodiment are realized by the program code read out from
the computer-readable storage medium is written in a memory in a
function expansion board inserted in the computer or a function
expansion unit connected to the computer and a CPU provided in the
function expansion board or the function expansion unit performs
the entire or a part of the actual processing based on an
instruction from the program is also included in the present
invention.
[0071] While the present invention has been described with
reference to exemplary embodiments, it is to be understood that the
invention is not limited to the disclosed exemplary embodiments.
The scope of the following claims is to be accorded the broadest
interpretation so as to encompass all modifications, equivalent
structures, and functions.
* * * * *