1. Field
Apparatuses and methods consistent with the exemplary embodiments relate to a recording medium, and a recording medium reproducing device and method for performing a trick play for data recorded on the recording medium, and more particularly, to a recording medium on which video data and additional information regarding a plurality of frames classified in units of layers are recorded, and a recording medium reproducing device and method for performing a trick play for the video data of the recording medium based on the additional information.
2. Description of the Related Art
With advancement in electronic technologies, various types of electronic devices have been developed and come into widespread use. Also, the sizes of contents that electronic devices can process have been greatly increased according to user needs for various contents. Specifically, a large amount of contents, such as various three-dimensional (3D) contents or ultra-high definition (UHD) contents, have also been used.
Such contents may be recorded and provided via various recording media. When a recording medium is loaded in a recording medium reproducing device, the recording medium reproducing device is capable of reproducing and outputting data stored in the recording medium. Examples of the recording medium may include a Blu-ray disc, digital versatile disc (DVD), a compact disc (CD), etc.
Such a recording medium reproducing device is capable of not only performing normal video reproduction but also performing a trick play function of reproducing a video at a high speed in a forward or backward direction for convenience of users.
However, a data structure for a trick play has not been defined in a related art. Accordingly, the playback speed of the trick play cannot finely or precisely be controlled.
One or more exemplary embodiments of the inventive concept overcome the above disadvantages and other disadvantages not described above. Also, the one or more exemplary embodiments are not required to overcome the disadvantages described above, and may not overcome any of the problems described above.
One or more exemplary embodiments provide a recording medium reproducing device and method for precisely and finely performing a trick play by classifying frames in units of layers and providing additional information regarding the frames.
According to an aspect of an exemplary embodiment, a recording medium reproducing device includes a driver configured to load a recording medium storing video data, including a plurality of video frames, and additional information about the plurality of video frames included in a plurality of layers, respectively, when the recording medium is loaded therein; a user interface configured to receive a trick play command; a video processor which processes the video data; and a controller configured to select at least one layer to be decoded from among the plurality of layers based on a trick play speed determined according to the trick play command and the additional information, control the video processor to decode video frames of the selected layer, and performs a trick play corresponding to the trick play speed using the decoded video frames.
The plurality of video frames are included in a first layer including at least one intra (I) frame and at least one predicted (P) frame, a second layer including at least one bidirectional reference (Br) frame that is a bidirectional (B) frame referred to by another B frame in coding or decoding, and a third layer including at least one B frame which is not a Br frame.
The plurality of video frames are included in a first layer including at least one intra (I) frame and at least one predicted (P) frame, a second layer including another at least one P frame, and a third layer including at least one B frame.
The additional information comprises information about a structure of video frames included in a group of pictures (GOP), coding information comprising information about the plurality of layers, and offset information indicating a location of the video frames to be decoded by the video processor in the plurality of video frames.
The recording medium may be a Blu-ray disc. The video data may be encoded using a high efficiency video coding (HEVC) and then be recorded on the Blu-ray disc. The controller may detect the additional information from at least one of stream information and random access point information included in clip information recorded on the recording medium.
According to an aspect of another exemplary embodiment, a trick play method performed by a recording medium reproducing device includes loading a recording medium storing video data, including a plurality of video frames, and additional information about the plurality of video frames included in a plurality of layers, respectively, when the recording medium is loaded in a driver; receiving a trick play command; detecting the additional information; selecting at least one layer to be decoded from among the plurality of layers based on a trick play speed determined according to the trick play command and the additional information, and decoding video frames of the selected layer; and performing a trick play corresponding to the trick play speed using the decoded video frames.
The plurality of video frames are included in a first layer including at least one intra (I) frame and at least one predicted (P) frame, a second layer including another at least one P frame, and a third layer including at least one B frame.
The plurality of frames may be classified into a first layer including an I frame and some P frames, a second layer including the other P frames, and a third layer including B frames.
The additional information comprises information about a structure of video frames included in a GOP, coding information comprising information about the plurality of layers, and offset information indicating a location of the video frames to be decoded by the video processor in the plurality of video frames.
The recording medium may be a Blu-ray disc. The video data may be encoded using the HEVC method and then be recorded on the Blu-ray disc. The controller may detect the additional information from at least one of stream information and random access point information included in clip information recorded on the recording medium.
According to an aspect of another exemplary embodiment, a recording medium includes a first region which stores video data comprising a plurality of frames included in a plurality of layers; and a second region which stores additional information, wherein the additional information comprises information about a structure of video frames included in a GOP, coding information comprising information about the plurality of layers, and offset information indicating a location of a video frame to be decoded.
The plurality of video frames are included in a first layer including at least one intra (I) frame and at least one predicted (P) frame, a second layer including another at least one P frame, and a third layer including at least one B frame.
The additional information comprises information about a structure of video frames included in a GOP, coding information comprising information about the plurality of layers, and offset information indicating a location of the video frames to be decoded by the video processor in the plurality of video frames.
According to an aspect of another exemplary embodiment, a non-transitory computer readable recording medium having recorded thereon a program for performing a trick play method is provided. The trick play method includes receiving a trick play command; detecting additional information from a recording medium which stores video data, comprising a plurality of video frames, and the additional information about the plurality of frames included in a plurality of layers, respectively; selecting at least one layer to be decoded from among the plurality of layers based on a trick play speed determined according to the trick play command and the additional information, and decoding video frames of the selected layer; and performing a trick play corresponding to the trick play speed using the decoded video frames.
The recording medium may be a Blu-ray disc. The video data may be encoded using the HEVC method, and then be recorded on the Blu-ray disc. The additional information may include information about video frames included in a GOP, HEVC information, and offset information.
As described above, according to various exemplary embodiments, a recording medium reproducing device may perform a trick play at various playback speeds designated by a user, based on additional information.
Additional and/or other aspects and advantages will be set forth in part in the description which follows and, in part, will be obvious from the description, or may be learned by practice of the inventive concept.
The above and/or other aspects will be more apparent by describing certain exemplary embodiments with reference to the accompanying drawings, in which:
Certain exemplary embodiments will now be described in greater detail with reference to the accompanying drawings.
In the following description, like drawing reference numerals are used for the like elements even in different drawings. The matters defined in the description, such as detailed construction and elements, are provided to assist in a comprehensive understanding of the inventive concept. Thus, it is apparent that the exemplary embodiments of the inventive concept can be carried out without those specifically defined matters. Also, well-known functions or constructions are not described in detail since they would obscure the inventive concept with unnecessary detail.
The recording medium 10 may be any of various types of media such as a Blu-ray disc, a holographic disc, a digital versatile disc (DVD), a compact disc (CD), a universal serial bus (USB) memory stick, an external hard disc, etc. The recording medium reproducing device 100 may be embodied as one independent device as illustrated in
Referring to
The driver 110 is configured to drive the recording medium 10 to detect data stored in the recording medium 10 when the recording medium 10 is loaded therein. When the recording medium reproducing device 100 is embodied as a device for reproducing data from an optical disc such as a Blue-ray disc, the driver 110 may include a tray for loading an optical disc thereon, a motor for rotating the optical disc, a connector connected to a main board to transmit or receive various data, a power connector to which power is supplied from a power supply device, an optical pickup unit for writing a signal to or reading a signal reflected from the optical disc by irradiating laser on the optical disc, an objective lens, a digital signal processor (DSP) for controlling overall operations of the driver 110 and operating the driver 110, a front end processor (FEP) for controlling a laser irradiation operation of the optical pickup unit and interpreting a received signal, etc.
Video data, additional information, etc. regarding a plurality of frames classified in units of layers may be recorded on the recording medium 10 loaded in the driver 110. When the recording medium 10 is loaded in the driver 110, the driver 110 may detect the video data and the additional information from the recording medium 10 by loading the recording medium 10. The detected data may be provided to the video processor 120 or the controller 130. The video data may be encoded according to a high-efficiency video coding (HEVC) method, and recorded on the recording medium 10. The HEVC is a next-generation video coding standard that is under discussion by the joint collaborative team on video coding (JCT-VT), organized by the ISO/IEC moving picture experts group (MPEG) and the ITU-T video coding experts group (VCEG). The compression performance of an image having a size of 8K*4K (7680×4320) when the image is coded using the HEVC is about twice than when the image is coded using the conventional MPEG4-AVC.
A video stream coded using the HEVC includes an intra or intra-coded (I) frame, a predicted (P) frame, a bidirectional (B) frame, etc. The I frame is a key frame that is directly compressed from a source. The I frame may be decoded independently without referring to other frames. The P frame is a frame configured based on information regarding a previous key frame. The B frame is a frame configured based on information regarding previous and subsequent I and P frames. I, P, and B frames included in video data recorded on the recording medium 10 may be classified in units of layers. The layer classification may be determined according to a decoding order. In other words, a frame that may be decoded independently or based on only a minimum number of other frames may be set to be a lower layer, and the other frames may be set to be upper layers. An example of the layer classification will be described in detail below.
The additional information may include a group of pictures (GOP) structure information, HEVC information, offset information, etc. The GOP structure information means information regarding whether a bidirectional reference (Br) frame is present in a GOP, the number of B frames present between adjacent I or P frames, the location of a Br frame among consecutive B frames, etc. The I frame means a frame consisting of only I-slices. The B frame and the Br frame mean frames consisting of only B-slices. The P frame means a frame consisting of only P-slices.
Also, the Br frame represents a B frame that may be referred to by another B frame among B frames decoded by referring to other frames. For convenience of explanation, non-reference B frames except for Br frames will be hereinafter referred to as B frames.
The HEVC information may include temporal identifiers (IDs) for I, P, and B frames, and so on. Temporal IDs may be differently set in units of layers. For example, when the temporal ID of a lowermost layer is 0, the temporal IDs of upper layers may be 1, 2, . . . , n, respectively.
The offset information may include information regarding an offset between an I, P, or B frame and a next I, P, or B frame in a decoding order, coding size information regarding I, P, and B frames to be read, etc.
The video processor 120 generates video frames by processing data detected by the driver 110. The video processor 120 may include a demultiplexer for detecting video data, audio data, and additional data relating to contents recorded on the recording medium 10, a video decoder for decoding video data, a scaler; an audio decoder that decodes audio data; a filtering unit for filtering noise; a signal amplifier for amplifying an audio signal; a data decoder for processing additional data; a rendering unit for generating an object based on decoded additional data; a mixer, etc. The video processor 120 may decode data detected by the driver 110 by using a codec corresponding to an encoding method used to encode the data recorded on the recording medium 10. A process of processing audio data is not illustrated in the drawings and is not described in the detailed description herein, for convenience of explanation.
The user interface 140 is configured to receive a trick play command. The trick play command is a command controlling a playback speed at which data stored in the recording medium 10 is to be reproduced. A trick play speed may be determined according to the trick play command. The user interface 140 may be embodied in any of various shapes, e.g., a button, a touch screen, a remote control signal receiver, etc. A user may input a trick play command via the user interface 140 while designating any of various playback speeds, e.g., 2×, 3×, 4×, etc. Specifically, the user interface 140 may differently determine a playback speed according to a number of times a button is selected. For example, the user interface 140 may determine a 2× trick play command when a button matching the trick play command is selected once, determine a 3× trick play command when this button is selected twice, and determine a 4× trick play command when this button is selected three times. Otherwise, a playback speed may be differently determined according to a time period that the button matching the trick play command is pressed. That is, the longer the button is pressed, the higher the playback speed may be set. In addition, different buttons may be set to match playback speeds, and a user interface (UI) screen may be displayed so that a user may select a desired playback speed on the UI screen.
When a trick play command is input to the controller 130, the controller 130 performs a trick play corresponding to a trick play speed determined by the trick play command. Specifically, the controller 130 selects a layer that is to be decoded from a video stream, based on the additional information. Then, the controller 130 controls the video processor 120 to decode video data of the selected layer. When the video data is decoded, the controller 130 performs a trick play corresponding to a trick play speed selected by a user, based on the entire decoded data or a part of the decoded data. If the recording medium reproducing device 100 is embodied as a Blue-ray disc reproducing device, a DVD reproducing device, or the like, the controller 130 selectively outputs frames corresponding to the entire decoded data or a part of the decoded data to an external display device. The external display device receives and displays the frames, thereby performing the trick play.
The recording medium reproducing device 100 may be embodied as a display device including a display unit (not shown). In this case, the controller 130 may perform the trick play by directly outputting selected frames via the display unit.
The controller 130 of
The controller 130 performs a predetermined-speed trick play by combining layers that are to be decoded according to a trick play speed selected by a user and then selectively outputting only a part of frames of the decoded layers. The controller 130 may selectively read, decode, and output only frames needed for a trick play (fast forward or fast reverse), based on the additional information described above. In particular, when video data is reproduced at a 4× speed or more, there may be some frames of the video data that are read and decoded but are not output. The controller 130 may skip reading and decoding by referring to temporal IDs according to a structure of a video stream. Thus, a trick play may be finely performed using P, B, and Br frames that cannot be used as random access points. Also, the controller 130 may detect length information of the I, P, and B frames, based on the offset information of the additional information. Thus, when the trick play is performed, starting points of the I and P frames may be detected using the offset information, and data required to perform the trick play may be read without performing parsing, based on the length information.
As illustrated in
Referring to
Such a video stream may be produced by a content producing device, a transmitting device, etc. Hereinafter, a device for producing a video stream will be referred to as a stream producing device. The stream producing device may set layers of frames in various ways according to exemplary embodiments. Also, the stream producing device may produce a stream to satisfy conditions below:
The stream producing device including the HEVC encoder 2000 encodes a video according to the conditions described above, and transmits the result of encoding the video. When streams are related to a broadcast program used in a broadcasting system, the GOP structure information and the HEVC information may be maintained with respect to all of the streams and the offset information may be variably transmitted among the additional information described above.
Accordingly, when the recording medium reproducing device 100 capable of receiving a video stream obtains GOP structure information and HEVC information for one video stream and has offset information for each of I or P frames, the recording medium reproducing device 100 may perform a trick play in a forward or backward direction.
Referring to
When a trick play command is input to the controller 130, the controller 130 may perform a trick play at a playback speed corresponding to the trick play command by reading, decoding, and outputting appropriate frames, based on the additional information described above.
When the stream 410 illustrated in
1. GOP structure information
2. HEVC information
3. Offset information
The controller 130 may detect the structure of a GOP, based on the GOP structure information, and selectively read, decode, and output at least one layer corresponding to a trick play speed selected by a user, based on the HEVC information and offset information.
The recording medium reproducing device 100 may obtain various information relating to a trick play from the additional information. A GOP may have any of various structures. Thus, a trick play may be performed in various ways according to a structure of a GOP.
Based on the GOP structure information, the recording medium reproducing device 100 of
A playback speed of the trick play may be set variously, e.g., 2×, pseudo 2×, 3×, 4×, 6×, 8×, 12×, 16×, . . . as illustrated in
As described above, a trick play may be supported in various ways according to the structure of a GOP. The recording medium reproducing device 100 may perform a trick play corresponding to a trick play speed selected by user by selectively outputting data of decoded frames.
In
According to the first stream 610, when a user selects a 2× playback speed, the controller 130 of
Specifically, when a 2× trick play command (fast forward or fast reverse) is input, the recording medium reproducing device 100 of
In the case of a 4× trick play, the recording medium reproducing device 100 first reproduces only the I frame I0. Then, the recording medium reproducing device 100 reads and outputs only the P frame P4 spaced by the offset 1 from the I frame I0. Then, the recording medium reproducing device 100 jumps to the location of the P frame P8 spaced by (offset 1+offset 2) from the I frame I0. When a next GOP is input to the recording medium reproducing device 100 while the recording medium reproducing device 100 continues data reproduction as described above, the recording medium reproducing device 100 reads and outputs an I frame. The controller 130 repeatedly performs this operation while the trick play is performed.
In the case of an 8× trick play, the recording medium reproducing device 100 first reproduces only the I frame I0. Then, the recording medium reproducing device 100 reads and decodes only the P frame P4 spaced by the offset 1 from the I frame I0, and stores the result of decoding the P frame P4 in the DPB. The video processor 120 decodes and outputs the subsequent P frame P8 by referring to the current P frame P4. Since the playback speed is 8×, the P frame P4 is decoded but is not output. Consequently, since the I frame I0 and the P8 frame P8 are output, the 8× trick play may be performed. The controller 130 repeatedly performs this operation while the trick play is performed. When a frame that is to be output is the I frame I0, the controller 130 does not need to read a current P frame. In this case, the controller 130 skips reading of P frames.
The trick play may be performed at various playback speeds as described above.
When a trick play is performed using only P frames at a playback speed of 4× or more, the trick play may be performed by decoding all of the P frames but some of P frames that do not need to be displayed may not be decoded. Thus, the decoding of the P frames that may not be decoded may be skipped, thereby decreasing a load on the decoder. In this case, the P frames may be classified into a first layer and a second layer.
In
If reproducing is performed at a playback speed, the recording medium reproducing device 100 may skip a decoding process when the temporal ID of a P frame that does not need to be displayed is greater than the temporal ID of a subsequent P frame. That is, when a trick play is performed at a 4× speed based on the steam of
Since the trick play performed on the streams of
As described above, the recording medium reproducing device 100 may perform a trick play at various playback speeds, based on various additional information. Such additional information may be more useful when a video stream is read from an optical disc that is limited in terms of a read speed.
Then, the recording medium reproducing device selects at least one layer to be decoded, based on the additional information and the trick play command, and then decodes data of the selected layer (operation S940). Although not illustrated in
An example of layers of frames included in the video data or the additional information, and a method of performing a trick play using the additional information have been described above in detail with reference to
As described above, the recording medium may be embodied as any of various media, such as a Blue-ray disc, a holographic disc, a DVD, a CD, a USB memory stick, an external hard disc, etc.
As described above, a layer structure of frames may be variously set according to an exemplary embodiment. Although a case in which frames are classified into three layers has been described above, frames may be classified into two layers or four layers or more.
Also, the additional information recorded in the second region 1020 may include GOP structure information 1011 regarding a video frame structure of a GOP, HEVC information 1012 regarding temporal IDs determined differently for layers, and offset information 1013 for designating a location to be performed in a subsequent process. A trick play method using the additional information has been described in detail with respect to the various embodiments above, and is not described again here.
Referring to
The clip 1140 includes a clip audio/video (AV) stream file which is a video stream file, and a clip information file which is an attribute file in the form of a database associated with the clip AV stream file. The clip information file stores a time stamp for an access point. The recording medium reproducing device (Blu-ray disc) may detect a location on which a video stream is to be read, based on access point information included in the clip information file.
The PlayList is an information structure indicating an order in which bit streams used for data reproduction are to be reproduced, and consists of a plurality of PlayItems. In general, a PlayList forms a content such as a movie or a drama, and a PlayItem forms one chapter of the content. PlayItems of a PlayList indicate the types of a video stream, an audio stream, a subtitle stream, a menu stream, etc. that are to be reproduced, and particularly, stream IDs (or stream numbers) and stream attributes of these streams. For example, the PlayItems indicate stream attributes, e.g., a video format, a frame rate, and subtitles in the case of video, and language code in the case of audio.
Various types of additional information stored in the recording medium according to the above embodiments are recorded on appropriate locations on the recording medium based on attributes thereof.
Referring to
The temporal ID information 1240 is used to read frames and determine an I or P picture that does not need to be decoded during a high-speed trick play. Also, coding size information 1260 of a current picture is used to determine an amount of data to be read after data access is performed using an offset. When the coding size information 1260 is used, whether reading is to be performed may be determined without performing data parsing. In addition, the information 1210 indicating whether a Br picture is present in a GOP or Br picture location information 1230 may be used to precisely calculate a playback speed (that is, whether the playback speed is, for example, 2× or pseudo 2×).
In general, the structure of the GOP may not change in the entire video stream. In this case, as illustrated in
The offset information is information regarding I pictures and P pictures included in a stream, similar to the random access point information, and thus, may be displayed as a part of the random access point information. Although
When the structure of the offset information illustrated in
As described above, the offset information may be represented in clip information, as a part of the random access point information, but may be inserted into a stream. In other words, if the offset information is inserted into SEI information before a GOP begins, a recording medium reproducing device may read and reproduce the offset information when a trick play is performed.
Although examples of a method of recording additional information on an assumption that a GOP does not change have been described with respect to the above embodiments, there may be a case in which the GOP changes. In this case, various types of additional information may be included in the random access point information.
A unit in which each of an offset and coding size information are expressed may be a byte, a source packet number (SPN), a sector, etc. Otherwise, the offset and the coding size information may be expressed in 3-sector unit that is a least common multiple of the SPN and the sector. A unit and amount of the offset information may be determined by various criteria such as content type or size.
As described above, additional information may be stored in a recording medium in various ways. A recording medium reproducing device may perform a trick play based on the additional information, as described above.
A trick play method may be performed by loading a recording medium storing a program for performing the trick play method in a recording medium reproducing device. Specifically, the program for performing the trick play method including receiving a trick play command; detecting additional information from a recording medium storing video data and the additional information regarding a plurality of frames classified in units of layers; selecting at least one layer to be decoded, based on a trick play speed designated according to a trick play command and the additional information, and decoding video data of the selected layer; and performing a trick play corresponding to the trick play speed based on the decoded data, may be stored in and provided via a non-transitory computer readable recording medium. Here, the selection of a layer to be decoded and decoding video data of the selected layer are performed with respect to video data corresponding to a duration of the trick play from among an entire video data stored in the recording medium, for example, during a period of a user's pressing a trick play button, according to an exemplary embodiment. That is, at least one layer of the video data corresponding to the duration of the trick play may be selected for decoding only when a user presses a trick play button. Also, only selected video frames among all video frames in the selected at least one layer corresponding to the duration of the trick play may be displayed.
The non-transitory computer readable recording medium means a medium capable of semi-permanently storing data and from which data can be read by devices, other than a medium capable of temporarily storing data, such as a register, a cache, and a memory. In detail, the non-transitory computer readable recording medium may be a CD, a DVD, a hard disc, a Blue-ray disc, a USB memory card, a read only memory (ROM), etc.
The foregoing exemplary embodiments and advantages are merely exemplary and are not to be construed as limiting the inventive concept. The present teaching can be readily applied to other types of apparatuses. Also, the description of the exemplary embodiments is intended to be illustrative, and not to limit the scope of the claims, and many alternatives, modifications, and variations will be apparent to those skilled in the art.
Number | Date | Country | Kind |
---|---|---|---|
10-2013-0036928 | Apr 2013 | KR | national |
This application claims priority from U.S. Provisional Application Ser. No. 61/648,184, filed on May 17, 2012, United States Patent and Trademark Office, and Korean Patent Application No. 10-2013-0036928, filed on Apr. 4, 2013, in the Korean Intellectual Property Office, the disclosures of which are incorporated herein by reference in their entirety.
Number | Date | Country | |
---|---|---|---|
61648184 | May 2012 | US |