U.S. patent application number 11/921657 was filed with the patent office on 2009-08-20 for novel use of (-)-epigallocatechin gallate.
Invention is credited to Daniel Raederstorff, Christoph Riegger, Frank Thielecke.
Application Number | 20090209636 11/921657 |
Document ID | / |
Family ID | 36764489 |
Filed Date | 2009-08-20 |
United States Patent
Application |
20090209636 |
Kind Code |
A1 |
Raederstorff; Daniel ; et
al. |
August 20, 2009 |
Novel use of (-)-epigallocatechin gallate
Abstract
An apparatus for generating a data stream having a series of
segments using data organized in subsequent data frames, a data
frame having more important and less important data. It comprises a
packetiser for packetising data from a data frame into the series
of segments having a first segment and a second segment, where the
packetiser is operative to packetise the data of the frame so that
a starting point of the more important data coincides with a
starting point of the first segment and an information block adder
for adding a first information block to the first segment.
Inventors: |
Raederstorff; Daniel;
(Flaxlanden, FR) ; Riegger; Christoph; (Bettingen,
CH) ; Thielecke; Frank; (Basel, CH) |
Correspondence
Address: |
NIXON & VANDERHYE, PC
901 NORTH GLEBE ROAD, 11TH FLOOR
ARLINGTON
VA
22203
US
|
Family ID: |
36764489 |
Appl. No.: |
11/921657 |
Filed: |
June 7, 2006 |
PCT Filed: |
June 7, 2006 |
PCT NO: |
PCT/EP2006/005140 |
371 Date: |
December 6, 2007 |
Related U.S. Patent Documents
|
|
|
|
|
|
Application
Number |
Filing Date |
Patent Number |
|
|
60750897 |
Dec 16, 2005 |
|
|
|
Current U.S.
Class: |
514/456 |
Current CPC
Class: |
H04L 1/0083 20130101;
H04L 29/06027 20130101; A61P 3/04 20180101; H04L 65/607 20130101;
H04L 65/602 20130101; A61P 3/00 20180101 |
Class at
Publication: |
514/456 |
International
Class: |
A61K 31/352 20060101
A61K031/352; A61P 3/00 20060101 A61P003/00; A61P 3/04 20060101
A61P003/04 |
Claims
1-10. (canceled)
11. A method for increasing the fat oxidation in mammals selected
from the group consisting of humans, cats, dogs and horses,
preferably in humans, said method comprising the step of
administering an effective dose of (-)-epigallocatechin gallate,
preferably in combination with an effective dose of a
sympathomimeticum, to said mammal which is in need thereof at least
half an hour before the intake of food, feed or beverage,
containing said fat whose oxidation is increased, by said mammal,
characterized in that the effective dose of (-)-epigallocatechin
gallate varies from 0.14 to 25 mg per kg body weight per day,
preferably from 2.0 to 9 mg per kg body weight per day, more
preferably from 4.0 to 9.0 mg per kg body weight per day, most
preferably from 4.0 to 4.5 mg per kg body weight per day.
12. A method for supporting the metabolization of fat in mammals
selected from the group consisting of humans, cats, dogs and
horses, preferably in humans, said method comprising the step of
administering an effective dose of (-)-epigallocatechin gallate,
preferably in combination with an effective dose of a
sympathomimeticum, to said mammal which is in need thereof at least
half an hour before the intake of food, feed or beverage by said
mammal, characterized in that the effective dose of
(-)-epigallocatechin gallate varies from 0.14 to 25 mg per kg body
weight per day, preferably from 2.0 to 9 mg per kg body weight per
day, more preferably from 4.0 to 9.0 mg per kg body weight per day,
most preferably from 4.0 to 4.5 mg per kg body weight per day.
13. A method for reducing the fat mass in mammals selected from the
group consisting of humans, cats, dogs and horses, preferably in
humans, said method comprising the step of administering an
effective dose of (-)-epigallocatechin gallate, preferably in
combination with a sympathomimeticum, to said mammal which is in
need thereof at least half an hour before the intake of food, feed
or beverage by said mammal, characterized in that the effective
dose of (-)-epigallocatechin gallate varies from 0.14 to 25 mg per
kg body weight per day, preferably from 2.0 to 9 mg per kg body
weight per day, more preferably from 4.0 to 9.0 mg per kg body
weight per day, most preferably from 4.0 to 4.5 mg per kg body
weight per day,
14. A method for reducing the weight of mammals selected from the
group consisting of humans, cats, dogs and horses, preferably in
humans, said method comprising the step of administering an
effective dose of (-)-epigallocatechin gallate, preferably in
combination with a sympathomimeticum, to said mammal which is in
need thereof at least half an hour before the intake of food, feed
or beverage by said mammal, characterized in that the effective
dose of (-)-epigallocatechin gallate varies from 0.14 to 25 mg per
kg body weight per day, preferably from 2.0 to 9 mg per kg body
weight per day, more preferably from 4.0 to 9.0 mg per kg body
weight per day, most preferably from 4.0 to 4.5 mg per kg body
weight per day.
15. A method for reducing the carbohydrate oxidation in mammals
selected from the group consisting of humans, cats, dogs and
horses, preferably in humans, said method comprising the step of
administering an effective dose of (-)-epigallocatechin gallate,
preferably in combination with a sympathomimeticum, to said mammal
which is in need thereof at least half an hour before the intake of
food, feed or beverage, containing said carbohydrate whose
oxidation is reduced, by said mammal, characterized in that the
effective dose of (-)-epigallocatechin gallate varies from 0.14 to
25 mg per kg body weight per day, preferably from 2.0 to 9 mg per
kg body weight per day, more preferably from 4.0 to 9.0 mg per kg
body weight per day, most preferably from 4.0 to 4.5 mg per kg body
weight per day,
16. The method according to claim 11, wherein said effective dose
of (-)-epigallocatechin gallate is administered to said mammal at a
point in time between half an hour and one and a half hour before
the intake of food, feed or beverages.
17. The method according to claim 11, further comprising the step
of said mammal performing physical activity.
18. A method for improving the flow mediated dilation in mammals
selected from the group consisting of humans, cats, dogs and
horses, preferably in humans, thereby contributing to a beneficial
effect on the coronary health, said method comprising the step of
administering an effective dose of (-)-epigallocatechin gallate to
said mammal which is in need thereof, characterized in that the
effective dose of (-)-epigallocatechin gallate varies from 0.14 to
25 mg per kg body weight per day, preferably from 2.0 to 9 mg per
kg body weight per day, more preferably from 4.0 to 9.0 mg per kg
body weight per day, most preferably from 4.0 to 4.5 mg per kg body
weight per day.
19. The method according to claim 11, wherein the mammals are
humans with a body mass index above 25.
20. The method according to claim 11, wherein the
(-)-epigallocatechin gaUate has a purity of at least 80%,
preferably of at] least 85%, more preferably of at least 90%.
21. A method for increasing the fat oxidation in mammals selected
from the group consisting of humans, cats, dogs and horses,
preferably in humans, said method comprising the step of
administering an effective dose of (-)-epigallocatechin gallate,
preferably in combination with an effective dose of a
sympathomimeticum, to said mammal which is in need thereof before
the intake of food, feed or beverage, containing said fat whose
oxidation is increased, by said mammal, characterized in that the
effective dose of (-)-epigallocatechin gallate varies from 0.14 to
25 mg per kg body weight per day, preferably from 2.0 to 9 mg per
kg body weight per day, more preferably from 4.0 to 9.0 mg per kg
body weight per day, most preferably from 4.0 to 4.5 mg per kg body
weight per day, and said method further comprising the step of said
itiammal performing physical activity.
22. A method for supporting the metabolization of fat in mammals
selected from the group consisting of humans, cats, dogs and
horses, preferably in humans, said method comprising the step of
administering an effective dose of (-)-epigallocatechin gallate,
preferably in combination with an effective dose of a
sympathomimeticum, to said mammal which is in need thereof before
the intake of food, feed or beverage by said mammal, characterized
in mat the effective dose of (-)-epigallocatechin gallate varies
from 0.14 to 25 mg per kg body weight per day, preferably from 2.0
to 9 mg per kg body weight per day, more preferably from 4.0 to 9.0
mg per kg body weight per day, most preferably from 4.0 to 4.5 mg
per kg body weight per day, and said method further comprising the
step of said mammal performing physical activity.
23. A method for reducing the fat mass in mammals selected from the
group consisting of humans, cats, dogs and horses, preferably in
humans, said method comprising the step of administering an
effective dose of (-)-epigallocatechin gallate, preferably in
combination with a sympathomimeticum, to said mammal which is in
need thereof before the intake of food, feed or beverage by said
mammal, characterized in that the effective dose of
(-)-epigallocatechin gallate varies from 0.14 to 25 mg per kg body
weight per day, preferably from 2.0 to 9 mg per kg body weight per
day, morel preferably from 4.0 to 9.0 mg per kg body weight per
day, most preferably from 4.0 to 4.5 mg per kg body weight per day,
and said method further comprising the step of said mammal
performing physical activity.
24. A method for reducing the weight of mammals selected from the
group consisting of humans, cats, dogs and horses, preferably in
humans, said method comprising the step of administering an
effective dose of (-)-epigallocatechin gallate, preferably in
combination with a sympathomimeticum, to said mammal which is in
need thereof before the intake of food, feed or beverage by said
mammal, characterized in that the effective dose of (->
epigallocatechin gallate varies from 0.14 to 25 mg per kg body
weight per day, preferably from 2.0 to 9 mg per kg body weight per
day, more preferably from 4.0 to 9.0 mg per kg body weight per day,
most preferably from 4.0 to 4.5 mg per kg body weight per day, and
said method further comprising the step of said mammal performing
physical activity.
25. A method for reducing the carbohydrate oxidation in mammals
selected from the group consisting of humans, cats, dogs and
horses, preferably in humans, said method comprising the step of
administering an effective dose of (-)-epigallocatechin gallate,
preferably in combination with a sympathomimeticum, to said mammal
which is in need thereof before the intake of food, feed or
beverage, containing said carbohydrate whose oxidation is reduced,
by said mammal, characterized in that the effective dose of
(-)-epigallocatechin gallate varies from 0.14 to 25 mg per kg body
weight per day, preferably from 2.0 to 9 mg per kg body weight per
day, more preferably from 4.0 to 9.0 mg per kg body weight per day,
most preferably from 4.0 to 4.5 mg per kg body weight per day, and
said method further comprising the step of said mammal performing
physical activity.
Description
BACKGROUND OF THE INVENTION
[0001] The present invention relates to the transmission of data
over error prone channels with fixed length data packages. It is
especially suitable for perceptual audio coding.
[0002] Modern audio coding methods such as e.g. MPEG Layer 3, MPEG
AAC or MPEG HE-AAC (MPEG=moving picture experts group, HE-AAC=high
efficient advanced audio coding) are capable of reducing the data
rate of digital audio signals by means of exploiting some
psycho-acoustical properties of the human ear. Hereby a block of a
fixed number of audio samples, called frame, is encoded to a
compressed bit stream representation of this fixed time interval.
The compressed audio frame will be transformed back to an audio
sample representation in the decoder. Since the difficulty to
encode an audio signal may vary for different audio frames, the
well-known bit reservoir technique allows exchanging bits between
the frames. Although the overall bit rate is constant, as a
consequence the length of the frames in the bit stream is variable.
The encoded frame has a part with side information containing
essential information for the decoder to interpret the compressed
data, followed by the compressed spectral data.
[0003] For transmission, the compressed audio frame has to be
embedded into a transport format such as e.g. the ADTS (ADTS=audio
data transport stream) or LOAS (LOAS=low overhead audio stream)
transport format for MPEG AAC. If there are errors in the
transmission, it will be possible for the decoder to
re-synchronize, due to sync-words, on the bit stream after the loss
of one or more frames. Since in modern audio codecs, spectral data
and parts of the side information is often entropy coded with code
words of variable length such as e.g. Huffman coding in MPEG AAC, a
single bit error is often sufficient for the decoder having to
discard the whole frame and to mute the output signal or use some
error concealment technique, e.g. noise insertion or interpolation
between intact frames or a combination thereof. If longer regions
of errors occur during the transmission, the decoder is still able
to re-synchronize on the bit stream, but it does not have
information about the number of frames that have been lost. In
addition to the concealment of multiple frames, this can lead to
audible time shift on the audio played back by the decoder or
dropouts due to buffer over- or under-runs. Especially over
error-prone channels, to keep a high quality of the transmitted
audio signal, it is extremely important to have a sophisticated
error-management available.
[0004] The invention is especially suited for the transmission over
error prone channels with fixed length data segments. Because of
the variable length of the frames, such as compressed audio frames,
a new frame for a well-known transport format such as e.g. the
already mentioned ADTS or LOAS formats usually starts at arbitrary
positions of the fixed length data segment. Therefore, in case such
a segment gets lost, which contains data of two consecutive frames,
both frames will be corrupt and must be replaced by an error
concealment strategy of the decoder.
SUMMARY OF THE INVENTION
[0005] In the following description, a data frame refers to a frame
of data from e.g. an audio codec such as MPEG-4 High Efficiency
AAC. This data frame can have varying length in bits, i.e. varying
size. Furthermore, the data frame is divided into several data
segments of constant size. There can be one or multiple constant
size segments for every data frame. Within the data segments of
constant size, data entities are present. These correspond to e.g.
Huffman code-words representing e.g. spectral data of the encoded
signal. The data segments contain several data entities. Some are
complete data entities, referred to as interpretable data entities,
and some are data entity fragments, which are in-complete data
entities not interpretable on their own.
[0006] Furthermore, in the following description, the transport
protocol header or the information block, refers to elements that
contain information to be able to identify the boundary of an
exemplary variable length audio data frame. In further embodiments,
it comprises information to make a single data segment
self-contained, i.e. the information describes the range of the
e.g. audio spectrum a certain data segment covers, and where in the
data segment the interpretable data entity begins, without
depending on valid reception of another data segment.
[0007] The present invention provides a method for efficient
transport of packaged data with variable length framing over error
prone channels with fixed length data segments. In a preferred
embodiment it is used for transmitting compressed audio data in
form of audio frames of variable length, in which it comprises the
following steps.
[0008] At an encoder: compressed audio data frames of arbitrary
size are mapped into fixed size data segments for a transmission
over an error prone channel; a transport protocol header or an
information block is inserted at the beginning of each data
segment; the transport protocol header or the information block
contains information to be able to identify the boundaries of a
variable length audio data frame and in further embodiments to
identify where in the data segment the interpretable data entity
begins; the above transport protocol header information or
information block can be coded in a very efficient manner down to a
single byte. This is achieved by exploiting certain parameter
inter-dependencies such that only cases with highest likelihood are
coded.
[0009] At a decoder: a transport handler receives the segments and
the information whether the transmission was successful or not, it
strips off the transport protocol header or the information block
and concatenates the data of each received frame which is then
passed to the decoder; for the case of data segment losses, the
transport protocol header or the information block contains
information to reconstruct the number of lost audio frames which
allows for a correct time synchronization; for the case of data
segment losses, the transport protocol header or the information
block contains information to make a single data segment
self-contained, i.e. the information describes the range of the
audio spectrum a certain data segment covers, without depending on
valid reception of another data segment. If this information is
passed to the decoder it can apply partial concealment methods
[0010] It is an object of the present invention to provide a
concept for obtaining an improved audio quality even in situations
of transmitting audio data over error prone channels.
[0011] In accordance with a first aspect of the invention, this
object is achieved by an apparatus comprising a packetiser for
packetising data from a data frame into a series of segments having
a first segment and a second segment, where the packetiser is
operative to packetise the data of the frame so that a starting
point of the more important data coincides with a starting point of
the first segment and an information block adder for adding a first
information block to the first segment. The apparatus comprises
furthermore an information block adder for adding a first
information block to the first segment.
[0012] In accordance with a second aspect of the invention, this
object is achieved by an apparatus for interpreting a data stream
having a series of segments with data of a data frame in a series
of subsequent data frames, the data frames having more important
and less important data, the series of segments having a first
segment with an associated first information block, and a second
segment. It comprises an error detector for detecting an erroneous
segment, and a frame reconstructor for reconstructing data of the
data frame by dropping the first information block and collecting
the data starting with data from a starting point of the first
segment, the starting point of the first segment coinciding with
the starting point of the more important data of the data
frame.
[0013] In accordance with a third aspect of the invention, this
object is achieved by a data stream comprising data of a data frame
of a series of subsequent data frames, the data frame having more
important and less important data, the data stream organized in a
series of segments. It comprises a first segment, a second segment
and a first information block, the first segment having a starting
point coinciding with a starting point of the more important data
of the data frame.
[0014] In accordance with a fourth aspect of the invention, this
object is achieved by a method for generating a data stream having
a series of segments using data organized in subsequent data
frames, a data frame having more important and less important data.
It comprises the following steps: packetising data from a data
frame into the series of segments having a first segment and a
second segment, where the packetiser is operative to packetise the
data of the frame so that a starting point of the more important
data coincides with a starting point of the first segment and
adding a first information block to the first segment.
[0015] In accordance with a fifth aspect of the invention, this
object is achieved by a method for interpreting a data stream
having a series of segments with data of a data frame in a series
of subsequent data frames, the data frames having more important
and less important data, the series of segments having a first
segment with an associated first information block, and a second
segment. It comprises the following steps: detecting an erroneous
segment, interpreting the first information block and extracting
information about the starting point of the data frame and
extracting information about the order of the data in the series of
segments and reconstructing data of the data frame by dropping the
first information block and collecting the data starting with data
from a starting point of the first segment, the starting point of
the first segment coinciding with the starting point of the more
important data of the data frame.
[0016] The invention also comprises a computer program for
implementing the inventive methods.
[0017] In summary, the present invention defines a new, efficient
transport format and it has a number of advantages. It lowers the
amount of lost data over an error prone channel significantly, and
is especially suitable for transmitting compressed audio data. This
is achieved by adding additional information to each segment that
is transmitted over the error-prone channel and by a re-ordering of
the data, which has the advantage that the most important
information like the Side Info data, which is essential to
re-construct the whole frame (see also below at FIG. 7), is located
in a single segment and hence decreases significantly the
likelihood of losing a whole frame in the case that only a single
segment is lost.
[0018] Further embodiments of the present invention provide
information about a data frame number by assigning different
counter values to different data frames. By interpreting the
counter values, the number of lost data frames can be identified.
Thereby, the problem of wrong time-synchronization is greatly
reduced.
[0019] In further embodiments of the present invention, the
information blocks carry information indicating entry points for
resuming to interpret the data output. Preferably, these entry
points are the first code words of a beginning scale factor band.
The scale factor bands define scale values for a region in the
spectral representation and contain spectral values of the frame
encoded into code words, which are sorted in ascending order of
their corresponding frequency values. The information about the
entry point contains an offset into the data stream, where a new
scale factor band starts. By choosing these entry points, the
overhead is lowered, since less information has to be transmitted.
Basically, other code words can also be taken, but then further
information has to be transmitted about which code word in which
scale factor band represents the entry point. In a very efficient
coding the information blocks comprise only a single byte or very
few bytes.
[0020] In the example of data frames representing compressed audio
frames, well-known procedures are concealments by interpolating the
data between intact audio frames or to replace the erroneous part
by a noise signal or simply to mute the output. The concrete choice
depends on the situation, e.g. whether a noise replacement is
tolerable or whether enough resources are available to perform a
sophisticated interpolation algorithm. The most significant
advantage of embodiments of the present invention is that, in the
best case, an erroneous segment results only in a loss of the data
transmitted in the this segment and all remaining data of the frame
can be decoded correctly.
BRIEF DESCRIPTION OF THE DRAWINGS
[0021] The present invention will now be described by way of
illustrated examples. Features of the invention will be more
readily appreciated and better understood by reference to the
following detailed description, which should be considered with
reference to the accompanying drawings, in which:
[0022] FIG. 1 illustrates the data segments with fixed length and
the compressed audio frames with variable length;
[0023] FIG. 2a illustrates the block diagram of a data transmission
over the transmission channel with fixed length data segments using
the present invention;
[0024] FIG. 2b illustrates the block diagram of a complete audio
encoding and decoding chain, including the transmission over the
transmission channel with fixed length data segments using the
present invention;
[0025] FIG. 3a-3c illustrates an example how information blocks are
distributed over multiple data segments, e.g. how one raw audio
frame plus the transport information is distributed over multiple
data segments, according to the present invention;
[0026] FIG. 4 illustrates the advanced concealment mechanism;
[0027] FIG. 5 illustrates two subsequent segments with information
blocks and the data entities;
[0028] FIG. 6 shows an information block comprising eight bits;
[0029] FIG. 7 gives a schematic view on an encoded audio frame.
DESCRIPTION OF PREFERRED EMBODIMENTS
[0030] The below-described embodiments are merely illustrative for
the principles of the present invention for improvement of
transmitting for example compressed audio over error prone channels
with fixed length data segments. It is understood that
modifications and variations of the arrangements and the details
described herein will be apparent to others skilled in the art. It
is the intent, therefore, not to be limited by the specific details
presented by way of the description and explanation of embodiments
herein.
[0031] FIG. 1 shows compressed data frames with variable lengths,
which are transmitted over channels of fixed segment size. In FIG.
1, a data frame d1, a data frame d2 and a data frame d3, which are
part of a data stream 102, are shown. In order to transmit them
over a channel 101 of fixed segment size, the data frames are split
into fixed sized segments of length d. The invention addresses the
above mentioned disadvantages of a transmission of compressed audio
over error prone channels with fixed length data segments by
defining a new, efficient transport format. Specifically, the
possibility of losing multiple frames if a segment comprising data
of two data frames is damaged during the transmission, which can
occur when the transmission is done over an error prone channel
with fixed length data segments, is excluded.
[0032] FIG. 2a shows schematically a flow of data according to the
present invention. The data is first input into a packetiser 210,
then sent to an information block adder 220 and after passing an
error-prone channel 230, the data enters an error detector 240,
which passes the data to an information block interpreter 250 and
finally to a frame re-constructor 260, that gives a data output
stream. The object of the invention is an apparatus and a method
for embedding an input data stream consisting of data frames of
variable length, as e.g. compressed audio frames, into the fixed
length data segments. Thus, in a first step, the packetiser 210
rearranges the data so that the output of the packetiser 210 are
data segments with a fixed size. The information block adder 220
adds an information block to each segment. By transmitting these
segments over the error prone transmission channel 230, several
segments may get distorted and the error detector 240 identifies
the erroneous segments. Information about a transmission error can
be obtained either from an underlying transport protocol or from
additional control information, which in embodiments of the present
invention are added to the data stream. After the erroneous
segments have been identified, the information block interpreter
250 reads the information blocks in order to reconstruct as much
information as possible from the data stream. This will be
explained in more detail at FIG. 3a-3c below. With this
information, the frame re-constructor 260 constructs non-corrupt
pieces of the original data frames and provides further information
about corrupt pieces so that a concealment can be applied to the
output stream, e.g. by an audio decoder as will be discussed in
more detail in the context of FIG. 4. The preferred size of the
segments is fixed by the underlying transport protocol, which
typically transfers data by dividing the data stream into segments
of fixed size. In other embodiments, the size of the segments can
be a multiple of the segment size of the underlying transport
protocol. This alternative embodiment has the advantage, that the
overhead due to the information blocks is less than for a segment
size equal to the segment size of the underlying transport
protocol. It has, however, the disadvantage of a possible loss of
more data.
[0033] FIG. 2b shows the method of embedding of variable length
audio frames into a fixed length data segments. A digital audio
input signal is fed to an arbitrary audio encoder 201. In a
packetiser 202, which comprises in this embodiment the packetiser
210 and the information block adder 220, a compressed audio frame
is rearranged and transport information, i.e. the information
block, according to the present invention, is added to variable
length compressed audio frames. The output of the packetiser 202 is
a series of data segments with a fixed size. By transmission of
these segments over the error prone transmission channel 230
several segments may get distorted. The de-packetiser 204 strips
off the transport information, i.e. the information block according
to the present invention, and reorders the bitstream according to
its original representation before modification by the packetiser
202. The compressed audio frame is then fed through an audio
decoder 205 that calculates one frame of digital audio output
samples. Since the audio decoder 205 gets additional information
from the de-packetiser 204 on which parts of the bitstream
representation of the audio frame that are corrupt, it can do a
partial concealment by normal decoding of non-corrupt segments and
concealing only the part of the frequency spectrum that corresponds
to a corrupt segment.
[0034] FIG. 3a shows an example of a data frame of the data stream
301 and the splitting into different segments. Seg#-1 is the first
segment comprising data of the data frame and the remaining data is
in this embodiment distributed over the segments: Seg#0 to Seg#3.
Each segment has, according to the present invention, a fixed
length and has furthermore an information block. The information
block of Seg#0 is denoted by 302 and 304 denotes the information
block of Seg#1.
[0035] The present invention teaches that when the essential data
in a data frame, required to be able to decode the rest of the data
in a data frame, is stored at a beginning of that frame, this data
should be put at the beginning of a new data segment. For
compressed audio data, for example, this is the case, i.e.
information necessary to reconstruct the audio frame is stored at a
beginning of a frame (see FIG. 7 below). Storing the essential data
at the beginning of a new data segment ensures that the decoder
does not have to conceal two consecutive data frames in case of a
single segment loss, as will be clear from the following
example.
[0036] According to a preferred embodiment of the present invention
data of a data frame, sorted in an order X.sub.0, X.sub.1 . . .
X.sub.m, starts with a new segment Seg#0 comprising data X.sub.0 .
. . X.sub.i (being the more important data needed to be able to
decode the rest of the data in the data frame) and subsequent data
are stored according to the following order. Seg#-1 comprises the
data X.sub.i+1 . . . X.sub.j, Seg#1 comprising the data X.sub.j+1 .
. . X.sub.k, Seg#2 comprising the data X.sub.k+1 . . . X.sub.l, and
Seg#3 comprising the remaining data X.sub.l+1 . . . X.sub.m. (cp.
FIG. 3a). This re-ordering avoids the risk of having to conceal two
consecutive data frames in case of a single segment loss, since if
the Seg#-1 in FIG. 3a is damaged and if the first data stored in a
data frame comprises essential information about the data in the
data frame, the following segments Seg#0 to Seg#3 cannot be decoded
correctly.
[0037] To distinguish between data segments comprising the start of
a new data frame (Seg#0) and succeeding segments comprising
additional parts of the data frame (Seg#-1, Seg#1-#3), the
different segment types are signalled, e.g. in the information
block 302 and 304, respectively. Since the beginning of the data
frame (i.e. the essential information) was put in Seg#0 in FIG. 3a,
the Seg#-1 needs to be filled with data following the essential
data from the data frame. Hence, the rest of the incomplete
previous segment Seg#-1 that has been left over by a previous data
frame is filled up with parts of the bit stream data (X.sub.i+1 . .
. X.sub.j) of the current data frame. An offset pointer 303,
contained in the information block 302 of the first segment of the
data frame, points to the start of this data in the previous
segment Seg#-1. A concrete embodiment of the transmission of
compressed audio frames of an aacPlus bitstream over data segments
with a fixed length and information blocks comprising eight bits is
given below.
[0038] In a preferred embodiment of the present invention the
information blocks are preceding the raw data stored in each
segment and provide an indication of a next possible entry point
and an offset pointing to the position belonging to the signaled
entry point. This allows for extracting data, e.g. by a decoder
that decodes spectral data of an audio frame, even if a previous
segment has been corrupted by an erroneous transmission. In FIG.
3a, a pointer 305 gives an example. At the entry points a new
interpretable data entity starts. Observing the example where the
data stream comprises a stream of compressed audio frames, where
the spectral data is coded with code words of variable length, this
would require signaling the offset from the start of the segment to
the next possible entry point with the precision of one bit. This
increases the number of positions to be signaled. However, the
present invention teaches that it is not necessary to consider
signaling all possible combinations of entry point identifications
and entry point offsets. In order to keep a low overhead, also
signaling only a subset comprising e.g. the most probable values is
possible, which results in a reduction of the number of frames that
need to be concealed completely and hence the perceived audio
quality is improved compared to prior art methods.
[0039] For the case of transmitting compressed audio data, possible
entry points are basically any beginning of a new code word. But to
keep the overhead as small as possible, in a preferred embodiment,
the entry points will be as mentioned above the beginning of a
scale factor band and the information blocks will provide
information about the scale factor band. If the main issue is to
provide a maximum in data error robustness, and the size of a
bigger overhead is tolerable, the information blocks can also
indicate multiple entry points, that do not necessarily coincide
with the beginning of a scale factor band.
[0040] In a further embodiment, the information block of Seg#0 has
a frame counter value that is increased with every new data frame.
This mechanism allows for a re-synchronization in case more
segments get lost. The information blocks for the other segments
not belonging to the start of the data frame, as e.g. 304, are
different from the first segment information block 302.
[0041] FIG. 3b and FIG. 3c define more clearly the different
aspects of the information blocks, for the example that the data
frames comprise compressed audio data.
[0042] FIG. 3b shows the Seg#1 comprising the data X.sub.j+1 . . .
X.sub.k with its information block 304 and a part of the Seg#2
comprising the data X.sub.k+1 . . . X.sub.l with the information
block 306 and a part of Seg#0. In this example, the compressed
audio data is organized in different scale factor bands (SFB),
comprising spectral values of the frame encoded into code words
(CW), which are sorted in ascending order to the corresponding
frequency values. After the information block 304, the first data
in Seg#1 comprises the code word CW.sub.z-1 and the code word
CW.sub.z belonging to the scale factor band SFB.sub.a. The
remaining code words belonging to this scale factor band are in the
preceding segment Seg#0, where the last code word CW.sub.z-1 is
shown. The next scale factor band, SFB.sub.a+1, with the code words
CW.sub.0, CW.sub.1 . . . starts at the position X.sub.b. The
information block 304 comprises the information about the starting
point of the scale factor band SFB.sub.a+1, that means the bit
value X.sub.b and information I.sub.b to identify the scale factor
band. One further bit indicates that the position X.sub.b is a
pointer within Seg#1, i.e. it is a forward pointer into the same
segment to which is information block is associated. This one-bit
signal has in this embodiment the value 0. The next segment, the
Seg#2, has an information block 306. This information block
contains again the bit value of an entry point X.sub.c in
conjunction with the information I.sub.c, which identifies the
scale factor band to which the entry point belongs, and a one-bit
signal, which has the value 0 indicating again that the position
X.sub.c is a pointer into the current segment, Seg#2 (this position
is not shown in the figure).
[0043] FIG. 3c explains in more detail the information block 302,
which is the information block of the Seg#0 comprising the data
X.sub.0 . . . X.sub.i. This information block is different from all
other information blocks belonging to the current data frame. FIG.
3c shows the Seg#0 and Seg#-1 comprising the data X.sub.i+1 . . .
X.sub.j, and a part of Seg#1. In this embodiment of the present
invention, the first data of the data frame is in Seg#0 and starts
with a side information block (SIDE INFO) followed by the spectral
data, again organized in a subsequent series of scale factor bands
comprising spectral values of the frame encoded into code words.
The first scale factor band SFB.sub.1 comprises the code words
CW.sub.0, CW.sub.1, etc. The Seg#0 comprises the spectral data up
to the code word CW.sub.a belonging to the scale factor band
SFB.sub.a, and the subsequent code words are included in the
Seg#-1, that means starting with a code word CW.sub.a+1 followed by
the code words CW.sub.a+2, . . . . In this case, the pointer in the
information block 302 does not point to a position within Seg#0,
but instead comprises the information about the location X.sub.a,
where the code words CW.sub.a+1 starts. The segment Seg.#-1 has an
information block 301 comprising a pointer X.sub.p, giving the bit
value for a starting point of an entry point, and the information
I.sub.p identifying the corresponding scale factor band. The
spectral data before the point X.sub.a do not belong to the current
data frame. The information block 302 comprises moreover a frame
counter value f#, which assigns a value to each data frame. In
embodiments of the present invention, this frame counter value
wraps around after a certain value, i.e. it assigns different
counter values only to data frames belonging to a group of data
frames. In an example given below, this group of data frames
comprises six frames, i.e. this counter value comprises the numbers
0 . . . 5. The information block 302 comprises again a one-bit
signal, which identifies this information block as the one
comprising pointer to the location in the bit stream after which
data of the current frame are stored. Thus, the corresponding
pointer points backwards into a preceding segment, the Seg#-1. In
the this embodiment, it has the value 1 and hence the information
block 302 differs from the information block 304 and all other
information blocks (as e.g. 304) within this data frame, where the
one-bit signal has the value 0.
[0044] Summarizing, in a preferred embodiment of the present
invention the transmitted data is compressed audio data and FIG.
3a-3c shows one audio frame embedded together with transport
information according to the present invention into the fixed
segment length transmission channel. In each segment a small amount
of transport information is preceding the raw audio data stored in
this segment. In the invention an audio frame always starts with a
new segment Seg #0, avoiding the risk of having to conceal two
consecutive audio frames in case of a single segment loss. With the
transport information 302 and 304 it is possible to distinguish
between data segments containing the start of a new audio frame
(Seg #0) and succeeding segments containing additional parts of the
exemplary compressed audio frame (Seg #1-#3). The distinction is
done by signaling the segment type in the transport information 302
resp. 304 (the "0" or "1" values in FIGS. 3b, 3c). The rest of the
incomplete previous segment Seg #-1 that has been left over by the
previous audio frame is filled up with parts of the bitstream data
of the current frame. An offset 303 in FIG. 3a contained in the
transport information 302 of the first segment of an audio frame
points to the start (X.sub.a in FIG. 3c) of this data in the
previous segment Seg #-1. In addition, in the transport information
of the segment with the start of the audio frame, there is a small
frame counter (f# in FIG. 3c) that is increased with every new
audio frame. This mechanism allows for an immediate
re-synchronization in case of segments get lost. Because of the
frame counter f# the number of lost audio frames is always known,
the problem of wrong time-synchronization is greatly reduced. The
transport information for the other segments not belonging to the
start of the audio frame 304 is different from the first segment
transport information 302. An indication ("I" in FIG. 3b) of the
next possible entry point and an offset (X.sub.b in FIG. 3b)
pointing to the position belonging to the signaled entry point
allows the decoder to continue decoding the spectral data even if
the previous segment has been corrupt by the erroneous
transmission. There might be cases where the spectral data is coded
with code words of variable length. This would require signaling
the offset from the start of the segment to the next possible entry
point bit exact, which increases the number of positions to be
signaled. It is not necessary to consider signaling all possible
combinations of entry point identification and entry point offset.
In order to keep a low overhead, also signaling only a subset
comprising the most probable values is possible and results in a
reduction of the number of frames that need to be concealed
completely and hence improve the perceived audio quality.
[0045] In FIG. 4 the advantage of partial concealment is
illustrated. It shows a spectral representation of three
consecutive data frames as for example audio frames: a data frame
401, a data frame 402 and a data frame 403. In this example, a data
segment in the data frame 402 is lost because of an erroneous
transmission, while the previous data frame 401 as well as the next
data frame 403 are error-free. Usually, either the whole data frame
402 is lost or in the best case all spectral data after the
position in the spectrum corresponding to the lost data segment is
not available and has to be estimated. According to embodiments of
the present invention, the additional information about possible
entry points for extracting of data, as e.g. the decoding of
spectral data, allows to skip the corrupt segment e.g. during
decoding, losing only a small part of the data (e.g. spectral
data). With help of the known data (e.g. spectral data) of the
previous data frame 401 and the following data frame 403, a
replacement for the missing part of the spectral data has to be
calculated by an error concealment algorithm. In the example of
data frames representing compressed audio frames, well-known
procedures are concealments by interpolating the data between
intact audio frames or to replace the erroneous part by a noise
signal or simply to mute the output. The concrete choice depends on
the situation, e.g. whether a noise replacement is tolerable or
whether enough resources are available to perform a sophisticated
interpolation algorithm.
[0046] FIG. 5 shows an embodiment for a digitalized data stream
500, where the information blocks carry information about possible
entry points. It comprises a segment 510 with an information block
505, another segment 520 with an information block 515 and a
following segment has an information block 525. The information in
the data stream 500 is organized in code words, a first code word
530 is not completely depicted, since it starts in a preceding
segment, a next code word is 535, followed by a code word 550, a
code word 560 extends over the segment boundary of the segments 510
and 520, and the last depicted code word is a code word 570, which
starts in segment 520 and extends to the following segment (not
shown in FIG. 5). In embodiments of the invention, the information
block 505 carries information about possible entry points for the
case that the preceding segment has been lost so that, e.g. a
decoder can resume decoding of data. In the preferred embodiment
the information in the information block does not point to a first
code word in a given segment, but instead to a first code word at a
beginning of a scale factor band, see discussion in the context of
FIG. 3b and FIG. 3c. In the example shown in FIG. 5, the scale
factor band starts at a point 540 and the information block has a
pointer 505 to the entry point representing data of a new scale
factor band. In the information block 515 of the segment 520, a
pointer 565 points to the entry point, where the code word 570
begins. Again, this entry point represents preferably a starting
point of a scale factor band, i.e. the bit in the data stream,
where a new scale factor band starts. In the example depicted in
FIG. 5, the code word 570 extends into the following segment and
the information block 525 gives a pointer 575, where this code word
ends and a new one begins.
[0047] FIG. 6 shows an example of an information block 600
comprising eight bits 610 . . . 680. One of these bits, for example
610, will signal whether the remaining bits, 620 . . . 680, carry
information about the starting point of the data frame or whether
the remaining bits, 620 . . . 680, carry information about possible
entry points, i.e. define pointers into the segment. If the size of
the segment as measured in bits is bigger than seven bits, there
are certain positions of possible entry points that cannot be coded
in the information block. Thus, it can occur that for special
segments, no entry points can be defined. A concrete realization of
such an information block is given below.
[0048] FIG. 7 gives a schematic view on a data frame 700 that has
been generated by an audio encoder as e.g. MPEG HE aac. In such
case, each data frame from an audio encoder comprises a Side Info
data, which includes essential information necessary for the
decoder to interpret the data frames correctly as e.g. the coding
format and code lookup tables that combine the values of a certain
scale factor band index indicating the start scale factor band of
the succeeding spectral data. This Side Info data is located at the
beginning of the data frame, followed by the main information part,
which contains the spectral data encoded into code words of
variable length and grouped into different scale factor bands
containing spectral values of the frame, which are rescaled with a
scale value and encoded into code words, which are sorted in an
ascending order of the corresponding frequency values. In FIG. 7
only three code words are shown, a code word 710, a code word 720,
and a code word 730.
[0049] In summary, the present invention defines a new, efficient
transport format. It lowers significantly the amount of lost data
over an error prone channel and is especially suitable for
transmitting compressed audio data. A re-ordering of the data is
done, which has the advantage that the most important information
like the Side Info data, which is essential to re-construct the
whole frame, is located in a single segment and hence decreases the
likelihood of losing a whole frame. In further embodiment
additional information to each segment is added that is transmitted
over the error-prone channel and this information indicates entry
points for resuming to interpret the data output. Preferably, these
entry points are the first code words of a beginning scale factor
band. The scale factor bands define scale values for a region in
the spectral representation and contain spectral values of the
frame encoded into code words, which are sorted and the order of
the code words is given by an order of the spectral values sorting
form a lowest value followed by subsequent higher values. The
information about the entry point gives the bit of the data stream
where a new scale factor band starts, and which scale factor band
it is. By choosing these entry points, the overhead is lowered,
since less information has to be transmitted. Basically, other code
words can also be taken, but then further information has to be
transmitted in order to identify the code word within the scale
factor band. In a very efficient coding the information blocks
comprise only a single byte or very few bytes. With the low
overhead, it may not be possible to indicate all entry points or
only certain positions of entry points can be indicated. E.g. if
the number of bits of the information block is small, only
positions in a part of a segment can be indicated. In the cases,
that no entry points can be given, the information block remains
empty or an escape value is given.
[0050] Embodiments of the invention provide furthermore information
about a data frame number by assigning different counter values to
different data frames. By interpreting the counter values, the
number of lost data frames can be identified. Thereby, the problem
of wrong time-synchronization is greatly reduced.
[0051] In further embodiments, the information blocks comprise
additional redundancy information, in order to identify erroneous
segments after the transmission. This can be, e.g., CRC, parity
bits, etc. This error detection is in addition to the usual error
detection mechanisms of the underlying transport protocol, as e.g.
ADTS or LOAS. In addition, in preferred embodiments the size of the
information blocks, as measured in bits, is fixed for all
information blocks. Since the segment size is also fixed in
preferred embodiments, this means that also the data stored in each
segment has a fixed size.
[0052] In the example of data frames representing compressed audio
frames, well-known procedures are concealments by interpolating the
data between intact audio frames or to replace the erroneous part
by a noise signal or simply to mute the output. The concrete choice
depends on the situation, e.g. whether a noise replacement is
tolerable or whether enough resources are available to perform a
sophisticated interpolation algorithm. By interpreting the counter
values of intact frames, multiple erroneous frames can be
identified and an error concealment for the multiple erroneous
frames can be applied. The error concealment can be performed
either for the compressed audio data, e.g. by replacing the
corresponding code words, or after decoding by replacing the
erroneous parts of the corresponding audio signals.
[0053] The most significant advantage of embodiments of the present
invention is that, in the best case, an erroneous segment results
only in a loss of the data transmitted in the this segment and all
remaining data of the frame can be reconstructed by employing a
error concealment.
[0054] In other embodiments, the size of the segments can be a
multiple of the segment size of the underlying transport protocol.
This alternative embodiment has the advantage, that the overhead
due to the information blocks is less than for segment size equal
to the size of the segment size of the underlying transport
protocol. It has, however, the disadvantage of a possible loss of
more data.
[0055] To further clarify the above-described invention in a
further embodiment, the transmission of compressed audio frames of
an aacPlus bitstream over data segments with a fixed length is
described in detail. In the example the length of a data segment is
168 Bits and a new segment arrives every 20 ms. Thus the overall
data rate is 168 bits/20 ms=8400 bit/s. Each 20 ms a segment starts
with a one byte information block. An aacPlus audio frame always
starts right after the information block with the aacPlus Side Info
data (including the side info data needed to decode the AAC
spectral data). The aacPlus side info data is followed by the AAC
spectral data. The spectral data is ordered from the 0 spectrum
line up the maximum spectral line.
[0056] If a 20 ms segment comprising the aacPlus side info was
lost, the entire audio frame would need to be concealed by the
aacPlus decoder. If however one of the 20 ms segments not
comprising the aacPlus Side Info data is lost, only parts of the
spectrum would have to be concealed. This is possible because the
information block includes information to specify the part of the
spectrum that is covered by that 20 ms segment.
[0057] The structure of an data segment is shown in Table 1 and
Table 2 shows the structure of an information block. The
description of the solution by means of pseudo code:
TABLE-US-00001 TABLE 1 Structure of one 20 ms segment NBits Notes
segment( ) { transport_header ( ) 8 raw_payload ( ) 160 }
TABLE-US-00002 TABLE 2 transport Header( ) Nbits Notes if
(audio_frame_start) { 1 framecnt_offset_code 7 } else {
scfb_offset_code [seg] 7 The choice of the code table is dependent
on the segment, counted from the first segment of the current frame
}
[0058] The expressions in the Tables comprise the following
information.
raw_payload( ) contains raw aacPlus audio payload data. The
de-multiplexer shall concatenate the raw payload chunks belonging
to one audio frame and pass on the complete raw audio frame to the
aacPlus decoder. transport_header( ) contains all information
needed for the de-multiplexer to identify audio frame boundaries
and in case of transmission errors the number of missing audio
frames and the parts of the missing spectrum. Information on the
missing data shall be passed on to the decoder in order to steer
the advanced concealment algorithm. audio_frame_start is a flag to
indicate the start boundary of an aacPlus audio frame, i.e. if this
value is for example true, it represents an information block for
Seg.#0 (see FIG. 3a) and if this value is for example false, the
information block belongs to one of the remaining segments of the
data frame. framecnt_offset_code is a code that combines the values
of a aacPlus frame counter value framecnt ranging from 0-5 and an
offset value ranging from 0-20. The code is added, for example, to
the information block 302 is calculated by the following
formula:
code=21.times.framecnt+offset.
[0059] With the above-mentioned range for the framecnt and for the
offset, the code has 126 possible values, which can be encoded by
seven bits assigned to framecnt_offset_code in the information
blocks. The aacPlus audio frame sequence counter value allows
specifying the number of missed audio frames. It is increased by
one for each audio frame. The audio frame counter framecnt is
wrapped around at a value of 6, i.e. the max value is 5. The offset
value points to the spectral data content of the previous 20 ms
segment. It points in backward direction with a value given in
bytes, an offset value of 0 indicates that the previous 20 ms
segment did not contain any spectral data belonging to this audio
frame.
scfb_offset_code [seg] are added, for example, to the information
block 304 are specified by code lookup tables that combine the
values of a certain scale factor band index indicating the start
scale factor band of the succeeding spectral data plus an offset
pointer to the spectral data content of the current segment. The
code lookup tables depend on the number of the segment following an
audio frame start segment. The code refers to the spectral data
contained in the same data segment. The offset points in forward
direction with a value given in bits, an offset of 0 indicates that
no offset is present. If the combination start scale factor band
index and offset value cannot be coded because the value is not
contained in the lookup tables, an escape value will be used to
indicate that the current data segment cannot be decoded and the
according spectrum range needs to be concealed.
[0060] For the preferred embodiment of the transmission of
compressed audio data, the invention can be summarized as
follows.
[0061] The invention provides a method for storage or transmission
of data with the following steps. Data frames of variable frame
size coming from a continuously sending source are packaged into
segments which are on average smaller or equal in size than the
data frames, all segments have same size and are on average or
always smaller or equal in size than the data frames. Then, all
segments carry information to signal the beginning of the frame and
use additional information to signal that a previous segment
contains a part of the current frame. The information about
erroneous segments is either given by an underlying transport or
storage mechanism or ensured by adding redundancy to the segments
e.g. CRC, parity bits, etc.
[0062] In addition, further information about the timing or replay
order of the frames, e.g. a sequence number, which wraps around can
be given.
[0063] The most important information is preferably concentrated in
a single or only a few bytes.
[0064] Segments, which do not contain the beginning of a frame,
carry additional information, which guide the drain of the data
stream to decode the data in the current segment even if a segment
was lost during transmission or storage.
[0065] The additional information used to guide the drain of the
data stream to decode the data in the current segment even if a
segment was lost during transmission or storage is only added for
the cases with the highest likelihood to reduce transport
overhead.
[0066] The additional information embedded during the process is
coded for redundancy reduction e.g. using adaptive code tables,
combining multiple symbols into a single code word, using Huffman
coding or similar.
[0067] The data source can be transform based audio codec, which
may or may not use bandwidth extension
[0068] The decoder can use the information about erroneous segments
to apply concealment to the missing parts of the signal only.
[0069] The whole packaging method does not need any knowledge of
the data to be transmitted, the information added is taken from the
encoder and passed to the decoder.
[0070] Therefore, the present invention comprises a transport
mechanism, which allows to package compressed data with variable
frame lengths into fixed length data segments. It provides
signaling means to apply partial concealment of an audio spectrum
in case of transmission errors while adding only a very low
transport overhead. It allows for a quick resynchronization at the
decoder in case of transmission errors with an accurate time
alignment. It also adds preventions for error propagation. The
present invention does not demand changes in the raw compressed
data format such that a low complexity and "simple design" solution
can be achieved.
[0071] Depending on certain implementation requirements of the
inventive methods, the inventive methods can be implemented in
hardware or in software. The implementation can be performed using
a digital storage medium, in particular a disk or a CD having
electronically readable control signals stored thereon, which
cooperate with a programmable computer system such that the
inventive methods are performed. Generally, the present invention
is, therefore, a computer program product with a program code
stored on a machine readable carrier, the program code being
operative for performing the inventive methods when the computer
program product runs on a computer. In other words, the inventive
methods are, therefore, a computer program having a program code
for performing at least one of the inventive methods when the
computer program runs on a computer.
* * * * *