WO2012043294A1 - 画像符号化方法および装置、画像復号方法及び装置、およびそれらのプログラム - Google Patents
画像符号化方法および装置、画像復号方法及び装置、およびそれらのプログラム Download PDFInfo
- 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
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N13/00—Stereoscopic video systems; Multi-view video systems; Details thereof
- H04N13/10—Processing, recording or transmission of stereoscopic or multi-view image signals
- H04N13/106—Processing image signals
- H04N13/161—Encoding, multiplexing or demultiplexing different image signal components
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T9/00—Image coding
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N13/00—Stereoscopic video systems; Multi-view video systems; Details thereof
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/169—Methods 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/17—Methods 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/176—Methods 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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/20—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using video object coding
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/46—Embedding additional information in the video signal during the compression process
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/46—Embedding additional information in the video signal during the compression process
- H04N19/463—Embedding additional information in the video signal during the compression process by compressing encoding parameters before transmission
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/50—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
- H04N19/597—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding specially adapted for multi-view video sequence encoding
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/102—Methods 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/103—Selection of coding mode or of prediction mode
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/169—Methods 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/17—Methods 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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/60—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding
- H04N19/61—Methods 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
Description
本願は、2010年9月29日に出願された特願2010-218037号に基づき優先権を主張し、その内容をここに援用する。
一般に、撮影された画像に対して水平方向をX軸、垂直方向をY軸とするため、Z軸はカメラの向きと一致するが、複数のカメラに対して共通の座標系を用いる場合など、Z軸がカメラの向きと一致しない場合もある。
以下では、距離・奥行き・Z値(奥行き情報)を区別せずに距離情報と呼び、距離情報を画素値として表した画像を距離画像と呼ぶ。
また、等間隔に量子化する際に、物理量をそのまま量子化する方法と物理量の逆数を量子化する方法とがある。一般に距離情報の逆数は視差に比例した値となるため、距離情報を高精度に表現する必要がある場合には、前者が使用され、視差情報を高精度に表現する必要がある場合には、後者が使用されることが多い。
以下では、距離情報の画素値化の方法や量子化の方法に関係なく、距離情報が画像として表現されたものを全て距離画像と呼ぶ。
一般に被写体が実空間上で空間的および時間的連続性を持つことから、その見え方は空間的および時間的に高い相関をもつ。映像信号の符号化では、そのような相関性を利用して高い符号化効率を達成している。
代表的な映像信号の予想の手法としては、隣接するブロックから空間的に予測信号を生成する画面内予測や、異なる時刻に撮影された符号化済みフレームから被写体の動きを推定して時間的に予測信号を生成する動き補償予測がある。
また、予測残差信号と呼ばれる予測の誤差も、空間的な相関と人間の視覚特性を利用するために、DCT等を用いて予測残差信号を周波数空間でのデータへ変換し、低周波領域に残差信号のエネルギーを集中させることで、効率的に符号化を行う。
各手法の詳細は動画像国際標準規格のMPEG-2やH.264/MPEG-4 AVC(非特許文献5)を参照されたい。
空間的な予測では、このブロックの1行目と1列目の情報を用いて残りの8×8画素を予測する。予測の方法には様々なものがあるが、ここではH.264に採用されている代表的な2つの予測方法、水平予測と垂直予測の2つの例を示した。
図の右側に示されるとおり、予測残差には大きく分けて-150前後、0前後、150前後の3種類の値しか存在せず、かなり大きなエッジが生じている。
図から明らかなように、どちらの場合にも、多くの高周波領域に大きな信号が生じており、残差信号のコンパクト化に失敗していることが分かる。
また、DCT等の変換を行わずに符号化することも可能であるが、その場合には、ブロック内の局所的な相関を利用することができず、効率的な符号化を達成することができない。
すなわち、ブロック内の1つの画素に対して、どの被写体であるかを示す1つの被写体識別情報が割り振られ、1つの被写体識別情報には1つの被写体画素値が対応付けられる。
この情報に従い、画素ごとに最も類似する値を割り当てるため、複雑なエッジ形状を保持した予測画像を生成することができる。なお、ブロック内に含まれる被写体の数は高々数個に限られるため、この情報の量は限られる。
また、画像信号を符号化する必要のない物体や物体の一部分は被写体とはみなさない。すなわち、被写体は、フレーム内の実オブジェクト(被写体)とは関係なく、情報が付与されない実オブジェクトは、本発明でいう“被写体”ではない。また、1つの実オブジェクトに対して2つの情報が付与される場合には、それぞれ別の被写体として扱われる。
例えば、ブロック内の画素を画素値や位置などの情報を用いてクラスタリングし、各クラスタの評価値(例えば、画素値の分散)が一定値以下となるクラスタ数の最大値を被写体数とすることが可能である。また、経験などに基づいて外部から与えたり、予め定められた値を用いることも可能である。
この被写体数は、付加情報の1つである被写体画素値の個数を表現するために用いられる。また、被写体マップに登場する被写体識別子の最大値を表現するためにも用いられる。
被写体画素値は、ブロック内の画素値を解析することで生成する。具体的には、ブロック内の画素を画素値や位置などの情報を用いて“被写体数”のクラスタにクラスタリングし、各クラスタごとに、含まれる画素の画素値に対する平均値や中央値を計算することで得る。
ブロック内の各画素に対して、その画素の“被写体”に対応する被写体画素値を割り当てることで、そのブロックの予測画像を生成するために用いられる。
なお、画素値と被写体画素値の類似度だけでなく、被写体マップ自体の表現に必要なビット数も鑑みて生成することもある。被写体マップは、予測画素を生成する際に、ブロック内の各画素に対して、どの被写体画素値を割り当てるのかを示すために用いられる。
被写体数の予測値は、処理ブロック周辺の既に処理済みの画素群に対する画素値を解析することで生成することができる。例えば、処理ブロック周辺の既に処理済みの画素群の画素を画素値や位置などの情報を用いてクラスタリングし、各クラスタの評価値(例えば、画素値の分散)が一定値以下となるクラスタ数の最小値を被写体数の予測値とすることが可能である。
また、「被写体数の予測値」と同じ数のクラスタにクラスタリングし、クラスタごとに、含まれる画素の画素値に対する平均値や中央値を計算することで得た値を用いる方法もある。
さらに、上記のような方法で出た値を順に並べ、その順番より若い番号の被写体識別子が割り当てられた被写体画素値の値と、上記の方法で得た値とを用いて生成した値を用いる方法もある。
被写体マップ以外の付加情報を復号する際には、符号データから復号して得られた値に、予測付加情報内の値を加えることで、付加情報の値を生成する。
また、一部または全部の差分値を符号化せずに、予測付加情報の値をそのまま付加情報の値として用いる方法もある。
(1)処理対象のブロック内に存在する被写体の数を被写体数として設定する。この被写体数の設定では、予め定められた被写体数を設定する場合と、ブロック内の画素値を解析して設定する場合と、ブロック周辺の符号化済みの画像情報から予測した被写体数を設定する場合とがある。
(2)ブロック内に被写体数だけの被写体が存在すると仮定して、被写体ごとに1つの画素値を、被写体を識別する被写体識別子に対応づけて被写体画素値として設定する。この被写体画素値の設定では、ブロック内の画素値を解析して設定する場合と、ブロック周辺の符号化済みの画像情報から被写体画素値を予測して設定する場合とがある。
(3)ブロック内の各画素の画素値と被写体画素値とから、ブロック内の各画素にどの被写体が撮影されているかを被写体識別子で示す被写体マップを生成する。
(4)被写体マップに従って各画素に被写体画素値の値を割り当てることでブロックに対する予測画像を生成する。
(5)被写体マップを符号化する。
(6)予測画像を用いてブロックに対する画像信号を予測符号化する。
(7)被写体数については、符号化する場合と、符号化しない場合がある。
上記(1)の被写体数を設定するステップにおいて、予め定められた被写体数を設定した場合と、ブロック周辺の符号化済みの画像情報から予測した被写体数を設定した場合には、復号側で復号済みの画像情報から同じ情報を得られるので、符号化はしない。被写体数として、ブロック内の画素値を解析して設定した場合には、被写体数の符号量を少なくするため、被写体数を予測符号化する。すなわち、実際の被写体数と、ブロック周辺の符号化済みの画像情報から予測した被写体数との差分値を符号化する。
(8)被写体画素値についても、符号化する場合と、符号化しない場合がある。上記(2)の被写体画素値を設定するステップにおいて、ブロック周辺の符号化済みの画像情報から予測した被写体数を設定した場合には、復号側で復号済みの画像情報から同じ情報を得られるので、符号化はしない。被写体画素値として、ブロック内の画素値を解析して設定した場合には、被写体画素値の符号量を少なくするため、被写体画素値を予測符号化する。すなわち、予測画像の生成に用いる被写体画素値と、ブロック周辺の符号化済みの画像情報から予測した被写体画素値との差分値を符号化する。また、例えば被写体画素値が昇順に並ぶ場合に、直前の被写体画素値からの増分の情報を符号化してもよい。
(9)以上の被写体マップの符号データ、画像信号の符号データ、さらに被写体数を符号化した場合にはその符号データ、また、被写体画素値を符号化した場合にはその符号データを多重化して出力する。
予測画像の生成に「予測方向」という情報を用いていた従来技術と比較して、本発明は、付加情報の符号量が増加するが、正確な予測画像を生成することで、予測残差の符号化に必要な符号量を大幅に減らし、トータルとしてブロックあたりに必要な符号量を削減することができる。
ブロックによって写っている被写体の数が異なる場合というのは、次の2つの場合が考えられる。ある被写体が隣接領域には存在するが、現在のブロックには存在しない場合と、ある被写体が隣接領域には存在しないが、現在のブロックには存在する場合である。つまり、現在のブロックの被写体数は、隣接領域の被写体の数を基準として、増加もしくは減少すると言える。
そのため、現在のブロックの被写体数を符号化する場合に、被写体数をそのまま符号化するのではなく、「被写体数の増減」の情報を符号化することで、必要な符号量を削減できる。
ブロックによって写っている被写体の色彩が異なる場合というのは、次の2つの場合が考えられる。(a)隣接領域と同じ被写体であるが照明効果が異なる場合、(b)隣接領域には被写体が存在しない場合である。
(a)の照明効果の場合、同じ被写体の色彩であるため、その色彩の違いは、隣接領域の被写体の色彩を基準として、変化したものと言える。そのため、現在のブロックの被写体画素値を符号化する場合には、被写体画素値をそのまま符号化するのではなく、「被写体画素値の変化」の情報を符号化することで、必要な符号量を削減できる。
(b)の新たな被写体の場合、隣接領域にはその被写体が存在しなかったことから、「予測被写体画素値」は有効な予測であるとは言えないが、被写体画素値をその値が小さな順に符号化している場合、被写体画素値をそのまま符号化するのではなく、直前に符号化した被写体画素値からの増分の情報を符号化することで、必要な符号量を削減することができる。
(1)処理対象のブロック内に存在する被写体の数を被写体数として設定する。この被写体数の設定では、予め定められた被写体数を設定する場合と、ブロック周辺の復号済みの画像情報から予測した被写体数を設定する場合と、符号データを復号して得られた被写体数を設定する場合とがある。被写体数を符号データから復号する場合には、ブロック周辺の復号済みの画像情報から予測した被写体数を用いて復号する。
(2)各被写体識別子に対応づけられた被写体画素値を設定する。この被写体画素値の設定では、ブロック周辺の復号済みの画像情報から予測した被写体画素値を設定する場合と、符号データを復号して得られた被写体画素値を設定する場合とがある。被写体画素値を符号データから復号する場合には、ブロック周辺の復号済みの画像情報から予測した被写体画素値または直前に復号した被写体画素値などを用いて復号する。
(3)符号データから被写体マップを復号する。
(4)被写体マップに従って各画素に被写体画素値の値を割り当てることでブロックに対する予測画像を生成する。
(5)予測画像を用いてブロックに対する画像信号を符号データから復号する。
これにより、処理領域内の各被写体を代表する画素値と、処理領域内の各画素の被写体を識別するための情報とを用いた任意の被写体形状に対応した高精度な画像信号予測を行う際に必要となる「処理領域内の被写体数」や「処理領域内の各被写体を代表する画素値」の符号化に必要な符号量を減らし、効率的な画像符号化を実現することが可能となる。
まず、第1実施形態について説明する。
図1は、本発明の第1実施形態による画像符号化装置の構成例を示すブロック図である。
画像符号化装置100は、図1に示すように、符号化対象フレーム入力部101、符号化対象フレームメモリ102、被写体数設定部103、被写体画素値設定部104、被写体マップ生成部105、被写体マップ符号化部106、予測画像生成部107、画像信号符号化部108、画像信号復号部109、復号画像メモリ110、および多重化部111を備えている。
符号化対象フレームメモリ102は、入力された符号化対象フレームを蓄積する。
被写体数設定部103は、予め定められた大きさの処理領域に含まれる被写体数を設定する。
被写体画素値設定部104は、処理領域に与えられた数の被写体が存在すると仮定して、処理領域の周辺の復号画像を用いて、被写体ごとに被写体を代表する画素値を設定する。処理領域の被写体ごとに生成された被写体を代表する画素値を被写体画素値と呼ぶ。
被写体マップ符号化部106は、被写体マップを符号化する。
予測画像生成部107は、処理領域に対して生成された被写体画素値と被写体マップから、処理領域に対する予測画像を生成する。
画像信号復号部109は、処理領域ごとに予測画像を用いて符号化対象フレームの画像信号の符号データを復号する。
復号画像メモリ110は、復号された画像信号を蓄積する。
多重化部111は、被写体マップの符号データと、符号化対象フレームの画像信号の符号データを多重化して出力する。
符号化対象フレームの格納が終了したら、符号化対象フレームを分割し、分割した領域ごとに、符号化対象フレームの画像信号を符号化する(ステップS102~S112)。
つまり、符号化対象ブロックインデックスをblk、総符号化対象ブロック数をnumBlksで表すとすると、blkを0で初期化し(ステップS102)、その後、blkに1を加算しながら(ステップS111)、blkがnumBlksになるまで(ステップS112)、以下の処理(ステップS103~S110)を繰り返す。
ここで、復号画像メモリ110に蓄積されているブロックblkの周辺画素の集合を第1の参照画素と呼ぶ。この第1の参照画素の選び方や第1の参照画素に対する画素値から被写体数numObjsを設定する方法には、復号側と同じ処理であれば、どのような方法を用いてもかまわない。
被写体数を設定する処理では、図3Aに示すように、まず、復号画像メモリ110に蓄積されているブロックblkの周辺画素の集合であるところの第1の参照画素を設定する(ステップS1031)。
次に、第1の参照画素に含まれる画素の情報(位置や画素値)を解析して被写体数を決定する(ステップS1032)。
まず、被写体数numObjsを1で初期化した後(ステップS10321)、第1の参照画素に含まれる画素群をnumObjs個のクラスタに分割し(ステップS10322)、各クラスタに対してクラスタ内の画素の画素値の分散値varを計算し、その最大値をmaxVarとする(ステップS10323~S10328)。
maxVarが予め定められた閾値thよりも小さければ(ステップS10329)、被写体数として現在のnumObjsを採用し、処理を終了する。
そうでない場合には、numObjsに1を加えて(ステップS10330)、再度クラスタリングする処理(ステップS10322)に戻って同様に処理を繰り返す。
また、被写体数が多い場合には、後述する被写体マップの符号量が大きくなり効率的な符号化を実現できないため、被写体数に最大値を別途設定し、その最大値を超えない範囲で設定するようにしてもよい。
以下では、この被写体を代表する画素値を被写体画素値と呼び、Value(i)と表す。ここで、iは被写体を識別するための被写体識別子とし、0以上numObjs未満の整数である。被写体識別子は予め定められた規則に従って割り当てる。ここでは、被写体画素値が小さい順に割り当てられているとする。
また、ここで使われる復号画像メモリ110に蓄積されているブロックblkの周辺画素の集合を第2の参照画素と呼ぶ。第2の参照画素の選び方や第2の参照画素に対する画素値を用いて被写体画素値を決定する方法には、復号側と同じ処理であれば、どのような方法を用いてもかまわない。
なお、第1の参照画素と第2の参照画素が同じであり、被写体数を設定する際にクラスタリングを用いている場合には、被写体数の設定と同時に被写体画素値を設定してもかまわない。
被写体画素値を設定する処理では、図4Aに示すように、まず、復号画像メモリ110に蓄積されているブロックblkの周辺画素の集合であるところの第2の参照画素を設定する(ステップS1041)。
次に、第2の参照画素に含まれる画素の情報(位置や画素値)を解析して、numObjs個の被写体画素値Value(i)を決定する(ステップS1042)。
まず、第2の参照画素に含まれる画素群をnumObjs個のクラスタに分割する(ステップS10421)。なお、クラスタリングに用いる情報としては、画素位置や画素値が使用できる。
クラスタリングが終了したならば、クラスタごとに、そのクラスタに含まれる画素群に対して画素値の平均値または中央値を求める(ステップS10422~S10425)。
その後、得られた値を予め定められた順(ここでは昇順)にソートして、Value(i)とする(ステップS10426)。
例えば、第1の参照画素と第2の参照画素が異なる場合には、第1の参照画素を用いて求めたnumObjsが、第2の参照画素を分割するのに最適なクラスタ数でない可能性がある。そのため、このように第2の参照画素に対して、再度最適なクラスタを求めることで、より適切な被写体画素値を設定することが可能となる。
ここで、被写体マップとは、ブロックblkの各画素に対して、被写体識別子を割り当てたものであり、例えば図5のような2次元情報である。
各画素に対して被写体識別子を割り当てる方法としては、各画素に対して、その画素値に最も近い被写体画素値を持つ被写体識別子を割り当てる方法がある。
可能性のある全ての被写体マップを被写体マップ候補にしてもかまわないし、限定した幾つかの特徴的な被写体マップのみを被写体マップ候補にしてもかまわない。
特徴的な被写体マップとしては、各画素に対して、その画素値に最も近い被写体画素値を持つ被写体識別子を割り当てて生成した被写体マップや、全ての画素が同じ被写体識別子となるような被写体マップ、水平や垂直に2分割された被写体マップなどがある。
符号化にはどのような方法を用いてもかまわない。例えば、被写体数に応じて各被写体識別子に固定長または可変長の符号を割り当て、ラスタースキャンやジグザグスキャンなどを用いて2次元のマップ情報を1次元のバイナリデータへ変換することで符号化してもかまわない。
符号化対象の画素との位置関係で第3の参照画素となる画素群を決定する場合、該当する位置の画素が画面外であったり、被写体マップを用いないH.264のイントラ予測などで予測符号化されていたりすることがある。
そのような画素に対しては予め定められた被写体識別子を割り当てるか、不明のラベルを割り当てて確率テーブルを別途定義してもかまわない。
一般に同じ被写体は連続して出現するため、このように(周辺画素による)周辺の状況を用いることで、符号化対象シンボルの発生確率をより高精度に表現することが可能となり、算術符号化における符号化効率を向上させることが可能となる。
なお、上記の例では隣接する3つの画素を第3の参照画素として設定したが、より多くの周辺画素の情報を用いることで、発生確率をより高精度に予測することが可能となる。
例えば、各ノードに対して、そのノードに対応するブロック内の全ての画素の被写体識別子が同じか否かを表すバイナリ情報を付加し、子ノードとして、被写体識別子が全て同じ場合にはその被写体識別子の番号を持つリーフ、被写体識別子が全て同じではない場合には自身のブロックを4分割して生成したサブブロックに対応する4つのノードを定義して木構造の情報を生成することができる。
なお、対応するブロックが1画素になった場合には、全ての画素の被写体識別子が同じか否かを表すバイナリ情報のノードを省略することができる。
図5の被写体マップに対して、以上の方法により生成した木構造を図7に示す。
図7では、各ノードに対して、そのノードに対応するブロック内の全ての画素の被写体識別子が同じである場合にはバイナリ情報の「1」、そうでない場合はバイナリ情報の「0」を付加している。
図5の被写体マップに対して、この方法で生成した木構造が図8である。
深さ優先探索は、探索対象となる木の最初のノードから、目的のノードが見つかるか子のないノードに行き着くまで、深く伸びていき、その後は最も近くの探索の終わっていないノードまで戻るような探索である。
一方、幅優先探索は、深さの浅い点(頂点からたどるノードの数が少ない点)から順番に、また、左側にある頂点から順番に、というルールを持つ探索である。
なお、リーフとリーフ以外を分けて符号化することも可能である。
図7を木の深さ優先探索によりスキャンした結果の数列は、01001000222110221201011000011111となる。
これをリーフとそれ以外とで分けると、リーフは0002221221201000111 、リーフ以外は0101010011011 となる。
図8を木の深さ優先探索によりスキャンした結果の数列は、0101013332033230120111222 となる。
例えば、図7のリーフ以外を符号化する場合、各ノードに対応するブロックに隣接する画素の被写体識別子を調べ、最も画素数が多い被写体識別子に対する画素数に応じて確率テーブルを切り替える方法がある。
また、図7のリーフを符号化する場合には、各ノードに対応するブロックに隣接する画素の被写体識別子の状況に応じて確率テーブルを切り替える方法がある。
なお、確率テーブルは復号側で同じものが得られる限りは、固定のものであっても、それまでの符号化履歴に応じて更新を行う可変の確率テーブルであってもかまわない。
具体的には、各画素に対して、被写体マップから得られる被写体識別子に対応する被写体画素値を割り当てることで予測画像を生成する。
被写体マップと被写体画素値を用いた予測画像では、被写体数と同じ数の画素値しか存在しないため、自然画とは異なる性質をもつ画像となる。そのため、ディザを加える(存在する画素値を組み合わせて、全体の画像中で中間の画素値を表現する)ことでより自然画に近い変化を与えることができる。
ディザ生成には任意の方法を用いることが可能であるが、復号側で同じものを発生できるようにする必要がある。そのために付加情報が必要な場合には、その付加情報を符号化する必要がある。
符号化にはどのような方法を用いてもかまわない。MPEG-2やH.264/AVCなどの一般的な符号化では、ブロックblkの画像信号と予測画像との差分信号に対して、DCTなどの周波数変換、量子化、2値化、エントロピー符号化を順に施すことで符号化を行う。
ここでは、符号化時に用いられた手法に対応する手法を用いて符号データを復号する。例えば、MPEG-2やH.264/AVCなどの一般的な符号化であれば、符号データに対して、エントロピー復号、逆2値化、逆量子化、IDCTなどの周波数逆変換を順に施し、得られた2次元信号に対して予測信号を加え、最後に画素値の値域でクリッピングを行うことで画像信号を復号する。
復号して得られた画像信号は、他のブロックを符号化する際に、被写体数や被写体画素値を生成または予測するために用いられる。
なお、ここではブロックごとに多重化しているが、フレーム単位で多重化してもかまわない。ただし、その場合には復号側で1フレーム分の符号データをバッファリングしてから復号する必要が生じる。
その場合、設定されなかった方の情報は、ブロックblkの画素値を分析して設定し、設定された情報を符号化し、その符号データを被写体マップの符号データと画像信号の符号データと共に多重化して出力することになる。
図9に示す画像符号化装置100′が、図1に示す画像符号化装置100と違う点は、被写体画素値設定部104が設定した各被写体の被写体画素値を符号化する被写体画素値符号化部112を有し、被写体画素値符号化部112が符号化した被写体画素値の符号データを、付加情報として多重化部111で多重化することである。他の構成は、図1に示した画像符号化装置100と同様である。
次に、本発明の第2実施形態について説明する。
図10は本発明の第2実施形態による画像符号化装置の構成例を示すブロック図である。
画像符号化装置200は、図10に示すように、符号化対象フレーム入力部201、符号化対象フレームメモリ202、被写体数設定部203、被写体画素値設定部204、被写体マップ生成部205、被写体数予測部206、被写体数符号化部207、被写体マップ符号化部208、被写体画素値予測部209、被写体画素値符号化部210、予測画像生成部211、画像信号符号化部212、画像信号復号部213、復号画像メモリ214、および多重化部215を備えている。
符号化対象フレームメモリ202は、入力された符号化対象フレームを蓄積する。
被写体数設定部203は、予め定められた大きさの処理領域に含まれる被写体数を設定する。
被写体画素値設定部204は、処理領域に与えられた数の被写体が存在すると仮定して、処理領域に対する入力フレームの画素値を用いて、被写体ごとに被写体を代表する画素値を設定する。この処理領域の被写体ごとに生成された被写体を代表する画素値を被写体画素値と呼ぶ。
被写体マップ生成部205は、処理領域内の各画素に撮影されている被写体を識別する情報を表す被写体マップを生成する。
被写体数符号化部207は、予測被写体数を用いて被写体数を符号化する。
被写体マップ符号化部208は、被写体マップを符号化する。
被写体画素値予測部209は、処理領域に与えられた数の被写体が存在すると仮定して、処理領域の周辺の復号画像を用いて、被写体画素値の予測値を設定する。この被写体画素値の予測値を予測被写体画素値と呼ぶ。
被写体画素値符号化部210は、予測被写体画素値を用いて被写体画素値を符号化する。
画像信号符号化部212は、処理領域ごとに予測画像を用いて符号化対象フレームの画像信号を符号化する。
画像信号復号部213は、処理領域ごとに予測画像を用いて符号化対象フレームの画像信号の符号データを復号する。
復号画像メモリ214は、復号された画像信号を蓄積する。
多重化部215は、被写体数の符号データと、被写体マップの符号データと、被写体画素値の符号データと、符号化対象フレームの画像信号の符号データを多重化して出力する。
符号化対象フレームの格納が終了したら、符号化対象フレームを分割し、その領域ごとに、符号化対象フレームの画像信号を符号化する(ステップS202~S216)。
つまり、符号化対象ブロックインデックスをblk、総符号化対象ブロック数をnumBlksで表すとすると、blkを0で初期化し(ステップS202)、その後、blkに1を加算しながら(ステップS215)、blkがnumBlksになるまで(ステップS216)、以下の処理(ステップS203~S214)を繰り返す。
具体的には、符号化対象ブロックの画素に対してk-means法やAffinity Propagationなどのクラスタリング手法を用いて、各クラスタ内の画素値分散が予め定められた値以下になるクラスタリング結果のうち、最小のクラスタ数を被写体数にする方法がある。クラスタリングに用いる尺度としては、画素値のみを用いてもかまわないし、画素値と画素位置とからなる値を用いてもかまわない。
別の方法としては、被写体数の候補ごとに、その被写体数を設定して符号化した場合の符号量と歪み量との重み付き和で与えられるレート歪みコストを計算し、そのコストが最小になる被写体数を設定する方法がある。
また、被写体数が大きくなると符号化効率が低下する場合があるため、被写体数の最大値を予め定めておき、被写体数が一定値以上になるのを防いでもかまわない。
ここで使用される復号画像メモリ214に蓄積されているブロックblkの周辺画素の集合を第1の参照画素と呼ぶ。
ここでの処理は、求められた値が予測被写体数となる以外は、第1実施形態におけるステップS103で被写体数を設定する処理と同じであり、第1の参照画素の選び方や第1の参照画素に対する画素値から予測被写体数を設定する方法には、復号側と同じ処理であれば、どのような方法を用いてもかまわない。
符号化にはどのような手法を用いてもかまわない。例えば、符号テーブルを用意しておき、差分値に該当する符号語を出力する形で符号化を行ってもかまわない。
なお、前述のような符号テーブルを用意する場合には、0付近の符号長を短く設定することで相関を利用した効率的な符号化を実現することができる。
以下では、この被写体を代表する画素値を被写体画素値と呼び、Value(i)と表す。ここで、iは被写体を識別するための被写体識別子とし、0以上numObjs未満の整数である。また、被写体識別子は予め定められた規則に従って割り当てる。ここでは、被写体画素値が小さい順に割り当てられているとする。
なお、被写体数を設定する際に、ブロックblkの画素をクラスタリングしている場合には、被写体数の設定と同時に被写体画素値を設定してもかまわない。
以下では、予測被写体画素値をPredValue(j)と表す。インデックス値jは予測被写体画素値に対して、被写体識別子を被写体画素値に割り当てた規則と同じ規則に従って割り当てられているものとする。つまり、被写体画素値が小さい順に被写体識別子が割り当てられている場合、予測被写体画素値が小さい順にインデックス値が割り当てられているとする。
符号化にはどのような手法を用いてもかまわない。例えば、ある被写体識別子に対応する被写体画素値を符号化する場合に、同じ値をインデックス値に持つ予測被写体画素値との差分値を、符号テーブルを参照して符号化してもかまわない。
また、差分値をそのまま符号化するのではなく、差分値を別途与えられた量子化パラメータに従って量子化した結果の値を符号化してもかまわない。この場合、量子化パラメータが別途符号化される必要があるが、別の場所で用いた量子化パラメータを流用する場合には、ここで改めて符号化する必要はない。
次に、それを復号して復号被写体画素値DecValue(0)を得る。なお、前記の予測差分を量子化して符号化するなど、歪みありで符号化する場合には、DecValueとValueとが一致しないことがあるが、予測差分を歪みなしで符号化する場合、DecValueとValueは完全に一致するため、復号処理を行う必要はない。
次に、被写体識別子がkの被写体画素値をkが小さい順に符号化する。なお、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)が計算される。
なお、被写体画素値の符号化において量子化などを用いた歪みあり符号化が行われた場合には、符号化された被写体画素値を復号して得られる復号被写体画素値を、被写体画素値の代わりに用いる。すなわち、歪みあり符号化が行われた被写体画素値を用いる場合は、被写体画素値符号化部の出力を別途設ける被写体画素値復号部などに入力し、その出力が被写体マップ生成部や、後述する予測画像生成部に入力されるようにする。
なお、被写体画素値の符号化において量子化などを用いた歪みあり符号化が行われた場合には、符号化された被写体画素値を復号して得られる復号被写体画素値を、被写体画素値の代わりに用いる。
ここでの処理は第1実施形態のステップS108と同じであり、符号化にはどのような方法を用いてもかまわない。
復号して得られた画像信号は、他のブロックを符号化する際に、被写体数や被写体画素値を生成または予測するために用いられる。ここでの処理は第1実施形態のステップS109と同じであり、符号化時に用いられた手法に対応する手法を用いて符号データを復号する。
なお、ここではブロックごとに多重化しているが、フレーム単位で多重化してもかまわない。ただし、その場合には復号側で1フレーム分の符号データをバッファリングしてから復号する必要が生じる。
つまり、被写体マップに現れた被写体識別子に対する被写体画素値のみを出力する符号データに含めるようにすることで、復号に必要のない被写体画素値の符号量を削減することが可能となる。
なお、被写体画素値の符号化において歪みあり符号化を行っていた場合には、再符号化前と後とで復号して得られる被写体画素値の値が同じになるように制御するか、再符号化した結果を用いて被写体マップを再度生成しても構わない。
次に、本発明の第3実施形態について説明する。
図12は、第3実施形態による画像復号装置の構成例を示すブロック図である。
画像復号装置300は、図12に示すように、符号データ入力部301、符号データメモリ302、分離部303、被写体数設定部304、被写体画素値設定部305、被写体マップ復号部306、予測画像生成部307、画像信号復号部308、および復号画像メモリ309を備えている。
符号データメモリ302は、入力された符号データを蓄積する。
分離部303は、多重化された符号データを複数の異なる情報が符号化されている符号データへと分離する。
被写体画素値設定部305は、処理領域に与えられた数の被写体が存在すると仮定して、処理領域の周辺の復号画像を用いて、被写体ごとに被写体を代表する画素値を設定する。処理領域の被写体ごとに生成された被写体を代表する画素値を被写体画素値と呼ぶ。
予測画像生成部307は、処理領域に対して被写体画素値と被写体マップから、処理領域に対する予測画像を生成する。
画像信号復号部308は、処理領域ごとに予測画像を用いて符号データから復号対象フレームの画像信号を復号する。
復号画像メモリ309は、復号された画像信号を蓄積する。
符号データの格納が終了したら、復号対象フレームを分割し、その領域ごとに、復号対象フレームの画像信号を復号する(ステップS302~S310)。
つまり、復号対象ブロックインデックスをblk、総復号対象ブロック数をnumBlksで表すとすると、blkを0で初期化し(ステップS302)、その後、blkに1を加算しながら(ステップS309)、blkがnumBlksになるまで(ステップS310)、以下の処理(ステップS303~S308)を繰り返す。
第3実施形態では、複数の情報の符号データがブロック単位でインターリーブされている(ブロック毎に各情報の符号データが順番に記憶されている)例で説明しているが、フレームなど異なる単位でインターリーブされている場合には、この符号データの分離をブロック単位で繰り返す必要はない。
ここで用いた復号画像メモリ309に蓄積されているブロックblkの周辺画素の集合を第1の参照画素と呼ぶ。ここでの処理は第1実施形態のステップS103と同じであり、この第1の参照画素の選び方や第1の参照画素に対する画素値からnumObjsを設定する方法には、符号化側と同じ処理であれば、どのような方法を用いてもかまわない。
以下では、この被写体を代表する画素値を被写体画素値と呼び、Value(i)と表す。ここで、iは被写体を識別するための被写体識別子とし、0以上numObjs未満の整数である。被写体識別子は予め定められた規則に従って割り当てる。ここでは、被写体画素値が小さい順に割り当てられているとする。
また、ここで使われる復号画像メモリ309に蓄積されているブロックblkの周辺画素の集合を第2の参照画素と呼ぶ。ここでの処理は第1実施形態のステップS104の処理と同じであり、第2の参照画素の選び方や第2の参照画素に対する画素値を用いて被写体画素値を決定する方法には、符号化側と同じ処理であれば、どのような方法を用いてもかまわない。
その場合には、符号データとして与えられた1次元のバイナリデータを順に走査し、対応する被写体識別子が見つかるごとに、ラスタースキャンやジグザグスキャンなど、符号化時と同じ順に、画素ごとに被写体識別子を割り当てていくことで復号を行う。
そのような場合には、使用されたスキャン順と同様の順に画素ごとに、周囲の既に復号済みの画素を参照画素に設定し、その画素における被写体識別子に応じて、確率テーブルを変化させながら算術復号を行う。
確率テーブルの数や初期値、更新方法、設定方法は符号化時と同じ手法を用いることで正しく復号を行うことが可能である。
例えば、可変確率テーブルを用いた算術符号化が行われている場合には、符号化時と同じ方法で確率テーブルを更新しながら符号データから非圧縮のバイナリ列を復号する。非圧縮のバイナリ列は、符号化時に用いたものと同じ固定長または可変長のテーブルを参照して逆変換を行い、符号化前の数列を復号する。
なお、木構造の定義も符号化側と共有している必要がある。例えば、ブロックblkをルートとして、各ノードは0~numObjsの数字を持ち、0が割り当てられているノードは4つの子ノードを持つ木構造が定義され、木を深さ優先探索でスキャンして数列を生成している場合、数列0100133332033231020232222 が与えられた場合には、図14のような木が復元されることになる。
例えば、木のルートはブロックblk全体を現し、子ノードは親ノードを縦横2等分してできる4つのサブブロック(ラスタースキャン順)に対応しており、各ノードに割り当てられた0以外の数字から1を引いた数が、対応するブロックに含まれる全ての画素の被写体識別子を示している場合、図14の木からは図15の被写体マップを復号することが可能である。
被写体マップと被写体画素値を用いた予測画像では、被写体数と同じ数の画素値しか存在しないため、自然画とは異なる性質をもつ画像となる。そのため、ディザを加えることでより自然画に近い変化を与えることができる。
ディザ生成には任意の方法を用いることが可能であるが、ディザを加えるか否かを含めて、符号化側と同じ手法を用いる必要がある。なお、符号データにディザ生成装置の初期化等に必要な付加情報が含まれている場合には、それを復号して用いる。
画像信号の復号は、符号化時に用いられた方法に応じて異なる。例えば、MPEG-2やH.264/AVCなどの一般的な符号化が用いられている場合には、符号データに対して、エントロピー復号、逆2値化、逆量子化、IDCTなどの周波数逆変換を行うことで予測残差を復号し、その結果に予測画像を加えることでブロックblkの画像信号を復元する。
復号して得られた画像信号は、他のブロックを復号する際に、被写体数や被写体画素値を生成または予測するために用いられる。
図16に示す画像復号装置300′が、図12に示す画像復号装置300と違う点は、被写体画素値設定部305の代わりに、被写体画素値復号部310を有し、被写体画素値復号部310は、分離部303で分離した被写体画素値の符号データから、各被写体の被写体画素値を復号することである。他の構成は、図12に示した画像復号装置300と同様である。
次に、本発明の第4実施形態について説明する。
図17は、第4実施形態による画像復号装置の構成例を示すブロック図である。
画像復号装置400は、図17に示すように、符号データ入力部401、符号データメモリ402、分離部403、被写体数予測部404、被写体数復号部405、被写体マップ復号部406、被写体画素値予測部407、被写体画素値復号部408、予測画像生成部409、画像信号復号部410、および復号画像メモリ411を備えている。
符号データメモリ402は、入力された符号データを蓄積する。
分離部403は、多重化された符号データを複数の異なる情報が符号化されている符号データへと分離する。
被写体数復号部405は、処理領域ごとに予測被写体数を用いて符号データから処理領域に含まれる被写体数を復号する。
被写体マップ復号部406は、符号データから被写体マップを復号する。被写体マップとは、処理領域の各画素における被写体を識別するための情報のことである。
被写体画素値予測部407は、処理領域に与えられた数の被写体が存在すると仮定して、処理領域の周辺の復号画像を用いて、被写体画素値の予測値を設定する。この被写体画素値の予測値を予測被写体画素値と呼ぶ。
被写体画素値復号部408は、処理領域ごとに予測被写体画素値を用いて符号データから被写体画素値を復号する。
画像信号復号部410は、処理領域ごとに予測画像を用いて符号データから復号対象フレームの画像信号を復号する。
復号画像メモリ411は、復号された画像信号を蓄積する。
符号データの格納が終了したら、復号対象フレームを分割し、その領域ごとに、復号対象フレームの画像信号を復号する(ステップS402~S412)。
つまり、復号対象ブロックインデックスをblk、総復号対象ブロック数をnumBlksで表すとすると、blkを0で初期化し(ステップS402)、その後、blkに1を加算しながら(ステップS411)、blkがnumBlksになるまで(ステップS412)、以下の処理(ステップS403~S410)を繰り返す。
第4実施形態では、複数の情報の符号データがブロック単位でインターリーブされている例で説明しているが、フレームなど異なる単位でインターリーブされている場合には、この符号データの分離をブロック単位で繰り返す必要はない。
ここで用いた復号画像メモリ411に蓄積されているブロックblkの周辺画素の集合を第1の参照画素と呼ぶ。ここでの処理は第2実施形態のステップS204と同じであり、この第1の参照画素の選び方や第1の参照画素に対する画素値から予測被写体数を設定する方法には、符号化側と同じ処理であれば、どのような方法を用いてもかまわない。
ここで用いる復号の方法は、符号化時に用いられた方法に応じて異なる。例えば、符号データが被写体数と予測被写体数の差分値の値に対するある符号テーブル上の符号語である場合、同じ符号テーブルを使い、符号データに該当する符号語を持つ差分値を見つけ、その値に予測被写体数を加えることで被写体数を復号する。
被写体マップの復号は、符号化時に用いられた方法に応じて異なる。なお、ここでの処理は第3実施形態のステップS306の処理と同じである。
ここでの処理は、第2実施形態におけるステップS207の処理と同じであり、第2の参照画素の選び方や第2の参照画素に対する画素値から予測被写体画素値を設定する方法には、符号化側と同じ処理であれば、どのような方法を用いてもかまわない。
ここで用いる復号の方法は、符号化時に用いられた方法に応じて異なる。以下、いくつか例を挙げるが、どの手法を用いて符号化されているかは、復号側では既知であるか、または何らかの付加情報を用いて通知される。
なお、量子化パラメータが符号化されている場合には、それを先に復号しておく必要がある。別の場所で用いた量子化パラメータを流用する場合には、そのパラメータ値を、先に被写体画素値復号部408へ通知しておく必要がある。
復号して得られた画像信号は、他のブロックを復号する際に、被写体数や被写体画素値を生成または予測するために用いられる。
ここで、mb_typeは予測モードを示す情報であり、H.264/AVCなどのイントラ予測などが混在する場合に、本発明によって符号化されたブロックであるかどうかを判別するための情報である。
この例では、mb_typeが MAP_BASED _PREDと等しい場合に、本発明によって符号化されたブロックであることを示す。なお、もし全てのブロックで本発明を適用する場合、シンタックスmb_typeとその次の条件分岐も必要ない。
また、map _objectは被写体マップ、residuals は画像信号の予測残差を表している。
この例では、residuals をifブロックの中に入れているが、予測モードによらず残差信号を符号化する場合には、ifブロックの外に出してもかまわない。
ここで、diff_num _objects は被写体数の予測残差、num _objects は被写体数、exist(i, j) は被写体マップj内に被写体識別子iが存在する場合にTRUE、そうでない場合にFALSEを返す関数、residual_value _object[i]は被写体識別子がiの被写体画素値の予測残差を表している。
この例では、residuals をifブロックの外に出しているが、予測モードによっては残差信号を符号化しない場合には、ifブロックの内に入れる必要がある。
被写体数Nは整数である。被写体マップは、ブロック内の画素数と同じ長さの1~Nの整数列である。被写体画素値は、予測なしの場合、符号なし整数であり、予測ありの場合、符号付き整数(負の数を考慮)である。
例えば図7の木構造被写体マップの場合、ブロック分割情報は、0101010011011 となり、ブロック内被写体識別子情報は、0002221221201000111 となる。
被写体数予測値は、整数であり、被写体画素値予測値は、入力画像と同じビット深度の符号なし整数である。
図22Bは、その具体例を示しており、被写体数予測値は2であり、被写体識別子0、1、2の被写体画素値予測値は、それぞれ25、123、191となっている。
図23A、23Bは、各ブロックで符号化されるデータの構造の例1を示す図である。この例は、第1実施形態、第3実施形態で用いられる例である。
符号データへの付加情報として、図23Aに示すように、予測モードを示す情報mb_typeと、被写体マップと、予測残差信号とが設定される。
図23Bに、その具体例を示す。本発明を用いた画像予測を行う場合、予測モードを示す情報mb_typeは、 MAP_BASED _PREDとなる。
図24A、24Bは、各ブロックで符号化されるデータの構造の例2を示す図である。この例は、被写体数のデータのみ符号化しない場合の例である。
符号データへの付加情報として、図24Aに示すように、予測モードを示す情報mb_typeと、被写体マップと、各被写体の被写体画素値予測差分値と、予測残差信号とが設定される。被写体画素値予測差分値は、符号付き整数であり、入力画像のビット深度に1ビット加えたビット深度となる。
図24Bに、その具体例を示す。各被写体識別子0、1、2に対して、-2、+3、+10の被写体画素値予測差分値が設定されている。
図25A、25Bは、各ブロックで符号化されるデータの構造の例3を示す図である。この例は、第2実施形態、第4実施形態で用いられる例である。
符号データへの付加情報として、図25Aに示すように、予測モードを示す情報mb_typeと、被写体数予測差分値と、木構造被写体マップと、各被写体の被写体画素値予測差分値と、予測残差信号とが設定される。
図25Bに、その具体例を示す。この例では、被写体マップが木構造で表現されている。
図26A、26Bは、各ブロックで符号化されるデータの構造の例4を示す図である。この例は、被写体数のデータが符号化されず、さらに使用されない被写体識別子がある場合の例である。
符号データへの付加情報として、図26Aに示すように、予測モードを示す情報mb_typeと、ブロック分割情報およびブロック内被写体識別子情報で表現される被写体マップと、各被写体の被写体画素値予測差分値と、予測残差信号とが設定される。
図26Bに、その具体例を示す。この例では、被写体識別子2が使用されていないので、その被写体画素値予測値が符号化されるデータから省かれている。
その場合にはブロックごとにどの方法を用いて符号化したかを示す情報を符号化および復号する必要がある。
その場合、被写体の存在には空間的だけでなく時間的な連続性があることから、周辺の画素を空間方向だけでなく時間方向にも拡張して用いることは容易に類推可能である。
・プログラムを実行するCPU50
・CPU50がアクセスするプログラムやデータが格納されるRAM等のメモリ51
・カメラ等からの符号化対象の画像信号を入力する符号化対象フレーム入力部52(ディスク装置等による画像信号を記憶する記憶部でもよい)
・図1および図2等で説明した処理をCPU50に実行させるソフトウェアプログラムである画像符号化プログラム531が格納されたプログラム記憶装置53
・CPU50がメモリ51にロードされた画像符号化プログラム531を実行することにより生成された多重化符号データを、例えばネットワークを介して出力する多重化符号データ出力部54(ディスク装置等による多重化符号データを記憶する記憶部でもよい)
とが、バスで接続された構成になっている。
また、被写体画素値符号データ記憶部が用いられることもあり、さらに、被写体数符号データ記憶部、被写体数予測値記憶部、被写体画素値予測値記憶部が用いられることもある。
・プログラムを実行するCPU60
・CPU60がアクセスするプログラムやデータが格納されるRAM等のメモリ61
・画像符号化装置が上述した手法により符号化した多重化符号データを入力する多重化符号データ入力部62(ディスク装置等による多重化符号データを記憶する記憶部でもよい)
・図10および図11等で説明した処理をCPU60に実行させるソフトウェアプログラムである画像復号プログラム631が格納されたプログラム記憶装置63
・CPU60がメモリ61にロードされた画像復号プログラム631を実行することにより、多重化符号データを復号して得られた復号画像データを、再生装置などに出力する復号画像データ出力部64
とが、バスで接続された構成になっている。
また、被写体画素値符号データ記憶部が用いられることもあり、さらに、被写体数符号データ記憶部、被写体数予測値記憶部、被写体画素値予測値記憶部が用いられることもある。
従来手法(例えば、H.264/AVC)と本発明を用いた手法(本手法という)との符号量の比較を行う。
1.1 付加情報の符号量
付加情報は、従来手法ではエッジの向きを示す情報であり、2次元ベクトルである。これに対し、本手法による付加情報は、被写体マップ(二次元情報)であり、条件にもよるが、処理ブロックを16×16、被写体数を4とした場合、ビット量は約64倍になる(ただし、エントロピー符号化することで、約4倍程度にすることができる)。
エッジの強い画像においては、予測画像と入力画像とで物体形状が大きく異なると、その予測残差を周波数領域へ変換しても、情報を効率的に低域へ集中させることができず、予測残差の符号量が非常に多くなる。
一般的な符号化レートにおいて、従来手法の予測残差の符号量は、符号量全体の約9割を占める。つまり、全体の符号量を100とすると、付加情報が10で予測残差が90となる。
本手法により、付加情報が4倍、予測残差が1/3になるとすると、本手法によって全体の符号量は70とすることが可能である。
図29に、あるサンプル画像について、本手法と従来手法を用いて符号化した場合の発生符号量および画像品質の比較を示す。
図29に示すグラフにおいて、縦軸のY-PSNRは画像の品質(単位はdB)、横軸のbitrateは符号量(単位はbps/view)を表している。Y-PSNRの値は、大きなほど綺麗な画像であることを示す。
図29のグラフから、Y-PSNRが43dBとなるとき、従来手法(H.264/AVC)では、約650kbpsの符号量が必要であり、本手法では、約325kbpsの符号量が必要であることが分かる。このことから、同じ品質で符号化する場合、本手法によって符号量を半分にできたことが分かる。
図29のグラフから、bitrateが400kbpsとなるとき、従来手法(H.264/AVC)では、約39dBの品質であり、本手法では、約44.5dBの品質であることが分かる。このことから、同じ符号量で符号化する場合、本手法によって5.5dB画質を改善(歪み量を約72%削減)できたことが分かる。
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に記載の画像符号化方法。 - 前記予測された被写体数と、処理領域内の画素に対する画像信号を用いて設定される被写体数とのいずれかを被写体数として設定する被写体数設定ステップと、
前記被写体数設定ステップで前記処理領域内の画素に対する画像信号を用いて設定される被写体数が設定される場合、該被写体数を、前記予測された被写体数または符号化済みの被写体数を用いて予測符号化する被写体数符号化ステップと、をさらに有し、
前記被写体画素値予測ステップでは、処理領域内に前記設定した被写体数と同じ数の被写体が存在すると仮定して、前記被写体画素値を予測する
ことを特徴とする請求項3に記載の画像符号化方法。 - 前記予測された被写体画素値と、処理領域内の画素に対する画像信号を用いて設定される被写体画素値のいずれかを、被写体を識別する被写体識別子に対応づけて設定する被写体画素値設定ステップと、
前記被写体画素値設定ステップで前記処理領域内の画素に対する画像信号を用いて設定される被写体画素値が設定される場合、該被写体画素値を、前記予測された被写体画素値または符号化済みの被写体画素値を用いて予測符号化する被写体画素値符号化ステップと、をさらに有し、
前記被写体マップ生成ステップでは、処理領域内の各画素の画素値と前記被写体画素値設定ステップで設定した被写体画素値とから、前記被写体マップを生成する
ことを特徴とする請求項2または請求項3に記載の画像符号化方法。 - 画像の符号データを復号するに際し、画像フレームを予め定められた大きさの処理領域に分割し、処理領域ごとに各画素の画素値を予測しながら復号を行う画像復号方法であって、
処理領域周辺の既に復号済みの画素に対する画像信号を用いて処理領域内に存在する被写体の数であるところの被写体数を予測する被写体数予測ステップと、
処理領域内の各画素に撮影されている被写体を被写体識別子によって表した被写体マップを前記符号データから復号する被写体マップ復号ステップと、
前記被写体識別子ごとに1つ設定された被写体画素値を前記符号データから復号する被写体画素値復号ステップと、
前記被写体マップに従って各画素に前記被写体画素値の値を割り当てることで処理領域に対する予測画像を生成する予測画像生成ステップと、
前記予測画像を用いて処理領域に対する画像信号を前記符号データから復号する画像信号復号ステップとを有する
ことを特徴とする画像復号方法。 - 画像の符号データを復号するに際し、画像フレームを予め定められた大きさの処理領域に分割し、処理領域ごとに各画素の画素値を予測しながら復号を行う画像復号方法であって、
処理領域内に存在する被写体の数を被写体数として設定する被写体数設定ステップと、
処理領域内の各画素に撮影されている被写体を被写体識別子によって表した被写体マップを前記符号データから復号する被写体マップ復号ステップと、
処理領域内に前記設定した被写体数と同じ数の被写体が存在すると仮定して、 処理領域周辺の既に復号済みの画素に対する画像信号を用いて被写体ごとの代表的な画素値であるところの被写体画素値を予測する被写体画素値予測ステップと、
前記予測された被写体画素値に基づいて、前記被写体マップに従って各画素に被写体画素値の値を割り当てることで処理領域に対する予測画像を生成する予測画像生成ステップと、
前記予測画像を用いて処理領域に対する画像信号を前記符号データから復号する画像信号復号ステップとを有する
ことを特徴とする画像復号方法。 - 画像の符号データを復号するに際し、画像フレームを予め定められた大きさの処理領域に分割し、処理領域ごとに各画素の画素値を予測しながら復号を行う画像復号方法であって、
処理領域周辺の既に復号済みの画素に対する画像信号を用いて処理領域内に存在する被写体の数であるところの被写体数を予測する被写体数予測ステップと、
処理領域内の各画素に撮影されている被写体を被写体識別子によって表した被写体マップを前記符号データから復号する被写体マップ復号ステップと、
前記予測した被写体数に基づいて、処理領域周辺の既に復号済みの画素に対する画像信号を用いて被写体ごとの代表的な画素値であるところの被写体画素値を予測する被写体画素値予測ステップと、
前記予測された被写体画素値に基づいて、前記被写体マップに従って各画素に被写体画素値の値を割り当てることで処理領域に対する予測画像を生成する予測画像生成ステップと、
前記予測画像を用いて処理領域に対する画像信号を前記符号データから復号する画像信号復号ステップとを有する
ことを特徴とする画像復号方法。 - 前記予測された被写体数と、該予測された被写体数または復号済みの被写体数を用いて前記符号データから復号された被写体数とのいずれかを被写体数として設定する被写体数設定ステップ、をさらに有する
ことを特徴とする請求項7に記載の画像復号方法。 - 前記予測された被写体数と、該予測された被写体数または復号済みの被写体数を用いて前記符号データから復号された被写体数とのいずれかを被写体数として設定する被写体数設定ステップ、をさらに有し、
前記被写体画素値予測ステップでは、処理領域内に前記設定した被写体数と同じ数の被写体が存在すると仮定して、前記被写体画素値を予測する
ことを特徴とする請求項9に記載の画像復号方法。 - 前記予測された被写体画素値と、該予測された被写体画素値または復号済みの被写体画素値を用いて前記符号データから復号された被写体画素値とのいずれかを被写体画素値として設定する被写体画素値設定ステップ、をさらに有し、
前記予測画像生成ステップでは、前記被写体画素値設定ステップで設定した被写体画素値の値を各画素に割り当てる、
ことを特徴とする請求項8または請求項9に記載の画像復号方法。 - 画像を伝送または蓄積するにあたり、画像フレームを予め定められた大きさの処理領域に分割し、処理領域ごとに各画素の画素値を予測しながら符号化を行う画像符号化装置であって、
処理領域周辺の既に符号化済みの画素に対する画像信号を用いて処理領域内に存在する被写体の数であるところの被写体数を予測する被写体数予測手段と、
前記予測した被写体数に基づき、処理領域内に存在する被写体ごとに、各被写体を代表する1つの画素値を該被写体を識別する被写体識別子に対応づけて、被写体画素値として設定する被写体画素値設定手段と、
処理領域内の各画素の画素値と被写体画素値とから、処理領域内の各画素にどの被写体が撮影されているかを被写体識別子で示す被写体マップを生成する被写体マップ生成手段と、
前記被写体マップに従って各画素に前記被写体画素値の値を割り当てることで処理領域に対する予測画像を生成する予測画像生成手段と、
前記被写体マップを符号化する被写体マップ符号化手段と、
前記被写体画素値を符号化する被写体画素値符号化手段と、
前記予測画像を用いて処理領域に対する画像信号を予測符号化する画像信号符号化手段とを備える
ことを特徴とする画像符号化装置。 - 画像を伝送または蓄積するにあたり、画像フレームを予め定められた大きさの処理領域に分割し、処理領域ごとに各画素の画素値を予測しながら符号化を行う画像符号化装置であって、
処理領域内に存在する被写体の数を被写体数として設定する被写体数設定手段と、
処理領域内に前記設定した被写体数と同じ数の被写体が存在すると仮定して、処理領域周辺の既に符号化済みの画素に対する画像信号を用いて被写体ごとの代表的な画素値であるところの被写体画素値を予測する被写体画素値予測手段と、
前記予測した被写体画素値に基づき、処理領域内の各画素の画素値から、処理領域内の各画素にどの被写体が撮影されているかを被写体識別子で示す被写体マップを生成する被写体マップ生成手段と、
前記被写体マップに従って各画素に前記被写体画素値の値を割り当てることで処理領域に対する予測画像を生成する予測画像生成手段と、
前記被写体マップを符号化する被写体マップ符号化手段と、
前記予測画像を用いて処理領域に対する画像信号を予測符号化する画像信号符号化手段とを備える
ことを特徴とする画像符号化装置。 - 画像を伝送または蓄積するにあたり、画像フレームを予め定められた大きさの処理領域に分割し、処理領域ごとに各画素の画素値を予測しながら符号化を行う画像符号化装置であって、
前記予測した被写体数に基づき、処理領域周辺の既に符号化済みの画素に対する画像信号を用いて被写体ごとの代表的な画素値であるところの被写体画素値を予測する被写体画素値予測手段と、
前記予測した被写体画素値に基づき、処理領域内の各画素の画素値から、処理領域内の各画素にどの被写体が撮影されているかを被写体識別子で示す被写体マップを生成する被写体マップ生成手段と、
前記被写体マップに従って各画素に前記被写体画素値の値を割り当てることで処理領域に対する予測画像を生成する予測画像生成手段と、
前記被写体マップを符号化する被写体マップ符号化手段と、
前記予測画像を用いて処理領域に対する画像信号を予測符号化する画像信号符号化手段とを備える
ことを特徴とする画像符号化装置。 - 前記予測された被写体数と、処理領域内の画素に対する画像信号を用いて設定される被写体数とのいずれかを被写体数として設定する被写体数設定手段と、
前記被写体数設定手段で前記処理領域内の画素に対する画像信号を用いて設定される被写体数が設定される場合、該被写体数を、前記予測された被写体数または符号化済みの被写体数を用いて予測符号化する被写体数符号化手段と、をさらに有し、
前記被写体画素値設定手段では、前記被写体数設定手段で設定した被写体数と同じ数の被写体が存在すると仮定して,前記被写体画素値を設定する
ことを特徴とする請求項13に記載の画像符号化装置。 - 前記予測された被写体数と、処理領域内の画素に対する画像信号を用いて設定される被写体数とのいずれかを被写体数として設定する被写体数設定手段と、
前記被写体数設定手段で前記処理領域内の画素に対する画像信号を用いて設定される被写体数が設定される場合、該被写体数を、前記予測された被写体数または符号化済みの被写体数を用いて予測符号化する被写体数符号化手段と、をさらに有し、
前記被写体画素値予測手段では、処理領域内に前記設定した被写体数と同じ数の被写体が存在すると仮定して、前記被写体画素値を予測する
ことを特徴とする請求項15に記載の画像符号化装置。 - 前記予測された被写体画素値と、処理領域内の画素に対する画像信号を用いて設定される被写体画素値のいずれかを、被写体を識別する被写体識別子に対応づけて設定する被写体画素値設定手段と、
前記被写体画素値設定手段で前記処理領域内の画素に対する画像信号を用いて設定される被写体画素値が設定される場合、該被写体画素値を、前記予測された被写体画素値または符号化済みの被写体画素値を用いて予測符号化する被写体画素値符号化手段と、をさらに有し、
前記被写体マップ生成手段では、処理領域内の各画素の画素値と前記被写体画素値設定手段で設定した被写体画素値とから、前記被写体マップを生成する
ことを特徴とする請求項14または請求項15に記載の画像符号化装置。 - 画像の符号データを復号するに際し、画像フレームを予め定められた大きさの処理領域に分割し、処理領域ごとに各画素の画素値を予測しながら復号を行う画像復号装置であって、
処理領域周辺の既に復号済みの画素に対する画像信号を用いて処理領域内に存在する被写体の数であるところの被写体数を予測する被写体数予測手段と、
処理領域内の各画素に撮影されている被写体を被写体識別子によって表した被写体マップを前記符号データから復号する被写体マップ復号手段と、
前記被写体識別子ごとに1つ設定された被写体画素値を前記符号データから復号する被写体画素値復号手段と、
前記被写体マップに従って各画素に前記被写体画素値の値を割り当てることで処理領域に対する予測画像を生成する予測画像生成手段と、
前記予測画像を用いて処理領域に対する画像信号を前記符号データから復号する画像信号復号手段とを備える
ことを特徴とする画像復号装置。 - 画像の符号データを復号するに際し、画像フレームを予め定められた大きさの処理領域に分割し、処理領域ごとに各画素の画素値を予測しながら復号を行う画像復号装置であって、
処理領域内に存在する被写体の数を被写体数として設定する被写体数設定手段と、
処理領域内の各画素に撮影されている被写体を被写体識別子によって表した被写体マップを前記符号データから復号する被写体マップ復号手段と、
処理領域内に前記設定した被写体数と同じ数の被写体が存在すると仮定して、 処理領域周辺の既に復号済みの画素に対する画像信号を用いて被写体ごとの代表的な画素値であるところの被写体画素値を予測する被写体画素値予測手段と、
前記予測された被写体画素値に基づいて、前記被写体マップに従って各画素に被写体画素値の値を割り当てることで処理領域に対する予測画像を生成する予測画像生成手段と、
前記予測画像を用いて処理領域に対する画像信号を前記符号データから復号する画像信号復号手段とを備える
ことを特徴とする画像復号装置。 - 画像の符号データを復号するに際し、画像フレームを予め定められた大きさの処理領域に分割し、処理領域ごとに各画素の画素値を予測しながら復号を行う画像復号装置であって、
処理領域周辺の既に復号済みの画素に対する画像信号を用いて処理領域内に存在する被写体の数であるところの被写体数を予測する被写体数予測手段と、
処理領域内の各画素に撮影されている被写体を被写体識別子によって表した被写体マップを前記符号データから復号する被写体マップ復号手段と、
前記予測した被写体数に基づいて、処理領域周辺の既に復号済みの画素に対する画像信号を用いて被写体ごとの代表的な画素値であるところの被写体画素値を予測する被写体画素値予測手段と、
前記予測された被写体画素値に基づいて、前記被写体マップに従って各画素に被写体画素値の値を割り当てることで処理領域に対する予測画像を生成する予測画像生成手段と、
前記予測画像を用いて処理領域に対する画像信号を前記符号データから復号する画像信号復号手段とを備える
ことを特徴とする画像復号装置。 - 前記予測された被写体数と、該予測された被写体数または復号済みの被写体数を用いて前記符号データから復号された被写体数とのいずれかを被写体数として設定する被写体数設定手段、をさらに有する
ことを特徴とする請求項19に記載の画像復号装置。 - 前記予測された被写体数と、該予測された被写体数または復号済みの被写体数を用いて前記符号データから復号された被写体数とのいずれかを被写体数として設定する被写体数設定手段、をさらに有し、
前記被写体画素値予測手段では、処理領域内に前記設定した被写体数と同じ数の被写体が存在すると仮定して、前記被写体画素値を予測する
ことを特徴とする請求項21に記載の画像復号装置。 - 前記予測された被写体画素値と、該予測された被写体画素値または復号済みの被写体画素値を用いて前記符号データから復号された被写体画素値とのいずれかを被写体画素値として設定する被写体画素値設定手段、をさらに有し、
前記予測画像生成手段では、前記被写体画素値設定手段で設定した被写体画素値の値を各画素に割り当てる、
ことを特徴とする請求項20または請求項21に記載の画像復号装置。 - 請求項1から請求項3までのいずれか1項に記載の画像符号化方法をコンピュータに実行させるための画像符号化プログラム。
- 請求項7から請求項9までのいずれか1項に記載の画像復号方法をコンピュータに実行させるための画像復号プログラム。
- 請求項1から請求項3までのいずれか1項に記載の画像符号化方法をコンピュータに実行させるための画像符号化プログラムを記録した、コンピュータ読み取り可能な記録媒体。
- 請求項7から請求項9までのいずれか1項に記載の画像復号方法をコンピュータに実行させるための画像復号プログラムを記録した、コンピュータ読み取り可能な記録媒体。
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)
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)
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)
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)
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 | 日本電信電話株式会社 | 画像符号化方法,画像復号方法,画像符号化装置,画像復号装置およびそれらのプログラム |
-
2010
- 2010-09-29 JP JP2010218037A patent/JP5281624B2/ja active Active
-
2011
- 2011-09-20 WO PCT/JP2011/071315 patent/WO2012043294A1/ja active Application Filing
- 2011-09-20 BR BR112013007464A patent/BR112013007464A2/pt not_active IP Right Cessation
- 2011-09-20 EP EP20110828851 patent/EP2624565A4/en not_active Withdrawn
- 2011-09-20 KR KR1020137007042A patent/KR101550283B1/ko active IP Right Grant
- 2011-09-20 CA CA 2811892 patent/CA2811892A1/en not_active Abandoned
- 2011-09-20 US US13/822,932 patent/US9036933B2/en active Active
- 2011-09-20 CN CN201180045452.6A patent/CN103119941B/zh active Active
- 2011-09-26 TW TW100134544A patent/TWI498006B/zh active
Patent Citations (4)
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)
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)
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 |