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

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

Info

Publication number
WO2012043330A1
WO2012043330A1 PCT/JP2011/071463 JP2011071463W WO2012043330A1 WO 2012043330 A1 WO2012043330 A1 WO 2012043330A1 JP 2011071463 W JP2011071463 W JP 2011071463W WO 2012043330 A1 WO2012043330 A1 WO 2012043330A1
Authority
WO
WIPO (PCT)
Prior art keywords
subject
image
decoding
pixel value
encoding
Prior art date
Application number
PCT/JP2011/071463
Other languages
English (en)
French (fr)
Inventor
信哉 志水
宣彦 松浦
Original Assignee
日本電信電話株式会社
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 日本電信電話株式会社 filed Critical 日本電信電話株式会社
Priority to US13/822,836 priority Critical patent/US9031338B2/en
Priority to BR112013008046A priority patent/BR112013008046A2/pt
Priority to CA 2811898 priority patent/CA2811898A1/en
Priority to EP20110828887 priority patent/EP2624566A4/en
Priority to CN201180045385.8A priority patent/CN103098475B/zh
Priority to KR1020137007041A priority patent/KR101552664B1/ko
Publication of WO2012043330A1 publication Critical patent/WO2012043330A1/ja

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T9/00Image coding
    • G06T9/004Predictors, e.g. intraframe, interframe coding
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T9/00Image coding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N13/00Stereoscopic video systems; Multi-view video systems; Details thereof
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N13/00Stereoscopic video systems; Multi-view video systems; Details thereof
    • H04N13/10Processing, recording or transmission of stereoscopic or multi-view image signals
    • H04N13/106Processing image signals
    • H04N13/161Encoding, multiplexing or demultiplexing different image signal components
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/17Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object
    • H04N19/176Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object the region being a block, e.g. a macroblock
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/20Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using video object coding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/46Embedding additional information in the video signal during the compression process
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/46Embedding additional information in the video signal during the compression process
    • H04N19/463Embedding additional information in the video signal during the compression process by compressing encoding parameters before transmission
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/597Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding specially adapted for multi-view video sequence encoding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N2213/00Details of stereoscopic systems
    • H04N2213/003Aspects relating to the "2D+depth" image format

Definitions

  • the present invention relates to an image encoding and decoding technique, and more particularly to an image encoding method, an image decoding method, an image encoding device, an image decoding device, and their programs suitable for encoding an image such as a distance image. is there.
  • This application claims priority based on Japanese Patent Application No. 2010-218036 for which it applied on September 29, 2010, and uses the content here.
  • a distance image is an image expressing the distance from the camera to the subject as a pixel value. Since the distance from the camera to the subject can be said to be the depth of the scene, the distance image is sometimes called a depth image. Moreover, it may be called a depth map (Depth Map) from the depth (Depth). In the field of computer graphics, the depth is information stored in a Z buffer (a memory area in which the depth of the entire screen is stored together), and is sometimes called a Z image or a Z map. In addition to the distance from the camera to the subject, a coordinate value with respect to the Z axis of the three-dimensional coordinate system stretched over the space to be expressed may be used as the distance (depth).
  • the Z axis coincides with the direction of the camera. In some cases, the Z-axis does not match the camera orientation.
  • distance, depth, and Z value are referred to as distance information without distinction, and an image that represents distance information as a pixel value is referred to as a distance image.
  • a method of using a value corresponding to a physical quantity as a pixel value as it is, a method of using a value obtained by quantizing between a minimum value and a maximum value into a discrete number, There is a method of using a value obtained by quantizing the difference in a step width.
  • the distance information can be expressed with higher accuracy by using additional information such as a minimum value.
  • the reciprocal of the distance information is a value proportional to the parallax
  • the former is used, and when the parallax information needs to be expressed with high accuracy, The latter is often used.
  • all the distance information expressed as an image is referred to as a distance image.
  • One of the uses of distance images is stereoscopic images.
  • a stereo image representation there is a stereo image composed of an observer's right-eye image and left-eye image, but a stereo image can be represented using an image from a certain camera and its distance image. (See Non-Patent Document 1 for detailed technology).
  • the MPEG-C Part. Is a method for encoding a stereoscopic video expressed using a video from one viewpoint and a distance image. 3 (ISO / IEC 23002-3) can be used (refer to Non-Patent Document 2 for details).
  • the distance image is also used as one of data for generating a free viewpoint image in which the viewer can freely move the viewpoint without worrying about the arrangement of the photographing camera.
  • the Such a composite image when a scene is viewed from a camera different from the camera is sometimes called a virtual viewpoint image, and its generation method is actively studied in the field of Image-based Rendering .
  • a representative method for generating a virtual viewpoint video from a multi-view video 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 grayscale image.
  • the subject since the subject exists continuously in the real space and cannot move to a position distant from the moment, it can be said that the subject has a spatial correlation and a temporal correlation like the image signal. Therefore, the distance image and distance moving image are efficient while removing spatial redundancy and temporal redundancy by the image coding method and the moving image coding method used to encode the normal image signal and video signal. It is possible to encode them.
  • MPEG-C Part. 3 encodes a distance video using an existing video encoding method.
  • the video signal of the block to be encoded is predicted from the already encoded video signal, and only the prediction residual is encoded, thereby reducing the information that needs to be encoded and high encoding. Achieve efficiency.
  • Typical prediction methods for video signals include intra-screen prediction, which generates spatial prediction signals from adjacent blocks, and estimation of subject motion from encoded frames taken at different times. There is motion compensated prediction that generates a prediction signal.
  • a prediction error called a prediction residual signal is also converted into data in a frequency space using DCT or the like to use a spatial correlation and a low frequency region. Encoding is performed efficiently by concentrating the energy of the residual signal on the. Details of each method can be found in the MPEG-2 and H.264 international video standards. See H.264 / MPEG-4 AVC (Non-Patent Document 5).
  • the subject has a high spatial correlation because it is continuous in real space, and has a high temporal correlation because it cannot move instantaneously to a distant position. Therefore, it is possible to efficiently encode a distance image represented as a grayscale image by using an existing moving image encoding method using spatial correlation and temporal correlation.
  • FIG. 23 shows an example of a 9 ⁇ 9 pixel block of a certain distance image.
  • the pixel value of one subject is around 50
  • the pixel value of the other subject is around 200.
  • the remaining 8 ⁇ 8 pixels are predicted using information in the first row and first column of this block.
  • the present invention has been made in view of the circumstances as described above, and is an image encoding technique that efficiently encodes an image whose pixel value greatly depends on an object, such as a distance image, and is encoded.
  • An object of the present invention is to provide an image decoding technique for decoding a bitstream.
  • the present invention divides an image frame into processing areas (hereinafter also referred to as blocks) having a predetermined size when transmitting or storing an image, and the pixel value of each pixel for each block.
  • processing areas hereinafter also referred to as blocks
  • an image of each block is expressed as “a pixel representing each subject”.
  • Subject pixel value "Value (hereinafter referred to as subject pixel value)" and "Subject identification information of each pixel”. That is, one subject identification information indicating which subject is one pixel 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, a predicted image holding a complex edge shape can be generated. Since the number of subjects included in the block is limited to several at most, the amount of this information is limited.
  • subject does not mean an individual object being photographed or a person itself, but is an object to which information is added, for example, an area having similar image signals (luminance, color, depth, etc.). . That is, even a single object is regarded as a plurality of subjects if it has different colors depending on the location. Further, an object or a part of the object that does not need to encode an image signal is not regarded as a subject. That is, the subject is not related to the real object (subject) in the frame, and the real object to which no information is given is not the “subject” in the present invention. When two pieces of information are given to one real object, they are handled as different subjects.
  • “Number of subjects” The number of subjects is the number of “subjects” present in the block, and is the number of subjects to which information is to be added.
  • the number of subjects can be generated by analyzing pixel values in the block. For example, the pixels in the block are clustered using information such as pixel values and positions, and the maximum number of clusters in which the evaluation value of each cluster (for example, dispersion of pixel values) is a certain value or less is set as the number of subjects. Is possible. Further, it is possible to give from the outside based on experience or the like, or to use a predetermined value. This number of subjects is used to express the number of subject pixel values, which is one piece of additional information. It is also used to express the maximum value of the subject identifier appearing in the subject map.
  • Subject pixel value One subject pixel value is defined 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 a plurality of color component values such as RGB values may be used.
  • the subject pixel value is generated by analyzing the pixel value in the block. Specifically, the pixels in the block are clustered into “number of subjects” clusters using information such as pixel values and positions, and the average value and median value of the pixel values of the included pixels are calculated for each cluster. Get it. By assigning to each pixel in the block a subject pixel value corresponding to the “subject” of that pixel, it is used to generate a predicted image of that block.
  • Subject map indicates which “subject” exists in each pixel in the block. Specifically, each pixel is represented by a subject identifier associated with a “subject” (subject pixel value). The simplest expression can be expressed as two-dimensional information, but can also be expressed using a tree structure.
  • the subject map is generated by assigning a subject identifier corresponding to a subject pixel value closest to the pixel value to each pixel in the block. It may be generated in consideration of not only the similarity between the pixel value and the subject pixel value but also the number of bits necessary for the representation of the subject map itself.
  • the subject map is used to indicate which subject pixel value is assigned to each pixel in the block when the predicted pixel is generated.
  • Additional information Information used to predict the image (video) signal of the processing target frame in the present invention is referred to as additional information. Additional information is generated in units of blocks to be processed. The additional information basically includes three pieces of information: the number of subjects, the subject pixel value, and the subject map.
  • the following processing is typically performed.
  • the number of subjects existing in the processing area is set as the number of subjects.
  • a subject identifier for identifying a subject and a subject pixel value are associated with each other, and based on the pixel value and the subject pixel value of each pixel in the processing region, which subject is captured at each pixel in the processing region A subject map indicated by the identifier is generated.
  • a predicted image for the processing region is generated by assigning the value of the subject pixel value to each pixel according to the subject map. (5) Encode the subject map.
  • the present invention in order to generate a predicted image, a subject pixel value that is a representative pixel value of the subject, and which subject pixel value is used to generate a predicted image for each pixel Two additional information of the map is used. Compared with the prior art that uses information of “prediction direction” for generating a predicted image, the present invention increases the code amount of the additional information, but by generating an accurate predicted image, the prediction residual can be reduced. The amount of code required for encoding can be greatly reduced, and the amount of code required per processing area such as a block can be reduced as a total.
  • the present invention performs a process of estimating the number of subjects in the processing region from the information on the pixels in the processing region to obtain the number of subjects.
  • the code data of the number of subjects may be multiplexed with other code data as additional information and output. Thereby, the optimal number of subjects can be set for each processing region, and the prediction accuracy can be improved.
  • the present invention checks whether or not the subject identifier is used in the subject map for each subject identifier in the step (6) of encoding the subject pixel value.
  • the subject pixel value corresponding to the subject identifier is encoded, and when the subject pixel value is not used, the encoding of the subject pixel value corresponding to the subject identifier can be omitted. By omitting encoding of subject pixel values that are not used in prediction of pixels in the processing region, the amount of codes can be further reduced.
  • dither is added to the predicted image, and the image signal for the processing region to be encoded is used by using the predicted image with the dither added.
  • Predictive coding may be performed.
  • the following processing is typically performed.
  • the number of subjects existing in the processing area is set as the number of subjects.
  • the subject map is decoded from the code data to be decoded.
  • the subject pixel value set for each subject identifier is decoded from the code data.
  • a predicted image for the processing region is generated by assigning the value of the subject pixel value to each pixel according to the subject map.
  • the image signal for the processing region is decoded from the code data using the predicted image.
  • the image encoded by the image encoding can be decoded.
  • the number of subjects in the step (1) of setting the number of subjects, may be set by decoding from the code data.
  • only the subject pixel value corresponding to the subject identifier appearing in the subject map may be decoded in the step (3) of decoding the subject pixel value.
  • the present invention adds dither to the predicted image, and decodes the image signal for the processing region from the code data using the predicted image to which dither has been added. It may be.
  • a representative pixel value for each subject and subject identification can be applied to an image such as a distance image in which a pixel value greatly depends on a subject and there is only a limited number of subjects locally.
  • an image such as a distance image in which a pixel value greatly depends on a subject and there is only a limited number of subjects locally.
  • FIG. 25 is a diagram illustrating a hardware configuration example in a case where the image decoding device is configured by a computer and a software program. It is a figure which shows the comparison of the generated code amount at the time of encoding using this method and a conventional method. It is a figure which shows the comparison of the image quality at the time of encoding using this method and the conventional method.
  • FIG. 24 is a diagram illustrating a result obtained by applying an 8 ⁇ 8 two-dimensional DCT to the vertical prediction residual illustrated in FIG. 23.
  • one pixel value is set for each subject set in the processing region, information for identifying the subject is given to each pixel in the processing region, and a predicted image is generated. Therefore, it is possible to generate a highly accurate predicted image corresponding to an arbitrary subject shape. In particular, when the pixel value differs greatly depending on the subject, it is possible to match the reference destination and the prediction destination subject so that the prediction accuracy for each pixel is substantially equal.
  • FIG. 1 is a block diagram showing a configuration of an image encoding device according to the first embodiment of the present invention.
  • the image encoding device 100 includes an encoding target frame input unit 101, an encoding target frame memory 102, a subject number setting unit 103, a subject pixel value setting unit 104, a subject pixel value encoding unit 105, A subject map generation unit 106, a subject map encoding unit 107, a predicted image generation unit 108, an image signal encoding unit 109, and a multiplexing unit 110 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 having a predetermined size.
  • the subject pixel value setting unit 104 sets one pixel value for each subject, assuming that there are a given number of subjects in the processing area.
  • the subject pixel value encoding unit 105 encodes a pixel value for each given subject.
  • a pixel value for each subject generated for a certain area is referred to as a subject pixel value.
  • the subject map generation unit 106 identifies a subject photographed at each pixel in the processing region and generates a subject map described later.
  • the subject map encoding unit 107 encodes the generated subject map.
  • the predicted image generation unit 108 generates a predicted image for the processing region from the subject pixel value generated for the processing region and the subject map.
  • the image signal encoding unit 109 encodes the image signal of the encoding target frame using the predicted image for each processing region.
  • the multiplexing unit 110 multiplexes and outputs the code data of the subject pixel value, 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 processing executed by the image encoding device 100 will be described in detail according to this flowchart.
  • an 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 divided region (steps S102 to S112). That is, if the encoding target block index is represented by blk and the total number of encoding target blocks is represented by numBlks, blk is initialized with 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 subject number setting unit 103 sets the number of subjects (subject number numObjs) included in the block blk (step S103).
  • the number of subjects may be determined using any process as long as the process is the same as that on the decoding side. For example, a predetermined number may always be set.
  • a different value for each encoding target block may be set as the number of subjects.
  • a method of setting a different value for each encoding target block there is a method of setting the number of subjects according to the pixel value of the encoding target block. Specifically, using a clustering method such as k-means method or Affinity Propagation for the pixels of the encoding target block, among the clustering results in which the pixel value variance in each cluster is not more than a predetermined value, There is a method of setting the minimum number of clusters to the number of subjects. As a scale used for clustering, only pixel values may be used, or values composed of pixel values and pixel positions may be used. Another method is to calculate the rate distortion cost given by the weighted sum of the amount of code and the amount of distortion when encoding with the number of subjects set for each candidate number of subjects, and the cost is minimized. There is a method of setting the number of subjects.
  • the maximum number of subjects may be determined in advance to prevent the number of subjects from exceeding a certain value.
  • the number of subjects is necessary when decoding the code data, and thus it is necessary to include the set number of subjects in the code data.
  • FIG. 3 is a block diagram of an image encoding device when encoding the number of subjects.
  • a subject number encoding unit 111 for encoding the number of subjects set by the subject number setting unit 103 is added after the subject number setting unit 103 in the image encoding device 100 shown in FIG. To do.
  • the set number of subjects may be encoded as it is, or the difference value from the predicted number of subjects is encoded using information on an already encoded area adjacent to the encoding target block. It doesn't matter if you make it.
  • a prediction method there is a method in which an average value or a median value of the number of subjects used when encoding an already encoded adjacent block is used as a predicted value.
  • the number of subjects may be set and encoded for each set of a plurality of blocks called a frame or a slice instead of encoding for each block. This makes it possible to efficiently encode the number of subjects when the number of subjects changes depending on the region. It is also possible to combine setting / encoding of the number of subjects in units of frames or slices and setting / encoding of the number of subjects for each block. In that case, in the frame or slice unit, the number of subjects considered to apply to many of the plurality of blocks included in the frame or slice is set and encoded, and the amount of change from the number of subjects is set and encoded for each block. The amount of change to be set / encoded for each block can be predicted using information of adjacent already encoded regions and encoded as a prediction difference of the amount of change.
  • the subject pixel value setting unit 104 next sets one pixel value for each subject in the block blk to obtain the subject pixel value Value (i) (step S104).
  • 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 the subject pixel values are assigned in ascending order.
  • any method may be used for setting one pixel value for each subject.
  • the range of pixel values is equally divided into the number of subjects (for example, when the pixel value range is 0 to 255 and the number of subjects is 4, 0 to 63, 64 to 127, 128 to 191 and 192 to 255). 4 intervals), and the median value of each range may be set.
  • the pixels of the block blk are divided into numObjs clusters by using the clustering method as described above, and the average value or the median value of the pixels included in each cluster is determined as the subject pixel value. There is a way to do it.
  • the subject pixel value may be set simultaneously with the setting of the number of subjects.
  • the number of clusters of numObjs or less is divided by the minimum number of clusters in which the maximum pixel value dispersion value in the cluster is smaller than a separately defined threshold value, and the average value or center for each cluster is divided.
  • the value is set to the subject pixel value, and the subject pixel value is appropriately set for the amount that is insufficient for numObjs.
  • the target bit rate is (i) smaller than the threshold A, only one type of subject identifier appears in the subject map regardless of the set number of subjects, and (ii) the threshold is larger than the threshold A. If it is smaller than B, the generation of the subject map can be controlled so that up to two types of subject identifiers appear in the subject map.
  • the code amount of the subject map may become enormous if the processing described later is applied as it is.
  • the subject map generation unit 106 When the subject pixel value is obtained, the subject map generation unit 106 generates a subject map for the block blk (step S105).
  • the subject map 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 subject identifier assigned to each cluster is set for the pixels belonging to the cluster using the result. There is a way to do it.
  • a rate given by a weighted sum of a coding amount and a distortion amount when a plurality of subject map candidates are generated and coding is performed for each subject map candidate.
  • 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 pixels have the same subject identifier, There is a subject map that is divided into two horizontally and vertically.
  • the generated subject map is encoded by the subject map encoding unit 107 (step S106).
  • Any method may be used for encoding. For example, a fixed-length or variable-length code 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 scanning or zigzag scanning. It doesn't matter.
  • the surrounding already encoded pixels are set as reference pixels for each pixel.
  • a probability table of subject identifiers in the target pixel can be defined. That is, in this case, encoding is performed using 27 kinds of probability tables.
  • this probability table may be a fixed one or a variable probability table that is updated according to the previous coding history.
  • this probability table since the same subject appears continuously, it is possible to express the generation probability of the encoding target symbol with higher accuracy by using the surrounding situation (by surrounding pixels) in this way, and arithmetic coding Thus, it is possible to improve the encoding efficiency. Note that the occurrence probability can be predicted with higher accuracy by using information on a wider range of peripheral pixels.
  • a subject map is converted into tree structure information and then encoded.
  • a tree structure in which a plurality of sub-blocks obtained by dividing a block of a parent node (root) is associated with a child node of each node is a block blk as a root.
  • the tree structure an arbitrary definition can be used. For example, binary information indicating whether or not the subject identifiers of all the pixels in the block corresponding to the node are the same is added to each node, and if the subject identifiers are all the same as child nodes, the subject identifier is added. If the leaf and subject identifiers having the numbers are not all the same, the tree structure information can be generated by defining four nodes corresponding to the sub-blocks generated by dividing the block into four. When the corresponding block becomes one pixel, the binary information node indicating whether or not the subject identifiers of all the pixels are the same can be omitted.
  • FIG. 6 shows a tree structure generated by the above method for the subject map of FIG. In FIG. 6, binary information “1” is added to each node when the subject identifiers of all the pixels in the block corresponding to the node are the same, and binary information “0” is added otherwise. is doing.
  • Another definition is that for each node, if the subject identifiers of all the pixels in the block corresponding to the node are the same, the subject identifier number plus one, otherwise 0.
  • the tree is scanned by depth-first search or width-first search, and the information of each node is encoded in the scan order.
  • Depth-first search extends deeply from the first node of the tree to be searched until the target node is found or reaches a node with no children, and then returns to the nearest unfinished node Search.
  • the breadth-first search is a search having a rule that points are in order from a point with a shallow depth (a point having a small number of nodes to be traced from the vertex) and from a vertex on the left side. It is also possible to separately encode the leaf and other than the leaf. The numerical sequence obtained by scanning FIG.
  • the numerical sequence may be binarized as it is as code data, or may be arithmetically encoded while switching the probability table according to the state of the subject identifier in the adjacent pixel.
  • the probability table may be fixed or may be a variable probability table that is updated according to the previous coding history.
  • the subject pixel value encoding unit 105 encodes the subject pixel value for each subject identifier (step S107).
  • the subject pixel value may be encoded as it is, or prediction may be performed using the subject pixel value in the adjacent block or the subject pixel value of the same block that has already been encoded, and only the prediction residual may be encoded.
  • a method of predicting from adjacent blocks there is a method of using an average value or a median value of subject pixel values of adjacent blocks of the same subject identifier as a predicted value.
  • a method of performing prediction using subject pixel values of the same block that have already been encoded when encoding is performed in order of increasing subject pixel values, a value obtained by adding 1 to the immediately preceding subject pixel value is used as the predicted value.
  • the range obtained by adding 1 to the immediately previous encoded subject pixel value is the minimum value
  • the maximum possible pixel value is the maximum value.
  • the remaining subject pixel values that need to be encoded Is divided into partial ranges having substantially the same size, and the median value in the partial range including the minimum value is used as the predicted value. For example, when 51 is encoded as the subject pixel value immediately before and the number of remaining subject pixel values is three, [52, 255] is divided into three partial ranges having the same size, thereby [52, 119 ], [120, 187], [188, 255], and the median value 85 in the range of [52, 119] including the minimum value is used as the predicted value.
  • a partial range having integers at both ends may be generated according to a predetermined rule, or may be expressed using decimal numbers.
  • a predicted value needs to be an integer, when calculating
  • division according to a certain rule other than equal intervals may be performed using prior knowledge. For example, there is a method of dividing so that the size of the partial range is increased to N, 2N, 3N,..., And a method of dividing to be decreased to N, N / 2, N / 3,. .
  • FIG. 8 shows a detailed processing flow in that case.
  • the subject identifier (obj) is initialized to 0 (step S121), and for each subject identifier, it is checked whether or not the subject identifier is used in the subject map (step S122). If it is used, the subject pixel value for the subject identifier is encoded (step S123), and the process proceeds to the next subject identifier (step S124). On the other hand, if not used, the process immediately proceeds to the next subject identifier without performing encoding (step S124). If the above process is repeated for all the subject identifiers, the process ends (step S125).
  • FIG. 9 is a flowchart when the subject pixel value is predicted.
  • a difference from FIG. 8 is that when a subject identifier is used in a subject map, a predicted value of a subject pixel value for the subject identifier is generated (step S133), and a difference value between the predicted value and the subject pixel value is generated. Is encoded (step S134).
  • Any method may be used as a method for checking whether or not a certain subject identifier is used in the subject map. For example, when a subject map is generated and encoded, a flag indicating whether each subject identifier is used is generated before entering the flow of FIG. 8 or FIG. 9, and the flag is checked when checking. There is a method of making a determination by doing.
  • a subject identifier that is not used is generated depending on the subject pixel value setting method or the subject map generation method, such as when a constant number of subjects is always set regardless of the image signal of the block blk. By omitting the encoding of the subject pixel value for the identifier, the amount of code can be reduced.
  • the subject pixel value and the prediction residual of the subject pixel value are encoded as they are, but the quantized value is set using the quantization parameter set for the code amount and the quality target. It may be encoded. In that case, when generating a predicted value, it is necessary to refer to a value obtained by decoding through quantization and inverse quantization.
  • the predicted image generation unit 108 uses the subject map and the subject pixel value to generate a predicted image for the block blk (step S108). Specifically, a predicted image is generated by assigning to each pixel a subject pixel value corresponding to a subject identifier obtained from the subject map. When the subject pixel value is quantized and encoded, it is necessary to generate a predicted image using a value obtained on the decoding side by quantization and inverse quantization.
  • dither may be further added to the predicted image created as described above.
  • the image 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 (by combining existing pixel values to express intermediate pixel values in the entire image), a change closer to a natural image can be given.
  • any method can be used for the dither generation, it is necessary to be able to generate the same on the decoding side. For this reason, when a plurality of dither generation methods are switched or a parameter such as an initial value is required for the dither generation method, it is necessary to encode the information.
  • the image signal encoding unit 109 predictively encodes the image signal for the block blk (step S109). Any method may be used for encoding.
  • MPEG-2 and H.264 In general coding such as H.264 / AVC, coding is performed by sequentially performing frequency conversion such as DCT, quantization, binarization, and entropy coding on a difference signal between an image signal of a block blk and a predicted image. Do.
  • the multiplexing unit 110 multiplexes and outputs the code data of the subject map, the code data of the subject pixel value, and the code data of the image signal (step S110).
  • code data for the number of subjects is also encoded.
  • multiplexing is performed for each block, but multiplexing may be performed for each frame. However, in that case, it is necessary to decode the code data for one frame at the time of decoding.
  • the subject map setting step only needs to set the only subject map candidate, and there is no need to encode the subject map.
  • FIG. 10 is a block diagram showing the configuration of the image decoding apparatus according to the second embodiment.
  • the image decoding apparatus 200 includes a code data input unit 201, a code data memory 202, a separation unit 203, a subject number setting unit 204, a subject map decoding unit 205, a subject pixel value decoding unit 206, and a predicted image generation.
  • Unit 207 and image signal decoding unit 208 are examples of the image signal decoding unit 208.
  • the code data input unit 201 inputs code data of an image frame to be decoded.
  • the code data memory 202 stores the input code data.
  • the separation unit 203 separates the multiplexed code data into code data in which a plurality of different information is encoded.
  • the subject number setting unit 204 sets the number of subjects included in a processing area having a predetermined size.
  • the subject map decoding unit 205 decodes the subject map from the code data.
  • the subject pixel value decoding unit 206 decodes the subject pixel value for each subject from the code data.
  • the predicted image generation unit 207 generates a predicted image for the processing region from the subject pixel value decoded for the processing region and the subject map.
  • the image signal decoding unit 208 decodes the image signal of the decoding target frame from the code data using the predicted image for each processing region.
  • FIG. 11 is a flowchart for explaining the operation of the image decoding apparatus 200 according to the second embodiment. The processing executed by the image decoding device 200 will be described in detail according to this flowchart.
  • the code data input unit 201 inputs code data for a decoding target frame and stores the code data in the code data memory 202 (step S201).
  • the decoding target frame is divided, and the image signal of the decoding target frame is decoded for each divided area (steps S202 to S210). That is, if the decoding target block index is represented by blk and the total number of decoding target blocks is represented by numBlks, blk is initialized with 0 (step S202), and then 1 is added to blk (step S209), and blk is added to numBlks. The following processing (steps S203 to S208) is repeated until it becomes (step S210).
  • the separation unit 203 separates the input code data into code data of a plurality of pieces of information (step S203).
  • code data of a plurality of pieces of information is interleaved in units of blocks (code data of each piece of information is stored in order for each block), but in different units such as frames. In the case of interleaving, it is not necessary to repeat this code data separation in units of blocks.
  • the number-of-subjects setting unit 204 next sets the number of subjects numObjs included in the block blk (step S204).
  • the number of subjects is set using the same processing as that on the encoding side. For example, when a predetermined number is always set on the encoding side, the same number is also set here.
  • the subject number setting unit 204 receives code data of the number of subjects, The value of the result of decoding is set as the number of subjects. Note that the number of subjects may not be set, and even in this case, if the subject map is decoded as described below and the subject pixel value is decoded for each subject identifier appearing there, there is no problem. Can be decrypted.
  • the subject map can be decoded (represented) with a small code amount.
  • FIG. 12 is a block diagram of the image decoding apparatus when the number of subjects is encoded.
  • the subject number setting unit 204 ′ receives code data of the number of subjects separated by the separation unit 203, and decodes it to determine the number of subjects. get.
  • the number of subjects in the block blk is predictively encoded with the average or median number of subjects used when encoding the already processed block adjacent to the block blk as the predicted value In this case, a predicted value is generated by the same method, and a value obtained by adding a value decoded from the code data to the value is set as the number of subjects.
  • the number of subjects is encoded not for each block but for each set of a plurality of blocks called frames or slices.
  • the subject number code data is decoded only once for each frame or slice, and the result is temporarily stored, so that the same value is repeatedly set until the next update timing.
  • the global number of subjects may be encoded for each frame or slice, and the amount of change from there may be encoded for each block.
  • the global subject number code data is decoded only once for each frame or slice, the result is temporarily accumulated, the value of the amount of change decoded for each block is added to the value, and the result Get the number of subjects used in the block.
  • the change amount is predicted from the adjacent block
  • the subject change amount prediction difference is decoded for each block, and the global subject number and the predicted change amount from the adjacent block are added to the value.
  • the number of subjects used in the block is obtained.
  • the subject map decoding unit 205 When the setting of the number of subjects is completed, the subject map decoding unit 205 then decodes the subject map from the separated code data (step S205).
  • the subject map is obtained by assigning a subject identifier to each pixel of the block blk as described above. For example, two-dimensional information as shown in FIG.
  • the decoding of the subject map differs depending on the method used at the time of encoding.
  • encoding is performed by assigning a fixed-length or variable-length code to each subject identifier according to the number of subjects, and converting two-dimensional map information into one-dimensional binary data using raster scan or zigzag scan. It may be done. In that case, one-dimensional binary data given as code data is scanned in order, and each time a corresponding subject identifier is found, subject identifiers are assigned to each pixel in the same order as at the time of encoding, such as raster scan or zigzag scan. Decoding is performed by assigning.
  • a surrounding already encoded pixel is set as a reference pixel for each pixel.
  • arithmetic coding is performed while changing the probability table in accordance with the subject identifier in the reference pixel.
  • the surrounding already decoded pixels are set as reference pixels, and arithmetic is performed while changing the probability table in accordance with the subject identifier in the pixels. Decrypt.
  • the number of probability tables, initial values, update method, and setting method can be correctly decoded by using the same method as that used for encoding.
  • a subject map may be encoded using tree structure data. Even in such a case, it is possible to decode the subject map from the code data by using a method according to the encoding method.
  • a number sequence representing the tree structure data is decoded from the binary sequence of the code data.
  • the uncompressed binary sequence is subjected to inverse conversion with reference to the same fixed length or variable length table used at the time of encoding, and the number sequence before encoding is decoded.
  • each node has a number from 0 to numObjs, a tree structure having four child nodes is defined for the node to which 0 is assigned, and the tree is scanned by a depth-first search and is a sequence
  • the numerical sequence 0100133332033231020232222 is given, the tree as shown in FIG. 13 is restored.
  • the object map is restored therefrom.
  • the restoration it is necessary to share the definition of the tree structure 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 sub-blocks (raster scan order) that are obtained by dividing the parent node into two equal parts vertically and horizontally, and is a number other than 0 assigned to each node.
  • the number obtained by subtracting 1 from represents the subject identifier for all the pixels included in the corresponding block
  • the subject map in FIG. 14 can be decoded from the tree in FIG.
  • the subject pixel value decoding unit 206 When the decoding of the subject map is completed, the subject pixel value decoding unit 206 then decodes the subject pixel value for each subject identifier from the separated code data (step S206).
  • the decoding of the subject pixel value for each subject identifier differs depending on the method used at the time of encoding. In the following, for the sake of simplicity, it is assumed that subject pixel values are encoded in ascending order of subject identifier.
  • values obtained by decoding are sequentially assigned to the subject identifier.
  • code data is generated for the generated prediction values.
  • a value obtained by adding a value decoded from is sequentially assigned to a subject identifier as a subject pixel value.
  • a method for predicting from adjacent blocks there is a method in which an average value or median value of subject pixel values of adjacent blocks having the same subject identifier is used as a predicted value.
  • a method of performing prediction using the subject pixel value of the same block that has already been decoded when the subject pixel value is decoded in ascending order, a value obtained by adding 1 to the subject pixel value decoded immediately before is used as the predicted value
  • a method of generating a predicted value using the subject pixel value decoded immediately before and the number of subject pixel values that need to be decoded there is a method of generating a predicted value using the subject pixel value decoded immediately before and the number of subject pixel values that need to be decoded.
  • Specific examples of a method for generating a predicted value using the subject pixel values decoded immediately before and the number of subject pixel values that need to be decoded include the following. First, a range in which the value obtained by adding 1 to the subject pixel value decoded immediately before is the minimum value and the maximum possible pixel value is the maximum value is approximately the same as the number of subject pixel values that need to be decoded. Divide into partial ranges with length. Then, the median value in the partial range including the minimum value is used as the predicted value.
  • [52, 255] is divided into three partial ranges having the same size, thereby [52, 119 ], [120, 187], [188, 255], and the median value 85 in the range of [52, 119] including the minimum value is used as the predicted value.
  • a partial range having integers at both ends may be generated according to a predetermined rule, or may be expressed using decimal numbers. For example, there is a method of dividing so that the size of the partial range is increased to N, 2N, 3N,..., And a method of dividing to be decreased to N, N / 2, N / 3,. .
  • the division rule must be the same as that used at the time of encoding.
  • subject pixel values for subject identifiers appearing in the subject map may be encoded.
  • a missing subject identifier is determined from the result of the subject map, the subject identifier is skipped, and subject pixel values are assigned in decoding order.
  • the subject pixel value and the prediction residual of the subject pixel value are described as being encoded as they are, but quantization is performed using a quantization parameter set for a code amount or a quality target. May be encoded. In such a case, a decoded value of the subject pixel value is obtained by dequantizing the value obtained by decoding.
  • the predicted image generation unit 207 next generates a predicted image for the block blk (step S207). Specifically, a predicted image is generated by assigning to each pixel a subject pixel value corresponding to a subject identifier obtained from the subject map.
  • 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, a change closer to a natural image can be given by adding dither.
  • any method can be used for dither generation, it is necessary to use the same method as that on the encoding side. If the code data includes parameters necessary for initialization of the dither generation device, the parameters are decoded and used.
  • the image signal decoding unit 208 decodes the image signal for the block blk (step S208).
  • the decoding of the image signal differs depending on the method used at the time of encoding. For example, MPEG-2 and H.264.
  • general coding such as H.264 / AVC is used
  • the prediction residual is obtained by performing frequency inverse transform such as entropy decoding, inverse binarization, inverse quantization, and IDCT on the code data. And the prediction image is added to the result to restore the image signal of the block blk.
  • FIG. 15 shows an example of the syntax for each block of the code data generated in the first embodiment and the code data input in the second embodiment.
  • num_objects is the number of subjects
  • map_object is a subject map
  • exist (i, j) is TRUE if subject identifier i exists in subject map j, a function that returns FALSE otherwise
  • residual_value_object [i ] Represents the prediction residual of the subject pixel value whose subject identifier is i
  • residuals represents the prediction residual of the image signal.
  • Example 1 of data structure of additional information 16A and 16B are diagrams illustrating a first example of a data structure of additional information used for generating a predicted image.
  • 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 when there is no prediction, and a signed integer (considering a negative number) when there is a prediction.
  • FIG. 16B shows a specific example of additional information. Although the number of subjects is four, there is no pixel with the subject identifier 2 in the subject map. Therefore, the data of the subject pixel value corresponding to the subject identifier 2 is omitted.
  • Example 2 of data structure of additional information 17A and 17B are diagrams illustrating a second example of the data structure of the additional information used for generating the predicted image.
  • single subject block identification information is added before the subject map.
  • the single subject block identification information is an integer of 0 to N.
  • the single subject block identification information is a value of 1 to N, and a plurality of subjects are identified. 0 is included.
  • the single subject block identification information is 0, the subsequent subject map and subject pixel value data are the same as those in the data structure example 1 described above.
  • the single subject block identification information is 1 to N, the number obtained by subtracting 1 from this number is the subject identifier. In other words, when all the subject identifiers in the block are the same, a value obtained by adding 1 to the subject identifier is set as additional information as single subject block identification information.
  • FIG. 17B shows a specific example of the additional information.
  • Example 3 of data structure of additional information 18A and 18B are diagrams illustrating a third example of the data structure of the additional information used for generating the predicted image.
  • the subject map is held in a tree structure format.
  • This tree-structured subject map is a variable-length integer string obtained by expressing the subject map in a tree structure and scanning the values of each node in a predetermined order.
  • FIG. 18B shows a specific example of additional information.
  • the number of subjects is 3, and the tree structure subject map is held in the subject map format described with reference to FIG.
  • the subject pixel value is a case where there is a prediction, and includes a negative value.
  • Example 4 of data structure of additional information are diagrams illustrating a fourth example of the data structure of the additional information used for generating the predicted image.
  • the tree structure subject map is divided into block division information and in-block subject identifier information.
  • the block division information indicates a result of scanning a node other than the leaf when the tree structure subject map is used
  • the intra-block subject identifier information indicates a result of scanning the leaf when the tree structure subject map is used.
  • FIG. 19B shows a specific example of additional information.
  • a tree-structured object map values obtained by scanning the tree-structured object map described with reference to FIG. 6 into nodes other than leaves and leaf nodes are set.
  • the process of encoding and decoding all blocks in one frame according to the present invention has been described.
  • the present invention is applied only to some blocks, and H. Coding may be performed using intra-frame prediction encoding or motion compensation prediction encoding used in H.264 / AVC or the like. In that case, it is necessary to encode and decode information indicating which method is used for each block.
  • the process of encoding and decoding one frame has been described, but it can also be applied to moving picture encoding by repeating a plurality of frames. It can also be applied only to some frames or some blocks of a moving image.
  • the definition of the reference pixel used for encoding the subject map and the adjacent block used for prediction of the subject pixel value is defined only in the spatial direction. In addition, it can be easily analogized to use it in the time direction.
  • the image encoding and image decoding processes described above can also be realized by a computer and a software program.
  • the program can be provided by being recorded on a computer-readable recording medium or provided via a network. Is possible.
  • FIG. 20 shows a hardware configuration example in the case where the image encoding device is configured by a computer and a software program.
  • This system CPU 50 that executes the program
  • a memory 51 such as a RAM in which programs and data accessed by the CPU 50 are stored
  • An encoding target frame input unit 52 that inputs an encoding target image signal from a camera or the like (may be a storage unit that stores an image signal from a disk device or the like)
  • a program storage device 53 that stores an image encoding program 531 that is a software program that causes the CPU 50 to execute the processing described in the first embodiment.
  • a multiplexed code data output unit 54 (multiplexed code by a disk device or the like) that outputs multiplexed code data generated by the CPU 50 executing the image encoding program 531 loaded in the memory 51 via, for example, a network (It may be a storage unit that stores data) Are connected by a bus.
  • a network It may be a storage unit that stores data
  • a subject number storage unit a subject map storage unit, a subject pixel value storage unit, a predicted image storage unit, a subject number code data storage unit, a subject map code data storage unit, a subject pixel value code data storage unit
  • hardware such as an image information code data storage unit is provided and used for carrying out this method.
  • FIG. 21 shows a hardware configuration example in the case where the image decoding apparatus is configured by a computer and a software program.
  • This system CPU 60 for executing the program
  • a memory 61 such as a RAM in which programs and data accessed by the CPU 60 are stored
  • a multiplexed code data input unit 62 for inputting multiplexed code data encoded by the above-described method by the image encoding device (may be a storage unit for storing multiplexed code data by a disk device or the like)
  • a program storage device 63 that stores an image decoding program 631 that is a software program that causes the CPU 60 to execute the processing described in the second embodiment.
  • a decoded image data output unit 64 that outputs decoded image data obtained by decoding multiplexed code data to a playback device or the like by the CPU 60 executing the image decoding program 631 loaded in the memory 61.
  • a subject number storage unit a subject map storage unit, a subject pixel value storage unit, a predicted image storage unit, a subject number code data storage unit, a subject map code data storage unit, a subject pixel value code data storage unit
  • hardware such as an image information code data storage unit is provided and used for carrying out this method.
  • Additional information is information indicating the direction of an edge in the conventional method, and is a two-dimensional vector.
  • the additional information according to this method includes subject pixel values (scalar values or color vectors) and subject maps (two-dimensional information) corresponding to the number of subjects. When the number is 4, the bit amount is about 68 times (however, it can be made about 5 times by entropy coding).
  • the amount of code of the prediction residual can be reduced in the present method that can represent an arbitrary shape than in the conventional method that can only represent a straight line.
  • 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 entire code amount. That is, if the total code amount is 100, the additional information is 10 and the prediction residual is 90. On the other hand, with this method, if the additional information is 5 times and the prediction residual is 1/3, the overall code amount can be 80 by this method.
  • FIGS. 22A and 22B show a comparison of generated code amount and image quality when a certain sample image (ballet) is encoded using the present method and the conventional method.
  • Y-PSNR on the vertical axis represents image quality (unit: dB)
  • bit rate on the horizontal axis represents code amount (unit: bps / view).
  • a larger Y-PSNR value indicates a clearer image.
  • the L1 curve indicates the relationship between the code amount according to the present method and the image quality
  • the L2 curve indicates the relationship between the code amount according to the conventional method and the image quality. 22A and 22B are the same graph.
  • Image coding apparatus 101 Encoding object frame input part 102 Encoding object frame memory 103 Subject number setting part 104 Subject pixel value setting part 105 Subject pixel value encoding part 106 Subject map generation part 107 Subject map encoding part 108 Predictive image Generation unit 109 Image signal encoding unit 110 Multiplexing unit 111 Subject number encoding unit 200 Image decoding device 201 Code data input unit 202 Code data memory 203 Separation unit 204 Subject number setting unit 205 Subject map decoding unit 206 Subject pixel value decoding unit 207 Prediction image generation unit 208 Image signal decoding unit

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

 画像を伝送または蓄積するにあたり、画像フレームを予め定められた大きさの処理領域に分割し、処理領域ごとに各画素の画素値を予測しながら符号化を行う画像符号化方法。処理領域内に存在する被写体ごとに、各被写体を代表する1つの画素値を、該被写体を識別する被写体識別子に対応づけて、被写体画素値として設定するステップと、処理領域内の各画素の画素値と被写体画素値とから、処理領域内の各画素にどの被写体が撮影されているかを被写体識別子で示す被写体マップを生成するステップと、前記被写体マップに従って各画素に前記被写体画素値の値を割り当てることで処理領域に対する予測画像を生成するステップと、前記被写体マップを符号化するステップと、前記被写体画素値を符号化するステップと、前記予測画像を用いて処理領域に対する画像信号を予測符号化するステップとを有する。

Description

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

Claims (26)

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

Priority Applications (6)

Application Number Priority Date Filing Date Title
US13/822,836 US9031338B2 (en) 2010-09-29 2011-09-21 Image encoding method and apparatus, image decoding method and apparatus, and programs therefor
BR112013008046A BR112013008046A2 (pt) 2010-09-29 2011-09-21 aparelho e método para codificação de imagem, aparelho e método para decodificação de emagem e programas para os mesmos
CA 2811898 CA2811898A1 (en) 2010-09-29 2011-09-21 Image encoding method and apparatus, image decoding method and apparatus, and programs therefor
EP20110828887 EP2624566A4 (en) 2010-09-29 2011-09-21 METHOD AND DEVICE FOR ENCRYPTING IMAGES, METHOD AND DEVICE FOR DECRYLING IMAGES AND PROGRAMS THEREFOR
CN201180045385.8A CN103098475B (zh) 2010-09-29 2011-09-21 图像编码方法和装置、图像解码方法和装置
KR1020137007041A KR101552664B1 (ko) 2010-09-29 2011-09-21 화상 부호화 방법 및 장치, 화상 복호 방법 및 장치, 및 그 프로그램

Applications Claiming Priority (2)

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

Publications (1)

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

Family

ID=45892788

Family Applications (1)

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

Country Status (9)

Country Link
US (1) US9031338B2 (ja)
EP (1) EP2624566A4 (ja)
JP (1) JP5281623B2 (ja)
KR (1) KR101552664B1 (ja)
CN (1) CN103098475B (ja)
BR (1) BR112013008046A2 (ja)
CA (1) CA2811898A1 (ja)
TW (1) TWI508529B (ja)
WO (1) WO2012043330A1 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116506629A (zh) * 2023-06-27 2023-07-28 上海伯镭智能科技有限公司 用于矿山无人驾驶矿车协同控制的路况数据压缩方法

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5281624B2 (ja) 2010-09-29 2013-09-04 日本電信電話株式会社 画像符号化方法,画像復号方法,画像符号化装置,画像復号装置およびそれらのプログラム
JP5357199B2 (ja) * 2011-03-14 2013-12-04 日本電信電話株式会社 画像符号化方法,画像復号方法,画像符号化装置,画像復号装置,画像符号化プログラムおよび画像復号プログラム
WO2014084613A2 (ko) * 2012-11-27 2014-06-05 인텔렉추얼 디스커버리 주식회사 깊이 정보를 이용한 영상 부호화 및 복호화 방법, 그를 이용한 장치 및 영상 시스템
US10469853B2 (en) 2014-01-09 2019-11-05 Samsung Electronics Co., Ltd. Scalable video encoding/decoding method and apparatus
WO2017122543A1 (ja) * 2016-01-13 2017-07-20 ソニー株式会社 情報処理装置および情報処理方法
US20200036978A1 (en) 2017-03-22 2020-01-30 Industry-University Cooperation Foundation Hanyang University Image encoding/decoding method using pixel value range constituting image
CN113641915B (zh) * 2021-08-27 2024-04-16 北京字跳网络技术有限公司 对象的推荐方法、装置、设备、存储介质和程序产品
CN118075457B (zh) * 2024-04-18 2024-06-21 山西顺达胜业通信工程有限公司 一种基于视频监测的设备智能控制方法

Citations (4)

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

Family Cites Families (24)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5838455A (en) 1919-05-11 1998-11-17 Minolta Co., Ltd. Image processor with image data compression capability
US6055330A (en) 1996-10-09 2000-04-25 The Trustees Of Columbia University In The City Of New York Methods and apparatus for performing digital image and video segmentation and compression using 3-D depth information
JP2008245311A (ja) 1996-10-31 2008-10-09 Toshiba Corp 画像復号化方法及び装置
JP3237582B2 (ja) 1997-08-28 2001-12-10 富士ゼロックス株式会社 画像処理装置及び画像処理方法
MY124160A (en) * 1997-12-05 2006-06-30 Dynamic Digital Depth Res Pty 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
JP4999854B2 (ja) * 2006-09-20 2012-08-15 日本電信電話株式会社 画像符号化方法及び復号方法、それらの装置、及びそれらのプログラム並びにプログラムを記録した記憶媒体
JP2009094828A (ja) 2007-10-10 2009-04-30 Hitachi Ltd 画像符号化装置及び画像符号化方法、画像復号化装置及び画像復号化方法
JP5498963B2 (ja) 2008-02-21 2014-05-21 オランジュ ピクセルブロックに分割された画像または画像のシーケンスの符号化及び復号化
JP4838275B2 (ja) 2008-03-03 2011-12-14 日本電信電話株式会社 距離情報符号化方法,復号方法,符号化装置,復号装置,符号化プログラム,復号プログラムおよびコンピュータ読み取り可能な記録媒体
JP4964827B2 (ja) 2008-06-05 2012-07-04 日本電信電話株式会社 多視点距離情報符号化方法,復号方法,符号化装置,復号装置,符号化プログラム,復号プログラムおよびコンピュータ読み取り可能な記録媒体
WO2010073513A1 (ja) * 2008-12-26 2010-07-01 日本ビクター株式会社 画像符号化装置、画像符号化方法およびそのプログラム、ならびに画像復号装置、画像復号方法およびそのプログラム
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 ソニー株式会社 画像処理装置および方法、並びにプログラム
EP2499829B1 (en) * 2009-10-14 2019-04-17 Dolby International AB Methods and devices for depth map processing
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
JP5281624B2 (ja) 2010-09-29 2013-09-04 日本電信電話株式会社 画像符号化方法,画像復号方法,画像符号化装置,画像復号装置およびそれらのプログラム

Patent Citations (4)

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

Non-Patent Citations (9)

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

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116506629A (zh) * 2023-06-27 2023-07-28 上海伯镭智能科技有限公司 用于矿山无人驾驶矿车协同控制的路况数据压缩方法
CN116506629B (zh) * 2023-06-27 2023-08-25 上海伯镭智能科技有限公司 用于矿山无人驾驶矿车协同控制的路况数据压缩方法

Also Published As

Publication number Publication date
CN103098475A (zh) 2013-05-08
US20130170763A1 (en) 2013-07-04
BR112013008046A2 (pt) 2016-06-21
EP2624566A4 (en) 2014-07-16
JP2012074917A (ja) 2012-04-12
TWI508529B (zh) 2015-11-11
CN103098475B (zh) 2016-06-01
US9031338B2 (en) 2015-05-12
EP2624566A1 (en) 2013-08-07
CA2811898A1 (en) 2012-04-05
JP5281623B2 (ja) 2013-09-04
TW201225677A (en) 2012-06-16
KR20130059422A (ko) 2013-06-05
KR101552664B1 (ko) 2015-09-11

Similar Documents

Publication Publication Date Title
JP5281624B2 (ja) 画像符号化方法,画像復号方法,画像符号化装置,画像復号装置およびそれらのプログラム
JP5281623B2 (ja) 画像符号化方法,画像復号方法,画像符号化装置,画像復号装置およびそれらのプログラム
JP5357199B2 (ja) 画像符号化方法,画像復号方法,画像符号化装置,画像復号装置,画像符号化プログラムおよび画像復号プログラム
JP6232076B2 (ja) 映像符号化方法、映像復号方法、映像符号化装置、映像復号装置、映像符号化プログラム及び映像復号プログラム
TWI499277B (zh) 多視點畫像編碼方法、多視點畫像解碼方法、多視點畫像編碼裝置、多視點畫像解碼裝置及這些程式
WO2015141613A1 (ja) 画像符号化装置及び方法、画像復号装置及び方法、及び、それらのプログラム
JP6571646B2 (ja) マルチビュービデオのデコード方法及び装置
WO2015056712A1 (ja) 動画像符号化方法、動画像復号方法、動画像符号化装置、動画像復号装置、動画像符号化プログラム、及び動画像復号プログラム
JP5729825B2 (ja) 画像符号化方法、画像復号方法、画像符号化装置、画像復号装置、画像符号化プログラム及び画像復号プログラム
JP5876933B2 (ja) 動画像符号化方法、動画像復号方法、動画像符号化装置、動画像復号装置、動画像符号化プログラム、動画像復号プログラム及び記録媒体
JP5711636B2 (ja) 画像符号化方法、画像復号方法、画像符号化装置、画像復号装置、画像符号化プログラム、画像復号プログラム
Zhang et al. Optimal bit allocation for multiview video plus depth coding based on view rendering distortion model

Legal Events

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

Ref document number: 201180045385.8

Country of ref document: CN

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

Ref document number: 11828887

Country of ref document: EP

Kind code of ref document: A1

WWE Wipo information: entry into national phase

Ref document number: 13822836

Country of ref document: US

ENP Entry into the national phase

Ref document number: 20137007041

Country of ref document: KR

Kind code of ref document: A

Ref document number: 2811898

Country of ref document: CA

REEP Request for entry into the european phase

Ref document number: 2011828887

Country of ref document: EP

WWE Wipo information: entry into national phase

Ref document number: 2011828887

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: 112013008046

Country of ref document: BR

ENP Entry into the national phase

Ref document number: 112013008046

Country of ref document: BR

Kind code of ref document: A2

Effective date: 20130321