JPH0923422A - Picture encoding and decoding method - Google Patents

Picture encoding and decoding method

Info

Publication number
JPH0923422A
JPH0923422A JP17181695A JP17181695A JPH0923422A JP H0923422 A JPH0923422 A JP H0923422A JP 17181695 A JP17181695 A JP 17181695A JP 17181695 A JP17181695 A JP 17181695A JP H0923422 A JPH0923422 A JP H0923422A
Authority
JP
Japan
Prior art keywords
encoding
unit
load state
calculation
cpu
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.)
Granted
Application number
JP17181695A
Other languages
Japanese (ja)
Other versions
JP3283159B2 (en
Inventor
Fuminori Osako
史典 大迫
Yoshiyuki Yashima
由幸 八島
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.)
Nippon Telegraph and Telephone Corp
Original Assignee
Nippon Telegraph and Telephone Corp
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 Nippon Telegraph and Telephone Corp filed Critical Nippon Telegraph and Telephone Corp
Priority to JP17181695A priority Critical patent/JP3283159B2/en
Publication of JPH0923422A publication Critical patent/JPH0923422A/en
Application granted granted Critical
Publication of JP3283159B2 publication Critical patent/JP3283159B2/en
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/25Management operations performed by the server for facilitating the content distribution or administrating data related to end-users or client devices, e.g. end-user or client device authentication, learning user preferences for recommending movies
    • H04N21/266Channel or content management, e.g. generation and management of keys and entitlement messages in a conditional access system, merging a VOD unicast channel into a multicast channel
    • H04N21/2662Controlling the complexity of the video stream, e.g. by scaling the resolution or bitrate of the video stream based on the client capabilities
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/24Monitoring of processes or resources, e.g. monitoring of server load, available bandwidth, upstream requests
    • H04N21/2405Monitoring of the internal components or processes of the server, e.g. server load

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Databases & Information Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)
  • Image Processing (AREA)

Abstract

PROBLEM TO BE SOLVED: To provide a method for realizing stable encoding and decoding with high quality in given operation ability in accordance with the change of the operation ability of CPU when a picture signal is encoded and decoded on a real time. SOLUTION: A load state measuring part 106 measures the load state of CPU 105 and transmits a load state parameter 107 to an operation quantity setting part 108. The operation quantity setting part 108 sets the operation quantity of an encoding processing part 103 in accordance with the load state based on the load state parameter 107. The encoding processing part 103 encoding-processes an input picture signal 102 with a processing algorithm by which the operation quantity of an operation quantity variable element 104 becomes operation quantity which is set and executes encoding.

Description

【発明の詳細な説明】Detailed Description of the Invention

【0001】[0001]

【発明の属する技術分野】本発明は,ソフトウェアによ
り計算機上で画像信号を実時間でかつ高品質に符号化・
復号化することを目的とした画像符号化および復号化方
法に関するものである。
BACKGROUND OF THE INVENTION 1. Field of the Invention The present invention is a software for encoding an image signal on a computer in real time and with high quality.
The present invention relates to an image coding and decoding method for the purpose of decoding.

【0002】[0002]

【従来の技術】近年のコンピュータのCPU能力の伸び
に対応して,ソフトウェアによって画像の符号化および
復号化を実行することがしばしば行われる。ソフトウェ
アによる符号化復号化は,そのハンドリングの容易性か
ら,将来が期待されている。
2. Description of the Related Art In response to the recent increase in CPU power of computers, it is often the case that image encoding and decoding are executed by software. Coding and decoding by software is expected to be future because of its ease of handling.

【0003】ソフトウェアによる符号化の手順の例は以
下のようになる。まず,ディスクあるいはテープ等に蓄
積されている画像信号から,ある単位の画像データをコ
ンピュータのメインメモリ上に呼び出す。呼び出し単位
は,種々考えられるが,動画像信号の場合,1フレーム
ごとに呼び出されることが多い。ある単位の画像データ
が呼び出されると,その画像データに対して,符号化処
理が施され符号化データが出力される。メインメモリ上
の画像データの符号化処理が終了した時点で,次の処理
単位の画像データをディスクあるいはテープから読み出
す。
An example of a software encoding procedure is as follows. First, a certain unit of image data is retrieved from the image signal stored on a disk or tape into the main memory of the computer. There are various call units, but in the case of a moving image signal, it is often called for each frame. When image data of a certain unit is called, the image data is subjected to encoding processing and the encoded data is output. When the encoding process of the image data on the main memory is completed, the image data of the next processing unit is read from the disk or tape.

【0004】復号側においても,入力が符号化データと
なり,出力が復号画像信号となることを除いて,符号化
側と同様のプロセスで処理が実行される。このような方
法によれば,動画像の呼び出し単位となっている画像デ
ータを実時間表示した場合の時間ti と,その画像デー
タを符号化処理するのに要する時間tc の関係が,ti
≧tc である場合には,実時間での処理が可能となる。
たとえば,NTSC形式のテレビジョン信号に対して
は,1/30秒ごとに新たなフレームが入力されるが,
これに対し,1フレームの符号化処理が1/30秒以内
で終了すれば良いことになる。
Also on the decoding side, the processing is executed in the same process as the coding side, except that the input becomes the encoded data and the output becomes the decoded image signal. According to such a method, the relationship between the time t i when the image data, which is the unit for calling the moving image, is displayed in real time and the time t c required for encoding the image data is t i
When ≧ t c , real-time processing is possible.
For example, for an NTSC television signal, a new frame is input every 1/30 second,
On the other hand, it suffices if the encoding process for one frame is completed within 1/30 seconds.

【0005】しかしながら,符号化処理に際して,高画
質化のために動き補償等の大きな演算量を要するアルゴ
リズムを用いると,CPU等の演算処理能力の関係で,
この条件が成り立たなくなるおそれがある。また,演算
量が比較的少ないアルゴリズムを用いる場合でも,コン
ピュータ上でのソフトウェア処理の場合,他のジョブと
の関係で,符号化処理に割り当てることのできる演算能
力が実効的に減少し,同様にこの条件が成立しなくなる
場合がある。
However, when an algorithm that requires a large amount of calculation, such as motion compensation, is used in order to improve the image quality in the encoding process, the calculation processing capability of the CPU or the like causes
This condition may not hold. Further, even when an algorithm with a relatively small amount of calculation is used, in the case of software processing on a computer, the calculation capacity that can be assigned to encoding processing is effectively reduced due to the relationship with other jobs, and similarly, This condition may not hold.

【0006】従来は,符号化処理に割り当てる演算能力
が減少した場合でも実時間での処理を可能とするため
に,あるフレームの処理が終了するまで,次々に入力さ
れるフレームを読み飛ばし,処理が終了した時点で入力
可能なフレームから符号化処理を開始するという手段で
対処していた。
Conventionally, in order to enable real-time processing even when the computing capacity allocated to the encoding processing is reduced, the frames input one after another are skipped and processed until the processing of a certain frame is completed. This is dealt with by means of starting the encoding process from a frame that can be input at the end of the.

【0007】図8に,従来の符号化側の処理のブロック
構成を示す。入力端子801から入力された入力画像信
号802は,1フレーム分の容量を持つフレームメモリ
803に蓄積され,スイッチ804を通じて符号化処理
部805に入力され,符号化データ806が出力端子8
07に出力される。ここで,スイッチ804は符号化処
理部805からのフィードバック信号によってオン/オ
フされ,前フレームの画像データの符号化処理が実行さ
れている時にはオフ,符号化処理が終了している状態で
はオンになるように設定される。
FIG. 8 shows a block configuration of conventional processing on the encoding side. The input image signal 802 input from the input terminal 801 is accumulated in the frame memory 803 having a capacity of one frame, is input to the encoding processing unit 805 through the switch 804, and the encoded data 806 is output terminal 8
07. Here, the switch 804 is turned on / off by a feedback signal from the encoding processing unit 805, turned off when the encoding processing of the image data of the previous frame is being executed, and turned on when the encoding processing is completed. Is set.

【0008】[0008]

【発明が解決しようとする課題】従来の方法によれば,
動画像のフレーム間隔の時間ti と,その画像データを
符号化処理するのに要する時間tc の関係がti ≧tc
である場合には,スイッチ804は必ずオンの状態にな
り,すべてのフレームの処理が可能となる。
According to the conventional method,
The relationship between the time t i of the frame interval of the moving image and the time t c required to encode the image data is t i ≧ t c
If so, the switch 804 is always turned on, and all frames can be processed.

【0009】しかしながら,ti <tc である場合に
は,tc の大きさによってスイッチ804がオフの状態
になる時間があり,その時にフレームメモリ803に入
力されたフレームのデータは,符号化されずに捨てられ
ることになる。たとえば,tcがti の3倍である時に
は,3フレームに1フレームの割合でしか符号化が行わ
れず,残りの2フレームは符号化されない。符号化され
なかったフレームは受信側では符号化されたフレームの
繰り返しなどで再現されるが,フレーム繰り返しで再現
された画像は動きの再現性が極めて悪い。
However, when t i <t c , there is a time when the switch 804 is turned off depending on the size of t c , and the data of the frame input to the frame memory 803 at that time is encoded. It will be thrown away without being. For example, when t c is 3 times as large as t i , only one frame out of three frames is encoded, and the remaining two frames are not encoded. The unencoded frame is reproduced on the receiving side by repeating the encoded frame, but the image reproduced by repeating the frame has very poor motion reproducibility.

【0010】一方,tc は一定ではないので,図9に示
すようにCPUにかかっている負荷の状態により時々刻
々と変化し,符号化されるフレームの間隔もそれに応じ
て変化するという状況が起こりうる。
On the other hand, since t c is not constant, as shown in FIG. 9, there is a situation in which it varies from moment to moment depending on the load on the CPU, and the interval between encoded frames also changes accordingly. It can happen.

【0011】このように,従来のような方法では,フレ
ーム読み飛ばしにより実時間での符号化復号化処理を可
能にしているために,計算機のCPUに負荷がかかると
急激に画質が劣化し,かつ画質の変化がCPUへの負荷
のかかり方の変化に非常に敏感で激しく,安定した再生
画像を提供できないという問題点があった。
As described above, according to the conventional method, since the frame decoding skip enables the coding and decoding processing in real time, when the CPU of the computer is overloaded, the image quality is rapidly deteriorated. In addition, the change in image quality is extremely sensitive to the change in how the load is applied to the CPU, and it is difficult to provide a stable reproduced image.

【0012】[0012]

【課題を解決するための手段】本発明は,上記の問題点
を解決するためになされたものであって,ソフトウェア
によって計算機上で画像信号を符号化または復号化する
際に,計算機のCPUの負荷状態を参照し,CPUの負
荷状態の度合によって,符号化または復号化処理に要す
る演算量を適応的に変化させることを特徴とするもので
ある。
SUMMARY OF THE INVENTION The present invention has been made to solve the above problems, and when the image signal is encoded or decoded on the computer by software, the CPU of the computer It is characterized in that the load state is referred to and the amount of calculation required for encoding or decoding processing is adaptively changed according to the degree of the load state of the CPU.

【0013】具体的には,他のジョブなどによりCPU
の負荷が増加している時には,符号化または復号化にか
かる演算量を少なくするように処理アルゴリズムを切り
替え,また逆に,CPUの負荷が減少している時には,
符号化または復号化にかかる演算量を多くして,複雑な
処理が可能になるように処理アルゴリズムを切り替え
る。
Specifically, the CPU is used for other jobs.
When the load of is increasing, the processing algorithm is switched so as to reduce the calculation amount required for encoding or decoding, and conversely, when the load of the CPU is decreasing,
The processing algorithm is switched to increase the amount of calculation required for encoding or decoding and enable complex processing.

【0014】以下,符号化側を例にとって説明する。図
1に本発明を実施するための符号化側のブロック構成を
示す。まず,入力端子101から入力された符号化対象
映像の入力画像信号102が実時間で入力され,符号化
処理部103へ送られる。符号化処理部103は,N個
の演算量を変化させることのできるモジュール(演算量
可変要素104)の集まり,すなわち,第1の演算量可
変要素,第2の演算量可変要素,・・・,第Nの演算量
可変要素104に分割されているとし,これらの演算を
通して符号化処理が行われる。
The encoding side will be described below as an example. FIG. 1 shows a block configuration on the encoding side for implementing the present invention. First, the input image signal 102 of the video to be encoded input from the input terminal 101 is input in real time and sent to the encoding processing unit 103. The encoding processing unit 103 is a group of modules (computation amount variable elements 104) capable of changing N computation amounts, that is, a first computation amount variable element, a second computation amount variable element, ... , Nth calculation amount variable element 104, and encoding processing is performed through these calculations.

【0015】一方,符号化処理がなされている計算機上
のCPU105における負荷状態計測部106では,そ
のCPU105にかかっているすべての負荷の状態を計
測する。計測された負荷状態パラメータ107は演算量
設定部108に送られ,N個の演算量可変要素に対する
演算量が設定された後,N個の演算量可変要素104へ
送られ,各演算量可変要素104においては,定められ
た演算量になるような処理アルゴリズムにて処理が行わ
れる。処理されて得られた符号化データ109が,出力
端子110に出力される。
On the other hand, the load state measuring unit 106 in the CPU 105 on the computer on which the encoding process is performed measures the state of all loads on the CPU 105. The measured load state parameter 107 is sent to the calculation amount setting unit 108, the calculation amounts for the N calculation amount variable elements are set, and then is transmitted to the N calculation amount variable elements 104, and each calculation amount variable element is sent. At 104, processing is performed by a processing algorithm that results in a predetermined calculation amount. The encoded data 109 obtained by the processing is output to the output terminal 110.

【0016】このような細かい演算量の制御は,従来の
ハードウェアによる符号化復号化処理では対処が困難で
あったが,ソフトウェアによる符号化復号化処理であれ
ば,プログラム中のパラメータ変更やループの回数制限
などで簡単に対応することが可能であり,実現が容易で
ある。
Such fine control of the amount of calculation has been difficult to deal with by the conventional coding / decoding processing by hardware, but if it is the coding / decoding processing by software, it is possible to change the parameters in the program and loop. It is possible to easily deal with this by limiting the number of times, and it is easy to implement.

【0017】以上述べたような本発明の方法によれば,
計算機のCPUの負荷状態を参照しCPUの負荷状態の
度合を計測することにより,他のジョブなどによってC
PUの負荷が増加している時には,符号化または復号化
にかかる演算量を少なくでき,また逆に,CPUの負荷
が減少している時には,符号化または復号化にかかる演
算量を多くして,複雑な処理が可能となる。また,演算
量可変要素における演算量の変化は非常に細かく設定す
ることが可能である。
According to the method of the present invention as described above,
By referring to the load state of the CPU of the computer and measuring the degree of the load state of the CPU, the C
When the load on the PU is increasing, the amount of calculation required for encoding or decoding can be reduced. On the contrary, when the load on the CPU is decreasing, the amount of calculation required for encoding or decoding is increased. , Complex processing becomes possible. Further, the change in the calculation amount in the calculation amount variable element can be set very finely.

【0018】[0018]

【発明の実施の形態】以下に本発明の第1の実施の形態
を示す。本実施例は,画像信号を動き補償して差分を取
り,差分を量子化し可変長符号を割り当てる動き補償フ
レーム間符号化の符号化部を想定する。
BEST MODE FOR CARRYING OUT THE INVENTION A first embodiment of the present invention will be described below. This embodiment assumes a coding unit for motion-compensated interframe coding in which motion compensation is performed on an image signal to obtain a difference, and the difference is quantized and a variable length code is assigned.

【0019】図2に本実施例のブロック図を示す。ま
ず,入力端子201から入力された現フレームの入力画
像信号202を16×16の小ブロックに分割し,分割
された小ブロックに対して,フレームメモリ203に蓄
えられている過去または未来のフレームの画像データか
ら,動きベクトル探索部204において求められる動き
ベクトル205に従って最も類似するブロックを求め
る。求められた動きベクトル205に従って,動き補償
部206において過去または未来のフレームの画像デー
タから動き補償予測データ207を得る。
FIG. 2 shows a block diagram of this embodiment. First, the input image signal 202 of the current frame input from the input terminal 201 is divided into 16 × 16 small blocks, and the divided small blocks are divided into the past or future frames stored in the frame memory 203. The most similar block is obtained from the image data according to the motion vector 205 obtained by the motion vector search unit 204. According to the obtained motion vector 205, the motion compensation unit 206 obtains the motion compensation prediction data 207 from the image data of the past or future frame.

【0020】現フレームの小ブロックの入力画像信号2
02と動き補償予測データ207を用いて,差分器20
8で動き補償フレーム間差分値209を算出する。動き
補償フレーム間差分値209に対して,量子化部210
において定められた量子化ステップ幅で量子化して量子
化レベル番号を得,符号割り当て部211において量子
化レベル番号に符号を割り当てて差分符号化データ21
2を得る。また,動きベクトル205にも符号を割り当
てて,差分符号化データ212とともに多重化部213
で多重し,符号化データ214として出力端子215か
ら出力する。
Input image signal 2 of the small block of the current frame
02 and the motion compensation prediction data 207,
At 8, the motion compensation interframe difference value 209 is calculated. For the motion compensation interframe difference value 209, the quantizer 210
Quantization level number is obtained by performing quantization with the quantization step width determined in step S1, and the code assigning unit 211 assigns a code to the quantization level number to obtain the differential encoded data 21.
Get 2. Also, a code is assigned to the motion vector 205, and the multiplexing unit 213 together with the differential encoded data 212.
, And output as encoded data 214 from the output terminal 215.

【0021】一方,量子化レベル番号を,逆量子化部2
16にて逆量子化して量子化代表値を得た後,動き補償
予測データ207と加算器217にて加算し,その結果
をフレームメモリ203に書き込む。
On the other hand, the quantization level number is calculated by the inverse quantization unit 2
After dequantization in 16 to obtain a quantized representative value, the motion compensation prediction data 207 and the adder 217 are added, and the result is written in the frame memory 203.

【0022】このうち,動きベクトル探索部204での
処理は,以下のようになっている。まず,現フレームの
小ブロックB(i,j)に対して,フレームメモリ20
3中の過去または未来のフレームから空間的にB(i,
j)を(u,v)だけずらした小ブロックB′(i+
u,j+v)との差分絶対値和を計算する。
Of these, the processing in the motion vector search unit 204 is as follows. First, for the small block B (i, j) of the current frame, the frame memory 20
From past or future frames in 3 spatially B (i,
small block B ′ (i +) obtained by shifting j) by (u, v)
u, j + v) and the sum of absolute differences.

【0023】[0023]

【数1】 [Equation 1]

【0024】(u,v)を定められた領域で変化させ,
D(i,j)の最小値を与えるような(u,v)を最終
的な動きベクトル(U,V)として決定する。この動き
ベクトルの決定については,(u,v)を変化させる精
度(探索精度,何画素おきに動きを探索するか)を細か
くし,かつ差分絶対値和D(u,v)を算出する際にも
16×16画素すべてに対して演算するようにして算出
すれば,信頼性の高い動きベクトルが得られ,結果とし
て得られるフレーム間差分値が小さくなって,符号化効
率が向上することが知られている。しかしながら,この
動きベクトル探索に関しては非常に演算量が多いので,
特にソフトウェアにおいて計算機上で実時間で符号化処
理を行なおうとした場合に最もネックとなる部分であ
る。
Changing (u, v) in a defined region,
(U, v) that gives the minimum value of D (i, j) is determined as the final motion vector (U, V). Regarding the determination of this motion vector, when the accuracy of changing (u, v) (search accuracy, at what pixel the motion is searched for) is made fine and the sum of absolute differences D (u, v) is calculated. Also, if the calculation is performed on all 16 × 16 pixels, a highly reliable motion vector can be obtained, the resulting inter-frame difference value can be reduced, and the coding efficiency can be improved. Are known. However, since there is a large amount of calculation for this motion vector search,
In particular, this is the most bottleneck in software when trying to perform encoding processing in real time on a computer.

【0025】ここで,(u,v)を変化させる精度と,
差分絶対値和D(i,j)を算出する際に用いる画素数
については,必ずしも全てを用いなくてもある程度の信
頼性の上で動きベクトルを求めることが可能である。し
たがって,この2つは,演算量可変要素として扱うこと
が可能である。
Here, the accuracy of changing (u, v) and
Regarding the number of pixels used when calculating the sum of absolute differences D (i, j), it is possible to obtain the motion vector with a certain degree of reliability without necessarily using all. Therefore, these two can be treated as variable elements of the calculation amount.

【0026】そこで,動きベクトル探索部204のう
ち,探索ベクトル設定部221と差分絶対値和計算部2
22に対して,CPU218からの演算量制御を施すよ
うにする。計算機上のCPU218における負荷状態計
測部219では,そのCPU218にかかっているすべ
ての負荷の状態を計測する。計測された負荷状態パラメ
ータ220は演算量設定部223に送られ,2個の演算
量可変要素,すなわち探索ベクトル設定部221と差分
絶対値和計算部222に対する演算量が設定される。
Therefore, of the motion vector search unit 204, the search vector setting unit 221 and the absolute difference value sum calculation unit 2
The calculation amount control from the CPU 218 is applied to 22. The load state measuring unit 219 in the CPU 218 on the computer measures the states of all loads on the CPU 218. The measured load state parameter 220 is sent to the calculation amount setting unit 223, and the calculation amounts for the two calculation amount variable elements, that is, the search vector setting unit 221 and the difference absolute value sum calculation unit 222 are set.

【0027】動きベクトル探索部204の動作を詳細に
説明すれば,探索ベクトル設定部221において,演算
量設定部223で定められた演算量を実現するための演
算量パラメータ225に基づいて探索ベクトル(動きベ
クトルの候補)が設定され,各探索ベクトルに対して,
ブロックシフト部224にて,フレームメモリ203に
蓄積されている過去または未来の画像がシフトされ,差
分絶対値和計算部222にて,現フレームの小ブロック
画像データ(入力画像信号202)との差分絶対値和が
計算される。この場合,差分絶対値和を計算するときに
用いる画素数は,演算量設定部223で定められた演算
量を実現するための演算量パラメータ225に基づいて
定められる。
The operation of the motion vector search unit 204 will be described in detail. In the search vector setting unit 221, the search vector (based on the calculation amount parameter 225 for realizing the calculation amount determined by the calculation amount setting unit 223) is used. Motion vector candidates) are set, and for each search vector,
The block shift unit 224 shifts the past or future image stored in the frame memory 203, and the difference absolute value sum calculation unit 222 shifts the difference from the small block image data (input image signal 202) of the current frame. The sum of absolute values is calculated. In this case, the number of pixels used when calculating the sum of absolute differences is determined based on the calculation amount parameter 225 for realizing the calculation amount set by the calculation amount setting unit 223.

【0028】次に,差分絶対値和が最小値検出部226
に送られ,これにより差分絶対値和が最小になるような
探索ベクトルが,動きベクトル決定部227にて決定さ
れ,最終的な動きベクトル205として求められる。
Next, the sum of absolute differences is detected by the minimum value detector 226.
The search vector that minimizes the sum of absolute differences is determined by the motion vector determination unit 227, and is obtained as the final motion vector 205.

【0029】探索ベクトル設定部221および差分絶対
値和計算部222での具体的な演算量制御は,以下のよ
うな方法で行われる。計測されたCPU218の負荷状
態パラメータ(S)220を,それが最大の場合を0,
最小の場合を1とすると,探索ベクトル設定部221に
おける探索精度Pは, P=1/S1 差分絶対値和計算部222において用いる画素数Qは, Q=256×S2 と定められる。ただし,S1 ×S2 =Sである。たとえ
ば,S=0.125の場合には,S1 =0.25,S2
=0.5とすることで実現できる。S1 =0.25の場
合,P=4となり,これの意味するところは,整数単位
にすべてのベクトルを探索するのではなく,探索精度を
1/4に減らすことである。
The specific calculation amount control in the search vector setting unit 221 and the sum of absolute difference value calculation unit 222 is performed by the following method. The measured load state parameter (S) 220 of the CPU 218 is set to 0 when it is the maximum,
When the minimum case is set to 1, the search accuracy P in the search vector setting unit 221 is: P = 1 / S 1 The number of pixels Q used in the difference absolute value sum calculation unit 222 is defined as Q = 256 × S 2 . However, S 1 × S 2 = S. For example, when S = 0.125, S 1 = 0.25, S 2
This can be realized by setting = 0.5. When S 1 = 0.25, P = 4, which means that the search precision is reduced to ¼ instead of searching all the vectors in integer units.

【0030】すなわち,図3に探索ベクトルの演算量制
御の例として示すように,探索ベクトル(動きベクトル
の候補となるベクトル)を4ベクトルに1つだけにす
る。また,差分絶対値和を計算する画素数Q=128と
なるので,図4に示すように1画素おきに和をとってい
くことになる。全体としての演算量は,S1 ×S2
0.125に抑えることができる。
That is, as shown as an example of the calculation amount control of the search vector in FIG. 3, the search vector (vector which is a candidate for the motion vector) is only one in four vectors. Further, since the number of pixels Q for calculating the sum of absolute differences is 128, the sum is taken every other pixel as shown in FIG. The total calculation amount is S 1 × S 2 =
It can be suppressed to 0.125.

【0031】種々の負荷状態パラメータ(S)220に
対するP,Qの選択方法の例を図5に示す。このように
すれば,計算機にかかっている負荷の変動に対して非常
に細かく演算量を設定するアルゴリズムを提供できる。
また,本例では,演算量可変要素が2種類存在するの
で,請求項2の発明のように,どちらの演算量可変要素
をどのくらいに設定するかを全体の負荷状態によって適
応的に定めることにより,より画質の高い復号画像を提
供することができる。
An example of a method of selecting P and Q for various load condition parameters (S) 220 is shown in FIG. By doing this, it is possible to provide an algorithm that sets the amount of calculation very finely with respect to changes in the load on the computer.
Further, in this example, since there are two types of calculation amount variable elements, it is possible to adaptively determine which calculation amount variable element and how much to set according to the overall load state as in the invention of claim 2. , It is possible to provide a decoded image with higher image quality.

【0032】図6は,本発明の第2の実施の形態を示す
ものである。本実施例では,画像信号を水平8画素,垂
直8画素の小ブロックに分割し,小ブロックごとに離散
コサイン変換して変換係数を量子化し,可変長符号を割
り当てる場合を想定する。
FIG. 6 shows a second embodiment of the present invention. In the present embodiment, it is assumed that the image signal is divided into small blocks of horizontal 8 pixels and vertical 8 pixels, the discrete cosine transform is performed for each small block, the transform coefficient is quantized, and a variable length code is assigned.

【0033】2次元離散コサイン変換の変換式を以下に
示す。入力された小ブロックf(i,j)に対して変換
係数F(u,v)は,
The conversion formula of the two-dimensional discrete cosine transform is shown below. The transformation coefficient F (u, v) for the input small block f (i, j) is

【0034】[0034]

【数2】 [Equation 2]

【0035】で表される。(N=8)ただし,Is represented by (N = 8) However,

【0036】[0036]

【数3】 (Equation 3)

【0037】である。まず,入力端子601から入力さ
れた現フレームの画像データである入力画像信号602
は,離散コサイン変換部607へ送られる。その後,量
子化部608へ送られ,量子化レベル番号を得て,符号
割り当て部609において量子化レベル番号に符号を割
り当てて,符号化データ610として出力端子611か
ら出力する。
Is as follows. First, an input image signal 602 which is image data of the current frame input from the input terminal 601
Is sent to the discrete cosine transform unit 607. After that, it is sent to the quantization unit 608 to obtain the quantization level number, the code assignment unit 609 assigns a code to the quantization level number, and outputs it as encoded data 610 from the output terminal 611.

【0038】このうち離散コサイン変換部607での処
理は,以下のようになっている。まず,CPU603の
現在の負荷状態を負荷状態計測部604により求め,得
られた負荷状態パラメータ(S)605に基づいて,演
算量設定部606において演算量が設定される。設定さ
れた演算量は,離散コサイン変換部607に送られる。
離散コサイン変換部607では,この設定演算量により
演算量を適応的に省略する処理を行う。すなわち,負荷
状態パラメータ(S)605が最大の場合を0,最小の
場合を1としたとき,演算量可変要素として離散コサイ
ン変換係数の計算個数Nを,Sによって以下のように切
り替える。
Of these, the processing in the discrete cosine transform section 607 is as follows. First, the current load state of the CPU 603 is obtained by the load state measuring unit 604, and the calculation amount setting unit 606 sets the calculation amount based on the obtained load state parameter (S) 605. The set amount of calculation is sent to the discrete cosine transform unit 607.
The discrete cosine transform unit 607 adaptively omits the calculation amount based on the set calculation amount. That is, when the load condition parameter (S) 605 is set to 0 when the maximum and 1 when the load condition parameter (S) 605 is minimum, the number N of discrete cosine transform coefficients calculated as the variable element of the amount of calculation is switched by S as follows.

【0039】N=8×8×S このとき図7に示すように,ブロック内での周波数成分
を高次の最後まで計算せずに,低次の周波数成分から順
番にN個を計算して,ある閾値をそれ以降の高次の成分
の演算は行わずに,強制的に0とする。強制的に0にし
た係数については,当然,引き続く量子化の制御も必要
ない。このようにすれば,CPU603に負荷がかかっ
ているときほど,演算量を少なくすることができ,かつ
高次の係数から演算を行うようにしているので,画質へ
の影響の少ない符号化が可能となる。
N = 8 × 8 × S At this time, as shown in FIG. 7, the frequency components in the block are not calculated until the end of the high order, but N components are calculated in order from the low order frequency component. , A certain threshold is forcibly set to 0 without calculating the higher-order components thereafter. As for the coefficient forcibly set to 0, of course, it is not necessary to control the subsequent quantization. By doing so, the more the CPU 603 is loaded, the smaller the amount of calculation can be made, and since the calculation is performed from higher-order coefficients, it is possible to perform encoding with less influence on the image quality. Becomes

【0040】符号化の際の処理について説明したが,復
号化の際にも以上説明した符号化処理に対応する処理が
行われることは言うまでもない。その復号化処理の詳細
については,以上の符号化の説明から容易に類推できる
ので説明を省略する。
Although the processing at the time of encoding has been described, it goes without saying that the processing corresponding to the above-described encoding processing is also performed at the time of decoding. Since the details of the decoding process can be easily inferred from the above description of the encoding, the description thereof will be omitted.

【0041】[0041]

【発明の効果】以上述べたような方法によれば,符号化
・復号化に実効的に使用できる演算能力を演算量にフィ
ードバックすることが可能となるので,実時間性を保持
した符号化・復号化が可能となる。また,演算量可変要
素を適当に選ぶことによって,実行的に使用できる演算
能力の微妙な変化にも対応が可能で,急激にフレーム駒
落しが起こることもないので,与えられた演算能力の中
で安定した高画質な符号化を実現できる。特に,ソフト
ウェアによる符号化復号化処理であれば,プログラム中
のパラメータ変更やループの回数制限などで簡単に実現
することが可能であり,実現性も非常に高いと言える。
According to the method as described above, it is possible to feed back the calculation capacity that can be effectively used for encoding / decoding to the calculation amount, so that the encoding / coding that maintains the real-time property can be performed. Decryption is possible. In addition, it is possible to deal with subtle changes in the computational capacity that can be practically used by appropriately selecting the computational amount variable element, and there is no sudden drop of frame frames. It is possible to realize stable and high quality encoding. In particular, software encoding / decoding processing can be easily realized by changing the parameters in the program or limiting the number of loops, and the feasibility is very high.

【図面の簡単な説明】[Brief description of drawings]

【図1】本発明を実施するための符号化側のブロック構
成を示す図である。
FIG. 1 is a diagram showing a block configuration on an encoding side for implementing the present invention.

【図2】本発明の第1の実施の形態のブロック構成を示
す図である。
FIG. 2 is a diagram showing a block configuration of a first exemplary embodiment of the present invention.

【図3】第1の実施の形態における探索ベクトルの演算
量制御の例を示す図である。
FIG. 3 is a diagram showing an example of search vector calculation amount control in the first embodiment.

【図4】第1の実施の形態における差分絶対値和計算部
の演算量制御の例を示す図である。
FIG. 4 is a diagram showing an example of calculation amount control of a difference absolute value sum calculation unit in the first embodiment.

【図5】負荷状態パラメータSに対するP,Qの選択方
法の例を示す図である。
FIG. 5 is a diagram showing an example of a method of selecting P and Q for the load state parameter S.

【図6】本発明の第2の実施の形態のブロック構成を示
す図である。
FIG. 6 is a diagram showing a block configuration of a second exemplary embodiment of the present invention.

【図7】本発明の第2の実施の形態における離散コサイ
ン変換の計算方法を示す図である。
FIG. 7 is a diagram showing a method of calculating a discrete cosine transform according to the second embodiment of the present invention.

【図8】従来の符号化側の処理のブロック構成を示す図
である。
FIG. 8 is a diagram showing a block configuration of processing on the conventional encoding side.

【図9】従来の符号化方法の問題点を示す図である。[Fig. 9] Fig. 9 is a diagram illustrating a problem of a conventional encoding method.

【符号の説明】[Explanation of symbols]

101 入力端子 102 入力画像信号 103 符号化処理部 104 演算量可変要素 105 CPU 106 負荷状態計測部 107 負荷状態パラメータ 108 演算量設定部 109 符号化データ 110 出力端子 201 入力端子 202 入力画像信号 203 フレームメモリ 204 動きベクトル探索部 205 動きベクトル 206 動き補償部 207 動き補償予測データ 208 差分器 209 動き補償フレーム間差分値 210 量子化部 211 符号割り当て部 212 差分符号化データ 213 多重化部 214 符号化データ 215 出力端子 216 逆量子化部 217 加算器 218 CPU 219 負荷状態計測部 220 負荷状態パラメータ 221 探索ベクトル設定部 222 差分絶対値和計算部 223 演算量設定部 224 ブロックシフト部 225 演算量パラメータ 226 最小値検出部 227 動きベクトル決定部 601 入力端子 602 入力画像信号 603 CPU 604 負荷状態計測部 605 負荷状態パラメータ 606 演算量設定部 607 離散コサイン変換部 608 量子化部 609 符号割り当て部 610 符号化データ 611 出力端子 801 入力端子 802 入力画像信号 803 フレームメモリ 804 スイッチ 805 符号化処理部 806 符号化データ 807 出力端子 Reference Signs List 101 input terminal 102 input image signal 103 encoding processing unit 104 calculation amount variable element 105 CPU 106 load state measuring unit 107 load state parameter 108 calculation amount setting unit 109 encoded data 110 output terminal 201 input terminal 202 input image signal 203 frame memory 204 Motion Vector Search Unit 205 Motion Vector 206 Motion Compensation Unit 207 Motion Compensation Prediction Data 208 Difference Unit 209 Motion Compensation Interframe Difference Value 210 Quantization Unit 211 Code Allocation Unit 212 Differential Coded Data 213 Multiplexing Unit 214 Coded Data 215 Output Terminal 216 Dequantization unit 217 Adder 218 CPU 219 Load state measurement unit 220 Load state parameter 221 Search vector setting unit 222 Difference absolute value sum calculation unit 223 Calculation amount setting unit 224 Block shift 225 Calculation amount parameter 226 Minimum value detection unit 227 Motion vector determination unit 601 Input terminal 602 Input image signal 603 CPU 604 Load state measurement unit 605 Load state parameter 606 Calculation amount setting unit 607 Discrete cosine transform unit 608 Quantization unit 609 Code Allocation unit 610 Encoded data 611 Output terminal 801 Input terminal 802 Input image signal 803 Frame memory 804 Switch 805 Encoding processing unit 806 Encoded data 807 Output terminal

Claims (2)

【特許請求の範囲】[Claims] 【請求項1】 画像信号を符号化または復号化する際
に,符号器,復号器または外付けのコンピュータのCP
Uの負荷状態を参照し,その負荷状態を計測することに
よって,符号化または復号化処理に要する演算量を負荷
状態に応じて適応的に変化させることを特徴とする画像
符号化復号化方法。
1. A CP of an encoder, a decoder or an external computer when encoding or decoding an image signal.
An image encoding / decoding method characterized in that the load amount of U is referred to and the load state is measured to adaptively change the calculation amount required for encoding or decoding processing according to the load state.
【請求項2】 請求項1記載の画像符号化復号化方法に
おいて,符号化または復号化処理の中に演算量を変化さ
せることができる要素が複数個存在する時に,それぞれ
の要素の演算量を,符号器,復号器または外付けのコン
ピュータのCPUの負荷状態の度合によって適応的に決
定することを特徴とする画像符号化復号化方法。
2. The image coding / decoding method according to claim 1, wherein when there are a plurality of elements capable of changing the calculation amount in the encoding or decoding process, the calculation amount of each element is calculated. , An encoder, a decoder, or an image encoding / decoding method, which is adaptively determined according to a degree of a load state of a CPU of an external computer.
JP17181695A 1995-07-07 1995-07-07 Image coding method by software Expired - Fee Related JP3283159B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP17181695A JP3283159B2 (en) 1995-07-07 1995-07-07 Image coding method by software

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP17181695A JP3283159B2 (en) 1995-07-07 1995-07-07 Image coding method by software

Publications (2)

Publication Number Publication Date
JPH0923422A true JPH0923422A (en) 1997-01-21
JP3283159B2 JP3283159B2 (en) 2002-05-20

Family

ID=15930273

Family Applications (1)

Application Number Title Priority Date Filing Date
JP17181695A Expired - Fee Related JP3283159B2 (en) 1995-07-07 1995-07-07 Image coding method by software

Country Status (1)

Country Link
JP (1) JP3283159B2 (en)

Cited By (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6169766B1 (en) 1997-08-26 2001-01-02 Matsushita Electric Industrial Co., Ltd. Method and apparatus for detecting motion vector and image coding apparatus
US6249550B1 (en) 1996-09-20 2001-06-19 Nec Corporation Motion vector estimating apparatus with high speed and method of estimating motion vector
JP2002152760A (en) * 2000-10-11 2002-05-24 Samsung Electronics Co Ltd Hybrid type high-speed motion estimate method and its device
EP0901285A4 (en) * 1997-02-26 2002-05-29 Mitsubishi Electric Corp Device, system, and method for distributing video data
US7006575B2 (en) 1996-08-07 2006-02-28 Matsushita Electric Industrial Co., Ltd. Picture and sound decoding apparatus picture and sound encoding apparatus and information transmission system
WO2006033227A1 (en) * 2004-09-22 2006-03-30 Matsushita Electric Industrial Co., Ltd. Image encoding device
JP2007124619A (en) * 2005-09-30 2007-05-17 Ricoh Co Ltd Image processor, image processing method, program, and information recording medium
WO2008007758A1 (en) * 2006-07-14 2008-01-17 Sony Corporation Reproduction device, reproduction method, and program
JP2008048065A (en) * 2006-08-11 2008-02-28 Toshiba Corp Moving image encoding apparatus
JP2008167048A (en) * 2006-12-27 2008-07-17 Toshiba Corp Information processing apparatus and program
JP2010050833A (en) * 2008-08-22 2010-03-04 Canon Inc Video coding device
US8625680B2 (en) 2003-09-07 2014-01-07 Microsoft Corporation Bitstream-controlled post-processing filtering

Cited By (21)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7006575B2 (en) 1996-08-07 2006-02-28 Matsushita Electric Industrial Co., Ltd. Picture and sound decoding apparatus picture and sound encoding apparatus and information transmission system
US6249550B1 (en) 1996-09-20 2001-06-19 Nec Corporation Motion vector estimating apparatus with high speed and method of estimating motion vector
US6366616B1 (en) 1996-09-20 2002-04-02 Nec Corporation Motion vector estimating apparatus with high speed and method of estimating motion vector
EP0901285A4 (en) * 1997-02-26 2002-05-29 Mitsubishi Electric Corp Device, system, and method for distributing video data
US6169766B1 (en) 1997-08-26 2001-01-02 Matsushita Electric Industrial Co., Ltd. Method and apparatus for detecting motion vector and image coding apparatus
JP2002152760A (en) * 2000-10-11 2002-05-24 Samsung Electronics Co Ltd Hybrid type high-speed motion estimate method and its device
US8625680B2 (en) 2003-09-07 2014-01-07 Microsoft Corporation Bitstream-controlled post-processing filtering
WO2006033227A1 (en) * 2004-09-22 2006-03-30 Matsushita Electric Industrial Co., Ltd. Image encoding device
JPWO2006033227A1 (en) * 2004-09-22 2008-05-15 松下電器産業株式会社 Image encoding device
JP4746550B2 (en) * 2004-09-22 2011-08-10 パナソニック株式会社 Image encoding device
US8073053B2 (en) 2004-09-22 2011-12-06 Panasonic Corporation Image encoding device that encodes an arbitrary number of moving pictures
JP2007124619A (en) * 2005-09-30 2007-05-17 Ricoh Co Ltd Image processor, image processing method, program, and information recording medium
JP4688165B2 (en) * 2005-09-30 2011-05-25 株式会社リコー Image processing apparatus and image processing method
WO2008007758A1 (en) * 2006-07-14 2008-01-17 Sony Corporation Reproduction device, reproduction method, and program
JP2008022475A (en) * 2006-07-14 2008-01-31 Sony Corp Reproduction device, reproduction method, and program
JP2008048065A (en) * 2006-08-11 2008-02-28 Toshiba Corp Moving image encoding apparatus
JP4690966B2 (en) * 2006-08-11 2011-06-01 株式会社東芝 Video encoding device
US8189667B2 (en) 2006-08-11 2012-05-29 Kabushiki Kaisha Toshiba Moving picture encoding apparatus
US8130839B2 (en) 2006-12-27 2012-03-06 Kabushiki Kaisha Toshiba Information processing apparatus with video encoding process control based on detected load
JP2008167048A (en) * 2006-12-27 2008-07-17 Toshiba Corp Information processing apparatus and program
JP2010050833A (en) * 2008-08-22 2010-03-04 Canon Inc Video coding device

Also Published As

Publication number Publication date
JP3283159B2 (en) 2002-05-20

Similar Documents

Publication Publication Date Title
EP2805499B1 (en) Video decoder, video encoder, video decoding method, and video encoding method
JP2897763B2 (en) Motion compensation coding device, decoding device, coding method and decoding method
KR950009699B1 (en) Motion vector detection method and apparatus
US20050169547A1 (en) Encoding apparatus and method
CN101584215B (en) Integrated spatial-temporal prediction
JP4746550B2 (en) Image encoding device
US6061397A (en) Motion vector detecting device
JPH09294266A (en) Motion vector retrieval method
KR20030014716A (en) Dynamic complexity prediction and regulation of mpeg2 decoding in a media processor
JPH0537915A (en) Method and device for coding image signal
JPH11289544A (en) Motion detector and its method
JPH0923422A (en) Picture encoding and decoding method
JPH07112284B2 (en) Predictive encoding device and decoding device
USRE47004E1 (en) Moving image coding device and method
JP3355964B2 (en) Adaptive orthogonal transform mode determination method
US20050157790A1 (en) Apparatus and mehtod of coding moving picture
JPH0410788A (en) Method for controlling coding variable of image signal
US6898242B2 (en) Moving picture high-speed coder and moving picture high-speed coding method
US6332001B1 (en) Method of coding image data
JPH0420088A (en) Inter-frame coder
JP2002232881A (en) Moving picture decoding method and device
JPH10164596A (en) Motion detector
JPH05308662A (en) High efficiency encoder
JP2005516501A (en) Video image encoding in PB frame mode
JPH10191347A (en) Motion detector, motion detecting method and storage medium

Legal Events

Date Code Title Description
FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20090301

Year of fee payment: 7

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20090301

Year of fee payment: 7

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20100301

Year of fee payment: 8

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20110301

Year of fee payment: 9

LAPS Cancellation because of no payment of annual fees