U.S. patent number 7,152,198 [Application Number 10/018,658] was granted by the patent office on 2006-12-19 for encoding/decoding device and encoding/decoding method.
This patent grant is currently assigned to Matsushita Electric Industrial Co., Ltd.. Invention is credited to Kuniyuki Kajita.
United States Patent |
7,152,198 |
Kajita |
December 19, 2006 |
Encoding/decoding device and encoding/decoding method
Abstract
A coding/decoding technique capable of increasing the error
correcting decoding performance and improving the communication
quality. This technique divides, through code block segmentation
prior to error correcting coding, transmission data with CRC-bit
added into a predetermined number of code blocks so that the data
length of each code block is an integer multiple of the data length
of each transport block and ensures that CRC-bit exists at the end
of each code block. Then, the technique performs error correcting
coding on each code block after the division.
Inventors: |
Kajita; Kuniyuki (Yokohama,
JP) |
Assignee: |
Matsushita Electric Industrial Co.,
Ltd. (Osaka, JP)
|
Family
ID: |
18636278 |
Appl.
No.: |
10/018,658 |
Filed: |
April 20, 2001 |
PCT
Filed: |
April 20, 2001 |
PCT No.: |
PCT/JP01/03380 |
371(c)(1),(2),(4) Date: |
December 21, 2001 |
PCT
Pub. No.: |
WO01/82487 |
PCT
Pub. Date: |
November 01, 2001 |
Prior Publication Data
|
|
|
|
Document
Identifier |
Publication Date |
|
US 20030023929 A1 |
Jan 30, 2003 |
|
Current U.S.
Class: |
714/758;
714/776 |
Current CPC
Class: |
H03M
13/09 (20130101); H03M 13/29 (20130101); H04L
1/0006 (20130101); H04L 1/0065 (20130101); H03M
13/091 (20130101); H04L 1/0061 (20130101); H04L
1/0045 (20130101); Y02E 60/10 (20130101) |
Current International
Class: |
H03M
13/00 (20060101) |
Field of
Search: |
;714/776,758,764,755
;386/87 |
References Cited
[Referenced By]
U.S. Patent Documents
Foreign Patent Documents
|
|
|
|
|
|
|
0763902 |
|
Mar 1997 |
|
EP |
|
0802636 |
|
Oct 1997 |
|
EP |
|
0854581 |
|
Jul 1998 |
|
EP |
|
1030460 |
|
Aug 2000 |
|
EP |
|
08129830 |
|
May 1996 |
|
JP |
|
08288914 |
|
Nov 1996 |
|
JP |
|
09149080 |
|
Jun 1997 |
|
JP |
|
1998064845 |
|
Oct 1998 |
|
KR |
|
19990077891 |
|
Oct 1999 |
|
KR |
|
20000018685 |
|
Apr 2000 |
|
KR |
|
9910984 |
|
Mar 1999 |
|
WO |
|
9948227 |
|
Sep 1999 |
|
WO |
|
0013432 |
|
Mar 2000 |
|
WO |
|
Other References
3rd Generation Partnership Project (3GPP); Technical Specification
Group Radio Access Netw rk Multiplexing and channel coding (FDD),
(3G TS 25.212 version 3.1.0), Dec. 1999. cited by other .
3 G TS 25.212 v3.2.0 (Mar. 2000), Partnership Project; Technical
Specification Group Radio Access Network; Multiplexing and channel
coding (FDD) (Release 1999), pp. 1-58. cited by other .
"3rd Generation Partnership Project (3GPP); Technical Specification
Group Radio Access Network Multiplexing and Channel Coding (FDD)
(3G TS 25.212 Version 3.0.0)," XP002149187, pp. 51-53, Oct. 1999.
cited by other .
Reed-Solomon BCH Decoder, Internet Article, XP002292119,
http://www.mentor.com/inventra/cores/catalog/prod.sub.--desc/rsdec.sub.---
pd.pdf, Nov. 13, 1997. cited by other .
Okumura Y. et al., "Variable-Rate Data Transmission with Blind Rate
Detection for Coherent DS-CDMA Mobile Radio," IEICE Transactions on
Communications, Institute of Electronics Information and Comm.
Eng., Tokyo, JP, vol. E81-B, No. 7, pp. 1366-1372, XP000790169,
Jul. 1, 1998. cited by other .
Korean Office Action dated May 24, 2004 with English translation.
cited by other .
Korean Office Action dated Jun. 15, 2005 with English translation.
cited by other.
|
Primary Examiner: Decady; Albert
Assistant Examiner: Chaudry; Mujtaba K.
Attorney, Agent or Firm: Stevens, Davis, Miller &
Mosher, LLP
Claims
What is claimed is:
1. A coding apparatus comprising: a CRC attachment unit that
attaches respective CRC-bits to a plurality of transport blocks; a
concatenating unit that concatenates the transport blocks having
the CRC-bits to provide a concatenated transport block; a code
block segmentation unit that segments the concatenated transport
block into code blocks to enable the code blocks to be encoded
respectively; and an error correcting coding unit that encodes each
of the code blocks, wherein said code block segmentation unit adds
at least one predetermined bit to the beginning of one of the code
blocks so that each of the code blocks has one of the CRC-bits as a
last bit thereof and at least one of the code blocks comprises a
plurality of the transport blocks.
2. The coding apparatus according to claim 1, wherein said at least
one predetermined bit is 0.
3. A mobile station apparatus comprising the coding apparatus of
claim 1.
4. A base station apparatus comprising the coding apparatus of
claim 1.
5. A coding apparatus comprising: a CRC attachment unit that
attaches respective CRC-bits to a plurality of transport blocks; a
concatenating unit that concatenates the transport blocks having
the CRC-bits to provide a concatenated transport block; a code
block segmentation unit that segments the concatenated transport
block into code blocks to enable the code blocks to be encoded
respectively; and an error correcting coding unit that encodes each
of the code blocks, wherein when a number of bits of the
concatenated transport block is not an integer multiple of a number
of the code blocks, said code block segmentation unit adds at least
one predetermined bit to the beginning of one of said code blocks
so that each of the code blocks has one of the CRC-bits as a last
bit thereof and at least one of the code blocks comprises a
plurality of the transport blocks.
6. The coding apparatus according to claim 5, wherein said at least
one predetermined bit is 0.
7. A mobile station apparatus comprising the coding apparatus of
claim 5.
8. A base station apparatus comprising the coding apparatus of
claim 5.
9. A coding apparatus comprising: a CRC attachment unit that
attaches respective CRC-bits to a plurality of transport blocks; a
concatenating unit that concatenates the transport blocks having
the CRC-bits to provide a concatenated transport block; a code
block segmentation unit that segments the concatenated transport
block into code blocks to enable the code blocks to be encoded
respectively; and an error correcting coding unit that encodes each
of the code blocks, wherein said code block segmentation unit adds
at least one predetermined bit to the beginning of one of the code
blocks so as to make the code blocks the same size so that each of
the code blocks has one of the CRC-bits as a last bit thereof and
at least one of the code blocks comprises a plurality of the
transport blocks.
10. The coding apparatus according to claim 9, wherein said at
least one predetermined bit is 0.
11. A mobile station apparatus comprising the coding apparatus of
claim 9.
12. A base station apparatus comprising the coding apparatus of
claim 9.
13. A coding method comprising the steps of: attaching respective
CRC-bits to a plurality of transport blocks; concatenating the
transport blocks having the CRC-bits to provide a concatenated
transport block; segmenting the concatenated transport block into
code blocks to enable the code blocks to be encoded respectively;
and performing error correcting coding on each of the code blocks,
wherein said segmenting step includes adding at least one
predetermined bit to the beginning of one of the code blocks so
that each of the code blocks has one of the CRC-bits as a last bit
thereof and at least one of the code blocks comprises a plurality
of the transport blocks.
14. The coding method according to claim 13, wherein said at least
one predetermined bit is 0.
15. A coding method comprising the steps of: attaching respective
CRC-bits to a plurality of transport blocks; concatenating the
transport blocks having the CRC-bits to provide a concatenated
transport block; segmenting the concatenated transport block into
code blocks to enable the code blocks to be encoded respectively;
and performing error correcting coding on each of the code blocks,
wherein when a number of bits of the concatenated transport block
is not an integer multiple of a number of the code blocks, said
segmenting step includes adding at least one predetermined bit to
the beginning of one of the code blocks so that each of the code
blocks has one of the CRC-bits as a last bit thereof and at least
one of the code blocks comprises a plurality of the transport
blocks.
16. The coding method according to claim 15, wherein said at least
one predetermined bit is 0.
17. A coding method comprising the steps of: attaching respective
CRC-bits to a plurality of transport blocks; concatenating the
transport blocks having the CRC-bits to provide a concatenated
transport block; segmenting the concatenated transport block into
code blocks to enable the code blocks to be encoded respectively;
and performing error correcting coding on each of the code blocks,
wherein said segmenting step includes adding at least one
predetermined bit to the beginning of one of the code blocks so as
to make the code blocks the same size and so that each of the code
blocks has one of the CRC-bits as a last bit thereof and at least
one of the code blocks comprises a plurality of the transport
blocks.
18. The coding method according to claim 17, wherein said at least
one predetermined bit is 0.
Description
TECHNICAL FIELD
The present invention relates to an apparatus and method for
coding/decoding in a digital mobile communication system.
BACKGROUND ART
As one of error correcting coding/decoding processes in a
third-generation mobile communication system, "code block
segmentation" is proposed in the 3GPP technical standard document
"TS 25.211 Ver3.1.0".
Code block segmentation is a means for uniformly dividing data and
it is the means used to send large amount of data (in case of high
bit rate) when the whole data to be sent is divided into a
plurality of blocks and subjected to error correcting coding
one-by-one instead of subjecting the whole data to be sent to an
error correcting coding (e.g., convolutional coding or turbo
coding, etc.). In addition, as illustrated in FIG. 5, a unit before
the division is called "transport block", and a unit after each of
the transport blocks was connected and further divided is called
"code block".
For example, the amount of data to be sent at a particular time is
1000 pieces, the above-described code block segmentation divides
the 1000 pieces into two portions of 500 and error correcting
coding is performed two times, 500 pieces at a time. That is, 1000
pieces are divided into two portions that represent two code
blocks, the first code block and the second code block each of 500
pieces.
When the number of data pieces is not divisible by the divisor, for
example, when 1000 pieces are divided into three portions, the
number of data of 1000 pieces is assumed to be 1002 which is
divisible by 3 and the minimum number that exceeds 1000, and the
1002 pieces are divided into three code blocks, that is, the first
code block (334 pieces),the second code block (334 pieces), and the
third code block (334 pieces).
In this particular case, since the actual data is only 1000 pieces,
the third code block will run short of the last two pieces. This
problem is handled by assigning an appropriate value (e.g., "0") to
the last 2 pieces.
However, since such a conventional method uniformly divides the
whole data to be sent, CRC-bit added prior to code block
segmentation do not necessarily exist at the end of each code
block.
Here, as shown in FIG. 5, the CRC-bit is added at the end of each
data group called a "transport block" by CRC coding processing
which is executed prior to code block segmentation. That is,
CRC-bit is added for every transport block.
For example, as shown in FIG. 5, when the amount of data to be sent
is 1000 pieces and the amount of data per one transport block
including CRC-bit is 200 pieces, CRC-bit is added at the end of
every 200 pieces of data.
Therefore, in such a case, if the whole data to be sent is divided
into two blocks, the first code block and the second code block,
then the CRC-bit of each transport block are scattered in the first
code block and the second code block whereas the CRC-bit does not
necessarily exist at the end of each code block. That is, referring
to FIG. 5, in the first code block, the CRC-bit does not exist at
the end position indicated by the arrow Y1.
When the receiving side performs error correcting decoding (e.g.,
turbo decoding), CRC-bit is used as decision criteria, but the
CRC-bit that normally exists at the end of a data group does not
exist at the end of the first code block as shown above, and
therefore there is a problem that the error correcting decoding
performance decreases and the communication quality
deteriorates.
DISCLOSURE OF THE INVENTION
It is an object of the present invention to provide a
coding/decoding apparatus and a coding/decoding method that is
capable of increasing the error correcting decoding performance and
thereby improving the communication quality.
The present inventor has discovered that the error correcting
decoding performance deteriorates significantly if a CRC-bit does
not exist at the end of each code block for carrying out error
correcting decoding and that the above-described problem can be
solved by dividing data into a plurality of code blocks in minimum
units (transport block units) in which CRC-bit exists.
Furthermore, the essence of the present invention is to improve the
error correcting decoding performance by dividing data through code
block segmentation prior to error correcting coding so that the
length of code block data is an integer multiple of the length of
transport block data and thereby ensuring that the CRC-bit exists
at the end of each code block.
BRIEF DESCRIPTION OF DRAWINGS
FIG. 1 is a block diagram showing a configuration of a coding
apparatus according to Embodiment 1 of the present invention;
FIG. 2 is a block diagram showing a configuration of a code block
segmentation processing section in the coding apparatus according
to Embodiment 1;
FIG. 3 is a block diagram showing a configuration of a decoding
apparatus according to Embodiment 2 of the present invention;
FIG. 4 is a block diagram showing a configuration of a code block
segmentation processing section in the decoding apparatus according
to Embodiment 2; and
FIG. 5 illustrates a transport block, a code block, and
CRC-bit;
FIG. 6(a) shows concatenated transport blocks each of approximately
200 bits and each having CRC bits attached to the end thereof;
and
FIG. 6(b) shows concatenated transport blocks segmented into code
blocks A and B.
BEST MODE FOR CARRYING OUT THE INVENTION
As described above, the essence of the present invention is to
improve the performance of error correcting decoding in the
reception side by dividing, on the transmission side, the
transmission data through code block segmentation prior to error
correcting coding so that CRC-bit always exists at the end of each
code block, and by carrying out error correcting coding for every
code block after the division of the transmission data.
With reference to the attached drawings, embodiments of the present
invention will be explained in detail below.
Embodiment 1 FIG. 1 is a block diagram showing a configuration of a
coding apparatus according to Embodiment 1 of the present
invention.
The coding apparatus 100 shown in FIG. 1 is used as a transmitting
means, for instance, of a mobile station apparatus or base station
apparatus, and is provided with a first memory section 101, a CRC
bit attachment section 102, a second memory section 103, a third
memory section 104, a code block segmentation processing section
105, and an error correcting coding section 106.
The first memory section 101 stores transmission data.
The CRC bit attachment section 102 adds CRC-bit to the data stored
in the first memory section 101 by carrying out CRC coding in
transport block units. The data with CRC-bit added is stored in the
second memory section 103.
The code block segmentation processing section 105 is the one that
carries out code block segmentation processing and is provided with
a number of data detecting section 201, a data dividing/inserting
position detecting section 202, and an access section 203 as shown
in FIG. 2.
The number of data detecting section 201 detects the number of
transport blocks to which CRC-bit has been added by CRC bit
attachment section 102. The number of code blocks is predetermined
or notified from a higher layer or detected by a calculation method
described in 3GPP TS 25.211.
The data dividing/inserting position detecting section 202 detects,
based on the detection result of the number of data detecting
section 201, the number of data per one code block, and divides
transmitting data into a predetermined number of code blocks based
on the detection result so that CRC-bit may exist at the end of
each code block, that is the data length of one code block is an
integer multiple of data length of one transport block. Then, when
there is a code block whose number of data is smaller than other
code blocks, data dividing/inserting position detecting section 202
detects the number of data to be inserted at the start position of
the code block whose number of data is smaller so that the number
of data of the code block becomes the same as that of other code
blocks and inserts the existing data (e.g., "0") of the detected
number of data at a specified position (start position) of the code
block.
The access section 203 writes each code block obtained after being
processed by the data dividing/inserting position detecting
processing section 202 to the third memory section 104.
The error correcting coding section 106 carries out error
correcting coding processing such as convolutional coding or turbo
coding etc. on the data (each code block) stored in the third
memory section 104.
In the following, an operation of the coding apparatus in the
above-described configuration will be explained more specifically
using an example. Suppose that the amount of transmission data
stored in the first memory section 101 is 1000 pieces, the number
of data per one transport block is 200 pieces and the number of
partitions of code block segmentation processing is 2.
First, in the CRC bit attachment section 102, CRC-bit is added to
the transmitting data (whose number of data is 1000 pieces) stored
in the first memory section 101 by performing CRC coding per
transport block (whose number of data is 200 pieces). Transport
blocks with the added CRC-bit are temporarily concatenated and
stored in a state of being concatenated in the second memory
section 103.
In the code block segmentation processing section 105, first, the
number of data detecting section 201 detects the number of
transport blocks with the added CRC-bit. In this example, the
number of transport blocks with the added CRC-bit is 5.
Then, the data dividing/inserting position detecting section 202
detects the number of data per one code block based on the
above-described detected value so that CRC-bit exists at the end of
each code block. In this example, 200 pieces of the 1000 pieces are
each placed by one CRC-bit and the transmission data is divided
into two code blocks, therefore the number of data of the first
code block is 600 pieces (=200.times.3) and the number of data of
the second code block is 400 pieces (=200.times.2). Based on this
result, the transmission data is divided into two code blocks, the
first code block (whose number of data is 600 pieces) and the
second code block (whose number of data is 400 pieces).
In this case, the number of data of the second code block is
smaller than that of the first code block, and therefore the data
dividing/inserting position detecting section 202 further
calculates the difference in the number of data between both blocks
(200 pieces in the above-described example), regards this
difference as the number of data to be inserted and inserts 200
pieces of known data (e.g., "0") at the start position of the
second code block whose number of data is smaller, and updates the
second code block so that the number of data of the second code
block is equal to that of the first code block.
Then, the access section 203 writes the first and second code
blocks to the third memory section 104. Each code block written to
the third memory section 104 is subjected to error correcting
coding processing such as convolutional coding or turbo coding at
the error correcting coding section 106 and then transmitted.
Though not shown, prior to transmission, the code blocks subjected
to error correcting coding processing are concatenated,
interleaved, etc.
In the above-described example, when the number of partitions of
the code block segmentation processing is 3, data is divided into
three code blocks of the first code block (whose number of data is
400 pieces), the second code block (whose number of data is 400
pieces) and the third code block (whose number of data is 400
pieces), and after insertion of 200 pieces of known data into the
third code block, error correcting coding processing is performed
on each code block. Thus, during a division prior to the insertion
of known data, the transmission data is divided into a plurality of
code blocks in minimum units (transport block units) in which
CRC-bit exists. For example, in the above-described example, the
transmission data is divided into code blocks having a data length
of a multiple of 200 pieces.
Thus, the coding apparatus according to this embodiment divides the
transmission data into a predetermined number of code blocks
through code block segmentation prior to error correcting coding so
that the data length of a code block is an integer multiple of the
data length of a transport block thereby ensuring that CRC-bit
exists at the end of each code block subjected to error correcting
coding. Therefore, when the receiving side carries out error
correcting decoding using CRC-bit as the decision condition, it is
possible to carry out accurate decoding, increase the error
correcting decoding performance and hence improve the communication
quality.
Furthermore, in the case when there is a code block whose number of
data is smaller than other code blocks, known data is inserted at
the start position of the code block whose number of data is
smaller so that the number of data is common to all code blocks,
which can improve the effect of code block segmentation processing.
Moreover, since in this case, known data is inserted, the receiving
side can decode the part of the known data accurately and hence
carry out error correcting decoding accurately.
When there is a difference in the data length between code blocks,
this embodiment inserts known data into a code block whose number
of data is smaller so that the data length is common to all code
blocks, but this embodiment is not limited to this. For example,
when there is no need to divide transmission data uniformly, it is
possible to divide the transmission data into a plurality of code
blocks but not insert known data, that is, it is possible not to
carry out processing for equating number of data of all code
blocks, but to store data in the third memory section 104 as a
state that data length has differed, and carry out error correcting
coding processing.
Embodiment 2
FIG. 3 is a block diagram showing a configuration of a decoding
apparatus according to Embodiment 2 of the present invention.
The decoding apparatus 300 shown in FIG. 3 is used as a receiving
means of a mobile station apparatus or base station apparatus,
etc., and is provided with an error correcting decoding section
301, a first memory section 302, a second memory section 303, a
code block segmentation processing section 304, a CRC bit
inspecting section 305, and a third memory section 306.
Furthermore, as shown in FIG. 4, the code block segmentation
processing section 304 is provided with a number of data detecting
section 401, a data dividing/deleting position detecting section
402, and an access section 403.
In the above-described configuration, first, the error correcting
decoding section 301 carries out error correcting decoding on the
received signal that is encoded by error correcting coding
processing at the coding apparatus 100 discussed above for every
code block. The data (each code block) subjected to error
correcting decoding is temporarily concatenated and stored in the
first memory section 302 in a state of being concatenated. In
the-above example, error correcting decoding is performed on the
first code block and the second code block each having 600 pieces
of data.
Then, in the code block segmentation processing section 304, first,
the number of data detecting section 401 detects the number of
concatenated code blocks (2 pieces in the above-described example)
stored in the first memory section 302. In other words, the number
of data detecting section 401 detects the position of each
concatenated code block. The number of code blocks is predetermined
as described above, notified from a higher layer, or detected by a
calculation method described in 3GPP TS 25.211.
The data dividing/deleting position detecting section 402 divides
the concatenated code blocks (the first code block and the second
code block in the above-described example) according to the
detection result of the number of data detecting section 401 and
detects the position of known data (the number of data is 200
pieces in the above-described example) inserted by the transmitting
side and deletes the known data.
As a method of dividing into code blocks, it is possible to detect
CRC-bit in data subjected to error correcting decoding during a
division, and to divide the data after the error correcting
decoding into code blocks so that the detected CRC-bit is placed at
the end of code blocks.
The access section 403 writes to the second memory section 303 each
code block obtained by carrying out the above-described division
and deletion.
Then, the CRC bit inspecting section 305 carries out a CRC bit
cyclic redundancy inspection of each code block stored in the
second memory section 303. The data after the CRC bit inspection is
written to the third memory section 306.
Thus, the decoding apparatus of this embodiment carries out error
correcting decoding on every code block with CRC-bit placed at the
end, and can thereby allow effective error correcting decoding and
improve the reception performance.
In the case where known data is inserted in a code block, the error
correcting decoding section 301 carries out a soft decision on the
code block and carries out error correcting decoding, which
provides more accurate error correcting decoding.
The reason for this is as follows. Since the part of the known data
is known to both the transmitting side and the receiving side, the
soft decision value of the known data part is temporarily stored in
a memory and this stored soft decision value is replaced by a
maximum value of the soft decision value that can be set in the
memory when the known data is "0" and replaced by a minimum value
of the soft decision value that can be set in the memory when the
known data is "1". Then, if error correcting decoding on the known
data part is performed using the replaced soft decision value,
accurate error correcting decoding is performed because the data is
known. In the case of soft decision decoding such as turbo
decoding, if the position of known data inserted is the start
position of a code block, the last-half data is decided using the
decision result of the first-half data. The more accurate the
decision result of the first-half data, the more accurate decision
can be made. As a result, when originally necessary data in a code
block is decoded, it is possible to perform more appropriate
decoding.
Moreover, combining the coding apparatus 100 corresponding to
Embodiment 1 and the decoding apparatus 300 corresponding to
Embodiment 2 makes it possible to constitute a coding/decoding
apparatus provided with both advantages of Embodiment 1 and
Embodiment 2.
Furthermore, providing a mobile station apparatus with such a
coding/decoding apparatus makes it possible to carry out effective
coding/decoding on transmission/reception signals, improve the
performance of the mobile station apparatus and provide the user
with comfortable effects, for example, high quality voice.
Furthermore, providing a base station apparatus with such a
coding/decoding apparatus makes it possible to carry out effective
coding/decoding on transmission/reception signals and improve the
performance of the base station apparatus.
As described above, the present invention carries out code block
segmentation processing so that CRC-bit is placed at the end of
each code block, and can thereby increase the performance of error
correcting decoding and improve the communication quality.
This application is based on the Japanese Patent Application No.
2000-126506 filed on Apr. 26, 2000, entire content of which is
expressly incorporated by reference herein.
INDUSTRIAL APPLICABILITY
The present invention is applicable to a coding/decoding apparatus
and coding/decoding method used for a mobile station apparatus and
base station apparatus, etc. in a digital mobile communication
system.
* * * * *
References