U.S. patent application number 14/022203 was filed with the patent office on 2014-05-29 for data processing apparatus with adaptive compression/de-compression algorithm selection for data communication over camera interface and related data processing method.
This patent application is currently assigned to MEDIATEK INC.. The applicant listed for this patent is MEDIATEK INC.. Invention is credited to Chi-Cheng Ju, Tsu-Ming Liu.
Application Number | 20140146874 14/022203 |
Document ID | / |
Family ID | 50772955 |
Filed Date | 2014-05-29 |
United States Patent
Application |
20140146874 |
Kind Code |
A1 |
Ju; Chi-Cheng ; et
al. |
May 29, 2014 |
DATA PROCESSING APPARATUS WITH ADAPTIVE COMPRESSION/DE-COMPRESSION
ALGORITHM SELECTION FOR DATA COMMUNICATION OVER CAMERA INTERFACE
AND RELATED DATA PROCESSING METHOD
Abstract
A data processing apparatus has a compressor and an output
interface. The compressor generates an output multimedia data
according to an input multimedia data. The output interface packs
the output multimedia data into an output bitstream, and outputs
the output bitstream to another data processing apparatus via a
camera interface. The camera interface is a camera serial interface
(CSI) standardized by a Mobile Industry Processor Interface (MIPI).
In addition, the compressor adaptively adjusts a compression
algorithm according to context characteristics in the input
multimedia data, power supply status, operational status of a
storage device, image capture characteristic, configuration of the
another data processing apparatus, and/or compression algorithm
supported by the another data processing apparatus. Further, the
another data processing apparatus adaptively adjusts a
de-compression algorithm according to a compression algorithm
supported by the compressor.
Inventors: |
Ju; Chi-Cheng; (Hsinchu
City, TW) ; Liu; Tsu-Ming; (Hsinchu City,
TW) |
|
Applicant: |
Name |
City |
State |
Country |
Type |
MEDIATEK INC. |
Hsin-Chu |
|
TW |
|
|
Assignee: |
MEDIATEK INC.
Hsin-Chu
TW
|
Family ID: |
50772955 |
Appl. No.: |
14/022203 |
Filed: |
September 9, 2013 |
Related U.S. Patent Documents
|
|
|
|
|
|
Application
Number |
Filing Date |
Patent Number |
|
|
61729426 |
Nov 23, 2012 |
|
|
|
Current U.S.
Class: |
375/240.02 |
Current CPC
Class: |
G06F 3/14 20130101; H04N
5/232411 20180801; H04N 5/23293 20130101; G06F 1/3278 20130101;
G09G 2340/02 20130101; H04N 19/12 20141101; H04N 19/184 20141101;
H04N 19/179 20141101; G09G 2340/04 20130101; H04N 19/146 20141101;
H04N 19/154 20141101; Y02D 10/00 20180101; G06F 1/325 20130101;
H04N 5/23229 20130101; H04N 5/23241 20130101; H04N 19/10 20141101;
H04N 5/23235 20130101 |
Class at
Publication: |
375/240.02 |
International
Class: |
H04N 7/26 20060101
H04N007/26 |
Claims
1. A data processing apparatus comprising: a compressor, arranged
for receiving an input multimedia data and generating an output
multimedia data according to the input multimedia data; and an
output interface, arranged for packing the output multimedia data
into an output bitstream, and outputting the output bitstream via a
camera interface, wherein the camera interface is a camera serial
interface (CSI) standardized by a Mobile Industry Processor
Interface (MIPI); wherein the compressor adaptively adjusts a
compression algorithm applied to the input multimedia data
according to context characteristics of the input multimedia
data.
2. The data processing apparatus of claim 1, wherein the compressor
comprises: a content analysis unit, arranged for analyzing the
input multimedia data to classify contents included in the input
multimedia data and accordingly generating a content classification
result; and a compression unit, arranged for referring to at least
the content classification result to adaptively adjust the
compression algorithm.
3. The data processing apparatus of claim 2, wherein the contents
are selected from a group consisting of a video content, an image
content, a text content, and a graphic content.
4. The data processing apparatus of claim 2, wherein the contents
comprise a first content generated using a first quantization level
and a second content generated using a second quantization level
which is different from the first quantization level.
5. The data processing apparatus of claim 2, wherein the contents
comprise a first content with a first bit rate and a second content
with a second bit rate which is different from the first bit
rate.
6. A data processing apparatus comprising: a compressor, arranged
for receiving an input multimedia data and generating an output
multimedia data according to the input multimedia data; and an
output interface, arranged for packing the output multimedia data
into an output bitstream, and outputting the output bitstream via a
camera interface, wherein the camera interface is a camera serial
interface (CSI) standardized by a Mobile Industry Processor
Interface (MIPI); wherein the compressor adaptively adjusts a
compression algorithm applied to the input multimedia data
according to a power supply status.
7. The data processing apparatus of claim 6, wherein the data
processing apparatus is powered by a battery device, and the power
supply status indicates an available battery capacity of the
battery device.
8. The data processing apparatus of claim 7, wherein the compressor
is arranged to employ a first compression algorithm as the
compression algorithm when the power supply status indicates that
the available battery capacity is higher than a predetermined
threshold, and employ a second compression algorithm as the
compression algorithm when the power supply status indicates that
the available battery capacity is not higher than the predetermined
threshold, where the second compression algorithm is different from
the first compression algorithm.
9. The data processing apparatus of claim 8, wherein the first
compression algorithm is more complex than the second compression
algorithm; or the first compression algorithm has a higher
compression efficiency than the second compression algorithm.
10. The data processing apparatus of claim 7, wherein the
compressor is arranged to disable the compression algorithm when
the power supply status indicates that the available battery
capacity is higher than a predetermined threshold, and enable the
compression algorithm when the power supply status indicates that
the available battery capacity is not higher than the predetermined
threshold.
11. A data processing apparatus comprising: a compressor, arranged
for receiving an input multimedia data and generating an output
multimedia data according to the input multimedia data; and an
output interface, arranged for packing the output multimedia data
into an output bitstream, and outputting the output bitstream via a
camera interface, wherein the camera interface is a camera serial
interface (CSI) standardized by a Mobile Industry Processor
Interface (MIPI); wherein the compressor adaptively adjusts a
compression algorithm applied to the input multimedia data
according to an operational status of a storage device.
12. The data processing apparatus of claim 11, wherein the
operational status indicates a used bandwidth of the storage
device.
13. The data processing apparatus of claim 12, wherein the
compressor is arranged to employ a first compression algorithm as
the compression algorithm when the operational status indicates
that the used bandwidth is lower than a predetermined threshold,
and employ a second compression algorithm as the compression
algorithm when the operational status indicates that the used
bandwidth is not lower than the predetermined threshold, where the
second compression algorithm is different from the first
compression algorithm.
14. The data processing apparatus of claim 13, wherein the first
compression algorithm is more complex than the second compression
algorithm; or the first compression algorithm has a higher
compression efficiency than the second compression algorithm.
15. The data processing apparatus of claim 12, wherein the
compressor is arranged to disable the compression algorithm when
the operational status indicates that the used bandwidth is lower
than a predetermined threshold, and enable the compression
algorithm when the operational status indicates that the used
bandwidth is not lower than the predetermined threshold.
16. A data processing apparatus comprising: a compressor, arranged
for receiving an input multimedia data and generating an output
multimedia data according to the input multimedia data; and an
output interface, arranged for packing the output multimedia data
into an output bitstream, and outputting the output bitstream via a
camera interface, wherein the camera interface is a camera serial
interface (CSI) standardized by a Mobile Industry Processor
Interface (MIPI); wherein the compressor adaptively adjusts a
compression algorithm applied to the input multimedia data
according to at least one image capture characteristic.
17. The data processing apparatus of claim 16, wherein the at least
one image capture characteristic includes at least one of a focus
level, an exposure level, and an ISO (International Organization
for Standardization) value.
18. A data processing apparatus comprising: a compressor, arranged
for receiving an input multimedia data and generating an output
multimedia data according to the input multimedia data; and an
output interface, arranged for packing the output multimedia data
into an output bitstream, and outputting the output bitstream to
another data processing apparatus via a camera interface, wherein
the camera interface is a camera serial interface (CSI)
standardized by a Mobile Industry Processor Interface (MIPI);
wherein the compressor adaptively adjusts a compression algorithm
applied to the input multimedia data according to a de-compression
algorithm supported by the another data processing apparatus.
19. A data processing apparatus comprising: an input interface,
arranged for receiving an input bitstream from another data
processing apparatus via a camera interface, and un-packing the
input bitstream into an input multimedia data, wherein the camera
interface is a camera serial interface (CSI) standardized by a
Mobile Industry Processor Interface (MIPI); and a de-compressor,
arranged for generating a de-compressed multimedia data according
to the input multimedia data when the input multimedia data is a
compressed multimedia data; wherein the de-compressor adaptively
adjusts a de-compression algorithm according to a compression
algorithm employed by the another data processing apparatus.
20. A data processing method comprising: receiving an input
multimedia data; adaptively adjusts a compression algorithm
according to context characteristics of the input multimedia data;
generating an output multimedia data according to the compression
algorithm and the input multimedia data; and packing the output
multimedia data into an output bitstream, and outputting the output
bitstream via a camera interface, wherein the camera interface is a
camera serial interface (CSI) standardized by a Mobile Industry
Processor Interface (MIPI).
21. A data processing method comprising: receiving an input
multimedia data; adaptively adjusting a compression algorithm
according to a power supply status; generating an output multimedia
data according to the compression algorithm and the input
multimedia data; and packing the output multimedia data into an
output bitstream, and outputting the output bitstream via a camera
interface, wherein the camera interface is a camera serial
interface (CSI) standardized by a Mobile Industry Processor
Interface (MIPI).
22. A data processing method comprising: receiving an input
multimedia data; adaptively adjusting a compression algorithm
according to an operational status of a storage device; generating
an output multimedia data according to the compression algorithm
and the input multimedia data; and packing the output multimedia
data into an output bitstream, and outputting the output bitstream
via a camera interface, wherein the camera interface is a camera
serial interface (CSI) standardized by a Mobile Industry Processor
Interface (MIPI).
23. A data processing method comprising: receiving an input
multimedia data; adaptively adjusting a compression algorithm
according to at least one image capture characteristic; generating
an output multimedia data according to the compression algorithm
and the input multimedia data; and packing the output multimedia
data into an output bitstream, and outputting the output bitstream
via a camera interface, wherein the camera interface is a camera
serial interface (CSI) standardized by a Mobile Industry Processor
Interface (MIPI).
24. A data processing method comprising: receiving an input
multimedia data; adaptively adjusting a compression algorithm
according to a de-compression algorithm supported by a data
processing apparatus; generating an output multimedia data
according to the compression algorithm and the input multimedia
data; and packing the output multimedia data into an output
bitstream, and outputting the output bitstream to the data
processing apparatus via a camera interface, wherein the camera
interface is a camera serial interface (CSI) standardized by a
Mobile Industry Processor Interface (MIPI).
25. A data processing method comprising: receiving an input
bitstream from a data processing apparatus via a camera interface,
and un-packing the input bitstream into an input multimedia data,
wherein the camera interface is a camera serial interface (CSI)
standardized by a Mobile Industry Processor Interface (MIPI);
adaptively adjusting a de-compression algorithm according to a
compression algorithm employed by the data processing apparatus;
and when the input multimedia data is a compressed multimedia data,
generating a de-compressed multimedia data according to the input
multimedia data and the de-compression algorithm.
Description
CROSS REFERENCE TO RELATED APPLICATIONS
[0001] This application claims the benefit of U.S. provisional
application No. 61/729,426, filed on Nov. 23, 2012 and incorporated
herein by reference.
BACKGROUND
[0002] The disclosed embodiments of the present invention relate to
transmitting and receiving multimedia data over a camera interface,
and more particularly, to a data processing apparatus with adaptive
compression/de-compression algorithm selection for data
communication over a camera interface and related data processing
method.
[0003] A camera interface is disposed between a first chip and a
second chip to transmit multimedia data from the first chip to the
second chip for further processing. For example, the first chip may
include a camera module, and the second chip may include an image
signal processor (ISP). The multimedia data may include image data
(i.e., a single captured image) or video data (i.e., a video
sequence composed of captured images). When a camera sensor with a
higher resolution is employed in the camera module, the multimedia
data transmitted over the camera interface would have a larger data
size/data rate, which increases the power consumption of the camera
interface inevitably. If the camera module and the ISP are both
located at a portable device (e.g., a smartphone) powered by a
battery device, the battery life is shortened due to the increased
power consumption of the camera interface. Thus, there is a need
for an innovative design which can effectively reduce the power
consumption of the camera interface.
SUMMARY
[0004] In accordance with exemplary embodiments of the present
invention, a data processing apparatus with adaptive
compression/de-compression algorithm selection for data
communication over a camera interface and related data processing
method are proposed.
[0005] According to one aspect of the present invention, an
exemplary data processing apparatus is disclosed. The exemplary
data processing apparatus includes a compressor and an output
interface. The compressor is arranged for receiving an input
multimedia data and generating an output multimedia data according
to the input multimedia data. The output interface is arranged for
packing the output multimedia data into an output bitstream, and
outputting the output bitstream via a camera interface, wherein the
camera interface is a camera serial interface (CSI) standardized by
a Mobile Industry Processor Interface (MIPI). In addition, the
compressor adaptively adjusts a compression algorithm applied to
the input multimedia data according to context characteristics of
the input multimedia data.
[0006] According to another aspect of the present invention, an
exemplary data processing apparatus is disclosed. The exemplary
data processing apparatus includes a compressor and an output
interface. The compressor is arranged for receiving an input
multimedia data and generating an output multimedia data according
to the input multimedia data. The output interface is arranged for
packing the output multimedia data into an output bitstream, and
outputting the output bitstream via a camera interface, wherein the
camera interface is a camera serial interface (CSI) standardized by
a Mobile Industry Processor Interface (MIPI). In addition, the
compressor adaptively adjusts a compression algorithm applied to
the input multimedia data according to a power supply status.
[0007] According to another aspect of the present invention, an
exemplary data processing apparatus is disclosed. The exemplary
data processing apparatus includes a compressor and an output
interface. The compressor is arranged for receiving an input
multimedia data and generating an output multimedia data according
to the input multimedia data. The output interface is arranged for
packing the output multimedia data into an output bitstream, and
outputting the output bitstream via a camera interface, wherein the
camera interface is a camera serial interface (CSI) standardized by
a Mobile Industry Processor Interface (MIPI). In addition, the
compressor adaptively adjusts a compression algorithm applied to
the input multimedia data according to an operational status of a
storage device.
[0008] According to another aspect of the present invention, an
exemplary data processing apparatus is disclosed. The exemplary
data processing apparatus includes a compressor and an output
interface. The compressor is arranged for receiving an input
multimedia data and generating an output multimedia data according
to the input multimedia data. The output interface is arranged for
packing the output multimedia data into an output bitstream, and
outputting the output bitstream via a camera interface, wherein the
camera interface is a camera serial interface (CSI) standardized by
a Mobile Industry Processor Interface (MIPI). In addition, the
compressor adaptively adjusts a compression algorithm applied to
the input multimedia data according to at least one image capture
characteristic.
[0009] According to another aspect of the present invention, an
exemplary data processing apparatus is disclosed. The exemplary
data processing apparatus includes a compressor and an output
interface. The compressor is arranged for receiving an input
multimedia data and generating an output multimedia data according
to the input multimedia data. The output interface is arranged for
packing the output multimedia data into an output bitstream, and
outputting the output bitstream to another data processing
apparatus via a camera interface, wherein the camera interface is a
camera serial interface (CSI) standardized by a Mobile Industry
Processor Interface (MIPI). In addition, the compressor adaptively
adjusts a compression algorithm applied to the input multimedia
data according to a de-compression algorithm supported by the
another data processing apparatus.
[0010] According to another aspect of the present invention, an
exemplary data processing apparatus is disclosed. The exemplary
data processing apparatus includes an input interface and a
de-compressor. The input interface is arranged for receiving an
input bitstream from another data processing apparatus via a camera
interface, and un-packing the input bitstream into an input
multimedia data, wherein the camera interface is a camera serial
interface (CSI) standardized by a Mobile Industry Processor
Interface (MIPI). The de-compressor is arranged for generating a
de-compressed multimedia data according to the input multimedia
data when the input multimedia data is a compressed multimedia
data. In addition, the de-compressor adaptively adjusts a
de-compression algorithm according to a compression algorithm
employed by the another data processing apparatus.
[0011] According to another aspect of the present invention, an
exemplary data processing method is disclosed. The exemplary data
processing method includes at least the following steps: receiving
an input multimedia data; adaptively adjusts a compression
algorithm according to context characteristics of the input
multimedia data; generating an output multimedia data according to
the compression algorithm and the input multimedia data; and
packing the output multimedia data into an output bitstream, and
outputting the output bitstream via a camera interface, wherein the
camera interface is a camera serial interface (CSI) standardized by
a Mobile Industry Processor Interface (MIPI).
[0012] According to another aspect of the present invention, an
exemplary data processing method is disclosed. The exemplary data
processing method includes at least the following steps: receiving
an input multimedia data; adaptively adjusting a compression
algorithm according to a power supply status; generating an output
multimedia data according to the compression algorithm and the
input multimedia data; and packing the output multimedia data into
an output bitstream, and outputting the output bitstream via a
camera interface, wherein the camera interface is a camera serial
interface (CSI) standardized by a Mobile Industry Processor
Interface (MIPI).
[0013] According to another aspect of the present invention, an
exemplary data processing method is disclosed. The exemplary data
processing method includes at least the following steps: receiving
an input multimedia data; adaptively adjusting a compression
algorithm according to an operational status of a storage device;
generating an output multimedia data according to the compression
algorithm and the input multimedia data; and packing the output
multimedia data into an output bitstream, and outputting the output
bitstream via a camera interface, wherein the camera interface is a
camera serial interface (CSI) standardized by a Mobile Industry
Processor Interface (MIPI).
[0014] According to another aspect of the present invention, an
exemplary data processing method is disclosed. The exemplary data
processing method includes at least the following steps: receiving
an input multimedia data; adaptively adjusting a compression
algorithm according to at least one image capture characteristic;
generating an output multimedia data according to the compression
algorithm and the input multimedia data; and packing the output
multimedia data into an output bitstream, and outputting the output
bitstream via a camera interface, wherein the camera interface is a
camera serial interface (CSI) standardized by a Mobile Industry
Processor Interface (MIPI).
[0015] According to another aspect of the present invention, an
exemplary data processing method is disclosed. The exemplary data
processing method includes at least the following steps: receiving
an input multimedia data; adaptively adjusting a compression
algorithm according to a de-compression algorithm supported by a
data processing apparatus; generating an output multimedia data
according to the compression algorithm and the input multimedia
data; and packing the output multimedia data into an output
bitstream, and outputting the output bitstream to the data
processing apparatus via a camera interface, wherein the camera
interface is a camera serial interface (CSI) standardized by a
Mobile Industry Processor Interface (MIPI).
[0016] According to another aspect of the present invention, an
exemplary data processing method is disclosed. The exemplary data
processing method includes at least the following steps: receiving
an input bitstream from a data processing apparatus via a camera
interface, and un-packing the input bitstream into an input
multimedia data, wherein the camera interface is a camera serial
interface (CSI) standardized by a Mobile Industry Processor
Interface (MIPI); adaptively adjusting a de-compression algorithm
according to a compression algorithm employed by the data
processing apparatus; and when the input multimedia data is a
compressed multimedia data, generating a de-compressed multimedia
data according to the input multimedia data and the de-compression
algorithm.
[0017] These and other objectives of the present invention will no
doubt become obvious to those of ordinary skill in the art after
reading the following detailed description of the preferred
embodiment that is illustrated in the various figures and
drawings.
BRIEF DESCRIPTION OF THE DRAWINGS
[0018] FIG. 1 is a block diagram illustrating a data processing
system according to an embodiment of the present invention.
[0019] FIG. 2 is a table showing characteristics of different
compression algorithms supported by the compressor shown in FIG.
1.
[0020] FIG. 3 is a diagram illustrating an embodiment of the
compressor shown in FIG. 1.
[0021] FIG. 4 is a diagram illustrating one frame included in the
input multimedia data.
[0022] FIG. 5 is a flowchart illustrating an adaptive compression
method based on context characteristics of the input multimedia
data according to an embodiment of the present invention.
[0023] FIG. 6 is a diagram illustrating another embodiment of the
compressor shown in FIG. 1.
[0024] FIG. 7 is a diagram illustrating thresholds of the battery
capacity of the battery device.
[0025] FIG. 8 is a flowchart illustrating an adaptive compression
method based on a power supply status according to an embodiment of
the present invention.
[0026] FIG. 9 is a diagram illustrating thresholds of the bandwidth
of the storage device.
[0027] FIG. 10 is a flowchart illustrating an adaptive compression
method based on an operating status of a storage device according
to an embodiment of the present invention.
[0028] FIG. 11 is a flowchart illustrating an adaptive compression
method based on at least one image capture characteristic according
to an embodiment of the present invention.
[0029] FIG. 12 is a diagram illustrating configuration of a
compressor in a camera module and configuration of a de-compressor
in an ISP according to an embodiment of the present invention.
[0030] FIG. 13 is a flowchart illustrating an adaptive compression
and de-compression method based on side information communicated
between a camera module and an ISP according to an embodiment of
the present invention.
DETAILED DESCRIPTION
[0031] Certain terms are used throughout the description and
following claims to refer to particular components. As one skilled
in the art will appreciate, manufacturers may refer to a component
by different names. This document does not intend to distinguish
between components that differ in name but not function. In the
following description and in the claims, the terms "include" and
"comprise" are used in an open-ended fashion, and thus should be
interpreted to mean "include, but not limited to . . . ". Also, the
term "couple" is intended to mean either an indirect or direct
electrical connection. Accordingly, if one device is coupled to
another device, that connection may be through a direct electrical
connection, or through an indirect electrical connection via other
devices and connections.
[0032] The present invention proposes applying data compression to
a multimedia data and then transmitting a compressed multimedia
data over a camera interface. As the data size/data rate of the
compressed multimedia data is smaller than that of the original
un-compressed multimedia data, the power consumption of the camera
interface is reduced correspondingly. Besides, the present
invention further proposes an adaptive compression/de-compression
scheme which is based on side information given by one or more
signal processing elements (e.g., an image signal processor (ISP),
a video/image codec, a graphic engine, a display processor, an
external storage, and a battery meter). This may allow the
configuration of the compressor and the counterpart de-compressor
to be adjusted in a static or dynamic way. In general, data
compression is exploited to remove the information redundancy under
a specific pixel size (i.e., a unit size of compression) and
produce a compressed data constrained by a compression ratio. In a
case where the compression ratio is equal to 0.5, the size of the
compressed data is half of the size of the uncompressed data. As
the compression performance is strongly related to some design
factors such as the unit size of compression and the constrained
compression ratio, the present invention therefore proposes using
the adaptive compression scheme for enabling a compression
algorithm selected from a plurality of candidate compression
algorithms, where the selected compression algorithm most
efficiently compresses the multimedia data. Compared to a typical
compression scheme using a fixed compression algorithm, the
proposed adaptive compression scheme achieves better performance.
Besides, the ISP may refer to side information given by the camera
module to adaptively select a de-compression algorithm compliant
with the compression algorithm employed by the camera module. In
this way, the compressed data stream from the camera module can be
correctly de-compressed by the ISP. Further details will be
described as below.
[0033] FIG. 1 is a block diagram illustrating a data processing
system according to an embodiment of the present invention. The
data processing system 100 includes a plurality of data processing
apparatuses such as a camera module 110 external to an application
processor 102 and an image signal processor (ISP) 114 included in
the application processor 102. The camera module 110 and the ISP
114 may be implemented in different chips, and the camera module
110 communicates with the ISP 114 via a camera interface 103.
Alternatively, the ISP 114 may be integrated within the camera
module 110, and a single chip having the ISP 114 and the camera
module 110 included therein communicates with another data
processing apparatus in the application processor 102 via the
camera interface 103. In this embodiment, the camera interface 103
may be a camera serial interface (CSI) standardized by a Mobile
Industry Processor Interface (MIPI).
[0034] The camera module 110 is coupled to the camera interface
103, and supports un-compressed data transmission and compressed
data transmission. When the camera module 110 is used to transmit
un-compressed data to the ISP 114, the camera module 110 generates
an un-compressed multimedia data, and transmits the un-compressed
multimedia data over the camera interface 103. When the camera
module 110 is used to transmit compressed data to the ISP 114, the
camera module 110 generates a compressed multimedia data, and
transmits the compressed multimedia data over the camera interface
103.
[0035] As shown in FIG. 1, the camera module 110 includes a
compressor 142, other circuitry 144, and an output interface 146.
Other circuitry 144 includes circuit elements required for
capturing incident light to obtain an input multimedia data D1. For
example, other circuitry 144 may have a lens module, a camera
sensor, a camera controller, a camera buffer, multiplexer(s), etc.
When the camera module 110 is operated in the compression mode, the
compressor 142 performs data compression upon the input multimedia
data D1 generated from other circuitry 144, and accordingly
generates an output multimedia data D1', wherein the compressed
multimedia data (i.e., output multimedia data D1') is
packed/packetized into an output bitstream by the output interface
146 according to the transmission protocol of the camera interface
103, and the output bitstream is transmitted to the ISP 114 via the
camera interface 103.
[0036] Regarding the ISP 114, it is coupled to the camera interface
103, and supports un-compressed data reception and compressed data
reception. When the camera module 110 transmits the un-compressed
data to the ISP 114, the ISP 114 is operated under a
non-decompression mode to receive an un-compressed data from the
camera interface 103 and generate a processed multimedia data
according to the un-compressed multimedia data. When the camera
module 110 transmits the compressed data to the ISP 114, the ISP
114 is operated under a de-compression mode to receive a compressed
multimedia data from the camera interface 103 and generate the
processed multimedia data according to a de-compressed multimedia
data derived from de-compressing the compressed multimedia data. If
there is no error introduced during the data transmission, the
un-compressed data transmitted under the non-compression mode
should be identical to the un-compressed data received under the
non-decompression mode, and the compressed data transmitted under
the compression mode should be identical to the compressed data
received under the de-compression mode.
[0037] As shown in FIG. 1, the ISP 114 includes a de-compressor
132, other circuitry 134, and an input interface 136. The input
interface 136 receives an input bitstream from the camera interface
103, and un-packs/un-packetizes the input bitstream into an input
multimedia data D2 which is a compressed multimedia data when the
camera module 110 is operated under the compression mode. In this
embodiment, the de-compressor 132 is arranged to perform data
de-compression upon the input multimedia data D2, and accordingly
generate a de-compressed multimedia data D2'. Other circuitry 134
is arranged to generate a processed multimedia data according to
the de-compressed multimedia data D2'. Specifically, other
circuitry 134 includes circuit elements required for generating the
processed multimedia data according to an internal transmission
mode (e.g., an on-the-fly mode or an off-line mode). For example,
other circuitry 134 may have a write direct memory access (DMA)
controller, a read DMA controller, an image processor,
multiplexers, etc.
[0038] As the present invention focuses on the adaptive compression
and de-compression scheme for configuring the compressor 142 and
the de-compressor 132, further details directed to transmitting
compressed/un-compressed multimedia data from the camera module 110
to the ISP 114 via the camera interface 103 and generating the
processed multimedia data based on the compressed/un-compressed
multimedia data received from the camera interface 103 are omitted
here for brevity.
[0039] As shown in FIG. 1, the application processor 102 further
includes a micro control unit (MCU) 112, an image encoder 116, an
image decoder 118, a display processor 120, a video encoder 122, a
video decoder 124, a graphic engine 126, and a battery meter 130.
The battery meter 130 is arranged to monitor the power status of a
power source such as the battery capacity of a battery device 109.
In this embodiment, the camera module 110 and other data processing
apparatuses shown in FIG. 1 are powered by the battery device 109.
The MCU 112 serves as a display controller used for controlling
generation of a display data, and therefore controls circuit
elements within the application processor 102 to generate a desired
display data to the driver IC 104. In other words, the MCU 112
controls the operation of the application processor 102. The ISP
114 serves as a backend processor for an image/video output of the
camera module 110. For example, the ISP 114 may be used to perform
auto white balance (AWB), auto exposure (AE) and auto focus (AF).
In a case where the camera module 110 generates a single captured
image to the ISP 114 under a photo mode, a processed image
generated from the ISP 114 may be transmitted to the image encoder
116, and an encoded image is generated from the image encoder 116
to an external storage 108 such as a dynamic random access memory
(DRAM). In another case where the camera module 110 generates a
video sequence composed of successive captured images to the ISP
114 under a video recording mode, a processed video generated from
the ISP 114 may be transmitted to the video encoder 122, and an
encoded video is generated from the video encoder 122 to the
external storage 108.
[0040] The image decoder 118 receives an encoded image from the
external storage 108, and generates a decoded image to the display
processor 120. The video decoder 124 receives an encoded video from
the external storage 108, and generates a decoded video to the
display processor 120. However, it is possible that the single
captured image/video sequence generated from the ISP 114 may be
bypassed to the display processor 120 without additional encoding
and decoding operations applied thereto. The graphic engine 126
generates graphic data (e.g., a 3D graphic image) to the display
processor 120.
[0041] The display processor 120 is arranged to generate a display
data based on one or more of the image data, video data, graphic
data, etc., and transmit the display data to a driver integrated
circuit (IC) 104. Hence, the display data generated at the
application processor 102 is derived from the output multimedia D1'
transmitted from the camera module 110 to the ISP 114 via the
camera interface 103. For example, the display processor 120 may
combine video data, text data and graphic data to generate a
multimedia data of a frame, such that the display of the frame
would show a graphic scene, a web-browsing text content, and a
video playback content. The driver IC 104 is coupled between the
display processor 120 and a display panel 106, and drives the
display panel 106 according to the display data generated from the
display processor 120. By way of example, the display panel 106 may
be implemented using any 2D/3D display device (e.g. a retina
display), and the pixel arrangement may be a rectangle layout, a
triangle layout or a pentile layout.
[0042] In this embodiment, the compressor 142 supports a plurality
of compression algorithms having different compression
characteristics. Please refer to FIG. 2, which is a table showing
characteristics of different compression algorithms supported by
the compressor 142 shown in FIG. 1. A compression algorithm
represents a set of coding tools so as to remove the data
redundancy on the input multimedia data D1. The coding tools may be
any kind of compression methods developed by proprietary algorithms
or specified by state-of-the-art video standards (e.g., MPEG-1/2/4,
H.261/262/263/264, and HEVC) or image standards (e.g., PEG,
JPEG-1s, JPEG-2000, JPEG-XR, PNG, and GIF). As shown in FIG. 2,
these compression algorithms indicate different capability of
compression performance in terms of compression ratio, compression
efficiency, compression complexity, and power dissipation.
Specifically, the compression efficiency is the ability of a
compression algorithm to encode the input multimedia data D1 at the
lowest possible bit rate while maintaining a certain level of
visual quality. There are two standard ways to measure the
compression efficiency of a compression algorithm. One is to use an
objective metric, such as a peak signal-to-noise ratio (PSNR). The
other is to use a subjective assessment of video/image quality. If
the compression efficiency of a compression algorithm is high, it
means that the compression algorithm can preserve more input data
information after compression is performed under a certain
compression ratio. If the compression efficiency of a compression
algorithm is low, it means that the compression algorithm will lose
more input data information after compression is performed under a
certain compression ratio. Hence, a high compression efficiency
algorithm can preserve more input data information under a certain
compression ratio, and the de-compressed multimedia data can have
better visual appearance and visual quality.
[0043] The compressor 142 is capable of adaptively adjusting a
compression algorithm applied to the input multimedia data D1
according to at least the side information shown as dotted lines in
FIG. 1, where the side information may be provided by at least one
of external storage 108, ISP 114, image encoder 116, video encoder
122, display processor 120, graphic engine 126, and battery meter
130. As the compressor 142 refers to the side information to select
an adequate compression algorithm from supported compression
algorithms having different compression characteristics, the
compression performance can be optimized. For better understanding
of technical features of the present invention, several embodiments
are illustrated as below.
[0044] In a first exemplary embodiment, the compressor 142 may
adaptively adjust a compression algorithm applied to the input
multimedia data D1 according to context characteristics of the
input multimedia data D1. Please refer to FIG. 3, which is a
diagram illustrating an embodiment of the compressor 142 shown in
FIG. 1. As shown in FIG. 3, the compressor 142 includes a content
analysis unit 202 and a compression unit 204. The content analysis
unit 202 receives the input multimedia data D1 and side information
SI, where the side information SI may include information provided
by the display processor 120, the image encoder 116, the video
encoder 122, and/or the graphic engine 126. In one exemplary
design, the content analysis unit 202 may be configured to analyze
the input multimedia data D1 to classify contents included in the
input multimedia data D1, and accordingly generate a content
classification result CR. More specifically, the content analysis
unit 202 could recognize the pixel data as text, graphic user
interface (UI), video scene or image scene by detecting features in
each received pixel unit of the input multimedia data D1, where the
size of the pixel unit to be compressed may be any positive value
based on actual design requirement/consideration.
[0045] The contents classified by the content analysis unit 202 may
include a video content, an image content, a text content (i.e., a
text-rich image content), and a graphic content. For example, the
content analysis unit 202 could check if the received pixel unit is
data generated by a video engine (e.g., video decoder 124) by
comparing the characteristic of pixels with typical video data
characteristics. If the characteristic of the pixels match the
characteristic of video data, the content analysis unit 202 could
classify the received pixel unit as data generated by the video
engine (e.g., video decoder 124). In a similar way, the content
analysis unit 202 could check if the received pixel unit is data
generated by an image engine (e.g., image decoder 118) by comparing
the characteristic of pixels with typical image data
characteristics. Also, the content analysis unit 202 could check if
the received pixel unit is data generated by the graphic engine 126
by matching it with several typical graphic data patterns such as
monotonic repeated pixels, monotonic gradient color, and clear
sharp edges. In another exemplary design, the content analysis unit
202 may refer to the side information SI to classify the contents
of the input multimedia data D1 into video contents generated by
the video engine (e.g., video decoder 124), image contents are
generated by the image engine (e.g., image decoder 118), and
graphic contents generated by the graphic engine 126.
[0046] The compression unit 204 is arranged for referring to the
content classification result CR to adaptively adjust the
compression algorithm employed. In this way, a content-aware
compression based on the content classification result CR is
achieved. FIG. 4 is a diagram illustrating one frame 302 included
in the input multimedia data D1. The content classification result
CR indicates that the frame 302 include graphic contents at a top
portion of the frame 302, text contents at the bottom-left portion
of the frame 302, and video contents at the bottom-right portion of
the frame 302. After the classification procedure, compression
algorithms N.sub.1 and N.sub.2 are selected when the received pixel
units are classified as graphic content and image content,
respectively. Compression algorithms N.sub.3 and N.sub.4 are
dedicated to the data classified as video content, where
compression algorithm N.sub.3 is suitable for the high bit rate
video content and compression algorithm N.sub.4 is suitable for the
low bit rate video content. Moreover, the compression algorithm
N.sub.6 is suitable for a text-rich image on web-browsing scenario.
The compression algorithm N.sub.5 is the default algorithm when
none of above contents is detected. The classification of high bit
rate content and low bit rate content may depend on the
quantization parameter (QP) of a video bitstream such as an HEVC or
H.264 encoded bitstream. When the QP is higher than a threshold,
the input data is classified as low bit rate content; otherwise, it
is high bit rate content. For example, when QP.sub.1>THR, the
compression algorithm N4 is employed by the compression unit 204;
and when QP.sub.2.ltoreq.THR, the compression algorithm N.sub.3 is
employed by the compression unit 204. Another embodiment is to
calculate the data variance of the input data. When the variance is
higher than a threshold, the input data is classified as high bit
rate content; otherwise, it is low bit rate content.
[0047] FIG. 5 is a flowchart illustrating an adaptive compression
method based on context characteristics of the input multimedia
data D1 according to an embodiment of the present invention.
Provided that the result is substantially the same, the steps are
not required to be executed in the exact order shown in FIG. 5. The
exemplary adaptive compression method may be briefly summarized by
following steps.
[0048] Step 400: Start.
[0049] Step 402: Apply a content classification to each received
pixel unit included in the input multimedia data D1, and
accordingly generate the content classification result CR.
[0050] Step 404: Check if the content classification result CR
indicates that the received pixel unit is a video content. If yes,
go to step 406; otherwise, go to step 412.
[0051] Step 406: Check if the content classification result CR
indicates that the received pixel unit is a low bit rate content
(e.g., QP>THR). If yes, go to step 408; otherwise, go to step
410.
[0052] Step 408: Apply the compression algorithm N.sub.4. Go to
step 426.
[0053] Step 410: Apply the compression algorithm N.sub.3. Go to
step 426.
[0054] Step 412: Check if the content classification result CR
indicates that the received pixel unit is an image content. If yes,
go to step 414; otherwise, go to step 416.
[0055] Step 414: Apply the compression algorithm N.sub.2. Go to
step 426.
[0056] Step 416: Check if the content classification result CR
indicates that the received pixel unit is a text content. If yes,
go to step 418; otherwise, go to step 420.
[0057] Step 418: Apply the compression algorithm N.sub.6. Go to
step 426.
[0058] Step 420: Check if the content classification result CR
indicates that the received pixel unit is a graphic content. If
yes, go to step 422; otherwise, go to step 424.
[0059] Step 422: Apply the compression algorithm N.sub.1. Go to
step 426.
[0060] Step 424: Apply the compression algorithm N.sub.5.
[0061] Step 426: Check if all of the received pixel units included
in the input multimedia data D1 have been processed. If yes, go to
step 428; otherwise, go to step 404 to process the next received
pixel unit.
[0062] Step 428: End.
[0063] It should be noted that step 402 is performed by the content
analysis unit 202, and steps 404-426 are performed by the
compression unit 204. As a person skilled in the art can readily
understand details of each step shown in FIG. 5 after reading above
paragraphs, further description is omitted here for brevity.
[0064] In a second exemplary embodiment, the compressor 142 may
adaptively adjust a compression algorithm applied to the input
multimedia data D1 according to a power supply status. As shown in
FIG. 1, the camera module 110 and other data processing apparatuses
are powered by the battery device 109, and the side information
given by the battery meter 130 would include the power supply
status indicative of an available battery capacity of the battery
device 109. Please refer to FIG. 6, which is a diagram illustrating
another embodiment of the compressor 142 shown in FIG. 1. The
compressor 142 includes a comparison unit 502 and a compression
unit 504. The comparison unit 502 receives side information SI from
the battery meter 130. The comparison unit 502 compares the
available battery capacity of the battery device 109 as indicated
by the side information SI with at least one predetermined
threshold to generate a comparison result CR'. The compression unit
504 supports a plurality of compression algorithms having different
characteristics, and refers to the comparison result CR' to select
one of the supported compression algorithms for data compression.
For example, as shown in FIG. 7, the comparison unit 502 employs a
first predetermined threshold THR.sub.1 and a second predetermined
threshold THR.sub.2, where THR.sub.1>THR.sub.2. The first
predetermined threshold THR.sub.1 is checked to see if the data
compression can be disabled to avoid information loss caused by a
lossy compression algorithm. More specifically, the compressor 142
is arranged to disable the data compression when the power supply
status indicates that the available battery capacity is higher than
the first predetermined threshold THR.sub.1, and enable the data
compression when the power supply status indicates that the
available battery capacity is not higher than the first
predetermined threshold THR.sub.1. To put it another way, when the
battery power is full or higher than the first predetermined
threshold THR.sub.1, the compression algorithm is disabled to get
better visual quality; and when the battery power is lower than the
first predetermined threshold THR.sub.1, a compression algorithm is
enabled to save power dissipation of the camera interface 103.
[0065] The second predetermined threshold THR.sub.2 is checked to
select one compression algorithm from supported compression
algorithms having different characteristics. More specifically, the
compressor 142 is arranged to employ the compression algorithm
N.sub.1 for compressing the input multimedia data D1 when the power
supply status indicates that the available battery capacity is
higher than the second predetermined threshold THR.sub.2, and
employ the compression algorithm N.sub.2 for compressing the input
multimedia data D1 when the power supply status indicates that the
available battery capacity is not higher than the second
predetermined threshold THR.sub.2, where the compression algorithm
N.sub.1 is more complex than the compression algorithm N.sub.2,
and/or the compression algorithm N.sub.1 has a higher compression
efficiency than the compression algorithm N.sub.2. To put it
another way, when the battery power is almost full or higher than
the second predetermined threshold THR.sub.2, a more complex and
higher compression efficiency algorithm can be selected by the
compression unit 504 to get better visual quality; and when the
battery power is almost empty or lower than the second
predetermined threshold THR.sub.2, a less complex and lower
compression efficiency algorithm can be selected by the compression
unit 504 to save power dissipation of the camera interface 103.
[0066] FIG. 8 is a flowchart illustrating an adaptive compression
method based on a power supply status according to an embodiment of
the present invention. Provided that the result is substantially
the same, the steps are not required to be executed in the exact
order shown in FIG. 8. The exemplary adaptive compression method
may be briefly summarized by following steps.
[0067] Step 700: Start.
[0068] Step 702: Check if the battery is full. If yes, go to step
704; otherwise, go to step 706.
[0069] Step 704: Disable data compression.
[0070] Step 706: Check if the available battery capacity is higher
than the first predetermined threshold THR.sub.1. If yes, go to
step 704; otherwise, go to step 708.
[0071] Step 708: Check if the available battery capacity is higher
than the second predetermined threshold THR.sub.2. If yes, go to
step 710; otherwise, go to step 712.
[0072] Step 710: Apply the compression algorithm N.sub.1. Go to
step 714.
[0073] Step 712: Apply the compression algorithm N.sub.2.
[0074] Step 714: End.
[0075] It should be noted that steps 702, 706, 708 are performed by
the comparison unit 502, and steps 704, 710, 712 are performed by
the compression unit 504. As a person skilled in the art can
readily understand details of each step shown in FIG. 8 after
reading above paragraphs, further description is omitted here for
brevity.
[0076] In a third exemplary embodiment, the compressor 142 may
adaptively adjust a compression algorithm applied to the input
multimedia data D1 according to an operational status of a storage
device such as the external storage 108. The side information SI
given by the external storage 108 would include the operational
status indicative of a used bandwidth of the external storage 108.
Please refer to FIG. 6 again. In this embodiment, the comparison
unit 502 receives the side information SI from the external storage
108. Next, the comparison unit 502 compares the used bandwidth of
the external storage 108 as indicated by the side information SI
with at least one predetermined threshold to generate the
comparison result CR'. The compression unit 504 supports a
plurality of compression algorithms having different
characteristics, and refers to the comparison result CR' to select
one of the supported compression algorithms for data compression.
For example, as shown in FIG. 9, the comparison unit 502 employs a
first predetermined threshold THR.sub.1 and a second predetermined
threshold THR.sub.2, where THR.sub.1>THR.sub.2. The second
predetermined threshold THR.sub.2 is checked to see if the data
compression can be disabled to avoid information loss caused by a
lossy compression algorithm. More specifically, the compressor 142
is arranged to disable the data compression when the side
information SI indicates that the used bandwidth is lower than the
second predetermined threshold THR.sub.2, and enable the data
compression when the side information SI indicates that the used
bandwidth is not lower than the second predetermined threshold
THR.sub.2.
[0077] The first predetermined threshold THR.sub.1 is checked to
select one compression algorithm from candidate compression
algorithms having different characteristics. More specifically, the
compressor 142 is arranged to employ the compression algorithm
N.sub.1 for compressing the input multimedia data D1 when the side
information SI indicates that the used bandwidth is lower than the
first predetermined threshold THR.sub.1, and employ the compression
algorithm N.sub.2 for compressing the input multimedia data D1 when
the side information SI indicates that the used bandwidth is not
lower than the first predetermined threshold THR.sub.1, where the
compression algorithm N.sub.1 is more complex than the compression
algorithm N.sub.2, and/or the compression algorithm N.sub.1 has a
higher compression efficiency than the compression algorithm
N.sub.2. To put it another way, when the used bandwidth is lower
than the first predetermined threshold THR.sub.1, a more complex
and higher compression efficiency algorithm can be selected by the
compression unit 504 to get better visual quality; and when the
bandwidth is almost used or the used bandwidth is not lower than
the first predetermined threshold THR.sub.1, a less complex and
lower compression efficiency algorithm can be selected by the
compression unit 504 to save power dissipation of the camera
interface 103.
[0078] FIG. 10 is a flowchart illustrating an adaptive compression
method based on an operating status of a storage device according
to an embodiment of the present invention. Provided that the result
is substantially the same, the steps are not required to be
executed in the exact order shown in FIG. 10. The exemplary
adaptive compression method may be briefly summarized by following
steps.
[0079] Step 900: Start.
[0080] Step 902: Check if the bandwidth is not occupied yet. If
yes, go to step 904; otherwise, go to step 906.
[0081] Step 904: Disable data compression. Go to step 914.
[0082] Step 906: Check if the used bandwidth is lower than the
second predetermined threshold THR.sub.2. If yes, go to step 904;
otherwise, go to step 908.
[0083] Step 908: Check if the used bandwidth is lower than the
first predetermined threshold THR.sub.1. If yes, go to step 910;
otherwise, go to step 912.
[0084] Step 910: Apply the compression algorithm N.sub.1. Go to
step 914.
[0085] Step 912: Apply the compression algorithm N.sub.2.
[0086] Step 914: End.
[0087] It should be noted that steps 902, 906, 908 are performed by
the comparison unit 502, and steps 904, 910, 912 are performed by
the compression unit 504. As a person skilled in the art can
readily understand details of each step shown in FIG. 10 after
reading above paragraphs, further description is omitted here for
brevity.
[0088] In a fourth exemplary embodiment, the compressor 142 may
adaptively adjust a compression algorithm applied to the input
multimedia data D1 according to at least one image capture
characteristic. The ISP 114 may be configured to perform digital
gain adjustment for a focus level, an exposure level, and an ISO
(International Organization for Standardization) value. Hence, the
side information SI given by the ISP 114 may include at least one
of the focus level, the exposure level, and the ISO value. Please
refer to FIG. 6 again. In this embodiment, the comparison unit 502
receives the side information SI from the ISP 114, and compares the
side information SI with at least one predetermined threshold to
generate the comparison result CR'. The compression unit 504
supports a plurality of compression algorithms having different
characteristics, and refers to the comparison result CR' to select
one of the supported compression algorithms to achieve better
compression performance or visual quality. For example, a blurred
image is captured when the focus level is lower than a first
predetermined threshold THR.sub.1. Hence, the compression algorithm
N.sub.4 particularly designed for compressing the blurred image is
selected by the comparison unit 502. An over-exposure or
under-exposure image is obtained when the exposure level is out of
a specific range delimited by a second predetermined threshold
THR.sub.2 and a third predetermined threshold THR.sub.3, where
THR.sub.2>THR.sub.3. Hence, the compression algorithm N.sub.3
particularly designed to manipulate this kind of captured image is
selected by the comparison unit 502. Alternatively, the
over-exposure image and the under-exposure image may be processed
by different compression algorithms. In addition, the ISO value
from the ISP 114 can be exploited as side information since it
impacts the noise level on the captured image. Specifically, the
ISO value is positively correlated to the noise level. Hence, if
the ISO value is not lower than a fourth predetermined threshold
THR.sub.4, a high ISO image can be compressed using the compression
algorithm N.sub.1 such that noise pixels can be properly considered
during the compression. If the ISO value is lower than the fourth
predetermined threshold THR.sub.4, the compression algorithm
N.sub.2 is selected by the compression unit 504 to achieve better
compression performance for the low ISO image.
[0089] FIG. 11 is a flowchart illustrating an adaptive compression
method based on at least one image capture characteristic according
to an embodiment of the present invention. Provided that the result
is substantially the same, the steps are not required to be
executed in the exact order shown in FIG. 11. The exemplary
adaptive compression method may be briefly summarized by following
steps.
[0090] Step 1000: Start.
[0091] Step 1002: Receive an image.
[0092] Step 1004: Check if the focus level of the image is lower
than the first predetermined threshold THR.sub.1. If yes, go to
step 1006; otherwise, go to step 1008.
[0093] Step 1006: Apply the compression algorithm N.sub.4. Go to
step 1018.
[0094] Step 1008: Check if the exposure level of the image is
higher than the second predetermined threshold THR.sub.2 or lower
than the third predetermined threshold THR.sub.3. If yes, go to
step 1010; otherwise, go to step 1012.
[0095] Step 1010: Apply the compression algorithm N.sub.3. Go to
step 1018.
[0096] Step 1012: Check if the ISO value of the image is lower than
the fourth predetermined threshold THR.sub.4. If yes, go to step
1014; otherwise, go to step 1016.
[0097] Step 1014: Apply the compression algorithm N.sub.2. Go to
step 1018.
[0098] Step 1016: Apply the compression algorithm N.sub.1.
[0099] Step 1018: Check if all of the images have been processed.
If yes, go to step 1020; otherwise, go to step 1002 to process the
next image.
[0100] Step 1020: End.
[0101] It should be noted that steps 1004, 1008, 1012 are performed
by the comparison unit 502, and steps 1002, 1006, 1010, 1014, 1016,
1018 are performed by the compression unit 504. As a person skilled
in the art can readily understand details of each step shown in
FIG. 11 after reading above paragraphs, further description is
omitted here for brevity.
[0102] In a fifth exemplary embodiment, the compressor 142 may
adaptively adjust a compression algorithm applied to the input
multimedia data D1 according to a de-compression algorithm
supported by the ISP 114, and the de-compressor 132 may adaptively
adjust a de-compression algorithm applied to the input multimedia
data D2 according to a compression algorithm supported by the
camera module 110. Please refer to FIG. 12, which is a diagram
illustrating a configuration of a compressor in a camera module and
a configuration of a de-compressor in an ISP according to an
embodiment of the present invention. Each of the camera modules
1302_1 and 1302_2 supports a plurality of compression algorithms,
and the ISP 1304 supports a plurality of de-compression algorithms.
When the ISP 1304 (e.g., ISP 114 shown in FIG. 1) is used to
connect the camera module 1302_1 (e.g., camera module 110 shown in
FIG. 1) via a camera interface 1303 (e.g., camera interface 103
shown in FIG. 1), the ISP 1304 sends side information to inform the
camera module 1302_1 of the supported de-compression algorithms X'
and Y'. As the compression algorithm X supported by the camera
module 1302_1 is compliant with the de-compression algorithm X',
the camera module 1302_1 therefore selects and enables the
compression algorithm X of the compressor (e.g., compressor 142
shown in FIG. 1). In addition, the camera module 1302_1 sends side
information to inform the ISP 1304 of the employed compression
algorithm X. As the de-compression algorithm X' supported by the
ISP 1304 is compliant with the compression algorithm X, the ISP
1304 therefore selects and enables the de-compression algorithm X'
of the de-compressor (e.g., de-compressor 132 shown in FIG. 1).
[0103] The ISP 1304 may be used in a variety of applications, and
therefore supports different de-compression algorithms. Thus, in
one exemplary application, the ISP 1304 is used to connect the
camera module 1302_1. However, in another application, the ISP 1304
is used to connect the camera module 1302_2. When the ISP 1304 is
used to connect the camera module 1302_2 via the camera interface
1303, the ISP 1304 sends side information to inform the camera
module 1302_2 of the supported de-compression algorithms X' and Y'.
As the compression algorithm Y supported by the camera module
1302_2 is compliant with the de-compression algorithm Y', the
camera module 1302_2 therefore selects and enables the compression
algorithm Y of the compressor. In addition, the camera module
1302_2 sends side information to inform the ISP 1304 of the
employed compression algorithm Y. As the de-compression algorithm
Y' supported by the ISP 1304 is compliant with the compression
algorithm Y, the ISP 1304 therefore selects and enables the
de-compression algorithm Y' of the de-compressor.
[0104] FIG. 13 is a flowchart illustrating an adaptive compression
and de-compression method based on side information communicated
between a camera module and an ISP according to an embodiment of
the present invention. Provided that the result is substantially
the same, the steps are not required to be executed in the exact
order shown in FIG. 13. The exemplary adaptive compression and
de-compression method may be briefly summarized by following
steps.
[0105] Step 1400: Start.
[0106] Step 1402: Receive side information of the ISP.
[0107] Step 1404: Refer to the ISP's side information to select and
enable a compression algorithm compliant with a de-compression
algorithm supported by the ISP.
[0108] Step 1406: Receive side information of the camera
module.
[0109] Step 1408: Refer to the camera module's side information to
select and enable a de-compression algorithm compliant with a
compression algorithm employed by the camera module.
[0110] Step 1410: End.
[0111] It should be noted that steps 1402 and 1404 are performed by
the camera module, and steps 1406 and 1408 are performed by the
ISP. As a person skilled in the art can readily understand details
of each step shown in FIG. 13 after reading above paragraphs,
further description is omitted here for brevity.
[0112] Those skilled in the art will readily observe that numerous
modifications and alterations of the device and method may be made
while retaining the teachings of the invention. Accordingly, the
above disclosure should be construed as limited only by the metes
and bounds of the appended claims.
* * * * *