JP2007110672A - Encoding method - Google Patents
Encoding method Download PDFInfo
- Publication number
- JP2007110672A JP2007110672A JP2006182515A JP2006182515A JP2007110672A JP 2007110672 A JP2007110672 A JP 2007110672A JP 2006182515 A JP2006182515 A JP 2006182515A JP 2006182515 A JP2006182515 A JP 2006182515A JP 2007110672 A JP2007110672 A JP 2007110672A
- Authority
- JP
- Japan
- Prior art keywords
- motion vector
- frame
- motion
- unit
- encoding
- 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.)
- Granted
Links
Images
Landscapes
- Compression Or Coding Systems Of Tv Signals (AREA)
- Compression, Expansion, Code Conversion, And Decoders (AREA)
Abstract
Description
本発明は、動画像を符号化する符号化方法に関する。 The present invention relates to an encoding method for encoding a moving image.
ブロードバンドネットワークが急速に発展しており、高品質な動画像を利用したサービスに期待が集まっている。また、DVDなど大容量の記録媒体が利用されており、高画質の画像を楽しむユーザ層が広がっている。動画像を通信回線で伝送したり、記録媒体に蓄積するために不可欠な技術として圧縮符号化がある。動画像圧縮符号化技術の国際標準として、MPEG4の規格やH.264/AVC規格がある。また、ひとつのストリームにおいて高画質のストリームと低画質のストリームを併せもつSVC(Scalable Video Codecのような次世代画像圧縮技術がある。 Broadband networks are rapidly developing, and there are high expectations for services that use high-quality moving images. In addition, a large-capacity recording medium such as a DVD is used, and a user group who enjoys high-quality images is expanding. There is compression coding as an indispensable technique for transmitting moving images via a communication line or storing them in a recording medium. As an international standard for moving image compression coding technology, the MPEG4 standard and H.264 standard. There is a H.264 / AVC standard. Further, there is a next-generation image compression technique such as SVC (Scalable Video Codec) in which a high-quality stream and a low-quality stream are combined in one stream.
高解像度の動画像をストリーム配信したり、記録媒体に蓄積する場合、通信帯域を圧迫しないように、あるいは、記憶容量が大きくならないように、動画ストリームの圧縮率を高める必要がある。動画像の圧縮効果を高めるために、動き補償フレーム間予測符号化が行われる。動き補償フレーム間予測符号化では、符号化対象フレームをブロックに分割し、既に符号化された参照フレームからの動きをブロック毎に予測して動きベクトルを検出し、差分画像とともに動きベクトル情報を符号化する。 When streaming a high-resolution moving image or storing it in a recording medium, it is necessary to increase the compression rate of the moving image stream so as not to compress the communication band or increase the storage capacity. In order to enhance the compression effect of moving images, motion compensation interframe predictive coding is performed. In motion-compensated interframe predictive coding, the encoding target frame is divided into blocks, the motion from a reference frame that has already been encoded is predicted for each block, a motion vector is detected, and motion vector information is encoded along with the difference image. Turn into.
特許文献1には、残差動きベクトルと残りフレーム数より予想される予測動きベクトルがフレーム間の動きベクトルの近傍に存在する場合、フレーム間の動きベクトルの近傍にある予測動きベクトルを動きベクトルとし、予測動きベクトルがフレーム間の動きベクトルの近傍に存在しないときは、フレーム間の動きベクトルを動きベクトルとする、動き補償予測符号化方式が記載されている。
H.264/AVC規格では、動き補償において、よりきめ細かな予測を行うために、動き補償のブロックサイズを可変にしたり、動き補償の画素精度を1/4画素精度まで細かくすることができるようになっており、動きベクトルに関する符号量が多くなる。また、次世代画像圧縮技術であるSVC(Scalable Video Coding)では、時間的スケーラビリティを高めるために、MCTF(Motion Compensated Temporal Filtering、動き補償時間方向フィルタ)技術が検討されている。これは、時間軸方向のサブバンド分割に動き補償を組み合わせたものであり、階層的な動き補償を行うため、動きベクトルの情報が非常に多くなる。このように最近の動画圧縮符号化技術では、動きベクトルに関する情報量が増えることにより動画ストリーム全体のデータ量が増大する傾向にあり、動きベクトル情報に起因する符号量を削減する技術が一層求められている。 H. In the H.264 / AVC standard, in order to perform more detailed prediction in motion compensation, the block size of motion compensation can be made variable, and the pixel accuracy of motion compensation can be reduced to ¼ pixel accuracy. Therefore, the amount of code related to the motion vector increases. In addition, in SVC (Scalable Video Coding), which is a next-generation image compression technology, MCTF (Motion Compensated Temporal Filtering) technology is being studied in order to improve temporal scalability. This is a combination of subband division in the time axis direction and motion compensation. Since hierarchical motion compensation is performed, information on motion vectors becomes very large. As described above, the recent video compression coding technology tends to increase the data amount of the entire video stream due to an increase in the amount of information related to motion vectors, and there is a further demand for a technology for reducing the amount of codes resulting from motion vector information. ing.
本発明はこうした状況に鑑みてなされたもので、その目的は、符号化効率が高い動画像の符号化技術を提供することにある。 The present invention has been made in view of such circumstances, and an object of the present invention is to provide a moving picture coding technique with high coding efficiency.
上記課題を解決するために、本発明のある態様の符号化方法は、動画像のピクチャを符号化する方法であって、符号化対象ピクチャ内の各ブロックに対して、参照ピクチャ内のブロックと符号化対象ピクチャ内のブロックとのマッチングによって求められる第1動きベクトルと、それ以外の方法で定義された少なくともひとつの第2動きベクトルとを含む複数の動きベクトルを準備し、該複数の動きベクトルの中から選択されたひとつの動きベクトルを定義する情報を動画像の符号化データに含める。 In order to solve the above problem, an encoding method according to an aspect of the present invention is a method for encoding a picture of a moving image, wherein each block in a current picture is encoded with a block in a reference picture. Preparing a plurality of motion vectors including a first motion vector obtained by matching with a block in an encoding target picture and at least one second motion vector defined by a method other than the first motion vector; The information defining one motion vector selected from the above is included in the encoded data of the moving image.
「ピクチャ」は符号化の単位であり、その概念にはフレーム、フィールド、VOP(Video Object Plane)などを含む。また、「符号化対象ピクチャ内の各ブロック」は、マクロブロックやオブジェクトなど一定の範囲に含まれる複数の画素からなり、動き補償予測時のマッチング対象となりうるものをいう。 “Picture” is a unit of encoding, and its concept includes a frame, a field, a VOP (Video Object Plane), and the like. Further, “each block in a picture to be encoded” refers to a block that includes a plurality of pixels included in a certain range, such as a macroblock and an object, and can be a matching target at the time of motion compensation prediction.
この態様によると、各ブロックについて準備された複数の動きベクトルの中からひとつの動きベクトルを選択するので、目的に応じた動きベクトルを用いて動画像の符号化を実行できる。
なお、動きベクトルの選択方法として、複数の動きベクトルをそれぞれ利用してピクチャ間予測を実行し、その結果得られる予測画像と原画像の差分である差分画像の符号量が最小となる動きベクトルを選択するようにしてもよい。これによれば、それぞれの動きベクトルを用いて求められた差分画像の符号量が最小となる動きベクトルを選択することで、動画像の符号化データのデータ量を削減して符号化効率を向上することができる。
According to this aspect, since one motion vector is selected from among a plurality of motion vectors prepared for each block, it is possible to encode a moving image using a motion vector according to the purpose.
As a motion vector selection method, inter-picture prediction is performed using each of a plurality of motion vectors, and a motion vector that minimizes the code amount of the difference image, which is the difference between the prediction image obtained as a result and the original image, is obtained. You may make it select. According to this, by selecting the motion vector that minimizes the code amount of the difference image obtained using each motion vector, the data amount of the encoded data of the moving image is reduced and the encoding efficiency is improved. can do.
第1の参照ピクチャを基準とする動きベクトルが求められている第2の参照ピクチャが存在する場合に、前記第2の動きベクトルは、前記第2の参照ピクチャ内のブロックの動きベクトルを利用して、前記符号化対象ピクチャ内のブロックについて求められるベクトルであってもよい。 When there is a second reference picture for which a motion vector based on the first reference picture is found, the second motion vector uses a motion vector of a block in the second reference picture. Thus, it may be a vector obtained for a block in the picture to be encoded.
これによると、先に動きベクトルが計算されている参照ピクチャの動きベクトルを利用して、符号化対象ピクチャの動きベクトルを表現するので、動きベクトルデータ自体の符号量を削減することができる。
一例として、「第1動きベクトル」は実施の形態における算出モード1のMVBに対応し、「第2動きベクトル」は実施の形態における算出モード2〜5の動きベクトルのいずれかに対応する。
According to this, since the motion vector of the encoding target picture is expressed using the motion vector of the reference picture for which the motion vector has been calculated previously, it is possible to reduce the code amount of the motion vector data itself.
As an example, “first motion vector” corresponds to MV B in
なお、第1動きベクトルと第2動きベクトルのうち、それぞれのベクトルを利用した結果得られる差分画像の符号量が小さい方の動きベクトルを選択するようにしてもよい。これによると、それぞれの動きベクトルを用いて求められた差分画像の符号量が最小となる動きベクトルを選択するので、動画像の符号化データのデータ量を削減して、符号化効率を向上することができる。 In addition, you may make it select the motion vector with the smaller code amount of the difference image obtained as a result of using each vector among a 1st motion vector and a 2nd motion vector. According to this, since the motion vector that minimizes the code amount of the difference image obtained using each motion vector is selected, the data amount of the encoded data of the moving image is reduced, and the encoding efficiency is improved. be able to.
第2の参照ピクチャ内のブロックとそのブロックに対応する参照動きベクトルとにしたがって、符号化対象ピクチャ内で動き補償予測の対象となるブロックを特定し、参照動きベクトルに、第2の参照ピクチャと符号化対象ピクチャ間の時間的距離に基づいた比例係数を乗じて、特定されたブロックの第2動きベクトルを算出してもよい。 According to the block in the second reference picture and the reference motion vector corresponding to the block, the block to be subjected to motion compensation prediction is specified in the encoding target picture, and the second reference picture The second motion vector of the identified block may be calculated by multiplying by a proportional coefficient based on the temporal distance between the encoding target pictures.
「時間的距離に基づいた比例係数」とは、ブロックが等速度運動または等加速度運動をしていると仮定したときに、参照ピクチャと符号化対象ピクチャの間の時間間隔とブロックの速度または加速度から求められる係数をいう。 “Proportional coefficient based on temporal distance” is the time interval between the reference picture and the current picture and the speed or acceleration of the block, assuming that the block is moving at constant velocity or acceleration. The coefficient obtained from
これによれば、比例係数のみで動きベクトルを定義できるので、動きベクトルデータの符号量をさらに削減することができる。 According to this, since the motion vector can be defined only by the proportional coefficient, the code amount of the motion vector data can be further reduced.
第1動きベクトルと第2動きベクトルの間のずれ量を推定した調整ベクトルを求め、調整ベクトルと第2動きベクトルとを合成した合成ベクトルが、複数の動きベクトルの中に含まれてもよい。これによれば、調整ベクトルを加えることで動き補償予測の精度が高まるので、動画像の符号化データのデータ量を削減することができる。 A plurality of motion vectors may include a combined vector obtained by obtaining an adjustment vector that estimates the amount of deviation between the first motion vector and the second motion vector and combining the adjustment vector and the second motion vector. According to this, since the accuracy of the motion compensation prediction is increased by adding the adjustment vector, the data amount of the encoded data of the moving image can be reduced.
符号化対象ピクチャについて選択された動きベクトルを新たな参照動きベクトルとして、別の符号化対象ピクチャの動きベクトルの定義に利用してもよい。これによれば、符号化対象ピクチャの動きベクトルを定義する際に、既に他の参照ピクチャの動きベクトルを利用して定義された動きベクトルを利用することで、符号化対象ピクチャの動きベクトルデータの符号量を削減することができ、動画像の符号化効率を高めることができる。 The motion vector selected for the encoding target picture may be used as a new reference motion vector for defining a motion vector of another encoding target picture. According to this, when the motion vector of the encoding target picture is defined by using the motion vector already defined using the motion vector of the other reference picture when defining the motion vector of the encoding target picture. The amount of codes can be reduced, and the coding efficiency of moving images can be increased.
符号化データに、複数の動きベクトルのうちいずれを使用したかを示すモード情報を含めてもよい。これによれば、モード情報と動きベクトルの比例係数および調整ベクトルが符号化データに存在すれば動きベクトルを定義できるので、動きベクトルデータの符号量削減することができる。 Mode information indicating which of a plurality of motion vectors is used may be included in the encoded data. According to this, since the motion vector can be defined if the proportional coefficient and the adjustment vector of the mode information and the motion vector exist in the encoded data, the code amount of the motion vector data can be reduced.
なお、以上の構成要素の任意の組み合わせ、本発明の表現を方法、装置、システム、記録媒体、コンピュータプログラムなどの間で変換したものもまた、本発明の態様として有効である。 It should be noted that any combination of the above-described constituent elements and a conversion of the expression of the present invention between a method, an apparatus, a system, a recording medium, a computer program, etc. are also effective as an aspect of the present invention.
本発明によれば、動きベクトルデータの符号量を削減することができる。 According to the present invention, the amount of code of motion vector data can be reduced.
図1は、実施の形態に係る符号化装置100の構成図である。これらの構成は、ハードウェア的には、任意のコンピュータのCPU、メモリ、その他のLSIで実現でき、ソフトウェア的にはメモリにロードされた画像符号化機能のあるプログラムなどによって実現されるが、ここではそれらの連携によって実現される機能ブロックを描いている。したがって、これらの機能ブロックがハードウェアのみ、ソフトウェアのみ、またはそれらの組み合わせによっていろいろな形で実現できることは、当業者には理解されるところである。
FIG. 1 is a configuration diagram of an
本実施の形態の符号化装置100は、国際標準化機関であるISO(International Organization for Standardization)/IEC(International Electrotechnical Commission)によって標準化されたMPEG(Moving Picture Experts Group)シリーズの規格(MPEG−1、MPEG−2およびMPEG−4)、電気通信に関する国際標準機関であるITU−T(International Telecommunication Union-Telecommunication Standardization Sector)によって標準化されたH.26xシリーズの規格(H.261、H.262およびH.263)、もしくは両方の標準化機関によって合同で標準化された最新の動画像圧縮符号化標準規格であるH.264/AVC(両機関における正式勧告名はそれぞれMPEG-4 Part 10: Advanced Video CodingとH.264)に準拠して動画像の符号化を行う。
The
MPEGシリーズの規格では、フレーム内符号化を行う画像フレームをI(Intra)フレーム、過去のフレームを参照画像として順方向のフレーム間予測符号化を行う画像フレームをP(Predictive)フレーム、過去と未来のフレームを参照画像として双方向のフレーム間予測符号化を行う画像フレームをBフレームという。 In the MPEG series standard, an image frame for intra-frame encoding is an I (Intra) frame, an image frame for forward inter-frame predictive encoding with a past frame as a reference image, a P (Predictive) frame, and past and future An image frame that performs bidirectional inter-frame predictive coding using this frame as a reference image is referred to as a B frame.
一方、H.264/AVCでは、参照画像として利用できるフレームは、時間の先後を問わず、過去の2枚のフレームを参照画像としてもよく、未来の2枚のフレームを参照画像としてもよい。また、参照画像として利用できるフレームの枚数も問わず、3枚以上のフレームを参照画像として用いることもできる。したがって、MPEG−1/2/4では、Bフレームは双方向予測(Bi-directional prediction)フレームのことを指していたが、H.264/AVCでは、Bフレームは、参照画像の時間の先後は問わないため、双予測(Bi-predictive prediction)フレームのことを指すことに留意する。 On the other hand, H. In H.264 / AVC, a frame that can be used as a reference image may be a past two frames as a reference image or a future two frames as a reference image regardless of the time. Further, three or more frames can be used as the reference image regardless of the number of frames that can be used as the reference image. Therefore, in MPEG-1 / 2/4, the B frame refers to a Bi-directional prediction frame. Note that in H.264 / AVC, the B frame refers to a bi-predictive prediction frame because the time of the reference image does not matter before and after.
なお、本願明細書では、フレームとピクチャを同じ意味で用いており、Iフレーム、Pフレーム、Bフレームは、それぞれIピクチャ、Pピクチャ、Bピクチャとも呼ばれている。
また、本願明細書では、符号化の単位としてフレームを例に挙げて説明するが、符号化の単位はフィールドであってもよい。また、符号化の単位はMPEG−4におけるVOPであってもよい。
In the specification of the present application, a frame and a picture are used in the same meaning, and an I frame, a P frame, and a B frame are also called an I picture, a P picture, and a B picture, respectively.
In this specification, a frame is used as an example of the encoding unit. However, the encoding unit may be a field. The unit of encoding may be a VOP in MPEG-4.
符号化装置100は、フレーム単位で動画像の入力を受け取り、動画像を符号化し、符号化ストリームを出力する。
The
ブロック生成部10は、入力された画像フレームをマクロブロックに分割する。画像フレームの左上から右下方向の順にマクロブロックが形成される。ブロック生成部10は生成したマクロブロックを差分器12と動き補償部60に供給する。
The
差分器12は、ブロック生成部10から供給される画像フレームがIフレームであれば、そのままDCT部20に出力するが、PフレームまたはBフレームであれば、動き補償部60から供給される予測画像との差分を計算してDCT部20に供給する。
If the image frame supplied from the
動き補償部60は、フレームメモリ80に格納されている過去または未来の画像フレームを参照画像として利用し、ブロック生成部10から入力されたPフレームまたはBフレームの各マクロブロックについて、誤差の最も小さい予測領域を参照画像から探索し、マクロブロックから予測領域へのずれを示す動きベクトルを求める。動き補償部60は、動きベクトルを用いてマクロブロック毎に動き補償を行い、予測画像を生成する。動き補償部60は、生成した動きベクトルを可変長符号化部90に供給し、予測画像を差分器12と加算器14に供給する。
The
動き補償部60では、双方向予測と片方向予測のいずれも適用可能である。動き補償部60は、片方向予測では、前方参照フレームに対する動きを示す順方向動きベクトルを生成する。双方向予測では、順方向動きベクトルに加えて、後方参照フレームに対する動きを示す逆方向動きベクトルの2つの動きベクトルを生成する。
The
差分器12は、ブロック生成部10から出力される現在の画像(つまり、符号化対象の画像)と、動き補償部60から出力される予測画像との差分を求め、DCT部20に出力する。DCT部20は、差分器12から与えられた差分画像を離散コサイン変換(DCT)し、DCT係数を量子化部30に与える。
The
量子化部30は、DCT係数を量子化し、可変長符号化部90に与える。可変長符号化部90は、動き補償部60から与えられた動きベクトルとともに差分画像の量子化されたDCT係数を可変長符号化し、符号化ストリームを生成する。可変長符号化部90は、符号化ストリームを生成する際、符号化されたフレームを時間順序に並べ替える処理を行う。
The
量子化部30は、画像フレームの量子化されたDCT係数を逆量子化部40に供給する。逆量子化部40は、与えられた量子化データを逆量子化し、逆DCT部50に与え、逆DCT部50は、与えられた逆量子化データを逆離散コサイン変換する。これにより、符号化された画像フレームが復元される。復元された画像フレームは加算器14に入力される。
The
加算器14は、逆DCT部50から供給される画像フレームがIフレームであれば、そのままフレームメモリ80に格納する。加算器14は、逆DCT部50から供給される画像フレームがPフレームまたはBフレームであれば、それは差分画像であるため、逆DCT部50から供給された差分画像と動き補償部60から供給される予測画像とを加算することにより、元の画像フレームを再構成し、フレームメモリ80に格納する。
If the image frame supplied from the
PフレームもしくはBフレームの符号化処理の場合は、上述のように動き補償部60が動作するが、Iフレームの符号化処理の場合は、動き補償部60は動作せず、ここでは図示しないが、Iフレームはフレーム内予測が行われた後、DCT部20に供給される。
In the case of P frame or B frame encoding processing, the
次に、従来の動きベクトルの計算について説明し、その後、本発明の一実施形態による動きベクトルの計算について説明する。 Next, conventional motion vector calculation will be described, and then motion vector calculation according to an embodiment of the present invention will be described.
図2は、従来の動きベクトルの計算を説明する図である。同図は、左から右を時間の流れとして5枚のフレームを表示時間順に示しており、Iフレーム201、B1フレーム202、B2フレーム203、B3フレーム204、Pフレーム205の順に表示がなされる。符号化の順序はこの表示順序とは異なり、まず同図のIフレーム201が符号化され、次に5番目のPフレーム205がIフレーム201を参照画像として動き補償が行われて符号化される。その後、B2フレーム203が符号化され、B1フレーム202、B3フレーム204の順に動き補償が行われて符号化される。
FIG. 2 is a diagram for explaining calculation of a conventional motion vector. The figure shows five frames in order of display time, with the flow from left to right as the time flow. The display is in the order of
Pフレームを符号化する際の参照フレームは、時間的に前のIフレームまたはPフレームを用いる。また、Bフレームを符号化する際の参照フレームは、前のIフレーム、または時間的に前後のPフレームを用いる。Pフレームの動き補償予測の場合、予測単位は例えば16×16のマクロブロックでありひとつの動きベクトルを利用する。また、Bフレームは、順方向、逆方向、双方向の予測のうち最適なものを選択して動き補償が行われる。なお、Iフレーム201はPフレームであってもよい。また、Pフレーム205はIフレームであってもよい。
As a reference frame for encoding a P frame, a temporally previous I frame or P frame is used. In addition, as the reference frame for encoding the B frame, the previous I frame or the temporally preceding and following P frames are used. In the case of P frame motion compensation prediction, the prediction unit is, for example, a 16 × 16 macroblock, and one motion vector is used. For the B frame, motion compensation is performed by selecting an optimal prediction from forward, backward and bidirectional predictions. The
現時点で、Iフレーム201、Pフレーム205の符号化が完了し、B1〜B3フレーム202〜204を符号化する段階であるとする。このB1〜B3フレーム202〜204を「符号化対象フレーム」と呼び、符号化対象フレームより前に表示されるIフレーム201を「前方参照フレーム」と、符号化対象フレームより後に表示されるPフレーム205を「後方参照フレーム」と呼ぶことにする。また、Pフレーム205の動きベクトルを「MVP」、B1〜B3フレームの動きベクトルを「MVB1〜MVB3」と表記する。
なお、図2では、二次元画像を一次元的に示しているが、実際の動きベクトルは画像の水平方向と垂直方向の二次元成分を持つ。
At this time, it is assumed that the encoding of the
In FIG. 2, the two-dimensional image is shown one-dimensionally, but the actual motion vector has two-dimensional components in the horizontal and vertical directions of the image.
図2に示すように、Pフレーム205内のマクロブロック215について、前方参照フレーム201のマクロブロック211を指し示す動きベクトルMVP225を求める。次に、符号化対象フレーム203内のマクロブロック213について、前方参照フレーム201または後方参照フレーム205のいずれかのマクロブロックを指し示す動きベクトルMVB2222を求める。図2では、前方参照フレーム201を指した場合を示す。続いて、符号化対象フレーム202内のマクロブロック212について、前方参照フレーム201または後方参照フレーム205のいずれかのマクロブロックを指し示す動きベクトルMVB1221を求める。
As shown in FIG. 2, a
これに対し、本実施の形態では、Bフレーム内の各マクロブロックに対して、異なる方法で定義された複数の動きベクトルを算出する。この算出には、既に動きベクトルが検出されている後方参照フレームの動きベクトルを利用する。これによって、Bフレームの動きベクトルデータの符号量を削減することができる。 On the other hand, in the present embodiment, a plurality of motion vectors defined by different methods are calculated for each macroblock in the B frame. For this calculation, a motion vector of a backward reference frame in which a motion vector has already been detected is used. Thereby, the code amount of the motion vector data of the B frame can be reduced.
さらに、本実施の形態では、複数の動きベクトルを利用してBフレームの動き補償を実行し予測画像を求め、予測画像と原画像との差分である差分画像の符号量が最小となる動きベクトルを選択する。これによって、動画像の符号化データの符号量を削減し、符号化効率を向上させることができる。 Furthermore, in the present embodiment, a motion vector that performs motion compensation of the B frame using a plurality of motion vectors to obtain a predicted image, and the code amount of the difference image that is the difference between the predicted image and the original image is minimized. Select. As a result, the code amount of the encoded data of the moving image can be reduced and the encoding efficiency can be improved.
図3は、本実施の形態に係る動き補償部60の構成を説明する図である。
動き補償部60は、後方参照フレーム205の動き補償を行ったときに、後方参照フレーム205の各マクロブロックの動きベクトルを検出しており、既に検出した後方参照フレーム205の動きベクトル情報を動きベクトル保持部61に保持する。
FIG. 3 is a diagram illustrating the configuration of the
The
動きベクトル計算部63は、後方参照フレーム205の動きベクトルの情報を動きベクトル保持部61から参照して、符号化対象フレーム202〜204内の各マクロブロックについて、異なる方法で定義された複数の動きベクトルを計算する。本実施の形態では、動きベクトルの定義を「算出モード」と表現する。この算出モードは、算出モード指定部62から動きベクトル計算部63に供給される。
The motion
動き補償予測部64は、算出モード毎に求められた動きベクトルを使用して動き補償を行い、予測画像を生成し、符号量推定部65、差分器12、加算器14に出力する。
The motion
符号量推定部65は、算出モード毎に、予測画像と原画像との差分である差分画像を符号化したときの符号量を推定する。推定した符号量は、算出モードに対応づけて符号量保持部66に保持される。
The code
動きベクトル選択部67は、符号量保持部66に保持された差分画像の符号量を比較し、符号量が最小となる動きベクトルを選択する。選択された動きベクトルの情報は、可変長符号化部90に出力される。動きベクトルの情報は、画像とともに可変長符号化されて符号化ストリームに含められる。
The motion
図4は、算出モード指定部62により指定される動きベクトルの算出モードの一例を示す。この実施の形態では、算出モード1〜6の6種類が定義されている。算出モード1では、符号化対象フレーム202〜204の動きベクトルMVBをそのまま使用する。算出モード2では、既に計算されている後方参照フレーム205の動きベクトルMVPに比例係数α0を乗じた動きベクトルを使用する。算出モード3では、算出モード2の動きベクトルに調整ベクトルβ0を加算した動きベクトルを使用する。算出モード4では、算出モード3の動きベクトル全体に対して比例係数α1を乗じた動きベクトルを使用する。算出モード5では、算出モード4の動きベクトルに調整ベクトルβ1を加算したベクトルを使用する。最後に、算出モード6では、後方参照フレーム205の動きベクトルMVPをそのまま使用する。
FIG. 4 shows an example of a motion vector calculation mode specified by the calculation
図5ないし図7を参照して、上述の算出モード1〜6にしたがって、B2フレーム203またはB1フレーム202を符号化対象フレームとしたときの動きベクトルの算出について説明する。なお、図5ないし図7は、従来の動きベクトルについて説明した図2と同じ符号を用いており、図2と共通する説明は省略する。
With reference to FIGS. 5 to 7, motion vector calculation when the
算出モード1は、従来の方法で検出される動きベクトルMVBである。図2を例とすれば、符号化対象フレーム203内のマクロブロック213について、誤差の最も小さい予測領域を前方参照フレーム201内からマッチングにより探索し、マクロブロック213から予測領域へのずれを示す動きベクトルMVB2を求める。
算出モード2は、既に動きベクトルが検出されている後方参照フレーム205内のマクロブロック(以下、「参照マクロブロック」ともいう)の動きベクトル(以下、「参照動きベクトル」ともいう)MVPを、フレーム間の時間的距離に比例して配分する方法である。このときの比例係数を「α0」で表す。
図5を参照すると、後方参照フレーム205内のマクロブロック215と、その参照動きベクトルMVP225とにしたがって、符号化対象フレーム203内で動き補償予測の対象となるマクロブロック214を特定する。そして、特定したマクロブロック214の動きベクトルを、α0・MVPとして算出する。
Referring to FIG. 5, the
なお、後方参照フレームのマクロブロックと、その動きベクトルとにしたがって、符号化対象フレーム内で動き補償予測の対象となるマクロブロックを特定するには、以下の手順で行う。まず、通常のブロックマッチングなどの手法により、符号化対象フレームのマクロブロックの動きベクトル(以下、この項において「通常動きベクトル」という)を求める。続いて、符号化対象フレーム上でこの通常動きベクトルが指している位置を含む一定の範囲を定める。そして、定めた範囲内を通過する、後方参照フレームの動きベクトルを抽出する。複数の動きベクトルが抽出された場合には、先に求めた通常動きベクトルが指している位置に最も近い位置を通過する動きベクトルを選択する。このようにして抽出または選択された動きベクトルが、符号化対象フレームのマクロブロックが参照すべき参照動きベクトルMVPと考えることができる。この参照動きベクトルMVPを基に、符号化対象フレームのマクロブロックの動きベクトルを算出する。 Note that the following procedure is used to identify a macroblock to be subject to motion compensation prediction within a coding target frame according to the macroblock of the backward reference frame and its motion vector. First, a motion vector of a macroblock of an encoding target frame (hereinafter referred to as “normal motion vector” in this section) is obtained by a method such as normal block matching. Subsequently, a certain range including the position pointed to by the normal motion vector on the encoding target frame is determined. Then, the motion vector of the backward reference frame that passes through the determined range is extracted. When a plurality of motion vectors are extracted, a motion vector that passes through a position closest to the position pointed to by the previously obtained normal motion vector is selected. Thus the motion vector extracted or selected and can be considered as reference motion vector MV P macroblock coding target frame is to be referred. Based on the reference motion vector MV P, and calculates the motion vector of the macroblock of the encoding target frame.
図8は、線形動きモデルにおいて、α0の値を具体的に説明する図である。後方参照フレーム205の参照マクロブロック215(図5参照)の動きベクトルMVPは、後方参照フレーム205と前方参照フレーム201との時間差tの間に、参照マクロブロック215が動く量と方向を示すものであるから、マクロブロックが等速度運動していると仮定する場合、すなわち線形動きモデルにしたがえば、符号化対象フレーム203の対象マクロブロック214は、符号化対象フレーム203と前方参照フレーム201の時間差trの間に、MVP×(tr/t)の動きを示すことが予測される。したがって、B1フレーム202ではα0=0.25、B2フレーム203ではα0=0.5、B3フレーム204ではα0=0.75となる。
FIG. 8 is a diagram specifically explaining the value of α 0 in the linear motion model. Motion vector MV P of the reference
線形動きモデル以外、例えば、マクロブロックが等加速度運動していると仮定してもよい。図9は、等加速度運動の場合のα0の値を示す。図9においては、α0は、フレーム間の時間間隔の二乗に比例した係数となる。つまり、B1フレーム202ではα0=0.0625、B2フレーム203ではα0=0.25、B3フレーム204ではα0=0.5625となる。
Other than the linear motion model, for example, it may be assumed that the macroblock is moving at a constant acceleration. FIG. 9 shows the value of α 0 in the case of uniform acceleration motion. In FIG. 9, α 0 is a coefficient proportional to the square of the time interval between frames. That, B 1 in the
算出モード3は、算出モード2で求めた動きベクトルα0・MVPに調整ベクトルβ0を加算した合成ベクトルを用いる。すなわち、α0・MVP+β0となる。
この調整ベクトルβ0は、算出モード1のMVBと算出モード2のα0・MVPとの誤差に相当する。すなわち、実際にはマクロブロックの動きの速度が複数フレーム間で一定であるとは限らないため、動きベクトル計算部63は、対象マクロブロック214の線形予測された移動位置と実際の移動位置との差分を表す調整ベクトルβ0を求める。
The
This adjustment vector β 0 corresponds to an error between MV B in calculation mode 1 and α 0 · MV P in calculation mode 2. That is, since the speed of the motion of the macroblock is not always constant between a plurality of frames, the motion
β0の算出方法としては、所定値を使用するか、または、近隣マクロブロックについて求めた誤差の平均値を使用してもよい。または、後述するように、α0とβ0を所与の範囲内で網羅的に探索して、最もマッチングのよいもの、すなわち、差分画像の符号量が最も少ないものを選択するようにしてもよい。 As a calculation method of β 0 , a predetermined value may be used, or an average value of errors obtained for neighboring macro blocks may be used. Alternatively, as will be described later, α 0 and β 0 are exhaustively searched within a given range, and the one with the best matching, that is, the one with the smallest code amount of the difference image may be selected. Good.
算出モード4は、算出モード3で求めた動きベクトルに、さらに比例係数「α1」を乗じて動きベクトルを算出する。これについて図6を参照して説明する。
現時点で、B2フレーム203のマクロブロック213について、算出モード3の動きベクトルα0・MVP+β0が算出済みであるとし、続いて、B1フレーム(符号化対象フレーム)202のマクロブロック216について動きベクトルを算出することを考える。
In the
At this time, it is assumed that the motion vector α 0 · MV P + β 0 in the
B2フレーム203のマクロブロックと動きベクトルにしたがって、符号化対象フレーム202の対応するマクロブロック216を特定する。このマクロブロック216の動きベクトルは、後方参照フレーム205の動きベクトルMVP225を基準としても考えられるし、B2フレーム203を後方参照フレームとして、動きベクトル(α0・MVP+β0)222を基準としても考えられる。このうち、前者については、算出モード1にしたがってα0・MVPで表すことができる。後者については、比例係数α1を用いて、
α1・(α0・MVP+β0)
と表すことができる。
According macroblock and motion vectors of the B 2 frame 203, to identify the corresponding
α 1・ (α 0・ MV P + β 0 )
It can be expressed as.
別の実施例として、算出モード1のMVB2を使用して、算出モード4の動きベクトルを、α1・MVB2と定義してもよい。こうすると、動きベクトル情報としてα0とβ0を符号化する必要がなくなるので、動きベクトル情報の符号量をさらに低下させることができる。
As another example, MV B2 in calculation mode 1 may be used to define the motion vector in
このように、ある符号化対象フレームについて符号量が最小になるとして選択された動きベクトルを、別の符号化対象フレームの動きベクトルの算出に利用することも可能である。 As described above, it is also possible to use a motion vector selected as having the smallest code amount for a certain encoding target frame for calculation of a motion vector of another encoding target frame.
算出モード5は、算出モード3と同様に、算出モード4で求めた動きベクトルα1・(α0・MVP+β0)に調整ベクトルβ1を加算した合成ベクトルを用いる。この調整ベクトルβ1は、算出モード1の動きベクトルMVB1と算出モード4の動きベクトルα1・(α0・MVP+β0)との誤差に相当する。調整ベクトルβ1は、β0と同様にして求められる。
つまり、算出モード5の動きベクトルは、以下のように表せる。
α1・(α0・MVP+β0)+β1
別の実施例として、算出モード1のMVB2を使用して、算出モード5の動きベクトルを、α1・MVB2+β1と定義してもよい。こうすると、動きベクトル情報としてα0とβ0を符号化する必要がなくなるので、動きベクトル情報の符号量をさらに低下させることができる。
Similar to the
That is, the motion vector in
α 1 · (α 0 · MV P + β 0 ) + β 1
As another example, MV B2 in calculation mode 1 may be used to define the motion vector in
算出モード6では、後方参照フレーム205の動きベクトルMVP225をそのまま使用する。
In the
可変長符号化部90は、算出モード1〜6にしたがった複数の動きベクトルのうちいずれを使用したかを示すモード情報を、符号化データに含める。
The variable-
なお、動きベクトル選択部67は、算出モード指定部62により指定された全ての算出モードについて、それぞれの算出モードの動きベクトルを利用して求めた差分画像の符号量を比較する代わりに、通常の手順で求められる動きベクトルMVBよりも差分画像の符号量が減少する場合にのみ、異なる算出モードにしたがった動きベクトルを選択するようにしてもよい。
Note that the motion
具体的には、まず、動き補償予測部64は、算出モード1にしたがって動きベクトルMVBを計算し、符号量推定部65は、動きベクトルMVBを利用して予測画像を生成したときの差分画像の符号量を算出する。続いて、動き補償予測部64は、算出モード2にしたがって動きベクトルα0・MVPを計算し、符号量推定部65は、動きベクトルα0・MVPを利用して予測画像を生成したときの差分画像の符号量を算出する。そして、2つの差分画像の符号量を比較して、算出モード2の動きベクトルα0・MVPの方が符号量が小さいときに、動きベクトル選択部67は算出モード2の動きベクトルを選択する。
Specifically, first, the motion
算出モード1の動きベクトルMVBの方が小さいときは、さらに動き補償予測部64は算出モード3にしたがって動きベクトルα0・MVP+β0を計算し、符号量推定部は、動きベクトルα0・MVP+β0を利用して予測画像を生成したときの差分画像の符号量を算出する。そして、算出モード1の場合と算出モード3の場合の差分画像の符号量を比較して、算出モード3の動きベクトルα0・MVP+β0の方が符号量が小さいときに、動きベクトル選択部67は算出モード3の動きベクトルを選択する。
以下、同様の計算および比較を、算出モード4、算出モード5についても実行する。比較演算は、算出モード1以外の動きベクトルが選択された時点で終了する。
When the motion vector MV B in the
Thereafter, the same calculation and comparison are performed for
これによって、符号化に要する演算量を抑制しつつ、動画像の符号化効率の高い動きベクトルを選択することができる。 As a result, it is possible to select a motion vector with high coding efficiency of a moving image while suppressing the amount of calculation required for coding.
図10は、最適動きベクトルの選択方法を示すフローチャートである。まず、動き補償部60は、後方参照フレーム205内の各マクロブロックについて、前方参照フレーム201を基準とする動きベクトルを計算し、得られた動きベクトルを動きベクトル保持部61に格納する(S10)。動きベクトル計算部63は、動きベクトル保持部61内の後方参照フレーム205内のマクロブロックの動きベクトルを利用して、符号化対象フレーム203の各マクロブロックについて、算出モード指定部62により指定された算出モードの動きベクトルを求める(S12)。動き補償予測部64は、算出モード毎に、S12で求めた動きベクトルを使用した場合の予測画像を計算する(S14)。符号量推定部65は、動き補償予測部64で計算された予測画像と原画像との差分である差分画像の符号量を推定する(S16)。この推定は、予め準備されている解析プログラムによって符号量を推定してもよいし、または、その差分画像を、DCT部20、量子化部30、可変長符号化部90を経由して実際に符号化した後に、その符号量についての情報を可変長符号化部90から受け取るようにしてもよい。推定された符号量は、算出モード毎に符号量保持部66に格納される。
FIG. 10 is a flowchart showing a method for selecting an optimal motion vector. First, the
そして、動きベクトル選択部67は、符号量保持部66内の符号量を比較して、符号量が最小である算出モードを決定し、当該算出モードにおいて計算された動きベクトルを選択する(S18)。動きベクトル選択部67は、選択した動きベクトルの算出モードに加えて、存在する場合は、比例係数α0、α1、調整ベクトルβ0、β1を可変長符号化部90に出力する(S20)。出力された算出モード、比例係数、調整ベクトルのデータは、符号化ストリームに含められる。
Then, the motion
図11は、算出モード3において、比例係数α、調整ベクトルβを可変とした場合に最適の組み合わせを求める方法の一例を示す。α、βについては、予め取りうる値の範囲が定められており、図11では、それぞれ、α0≦α≦αT、β0≦β≦βTであるとする。
FIG. 11 shows an example of a method for obtaining an optimum combination in the
まず動きベクトル計算部63は、αに初期値αSを代入し(S30)、続いてβに初期値βSを代入する(S32)。これらのα、βを使用して動きベクトルαMVP+βが作られ、符号量推定部65は、この動きベクトルを用いたときの差分画像の符号量を推定する(S34)。動きベクトル計算部63は、αが上限値αTを越えたか否かをチェックし(S36)、上限値以下であれば、続いて、βが上限値βTを越えたか否かをチェックする(S38)。βが上限値βTに達していなければ(S38のN)、予め定められている増分Bを現在値に加えた値を新たにβとする(S40)。βが上限値βTに達していれば(S38のY)、予め定められている増分Aを現在値に加えた値を新たにαとし(S42)、βを初期値β0に戻した動きベクトルについての計算を継続する。αが上限値αTに達すると(S36のY)、このルーチンを終了する。
First, the motion
これによって、α、βの組み合わせを変化させた動きベクトルを使用したときの、参照画像との差分誤差が最小となる動きベクトルを選択することができるため、動画像の符号量が削減され、符号化効率が向上する。 As a result, the motion vector that minimizes the difference error from the reference image when using a motion vector in which the combination of α and β is used can be selected, so that the code amount of the moving image is reduced, and the code Efficiency.
図12は、実施の形態に係る復号装置300の構成図である。これらの機能ブロックもハードウェアのみ、ソフトウェアのみ、またはそれらの組み合わせによっていろいろな形で実現することができる。
FIG. 12 is a configuration diagram of the
復号装置300は、符号化ストリームの入力を受け取り、符号化ストリームを復号して出力画像を生成する。
The
可変長復号部310は、入力された符号化ストリームを可変長復号し、復号された画像データを逆量子化部320に供給し、動きベクトル情報を動き補償部360に供給する。
The variable
逆量子化部320は、可変長復号部310により復号された画像データを逆量子化し、逆DCT部330に供給する。逆量子化部320により逆量子化された画像データはDCT係数である。逆DCT部330は、逆量子化部320により逆量子化されたDCT係数を逆離散コサイン変換(IDCT)することにより、元の画像データを復元する。逆DCT部330により復元された画像データは、加算器312に供給される。
The
加算器312は、逆DCT部330から供給された画像データがIフレームである場合、そのIフレームの画像データをそのまま出力するとともに、PフレームやBフレームの予測画像を生成するための参照画像として、フレームメモリ380に格納する。
When the image data supplied from the
加算器312は、逆DCT部330から供給された画像データがPフレームである場合、その画像データは差分画像であるから、逆DCT部330から供給された差分画像と動き補償部360から供給される予測画像を加算することにより、元の画像データを復元し出力する。
When the image data supplied from the
動き補償部360は、可変長復号部310から供給される動きベクトル情報と、フレームメモリ380に格納された参照画像を用いて、PフレームまたはBフレームの予測画像を生成し、加算器312に供給する。
The
図13は、動き補償部360の構成図である。以下、本実施の形態で符号化されたBフレームを復号するための動き補償部360の動作を説明する。動き補償部360は、後方参照フレームの動き補償を行ったときに、後方参照フレームの各マクロブロックの動きベクトルを検出しており、既に検出した後方参照フレームの動きベクトル情報やマクロブロックの情報を動きベクトル保持部364に保持しておく。
FIG. 13 is a configuration diagram of the
動きベクトル取得部361は、可変長復号部310から動きベクトル情報を取得する。この動きベクトル情報には、上述した算出モード、比例係数αおよび調整ベクトルβが含まれる。動きベクトル取得部361は、動きベクトル情報を動きベクトル計算部362に与える。算出モードを符号化ストリームに含めることによって、ひとつの符号化対象フレーム内に複数の算出モードが含まれていても、動き補償部360において、比例係数αおよび調整ベクトルβから元の動きベクトルを復元することができる。
The motion
動きベクトル計算部362は、動きベクトル保持部364から後方参照Pフレームのマクロブロックの動きベクトルを取得し、符号化対象フレームの動きベクトルを計算する。計算された動きベクトルは、動き補償予測部366に与えられるとともに、他のフレームの動きベクトルの計算に使用するために、動きベクトル保持部364に保持される。
The motion
動き補償予測部366は、受け取った動きベクトルを用いて符号化対象フレームの予測画像を生成して加算器312に出力する。
The motion
以上説明したように、本実施の形態によれば、符号化に際して使用する動きベクトルを予め複数用意しておき、参照画像との差分誤差が最小となる動きベクトルを選択するようにしたので、動画像の符号量が削減され、符号化効率が向上する。 As described above, according to the present embodiment, a plurality of motion vectors to be used for encoding are prepared in advance, and the motion vector that minimizes the difference error from the reference image is selected. The code amount of the image is reduced, and the encoding efficiency is improved.
また、先に動きベクトルが計算されている参照フレームの動きベクトルを利用して、符号化対象フレームの動きベクトルを表現するので、動きベクトルデータ自体の符号量を削減することができる。 In addition, since the motion vector of the encoding target frame is expressed using the motion vector of the reference frame for which the motion vector has been calculated previously, the code amount of the motion vector data itself can be reduced.
最近の高画質の圧縮符号化では、1/4画素精度での動きベクトルの探索が行われることが多く、動きベクトル情報の符号量が一掃増大する。本実施形態では、後方参照フレーム(Pフレーム)の動きベクトルを利用して、符号化対象フレーム(Bフレーム)の動きベクトルを予測するため、Bフレームについては、動きベクトルそのものを符号化する必要がなく、比例係数αと調整ベクトルβ、および動きベクトルの算出モードだけを符号化すればよい。しかも、αを等速度または等加速度で指定した場合には、αの値はフレーム間隔の比率で求められることから、αについても符号化する必要がなく、動きベクトル算出モードのみ符号化すれば十分である。 In recent high-quality compression coding, a search for a motion vector with 1/4 pixel accuracy is often performed, and the amount of code of motion vector information increases. In this embodiment, since the motion vector of the encoding target frame (B frame) is predicted using the motion vector of the backward reference frame (P frame), it is necessary to encode the motion vector itself for the B frame. Instead, only the proportional coefficient α, the adjustment vector β, and the motion vector calculation mode need be encoded. Moreover, when α is specified by constant velocity or constant acceleration, the value of α is obtained by the ratio of the frame interval, so it is not necessary to encode α, and it is sufficient to encode only the motion vector calculation mode. It is.
この方法によって、符号化に要する計算処理量は増加するが、効率の良い動きベクトルが求められるので、符号化ストリームのデータ量が削減され、動画像の符号化効率が向上する。 Although this method increases the amount of calculation processing required for encoding, an efficient motion vector is required, so that the data amount of the encoded stream is reduced and the encoding efficiency of moving images is improved.
なお、以上の説明では、Bフレームの順方向予測の場合について述べたが、逆方向予測についても、同様の手順で本実施形態を適用することができる。また、片方向の動き予測のみならず、双方向予測の場合にも、前方参照フレーム、後方参照フレームのそれぞれに対する動きを示す2つの独立した動きベクトルの符号化について、本実施形態を適用することができる。すなわち、順方向予測、逆方向予測のそれぞれについて、実施の形態と同様にして複数の動きベクトルを用意してやればよい。 In the above description, the case of forward prediction of the B frame has been described. However, the present embodiment can be applied to backward prediction in the same procedure. In addition, in the case of bidirectional prediction as well as unidirectional motion prediction, the present embodiment is applied to the encoding of two independent motion vectors indicating the motion for each of the forward reference frame and backward reference frame. Can do. That is, a plurality of motion vectors may be prepared for each of forward prediction and backward prediction in the same manner as in the embodiment.
また、ひとつの動きベクトルから順方向、逆方向の動きベクトルが線形予測されるダイレクトモードにおいても、生成される動きベクトルの符号化について、本実施形態を適用することができる。すなわち、ダイレクトモードの線形動きモデルにしたがって線形的に求められるベクトルに調整ベクトルβを加えた合成ベクトルを求めてやることで、複数の動きベクトルを用意することができる。 In addition, the present embodiment can be applied to encoding of generated motion vectors even in the direct mode in which forward and backward motion vectors are linearly predicted from one motion vector. That is, a plurality of motion vectors can be prepared by obtaining a combined vector obtained by adding the adjustment vector β to a vector obtained linearly according to a linear motion model in the direct mode.
以上、本発明を実施の形態をもとに説明した。実施の形態は例示であり、それらの各構成要素や各処理プロセスの組み合わせにいろいろな変形例が可能なこと、またそうした変形例も本発明の範囲にあることは当業者に理解されるところである。 The present invention has been described based on the embodiments. The embodiments are exemplifications, and it will be understood by those skilled in the art that various modifications can be made to combinations of the respective constituent elements and processing processes, and such modifications are within the scope of the present invention. .
上記の説明では、符号化装置100および復号装置300は、MPEGシリーズの規格(MPEG−1、MPEG−2およびMPEG−4)、H.26xシリーズの規格(H.261、H.262およびH.263)、もしくはH.264/AVCに準拠して動画像の符号化および復号を行ったが、本発明は、時間的スケーラビリティをもつ階層的な動画像の符号化および復号を行う場合にも適用することができる。特にMCTF技術を用いた場合の動きベクトルの符号化において、動きベクトルの符号量を削減するために本発明は有効である。
In the above description, the
上述した動きベクトルの算出モードは一例であって、他の方法によって定義された動きベクトルについても、最適の動きベクトルを選択する対象としてもよい。一例として、他のフレームについての動きベクトルをそのまま使用したり、または適当な係数をかけて使用してもよい。また、準備されている算出モードの全てを必ず使用する必要はない。算出モード指定部62は、計算処理量の大小やプロセッサの使用状況などに応じて、一部の算出モードの使用を許可したり制限したりして、動きベクトルの検出に要する計算量を調整するようにしてもよい。
The motion vector calculation mode described above is merely an example, and motion vectors defined by other methods may be selected as the target for selecting an optimal motion vector. As an example, motion vectors for other frames may be used as they are, or may be used by applying appropriate coefficients. Moreover, it is not always necessary to use all of the prepared calculation modes. The calculation
上記の説明では、符号化対象フレーム内の各マクロブロックについて、複数の動きベクトルの算出モードの中から差分画像の符号量を最小とする算出モードを決定することを述べた。しかしながら、マクロブロック単位でなくそれ以外のフレーム内の領域、例えば、符号化単位としてのスライスや、図示しないROI領域設定部が動画像上に設定する注目領域(Region of Interest:ROI)について、複数の動きベクトルの算出モードの中から差分画像の符号量を最小とする算出モードを決定するようにしてもよい。この場合の算出モードは、図4で示したのと同じものを使用できる。 In the above description, for each macroblock in the encoding target frame, the calculation mode that minimizes the code amount of the difference image is determined from among the plurality of motion vector calculation modes. However, a plurality of regions in the frame other than the macroblock unit, for example, a slice as an encoding unit and a region of interest (ROI) set on a moving image by a ROI region setting unit (not shown) The calculation mode that minimizes the code amount of the difference image may be determined from among the motion vector calculation modes. In this case, the same calculation mode as that shown in FIG. 4 can be used.
具体的には、動き補償部60は、後方参照フレーム205内のスライスまたは注目領域について、前方参照フレーム201を基準とする動きベクトルを計算し、得られた動きベクトルを動きベクトル保持部61に格納する。動きベクトル計算部63は、動きベクトル保持部61内の後方参照フレーム205内のスライスまたは注目領域の動きベクトルを利用して、符号化対象フレーム203の各スライスまたは注目領域について、算出モード指定部62により指定された算出モードの動きベクトルを求める。動き補償予測部64は、算出モード毎に、動きベクトル計算部63で求めた動きベクトルを使用した場合の予測画像を計算する。符号量推定部65は、動き補償予測部64で計算された予測画像と原画像との差分である差分画像の符号量を推定する。推定された符号量は、算出モード毎に符号量保持部66に格納される。
Specifically, the
そして、動きベクトル選択部67は、符号量保持部66内の符号量を比較して符号量が最小である算出モードを決定し、当該算出モードにおいて計算された動きベクトルを選択する。動きベクトル選択部67は、選択した動きベクトルの算出モードに加えて、存在する場合は、比例係数α0、α1、調整ベクトルβ0、β1を可変長符号化部90に出力する。出力された算出モード、比例係数、調整ベクトルのデータは、スライスまたは注目領域毎に符号化ストリームに含められる。
The motion
さらに、符号化対象フレーム内のマクロブロック毎に動きベクトルの算出モードを決定する代わりに、フレーム単位またはGOP単位で動きベクトルの算出モードを決定してもよい。この場合、以下の2つの手順がある。 Further, instead of determining the motion vector calculation mode for each macroblock in the encoding target frame, the motion vector calculation mode may be determined in frame units or GOP units. In this case, there are the following two procedures.
手順1.動き補償部60は、候補となる動きベクトルの算出モード毎に、フレーム単位またはGOP単位で符号化を実行する。つまり、ひとつの算出モードの動きベクトルを全てのマクロブロックまたはフレーム内領域について適用して符号化を実行する。この段階では符号化データを出力せず、符号化データの符号量のみを符号量保持部66に保持しておく。全ての動きベクトルの算出モードについて符号化データの符号量を計算した後、動きベクトル選択部67は、符号量が最小となる算出モードを選択する。そして、動き補償予測部64は、選択された動きベクトル算出モードにしたがって改めて符号化を実行し、この段階で符号化データが出力される。
手順2.動き補償部60は、候補となる動きベクトルの算出モード毎に、フレーム単位またはGOP単位で符号化を実行する。つまり、ひとつの算出モードの動きベクトルを全てのマクロブロックまたはフレーム内領域について適用して符号化を実行する。この段階では符号化データを出力しないが、符号化データそのものと符号化データの符号量とを符号量保持部66に保持しておく。全ての動きベクトルの算出モードについて符号化データの符号量を計算した後、動きベクトル選択部67は、符号量が最小となる算出モードを選択する。そして、選択された動きベクトル算出モードに対応する符号化データが符号量保持部66から出力される。
手順1、2のうち、動きベクトル算出モードの選択後に改めて符号化をし直す分だけ、手順1の方が手順2よりも符号化に要する計算量が多くなる。しかし、手順2の方は、動きベクトル算出モード毎に符号化データ自体と符号量とを保持しておく必要があるため、手順1より多くの記憶領域が必要となる。このように、手順1と手順2とはトレードオフの関係にあるので、状況に応じて適切な方を選択すればよい。
Of
さらに、上述のMCTF技術にしたがった符号化において、MCTFにより生成される符号化階層に含まれる複数のフレーム間の動きベクトルについて本発明の方法を適用することができる。 Furthermore, in the encoding according to the MCTF technique described above, the method of the present invention can be applied to motion vectors between a plurality of frames included in an encoding layer generated by MCTF.
これについて、図14を参照して説明する。図14は、4つのフレーム101〜104をMCTF技術にしたがって符号化する様子を表しており、各階層で出力される画像と動きベクトルとを示している。
This will be described with reference to FIG. FIG. 14 shows how four
図示しないMCTF処理部は、連続する二枚のフレーム101、102を順次取得して、高域フレーム111と低域フレーム112とを生成する。また、二枚のフレーム103、104を順次取得して高域フレーム113と低域フレーム114とを生成する。これらを階層1と称する。また、MCTF処理部は、二枚のフレーム101、102から動きベクトルMV1aを検出し、フレーム103、104から動きベクトルMV1bを検出する。
An MCTF processing unit (not shown) sequentially acquires two
また、MCTF処理部は、階層1の低域フレーム112、114からさらに高域フレーム121と低域フレーム122とを生成する。これらを階層2と称する。MCTF処理部は、二枚の低域フレーム112、114から動きベクトルMV0を検出する。
The MCTF processing unit further generates a high-
なお、図14では、説明を簡単にするためにフレーム単位で動きベクトルを検出しているが、マクロブロック単位で動きベクトルを検出してもよいし、ブロック(8×8画素または4×4画素)単位で動きベクトルを検出してもよい。 In FIG. 14, the motion vector is detected in units of frames for the sake of simplicity, but the motion vector may be detected in units of macroblocks, or blocks (8 × 8 pixels or 4 × 4 pixels). ) A motion vector may be detected in units.
図14に示すようなMCTFの階層があるとき、階層1の動きベクトルMV1aとMV1bの符号化に上記方法を適用する。階層1の動きベクトルMV1aとMV1bとは、時間上の距離が階層0の動きベクトルMV0の半分であるので、動きも半分と推定される。そこで、動きベクトルMV1aとMV1bとを以下の計算式で算出する。
MV1a=(1/2)・MV0+βa
MV1b=(1/2)・MV0+βb
ここで、βa、βbは予測値とのずれを表す調整ベクトルである。したがって、階層1の動きベクトルMV1aとMV1bを符号化する代わりに、階層0の動きベクトルMV0と調整ベクトルβa、βbを符号化すればよい。
When there is an MCTF layer as shown in FIG. 14, the above method is applied to encoding of the motion vectors MV 1a and MV 1b of
MV 1a = (1/2) · MV 0 + β a
MV 1b = (1/2) · MV 0 + β b
Here, β a and β b are adjustment vectors representing deviations from the predicted values. Therefore, instead of encoding the motion vectors MV 1a and MV 1b of the
なお、上記計算式から分かるように、階層0の動きベクトルMV0が求められるまで階層1を符号化することはできない。そこで、階層0の動きベクトルMV0を求めるまでの間、階層1の動きベクトル情報と差分情報とを保持しておく必要がある。
As can be seen from the above equation,
MCTFの階層が3段以上ある場合でも、階層0以外の階層における動きベクトルに対して本発明の方法を適用できる。
Even when there are three or more MCTF layers, the method of the present invention can be applied to motion vectors in layers other than
10 ブロック生成部、 12 差分器、 14 加算器、 20 DCT部、 30 量子化部、 40 逆量子化部、 50 逆DCT部、 60 動き補償部、 61 動きベクトル保持部、 62 算出モード指定部、 63 動きベクトル計算部、 64 動き補償予測部、 65 符号量推定部、 66 符号量保持部、 67 動きベクトル選択部、 80 フレームメモリ、 90 可変長符号化部、 100 符号化装置、 201 Iフレーム(前方参照フレーム)、 203 Bフレーム(符号化対象フレーム)、 205 Pフレーム(後方参照フレーム)、 300 復号装置、 310 可変長復号部、 312 加算器、 320 逆量子化部、 330 逆DCT部、 360 動き補償部、 361 動きベクトル取得部、 362 動きベクトル計算部、 364 動きベクトル保持部、 366 動き補償予測部、 380 フレームメモリ。 10 block generation units, 12 differentiators, 14 adders, 20 DCT units, 30 quantization units, 40 inverse quantization units, 50 inverse DCT units, 60 motion compensation units, 61 motion vector holding units, 62 calculation mode designating units, 63 motion vector calculation unit, 64 motion compensation prediction unit, 65 code amount estimation unit, 66 code amount holding unit, 67 motion vector selection unit, 80 frame memory, 90 variable length encoding unit, 100 encoding device, 201 I frame ( (Forward reference frame), 203 B frame (encoding target frame), 205 P frame (backward reference frame), 300 decoding device, 310 variable length decoding unit, 312 adder, 320 inverse quantization unit, 330 inverse DCT unit, 360 Motion compensation unit, 361 motion vector acquisition unit, 362 motion vector Calculation unit, 364 a motion vector holding unit, 366 a motion compensation prediction unit, 380 a frame memory.
Claims (7)
符号化対象ピクチャ内の各ブロックに対して、参照ピクチャ内のブロックと符号化対象ピクチャ内のブロックとのマッチングによって求められる第1動きベクトルと、それ以外の方法で定義された少なくともひとつの第2動きベクトルとを含む複数の動きベクトルを準備し、該複数の動きベクトルの中から選択されたひとつの動きベクトルを定義する情報を動画像の符号化データに含めることを特徴とする符号化方法。 A method of encoding a moving picture, comprising:
For each block in the picture to be encoded, a first motion vector obtained by matching the block in the reference picture and the block in the picture to be encoded, and at least one second defined by other methods An encoding method comprising: preparing a plurality of motion vectors including a motion vector, and including information defining one motion vector selected from the plurality of motion vectors in encoded data of a moving image.
前記第2動きベクトルは、前記第2の参照ピクチャ内のブロックの動きベクトルを利用して、前記符号化対象ピクチャ内のブロックについて求められるベクトルであることを特徴とする請求項1に記載の符号化方法。 When there is a second reference picture for which a motion vector based on the first reference picture is determined,
The code according to claim 1, wherein the second motion vector is a vector obtained for a block in the encoding target picture using a motion vector of the block in the second reference picture. Method.
前記参照動きベクトルに、前記第2の参照ピクチャと前記符号化対象ピクチャ間の時間的距離に基づいた比例係数を乗じて、特定されたブロックの第2動きベクトルを算出することを特徴とする請求項2に記載の符号化方法。 In accordance with a block in the second reference picture and a reference motion vector corresponding to the block, a block to be subjected to motion compensation prediction in the encoding target picture is specified,
The second motion vector of the identified block is calculated by multiplying the reference motion vector by a proportional coefficient based on a temporal distance between the second reference picture and the encoding target picture. Item 3. The encoding method according to Item 2.
前記調整ベクトルと前記第2動きベクトルとを合成した合成ベクトルが、前記複数の動きベクトルの中に含まれることを特徴とする請求項2または3に記載の符号化方法。 Obtaining an adjustment vector estimating an amount of deviation between the first motion vector and the second motion vector;
The encoding method according to claim 2 or 3, wherein a combined vector obtained by combining the adjustment vector and the second motion vector is included in the plurality of motion vectors.
参照ピクチャと符号化対象ピクチャとのマッチングによって求められる第1動きベクトルを定義する動きベクトル算出モードと、それ以外の方法で定義された少なくともひとつの第2動きベクトルを定義する動きベクトル算出モードとを含む複数の算出モードを準備し、該複数の算出モードの中からピクチャまたは複数のピクチャ単位でひとつの算出モードを選択し、選択した算出モードを表す情報を動画像の符号化データに含めることを特徴とする符号化方法。 A method of encoding a moving picture, comprising:
A motion vector calculation mode for defining a first motion vector obtained by matching a reference picture with a picture to be encoded, and a motion vector calculation mode for defining at least one second motion vector defined by other methods. Preparing a plurality of calculation modes including, selecting one calculation mode for each picture or a plurality of picture units from the plurality of calculation modes, and including information indicating the selected calculation mode in the encoded data of the moving image Characteristic encoding method.
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2006182515A JP4243286B2 (en) | 2005-09-14 | 2006-06-30 | Encoding method |
US11/520,859 US20070064809A1 (en) | 2005-09-14 | 2006-09-14 | Coding method for coding moving images |
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2005267646 | 2005-09-14 | ||
JP2006182515A JP4243286B2 (en) | 2005-09-14 | 2006-06-30 | Encoding method |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2007110672A true JP2007110672A (en) | 2007-04-26 |
JP4243286B2 JP4243286B2 (en) | 2009-03-25 |
Family
ID=38036138
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2006182515A Expired - Fee Related JP4243286B2 (en) | 2005-09-14 | 2006-06-30 | Encoding method |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP4243286B2 (en) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2009128208A1 (en) * | 2008-04-16 | 2009-10-22 | 株式会社日立製作所 | Dynamic image encoder, dynamic image decoder, dynamic image encoding method, and dynamic image decoding method |
WO2010064396A1 (en) * | 2008-12-03 | 2010-06-10 | 株式会社日立製作所 | Moving picture decoding method and moving picture encoding method |
-
2006
- 2006-06-30 JP JP2006182515A patent/JP4243286B2/en not_active Expired - Fee Related
Cited By (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2009128208A1 (en) * | 2008-04-16 | 2009-10-22 | 株式会社日立製作所 | Dynamic image encoder, dynamic image decoder, dynamic image encoding method, and dynamic image decoding method |
JPWO2009128208A1 (en) * | 2008-04-16 | 2011-08-04 | 株式会社日立製作所 | Moving picture encoding apparatus, moving picture decoding apparatus, moving picture encoding method, and moving picture decoding method |
WO2010064396A1 (en) * | 2008-12-03 | 2010-06-10 | 株式会社日立製作所 | Moving picture decoding method and moving picture encoding method |
JP5277257B2 (en) * | 2008-12-03 | 2013-08-28 | 株式会社日立製作所 | Video decoding method and video encoding method |
US9560368B2 (en) | 2008-12-03 | 2017-01-31 | Hitachi Maxell, Ltd. | Moving picture decoding method and moving picture encoding method |
US9906808B2 (en) | 2008-12-03 | 2018-02-27 | Hitachi Maxell, Ltd. | Moving picture decoding method and moving picture encoding method |
US10382775B2 (en) | 2008-12-03 | 2019-08-13 | Maxell, Ltd. | Moving picture decoding method and moving picture encoding method |
US10764599B2 (en) | 2008-12-03 | 2020-09-01 | Maxell, Ltd. | Moving picture decoding method and moving picture encoding method |
US11134263B2 (en) | 2008-12-03 | 2021-09-28 | Maxell, Ltd. | Moving picture decoding method and moving picture encoding method |
US11546627B2 (en) | 2008-12-03 | 2023-01-03 | Maxell, Ltd. | Moving picture decoding method and moving picture encoding method |
Also Published As
Publication number | Publication date |
---|---|
JP4243286B2 (en) | 2009-03-25 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US8665960B2 (en) | Real-time video coding/decoding | |
JP3072035B2 (en) | Two-stage video film compression method and system | |
JP5061179B2 (en) | Illumination change compensation motion prediction encoding and decoding method and apparatus | |
US20070025444A1 (en) | Coding Method | |
US20070025442A1 (en) | Coding method for coding moving images | |
US20070064809A1 (en) | Coding method for coding moving images | |
US20070047649A1 (en) | Method for coding with motion compensated prediction | |
JP4401336B2 (en) | Encoding method | |
JP2008011455A (en) | Coding method | |
JP2007329693A (en) | Image encoding device and method | |
JP2006279573A (en) | Encoder and encoding method, and decoder and decoding method | |
KR20070011225A (en) | Method and apparatus for minimizing number of reference pictures used for inter-coding | |
JP2007266749A (en) | Encoding method | |
US20070160143A1 (en) | Motion vector compression method, video encoder, and video decoder using the method | |
JP7343817B2 (en) | Encoding device, encoding method, and encoding program | |
US20110170599A1 (en) | Method of coding, decoding, coder and decoder | |
JP2007036888A (en) | Coding method | |
US8194740B2 (en) | Apparatus and method for compression-encoding moving picture | |
JP2004215275A (en) | Motion compensation based improved noise prediction method and apparatus, and moving image encoding method and apparatus using the same | |
JP2007036889A (en) | Coding method | |
JP4243286B2 (en) | Encoding method | |
JP4401341B2 (en) | Encoding method | |
JP4169767B2 (en) | Encoding method | |
JP2007036887A (en) | Coding method | |
JP4243205B2 (en) | Moving picture coding apparatus, method and program thereof |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20070918 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20080404 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20080415 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20080529 |
|
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: 20081202 |
|
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20081226 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120109 Year of fee payment: 3 |
|
R151 | Written notification of patent or utility model registration |
Ref document number: 4243286 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R151 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120109 Year of fee payment: 3 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130109 Year of fee payment: 4 |
|
LAPS | Cancellation because of no payment of annual fees |