WO2012043294A1 - 画像符号化方法および装置、画像復号方法及び装置、およびそれらのプログラム - Google Patents

画像符号化方法および装置、画像復号方法及び装置、およびそれらのプログラム Download PDF

Info

Publication number
WO2012043294A1
WO2012043294A1 PCT/JP2011/071315 JP2011071315W WO2012043294A1 WO 2012043294 A1 WO2012043294 A1 WO 2012043294A1 JP 2011071315 W JP2011071315 W JP 2011071315W WO 2012043294 A1 WO2012043294 A1 WO 2012043294A1
Authority
WO
WIPO (PCT)
Prior art keywords
subject
image
pixel value
subjects
processing area
Prior art date
Application number
PCT/JP2011/071315
Other languages
English (en)
French (fr)
Inventor
信哉 志水
宣彦 松浦
Original Assignee
日本電信電話株式会社
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 日本電信電話株式会社 filed Critical 日本電信電話株式会社
Priority to CA 2811892 priority Critical patent/CA2811892A1/en
Priority to BR112013007464A priority patent/BR112013007464A2/pt
Priority to KR1020137007042A priority patent/KR101550283B1/ko
Priority to EP20110828851 priority patent/EP2624565A4/en
Priority to CN201180045452.6A priority patent/CN103119941B/zh
Priority to US13/822,932 priority patent/US9036933B2/en
Publication of WO2012043294A1 publication Critical patent/WO2012043294A1/ja

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N13/00Stereoscopic video systems; Multi-view video systems; Details thereof
    • H04N13/10Processing, recording or transmission of stereoscopic or multi-view image signals
    • H04N13/106Processing image signals
    • H04N13/161Encoding, multiplexing or demultiplexing different image signal components
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T9/00Image coding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N13/00Stereoscopic video systems; Multi-view video systems; Details thereof
    • 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/176Methods 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 block, e.g. a macroblock
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/20Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using video object coding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/46Embedding additional information in the video signal during the compression process
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/46Embedding additional information in the video signal during the compression process
    • H04N19/463Embedding additional information in the video signal during the compression process by compressing encoding parameters before transmission
    • 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/597Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding specially adapted for multi-view video sequence encoding
    • 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/103Selection of coding mode or of prediction mode
    • 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/60Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding
    • H04N19/61Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding in combination with predictive coding

Definitions

  • the present invention relates to image encoding and decoding techniques, and more particularly to an image encoding method suitable for encoding an image such as a distance image, an image decoding method, an image encoding device, an image decoding device and their programs. is there.
  • Priority is claimed on Japanese Patent Application No. 2010-218037, filed Sep. 29, 2010, the content of which is incorporated herein by reference.
  • the distance image is an image in which the distance from the camera to the subject is expressed as pixel values. Since the distance from the camera to the subject can be said to be the depth of the scene, the distance image may be called a depth image. Also, from the depth (Depth), it may be called a depth map (Depth Map). In the field of computer graphics, depth is sometimes referred to as a Z image or a Z map because it is information accumulated in a Z buffer (a memory area for storing the depth of the entire screen collectively). Note that, in addition to the distance from the camera to the subject, coordinate values with respect to the Z axis of a three-dimensional coordinate system stretched in space as an expression target may be used as a distance (depth).
  • the Z-axis coincides with the camera orientation because the horizontal direction is taken as the X axis and the vertical direction is taken as the Y axis with respect to the captured image, but when using a common coordinate system for multiple cameras, etc.
  • the Z axis may not match the orientation of the camera.
  • distance, depth, and Z value depth information are not distinguished and referred to as distance information, and an image in which distance information is represented as pixel values is referred to as a distance image.
  • a method in which a value corresponding to a physical quantity is used as a pixel value as it is a method in which a value obtained by quantizing between a minimum value and a maximum value into a certain number
  • a method using a value obtained by quantizing the difference with a certain step width When the range to be expressed is limited, the distance information can be expressed with higher accuracy by using the additional information such as the minimum value.
  • quantizing at equal intervals there are a method of quantizing the physical quantity as it is and a method of quantizing the reciprocal of the physical quantity.
  • the reciprocal of distance information is a value proportional to parallax
  • the former when it is necessary to express distance information with high accuracy, the former is used, and when it is necessary to express parallax information with high accuracy, The latter is often used.
  • a distance image regardless of the pixel value conversion method or the quantization method of distance information, all objects in which distance information is expressed as an image will be referred to as a distance image.
  • a stereoscopic image as one of the usage applications of the distance image.
  • a stereo image representation there is a stereo image consisting of an image for the right eye and an image for the left eye of the observer, but a stereo image can be represented using an image with a certain camera and its distance image (For a detailed technology, see Non-Patent Document 1).
  • MPEG-C Part. 3 (ISO / IEC 23002-3) can be used (see Non-Patent Document 2 for details).
  • the distance image is also used as one of the data for generating a free viewpoint video which allows the viewer to freely move the viewpoint without worrying about the arrangement of the photographing camera.
  • Ru Such a composite image when viewing a scene from a camera other than a shooting camera may be called a virtual viewpoint image, and its generation method is actively studied in the field of image-based rendering. .
  • a representative method of generating a virtual viewpoint video from a video of multiple viewpoints and a distance image there is a method described in Non-Patent Document 4.
  • the distance image is composed of one component, it can be regarded as a gray scale image.
  • the subject since the subject continuously exists in the real space and can not move to a distant position instantaneously, it can be said to have spatial correlation and temporal correlation as with the image signal. Therefore, according to an image coding method or a moving image coding method used to encode a normal image signal or video signal, the distance image or distance moving image is efficiently removed while removing spatial redundancy and temporal redundancy. It is possible to encode in Actually, MPEG-C Part. In No. 3, coding is performed using the existing moving picture coding method.
  • the video signal of the target block to be encoded is predicted from the already-coded video signal, and only the prediction residual is encoded, thereby reducing the amount of information that needs to be encoded, and thus high. Achieve coding efficiency.
  • intra-frame prediction in which a prediction signal is generated spatially from adjacent blocks, or motion of a subject is estimated temporally by estimating motion of a subject from encoded frames captured at different times.
  • motion compensated prediction that produces a prediction signal.
  • prediction errors called prediction residual signals are also converted to data in frequency space using DCT or the like in order to use spatial correlation and human visual characteristics, and the low frequency domain
  • the coding is efficiently performed by concentrating the energy of the residual signal.
  • the details of each method are described in MPEG-2 and H.264 of the International Standard for Moving Images. See H.264 / MPEG-4 AVC (Non-Patent Document 5).
  • the subject has high spatial correlation because it is continuous in real space, and has high temporal correlation because it is impossible to move to an instantaneously distant position. Therefore, it is possible to efficiently encode a distance image represented as a gray scale image by using an existing moving image coding method that utilizes spatial correlation and temporal correlation.
  • the prediction residuals can not be predicted at all and the prediction residuals become very large. That is, strong edges are generated in the prediction residual signal. When such strong edges are converted into data in frequency space using DCT or the like, the energy of the residual signal can not be concentrated in the low frequency region, and many high frequency components are generated. As a result, the residual signal can not be encoded efficiently.
  • FIG. 30 shows an example of a 9 ⁇ 9 pixel block of a certain distance image.
  • this block two subjects exist, and the pixel value of one subject is around 50, and the pixel value of the other subject is around 200.
  • the remaining 8 ⁇ 8 pixels are predicted using the information in the first row and the first column of this block.
  • 31A and 31B show the results of applying the 8 ⁇ 8 two-dimensional DCT to the prediction residual shown in FIG.
  • the direct current (DC) component is deepest in the figure, and the higher the distance from the depth, the higher the frequency. As apparent from the figure, in either case, a large signal is generated in many high frequency regions, and it can be seen that the compactification of the residual signal fails.
  • encoding is possible using only transforms such as DCT without prediction, spatial correlation with another block can not be removed, and encoding efficiency is further degraded. Also, encoding is possible without performing transformation such as DCT, but in that case, it is not possible to utilize local correlation in the block, and achieving efficient encoding. Can not.
  • components in the high frequency region do not significantly affect the subjective quality, so even with the above signals, it is possible to reduce the code amount by performing large quantization on the components in the high frequency region, etc. is there.
  • high frequency components in a part having strong edges are quantized as in this example, distortion called mosquito noise occurs around the edges, and the quality of the image is significantly degraded.
  • the present invention has been made in view of the circumstances as described above, and is an image encoding technique for efficiently encoding an image whose pixel value largely depends on an object such as a distance image, and It is an object of the present invention to provide an image decoding technique for decoding a bitstream.
  • the present invention divides an image frame into a processing area (hereinafter also referred to as a block) of a predetermined size when transmitting or accumulating an image, and pixel values of each pixel for each block.
  • image coding in which coding is performed while prediction is performed, it is assumed that a fixed number of subjects or a variable number of subjects exist in each block, and the image of each block is represented by “pixel value representing each subject ( Hereinafter, it is expressed by information such as a subject pixel value) and “subject identification information of each pixel”. That is, one subject identification information indicating which subject is a subject is allocated to one pixel in the block, and one subject pixel value is associated with one subject identification information. Since the most similar value is assigned to each pixel according to this information, it is possible to generate a predicted image holding a complicated edge shape. In addition, since the number of subjects included in the block is limited to several at most, the amount of this information is limited.
  • the number of subjects and / or subject pixel values of the block to be encoded is predicted using an image signal for already encoded pixels around the block to be encoded.
  • the decoding side can share the same information as the coding side, and the code amount of additional information used to generate a predicted image is It can be reduced.
  • the subject here does not mean an individual object or person being photographed, but is an object to which information is added, and is, for example, an area having similar image signals (brightness, color, depth, etc.) . That is, even if it is a single object, if it has different colors depending on the location, it is regarded as multiple subjects. Also, an object or a part of an object that does not need to encode an image signal is not regarded as an object. That is, a subject is not related to a real object (subject) in a frame, and a real object to which information is not given is not a "subject" in the present invention. Further, when two pieces of information are given to one real object, they are treated as different subjects.
  • processing area is representatively described as a block.
  • “Number of subjects” The number of subjects is the number of “subjects” present in a block, and is the number of targets to which information is to be provided.
  • the number of subjects can be generated by analyzing the pixel values in the block. For example, the pixels in a block are clustered using information such as pixel values and positions, and the maximum number of clusters for which the evaluation value (for example, the variance of pixel values) of each cluster is less than or equal to a certain value is taken as the number of subjects. Is possible. Moreover, it is also possible to give from the outside based on experience etc., or to use a predetermined value.
  • the number of subjects is used to express the number of subject pixel values, which is one of the additional information. It is also used to express the maximum value of the subject identifier appearing in the subject map.
  • Subject pixel value is a value defined one for each "subject", and is a pixel value representing the "subject".
  • a luminance value, a color difference value, an R value, or the like can be used.
  • a set of multiple color component values such as RGB values may be used.
  • the subject pixel value is generated by analyzing the pixel values in the block. Specifically, the pixels in the block are clustered into clusters of “number of subjects” using information such as pixel values and positions, and for each cluster, the average value or median value for the pixel values of the included pixels is calculated. Get by. By assigning a subject pixel value corresponding to the "subject" of the pixel to each pixel in the block, it is used to generate a predicted image of the block.
  • the object map indicates which "object” exists at each pixel in the block. Specifically, each pixel is represented by a subject identifier associated with the "subject" (subject pixel value). Although the simplest expression can be expressed as two-dimensional information, it can also be expressed using a tree structure.
  • the subject map is generated by assigning the subject identifier corresponding to the subject pixel value closest to the pixel value to each pixel in the block. In addition to the similarity between the pixel value and the subject pixel value, the number of bits necessary for expressing the subject map itself may be generated in consideration of the same.
  • the subject map is used to indicate which subject pixel value is assigned to each pixel in the block when generating a predicted pixel.
  • Additional information Information used to predict an image (video) signal of a processing target frame in the present invention is called additional information.
  • the additional information is generated in units of blocks to be processed.
  • the additional information is basically composed of three pieces of information: number of objects, object pixel value, and object map.
  • Prediction additional information is a predicted value of additional information. Specifically, the prediction value of the number of subjects and the prediction value of subject pixel values are formed. The predicted value of the number of objects can be generated by analyzing the pixel values for the already processed pixel group around the processing block. For example, the pixels of the already processed pixel group around the processing block are clustered using information such as pixel value and position, and the evaluation value of each cluster (for example, the dispersion of pixel values) is less than a certain value. The minimum value can be used as the predicted value of the number of subjects.
  • the predicted value of the subject pixel value is generated by analyzing the pixel value for the already processed pixel group around the processing block. Specifically, the pixels of the already processed pixel group around the processing block are clustered into clusters of “number of subjects” using information such as pixel values and positions, and the average for the pixel values of the pixels included for each cluster The value obtained by calculating the value or the median can be used. There is also a method of clustering in the same number of clusters as the "predicted value of the number of subjects" and using a value obtained by calculating an average value or median value for pixel values of included pixels for each cluster. Furthermore, the values generated by the above method are arranged in order, and the values generated using the values of the subject pixel value to which the object identifier of a smaller number than that order is assigned and the values obtained by the above method are used There is also a way.
  • the prediction additional information is used as a prediction value when encoding / decoding the additional information. That is, when encoding additional information other than the subject map, the difference between the value in the additional information and the value in the predictive additional information is calculated, and the difference value is encoded. When decoding additional information other than the subject map, the value in the additional prediction information is added to the value obtained by decoding from the code data to generate the value of the additional information. There is also a method of using the value of the prediction additional information as it is as the value of the additional information without encoding part or all of the difference values.
  • the number of subjects present in the block to be processed is set as the number of subjects.
  • the number of subjects estimated from the encoded image information around the block is set when setting a predetermined number of subjects, analyzing and setting the pixel value in the block, and There is a case.
  • setting the subject pixel value there are a case where the pixel value in the block is analyzed and set, and a case where the subject pixel value is predicted and set from encoded image information around the block.
  • a subject map indicating which subject is photographed in each pixel in the block is generated by a subject identifier.
  • a predicted image for a block is generated by assigning the value of the subject pixel value to each pixel according to the subject map.
  • the image signal for the block is predictively encoded using the predictive image.
  • the number of subjects may or may not be encoded.
  • the decoding side decodes when the predetermined number of objects is set and when the number of objects predicted from encoded image information around the block is set. Since the same information can be obtained from already processed image information, coding is not performed.
  • the number of subjects is predictively encoded in order to reduce the code amount of the number of subjects. That is, the difference value between the actual number of subjects and the number of subjects predicted from the encoded image information around the block is encoded.
  • the subject pixel value may or may not be encoded.
  • the step of setting the subject pixel value in (2) when the number of subjects predicted from the encoded image information around the block is set, the same information can be obtained from the decoded image information on the decoding side. , Not encoded.
  • the subject pixel value in the block is analyzed and set as the subject pixel value, the subject pixel value is predictively encoded to reduce the code amount of the subject pixel value.
  • the difference value between the subject pixel value used to generate the predicted image and the subject pixel value predicted from the encoded image information around the block is encoded. Further, for example, when subject pixel values are arranged in ascending order, information on an increment from the immediately preceding subject pixel value may be encoded. (9) Code data of the above object map, code data of the image signal, code data when the number of subjects is coded, and code data when the pixel value of the subject is coded Output.
  • a subject pixel value that is a representative pixel value of a subject, and a subject that indicates for each pixel which subject pixel value is used to generate a predicted image Use two additional information of the map. These are determined according to the number of subjects.
  • the present invention increases the code amount of additional information, but generates an accurate predicted image, It is possible to greatly reduce the amount of code required for encoding, and to reduce the amount of code required per block as a whole.
  • the code amount can be reduced by prediction also for the additional information. That is, by using the predicted number of subjects even in an image in which the number of subjects captured by the block is different, it is possible to reduce the code amount necessary to express the number of subjects.
  • the following two cases can be considered as cases where the number of subjects shown in the blocks is different. A subject exists in the adjacent area but does not exist in the current block, and a subject does not exist in the adjacent area but exists in the current block. That is, it can be said that the number of subjects in the current block increases or decreases based on the number of subjects in the adjacent region. Therefore, when encoding the number of subjects in the current block, the necessary code amount can be reduced by encoding the information "increase / decrease of the number of subjects" instead of encoding the number of subjects as it is.
  • the code amount necessary to represent the subject pixel value representing each subject is reduced by using the predicted subject pixel value. be able to.
  • the following two cases can be considered as cases where the color of the subject shown in the block differs.
  • the necessary code amount can be obtained by encoding the information of “change in subject pixel value”, instead of encoding the subject pixel value as it is. It can be reduced.
  • the "predicted subject pixel value" is not effective prediction because the subject is not present in the adjacent area, but the subject pixel value is small.
  • the necessary code amount can be reduced by encoding information on an increment from the object pixel value encoded immediately before the encoding, instead of encoding the object pixel value as it is.
  • the number of subjects present in the block to be processed is set as the number of subjects.
  • the number of objects obtained by decoding the code data is set when setting a predetermined number of objects, when setting the number of objects predicted from the decoded image information around the block, and There is a case to set.
  • decoding is performed using the number of objects predicted from the decoded image information around the block.
  • a subject pixel value associated with each subject identifier is set.
  • the subject pixel value there are a case of setting a subject pixel value predicted from decoded image information around the block and a case of setting a subject pixel value obtained by decoding code data.
  • the decoding is performed using a subject pixel value predicted from decoded image information around the block or a subject pixel value decoded immediately before or the like.
  • Decode the subject map from the code data (4) A predicted image for a block is generated by assigning the value of the subject pixel value to each pixel according to the subject map. (5) The image signal for the block is decoded from the code data using the predicted image.
  • pixel values such as distance images largely depend on the subject, and for an image in which there is only a limited number of subjects locally, the entire image is divided and differs for each area
  • the spatial continuity of the presence of the subject is used to predict the number of subjects and the representative pixel value of each subject.
  • FIG. 18 is a diagram illustrating an example of a hardware configuration in the case where the image coding device is configured by a computer and a software program.
  • FIG. 17 is a diagram illustrating an example of a hardware configuration in the case where the image decoding apparatus is configured by a computer and a software program. It is a figure which shows the comparison of the generation code amount at the time of encoding using this method and the conventional method, and image quality.
  • the spatial continuity of the presence of the object (object) is used to The representative pixel value of each subject is predicted using the decoded pixel value of the area already processed around the processing area.
  • the H.264 standard is used. As in the case of H.264, even in the case where encoding is performed while selecting one from a large number of image signal prediction modes for each region, it is possible to appropriately perform prediction.
  • FIG. 1 is a block diagram showing a configuration example of an image coding apparatus according to a first embodiment of the present invention.
  • the image coding apparatus 100 includes a coding target frame input unit 101, a coding target frame memory 102, a subject number setting unit 103, a subject pixel value setting unit 104, a subject map generation unit 105, and a subject map.
  • the encoding unit 106, the prediction image generation unit 107, the image signal encoding unit 108, the image signal decoding unit 109, the decoded image memory 110, and the multiplexing unit 111 are provided.
  • the encoding target frame input unit 101 inputs an image frame to be encoded.
  • the encoding target frame memory 102 stores the input encoding target frame.
  • the subject number setting unit 103 sets the number of subjects included in a processing area of a predetermined size.
  • the subject pixel value setting unit 104 sets a pixel value representing a subject for each subject using a decoded image around the processing area, assuming that the number of subjects given in the processing area is present.
  • a pixel value representing a subject generated for each subject in the processing area is called a subject pixel value.
  • the subject map generation unit 105 generates a subject map representing information for identifying a subject photographed in each pixel in the processing area.
  • the subject map encoding unit 106 encodes the subject map.
  • the predicted image generation unit 107 generates a predicted image for the processing area from the subject pixel values generated for the processing area and the subject map.
  • the image signal encoding unit 108 encodes the image signal of the encoding target frame using the predicted image for each processing region.
  • the image signal decoding unit 109 decodes code data of the image signal of the encoding target frame using the predicted image for each processing region.
  • the decoded image memory 110 stores the decoded image signal.
  • the multiplexing unit 111 multiplexes and outputs the code data of the subject map and the code data of the image signal of the encoding target frame.
  • FIG. 2 is a flowchart for explaining the operation of the image coding apparatus 100 according to the first embodiment. The process performed by the image coding apparatus 100 will be described in detail according to this flowchart.
  • the encoding target frame is input by the encoding target frame input unit 101, and stored in the encoding target frame memory 102 (step S101).
  • the encoding target frame is divided, and the image signal of the encoding target frame is encoded for each of the divided regions (steps S102 to S112). That is, assuming that the encoding target block index is blk and the total number of encoding target blocks is represented by numBlks, blk is initialized to 0 (step S102), and then 1 is added to blk (step S111).
  • the following processing (steps S103 to S110) is repeated until numBlks is reached (step S112).
  • the number-of-subjects setting unit 103 uses the image signal for the peripheral pixel group of the block blk stored in the decoded image memory 110 to count the number of subjects included in the block blk
  • the numObjs is set (step S103).
  • a set of peripheral pixels of the block blk accumulated in the decoded image memory 110 is referred to as a first reference pixel. Any method may be used as the method of selecting the first reference pixel and the method of setting the number of objects numObjs from the pixel value of the first reference pixel, as long as it is the same processing as the decoding side.
  • the first reference pixel may be selected, for example, as a pixel group existing in a predetermined positional relationship, or information indicating the selection method is encoded for each unit such as a frame or a block group and transmitted to the decoding side. I don't care.
  • a clustering method such as k-means method or affinity propagation is applied to reference pixels, and pixel value dispersion in each cluster is equal to or less than a predetermined value in all clusters.
  • a method of setting the minimum number of clusters as numObjs there is a method of setting the minimum number of clusters as numObjs.
  • a scale used for clustering only a pixel value may be used, or a value consisting of a pixel value and a pixel position may be used.
  • FIGS. 3A and 3B show detailed flowcharts of the process of setting the number of subjects (step S103 in FIG. 2).
  • a first reference pixel which is a set of peripheral pixels of the block blk stored in the decoded image memory 110 is set (step S1031).
  • the information (position and pixel value) of the pixel included in the first reference pixel is analyzed to determine the number of subjects (step S1032).
  • step S1032 An example of the detailed flow of this step S1032 is shown in FIG. 3B.
  • the pixel group included in the first reference pixel is divided into numObjs clusters (step S10322), and for each cluster, The variance var of the pixel values is calculated, and the maximum value is set to maxVar (steps S10323 to S10328). If maxVar is smaller than the predetermined threshold th (step S10329), the current numObjs is adopted as the number of subjects, and the processing is ended. If not, 1 is added to numObjs (step S10330), and the process returns to the process of clustering again (step S10322) to repeat the same process.
  • the same value may always be set as the number of objects without using the first reference pixel.
  • the code amount of the subject map to be described later becomes large and efficient encoding can not be realized. Therefore, the maximum number is separately set for the number of subjects, and is set in a range not exceeding the maximum value. You may do so.
  • the subject pixel value setting unit 104 uses the image signals for the peripheral pixels in the block blk stored in the decoded image memory 110 to select the subject for each subject in the block blk.
  • a pixel value representing H. is set (step S104).
  • the pixel value representing the subject is referred to as a subject pixel value, and is represented as Value (i).
  • i is a subject identifier for identifying a subject, and is an integer of 0 or more and less than numObjs.
  • the subject identifier is assigned according to a predetermined rule. Here, it is assumed that subject pixel values are assigned in ascending order.
  • a set of peripheral pixels of the block blk stored in the decoded image memory 110 used here is referred to as a second reference pixel. Any method may be used for determining the subject pixel value using the second reference pixel selection method and the pixel value for the second reference pixel, as long as the process is the same as on the decoding side.
  • the second reference pixel may be selected as, for example, a pixel group existing in a predetermined positional relationship, or information indicating the selection method is encoded for each unit such as a frame or a block group and transmitted to the decoding side. I don't care. Also, it may be the same as or different from the first reference pixel.
  • the second reference pixel is divided into numObjs clusters using the clustering method as described above, and the pixel values of the pixels included in each cluster There is a method of setting the average value or the median value of as the subject pixel value. If the first reference pixel and the second reference pixel are the same, and clustering is used to set the number of subjects, the subject pixel value may be set at the same time as setting the number of subjects. .
  • FIGS. 4A and 4B show detailed flowcharts of the process of setting the subject pixel value (step S104 in FIG. 2).
  • a second reference pixel which is a set of peripheral pixels of the block blk stored in the decoded image memory 110 is set (step S1041) .
  • information (position and pixel value) of the pixel included in the second reference pixel is analyzed, and numObjs subject pixel values Value (i) are determined (step S1042).
  • step S1042 An example of a detailed flow of this step S1042 is shown in FIG. 4B.
  • the pixel group included in the second reference pixel is divided into numObjs clusters (step S10421).
  • a pixel position and a pixel value can be used as information used for clustering.
  • an average value or median value of pixel values is determined for each group of pixels included in the cluster (steps S10422 to S10425). Thereafter, the obtained values are sorted in a predetermined order (in this case, ascending order), and are set as Value (i) (step S10426).
  • the average value or median value for each cluster is obtained by dividing by the minimum number of clusters in which the maximum value of the pixel value dispersion value in the cluster is smaller than a separately defined threshold with the number of clusters of numObjs or less.
  • an average value of pixel values of all pixels of the second reference pixel is determined, and a second pixel has a pixel value smaller than the average value.
  • the mean value or median of the two reference pixels and the mean value or median of the second reference pixels having a pixel value equal to or greater than the mean value may be used as the subject pixel value.
  • the subject map generation unit 105 After the subject pixel value is obtained, next, the subject map generation unit 105 generates a subject map for the block blk (step S105).
  • the subject map is one in which a subject identifier is assigned to each pixel of the block blk, and is, for example, two-dimensional information as shown in FIG.
  • a method of assigning a subject identifier to each pixel there is a method of assigning a subject identifier having a subject pixel value closest to the pixel value to each pixel.
  • the above-described clustering is performed on the pixels in the block blk to determine a pixel value representing each cluster, and an object identifier having an object pixel value closest to the value is determined as the cluster.
  • the number of clusters may be numObjs, may be equal to or less than numObjs, or an optimal number may be used to obtain an optimum cluster.
  • a plurality of subject map candidates are generated, and for each subject map candidate, a rate given by a weighted sum of code amount and distortion amount when encoding is performed using the subject map candidate.
  • All possible subject maps may be subject map candidates, or only some of the limited characteristic subject maps may be subject map candidates.
  • As a characteristic subject map a subject map generated by assigning a subject identifier having a subject pixel value closest to the pixel value to each pixel, a subject map in which all the pixels become the same subject identifier, There is a subject map divided into two horizontally and vertically.
  • the subject map encoding unit 106 encodes the generated subject map (step S106). Any method may be used for encoding. For example, even if a code of fixed length or variable length is assigned to each subject identifier according to the number of subjects, and encoding is performed by converting two-dimensional map information into one-dimensional binary data using raster scan, zigzag scan, etc. I do not mind.
  • the third reference to the previously encoded group of pixels surrounding each pixel is performed.
  • the prediction coding is performed by H.264 intra prediction or the like.
  • a predetermined subject identifier may be assigned to such a pixel, or an unknown label may be assigned to separately define the probability table.
  • This probability table may be a fixed one or a variable probability table which is updated according to the previous encoding history as long as the same one is obtained on the decoding side.
  • three adjacent pixels are set as the third reference pixels, but it is possible to predict the occurrence probability with higher accuracy by using information of more peripheral pixels.
  • a method of converting an object map into tree structure information and then encoding there is a method of converting an object map into tree structure information and then encoding. Specifically, a tree structure in which a plurality of subblocks obtained by dividing the block of the parent node (root) are made to correspond to child nodes of each node is used with the block blk as the root. By using such a tree structure, it is possible to efficiently represent the pixel set of a single subject that exists collectively, and to improve the coding efficiency.
  • a tree structure it is possible to use an arbitrary definition. For example, binary information indicating whether or not the subject identifiers of all pixels in the block corresponding to the node are the same is added to each node, and as child nodes, if all the subject identifiers are the same, the subject identifier
  • the tree structure information can be generated by defining four nodes corresponding to the leaf having the number of, and the sub-block generated by dividing the own block into four if the subject identifiers are not all the same.
  • the corresponding block becomes one pixel, it is possible to omit the node of binary information that indicates whether the subject identifiers of all the pixels are the same.
  • a tree structure generated by the above method for the subject map of FIG. 5 is shown in FIG. In FIG. 7, “1” of binary information is added to each node if the subject identifiers of all pixels in the block corresponding to that node are the same, and “0” of binary information otherwise. doing.
  • Another definition is, for each node, the number obtained by adding 1 to the number of the subject identifier if the subject identifiers of all the pixels in the block corresponding to that node are the same, otherwise 0
  • the tree structure generated by this method for the subject map of FIG. 5 is shown in FIG.
  • the tree When encoding the generated tree, the tree is scanned by depth first search or width first search, and information possessed by each node is encoded in the scan order.
  • the depth-first search is extended from the first node of the tree to be searched until the target node is found or a childless node is reached, and then it is returned to the nearest unsearched node Search.
  • the breadth-first search is a search having a rule in order from a point with a shallow depth (a point with a small number of nodes to be traced from a vertex) and from a vertex on the left.
  • the numerical sequence may be binarized as it is to be code data, or may be arithmetically encoded while switching the probability table according to the situation of the subject identifier in the adjacent pixels.
  • the probability table may be a fixed one or a variable probability table that is updated according to the encoding history up to that point as long as the same one is obtained on the decoding side.
  • the predicted image generation unit 107 When coding of the subject map is completed, next, the predicted image generation unit 107 generates a predicted image for the block blk using the subject map and the subject pixel value (step S107). Specifically, a predicted image is generated by assigning a subject pixel value corresponding to a subject identifier obtained from the subject map to each pixel.
  • dither may be further added to the predicted image created as described above.
  • the predicted image using the subject map and the subject pixel value since there are only the same number of pixel values as the number of subjects, the image has characteristics different from those of the natural image. Therefore, by adding dither (combining existing pixel values to represent an intermediate pixel value in the entire image), it is possible to give a change closer to a natural image.
  • any method can be used for dither generation, it is necessary for the decoding side to be able to generate the same. Therefore, if additional information is required, it is necessary to encode the additional information.
  • the image signal coding unit 108 When a predicted image is obtained, the image signal coding unit 108 performs predictive coding on the image signal for the block blk (step S108). Any method may be used for encoding. MPEG-2 and H. In general coding such as H.264 / AVC, a code is obtained by sequentially performing frequency conversion such as DCT, quantization, binarization, and entropy coding on the difference signal between the image signal of block blk and the predicted image. Perform.
  • frequency conversion such as DCT, quantization, binarization, and entropy coding
  • the image signal decoding unit 109 decodes the image signal for the block blk using the code data obtained as the coding result and the predicted image, and stores the decoded result in the decoded image memory 110 (step S109).
  • the code data is decoded using a method corresponding to the method used at the time of encoding.
  • a method corresponding to the method used at the time of encoding For example, MPEG-2 and H.264.
  • the encoded data is sequentially subjected to frequency inverse transform such as entropy decoding, inverse binarization, inverse quantization, IDCT, etc., and the obtained two-dimensional signal is obtained.
  • the prediction signal is added, and finally the image signal is decoded by performing clipping in the range of pixel values.
  • the image signal obtained by decoding is used to generate or predict the number of subjects and subject pixel values when encoding other blocks.
  • the multiplexing unit 111 multiplexes and outputs the code data of the subject map and the code data of the image signal (step S110). Although multiplexing is performed for each block here, multiplexing may be performed for each frame. However, in that case, it is necessary to buffer and decode one frame of code data on the decoding side.
  • both the number of subjects and the subject pixel value are set by analyzing the pixel values of the peripheral pixels of the block blk, but only one of them is analyzed the pixel values of the peripheral pixels of the block blk It does not matter if you set it.
  • the information not set is set by analyzing the pixel value of the block blk, encoding the set information, and multiplexing the code data with the code data of the object map and the code data of the image signal. Output.
  • FIG. 9 shows a block diagram of the image coding apparatus in the case of analyzing the pixel values of the peripheral pixels of the block blk, setting only the number of subjects, and encoding the subject pixel values.
  • the image coding apparatus 100 'shown in FIG. 9 differs from the image coding apparatus 100 shown in FIG. 1 in that the subject pixel value coding for coding the subject pixel value of each subject set by the subject pixel value setting unit 104.
  • the unit 112 is provided, and the code data of the subject pixel value encoded by the subject pixel value encoding unit 112 is multiplexed by the multiplexing unit 111 as additional information.
  • the other configuration is the same as that of the image coding apparatus 100 shown in FIG.
  • FIG. 10 is a block diagram showing a configuration example of an image coding apparatus according to the second embodiment of the present invention.
  • the image coding apparatus 200 includes a coding target frame input unit 201, a coding target frame memory 202, a subject number setting unit 203, a subject pixel value setting unit 204, a subject map generation unit 205, and a subject number.
  • Prediction unit 206 object number encoding unit 207, object map encoding unit 208, object pixel value prediction unit 209, object pixel value encoding unit 210, predicted image generation unit 211, image signal encoding unit 212, image signal decoding unit 213, a decoded image memory 214, and a multiplexing unit 215.
  • the encoding target frame input unit 201 inputs an image frame to be encoded.
  • the encoding target frame memory 202 stores the input encoding target frame.
  • the subject number setting unit 203 sets the number of subjects included in the processing area of a predetermined size.
  • the subject pixel value setting unit 204 sets a pixel value representing a subject for each subject, using the pixel value of the input frame for the processing area, assuming that the number of subjects given in the processing area is present.
  • a pixel value representing a subject generated for each subject in this processing area is called a subject pixel value.
  • the subject map generation unit 205 generates a subject map representing information for identifying a subject photographed in each pixel in the processing area.
  • the subject number prediction unit 206 sets a predicted value of the number of subjects included in the processing area.
  • the predicted value of the number of subjects is called the predicted number of subjects.
  • the subject number coding unit 207 codes the number of subjects using the predicted number of subjects.
  • the subject map encoding unit 208 encodes a subject map.
  • the subject pixel value prediction unit 209 sets a predicted value of a subject pixel value using a decoded image of the periphery of the processing area, on the assumption that a given number of subjects are present in the processing area.
  • the predicted value of the subject pixel value is referred to as a predicted subject pixel value.
  • the subject pixel value encoding unit 210 encodes the subject pixel value using the predicted subject pixel value.
  • the predicted image generation unit 211 generates a predicted image for the processing area from the subject pixel values generated for the processing area and the subject map.
  • the image signal encoding unit 212 encodes the image signal of the encoding target frame using the predicted image for each processing region.
  • the image signal decoding unit 213 decodes code data of the image signal of the encoding target frame using the predicted image for each processing region.
  • the decoded image memory 214 stores the decoded image signal.
  • the multiplexing unit 215 multiplexes and outputs code data of the number of subjects, code data of a subject map, code data of subject pixel values, and code data of an image signal to be encoded.
  • FIG. 11 is a flowchart for explaining the operation of the image coding apparatus 200 according to the second embodiment. The process performed by the image coding apparatus 200 will be described in detail according to this flowchart.
  • the encoding target frame is input by the encoding target frame input unit 201, and is stored in the encoding target frame memory 202 (step S201).
  • the encoding target frame is divided, and the image signal of the encoding target frame is encoded for each area (steps S202 to S216). That is, assuming that the encoding target block index is represented by blk and the total number of encoding target blocks is represented by numBlks, blk is initialized to 0 (step S202), and then 1 is added to blk (step S215).
  • the following processing (steps S203 to S214) is repeated until numBlks is reached (step S216).
  • the number of subjects included in the block blk is set by the number-of-subjects setting unit 203 (step S203).
  • the number of objects may be determined using any process as long as the process is the same as on the decoding side.
  • rate distortion cost given by weighted sum of code amount and distortion amount when the number of objects is set and encoded is calculated, and the cost is minimized.
  • the maximum value of the number of subjects may be determined in advance to prevent the number of subjects from becoming a predetermined value or more.
  • the object number prediction unit 206 When the setting of the number of objects is completed, next, the object number prediction unit 206 generates the predicted number of objects of the block blk using image signals for the peripheral pixels of the block blk stored in the decoded image memory 214 ( Step S204).
  • a set of peripheral pixels of the block blk stored in the decoded image memory 214 used here is referred to as a first reference pixel.
  • the process here is the same as the process of setting the number of subjects in step S103 in the first embodiment except that the obtained value becomes the predicted number of subjects, and the first reference pixel selection method and the first reference Any method may be used as the method of setting the predicted number of objects from the pixel value to the pixel, as long as it is the same processing as the decoding side.
  • the number-of-subjects prediction unit 206 predicts and codes the number of subjects using the predicted number of subjects (step S205). That is, the difference value between the number of subjects and the number of predicted subjects is encoded. Any method may be used for encoding. For example, a code table may be prepared and coding may be performed in the form of outputting a code word corresponding to a difference value.
  • the subject has a size to a certain extent and spatially continuously exists, so that the number of subjects in a certain area is highly correlated with the number of subjects in the surrounding area. Therefore, it is possible to encode the number of subjects with a small amount of code by encoding the number of subjects in a certain area with the number of subjects in the surrounding area as a predicted value.
  • efficient coding using correlation can be realized by setting the code length near 0 short.
  • the subject pixel value setting unit 204 sets a pixel value representing the subject for each subject in the block blk (step S206).
  • the pixel value representing the subject is referred to as a subject pixel value, and is represented as Value (i).
  • i is a subject identifier for identifying a subject, and is an integer of 0 or more and less than numObjs.
  • subject identifiers are assigned in accordance with predetermined rules. Here, it is assumed that subject pixel values are assigned in ascending order.
  • Any method may be used to set one pixel value for each subject. For example, there is a method of dividing the pixels of the block blk into numObjs clusters using the clustering method as described above, and setting the average value or the median value of the pixel values of the pixels included in each cluster as the subject pixel value. .
  • the object pixel value may be set simultaneously with the setting of the number of objects.
  • the subject pixel value prediction unit 209 After the subject pixel value is obtained, next, the subject pixel value prediction unit 209 generates numObjs number of predicted subject pixel values using image signals for the peripheral pixels of the block blk stored in the decoded image memory 214. (Step S207).
  • the predicted subject pixel value is expressed as PredValue (j).
  • the index value j is assumed to be assigned to the predicted subject pixel value according to the same rule as the rule in which the subject identifier is assigned to the subject pixel value. That is, when subject identifiers are assigned in ascending order of subject pixel values, index values are assigned in ascending order of predicted subject pixel values.
  • a set of peripheral pixels of the block blk stored in the decoded image memory 214 used here is referred to as a second reference pixel.
  • the process here is the same as the process of determining the subject pixel value in step S103 in the first embodiment except that the obtained value becomes the predicted subject pixel value, and the second reference pixel selection method or the second Any method may be used as the method of setting the predicted subject pixel value from the pixel value for the reference pixel of the above as long as the process is the same as that on the decoding side.
  • the subject pixel value coding unit 210 uses the predicted subject pixel value to predictively code the subject pixel value (step S208). Any method may be used for encoding. For example, when a subject pixel value corresponding to a certain subject identifier is encoded, a difference value with a predicted subject pixel value having the same value as an index value may be encoded with reference to the code table. Also, instead of encoding the difference value as it is, the value resulting from the quantization of the difference value according to a separately given quantization parameter may be encoded. In this case, the quantization parameter needs to be encoded separately, but when the quantization parameter used elsewhere is diverted, it is not necessary to encode again here.
  • a subject pixel value having a subject identifier of 0 is predicted and encoded as a predicted subject pixel value having a prediction value of an index value of 0. That is, the value of Value (0) -PredValue (0) is encoded.
  • it is decoded to obtain a decoded subject pixel value DecValue (0).
  • subject pixel values with a subject identifier of k are encoded in ascending order of k.
  • k is an integer of 1 or more and less than numObjs.
  • Value (k) is predictively encoded using the larger of DecValue (k-1) and PredValue (numObjs-1) as a prediction value. At this time, an integer closest to an intermediate value between the larger of Value (k-1) and PredValue (numObjs-1) and the maximum value of the pixel value (255 when represented by 8 bits) is taken as the predicted value. There is also a way to do it.
  • the code data is decoded before encoding the next subject pixel value, and DecValue (k) is calculated.
  • the subject has a certain size and is spatially continuous, and the pixel value largely depends on the subject, so the subject pixel value in a certain area is highly correlated with the subject pixel value in the surrounding area It can be said that there is. Therefore, it is possible to encode the subject pixel value with a small code amount by encoding the subject pixel value in a certain area by using the subject pixel value in the surrounding area as the prediction value.
  • the subject map generation unit 205 When coding of the subject pixel value is completed, next, the subject map generation unit 205 generates a subject map for the block blk (step S209).
  • the process here is the same as step S105 in the first embodiment.
  • the decoded subject pixel value obtained by decoding the coded subject pixel value is set to the subject pixel value. Use instead. That is, when using a subject pixel value subjected to distortion and coding, the output of the subject pixel value coding unit is input to a separately provided subject pixel value decoding unit or the like, and the output thereof will be described later. It is input to the predicted image generation unit.
  • the generated subject map is then encoded by the subject map encoding unit 208 (step S210).
  • the process here is the same as step S106 in the first embodiment, and any method may be used for encoding.
  • the predicted image generation unit 211 generates a predicted image for the block blk using the subject map and the subject pixel value (step S211).
  • the process here is the same as step S107 of the first embodiment.
  • the decoded subject pixel value obtained by decoding the coded subject pixel value is set to the subject pixel value. Use instead.
  • the image signal encoding unit 212 predictively encodes the image signal for the block blk (step S212).
  • the process here is the same as step S108 in the first embodiment, and any method may be used for encoding.
  • the image signal decoding unit 213 decodes the image signal for the block blk using the code data obtained as the coding result and the predicted image, and stores the decoded result in the decoded image memory 214 (step S213).
  • the image signal obtained by decoding is used to generate or predict the number of subjects and subject pixel values when encoding other blocks.
  • the process here is the same as step S109 in the first embodiment, and the code data is decoded using a method corresponding to the method used at the time of encoding.
  • the multiplexing unit 215 multiplexes and outputs the code data of the number of subjects, the code data of the subject pixel values, the code data of the subject map, and the code data of the image signal (step S214). Although multiplexing is performed for each block here, multiplexing may be performed for each frame. However, in that case, it is necessary to buffer and decode one frame of code data on the decoding side.
  • subject pixel values are encoded before subject map generation, but when all subject identifiers do not appear in the subject map, subject pixel values are encoded after subject map generation, or The code amount can be further reduced by re-encoding the subject pixel value each time the subject map is generated.
  • the code amount can be further reduced by re-encoding the subject pixel value each time the subject map is generated.
  • by including only the subject pixel value for the subject identifier appearing in the subject map in the code data to be output it is possible to reduce the code amount of the subject pixel value not necessary for decoding. If coding with distortion is performed in the coding of the subject pixel value, control is performed so that the subject pixel value obtained by decoding before and after re-encoding becomes the same, or The subject map may be generated again using the encoded result.
  • the pixel values of the peripheral pixels of the block blk are analyzed, and the number of predicted subjects and the predicted subject pixel value are set and predicted encoded. Only one of them may be predictively encoded. In that case, the information which has not been predictively coded may be generated as information which does not require coding as in the first embodiment, or may be coded as it is without generating a predictive value.
  • FIG. 12 is a block diagram showing a configuration example of an image decoding apparatus according to the third embodiment.
  • the image decoding apparatus 300 includes a code data input unit 301, a code data memory 302, a separation unit 303, an object number setting unit 304, an object pixel value setting unit 305, an object map decoding unit 306, and a predicted image generation.
  • a unit 307, an image signal decoding unit 308, and a decoded image memory 309 are provided.
  • the code data input unit 301 inputs code data of an image frame to be decoded.
  • the code data memory 302 stores the input code data.
  • the separation unit 303 separates the multiplexed code data into code data in which a plurality of different pieces of information are encoded.
  • the subject number setting unit 304 sets the number of subjects included in the processing area of a predetermined size.
  • the subject pixel value setting unit 305 sets a pixel value representing a subject for each subject, using a decoded image around the processing area, assuming that a given number of subjects are present in the processing area.
  • a pixel value representing a subject generated for each subject in the processing area is called a subject pixel value.
  • the subject map decoding unit 306 decodes the subject map from the code data.
  • the subject map is information for identifying a subject at each pixel of the processing area.
  • the predicted image generation unit 307 generates a predicted image for the processing area from the subject pixel value and the subject map for the processing area.
  • the image signal decoding unit 308 decodes the image signal of the decoding target frame from the code data using the predicted image for each processing region.
  • the decoded image memory 309 stores the decoded image signal.
  • FIG. 13 is a flowchart for explaining the operation of the image decoding apparatus 300 according to the third embodiment. The process performed by the image decoding apparatus 300 will be described in detail according to this flowchart.
  • the code data input unit 301 inputs code data for a frame to be decoded and stores the code data in the code data memory 302 (step S301).
  • the decoding target frame is divided, and the image signal of the decoding target frame is decoded for each area (steps S302 to S310). That is, assuming that the decoding target block index is represented by blk and the total number of decoding target blocks is represented by numBlks, blk is initialized to 0 (step S302), and then 1 is added to blk (step S309).
  • the following processing (steps S303 to S308) is repeated until it becomes (step S310).
  • the separation unit 303 separates the input code data into code data of a plurality of pieces of information (step S303).
  • the code data of a plurality of pieces of information are described as being interleaved in units of blocks (the code data of each piece of information is stored in order in each block). In the case of interleaving, it is not necessary to repeat this separation of code data block by block.
  • the object number setting unit 304 sets the number numObjs of objects included in the block blk using the image signal for the peripheral pixel group of the block blk stored in the decoded image memory 309 (step S304).
  • a set of peripheral pixels of the block blk stored in the decoded image memory 309 used here is referred to as a first reference pixel.
  • the process here is the same as step S103 in the first embodiment, and the method for setting numObjs from the way of selecting the first reference pixel and the pixel value for the first reference pixel is the same process as the encoding side. Any method may be used if it is.
  • the first reference pixel may be selected, for example, as a pixel group existing in a predetermined positional relationship, or information indicating how to select each unit such as a frame or a block group is encoded, It may be input to the image decoding apparatus 300 together with the code data of In that case, from the part of the code data separated by the separation unit 303 at an appropriate timing, the information indicating how to select each unit such as a frame or a block group is decoded, and the decoding result is set to the number of objects setting unit 304 Need to be notified.
  • the object pixel value setting unit 305 uses the image signals for the peripheral pixels of the block blk stored in the decoded image memory 309 to select the object for each object in the block blk.
  • a pixel value representing H. is set (step S305).
  • the pixel value representing the subject is referred to as a subject pixel value, and is represented as Value (i).
  • i is a subject identifier for identifying a subject, and is an integer of 0 or more and less than numObjs.
  • the subject identifier is assigned according to a predetermined rule. Here, it is assumed that subject pixel values are assigned in ascending order.
  • a set of peripheral pixels of the block blk stored in the decoded image memory 309 used here is referred to as a second reference pixel.
  • the process here is the same as the process of step S104 in the first embodiment, and the method of determining the subject pixel value using the method of selecting the second reference pixel and the pixel value for the second reference pixel includes encoding. Any method may be used as long as the process is the same as that for the side.
  • the subject map decoding unit 306 decodes the subject map from the separated code data (step S306).
  • Decoding of the subject map is different depending on the method used at the time of encoding.
  • encoding is performed by assigning fixed-length or variable-length codes to each subject identifier according to the number of subjects, and converting two-dimensional map information into one-dimensional binary data using raster scan, zigzag scan, etc. It may have been done.
  • one-dimensional binary data given as code data is sequentially scanned, and each time a corresponding subject identifier is found, the subject identifier is assigned to each pixel in the same order as encoding, such as raster scan or zigzag scan.
  • Decoding is performed by assigning.
  • Arithmetic coding may be performed while changing the probability table according to the subject identifier in the reference pixel.
  • surrounding pixels that have already been decoded are set as reference pixels, and arithmetic is performed while changing the probability table according to the subject identifier in that pixel. Decrypt.
  • the number of probability tables, the initial value, the update method, and the setting method can be correctly decoded by using the same method as in encoding.
  • the object map may be encoded using tree structure data. Also in this case, it is possible to decode the subject map from the coded data by using a method according to the method at the time of encoding.
  • a numerical sequence representing tree structure data is decoded from a binary sequence of code data.
  • the sequence representing the tree structure data When the sequence representing the tree structure data can be decoded, the sequence is decoded to construct tree structure data.
  • a block blk is a root
  • each node has a number from 0 to numObjs
  • a node to which 0 is assigned is defined as a tree structure having four child nodes, and the tree is scanned by depth first search If a sequence 0100133332033233102020222 2 is given, the tree as shown in FIG. 14 is restored.
  • the subject map is restored from there.
  • the restoration it is necessary to share the tree structure definition with the encoding side, and the restoration is performed using the definition.
  • the root of the tree represents the entire block blk
  • the child node corresponds to four subblocks (in raster scan order) formed by dividing the parent node into two vertically and horizontally, and numbers other than 0 assigned to each node If the number obtained by subtracting 1 from 1 indicates the subject identifiers of all the pixels included in the corresponding block, the tree of FIG. 14 can decode the subject map of FIG.
  • the predicted image generation unit 307 When decoding of the subject map is completed, next, the predicted image generation unit 307 generates a predicted image for the block blk (step S307).
  • the process here is the same as step S107 of the first embodiment.
  • dither may be further added to the predicted image created as described above.
  • the image In the predicted image using the subject map and the subject pixel value, since there are only the same number of pixel values as the number of subjects, the image has characteristics different from those of the natural image. Therefore, by adding dither, it is possible to give a change closer to a natural image.
  • any method can be used for dither generation, it is necessary to use the same method as the encoding side, including whether or not to add dither.
  • the code data includes additional information necessary for initialization of the dither generation apparatus, it is decoded and used.
  • the image signal decoding unit 308 decodes the image signal for the block blk, outputs the image signal of the decoding result, and stores the image signal in the decoded image memory 309 (step S308).
  • Decoding of the image signal differs depending on the method used at the time of encoding. For example, MPEG-2 and H.264.
  • prediction residual is obtained by performing frequency inverse transform such as entropy decoding, inverse binarization, inverse quantization, and IDCT on code data.
  • frequency inverse transform such as entropy decoding, inverse binarization, inverse quantization, and IDCT on code data.
  • the image signal obtained by decoding is used to generate or predict the number of subjects and subject pixel values when decoding other blocks.
  • both the number of subjects and the subject pixel value are set by analyzing the pixel values of the peripheral pixels of the block blk, but only one of them is analyzed the pixel values of the peripheral pixels of the block blk It does not matter if you set it. In this case, it is assumed that the information not set is encoded and input as a part of code data. That is, the separation unit 303 separates the code data for the data that has not been set, and sets the necessary information by decoding the code data.
  • FIG. 16 shows a block diagram of an image decoding apparatus in which pixel values of peripheral pixels of block blk are analyzed to set only the number of subjects, and subject pixel values are decoded from code data and set.
  • An image decoding apparatus 300 ′ shown in FIG. 16 is different from the image decoding apparatus 300 shown in FIG. 12 in that an object pixel value decoding unit 310 is provided instead of the object pixel value setting unit 305. Is to decode the subject pixel value of each subject from the code data of the subject pixel value separated by the separation unit 303.
  • the other configuration is the same as that of the image decoding apparatus 300 shown in FIG.
  • FIG. 17 is a block diagram showing an example of configuration of an image decoding apparatus according to the fourth embodiment.
  • the image decoding apparatus 400 includes a code data input unit 401, a code data memory 402, a separation unit 403, a subject number prediction unit 404, a subject number decoding unit 405, a subject map decoding unit 406, a subject pixel value prediction.
  • a unit 407, a subject pixel value decoding unit 408, a predicted image generation unit 409, an image signal decoding unit 410, and a decoded image memory 411 are provided.
  • the code data input unit 401 inputs code data of an image frame to be decoded.
  • the code data memory 402 stores the input code data.
  • the separating unit 403 separates the multiplexed code data into code data in which a plurality of different pieces of information are encoded.
  • the subject number prediction unit 404 sets a predicted value of the number of subjects included in the processing area of a predetermined size.
  • the predicted value of the number of subjects is called the predicted number of subjects.
  • the object number decoding unit 405 decodes the number of objects included in the processing region from the code data using the predicted object number for each processing region.
  • the subject map decoding unit 406 decodes the subject map from the code data.
  • the subject map is information for identifying a subject at each pixel of the processing area.
  • the subject pixel value prediction unit 407 sets a predicted value of a subject pixel value using a decoded image around the processing area, on the assumption that a given number of subjects are present in the processing area.
  • the predicted value of the subject pixel value is referred to as a predicted subject pixel value.
  • the subject pixel value decoding unit 408 decodes the subject pixel value from the code data using the predicted subject pixel value for each processing region.
  • the predicted image generation unit 409 generates a predicted image for the processing area from the subject pixel value and the subject map for the processing area.
  • the image signal decoding unit 410 decodes the image signal of the decoding target frame from the code data using the predicted image for each processing region.
  • the decoded image memory 411 stores the decoded image signal.
  • FIG. 18 is a flowchart for explaining the operation of the image decoding apparatus 400 according to the fourth embodiment. The process performed by the image decoding apparatus 400 will be described in detail according to this flowchart.
  • the code data input unit 401 inputs code data for a frame to be decoded and stores the code data in the code data memory 402 (step S401).
  • the decoding target frame is divided, and the image signal of the decoding target frame is decoded for each area (steps S402 to S412). That is, assuming that the decoding target block index is represented by blk and the total number of decoding target blocks is represented by numBlks, blk is initialized to 0 (step S402), and then 1 is added to blk (step S411). The following processing (steps S403 to S410) is repeated until it becomes (step S412).
  • the separation unit 403 separates the input code data into code data of a plurality of pieces of information (step S403).
  • the code data of a plurality of pieces of information are described as being interleaved in units of blocks, but in the case of being interleaved in different units such as frames, separation of code data is performed in units of blocks. There is no need to repeat.
  • the number-of-subjects prediction unit 404 generates the predicted number of subjects for the block blk using the image signals for the peripheral pixels in the block blk stored in the decoded image memory 411 (step S404).
  • a set of peripheral pixels of the block blk stored in the decoded image memory 411 used here is referred to as a first reference pixel.
  • the processing here is the same as step S204 in the second embodiment, and the method for selecting the first reference pixel and the method for setting the predicted number of subjects from the pixel value for the first reference pixel is the same as the encoding side. Any method may be used as long as it is a process.
  • the number-of-subjects decoding unit 405 decodes the number of subjects from the code data using the number of predicted subjects (step S405).
  • the decoding method used here differs depending on the method used at the time of encoding. For example, if the code data is a code word on a code table for the value of the difference value between the number of subjects and the number of predicted subjects, the same code table is used to find a difference value having a code word corresponding to the code data The number of subjects is decoded by adding the number of predicted subjects to.
  • the subject map decoding unit 406 decodes the subject map from the separated code data (step S406).
  • Decoding of the subject map is different depending on the method used at the time of encoding.
  • the process here is the same as the process of step S306 of the third embodiment.
  • the subject pixel value prediction unit 407 generates as many predicted subject pixel values as the number of subjects using the image signals for the peripheral pixels of the block blk stored in the decoded image memory 411 (step S407). . Also, a set of peripheral pixels of the block blk stored in the decoded image memory 411 used here is referred to as a second reference pixel.
  • the process here is the same as the process of step S207 in the second embodiment, and the method of setting the predicted subject pixel value from the method of selecting the second reference pixel and the pixel value for the second reference pixel is encoding. Any method may be used as long as the process is the same as that for the side.
  • the subject pixel value decoding unit 408 decodes the subject pixel value from the code data using the predicted subject pixel value (step S408).
  • the decoding method used here differs depending on the method used at the time of encoding. Although some examples will be given below, it is known on the decoding side which method is used for encoding, or notified using some additional information.
  • the subject pixel value and the predicted subject pixel value are arranged in ascending order to form a pair, and in each pair, a difference value obtained by subtracting the predicted subject pixel value from the subject pixel value is calculated, and a certain code table corresponding to the difference value If code data is generated using the code word of, the difference value having the code word corresponding to the code data is found using the same code table, and the predicted subject pixel value is added to the difference value.
  • the subject pixel values are sequentially decoded.
  • the decoding process is performed by adding the predicted subject pixel value after inverse quantization.
  • the quantization parameter when the quantization parameter is encoded, it needs to be decoded first. When diverting the quantization parameter used in another place, it is necessary to notify the subject pixel value decoding unit 408 first of that parameter value.
  • a method may be used in which predictive coding is performed using not only the predicted subject pixel value but also the subject pixel value previously coded in block blk. In that case, it is necessary to decode the subject pixel value by generating a predicted value when performing predictive coding in the same way as the procedure performed on the coding side and adding it to the difference value obtained from the code data. is there.
  • the subject pixel value for the subject identifier that does not appear in the subject map has not been encoded.
  • an appropriate value is assigned when it becomes the order to decode subject pixel values for subject identifiers that have not appeared in the subject map at one time, etc. It is necessary to skip the decoding.
  • the prediction image generation unit 409 When the decoding of the subject pixel value is completed, next, the prediction image generation unit 409 generates a prediction image for the block blk (step S409).
  • the process here is the same as step S211 in the second embodiment.
  • dither may be further added to the predicted image created as described above.
  • the image In the predicted image using the subject map and the subject pixel value, since there are only the same number of pixel values as the number of subjects, the image has a property different from that of the natural image. Therefore, by adding dither, it is possible to give a change closer to a natural image.
  • any method can be used for dither generation, it is necessary to use the same method as the encoding side, including whether or not to add dither.
  • the code data includes additional information necessary for initialization of the dither generation apparatus, it is decoded and used.
  • the image signal decoding unit 410 decodes the image signal for the block blk, outputs the image signal of the decoding result, and stores the image signal in the decoded image memory 411 (step S410).
  • the image signal obtained by decoding is used to generate or predict the number of subjects and subject pixel values when decoding other blocks.
  • Decoding of the image signal differs depending on the method used at the time of encoding. For example, MPEG-2 and H.264.
  • prediction residual is obtained by performing frequency inverse transform such as entropy decoding, inverse binarization, inverse quantization, and IDCT on code data.
  • frequency inverse transform such as entropy decoding, inverse binarization, inverse quantization, and IDCT on code data.
  • the pixel values of the peripheral pixels of the block blk are analyzed to set and decode the predicted subject number and the predicted subject pixel value.
  • information on one of the two cases is decoded using a predicted value set by analyzing pixel values of peripheral pixels of the block blk and the predicted value is not set, as in the third embodiment.
  • the information may be directly decoded from the code data.
  • FIG. 19 shows an example of the syntax of each block of code data generated in the first embodiment described above and code data input in the third embodiment.
  • mb_type is information indicating a prediction mode, and H.3.
  • intra prediction such as H.264 / AVC is mixed, it is information for determining whether the block is a block encoded according to the present invention.
  • mb_type is equal to MAP_BASED_PRED, it indicates a block encoded according to the present invention.
  • map_object represents a subject map
  • residuals represent prediction residuals of the image signal. In this example, although residuals are included in the if block, when residual signals are to be encoded regardless of the prediction mode, they may be output outside the if block.
  • FIG. 20 shows an example of the syntax of each block of code data generated in the second embodiment described above and code data input in the fourth embodiment.
  • diff_num _objects is a prediction residual of the number of objects
  • num _objects is the number of objects
  • exist (i, j) is a function that returns TRUE if the object identifier i exists in the object map j, and returns FALSE otherwise.
  • residual_value_object [i] represents a prediction residual of a subject pixel value whose subject identifier is i.
  • residuals are put out of the if block, if the residual signal is not encoded depending on the prediction mode, it is necessary to put it in the if block.
  • 21A and 21B are diagrams showing an example of the data structure of the additional information used to generate a predicted image.
  • additional information as shown in, for example, FIG. 21A is managed in a memory.
  • the number of subjects N is an integer.
  • the subject map is an integer string of 1 to N having the same length as the number of pixels in the block.
  • the subject pixel value is an unsigned integer in the absence of prediction, and a signed integer (considering a negative number) in the presence of prediction.
  • FIG. 21B shows a specific example of the additional information. Although the number of subjects is four, there is no pixel with a subject identifier of two in the subject map. Therefore, the data of the subject pixel value corresponding to the subject identifier 2 is omitted.
  • the subject map may be held as a tree-structured subject map expressed in a tree structure.
  • the tree-structured object map is an integer sequence of variable length, and in the case of the tree-structured object map of FIG. 8, for example, it is an integer sequence of 01010133320332320120111222.
  • the subject map may be divided into block division information and in-block subject identifier information and managed.
  • the block division information indicates the result of scanning the nodes other than the leaf when using the tree-structured object map
  • the in-block subject identifier information indicates the result of scanning the leaf when using the tree-structured object map.
  • the block division information is 0101010011011
  • the in-block object identifier information is 00022221221201000111.
  • FIG. 22A and 22B are diagrams showing an example of the data structure of prediction additional information.
  • prediction additional information as shown in FIG. 22A is generated in order to encode the number of subjects or the subject pixel value using a prediction value.
  • the subject number prediction value is an integer
  • the subject pixel value prediction value is an unsigned integer having the same bit depth as that of the input image.
  • FIG. 22B shows a specific example, in which the subject number prediction value is 2, and the subject pixel value prediction values of the subject identifiers 0, 1 and 2 are 25, 123 and 191, respectively.
  • FIGS. 23A and 23B are diagrams showing Example 1 of the structure of data encoded in each block.
  • This example is an example used in the first embodiment and the third embodiment.
  • information mb_type indicating a prediction mode, a subject map, and a prediction residual signal are set as shown in FIG. 23A.
  • the example is shown to FIG. 23B.
  • the information mb_type indicating the prediction mode is MAP_BASED_PRED.
  • FIGS. 24A and 24B illustrate Example 2 of the structure of data encoded in each block. This example is an example in the case where only data of the number of objects is not encoded.
  • information mb_type indicating a prediction mode, a subject map, subject pixel value prediction differential values of each subject, and a prediction residual signal are set.
  • the subject pixel value predicted difference value is a signed integer, and is a bit depth obtained by adding 1 bit to the bit depth of the input image.
  • FIG. 24B Subject pixel value predicted difference values of ⁇ 2, +3, and +10 are set for each of the subject identifiers 0, 1, and 2.
  • Example 3 of the structure of data to be encoded 25A and 25B are diagrams showing Example 3 of the structure of data encoded in each block. This example is an example used in the second embodiment and the fourth embodiment.
  • information mb_type indicating the prediction mode, subject number prediction difference value, tree structure subject map, subject pixel value prediction difference value of each subject, prediction residual A signal is set.
  • the specific example is shown in FIG. 25B.
  • the subject map is represented by a tree structure.
  • Example 4 of the structure of data to be encoded 26A and 26B are diagrams showing an example 4 of the structure of data encoded in each block. This example is an example in the case where data of the number of objects is not encoded and there is an object identifier which is not used further.
  • information mb_type indicating a prediction mode
  • a subject map represented by block division information and in-block subject identifier information indicating subject pixel value predicted difference values of respective subjects
  • a prediction residual signal are set.
  • FIG. 26B shows the specific example.
  • the subject identifier 2 since the subject identifier 2 is not used, the subject pixel value predicted value is omitted from the data to be encoded.
  • Coding may be performed using intra-frame prediction coding, motion compensation prediction coding, or the like used in H.264 / AVC or the like. In that case, it is necessary to encode and decode information indicating which method has been used for each block.
  • the present invention can be applied to moving picture encoding by repeating a plurality of frames. Also, the present invention can be applied to only a part of frames and a part of blocks of a moving image. In that case, since the presence of the subject is not only spatial but also temporal continuity, it can be easily analogized to use peripheral pixels not only in the spatial direction but also in the temporal direction.
  • the image encoding and image decoding processes described above can be realized by a computer and a software program, and the program can be recorded and provided in a computer readable recording medium or provided through a network. It is possible.
  • FIG. 27 shows an example of the hardware configuration when the image coding apparatus is configured by a computer and a software program.
  • This system is ⁇ CPU 50 that executes a program -Memory 51 such as RAM in which programs and data accessed by the CPU 50 are stored ⁇
  • Encoding target frame input unit 52 for inputting an image signal to be encoded from a camera or the like (a storage unit for storing an image signal by a disk device or the like may be used)
  • a program storage device 53 in which an image coding program 531 which is a software program that causes the CPU 50 to execute the processing described in FIG. 1 and FIG. 2 etc. is stored.
  • a multiplexed code data output unit 54 that outputs multiplexed code data generated by the CPU 50 executing the image coding program 531 loaded to the memory 51 via, for example, a network (multiplex code by a disk device or the like) It may be a storage unit that stores data) And are connected by a bus.
  • hardware such as object number storage unit, subject map storage unit, subject pixel value storage unit, predicted image storage unit, subject map code data storage unit, image information code data storage unit, decoded image storage unit, etc. Hardware is provided and used to implement this approach. Also, a subject pixel value code data storage unit may be used, and further, a subject number code data storage unit, a subject number prediction value storage unit, and a subject pixel value prediction value storage unit may be used.
  • FIG. 28 shows an example of the hardware configuration when the image decoding apparatus is configured by a computer and a software program.
  • This system is ⁇ CPU 60 that executes the program ⁇ Memory 61 such as RAM in which programs and data accessed by the CPU 60 are stored ⁇
  • a multiplexed code data input unit 62 (a storage unit for storing multiplexed code data by a disk device or the like may be used) to which the image coding apparatus inputs multiplexed code data encoded by the above-described method
  • a program storage device 63 storing an image decoding program 631 which is a software program that causes the CPU 60 to execute the processing described in FIG. 10 and FIG.
  • the decoded image data output unit 64 outputs the decoded image data obtained by decoding the multiplexed code data to the reproduction apparatus or the like by the CPU 60 executing the image decoding program 631 loaded into the memory 61. And are connected by a bus.
  • an object number storage unit an object map storage unit, an object pixel value storage unit, a predicted image storage unit, an object map code data storage unit, and an image information code data storage unit is provided. It is used to implement this method. Also, a subject pixel value code data storage unit may be used, and further, a subject number code data storage unit, a subject number prediction value storage unit, and a subject pixel value prediction value storage unit may be used.
  • the additional information is information indicating the direction of an edge, and is a two-dimensional vector.
  • the additional information according to the present method is a subject map (two-dimensional information), and the bit amount is approximately 64 times when the processing block is 16 ⁇ 16 and the number of subjects is 4 although it depends on the conditions. (However, it can be made about 4 times by entropy coding).
  • the code amount of the prediction residual in the present method capable of expressing an arbitrary shape, as compared with the conventional method capable of only linear expression.
  • the code amount of the prediction residual can be reduced to about one third.
  • the code amount of the prediction residual of the conventional method occupies about 90% of the total code amount. That is, assuming that the entire code amount is 100, the additional information is 10 and the prediction residual is 90. Assuming that the additional information is 4 times and the prediction residual is 1 ⁇ 3 by the present method, the entire code amount can be 70 by the present method.
  • FIG. 29 shows a comparison of the generated code amount and the image quality when encoding is performed using the present method and the conventional method for a certain sample image.
  • Y-PSNR on the vertical axis represents image quality (unit: dB), and bit rate on the horizontal axis represents code amount (unit: bps / view).
  • a larger value of Y-PSNR indicates that the image is more beautiful.
  • the curve of A shows the relationship between the code amount according to the present method and the quality of the image
  • the curve of B shows the relationship between the code amount according to the conventional method and the quality of the image.
  • pixel values such as distance images largely depend on the subject, and for an image in which there is only a limited number of subjects locally, the entire image is divided and differs for each area
  • the spatial continuity of the presence of the subject is used to predict the number of subjects and the representative pixel value of each subject.

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)
  • Testing, Inspecting, Measuring Of Stereoscopic Televisions And Televisions (AREA)

Abstract

 画像全体を分割して領域ごとに異なる方法で画像信号を予測しながら画像を予測符号化する場合に、被写体の存在の空間的な連続性を用いて、被写体数や各被写体の代表的な画素値を、処理領域の周辺の既に処理が終了した領域の復号画素値を用いて予測する。これにより、処理領域内の各被写体を代表する画素値と、処理領域内の各画素の被写体を識別するための情報とを用いた任意の被写体形状に対応した高精度な画像信号予測を行う際に必要となる「処理領域内の被写体数」や「処理領域内の各被写体を代表する画素値」の符号化に必要な符号量を減らし、効率的な画像符号化を実現することが可能となる。また、符号化側と復号側で同じ情報となる既に処理済みの周辺領域における画素の復号画素値を用いることで、H.264のように、領域ごとに多数の画像信号予測モードの中から1つを選択しながら符号化を行う場合においても、適切に予測を行うことができる。

Description

画像符号化方法および装置、画像復号方法及び装置、およびそれらのプログラム
 本発明は、画像の符号化および復号技術に関し、特に距離画像のような画像の符号化に適した画像符号化方法、画像復号方法、画像符号化装置、画像復号装置およびそれらのプログラムに関するものである。
 本願は、2010年9月29日に出願された特願2010-218037号に基づき優先権を主張し、その内容をここに援用する。
 距離画像とは、カメラから被写体までの距離を画素値として表現した画像のことである。カメラから被写体までの距離はシーンの奥行きとも言えるため、距離画像は奥行き画像と呼ばれることもある。また、奥行き(Depth)から、デプスマップ(Depth Map)と呼ばれることもある。コンピュータグラフィックスの分野では、デプスはZバッファ(画面全体の深度をまとめて保存しておくメモリ領域)に蓄積された情報となるためZ画像やZマップと呼ばれることもある。なお、カメラから被写体までの距離の他に、表現対象としての空間上に張られた三次元座標系のZ軸に対する座標値を距離(デプス)として用いることもある。
 一般に、撮影された画像に対して水平方向をX軸、垂直方向をY軸とするため、Z軸はカメラの向きと一致するが、複数のカメラに対して共通の座標系を用いる場合など、Z軸がカメラの向きと一致しない場合もある。
 以下では、距離・奥行き・Z値(奥行き情報)を区別せずに距離情報と呼び、距離情報を画素値として表した画像を距離画像と呼ぶ。
 距離情報を画素値として表す際に、物理量に対応する値をそのまま画素値とする方法と、最小値と最大値の間をある数に量子化して得られる値を用いる方法と、最小値からの差をあるステップ幅で量子化して得られる値を用いる方法がある。表現したい範囲が限られている場合には、最小値などの付加情報を用いるほうが距離情報を高精度に表現することができる。
 また、等間隔に量子化する際に、物理量をそのまま量子化する方法と物理量の逆数を量子化する方法とがある。一般に距離情報の逆数は視差に比例した値となるため、距離情報を高精度に表現する必要がある場合には、前者が使用され、視差情報を高精度に表現する必要がある場合には、後者が使用されることが多い。
 以下では、距離情報の画素値化の方法や量子化の方法に関係なく、距離情報が画像として表現されたものを全て距離画像と呼ぶ。
 距離画像の利用用途の1つとして立体画像がある。一般的な立体画像の表現としては、観測者の右目用の画像と左目用の画像からなるステレオ画像があるが、あるカメラにおける画像とその距離画像とを用いて立体画像を表現することができる(詳しい技術は非特許文献1を参照)。
 このような1視点における映像と距離画像とを用いて表現された立体映像を符号化する方式には、MPEG-C Part.3(ISO/IEC 23002-3) を使用することが可能である(詳しい内容は非特許文献2を参照)。
 また、映像と距離画像とを複数視点に対して持つことで、単視点の場合に表現可能な立体映像よりも、大きな視差を持った立体映像を表現することが可能となる(詳細は非特許文献3を参照)。
 また、このような立体映像を表現する用途以外に、距離画像は、鑑賞者が撮影カメラの配置を気にせずに自由に視点を移動できる自由視点映像を生成するデータの1つとしても使用される。このような、撮影カメラとは別のカメラからシーンを見ているとしたときの合成画像を仮想視点画像と呼ぶことがあり、Image-based Rendering の分野で盛んにその生成法が検討されている。多視点の映像と距離画像とから仮想視点映像を生成する代表的な手法としては、非特許文献4に記載の手法がある。
 距離画像は1つのコンポーネントで構成されているため、グレースケール画像とみなすことができる。また、被写体が実空間上で連続的に存在し、瞬間的に離れた位置へ移動することができないため、画像信号と同様に空間的相関および時間的相関を持つと言える。したがって、通常の画像信号や映像信号を符号化するために用いられる画像符号化方式や動画像符号化方式によって、距離画像や距離動画像は空間的冗長性や時間的冗長性を取り除きながら効率的に符号化することが可能である。実際にMPEG-C Part.3では、既存の動画像符号化方式を用いて符号化を行っている。
 ここで、従来の一般的な映像信号の符号化方式について説明する。
 一般に被写体が実空間上で空間的および時間的連続性を持つことから、その見え方は空間的および時間的に高い相関をもつ。映像信号の符号化では、そのような相関性を利用して高い符号化効率を達成している。
 具体的には、符号化対象ブロックの映像信号を既に符号化済みの映像信号から予測して、その予測残差のみを符号化することで、符号化する必要がある情報の量を減らし、高い符号化効率を達成する。
 代表的な映像信号の予想の手法としては、隣接するブロックから空間的に予測信号を生成する画面内予測や、異なる時刻に撮影された符号化済みフレームから被写体の動きを推定して時間的に予測信号を生成する動き補償予測がある。
 また、予測残差信号と呼ばれる予測の誤差も、空間的な相関と人間の視覚特性を利用するために、DCT等を用いて予測残差信号を周波数空間でのデータへ変換し、低周波領域に残差信号のエネルギーを集中させることで、効率的に符号化を行う。
 各手法の詳細は動画像国際標準規格のMPEG-2やH.264/MPEG-4 AVC(非特許文献5)を参照されたい。
C. Fehn, P. Kauff, M. Op de Beeck, F. Emst, W. IJsselsteijn, M. Pollefeys, L. Van Gool, E. Ofek and I. Sexton, "An Evolutionary and Optimised Approach on 3D-TV", Proceedings of International Broadcast Conference, pp.357-365, Amsterdam, The Netherlands, September 2002. W.H.A. Bruls, C. Varekamp, R. Klein Gunnewiek, B. Barenbrug and A. Bourge, "Enabling Introduction of Stereoscopic (3D) Video: Formats and Compression Standards", Proceedings of IEEE International Conference on Image Processing, pp.I-89-I-92, San   Antonio, USA, September 2007. A. Smolic, K. Mueller, P. Merkle, N. Atzpadin, C. Fehn, M. Mueller, O. Schreer, R. Tanger, P. Kauff and T. Wiegand, "Multi-view video plus depth (MVD) format for advanced 3D video systems", Joint Video Team of ISO/IEC JTC1/SC29/WG11 and ITU-T SG16 Q.6, Doc. JVT-W100, San Jose, USA, April 2007. C. L. Zitnick, S. B. Kang, M. Uyttendaele, S. A. J. Winder, and R. Szeliski, "High-quality Video View Interpolation Using a Layered Representation", ACM Transactions on Graphics, vol.23, no.3, pp.600-608, August 2004. Recommendation ITU-T H.264, "Advanced video coding for generic audiovisual services", March 2009.
 被写体は実空間上で連続であるため高い空間相関を持つとともに、瞬間的に離れた位置へ移動することが不可能であるため高い時間相関を持つ。したがって、空間相関と時間相関とを利用する既存の動画像符号化方式を用いることで、グレースケール画像として表した距離画像を効率的に符号化することが可能である。
 しかしながら、距離情報は被写体内部では変化が少なく、被写体間では非常に大きな違いがあることから、空間的または時間的な予測の結果、正確な予測が達成できて予測残差が非常に小さくなるか、全く有効な予測ができず予測残差が非常に大きくなってしまうかのどちらかとなる。つまり、予測残差信号に強いエッジが生成されることになる。そのような強いエッジは、DCT等を用いて周波数空間でのデータへ変換されると、低周波領域に残差信号のエネルギーを集中させることができず、多くの高周波成分が生じることになる。その結果、残差信号を効率的に符号化することができない。
 図30に、ある距離画像の9×9画素のブロックの一例を示した。このブロックには2つの被写体が存在し、一方の被写体の画素値が50前後で、もう一方の被写体の画素値が200前後である。
 空間的な予測では、このブロックの1行目と1列目の情報を用いて残りの8×8画素を予測する。予測の方法には様々なものがあるが、ここではH.264に採用されている代表的な2つの予測方法、水平予測と垂直予測の2つの例を示した。
 図の右側に示されるとおり、予測残差には大きく分けて-150前後、0前後、150前後の3種類の値しか存在せず、かなり大きなエッジが生じている。
 図31A、31Bは、図30に示した予測残差に8×8の二次元DCTをかけた結果を示している。直流(DC)成分は図の一番奥になり、奥から離れるほど高周波を表している。
 図から明らかなように、どちらの場合にも、多くの高周波領域に大きな信号が生じており、残差信号のコンパクト化に失敗していることが分かる。
 予測を行わずに、DCT等の変換のみを用いて符号化することも可能であるが、別のブロックとの空間的相関を取り除くことができず、さらに符号化効率が悪化してしまう。
 また、DCT等の変換を行わずに符号化することも可能であるが、その場合には、ブロック内の局所的な相関を利用することができず、効率的な符号化を達成することができない。
 なお、一般に高周波領域の成分は主観品質に大きな影響を与えないといわれるため、上記のような信号でも、高周波領域の成分に大きな量子化を施すなどして、符号量を削減することも可能である。しかしながら、この例のように強いエッジがある部分の高周波成分を量子化してしまうと、エッジ周辺にモスキートノイズと呼ばれる歪みが発生してしまい、画像の品質を著しく低下させてしまう。
 本発明は、以上のような事情に鑑みてなされたものであって、距離画像のような画素値がオブジェクトに大きく依存する画像を効率的に符号化する画像符号化技術、および、符号化されたビットストリームを復号する画像復号技術を提供することを目的とする。
 本発明は、上記課題を解決するため、画像を伝送または蓄積するにあたり、画像フレームを予め定められた大きさの処理領域(以下、ブロックともいう)に分割し、ブロックごとに各画素の画素値を予測しながら符号化を行う画像符号化において、ブロック内に、固定数の被写体またはブロックごとに可変数の被写体が存在すると仮定し、各ブロックの画像を、「各被写体を代表する画素値(以下、被写体画素値という)」、「各画素の被写体識別情報」という情報で表現する。
 すなわち、ブロック内の1つの画素に対して、どの被写体であるかを示す1つの被写体識別情報が割り振られ、1つの被写体識別情報には1つの被写体画素値が対応付けられる。
 この情報に従い、画素ごとに最も類似する値を割り当てるため、複雑なエッジ形状を保持した予測画像を生成することができる。なお、ブロック内に含まれる被写体の数は高々数個に限られるため、この情報の量は限られる。
 特に、本発明では、符号化対象ブロックの被写体数もしくは被写体画素値、またはその双方を符号化対象ブロック周辺の既に符号化済みの画素に対する画像信号を用いて予測する。このように、既に符号化済みの画素に対する画像信号を用いて予測することにより、復号側において、符号化側と同じ情報を共有することができ、予測画像の生成に用いる付加情報の符号量を削減することができる。
 ここでいう被写体とは、撮影されている個々の物体や人物そのものを意味するのではなく、情報を付与する対象であり、例えば類似する画像信号(輝度、色彩、デプスなど)を持つ領域である。つまり、単一物体であっても、場所によって異なる色を持つ場合には、複数の被写体とみなす。
 また、画像信号を符号化する必要のない物体や物体の一部分は被写体とはみなさない。すなわち、被写体は、フレーム内の実オブジェクト(被写体)とは関係なく、情報が付与されない実オブジェクトは、本発明でいう“被写体”ではない。また、1つの実オブジェクトに対して2つの情報が付与される場合には、それぞれ別の被写体として扱われる。
 本発明およびその実施形態の説明で使用する用語を説明する。以下では、処理領域を代表的にブロックとして説明する。
 「被写体数」: 被写体数は、ブロック内に存在する“被写体”の数であり、情報を付与する対象の個数である。被写体数は、ブロック内の画素値を解析することで生成することができる。
 例えば、ブロック内の画素を画素値や位置などの情報を用いてクラスタリングし、各クラスタの評価値(例えば、画素値の分散)が一定値以下となるクラスタ数の最大値を被写体数とすることが可能である。また、経験などに基づいて外部から与えたり、予め定められた値を用いることも可能である。
 この被写体数は、付加情報の1つである被写体画素値の個数を表現するために用いられる。また、被写体マップに登場する被写体識別子の最大値を表現するためにも用いられる。
 「被写体画素値」: 被写体画素値は、個々の“被写体”に対して1つ定義される値であり、その“被写体”を代表する画素値である。画素値としては、輝度値や色差値、R値などを用いることができる。また、RGB値などの複数の色コンポーネント値の集合を用いる場合もある。
 被写体画素値は、ブロック内の画素値を解析することで生成する。具体的には、ブロック内の画素を画素値や位置などの情報を用いて“被写体数”のクラスタにクラスタリングし、各クラスタごとに、含まれる画素の画素値に対する平均値や中央値を計算することで得る。
 ブロック内の各画素に対して、その画素の“被写体”に対応する被写体画素値を割り当てることで、そのブロックの予測画像を生成するために用いられる。
 「被写体マップ」: 被写体マップは、ブロック内の各画素にどの“被写体”が存在しているかを示したものである。具体的には、各画素を“被写体”(被写体画素値)に対応付けられた被写体識別子で表現したものである。最も単純な表現では2次元情報として表現できるが、木構造を用いて表現することもできる。被写体マップは、ブロック内の各画素に対して、その画素値に最も近い被写体画素値に対応する被写体識別子を割り当てることで生成する。
 なお、画素値と被写体画素値の類似度だけでなく、被写体マップ自体の表現に必要なビット数も鑑みて生成することもある。被写体マップは、予測画素を生成する際に、ブロック内の各画素に対して、どの被写体画素値を割り当てるのかを示すために用いられる。
 「付加情報」: 本発明で処理対象フレームの画像(映像)信号を予測するために用いる情報を付加情報と呼ぶ。付加情報は処理を行うブロック単位で生成される。付加情報は、基本的には、被写体数・被写体画素値・被写体マップの3つの情報で構成される。
 「予測付加情報」: 予測付加情報は、付加情報の予測値である。具体的には、被写体数の予測値と被写体画素値の予測値とで構成される。
 被写体数の予測値は、処理ブロック周辺の既に処理済みの画素群に対する画素値を解析することで生成することができる。例えば、処理ブロック周辺の既に処理済みの画素群の画素を画素値や位置などの情報を用いてクラスタリングし、各クラスタの評価値(例えば、画素値の分散)が一定値以下となるクラスタ数の最小値を被写体数の予測値とすることが可能である。
 被写体画素値の予測値は、処理ブロック周辺の既に処理済みの画素群に対する画素値を解析することで生成する。具体的には、処理ブロック周辺の既に処理済みの画素群の画素を画素値や位置などの情報を用いて「被写体数」のクラスタにクラスタリングし、クラスタごとに、含まれる画素の画素値に対する平均値や中央値を計算することで得た値を用いることができる。
 また、「被写体数の予測値」と同じ数のクラスタにクラスタリングし、クラスタごとに、含まれる画素の画素値に対する平均値や中央値を計算することで得た値を用いる方法もある。
 さらに、上記のような方法で出た値を順に並べ、その順番より若い番号の被写体識別子が割り当てられた被写体画素値の値と、上記の方法で得た値とを用いて生成した値を用いる方法もある。
 予測付加情報は、付加情報を符号化/復号する際の予測値として用いられる。つまり、被写体マップ以外の付加情報を符号化する際に、付加情報内の値と予測付加情報内の値との差分を計算し、その差分値を符号化する。
 被写体マップ以外の付加情報を復号する際には、符号データから復号して得られた値に、予測付加情報内の値を加えることで、付加情報の値を生成する。
 また、一部または全部の差分値を符号化せずに、予測付加情報の値をそのまま付加情報の値として用いる方法もある。
 本発明の画像符号化では、典型的に以下の処理を行う。
(1)処理対象のブロック内に存在する被写体の数を被写体数として設定する。この被写体数の設定では、予め定められた被写体数を設定する場合と、ブロック内の画素値を解析して設定する場合と、ブロック周辺の符号化済みの画像情報から予測した被写体数を設定する場合とがある。
(2)ブロック内に被写体数だけの被写体が存在すると仮定して、被写体ごとに1つの画素値を、被写体を識別する被写体識別子に対応づけて被写体画素値として設定する。この被写体画素値の設定では、ブロック内の画素値を解析して設定する場合と、ブロック周辺の符号化済みの画像情報から被写体画素値を予測して設定する場合とがある。
(3)ブロック内の各画素の画素値と被写体画素値とから、ブロック内の各画素にどの被写体が撮影されているかを被写体識別子で示す被写体マップを生成する。
(4)被写体マップに従って各画素に被写体画素値の値を割り当てることでブロックに対する予測画像を生成する。
(5)被写体マップを符号化する。
(6)予測画像を用いてブロックに対する画像信号を予測符号化する。
(7)被写体数については、符号化する場合と、符号化しない場合がある。
 上記(1)の被写体数を設定するステップにおいて、予め定められた被写体数を設定した場合と、ブロック周辺の符号化済みの画像情報から予測した被写体数を設定した場合には、復号側で復号済みの画像情報から同じ情報を得られるので、符号化はしない。被写体数として、ブロック内の画素値を解析して設定した場合には、被写体数の符号量を少なくするため、被写体数を予測符号化する。すなわち、実際の被写体数と、ブロック周辺の符号化済みの画像情報から予測した被写体数との差分値を符号化する。
(8)被写体画素値についても、符号化する場合と、符号化しない場合がある。上記(2)の被写体画素値を設定するステップにおいて、ブロック周辺の符号化済みの画像情報から予測した被写体数を設定した場合には、復号側で復号済みの画像情報から同じ情報を得られるので、符号化はしない。被写体画素値として、ブロック内の画素値を解析して設定した場合には、被写体画素値の符号量を少なくするため、被写体画素値を予測符号化する。すなわち、予測画像の生成に用いる被写体画素値と、ブロック周辺の符号化済みの画像情報から予測した被写体画素値との差分値を符号化する。また、例えば被写体画素値が昇順に並ぶ場合に、直前の被写体画素値からの増分の情報を符号化してもよい。
(9)以上の被写体マップの符号データ、画像信号の符号データ、さらに被写体数を符号化した場合にはその符号データ、また、被写体画素値を符号化した場合にはその符号データを多重化して出力する。
 以上のように、本発明では、予測画像を生成するために、被写体の代表的な画素値である被写体画素値、およびどの被写体画素値を用いて予測画像を生成するかを画素ごとに示す被写体マップの2つの付加情報を用いる。これらは被写体数に応じて定められる。
 予測画像の生成に「予測方向」という情報を用いていた従来技術と比較して、本発明は、付加情報の符号量が増加するが、正確な予測画像を生成することで、予測残差の符号化に必要な符号量を大幅に減らし、トータルとしてブロックあたりに必要な符号量を削減することができる。
 また、付加情報についても予測によって符号量を削減することができる。すなわち、ブロックによって写っている被写体の数が異なる画像においても、予測被写体数を用いるとことにより、被写体数を表現するのに必要な符号量を削減することができる。
 ブロックによって写っている被写体の数が異なる場合というのは、次の2つの場合が考えられる。ある被写体が隣接領域には存在するが、現在のブロックには存在しない場合と、ある被写体が隣接領域には存在しないが、現在のブロックには存在する場合である。つまり、現在のブロックの被写体数は、隣接領域の被写体の数を基準として、増加もしくは減少すると言える。
 そのため、現在のブロックの被写体数を符号化する場合に、被写体数をそのまま符号化するのではなく、「被写体数の増減」の情報を符号化することで、必要な符号量を削減できる。
 また、ブロックによって写っている被写体の種類(色彩など)が変化する画像においても、予測被写体画素値を用いることにより、各被写体を代表する被写体画素値を表現するのに必要な符号量を削減することができる。
 ブロックによって写っている被写体の色彩が異なる場合というのは、次の2つの場合が考えられる。(a)隣接領域と同じ被写体であるが照明効果が異なる場合、(b)隣接領域には被写体が存在しない場合である。
 (a)の照明効果の場合、同じ被写体の色彩であるため、その色彩の違いは、隣接領域の被写体の色彩を基準として、変化したものと言える。そのため、現在のブロックの被写体画素値を符号化する場合には、被写体画素値をそのまま符号化するのではなく、「被写体画素値の変化」の情報を符号化することで、必要な符号量を削減できる。
 (b)の新たな被写体の場合、隣接領域にはその被写体が存在しなかったことから、「予測被写体画素値」は有効な予測であるとは言えないが、被写体画素値をその値が小さな順に符号化している場合、被写体画素値をそのまま符号化するのではなく、直前に符号化した被写体画素値からの増分の情報を符号化することで、必要な符号量を削減することができる。
  本発明の画像復号では、典型的に以下の処理を行う。
(1)処理対象のブロック内に存在する被写体の数を被写体数として設定する。この被写体数の設定では、予め定められた被写体数を設定する場合と、ブロック周辺の復号済みの画像情報から予測した被写体数を設定する場合と、符号データを復号して得られた被写体数を設定する場合とがある。被写体数を符号データから復号する場合には、ブロック周辺の復号済みの画像情報から予測した被写体数を用いて復号する。
(2)各被写体識別子に対応づけられた被写体画素値を設定する。この被写体画素値の設定では、ブロック周辺の復号済みの画像情報から予測した被写体画素値を設定する場合と、符号データを復号して得られた被写体画素値を設定する場合とがある。被写体画素値を符号データから復号する場合には、ブロック周辺の復号済みの画像情報から予測した被写体画素値または直前に復号した被写体画素値などを用いて復号する。
(3)符号データから被写体マップを復号する。
(4)被写体マップに従って各画素に被写体画素値の値を割り当てることでブロックに対する予測画像を生成する。
(5)予測画像を用いてブロックに対する画像信号を符号データから復号する。
 これにより、上記画像符号化によって符号化された画像を復号することができる。
 本発明によれば、距離画像のような画素値が被写体に大きく依存し、局所的には限られた数の被写体しか存在しないような画像に対して、画像全体を分割して領域ごとに異なる方法で画像信号を予測しながら画像を予測符号化する場合に、被写体の存在の空間的な連続性を用いて、被写体数や各被写体の代表的な画素値を予測する。これにより、被写体ごとの代表画素値と被写体識別情報を用いた画像信号予測に必要な付加情報の表現に必要な符号量を削減し、効率的な画像符号化を実現することができる。
本発明の第1実施形態による画像符号化装置の構成例を示すブロック図である。 第1実施形態による画像符号化装置の処理フローチャートである。 被写体数設定処理のフローチャートである。 同様に、被写体数設定処理のフローチャートである。 被写体画素値設定処理のフローチャートである。 同様に、被写体画素値設定処理のフローチャートである。 被写体マップの例を示す図である。 符号化対象画素に被写体識別子を割り当てる例を説明する図である。 同様に、符号化対象画素に被写体識別子を割り当てる例を説明する図である。 木構造被写体マップの例を示す図である。 木構造被写体マップの他の例を示す図である。 第1実施形態による画像符号化装置の他の構成例を示すブロック図である。 本発明の第2実施形態による画像符号化装置の構成例を示すブロック図である。 第2実施形態による画像符号化装置の処理フローチャートである。 第3実施形態による画像復号装置の構成例を示すブロック図である。 第3実施形態による画像復号装置の処理フローチャートである。 復号された木構造被写体マップの例を示す図である。 復号された被写体マップの例を示す図である。 第3実施形態による画像復号装置の他の構成例を示すブロック図である。 第4実施形態による画像復号装置の構成例を示すブロック図である。 第4実施形態による画像復号装置の処理フローチャートである。 符号データのブロックごとのシンタックスの一例を示す図である。 符号データのブロックごとのシンタックスの他の例を示す図である。 予測画像の生成に用いる付加情報のデータ構造の例を示す図である。 上記データ構造の具体例を示す図である。 予測付加情報のデータ構造の例を示す図である。 上記データ構造の具体例を示す図である。 各ブロックで符号化されるデータの構造の例1を示す図である。 上記データの構造の例1の具体例を示す図である。 各ブロックで符号化されるデータの構造の例2を示す図である。 上記データの構造の例2の具体例を示す図である。 各ブロックで符号化されるデータの構造の例3を示す図である。 上記データの構造の例3の具体例を示す図である。 各ブロックで符号化されるデータの構造の例4を示す図である。 上記データの構造の例4の具体例を示す図である。 画像符号化装置をコンピュータとソフトウェアプログラムとによって構成する場合のハードウェア構成例を示す図である。 画像復号装置をコンピュータとソフトウェアプログラムとによって構成する場合のハードウェア構成例を示す図である。 本手法と従来手法を用いて符号化した場合の発生符号量と画像品質の比較を示す図である。 本発明の課題を説明する図で、ある距離画像に対する水平予測と垂直予測の例である。 図30に示した水平予測残差に8×8の二次元DCTをかけた結果を示す図である。 図30に示した垂直予測残差に8×8の二次元DCTをかけた結果を示す図である。
 本発明では、画像全体を分割して領域ごとに異なる方法で画像信号を予測しながら画像を予測符号化する場合に、被写体(オブジェクト)の存在の空間的な連続性を用いて、被写体数や各被写体の代表的な画素値を、処理領域の周辺の既に処理が終了した領域の復号画素値を用いて予測する。
 これにより、処理領域内の各被写体を代表する画素値と、処理領域内の各画素の被写体を識別するための情報とを用いた任意の被写体形状に対応した高精度な画像信号予測を行う際に必要となる「処理領域内の被写体数」や「処理領域内の各被写体を代表する画素値」の符号化に必要な符号量を減らし、効率的な画像符号化を実現することが可能となる。
 また、符号化側と復号側で同じ情報となる既に処理済みの周辺領域における画素の復号画素値を用いることで、H.264のように、領域ごとに多数の画像信号予測モードの中から1つを選択しながら符号化を行う場合においても、適切に予測を行うことができる。
 以下、本発明の一実施形態を、図面を参照して説明する。
 〔第1実施形態:画像符号化装置〕
 まず、第1実施形態について説明する。
 図1は、本発明の第1実施形態による画像符号化装置の構成例を示すブロック図である。
 画像符号化装置100は、図1に示すように、符号化対象フレーム入力部101、符号化対象フレームメモリ102、被写体数設定部103、被写体画素値設定部104、被写体マップ生成部105、被写体マップ符号化部106、予測画像生成部107、画像信号符号化部108、画像信号復号部109、復号画像メモリ110、および多重化部111を備えている。
 符号化対象フレーム入力部101は、符号化対象となる画像フレームを入力する。
 符号化対象フレームメモリ102は、入力された符号化対象フレームを蓄積する。
 被写体数設定部103は、予め定められた大きさの処理領域に含まれる被写体数を設定する。
 被写体画素値設定部104は、処理領域に与えられた数の被写体が存在すると仮定して、処理領域の周辺の復号画像を用いて、被写体ごとに被写体を代表する画素値を設定する。処理領域の被写体ごとに生成された被写体を代表する画素値を被写体画素値と呼ぶ。
 被写体マップ生成部105は、処理領域内の各画素に撮影されている被写体を識別する情報を表す被写体マップを生成する。
 被写体マップ符号化部106は、被写体マップを符号化する。
 予測画像生成部107は、処理領域に対して生成された被写体画素値と被写体マップから、処理領域に対する予測画像を生成する。
 画像信号符号化部108は、処理領域ごとに予測画像を用いて符号化対象フレームの画像信号を符号化する。
 画像信号復号部109は、処理領域ごとに予測画像を用いて符号化対象フレームの画像信号の符号データを復号する。
 復号画像メモリ110は、復号された画像信号を蓄積する。
 多重化部111は、被写体マップの符号データと、符号化対象フレームの画像信号の符号データを多重化して出力する。
 図2は、第1実施形態による画像符号化装置100の動作を説明するためのフローチャートである。このフローチャートに従って、画像符号化装置100の実行する処理について詳細に説明する。
 まず、符号化対象フレーム入力部101により、符号化対象フレームを入力し、符号化対象フレームメモリ102に格納する(ステップS101)。
 符号化対象フレームの格納が終了したら、符号化対象フレームを分割し、分割した領域ごとに、符号化対象フレームの画像信号を符号化する(ステップS102~S112)。
 つまり、符号化対象ブロックインデックスをblk、総符号化対象ブロック数をnumBlksで表すとすると、blkを0で初期化し(ステップS102)、その後、blkに1を加算しながら(ステップS111)、blkがnumBlksになるまで(ステップS112)、以下の処理(ステップS103~S110)を繰り返す。
 符号化対象ブロックごとに繰り返される処理では、まず、被写体数設定部103で、復号画像メモリ110に蓄積されているブロックblkの周辺画素群に対する画像信号を用いて、ブロックblkに含まれる被写体の数numObjsを設定する(ステップS103)。
 ここで、復号画像メモリ110に蓄積されているブロックblkの周辺画素の集合を第1の参照画素と呼ぶ。この第1の参照画素の選び方や第1の参照画素に対する画素値から被写体数numObjsを設定する方法には、復号側と同じ処理であれば、どのような方法を用いてもかまわない。
 第1の参照画素の選び方としては、例えば、予め定められた位置関係に存在する画素群としてもかまわないし、フレームやブロック群などの単位ごとに選び方を示す情報を符号化して復号側へ伝えてもかまわない。
 被写体数numObjsの決定方法としては、例えば、参照画素に対してk-means法やAffinity Propagationなどのクラスタリング手法を適用し、各クラスタ内の画素値分散が全てのクラスタで予め定められた値以下になるクラスタリング結果のうち、最小のクラスタ数をnumObjsとして設定する方法がある。なお、クラスタリングに用いる尺度としては、画素値のみを用いてもかまわないし、画素値と画素位置とからなる値を用いてもかまわない。
 図3A、3Bに、被写体数を設定する処理(図2のステップS103)の詳細なフローチャートを示す。
 被写体数を設定する処理では、図3Aに示すように、まず、復号画像メモリ110に蓄積されているブロックblkの周辺画素の集合であるところの第1の参照画素を設定する(ステップS1031)。
 次に、第1の参照画素に含まれる画素の情報(位置や画素値)を解析して被写体数を決定する(ステップS1032)。
 このステップS1032の詳細なフローの例を、図3Bに示す。
 まず、被写体数numObjsを1で初期化した後(ステップS10321)、第1の参照画素に含まれる画素群をnumObjs個のクラスタに分割し(ステップS10322)、各クラスタに対してクラスタ内の画素の画素値の分散値varを計算し、その最大値をmaxVarとする(ステップS10323~S10328)。
 maxVarが予め定められた閾値thよりも小さければ(ステップS10329)、被写体数として現在のnumObjsを採用し、処理を終了する。
 そうでない場合には、numObjsに1を加えて(ステップS10330)、再度クラスタリングする処理(ステップS10322)に戻って同様に処理を繰り返す。
 なお、第1の参照画素を使わずに、被写体数として常に同じ値を設定してもかまわない。
 また、被写体数が多い場合には、後述する被写体マップの符号量が大きくなり効率的な符号化を実現できないため、被写体数に最大値を別途設定し、その最大値を超えない範囲で設定するようにしてもよい。
 被写体数の設定が終了したら、次に、被写体画素値設定部104で、復号画像メモリ110に蓄積されているブロックblkの周辺画素群に対する画像信号を用いて、ブロックblk内の被写体ごとに、被写体を代表する画素値を設定する(ステップS104)。
 以下では、この被写体を代表する画素値を被写体画素値と呼び、Value(i)と表す。ここで、iは被写体を識別するための被写体識別子とし、0以上numObjs未満の整数である。被写体識別子は予め定められた規則に従って割り当てる。ここでは、被写体画素値が小さい順に割り当てられているとする。
 また、ここで使われる復号画像メモリ110に蓄積されているブロックblkの周辺画素の集合を第2の参照画素と呼ぶ。第2の参照画素の選び方や第2の参照画素に対する画素値を用いて被写体画素値を決定する方法には、復号側と同じ処理であれば、どのような方法を用いてもかまわない。
 第2の参照画素の選び方としては、例えば、予め定められた位置関係に存在する画素群としてもかまわないし、フレームやブロック群などの単位ごとに選び方を示す情報を符号化して復号側へ伝えてもかまわない。また、第1の参照画素と同じでもかまわないし、異なっていてもかまわない。
 各被写体を代表する被写体画素値を設定する方法としては、例えば、第2の参照画素を前述のようなクラスタリング手法を用いて、numObjs個のクラスタに分割し、各クラスタに含まれる画素の画素値の平均値や中央値を、被写体画素値として設定する方法がある。
 なお、第1の参照画素と第2の参照画素が同じであり、被写体数を設定する際にクラスタリングを用いている場合には、被写体数の設定と同時に被写体画素値を設定してもかまわない。
 図4A、4Bに、被写体画素値を設定する処理(図2のステップS104)の詳細なフローチャートを示す。
 被写体画素値を設定する処理では、図4Aに示すように、まず、復号画像メモリ110に蓄積されているブロックblkの周辺画素の集合であるところの第2の参照画素を設定する(ステップS1041)。
 次に、第2の参照画素に含まれる画素の情報(位置や画素値)を解析して、numObjs個の被写体画素値Value(i)を決定する(ステップS1042)。
 このステップS1042の詳細なフローの例を、図4Bに示す。
 まず、第2の参照画素に含まれる画素群をnumObjs個のクラスタに分割する(ステップS10421)。なお、クラスタリングに用いる情報としては、画素位置や画素値が使用できる。
 クラスタリングが終了したならば、クラスタごとに、そのクラスタに含まれる画素群に対して画素値の平均値または中央値を求める(ステップS10422~S10425)。
 その後、得られた値を予め定められた順(ここでは昇順)にソートして、Value(i)とする(ステップS10426)。
 別の方法としては、numObjs個以下のクラスタ数で、クラスタ内の画素値分散値の最大値が別途定められた閾値より小さくなる最小のクラスタ数で分割して、クラスタごとの平均値や中央値を被写体画素値に設定し、numObjs個に不足する分は適当に被写体画素値を設定する方法がある。
 例えば、第1の参照画素と第2の参照画素が異なる場合には、第1の参照画素を用いて求めたnumObjsが、第2の参照画素を分割するのに最適なクラスタ数でない可能性がある。そのため、このように第2の参照画素に対して、再度最適なクラスタを求めることで、より適切な被写体画素値を設定することが可能となる。
 また、例えばnumObjsが2の場合における計算量が軽量な被写体画素値の決定方法としては、第2の参照画素の全画素の画素値の平均値を求め、その平均値より小さい画素値を持つ第2の参照画素の平均値または中央値と、その平均値以上の画素値を持つ第2の参照画素の平均値または中央値とを被写体画素値としても良い。
 被写体画素値が得られたら、次に、被写体マップ生成部105でブロックblkに対して被写体マップを生成する(ステップS105)。
 ここで、被写体マップとは、ブロックblkの各画素に対して、被写体識別子を割り当てたものであり、例えば図5のような2次元情報である。
 各画素に対して被写体識別子を割り当てる方法としては、各画素に対して、その画素値に最も近い被写体画素値を持つ被写体識別子を割り当てる方法がある。
 別の方法としては、ブロックblk内の画素に対して、前述のようなクラスタリングを行い、各クラスタを代表する画素値を決定し、その値に最も近い被写体画素値を持つ被写体識別子を、そのクラスタに属する全ての画素に対して設定する方法がある。その際、クラスタ数は、numObjsとしてもかまわないし、numObjs以下としてもかまわないし、任意の数により最適なクラスタを求めてもかまわない。
 さらに別の方法としては、複数の被写体マップ候補を生成し、被写体マップ候補ごとに、その被写体マップ候補を用いて符号化を行った際の符号量と歪み量との重み付き和で与えられるレート歪みコストを計算し、その値が最小となるものを被写体マップとして設定する方法がある。
 可能性のある全ての被写体マップを被写体マップ候補にしてもかまわないし、限定した幾つかの特徴的な被写体マップのみを被写体マップ候補にしてもかまわない。
 特徴的な被写体マップとしては、各画素に対して、その画素値に最も近い被写体画素値を持つ被写体識別子を割り当てて生成した被写体マップや、全ての画素が同じ被写体識別子となるような被写体マップ、水平や垂直に2分割された被写体マップなどがある。
 次に、生成された被写体マップを、被写体マップ符号化部106で符号化する(ステップS106)。
 符号化にはどのような方法を用いてもかまわない。例えば、被写体数に応じて各被写体識別子に固定長または可変長の符号を割り当て、ラスタースキャンやジグザグスキャンなどを用いて2次元のマップ情報を1次元のバイナリデータへ変換することで符号化してもかまわない。
 別の方法としては、予め定められた順序にスキャンしながらブロックblk内の各画素に対する被写体識別子を符号化する際に、各画素に対して周囲の既に符号化済みの画素群を第3の参照画素に設定し、その第3の参照画素に対する被写体識別子に応じて、確率テーブルを変化させながら算術符号化する方法がある。
 符号化対象の画素との位置関係で第3の参照画素となる画素群を決定する場合、該当する位置の画素が画面外であったり、被写体マップを用いないH.264のイントラ予測などで予測符号化されていたりすることがある。
 そのような画素に対しては予め定められた被写体識別子を割り当てるか、不明のラベルを割り当てて確率テーブルを別途定義してもかまわない。
 例えば、被写体数が2の際に、図6Aのように符号化対象画素xに対して、3つの画素a、b、cを第3の参照画素として定義し、不明のラベル(図6B中のN)も用いる場合には、図6Bのように、全部で27通りの確率テーブルを用いて符号化することになる。
 この確率テーブルは復号側で同じものが得られる限りは、固定のものであっても、それまでの符号化履歴に応じて更新を行う可変の確率テーブルであってもかまわない。
 一般に同じ被写体は連続して出現するため、このように(周辺画素による)周辺の状況を用いることで、符号化対象シンボルの発生確率をより高精度に表現することが可能となり、算術符号化における符号化効率を向上させることが可能となる。
 なお、上記の例では隣接する3つの画素を第3の参照画素として設定したが、より多くの周辺画素の情報を用いることで、発生確率をより高精度に予測することが可能となる。
 さらに別の方法として、被写体マップを木構造の情報に変換してから符号化する方法がある。具体的には、ブロックblkをルートとして、各ノードの子ノードには、親ノード(ルート)のブロックを分割した複数のサブブロックを対応させた木構造を用いる。このような木構造を用いることで、まとまって存在する単一被写体の画素集合を効率よく表現することが可能となり、符号化効率を向上させることが可能となる。
 木構造としては、任意の定義のものを用いることが可能である。
 例えば、各ノードに対して、そのノードに対応するブロック内の全ての画素の被写体識別子が同じか否かを表すバイナリ情報を付加し、子ノードとして、被写体識別子が全て同じ場合にはその被写体識別子の番号を持つリーフ、被写体識別子が全て同じではない場合には自身のブロックを4分割して生成したサブブロックに対応する4つのノードを定義して木構造の情報を生成することができる。
 なお、対応するブロックが1画素になった場合には、全ての画素の被写体識別子が同じか否かを表すバイナリ情報のノードを省略することができる。
 図5の被写体マップに対して、以上の方法により生成した木構造を図7に示す。
 図7では、各ノードに対して、そのノードに対応するブロック内の全ての画素の被写体識別子が同じである場合にはバイナリ情報の「1」、そうでない場合はバイナリ情報の「0」を付加している。
 別の定義としては、各ノードに対して、そのノードに対応するブロック内の全ての画素の被写体識別子が同一な場合にはその被写体識別子の番号に1を足した数、そうでない場合には0を情報として付与し、情報0を付与されたノードに対してのみ、そのブロックを4分割したサブブロックに対する子ノードを定義する方法もある。
 図5の被写体マップに対して、この方法で生成した木構造が図8である。
 生成された木を符号化する際には、木を深さ優先探索、または幅優先探索してスキャンし、スキャン順に各ノードの持つ情報を符号化する。
 深さ優先探索は、探索対象となる木の最初のノードから、目的のノードが見つかるか子のないノードに行き着くまで、深く伸びていき、その後は最も近くの探索の終わっていないノードまで戻るような探索である。
 一方、幅優先探索は、深さの浅い点(頂点からたどるノードの数が少ない点)から順番に、また、左側にある頂点から順番に、というルールを持つ探索である。
 なお、リーフとリーフ以外を分けて符号化することも可能である。
 図7を木の深さ優先探索によりスキャンした結果の数列は、01001000222110221201011000011111となる。
 これをリーフとそれ以外とで分けると、リーフは0002221221201000111 、リーフ以外は0101010011011 となる。
 図8を木の深さ優先探索によりスキャンした結果の数列は、0101013332033230120111222 となる。
 数列はそのまま2値化して符号データとしてもかまわないし、隣接画素における被写体識別子の状況に応じて確率テーブルを切り替えながら算術符号化してもかまわない。
 例えば、図7のリーフ以外を符号化する場合、各ノードに対応するブロックに隣接する画素の被写体識別子を調べ、最も画素数が多い被写体識別子に対する画素数に応じて確率テーブルを切り替える方法がある。
 また、図7のリーフを符号化する場合には、各ノードに対応するブロックに隣接する画素の被写体識別子の状況に応じて確率テーブルを切り替える方法がある。
 なお、確率テーブルは復号側で同じものが得られる限りは、固定のものであっても、それまでの符号化履歴に応じて更新を行う可変の確率テーブルであってもかまわない。
 被写体マップの符号化が終了したら、次に、予測画像生成部107で、被写体マップと被写体画素値とを用いて、ブロックblkに対する予測画像を生成する(ステップS107)。
 具体的には、各画素に対して、被写体マップから得られる被写体識別子に対応する被写体画素値を割り当てることで予測画像を生成する。
 なお、上記のように作られた予測画像に対して、さらにディザを加えてもかまわない。
 被写体マップと被写体画素値を用いた予測画像では、被写体数と同じ数の画素値しか存在しないため、自然画とは異なる性質をもつ画像となる。そのため、ディザを加える(存在する画素値を組み合わせて、全体の画像中で中間の画素値を表現する)ことでより自然画に近い変化を与えることができる。
 ディザ生成には任意の方法を用いることが可能であるが、復号側で同じものを発生できるようにする必要がある。そのために付加情報が必要な場合には、その付加情報を符号化する必要がある。
 予測画像が得られたら、画像信号符号化部108で、ブロックblkに対する画像信号を予測符号化する(ステップS108)。
 符号化にはどのような方法を用いてもかまわない。MPEG-2やH.264/AVCなどの一般的な符号化では、ブロックblkの画像信号と予測画像との差分信号に対して、DCTなどの周波数変換、量子化、2値化、エントロピー符号化を順に施すことで符号化を行う。
 次に、画像信号復号部109で、符号化結果として得られた符号データと予測画像とを用いて、ブロックblkに対する画像信号を復号し、復号結果を復号画像メモリ110に蓄積する(ステップS109)。
 ここでは、符号化時に用いられた手法に対応する手法を用いて符号データを復号する。例えば、MPEG-2やH.264/AVCなどの一般的な符号化であれば、符号データに対して、エントロピー復号、逆2値化、逆量子化、IDCTなどの周波数逆変換を順に施し、得られた2次元信号に対して予測信号を加え、最後に画素値の値域でクリッピングを行うことで画像信号を復号する。
 復号して得られた画像信号は、他のブロックを符号化する際に、被写体数や被写体画素値を生成または予測するために用いられる。
 最後に、多重化部111で、被写体マップの符号データと、画像信号の符号データとを多重化して出力する(ステップS110)。
 なお、ここではブロックごとに多重化しているが、フレーム単位で多重化してもかまわない。ただし、その場合には復号側で1フレーム分の符号データをバッファリングしてから復号する必要が生じる。
 なお、第1実施形態では、被写体数と被写体画素値の両方をブロックblkの周辺画素の画素値を分析して設定しているが、どちらか一方のみをブロックblkの周辺画素の画素値を分析して設定してもかまわない。
 その場合、設定されなかった方の情報は、ブロックblkの画素値を分析して設定し、設定された情報を符号化し、その符号データを被写体マップの符号データと画像信号の符号データと共に多重化して出力することになる。
 図9に、ブロックblkの周辺画素の画素値を分析して被写体数のみを設定し、被写体画素値を符号化する場合の画像符号化装置のブロック図を示す。
 図9に示す画像符号化装置100′が、図1に示す画像符号化装置100と違う点は、被写体画素値設定部104が設定した各被写体の被写体画素値を符号化する被写体画素値符号化部112を有し、被写体画素値符号化部112が符号化した被写体画素値の符号データを、付加情報として多重化部111で多重化することである。他の構成は、図1に示した画像符号化装置100と同様である。
 〔第2実施形態:画像符号化装置〕
 次に、本発明の第2実施形態について説明する。
 図10は本発明の第2実施形態による画像符号化装置の構成例を示すブロック図である。
 画像符号化装置200は、図10に示すように、符号化対象フレーム入力部201、符号化対象フレームメモリ202、被写体数設定部203、被写体画素値設定部204、被写体マップ生成部205、被写体数予測部206、被写体数符号化部207、被写体マップ符号化部208、被写体画素値予測部209、被写体画素値符号化部210、予測画像生成部211、画像信号符号化部212、画像信号復号部213、復号画像メモリ214、および多重化部215を備えている。
 符号化対象フレーム入力部201は、符号化対象となる画像フレームを入力する。
 符号化対象フレームメモリ202は、入力された符号化対象フレームを蓄積する。
 被写体数設定部203は、予め定められた大きさの処理領域に含まれる被写体数を設定する。
 被写体画素値設定部204は、処理領域に与えられた数の被写体が存在すると仮定して、処理領域に対する入力フレームの画素値を用いて、被写体ごとに被写体を代表する画素値を設定する。この処理領域の被写体ごとに生成された被写体を代表する画素値を被写体画素値と呼ぶ。
 被写体マップ生成部205は、処理領域内の各画素に撮影されている被写体を識別する情報を表す被写体マップを生成する。
 被写体数予測部206は、処理領域に含まれる被写体数の予測値を設定する。この被写体数の予測値を予測被写体数と呼ぶ。
 被写体数符号化部207は、予測被写体数を用いて被写体数を符号化する。
 被写体マップ符号化部208は、被写体マップを符号化する。
 被写体画素値予測部209は、処理領域に与えられた数の被写体が存在すると仮定して、処理領域の周辺の復号画像を用いて、被写体画素値の予測値を設定する。この被写体画素値の予測値を予測被写体画素値と呼ぶ。
 被写体画素値符号化部210は、予測被写体画素値を用いて被写体画素値を符号化する。
 予測画像生成部211は、処理領域に対して生成された被写体画素値と被写体マップから、処理領域に対する予測画像を生成する。
 画像信号符号化部212は、処理領域ごとに予測画像を用いて符号化対象フレームの画像信号を符号化する。
 画像信号復号部213は、処理領域ごとに予測画像を用いて符号化対象フレームの画像信号の符号データを復号する。
 復号画像メモリ214は、復号された画像信号を蓄積する。
 多重化部215は、被写体数の符号データと、被写体マップの符号データと、被写体画素値の符号データと、符号化対象フレームの画像信号の符号データを多重化して出力する。
 図11は、第2実施形態による画像符号化装置200の動作を説明するためのフローチャートである。このフローチャートに従って、画像符号化装置200の実行する処理について詳細に説明する。
 まず、符号化対象フレーム入力部201により、符号化対象フレームを入力し、符号化対象フレームメモリ202に格納する(ステップS201)。
 符号化対象フレームの格納が終了したら、符号化対象フレームを分割し、その領域ごとに、符号化対象フレームの画像信号を符号化する(ステップS202~S216)。
 つまり、符号化対象ブロックインデックスをblk、総符号化対象ブロック数をnumBlksで表すとすると、blkを0で初期化し(ステップS202)、その後、blkに1を加算しながら(ステップS215)、blkがnumBlksになるまで(ステップS216)、以下の処理(ステップS203~S214)を繰り返す。
 符号化対象ブロックごとに繰り返される処理では、まず、被写体数設定部203で、ブロックblkに含まれる被写体の数numObjsを設定する(ステップS203)。被写体数は復号側と同じ処理であれば、どのような処理を用いて決定してもかまわない。
 例えば、符号化対象ブロックの画素値に従って被写体数を設定する方法がある。
 具体的には、符号化対象ブロックの画素に対してk-means法やAffinity Propagationなどのクラスタリング手法を用いて、各クラスタ内の画素値分散が予め定められた値以下になるクラスタリング結果のうち、最小のクラスタ数を被写体数にする方法がある。クラスタリングに用いる尺度としては、画素値のみを用いてもかまわないし、画素値と画素位置とからなる値を用いてもかまわない。
 別の方法としては、被写体数の候補ごとに、その被写体数を設定して符号化した場合の符号量と歪み量との重み付き和で与えられるレート歪みコストを計算し、そのコストが最小になる被写体数を設定する方法がある。
 また、被写体数が大きくなると符号化効率が低下する場合があるため、被写体数の最大値を予め定めておき、被写体数が一定値以上になるのを防いでもかまわない。
 被写体数の設定が終了したら、次に、被写体数予測部206で、復号画像メモリ214に蓄積されているブロックblkの周辺画素群に対する画像信号を用いて、ブロックblkの予測被写体数を生成する(ステップS204)。
 ここで使用される復号画像メモリ214に蓄積されているブロックblkの周辺画素の集合を第1の参照画素と呼ぶ。
 ここでの処理は、求められた値が予測被写体数となる以外は、第1実施形態におけるステップS103で被写体数を設定する処理と同じであり、第1の参照画素の選び方や第1の参照画素に対する画素値から予測被写体数を設定する方法には、復号側と同じ処理であれば、どのような方法を用いてもかまわない。
 予測被写体数が求まったら、被写体数予測部206で、予測被写体数を用いて被写体数を予測符号化する(ステップS205)。つまり、被写体数と予測被写体数の差分値を符号化する。
 符号化にはどのような手法を用いてもかまわない。例えば、符号テーブルを用意しておき、差分値に該当する符号語を出力する形で符号化を行ってもかまわない。
 一般に、被写体はある程度の大きさを持ち、空間的に連続して存在していると考えられるため、ある領域における被写体数は、周辺の領域における被写体数と高い相関があるといえる。そのため、周辺の領域における被写体数を予測値として、ある領域における被写体数を符号化することで、被写体数を少ない符号量で符号化することが可能となる。
 なお、前述のような符号テーブルを用意する場合には、0付近の符号長を短く設定することで相関を利用した効率的な符号化を実現することができる。
 次に、被写体画素値設定部204で、ブロックblk内の被写体ごとに、被写体を代表する画素値を設定する(ステップS206)。
 以下では、この被写体を代表する画素値を被写体画素値と呼び、Value(i)と表す。ここで、iは被写体を識別するための被写体識別子とし、0以上numObjs未満の整数である。また、被写体識別子は予め定められた規則に従って割り当てる。ここでは、被写体画素値が小さい順に割り当てられているとする。
 被写体ごとに1つの画素値を設定する方法には、どのような方法を用いてもかまわない。例えば、ブロックblkの画素を前述のようなクラスタリング手法を用いて、numObjs個のクラスタに分割し、各クラスタに含まれる画素の画素値の平均値や中央値を、被写体画素値とする方法がある。
 なお、被写体数を設定する際に、ブロックblkの画素をクラスタリングしている場合には、被写体数の設定と同時に被写体画素値を設定してもかまわない。
 被写体画素値が得られたら、次に、被写体画素値予測部209で、復号画像メモリ214に蓄積されているブロックblkの周辺画素群に対する画像信号を用いて、numObjs個の予測被写体画素値を生成する(ステップS207)。
 以下では、予測被写体画素値をPredValue(j)と表す。インデックス値jは予測被写体画素値に対して、被写体識別子を被写体画素値に割り当てた規則と同じ規則に従って割り当てられているものとする。つまり、被写体画素値が小さい順に被写体識別子が割り当てられている場合、予測被写体画素値が小さい順にインデックス値が割り当てられているとする。
 また、ここで使われる復号画像メモリ214に蓄積されているブロックblkの周辺画素の集合を第2の参照画素と呼ぶ。ここでの処理は、求められた値が予測被写体画素値となる以外は、第1実施形態におけるステップS103で被写体画素値を決定する処理と同じであり、第2の参照画素の選び方や第2の参照画素に対する画素値から予測被写体画素値を設定する方法には、復号側と同じ処理であれば、どのような方法を用いてもかまわない。
 予測被写体画素値が求まったら、被写体画素値符号化部210で、予測被写体画素値を用いて被写体画素値を予測符号化する(ステップS208)。
 符号化にはどのような手法を用いてもかまわない。例えば、ある被写体識別子に対応する被写体画素値を符号化する場合に、同じ値をインデックス値に持つ予測被写体画素値との差分値を、符号テーブルを参照して符号化してもかまわない。
 また、差分値をそのまま符号化するのではなく、差分値を別途与えられた量子化パラメータに従って量子化した結果の値を符号化してもかまわない。この場合、量子化パラメータが別途符号化される必要があるが、別の場所で用いた量子化パラメータを流用する場合には、ここで改めて符号化する必要はない。
 別の方法として、予測被写体画素値だけでなく、ブロックblkで先に符号化した被写体画素値を用いて予測符号化する方法がある。以下、被写体画素値の小さい順に符号化する場合を例に挙げて説明する。なお、被写体識別子iやインデックス値jは被写体画素値や予測被写体画素値が小さい順に付与されているものとする。
 まず、被写体識別子が0の被写体画素値を、予測値がインデックス値0の予測被写体画素値として予測符号化する。つまり、Value(0)―PredValue(0)の値を符号化する。
 次に、それを復号して復号被写体画素値DecValue(0)を得る。なお、前記の予測差分を量子化して符号化するなど、歪みありで符号化する場合には、DecValueとValueとが一致しないことがあるが、予測差分を歪みなしで符号化する場合、DecValueとValueは完全に一致するため、復号処理を行う必要はない。
 次に、被写体識別子がkの被写体画素値をkが小さい順に符号化する。なお、kは1以上numObjs未満の整数である。
 被写体識別子kの被写体画素値の符号化では、最初にDecValue(k-1)との差が予め定められた閾値以上になる最小の予測被写体画素値のインデックス値を求めj(k)とする。ここでj(0)=0とすると、j(k)が求まる場合は、j(k)はj(k-1)以上numObjs未満の整数となる(ただし、kは1以上numObjs未満の整数)。
 j(k)が求まったら、PredValue(j(k))を予測値として、Value(k)を予測符号化する。
 なお、j(k)が求まらなかった場合には、DecValue(k-1)とPredValue(numObjs-1)の大きいほうを予測値として、Value(k)を予測符号化する。このとき、Value(k-1)とPredValue(numObjs-1)の大きいほうと、画素値の最大値(8ビットで表現される場合には255)との中間値に最も近い整数を予測値とする方法もある。
 符号データは、次の被写体画素値を符号化する前に復号され、DecValue(k)が計算される。
 一般に、被写体はある程度の大きさを持ち、空間的に連続して存在しており、画素値は被写体に大きく依存するため、ある領域における被写体画素値は、周辺の領域における被写体画素値と高い相関があるといえる。そのため、周辺の領域における被写体画素値を予測値として、ある領域における被写体画素値を符号化することで、被写体画素値を少ない符号量で符号化することが可能となる。
 被写体画素値の符号化が終了したら、次に、被写体マップ生成部205でブロックblkに対して被写体マップを生成する(ステップS209)。ここでの処理は第1実施形態のステップS105と同じである。
 なお、被写体画素値の符号化において量子化などを用いた歪みあり符号化が行われた場合には、符号化された被写体画素値を復号して得られる復号被写体画素値を、被写体画素値の代わりに用いる。すなわち、歪みあり符号化が行われた被写体画素値を用いる場合は、被写体画素値符号化部の出力を別途設ける被写体画素値復号部などに入力し、その出力が被写体マップ生成部や、後述する予測画像生成部に入力されるようにする。
 生成された被写体マップは、次に、被写体マップ符号化部208で符号化する(ステップS210)。ここでの処理は第1実施形態のステップS106と同じであり、符号化にはどのような方法を用いてもかまわない。
 次に、予測画像生成部211で、被写体マップと被写体画素値とを用いて、ブロックblkに対する予測画像を生成する(ステップS211)。ここでの処理は第1実施形態のステップS107と同じである。
 なお、被写体画素値の符号化において量子化などを用いた歪みあり符号化が行われた場合には、符号化された被写体画素値を復号して得られる復号被写体画素値を、被写体画素値の代わりに用いる。
 予測画像が得られたら、画像信号符号化部212で、ブロックblkに対する画像信号を予測符号化する(ステップS212)。
 ここでの処理は第1実施形態のステップS108と同じであり、符号化にはどのような方法を用いてもかまわない。
 次に、画像信号復号部213で、符号化結果として得られた符号データと予測画像とを用いて、ブロックblkに対する画像信号を復号し、復号結果を復号画像メモリ214に蓄積する(ステップS213)。
 復号して得られた画像信号は、他のブロックを符号化する際に、被写体数や被写体画素値を生成または予測するために用いられる。ここでの処理は第1実施形態のステップS109と同じであり、符号化時に用いられた手法に対応する手法を用いて符号データを復号する。
 最後に、多重化部215で、被写体数の符号データと、被写体画素値の符号データと、被写体マップの符号データと、画像信号の符号データとを多重化して出力する(ステップS214)。
 なお、ここではブロックごとに多重化しているが、フレーム単位で多重化してもかまわない。ただし、その場合には復号側で1フレーム分の符号データをバッファリングしてから復号する必要が生じる。
 第2の実施形態では、被写体画素値を被写体マップ生成前に符号化しているが、被写体マップに全ての被写体識別子が現れない場合には、被写体マップの生成後に被写体画素値を符号化するか、被写体マップの生成ごとに被写体画素値を再符号化することでさらに符号量を削減することができる。
 つまり、被写体マップに現れた被写体識別子に対する被写体画素値のみを出力する符号データに含めるようにすることで、復号に必要のない被写体画素値の符号量を削減することが可能となる。
 なお、被写体画素値の符号化において歪みあり符号化を行っていた場合には、再符号化前と後とで復号して得られる被写体画素値の値が同じになるように制御するか、再符号化した結果を用いて被写体マップを再度生成しても構わない。
 この第2の実施形態では、被写体数と被写体画素値の両方に対して、ブロックblkの周辺画素の画素値を分析して予測被写体数と予測被写体画素値を設定して予測符号化しているが、どちらか一方のみを予測符号化するようにしてもかまわない。その場合、予測符号化されなかった情報は、第1の実施形態のように符号化の必要ない情報として生成するか、予測値を生成せずにそのまま符号化してもかまわない。
 〔第3実施形態:画像復号装置)
 次に、本発明の第3実施形態について説明する。
 図12は、第3実施形態による画像復号装置の構成例を示すブロック図である。
 画像復号装置300は、図12に示すように、符号データ入力部301、符号データメモリ302、分離部303、被写体数設定部304、被写体画素値設定部305、被写体マップ復号部306、予測画像生成部307、画像信号復号部308、および復号画像メモリ309を備えている。
 符号データ入力部301は、復号対象となる画像フレームの符号データを入力する。
 符号データメモリ302は、入力された符号データを蓄積する。
 分離部303は、多重化された符号データを複数の異なる情報が符号化されている符号データへと分離する。
 被写体数設定部304は、予め定められた大きさの処理領域に含まれる被写体数を設定する。
 被写体画素値設定部305は、処理領域に与えられた数の被写体が存在すると仮定して、処理領域の周辺の復号画像を用いて、被写体ごとに被写体を代表する画素値を設定する。処理領域の被写体ごとに生成された被写体を代表する画素値を被写体画素値と呼ぶ。
 被写体マップ復号部306は、符号データから被写体マップを復号する。被写体マップとは、処理領域の各画素における被写体を識別するための情報のことである。
 予測画像生成部307は、処理領域に対して被写体画素値と被写体マップから、処理領域に対する予測画像を生成する。
 画像信号復号部308は、処理領域ごとに予測画像を用いて符号データから復号対象フレームの画像信号を復号する。
 復号画像メモリ309は、復号された画像信号を蓄積する。
 図13は、第3実施形態による画像復号装置300の動作を説明するためのフローチャートである。このフローチャートに従って、画像復号装置300の実行する処理について詳細に説明する。
 まず、符号データ入力部301により、復号対象フレームに対する符号データを入力し、符号データメモリ302に格納する(ステップS301)。
 符号データの格納が終了したら、復号対象フレームを分割し、その領域ごとに、復号対象フレームの画像信号を復号する(ステップS302~S310)。
 つまり、復号対象ブロックインデックスをblk、総復号対象ブロック数をnumBlksで表すとすると、blkを0で初期化し(ステップS302)、その後、blkに1を加算しながら(ステップS309)、blkがnumBlksになるまで(ステップS310)、以下の処理(ステップS303~S308)を繰り返す。
 復号対象ブロックごとに繰り返される処理では、まず、分離部303で、入力された符号データを複数の情報の符号データへと分離する(ステップS303)。
 第3実施形態では、複数の情報の符号データがブロック単位でインターリーブされている(ブロック毎に各情報の符号データが順番に記憶されている)例で説明しているが、フレームなど異なる単位でインターリーブされている場合には、この符号データの分離をブロック単位で繰り返す必要はない。
 次に、被写体数設定部304で、復号画像メモリ309に蓄積されているブロックblkの周辺画素群に対する画像信号を用いて、ブロックblkに含まれる被写体の数numObjsを設定する(ステップS304)。
 ここで用いた復号画像メモリ309に蓄積されているブロックblkの周辺画素の集合を第1の参照画素と呼ぶ。ここでの処理は第1実施形態のステップS103と同じであり、この第1の参照画素の選び方や第1の参照画素に対する画素値からnumObjsを設定する方法には、符号化側と同じ処理であれば、どのような方法を用いてもかまわない。
 なお、第1の参照画素の選び方としては、例えば、予め定められた位置関係に存在する画素群としてもかまわないし、フレームやブロック群などの単位ごとに選び方を示す情報が符号化されて、他の符号データと共に画像復号装置300に入力されてもかまわない。その場合には、適切なタイミングで、分離部303で分離された符号データの一部から、フレームやブロック群などの単位ごとに選び方を示す情報を復号して、復号結果を被写体数設定部304へ通知する必要がある。
 被写体数の設定が終了したら、次に、被写体画素値設定部305で、復号画像メモリ309に蓄積されているブロックblkの周辺画素群に対する画像信号を用いて、ブロックblk内の被写体ごとに、被写体を代表する画素値を設定する(ステップS305)。
 以下では、この被写体を代表する画素値を被写体画素値と呼び、Value(i)と表す。ここで、iは被写体を識別するための被写体識別子とし、0以上numObjs未満の整数である。被写体識別子は予め定められた規則に従って割り当てる。ここでは、被写体画素値が小さい順に割り当てられているとする。
 また、ここで使われる復号画像メモリ309に蓄積されているブロックblkの周辺画素の集合を第2の参照画素と呼ぶ。ここでの処理は第1実施形態のステップS104の処理と同じであり、第2の参照画素の選び方や第2の参照画素に対する画素値を用いて被写体画素値を決定する方法には、符号化側と同じ処理であれば、どのような方法を用いてもかまわない。
 次に、被写体マップ復号部306で、分離された符号データから被写体マップを復号する(ステップS306)。被写体マップの復号は、符号化時に用いられた方法に応じて異なる。
 例えば、被写体数に応じて各被写体識別子に固定長または可変長の符号を割り当てて、ラスタースキャンやジグザグスキャンなどを用いて2次元のマップ情報を1次元のバイナリデータへ変換することで符号化が行われている場合がある。
 その場合には、符号データとして与えられた1次元のバイナリデータを順に走査し、対応する被写体識別子が見つかるごとに、ラスタースキャンやジグザグスキャンなど、符号化時と同じ順に、画素ごとに被写体識別子を割り当てていくことで復号を行う。
 別の方法として、予め定められた順序にスキャンしながらブロックblk内の各画素に対する被写体識別子を符号化する際に、各画素に対して周囲の既に符号化済みの画素を参照画素に設定し、その参照画素における被写体識別子に応じて、確率テーブルを変化させながら算術符号化を行っている場合がある。
 そのような場合には、使用されたスキャン順と同様の順に画素ごとに、周囲の既に復号済みの画素を参照画素に設定し、その画素における被写体識別子に応じて、確率テーブルを変化させながら算術復号を行う。
 確率テーブルの数や初期値、更新方法、設定方法は符号化時と同じ手法を用いることで正しく復号を行うことが可能である。
 さらに別の方法として、木構造のデータを用いて被写体マップが符号化されている場合がある。その場合も符号化時の方法に応じた方法を用いることで符号データから被写体マップを復号することが可能である。
 与えられた符号データから木構造のデータを介して、被写体マップを復号する処理では、まず、符号データのバイナリ列から木構造のデータをあらわす数列を復号する。バイナリ列から木構造データ数列の復号には、符号化時に用いられた方法に応じた方法を用いる必要がある。
 例えば、可変確率テーブルを用いた算術符号化が行われている場合には、符号化時と同じ方法で確率テーブルを更新しながら符号データから非圧縮のバイナリ列を復号する。非圧縮のバイナリ列は、符号化時に用いたものと同じ固定長または可変長のテーブルを参照して逆変換を行い、符号化前の数列を復号する。
 木構造データを表す数列が復号できたら、その数列を解読して木構造のデータを構築する。ここでは、符号化時に木構造から数列を生成したのと逆の変換を行う必要がある。
 なお、木構造の定義も符号化側と共有している必要がある。例えば、ブロックblkをルートとして、各ノードは0~numObjsの数字を持ち、0が割り当てられているノードは4つの子ノードを持つ木構造が定義され、木を深さ優先探索でスキャンして数列を生成している場合、数列0100133332033231020232222 が与えられた場合には、図14のような木が復元されることになる。
 木構造データが得られたら、そこから被写体マップを復元する。この復元には、符号化側と木構造の定義を共有している必要があり、その定義を用いて復元を行う。
 例えば、木のルートはブロックblk全体を現し、子ノードは親ノードを縦横2等分してできる4つのサブブロック(ラスタースキャン順)に対応しており、各ノードに割り当てられた0以外の数字から1を引いた数が、対応するブロックに含まれる全ての画素の被写体識別子を示している場合、図14の木からは図15の被写体マップを復号することが可能である。
 なお、ここで示した木構造や数列の定義などは一例であり、符号化側と定義を共有することが可能であればどのような方法を用いてもかまわない。
 被写体マップの復号が終了したら、次に、予測画像生成部307で、ブロックblkに対する予測画像を生成する(ステップS307)。ここでの処理は第1実施形態のステップS107と同じである。
 なお、上記のように作られた予測画像に対して、さらにディザを加えてもかまわない。
 被写体マップと被写体画素値を用いた予測画像では、被写体数と同じ数の画素値しか存在しないため、自然画とは異なる性質をもつ画像となる。そのため、ディザを加えることでより自然画に近い変化を与えることができる。
 ディザ生成には任意の方法を用いることが可能であるが、ディザを加えるか否かを含めて、符号化側と同じ手法を用いる必要がある。なお、符号データにディザ生成装置の初期化等に必要な付加情報が含まれている場合には、それを復号して用いる。
 予測画像が得られたら、画像信号復号部308で、ブロックblkに対する画像信号を復号し、復号結果の画像信号を出力すると共に復号画像メモリ309に蓄積する(ステップS308)。
 画像信号の復号は、符号化時に用いられた方法に応じて異なる。例えば、MPEG-2やH.264/AVCなどの一般的な符号化が用いられている場合には、符号データに対して、エントロピー復号、逆2値化、逆量子化、IDCTなどの周波数逆変換を行うことで予測残差を復号し、その結果に予測画像を加えることでブロックblkの画像信号を復元する。
 復号して得られた画像信号は、他のブロックを復号する際に、被写体数や被写体画素値を生成または予測するために用いられる。
 なお、第3実施形態では、被写体数と被写体画素値の両方をブロックblkの周辺画素の画素値を分析して設定しているが、どちらか一方のみをブロックblkの周辺画素の画素値を分析して設定してもかまわない。その場合、設定されなかったほうの情報は、符号データの一部として符号化されて入力されるとする。つまり、分離部303によって、設定されなかったほうのデータに対する符号データを分離し、それを復号することで必要な情報を設定する。
 図16に、ブロックblkの周辺画素の画素値を分析して被写体数のみを設定し、被写体画素値を符号データから復号して設定する場合の画像復号装置のブロック図を示す。
 図16に示す画像復号装置300′が、図12に示す画像復号装置300と違う点は、被写体画素値設定部305の代わりに、被写体画素値復号部310を有し、被写体画素値復号部310は、分離部303で分離した被写体画素値の符号データから、各被写体の被写体画素値を復号することである。他の構成は、図12に示した画像復号装置300と同様である。   
 〔第4実施形態:画像復号装置〕
 次に、本発明の第4実施形態について説明する。
 図17は、第4実施形態による画像復号装置の構成例を示すブロック図である。
 画像復号装置400は、図17に示すように、符号データ入力部401、符号データメモリ402、分離部403、被写体数予測部404、被写体数復号部405、被写体マップ復号部406、被写体画素値予測部407、被写体画素値復号部408、予測画像生成部409、画像信号復号部410、および復号画像メモリ411を備えている。
 符号データ入力部401は、復号対象となる画像フレームの符号データを入力する。
 符号データメモリ402は、入力された符号データを蓄積する。
 分離部403は、多重化された符号データを複数の異なる情報が符号化されている符号データへと分離する。
 被写体数予測部404は、予め定められた大きさの処理領域に含まれる被写体数の予測値を設定する。この被写体数の予測値を予測被写体数と呼ぶ。
 被写体数復号部405は、処理領域ごとに予測被写体数を用いて符号データから処理領域に含まれる被写体数を復号する。
 被写体マップ復号部406は、符号データから被写体マップを復号する。被写体マップとは、処理領域の各画素における被写体を識別するための情報のことである。
 被写体画素値予測部407は、処理領域に与えられた数の被写体が存在すると仮定して、処理領域の周辺の復号画像を用いて、被写体画素値の予測値を設定する。この被写体画素値の予測値を予測被写体画素値と呼ぶ。
 被写体画素値復号部408は、処理領域ごとに予測被写体画素値を用いて符号データから被写体画素値を復号する。
 予測画像生成部409は、処理領域に対して被写体画素値と被写体マップから、処理領域に対する予測画像を生成する。
 画像信号復号部410は、処理領域ごとに予測画像を用いて符号データから復号対象フレームの画像信号を復号する。
 復号画像メモリ411は、復号された画像信号を蓄積する。
 図18は、第4実施形態による画像復号装置400の動作を説明するためのフローチャートである。このフローチャートに従って、画像復号装置400の実行する処理について詳細に説明する。
 まず、符号データ入力部401により、復号対象フレームに対する符号データを入力し、符号データメモリ402に格納する(ステップS401)。
 符号データの格納が終了したら、復号対象フレームを分割し、その領域ごとに、復号対象フレームの画像信号を復号する(ステップS402~S412)。
 つまり、復号対象ブロックインデックスをblk、総復号対象ブロック数をnumBlksで表すとすると、blkを0で初期化し(ステップS402)、その後、blkに1を加算しながら(ステップS411)、blkがnumBlksになるまで(ステップS412)、以下の処理(ステップS403~S410)を繰り返す。
 復号対象ブロックごとに繰り返される処理では、まず、分離部403で、入力された符号データを複数の情報の符号データへと分離する(ステップS403)。
 第4実施形態では、複数の情報の符号データがブロック単位でインターリーブされている例で説明しているが、フレームなど異なる単位でインターリーブされている場合には、この符号データの分離をブロック単位で繰り返す必要はない。
 次に、被写体数予測部404で、復号画像メモリ411に蓄積されているブロックblkの周辺画素群に対する画像信号を用いて、ブロックblkに対する予測被写体数を生成する(ステップS404)。
 ここで用いた復号画像メモリ411に蓄積されているブロックblkの周辺画素の集合を第1の参照画素と呼ぶ。ここでの処理は第2実施形態のステップS204と同じであり、この第1の参照画素の選び方や第1の参照画素に対する画素値から予測被写体数を設定する方法には、符号化側と同じ処理であれば、どのような方法を用いてもかまわない。
 予測被写体数の生成が終了したら、次に、被写体数復号部405で、符号データから予測被写体数を用いて被写体数を復号する(ステップS405)。
 ここで用いる復号の方法は、符号化時に用いられた方法に応じて異なる。例えば、符号データが被写体数と予測被写体数の差分値の値に対するある符号テーブル上の符号語である場合、同じ符号テーブルを使い、符号データに該当する符号語を持つ差分値を見つけ、その値に予測被写体数を加えることで被写体数を復号する。
 次に、被写体マップ復号部406で、分離された符号データから被写体マップを復号する(ステップS406)。
 被写体マップの復号は、符号化時に用いられた方法に応じて異なる。なお、ここでの処理は第3実施形態のステップS306の処理と同じである。
 次に、被写体画素値予測部407で、復号画像メモリ411に蓄積されているブロックblkの周辺画素群に対する画像信号を用いて、被写体数と同じ数の予測被写体画素値を生成する(ステップS407)。また、ここで使われる復号画像メモリ411に蓄積されているブロックblkの周辺画素の集合を第2の参照画素と呼ぶ。
 ここでの処理は、第2実施形態におけるステップS207の処理と同じであり、第2の参照画素の選び方や第2の参照画素に対する画素値から予測被写体画素値を設定する方法には、符号化側と同じ処理であれば、どのような方法を用いてもかまわない。
 予測被写体画素値の生成が終了したら、次に、被写体画素値復号部408で、符号データから予測被写体画素値を用いて被写体画素値を復号する(ステップS408)。
 ここで用いる復号の方法は、符号化時に用いられた方法に応じて異なる。以下、いくつか例を挙げるが、どの手法を用いて符号化されているかは、復号側では既知であるか、または何らかの付加情報を用いて通知される。
 例えば、被写体画素値と予測被写体画素値をそれぞれ小さな順に並べてペアを作り、それぞれのペアにおいて被写体画素値から予測被写体画素値を引いた差分値を計算し、その差分値に対応するある符号テーブル上の符号語を用いて符号データが作られていた場合には、同じ符号テーブルを用いて、符号データに該当する符号語を持つ差分値を見つけ、その差分値に予測被写体画素値を加えることで被写体画素値を順に復号する。
 また、差分値がそのまま符号化されておらず、差分値が量子化して符号化されていた場合には、逆量子化した後に予測被写体画素値を加えて復号処理を行う。
 なお、量子化パラメータが符号化されている場合には、それを先に復号しておく必要がある。別の場所で用いた量子化パラメータを流用する場合には、そのパラメータ値を、先に被写体画素値復号部408へ通知しておく必要がある。
 また、別の方法として、予測被写体画素値だけでなく、ブロックblkで先に符号化した被写体画素値を用いて予測符号化される方法が用いられていることがある。その場合には、符号化側で行った手順と同様の方法で予測符号化する際の予測値を生成して、符号データから得られる差分値に加えることで、被写体画素値を復号する必要がある。
 さらに別の例として、被写体マップに1度も現れない被写体識別子に対する被写体画素値を符号化していない場合もある。そのときは、被写体画素値を順に復号していく際に、被写体マップに1度も現れていない被写体識別子に対する被写体画素値を復号する順番になった際に、適当な値を割り当てるなどして、復号をスキップする必要がある。
 被写体画素値の復号が終了したら、次に、予測画像生成部409で、ブロックblkに対する予測画像を生成する(ステップS409)。ここでの処理は、第2実施形態のステップS211と同じである。
 なお、上記のように作られた予測画像に対して、さらにディザを加えてもかまわない。被写体マップと被写体画素値を用いた予測画像では、被写体数と同じ数の画素値しか存在しないため、自然画とは異なる性質をもつ画像となる。そのため、ディザを加えることでより自然画に近い変化を与えることができる。ディザ生成には任意の方法を用いることが可能であるが、ディザを加えるか否かを含めて、符号化側と同じ手法を用いる必要がある。なお、符号データにディザ生成装置の初期化等に必要な付加情報が含まれている場合には、それを復号して用いる。
 予測画像が得られたら、画像信号復号部410で、ブロックblkに対する画像信号を復号し、復号結果の画像信号を出力すると共に復号画像メモリ411に蓄積する(ステップS410)。
 復号して得られた画像信号は、他のブロックを復号する際に、被写体数や被写体画素値を生成または予測するために用いられる。
 画像信号の復号は、符号化時に用いられた方法に応じて異なる。例えば、MPEG-2やH.264/AVCなどの一般的な符号化が用いられている場合には、符号データに対して、エントロピー復号、逆2値化、逆量子化、IDCTなどの周波数逆変換を行うことで予測残差を復号し、その結果に予測画像を加えることでブロックblkの画像信号を復元する。
 第4の実施形態では、被写体数と被写体画素値の両方に対して、ブロックblkの周辺画素の画素値を分析して予測被写体数と予測被写体画素値を設定して復号しているが、どちらか一方のみをブロックblkの周辺画素の画素値を分析して設定した予測値を用いて復号し、予測値が設定されなかったほうの情報は、第3実施形態と同様に、予測値を用いずに符号データから直接その情報を復号するようにしてもかまわない。
 図19に、上述した第1実施形態で生成される符号データおよび第3実施形態で入力される符号データのブロックごとのシンタックスの一例を示す。
 ここで、mb_typeは予測モードを示す情報であり、H.264/AVCなどのイントラ予測などが混在する場合に、本発明によって符号化されたブロックであるかどうかを判別するための情報である。
 この例では、mb_typeが MAP_BASED _PREDと等しい場合に、本発明によって符号化されたブロックであることを示す。なお、もし全てのブロックで本発明を適用する場合、シンタックスmb_typeとその次の条件分岐も必要ない。
 また、map _objectは被写体マップ、residuals は画像信号の予測残差を表している。
 この例では、residuals をifブロックの中に入れているが、予測モードによらず残差信号を符号化する場合には、ifブロックの外に出してもかまわない。
 図20に、上述した第2実施形態で生成される符号データおよび第4実施形態で入力される符号データのブロックごとのシンタックスの一例を示す。
 ここで、diff_num _objects は被写体数の予測残差、num _objects は被写体数、exist(i, j) は被写体マップj内に被写体識別子iが存在する場合にTRUE、そうでない場合にFALSEを返す関数、residual_value _object[i]は被写体識別子がiの被写体画素値の予測残差を表している。
 この例では、residuals をifブロックの外に出しているが、予測モードによっては残差信号を符号化しない場合には、ifブロックの内に入れる必要がある。
 次に、本実施形態において、被写体数、被写体マップ、被写体画素値を管理するためのデータ構造の例を説明する。
 図21A、21Bは、予測画像の生成に用いる付加情報のデータ構造の例を示す図である。被写体画素値を用いた予測符号化では、例えば図21Aに示すような、付加情報をメモリ内で管理する。
 この付加情報として、被写体数と、被写体マップと、各被写体識別子の被写体画素値が設定される。
 被写体数Nは整数である。被写体マップは、ブロック内の画素数と同じ長さの1~Nの整数列である。被写体画素値は、予測なしの場合、符号なし整数であり、予測ありの場合、符号付き整数(負の数を考慮)である。
 図21Bは、付加情報の具体例を示している。被写体数は4であるが、被写体マップには被写体識別子が2の画素が一つも存在しない。そのため、被写体識別子2に対応する被写体画素値のデータは省かれている。
 なお、被写体マップを木構造で表現した木構造被写体マップとして保持してもよい。木構造被写体マップは、可変長の整数列であり、例えば、図8の木構造被写体マップの場合、0101013332033230120111222 の整数列となる。
 また、被写体マップをブロック分割情報とブロック内被写体識別子情報とに分けて管理してもよい。ブロック分割情報は、木構造被写体マップを用いた際のリーフ以外のノードをスキャンした結果を示し、ブロック内被写体識別子情報は、木構造被写体マップを用いた際のリーフをスキャンした結果を示す。
 例えば図7の木構造被写体マップの場合、ブロック分割情報は、0101010011011 となり、ブロック内被写体識別子情報は、0002221221201000111 となる。
 図22A、22Bは、予測付加情報のデータ構造の例を示す図である。本実施形態では、被写体数または被写体画素値を予測値を用いて符号化するため、図22Aに示すような予測付加情報を生成する。
 被写体数予測値は、整数であり、被写体画素値予測値は、入力画像と同じビット深度の符号なし整数である。
 図22Bは、その具体例を示しており、被写体数予測値は2であり、被写体識別子0、1、2の被写体画素値予測値は、それぞれ25、123、191となっている。
 以上の情報をもとに、各符号化対象ブロックについて符号化を行う。以下、各ブロックで符号化されるデータの構造の例について説明する。
 [符号化されるデータの構造の例1]
 図23A、23Bは、各ブロックで符号化されるデータの構造の例1を示す図である。この例は、第1実施形態、第3実施形態で用いられる例である。
 符号データへの付加情報として、図23Aに示すように、予測モードを示す情報mb_typeと、被写体マップと、予測残差信号とが設定される。
 図23Bに、その具体例を示す。本発明を用いた画像予測を行う場合、予測モードを示す情報mb_typeは、 MAP_BASED _PREDとなる。
 [符号化されるデータの構造の例2]
 図24A、24Bは、各ブロックで符号化されるデータの構造の例2を示す図である。この例は、被写体数のデータのみ符号化しない場合の例である。
 符号データへの付加情報として、図24Aに示すように、予測モードを示す情報mb_typeと、被写体マップと、各被写体の被写体画素値予測差分値と、予測残差信号とが設定される。被写体画素値予測差分値は、符号付き整数であり、入力画像のビット深度に1ビット加えたビット深度となる。
 図24Bに、その具体例を示す。各被写体識別子0、1、2に対して、-2、+3、+10の被写体画素値予測差分値が設定されている。
 [符号化されるデータの構造の例3]
 図25A、25Bは、各ブロックで符号化されるデータの構造の例3を示す図である。この例は、第2実施形態、第4実施形態で用いられる例である。
 符号データへの付加情報として、図25Aに示すように、予測モードを示す情報mb_typeと、被写体数予測差分値と、木構造被写体マップと、各被写体の被写体画素値予測差分値と、予測残差信号とが設定される。
 図25Bに、その具体例を示す。この例では、被写体マップが木構造で表現されている。
 [符号化されるデータの構造の例4]
 図26A、26Bは、各ブロックで符号化されるデータの構造の例4を示す図である。この例は、被写体数のデータが符号化されず、さらに使用されない被写体識別子がある場合の例である。
 符号データへの付加情報として、図26Aに示すように、予測モードを示す情報mb_typeと、ブロック分割情報およびブロック内被写体識別子情報で表現される被写体マップと、各被写体の被写体画素値予測差分値と、予測残差信号とが設定される。
 図26Bに、その具体例を示す。この例では、被写体識別子2が使用されていないので、その被写体画素値予測値が符号化されるデータから省かれている。
 上述した第1~4実施形態では、1フレーム中の全てのブロックを本発明によって符号化および復号する処理を説明したが、一部のブロックにのみ適用し、その他のブロックでは、H.264/AVCなどで用いられる画面内予測符号化や動き補償予測符号化などを用いて符号化を行ってもかまわない。
 その場合にはブロックごとにどの方法を用いて符号化したかを示す情報を符号化および復号する必要がある。
 上述した第1~第4実施形態では、1フレームを符号化および復号する処理を説明したが、複数フレーム繰り返すことで動画像符号化にも適用することができる。また、動画像の一部のフレームや一部のブロックにのみ適用することもできる。
 その場合、被写体の存在には空間的だけでなく時間的な連続性があることから、周辺の画素を空間方向だけでなく時間方向にも拡張して用いることは容易に類推可能である。
 以上説明した画像符号化および画像復号の処理は、コンピュータとソフトウェアプログラムとによっても実現することができ、そのプログラムをコンピュータ読み取り可能な記録媒体に記録して提供することも、ネットワークを通して提供することも可能である。
  図27に、画像符号化装置をコンピュータとソフトウェアプログラムとによって構成する場合のハードウェア構成例を示す。本システムは、
・プログラムを実行するCPU50
・CPU50がアクセスするプログラムやデータが格納されるRAM等のメモリ51
・カメラ等からの符号化対象の画像信号を入力する符号化対象フレーム入力部52(ディスク装置等による画像信号を記憶する記憶部でもよい)
・図1および図2等で説明した処理をCPU50に実行させるソフトウェアプログラムである画像符号化プログラム531が格納されたプログラム記憶装置53
・CPU50がメモリ51にロードされた画像符号化プログラム531を実行することにより生成された多重化符号データを、例えばネットワークを介して出力する多重化符号データ出力部54(ディスク装置等による多重化符号データを記憶する記憶部でもよい)
 とが、バスで接続された構成になっている。
 図示省略するが、他に、被写体数記憶部、被写体マップ記憶部、被写体画素値記憶部、予測画像記憶部、被写体マップ符号データ記憶部、画像情報符号データ記憶部、復号画像記憶部などのハードウェアが設けられ、本手法の実施に利用される。
 また、被写体画素値符号データ記憶部が用いられることもあり、さらに、被写体数符号データ記憶部、被写体数予測値記憶部、被写体画素値予測値記憶部が用いられることもある。
  図28に、画像復号装置をコンピュータとソフトウェアプログラムとによって構成する場合のハードウェア構成例を示す。本システムは、
・プログラムを実行するCPU60
・CPU60がアクセスするプログラムやデータが格納されるRAM等のメモリ61
・画像符号化装置が上述した手法により符号化した多重化符号データを入力する多重化符号データ入力部62(ディスク装置等による多重化符号データを記憶する記憶部でもよい)
・図10および図11等で説明した処理をCPU60に実行させるソフトウェアプログラムである画像復号プログラム631が格納されたプログラム記憶装置63
・CPU60がメモリ61にロードされた画像復号プログラム631を実行することにより、多重化符号データを復号して得られた復号画像データを、再生装置などに出力する復号画像データ出力部64
 とが、バスで接続された構成になっている。
 図示省略するが、他に、被写体数記憶部、被写体マップ記憶部、被写体画素値記憶部、予測画像記憶部、被写体マップ符号データ記憶部、画像情報符号データ記憶部などのハードウェアが設けられ、本手法の実施に利用される。
 また、被写体画素値符号データ記憶部が用いられることもあり、さらに、被写体数符号データ記憶部、被写体数予測値記憶部、被写体画素値予測値記憶部が用いられることもある。
 〔効果の検証〕
 従来手法(例えば、H.264/AVC)と本発明を用いた手法(本手法という)との符号量の比較を行う。
 1.概念的な符号量の比較
 1.1 付加情報の符号量
 付加情報は、従来手法ではエッジの向きを示す情報であり、2次元ベクトルである。これに対し、本手法による付加情報は、被写体マップ(二次元情報)であり、条件にもよるが、処理ブロックを16×16、被写体数を4とした場合、ビット量は約64倍になる(ただし、エントロピー符号化することで、約4倍程度にすることができる)。
 1.2 予測残差の符号量
 エッジの強い画像においては、予測画像と入力画像とで物体形状が大きく異なると、その予測残差を周波数領域へ変換しても、情報を効率的に低域へ集中させることができず、予測残差の符号量が非常に多くなる。
 つまり、直線的な表現しかできない従来手法よりも、任意の形状を表現できる本手法のほうが予測残差の符号量を少なくすることが可能である。対象画像や符号化条件にもよるが、予測残差の符号量は約3分の1にすることが可能である。
 1.3 トータルの符号量
 一般的な符号化レートにおいて、従来手法の予測残差の符号量は、符号量全体の約9割を占める。つまり、全体の符号量を100とすると、付加情報が10で予測残差が90となる。
 本手法により、付加情報が4倍、予測残差が1/3になるとすると、本手法によって全体の符号量は70とすることが可能である。
 2.実験例
 図29に、あるサンプル画像について、本手法と従来手法を用いて符号化した場合の発生符号量および画像品質の比較を示す。
 図29に示すグラフにおいて、縦軸のY-PSNRは画像の品質(単位はdB)、横軸のbitrateは符号量(単位はbps/view)を表している。Y-PSNRの値は、大きなほど綺麗な画像であることを示す。
 図29において、Aの曲線が本手法による符号量と画像の品質の関係を示しており、Bの曲線が従来手法による符号量と画像の品質の関係を示している。
 2.1 符号量削減効果としての解釈(太い矢印)
 図29のグラフから、Y-PSNRが43dBとなるとき、従来手法(H.264/AVC)では、約650kbpsの符号量が必要であり、本手法では、約325kbpsの符号量が必要であることが分かる。このことから、同じ品質で符号化する場合、本手法によって符号量を半分にできたことが分かる。
 2.2 品質改善効果としての解釈(細い矢印)
 図29のグラフから、bitrateが400kbpsとなるとき、従来手法(H.264/AVC)では、約39dBの品質であり、本手法では、約44.5dBの品質であることが分かる。このことから、同じ符号量で符号化する場合、本手法によって5.5dB画質を改善(歪み量を約72%削減)できたことが分かる。
 以上、図面を参照して本発明の実施の形態を説明してきたが、上記実施の形態は本発明の例示に過ぎず、本発明が上記実施の形態に限定されるものでないことは明らかである。したがって、本発明の精神および技術的範囲を逸脱しない範囲で構成要素の追加、省略、置換、その他の変更を行ってもよい。
本発明によれば、距離画像のような画素値が被写体に大きく依存し、局所的には限られた数の被写体しか存在しないような画像に対して、画像全体を分割して領域ごとに異なる方法で画像信号を予測しながら画像を予測符号化する場合に、被写体の存在の空間的な連続性を用いて、被写体数や各被写体の代表的な画素値を予測する。これにより、被写体ごとの代表画素値と被写体識別情報を用いた画像信号予測に必要な付加情報の表現に必要な符号量を削減し、効率的な画像符号化を実現することができる。
 100、200 画像符号化装置
 101、201 符号化対象フレーム入力部
 102、202 符号化対象フレームメモリ
 103、203、304 被写体数設定部
 104、204、305 被写体画素値設定部
 105、205 被写体マップ生成部
 106、208 被写体マップ符号化部
 107、211 予測画像生成部
 108、212 画像信号符号化部
 109、213 画像信号復号部
 110、214 復号画像メモリ
 111、215 多重化部
 112、210 被写体画素値符号化部
 206、404 被写体数予測部
 207 被写体数符号化部
 209、407 被写体画素値予測部
 300、400 画像復号装置
 301、401 符号データ入力部
 302、402 符号データメモリ
 303、403 分離部
 306、406 被写体マップ復号部
 307、409 予測画像生成部
 308、410 画像信号復号部
 309、411 復号画像メモリ
 310、408 被写体画素値復号部
 405 被写体数復号部

Claims (28)

  1.  画像を伝送または蓄積するにあたり、画像フレームを予め定められた大きさの処理領域に分割し、処理領域ごとに各画素の画素値を予測しながら符号化を行う画像符号化方法であって、
     処理領域周辺の既に符号化済みの画素に対する画像信号を用いて処理領域内に存在する被写体の数であるところの被写体数を予測する被写体数予測ステップと、
     前記予測した被写体数に基づき、処理領域内に存在する被写体ごとに、各被写体を代表する1つの画素値を該被写体を識別する被写体識別子に対応づけて、被写体画素値として設定する被写体画素値設定ステップと、
     処理領域内の各画素の画素値と被写体画素値とから、処理領域内の各画素にどの被写体が撮影されているかを被写体識別子で示す被写体マップを生成する被写体マップ生成ステップと、
     前記被写体マップに従って各画素に前記被写体画素値の値を割り当てることで処理領域に対する予測画像を生成する予測画像生成ステップと、
     前記被写体マップを符号化する被写体マップ符号化ステップと、
     前記被写体画素値を符号化する被写体画素値符号化ステップと、
     前記予測画像を用いて処理領域に対する画像信号を予測符号化する画像信号符号化ステップとを有する
     ことを特徴とする画像符号化方法。
  2.  画像を伝送または蓄積するにあたり、画像フレームを予め定められた大きさの処理領域に分割し、処理領域ごとに各画素の画素値を予測しながら符号化を行う画像符号化方法であって、
     処理領域内に存在する被写体の数を被写体数として設定する被写体数設定ステップと、
     処理領域内に前記設定した被写体数と同じ数の被写体が存在すると仮定して、処理領域周辺の既に符号化済みの画素に対する画像信号を用いて被写体ごとの代表的な画素値であるところの被写体画素値を予測する被写体画素値予測ステップと、
     前記予測した被写体画素値に基づき、処理領域内の各画素の画素値から、処理領域内の各画素にどの被写体が撮影されているかを被写体識別子で示す被写体マップを生成する被写体マップ生成ステップと、
     前記被写体マップに従って各画素に前記被写体画素値の値を割り当てることで処理領域に対する予測画像を生成する予測画像生成ステップと、
     前記被写体マップを符号化する被写体マップ符号化ステップと、
     前記予測画像を用いて処理領域に対する画像信号を予測符号化する画像信号符号化ステップとを有する
     ことを特徴とする画像符号化方法。
  3.  画像を伝送または蓄積するにあたり、画像フレームを予め定められた大きさの処理領域に分割し、処理領域ごとに各画素の画素値を予測しながら符号化を行う画像符号化方法であって、
     処理領域周辺の既に符号化済みの画素に対する画像信号を用いて処理領域内に存在する被写体の数であるところの被写体数を予測する被写体数予測ステップと、
     前記予測した被写体数に基づき、処理領域周辺の既に符号化済みの画素に対する画像信号を用いて被写体ごとの代表的な画素値であるところの被写体画素値を予測する被写体画素値予測ステップと、
     前記予測した被写体画素値に基づき、処理領域内の各画素の画素値から、処理領域内の各画素にどの被写体が撮影されているかを被写体識別子で示す被写体マップを生成する被写体マップ生成ステップと、
     前記被写体マップに従って各画素に前記被写体画素値の値を割り当てることで処理領域に対する予測画像を生成する予測画像生成ステップと、
     前記被写体マップを符号化する被写体マップ符号化ステップと、
     前記予測画像を用いて処理領域に対する画像信号を予測符号化する画像信号符号化ステップとを有する
     ことを特徴とする画像符号化方法。
  4.  前記予測された被写体数と、処理領域内の画素に対する画像信号を用いて設定される被写体数とのいずれかを被写体数として設定する被写体数設定ステップと、
     前記被写体数設定ステップで前記処理領域内の画素に対する画像信号を用いて設定される被写体数が設定される場合、該被写体数を、前記予測された被写体数または符号化済みの被写体数を用いて予測符号化する被写体数符号化ステップと、をさらに有し、
     前記被写体画素値設定ステップでは、前記被写体数設定ステップで設定した被写体数と同じ数の被写体が存在すると仮定して,前記被写体画素値を設定する
     ことを特徴とする請求項1に記載の画像符号化方法。
  5.  前記予測された被写体数と、処理領域内の画素に対する画像信号を用いて設定される被写体数とのいずれかを被写体数として設定する被写体数設定ステップと、
     前記被写体数設定ステップで前記処理領域内の画素に対する画像信号を用いて設定される被写体数が設定される場合、該被写体数を、前記予測された被写体数または符号化済みの被写体数を用いて予測符号化する被写体数符号化ステップと、をさらに有し、
     前記被写体画素値予測ステップでは、処理領域内に前記設定した被写体数と同じ数の被写体が存在すると仮定して、前記被写体画素値を予測する
     ことを特徴とする請求項3に記載の画像符号化方法。
  6.  前記予測された被写体画素値と、処理領域内の画素に対する画像信号を用いて設定される被写体画素値のいずれかを、被写体を識別する被写体識別子に対応づけて設定する被写体画素値設定ステップと、
     前記被写体画素値設定ステップで前記処理領域内の画素に対する画像信号を用いて設定される被写体画素値が設定される場合、該被写体画素値を、前記予測された被写体画素値または符号化済みの被写体画素値を用いて予測符号化する被写体画素値符号化ステップと、をさらに有し、
     前記被写体マップ生成ステップでは、処理領域内の各画素の画素値と前記被写体画素値設定ステップで設定した被写体画素値とから、前記被写体マップを生成する
     ことを特徴とする請求項2または請求項3に記載の画像符号化方法。
  7.  画像の符号データを復号するに際し、画像フレームを予め定められた大きさの処理領域に分割し、処理領域ごとに各画素の画素値を予測しながら復号を行う画像復号方法であって、
     処理領域周辺の既に復号済みの画素に対する画像信号を用いて処理領域内に存在する被写体の数であるところの被写体数を予測する被写体数予測ステップと、
     処理領域内の各画素に撮影されている被写体を被写体識別子によって表した被写体マップを前記符号データから復号する被写体マップ復号ステップと、
     前記被写体識別子ごとに1つ設定された被写体画素値を前記符号データから復号する被写体画素値復号ステップと、
     前記被写体マップに従って各画素に前記被写体画素値の値を割り当てることで処理領域に対する予測画像を生成する予測画像生成ステップと、
     前記予測画像を用いて処理領域に対する画像信号を前記符号データから復号する画像信号復号ステップとを有する
     ことを特徴とする画像復号方法。
  8.  画像の符号データを復号するに際し、画像フレームを予め定められた大きさの処理領域に分割し、処理領域ごとに各画素の画素値を予測しながら復号を行う画像復号方法であって、
     処理領域内に存在する被写体の数を被写体数として設定する被写体数設定ステップと、
     処理領域内の各画素に撮影されている被写体を被写体識別子によって表した被写体マップを前記符号データから復号する被写体マップ復号ステップと、
     処理領域内に前記設定した被写体数と同じ数の被写体が存在すると仮定して、  処理領域周辺の既に復号済みの画素に対する画像信号を用いて被写体ごとの代表的な画素値であるところの被写体画素値を予測する被写体画素値予測ステップと、
     前記予測された被写体画素値に基づいて、前記被写体マップに従って各画素に被写体画素値の値を割り当てることで処理領域に対する予測画像を生成する予測画像生成ステップと、
     前記予測画像を用いて処理領域に対する画像信号を前記符号データから復号する画像信号復号ステップとを有する
     ことを特徴とする画像復号方法。
  9.  画像の符号データを復号するに際し、画像フレームを予め定められた大きさの処理領域に分割し、処理領域ごとに各画素の画素値を予測しながら復号を行う画像復号方法であって、
     処理領域周辺の既に復号済みの画素に対する画像信号を用いて処理領域内に存在する被写体の数であるところの被写体数を予測する被写体数予測ステップと、
     処理領域内の各画素に撮影されている被写体を被写体識別子によって表した被写体マップを前記符号データから復号する被写体マップ復号ステップと、
     前記予測した被写体数に基づいて、処理領域周辺の既に復号済みの画素に対する画像信号を用いて被写体ごとの代表的な画素値であるところの被写体画素値を予測する被写体画素値予測ステップと、
     前記予測された被写体画素値に基づいて、前記被写体マップに従って各画素に被写体画素値の値を割り当てることで処理領域に対する予測画像を生成する予測画像生成ステップと、
     前記予測画像を用いて処理領域に対する画像信号を前記符号データから復号する画像信号復号ステップとを有する
     ことを特徴とする画像復号方法。
  10.  前記予測された被写体数と、該予測された被写体数または復号済みの被写体数を用いて前記符号データから復号された被写体数とのいずれかを被写体数として設定する被写体数設定ステップ、をさらに有する
     ことを特徴とする請求項7に記載の画像復号方法。
  11.  前記予測された被写体数と、該予測された被写体数または復号済みの被写体数を用いて前記符号データから復号された被写体数とのいずれかを被写体数として設定する被写体数設定ステップ、をさらに有し、
     前記被写体画素値予測ステップでは、処理領域内に前記設定した被写体数と同じ数の被写体が存在すると仮定して、前記被写体画素値を予測する
     ことを特徴とする請求項9に記載の画像復号方法。
  12.  前記予測された被写体画素値と、該予測された被写体画素値または復号済みの被写体画素値を用いて前記符号データから復号された被写体画素値とのいずれかを被写体画素値として設定する被写体画素値設定ステップ、をさらに有し、
     前記予測画像生成ステップでは、前記被写体画素値設定ステップで設定した被写体画素値の値を各画素に割り当てる、
     ことを特徴とする請求項8または請求項9に記載の画像復号方法。
  13.  画像を伝送または蓄積するにあたり、画像フレームを予め定められた大きさの処理領域に分割し、処理領域ごとに各画素の画素値を予測しながら符号化を行う画像符号化装置であって、
     処理領域周辺の既に符号化済みの画素に対する画像信号を用いて処理領域内に存在する被写体の数であるところの被写体数を予測する被写体数予測手段と、
     前記予測した被写体数に基づき、処理領域内に存在する被写体ごとに、各被写体を代表する1つの画素値を該被写体を識別する被写体識別子に対応づけて、被写体画素値として設定する被写体画素値設定手段と、
     処理領域内の各画素の画素値と被写体画素値とから、処理領域内の各画素にどの被写体が撮影されているかを被写体識別子で示す被写体マップを生成する被写体マップ生成手段と、
     前記被写体マップに従って各画素に前記被写体画素値の値を割り当てることで処理領域に対する予測画像を生成する予測画像生成手段と、
     前記被写体マップを符号化する被写体マップ符号化手段と、
     前記被写体画素値を符号化する被写体画素値符号化手段と、
     前記予測画像を用いて処理領域に対する画像信号を予測符号化する画像信号符号化手段とを備える
     ことを特徴とする画像符号化装置。
  14.  画像を伝送または蓄積するにあたり、画像フレームを予め定められた大きさの処理領域に分割し、処理領域ごとに各画素の画素値を予測しながら符号化を行う画像符号化装置であって、
     処理領域内に存在する被写体の数を被写体数として設定する被写体数設定手段と、
     処理領域内に前記設定した被写体数と同じ数の被写体が存在すると仮定して、処理領域周辺の既に符号化済みの画素に対する画像信号を用いて被写体ごとの代表的な画素値であるところの被写体画素値を予測する被写体画素値予測手段と、
     前記予測した被写体画素値に基づき、処理領域内の各画素の画素値から、処理領域内の各画素にどの被写体が撮影されているかを被写体識別子で示す被写体マップを生成する被写体マップ生成手段と、
     前記被写体マップに従って各画素に前記被写体画素値の値を割り当てることで処理領域に対する予測画像を生成する予測画像生成手段と、
     前記被写体マップを符号化する被写体マップ符号化手段と、
     前記予測画像を用いて処理領域に対する画像信号を予測符号化する画像信号符号化手段とを備える
     ことを特徴とする画像符号化装置。
  15.  画像を伝送または蓄積するにあたり、画像フレームを予め定められた大きさの処理領域に分割し、処理領域ごとに各画素の画素値を予測しながら符号化を行う画像符号化装置であって、
     前記予測した被写体数に基づき、処理領域周辺の既に符号化済みの画素に対する画像信号を用いて被写体ごとの代表的な画素値であるところの被写体画素値を予測する被写体画素値予測手段と、
     前記予測した被写体画素値に基づき、処理領域内の各画素の画素値から、処理領域内の各画素にどの被写体が撮影されているかを被写体識別子で示す被写体マップを生成する被写体マップ生成手段と、
     前記被写体マップに従って各画素に前記被写体画素値の値を割り当てることで処理領域に対する予測画像を生成する予測画像生成手段と、
     前記被写体マップを符号化する被写体マップ符号化手段と、
     前記予測画像を用いて処理領域に対する画像信号を予測符号化する画像信号符号化手段とを備える
     ことを特徴とする画像符号化装置。
  16.  前記予測された被写体数と、処理領域内の画素に対する画像信号を用いて設定される被写体数とのいずれかを被写体数として設定する被写体数設定手段と、
     前記被写体数設定手段で前記処理領域内の画素に対する画像信号を用いて設定される被写体数が設定される場合、該被写体数を、前記予測された被写体数または符号化済みの被写体数を用いて予測符号化する被写体数符号化手段と、をさらに有し、
     前記被写体画素値設定手段では、前記被写体数設定手段で設定した被写体数と同じ数の被写体が存在すると仮定して,前記被写体画素値を設定する
     ことを特徴とする請求項13に記載の画像符号化装置。
  17.  前記予測された被写体数と、処理領域内の画素に対する画像信号を用いて設定される被写体数とのいずれかを被写体数として設定する被写体数設定手段と、
     前記被写体数設定手段で前記処理領域内の画素に対する画像信号を用いて設定される被写体数が設定される場合、該被写体数を、前記予測された被写体数または符号化済みの被写体数を用いて予測符号化する被写体数符号化手段と、をさらに有し、
     前記被写体画素値予測手段では、処理領域内に前記設定した被写体数と同じ数の被写体が存在すると仮定して、前記被写体画素値を予測する
     ことを特徴とする請求項15に記載の画像符号化装置。
  18.  前記予測された被写体画素値と、処理領域内の画素に対する画像信号を用いて設定される被写体画素値のいずれかを、被写体を識別する被写体識別子に対応づけて設定する被写体画素値設定手段と、
     前記被写体画素値設定手段で前記処理領域内の画素に対する画像信号を用いて設定される被写体画素値が設定される場合、該被写体画素値を、前記予測された被写体画素値または符号化済みの被写体画素値を用いて予測符号化する被写体画素値符号化手段と、をさらに有し、
     前記被写体マップ生成手段では、処理領域内の各画素の画素値と前記被写体画素値設定手段で設定した被写体画素値とから、前記被写体マップを生成する
     ことを特徴とする請求項14または請求項15に記載の画像符号化装置。
  19.  画像の符号データを復号するに際し、画像フレームを予め定められた大きさの処理領域に分割し、処理領域ごとに各画素の画素値を予測しながら復号を行う画像復号装置であって、
     処理領域周辺の既に復号済みの画素に対する画像信号を用いて処理領域内に存在する被写体の数であるところの被写体数を予測する被写体数予測手段と、
     処理領域内の各画素に撮影されている被写体を被写体識別子によって表した被写体マップを前記符号データから復号する被写体マップ復号手段と、
     前記被写体識別子ごとに1つ設定された被写体画素値を前記符号データから復号する被写体画素値復号手段と、
     前記被写体マップに従って各画素に前記被写体画素値の値を割り当てることで処理領域に対する予測画像を生成する予測画像生成手段と、
     前記予測画像を用いて処理領域に対する画像信号を前記符号データから復号する画像信号復号手段とを備える
     ことを特徴とする画像復号装置。
  20.  画像の符号データを復号するに際し、画像フレームを予め定められた大きさの処理領域に分割し、処理領域ごとに各画素の画素値を予測しながら復号を行う画像復号装置であって、
     処理領域内に存在する被写体の数を被写体数として設定する被写体数設定手段と、
     処理領域内の各画素に撮影されている被写体を被写体識別子によって表した被写体マップを前記符号データから復号する被写体マップ復号手段と、
     処理領域内に前記設定した被写体数と同じ数の被写体が存在すると仮定して、  処理領域周辺の既に復号済みの画素に対する画像信号を用いて被写体ごとの代表的な画素値であるところの被写体画素値を予測する被写体画素値予測手段と、
     前記予測された被写体画素値に基づいて、前記被写体マップに従って各画素に被写体画素値の値を割り当てることで処理領域に対する予測画像を生成する予測画像生成手段と、
     前記予測画像を用いて処理領域に対する画像信号を前記符号データから復号する画像信号復号手段とを備える
     ことを特徴とする画像復号装置。
  21.  画像の符号データを復号するに際し、画像フレームを予め定められた大きさの処理領域に分割し、処理領域ごとに各画素の画素値を予測しながら復号を行う画像復号装置であって、
     処理領域周辺の既に復号済みの画素に対する画像信号を用いて処理領域内に存在する被写体の数であるところの被写体数を予測する被写体数予測手段と、
     処理領域内の各画素に撮影されている被写体を被写体識別子によって表した被写体マップを前記符号データから復号する被写体マップ復号手段と、
     前記予測した被写体数に基づいて、処理領域周辺の既に復号済みの画素に対する画像信号を用いて被写体ごとの代表的な画素値であるところの被写体画素値を予測する被写体画素値予測手段と、
     前記予測された被写体画素値に基づいて、前記被写体マップに従って各画素に被写体画素値の値を割り当てることで処理領域に対する予測画像を生成する予測画像生成手段と、
     前記予測画像を用いて処理領域に対する画像信号を前記符号データから復号する画像信号復号手段とを備える
     ことを特徴とする画像復号装置。
  22.  前記予測された被写体数と、該予測された被写体数または復号済みの被写体数を用いて前記符号データから復号された被写体数とのいずれかを被写体数として設定する被写体数設定手段、をさらに有する
     ことを特徴とする請求項19に記載の画像復号装置。
  23.  前記予測された被写体数と、該予測された被写体数または復号済みの被写体数を用いて前記符号データから復号された被写体数とのいずれかを被写体数として設定する被写体数設定手段、をさらに有し、
     前記被写体画素値予測手段では、処理領域内に前記設定した被写体数と同じ数の被写体が存在すると仮定して、前記被写体画素値を予測する
     ことを特徴とする請求項21に記載の画像復号装置。
  24.  前記予測された被写体画素値と、該予測された被写体画素値または復号済みの被写体画素値を用いて前記符号データから復号された被写体画素値とのいずれかを被写体画素値として設定する被写体画素値設定手段、をさらに有し、
     前記予測画像生成手段では、前記被写体画素値設定手段で設定した被写体画素値の値を各画素に割り当てる、
     ことを特徴とする請求項20または請求項21に記載の画像復号装置。
  25.  請求項1から請求項3までのいずれか1項に記載の画像符号化方法をコンピュータに実行させるための画像符号化プログラム。
  26.  請求項7から請求項9までのいずれか1項に記載の画像復号方法をコンピュータに実行させるための画像復号プログラム。
  27.  請求項1から請求項3までのいずれか1項に記載の画像符号化方法をコンピュータに実行させるための画像符号化プログラムを記録した、コンピュータ読み取り可能な記録媒体。
  28.  請求項7から請求項9までのいずれか1項に記載の画像復号方法をコンピュータに実行させるための画像復号プログラムを記録した、コンピュータ読み取り可能な記録媒体。
PCT/JP2011/071315 2010-09-29 2011-09-20 画像符号化方法および装置、画像復号方法及び装置、およびそれらのプログラム WO2012043294A1 (ja)

Priority Applications (6)

Application Number Priority Date Filing Date Title
CA 2811892 CA2811892A1 (en) 2010-09-29 2011-09-20 Image encoding method and apparatus, image decoding method and apparatus, and programs therefor
BR112013007464A BR112013007464A2 (pt) 2010-09-29 2011-09-20 método e aparelho de codificação de imagem, método e aparelho de decodificação de imagem programas para os mesmos
KR1020137007042A KR101550283B1 (ko) 2010-09-29 2011-09-20 화상 부호화 방법 및 장치, 화상 복호 방법 및 장치, 및 그 프로그램
EP20110828851 EP2624565A4 (en) 2010-09-29 2011-09-20 METHOD AND DEVICE FOR ENCODING IMAGES, METHOD AND DEVICE FOR DECODING IMAGES AND PROGRAMS THEREOF
CN201180045452.6A CN103119941B (zh) 2010-09-29 2011-09-20 图像编码方法和装置、图像解码方法及装置、和其程序
US13/822,932 US9036933B2 (en) 2010-09-29 2011-09-20 Image encoding method and apparatus, image decoding method and apparatus, and programs therefor

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2010-218037 2010-09-29
JP2010218037A JP5281624B2 (ja) 2010-09-29 2010-09-29 画像符号化方法,画像復号方法,画像符号化装置,画像復号装置およびそれらのプログラム

Publications (1)

Publication Number Publication Date
WO2012043294A1 true WO2012043294A1 (ja) 2012-04-05

Family

ID=45892758

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2011/071315 WO2012043294A1 (ja) 2010-09-29 2011-09-20 画像符号化方法および装置、画像復号方法及び装置、およびそれらのプログラム

Country Status (9)

Country Link
US (1) US9036933B2 (ja)
EP (1) EP2624565A4 (ja)
JP (1) JP5281624B2 (ja)
KR (1) KR101550283B1 (ja)
CN (1) CN103119941B (ja)
BR (1) BR112013007464A2 (ja)
CA (1) CA2811892A1 (ja)
TW (1) TWI498006B (ja)
WO (1) WO2012043294A1 (ja)

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10469870B2 (en) 2014-09-26 2019-11-05 Kt Corporation Method and apparatus for predicting and restoring a video signal using palette entry
US10477218B2 (en) 2014-10-20 2019-11-12 Kt Corporation Method and apparatus for predicting and restoring a video signal using palette entry
US10477227B2 (en) 2015-01-15 2019-11-12 Kt Corporation Method and apparatus for predicting and restoring a video signal using palette entry and palette mode
US10477243B2 (en) 2015-01-29 2019-11-12 Kt Corporation Method and apparatus for predicting and restoring a video signal using palette entry and palette mode
US10477244B2 (en) 2015-01-29 2019-11-12 Kt Corporation Method and apparatus for predicting and restoring a video signal using palette entry and palette mode
US10484713B2 (en) 2015-04-02 2019-11-19 Kt Corporation Method and device for predicting and restoring a video signal using palette entry and palette escape mode

Families Citing this family (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5281623B2 (ja) 2010-09-29 2013-09-04 日本電信電話株式会社 画像符号化方法,画像復号方法,画像符号化装置,画像復号装置およびそれらのプログラム
JP5357199B2 (ja) 2011-03-14 2013-12-04 日本電信電話株式会社 画像符号化方法,画像復号方法,画像符号化装置,画像復号装置,画像符号化プログラムおよび画像復号プログラム
JP6072678B2 (ja) * 2011-04-25 2017-02-01 シャープ株式会社 画像符号化装置、画像符号化方法、画像符号化プログラム、画像復号装置、画像復号方法及び画像復号プログラム
PL397010A1 (pl) * 2011-11-17 2013-05-27 Politechnika Poznanska Sposób predykcji ksztaltu obszaru kodowanego z wykorzystaniem map glebi
KR20140003690A (ko) * 2012-06-22 2014-01-10 삼성디스플레이 주식회사 화소 데이터 압축 장치
SG11201504459QA (en) * 2012-12-13 2015-07-30 Sony Corp Transmission device, transmitting method, reception device, and receiving method
US20140344469A1 (en) * 2013-05-17 2014-11-20 Evology, Llc Method of in-application encoding for decreased latency application streaming
CN111314694B (zh) * 2013-12-27 2023-05-05 索尼公司 图像处理装置及方法
CN104778166B (zh) * 2014-01-09 2018-02-13 腾讯科技(深圳)有限公司 页面安全标识显示方法、装置和网络系统
KR101654675B1 (ko) * 2014-02-03 2016-09-06 삼성메디슨 주식회사 광음향 물질을 이용하여 진단 영상을 생성하는 방법, 장치 및 시스템.
EP3007448A1 (en) 2014-10-07 2016-04-13 Canon Kabushiki Kaisha Disparity data encoding apparatus and method of controlling the same for
CN105554169B (zh) * 2014-11-04 2019-12-06 中兴通讯股份有限公司 Oid配置、解析方法、ors客户端、oid节点及其数据库
US10574947B2 (en) * 2016-07-15 2020-02-25 Qualcomm Incorporated Object reconstruction in disparity maps using displaced shadow outlines
JP2018050776A (ja) * 2016-09-27 2018-04-05 キヤノン株式会社 光音響装置、情報処理方法、及びプログラム
JP6759032B2 (ja) 2016-09-27 2020-09-23 キヤノン株式会社 光音響装置、情報処理方法、及びプログラム
JP2018050775A (ja) 2016-09-27 2018-04-05 キヤノン株式会社 光音響装置、情報処理方法、及びプログラム
MX2020013646A (es) * 2018-06-27 2021-03-25 Panasonic Ip Corp America Metodo de codificacion de datos tridimensionales, metodo de decodificacion de datos tridimensionales, dispositivo codificador de datos tridimensionales y dispositivo decodificador de datos tridimensionales.
WO2020261313A1 (ja) * 2019-06-24 2020-12-30 日本電信電話株式会社 画像符号化方法、及び画像復号方法

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH09289638A (ja) * 1996-04-23 1997-11-04 Nec Corp 3次元画像符号化復号方式
JP2003304562A (ja) * 2002-04-10 2003-10-24 Victor Co Of Japan Ltd オブジェクト符号化方法、オブジェクト符号化装置、及びオブジェクト符号化用プログラム
JP2006518157A (ja) * 2003-02-17 2006-08-03 エックスヴイディー コーポレイション オブジェクトベースの動き補償の方法及び装置
JP2010157825A (ja) * 2008-12-26 2010-07-15 Victor Co Of Japan Ltd 画像符号化装置、画像符号化方法およびそのプログラム

Family Cites Families (23)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5838455A (en) 1919-05-11 1998-11-17 Minolta Co., Ltd. Image processor with image data compression capability
US6055330A (en) 1996-10-09 2000-04-25 The Trustees Of Columbia University In The City Of New York Methods and apparatus for performing digital image and video segmentation and compression using 3-D depth information
JP2008228337A (ja) 1996-10-31 2008-09-25 Toshiba Corp 画像符号化装置
JP3237582B2 (ja) 1997-08-28 2001-12-10 富士ゼロックス株式会社 画像処理装置及び画像処理方法
EP2252071A3 (en) * 1997-12-05 2017-04-12 Dynamic Digital Depth Research Pty. Ltd. Improved image conversion and encoding techniques
US6385337B1 (en) 1998-12-21 2002-05-07 Xerox Corporation Method of selecting colors for pixels within blocks for block truncation encoding
AUPQ416699A0 (en) * 1999-11-19 1999-12-16 Dynamic Digital Depth Research Pty Ltd Depth map compression technique
US6404814B1 (en) 2000-04-28 2002-06-11 Hewlett-Packard Company Transcoding method and transcoder for transcoding a predictively-coded object-based picture signal to a predictively-coded block-based picture signal
US8374237B2 (en) 2001-03-02 2013-02-12 Dolby Laboratories Licensing Corporation High precision encoding and decoding of video images
US20050063596A1 (en) 2001-11-23 2005-03-24 Yosef Yomdin Encoding of geometric modeled images
US20040022322A1 (en) 2002-07-19 2004-02-05 Meetrix Corporation Assigning prioritization during encode of independently compressed objects
KR100647294B1 (ko) 2004-11-09 2006-11-23 삼성전자주식회사 화상 데이터 부호화 및 복호화 방법 및 장치
TWI323129B (en) 2006-05-17 2010-04-01 Novatek Microelectronics Corp Block truncation coding (btc) method and apparatus
JP2009094828A (ja) 2007-10-10 2009-04-30 Hitachi Ltd 画像符号化装置及び画像符号化方法、画像復号化装置及び画像復号化方法
US8787685B2 (en) 2008-02-21 2014-07-22 France Telecom Encoding and decoding an image or image sequence divided into pixel blocks
JP4838275B2 (ja) 2008-03-03 2011-12-14 日本電信電話株式会社 距離情報符号化方法,復号方法,符号化装置,復号装置,符号化プログラム,復号プログラムおよびコンピュータ読み取り可能な記録媒体
JP4964827B2 (ja) 2008-06-05 2012-07-04 日本電信電話株式会社 多視点距離情報符号化方法,復号方法,符号化装置,復号装置,符号化プログラム,復号プログラムおよびコンピュータ読み取り可能な記録媒体
US8750632B2 (en) * 2008-12-26 2014-06-10 JVC Kenwood Corporation Apparatus and method for encoding images from multiple viewpoints and associated depth information
US8798158B2 (en) * 2009-03-11 2014-08-05 Industry Academic Cooperation Foundation Of Kyung Hee University Method and apparatus for block-based depth map coding and 3D video coding method using the same
JP5310247B2 (ja) 2009-05-13 2013-10-09 ソニー株式会社 画像処理装置および方法、並びにプログラム
KR101807886B1 (ko) * 2009-10-14 2017-12-11 돌비 인터네셔널 에이비 깊이 맵 처리를 위한 방법 및 디바이스
EP2360927A3 (en) * 2010-02-12 2011-09-28 Samsung Electronics Co., Ltd. Image encoding/decoding system using graph based pixel prediction and encoding system and method
JP5281623B2 (ja) 2010-09-29 2013-09-04 日本電信電話株式会社 画像符号化方法,画像復号方法,画像符号化装置,画像復号装置およびそれらのプログラム

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH09289638A (ja) * 1996-04-23 1997-11-04 Nec Corp 3次元画像符号化復号方式
JP2003304562A (ja) * 2002-04-10 2003-10-24 Victor Co Of Japan Ltd オブジェクト符号化方法、オブジェクト符号化装置、及びオブジェクト符号化用プログラム
JP2006518157A (ja) * 2003-02-17 2006-08-03 エックスヴイディー コーポレイション オブジェクトベースの動き補償の方法及び装置
JP2010157825A (ja) * 2008-12-26 2010-07-15 Victor Co Of Japan Ltd 画像符号化装置、画像符号化方法およびそのプログラム

Non-Patent Citations (9)

* Cited by examiner, † Cited by third party
Title
"Advanced video coding for generic audiovisual services", RECOMMENDATION ITU-T H.264, March 2009 (2009-03-01)
A. SMOLIC; K. MUELLER; P. MERKLE; N. ATZPADIN; C. FEHN; M. MUELLER; 0. SCHREER; R. TANGER; P. KAUFF; T. WIEGAND: "Multi-view video plus depth (MVD) format for advanced 3D video systems", JOINT VIDEO TEAM OF ISO/IEC JTC1/SC29/WG11 AND ITU-T SG16 Q.6, DOC. JVT-W100, April 2007 (2007-04-01)
C. FEHN; P. KAUFF; M. OP DE BEECK; F. ERNST; W. IJSSELSTEIJN; M. POLLEFEYS; L. VAN GOOL; E. OFEK; SEXTON: "An Evolutionary and Optimised Approach on 3D-TV", PROCEEDINGS OF INTERNATIONAL BROADCAST CONFERENCE, September 2002 (2002-09-01), pages 357 - 365
C. L. ZITNICK; S. B. KANG; M. UYTTENDAELE; S. A. J. WINDER; R. SZELISKI: "High-quality Video View Interpolation Using a Layered Representation", ACM TRANSACTIONS ON GRAPHICS, vol. 23, no. 3, August 2004 (2004-08-01), pages 600 - 608, XP002354522, DOI: doi:10.1145/1015706.1015766
DE SILVA D.V.S.X. ET AL.: "Object Based Coding of the Depth Maps for 3D Video Coding", IEEE TRANSACTIONS ON CONSUMER ELECTRONICS, vol. 55, no. 3, August 2009 (2009-08-01), pages 1699 - 1706, XP011277845 *
KUNIO NOBORI ET AL.: "Object-based image coding using range data", THE INSTITUTE OF ELECTRONICS, INFORMATION AND COMMUNICATION ENGINEERS SOGO TAIKAI KOEN RONBUNSHU, 8 March 1999 (1999-03-08), pages 64, XP008169168 *
See also references of EP2624565A4 *
SHIN'YA SHIMIZU ET AL.: "Kokoritsu Depth Map Fugoka no Tameno Object Base Yosoku Hoshiki", THE INSTITUTE OF IMAGE ELECTRONICS ENGINEERS OF JAPAN NENJI TAIKAI YOKOSHU, 25 June 2011 (2011-06-25), XP008169222 *
W.H.A. BRULS; C. VAREKAMP; R. KLEIN; GUNNEWIEK, B. BARENBRUG; A. BOURGE: "Enabling Introduction of Stereoscopic (3D) Video: Formats and Compression Standards", PROCEEDINGS OF IEEE INTERNATIONAL CONFERENCE ON IMAGE PROCESSING, September 2007 (2007-09-01), pages 1 - 89,1-92

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10469870B2 (en) 2014-09-26 2019-11-05 Kt Corporation Method and apparatus for predicting and restoring a video signal using palette entry
US10477218B2 (en) 2014-10-20 2019-11-12 Kt Corporation Method and apparatus for predicting and restoring a video signal using palette entry
US10477227B2 (en) 2015-01-15 2019-11-12 Kt Corporation Method and apparatus for predicting and restoring a video signal using palette entry and palette mode
US10477243B2 (en) 2015-01-29 2019-11-12 Kt Corporation Method and apparatus for predicting and restoring a video signal using palette entry and palette mode
US10477244B2 (en) 2015-01-29 2019-11-12 Kt Corporation Method and apparatus for predicting and restoring a video signal using palette entry and palette mode
US10484713B2 (en) 2015-04-02 2019-11-19 Kt Corporation Method and device for predicting and restoring a video signal using palette entry and palette escape mode

Also Published As

Publication number Publication date
KR20130059423A (ko) 2013-06-05
CN103119941A (zh) 2013-05-22
JP5281624B2 (ja) 2013-09-04
TWI498006B (zh) 2015-08-21
BR112013007464A2 (pt) 2016-07-19
JP2012074918A (ja) 2012-04-12
CN103119941B (zh) 2016-04-27
KR101550283B1 (ko) 2015-09-04
EP2624565A1 (en) 2013-08-07
US9036933B2 (en) 2015-05-19
EP2624565A4 (en) 2014-07-16
TW201220855A (en) 2012-05-16
US20130188707A1 (en) 2013-07-25
CA2811892A1 (en) 2012-04-05

Similar Documents

Publication Publication Date Title
WO2012043294A1 (ja) 画像符号化方法および装置、画像復号方法及び装置、およびそれらのプログラム
JP5357199B2 (ja) 画像符号化方法,画像復号方法,画像符号化装置,画像復号装置,画像符号化プログラムおよび画像復号プログラム
KR101552664B1 (ko) 화상 부호화 방법 및 장치, 화상 복호 방법 및 장치, 및 그 프로그램
JP6698351B2 (ja) ビュー内でのおよびビューにわたる深度ルックアップテーブルの予測コーディング
JP2016537869A (ja) マルチビュービデオコーディングにおいて、ビュー合成予測方法及びこれを利用したマージ候補リスト構成方法
JP2016537858A (ja) マルチビュービデオをデコードするビデオデコード方法及び装置
JP6571646B2 (ja) マルチビュービデオのデコード方法及び装置
Lucas et al. Intra predictive depth map coding using flexible block partitioning
JP5729825B2 (ja) 画像符号化方法、画像復号方法、画像符号化装置、画像復号装置、画像符号化プログラム及び画像復号プログラム
CN113256786A (zh) 解码视频数据的方法、计算机系统和可读存储介质
JP5711636B2 (ja) 画像符号化方法、画像復号方法、画像符号化装置、画像復号装置、画像符号化プログラム、画像復号プログラム
JP5876933B2 (ja) 動画像符号化方法、動画像復号方法、動画像符号化装置、動画像復号装置、動画像符号化プログラム、動画像復号プログラム及び記録媒体

Legal Events

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

Ref document number: 201180045452.6

Country of ref document: CN

121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 11828851

Country of ref document: EP

Kind code of ref document: A1

WWE Wipo information: entry into national phase

Ref document number: 13822932

Country of ref document: US

ENP Entry into the national phase

Ref document number: 20137007042

Country of ref document: KR

Kind code of ref document: A

Ref document number: 2811892

Country of ref document: CA

REEP Request for entry into the european phase

Ref document number: 2011828851

Country of ref document: EP

WWE Wipo information: entry into national phase

Ref document number: 2011828851

Country of ref document: EP

NENP Non-entry into the national phase

Ref country code: DE

REG Reference to national code

Ref country code: BR

Ref legal event code: B01A

Ref document number: 112013007464

Country of ref document: BR

ENP Entry into the national phase

Ref document number: 112013007464

Country of ref document: BR

Kind code of ref document: A2

Effective date: 20130321