JP5340440B2 - Video encoding apparatus and video encoding method - Google Patents
Video encoding apparatus and video encoding method Download PDFInfo
- Publication number
- JP5340440B2 JP5340440B2 JP2012046238A JP2012046238A JP5340440B2 JP 5340440 B2 JP5340440 B2 JP 5340440B2 JP 2012046238 A JP2012046238 A JP 2012046238A JP 2012046238 A JP2012046238 A JP 2012046238A JP 5340440 B2 JP5340440 B2 JP 5340440B2
- Authority
- JP
- Japan
- Prior art keywords
- pixel
- pixel data
- memory
- prediction
- intra
- 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.)
- Expired - Fee Related
Links
Images
Landscapes
- Compression Or Coding Systems Of Tv Signals (AREA)
Description
本発明は映像符号化装置、映像符号化方法、プログラム及び記録媒体に関し、特に、H.264方式のイントラ予測に用いて好適な技術に関する。 The present invention relates to a video encoding device, a video encoding method, a program, and a recording medium. The present invention relates to a technique suitable for use in H.264 intra prediction.
動画像データの符号化方式の1つとして、MPEG−4 AVC(ISO/IEC 14496−10、別名、H.264)方式があり、ディジタル放送や映像記録メディアにおいて用いられている。MPEG−4 AVC(H.264)方式では、動き補償予測を行わないイントラ画像において、当該画像の画素値を画面内予測することにより符号化の効率を向上させている。このように画面内の情報を用いて予測することにより符号化効率を向上させる概念は、MPEG−4(ISO/IEC 14496−2)方式から取り入れられている。MPEG−4方式では、8×8画素ブロック単位で左又は上に位置するDCTブロックから、符号化対象のDCTブロックのDC係数(直流成分)及び低次のAC係数(交流成分)を予測するDC/AC係数予測符号化方式が採用されている。 One of the encoding methods for moving image data is the MPEG-4 AVC (ISO / IEC 14496-10, also known as H.264) method, which is used in digital broadcasting and video recording media. In the MPEG-4 AVC (H.264) system, in an intra image in which motion compensation prediction is not performed, encoding efficiency is improved by intra-screen prediction of the pixel value of the image. Thus, the concept of improving the encoding efficiency by prediction using information in the screen is taken from the MPEG-4 (ISO / IEC 14496-2) system. In the MPEG-4 system, a DC coefficient (DC component) and a low-order AC coefficient (AC component) of a DCT block to be encoded are predicted from a DCT block located on the left or top in 8 × 8 pixel block units. / AC coefficient predictive coding method is adopted.
これに対して、MPEG−4 AVC方式では、マクロブロックと呼ばれる16×16画素ブロックを対象に、16×16画素ブロック単位、8×8画素ブロック単位、又は4×4画素ブロック単位で予測符号化サイズが選択可能となっている。さらに、MPEG−4 AVC方式では、符号化対象の各画素ブロックの上、右上、左、左上に隣接する画素における符号化済みの画素値を利用して複数の予測モードで予測を行っている。そして、符号化対象の各画素ブロックの画素値と最も類似する予測モードを選択することにより、当該マクロブロックの全画素値を予測して更に符号化効率を高めている。また、イントラ画像以外に対してもマクロブロック単位で画面内予測して符号化を行うことが可能である。 On the other hand, in the MPEG-4 AVC system, 16 × 16 pixel blocks called macroblocks are targeted for prediction encoding in units of 16 × 16 pixel blocks, 8 × 8 pixel blocks, or 4 × 4 pixel blocks. The size can be selected. Further, in the MPEG-4 AVC system, prediction is performed in a plurality of prediction modes using encoded pixel values in pixels adjacent to the upper, upper right, left, and upper left of each pixel block to be encoded. Then, by selecting a prediction mode that is most similar to the pixel value of each pixel block to be encoded, all pixel values of the macroblock are predicted to further increase the encoding efficiency. Also, it is possible to perform intra-frame prediction and encoding for non-intra-pictures in units of macroblocks.
画面内予測は、複数のイントラ予測モードのうち、いずれか1つを選択する処理によって行われる。イントラ予測モードの詳細については、例えば、特許文献1に開示されている。
The intra prediction is performed by a process of selecting any one of a plurality of intra prediction modes. The details of the intra prediction mode are disclosed in
前述のようにMPEG−4 AVC方式における画面内予測では、符号化対象の画素ブロックに隣接する符号化済み画素を必要としており、実際の画面内予測処理に必要な画素データは符号化対象の画素ブロックに隣接する一部の画素の画素値である。しかしながら、画面間予測に備えて全ての符号化済み画像を保持する必要があり、さらに、動き補償による画面間予測で参照する符号化済み画像には、画素ブロック間に対してデブロッキングフィルタ処理を行う必要がある。 As described above, in-picture prediction in the MPEG-4 AVC format requires encoded pixels adjacent to the pixel block to be encoded, and pixel data necessary for actual in-picture prediction processing is the pixel to be encoded. It is a pixel value of a part of pixels adjacent to the block. However, it is necessary to retain all the encoded images in preparation for inter-screen prediction, and furthermore, the de-blocking filter processing is performed between pixel blocks on the encoded image that is referred to in inter-screen prediction by motion compensation. There is a need to do.
一方、画面内予測で参照する符号化済み画像では、デブロッキングフィルタ処理前の符号化済み画素値を必要とする。したがって、画面内予測を行うためには、符号化済み画像に対してデブロッキングフィルタ処理を行うタイミングを考慮する必要があり、画面内予測を行うために余計な時間がかかってしまうという問題点があった。 On the other hand, an encoded image that is referred to in intra prediction requires an encoded pixel value before the deblocking filter process. Therefore, in order to perform intra prediction, it is necessary to consider the timing for performing deblocking filter processing on the encoded image, and there is a problem that it takes extra time to perform intra prediction. there were.
また、一般に符号化済みの画素ブロックは、画素ブロック単位でメモリに保持されている。このため、特に符号化対象の画素ブロックの左に隣接する画素を利用して予測処理を行う場合には、保持している隣接画素データを冗長に読み出す必要があり、画面内予測処理を行うために余計な時間がかかってしまうという問題点がった。 In general, encoded pixel blocks are held in a memory in units of pixel blocks. For this reason, in particular, when performing prediction processing using a pixel adjacent to the left of the pixel block to be encoded, it is necessary to redundantly read out the adjacent pixel data that is held, so that intra-screen prediction processing is performed. There was a problem that it took extra time.
本発明は前述の問題点に鑑み、画面内予測処理を高速に行うことができるようにすることを目的としている。 In view of the above-described problems, an object of the present invention is to enable intra-screen prediction processing to be performed at high speed.
本発明の映像符号化装置は、符号化対象画像を所定の画素数からなる画素ブロックの単位に分割して符号化を行う映像符号化装置であって、前記画素ブロックの単位で、メモリに格納されている隣接画素データを用いて画面内予測処理を行う画面内予測処理手段と、前記符号化対象画像と前記画面内予測処理によって得られる予測画像との差分を示す予測残差を生成する生成手段と、前記予測残差を直交変換した後、符号化する符号化手段と、前記直交変換された後のデータを逆変換して前記画素ブロックの単位に復号化する復号化手段と、前記復号化手段により復号化された画素ブロックの下端の水平方向1ライン分の画素データと、右端の垂直方向1ライン分の画素データとを、当該復号化された画素ブロックに隣接する画素ブロックの画面内予測処理に用いるために前記メモリに格納する記憶手段とを備え、前記メモリは、少なくとも前記符号化対象画像の水平方向1ライン分の画素データを記憶する第1の記憶領域と、前記画素ブロックの垂直方向1ライン分の画素データを記憶する第2の記憶領域とを有し、前記記憶手段は、前記復号化手段により復号化された画素ブロックの下端の水平方向1ラインにおける右端の画素の画素データを、前記第1の記憶領域に格納済みの画素データを参照する右隣の画素ブロックの画面内予測処理が行われた後に前記第1の記憶領域に格納することを特徴とする。 A video encoding apparatus according to the present invention is a video encoding apparatus that performs encoding by dividing an encoding target image into pixel block units each having a predetermined number of pixels, and stores the encoded image in a memory in units of the pixel blocks. Generating an intra-screen prediction processing unit that performs intra-screen prediction processing using the adjacent pixel data, and generating a prediction residual indicating a difference between the encoding target image and a predicted image obtained by the intra-screen prediction processing Means for performing orthogonal transform on the prediction residual and then encoding, decoding means for performing inverse transform on the data after the orthogonal transform and decoding into units of the pixel block, and the decoding The pixel data for one horizontal line at the lower end of the pixel block decoded by the conversion unit and the pixel data for one line in the vertical direction at the right end of the pixel block adjacent to the decoded pixel block Storage means for storing in the memory for use in in-plane prediction processing, the memory storing at least a first storage area for storing pixel data for one horizontal line of the encoding target image, and the pixels A second storage area for storing pixel data for one vertical line of the block, and the storage means is a rightmost pixel in one horizontal line at the lower end of the pixel block decoded by the decoding means The pixel data is stored in the first storage area after intra-screen prediction processing is performed on the pixel block on the right next with reference to the pixel data already stored in the first storage area.
本発明の映像符号化方法は、符号化対象画像を所定の画素数からなる画素ブロックの単位に分割して符号化を行う映像符号化方法であって、前記画素ブロックの単位で、少なくとも前記符号化対象画像の水平方向1ライン分の画素データを記憶する第1の記憶領域と、前記画素ブロックの垂直方向1ライン分の画素データを記憶する第2の記憶領域とを有するメモリに格納されている隣接画素データを用いて画面内予測処理を行う画面内予測処理工程と、前記符号化対象画像と前記画面内予測処理によって得られる予測画像との差分を示す予測残差を生成する生成工程と、前記予測残差を直交変換した後、符号化する符号化工程と、前記直交変換された後のデータを逆変換して前記画素ブロックの単位に復号化する復号化工程と、前記復号化工程において復号化された画素ブロックの下端の水平方向1ライン分の画素データと、右端の垂直方向1ライン分の画素データとを、当該復号化された画素ブロックに隣接する画素ブロックの画面内予測処理に用いるために前記メモリに格納する記憶工程とを備え、前記記憶工程においては、前記復号化工程において復号化された画素ブロックの下端の水平方向1ラインにおける右端の画素の画素データを、前記第1の記憶領域に格納済みの画素データを参照する右隣の画素ブロックの画面内予測処理が行われた後に前記第1の記憶領域に格納することを特徴とする。 The video encoding method of the present invention is a video encoding method that performs encoding by dividing an image to be encoded into units of pixel blocks each having a predetermined number of pixels, and at least the code in units of the pixel blocks. Stored in a memory having a first storage area for storing pixel data for one line in the horizontal direction of the image to be converted and a second storage area for storing pixel data for one line in the vertical direction of the pixel block. An intra-screen prediction processing step for performing intra-screen prediction processing using adjacent pixel data, and a generation step for generating a prediction residual indicating a difference between the encoding target image and a prediction image obtained by the intra-screen prediction processing; An encoding step of performing orthogonal transform on the prediction residual and then encoding; a decoding step of performing inverse transform on the data after the orthogonal transform and decoding into units of the pixel block; and the decoding The pixel data for one horizontal line at the lower end of the decoded pixel block and the pixel data for one vertical line at the right end of the decoded pixel block are predicted in the screen of the pixel block adjacent to the decoded pixel block. A storage step of storing in the memory for use in processing, and in the storage step, the pixel data of the rightmost pixel in one horizontal line at the lower end of the pixel block decoded in the decoding step, The pixel data stored in the first storage area is stored in the first storage area after being subjected to the intra-screen prediction process for the right adjacent pixel block.
本発明のプログラムは、符号化対象画像を所定の画素数からなる画素ブロックの単位に分割して符号化を行う映像符号化装置を制御するためのプログラムであって、前記画素ブロックの単位で、少なくとも前記符号化対象画像の水平方向1ライン分の画素データを記憶する第1の記憶領域と、前記画素ブロックの垂直方向1ライン分の画素データを記憶する第2の記憶領域とを有するメモリに格納されている隣接画素データを用いて画面内予測処理を行う画面内予測処理工程と、前記符号化対象画像と前記画面内予測処理によって得られる予測画像との差分を示す予測残差を生成する生成工程と、前記予測残差を直交変換した後、符号化する符号化工程と、前記直交変換された後のデータを逆変換して前記画素ブロックの単位に復号化する復号化工程と、前記復号化工程において復号化された画素ブロックの下端の水平方向1ライン分の画素データと、右端の垂直方向1ライン分の画素データとを、当該復号化された画素ブロックに隣接する画素ブロックの画面内予測処理に用いるために前記メモリに格納する記憶工程とをコンピュータに実行させ、前記記憶工程においては、前記復号化工程において復号化された画素ブロックの下端の水平方向1ラインにおける右端の画素の画素データを、前記第1の記憶領域に格納済みの画素データを参照する右隣の画素ブロックの画面内予測処理が行われた後に前記第1の記憶領域に格納することを特徴とする。 A program of the present invention is a program for controlling a video encoding device that performs encoding by dividing an encoding target image into pixel block units each having a predetermined number of pixels, and the pixel block unit A memory having at least a first storage area for storing pixel data for one line in the horizontal direction of the encoding target image and a second storage area for storing pixel data for one line in the vertical direction of the pixel block. Generates a prediction residual indicating a difference between an intra-screen prediction processing step of performing intra-screen prediction processing using stored adjacent pixel data and the prediction target image and a predicted image obtained by the intra-screen prediction processing. A generation step, an encoding step of performing encoding after the prediction residual is orthogonally transformed, and a decoding of inversely transforming the data after the orthogonal transformation and decoding the unit of the pixel block And the pixel data for one horizontal line at the lower end of the pixel block decoded in the decoding step and the pixel data for one line in the vertical direction at the right end are adjacent to the decoded pixel block. And a storage step of storing the pixel block in the memory for use in the intra-screen prediction process, and in the storage step, one horizontal line at the lower end of the pixel block decoded in the decoding step Storing the pixel data of the rightmost pixel in the first storage area after the intra-screen prediction process of the right pixel block referring to the pixel data stored in the first storage area is performed. Features.
本発明の記録媒体は、前記に記載のプログラムを記録(記憶)したことを特徴とする。 The recording medium of the present invention records (stores) the program described above.
本発明によれば、最小限のメモリリソースで隣接画素データを格納することができ、画面内予測処理を高速に行うことができる。 According to the present invention, adjacent pixel data can be stored with a minimum of memory resources, and intra prediction processing can be performed at high speed.
(第1の実施形態)
本発明を適用可能な実施形態であるMPEG−4 AVC方式で映像信号を符号化する映像符号化装置について、図1のブロック図を参照しながら説明を行う。MPEG−4 AVCでは、動画像を構成する複数の画面をマクロブロック(または、更に小さいブロック)の単位に分割して予測符号化を行う。なお、符号化する映像信号は4:2:0コンポーネント信号であるものとする。
(First embodiment)
A video encoding apparatus that encodes a video signal in the MPEG-4 AVC system, which is an embodiment to which the present invention can be applied, will be described with reference to the block diagram of FIG. In MPEG-4 AVC, predictive encoding is performed by dividing a plurality of screens constituting a moving image into units of macroblocks (or smaller blocks). Note that the video signal to be encoded is a 4: 2: 0 component signal.
図1は、本実施形態に係る映像符号化装置の内部構成例を示すブロック図である。
図1において、本実施形態の映像符号化装置100では、符号化対象画面を16×16画素単位の画素ブロックに分割したマクロブロックで処理を行う。予測方法決定部101は、符号化対象画面内の各マクロブロックに対する予測方法を決定する。
FIG. 1 is a block diagram illustrating an internal configuration example of a video encoding device according to the present embodiment.
In FIG. 1, the
第1のメモリ102は、画面内予測で用いる符号化済み画像の画素データを格納しており、第2のメモリ103は、画面間予測で用いる符号化済み画像を格納している。予測方法決定部101は、第1のメモリ102または第2のメモリ103から読み出した符号化済み画像の画素データと入力される映像信号とを用いて全ての予測方式で予測処理を行い、符号化効率が最適となる予測方式を決定する。
The
ここで、第1のメモリ102には、デブロッキングフィルタ処理部111によってデブロッキングフィルタ処理される前の符号化済み画像が格納される。一方、第2のメモリ103には、デブロッキングフィルタ処理部111によるデブロッキングフィルタ処理された後の符号化済み画像が格納される。
Here, the
予測方法決定部101は、符号化対象のマクロブロックがIスライスの場合は、画面内予測を選択し、Pスライス又はBスライスの場合は、画面内予測及び画面間予測のうち、符号化効率の高い方を選択する。そして、画面内予測を選択した場合には、画面内予測を行う画素ブロックのサイズ及び画面内予測モード等の画面内予測用パラメータを決定する。一方、画面間予測を選択した場合には、参照画像フレーム、マクロブロックの分割パターン、動きベクトル等の画面間予測用パラメータを決定する。
The prediction
そして、決定された予測方法が画面内予測である場合には、画面内予測処理部105へ画面内予測用パラメータを出力し、画面間予測である場合には、画面間予測処理部104へ、画面間予測用パラメータを出力する。
When the determined prediction method is intra-screen prediction, the intra-screen prediction parameter is output to the intra-screen
画面内予測処理部105は、予測方法決定部101により決定された画面内予測用パラメータに応じて、第1のメモリ102から読み出した符号化済み画像から予測画像を生成し、予測残差生成部106へ出力する。画面間予測処理部104は、予測方法決定部101により決定された画面間予測用パラメータに応じて、指定された参照フレーム内の動きベクトルに対応した符号化済み画像を第2のメモリ103から読み出す。そして、予測補間処理により予測画像を生成し、予測残差生成部106へ出力する。
The intra-screen
予測残差生成部106は、画面内予測処理部105又は画面間予測処理部104から入力された予測画像を図示しないメモリへ保持する。さらに、符号化対象画像(画素ブロック)と予測画像との差分を示す予測残差信号を生成し、直交変換部107へ出力する。
The prediction
直交変換部107は、指定された画素ブロック単位(8×8画素、又は4×4画素ブロック単位)に対して整数精度離散コサイン変換及び離散アダマール変換による直交変換処理を行う。なお、離散アダマール変換は、16×16画素ブロック単位で画面内予測処理が行われた輝度信号、又は色差信号に対して各画素ブロックを整数精度離散コサイン変換した結果のDC(直流)成分に対してのみ行われる。そして、直交変換された変換係数を、量子化部108へ供給する。
The
量子化部108は、指定された量子化パラメータに応じた量子化ステップにより変換係数の量子化処理を行い、エントロピー符号化部109へ出力する。なお、本実施形態では、画面内予測処理部105、予測残差生成部106、直交変換部107及び量子化部108が画面内予測符号化手段として機能する。
The
エントロピー符号化部109は、入力されたデータに対してエントロピー符号化処理を行い、符号化データを出力する。符号化方法としては、1つは、CAVLC(Context−based Adaptive Varibale Length Coding)処理がある。また、もう1つは、CABAC(Context−based Adaptive Binary Arithmetic Coding)処理がある。エントロピー符号化部109は、これらの何れかを用いてエントロピー符号化処理を行い、符号化データを出力する。
The
一方、同時に、量子化部108で量子化されたデータは、局所復号化部110へ入力される。局所復号化部110は復号化手段として機能し、入力された量子化データに対して逆量子化処理、逆直交変換処理(逆離散アダマール変換及び逆整数精度離散コサイン変換)を行い、予測残差生成部106から入力される予測画像を加算して復号化を行う。そして、局所復号化部110は記憶手段としても機能し、復号化されたデータを、第1のメモリ102へ格納するとともに、デブロッキングフィルタ処理部111へ出力する。
On the other hand, the data quantized by the
第1のメモリ102に保持された復号化データは、画面内予測処理に利用される。デブロッキングフィルタ処理部111は、入力された復号化データにデブロッキングフィルタ処理を施し、第2のメモリ103へ格納する。第2のメモリ103に保持されたデブロッキングフィルタ処理後の復号化データは、画面間予測処理に利用される。以上のような構成が映像符号化装置100に含まれている。
The decoded data held in the
図2は、本実施形態の第1のメモリ102の構成例を示す図である。
第1のメモリ102は、図2に示すように、第1の記憶領域として、画面の水平方向1ライン分の画素データを保持可能なメモリA−1領域(以下、ラインメモリ201と呼ぶ)を有している。さらに、第2の記憶領域として、マクロブロックにおける垂直方向1ライン分に相当する16画素分の画素データを保持可能なメモリA−2領域(以下、MBメモリ202と呼ぶ)を有している。本実施形態では、それぞれの領域が分離されている例を示しているが、統合されていてもよい。
FIG. 2 is a diagram illustrating a configuration example of the
As shown in FIG. 2, the
次に、図3に示す画面上のN番目のマクロブロックを画面内予測処理する場合を例に、MBメモリ202及びラインメモリ201の読み出しと更新の手順について説明する。なお、図3において、斜線部で示している画素は、N−1番目のマクロブロックの符号化が完了した時点のMBメモリ202及びラインメモリ201へ格納されている符号化済み画素を示している。
Next, the procedure for reading and updating the
まず、MPEG−4 AVC方式における画面内予測処理について説明する。図4は、MPEG−4 AVC方式における参照する符号化済み画素の位置を示す図である。
図4に示すように、MPEG−4 AVC方式では、符号化対象画素ブロックの左、上、右上、左上に隣接する符号化済み画素を参照することが可能である。そして、輝度信号の場合は、16×16画素ブロックで構成されるマクロブロックにおいて、4×4画素ブロック単位、8×8画素ブロック単位、又は16×16画ブロック素単位での予測が選択可能である。また、色差信号の場合は、8×8画素ブロックで構成されるマクロブロックにおいて、8×8画素ブロック単位での予測が可能である。
First, intra-screen prediction processing in the MPEG-4 AVC format will be described. FIG. 4 is a diagram showing the positions of encoded pixels to be referred to in the MPEG-4 AVC system.
As shown in FIG. 4, in the MPEG-4 AVC system, it is possible to refer to encoded pixels adjacent to the left, upper, upper right, and upper left of the encoding target pixel block. In the case of a luminance signal, prediction can be selected in units of 4 × 4 pixel blocks, 8 × 8 pixel blocks, or 16 × 16 pixel blocks in a macro block composed of 16 × 16 pixel blocks. is there. In the case of a color difference signal, prediction can be performed in units of 8 × 8 pixel blocks in a macro block composed of 8 × 8 pixel blocks.
図5は、マクロブロック内における予測を行う画素ブロックの順序を示す図である。
輝度信号を16×16画素ブロックよりも小さい画素ブロックで予測を行う場合、4×4画素ブロック単位の場合は、図5(a)に示すようにブロック番号0〜15の順で予測を行う。一方、8×8画素ブロック単位の場合は、図5(b)に示すようにブロック番号0〜4の順で予測を行う。
FIG. 5 is a diagram illustrating the order of pixel blocks for performing prediction within a macroblock.
When the luminance signal is predicted with a pixel block smaller than the 16 × 16 pixel block, in the case of a 4 × 4 pixel block unit, the prediction is performed in the order of
また、各画素ブロックのサイズ別にそれぞれ画面内予測モードが規定されている。輝度信号の場合は、4×4画素ブロック単位では、図6に示す9種類の予測モードが規定されている。また、8×8画素ブロック単位の場合も同様に9種類の予測モードが規定されており、マクロブロックと同一のサイズの16×16画素ブロック単位の場合は、図7に示す4種類の予測モードが規定されている。一方、色差信号の場合は、図8に示す4種類の予測モードが規定されている。これらの画素ブロックのサイズ及び画面内予測モードを選択的に決定し、画面内予測による符号化を行うことが可能となっている。 Also, an intra-screen prediction mode is defined for each pixel block size. In the case of a luminance signal, nine types of prediction modes shown in FIG. 6 are defined in units of 4 × 4 pixel blocks. Similarly, in the case of 8 × 8 pixel block units, nine types of prediction modes are defined, and in the case of 16 × 16 pixel block units having the same size as the macroblock, the four types of prediction modes shown in FIG. Is stipulated. On the other hand, in the case of a color difference signal, four types of prediction modes shown in FIG. 8 are defined. It is possible to selectively determine the size of these pixel blocks and the intra prediction mode and perform encoding by intra prediction.
以下、図9〜図12を参照しながら各画素ブロックのサイズ別にMBメモリ202及びラインメモリ201からの読み出しと更新の手順について説明する。なお、画面内予測モードについては代表して全てDC(参照画素の平均値で予測画像を生成する)モードであるものとする。
Hereinafter, a procedure for reading and updating from the
図9及び図10は、本実施形態において、4×4画素ブロック単位での画面内予測処理を前述の図5(a)に示す順番で行った場合のラインメモリ201及びMBメモリ202の更新手順の一例を示す図である。
図9及び図10において、符号化対象のマクロブロックの位置に対して上側に隣接する画素における符号化済みの画素データを格納するラインメモリを4画素単位で分けて示す。すなわち、図9に示すように、ラインメモリ201a、ラインメモリ201b、ラインメモリ201c、ラインメモリ201dと分けて示す。一方、符号化対象のマクロブロックの位置に対して左側に隣接する画素における符号化済みの画素データを格納するMBメモリも同様に4画素単位で分けて示す。すなわち、図9に示すように、MBメモリ202a、MBメモリ202b、MBメモリ202c、MBメモリ202dと分けて示す。また、各メモリに示す数字は、格納されている符号化済みの画素データが属するブロック番号を示している。
FIGS. 9 and 10 show the update procedure of the
9 and FIG. 10, the line memory for storing the encoded pixel data in the pixel adjacent on the upper side with respect to the position of the macroblock to be encoded is shown separately in units of four pixels. That is, as shown in FIG. 9, the
まず、図9(a)において、画面内予測処理部105は、ブロック番号0の画素ブロックに対して、ラインメモリ201a及びMBメモリ202aから読み出した符号化済みの画素データを用いて予測画像を生成する。そして、予測残差生成部106は、予測画像と符号化対象画像との間の予測残差信号を生成する。次に、直交変換部107及び量子化部108は予測残差信号に対してそれぞれ直交変換、量子化してエントロピー符号化部109及び局所復号化部110へ出力する。
First, in FIG. 9A, the intra-screen
局所復号化部110は、逆量子化、逆直交変換したデータを予測画像に加算して復号化する。そして、復号化されたデータのうち、画面内予測用として、下端の4画素分の画素データをラインメモリ201aへ書き戻し、右端の4画素分の画素データをMBメモリ202aへ書き戻す。そして、画面の左端以外に位置する画素ブロックの場合は、MBメモリ202dの16画素目の画素データをラインメモリ201tへコピーする。ここで、ラインメモリ201tとは、左側に隣接するマクロブロックにおけるラインメモリ201のうち、16画素目のデータを格納する部分に相当するものである。
The
次に、図9(b)において、画面内予測処理部105は、ブロック番号1の画素ブロックに対して、ラインメモリ201b及びMBメモリ202aから符号化済みの画素データを読み出して予測画像を生成する。この時、MBメモリ202aで更新されたブロック番号0の符号化済み右端4画素分の画素データが予測処理に利用されている。そして、前述した手順と同様に復号化されたデータのうち、画面内予測用として、下端の4画素分の画素データをラインメモリ201bへ書き戻し、右端の4画素分の画素データをMBメモリ202aへ書き戻す。
Next, in FIG. 9B, the in-screen
次に、図9(c)において、画面内予測処理部105は、ブロック番号2の画素ブロックに対して、ラインメモリ201a及びMBメモリ202bから符号化済みの画素データを読み出して予測画像を生成する。この時、ラインメモリ201aで更新されたブロック番号0の符号化済み下端4画素分の画素データが予測処理に利用されている。そして、前述した手順と同様に復号化されたデータのうち、画面内予測用として、下端の4画素分の画素データをラインメモリ201aへ書き戻し、右端の4画素分の画素データをMBメモリ202bへ書き戻す。
Next, in FIG. 9C, the intra-screen
次に、図9(d)において、画面内予測処理部105は、ブロック番号3の画素ブロックに対して、ラインメモリ201a及びMBメモリ202bから符号化済みの画素データを読み出して予測画像を生成する。この時、ラインメモリ201bで更新されたブロック番号1の符号化済み下端4画素分の画素データと、MBメモリ202bで更新されたブロック番号2の符号化済み右端4画素分の画素データとが予測処理に利用されている。そして、前述した手順と同様に復号化されたデータのうち、画面内予測用として、下端の4画素分の画素データをラインメモリ201aへ書き戻し、右端の4画素分の画素データをMBメモリ202bへ書き戻す。
Next, in FIG. 9D, the in-screen
次に、図9(e)において、画面内予測処理部105は、ブロック番号4の画素ブロックに対して、ラインメモリ201c及びMBメモリ202aから符号化済みの画素データを読み出して予測画像を生成する。この時、MBメモリ202aで更新されたブロック番号1の符号化済み右端4画素分の画素データが予測処理に利用されている。そして、前述した手順と同様に復号化されたデータのうち、画面内予測用として、下端の4画素分の画素データをラインメモリ201cへ書き戻し、右端の4画素分の画素データをMBメモリ202aへ書き戻す。
Next, in FIG. 9E, the intra-screen
次に、図9(f)において、画面内予測処理部105は、ブロック番号5の画素ブロックに対して、ラインメモリ201d及びMBメモリ202aから符号化済みの画素データを読み出して予測画像を生成する。この時、MBメモリ202aで更新されたブロック番号4の符号化済み右端4画素分の画素データが予測処理に利用されている。そして、前述した手順と同様に復号化されたデータのうち、画面内予測用として、下端の4画素分の画素データをラインメモリ201dへ書き戻し、右端の4画素分の画素データをMBメモリ202aへ書き戻す。
Next, in FIG. 9F, the intra-screen
次に、図9(g)において、画面内予測処理部105は、ブロック番号6の画素ブロックに対して、ラインメモリ201c及びMBメモリ202bから符号化済みの画素データを読み出して予測画像を生成する。この時、ラインメモリ201cで更新されたブロック番号4の符号化済み下端4画素分の画素データと、MBメモリ202bで更新されたブロック番号3の符号化済み右端4画素分の画素データとが予測処理に利用されている。そして、前述した手順と同様に復号化されたデータのうち、画面内予測用として、下端の4画素分の画素データをラインメモリ201cへ書き戻し、右端の4画素分の画素データをMBメモリ202bへ書き戻す。
Next, in FIG. 9G, the intra-screen
次に、図9(h)において、画面内予測処理部105は、ブロック番号7の画素ブロックに対して、ラインメモリ201d及びMBメモリ202bから符号化済みの画素データを読み出して予測画像を生成する。この時、ラインメモリ201dで更新されたブロック番号5の符号化済み下端4画素分の画素データと、MBメモリ202bで更新されたブロック番号6の符号化済み右端4画素分の画素データとが予測処理に利用されている。そして、前述した手順と同様に復号化されたデータのうち、画面内予測用として、下端の4画素分の画素データをラインメモリ201dへ書き戻し、右端の4画素分の画素データをMBメモリ202bへ書き戻す。
Next, in FIG. 9H, the intra-screen
次に、図10(a)において、画面内予測処理部105は、ブロック番号8の画素ブロックに対して、ラインメモリ201a及びMBメモリ202cから符号化済みの画素データを読み出して予測画像を生成する。この時、ラインメモリ201aで更新されたブロック番号2の符号化済み下端4画素分の画素データが予測処理に利用されている。そして、前述した手順と同様に復号化されたデータのうち、画面内予測用として、下端の4画素分の画素データをラインメモリ201aへ書き戻し、右端の4画素分の画素データをMBメモリ202cへ書き戻す。
Next, in FIG. 10A, the intra-screen
次に、図10(b)において、画面内予測処理部105は、ブロック番号9の画素ブロックに対して、ラインメモリ201b及びMBメモリ202cから符号化済みの画素データを読み出して予測画像を生成する。この時、ラインメモリ201bで更新されたブロック番号3の符号化済み下端4画素分の画素データと、MBメモリ202cで更新されたブロック番号8の符号化済み右端4画素分の画素データが予測処理に利用されている。そして、前述した手順と同様に復号化されたデータのうち、画面内予測用として、下端の4画素分の画素データをラインメモリ201bへ書き戻し、右端の4画素分の画素データをMBメモリ202cへ書き戻す。
Next, in FIG. 10B, the intra-screen
次に、図10(c)において、画面内予測処理部105は、ブロック番号10の画素ブロックに対して、ラインメモリ201a及びMBメモリ202dから符号化済みの画素データを読み出して予測画像を生成する。この時、ラインメモリ201aで更新されたブロック番号8の符号化済み下端4画素分の画素データが予測処理に利用されている。そして、前述した手順と同様に復号化されたデータのうち、画面内予測用として、下端の4画素分の画素データをラインメモリ201aへ書き戻し、右端の4画素分の画素データをMBメモリ202dへ書き戻す。
Next, in FIG.10 (c), the intra
次に、図10(d)において、画面内予測処理部105は、ブロック番号11の画素ブロックに対して、ラインメモリ201b及びMBメモリ202dから符号化済みの画素データを読み出して予測画像を生成する。この時、ラインメモリ201bで更新されたブロック番号9の符号化済み下端4画素分の画素データと、MBメモリ202dで更新されたブロック番号10の符号化済み右端4画素分の画素データとが予測処理に利用されている。そして、前述した手順と同様に復号化されたデータのうち、画面内予測用として、下端の4画素分の画素データをラインメモリ201bへ書き戻し、右端の4画素分の画素データをMBメモリ202dへ書き戻す。
Next, in FIG. 10D, the intra-screen
次に、図10(e)において、画面内予測処理部105は、ブロック番号12の画素ブロックに対して、ラインメモリ201c及びMBメモリ202cから符号化済みの画素データを読み出して予測画像を生成する。この時、ラインメモリ201cで更新されたブロック番号6の符号化済み下端4画素分の画素データと、MBメモリ202cで更新されたブロック番号9の符号化済み右端4画素分の画素データとが予測処理に利用されている。そして、前述した手順と同様に復号化されたデータのうち、画面内予測用として、下端の4画素分の画素データをラインメモリ201cへ書き戻し、右端の4画素分の画素データをMBメモリ202cへ書き戻す。
Next, in FIG.10 (e), the intra
次に、図10(f)において、画面内予測処理部105は、ブロック番号13の画素ブロックに対して、ラインメモリ201d及びMBメモリ202cから符号化済みの画素データを読み出して予測画像を生成する。この時、ラインメモリ201dで更新されたブロック番号7の符号化済み下端4画素分の画素データと、MBメモリ202cで更新されたブロック番号12の符号化済み右端4画素分の画素データとが予測処理に利用されている。そして、前述した手順と同様に復号化されたデータのうち、画面内予測用として、下端の4画素分の画素データをラインメモリ201dへ書き戻し、右端の4画素分の画素データをMBメモリ202cへ書き戻す。
Next, in FIG. 10F, the intra-screen
次に、図10(g)において、画面内予測処理部105は、ブロック番号14の画素ブロックに対して、ラインメモリ201c及びMBメモリ202dから符号化済みの画素データを読み出して予測画像を生成する。この時、ラインメモリ201cで更新されたブロック番号12の符号化済み下端4画素分の画素データと、MBメモリ202dで更新されたブロック番号11の符号化済み右端4画素分の画素データとが予測処理に利用されている。そして、前述した手順と同様に復号化されたデータのうち、画面内予測用として、下端の4画素分の画素データをラインメモリ201cへ書き戻し、右端の4画素分の画素データをMBメモリ202dへ書き戻す。
Next, in FIG. 10G, the intra-screen
最後に、図10(h)において、画面内予測処理部105は、ブロック番号15の画素ブロックに対して、ラインメモリ201d及びMBメモリ202dから符号化済みの画素データを読み出して予測画像を生成する。この時、ラインメモリ201dで更新されたブロック番号13の符号化済み下端4画素分の画素データと、MBメモリ202dで更新されたブロック番号14の符号化済み右端4画素分の画素データとが予測処理に利用されている。そして、前述した手順と同様に復号化されたデータのうち、画面内予測用として、右端を除く下端の3画素分の画素データをラインメモリ201dへ書き戻し、右端の4画素分の画素データをMBメモリ202dへ書き戻す。なお、画素ブロックが画面の右端である場合は下端の4画素分の画素データをラインメモリ201dへ書き戻す。
Finally, in FIG. 10H, the intra
ここで、画素ブロックが画面の右端でない場合、前述したように、次のマクロブロックの最初のブロック番号0の画素ブロックの処理を行った後にMBメモリ202からラインメモリ201へ更新される。これは、次のマクロブロックの先頭画素ブロックにおいて左上隣接画素を参照するためである。
Here, when the pixel block is not the right end of the screen, as described above, the pixel block of the
以上のように、4×4画素ブロック単位の予測処理毎にラインメモリ201及びMBメモリ202を画素ブロックの位置に合わせて順次更新していくことにより、4×4画素ブロック単位の画面内予測処理を問題なく行うことができる。また、ラインメモリ201には、1つ下に位置するマクロブロックの画面内予測に必要な符号化済みの画素データが更新され、MBメモリ202には、右隣のマクロブロックの画面内予測に必要な符号化済みの画素データが更新される。
As described above, the in-screen prediction process in units of 4 × 4 pixel blocks is performed by sequentially updating the
図11は、本実施形態において、8×8画素ブロック単位での画面内予測処理を前述の図5(b)に示す順番で行った場合のラインメモリ201及びMBメモリ202の更新手順の一例を示す図である。
図11において、符号化対象のマクロブロックの位置に対して上側に隣接する画素における符号化済みの画素データを格納するラインメモリを8画素単位で分けて示す。すなわち、図11に示すように、ラインメモリ201e、ラインメモリ201fと分けて示す。一方、符号化対象のマクロブロックの位置に対して左側に隣接する画素における符号化済み画素を格納するMBメモリを8画素単位で分けて示す。すなわち、図11に示すように、MBメモリ202e、MBメモリ202fと分けて示す。また、各メモリに示す数字は、格納されている符号化済み画素の属するブロック番号を示している。
FIG. 11 shows an example of the update procedure of the
In FIG. 11, the line memory for storing the encoded pixel data in the pixel adjacent on the upper side with respect to the position of the macroblock to be encoded is shown in units of 8 pixels. That is, as shown in FIG. 11, the
まず、図11(a)において、画面内予測処理部105は、ブロック番号0の画素ブロックに対して、ラインメモリ201e及びMBメモリ202eから読み出した符号化済みの画素データを用いて予測画像を生成する。そして、予測残差生成部106は、予測画像と符号化対象画像との間の予測残差信号を生成する。次に、直交変換部107及び量子化部108は予測残差信号に対してそれぞれ直交変換、量子化してエントロピー符号化部109及び局所復号化部110へ出力する。
First, in FIG. 11A, the intra-screen
局所復号化部110は、逆量子化、逆直交変換したデータを予測画像に加算して復号化する。そして、復号化されたデータのうち、画面内予測用として、下端の8画素分の画素データをラインメモリ201eへ書き戻し、右端の8画素分の画素データをMBメモリ202eへ書き戻す。そして、画面の左端以外に位置する画素ブロックの場合は、MBメモリ202fの16画素目の画素データをラインメモリ201tへコピーする。ここで、ラインメモリ201tは、左側に隣接するマクロブロックにおけるラインメモリ201fのうち、16画素目の画素データを格納する部分に相当するものである。
The
次に、図11(b)において、画面内予測処理部105は、ブロック番号1の画素ブロックに対して、ラインメモリ201f及びMBメモリ202eから符号化済みの画素データを読み出して予測画像を生成する。この時、MBメモリ202eで更新されたブロック番号0の符号化済み右端8画素分の画素データが予測処理に利用されている。そして、前述した手順と同様に復号化されたデータのうち、画面内予測用として下端の8画素分の画素データをラインメモリ201fへ書き戻し、右端の8画素分の画素データをMBメモリ202eへ書き戻す。
Next, in FIG. 11B, the intra-screen
次に、図11(c)において、画面内予測処理部105は、ブロック番号2の画素ブロックに対して、ラインメモリ201e及びMBメモリ202fから符号化済みの画素データを読み出して予測画像を生成する。この時、ラインメモリ201eで更新されたブロック番号0の符号化済み下端8画素分の画素データが予測処理に利用されている。そして、前述した手順と同様に復号化されたデータのうち、画面内予測用として、下端の8画素分の画素データをラインメモリ201eへ書き戻し、右端の8画素分の画素データをMBメモリ202fへ書き戻す。
Next, in FIG. 11C, the intra-screen
最後に、図11(d)において、画面内予測処理部105は、ブロック番号3の画素ブロックに対して、ラインメモリ201f及びMBメモリ202fから符号化済みの画素データを読み出して予測画像を生成する。この時、ラインメモリ201fで更新されたブロック番号1の符号化済み下端8画素分の画素データと、MBメモリ202fで更新されたブロック番号2の符号化済み右端8画素分の画素データとが予測処理に利用されている。そして、前述した手順と同様に復号化されたデータのうち、画面内予測用として、右端を除く下端の7画素分の画素データをラインメモリ201fへ書き戻し、右端の8画素分の画素データをMBメモリ202fへ書き戻す。なお、画素ブロックが画面の右端である場合は下端の8画素分の画素データをラインメモリ201fへ書き戻す。
Finally, in FIG. 11D, the intra-screen
ここで、画素ブロックが画面の右端でない場合、前述したように、次のマクロブロックの最初のブロック番号0の画素ブロックの処理を行った後にMBメモリ202からラインメモリ201へ更新される。これは、4×4画素ブロック単位の場合と同様に、次のマクロブロックの先頭画素ブロックにおいて左上隣接画素を参照するためである。
Here, when the pixel block is not the right end of the screen, as described above, the pixel block of the
以上のように、8×8画素ブロック単位の予測処理毎にラインメモリ201及びMBメモリ202を画素ブロックの位置に合わせて順次更新していくことにより、8×8画素ブロック単位の画面内予測処理を問題なく行うことができる。また、ラインメモリ201には、1つ下に位置するマクロブロックの画面内予測に必要な符号化済みの画素データが更新され、MBメモリ202には、右隣のマクロブロックの画面内予測に必要な符号化済みの画素データが更新される。
As described above, the
図12は、本実施形態において、16×16画素ブロック単位での画面内予測処理を行った場合のラインメモリ及びMBメモリの更新手順の一例を示す図である。
図12において、符号化対象のマクロブロックの位置に対して、上側に隣接する画素における符号化済みの画素データを格納するラインメモリ201を16画素単位のラインメモリ201gで示す。一方、符号化対象のマクロブロックの位置に対して左側に隣接する画素における符号化済みの画素データを格納するMBメモリ202を16画素単位のMBメモリ202gで示す。
FIG. 12 is a diagram illustrating an example of a procedure for updating the line memory and the MB memory when the intra prediction process is performed in units of 16 × 16 pixel blocks in the present embodiment.
In FIG. 12, the
図12において、画面内予測処理部105は、ブロック番号0の画素ブロック(即ちマクロブロック)に対して、ラインメモリ201g及びMBメモリ202gから読み出した符号化済みの画素データを用いて予測画像を生成する。そして、予測残差生成部106は、予測画像と符号化対象画像との間の予測残差信号を生成する。次に、直交変換部107及び量子化部108は予測残差信号に対してそれぞれ直交変換、量子化してエントロピー符号化部109及び局所復号化部110へ出力する。
In FIG. 12, the in-screen
局所復号化部110は、逆量子化、逆直交変換したデータを予測画像に加算して復号化する。そして、復号化されたデータのうち、画面内予測用として、下端の15画素分の画素データをラインメモリ201gへ書き戻し、右端の16画素分の画素データをMBメモリ202gへ書き戻す。なお、マクロブロックが画面の右端である場合は下端の16画素分の画素データをラインメモリ201gへ書き戻す。
The
ここで、マクロブロックが画面の右端でない場合、前述したように、次のマクロブロックの処理を行った後にMBメモリ202からラインメモリ201へ更新される。また、画面の左端以外に位置するマクロブロックの場合は、MBメモリ202gの16画素目の画素データをラインメモリ201tへコピーする。
Here, when the macro block is not the right end of the screen, the
以上のように、16×16画素ブロックの場合でも、ラインメモリ201及びMBメモリ202の更新が行われる。ラインメモリ201には、1つ下に位置するマクロブロックの画面内予測に必要な符号化済みの画素データが更新され、MBメモリ202には、右隣のマクロブロックの画面内予測に必要な符号化済みの画素データが更新される。また、色差信号における8×8画素ブロックの場合は、輝度信号における16×16画素ブロックに対して画素数に違いがあるだけであり、同様の処理手順により実現できる。
As described above, even in the case of a 16 × 16 pixel block, the
以上のように本実施形態では、第1のメモリ102は、画面の水平方向1ライン分の画素データを保持するラインメモリ201と、マクロブロックにおける垂直方向1ライン分に相当する16画素分の画素データを保持するMBメモリ202とを有するようにした。そして、画面内予測において、何れの画素ブロックサイズであっても画面1ライン分のメモリとマクロブロックの垂直16画素分といった限られたメモリを前述した手順で更新するようにした。これにより、輝度信号における4×4画素ブロック、8×8画素ブロック、16×16画素ブロック、又は色差信号における8×8画素ブロックのいずれの場合であっても画面内予測処理が高速に行うことができる。
As described above, in the present embodiment, the
なお、本実施形態においては、ブロック番号0が左上隣接画素を参照するために、ブロック番号0の画素ブロックの画面内予測を行った後に、MBメモリ202の16画素目の画素データをラインメモリ201tへコピーした。なお、図9〜図11の説明では省略したが、輝度信号における4×4画素ブロック、及び8×8画素ブロックでは、ブロック番号1以降であっても左上隣接画素を参照する可能性がある。
In this embodiment, since
例えば、図9(d)において、ブロック番号3の画素ブロックの画面内予測を行う際に、左上隣接画素(ブロック番号0の画素ブロックにおける右下画素)に相当する画素データがラインメモリ201a、MBメモリ202aの何れにも格納されていない。そこで、符号化済みの左上隣接画素に相当する画素データについては、別途、第1のメモリ102内に格納領域を設けるようにする。この場合、参照画素として用いられた段階で消去し、必要最小限にメモリ容量を確保する。
For example, in FIG. 9D, when performing intra prediction of the pixel block of
また、ブロック番号によっては、ブロック番号0の画素ブロックの画面内予測を行った後に、MBメモリ202の16画素目の画素データをラインメモリ201tへコピーする手順と同様に左上隣接画素を確保してもよい。例えば、図9(a)において、ブロック番号0の画面内予測を行った後に、画面内予測用として、右端を除く下端の3画素分の画素データをラインメモリ201aへ書き戻し、右端の4画素分の画素データをMBメモリ202aへ書き戻す。そして、ブロック番号1の画素ブロックの画面内予測が行われた後に、MBメモリ202aの4画素目の画素データをラインメモリ201aにコピーするようにしてもよい。
Depending on the block number, after performing in-screen prediction of the pixel block with
(本発明に係る他の実施形態)
前述した本発明の実施形態における映像符号化装置を構成する各手段、並びに映像符号化方法の各工程は、コンピュータのRAMやROMなどに記憶されたプログラムが動作することによって実現できる。このプログラム及び前記プログラムを記録したコンピュータ読み取り可能な記録媒体は本発明に含まれる。
(Other embodiments according to the present invention)
Each means constituting the video encoding apparatus and each step of the video encoding method in the embodiment of the present invention described above 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.
また、本発明は、例えば、システム、装置、方法、プログラムもしくは記録媒体等としての実施形態も可能であり、具体的には、複数の機器から構成されるシステムに適用してもよいし、また、一つの機器からなる装置に適用してもよい。 Further, the present invention can be implemented as, for example, a system, apparatus, method, program, or recording medium. 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.
なお、本発明は、前述した実施形態の機能を実現するソフトウェアのプログラムを、システムまたは装置に直接、または遠隔から供給する場合も含む。そして、そのシステムまたは装置のコンピュータが前記供給されたプログラムコードを読み出して実行することによっても達成される場合を含む。 Note that the present invention includes a case where a software program that realizes the functions of the above-described embodiments is supplied directly or remotely to a system or apparatus. This includes the case where the system or the computer of the apparatus is also achieved by reading and executing the supplied program code.
したがって、本発明の機能処理をコンピュータで実現するために、前記コンピュータにインストールされるプログラムコード自体も本発明を実現するものである。つまり、本発明は、本発明の機能処理を実現するためのコンピュータプログラム自体も含まれる。 Accordingly, 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)などもある。 Examples of the recording medium for supplying the program include a flexible disk, a hard disk, an optical disk, and a magneto-optical disk. Further, there are MO, CD-ROM, CD-R, CD-RW, magnetic tape, nonvolatile memory card, ROM, DVD (DVD-ROM, DVD-R) and the like.
その他、プログラムの供給方法としては、クライアントコンピュータのブラウザを用いてインターネットのホームページに接続する方法がある。そして、前記ホームページから本発明のコンピュータプログラムそのもの、もしくは圧縮され自動インストール機能を含むファイルをハードディスク等の記録媒体にダウンロードすることによっても供給できる。 As another program supply method, there is a method of connecting to a homepage on the Internet using a browser of a client computer. The computer program itself of the present invention or a compressed file including an automatic installation function can be downloaded from the homepage by downloading it 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, 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 is also included in the present invention.
また、その他の方法として、本発明のプログラムを暗号化してCD−ROM等の記録媒体に格納してユーザに配布し、所定の条件をクリアしたユーザに対し、インターネットを介してホームページから暗号化を解く鍵情報をダウンロードさせる。そして、その鍵情報を使用することにより暗号化されたプログラムを実行してコンピュータにインストールさせて実現することも可能である。 As another method, the program of the present invention is encrypted, stored in a recording medium such as a CD-ROM, distributed to users, and encrypted from a homepage via the Internet to users who have cleared predetermined conditions. Download the key information to be solved. It is also possible to execute the encrypted program by using the key information and install the program on a computer.
また、コンピュータが、読み出したプログラムを実行することによって、前述した実施形態の機能が実現される。さらに、そのプログラムの指示に基づき、コンピュータ上で稼動しているOSなどが、実際の処理の一部または全部を行い、その処理によっても前述した実施形態の機能が実現され得る。 Further, the functions of the above-described embodiments are realized by the computer executing the read program. Furthermore, based on the instructions of the program, an OS or the like running on the computer performs part or all of the actual processing, and the functions of the above-described embodiments can be realized by the processing.
さらに、その他の方法として、まず記録媒体から読み出されたプログラムが、コンピュータに挿入された機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わるメモリに書き込まれる。そして、そのプログラムの指示に基づき、その機能拡張ボードや機能拡張ユニットに備わるCPUなどが実際の処理の一部または全部を行い、その処理によっても前述した実施形態の機能が実現される。 As another method, the program read from the recording medium is first written in a memory provided in a function expansion board inserted into the computer or a function expansion unit connected to the computer. Then, based on the instructions of the program, the CPU or the like provided in the function expansion board or function expansion unit performs part or all of the actual processing, and the functions of the above-described embodiments are also realized by the processing.
100 映像符号化装置
101 予測方法決定部
102 第1のメモリ
103 第2のメモリ
104 画面間予測処理部
105 画面内予測処理部
106 予測残差生成部
107 直交変換部
108 量子化部
109 エントロピー符号化部
110 局所復号化部
111 デブロッキングフィルタ処理部
201 ラインメモリ
202 MBメモリ
DESCRIPTION OF
Claims (6)
前記画素ブロックの単位で、メモリに格納されている隣接画素データを用いて画面内予測処理を行う画面内予測処理手段と、
前記符号化対象画像と前記画面内予測処理によって得られる予測画像との差分を示す予測残差を生成する生成手段と、
前記予測残差を直交変換した後、符号化する符号化手段と、
前記直交変換された後のデータを逆変換して前記画素ブロックの単位に復号化する復号化手段と、
前記復号化手段により復号化された画素ブロックの下端の水平方向1ライン分の画素データと、右端の垂直方向1ライン分の画素データとを、当該復号化された画素ブロックに隣接する画素ブロックの画面内予測処理に用いるために前記メモリに格納する記憶手段とを備え、
前記メモリは、少なくとも前記符号化対象画像の水平方向1ライン分の画素データを記憶する第1の記憶領域と、前記画素ブロックの垂直方向1ライン分の画素データを記憶する第2の記憶領域とを有し、
前記記憶手段は、前記復号化手段により復号化された画素ブロックの下端の水平方向1ラインにおける右端の画素の画素データを、前記第1の記憶領域に格納済みの画素データを参照する右隣の画素ブロックの画面内予測処理が行われた後に前記第1の記憶領域に格納することを特徴とする映像符号化装置。 A video encoding device that performs encoding by dividing an encoding target image into units of pixel blocks each having a predetermined number of pixels,
In-screen prediction processing means for performing in-screen prediction processing using adjacent pixel data stored in a memory in units of the pixel block;
Generating means for generating a prediction residual indicating a difference between the encoding target image and the prediction image obtained by the intra-screen prediction processing;
Encoding means for performing encoding after orthogonal transformation of the prediction residual;
Decoding means for inversely transforming the data after the orthogonal transformation and decoding the unit of the pixel block;
The pixel data for one horizontal line at the lower end of the pixel block decoded by the decoding means and the pixel data for one line in the vertical direction at the right end of the pixel block adjacent to the decoded pixel block. Storage means for storing in the memory for use in in-screen prediction processing,
The memory includes at least a first storage area for storing pixel data for one line in the horizontal direction of the encoding target image, and a second storage area for storing pixel data for one line in the vertical direction of the pixel block. Have
The storage means refers to the pixel data of the rightmost pixel in one horizontal line at the lower end of the pixel block decoded by the decoding means, with reference to the pixel data stored in the first storage area on the right side. A video encoding apparatus, wherein an intra-screen prediction process of a pixel block is performed and then stored in the first storage area.
前記画素ブロックの単位で、少なくとも前記符号化対象画像の水平方向1ライン分の画素データを記憶する第1の記憶領域と、前記画素ブロックの垂直方向1ライン分の画素データを記憶する第2の記憶領域とを有するメモリに格納されている隣接画素データを用いて画面内予測処理を行う画面内予測処理工程と、
前記符号化対象画像と前記画面内予測処理によって得られる予測画像との差分を示す予測残差を生成する生成工程と、
前記予測残差を直交変換した後、符号化する符号化工程と、
前記直交変換された後のデータを逆変換して前記画素ブロックの単位に復号化する復号化工程と、
前記復号化工程において復号化された画素ブロックの下端の水平方向1ライン分の画素データと、右端の垂直方向1ライン分の画素データとを、当該復号化された画素ブロックに隣接する画素ブロックの画面内予測処理に用いるために前記メモリに格納する記憶工程とを備え、
前記記憶工程においては、前記復号化工程において復号化された画素ブロックの下端の水平方向1ラインにおける右端の画素の画素データを、前記第1の記憶領域に格納済みの画素データを参照する右隣の画素ブロックの画面内予測処理が行われた後に前記第1の記憶領域に格納することを特徴とする映像符号化方法。 A video encoding method for performing encoding by dividing an encoding target image into units of pixel blocks each having a predetermined number of pixels,
In a unit of the pixel block, a first storage area that stores at least one line of pixel data in the horizontal direction of the encoding target image, and a second storage area that stores pixel data of one line in the vertical direction of the pixel block. An intra-screen prediction processing step for performing intra-screen prediction processing using adjacent pixel data stored in a memory having a storage area; and
Generating a prediction residual indicating a difference between the encoding target image and the prediction image obtained by the intra-screen prediction process;
An encoding step of encoding the prediction residual after orthogonal transformation;
A decoding step of inversely transforming the data after the orthogonal transformation and decoding the unit of the pixel block;
The pixel data for one horizontal line at the bottom of the pixel block decoded in the decoding step and the pixel data for one line in the vertical direction at the right end of the pixel block adjacent to the decoded pixel block A storage step of storing in the memory for use in the in-screen prediction process,
In the storing step, the pixel data of the rightmost pixel in one horizontal line at the lower end of the pixel block decoded in the decoding step is adjacent to the right side referring to the pixel data stored in the first storage area. A video encoding method comprising: storing in the first storage area after intra-screen prediction processing of the pixel block is performed.
前記画素ブロックの単位で、少なくとも前記符号化対象画像の水平方向1ライン分の画素データを記憶する第1の記憶領域と、前記画素ブロックの垂直方向1ライン分の画素データを記憶する第2の記憶領域とを有するメモリに格納されている隣接画素データを用いて画面内予測処理を行う画面内予測処理工程と、
前記符号化対象画像と前記画面内予測処理によって得られる予測画像との差分を示す予測残差を生成する生成工程と、
前記予測残差を直交変換した後、符号化する符号化工程と、
前記直交変換された後のデータを逆変換して前記画素ブロックの単位に復号化する復号化工程と、
前記復号化工程において復号化された画素ブロックの下端の水平方向1ライン分の画素データと、右端の垂直方向1ライン分の画素データとを、当該復号化された画素ブロックに隣接する画素ブロックの画面内予測処理に用いるために前記メモリに格納する記憶工程とをコンピュータに実行させ、
前記記憶工程においては、前記復号化工程において復号化された画素ブロックの下端の水平方向1ラインにおける右端の画素の画素データを、前記第1の記憶領域に格納済みの画素データを参照する右隣の画素ブロックの画面内予測処理が行われた後に前記第1の記憶領域に格納することを特徴とするプログラム。 A program for controlling a video encoding device that performs encoding by dividing an encoding target image into units of pixel blocks each having a predetermined number of pixels,
In a unit of the pixel block, a first storage area that stores at least one line of pixel data in the horizontal direction of the encoding target image, and a second storage area that stores pixel data of one line in the vertical direction of the pixel block. An intra-screen prediction processing step for performing intra-screen prediction processing using adjacent pixel data stored in a memory having a storage area; and
Generating a prediction residual indicating a difference between the encoding target image and the prediction image obtained by the intra-screen prediction process;
An encoding step of encoding the prediction residual after orthogonal transformation;
A decoding step of inversely transforming the data after the orthogonal transformation and decoding the unit of the pixel block;
The pixel data for one horizontal line at the bottom of the pixel block decoded in the decoding step and the pixel data for one line in the vertical direction at the right end of the pixel block adjacent to the decoded pixel block A storage step of storing in the memory for use in the in-screen prediction process;
In the storing step, the pixel data of the rightmost pixel in one horizontal line at the lower end of the pixel block decoded in the decoding step is adjacent to the right side referring to the pixel data stored in the first storage area. A program that is stored in the first storage area after intra-screen prediction processing of the pixel block is performed.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2012046238A JP5340440B2 (en) | 2012-03-02 | 2012-03-02 | Video encoding apparatus and video encoding method |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2012046238A JP5340440B2 (en) | 2012-03-02 | 2012-03-02 | Video encoding apparatus and video encoding method |
Related Parent Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2008016655A Division JP4948435B2 (en) | 2008-01-28 | 2008-01-28 | Video encoding apparatus and video encoding method |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2012135034A JP2012135034A (en) | 2012-07-12 |
JP5340440B2 true JP5340440B2 (en) | 2013-11-13 |
Family
ID=46649969
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2012046238A Expired - Fee Related JP5340440B2 (en) | 2012-03-02 | 2012-03-02 | Video encoding apparatus and video encoding method |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP5340440B2 (en) |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2007150913A (en) * | 2005-11-29 | 2007-06-14 | Matsushita Electric Ind Co Ltd | Image encoding device |
JP2007214641A (en) * | 2006-02-07 | 2007-08-23 | Seiko Epson Corp | Coder, decoder, image processing apparatus, and program for allowing computer to execute image processing method |
JP2007259247A (en) * | 2006-03-24 | 2007-10-04 | Seiko Epson Corp | Encoding device, decoding device, and data processing system |
-
2012
- 2012-03-02 JP JP2012046238A patent/JP5340440B2/en not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
JP2012135034A (en) | 2012-07-12 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR102462009B1 (en) | Method for image encoding and computer readable redording meduim thereof | |
CA2947042C (en) | Coding run values based on palette index in palette-based video coding | |
JP6557260B2 (en) | Coding runs with escape in palette-based video coding | |
JP6661550B2 (en) | Predictor palette initialization in palette-based video coding | |
KR102658291B1 (en) | Method of coding and decoding images, coding and decoding device and computer programs corresponding thereto | |
KR102043581B1 (en) | Image coding apparatus, method for coding image, image decoding apparatus, method for decoding image, and computer readable medium | |
JP2015019152A (en) | Device, method and program for image coding, and device, method and program for image decoding | |
JP4939273B2 (en) | Image coding apparatus and image coding method | |
WO2014087861A1 (en) | Image processing device, image processing method, and program | |
KR102711772B1 (en) | The method of encoding and decoding of quantization matrix and the apparatus for using the same | |
KR20130048180A (en) | Multi-level significance maps for encoding and decoding | |
JP6077811B2 (en) | Image coding apparatus, image coding method, and program | |
JP4948435B2 (en) | Video encoding apparatus and video encoding method | |
JP5197428B2 (en) | Image coding apparatus and image coding method | |
JP5340440B2 (en) | Video encoding apparatus and video encoding method | |
JP2018125882A (en) | Image encoding device, image encoding method and program, image decoding device, and image decoding method and program | |
RU2779843C1 (en) | Device for encoding and decoding images | |
JP4895396B2 (en) | Image decoding apparatus and image decoding method | |
KR20240147967A (en) | The method of encoding and decoding of quantization matrix and the apparatus for using the same |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20130624 |
|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20130709 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20130806 |
|
LAPS | Cancellation because of no payment of annual fees |