WO2012043330A1 - 画像符号化方法および装置、画像復号方法及び装置、およびそれらのプログラム - Google Patents
画像符号化方法および装置、画像復号方法及び装置、およびそれらのプログラム Download PDFInfo
- 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
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T9/00—Image coding
- G06T9/004—Predictors, e.g. intraframe, interframe coding
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T9/00—Image coding
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N13/00—Stereoscopic video systems; Multi-view video systems; Details thereof
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N13/00—Stereoscopic video systems; Multi-view video systems; Details thereof
- H04N13/10—Processing, recording or transmission of stereoscopic or multi-view image signals
- H04N13/106—Processing image signals
- H04N13/161—Encoding, multiplexing or demultiplexing different image signal components
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/169—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
- H04N19/17—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object
- H04N19/176—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object the region being a block, e.g. a macroblock
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/20—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using video object coding
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/46—Embedding additional information in the video signal during the compression process
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/46—Embedding additional information in the video signal during the compression process
- H04N19/463—Embedding additional information in the video signal during the compression process by compressing encoding parameters before transmission
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/50—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
- H04N19/597—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding specially adapted for multi-view video sequence encoding
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N2213/00—Details of stereoscopic systems
- H04N2213/003—Aspects 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
Description
本願は、2010年9月29日に出願された特願2010-218036号に基づき優先権を主張し、その内容をここに援用する。
一般に、撮影された画像に対して水平方向をX軸、垂直方向をY軸とするため、Z軸はカメラの向きと一致するが、複数のカメラに対して共通の座標系を用いる場合など、Z軸がカメラの向きと一致しない場合もある。
以下では、距離・奥行き・Z値(奥行き情報)を区別せずに距離情報と呼び、距離情報を画素値として表した画像を距離画像と呼ぶ。
また、等間隔に量子化する際に、物理量をそのまま量子化する方法と物理量の逆数を量子化する方法とがある。一般に距離情報の逆数は視差に比例した値となるため、距離情報を高精度に表現する必要がある場合には、前者が使用され、視差情報を高精度に表現する必要がある場合には、後者が使用されることが多い。
以下では、距離情報の画素値化の方法や量子化の方法に関係なく、距離情報が画像として表現されたものを全て距離画像と呼ぶ。
一般に被写体が実空間上で空間的および時間的連続性を持つことから、その見え方は空間的および時間的に高い相関をもつ。映像信号の符号化では、そのような相関性を利用して高い符号化効率を達成している。
代表的な映像信号の予想の手法としては、隣接するブロックから空間的に予測信号を生成する画面内予測や、異なる時刻に撮影された符号化済みフレームから被写体の動きを推定して時間的に予測信号を生成する動き補償予測がある。
また、予測残差信号と呼ばれる予測の誤差も、空間的な相関と人間の視覚特性を利用するために、DCT等を用いて予測残差信号を周波数空間でのデータへ変換し、低周波領域に残差信号のエネルギーを集中させることで、効率的に符号化を行う。
各手法の詳細は動画像国際標準規格のMPEG-2やH.264/MPEG-4 AVC(非特許文献5)を参照されたい。
空間的な予測では、このブロックの1行目と1列目の情報を用いて残りの8×8画素を予測する。予測の方法には様々なものがあるが、ここではH.264に採用されている代表的な2つの予測方法、水平予測と垂直予測の2つの例を示した。
図の右側に示されるとおり、予測残差には大きく分けて-150前後、0前後、150前後の3種類の値しか存在せず、かなり大きなエッジが生じている。
図から明らかなように、どちらの場合にも、多くの高周波領域に大きな信号が生じており、残差信号のコンパクト化に失敗していることが分かる。
また、DCT等の変換を行わないで符号化することも可能であるが、その場合には、ブロック内の局所的な相関を利用することができず、効率的な符号化を達成することができない。
すなわち、ブロック内の1つの画素に対して、どの被写体であるかを示す1つの被写体識別情報が割り振られ、1つの被写体識別情報には1つの被写体画素値が対応づけられる。
この情報に従い、画素ごとに最も類似する値を割り当てるため、複雑なエッジ形状を保持した予測画像を生成することができる。なお、ブロック内に含まれる被写体の数は高々数個に限られるため、この情報の量は限られる。
また、画像信号を符号化する必要のない物体や物体の一部分は被写体とはみなさない。すなわち、被写体は、フレーム内の実オブジェクト(被写体)とは関係なく、情報が付与されない実オブジェクトは、本発明でいう“被写体”ではない。
また、1つの実オブジェクトに対して2つの情報が付与される場合には、それぞれ別の被写体として扱われる。
例えば、ブロック内の画素を画素値や位置などの情報を用いてクラスタリングし、各クラスタの評価値(例えば、画素値の分散)が一定値以下となるクラスタ数の最大値を被写体数とすることが可能である。また、経験などに基づいて外部から与えたり、予め定められた値を用いることも可能である。
この被写体数は、付加情報の1つである被写体画素値の個数を表現するために用いられる。また、被写体マップに登場する被写体識別子の最大値を表現するためにも用いられる。
被写体画素値は、ブロック内の画素値を解析することで生成する。具体的には、ブロック内の画素を画素値や位置などの情報を用いて“被写体数”のクラスタにクラスタリングし、各クラスタごとに、含まれる画素の画素値に対する平均値や中央値を計算することで得る。
ブロック内の各画素に対して、その画素の“被写体”に対応する被写体画素値を割り当てることで、そのブロックの予測画像を生成するために用いられる。
なお、画素値と被写体画素値の類似度だけでなく、被写体マップ自体の表現に必要なビット数も鑑みて生成することもある。被写体マップは、予測画素を生成する際に、ブロック内の各画素に対して、どの被写体画素値を割り当てるのかを示すために用いられる。
(1)処理領域内に存在する被写体の数を被写体数として設定する。
(2)処理領域内に被写体数だけの被写体が存在すると仮定して、被写体ごとに1つの画素値を被写体画素値として設定する。
(3)被写体を識別する被写体識別子と被写体画素値とを対応づけ、処理領域内の各画素の画素値と被写体画素値とから、処理領域内の各画素にどの被写体が撮影されているかを被写体識別子で示す被写体マップを生成する。
(4)被写体マップに従って各画素に被写体画素値の値を割り当てることで処理領域に対する予測画像を生成する。
(5)被写体マップを符号化する。
(6)被写体画素値を符号化する。
(7)予測画像を用いて処理領域に対する画像信号を予測符号化する。
(8)被写体マップの符号データ、被写体画素値の符号データ、画像信号の符号データを多重化して出力する。
予測画像の生成に「予測方向」という情報を用いていた従来技術と比較して、本発明は、付加情報の符号量が増加するが、正確な予測画像を生成することで、予測残差の符号化に必要な符号量を大幅に減らし、トータルとしてブロックなどの処理領域あたりに必要な符号量を削減することができる。
これにより、処理領域ごとに最適な被写体数を設定し、予測精度を高めることができる。
処理領域内の画素の予測で使用されていない被写体画素値の符号化を省くことで、より符号量の削減が可能になる。
予測画像にディザを加えることにより、被写体の個数が限られていても、より自然画に近い変化を与えることができる。
(1)処理領域内に存在する被写体の数を被写体数として設定する。
(2)復号対象となる符号データから、被写体マップを復号する。
(3)各被写体識別子ごとに1つ設定された被写体画素値を符号データから復号する。
(4)被写体マップに従って各画素に被写体画素値の値を割り当てることで処理領域に対する予測画像を生成する。
(5)予測画像を用いて処理領域に対する画像信号を符号データから復号する。
すなわち、本発明を用いることにより、複雑な形状を持つ被写体に対して、正確にエッジを保持した正確な予測画像を提供することで、予測残差符号化に必要な符号量を削減することができる。
まず、第1実施形態について説明する。
図1は、本発明の第1実施形態による画像符号化装置の構成を示すブロック図である。
画像符号化装置100は、図1に示すように、符号化対象フレーム入力部101、符号化対象フレームメモリ102、被写体数設定部103、被写体画素値設定部104、被写体画素値符号化部105、被写体マップ生成部106、被写体マップ符号化部107、予測画像生成部108、画像信号符号化部109、および多重化部110を備えている。
符号化対象フレームメモリ102は、入力された符号化対象フレームを蓄積する。
被写体数設定部103は、予め定められた大きさの処理領域に含まれる被写体数を設定する。
被写体画素値設定部104は、処理領域に与えられた数の被写体が存在すると仮定して、各被写体に対して1つの画素値を設定する。
被写体画素値符号化部105は、与えられた被写体ごとの画素値を符号化する。以下、ある領域に対して生成された被写体ごとの画素値を被写体画素値と呼ぶ。
被写体マップ符号化部107は、生成された被写体マップを符号化する。
予測画像生成部108は、処理領域に対して生成された被写体画素値と被写体マップから、処理領域に対する予測画像を生成する。
画像信号符号化部109は、処理領域ごとに予測画像を用いて符号化対象フレームの画像信号を符号化する。
多重化部110は、被写体画素値の符号データと、被写体マップの符号データと、符号化対象フレームの画像信号の符号データを多重化して出力する。
符号化対象フレームの格納が終了したら、符号化対象フレームを分割し、分割した領域ごとに、符号化対象フレームの画像信号を符号化する(ステップS102~S112)。
つまり、符号化対象ブロックインデックスをblk、総符号化対象ブロック数をnumBlksで表すとすると、blkを0で初期化し(ステップS102)、その後、blkに1を加算しながら(ステップS111)、blkがnumBlksになるまで(ステップS112)、以下の処理(ステップS103~ステップS110)を繰り返す。
被写体数は復号側と同じ処理であれば、どのような処理を用いて決定してもかまわない。例えば、常に予め定められた数を設定してもかまわない。
具体的には、符号化対象ブロックの画素に対してk-means法やAffinity Propagationなどのクラスタリング手法を用いて、各クラスタ内の画素値分散が予め定められた値以下になるクラスタリング結果のうち、最小のクラスタ数を被写体数にする方法がある。クラスタリングに用いる尺度としては、画素値のみを用いてもかまわないし、画素値と画素位置とからなる値を用いてもかまわない。
別の方法としては、被写体数の候補ごとに、その被写体数を設定して符号化した場合の符号量と歪み量との重み付き和で与えられるレート歪みコストを計算し、そのコストが最小になる被写体数を設定する方法がある。
なお、符号化対象ブロックごとに異なる値を被写体数とする場合、被写体数は符号データを復号する際に必要となるため、設定した被写体数を符号データに含める必要がある。
被写体数を符号化する場合には、図1に示す画像符号化装置100における被写体数設定部103の後に、被写体数設定部103が設定した被写体数を符号化する被写体数符号化部111を追加する。
予測の方法としては、既に符号化済みの隣接ブロックを符号化する際に用いられた被写体数の平均値や中央値を予測値とする方法がある。
なお、フレームまたはスライス単位の被写体数の設定・符号化と、ブロックごとの被写体数の設定・符号化を組み合わせることも可能である。
その場合、フレームまたはスライス単位では、そのフレームまたはスライスに含まれる複数ブロックの多くに当てはまると考えられる被写体数を設定・符号化し、ブロックごとにその被写体数からの変化量を設定・符号化する。ブロックごとに設定・符号化する変化量は、隣接する既に符号化済みの領域の情報を用いて予測し、変化量の予測差分として符号化することも可能である。
ここでiは、被写体を識別するための被写体識別子とし、0以上numObjs未満の整数である。また、被写体識別子は予め定められた規則に従って割り当てる。ここでは、被写体画素値が小さい順に割り当てられているとする。
別の方法としては、ブロックblkの画素を前述のようなクラスタリング手法を用いて、numObjs個のクラスタに分割し、各クラスタに含まれる画素の画素値の平均値や中央値を、被写体画素値とする方法がある。
なお、被写体数を設定する際に、ブロックblkの画素をクラスタリングしている場合には、被写体数の設定と同時に被写体画素値を設定してもかまわない。
常に被写体数が一定の場合、本来は単一オブジェクトしか存在しない場合にも、複数の被写体が存在すると仮定することにより、過度に高精度な予測を提供し、被写体マップ(ブロックblkの各画素に対して、被写体識別子を割り当てたもの)の符号量が増大してしまう可能性がある。
しかし、ターゲットとなるビットレートに対して閾値を定めて、numObjsによらずに被写体識別子を定めることで、符号量が多くなり過ぎるのを防ぐことが可能となる。
例えば、ターゲットビットレートが(i)閾値Aより小さい場合には、設定された被写体数に関わらず、被写体マップには1種類の被写体識別子しか現れないようにし、(ii)閾値Aより大きくて閾値Bより小さい場合には、被写体マップには被写体識別子が2種類まで現れるように、被写体マップの生成を制御することができる。
このような条件を設けない場合、例えば被写体数が比較的大きく(例:10)設定された場合、後述の処理をそのまま適用すると、被写体マップの符号量が膨大になる可能性もある。
各画素に対して被写体識別子を割り当てる方法としては、各画素に対して、その画素値に最も近い被写体画素値を持つ被写体識別子を割り当てる方法がある。
また、別の方法として、被写体画素値を設定する際にクラスタリングを行っている場合には、その結果を利用して、クラスタごとに割り当てられた被写体識別子を、そのクラスタに属する画素に対して設定する方法がある。
可能性のある全ての被写体マップを被写体マップ候補にしてもかまわないし、限定したいくつかの特徴的な被写体マップのみを被写体マップ候補にしてもかまわない。
特徴的な被写体マップとしては、各画素に対して、その画素値に最も近い被写体画素値を持つ被写体識別子を割り当てて生成した被写体マップや、全ての画素が同じ被写体識別子となるような被写体マップや、水平や垂直に2分割された被写体マップなどがある。
符号化には、どのような方法を用いてもかまわない。例えば、被写体数に応じて各被写体識別子に固定長または可変長の符号を割り当て、ラスタースキャンやジグザグスキャンなどを用いて2次元のマップ情報を1次元のバイナリデータへ変換することで符号化してもかまわない。
例えば、被写体数が3の際に、図5のように符号化対象画素(図中x)に対して3つの参照画素を定義する場合には、参照画素における被写体識別子の組み合わせごとに、符号化対象画素における被写体識別子の確率テーブルを定義することができる。
つまり、この場合には27通りの確率テーブルを用いて符号化する。この確率テーブルは復号側で同じものが得られる限りは、固定のものであっても、それまでの符号化履歴に応じて更新を行う可変の確率テーブルであってもかまわない。
一般に、同じ被写体は連続して出現するため、このように(周辺画素による)周辺の状況を用いることで、符号化対象シンボルの発生確率をより高精度に表現することが可能となり、算術符号化における符号化効率を向上させることが可能となる。
なお、より広範囲の周辺画素の情報を用いることで、発生確率をより高精度に予測することが可能となる。
そのような画素に対しては、予め定められた被写体識別子を割り当てるか、別途不明のラベルを割り当てて別の確率テーブルを定義することで、上記のような場合を考慮して被写体マップの算術符号化の符号化効率を向上させることが可能である。
例えば、各ノードに対して、そのノードに対応するブロック内の全ての画素の被写体識別子が同じか否かを表すバイナリ情報を付加し、子ノードとして、被写体識別子が全て同じ場合にはその被写体識別子の番号を持つリーフ、被写体識別子が全て同じではない場合には自身のブロックを4分割して生成したサブブロックに対応する4つのノードを定義して木構造の情報を生成することができる。
なお、対応するブロックが1画素になった場合には、全ての画素の被写体識別子が同じか否かを表すバイナリ情報のノードを省略することができる。
図4の被写体マップに対して、以上の方法により生成した木構造を図6に示す。
図6では、各ノードに対して、そのノードに対応するブロック内の全ての画素の被写体識別子が同じである場合にはバイナリ情報の「1」、そうでない場合はバイナリ情報の「0」を付加している。
図4の被写体マップに対して、この方法で生成した木構造が図7である。
深さ優先探索は、探索対象となる木の最初のノードから、目的のノードが見つかるか子のないノードに行き着くまで、深く伸びていき、その後は最も近くの探索の終わっていないノードまで戻るような探索である。
一方、幅優先探索は、深さの浅い点(頂点からたどるノードの数が少ない点)から順番に、また、左側にある頂点から順番に、というルールを持つ探索である。
なお、リーフとリーフ以外を分けて符号化することも可能である。
図6を木の深さ優先探索によりスキャンした結果の数列は、01001000222110221201011000011111となる。
これをリーフとそれ以外とで分けると、リーフは0002221221201000111 、リーフ以外は、0101010011011 となる。
図7を木の深さ優先探索によりスキャンした結果の数列は、0101013332033230120111222 となる。
例えば、図6のリーフ以外を符号化する場合、各ノードに対応するブロックに隣接する画素の被写体識別子を調べ、最も画素数が多い被写体識別子に対する画素数に応じて確率テーブルを切り替える方法がある。
また、図6のリーフを符号化する場合には、各ノードに対応するブロックに隣接する画素の被写体識別子の状況に応じて確率テーブルを切り替える方法がある。
なお、確率テーブルは復号側で同じものが得られる限りは、固定のものであっても、それまでの符号化履歴に応じて更新を行う可変の確率テーブルであってもかまわない。
被写体画素値をそのまま符号化してもかまわないし、隣接ブロックにおける被写体画素値や、既に符号化した同じブロックの被写体画素値を用いて予測を行い、予測残差のみを符号化してもかまわない。
既に符号化した同じブロックの被写体画素値を用いて予測を行う方法としては、被写体画素値が小さい順に符号化を行う場合、直前に符号化した被写体画素値に1を加えた値を予測値とする方法や、直前に符号化した被写体画素値と残りの符号化の必要な被写体画素値の数とを用いて予測値を生成する方法がある。
例えば、直前に被写体画素値として51を符号化し、残りの被写体画素値の数が3つの場合、[52、255]を同じ大きさを持つ3つの部分範囲に分割することで、[52、119]、[120、187]、[188、255]を得て、最小値を含む[52、119]の範囲の中央値85を予測値とする。
全く同じ大きさの部分範囲にならない場合には、予め定められたルールに従って、整数を両端に持つ部分範囲を生成してもかまわないし、小数等を用いて表現してもかまわない。なお、予測値は整数である必要があるため、中央値を求める際には切り捨てや四捨五入を行う。
また、範囲を分割する際に、事前知識を用いて等間隔以外の一定のルールに従った分割をしてもかまわない。例えば、部分範囲の大きさがN、2N、3N、…と大きくなっていくように分割する方法や、N、N/2、N/3、…と小さくなっていくように分割する方法がある。
例えば、最初の被写体画素値を符号化する場合には、隣接ブロックから予測し、それ以外の被写体画素値を符号化する場合には、同じブロックで直前に符号化した被写体画素値を用いて予測する方法がある。
別の方法としては、同じブロックで直前に符号化した被写体画素値と、隣接ブロックから予測した値とを比較して、その比較結果に応じて予測値を決定する方法がある。
さらに別の方法としては、どちらの予測方法を用いたのかを示す情報を別途符号化して予測方法を切り替える方法がある。
このフローでは、被写体識別子(obj)を0に初期化し(ステップS121)、被写体識別子ごとに、その被写体識別子が被写体マップで使用されているか否かをチェックする(ステップS122)。
使用されている場合には、その被写体識別子に対する被写体画素値を符号化して(ステップS123)、次の被写体識別子へ進む(ステップS124)。一方、使用されていない場合には、符号化を行わずに、すぐに次の被写体識別子へ進む(ステップS124)。
以上の処理を、すべての被写体識別子に対して繰り返したなら、処理を終了する(ステップS125)。
図8との違いは、被写体識別子が被写体マップで使用されている場合に、その被写体識別子に対する被写体画素値の予測値を生成して(ステップS133)、その予測値と被写体画素値との差分値を符号化する(ステップS134)ことである。
例えば、被写体マップを生成・符号化した際など、図8や図9のフローに入る前に、各被写体識別子が使用されているか否かを示すフラグを生成しておき、チェック時にはそのフラグをチェックすることで判定を行う方法がある。
例えば、ブロックblkの画像信号によらず、常に一定の被写体数を設定する場合など、被写体画素値の設定方法や被写体マップの生成方法によって、使用しない被写体識別子が生じるため、このように使用しない被写体識別子に対する被写体画素値の符号化を省略することで、符号量を少なくすることが可能となる。
具体的には、各画素に対して、被写体マップから得られる被写体識別子に対応する被写体画素値を割り当てることで予測画像を生成する。なお、被写体画素値が量子化して符号化されている場合には、量子化・逆量子化して復号側で得られる値を用いて予測画像を生成する必要がある。
被写体マップと被写体画素値を用いた予測画像では、被写体数と同じ数の画素値しか存在しないため、自然画とは異なる性質をもつ画像となる。そのため、ディザを加える(存在する画素値を組み合わせて、全体の画像中で中間の画素値を表現する)ことでより自然画に近い変化を与えることができる。
ディザ生成には任意の方法を用いることが可能であるが、復号側で同じものを発生できるようにする必要がある。そのため、複数のディザ生成法を切り替えたり、ディザ生成法に初期値なとのパラメータが必要となる場合には、それらの情報を符号化する必要がある。
符号化にはどのような方法を用いてもかまわない。MPEG-2やH.264/AVCなどの一般的な符号化では、ブロックblkの画像信号と予測画像との差分信号に対して、DCTなどの周波数変換、量子化、2値化、エントロピー符号化を順に施すことで符号化を行う。
なお、ここではブロックごとに多重化しているが、フレーム単位で多重化してもかまわない。ただし、その場合には、復号時に1フレーム分の符号データをバッファリングしてから復号する必要が生じる。
次に、本発明の第2実施形態について説明する。
図10は、第2実施形態による画像復号装置の構成を表すブロック図である。
画像復号装置200は、図10に示すように、符号データ入力部201、符号データメモリ202、分離部203、被写体数設定部204、被写体マップ復号部205、被写体画素値復号部206、予測画像生成部207、および画像信号復号部208を備えている。
符号データメモリ202は、入力された符号データを蓄積する。
分離部203は、多重化された符号データを複数の異なる情報が符号化されている符号データへと分離する。
被写体数設定部204は、予め定められた大きさの処理領域に含まれる被写体数を設定する。
被写体マップ復号部205は、符号データから被写体マップを復号する。
被写体画素値復号部206は、符号データから被写体ごとに被写体画素値を復号する。
予測画像生成部207は、処理領域に対して復号された被写体画素値と被写体マップから、処理領域に対する予測画像を生成する。
画像信号復号部208は、処理領域ごとに予測画像を用いて符号データから復号対象フレームの画像信号を復号する。
符号データの格納が終了したら、復号対象フレームを分割し、分割した領域ごとに、復号対象フレームの画像信号を復号する(ステップS202~S210)。
つまり、復号対象ブロックインデックスをblk、総復号対象ブロック数をnumBlksで表すとすると、blkを0で初期化し(ステップS202)、その後、blkに1を加算しながら(ステップS209)、blkがnumBlksになるまで(ステップS210)、以下の処理(ステップS203~S208)を繰り返す。
第2実施形態では、複数の情報の符号データがブロック単位でインターリーブされている(ブロック毎に各情報の符号データが順番に記憶されている)例で説明しているが、フレームなど異なる単位でインターリーブされている場合には、この符号データの分離をブロック単位で繰り返す必要はない。
被写体数の設定は、符号化側と同じ処理を用いて行う。例えば、符号化側で常に予め定められた数を設定している場合には、ここでも同じ数を設定する。
なお、被写体数を設定しないようにすることもでき、この場合でも、以下に説明するように被写体マップを復号して、そこに現れている被写体識別子ごとに被写体画素値を復号すれば問題なく画像を復号することができる。
被写体数を設定する場合は被写体識別子の最大値が分かっているため、被写体マップを少ない符号量で復号(表現)できることになる。
被写体数が符号化されている場合には、図12に示すように、被写体数設定部204′は、分離部203で分離された被写体数の符号データを受け取り、それを復号して被写体数を取得する。
なお、符号化時に、ブロックblkに隣接する既に処理済みのブロックを符号化する際に用いた被写体数の平均値または中央値を予測値として、ブロックblkの被写体数が予測符号化されている場合には、同様の方法で予測値を生成し、その値に符号データから復号された値を加えたものを被写体数として設定する。
さらに、フレームまたはスライス単位でグローバルな被写体数が符号化され、ブロックごとでそこからの変化量が符号化されている場合もある。そのような場合には、フレームやスライス単位で一度だけグローバル被写体数符号データを復号し、その結果を一時的に蓄積し、その値にブロックごとに復号される変化量の値を加えて、そのブロックで用いる被写体数を得る。
さらに、その変化量が隣接するブロックから予測されている場合には、ブロックごとに被写体変化量予測差分を復号し、その値にグローバル被写体数と隣接ブロックからの変化量の予測値とを加えることで、そのブロックで用いる被写体数を得る。
ここで、被写体マップとは、前述のように、ブロックblkの各画素に対して、被写体識別子を割り当てたものである。例えば、図4のような2次元情報である。被写体マップの復号は、符号化時に用いられた方法に応じて異なる。
その場合には、符号データとして与えられた1次元のバイナリデータを順に走査し、対応する被写体識別子が見つかるごとに、ラスタースキャンやジグザグスキャンなど、符号化時と同じ順に、画素ごとに被写体識別子を割り当てていくことで復号を行う。
そのような場合には、使用されたスキャン順と同様の順に画素ごとに、周囲の既に復号済みの画素を参照画素に設定し、その画素における被写体識別子に応じて、確率テーブルを変化させながら算術復号を行う。
確率テーブルの数や初期値、更新方法、設定方法は符号化時と同じ手法を用いることで正しく復号を行うことが可能である。
そのような画素に対しては、符号化時と同様の方法で、予め定められた被写体識別子を割り当てるか、別途不明のラベルを割り当てて別の確率テーブルを定義することで、上記のような場合を考慮して効率よく符号化した被写体マップの符号データを正しく復号することが可能である。
例えば、可変確率テーブルを用いた算術符号化が行われている場合には、符号化時と同じ方法で確率テーブルを更新しながら符号データから非圧縮のバイナリ列を復号する。非圧縮のバイナリ列は、符号化時に用いたものと同じ固定長または可変長のテーブルを参照して逆変換を行い、符号化前の数列を復号する。
なお、木構造の定義も符号化側と共有している必要がある。例えば、ブロックblkをルートとして、各ノードは0~numObjsの数字を持ち、0が割り当てられているノードは4つの子ノードを持つ木構造が定義され、木を深さ優先探索でスキャンして数列を生成している場合、数列0100133332033231020232222 が与えられた場合には、図13のような木が復元されることになる。
例えば、木のルートはブロックblk全体を表し、子ノードは親ノードを縦横2等分してできる4つのサブブロック(ラスタースキャン順)に対応しており、各ノードに割り当てられた0以外の数字から1を引いた数が、対応するブロックに含まれる全ての画素に対する被写体識別子を示している場合、図13の木からは図14の被写体マップを復号することが可能である。
被写体識別子ごとの被写体画素値の復号は、符号化時に用いられた方法に応じて異なる。以下では、簡単のために、被写体識別子の小さい順に被写体画素値が符号化されているとする。
また、隣接ブロックにおける被写体画素値や、既に復号した同じブロックの被写体画素値を用いて予測を行い、予測残差のみが符号化されている場合には、生成した予測値に対して、符号データから復号される値を加えた値を被写体画素値として順に被写体識別子に割り当てる。
例えば、隣接ブロックから予測する方法としては、同じ被写体識別子の隣接ブロックの被写体画素値の平均値や中央値を予測値とする方法がある。
既に復号した同じブロックの被写体画素値を用いて予測を行う方法としては、被写体画素値が小さい順に復号されている場合、直前に復号した被写体画素値に1を加えた値を予測値とする方法や、直前に復号した被写体画素値と残りの復号が必要な被写体画素値の数とを用いて予測値を生成する方法がある。
まず、直前に復号した被写体画素値に1を加えた値を最小値、取り得る画素値の最大の値を最大値とした範囲を、残りの復号が必要な被写体画素値の数のほぼ同じ大きさを持つ部分範囲へと分割する。そして、その中から、最小値を含む部分範囲における中央値を予測値とする。
例えば、直前に被写体画素値として51を復号し、残りの被写体画素値の数が3つの場合、[52、255]を同じ大きさを持つ3つの部分範囲に分割することで、[52、119]、[120、187]、[188、255]を得て、最小値を含む[52、119]の範囲の中央値85を予測値とする。
全く同じ大きさの部分範囲にならない場合には、予め定められたルールに従って、整数を両端に持つ部分範囲を生成してもかまわないし、小数等を用いて表現してもかまわない。例えば、部分範囲の大きさがN、2N、3N、…と大きくなっていくように分割する方法や、N、N/2、N/3、…と小さくなっていくように分割する方法がある。
正しく復号するためには、分割のルールは符号化時に用いたものと同じものである必要がある。
例えば、最初の被写体画素値を復号する場合には、隣接ブロックから予測し、それ以外の被写体画素値を復号する場合には、同じブロックで直前に復号した被写体画素値を用いて予測する方法がある。
別の方法としては、同じブロックで直前に復号した被写体画素値と、隣接ブロックから予測した値とを比較して、その比較結果に応じて予測値を決定する方法がある。
さらに別の方法としては、どちらの予測方法を用いたのかを示す情報を別途符号化して予測方法を切り替えている場合がある。その場合には、予測手法を示す情報を復号した後に、その結果に応じて予測値を生成することになる。
そのような場合には、復号して得られた値を逆量子化することで被写体画素値の復号値を得る。
具体的には、各画素に対して、被写体マップから得られる被写体識別子に対応する被写体画素値を割り当てることで予測画像を生成する。
被写体マップと被写体画素値を用いた予測画像では、被写体数と同じ数の画素値しか存在しないため、自然画とは異なる性質をもつ画像となる。そのため、ディザを加えることでより自然画に近い変化を与えることができる。
ディザ生成には任意の方法を用いることが可能であるが、符号化側と同じ手法を用いる必要がある。なお、符号データにディザ生成装置の初期化等に必要なパラメータが含まれている場合には、それを復号して用いる。
画像信号の復号は、符号化時に用いられた方法に応じて異なる。例えば、MPEG-2やH.264/AVCなどの一般的な符号化が用いられている場合には、符号データに対して、エントロピー復号、逆2値化、逆量子化、IDCTなどの周波数逆変換を行うことで予測残差を復号し、その結果に予測画像を加えることでブロックblkの画像信号を復元する。
ここで、num _objects は被写体数、map _objectは被写体マップ、exist(i, j) は被写体マップj内に被写体識別子iが存在する場合にTRUE、そうでない場合にFALSEを返す関数、residual_value _object[i]は被写体識別子がiの被写体画素値の予測残差、residuals は画像信号の予測残差を表している。
図16A,16Bは、予測画像の生成に用いる付加情報のデータ構造の例1を示す図である。
符号化/復号対象の画像信号の予測のために、図16Aに示すように、被写体数と、被写体マップと、各被写体識別子ごとの被写体画素値が設定される。
被写体数Nは整数である。被写体マップは、ブロック内の画素数と同じ長さの1~Nの整数列である。被写体画素値は、予測なしの場合、符号なし整数であり、予測ありの場合、符号付き整数(負の数を考慮)である。
図17A,17Bは、予測画像の生成に用いる付加情報のデータ構造の例2を示す図である。
この例では、被写体マップの前に、単一被写体ブロック識別情報が付加されている。単一被写体ブロック識別情報は、0~Nの整数であり、ブロック内が単一被写体の場合、すなわちブロック内の全画素が同じ被写体識別子の場合、1~Nの値であり、複数の被写体を含む場合には0である。
単一被写体ブロック識別情報が0の場合、以降の被写体マップおよび被写体画素値のデータは、前述したデータ構造の例1と同様である。
単一被写体ブロック識別情報が1~Nの場合、この数をマイナス1した数が被写体識別子である。換言すれば、ブロック内の被写体識別子がすべて同じ場合には、その被写体識別子に1を加算した値が、単一被写体ブロック識別情報として付加情報に設定される。
図18A,18Bは、予測画像の生成に用いる付加情報のデータ構造の例3を示す図である。
この例では、被写体マップを木構造形式で保持する。この木構造被写体マップは、被写体マップを木構造で表現し、各ノードの値を予め定められた順にスキャンしたものであり、可変長の整数列である。
図19A,19Bは、予測画像の生成に用いる付加情報のデータ構造の例4を示す図である。
この例では、木構造被写体マップを、ブロック分割情報とブロック内被写体識別子情報とに分けて保持している。ブロック分割情報は、木構造被写体マップを用いた際のリーフ以外のノードをスキャンした結果を示し、ブロック内被写体識別子情報は、木構造被写体マップを用いた際のリーフをスキャンした結果を示す。
その場合にはブロックごとにどの方法を用いて符号化したかを示す情報を符号化および復号する必要がある。
その場合、被写体の存在には空間的だけでなく時間的な連続性があることから、被写体マップの符号化に用いる参照画素や、被写体画素値の予測に用いる隣接ブロックの定義を、空間方向だけでなく時間方向にも拡張して用いることは容易に類推可能である。
・プログラムを実行するCPU50
・CPU50がアクセスするプログラムやデータが格納されるRAM等のメモリ51
・カメラ等からの符号化対象の画像信号を入力する符号化対象フレーム入力部52(ディスク装置等による画像信号を記憶する記憶部でもよい)
・第1実施形態で説明した処理をCPU50に実行させるソフトウェアプログラムである画像符号化プログラム531が格納されたプログラム記憶装置53
・CPU50がメモリ51にロードされた画像符号化プログラム531を実行することにより生成された多重化符号データを、例えばネットワークを介して出力する多重化符号データ出力部54(ディスク装置等による多重化符号データを記憶する記憶部でもよい)
とが、バスで接続された構成になっている。
・プログラムを実行するCPU60
・CPU60がアクセスするプログラムやデータが格納されるRAM等のメモリ61
・画像符号化装置が上述した手法により符号化した多重化符号データを入力する多重化符号データ入力部62(ディスク装置等による多重化符号データを記憶する記憶部でもよい)
・第2実施形態で説明した処理をCPU60に実行させるソフトウェアプログラムである画像復号プログラム631が格納されたプログラム記憶装置63
・CPU60がメモリ61にロードされた画像復号プログラム631を実行することにより、多重化符号データを復号して得られた復号画像データを、再生装置などに出力する復号画像データ出力部64
とが、バスで接続された構成になっている。
従来手法(例えば、H.264/AVC)と本発明を用いた手法(本手法という)との符号量の比較を行う。
1.1 付加情報の符号量
付加情報は、従来手法ではエッジの向きを示す情報であり、2次元ベクトルである。これに対し、本手法による付加情報は、被写体数分の被写体画素値(スカラ値または色ベクトル)と被写体マップ(二次元情報)であり、条件にもよるが、処理ブロックを16×16、被写体数を4とした場合、ビット量は約68倍になる(ただし、エントロピー符号化することで、約5倍程度にすることができる)。
エッジの強い画像においては、予測画像と入力画像とで物体形状が大きく異なると、その予測残差を周波数領域へ変換しても、情報を効率的に低域へ集中させることができず、予測残差の符号量が非常に多くなる。
一般的な符号化レートにおいて、従来手法の予測残差の符号量は、符号量全体の約9割を占める。つまり、全体の符号量を100とすると、付加情報が10で予測残差が90となる。
一方、本手法により、付加情報が5倍、予測残差が1/3になるとすると、本手法によって全体の符号量は80とすることが可能である。
図22A,22Bに、あるサンプル画像(ballet)について、本手法と従来手法を用いて符号化した場合の、発生符号量および画像品質の比較を示す。
図22A,22Bに示すグラフにおいて、縦軸のY-PSNRは画像の品質(単位はdB)、横軸のbitrateは符号量(単位はbps/view)を表している。Y-PSNRの値は、大きなほど綺麗な画像であることを示す。
図22Aのグラフから、Y-PSNRが43dBとなるとき、従来手法(H.264/AVC)では、約650kbpsの符号量が必要であり、本手法では、約400kbpsの符号量が必要であることが分かる。このことから、同じ品質で符号化する場合、本手法によって符号量を約4割削減できたことが分かる。
図22Bのグラフから、bitrateが400kbpsとなるとき、従来手法(H.264/AVC)では、約39dBの品質であり、本手法では、約43dBの品質であることが分かる。このことから、同じ符号量で符号化する場合、本手法によって4dB分画質を改善(歪み量を約6割削減)できたことが分かる。
101 符号化対象フレーム入力部
102 符号化対象フレームメモリ
103 被写体数設定部
104 被写体画素値設定部
105 被写体画素値符号化部
106 被写体マップ生成部
107 被写体マップ符号化部
108 予測画像生成部
109 画像信号符号化部
110 多重化部
111 被写体数符号化部
200 画像復号装置
201 符号データ入力部
202 符号データメモリ
203 分離部
204 被写体数設定部
205 被写体マップ復号部
206 被写体画素値復号部
207 予測画像生成部
208 画像信号復号部
Claims (26)
- 画像を伝送または蓄積するにあたり、画像フレームを予め定められた大きさの処理領域に分割し、処理領域ごとに各画素の画素値を予測しながら符号化を行う画像符号化方法であって、
処理領域内に存在する被写体の数を被写体数として設定する被写体数設定ステップと、
処理領域内に存在する被写体ごとに、各被写体を代表する1つの画素値を、該被写体を識別する被写体識別子に対応づけて、被写体画素値として設定する被写体画素値設定ステップと、
処理領域内の各画素の画素値と被写体画素値とから、処理領域内の各画素にどの被写体が撮影されているかを被写体識別子で示す被写体マップを生成する被写体マップ生成ステップと、
前記被写体マップに従って各画素に前記被写体画素値の値を割り当てることで処理領域に対する予測画像を生成する予測画像生成ステップと、
前記被写体マップを符号化する被写体マップ符号化ステップと、
前記被写体画素値を符号化する被写体画素値符号化ステップと、
前記予測画像を用いて処理領域に対する画像信号を予測符号化する画像信号符号化ステップとを有する
ことを特徴とする画像符号化方法。 - 前記被写体数設定ステップで設定した被写体数を符号化する被写体数符号化ステップをさらに含む
ことを特徴とする請求項1に記載の画像符号化方法。 - 前記被写体数設定ステップでは、処理領域内の画素の情報から処理領域内の被写体の数を推定して被写体数とする
ことを特徴とする請求項1に記載の画像符号化方法。 - 前記被写体画素値符号化ステップでは、前記被写体識別子ごとに、前記被写体マップで該被写体識別子が使用されているか否かをチェックし、使用されている場合には、該被写体識別子に対応する前記被写体画素値を符号化し、使用されていない場合には、該被写体識別子に対応する前記被写体画素値の符号化を省略する
ことを特徴とする請求項1に記載の画像符号化方法。 - 前記予測画像に対してディザを加えるディザ付加ステップをさらに含み、
前記画像信号符号化ステップでは、前記ディザを加えられた予測画像を用いて処理領域に対する画像信号を予測符号化する
ことを特徴とする請求項1に記載の画像符号化方法。 - 画像の符号データを復号するに際し、画像フレームを予め定められた大きさの処理領域に分割し、処理領域ごとに各画素の画素値を予測しながら復号を行う画像復号方法であって、
処理領域内に存在する被写体の数を被写体数として設定する被写体数設定ステップと、
処理領域内の各画素に撮影されている被写体を被写体識別子によって表した被写体マップを前記符号データから復号する被写体マップ復号ステップと、
前記被写体識別子ごとに1つ設定された被写体画素値を前記符号データから復号する被写体画素値復号ステップと、
前記被写体マップに従って各画素に前記被写体画素値の値を割り当てることで処理領域に対する予測画像を生成する予測画像生成ステップと、
前記予測画像を用いて処理領域に対する画像信号を前記符号データから復号する画像信号復号ステップとを有する
ことを特徴とする画像復号方法。 - 前記被写体数設定ステップでは、前記被写体数を前記符号データから復号して設定する
ことを特徴とする請求項6に記載の画像復号方法。 - 画像の符号データを復号するに際し、画像フレームを予め定められた大きさの処理領域に分割し、処理領域ごとに各画素の画素値を予測しながら復号を行う画像復号方法であって、
処理領域内の各画素に撮影されている被写体を被写体識別子によって表した被写体マップを前記符号データから復号する被写体マップ復号ステップと、
前記被写体識別子ごとに1つ設定された被写体画素値を前記符号データから復号する被写体画素値復号ステップと、
前記被写体マップに従って各画素に前記被写体画素値の値を割り当てることで処理領域に対する予測画像を生成する予測画像生成ステップと、
前記予測画像を用いて処理領域に対する画像信号を前記符号データから復号する画像信号復号ステップとを有する
ことを特徴とする画像復号方法。 - 処理領域内に存在する被写体の数を被写体数として設定する被写体数設定ステップをさらに含み、
前記被写体数設定ステップでは、前記被写体数を前記符号データから復号して設定する
ことを特徴とする請求項8に記載の画像復号方法。 - 前記被写体画素値復号ステップでは、前記被写体マップに現れた被写体識別子に対応する被写体画素値のみを復号する
ことを特徴とする請求項6または請求項8に記載の画像復号方法。 - 前記予測画像に対してディザを加えるディザ付加ステップをさらに含み、
前記画像信号復号ステップでは、前記ディザを加えられた予測画像を用いて処理領域に対する画像信号を前記符号データから復号する
ことを特徴とする請求項6または請求項8に記載の画像復号方法。 - 画像を伝送または蓄積するにあたり、画像フレームを予め定められた大きさの処理領域に分割し、処理領域ごとに各画素の画素値を予測しながら符号化を行う画像符号化装置であって、
処理領域内に存在する被写体の数を被写体数として設定する被写体数設定手段と、
処理領域内に存在する被写体ごとに、各被写体を代表する1つの画素値を、該被写体を識別する被写体識別子に対応づけて、被写体画素値として設定する被写体画素値設定手段と、
処理領域内の各画素の画素値と被写体画素値とから、処理領域内の各画素にどの被写体が撮影されているかを被写体識別子で示す被写体マップを生成する被写体マップ生成手段と、
前記被写体マップに従って各画素に前記被写体画素値の値を割り当てることで処理領域に対する予測画像を生成する予測画像生成手段と、
前記被写体マップを符号化する被写体マップ符号化手段と、
前記被写体画素値を符号化する被写体画素値符号化手段と、
前記予測画像を用いて処理領域に対する画像信号を予測符号化する画像信号符号化手段とを備える
ことを特徴とする画像符号化装置。 - 前記被写体数を符号化する被写体数符号化手段をさらに含む
ことを特徴とする請求項12に記載の画像符号化装置。 - 前記被写体数設定手段は、処理領域内の画素の情報から処理領域内の被写体の数を推定して被写体数とする
ことを特徴とする請求項12に記載の画像符号化装置。 - 前記被写体画素値符号化手段は、前記被写体識別子ごとに、前記被写体マップで該被写体識別子が使用されているか否かをチェックし、使用されている場合には、該被写体識別子に対応する前記被写体画素値を符号化し、使用されていない場合には、該被写体識別子に対応する前記被写体画素値の符号化を省略する
ことを特徴とする請求項12に記載の画像符号化装置。 - 前記予測画像に対してディザを加えるディザ付加手段をさらに含み、
前記画像信号符号化手段は、前記ディザを加えられた予測画像を用いて処理領域に対する画像信号を予測符号化する
ことを特徴とする請求項12に記載の画像符号化装置。 - 画像の符号データを復号するに際し、画像フレームを予め定められた大きさの処理領域に分割し、処理領域ごとに各画素の画素値を予測しながら復号を行う画像復号装置であって、
処理領域内に存在する被写体の数を被写体数として設定する被写体数設定手段と、
処理領域内の各画素に撮影されている被写体を被写体識別子によって表した被写体マップを前記符号データから復号する被写体マップ復号手段と、
前記被写体識別子ごとに1つ設定された被写体画素値を前記符号データから復号する被写体画素値復号手段と、
前記被写体マップに従って各画素に前記被写体画素値の値を割り当てることで処理領域に対する予測画像を生成する予測画像生成手段と、
前記予測画像を用いて処理領域に対する画像信号を前記符号データから復号する画像信号復号手段とを備える
ことを特徴とする画像復号装置。 - 前記被写体数設定手段は、前記被写体数を前記符号データから復号して設定する
ことを特徴とする請求項17に記載の画像復号装置。 - 画像の符号データを復号するに際し、画像フレームを予め定められた大きさの処理領域に分割し、処理領域ごとに各画素の画素値を予測しながら復号を行う画像復号装置であって、
処理領域内の各画素に撮影されている被写体を被写体識別子によって表した被写体マップを前記符号データから復号する被写体マップ復号手段と、
前記被写体識別子ごとに1つ設定された被写体画素値を前記符号データから復号する被写体画素値復号手段と、
前記被写体マップに従って各画素に前記被写体画素値の値を割り当てることで処理領域に対する予測画像を生成する予測画像生成手段と、
前記予測画像を用いて処理領域に対する画像信号を前記符号データから復号する画像信号復号手段とを備える
ことを特徴とする画像復号装置。 - 処理領域内に存在する被写体の数を被写体数として設定する被写体数設定手段をさらに含み、
前記被写体数設定手段は、前記被写体数を前記符号データから復号して設定する
ことを特徴とする請求項19に記載の画像復号装置。 - 前記被写体画素値復号手段は、前記被写体マップに現れた被写体識別子に対応する被写体画素値のみを復号する
ことを特徴とする請求項17または請求項19に記載の画像復号装置。 - 前記予測画像に対してディザを加えるディザ付加手段をさらに含み、
前記画像信号復号手段は、前記ディザを加えられた予測画像を用いて処理領域に対する画像信号を前記符号データから復号する
ことを特徴とする請求項17または請求項19に記載の画像復号装置。 - 請求項1に記載の画像符号化方法をコンピュータに実行させるための画像符号化プログラム。
- 請求項6または8に記載の画像復号方法をコンピュータに実行させるための画像復号プログラム。
- 請求項1に記載の画像符号化方法をコンピュータに実行させるための画像符号化プログラムを記録した、コンピュータ読み取り可能な記録媒体。
- 請求項6または8に記載の画像復号方法をコンピュータに実行させるための画像復号プログラムを記録した、コンピュータ読み取り可能な記録媒体。
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)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116506629A (zh) * | 2023-06-27 | 2023-07-28 | 上海伯镭智能科技有限公司 | 用于矿山无人驾驶矿车协同控制的路况数据压缩方法 |
Families Citing this family (8)
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)
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)
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 | 日本電信電話株式会社 | 画像符号化方法,画像復号方法,画像符号化装置,画像復号装置およびそれらのプログラム |
-
2010
- 2010-09-29 JP JP2010218036A patent/JP5281623B2/ja active Active
-
2011
- 2011-09-21 WO PCT/JP2011/071463 patent/WO2012043330A1/ja active Application Filing
- 2011-09-21 CA CA 2811898 patent/CA2811898A1/en not_active Abandoned
- 2011-09-21 KR KR1020137007041A patent/KR101552664B1/ko active IP Right Grant
- 2011-09-21 EP EP20110828887 patent/EP2624566A4/en not_active Withdrawn
- 2011-09-21 US US13/822,836 patent/US9031338B2/en active Active
- 2011-09-21 CN CN201180045385.8A patent/CN103098475B/zh active Active
- 2011-09-21 BR BR112013008046A patent/BR112013008046A2/pt not_active IP Right Cessation
- 2011-09-26 TW TW100134543A patent/TWI508529B/zh active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH09289638A (ja) * | 1996-04-23 | 1997-11-04 | Nec Corp | 3次元画像符号化復号方式 |
JP2003304562A (ja) * | 2002-04-10 | 2003-10-24 | Victor Co Of Japan Ltd | オブジェクト符号化方法、オブジェクト符号化装置、及びオブジェクト符号化用プログラム |
JP2006518157A (ja) * | 2003-02-17 | 2006-08-03 | エックスヴイディー コーポレイション | オブジェクトベースの動き補償の方法及び装置 |
JP2010157825A (ja) * | 2008-12-26 | 2010-07-15 | Victor Co Of Japan Ltd | 画像符号化装置、画像符号化方法およびそのプログラム |
Non-Patent Citations (9)
Title |
---|
"Advanced video coding for generic audiovisual services", RECOMMENDATION ITU-T H.264, March 2009 (2009-03-01) |
A. SMOLIC; K. MUELLER; P. MERKLE; N. ATZPADIN; C. FEHN; M. MUELLER; 0. SCHREER; R. TANGER; P. KAUFF; T. WIEGAND: "Multi-view video plus depth (MVD) format for advanced 3D video systems", JOINT VIDEO TEAM OF ISO/IEC JTC1/SC29/WG11 AND ITU-T SG16 Q.6, DOC. JVT-W100, April 2007 (2007-04-01) |
C. FEHN; P. KAUFF; M. OP DE BEECK; F. ERNST; W. IJSSELSTEIJN; M. POLLEFEYS; L. VAN GOOL; E. OFEK; SEXTON: "An Evolutionary and Optimised Approach on 3D-TV", PROCEEDINGS OF INTERNATIONAL BROADCAST CONFERENCE, September 2002 (2002-09-01), pages 357 - 365 |
C. L. ZITNICK; S. B. KANG; M. UYTTENDAELE; S. A. J. WINDER; R. SZELISKI: "High-quality Video View Interpolation Using a Layered Representation", ACM TRANSACTIONS ON GRAPHICS, vol. 23, no. 3, August 2004 (2004-08-01), pages 600 - 608, XP002354522, DOI: doi:10.1145/1015706.1015766 |
DE SILVA D.V.S.X. ET AL.: "Object Based Coding of the Depth Maps for 3D Video Coding", IEEE TRANSACTIONS ON CONSUMER ELECTRONICS, vol. 55, no. 3, August 2009 (2009-08-01), pages 1699 - 1706, XP011277845 * |
KUNIO NOBORI ET AL.: "Object-based image coding using range data", THE INSTITUTE OF ELECTRONICS, INFORMATION AND COMMUNICATION ENGINEERS SOGO TAIKAI KOEN RONBUNSHU, 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)
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 |