JP3283159B2 - ソフトウェアによる画像符号化方法 - Google Patents
ソフトウェアによる画像符号化方法Info
- Publication number
- JP3283159B2 JP3283159B2 JP17181695A JP17181695A JP3283159B2 JP 3283159 B2 JP3283159 B2 JP 3283159B2 JP 17181695 A JP17181695 A JP 17181695A JP 17181695 A JP17181695 A JP 17181695A JP 3283159 B2 JP3283159 B2 JP 3283159B2
- Authority
- JP
- Japan
- Prior art keywords
- load
- software
- unit
- load state
- 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.)
- Expired - Fee Related
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/20—Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
- H04N21/25—Management 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/266—Channel 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/2662—Controlling the complexity of the video stream, e.g. by scaling the resolution or bitrate of the video stream based on the client capabilities
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/20—Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
- H04N21/23—Processing of content or additional data; Elementary server operations; Server middleware
- H04N21/24—Monitoring of processes or resources, e.g. monitoring of server load, available bandwidth, upstream requests
- H04N21/2405—Monitoring 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)
- Image Processing (AREA)
- Compression Or Coding Systems Of Tv Signals (AREA)
Description
【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は,ソフトウェアによ
り計算機上で画像信号を実時間でかつ高品質に符号化す
ることを目的としたソフトウェアによる画像符号化方法
に関するものである。
り計算機上で画像信号を実時間でかつ高品質に符号化す
ることを目的としたソフトウェアによる画像符号化方法
に関するものである。
【0002】
【従来の技術】近年のコンピュータのCPU能力の伸び
に対応して,ソフトウェアによって画像の符号化を実行
することがしばしば行われる。ソフトウェアによる符号
化は,そのハンドリングの容易性から,将来が期待され
ている。
に対応して,ソフトウェアによって画像の符号化を実行
することがしばしば行われる。ソフトウェアによる符号
化は,そのハンドリングの容易性から,将来が期待され
ている。
【0003】ソフトウェアによる符号化の手順の例は以
下のようになる。まず,ディスクあるいはテープ等に蓄
積されている画像信号から,ある単位の画像データをコ
ンピュータのメインメモリ上に呼び出す。呼び出し単位
は,種々考えられるが,動画像信号の場合,1フレーム
ごとに呼び出されることが多い。ある単位の画像データ
が呼び出されると,その画像データに対して,符号化処
理が施され符号化データが出力される。メインメモリ上
の画像データの符号化処理が終了した時点で,次の処理
単位の画像データをディスクあるいはテープから読み出
す。
下のようになる。まず,ディスクあるいはテープ等に蓄
積されている画像信号から,ある単位の画像データをコ
ンピュータのメインメモリ上に呼び出す。呼び出し単位
は,種々考えられるが,動画像信号の場合,1フレーム
ごとに呼び出されることが多い。ある単位の画像データ
が呼び出されると,その画像データに対して,符号化処
理が施され符号化データが出力される。メインメモリ上
の画像データの符号化処理が終了した時点で,次の処理
単位の画像データをディスクあるいはテープから読み出
す。
【0004】このような方法によれば,動画像の呼び出
し単位となっている画像データを実時間表示した場合の
時間ti と,その画像データを符号化処理するのに要す
る時間tc の関係が,ti ≧tc である場合には,実時
間での処理が可能となる。たとえば,NTSC形式のテ
レビジョン信号に対しては,1/30秒ごとに新たなフ
レームが入力されるが,これに対し,1フレームの符号
化処理が1/30秒以内で終了すれば良いことになる。
し単位となっている画像データを実時間表示した場合の
時間ti と,その画像データを符号化処理するのに要す
る時間tc の関係が,ti ≧tc である場合には,実時
間での処理が可能となる。たとえば,NTSC形式のテ
レビジョン信号に対しては,1/30秒ごとに新たなフ
レームが入力されるが,これに対し,1フレームの符号
化処理が1/30秒以内で終了すれば良いことになる。
【0005】しかしながら,符号化処理に際して,高画
質化のために動き補償等の大きな演算量を要するアルゴ
リズムを用いると,CPU等の演算処理能力の関係で,
この条件が成り立たなくなるおそれがある。また,演算
量が比較的少ないアルゴリズムを用いる場合でも,コン
ピュータ上でのソフトウェア処理の場合,他のジョブと
の関係で,符号化処理に割り当てることのできる演算能
力が実効的に減少し,同様にこの条件が成立しなくなる
場合がある。
質化のために動き補償等の大きな演算量を要するアルゴ
リズムを用いると,CPU等の演算処理能力の関係で,
この条件が成り立たなくなるおそれがある。また,演算
量が比較的少ないアルゴリズムを用いる場合でも,コン
ピュータ上でのソフトウェア処理の場合,他のジョブと
の関係で,符号化処理に割り当てることのできる演算能
力が実効的に減少し,同様にこの条件が成立しなくなる
場合がある。
【0006】従来は,符号化処理に割り当てる演算能力
が減少した場合でも実時間での処理を可能とするため
に,あるフレームの処理が終了するまで,次々に入力さ
れるフレームを読み飛ばし,処理が終了した時点で入力
可能なフレームから符号化処理を開始するという手段で
対処していた。
が減少した場合でも実時間での処理を可能とするため
に,あるフレームの処理が終了するまで,次々に入力さ
れるフレームを読み飛ばし,処理が終了した時点で入力
可能なフレームから符号化処理を開始するという手段で
対処していた。
【0007】図8に,従来の符号化側の処理のブロック
構成を示す。入力端子801から入力された入力画像信
号802は,1フレーム分の容量を持つフレームメモリ
803に蓄積され,スイッチ804を通じて符号化処理
部805に入力され,符号化データ806が出力端子8
07に出力される。ここで,スイッチ804は符号化処
理部805からのフィードバック信号によってオン/オ
フされ,前フレームの画像データの符号化処理が実行さ
れている時にはオフ,符号化処理が終了している状態で
はオンになるように設定される。
構成を示す。入力端子801から入力された入力画像信
号802は,1フレーム分の容量を持つフレームメモリ
803に蓄積され,スイッチ804を通じて符号化処理
部805に入力され,符号化データ806が出力端子8
07に出力される。ここで,スイッチ804は符号化処
理部805からのフィードバック信号によってオン/オ
フされ,前フレームの画像データの符号化処理が実行さ
れている時にはオフ,符号化処理が終了している状態で
はオンになるように設定される。
【0008】
【発明が解決しようとする課題】従来の方法によれば,
動画像のフレーム間隔の時間ti と,その画像データを
符号化処理するのに要する時間tc の関係がti ≧tc
である場合には,スイッチ804は必ずオンの状態にな
り,すべてのフレームの処理が可能となる。
動画像のフレーム間隔の時間ti と,その画像データを
符号化処理するのに要する時間tc の関係がti ≧tc
である場合には,スイッチ804は必ずオンの状態にな
り,すべてのフレームの処理が可能となる。
【0009】しかしながら,ti <tc である場合に
は,tc の大きさによってスイッチ804がオフの状態
になる時間があり,その時にフレームメモリ803に入
力されたフレームのデータは,符号化されずに捨てられ
ることになる。たとえば,tcがti の3倍である時に
は,3フレームに1フレームの割合でしか符号化が行わ
れず,残りの2フレームは符号化されない。符号化され
なかったフレームは受信側では符号化されたフレームの
繰り返しなどで再現されるが,フレーム繰り返しで再現
された画像は動きの再現性が極めて悪い。
は,tc の大きさによってスイッチ804がオフの状態
になる時間があり,その時にフレームメモリ803に入
力されたフレームのデータは,符号化されずに捨てられ
ることになる。たとえば,tcがti の3倍である時に
は,3フレームに1フレームの割合でしか符号化が行わ
れず,残りの2フレームは符号化されない。符号化され
なかったフレームは受信側では符号化されたフレームの
繰り返しなどで再現されるが,フレーム繰り返しで再現
された画像は動きの再現性が極めて悪い。
【0010】一方,tc は一定ではないので,図9に示
すようにCPUにかかっている負荷の状態により時々刻
々と変化し,符号化されるフレームの間隔もそれに応じ
て変化するという状況が起こりうる。
すようにCPUにかかっている負荷の状態により時々刻
々と変化し,符号化されるフレームの間隔もそれに応じ
て変化するという状況が起こりうる。
【0011】このように,従来のような方法では,フレ
ーム読み飛ばしにより実時間での符号化処理を可能にし
ているために,計算機のCPUに負荷がかかると急激に
画質が劣化し,かつ画質の変化がCPUへの負荷のかか
り方の変化に非常に敏感で激しく,安定した再生画像を
提供できないという問題点があった。
ーム読み飛ばしにより実時間での符号化処理を可能にし
ているために,計算機のCPUに負荷がかかると急激に
画質が劣化し,かつ画質の変化がCPUへの負荷のかか
り方の変化に非常に敏感で激しく,安定した再生画像を
提供できないという問題点があった。
【0012】
【課題を解決するための手段】本発明は,上記の問題点
を解決するためになされたものであって,ソフトウェア
によって計算機上で画像信号を符号化する際に,計算機
のCPUの負荷状態を参照し,CPUの負荷状態の度合
によって,符号化処理に要する演算量を適応的に変化さ
せることを特徴とするものである。
を解決するためになされたものであって,ソフトウェア
によって計算機上で画像信号を符号化する際に,計算機
のCPUの負荷状態を参照し,CPUの負荷状態の度合
によって,符号化処理に要する演算量を適応的に変化さ
せることを特徴とするものである。
【0013】具体的には,他のジョブなどによりCPU
の負荷が増加している時には,符号化にかかる演算量を
少なくするように処理アルゴリズムを切り替え,また逆
に,CPUの負荷が減少している時には,符号化にかか
る演算量を多くして,複雑な処理が可能になるように処
理アルゴリズムを切り替える。特に第1の本発明は,画
像信号を動き補償して差分を取るソフトウェアによる動
き補償フレーム間画像符号化方法であって,CPUの負
荷状態を計測し,画像符号化に割り当てるCPUの負荷
を示す負荷状態パラメータを,前記CPUの負荷状態が
最大の場合に0,最小の場合に1となるように設定する
過程と,動きベクトル探索精度と,差分絶対値和の計算
に用いる小ブロック内の画素数の割合を,前記動きベク
トル探索精度の逆数と前記小ブロック内の画素数の割合
の積が前記負荷状態パラメータと一致するように設定す
る過程と,を有することを特徴とする。 また第2の本発
明は,画像信号を2次元離散コサイン変換して変換係数
を量子化するソフトウェアによる画像符号化方法であっ
て,CPUの負荷状態を計測し,画像符号化に割り当て
るCPUの負荷を示す負荷状態パラメータを,前記CP
Uの負荷状態が最大の場合に0,最小の場合に1となる
ように設定する過程と,前記2次元離散コサイン変換の
計算個数を,小ブロックの画素数と前記負荷状態パラメ
ータの積に制限し,低次の周波数成分から計算し,前記
制限された計算個数以降の高次の成分の演算は行わず
に,強制的に0とする過程と,を有することを特徴とす
る。
の負荷が増加している時には,符号化にかかる演算量を
少なくするように処理アルゴリズムを切り替え,また逆
に,CPUの負荷が減少している時には,符号化にかか
る演算量を多くして,複雑な処理が可能になるように処
理アルゴリズムを切り替える。特に第1の本発明は,画
像信号を動き補償して差分を取るソフトウェアによる動
き補償フレーム間画像符号化方法であって,CPUの負
荷状態を計測し,画像符号化に割り当てるCPUの負荷
を示す負荷状態パラメータを,前記CPUの負荷状態が
最大の場合に0,最小の場合に1となるように設定する
過程と,動きベクトル探索精度と,差分絶対値和の計算
に用いる小ブロック内の画素数の割合を,前記動きベク
トル探索精度の逆数と前記小ブロック内の画素数の割合
の積が前記負荷状態パラメータと一致するように設定す
る過程と,を有することを特徴とする。 また第2の本発
明は,画像信号を2次元離散コサイン変換して変換係数
を量子化するソフトウェアによる画像符号化方法であっ
て,CPUの負荷状態を計測し,画像符号化に割り当て
るCPUの負荷を示す負荷状態パラメータを,前記CP
Uの負荷状態が最大の場合に0,最小の場合に1となる
ように設定する過程と,前記2次元離散コサイン変換の
計算個数を,小ブロックの画素数と前記負荷状態パラメ
ータの積に制限し,低次の周波数成分から計算し,前記
制限された計算個数以降の高次の成分の演算は行わず
に,強制的に0とする過程と,を有することを特徴とす
る。
【0014】以下,本発明による符号化処理の概要を例
にとって説明する。図1に本発明を実施するための符号
化側のブロック構成を示す。まず,入力端子101から
入力された符号化対象映像の入力画像信号102が実時
間で入力され,符号化処理部103へ送られる。符号化
処理部103は,N個の演算量を変化させることのでき
るモジュール(演算量可変要素104)の集まり,すな
わち,第1の演算量可変要素,第2の演算量可変要素,
・・・,第Nの演算量可変要素104に分割されている
とし,これらの演算を通して符号化処理が行われる。
にとって説明する。図1に本発明を実施するための符号
化側のブロック構成を示す。まず,入力端子101から
入力された符号化対象映像の入力画像信号102が実時
間で入力され,符号化処理部103へ送られる。符号化
処理部103は,N個の演算量を変化させることのでき
るモジュール(演算量可変要素104)の集まり,すな
わち,第1の演算量可変要素,第2の演算量可変要素,
・・・,第Nの演算量可変要素104に分割されている
とし,これらの演算を通して符号化処理が行われる。
【0015】一方,符号化処理がなされている計算機上
のCPU105における負荷状態計測部106では,そ
のCPU105にかかっているすべての負荷の状態を計
測する。計測された負荷状態パラメータ107は演算量
設定部108に送られ,N個の演算量可変要素に対する
演算量が設定された後,N個の演算量可変要素104へ
送られ,各演算量可変要素104においては,定められ
た演算量になるような処理アルゴリズムにて処理が行わ
れる。処理されて得られた符号化データ109が,出力
端子110に出力される。
のCPU105における負荷状態計測部106では,そ
のCPU105にかかっているすべての負荷の状態を計
測する。計測された負荷状態パラメータ107は演算量
設定部108に送られ,N個の演算量可変要素に対する
演算量が設定された後,N個の演算量可変要素104へ
送られ,各演算量可変要素104においては,定められ
た演算量になるような処理アルゴリズムにて処理が行わ
れる。処理されて得られた符号化データ109が,出力
端子110に出力される。
【0016】このような細かい演算量の制御は,従来の
ハードウェアによる符号化処理では対処が困難であった
が,ソフトウェアによる符号化処理であれば,プログラ
ム中のパラメータ変更やループの回数制限などで簡単に
対応することが可能であり,実現が容易である。
ハードウェアによる符号化処理では対処が困難であった
が,ソフトウェアによる符号化処理であれば,プログラ
ム中のパラメータ変更やループの回数制限などで簡単に
対応することが可能であり,実現が容易である。
【0017】以上述べたような本発明の方法によれば,
計算機のCPUの負荷状態を参照しCPUの負荷状態の
度合を計測することにより,他のジョブなどによってC
PUの負荷が増加している時には,符号化にかかる演算
量を少なくでき,また逆に,CPUの負荷が減少してい
る時には,符号化にかかる演算量を多くして,複雑な処
理が可能となる。また,演算量可変要素における演算量
の変化は非常に細かく設定することが可能である。
計算機のCPUの負荷状態を参照しCPUの負荷状態の
度合を計測することにより,他のジョブなどによってC
PUの負荷が増加している時には,符号化にかかる演算
量を少なくでき,また逆に,CPUの負荷が減少してい
る時には,符号化にかかる演算量を多くして,複雑な処
理が可能となる。また,演算量可変要素における演算量
の変化は非常に細かく設定することが可能である。
【0018】
【発明の実施の形態】以下に本発明の第1の実施の形態
を示す。本実施例は,画像信号を動き補償して差分を取
り,差分を量子化し可変長符号を割り当てる動き補償フ
レーム間符号化の符号化部を想定する。
を示す。本実施例は,画像信号を動き補償して差分を取
り,差分を量子化し可変長符号を割り当てる動き補償フ
レーム間符号化の符号化部を想定する。
【0019】図2に本実施例のブロック図を示す。ま
ず,入力端子201から入力された現フレームの入力画
像信号202を16×16の小ブロックに分割し,分割
された小ブロックに対して,フレームメモリ203に蓄
えられている過去または未来のフレームの画像データか
ら,動きベクトル探索部204において求められる動き
ベクトル205に従って最も類似するブロックを求め
る。求められた動きベクトル205に従って,動き補償
部206において過去または未来のフレームの画像デー
タから動き補償予測データ207を得る。
ず,入力端子201から入力された現フレームの入力画
像信号202を16×16の小ブロックに分割し,分割
された小ブロックに対して,フレームメモリ203に蓄
えられている過去または未来のフレームの画像データか
ら,動きベクトル探索部204において求められる動き
ベクトル205に従って最も類似するブロックを求め
る。求められた動きベクトル205に従って,動き補償
部206において過去または未来のフレームの画像デー
タから動き補償予測データ207を得る。
【0020】現フレームの小ブロックの入力画像信号2
02と動き補償予測データ207を用いて,差分器20
8で動き補償フレーム間差分値209を算出する。動き
補償フレーム間差分値209に対して,量子化部210
において定められた量子化ステップ幅で量子化して量子
化レベル番号を得,符号割り当て部211において量子
化レベル番号に符号を割り当てて差分符号化データ21
2を得る。また,動きベクトル205にも符号を割り当
てて,差分符号化データ212とともに多重化部213
で多重し,符号化データ214として出力端子215か
ら出力する。
02と動き補償予測データ207を用いて,差分器20
8で動き補償フレーム間差分値209を算出する。動き
補償フレーム間差分値209に対して,量子化部210
において定められた量子化ステップ幅で量子化して量子
化レベル番号を得,符号割り当て部211において量子
化レベル番号に符号を割り当てて差分符号化データ21
2を得る。また,動きベクトル205にも符号を割り当
てて,差分符号化データ212とともに多重化部213
で多重し,符号化データ214として出力端子215か
ら出力する。
【0021】一方,量子化レベル番号を,逆量子化部2
16にて逆量子化して量子化代表値を得た後,動き補償
予測データ207と加算器217にて加算し,その結果
をフレームメモリ203に書き込む。
16にて逆量子化して量子化代表値を得た後,動き補償
予測データ207と加算器217にて加算し,その結果
をフレームメモリ203に書き込む。
【0022】このうち,動きベクトル探索部204での
処理は,以下のようになっている。まず,現フレームの
小ブロックB(i,j)に対して,フレームメモリ20
3中の過去または未来のフレームから空間的にB(i,
j)を(u,v)だけずらした小ブロックB′(i+
u,j+v)との差分絶対値和を計算する。
処理は,以下のようになっている。まず,現フレームの
小ブロックB(i,j)に対して,フレームメモリ20
3中の過去または未来のフレームから空間的にB(i,
j)を(u,v)だけずらした小ブロックB′(i+
u,j+v)との差分絶対値和を計算する。
【0023】
【数1】
【0024】(u,v)を定められた領域で変化させ,
D(i,j)の最小値を与えるような(u,v)を最終
的な動きベクトル(U,V)として決定する。この動き
ベクトルの決定については,(u,v)を変化させる精
度(探索精度,何画素おきに動きを探索するか)を細か
くし,かつ差分絶対値和D(u,v)を算出する際にも
16×16画素すべてに対して演算するようにして算出
すれば,信頼性の高い動きベクトルが得られ,結果とし
て得られるフレーム間差分値が小さくなって,符号化効
率が向上することが知られている。しかしながら,この
動きベクトル探索に関しては非常に演算量が多いので,
特にソフトウェアにおいて計算機上で実時間で符号化処
理を行なおうとした場合に最もネックとなる部分であ
る。
D(i,j)の最小値を与えるような(u,v)を最終
的な動きベクトル(U,V)として決定する。この動き
ベクトルの決定については,(u,v)を変化させる精
度(探索精度,何画素おきに動きを探索するか)を細か
くし,かつ差分絶対値和D(u,v)を算出する際にも
16×16画素すべてに対して演算するようにして算出
すれば,信頼性の高い動きベクトルが得られ,結果とし
て得られるフレーム間差分値が小さくなって,符号化効
率が向上することが知られている。しかしながら,この
動きベクトル探索に関しては非常に演算量が多いので,
特にソフトウェアにおいて計算機上で実時間で符号化処
理を行なおうとした場合に最もネックとなる部分であ
る。
【0025】ここで,(u,v)を変化させる精度と,
差分絶対値和D(i,j)を算出する際に用いる画素数
については,必ずしも全てを用いなくてもある程度の信
頼性の上で動きベクトルを求めることが可能である。し
たがって,この2つは,演算量可変要素として扱うこと
が可能である。
差分絶対値和D(i,j)を算出する際に用いる画素数
については,必ずしも全てを用いなくてもある程度の信
頼性の上で動きベクトルを求めることが可能である。し
たがって,この2つは,演算量可変要素として扱うこと
が可能である。
【0026】そこで,動きベクトル探索部204のう
ち,探索ベクトル設定部221と差分絶対値和計算部2
22に対して,CPU218からの演算量制御を施すよ
うにする。計算機上のCPU218における負荷状態計
測部219では,そのCPU218にかかっているすべ
ての負荷の状態を計測する。計測された負荷状態パラメ
ータ220は演算量設定部223に送られ,2個の演算
量可変要素,すなわち探索ベクトル設定部221と差分
絶対値和計算部222に対する演算量が設定される。
ち,探索ベクトル設定部221と差分絶対値和計算部2
22に対して,CPU218からの演算量制御を施すよ
うにする。計算機上のCPU218における負荷状態計
測部219では,そのCPU218にかかっているすべ
ての負荷の状態を計測する。計測された負荷状態パラメ
ータ220は演算量設定部223に送られ,2個の演算
量可変要素,すなわち探索ベクトル設定部221と差分
絶対値和計算部222に対する演算量が設定される。
【0027】動きベクトル探索部204の動作を詳細に
説明すれば,探索ベクトル設定部221において,演算
量設定部223で定められた演算量を実現するための演
算量パラメータ225に基づいて探索ベクトル(動きベ
クトルの候補)が設定され,各探索ベクトルに対して,
ブロックシフト部224にて,フレームメモリ203に
蓄積されている過去または未来の画像がシフトされ,差
分絶対値和計算部222にて,現フレームの小ブロック
画像データ(入力画像信号202)との差分絶対値和が
計算される。この場合,差分絶対値和を計算するときに
用いる画素数は,演算量設定部223で定められた演算
量を実現するための演算量パラメータ225に基づいて
定められる。
説明すれば,探索ベクトル設定部221において,演算
量設定部223で定められた演算量を実現するための演
算量パラメータ225に基づいて探索ベクトル(動きベ
クトルの候補)が設定され,各探索ベクトルに対して,
ブロックシフト部224にて,フレームメモリ203に
蓄積されている過去または未来の画像がシフトされ,差
分絶対値和計算部222にて,現フレームの小ブロック
画像データ(入力画像信号202)との差分絶対値和が
計算される。この場合,差分絶対値和を計算するときに
用いる画素数は,演算量設定部223で定められた演算
量を実現するための演算量パラメータ225に基づいて
定められる。
【0028】次に,差分絶対値和が最小値検出部226
に送られ,これにより差分絶対値和が最小になるような
探索ベクトルが,動きベクトル決定部227にて決定さ
れ,最終的な動きベクトル205として求められる。
に送られ,これにより差分絶対値和が最小になるような
探索ベクトルが,動きベクトル決定部227にて決定さ
れ,最終的な動きベクトル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に減らすことである。
値和計算部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に減らすことである。
【0030】すなわち,図3に探索ベクトルの演算量制
御の例として示すように,探索ベクトル(動きベクトル
の候補となるベクトル)を4ベクトルに1つだけにす
る。また,差分絶対値和を計算する画素数Q=128と
なるので,図4に示すように1画素おきに和をとってい
くことになる。全体としての演算量は,S1 ×S2 =
0.125に抑えることができる。
御の例として示すように,探索ベクトル(動きベクトル
の候補となるベクトル)を4ベクトルに1つだけにす
る。また,差分絶対値和を計算する画素数Q=128と
なるので,図4に示すように1画素おきに和をとってい
くことになる。全体としての演算量は,S1 ×S2 =
0.125に抑えることができる。
【0031】種々の負荷状態パラメータ(S)220に
対するP,Qの選択方法の例を図5に示す。このように
すれば,計算機にかかっている負荷の変動に対して非常
に細かく演算量を設定するアルゴリズムを提供できる。
また,本例では,演算量可変要素が2種類存在するの
で,どちらの演算量可変要素をどのくらいに設定するか
を全体の負荷状態によって適応的に定めることにより,
より画質の高い復号画像を提供することができる。
対するP,Qの選択方法の例を図5に示す。このように
すれば,計算機にかかっている負荷の変動に対して非常
に細かく演算量を設定するアルゴリズムを提供できる。
また,本例では,演算量可変要素が2種類存在するの
で,どちらの演算量可変要素をどのくらいに設定するか
を全体の負荷状態によって適応的に定めることにより,
より画質の高い復号画像を提供することができる。
【0032】図6は,本発明の第2の実施の形態を示す
ものである。本実施例では,画像信号を水平8画素,垂
直8画素の小ブロックに分割し,小ブロックごとに離散
コサイン変換して変換係数を量子化し,可変長符号を割
り当てる場合を想定する。
ものである。本実施例では,画像信号を水平8画素,垂
直8画素の小ブロックに分割し,小ブロックごとに離散
コサイン変換して変換係数を量子化し,可変長符号を割
り当てる場合を想定する。
【0033】2次元離散コサイン変換の変換式を以下に
示す。入力された小ブロックf(i,j)に対して変換
係数F(u,v)は,
示す。入力された小ブロックf(i,j)に対して変換
係数F(u,v)は,
【0034】
【数2】
【0035】で表される。(N=8)ただし,
【0036】
【数3】
【0037】である。まず,入力端子601から入力さ
れた現フレームの画像データである入力画像信号602
は,離散コサイン変換部607へ送られる。その後,量
子化部608へ送られ,量子化レベル番号を得て,符号
割り当て部609において量子化レベル番号に符号を割
り当てて,符号化データ610として出力端子611か
ら出力する。
れた現フレームの画像データである入力画像信号602
は,離散コサイン変換部607へ送られる。その後,量
子化部608へ送られ,量子化レベル番号を得て,符号
割り当て部609において量子化レベル番号に符号を割
り当てて,符号化データ610として出力端子611か
ら出力する。
【0038】このうち離散コサイン変換部607での処
理は,以下のようになっている。まず,CPU603の
現在の負荷状態を負荷状態計測部604により求め,得
られた負荷状態パラメータ(S)605に基づいて,演
算量設定部606において演算量が設定される。設定さ
れた演算量は,離散コサイン変換部607に送られる。
離散コサイン変換部607では,この設定演算量により
演算量を適応的に省略する処理を行う。すなわち,負荷
状態パラメータ(S)605が最大の場合を0,最小の
場合を1としたとき,演算量可変要素として離散コサイ
ン変換係数の計算個数Nを,Sによって以下のように切
り替える。
理は,以下のようになっている。まず,CPU603の
現在の負荷状態を負荷状態計測部604により求め,得
られた負荷状態パラメータ(S)605に基づいて,演
算量設定部606において演算量が設定される。設定さ
れた演算量は,離散コサイン変換部607に送られる。
離散コサイン変換部607では,この設定演算量により
演算量を適応的に省略する処理を行う。すなわち,負荷
状態パラメータ(S)605が最大の場合を0,最小の
場合を1としたとき,演算量可変要素として離散コサイ
ン変換係数の計算個数Nを,Sによって以下のように切
り替える。
【0039】N=8×8×S このとき図7に示すように,ブロック内での周波数成分
を高次の最後まで計算せずに,低次の周波数成分から順
番にN個を計算して,ある閾値をそれ以降の高次の成分
の演算は行わずに,強制的に0とする。強制的に0にし
た係数については,当然,引き続く量子化の制御も必要
ない。このようにすれば,CPU603に負荷がかかっ
ているときほど,演算量を少なくすることができ,かつ
高次の係数から演算を行うようにしているので,画質へ
の影響の少ない符号化が可能となる。
を高次の最後まで計算せずに,低次の周波数成分から順
番にN個を計算して,ある閾値をそれ以降の高次の成分
の演算は行わずに,強制的に0とする。強制的に0にし
た係数については,当然,引き続く量子化の制御も必要
ない。このようにすれば,CPU603に負荷がかかっ
ているときほど,演算量を少なくすることができ,かつ
高次の係数から演算を行うようにしているので,画質へ
の影響の少ない符号化が可能となる。
【0040】
【0041】
【発明の効果】以上述べたような方法によれば,符号化
に実効的に使用できる演算能力を演算量にフィードバッ
クすることが可能となるので,実時間性を保持した符号
化が可能となる。また,演算量可変要素を適当に選ぶこ
とによって,実行的に使用できる演算能力の微妙な変化
にも対応が可能で,急激にフレーム駒落しが起こること
もないので,与えられた演算能力の中で安定した高画質
な符号化を実現できる。特に,ソフトウェアによる符号
化処理であれば,プログラム中のパラメータ変更やルー
プの回数制限などで簡単に実現することが可能であり,
実現性も非常に高いと言える。
に実効的に使用できる演算能力を演算量にフィードバッ
クすることが可能となるので,実時間性を保持した符号
化が可能となる。また,演算量可変要素を適当に選ぶこ
とによって,実行的に使用できる演算能力の微妙な変化
にも対応が可能で,急激にフレーム駒落しが起こること
もないので,与えられた演算能力の中で安定した高画質
な符号化を実現できる。特に,ソフトウェアによる符号
化処理であれば,プログラム中のパラメータ変更やルー
プの回数制限などで簡単に実現することが可能であり,
実現性も非常に高いと言える。
【図1】本発明を実施するための符号化側のブロック構
成を示す図である。
成を示す図である。
【図2】本発明の第1の実施の形態のブロック構成を示
す図である。
す図である。
【図3】第1の実施の形態における探索ベクトルの演算
量制御の例を示す図である。
量制御の例を示す図である。
【図4】第1の実施の形態における差分絶対値和計算部
の演算量制御の例を示す図である。
の演算量制御の例を示す図である。
【図5】負荷状態パラメータSに対するP,Qの選択方
法の例を示す図である。
法の例を示す図である。
【図6】本発明の第2の実施の形態のブロック構成を示
す図である。
す図である。
【図7】本発明の第2の実施の形態における離散コサイ
ン変換の計算方法を示す図である。
ン変換の計算方法を示す図である。
【図8】従来の符号化側の処理のブロック構成を示す図
である。
である。
【図9】従来の符号化方法の問題点を示す図である。
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 出力端子
フロントページの続き (58)調査した分野(Int.Cl.7,DB名) H04N 7/24 - 7/68 H04N 1/41 - 1/419
Claims (2)
- 【請求項1】 画像信号を動き補償して差分を取るソフ
トウェアによる動き補償フレーム間画像符号化方法であ
って, CPUの負荷状態を計測し,画像符号化に割り当てるC
PUの負荷を示す負荷状態パラメータを,前記CPUの
負荷状態が最大の場合に0,最小の場合に1となるよう
に設定する過程と, 動きベクトル探索精度と,差分絶対値和の計算に用いる
小ブロック内の画素数の割合を,前記動きベクトル探索
精度の逆数と前記小ブロック内の画素数の割合の積が前
記負荷状態パラメータと一致するように設定する過程
と, を有することを特徴とするソフトウェアによる画像符号
化方法。 - 【請求項2】 画像信号を2次元離散コサイン変換して
変換係数を量子化するソフトウェアによる画像符号化方
法であって, CPUの負荷状態を計測し,画像符号化に割り当てるC
PUの負荷を示す負荷状態パラメータを,前記CPUの
負荷状態が最大の場合に0,最小の場合に1となるよう
に設定する過程と, 前記2次元離散コサイン変換の計算個数を,小ブロック
の画素数と前記負荷状態パラメータの積に制限し,低次
の周波数成分から計算し,前記制限された計算個数以降
の高次の成分の演算は行わずに,強制的に0とする過程
と, を有することを特徴とするソフトウェアによる画像符号
化方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP17181695A JP3283159B2 (ja) | 1995-07-07 | 1995-07-07 | ソフトウェアによる画像符号化方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP17181695A JP3283159B2 (ja) | 1995-07-07 | 1995-07-07 | ソフトウェアによる画像符号化方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
JPH0923422A JPH0923422A (ja) | 1997-01-21 |
JP3283159B2 true JP3283159B2 (ja) | 2002-05-20 |
Family
ID=15930273
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP17181695A Expired - Fee Related JP3283159B2 (ja) | 1995-07-07 | 1995-07-07 | ソフトウェアによる画像符号化方法 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP3283159B2 (ja) |
Families Citing this family (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR100471176B1 (ko) | 1996-08-07 | 2005-03-14 | 마츠시타 덴끼 산교 가부시키가이샤 | 화상 복호화 장치와 음성 복호화 장치 |
JP3019787B2 (ja) | 1996-09-20 | 2000-03-13 | 日本電気株式会社 | 動きベクトル検出装置 |
WO1998038798A1 (en) * | 1997-02-26 | 1998-09-03 | Mitsubishi Denki Kabushiki Kaisha | Device, system, and method for distributing video data |
EP0899687B1 (en) | 1997-08-26 | 2004-01-28 | Matsushita Electric Industrial Co., Ltd. | Method and apparatus for detecting motion vector and image coding apparatus |
KR100727910B1 (ko) * | 2000-10-11 | 2007-06-13 | 삼성전자주식회사 | 하이브리드형 고속 움직임 추정 방법 및 그 장치 |
US8625680B2 (en) | 2003-09-07 | 2014-01-07 | Microsoft Corporation | Bitstream-controlled post-processing filtering |
WO2006033227A1 (ja) * | 2004-09-22 | 2006-03-30 | Matsushita Electric Industrial Co., Ltd. | 画像符号化装置 |
JP4688165B2 (ja) * | 2005-09-30 | 2011-05-25 | 株式会社リコー | 画像処理装置及び画像処理方法 |
JP5030495B2 (ja) * | 2006-07-14 | 2012-09-19 | ソニー株式会社 | 再生装置、再生方法、プログラム、および記録媒体 |
JP4690966B2 (ja) * | 2006-08-11 | 2011-06-01 | 株式会社東芝 | 動画像符号化装置 |
JP4843482B2 (ja) | 2006-12-27 | 2011-12-21 | 株式会社東芝 | 情報処理装置およびプログラム |
JP2010050833A (ja) * | 2008-08-22 | 2010-03-04 | Canon Inc | 映像符号化装置 |
-
1995
- 1995-07-07 JP JP17181695A patent/JP3283159B2/ja not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
JPH0923422A (ja) | 1997-01-21 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP4528441B2 (ja) | ブロック整合法及び統合投射法を用いた階層的動き評価処理及び装置 | |
JP2897763B2 (ja) | 動き補償符号化装置、復号化装置、符号化方法及び復号化方法 | |
JP3716931B2 (ja) | 連続画像の適応型復号装置 | |
KR100584495B1 (ko) | 비디오 화상 코딩 장치 및 방법 | |
KR950009699B1 (ko) | 움직임벡터 검출방법 및 장치 | |
US5644658A (en) | Method of and apparatus for compressing image representing signals | |
EP0734177A2 (en) | Method and apparatus for encoding/decoding a video signal | |
US6418168B1 (en) | Motion vector detection apparatus, method of the same, and image processing apparatus | |
US20020196983A1 (en) | Image encoding apparatus, image encoding method, and recording medium in which image encoding program is recorded | |
JPH0955945A (ja) | 動きベクトル特定方法及び装置 | |
JP3283159B2 (ja) | ソフトウェアによる画像符号化方法 | |
JPH11289544A (ja) | 動き検出装置およびその方法 | |
JP2009509403A (ja) | 統合時空間予測法 | |
EP0444918A2 (en) | Data compression apparatus | |
EP1158806A1 (en) | Motion vector coding | |
JP3355964B2 (ja) | 適応直交変換モード判定方法 | |
US6141449A (en) | Coding mode determination system | |
JPH10285604A (ja) | 単一処理段階による最適な映像圧縮方法及びシステム | |
JPH0410788A (ja) | 画像信号符号量制御方法 | |
US8111748B2 (en) | Method and apparatus for video coding | |
JPH0420088A (ja) | フレーム間符号化装置 | |
JP3941900B2 (ja) | 動きベクトル検出装置 | |
JPH04336894A (ja) | 動画像符号化装置 | |
JPH10164596A (ja) | 動き検出装置 | |
JP2010166275A (ja) | 画像符号化装置 |
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 |