Technical Field
[0001] The present invention relates to an image data compression device and a compressing
method capable of processing two types (natural images such as movies etc. and CG
images such as a digital map etc.) of high quality images having different characteristics
in real time, and a program for performing the compression, and an image data decompression
device and a decompressing method for decompressing compressed image data, and a program
for decompressing compressed image data.
Background Art
[0002] It is necessary to compress data to transmit image information containing an large
amount of information. Especially, since 30 through 60 frames of image data are transmitted
and received for moving pictures, the data compression is required.
[0003] It is well known that image information can be natural images such as general television
images, movies, etc. and CG images (CG images) represented by maps for car navigation
etc. Generally, natural images contain a number of low-frequency components, and digital
images contain a number of high-frequency components. In a recent mobile terminal
such as a car-mounted terminal, a mobile telephone, etc., both digital images such
as a map etc. and natural images such as TV and movie pictures etc. are processed.
To efficiently transmit both types of image data, an effective data compressing system
for both low-frequency components and high-frequency components is desired.
[0004] The first conventional technology of compressing data using a JPEG (joint photographic
experts group) and MPEG (moving picture experts group) shown in FIG. 1 is known as
a common conventional image data compressing system. The following patent documents
1 and 2 belong to the first conventional technology. As shown in FIG. 1, the first
conventional technology divides image data 110 into blocks (normally 8*8 pixels),
performs frequency conversion 210 on the block image, performs quantization 310 on
a DCT coefficient, performs variable-length encoding 410 for assigning a code depending
on the frequency of occurrence, and transmits the result. The frequency conversion
is to convert the frequency of image data normally using a DCT (discrete cosine transfer).
Since human eyes are sensitive to low-frequency components (flat portion in an image),
the DCT coefficient for a low frequency is precisely quantized, and the DCT coefficient
for a high frequency is roughly quantized, thereby compressing natural images at a
high compression rate at which image degradation can be inconspicuous. However, there
is no problem with the compression of natural images when conspicuous low-frequency
components are precisely quantized, but the image degradation is conspicuous on the
high-frequency components such as a line and a character in map images (CG images).
Furthermore, since edge information extraction 230 is performed on a block to be compressed,
there is the problem that correction and feedback cannot be performed by detecting
the image degradation caused by a quantization error. Therefore, it is not appropriate
for CG images.
[0005] In addition, the second conventional technology using the JPEG-LS (lossless) as shown
in FIG. 2 is known as a conventional image data compressing system. The second conventional
technology predicts a level value using a MED (median edge detector) prediction device
(the prediction device is a type of MAP (median adaptive predictor) from a level value
of a pixel to be compressed when the image data 120 is compressed as shown in FIG.
2, and directly encodes prediction error. In this second conventional technology,
since the frequency of occurrence of the prediction error basically concentrates on
the vicinity of 0, the prediction error in the vicinity of 0 is assigned a short code
while a prediction error having a large value is assigned a long code for compression.
Although the compression rate is about 1/3 , the encoding process is performed in
a pixel unit regardless of high or low frequencies. Accordingly, no image degradation
occurs even on CG images.
[0006] However, it is difficult to predict an interlace image and an image having low correlation
between lines, and prediction error normally increases on these images. As a result,
a variable-length code having a low frequency of occurrence (long code length) is
assigned, and it is necessary to perform calculating process during encoding. Thus,
each process becomes heavy and is not appropriate for real-time compressing process.
Patent Document 1: Japanese Published Patent Application No. 2001-061149
Patent Document 2: Japanese Published Patent Application No. 2000-069479
Disclosure of the Invention
[0008] The prediction error is conspicuous on CG images when transfer or coding is performed
by DCT such as the JPEG, MPEG, etc. while the prediction error on an interlace image
and a landscape image is troublesome. Therefore, a long code is frequently used, and
reduces compression efficiency.
[0009] Thus, a car-mounted image data compression device for processing both natural images
and CG images has to compress CG images with high quality, and maintain the compression
efficiency for interlace images and landscape images in movies and natural images.
[0010] To solve the above-mentioned problems, the present invention aims at providing an
image data compression device
[0011] and compressing method for predicting the level value of a pixel to be predicted
from the level value of a pixel around the pixel to be predicted, and quantizing the
error of a prediction result to compress data, and a program for performing the compression,
and a image data decompression device and decompressing method for decompressing compressed
image data, and a program for performing the decompression.
[0012] The image data compression device according to the present invention is defined in
claim 1. A prediction error can be reduced for each image format, and the compression
efficiency can be enhanced. In addition, since only a prediction value is to be switched
depending on the image format, the program for implementation and the configuration
of a circuit can be simplified.
[0013] In addition, the image data compressing method according to the present invention
is defined in claim 4 In each of the prediction value determination module and the
prediction value calculation module, parallel processing is performed, and when the
calculation of each candidate for a prediction value is completed, the prediction
value to be used can be determined. Therefore, data can be compressed at a high speed
by the parallel processing.
[0014] The program according to the present invention is defined in claim 6 parallel processing
is performed in each step of the prediction value determining and prediction value
calculating steps, and it can be determined which prediction value is to be used when
each candidate for a prediction value is completed. Therefore, data can be compressed
at a high speed by the parallel processing.
[0015] In addition, since the image data decompression device and the image data decompressing
method according to the present invention decompress image data compressed by the
image data compression device in the reverse operation, the prediction error can be
reduced for each image format as with the image data compression device, thereby enhancing
the compression efficiency. Additionally, only by switching the prediction value depending
on the image format, a program for implementation and the configuration of a circuit
can be simplified.
[0016] Since the program for decompressing image data according to the present invention
decompresses image data compressed by the above-mentioned program for compressing
image data in the reverse operation, as with the above-mentioned program for compressing
image data, parallel processing is performed in each step of the prediction value
determining and prediction value calculating steps, and it can be determined which
prediction value is to be used when each candidate for a prediction value is completed.
Therefore, data can be compressed at a high speed by the parallel processing.
Brief Description of the Drawings
[0017]
FIG. 1 shows the first conventional technology for compressing data by the JPEG and
MPEG;
FIG. 2 shows the second conventional technology for compressing data by the JPEG-LS;
FIG. 3 is a block diagram of the configuration of the image data compression device
according to an embodiment of the present invention;
FIG. 4 shows the arrangement of a pixel to be compressed and peripheral pixels in
the image data compression device according to an embodiment of the present invention;
FIG. 5 shows a quantization table in the quantizer according to an embodiment of the
present invention;
FIG. 6 shows the inverse quantization table in the prediction value determination
module of the image data compression device according to an embodiment of the present
invention;
FIG. 7 shows the intermediate value - image format correspondence table in the prediction
value determination module of the image data compression device according to an embodiment
of the present invention;
FIG. 8 shows a correspondence table indicating the correspondence between the control
signal of the image data compression device and the candidate for candidates 1 through
k for a prediction value according to an embodiment of the present invention;
FIG. 9A is a flowchart for explanation of the operation of the image data compression
(encoding) device according to an embodiment of the present invention;
FIG. 9B is a flowchart for explanation of the process of the "local decoder" in step
S008 in FIG. 9A;
FIG. 10 shows a pixel to be compressed in the image data compression device and the
pixel level value at a time point of a line buffer for prediction according to an
embodiment of the present invention;
FIG. 11 shows a quantization result of the prediction device for an interlace image
in the image data compression device according to an embodiment of the present invention;
FIG. 12 shows a quantization result of the prediction device for a progressive image
in the image data compression device according to an embodiment of the present invention;
FIG. 13 is a block diagram of the configuration of the system of the image data compression
device according to an embodiment of the present invention;
FIG. 14 is a block diagram of the configuration of the image data decompression device
according to an embodiment of the present invention;
FIG. 15 shows an inverse quantization table in the inverse-quantizer according to
an embodiment of the present invention;
FIG. 16 shows the arrangement of the pixel to be decompressed and the peripheral pixels
in the image data decompression device according to an embodiment of the present invention;
FIG. 17 shows an inverse quantization table in the prediction value determination
module of the image data decompression device according to an embodiment of the present
invention;
FIG. 18 shows an intermediate value - image format correspondence table in the prediction
value determination module of the image data decompression device according to an
embodiment of the present invention;
FIG. 19 shows a correspondence table indicating the correspondence between the control
signal and the candidates 1 through k for a prediction value of the image data decompression
device according to an embodiment of the present invention;
FIG. 20A is a flowchart for explanation of the operation of the image data decompression
(decoding) device according to an embodiment of the present invention;
FIG. 20B is a flowchart for explanation of the process of the "local decoder" in step
S027 in FIG. 20A;
FIG. 21 shows the pixel level value at a time point of a line buffer for prediction
in the image data compression device and according to an embodiment of the present
invention;
FIG. 22 shows a quantization result of the prediction device for an interlace image
in the image data decompression device according to an embodiment of the present invention;
FIG. 23 shows a quantization result of the prediction device for a progressive image
in the image data decompression device according to an embodiment of the present invention;
FIG. 24 is a block diagram of the configuration of the system of the image data decompression
device according to an embodiment of the present invention;
Best Mode for Carrying Out the Invention
[0018] The embodiments of the present invention are described below with reference to the
attached drawings.
[0019] FIG. 3 is a block diagram of the configuration of the image data compression (encoding)
device according to an embodiment of the present invention. In FIG. 3, image data
001 indicates a group of pixels to be compressed, and is extracted by an image processing
device (not shown in the attached drawings) for digitally processing images. Then,
a pixel X (002) to be compressed indicates a pixel to be compressed in the current
step. FIG. 4 shows the arrangement of a pixel X to be compressed and peripheral pixels
in the image format of an interlace image or a progressive image. In FIG. 4, the lines
are indicated by broken lines. A quantizer 003 quantizes a "prediction error" as a
difference value between the pixel X (002) to be compressed and a prediction value
X' (006).
[0020] FIG. 5 shows an example of a quantization table indicating the correspondence between
the prediction error (X - X') and the quantization value and the quantization number
according to an embodiment of the present invention. The quantization table shown
in FIG. 5 receives a prediction error (X - X'), and outputs a prediction error quantization
value (also referred to simply as a quantization value) and a quantization number.
It is desired that the widths of the quantizing steps are narrower for smaller absolute
values of prediction error, and wider for larger absolute values of prediction error
for the following reason. Generally, when a prediction error is small, it refers to
a flat image which can be easily predicted. On the other hand, when a prediction error
is large, it refers to the vicinity of an edge which cannot be easily predicted. If
there is an error in a flat portion, it can be easily detected by human eyes. Therefore,
when a prediction error is small, it is necessary to narrow the step width. It is
desired that the minimum step width is 1 through 4 depending on the necessity of the
adaptive quantization. On the other hand, it is desired that the step width is 24
through 32 when prediction error is large because the frequency of occurrence is low
and it is necessary to represent one quantizing step for a large number of prediction
errors to enhance the compression efficiency. In addition, when a complicated pattern
having a number of edges is compressed, there is the possibility that a predetermined
compression rate cannot be attained. Therefore, when a predetermined compression rate
can be exceeded by a plurality of quantization tables having different quantizing
step widths, adaptive quantization of selecting a totally rough quantization table
in step width can be performed. Furthermore, it is necessary that the correspondence
between the quantization value and the quantization number shown in FIG. 5 is consistent
between the compressing side and the decompressing side. Therefore, the decompressing
side is provided with an inverse quantization table (FIG. 15) showing the correspondence
between the quantization value and the quantization number with respect to FIG. 5.
It is described later.
[0021] A variable-length encoder 004 receives a quantization number obtained from the quantization
table shown in FIG. 5 and outputs a variable-length code. A compressed code buffer
005 temporarily stores the variable-length code output from the variable-length encoder
004, that is, the compressed code.
[0022] The prediction value X' (006) is one of the candidates for a prediction value selected
by a multiplexer (MPX) 015 from among the candidates 1 through k (k=6 in the description
of the present embodiment) for a prediction value calculated by a prediction value
candidate calculation module 011. A peripheral pixel A (007) is a pixel left to the
pixel X (002) to be compressed, that is, a previous pixel processed in the same line
as shown in FIG. 4. A line buffer 008 for prediction holds about 1 line of quantization
results for prediction, and is configured by, for example, a shift register. As shown
in FIG. 4, a peripheral pixel C (009) is a pixel above the pixel X to be compressed,
that is, a pixel in the same column in the line processed in the preceding line. A
peripheral pixel B (010) is a pixel upper left to the pixel X to be compressed, that
is, a previous pixel processed to the pixel C (009) in the previous line processed.
In the original image, the peripheral pixel C and the peripheral pixel B are pixels
in the second line above the pixel X to be compressed in the interlace image and in
the line immediately above in the progressive image.
[0023] The prediction value X' (006) is one of the candidates for a prediction value calculated
by the prediction value candidate calculation module 011 on the basis of the peripheral
pixels A (007), C (009), and B (010), but the calculation of a candidate for a prediction
value when the image format is a progressive image is first described below. As shown
in FIG. 4, in the case of a progressive image, using the pixel level values of the
two pixels C and B in the previous line processed and the prediction level value of
the previous pixel processed in the same line, the candidate for a prediction value
for the prediction value X' (006) is A, C, (A+C-B) with the correlation among three
directions taken into account.
[0024] Described next is the calculation of a candidate for a prediction value when the
image format is an interlace image. As shown in FIG. 4, in the case of an interlace
image, an even line and an odd line are alternately transmitted. Therefore, when processing
is performed in a line unit without frame memory, pixels processed in the second line
above, which have weaker correlations, are used. Therefore, without using the pixel
level values of the pixels C and B in the second previous line processed, the pixels
C' (pixel between the pixel X and the pixel C) and B' (pixel between the pixel A and
the pixel B) are considered. To process the pixels as in the case of the above-mentioned
progressive image, the pixel level value of the pixel C' is defined as an interpolation
value " (A+C) /2" between the pixels A and C, and the level value of the pixel B'
is calculated using the interpolation value " (2A+C-B) /2" between the pixels A and
B. Furthermore, the candidate for a prediction value for the prediction value X' (006)
is defined as A, (A+C)/2, (2A+C-B) /2 using the pixel level value of the pixel A as
the previous pixel processed in the same line in addition to the pixel C' and the
pixel B', that is, with the correlation among the three directions taken into account.
[0025] Thus, the prediction value candidate calculation module 011 calculates the following
candidates 1 through k for a prediction value on the basis of the peripheral pixels
A (007), C (009), and B (010), and transmits the calculation results to the multiplexer
(MPX) 015.
candidate for a prediction value 1: (A+C)/2
candidate for a prediction value 2: A
candidate for a prediction value 3: (2A+C-B)/2
candidate for a prediction value 4: C
candidate for a prediction value 5: A
candidate for a prediction value 6: A+C-B
[0026] In the calculation above, the prediction value candidate calculation module 011 can
determine a prediction value for an interlace image as an intermediate value of three
candidates for a prediction value "A", "(m*A+n*C)/(m+n)", and "A+ (m*A+n*C) / (m+n)
- (m*A+n*B) / (m+n)" using coefficients m and n that are values (positive integers
including 0) other than 0, and a sum of m and n is a value of i-th power of 2 so that
the process in the shift operation can be performed. To obtain the above-mentioned
prediction value, the prediction value candidate calculation module 011 calculates
the three candidates for a prediction value "A", " (m*A+n*C) / (m+n) ", and "A+ (m*A+n*C)
/ (m+n) - (m*A+n*B) / (m+n)" as the candidates for a prediction value 7 through 9
in addition to the above-mentioned candidates for a prediction value 1 through 6.
As a result, the value of k is 9. That is, to an interlace image with the coefficients
m and n taken into account, one image format is added in addition to the interlace
image or the progressive image without the consideration of the above-mentioned coefficients.
Therefore, the value of k is 9. Furthermore, if the number of image format increases,
the number of k is three times the number of the image formats. As the coefficients
m and n, for example, as an interlace-oriented prediction value using m=1 and n=2,
a prediction value that is strong against the fluctuation of the pixel level value
in the vertical direction can be calculated using "A", "(A+3*C)/4", and "(4*A+3*C-3*B)/4".
That is, for the image having a strong correlation in the vertical direction is processed
using the value of n larger than the value of m. The values of the above-mentioned
coefficients in the case of a progressive image are m=0 and n=1 so that a prediction
value similar to the value obtained for the conventional MAP prediction device can
be acquired.
[0027] The image format 012 is presented from the image processing device (not shown in
the attached drawings) to the image data compression device. However, an image data
format is generally represented as a signal indicating in which direction the image
has a strong pixel correlation, the horizontal direction or the vertical direction.
That is, the above-mentioned interlace image has a strong pixel correlation in the
horizontal direction, and the above-mentioned progressive image has a strong pixel
correlation in the vertical direction (the pixel correlation in the horizontal direction
is not necessarily stronger than the pixel correlation in the vertical direction).
The same holds true with the case in which the image format is a sampling format of
the image data according to the signal.
[0028] The prediction value determination module 013 determines which in the candidates
1 through k for a prediction value is set as a prediction value on the basis of two
correspondence tables shown in FIGS. 6 and 7, and transmits it as a control signal
014 to the multiplexer (MPX) 015. FIG. 6 is an intermediate value correspondence table
for comparing the pixel level values of the peripheral pixels A, B, and C, calculating
the intermediate value of the peripheral pixels A, B, and C, and narrowing the candidates
for a prediction value into the candidates (1) through (3) for a prediction value.
The correspondence between the candidates (1) through (3) for a prediction value and
the intermediate value shown in FIG. 6 has to be consistent between the compressing
side and the decompressing side. Therefore, with respect to FIG. 6, the decompressing
side is provided with the intermediate value correspondence table (FIG. 17) indicating
the correspondence between the candidates (1) through (3) for a prediction value and
an intermediate value. It is described later.
[0029] FIG. 7 is an intermediate value - image format correspondence table used in transmitting
to the multiplexer (MPX) 015 the candidates (1) through (3) for a prediction value
narrowed in FIG. 6 and the control signal 014 indicating which in the candidates 1
through k for a prediction value is finally to be used as a prediction value depending
on whether the image format 012 is an image (interlace image) having a strong pixel
correlation in the horizontal direction or an image (progressive image) having a strong
pixel correlation in the vertical direction. What is output as the control signal
014 is a 3-bit (000 - 101) signal as shown in the correspondence table in FIG. 7.
In addition, as described above, when the calculation output of the three candidates
for a prediction value "A", "(m*A+n*C)/(m+n)", and "A+(m*A+n*C)/(m+n)-(m*A+n*B)/(m+n)"
about an interlace image with the coefficients m and n taken into account is added,
the candidates for a prediction value "A", "(m*A+n*C)/(m+n)", and "A+(m*A+n*C)/(m+n)-(m*A+n*B)/(m+n)"
identified by a control signal (represented by 4 bits in this case) are added to the
image column having a strong pixel correlation in the horizontal direction with respect
to the candidates (1) through (3) for a prediction value. In addition, the correspondence
between the intermediate value an the image format shown in FIG. 7 is to be consistent
between the compressing side and the decompressing side. Therefore, with respect to
FIG. 7, the decompressing side is provided with an intermediate value - image format
correspondence table (FIG. 18) indicating the correspondence between the intermediate
value and the image format. It is described later.
[0030] The multiplexer (MPX) 015 determines which of the candidates 1 through k for a prediction
value is selected as a prediction value according to the control signal 014. FIG.
8 is a correspondence table showing the correspondence between the control signal
014 and the above-mentioned candidates for a prediction value 1 through 6. That is,
a control signal (000) corresponds to a candidate 1 for a prediction value, a control
signal (001) corresponds to a candidate 2 for a prediction value, a control signal
(010) corresponds to a candidate 3 for a prediction value, a control signal (011)
corresponds to a candidate 4 for a prediction value, a control signal (100) corresponds
to a candidate 5 for a prediction value, and a control signal (101) corresponds to
the candidate 6 for a prediction value. As described above, when the calculation output
of the three candidates for a prediction value "A", " (m*A+n*C) / (m+n) ", and "A+
(m*A+n*C) / (m+n) - (m*A+n*B) / (m+n) " for an interlace image with the coefficients
m and n taken into account are added from the prediction value candidate calculation
module 011, the candidates for a prediction value "A", "(m*A+n*C) / (m+n) ", and "A+
(m*A+n*C) / (m+n) - (m*A+n*B) / (m+n)" are added as the candidates for a prediction
value to be used in the table shown in FIG. 8. In addition, a control signal (a 4-bit
signal in this case) having a bit width for identification of the three candidates
for a prediction value with the control signal added is required. The correspondence
between the control signal and the candidate for a prediction value shown in FIG.
8 is to be consistent between the compressing side and the decompressing side. With
respect to FIG. 8, a correspondence table (FIG. 19) showing the correspondence between
the control signal and the candidate for a prediction value is provided for the decompressing
side. It is described later. Although 3-bit control signals (000) through (101) are
associated as the control signal 014 according to the present embodiment, the control
signal not in this format can also be used so far as the candidates 1 through 6 for
a prediction value can be associated.
[0031] In addition, a correspondence table indicating according to the signal about a sampling
format of image data which prediction value is to be used is stored in the prediction
value determination module 013 regardless of the interlace image or the progressive
image, and a prediction value can be determined on the basis of the correspondence
table.
[0032] Although not shown in the attached drawings, a control signal indicating the sampling
format of the image data is transmitted from the prediction value determination module
013 to the prediction value candidate calculation module 011. Based n the signal,
the prediction value candidate calculation module 011 can determine the value of the
above-mentioned coefficients m and n.
[0033] FIG. 9A is a flowchart for explanation of the operation of the image data compression
(coding) device according to an embodiment of the present invention. FIG. 9B is a
flowchart for explanation of the process of the "local decoder" in step S008 shown
in FIG. 9A. In FIGS. 9A and 9B, S is short for step.
[0034] Before describing the steps shown in FIG. 9A, it is to be noted that the process
enters the loop until all image data is processed in the present embodiment.
S001: The pixel X (002) to be compressed is acquired from the image data 001.
S002: The continuity evaluation result feedback module 013 compares the pixel level
values among the peripheral pixels A (007), C (009), and B (010). Based on the comparison
result and the image format 012, and with reference to the correspondence tables shown
in FIGS. 6 and 7, the control signal 014 is transmitted to the multiplexer (MPX) 015.
S003: The prediction value candidate calculation module 011 calculates the candidates
1 through 6 for a prediction value on the basis of the peripheral pixels A (007),
C (009), and B (010). In this case, a prediction value is calculated by an integer
operation and a shift operation. Then, during the integer operation of (2A+C-B+1)
/ 2 and (A+C+1) / 2, the digits to the right of the decimal point are discarded. During
the real number operation, 1 is added, and no digits are discarded and the value of
(2A+C-B)/2 and (A+C)/2 are used as is.
S004: The MPX 015 determines a prediction value according to the candidates 1 through
6 for a prediction value and the control signal 014.
S005: The prediction value 006 is subtracted from the pixel level value of the pixel
X 002 to be compressed, and the prediction error is calculated.
S006: The prediction error is quantized by the quantizer 003, and a quantization value
and a quantization number are acquired.
S007: A variable-length code is generated on the basis of the quantization number
using the variable-length encoder 004. The code can be a Golomb code, or an arithmetic
code.
S008: To compress the next pixel, the peripheral pixels A, B, and C, and the line
buffer 008 for prediction are updated (local decoder).
S009: The peripheral pixel C (009) is substituted for the peripheral pixel B (010)
of the next pixel to be compressed.
S010: The peripheral pixel C (009) of the next pixel to be compressed is acquired
from the line buffer 008 for prediction.
S011: The peripheral pixel A (007) is substituted for the line buffer 008 for prediction.
S012: The quantization value and the prediction value are added up, and the sum is
substituted for the peripheral pixel A (007) of the next pixel to be compressed.
[0035] In addition, for example, the line buffer 008 for prediction and the pixel X (002)
to be compressed refer to the values as shown in FIG. 10, quantization results of
a prediction device for an interlace image and a prediction device for a progressive
image are represented as the tables shown in FIGS. 11 and 12. When the line buffer
008 for prediction and the pixel X (002) to be compressed have the pixel values as
shown in FIG. 10, the tables shown in FIGS. 11 and 12 can be easily derived from the
operation of the image data compression (coding) device according to the embodiments
of the present invention shown in FIGS. 9A and 9B. In this case, the pixel C (009)
after the previous compression is the pixel B (010) after the current compression,
and the previous "prediction value + prediction error quantization value" is the current
pixel A (007).
[0036] FIG. 13 is a block diagram of the configuration of the system of the image data compression
device according to the embodiment of the present invention, and is realized by a
block represented as the function of the contents described above. In FIG. 13, the
image data compression device according to the embodiment of the present invention
inputs the image data 102 to be compressed to the compressing unit 110, the compressing
unit 110 first reads the input image data 102 by the read unit 111 for each line to
extract a pixel to be compressed. The predicting unit 112 calculates on the extracted
pixel to be compressed a candidate for a prediction value by a prediction value candidate
calculation unit 115 corresponding to the prediction value candidate calculation module
oil shown in FIG. 3 with reference to an intermediate value correspondence table 113
shown in FIG. 6 and an intermediate value - image format correspondence table 114
shown in FIG. 7.
[0037] Furthermore, compressed data 106 are obtained by determining with a prediction value
determination unit 116 corresponding to the MPX 015 - a prediction value among the
prediction value candidates calculated on the basis of an image format 104, obtaining
a prediction error from the difference between the determined prediction value and
the pixel to be compressed, inputting this prediction error into a prediction value
candidate calculation unit 115 corresponding to the quantizer 003, inputting at the
quantizing unit 117 the quantization number by
referring to the quantization table 118 as shown in FIG. 5 along with obtaining a prediction
error quantization value and a quantization number from the prediction error, obtaining
a variable-length code (compressed code) from the coding unit 119 corresponding to
the variable-length encoder 004, accumulating this as the output of the compressing
unit 110.
[0038] Thus, according to the image data compression device of the present invention, the
prediction value can be appropriately used depending on the image format, and the
prediction error can be reduced on each image format, thereby enhancing the compression
efficiency. Since only a prediction value is to be switched depending on the image
format, a program and a circuit configuration for implementation can be simplified.
[0039] In the descriptions above, an intermediate value among A, B, and C is obtained and
a candidate for a prediction value to be selected is determined on the basis of an
intermediate value correspondence table, but an intermediate value of candidates for
a prediction value can also be obtained after calculating the candidates for a prediction
value.
[0040] Also in the description above, the prediction value for an interlace image is (A+C)/2,
A and (2A+C-B)/2. However, the prediction value candidate calculation module 011 calculates
"A", " (m*A+n*C) / (m+n) ", and "A+ (m*A+n*C) / (m+n) - (m*A+n*B) / (m+n) " using
the coefficients m and n from the pixel level values A, B, and C, substitutes a value
using coefficients m and n that are values (positive integers including 0) other than
0, and a sum of m and n is a value of i-th power of 2 so that the process in the shift
operation can be performed, and can calculate a prediction value strong against the
fluctuation of the pixel level value in the vertical direction using "A", "(A+3*C)/4",
and "(4*A+3*C-3*B)/4" as the prediction value for an interlace image.
[0041] In addition, regardless of an interlace image or an progressive image as an image
format, the prediction value can be used appropriately according to a signal indicating
a sampling format of image data to attain similar effect.
[0042] For example, the sampling format of the image data stored on a common DVD is normally
a 4:2:2 format. In this format, the image size of the Y component (brightness component)
is 720 × 480, the horizontal image size of the C component (color component) is a
half of the Y component. Therefore, since the C component refers to image data having
a strong correlation in the vertical direction, problems can be solved by making the
value of n larger than the value of m. That is, by increasing the gravity to the peripheral
pixel having a strong correlation in the vertical direction (increasing the value
of n), the degradation of the prediction error can avoided. For example, in the interlace
image having the image data of a sampling format of 4:2:2 and the image size of 720
× 480, the image data having a strong correlation in the vertical direction is processed
using m=1 and n=3 for the C component. For the Y component, image data having a strong
correlation in the horizontal direction is processed using m=1 and n=1 in the case
of the image size 720 × 480. Relating to the coefficients m and n when the image data
has a strong correlation in the horizontal direction, the value of m is assigned the
same value of n. If the degradation of the prediction error still advances, the value
of m is further increased. Furthermore, when the sampling format of the image data
as another example is a 4:4:4 format and the image size is 800 × 800 as a progressive
image, m=0 and n=1.
[0043] Furthermore, since only field memory (buffer of 1 line) is used, and no frame memory
is required, the implementation cost can be reduced.
[0044] In the description above, the prediction value candidate calculation module 011 calculates
k (6 in the description above) candidates for a prediction value, and selects one
prediction value by the multiplexer (MPX) 015 according to a control signal narrowed
with reference to FIGS. 6 and 7. In the process order, a candidate for a prediction
value can be narrowed with reference to FIGS. 6 and 7, and a prediction value can
be calculated with the same timing, and the process speed can be improved. That is,
in each of the prediction value determination module and the prediction value calculation
module, parallel processing is performed and each candidate for a prediction value
is calculated, each candidate for a prediction value is calculated, and then a prediction
value to be used can be determined, thereby performing data compression at a high
speed by the parallel processing. In the prediction value determination module and
the prediction value calculation module, an arithmetic process is performed using
a table. Therefore, program processing can be performed at a high speed.
[0045] On the other hand, as the implementation when the configuration scale is reduced
without overweighting the process speed, the intermediate value correspondence table
shown in FIG. 6 is removed from the configuration, three prediction values are first
calculated depending on the image format with reference to FIG. 7, and a intermediate
value is directly obtained from the three prediction values. Furthermore, another
pattern can be calculating and determining by which equation of a candidate for a
prediction value using the intermediate value correspondence table shown in FIG. 6,
and performing a calculating process by the determined equation only, thereby deleting
the configuration of selecting one prediction value from among a plurality of calculated
prediction values.
[0046] The image data compression device according to the present invention processes image
data passing like a stream in the order from upward to downward on the screen in a
frame unit for a progressive image and in a field unit for an interlace image. The
compressed data after the compression coding is put in a packet and transferred in
accordance with the transmission rules of the transmission line connected to the present
device.
[0047] FIG. 14 is a block diagram showing the configuration of the image data decompression
(decoding) device according to the embodiment of the present invention. In FIG. 14,
a compressed code 021 refers to a compressed code of image data variable-length encoded
as the output of the image data compression (coding) device according to an embodiment
of the present invention shown in FIG. 3. An inverse encoder 022 receives a compressed
code of image data, and outputs a quantization number corresponding to the code. A
inverse-quantizer 023 receives the quantization number and outputs a prediction error
quantization value X (024).
[0048] FIG. 15 is an inverse quantization table showing the correspondence of the prediction
error quantization value to the quantization number provided for the inverse-quantizer
023. The inverse quantization table shown in FIG. 15 receives the quantization number
and outputs the prediction error quantization value. The correspondence between the
prediction error quantization value and the quantization number shown in FIG. 15 has
to be consistent between the decompressing side and the compressing side. Therefore,
the compressing side is provided with a quantization table (FIG.5) showing the correspondence
between the prediction error quantization value and the quantization number corresponding
to FIG. 15.
[0049] FIG. 16 shows the arrangement of the pixel X to be decompressed and the peripheral
pixel when an image format 032 is, for example, an interlace image or a progressive
image. In FIG. 5, the lines are shown as broken lines.
[0050] The prediction error quantization value X (024) is added to a prediction value X'
(026) to obtain decompressed image data 025, and can be the peripheral pixel A (027)
as the next pixel to be decompressed.
[0051] A peripheral pixel A (027) is a pixel left to the pixel to be decompressed as shown
in FIG. 6. A line buffer for prediction 028 holds about one line of quantization result
for prediction, and is configured by, for example, a shift register. As shown in FIG.
16, a peripheral pixel C (029) is a pixel above the pixel to be decompressed (in the
preceding line), and a peripheral pixel B (030) is a pixel upper left to the pixel
to be decompressed (in the preceding line).
[0052] The prediction value X' (026) is one of the candidates for a prediction value calculated
by the prediction value candidate calculation module 031 on the basis of the peripheral
pixels A (027), C (029), and B (030), but the calculation of a candidate for a prediction
value when the image format is a progressive image is first described below. As shown
in FIG. 16, in the case of a progressive image, using the pixel level values of the
two pixels C and B in the previous line processed and the prediction level value of
the previous pixel processed in the same line, the candidate for a prediction value
for the prediction value X' (026) is A, C, (A+C-B) with the correlation among three
directions taken into account.
[0053] Described next is the calculation of a candidate for a prediction value when the
image format is an interlace image. As shown in FIG. 16, in the case of an interlace
image, an even line and an odd line are alternately transmitted. Therefore, when processing
is performed in a line unit without frame memory, pixels processed in the second line
above, which have weaker correlations, are used. Therefore, without using the pixel
level values of the pixels C and B in the second previous line processed, the pixel
C' between the pixel C and the pixel X, and the pixel B' between the pixel B and the
pixel A are assumed, and the process as with the above-mentioned progressive image
is to be performed using an interpolation value "(A+C)/2" between the pixels A and
C and the interpolation value "(2A+C-B)/2" between the pixels A and B, and furthermore,
the candidate for a prediction value for the prediction value X' (006) is defined
as A, (A+C)/2, (2A+C-B)/2 using the pixel level value of the pixel A as the previous
pixel processed in the same line in addition to the pixel C' and the pixel B', that
is, with the correlation among the three directions taken into account.
[0054] Thus, the prediction value candidate calculation module 031 calculates the following
candidates 1 through k (k=6 in the description of the present embodiment) for a prediction
value on the basis of the peripheral pixels A (027), C (029), and B (030), and transmits
the calculation results to the multiplexer (MPX) 035.
candidate for a prediction value 1: (A+C)/2
candidate for a prediction value 2: A
candidate for a prediction value 3: (2A+C-B)/2
candidate for a prediction value 4: C
candidate for a prediction value 5: A
candidate for a prediction value 6: A+C-B
[0055] In the calculation above, the prediction value candidate calculation module 031 can
determine a prediction value for an interlace image as an intermediate value of three
candidates for a prediction value "A", "(m*A+n*C)/(m+n)", and "A+ (m*A+n*C) / (m+n)
- (m*A+n*B) / (m+n)" using coefficients m and n that are values (positive integers
including 0) other than 0, and a sum of m and n is a value of i-th power of 2 so that
the process in the shift operation can be performed. To obtain the above-mentioned
prediction value, the prediction value candidate calculation module 031 calculates
the three candidates for a prediction value "A", " (m*A+n*C) / (m+n) ", and "A+ (m*A+n*C)
/ (m+n) - (m*A+n*B) / (m+n)" as the candidates for a prediction value 7 through 9
in addition to the above-mentioned candidates for a prediction value 1 through 6.
As a result, the value of k is 9. That is, to an interlace image with the coefficients
m and n taken into account, one image format is added in addition to the interlace
image or the progressive image without the consideration of the above-mentioned coefficients.
Therefore, the value of k is 9. Furthermore, if the number of image format increases,
the number of k is three times the number of the image formats.
[0056] As the coefficients m and n, for example, as an interlace-oriented prediction value
using m=1 and n=2, a prediction value that is strong against the fluctuation of the
pixel level value in the vertical direction can be calculated using "A", "(A+3*C)/4",
and "(4*A+3*C-3*B)/4". That is, for the image having a strong correlation in the vertical
direction is processed using the value of n larger than the value of m. The values
of the above-mentioned coefficients in the case of a progressive image are m=0 and
n=1 so that a prediction value similar to the value obtained for the conventional
MAP prediction device can be acquired.
[0057] The image format 032 is presented from the image processing device (not shown in
the attached drawings) to the image data compression device. However, an image data
format is generally represented as a signal indicating in which direction the image
has a strong pixel correlation, the horizontal direction or the vertical direction.
That is, the above-mentioned interlace image has a strong pixel correlation in the
horizontal direction, and the above-mentioned progressive image has a strong pixel
correlation in the vertical direction (the pixel correlation in the horizontal direction
is not necessarily stronger than the pixel correlation in the vertical direction).
The same holds true with the case in which the image format is a sampling format of
the image data according to the signal.
[0058] The prediction value determination module 013 determines which in the candidates
1 through k for a prediction value is set as a prediction value on the basis of two
correspondence tables shown in FIGS. 6 and 7, and transmits it as a control signal
014 to the multiplexer (MPX) 015. FIG. 6 is an intermediate value correspondence table
for comparing the pixel level values of the peripheral pixels A, B, and C, calculating
the intermediate value of the peripheral pixels A, B, and C, and narrowing the candidates
for a prediction value into the candidates (1) through (3) for a prediction value.
Corresponding to FIG. 17, the intermediate value correspondence table (6) showing
the correspondence between the candidates for a prediction value (1) through (3) and
the intermediate value is provided for the compressing side.
[0059] FIG. 18 is an intermediate value - image format correspondence table used in transmitting
to the multiplexer (MPX) 015 the candidates (1) through (3) for a prediction value
narrowed in FIG. 17 and the control signal 034 indicating which in the candidates
1 through k for a prediction value is finally to be used as a prediction value depending
on whether the image format 032 is an interlace image or a progressive image. What
is output as the control signal 034 is a 3-bit (000 - 101) signal as shown in the
correspondence table in FIG. 7. In addition, as described above, when the calculation
output of the three candidates for a prediction value "A", " (m*A+n*C) / (m+n) ",
and "A+ (m*A+n*C) / (m+n) - (m*A+n*B) / (m+n) " about an interlace image with the
coefficients m and n taken into account is added, the candidates for a prediction
value "A", " (m*A+n*C) / (m+n) ", and "A+ (m*A+n*C) / (m+n) - (m*A+n*B) / (m+n) "
identified by a control signal (represented by 4 bits in this case) are added to the
image column having a strong pixel correlation in the horizontal direction with respect
to the candidates (1) through (3) for a prediction value. Therefore, with respect
to FIG. 18, the decompressing side is provided with an intermediate value - image
format correspondence table (FIG. 18) indicating the correspondence between the intermediate
value and the image format.
[0060] The multiplexer (MPX) 035 determines which of the candidates 1 through k for a prediction
value is selected as a prediction value according to the control signal 034. FIG.
19 is a correspondence table showing the correspondence between the control signal
034 and the above-mentioned candidates for a prediction value 1 through 6. That is,
a control signal (000) corresponds to a candidate 1 for a prediction value, a control
signal (001) corresponds to a candidate 2 for a prediction value, a control signal
(010) corresponds to a candidate 3 for a prediction value, a control signal (011)
corresponds to a candidate 4 for a prediction value, a control signal (100) corresponds
to a candidate 5 for a prediction value, and a control signal (101) corresponds to
the candidate 6 for a prediction value. As described above, when the calculation output
of the three candidates for a prediction value "A", " (m*A+n*C) / (m+n) ", and "A+
(m*A+n*C) / (m+n) - (m*A+n*B) / (m+n)" for an interlace image with the coefficients
m and n taken into account are added from the prediction value candidate calculation
module 031, the candidates for a prediction value "A", " (m*A+n*C) / (m+n) ", and
"A+(m*A+n*C) / (m+n) - (m*A+n*B) / (m+n) " are added as the candidates for a prediction
value to be used in the table shown in FIG. 19. In addition, a control signal (a 4-bit
signal in this case) having a bit width for identification of the three candidates
for a prediction value with the control signal added is required. The correspondence
between the control signal and the candidate for a prediction value shown in FIG.
19 is to be consistent between the compressing side and the decompressing side. With
respect to FIG. 19, a correspondence table (FIG. 19) showing the correspondence between
the control signal and the candidate for a prediction value is provided for the compressing
side. Although 3-bit control signals (000) through (101) are associated as the control
signal 034 according to the present embodiment, the control signal not in this format
can also be used so far as the candidates 1 through 6 for a prediction value can be
associated.
[0061] In addition, a correspondence table indicating according to the signal about a sampling
format of image data which prediction value is to be used is stored in the prediction
value determination module 033 regardless of the interlace image or the progressive
image, and a prediction value can be determined on the basis of the correspondence
table.
[0062] Although not shown in the attached drawings, a control signal indicating the sampling
format of the image data is transmitted from the prediction value determination module
033 to the prediction value candidate calculation module 031. Based n the signal,
the prediction value candidate calculation module 031 can determine the value of the
above-mentioned coefficients m and n.
[0063] FIG. 20A is a flowchart for explanation of the operation of the image data compression
(coding) device according to an embodiment of the present invention. FIG. 20B is a
flowchart for explanation of the process of the "local decoder" in step S027 shown
in FIG. 20A. In FIGS. 20A and 20B, S is short for step.
[0064] Before describing the steps shown in FIG. 20A, it is to be noted that the process
enters the loop until all image data is processed in the present embodiment.
S021: Compressed code 021 is input to the inverse encoder 022, and a quantization
number is output.
S022: The quantization number is input to the inverse-quantizer 023, and a quantization
number is output.
S023: The continuity evaluation result feedback module 033 compares the pixel level
values among the peripheral pixels A (027), C (029), and B (030). Based on the comparison
result and the image format 032, and with reference to the correspondence tables shown
in FIGS. 17 and 18, the control signal 034 is transmitted to the multiplexer (MPX)
035.
S024: The prediction value candidate calculation module 031 calculates the candidates
1 through 6 for a prediction value on the basis of the peripheral pixels A (027),
C (029), and B (030). In this case, a prediction value is calculated by an integer
operation and a shift operation. Then, during the integer operation of (2A+C-B+1)/2
and (A+C+1)/2, the digits to the right of the decimal point are discarded. During
the real number operation, 1 is added, and no digits are discarded and the value of
(2A+C-B)/2 and (A+C)/2 are used as is.
S025: The MPX 035 determines a prediction value according to the candidates 1 through
6 for a prediction value and the control signal 034.
S026: The quantization value of the prediction error acquired in S022 is added to
the prediction value acquired in S024 to calculate a pixel to be decompressed (decompressed
image data 025).
S027: To decompress the next pixel, the peripheral pixels A, B, and C, and the line
buffer 028 for prediction are updated (local decoder).
S028: The peripheral pixel C (029) is substituted for the peripheral pixel B (030)
of the next pixel to be decompressed.
S029: The peripheral pixel C (029) of the next pixel to be decompressed is acquired
from the line buffer 028 for prediction.
S030: The peripheral pixel A (027) is substituted for the line buffer 028 for prediction.
S031: The quantization value and the prediction value are added up, and the sum is
substituted for the peripheral pixel A (027) of the next pixel to be decompressed.
[0065] In addition, for example, the line buffer 028 for prediction refers to the value
as shown in FIG. 21, quantization results of a prediction device for an interlace
image and a prediction device for a progressive image are represented as the tables
shown in FIGS. 22 and 23. When the line buffer 028 for prediction has the pixel value
as shown in FIG. 21, the tables shown in FIGS. 22 and 23 can be easily derived from
the operation of the image data decompression (decoding) device according to the embodiments
of the present invention shown in FIGS. 20A and 20B. In this case, the pixel C (029)
after the previous decompression is the pixel B (030) after the current decompression,
and the previous "prediction value + prediction error quantization value" is the current
pixel A (027).
[0066] FIG. 24 is a block diagram of the configuration of the system of the image data decompression
device according to the embodiment of the present invention, and is realized by a
block represented as the function of the contents described above. In FIG. 24, the
image data decompression device according to the embodiment of the present invention
inputs the image data 202 as the output of the image data compression device to the
decompressing unit 210, the decompressing unit 210 inputs the input image data 202to
the inverse encoding unit 211 corresponding to the inverse encoder 022 shown in FIG.
14, and obtains a quantization number from the inverse encoding unit 211. Then, the
quantization number is input to the inverse quantizing unit 212 corresponding to the
inverse-quantizer 023. The inverse quantizing unit 212 obtains a prediction error
quantization value from the quantization number with reference to the inverse quantization
table 213 as shown in FIG. 15. The obtained prediction error quantization value is
input to the predicting unit 214. The predicting unit 214 refers to the intermediate
value correspondence table 215 as shown in FIG. 17, and the intermediate value - image
format correspondence table 216 as shown in FIG. 18, calculates a candidate for a
prediction value by the prediction value candidate calculation unit 217 corresponding
to prediction value candidate calculation module 031, and determines a prediction
value from among the candidates for a prediction value calculated by the prediction
value candidate calculation unit 217 by the prediction value determination unit 218
corresponding to the MPX 035 on the basis of the image format 204. Then, the predicting
unit 214 outputs the prediction error quantization value calculated by the prediction
value candidate calculation unit 217 as output and a prediction value determined by
the prediction value determination unit 218, and inputs the output prediction value
and the prediction error quantization value to the decompression value calculation
unit 219. The decompression value calculation unit 219 adds up the input prediction
value and prediction error quantization value to obtain a decompressed pixel value,
accumulates the value, and obtains the decompressed (image) data 206.
[0067] Thus, according to the image data decompression device of the present invention,
the prediction value can be appropriately used depending on the image format, and
the prediction error can be reduced on each image format, thereby enhancing the decompression
efficiency. Since only a prediction value is to be switched depending on the image
format, a program and a circuit configuration for implementation can be simplified.
[0068] In the descriptions above, an intermediate value among A, B, and C is obtained and
a candidate for a prediction value to be selected is determined on the basis of an
intermediate value correspondence table, but an intermediate value of candidates for
a prediction value can also be obtained after calculating the candidates for a prediction
value.
[0069] Also in the description above, the prediction value for an interlace image is (A+C)/2,
A and (2A+C-B)/2. However, the prediction value candidate calculation module calculates
"A", " (m*A+n*C) / (m+n) ", and "A+ (m*A+n*C) / (m+n) - (m*A+n*B) / (m+n) " using
the coefficients m and n from the pixel level values A, B, and C, substitutes a value
using coefficients m and n that are values other than 0, and can calculate a prediction
value strong against the fluctuation of the pixel level value in the vertical direction
using "A", "(A+3*C)/4", and "(4*A+3*C-3*B)/4" as the prediction value for an interlace
image. Furthermore, the prediction value determination module and the prediction value
calculation module can perform parallel processing, and a prediction value to be used
can be determined after each candidate for a prediction value is calculated. Therefore,
the parallel processing can perform data decompression at a high speed.
[0070] In addition, regardless of an interlace image or an progressive image as an image
format, the prediction value can be used appropriately according to a signal indicating
a sampling format of image data to attain similar effect.
[0071] For example, the sampling format of the image data stored on a common DVD is normally
a 4:2:2 format. In this format, the image size of the Y component (brightness component)
is 720 × 480, the horizontal image size of the C component (color component) is a
half of the Y component. Therefore, since the C component refers to image data having
a strong correlation in the vertical direction, problems can be solved by making the
value of n larger than the value of m. That is, by increasing the gravity to the peripheral
pixel having a strong correlation in the vertical direction (increasing the value
of n), the degradation of the prediction error can avoided. For example, in the interlace
image having the image data of a sampling format of 4:2:2 and the image size of 720
× 480, the image data having a strong correlation in the vertical direction is processed
using m=1 and n=3 for the C component. For the Y component, image data having a strong
correlation in the horizontal direction is processed using m=1 and n=1 in the case
of the image size 720 × 480. Relating to the coefficients m and n when the image data
has a strong correlation in the horizontal direction, the value of m is assigned the
same value of n. If the degradation of the prediction error still advances, the value
of m is further increased. Furthermore, when the sampling format of the image data
as another example is a 4:4:4 format and the image size is 800 × 800 as a progressive
image, m=0 and n=1.
[0072] Furthermore, since only field memory (buffer of 1 line) is used, and no frame memory
is required, the implementation cost can reduced. Furthermore, since an interlace
image and a progressive image can be processed only by switching prediction values,
the circuit scale can be simplified.
[0073] In the description above, the prediction value candidate calculation module 031 calculates
k (6 in the description above) candidates for a prediction value, and selects one
prediction value by the multiplexer (MPX) 035 according to a control signal narrowed
with reference to FIGS. 17 and 18. In the process order, a candidate for a prediction
value can be narrowed with reference to FIGS. 17 and 18, and a prediction value can
be calculated with the same timing, and the process speed can be improved. That is,
in each of the prediction value determination module and the prediction value calculation
module, parallel processing is performed and each candidate for a prediction value
is calculated, each candidate for a prediction value is calculated, and then a prediction
value to be used can be determined, thereby performing data compression at a high
speed by the parallel processing. In the prediction value determination module and
the prediction value calculation module, an arithmetic process is performed using
a table. Therefore, program processing can be performed at a high speed.
[0074] On the other hand, as the implementation when the configuration scale is reduced
without overweighting the process speed, the intermediate value correspondence table
shown in FIG. 17 is removed from the configuration, three prediction values are first
calculated depending on the image format with reference to FIG. 18, and a intermediate
value is directly obtained from the three prediction values. Furthermore, another
pattern can be calculating and determining by which equation of a candidate for a
prediction value using the intermediate value correspondence table shown in FIG. 17,
and performing a calculating process by the determined equation only, thereby deleting
the configuration of selecting one prediction value from among a plurality of calculated
prediction values.
Applicability in Industry
[0075] The image data compression device and the image data decompression device according
to the present invention can be read as one-chip LSI to be loaded into a desired application
equipment, and can be applied to, for example, a car-mounted video data transmission
system including a car navigation system, various amusement (game, animation, etc.)
equipment. For example, in a car-mounted video data transmission system, a display
is provided on the rear side to supply video different from the front side. Therefore,
the image data processed by the video data processing device implemented on the front
side can be compressed and transmitted to the rear side. On the rear side, the transmitted
image data is decompressed and displayed. When image data is relayed, the compressing
and decompressing processes are repeated at each relay point.
1. An image data compression device (110), comprising
- a prediction device (112) for predicting a pixel level value of a pixel to be compressed
when image data is compressed,
- a quantizing unit (117) for quantizing a difference value between a prediction value
determined by the prediction device (112) and an actual pixel level value and associating
a quantization number to the quantized difference,
- and a coding unit (119) performing encoding on the basis of the quantization number,
characterized in that the prediction device (112) includes:
- a prediction value candidate calculation unit (115) to calculate a plurality of
candidates for a prediction value with respect to each of
-- an image format in which an image has a stronger pixel correlation in a horizontal
direction than in a vertical direction and
-- an image format in which an image has a stronger pixel correlation in a vertical
direction than in a horizontal direction,
using pixel level values of a pixel left to the pixel to be compressed defined as
A, a pixel above the pixel to be compressed defined as C, and a pixel upper left to
the pixel to be compressed defined as B; and
- a prediction value determination unit (116) configured
- to narrow the plurality of candidates for the prediction value into two candidates
for the prediction value by selecting
-- the pixel whose pixel value is the second largest value among pixel level values
of A, C, and B in a case where the pixel level values of A, C, and B differ from each
other,
-- pixel B in a case where the pixel level value of B is less than a pixel level value
of A and the pixel level value of B is equal to a pixel level value of C, and in a
case where the pixel level value of B is larger than a pixel level value of C and
the pixel level value of B is equal to a pixel level value of A,
-- pixel A in a case where the pixel level value of A is less than a pixel level value
of C and the pixel level value of A is equal to a pixel level value of B, and in a
case where the pixel level value of A is larger than a pixel level value of B and
the pixel level value of A is equal to a pixel level value of C, and
-- pixel C in a case where the pixel level value of C is less than a pixel level value
of B and the pixel level value of C is equal to a pixel level value of A, in a case
where the pixel level value of C is larger than a pixel level value of A and the pixel
level value of C is equal to a pixel level value of B, and in a case where the pixel
level values of A, C, and B are same,
by associating via a first correspondence table an index value to the selected pixel,
and selecting the two candidates corresponding to said index value via a second correspondence
table;
- to determine one of the two candidates for the prediction value as the prediction
value according to whether the image format of said image is
-- the image format in which an image has the stronger pixel correlation in a horizontal
direction than in a vertical direction or
-- the image format in which an image has the stronger pixel correlation in a vertical
direction than in a horizontal direction.
2. The device according to claim 1, wherein the image format in which an image has the
stronger pixel correlation in the horizontal direction than in the vertical direction
is an interlace image format, and the image format in which an image has the stronger
pixel correlation in the vertical direction than in the horizontal direction is a
progressive image format.
3. The device according to claim 1 or 2, wherein
- the prediction device further includes:
- - a multiplexer (015) to output the prediction value selected with a control signal
corresponding to the candidate for the prediction value determined as the prediction
value;
- - a plurality of registers to hold the peripheral pixels A, B and C; and
- - a line buffer (008) to hold one line of pixel values, and
- the prediction value determination unit (116) comprises means for transmitting the
control signal to the multiplexer.
4. An image data compressing method by an image data compression device (110), comprising:
- a process of quantizing a difference value between a prediction value and an actual
pixel level value and associating a quantization number to the quantized difference;
- a process of holding pixel values of a pixel A defined as a pixel left to the pixel
to be compressed, a pixel C defined as a pixel above the pixel to be compressed, and
a pixel B defined as a pixel upper left to the pixel to be compressed, before encoding
data, and
- a process of encoding on the basis of the quantization number,
characterized by
- a process of calculating a plurality of candidates for the prediction value with
respect to each of
-- an image format in which an image has a stronger pixel correlation in a horizontal
direction than in a vertical direction and
-- an image format in which an image has a stronger pixel correlation in a vertical
direction than in a horizontal direction,
using pixel level values of the held pixels A, C, and B;
- a process of
-- narrowing the plurality of candidates for the prediction value into two candidates
for the prediction value by selecting
-- the pixel whose pixel value is the second largest value among pixel level values
of A, C, and B in a case where the pixel level values of A, C, and B differ from each
other,
-- pixel B in a case where the pixel level value of B is less than a pixel level value
of A and the pixel level value of B is equal to a pixel level value of C, and in a
case where the pixel level value of B is larger than a pixel level value of C and
the pixel level value of B is equal to a pixel level value of A,
--- pixel A in a case where the pixel level value of A is less than a pixel level
value of C and the pixel level value of A is equal to a pixel level value of B, and
in a case where the pixel level value of A is larger than a pixel level value of B
and the pixel level value of A is equal to a pixel level value of C, and
--- pixel C in a case where the pixel level value of C is less than a pixel level
value of B and the pixel level value of C is equal to a pixel level value of A, in
a case where the pixel level value of C is larger than a pixel level value of A and
the pixel level value of C is equal to a pixel level value of B, and in a case where
the pixel level values of A, C, and B are same
by associating via a first correspondence table an index value to the selected pixel,
and selecting the two candidates corresponding to said index value via a second correspondence
table;
-- determining one of the two candidates for the prediction value according to whether
the image format of said image is
--- the image format in which an image has the stronger pixel correlation in a horizontal
direction than in a vertical direction or
--- the image format in which an image has the stronger pixel correlation in a vertical
direction than in a horizontal direction.
5. The method according to claim 4 , comprising
- a process of transmitting the a control signal corresponding to the candidate for
the prediction value determined as the prediction value to a multiplexer, and
- a process of outputting the prediction value selected with the control signal by
the multiplexer.
6. A program adapted to direct a computer to perform the method of claim 4.
7. The program according to claim 6, comprising
- a step of transmitting a control signal corresponding to the candidate for the prediction
value determined as the prediction value to a multiplexer, and
- a step of outputting the prediction value selected with the control signal by the
multiplexer.
8. An image data decompression device (210) for decompressing image data (202) comprising
- an inverse encoder (211) for receiving compressed code of image data and outputting
a quantization number corresponding to the code,
- an inverse-quantizer (212) for obtaining from the quantization number a prediction
error quantization value associated with the quantization number,
- a prediction device (214) for determining a prediction value, and
- a decompression value calculation unit (219) for adding the prediction value determined
by the prediction device (214) to the prediction error quantization value obtained
through the inverse-quantizer (212) thereby obtaining a decompressed pixel data;
characterized in that the prediction device (214) includes
- a prediction value candidate calculation unit (217) for
-- calculating a plurality of candidates for a prediction value with respect to each
of
--- an image format in which an image has the stronger pixel correlation in a horizontal
direction than in a vertical direction and
--- an image format in which an image has the stronger pixel correlation in a vertical
direction than in a horizontal direction
using a pixel level values of a pixel left to the pixel to be decompressed defined
A, a pixel above the pixel to be compressed defined C, and a pixel upper left to the
pixel to be decompressed defined B; and
- a prediction value determination unit (218) for
-- narrowing the plurality of candidates for the prediction value into two candidates
for the prediction value by selecting
--- the pixel whose pixel value is the second largest value among pixel level values
of A, C, and B in a case where the pixel level values of A, C, and B differ from each
other,
--- pixel B in a case where the pixel level value of B is less than a pixel level
value of A and the pixel level value of B is equal to a pixel level value of C, and
in a case where the pixel level value of B is larger than a pixel level value of C
and the pixel level value of B is equal to a pixel level value of A,
--- pixel A in a case where the pixel level value of A is less than a pixel level
value of C and the pixel level value of A is equal to a pixel level value of B, and
in a case where the pixel level value of A is larger than a pixel level value of B
and the pixel level value of A is equal to a pixel level value of C, and
--- pixel C in a case where the pixel level value of C is less than a pixel level
value of B and the pixel level value of C is equal to a pixel level value of A, in
a case where the pixel level value of C is larger than a pixel level value of A and
the pixel level value of C is equal to a pixel level value of B, and in a case where
the pixel level values of A, C, and B are same
by associating via a first correspondence table an index value to the selected pixel,
and selecting the two candidates corresponding to said index value via a second correspondence
table; and
-- determining one of the two prediction candidates for the prediction value as the
prediction value according to whether the image format of said image is
--- the image format in which an image has the stronger pixel correlation in a horizontal
direction than in a vertical direction or
--- the image format in which an image has the stronger pixel correlation in a vertical
direction than in a horizontal direction.
9. An image data decompressing method by an image data decompression device (210) which
decompresses image data comprising
- a process of receiving compressed code of image data and outputting a quantization
number corresponding to the code,
- a process of obtaining from the quantization number a prediction error quantization
value associated with the quantization number,
- a process of adding a prediction value to the obtained prediction error quantization
value thereby obtaining a decompressed pixel data, and obtaining a next peripheral
pixel value;
- a process of holding pixel values of a pixel A defined as a pixel left to the pixel
to be decompressed, a pixel C defined as a pixel above the pixel to be decompressed,
and a pixel B defined as a pixel upper left to the pixel to be decompressed, before
decompressing a compressed code,
characterized by
- a process of calculating a plurality of candidates for the prediction value with
respect to each of
-- an image format in which an image has a stronger pixel correlation in a horizontal
direction than in a vertical direction and
-- an image format in which an image has a stronger pixel correlation in a vertical
direction than in a horizontal direction
using the pixel values of the held peripheral pixels A, C, and B;
- a process of
-- narrowing the plurality of candidates for the prediction value into two candidates
for the prediction value by selecting
--- the pixel whose pixel value is the second largest value among pixel level values
of A, C, and B in a case where the pixel level values of A, C, and B differ from each
other,
--- pixel B in a case where the pixel level value of B is less than a pixel level
value of A and the pixel level value of B is equal to a pixel level value of C, and
in a case where the pixel level value of B is larger than a pixel level value of C
and the pixel level value of B is equal to a pixel level value of A,
--- pixel A in a case where the pixel level value of A is less than a pixel level
value of C and the pixel level value of A is equal to a pixel level value of B, and
in a case where the pixel level value of A is larger than a pixel level value of B
and the pixel level value of A is equal to a pixel level value of C, and
--- pixel C in a case where the pixel level value of C is less than a pixel level
value of B and the pixel level value of C is equal to a pixel level value of A, in
a case where the pixel level value of C is larger than a pixel level value of A and
the pixel level value of C is equal to a pixel level value of B, and in a case where
the pixel level values of A, C, and B are same
by associating via a first correspondence table an index value to the selected pixel,
and selecting the two candidates corresponding to said index value via a second correspondence
table;,
-- determining as the prediction value one of the two candidates for the prediction
value according to whether the image format of said image is
--- the image format in which an image has the stronger pixel correlation in a horizontal
direction than in a vertical direction or
--- the image format in which an image has the stronger pixel correlation in a vertical
direction than in a horizontal direction.
10. The method according to claim 9, comprising
- a process of transmitting a control signal corresponding to the candidate for the
prediction value determined as the prediction value to a multiplexer, and
- a process of outputting the prediction value selected with the control signal by
the multiplexer.
11. A program adapted to direct a computer to perform the method of claim 9.
12. The program according to claim 11 , comprising
- a step of transmitting a control signal corresponding to the candidate for the prediction
value determined as the prediction value to a multiplexer, and
- a step of outputting the prediction value selected with the control signal by the
multiplexer.
1. Bilddatenkomprimierungsvorrichtung (110), umfassend:
- eine Vorhersagevorrichtung (112) zum Vorhersagen eines Pixelpegelwertes eines Pixels,
das zu komprimieren ist, wenn Bilddaten komprimiert werden,
- eine Quantisierungseinheit (117) zum Quantisieren eines Differenzwertes zwischen
einem durch die Vorhersagevorrichtung (112) bestimmten Vorhersagewert und einem tatsächlichen
Pixelpegelwert und Zuordnen einer Quantisierungszahl zu der quantisierten Differenz
- und eine Codiereinheit (119) zum Ausführen einer Codierung auf der Basis der Quantisierungszahl,
dadurch gekennzeichnet, daß die Vorhersagevorrichtung (112) enthält:
- eine Vorhersagewertkandidatenberechnungseinheit (115), um eine Vielzahl von Kandidaten
für einen Vorhersagewert zu berechnen, in Bezug auf
- ein Bildformat, in dem ein Bild eine stärkere Pixelkorrelation in horizontaler Richtung
als in vertikaler Richtung hat, als auch
- ein Bildformat, in dem ein Bild eine stärkere Pixelkorrelation in vertikaler Richtung
als in horizontaler Richtung hat,
unter Verwendung von Pixelpegelwerten eines Pixels links von dem zu komprimierenden
Pixel, das als A definiert ist, eines Pixels oberhalb des zu komprimierenden Pixels,
das als C definiert ist, und eines Pixels oben links von dem zu komprimierenden Pixel,
das als B definiert ist; und
- eine Vorhersagewertbestimmungseinheit (116), die konfiguriert ist,
- um die Vielzahl von Kandidaten für den Vorhersagewert auf zwei Kandidaten für den
Vorhersagewert einzuschränken, durch Selektieren
-- des Pixels, dessen Pixelwert der zweitgrößte Wert unter Pixelpegelwerten von A,
C und B ist, falls sich die Pixelpegelwerte von A, C und B voneinander unterscheiden,
-- des Pixels B, falls der Pixelpegelwert von B kleiner als ein Pixelpegelwert von
A ist und der Pixelpegelwert von B gleich einem Pixelpegelwert von C ist und falls
der Pixelpegelwert von B größer als ein Pixelpegelwert von C ist und der Pixelpegelwert
von B gleich einem Pixelpegelwert von A ist,
-- des Pixels A, falls der Pixelpegelwert von A kleiner als ein Pixelpegelwert von
C ist und der Pixelpegelwert von A gleich einem Pixelpegelwert von B ist und falls
der Pixelpegelwert von A größer als ein Pixelpegelwert von B ist und der Pixelpegelwert
von A gleich einem Pixelpegelwert von C ist, und
-- des Pixels C, falls der Pixelpegelwert von C kleiner als ein Pixelpegelwert von
B ist und der Pixelpegelwert von C gleich einem Pixelpegelwert von A ist, falls der
Pixelpegelwert von C größer als ein Pixelpegelwert von A ist und der Pixelpegelwert
von C gleich einem Pixelpegelwert von B ist und falls die Pixelpegelwerte von A, C
und B dieselben sind,
durch Zuordnen, über eine erste Entsprechungstabelle, eines Indexwertes zu dem selektierten
Pixel und Selektieren der zwei Kandidaten entsprechend dem genannten Indexwert über
eine zweite Entsprechungstabelle;
- um einen der zwei Kandidaten für den Vorhersagewert als Vorhersagewert danach zu
bestimmen, ob das Bildformat des genannten Bildes
-- das Bildformat ist, in dem ein Bild die stärkere Pixelkorrelation in horizontaler
Richtung als in vertikaler Richtung hat, oder
-- das Bildformat ist, in dem ein Bild die stärkere Pixelkorrelation in vertikaler
Richtung als in horizontaler Richtung hat.
2. Vorrichtung nach Anspruch 1, bei der das Bildformat, in dem ein Bild die stärkere
Pixelkorrelation in horizontaler Richtung als in vertikaler Richtung hat, ein Interlace-Bildformat
ist und das Bildformat, in dem ein Bild die stärkere Pixelkorrelation in vertikaler
Richtung als in horizontaler Richtung hat, ein Progressive-Bildformat ist.
3. Vorrichtung nach Anspruch 1 oder 2, bei der
- die Vorhersagevorrichtung ferner enthält:
- einen Multiplexer (015), um den mit einem Steuersignal selektierten Vorhersagewert
entsprechend dem Kandidaten für den Vorhersagewert auszugeben, der als Vorhersagewert
bestimmt wurde;
- - eine Vielzahl von Registern, um die peripheren Pixel A, B und C zu halten; und
- - einen Zeilenpuffer (008), um eine Zeile von Pixelwerten zu halten, und
- die Vorhersagewertbestimmungseinheit (116) ein Mittel zum Senden des Steuersignals
an den Multiplexer umfaßt.
4. Bilddatenkomprimierungsverfahren durch eine Bilddatenkomprimierungsvorrichtung (110),
umfassend:
- einen Prozeß zum Quantisieren eines Differenzwertes zwischen einem Vorhersagewert
und einem tatsächlichen Pixelpegelwert und Zuordnen einer Quantisierungszahl zu der
quantisierten Differenz;
- einen Prozeß zum Halten von Pixelwerten eines Pixels A, das als Pixel links von
dem zu komprimierenden Pixel definiert ist, eines Pixels C, das als Pixel oberhalb
des zu komprimierenden Pixels definiert ist, und eines Pixels B, das als Pixel oben
links von dem zu komprimierenden Pixel definiert ist, vor dem Codieren von Daten und
- einen Prozeß zum Codieren auf der Basis der Quantisierungszahl,
gekennzeichnet durch
- einen Prozeß zum Berechnen einer Vielzahl von Kandidaten für den Vorhersagewert
in Bezug auf
-- ein Bildformat, in dem ein Bild eine stärkere Pixelkorrelation in horizontaler
Richtung als in vertikaler Richtung hat, als auch
-- ein Bildformat, in dem ein Bild eine stärkere Pixelkorrelation in vertikaler Richtung
als in horizontaler Richtung hat,
unter Verwendung von Pixelpegelwerten der gehaltenen Pixel A, C und B;
- einen Prozeß zum
-- Einschränken der Vielzahl von Kandidaten für den Vorhersagewert auf zwei Kandidaten
für den Vorhersagewert durch Selektieren
--- des Pixels, dessen Pixelwert der zweitgrößte Wert unter Pixelpegelwerten von A,
C und B ist, falls sich die Pixelpegelwerte von A, C und B voneinander unterscheiden,
--- des Pixels B, falls der Pixelpegelwert von B kleiner als ein Pixelpegelwert von
A ist und der Pixelpegelwert von B gleich einem Pixelpegelwert von C ist und falls
der Pixelpegelwert von B größer als ein Pixelpegelwert von C ist und der Pixelpegelwert
von B gleich einem Pixelpegelwert von A ist,
--- des Pixels A, falls der Pixelpegelwert von A kleiner als ein Pixelpegelwert von
C ist und der Pixelpegelwert von A gleich einem Pixelpegelwert von B ist und falls
der Pixelpegelwert von A größer als ein Pixelpegelwert von B ist und der Pixelpegelwert
von A gleich einem Pixelpegelwert von C ist, und
--- des Pixels C, falls der Pixelpegelwert von C kleiner als ein Pixelpegelwert von
B ist und der Pixelpegelwert von C gleich einem Pixelpegelwert von A ist, falls der
Pixelpegelwert von C größer als ein Pixelpegelwert von A ist und der Pixelpegelwert
von C gleich einem Pixelpegelwert von B ist und falls die Pixelpegelwerte von A, C
und B dieselben sind,
durch Zuordnen, über eine erste Entsprechungstabelle, eines Indexwertes zu dem selektierten
Pixel und Selektieren der zwei Kandidaten entsprechend dem genannten Indexwert über
eine zweite Entsprechungstabelle;
-- Bestimmen eines der zwei Kandidaten für den Vorhersagewert danach, ob das Bildformat
des genannten Bildes
--- das Bildformat ist, in dem ein Bild die stärkere Pixelkorrelation in horizontaler
Richtung als in vertikaler Richtung hat, oder
--- das Bildformat ist, in dem ein Bild die stärkere Pixelkorrelation in vertikaler
Richtung als in horizontaler Richtung hat.
5. Verfahren nach Anspruch 4, umfassend:
- einen Prozeß zum Senden eines Steuersignals entsprechend dem Kandidaten für den
Vorhersagewert, der als Vorhersagewert bestimmt wurde, an einen Multiplexer und
- einen Prozeß zum Ausgeben des mit dem Steuersignal selektierten Vorhersagewertes
durch den Multiplexer.
6. Programm, das dafür ausgelegt ist, um einen Computer anzuweisen, das Verfahren nach
Anspruch 4 auszuführen.
7. Programm nach Anspruch 6, umfassend:
- einen Schritt zum Senden eines Steuersignals entsprechend dem Kandidaten für den
Vorhersagewert, der als Vorhersagewert bestimmt wurde, an einen Multiplexer und
- einen Schritt zum Ausgeben des mit dem Steuersignal selektierten Vorhersagewertes
durch den Multiplexer.
8. Bilddatendekomprimierungsvorrichtung (210) zum Dekomprimieren von Bilddaten (202),
umfassend:
- einen inversen Codierer (211) zum Empfangen eines komprimierten Codes von Bilddaten
und Ausgeben einer Quantisierungszahl entsprechend dem Code,
- einen inversen Quantisierer (212) zum Erhalten, von der Quantisierungszahl, eines
Vorhersagefehlerquantisierungswertes, der der Quantisierungszahl zugeordnet ist,
- eine Vorhersagevorrichtung (214) zum Bestimmen eines Vorhersagewertes und
- eine Dekomprimierungswertberechnungseinheit (219) zum Addieren des durch die Vorhersagevorrichtung
(214) bestimmten Vorhersagewertes zu dem Vorhersagefehlerquantisierungswert, der durch
den inversen Quantisierer (212) erhalten wurde, wodurch dekomprimierte Pixeldaten
erhalten werden;
dadurch gekennzeichnet, daß die Vorhersagevorrichtung (214) enthält:
- eine Vorhersagewertkandidatenberechnungseinheit (217) zum
-- Berechnen einer Vielzahl von Kandidaten für einen Vorhersagewert in Bezug auf
--- ein Bildformat, in dem ein Bild die stärkere Pixelkorrelation in horizontaler
Richtung als in vertikaler Richtung hat, als auch
--- ein Bildformat, in dem ein Bild die stärkere Pixelkorrelation in vertikaler Richtung
als in horizontaler Richtung hat,
unter Verwendung von Pixelpegelwerten eines Pixels links von dem zu dekomprimierenden
Pixel, das als A definiert ist, eines Pixels oberhalb des zu dekomprimierenden Pixels,
das als C definiert ist, und eines Pixels oben links von dem zu dekomprimierenden
Pixel, das als B definiert ist; und
- eine Vorhersagewertbestimmungseinheit (218) zum
-- Einschränken der Vielzahl von Kandidaten für den Vorhersagewert auf zwei Kandidaten
für den Vorhersagewert durch Selektieren
--- des Pixels, dessen Pixelwert der zweitgrößte Wert unter Pixelpegelwerten von A,
C und B ist, falls sich die Pixelpegelwerte von A, C und B voneinander unterscheiden,
--- des Pixels B, falls der Pixelpegelwert von B kleiner als ein Pixelpegelwert von
A ist und der Pixelpegelwert von B gleich einem Pixelpegelwert von C ist und falls
der Pixelpegelwert von B größer als ein Pixelpegelwert von C ist und der Pixelpegelwert
von B gleich einem Pixelpegelwert von A ist,
--- des Pixels A, falls der Pixelpegelwert von A kleiner als ein Pixelpegelwert von
C ist und der Pixelpegelwert von A gleich einem Pixelpegelwert von B ist und falls
der Pixelpegelwert von A größer als ein Pixelpegelwert von B ist und der Pixelpegelwert
von A gleich einem Pixelpegelwert von C ist, und
--- des Pixels C, falls der Pixelpegelwert von C kleiner als ein Pixelpegelwert von
B ist und der Pixelpegelwert von C gleich einem Pixelpegelwert von A ist, falls der
Pixelpegelwert von C größer als ein Pixelpegelwert von A ist und der Pixelpegelwert
von C gleich einem Pixelpegelwert von B ist und falls die Pixelpegelwerte von A, C
und B dieselben sind,
durch Zuordnen, über eine erste Entsprechungstabelle, eines Indexwertes zu dem selektierten
Pixel und Selektieren der zwei Kandidaten entsprechend dem genannten Indexwert über
eine zweite Entsprechungstabelle; und
-- Bestimmen eines der zwei Vorhersagekandidaten für den Vorhersagewert als Vorhersagewert
danach, ob das Bildformat des genannten Bildes
--- das Bildformat ist, in dem ein Bild die stärkere Pixelkorrelation in horizontaler
Richtung als in vertikaler Richtung hat, oder
--- das Bildformat ist, in dem ein Bild die stärkere Pixelkorrelation in vertikaler
Richtung als in horizontaler Richtung hat.
9. Bilddatendekomprimierungsverfahren durch eine Bilddatendekomprimierungsvorrichtung
(210), die Bilddaten dekomprimiert, umfassend:
- einen Prozeß zum Empfangen eines komprimierten Codes von Bilddaten und Ausgeben
einer Quantisierungszahl entsprechend dem Code,
- einen Prozeß zum Erhalten, von der Quantisierungszahl, eines Vorhersagefehlerquantisierungswertes,
der der Quantisierungszahl zugeordnet ist,
- einen Prozeß zum Addieren eines Vorhersagewertes zu dem erhaltenen Vorhersagefehlerquantisierungswert,
wodurch dekomprimierte Pixeldaten erhalten werden, und Erhalten eines nächsten peripheren
Pixelwertes;
- einen Prozeß zum Halten von Pixelwerten eines Pixels A, das als Pixel links von
dem zu dekomprimierenden Pixel definiert ist, eines Pixels C, das als Pixel oberhalb
des zu dekomprimierenden Pixels definiert ist, und eines Pixels B, das als Pixel oben
links von dem zu dekomprimierenden Pixel definiert ist, vor dem Dekomprimieren eines
komprimierten Codes,
gekennzeichnet durch
- einen Prozeß zum Berechnen einer Vielzahl von Kandidaten für den Vorhersagewert
in Bezug auf
-- ein Bildformat, in dem ein Bild eine stärkere Pixelkorrelation in horizontaler
Richtung als in vertikaler Richtung hat, als auch
-- ein Bildformat, in dem ein Bild eine stärkere Pixelkorrelation in vertikaler Richtung
als in horizontaler Richtung hat,
unter Verwendung der Pixelpegelwerte der gehaltenen peripheren Pixel A, C und B;
- einen Prozeß zum
-- Einschränken der Vielzahl von Kandidaten für den Vorhersagewert auf zwei Kandidaten
für den Vorhersagewert durch Selektieren
--- des Pixels, dessen Pixelwert der zweitgrößte Wert unter Pixelpegelwerten von A,
C und B ist, falls sich die Pixelpegelwerte von A, C und B voneinander unterscheiden,
--- des Pixels B, falls der Pixelpegelwert von B kleiner als ein Pixelpegelwert von
A ist und der Pixelpegelwert von B gleich einem Pixelpegelwert von C ist und falls
der Pixelpegelwert von B größer als ein Pixelpegelwert von C ist und der Pixelpegelwert
von B gleich einem Pixelpegelwert von A ist,
--- des Pixels A, falls der Pixelpegelwert von A kleiner als ein Pixelpegelwert von
C ist und der Pixelpegelwert von A gleich einem Pixelpegelwert von B ist und falls
der Pixelpegelwert von A größer als ein Pixelpegelwert von B ist und der Pixelpegelwert
von A gleich einem Pixelpegelwert von C ist, und
--- des Pixels C, falls der Pixelpegelwert von C kleiner als ein Pixelpegelwert von
B ist und der Pixelpegelwert von C gleich einem Pixelpegelwert von A ist, falls der
Pixelpegelwert von C größer als ein Pixelpegelwert von A ist und der Pixelpegelwert
von C gleich einem Pixelpegelwert von B ist und falls die Pixelpegelwerte von A, C
und B dieselben sind,
durch Zuordnen, über eine erste Entsprechungstabelle, eines Indexwertes zu dem selektierten
Pixel und Selektieren der zwei Kandidaten entsprechend dem genannten Indexwert über
eine zweite Entsprechungstabelle;
-- Bestimmen, als Vorhersagewert, eines der zwei Kandidaten danach, ob das Bildformat
des genannten Bildes
--- das Bildformat ist, in dem ein Bild die stärkere Pixelkorrelation in horizontaler
Richtung als in vertikaler Richtung hat, oder
--- das Bildformat ist, in dem ein Bild die stärkere Pixelkorrelation in vertikaler
Richtung als in horizontaler Richtung hat.
10. Verfahren nach Anspruch 9, umfassend:
- einen Prozeß zum Senden eines Steuersignals entsprechend dem Kandidaten für den
Vorhersagewert, der als Vorhersagewert bestimmt wurde, an einen Multiplexer und
- einen Prozeß zum Ausgeben des mit dem Steuersignal selektierten Vorhersagewertes
durch den Multiplexer.
11. Programm, das dafür ausgelegt ist, einen Computer anzuweisen, das Verfahren nach Anspruch
9 auszuführen.
12. Programm nach Anspruch 11, umfassend:
- einen Schritt zum Senden eines Steuersignals entsprechend dem Kandidaten für den
Vorhersagewert, der als Vorhersagewert bestimmt wurde, an einen Multiplexer und
- einen Schritt zum Ausgeben des mit dem Steuersignal selektierten Vorhersagewertes
durch den Multiplexer.
1. Dispositif de compression de données d'image (110), comprenant :
- un dispositif de prédiction (112) pour prédire une valeur de niveau de pixel d'un
pixel à compresser lorsque des données d'image sont compressées,
- une unité de quantification (117) pour quantifier une valeur de différence entre
une valeur de prédiction déterminée par le dispositif de prédiction (112) et une valeur
de niveau réel de pixel et associer un nombre de quantification à la différence quantifiée,
- et une unité de codage (119) effectuant un codage en se basant sur le nombre de
quantification,
caractérisé en ce que le dispositif de prédiction (112) comporte :
- une unité de calcul de candidats de valeur de prédiction (115) pour calculer une
pluralité de candidats pour une valeur de prédiction concernant chaque format parmi
-- un format d'image dans lequel une image présente une corrélation de pixel plus
forte dans la direction horizontale que dans la direction verticale, et
-- un format d'image dans lequel une image présente une corrélation de pixel plus
forte dans la direction verticale que dans la direction horizontale,
en utilisant des valeurs de niveau de pixel d'un pixel à gauche du pixel à compresser
défini par A, un pixel au-dessus du pixel à compresser défini par C, et un pixel en
haut et à gauche du pixel à compresser défini par B ; et
- une unité de détermination de valeur de prédiction (116) configurée
- pour restreindre la pluralité de candidats pour la valeur de prédiction à deux candidats
pour la valeur de prédiction en sélectionnant
-- le pixel dont la valeur de pixel est la deuxième valeur la plus grande parmi les
valeurs de niveau de pixel de A, C et B dans le cas où les valeurs de niveau de pixel
de A, C et B diffèrent entre elles,
-- le pixel B dans le cas où la valeur de niveau de pixel de B est inférieure à la
valeur de niveau de pixel de A et la valeur de niveau de pixel de B est égale à la
valeur de niveau de pixel de C, et dans le cas où la valeur de niveau de pixel de
B est supérieure à la valeur de niveau de pixel de C et la valeur de niveau de pixel
de B est égale à la valeur de niveau de pixel de A,
-- le pixel A dans le cas où la valeur de niveau de pixel de A est inférieure à la
valeur de niveau de pixel de C et la valeur de niveau de pixel de A est égale à la
valeur de niveau de pixel de B, et dans le cas où la valeur de niveau de pixel de
A est supérieure à la valeur de niveau de pixel de B et la valeur de niveau de pixel
de A est égale à la valeur de niveau de pixel de C, et
-- le pixel C dans le cas où la valeur de niveau de pixel de C est inférieure à la
valeur de niveau de pixel de B et la valeur de niveau de pixel de C est égale à la
valeur de niveau de pixel de A, dans le cas où la valeur de niveau de pixel de C est
supérieure à la valeur de niveau de pixel de A et la valeur de niveau de pixel de
C est égale à la valeur de niveau de pixel de B, et dans le cas où les valeurs de
niveau de pixel de A, C et B sont les mêmes,
en associant par l'intermédiaire d'un premier tableau de correspondance une valeur
d'index au pixel sélectionné et en sélectionnant les deux candidats correspondants
à ladite valeur d'index par l'intermédiaire d'un second tableau de correspondance
;
- pour déterminer l'un des deux candidats pour la valeur de prédiction en tant que
valeur de prédiction selon que le format d'image de ladite image est
-- le format d'image dans lequel une image présente la corrélation de pixel plus forte
dans la direction horizontale que dans la direction verticale, ou
-- le format d'image dans lequel une image présente la corrélation de pixel plus forte
dans la direction verticale que dans la direction horizontale.
2. Dispositif selon la revendication 1, dans lequel le format d'image dans lequel une
image présente la corrélation de pixel plus forte dans la direction horizontale que
dans la direction verticale est un format d'image entrelacé et le format d'image dans
lequel une image présente la corrélation de pixel plus forte dans la direction verticale
que dans la direction horizontale est un format d'image progressif.
3. Dispositif selon la revendication 1 ou 2, dans lequel
- le dispositif de prédiction comporte en outre :
-- un multiplexeur (015) pour fournir en sortie la valeur de prédiction sélectionnée
avec un signal de commande correspondant au candidat pour la valeur de prédiction
déterminée en tant que valeur de prédiction ;
-- une pluralité de registres pour contenir les pixels périphériques A, B et C;et
-- un tampon de ligne (008) pour contenir une ligne de valeurs de pixel, et
- l'unité de détermination de valeur de prédiction (116) comprend un moyen pour transmettre
le signal de commande au multiplexeur.
4. Procédé de compression de données d'image au moyen d'un dispositif de compression
de données d'image (110), comprenant
- un processus de quantification d'une valeur de différence entre une valeur de prédiction
et une valeur de niveau réel de pixel et d'association d'un nombre de quantification
à la différence quantifiée ;
- un processus de maintien de valeurs de pixel d'un pixel A défini comme un pixel
à gauche du pixel à compresser, un pixel C défini comme un pixel au-dessus du pixel
à compresser, et un pixel B défini comme un pixel en haut et à gauche du pixel à compresser,
avant de coder les données, et
- un processus de codage se basant sur le nombre de quantification, caractérisé par
- un processus de calcul d'une pluralité de candidats pour la valeur de prédiction
concernant chaque format parmi
-- un format d'image dans lequel une image présente une corrélation de pixel plus
forte dans la direction horizontale que dans la direction verticale, et
-- un format d'image dans lequel une image présente une corrélation de pixel plus
forte dans la direction verticale que dans la direction horizontale,
l'utilisation des valeurs de niveau de pixel des pixels maintenus A, C et B ;
- un processus
-- de restriction de la pluralité de candidats pour la valeur de prédiction à deux
candidats pour la valeur de prédiction en sélectionnant
--- le pixel dont la valeur de pixel est la deuxième valeur la plus grande parmi les
valeurs de niveau de pixel de A, C et B dans le cas où les valeurs de niveau de pixel
de A, C et B diffèrent entre elles,
--- le pixel B dans le cas où la valeur de niveau de pixel de B est inférieure à la
valeur de niveau de pixel de A et la valeur de niveau de pixel de B est égale à la
valeur de niveau de pixel de C, et dans le cas où la valeur de niveau de pixel de
B est supérieure à la valeur de niveau de pixel de C et la valeur de niveau de pixel
de B est égale à la valeur de niveau de pixel de A,
--- le pixel A dans le cas où la valeur de niveau de pixel de A est inférieure à la
valeur de niveau de pixel de C et la valeur de niveau de pixel de A est égale à la
valeur de niveau de pixel de B, et dans le cas où la valeur de niveau de pixel de
A est supérieure à la valeur de niveau de pixel de B et la valeur de niveau de pixel
de A est égale à la valeur de niveau de pixel de C, et
--- le pixel C dans le cas où la valeur de niveau de pixel de C est inférieure à la
valeur de niveau de pixel de B et la valeur de niveau de pixel de C est égale à la
valeur de niveau de pixel de A, dans le cas où la valeur de niveau de pixel de C est
supérieure à la valeur de niveau de pixel de A et la valeur de niveau de pixel de
C est égale à la valeur de niveau de pixel de B, et dans le cas où les valeurs de
niveau de pixel de A, C et B sont les mêmes,
en associant par l'intermédiaire d'un premier tableau de correspondance une valeur
d'index au pixel sélectionné et en sélectionnant les deux candidats correspondants
à ladite valeur d'index par l'intermédiaire d'un second tableau de correspondance
;
-- de détermination de l'un des deux candidats pour la valeur de prédiction selon
que le format d'image de ladite image est
--- le format d'image dans lequel une image présente la corrélation de pixel plus
forte dans la direction horizontale que dans la direction verticale, ou
--- le format d'image dans lequel une image présente la corrélation de pixel plus
forte dans la direction verticale que dans la direction horizontale.
5. Procédé selon la revendication 4, comprenant
- un processus de transmission à un multiplexeur d'un signal de commande correspondant
au candidat pour la valeur de prédiction déterminée en tant que valeur de prédiction,
et
- un processus de fourniture en sortie de la valeur de prédiction sélectionnée avec
le signal de commande par le multiplexeur.
6. Programme adapté à faire exécuter par un ordinateur le procédé selon la revendication
4.
7. Programme selon la revendication 6 comprenant
- une étape de transmission à un multiplexeur d'un signal de commande correspondant
au candidat pour la valeur de prédiction déterminée en tant que valeur de prédiction,
et
- une étape de fourniture en sortie de la valeur de prédiction sélectionnée avec le
signal de commande par le multiplexeur.
8. Dispositif de décompression de données d'images (210) pour décompresser des données
d'images (202) comprenant
- un codeur inverse (211) pour recevoir un code de données d'image compressées et
fournir en sortie un nombre de quantification correspondant au code,
- un quantificateur inverse (212) pour obtenir d'après le nombre de quantification
une valeur de quantification d'erreur de prédiction associée au nombre de quantification,
- un dispositif de prédiction (214) pour déterminer une valeur de prédiction, et
- une unité de calcul de valeur de décompression (219) pour ajouter la valeur de prédiction
déterminée par le dispositif de prédiction (214) à la valeur de quantification d'erreur
de prédiction obtenue par l'intermédiaire du quantificateur inverse (212) de façon
à obtenir des données de pixel décompressées ;
caractérisé en ce que le dispositif de prédiction (214) comporte
- une unité de calcul de candidats de valeur de prédiction (217) pour
-- calculer une pluralité de candidats pour une valeur de prédiction concernant chaque
format parmi
--- un format d'image dans lequel une image présente la corrélation de pixel plus
forte dans la direction horizontale que dans la direction verticale, et
--- un format d'image dans lequel une image présente la corrélation de pixel plus
forte dans la direction verticale que dans la direction horizontale,
en utilisant des valeurs de niveau de pixel d'un pixel à gauche du pixel à compresser
défini par A, un pixel au-dessus du pixel à décompresser défini par C, et un pixel
en haut et à gauche du pixel à décompresser défini par B ; et
- une unité de détermination de valeur de prédiction (218) pour
-- restreindre la pluralité de candidats pour la valeur de prédiction à deux candidats
pour la valeur de prédiction en sélectionnant
--- le pixel dont la valeur de pixel est la deuxième valeur la plus grande parmi les
valeurs de niveau de pixel de A, C et B dans le cas où les valeurs de niveau de pixel
de A, C et B diffèrent entre elles,
--- le pixel B dans le cas où la valeur de niveau de pixel de B est inférieure à la
valeur de niveau de pixel de A et la valeur de niveau de pixel de B est égale à la
valeur de niveau de pixel de C, et dans le cas où la valeur de niveau de pixel de
B est supérieure à la valeur de niveau de pixel de C et la valeur de niveau de pixel
de B est égale à la valeur de niveau de pixel de A,
--- le pixel A dans le cas où la valeur de niveau de pixel de A est inférieure à la
valeur de niveau de pixel de C et la valeur de niveau de pixel de A est égale à la
valeur de niveau de pixel de B, et dans le cas où la valeur de niveau de pixel de
A est supérieure à la valeur de niveau de pixel de B et la valeur de niveau de pixel
de A est égale à la valeur de niveau de pixel de C, et
--- le pixel C dans le cas où la valeur de niveau de pixel de C est inférieure à la
valeur de niveau de pixel de B et la valeur de niveau de pixel de C est égale à la
valeur de niveau de pixel de A, dans le cas où la valeur de niveau de pixel de C est
supérieure à la valeur de niveau de pixel de A et la valeur de niveau de pixel de
C est égale à la valeur de niveau de pixel de B, et dans le cas où les valeurs de
niveau de pixel de A, C et B sont les mêmes,
en associant par l'intermédiaire d'un premier tableau de correspondance une valeur
d'index au pixel sélectionné et en sélectionnant les deux candidats correspondants
à ladite valeur d'index par l'intermédiaire d'un second tableau de correspondance
; et
-- déterminer l'un des deux candidats pour la valeur de prédiction en tant que valeur
de prédiction selon que le format d'image de ladite image est
--- le format d'image dans lequel une image présente la corrélation de pixel plus
forte dans la direction horizontale que dans la direction verticale, ou
--- le format d'image dans lequel une image présente la corrélation de pixel plus
forte dans la direction verticale que dans la direction horizontale.
9. Procédé de décompression de données d'image au moyen d'un dispositif de décompression
de données d'image (210) qui décompresse des données d'image, comprenant :
- un processus de réception d'un code compressé de données d'image et de fourniture
en sortie d'un nombre de quantification correspondant au code,
- un processus d'obtention d'après le nombre de quantification d'une valeur de quantification
d'erreur de prédiction associée au nombre de quantification,
- un processus d'addition d'une valeur de prédiction à la valeur de quantification
d'erreur de prédiction obtenue de façon à obtenir des données de pixel décompressées
et à obtenir une valeur de pixel périphérique suivant ;
- un processus de maintien de valeurs de pixel d'un pixel A défini comme un pixel
à gauche du pixel à décompresser, un pixel C défini comme un pixel au-dessus du pixel
à décompresser, et un pixel B défini comme un pixel en haut et à gauche du pixel à
décompresser, avant de décompresser un code compressé,
caractérisé par
- un processus de calcul d'une pluralité de candidats pour une valeur de prédiction
concernant chaque format parmi
-- un format d'image dans lequel une image présente une corrélation de pixel plus
forte dans la direction horizontale que dans la direction verticale, et
-- un format d'image dans lequel une image présente une corrélation de pixel plus
forte dans la direction verticale que dans la direction horizontale,
en utilisant les valeurs de pixel des pixels maintenus A, C et B ;
- un processus de
-- restriction de la pluralité de candidats pour la valeur de prédiction à deux candidats
pour la valeur de prédiction en sélectionnant
--- le pixel dont la valeur de pixel est la deuxième valeur la plus grande parmi les
valeurs de niveau de pixel de A, C et B dans le cas où les valeurs de niveau de pixel
de A, C et B diffèrent entre elles,
--- le pixel B dans le cas où la valeur de niveau de pixel de B est inférieure à la
valeur de niveau de pixel de A et la valeur de niveau de pixel de B est égale à la
valeur de niveau de pixel de C, et dans le cas où la valeur de niveau de pixel de
B est supérieure à la valeur de niveau de pixel de C et la valeur de niveau de pixel
de B est égale à la valeur de niveau de pixel de A,
--- le pixel A dans le cas où la valeur de niveau de pixel de A est inférieure à la
valeur de niveau de pixel de C et la valeur de niveau de pixel de A est égale à la
valeur de niveau de pixel de B, et dans le cas où la valeur de niveau de pixel de
A est supérieure à la valeur de niveau de pixel de B et la valeur de niveau de pixel
de A est égale à la valeur de niveau de pixel de C, et
--- le pixel C dans le cas où la valeur de niveau de pixel de C est inférieure à la
valeur de niveau de pixel de B et la valeur de niveau de pixel de C est égale à la
valeur de niveau de pixel de A, dans le cas où la valeur de niveau de pixel de C est
supérieure à la valeur de niveau de pixel de A et la valeur de niveau de pixel de
C est égale à la valeur de niveau de pixel de B, et dans le cas où les valeurs de
niveau de pixel de A, C et B sont les mêmes,
en associant par l'intermédiaire d'un premier tableau de correspondance une valeur
d'index au pixel sélectionné et en sélectionnant les deux candidats correspondants
à ladite valeur d'index par l'intermédiaire d'un second tableau de correspondance
;
-- détermination en tant que valeur de prédiction de l'un des deux candidats pour
la valeur de prédiction selon que le format d'image de ladite image est
--- le format d'image dans lequel une image présente la corrélation de pixel plus
forte dans la direction horizontale que dans la direction verticale, ou
--- le format d'image dans lequel une image présente la corrélation de pixel plus
forte dans la direction verticale que dans la direction horizontale.
10. Procédé selon la revendication 9, comprenant
- un processus de transmission à un multiplexeur d'un signal de commande correspondant
au candidat pour la valeur de prédiction déterminée en tant que valeur de prédiction,
et
- un processus de fourniture en sortie de la valeur de prédiction sélectionnée avec
le signal de commande par le multiplexeur.
11. Programme adapté à faire exécuter par un ordinateur le procédé selon la revendication
9.
12. Programme selon la revendication 11, comprenant
- une étape de transmission à un multiplexeur d'un signal de commande correspondant
au candidat pour la valeur de prédiction déterminée en tant que valeur de prédiction,
et
- une étape de fourniture en sortie de la valeur de prédiction sélectionnée avec le
signal de commande par le multiplexeur.