JP6317720B2 - Moving picture coding apparatus, moving picture coding method, and moving picture coding program - Google Patents

Moving picture coding apparatus, moving picture coding method, and moving picture coding program Download PDF

Info

Publication number
JP6317720B2
JP6317720B2 JP2015219838A JP2015219838A JP6317720B2 JP 6317720 B2 JP6317720 B2 JP 6317720B2 JP 2015219838 A JP2015219838 A JP 2015219838A JP 2015219838 A JP2015219838 A JP 2015219838A JP 6317720 B2 JP6317720 B2 JP 6317720B2
Authority
JP
Japan
Prior art keywords
block
processing
unit
quantization parameter
parallel
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
Application number
JP2015219838A
Other languages
Japanese (ja)
Other versions
JP2016054513A (en
Inventor
智史 島田
智史 島田
数井 君彦
君彦 数井
純平 小山
純平 小山
中川 章
章 中川
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Fujitsu Ltd
Original Assignee
Fujitsu Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to JP2015219838A priority Critical patent/JP6317720B2/en
Publication of JP2016054513A publication Critical patent/JP2016054513A/en
Application granted granted Critical
Publication of JP6317720B2 publication Critical patent/JP6317720B2/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Description

本発明は、各ピクチャを複数のブロックに分割してブロックごとに処理する動画像符号化装置、動画像符号化方法、動画像符号化プログラムに関する。   The present invention relates to a moving picture coding apparatus, a moving picture coding method, and a moving picture coding program that divide each picture into a plurality of blocks and process 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, unit 1 processes odd block lines and unit 2 processes even block lines.

図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 unit 1 and the horizontal address of the block of the second block line (second block line) processed by the unit 2 are processed. Shift the address by 2 blocks or more.

これにより、ユニット2の処理ブロックXに注目すると、その処理ブロックXの左ブロックAとともに、ユニット1が処理する左上ブロックBと上ブロックCと右上ブロックDは処理済みである。ブロックXでは、これらの処理済みブロックの符号化結果を利用することができる。   Accordingly, when attention is paid to the processing block X of the unit 2, the upper left block B, the upper block C, and the upper right block D processed by the unit 1 have been processed together with the left block A of the processing block X. In block X, the encoded results of these processed blocks can be used.

例えば、奇数ブロックラインの終了を待たずに、偶数ブロックラインの処理を開始できるため、動き予測や直交変換などの処理に関して並列化を達成することができる。以上では、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.

ISO/IEC 14496-10 (MPEG-4 Part 10) / ITU-T Rec.H.264ISO / IEC 14496-10 (MPEG-4 Part 10) / ITU-T Rec.H.264 Thomas Wiegand、Woo-Jin Han、Benjamin Bross、Jens-Rainer Ohm、Gary J. Sullivan、"Working Draft 5 of High-Efficiency Video Coding" JCTVC-G1103, JCT-VC 7th Meeting, 2011年12月Thomas Wiegand, Woo-Jin Han, Benjamin Bross, Jens-Rainer Ohm, Gary J. Sullivan, "Working Draft 5 of High-Efficiency Video Coding" JCTVC-G1103, JCT-VC 7th Meeting, December 2011 HEVC参照ソフトウェア HM5.0 "https://hevc.hhi.fraunhofer.de/svn/svn_HEVCSoftware/tags/HM-5.0/"HEVC reference software HM5.0 "https://hevc.hhi.fraunhofer.de/svn/svn_HEVCSoftware/tags/HM-5.0/" MPEG-2, Test Model 5 (TM5), Doc. ISO/IEC JTC1/SC29/WG11/N0400, Test Model Editing Committee, April 1993.MPEG-2, Test Model 5 (TM5), Doc.ISO / IEC JTC1 / SC29 / WG11 / N0400, Test Model Editing Committee, April 1993.

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.

開示の一態様における動画像符号化装置は、画像を複数のブロックに分割し、該ブロック毎に動画像符号化処理を行う動画像符号化装置であって、前記ブロックの列を示すブロックラインに含まれるブロックに対し、量子化された直交変換係数を含む符号化データを、ブロックライン毎に並列に生成する並列符号化処理部と、前記ブロックラインに含まれる各ブロックの符号化で使用した量子化パラメータに対する量子化パラメータの予測値を、ブロックライン毎に並列に算出する並列QP予測部と、前記ブロックラインに含まれる各ブロックに対し、前記符号化データと前記量子化パラメータの予測値とを用いてエントロピー符号化を、ブロックライン毎に並列に行う並列エントロピー符号化部と、を備え、前記並列QP予測部は、2以上の値を示すN個のブロックラインずつ並列処理する場合、K−1番目のブロックラインの処理ブロックの水平位置を、K番目のブロックラインの処理ブロックの水平位置よりも少なくとも1ブロック以上先に処理し、処理ブロックがブロックラインの先頭である場合においては、前記並列処理で処理が完了しているブロックに含まれる量子化パラメータ又は、処理ブロックが属するスライスを単位にして定まる量子化パラメータで処理ブロックの直前に処理されたブロックの量子化パラメータを初期化し、初期化した量子化パラメータに基づいて処理ブロックの前記量子化パラメータの予測値を算出し、処理ブロックがブロックラインの先頭以外の場合においては、ブロックライン内のブロックの量子化パラメータに基づいて処理ブロックの前記量子化パラメータの予測値を算出し、前記並列符号化処理部は、前記並列QP予測部で算出した量子化パラメータの予測値と各ブロックの処理に使用した量子化パラメータおよび符号化の結果が全て0否かの情報に基づいて処理ブロックの量子化パラメータを決定する
A moving image encoding apparatus according to an aspect of the disclosure is a moving image encoding apparatus that divides an image into a plurality of blocks and performs a moving image encoding process for each block, and includes a block line indicating a row of the blocks. A parallel encoding processing unit that generates encoded data including quantized orthogonal transform coefficients in parallel for each block, and a quantum used for encoding each block included in the block line A parallel QP prediction unit that calculates the prediction value of the quantization parameter for the quantization parameter in parallel for each block line, and the encoded data and the prediction value of the quantization parameter for each block included in the block line. A parallel entropy encoding unit that performs entropy encoding in parallel for each block line, and the parallel QP prediction unit includes two or more When processed in parallel by N blocks line indicating the value, process the horizontal position of the processing blocks of K-1 th block line, the at least one block or more earlier than the horizontal position of the processing blocks of the K-th block line , when processing block is the head block line, the quantization parameter included in the block processed by the parallel processing has been completed or, treated with a quantization parameter determined by the slice processing block belonging to the unit block The quantization parameter of the block processed immediately before is initialized, the predicted value of the quantization parameter of the processing block is calculated based on the initialized quantization parameter, and when the processing block is other than the head of the block line, , Processing block based on block quantization parameters in the block line Calculating a predicted value of the serial quantized parameters, said parallel encoding unit, said parallel QP prediction value and the quantization parameter and encoding used to process each block of quantized parameter calculated by the prediction unit results The quantization parameter of the processing block is determined based on information indicating whether or not all are zero .

開示の技術によれば、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.

ブロックライン並列処理を説明するための図。The figure for demonstrating block line parallel processing. HEVCにおけるエントロピー処理部のブロックライン並列処理を説明するための図。The figure for demonstrating the block line parallel processing of the entropy process part in HEVC. 従来のブロックライン並列処理を行う符号化装置の概略構成を示すブロック図。The block diagram which shows schematic structure of the encoding apparatus which performs the conventional block line parallel processing. 従来のブロックライン並列処理を行う復号装置の概略構成を示すブロック図。The block diagram which shows schematic structure of the decoding apparatus which performs the conventional block line parallel processing. QP予測処理におけるブロックライン並列処理(その1)を示す図。The figure which shows the block line parallel process (the 1) in QP prediction process. QP予測処理におけるブロックライン並列処理(その2)を示す図。The figure which shows the block line parallel process (the 2) in QP prediction process. QP予測処理におけるブロックライン並列処理(その3)を示す図。The figure which shows the block line parallel process (the 3) in QP prediction process. 実施例1における動画像復号装置の構成の一例を示すブロック図。1 is a block diagram illustrating an example of a configuration of a video decoding device in Embodiment 1. FIG. 実施例1における並列復号部の各部の構成の一例を示すブロック図。FIG. 3 is a block diagram illustrating an example of a configuration of each unit of the parallel decoding unit according to the first embodiment. 実施例1における復号処理部の構成の一例を示すブロック図。FIG. 3 is a block diagram illustrating an example of a configuration of a decoding processing unit according to the first embodiment. N=3の場合の並列QP予測処理における利用可能ブロックの一例を示す図。The figure which shows an example of the block which can be utilized in the parallel QP prediction process in case of N = 3. 実施例1におけるQP予測部の構成の一例を示すブロック図。FIG. 3 is a block diagram illustrating an example of a configuration of a QP prediction unit according to the first embodiment. 実施例1におけるQP予測処理(その1)の一例を示す図。The figure which shows an example of the QP prediction process (the 1) in Example 1. FIG. 実施例1におけるQP予測処理(その2)の一例を示す図。The figure which shows an example of the QP prediction process (the 2) in Example 1. FIG. 実施例1におけるブロック復号処理の一例を示すフローチャート。3 is a flowchart illustrating an example of a block decoding process according to the first embodiment. 実施例2における動画像符号化装置の構成の一例を示すブロック図。FIG. 9 is a block diagram illustrating an example of a configuration of a moving image encoding device according to a second embodiment. 実施例2における並列符号化部の各部の構成の一例を示すブロック図。FIG. 9 is a block diagram illustrating an example of a configuration of each unit of a parallel encoding unit according to the second embodiment. 実施例2における符号化処理部の構成の一例を示すブロック図。FIG. 9 is a block diagram illustrating an example of a configuration of an encoding processing unit according to the second embodiment. 実施例2におけるQP予測部の構成の一例を示すブロック図。FIG. 10 is a block diagram illustrating an example of a configuration of a QP prediction unit according to a second embodiment. 実施例2におけるブロック符号化処理の一例を示すフローチャート。10 is a flowchart illustrating an example of a block encoding process according to the second embodiment. 実施例3における動画像処理装置の構成の一例を示すブロック図。FIG. 9 is a block diagram illustrating an example of a configuration of a moving image processing apparatus according to a third embodiment.

以下、添付図面を参照しながら各実施例について詳細に説明する。なお、動画像に含まれる画像(ピクチャ)は、フレーム又はフィールドの何れであってもよい。フレームは、動画像データ中の一つの静止画像であり、一方、フィールドは、フレームから奇数行のデータあるいは偶数行のデータのみを取り出すことにより得られる静止画像である。 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 video decoding device 10 includes a parallel decoding unit 101 and a decoded pixel storage unit 105. The parallel decoding unit 101 includes a parallel entropy decoding unit 102, a parallel QP prediction unit 103, and a parallel decoding processing unit 104.

なお、動画像復号装置10は、N個のブロックラインを並列処理することとする。また、ブロックラインとは、例えば画像内における水平方向のブロック列をいう。   Note that the video decoding device 10 performs parallel processing on N block lines. Further, the block line refers to a horizontal block row in the image, for example.

並列復号部101の各部は、各ブロックラインにおいて処理するブロックを同一のブロックとする。また、例えば、K−1番目のブロックラインの処理ブロックの水平位置は、K番目のブロックラインの処理ブロックの水平位置よりも2ブロック以上先とする。   Each unit of the parallel decoding unit 101 sets the same block to be processed in each block line. Further, for example, the horizontal position of the processing block of the (K-1) th block line is two blocks or more ahead of the horizontal position of the processing block of the Kth block line.

これは、ブロックライン間で、水平位置が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 parallel decoding unit 101 decodes an image divided into a plurality of blocks by performing parallel processing on, for example, N block lines on a stream encoded using a moving image encoding method. Pixels decoded for each block of the block line are output to the decoded pixel storage unit 105. The decoded pixel is referred to as a decoded pixel.

並列エントロピー復号部102は、入力されたストリームに対し、ブロックライン毎に分割し、ブロックライン毎に、このブロックラインに含まれるブロックのストリームを並列にエントロピー復号する。並列エントロピー復号部102は、エントロピー復号されたデータを並列復号処理部104に出力する。   The parallel entropy decoding unit 102 divides the input stream for each block line, and performs entropy decoding of the block stream included in the block line in parallel for each block line. The parallel entropy decoding unit 102 outputs the entropy decoded data to the parallel decoding processing unit 104.

並列QP予測部103は、ブロックラインに含まれる各ブロックの量子化パラメータ(QP)の予測値(QP予測値)を、ブロックライン毎に並列に算出する。算出されたQP予測値を並列復号処理部104に出力する。   The parallel QP prediction unit 103 calculates the prediction value (QP prediction value) of the quantization parameter (QP) of each block included in the block line in parallel for each block line. The calculated QP prediction value is output to the parallel decoding processing unit 104.

並列復号処理部104は、ブロックラインに含まれる各ブロックに対し、並列エントロピー復号部102により復号されたデータと、並列QP予測部103により算出されたQP予測値とを用いて復号処理した復号画素を、ブロックライン毎に並列に生成する。生成された復号画素は復号画素記憶部105に出力される。   The parallel decoding processing unit 104 decodes each block included in the block line using the data decoded by the parallel entropy decoding unit 102 and the QP prediction value calculated by the parallel QP prediction unit 103. Are generated in parallel for each block line. The generated decoded pixel is output to the decoded pixel storage unit 105.

復号画素記憶部105は、並列復号部101から出力された各ブロックの復号画素を記憶する。復号画素は、画像単位で集合すると画像(ピクチャ)となる。復号画素記憶部105は、1ピクチャ分の復号処理が完了したときに、復号された画像が出力される。   The decoded pixel storage unit 105 stores the decoded pixel of each block output from the parallel decoding unit 101. Decoded pixels form an image (picture) when aggregated in units of images. The decoded pixel storage unit 105 outputs a decoded image when the decoding process for one picture is completed.

《並列復号部》
次に、並列復号部101について説明する。図6は、実施例1における並列復号部101の各部の構成の一例を示すブロック図である。図6に示す例では、並列エントロピー復号部102は、第1エントロピー復号部221と、第2エントロピー復号部222と、第Nエントロピー復号部223とを有する。
《Parallel decoding unit》
Next, the parallel decoding unit 101 will be described. FIG. 6 is a block diagram illustrating an example of a configuration of each unit of the parallel decoding unit 101 according to the first embodiment. In the example illustrated in FIG. 6, the parallel entropy decoding unit 102 includes a first entropy decoding unit 221, a second entropy decoding unit 222, and an Nth entropy decoding unit 223.

図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 QP prediction unit 103 includes a first QP prediction unit 231, a second QP prediction unit 232, and an NQP prediction unit 233. In the example illustrated in FIG. 6, the parallel decoding processing unit 104 includes a first decoding processing unit 241, a second decoding processing unit 242, an Nth decoding processing unit 243, and a block information holding unit 244.

ここで、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 decoding processing unit 201 includes a first entropy decoding unit 221, a first QP prediction unit 231, and a first decoding processing unit 241.

ブロックライン復号処理部は、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 entropy decoding unit 102 divides the input stream for each block line. Each entropy decoding unit 221 to 223 performs entropy decoding of each block line in parallel in units of N block lines in the divided stream. Each entropy decoding part 221-223 performs the entropy decoding process corresponding to the entropy encoding process in a moving image encoder.

各復号処理部241〜243は、ブロックライン単位で並列に復号処理を行う。図7は、実施例1における復号処理部の構成の一例を示すブロック図である。各復号処理部241〜243は、いずれも同様の処理を行うため、以下では、第1復号処理部241を用いて説明する。   Each of the decoding processing units 241 to 243 performs decoding processing in parallel on a block line basis. FIG. 7 is a block diagram illustrating an example of the configuration of the decoding processing unit according to the first embodiment. Since each of the decoding processing units 241 to 243 performs the same processing, the following description will be given using the first decoding processing unit 241.

第1復号処理部241は、QP復元部301と、逆量子化部302と、逆直交変換部303と、動きベクトル復元部304と、予測画素生成部305と、復号画素生成部306とを有する。   The first decoding processing unit 241 includes a QP restoration unit 301, an inverse quantization unit 302, an inverse orthogonal transform unit 303, a motion vector restoration unit 304, a prediction pixel generation unit 305, and a decoded pixel generation unit 306. .

QP復元部301は、後述する第1QP予測部231から入力されたQP予測値と、第1エントロピー復号部221から入力されたQP差分値とを用いてQP値を復元する(例えば式(2)参照)。復元されたQP値は、逆量子化部302に出力される。   The QP restoration unit 301 restores a QP value using a QP prediction value input from the first QP prediction unit 231 described later and a QP difference value input from the first entropy decoding unit 221 (for example, Expression (2)) reference). The restored QP value is output to the inverse quantization unit 302.

逆量子化部302は、復元されたQP値と直交変換係数とを乗算することで逆量子化を行う。逆量子化された直交変換係数は、逆直交変換部303に出力される。   The inverse quantization unit 302 performs inverse quantization by multiplying the restored QP value and the orthogonal transform coefficient. The inversely quantized orthogonal transform coefficient is output to the inverse orthogonal transform unit 303.

逆直交変換部303は、逆量子化部302から入力された直交変換係数に対して、逆直交変換処理を行い、予測誤差画素を生成する。生成された予測誤差画素は、復号画素生成部306に出力される。   The inverse orthogonal transform unit 303 performs an inverse orthogonal transform process on the orthogonal transform coefficient input from the inverse quantization unit 302 to generate a prediction error pixel. The generated prediction error pixel is output to the decoded pixel generation unit 306.

動きベクトル復元部304は、ブロック情報記憶部244から、処理ブロックの周辺ブロックの動きベクトル情報を取得し、予測ベクトルを算出する。動きベクトル復元部304は、予測ベクトルと、第1エントロピー復号部221から入力された差分ベクトルとを加算することにより、動きベクトルが復元される。復元された動きベクトルは、予測画素生成部305に出力される。   The motion vector restoration unit 304 acquires the motion vector information of the peripheral blocks of the processing block from the block information storage unit 244, and calculates a prediction vector. The motion vector restoring unit 304 restores the motion vector by adding the prediction vector and the difference vector input from the first entropy decoding unit 221. The restored motion vector is output to the predicted pixel generation unit 305.

予測画素生成部305は、過去に復号したピクチャが保存されている復号画素記憶部105から動きベクトルが指す参照ピクチャの画素データを取得し、予測画素を生成する。生成された予測画素は、復号画素生成部306に出力される。   The predicted pixel generation unit 305 acquires pixel data of the reference picture indicated by the motion vector from the decoded pixel storage unit 105 in which previously decoded pictures are stored, and generates a predicted pixel. The generated prediction pixel is output to the decoded pixel generation unit 306.

復号画素生成部306は、予測画素生成部305から入力された予測画素と、逆直交変換部303から入力された予測誤差画素とを加算し、復号画素を生成する。生成された復号画素は、復号画素記憶部105に記憶される。   The decoded pixel generation unit 306 adds the prediction pixel input from the prediction pixel generation unit 305 and the prediction error pixel input from the inverse orthogonal transform unit 303 to generate a decoded pixel. The generated decoded pixel is stored in the decoded pixel storage unit 105.

次に、各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 QP prediction units 231 to 233 performs the same process, the following description will be given using the first QP prediction unit 231.

図9に示す第1QP予測部231は、直前QP記憶部401と、QP選択部402と、上QP取得部403とを有する。   The first QP prediction unit 231 illustrated in FIG. 9 includes a previous QP storage unit 401, a QP selection unit 402, and an upper QP acquisition unit 403.

直前QP記憶部401は、現在の処理ブロックの直前に処理されたブロックのQP値をQP復元部301から受け取り、記憶している。直前QP記憶部401が記憶しているQP値は、ピクチャ処理開始時に初期化される。   The immediately preceding QP storage unit 401 receives the QP value of the block processed immediately before the current processing block from the QP restoration unit 301 and stores it. The QP value stored in the immediately preceding QP storage unit 401 is initialized at the start of picture processing.

例えば、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 acquisition unit 403 acquires, from the block information storage unit 244, for example, the QP value of the block located above the processing block.

QP選択部402は、直前QP記憶部401か、あるいは、上QP取得部403かのいずれかの出力するQP値を選択して、QP予測値としてQP復元部301に出力する。   The QP selection unit 402 selects the QP value output from either the immediately preceding QP storage unit 401 or the upper QP acquisition unit 403 and outputs the selected QP value to the QP restoration unit 301 as a QP predicted value.

例えば、QP選択部402は、処理ブロックがブロックライン先頭のブロックであれば、上QP取得部403から出力されたQP値を選択し、処理ブロックがブロックライン先頭以外のブロックであれば、直前QP記憶部401から出力されたQP値を選択する。QP選択部402は、選択したQP値をQP予測値として、QP復元部301に出力する。   For example, the QP selection unit 402 selects the QP value output from the upper QP acquisition unit 403 if the processing block is the block block head block, and if the processing block is a block other than the block line head block, The QP value output from the storage unit 401 is selected. The QP selection unit 402 outputs the selected QP value to the QP restoration unit 301 as a QP predicted value.

上記例の場合の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 QP selection unit 402 selects the QP value of the upper block A. .

図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 QP selection unit 402 selects the QP value of the block B processed immediately before.

ここで、処理ブロック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 selection unit 402 may be the following processing. When the block line to be processed is the 2nd to Nth block lines, the QP value stored in the immediately preceding QP storage unit 401 is a slice QP value, which is a value determined by slice unit. Therefore, it is considered that the prediction efficiency is not so good to adopt the Slice QP value as the QP prediction value of each block.

そこで、QP選択部402は、処理するブロックラインが2〜N番目のブロックラインの先頭ブロックが処理されるときは、上QP取得部403が取得したQP値を選択し、それ以外では、直前QP記憶部401が保持したQP値を選択してもよい。   Therefore, the QP selection unit 402 selects the QP value acquired by the upper QP acquisition unit 403 when the first block of the 2nd to Nth block lines is processed, and otherwise, the immediately preceding QP You may select the QP value which the memory | storage part 401 hold | maintained.

また、QP選択部402は、N+1番目以降のブロックラインの先頭ブロックを処理するときは、直前QP記憶部401が保持しているQP値を選択する。このときの直前QP記憶部401が保持しているQP値は、処理ブロックのNブロック上に位置するブロックラインの最後のブロック(最終ブロックとも呼ぶ)のQP値である。   Further, the QP selection unit 402 selects the QP value held in the immediately preceding QP storage unit 401 when processing the first block of the (N + 1) th and subsequent block lines. The QP value held by the immediately preceding QP storage unit 401 at this time is the QP value of the last block (also referred to as the last block) of the block line located on the N blocks of the processing block.

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 QP selection unit 402 may always adopt the QP value stored in the immediately preceding QP storage unit 401 in the first block of the block line. In addition, when the block line to be processed is the first block of the 1st to Nth block lines, the QP selection unit 402 may set the QP predicted value as a slice QP value.

このとき、同様に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 video decoding device 10 in the first embodiment will be described. FIG. 11 is a flowchart illustrating an example of the block decoding process according to the first embodiment. The block decoding process shown in FIG. 11 is a one-block process.

ステップ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 vector restoration unit 304 of the decoding processing unit acquires the motion vector information of the neighboring blocks from the block information storage unit 244, and calculates a prediction vector.

ステップS103で、動きベクトル復元部304は、差分動きベクトルと予測ベクトルとを加算することで、動きベクトルを復元する。復元された動きベクトルの情報は、ブロック情報記憶部244に記憶される。   In step S103, the motion vector restoration unit 304 restores the motion vector by adding the difference motion vector and the prediction vector. Information on the restored motion vector is stored in the block information storage unit 244.

ステップS104で、予測画素生成部305は、過去に復号されたピクチャが保存されている復号画素記憶部105から動きベクトルが指す参照ピクチャの画素データを取得し、予測画素を生成する。   In step S104, the predicted pixel generation unit 305 acquires pixel data of the reference picture indicated by the motion vector from the decoded pixel storage unit 105 in which previously decoded pictures are stored, and generates a predicted pixel.

ステップ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 QP restoration unit 301.

ステップS106で、QP復元部301は、入力されたQP予測値とQP差分値とからQP値を復元する。QP値は、逆量子化部302に入力されるとともにブロック情報記憶部244に保存される。QP予測値は、処理ブロックの上ブロックあるいは、ブロックライン復号処理部201が過去に処理したブロックのQP値とすることで、QP予測値の生成を待機する必要がなくなり、並列処理の効率が向上する。   In step S106, the QP restoration unit 301 restores the QP value from the input QP predicted value and QP difference value. The QP value is input to the inverse quantization unit 302 and stored in the block information storage unit 244. By making the QP predicted value the QP value of the upper block of the processing block or the block processed by the block line decoding processing unit 201 in the past, it is not necessary to wait for the generation of the QP predicted value, and the efficiency of parallel processing is improved. To do.

ステップS107で、逆量子化部302は、量子化された直交変換係数と、QP値とを乗算する。   In step S107, the inverse quantization unit 302 multiplies the quantized orthogonal transform coefficient by the QP value.

ステップS108で、逆直交変換部303は、逆量子化された直交変換係数に対し、逆直交変換処理を行い、予測誤差画素を生成する。   In step S108, the inverse orthogonal transform unit 303 performs an inverse orthogonal transform process on the inversely quantized orthogonal transform coefficient to generate a prediction error pixel.

ステップS109で、復号画素生成部306は、予測誤差画素と予測画素とを加算し、復号画素を生成する。   In step S109, the decoded pixel generation unit 306 adds the prediction error pixel and the prediction pixel to generate a decoded pixel.

ステップS110で、復号画素記憶部105は、復号画素を記憶する。以上の処理で、ブロックの復号処理が終了し、次のブロックの復号処理に移行する。1ピクチャに含まれるすべてのブロックの復号処理が終了したときに、復号画素記憶部105に記憶された復号画像は、例えばディスプレイなどの表示部に出力される。   In step S110, the decoded pixel storage unit 105 stores the decoded pixel. With the above processing, the block decoding process ends, and the process proceeds to the next block decoding process. When the decoding process for all the blocks included in one picture is completed, the decoded image stored in the decoded pixel storage unit 105 is output to a display unit such as a display.

以上、実施例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 image encoding device 50 according to the second embodiment. In the example illustrated in FIG. 12, the video decoding device 50 includes a parallel encoding unit 501 and a decoded pixel storage unit 505. The parallel encoding unit 501 includes a parallel encoding processing unit 502, a parallel QP prediction unit 503, and a parallel entropy encoding unit 504. Note that the video encoding device 50 performs parallel processing on N block lines.

並列符号化部501の各部は、各ブロックラインにおいて処理するブロックを同一のブロックとする。また、例えば、K−1番目のブロックラインの処理ブロックの水平位置は、K番目のブロックラインの処理ブロックの水平位置よりも2ブロック以上先とする。   Each unit of the parallel encoding unit 501 uses the same block as a block to be processed in each block line. Further, for example, the horizontal position of the processing block of the (K-1) th block line is two blocks or more ahead of the horizontal position of the processing block of the Kth block line.

これは、ブロックライン間で、水平位置が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 parallel encoding unit 501 divides an image into a plurality of blocks, and performs parallel processing using, for example, N block lines using a moving image encoding method. The decoded pixels locally decoded by the parallel encoding unit 501 are stored in the decoded pixel storage unit 505.

並列符号化処理部502は、ブロックライン毎に、このブロックラインに含まれるブロックに対し、量子化された直交変換係数、差分動きベクトル情報などを並列に生成する。生成された直交変換係数や差分動きベクトル情報(符号化データとも呼ぶ)は、並列エントロピー符号化部504に出力される。量子化で用いられたQP値は、並列QP予測部503に出力される。   The parallel encoding processing unit 502 generates a quantized orthogonal transform coefficient, differential motion vector information, and the like in parallel for each block included in the block line. The generated orthogonal transform coefficient and differential motion vector information (also referred to as encoded data) are output to the parallel entropy encoding unit 504. The QP value used in the quantization is output to the parallel QP prediction unit 503.

並列QP予測部503は、ブロックラインに含まれる各ブロックの量子化パラメータ(QP)の予測値(QP予測値)を、ブロックライン毎に並列に算出する。算出されたQP予測値を並列エントロピー符号化部504に出力する。   The parallel QP prediction unit 503 calculates the prediction value (QP prediction value) of the quantization parameter (QP) of each block included in the block line in parallel for each block line. The calculated QP prediction value is output to parallel entropy encoding unit 504.

並列エントロピー符号化部504は、ブロックラインに含まれる各ブロックに対し、量子化された直交変換係数、QP値とQP予測値との差分であるQP差分値、差分動きベクトル情報などを用いてエントロピー符号化を、ブロックライン単位で並列に行う。並列エントロピー符号化部504で符号化されたストリームは、動画像復号装置10などに出力される。   The parallel entropy encoding unit 504 applies entropy to each block included in the block line using a quantized orthogonal transform coefficient, a QP difference value that is a difference between the QP value and the QP prediction value, difference motion vector information, and the like. Encoding is performed in parallel on a block line basis. The stream encoded by the parallel entropy encoding unit 504 is output to the video decoding device 10 or the like.

復号画素記憶部505は、並列符号化部501から出力された各ブロックの局所的な復号画素を記憶する。局所的な復号は、ローカルデコードなどとも呼ばれる。   The decoded pixel storage unit 505 stores a local decoded pixel of each block output from the parallel encoding unit 501. Local decoding is also called local decoding.

《並列符号化部》
次に、並列符号化部501について説明する。図13は、実施例2における並列符号化部501の各部の構成の一例を示すブロック図である。図13に示す例では、並列符号化処理部502は、第1符号化処理部621と、第2符号化処理部622と、第N符号化処理部623と、ブロック情報記憶部624とを有する。
《Parallel coding unit》
Next, the parallel encoding unit 501 will be described. FIG. 13 is a block diagram illustrating an example of a configuration of each unit of the parallel encoding unit 501 according to the second embodiment. In the example illustrated in FIG. 13, the parallel encoding processing unit 502 includes a first encoding processing unit 621, a second encoding processing unit 622, an Nth encoding processing unit 623, and a block information storage unit 624. .

図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 QP prediction unit 503 includes a first QP prediction unit 631, a second QP prediction unit 632, and an NQP prediction unit 633. In the example illustrated in FIG. 13, the parallel entropy encoding unit 504 includes a first entropy encoding unit 641, a second entropy encoding unit 642, and an Nth entropy encoding unit 643.

ここで、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 encoding processing unit 601 includes a first encoding processing unit 621, a first QP prediction unit 631, and a first entropy encoding unit 641.

ブロックライン符号化処理部は、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 encoding processing unit 502 divides the input image into a plurality of block lines. Each encoding process part 621-623 performs an encoding process in parallel per block line. The encoding process is, for example, H.264. H.264 or HEVC.

図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 encoding processing units 621 to 623 performs the same processing, the following description will be given using the first encoding processing unit 621.

第1符号化処理部621は、予測差分部701と、直交変換部702と、量子化部703と、QP確定部704と、逆量子化部705と、逆直交変換部706と、復号画素生成部707と、動き検出部708と、予測信号生成部709と、差分ベクトル生成部710とを有する。   The first encoding processing unit 621 includes a prediction difference unit 701, an orthogonal transform unit 702, a quantization unit 703, a QP determination unit 704, an inverse quantization unit 705, an inverse orthogonal transform unit 706, and a decoded pixel generation. Unit 707, motion detection unit 708, prediction signal generation unit 709, and difference vector generation unit 710.

動き検出部708は、復号画素記憶部505から参照ピクチャの画素データを取得し、動きベクトルの検出を行う。検出された動きベクトルの情報は、ブロック情報記憶部624に記憶され、次のブロックの符号化に利用される。   The motion detection unit 708 acquires pixel data of the reference picture from the decoded pixel storage unit 505, and detects a motion vector. Information on the detected motion vector is stored in the block information storage unit 624 and used for encoding the next block.

予測信号生成部709は、入力された参照画像の領域位置情報に基づいて、復号画素記憶部505から参照画素を取得し、予測画素信号を生成する。生成された予測画素信号は、予測差分部701に出力される。   The prediction signal generation unit 709 acquires a reference pixel from the decoded pixel storage unit 505 based on the input region position information of the reference image, and generates a prediction pixel signal. The generated prediction pixel signal is output to the prediction difference unit 701.

差分ベクトル生成部710は、予測ベクトルを生成する。予測ベクトルは、一例として処理ブロックの左と上と、右上に位置するブロックの動きベクトルをブロック情報記憶部624から取得し、3つの動きベクトルのうち、中間値を予測ベクトルとする。   The difference vector generation unit 710 generates a prediction vector. As an example of the prediction vector, the motion vectors of the blocks located on the left, top, and top right of the processing block are acquired from the block information storage unit 624, and an intermediate value among the three motion vectors is used as the prediction vector.

上述したように、各ブロックラインは、例えば水平に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 vector generation unit 710 can acquire the motion vectors of the peripheral blocks.

差分ベクトル生成部710は、動き検出部708から処理ブロックの動きベクトルを取得し、動きベクトルと予測ベクトルとの差分ベクトルを生成する。生成された差分ベクトルは、第1エントロピー符号化部641に出力される。   The difference vector generation unit 710 acquires the motion vector of the processing block from the motion detection unit 708, and generates a difference vector between the motion vector and the prediction vector. The generated difference vector is output to the first entropy encoding unit 641.

予測差分部701は、原画像と、予測画素信号との差分を算出することで、予測誤差信号を生成する。予測誤差信号は、直交変換部702に出力される。   The prediction difference unit 701 generates a prediction error signal by calculating a difference between the original image and the prediction pixel signal. The prediction error signal is output to the orthogonal transform unit 702.

直交変換部702は、予測誤差信号に対して、例えば離散コサイン変換などの直交変換処理を行う。変換された直交変換係数は、量子化部703に出力される。   The orthogonal transform unit 702 performs orthogonal transform processing such as discrete cosine transform on the prediction error signal. The transformed orthogonal transform coefficient is output to the quantization unit 703.

量子化部703は、量子化パラメータ(QP)値に基づいて、直交変換係数を量子化する。量子化手法の一例としては、直交変換係数をQPで定まる値によって除算し、整数値に丸める方法である。量子化された直交変換係数をQP値で乗算すれば、逆量子化することができる。丸める処理によって、量子化は不可逆な変換となる。量子化された直交変換係数は、第1エントロピー符号化部641に出力される。   The quantization unit 703 quantizes the orthogonal transform coefficient based on the quantization parameter (QP) value. As an example of the quantization method, the orthogonal transform coefficient is divided by a value determined by QP and rounded to an integer value. If the quantized orthogonal transform coefficient is multiplied by the QP value, inverse quantization can be performed. By the rounding process, quantization becomes an irreversible transformation. The quantized orthogonal transform coefficient is output to the first entropy encoding unit 641.

また、量子化部703は、量子化された直交変換係数がすべて0であった否かのフラグ情報を生成し、量子化で使用したQP値とともに、QP確定部704に出力する。QP値は、逆量子化部705、第1QP予測部631に出力される。   Also, the quantization unit 703 generates flag information indicating whether or not the quantized orthogonal transform coefficients are all 0, and outputs the flag information to the QP determination unit 704 together with the QP value used in the quantization. The QP value is output to the inverse quantization unit 705 and the first QP prediction unit 631.

第1QP予測部631は、処理ブロックのQP予測値を生成する。生成されたQP予測値は、QP確定部704及び第1エントロピー符号化部641に出力される。   The first QP prediction unit 631 generates a QP prediction value for the processing block. The generated QP prediction value is output to the QP determination unit 704 and the first entropy encoding unit 641.

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 prediction unit 631 belongs, and the generation of the QP prediction value is awaited. This eliminates the need for parallel processing and improves the efficiency of parallel processing.

QP確定部704は、量子化部703から入力されたQP値とQP予測値とから、処理ブロックのQPを確定する。直交変換係数がすべて0であった場合、QP差分情報は、エントロピー符号化されないため、量子化部703で使用したQP値は、復号装置側に通知されないので無効になる。   The QP determination unit 704 determines the QP of the processing block from the QP value input from the quantization unit 703 and the QP predicted value. When all the orthogonal transform coefficients are 0, the QP difference information is not entropy-coded, and therefore the QP value used in the quantization unit 703 is invalid because it is not notified to the decoding device side.

例えば、QP確定部704は、量子化部703が生成した量子化された直交変換係数がすべて0であったか否かのフラグ情報を取得する。QP確定部704は、すべて0を示すフラグ情報を取得した場合、処理ブロックのQP値はQP予測値に設定する。QP確定部704は、すべて0ではないことを示すフラグ情報を取得した場合、処理ブロックのQP値は、量子化部703で使用されたQP値に設定する。QP確定部704が確定したQP値は、ブロック情報記憶部624に記憶される。   For example, the QP determination unit 704 acquires flag information indicating whether or not the quantized orthogonal transform coefficients generated by the quantization unit 703 are all zero. When the QP determination unit 704 acquires flag information indicating all 0s, the QP value of the processing block is set to the QP predicted value. When the QP determination unit 704 acquires flag information indicating that all are not 0, the QP value of the processing block is set to the QP value used in the quantization unit 703. The QP value determined by the QP determination unit 704 is stored in the block information storage unit 624.

逆量子化部705は、量子化された直交変換係数に対し、逆量子化処理を行う。逆量子化された直交変換係数は、逆直交変換部706に出力される。   The inverse quantization unit 705 performs an inverse quantization process on the quantized orthogonal transform coefficient. The inversely quantized orthogonal transform coefficient is output to the inverse orthogonal transform unit 706.

逆直交変換部706は、逆量子化された直交変換係数に対し、逆直交変換処理を行う。逆直交変換された信号を復号画素生成部707に出力する。   The inverse orthogonal transform unit 706 performs an inverse orthogonal transform process on the inversely quantized orthogonal transform coefficient. The inverse orthogonal transformed signal is output to the decoded pixel generation unit 707.

復号画素生成部707は、逆直交変換された信号に、予測信号生成部709から取得した予測画素信号を加算することで、局所的な復号画素を生成する。生成された復号画素は、復号画素記憶部505に記憶される。   The decoded pixel generation unit 707 generates a local decoded pixel by adding the prediction pixel signal acquired from the prediction signal generation unit 709 to the signal subjected to inverse orthogonal transform. The generated decoded pixel is stored in the decoded pixel storage unit 505.

次に、各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 QP prediction units 631 to 633 performs the same processing, the following description will be given using the first QP prediction unit 631.

図15に示す第1QP予測部631は、直前QP記憶部801と、QP選択部802と、上QP取得部803とを有する。   The first QP prediction unit 631 illustrated in FIG. 15 includes a previous QP storage unit 801, a QP selection unit 802, and an upper QP acquisition unit 803.

直前QP記憶部801は、現在の処理ブロックの直前に処理したブロックのQP値をQP確定部704から受け取り、記憶している。直前QP記憶部801が記憶しているQP値は、ピクチャ処理開始時に初期化される。   The immediately preceding QP storage unit 801 receives the QP value of the block processed immediately before the current processing block from the QP determination unit 704 and stores it. The QP value stored in the immediately preceding QP storage unit 801 is initialized at the start of picture processing.

例えば、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 acquisition unit 803 acquires the QP value of the block located above the processing block from the block information storage unit 624.

QP選択部802は、直前QP記憶部801か、あるいは、上QP取得部803かのいずれかの出力するQP値を選択して、QP予測値としてQP確定部704や第1エントロピー符号化部641に出力する。   The QP selection unit 802 selects the QP value output from either the immediately preceding QP storage unit 801 or the upper QP acquisition unit 803, and uses the QP determination unit 704 or the first entropy encoding unit 641 as a QP predicted value. Output to.

例えば、QP選択部802は、処理ブロックがブロックライン先頭のブロックであれば、上QP取得部803から出力されたQP値を選択し、処理ブロックがブロックライン先頭以外のブロックであれば、直前QP記憶部801から出力されたQP値を選択する。QP選択部802は、選択したQP値をQP予測値として、QP確定部704や第1エントロピー符号化部641に出力する。   For example, the QP selection unit 802 selects the QP value output from the upper QP acquisition unit 803 if the processing block is the block block head block, and if the processing block is a block other than the block line head block, The QP value output from the storage unit 801 is selected. The QP selection unit 802 outputs the selected QP value as a QP predicted value to the QP determination unit 704 and the first entropy encoding unit 641.

上記例の場合の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 video decoding device 10, the processing of the QP selection unit 802 may be as follows. When the block line to be processed is the 2nd to Nth block lines, the QP value stored in the immediately preceding QP storage unit 801 is a slice QP value, which is a value determined by slice unit. Therefore, when the slice QP value is adopted as the QP prediction value of each block, the prediction efficiency may not be so good.

そこで、QP選択部802は、処理するブロックラインが2〜N番目のブロックラインの先頭ブロックを処理するときは、上QP取得部803が取得したQP値を選択し、それ以外では、直前QP記憶部801が保持したQP値を選択してもよい。   Therefore, the QP selection unit 802 selects the QP value acquired by the upper QP acquisition unit 803 when the block line to be processed processes the first block of the 2nd to Nth block lines, and otherwise stores the immediately preceding QP storage. The QP value held by the unit 801 may be selected.

また、QP選択部802は、N+1番目以降のブロックラインの先頭ブロックを処理するときは、直前QP記憶部801が保持しているQP値を選択する。このときの直前QP記憶部801が保持しているQP値は、処理ブロックのNブロック上に位置するブロックラインの最後のブロックのQP値である。   Further, the QP selection unit 802 selects the QP value held by the immediately preceding QP storage unit 801 when processing the first block of the N + 1th and subsequent block lines. The QP value held by the immediately preceding QP storage unit 801 at this time is the QP value of the last block on the block line located on the N block of the processing block.

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 QP selection unit 802 may always adopt the QP value stored in the immediately preceding QP storage unit 801 in the first block of the block line. Further, when the block line to be processed is the first block of the 1st to Nth block lines, the QP selection unit 802 may set the QP predicted value as a slice QP value.

このとき、同様に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 entropy encoding unit 641 to 643 entropy encodes the differential motion vector, QP difference value, quantized orthogonal transform coefficient, and the like of each block for each block line.

以上の構成を有することで、量子化パラメータの予測値を求める処理を、ブロックライン毎に並列処理することができる。   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 picture coding apparatus 50 according to the second embodiment will be described. FIG. 16 is a flowchart illustrating an example of a block encoding process according to the second embodiment. The block encoding process shown in FIG. 16 is a one-block process.

ステップS201で、各符号化処理部に処理対象のブロック(処理ブロック)が入力される。動き検出部708は、復号画素記憶部505から参照ピクチャの画素データを取得し、動きベクトルが検出される。   In step S201, a block to be processed (processing block) is input to each encoding processing unit. The motion detection unit 708 acquires pixel data of the reference picture from the decoded pixel storage unit 505, and detects a motion vector.

ステップS202で、差分ベクトル生成部710は、検出された動きベクトルと、生成した予測ベクトルとの差分ベクトルを生成する。   In step S202, the difference vector generation unit 710 generates a difference vector between the detected motion vector and the generated prediction vector.

ステップS203で、動き検出部708は、検出された動きベクトルをブロック情報記憶部624に記憶する。   In step S203, the motion detection unit 708 stores the detected motion vector in the block information storage unit 624.

ステップS204で、予測信号生成部709は、動き検出部708で検出された動きベクトルが参照する参照画像の領域位置情報を取得し、予測画素信号を生成する。   In step S204, the prediction signal generation unit 709 acquires region position information of a reference image that is referenced by the motion vector detected by the motion detection unit 708, and generates a prediction pixel signal.

ステップS205で、予測差分部701は、予測信号生成部709により生成された予測画素信号と、入力された原画像との差分をとり、予測誤差信号を生成する。   In step S205, the prediction difference unit 701 takes the difference between the prediction pixel signal generated by the prediction signal generation unit 709 and the input original image, and generates a prediction error signal.

ステップS206で、直交変換部702は、予測差分部701で生成された予測誤差信号に対し、直交変換処理を行い、直交変換係数を生成する。   In step S206, the orthogonal transform unit 702 performs orthogonal transform processing on the prediction error signal generated by the prediction difference unit 701 to generate orthogonal transform coefficients.

ステップS207で、量子化部703は、直交変換係数に対し、量子化パラメータ(QP)値に基づいて量子化する。   In step S207, the quantization unit 703 quantizes the orthogonal transform coefficient based on the quantization parameter (QP) value.

ステップ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 QP determination unit 704 determines the QP value of the processing block as one of the QP value acquired from the quantization unit 703 and the QP prediction value acquired from the QP prediction unit. The method of determination is as described above.

ステップ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 inverse quantization unit 705 and the inverse orthogonal transform unit 706 perform an inverse quantization process on the quantized orthogonal transform coefficient, perform an inverse orthogonal transform process, and a signal corresponding to the prediction error signal. Is generated.

ステップS212で、復号画素生成部707は、予測信号生成部709から取得した予測画素信号と、逆直交変換部706から取得した信号とを加算し、局所的な復号画素を生成する。   In step S212, the decoded pixel generation unit 707 adds the prediction pixel signal acquired from the prediction signal generation unit 709 and the signal acquired from the inverse orthogonal transform unit 706, and generates a local decoded pixel.

ステップS213で、復号画素記憶部505は、生成された復号画素を記憶する。以上の処理で、ブロックの符号化処理が終了し、次のブロックの符号化処理に移行する。   In step S213, the decoded pixel storage unit 505 stores the generated decoded pixel. With the above process, the block encoding process is completed, and the process proceeds to the next block encoding process.

以上、実施例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 image processing device 90 is an example of the moving image encoding device or the moving image decoding device described in each embodiment. As illustrated in FIG. 17, the moving image processing apparatus 90 includes a control unit 901, a main storage unit 902, an auxiliary storage unit 903, a drive device 904, a network I / F unit 906, an input unit 907, and a display unit 908. These components are connected to each other via a bus so as to be able to transmit and receive data.

制御部901は、コンピュータの中で、各装置の制御やデータの演算、加工を行うCPUである。また、制御部901は、主記憶部902や補助記憶部903に記憶されたプログラムを実行する演算装置であり、入力部907や記憶装置からデータを受け取り、演算、加工した上で、表示部908や記憶装置などに出力する。   The control unit 901 is a CPU that controls each device, calculates data, and processes in a computer. The control unit 901 is an arithmetic device that executes programs stored in the main storage unit 902 and the auxiliary storage unit 903. The control unit 901 receives data from the input unit 907 and the storage device, calculates, and processes the data, and then displays the display unit 908. Or output to a storage device.

主記憶部902は、ROM(Read Only Memory)やRAM(Random Access Memory)などであり、制御部901が実行する基本ソフトウェアであるOSやアプリケーションソフトウェアなどのプログラムやデータを記憶又は一時保存する記憶装置である。   The main storage unit 902 is a ROM (Read Only Memory), a RAM (Random Access Memory), or the like, and a storage device that stores or temporarily stores programs and data such as an OS and application software that are basic software executed by the control unit 901. It is.

補助記憶部903は、HDD(Hard Disk Drive)などであり、アプリケーションソフトウェアなどに関連するデータを記憶する記憶装置である。   The auxiliary storage unit 903 is an HDD (Hard Disk Drive) or the like, and is a storage device that stores data related to application software or the like.

ドライブ装置904は、記録媒体905、例えばフレキシブルディスクからプログラムを読み出し、記憶装置にインストールする。   The drive device 904 reads the program from the recording medium 905, for example, a flexible disk, and installs it in the storage device.

また、記録媒体905は、所定のプログラムを格納する。この記録媒体905に格納されたプログラムは、ドライブ装置904を介して動画像処理装置90にインストールされる。インストールされた所定のプログラムは、動画像処理装置90により実行可能となる。   The recording medium 905 stores a predetermined program. The program stored in the recording medium 905 is installed in the moving image processing apparatus 90 via the drive apparatus 904. The installed predetermined program can be executed by the moving image processing apparatus 90.

ネットワークI/F部906は、有線及び/又は無線回線などのデータ伝送路により構築されたLAN(Local Area Network)、WAN(Wide Area Network)などのネットワークを介して接続された通信機能を有する周辺機器と動画像処理装置90とのインターフェースである。   The network I / F unit 906 is a peripheral having a communication function connected via a network such as a LAN (Local Area Network) or a WAN (Wide Area Network) constructed by a data transmission path such as a wired and / or wireless line. This is an interface between the device and the moving image processing apparatus 90.

入力部907は、カーソルキー、数字入力及び各種機能キー等を備えたキーボード、表示部908の表示画面上でキーの選択等を行うためのマウスやスライスパット等を有する。また、入力部907は、ユーザが制御部901に操作指示を与えたり、データを入力したりするためのユーザインターフェースである。   The input unit 907 includes a keyboard having cursor keys, numeric input, various function keys, and the like, and a mouse and a slice pad for performing key selection on the display screen of the display unit 908. The input unit 907 is a user interface for a user to give an operation instruction to the control unit 901 or input data.

表示部908は、LCD(Liquid Crystal Display)等を有し、制御部901から入力される表示データに応じた表示が行われる。なお、表示部908は、外部に設けられてもよく、その場合は、動画像処理装置90は、表示制御部を有する。   The display unit 908 includes an LCD (Liquid Crystal Display) or the like, and performs display according to display data input from the control unit 901. Note that the display unit 908 may be provided outside, and in that case, the moving image processing apparatus 90 includes a display control unit.

このように、前述した実施例で説明した動画像符号化処理又は動画像復号処理は、コンピュータに実行させるためのプログラムとして実現されてもよい。このプログラムをサーバ等からインストールしてコンピュータに実行させることで、前述した動画像符号化処理又は動画像復号処理を実現することができる。   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 recording medium 905, and the recording medium 905 on which the program is recorded is read by a computer or a portable terminal, so that the above-described moving image encoding process or moving image is performed. Decoding processing can also be realized.

なお、記録媒体905は、CD−ROM、フレキシブルディスク、光磁気ディスク等の様に情報を光学的,電気的或いは磁気的に記録する記録媒体、ROM、フラッシュメモリ等の様に情報を電気的に記録する半導体メモリ等、様々なタイプの記録媒体を用いることができる。なお、記録媒体805には、搬送波は含まれない。   The recording medium 905 is a recording medium that records information optically, electrically, or magnetically, such as a CD-ROM, flexible disk, magneto-optical disk, etc., and information electrically, such as a ROM or flash memory. Various types of recording media such as a semiconductor memory for recording can be used. Note that the recording medium 805 does not include a carrier wave.

動画像処理装置90で実行されるプログラムは、各実施例で説明した各部を含むモジュール構成となっている。実際のハードウェアとしては、制御部901が補助記憶部903からプログラムを読み出して実行することにより上記各部のうち1又は複数の各部が主記憶部902上にロードされ、1又は複数の各部が主記憶部902上に生成されるようになっている。   The program executed by the moving image processing apparatus 90 has a module configuration including each unit described in each embodiment. As actual hardware, when the control unit 901 reads and executes a program from the auxiliary storage unit 903, one or more of the above-described units are loaded on the main storage unit 902, and one or more of the units are main. It is generated on the storage unit 902.

また、前述した各実施例で説明した動画像符号化処理又は動画像復号処理は、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 supplementary note 1, wherein when the first block of the second and subsequent block lines from the top of the image is processed, a block one block above the first block is referred 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 supplementary note 1, which refers to a final block in a block line on N blocks of the block.
(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 1, wherein the quantization parameter value of the last block in the block line on the N blocks of the first block is used.
(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 SYMBOLS 10 Moving picture decoding apparatus 50 Moving picture encoding apparatus 90 Moving picture processing apparatus 101 Parallel decoding part 102 Parallel entropy decoding part 103 Parallel QP prediction part 104 Parallel decoding processing part 105 Decoded pixel memory | storage part 201 Block line decoding process part 244 Block information storage Unit 301 QP restoration unit 401 immediately preceding QP storage unit 402 QP selection unit 403 upper QP acquisition unit 501 parallel coding unit 502 parallel coding processing unit 503 parallel QP prediction unit 504 parallel entropy coding unit 505 decoding pixel storage unit 601 block line code Processing unit 624 Block information storage unit 704 QP determination unit 801 Immediately before QP storage unit 802 QP selection unit 803 Upper QP acquisition unit 901 Control unit 902 Main storage unit 903 Auxiliary storage unit

Claims (3)

画像を複数のブロックに分割し、該ブロック毎に動画像符号化処理を行う動画像符号化装置であって、
前記ブロックの列を示すブロックラインに含まれるブロックに対し、量子化された直交変換係数を含む符号化データを、ブロックライン毎に並列に生成する並列符号化処理部と、
前記ブロックラインに含まれる各ブロックの符号化で使用した量子化パラメータに対する量子化パラメータの予測値を、ブロックライン毎に並列に算出する並列QP予測部と、
前記ブロックラインに含まれる各ブロックに対し、前記符号化データと前記量子化パラメータの予測値とを用いてエントロピー符号化を、ブロックライン毎に並列に行う並列エントロピー符号化部と、を備え、
前記並列QP予測部は、
2以上の値を示すN個のブロックラインずつ並列処理する場合、K−1番目のブロックラインの処理ブロックの水平位置を、K番目のブロックラインの処理ブロックの水平位置よりも少なくとも1ブロック以上先に処理し、
処理ブロックがブロックラインの先頭である場合においては、処理ブロックが属するスライスを単位にして定まる量子化パラメータで処理ブロックの直前に処理されたブロックの量子化パラメータを初期化し、初期化した量子化パラメータに基づいて処理ブロックの前記量子化パラメータの予測値を算出し、
処理ブロックがブロックラインの先頭以外の場合においては、ブロックライン内のブロックの量子化パラメータに基づいて処理ブロックの前記量子化パラメータの予測値を算出し、
前記並列符号化処理部は、
前記並列QP予測部で算出した量子化パラメータの予測値と各ブロックの処理に使用した量子化パラメータおよび符号化の結果が全て0か否かの情報に基づいて処理ブロックの量子化パラメータを決定する動画像符号化装置。
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 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 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 is determined based on the prediction value of the quantization parameter calculated by the parallel QP prediction unit, the quantization parameter used for the processing of each block, and information indicating whether the result of encoding is all 0 or not. Video encoding device.
画像を複数のブロックに分割し、該ブロック毎に動画像符号化処理を行う動画像符号化装置が実行する動画像符号化方法であって、
前記ブロックの列を示すブロックラインに含まれるブロックに対し、量子化された直交変換係数を含む符号化データを、ブロックライン毎に並列に生成し、
前記ブロックラインに含まれる各ブロックの符号化で使用した量子化パラメータに対する量子化パラメータの予測値を、ブロックライン毎に並列に算出し、
前記ブロックラインに含まれる各ブロックに対し、前記符号化データと前記量子化パラメータの予測値とを用いてエントロピー符号化を、ブロックライン毎に並列に行う処理を有し、
前記予測値を算出する処理は、
2以上の値を示すN個のブロックラインずつ並列処理する場合、K−1番目のブロックラインの処理ブロックの水平位置を、K番目のブロックラインの処理ブロックの水平位置よりも少なくとも1ブロック以上先に処理し、
処理ブロックがブロックラインの先頭である場合においては、処理ブロックが属するスライスを単位にして定まる量子化パラメータで処理ブロックの直前に処理されたブロックの量子化パラメータを初期化し、初期化した量子化パラメータに基づいて処理ブロックの前記量子化パラメータの予測値を算出し、
処理ブロックがブロックラインの先頭以外の場合においては、ブロックライン内のブロックの量子化パラメータに基づいて処理ブロックの前記量子化パラメータの予測値を算出し、
前記符号化データを生成する処理は、
前記予測値を算出する処理で算出した量子化パラメータの予測値と各ブロックの処理に使用した量子化パラメータおよび符号化の結果が全て0か否かの情報に基づいて処理ブロックの量子化パラメータを決定する動画像符号化方法。
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 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, a process of performing entropy encoding 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. A moving picture encoding method to be determined .
画像を複数のブロックに分割し、該ブロック毎に動画像符号化処理を行う動画像符号化装置に実行させるための動画像符号化プログラムであって、
前記ブロックの列を示すブロックラインに含まれるブロックに対し、量子化された直交変換係数を含む符号化データを、ブロックライン毎に並列に生成し、
前記ブロックラインに含まれる各ブロックの符号化で使用した量子化パラメータに対する量子化パラメータの予測値を、ブロックライン毎に並列に算出し、
前記ブロックラインに含まれる各ブロックに対し、前記符号化データと前記量子化パラメータの予測値とを用いてエントロピー符号化を、ブロックライン毎に並列に行う処理を有し、
前記予測値を算出する処理は、
2以上の値を示すN個のブロックラインずつ並列処理する場合、K−1番目のブロックラインの処理ブロックの水平位置を、K番目のブロックラインの処理ブロックの水平位置よりも少なくとも1ブロック以上先に処理し、
処理ブロックがブロックラインの先頭である場合においては、処理ブロックが属するスライスを単位にして定まる量子化パラメータで処理ブロックの直前に処理されたブロックの量子化パラメータを初期化し、初期化した量子化パラメータに基づいて処理ブロックの前記量子化パラメータの予測値を算出し、
処理ブロックがブロックラインの先頭以外の場合においては、ブロックライン内のブロックの量子化パラメータに基づいて処理ブロックの前記量子化パラメータの予測値を算出し、
前記符号化データを生成する処理は、
前記予測値を算出する処理で算出した量子化パラメータの予測値と各ブロックの処理に使用した量子化パラメータおよび符号化の結果が全て0か否かの情報に基づいて処理ブロックの量子化パラメータを決定する動画像符号化プログラム。
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 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, a process of performing entropy encoding 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 information on whether the result of encoding is all 0 or not, the quantization parameter of the processing block is determined. A moving picture encoding program to be determined .
JP2015219838A 2015-11-09 2015-11-09 Moving picture coding apparatus, moving picture coding method, and moving picture coding program Active JP6317720B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2015219838A JP6317720B2 (en) 2015-11-09 2015-11-09 Moving picture coding apparatus, moving picture coding method, and moving picture coding program

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2015219838A JP6317720B2 (en) 2015-11-09 2015-11-09 Moving picture coding apparatus, moving picture coding method, and moving picture coding program

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
JP2012010465A Division JP2013150215A (en) 2012-01-20 2012-01-20 Moving image decoding device, moving image encoding device, moving image decoding method, moving image encoding method, moving image decoding program, and moving image encoding program

Related Child Applications (1)

Application Number Title Priority Date Filing Date
JP2017082299A Division JP6311821B2 (en) 2017-04-18 2017-04-18 Moving image processing apparatus and moving image processing method

Publications (2)

Publication Number Publication Date
JP2016054513A JP2016054513A (en) 2016-04-14
JP6317720B2 true JP6317720B2 (en) 2018-04-25

Family

ID=55745451

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2015219838A Active JP6317720B2 (en) 2015-11-09 2015-11-09 Moving picture coding apparatus, moving picture coding method, and moving picture coding program

Country Status (1)

Country Link
JP (1) JP6317720B2 (en)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2016054514A (en) * 2015-11-09 2016-04-14 富士通株式会社 Moving image encoding device, moving image encoding method, and moving image encoding program

Family Cites Families (7)

* Cited by examiner, † Cited by third party
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
JP4784188B2 (en) * 2005-07-25 2011-10-05 ソニー株式会社 Image processing apparatus, image processing method, and program
JP4095664B2 (en) * 2006-04-17 2008-06-04 俊宏 南 Video encoding device
WO2009150808A1 (en) * 2008-06-10 2009-12-17 パナソニック株式会社 Image decoding device and image encoding device
JP5241622B2 (en) * 2008-07-02 2013-07-17 キヤノン株式会社 Encoding apparatus and encoding method
JP6080375B2 (en) * 2011-11-07 2017-02-15 キヤノン株式会社 Image encoding device, image encoding method and program, image decoding device, image decoding method and program
JP2016054514A (en) * 2015-11-09 2016-04-14 富士通株式会社 Moving image encoding device, moving image encoding method, and moving image encoding program

Also Published As

Publication number Publication date
JP2016054513A (en) 2016-04-14

Similar Documents

Publication Publication Date Title
US10051273B2 (en) Video decoder and video decoding method
JP6317720B2 (en) Moving picture coding apparatus, moving picture coding method, and moving picture coding program
JP6065090B2 (en) Moving picture decoding apparatus, moving picture decoding method, and moving picture decoding 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
A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20160823

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20161021

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A132

Effective date: 20161122

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20170221

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20180330

R150 Certificate of patent or registration of utility model

Ref document number: 6317720

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150