This application claims priority from Korean Patent Application No. 10-2006-0131953, filed on Dec. 21, 2006, in the Korean Intellectual Property Office, the disclosure of which is incorporated herein in its entirety by reference.
1. Field of the Invention
The present invention generally relates to a multimedia system, and more particularly, to encoding/decoding multimedia data with a preview function.
2. Description of the Related Art
In recent times, the number of services for downloading multimedia data such as movies has increased. With an increase in network bandwidth, the volume of multimedia content has also increased. However, multimedia content does not contain preview data. Conventional preview data is supplied in a separate stream by a multimedia provider. A user receives preview data separately, when downloading multimedia content.
As such, a user of a terminal cannot check the contents of the multimedia content until downloading is complete. Although a content server may transmit multimedia content in real time, the display quality of the multimedia content may be low due to current bandwidth constraints.
Moreover, in order to check the content of MP3 audio data, a user of a conventional MP3 player has to wait until the highlight of audio data has been completely downloaded and is played.
The present invention provides a method of encoding multimedia data, in which multimedia data is separately stored in different containers according to function in order to support various modes such as a slide show mode, a preview mode, an entire content view mode, and the like as well for sequential accessing during content playback.
The present invention also provides a method of decoding multimedia data, in which the multimedia data is grouped into a plurality of storage regions according to a play mode.
The present invention also provides an apparatus for encoding multimedia data using the method of encoding multimedia data.
The present invention also provides an apparatus for decoding multimedia data using the method of decoding multimedia data.
The present invention also provides a multimedia terminal using the method of encoding/decoding multimedia data.
According to one aspect of the present invention, there is provided a method of encoding multimedia data. The method includes setting a plurality of storage regions according to signal play modes, grouping multimedia data into a plurality of groups according to the signal play modes, and allocating the groups of multimedia data to the plurality of storage regions.
According to another aspect of the present invention, there is provided a method of decoding multimedia data that has been grouped into a plurality of storage regions according to signal play modes. The method includes setting a signal play mode, separating a storage region corresponding to the set signal play mode from the multimedia data in the set signal play mode, identifying frame data of the separated storage region, and decoding the identified frame data into the original signal.
According to another aspect of the present invention, there is provided an apparatus for encoding multimedia data. The apparatus includes a frame grouping information generation unit setting a plurality of containers according to signal play modes and generating header information for the containers, a frame information generation unit generating frame data information to be allocated to the containers, and a frame allocation unit allocating the frame data information to the containers.
According to another aspect of the present invention, there is provided an apparatus for decoding multimedia data that has been allocated to a plurality of containers according to signal play modes. The apparatus includes a container decoder separating the containers from a received stream according to the signal play modes and decoding header information added to the containers, a frame decoder extracting frame data from the containers decoded by the container decoder and extracting additional information of the frame data, and a data decoder decoding the frame data decoded by the frame decoder into a video/audio signal.
The above and other features and advantages of the present invention will become more apparent by describing in detail exemplary embodiments thereof with reference to the attached drawings in which:
Hereinafter, exemplary embodiments of the present invention will be described in detail with reference to the accompanying drawings. It should be noticed that like reference numerals refer to like elements illustrated in one or more of the drawings. In the following description of exemplary embodiments of the present invention, a detailed description of known functions and configurations incorporated herein will be omitted for conciseness and clarity.
Referring to
Referring to
The preview container stores only data of a frame to be independently displayed or data of a frame to be independently processed from among the contents. For example, as illustrated in
The buffering container stores frame data for providing a preview in the form of a moving picture. For example, as illustrated in
The play container stores the remaining frames that have not been configured as the preview. For example, as illustrated in
There may exist three play modes, i.e., a slide show mode, a preview mode, and a play mode according to the format of the data.
In the slide show mode, pictures are output onto a screen one by one using frame data stored in the preview container.
In the preview mode, a preview moving picture is displayed to the user using data of the preview container and data of the buffering container.
In the play mode, the full moving picture is output to the user according to a time order of the frames using data stored in all the three containers.
The extended multimedia data format further includes a play buffering container in addition to containers included in the new format illustrated in
Referring to
The container structure includes a header and frame data. The frame data varies with a signal play mode. In the header, container characteristic information such as a container type and a container length is recorded.
Referring to
The frame grouping information generation unit 610 sets a plurality of containers according to signal play modes and generates header information regarding each of the containers. For example, the frame grouping information generation unit 610 sets a preview container, a buffering container, and a play container.
The frame information generation unit 620 generates frame information such as a header and a next frame pointer for frame data to be contained in each container.
The frame allocation unit 630 allocates the frame information and the frame data to each container generated by the frame grouping information generation unit 610.
The stream generation unit 640 generates a file or a broadcasting stream signal based on frame data allocated to each container by the frame allocation unit 630.
Referring to
The reception module 710 receives a data stream which may be embodied as a file or a radio frequency (RF) signal. The reception module 710 extracts a bitstream from the RF signal or reads a stored file.
The container decoder 720 separates each container from a file or a bitstream received by the reception module and decodes header information of each container.
The frame decoder 730 extracts frame data from each container decoded by the container decoder 720 and extracts header information and next frame pointer information added to the frame data.
The data decoder 740 decodes frame data extracted by the frame decoder 730 to the original video/audio signal.
The output unit 750 displays the video/audio signal decoded by the data decoder 740 or plays the decoded video/audio signal as sound.
The user interface unit 760 interfaces with the user through a button or an on screen display (OSD) menu for the selection of a signal play mode or a selection of other functions.
The control unit 770 receives a user interface signal through the user interface unit 760 to control other components. The control unit 770 also determines a signal play mode of multimedia data received by the reception module 710.
First, in operation 810, a data stream and stream information are input by a content provider. The stream information may include the order of frames, the number of containers, and container types.
Next, in operation 820, a frame to which a header and additional information are added is generated.
In operation 830, a plurality of storage regions, e.g., a slide container, a preview container, a play container, and an extension container, are prepared according to signal play modes.
Next, frame data is grouped into a plurality of groups of frames, e.g., preview frames, buffering frames, play frames, and extension frames, according to the play mode.
The grouped frame data is read in operation 840 to check a frame type in operation 850.
At this time, if the frame type is a slide frame, the frames are allocated to the preview container in operation 862.
If the frame type is a preview frame, the frames are allocated to the preview buffering container in operation 864.
If the frame type is a play frame, the frames are allocated to the play container in operation 866.
If the frame type is an extension frame, the frames are allocated to the play buffering container in operation 868.
After completion of frame allocation to the containers, end-of-frame (EOF) information of a frame is detected and then container finalization is performed in operation 870.
First, in operation 910, a signal play mode is set through a user interface.
In operation 920, the set signal play mode is checked to determine the container to be read.
If the set play signal mode is a slide show mode, a preview container is read in operation 952. Next, frames of the preview container are sequentially output in operation 954. Output interval information is included in the header of the preview container.
If the set play signal mode is a preview mode, a preview container is read in operation 942. A frame stored in the preview container is decoded and played in operation 944. In operation 946, it is checked if there is a next frame by referring to additional information of the frame just played. In operation 948, if a next frame exists, it is checked in which container the next frame is stored. If the next frame is stored in the preview container or the preview buffering container, the frame stored in the preview container or the preview buffering container is decoded and played. If the next frame is stored in the preview play container, the next frame following a previously decoded frame in the preview container is decoded and played in operation 950. If a next frame pointer is included in a frame currently being played, a frame pointed by the next frame pointer is decoded. Otherwise, the next frame following the current frame is decoded.
If the set play signal mode is a play mode, it is checked in which container an initial frame to be played is stored. Thus, a container, generally the preview container, in which the initial frame is stored is read by referring to frame order information recorded in the header of a frame, in operation 932. In operation 934, the initial frame stored in the preview container is decoded and played. The next frame is read in operation 936 and it is checked if the next frame is the last frame in operation 938. If the next frame is not the last frame, the next frame is decoded and played. If the next frame is the last frame, frame playback is terminated. In this way, all the frames stored in the play container and the other containers are played. If there is a next frame pointer added to each frame, a frame pointed by the next frame pointer is decoded. Otherwise, the next frame following the current frame is decoded.
According to another exemplary embodiment of the present invention, the play mode may be preset by an application provider. In other words, if content using a new multimedia data format is downloaded over the Internet network, a play mode may be automatically executed as follows.
First, if content is downloaded over the Internet network, only data of the preview container is input and thus the data is output onto a screen in the slide show mode.
After the entire data of the preview container is downloaded, data of the buffering container is input. Thus, the data of the buffering container is output to the user successively from the data of the preview container has been output as a preview screen, i.e., highlights of the content are output in the form of a moving picture.
Once all of the data of the buffering container is downloaded, data of the play container is input. Thus, a full moving picture is output onto the screen. At this time, the starting point of the content may differ according to an average reception bandwidth. In other words, in the case of a low download bandwidth, playback may be interrupted during user's viewing. In this case, the data of the play container is further downloaded and then full content is sequentially output according to the time order.
As described above, according to the present invention, data efficiency can be improved because it is not necessary to transmit a separate stream of preview data. An internet movie theater requires a wide bandwidth to provide a high-quality service. Therefore, by transmitting preview data in advance and then sequentially transmitting remaining data with assignment of digital rights management (DRM), a high-quality service can be provided with a narrow bandwidth. Moreover, according to the present invention, various services can be provided at the time of downloading multimedia data. For example, during downloading of a multimedia moving picture, a slide show can be implemented using only intra frame data. If frame data of the buffering container is downloaded after all the infra frame data is downloaded, the user can view the preview. Upon finishing viewing the preview, the user can view the full moving picture.
In addition, if multimedia data is encoded according to the present invention, the terminal outputs preview data, e.g., the highlight of audio data that has been fully downloaded, in a file search mode. Therefore, the user can rapidly find a main file or an audio file.
Meanwhile, the present invention can also be embodied as computer-readable program stored on a computer-readable recording medium. The computer-readable recording medium may be any data storage device that can store data which can be thereafter read by a computer system. Examples of computer-readable recording media include read-only memory (ROM), random-access memory (RAM), CD-ROMs, magnetic tapes, floppy disks, optical data storage devices, and carrier waves. The computer-readable recording medium can also be distributed over a network of coupled computer systems so that the computer-readable program is stored and executed in a decentralized fashion.
While the present invention has been particularly shown and described with reference to exemplary embodiments thereof, it will be understood by those of ordinary skill in the art that various changes in form and detail may be made therein without departing from the spirit and scope of the present invention as defined by the following claims.
Number | Date | Country | Kind |
---|---|---|---|
10-2006-0131953 | Dec 2006 | KR | national |