JP6273828B2 - Image coding apparatus, image coding method, image decoding apparatus, and image decoding method - Google Patents
Image coding apparatus, image coding method, image decoding apparatus, and image decoding method Download PDFInfo
- Publication number
- JP6273828B2 JP6273828B2 JP2013264961A JP2013264961A JP6273828B2 JP 6273828 B2 JP6273828 B2 JP 6273828B2 JP 2013264961 A JP2013264961 A JP 2013264961A JP 2013264961 A JP2013264961 A JP 2013264961A JP 6273828 B2 JP6273828 B2 JP 6273828B2
- Authority
- JP
- Japan
- Prior art keywords
- image
- motion vector
- encoding
- unit
- viewpoint
- 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.)
- Active
Links
Images
Description
本発明は、画像符号化装置、画像符号化方法、画像復号装置、及び画像復号方法に関する。 The present invention relates to an image encoding device, an image encoding method, an image decoding device, and an image decoding method.
動画像の符号化には、例えば、ITU−T(International Telecommunication Union Telecommunication Standardization Sector)により勧告されたH.264と呼ばれる符号化方式が広く利用されている。国際標準化機構(ISO)及び国際電気標準会議(IEC)では、同じ技術がMPEG−4 AVC(MPEG-4 Part 10 Advanced Video Coding)と呼ばれている。これらの呼称はまとめてH.264/AVCと表記されることがある。H.264/AVC方式は、旧来のMPEG−2符号化方式などに比べて高い圧縮効率を実現している。 For encoding moving images, for example, H.264 recommended by ITU-T (International Telecommunication Union Telecommunication Standardization Sector). An encoding method called H.264 is widely used. In the International Organization for Standardization (ISO) and the International Electrotechnical Commission (IEC), the same technique is called MPEG-4 AVC (MPEG-4 Part 10 Advanced Video Coding). These names are collectively referred to as H.264. H.264 / AVC. H. The H.264 / AVC system achieves higher compression efficiency than the conventional MPEG-2 encoding system.
H.264/AVC方式の符号化には、異なる動画フレームを参照して現在の動画フレームを予測するフレーム間予測(インター予測)と呼ばれる技術が利用される。時間的に前の動画フレームを参照して現在の動画フレームを予測する方法は前方向予測(Forward Prediction)と呼ばれる。また、時間的に後の動画フレームを参照して現在の動画フレームを予測する方法は後方向予測(Backward Prediction)と呼ばれる。さらに、時間的に前又は後にある複数の動画フレームを参照して現在の動画フレームを予測する方法は双方向予測(Bi-directive Prediction)と呼ばれる。 H. For encoding of the H.264 / AVC format, a technique called inter-frame prediction (inter prediction) in which a current moving image frame is predicted with reference to different moving image frames is used. A method of predicting a current video frame with reference to a temporally previous video frame is called forward prediction. A method of predicting the current video frame with reference to a temporal video frame is called backward prediction. Furthermore, a method of predicting the current moving image frame with reference to a plurality of moving image frames before or after in time is called bi-directional prediction (Bi-directive Prediction).
フレーム間予測を用いずに符号化される動画フレームはI(Intra-coded)ピクチャと呼ばれる。また、前方向予測だけを用いて符号化される動画フレームはP(Predicted)ピクチャと呼ばれる。さらに、前方向予測、後方向予測、双方向予測のいずれかを選択的に用いて符号化される動画フレームはB(Bi-directional Predicted)ピクチャと呼ばれる。 A moving image frame encoded without using inter-frame prediction is called an I (Intra-coded) picture. A moving picture frame encoded using only forward prediction is called a P (Predicted) picture. Furthermore, a moving picture frame that is encoded by selectively using any one of forward prediction, backward prediction, and bidirectional prediction is called a B (Bi-directional Predicted) picture.
H.264/AVC方式では、圧縮効率を高めるための工夫として、ダイレクトモード(Direct Mode)と呼ばれる予測モードが規定されている。ダイレクトモードは、Bピクチャに適用することができる。ダイレクトモードには、時間ダイレクトモードと空間ダイレクトモードという2種類のダイレクトモードがある。 H. In the H.264 / AVC format, a prediction mode called a direct mode is defined as a device for improving compression efficiency. The direct mode can be applied to B pictures. There are two types of direct modes: temporal direct mode and spatial direct mode.
時間ダイレクトモードは、あるBピクチャ内にある画素ブロックを予測する際に、符号化済みピクチャの同位置にある画素ブロックの動きベクトルを利用する予測モードである。また、空間ダイレクトモードは、Bピクチャ内にある画素ブロックを予測する際に、その周辺に位置する画素ブロックの動きベクトルを利用する予測モードである。いずれのダイレクトモードも符号化対象の画素ブロックについて動きベクトルの情報を復号側へと伝送せずに済む分だけ情報量を減らすことができる。 The temporal direct mode is a prediction mode that uses a motion vector of a pixel block at the same position of an encoded picture when predicting a pixel block in a certain B picture. The spatial direct mode is a prediction mode that uses a motion vector of a pixel block located in the vicinity when predicting a pixel block in a B picture. In any direct mode, the amount of information can be reduced by the amount that it is not necessary to transmit motion vector information to the decoding side for the pixel block to be encoded.
近年、立体視映像などの多視点動画像に上記の符号化方式を適用できるようにするため、MVC(Multi-view Video Coding)と呼ばれる拡張方式(以下、MVC方式と呼ぶ。)が規定された。MVC方式では、ある視点に対応する動画フレームの画素ブロックを符号化する際に、他の視点に対応する動画フレームの画素ブロックを参照する予測モード(以下、視点間予測と呼ぶ。)が追加された。但し、MVC方式では、視点間予測を用いる画素ブロックについては時間ダイレクトモードを適用しないこととされている。 In recent years, an extension method called MVC (Multi-view Video Coding) (hereinafter referred to as MVC method) has been defined so that the above encoding method can be applied to multi-view video such as stereoscopic video. . In the MVC method, when encoding a pixel block of a moving image frame corresponding to a certain viewpoint, a prediction mode (hereinafter referred to as inter-view prediction) that refers to a pixel block of a moving image frame corresponding to another viewpoint is added. It was. However, in the MVC method, the temporal direct mode is not applied to pixel blocks that use inter-view prediction.
なお、MVC方式に関し、参照先の動画フレームが視点間予測を用いて符号化されている場合に、他視点の動画フレームに設定された動きベクトルを用いて、参照元の動画フレームに時間ダイレクトモードを適用する方法(以下、提案方法)が提案されている。 In addition, regarding the MVC method, when the reference moving image frame is encoded using inter-view prediction, the motion vector set in the moving image frame of the other viewpoint is used to set the temporal direct mode to the reference moving image frame. Has been proposed (hereinafter, proposed method).
上述した時間ダイレクトモードの適用は、情報量を効果的に低減するために有効な方法である。そのため、視点間予測を用いて符号化されるBピクチャに時間ダイレクトモードを適用できるようにすれば、符号化効率の向上に寄与すると考えられる。なお、ここではH.264/AVC方式の時間ダイレクトモードを例に挙げて説明したが、次世代規格であるH.265/HEVC(High Efficiency Video Coding)方式のマージモードについても同様である。 The application of the time direct mode described above is an effective method for effectively reducing the amount of information. For this reason, if the temporal direct mode can be applied to a B picture that is encoded using inter-view prediction, it is considered that it contributes to an improvement in encoding efficiency. Here, H. The time direct mode of the H.264 / AVC system has been described as an example. The same applies to the merge mode of the H.265 / HEVC (High Efficiency Video Coding) method.
そこで、1つの側面によれば、本発明の目的は、多視点動画符号化における符号化効率を向上させることが可能な画像符号化装置、画像符号化方法、画像復号装置、及び画像復号方法を提供することにある。 Therefore, according to one aspect, an object of the present invention is to provide an image encoding device, an image encoding method, an image decoding device, and an image decoding method capable of improving encoding efficiency in multi-view video encoding. It is to provide.
本開示の1つの側面によれば、複数の視点にそれぞれ対応する複数の動画像が格納される記憶部と、複数の動画像のうち第1の動画像に含まれる画像の中から、第2の動画像に含まれる同時刻の画像を参照する視点間動き情報を有する対象画像を検出し、同時刻の画像が有する動きベクトルを利用して対象画像の画像領域を符号化する演算部と、を有する画像符号化装置が提供される。演算部は、第1の動画像のうち対象画像の画像領域から参照される第1の参照画像と、該対象画像との間の第1の時間間隔、及び、第2の動画像のうち動きベクトルにより参照される第2の参照画像と、該同時刻の画像との間の第2の時間間隔に基づいて、画像領域の符号化に利用する動きベクトルの長さを調整する。 According to one aspect of the present disclosure, a storage unit that stores a plurality of moving images respectively corresponding to a plurality of viewpoints, and a second of the images included in the first moving image among the plurality of moving images. A calculation unit that detects a target image having inter-viewpoint motion information that refers to an image at the same time included in the moving image and encodes an image region of the target image using a motion vector included in the image at the same time; Is provided. The computing unit includes a first time interval between the first reference image referred to from the image area of the target image in the first moving image and the target image, and a motion in the second moving image. Based on the second time interval between the second reference image referred to by the vector and the image at the same time, the length of the motion vector used for encoding the image region is adjusted.
本発明によれば、多視点動画符号化における符号化効率を向上させることが可能になる。 According to the present invention, it is possible to improve encoding efficiency in multi-view video encoding.
以下に添付図面を参照しながら、本発明の実施形態について説明する。なお、本明細書及び図面において実質的に同一の機能を有する要素については、同一の符号を付することにより重複説明を省略する場合がある。 Embodiments of the present invention will be described below with reference to the accompanying drawings. In addition, about the element which has the substantially same function in this specification and drawing, duplication description may be abbreviate | omitted by attaching | subjecting the same code | symbol.
<1.第1実施形態>
図1を参照しながら、第1実施形態について説明する。図1は、第1実施形態に係る画像符号化装置の一例を示した図である。
<1. First Embodiment>
The first embodiment will be described with reference to FIG. FIG. 1 is a diagram illustrating an example of an image encoding device according to the first embodiment.
図1に示すように、第1実施形態に係る画像符号化装置10は、記憶部11及び演算部12を有する。
なお、記憶部11は、RAM(Random Access Memory)などの揮発性記憶装置、或いは、HDD(Hard Disk Drive)やフラッシュメモリなどの不揮発性記憶装置である。演算部12は、CPU(Central Processing Unit)やDSP(Digital Signal Processor)などのプロセッサである。但し、演算部12は、ASIC(Application Specific Integrated Circuit)やFPGA(Field Programmable Gate Array)などの電子回路であってもよい。演算部12は、例えば、記憶部11又は他のメモリに記憶されたプログラムを実行する。
As illustrated in FIG. 1, the
The
記憶部11には、複数の視点#1、#2にそれぞれ対応する複数の動画像21、22が格納される。なお、図1の例では、2視点の場合が示されているが、視点の数が3以上の場合も同様である。また、図1の例では、視点#1に対応する動画像21がBase−Viewに設定され、視点#2に対応する動画像22が非Base−Viewに設定されている。以下、この例に沿って説明を進める。
The
Base−Viewとは、他視点の画像を参照するインター予測を行う画像が含まれないことを意味する。つまり、視点#1に対応する動画像21の画像Pic10、…、Pic15を符号化及び復号する際に、視点#2に対応する動画像22の画像Pic20、…、Pic25が参照されない。画像Pic10、…、Pic15の情報だけを用いて動画像21が符号化及び復号されるため、視点#2に対応する動画像22の画像Pic20、…、Pic25に関する情報がなくとも動画像21を符号化及び復号することができる。
Base-View means that an image that performs inter prediction referring to an image of another viewpoint is not included. That is, when the images Pic 10 ,..., Pic 15 of the moving
一方、非Base−Viewとは、他視点の画像を参照するインター予測を行う画像が含まれることを意味する。つまり、視点#2に対応する動画像22の画像Pic20、…、Pic25を符号化及び復号する際に、視点#1に対応する動画像21の画像Pic10、…、Pic15の少なくとも1つが参照される。つまり、視点#1に対応する動画像21の画像Pic10、…、Pic15の少なくとも1つに関する情報が動画像22の符号化及び復号に用いられる。
On the other hand, non-Base-View means that an image that performs inter prediction referring to an image of another viewpoint is included. That is, the image Pic 20 of the moving
演算部12は、一の動画像22に含まれる画像の中から、他の動画像21に含まれる同時刻の画像ColPicを参照する視点間動き情報mvColを有する対象画像CurrPicを検出する。つまり、演算部12は、予測モードが視点間予測に設定された画像領域を含む対象画像CurrPicを検出する。図1の例では、対象画像CurrPicとして画像Pic24が検出されている。また、視点間動き情報mvColにより参照される画像ColPicは、画像Pic14である。
The
演算部12は、対象画像CurrPicと同時刻の画像ColPicが有する動き情報basemvCol0、basemvCol1を利用して対象画像CurrPicの画像領域を符号化する。参照先の画像ColPicは、対象画像CurrPicより先に符号化されている。そのため、対象画像CurrPicを符号化する際に、画像ColPicの動き情報basemvCol0、basemvCol1を利用することができる。
The
例えば、演算部12は、画像ColPicに含まれる画像領域のうち、視点間動き情報mvColにより対象画像CurrPicの画像領域に対応付けられる1つ又は複数の画像領域を特定する。そして、演算部12は、特定した画像領域の動き情報basemvCol0、basemvCol1に基づいて対象画像CurrPicの画像領域を符号化する。図1の例では、動き情報basemvCol0、basemvCol1に基づいて動き情報mvL0、mvL1が生成され、動き情報mvL0、mvL1を用いて対象画像CurrPicが符号化される。
For example, the
例えば、画像Pic12、Pic14間の時間tbL0と、画像Pic22、Pic24間の時間tdL0とが異なる場合、演算部12は、比(tdL0/tbL0)により動き情報basemvCol0をスケーリングする。そして、演算部12は、スケーリング後の動き情報(tdL0/tbL0)*basemvCol0を動き情報mvL0とする。同様に、演算部12は、比(tdL1/tbL1)により動き情報basemvCol1をスケーリングし、スケーリング後の動き情報(tdL1/tbL1)*basemvCol1を動き情報mvL1とする。
For example, an image Pic 12, time TBL 0 between Pic 14, image Pic 22, when the time TDL 0 between Pic 24 are different, computing
上記のように、対象画像CurrPicの符号化に用いる動き情報mvL0、mvL1は、視点間動き情報mvColが指す画像ColPicの動き情報basemvCol0、basemvCol1から得られる。そのため、対象画像CurrPicの動き情報mvL0、mvL1がなくとも、画像ColPicの動き情報basemvCol0、basemvCol1があれば、対象画像CurrPicを復号することができる。つまり、復号用の情報(符号化データ)に動き情報mvL0、mvL1を含めずに済む分だけ符号化効率を向上させることが可能になる。なお、上記の技術は、非Base−Viewの動画像22を復号する際にも適用することができ、符号化効率の向上に寄与する。
As described above, the motion information mvL 0 and mvL 1 used for encoding the target image CurrPic is obtained from the motion information basemvCol 0 and basemvCol 1 of the image ColPic pointed to by the inter-viewpoint motion information mvCol. Therefore, even if there is no motion information mvL 0, mvL 1 of the target image CurrPic, if motion of the image ColPic information basemvCol 0, basemvCol 1 is able to decode the target picture CurrPic. That is, it is possible to improve the encoding efficiency by the amount that does not include the motion information mvL 0 and mvL 1 in the decoding information (encoded data). Note that the above technique can also be applied when decoding a non-Base-
以上、第1実施形態について説明した。
<2.第2実施形態>
次に、第2実施形態について説明する。なお、ここでは説明の都合上、MVC方式を例に挙げて説明を進めるが、第2実施形態に係る技術の適用範囲はこれに限定されない。
The first embodiment has been described above.
<2. Second Embodiment>
Next, a second embodiment will be described. Here, for convenience of explanation, the description will be given by taking the MVC method as an example, but the scope of application of the technology according to the second embodiment is not limited to this.
[2−1.時間ダイレクトモード]
図2を参照しながら、時間ダイレクトモードについて説明する。図2は、時間ダイレクトモードについて説明するための図である。
[2-1. Time direct mode]
The time direct mode will be described with reference to FIG. FIG. 2 is a diagram for explaining the time direct mode.
時間ダイレクトモードは、動画像の一連性に着目し、符号化対象のマクロブロック(以下、CurrMB)と時間的に隣接したマクロブロックの動きベクトルからCurrMBの動きベクトルを決定する方法である。時間ダイレクトモードを適用すると、動きの時間相関性が高まる上、CurrMBに関する動きベクトルの情報を復号側へと伝送せずに済む分だけ符号化効率が改善する。 The temporal direct mode is a method of determining a CurrMB motion vector from a motion vector of a macroblock temporally adjacent to a coding target macroblock (hereinafter, CurrMB), paying attention to a sequence of moving images. When the temporal direct mode is applied, the temporal correlation of motion increases, and the coding efficiency is improved to the extent that motion vector information relating to CurrMB is not transmitted to the decoding side.
H.264/AVC方式の双方向予測は、List0(L0)方向予測とList1(L1)方向予測とを組み合わせて実現される。L0方向は前方向に設定されることが多い。また、L1方向は後方向に設定されることが多い。但し、H.264/AVC方式の双方向予測は、異なる複数の前方向予測を組み合わせることや、異なる複数の後方向予測を組み合わせることが許容されている。そのため、予測方向はL0方向、L1方向と表現される。本稿においても同様の表現を用いる場合がある。 H. The H.264 / AVC system bidirectional prediction is realized by combining List0 (L0) direction prediction and List1 (L1) direction prediction. The L0 direction is often set to the forward direction. Further, the L1 direction is often set to the backward direction. However, H. In the H.264 / AVC system bidirectional prediction, it is allowed to combine a plurality of different forward predictions or to combine a plurality of different backward predictions. Therefore, the prediction directions are expressed as L0 direction and L1 direction. Similar expressions may be used in this paper.
参照方向は、ピクチャ毎にref_idxというパラメータを用いて表現される。例えば、L0方向のref_idxは、ref_idx_l0と表現される。また、L1方向のref_idxは、ref_idx_l1と表現される。時間ダイレクトモードでは、L1方向に最小のref_idxを有するIピクチャ又はPピクチャ内で、CurrMBと同位置にあるマクロブロックが特定され、そのマクロブロックが指す動きベクトルを基準にCurrMBの動きベクトルが決定される。なお、CurrMBの動きベクトルを決定する際に基準とする動きベクトルを基準ベクトルと呼ぶ場合がある。 The reference direction is expressed for each picture using a parameter called ref_idx. For example, ref_idx in the L0 direction is expressed as ref_idx_10. Further, ref_idx in the L1 direction is expressed as ref_idx_l1. In the temporal direct mode, a macroblock located at the same position as CurrMB is specified in the I picture or P picture having the smallest ref_idx in the L1 direction, and the motion vector of CurrMB is determined based on the motion vector pointed to by the macroblock. The A motion vector that is used as a reference when determining the CurrMB motion vector may be referred to as a reference vector.
図2の例では、BピクチャであるCurrPic内のCurrMBが時間ダイレクトモードによる符号化対象のマクロブロックである。時間ダイレクトモードでは、Bピクチャ内のCurrMBを予測する際に、既に符号化済のピクチャ(以下、ColPic)に注目し、ColPic内でCurrMBと同位置にあるマクロブロック(以下、ColMB)の動きベクトルbasemvColを利用する。なお、図2の例では、L1方向に位置するPピクチャ(ref_idx=0)がColPicである。また、動きベクトルbasemvColは基準ベクトルである。また、基準ベクトルbasemvColが指すピクチャをRefPicColと呼ぶ場合がある。 In the example of FIG. 2, CurrMB in CurrPic that is a B picture is a macroblock to be encoded in the temporal direct mode. In the temporal direct mode, when predicting CurrMB in a B picture, attention is paid to an already encoded picture (hereinafter referred to as ColPic), and a motion vector of a macroblock (hereinafter referred to as ColMB) located at the same position as CurrMB in ColPic. Use basemvCol. In the example of FIG. 2, the P picture (ref_idx = 0) located in the L1 direction is ColPic. The motion vector basemvCol is a reference vector. In addition, the picture indicated by the reference vector basemvCol may be referred to as RefPicCol.
時間ダイレクトモードでは、CurrPicからRefPicColへの動きベクトルmvL0、及びCurrPicからColPicへの動きベクトルmvL1が基準ベクトルbasemvColに基づいて計算される。例えば、ピクチャ間隔(例えば、POC(Picture Order Count)の差)の比率に基づいて基準ベクトルbasemvColをスケーリングすることでmvL0、mvL1が求められる。 In the temporal direct mode, a motion vector mvL 0 from CurrPic to RefPicCol and a motion vector mvL 1 from CurrPic to ColPic are calculated based on the reference vector basemvCol. For example, mvL 0 and mvL 1 are obtained by scaling the reference vector basemvCol based on the ratio of picture intervals (for example, the difference in POC (Picture Order Count)).
図2の例では、RefPicColとColPicとの間の時間がtdであり、RefPicColとCurrPicとの間の時間がtbである。この場合、基準ベクトルbasemvColを比率(tb/td)でスケーリングした動きベクトル(tb/td)*basemvColがmvL0となる。また、(mvL0−basemvCol)がmvL1となる。時間ダイレクトモードでは、このようにして求めた動きベクトルmvL0、mvL1をCurrMBの予測に用いる。この例では、動きベクトルmvL0、mvL1が基準ベクトルbasemvColから得られるため、動き情報mvL0、mvL1を復号側へと伝送せずに済む。 In the example of FIG. 2, the time between RefPicCol and ColPic is td, and the time between RefPicCol and CurrPic is tb. In this case, the motion vector (tb / td) * basemvCol obtained by scaling the reference vector basemvCol by the ratio (tb / td) is mvL 0 . In addition, (mvL 0 -basemvCol) becomes mvL 1 . In the temporal direct mode, the motion vectors mvL 0 and mvL 1 thus obtained are used for CurrMB prediction. In this example, since the motion vectors mvL 0 and mvL 1 are obtained from the reference vector basemvCol, it is not necessary to transmit the motion information mvL 0 and mvL 1 to the decoding side.
なお、ダイレクトモードに用いる動きベクトルの持ち方は、SPS(Sequence_parameter_set)のdirect_8x8_inference_flagの値によって決定される。direct_8x8_inference_flag=1の場合は、8x8単位でダイレクトモードに使用する動きベクトルを持つことになる。また、direct_8x8_inference_flag=0の場合は、4x4単位でダイレクトモードに使用する動きベクトルを持つことになる。 It should be noted that how to hold the motion vector used in the direct mode is determined by the value of direct_8 × 8_influence_flag of SPS (Sequence_parameter_set). When direct_8 × 8_influence_flag = 1, it has a motion vector used for the direct mode in units of 8 × 8. Further, when direct_8x8_influence_flag = 0, it has a motion vector used for the direct mode in units of 4x4.
以上、時間ダイレクトモードについて説明した。
[2−2.視点間予測と時間ダイレクトモード]
次に、図3〜図5を参照しながら、視点間予測と時間ダイレクトモードとの関係について説明する。図2に示した時間ダイレクトモードの例は、1視点に対応する動画像の符号化に時間ダイレクトモードを適用する方法であった。そのため、図2の例では視点間予測が考慮されていない。ここでは、視点間予測と時間ダイレクトモードとの関係について考察する。
The time direct mode has been described above.
[2-2. Inter-view prediction and temporal direct mode]
Next, the relationship between the inter-view prediction and the temporal direct mode will be described with reference to FIGS. The example of the temporal direct mode shown in FIG. 2 is a method in which the temporal direct mode is applied to encoding of a moving image corresponding to one viewpoint. Therefore, inter-view prediction is not considered in the example of FIG. Here, the relationship between inter-view prediction and temporal direct mode is considered.
図3は、視点間予測と時間ダイレクトモードとの関係について説明するための第1の図である。また、図4は、視点間予測と時間ダイレクトモードとの関係について説明するための第2の図である。また、図5は、視点間予測と時間ダイレクトモードとの関係について説明するための第3の図である。 FIG. 3 is a first diagram for explaining the relationship between the inter-view prediction and the temporal direct mode. FIG. 4 is a second diagram for explaining the relationship between the inter-view prediction and the temporal direct mode. FIG. 5 is a third diagram for explaining the relationship between the inter-view prediction and the temporal direct mode.
(2−2−1.視点間予測)
MVC方式は多視点動画像の符号化に関する。MVC方式では、L0方向予測やL1方向予測などの予測モードに加え、別視点に対応する動画像のピクチャを参照する新たな予測モード(視点間予測)が利用される。視点間予測では、符号化対象のピクチャと同一時刻(同一POC)の別視点ピクチャが参照される。
(2-2-1. Inter-view prediction)
The MVC method relates to encoding of a multi-view video. In the MVC scheme, in addition to prediction modes such as L0 direction prediction and L1 direction prediction, a new prediction mode (inter-view prediction) that refers to a moving picture corresponding to another viewpoint is used. In inter-view prediction, a different view picture at the same time (same POC) as the picture to be encoded is referred to.
ここで、図3の例について考える。図3には、視点#1(Base−View)に対応する動画像のピクチャと、視点#2(非Base−View)に対応する動画像のピクチャとが例示されている。 Now consider the example of FIG. FIG. 3 illustrates a moving picture picture corresponding to viewpoint # 1 (Base-View) and a moving picture picture corresponding to viewpoint # 2 (non-Base-View).
図3の例では、BピクチャPic#2内のマクロブロックMB#2が視点間予測に基づく符号化の対象である。視点#1に対応する動画像の各ピクチャは、視点#2に対応する動画像のピクチャを参照せずに符号化される。いま、視点#1に対応するピクチャPic#1は、既に符号化済みであるとする。この場合、マクロブロックMB#2の符号化に用いる動きベクトルは、視点#1(他視点)のBピクチャPic#1に含まれるマクロブロックMB#1を指す視点間動きベクトル(iMV)となる。
In the example of FIG. 3, the
上記のように、視点間予測では、符号化対象のピクチャと同一時刻(同一POC)の別視点ピクチャが参照される。そのため、BピクチャPic#2を時間ダイレクトモードのCurrPicとし、視点間動きベクトルiMVが指すBピクチャPic#1をColPicとすると、CurrPicとColPicとの間でPOCの差が0となる。また、BピクチャPic#2をColPicとすると、BピクチャPic#1がRefPicColとなり、RefPicColとColPicとの間でPOCの差が0となる。そのため、スケーリングによりCurrPicの動きベクトルを求めることができない。
As described above, in the inter-view prediction, a different view picture at the same time (same POC) as the picture to be encoded is referred to. Therefore, if the B
H.264規格書(T−REC−H.264−200903−I!!PDF−E.pdf)のH.7.4.3には、ColPic内に視点間予測を行うブロックが存在する場合に適用可能なダイレクトモードを空間ダイレクトモードに限る旨が記載されている。しかし、単純に周辺ブロックの動きベクトルを使用する空間ダイレクトモードよりも、前後のピクチャを含めた動きベクトルの時間的な連続性を維持する時間ダイレクトモードの方がより大きな符号化効率の向上を見込める。こうした理由から、第2実施形態では、視点間予測と時間ダイレクトモードとの関係について考察し、多視点動画像の符号化に時間ダイレクトモードを適用できるようにする方法を提案する。 H. H.264 standard (T-REC-H.264-200903-I! PDF-E.pdf). 7.4.3 describes that the direct mode applicable when there is a block that performs inter-view prediction in ColPic is limited to the spatial direct mode. However, the temporal direct mode that maintains temporal continuity of motion vectors including the preceding and succeeding pictures can be expected to improve coding efficiency more than the spatial direct mode that simply uses the motion vectors of surrounding blocks. . For these reasons, the second embodiment considers the relationship between inter-view prediction and temporal direct mode, and proposes a method that allows temporal direct mode to be applied to multi-view video encoding.
(2−2−2.参照ブロックが視点間予測ブロックである場合)
図4を参照する。図4の例は、視点#2に対応するCurrPicのマクロブロックと同じ位置にあるColPicのマクロブロックが視点間動きベクトルiMVにより視点#2に対応するピクチャを参照する場合を示したものである。この場合、視点間動きベクトルiMVをスケーリングしてもCurrPicの符号化に用いる動きベクトルは得られない。
(2-2-2. When the reference block is an inter-view prediction block)
Please refer to FIG. The example of FIG. 4 illustrates a case where a ColPic macroblock at the same position as the CurrPic macroblock corresponding to the
そこで、本発明者は、図4に示すように、視点間動きベクトルiMVが指すブロックの動きベクトルを基準ベクトルbasemvColに設定する方法を提案した。この方法によれば、ピクチャI12、P15の間隔td(POC差分)とピクチャI22、B24の間隔tb(POC差分)とに基づいて基準ベクトルbasemvColをスケーリングすることにより、CurrPicの動きベクトルが得られる。従って、図4のような場合でも時間ダイレクトモードを適用することが可能になる。第2実施形態では、図4に示した方法による符号化も考慮する。 Therefore, the present inventor has proposed a method of setting the motion vector of the block indicated by the inter-viewpoint motion vector iMV as the reference vector basemCol, as shown in FIG. According to this method, by scaling the reference vector basemvCol based on the interval td (POC difference) between the pictures I 12 and P 15 and the interval tb (POC difference) between the pictures I 22 and B 24 , the motion vector of CurrPic Is obtained. Therefore, the time direct mode can be applied even in the case of FIG. In the second embodiment, encoding by the method shown in FIG. 4 is also considered.
(2−2−3.参照ブロックが他視点ブロックである場合)
図5を参照する。図5の例は、視点#2に対応するCurrPicのマクロブロックが視点間動きベクトルiMVにより視点#1に対応するピクチャを参照する場合を示したものである。この場合、CurrPicのインター予測に用いる動きベクトルの長さtb(POC差分)が0となる。そのため、基準ベクトルbasemvColの長さに相当する時間tdとtbとの比で基準ベクトルbasemvColをスケーリングすることができない。
(2-2-3. Reference block is another viewpoint block)
Please refer to FIG. The example of FIG. 5 shows a case where the CurrPic macroblock corresponding to the
そこで、第2実施形態では、視点間動きベクトルiMVが指すブロックの動きベクトルを基準ベクトルbasemvColに設定し、視点間動きベクトルiMVの長さに相当する時間tbを用いずにCurrPicの動きベクトルを求める方法を提案する。例えば、図5の例では、基準ベクトルbasemvColの長さに相当する時間tdと、ピクチャI22、B24の間隔に相当する時間との比で基準ベクトルbasemvColをスケーリングする方法が考えられる。この方法によれば、図5のような場合でも時間ダイレクトモードを適用することが可能になる。 Therefore, in the second embodiment, the motion vector of the block indicated by the inter-view motion vector iMV is set as the reference vector basemvCol, and the CurrPic motion vector is obtained without using the time tb corresponding to the length of the inter-view motion vector iMV. Suggest a method. For example, in the example of FIG. 5, a method of scaling the reference vector basemvCol by the ratio of the time td corresponding to the length of the reference vector basemvCol and the time corresponding to the interval between the pictures I 22 and B 24 can be considered. According to this method, the time direct mode can be applied even in the case of FIG.
以上、視点間予測と時間ダイレクトモードとの関係について説明した。
[2−3.システム]
次に、図6を参照しながら、第2実施形態に係るシステムについて説明する。図6は、第2実施形態に係るシステムの一例を示した図である。
The relationship between the inter-view prediction and the temporal direct mode has been described above.
[2-3. system]
Next, a system according to the second embodiment will be described with reference to FIG. FIG. 6 is a diagram illustrating an example of a system according to the second embodiment.
図6に示すように、第2実施形態に係るシステムは、符号化装置100及び復号装置200を含む。符号化装置100は、複数の視点にそれぞれ対応する複数の動画像を符号化する装置である。符号化装置100により符号化された複数の動画像に対応する符号化データは、復号装置200に伝送される。例えば、符号化データは、ネットワークや可搬記録媒体などを介して復号装置200に伝送される。復号装置200は、符号化装置100から取得した符号化データを復号して複数の動画像を復元する。
As illustrated in FIG. 6, the system according to the second embodiment includes an
なお、以下では、説明の都合上、2視点(Base−View、非Base−View)の動画像を符号化及び復号することを前提に説明する。但し、第2実施形態に係る技術の適用範囲はこれに限定されず、視点数が3以上の場合にも適用可能である。 In the following description, for convenience of explanation, description will be made on the assumption that a moving image of two viewpoints (Base-View, non-Base-View) is encoded and decoded. However, the scope of application of the technology according to the second embodiment is not limited to this, and the present invention can also be applied when the number of viewpoints is three or more.
以上、システムについて説明した。
[2−4.ハードウェアの例]
次に、図7を参照しながら、符号化装置100が有する機能を実現することが可能なハードウェアについて説明する。図7は、第2実施形態に係る符号化装置が有する機能を実現することが可能なハードウェアの一例を示した図である。
The system has been described above.
[2-4. Hardware example]
Next, hardware capable of realizing the functions of the
符号化装置100が有する機能は、例えば、図7に示す情報処理装置のハードウェア資源を用いて実現することが可能である。つまり、符号化装置100が有する機能は、コンピュータプログラムを用いて図7に示すハードウェアを制御することにより実現される。
The functions of the
図7に示すように、このハードウェアは、主に、CPU902と、ROM(Read Only Memory)904と、RAM906と、ホストバス908と、ブリッジ910とを有する。さらに、このハードウェアは、外部バス912と、インターフェース914と、入力部916と、出力部918と、記憶部920と、ドライブ922と、接続ポート924と、通信部926とを有する。
As shown in FIG. 7, this hardware mainly includes a
CPU902は、例えば、演算処理装置又は制御装置として機能し、ROM904、RAM906、記憶部920、又はリムーバブル記録媒体928に記録された各種プログラムに基づいて各構成要素の動作全般又はその一部を制御する。ROM904は、CPU902に読み込まれるプログラムや演算に用いるデータなどを格納する記憶装置の一例である。RAM906には、例えば、CPU902に読み込まれるプログラムや、そのプログラムを実行する際に変化する各種パラメータなどが一時的又は永続的に格納される。
The
これらの要素は、例えば、高速なデータ伝送が可能なホストバス908を介して相互に接続される。一方、ホストバス908は、例えば、ブリッジ910を介して比較的データ伝送速度が低速な外部バス912に接続される。また、入力部916としては、例えば、マウス、キーボード、タッチパネル、タッチパッド、ボタン、スイッチ、及びレバーなどが用いられる。さらに、入力部916としては、赤外線やその他の電波を利用して制御信号を送信することが可能なリモートコントローラが用いられることもある。
These elements are connected to each other via, for example, a
出力部918としては、例えば、CRT(Cathode Ray Tube)、LCD(Liquid Crystal Display)、PDP(Plasma Display Panel)、又はELD(Electro-Luminescence Display)などのディスプレイ装置が用いられる。また、出力部918として、スピーカやヘッドホンなどのオーディオ出力装置、又はプリンタなどが用いられることもある。つまり、出力部918は、情報を視覚的又は聴覚的に出力することが可能な装置である。
As the
記憶部920は、各種のデータを格納するための装置である。記憶部920としては、例えば、HDDなどの磁気記憶デバイスが用いられる。また、記憶部920として、SSD(Solid State Drive)やRAMディスクなどの半導体記憶デバイス、光記憶デバイス、又は光磁気記憶デバイスなどが用いられてもよい。
The
ドライブ922は、着脱可能な記録媒体であるリムーバブル記録媒体928に記録された情報を読み出し、又はリムーバブル記録媒体928に情報を書き込む装置である。リムーバブル記録媒体928としては、例えば、磁気ディスク、光ディスク、光磁気ディスク、又は半導体メモリなどが用いられる。
The
接続ポート924は、例えば、USB(Universal Serial Bus)ポート、IEEE1394ポート、SCSI(Small Computer System Interface)、RS−232Cポート、又は光オーディオ端子など、外部接続機器930を接続するためのポートである。外部接続機器930としては、例えば、プリンタなどが用いられる。
The
通信部926は、ネットワーク932に接続するための通信デバイスである。通信部926としては、例えば、有線又は無線LAN(Local Area Network)用の通信回路、WUSB(Wireless USB)用の通信回路、光通信用の通信回路やルータ、ADSL(Asymmetric Digital Subscriber Line)用の通信回路やルータ、携帯電話ネットワーク用の通信回路などが用いられる。通信部926に接続されるネットワーク932は、有線又は無線により接続されたネットワークであり、例えば、インターネット、LAN、放送網、衛星通信回線などを含む。
The
以上、符号化装置100が有する機能を実現することが可能なハードウェアについて説明した。なお、復号装置200が有する機能も、図7に例示したハードウェアを利用して実現することが可能である。つまり、図7に示したハードウェアは、復号装置200が有する機能を実現することが可能なハードウェアの一例でもある。従って、復号装置200が有する機能を実現することが可能なハードウェアに関する詳細な説明を省略する。
Heretofore, the hardware capable of realizing the functions of the
[2−5.符号化装置の機能]
次に、図8〜図10を参照しながら、符号化装置100が有する機能について説明する。
[2-5. Function of encoding apparatus]
Next, functions of the
図8は、第2実施形態に係る符号化装置が有する機能の一例を示した第1のブロック図である。また、図9は、第2実施形態に係る符号化装置が有する機能の一例を示した第2のブロック図である。また、図10は、第2実施形態に係る符号化装置が有する機能の一例を示した第3のブロック図である。 FIG. 8 is a first block diagram illustrating an example of the functions of the encoding device according to the second embodiment. FIG. 9 is a second block diagram showing an example of the functions of the encoding apparatus according to the second embodiment. FIG. 10 is a third block diagram illustrating an example of functions of the encoding apparatus according to the second embodiment.
(2−5−1.全体)
図8に示すように、符号化装置100は、第1視点符号化部101、統計情報取得部102、及び第2視点符号化部103を有する。なお、符号化装置100は、第1視点符号化部101、統計情報取得部102、及び第2視点符号化部103の機能は、上述したCPU902などを用いて実現できる。
(2-5-1. Overall)
As illustrated in FIG. 8, the
第1視点符号化部101には、Base−Viewに対応する動画像のピクチャ(以下、Base−Viewピクチャ)が入力される。第1視点符号化部101は、入力されたBase−Viewピクチャを符号化する。第1視点符号化部101の機能については後段において詳述する。
The first
統計情報取得部102は、第1視点符号化部101によるBase−Viewピクチャの符号化時に得られる統計情報を取得する。統計情報としては、例えば、量子化スケール値(以下、qP値)や差分係数の個数などがある。統計情報取得部102により取得された統計情報は、第2視点符号化部103に入力される。
The statistical
第2視点符号化部103には、非Base−Viewに対応する動画像のピクチャ(以下、非Base−Viewピクチャ)が入力される。第2視点符号化部103は、第1視点符号化部101が符号化に用いた動きベクトルやピクチャに関する情報、及び統計情報を用いて非Base−Viewピクチャを符号化する。第2視点符号化部103の機能については後段において詳述する。
The second
(2−5−2.第1視点符号化部101の細部)
ここで、図9を参照しながら、第1視点符号化部101の機能について、さらに説明する。
(2-5-2. Details of First View Coding Unit 101)
Here, the function of the first
図9に示すように、第1視点符号化部101は、減算器111、直交変換・量子化部112、可変長符号化部113、逆直交変換・逆量子化部114、及び加算器115を有する。さらに、第1視点符号化部101は、フレームメモリ116、動き補償部117、動きベクトル検出部118、動きベクトルメモリ119、基準ベクトル取得部120、ダイレクトベクトル計算部121、及びモード判定部122を有する。
As shown in FIG. 9, the first
減算器111には、Base−Viewピクチャを16×16ピクセル(画素)のブロック(MB)に分割したマクロブロックのデータ(以下、MBデータ)が入力される。減算器111は、入力されたMBデータから、動き補償部117から出力される予測画像のMBデータを減算して予測誤差データを生成する。減算器111により生成された予測誤差データは、直交変換・量子化部112に入力される。
The
直交変換・量子化部112は、入力された予測誤差データを8×8ピクセルのブロック又は4×4ピクセルのブロックを単位として直交変換する。適用可能な直交変換としては、例えば、DCT(Discrete Cosine Transform)変換やアダマール(Hadamard)変換などがある。このような直交変換により、予測誤差データは、水平方向の周波数成分及び垂直方向の周波数成分のデータに変換される。
The orthogonal transform /
また、直交変換・量子化部112は、直交変換により得られた周波数成分のデータを量子化して量子化データを生成する。直交変換・量子化部112により生成された量子化データは、可変長符号化部113及び逆直交変換・逆量子化部114に入力される。
The orthogonal transform /
可変長符号化部113は、量子化データを可変長符号化して符号化データを生成する。可変長符号化とは、シンボルの出現頻度に応じて可変長の符号を割り当てる符号化方法である。例えば、可変長符号化部113は、出現頻度の高い係数の組合せに短い符号を割り当て、出現頻度の低い係数の組合せに長い符号を割当てる。適用可能な可変長符号化としては、CAVLC(Context−Adaptive Variable Length Coding)やCABAC(Context−Adaptive Binary Arithmetic Coding)などがある。
The variable
逆直交変換・逆量子化部114は、量子化データを逆量子化して周波数成分のデータを復元する。また、逆直交変換・逆量子化部114は、周波数成分のデータに逆直交変換を施して予測誤差データを復元する。復元された予測誤差データは、加算器115に入力される。加算器115は、動き補償により動き補償部117で生成されたMBデータと、逆直交変換・逆量子化部114により復元された予測誤差データとを加算して局所復号画像を生成する。
The inverse orthogonal transform /
加算器115により生成された局所復号画像は、フレームメモリ116に入力される。なお、局所復号画像にデブロッキングフィルタが施されるようにしてもよい。フレームメモリ116には、加算器115により入力された局所復号画像が格納される。フレームメモリ116に格納された局所復号画像は、動き補償部117により参照される。また、フレームメモリ116に格納された局所復号画像は、第2視点符号化部103により非Base−Viewピクチャの符号化に利用される。
The locally decoded image generated by the
動き補償部117は、動きベクトルメモリ119に格納されている動きベクトルを用いて、フレームメモリ116に格納されている局所復号画像の動き補償を実行し、動き補償後のMBデータ(参照ピクチャのMBデータ)を生成する。動きベクトル検出部118は、入力されたBase−ViewピクチャのMBデータ(対象ピクチャのMBデータ)と参照ピクチャのMBデータとを用いて動き探索を実行し、動きベクトルを生成する。
The
動き探索の方法としては、例えば、ブロックマッチング法などがある。なお、動き探索には、画素の差分絶対値和の大きさなどが利用される。例えば、動き補償に用いる評価値costは、差分絶対値SAD_cost、動きベクトルの符号量に相当する評価値MV_costを用いて下記の式(1)のように表現できる。なお、SADは、Sum Absolute Differenceの略である。また、MVは、Motion Vectorの略である。 As a motion search method, for example, there is a block matching method. Note that the magnitude of the sum of absolute differences of pixels is used for motion search. For example, the evaluation value cost used for motion compensation can be expressed as the following equation (1) using the difference absolute value SAD_cost and the evaluation value MV_cost corresponding to the code amount of the motion vector. Note that SAD is an abbreviation for Sum Absolute Difference. MV is an abbreviation for Motion Vector.
cost = SAD_cost + MV_cost
…(1)
動きベクトル検出部118は、例えば、上記の評価値costが最小となるような動きベクトルを検出する。動きベクトル検出部118により検出された動きベクトルは、動きベクトルメモリ119及びモード判定部122に入力される。動きベクトルメモリ119には、動きベクトル検出部118により検出された動きベクトルが格納される。
cost = SAD_cost + MV_cost
... (1)
The motion
基準ベクトル取得部120は、符号化対象のマクロブロック(CurrMB)が双方向予測を用いるマクロブロックであるか否かを判定する。CurrMBが双方向予測を用いるマクロブロックである場合、基準ベクトル取得部120は、CurrMBと同位置にあるColPicのマクロブロック(ColMB)を特定し、ColMBの動きベクトルを動きベクトルメモリ119から取得する(図2を参照)。基準ベクトル取得部120により取得された動きベクトルは、基準ベクトルbasemvColとしてダイレクトベクトル計算部121に入力される。
The reference
ダイレクトベクトル計算部121は、基準ベクトルbasemvColを時間配分でスケーリングし、CurrMBの動きベクトル(ダイレクトベクトル)を生成する。例えば、図2の例では、基準ベクトルbasemvColが時間tb、tdの比に基づいてスケーリングされ、ダイレクトベクトルmvL0、mvL1が生成されている。このようにしてダイレクトベクトル計算部121により生成されたダイレクトベクトルは、モード判定部122に入力される。
The direct
モード判定部122は、5つの予測モード(イントラ予測モード、前方向予測モード、後方向予測モード、双方向予測モード、ダイレクトモード)のうち、符号化コストが最も小さい予測モードを選択する。例えば、モード判定部122は、予測モード毎に、下記の式(2)〜式(6)に示す符号化コストを計算する。
The
cost_directは、ダイレクトモードの符号化コストである。cost_forwardは、前方向予測モードの符号化コストである。cost_backwardは、後方向予測モードの符号化コストである。cost_bidirectionは、双方向予測モードの符号化コストである。cost_intraは、イントラ予測モードの符号化コストである。*orgは、対象ピクチャのMBデータを表す。*refは、参照ピクチャのMBデータを表す。*mvは、CurrMBが用いる動きベクトルの候補である。*prevmvは、CurrMBの周辺に位置するマクロブロックに基づく予測ベクトルを表す。 cost_direct is the encoding cost of the direct mode. cost_forward is the coding cost of the forward prediction mode. cost_backward is the encoding cost of the backward prediction mode. cost_biddirection is the encoding cost of the bidirectional prediction mode. cost_intra is the coding cost of the intra prediction mode. * Org represents MB data of the target picture. * Ref represents the MB data of the reference picture. * Mv is a motion vector candidate used by CurrMB. * Prevmv represents a prediction vector based on a macroblock located around CurrMB.
cost_direct = SAD(*org,*ref)
…(2)
cost_forward = SAD(*org,*ref) + MV_COST(*mv,*prevmv)
…(3)
cost_backward = SAD(*org,*ref) + MV_COST(*mv,*prevmv)
…(4)
cost_bidirection = SAD(*org,*ref) + MV_COST(*mv,*prevmv)
…(5)
cost_intra = ACT(*org)
…(6)
なお、SAD(・)は、下記の式(7)に示すように、画素差分絶対値和を計算する関数である。H.264/AVC方式では、1つのマクロブロックを複数のサブブロックに分割することができる。例えば、1つのマクロブロックが4つの8×8のサブブロックに分かれている場合、サブブロック毎に計算される4つの差分絶対値和が、SAD(・)の計算結果となる。サブブロックの単位を8×16ピクセル、16×8ピクセル、4×8ピクセル、8×4ピクセル、4×4ピクセルにした場合も同様である。
cost_direct = SAD (* org, * ref)
... (2)
cost_forward = SAD (* org, * ref) + MV_COST (* mv, * prevmv)
... (3)
cost_backward = SAD (* org, * ref) + MV_COST (* mv, * prevmv)
(4)
cost_bidirection = SAD (* org, * ref) + MV_COST (* mv, * prevmv)
... (5)
cost_intra = ACT (* org)
... (6)
SAD (·) is a function for calculating the sum of pixel difference absolute values as shown in the following equation (7). H. In the H.264 / AVC format, one macro block can be divided into a plurality of sub blocks. For example, when one macroblock is divided into four 8 × 8 sub-blocks, four sums of absolute differences calculated for each sub-block are the calculation results of SAD (•). The same applies when the unit of the sub-block is 8 × 16 pixels, 16 × 8 pixels, 4 × 8 pixels, 8 × 4 pixels, and 4 × 4 pixels.
SAD(*org,*ref) = Σ|*org − *ref|
…(7)
MV_COST(・)は、動きベクトルの符号量に比例した評価値を計算する関数である。MV_COST(・)は、下記の式(8)のように表現される。なお、λは、符号化コストへの影響度を調整するための重み定数である。また、Table[・]は、ベクトル差分の大きさを符号量相当に変換するテーブルである。これらは予め設定される。
SAD (* org, * ref) = Σ | * org− * ref |
... (7)
MV_COST (·) is a function for calculating an evaluation value proportional to the code amount of the motion vector. MV_COST (•) is expressed as in the following Expression (8). Note that λ is a weighting constant for adjusting the degree of influence on the coding cost. Table [·] is a table for converting the magnitude of the vector difference into the code amount. These are preset.
MV_COST = λ*(Table[*mv−*prevmv])
…(8)
上記の式(6)に示すように、イントラ予測モードの符号化コストは、アクティビティと呼ばれる関数ACT(・)により表現される。イントラ予測モードの場合、CurrMBそのものが直交変換される。そのため、CurrMBに含まれる各画素の画素値が平均値(AveMB)から離れている度合い(アクティビティ)を用いて符号化コストが求められる。アクティビティを求める関数ACT(・)は、下記の式(9)で表現される。
MV_COST = λ * (Table [* mv− * prevmv])
... (8)
As shown in the above equation (6), the coding cost of the intra prediction mode is expressed by a function ACT (•) called an activity. In the intra prediction mode, CurrMB itself is orthogonally transformed. Therefore, the encoding cost is obtained using the degree (activity) that the pixel value of each pixel included in CurrMB is away from the average value (AveMB). The function ACT (·) for obtaining the activity is expressed by the following equation (9).
ACT(*org,*ref) = Σ|*org − AveMB|
…(9)
なお、上記の式(2)〜式(6)から明らかなように、ダイレクトモードの符号化コストにはMV_COSTが含まれない。そのため、予測が的中して全ての予測モードでSADが同等で比較的小さい値となった場合には、ダイレクトモードの符号化コストが低くなり、ダイレクトモードが選択されやすくなる。
ACT (* org, * ref) = Σ | * org−AveMB |
... (9)
As is clear from the above equations (2) to (6), MV_COST is not included in the coding cost of the direct mode. Therefore, when the prediction is correct and the SAD is equal and relatively small in all prediction modes, the encoding cost of the direct mode is reduced and the direct mode is easily selected.
さて、上記のような方法で予測モード毎に符号化コストを計算したモード判定部122は、符号化コストが最小となる予測モードを選択する。また、モード判定部122は、選択した予測モードによる符号化に用いる動きベクトルを動きベクトルメモリ119に格納する。さらに、モード判定部122は、選択した予測モードを動き補償部117に通知する。
Now, the
上記のように、Base−Viewピクチャの符号化は、非Base−Viewピクチャの符号化とは独立して実行される。
(2−5−3.第2視点符号化部103の細部)
ここで、図10を参照しながら、第2視点符号化部103の機能について、さらに説明する。
As described above, the coding of the Base-View picture is performed independently of the coding of the non-Base-View picture.
(2-5-3. Details of Second View Encoding Unit 103)
Here, the function of the second
図10に示すように、第2視点符号化部103は、減算器131、直交変換・量子化部132、可変長符号化部133、逆直交変換・逆量子化部134、及び加算器135を有する。また、第2視点符号化部103は、フレームメモリ136、動き補償部137、動きベクトル検出部138、及び動きベクトルメモリ139を有する。さらに、第2視点符号化部103は、基準ベクトル取得部140、基準ベクトル補正部141、ダイレクトベクトル計算部142、及びモード判定部143を有する。
As shown in FIG. 10, the second
減算器131には、非Base−ViewピクチャのMBデータが入力される。減算器131は、第1視点符号化部101と同様に、入力されたMBデータから、動き補償部137から出力される予測画像のMBデータを減算して予測誤差データを生成する。減算器131により生成された予測誤差データは、直交変換・量子化部132に入力される。
The
直交変換・量子化部132は、入力された予測誤差データを8×8ピクセルのブロック又は4×4ピクセルのブロックを単位として直交変換する。適用可能な直交変換としては、例えば、DCT変換やアダマール変換などがある。このような直交変換により、予測誤差データは、水平方向の周波数成分及び垂直方向の周波数成分のデータに変換される。
The orthogonal transform /
また、直交変換・量子化部132は、直交変換により得られた周波数成分のデータを量子化して量子化データを生成する。直交変換・量子化部132により生成された量子化データは、可変長符号化部133及び逆直交変換・逆量子化部134に入力される。可変長符号化部133は、量子化データを可変長符号化して符号化データを生成する。適用可能な可変長符号化としては、CAVLCやCABACなどがある。
The orthogonal transform /
逆直交変換・逆量子化部134は、量子化データを逆量子化して周波数成分のデータを復元する。また、逆直交変換・逆量子化部134は、周波数成分のデータに逆直交変換を施して予測誤差データを復元する。復元された予測誤差データは、加算器135に入力される。加算器135は、動き補償により動き補償部137で生成されたMBデータと、逆直交変換・逆量子化部134により復元された予測誤差データとを加算して局所復号画像を生成する。
The inverse orthogonal transform /
加算器135により生成された局所復号画像は、フレームメモリ136及び動き補償部137に入力される。なお、局所復号画像にデブロッキングフィルタが施されるようにしてもよい。フレームメモリ136には、加算器135により入力された局所復号画像が格納される。フレームメモリ136に格納された局所復号画像は、動き補償部137により参照される。
The locally decoded image generated by the
動き補償部137は、動きベクトルメモリ139に格納されている動きベクトルを用いて、フレームメモリ136に格納されている局所復号画像の動き補償を実行し、動き補償後のMBデータ(参照ピクチャのMBデータ)を生成する。動きベクトル検出部138は、入力された非Base−ViewピクチャのMBデータ(対象ピクチャのMBデータ)と参照ピクチャのMBデータとを用いて動き探索を実行し、動きベクトルを生成する。
The
なお、動きベクトル検出部138は、他視点(この例ではBase−View)の参照ピクチャを利用できる場合、第1視点符号化部101のフレームメモリ116から参照ピクチャを取得する。そして、動きベクトル検出部138は、取得した参照ピクチャのMBデータを用いて動き探索を実行し、動きベクトルを生成する。
Note that the motion
動きベクトル検出部138により検出された動きベクトルは、動きベクトルメモリ139及びモード判定部143に入力される。動きベクトルメモリ139には、動きベクトル検出部138により検出された動きベクトルが格納される。
The motion vector detected by the motion
基準ベクトル取得部140は、符号化対象のマクロブロック(CurrMB)が双方向予測を用いるマクロブロックであるか否かを判定する。CurrMBが双方向予測を用いるマクロブロックである場合、基準ベクトル取得部140は、CurrMBの予測に用いる動きベクトルが視点間動きベクトルiMVであるか否かを判定する。
The reference
CurrMBの予測に用いる動きベクトルが視点間動きベクトルiMVである場合、基準ベクトル取得部140は、CurrMBと同位置にあるColPicのマクロブロック(ColMB)を特定する。そして、基準ベクトル取得部140は、第1視点符号化部101の動きベクトルメモリ119からColMBの動きベクトルを取得する(図5を参照)。なお、ColPicは、CurrPicと同じ時刻(同POC)のBase−Viewピクチャである。この場合、基準ベクトル取得部140により取得された動きベクトルは、基準ベクトル補正部141に入力される。
When the motion vector used for CurrMB prediction is the inter-viewpoint motion vector iMV, the reference
一方、CurrMBの予測に用いる動きベクトルが視点間動きベクトルiMVでない場合、基準ベクトル取得部140は、CurrMBと同位置にあるColPicのマクロブロック(ColMB)を特定する。この場合、ColPicは、非Base−Viewピクチャである。また、基準ベクトル取得部140は、ColMBの予測に用いる動きベクトルが視点間動きベクトルiMVであるか否かを判定する。
On the other hand, when the motion vector used for CurrMB prediction is not the inter-viewpoint motion vector iMV, the reference
ColMBの予測に用いる動きベクトルが視点間動きベクトルiMVである場合、基準ベクトル取得部140は、ColMBの予測に用いる視点間動きベクトルiMVが指すBase−Viewピクチャのマクロブロック(RefMB)を特定する。そして、基準ベクトル取得部140は、第1視点符号化部101の動きベクトルメモリ119からRefMBの動きベクトルを取得する(図4を参照)。この場合、基準ベクトル取得部140により取得された動きベクトルは、基準ベクトル補正部141に入力される。
When the motion vector used for the prediction of ColMB is the inter-view motion vector iMV, the reference
一方、ColMBの予測に用いる動きベクトルが視点間動きベクトルiMVでない場合、基準ベクトル取得部140は、CurrMBと同位置にあるColPicのマクロブロック(ColMB)を特定し、ColMBの動きベクトルを動きベクトルメモリ139から取得する(図2を参照)。この場合、基準ベクトル取得部140により取得された動きベクトルは、基準ベクトルbasemvColとしてダイレクトベクトル計算部141に入力される。
On the other hand, when the motion vector used for the prediction of ColMB is not the inter-viewpoint motion vector iMV, the reference
基準ベクトル補正部141は、統計情報取得部102から入力された統計情報に基づき、基準ベクトル取得部140から入力された動きベクトルを補正して基準ベクトルbasemvColを生成する。基準ベクトルbasemvColを生成する際に行う補正方法については後述する。基準ベクトル補正部141により生成された基準ベクトルbasemvColは、ダイレクトベクトル計算部142に入力される。
The reference
ダイレクトベクトル計算部142は、基準ベクトルbasemvColを時間配分でスケーリングし、CurrMBの動きベクトル(ダイレクトベクトル)を生成する。ダイレクトベクトル計算部142により生成されたダイレクトベクトルは、モード判定部143に入力される。
The direct
モード判定部143は、5つの予測モード(イントラ予測モード、前方向予測モード、後方向予測モード、双方向予測モード、ダイレクトモード)のうち、符号化コストが最も小さい予測モードを選択する。また、モード判定部143は、選択した予測モードによる符号化に用いる動きベクトルを動きベクトルメモリ139に格納する。さらに、モード判定部143は、選択した予測モードを動き補償部137に通知する。
The
上記のように、非Base−Viewピクチャの符号化は、Base−Viewピクチャの符号化に用いた情報を適宜利用して実行される。
(2−5−4.基準ベクトルの計算に関する補足説明)
ここで、図11〜図14を参照しながら、CurrMBの動きベクトルが視点間動きベクトルiMVである場合の基準ベクトルbasemvColの計算について説明を補足する。また、ダイレクトベクトルの計算についても説明を補足する。
As described above, the encoding of the non-Base-View picture is performed by appropriately using the information used for encoding the Base-View picture.
(2-5-4. Supplementary explanation on calculation of reference vector)
Here, with reference to FIGS. 11 to 14, a supplementary explanation will be given for the calculation of the reference vector basemvCol when the motion vector of CurrMB is the inter-viewpoint motion vector iMV. Further, the explanation will be supplemented for the calculation of the direct vector.
図11は、第2実施形態に係る基準ベクトルの計算方法について説明するための第1の図である。また、図12は、第2実施形態に係る基準ベクトルの計算方法について説明するための第2の図である。また、図13は、第2実施形態に係る基準ベクトルの補正方法について説明するための第1の図である。また、図14は、第2実施形態に係る基準ベクトルの補正方法について説明するための第2の図である。 FIG. 11 is a first diagram for explaining a reference vector calculation method according to the second embodiment. FIG. 12 is a second diagram for explaining the reference vector calculation method according to the second embodiment. FIG. 13 is a first diagram for explaining a reference vector correction method according to the second embodiment. FIG. 14 is a second diagram for explaining the reference vector correction method according to the second embodiment.
(基準ベクトル及びダイレクトベクトルの計算)
図11を参照する。図11の例では、視点#2(非Base−View)のピクチャB24が符号化対象のマクロブロック(CurrMB)を含むCurrPicである。また、CurrMBの予測に用いる動きベクトルは視点間動きベクトルiMVである。この場合、視点#1(Base−View)のピクチャB14がColPicとなる。
(Calculation of reference vector and direct vector)
Please refer to FIG. In the example of FIG. 11, the picture B24 of viewpoint # 2 (non-Base-View) is CurrPic including a macroblock (CurrMB) to be encoded. The motion vector used for CurrMB prediction is the inter-viewpoint motion vector iMV. In this case, the picture B14 at the viewpoint # 1 (Base-View) is ColPic.
CurrPicとColPicとは、類似度の高いピクチャである。しかし、撮影位置や角度などが異なるため、CurrPicとColPicとが完全に同じピクチャとはならない。そのため、視点間動きベクトルiMVが有限の長さを有する。そして、視点間動きベクトルiMVにより参照されるブロックiMBがColMBとなる。 CurrPic and ColPic are pictures with high similarity. However, since the shooting position and angle are different, CurrPic and ColPic are not completely the same picture. Therefore, the inter-viewpoint motion vector iMV has a finite length. The block iMB referred to by the inter-viewpoint motion vector iMV is ColMB.
CurrPicがBピクチャである場合、CurrPicと同じ時刻(同POC)のColPicはBピクチャである。そのため、図11に示すように、ColMBの予測にはL0方向及びL1方向の動きベクトルが用いられる。 When CurrPic is a B picture, ColPic at the same time (same POC) as CurrPic is a B picture. Therefore, as shown in FIG. 11, motion vectors in the L0 direction and the L1 direction are used for prediction of ColMB.
基準ベクトル補正部141は、基準ベクトル取得部140が取得したL0方向の動きベクトルを基準ベクトルbasemvCol0とし、L1方向の動きベクトルを基準ベクトルbasemvCol1とする。このとき、基準ベクトル補正部141は、視点間動きベクトルiMVを用いて基準ベクトルbasemvCol0、basemvCol1を補正する。この補正方法については後述する。
The reference
基準ベクトルbasemvCol0、basemvCol1が得られると、ダイレクトベクトル計算部142は、基準ベクトルbasemvCol0、basemvCol1をスケーリングしてダイレクトベクトルmvL0、mvL1を計算する。
When the reference vector basemvCol 0, basemvCol 1 is obtained, the direct
図11の例では、ピクチャI12、B14の間隔tbL0(POC差分)と、ピクチャI22、B24の間隔tdL0(POC差分)との比率を用いて基準ベクトルbasemvCol0がスケーリングされる。また、ピクチャB14、P15の間隔tbL1(POC差分)と、ピクチャB24、P25の間隔tdL1(POC差分)との比率を用いて基準ベクトルbasemvCol1がスケーリングされる。 In the example of FIG. 11, the reference vector basemvCol 0 is scaled using the ratio of the interval tbL 0 (POC difference) between the pictures I 12 and B 14 and the interval tdL 0 (POC difference) between the pictures I 22 and B 24. . In addition, the reference vector basemvCol 1 is scaled using the ratio of the interval tbL 1 (POC difference) between the pictures B 14 and P 15 and the interval tdL 1 (POC difference) between the pictures B 24 and P 25 .
つまり、非Base−Viewにおけるref_idx_l0が最小のピクチャとCurrPicとの間隔tdL0、Base−Viewにおけるref_idx_l0が最小のピクチャとColPicとの間隔tbL0がスケーリングに利用される。さらに、非Base−Viewにおけるref_idx_l1が最小のピクチャとCurrPicとの間隔tdL1、Base−Viewにおけるref_idx_l1が最小のピクチャとColPicとの間隔tbL1がスケーリングに利用される。この場合、ダイレクトベクトルmvL0、mvL1は、下記の式(10)及び式(11)により得られる。 That is, the spacing TBL 0 of ref_idx_l0 and minimum picture and ColPic in intervals tdL 0, Base-View of ref_idx_l0 in non Base-View is the smallest picture and CurrPic are used for scaling. Further, the interval TBL 1 of ref_idx_l1 is ref_idx_l1 is the interval tdL 1, Base-View of the minimum picture and CurrPic the smallest picture and ColPic in non Base-View is used for scaling. In this case, the direct vectors mvL 0 and mvL 1 are obtained by the following equations (10) and (11).
mvL0 = basemvCol0・(tbL0 / tdL0)
…(10)
mvL1 = basemvCol1・(tbL1 / tdL1)
…(11)
上記のように、tbL0、tdL0、tbL1、tdL1を用いてスケーリングすることにより、CurrMBの予測時に他視点のピクチャが参照される場合でも基準ベクトルからダイレクトベクトルを得ることができる。つまり、CurrMBが視点間参照を利用する場合でも時間ダイレクトモードを適用することが可能になる。なお、1つの基準ベクトルを選択的に利用する方法や、1つ又は複数のダイレクトベクトルを選択して利用する方法など、様々な変形例が考えられる。
mvL 0 = basemvCol 0 · (tbL 0 / tdL 0 )
(10)
mvL 1 = basemvCol 1 (tbL 1 / tdL 1 )
... (11)
As described above, by scaling with tbL 0, tdL 0, tbL 1 ,
図12の例は、基準ベクトルbasemvCol0、basemvCol1からダイレクトベクトルmvL0、mvL1を計算し、1つのダイレクトベクトルを選択して利用する方法を示している。ダイレクトベクトルmvL0は、ピクチャ間隔tbL0、tdを利用して基準ベクトルbasemvCol0をスケーリングしたものである。一方、ダイレクトベクトルmvL1は、基準ベクトルbasemvCol1をL0方向に反転させたものである(mvL1=−basemvCol1)。ダイレクトベクトルの選択は、例えば、符号化コストに基づいて行われる。 Example of FIG. 12, the direct vector mvL 0, mvL 1 from the reference vector basemvCol 0, basemvCol 1 calculates, shows how to select and use one of the direct vector. The direct vector mvL 0 is obtained by scaling the reference vector basemvCol 0 using the picture intervals tbL 0 and td. On the other hand, the direct vector mvL 1 is obtained by inverting the reference vector basemvCol 1 in the L0 direction (mvL 1 = −basemvCol 1 ). The selection of the direct vector is performed based on the encoding cost, for example.
なお、図12の例では、ピクチャB23を指すダイレクトベクトルを計算しているが、ダイレクトベクトルが指すピクチャの情報は、例えば、SEI(Supplemental Enhancement Information)で指定することができる。SEIはヘッダ情報の一例である。図12の例では、ref_idx_l0=2のピクチャを指すダイレクトベクトルが指定されている。 In the example of FIG. 12, the direct vector indicating the picture B 23 is calculated. However, the information of the picture indicated by the direct vector can be specified by SEI (Supplemental Enhancement Information), for example. SEI is an example of header information. In the example of FIG. 12, a direct vector indicating a picture of ref_idx_I0 = 2 is specified.
上記のような方法を適用することで、基準ベクトルからダイレクトベクトルを得ることができる。以下、基準ベクトルの補正方法について述べる。
(基準ベクトルの補正#1:最大面積)
第1の補正方法について述べる。
By applying the above method, a direct vector can be obtained from a reference vector. The reference vector correction method will be described below.
(Reference vector correction # 1: Maximum area)
A first correction method will be described.
図13を参照する。既に述べたように、視点の異なるピクチャは、撮影位置や角度の違いから、完全に同じピクチャとはならない。そのため、視点間動きベクトルiMVは有限の長さを有する。つまり、視点間動きベクトルiMVが指すブロックiMBは、ColPicに含まれるマクロブロックのいずれかと完全に一致しない可能性が高い。例えば、ColPicのマクロブロックMB#1、…、#4と、視点間動きベクトルiMVが指すブロックiMBとが図13に例示した位置関係にある場合について考える。なお、マクロブロックMB#1、…、#4は周辺ブロックの一例である。
Please refer to FIG. As already described, pictures with different viewpoints are not completely the same because of differences in shooting position and angle. Therefore, the inter-viewpoint motion vector iMV has a finite length. That is, there is a high possibility that the block iMB pointed to by the inter-viewpoint motion vector iMV does not completely match any of the macroblocks included in the ColPic. For example, consider the case where the ColPic
マクロブロックMB#1、…、#4、ブロックiMBのサイズはそれぞれN×Mであるとする。図13の例では、マクロブロックMB#1、#2とブロックiMBとが重なる面積は0である。また、マクロブロックMB#3とブロックiMBとが重なる面積は、numy×(N−numx)である。そして、マクロブロックMB#4とブロックiMBとが重なる面積は、numy×numxである。図13の例では、(N−numx)よりもnumxの方が大きい。従って、マクロブロックMB#4とブロックiMBとの重なり面積が最大となる。
Assume that the sizes of the
第1の補正方法は、重なり面積が最大となるマクロブロックMB#4を求め、重なり面積が最大となるマクロブロックMB#4の予測に用いる動きベクトルを基準ベクトルbasemvColに設定する方法である。つまり、第1の補正方法を採用する場合、基準ベクトル補正部141は、ブロックiMBと周辺ブロックとの重なり面積を計算し、重なり面積が最大となるマクロブロックの予測に用いる動きベクトルを基準ベクトルbasemvColに設定する。第1の補正方法によれば、演算負荷の増大を抑制しつつ、視点間動きベクトルiMVを考慮して基準ベクトルbasemvColの設定が可能になる。
The first correction method is a method of obtaining the macro
(基準ベクトルの補正#2:加重平均)
第2の補正方法について述べる。ここでは、ColPicのマクロブロックMB#1、…、#4と、視点間動きベクトルiMVが指すブロックiMBとが図14に例示した位置関係にある場合について考える。また、マクロブロックMB#1、…、#4、ブロックiMBのサイズはそれぞれN×Mであるとする。第2の補正方法は、ブロックiMBの周辺に位置するマクロブロックMB#1、…、#4の動きベクトルを加重平均し、加重平均で得られたベクトルを基準ベクトルbasemvColに設定するものである。以下、加重平均の計算方法について2通りの例(例1、例2)を示す。
(Reference vector correction # 2: weighted average)
A second correction method will be described. Here, consider the case where the ColPic
(例1:重なる面積に基づく加重平均の計算について)
図14の例では、マクロブロックMB#1とブロックiMBとが重なる面積S1は、dxA×dyAである。また、マクロブロックMB#2とブロックiMBとが重なる面積S2は、dxB×dyAである。また、マクロブロックMB#3とブロックiMBとが重なる面積S3は、dxA×dyBである。また、マクロブロックMB#4とブロックiMBとが重なる面積S4は、dxB×dyBである。なお、dxA、dxB、dyA、dyBは画素数の単位で表現される。
(Example 1: Calculation of weighted average based on overlapping area)
In the example of FIG. 14, the area S 1 where the macro
例1では、加重平均の計算に用いる評価値Costxyが上記の重なる面積S1、…、S4に基づいて計算される。評価値Costxyは、下記の式(12)で与えられる。但し、Kは、予め設定された重み係数である。さらに、評価値Costxyを重みとする加重平均の計算により基準ベクトルbasemvColが計算される。例えば、基準ベクトルbasemvColは、下記の式(13)に従って計算される。但し、basemvColx、basemvColyは、それぞれ基準ベクトルbasemvColのx成分、y成分である。また、MVxi、MVyiは、それぞれマクロブロックMB#iの予測に用いる動きベクトルのx成分、y成分である。 In Example 1, the evaluation value Costxy used for calculating the weighted average is calculated based on the overlapping areas S 1 ,..., S 4 . The evaluation value Costxy is given by the following equation (12). Here, K is a weighting factor set in advance. Further, the reference vector basemvCol is calculated by calculating a weighted average using the evaluation value Costxy as a weight. For example, the reference vector basemvCol is calculated according to the following equation (13). Here, basemvCol x and basemvCol y are the x component and the y component of the reference vector basemvCol, respectively. Further, MVx i and MVy i are the x component and y component of the motion vector used for prediction of the macroblock MB # i, respectively.
Costxyi = K×Si (i=1,…,4)
…(12)
Costxy i = K × S i (i = 1,..., 4)
(12)
(例2:重なる面積及び量子化値に基づく加重平均の計算について)
例2では、加重平均の計算に用いる評価値Costxyが上記の重なる面積S1、…、S4、符号化に用いた量子化値(量子化スケール値:qP値)、及び有効係数の数に基づいて計算される。qP値及び有効係数の数は統計情報取得部102により取得される。なお、符号化に用いた有効係数の個数や成分の絶対値が小さければ、予測結果の信頼度が高いと判断できる。また、有効係数が同程度であれば、使用したqP値が小さいほど予測結果の信頼度が高いと判断できる。そのため、例2では、これらの値を利用する。
(Example 2: Calculation of weighted average based on overlapping area and quantized value)
In Example 2, the evaluation value Costxy used for the calculation of the weighted average is the above-described overlapping area S 1 ,..., S 4 , the quantization value (quantization scale value: qP value) used for encoding, and the number of effective coefficients. Calculated based on. The qP value and the number of effective coefficients are acquired by the statistical
評価値Costxyは、下記の式(14)で与えられる。但し、Kは、予め設定された重み係数である。qPiは、マクロブロックMB#iの符号化に用いたqP値である。numCoefiは、マクロブロックMB#iの符号化に用いた有効係数の数である。下記の式(14)から明らかなように、重なる面積が大きいほど評価値Costxyは大きくなる。また、qP値が大きいほど評価値Costxyは大きくなる。さらに、有効係数の数が小さいほど、評価値Costxyは大きくなる。 The evaluation value Costxy is given by the following equation (14). Here, K is a weighting factor set in advance. qP i is a qP value used for encoding the macroblock MB # i. numCoef i is the number of effective coefficients used for encoding the macroblock MB # i. As is clear from the following formula (14), the evaluation value Costxy increases as the overlapping area increases. The evaluation value Costxy increases as the qP value increases. Furthermore, the evaluation value Costxy increases as the number of effective coefficients decreases.
このようにして与えられた評価値Costxyを重みとする加重平均の計算により基準ベクトルbasemvColが計算される。例えば、基準ベクトルbasemvColは、上記の式(13)に従って計算される。但し、basemvColx、basemvColyは、それぞれ基準ベクトルbasemvColのx成分、y成分である。また、MVxi、MVyiは、それぞれマクロブロックMB#iの予測に用いる動きベクトルのx成分、y成分である。 The reference vector basemvCol is calculated by calculating a weighted average using the evaluation value Costxy given in this way as a weight. For example, the reference vector basemvCol is calculated according to the above equation (13). Here, basemvCol x and basemvCol y are the x component and the y component of the reference vector basemvCol, respectively. Further, MVx i and MVy i are the x component and y component of the motion vector used for prediction of the macroblock MB # i, respectively.
上記の方法により基準ベクトルbasemvColは補正され、CurrMBの予測に利用可能なダイレクトベクトルが得られる。
以上、符号化装置100が有する機能について説明した。
The reference vector basemCol is corrected by the above method, and a direct vector that can be used for the prediction of CurrMB is obtained.
In the above, the function which the
[2−6.復号装置の機能]
次に、図15〜図17を参照しながら、復号装置200が有する機能について説明する。
[2-6. Function of Decoding Device]
Next, functions of the
図15は、第2実施形態に係る復号装置が有する機能の一例を示した第1のブロック図である。また、図16は、第2実施形態に係る復号装置が有する機能の一例を示した第2のブロック図である。また、図17は、第2実施形態に係る復号装置が有する機能の一例を示した第3のブロック図である。 FIG. 15 is a first block diagram illustrating an example of functions of the decoding device according to the second embodiment. FIG. 16 is a second block diagram illustrating an example of the functions of the decoding device according to the second embodiment. FIG. 17 is a third block diagram illustrating an example of functions of the decoding device according to the second embodiment.
(2−6−1.全体)
図15に示すように、復号装置200は、第1視点復号部201、統計情報取得部202、及び第2視点復号部203を有する。なお、復号装置200は、第1視点復号部201、統計情報取得部202、及び第2視点復号部203の機能は、上述したCPU902などを用いて実現できる。
(2-6-1. Overall)
As illustrated in FIG. 15, the
第1視点復号部201には、Base−Viewピクチャを符号化した符号化データ(以下、Base−View符号化データ)が入力される。第1視点復号部201は、入力されたBase−View符号化データを復号する。第1視点復号部201の機能については後段において詳述する。
The first
統計情報取得部202は、第1視点復号部201によるBase−View符号化データの復号時に得られる統計情報を取得する。統計情報としては、例えば、qP値や差分有効係数の個数などがある。統計情報取得部202により取得された統計情報は、第2視点復号部203に入力される。
The statistical
第2視点復号部203には、非Base−Viewピクチャを符号化した符号化データ(以下、非Base−View符号化データ)が入力される。第2視点復号部203は、第1視点復号部201が復号に用いた動きベクトルやピクチャに関する情報、及び統計情報を用いて非Base−View符号化データを復号する。第2視点復号部203の機能については後段において詳述する。
The second
(2−6−2.第1視点復号部201の細部)
ここで、図16を参照しながら、第1視点復号部201の機能について、さらに説明する。
(2-6-2. Details of First View Decoding Unit 201)
Here, the function of the first
図16に示すように、第1視点復号部201は、可変長復号部211、逆直交変換・逆量子化部212、予測モード取得部213、スイッチ214、及びイントラ予測部215を有する。また、第1視点復号部201は、動きベクトル取得部216、フレームメモリ217、動き補償部218、スイッチ219、及び加算器220を有する。さらに、第1視点復号部201は、動きベクトルメモリ221、基準ベクトル取得部222、及びダイレクトベクトル計算部223を有する。
As illustrated in FIG. 16, the first
可変長復号部211には、Base−View符号化データ(Base−View側のビットストリーム)が入力される。Base−View符号化データが入力された可変長復号部211は、符号化装置100が用いた可変長符号化に対応する方式でBase−View符号化データに対する可変長復号を実行し、量子化データなどの情報を復元する。このとき、可変長復号部211は、SPS(Sequence Parameter Set)やPPS(Picture Parameter Set)などのヘッダ情報、マクロブロック毎の予測モードや動きベクトル、及び、差分係数などの情報も復元する。
The variable-
可変長復号部211により復元された予測モードなどの情報は、予測モード取得部213に入力される。また、可変長復号部211により復元されたヘッダ情報や差分係数などの情報は、統計情報取得部202に入力される。また、可変長復号部211により復元された量子化データは、逆直交変換・逆量子化部212に入力される。
Information such as the prediction mode restored by the variable
逆直交変換・逆量子化部212は、可変長復号部211から入力された量子化データを逆量子化して周波数成分のデータを復元する。また、逆直交変換・逆量子化部212は、周波数成分のデータに逆直交変換を施して予測誤差データを復元する。復元された予測誤差データは、加算器220に入力される。加算器220は、スイッチ219を介して入力されたMBデータと、逆直交変換・逆量子化部212により復元された予測誤差データとを加算して復号画像を生成する。
The inverse orthogonal transform /
加算器220により生成された復号画像は、フレームメモリ217に入力されると共に、復号結果として出力される。なお、復号画像にデブロッキングフィルタが施されるようにしてもよい。フレームメモリ217には、加算器220により入力された復号画像が格納される。フレームメモリ217に格納された復号画像は、動き補償部218により参照される。
The decoded image generated by the
予測モード取得部213は、マクロブロック毎に予測モード(イントラ予測モード、前方向予測モード、後方向予測モード、双方向予測モード、ダイレクトモード)を判定する。なお、ブロック分割サイズが予測モードに付加されていてもよい。なお、スイッチ214は、予測モードの判定結果に応じて切り替えられる。予測モードがイントラ予測モードである場合、イントラ予測部215が、イントラ予測を用いて対象のマクロブロックを復号する。予測モードが前方向予測モード、後方向予測モード、双方向予測モードのいずれかである場合、動きベクトル取得部216が、可変長復号部211により復元された動きベクトルの情報を取得する。
The prediction
予測モードがダイレクトモードである場合、基準ベクトル取得部222が、ColPicの復号時に用いた動きベクトルを動きベクトルメモリ221から取得する。また、基準ベクトル取得部222は、取得した動きベクトルを基準ベクトルbasemvColに設定する。基準ベクトル取得部222により設定された基準ベクトルbasemvColは、ダイレクトベクトル計算部223に入力される。ダイレクトベクトル計算部223は、基準ベクトルbasemvColをスケーリングしてダイレクトベクトルを計算する。
When the prediction mode is the direct mode, the reference
ダイレクトベクトル計算部223により計算されたダイレクトベクトルは、動きベクトルメモリ221に格納される。動きベクトルメモリ221に格納されたダイレクトベクトルは、動き補償部218により参照される。動き補償部218は、ダイレクトベクトル、又は、動きベクトル取得部216により取得された動きベクトルを用いて、フレームメモリ217に格納されている復号画像(参照ピクチャ)の動き補償を実行し、動き補償後のMBデータを生成する。動き補償後のMBデータは、スイッチ219を介して加算器220に入力される。
The direct vector calculated by the direct
上記のように、Base−View符号化データの復号は、非Base−View符号化データの復号とは独立して実行される。
(2−6−3.第2視点復号部203の細部)
ここで、図17を参照しながら、第2視点復号部203の機能について、さらに説明する。
As described above, decoding of Base-View encoded data is performed independently of decoding of non-Base-View encoded data.
(2-6-3. Details of second viewpoint decoding unit 203)
Here, the function of the second
図17に示すように、第2視点復号部203は、可変長復号部231、逆直交変換・逆量子化部232、予測モード取得部233、スイッチ234、及びイントラ予測部235を有する。また、第2視点復号部203は、動きベクトル取得部236、動き補償部237、フレームメモリ238、スイッチ239、及び加算器240を有する。さらに、第2視点復号部203は、動きベクトルメモリ241、基準ベクトル取得部242、基準ベクトル補正部243、及びダイレクトベクトル計算部244を有する。
As illustrated in FIG. 17, the second
可変長復号部231には、非Base−View符号化データ(非Base−View側のビットストリーム)が入力される。非Base−View符号化データが入力された可変長復号部231は、符号化装置100が用いた可変長符号化に対応する方式で非Base−View符号化データに対する可変長復号を実行し、量子化データなどの情報を復元する。このとき、可変長復号部231は、SPSやPPSなどのヘッダ情報、マクロブロック毎の予測モードや動きベクトル、及び、差分係数などの情報も復元する。
Non-Base-View encoded data (non-Base-View side bit stream) is input to the variable
可変長復号部231により復元された予測モードなどの情報は、予測モード取得部233に入力される。また、可変長復号部231により復元された量子化データは、逆直交変換・逆量子化部232に入力される。
Information such as the prediction mode restored by the variable
逆直交変換・逆量子化部232は、可変長復号部231から入力された量子化データを逆量子化して周波数成分のデータを復元する。また、逆直交変換・逆量子化部232は、周波数成分のデータに逆直交変換を施して予測誤差データを復元する。復元された予測誤差データは、加算器240に入力される。加算器240は、スイッチ239を介して入力されたMBデータと、逆直交変換・逆量子化部232により復元された予測誤差データとを加算して復号画像を生成する。
The inverse orthogonal transform /
加算器240により生成された復号画像は、フレームメモリ238に入力されると共に、復号結果として出力される。なお、復号画像にデブロッキングフィルタが施されるようにしてもよい。フレームメモリ238には、加算器240により入力された復号画像が格納される。フレームメモリ238に格納された復号画像は、動き補償部237により参照される。
The decoded image generated by the
予測モード取得部233は、マクロブロック毎に予測モード(イントラ予測モード、前方向予測モード、後方向予測モード、双方向予測モード、ダイレクトモード)を判定する。なお、ブロック分割サイズが予測モードに付加されていてもよい。なお、スイッチ234は、予測モードの判定結果に応じて切り替えられる。予測モードがイントラ予測モードである場合、イントラ予測部235が、イントラ予測を用いて対象のマクロブロックを復号する。予測モードが前方向予測モード、後方向予測モード、双方向予測モードのいずれかである場合、動きベクトル取得部236が、可変長復号部231により復元された動きベクトルの情報を取得する。
The prediction
予測モードがダイレクトモードである場合、基準ベクトル取得部242が、CurrMBの予測に用いる動きベクトルを動きベクトルメモリ241から取得する。また、基準ベクトル取得部242は、CurrMBの予測に用いる動きベクトルが視点間動きベクトルiMVであるか否かを判定する。
When the prediction mode is the direct mode, the reference
CurrMBの予測に用いる動きベクトルが視点間動きベクトルiMVである場合、基準ベクトル取得部242は、CurrMBと同位置にあるColPicのマクロブロック(ColMB)を特定する。そして、基準ベクトル取得部242は、第1視点復号部201の動きベクトルメモリ221からColMBの動きベクトルを取得する(図5を参照)。なお、ColPicは、CurrPicと同じ時刻(同POC)のBase−Viewピクチャである。この場合、基準ベクトル取得部242により取得された動きベクトルは、基準ベクトル補正部243に入力される。
When the motion vector used for CurrMB prediction is the inter-viewpoint motion vector iMV, the reference
一方、CurrMBの予測に用いる動きベクトルが視点間動きベクトルiMVでない場合、基準ベクトル取得部242は、CurrMBと同位置にあるColPicのマクロブロック(ColMB)を特定する。この場合、ColPicは、非Base−Viewピクチャである。また、基準ベクトル取得部242は、ColMBの予測に用いる動きベクトルが視点間動きベクトルiMVであるか否かを判定する。
On the other hand, when the motion vector used for CurrMB prediction is not the inter-viewpoint motion vector iMV, the reference
ColMBの予測に用いる動きベクトルが視点間動きベクトルiMVである場合、基準ベクトル取得部242は、ColMBの予測に用いる視点間動きベクトルiMVが指すBase−Viewピクチャのマクロブロック(RefMB)を特定する。そして、基準ベクトル取得部242は、第1視点復号部201の動きベクトルメモリ221からRefMBの動きベクトルを取得する(図4を参照)。この場合、基準ベクトル取得部242により取得された動きベクトルは、基準ベクトル補正部243に入力される。
When the motion vector used for the prediction of ColMB is the inter-view motion vector iMV, the reference
一方、ColMBの予測に用いる動きベクトルが視点間動きベクトルiMVでない場合、基準ベクトル取得部242は、CurrMBと同位置にあるColPicのマクロブロック(ColMB)を特定し、ColMBの動きベクトルを動きベクトルメモリ241から取得する(図2を参照)。この場合、基準ベクトル取得部242により取得された動きベクトルは、基準ベクトルbasemvColとしてダイレクトベクトル計算部244に入力される。
On the other hand, when the motion vector used for the prediction of ColMB is not the inter-viewpoint motion vector iMV, the reference
基準ベクトル補正部243は、統計情報取得部202から入力された統計情報に基づき、基準ベクトル取得部242から入力された動きベクトルを補正して基準ベクトルbasemvColを生成する。基準ベクトルbasemvColを生成する際に行う補正方法は、符号化装置100が符号化の際に行った補正方法と同じ方法である。基準ベクトル補正部243により生成された基準ベクトルbasemvColは、ダイレクトベクトル計算部244に入力される。
The reference
ダイレクトベクトル計算部244は、基準ベクトルbasemvColを時間配分でスケーリングし、CurrMBの動きベクトル(ダイレクトベクトル)を生成する。なお、スケーリングの方法は、符号化装置100が符号化の際に行ったスケーリング方法と同じ方法である。ダイレクトベクトル計算部244により生成されたダイレクトベクトルは、動きベクトルメモリ241に格納される。動きベクトルメモリ241に格納されたダイレクトベクトルは、動き補償部237により参照される。
The direct
動き補償部237は、ダイレクトベクトル、又は、動きベクトル取得部236により取得された動きベクトルを用いて、フレームメモリ238に格納されている復号画像(参照ピクチャ)の動き補償を実行し、動き補償後のMBデータを生成する。動き補償後のMBデータは、スイッチ239を介して加算器240に入力される。
The
上記のように、非Base−View符号化データの復号は、Base−View符号化データの復号結果を利用して実行される。
以上、復号装置200が有する機能について説明した。
As described above, the decoding of the non-Base-View encoded data is performed using the decoding result of the Base-View encoded data.
In the above, the function which the
[2−7.処理フロー]
次に、図18〜図20を参照しながら、符号化装置100が実行する符号化処理の流れについて説明する。
[2-7. Processing flow]
Next, the flow of the encoding process executed by the
図18は、第2実施形態に係る符号化処理の流れを示した第1のフロー図である。また、図19は、第2実施形態に係る符号化処理の流れを示した第2のフロー図である。また、図20は、第2実施形態に係る符号化処理の流れを示した第3のフロー図である。 FIG. 18 is a first flowchart showing the flow of the encoding process according to the second embodiment. FIG. 19 is a second flowchart showing the flow of the encoding process according to the second embodiment. FIG. 20 is a third flowchart showing the flow of the encoding process according to the second embodiment.
(2−7−1.全体)
図18を参照しながら、符号化処理の全体的な流れについて説明する。
なお、符号化対象のピクチャをCurrPic、符号化対象のマクロブロックをCurrMB、CurrMBの予測に用いる動きベクトルmvColが指すピクチャをColPicと表記する。また、視点間動きベクトルをiMV、基準ベクトルをbasemvCol、ダイレクトベクトルをmvL0、mvL1と表記する。また、CurrMBと同位置にあるColPic内のマクロブロックをColMB、ColMBの予測に用いる動きベクトルをmvRef、mvRefが指すピクチャをRefPicCol、iMVが指すブロックをiMBと表記する。
(2-7-1. Overall)
The overall flow of the encoding process will be described with reference to FIG.
The picture to be encoded is referred to as CurrPic, the macroblock to be encoded is referred to as CurrMB, and the picture pointed to by the motion vector mvCol used for CurrMB prediction is referred to as ColPic. Also, the inter-viewpoint motion vector is represented as iMV, the reference vector is represented as basemvCol, and the direct vector is represented as mvL 0 and mvL 1 . Also, a macroblock in ColPic located at the same position as CurrMB is denoted as ColMB, a motion vector used for prediction of ColMB is denoted as mvRef, a picture pointed to by mvRef is denoted as RefPicCol, and a block pointed to by iMV is denoted as iMB.
(S101)符号化装置100は、符号化方式がMVC方式であり、かつ、CurrPicが双方向予測を用いて符号化されるピクチャ(Bピクチャ)であるか否かを判定する。符号化方式がMVC方式であり、かつ、CurrPicがBピクチャである場合、処理はS102へと進む。一方、符号化方式がMVC方式でないか、CurrPicがBピクチャでない場合、処理はS108へと進む。
(S101) The
(S102)符号化装置100は、ColPicが他視点のピクチャであるか否かを判定する。ColPicが他視点のピクチャである場合(つまり、mvColが視点間動きベクトルiMVである場合)、処理はS103へと進む。一方、ColPicが他視点のピクチャでない場合、処理はS105へと進む。
(S102) The
(S103)符号化装置100は、視点間動きベクトルiMV(mvCol)を用いて基準ベクトルbasemvColを計算する。なお、基準ベクトルbasemvColの計算処理については後段において詳述する。
(S103) The
(S104)符号化装置100は、基準ベクトルbasemvColをスケーリングしてダイレクトベクトルmvL0、mvL1を計算する。例えば、符号化装置100は、図11、図12に示すような方法で基準ベクトルbasemvColをスケーリングする。S104の処理が完了すると、処理は、S108へと進む。
(S104) The
(S105)符号化装置100は、RefPicColが他視点のピクチャであるか否かを判定する。RefPicColが他視点のピクチャである場合(つまり、mvRefが視点間動きベクトルiMVである場合)、処理はS106へと進む。一方、RefPicColが他視点のピクチャでない場合、処理はS108へと進む。
(S105) The
(S106)符号化装置100は、視点間動きベクトルiMV(mvRef)を用いて基準ベクトルbasemvColを計算する。なお、基準ベクトルbasemvColの計算処理については後段において詳述する。
(S106) The
(S107)符号化装置100は、基準ベクトルbasemvColをスケーリングしてダイレクトベクトルmvL0、mvL1を計算する。例えば、符号化装置100は、図4に示すような方法で基準ベクトルbasemvColをスケーリングする。
(S107) The
(S108)符号化装置100は、CurrMBの予測に用いる好適な予測モードを判定する。例えば、符号化装置100は、5つの予測モード(イントラ予測モード、前方向予測モード、後方向予測モード、双方向予測モード、ダイレクトモード)のうち、符号化コストが最も小さくなる予測モードを選択して判定結果とする。
(S108) The
(S109)符号化装置100は、S108の処理で選択した予測モードを用いてCurrPicを符号化する。
(S110)符号化装置100は、CurrPicに含まれる全てのマクロブロック(1ピクチャ分)について符号化処理が終了したか否かを判定する。CurrPicに含まれる全てのマクロブロックについて符号化処理が終了した場合、図18に示した一連の処理は終了する。一方、CurrPicに含まれる全てのマクロブロックについて符号化処理が終了していない場合、処理はS102へと進む。
(S109) The
(S110) The
(2−7−2.基準ベクトルの計算)
ここで、図19を参照しながら、S103、S106の処理について、さらに説明する。
(2-7-2. Calculation of reference vector)
Here, the processing of S103 and S106 will be further described with reference to FIG.
(S121)符号化装置100は、視点間動きベクトルiMVが指すブロックiMBと、ブロックiMBの周辺に位置する周辺ブロックとの重なり面積を計算する。
(S122)符号化装置100は、S121の処理で計算した重なり面積が最も大きい周辺ブロックを選択するか否かを判定する。つまり、符号化装置100は、図13に示した基準ベクトルbasemvColの補正方法を採用するか否かを判定する。なお、採用する補正方法は予め設定されているものとする。重なり面積が最も大きい周辺ブロックを選択する場合、処理はS123へと進む。一方、重なり面積が最も大きい周辺ブロックを選択しない場合、処理はS124へと進む。
(S121) The
(S122) The
(S123)符号化装置100は、ブロックiMBの中心座標を含む周辺ブロックを特定する。そして、符号化装置100は、特定した周辺ブロックの動きベクトルを基準ベクトルbasemvColに設定する。なお、図13に関する説明では、周辺ブロック毎に重なり面積を計算し、重なり面積の最大値に対応する周辺ブロックを選択する方法を紹介したが、ブロックiMBの中心座標を含む周辺ブロックを特定する方法でも同様の結果を得ることができる。S123の処理が完了すると、図19に示した一連の処理は終了する。
(S123) The
(S124)符号化装置100は、iMBと周辺ブロックとの重なり面積に基づいて周辺ブロックの動きベクトルを加重平均する。例えば、符号化装置100は、上記の式(12)〜式(14)に基づいて加重平均を計算する。なお、加重平均の計算処理については後段において詳述する。
(S124) The
(S125)符号化装置100は、周辺ブロックの動きベクトルを加重平均して得られたベクトルを基準ベクトルbasemvColに設定する。S125の処理が完了すると、図19に示した一連の処理は終了する。
(S125) The
(2−7−3.加重平均の計算)
ここで、図20を参照しながら、S124の処理について、さらに説明する。
(S131)符号化装置100は、ブロックiMBと重なる周辺ブロックの1つを選択する。
(2-7-3. Calculation of weighted average)
Here, the processing of S124 will be further described with reference to FIG.
(S131) The
(S132)符号化装置100は、S131の処理で選択した周辺ブロックとブロックiMBとに関する重なり面積を取得する。
(S133)符号化装置100は、S132の処理で取得した重なり面積に基づいて評価値を計算する。例えば、符号化装置100は、上記の式(12)又は式(14)に基づいて評価値Costxyを計算する。
(S132) The
(S133) The
(S134)符号化装置100は、ブロックiMBと重なる周辺ブロックの全てを選択し、各周辺ブロックに関する評価値Costxyを計算したか否かを判定する。ブロックiMBと重なる周辺ブロックの全てを選択し終えている場合、処理はS135へと進む。一方、ブロックiMBと重なる周辺ブロックの全てを選択し終えていない場合、処理はS131へと進む。
(S134) The
(S135)符号化装置100は、S133の処理で計算した各周辺ブロックの評価値Costxyを用いて各周辺ブロックの予測に用いる動きベクトルの加重平均を計算する。例えば、符号化装置100は、上記の式(13)に基づいて加重平均を計算する。S135の処理が完了すると、図20に示した一連の処理は終了する。
(S135) The
以上、符号化装置100が実行する符号化処理の流れについて説明した。
以上説明したように、第2実施形態に係る技術を適用すれば、CurrPic及びColPicに視点間予測が適用されている場合であっても、時間ダイレクトモードを利用することが可能になる。その結果、多視点動画符号化における符号化効率の更なる向上に寄与する。
The flow of the encoding process executed by the
As described above, if the technique according to the second embodiment is applied, the temporal direct mode can be used even when inter-view prediction is applied to CurrPic and ColPic. As a result, this contributes to further improvement in encoding efficiency in multi-view video encoding.
以上、第2実施形態について説明した。
<3.第3実施形態>
次に、図21及び図22を参照しながら、第3実施形態について説明する。図21は、第3実施形態に係る符号化方法について説明するための第1の図である。図22は、第3実施形態に係る符号化方法について説明するための第2の図である。第3実施形態は、H.265/HEVC方式への適用例に相当し、視点間予測とマージモードとを組み合わせる仕組みを提供する。なお、H.265/HEVC方式では、予測符号化の単位としてPU(Prediction Unit)が用いられる。
The second embodiment has been described above.
<3. Third Embodiment>
Next, a third embodiment will be described with reference to FIGS. 21 and 22. FIG. 21 is a first diagram for describing an encoding method according to the third embodiment. FIG. 22 is a second diagram for describing the encoding method according to the third embodiment. The third embodiment is described in H.264. This corresponds to an application example to the H.265 / HEVC scheme, and provides a mechanism for combining inter-view prediction and merge mode. H. In the H.265 / HEVC scheme, a PU (Prediction Unit) is used as a predictive coding unit.
マージモードとは、符号化対象のPU(以下、CurrPU)の時間近傍及び空間近傍に位置するPUの中から、そのまま流用可能な動きパラメータを有するPUを選択し、選択したPUの動きパラメータを共通化する方法である。マージモードを適用すると、選択したPUの位置を示すインデックスだけを符号化すれば済むため、符号化効率の向上に寄与する。以下、H.265/HEVC方式で採用されている空間近傍予測、時間近傍予測、及びこれらの予測方法と視点間予測との関係などについて述べる。 In merge mode, a PU having a motion parameter that can be used as it is is selected from PUs located near the time and near the space of the encoding target PU (hereinafter referred to as CurrPU), and the motion parameters of the selected PU are shared. It is a method to convert. When the merge mode is applied, only the index indicating the position of the selected PU needs to be encoded, which contributes to improvement in encoding efficiency. Hereinafter, H.C. The spatial neighborhood prediction, temporal neighborhood prediction employed in the H.265 / HEVC scheme, and the relationship between these prediction methods and inter-viewpoint prediction will be described.
H.265/HEVC方式では、AMVP(Adaptive Motion Vector Prediction)と呼ばれる動きベクトルの予測技術が採用されている。AMVPでは、予測値の候補として、同一ピクチャ上にある空間近傍の動きベクトルだけでなく、符号化済みの参照ピクチャ上にある時間近傍の動きベクトルも考慮される。 H. In the H.265 / HEVC scheme, a motion vector prediction technique called AMVP (Adaptive Motion Vector Prediction) is employed. In AMVP, not only a spatial motion vector on the same picture but also a temporal motion vector on an encoded reference picture is considered as a prediction value candidate.
例えば、図21の(A)に示した画素A0、A1、B0、B1、B2のそれぞれを含むPUの動きベクトル(mvLA0、mvLA1、mvLB0、mvLB1、mvLB2)が空間近傍における予測値の候補となる。また、図21の(B)に示した画素C0、C1のそれぞれを含むPUの動きベクトル(mvLC0、mvLC1)が時間近傍における動きベクトルの候補となる。さらに、mvLA0、mvLA1から選ばれたmvLA、mvLB0、mvLB1、mvLB2から選ばれたmvLB、mvLC0、mvLC1から選ばれたmvLC、及びゼロベクトルの中から予測値の候補が絞り込まれる。 For example, the motion vector (mvL A0 , mvL A1 , mvL B0 , mvL B1 , mvL B2 ) of the PU including each of the pixels A 0 , A 1 , B 0 , B 1 , B 2 shown in FIG. Are candidates for predicted values near the space. Further, the motion vector (mvL C0 , mvL C1 ) of the PU including each of the pixels C 0 and C 1 shown in (B) of FIG. 21 is a motion vector candidate in the vicinity of time. Furthermore, mvL A0, mvL A selected from mvL A1, the mvL B0, mvL B1, mvL selected from mvL B2 B, mvL C0, mvL selected from mvL C1 C, and the predicted value from the zero vector Candidates are narrowed down.
このようにして絞り込まれた予測値の候補を利用してCurrPUの予測が行われる。ここで、時間近傍予測値の導出方法に注目する。H.265/HEVC方式では、時間近傍予測値(CurrPUの動きベクトル)の導出時に、H.264/AVC方式の時間ダイレクトモードと同様のスケーリング処理が行われる。 CurrPU prediction is performed using prediction value candidates narrowed down in this way. Here, attention is focused on the method for deriving the temporal neighborhood prediction value. H. In the H.265 / HEVC method, the H.264 / HEVC method uses H.264 when deriving a temporal neighborhood prediction value (CurrPU motion vector). The same scaling process as in the H.264 / AVC time direct mode is performed.
例えば、CurrPUと同位置(画素C1を含む位置)にある時間近傍ピクチャ(ColPic)内のPUを予測する動きベクトルmvColをスケーリングする処理が行われる。このとき、ColPicの対象PU(例えば、画素C1を含むPU)が参照する参照ピクチャとColPicとの距離td、CurrPUが参照する参照ピクチャとCurrPUを含むピクチャ(CurrPic)との距離tbが利用される。スケーリングの方法は、図2に例示した時間ダイレクトモードと同様である。 For example, the process of scaling a motion vector mvCol predicting the PU in time near the picture in CurrPU the same position (position including the pixel C 1) (ColPic) is performed. At this time, colPic the target PU (e.g., PU including the pixel C 1) the distance between the reference picture and colPic which refers td, the distance tb between the picture (CurrPic) including a reference picture and CurrPU which CurrPU references are utilized The The scaling method is the same as in the time direct mode illustrated in FIG.
CurrPUに視点間予測を適用する場合、図22のような状況が生じると考えられる。つまり、非Base−View(Dependent View)側のCurrPUが視点間動きベクトルiMVによりBase−ViewピクチャのColPU(例えば、画素D1を含むPU)を参照する。この場合、上記のスケーリング処理はできない。しかし、図11に例示した方法を適用すればスケーリング処理が可能になるため、時間近傍予測値を利用してCurrPUの動きベクトルを予測することが可能になる。その結果、H.265/HEVC方式においても符号化効率の向上が期待できる。 When applying inter-view prediction to CurrPU, the situation shown in FIG. 22 is considered to occur. That is, referring to non-Base-View (Dependent View) CurrPU is by interview motion vector iMV of Base-View picture side ColPU (e.g., PU including the pixel D 1). In this case, the above scaling process cannot be performed. However, since the scaling process can be performed by applying the method illustrated in FIG. 11, the CurrPU motion vector can be predicted using the temporal neighborhood prediction value. As a result, H.C. In the H.265 / HEVC system, an improvement in encoding efficiency can be expected.
以上、第3実施形態について説明した。
以上、添付図面を参照しながら好適な実施形態について説明したが、本発明は係る例に限定されない。当業者であれば、特許請求の範囲に記載された範疇内において、様々な変形例や修正例に想到し得ることは明らかであり、こうした変形例や修正例についても当然に本発明の技術的範囲に属することは言うまでもない。
The third embodiment has been described above.
As mentioned above, although preferred embodiment was described referring an accompanying drawing, this invention is not limited to the example which concerns. It is obvious for a person skilled in the art that various variations and modifications can be conceived within the scope of the claims, and such variations and modifications are naturally understood by the technical scope of the present invention. It goes without saying that it belongs to a range.
10 画像符号化装置
11 記憶部
12 演算部
21、22 動画像
Pic10、Pic11、Pic12、Pic13、Pic14、Pic15、Pic20、Pic21、Pic22、Pic23、Pic24、Pic25、ColPic 画像
CurrPic 対象画像
basemvCol0、basemvCol1、mvL0、mvL1 動き情報
mvCol 視点間動き情報
tbL0、tbL1、tdL0、tdL1 時間
10
Claims (8)
前記複数の動画像のうち第1の動画像に含まれる画像の中から、第2の動画像に含まれる同時刻の画像を参照する視点間動き情報を有する対象画像を検出し、前記同時刻の画像が有する動きベクトルを利用して前記対象画像の画像領域を符号化する演算部と、を有し、
前記演算部は、前記第1の動画像のうち前記対象画像の画像領域から参照される第1の参照画像と、該対象画像との間の第1の時間間隔、及び、前記第2の動画像のうち前記動きベクトルにより参照される第2の参照画像と、該同時刻の画像との間の第2の時間間隔に基づいて、前記画像領域の符号化に利用する前記動きベクトルの長さを調整する
画像符号化装置。 A storage unit storing a plurality of moving images respectively corresponding to a plurality of viewpoints;
Among the plurality of moving images, a target image having inter-viewpoint motion information that refers to an image at the same time included in the second moving image is detected from images included in the first moving image, and the same time using the motion vector having the image of have a, a calculating unit for encoding the image area of the target image,
The computing unit includes a first time interval between the first reference image referred to from the image area of the target image in the first moving image, and the target image, and the second moving image. The length of the motion vector used for encoding the image region based on a second time interval between a second reference image referred to by the motion vector in the image and the image at the same time the image coding apparatus that adjust the.
請求項1に記載の画像符号化装置。 The calculation unit specifies one or a plurality of image areas associated with the image area of the target image based on the inter-viewpoint movement information among the image areas included in the image at the same time, and the specified image area The image encoding device according to claim 1, wherein an image region of the target image is encoded based on a motion vector of the target image.
請求項2に記載の画像符号化装置。 When there are a plurality of image regions associated with the image region of the target image based on the inter-viewpoint movement information, the calculation unit selects the image region having the maximum size among the plurality of identified image regions, The image encoding device according to claim 2, wherein the image region of the target image is encoded based on the selected motion vector of the image region.
請求項2に記載の画像符号化装置。 When there are a plurality of image regions associated with the image region of the target image based on the inter-viewpoint motion information, the arithmetic unit sets a weight on the motion vector of the image region based on the specified size of the image region, The image encoding device according to claim 2, wherein the motion vector statistical information is generated in consideration of the set weight, and an image region of the target image is encoded based on the statistical information.
請求項2に記載の画像符号化装置。 When there are a plurality of image areas associated with the image area of the target image by the inter-viewpoint motion information, the arithmetic unit weights the motion vector of the image area based on the specified size and quantization information of the image area The image encoding device according to claim 2, wherein statistical information of the motion vector is generated in consideration of the set weight, and an image region of the target image is encoded based on the statistical information.
複数の視点にそれぞれ対応する複数の動画像が格納される記憶部から前記動画像を取得し、
前記複数の動画像のうち第1の動画像に含まれる画像の中から、第2の動画像に含まれる同時刻の画像を参照する視点間動き情報を有する対象画像を検出し、前記同時刻の画像が有する動きベクトルを利用して前記対象画像の画像領域を符号化し、
前記符号化の処理では、前記第1の動画像のうち前記対象画像の画像領域から参照される第1の参照画像と、該対象画像との間の第1の時間間隔、及び、前記第2の動画像のうち前記動きベクトルにより参照される第2の参照画像と、該同時刻の画像との間の第2の時間間隔に基づいて、前記画像領域の符号化に利用する前記動きベクトルの長さを調整する
画像符号化方法。 Computer
Obtaining the moving image from a storage unit storing a plurality of moving images respectively corresponding to a plurality of viewpoints ;
Among the plurality of moving images, a target image having inter-viewpoint motion information that refers to an image at the same time included in the second moving image is detected from images included in the first moving image, and the same time using the motion vector having the image of encoded image areas of the target image,
In the encoding process, a first time interval between a first reference image referred to from an image region of the target image in the first moving image and the target image, and the second Based on a second time interval between the second reference image referred to by the motion vector and the image at the same time, the motion vector used for encoding the image region Image coding method that adjusts the length .
前記符号化データを復号する処理の中で、前記複数の動画像のうち第1の動画像に含まれる画像の中から、第2の動画像に含まれる同時刻の画像を参照する視点間動き情報を有する対象画像を検出し、前記同時刻の画像が有する動きベクトルを利用して前記対象画像の画像領域を復号する演算部と、を有し、
前記演算部は、前記第1の動画像のうち前記対象画像の画像領域から参照される第1の参照画像と、該対象画像との間の第1の時間間隔、及び、前記第2の動画像のうち前記動きベクトルにより参照される第2の参照画像と、該同時刻の画像との間の第2の時間間隔に基づいて、前記画像領域の復号に利用する前記動きベクトルの長さを調整する
画像復号装置。 A storage unit that stores encoded data obtained by encoding a plurality of moving images respectively corresponding to a plurality of viewpoints;
Inter-viewpoint motion that refers to an image at the same time included in the second moving image from among the images included in the first moving image among the plurality of moving images in the process of decoding the encoded data detecting a target image having information, said using a motion vector image at the same time has to have a, a computing section for decoding the image area of the target image,
The computing unit includes a first time interval between the first reference image referred to from the image area of the target image in the first moving image, and the target image, and the second moving image. Based on the second time interval between the second reference image referred to by the motion vector in the image and the image at the same time, the length of the motion vector used for decoding the image region is adjustment to that image decoding apparatus.
複数の視点にそれぞれ対応する複数の動画像を符号化した符号化データが格納される記憶部から前記符号化データを取得し、
前記符号化データを復号する処理の中で、前記複数の動画像のうち第1の動画像に含まれる画像の中から、第2の動画像に含まれる同時刻の画像を参照する視点間動き情報を有する対象画像を検出し、前記同時刻の画像が有する動きベクトルを利用して前記対象画像の画像領域を復号し、
前記復号の処理では、前記第1の動画像のうち前記対象画像の画像領域から参照される第1の参照画像と、該対象画像との間の第1の時間間隔、及び、前記第2の動画像のうち前記動きベクトルにより参照される第2の参照画像と、該同時刻の画像との間の第2の時間間隔に基づいて、前記画像領域の復号に利用する前記動きベクトルの長さを調整する
画像復号方法。 Computer
Obtaining the encoded data from a storage unit storing encoded data obtained by encoding a plurality of moving images respectively corresponding to a plurality of viewpoints ;
Inter-viewpoint motion that refers to an image at the same time included in the second moving image from among the images included in the first moving image among the plurality of moving images in the process of decoding the encoded data A target image having information is detected, and an image region of the target image is decoded using a motion vector included in the image at the same time ;
In the decoding process, a first time interval between the first reference image that is referred to from the image area of the target image in the first moving image and the target image, and the second time The length of the motion vector used for decoding the image area based on the second time interval between the second reference image referred to by the motion vector and the image at the same time in the moving image Adjust image decoding method.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2013264961A JP6273828B2 (en) | 2013-12-24 | 2013-12-24 | Image coding apparatus, image coding method, image decoding apparatus, and image decoding method |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2013264961A JP6273828B2 (en) | 2013-12-24 | 2013-12-24 | Image coding apparatus, image coding method, image decoding apparatus, and image decoding method |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2015122606A JP2015122606A (en) | 2015-07-02 |
JP6273828B2 true JP6273828B2 (en) | 2018-02-07 |
Family
ID=53533893
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2013264961A Active JP6273828B2 (en) | 2013-12-24 | 2013-12-24 | Image coding apparatus, image coding method, image decoding apparatus, and image decoding method |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP6273828B2 (en) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
RU2809504C1 (en) * | 2019-06-21 | 2023-12-12 | Ханчжоу Хиквижен Диджитал Текнолоджи Ко., Лтд. | Method for obtaining required sub-block prediction value, decoding device, video data decoding device, electronic device and long-term information carrier |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2019088923A (en) * | 2019-03-15 | 2019-06-13 | 株式会社三洋物産 | Game machine |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP5747559B2 (en) * | 2011-03-01 | 2015-07-15 | 富士通株式会社 | Moving picture decoding method, moving picture encoding method, moving picture decoding apparatus, and moving picture decoding program |
KR20120118780A (en) * | 2011-04-19 | 2012-10-29 | 삼성전자주식회사 | Method and apparatus for encoding and decoding motion vector of multi-view video |
-
2013
- 2013-12-24 JP JP2013264961A patent/JP6273828B2/en active Active
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
RU2809504C1 (en) * | 2019-06-21 | 2023-12-12 | Ханчжоу Хиквижен Диджитал Текнолоджи Ко., Лтд. | Method for obtaining required sub-block prediction value, decoding device, video data decoding device, electronic device and long-term information carrier |
Also Published As
Publication number | Publication date |
---|---|
JP2015122606A (en) | 2015-07-02 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR102620625B1 (en) | Method for video decoding and computer readable redording meduim thereof | |
CN111385569B (en) | Coding and decoding method and equipment thereof | |
JP5747559B2 (en) | Moving picture decoding method, moving picture encoding method, moving picture decoding apparatus, and moving picture decoding program | |
JP3879741B2 (en) | Image information encoding apparatus and image information encoding method | |
KR101390620B1 (en) | Power efficient motion estimation techniques for video encoding | |
JP5248632B2 (en) | Techniques for motion estimation | |
KR20180081716A (en) | Adaptive Image Prediction Method and Apparatus Using Threshold in Image Coding System | |
JP2008252176A (en) | Motion picture encoder and encoding method | |
TWI738081B (en) | Methods and apparatuses of combining multiple predictors for block prediction in video coding systems | |
US8903184B2 (en) | Image-encoding method, image-encoding device, and computer-readable recording medium storing image-encoding program | |
JP2022548704A (en) | Image encoding/decoding method, apparatus and method for transmitting bitstream with PROF | |
TWI702828B (en) | Methods and apparatuses of generating average candidates in video coding systems | |
WO2015107887A1 (en) | Motion vector searching apparatus, motion vector searching method, and storage medium storing motion vector searching program | |
WO2011070730A1 (en) | Video coding device and video decoding device | |
WO2020137126A1 (en) | Image decoding device, image encoding device, image decoding method, and program | |
US11949874B2 (en) | Image encoding/decoding method and device for performing prof, and method for transmitting bitstream | |
JP6273828B2 (en) | Image coding apparatus, image coding method, image decoding apparatus, and image decoding method | |
JP6191296B2 (en) | Moving image processing apparatus, moving image processing method, and program | |
JP7251584B2 (en) | Image decoding device, image decoding method, and image decoding program | |
JP5407974B2 (en) | Video encoding apparatus and motion vector detection method | |
JP2022547988A (en) | Image encoding/decoding method, apparatus, and method for transmitting bitstream with BDOF | |
JP5513333B2 (en) | Moving picture coding apparatus, moving picture coding method, and program | |
JP7299362B2 (en) | Image decoding device, image encoding device, image decoding method and program | |
US20130215966A1 (en) | Image encoding method, image decoding method, image encoding device, image decoding device | |
JP2023107974A (en) | Image decoder, image encoder, image decoding method and program |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20160905 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20170417 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20170425 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20170626 |
|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20171212 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20171225 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 6273828 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |