JP2010193398A - Image encoding device, and image encoding method - Google Patents

Image encoding device, and image encoding method Download PDF

Info

Publication number
JP2010193398A
JP2010193398A JP2009038418A JP2009038418A JP2010193398A JP 2010193398 A JP2010193398 A JP 2010193398A JP 2009038418 A JP2009038418 A JP 2009038418A JP 2009038418 A JP2009038418 A JP 2009038418A JP 2010193398 A JP2010193398 A JP 2010193398A
Authority
JP
Japan
Prior art keywords
data
image
block
code length
binarized
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP2009038418A
Other languages
Japanese (ja)
Inventor
Tsutomu Ando
勉 安藤
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.)
Canon Inc
Original Assignee
Canon Inc
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 Canon Inc filed Critical Canon Inc
Priority to JP2009038418A priority Critical patent/JP2010193398A/en
Publication of JP2010193398A publication Critical patent/JP2010193398A/en
Pending legal-status Critical Current

Links

Images

Landscapes

  • Compression Or Coding Systems Of Tv Signals (AREA)
  • Compression, Expansion, Code Conversion, And Decoders (AREA)

Abstract

<P>PROBLEM TO BE SOLVED: To simplify a configuration which inserts image data of a predetermined block per macro block. <P>SOLUTION: An image encoding device for dividing each frame of an inputted moving image into arbitrary block sizes and encoding the image for each block includes: a binarization means for binarizing each encoding element of the block to generate binarized data; a code length adding means for adding a binarized data code length to the binarized data; and a data selecting means for selecting the binarized data generated by the binarization means according to the code length of the binarized data or selecting I_PCM data as dummy data, so that the binarized data can be selected according to the code length of the binarized data generated from each frame of the inputted moving image or the I_PCM data inserted as dummy data can be selected. Thus, it becomes possible to simplify the configuration for inserting the I_PCM data per macro block. <P>COPYRIGHT: (C)2010,JPO&INPIT

Description

本発明は画像符号化装置及び画像符号化方法に関し、特に、H.264/MPEG−4 AVC等の動画像の符号化装置に用いて好適な技術に関する。   The present invention relates to an image encoding device and an image encoding method. The present invention relates to a technique suitable for use in a moving image encoding apparatus such as H.264 / MPEG-4 AVC.

動画像符号化の規格の1つとして、ISO/IECの国際標準規格である、MPEG-1, MPEG-2, MPEG-4が広く使用されている。近年、より高い符号化効率を持つ規格として、ITU-T H.264(あるいはISO/IEC MPEG-4 AVCと呼称される)が勧告され、その実用化が急速に進んでいる。以下、図7を参照しながらH.264規格に対応した符号化装置の従来例を説明する。   As one of the moving image coding standards, MPEG-1, MPEG-2 and MPEG-4, which are ISO / IEC international standards, are widely used. In recent years, ITU-T H.264 (or ISO / IEC MPEG-4 AVC) has been recommended as a standard having higher encoding efficiency, and its practical application is rapidly progressing. Hereinafter, a conventional example of an encoding apparatus compatible with the H.264 standard will be described with reference to FIG.

図7において、700は画像符号化装置である。701は画像メモリであり、符号化の対象となるフレーム、及び動き補償で使用する参照フレームを一時的に記憶する。702は動き検出部であり、動きベクトルの検出をマクロブロック単位で行う。703はデブロッキングフィルタであり、符号化対象画像と参照画像との差分データにおけるブロックノイズを低減するために使用される。704は動き補償部であり、動き検出部702で求められた動きベクトルに従って、符号化対象画像と参照画像との差分を求める。705は整数変換部であり、所定のマクロブロックサイズのデータを周波数空間に変換する。なお、直交変換の方式としては、MPEG-4規格までは離散コサイン変換が用いられていたが、デコーダにおいては、有限精度での演算により、逆変換時の変換誤差が蓄積されるという問題点があった。この問題点を解消するため、H.264規格においては、原理的に変換誤差の生じない整数変換が採用されている。   In FIG. 7, reference numeral 700 denotes an image encoding device. An image memory 701 temporarily stores a frame to be encoded and a reference frame used for motion compensation. A motion detection unit 702 detects a motion vector in units of macroblocks. A deblocking filter 703 is used to reduce block noise in difference data between the encoding target image and the reference image. Reference numeral 704 denotes a motion compensation unit that obtains a difference between the encoding target image and the reference image according to the motion vector obtained by the motion detection unit 702. Reference numeral 705 denotes an integer conversion unit that converts data of a predetermined macroblock size into a frequency space. As the orthogonal transform method, discrete cosine transform was used up to the MPEG-4 standard. However, in the decoder, there is a problem that a conversion error at the time of inverse transform is accumulated by calculation with finite precision. there were. In order to solve this problem, in the H.264 standard, in principle, integer conversion that does not cause a conversion error is employed.

706は量子化部であり、整数変換部705で行われた整数変換によって得られた係数データを量子化する。708は逆量子化部であり、局所(ローカル)デコード画像のための逆量子化処理を行う。707は逆整数変換部であり、逆整数変換処理を行う。   A quantization unit 706 quantizes coefficient data obtained by the integer conversion performed by the integer conversion unit 705. Reference numeral 708 denotes an inverse quantization unit which performs an inverse quantization process for a local decoded image. Reference numeral 707 denotes an inverse integer conversion unit that performs an inverse integer conversion process.

一方、量子化部706において量子化された係数データはCABAC (Content Adaptive Binary Arithmetic Coding)と呼ばれるエントロピー符号化部710に送られる。CABACの構成要素として、二値化部711、及び算術符号化部712を図示している。   On the other hand, the coefficient data quantized by the quantization unit 706 is sent to an entropy encoding unit 710 called CABAC (Content Adaptive Binary Arithmetic Coding). As components of CABAC, a binarization unit 711 and an arithmetic encoding unit 712 are illustrated.

二値化部711は、量子化済みの係数データ、動きベクトル、及びマクロブロックに付随する各種情報など、すべての符号化要素(シンタックスエレメントと呼称される)に対して二値化処理を行う。二値化の方式については、各シンタックスエレメントによって異なった可変長符号表が定義されている。   The binarization unit 711 performs binarization processing on all coding elements (called syntax elements) such as quantized coefficient data, motion vectors, and various types of information attached to macroblocks. . For the binarization method, different variable length code tables are defined for each syntax element.

算術符号化部712は、二値化部711において二値化されたデータに対して、1ビットずつの順次処理によって符号化を行う。したがって、マクロブロックの総処理時間は、入力される二値データのビット数によって変動する。しかも、各ビットの処理結果を、後続するビットの符号化処理に反映させて、適応的に符号化効率を向上させるフィードバック型アルゴリズムであるため、複数ビットの一括処理が原理的に困難であるという特徴がある。   The arithmetic encoding unit 712 encodes the data binarized by the binarizing unit 711 by sequential processing of one bit at a time. Therefore, the total processing time of the macroblock varies depending on the number of input binary data bits. In addition, it is a feedback type algorithm that adaptively improves the encoding efficiency by reflecting the processing result of each bit in the subsequent bit encoding process, so that it is difficult in principle to process a plurality of bits collectively. There are features.

709は、量子化ステップ制御部であり、ピクチャ単位での符号量制御を行う。量子化ステップ制御を行うためには、ピクチャの符号化過程において、マクロブロックごとの既発生符号量の観測を行っている。そして、目標とするピクチャの総発生符号量との差異を観測しながら量子化ステップを随時更新することによって量子化ステップ制御を実現している。   Reference numeral 709 denotes a quantization step control unit that performs code amount control in units of pictures. In order to perform quantization step control, the amount of code already generated for each macroblock is observed in the picture encoding process. Then, the quantization step control is realized by updating the quantization step as needed while observing the difference from the total generated code amount of the target picture.

しかしながら、前述したように、従来の符号化装置700の場合には、算術符号化部712で行われる算術符号化は、処理時間が入力(=二値化済みデータ)のビット数によって変動してしまう。このため、マクロブロック単位での処理時間のワースト値をあらかじめ推測することが困難であるので、ピクチャ全体での総処理時間に破綻が生じてしまうという可能性もある。また、H.264勧告においては、1マクロブロックの最大符号長が4:2:0サンプリングの場合では、3200ビット以内に納めなければならないという規定がある。   However, as described above, in the case of the conventional encoding device 700, the arithmetic encoding performed by the arithmetic encoding unit 712 varies depending on the number of bits of input (= binarized data). End up. For this reason, since it is difficult to estimate in advance the worst value of the processing time in units of macroblocks, there is a possibility that the total processing time of the entire picture may be broken. Also, the H.264 recommendation stipulates that if the maximum code length of one macroblock is 4: 2: 0 sampling, it must be within 3200 bits.

これは、デコーダにおいて、算術復号化の処理負荷が局所的に過大になり、復号処理が破綻してしまうのを防止するためである。非常に稀なケースではあるものの、CABAC処理後のマクロブロック符号長が前述した3200ビットを超過する場合には、これを画像データそのものに置き換える処理が行われる。この場合のマクロブロックタイプはI_PCMと呼ばれる。具体的には、I_PCMモードでのマクロブロックのサイズは、以下の(式1)により、3072ビット(固定)となる。
64(画素/ブロック)×6(ブロック)×8(ビット)=3072ビット ・・・(式1)
This is to prevent the arithmetic decoding processing load from becoming excessively high in the decoder and causing the decoding process to fail. Although this is a very rare case, when the macroblock code length after CABAC processing exceeds the above-mentioned 3200 bits, processing for replacing this with the image data itself is performed. The macroblock type in this case is called I_PCM. Specifically, the size of the macroblock in the I_PCM mode is 3072 bits (fixed) according to (Equation 1) below.
64 (pixel / block) x 6 (block) x 8 (bit) = 3072 bits (Equation 1)

このとき、置き換えが行われる画像の内容についての規定は特に無いが、隣接マクロブロックのフレーム内予測処理との並列処理を考慮すると、原画像ではなく、局所復号画像を用いることが望ましい。したがって、この処理を行うためには、符号化済で、かつ動き補償の参照フレームとして使用されないフレームもすべてI_PCMデータ置き換え用として保存しておく必要がある。   At this time, there is no particular restriction on the content of the image to be replaced, but it is desirable to use a local decoded image instead of the original image in consideration of parallel processing with intra-frame prediction processing of adjacent macroblocks. Therefore, in order to perform this processing, it is necessary to save all frames that have been encoded and are not used as reference frames for motion compensation for I_PCM data replacement.

こうした仕組みを利用して、1マクロブロック当りの最大符号量超過を保護するために、エントロピー符号化前の情報からある閾値を元に符号量を判定し、I_PCMデータへ差し替える方法が開示されている(例えば、特許文献1参照)。   In order to protect the excess of the maximum code amount per macroblock using such a mechanism, a method is disclosed in which the code amount is determined based on a certain threshold value from information before entropy coding and replaced with I_PCM data. (For example, refer to Patent Document 1).

特開2007−166039号公報JP 2007-166039 A

前記特許文献1においては、変換係数からマクロブロックごとの算術符号処理後の符号長を推定し、推定値が所定のしきい値を超えた場合には、I_PCMモードを無条件に選択するようにしている。   In Patent Document 1, the code length after arithmetic code processing for each macroblock is estimated from the transform coefficient, and when the estimated value exceeds a predetermined threshold, the I_PCM mode is unconditionally selected. ing.

しかしながら、CABAC処理では、マクロブロック単位の算術符号処理時間が二値化データの符号長により変動してしまうため、マクロブロック単位でパイプライン処理を行い、所定時間内に処理を終了することを保証するのが困難である。   However, in CABAC processing, the arithmetic code processing time in units of macro blocks varies depending on the code length of the binarized data, so pipeline processing is performed in units of macro blocks and processing is guaranteed to be completed within a predetermined time. Difficult to do.

このような問題点を解決するために、図8で示すように、二値化出力を1フレーム(あるいは1フィールド)分蓄積して、算術符号化だけをフレーム単位で遅延させて行う手法が考えられる。   In order to solve such a problem, as shown in FIG. 8, a method of accumulating binarized output for one frame (or one field) and delaying only arithmetic coding in units of frames can be considered. It is done.

図8の例では、フレームメモリ801、符号処理部(動き補償/量子化部)802、二値化部803、二値バッファ804、セレクタ805、算術符号化部806を設けている。そして、フレームnの1フレーム分の二値データを二値バッファ804でバッファリングして、フレーム(n+1)の期間に算術符号化部806で一括して算術符号化を行っている。   In the example of FIG. 8, a frame memory 801, a code processing unit (motion compensation / quantization unit) 802, a binarization unit 803, a binary buffer 804, a selector 805, and an arithmetic encoding unit 806 are provided. Then, binary data for one frame of frame n is buffered by the binary buffer 804, and arithmetic coding unit 806 collectively performs arithmetic coding during the period of frame (n + 1).

このようにすれば、特定のマクロブロックで処理時間が過大になったとしても、フレーム全体では処理時間を平滑化することができるので、フレーム時間内にすべてのマクロブロックの処理を終了させることが容易になる。   In this way, even if the processing time is excessive for a specific macroblock, the processing time can be smoothed for the entire frame, so that processing of all macroblocks can be completed within the frame time. It becomes easy.

このとき、前述したように、マクロブロック単位の算術符号量が特定の値(4:2:0サブサンプリングで3200ビット)を超えた場合には、I_PCMモードに置き換えなければならない。この場合のI_PCMデータは、局所復号画像であることが望ましいため、結局このフレームの画像を、たとえ以降の処理で参照フレームとして使用されない場合でもフレームメモリ801内に保存しておき、必要に応じてI_PCMとして挿入しなければならない。したがって、この方法の場合も冗長なメモリ領域を確保しておかなければならない不都合がある。   At this time, as described above, when the arithmetic code amount in units of macroblocks exceeds a specific value (3200 bits in 4: 2: 0 subsampling), it must be replaced with the I_PCM mode. Since it is desirable that the I_PCM data in this case is a locally decoded image, the image of this frame is eventually stored in the frame memory 801 even if it is not used as a reference frame in the subsequent processing, and if necessary, Must be inserted as I_PCM. Therefore, this method also has a disadvantage that a redundant memory area must be secured.

また、変換係数の分布状況や二値符号長の判定により、あらかじめ強制的にI_PCMモードにしてしまう方法では、算術符号量が特定の値を実際には超えなかった場合でもI_PCMモードになってしまう可能性がある。このため、出力符号量が最適ではなくなってしまうという問題もあった。   In addition, in the method of forcibly setting the I_PCM mode in advance by determining the distribution status of the transform coefficients and the binary code length, even if the arithmetic code amount does not actually exceed a specific value, the I_PCM mode is set. there is a possibility. For this reason, there has been a problem that the output code amount is not optimal.

本発明は前述の問題点に鑑み、所定ブロックの画像データをマクロブロック単位で挿入する構成を簡略化できるようにすることを目的としている。   The present invention has been made in view of the above-described problems, and an object of the present invention is to simplify the configuration for inserting image data of a predetermined block in units of macroblocks.

本発明の画像符号化装置は、入力される動画像の各フレームを任意のブロックサイズに分割し、ブロックごとに符号化を行う画像符号化装置であって、前記ブロックの各符号化要素を二値化して二値化データを生成する二値化手段と、前記二値化手段によって生成された二値化データの符号長を前記二値化データに付加する符号長付加手段と、前記二値化データの符号長に応じて所定ブロックの画像データを適応的に挿入するデータ挿入手段とを有することを特徴とする。   An image encoding apparatus according to the present invention is an image encoding apparatus that divides each frame of an input moving image into arbitrary block sizes and performs encoding for each block, and each encoding element of the block is divided into two. Binarizing means for binarizing and generating binarized data; code length adding means for adding the code length of the binarized data generated by the binarizing means to the binarized data; and the binary Data insertion means for adaptively inserting image data of a predetermined block according to the code length of the digitized data.

本発明の画像符号化方法は、入力される動画像の各フレームを任意のブロックサイズに分割し、ブロックごとに符号化を行う画像符号化方法であって、前記ブロックの各符号化要素を二値化して二値化データを生成する二値化工程と、前記二値化工程において生成された二値化データの符号長を前記二値化データに付加する符号長付加工程と、前記二値化データの符号長に応じて所定ブロックの画像データを適応的に挿入するデータ挿入工程とを有することを特徴とする。   The image coding method of the present invention is an image coding method in which each frame of an input moving image is divided into arbitrary block sizes and coding is performed for each block, and each coding element of the block is divided into two. A binarization step for binarizing and generating binarized data, a code length adding step for adding the code length of the binarized data generated in the binarization step to the binarized data, and the binarization And a data insertion step of adaptively inserting image data of a predetermined block according to the code length of the digitized data.

本発明のコンピュータプログラムは、入力される動画像の各フレームを任意のブロックサイズに分割し、ブロックごとに符号化を行う画像符号化方法をコンピュータに実行させるコンピュータプログラムであって、前記ブロックの各符号化要素を二値化して二値化データを生成する二値化工程と、前記二値化工程において生成された二値化データの符号長を前記二値化データに付加する符号長付加工程と、前記二値化データの符号長に応じて所定ブロックの画像データを適応的に挿入するデータ挿入工程とをコンピュータに実行させることを特徴とする。   A computer program according to the present invention is a computer program that causes a computer to execute an image encoding method for dividing each frame of an input moving image into arbitrary block sizes and performing encoding for each block. A binarization step for binarizing encoding elements to generate binarized data, and a code length adding step for adding the code length of the binarized data generated in the binarization step to the binarized data And a data insertion step of adaptively inserting a predetermined block of image data in accordance with the code length of the binarized data.

本発明によれば、入力される動画像の各フレームから生成した二値化データの符号長に応じて所定ブロックの画像データを適応的に挿入するようにしたので、所定ブロックの画像データをマクロブロック単位で挿入する構成を簡略化することができる。これにより、バッファを介して遅延させて算術符号化処理を行っても、I_PCM保存用のフレームメモリを装備しておく必要がなくなる。
また、本発明の他の特徴によれば、I_PCMモード判定をより最適化することができ、最終的に、無駄な符号量を削減することができる。
According to the present invention, the image data of the predetermined block is adaptively inserted according to the code length of the binarized data generated from each frame of the input moving image. It is possible to simplify the configuration for inserting in block units. As a result, even if arithmetic coding processing is performed with a delay through the buffer, it is not necessary to equip a frame memory for storing I_PCM.
In addition, according to another feature of the present invention, it is possible to further optimize the I_PCM mode determination, and ultimately to reduce a wasteful code amount.

本発明の第1の実施形態を示し、入力画像信号を二値化処理するまでの構成例を示すブロック図である。It is a block diagram which shows the 1st Embodiment of this invention and shows the structural example until it binarizes an input image signal. 本発明の第1の実施形態を示し、二値化されたデータを算術符号化して出力する構成例を示すブロック図である。It is a block diagram which shows the 1st Embodiment of this invention and shows the structural example which arithmetically encodes the binarized data and outputs it. 本発明の第1の実施形態を示し、二値符号データ列の例を示す図である。It is a figure which shows the 1st Embodiment of this invention and shows the example of a binary code data sequence. 本発明の第1の実施形態を示し、二値符号データ列の詳細例を示す図である。It is a figure which shows the 1st Embodiment of this invention and shows the detailed example of a binary code data sequence. 本発明の第1の実施形態を示し、二値化処理部までの処理手順を説明するフローチャートである。It is a flowchart which shows the 1st Embodiment of this invention and demonstrates the process sequence to a binarization process part. 本発明の第1の実施形態を示し、算術符号部の処理手順を説明するフローチャートである。It is a flowchart which shows the 1st Embodiment of this invention and demonstrates the process sequence of an arithmetic code | symbol part. 従来の画像符号化装置の構成例を説明するブロック図である。It is a block diagram explaining the structural example of the conventional image coding apparatus. 二値データフレーム遅延バッファを設けた例を説明するブロック図である。It is a block diagram explaining the example which provided the binary data frame delay buffer. 本発明の第2の実施形態を示し、第1のフォーマットとは別のフォーマットを形成した場合の例を示す図である。It is a figure which shows the 2nd Embodiment of this invention and shows the example at the time of forming a format different from a 1st format.

(第1の実施形態)
以下、添付図面を参照しながら本発明の第1の実施形態を説明する。
図1は、本発明の第1の実施形態の画像符号化装置100の構成例を説明するブロックである。
図1において、101は画像メモリであり、符号化の対象となる動画像のフレーム、及び動き補償で使用する参照フレームを一時的に記憶する。102は動き検出部であり、マクロブロック単位での動きベクトルの検出を行う。103はデブロッキングフィルタであり、符号化対象画像と参照画像との差分データにおけるブロックノイズを低減するために使用される。
(First embodiment)
Hereinafter, a first embodiment of the present invention will be described with reference to the accompanying drawings.
FIG. 1 is a block diagram illustrating a configuration example of an image encoding device 100 according to the first embodiment of the present invention.
In FIG. 1, reference numeral 101 denotes an image memory, which temporarily stores a moving image frame to be encoded and a reference frame used for motion compensation. A motion detection unit 102 detects a motion vector in units of macroblocks. Reference numeral 103 denotes a deblocking filter, which is used to reduce block noise in the difference data between the encoding target image and the reference image.

104は動き補償部であり、動き検出部102で求められた動きベクトルに従って、符号化対象画像と参照画像との差分を求める。105は整数変換部であり、所定のマクロブロックサイズのデータを周波数空間に変換する。なお、直交変換の方式としては、MPEG-4規格までは離散コサイン変換が用いられていたが、デコーダにおいては、有限精度での演算により、逆変換時の変換誤差が蓄積されるという問題があった。このため、H.264規格においては、原理的に変換誤差の生じない整数変換が採用されている。   A motion compensation unit 104 obtains a difference between the encoding target image and the reference image in accordance with the motion vector obtained by the motion detection unit 102. An integer conversion unit 105 converts data of a predetermined macroblock size into a frequency space. As an orthogonal transform method, discrete cosine transform was used up to the MPEG-4 standard. However, the decoder has a problem that a conversion error at the time of inverse transform is accumulated by calculation with finite precision. It was. For this reason, in the H.264 standard, integer conversion that does not cause a conversion error in principle is employed.

106は量子化部であり、整数変換部105における整数変換によって得られた係数データを量子化する。107は逆量子化部であり局所(ローカル)デコード画像のための逆量子化処理を行う。108は逆整数変換部であり、逆整数変換処理を行う。一方、量子化部106において量子化された係数データは二値化部110に送られる。二値化部110は、符号化対象ブロックの各符号化要素を二値化して二値化データを生成する。   A quantization unit 106 quantizes coefficient data obtained by integer conversion in the integer conversion unit 105. Reference numeral 107 denotes an inverse quantization unit that performs inverse quantization processing for a local decoded image. Reference numeral 108 denotes an inverse integer conversion unit that performs an inverse integer conversion process. On the other hand, the coefficient data quantized by the quantization unit 106 is sent to the binarization unit 110. The binarization unit 110 binarizes each encoding element of the encoding target block to generate binarized data.

111は符号量チェック部であり、マクロブロックごとに二値化済データの符号長を、予め設定された所定の値と大小比較する。比較する値については後述する。112は、バイトアライナであり、二値データに対して適宜余剰ビットを追加して二値データとしてバイトアライン処理を行う。付加するビット数については、以下の式により求められる。
付加ビット数=(二値化データ符号長)%8・・・(式2)
A code amount check unit 111 compares the code length of the binarized data with a predetermined value set in advance for each macroblock. The values to be compared will be described later. A byte aligner 112 adds a surplus bit as appropriate to binary data and performs byte alignment processing as binary data. The number of bits to be added is obtained by the following formula.
Number of additional bits = (binary data code length)% 8 (Expression 2)

113は、ヘッダ/フッタ付加部であり、二値データ長及びI_PCM付加有無情報を二値化データに付加する符号長付加を行う。また、I_PCMデータの挿入の有無を示す属性情報を各ブロックに付加する属性情報付加を行う。115はI_PCMバッファであり、符号化処理の過程において、局所復号処理された1マクロブロック分のI_PCMデータを保存する。114はセレクタであり、ヘッダ/フッタ付加部113から出力されるヘッダ/フッタが付加された二値データに、I_PCMバッファ115に記憶されたI_PCMデータを適応的に挿入する動作を行う。116は二値バッファであり、図8で示した二値バッファ804のように、1フレーム分の二値データを保存する。   Reference numeral 113 denotes a header / footer adding unit that performs code length addition for adding binary data length and I_PCM addition presence / absence information to binarized data. Also, attribute information addition is performed to add attribute information indicating whether or not I_PCM data is inserted to each block. Reference numeral 115 denotes an I_PCM buffer, which stores I_PCM data for one macroblock subjected to local decoding processing in the course of encoding processing. Reference numeral 114 denotes a selector that performs an operation of adaptively inserting the I_PCM data stored in the I_PCM buffer 115 into the binary data to which the header / footer is added output from the header / footer adding unit 113. Reference numeral 116 denotes a binary buffer, which stores binary data for one frame like the binary buffer 804 shown in FIG.

図3に、本実施形態の二値符号データ系列の一例を示す。
図3においてBLEN301はマクロブロック単位での二値符号長であり、BIN302は二値符号データである。F303はI_PCMフラグであり、I_PCMデータが二値データ後に挿入されているかどうかを示すためのものである。I_PCM304は1マクロブロック分の画素データが挿入されている。
FIG. 3 shows an example of the binary code data series of the present embodiment.
In FIG. 3, BLEN 301 is a binary code length in units of macroblocks, and BIN 302 is binary code data. F303 is an I_PCM flag for indicating whether or not I_PCM data is inserted after binary data. In I_PCM 304, pixel data for one macroblock is inserted.

図4に、詳細なデータフィールドを示す。
401及び402はBLENフィールドであり、16ビットでBIN長を示す。マクロブロックの符号長は、3200ビットに制限されている。このため、16ビット以内で十分に表記可能である。403はBINデータ、404はスタッフィングビットであり、前述した(式2)に従って、バイト単位で余剰なフィールドを埋める。本実施形態においては、二値化データに、余剰データを適宜付加して、所定ブロックごとの二値化データを少なくとも8ビット単位に整列させるデータ整列を行う。
FIG. 4 shows detailed data fields.
Reference numerals 401 and 402 denote BLEN fields, which indicate the BIN length with 16 bits. The code length of the macroblock is limited to 3200 bits. For this reason, it can be sufficiently expressed within 16 bits. 403 is BIN data, 404 is a stuffing bit, and an extra field is filled in byte units according to the above-described (Equation 2). In this embodiment, surplus data is appropriately added to the binarized data, and data alignment is performed so that the binarized data for each predetermined block is aligned in units of at least 8 bits.

405は、I_PCMフラグであり、I_PCMデータが後続するときのみ'1'とする。図4の場合では、スタッフィングビットとして2ビット挿入することにより、I_PCMフィールド直前でのバイトアライメント処理を行っている。406はI_PCMデータであり、このマクロブロックにのみI_PCMデータが挿入されていることを示す。   Reference numeral 405 denotes an I_PCM flag, which is set to “1” only when I_PCM data follows. In the case of FIG. 4, byte alignment processing is performed immediately before the I_PCM field by inserting 2 bits as stuffing bits. Reference numeral 406 denotes I_PCM data, which indicates that I_PCM data is inserted only in this macro block.

図2に、本実施形態における二値化処理以後のエンコーダの動作を記す。
201は二値バッファであり、図1における二値バッファ116に相当する。この二値バッファ201から読み出された二値符号データは、ヘッダ/フッタ検出部(ヘッダ/フッタアナライザ)202に送られ、前段のヘッダ/フッタ付加部113で付加されたヘッダ/フッタ情報が解析される。
FIG. 2 shows the operation of the encoder after the binarization process in this embodiment.
Reference numeral 201 denotes a binary buffer, which corresponds to the binary buffer 116 in FIG. The binary code data read from the binary buffer 201 is sent to the header / footer detection unit (header / footer analyzer) 202, and the header / footer information added by the header / footer addition unit 113 in the previous stage is analyzed. Is done.

ヘッダ/フッタ検出部202においては、まず、BLENが取得され、その値(二値符号長)に従って、二値符号の各シンタックスエレメントに対して、算術符号化部204において可変長符号化処理が行われる。また、本実施形態においては、ITU-T H.264規格、あるいはISO/IEC 14496-10 (MPEG-4 Advanced Video Coding)規格に準拠する符号化処理が行なわれる。算術符号化部204から出力される算術符号出力は、算術符号バッファ206に順次ストアされる。また、ヘッダ/フッタ検出部202の出力はI_PCM抽出部203に送られ、I_PCMが抽出される。   In the header / footer detection unit 202, first, BLEN is acquired, and variable length coding processing is performed in the arithmetic coding unit 204 for each syntax element of the binary code according to the value (binary code length). Done. In this embodiment, encoding processing conforming to the ITU-T H.264 standard or the ISO / IEC 14496-10 (MPEG-4 Advanced Video Coding) standard is performed. The arithmetic code output output from the arithmetic encoding unit 204 is sequentially stored in the arithmetic code buffer 206. The output of the header / footer detection unit 202 is sent to the I_PCM extraction unit 203, and I_PCM is extracted.

205は、二値符号長をチェックする符号量チェッカであり、1マクロブロックの算術符号処理が終了した後に出力された総算術符号長のサイズが、3200ビット以上か否かをチェックする。このチェックの結果、総算術符号長のサイズが3200ビット以上であれば、第2のデータ選択手段として設けられているセレクタ207はI_PCM抽出部203の出力を選択する。そして、後続するI_PCMデータをそのまま最終符号出力とし、算術符号バッファ206の内容は廃棄される。また、この場合は、算術符号化部204の予測状態(入力に応じて順次適応的に学習された履歴情報のこと)は、すべてピクチャ単位での初期状態にリセットされる。   205 is a code amount checker for checking the binary code length, and checks whether the size of the total arithmetic code length output after the completion of the arithmetic code processing for one macroblock is 3200 bits or more. As a result of this check, if the size of the total arithmetic code length is 3200 bits or more, the selector 207 provided as the second data selection means selects the output of the I_PCM extraction unit 203. The subsequent I_PCM data is used as the final code output as it is, and the contents of the arithmetic code buffer 206 are discarded. Also, in this case, the prediction state of the arithmetic coding unit 204 (history information that has been adaptively learned in sequence according to the input) is all reset to the initial state in units of pictures.

反対に、出力された総算術符号長のサイズが、3200ビット以下の場合は、セレクタ207は算術符号バッファ206の内容を最終出力として選択し、かつ後続するI_PCMフラグをチェックする。このチェックの結果、'1'が検出された場合には、後続するI_PCMデータを廃棄する。この場合は、I_PCMデータは実際に読み出されること無く、バッファのポインタを所定のバイト数(4:2:0で3072バイト)分だけ進めればよい。   On the other hand, when the size of the output total arithmetic code length is 3200 bits or less, the selector 207 selects the content of the arithmetic code buffer 206 as the final output and checks the subsequent I_PCM flag. If “1” is detected as a result of this check, the subsequent I_PCM data is discarded. In this case, the I_PCM data is not actually read, and the buffer pointer may be advanced by a predetermined number of bytes (30: 2 in 4: 2: 0).

前述した(式1)で示すごとくI_PCMのサイズは固定であるため、そのサイズを敢えて二値データ内に示す必要はない。また、ヘッダ/フッタはバイトアラインされているため、次マクロブロックのヘッダ位置も検索しやすい構造となっている。以上のようにして、セレクタ207によりにより選択されたデータが結合されて最終的な符号出力データが生成される。   Since the size of I_PCM is fixed as shown in (Equation 1) described above, it is not necessary to indicate the size in the binary data. Further, since the header / footer is byte-aligned, the header position of the next macroblock is easily searched. As described above, the data selected by the selector 207 is combined to generate the final code output data.

以上の処理手順を、図5及び図6のフローチャートを参照しながら説明する。
図5は、二値符号化までの処理手順を説明するフローチャートである。
ステップS501で処理が開始されると、ステップS502においては二値化処理が行われる。次に、ステップS503に進み、ステップS502において二値化されたデータを二値バッファ116に記録する。次に、ステップS504において、ヘッダとして二値データ符号長(BLEN)を記録する。
The above processing procedure will be described with reference to the flowcharts of FIGS.
FIG. 5 is a flowchart for explaining the processing procedure up to binary encoding.
When processing is started in step S501, binarization processing is performed in step S502. In step S503, the data binarized in step S502 is recorded in the binary buffer 116. Next, in step S504, a binary data code length (BLEN) is recorded as a header.

次に、ステップS505において、二値データ符号長と、あらかじめ実験的に求められた所定の値(N)とを比較する符号長比較が行われる。実際には、所定の値Nは規格上の最大値である3200ビット、及び算術符号の符号化効率から算出される。定量的な評価により、二値符号を入力とした算術符号化の符号化効率は、70〜80%程度と測定されている。したがって、所定の値Nは、仮にマージンを+10%与えるとすれば、
N=3200/0.9≒3500ビット・・・(式3)
とすればよいことになる。
Next, in step S505, a code length comparison is performed to compare the binary data code length with a predetermined value (N) obtained experimentally in advance. Actually, the predetermined value N is calculated from the standard maximum value of 3200 bits and the coding efficiency of the arithmetic code. Through quantitative evaluation, the coding efficiency of arithmetic coding using a binary code as an input is measured to be about 70 to 80%. Therefore, if the predetermined value N gives a margin of + 10%,
N = 3200 / 0.9 ≒ 3500 bits (Formula 3)
It will be enough.

ステップS505の比較の結果、二値データサイズが所定の値N(例えば、規格上の最大値)よりも小さい場合には、ステップS506に進み、I_PCMフラグがクリアされる。また、ステップS505の比較の結果、二値データサイズが所定の値Nよりも大きい場合は、ステップS507に進み、I_PCMフラグがセットされる。その後、ステップS508に進み、I_PCMフラグがセットされたことに応じて、二値符号データの後ろにI_PCMが書き込まれる。   As a result of the comparison in step S505, if the binary data size is smaller than a predetermined value N (for example, the maximum value according to the standard), the process proceeds to step S506, and the I_PCM flag is cleared. If the binary data size is larger than the predetermined value N as a result of the comparison in step S505, the process proceeds to step S507, and the I_PCM flag is set. Thereafter, the process proceeds to step S508, and in accordance with the setting of the I_PCM flag, I_PCM is written after the binary code data.

ステップS506またはステップS508の処理が終了するとステップS509に進む。ステップS509においては、ピクチャ内で最終マクロブロック分まで処理を終了したか否かを判断する。この判断の結果、最終マクロブロックまで終了していない場合にはステップS502に戻って前述した処理を行う。また、ステップS509の判断の結果、最終マクロブロックまで終了した場合にはステップS510に進んでエンド処理を行う。   When the process of step S506 or step S508 ends, the process proceeds to step S509. In step S509, it is determined whether or not processing has been completed up to the last macroblock in the picture. If the result of this determination is that the process has not ended up to the final macroblock, the process returns to step S502 and the above-described processing is performed. If it is determined in step S509 that the processing has been completed up to the final macroblock, the process proceeds to step S510 to perform end processing.

次に、図6のフローチャートを参照しながら算術符号化以降の処理手順の一例を説明する。
ステップS601で処理が開始されると、次のステップS602で、二値符号データ長が読み出される。次に、ステップS603で各シンタックスエレメントに応じた算術符号化が1マクロブロック分行われる。
Next, an example of a processing procedure after arithmetic coding will be described with reference to the flowchart of FIG.
When the process is started in step S601, the binary code data length is read in the next step S602. Next, in step S603, arithmetic coding corresponding to each syntax element is performed for one macroblock.

次に、ステップS604において、1マクロブロック分の算術符号長が3200ビットよりも小さいか否かが比較される。この比較の結果、符号長が3200ビットを超過した場合は、ステップS606に進み、ステップS603において符号化された算術符号データが廃棄される。その後、ステップS608において、二値データに後続するI_PCMデータが最終的なビットストリームとして採用されて記録される。   Next, in step S604, it is compared whether or not the arithmetic code length for one macroblock is smaller than 3200 bits. As a result of the comparison, if the code length exceeds 3200 bits, the process proceeds to step S606, and the arithmetic code data encoded in step S603 is discarded. Thereafter, in step S608, the I_PCM data subsequent to the binary data is adopted and recorded as a final bit stream.

一方、ステップS604の比較の結果、符号長が3200ビット以下の場合は、ステップS605に進み、算術符号化された算術符号データが最終的にビットストリームとして採用されて記録される。次に、ステップS607において、I_PCMフラグの有無を検査し、画像データ挿入有を示す'1'がセットされている場合はステップS609に進み、二値符号データに後続したI_PCMデータは廃棄される。   On the other hand, as a result of the comparison in step S604, if the code length is 3200 bits or less, the process proceeds to step S605, where the arithmetically encoded arithmetic code data is finally adopted and recorded as a bit stream. Next, in step S607, the presence / absence of the I_PCM flag is checked. If “1” indicating that image data is inserted is set, the process proceeds to step S609, and the I_PCM data following the binary code data is discarded.

ステップS607の検証の結果、'1'がセットされていない場合はステップS610に進む。また、ステップS608またはステップS609の処理が終了した場合にもステップS610に進む。ステップS610においては、ピクチャ内で最終マクロブロック分まで処理を終了したか否かを判断する。この判断の結果、最終マクロブロックまで終了していない場合にはステップS602に戻って前述した処理を行う。また、ステップS610の判断の結果、最終マクロブロックまで終了した場合にはステップS611に進んでエンド処理を行う。   If “1” is not set as a result of the verification in step S607, the process proceeds to step S610. Also, when the process of step S608 or step S609 is completed, the process proceeds to step S610. In step S610, it is determined whether or not processing has been completed up to the last macroblock in the picture. If the result of this determination is that the process has not ended up to the final macroblock, the process returns to step S602 and the above-described processing is performed. If it is determined in step S610 that the processing has been completed up to the last macro block, the process proceeds to step S611 to perform end processing.

以上のような処理を行うことにより、CABAC処理について、フレーム単位での遅延を行って処理を行う場合においても、I_PCMモード処理を容易に実行することが可能になる。かつ、規格によるビット長制限に該当しないマクロブロックをI_PCMモードにし、余剰の符号を発生させてしまう不都合を防止することができる。   By performing the process as described above, the I_PCM mode process can be easily executed even when the CABAC process is performed with a delay in units of frames. In addition, it is possible to prevent the inconvenience of generating a surplus code by setting a macroblock that does not correspond to the bit length restriction by the standard to the I_PCM mode.

(第2の実施形態)
次に、図9を参照しながら本発明の第2の実施形態を説明する。
本実施形態では、図4に示した二値符号データと同じデータを使用して、別のフォーマットを形成した場合の例である。図9において、902及び903はBLENフィールドであり、16ビットでBIN長を示している。904はBINデータ、905はスタッフィングビットである。また、906はI_PCMデータであり、このマクロブロックにのみI_PCMデータが挿入されていることを示す。
(Second Embodiment)
Next, a second embodiment of the present invention will be described with reference to FIG.
The present embodiment is an example in which another format is formed using the same data as the binary code data shown in FIG. In FIG. 9, reference numerals 902 and 903 denote BLEN fields, which indicate the BIN length with 16 bits. 904 is BIN data, and 905 is a stuffing bit. Reference numeral 906 denotes I_PCM data, which indicates that I_PCM data is inserted only in this macro block.

このようなフォーマットにおいて、BLEN902、903の値は、実際には12ビット(<4095)で収まる。このため、本実施形態においてはBLENフィールド902のMSBをI_PCMフラグ901としている。このフォーマットにおいては、マクロブロック MB(n+1)においては、フッタの1ビットがなくなるためバイトアラインの必要性がなくなっている。このように、BLEN及びI_PCMフラグは、任意の配置で構成することが可能である。   In such a format, the values of BLEN 902 and 903 actually fit in 12 bits (<4095). Therefore, in this embodiment, the MSB of the BLEN field 902 is used as the I_PCM flag 901. In this format, the macroblock MB (n + 1) eliminates the need for byte alignment because one bit of the footer is lost. Thus, the BLEN and I_PCM flags can be configured in any arrangement.

(本発明に係る他の実施形態)
前述した本発明の実施形態における画像符号化装置を構成する各手段は、コンピュータのRAMやROMなどに記憶されたプログラムが動作することによって実現できる。このプログラム及びプログラムを記録したコンピュータ読み取り可能な記録媒体は本発明に含まれる。
(Other embodiments according to the present invention)
Each means constituting the image coding apparatus according to the above-described embodiment of the present invention can be realized by operating a program stored in a RAM or ROM of a computer. This program and a computer-readable recording medium recording the program are included in the present invention.

また、本発明は、例えば、システム、装置、方法、プログラムもしくは記憶媒体等としての実施形態も可能であり、具体的には、複数の機器から構成されるシステムに適用してもよいし、また、一つの機器からなる装置に適用してもよい。   In addition, the present invention can be implemented as, for example, a system, apparatus, method, program, storage medium, or the like. Specifically, the present invention may be applied to a system including a plurality of devices. The present invention may be applied to an apparatus composed of a single device.

なお、本発明は、前述した画像符号化方法における各工程を実行するソフトウェアのプログラム(実施形態では図5、図6に示すフローチャートに対応したプログラム)を、システムあるいは装置に直接、あるいは遠隔から供給する。そして、そのシステムあるいは装置のコンピュータが供給されたプログラムコードを読み出して実行することによっても達成される場合を含む。   In the present invention, a software program (in the embodiment, a program corresponding to the flowcharts shown in FIGS. 5 and 6) for executing each step in the above-described image encoding method is directly or remotely supplied to the system or apparatus. To do. And the case where it is achieved also by reading and executing the supplied program code by the computer of the system or apparatus is included.

したがって、本発明の機能処理をコンピュータで実現するために、コンピュータにインストールされるプログラムコード自体も本発明を実現するものである。つまり、本発明は、本発明の機能処理を実現するためのコンピュータプログラム自体も含まれる。   Therefore, since the functions of the present invention are implemented by computer, the program code installed in the computer also implements the present invention. In other words, the present invention includes a computer program itself for realizing the functional processing of the present invention.

その場合、プログラムの機能を有していれば、オブジェクトコード、インタプリタにより実行されるプログラム、OSに供給するスクリプトデータ等の形態であってもよい。   In that case, as long as it has the function of a program, it may be in the form of object code, a program executed by an interpreter, script data supplied to the OS, and the like.

プログラムを供給するための記録媒体としては種々の記録媒体を使用することができる。例えば、フロッピー(登録商標)ディスク、ハードディスク、光ディスク、光磁気ディスク、MO、CD−ROM、CD−R、CD−RW、磁気テープ、不揮発性のメモリカード、ROM、DVD(DVD−ROM,DVD−R)などがある。   Various recording media can be used as a recording medium for supplying the program. For example, floppy (registered trademark) disk, hard disk, optical disk, magneto-optical disk, MO, CD-ROM, CD-R, CD-RW, magnetic tape, nonvolatile memory card, ROM, DVD (DVD-ROM, DVD- R).

その他、プログラムの供給方法としては、クライアントコンピュータのブラウザを用いてインターネットのホームページに接続する。そして、ホームページから本発明のコンピュータプログラムそのもの、もしくは圧縮され自動インストール機能を含むファイルをハードディスク等の記録媒体にダウンロードすることによっても供給できる。   As another program supply method, a browser on a client computer is used to connect to an Internet home page. It can also be supplied by downloading the computer program itself of the present invention or a compressed file including an automatic installation function from a homepage to a recording medium such as a hard disk.

また、本発明のプログラムを構成するプログラムコードを複数のファイルに分割し、それぞれのファイルを異なるホームページからダウンロードすることによっても実現可能である。つまり、本発明の機能処理をコンピュータで実現するためのプログラムファイルを複数のユーザに対してダウンロードさせるWWWサーバも、本発明に含まれるものである。   It can also be realized by dividing the program code constituting the program of the present invention into a plurality of files and downloading each file from a different homepage. That is, the present invention includes a WWW server that allows a plurality of users to download a program file for realizing the functional processing of the present invention on a computer.

また、本発明のプログラムを暗号化してCD−ROM等の記憶媒体に格納してユーザに配布し、所定の条件をクリアしたユーザに対し、インターネットを介してホームページから暗号化を解く鍵情報をダウンロードさせる。そして、その鍵情報を使用することにより暗号化されたプログラムを実行してコンピュータにインストールさせて実現することも可能である。   In addition, the program of the present invention is encrypted, stored in a storage medium such as a CD-ROM, distributed to users, and key information for decryption is downloaded from a homepage via the Internet to users who have cleared predetermined conditions. Let It is also possible to execute the encrypted program by using the key information and install the program on a computer.

また、コンピュータが、読み出したプログラムを実行することによって、前述した実施形態の機能が実現される他、コンピュータ上で稼動しているOSなどが、実際の処理の一部または全部を行うことによっても前述した実施形態の機能が実現され得る。   In addition to the functions of the above-described embodiments being realized by the computer executing the read program, the OS running on the computer may perform part or all of the actual processing. The functions of the above-described embodiments can be realized.

さらに、記録媒体から読み出されたプログラムが、コンピュータに挿入された機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わるメモリに書き込まれる。その後、そのプログラムの指示に基づき、その機能拡張ボードや機能拡張ユニットに備わるCPUなどが実際の処理の一部または全部を行い、その処理によっても前述した実施形態の機能が実現される。   Further, the program read from the recording medium is written in a memory provided in a function expansion board inserted into the computer or a function expansion unit connected to the computer. Thereafter, the CPU of the function expansion board or function expansion unit performs part or all of the actual processing based on the instructions of the program, and the functions of the above-described embodiments are realized by the processing.

100 画像符号化装置
101 画像メモリ
102 動き検出部
103 デブロッキングフィルタ
104 動き補償部
105 整数変換部
106 量子化部
107 逆量子化部
108 逆整数変換部
109 量子化ステップ制御部
110 二値化部
111 符号量チェック部
112 バイトアライナ
113 ヘッダ/フッタ付加部
114 セレクタ
115 I_PCMバッファ
116 二値バッファ
201 二値バッファ
202 ヘッダ/フッタ検出部
203 I_PCM検出部
204 算術符号化部
205 符号量チェッカ
206 算術符号バッファ
207 セレクタ
DESCRIPTION OF SYMBOLS 100 Image coding apparatus 101 Image memory 102 Motion detection part 103 Deblocking filter 104 Motion compensation part 105 Integer transformation part 106 Quantization part 107 Inverse quantization part 108 Inverse integer transformation part 109 Quantization step control part 110 Binarization part 111 Code amount check unit 112 Byte aligner 113 Header / footer addition unit 114 Selector 115 I_PCM buffer 116 Binary buffer 201 Binary buffer 202 Header / footer detection unit 203 I_PCM detection unit 204 Arithmetic encoding unit 205 Code amount checker 206 Arithmetic code buffer 207 selector

Claims (9)

入力される動画像の各フレームを任意のブロックサイズに分割し、ブロックごとに符号化を行う画像符号化装置であって、
前記ブロックの各符号化要素を二値化して二値化データを生成する二値化手段と、
前記二値化手段によって生成された二値化データの符号長を前記二値化データに付加する符号長付加手段と、
前記二値化データの符号長に応じて所定ブロックの画像データを適応的に挿入するデータ挿入手段とを有することを特徴とする画像符号化装置。
An image encoding device that divides each frame of an input moving image into arbitrary block sizes and performs encoding for each block,
Binarization means for binarizing each coding element of the block to generate binarized data;
Code length adding means for adding the code length of the binarized data generated by the binarizing means to the binarized data;
An image coding apparatus comprising: data insertion means for adaptively inserting image data of a predetermined block according to the code length of the binarized data.
前記二値化データの符号長が予め設定された所定の値よりも小さい場合には前記二値化手段によって生成された二値化データを選択し、前記二値化データの符号長が予め設定された所定の値よりも大きい場合には前記所定ブロックの画像データを選択するデータ選択手段をさらに有することを特徴とする請求項1に記載の画像符号化装置。   If the code length of the binarized data is smaller than a predetermined value set in advance, the binarized data generated by the binarization means is selected, and the code length of the binarized data is set in advance 2. The image coding apparatus according to claim 1, further comprising data selection means for selecting image data of the predetermined block when the predetermined value is larger than the predetermined value. 前記二値化手段によって生成された二値化データに、余剰データを適宜付加して、前記任意のブロックごとの二値化データを少なくとも8ビット単位に整列させるデータ整列手段をさらに有することを特徴とする請求項2に記載の画像符号化装置。   It further comprises data alignment means for appropriately adding surplus data to the binarized data generated by the binarization means and aligning the binarized data for each arbitrary block in units of at least 8 bits. The image encoding device according to claim 2. 前記所定ブロックの画像データの挿入の有無を示す属性情報を各ブロックに付加する属性情報付加手段をさらに有することを特徴とする請求項2又は3に記載の画像符号化装置。   4. The image encoding apparatus according to claim 2, further comprising attribute information adding means for adding attribute information indicating whether or not image data of the predetermined block is inserted to each block. 前記データ挿入手段から出力される二値化データを可変長符号化する可変長符号化手段と、
前記可変長符号化手段により可変長符号化された符号データの符号長を所定の値と比較する符号長比較手段とをさらに有し、
前記データ選択手段は、前記符号長比較手段の比較の結果、前記二値化データの符号長が予め設定された所定の値よりも大きい場合には、可変長符号化した符号データを廃棄し、前記所定ブロックの画像データを選択し、前記二値化データの符号長が予め設定された所定の値よりも小さい場合には、前記属性情報付加手段により付加された属性情報を検査し、前記属性情報が画像データ挿入有を示す場合に、前記挿入された所定ブロックの画像データを廃棄するとともに可変長符号化した符号データを選択して最終的な符号出力データとして出力することを特徴とする請求項4に記載の画像符号化装置。
Variable length encoding means for variable length encoding the binarized data output from the data insertion means;
Code length comparison means for comparing the code length of the code data variable length encoded by the variable length encoding means with a predetermined value;
The data selection means discards the variable-length encoded code data if the code length of the binarized data is larger than a predetermined value as a result of the comparison by the code length comparison means, When the image data of the predetermined block is selected and the code length of the binarized data is smaller than a predetermined value set in advance, the attribute information added by the attribute information adding means is inspected, and the attribute data When the information indicates that image data is inserted, the image data of the inserted predetermined block is discarded and code data subjected to variable length encoding is selected and output as final code output data. Item 5. The image encoding device according to Item 4.
前記ブロックごとに符号化を行う過程において局所復号処理された1マクロブロック分の画像データをI_PCMデータとして保存するI_PCMバッファをさらに有し、
前記データ挿入手段は、前記所定ブロックの画像データとして前記I_PCMバッファに保存されているI_PCMデータを挿入することを特徴とする請求項1〜5の何れか1項に記載の画像符号化装置。
An I_PCM buffer that stores image data for one macroblock locally decoded in the process of encoding each block as I_PCM data;
6. The image encoding device according to claim 1, wherein the data insertion unit inserts I_PCM data stored in the I_PCM buffer as image data of the predetermined block.
入力される動画像の各フレームを任意のブロックサイズに分割し、ブロックごとに符号化を行う画像符号化方法であって、
前記ブロックの各符号化要素を二値化して二値化データを生成する二値化工程と、
前記二値化工程において生成された二値化データの符号長を前記二値化データに付加する符号長付加工程と、
前記二値化データの符号長に応じて所定ブロックの画像データを適応的に挿入するデータ挿入工程とを有することを特徴とする画像符号化方法。
An image encoding method that divides each frame of an input moving image into arbitrary block sizes and performs encoding for each block,
A binarization step of binarizing each coding element of the block to generate binarized data;
A code length adding step of adding the code length of the binarized data generated in the binarizing step to the binarized data;
And a data insertion step of adaptively inserting image data of a predetermined block in accordance with the code length of the binarized data.
入力される動画像の各フレームを任意のブロックサイズに分割し、ブロックごとに符号化を行う画像符号化方法をコンピュータに実行させるコンピュータプログラムであって、
前記ブロックの各符号化要素を二値化して二値化データを生成する二値化工程と、
前記二値化工程において生成された二値化データの符号長を前記二値化データに付加する符号長付加工程と、
前記二値化データの符号長に応じて所定ブロックの画像データを適応的に挿入するデータ挿入工程とをコンピュータに実行させることを特徴とするコンピュータプログラム。
A computer program that causes a computer to execute an image encoding method that divides each frame of an input moving image into arbitrary block sizes and performs encoding for each block,
A binarization step of binarizing each coding element of the block to generate binarized data;
A code length adding step of adding the code length of the binarized data generated in the binarizing step to the binarized data;
A computer program causing a computer to execute a data insertion step of adaptively inserting image data of a predetermined block in accordance with the code length of the binarized data.
請求項8に記載のコンピュータプログラムを記憶したことを特徴とするコンピュータ読み取り可能な記憶媒体。   A computer-readable storage medium storing the computer program according to claim 8.
JP2009038418A 2009-02-20 2009-02-20 Image encoding device, and image encoding method Pending JP2010193398A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2009038418A JP2010193398A (en) 2009-02-20 2009-02-20 Image encoding device, and image encoding method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2009038418A JP2010193398A (en) 2009-02-20 2009-02-20 Image encoding device, and image encoding method

Publications (1)

Publication Number Publication Date
JP2010193398A true JP2010193398A (en) 2010-09-02

Family

ID=42818925

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2009038418A Pending JP2010193398A (en) 2009-02-20 2009-02-20 Image encoding device, and image encoding method

Country Status (1)

Country Link
JP (1) JP2010193398A (en)

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2012120909A1 (en) * 2011-03-09 2012-09-13 パナソニック株式会社 Video image decoding device and video image decoding method
WO2012120908A1 (en) * 2011-03-09 2012-09-13 パナソニック株式会社 Video image encoding device and video image encoding method
WO2014002386A1 (en) * 2012-06-26 2014-01-03 日本電気株式会社 Video encoding device, video decoding device, video encoding method, video decoding method, and program
KR20150014990A (en) * 2010-11-26 2015-02-09 닛본 덴끼 가부시끼가이샤 Video encoding device, video decoding device, video encoding method, video decoding method, and program
JP2017135727A (en) * 2017-03-03 2017-08-03 ソニー株式会社 Image processing device, method, program, and recording medium
JP2017135728A (en) * 2017-03-03 2017-08-03 ソニー株式会社 Image processing device, method, program, and recording medium
CN107079192A (en) * 2014-10-24 2017-08-18 英特尔公司 Shown using on the active screen of compressed video data
US10027987B2 (en) 2011-01-11 2018-07-17 Sony Corporation Image processing apparatus and method

Cited By (33)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101671156B1 (en) 2010-11-26 2016-10-31 닛본 덴끼 가부시끼가이샤 Video encoding device, video decoding device, video encoding method, video decoding method, and program
KR20150063594A (en) * 2010-11-26 2015-06-09 닛본 덴끼 가부시끼가이샤 Video encoding device, video decoding device, video encoding method, video decoding method, and program
KR101629153B1 (en) 2010-11-26 2016-06-09 닛본 덴끼 가부시끼가이샤 Video encoding device, video decoding device, video encoding method, video decoding method, and program
KR101616667B1 (en) 2010-11-26 2016-04-28 닛본 덴끼 가부시끼가이샤 Video decoding device, video decoding method, and recording medium
KR20150014990A (en) * 2010-11-26 2015-02-09 닛본 덴끼 가부시끼가이샤 Video encoding device, video decoding device, video encoding method, video decoding method, and program
KR101519488B1 (en) 2010-11-26 2015-05-12 닛본 덴끼 가부시끼가이샤 Video encoding device, video decoding device, video encoding method, video decoding method, and recording medium
US10027987B2 (en) 2011-01-11 2018-07-17 Sony Corporation Image processing apparatus and method
US10979739B2 (en) 2011-01-11 2021-04-13 Velos Media, Llc Image processing apparatus and method
US10432976B2 (en) 2011-01-11 2019-10-01 Velos Media, Llc Image processing apparatus and method
JP2015146634A (en) * 2011-03-09 2015-08-13 パナソニック インテレクチュアル プロパティ コーポレーション オブアメリカPanasonic Intellectual Property Corporation of America Image encoding device and image encoding method
US11303910B2 (en) 2011-03-09 2022-04-12 Panasonic Intellectual Property Corporation Of America Device and method of video encoding with first and second encoding code
JP2017028727A (en) * 2011-03-09 2017-02-02 パナソニック インテレクチュアル プロパティ コーポレーション オブ アメリカPanasonic Intellectual Property Corporation of America Image encoding device and image encoding method
JPWO2012120908A1 (en) * 2011-03-09 2014-07-17 パナソニック株式会社 Moving picture coding apparatus and moving picture coding method
CN103416063B (en) * 2011-03-09 2017-07-28 松下电器(美国)知识产权公司 Moving image decoding apparatus and dynamic image decoding method
JP2014033460A (en) * 2011-03-09 2014-02-20 Panasonic Corp Moving image decoder
US11706424B2 (en) 2011-03-09 2023-07-18 Panasonic Intellectual Property Corporation Of America Device and method of video decoding with first and second decoding code
US11849124B2 (en) 2011-03-09 2023-12-19 Panasonic Intellectual Property Corporation Of America Device and method of video encoding with first and second encoding code
WO2012120908A1 (en) * 2011-03-09 2012-09-13 パナソニック株式会社 Video image encoding device and video image encoding method
US11234005B2 (en) 2011-03-09 2022-01-25 Panasonic Intellectual Property Corporation Of America Device and method of video decoding with first and second decoding code
WO2012120909A1 (en) * 2011-03-09 2012-09-13 パナソニック株式会社 Video image decoding device and video image decoding method
US10757422B2 (en) 2011-03-09 2020-08-25 Panasonic Intellectual Property Corporation Of America Device and method of video encoding with first and second encoding code
US10587882B2 (en) 2011-03-09 2020-03-10 Panasonic Intellectual Property Corporation Of America Device and method of video decoding with first and second decoding code
CN103416063A (en) * 2011-03-09 2013-11-27 松下电器产业株式会社 Video image decoding device and video image decoding method
KR101880325B1 (en) * 2011-03-09 2018-07-19 파나소닉 인텔렉츄얼 프로퍼티 코포레이션 오브 아메리카 Video image encoding device
KR20150021075A (en) * 2012-06-26 2015-02-27 닛본 덴끼 가부시끼가이샤 Video encoding device, video decoding device, video encoding method, video decoding method, and program
JPWO2014002386A1 (en) * 2012-06-26 2016-05-30 日本電気株式会社 Video encoding apparatus, video decoding apparatus, video encoding method, video decoding method, and program
WO2014002386A1 (en) * 2012-06-26 2014-01-03 日本電気株式会社 Video encoding device, video decoding device, video encoding method, video decoding method, and program
KR101643839B1 (en) 2012-06-26 2016-07-28 닛본 덴끼 가부시끼가이샤 Video encoding device, video decoding device, video encoding method, video decoding method, and program
US20150181213A1 (en) * 2012-06-26 2015-06-25 Nec Corporation Video encoding device, video decoding device, video encoding method, video decoding method, and program
CN107079192B (en) * 2014-10-24 2020-02-07 英特尔公司 Dynamic on-screen display using compressed video streams
CN107079192A (en) * 2014-10-24 2017-08-18 英特尔公司 Shown using on the active screen of compressed video data
JP2017135728A (en) * 2017-03-03 2017-08-03 ソニー株式会社 Image processing device, method, program, and recording medium
JP2017135727A (en) * 2017-03-03 2017-08-03 ソニー株式会社 Image processing device, method, program, and recording medium

Similar Documents

Publication Publication Date Title
KR101695681B1 (en) Context-based adaptive binary arithmetic coding (cabac) video stream compliance
JP2010193398A (en) Image encoding device, and image encoding method
US8194736B2 (en) Video data compression with integrated lossy and lossless compression
KR101208233B1 (en) Two step arithmetic decoding with conversion into an intermediate format
US20140286417A1 (en) Data encoding and decoding
KR101360313B1 (en) Arithmetic decoding method and device
JP4928176B2 (en) Video encoding apparatus and video encoding method
US7933326B2 (en) Encoded data modification device, modification method, and modification program
EP1119827A1 (en) Embedding auxiliary data in an information signal
US7643689B2 (en) Encoded data conversion method
TW201320757A (en) Method for decoding picture in form of bit-stream
US20100195924A1 (en) Method and apparatus for successively encoding/decoding image
JP2010130522A (en) Moving image encoding device and moving image encoding method
US10536697B2 (en) Method for re-encoding image and apparatus therefor
JP4642509B2 (en) Apparatus for embedding confidential information in compressed image data and apparatus for encoding confidential data
JP4919213B2 (en) Digital watermark insertion method and detection method
JP2005142898A (en) Electronic watermark embedding system and drift compensation system
US8073270B2 (en) Image decoding apparatus and method
JP5078852B2 (en) Moving picture coding apparatus and moving picture coding method
KR20070032674A (en) Compensation for Watermark Irregularities Caused by Moved Objects
CA2312138C (en) System and method for inserting information in dct coefficient domain
US20120147972A1 (en) Image decoding apparatus, image decoding method, image encoding apparatus, image encoding method, and program
JP2006108997A (en) Method and device for processing information, program, and storage medium
US20190158841A1 (en) Method for decoding a digital image, coding method, devices, terminal and associated computer programs
TWI384862B (en) Image decoding apparatus and method using the same