The present invention relates to a Simple Aggregation Format (SAF) synchronization packet structure which multiplexes diverse element streams including LASeR element stream.
The Moving Picture Experts Group (MPEG) system standards includes a Binary Format for Scene (BIFS), which is a scene description standard for object-based free representation of diverse multimedia and interaction with users. The BIFS is what is acquired by modifying and supplementing the Virtual Reality Modeling Languages (VRML), which is a standard for representing a three-dimensional model, and making text data into binary data to raise transmission efficiency. When the BIFS is initially established, the major application fields of the BIFS were interactive broadcasting such as Electric Program Guide (EPG) or Internet applications such as games and portal web sites. However, most of the markets of the fields are already preoccupied with standards technologies specified for each field and there are few cases where the BIFS is applied.
Under the circumstances, an animation service in a mobile terminal emerges as a new application field for the BIFS. As for the technology for providing the animation service in mobile terminals, there is Scalable Vector Graphics (SVG), which is standardized in the Worldwide Web Consortium (W3C) and used as a mobile standard in a 3-generation Partnership Project (3GPP). Also, Korean mobile communication businesses are preparing or partially providing a Flash-based service, a technology which is widely used on the Internet. However, the SVG is text-based language and it has a low efficiency when data are transmitted or stored. The Flash technology cannot be used for a long time because it has a problem that subsequent services may be subordinated to a solution of a particular business company.
The BIFS-based animation technology is considered as an alternative that can resolve the two problems properly, but since the BIFS is not developed with a focus on the mobile application as its major application field, it has a problem that it has a somewhat high complexity.
It is, therefore, an object of the present invention to provide a configuration that can multiplex different elementary streams (ES) simply and effectively into data stream. The elementary streams includes Lightweight Application ScenE Representation (LASeR), video, audio, image, font, and metadata. Herein, the LASeR is used to define a new scene representation by using nodes and commands needed to represent simple two-dimensional animation contents which are considered to be used for mobile application among the functions of the Binary Format for Scene (BIFS). The size of a memory required by a program operating in a mobile terminal should be reduced to around 50 Kb, and the complexity requirement is reduced while the degradation in the performance is minimized by simplifying quantization technique requiring complex floating point computation.
In accordance with one aspect of the present invention, there is provided a structure for a Simple Aggregation Format (SAF) synchronization layer packet for multiplexing diverse elementary streams including a Lightweight Application ScenE Representation (LASeR) scene description elementary stream, the structure including: an SAF synchronization layer packet header; and an SAF synchronization layer packet payload, wherein the SAF synchronization layer packet header includes a field for providing time information needed when objects transmitted as the SAF synchronization layer packet payload compose a scene in a decoder; and the SAF synchronization layer packet payload includes a field for providing information on the type of an access unit and a field for providing identification information of an elementary stream to which the access unit belongs.
The objects, features and advantages of the present invention can be made clear from the following detailed description with reference to accompanying drawings and, thus, the technological concept of the present invention can be easily implemented by those of ordinary skill in the art to which the present invention belongs.
According to the present invention, diverse elementary streams can be multiplexed into data stream in a simple and effective manner by using a Simple Aggregation Format (SAF) synchronization layer packet structure having an access unit type and a stream identifier (ID) field. Also, since a Lightweight Application ScenE Representation (LASeR) scene description elementary stream is transmitted with relative elementary stream such as video and audio in the form of one data stream, data transmission can be synchronized. In addition, since the present invention accommodates a synchronization layer packet of the Moving Picture Experts Group 4 (MPEG-4) system, it can be easily integrated with the MPEG-4 system and it can utilize the advantage of the MPEG-4 synchronization layer packet such as the concept of an access unit or a degradation priority.
The above and other objects and features of the present invention will become apparent from the following description of the preferred embodiments given in conjunction with the accompanying drawings, in which:
Hereinafter, a preferred embodiment of the present invention will be described in detail with reference to the accompanying drawings.
The user terminal 20 includes a receiver 21, a SAF decoder 23, a LASeR scene decoder 25, and a renderer 29. The SAF decoder 23 receives the data stream received in the receiver 21 and generates LASeR scene description elementary stream, video elementary stream, audio elementary stream, image elementary stream, font elementary stream, and metadata elementary stream. The LASeR scene decoder 25 receives the LASeR scene description elementary stream among the outputs of the SAF decoder 23 and generates an SVG file or a LASeR XML file. The memory 25 stores elementary streams except the LASeR scene description elementary stream among the outputs of the SAF decoder 23, that is, it stores video elementary stream, audio elementary stream, image elementary stream, font elementary stream, and/or metadata elementary stream. The renderer 29 receives the SVG file or LASeR XML file and it receives diverse elementary streams stored in the memory 27, performs data processing, and provides a rich media data service.
Hereafter, fields composing a SAF synchronization layer packet header will be described.
Access Unit Start Flag (accessUnitStartFlag): When an accessUnitStartFlag value is 1, the first byte of the current SAF synchronization layer packet payload signifies the start of an SAF access unit. An access unit stands for data represented at a certain time. For example, a Video Object Plane (VOP) of video data corresponds to one access unit.
Access Unit End Flag (accessUnitEndFlag): When an accessUnitEndFlag value is 1, it signifies that the last byte of the current synchronization layer packet payload is the end of an SAF access unit.
Packet Sequence Number (packetSequenceNumber): a serial number is given with a modulo counter in the order that synchronization layer packetization is performed and the serial number is called a packet serial number. The packet serial number is checked in the SAF decoder and, if the number is discontinuous, it is regarded that one or more SAF synchronization layer packets are lost. When it happens, the error is informed to a module that consumes the synchronization layer packets, which is the SAF decoder 23, the LASeR scene decoder 25, or renderer 29 of
Degradation Priority (degradationPriority): The degradationPriority shows relative significance of an object transmitted as the payload of the current SAF synchronization layer packet. The information is used to compute graceful degradation of the transmitted object in the decoder. If the decoder does not have sufficient computational power to decode all the objects of a scene, the graceful degradation value of each object is determined based on the degradation priority. The smaller the degradationPriority value is, the larger the graceful degradation value of an object becomes. For example, the graceful degradation of an object within a synchronization layer packet ‘b’ having a degradationPriority of 10 is smaller than the graceful degradation of an object within a synchronization layer packet ‘a’ having a degradationPriority of 5.
Random Access Point Flag (randomAccessPointFlag): When a randomAccessPointFlag value is 1, it signifies that the data of an elementary stream transmitted as the current SAF synchronization layer packet payload are randomly accessible.
Composition Time Stamp (compositionTimestamp): The compositionTimeStamp signifies information on time which is required when objects transmitted as the SAF synchronization layer packet payload form a scene in a decoder. Composition time (tc) of the first composition unit of an access unit transmitted by the current synchronization layer packet is computed by composition time stamp existing in the current synchronization layer packet based on Equation 1.
t
c=(compositionTimeStamp/1000+k*232/1000) Eq. 1
where k denotes the number of time that a CompositionTimeStamp counter has wrapped around.
Although the stream identifiers (StreamID) of objects transmitted as two different synchronization layer packet payloads are different from each other, the composition time stamp values of the synchronization layer packets can be the same.
Access Unit Length (accessUnitLength): The accessUnitLength values denote the length of an SAF access unit within an SAF packet. When the SAF access unit is divided into several SAF synchronization layer packets, the accessUnitLength field transmits fragment size information of the SAF packets. Thus, the entire length of a complete SAF access unit can be known by adding all the values of the accessUnitLength field transmitting the fragments of a certain SAF access unit.
Access Unit Type (accessUnitType): The accessUnitType denotes the kinds of payloads that compose an SAF access unit. As shown in
Stream Identifier (streamID): The streamID indicates the unique identifier information for an elementary stream to which the current access unit belongs. For example, a video elementary stream includes such stream identifiers as video elementary stream 1, video elementary stream 2, video elementary stream 3, . . . , video elementary stream n.
Payload (payload): Payload is part of an access unit-based object data. The length of payload can be known by an accessUnitLength field information that forms an SAF synchronization layer packet header. Data of payload is divided by the accessUnitType which is shown in
For example, when an accessUnitType value is 0×01 or 0×02, the payload includes a simpleDecoderConfigDescriptor, such as an LASeR sceneHeader, mediaHeader, and fontHeader. Herein, mediaHeader includes a video header, an audio header or an image header.
When the accessUnitType value is 0×04, the payload includes an LASeR scene unit, a media unit, or font unit, and when the accessUnitType value is 0×06, the payload includes a cache unit. Herein, the media unit includes a video unit, an audio unit, or an image unit.
The simpleDecoderConfigDescriptor provides information on the decoder types of related elementary stream and decoder resources in need. The information is needed to determine whether or not a user terminal that has received an elementary stream can decode the received elementary stream. The stream type indicates the kind of stream and a certain decoder specific information descriptor includes stream specific information to prepare a decoder for a stream specific format of the current layer.
Object type indication (objectTypeIndication): The ObjectTypeIndication indicates information on the type of decoder needed to decode the current elementary stream object based on an object type indication (objectTypeIndication) table existing in the MPEG-4 System Standard Specification, i.e., ISO/IEC 14496-1. For example, it signifies whether an MPEG-4 System version 1 decoder is in need or an MPEG-4 System version 2 decoder is in need, in case of scene description data.
Stream Type (streamType): The streamType indicates the type of current elementary stream based on a streamType table defined in the MPEG-4 System Standard Specification, i.e., ISO/IEC 14496-1. For example, it discriminates whether elementary stream is of video data or audio data.
Buffer Size Database (bufferSizeDB): The bufferSizeDB indicates the size of decoding buffer for elementary stream on a byte basis.
Decoder Specific Informatiion (decSpecificInfo): The decSpecificInfo, which is a field including specific information needed to decode an elementary stream, can be composed in a plurality of array forms as demands arise. The decSpecificInfo value is determined based on the stream type and buffer size data bytes.
A cache unit, which is data that form a payload of a cache object packet, transmits Uniform Resource Locator (URL) and diverse elementary streams. If a user terminal requests a URL and it already has a proper cache unit to the requested URL, the user terminal does not inquire data to a server but it directly loads corresponding data that it already has by using the URL. The cache unit is stored in a memory as soon as it is searched out and the stored cache unit can be permanent. A cache object exists for duration defined by a reception time and a time obtained by adding second-based time presented in a composition time stamp field within a synchronization layer packet header to the reception time. After the duration passes, the valid period of the cache object finishes and an SAF content including the cache object cannot be executed.
Replace: When a replace value is 1, a previous cache unit is exchanged with a cache unit transmitted as the current synchronization layer packet payload with respect to the same URL. When the replace value is 0, a cache unit transmitted as the current synchronization layer packet payload is added to the previous cache unit having the same URL.
Permanent: When a permanent value is 1 and the user terminal has sufficient resources, the current cache unit is maintained in the user terminal even after the time defined in the composition time stamp of an SAF packet has passed.
URL Length (urlLength): The urlLength indicates the length of URL data in a positive integer, which is based on bytes.
URL (url): URL indicates URL data corresponding to a scene carried and transmitted within a payload.
Payload: payload is substantial data and the size of a payload field can be known by an access unit length of the synchronization layer packet header. When a specific scene is composed and the access unit type is 0×06, the payload data replace the current scene, or if the access unit type of payload is not 0×06, the payload data are added to the current scene.
While the present invention has been described with respect to certain preferred embodiments, it will be apparent to those skilled in the art that various changes and modifications may be made without departing from the scope of the invention as defined in the following claims.
Filing Document | Filing Date | Country | Kind | 371c Date |
---|---|---|---|---|
PCT/KR05/00158 | 1/17/2005 | WO | 00 | 1/22/2007 |
Number | Date | Country | |
---|---|---|---|
60590448 | Jul 2004 | US |