This application is a 35 U.S.C. ยง371 national stage filing of PCT Application No. PCT/KR2010/003612 filed on Jun. 4, 2010, which claims priority to, and the benefit of, Korean Patent Application No. 10-2009-0049819 filed Jun. 5, 2009, and Korean Patent Application No. 10-2010-0052320 filed Jun. 3, 2010. The contents of the aforementioned applications are hereby incorporated by reference.
1. Field of the Invention
Embodiments of the present invention relate to a method for transmitting, to a mobile device, multimedia contents where qualities are hierarchically divided, and more particularly, to an apparatus and method that may reduce a zapping delay while reducing an amount of used communication resources.
2. Description of the Related Art
A delay generated when several multimedia channels such as a mobile Internet Protocol television (IPTV) exist and a channel is frequently changed by a user is referred to as zapping delay, and the zapping delay may cause considerable inconvenience to users. The zapping delay generated in a Digital Multimedia Broadcasting (DMB) is known to be about three to five seconds.
In addition, in radio communication schemes such as a Digital Video Broadcasting-Handheld (DVB-H) scheme, a Long Term Evaluation (LTE) scheme, and the like, a method for momentarily receiving a significant amount of data in a relatively short time period (burst) may be used to reduce delay generated at the time of data reception, and the burst may be repeated in a cycle of about four to five seconds. In this instance, since the burst received when the channel is changed is also changed, the zapping delay may occur for the same time period as that required until the burst corresponding to the changed channel is completely received, when the channel is changed.
Accordingly, there is a demand for a method and apparatus that may reduce the zapping delay using characteristics of a video coding scheme and a burst based-communication scheme.
An aspect of the present invention provides an apparatus and method for reducing zapping delay that may configure base layer data for all channels as a preview stream, transmit the configured preview stream for each time slice, and output a screen using the base layer data of a channel requested to be changed to, thereby reducing the zapping delay.
According to an aspect of the present invention, there is provided a streaming server for reducing a zapping delay, the streaming server including: a coding unit to classify each of a plurality of channel data into base layer data and expansion layer data and to code the classified data; a division unit to divide the coded data for each channel in a time-slice unit; a duration data transmission unit to transmit duration data of time-slice for each channel; and a stream transmission unit to transmit the data divided in the time-slice unit, in a predetermined time.
In this instance, the stream transmission unit may include a main stream transmission unit to transmit a main stream including the base layer data and the expansion layer data, for each channel, and a preview stream transmission unit to transmit a preview stream including the base layer data of all channels.
Also, the main stream transmission unit may transmit, for a time-slice interval for each channel, the base layer data and the expansion layer data being collected for an N-number of time-slice intervals, N being a total number of channels, wherein the preview stream transmission unit transmits a part or all of the base layer data of all channels, for each time-slice interval.
According to another aspect of the present invention, there is provided a mobile terminal for reducing a zapping delay, the mobile terminal including: a duration data reception unit to receive duration data of time-slice for each channel; a channel selection unit to select a viewing channel, and to set a reception duration for receiving data of the selected viewing channel; a channel data reception unit to receive main stream data and preview stream data of the selected viewing channel, for each reception duration; a channel management unit to change received channel data in response to a channel change request; and an output unit to output a screen based on the received channel data, wherein the output unit outputs the screen using base layer data of a changed channel included in the preview stream when the channel change request is received.
In this instance, the channel data reception unit may include: a power management unit to switch a data reception module to be in an active mode in the reception duration, and to switch the data reception module to be in a sleep mode in a duration different from the reception duration; a layer classification unit to classify the received main stream data and preview stream data into expansion layer data and base layer data; and an internal memory to store the classified data.
Also, the channel data reception unit may receive the main stream data when the channel change request is not received for a predetermined time.
Also, the channel data reception unit may further receive the preview stream data when the channel change request is consecutively received in a predetermined frequency or in a frequency higher than the predetermined frequency.
According to still another aspect of the present invention, there is provided a streaming method for reducing a zapping delay, the streaming method including: classifying each of a plurality of channel data into base layer data and expansion layer data; coding the classified data; dividing the coded data for each channel in a time-slice unit; transmitting duration data of time-slice for each channel; and transmitting the coded data divided in the time-slice unit, in a predetermined time, wherein the transmitting of the coded data divided in the time-slice unit transmits a main stream including the base layer data and the expansion layer data, for each channel, and transmits a preview stream including the base layer data of all channels.
According to embodiments of the present invention, there may be provided a method and apparatus for reducing zapping delay, which may configure base layer data for all channels as a preview stream, transmit the configured preview stream for each time slice, and output a screen using the base layer data of a channel requested to be changed to, thereby reducing the zapping delay.
These and/or other aspects, features, and advantages of the invention will become apparent and more readily appreciated from the following description of exemplary embodiments, taken in conjunction with the accompanying drawings of which:
Reference will now be made in detail to embodiments, examples of which are illustrated in the accompanying drawings, wherein like reference numerals refer to the like elements throughout. Embodiments are described below to explain the present disclosure by referring to the figures.
Referring to
In addition, to reduce a power consumption of a mobile terminal using a time slicing scheme, an off-time may be needed to be long, and the long off-time may signify a lengthening in a waiting time during which the next burst is received. When the waiting time is lengthened, a delay time may be lengthened until a receiver is initially powered on or until a broadcasting channel is changed to display a corresponding screen. Thus, the DVB-H may be difficult to satisfy both the reduction in the power consumption and the reduction in the waiting time.
Also, a Multi Protocol Encapsulation Forward Error Correction (MPE-FEC) of the DVB-H may apply Reed-Solomon (RS) Codes to a link layer, separately from channel codes that are applied to a physical layer for enhancing a compensation capability for a channel distortion occurring in a mobile channel.
Also, a single time slicing burst may be configured as a single Forward Error Correction (FEC) frame.
Referring to
The coding unit 210 may classify each of a plurality of channel data into base layer data and expansion layer data to encode the classified data. Specifically, the coding unit 210 may classify, using a hierarchical coding scheme, the plurality of channel data into a plurality of layers including the base layer data and the expansion layer data, and encode the classified data.
For example, when performing a Scalable Video Coding (SVC) on each of the plurality of channel data, the coding unit 210 may classify each of the plurality of channel data into the base layer data and the expansion layer data based on at least one of data importance, data picture quality, a frame rate, and a screen size to code the classified data. For example, the lowest layer may be a base layer, or only a part of the lowest layer may be used as the base layer data.
Also, when the coding unit 210 performs a single stream encoding on each of the plurality of channel data, the coding unit 210 may classify a frame I into the base layer data, and classify the remaining frames excluding the frame I into the expansion layer data to encode the classified data. In this instance, when several Groups of Pictures (GOPs) are included in burst data included in a single time slice, the frame I of each of GOPs may be included as the base layer data, and only the last frame I may be set as the base layer data. In a case of setting the last frame I as the base layer data, when all of burst data of a next time slice are received while a still image of a channel stream to be changed to is momentarily displayed, a video having a normal image quality may be replayed. In addition, when classifying data using a data partitioning scheme provided by a Moving Picture Experts Group (MPEG)-2 scheme and the like, only important data from the classified data may be set as the base layer data.
As described above, by classifying the channel data into the layer data to encode the classified data, a reception terminal may decode only the base layer data to replay a video having a relatively low image quality, or add the expansion layer data to encode the classified data to replay a video having an excellent image quality.
The division unit 220 may divide the encoded data for each channel in a time slice unit. In this instance, the division unit 220 may divide the encoded data so that a size of each time-slice is the same. Also, the division unit 220 may divide the encoded data so that a size of each time-slice is differentiated in accordance with stream characteristics of the encoded data for each channel. Here, the stream characteristics may include at least one of a resource amount and a resource quality which are required for each stream.
The duration data transmission unit 230 may transmit time-slice duration data for each channel. In this instance, so that a new channel having a minimum image quality is displayed instead of displaying a black screen while waiting for a next time slice duration when a channel is changed by a terminal, the base layer data may be inserted in time slices of other channels to be transmitted.
The stream transmission unit 240 may transmit the data divided in the time-slice unit, in a predetermined time. Here, the stream transmission unit 240 may include a main stream transmission unit 241 and a preview stream transmission unit 242.
The main stream transmission unit 241 may transmit a main stream including the base layer data and the expansion layer data, for each channel. Here, the main stream transmission unit 241 may transmit the base layer data and the expansion layer data which are collected during N number of time slice intervals for each channel, in the time slice interval for each channel. Here, N may signify a total number of channels. For example, when N is 3, the base layer data and the expansion layer data which are collected during three time slice intervals (T1+T2+T3) may be transmitted as the main stream.
The preview stream transmission unit 242 may transmit a preview stream including the base layer data for all channels. Here, the preview stream transmission unit 242 may transmit a part or all of the base layer data of all channels to transmit the transmitted data during each time slice interval. For example, when entire channel is configured to a first channel, a second channel, and a third channel, the base layer data for each channel during each of three time slice intervals may be transmitted to generate a preview stream, and the generated preview stream may be transmitted for each of the time slice intervals. Also, only a part of the base layer data for each channel during the three time slice intervals may be selectively extracted, the extracted data may be transmitted to generate the preview stream, and the generated preview stream may be transmitted for each of the time slice intervals.
Also, the stream transmission unit 240 may transmit, to a base station, transmission time information for each time slice, so that time slices of a plurality of streaming channels are sequentially transmitted. The base station may broadcast time slice data in a wireless manner to match predetermined time information. A mobile terminal may receive the burst data to match the time slice duration allocated to a stream to be received, store the received burst data in an internal buffer memory, and decode the stored burst data to replay a video.
Referring to
The duration data reception unit 310 may receive duration data of time slice for each channel. Specifically, when transceiving data in a time slice scheme, a duration for receiving the data for each channel may be determined, and a time slice duration for each channel may be transmitted in advance to a mobile terminal, so that the data may be easily received.
The channel selection unit 320 may select a viewing channel, and set a data reception duration for receiving data of the selected viewing channel. Specifically, since the data reception duration for receiving the data differs depending on the viewing channel when selecting the viewing channel, the data reception duration corresponding to the selected viewing channel may be set. In this instance, the setting of the data reception duration may be performed based on the received duration data of time slice for each channel. Also, the channel selection unit 320 may output at least one of all channel screens using the base layer data and a current channel screen using the expansion layer data. Specifically, when a channel intended to be changed is selected by a user, the channel intended to be changed may be selected from one of a preview image of each channel outputted using the base layer data of each channel and a main image of the current channel.
The channel data reception unit 340 may receive main stream data and preview stream data of the viewing channel selected for each data reception duration. Here, the main stream data may include expansion layer data and base layer data, for each channel, and the preview stream data may include a part or all of the base layer data for all channels. Here, the channel data reception unit 340 may include a power management unit 341, a layer classification unit 342, and an internal memory 343.
The power management unit 341 may switch a data reception module to be in an active mode in the reception duration, and switch the data reception module to be in a sleep mode in a duration different from the reception duration. Specifically, when data is not received for the purpose of reducing power, an unnecessary waste of power may be reduced using the sleep mode.
The layer classification unit 342 may classify the received main stream data and preview stream data into the expansion layer data and the base layer data. Specifically, data included in each of the main stream data and the preview stream data may be classified into the expansion layer data and the base layer data.
The internal memory 343 may store the classified data. In this instance, the classified expansion layer data and base layer data may be divided to be stored.
In addition, when a channel change request is received for a predetermined time, the channel data reception unit 340 may receive only the main stream data. Specifically, the preview stream data for coping with the zapping delay is not received during continuously receiving a channel without the channel change request, so that a resource for receiving data may be effectively used.
Also, when the channel change request is continuously received at more than a predetermined frequency, the channel data reception unit 340 may additionally receive only the preview stream data. Specifically, when the channel change request is continuously received, existing preview stream data having been stored in the internal memory may be repeatedly used, so that a phenomenon where a preview stream screen different from currently provided real-time broadcasting contents is repeatedly displayed may be improved. Accordingly, by additionally receiving new preview stream data, a real-time preview screen possibly corresponding to a current point in time may be repeatedly updated to be provided.
The channel management unit 330 may change channel data received in response to the channel change request.
The output unit 350 may output a screen based on the received data. In this instance, when the channel change request is received, the output unit 350 may output the screen using base layer data of a channel intended to be changed included in the preview stream. Specifically, since a waiting time may be needed during a next time slice duration allocated to the channel intended to be changed to, in order to receive burst data for the channel intended to be changed to, a black screen may be outputted during the waiting time to thereby generate a zapping delay. Accordingly, during the waiting time, the channel intended to be changed to may be broadcasted in advance using the base layer data of the channel to be changed to included in the preview stream. Also, when the channel change request is not received, the output unit 350 may output the screen using both the expansion layer data and the base layer data, and thereby output a high quality image.
In
Also, separate from the above, a preview stream 405 may be configured by transmitting only base layer data 410, 411, and 412 of the respective video streams 401, 402, and 403.
A method of configuring the preview stream 405 may be performed such that all base layer data collected during each time slice interval are transmitted, the transmitted base layer data are repeatedly copied and inserted in a corresponding time slice interval, or performed such that the base layer data collected during n number of time slices is partially extracted to be transmitted, and the transmitted base layer data are repeatedly copied and inserted in the n number of time slices. For example, data of T1406 of the preview stream 405 may be configured by transmitting a part or all of the base layer data 410 of T1 of the first stream 401, the base layer data 411 of T1 of the second stream 402, and the base layer data 412 of T1 of the third stream 413.
Also, the data of T1406 of the preview stream 405 may collect a part or all of the base layer data 410 of T1+T2+T3 of the first stream 410, the base layer data 411 of T1+T2+T3 of the second stream 402, and the base layer data 412 of T1+T2+T3 of the third stream 403, the collected data may be transmitted again, and the transmitted data may be repeatedly copied and disposed in T1, T2, and T3 of the preview stream 405, respectively. Accordingly, the base layer data corresponding to all streaming channels may be included in each time slice of the preview stream 405.
In
Referring to
Referring to
Referring to
In operation 720 the streaming method may divide hierarchically coded data for each channel in a time slice unit, and in operation 703 the streaming method may time-slice duration data for each channel.
In operation 740, the streaming method may transmit the data divided in the time slice unit, at a predetermined time. In this instance, in operation 740, the streaming method may transmit a main stream including base layer data and expansion layer data for each channel, for each time slice, and may transmit a preview stream including base layer data for all channels. In this instance, the main stream may signify a stream of transmitting, for a time slice interval for each channel, the base layer data and the expansion layer data which are collected during N-number of time-slices. Here, N is a total number of channels. The preview stream may signify a stream of transmitting a part or all of the base layer data for all channels to transmit the transmitted data for each time slice.
In operation 801, a mobile terminal may receive a time slice duration table for each channel. Specifically, the mobile terminal may receive, from a base station, the time slice duration table allocated for each streaming channel, and store the received time slice duration table in an internal memory.
In operation 802, the mobile terminal may select a channel intended to be viewed, and set a data reception duration for the selected channel. Specifically, when a specific channel is selected by a user, the mobile terminal may set the data reception duration of the selected channel based on the stored time slice duration table.
In operation 803, the mobile terminal may determine whether to be in the data reception duration for the selected channel, and in operation 804, when in the data reception duration, the mobile terminal may power on a data reception module. In this instance, when not in the data reception duration, the mobile terminal may determine whether a channel change request is received.
In operation 805, the mobile terminal may receive data for the selected channel, and perform a buffering on the received data. In this instance, the received data may include main stream data and preview stream data.
In operation 805, the mobile terminal may terminate the data reception, and power off the data reception module. Specifically, when the data reception is terminated, the data reception module may be powered off to enter a sleep mode to reduce a power.
In operation 806, the mobile terminal may decode data of the selected channel to output a broadcasting service of the selected channel on a screen.
In operation 807, the mobile terminal may determine whether the channel change request is received, and in operation 808, when the channel change request is received, the mobile terminal may withdraw, from the internal memory, base layer data of the selected channel.
In operation 809, the mobile terminal may decode the withdrawn base layer data to be displayed, and in operation 810, the mobile terminal may set a data reception duration for the changed channel.
Matters not described with reference to
As described above, the base layer data for all channels may be received and stored in the internal memory, and when the channel change request is received, the base layer data of the selected channel intended to be changed may be immediately displayed, thereby reducing the zapping delay.
The method described above may be recorded, stored, or fixed in one or more non-transitory computer-readable storage media that includes program instructions to be implemented by a computer to cause a processor to execute or perform the program instructions. The media may also include, alone or in combination with the program instructions, data files, data structures, and the like. The media and program instructions may be those specially designed and constructed, or they may be of the kind well-known and available to those having skill in the computer software arts. Examples of non-transitory computer-readable media include magnetic media such as hard disks, floppy disks, and magnetic tape; optical media such as CD-ROM disks and DVDs; magneto-optical media such as optical disks; and hardware devices that are specially configured to store and perform program instructions, such as read-only memory (ROM), random access memory (RAM), flash memory, and the like. Examples of program instructions include both machine code, such as produced by a compiler, and files containing higher level code that may be executed by the computer using an interpreter. The described hardware devices may be configured to act as one or more software modules in order to perform the operations and methods described above, or vice versa.
Although a few exemplary embodiments of the present invention have been shown and described, the present invention is not limited to the described exemplary embodiments. Instead, it would be appreciated by those skilled in the art that changes may be made to these exemplary embodiments without departing from the principles and spirit of the invention, the scope of which is defined by the claims and their equivalents.
Number | Date | Country | Kind |
---|---|---|---|
10-2009-0049819 | Jun 2009 | KR | national |
10-2010-0052320 | Jun 2010 | KR | national |
Filing Document | Filing Date | Country | Kind | 371c Date |
---|---|---|---|---|
PCT/KR2010/003612 | 6/4/2010 | WO | 00 | 9/2/2011 |
Publishing Document | Publishing Date | Country | Kind |
---|---|---|---|
WO2010/140867 | 12/9/2010 | WO | A |
Number | Name | Date | Kind |
---|---|---|---|
8050321 | Hannuksela | Nov 2011 | B2 |
20060085828 | Dureau et al. | Apr 2006 | A1 |
20070160133 | Bao et al. | Jul 2007 | A1 |
20080205529 | Hannuksela et al. | Aug 2008 | A1 |
20080304520 | Hannuksela et al. | Dec 2008 | A1 |
20090028079 | Song et al. | Jan 2009 | A1 |
20090041129 | Suh et al. | Feb 2009 | A1 |
20090268806 | Kim et al. | Oct 2009 | A1 |
20100223533 | Stockhammer et al. | Sep 2010 | A1 |
20110116491 | Kovacs et al. | May 2011 | A1 |
Number | Date | Country |
---|---|---|
2003-102008 | Apr 2003 | JP |
1020040071984 | Aug 2004 | KR |
Entry |
---|
International Search Report for Application No. PCT/KR2010/003612, dated Jan. 7, 2011. |
Number | Date | Country | |
---|---|---|---|
20120072955 A1 | Mar 2012 | US |