JP6311821B2 - Moving image processing apparatus and moving image processing method - Google Patents
Moving image processing apparatus and moving image processing method Download PDFInfo
- Publication number
- JP6311821B2 JP6311821B2 JP2017082299A JP2017082299A JP6311821B2 JP 6311821 B2 JP6311821 B2 JP 6311821B2 JP 2017082299 A JP2017082299 A JP 2017082299A JP 2017082299 A JP2017082299 A JP 2017082299A JP 6311821 B2 JP6311821 B2 JP 6311821B2
- Authority
- JP
- Japan
- Prior art keywords
- block
- processing
- unit
- parallel
- quantization parameter
- 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
Landscapes
- Compression Or Coding Systems Of Tv Signals (AREA)
Description
本発明は、各ピクチャを複数のブロックに分割してブロックごとに処理する動画像処理装置及び動画像処理方法に関する。 The present invention relates to a moving image processing apparatus and a moving image processing method for dividing each picture into a plurality of blocks and processing each block.
近年の動画像符号化では、画像をブロックに分割し、ブロックに含まれる画素を予測して予測差分を符号化することで高い圧縮率を達成している。符号化対象のピクチャ内の画素から予測画素を構成する予測モードをイントラ予測といい、動き補償と呼ばれる過去に符号化した参照画像から予測画素を構成する予測モードをインター予測という。 In recent video coding, a high compression rate is achieved by dividing an image into blocks, predicting pixels included in the block, and coding a prediction difference. A prediction mode that configures a prediction pixel from pixels in a picture to be encoded is called intra prediction, and a prediction mode that configures a prediction pixel from a previously encoded reference image called motion compensation is called inter prediction.
動画像符号化装置において、インター予測では、予測画素として参照する領域を動きベクトルという水平成分・垂直成分の2次元座標データで表現し、動きベクトルと画素の予測差分データを符号化する。動きベクトルは、その符号量を抑えるため、符号化対象ブロックに隣接するブロックの動きベクトルから予測ベクトルを生成し、動きベクトルと予測ベクトルとの差分ベクトルを符号化する。 In the inter-prediction apparatus, in inter prediction, a region referred to as a prediction pixel is expressed by two-dimensional coordinate data of horizontal and vertical components called motion vectors, and motion vector and pixel prediction difference data are encoded. In order to suppress the coding amount of the motion vector, a prediction vector is generated from a motion vector of a block adjacent to the encoding target block, and a difference vector between the motion vector and the prediction vector is encoded.
MPEG(Moving Picture Experts Group)−4 AVC/H.264(以下、H.264ともいう)、規格化作業中のHEVC(High Efficiency Video Coding)に代表される動画像標準規格では、各ブロックはラスタ順序でアドレスづけされて、処理順序はそのアドレスの順序で規定される。 MPEG (Moving Picture Experts Group) -4 AVC / H.M. In H.264 (hereinafter also referred to as H.264), a moving picture standard represented by HEVC (High Efficiency Video Coding) under normalization, each block is addressed in a raster order, and the processing order is the address of the address. Specified in order.
動画像符号化・復号処理では、1秒あたりの処理画素数が膨大で、特に動き補償や直交変換などに、高い演算性能が必要となるため、並列化処理が重要である。動画像符号化においては、上記した予測ベクトルのように処理済みの周辺ブロックから各種予測値を算出するために、ブロック間に依存関係が存在する。よって、ブロックごとに並列処理を行うことは難しい。 In the moving image encoding / decoding process, the number of pixels processed per second is enormous, and high calculation performance is particularly required for motion compensation and orthogonal transformation. Therefore, parallel processing is important. In moving picture coding, there is a dependency relationship between blocks in order to calculate various prediction values from peripheral blocks that have been processed like the above-described prediction vectors. Therefore, it is difficult to perform parallel processing for each block.
標準規格上の処理順序やブロックの依存関係に影響を与えずに、ブロックごとの並列処理を達成する手法として、処理ブロックの水平位置をずらしながらブロックラインごとに並列処理する方法が挙げられる。 As a technique for achieving parallel processing for each block without affecting the processing order and block dependency on the standard, there is a method for performing parallel processing for each block line while shifting the horizontal position of the processing block.
以下では、このような並列化処理をブロックライン並列処理と呼ぶこととする。次に、2ブロックラインのブロックライン並列処理を行う場合に関して簡単に説明する。 Hereinafter, such parallel processing will be referred to as block line parallel processing. Next, the case of performing block line parallel processing of two block lines will be briefly described.
動画像処理装置は、ブロックラインを並列処理するため、ブロックライン単位に処理する処理ユニットを持ち、ユニット1とユニット2とする。例えばユニット1は、奇数ブロックライン、ユニット2は、偶数ブロックラインを処理する。
The moving image processing apparatus has processing units for processing block lines in order to process block lines in parallel. For example,
図1は、ブロックライン並列処理を説明するための図である。図1に示すように、ユニット1が処理する1番目のブロックライン(1ブロックライン目)のブロックの水平アドレスと、ユニット2が処理する2番目のブロックライン(2ブロックライン目)のブロックの水平アドレスとを2ブロック以上ずらす。
FIG. 1 is a diagram for explaining block line parallel processing. As shown in FIG. 1, the horizontal address of the block of the first block line (first block line) processed by the
これにより、ユニット2の処理ブロックXに注目すると、その処理ブロックXの左ブロックAとともに、ユニット1が処理する左上ブロックBと上ブロックCと右上ブロックDは処理済みである。ブロックXでは、これらの処理済みブロックの符号化結果を利用することができる。
Accordingly, when attention is paid to the processing block X of the
例えば、奇数ブロックラインの終了を待たずに、偶数ブロックラインの処理を開始できるため、動き予測や直交変換などの処理に関して並列化を達成することができる。以上では、2ブロックライン並列処理の場合を説明したが、Nブロックライン並列処理にした場合も、動画像処理装置に対し、Nブロックライン単位にN個のユニットを割り当てればよい。 For example, since processing of even block lines can be started without waiting for the end of odd block lines, parallelization can be achieved with respect to processing such as motion prediction and orthogonal transformation. In the above, the case of parallel processing of two block lines has been described. However, in the case of parallel processing of N block lines, N units may be allocated to the moving image processing apparatus in units of N block lines.
なお、プログラムとしてブロックライン並列処理を実行する場合、処理ユニットは、スレッドとしてもよいし、CPU(Central Processing Unit)としてもよい。 When executing block line parallel processing as a program, the processing unit may be a thread or a CPU (Central Processing Unit).
H.264では、エントロピー符号化に関しては、出力ビット系列の順序を、標準規格上の処理ブロックの順序で処理する。そのため、動画像処理装置は、上記のブロックライン並列処理を行った結果を一旦保存し、標準規格上の処理ブロックの順序でエントロピー符号化処理する。 H. In H.264, with respect to entropy coding, the order of output bit sequences is processed in the order of processing blocks according to the standard. Therefore, the moving image processing apparatus temporarily stores the result of the above-described block line parallel processing, and performs entropy encoding processing in the order of processing blocks according to the standard.
これに対し、HEVCにおいては、出力ビット系列の順序をブロックラインごとにインターリーブする技術が開示されている。図2は、HEVCにおけるエントロピー処理部のブロックライン並列処理を説明するための図である。図2に示すように、エントロピー符号化・復号処理に関しても、ブロックラインごとに並列化処理を行うことができる。 On the other hand, HEVC discloses a technique for interleaving the order of output bit sequences for each block line. FIG. 2 is a diagram for explaining block line parallel processing of an entropy processing unit in HEVC. As shown in FIG. 2, parallel processing can be performed for each block line also for entropy encoding / decoding processing.
H.264やHEVCに代表される動き補償と直交変換処理(例えばDCT(Discrete Cosine Transform))とを組み合わせたハイブリッド符号化方式では、画像をブロックに分割し、各ブロックの予測画素を生成し、原画素と予測画素の差分画素に対して、DCTなどの直交変換を行い、直交変換の出力係数を量子化することで、圧縮を実現する。 H. In a hybrid coding method that combines motion compensation typified by H.264 and HEVC and orthogonal transform processing (for example, DCT (Discrete Cosine Transform)), an image is divided into blocks, and predicted pixels of each block are generated, and original pixels are generated. The compression is realized by performing orthogonal transformation such as DCT on the difference pixel between the prediction pixel and the prediction pixel, and quantizing the output coefficient of the orthogonal transformation.
情報量を制御するために、量子化の精度を調整する量子化パラメータ(QP(Quantization Parameter)とも呼ぶ)を用意し、ブロックごとにQP値を符号化する。 In order to control the amount of information, a quantization parameter (also called a QP (Quantization Parameter)) for adjusting the accuracy of quantization is prepared, and a QP value is encoded for each block.
ただし、変換係数が全て0のブロックの場合、逆量子化した結果も全て0となり、復号処理においてQPを必要としないため、このような場合には、このQPは無効となり、QP値は符号化されない。 However, when the transform coefficient is a block of all 0, the result of inverse quantization is also all 0, and no QP is required in the decoding process. In such a case, this QP is invalid and the QP value is encoded. Not.
各ブロックで、QPの予測値(QP予測値とも呼ぶ)が生成されるため、処理ブロックのQPが無効となった場合、処理ブロックのQP値は、QPの予測値に設定される。ブロックごとのQP値の決定方法としては、非特許文献4に記載されたTM5で用いられるアルゴリズムが知られている。 Since a predicted value of QP (also referred to as a QP predicted value) is generated in each block, when the QP of the processing block becomes invalid, the QP value of the processing block is set to the predicted value of QP. As a method for determining a QP value for each block, an algorithm used in TM5 described in Non-Patent Document 4 is known.
H.264やHEVCにおける、QP値の符号化方法は、処理ブロックのQP値とQP予測値との差分値QP_DELTAを符号化する。QP予測値は、例えば、ラスタ順序で処理ブロックの直前のQP値であるQPprevである。QP_DELTAは、次の式(1)で算出される。
QP_DELTA=QP−QPprev ・・・式(1)
動画像復号装置は、動画像符号化装置においてエントロピー符号化されたQP_DELTAを復号し、式(2)においてQP値を復元する。
QP=QP_DELTA+QPprev ・・・式(2)
処理ピクチャの最初のブロックなど直前のブロックが存在しない場合、QPprevは、最初のブロックの処理に先だって決定することができる値とすればよい。例えば、H.264においては、ピクチャ先頭ブロックのQPprevは、Sliceというヘッダ情報に記載されたSliceQP値となる。
H. The encoding method of the QP value in H.264 or HEVC encodes the difference value QP_DELTA between the QP value of the processing block and the QP prediction value. The QP prediction value is, for example, QPprev that is a QP value immediately before the processing block in the raster order. QP_DELTA is calculated by the following equation (1).
QP_DELTA = QP−QPprev (1)
The moving image decoding apparatus decodes the QP_DELTA that has been entropy-coded in the moving image encoding apparatus, and restores the QP value in Equation (2).
QP = QP_DELTA + QPprev (2)
If there is no previous block such as the first block of the processed picture, QPprev may be a value that can be determined prior to processing of the first block. For example, H.M. In H.264, the QPprev of the picture head block is the SliceQP value described in the header information called Slice.
また、H.264やHEVCでは、直交変換の量子化以外にも、デブロッキングフィルタのフィルタ強度決定に、各ブロックのQP値を使用する。無効になったQPは、動画像復号装置に通知されないため、QPが無効になったブロックのQP値は、QPprevとして処理される。 H. In H.264 and HEVC, in addition to orthogonal transform quantization, the QP value of each block is used to determine the filter strength of the deblocking filter. Since the invalidated QP is not notified to the video decoding device, the QP value of the block in which the QP is invalidated is processed as QPprev.
ここで、ブロックライン並列処理の、K−1ブロックラインと、Kブロックラインに着目する。Kブロックラインの処理開始時に、Kブロックラインの先頭のXブロックを処理するとき、K−1ブロックラインの2ブロックずれた程度しか処理が完了していない。Kブロックラインの先頭ブロックのラスタ順序で前に位置するブロックは、K−1ブロックラインの最終ブロックYであるため、Yブロックの処理はまだ終わっていない。 Here, attention is focused on the K-1 block line and the K block line in the block line parallel processing. When the first X block of the K block line is processed at the start of the processing of the K block line, the processing is completed only to the extent that the K-1 block line is shifted by two blocks. Since the block located before in the raster order of the first block of the K block line is the last block Y of the K-1 block line, the processing of the Y block has not been completed yet.
このため、Xブロックを処理するときには、QPprevが確定しないという課題がある。XブロックのQPprevが確定しないため、Xブロックの次のブロックのQPprevも確定しない。 For this reason, when processing an X block, there exists a subject that QPprev is not fixed. Since QPprev of the X block is not fixed, QPprev of the next block after the X block is also not fixed.
よって、QP予測値の算出は、ブロックラインごとに並列にできずに、逐次処理となってしまう。図3は、従来のブロックライン並列処理を行う動画像処理装置の概略構成を示すブロック図である。 Therefore, the calculation of the QP prediction value cannot be performed in parallel for each block line, and is a sequential process. FIG. 3 is a block diagram showing a schematic configuration of a moving image processing apparatus that performs conventional block line parallel processing.
図3Aは、従来のブロックライン並列処理を行う符号化装置の概略構成を示すブロック図である。図3Bは、従来のブロックライン並列処理を行う復号装置の概略構成を示すブロック図である。 FIG. 3A is a block diagram showing a schematic configuration of a conventional encoding apparatus that performs block line parallel processing. FIG. 3B is a block diagram illustrating a schematic configuration of a conventional decoding apparatus that performs block line parallel processing.
図3に示すように、従来の動画像処理装置では、QP予測値を算出するQP予測部がボトルネックとなってしまう。 As shown in FIG. 3, in the conventional moving image processing apparatus, a QP prediction unit that calculates a QP prediction value becomes a bottleneck.
図4Aは、QP予測処理におけるブロックライン並列処理(その1)を示す図である。図4Aに示す例では、1番目のブロックラインと2番目のブロックラインを並列処理しているとする。このとき、2番目のブロックラインの処理ブロックをXとしたときに、XのQP予測値を算出するには、ブロックYの処理完了まで待機する必要がある。2番目のブロックラインの処理は、1番目のブロックラインの処理を完了しないと開始することができない。 FIG. 4A is a diagram illustrating block line parallel processing (part 1) in the QP prediction processing. In the example shown in FIG. 4A, it is assumed that the first block line and the second block line are processed in parallel. At this time, when the processing block of the second block line is X, it is necessary to wait until the processing of the block Y is completed in order to calculate the QP predicted value of X. The processing of the second block line cannot be started without completing the processing of the first block line.
図4Bは、QP予測処理におけるブロックライン並列処理(その2)を示す図である。図4Bに示すように、ブロックYの処理が完了すると、2番目のブロックラインの処理が開始できるようになる。 FIG. 4B is a diagram illustrating block line parallel processing (part 2) in the QP prediction processing. As shown in FIG. 4B, when the processing of the block Y is completed, the processing of the second block line can be started.
図4Cは、QP予測処理におけるブロックライン並列処理(その3)を示す図である。図4Cに示す例では、1番目のブロックラインを処理していたQP予測部が、3番目のブロックラインのブロックWのQP値を算出するためには、2番目のブロックラインのブロックVの処理が完了するまで待機する。 FIG. 4C is a diagram illustrating block line parallel processing (part 3) in the QP prediction processing. In the example shown in FIG. 4C, in order for the QP prediction unit that has processed the first block line to calculate the QP value of the block W of the third block line, the processing of the block V of the second block line is performed. Wait until is completed.
すなわち、3番目のブロックラインの処理は、2番目のブロックラインの処理が完了しないと開始することはできない。このように、K番目のブロックラインの処理を開始するにはK−1番目のブロックラインの処理が完了していることが要求されるため、従来技術では、このQP予測値を算出する処理は逐次処理となってしまう。 That is, the processing of the third block line cannot be started unless the processing of the second block line is completed. As described above, in order to start the processing of the Kth block line, it is required that the processing of the (K-1) th block line is completed. It becomes sequential processing.
符号化処理部を並列化し、QP予測部を逐次的に処理する場合、次のような問題が発生する。ブロックXにおけるQPprevが確定していないため、例えば、K番目のブロックラインの先頭でQP_DELTAが算出できずに、ブロックYの処理が完了するまで、ブロックXのエントロピー処理が開始できないという問題が発生する。 When the encoding processing unit is parallelized and the QP prediction unit is sequentially processed, the following problem occurs. Since QPprev in block X has not been determined, for example, QP_DELTA cannot be calculated at the head of the Kth block line, and the problem that entropy processing of block X cannot be started until processing of block Y is completed occurs. .
よって、エントロピー処理の開始が遅延するため、符号化処理部の結果を保存しておくバッファが増加してしまう。同様に、デブロックキングフィルタの処理を開始することができないという問題も発生する。 Therefore, since the start of the entropy process is delayed, the number of buffers for storing the results of the encoding processing unit increases. Similarly, there also arises a problem that the deblocking filter process cannot be started.
動画像復号装置について、同様にブロックライン並列処理を考える。HEVCにおいては、エントロピー復号処理は、ブロックラインごとに並列に処理することができる。上記と同様に、K−1番目のブロックラインとK番目のブロックラインに着目し、K番目のブロックラインの先頭ブロックXのQP復元処理を考えると、ブロックXのQP_DELTAが復号できた時点では、ブロックYのQP_DELTAは復号できていないため、YのQP値を復元することはできない。 Similarly, block line parallel processing is considered for the moving picture decoding apparatus. In HEVC, the entropy decoding process can be performed in parallel for each block line. Similarly to the above, paying attention to the K-1th block line and the Kth block line, and considering the QP restoration processing of the first block X of the Kth block line, when the QP_DELTA of the block X can be decoded, Since QP_DELTA of block Y has not been decoded, the QP value of Y cannot be restored.
ブロックXのQP予測値であるQPprevは、ブロックYのQP値であるため、ブロックXのQP予測値の算出は行うことができず、ブロックXのQP値が復元できない。このため、動画像符号化装置と同様に各ブロックのQP予測値の算出は、逐次処理となってしまい、並列処理のボトルネックとなる。 Since QPprev that is the QP predicted value of block X is the QP value of block Y, the QP predicted value of block X cannot be calculated, and the QP value of block X cannot be restored. For this reason, the calculation of the QP prediction value of each block is a sequential process as in the case of the moving picture encoding apparatus, which becomes a bottleneck of parallel processing.
そこで、開示の技術は、QP予測値の算出処理を並列化することを可能とし、ブロックライン並列処理の効率を向上させることを目的とする。 Therefore, the disclosed technique aims to make it possible to parallelize the calculation processing of the QP prediction value and to improve the efficiency of the block line parallel processing.
開示の一態様における動画像処理装置は、
画像を複数のブロックに分割し、該ブロック毎に動画像符号化処理を行う動画像符号化部と、符号化されたストリームを復号する動画像復号部と、を有する動画像処理装置であって、
前記動画像符号化部は、
前記ブロックの列を示すブロックラインに含まれるブロックに対し、量子化された直交変換係数を含む符号化データを、ブロックライン毎に並列に生成する並列符号化処理部と、
前記ブロックラインに含まれる各ブロックの符号化で使用した量子化パラメータに対する量子化パラメータの予測値を、ブロックライン毎に並列に算出する第1の並列QP予測部と、
前記ブロックラインに含まれる各ブロックに対し、前記符号化データと前記量子化パラメータの予測値とを用いてエントロピー符号化を、ブロックライン毎に並列に行う並列エントロピー符号化部と、を備え、
前記第1の並列QP予測部は、
2以上の値を示すN個のブロックラインずつ並列処理する場合、K−1番目のブロックラインの処理ブロックの水平位置を、K番目のブロックラインの処理ブロックの水平位置よりも少なくとも1ブロック以上先に処理し、
処理ブロックがブロックラインの先頭である場合においては、処理ブロックが属するスライスを単位にして定まる量子化パラメータで処理ブロックの直前に処理されたブロックの量子化パラメータを初期化し、初期化した量子化パラメータに基づいて処理ブロックの前記量子化パラメータの予測値を算出し、
処理ブロックがブロックラインの先頭以外の場合においては、ブロックライン内のブロックの量子化パラメータに基づいて処理ブロックの前記量子化パラメータの予測値を算出し、
前記並列符号化処理部は、
前記第1の並列QP予測部で算出した量子化パラメータの予測値と各ブロックの処理に使用した量子化パラメータおよび符号化の結果が全て0か否かの情報に基づいて処理ブロックの量子化パラメータを決定し、
前記動画像復号部は、
前記ブロックの列を示すブロックラインに含まれるブロックのストリームを、ブロックライン毎に並列にエントロピー復号する並列エントロピー復号部と、
前記ブロックラインに含まれる各ブロックの量子化パラメータの予測値を、ブロックライン毎に並列に算出する第2の並列QP予測部と、
前記ブロックラインに含まれる各ブロックに対し、前記並列エントロピー復号部により復号されたデータと、前記第2の並列QP予測部により算出された予測値とを用いて復号処理した復号画素を、ブロックライン毎に並列に生成する並列復号処理部と、を備え、
前記第2の並列QP予測部は、
2以上の値を示すN個のブロックラインずつ並列処理する場合、K−1番目のブロックラインの処理ブロックの水平位置と、K番目のブロックラインの処理ブロックの水平位置の関係として、K−1番目のブロックラインの処理ブロックの水平位置が少なくとも1ブロック以上先行したタイミングとし、
処理ブロックがブロックラインの先頭である場合においては、処理ブロックが属するスライスを単位にして定まる量子化パラメータで処理ブロックの直前に処理されたブロックの量子化パラメータを初期化し、初期化した量子化パラメータに基づいて処理ブロックの前記量子化パラメータの予測値を算出し、
処理ブロックがブロックラインの先頭以外の場合においては、ブロックライン内の先に復号が完了しているブロックの量子化パラメータに基づいて処理ブロックの前記量子化パラメータの予測値を算出し、
前記並列復号処理部は、
前記第2の並列QP予測部で算出した量子化パラメータの予測値に基づいて処理ブロックの量子化パラメータを算出し、算出した量子化パラメータを利用して処理ブロックのデブロッキングフィルタ処理を行う。
A moving image processing apparatus according to an aspect of the disclosure is provided.
A moving image processing apparatus including a moving image encoding unit that divides an image into a plurality of blocks and performs a moving image encoding process for each block, and a moving image decoding unit that decodes an encoded stream. ,
The moving image encoding unit includes:
A parallel encoding processing unit that generates, in parallel for each block line, encoded data including quantized orthogonal transform coefficients for blocks included in the block line indicating the row of blocks;
A first parallel QP prediction unit that calculates a prediction value of a quantization parameter for a quantization parameter used in encoding of each block included in the block line in parallel for each block line;
A parallel entropy encoding unit that performs entropy encoding on each block included in the block line using the encoded data and the predicted value of the quantization parameter in parallel for each block line, and
The first parallel QP prediction unit includes:
When parallel processing is performed in units of N block lines each having a value of 2 or more, the horizontal position of the processing block of the (K-1) th block line is at least one block ahead of the horizontal position of the processing block of the Kth block line. To process
When the processing block is at the head of the block line, the quantization parameter of the block processed immediately before the processing block is initialized with the quantization parameter determined in units of the slice to which the processing block belongs, and the initialized quantization parameter is set. A predicted value of the quantization parameter of the processing block based on
In the case where the processing block is other than the head of the block line, the predicted value of the quantization parameter of the processing block is calculated based on the quantization parameter of the block in the block line,
The parallel encoding processing unit
The quantization parameter of the processing block based on the prediction value of the quantization parameter calculated by the first parallel QP prediction unit, the quantization parameter used for the processing of each block, and whether the result of encoding is all 0 or not Decide
The moving image decoding unit
A parallel entropy decoding unit that entropy-decodes a stream of blocks included in a block line indicating the row of blocks in parallel for each block line;
A second parallel QP prediction unit that calculates a prediction value of a quantization parameter of each block included in the block line in parallel for each block line;
For each block included in the block line, a decoded pixel obtained by performing decoding processing using the data decoded by the parallel entropy decoding unit and the prediction value calculated by the second parallel QP prediction unit, A parallel decoding processing unit that generates each in parallel,
The second parallel QP prediction unit includes:
When parallel processing is performed for each of N block lines indicating a value of 2 or more, the relationship between the horizontal position of the processing block of the (K-1) th block line and the horizontal position of the processing block of the Kth block line is K-1 The timing at which the horizontal position of the processing block of the first block line precedes at least one block,
When the processing block is at the head of the block line, the quantization parameter of the block processed immediately before the processing block is initialized with the quantization parameter determined in units of the slice to which the processing block belongs, and the initialized quantization parameter is set. A predicted value of the quantization parameter of the processing block based on
In the case where the processing block is other than the head of the block line, the prediction value of the quantization parameter of the processing block is calculated based on the quantization parameter of the block that has been decoded earlier in the block line,
The parallel decoding processing unit
The quantization parameter of the processing block is calculated based on the predicted value of the quantization parameter calculated by the second parallel QP prediction unit, and the deblocking filter process of the processing block is performed using the calculated quantization parameter.
開示の技術によれば、QP予測値の算出処理を並列化することを可能とし、ブロックライン並列処理の効率を向上させることができる。 According to the disclosed technique, it is possible to parallelize the calculation processing of the QP prediction value, and to improve the efficiency of the block line parallel processing.
以下、添付図面を参照しながら各実施例について詳細に説明する。なお、動画像に含まれる画像(ピクチャ)は、フレーム又はフィールドの何れであってもよい。フレームは、動画像データ中の一つの静止画像であり、一方、フィールドは、フレームから奇数行のデータあるいは偶数行のデータのみを取り出すことにより得られる静止画像である。 Hereinafter, embodiments will be described in detail with reference to the accompanying drawings. Note that the image (picture) included in the moving image may be either a frame or a field. The frame is one still image in the moving image data, while the field is a still image obtained by extracting only odd-numbered data or even-numbered data from the frame.
また、処理対象の動画像は、カラー動画像であってもよく、又はモノクロ動画像であってもよい。 Further, the moving image to be processed may be a color moving image or a monochrome moving image.
[実施例1]
<構成>
図5は、実施例1における動画像復号装置の構成の一例を示すブロック図である。図5に示す例では、動画像復号装置10は、並列復号部101と、復号画素記憶部105とを有する。並列復号部101は、並列エントロピー復号部102と、並列QP予測部103と、並列復号処理部104とを有する。
[Example 1]
<Configuration>
FIG. 5 is a block diagram illustrating an example of the configuration of the video decoding device according to the first embodiment. In the example illustrated in FIG. 5, the
なお、動画像復号装置10は、N個のブロックラインを並列処理することとする。また、ブロックラインとは、例えば画像内における水平方向のブロック列をいう。
Note that the
並列復号部101の各部は、各ブロックラインにおいて処理するブロックを同一のブロックとする。また、例えば、K−1番目のブロックラインの処理ブロックの水平位置は、K番目のブロックラインの処理ブロックの水平位置よりも2ブロック以上先とする。
Each unit of the
これは、ブロックライン間で、水平位置が2ブロック以上ずれるようにすることで、各ブロックラインを並列に復号処理したとしても、処理ブロックの上と右上のブロックの復号情報が利用できるようにするためである。上ブロックのみの復号情報を利用する場合は、ブロックライン間の水平位置のずれ量は1ブロックでよい。以下では、上ブロックは、処理ブロックの1ブロック上のブロックを示し、右上ブロックは、処理ブロックの1ブロック上のブロックの右に隣接するブロックを示す。 This is because the horizontal position is shifted by two or more blocks between block lines, so that the decoding information of the upper and upper right blocks can be used even if each block line is decoded in parallel. Because. When using decoding information of only the upper block, the horizontal position shift amount between the block lines may be one block. In the following, the upper block indicates a block on one block of the processing block, and the upper right block indicates a block adjacent to the right of the block on one block of the processing block.
並列復号部101は、複数のブロックに分割された画像に対し、動画像符号化方式を用いて符号化されたストリームを、例えばN個のブロックラインで並列処理して復号する。ブロックラインのブロック毎に復号された画素は、復号画素記憶部105に出力される。復号された画素を復号画素という。
The
並列エントロピー復号部102は、入力されたストリームに対し、ブロックライン毎に分割し、ブロックライン毎に、このブロックラインに含まれるブロックのストリームを並列にエントロピー復号する。並列エントロピー復号部102は、エントロピー復号されたデータを並列復号処理部104に出力する。
The parallel
並列QP予測部103は、ブロックラインに含まれる各ブロックの量子化パラメータ(QP)の予測値(QP予測値)を、ブロックライン毎に並列に算出する。算出されたQP予測値を並列復号処理部104に出力する。
The parallel
並列復号処理部104は、ブロックラインに含まれる各ブロックに対し、並列エントロピー復号部102により復号されたデータと、並列QP予測部103により算出されたQP予測値とを用いて復号処理した復号画素を、ブロックライン毎に並列に生成する。生成された復号画素は復号画素記憶部105に出力される。
The parallel
復号画素記憶部105は、並列復号部101から出力された各ブロックの復号画素を記憶する。復号画素は、画像単位で集合すると画像(ピクチャ)となる。復号画素記憶部105は、1ピクチャ分の復号処理が完了したときに、復号された画像が出力される。
The decoded
《並列復号部》
次に、並列復号部101について説明する。図6は、実施例1における並列復号部101の各部の構成の一例を示すブロック図である。図6に示す例では、並列エントロピー復号部102は、第1エントロピー復号部221と、第2エントロピー復号部222と、第Nエントロピー復号部223とを有する。
《Parallel decoding unit》
Next, the
図6に示す例では、並列QP予測部103は、第1QP予測部231と、第2QP予測部232と、第NQP予測部233とを有する。図6に示す例では、並列復号処理部104は、第1復号処理部241と、第2復号処理部242と、第N復号処理部243と、ブロック情報保持部244とを有する。
In the example illustrated in FIG. 6, the parallel
ここで、L=1〜Nに対して、第Lエントロピー復号部と、第LQP予測部と、第L復号処理部とは、1つのブロックラインをそれぞれ対応して処理する。以下では、第Lエントロピー復号部と、第LQP予測部と、第L復号処理部とを総称してブロックライン復号処理部と呼ぶ。例えば、ブロックライン復号処理部201は、第1エントロピー復号部221と、第1QP予測部231と、第1復号処理部241とを有する。
Here, for L = 1 to N, the Lth entropy decoding unit, the LQP prediction unit, and the Lth decoding processing unit process one block line correspondingly. Hereinafter, the L-th entropy decoding unit, the LQP prediction unit, and the L-th decoding processing unit are collectively referred to as a block line decoding processing unit. For example, the block line
ブロックライン復号処理部は、K番目のブロックラインを処理すると、次は、K+N番目のブロックラインを処理する。 When the block line decoding processing unit processes the Kth block line, it next processes the K + Nth block line.
並列エントロピー復号部102は、入力されたストリームをブロックライン毎に分割する。各エントロピー復号部221〜223は、分割されたストリームにおけるNブロックライン単位で、各ブロックラインを並列にエントロピー復号する。各エントロピー復号部221〜223は、動画像符号化装置でのエントロピー符号化処理に対応するエントロピー復号処理を行う。
The parallel
各復号処理部241〜243は、ブロックライン単位で並列に復号処理を行う。図7は、実施例1における復号処理部の構成の一例を示すブロック図である。各復号処理部241〜243は、いずれも同様の処理を行うため、以下では、第1復号処理部241を用いて説明する。
Each of the
第1復号処理部241は、QP復元部301と、逆量子化部302と、逆直交変換部303と、動きベクトル復元部304と、予測画素生成部305と、復号画素生成部306とを有する。
The first
QP復元部301は、後述する第1QP予測部231から入力されたQP予測値と、第1エントロピー復号部221から入力されたQP差分値とを用いてQP値を復元する(例えば式(2)参照)。復元されたQP値は、逆量子化部302に出力される。
The
逆量子化部302は、復元されたQP値と直交変換係数とを乗算することで逆量子化を行う。逆量子化された直交変換係数は、逆直交変換部303に出力される。
The
逆直交変換部303は、逆量子化部302から入力された直交変換係数に対して、逆直交変換処理を行い、予測誤差画素を生成する。生成された予測誤差画素は、復号画素生成部306に出力される。
The inverse
動きベクトル復元部304は、ブロック情報記憶部244から、処理ブロックの周辺ブロックの動きベクトル情報を取得し、予測ベクトルを算出する。動きベクトル復元部304は、予測ベクトルと、第1エントロピー復号部221から入力された差分ベクトルとを加算することにより、動きベクトルが復元される。復元された動きベクトルは、予測画素生成部305に出力される。
The motion
予測画素生成部305は、過去に復号したピクチャが保存されている復号画素記憶部105から動きベクトルが指す参照ピクチャの画素データを取得し、予測画素を生成する。生成された予測画素は、復号画素生成部306に出力される。
The predicted
復号画素生成部306は、予測画素生成部305から入力された予測画素と、逆直交変換部303から入力された予測誤差画素とを加算し、復号画素を生成する。生成された復号画素は、復号画素記憶部105に記憶される。
The decoded
次に、各QP予測部の処理について説明する。まず、各QP予測部による予測処理で、利用可能なブロックを説明する。図8は、N=3の場合の並列QP予測処理における利用可能ブロックの一例を示す図である。図8に示す例では、N=3であり、各ブロックラインで、2ブロックずつ遅延させて並列処理される。 Next, processing of each QP prediction unit will be described. First, blocks that can be used in prediction processing by each QP prediction unit will be described. FIG. 8 is a diagram illustrating an example of an available block in the parallel QP prediction process when N = 3. In the example shown in FIG. 8, N = 3, and each block line is delayed in parallel by two blocks.
このとき、処理ブロックXに対し、利用可能なブロックは、図8に示す網掛けブロックである。図8に示す網掛けブロックは、処理ブロックを処理する際に、既に処理が完了しているブロック、つまり利用可能なブロックを示す。図8に示す太線枠のブロックは、処理対象のブロック(処理ブロックとも呼ぶ)を示す。各QP予測部は、処理ブロックのQP予測値を算出する際、利用可能ブロック(処理完了ブロック)を参照することでQP予測値を求める。以下では、このQP予測値の求め方について詳述する。 At this time, usable blocks for the processing block X are the shaded blocks shown in FIG. The shaded blocks shown in FIG. 8 indicate blocks that have already been processed, that is, blocks that can be used when processing the processing block. The bold-lined blocks shown in FIG. 8 indicate blocks to be processed (also referred to as processing blocks). Each QP prediction unit obtains a QP prediction value by referring to an available block (processing completion block) when calculating the QP prediction value of the processing block. Hereinafter, a method for obtaining the QP predicted value will be described in detail.
図9は、実施例1におけるQP予測部の構成の一例を示すブロック図である。各QP予測部231〜233は、いずれも同様の処理を行うため、以下では、第1QP予測部231を用いて説明する。
FIG. 9 is a block diagram illustrating an example of the configuration of the QP prediction unit according to the first embodiment. Since each of the
図9に示す第1QP予測部231は、直前QP記憶部401と、QP選択部402と、上QP取得部403とを有する。
The first
直前QP記憶部401は、現在の処理ブロックの直前に処理されたブロックのQP値をQP復元部301から受け取り、記憶している。直前QP記憶部401が記憶しているQP値は、ピクチャ処理開始時に初期化される。
The immediately preceding
例えば、H.264と同様にSliceヘッダ情報に符号化されたSliceQP値で初期化する。Sliceは、1ピクチャに属するブロックをグループに分割したときの単位である。 For example, H.M. Similarly to H.264, initialization is performed with the Slice QP value encoded in the Slice header information. Slice is a unit when a block belonging to one picture is divided into groups.
上QP取得部403は、ブロック情報記憶部244から、例えば、処理ブロックの上に位置するブロックのQP値を取得する。
The upper
QP選択部402は、直前QP記憶部401か、あるいは、上QP取得部403かのいずれかの出力するQP値を選択して、QP予測値としてQP復元部301に出力する。
The
例えば、QP選択部402は、処理ブロックがブロックライン先頭のブロックであれば、上QP取得部403から出力されたQP値を選択し、処理ブロックがブロックライン先頭以外のブロックであれば、直前QP記憶部401から出力されたQP値を選択する。QP選択部402は、選択したQP値をQP予測値として、QP復元部301に出力する。
For example, the
上記例の場合のQP値の予測(選択)について図を用いて説明する。図10Aは、実施例1におけるQP予測処理(その1)の一例を示す図である。図10Aに示す例では、処理ブロックXの位置を処理ブロックとしたとき、図10Aに示すように処理ブロックXが先頭ブロックであるときには、上ブロックAのQP値がQP選択部402により選択される。
The prediction (selection) of the QP value in the case of the above example will be described with reference to the drawings. FIG. 10A is a diagram illustrating an example of the QP prediction process (part 1) according to the first embodiment. In the example shown in FIG. 10A, when the position of the processing block X is the processing block and the processing block X is the first block as shown in FIG. 10A, the
図10Bは、実施例1におけるQP予測処理(その2)の一例を示す図である。図10Bに示すように、処理ブロックXが、先頭ブロック以外の場合では、直前に処理したブロックBのQP値がQP選択部402により選択される。
FIG. 10B is a diagram illustrating an example of the QP prediction process (part 2) according to the first embodiment. As shown in FIG. 10B, when the processing block X is other than the head block, the
ここで、処理ブロックXに近いブロックのQP値がQP予測値として使用されるため、ラスタ順序で直前のQP値を使用した場合と比較して、QP値の予測効率はほとんど低下しない。 Here, since the QP value of the block close to the processing block X is used as the QP predicted value, the prediction efficiency of the QP value hardly decreases compared to the case where the immediately preceding QP value is used in the raster order.
上記例では、ブロックラインの先頭以外では直前に処理したブロックのQP値を用いてQP予測値を生成したが、処理ブロックに隣接するブロックから予測するのであれば、他の方法でQP値を生成してもよい。 In the above example, the QP prediction value is generated using the QP value of the block processed immediately before except at the head of the block line. However, if the prediction is made from the block adjacent to the processing block, the QP value is generated by another method. May be.
また、QP選択部402の処理は、次のような処理であってもよい。処理するブロックラインが2〜N番目のブロックラインのときは、直前QP記憶部401が保存しているQP値はSliceQP値であり、Slice単位に1つ定まる値である。そのため、各ブロックのQP予測値として、SliceQP値を採用するには、予測効率があまりよくないと考えられる。
Further, the processing of the
そこで、QP選択部402は、処理するブロックラインが2〜N番目のブロックラインの先頭ブロックが処理されるときは、上QP取得部403が取得したQP値を選択し、それ以外では、直前QP記憶部401が保持したQP値を選択してもよい。
Therefore, the
また、QP選択部402は、N+1番目以降のブロックラインの先頭ブロックを処理するときは、直前QP記憶部401が保持しているQP値を選択する。このときの直前QP記憶部401が保持しているQP値は、処理ブロックのNブロック上に位置するブロックラインの最後のブロック(最終ブロックとも呼ぶ)のQP値である。
Further, the
K番目のブロックラインとK+N番目のブロックラインは、同一の復号処理部とQP予測部とエントロピー復号部とで処理されるため、K番目のブロックラインの処理ブロックの直前に処理したブロックは、K−N番目のブロックラインの最後のブロックである。 Since the Kth block line and the K + Nth block line are processed by the same decoding processing unit, QP prediction unit, and entropy decoding unit, the block processed immediately before the processing block of the Kth block line is K -The last block of the Nth block line.
さらに、QP選択部402は、ブロックラインの先頭ブロックでは、常に直前QP記憶部401に記憶されるQP値を採用するようにしてもよい。また、QP選択部402は、処理するブロックラインが1〜N番目のブロックラインの先頭ブロックであるときは、QP予測値はSliceQP値としてもよい。
Furthermore, the
このとき、同様にN+1番目のブロックラインの先頭ブロックのQP予測値は、Nブロック上に位置するブロックラインの最後のブロックのQP値としてもよい。 At this time, similarly, the QP prediction value of the first block of the (N + 1) th block line may be the QP value of the last block of the block line located on the N block.
以上の構成を有することで、量子化パラメータの予測値を求める処理を、ブロックライン毎に並列処理することができる。 With the above configuration, the process for obtaining the predicted value of the quantization parameter can be performed in parallel for each block line.
<動作>
次に、実施例1における動画像復号装置10の動作について説明する。図11は、実施例1におけるブロック復号処理の一例を示すフローチャートである。図11に示すブロック復号処理は、1ブロックの処理である。
<Operation>
Next, the operation of the
ステップS101で、各エントロピー復号部は、入力されたストリームから各ブロックの差分動きベクトル、QP差分値、量子化された直交変換係数などの符号化情報をエントロピー復号する。これらのエントロピー復号された情報は、処理されたエントロピー復号部に対応する復号処理部に出力する。 In step S101, each entropy decoding unit entropy decodes encoded information such as a differential motion vector, a QP difference value, and a quantized orthogonal transform coefficient of each block from the input stream. The entropy decoded information is output to a decoding processing unit corresponding to the processed entropy decoding unit.
ステップS102で、復号処理部の動きベクトル復元部304は、ブロック情報記憶部244から周辺ブロックの動きベクトル情報を取得し、予測ベクトルを算出する。
In step S102, the motion
ステップS103で、動きベクトル復元部304は、差分動きベクトルと予測ベクトルとを加算することで、動きベクトルを復元する。復元された動きベクトルの情報は、ブロック情報記憶部244に記憶される。
In step S103, the motion
ステップS104で、予測画素生成部305は、過去に復号されたピクチャが保存されている復号画素記憶部105から動きベクトルが指す参照ピクチャの画素データを取得し、予測画素を生成する。
In step S104, the predicted
ステップS105で、各QP予測部は、処理ブロックのQP予測値を生成し、QP復元部301に入力する。
In step S <b> 105, each QP prediction unit generates a QP prediction value of the processing block and inputs the QP prediction value to the
ステップS106で、QP復元部301は、入力されたQP予測値とQP差分値とからQP値を復元する。QP値は、逆量子化部302に入力されるとともにブロック情報記憶部244に保存される。QP予測値は、処理ブロックの上ブロックあるいは、ブロックライン復号処理部201が過去に処理したブロックのQP値とすることで、QP予測値の生成を待機する必要がなくなり、並列処理の効率が向上する。
In step S106, the
ステップS107で、逆量子化部302は、量子化された直交変換係数と、QP値とを乗算する。
In step S107, the
ステップS108で、逆直交変換部303は、逆量子化された直交変換係数に対し、逆直交変換処理を行い、予測誤差画素を生成する。
In step S108, the inverse
ステップS109で、復号画素生成部306は、予測誤差画素と予測画素とを加算し、復号画素を生成する。
In step S109, the decoded
ステップS110で、復号画素記憶部105は、復号画素を記憶する。以上の処理で、ブロックの復号処理が終了し、次のブロックの復号処理に移行する。1ピクチャに含まれるすべてのブロックの復号処理が終了したときに、復号画素記憶部105に記憶された復号画像は、例えばディスプレイなどの表示部に出力される。
In step S110, the decoded
以上、実施例1によれば、動画像復号装置において、QP予測値の算出処理を並列化することを可能とし、ブロックライン並列処理の効率を向上させることができる。 As described above, according to the first embodiment, in the video decoding device, it is possible to parallelize the calculation processing of the QP prediction value, and to improve the efficiency of the block line parallel processing.
[実施例2]
次に、実施例2における動画像符号化装置について説明する。実施例2では、実施例1に対応して、ブロックライン単位でQPの予測処理を並列化する。
[Example 2]
Next, the moving picture coding apparatus according to the second embodiment will be described. In the second embodiment, corresponding to the first embodiment, QP prediction processing is parallelized in units of block lines.
<構成>
図12は、実施例2における動画像符号化装置50の構成の一例を示すブロック図である。図12に示す例では、動画像復号装置50は、並列符号化部501と、復号画素記憶部505とを有する。並列符号化部501は、並列符号化処理部502と、並列QP予測部503と、並列エントロピー符号化部504とを有する。なお、動画像符号化装置50は、N個のブロックラインを並列処理することとする。
<Configuration>
FIG. 12 is a block diagram illustrating an example of a configuration of the moving
並列符号化部501の各部は、各ブロックラインにおいて処理するブロックを同一のブロックとする。また、例えば、K−1番目のブロックラインの処理ブロックの水平位置は、K番目のブロックラインの処理ブロックの水平位置よりも2ブロック以上先とする。
Each unit of the
これは、ブロックライン間で、水平位置が2ブロック以上ずれるようにすることで、各ブロックラインを並列に符号化処理したとしても、処理ブロックの上と右上のブロックの符号化情報が利用できるようにするためである。上ブロックのみの復号情報を利用する場合は、ブロックライン間の水平位置のずれ量は1ブロックでよい。 This is because the horizontal position is shifted by 2 blocks or more between the block lines, so that even if each block line is encoded in parallel, the encoding information of the upper and upper right blocks can be used. It is to make it. When using decoding information of only the upper block, the horizontal position shift amount between the block lines may be one block.
並列符号化部501は、画像を複数のブロックに分割し、動画像符号化方式を用いて例えばN個のブロックラインで並列処理して符号化する。並列符号化部501で、局所復号された復号画素は、復号画素記憶部505に記憶される。
The
並列符号化処理部502は、ブロックライン毎に、このブロックラインに含まれるブロックに対し、量子化された直交変換係数、差分動きベクトル情報などを並列に生成する。生成された直交変換係数や差分動きベクトル情報(符号化データとも呼ぶ)は、並列エントロピー符号化部504に出力される。量子化で用いられたQP値は、並列QP予測部503に出力される。
The parallel
並列QP予測部503は、ブロックラインに含まれる各ブロックの量子化パラメータ(QP)の予測値(QP予測値)を、ブロックライン毎に並列に算出する。算出されたQP予測値を並列エントロピー符号化部504に出力する。
The parallel
並列エントロピー符号化部504は、ブロックラインに含まれる各ブロックに対し、量子化された直交変換係数、QP値とQP予測値との差分であるQP差分値、差分動きベクトル情報などを用いてエントロピー符号化を、ブロックライン単位で並列に行う。並列エントロピー符号化部504で符号化されたストリームは、動画像復号装置10などに出力される。
The parallel
復号画素記憶部505は、並列符号化部501から出力された各ブロックの局所的な復号画素を記憶する。局所的な復号は、ローカルデコードなどとも呼ばれる。
The decoded
《並列符号化部》
次に、並列符号化部501について説明する。図13は、実施例2における並列符号化部501の各部の構成の一例を示すブロック図である。図13に示す例では、並列符号化処理部502は、第1符号化処理部621と、第2符号化処理部622と、第N符号化処理部623と、ブロック情報記憶部624とを有する。
《Parallel coding unit》
Next, the
図13に示す例では、並列QP予測部503は、第1QP予測部631と、第2QP予測部632と、第NQP予測部633とを有する。図13に示す例では、並列エントロピー符号化部504は、第1エントロピー符号化部641と、第2エントロピー符号化部642と、第Nエントロピー符号化部643とを有する。
In the example illustrated in FIG. 13, the parallel
ここで、L=1〜Nに対して、第L符号化処理部と、第LQP予測部と、第Lエントロピー符号化部とは、1つのブロックラインをそれぞれ対応して処理する。以下では、第L符号化処理部と、第LQP予測部と、第Lエントロピー符号化部とを総称してブロックライン符号化処理部と呼ぶ。 Here, for L = 1 to N, the L-th encoding processing unit, the LQP prediction unit, and the L-th entropy encoding unit process one block line correspondingly. Hereinafter, the L-th encoding processing unit, the LQP prediction unit, and the L-th entropy encoding unit are collectively referred to as a block line encoding processing unit.
例えば、ブロックライン符号化処理部601は、第1符号化処理部621と、第1QP予測部631と、第1エントロピー符号化部641とを有する。
For example, the block line
ブロックライン符号化処理部は、K番目のブロックラインを符号化処理すると、次は、K+N番目のブロックラインを符号化処理する。 When the block line encoding processing unit encodes the Kth block line, the block line encoding processing unit next encodes the K + Nth block line.
並列符号化処理部502は、入力された画像を複数のブロックラインに分割する。各符号化処理部621〜623は、ブロックライン単位で並列に符号化処理を行う。符号化処理は、例えばH.264やHEVCなどの符号化処理である。
The parallel
図14は、実施例2における符号化処理部の構成の一例を示すブロック図である。各符号化処理部621〜623は、いずれも同様の処理を行うため、以下では、第1符号化処理部621を用いて説明する。
FIG. 14 is a block diagram illustrating an example of the configuration of the encoding processing unit according to the second embodiment. Since each of the
第1符号化処理部621は、予測差分部701と、直交変換部702と、量子化部703と、QP確定部704と、逆量子化部705と、逆直交変換部706と、復号画素生成部707と、動き検出部708と、予測信号生成部709と、差分ベクトル生成部710とを有する。
The first
動き検出部708は、復号画素記憶部505から参照ピクチャの画素データを取得し、動きベクトルの検出を行う。検出された動きベクトルの情報は、ブロック情報記憶部624に記憶され、次のブロックの符号化に利用される。
The
予測信号生成部709は、入力された参照画像の領域位置情報に基づいて、復号画素記憶部505から参照画素を取得し、予測画素信号を生成する。生成された予測画素信号は、予測差分部701に出力される。
The prediction
差分ベクトル生成部710は、予測ベクトルを生成する。予測ベクトルは、一例として処理ブロックの左と上と、右上に位置するブロックの動きベクトルをブロック情報記憶部624から取得し、3つの動きベクトルのうち、中間値を予測ベクトルとする。
The difference
上述したように、各ブロックラインは、例えば水平に2ブロックずつずれて処理しているため、処理ブロックの上と右上のブロックの符号化処理は完了している。そのため、差分ベクトル生成部710は、周辺ブロックの動きベクトルを取得することができる。
As described above, each block line is processed with a shift of, for example, two blocks horizontally, so that the encoding processing of the upper and upper right blocks of the processing block is completed. Therefore, the difference
差分ベクトル生成部710は、動き検出部708から処理ブロックの動きベクトルを取得し、動きベクトルと予測ベクトルとの差分ベクトルを生成する。生成された差分ベクトルは、第1エントロピー符号化部641に出力される。
The difference
予測差分部701は、原画像と、予測画素信号との差分を算出することで、予測誤差信号を生成する。予測誤差信号は、直交変換部702に出力される。
The
直交変換部702は、予測誤差信号に対して、例えば離散コサイン変換などの直交変換処理を行う。変換された直交変換係数は、量子化部703に出力される。
The
量子化部703は、量子化パラメータ(QP)値に基づいて、直交変換係数を量子化する。量子化手法の一例としては、直交変換係数をQPで定まる値によって除算し、整数値に丸める方法である。量子化された直交変換係数をQP値で乗算すれば、逆量子化することができる。丸める処理によって、量子化は不可逆な変換となる。量子化された直交変換係数は、第1エントロピー符号化部641に出力される。
The
また、量子化部703は、量子化された直交変換係数がすべて0であった否かのフラグ情報を生成し、量子化で使用したQP値とともに、QP確定部704に出力する。QP値は、逆量子化部705、第1QP予測部631に出力される。
Also, the
第1QP予測部631は、処理ブロックのQP予測値を生成する。生成されたQP予測値は、QP確定部704及び第1エントロピー符号化部641に出力される。
The first
QP予測値は、処理ブロックの上ブロックあるいは、第1QP予測部631が所属しているブロックライン符号化処理部が過去に処理したブロックのQP値とすることで、QP予測値の生成を待機する必要がなくなり、並列処理の効率が向上する。
The QP prediction value is set to the upper block of the processing block or the QP value of the block processed in the past by the block line coding processing unit to which the first
QP確定部704は、量子化部703から入力されたQP値とQP予測値とから、処理ブロックのQPを確定する。直交変換係数がすべて0であった場合、QP差分情報は、エントロピー符号化されないため、量子化部703で使用したQP値は、復号装置側に通知されないので無効になる。
The
例えば、QP確定部704は、量子化部703が生成した量子化された直交変換係数がすべて0であったか否かのフラグ情報を取得する。QP確定部704は、すべて0を示すフラグ情報を取得した場合、処理ブロックのQP値はQP予測値に設定する。QP確定部704は、すべて0ではないことを示すフラグ情報を取得した場合、処理ブロックのQP値は、量子化部703で使用されたQP値に設定する。QP確定部704が確定したQP値は、ブロック情報記憶部624に記憶される。
For example, the
逆量子化部705は、量子化された直交変換係数に対し、逆量子化処理を行う。逆量子化された直交変換係数は、逆直交変換部706に出力される。
The
逆直交変換部706は、逆量子化された直交変換係数に対し、逆直交変換処理を行う。逆直交変換された信号を復号画素生成部707に出力する。
The inverse
復号画素生成部707は、逆直交変換された信号に、予測信号生成部709から取得した予測画素信号を加算することで、局所的な復号画素を生成する。生成された復号画素は、復号画素記憶部505に記憶される。
The decoded
次に、各QP予測部の処理について説明する。図15は、実施例2におけるQP予測部の構成の一例を示すブロック図である。各QP予測部631〜633は、いずれも同様の処理を行うため、以下では、第1QP予測部631を用いて説明する。
Next, processing of each QP prediction unit will be described. FIG. 15 is a block diagram illustrating an example of a configuration of a QP prediction unit according to the second embodiment. Since each of the
図15に示す第1QP予測部631は、直前QP記憶部801と、QP選択部802と、上QP取得部803とを有する。
The first
直前QP記憶部801は、現在の処理ブロックの直前に処理したブロックのQP値をQP確定部704から受け取り、記憶している。直前QP記憶部801が記憶しているQP値は、ピクチャ処理開始時に初期化される。
The immediately preceding
例えば、H.264と同様にSliceヘッダ情報に符号化されたSliceQP値で初期化する。Sliceは、1ピクチャに属するブロックをグループに分割したときの単位である。 For example, H.M. Similarly to H.264, initialization is performed with the Slice QP value encoded in the Slice header information. Slice is a unit when a block belonging to one picture is divided into groups.
上QP取得部803は、ブロック情報記憶部624から、処理ブロックの上に位置するブロックのQP値を取得する。
The upper
QP選択部802は、直前QP記憶部801か、あるいは、上QP取得部803かのいずれかの出力するQP値を選択して、QP予測値としてQP確定部704や第1エントロピー符号化部641に出力する。
The
例えば、QP選択部802は、処理ブロックがブロックライン先頭のブロックであれば、上QP取得部803から出力されたQP値を選択し、処理ブロックがブロックライン先頭以外のブロックであれば、直前QP記憶部801から出力されたQP値を選択する。QP選択部802は、選択したQP値をQP予測値として、QP確定部704や第1エントロピー符号化部641に出力する。
For example, the
上記例の場合のQP値の予測(選択)については、図10A及び図10Bに示す通りである。ここで、処理ブロックXに近いブロックのQP値がQP予測値として使用されるため、ラスタ順序で直前のQP値を使用した場合と比較して、QP値の予測効率はほとんど低下しない。 The prediction (selection) of the QP value in the above example is as shown in FIGS. 10A and 10B. Here, since the QP value of the block close to the processing block X is used as the QP predicted value, the prediction efficiency of the QP value hardly decreases compared to the case where the immediately preceding QP value is used in the raster order.
上記例では、ブロックラインの先頭以外では直前に処理したブロックのQP値を用いてQP予測値を生成したが、処理ブロックに隣接するブロックから予測するのであれば、他の方法でQP値を生成してもよい。 In the above example, the QP prediction value is generated using the QP value of the block processed immediately before except at the head of the block line. However, if the prediction is made from the block adjacent to the processing block, the QP value is generated by another method. May be.
なお、動画像復号装置10の実施例1と同様に、QP選択部802の処理は次のような処理あってもよい。処理するブロックラインが2〜N番目のブロックラインのときは、直前QP記憶部801が保存しているQP値はSliceQP値であり、Slice単位に1つ定まる値である。そのため、各ブロックのQP予測値として、SliceQP値を採用するとき、予測効率はそれほどよくない場合がある。
As in the first embodiment of the
そこで、QP選択部802は、処理するブロックラインが2〜N番目のブロックラインの先頭ブロックを処理するときは、上QP取得部803が取得したQP値を選択し、それ以外では、直前QP記憶部801が保持したQP値を選択してもよい。
Therefore, the
また、QP選択部802は、N+1番目以降のブロックラインの先頭ブロックを処理するときは、直前QP記憶部801が保持しているQP値を選択する。このときの直前QP記憶部801が保持しているQP値は、処理ブロックのNブロック上に位置するブロックラインの最後のブロックのQP値である。
Further, the
K番目のブロックラインとK+N番目のブロックラインは、同一の復号処理部とQP予測部とエントロピー復号部とで処理されるため、K番目のブロックラインの処理ブロックの直前に処理したブロックは、K−N番目のブロックラインの最後のブロックである。 Since the Kth block line and the K + Nth block line are processed by the same decoding processing unit, QP prediction unit, and entropy decoding unit, the block processed immediately before the processing block of the Kth block line is K -The last block of the Nth block line.
さらに、QP選択部802は、ブロックラインの先頭ブロックでは、常に直前QP記憶部801に記憶されるQP値を採用するようにしてもよい。また、QP選択部802は、処理するブロックラインが1〜N番目のブロックラインの先頭ブロックであるときは、QP予測値はSliceQP値としてもよい。
Furthermore, the
このとき、同様にN+1番目のブロックラインの先頭ブロックのQP予測値は、Nブロック上に位置するブロックラインの最後のブロック(最終ブロック)のQP値としてもよい。 At this time, similarly, the QP predicted value of the first block of the (N + 1) th block line may be the QP value of the last block (final block) of the block line located on the N block.
各エントロピー符号化部641〜643は、各ブロックの差分動きベクトル、QP差分値、量子化された直交変換係数などを、ブロックライン毎にエントロピー符号化する。
Each
以上の構成を有することで、量子化パラメータの予測値を求める処理を、ブロックライン毎に並列処理することができる。 With the above configuration, the process for obtaining the predicted value of the quantization parameter can be performed in parallel for each block line.
<動作>
次に、実施例2における動画像符号化装置50の動作について説明する。図16は、実施例2におけるブロック符号化処理の一例を示すフローチャートである。図16に示すブロック符号化処理は、1ブロックの処理である。
<Operation>
Next, the operation of the moving
ステップS201で、各符号化処理部に処理対象のブロック(処理ブロック)が入力される。動き検出部708は、復号画素記憶部505から参照ピクチャの画素データを取得し、動きベクトルが検出される。
In step S201, a block to be processed (processing block) is input to each encoding processing unit. The
ステップS202で、差分ベクトル生成部710は、検出された動きベクトルと、生成した予測ベクトルとの差分ベクトルを生成する。
In step S202, the difference
ステップS203で、動き検出部708は、検出された動きベクトルをブロック情報記憶部624に記憶する。
In step S203, the
ステップS204で、予測信号生成部709は、動き検出部708で検出された動きベクトルが参照する参照画像の領域位置情報を取得し、予測画素信号を生成する。
In step S204, the prediction
ステップS205で、予測差分部701は、予測信号生成部709により生成された予測画素信号と、入力された原画像との差分をとり、予測誤差信号を生成する。
In step S205, the
ステップS206で、直交変換部702は、予測差分部701で生成された予測誤差信号に対し、直交変換処理を行い、直交変換係数を生成する。
In step S206, the
ステップS207で、量子化部703は、直交変換係数に対し、量子化パラメータ(QP)値に基づいて量子化する。
In step S207, the
ステップS208で、各QP予測部は、処理ブロックのQP予測値を生成する。QP予測値は、例えば、処理ブロックの上ブロック、あるいはQP予測部が属するブロックライ
符号化部が過去に処理したブロックのQP値とする。
In step S208, each QP prediction unit generates a QP prediction value for the processing block. The QP prediction value is, for example, the QP value of the upper block of the processing block or the block processed in the past by the block ry encoding unit to which the QP prediction unit belongs.
ステップS209で、QP確定部704は、量子化部703から取得したQP値と、QP予測部から取得したQP予測値とのいずれかに、処理ブロックのQP値を確定する。確定の仕方は上述した通りである。
In step S209, the
ステップS210で、各エントロピー符号化部は、処理ブロックの量子化された直交変換係数、QP差分値、差分ベクトルなどをエントロピー符号化する。 In step S210, each entropy coding unit entropy codes the quantized orthogonal transform coefficient, QP difference value, difference vector, and the like of the processing block.
ステップS211で、逆量子化部705と逆直交変換部706とは、量子化された直交変換係数に対し、逆量子化処理を行い、逆直交変換処理を行って、予測誤差信号に相当する信号を生成する。
In step S211, the
ステップS212で、復号画素生成部707は、予測信号生成部709から取得した予測画素信号と、逆直交変換部706から取得した信号とを加算し、局所的な復号画素を生成する。
In step S212, the decoded
ステップS213で、復号画素記憶部505は、生成された復号画素を記憶する。以上の処理で、ブロックの符号化処理が終了し、次のブロックの符号化処理に移行する。
In step S213, the decoded
以上、実施例2によれば、動画像符号化装置において、QP予測値の算出処理を並列化することを可能とし、ブロックライン並列処理の効率を向上させることができる。 As described above, according to the second embodiment, it is possible to parallelize the calculation processing of the QP prediction value in the video encoding device, and to improve the efficiency of the block line parallel processing.
[実施例3]
図17は、動画像処理装置の構成の一例を示すブロック図である。動画像処理装置90は、各実施例で説明した動画像符号化装置、又は動画像復号装置の一例である。図17に示すように、動画像処理装置90は、制御部901、主記憶部902、補助記憶部903、ドライブ装置904、ネットワークI/F部906、入力部907、表示部908を含む。これら各構成は、バスを介して相互にデータ送受信可能に接続されている。
[Example 3]
FIG. 17 is a block diagram illustrating an example of the configuration of the moving image processing apparatus. The moving
制御部901は、コンピュータの中で、各装置の制御やデータの演算、加工を行うCPUである。また、制御部901は、主記憶部902や補助記憶部903に記憶されたプログラムを実行する演算装置であり、入力部907や記憶装置からデータを受け取り、演算、加工した上で、表示部908や記憶装置などに出力する。
The
主記憶部902は、ROM(Read Only Memory)やRAM(Random Access Memory)などであり、制御部901が実行する基本ソフトウェアであるOSやアプリケーションソフトウェアなどのプログラムやデータを記憶又は一時保存する記憶装置である。
The
補助記憶部903は、HDD(Hard Disk Drive)などであり、アプリケーションソフトウェアなどに関連するデータを記憶する記憶装置である。
The
ドライブ装置904は、記録媒体905、例えばフレキシブルディスクからプログラムを読み出し、記憶装置にインストールする。
The
また、記録媒体905は、所定のプログラムを格納する。この記録媒体905に格納されたプログラムは、ドライブ装置904を介して動画像処理装置90にインストールされる。インストールされた所定のプログラムは、動画像処理装置90により実行可能となる。
The
ネットワークI/F部906は、有線及び/又は無線回線などのデータ伝送路により構築されたLAN(Local Area Network)、WAN(Wide Area Network)などのネットワークを介して接続された通信機能を有する周辺機器と動画像処理装置90とのインターフェースである。
The network I /
入力部907は、カーソルキー、数字入力及び各種機能キー等を備えたキーボード、表示部908の表示画面上でキーの選択等を行うためのマウスやスライスパット等を有する。また、入力部907は、ユーザが制御部901に操作指示を与えたり、データを入力したりするためのユーザインターフェースである。
The
表示部908は、LCD(Liquid Crystal Display)等を有し、制御部901から入力される表示データに応じた表示が行われる。なお、表示部908は、外部に設けられてもよく、その場合は、動画像処理装置90は、表示制御部を有する。
The
このように、前述した実施例で説明した動画像符号化処理又は動画像復号処理は、コンピュータに実行させるためのプログラムとして実現されてもよい。このプログラムをサーバ等からインストールしてコンピュータに実行させることで、前述した動画像符号化処理又は動画像復号処理を実現することができる。 As described above, the moving image encoding process or the moving image decoding process described in the above-described embodiment may be realized as a program for causing a computer to execute. By installing this program from a server or the like and causing the computer to execute it, the above-described moving image encoding process or moving image decoding process can be realized.
また、この動画像符号化プログラム又は動画像復号プログラムを記録媒体905に記録し、このプログラムが記録された記録媒体905をコンピュータや携帯端末に読み取らせて、前述した動画像符号化処理又は動画像復号処理を実現させることも可能である。
Further, the moving image encoding program or the moving image decoding program is recorded on the
なお、記録媒体905は、CD−ROM、フレキシブルディスク、光磁気ディスク等の様に情報を光学的,電気的或いは磁気的に記録する記録媒体、ROM、フラッシュメモリ等の様に情報を電気的に記録する半導体メモリ等、様々なタイプの記録媒体を用いることができる。なお、記録媒体805には、搬送波は含まれない。
The
動画像処理装置90で実行されるプログラムは、各実施例で説明した各部を含むモジュール構成となっている。実際のハードウェアとしては、制御部901が補助記憶部903からプログラムを読み出して実行することにより上記各部のうち1又は複数の各部が主記憶部902上にロードされ、1又は複数の各部が主記憶部902上に生成されるようになっている。
The program executed by the moving
また、前述した各実施例で説明した動画像符号化処理又は動画像復号処理は、1つ又は複数の集積回路に実装してもよい。 Further, the moving picture encoding process or the moving picture decoding process described in each of the above embodiments may be implemented in one or a plurality of integrated circuits.
以上、各実施例について詳述したが、特定の実施例に限定されるものではなく、特許請求の範囲に記載された範囲内において、種々の変形及び変更が可能である。また、前述した実施例の構成要素を全部又は複数を組み合わせることも可能である。 Although each embodiment has been described in detail above, it is not limited to a specific embodiment, and various modifications and changes can be made within the scope described in the claims. It is also possible to combine all or a plurality of the components of the above-described embodiments.
なお、以上の実施例に関し、さらに以下の付記を開示する。
(付記1)
複数のブロックに分割された画像に対し、動画像符号化方式を用いて符号化されたストリームを復号する動画像復号装置であって、
前記ブロックの列を示すブロックラインに含まれるブロックのストリームを、ブロックライン毎に並列にエントロピー復号する並列エントロピー復号部と、
前記ブロックラインに含まれる各ブロックの量子化パラメータの予測値を、ブロックライン毎に並列に算出する並列QP予測部と、
前記ブロックラインに含まれる各ブロックに対し、前記並列エントロピー復号部により復号されたデータと、前記並列QP予測部により算出された予測値とを用いて復号処理した復号画素を、ブロックライン毎に並列に生成する並列復号処理部と、を備え、
前記並列QP予測部は、
2以上の値を示すN個のブロックラインずつ並列処理する場合、K−1番目のブロックラインの処理ブロックの水平位置を、K番目のブロックラインの処理ブロックの水平位置よりも少なくとも1ブロック以上先に処理し、前記処理ブロックに対して、前記並列処理で処理が完了しているブロックを参照して前記予測値を算出する動画像復号装置。
(付記2)
前記並列QP予測部は、
前記画像の上から2番目以降のブロックラインの先頭ブロックを処理する場合、前記先頭ブロックの1ブロック上のブロックを参照する付記1記載の動画像復号装置。
(付記3)
前記並列QP予測部は、
前記画像の上から2〜N番目のブロックラインの先頭ブロックを処理する場合、前記先頭ブロックの1ブロック上のブロックを参照し、N+1番目以降のブロックラインの前記先頭ブロックを処理する場合、前記先頭ブロックのNブロック上のブロックラインにおける最終ブロックを参照する付記1記載の動画像復号装置。
(付記4)
前記予測値は、
前記画像の上から1〜N番目のブロックラインの先頭ブロックを処理する場合、該画像のヘッダ情報に含まれる量子化パラメータ値とし、N+1番目以降のブロックラインの前記先頭ブロックを処理する場合、前記先頭ブロックのNブロック上のブロックラインにおける最終ブロックの量子化パラメータ値とする付記1記載の動画像復号装置。
(付記5)
画像を複数のブロックに分割し、該ブロック毎に動画像符号化処理を行う動画像符号化装置であって、
前記ブロックの列を示すブロックラインに含まれるブロックに対し、量子化された直交変換係数を含む符号化データを、ブロックライン毎に並列に生成する並列符号化処理部と、
前記ブロックラインに含まれる各ブロックの量子化パラメータの予測値を、ブロックライン毎に並列に算出する並列QP予測部と、
前記ブロックラインに含まれる各ブロックに対し、前記符号化データと前記予測値とを用いてエントロピー符号化を、ブロックライン毎に並列に行う並列エントロピー符号化部と、を備え、
前記並列QP予測部は、
2以上の値を示すN個のブロックラインずつ並列処理する場合、K−1番目のブロックラインの処理ブロックの水平位置を、K番目のブロックラインの処理ブロックの水平位置よりも少なくとも1ブロック以上先に処理し、前記処理ブロックに対して、前記並列処理で処理が完了しているブロックを参照して前記予測値を算出する動画像符号化装置。
(付記6)
複数のブロックに分割された画像に対し、動画像符号化方式を用いて符号化されたストリームを復号する動画像復号装置が実行する動画像復号方法であって、
前記ブロックの列を示すブロックラインに含まれるブロックのストリームを、ブロックライン毎に並列にエントロピー復号し、
前記ブロックラインに含まれる各ブロックの量子化パラメータの予測値を、ブロックライン毎に並列に算出し、
前記ブロックラインに含まれる各ブロックに対し、前記並列エントロピー復号処理により復号されたデータと、前記予測値とを用いて復号処理した復号画素を、ブロックライン毎に並列に生成する処理を有し、
前記予測値を算出する処理は、
2以上の値を示すN個のブロックラインずつ並列処理する場合、K−1番目のブロックラインの処理ブロックの水平位置を、K番目のブロックラインの処理ブロックの水平位置よりも少なくとも1ブロック以上先に処理し、前記処理ブロックに対して、前記並列処理で処理が完了しているブロックを参照して前記予測値を算出する動画像復号方法。
(付記7)
画像を複数のブロックに分割し、該ブロック毎に動画像符号化処理を行う動画像符号化装置が実行する動画像符号化方法であって、
前記ブロックの列を示すブロックラインに含まれるブロックに対し、量子化された直交変換係数を含む符号化データを、ブロックライン毎に並列に生成し、
前記ブロックラインに含まれる各ブロックの量子化パラメータの予測値を、ブロックライン毎に並列に算出し、
前記ブロックラインに含まれる各ブロックに対し、前記符号化データと前記予測値とを用いてエントロピー符号化を、ブロックライン毎に並列に行う処理を有し、
前記予測値を算出する処理は、
2以上の値を示すN個のブロックラインずつ並列処理する場合、K−1番目のブロックラインの処理ブロックの水平位置を、K番目のブロックラインの処理ブロックの水平位置よりも少なくとも1ブロック以上先に処理し、前記処理ブロックに対して、前記並列処理で処理が完了しているブロックを参照して前記予測値を算出する動画像符号化方法。
(付記8)
複数のブロックに分割された画像に対し、動画像符号化方式を用いて符号化されたストリームを復号する動画像復号装置に実行させるための動画像復号プログラムであって、
前記ブロックの列を示すブロックラインに含まれるブロックのストリームを、ブロックライン毎に並列にエントロピー復号し、
前記ブロックラインに含まれる各ブロックの量子化パラメータの予測値を、ブロックライン毎に並列に算出し、
前記ブロックラインに含まれる各ブロックに対し、前記並列エントロピー復号処理により復号されたデータと、前記予測値とを用いて復号処理した復号画素を、ブロックライン毎に並列に生成する処理を有し、
前記予測値を算出する処理は、
2以上の値を示すN個のブロックラインずつ並列処理する場合、K−1番目のブロックラインの処理ブロックの水平位置を、K番目のブロックラインの処理ブロックの水平位置よりも少なくとも1ブロック以上先に処理し、前記処理ブロックに対して、前記並列処理で処理が完了しているブロックを参照して前記予測値を算出する動画像復号プログラム。
(付記9)
画像を複数のブロックに分割し、該ブロック毎に動画像符号化処理を行う動画像符号化装置に実行させるための動画像符号化プログラムであって、
前記ブロックの列を示すブロックラインに含まれるブロックに対し、量子化された直交変換係数を含む符号化データを、ブロックライン毎に並列に生成し、
前記ブロックラインに含まれる各ブロックの量子化パラメータの予測値を、ブロックライン毎に並列に算出し、
前記ブロックラインに含まれる各ブロックに対し、前記符号化データと前記予測値とを用いてエントロピー符号化を、ブロックライン毎に並列に行う処理を有し、
前記予測値を算出する処理は、
2以上の値を示すN個のブロックラインずつ並列処理する場合、K−1番目のブロックラインの処理ブロックの水平位置を、K番目のブロックラインの処理ブロックの水平位置よりも少なくとも1ブロック以上先に処理し、前記処理ブロックに対して、前記並列処理で処理が完了しているブロックを参照して前記予測値を算出する動画像符号化プログラム。
In addition, the following additional remarks are disclosed regarding the above Example.
(Appendix 1)
A video decoding device for decoding a stream encoded using a video encoding method for an image divided into a plurality of blocks,
A parallel entropy decoding unit that entropy-decodes a stream of blocks included in a block line indicating the row of blocks in parallel for each block line;
A parallel QP prediction unit that calculates a prediction value of a quantization parameter of each block included in the block line in parallel for each block line;
For each block included in the block line, a decoded pixel decoded using the data decoded by the parallel entropy decoding unit and the prediction value calculated by the parallel QP prediction unit is parallelized for each block line. A parallel decoding processing unit to generate,
The parallel QP prediction unit includes:
When parallel processing is performed in units of N block lines each having a value of 2 or more, the horizontal position of the processing block of the (K-1) th block line is at least one block ahead of the horizontal position of the processing block of the Kth block line. A video decoding apparatus that calculates the prediction value with reference to a block that has been processed in the parallel processing with respect to the processing block.
(Appendix 2)
The parallel QP prediction unit includes:
The moving picture decoding apparatus according to
(Appendix 3)
The parallel QP prediction unit includes:
When processing the first block of the 2nd to Nth block lines from the top of the image, refer to the block one block above the first block, and when processing the first block of the N + 1th and subsequent block lines, the start block The moving picture decoding apparatus according to
(Appendix 4)
The predicted value is
When processing the first block of the 1st to Nth block lines from the top of the image, the quantization parameter value included in the header information of the image, and when processing the first block of the N + 1 and subsequent block lines, The moving picture decoding apparatus according to
(Appendix 5)
A moving image encoding apparatus that divides an image into a plurality of blocks and performs a moving image encoding process for each block,
A parallel encoding processing unit that generates, in parallel for each block line, encoded data including quantized orthogonal transform coefficients for blocks included in the block line indicating the row of blocks;
A parallel QP prediction unit that calculates a prediction value of a quantization parameter of each block included in the block line in parallel for each block line;
A parallel entropy encoding unit that performs entropy encoding using the encoded data and the prediction value for each block included in the block line in parallel for each block line, and
The parallel QP prediction unit includes:
When parallel processing is performed in units of N block lines each having a value of 2 or more, the horizontal position of the processing block of the (K-1) th block line is at least one block ahead of the horizontal position of the processing block of the Kth block line. A video encoding apparatus that calculates the prediction value with reference to a block that has been processed in the parallel processing with respect to the processing block.
(Appendix 6)
A moving image decoding method executed by a moving image decoding apparatus for decoding a stream encoded using a moving image encoding method for an image divided into a plurality of blocks,
A block stream included in a block line indicating a row of the blocks is entropy-decoded in parallel for each block line,
The prediction value of the quantization parameter of each block included in the block line is calculated in parallel for each block line,
For each block included in the block line, a process of generating decoded pixels decoded using the data decoded by the parallel entropy decoding process and the predicted value in parallel for each block line,
The process of calculating the predicted value includes
When parallel processing is performed in units of N block lines each having a value of 2 or more, the horizontal position of the processing block of the (K-1) th block line is at least one block ahead of the horizontal position of the processing block of the Kth block line. The video decoding method of calculating the prediction value with reference to a block that has been processed in the parallel processing with respect to the processing block.
(Appendix 7)
A moving image encoding method executed by a moving image encoding apparatus that divides an image into a plurality of blocks and performs a moving image encoding process for each block,
For block included in the block line indicating the row of the block, the encoded data including the quantized orthogonal transform coefficient is generated in parallel for each block line,
The prediction value of the quantization parameter of each block included in the block line is calculated in parallel for each block line,
For each block included in the block line, a process of performing entropy encoding using the encoded data and the predicted value in parallel for each block line,
The process of calculating the predicted value includes
When parallel processing is performed in units of N block lines each having a value of 2 or more, the horizontal position of the processing block of the (K-1) th block line is at least one block ahead of the horizontal position of the processing block of the Kth block line. The moving picture coding method of calculating the prediction value with reference to a block that has been processed in the parallel processing with respect to the processing block.
(Appendix 8)
A moving picture decoding program for causing a moving picture decoding apparatus that decodes a stream encoded using a moving picture encoding scheme to an image divided into a plurality of blocks,
A block stream included in a block line indicating a row of the blocks is entropy-decoded in parallel for each block line,
The prediction value of the quantization parameter of each block included in the block line is calculated in parallel for each block line,
For each block included in the block line, a process of generating decoded pixels decoded using the data decoded by the parallel entropy decoding process and the predicted value in parallel for each block line,
The process of calculating the predicted value includes
When parallel processing is performed in units of N block lines each having a value of 2 or more, the horizontal position of the processing block of the (K-1) th block line is at least one block ahead of the horizontal position of the processing block of the Kth block line. A moving picture decoding program that calculates the prediction value with reference to a block that has been processed in the parallel processing with respect to the processing block.
(Appendix 9)
A moving picture coding program for dividing a picture into a plurality of blocks and causing a moving picture coding apparatus to perform a moving picture coding process for each block.
For block included in the block line indicating the row of the block, the encoded data including the quantized orthogonal transform coefficient is generated in parallel for each block line,
The prediction value of the quantization parameter of each block included in the block line is calculated in parallel for each block line,
For each block included in the block line, a process of performing entropy encoding using the encoded data and the predicted value in parallel for each block line,
The process of calculating the predicted value includes
When parallel processing is performed in units of N block lines each having a value of 2 or more, the horizontal position of the processing block of the (K-1) th block line is at least one block ahead of the horizontal position of the processing block of the Kth block line. A moving picture coding program that calculates the prediction value with reference to a block that has been processed by the parallel processing with respect to the processing block.
10 動画像復号装置
50 動画像符号化装置
90 動画像処理装置
101 並列復号部
102 並列エントロピー復号部
103 並列QP予測部
104 並列復号処理部
105 復号画素記憶部
201 ブロックライン復号処理部
244 ブロック情報記憶部
301 QP復元部
401 直前QP記憶部
402 QP選択部
403 上QP取得部
501 並列符号化部
502 並列符号化処理部
503 並列QP予測部
504 並列エントロピー符号化部
505 復号画素記憶部
601 ブロックライン符号化処理部
624 ブロック情報記憶部
704 QP確定部
801 直前QP記憶部
802 QP選択部
803 上QP取得部
901 制御部
902 主記憶部
903 補助記憶部
DESCRIPTION OF
Claims (2)
前記動画像符号化部は、
前記ブロックの列を示すブロックラインに含まれるブロックに対し、量子化された直交変換係数を含む符号化データを、ブロックライン毎に並列に生成する並列符号化処理部と、
前記ブロックラインに含まれる各ブロックの符号化で使用した量子化パラメータに対する量子化パラメータの予測値を、ブロックライン毎に並列に算出する第1の並列QP予測部と、
前記ブロックラインに含まれる各ブロックに対し、前記符号化データと前記量子化パラメータの予測値とを用いてエントロピー符号化を、ブロックライン毎に並列に行う並列エントロピー符号化部と、を備え、
前記第1の並列QP予測部は、
2以上の値を示すN個のブロックラインずつ並列処理する場合、K−1番目のブロックラインの処理ブロックの水平位置を、K番目のブロックラインの処理ブロックの水平位置よりも少なくとも1ブロック以上先に処理し、
処理ブロックがブロックラインの先頭である場合においては、処理ブロックが属するスライスを単位にして定まる量子化パラメータで処理ブロックの直前に処理されたブロックの量子化パラメータを初期化し、初期化した量子化パラメータに基づいて処理ブロックの前記量子化パラメータの予測値を算出し、
処理ブロックがブロックラインの先頭以外の場合においては、ブロックライン内のブロックの量子化パラメータに基づいて処理ブロックの前記量子化パラメータの予測値を算出し、
前記並列符号化処理部は、
前記第1の並列QP予測部で算出した量子化パラメータの予測値と各ブロックの処理に使用した量子化パラメータおよび符号化の結果が全て0か否かの情報に基づいて処理ブロックの量子化パラメータを決定し、
前記動画像復号部は、
前記ブロックの列を示すブロックラインに含まれるブロックのストリームを、ブロックライン毎に並列にエントロピー復号する並列エントロピー復号部と、
前記ブロックラインに含まれる各ブロックの量子化パラメータの予測値を、ブロックライン毎に並列に算出する第2の並列QP予測部と、
前記ブロックラインに含まれる各ブロックに対し、前記並列エントロピー復号部により復号されたデータと、前記第2の並列QP予測部により算出された予測値とを用いて復号処理した復号画素を、ブロックライン毎に並列に生成する並列復号処理部と、を備え、
前記第2の並列QP予測部は、
2以上の値を示すN個のブロックラインずつ並列処理する場合、K−1番目のブロックラインの処理ブロックの水平位置と、K番目のブロックラインの処理ブロックの水平位置の関係として、K−1番目のブロックラインの処理ブロックの水平位置が少なくとも1ブロック以上先行したタイミングとし、
処理ブロックがブロックラインの先頭である場合においては、処理ブロックが属するスライスを単位にして定まる量子化パラメータで処理ブロックの直前に処理されたブロックの量子化パラメータを初期化し、初期化した量子化パラメータに基づいて処理ブロックの前記量子化パラメータの予測値を算出し、
処理ブロックがブロックラインの先頭以外の場合においては、ブロックライン内の先に復号が完了しているブロックの量子化パラメータに基づいて処理ブロックの前記量子化パラメータの予測値を算出し、
前記並列復号処理部は、
前記第2の並列QP予測部で算出した量子化パラメータの予測値に基づいて処理ブロックの量子化パラメータを算出し、算出した量子化パラメータを利用して処理ブロックのデブロッキングフィルタ処理を行う動画像処理装置。 A moving image processing apparatus including a moving image encoding unit that divides an image into a plurality of blocks and performs a moving image encoding process for each block, and a moving image decoding unit that decodes an encoded stream. ,
The moving image encoding unit includes:
A parallel encoding processing unit that generates, in parallel for each block line, encoded data including quantized orthogonal transform coefficients for blocks included in the block line indicating the row of blocks;
A first parallel QP prediction unit that calculates a prediction value of a quantization parameter for a quantization parameter used in encoding of each block included in the block line in parallel for each block line;
A parallel entropy encoding unit that performs entropy encoding on each block included in the block line using the encoded data and the predicted value of the quantization parameter in parallel for each block line, and
The first parallel QP prediction unit includes:
When parallel processing is performed in units of N block lines each having a value of 2 or more, the horizontal position of the processing block of the (K-1) th block line is at least one block ahead of the horizontal position of the processing block of the Kth block line. To process
When the processing block is at the head of the block line, the quantization parameter of the block processed immediately before the processing block is initialized with the quantization parameter determined in units of the slice to which the processing block belongs, and the initialized quantization parameter is set. A predicted value of the quantization parameter of the processing block based on
In the case where the processing block is other than the head of the block line, the predicted value of the quantization parameter of the processing block is calculated based on the quantization parameter of the block in the block line,
The parallel encoding processing unit
The quantization parameter of the processing block based on the prediction value of the quantization parameter calculated by the first parallel QP prediction unit, the quantization parameter used for the processing of each block, and whether the result of encoding is all 0 or not Decide
The moving image decoding unit
A parallel entropy decoding unit that entropy-decodes a stream of blocks included in a block line indicating the row of blocks in parallel for each block line;
A second parallel QP prediction unit that calculates a prediction value of a quantization parameter of each block included in the block line in parallel for each block line;
For each block included in the block line, a decoded pixel obtained by performing decoding processing using the data decoded by the parallel entropy decoding unit and the prediction value calculated by the second parallel QP prediction unit, A parallel decoding processing unit that generates each in parallel,
The second parallel QP prediction unit includes:
When parallel processing is performed for each of N block lines indicating a value of 2 or more, the relationship between the horizontal position of the processing block of the (K-1) th block line and the horizontal position of the processing block of the Kth block line is K-1 The timing at which the horizontal position of the processing block of the first block line precedes at least one block,
When the processing block is at the head of the block line, the quantization parameter of the block processed immediately before the processing block is initialized with the quantization parameter determined in units of the slice to which the processing block belongs, and the initialized quantization parameter is set. A predicted value of the quantization parameter of the processing block based on
In the case where the processing block is other than the head of the block line, the prediction value of the quantization parameter of the processing block is calculated based on the quantization parameter of the block that has been decoded earlier in the block line,
The parallel decoding processing unit
A moving image that calculates a quantization parameter of a processing block based on the predicted value of the quantization parameter calculated by the second parallel QP prediction unit, and performs a deblocking filter process of the processing block using the calculated quantization parameter Processing equipment.
前記動画像符号化部は、
前記ブロックの列を示すブロックラインに含まれるブロックに対し、量子化された直交変換係数を含む符号化データを、ブロックライン毎に並列に生成し、
前記ブロックラインに含まれる各ブロックの符号化で使用した量子化パラメータに対する量子化パラメータの予測値を、ブロックライン毎に並列に算出し、
前記ブロックラインに含まれる各ブロックに対し、前記符号化データと前記量子化パラメータの予測値とを用いてエントロピー符号化を、ブロックライン毎に並列に行う処理を実行し、
前記予測値を算出する処理は、
2以上の値を示すN個のブロックラインずつ並列処理する場合、K−1番目のブロックラインの処理ブロックの水平位置を、K番目のブロックラインの処理ブロックの水平位置よりも少なくとも1ブロック以上先に処理し、
処理ブロックがブロックラインの先頭である場合においては、処理ブロックが属するスライスを単位にして定まる量子化パラメータで処理ブロックの直前に処理されたブロックの量子化パラメータを初期化し、初期化した量子化パラメータに基づいて処理ブロックの前記量子化パラメータの予測値を算出し、
処理ブロックがブロックラインの先頭以外の場合においては、ブロックライン内のブロックの量子化パラメータに基づいて処理ブロックの前記量子化パラメータの予測値を算出し、
前記符号化データを生成する処理は、
前記予測値を算出する処理で算出した量子化パラメータの予測値と各ブロックの処理に使用した量子化パラメータおよび符号化の結果が全て0か否かの情報に基づいて処理ブロックの量子化パラメータを決定し、
前記動画像復号部は、
前記ブロックの列を示すブロックラインに含まれるブロックのストリームを、ブロック
ライン毎に並列にエントロピー復号し、
前記ブロックラインに含まれる各ブロックの量子化パラメータの予測値を、ブロックラ
イン毎に並列に算出し、
前記ブロックラインに含まれる各ブロックに対し、前記並列にエントロピー復号された
データと、前記予測値とを用いて復号処理した復号画素を、ブロックライン毎に並列に生
成する処理を実行し、
前記予測値を算出する処理は、
2以上の値を示すN個のブロックラインずつ並列処理する場合、K−1番目のブロック
ラインの処理ブロックの水平位置と、K番目のブロックラインの処理ブロックの水平位置
の関係として、K−1番目のブロックラインの処理ブロックの水平位置が少なくとも1ブ
ロック以上先行したタイミングとし、
処理ブロックがブロックラインの先頭である場合においては、処理ブロックが属するス
ライスを単位にして定まる量子化パラメータで処理ブロックの直前に処理されたブロック
の量子化パラメータを初期化し、初期化した量子化パラメータに基づいて処理ブロックの
前記量子化パラメータの予測値を算出し、
処理ブロックがブロックラインの先頭以外の場合においては、ブロックライン内の先に
復号が完了しているブロックの量子化パラメータに基づいて処理ブロックの前記量子化パ
ラメータの予測値を算出し、
前記復号画素を生成する処理は、
前記予測値を算出する処理で算出した量子化パラメータの予測値に基づいて処理ブロッ
クの量子化パラメータを算出し、算出した量子化パラメータを利用して処理ブロックのデ
ブロッキングフィルタ処理を行う動画像処理方法。 A moving image of a moving image processing apparatus having a moving image encoding unit that divides an image into a plurality of blocks and performs a moving image encoding process for each block, and a moving image decoding unit that decodes the encoded stream A processing method,
The moving image encoding unit includes:
For block included in the block line indicating the row of the block, the encoded data including the quantized orthogonal transform coefficient is generated in parallel for each block line,
The prediction value of the quantization parameter for the quantization parameter used in the encoding of each block included in the block line is calculated in parallel for each block line,
For each block included in the block line, performing entropy coding using the encoded data and the predicted value of the quantization parameter in parallel for each block line,
The process of calculating the predicted value includes
When parallel processing is performed in units of N block lines each having a value of 2 or more, the horizontal position of the processing block of the (K-1) th block line is at least one block ahead of the horizontal position of the processing block of the Kth block line. To process
When the processing block is at the head of the block line, the quantization parameter of the block processed immediately before the processing block is initialized with the quantization parameter determined in units of the slice to which the processing block belongs, and the initialized quantization parameter is set. A predicted value of the quantization parameter of the processing block based on
In the case where the processing block is other than the head of the block line, the predicted value of the quantization parameter of the processing block is calculated based on the quantization parameter of the block in the block line,
The process of generating the encoded data includes
Based on the prediction value of the quantization parameter calculated in the process of calculating the prediction value, the quantization parameter used for the processing of each block, and whether the result of the encoding is all 0 or not, the quantization parameter of the processing block is determined. Decide
The moving image decoding unit
A block stream included in a block line indicating a row of the blocks is entropy-decoded in parallel for each block line,
The prediction value of the quantization parameter of each block included in the block line is calculated in parallel for each block line,
For each block included in the block line, a process of generating decoded pixels decoded using the parallel entropy-decoded data and the predicted value for each block line is executed.
The process of calculating the predicted value includes
When parallel processing is performed for each of N block lines indicating a value of 2 or more, the relationship between the horizontal position of the processing block of the (K-1) th block line and the horizontal position of the processing block of the Kth block line is K-1 The timing at which the horizontal position of the processing block of the first block line precedes at least one block,
When the processing block is at the head of the block line, the quantization parameter of the block processed immediately before the processing block is initialized with the quantization parameter determined in units of the slice to which the processing block belongs, and the initialized quantization parameter is set. A predicted value of the quantization parameter of the processing block based on
In the case where the processing block is other than the head of the block line, the prediction value of the quantization parameter of the processing block is calculated based on the quantization parameter of the block that has been decoded earlier in the block line,
The process of generating the decoded pixel includes:
Video processing for calculating a quantization parameter of a processing block based on a prediction value of a quantization parameter calculated in the process of calculating the prediction value, and performing deblocking filter processing of the processing block using the calculated quantization parameter Method.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2017082299A JP6311821B2 (en) | 2017-04-18 | 2017-04-18 | Moving image processing apparatus and moving image processing method |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2017082299A JP6311821B2 (en) | 2017-04-18 | 2017-04-18 | Moving image processing apparatus and moving image processing method |
Related Parent Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2015219838A Division JP6317720B2 (en) | 2015-11-09 | 2015-11-09 | Moving picture coding apparatus, moving picture coding method, and moving picture coding program |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2017127034A JP2017127034A (en) | 2017-07-20 |
JP6311821B2 true JP6311821B2 (en) | 2018-04-18 |
Family
ID=59364612
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2017082299A Active JP6311821B2 (en) | 2017-04-18 | 2017-04-18 | Moving image processing apparatus and moving image processing method |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP6311821B2 (en) |
Family Cites Families (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP4453518B2 (en) * | 2004-10-29 | 2010-04-21 | ソニー株式会社 | Encoding and decoding apparatus and encoding and decoding method |
JP4095664B2 (en) * | 2006-04-17 | 2008-06-04 | 俊宏 南 | Video encoding device |
US8542730B2 (en) * | 2008-02-22 | 2013-09-24 | Qualcomm, Incorporated | Fast macroblock delta QP decision |
JP5007259B2 (en) * | 2008-03-27 | 2012-08-22 | ルネサスエレクトロニクス株式会社 | Image encoding device |
JP5756921B2 (en) * | 2008-06-10 | 2015-07-29 | パナソニックIpマネジメント株式会社 | Image decoding apparatus, image decoding method, image encoding apparatus, image encoding method, program, and integrated circuit |
WO2009157580A1 (en) * | 2008-06-27 | 2009-12-30 | ソニー株式会社 | Image processing device and image processing method |
JP5241622B2 (en) * | 2008-07-02 | 2013-07-17 | キヤノン株式会社 | Encoding apparatus and encoding method |
JP5341104B2 (en) * | 2008-12-08 | 2013-11-13 | パナソニック株式会社 | Image decoding apparatus and image decoding method |
MX353317B (en) * | 2010-06-10 | 2018-01-05 | Thomson Licensing | Methods and apparatus for determining quantization parameter predictors from a plurality of neighboring quantization parameters. |
JP6080375B2 (en) * | 2011-11-07 | 2017-02-15 | キヤノン株式会社 | Image encoding device, image encoding method and program, image decoding device, image decoding method and program |
-
2017
- 2017-04-18 JP JP2017082299A patent/JP6311821B2/en active Active
Also Published As
Publication number | Publication date |
---|---|
JP2017127034A (en) | 2017-07-20 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10051273B2 (en) | Video decoder and video decoding method | |
JP6065090B2 (en) | Moving picture decoding apparatus, moving picture decoding method, and moving picture decoding program | |
JP6317720B2 (en) | Moving picture coding apparatus, moving picture coding method, and moving picture coding program | |
JP6311821B2 (en) | Moving image processing apparatus and moving image processing method | |
JP2016054514A (en) | Moving image encoding device, moving image encoding method, and moving image encoding program |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20170418 |
|
TRDD | Decision of grant or rejection written | ||
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20180214 |
|
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20180220 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20180305 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 6311821 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |