JP2010050833A - Video coding device - Google Patents

Video coding device Download PDF

Info

Publication number
JP2010050833A
JP2010050833A JP2008214339A JP2008214339A JP2010050833A JP 2010050833 A JP2010050833 A JP 2010050833A JP 2008214339 A JP2008214339 A JP 2008214339A JP 2008214339 A JP2008214339 A JP 2008214339A JP 2010050833 A JP2010050833 A JP 2010050833A
Authority
JP
Japan
Prior art keywords
processing
encoding
processing time
prediction
memory
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP2008214339A
Other languages
Japanese (ja)
Other versions
JP2010050833A5 (en
Inventor
Shigeki Mochizuki
成記 望月
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Canon Inc
Original Assignee
Canon Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Canon Inc filed Critical Canon Inc
Priority to JP2008214339A priority Critical patent/JP2010050833A/en
Publication of JP2010050833A publication Critical patent/JP2010050833A/en
Publication of JP2010050833A5 publication Critical patent/JP2010050833A5/ja
Pending legal-status Critical Current

Links

Images

Abstract

<P>PROBLEM TO BE SOLVED: To attain a coding processing efficiently using a memory transmission band of a shared memory without wrecking the coding processing. <P>SOLUTION: In the video coding device, a video input section 12, a predictive coding method determining section 18, a predictive coding processing section 20 and an entropy coding section 22 share a memory 16. The predictive coding method determining section 18 evaluates the amount of codes to be generated by applying simple coding processing to image data to be coded in the memory 16 and notifies the predictive coding processing section 20 of a prediction system that optimizes coding efficiency. The predictive coding processing section 20 performs predictive coding on the image data to be coded in the memory 16 in accordance with the notified prediction system. The predictive coding processing section 20 stores processing time information in macro block units. A CPU 10 controls prediction method determination processing conditions of the predictive coding method determining section 18 so as to converge the processing time information of the predictive coding processing section 20 within the time corresponding to a requested processing time. <P>COPYRIGHT: (C)2010,JPO&INPIT

Description

本発明は、映像符号化装置に関する。   The present invention relates to a video encoding apparatus.

昨今の動画像圧縮技術では、空間領域における冗長度と時間領域における冗長度の両面から情報圧縮を行うハイブリッド符号化方式が主流である。前者は、DCT(離散コサイン変換)等の直交変換処理により映像データを周波数領域に変換し、人間の視覚に影響の少ないより高周波成分のビット長を削減することで情報を圧縮する。後者は、時間的に前後する複数の画像の画面間の差分を符号化することにより情報量を削減するものであり、動き補償を適用することで更に符号化効率を高めている。   In recent moving image compression techniques, a hybrid coding method that compresses information from both the redundancy in the space domain and the redundancy in the time domain is the mainstream. The former compresses information by converting video data into the frequency domain by orthogonal transform processing such as DCT (Discrete Cosine Transform), and reducing the bit length of higher frequency components that have less influence on human vision. The latter is to reduce the amount of information by encoding the difference between the screens of a plurality of images that are temporally mixed, and further increases the encoding efficiency by applying motion compensation.

動画圧縮処理の演算では、動き補償における動き探索処理量が支配的である。動画圧縮における動き補償精度も改善されている。即ち、16×16画素ブロック単位での1画素精度の動き推定精度であったものが、MPEG−1方式では半画素精度に向上した。更に、MPEG−4 AVC(ISO/IEC 14496−10)では、最小4×4画素に対する1/4画素精度まで高められている。画面間予測自体に関しても、前方向予測のみから、後方向予測への対応、前後から任意に2画面を参照する両方向予測に拡張されている。動き探索処理量は、動き推定精度の向上と共に増加している。   In the calculation of moving image compression processing, the amount of motion search processing in motion compensation is dominant. Motion compensation accuracy in video compression has also been improved. That is, the motion estimation accuracy of 1 pixel accuracy in the unit of 16 × 16 pixel blocks is improved to half pixel accuracy in the MPEG-1 system. Furthermore, in MPEG-4 AVC (ISO / IEC 14496-10), the accuracy is improved to 1/4 pixel with respect to a minimum of 4 × 4 pixels. As for the inter-screen prediction itself, the prediction is expanded from only the forward prediction to the response to the backward prediction, and bidirectional prediction referring to two screens arbitrarily from the front and back. The amount of motion search processing increases with the improvement of motion estimation accuracy.

精度良くかつ効率的に動き推定を行う技術が特許文献1に記載されている。その技術では、複数の参照フレームの中から整数画素位置の精度の予測動き情報VIpを先ず求める。そして、その際に参照した1つの参照フレームから、他の画素位置精度の予測動き情報VHp,VQpを求め、求めたVIp,VHp,VQpの中から1つを選択する。
特開2006−093881号公報
Japanese Patent Application Laid-Open No. 2004-151867 describes a technique for performing motion estimation with high accuracy and efficiency. In this technique, first, predicted motion information VIp with an accuracy of integer pixel positions is obtained from a plurality of reference frames. Then, predicted motion information VHp, VQp with other pixel position accuracy is obtained from one reference frame referred to at that time, and one of the obtained VIp, VHp, VQp is selected.
Japanese Patent Laid-Open No. 2006-093881

動画圧縮方式で規定されている範囲内で如何に精度良く動き検出を行うかが、画質に大きく影響する。限られた伝送帯域の中で柔軟な処理を行うことが、重要となっている。   How accurately the motion detection is performed within the range defined by the moving image compression method greatly affects the image quality. It is important to perform flexible processing within a limited transmission band.

一般に、動き探索処理は、できるだけ広範囲且つ高精度に行うことでより精度良く動き推定を行うことが可能となる。しかし、現実の実装面では、如何に少ない演算量で精度の高い動き推定が行えるかが重要となる。そのために、動き探索範囲や精度を限定した条件下で動画像圧縮処理が破綻しないための、ワーストケースを考慮したメモリ伝送帯域を確保した設計が必要になる。実際には、メモリ伝送帯域に余裕がある場合においても、動き探索精度を限定して処理する場合が多い。   Generally, motion estimation can be performed with higher accuracy by performing motion search processing as widely and as accurately as possible. However, in actual implementation, it is important how accurate motion estimation can be performed with a small amount of calculation. For this reason, a design that secures a memory transmission band in consideration of the worst case is necessary so that the moving image compression process does not fail under a condition in which the motion search range and accuracy are limited. In practice, even when there is a margin in the memory transmission band, processing is often performed with limited motion search accuracy.

そこで、符号化処理が破綻することなく、メモリ伝送帯域を効率良く使用する動画像圧縮処理方法が望まれる。   Therefore, there is a demand for a moving image compression processing method that efficiently uses the memory transmission band without causing the encoding processing to fail.

本発明は、このような要望を満たす映像符号化装置及び方法を提示することを目的とする。   It is an object of the present invention to provide a video encoding apparatus and method that satisfy such a demand.

本発明に係る映像符号化装置は、動画像を構成する画面をマクロブロック単位で符号化する映像符号化装置であって、入力映像信号の予測符号化方法を決定する予測符号化方法決定手段と、前記予測符号化方法決定手段で決定された予測符号化方法に従い前記入力映像信号を予測符号化する予測符号化処理手段であって、マクロブロック単位の処理時間情報を保持する予測符号化処理手段と、前記予測符号化方法決定手段及び前記予測符号化処理手段により共用されるメモリと、前記処理時間情報に従い、前記予測符号化方法決定手段の予測方法決定処理条件を制御する制御手段とを有することを特徴とする。   A video encoding apparatus according to the present invention is a video encoding apparatus that encodes a screen constituting a moving image in units of macroblocks, and includes a predictive encoding method determining unit that determines a predictive encoding method of an input video signal; Predictive encoding processing means for predictively encoding the input video signal in accordance with the predictive encoding method determined by the predictive encoding method determining means, and predictive encoding processing means for holding processing time information in units of macroblocks And a memory shared by the predictive encoding method determining means and the predictive encoding processing means, and a control means for controlling the prediction method determination processing conditions of the predictive encoding method determining means according to the processing time information. It is characterized by that.

本発明によれば、マクロブロック単位の予測符号化処理時間を記憶し、画面全体に必要な処理時間に対して所定時間単位で評価し、予測方法決定処理条件を制御する。これにより、符号化処理時間の調整を行い、限られたメモリ伝送帯域の範囲内で、符号化処理を破綻させることなく、メモリ伝送帯域を効率良く使用した符号化処理が可能となる。   According to the present invention, the prediction encoding processing time in units of macroblocks is stored, the processing time required for the entire screen is evaluated in predetermined time units, and the prediction method determination processing conditions are controlled. As a result, the encoding process time is adjusted, and the encoding process using the memory transmission band efficiently can be performed within the limited memory transmission band without causing the encoding process to fail.

以下、図面を参照して、本発明の実施例を詳細に説明する。   Hereinafter, embodiments of the present invention will be described in detail with reference to the drawings.

図1は、本発明の一実施例の概略構成ブロック図を示す。本実施例に係る映像符号化装置は、MPEG−4 AVC方式で映像信号を符号化する。尚、入力映像信号は、フィールド周波数59.94Hzで、1920×1088画素の4:2:0コンポーネント信号であるとする。   FIG. 1 shows a schematic block diagram of an embodiment of the present invention. The video encoding apparatus according to the present embodiment encodes a video signal using the MPEG-4 AVC method. It is assumed that the input video signal is a 4: 2: 0 component signal having a field frequency of 59.94 Hz and 1920 × 1088 pixels.

本実施例では、動画像を表現する映像信号の符号化対象画面を16×16画素ブロックに分割し、符号化処理をマクロブロック単位で実行する。CPU10は、映像符号化に必要な符号化パラメータを生成し、各部を制御する制御手段として機能する。映像入力部12は、入力された映像信号をメモリI/F14を介してメモリ16に書き込む。メモリI/F14は、各処理部からのメモリ16へアクセス要求を調停し、メモリ16の読み出しと書き込みを制御する。   In the present embodiment, an encoding target screen of a video signal representing a moving image is divided into 16 × 16 pixel blocks, and encoding processing is executed in units of macro blocks. The CPU 10 functions as a control unit that generates encoding parameters necessary for video encoding and controls each unit. The video input unit 12 writes the input video signal to the memory 16 via the memory I / F 14. The memory I / F 14 arbitrates access requests from the processing units to the memory 16 and controls reading and writing of the memory 16.

予測符号化方法決定部18は、符号化対象画面内の各マクロブロックに対する予測符号化方法を決定する。具体的には、メモリ16の符号化対象画像データに簡易的な画面内符号化処理又は画面間予測符号化処理を適用して発生符号量を評価し、符号化効率が最適となる予測方式を決定する。例えば、動き探索範囲、動きベクトル精度、動きベクトル数等を含む各種の予測方法決定処理条件に基づいた簡易な符号化処理を使用する。予測符号化方法決定部18は、決定した予測符号化処理に必要な予測符号化処理情報を予測符号化処理部20に送信する。CPU10は、予測符号化方法決定部18に予測方法決定処理条件を設定でき、これにより、予測符号化方法決定部18による予測方法決定処理条件の内容を制御する。   The predictive encoding method determination unit 18 determines a predictive encoding method for each macroblock in the encoding target screen. Specifically, a prediction method in which the amount of generated code is evaluated by applying a simple intra-screen encoding process or inter-screen predictive encoding process to the encoding target image data in the memory 16 and the encoding efficiency is optimized. decide. For example, simple encoding processing based on various prediction method determination processing conditions including a motion search range, motion vector accuracy, and the number of motion vectors is used. The predictive coding method determining unit 18 transmits the predictive coding processing information necessary for the determined predictive coding process to the predictive coding processing unit 20. The CPU 10 can set the prediction method determination processing condition in the prediction encoding method determination unit 18, and thereby controls the content of the prediction method determination processing condition by the prediction encoding method determination unit 18.

予測符号化処理部20は、予測符号化方法決定部18により指定された予測符号化処理情報に応じて、メモリ16の符号化対象画像データを予測符号化する。具体的には、メモリ16から読み出した符号化済み画像データから予測画像データを生成する。そして、符号化対象画像データと予測画像データとの差分となる予測残差信号に対し、8×8画素又は4×4画素ブロック単位で整数精度離散コサイン変換等の直交変換処理を行う。但し、16×16画素ブロック単位で画面内予測処理が行われた輝度信号又は色差信号に対して各画素ブロックを整数精度離散コサイン変換した結果のDC(直流)成分に対しては、更に、離散アダマール変換が行われる。   The predictive encoding processing unit 20 predictively encodes the encoding target image data in the memory 16 in accordance with the predictive encoding processing information specified by the predictive encoding method determining unit 18. Specifically, predicted image data is generated from the encoded image data read from the memory 16. Then, orthogonal transform processing such as integer precision discrete cosine transform is performed on the prediction residual signal that is the difference between the encoding target image data and the prediction image data in units of 8 × 8 pixels or 4 × 4 pixel blocks. However, the DC (direct current) component as a result of integer-precision discrete cosine transform of each pixel block on the luminance signal or color difference signal subjected to the intra-screen prediction processing in units of 16 × 16 pixel blocks is further discrete. Hadamard transformation is performed.

直交変換された変換係数は、指定された量子化パラメータに応じた量子化ステップで量子化され、得られた量子化係数データがエントロピー符号化部22に供給される。量子化係数データは、同時に、逆量子化処理、逆直交変換処理(逆離散アダマール変換及び逆整数精度離散コサイン変換)及び予測画像データの加算によりローカルで復号化される。ローカルで復号化された画像データは、デブロッキングフィルタ処理を施され、デブロッキングフィルタ処理前後の復号化画像データがメモリ16に書き戻される。   The orthogonally transformed transform coefficient is quantized in a quantization step corresponding to the designated quantization parameter, and the obtained quantized coefficient data is supplied to the entropy encoding unit 22. The quantized coefficient data is simultaneously decoded locally by adding an inverse quantization process, an inverse orthogonal transform process (inverse discrete Hadamard transform and inverse integer precision discrete cosine transform), and predicted image data. The locally decoded image data is subjected to deblocking filter processing, and the decoded image data before and after the deblocking filter processing is written back to the memory 16.

また、予測符号化処理部20は、上記一連の処理に要した処理時間情報を保持でき、その時間情報をCPU10に通知する。   The predictive coding processing unit 20 can hold processing time information required for the series of processes, and notifies the CPU 10 of the time information.

エントロピー符号化部22は、予測符号化処理部20からの量子化係数データをエントロピー符号化する。エントロピー符号化部22では、エントロピー符号化方式として、CABAC(Context-based Adaptive Variable Length Coding)に従った符号化が行われる。又は、CAVLC(Context-based Adaptive Binary Arithmetic Coding)をエントロピー符号化方式としても良い。エントロピー符号化部22は、エントロピー符号化で得られた符号データにシステムデータ(シーケンス情報、ピクチャ情報、スライス情報等)を多重化し、符号化データとして出力する。   The entropy encoding unit 22 entropy encodes the quantized coefficient data from the predictive encoding processing unit 20. The entropy encoding unit 22 performs encoding according to CABAC (Context-based Adaptive Variable Length Coding) as an entropy encoding method. Alternatively, CAVLC (Context-based Adaptive Binary Arithmetic Coding) may be used as the entropy coding method. The entropy encoding unit 22 multiplexes system data (sequence information, picture information, slice information, etc.) on code data obtained by entropy encoding, and outputs the result as encoded data.

映像符号化処理をリアルタイムに行う場合を考えると、1フィールド時間内に映像1フィールド分の符号化処理が完了しなければならない。図2は、本実施例の処理シーケンスを示す。1フィールド分の画像が(1920×544)/(16×16)=4080マクロブロックで構成される場合、1マクロブロック当りの要求処理時間は、(1/59.94Hz)/4080MB≒約4μsとなる。   Considering the case where the video encoding process is performed in real time, the encoding process for one field of video must be completed within one field time. FIG. 2 shows a processing sequence of this embodiment. When an image for one field is composed of (1920 × 544) / (16 × 16) = 4080 macroblocks, the required processing time per macroblock is (1 / 59.94 Hz) / 4080 MB≈about 4 μs. Become.

予測符号化方法決定部18、予測符号化処理部20及びエントロピー符号化部22は1マクロブロック単位のパイプライン処理となっており、各処理部18,20,22の1マクロブロック処理が完了した段階で次のマクロブロック処理に遷移する。各処理部12,18,20,22がメモリ16を共用しているので、各処理部12,18,20,22のメモリ・アクセスが互いに影響する。1マクロブロック当たり平均して4μs内で符号化処理を完了できない場合、処理遅延が累積し、入力画像データを保持するためのメモリ領域がオーバーフローし、映像符号化処理が破綻する可能性がある。   The predictive coding method determining unit 18, the predictive coding processing unit 20, and the entropy coding unit 22 are pipeline processing in units of one macroblock, and one macroblock processing of each processing unit 18, 20, and 22 is completed. Transitions to the next macroblock processing at a stage. Since the processing units 12, 18, 20, and 22 share the memory 16, the memory accesses of the processing units 12, 18, 20, and 22 affect each other. If the encoding process cannot be completed within 4 μs on average per macroblock, the processing delay accumulates, the memory area for holding the input image data overflows, and the video encoding process may fail.

各処理部12,18,20,22の処理内容とメモリ16に対するメモリ・アクセス頻度を考える。映像入力部12は、入力映像信号の画像データをメモリ16に書き込む固定的な処理となり、メモリ・アクセスも固定長の周期的なアクセスとなる。ただし、映像信号がリアルタイムに入力されるので、メモリ・アクセスに対する許容レイテンシも小さく、メモリI/F14に対する優先度が最も高く設定されている。   Consider the processing contents of each processing unit 12, 18, 20, 22 and the frequency of memory access to the memory 16. The video input unit 12 is a fixed process for writing the image data of the input video signal to the memory 16, and the memory access is also a fixed length periodic access. However, since the video signal is input in real time, the allowable latency for memory access is small, and the priority for the memory I / F 14 is set to be the highest.

予測符号化方法決定部18によるメモリ16へのアクセスは、予測方法決定処理条件に大きく依存する。符号化対象画像の1マクロブロックに対する予測方法を決定するために、動き探索等により多くの画像領域を読み込む必要がある。このため、予測符号化方法決定部18によるメモリ16へのアクセスが、全体のメモリ・アクセスの大半を占める。   Access to the memory 16 by the predictive encoding method determination unit 18 largely depends on the prediction method determination processing conditions. In order to determine a prediction method for one macroblock of an encoding target image, it is necessary to read a large number of image regions by motion search or the like. For this reason, access to the memory 16 by the predictive coding method determination unit 18 occupies most of the entire memory access.

予測符号化処理部20の処理内容は、予測符号化方法別に固定的な処理となり、メモリ・アクセスも予測符号化方法別に固定的且つ周期的となる。エントロピー符号化部22の処理内容は、入力される量子化係数データに依存し、生成される符号化データ長も変動する。しかし、符号化後の圧縮されたデータをメモリ16に書き込むので、メモリ・アクセスも、他の処理部と比較して微少且つ影響も少ない。   The processing content of the predictive encoding processing unit 20 is fixed processing for each predictive encoding method, and the memory access is fixed and periodic for each predictive encoding method. The processing content of the entropy encoding unit 22 depends on the input quantized coefficient data, and the generated encoded data length also varies. However, since the compressed data after encoding is written into the memory 16, the memory access is also small and less affected than other processing units.

以上のことから、本実施例では、1マクロブロック単位での符号化処理時間に注目し、次のようにメモリ・アクセスを制御又は調整した。即ち、処理内容とメモリ・アクセスが固定的な予測符号化処理部20の処理時間情報を基準にして符号化処理全体の処理時間を把握する。そして、CPU10は、予測符号化処理部20から得られる処理時間情報を周期的に評価し、予測符号化方法決定部18の予測方法決定処理条件を制御する。これにより、符号化処理を破綻させることなく、メモリ16の伝送帯域を有効に利用した符号化処理が行えるようになる。以下に、その制御方法を説明する。   From the above, in this embodiment, paying attention to the encoding processing time in units of one macroblock, the memory access is controlled or adjusted as follows. That is, the processing time of the entire encoding process is grasped based on the processing time information of the predictive encoding processing unit 20 in which the processing content and memory access are fixed. Then, the CPU 10 periodically evaluates the processing time information obtained from the prediction encoding processing unit 20 and controls the prediction method determination processing condition of the prediction encoding method determination unit 18. As a result, it is possible to perform an encoding process that effectively uses the transmission band of the memory 16 without breaking the encoding process. The control method will be described below.

予測符号化処理部20は、1マクロブロック当りの処理時間をモニタし、実処理時間が上述の要求処理時間を超える場合には、処理時間情報としてのマクロブロック数を加算する。予測符号化処理部20はまた、1マクロブロック当りの実処理時間が要求処理時間未満の場合には、処理時間情報としてのマクロブロック数を減算する。すなわち、本実施例では、実処理時間が要求処理時間を超えるか否かで、マクロブロック数を増減する。以下、このマクロブロックのカウント値をOVER_MBと表現する。CPU10は、適宜に、予測符号化処理部20の保持する処理時間情報を参照する。   The predictive coding processing unit 20 monitors the processing time per macroblock, and adds the number of macroblocks as processing time information when the actual processing time exceeds the above-described required processing time. The predictive coding processing unit 20 also subtracts the number of macroblocks as processing time information when the actual processing time per macroblock is less than the required processing time. That is, in this embodiment, the number of macroblocks is increased or decreased depending on whether the actual processing time exceeds the requested processing time. Hereinafter, the count value of this macroblock is expressed as OVER_MB. The CPU 10 refers to the processing time information held by the predictive coding processing unit 20 as appropriate.

図3は、予測符号化処理部20からの処理時間情報に従い、予測符号化方法決定部18の予測方法決定処理条件を制御するCPU10のフローチャートを示す。   FIG. 3 shows a flowchart of the CPU 10 that controls the prediction method determination processing conditions of the prediction encoding method determination unit 18 in accordance with the processing time information from the prediction encoding processing unit 20.

CPU10は、予測符号化処理部20におけるOVER_MB及び処理が完了したマクロブロック数を示すMB_COUNTを初期化し(S1)、符号化開始を命令する(S2)。以降、CPU10は、MB_COUNTを周期的に取得する(S3)。マクロブロック処理数MB_COUNTが所定数になった場合に(S5)、OVER_MBを取得し、OVER_MB値が、0、正値又は負値かを評価する(S6)。なお、ここでは、1MBライン:120MB単位とする。   The CPU 10 initializes OVER_MB in the predictive coding processing unit 20 and MB_COUNT indicating the number of macroblocks that have been processed (S1), and commands the start of coding (S2). Thereafter, the CPU 10 periodically acquires MB_COUNT (S3). When the macroblock processing number MB_COUNT reaches a predetermined number (S5), OVER_MB is acquired, and it is evaluated whether the OVER_MB value is 0, a positive value, or a negative value (S6). Here, 1 MB line: 120 MB unit.

OVER_MB値が正値の場合(S6)、OVER_MB値を、予め設定されている予測符号化方法決定部18の予測方法決定処理条件を変更する閾値であるOVER_LIMIT値と比較する(S7)。OVER_MB値がOVER_LIMIT値を超過する場合(S7)、メモリ伝送帯域が不足していると判定し、予測符号化方法決定部18の予測方法決定処理条件を制限する方向に変更する(S8)。   When the OVER_MB value is a positive value (S6), the OVER_MB value is compared with an OVER_LIMIT value that is a threshold for changing the prediction method determination processing condition of the prediction encoding method determination unit 18 set in advance (S7). When the OVER_MB value exceeds the OVER_LIMIT value (S7), it is determined that the memory transmission band is insufficient, and the prediction method determination processing condition of the prediction encoding method determination unit 18 is changed to a direction to limit (S8).

具体的には、動き探索範囲の縮小、動きベクトル精度の減少(例えば、1/4画素から1画素精度に)、及び動きベクトル数の限定(例えば、16から8)の何れか、又はその組み合わせにより、予測方法決定の負荷を軽減する。動き探索範囲を縮小することで、参照画像の読み込み量を、縮小した領域分だけ削減することが可能となる。動きベクトル精度を下げることで、半画素又は1/4画素を生成するための予測補間処理に伴う参照画像の読み込み量を削減できる。動きベクトル数を限定することで、マクロブロック内の動き探索を行う回数自体を削減でき、参照画像の読み込み量を削減できる。このように予測符号化方法決定部18の予測方法決定処理条件を制御することにより、予測符号化方法決定部18のメモリ・アクセスを抑えることができる。この結果として、以降の予測符号化処理部20のメモリ・アクセス待ちを軽減でき、符号化処理全体の遅延を減少又は解消できる。   Specifically, one of the reduction of the motion search range, the reduction of motion vector accuracy (for example, from 1/4 pixel to 1 pixel accuracy), and the limitation of the number of motion vectors (for example, 16 to 8), or a combination thereof Thus, the load of determining the prediction method is reduced. By reducing the motion search range, it is possible to reduce the amount of reference image read by the reduced area. By reducing the motion vector accuracy, it is possible to reduce the amount of reference image read accompanying the predictive interpolation process for generating half pixels or ¼ pixels. By limiting the number of motion vectors, it is possible to reduce the number of times of performing motion search within a macroblock, and to reduce the amount of reference images read. By controlling the prediction method determination processing conditions of the prediction encoding method determination unit 18 in this way, memory access of the prediction encoding method determination unit 18 can be suppressed. As a result, it is possible to reduce the memory access waiting of the predictive encoding processing unit 20 thereafter, and to reduce or eliminate the delay of the entire encoding process.

OVER_MB値が負値の場合(S6)、符号化処理は要求時間内に実行できていることを示す。従って、メモリ伝送帯域に余裕があると考えることができる。そこで、この場合、予測符号化方法決定部18の予測方法決定処理条件を緩和する方向に変更することが可能である(S9)。例えば、動き探索範囲の拡大、動きベクトル精度の向上及び動きベクトル数の増加の何れか、又はその組み合わせにより、予測符号化方法決定部18の決定精度を改善する。勿論、予測方法決定処理条件の緩和が限界に達していれば、予測方法決定処理条件を変更しなくてもよい。   When the OVER_MB value is a negative value (S6), it indicates that the encoding process can be executed within the requested time. Therefore, it can be considered that there is a margin in the memory transmission band. Therefore, in this case, it is possible to change the prediction method determination processing condition of the prediction encoding method determination unit 18 so as to relax (S9). For example, the determination accuracy of the predictive coding method determination unit 18 is improved by expanding the motion search range, improving the motion vector accuracy, increasing the number of motion vectors, or a combination thereof. Of course, if the relaxation of the prediction method determination processing condition has reached the limit, it is not necessary to change the prediction method determination processing condition.

OVER_MBが0値の場合(S6)、予測処理自体が平均的な要求時間で処理できていることを示しているので、条件変更を行わない。   If OVER_MB is 0 (S6), it indicates that the prediction process itself can be processed with an average required time, so the condition is not changed.

以降、所定MB単位にOVER_MBを評価し(S5)、同様の処理を繰り返す。処理済みのマクロブロック数が1フィールド分(4080マクロブロック)に達した段階で(S4)、1フィールドの符号化処理を終了する。   Thereafter, OVER_MB is evaluated in predetermined MB units (S5), and the same processing is repeated. When the number of processed macroblocks reaches one field (4080 macroblocks) (S4), the encoding process for one field is terminated.

以上のように、予測符号化処理部の処理時間を基準にして、要求処理時間に対する実処理時間の超過/未満の時間情報を元に予測符号化方法決定部18の予測方法決定処理条件を適応的に制御する。この適応制御により、共有されるメモリ16の伝送帯域を有効に使用しつつ、符号化処理が破綻させないことができる。   As described above, the prediction method determination processing condition of the prediction encoding method determination unit 18 is applied based on the time information of the actual processing time exceeding / less than the requested processing time based on the processing time of the prediction encoding processing unit. Control. By this adaptive control, the encoding process can be prevented from failing while effectively using the transmission band of the shared memory 16.

共有されるメモリへのアクセスを上述のように適応制御することにより、共有メモリの伝送帯域を有効活用でし、図4に示すように、記録処理部24にメモリ16を共有させることも可能になる。   By adaptively controlling access to the shared memory as described above, the transmission bandwidth of the shared memory can be effectively used, and the memory 16 can be shared by the recording processing unit 24 as shown in FIG. Become.

MPEG−4 AVC方式で映像信号を符号化する場合で、予測符号化処理部20の保持する処理時間情報に従い、予測符号化方法決定部18の予測方法決定処理条件を制御する動作を説明する。図5は、その制御フローチャートを示す。   An operation for controlling the prediction method determination processing condition of the prediction encoding method determination unit 18 in accordance with the processing time information held by the prediction encoding processing unit 20 when the video signal is encoded by the MPEG-4 AVC method will be described. FIG. 5 shows the control flowchart.

図5に示す制御フローでは、予測符号化処理部20は、処理時間情報にとして、1マクロブロックあたりの実際の処理時間の、要求処理時間との差分の累積値を保持する。予測符号化処理部20の動作周波数が200MHzであるとすると、要求処理時間は、クロック・サイクル数(T)換算で、(4μs)/(1/200MHz)≒800Tとなる。予測符号化処理部20は、この要求処理クロック・サイクル数(800T)に対する超過・未満分のクロック・サイクル数の累積加算値OVER_Tを保持する。   In the control flow shown in FIG. 5, the predictive coding processing unit 20 holds the accumulated value of the difference between the actual processing time per macroblock and the requested processing time as the processing time information. Assuming that the operating frequency of the predictive coding processing unit 20 is 200 MHz, the required processing time is (4 μs) / (1/200 MHz) ≈800 T in terms of the number of clock cycles (T). The predictive coding processing unit 20 holds the cumulative addition value OVER_T of the number of clock cycles exceeding and below the requested processing clock cycle number (800T).

CPU10は、予測符号化処理部20におけるOVER_T及び処理が完了したマクロブロック数を示すMB_COUNTを初期化し(S11)、符号化開始を命令する(S12)。以降、CPU10は、MB_COUNTを周期的に取得する(S13)。マクロブロック処理数MB_COUNTが所定数になった場合に(S15)、OVER_Tを取得し、OVER_T値が、0、正値又は負値を評価する(S16)。なお、ここでは、1MBライン:120MB単位とする。   The CPU 10 initializes OVER_T in the predictive coding processing unit 20 and MB_COUNT indicating the number of macroblocks that have been processed (S11), and commands the start of coding (S12). Thereafter, the CPU 10 periodically acquires MB_COUNT (S13). When the macroblock processing number MB_COUNT reaches a predetermined number (S15), OVER_T is acquired, and the OVER_T value is evaluated as 0, positive value, or negative value (S16). Here, 1 MB line: 120 MB unit.

OVER_T値が正値の場合(S16)、OVER_T値を、予め設定されている予測符号化方法決定部18の予測方法決定処理条件を変更する閾値であるOVER_LIMIT値と比較する(S17)。OVER_T値がOVER_LIMIT値を超過する場合(S17)、メモリ伝送帯域が不足していると判定し、予測符号化方法決定部18の予測方法決定処理条件を制限する方向に変更する(S18)。予測方法決定処理条件を制限するには、図3を参照して説明した方法を採用すれば良い。   When the OVER_T value is a positive value (S16), the OVER_T value is compared with an OVER_LIMIT value that is a threshold for changing the prediction method determination processing condition of the prediction encoding method determination unit 18 set in advance (S17). When the OVER_T value exceeds the OVER_LIMIT value (S17), it is determined that the memory transmission bandwidth is insufficient, and the prediction method determination processing condition of the prediction encoding method determination unit 18 is changed to a direction that limits (S18). In order to limit the prediction method determination processing condition, the method described with reference to FIG. 3 may be employed.

OVER_T値が負値の場合(S16)、符号化処理は要求時間内に実行できていることを示す。従って、メモリ伝送帯域に余裕があると考えることができる。そこで、この場合、予測符号化方法決定部18の予測方法決定処理条件を緩和する方向に変更することが可能である(S19)。例えば、動き探索範囲の拡大、動きベクトル精度の向上及び動きベクトル数の増加の何れか、又はその組み合わせにより、予測符号化方法決定部18の決定精度を改善する。勿論、予測方法決定処理条件の緩和が限界に達していれば、予測方法決定処理条件を変更しなくてもよい。   When the OVER_T value is a negative value (S16), it indicates that the encoding process can be executed within the required time. Therefore, it can be considered that there is a margin in the memory transmission band. Therefore, in this case, it is possible to change the prediction method determination processing condition of the prediction encoding method determination unit 18 so as to relax (S19). For example, the determination accuracy of the predictive coding method determination unit 18 is improved by expanding the motion search range, improving the motion vector accuracy, increasing the number of motion vectors, or a combination thereof. Of course, if the relaxation of the prediction method determination processing condition has reached the limit, the prediction method determination processing condition may not be changed.

OVER_Tが0値の場合(S16)、予測処理自体が平均的な要求時間で処理できていることを示しているので、条件変更を行わない。   If OVER_T is 0 (S16), it indicates that the prediction process itself can be processed with an average required time, so the condition is not changed.

以降、所定MB単位にOVER_Tを評価し(S15)、同様の処理を繰り返す。処理済みのマクロブロック数が1フィールド分(4080マクロブロック)に達した段階で(S14)、1フィールドの符号化処理を終了する。   Thereafter, OVER_T is evaluated in predetermined MB units (S15), and the same processing is repeated. When the number of processed macroblocks reaches one field (4080 macroblocks) (S14), the encoding process for one field is terminated.

以上のように、予測符号化処理部の処理時間を基準にして、要求処理時間に対する実処理時間の超過/未満の時間情報を元に予測符号化方法決定部18の予測方法決定処理条件を適応的に制御する。この適応制御により、共有されるメモリ16の伝送帯域を有効に使用しつつ、符号化処理が破綻させないことができる。   As described above, the prediction method determination processing condition of the prediction encoding method determination unit 18 is applied based on the time information of the actual processing time exceeding / less than the requested processing time based on the processing time of the prediction encoding processing unit. Control. By this adaptive control, the encoding process can be prevented from failing while effectively using the transmission band of the shared memory 16.

共有されるメモリへのアクセスを上述のように適応制御することにより、共有メモリの伝送帯域を有効活用でし、図4に示すように、記録処理部24にメモリ16を共有させることも可能になる。   By adaptively controlling access to the shared memory as described above, the transmission bandwidth of the shared memory can be effectively used, and the memory 16 can be shared by the recording processing unit 24 as shown in FIG. Become.

本発明の一実施例の概略構成ブロック図である。It is a schematic block diagram of one Example of this invention. マクロブロック単位の符号化処理タイミングを示す図である。It is a figure which shows the encoding process timing of a macroblock unit. 処理時間情報(OVER_MB)に基づく予測決定処理条件の制御方法を示すフローチャートである。It is a flowchart which shows the control method of the prediction determination process conditions based on process time information (OVER_MB). 記録処理部を変更実施例の概略構成ブロック図である。It is a schematic block diagram of an embodiment in which the recording processing unit is changed. 処理時間情報(OVER_T)に基づく予測決定処理条件の制御方法を示すフローチャートである。It is a flowchart which shows the control method of the prediction determination process condition based on process time information (OVER_T).

符号の説明Explanation of symbols

10:CPU
12:映像入力部
14:メモリI/F
16:メモリ
18:予測符号化方法決定部
20:予測符号化処理部
22:エントロピー符号化部
24:記録処理部
10: CPU
12: Video input unit 14: Memory I / F
16: Memory 18: Predictive encoding method determination unit 20: Predictive encoding processing unit 22: Entropy encoding unit 24: Recording processing unit

Claims (4)

動画像を構成する画面をマクロブロック単位で符号化する映像符号化装置であって、
入力映像信号の予測符号化方法を決定する予測符号化方法決定手段と、
前記予測符号化方法決定手段で決定された予測符号化方法に従い前記入力映像信号を予測符号化する予測符号化処理手段であって、マクロブロック単位の処理時間情報を保持する予測符号化処理手段と、
前記予測符号化方法決定手段及び前記予測符号化処理手段により共用されるメモリと、
前記処理時間情報に従い、前記予測符号化方法決定手段の予測方法決定処理条件を制御する制御手段
とを有することを特徴とする映像符号化装置。
A video encoding device that encodes a screen constituting a moving image in units of macroblocks,
A predictive encoding method determining means for determining a predictive encoding method of an input video signal;
Predictive encoding processing means for predictively encoding the input video signal according to the predictive encoding method determined by the predictive encoding method determining means, and predictive encoding processing means for holding processing time information in units of macroblocks; ,
A memory shared by the predictive encoding method determining means and the predictive encoding processing means;
A video encoding apparatus comprising: a control unit that controls a prediction method determination processing condition of the prediction encoding method determination unit according to the processing time information.
前記処理時間情報は、1マクロブロック当りの実処理時間が要求処理時間に対して超過の場合に加算され、未満の場合に減算されるカウント値であり、
前記制御手段は、前記カウント値の大きさにより、前記予測方法決定処理条件を制御する
ことを特徴とする請求項1に記載の映像符号化装置。
The processing time information is a count value that is added when the actual processing time per macroblock exceeds the required processing time, and subtracted when the actual processing time is less than the required processing time.
The video encoding apparatus according to claim 1, wherein the control unit controls the prediction method determination processing condition according to a size of the count value.
前記処理時間情報は、1マクロブロック当りの処理時間が要求処理時間に対して増減した時間の累積加算値であり、
前記制御手段は、前記累積加算値の大きさにより、前記予測方法決定処理条件を制御する
ことを特徴とする請求項1に記載の映像符号化装置。
The processing time information is a cumulative addition value of the time when the processing time per macroblock is increased or decreased with respect to the required processing time,
The video encoding apparatus according to claim 1, wherein the control unit controls the prediction method determination processing condition according to a size of the cumulative addition value.
前記予測方法決定処理条件は、動き探索範囲、動きベクトル数、動きベクトルの画素精度、及びこれらの組み合わせの何れかを含むことを特徴とする請求項1乃至3の何れか1項に記載の映像符号化装置。   The video according to any one of claims 1 to 3, wherein the prediction method determination processing condition includes any one of a motion search range, the number of motion vectors, pixel accuracy of motion vectors, and a combination thereof. Encoding device.
JP2008214339A 2008-08-22 2008-08-22 Video coding device Pending JP2010050833A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2008214339A JP2010050833A (en) 2008-08-22 2008-08-22 Video coding device

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2008214339A JP2010050833A (en) 2008-08-22 2008-08-22 Video coding device

Publications (2)

Publication Number Publication Date
JP2010050833A true JP2010050833A (en) 2010-03-04
JP2010050833A5 JP2010050833A5 (en) 2011-09-22

Family

ID=42067538

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2008214339A Pending JP2010050833A (en) 2008-08-22 2008-08-22 Video coding device

Country Status (1)

Country Link
JP (1) JP2010050833A (en)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2013065570A1 (en) * 2011-11-04 2013-05-10 ソニー株式会社 Image processing device and method
US9076189B2 (en) 2012-06-21 2015-07-07 Canon Kabushiki Kaisha Coding apparatus and method for encoding image data

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0923422A (en) * 1995-07-07 1997-01-21 Nippon Telegr & Teleph Corp <Ntt> Picture encoding and decoding method
JPH11239352A (en) * 1997-12-10 1999-08-31 Matsushita Electric Ind Co Ltd Image processing method, image processing unit and data storage medium
JP2004048552A (en) * 2002-07-15 2004-02-12 Mitsubishi Electric Corp Image encoder, image encoding method, image decoder, image decoding method and communication equipment
JP2005229404A (en) * 2004-02-13 2005-08-25 Matsushita Electric Ind Co Ltd Device and method for encoding moving image
JP2006080736A (en) * 2004-09-08 2006-03-23 Fujitsu Ltd Motion vector search controller

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0923422A (en) * 1995-07-07 1997-01-21 Nippon Telegr & Teleph Corp <Ntt> Picture encoding and decoding method
JPH11239352A (en) * 1997-12-10 1999-08-31 Matsushita Electric Ind Co Ltd Image processing method, image processing unit and data storage medium
JP2004048552A (en) * 2002-07-15 2004-02-12 Mitsubishi Electric Corp Image encoder, image encoding method, image decoder, image decoding method and communication equipment
JP2005229404A (en) * 2004-02-13 2005-08-25 Matsushita Electric Ind Co Ltd Device and method for encoding moving image
JP2006080736A (en) * 2004-09-08 2006-03-23 Fujitsu Ltd Motion vector search controller

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2013065570A1 (en) * 2011-11-04 2013-05-10 ソニー株式会社 Image processing device and method
US20140294066A1 (en) * 2011-11-04 2014-10-02 Sony Corporation Image processing apparatus and method
US10075705B2 (en) 2011-11-04 2018-09-11 Sony Corporation Image processing apparatus and method
US9076189B2 (en) 2012-06-21 2015-07-07 Canon Kabushiki Kaisha Coding apparatus and method for encoding image data

Similar Documents

Publication Publication Date Title
JP5330647B2 (en) Adaptive reference image generation
US8432964B2 (en) Image processing device, method, and program
US8611687B2 (en) Method and apparatus for encoding and decoding image using flexible orthogonal transform
JP2008529412A (en) Scratch pad for storing intermediate loop filter data
US5760836A (en) FIFO feedback and control for digital video encoder
JP2008017229A (en) Moving picture encoder
JP5706771B2 (en) Moving picture predictive coding apparatus, control method therefor, and computer program
US9565404B2 (en) Encoding techniques for banding reduction
JP2013115583A (en) Moving image encoder, control method of the same, and program
JP5100572B2 (en) Encoder
JP4708821B2 (en) Moving picture coding apparatus, control method therefor, computer program, and storage medium
JP2010050833A (en) Video coding device
JP2008160402A (en) Encoding device and method, and image encoding device
JP6272194B2 (en) Moving picture encoding apparatus, moving picture decoding apparatus, and moving picture encoding / decoding method
JP4823150B2 (en) Encoding apparatus and encoding method
JP5171675B2 (en) Image processing apparatus and imaging apparatus equipped with the same
WO2008079330A1 (en) Video compression with complexity throttling
JP4847423B2 (en) Moving picture encoding apparatus and computer program
JP4926912B2 (en) Video encoding apparatus and method
JP2008153802A (en) Moving picture encoding device and moving picture encoding program
WO2023168257A2 (en) State transition of dependent quantization for aom enhanced compression model
KR100507441B1 (en) Method for encoding video signals for reducing bitrate using feature of vlc inputs and video encoder for executing the method
US8345992B2 (en) Method and device of image encoding and image processing apparatus
JP2006270392A (en) Image predicting and coding device
KR20050078519A (en) Video data compression apparatus with low memory bandwidth for parallel processing and method of the same

Legal Events

Date Code Title Description
A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20110804

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20110804

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20120502

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20120509

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20120703

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20130108

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20130507