JP4155102B2 - 画素値演算装置、動画像符号化装置及び動画像復号化装置 - Google Patents
画素値演算装置、動画像符号化装置及び動画像復号化装置 Download PDFInfo
- Publication number
- JP4155102B2 JP4155102B2 JP2003139961A JP2003139961A JP4155102B2 JP 4155102 B2 JP4155102 B2 JP 4155102B2 JP 2003139961 A JP2003139961 A JP 2003139961A JP 2003139961 A JP2003139961 A JP 2003139961A JP 4155102 B2 JP4155102 B2 JP 4155102B2
- Authority
- JP
- Japan
- Prior art keywords
- pixel value
- selector
- mode
- input
- output
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Fee Related
Links
Images
Landscapes
- Compression Or Coding Systems Of Tv Signals (AREA)
- Compression, Expansion, Code Conversion, And Decoders (AREA)
Description
【発明の属する技術分野】
この発明は、半画素精度の動きベクトルを検出し、あるいは補償機能を有する動画像符復号技術に係るものであり、特に効率よく半画素値を算出する画素値演算装置及び動画像符復号装置に関する。
【0002】
【従来の技術】
近年の蓄積メディアの大容量化、放送のデジタル化、通信のブロードバンド化に伴い、DVD、デジタル放送、マルチメディア通信をはじめとする画像圧縮伸長技術を応用したサービスが急速に発展している。この圧縮伸長アルゴリズムは、MPEG−1/2/4、H.261/3等、その用途別に標準化がなされている。これらのアルゴリズムによる演算において、演算量の多くを占めているのが動きベクトル検出である。動きベクトル検出、動き予測は画質向上には欠かせない処理であり、MPEGやH.263以降の標準化では、これらの処理の精度向上のため1/2整数画素単位での動きベクトル検出、動き予測にも対応することになった。
【0003】
1/2整数画素単位での動きベクトル検出のためには、整数画素のデータから1/2整数画素単位のデータを作成する必要がある。動きベクトル検出は、探索点を減らす探索アルゴリズムの工夫によって全体処理量を削減することは可能であるが、1/2整数画素単位の精度が求められる限り、1/2整数画素単位の画素値を作成する処理は不可欠となる。
【0004】
MPEG−4(ISO/IEC 14496−2/AMD.1 「Information technology − Coding of audio−visual objects − Part 2: Visual」)の動きベクトル検出においても1/2整数画素単位の精度が求められており、前フレームからの予測画像と現入力画像の差分計算は、まず予測画像の画素値を周辺画素の値から算出して求め、次に現入力画像の画素値と予測画像の画素値の差分を求めるという2段階の手順で行われる。
【0005】
1/2整数画素データの作成方法について図16を用いて説明すると、図の大きめの○で描かれた画素1〜4に対して、1/2整数画素データの作成は小さい○で描かれた部分のデータを求めることに相当する。例えば画素1〜4の画素値をそれぞれd[1]、d[2]、d[3]、d[4]とすると、小さな○のB、C、Dはそれぞれ(d[1]+d[2])/2、(d[1]+d[3])/2、(d[1]+d[2]+d[3]+d[4])/4で求められる。このような演算をすべての画素について繰り返していくことにより、1/2整数画素データを取得することになる。
【0006】
ところで、毎回メモリ上の2〜4個の画素から画素値を取得して、1/2画素値を求める処理を繰り返すのは負担が大きい。そこで、これら連続する1/2画素値演算を2項演算とみなし、前回の1/2画素値演算で用いた画素値を今回の1/2画素値演算で再利用するようにして、メモリへのアクセス回数を少なく抑え、1/2画素値演算を効率的に行う方法もある(例えば、特許文献1)。
【0007】
【特許文献1】
特開平10−3378 「演算装置および演算方法」 第1図、第4頁〜第5頁
【0008】
【発明が解決しようとする課題】
上記方法によれば、N回の連続する2項演算をN+4回のクロックで実現することができるとしているが、大量の画素にまたがるこれらの演算を多数のフレーム間で実行するためには、より効率のよい演算方法が望まれる。
【0009】
この発明は、1/2整数画素単位の精度が求められる動きベクトル検出の処理において、整数画素の画素値から算出した1/2整数画素の画素値の記憶媒体への格納処理と記憶媒体からの読み出し処理を不要としつつ、動きベクトル検出の処理速度をさらに向上することを目的とする。
【0010】
【課題を解決するための手段】
この発明に係る画素値演算装置は、参照画像において、垂直方向に並んだ画素の画素値をサイクル毎に順次入力する第1の入力端と、前記第1の入力端に順次入力される画素値に対応する画素と水平方向に隣接する画素の画素値をサイクル毎に順次入力する第2の入力端と、前記第1、第2の入力端から入力された画素値を加算する第1の加算器と、前記第1の加算器が出力する加算結果と前記第1の入力端から入力された画素値のいずれかを出力する第1のセレクタと、前記第1のセレクタが出力するデータを1サイクル期間記憶するレジスタと、前記第1のセレクタが出力するデータと前記レジスタが前サイクルに記憶したデータとを加算する第2の加算器と、前記第1のセレクタが出力するデータと前記第2の加算器が出力する加算結果のいずれかを出力する第2のセレクタと、前記第2のセレクタが出力するデータをシフトするシフタと、前記第1の入力端から入力された画素値と前記シフタが出力するデータのいずれかを1/2画素値として出力する最終セレクタとを備え、前記第1のセレクタは、制御信号によって指示されるモードが、水平方向1/2、垂直方向0のモード、または、水平方向1/2、垂直方向1/2のモードの場合、前記第1の加算器の加算結果を出力し、水平方向0、垂直方向1/2のモードの場合、前記第1の入力端から入力された画素値を出力し、前記第2のセレクタは、前記モードが、水平方向1/2、垂直方向0のモードの場合、前記第1のセレクタの出力データを出力し、水平方向0、垂直方向1/2のモード、または、水平方向1/2、垂直方向1/2のモードの場合、前記第2の加算器の加算結果を出力し、前記シフタは、前記モードが、水平方向1/2、垂直方向0のモード、または、水平方向0、垂直方向1/2のモードの場合、前記第2のセレクタの出力データを1ビット右シフトして出力し、水平方向1/2、垂直方向1/2のモードの場合、前記第2のセレクタの出力データを2ビット右シフトして出力し、前記最終セレクタは、前記モードが、水平方向0、垂直方向0のモードの場合、前記第1の入力端から入力された画素値を出力し、水平方向1/2、垂直方向0のモード、または、水平方向0、垂直方向1/2のモード、または、水平方向1/2、垂直方向1/2のモードの場合、前記シフタの出力データを出力することを特徴とする。
【0011】
【発明の実施の形態】
実施の形態1.
図1は、この発明の実施の形態1の画素値演算装置の構成を示すブロック図である。図において、画素値演算装置1は、参照画像において水平方向に隣り合う2つの画素値を垂直方向に連続的に、かつ、サイクル毎に取り込む入力端2(第1の入力端)及び入力端3(第2の入力端)と、入力端2および3から入力された画素値を加算する加算器4(第1の加算器)と、入力端2から入力された画素値と加算器4の出力とのいずれか一方を出力するセレクタ5(第1のセレクタ)と、セレクタ5の出力を1サイクル分保持して出力値とするレジスタ6と、セレクタ5の出力とレジスタ6の前回の値を加算する加算器7(第2の加算器)と、セレクタ5の出力と加算器7の出力のいずれか一方を出力するセレクタ8(第2のセレクタ)と、外部からの制御信号10により決定される所定のビット数だけセレクタ8の出力データをシフトするシフタ9と、入力端2とシフタ9の出力値とのいずれか一方の値を画素値演算装置1が出力する1/2画素値として出力するセレクタ11(最終セレクタ)から構成されている。
【0012】
なお、上記において、レジスタという語はいわゆるフリップフロップを用いて構成される回路又は素子を指すものとする。さらに、シフタ9は入力データのビットを左右に移動する処理を行うが、代わりに除算器を用いてもよい。また外部からの制御信号10はシフタ9の他にセレクタ5、8、11のモード切替も制御するようになっている。
【0013】
次に画素値演算装置1の動作について説明する。画素値演算装置1が1/2画素値の演算を行うに先立って、画素値演算装置1の外部に存在する図示せぬメモリポインタによる指定によって、画像の水平方向に隣接する2つの画素の値を、画素配列から取得する。そしてこれら2つの画素の一方を入力端2に、そして他方を入力端3に転送する。
【0014】
図2〜図4は、以降の説明で便宜上用いる画素配列の例を示した図およびそのメモリ上の物理的な配置、予測画像の画素の位置を示した図である。ただし画素値演算装置1が処理する画素は、必ずしもこのような配列・配置に限られるわけではなく、入力端2および3に入力する画素値が隣接する2つの画素のものであれば、外部に存在する画像を構成する画素のメモリ上の配列がどのようになっていても構わない。
【0015】
図2において○で囲まれた部分は画素を示しており、d(1)〜d(10)はそれぞれの画素の画素値である。以降の例では、これらの画素値が8ビットで表現される値域(0〜255)の値をとるものとする。また図3は、これらの画素値のメモリにおける物理的格納状態の例を示す図である。図に示すように、実施の形態1による画素値演算装置1の処理対象となる画素値は、1ワード(16ビット)の領域に2個ずつ格納されている。このようにすることで、16ビット幅のバスでデータリードして、上位8ビットのバスを入力端2に接続し、下位8ビットのバスを入力端3に接続すれば、1回のメモリアクセスで2つの画素値を取得することが可能となる。
【0016】
図4は、前フレームの画素値から1/2整数画素単位で算出される予測画像の画素の位置の関係を示した図である。図のA(1)、A(2)、A(3)…(以降A(n)とする。ただしnは自然数)は、動きベクトルが水平方向0、垂直方向0の場合の画素の位置を示す。B(1)、B(2)、B(3)…(以降B(n)とする)は、動きベクトルが水平方向1/2、垂直方向0の場合の画素の位置を示す。同様に、C(1)、C(2)、C(3)…(以降C(n)とする)は動きベクトルが水平方向0、垂直方向1/2の場合の画素の位置を、D(1)、D(2)、D(3)…(以降D(n)とする)は動きベクトルが水平方向1/2、垂直方向1/2の場合の画素の位置を示す。そうすると、図2に示したような画素値の配列に基づいて表せば、A(2n−1)の画素値はd(2n−1)、B(2n−1)の画素値は(d(2n−1)+d(2n))/2、C(2n−1)の画素値は(d(2n−1)+d(2n+1))/2、D(2n−1)の画素値は(d(2n−1)+d(2n)+d(2n+1)+d(2n+2))/4で求められる。
【0017】
動きベクトルが水平方向0、垂直方向0の場合と、動きベクトルが水平方向1/2、垂直方向0の場合、動きベクトルが水平方向0、垂直方向1/2の場合、そして動きベクトルが水平方向1/2、垂直方向1/2の場合のそれぞれのモードの切り換えは制御信号10によって行われる。
【0018】
(動きベクトルが水平方向0、垂直方向0の場合)
まず動きベクトルが水平方向0、垂直方向0の画素値A(2n−1)を算出する場合について説明する。図5は、A(2n−1)を算出する場合の各セレクタの接続状態を示す図である。図において、セレクタ12は、第1の入力端から入力されたデータを選択するように接続している。この結果、各サイクル毎に入力端2に入力された画素値d(2n−1)を、画素値演算装置1の出力値A(2n−1)として出力する。
【0019】
(動きベクトルが水平方向1/2、垂直方向0の場合)
次に、動きベクトルが水平方向1/2、垂直方向0の画素値B(2n−1)を算出する場合について説明する。図6は、B(2n−1)を算出する場合の各セレクタの接続状態を示す図である。図において、セレクタ5とセレクタ8は、は加算器4の出力を選択するように接続している。またセレクタ11はシフタ9の出力を選択するように接続している。またシフタ9は制御信号10によって1ビット右シフトする処理を行うようになっている。
【0020】
この場合において、入力端2から入力された画素値d(2n−1)と入力端3から入力された画素値d(2n)は、加算器4で加算されて、加算値(d(2n−1)+d(2n))が得られる。さらに、その加算結果がシフタ9によって2で除算され、(d(2n−1)+d(2n))/2が得られ、画素値演算装置1の出力値B(n)として出力する。図7は、入力端2と入力端3のそれぞれに(d(1),d(2))、(d(3),d(4))、(d(5),d(6))、(d(7),d(8))などの画素値が入力された場合の加算器4、シフタ9の出力を示すタイミングチャートである。この図からも分かるように、N回連続する2項演算に対して(N+1)回のサイクルで演算結果を出力する。
【0021】
(動きベクトルが水平方向0、垂直方向1/2の場合)
次に、動きベクトルが水平方向0、垂直方向1/2の画素値C(2n−1)を算出する場合について説明する。図8は、C(2n−1)を算出する場合の各セレクタの接続状態を示す図である。図において、セレクタ5は、入力端2を選択するように接続している。またセレクタ8は、加算器4の出力を選択するように接続している。またセレクタ11はシフタ9の出力を選択するように接続している。またシフタ9は制御信号10によって1ビット右シフトする処理を行うようになっている。
【0022】
この場合において、入力端2から入力された画素値d(2n−1)は1サイクルの間レジスタ6に記憶される。次に入力端2から画素値d(2n+1)が入力されると、前回サイクルにおいてレジスタ6に記憶されていた画素値d(2n−1)と今回入力端2から入力された画素値d(2n+1)とが加算器7により加算されてd(2n−1)+d(2n+1)が結果として得られる。またそれと同時に今回入力端2から入力された画素値d(2n+1)はレジスタ6に記憶され、次回の動きベクトルが水平方向0、垂直方向1/2の画素値の算出に用いられる。
【0023】
そして、シフタ9は加算器7の加算結果d(2n−1)+d(2n+1)を2で除算してd(2n−1)+d(2n+1)/2を画素値演算装置1の出力C(n)として出力する。図9は、入力端2にd(1)、d(3)、d(5)、d(7)などの画素値が入力された場合のレジスタ6、加算器4、シフタ9の出力を示すタイミングチャートである。この図からも分かるように、N回連続する2項演算に対して(N+1)回のサイクルで演算結果を出力する。
【0024】
(動きベクトルが水平方向1/2、垂直方向1/2の場合)
次に、動きベクトルが水平方向1/2、垂直方向1/2の画素値D(2n−1)を算出する場合について説明する。図10は、D(2n−1)を算出する場合の各セレクタの接続状態を示す図である。図において、セレクタ5は加算器4の加算結果を選択するように接続している。またセレクタ8は加算器7の加算結果を選択するように接続している。セレクタ11はシフタ9の出力を選択するように接続している。また、制御信号10によって2ビット右シフトする処理を行うようになっている。
【0025】
この場合において、入力端2から画素値d(2n−1)、入力端3から画素値d(2n)が入力されると、加算器4において加算結果d(2n−1)+d(2n)が得られて、レジスタ6に1サイクルの間記憶される。
【0026】
次のサイクルにおいて、入力端2から画素値d(2n+1)、入力端3から画素値d(2n+2)が入力されると、加算器4において加算結果d(2n+1)+d(2n+2)が得られる。そして加算器7において加算器4の加算結果d(2n+1)+d(2n+2)と、前回サイクルにおいてレジスタ6により記憶されたd(2n−1)+d(2n)とが加算されて、d(2n−1)+d(2n)+d(2n+1)+d(2n+2)が得られる。同時に、加算器4の加算結果d(2n+1)+d(2n+2)は、レジスタ6に記憶されて、次回の動きベクトルが水平方向1/2、垂直方向1/2の画素値の算出に用いられる。
【0027】
さらにシフタ9では2ビット右シフトされて、(d(2n−1)+d(2n)+d(2n+1)+d(2n+2))/4が得られ、画素値演算装置1の出力D(n)となる。図11は、入力端2と入力端3のそれぞれに(d(1),d(2))、(d(3),d(4))、(d(5),d(6))、(d(7),d(8))などの画素値が入力された場合の加算器4、レジスタ6、加算器7、シフタ9の出力を示すタイミングチャートである。この図からも分かるように、N回連続する2項演算に対して(N+1)回のサイクルで演算結果を出力する。
【0028】
以上から明らかなように、実施の形態1による画素値演算装置1によれば、N回連続する2項演算に対して、(N+1)回のサイクルで演算結果を出力することができるので、極めて高速に1/2画素の演算を行うことができる。
【0029】
なお、実施の形態1では図1に示したようにセレクタ5を加算器4と入力端2のいずれか一方を選択する用途として配置し、さらにセレクタ8をセレクタ5と加算器7のいずれか一方を選択する用途として配置することとした。しかし、この発明の特徴を発揮する構成はこの限りではない。たとえば、図12に示すようにセレクタ5の出力と、加算器7の結果のそれぞれに対してシフタ9−1、9−2を設け、それらの結果をセレクタ11で選択するという構成を採れば、セレクタ8のような構成要素は不要となる。
【0030】
つまり、この発明の特徴を発揮するためには、少なくとも次のような条件(1)〜(6)が満たされていればよい。すなわち、(1)入力端2および3と、加算器4、レジスタ6、加算器7、シフタ9、セレクタ11が備えられていることである。
【0031】
(2)加算器4が入力端2および3から入力された画素値を加算することが必要である。これによって(d(2n−1)+d(2n))、すなわち動きベクトルが水平方向1/2、垂直方向0の画素値を求めるための画素の加算値を算出することになる。
【0032】
(3)レジスタ6が加算器4の加算結果または入力端2から入力された画素値のいずれかを記憶するようになっていることが必要である。加算器4の加算結果を記憶する必要がある理由は、動きベクトルが水平方向1/2、垂直方向1/2の画素値を算出するためである。また、入力端2から入力された画素値を記憶する必要がある理由は、動きベクトルが水平方向0、垂直方向1/2の画素値を算出するためである。
【0033】
(4)加算器7は、レジスタ6が前サイクルにおいて入力端2から入力された画素値d(2n−1)を記憶している場合、すなわち、動きベクトルが水平方向0、垂直方向1/2の画素値を算出する場合に、d(2n−1)と現サイクルの画素値d(2n+1)とを加算してd(2n−1)+d(2n+1)を得るようになっている必要がある。また同時に、レジスタ6が前サイクルにおいて加算器4の加算結果、すなわちd(2n−1)+d(2n)を記憶している場合、すなわち、動きベクトルが水平方向1/2、垂直方向1/2の画素値を算出する場合に、d(2n−1)+d(2n)と現サイクルの加算器4の加算結果、すなわちd(2n+1)+d(2n+2)とを加算して、d(2n−1)+d(2n)+d(2n+1)+d(2n+2)を得るようになっている必要がある。
【0034】
(5)シフタ9は、加算器4と加算器7とのいずれかをシフトするようになっている必要がある。動きベクトルが水平方向1/2、垂直方向0の場合、動きベクトルが水平方向0、垂直方向1/2の場合、動きベクトルが水平方向1/2、垂直方向1/2の場合において、隣接する画素値を加算した後に2または4で除算するためである。
【0035】
最後に(6)セレクタ11は、シフタ9と入力端2から入力された画素値のいずれかを画素値演算装置1の出力値として選択するようになっている必要がある。
【0036】
以上の(1)〜(6)が満たされているのであれば、セレクタ、レジスタや加算器、シフタの配置箇所や個数にかかわらず、実施の形態1の発明の範囲に含まれる。
【0037】
実施の形態2.
なお、実施の形態1による画素値演算装置1は、水平方向に隣接する2個の画素について、1/2画素の演算を行うものであったが、実施の形態1による画素値演算装置1を並列に複数台接続して、2個を超える隣接する画素について1/2画素の演算を同時に実行させるようにしてもよい。図13はこのような画素値並列演算装置の構成と画素配列との対応を示すブロック図である。図の画素値並列演算装置12は、実施の形態1による画素値演算装置1と同じ画素値演算装置R(1)〜R(4)を複数備えており(この例では4台)、さらに画素値演算装置R(1)〜R(4)のそれぞれの入力端2−1〜2−4および入力端3−1〜3−4が画素値並列演算装置12の外部に入力端として設けられている。また図の○は画素配列であり、それぞれS(1)〜S(25)の符号が付されている。それぞれの○の中に表示されているd(1)〜d(25)は画素値である。
【0038】
次に画素値並列演算装置12の動作について説明する。画素値並列演算装置12の入力端2−1〜2−4および入力端3−1〜3−4に対して各サイクル毎に同時に画素値が入力される。各行の画素をS(5n−4)、S(5n−3)、S(5n−2)、S(5n−1)、S(5n)(nは自然数)と表すと、画素配列の要素S(5n−4)とS(5n−3)は画素値演算装置R(1)によって処理され、S(5n−3)とS(5n−2)は画素値演算装置R(2)によって処理され、S(5n−2)とS(5n−1)は画素値演算装置R(3)によって処理され、S(5n−1)とS(5n)は画素値演算装置R(4)によって処理される。
【0039】
またS(5n−4)の画素値d(5n−4)は入力端2−1に入力され、S(5n−3)の画素値d(5n−3)は入力端3−1および2−2に入力され、S(5n−2)の画素値d(5n−2)は入力端3−2および2−3に入力され、S(5n−1)の画素値d(5n−1)は入力端3−3および2−4に入力され、S(5n)の画素値d(5n)は入力端3−4に入力されるようになっている。
【0040】
画素値に対する処理方法は、実施の形態1で説明したので、ここでは説明を省略する。その結果、複数の1/2画素値が得られる。
【0041】
以上から明らかなように、実施の形態2による画素値並列演算装置12によれば、画素値演算装置1−1〜1−4が同時に1/2画素を算出する演算を行うので、N行の画素列に対する1/2画素の算出処理を最大(N+1)サイクルで完了させることができる。
【0042】
実施の形態3.
実施の形態3では、実施の形態1による画素値演算装置1を用いて構成された動画像符号化装置について説明する。図14は、実施の形態3による動画像符号化装置の構成を示したブロック図である。図において、動画像符号化装置13は画素値演算装置1と減算器14とを備え、動画の前フレームを格納する前フレーム格納部15と、現フレームを格納する原フレーム格納部17とから画素値を入力されるようになっている。画素値演算装置1は、実施の形態1で説明した画素値演算装置1と同様である。また減算器14は画素値演算装置1の出力する1/2画素値と現フレーム格納部17から入力される画素値との差を求めて差分画素を出力するようになっている。
【0043】
また前フレーム格納部15は前フレームの画像を格納したメモリブロックであって、メモリポインタ16によってアドレッシングされて、画素値を転送させるようになっている。現フレーム格納部17は現フレームの画像を格納したメモリブロックであって、メモリポインタ18によってアドレッシングされて、画素値を転送させるようになっている。なおメモリポインタ16とメモリポインタ18は前フレームと現フレームにおいて、それぞれ相対的に同じ画像位置の画素をアドレッシングするようになっている。
【0044】
次に動画像符号化装置13の動作について説明する。画素値演算装置1は、実施の形態1で説明したように、前フレーム格納部から入力端2および3に入力された画素値に基づいて、1/2画素値を算出する。次に減算器14は画素値演算装置1の出力した1/2画素値と現フレーム格納部17から入力された画素値その差異を求めて、動きベクトル検出時に使用する差分画素を出力する。
【0045】
以上から明らかなように、実施の形態3の動画像符号化装置13によれば、画素値演算装置1を用いて効率よく1/2画素値を算出することができるので、高速に差分画素を求めることができる、という効果を奏する。
【0046】
実施の形態4.
なお実施の形態3の動画像符号化装置13の減算器14を図15に示すように加算器21に置換し、さらに入力画素値のうち現フレーム格納部17を、差分画素値を格納する差分画素格納部22に置換することで、動き補償時に使用する動画像復号化装置20を得る。
【0047】
以上から明らかなように、実施の形態4の動画像符号化装置20によれば、画素値演算装置1を用いて効率よく1/2画素値を算出することができるので、高速に復号化することができる、という効果を奏する。
【0048】
【発明の効果】
この発明は、第1、第2の画素値を加算する第1の加算器と、
前記第1の加算器の加算結果又は前記第1の画素値のいずれかを記憶するレジスタと、
前記レジスタが、前サイクルの前記第1の画素値を記憶している場合に、該画素値と現サイクルの第1の画素値を加算するとともに、前記レジスタが、前サイクルの前記第1の加算器の加算結果を記憶している場合に、該加算結果と現サイクルの前記第1の加算器の加算結果とを加算する第2の加算器と、
前記第1の加算器の加算結果と前記第2の加算器の加算結果との少なくともいずれかをシフトするシフタと、
前記第1の画素値と前記シフタの出力のいずれか一方を1/2画素値として出力する最終セレクタとを備えたので、N回連続する2項演算に対して、(N+1)サイクルで演算結果を出力することができるので、高速に1/2画素の演算を行うことができるという極めて有利な効果を奏する。
【図面の簡単な説明】
【図1】 この発明の実施の形態1による画素値演算装置の構成を示すブロック図である。
【図2】 この発明の実施の形態1による画素値の配列を示す図である。
【図3】 この発明の実施の形態1による画素値がメモリに格納されている状態を示す図である。
【図4】 この発明の実施の形態1による画素値と1/2画素値の配列を示す図である。
【図5】 この発明の実施の形態1による画素値演算装置のセレクタの第1の接続状態を示すブロック図である。
【図6】 この発明の実施の形態1による画素値演算装置のセレクタの第2の接続状態を示すブロック図である。
【図7】 この発明の実施の形態1による画素値演算装置のセレクタの第2の接続状態によるタイミングチャートである。
【図8】 この発明の実施の形態1による画素値演算装置のセレクタの第3の接続状態を示すブロック図である。
【図9】 この発明の実施の形態1による画素値演算装置のセレクタの第3の接続状態によるタイミングチャートである。
【図10】 この発明の実施の形態1による画素値演算装置のセレクタの第4の接続状態を示すブロック図である。
【図11】 この発明の実施の形態1による画素値演算装置と同一の効果を得る別の画素値演算装置の構成を示すブロック図である。
【図12】 この発明の実施の形態1による画素値演算装置のセレクタの第4の接続状態を示すタイミングチャートである。
【図13】 この発明の実施の形態2による画素値並列演算装置の構成を示すブロック図である。
【図14】 この発明の実施の形態3による動画像符号装置の構成を示すブロック図である。
【図15】 この発明の実施の形態4による動画像復号装置の構成を示すブロック図である。
【図16】 従来例による1/2画素値算出方法の説明図である。
【符号の説明】
1 画素値演算装置、
2〜3 入力端、
4 加算器、
5 セレクタ、
6 レジスタ、
7 加算器、
8 セレクタ、
9 シフタ、
11 セレクタ、
12 画素値並列演算装置、
13 動画像符号化装置、
14 減算器、
15 前フレーム格納部、
16 メモリポインタ、
17 現フレーム格納部、
18 メモリポインタ、
20 動画像復号化装置、
21 加算器、
22 差分画素格納部。
Claims (3)
- 参照画像において、垂直方向に並んだ画素の画素値をサイクル毎に順次入力する第1の入力端と、
前記第1の入力端に順次入力される画素値に対応する画素と水平方向に隣接する画素の画素値をサイクル毎に順次入力する第2の入力端と、
前記第1、第2の入力端から入力された画素値を加算する第1の加算器と、
前記第1の加算器が出力する加算結果と前記第1の入力端から入力された画素値のいずれかを出力する第1のセレクタと、
前記第1のセレクタが出力するデータを1サイクル期間記憶するレジスタと、
前記第1のセレクタが出力するデータと前記レジスタが前サイクルに記憶したデータとを加算する第2の加算器と、
前記第1のセレクタが出力するデータと前記第2の加算器が出力する加算結果のいずれかを出力する第2のセレクタと、
前記第2のセレクタが出力するデータをシフトするシフタと、
前記第1の入力端から入力された画素値と前記シフタが出力するデータのいずれかを1/2画素値として出力する最終セレクタと
を備え、
前記第1のセレクタは、制御信号によって指示されるモードが、水平方向1/2、垂直方向0のモード、または、水平方向1/2、垂直方向1/2のモードの場合、前記第1の加算器の加算結果を出力し、水平方向0、垂直方向1/2のモードの場合、前記第1の入力端から入力された画素値を出力し、
前記第2のセレクタは、前記モードが、水平方向1/2、垂直方向0のモードの場合、前記第1のセレクタの出力データを出力し、水平方向0、垂直方向1/2のモード、または、水平方向1/2、垂直方向1/2のモードの場合、前記第2の加算器の加算結果を出力し、
前記シフタは、前記モードが、水平方向1/2、垂直方向0のモード、または、水平方向0、垂直方向1/2のモードの場合、前記第2のセレクタの出力データを1ビット右シフトして出力し、水平方向1/2、垂直方向1/2のモードの場合、前記第2のセレクタの出力データを2ビット右シフトして出力し、
前記最終セレクタは、前記モードが、水平方向0、垂直方向0のモードの場合、前記第1の入力端から入力された画素値を出力し、水平方向1/2、垂直方向0のモード、または、水平方向0、垂直方向1/2のモード、または、水平方向1/2、垂直方向1/2のモードの場合、前記シフタの出力データを出力する
ことを特徴とする画素値演算装置。 - 画像の前フレームから取得された画素値を前記第1、第2の入力端にそれぞれ入力し、前記1/2画素値を算出する請求項1に記載の画素値演算装置と、
前記画像の現フレームの画素値と前記画素値演算装置が算出する1/2画素値との差分画素値を算出する減算器と、
を備えることを特徴とする動画像符号化装置。 - 画像の前フレームから取得された画素値を前記第1、第2の入力端にそれぞれ入力し、前記1/2画素値を算出する請求項1に記載の画素値演算装置と、
差分画素値と前記画素値演算装置が算出する1/2画素値とを加算して前記画像の現フレームの画素値を算出する加算器と、
を備えることを特徴とする動画像復号化装置。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2003139961A JP4155102B2 (ja) | 2003-05-19 | 2003-05-19 | 画素値演算装置、動画像符号化装置及び動画像復号化装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2003139961A JP4155102B2 (ja) | 2003-05-19 | 2003-05-19 | 画素値演算装置、動画像符号化装置及び動画像復号化装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2004343589A JP2004343589A (ja) | 2004-12-02 |
JP4155102B2 true JP4155102B2 (ja) | 2008-09-24 |
Family
ID=33528823
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2003139961A Expired - Fee Related JP4155102B2 (ja) | 2003-05-19 | 2003-05-19 | 画素値演算装置、動画像符号化装置及び動画像復号化装置 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP4155102B2 (ja) |
-
2003
- 2003-05-19 JP JP2003139961A patent/JP4155102B2/ja not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
JP2004343589A (ja) | 2004-12-02 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US6690730B2 (en) | Motion estimator | |
JP2636674B2 (ja) | 動画像の動きベクトル検出装置 | |
JP3611507B2 (ja) | 動きベクトル検出装置 | |
KR101578052B1 (ko) | 움직임 추정 장치 및 이를 구비하는 동영상 부호화 장치 | |
US8509567B2 (en) | Half pixel interpolator for video motion estimation accelerator | |
US8135224B2 (en) | Generating image data | |
KR100416444B1 (ko) | 모션벡터선택방법및이방법을수행하는이미지처리장치 | |
US20050047502A1 (en) | Method and apparatus for the efficient representation of interpolated video frames for motion-compensated coding | |
US6380987B1 (en) | Motion vector detection circuit enabling high-speed search of motion vector | |
JP4155102B2 (ja) | 画素値演算装置、動画像符号化装置及び動画像復号化装置 | |
US20100177827A1 (en) | Sub-pixel generating apparatus, sub-pixel generating method and storage medium, as well as motion compensating apparatus | |
JP4178562B2 (ja) | 動きベクトル検出装置および方法 | |
JP3545004B2 (ja) | 演算回路 | |
JP4847460B2 (ja) | 画像内挿方法及び画素内挿装置 | |
US20040120402A1 (en) | Motion estimation apparatus for image data compression | |
JP4170173B2 (ja) | ブロックマッチング演算装置 | |
JP2790911B2 (ja) | 直交変換演算装置 | |
KR101742765B1 (ko) | 인터폴레이터 및 인터폴레이터 픽셀 생성 방법 | |
CN102340617B (zh) | 运动估算及运动补偿电路 | |
JP2894140B2 (ja) | 画像符号化方法 | |
JP4290608B2 (ja) | 画像処理回路,及び画像処理方法 | |
JP4160855B2 (ja) | ブロックマッチング画像処理装置 | |
JP2872105B2 (ja) | ディストーション算出装置 | |
JP2934134B2 (ja) | 動画像圧縮におけるブロック・マッチング方法と装置 | |
JPH06311503A (ja) | 動画符号化方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20060120 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20071205 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20080325 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20080523 |
|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20080617 |
|
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20080630 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110718 Year of fee payment: 3 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110718 Year of fee payment: 3 |
|
LAPS | Cancellation because of no payment of annual fees |