JP2014099716A - Image encoder and control method of the same - Google Patents
Image encoder and control method of the same Download PDFInfo
- Publication number
- JP2014099716A JP2014099716A JP2012249645A JP2012249645A JP2014099716A JP 2014099716 A JP2014099716 A JP 2014099716A JP 2012249645 A JP2012249645 A JP 2012249645A JP 2012249645 A JP2012249645 A JP 2012249645A JP 2014099716 A JP2014099716 A JP 2014099716A
- Authority
- JP
- Japan
- Prior art keywords
- block
- image data
- image
- occlusion
- data
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Abstract
Description
本発明は画像符号化技術に関するものである。 The present invention relates to an image encoding technique.
従来から、複数の視点で映像を撮影し、撮影した多視点映像を利用してステレオ立体視や、自由視点映像合成といった映像表現を実現する方法が知られている。そのような映像表現を実現するためには、多視点撮影映像の保存技術は必要不可欠となる。単純には、通常のデジタルカメラの如く、単一視点の画像の圧縮符号化技術を視点の数だけ用いることであるが、この場合のデータ量は視点数に比例したものとなってしまう。 2. Description of the Related Art Conventionally, a method is known in which video is captured from a plurality of viewpoints, and video representation such as stereo stereoscopic viewing and free viewpoint video synthesis is performed using the captured multi-viewpoint videos. In order to realize such video expression, multi-viewpoint video storage technology is indispensable. Simply, as with a normal digital camera, a single-viewpoint image compression encoding technique is used as many as the number of viewpoints. However, the data amount in this case is proportional to the number of viewpoints.
このような状況を顧み、多視点映像の相関を利用してデータ量を削減する符号化方式が検討されている。代表的なものとしてH.264/MPEG−4 AVC multiview video coding (以下、MVC)が知られている。MVCでは、対象視点の映像を、参照視点の映像を用いて視差補償予測によって予測し、対象視点の映像と予測画像との差分を符号化することで、対象視点の映像そのものを符号化する場合に比べてデータ量を削減する。ここで、視差補償予測は、一般の動画の時間軸に沿ったフレーム間の相関を利用した圧縮技術として知られている動き補償予測技術を、異なる視点間の映像に適用したものである。 In consideration of such a situation, an encoding method that reduces the amount of data by using the correlation of multi-view video has been studied. A typical example is H.264. H.264 / MPEG-4 AVC multiview video coding (hereinafter referred to as MVC) is known. In MVC, when the target viewpoint video is predicted by parallax compensation prediction using the reference viewpoint video, and the difference between the target viewpoint video and the predicted image is encoded, thereby encoding the target viewpoint video itself. Reduce the amount of data compared to. Here, the parallax compensation prediction is obtained by applying a motion compensation prediction technique known as a compression technique using a correlation between frames along a time axis of a general moving image to videos between different viewpoints.
また、3D Video Coding(以下、3DV)の策定も行われている。MVCは多視点映像の符号化を行うのに対して、3DVは特に自由視点映像合成を行うために、各視点の距離画像も合わせて符号化する。自由視点映像合成は、多視点映像のみが符号化された場合でもデコーダ側で多視点映像から距離を推定すれば実現可能である。しかし、エンコーダ側で距離を取得して距離画像を符号化することで、デコーダ側の負荷を減らすことができるという利点がある。当然ながら距離画像を同時に送信する場合は、距離画像のデータ量が増加するが、多視点映像と距離画像間の相関を利用することで、多視点映像と距離画像を別々に符号化した場合に比べデータ量を削減できると考えられる。
距離画像を利用して多視点映像の符号量を削減する技術として特許文献1に記載の方法が知られている。特許文献1では、参照視点のカラー画像、参照視点の距離画像が符号化されているという前提で、対象視点のカラー画像の符号化におけるデータ量を削減する方法が示されている。具体的には、参照視点のカラー画像、参照視点の距離画像、各視点間のカメラの設置位置及び向きに基づいて、対象視点のカラー画像を予測する。この際、対象視点から見えるが、参照視点からは見えない画素(オクルージョン)に対しては予測が得られないが、この様な画素に対しては隣接する画素から推定することで予測値を得る。
In addition, 3D Video Coding (hereinafter 3DV) is being formulated. MVC encodes multi-view video, whereas 3DV particularly encodes distance images for each viewpoint in order to perform free-view video synthesis. Free viewpoint video synthesis can be realized by estimating the distance from the multi-view video on the decoder side even when only the multi-view video is encoded. However, there is an advantage that the load on the decoder side can be reduced by acquiring the distance on the encoder side and encoding the distance image. Of course, when the distance image is transmitted simultaneously, the data amount of the distance image increases, but when the multi-view image and the distance image are encoded separately by using the correlation between the multi-view image and the distance image. Compared to this, the data volume can be reduced.
As a technique for reducing the code amount of a multi-view video using a distance image, a method described in
ここで、前述のMVCが持つ課題を以下で述べる。MVCでは、16×16画素から4×4画素までの可変のブロックに対して、視差補償予測を適用する。ブロックサイズが小さいほど予測画像と元画像との差分符号量は小さくなるが、視差ベクトルはブロックに1つ割り当てられるため、視差ベクトルの符号量が増加するというトレードオフが存在する。ブロックサイズの決定方法は規格内では定められていないが、例えば、数通りのブロックサイズで符号化した場合のデータ量を比較し、最も符号化効率が良いブロックサイズを採用する。この際、オクルージョン部と非オクルージョン部の特定は明示的に行わないものの、オクルージョン部と非オクルージョン部が混在する領域においては、ブロックサイズが小さくなると予想できる。これは、オクルージョン部と非オクルージョン部は奥行きの異なるシーンが混在するため、単独の視差ベクトルでは、うまく予測画像が生成できないと考えられる為である。つまり、MVCではオクルージョン近辺の予測画像を高精度で生成するためには、ブロックサイズが小さくなってしまうという課題がある。 Here, the problems of the aforementioned MVC will be described below. In MVC, parallax compensation prediction is applied to a variable block from 16 × 16 pixels to 4 × 4 pixels. The smaller the block size, the smaller the difference code amount between the predicted image and the original image. However, since one disparity vector is assigned to the block, there is a trade-off that the amount of disparity vector code increases. Although the method for determining the block size is not defined in the standard, for example, the block size with the highest coding efficiency is adopted by comparing the data amounts when coding with several block sizes. At this time, although the occlusion part and the non-occlusion part are not explicitly specified, the block size can be expected to be small in a region where the occlusion part and the non-occlusion part are mixed. This is because scenes with different depths are mixed in the occlusion part and the non-occlusion part, so that it is considered that a predicted image cannot be generated well with a single disparity vector. That is, in MVC, in order to generate a prediction image near occlusion with high accuracy, there is a problem that the block size becomes small.
次に、特許文献1に記載の方法が持つ課題を、図3を用いて説明する。図3(a)、(b)はそれぞれ同一の被写体を、横に並べた2つのカメラで撮影して得た画像である。図3(a)、(b)内の網点部及び斜線部は背景で、互いに異なるテクスチャ模様を持っており、前景に丸いオブジェクトを配置して撮影したものとする。図3(a)が左、(b)が右に位置するカメラで撮影した画像である。また、図3(c)は、同図(a)に写った被写体の、カメラからの距離を示す距離画像であり、格子部が背景の距離、横線部が前景の距離を示しており、前景領域、背景領域はそれぞれ単一の距離であるとする。ここでは図3(a)、(c)をまず符号化し、図3(a)、(c)を用いて図3(b)の予測画像を生成し、差分を符号化することを考える。まず図3(c)で得られる各画素の距離と、2つのカメラの位置関係を利用して、図3(a)の各画素を投影変換し、図3(b)を撮影したカメラの位置から見た画像に変換する。この結果、図3(d)の画像が得られる。同図(d)において、白色部301はオクルージョンである。高い符号化効率を得るには、このオクルージョン部を穴埋めすることで、図3(b)に近い画像を予測画像として作る必要がある。特許文献1では、オクルージョン部の穴埋めは隣接画素から行う方法が示されている。しかし図3(d)で示したように、オクルージョン部がテクスチャの一部であった場合は、隣接画像から穴埋めしただけではテクスチャが十分に予測できる可能性は低い。つまり、特許文献1に記載の方法では、オクルージョン部がテクスチャ領域であった場合などに、予測画像の精度が低くなる、という課題があることが理解できよう。
Next, the problem of the method described in
本発明は係る課題に鑑みなされたものであり、基準視点における画像及び距離画像から、他の視点の画像を効率良く予測符号化する技術を提供しようとするものである。 The present invention has been made in view of the above problems, and an object of the present invention is to provide a technique for efficiently predictively encoding an image at another viewpoint from an image at a reference viewpoint and a distance image.
この課題を解決するため、例えば本発明の画像符号化装置は以下の構成を備える。すなわち、
基準視点における画像データと当該基準視点の距離画像データに基づき、前記基準視点とは異なる目標視点の画像データを予測符号化する画像符号化装置であって、
前記距離画像データを用いて、前記目標視点の画像データにおける各画素について、オクルージョン部と非オクルージョン部のいずれに属するかを識別するための識別データを生成する識別データ生成手段と、
前記目標視点の画像データから、予め設定されたサイズのブロックを単位とするブロック画像データを入力する入力手段と、
前記識別データ生成手段で生成された識別データを参照することで、前記入力手段で入力した着目ブロック画像データが、オクルージョン部と非オクルージョン部が混在した混在ブロックであるか否かを判定する判定手段と、
該判定手段で非混在ブロックであると判定した場合には、前記着目ブロック画像データに対する予測ブロック画像データを前記基準視点の画像データを参照して生成し、
前記判定手段で混在ブロックであると判定した場合には、前記識別データを参照して、前記着目ブロック画像データを、オクルージョンの画素で構成されるオクルージョン領域と、非オクルージョン画素で構成される非オクルージョン領域とに分離し、それぞれの領域に対応する予測領域画像データを前記基準視点の画像データを参照して生成し、得られた予測領域画像データそれぞれを統合することで、前記着目ブロック画像データに対する予測ブロック画像データを生成する予測画像生成手段と、
該予測画像生成手段で生成された予測ブロック画像データと前記着目ブロック画像データとの差分を符号化する符号化手段とを有する。
In order to solve this problem, for example, an image encoding device of the present invention has the following configuration. That is,
An image encoding device that predictively encodes image data of a target viewpoint different from the reference viewpoint based on image data at a reference viewpoint and distance image data of the reference viewpoint,
Using the distance image data, identification data generating means for generating identification data for identifying whether each pixel in the image data of the target viewpoint belongs to an occlusion part or a non-occlusion part;
Input means for inputting block image data in units of blocks of a preset size from the image data of the target viewpoint;
Determination means for determining whether the target block image data input by the input means is a mixed block in which an occlusion part and a non-occlusion part are mixed by referring to the identification data generated by the identification data generation means When,
If the determination unit determines that the block is a non-mixed block, the prediction block image data for the block image data of interest is generated with reference to the image data of the reference viewpoint,
When the determination unit determines that the block is a mixed block, referring to the identification data, the block image data of interest includes an occlusion area including occlusion pixels and a non-occlusion pixel including non-occlusion pixels. The prediction area image data corresponding to each area is generated with reference to the image data of the reference viewpoint, and the obtained prediction area image data is integrated to obtain the corresponding block image data. Predicted image generation means for generating predicted block image data;
And encoding means for encoding a difference between the predicted block image data generated by the predicted image generation means and the block image data of interest.
本発明によれば、符号化単位となるブロック内にオクルージョン部と非オクルージョン部が混在する場合でも、高い精度で予測画像を生成することで、これまでよりも圧縮率の高い符号化データを生成することが可能になる。 According to the present invention, even when an occlusion part and a non-occlusion part coexist in a block that is a coding unit, it is possible to generate encoded data with a higher compression rate than before by generating a predicted image with high accuracy. It becomes possible to do.
以下、添付図面に従って本発明に係る実施形態を詳細に説明する。なお、以下で説明する各実施形態は、本発明を具体的に実施した場合の例を示すもので、特許請求の範囲に記載の構成の具体的な実施形態の1つである。 Hereinafter, embodiments according to the present invention will be described in detail with reference to the accompanying drawings. Each embodiment described below shows an example in the case where the present invention is specifically implemented, and is one of the specific embodiments having the configurations described in the claims.
[第1の実施形態]
本実施形態では、ステレオ立体視や自由視点画像合成が実現可能なシステムを想定し、多視点画像とそのうちの1つの視点の画像とその距離画像とから、他の1つの目標視点の画像を予測符号化を行う例を説明する。従って、以下の説明では、2つの画像と、そのうちの一方の画像の視点における1つの距離画像を用いることになる。
[First Embodiment]
In the present embodiment, assuming a system that can realize stereo stereoscopic vision and free viewpoint image synthesis, an image of one other target viewpoint is predicted from a multi-viewpoint image, one of the viewpoint images, and its distance image. An example of performing encoding will be described. Therefore, in the following description, two images and one distance image at the viewpoint of one of the images are used.
まず自由視点画像合成と距離画像について概要を説明する。自由視点画像合成とは、カメラ等の撮影装置を用いて、或る視点から画像を撮影し、その視点の画像を利用して、実際には撮影を行っていない別の視点から見える画像を合成する技術である。自由視点画像合成の手法の1つに、距離画像を利用する方法が知られている。距離画像とは撮影した視点の各画素の距離情報が格納された画像である。距離画像があれば、撮影した被写体の3次元空間上の座標が特定できるため、別の視点から見た際に、被写体が画像上のどこの位置に写るかを推測することができる。 First, an outline of the free viewpoint image synthesis and the distance image will be described. Free viewpoint image composition is to shoot an image from a certain viewpoint using a camera or other imaging device, and synthesize an image that can be seen from another viewpoint that is not actually photographed. Technology. A method using a distance image is known as one of free viewpoint image synthesis methods. A distance image is an image in which distance information of each pixel of a photographed viewpoint is stored. If there is a distance image, the coordinates of the photographed subject in the three-dimensional space can be specified, so it can be estimated where the subject appears in the image when viewed from another viewpoint.
距離画像の取得には大きく分けてアクティブ方式とパッシブ方式がある。アクティブ方式は被写体にレーザーなどを照射することで距離を取得する方式で、代表的なものとしてレーザーが往復してくるまでの時間から距離を推測するタイムオブフライト方式がある。パッシブ方式は撮影した画像を用いて距離を取得する方式で、代表的なものとして、異なる2視点の撮影画像を用いるステレオマッチング法がある。 There are an active method and a passive method for obtaining a distance image. The active method is a method of acquiring a distance by irradiating a subject with a laser or the like. As a representative method, there is a time-of-flight method of estimating the distance from the time until the laser reciprocates. The passive method is a method of acquiring a distance using a photographed image, and a typical example is a stereo matching method using photographed images from two different viewpoints.
アクティブ取得した距離画像を用いて自由視点画像合成を行う場合は、撮影した多視点画像に加えて、アクティブ取得した距離画像の符号化を行う必要がある。距離画像をパッシブ取得する場合は、多視点画像から距離画像を取得することができるため距離画像の符号化は不要である。しかし、再生時の処理負荷低減などを目的に、撮影時に距離画像のパッシブ取得を行って符号化し、再生時に距離画像の再取得を行わない場合は、やはり距離画像の符号化が必要となる。 When free viewpoint image composition is performed using an actively acquired distance image, it is necessary to encode an actively acquired distance image in addition to the captured multi-viewpoint image. When the distance image is passively acquired, it is not necessary to encode the distance image because the distance image can be acquired from the multi-viewpoint image. However, for the purpose of reducing the processing load at the time of reproduction or the like, when the distance image is passively acquired and encoded at the time of shooting and the distance image is not re-acquired at the time of reproduction, the distance image needs to be encoded.
自由視点画像合成に用いられる距離画像は、視差として符号化されることが多い。視差とは、異なる2つの視点で同一の被写体(点)を撮影した際に、一方の視点に映った点が、もう一方の視点での撮影画像のどこに写っているかを示す量である。一般には異なる画像間で、同一の被写体が写っている点(以下、対応点)同士が何画素ずれているかで表現される。より具体的には、光軸が平行で、水平軸に沿った左右にb(mm)の間隔で並べた2つのカメラで、撮影面(光軸に垂直かつ、2つのカメラを通る平面)からz(mm)離れた点を撮影した場合、2つの撮影画像内の対応点の視差d(pix)は次式(1)で得られる。
d=bfW/(zC) …(式1)
ここで,fはカメラの焦点距離(mm)、Wは撮影画像の幅(pix)、Cは撮影素子の幅(mm)である。なお、カメラが左右に正確に配置されている場合は、対応点の垂直方向の視差は0であることが保証できる(エピポーラ拘束)。従ってここで説明した視差は、対応点同士の水平方向のずれを示していることになる。
A distance image used for free viewpoint image synthesis is often encoded as parallax. The parallax is an amount indicating where a point reflected in one viewpoint is captured in a captured image at the other viewpoint when the same subject (point) is captured from two different viewpoints. In general, it is expressed by how many pixels the points (hereinafter referred to as corresponding points) in which the same subject appears in different images are shifted. More specifically, the two optical cameras are parallel to each other and arranged at an interval of b (mm) on the left and right along the horizontal axis, from the photographing surface (a plane perpendicular to the optical axis and passing through the two cameras). When a point separated by z (mm) is photographed, the parallax d (pix) of the corresponding point in the two photographed images is obtained by the following equation (1).
d = bfW / (zC) (Formula 1)
Here, f is the focal length (mm) of the camera, W is the width (pix) of the captured image, and C is the width (mm) of the imaging element. When the cameras are accurately arranged on the left and right, it can be ensured that the vertical parallax of the corresponding points is 0 (epipolar constraint). Therefore, the parallax described here indicates a horizontal shift between corresponding points.
以上で、自由視点画像合成と、距離画像の概要についての説明を終え、本実施形態の説明に移る。 The description of the free viewpoint image synthesis and the outline of the distance image is thus completed, and the description shifts to the description of the present embodiment.
本第1の実施形態で想定するシステムを図4に示す。図4は撮影装置により2枚の画像を撮影し、2枚の画像及び自由視点画像合成結果を表示するまでの各部の構成と、データの流れを示したものである。 FIG. 4 shows a system assumed in the first embodiment. FIG. 4 shows the configuration of each part and the data flow until two images are taken by the photographing apparatus and the two images and the free viewpoint image composition result are displayed.
まず撮影部420、421においてカラー画像を撮影する。撮影は光軸が平行で、左、右に並べた2つのデジタルカメラで行う。左視点の画像をI1、右視点の画像をI2とする。
First, a color image is photographed by the photographing
距離画像取得部422では画像I1の距離画像S1を取得する。従って、現実には、距離画像取得部422の視点位置は、撮像部420のそれに近接した位置になる。図示では距離画像はアクティブ方式によって、被写体までの距離を計測することで得られる。なお、I1、I2を用いて、ステレオマッチング法により求めることも可能である。また、3DのCG画像を扱う場合は3Dモデルから距離を取得することも可能である。
The distance
次に予測符号化部423では、画像I1と距離画像S1を利用して、I2の予測符号化を行う。本実施形態の特徴は予測符号化部423での予測方法であり、後で詳しく説明する。予測符号化の結果、I2の予測画像を生成するための予測情報、及びI2と予測画像との差分の符号データを得る。予測情報は可逆符号化、差分は非可逆符号化を行うのが望ましい。
Next, the
符号化部424は画像I1の符号化を行う。I1の符号化はPNGなどの可逆符号化が望ましい。なお、I1の符号化をJPEGなどにより非可逆符号化しても構わないが、この場合、予測符号化部423にはI1ではなく、I1を非可逆符号化した後に復号した劣化画像を入力するのが望ましい。
The
符号化部425は距離画像S1の符号化を行う。距離画像S1の符号化はZIPなどの可逆符号化が望ましい。
The
次に、これらで得た符号データと、撮影したカメラの位置および向きを特定する情報とを、送信部426が受信部427に向けて送信する。この際、各符号化データや撮影に係る情報をコンバインして1つのファイルとして送信すると都合が良い。
Next, the
受信部427は、上記の符号化データを受信すると、符号化データを分離し、それぞれを該当する復号部428乃至430に供給する。復号部428は画像I1の符号化データを復号する。復号部430は、距離画像S1の符号化データを復号する。そして、復号部429は、予測差分符号化データを復号する。そして、復号部429は、復号して得られた画像I1と距離画像S1、並びに撮影に係る情報を元に予測画像を生成し、その予測画像に対して、予測差分データを適用することで、画像I2を復号(生成)する。本実施形態では画像I2のみ非可逆符号化を行うため、劣化前の画像と区別するため、復号部429の出力結果はI2’として示した。
When receiving the above encoded data, the receiving
ここまでで撮影したカラー画像I1、I2’の表示が可能になる。ステレオ立体視はこの2つの画像で実現可能である。さらに、カラー画像I1と距離画像S1を利用して自由視点画像合成を自由視点画像合成部431で行うことで、撮影装置で撮影していない視点の画像I3も表示することが可能である。
The color images I1 and I2 'taken so far can be displayed. Stereo stereoscopic vision can be realized with these two images. Furthermore, by performing the free viewpoint image composition by the free viewpoint
以上で、本実施形態で想定するシステムの全体像の説明を終える。以下では本実施形態の特徴である、予測符号化部423の処理の詳細を説明する。
This is the end of the description of the overall image of the system assumed in this embodiment. Details of the process of the
予測符号化部423で行う処理の詳細を図2のフローチャートを用いて説明する。図4から明らかなように、予測符号化部423への入力は、カラー画像I1、I2、及び、カラー画像I1の距離画像S1である。以下では説明のため、カラー画像I1、I2としてそれぞれ図3(a)、(b)を、距離画像S1として図3(c)を入力したものとして説明を行う。
Details of processing performed by the
図2のS201では、まず、距離画像S1を投影変換して、カラー画像I2の視点での距離画像を推定する(識別データ生成手段)。例として、図3(c)の距離画像を投影変換することで得た距離画像を図3(e)に示す。ここで白色領域302は、カラー画像I1の視点からは見ることができないオクルージョン部である。なお、オクルージョン部ではない場合も、投影変換して得た距離画像に値が存在しない穴が生じることがある。この原因としては、距離画像の量子化誤差などが考えられる。この影響を抑えるために、1画素程度の微小な穴に対しては周囲画素の中間値(もしくは平均値)で穴埋めを行うことが望ましい。
In S201 of FIG. 2, first, the distance image S1 is projected and converted to estimate the distance image at the viewpoint of the color image I2 (identification data generating means). As an example, FIG. 3E shows a distance image obtained by projecting the distance image of FIG. Here, the
次に、図3(e)の距離画像から、画素毎に、オクルージョン部、非オクルージョン部のいずれに属するかの識別する為の識別データを生成する。本実施形態では、後述するようにオクルージョン部、非オクルージョン部を分けるためのデータでもあるので、この識別データの2次元配列を、通常の画像と同様に表現しつつも、通常の画像と区別するために、以降、「マスク画像」という。図3(f)は、このマスク画像の例である。図3(f)の白色部がオクルージョン部、斜線部が非オクルージョン部である。マスク画像は、オクルージョン部、非オクルージョン部の判定(識別)ができれば良いので1画素につき1ビットの2値画像で良い。 Next, identification data for identifying whether the pixel belongs to the occlusion part or the non-occlusion part is generated for each pixel from the distance image of FIG. In the present embodiment, as will be described later, it is also data for separating the occlusion part and the non-occlusion part, so that the two-dimensional array of this identification data is expressed in the same way as a normal image, but is distinguished from a normal image. For this reason, it is hereinafter referred to as a “mask image”. FIG. 3F shows an example of this mask image. In FIG. 3F, the white portion is an occlusion portion, and the shaded portion is a non-occlusion portion. The mask image only needs to be able to determine (identify) the occlusion portion and the non-occlusion portion, and therefore may be a binary image of 1 bit per pixel.
次にS202に進む。S202〜S212は、カラー画像I2を所定画素数を包含するブロック単位で符号化する。本実施形態の例では図3(b)のカラー画像を8×8画素で構成されるブロック画像データを単位に符号化するものとして説明する。 Next, the process proceeds to S202. In S202 to S212, the color image I2 is encoded in units of blocks including a predetermined number of pixels. In the example of the present embodiment, the color image in FIG. 3B will be described as being encoded in units of block image data composed of 8 × 8 pixels.
S202では、カラー画像I2内の符号化対象ブロックが、オクルージョン部と非オクルージョン部が混在するブロックであるかどうかを、マスク画像を参照することで判定する。判定はS201で生成したマスク画像を用いて行う。 In S202, it is determined by referring to the mask image whether the encoding target block in the color image I2 is a block in which the occlusion part and the non-occlusion part are mixed. The determination is performed using the mask image generated in S201.
まずS202で非混在ブロックと判定された場合の動作を述べる。例えば図3(b)に示したブロック303は、対応するマスク画像図3(f)のブロック305が全て非オクルージョン部であるため、非混在ブロックであると判定される。非混在ブロックである場合の処理は、以下で説明する通り、基本的にMVCで用いられる視差補償予測と同様の処理を行う。
First, the operation when it is determined as a non-mixed block in S202 will be described. For example, the
まず、S203に進み、視差ベクトル探索を行う。視差ベクトル探索では図3(b)のブロック303の予測に用いるブロック(予測ブロック画像データ)を図3(a)の画像内で探策し、S204でそのブロックの位置を特定する情報を視差ベクトルとして符号化する。符号化はエントロピー符号化などの、可逆符号化が望ましい。
First, it progresses to S203 and performs a parallax vector search. In the disparity vector search, a block (predicted block image data) used for prediction of the
S203で予測に用いるブロックを定める基準としては、符号化対象ブロックと、予測候補ブロック内の各画素の色の差分絶対値和が最小となるものを選ぶ。 As a criterion for determining a block to be used for prediction in S203, a block that minimizes the sum of absolute differences of colors of pixels in the encoding target block and the prediction candidate block is selected.
S203では、符号化対象ブロックが非オクルージョン部のみからなるブロックで有る場合は、予測候補ブロックは既に説明した通り、エピポーラ拘束に従って探索範囲を限定する。つまり、本実施形態のように、水平にカメラが配置されている場合は、符号化対象ブロックの位置を基準に、横(水平)方向のみをずらしたブロックを探索範囲とする。この場合、視差ベクトルは横方向の位置を示す1次元の位置情報を符号化すれば良い。また、ブロック内の画素全てがオクルージョン画素のみからなる場合は、エピポーラ拘束を無視して、画像全体から対応ブロックを探索する。この場合、視差ベクトルは2次元の位置情報になる。 In S203, when the encoding target block is a block including only the non-occlusion portion, the prediction candidate block limits the search range according to the epipolar constraint as described above. That is, as in the present embodiment, when the camera is arranged horizontally, a block that is shifted only in the horizontal (horizontal) direction with the position of the encoding target block as a reference is set as a search range. In this case, the disparity vector may be encoded with one-dimensional position information indicating the position in the horizontal direction. Further, when all the pixels in the block are composed only of occlusion pixels, the corresponding block is searched from the entire image ignoring the epipolar constraint. In this case, the disparity vector is two-dimensional position information.
次にS205では予測画像生成を行う。非混在ブロックの場合は、予測画像はS203で探索した視差ベクトルで指定されるブロックを用いれば良い。 In step S205, predicted image generation is performed. In the case of a non-mixed block, the block specified by the disparity vector searched in S203 may be used as the predicted image.
次にS212では、S205で生成したブロックの予測画像と、符号化対象ブロックとの各画素の差分値を符号化する。差分の符号化は離散コサイン変換(以下、DCT)を行い、変換係数を量子化し、エントロピー符号化を行う。なお、差分信号の符号化はJPEG2000などの他の非可逆符号化や、ZIPなどの可逆符号化で行っても構わない。そして、S213にて、全ブロックについて処理済みかどうかを判定し、否の場合には、着目ブロック画像データの位置をずらし、ステップS202以降の処理を行う。 Next, in S212, the difference value of each pixel between the prediction image of the block generated in S205 and the encoding target block is encoded. For the difference encoding, discrete cosine transform (hereinafter referred to as DCT) is performed, the transform coefficient is quantized, and entropy encoding is performed. The differential signal may be encoded by other lossy encoding such as JPEG2000 or lossless encoding such as ZIP. Then, in S213, it is determined whether or not the processing has been completed for all the blocks. If not, the position of the block image data of interest is shifted, and the processing after step S202 is performed.
以上で、S202で非混在ブロックと判定された場合の処理の説明を終える。次に、S202にて、着目ブロック画像データが混在ブロックと判定される場合の処理を説明する。 Above, description of the process when it determines with a non-mixed block by S202 is finished. Next, a process when it is determined in S202 that the target block image data is a mixed block will be described.
混在ブロックと判定された場合の符号化の基本的なアイデアは、ブロック内のオクルージョン部として判定された画素で構成されるオクルージョン領域と、非オクルージョン部として判定された画素で構成される非オクルージョン領域のそれぞれに対して予測ブロックを割り当て、それらを統合することで予測精度を向上させる。つまり、1つのブロックに対して視差ベクトルを2本割り当てる。 The basic idea of encoding when it is determined to be a mixed block is that an occlusion area composed of pixels determined as an occlusion part in the block and a non-occlusion area composed of pixels determined as a non-occlusion part The prediction accuracy is improved by assigning prediction blocks to each of them and integrating them. That is, two disparity vectors are assigned to one block.
以下では混在ブロックの例として図3(b)のブロック304を用いて説明する。ブロック304は対応するマスク画像図3(f)のブロック306が斜線部と白色部、つまりオクルージョン部と非オクルージョン部が混じっていることから、S202で混在ブロックであると判定される。
Hereinafter, description will be given using the
S206では、混在ブロックと判定された着目ブロック内をオクルージョン部と非オクルージョン部に分割する。分割の例を、図5を用いて説明する。図5の304、306はそれぞれ図3(b)の304、図3(f)の306と同様のブロックである。S206では符号化対象ブロックをマスク画像に従って非オクルージョン画素で構成される非オクルージョン領域501と、オクルージョン画素で構成されるオクルージョン領域502に分割(分離)する。図5の白色領域503及び504は値の存在しない画素であり、実装上は負の値等、画素が取りえない値を格納すればよい。
In S206, the block of interest determined as the mixed block is divided into an occlusion part and a non-occlusion part. An example of division will be described with reference to FIG.
次にS207では、オクルージョン領域を予測するための対応ブロックをカラー画像I1から探す。本実施形態では図3(a)内で探索する。対応ブロックを探索する際の特徴として、ブロック502内の値が存在しない画素はブロックの類似度の評価の際に無視することで、オクルージョン領域、非オクルージョン領域それぞれの予測領域画像データを探索する。本実施形態ではブロック同士の類似度を、ブロック内のオクルージョンとなっている画素に関する差分絶対値和で評価する。オクルージョン領域は、参照視点の画像に同じ被写体が写っていないと考えられるため、同じ物体が異なるカメラ間で写っていることを前提としたエピポーラ拘束上の探索だけでなく、画像全体を探索するのが望ましい。この場合、視差ベクトルは2次元のデータを符号化する。なお、処理負荷の軽減を目的にエピポーラ拘束上のみを探索しても良い。この場合、オクルージョン領域の予測精度は下がる可能性が高いが、視差ベクトルを表現するためのデータが1次元に抑えられるという利点もある。
Next, in S207, a corresponding block for predicting the occlusion area is searched from the color image I1. In the present embodiment, the search is performed in FIG. As a feature when searching for a corresponding block, pixels having no value in the
ここでS207の処理の効果を補足する。図3(a)の画像中には、オクルージョン領域に存在する物体と同様の物は存在しないはずである。しかしながら、オクルージョン領域が周囲と同じテクスチャ模様となっているようなシーンは多く存在すると考えられる。本実施形態の図3(a)、(b)で示した画像はそのような例となっており、背景がテクスチャ模様で、前景に人物などが写っている。このような場合には、オクルージョン領域に関しても、異なる視点で撮影した画像内に色が類似したブロックが見つかり、オクルージョン領域を高精度に予測できると考えられる。次にS208ではS207で得たオクルージョン領域を含むブロックの視差ベクトルを符号化する。符号化はS204と同様可逆符号化を用いるのが望ましい。 Here, the effect of the process of S207 will be supplemented. In the image of FIG. 3A, there should be no object similar to the object existing in the occlusion area. However, there are many scenes where the occlusion area has the same texture pattern as the surrounding area. The images shown in FIGS. 3A and 3B of this embodiment are such an example, where the background is a texture pattern and a person is shown in the foreground. In such a case, regarding the occlusion area, it is considered that blocks having similar colors are found in images taken from different viewpoints, and the occlusion area can be predicted with high accuracy. Next, in S208, the disparity vector of the block including the occlusion area obtained in S207 is encoded. It is desirable to use lossless encoding as in S204.
次にS209では非オクルージョン領域501を予測するための対応ブロックを図3(a)から探す。S209は基本的にはS207で行ったオクルージョン領域の予測ブロックを得る処理を、非オクルージョン領域に置き換えて行えば良い。ただし、非オクルージョン領域の対応ブロックはエピポーラ拘束上に存在すると考えられるため、視差ベクトルの探索は横方向の1次元に限定する。探索の結果図3(a)のブロック307を、非オクルージョン領域を含むブロックを予測ブロックとして得る。次にS210ではS204と同様の方法で、非オクルージョン領域を含む予測ブロックの位置を示す視差ベクトルを符号化する。
Next, in S209, a corresponding block for predicting the
次にS211では混在ブロックの予測画像を生成する。このS211の処理の詳細を図8のフローチャートを用いて説明する。 In step S211, a mixed block prediction image is generated. Details of the processing of S211 will be described using the flowchart of FIG.
まず、S801で、混在ブロック内のオクルージョン領域を予測するブロックと、非オクルージョン領域を予測するブロックを作成する。図3(b)のブロック304の予測ブロックを作成する例を図6に示す。図6のブロック307、308はそれぞれ図3(a)のブロック307、308と同一のものであり、それぞれ混在ブロック304のオクルージョン領域、非オクルージョン領域を予測するブロックである。また、マスク306は図3(f)のブロック306と同一のものである。予測ブロックを得るために、まず、図6に示す如く、非オクルージョン領域の予測ブロックと、オクルージョン領域の予測ブロックそれぞれに対し、マスクによって予測に用いる領域を切り出す(図6のブロック601と602)。次に両者を互いに統合する(図6のブロック603)。
First, in step S801, a block for predicting an occlusion area in a mixed block and a block for predicting a non-occlusion area are created. An example of creating a prediction block of
図6で得たブロック603は、図3(b)のブロック304の予測として十分機能すると考えられる。しかし、本実施形態では、更に予測ブロックとしての精度を更に高いものとするため、オクルージョン領域と非オクルージョン領域の境界位置に対して、S802〜S804を通して更に補正を加える。境界補正の例を、ブロック603の1ラインであるライン604上の画素を拡大して、説明する。
The
まず、境界補正の必要性を説明する。図7(b)はライン604を拡大した図である。また、図7(a)は、ライン604で予測を行うライン(以下、予測対象ライン)を拡大して示したもので、予測対象ブロックである図3(b)304の1ラインである。当然、図7(b)の各画素が、図7(a)に近い色を持つほど、予測精度が高いと言える。図7(a)の直線701は非オクルージョン部とオクルージョン部の境界を示しており、図7(b)〜(e)内の直線も同様である。図7(a)の画素702、703は予測対象ラインの境界画素であり、非オクルージョン部側の境界にある画素(黒色)と、オクルージョン部側の境界画素(網点)との中間色になっている。一方でこのラインの予測を行う図7(b)の境界画素704、705は異なる色を持っている。まず、境界画素704は、図6のブロック307を、マスク306で切り取った際の境界にあった画素であるため、境界画素704は、ブロック307内の前景部(黒色)と、背景部(斜線)の中間色を持つ。また、境界画素705は、図6のブロック308をマスク306で切り取った画素であるため、網点で示した領域の色を持つ。以上述べたように、境界画素702、703を予測する画素704、705は十分な予測精度を達成できないと考えられる。
First, the necessity of boundary correction will be described. FIG. 7B is an enlarged view of the
以上で述べた境界画素の予測精度を向上させるため、まずS802では図7(b)の境界画素704、705を削除する。その様子を図7(c)に示す。
In order to improve the prediction accuracy of the boundary pixels described above, the
次にS803は、S802で削除後の境界画素を二重に補完する。二重に補間とは、図7(c)の画素706、707のように、削除後の境界の1画素に隣接する画素の色を持つ画素で、削除後の画素値を穴埋めする。その結果を図7(d)に示す。
In step S803, the boundary pixel deleted in step S802 is complemented twice. Double interpolation is a pixel having the color of a pixel adjacent to one pixel at the boundary after deletion, such as the
次にS804では、二重に補間した画素をブレンドすることで、境界の両側1画素を予測する色を決定する。その様子を図7(e)に示す。図7(e)の画素708、709がブレンドによって補完された画素である。ブレンドは二重に補完された2色の平均で行えば良い。
In step S804, a color for predicting one pixel on both sides of the boundary is determined by blending the double-interpolated pixels. This is shown in FIG.
なお、ブレンドの際の重み係数は、予測対象画像などから予測しても良い。2つの領域をブレンドする係数を推定する技術はマッティングとして広く知られており、既知の手法を流用すれば良い。ブレンド係数を予測対象画像から求めた場合、予測対象画像は復号側では知ることができないため、ブレンド係数を符号化する必要がある。 Note that the weighting factor for blending may be predicted from a prediction target image or the like. A technique for estimating a coefficient for blending two regions is widely known as matting, and a known method may be used. When the blend coefficient is obtained from the prediction target image, since the prediction target image cannot be known on the decoding side, it is necessary to encode the blend coefficient.
次にS212の差分符号化は非混在ブロックと同様の手法で行えば良い。最後にS213で、予測対象画像の全ブロックを処理したかを判定し、全ブロックを処理していない場合は、再びS202に戻り、未処理のブロックを符号化する。全ブロックを処理した場合は処理を終える。 Next, the differential encoding in S212 may be performed by the same method as that for non-mixed blocks. Finally, in S213, it is determined whether all the blocks of the prediction target image have been processed. If all the blocks have not been processed, the process returns to S202 again, and the unprocessed block is encoded. If all blocks have been processed, the process ends.
以上が、本実施形態における予測符号化部423の処理詳細である。図1に予測符号化部423の具体的なブロック構成図の一例を示す。以下で図1の各ブロックの役割を説明する。
The above is the processing details of the
図1に示す通り予測符号化部426は、符号化対象画像(カラー画像I2)をブロック単位で入力する。また、参照視点カラー画像(カラー画像I1)、参照視点距離画像(距離画像S1)も入力される。出力は参照視点カラー画像の予測するための予測情報と差分情報の符号化データである。画像メモリ102には参照視点カラー画像(カラー画像I1)が蓄積される。
As shown in FIG. 1, the
マスク画像生成部101は参照視点距離画像と、予め設定した2つの撮像部420、421の位置(距離)情報から、撮像部421の視点位置のマスク画像を生成する。つまり、図2のS201の処理を行う。
The mask
ブロック属性判定部108は、符号化対象ブロックが、領域混在ブロックであるかどうかを、マスク画像の対応ブロックを参照して行う。つまり、S202の処理を行う。 The block attribute determination unit 108 refers to the corresponding block of the mask image to determine whether the encoding target block is a region mixed block. That is, the process of S202 is performed.
視差ベクトル探索部103は、マスク画像生成部101で生成されたマスク画像を参照し、着目画素ブロックがオクルージョン部と非オクルージョン部が混在したブロックか否かを判定し、その判定の下で、画像メモリ102から視差ベクトルの探索を行う。すなわち、非混在ブロックの場合は単一の視差ベクトルを探索し、混在ブロックの場合は領域毎に2本の視差ベクトルを探索する。つまり、S203、S206、S207、S209の処理を行う。
The disparity
視差補償予測部104では、視差ベクトル探索部103で得た視差ベクトルを用いて、予測画像を生成する。つまり、S205、S211の処理を行う。
The disparity
DCT部105、量子化部106、エントロピー符号化部107では差分画像の符号化を行う。つまりS212の処理を行う。また、エントロピー符号化部107は視差ベクトルの符号化も行う。つまり、S204、S208、S210の処理も行う。
The
なお、図1は、実施形態における一例を示すものであって、各処理部のいくつかを統合して1つの処理部としても良いのは勿論であるし、更に、分割しても構わない。 FIG. 1 shows an example in the embodiment. It goes without saying that some of the processing units may be integrated into one processing unit, and may be further divided.
以上説明したようの本実施形態によれば、多視点(複数)のうちの基準視点の撮像装置より得られた基準画像データと当該基準画像における距離画像データとから、基準視点とは異なる視点の画像に対する、符号化単位であるブロック毎の予測画像を高い精度で生成することができることになり、符号化効率を上げることが可能になる。 According to the present embodiment as described above, the reference image data obtained from the imaging device of the reference viewpoint among the multiple viewpoints (plurality) and the distance image data in the reference image have a viewpoint different from the reference viewpoint. A predicted image for each block, which is an encoding unit, for an image can be generated with high accuracy, and encoding efficiency can be increased.
[第1の実施形態の変形例]
図1に示した各部はハードウェアで構成しても良いが、ソフトウェア(コンピュータプログラム)として実装しても良い。この場合、このソフトウェアは、PC(パーソナルコンピュータ)等、一般のコンピュータのメモリにインストールされることになる。そしてこのコンピュータのCPUがこのインストールされたソフトウェアを実行することで、このコンピュータは、上述の画像処理装置の機能を実現することになる。即ち、このコンピュータは、上述の画像処理装置に適用することができる。第1の実施形態に係る予測符号化装置に適用可能なコンピュータのハードウェア構成例について、図9のブロック図を用いて説明する。
[Modification of First Embodiment]
Each unit shown in FIG. 1 may be configured by hardware, but may be implemented as software (computer program). In this case, the software is installed in a memory of a general computer such as a PC (personal computer). Then, when the CPU of this computer executes the installed software, this computer realizes the functions of the above-described image processing apparatus. That is, this computer can be applied to the above-described image processing apparatus. An example of the hardware configuration of a computer applicable to the predictive coding apparatus according to the first embodiment will be described with reference to the block diagram of FIG.
CPU1501は、RAM1502やROM1503に格納されているコンピュータプログラムやデータを用いて、コンピュータ全体の制御を行うと共に、多視点画像符号化装置が行うものとして説明した上述の各処理を実行する。
The
RAM1502は、コンピュータ読み取り可能な記憶媒体の一例である。RAM1502は、外部記憶装置1507や記憶媒体ドライブ1505、更にはネットワークインタフェース1510からロードされたコンピュータプログラムやデータを一時的に記憶するためのエリアを有する。更に、RAM1502は、CPU1501が各種の処理を実行する際に用いるワークエリアを有する。即ち、RAM1502は、各種のエリアを適宜提供することができる。ROM1503は、コンピュータ読み取り可能な記憶媒体の一例であり、コンピュータの設定データや、ブートプログラムなどが格納されている。
The
キーボード1504、マウス1505は、コンピュータの操作者が操作することで、各種の指示をCPU1501に対して入力することができる。表示装置1506は、CRTや液晶画面などにより構成されており、CPU1501による処理結果を画像や文字などでもって表示することができる。例えば、上記符号化対象の画像の表示や、符号化した結果の表示ができる。
A keyboard 1504 and a
外部記憶装置1507は、コンピュータ読み取り記憶媒体の一例であり、ハードディスクドライブ装置に代表される大容量情報記憶装置である。外部記憶装置1507には、OS(オペレーティングシステム)や、図1に示した各処理をCPU1501に実現させるためのコンピュータプログラムやデータ、上記の各種テーブル、データベース等が保存されている。外部記憶装置1507に保存されているコンピュータプログラムやデータは、CPU1501による制御に従って適宜RAM1502にロードされ、CPU1501による処理対象となる。
The
記憶媒体ドライブ1508は、CD−ROMやDVD−ROMなどの記憶媒体に記録されているコンピュータプログラムやデータを読み出し、読み出したコンピュータプログラムやデータを外部記憶装置1507やRAM1502に出力する。なお、外部記憶装置1507に保存されているものとして説明した情報の一部若しくは全部をこの記憶媒体に記録させておき、この記憶媒体ドライブ1508に読み取らせても良い。
The storage medium drive 1508 reads a computer program and data recorded on a storage medium such as a CD-ROM or DVD-ROM, and outputs the read computer program or data to the
I/F1509は、外部から符号化対象カラー画像、参照視点カラー画像、参照視点距離画像を入力するインタフェースであり、一例として示すのであればUSB(Universal Serial Bus)である。1510は、上述の各部を繋ぐバスである。
The I /
上述構成において、本コンピュータの電源がONになると、CPU1501はROM1503に格納されているブートプログラムに従って、外部記憶装置1507からOSをRAM1502にロードする。この結果、キーボード1504、マウス1505を介した情報入力操作が可能となり、表示装置1506にGUIを表示することが可能となる。ユーザが、キーボード1504やマウス1505を操作し、外部記憶装置1507に格納されたグレー画像量子化用のアプリケーションプログラムの起動指示を入力すると、CPU1501はこのプログラムをRAM1502にロードし、実行する。この結果、本コンピュータが予測符号化装置として機能することになる。
In the above configuration, when the computer is turned on, the
なお、CPU1501が実行する予測符号化用のアプリケーションプログラムは、基本的に図1に示す各部に相当する関数を備えることになる。ここで、符号化結果は外部記憶装置1507に保存することになる。なお、このコンピュータは、以降の各実施形態に係る画像処理装置にも同様に適用可能であることは、以下の説明より明らかである。
Note that the application program for predictive encoding executed by the
[第2の実施形態]
第2の実施形態では、第1の実施形態における、オクルージョン部の符号化方法を変形した例を示す。
[Second Embodiment]
In the second embodiment, an example in which the encoding method of the occlusion part in the first embodiment is modified is shown.
図10に第2の実施形態における、予測符号化部423で行う処理のフローチャートを示す。図10のフローチャートは、第1の実施形態における予測符号化部のフローチャート図2において、混在ブロックのオクルージョン部の予測方法を変えたものとなっている。従って、オクルージョン部の予測画像作成に関するS1007、S1008、S1011、S1014、S1015以外は、図2のフローチャート内の同一名を付与された処理と同じである。以下では、第1の実施形態と差異がある部分に絞って説明を行う。
FIG. 10 shows a flowchart of processing performed by the
まず、図10のフローチャートにおいて、S1006までの処理を第1の実施形態と同様の手順で終える。即ち、オクルージョン、非オクルージョンが混在するブロックが符号化対象ブロックとして入力された場合、S1006の領域分割において、オクルージョン部と、非オクルージョン部へ分割される。本第2の実施形態でもまず、S1007では第1の実施形態と同様、オクルージョン部に対して1本の視差ベクトルを求める。 First, in the flowchart of FIG. 10, the processing up to S1006 is completed in the same procedure as in the first embodiment. That is, when a block containing both occlusion and non-occlusion is input as an encoding target block, the block is divided into an occlusion part and a non-occlusion part in S1006. Also in the second embodiment, first, in S1007, one disparity vector is obtained for the occlusion part, as in the first embodiment.
次に、本実施形態においてはS1014の誤差判定処理において、S1007で求めた、ブロック内のオクルージョン部の予測画像と、予測対象画像との誤差を求める。誤差はオクルージョン画素の色の差分絶対値和で評価する。そして差分が閾値以上(ブロック内の画素数×5以上)の場合はS1015に進む。なお、この閾値はシステムに許容される画質の劣化などから、設計者が任意に決めて良い。 Next, in this embodiment, in the error determination process in S1014, the error between the predicted image of the occlusion part in the block and the prediction target image obtained in S1007 is obtained. The error is evaluated by the sum of absolute differences of the occlusion pixel colors. If the difference is equal to or greater than the threshold (the number of pixels in the block × 5 or more), the process proceeds to S1015. Note that this threshold value may be arbitrarily determined by the designer based on the degradation of image quality allowed for the system.
S1015では、ブロック内のオクルージョン部を分割する。ブロック分割は8×8画素のブロックを4×4画素のブロック(以下、小ブロックという)4つに分割する。H.264のように、異なるサイズのブロックへ分割しても構わない。 In S1015, the occlusion part in the block is divided. In block division, an 8 × 8 pixel block is divided into four 4 × 4 pixel blocks (hereinafter referred to as small blocks). H. Like H.264, it may be divided into blocks of different sizes.
ブロックを分割したら、再びS1007において視差ベクトルを探索する。この際視差ベクトルは分割後の小ブロックに対して1つずつ探索する。ただし、小ブロック内の全ての画素が非オクルージョン部に属する場合は、その小ブロックに対しては視差を割り当てる必要はない。 When the block is divided, the parallax vector is searched again in S1007. At this time, the disparity vector is searched one by one for the divided small blocks. However, when all the pixels in the small block belong to the non-occlusion part, it is not necessary to assign parallax to the small block.
次にS1014に進む。本実施形態では4×4画素のブロックより小さい分割は行わないため、分割を打ち切ってS1008へ進む。 Next, the process proceeds to S1014. In this embodiment, since the division smaller than the block of 4 × 4 pixels is not performed, the division is terminated and the process proceeds to S1008.
なお、さらに細かい分割を行う場合は、小ブロックの予測画像を組み合わせて、符号化対象ブロックのオクルージョン部の予測画像を生成し、再び符号化対象ブロックのオクルージョン部の予測誤差を求める。予測誤差が閾値以下ならば、さらにS1015に進む。ただし、ブロック分割を多く行うと予測の精度は上がるが、視差ベクトルの情報量が増加するため、適当な分割で打ち切ることが望ましい。 In the case of performing finer division, a prediction image of the occlusion part of the encoding target block is generated by combining the prediction images of the small blocks, and the prediction error of the occlusion part of the encoding target block is obtained again. If the prediction error is less than or equal to the threshold, the process further proceeds to S1015. However, although the accuracy of prediction increases when block division is performed a lot, the amount of information of disparity vectors increases, so it is desirable to terminate with appropriate division.
次にS1008ではオクルージョン部の視差ベクトルを符号化する。視差ベクトルが複数本あることを除けば、第1の実施形態と同様の手順で符号化すれば良い。 Next, in S1008, the parallax vector of the occlusion part is encoded. Except that there are a plurality of disparity vectors, encoding may be performed in the same procedure as in the first embodiment.
S1011では混在ブロックの予測画像を生成する。基本的な手順は、第1の実施形態のS211と同様である。ただし、オクルージョン部の予測ブロックを生成する際に、小ブロック毎の予測画像を組み合わせて生成する点のみが異なる。以上で、第2の実施形態の処理の説明を終える。 In S1011, a prediction image of a mixed block is generated. The basic procedure is the same as S211 in the first embodiment. However, when generating the prediction block of the occlusion part, the only difference is that the prediction image for each small block is generated in combination. This is the end of the description of the processing of the second embodiment.
本第2の実施形態ではオクルージョン部のブロックを分割する方法を示した。ブロック分割が加わる分、第1の実施形態よりも視差ベクトルの情報量が増加する。しかしながら、オクルージョン部と非オクルージョン部を分けた後でブロック分割を行うため、領域を分けずにブロック分割を行う方法に比べて、少ない分割数でより精度の高い予測を行える可能性が高くできる。 In the second embodiment, the method of dividing the block of the occlusion part is shown. Since the block division is added, the information amount of the disparity vector is increased as compared with the first embodiment. However, since the block division is performed after the occlusion portion and the non-occlusion portion are separated, it is possible to increase the possibility of performing more accurate prediction with a smaller number of divisions compared to the method of performing block division without dividing the region.
なお、本第2の実施形態ではブロック内のオクルージョン部をブロック分割する方法を示したが、非オクルージョン部をブロック分割する処理を追加することも容易に可能である。 In the second embodiment, the method of dividing the occlusion part in the block into blocks is shown, but it is also possible to easily add a process of dividing the non-occlusion part into blocks.
[第3の実施形態]
第1の実施形態では、非オクルージョン部、オクルージョン部のそれぞれに対して、視差ベクトルにより予測画像を生成した。しかしながら、図3(d)の例に示すように、非オクルージョン部に関しては、参照視点の距離画像を利用して投影変換を行えば、ブロック毎に視差ベクトルを割り当てずに、予測画像を生成することが可能である。本実施形態では、非オクルージョン部の予測画像生成に、第1の実施形態では視差ベクトルを用いたのに対し、距離画像による投影変換を用いる例を示す。
[Third Embodiment]
In the first embodiment, a predicted image is generated with a disparity vector for each of the non-occlusion part and the occlusion part. However, as shown in the example of FIG. 3D, for the non-occlusion part, if projection conversion is performed using the distance image of the reference viewpoint, a predicted image is generated without assigning a disparity vector for each block. It is possible. In the present embodiment, an example is shown in which projection conversion based on a distance image is used for generating a predicted image of a non-occlusion part, whereas a disparity vector is used in the first embodiment.
図11は本実施形態における予測符号化部423の処理のフローチャートである。図2の第1の実施形態のフローチャートと差異のある部分に絞って、以下で処理の詳細を説明する。以下では、第1の実施形態と同様、カラー画像図3(a)と、その視点の距離画像図3(c)を用いて、図3(b)のカラー画像を予測符号化する例を説明に用いる。
FIG. 11 is a flowchart of the process of the
まずS1101では、S201と同様の方法でマスク画像を生成する。次にS1114では投影変換により、非オクルージョン部の予測画像を生成する。図3(a)と(c)により生成した例が図3(d)である。 First, in S1101, a mask image is generated by the same method as in S201. In step S1114, a predicted image of the non-occlusion part is generated by projection conversion. An example generated by FIGS. 3A and 3C is FIG.
次に第1の実施形態と同様、ブロック単位の処理に移る。まず、S1102ではブロックの属性判定を行う。本実施形態では、非オクルージョン単体ブロック、オクルージョン単体ブロック、混在ブロックの3種類のどれかを判定する。 Next, as in the first embodiment, the process moves to a block unit. First, in S1102, block attribute determination is performed. In the present embodiment, one of the three types of non-occlusion single block, occlusion single block, and mixed block is determined.
S1102で非オクルージョン単体ブロックと判定された場合は、S1115において、非オクルージョン単体ブロックに対する予測画像を生成する。図3(d)に示した通り、非オクルージョン単体ブロックに対しては投影変換でブロックの予測画像が得られるため、これをそのまま用いる。 If it is determined in S1102 that the block is a non-occlusion single block, a predicted image for the non-occlusion single block is generated in S1115. As shown in FIG. 3D, since a predicted image of a block is obtained by projection conversion for a non-occlusion single block, this is used as it is.
S1102でオクルージョン単体ブロックと判定された場合はS1103からS1105の処理を行う。この処理は第1の実施形態の図2のフローチャートS203からS205と同様の処理を行えばよい。 If it is determined in S1102 that the block is an occlusion single block, the processing from S1103 to S1105 is performed. This processing may be performed in the same manner as the flowcharts S203 to S205 in FIG. 2 of the first embodiment.
S1102で混在ブロックと判定された場合は、S1106に進む。S1106〜S1108は図2のS206〜S208と同様の処理を行う。これまでの処理により、混在ブロック内のオクルージョン部に対する予測が可能になる。 If it is determined that the block is a mixed block in S1102, the process proceeds to S1106. S1106 to S1108 perform the same processing as S206 to S208 in FIG. By the processing so far, it is possible to predict the occlusion portion in the mixed block.
次にS1111では混在ブロックの予測画像を生成する。オクルージョン部の予測はS1108で求めた視差ベクトルで行うことができる。また非オクルージョン部に関しては図3(d)において、投影変換で作った予測画像から、同一の位置にある画素により予測が可能である。第1の実施形態と同様、図8のフローチャートに従い、オクルージョン部と非オクルージョン部の統合と、境界画素の補正を行う。 Next, in S1111, a prediction image of a mixed block is generated. The prediction of the occlusion part can be performed with the disparity vector obtained in S1108. In addition, regarding the non-occlusion portion, in FIG. 3D, prediction can be performed by using pixels at the same position from a predicted image created by projection conversion. As in the first embodiment, the occlusion part and the non-occlusion part are integrated and boundary pixels are corrected according to the flowchart of FIG.
以上で、S1102で判定されたブロック属性に応じた予測画像の説明を終える。次にS1112、S1113の処理は第1の実施形態のS212、S213と同様の処理を行えば良い。以上が本第3の実施形態の処理である。 Above, description of the prediction image according to the block attribute determined by S1102 is finished. Next, the processing of S1112 and S1113 may be performed in the same manner as S212 and S213 of the first embodiment. The above is the processing of the third embodiment.
(その他の実施例)
また、本発明は、以下の処理を実行することによっても実現される。即ち、上述した実施形態の機能を実現するソフトウェア(プログラム)を、ネットワーク又は各種記憶媒体を介してシステム或いは装置に供給し、そのシステム或いは装置のコンピュータ(またはCPUやMPU等)がプログラムを読み出して実行する処理である。
(Other examples)
The present invention can also be realized by executing the following processing. That is, software (program) that realizes the functions of the above-described embodiments is supplied to a system or apparatus via a network or various storage media, and a computer (or CPU, MPU, or the like) of the system or apparatus reads the program. It is a process to be executed.
Claims (8)
前記距離画像データを用いて、前記目標視点の画像データにおける各画素について、オクルージョン部と非オクルージョン部のいずれに属するかを識別するための識別データを生成する識別データ生成手段と、
前記目標視点の画像データから、予め設定されたサイズのブロックを単位とするブロック画像データを入力する入力手段と、
前記識別データ生成手段で生成された識別データを参照することで、前記入力手段で入力した着目ブロック画像データが、オクルージョン部と非オクルージョン部が混在した混在ブロックであるか否かを判定する判定手段と、
該判定手段で非混在ブロックであると判定した場合には、前記着目ブロック画像データに対する予測ブロック画像データを前記基準視点の画像データを参照して生成し、
前記判定手段で混在ブロックであると判定した場合には、前記識別データを参照して、前記着目ブロック画像データを、オクルージョンの画素で構成されるオクルージョン領域と、非オクルージョン画素で構成される非オクルージョン領域とに分離し、それぞれの領域に対応する予測領域画像データを前記基準視点の画像データを参照して生成し、得られた予測領域画像データそれぞれを統合することで、前記着目ブロック画像データに対する予測ブロック画像データを生成する予測画像生成手段と、
該予測画像生成手段で生成された予測ブロック画像データと前記着目ブロック画像データとの差分を符号化する符号化手段と
を有することを特徴とする画像符号化装置。 An image encoding device that predictively encodes image data of a target viewpoint different from the reference viewpoint based on image data at a reference viewpoint and distance image data of the reference viewpoint,
Using the distance image data, identification data generating means for generating identification data for identifying whether each pixel in the image data of the target viewpoint belongs to an occlusion part or a non-occlusion part;
Input means for inputting block image data in units of blocks of a preset size from the image data of the target viewpoint;
Determination means for determining whether the target block image data input by the input means is a mixed block in which an occlusion part and a non-occlusion part are mixed by referring to the identification data generated by the identification data generation means When,
If the determination unit determines that the block is a non-mixed block, the prediction block image data for the block image data of interest is generated with reference to the image data of the reference viewpoint,
When the determination unit determines that the block is a mixed block, referring to the identification data, the block image data of interest includes an occlusion area including occlusion pixels and a non-occlusion pixel including non-occlusion pixels. The prediction area image data corresponding to each area is generated with reference to the image data of the reference viewpoint, and the obtained prediction area image data is integrated to obtain the corresponding block image data. Predicted image generation means for generating predicted block image data;
An image encoding apparatus comprising: encoding means for encoding a difference between predicted block image data generated by the predicted image generation means and the block image data of interest.
前記着目ブロック画像データが前記混在ブロックである場合であって、前記着目ブロック画像データにおけるオクルージョン領域の画像データと、探索して得られた予測領域画像データとの差が、予め設定された閾値以上であるか否かを判定する誤差判定手段と、
該誤差判定手段で前記差が前記閾値以上であると判定した場合、前記着目ブロック画像データを当該ブロックよりも小さい複数の小ブロックに分割する分割手段と、
分割した各小ブロックにおけるオクルージョン画素で構成される領域それぞれに、前記基準視点の画像データから予測画像を探索し、当該予測画像を統合して前記着目ブロック画像データにおけるオクルージョン領域の前記予測領域画像データを生成する手段と
を含むことを特徴とする請求項1又は2に記載の画像符号化装置。 The predicted image generation means includes
In the case where the target block image data is the mixed block, a difference between the occlusion region image data in the target block image data and the predicted region image data obtained by the search is equal to or greater than a preset threshold value Error determining means for determining whether or not
A division unit for dividing the block image data of interest into a plurality of small blocks smaller than the block when the error determination unit determines that the difference is equal to or greater than the threshold;
The predicted image is searched for a predicted image from the image data of the reference viewpoint in each of the regions composed of occlusion pixels in each divided small block, and the predicted image is integrated to predict the predicted region image data of the occlusion region in the block image data of interest. The image encoding apparatus according to claim 1, further comprising: means for generating
前記予測画像生成手段は、前記着目ブロック画像データが、非オクルージョン画素のみで構成される非オクルージョン単体ブロックである場合には、前記距離画像を利用した投影変換により前記着目ブロック画像データの予測ブロック画像データを生成する
ことを特徴とする請求項1乃至3のいずれか1項に記載の画像符号化装置。 Whether the block image data of interest is a non-occlusion single block made up of only non-occlusion pixels, an occlusion single block made up of only occlusion pixels, or a mixed block in which occlusion pixels and non-occlusion pixels are mixed Determine whether or not
When the block image data of interest is a non-occlusion single block composed of only non-occlusion pixels, the prediction image generation means predicts the block image of the block of interest image data by projection conversion using the distance image. Data is generated. The image coding device according to any one of claims 1 to 3 characterized by things.
識別データ生成手段が、前記距離画像データを用いて、前記目標視点の画像データにおける各画素について、オクルージョン部と非オクルージョン部のいずれに属するかを識別するための識別データを生成する識別データ生成工程と、
入力手段が、前記目標視点の画像データから、予め設定されたサイズのブロックを単位とするブロック画像データを入力する入力工程と、
判定手段が、前記識別データ生成手段で生成された識別データを参照することで、前記入力手段で入力した着目ブロック画像データが、オクルージョン部と非オクルージョン部が混在した混在ブロックであるか否かを判定する判定工程と、
予測画像生成手段が、
前記判定工程で非混在ブロックであると判定した場合には、前記着目ブロック画像データに対する予測ブロック画像データを前記基準視点の画像データを参照することで生成し、
前記判定工程で混在ブロックであると判定した場合には、前記識別データを参照して、前記着目ブロック画像データを、オクルージョンの画素で構成されるオクルージョン領域と、非オクルージョン画素で構成される非オクルージョン領域とに分離し、それぞれの領域に対応する予測領域画像データを前記基準視点の画像データを参照して生成し、得られた予測領域画像データそれぞれを統合することで、前記着目ブロック画像データに対する予測ブロック画像データを生成する予測画像生成工程と、
符号化手段が、該予測画像生成工程で生成された予測ブロック画像データと前記着目ブロック画像データとの差分を符号化する符号化工程と
を有することを特徴とする画像符号化装置の制御方法。 A control method of an image encoding device for predictively encoding image data of a target viewpoint different from the reference viewpoint based on image data at a reference viewpoint and distance image data of the reference viewpoint,
An identification data generating step for generating identification data for identifying whether each pixel in the image data of the target viewpoint belongs to an occlusion part or a non-occlusion part, using the distance image data. When,
An input step for inputting block image data in units of blocks of a preset size from the image data of the target viewpoint;
Whether the target block image data input by the input unit is a mixed block in which an occlusion part and a non-occlusion part are mixed is determined by referring to the identification data generated by the identification data generation unit. A determination step for determining;
Predictive image generation means
If it is determined in the determination step that it is a non-mixed block, the prediction block image data for the block image data of interest is generated by referring to the image data of the reference viewpoint,
When it is determined that the block is a mixed block in the determination step, the identification block data is referred to, and the block image data of interest includes an occlusion area composed of occlusion pixels and a non-occlusion pixel composed of non-occlusion pixels. The prediction area image data corresponding to each area is generated with reference to the image data of the reference viewpoint, and the obtained prediction area image data is integrated to obtain the corresponding block image data. A predicted image generation step of generating predicted block image data;
A method for controlling an image encoding device, wherein the encoding means includes an encoding step of encoding a difference between the prediction block image data generated in the prediction image generation step and the block image data of interest.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2012249645A JP2014099716A (en) | 2012-11-13 | 2012-11-13 | Image encoder and control method of the same |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2012249645A JP2014099716A (en) | 2012-11-13 | 2012-11-13 | Image encoder and control method of the same |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2014099716A true JP2014099716A (en) | 2014-05-29 |
Family
ID=50941399
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2012249645A Pending JP2014099716A (en) | 2012-11-13 | 2012-11-13 | Image encoder and control method of the same |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2014099716A (en) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2021519983A (en) * | 2018-12-29 | 2021-08-12 | ベイジン センスタイム テクノロジー デベロップメント カンパニー, リミテッド | Image processing methods and devices, electronic devices and computer-readable storage media |
-
2012
- 2012-11-13 JP JP2012249645A patent/JP2014099716A/en active Pending
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2021519983A (en) * | 2018-12-29 | 2021-08-12 | ベイジン センスタイム テクノロジー デベロップメント カンパニー, リミテッド | Image processing methods and devices, electronic devices and computer-readable storage media |
JP7113910B2 (en) | 2018-12-29 | 2022-08-05 | ベイジン・センスタイム・テクノロジー・デベロップメント・カンパニー・リミテッド | Image processing method and apparatus, electronic equipment, and computer-readable storage medium |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
TWI502969B (en) | Video encoding method and decoding method, programs therefor, and storage media for storing the programs | |
JP4999854B2 (en) | Image encoding method and decoding method, apparatus thereof, program thereof, and storage medium storing program | |
JP4999853B2 (en) | Image encoding method and decoding method, apparatus thereof, program thereof, and storage medium storing program | |
JP5934375B2 (en) | Image encoding method, image decoding method, image encoding device, image decoding device, image encoding program, image decoding program, and recording medium | |
JP5947977B2 (en) | Image encoding method, image decoding method, image encoding device, image decoding device, image encoding program, and image decoding program | |
JP6232076B2 (en) | Video encoding method, video decoding method, video encoding device, video decoding device, video encoding program, and video decoding program | |
KR101648094B1 (en) | Image encoding method, image decoding method, image encoding device, image decoding device, image encoding program, image decoding program, and recording medium | |
JP6307152B2 (en) | Image encoding apparatus and method, image decoding apparatus and method, and program thereof | |
JP6154643B2 (en) | Moving picture coding apparatus, depth intra prediction method and program for moving picture coding apparatus, moving picture decoding apparatus, depth intra prediction method and program for moving picture decoding apparatus | |
US20140348242A1 (en) | Image coding apparatus, image decoding apparatus, and method and program therefor | |
JP6232075B2 (en) | Video encoding apparatus and method, video decoding apparatus and method, and programs thereof | |
JP5926451B2 (en) | Image encoding method, image decoding method, image encoding device, image decoding device, image encoding program, and image decoding program | |
KR101750421B1 (en) | Moving image encoding method, moving image decoding method, moving image encoding device, moving image decoding device, moving image encoding program, and moving image decoding program | |
JP5706291B2 (en) | Video encoding method, video decoding method, video encoding device, video decoding device, and programs thereof | |
JP2014099716A (en) | Image encoder and control method of the same | |
Duch et al. | Depth map compression via 3D region-based representation | |
WO2015098827A1 (en) | Video coding method, video decoding method, video coding device, video decoding device, video coding program, and video decoding program | |
KR20160140622A (en) | Video encoding device and method and video decoding device and method | |
WO2013136365A1 (en) | Multiview image encoding device and method, and multiview image decoding device and method | |
JPWO2013136365A1 (en) | Multi-view image encoding apparatus and method, and multi-view image decoding apparatus and method |