JP2012175424A - Encoding processing apparatus and encoding processing method - Google Patents
Encoding processing apparatus and encoding processing method Download PDFInfo
- Publication number
- JP2012175424A JP2012175424A JP2011035865A JP2011035865A JP2012175424A JP 2012175424 A JP2012175424 A JP 2012175424A JP 2011035865 A JP2011035865 A JP 2011035865A JP 2011035865 A JP2011035865 A JP 2011035865A JP 2012175424 A JP2012175424 A JP 2012175424A
- Authority
- JP
- Japan
- Prior art keywords
- encoding
- macroblock
- region
- boundary
- macroblocks
- 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.)
- Withdrawn
Links
Images
Landscapes
- Compression Or Coding Systems Of Tv Signals (AREA)
Abstract
Description
本発明は、ムービー、デジタルカメラ、カメラ付き携帯電話等の動画撮影機能を持つ機器や、画像コンテンツ作成機器における動画像圧縮符号化処理に関するものである。 The present invention relates to a moving image compression encoding process in a device having a moving image shooting function such as a movie, a digital camera, a camera-equipped mobile phone, or an image content creation device.
近年、高能率符号化を行うMPEG(moving picture experts group)等の動画像圧縮符号化技術の実用化が急速に進み、ビデオカメラや携帯電話等に普及している。また、その符号化解像度およびフレームレートについても高性能化が進み、フルハイビジョンと呼ばれる水平画素数1920、垂直画素数1088、60fps(frame per second)といった高解像度動画も主流になってきている。今後は、水平画素数が4000前後、垂直画素数が2000前後の4K2K、更には、水平画素数が8000前後、垂直画素数が4000前後の8K4Kといった更なる高解像度へ移っていくことが予想される。そして、高解像度化や高フレームレート化が進むについて、処理を高速に実現する必要がある。
In recent years, moving picture compression encoding technology such as MPEG (moving picture experts group) that performs high-efficiency encoding has been rapidly put into practical use, and is widely used in video cameras and mobile phones. Further, with regard to the encoding resolution and the frame rate, the performance has been improved, and high-resolution moving images such as the number of horizontal pixels 1920, the number of
これに対して、従来、符号化処理回路を複数備え、フレームを符号化処理回路の数と同じ数の領域に分割し、各領域での符号化処理を各別の符号化処理回路が担当することにより、高速で符号化処理を行う画像符号化装置が提案されている(特許文献1参照)。 In contrast, conventionally, a plurality of encoding processing circuits are provided, the frame is divided into the same number of regions as the number of encoding processing circuits, and each encoding processing circuit takes charge of the encoding processing in each region. Thus, an image encoding apparatus that performs encoding processing at high speed has been proposed (see Patent Document 1).
この画像符号化装置は、図17に示すように、例えば、第1領域および第2領域に分けて処理を行う場合、第1領域では、マクロブロック1_1、1_2、1_3、・・・の順に処理が行われ、それと同時に第2領域では、マクロブロック2_1、2_2、2_3、・・・の順で処理が行われることになる。 As shown in FIG. 17, for example, when the image coding apparatus performs processing in a first area and a second area, the first area performs processing in the order of macroblocks 1_1, 1_2, 1_3,. At the same time, in the second area, the processing is performed in the order of the macro blocks 2_1, 2_2, 2_3,.
しかしながら、MPEG−4AVC/H.264の符号化方式では、例えば、Bピクチャを構成するマクロブロックの画素値データ(Bピクチャの場合、フレーム間予測誤差に対応する画素値データ)を符号化する符号化処理を行うとき、当該マクロブロックに隣接するマクロブロックの動きベクトルの情報を用いて符号化処理を行う。例えば、図17のマクロブロック2_1の予測誤差データを符号化する際、マクロブロック2_1に隣接するマクロブロック1_n、2_2および2_n+1の動きベクトルの情報が必要になる。すると、マクロブロック2_1について符号化処理をする時点で、マクロブロック1_n、2_2および2_n+1について符号化処理が既に完了しており、マクロブロック1_n、2_2および2_n+1についての動きベクトルの情報が準備されている必要がある。また、動き探索の参照画像を生成する過程では、互いに隣接するマクロブロックの画素値データ等を用いてデブロックフィルタ処理を実行しブロックノイズを除去する。例えば、図17のマクロブロック2_1について参照画像を生成する際、マクロブロック1_nの画素値データ等が必要になる。 However, MPEG-4 AVC / H. In the H.264 encoding method, for example, when performing encoding processing for encoding pixel value data of a macroblock constituting a B picture (pixel value data corresponding to an inter-frame prediction error in the case of a B picture), the macro Encoding processing is performed using information on motion vectors of macroblocks adjacent to the block. For example, when encoding the prediction error data of the macro block 2_1 in FIG. 17, information on motion vectors of the macro blocks 1_n, 2_2, and 2_n + 1 adjacent to the macro block 2_1 is required. Then, when the encoding process is performed on the macroblock 2_1, the encoding process has already been completed on the macroblocks 1_n, 2_2, and 2_n + 1, and motion vector information on the macroblocks 1_n, 2_2, and 2_n + 1 is prepared. There is a need. In addition, in the process of generating a reference image for motion search, deblock filter processing is executed using pixel value data of macro blocks adjacent to each other to remove block noise. For example, when generating a reference image for the macroblock 2_1 in FIG. 17, pixel value data of the macroblock 1_n and the like are required.
従って、特許文献1に記載された符号化処理装置を用いた場合、マクロブロック1_nの動きベクトルの情報或いは画素値データが生成されるまで、マクロブロック2_1の情報の符号化処理が待たされることになる。 Therefore, when the encoding processing device described in Patent Document 1 is used, the encoding processing of the information of the macroblock 2_1 is waited until the motion vector information or pixel value data of the macroblock 1_n is generated. Become.
また、特許文献1に記載された符号化処理装置では、前述のように、1の領域に属するマクロブロックの情報を他の領域に属するマクロブロックの符号化に使用するため、1の領域に属するマクロブロックの情報を、他の領域に属するマクロブロックの符号化を行うまで保持しておくためのバッファメモリが余分に必要となっていた。 Further, as described above, the encoding processing apparatus described in Patent Document 1 uses information on macroblocks belonging to one area for encoding macroblocks belonging to another area, and therefore belongs to one area. An extra buffer memory is required to hold the macroblock information until the macroblocks belonging to other areas are encoded.
本発明は、上記事由に鑑みてなされたものであり、符号化処理の高速化を図りながら、マクロブロックの情報を保持しておくためのバッファメモリの容量を削減することによる消費電力の低減および小型化を図ることにある。 The present invention has been made in view of the above reasons, and reduces power consumption by reducing the capacity of a buffer memory for holding macroblock information while speeding up the encoding process, and The goal is to reduce the size.
本発明に係る符号化処理装置は、画像データをフレーム毎に、各領域が水平方向にマクロブロック列を3列以上含むように水平方向に並ぶ複数の領域に分割するフレーム分割部と、領域毎に、領域の境界に接しているマクロブロックを特定する特定部と、分割される領域の数と同数の符号化処理部を有し、各領域に属するマクロブロック群が領域毎に並行して符号化処理されるように分配供給されて並列的に符号化処理する並列処理系とを備え、並列処理系における各符号化処理部は、領域の境界に接していないマクロブロックに対しては、当該マクロブロックに隣接するマクロブロックの情報を用いて符号化する第1符号化モードで符号化し、領域の境界に接しているマクロブロックに対しては、当該マクロブロック単体の情報若しくは当該マクロブロックが属する領域内に存在し且つ当該マクロブロックに隣接するマクロブロックの情報を用い、当該マクロブロックが属さない領域内に存在するマクロブロックの情報を用いずに符号化する第2符号化モードで符号化する。 The encoding processing apparatus according to the present invention includes a frame dividing unit that divides image data into a plurality of regions arranged in a horizontal direction so that each region includes three or more macroblock sequences in the horizontal direction, and each region. A specific part for identifying the macroblock that is in contact with the boundary of the area and an encoding processing part as many as the number of areas to be divided, and the macroblock group belonging to each area is encoded in parallel for each area. A parallel processing system that is distributed and supplied so as to be encoded and processed in parallel, and each encoding processing unit in the parallel processing system is concerned with a macroblock that is not in contact with the boundary of the region. For a macroblock that is encoded in the first encoding mode that uses the information of the macroblock adjacent to the macroblock and is in contact with the boundary of the region, information on the macroblock alone or Second encoding mode in which encoding is performed without using information on a macroblock existing in an area to which the macroblock belongs and using information on a macroblock adjacent to the macroblock, and not existing in an area to which the macroblock does not belong Encode with
本構成によれば、複数領域に分割して処理を行う場合において、符号化処理の対象となるマクロブロックが領域の境界に接する場合、符号化処理の対象のマクロブロック単体の情報または当該マクロブロックが属する領域内に存在し且つ当該マクロブロックに隣接するマクロブロックの情報を用いて符号化することにより、複数の領域それぞれの符号化の際、他の領域のマクロブロックの情報が生成されるのを待つ必要がなくなるので、複数の領域で同時に並列して符号化処理を行うことができるから、符号化処理の高速化を図ることができる。 According to this configuration, when processing is performed by dividing into a plurality of areas, when a macroblock to be encoded touches the boundary of the area, information on a single macroblock to be encoded or the macroblock By encoding using information on macroblocks that exist in the area to which the macro belongs and that are adjacent to the macroblock, information on macroblocks in other areas is generated when encoding each of the plurality of areas. Therefore, the encoding process can be performed in parallel in a plurality of areas at the same time, so that the encoding process can be speeded up.
また、本構成によれば、複数の領域それぞれの符号化の際、他の領域のマクロブロックの情報を用いる必要がないので、他の領域の符号化処理で用いられるマクロブロックの情報を保持しておくためのバッファメモリが不要となるから、バッファメモリの駆動に要する消費電力の低減およびバッファメモリ用のスペース削減による小型化を図ることができる。 Also, according to this configuration, since it is not necessary to use macroblock information of other areas when encoding each of the plurality of areas, the macroblock information used in the encoding process of other areas is retained. Therefore, it is possible to reduce the power consumption required for driving the buffer memory and to reduce the size by reducing the space for the buffer memory.
また、本発明に係る符号化処理装置は、特定部が、領域の境界に接するマクロブロックのうち、境界に対して右側から接しているマクロブロックを特定し、各符号化処理部において、第1符号化モードでの符号化では、境界に対して右側から接しているマクロブロックを除く、当該領域内のすべてのマクロブロックに対して、当該マクロブロックに隣接するマクロブロックのうち、当該マクロブロックに隣接する周辺のマクロブロックの情報を用いて符号化を行い、第2符号化モードでの符号化では、境界に対して右側から接しているマクロブロックに対して行うものであってもよい。 In the encoding processing device according to the present invention, the specifying unit specifies a macroblock that is in contact with the boundary from the right side among the macroblocks that are in contact with the boundary of the region. In encoding in the encoding mode, for all macroblocks in the area excluding the macroblock that is adjacent to the boundary from the right side, among the macroblocks adjacent to the macroblock, Encoding is performed using information on neighboring macroblocks adjacent to each other, and encoding in the second encoding mode may be performed on a macroblock that is in contact with the boundary from the right side.
本構成によれば、複数領域に分割して処理を行う場合においても、他の領域の情報を使用せずに各々の領域内に存在するマクロブロックの情報を用いて符号化処理を実行することができるため、複数の領域を並列に処理をさせることができる。更に、各フレームを符号化した際の符号量を低減することができる。 According to this configuration, even when processing is performed by dividing into multiple regions, encoding processing is performed using information on macroblocks existing in each region without using information on other regions. Therefore, a plurality of areas can be processed in parallel. Furthermore, the amount of code when each frame is encoded can be reduced.
また、本発明に係る符号化処理装置は、画像データをフレーム毎に、各領域が水平方向にマクロブロック列を3列以上含むように水平方向および垂直方向に並ぶ複数の領域に分割するフレーム分割部と、領域毎に、領域の境界に接しているマクロブロックを特定する特定部と、分割される領域の数と同数の符号化処理部を有し、各領域に属するマクロブロック群が領域毎に並行して符号化処理されるように分配供給されて並列的に符号化処理する並列処理系とを備え、並列処理系における符号化処理部は、領域の境界に接していないマクロブロックに対しては、当該マクロブロックに隣接するマクロブロックの情報を用いて符号化する第1符号化モードで符号化し、領域の境界に接しているマクロブロックに対しては、当該マクロブロック単体の情報若しくは当該マクロブロックが属する領域内に存在し且つ当該マクロブロックに隣接するマクロブロックの情報を用い、当該マクロブロックが属さない領域内に存在するマクロブロックの情報を用いずに符号化する第2符号化モードで符号化するものであってもよい。 Further, the encoding processing apparatus according to the present invention divides image data into a plurality of regions arranged in the horizontal direction and the vertical direction so that each region includes three or more macroblock columns in the horizontal direction for each frame. Each region, a specific unit that identifies a macroblock that is in contact with the boundary of the region, and an encoding processing unit that is the same number as the number of regions to be divided. A parallel processing system that is distributed and supplied in parallel so as to be encoded in parallel, and the encoding processing unit in the parallel processing system is provided for macroblocks that are not in contact with the boundary of the region. Is encoded in the first encoding mode that is encoded using information on the macroblock adjacent to the macroblock. Or the information of a macroblock that is present in the area to which the macroblock belongs and that is adjacent to the macroblock, and is encoded without using the information of the macroblock that exists in the area to which the macroblock does not belong. You may encode by 2 encoding mode.
本構成によれば、並列して符号化処理を行う領域を細分化することで、処理能力を更に向上させることができる。
また、本発明に係る符号化処理装置は、特定部が、領域の境界に接するマクロブロックのうち、境界に対して右側または下側から接しているマクロブロックを特定し、各符号化処理部において、第1符号化モードでの符号化では、境界に対して右側または下側から接しているマクロブロックを除く、当該領域内のすべてのマクロブロックに対して、当該マクロブロックに隣接するマクロブロックのうち、当該マクロブロックに隣接する周辺のマクロブロックの情報を用いて符号化を行い、第2符号化モードでの符号化では、境界に対して右側または下側から接しているマクロブロックに対して行うものであってもよい。
According to this configuration, it is possible to further improve the processing capability by subdividing the areas where encoding processing is performed in parallel.
In the encoding processing apparatus according to the present invention, the specifying unit specifies a macroblock that is in contact with the boundary from the right side or the lower side among the macroblocks that are in contact with the boundary of the region. In encoding in the first encoding mode, macroblocks adjacent to the macroblock for all the macroblocks in the area excluding the macroblock that is in contact with the boundary from the right side or the lower side. Among them, encoding is performed using information of neighboring macroblocks adjacent to the macroblock, and in the encoding in the second encoding mode, for the macroblock that is in contact with the boundary from the right side or the lower side. You may do it.
本構成によれば、処理能力を更に向上させながらも、各フレームを符号化した際の符号量を低減することができる。
また、本発明に係る符号化処理装置は、第2符号化モードが、I−PCM符号化を行うモードであってもよい。
According to this configuration, it is possible to reduce the code amount when each frame is encoded while further improving the processing capability.
In the encoding processing device according to the present invention, the second encoding mode may be a mode in which I-PCM encoding is performed.
また、本発明に係る符号化処理装置は、第2符号化モードが、not_coded符号化を行うモードであってもよい。
また、本発明は、アナログ画像信号をデジタル画像信号に変換して出力するアナログ・デジタル変換器と、アナログ・デジタル変換器から出力されるデジタル画像信号を符号化して出力する前述に記載の符号化処理装置とを備える信号処理システムであってもよい。
In the encoding processing device according to the present invention, the second encoding mode may be a mode in which not_coded encoding is performed.
According to another aspect of the present invention, there is provided an analog / digital converter for converting an analog image signal into a digital image signal and outputting the digital image signal, and encoding the digital image signal output from the analog / digital converter for output. A signal processing system including a processing device may be used.
本構成によれば、処理能力が高く、且つ、アナログ画像信号を出力する装置に対して広く適用可能な信号処理システムを実現することができる。
また、本発明は、被写体像を生成する光学系からなる光学ユニットと、光学ユニットで生成された被写体像をアナログ画像信号に変換して出力するセンサと、センサから出力されたアナログ画像信号から符号化されたデジタル画像信号を出力する前述に記載の信号処理システムとを備える映像システムであってもよい。
According to this configuration, it is possible to realize a signal processing system that has high processing capability and can be widely applied to an apparatus that outputs an analog image signal.
In addition, the present invention provides an optical unit that includes an optical system that generates a subject image, a sensor that converts the subject image generated by the optical unit into an analog image signal, and outputs the analog image signal. It may be a video system provided with the above-described signal processing system that outputs a digitized digital image signal.
本構成によれば、アナログ画像信号を高速に処理することにより、符号化に要する時間の短縮を図ることができるので、低消費電力の映像システムを実現することができる。
また、本発明は、フレーム分割部と特定部と並列処理系とを備える符号化処理装置を用いて行う符号化処理方法であって、フレーム分割部が、画像データをフレーム毎に、各領域が水平方向にマクロブロック列を3列以上含むように水平方向に並ぶ複数の領域に分割するフレーム分割ステップと、特定部が、領域毎に、領域の境界に接しているマクロブロックを特定する特定ステップと、並列処理系が、分割される領域の数と同数の符号化処理部に各領域に属するマクロブロック群が領域毎に並行して符号化処理されるように分配供給されると、並列的に符号化処理する並列処理ステップとを含み、並列処理ステップでは、領域の境界に接していないマクロブロックに対して、符号化処理部が、当該マクロブロックに隣接するマクロブロックの情報を用いて符号化する第1符号化ステップと、領域の境界に接しているマクロブロックに対して、符号化処理部が、当該マクロブロック単体の情報若しくは当該マクロブロックが属する領域内に存在し且つ当該マクロブロックに隣接するマクロブロックの情報を用い、当該マクロブロックが属さない領域内に存在するマクロブロックの情報を用いずに符号化する第2符号化ステップとを含む符号化処理方法であってもよい。
According to this configuration, it is possible to reduce the time required for encoding by processing an analog image signal at a high speed, so that a video system with low power consumption can be realized.
The present invention is also an encoding processing method performed using an encoding processing device including a frame dividing unit, a specifying unit, and a parallel processing system, wherein the frame dividing unit stores image data for each frame, A frame dividing step of dividing into a plurality of regions arranged in the horizontal direction so as to include three or more macroblock columns in the horizontal direction, and a specifying step in which the specifying unit specifies a macroblock in contact with the boundary of the region for each region When the parallel processing system is distributed and supplied so that the macroblock group belonging to each region is encoded in parallel for each region to the same number of encoding processing units as the number of regions to be divided, In the parallel processing step, for the macroblock that is not in contact with the boundary of the region, the encoding processing unit performs a macroblock adjacent to the macroblock. For the first encoding step that encodes using information and the macroblock that is in contact with the boundary of the region, the encoding processing unit exists in the information of the macroblock alone or in the region to which the macroblock belongs. And a second encoding step that uses the information of the macroblock adjacent to the macroblock and performs the encoding without using the information of the macroblock existing in the area to which the macroblock does not belong. May be.
本構成によれば、複数領域に分割して処理を行う場合において、符号化処理の対象となるマクロブロックが領域の境界に接する場合、符号化処理の対象となるマクロブロック単体の情報または当該マクロブロックが属する領域内に存在し且つ当該マクロブロックに隣接するマクロブロックの情報を用いて符号化することにより、複数の領域それぞれの符号化の際、他の領域のマクロブロックの情報が生成されるのを待つ必要がなくなるので、複数の領域で同時に並列して符号化処理を行うことができる。 According to this configuration, when processing is performed by dividing into a plurality of regions, if a macroblock to be encoded touches the boundary of the region, information on a single macroblock to be encoded or the macro By encoding using information on macroblocks that exist in the area to which the block belongs and that are adjacent to the macroblock, information on macroblocks in other areas is generated when encoding each of the plurality of areas. Therefore, it is possible to perform the encoding process in parallel in a plurality of areas at the same time.
また、本発明は、特定ステップでは、特定部が、境界に接するマクロブロックのうち、境界に対して右側から接しているマクロブロックを特定し、並列処理ステップでは、各符号化処理部において、第1符号化モードでの符号化を、境界に対して右側から接しているマクロブロックを除く、当該領域内のすべてのマクロブロックに対して、当該マクロブロックに隣接するマクロブロックのうち、当該マクロブロックに隣接する周辺のマクロブロックの情報を用いて符号化を行う第1符号化ステップと、第2符号化モードでの符号化を、境界に対して右側から接しているマクロブロックに対して行う第2符号化ステップとを含む符号化処理方法であってもよい。 Further, according to the present invention, in the specifying step, the specifying unit specifies a macroblock in contact with the boundary from the right side among the macroblocks in contact with the boundary. In the parallel processing step, each encoding processing unit For all macroblocks in the area except for the macroblock that is adjacent to the boundary from the right side, the macroblock among the macroblocks adjacent to the macroblock is encoded in one encoding mode. A first encoding step that performs encoding using information on neighboring macroblocks adjacent to the first macroblock, and a second encoding mode that performs encoding on a macroblock that is in contact with the boundary from the right side. An encoding processing method including two encoding steps may be used.
本構成によれば、複数領域に分割して処理を行う場合においても、他の領域の情報を使用せずに各々の領域内に存在するマクロブロックの情報を用いて符号化処理を実行することができるため、複数の領域を並列に処理をさせることができる。更に、各フレームを符号化した際の符号量を低減することができる。 According to this configuration, even when processing is performed by dividing into multiple regions, encoding processing is performed using information on macroblocks existing in each region without using information on other regions. Therefore, a plurality of areas can be processed in parallel. Furthermore, the amount of code when each frame is encoded can be reduced.
また、本発明は、フレーム分割部と特定部と並列処理系とを備える符号化処理装置を用いて行う符号化処理方法であって、フレーム分割部が、画像データをフレーム毎に、各領域が整数個のマクロブロックを含むように水平方向および垂直方向に並ぶ複数の領域に分割するフレーム分割ステップと、特定部が、領域毎に、領域の境界に接しているマクロブロックを特定する特定ステップと、並列処理系が、分割される領域の数と同数の符号化処理部に各領域に属するマクロブロック群が領域毎に並行して符号化処理されるように分配供給されると、並列的に符号化処理する並列処理ステップとを含み、並列処理ステップでは、領域の境界に接していないマクロブロックに対して、符号化処理部が、当該マクロブロックに隣接するマクロブロックの情報を用いて符号化する第1符号化ステップと、領域の境界に接しているマクロブロックに対して、符号化処理部が、当該マクロブロック単体の情報若しくは当該マクロブロックが属する領域内に存在し且つ当該マクロブロックに隣接するマクロブロックの情報を用い、当該マクロブロックが属さない領域内に存在するマクロブロックの情報を用いずに符号化する第2符号化ステップとを含む符号化処理方法であってもよい。 The present invention is also an encoding processing method performed using an encoding processing device including a frame dividing unit, a specifying unit, and a parallel processing system, wherein the frame dividing unit stores image data for each frame, A frame dividing step of dividing into a plurality of regions arranged in the horizontal direction and the vertical direction so as to include an integer number of macroblocks; and a specifying step in which the specifying unit specifies a macroblock that is in contact with the boundary of the region for each region; When the parallel processing system is distributed and supplied so that the macroblock group belonging to each region is encoded in parallel for each region to the same number of encoding processing units as the number of regions to be divided, In the parallel processing step, for a macro block that is not in contact with the boundary of the region, the encoding processing unit performs a macro block adjacent to the macro block. For the first encoding step that encodes using the information of the macroblock and the macroblock that is in contact with the boundary of the region, the encoding processing unit exists in the information of the macroblock alone or in the region to which the macroblock belongs And a second encoding step that uses the information of the macroblock adjacent to the macroblock and performs the encoding without using the information of the macroblock existing in the area to which the macroblock does not belong. There may be.
本構成によれば、並列して符号化処理を行う領域を細分化することで、処理能力を更に向上させることができる。
また、本発明は、特定ステップでは、特定部が、境界に接するマクロブロックのうち、境界に対して右側または下側から接しているマクロブロックを特定し、並列処理ステップでは、各符号化処理部において、第1符号化モードでの符号化を、境界に対して右側または下側から接しているマクロブロックを除く、当該領域内のすべてのマクロブロックに対して、当該マクロブロックに隣接するマクロブロックのうち、当該マクロブロックに隣接する周辺のマクロブロックの情報を用いて符号化を行う第1符号化ステップと、第2符号化モードでの符号化を、境界に対して右側または下側から接しているマクロブロックに対して行う第2符号化ステップとを含む符号化処理方法であってもよい。
According to this configuration, it is possible to further improve the processing capability by subdividing the areas where encoding processing is performed in parallel.
Further, according to the present invention, in the specifying step, the specifying unit specifies a macroblock in contact with the boundary from the right side or the lower side among the macroblocks in contact with the boundary, and in the parallel processing step, each encoding processing unit The macroblock adjacent to the macroblock for all the macroblocks in the area excluding the macroblock that is in contact with the boundary from the right side or the lower side in the encoding in the first encoding mode. Of these, the first encoding step for encoding using information of neighboring macroblocks adjacent to the macroblock and the encoding in the second encoding mode are touched from the right side or the lower side with respect to the boundary. The encoding processing method may include a second encoding step performed on a macroblock.
本構成によれば、処理能力を更に向上させながらも、各フレームを符号化した際の符号量を低減することができる。
また、本発明は、第2符号化ステップにおいて、I−PCM符号化を行う符号化処理方法であってもよい。
According to this configuration, it is possible to reduce the code amount when each frame is encoded while further improving the processing capability.
The present invention may also be an encoding processing method that performs I-PCM encoding in the second encoding step.
また、本発明は、第2符号化ステップにおいて、not_coded符号化を行う符号化処理方法であってもよい。 Further, the present invention may be an encoding processing method that performs not_coded encoding in the second encoding step.
<実施の形態1>
<1>概要
本実施の形態に係る符号化処理装置は、画像データをマクロブロック単位で符号化する符号化処理部を3つ備えており、図1に示すように、画像データをフレーム毎に、整数個のマクロブロックを含むように3つの領域(第1領域、第2領域および第3領域)に分割し、各符号化処理部それぞれが各領域の符号化処理を担当する。
<Embodiment 1>
<1> Outline The encoding processing apparatus according to the present embodiment includes three encoding processing units that encode image data in units of macroblocks. As shown in FIG. The area is divided into three areas (first area, second area, and third area) so as to include an integer number of macroblocks, and each of the encoding processing units is responsible for the encoding process of each area.
ここにおいて、各符号化処理部が、符号化処理に際して、自己が担当する領域に属するマクロブロックの情報(例えば、マクロブロックの符号化タイプを示す情報や動きベクトルの情報、画素値データ)のみを用いて符号化処理を行い、他の領域に属するこれらの情報を用いない。これにより、各符号化処理部が、他の領域に属する情報が生成されているか否かに関わらず(つまり、他の領域に属する情報が生成されるまで符号化処理を待たされることなく)、符号化処理を進めることができるので、各符号化処理部が同時に並列して各領域の符号化処理を実行できるから、符号化処理の高速化を図ることができる。。
<2>構成
<2−1>全体構成
本実施の形態に係る符号化処理装置100の構成を図2に示す。図2のように、符号化処理装置100は、フレーム分割部110と、符号化モード制御部111と、3つの符号化処理部120,121,123と、符号データ記憶部130と、符号データ並替部131とから構成されている。
Here, each encoding processing unit only receives information on macroblocks belonging to a region that it is in charge of (for example, information indicating the encoding type of macroblocks, information on motion vectors, pixel value data) during the encoding process. Is used to perform encoding processing, and these pieces of information belonging to other areas are not used. Thereby, regardless of whether each encoding processing unit has generated information belonging to another region (that is, without waiting for encoding processing until information belonging to another region is generated), Since the encoding process can proceed, the encoding processing units can execute the encoding process of each region in parallel at the same time, so that the encoding process can be speeded up. .
<2> Configuration <2-1> Overall Configuration FIG. 2 shows a configuration of
この符号化処理装置100には、例えば、デジタルスチルカメラ等(図示せず)から出力されるアナログ画像信号をアナログ・デジタル変換して得られるデジタル画像信号が入力される(図2の矢印A1)。 For example, a digital image signal obtained by analog-to-digital conversion of an analog image signal output from a digital still camera or the like (not shown) is input to the encoding processing apparatus 100 (arrow A1 in FIG. 2). .
フレーム分割部110は、画像データをフレーム毎に、各領域が整数個のマクロブロックを含むように水平方向に分割するとともに、各マクロブロックがいずれの領域に属するかを示す情報を出力する。ここで、フレーム分割部110は、マクロブロックライン毎に、マクロブロックの順番(マクロブロックラインの左端から何番目に位置するか)を算出し、当該マクロブロックの順番を示すデータをマクロブロック位置管理部112に入力する(図2の矢印A10)。このとき、フレーム分割部110は、当該マクロブロックが属するマクロブロックラインを示す情報もマクロブロック位置管理部112に入力する。また、マクロブロック位置管理部112には、予め各領域の左端に位置するマクロブロックの順番を示すデータが記憶されている。ここで、入力されるデジタル画像信号が示す画像データの1フレームの大きさと、3つの領域の大きさとが固定されているので、各領域の左端に位置するマクロブロックの順番は固定値としてマクロブロック位置管理部112で管理されている。そして、フレーム分割部110は、判定する対象となるマクロブロックの順番と、マクロブロック位置管理部112から取得した各領域の左端に位置するマクロブロックの順番とを比較することにより、各マクロブロックが属する領域を判定する。
The
例えば、図2に示す例では、マクロブロックライン1について、第1領域に属するマクロブロック1_1の順番が「1」、第2領域の左端に位置するマクロブロック2_1の順番が「n+1」、第3領域の左端に位置するマクロブロック3_1の順番が「2n+1」となる。そして、フレーム分割部110は、各マクロブロックの順番を示す数値と、各領域の左端に位置するマクロブロックの順番を示す数値との大小関係から、各マクロブロックが属する領域を判定する。即ち、マクロブロックの順番が、「1」番目から「n」番目までの間である場合には、第1領域に属すると判定し、「n+1」番目から「2n」番目の間である場合には、第2領域に属すると判定し、「2n+1」番目から「3n」番目の間である場合には、第3領域に属すると判定する。
For example, in the example shown in FIG. 2, for the macroblock line 1, the order of the macroblock 1_1 belonging to the first area is “1”, the order of the macroblock 2_1 located at the left end of the second area is “n + 1”, the third The order of the macroblock 3_1 located at the left end of the area is “2n + 1”. Then, the
そして、フレーム分割部110は、判定した結果に基づいて、各マクロブロックを3つの符号化処理部120,121,122に振り分ける(図2の矢印A2,A3,A4)。ここで、第1領域に属するマクロブロックを符号化処理部120に振り分け、第2領域に属するマクロブロックを符号化処理部121に振り分け、第3領域に属するマクロブロックを符号化処理部122に分配供給する。
Then, the
その後、これらの処理をマクロブロックライン2乃至マクロブロックラインmについて行うことにより、1フレームを構成するマクロブロックを3つの符号化処理部120,121,122に分配供給する。
Thereafter, these processes are performed on the macroblock line 2 to the macroblock line m, so that the macroblocks constituting one frame are distributed and supplied to the three
符号化モード制御部(特定部)111は、フレーム分割部110から出力される情報、つまり、各マクロブロックが第1領域乃至第3領域のいずれに属するかを示す情報を用いて、領域毎に、領域の境界に接しているマクロブロックを特定する。そして、符号化処理部120,121,122は、領域の境界に接しないマクロブロックを通常の符号化方法で符号化を行う第1符号化モード(以下、「通常符号化モード」と称す)で処理し、符号化モード制御部111により特定された、領域の境界に接しているマクロブロックについては当該マクロブロック単体の情報を用いて符号化を行う第2符号化モード(以下、「領域内符号化モード」と称す。)で処理を行う。ここにおいて、符号化モード制御部111は、符号化対象のマクロブロックが領域境界に接しない場合には、符号化処理部120,121,122を通常符号化モードに設定し、符号化対象のマクロブロックが領域境界に接する場合には、符号化処理部120,121,122を領域内符号化モードに設定する。
The encoding mode control unit (specification unit) 111 uses information output from the
また、符号化モード制御部111は、マクロブロック位置管理部112からマクロブロックの順番を示すデータと、各領域の左端に位置するマクロブロックの順番を示すデータとを取得し(図1の矢印A12)、これらのデータに基づいて、領域の境界に接するマクロブロックを特定する。そして、符号化モード制御部111は、符号化処理部120,121,122を通常符号化モードに設定する場合、各符号化処理部120、121、122に設けられた後述のMBタイプ制御部990に通常符号化モードで符号化処理を行う指示を内容とする符号化モード信号を入力する。一方、符号化処理部120,121,122を領域内符号化モードに設定する場合、MBタイプ制御部990に領域内符号化モードで符号化処理を行う指示を内容とする符号化モード信号を入力する。
In addition, the encoding
ここにおいて、符号化処理部120に対しては、マクロブロックの順番が、1番目から「n−1」番目までの間である場合には、通常符号化モードに設定し、「n」番目である場合には、領域内符号化モードに設定する。符号化処理部121に対しては、マクロブロックの順番が、「n+2」番目から「2n−1」番目の間である場合には、通常符号化モードに設定し、「n+1」番目および「2n」番目である場合には、領域内符号化モードに設定する。符号化処理部122に対しては、マクロブロックの順番が、「2n+2」番目から「3n」番目の間である場合には、通常符号化モードに設定し、「2n+1」番目である場合には、領域内符号化モードに設定する。
Here, for the
符号化処理部120,121,122は、符号化モード制御部111から入力される符号化モード信号に基づいて、通常符号化モードまたは領域内符号化モードのいずれかにより符号化処理を行う。つまり、符号化処理部120,121,122は、分割される領域の数(3領域)と同数であって、各領域に属するマクロブロック群が領域毎に並行して符号化処理されるように分配供給されると、並列的に符号化処理する並列処理系を構成する。そして、各符号化処理部120,121,122は、符号化処理で得られた符号データを符号データ記憶部130に書き込む(図2の矢印A5,A6,A7)。なお、符号化処理部120,121,122の構成の詳細は後述する。
Based on the encoding mode signal input from the encoding
符号データ並替部131は、符号データ記憶部130から、符号データを取得し(図2の矢印A8)、MPEG−4AVC/H.264符号化方式の並び順に並び変えて結合し、出力する(図2の矢印A9)。このMPEG−4AVC/H.264符号化方式の並び順は、最上段のマクロブロックライン(図1のマクロブロックライン1)の左端のマクロブロックを先頭として、各マクロブロックラインの右側に位置するマクロブロックほど、および、下段に位置するマクロブロックほど後になる順番となっている。図1に示す例では、第1領域の1ライン目、第2領域の1ライン目、第3領域の1ライン目、第1領域の2ライン目、第2領域の2ライン目、第3領域の2ライン目、第1領域の3ライン目・・・の順番になる。つまり、第1領域のk(kは自然数)ライン目、第2領域のkライン目、第3領域のkライン目に属するマクロブロックによりマクロブロックラインkが構成されている。この場合、符号データ並替部131は、第1領域の1ライン目の符号データの後に、第2領域の1ライン目の符号データを結合し、その後に第3領域の1ライン目の符号データを結合するという処理を繰り返すことになる。
<2−2>符号化処理部
符号化処理部120,121,122の構成を図3に示す。
The code
<2-2> Encoding Processing Unit The configuration of the
図3に示すように、フレーム分割部110からスイッチ921およびMBタイプ制御部990にフレームタイプ信号が送られる。このフレームタイプ信号は、符号化処理部120,121,122に入力される画像データがIピクチャ、PピクチャおよびBピクチャのいずれであるかを示す信号であり、フレーム分割部110がデジタル画像信号から抽出する。
As shown in FIG. 3, the frame type signal is sent from the
スイッチ921は、フレームタイプ信号が入力されると、フレームタイプ信号の種類に応じて切替え動作を行う。ここで、スイッチ921は、フレームタイプ信号がIピクチャを示すときはオフ状態に切り替わり、フレームタイプ信号がPピクチャまたはBピクチャを示すときはオン状態となる。
When a frame type signal is input, the
MBタイプ制御部990は、フレームタイプ信号、後述の動き探索・補償部909から入力される評価関数(後述の[数1]参照)の最小値データに基づき、スイッチ922のオンオフ制御を行う。ここで、MBタイプ制御部920は、フレームタイプ信号がIピクチャを示すとき、スイッチ922をオフ状態に切り替えるとともに、可変長符号化部904に、フレーム内相関を利用した符号化(以下、Intra符号化)を示す符号化タイプ信号を入力する。
The MB
また、MBタイプ制御部990は、評価関数の最小値に対する閾値(以下、「評価関数閾値」と称す。)を保持している。そして、MBタイプ制御部990は、フレームタイプ信号がPピクチャまたはBピクチャを示すとき、評価関数の最小値と評価関数閾値との大小関係に応じて、Intra符号化を行うか、或いは、フレーム間相関を利用した符号化(以下、Inter符号化と称す。)を行うかを決定する。Intra符号化に決定したときは、MBタイプ制御部990は、スイッチ922をオフ状態に切り替えるとともに、可変長符号化部904にIntra符号化を示す符号化タイプ信号を入力する。また、Inter符号化に決定したときは、MBタイプ制御部990は、スイッチ922をオン状態に切り替えるとともに、可変長符号化部904にInter符号化を示す符号化タイプ信号を入力する。
Also, the MB
更に、MBタイプ制御部920は、量子化処理部903から入力される信号と、符号化モード制御部111から入力される符号化モード信号とに基づき、I−PCM符号化を行うか否かを決定する。I−PCM符号化に決定したときは、MBタイプ制御部990は、可変長符号化部904にI−PCM符号化を示す符号化タイプ信号を入力する。
Further, the MB type control unit 920 determines whether or not to perform I-PCM encoding based on the signal input from the
セレクタ930は、MBタイプ制御部920がI−PCM符号化に決定した場合、画像データをそのまま可変長符号化部904に入力し、それ以外の場合、量子化処理部903から出力される信号を可変長符号化部904に入力する。
When the MB type control unit 920 determines I-PCM encoding, the
セレクタ931は、MBタイプ制御部920がI−PCM符号化に決定した場合、画像データをそのままデブロックフィルタ処理部911に入力し、それ以外の場合、加算器910から出力される信号をデブロックフィルタ処理部911に入力する。
The
レート制御部923は、可変長符号化部904から出力される符号データの大きさ(以下、「符号量」と称す。)を監視しており、符号量の大きさに応じて、量子化処理部903で用いる量子化パラメータを決定する。
The
減算器901は、フレーム分割部110から入力される画像データと、動き探索・補償部909から入力される画像データとの差分を計算して得られる差分画像データ(フレーム間予測誤差に対応する画素値データの集合)をDCT処理部902に入力する。
The
DCT処理部902は、減算器901から入力される差分画像データに対して離散型コサイン変換またはアダマール変換を行って得られる画像データを量子化処理部903に入力する。
The
量子化処理部903は、DCT処理部902から入力される画像データを量子化してセレクタ930に入力する。
逆量子化処理部906は、量子化処理部903から入力される画像データを逆量子化する。
The
The inverse
逆DCT処理部907は、逆量子化処理部906から入力される画像データに対して逆直交変換して加算器910に入力する。
加算器910は、逆DCT処理部907から入力される画像データと、動き探索・補償部909から入力される動き補償画像データとを加算して得られる画像データをセレクタ931に入力する。
The inverse
The
デブロックフィルタ処理部911では、セレクタ931から入力される画像データに対してブロックノイズを除去する処理を行い、処理後の画像データを一時データ記憶手段908に格納する。
The deblock
可変長符号化部904は、量子化処理部903からセレクタ903を介して入力される画像データと、MBタイプ制御部990から入力される符号化タイプ信号と、動き探索・補償部909から入力される動きベクトルの情報とを符号化する。ここにおいて、可変長符号化部904は、符号化タイプ信号がI−PCM符号化を示す場合、動きベクトルの情報を符号化しない。
The variable
動き探索・補償部909は、一般的な動き探索手法の一つであるブロックマッチング法を用いて動きベクトルの探索(以下、「動き探索」と称す。)を行う。このブロックマッチング法では、符号化処理の対象となるマクロブロック(以下、「対象マクロブロック」と称す。)と同じ位置にあるマクロブロックの画素値データと当該マクロブロックの近傍の領域の画素値データとから構成される領域(以下、「参照領域」と称す。)内で、対象マクロブロックと同じ大きさの領域(以下、「参照マクロブロック」と称す。)であって対象マクロブロックと最もマッチングする参照マクロブロックの位置を特定する。
The motion search /
ここにおいて、動き探索・補償部909は、対象マクロブロックと参照マクロブロックとのマッチングの判定は、各ブロックを構成する画素が有する画素値の差分の絶対値の和として表される評価関数([数1]参照)が最小値をとるか否かにより行う。
Here, the motion search /
そして、動き探索・補償部909は、対象マクロブロックと、当該対象マクロブロックと最もマッチングがとれている参照マクロブロックの位置との間の距離、および当該対象マクロブロックから見た参照マクロブロックの方向により特定されるベクトルを動きベクトルとして検出する。そして、動き探索・補償部909は、検出した動きベクトルの情報を可変長符号化部904に入力する。
The motion search /
また、動き探索・補償部909は、この評価関数が最小値となる参照マクロブロックを動き補償画像データとして、スイッチ922に出力するとともに、評価関数の最小値を示すデータをMBタイプ制御部920に入力する。
In addition, the motion search /
ところで、この動き探索・補償部909では、参照領域を構成する画素値データの集合を一時データ記憶手段908から読み出して、参照参照画像記憶手段961に格納する。この参照領域は、例えば、図4に示すように、符号化処理の対象となるマクロブロックの大きさ(横NX画素×縦NY画素)よりも大きい横MX画素×縦MY画素(MX>NX且つMY>NY)からなる。
The motion search /
ところで、図5に示すように、縦方向に隣接する第1の対象マクロブロックと第2の対象マクロブロックとがある場合、第1の対象マクロブロックに対応する参照領域AR1と第2の対象マクロブロックに対応する参照領域AR2とで、重なる領域(以下、「共通領域」と称す。)AR3が存在する。この共通領域AR3を構成する画素値データは、第1の対象マクロブロックを符号化処理するときのみならず、第2の対象マクロブロックを符号化処理するときにも必要となる。 Incidentally, as shown in FIG. 5, when there are a first target macroblock and a second target macroblock that are adjacent in the vertical direction, a reference area AR1 and a second target macroblock corresponding to the first target macroblock are included. An overlapping area (hereinafter referred to as “common area”) AR3 exists with the reference area AR2 corresponding to the block. The pixel value data constituting the common area AR3 is required not only when encoding the first target macroblock but also when encoding the second target macroblock.
そこで、参照参照画像記憶手段961は、参照領域を構成する画素値データに加えて、更に、第1の対象マクロブロックの符号化処理のときに用いた参照領域AR1のうち、第2の対象マクロブロックの符号化処理のときにも用いる共通領域AR3の画素値データを、第2の対象マクロブロックの符号化処理が終了するまで保持する。
Therefore, the reference reference
これにより、共通領域AR3の画素値データについては、第1の対象マクロブロックの符号化処理のときに、一度、一時データ記憶手段908から参照参照画像記憶手段961に転送しておけば、第2の対象マクロブロックの符号化処理の際に、再度転送する必要がなくなるので、一時データ記憶手段908と参照参照画像記憶手段961との間におけるデータ転送量を抑制することができる。
Thus, once the pixel value data in the common area AR3 is transferred from the temporary
また、符号化処理部120,121,122は、領域の左上端のマクロブロックについて最初に符号化処理を行い、その後、符号化処理の対象となるマクロブロックを、領域の右方向に1つずつずらしながら符号化処理を行う。そして、領域の右端のマクロブロックまで符号化処理が終了すると、符号化処理の対象となるマクロブロックを、当該マクロブロックよりもマクロブロック1つ分だけ下側に位置し且つ領域の水平方向に並ぶマクロブロック列の左端のマクロブロックとして前記符号化処理を行う。続いて、符号化処理の対象となるマクロブロックを、領域の右方向に1つずつずらしながら符号化処理を行う。
In addition, the
従って、参照参照画像記憶手段961は、第1のマクロブロックを第1符号化モードで符号化を行った後、第1のマクロブロックを符号化した際に用いた前記第1のマクロブロックに隣接するマクロブロックの情報の中で、前記第1のマクロブロックの下側に隣接する第2のマクロブロックを第1符号化モードで符号化する際にも用いるマクロブロックの情報を、第2のマクロブロックを符号化するまで保持することになる。 Therefore, the reference reference image storage means 961 is adjacent to the first macroblock used when the first macroblock is encoded after the first macroblock is encoded in the first encoding mode. Among the macroblock information to be processed, the macroblock information used also when the second macroblock adjacent to the lower side of the first macroblock is encoded in the first encoding mode is used as the second macroblock. It will hold until the block is encoded.
従って、図6に示すように、1つの領域の水平方向に並ぶマクロブロックの数が5つとすると、第1の対象マクロブロック1の右側に並ぶマクロブロックに対応する参照領域と、第1の対象マクロブロック1よりもマクロブロック1つ分だけ下側に位置し、且つ、領域に水平方向に並ぶマクロブロックそれぞれの参照領域との共通領域(図6のハッチ部分)の画素値データは、第1の対象マクロブロック1の符号化処理を行ってから、第2のマクロブロック2の符号化処理が終了するまで参照参照画像記憶手段961に保持されることになる。
Therefore, as shown in FIG. 6, if the number of macroblocks arranged in the horizontal direction of one area is five, the reference area corresponding to the macroblock arranged on the right side of the first target macroblock 1 and the first target The pixel value data of the common area (hatched part in FIG. 6) with the reference areas of the macroblocks that are located one macroblock lower than the macroblock 1 and arranged in the horizontal direction in the area are the first Is stored in the reference reference
ここで、符号化処理部120,121,122は、1フレームを、水平方向に並ぶ複数の領域に分割することで、1つの領域における水平方向に並ぶマクロブロックの数を1マクロブロックラインを構成するマクロブロックの数よりも少なくしている。従って、マクロブロックライン単位で、動き探索を行う場合に比べて、参照参照画像記憶手段961に記憶すべき画素値データの大きさを小さくすることができるので、参照参照画像記憶手段961の容量を削減して、消費電力の低減を図ることができる。
<3>動作
<3−1>符号化モード制御部の動作
符号化モード制御部111の動作について図7に示すフローチャートに基づいて説明する。
Here, the
<3> Operation <3-1> Operation of Coding Mode Control Unit The operation of the coding
まず、符号化モード制御部111は、マクロブロック位置管理部112から、符号化処理の対象のマクロブロックの順番を示すデータと、当該マクロブロックの属するマクロブロックラインを示す情報と、各領域の左端に位置するマクロブロックの順番を示すデータとを取得する(ステップS1)。
First, the encoding
次に、符号化モード制御部111は、取得したマクロブロックの順番を示すデータに基づいて、符号化処理の対象のマクロブロックの位置を特定する(ステップS2)。
そして、符号化モード制御部111は、取得したマクロブロックの順番を示すデータと、各領域の左端に位置するマクロブロックの順番を示すデータとに基づいて、符号化処理の対象のマクロブロックが領域境界に位置するか否かを判定する(ステップS3)。
Next, the encoding
Then, the encoding
ステップS3において、符号化処理の対象のマクロブロックが、領域境界に接しないと判定すると、符号化モード制御部111は、各符号化処理部120,121,122を通常符号化モードに設定する(ステップS4)。
If it is determined in step S3 that the macroblock to be encoded does not touch the region boundary, the encoding
一方、ステップS3において、符号化対象のマクロブロックが、領域境界に位置すると判定すると、符号化モード制御部111は、各符号化処理部120,121,122を領域内符号化モードに設定する(ステップS5)。
On the other hand, if it is determined in step S3 that the macroblock to be encoded is located at the region boundary, the encoding
次に、符号化モード制御部111は、符号化処理部120,121,122それぞれが、各担当する領域内の全てのマクロブロックについて符号化処理が終了したか否かを判定する(ステップS6)。ここにおいて、符号化モード制御部111は、フレーム分割部110から入力されるマクロブロックの順番に関する情報と、当該マクロブロックの属するマクロブロックラインに関する情報とに基づいて、符号化処理の対象のマクロブロックが、最も下段に位置するマクロブロックラインに属し、且つ、各領域における最も右端に位置するマクロブロックであるか否かを判定し、該当する場合に領域の全てのマクロブロックについて符号化処理が終了したと判定する。
Next, the encoding
ステップS6において、符号化処理部120,121,122が処理すべき領域の全てのマクロブロックについて符号化処理がまだ終了していないと判定すると(ステップS6:NO)、符号化モード制御部111は、再び、ステップS1の処理に移行する。
If it is determined in step S6 that the encoding processing has not yet been completed for all macroblocks in the region to be processed by the
一方、ステップS6において、符号化処理部120,121,122が処理すべき領域の全てのマクロブロックについて符号化処理が終了したと判定すると(ステップS6:YES)、符号化モード制御部111は、各符号化処理部120,121,122に対して終了通知を行い(ステップS7)、処理を終了する。
<3−2>符号化処理部の動作
本実施の形態に係る符号化処理部120,121,122は、MPEG−4AVC/H.264の符号化方式で符号化処理を行う。
On the other hand, if it is determined in step S6 that the encoding processing has been completed for all macroblocks in the region to be processed by the
<3-2> Operation of Encoding Processing Unit The
MPEG−4AVC/H.264の符号化方式による符号化処理では、IピクチャをIntra符号化のみを使用して符号化処理が行われ、PピクチャおよびBピクチャをIntra符号化およびInter符号化が混在する形で符号化処理が行われる。 MPEG-4 AVC / H. In the encoding process using the H.264 encoding method, an I picture is encoded using only Intra encoding, and a P picture and a B picture are encoded in a mixed form of Intra encoding and Inter encoding. Is done.
以下、符号化処理部120,121,122の動作について、図8に示すフローチャートに従って説明する。
まず、符号化処理部120,121,122は、符号化モード制御部111から符号化モード信号を取得すると(ステップS51)、符号化処理部120,121,122に設けられたMBタイプ制御部990が、符号化モード信号が領域以内符号化を指示するものであるか否かを判定する(ステップS52)。
Hereinafter, the operations of the
First, when the
ステップS52において、領域内符号化を指示するものと判定されると(ステップS52:YES)、MBタイプ制御部990は、I−PCM符号化処理を行うために、スイッチ922およびセレクタ930、931を設定する(ステップS53)。
If it is determined in step S52 that the intra-region encoding is instructed (step S52: YES), the MB
一方、ステップS52において、領域内符号化を指示するものでない(即ち、通常モードでの符号化を指示するものである)と判定されると(ステップS52:NO)、MBタイプ制御部990およびスイッチ921は、フレームタイプ信号を取得する(ステップS54)。そして、MBタイプ制御部990は、取得したフレームタイプ信号がIピクチャを示すものか否かを判定する(ステップS55)。
On the other hand, if it is determined in step S52 that the encoding in the region is not instructed (that is, the encoding in the normal mode is instructed) (step S52: NO), the MB
ステップS55において、フレームタイプ信号がIピクチャを示すものと判定されると(ステップS55:YES)、MBタイプ制御部990は、Iピクチャ符号化処理を行うために、スイッチ922およびセレクタ930,931を設定する(ステップS56)。また、スイッチ921は、Iピクチャを示すフレームタイプ信号が入力されると自動的にオフ状態となる。
If it is determined in step S55 that the frame type signal indicates an I picture (step S55: YES), the MB
一方、ステップS55において、フレームタイプ信号がIピクチャを示すものでないと判定されると(ステップS55:NO)、MBタイプ制御部990は、取得したフレームタイプ信号がPピクチャを示すものか否かを判定する(ステップS57)。
On the other hand, when it is determined in step S55 that the frame type signal does not indicate an I picture (step S55: NO), the MB
ステップS57において、フレームタイプ信号がPピクチャを示すものと判定されると(ステップS57:YES)、MBタイプ制御部990は、Pピクチャ符号化処理を行うために、スイッチ922およびセレクタ930,931を設定する(ステップS58)。また、スイッチ921は、Pピクチャを示すフレームタイプ信号が入力されると自動的にオン状態となる。
When it is determined in step S57 that the frame type signal indicates a P picture (step S57: YES), the MB
一方、ステップS57において、フレームタイプ信号がPピクチャを示すものでないと判定されると(ステップS57:NO)、MBタイプ制御部990は、MBタイプ制御部990は、Bピクチャ符号化処理を行うために、スイッチ922およびセレクタ930,931を設定する(ステップS59)。また、スイッチ921は、Bピクチャを示すフレームタイプ信号が入力されると自動的にオン状態となる。
On the other hand, when it is determined in step S57 that the frame type signal does not indicate a P picture (step S57: NO), the MB
その後、MBタイプ制御部990は、符号化モード制御部111から終了通知がなされたか否かを判定する(ステップS60)。
ステップS60において、終了通知がなされていないと判定されると(ステップS60:NO)、再び、ステップS51の処理に移行する。
Thereafter, the MB
If it is determined in step S60 that the end notification has not been made (step S60: NO), the process proceeds to step S51 again.
一方、ステップS60において、終了通知がなされたと判定されると(ステップS60:YES)、処理を終了する。
以下、I−PCM符号化処理、Iピクチャの符号化処理、Pピクチャの符号化処理およびBピクチャの符号化処理について図3を用いて詳細に説明する。
On the other hand, if it is determined in step S60 that an end notification has been given (step S60: YES), the process ends.
The I-PCM encoding process, the I picture encoding process, the P picture encoding process, and the B picture encoding process will be described in detail below with reference to FIG.
<3−2−1>I−PCM符号化処理
I−PCM符号化処理では、MBタイプ制御部920が、画像データをそのまま可変長符号化部904に入力するようにセレクタ930を切り替える。そして、可変長符号化部904では、画像データを用いて、I−PCM符号化を行う。更に、MBタイプ制御部920は、画像データをそのままデブロックフィルタ処理部911に入力するようにセレクタ931を切り替える。デブロックフィルタ処理部911では、画像データを用いてデブロック処理を行い、一時データ記憶手段908に格納する。
<3-2-1> I-PCM Encoding Process In the I-PCM encoding process, the MB type control unit 920 switches the
<3−2−2>Iピクチャの符号化処理
まず、MBタイプ制御部990は、スイッチ921およびスイッチ922をオフ状態にする。このとき、画像データ(符号化対象ブロック)が、減算器901に入力されると、スイッチ922がオフ状態であるため、画像データが、そのままDCT処理部902に入力される。その後、DCT処理部902で直交変換された画像データは、量子化処理部903で量子化され、セレクタ930および可変長符号化部904へと順に送られていく。そして、最終的に、可変長符号化部904から生成した符号が外部に出力される。
<3-2-2> I Picture Encoding Process First, the MB
また、量子化処理部903で量子化された画像データは、逆量子化処理部906にも入力され、逆量子化処理部906で逆量子化した後、逆DCT処理部907で逆直交変換がなされ、加算器910に入力される。
Further, the image data quantized by the
ここで、スイッチ922はオフ状態であるため、加算器910には、動き探索・補償909からの信号は入力されない。従って、Iピクチャの符号化の場合、セレクタ931は、加算器910からの信号をデブロックフィルタ処理部911に入力するようにデータ経路を切り替えるので、逆DCT処理部907から送られてくるデータがそのままデブロックフィルタ処理部911に入力される。
Here, since the
デブロックフィルタ処理部911では、ブロックノイズを除去する処理が実行される。そして、デブロックフィルタ処理部911から出力される画像データ(以下、再構成画像データと称す)は、一時データ記憶手段908に格納される。
In the deblocking
<3−2−3>Pピクチャの符号化処理
まず、MBタイプ制御部990は、スイッチ921をオン状態にする。そして、スイッチ922は、動き探索・補償部909の結果を受け状態が変化する。このとき、符号化処理の対象となるマクロブロックの画像データ(画素値データの集合)が、減算器901に入力されるとともに、スイッチ921を介して動き探索・補償部909にも入力される。
<3-2-3> P Picture Encoding Process First, the MB
動き探索・補償部909は、画像データを取得するとともに、一時データ記憶手段908に記憶された画像データ(画像データと同一空間位置の近傍の画素から構成された画像データ)を読み出して参照参照画像記憶手段961に格納し、動き探索を行い(図4参照)、動きベクトルを検出する。そして、動き探索・補償部909は、検出した動きベクトルの情報を可変長符号化部904に入力する。
The motion search /
動き探索・補償部909は、評価関数の最小値を示すデータを算出してMBタイプ制御部920に送る。MBタイプ制御部990では、評価関数の最小値を示すデータに基づいて、符号化タイプをIntra符号化またはInter符号化のいずれかに決定する。そして、MBタイプ制御部990は、決定した符号化タイプを示す符号化タイプ信号を可変長符号化部904に送信するとともに、スイッチ922のオン・オフ状態を切り替える。
The motion search /
ここで、MBタイプ制御部990がIntra符号化に決定した場合、スイッチ922はオフ状態となり、前述のIピクチャの符号化処理と同様の処理が行われる。
一方、MBタイプ制御部990がInter符号化に決定した場合、動き探索・補償部909が、動き補償画像データを生成する。このとき、スイッチ922はオン状態となっているので、動き補償画像データは、減算器901へ送られる。
Here, when the MB
On the other hand, when the MB
減算器901では、フレーム分割部110から入力される画像データと、動き探索・補償部909から入力される動き補償画像データとの差分画像データ(フレーム間予測誤差に対応する画素値データの集合)を算出して、DCT処理部902へ入力され、量子化処理部903、セレクタ930、可変長符号化部904の順に処理が実行される。そして、可変長符号化部904から出力される符号データが、符号データ記憶部130に格納される。
In the
また、量子化処理部903からの出力は逆量子化処理部906にも入力され、その後、逆DCT処理部907で逆DCT処理が行われた後、加算器910に入力される。
加算器910は、逆DCT処理部907から入力される画像データと、動き補償画像データとを加算して得られる画像データをデブロックフィルタ処理部911に入力する。
Further, the output from the
The
次に、デブロックフィルタ処理部911は、画像データに対してブロックイズを除去する処理を行い、処理後の画像データ(再構成画像データともいう。)を一時データ記憶手段908に格納する。
<2−2−4>Bピクチャの符号化処理
Bピクチャの符号化処理は、Pピクチャの符号化処理とほぼ同様なので、Pピクチャの符号化処理との相違点についてのみ説明する。
Next, the deblock
<2-2-4> B Picture Encoding Process Since the B picture encoding process is substantially the same as the P picture encoding process, only differences from the P picture encoding process will be described.
BピクチャとPピクチャとは、動き探索・補償909が動き探索の際に用いる参照領域が相違する。Pピクチャの符号化処理では、時間的に前方のIピクチャまたはPピクチャを参照領域だけを用いるのに対して、Bピクチャの符号化処理では、時間的に前方のIピクチャまたはPピクチャの参照領域(以下、「前方参照領域」と称す。)と、時間的に後方のIピクチャまたはPピクチャの参照領域(以下、「後方参照領域」と称す。)との両方を用いる。従って、Bピクチャの符号化処理では、後方参照領域を含むIピクチャまたはPピクチャの符号化処理を当該Bピクチャの符号化処理より先に行う必要がある。従って、動き探索・補償部909は、動き探索の際、一時データ記憶手段908から前方参照領域および後方参照領域の両方を読み出す。
The reference area used by the motion search /
なお、Iピクチャ、PピクチャおよびBピクチャを符号化する際に生成される参照画像は、マクロブロックによっては使用されない場合がある。この場合、逆量子化処理部906による逆量子化処理、逆DCT処理部907による逆DCT、加算器910による加算処理、および、デブロックフィルタ処理部911によるデブロックフィルタリングからなる一連の処理は省略される。
Note that a reference image generated when encoding an I picture, a P picture, and a B picture may not be used depending on a macroblock. In this case, a series of processes including the inverse quantization process by the
以上のように、本実施の形態に係る符号化処理装置100では、図9に示すように、3つの領域の境界に位置するマクロブロック(図9のハッチ部分)については、領域内符号化モードであるI−PCM符号化を行う。このI−PCM符号化は、マクロブロックに対応するデジタル画像信号をそのまま出力するものであり、符号化処理において、符号化処理の対象であるマクロブロックの周囲に隣接するマクロブロックの情報を用いない。
As described above, in the
従って、本実施の形態に係る符号化処理装置100では、各符号化処理部120,121,122が担当する領域に属するマクロブロックを符号化処理する際、符号化処理の対象のマクロブロックが属する領域以外の他の領域に属するマクロブロックの情報を用いない。従って、各符号化処理部120,121,122は、担当する領域の符号化処理の際、他の領域に属するマクロブロックの情報が生成されるのを待つ必要がなくなるので、複数の領域で同時に並列して符号化処理を行うことができるから、符号化処理の高速化を図ることができる。
Therefore, in the
また、I−PCM符号化方式により符号化したマクロブロック同士の境界では、ブロック歪が生じないので、デブロックフィルタ処理を行う必要がない。従って、例えば、図9に示すマクロブロック2_nとマクロブロック3_1との境界付近にある画素値データに対して、ブロック歪を除去するためのデブロックフィルタリングを行う必要がないという利点もある。
<実施の形態2>
本実施の形態に係る符号化処理装置は、実施の形態1の符号化処理装置と略同様であり、符号化処理部120,121,122の構成のみが相違する。なお、実施の形態1と同様の構成については適宜説明を省略する。
In addition, since block distortion does not occur at the boundary between macroblocks encoded by the I-PCM encoding method, it is not necessary to perform deblocking filter processing. Therefore, for example, there is an advantage that it is not necessary to perform deblock filtering for removing block distortion on the pixel value data near the boundary between the macroblock 2_n and the macroblock 3_1 shown in FIG.
<Embodiment 2>
The encoding processing apparatus according to the present embodiment is substantially the same as the encoding processing apparatus of the first embodiment, and only the configuration of the
本実施の形態に係る符号化処理部120,121,122は、I−PCM符号化を行うか否かを切り替えるためのセレクタ930およびセレクタ931が設けられていない点と、デブロックフィルタ処理部911が設けられていない点とが実施の形態1と相違する(図3参照)。
The
この符号化処理部120,121,122は、MPEG−4の符号化方式により符号化を行い、領域の境界に位置するマクロブロックについては、not_coded符号化により符号化処理を行う。
The
符号化処理部120,121,122は、符号化モード制御部111から領域内符号化を指示する符号化モード信号が入力されると、MBタイプ制御部991が、動き探索・補償部992と量子化処理部993と可変長符号化部994にnot_coded符号化指示信号を入力する。
When the coding mode signal instructing intra-region coding is input from the coding
動き探索・補償部992は、MBタイプ制御部991からnot_coded符号化指示信号が入力されると、動きベクトル(Mx,My)を強制的に(0,0)に設定して動き補償画像データを生成する。
When the not_coded encoding instruction signal is input from the MB
一方、量子化処理部993は、量子化処理の結果の全てを「0」に置き換える処理を行い、可変長符号化部904および逆量子化処理部906に出力する。
可変長符号化部904は、MBタイプ制御部991からnot_coded符号化指示信号が入力されると、not_coded符号化処理を行う。
On the other hand, the
When the not_coded coding instruction signal is input from the MB
また、本実施の形態に係る符号化処理装置100では、図9に示すように、3つの領域の境界に位置するマクロブロック(図9のハッチ部分)については、領域内符号化モードであるnot_coded符号化を行う。このnot_coded符号化は、既に符号化が完了している他のフレーム内において、符号化処理の対象となるマクロブロックの位置と同じ位置にあるマクロブロックの情報をそのまま出力する。従って、符号化処理の対象のマクロブロックに隣接するマクロブロックの情報は用いない。
In addition, in
それ故に、各符号化処理部120,121,122が担当する領域に属するマクロブロックを符号化処理する際、符号化処理の対象のマクロブロックが属する領域以外の他の領域に属するマクロブロックの情報を用いないので、各符号化処理部120,121,122は、担当する領域の符号化処理の際、他の領域に属するマクロブロックの情報が生成されるのを待つ必要がなくなるから、複数の領域で同時に並列して符号化処理を行うことができるから、符号化処理の高速化を図ることができる。
<実施の形態3>
実施の形態3に係る撮像システム(例えば、デジタルスチルカメラ(DSC))601の構成を図11に示す。図11における符号化処理装置606は、実施の形態1または実施の形態2に係る符号化処理装置により構成される。
Therefore, when the macroblocks belonging to the areas handled by the respective
<
FIG. 11 shows a configuration of an imaging system (for example, a digital still camera (DSC)) 601 according to the third embodiment. The
撮像システム601は、光学系602を通って入射した光がセンサ603の受光部(図示せず)に結像される。センサ603は、タイミング制御回路609の制御に基づいて、所定のタイミングで受光部で受光した光を電気信号に変換(光電変換)し、アナログ画像信号として出力する。そして、このアナログ画像信号は、アナログ・デジタル変換機(ADC)604によってデジタル画像信号に変換され、符号化処理装置606を有する画像処理回路605に入力される。この画像処理回路605では、Y/C処理、エッジ処理、画像の拡大縮小処理、および画像圧縮処理を行うことにより符号データ信号を生成して記録転送回路607に入力される。そして、記録転送回路607は、符号データ信号を記録媒体(図示せず)に記録するとともに、再生回路608へ転送する。再生回路608は、記録転送回路607から入力される符号データ信号を復号して再生する。なお、光学系の調整および、記録転送回路607および再生回路608は、システム制御回路610により制御されている。
<変形例>
(1)前述の実施の形態1および2では、フレーム分割部110が各フレームを3つの領域に分割する例について説明したが、これに限定されるものではない。例えば、図12に示すように、4つ以上(図11に示す例では、10)の符号化処理部120,121,・・・,129を備えており、符号化モード制御部111が、外部から入力される分割数指定信号(図12の矢印A21)に応じて当該分割数指定信号で指定される分割数と同じ数の符号化処理部(例えば、各フレームを10個の領域に分割して処理する場合は、10台の符号化処理部)を駆動させるとともに、駆動させた符号化処理部それぞれが符号化処理を行う領域を設定する。そして、符号化モード制御部111は、駆動させている符号化処理部の識別情報および駆動している符号化処理部それぞれが符号化処理を行う領域を示す領域情報をフレーム分割部110に入力(図12の矢印A22)するようにしてもよい。ここにおいて、フレーム分割部110が、符号化モード制御部111から入力される識別情報および領域情報に基づいて、マクロブロックの情報を駆動している符号化処理部に振り分ける。
In the
<Modification>
(1) In Embodiments 1 and 2 described above, the example in which the
本変形例によれば、より多くの符号化処理部で符号化を並列に実行することができるので、符号化処理能力の向上を図ることができる。
(2)前述の実施の形態2では、領域内符号化モードとしてI−PCMとnot_codedを採用する例について説明したが、これに限定されるものではなく、周辺のマクロブロックの影響を受けず、属する領域内のマクロブロックの情報のみで符号化する符号化モードであれば他の符号化モードを採用してもよい。
According to this modification, encoding can be performed in parallel by a larger number of encoding processing units, so that the encoding processing capability can be improved.
(2) In the second embodiment described above, an example in which I-PCM and not_coded are employed as the intra-region coding mode has been described. However, the present invention is not limited to this, and is not affected by surrounding macroblocks. Other coding modes may be adopted as long as the coding mode is coding only with the information of the macroblock in the region to which it belongs.
(3)前述の実施の形態1および2では、各フレームを水平方向に3つの領域に分割する例について説明したが、これに限定されるものではない。例えば、図13に示すように、水平方向に3つ、垂直方向に2つに分割してなる6つの領域に分割し、図13のハッチ部分のマクロブロックを領域内符号化モードで符号化し、図13のハッチ部分以外のマクロブロックを通常符号化モードで符合化するようにしてもよい。 (3) In the first and second embodiments described above, the example in which each frame is divided into three regions in the horizontal direction has been described. However, the present invention is not limited to this. For example, as shown in FIG. 13, it is divided into six regions divided into three in the horizontal direction and two in the vertical direction, and the macroblock in the hatched portion in FIG. 13 is encoded in the intra-region coding mode. Macroblocks other than the hatched portion in FIG. 13 may be encoded in the normal encoding mode.
本変形例によれば、より多くの符号化処理部を用いて並列して符号化処理を行うことができるので、符号化処理能力を一層向上させることができる。
(4)前述の実施の形態1および2では、領域境界のマクロブロック全てを領域内符号化モードで符号化を行う例について説明したが、例えば、符号化対象マクロブロックの左側、左上側および上側に隣接するマクロブロックの情報のみを用いて符号化する符号化方式(図14参照)であれば、これに限定されるものではない。例えば、図15に示すように、左端の領域を除く各領域内における左側の境界に接するマクロブロックを領域内符号化モードで符号化するものであってもよい。
According to this modification, encoding processing can be performed in parallel using more encoding processing units, so that the encoding processing capability can be further improved.
(4) In the first and second embodiments described above, the example in which all the macroblocks at the region boundary are encoded in the intraregion encoding mode has been described. For example, the left side, the upper left side, and the upper side of the encoding target macroblock If it is an encoding system (refer FIG. 14) encoded only using the information of the macroblock adjacent to, it will not be limited to this. For example, as shown in FIG. 15, a macroblock that is in contact with the left boundary in each region excluding the leftmost region may be encoded in the intra-region encoding mode.
本変形例によれば、符号量の低減を図ることができる。
また、図16に示すように、6つの領域に分割したときに、上側の3つの領域のうち左端の領域を除く2つの領域については、各領域内における左側の境界に接するマクロブロックを領域内符号化モードで符号化し、下側の3つの領域のうち左端の領域については上側の境界に接するマクロブロックを領域内符号化モードで符号化し、残り2つの領域については、左側の境界および上側の境界に接するマクロブロックを領域内符号化モードで符号化するものであってもよい。
According to this modification, the code amount can be reduced.
Also, as shown in FIG. 16, when divided into six regions, for the two regions excluding the leftmost region among the upper three regions, macroblocks that touch the left boundary in each region are included in the region. Encode in encoding mode, and for the leftmost region of the lower three regions, encode the macroblock that touches the upper boundary in intra-region encoding mode, and for the remaining two regions, the left boundary and the upper boundary The macroblock that is in contact with the boundary may be encoded in the intra-region encoding mode.
(5)前述の実施の形態3では、本発明に係る符号化処理装置606における画像処理は必ずしも光学系602を介してセンサ603に結像された画像光に基づく信号のみに適用されるものではなく、例えば外部装置から電気信号として入力される画像信号を処理する際にも適用可能であることは言うまでもない。
(5) In the third embodiment described above, the image processing in the
(6)前述の実施の形態1および2で示した符号化処理装置100のプロセッサおよびそのプロセッサに接続された各種回路に実行させるためのプログラムコードからなるプログラムを、記録媒体に記録すること又は各種通信路等を介して流通させ頒布することもできる。このような記録媒体には、ICカード、ハードディスク、光ディスク、フレキシブルディスク、ROMなどがある。流通、頒布された制御プログラムはプロセッサに読み出されうるメモリなどに格納されることにより利用に供され、そのプロセッサがその制御プログラムを実行することにより各実施形態で示したような機能が実現されるようになる。なお、制御プログラムの一部を符号化処理装置100とは別個のプログラム実行可能な装置(プロセッサ)に各種ネットワークを介して送信して、その別個のプログラム実行可能な装置においてその制御プログラムの一部を実行させることとしてもよい。
(6) Recording a program consisting of a program code to be executed by the processor of the
(7)前述の実施の形態1および2で示した符号化処理装置100を構成する構成要素の一部又は全部は、1又は複数の集積回路(IC、LSIなど)として実装されることとしても良く、符号化処理装置100の構成要素に更に他の要素を加えて集積回路化(1チップ化)されることとしてもよい。
(7) A part or all of the constituent elements of the
ここでは、LSIとしたが、集積度の違いにより、IC、システムLSI、スーパーLSI、ウルトラLSIと呼称されることもある。また、集積回路化の手法はLSIに限るものではなく、専用回路又は汎用プロセッサで実現してもよい。LSI製造後に、プログラムすることが可能なFPGA(Field Programmable Gate Array)、LSI内部の回路セルの接続または設定を再構成可能なリコンフィギュラブル・プロセッサを利用してもよい。さらには、半導体技術の進歩又は派生する別技術によりLSIに置き換わる集積回路化の技術が登場すれば、当然、その技術を用いて機能ブロックの集積化を行ってもよい。バイオ技術の適応等が可能性としてありえる。
<補足>
前述の実施の形態1および2では、MPEG−4AVC/H.264符号化方式の符号化を行う符号化処理装置100について説明したが、これは、MPEG−4AVC/H.264符号化方式に対応する復号処理装置(図示せず)が、符号化処理装置100から送信される符号データから、各マクロブロックのマクロブロックタイプを判定し、I−PCM符号化がなされている場合には、I−PCM符号化に対応した復号処理を行うことを前提としている。
The name used here is LSI, but it may also be called IC, system LSI, super LSI, or ultra LSI depending on the degree of integration. Further, the method of circuit integration is not limited to LSI's, and implementation using dedicated circuitry or general purpose processors is also possible. An FPGA (Field Programmable Gate Array) that can be programmed after manufacturing the LSI, or a reconfigurable processor that can reconfigure the connection or setting of circuit cells inside the LSI may be used. Further, if integrated circuit technology comes out to replace LSI's as a result of the advancement of semiconductor technology or a derivative other technology, it is naturally also possible to carry out function block integration using this technology. Biotechnology can be applied.
<Supplement>
In the first and second embodiments described above, MPEG-4 AVC / H. The encoding
本発明に係る符号化処理装置100は、高解像度・高フレームレートといった高性能な処理を実現することができるため、今後、高解像度化と伴に小型化、省電力化が求められる撮像システム等に、非常に有用な技術である。省電力化が実現することができ、モバイル系の撮像システムにも有用な技術である。
Since the
100 符号化処理装置
110 フレーム分割部
111 符号化モード制御部
120,121,122 符号化処理部
130 符号データ記憶部
131 符号データ並替部
901 減算器
902 DCT処理部
903 量子化処理部
904 可変長符号化部
906 逆量子化処理部
907 逆DCT処理部
908 一時データ記憶部
909 動き探索・補償部
910 加算器
911 デブロックフィルタ処理部
921,922 スイッチ
923 レート制御部
930,931 セレクタ
990 MBタイプ制御部
DESCRIPTION OF
Claims (14)
領域毎に、領域の境界に接しているマクロブロックを特定する特定部と、
分割される領域の数と同数の符号化処理部を有し、各領域に属するマクロブロック群が領域毎に並行して符号化処理されるように分配供給されて並列的に符号化処理する並列処理系とを備え、
前記並列処理系における各符号化処理部は、前記領域の境界に接していないマクロブロックに対しては、当該マクロブロックに隣接するマクロブロックの情報を用いて符号化する第1符号化モードで符号化し、領域の境界に接しているマクロブロックに対しては、当該マクロブロック単体の情報若しくは当該マクロブロックが属する領域内に存在し且つ当該マクロブロックに隣接するマクロブロックの情報を用い、当該マクロブロックが属さない領域内に存在するマクロブロックの情報を用いずに符号化する第2符号化モードで符号化する
ことを特徴とする符号化処理装置。 A frame dividing unit that divides image data into a plurality of regions arranged in a horizontal direction so that each region includes three or more macroblock columns in the horizontal direction for each frame;
For each region, a specific unit that identifies a macroblock that touches the boundary of the region;
Parallel processing that has the same number of coding processing units as the number of regions to be divided and is distributed and supplied in parallel so that macroblock groups belonging to each region are coded in parallel for each region. With a processing system,
Each encoding processing unit in the parallel processing system encodes a macroblock that is not in contact with the boundary of the region in a first encoding mode in which encoding is performed using information of a macroblock adjacent to the macroblock. For macroblocks that are in contact with the boundary of the region, the information on the macroblock alone or information on the macroblock that exists in the region to which the macroblock belongs and is adjacent to the macroblock is used. An encoding processing apparatus, characterized in that encoding is performed in a second encoding mode in which encoding is performed without using information on macroblocks existing in a region to which no data belongs.
前記各符号化処理部において、前記第1符号化モードでの符号化は、境界に対して右側から接しているマクロブロックを除く、当該領域内のすべてのマクロブロックに対して、当該マクロブロックに隣接するマクロブロックのうち、当該マクロブロックに隣接する周辺のマクロブロックの情報を用いて符号化を行い、前記第2符号化モードでの符号化は、境界に対して右側から接しているマクロブロックに対して行う
ことを特徴とする請求項1記載の符号化処理装置。 The identification unit identifies a macroblock that is in contact with the boundary from the right side among the macroblocks that are in contact with the boundary of the region,
In each of the encoding processing units, encoding in the first encoding mode is performed on all macroblocks in the region except for macroblocks that are in contact with the boundary from the right side. Of adjacent macroblocks, encoding is performed using information on neighboring macroblocks adjacent to the macroblock, and the encoding in the second encoding mode is performed on the macroblock in contact with the boundary from the right side. The encoding processing device according to claim 1, wherein
領域毎に、領域の境界に接しているマクロブロックを特定する特定部と、
分割される領域の数と同数の符号化処理部を有し、各領域に属するマクロブロック群が領域毎に並行して符号化処理されるように分配供給されて並列的に符号化処理する並列処理系とを備え、
前記並列処理系における符号化処理部は、前記領域の境界に接していないマクロブロックに対しては、当該マクロブロックに隣接するマクロブロックの情報を用いて符号化する第1符号化モードで符号化し、領域の境界に接しているマクロブロックに対しては、当該マクロブロック単体の情報若しくは当該マクロブロックが属する領域内に存在し且つ当該マクロブロックに隣接するマクロブロックの情報を用い、当該マクロブロックが属さない領域内に存在するマクロブロックの情報を用いずに符号化する第2符号化モードで符号化する
ことを特徴とする符号化処理装置。 A frame dividing unit that divides image data into a plurality of regions arranged in the horizontal direction and the vertical direction so that each region includes three or more macroblock columns in the horizontal direction for each frame;
For each region, a specific unit that identifies a macroblock that touches the boundary of the region;
Parallel processing that has the same number of coding processing units as the number of regions to be divided and is distributed and supplied in parallel so that macroblock groups belonging to each region are coded in parallel for each region. With a processing system,
The encoding processing unit in the parallel processing system encodes a macroblock that is not in contact with the boundary of the region in a first encoding mode in which encoding is performed using information on a macroblock adjacent to the macroblock. For a macroblock that is in contact with an area boundary, information on the macroblock alone or information on a macroblock that exists in the area to which the macroblock belongs and is adjacent to the macroblock An encoding processing apparatus, wherein encoding is performed in a second encoding mode in which encoding is performed without using information on a macroblock existing in a region that does not belong.
前記各符号化処理部において、前記第1符号化モードでの符号化は、境界に対して右側または下側から接しているマクロブロックを除く、当該領域内のすべてのマクロブロックに対して、当該マクロブロックに隣接するマクロブロックのうち、当該マクロブロックに隣接する周辺のマクロブロックの情報を用いて符号化を行い、前記第2符号化モードでの符号化は、境界に対して右側または下側から接しているマクロブロックに対して行う
ことを特徴とする請求項3記載の符号化処理装置。 The specifying unit specifies a macroblock that is in contact with the boundary from the right side or the lower side among the macroblocks that are in contact with the boundary of the region;
In each of the encoding processing units, the encoding in the first encoding mode is performed on all macroblocks in the region except for the macroblock that is in contact with the boundary from the right side or the lower side. Encoding is performed using information of neighboring macroblocks adjacent to the macroblock among the macroblocks adjacent to the macroblock, and the encoding in the second encoding mode is performed on the right side or the lower side with respect to the boundary. The encoding processing apparatus according to claim 3, wherein the encoding processing apparatus performs the processing on a macroblock that is in contact with.
ことを特徴とする請求項1乃至4のいずれか1項に記載の符号化処理装置。 The encoding processing apparatus according to any one of claims 1 to 4, wherein the second encoding mode is a mode for performing I-PCM encoding.
ことを特徴とする請求項1乃至4のいずれか1項に記載の符号化処理装置。 The encoding processing apparatus according to any one of claims 1 to 4, wherein the second encoding mode is a mode for performing not_coded encoding.
前記アナログ・デジタル変換器から出力されるデジタル画像信号を符号化して出力する請求項1乃至6のいずれか1項に記載の符号化処理装置とを備える
ことを特徴とする信号処理システム。 An analog-digital converter that converts an analog image signal into a digital image signal and outputs the digital image signal;
A signal processing system comprising: the encoding processing apparatus according to claim 1 that encodes and outputs a digital image signal output from the analog / digital converter.
前記光学ユニットで生成された被写体像をアナログ画像信号に変換して出力するセンサと、
前記センサから出力された前記アナログ画像信号から符号化されたデジタル画像信号を出力する請求項7に記載の信号処理システムとを備える
ことを特徴とする撮像システム。 An optical unit comprising an optical system for generating a subject image;
A sensor that converts a subject image generated by the optical unit into an analog image signal and outputs the analog image signal;
An image pickup system comprising: the signal processing system according to claim 7 that outputs a digital image signal encoded from the analog image signal output from the sensor.
前記フレーム分割部が、画像データをフレーム毎に、各領域が水平方向にマクロブロック列を3列以上含むように水平方向に並ぶ複数の領域に分割するフレーム分割ステップと、
前記特定部が、領域毎に、領域の境界に接しているマクロブロックを特定する特定ステップと、
前記並列処理系が、分割される領域の数と同数の符号化処理部に各領域に属するマクロブロック群が領域毎に並行して符号化処理されるように分配供給されると、並列的に符号化処理する並列処理ステップとを含み、
前記並列処理ステップでは、前記領域の境界に接していないマクロブロックに対して、前記符号化処理部が、当該マクロブロックに隣接するマクロブロックの情報を用いて符号化する第1符号化ステップと、領域の境界に接しているマクロブロックに対して、前記符号化処理部が、当該マクロブロック単体の情報若しくは当該マクロブロックが属する領域内に存在し且つ当該マクロブロックに隣接するマクロブロックの情報を用い、当該マクロブロックが属さない領域内に存在するマクロブロックの情報を用いずに符号化する第2符号化ステップとを含む
ことを特徴とする符号化処理方法。 An encoding processing method performed using an encoding processing device including a frame dividing unit, a specifying unit, and a parallel processing system,
A frame dividing step in which the frame dividing unit divides the image data into a plurality of regions arranged in the horizontal direction so that each region includes three or more macroblock columns in the horizontal direction;
The specifying unit specifies, for each area, a macroblock that is in contact with the boundary of the area;
When the parallel processing system is distributed and supplied so that the macroblock group belonging to each region is encoded in parallel for each region to the same number of encoding processing units as the number of regions to be divided, Parallel processing steps for encoding processing,
In the parallel processing step, a first encoding step in which the encoding processing unit encodes a macroblock that is not in contact with the boundary of the region by using information of a macroblock adjacent to the macroblock; For a macroblock that is in contact with the boundary of a region, the encoding processing unit uses information on the macroblock alone or information on a macroblock that exists in the region to which the macroblock belongs and is adjacent to the macroblock. And a second encoding step for encoding without using the information of the macroblock existing in the area to which the macroblock does not belong.
前記並列処理ステップでは、前記各符号化処理部において、前記第1符号化モードでの符号化を、境界に対して右側から接しているマクロブロックを除く、当該領域内のすべてのマクロブロックに対して、当該マクロブロックに隣接するマクロブロックのうち、当該マクロブロックに隣接する周辺のマクロブロックの情報を用いて符号化を行う第1符号化ステップと、前記第2符号化モードでの符号化を、境界に対して右側から接しているマクロブロックに対して行う第2符号化ステップとを含む
ことを特徴とする請求項9記載の符号化処理方法。 In the specifying step, the specifying unit specifies a macroblock in contact with the boundary from the right side among macroblocks in contact with the boundary;
In the parallel processing step, in each of the encoding processing units, encoding in the first encoding mode is performed on all macroblocks in the region excluding macroblocks that are in contact with the boundary from the right side. A first encoding step of performing encoding using information on neighboring macroblocks adjacent to the macroblock among the macroblocks adjacent to the macroblock; and encoding in the second encoding mode. The encoding processing method according to claim 9, further comprising: a second encoding step performed on a macroblock that is in contact with the boundary from the right side.
前記フレーム分割部が、画像データをフレーム毎に、各領域が整数個のマクロブロックを含むように水平方向および垂直方向に並ぶ複数の領域に分割するフレーム分割ステップと、
前記特定部が、領域毎に、領域の境界に接しているマクロブロックを特定する特定ステップと、
前記並列処理系が、分割される領域の数と同数の符号化処理部に各領域に属するマクロブロック群が領域毎に並行して符号化処理されるように分配供給されると、並列的に符号化処理する並列処理ステップとを含み、
前記並列処理ステップでは、前記領域の境界に接していないマクロブロックに対して、前記符号化処理部が、当該マクロブロックに隣接するマクロブロックの情報を用いて符号化する第1符号化ステップと、領域の境界に接しているマクロブロックに対して、前記符号化処理部が、当該マクロブロック単体の情報若しくは当該マクロブロックが属する領域内に存在し且つ当該マクロブロックに隣接するマクロブロックの情報を用い、当該マクロブロックが属さない領域内に存在するマクロブロックの情報を用いずに符号化する第2符号化ステップとを含む
ことを特徴とする符号化処理方法。 An encoding processing method performed using an encoding processing device including a frame dividing unit, a specifying unit, and a parallel processing system,
The frame dividing unit divides the image data into a plurality of regions arranged in the horizontal direction and the vertical direction so that each region includes an integer number of macroblocks for each frame;
The specifying unit specifies, for each area, a macroblock that is in contact with the boundary of the area;
When the parallel processing system is distributed and supplied so that the macroblock group belonging to each region is encoded in parallel for each region to the same number of encoding processing units as the number of regions to be divided, Parallel processing steps for encoding processing,
In the parallel processing step, a first encoding step in which the encoding processing unit encodes a macroblock that is not in contact with the boundary of the region by using information of a macroblock adjacent to the macroblock; For a macroblock that is in contact with the boundary of a region, the encoding processing unit uses information on the macroblock alone or information on a macroblock that exists in the region to which the macroblock belongs and is adjacent to the macroblock. And a second encoding step for encoding without using the information of the macroblock existing in the area to which the macroblock does not belong.
前記並列処理ステップでは、前記各符号化処理部において、前記第1符号化モードでの符号化を、境界に対して右側または下側から接しているマクロブロックを除く、当該領域内のすべてのマクロブロックに対して、当該マクロブロックに隣接するマクロブロックのうち、当該マクロブロックに隣接する周辺のマクロブロックの情報を用いて符号化を行う第1符号化ステップと、前記第2符号化モードでの符号化を、境界に対して右側または下側から接しているマクロブロックに対して行う第2符号化ステップとを含む
ことを特徴とする請求項11記載の符号化処理方法。 In the specifying step, the specifying unit specifies a macroblock in contact with the boundary from the right side or the lower side among the macroblocks in contact with the boundary;
In the parallel processing step, in each of the encoding processing units, encoding in the first encoding mode is performed for all macros in the region excluding macroblocks that are in contact with the boundary from the right side or the lower side. A first encoding step for encoding a block using information of neighboring macroblocks adjacent to the macroblock among the macroblocks adjacent to the macroblock, and the second encoding mode The encoding processing method according to claim 11, further comprising: a second encoding step that performs encoding on a macroblock that is in contact with the boundary from the right side or the lower side.
ことを特徴とする請求項9乃至12のいずれか1項に記載の符号化処理方法。 The encoding processing method according to any one of claims 9 to 12, wherein the second encoding step performs I-PCM encoding.
ことを特徴とする請求項9乃至12のいずれか1項に記載の符号化処理方法。 The encoding processing method according to any one of claims 9 to 12, wherein the second encoding step performs not_coded encoding.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2011035865A JP2012175424A (en) | 2011-02-22 | 2011-02-22 | Encoding processing apparatus and encoding processing method |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2011035865A JP2012175424A (en) | 2011-02-22 | 2011-02-22 | Encoding processing apparatus and encoding processing method |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2012175424A true JP2012175424A (en) | 2012-09-10 |
Family
ID=46977890
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2011035865A Withdrawn JP2012175424A (en) | 2011-02-22 | 2011-02-22 | Encoding processing apparatus and encoding processing method |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2012175424A (en) |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2015185979A (en) * | 2014-03-24 | 2015-10-22 | 富士通株式会社 | Moving image encoding device and moving image encoder |
WO2016143093A1 (en) * | 2015-03-11 | 2016-09-15 | 株式会社日立製作所 | Moving image encoding device and intra-prediction encoding method used by such device, and moving image decoding device |
WO2017010073A1 (en) * | 2015-07-10 | 2017-01-19 | 日本電気株式会社 | Motion picture encoding device, motion picture encoding method, and storage medium storing motion picture encoding program |
US10136154B2 (en) | 2013-12-04 | 2018-11-20 | Nec Corporation | Video coding apparatus, video coding method, and non-transitory computer readable medium |
WO2019064934A1 (en) * | 2017-09-27 | 2019-04-04 | 日本電気株式会社 | Moving image coding device, moving image coding method and moving image coding program |
CN112004090A (en) * | 2020-07-14 | 2020-11-27 | 浙江大华技术股份有限公司 | Target boundary determining method, computer device and storage medium |
-
2011
- 2011-02-22 JP JP2011035865A patent/JP2012175424A/en not_active Withdrawn
Cited By (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10136154B2 (en) | 2013-12-04 | 2018-11-20 | Nec Corporation | Video coding apparatus, video coding method, and non-transitory computer readable medium |
JP2015185979A (en) * | 2014-03-24 | 2015-10-22 | 富士通株式会社 | Moving image encoding device and moving image encoder |
WO2016143093A1 (en) * | 2015-03-11 | 2016-09-15 | 株式会社日立製作所 | Moving image encoding device and intra-prediction encoding method used by such device, and moving image decoding device |
WO2017010073A1 (en) * | 2015-07-10 | 2017-01-19 | 日本電気株式会社 | Motion picture encoding device, motion picture encoding method, and storage medium storing motion picture encoding program |
US10462479B2 (en) | 2015-07-10 | 2019-10-29 | Nec Corporation | Motion picture encoding device, motion picture encoding method, and storage medium storing motion picture encoding program |
WO2019064934A1 (en) * | 2017-09-27 | 2019-04-04 | 日本電気株式会社 | Moving image coding device, moving image coding method and moving image coding program |
JPWO2019064934A1 (en) * | 2017-09-27 | 2020-10-15 | 日本電気株式会社 | Moving image coding device, moving image coding method and moving image coding program |
JP6992815B2 (en) | 2017-09-27 | 2022-01-13 | 日本電気株式会社 | Video coding device, video coding method and video coding program |
US11330269B2 (en) | 2017-09-27 | 2022-05-10 | Nec Corporation | Moving image coding device, moving image coding method and moving image coding program |
CN112004090A (en) * | 2020-07-14 | 2020-11-27 | 浙江大华技术股份有限公司 | Target boundary determining method, computer device and storage medium |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP6471786B2 (en) | Image processing apparatus and image processing method | |
JP6471787B2 (en) | Image processing apparatus and image processing method | |
WO2009139123A1 (en) | Image processor and imaging device using the same | |
JP2012175424A (en) | Encoding processing apparatus and encoding processing method | |
US20130156114A1 (en) | Data Movement Reduction In Video Compression Systems | |
JP5974691B2 (en) | MOVING IMAGE COMPRESSION DEVICE, IMAGING DEVICE, AND PROGRAM | |
JP5974692B2 (en) | Moving picture decoding apparatus and program | |
JP6156489B2 (en) | Image coding apparatus, image coding method, and imaging apparatus |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A300 | Withdrawal of application because of no request for examination |
Free format text: JAPANESE INTERMEDIATE CODE: A300 Effective date: 20140513 |