WO2007026855A1 - Image encoding apparatus and image encoding method - Google Patents

Image encoding apparatus and image encoding method Download PDF

Info

Publication number
WO2007026855A1
WO2007026855A1 PCT/JP2006/317293 JP2006317293W WO2007026855A1 WO 2007026855 A1 WO2007026855 A1 WO 2007026855A1 JP 2006317293 W JP2006317293 W JP 2006317293W WO 2007026855 A1 WO2007026855 A1 WO 2007026855A1
Authority
WO
WIPO (PCT)
Prior art keywords
encoding
compression
encode
image
image data
Prior art date
Application number
PCT/JP2006/317293
Other languages
French (fr)
Inventor
Masaaki Matsuoka
Masato Kosugi
Yuuichirou Kimijima
Original Assignee
Canon Kabushiki Kaisha
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Canon Kabushiki Kaisha filed Critical Canon Kabushiki Kaisha
Priority to EP20060797242 priority Critical patent/EP1925150B1/en
Priority to CN2006800151452A priority patent/CN101253761B/en
Priority to ES06797242T priority patent/ES2400089T3/en
Priority to US11/912,938 priority patent/US8045815B2/en
Publication of WO2007026855A1 publication Critical patent/WO2007026855A1/en

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/59Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving spatial sub-sampling or interpolation, e.g. alteration of picture size or resolution
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/124Quantisation
    • H04N19/126Details of normalisation or weighting functions, e.g. normalisation matrices or variable uniform quantisers
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/13Adaptive entropy coding, e.g. adaptive variable length coding [AVLC] or context adaptive binary arithmetic coding [CABAC]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/146Data rate or code amount at the encoder output
    • H04N19/15Data rate or code amount at the encoder output by monitoring actual compressed data size at the memory before deciding storage at the transmission buffer
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/154Measured or subjectively estimated visual quality after decoding, e.g. measurement of distortion
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/17Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object
    • H04N19/172Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object the region being a picture, frame or field
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/42Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by implementation details or hardware specially adapted for video compression or decompression, e.g. dedicated software implementation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/42Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by implementation details or hardware specially adapted for video compression or decompression, e.g. dedicated software implementation
    • H04N19/423Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by implementation details or hardware specially adapted for video compression or decompression, e.g. dedicated software implementation characterised by memory arrangements

Definitions

  • the present invention relates to an image encoding apparatus and an image encoding method which encodes image data and stores it in a storage medium.
  • Image data acquired via an image sensing device in an image processing apparatus is subjected to A/D conversion.
  • the resulting digital data is then subjected to necessary image processing, and lossy compression such as JPEG encoding is executed on the processed data.
  • the compressed data is stored in a storage medium as JPEG image data. This enables a large number of image data to be efficiently stored in a storage medium having a limited storage capacity.
  • CCD-RAW data image sensing device
  • compressed RAW data image processing apparatus
  • computer software or the like provided by a digital camera manufacturer or the like.
  • Users can then obtain high- quality images.
  • each compressed RAW data is stored simultaneously with the corresponding JPEG image data. The user can thus check stored images on the fly, save them as they are, or print them out.
  • a digital camera encodes the CCD-RAW data on the basis of various encode parameters.
  • the encode parameters indicate, for example, the type of a Huffman table for Huffman encoding in the digital camera and the type of a quantization table for quantization.
  • the compression ratio of compressed RAW data or JPEG image data varies depending on the types of encode parameters used.
  • the Huffman table indicates what code is to be assigned to what value.
  • Many conventional digital cameras efficiently store images in a storage medium by selectively applying a preferred one of plural encode parameters so as to maximize the compression ratio. For example, Japanese Patent Laid-Open No.
  • 2001-326939 proposes a technique for experimentally executing encoding with each of the plural encode parameters held in a storage unit and adopting an encode parameter resulting in the maximum compression ratio.
  • the conventional technique in Japanese Patent Laid-Open No. 2001-326939 must experimentally execute encoding with all of the plural encode parameters held in the storage unit, thus increasing the time required to process each image data. This disadvantageousIy degrades the response of the apparatus and reduces the continuous shooting speed and continuous shooting frame count.
  • the present invention is made in view of these circumstances and is characterized by providing a technique for quickly selecting an encode parameter for an image encoding apparatus which achieves high compression efficiency.
  • an image encoding apparatus which executes compression encoding on image data to generate encoded data and which stores the encoded data in a memory
  • the apparatus comprising: first compression encoding means for executing compression encoding on the image data by a first compression scheme; second compression encoding means for executing compression encoding on the image data by a second compression scheme using an encode parameter; storage means for holding a plurality of the encode parameters ; and encode parameter selection means for selecting, on a basis of a result of the compression by the first compression encoding means, one of the plurality of encode parameters held in the storage means which is used to allow the second encoding means to encode the image data.
  • an image encoding apparatus which executes compression encoding on image data to generate encoded data and which stores the encoded data in a memory
  • the apparatus comprising: first compression encoding means for executing compression encoding on resized image data by a first compression scheme, the resized image data being obtained by resizing the image data; second compression encoding means for executing compression encoding on the image data by a second compression scheme using an encode parameter; storage means for holding a plurality of the encode parameters ; and encode parameter selection means for selecting, on the basis of a result of the compression by the first compression encoding means , one of the plurality of encode parameters held in the storage means which is used to allow the second encoding means to encode the image data .
  • an image encoding method which executes compression encoding on image data to generate encoded data and which stores the encoded data in a memory, the method comprising: a first compression encoding step of executing compression encoding on the image data by a first compression scheme; a second compression encoding step of executing compression encoding on the image data by a second compression scheme using an encode parameter; and an encode parameter selecting step of selecting, on the basis of a result of the compression by the first compression encoding means, one of the plurality of encode parameters held in storage means which is used to encode the image data in the second encoding step.
  • an image encoding method which executes compression encoding on image data to generate encoded data and which stores the encoded data in a memory, the method comprising: a first compression encoding step of executing compression encoding on resized image data by a first compression scheme, the resized image data being obtained by resizing the image data; a second compression encoding step of executing compression encoding on the image data by a second compression scheme using an encode parameter; and an encode parameter selecting step of selecting, on the basis of a result of the compression in the first compression encoding step, one of the plurality of encode parameters held in storage means which is used to encode the image data in the second encoding step.
  • FIG. 1 is a schematic diagram of an image capturing apparatus according to an embodiment of the present invention.
  • FIG. 2 is a diagram showing a color filter arrangement in an image sensing device
  • FIG. 3 is a diagram showing the relationship between the nature of DPCM data in Huffman encoding with lossless compression and a Huffman table to be applied;
  • FIG. 4 is a diagram showing the relationship between the nature of DPCM data in Huffman encoding with lossless compression and a Huffman table to be applied;
  • FIG. 5 is a flowchart showing the flow of a process for selecting a Huffman table for RAW lossless compression on the basis of the compression ratio of
  • JPEG image data according to a first embodiment
  • FIG. 6 is a graph that allows a Huffman table to be selected according to a first embodiment
  • FIG. 7 is a flowchart showing the flow of a process for selecting a quantization table and a
  • FIG. 8 is a graph that allows a quantization table and a Huffman table to be selected according to a second embodiment.
  • FIG. 9 is a flowchart showing the flow of a process for selecting a Huffman table that allows storing JPEG image data to be generated, on the basis of the compression ratio of JPEG image data generated from display image data according to a third embodiment .
  • FIG. 1 is a diagram showing the general configuration of an image capturing apparatus used in the present embodiment as an image processing apparatus having the functions of both an image encoding and decoding apparatuses.
  • description will be given of lossless compression and storage of an image executed in an image capturing apparatus 100 using a Huffman encoding and decoding circuit in an encoding circuit without carrying out image processing on image data obtained by an image sensing device.
  • JPEG images associated with RAW data and stored simultaneously are obtained by executing a predetermined process on image data obtained by the image sensing device and allowing the encoding circuit to subject the processed image data to lossy compression. Navigating the simultaneously stored JPEG images enables the contents of the images to be quickly understood without developing the RAW data.
  • Reference numeral 10 denotes an image capturing lens that optically forms a captured image.
  • Reference numeral 12 denotes an image sensing device (CCD) that converts the captured image into an analog electric signal.
  • Reference numeral 14 denotes an A/D converter that converts an analog signal output from the image sensing device 12 into a digital signal.
  • digital data output by the A/D converter 14 is hereinafter referred to as CCD-RAW data.
  • the image sensing device may be a CMOS or the like, which similarly provides RAW data.
  • Reference numeral 16 denotes a D/A converter and reference numeral 18 denotes an image display unit consisting of a TFT LCD or the like. Display image data written to a memory 40 is converted from digital data into analog data via the D/A converter 16. The resulting analog data is displayed on the image display unit 18 .
  • Reference numeral 20 denotes a storage medium such as a memory or a hard disk in which captured image data or the like is stored.
  • Reference numeral 30 denotes an image processing circuit that executes a predetermined developing process such as pixel interpolating processing or color converting processing, or resize processing on captured or stored CCD-RAW data.
  • Reference numeral 40 denotes a memory that temporarily stores captured image data and that has a sufficient storage capacity to store a predetermined number of still images or a predetermined time worth of motion pictures. For example, digital image data output by the A/D converter 14 is written to the memory 40 via a memory control circuit 50 and the image processing circuit 30 or directly via the memory control circuit 50.
  • Reference numeral 50 denotes the memory control circuit that controls data flows to the A/D converter 14, D/A converter 16, storage medium 20, image processing circuit 30, and memory 40, as well as a DPCM converting circuit 80 and an encoding circuit 60.
  • Reference numeral 60 denotes an encoding circuit that compresses and decompresses image data and that is composed of a DCT converting circuit 62, a quantization circuit 64, a MUX (data selector) 66, and a Huffman encoding and decoding circuit 68.
  • the data selector 66 switches between JPEG encoding/decoding and the lossless compression/decompression of CCD-RAW data.
  • Reference numeral 70 denotes a MUX (data selector) that switches between JPEG encoding/decoding and the lossless compression/decompression of CCD-RAW data.
  • Reference numeral 80 denotes a circuit that executes DPCM conversion on CCD-RAW data so that the Huffman encoding and decoding circuit 68 in the encoding circuit 60 can be used to subject CCD-RAW data to lossless compression and decompression.
  • the DPCM converting circuit 80 executes DPCM conversion (predictive encoding) on CCD-RAW data in order to reduce the entropy of an information source to increase the encoding efficiency of the Huffman encoding.
  • the DPCM converting circuit 80 executes, for example, DPCM conversion (predictive encoding) on 10-bit CCD-RAW data and inverse DPCM conversion on 11-bit DPCM data.
  • the DPCM conversion makes use of the close correlation between neighboring pixels in image information, thus converts the image information into the differential value between pixel data on a pixel to be encoded and pixel data on an adjacent pixel (pixel on the left of the pixel to be encoded) . This reduces the entropy of the information source to increase the encoding efficiency of the Huffman encoding.
  • the present embodiment uses such a CCD color filter arrangement as shown in FIG. 2 thus always calculates the differential value between data on a target pixel and data on the third pixel from the target pixel on the left.
  • the DPCM converting circuit 80 is thus configured to determine the differential between newly input CCD-RAW data and the CCD-RAW data input before the last but one.
  • Reference numeral 90 denotes a system control circuit that controls the operations of the entire image capturing apparatus 100 and of the circuits constituting the image capturing apparatus 100 in accordance with settings made via a mode dial switch 92 and settings in a ROM 96 (Read Only Memory) .
  • Reference numeral 92 denotes the mode dial switch that enables function modes such as power off, image capturing, and playback to be switched and set.
  • Reference numeral 96 denotes a read only memory (ROM) that pre-stores programs for the system control circuit 90 and quantization and Huffman tables any of which are to be set in the encoding circuit 60. The quantization tables stored in the ROM 96 are transferred to the memory 40 and then held in an encode parameter storing memory 200 via the memory control circuit 50.
  • ROM read only memory
  • Reference numeral 200 denotes the encode parameter storing memory that stores Huffman tables for the Huffman encoding and decoding circuit 68.
  • the encode parameter storing memory also stores quantization tables for the quantization circuit 64.
  • FIG. 3 is a diagram illustrating that JPEG encoding of image results in a high compression ratio.
  • the axis of abscissa indicates the absolute value of a predictive differential value for DPCM data.
  • the solid line indicates the incidence of absolute value of the predictive differential value.
  • the broken like indicates the code length of the Huffman table.
  • FIG. 4 is a diagram illustrating that JPEG encoding of image results in a low compression ratio. Image data exhibiting a low compression ratio after encoding has an insignificant correlation between pixels. The incidence is distributed so as to insignificantly vary from smaller to larger absolute values of the predictive differential value. The size of Huffman encoding data is thus reduced by using such a Huffman table as assigns an insignificantly varying code length to the smaller to larger absolute values of the predictive differential value.
  • the system control circuit 90 transmits a signal for generation of JPEG image data from CCD-RAW data, to the data selectors 70 and 66.
  • the encoding circuit 60 thus executes a JPEG encoding process via the DCT converting circuit 62, quantization circuit 64, and Huffman encoding and decoding circuit 68.
  • Encoded data (JPEG image data) is stored in the memory 40 via the memory control circuit 50 (S102).
  • the system control circuit 90 acquires a quantization table value used for encoding from the JPEG image data generated in S102.
  • the "quantization table value" indicates the magnitude of a quantization step. A larger quantization table value increases the compression ratio of JPEG image data.
  • the system control circuit 90 selects a "compression ratio” - "Huffman” conversion coefficient k (S103). Although described below in detail with reference to FIG. 6, a smaller quantization table value reduces the value k. [0048] The system control circuit 90 then calculates the compression ratio a ((JPEG image data size) / (CCD- RAW data size)) of the JPEG image data generated in S102 (S104).
  • the axis of abscissa indicates the compression ratio ⁇ , which becomes lower (value ⁇ increases) from left to right on the axis of abscissa.
  • the axis of ordinate indicates the Huffman table selection value h, determined from the compression ratio. The following tendency is more significant from top to bottom of the axis of ordinate: a shorter code length is assigned to a smaller absolute value of the predictive differential value, while a longer code length is assigned to a larger absolute value of the predictive differential value. It is assumed that three quantization tables QO, Ql, and Q2 are used in S102. QO denotes a quantization table with a small quantization step.
  • Ql denotes a quantization table with a medium quantization step.
  • Q2 denotes a quantization table with a large quantization step.
  • the compression ratio of JPEG image data varies depending not only on the amount of low frequency components in CCD-RAW data but also on the magnitude of the quantization step. With the same CCD- RAW data, the compression ratio becomes lower (value ⁇ increases) with decreasing magnitude of the quantization step.
  • the "compression ratio"-"Huffman" conversion coefficient k is selected on the basis of the quantization table value to calculate the Huffman table selection value h as shown in the graph in FIG. 6, [0052]
  • the quantization table is Ql and the value oc is A. Accordingly, the Huffman table selection value is an intermediate value between H2 and H3. A Huffman table P2 is thus selected.
  • thresholds that allow the Huffman table PN to be selected and that are set at arbitrary intervals.
  • the number of thresholds is also arbitrary. The increased number of thresholds increases the number of Huffman tables one of which can be selected by the system control circuit 90.
  • the memory control circuit 50 then acquires CCD-RAW data from the RAW memory 40 and sends it to the encoding circuit 60 again, as in the case of SlOl.
  • the encoding circuit 60 uses the Huffman table selected in S105 to compress the CCD-RAW data to obtain compressed RAW data (S106).
  • the system control circuit 90 transmits a RAW lossless compression (encoding) signal to the data selectors 70 and 66.
  • the image capturing apparatus 100 first executes JPEG encoding on the CCD-RAW data.
  • the image capturing apparatus 100 selects a Huffman table to encode the CCD-RAW data.
  • the image capturing apparatus 100 assumes that the CCD-RAW data is image data with a larger number of low frequency components .
  • the image capturing apparatus 100 thus selects a Huffman table that assigns a particularly short code to a predictive differential value with a small absolute value.
  • the image capturing apparatus 100 selects a Huffman table that assigns a code of a relatively equal length to the predictive differential value regardless of its absolute value.
  • the image capturing apparatus 100 need not repeat trials and errors before determining which Huffman table to use. This in turn makes it possible to relatively efficiently encode image data while quickly selecting a Huffman table.
  • the image capturing apparatus 100 selects a Huffman table for RAW lossless compression on the basis of the compression ratio of JPEG image data generated from CCD-RAW data.
  • the image capturing apparatus 100 selects a quantization and Huffman tables for JPEG encoding on the basis of the compression ratio of compressed RAW data generated from CCD-RAW data.
  • Quantization and Huffman tables are statistically pre-calculated and stored in the ROM 96. The Huffman tables are then transferred to and held in the encode parameter storing memory 200 via the system control circuit 90 and memory 40.
  • image data (CCD-RAW data) captured and stored in the memory 40 is acquired by the memory control circuit 50, which then sends the data to the encoding circuit 60 (S201).
  • the system control circuit 90 transmits a signal for generation of compressed RAW data from CCD-RAW data, to the data selectors 70 and 66.
  • the encoding circuit 60 thus executes a RAW lossless compressing process via the DPCM converting circuit 80 and Huffman encoding and decoding circuit 68.
  • Encoded data (compressed RAW data) is stored in the memory 40 via the memory control circuit 50 (S202).
  • the system control circuit 90 calculates the compression ratio ⁇ ((compressed RAW data size) / (CCD-RAW data size) ) of the compressed RAW data generated in S202 (S203).
  • the system control circuit 90 selects a quantization table suitable for generating JPEG images, on the basis of the compression ratio a calculated in S203 (S204).
  • image data with a higher compression ratio exhibits a significant correlation between pixels and contains a large number of low frequency components . Human eyes tend to be more sensitive to noise in image data containing a large number of low frequency components.
  • the system control circuit 90 selects a quantization table with a smaller value in order to reduce block noise or the like which may occur during encoding.
  • the system control circuit 90 selects a quantization table with a larger value.
  • FIG. 8 shows a graph in which a quantization table Q2 with a larger quantization step is selected for a lower compression ratio (larger value ⁇ ) and in which a quantization table QO with a smaller quantization step is selected for a higher compression ratio (smaller value a) .
  • the quantization table selection value is an intermediate value between Ul and U2.
  • a quantization table Ql is thus selected.
  • An image having compressed RAW data with a lower compression ratio (larger value ⁇ ) tends to correspond to JPEG image with a lower compression ratio.
  • a variation in the size of JPEG image data generated can be suppressed by increasing the quantization table value for JPEG encoding for a larger value ⁇ , while reducing it for a smaller value ⁇ .
  • the system control circuit 90 selects a Huffman table suitable for generating a JPEG image on the basis of the compression ratio a calculated in S203 (S205).
  • a method for selecting a Huffman table and the nature of the Huffman tables PO to PN according to the second embodiment are similar to those according to the first embodiment and will not be described below.
  • the Huffman table selection value is an intermediate value between H2 and H3.
  • the Huffman table P2 is thus selected.
  • the memory control circuit 50 then acquires CCD-RAW data from the memory 40 and sends it to the encoding circuit 60 again as is the case with S201.
  • the encoding circuit 60 uses the quantization table selected in S204 and the Huffman table selected in S205 to execute JPEG encoding on the CCD-RAW data to obtain JPEG image data (S206).
  • the system control circuit 90 transmits a signal for JPEG encoding to the data selectors 70 and 66.
  • the image capturing apparatus 100 first subjects CCD-RAW data to RAW lossless compression. On the basis of the compression ratio of the compressed RAW data obtained, the image capturing apparatus 100 selects a quantization and Huffman tables to subject the CCD-RAW data to JPEG encoding.
  • the image capturing apparatus 100 need not repeat trials and errors before determining which quantization table and/or Huffman table to use. This makes it possible to relatively efficiently execute JPEG encoding on image data while quickly selecting a quantization table and/or Huffman table. [0068] [Third Embodiment]
  • the image capturing apparatus 100 executes JPEG encoding on display image data displayed on the image display unit 18. On the basis of the resulting compression ratio, the image capturing apparatus 100 selects a Huffman table that allows JPEG encoding to be executed on image data to be stored in the storage medium 20.
  • the third embodiment will be described with reference to FIG. 9. [0069] When a shutter (not shown) of the image capturing apparatus 100 is released, the process proceeds to S306. Otherwise the process proceeds to S302 (S301).
  • the image capturing apparatus 100 acquires display image data from the memory 40 and sends it to the encoding circuit 60.
  • the display image data is acquired through the image sensing device 12 at a predetermined frame rate (for example, 30 frames per second) .
  • the display image data is then subjected to image processing by the image processing circuit 30 so that the data can be displayed in the image display unit 18.
  • the data is then stored in the memory 40.
  • the encoding circuit 60 then executes JPEG encoding on the display image data acquired in S302 (S303) .
  • the system control circuit 90 then calculates the compression ratio ⁇ of the JPEG image data obtained in S303 (S304). On the basis of the compression ratio a, the system control circuit 90 selects a Huffman table (S305).
  • a method for selecting a Huffman table according to the third embodiment is similar to that according to the first and second embodiments and will not be described here.
  • image data (CCD-RAW data) captured and stored in the memory 40 is acquired by the memory control circuit 50, which then sends the data to the encoding circuit 60.
  • the encoding circuit 60 then uses the Huffman table selected in S305 to execute JPEG encoding on the image data acquired in S306.
  • the encoding circuit 60 stores the JPEG image data obtained, in the storage medium 20 via the memory control circuit 50 (S307).
  • RAW lossless compression may be executed instead of JPEG encoding.
  • the image capturing apparatus 100 continuously executes JPEG encoding on display image data acquired at the predetermined frame rate until the shutter (not shown) is released. On the basis of the compression ratio of the JPEG image data obtained, the image capturing apparatus 100 sequentially selects and updates the Huffman table. Once the shutter (not shown) is released, the image capturing apparatus 100 uses the selected Huffman table to execute JPEG encoding on the CCD-RAW data.
  • the image capturing apparatus 100 selects a Huffman table on the basis of the compression ratio of the JPEG image data obtained. [0078]
  • the image capturing apparatus 100 need not repeat trials and errors before determining which Huffman table to use. This makes it possible to relatively efficiently execute JPEG encoding on image data while quickly selecting a Huffman table.
  • the processes of the above embodiments may be executed by providing a system or apparatus with a storage medium in which program codes for software embodying the functions of the embodiments are stored.
  • the functions of the above embodiments can then be provided by a computer (or CPU or MPU) in the system or apparatus by reading and executing the program codes stored in the storage medium.
  • the program codes themselves read from the storage medium provide the functions of the above embodiments .
  • the storage medium in which the program codes are stored constitutes the present invention.
  • the storage medium via which the program codes are supplied may be, for example, a floppy (registered trademark) disk, a hard disk, an optical disk, or a magneto optic disk.
  • a CD-ROM, a CD-R, a magnetic tape, a nonvolatile memory card, or a ROM may be used.
  • the functions of the above embodiments need not necessarily be provided by executing the program codes read by a computer.
  • the functions of the above embodiments may also be provided by an OS (Operating System) or the like operating on the computer, by executing a part or all of the actual process on the basis of instructions in the program codes.
  • the program codes read from the storage medium may be written to a memory provided in an expanded board inserted into the computer or an expanded unit connected to the computer.

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)
  • Compression Of Band Width Or Redundancy In Fax (AREA)
  • Compression, Expansion, Code Conversion, And Decoders (AREA)

Abstract

An image capturing apparatus 100 first executes JPEG encoding on RAW data. On the basis of the compression ratio of JPEG image data obtained, the image capturing apparatus 100 selects a Huffman table to encode the RAW data. With the higher compression ratio of the JPEG data obtained, the image capturing apparatus 100 assumes that the RAW data is image data with a larger number of low frequency components. The image capturing apparatus 100 thus selects a Huffman table that assigns a particularly short code to a predictive differential value with a smaller absolute value. In contrast, with the lower compression ratio of the JPEG image data obtained, the image capturing apparatus 100 selects a Huffman table that assigns a code of a relatively equal length to the predictive differential value regardless of its absolute value.

Description

DESCRIPTION
IMAGE ENCODING APPARATUS AND IMAGE ENCODING METHOD
TECHNICAL FIELD
[0001] The present invention relates to an image encoding apparatus and an image encoding method which encodes image data and stores it in a storage medium.
BACKGROUND ART
[0002] Image data acquired via an image sensing device in an image processing apparatus such as a digital camera is subjected to A/D conversion. In many cases, the resulting digital data is then subjected to necessary image processing, and lossy compression such as JPEG encoding is executed on the processed data. The compressed data is stored in a storage medium as JPEG image data. This enables a large number of image data to be efficiently stored in a storage medium having a limited storage capacity.
[0003] To focus on image quality, all information obtained via an image sensing device (hereinafter also referred to as "CCD-RAW data") is subjected to lossless compression instead of image processing inside an image processing apparatus such as a digital camera before being stored in a storage medium. The stored image data (hereinafter referred to as "compressed RAW data") is then subjected to image processing using computer software or the like provided by a digital camera manufacturer or the like. Users can then obtain high- quality images. In this case, each compressed RAW data is stored simultaneously with the corresponding JPEG image data. The user can thus check stored images on the fly, save them as they are, or print them out. [0004] To generate compressed RAW data or JPEG image data from CCD-RAW data, a digital camera encodes the CCD-RAW data on the basis of various encode parameters. The encode parameters indicate, for example, the type of a Huffman table for Huffman encoding in the digital camera and the type of a quantization table for quantization. The compression ratio of compressed RAW data or JPEG image data varies depending on the types of encode parameters used. The Huffman table indicates what code is to be assigned to what value. [0005] Many conventional digital cameras efficiently store images in a storage medium by selectively applying a preferred one of plural encode parameters so as to maximize the compression ratio. For example, Japanese Patent Laid-Open No. 2001-326939 proposes a technique for experimentally executing encoding with each of the plural encode parameters held in a storage unit and adopting an encode parameter resulting in the maximum compression ratio. [0006] However, the conventional technique in Japanese Patent Laid-Open No. 2001-326939 must experimentally execute encoding with all of the plural encode parameters held in the storage unit, thus increasing the time required to process each image data. This disadvantageousIy degrades the response of the apparatus and reduces the continuous shooting speed and continuous shooting frame count.
[0007] The present invention is made in view of these circumstances and is characterized by providing a technique for quickly selecting an encode parameter for an image encoding apparatus which achieves high compression efficiency.
DISCLOSURE OF INVENTION
[0008] It is a feature of the present invention to solve the conventional problems.
[0009] According to an aspect of the present invention, there is provided with an image encoding apparatus which executes compression encoding on image data to generate encoded data and which stores the encoded data in a memory, the apparatus comprising: first compression encoding means for executing compression encoding on the image data by a first compression scheme; second compression encoding means for executing compression encoding on the image data by a second compression scheme using an encode parameter; storage means for holding a plurality of the encode parameters ; and encode parameter selection means for selecting, on a basis of a result of the compression by the first compression encoding means, one of the plurality of encode parameters held in the storage means which is used to allow the second encoding means to encode the image data.
[0010] According to another aspect of the present invention, there is provided with an image encoding apparatus which executes compression encoding on image data to generate encoded data and which stores the encoded data in a memory, the apparatus comprising: first compression encoding means for executing compression encoding on resized image data by a first compression scheme, the resized image data being obtained by resizing the image data; second compression encoding means for executing compression encoding on the image data by a second compression scheme using an encode parameter; storage means for holding a plurality of the encode parameters ; and encode parameter selection means for selecting, on the basis of a result of the compression by the first compression encoding means , one of the plurality of encode parameters held in the storage means which is used to allow the second encoding means to encode the image data .
[0011] According to another aspect of the present invention, there is provided with an image encoding method which executes compression encoding on image data to generate encoded data and which stores the encoded data in a memory, the method comprising: a first compression encoding step of executing compression encoding on the image data by a first compression scheme; a second compression encoding step of executing compression encoding on the image data by a second compression scheme using an encode parameter; and an encode parameter selecting step of selecting, on the basis of a result of the compression by the first compression encoding means, one of the plurality of encode parameters held in storage means which is used to encode the image data in the second encoding step.
[0012] According to another aspect of the present invention, there is provided with an image encoding method which executes compression encoding on image data to generate encoded data and which stores the encoded data in a memory, the method comprising: a first compression encoding step of executing compression encoding on resized image data by a first compression scheme, the resized image data being obtained by resizing the image data; a second compression encoding step of executing compression encoding on the image data by a second compression scheme using an encode parameter; and an encode parameter selecting step of selecting, on the basis of a result of the compression in the first compression encoding step, one of the plurality of encode parameters held in storage means which is used to encode the image data in the second encoding step.
[0013] This summary of the invention does not necessarily describe all necessary features so that the invention may also be a sub-combination of these described features .
[0014] Further features of the present invention will become apparent from the following description of exemplary embodiments with reference to the attached drawings, in which like reference characters designate the same or similar parts throughout the figures thereof .
BRIEF DESCRIPTION OF DRAWINGS
[0015] The accompanying drawings, which are incorporated in and constitute a part of the specification, illustrate embodiments of the invention and, together with the description, serve to explain the principles of the invention.
[0016] FIG. 1 is a schematic diagram of an image capturing apparatus according to an embodiment of the present invention;
[0017] FIG. 2 is a diagram showing a color filter arrangement in an image sensing device;
[0018] FIG. 3 is a diagram showing the relationship between the nature of DPCM data in Huffman encoding with lossless compression and a Huffman table to be applied;
[0019] FIG. 4 is a diagram showing the relationship between the nature of DPCM data in Huffman encoding with lossless compression and a Huffman table to be applied;
[0020] FIG. 5 is a flowchart showing the flow of a process for selecting a Huffman table for RAW lossless compression on the basis of the compression ratio of
JPEG image data according to a first embodiment;
[0021] FIG. 6 is a graph that allows a Huffman table to be selected according to a first embodiment;
[0022] FIG. 7 is a flowchart showing the flow of a process for selecting a quantization table and a
Huffman table for JPEG encoding on the basis of the compression ratio of compressed RAW data according to a second embodiment; [0023] FIG. 8 is a graph that allows a quantization table and a Huffman table to be selected according to a second embodiment; and
[0024] FIG. 9 is a flowchart showing the flow of a process for selecting a Huffman table that allows storing JPEG image data to be generated, on the basis of the compression ratio of JPEG image data generated from display image data according to a third embodiment .
BEST MODE FOR CARRYING OUT THE INVENTION
[0025] The present invention will be described below in detail in conjunction with its preferred embodiments, with reference to the accompanying drawings . [ 0026] [First Embodiment ]
In a first embodiment, description will be given of a technique in which an image capturing apparatus selects an encode parameter for generating compressed RAW data, on the basis of the compression ratio of JPEG image data.
[0027] FIG. 1 is a diagram showing the general configuration of an image capturing apparatus used in the present embodiment as an image processing apparatus having the functions of both an image encoding and decoding apparatuses. With reference to FIG. 1, description will be given of lossless compression and storage of an image executed in an image capturing apparatus 100 using a Huffman encoding and decoding circuit in an encoding circuit without carrying out image processing on image data obtained by an image sensing device. JPEG images associated with RAW data and stored simultaneously are obtained by executing a predetermined process on image data obtained by the image sensing device and allowing the encoding circuit to subject the processed image data to lossy compression. Navigating the simultaneously stored JPEG images enables the contents of the images to be quickly understood without developing the RAW data. [0028] Reference numeral 10 denotes an image capturing lens that optically forms a captured image. Reference numeral 12 denotes an image sensing device (CCD) that converts the captured image into an analog electric signal. Reference numeral 14 denotes an A/D converter that converts an analog signal output from the image sensing device 12 into a digital signal. Here, digital data output by the A/D converter 14 is hereinafter referred to as CCD-RAW data. The image sensing device may be a CMOS or the like, which similarly provides RAW data.
[0029] Reference numeral 16 denotes a D/A converter and reference numeral 18 denotes an image display unit consisting of a TFT LCD or the like. Display image data written to a memory 40 is converted from digital data into analog data via the D/A converter 16. The resulting analog data is displayed on the image display unit 18 .
[0030] Reference numeral 20 denotes a storage medium such as a memory or a hard disk in which captured image data or the like is stored.
[0031] Reference numeral 30 denotes an image processing circuit that executes a predetermined developing process such as pixel interpolating processing or color converting processing, or resize processing on captured or stored CCD-RAW data. [0032] Reference numeral 40 denotes a memory that temporarily stores captured image data and that has a sufficient storage capacity to store a predetermined number of still images or a predetermined time worth of motion pictures. For example, digital image data output by the A/D converter 14 is written to the memory 40 via a memory control circuit 50 and the image processing circuit 30 or directly via the memory control circuit 50.
[0033] Reference numeral 50 denotes the memory control circuit that controls data flows to the A/D converter 14, D/A converter 16, storage medium 20, image processing circuit 30, and memory 40, as well as a DPCM converting circuit 80 and an encoding circuit 60. [0034] Reference numeral 60 denotes an encoding circuit that compresses and decompresses image data and that is composed of a DCT converting circuit 62, a quantization circuit 64, a MUX (data selector) 66, and a Huffman encoding and decoding circuit 68. The data selector 66 switches between JPEG encoding/decoding and the lossless compression/decompression of CCD-RAW data. [0035] Reference numeral 70 denotes a MUX (data selector) that switches between JPEG encoding/decoding and the lossless compression/decompression of CCD-RAW data.
[0036] Reference numeral 80 denotes a circuit that executes DPCM conversion on CCD-RAW data so that the Huffman encoding and decoding circuit 68 in the encoding circuit 60 can be used to subject CCD-RAW data to lossless compression and decompression. The DPCM converting circuit 80 executes DPCM conversion (predictive encoding) on CCD-RAW data in order to reduce the entropy of an information source to increase the encoding efficiency of the Huffman encoding. The DPCM converting circuit 80 executes, for example, DPCM conversion (predictive encoding) on 10-bit CCD-RAW data and inverse DPCM conversion on 11-bit DPCM data. [0037] The DPCM conversion makes use of the close correlation between neighboring pixels in image information, thus converts the image information into the differential value between pixel data on a pixel to be encoded and pixel data on an adjacent pixel (pixel on the left of the pixel to be encoded) . This reduces the entropy of the information source to increase the encoding efficiency of the Huffman encoding. The present embodiment uses such a CCD color filter arrangement as shown in FIG. 2 thus always calculates the differential value between data on a target pixel and data on the third pixel from the target pixel on the left. The DPCM converting circuit 80 is thus configured to determine the differential between newly input CCD-RAW data and the CCD-RAW data input before the last but one.
[0038] Reference numeral 90 denotes a system control circuit that controls the operations of the entire image capturing apparatus 100 and of the circuits constituting the image capturing apparatus 100 in accordance with settings made via a mode dial switch 92 and settings in a ROM 96 (Read Only Memory) .
Reference numeral 92 denotes the mode dial switch that enables function modes such as power off, image capturing, and playback to be switched and set. [0039] Reference numeral 96 denotes a read only memory (ROM) that pre-stores programs for the system control circuit 90 and quantization and Huffman tables any of which are to be set in the encoding circuit 60. The quantization tables stored in the ROM 96 are transferred to the memory 40 and then held in an encode parameter storing memory 200 via the memory control circuit 50.
[0040] Reference numeral 200 denotes the encode parameter storing memory that stores Huffman tables for the Huffman encoding and decoding circuit 68. The encode parameter storing memory also stores quantization tables for the quantization circuit 64. [0041] With reference to FIGS. 3 and 4, description will be given of the relationship between the nature of DPCM data in Huffman encoding with lossless compression and the Huffman table. FIG. 3 is a diagram illustrating that JPEG encoding of image results in a high compression ratio. The axis of abscissa indicates the absolute value of a predictive differential value for DPCM data. The solid line indicates the incidence of absolute value of the predictive differential value. The broken like indicates the code length of the Huffman table. The compression ratio of an image is defined by α = (image data size after encoding) / (image data size before encoding).
[0042] Image data with a high compression ratio has a significant correlation between pixels . Higher incidences thus concentrate in an area with smaller absolute values of the predictive differential value. The size of Huffman encoding data is thus reduced by using such a Huffman table as assigns a shorter code length to a smaller absolute value of the predictive differential value, while assigning a longer code length to a larger absolute value of the predictive differential value. [0043] FIG. 4 is a diagram illustrating that JPEG encoding of image results in a low compression ratio. Image data exhibiting a low compression ratio after encoding has an insignificant correlation between pixels. The incidence is distributed so as to insignificantly vary from smaller to larger absolute values of the predictive differential value. The size of Huffman encoding data is thus reduced by using such a Huffman table as assigns an insignificantly varying code length to the smaller to larger absolute values of the predictive differential value.
[0044] With reference to the flowchart in FIG. 5 and graph in FIG. 6, description will be given of a procedure for generating JPEG image data and compressed RAW data from CCD-RAW data according to the first embodiment. Huffman tables are statistically pre- calculated and stored in the ROM 96. The Huffman tables are then transferred to and held in the encode parameter storing memory 200 via the system control circuit 90 and memory 40 as previously described. [0045] First, image data (CCD-RAW data) captured and stored in the memory 40 is acquired by the memory control circuit 50, which then sends the data to the encoding circuit 60 (SlOl).
[0046] At this time, the system control circuit 90 transmits a signal for generation of JPEG image data from CCD-RAW data, to the data selectors 70 and 66. The encoding circuit 60 thus executes a JPEG encoding process via the DCT converting circuit 62, quantization circuit 64, and Huffman encoding and decoding circuit 68. Encoded data (JPEG image data) is stored in the memory 40 via the memory control circuit 50 (S102). [0047] The system control circuit 90 then acquires a quantization table value used for encoding from the JPEG image data generated in S102. The "quantization table value" indicates the magnitude of a quantization step. A larger quantization table value increases the compression ratio of JPEG image data. On the basis of the quantization table value acquired, the system control circuit 90 selects a "compression ratio" - "Huffman" conversion coefficient k (S103). Although described below in detail with reference to FIG. 6, a smaller quantization table value reduces the value k. [0048] The system control circuit 90 then calculates the compression ratio a ((JPEG image data size) / (CCD- RAW data size)) of the JPEG image data generated in S102 (S104).
The system control circuit 90 selects a Huffman table from the encode parameter storing memory 200 on the basis of a Huffman table selection value h = k x cc (S105). This will be described with reference to FIG. 6.
[0049] In the graph in FIG. 6, the axis of abscissa indicates the compression ratio α, which becomes lower (value α increases) from left to right on the axis of abscissa. The axis of ordinate indicates the Huffman table selection value h, determined from the compression ratio. The following tendency is more significant from top to bottom of the axis of ordinate: a shorter code length is assigned to a smaller absolute value of the predictive differential value, while a longer code length is assigned to a larger absolute value of the predictive differential value. It is assumed that three quantization tables QO, Ql, and Q2 are used in S102. QO denotes a quantization table with a small quantization step. Ql denotes a quantization table with a medium quantization step. Q2 denotes a quantization table with a large quantization step. [0050] It is estimated that a higher compression ratio (smaller value α) indicates that the CCD-RAW data is image data with a larger number of low frequency components. Thus, to generate compressed RAW data, it is preferable to use a Huffman table that assigns a particularly short code to a predictive differential value with a small absolute value.
[0051] However, the compression ratio of JPEG image data varies depending not only on the amount of low frequency components in CCD-RAW data but also on the magnitude of the quantization step. With the same CCD- RAW data, the compression ratio becomes lower (value α increases) with decreasing magnitude of the quantization step. The "compression ratio"-"Huffman" conversion coefficient k is selected on the basis of the quantization table value to calculate the Huffman table selection value h as shown in the graph in FIG. 6, [0052] In FIG. 6, the quantization table is Ql and the value oc is A. Accordingly, the Huffman table selection value is an intermediate value between H2 and H3. A Huffman table P2 is thus selected. HO to HN in FIG. 6 denote thresholds that allow the Huffman table PN to be selected and that are set at arbitrary intervals. The number of thresholds is also arbitrary. The increased number of thresholds increases the number of Huffman tables one of which can be selected by the system control circuit 90.
[0053] The memory control circuit 50 then acquires CCD-RAW data from the RAW memory 40 and sends it to the encoding circuit 60 again, as in the case of SlOl. The encoding circuit 60 uses the Huffman table selected in S105 to compress the CCD-RAW data to obtain compressed RAW data (S106). At this time, the system control circuit 90 transmits a RAW lossless compression (encoding) signal to the data selectors 70 and 66. [0054] As described above, according to the present embodiment, the image capturing apparatus 100 first executes JPEG encoding on the CCD-RAW data. On the basis of the compression ratio of the JPEG image data obtained, the image capturing apparatus 100 selects a Huffman table to encode the CCD-RAW data. With the higher compression ratio of the JPEG image data obtained, the image capturing apparatus 100 assumes that the CCD-RAW data is image data with a larger number of low frequency components . The image capturing apparatus 100 thus selects a Huffman table that assigns a particularly short code to a predictive differential value with a small absolute value. In contrast, with the lower compression ratio of the JPEG image data obtained, the image capturing apparatus 100 selects a Huffman table that assigns a code of a relatively equal length to the predictive differential value regardless of its absolute value. [0055] Thus, the image capturing apparatus 100 need not repeat trials and errors before determining which Huffman table to use. This in turn makes it possible to relatively efficiently encode image data while quickly selecting a Huffman table.
[0056] Even if the operation in S103 is omitted and the same "compression ratio" -"Huffman" conversion coefficient k is used regardless of the quantization table value, the effects of the present embodiment are exerted to some degree. [0057] [Second Embodiment]
In the first embodiment, the image capturing apparatus 100 selects a Huffman table for RAW lossless compression on the basis of the compression ratio of JPEG image data generated from CCD-RAW data. In a second embodiment, the image capturing apparatus 100 selects a quantization and Huffman tables for JPEG encoding on the basis of the compression ratio of compressed RAW data generated from CCD-RAW data. [0058] With reference to the flowchart in FIG. 7 and graph in FIG. 8, description will be given of a procedure for generating compressed RAW data and JPEG image data from CCD-RAW data according to the second embodiment . Quantization and Huffman tables are statistically pre-calculated and stored in the ROM 96. The Huffman tables are then transferred to and held in the encode parameter storing memory 200 via the system control circuit 90 and memory 40.
[0059] First, image data (CCD-RAW data) captured and stored in the memory 40 is acquired by the memory control circuit 50, which then sends the data to the encoding circuit 60 (S201).
[0060] At this time, the system control circuit 90 transmits a signal for generation of compressed RAW data from CCD-RAW data, to the data selectors 70 and 66. The encoding circuit 60 thus executes a RAW lossless compressing process via the DPCM converting circuit 80 and Huffman encoding and decoding circuit 68. Encoded data (compressed RAW data) is stored in the memory 40 via the memory control circuit 50 (S202). [0061] The system control circuit 90 then calculates the compression ratio α ((compressed RAW data size) / (CCD-RAW data size) ) of the compressed RAW data generated in S202 (S203).
[0062] The system control circuit 90 then selects a quantization table suitable for generating JPEG images, on the basis of the compression ratio a calculated in S203 (S204). In general, image data with a higher compression ratio exhibits a significant correlation between pixels and contains a large number of low frequency components . Human eyes tend to be more sensitive to noise in image data containing a large number of low frequency components. Thus, for image data with a higher compression ratio, the system control circuit 90 selects a quantization table with a smaller value in order to reduce block noise or the like which may occur during encoding. In contrast , for image data with a lower compression ratio, the system control circuit 90 selects a quantization table with a larger value. FIG. 8 shows a graph in which a quantization table Q2 with a larger quantization step is selected for a lower compression ratio (larger value α) and in which a quantization table QO with a smaller quantization step is selected for a higher compression ratio (smaller value a) . At the compression ratio α = A, the quantization table selection value is an intermediate value between Ul and U2. A quantization table Ql is thus selected. [0063] An image having compressed RAW data with a lower compression ratio (larger value α) tends to correspond to JPEG image with a lower compression ratio. A variation in the size of JPEG image data generated can be suppressed by increasing the quantization table value for JPEG encoding for a larger value α, while reducing it for a smaller value α.
[0064] The system control circuit 90 then selects a Huffman table suitable for generating a JPEG image on the basis of the compression ratio a calculated in S203 (S205). A method for selecting a Huffman table and the nature of the Huffman tables PO to PN according to the second embodiment are similar to those according to the first embodiment and will not be described below. In the example shown in FIG. 8, at the compression ratio A, the Huffman table selection value is an intermediate value between H2 and H3. The Huffman table P2 is thus selected.
[0065] The memory control circuit 50 then acquires CCD-RAW data from the memory 40 and sends it to the encoding circuit 60 again as is the case with S201. The encoding circuit 60 uses the quantization table selected in S204 and the Huffman table selected in S205 to execute JPEG encoding on the CCD-RAW data to obtain JPEG image data (S206). At this time, the system control circuit 90 transmits a signal for JPEG encoding to the data selectors 70 and 66. [0066] As described above, according to the present embodiment, the image capturing apparatus 100 first subjects CCD-RAW data to RAW lossless compression. On the basis of the compression ratio of the compressed RAW data obtained, the image capturing apparatus 100 selects a quantization and Huffman tables to subject the CCD-RAW data to JPEG encoding.
[0067] Thus, the image capturing apparatus 100 need not repeat trials and errors before determining which quantization table and/or Huffman table to use. This makes it possible to relatively efficiently execute JPEG encoding on image data while quickly selecting a quantization table and/or Huffman table. [0068] [Third Embodiment]
In a third embodiment , the image capturing apparatus 100 executes JPEG encoding on display image data displayed on the image display unit 18. On the basis of the resulting compression ratio, the image capturing apparatus 100 selects a Huffman table that allows JPEG encoding to be executed on image data to be stored in the storage medium 20. The third embodiment will be described with reference to FIG. 9. [0069] When a shutter (not shown) of the image capturing apparatus 100 is released, the process proceeds to S306. Otherwise the process proceeds to S302 (S301).
[0070] In S302, the image capturing apparatus 100 acquires display image data from the memory 40 and sends it to the encoding circuit 60. The display image data is acquired through the image sensing device 12 at a predetermined frame rate (for example, 30 frames per second) . The display image data is then subjected to image processing by the image processing circuit 30 so that the data can be displayed in the image display unit 18. The data is then stored in the memory 40. [0071] The encoding circuit 60 then executes JPEG encoding on the display image data acquired in S302 (S303) .
[0072] The system control circuit 90 then calculates the compression ratio α of the JPEG image data obtained in S303 (S304). On the basis of the compression ratio a, the system control circuit 90 selects a Huffman table (S305). A method for selecting a Huffman table according to the third embodiment is similar to that according to the first and second embodiments and will not be described here.
[0073] Thus, the operations in S302 to S305 are repeated to update the selected Huffman table until the shutter (not shown) is released.
[0074] In S306, image data (CCD-RAW data) captured and stored in the memory 40 is acquired by the memory control circuit 50, which then sends the data to the encoding circuit 60.
[0075] The encoding circuit 60 then uses the Huffman table selected in S305 to execute JPEG encoding on the image data acquired in S306. The encoding circuit 60 stores the JPEG image data obtained, in the storage medium 20 via the memory control circuit 50 (S307). In S307, RAW lossless compression may be executed instead of JPEG encoding.
[0076] As described above, according to the present embodiment, the image capturing apparatus 100 continuously executes JPEG encoding on display image data acquired at the predetermined frame rate until the shutter (not shown) is released. On the basis of the compression ratio of the JPEG image data obtained, the image capturing apparatus 100 sequentially selects and updates the Huffman table. Once the shutter (not shown) is released, the image capturing apparatus 100 uses the selected Huffman table to execute JPEG encoding on the CCD-RAW data.
[0077] In other words, the image capturing apparatus 100 selects a Huffman table on the basis of the compression ratio of the JPEG image data obtained. [0078] Thus, the image capturing apparatus 100 need not repeat trials and errors before determining which Huffman table to use. This makes it possible to relatively efficiently execute JPEG encoding on image data while quickly selecting a Huffman table. [0079] [Other Embodiment]
The processes of the above embodiments may be executed by providing a system or apparatus with a storage medium in which program codes for software embodying the functions of the embodiments are stored. The functions of the above embodiments can then be provided by a computer (or CPU or MPU) in the system or apparatus by reading and executing the program codes stored in the storage medium. In this case, the program codes themselves read from the storage medium provide the functions of the above embodiments . The storage medium in which the program codes are stored constitutes the present invention. The storage medium via which the program codes are supplied may be, for example, a floppy (registered trademark) disk, a hard disk, an optical disk, or a magneto optic disk. Alternatively, a CD-ROM, a CD-R, a magnetic tape, a nonvolatile memory card, or a ROM may be used. [0080] The functions of the above embodiments need not necessarily be provided by executing the program codes read by a computer. The functions of the above embodiments may also be provided by an OS (Operating System) or the like operating on the computer, by executing a part or all of the actual process on the basis of instructions in the program codes. [0081] The program codes read from the storage medium may be written to a memory provided in an expanded board inserted into the computer or an expanded unit connected to the computer. The function of the above embodiments may then be provided by a CPU or the like installed in the expanded board or unit, by executing a part or all of the actual process . [0082] While the present invention has been described with reference to exemplary embodiments, it is to be understood that the invention is not limited to the disclosed exemplary embodiments. The scope of the following claims is to be accorded the broadest interpretation so as to encompass all such modifications and equivalent structures and functions. [0083] This application claims the benefit of Japanese Patent Application No. 2005-255612, filed on September 2, 2005, and 2006-197372, filed on July 19, 2006, which are hereby incorporated by reference herein in their entirety.

Claims

1. An image encoding apparatus which executes compression encoding on image data to generate encoded data and which stores the encoded data in a memory, the apparatus comprising: first compression encoding means for executing compression encoding on the image data by a first compression scheme; second compression encoding means for executing compression encoding on the image data by a second compression scheme using an encode parameter; storage means for holding a plurality of the encode parameters; and encode parameter selection means for selecting, on a basis of a result of the compression by the first compression encoding means, one of the plurality of encode parameters held in the storage means which is used to allow the second encoding means to encode the image data.
2. An image encoding apparatus according to claim 1, wherein the second compression encoding means executes predictive encoding and Huffman encoding, and the encode parameter includes a Huffman table for the Huffman encoding.
3. An image encoding apparatus according to claim 1, wherein the first compression encoding means executes JPEG compression encoding.
4. An image encoding apparatus according to claim 1 , wherein the encode parameter selection means compares a compression ratio provided by the first compression encoding means with a preset threshold to select the encode parameter used, on the basis of the comparison .
5. An image encoding apparatus according to claim
4, wherein a plurality of the thresholds are set in association with the plurality of encode parameters, and the encode parameter selection means selects one of the plurality of encode parameters as the encode parameter used, on the basis of a relationship between the value of the compression ratio and the plurality of thresholds .
6. An image encoding apparatus according to claim
5 , wherein the plurality of encode parameters are Huffman tables which tend to assign a shorter code length to a predictive differential value with a smaller absolute value and in which the tendency becomes insignificant stepwise among the tables, and . the plurality of thresholds correspond to the Huffman tables having the stepwise varying tendency.
7. An image encoding apparatus according to claim 4, wherein the encode parameter selection means varies the thresholds in accordance with a quantization table provided in the first compression encoding means.
8. An image encoding apparatus according to claim 1, wherein the first compression encoding means executes predictive encoding and Huffman encoding, the second compression encoding means executes JPEG compression encoding, and the encode parameter includes at least one of the quantization and Huffman tables used for JPEG compression encoding executed by the second compression encoding means .
9. An image encoding apparatus according to claim 8, wherein the encode parameter selection means compares a compression ratio provided by the first compression encoding means with a preset threshold to select the encode parameter used, on the basis of the comparison.
10. An image encoding apparatus according to claim 9, wherein a plurality of the thresholds are set in association with the plurality of encode parameters. and the encode parameter selection means selects one of the plurality of encode parameters as the encode parameter used, on the basis of a relationship between the value of the compression ratio and the plurality of thresholds .
11. An image encoding apparatus according to claim 10, wherein the plurality of encode parameters include Huffman tables for the JPEG compression encoding executed by the second compression encoding means, and wherein the Huffman tables tend to assign a shorter code length to a predictive differential value with a smaller absolute value, with the tendency becoming insignificant stepwise among the tables, and the plurality of thresholds correspond to the Huffman tables having the stepwise varying tendency.
12. An image encoding apparatus which executes compression encoding on image data to generate encoded data and which stores the encoded data in a memory, the. apparatus comprising: first compression encoding means for executing compression encoding on resized image data by a first compression scheme, the resized image data being obtained by resizing the image data; second compression encoding means for executing compression encoding on the image data by a second compression scheme using an encode parameter; storage means for holding a plurality of the encode parameters ; and encode parameter selection means for selecting, on the basis of a result of the compression by the first compression encoding means, one of the plurality of encode parameters held in the storage means which is used to allow the second encoding means to encode the image data.
13. An image encoding apparatus according to claim 12, wherein the first compression encoding means executes JPEG compression encoding, the second compression encoding means executes JPEG compression encoding, and the encode parameter includes a Huffman table for the JPEG encoding executed by the second compression encoding means.
14. An image encoding apparatus according to claim 12, wherein the encode parameter selection means compares a compression ratio provided by the first compression encoding means with a preset threshold to select the encode parameter used, on the basis of the comparison.
15. An image encoding apparatus according to claim 14, wherein a plurality of the thresholds are set in association with the plurality of encode parameters, and the encode parameter selection means selects one of the plurality of encode parameters as the encode parameter used, on the basis of a relationship between the value of the compression ratio and the plurality of thresholds .
16. An image encoding apparatus according to claim 15, wherein the plurality of encode parameters include Huffman tables for the JPEG compression encoding executed by the second compression encoding means, and wherein the Huffman tables tend to assign a shorter code length to a predictive differential value with a smaller absolute value, with the tendency becoming insignificant stepwise among the tables, and the plurality of thresholds correspond to the Huffman tables having the stepwise varying tendency.
17. An image encoding method which executes compression encoding on image data to generate encoded data and which stores the encoded data in a memory, the method comprising: a first compression encoding step of executing compression encoding on the image data by a first compression scheme; a second compression encoding step of executing compression encoding on the image data by a second compression scheme using an encode parameter; and an encode parameter selecting step of selecting, on the basis of a result of the compression by the first compression encoding means, one of the plurality of encode parameters held in storage means which is used to encode the image data in the second encoding step.
18. An image encoding method which executes compression encoding on image data to generate encoded data and which stores the encoded data in a memory, the method comprising: a first compression encoding step of executing compression encoding on resized image data by a first compression scheme, the resized image data being obtained by resizing the image data; a second compression encoding step of executing compression encoding on the image data by a second compression scheme using an encode parameter; and an encode parameter selecting step of selecting, on the basis of a result of the compression in the first compression encoding step, one of the plurality of encode parameters held in storage means which is used to encode the image data in. the second encoding step.
19 ^ A computer program that causes a computer to execute the image encoding method according to claim 17,
20. A computer program that causes a computer to execute the image encoding method according to claim 18,
21. A computer readable storage medium having the computer program according to claim 19 stored therein.
22. A computer readable storage medium having the computer program according to claim 20 stored therein.
PCT/JP2006/317293 2005-09-02 2006-08-25 Image encoding apparatus and image encoding method WO2007026855A1 (en)

Priority Applications (4)

Application Number Priority Date Filing Date Title
EP20060797242 EP1925150B1 (en) 2005-09-02 2006-08-25 Image encoding apparatus and image encoding method
CN2006800151452A CN101253761B (en) 2005-09-02 2006-08-25 Image encoding apparatus and image encoding method
ES06797242T ES2400089T3 (en) 2005-09-02 2006-08-25 Device and method of image coding
US11/912,938 US8045815B2 (en) 2005-09-02 2006-08-25 Image encoding apparatus and image encoding method

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
JP2005-255612 2005-09-02
JP2005255612 2005-09-02
JP2006-197372 2006-07-19
JP2006197372A JP4682102B2 (en) 2005-09-02 2006-07-19 Image coding apparatus and image coding method

Publications (1)

Publication Number Publication Date
WO2007026855A1 true WO2007026855A1 (en) 2007-03-08

Family

ID=37808938

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2006/317293 WO2007026855A1 (en) 2005-09-02 2006-08-25 Image encoding apparatus and image encoding method

Country Status (6)

Country Link
US (1) US8045815B2 (en)
EP (1) EP1925150B1 (en)
JP (1) JP4682102B2 (en)
CN (1) CN101253761B (en)
ES (1) ES2400089T3 (en)
WO (1) WO2007026855A1 (en)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20080285866A1 (en) * 2007-05-16 2008-11-20 Takashi Ishikawa Apparatus and method for image data compression
US8218885B2 (en) 2007-05-16 2012-07-10 Olympus Imaging Corp. Apparatus and method for image data compression

Families Citing this family (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008124530A (en) * 2006-11-08 2008-05-29 Tokyo Institute Of Technology Raw data compressing method
CA2831698C (en) 2007-04-11 2015-11-03 Red.Com, Inc. Video camera
US8237830B2 (en) 2007-04-11 2012-08-07 Red.Com, Inc. Video camera
TWI362887B (en) 2008-03-26 2012-04-21 Etron Technology Inc An over-drive device and method and method for generating compressed frames
US9378560B2 (en) 2011-06-17 2016-06-28 Advanced Micro Devices, Inc. Real time on-chip texture decompression using shader processors
CN103051341B (en) * 2012-12-31 2016-01-27 华为技术有限公司 Data coding device and method, data deciphering device and method
WO2014127153A1 (en) 2013-02-14 2014-08-21 Red. Com, Inc. Video camera
CN106851299B (en) * 2014-05-21 2019-11-08 三星半导体(中国)研究开发有限公司 The decoding method and its device based on jpeg file format in mobile device
CN107925771B (en) 2015-05-29 2022-01-11 深圳市大疆创新科技有限公司 Method, system, storage medium and imaging device for video processing
JP6589642B2 (en) * 2016-01-07 2019-10-16 富士ゼロックス株式会社 Data processing apparatus and program
JP6929044B2 (en) 2016-11-14 2021-09-01 キヤノン株式会社 Imaging device, control method of imaging device, and program
JP7313330B2 (en) 2017-07-05 2023-07-24 レッド.コム,エルエルシー Video image data processing in electronics
KR102709415B1 (en) 2020-04-29 2024-09-25 삼성전자주식회사 Image compressing method, encoder, and camera module including the encoder

Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO1993019434A1 (en) 1992-03-17 1993-09-30 Zoran Corporation Image compression coder having improved bit rate control and block allocation
JPH05328137A (en) * 1992-05-20 1993-12-10 Pfu Ltd Data compressing device
JPH0622152A (en) * 1992-06-30 1994-01-28 Canon Inc Picture processing unit
JPH09233473A (en) * 1996-02-27 1997-09-05 Matsushita Electric Ind Co Ltd Video encoder
JPH10336682A (en) * 1997-04-02 1998-12-18 Canon Inc Coder, its method and storage medium storing the method
JPH10336647A (en) * 1997-06-04 1998-12-18 Nikon Corp Image compression device and computer readable recording medium recording image compression processing program
JP2001169280A (en) * 1999-12-09 2001-06-22 Sharp Corp Image compression device, image compression method and storage medium
JP2001326939A (en) 2000-05-15 2001-11-22 Canon Inc Image coding device, image decoding device, its method and storage medium
EP1453208A1 (en) 2001-11-22 2004-09-01 Matsushita Electric Industrial Co., Ltd. Variable length coding method and variable length decoding method

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US671418A (en) * 1901-01-21 1901-04-02 Charles Gulland Cylinder-pressure controller for brake systems.
JP3093233B2 (en) * 1990-03-16 2000-10-03 キヤノン株式会社 Image encoding apparatus and method
JPH05199422A (en) * 1992-01-20 1993-08-06 Fujitsu General Ltd Picture transmission equipment
JPH08186814A (en) 1994-12-28 1996-07-16 Canon Inc Image compressor
US5677689A (en) * 1995-08-31 1997-10-14 Yovanof; Gregory S. Fixed rate JPEG compliant still image compression
JP3748489B2 (en) 1998-03-11 2006-02-22 キヤノン株式会社 Image processing apparatus, image processing method, and computer-readable storage medium
JP4280319B2 (en) 1998-03-11 2009-06-17 キヤノン株式会社 Image processing apparatus, image processing method, and computer-readable storage medium
JP4193406B2 (en) * 2002-04-16 2008-12-10 三菱電機株式会社 Video data conversion apparatus and video data conversion method
JP2004040300A (en) * 2002-07-01 2004-02-05 Fuji Photo Film Co Ltd Image processing apparatus
JP4262017B2 (en) * 2002-09-26 2009-05-13 キヤノン株式会社 Image generating apparatus and method

Patent Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO1993019434A1 (en) 1992-03-17 1993-09-30 Zoran Corporation Image compression coder having improved bit rate control and block allocation
JPH05328137A (en) * 1992-05-20 1993-12-10 Pfu Ltd Data compressing device
JPH0622152A (en) * 1992-06-30 1994-01-28 Canon Inc Picture processing unit
JPH09233473A (en) * 1996-02-27 1997-09-05 Matsushita Electric Ind Co Ltd Video encoder
JPH10336682A (en) * 1997-04-02 1998-12-18 Canon Inc Coder, its method and storage medium storing the method
JPH10336647A (en) * 1997-06-04 1998-12-18 Nikon Corp Image compression device and computer readable recording medium recording image compression processing program
JP2001169280A (en) * 1999-12-09 2001-06-22 Sharp Corp Image compression device, image compression method and storage medium
JP2001326939A (en) 2000-05-15 2001-11-22 Canon Inc Image coding device, image decoding device, its method and storage medium
EP1453208A1 (en) 2001-11-22 2004-09-01 Matsushita Electric Industrial Co., Ltd. Variable length coding method and variable length decoding method

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
See also references of EP1925150A4 *

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20080285866A1 (en) * 2007-05-16 2008-11-20 Takashi Ishikawa Apparatus and method for image data compression
US8218885B2 (en) 2007-05-16 2012-07-10 Olympus Imaging Corp. Apparatus and method for image data compression

Also Published As

Publication number Publication date
ES2400089T3 (en) 2013-04-05
CN101253761B (en) 2011-03-30
EP1925150A1 (en) 2008-05-28
US8045815B2 (en) 2011-10-25
EP1925150A4 (en) 2011-03-23
EP1925150B1 (en) 2013-01-16
JP2007097145A (en) 2007-04-12
JP4682102B2 (en) 2011-05-11
US20090086817A1 (en) 2009-04-02
CN101253761A (en) 2008-08-27

Similar Documents

Publication Publication Date Title
US8045815B2 (en) Image encoding apparatus and image encoding method
US9838714B2 (en) Apparatus and method for encoding and decoding moving picture using adaptive scanning
CN107087191B (en) Image decoding method and image processing apparatus
US7248191B2 (en) Variable-length coding method, variable-length coding device and imaging system
JP4979655B2 (en) Image coding apparatus and control method thereof
JP2009165141A (en) Lossless intraframe encoding using golomb-rice
JP2023065581A (en) video encoding and decoding
JPH10271530A (en) Image data compression coder, method therefor and digital camera
US20140098268A1 (en) Image coding apparatus, image coding method, and program
JP2009010612A (en) Image compressing device and method
US7197078B2 (en) Video coding/decoding buffering apparatus and buffering method thereof
JP2011015092A (en) Imaging device
JP2006352335A (en) Image coding equipment
US20190253728A1 (en) Method and device for video data compression
US20130057719A1 (en) Image pickup apparatus
KR101694293B1 (en) Method for image compression using metadata of camera
KR100715512B1 (en) Apparatus for image processing and method thereof
JPH1132331A (en) Device for transmitting picture signal and method therefor
JP2001128109A (en) Method and device for picture processing
JP2009038740A (en) Image encoding device
JP4701065B2 (en) Image processing apparatus and image processing method
JP2006197181A (en) Signal processing apparatus and signal processing method for solid-state imaging device and image processing apparatus
JP6838951B2 (en) Coding device and coding method
JP4262144B2 (en) Image coding apparatus and method
CN117561713A (en) Data encoding and decoding

Legal Events

Date Code Title Description
WWE Wipo information: entry into national phase

Ref document number: 200680015145.2

Country of ref document: CN

DPE2 Request for preliminary examination filed before expiration of 19th month from priority date (pct application filed from 20040101)
121 Ep: the epo has been informed by wipo that ep was designated in this application
WWE Wipo information: entry into national phase

Ref document number: 2006797242

Country of ref document: EP

WWE Wipo information: entry into national phase

Ref document number: 11912938

Country of ref document: US

NENP Non-entry into the national phase

Ref country code: DE